Stored Program Computers
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.
| Bus | What it carries | Direction |
|---|---|---|
| Address bus | The address of a memory location the CPU wants to read from or write to | One-way, from the CPU to memory |
| Data bus | Data and instructions, travelling between the CPU, main memory and input/output controllers | Bidirectional |
| Control bus | Control signals such as read and write signals and clock pulses | Carries 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.
Edexcel GCSE Computer Science · Stored Program Computers
Edexcel GCSE Computer Science · Fetch Decode Execute Cycle