Menu

Stored Program Computers

Buses

A bus is a set of parallel connections that carries signals between two or more components of a computer. Each wire in the set carries one bit at a time, so a wider bus moves more bits together in a single transfer. The CPU uses the system buses to exchange instructions and data with main memory.

The three system buses

BusWhat it carriesDirection
Address busThe address of a memory location the CPU wants to read from or write toOne-way, from the CPU to memory
Data busData and instructions, travelling between the CPU, main memory and input/output controllersBidirectional
Control busControl signals such as read and write signals and clock pulsesCarries signals to and from the control unit

The address bus is one-way because the CPU alone decides which location it wants, and memory simply responds. An address never needs to travel back to the processor.

The data bus is bidirectional because information moves both ways: an instruction can be fetched into the CPU, and a result can be written back out to memory. Instructions travel on the same bus as data because, in a stored program computer, an instruction is just a binary pattern held in memory like any other value.

The control bus carries the signals that coordinate and time what happens, telling memory whether a read or a write is wanted and keeping every component in step with the clock.

Because a bus is shared, only one device can transmit along it at any one time. To see all three buses working together, picture a game saving a player's new high score. The CPU puts the address of the memory location that will hold the score on the address bus, places the score itself on the data bus, and sends a write signal on the control bus. Three jobs that together make one write operation.

The CPU (control unit, ALU, registers and clock) joined to main memory by three buses: the control bus to and from the control unit carries a write signal, the one-way address bus carries the address of the score's location, and the bidirectional data bus carries the new high score to memory.

Practise this