Bus Interconnection

We know that a computer consists of a CPU, Main Memory and I/O unit. For data to flow between these components we need some kind of interconnections, which is another very important of the overall computer architecture.

These components are interconnected by using a set of parallel lines (Conducting Wires), Each of these lines can be used to transfer a sequence of bits from one component of the computer to the other component. This set of parallel lines is called BUS. This kind of a bus is shown in the figure 5.6 below:

Generally a computer has more than one bus interconnection. The bus used to connect the main components of a computer is called the system Bus. General-purpose computers have a 70-100 line system bus. The system bus is divided into three main categories.

Control Bus

These lines are used to transmit different commands from one component to the other. For example, if the CPU wants to read data from the main memory; it will use the control bus to send the memory read command to the main memory of the computer. The control bus is also used to transmit other control signals like ACKS (Acknowledgement signals). For example when CPU give a command to the main memory for writing data, the memory sends a acknowledgement signal to the CPU after  writing the data successfully so that the CPU can move forward and perform some more actions. A few commonly used commands and their purpose are given in the table below.

Table

MEMORY WRITE This command is used to write some data to given location in the main memory.
MEMORY READ This command is used to read some data from a given location in the main memory.
I/O WRITE This command is used to write some data to given output device.
I/O READ This command is used to read some data from a given input device.
BUS REQUEST This command is used to request for a control on the bus so that the requesting device can use it to transmit data.
BUS GRANT This command is used by the bus controller to indicate the grant of the bus to a device.
TRANSFER ASK This command is used by the bus controller to indicate the grant of the bys to a device.

Data Bus

On the system bus 32 or 64 lines are reserved to transfer data from one component to the other. These lines are commonly known as the data bus. A 64-line data bus can transfer 64 bits of data simultaneously so it is not difficult to see that the width of the data bus has a direct impact on the performance of the computer.

Address Bus

As we know that many components are connected to one another through the system us so it is important to assign a unique ID to each component. This ID is called the address of that component. When a computer component wants to communicate with another, it uses a few of the system bus lines to specify the destination component by using its address. These lines are commonly known as the address bus. Not only the address is used to identify different components of a system  but it is also used to specify different memory locations within the main memory.

For example; if the CPU wants to write some data at a locations 9872 in the main memory it places the address of main memory and location (i.e. 9872) on the address bus. When the main memory sees its address on the address bus it reads the data from the data bus and writes it to the specified location with in the main memory.

As the number of components connected to the system bus increases more components will be trying to use the system bus simultaneously. This will slow-down solve this problem only the major components of the computer are connected to the expansion bus. The expansion bus is connected to the system bus. This is shown in the figure 5.7 below.

Bus_Interconnection

Figure 5.7: Expansion Bus

Expansion

Figure 5.7 Expansion Bus