ABSTRACT

Input–output (I/O) system organization nowadays is of immense importance, and it critically influences the performance of the system as a whole. This chapter enunciates an overview of the principles of I/O system organization and the related design of I/O modules. Four basic approaches to I/O transfers are as follows: programmed I/O in which the CPU (central processing unit) is totally involved and performs all the necessary control functions of an I/O operation; a further enhancement of this approach is interrupt-driven I/O in which CPU is partly relieved; The next development is based on providing I/O devices with direct memory access (DMA) in which data transfers can be handled independently by the I/O module without CPU involvement; and the final one is the introduction of I/O channels and then I/O processors (IOPs), which can independently manage the entire I/O operations with the maximum speed. Buses are used to interconnect the fundamental resources of computer systems. The different types of contemporary buses, such as PCI (peripheral component interconnect), SCSI (small computer system interface, and USB (Universal Serial Bus), and their distinctive features along with the corresponding bus designs have been described. The detailed features of the most modern high-speed and high-performance serial bus, the FireWire, used in computer systems and also in today’s digital audio and video pieces of equipment have been explained. This chapter also introduces the reader to InfiniBand, an advanced high-speed communication link used for modern distributed systems, cluster architectures to implement cloud computing, and high-end servers. Popular computer ports, used to attach peripheral devices or an additional circuit with the existing system, such as serial, parallel, and USB ports, are of common importance and are briefly described here with their distinctive features.