0984

Computer Architecture

Hardware · 4 question types

Exam Frequency Analysis

Past paper frequency (2018 to 2024)

This topic accounts for approximately 7% of your exam marks.

stable
Low
Stable7%

The fetch-decode-execute cycle and von Neumann architecture are tested almost every year.

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.

Exam tip

The three buses

Naming a bus and giving what it carries and its direction comes up regularly, so you need to know: the address bus carries addresses one way (CPU→memory), the data bus carries data and instructions both ways, and the control bus carries control signals. The trap is calling the address bus bidirectional — only the data bus is.