fbpx
Wikipedia

Input/output

In computing, input/output (I/O, i/o, or informally io or IO) is the communication between an information processing system, such as a computer, and the outside world, such as another computer system, peripherals, or a human operator. Inputs are the signals or data received by the system and outputs are the signals or data sent from it. The term can also be used as part of an action; to "perform I/O" is to perform an input or output operation.

I/O devices are the pieces of hardware used by a human (or other system) to communicate with a computer. For instance, a keyboard or computer mouse is an input device for a computer, while monitors and printers are output devices. Devices for communication between computers, such as modems and network cards, typically perform both input and output operations. Any interaction with the system by an interactor is an input and the reaction the system responds is called the output.

The designation of a device as either input or output depends on perspective. Mice and keyboards take physical movements that the human user outputs and convert them into input signals that a computer can understand; the output from these devices is the computer's input. Similarly, printers and monitors take signals that computers output as input, and they convert these signals into a representation that human users can understand. From the human user's perspective, the process of reading or seeing these representations is receiving output; this type of interaction between computers and humans is studied in the field of human–computer interaction. A further complication is that a device traditionally considered an input device, e.g., card reader, keyboard, may accept control commands to, e.g., select stacker, display keyboard lights, while a device traditionally considered as an output device may provide status data (e.g., low toner, out of paper, paper jam).

In computer architecture, the combination of the CPU and main memory, to which the CPU can read or write directly using individual instructions, is considered the brain of a computer. Any transfer of information to or from the CPU/memory combo, for example by reading data from a disk drive, is considered I/O.[1] The CPU and its supporting circuitry may provide memory-mapped I/O that is used in low-level computer programming, such as in the implementation of device drivers, or may provide access to I/O channels. An I/O algorithm is one designed to exploit locality and perform efficiently when exchanging data with a secondary storage device, such as a disk drive.

Interface edit

An I/O interface is required whenever the I/O device is driven by a processor. Typically a CPU communicates with devices via a bus. The interface must have the necessary logic to interpret the device address generated by the processor. Handshaking should be implemented by the interface using appropriate commands (like BUSY, READY, and WAIT), and the processor can communicate with an I/O device through the interface. If different data formats are being exchanged, the interface must be able to convert serial data to parallel form and vice versa. Because it would be a waste for a processor to be idle while it waits for data from an input device there must be provision for generating interrupts[2] and the corresponding type numbers for further processing by the processor if required.[clarification needed]

A computer that uses memory-mapped I/O accesses hardware by reading and writing to specific memory locations, using the same assembly language instructions that computer would normally use to access memory. An alternative method is via instruction-based I/O which requires that a CPU have specialized instructions for I/O.[1] Both input and output devices have a data processing rate that can vary greatly.[2] With some devices able to exchange data at very high speeds direct access to memory (DMA) without the continuous aid of a CPU is required.[2]

Higher-level implementation edit

Higher-level operating system and programming facilities employ separate, more abstract I/O concepts and primitives. For example, most operating systems provide application programs with the concept of files. The C and C++ programming languages, and operating systems in the Unix family, traditionally abstract files and devices as streams, which can be read or written, or sometimes both. The C standard library provides functions for manipulating streams for input and output.

In the context of the ALGOL 68 programming language, the input and output facilities are collectively referred to as transput. The ALGOL 68 transput library recognizes the following standard files/devices: stand in, stand out, stand errors and stand back.

An alternative to special primitive functions is the I/O monad, which permits programs to just describe I/O, and the actions are carried out outside the program. This is notable because the I/O functions would introduce side-effects to any programming language, but this allows purely functional programming to be practical.

Channel I/O edit

Channel I/O requires the use of instructions that are specifically designed to perform I/O operations. The I/O instructions address the channel or the channel and device; the channel asynchronously accesses all other required addressing and control information. This is similar to DMA, but more flexible.

Port-mapped I/O edit

Port-mapped I/O also requires the use of special I/O instructions. Typically one or more ports are assigned to the device, each with a special purpose. The port numbers are in a separate address space from that used by normal instructions.

Direct memory access edit

Direct memory access (DMA) is a means for devices to transfer large chunks of data to and from memory independently of the CPU.

See also edit

References edit

  1. ^ a b Null, Linda; Julia Lobur (2006). The Essentials of Computer Organization and Architecture. Jones & Bartlett Learning. p. 185. ISBN 0763737690. from the original on 20 December 2016. Retrieved 11 December 2016.
  2. ^ a b c Abd-El-Barr, Mostafa; Hesham El-Rewini (2005). Fundamentals of Computer Organization and Architecture. John Wiley & Sons. pp. 161–162. ISBN 9780471478331. from the original on 21 December 2016. Retrieved 11 December 2016.

External links edit

  •   Media related to Input/output at Wikimedia Commons

input, output, redirects, here, other, uses, disambiguation, this, article, needs, additional, citations, verification, please, help, improve, this, article, adding, citations, reliable, sources, unsourced, material, challenged, removed, find, sources, news, n. I O redirects here For other uses see I O disambiguation This article needs additional citations for verification Please help improve this article by adding citations to reliable sources Unsourced material may be challenged and removed Find sources Input output news newspapers books scholar JSTOR November 2019 Learn how and when to remove this message In computing input output I O i o or informally io or IO is the communication between an information processing system such as a computer and the outside world such as another computer system peripherals or a human operator Inputs are the signals or data received by the system and outputs are the signals or data sent from it The term can also be used as part of an action to perform I O is to perform an input or output operation I O devices are the pieces of hardware used by a human or other system to communicate with a computer For instance a keyboard or computer mouse is an input device for a computer while monitors and printers are output devices Devices for communication between computers such as modems and network cards typically perform both input and output operations Any interaction with the system by an interactor is an input and the reaction the system responds is called the output The designation of a device as either input or output depends on perspective Mice and keyboards take physical movements that the human user outputs and convert them into input signals that a computer can understand the output from these devices is the computer s input Similarly printers and monitors take signals that computers output as input and they convert these signals into a representation that human users can understand From the human user s perspective the process of reading or seeing these representations is receiving output this type of interaction between computers and humans is studied in the field of human computer interaction A further complication is that a device traditionally considered an input device e g card reader keyboard may accept control commands to e g select stacker display keyboard lights while a device traditionally considered as an output device may provide status data e g low toner out of paper paper jam In computer architecture the combination of the CPU and main memory to which the CPU can read or write directly using individual instructions is considered the brain of a computer Any transfer of information to or from the CPU memory combo for example by reading data from a disk drive is considered I O 1 The CPU and its supporting circuitry may provide memory mapped I O that is used in low level computer programming such as in the implementation of device drivers or may provide access to I O channels An I O algorithm is one designed to exploit locality and perform efficiently when exchanging data with a secondary storage device such as a disk drive Contents 1 Interface 1 1 Higher level implementation 2 Channel I O 3 Port mapped I O 4 Direct memory access 5 See also 6 References 7 External linksInterface editAn I O interface is required whenever the I O device is driven by a processor Typically a CPU communicates with devices via a bus The interface must have the necessary logic to interpret the device address generated by the processor Handshaking should be implemented by the interface using appropriate commands like BUSY READY and WAIT and the processor can communicate with an I O device through the interface If different data formats are being exchanged the interface must be able to convert serial data to parallel form and vice versa Because it would be a waste for a processor to be idle while it waits for data from an input device there must be provision for generating interrupts 2 and the corresponding type numbers for further processing by the processor if required clarification needed A computer that uses memory mapped I O accesses hardware by reading and writing to specific memory locations using the same assembly language instructions that computer would normally use to access memory An alternative method is via instruction based I O which requires that a CPU have specialized instructions for I O 1 Both input and output devices have a data processing rate that can vary greatly 2 With some devices able to exchange data at very high speeds direct access to memory DMA without the continuous aid of a CPU is required 2 Higher level implementation edit Higher level operating system and programming facilities employ separate more abstract I O concepts and primitives For example most operating systems provide application programs with the concept of files The C and C programming languages and operating systems in the Unix family traditionally abstract files and devices as streams which can be read or written or sometimes both The C standard library provides functions for manipulating streams for input and output In the context of the ALGOL 68 programming language the input and output facilities are collectively referred to as transput The ALGOL 68 transput library recognizes the following standard files devices stand in stand out stand errors and stand back An alternative to special primitive functions is the I O monad which permits programs to just describe I O and the actions are carried out outside the program This is notable because the I O functions would introduce side effects to any programming language but this allows purely functional programming to be practical Channel I O editChannel I O requires the use of instructions that are specifically designed to perform I O operations The I O instructions address the channel or the channel and device the channel asynchronously accesses all other required addressing and control information This is similar to DMA but more flexible Port mapped I O editPort mapped I O also requires the use of special I O instructions Typically one or more ports are assigned to the device each with a special purpose The port numbers are in a separate address space from that used by normal instructions Direct memory access editDirect memory access DMA is a means for devices to transfer large chunks of data to and from memory independently of the CPU See also editAsynchronous I O I O bound Input device Output deviceReferences edit a b Null Linda Julia Lobur 2006 The Essentials of Computer Organization and Architecture Jones amp Bartlett Learning p 185 ISBN 0763737690 Archived from the original on 20 December 2016 Retrieved 11 December 2016 a b c Abd El Barr Mostafa Hesham El Rewini 2005 Fundamentals of Computer Organization and Architecture John Wiley amp Sons pp 161 162 ISBN 9780471478331 Archived from the original on 21 December 2016 Retrieved 11 December 2016 External links edit nbsp Media related to Input output at Wikimedia Commons Retrieved from https en wikipedia org w index php title Input output amp oldid 1221154754, wikipedia, wiki, book, books, library,

article

, read, download, free, free download, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, picture, music, song, movie, book, game, games.