I/O Operation
I/O operation are accomplished through a wide assortment of external devices that provide a means of exchanging the data between the external environment and the computer. 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 used by a human (or other system) to communicate with a computer. For instance, a keyboard or mouse is an input device for a computer, while monitors and printers are output devices. 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. An I/O interface is required whenever the I/O device is driven by the processor. The interface must have necessary logic to interpret the device address generated by the processor. An external device attaches to the computer by a link to an I/O module as shown in the Figure 1.
|
The link is used to exchange control, status, and data between the I/O module and the external device. As shown in the figure with an I/O module. The module actually consists of a few function, which are:
- Control and timing
- Processor communication
- Device Communication
- Data buffering
- Error detection
Since I/O operation deals with the exchanges of data between the memory and the external devices either in the direction to the memory (READ) or in the direction from the memory (WRITE). But the problem arise on how the processor will manage the flow of data to and from the external devices in term of transfer speed, processor idle time, complexity and etc. So in general, there are three technique for I/O operation , which are:
|
With programmed I/O, data are exchanged between the processor and the I/O module. The processor executes a program that gives it direct control of the I/O operation, including sensing device status, sending a read or write command, and transferring the data. When the processor issues a command to the I/O module, it must wait until the I/O operation is complete.
With interrupt-driven I/O, the processor issues an I/O command, continues to execute other instructions, and is interrupted by the I/O module when the latter has completed its work. With direct memory access (DMA), the I/O module and main memory exchange data directly without processor involvement. |
|
Feed Reader
|
|
|