Computer Architecture | I/O Organization : Functions of I/O Modules

The major functions of an I/O module come into the following categories :
  1. Processor Communication
  2. Device Communication
  3. Control and Timing
  4. Data Buffering
  5. Error Detection  
1. Processor Communication : The processor communication involves the following tasks :
  • Exchange of Data : Data are exchanged between the processor and the I/O module over the data bus.
  • Command Decoding : The I/O module receives commands from the processor, transmitted as signals on the control bus.
  • Status Reporting : The device must be able to report its status to the processor. for example : disk drive busy, ready etc. As peripherals are very slow, it is important to know the status of the I/O module ( weather I/O is ready to perform the required operation.) Generally, used status signals are BUSY and READY. there may exist the signals to report various error conditions.
  • Address Recognition : Each I/O device has a unique address and the I/O module must recognize the address.
2. Device Communication : The I/O module must be able to perform device communication such as status reporting.

3. Control and Timing : The CPU may communicate with one or more peripheral devices in a manner which is not presently known to us, according to the program's need for I/O. The internal resources, like, main memory and the system bus, must be shared in various activities, consisting of data I/O. So, the I/O function consist of a Control and Timing requirement, to coordinate the flow of traffic between internal resources and external devices.

4. Data Buffering : The Data transfer rate into and out of main memory or the processor is very high. Data arising from main memory are sent to an I/O module at high speed. The data are buffered in the I/O module and then transmitted to the peripheral device at its data rate. In the opposite direction, data are buffered so as not to engage the memory in a slow transfer operation. So, the I/O module must be able to operate at both device and memory speeds.

5. Error Detection : An I/O module is generally responsible for error detection and for reporting errors to the processor. One class of errors consist of mechanical and electrical errors reported by the device (e.g. paper jam, bad disk track). Another class of error is made up of unintentional changes to the bit pattern as it is sent from device to I/O module. Some form of error-detecting code is generally used to detect transmission errors. A common example is the use of a parity bit on each character of data.

Next Topic :

No comments:

Post a Comment