All subjects · Computer Science · WCP01 Principles of Computer Science

Internal components: CPU, memory, input/output and buses

Edexcel IAL Computer Science · WCP01 Principles of Computer Science

A von Neumann computer has a processor, memory, input/output and three buses joining them. You need to know what each does and to work out how much memory an address bus can reach (spec point 1.1.3).

Practise this in the app: instant marking and a fix for every mistake. Free, no email needed to start.

Practise this lesson

The components

The buses

A bus is a set of parallel wires carrying signals between components.

BusCarriesDirection
AddressMemory address to useCPU to memory/I/O only
DataData or instructionsTwo way
ControlRead, write, clock, interrupt signalsTwo way

How much memory can be addressed?

Each wire on the address bus carries one bit. With n address lines the CPU can form 2n different addresses.

Addressable memory = 2n x (size of each memory location)

If memory is byte-addressable, each address holds one byte, so 2n bytes can be addressed. Widening the address bus by one line doubles the addressable memory. A wider data bus moves more bits per transfer (a larger word), which speeds up transfers but does not change how many locations exist.

Worked example

A CPU has a 24-bit address bus and memory is byte-addressable. How much memory can it address, in MiB?

  1. Number of addresses = 224 = 16 777 216
  2. Each address holds 1 byte, so 224 bytes.
  3. 1 MiB = 220 bytes, so 224 / 220 = 24 = 16 MiB

Answer: 16 MiB

Key idea: RAM volatile working memory; ROM non-volatile start-up code; cache fast copies. Address bus one way; data and control two way. Addressable memory = 2n x location size.

Check yourself

  1. A CPU has a 16-bit address bus. How many different memory addresses can it use?
    Show answer

    65536. 216 = 65536.

  2. A byte-addressable computer has a 20-bit address bus. How many KiB of memory can it address?
    Show answer

    1024 KiB. 220 bytes / 210 = 210 = 1024 KiB (which is 1 MiB).

  3. An address bus has 12 lines and each memory location holds a 16-bit word. How many bytes can be addressed?
    Show answer

    8192 bytes. 212 = 4096 locations x 2 bytes = 8192 bytes.

  4. A byte-addressable memory has 4 GiB of locations. How many address lines are needed?
    Show answer

    32. 4 GiB = 22 x 230 = 232 bytes, so 32 lines.

  5. Which bus carries signals in one direction only?
    • Data bus
    • Address bus
    • Control bus
    • Every bus carries signals in two directions
    Show answer

    Address bus. Only the CPU puts addresses on the address bus.

  6. Why does a computer need ROM as well as RAM?
    • ROM is faster than cache
    • ROM can be written to more easily than RAM
    • ROM stores the files the user is editing
    • ROM keeps the start-up instructions when the power is off
    Show answer

    ROM keeps the start-up instructions when the power is off. RAM is volatile, so the instructions needed to start the computer must be in non-volatile ROM.

  7. Which signal is sent along the control bus?
    • The address of the next instruction
    • Memory write
    • The instruction being fetched
    • The value in the accumulator
    Show answer

    Memory write. Read and write signals tell memory what to do; addresses go on the address bus and data on the data bus.

  8. Explain why cache memory improves performance.
    Show answer

    Cache is very fast memory close to the CPU holding copies of frequently used instructions and data, so the CPU can get them without waiting for slower RAM.. Say what cache holds and why that reduces waiting.

Practise with instant feedback

Sources

Last updated 8 November 2026. Spotted a mistake? Tell us.