Computer ScienceExam code: 0984

Computer Architecture

Hardware

Components inside a computer are connected by buses: bundles of parallel wires that carry binary signals from one place to another. There are three buses you need to know.

Address bus

The carries memory addresses from the CPU to main memory.

Important features:

  • Unidirectional. Information only flows from the CPU to memory (the CPU specifies which address it wants).
  • The width of the address bus sets the maximum amount of memory the CPU can use. A 32-bit address bus can address up to 2³² = 4 billion locations; a 64-bit address bus can address far more.

Data bus

The carries data and instructions between the CPU and main memory, and to and from input/output devices.

Important features:

  • Bidirectional. Data can flow either way: into the CPU when reading from memory, out of the CPU when writing to memory.
  • The width of the data bus sets how many bits can be transferred in a single step (e.g. 32-bit or 64-bit data bus).

Control bus

The control bus carries control signals from the Control Unit to every other component, and status signals back from those components.

Important features:

  • Bidirectional. Different wires within the bus carry different signals in different directions.
  • Typical signals include "memory read", "memory write", "interrupt", "clock pulse", and "reset".

Side-by-side

BusCarriesDirection
AddressMemory addresses (locations)Unidirectional (CPU → memory)
DataData values and instructionsBidirectional
ControlControl signals and timingBidirectional

Common slip: mixing up the address bus and the data bus. The address bus only ever carries the location of the data. The data bus carries the value stored at that location.

Common exam question

Naming a bus and what it carries

Question: Circle the three buses used in the CPU, identify one bus and explain its purpose in the fetch-decode-execute cycle, or name the component that moves data between RAM and the CPU (1–3 marks).

Asked in 3 of the 17 papers. The three buses are the address bus, the data bus and the control bus, one mark each when you circle them; the other words offered, such as "fetch", "decode", "execute", "register" and "value", are not buses. The identify-and-explain version gives one mark for the name and two for a matching purpose, as a point and its development: the address bus carries addresses between the components in the CPU; the data bus carries data (instructions included) between the components; the control bus carries control signals from the control unit to the other components. In a table, the component described as transferring data between RAM and the CPU is the data bus.

Build on this topic