What is System Buses?

A bus is a set of wires. The elements of the computer are linked to the buses. It can transfer data from one element to another, the source element outputs data onto the bus. The destination element then inputs this information from the bus. As the complexity of a computer system improves, it becomes more effective (in methods of minimizing connections) at using buses instead of a direct connection between each pair of devices.

Buses use less area on a circuit board and need less power than a huge number of direct connections. It can also need fewer pins on the chip or chips that includes the CPU. The system has three buses as shown in the figure. The uppermost bus is the address bus. When the CPU reads data or instructions from or writes data to memory, it should determine the address of the memory location it needs to access.

It outputs this address to the memory bus, memory inputs this address from the address bus and uses it to access the suitable memory location. Each I/O device including a keyboard, monitor, or disk drive, has a specific address as well.

When accessing an I/O device, the CPU locates the address of the device on the address bus. Each device can read the address off of the bus and specify whether it is the device being accessed by the CPU.

Data is shared via the data bus. When the CPU fetches information from memory, it first outputs the memory address on its address bus. Therefore memory outputs the data onto the data bus, the CPU can read the information from the data bus. When writing data to memory, the CPU first outputs the address onto the address bus, therefore outputs the data onto the data bus.

The control bus is different from the other two buses. The address bus includes n lines, which associate to transit one n-bit address value. The lines of the data bus work simultaneously to send a single, multi-bit value.

In contrast, the control bus is a collection of individual control signals. These signals indicate whether data is to be read into or written out of the CPU, whether the CPU is accessing memory or an I/O device, and whether the I/O device or memory is read to transfer data.

Although this bus is shown in the figure, it is a set of unidirectional signals. These signals are output from the CPU to the memory and I/O subsystems, even though a few are output by these subsystems to the CPU. A system can have an order of buses. For instance, it can use its address, data, and control buses to access memory and an I/O controller. The I/O controller can access all I/O devices using a second bus known as the I/O bus or a local bus.