Types and uses of buses in computer

Computer buses are communication channels that are used by various computer components within the system to exchange data. The pathways operate at different speeds and data capacity. 

Computer buses are used for addressing, data transfer, and controlling the operation within different components of the computers. The 3 system buses are data, control, and address buses.

Functions of buses in computers

Different types are made for different functions however the following are the main functions of buses in microcomputers.

  1. Addressing: address bus is used to determine where data is read or written to.
  2. Synchronization of activities.: control bus help to ensure everything is coordinated.
  3. Sharing of data: the data bus is used to carry the real data from one device to the next.
  4. Power supply: for expansion buses, they are used to power the device that they are connected to.

Types of system buses in computers

There are several computer buses each serving a specific function. The most common bus that each computer must have are data, control, and address buses. 

These 3 buses are called the system bus.

Address Bus

It is also called a memory bus. It is a unidirectional bus which means it passes the address one way from the CPU to the main memory. It can be connected from the CPU to the DMA controller, I/O controller, or main memory unit.

The main function of the address bus is to determine the location address to read from or write to in the main memory. 

Addressable memory in microprocessor

The number of lines(wires) in the address bus determines the maximum addressable memory. For a memory that can move 8 bits at a time, it has a maximum addressable memory of (2^8) 256 bytes of RAM. The addressable memory has been increasing from 8bits to 64bits which is unlimited memory with the current computer system that we have.

Number of Bits/ linesCalculating memory sizeMaximum addressable memory
2^8256 bytes
162^1665,536 bytes (64KB)
202^201,048,576 bytes (1MB)
322^324,294,967,296 bytes (4GB)
362^3668,719,476,736 bytes (64GB)
642^6416 exbibyte (16EiB)

Data Bus

Data bus move data to and from the CPU to the main memory and other components on the computer. It is a bi-directional bus. The size of data that can be moved at the same time is determined by the width of the bus referred to as word size.

Examples of word size in memory

The word size of 2 bytes (16bits) with maximum addressable memory of 64KB

The word size of 4 bytes (32bits) with maximum addressable memory of 4GB

The word size of 8 bytes (64 bits) with maximum addressable memory of 16EiB which offers better system performance. This is the most common word size for modern computers.

Control Bus

It is also called a command bus. The bus carries a control signal to or from the microprocessor to manage the operation of various components both internal and external. The bus is made of lines that are used for specific functions. 

Some of the examples of control bus lines available in most microprocessors are:

  1. Read operation: when activated it indicates that the CPU is reading from the device.
  2. Write operation: the processor is writing to the device.
  3. Clock signal: it is used to synchronize activities between CPU and input/output devices.
  4. Interrupt request: it deals with interrupts generated by various devices.

Generally, the control bus carries the status of the device, and what is happening to the specific device.