The input/output (I/O) interface, bus structures, microprocessor, memories and peripherals (also known as external or I/O devices) are the major components of a computer system. These components constantly trade information and instructions to complete assigned operations. With the exception of the peripherals, the ongoing communication between components is conducted within the system through interconnections or paths called buses. Peripherals such as keyboards, add-in cards (including frame grabbers), monitors, modems and printers are alternatively connected to the system through the I/O interface.
The I/O connection features a communication line to send and receive data between the system and peripherals. Figure 1 illustrates the standard microprocessor-based PC architecture outlined above. Note: the peripherals’ link to the system through the I/O interface rather than directly through the system’s host bus. The primary purpose of a system’s host bus is to connect components and allow them to communicate. To achieve this, the host bus is composed of three types of communication lines.
An address bus is a one-way path that allows the microprocessor to specify which of the various locations in the memories and in the I/O interface it is accessing. Using this path, the microprocessor can select a memory address from which to acquire or in which to store data. The CPU also queries the I/O interface and devices using the address bus to specify input and output locations. A data bus carries the actual data between the microprocessor, memories and the I/O interface. Because the data bus is bidirectional, information can be both sent and received on these lines.
A control bus handles the arbitration and differentiation between data coming in and data going out of different components by transmitting read, write and other control signals. In evaluating bus architecture, our primary concern is with transfers occurring on the data bus. The data bus is responsible for moving the bulk of information that travels through a system. And the data bus design ultimately determines how efficiently that data will flow. Defining features of the data bus include the size or bandwidth of the bus, the speed of the bus, and the location of the bus within the system.
It helps to think of the data bus as a gateway through which a certain amount of information can pass. The bus contains a clock that indicates the speed at which data can move through the gateway. The path size or width of the bus indicates the volume or quantity of data that can move through the gateway. The clock speed is measured in megahertz and the path size is measured in bits. The transfer rate brings these two variables together to represent how much and how fast data is moving at any given time. The transfer rate is usually indicated in megabytes per second.