Users interact with the computer system through Input and Output (I/O) devices such as keyboard, mouse, monitor and so on. I/O devices are also called peripherals. I/O devices are used to exchange information between user and CPU. An I/O organisation includes two major components namely I/O devices, I/O module. In addition it uses different techniques to exchange information namely programmed I/O, Interrupt I/O and Direct Memory Access (DMA).
If you need assistance with writing your essay, our professional essay writing service is here to help!Essay Writing Service
I/O devices are available with different of working function. Figure 4.1 shows General block diagram computer system organisation that shows CPU, I/O module and memory is connected to each other via system bus. I/O devices are connected to I/O module through interface, which has line connecting to I/O module. Line is used to exchange control signal, status signal and data between the I/O module and the I/O devices.
Figure 4.1: Generic Model of Computer Organisation
System bus includes three lines and types are as follows:
Address Line – Each I/O device is assigned a unique address. To identify the device which sent the request CPU places specific address on the address line.
Control Line – It issues command to perform specific operation such as read or write.
Data Line – The read/write operation or task that is transferred on the data line.
Hardware interface is use to make interaction between I/O devices and system buses. Hardware interface has four components namely address decoder, control circuit, status register and data register.
Address Decoder – It decodes address of the I/O device, when I/O device makes any request to the CPU.
Control Circuit – It exchange control information to the CPU.
Status Register – It contains information about status of the device, related to the operation to be performed. It is connected to the data bus.
Data register – It is connected to the data line, it performs read or write operation based on control signal.
4.2 I/O Module
I/O module is intermediate between I/O devices and CPU. System buses are connected to the one end of I/O module and other end is connected to the number of I/O devices. It used to exchange information between I/O devices and CPU. I/O devices cannot be directly connected to the system buses; they are connected to the system buses through module.
There are several reasons for not connecting I/O devices directly to the system buses and they are as follow:
Varity of I/O devices are available with different operation method. It was not possible to develop operation logic of each I/O devices in the CPU itself.
The I/O devices are much slower than that the CPU. Hence it is not possible to match to match high speed of CPU with speed of I/O devices.
As I/O devices are made with different operation method some of them uses different data formats. It was impractical to integrate each data format in the CPU.
Thus I/O module is used to match speed, operation method and data format between CPU and I/O devices
Functions of I/O Module
The major functions of modules are categorised as follows:
Control and Timing – In some of the I/O operation few resources shared such as CPU and memory because CPU communicates with more than one device at a time. Control and timing function synchronises data flow between I/O devices and internal resources such as memory and CPU.
Processor Communication – I/O module communicates with the CPU and I/O devices. It performs following steps:
Status inquiry of I/O device from I/O module.
I/O module responds back.
If device is ready, CPU gives instruction to I/O module to begin data transfer.
I/O module accepts data from I/O device and transfers it to the CPU.
Device Communication – In addition I/O module communicates with I/O devices.
Features of I/O Module
Data Buffering – As I/O devices are much slower than CPU and memory. In order to maintain speed of data flow between I/O devices and internal resources, I/O module buffers data. Device can access take buffered data any time without holding