Hardware Component I/O Unit of a computer
The I/O is another very important component of a computer. Now a days we have many input/output devices like keyboard, mouse, disks etc. All these devices are very different from one another in their organization.
Also these devices can handle different data-transfer rates and support different data formats. Because of all these difference it is impractical to connect all these devices directly to the system bus. It is not sensible to require the CPU to control these devices directly as they will take a lot of CPU time and will fill the system bus capacity.
To avoid these difficulties, a special hardware component I/O unit is used. Only the I/O unit is connected to the bus and the processor and all other devices are connected to it as shown 5.8 below.
The I/O unit is responsible for keeping the track to states of different devices attached with it. It is also responsible for compensating the speed difference between the processor and the I/O devices. There are two main ways of transferring data from the peripherals into the computer.
In this scheme the processor issues of the command to the I/O devices. When the devices get ready, these generate an interrupt signal for the processor. On sensing this signal, the processor suspends all other processing and performs the I/O operation. The disadvantage of this scheme is that it reduces the over all performance of the processor.
The second scheme is DMA. In this scheme the processor issues the I/O command and then gets busy in some other useful task. The special hardware gets the data from the I/O device and uses the system bus to place if in the main memory. It is useful to note that the data is transfused when the processor does not need the system bus. So the processor does not have to wait for the I/O operation to complete. The disadvantage of this scheme is that it is more complex and extensive, as more hardware is needed.