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).
The components
- CPU (central processing unit): fetches, decodes and executes instructions.
- RAM (random-access memory): main memory holding the programs and data currently in use. It is read/write and volatile (contents are lost when power is off).
- ROM (read-only memory): non-volatile memory holding instructions needed at start-up, such as the bootstrap loader (firmware). Contents are not normally changed.
- Cache: a small amount of very fast memory, on or near the CPU, holding copies of frequently used instructions and data so the CPU waits less for RAM.
- Input/output (I/O) controllers: interfaces that let the CPU communicate with peripherals such as keyboards, displays and storage devices.
The buses
A bus is a set of parallel wires carrying signals between components.
- Address bus: carries the memory address (or I/O port) that the CPU wants to read from or write to. It is one way, from the CPU.
- Data bus: carries the data or instruction being transferred. It is two way (to and from the CPU).
- Control bus: carries control and timing signals such as memory read, memory write, clock, interrupt request and bus request. Lines go in both directions.
| Bus | Carries | Direction |
|---|---|---|
| Address | Memory address to use | CPU to memory/I/O only |
| Data | Data or instructions | Two way |
| Control | Read, write, clock, interrupt signals | Two 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?
- Number of addresses = 224 = 16 777 216
- Each address holds 1 byte, so 224 bytes.
- 1 MiB = 220 bytes, so 224 / 220 = 24 = 16 MiB
Answer: 16 MiB
Check yourself
- A CPU has a 16-bit address bus. How many different memory addresses can it use?
Show answer
65536. 216 = 65536.
- 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).
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
Sources
- Pearson Edexcel International Advanced Subsidiary/Advanced Level in Computer Science specification (2026)
- Pearson Edexcel IAL Computer Science IAS sample assessment materials (Unit 1, WCP01)
Last updated 8 November 2026. Spotted a mistake? Tell us.