The big picture: a kitchen
Every computer, from a phone to a games console, has the same few parts. A kitchen is a good picture of how they work together.
| Kitchen | Computer | Why |
|---|---|---|
| The chef | CPU | Does the actual work, one step at a time. |
| The worktop | RAM | Small, fast, holds what's in use now. Cleared at closing time. |
| Cupboards | Storage (SSD, hard drive) | Big, slower, keeps everything when switched off. |
| The recipe | A program | The list of steps. |
The CPU can't work straight from storage. Things are copied into RAM first, like taking food out of the cupboard before you cook with it.
Why not one big, fast memory for everything? Fast memory is expensive and forgets when the power goes off. Big storage is cheap and remembers, but it is slow. So computers use both: a little fast memory near the chef, lots of slow storage further away. Step 10 shows the full ladder.
The stored-program idea (von Neumann)
The first electronic computers were rewired by hand for each new job. ENIAC (1945) took days of plugging cables to change its program. Then came a much better idea.
1945: John von Neumann wrote up a design for a machine called EDVAC. It became the plan for almost every computer since.
The idea: instructions and data are both binary numbers.
So both can be stored in the same memory. To change the job, you just load a new program. No rewiring.
The CPU fetches instructions from memory one at a time and carries them out.
21 June 1948: the "Manchester Baby" at the University of Manchester ran the world's first stored program.
The three buses
A bus is a set of parallel wires. Each wire carries one bit at a time. A 64-bit data bus has 64 wires, so it moves 64 bits at once.
| Bus | Carries | Direction | Kitchen picture |
|---|---|---|---|
| Address bus | Which memory location to use (the address) | One way: CPU → memory | The shelf number you shout |
| Data bus | The instruction or data itself | Both ways | The jar passed back and forth |
| Control bus | Signals: read, write, clock ticks, "I'm busy" | Both ways | "Fetch!" or "Put this away!" |
Why is the address bus one way? Only the CPU decides which address to use. Memory never asks the CPU for an address. It only answers.
Why does bus width matter? An address bus with n wires can name 2n addresses. 32 wires → 232 ≈ 4.3 billion addresses, about 4 GB. That's why old 32-bit computers could not use more than 4 GB of RAM.
The von Neumann bottleneck. Instructions and data travel on the same buses, one thing at a time. The CPU is often faster than memory, so it sits waiting. Cache (Step 7) is the main fix.
Some small chips keep instructions and data in separate memories, with separate buses. This is called Harvard architecture. The chip on an Arduino Uno works this way. It can fetch the next instruction while it reads data.
AQA 8525 and OCR J277 both name the von Neumann architecture. AQA lists the parts to know as ALU, CU, clock, register and bus.
The parts of the CPU, and its registers
Inside the CPU there are a manager, a calculator, a few tiny boxes for numbers, a little fast memory and a drumbeat.
Control Unit (CU): the manager. Fetches each instruction, works out what it means (decodes it), and sends signals on the control bus to tell the other parts what to do.
ALU (Arithmetic Logic Unit): the calculator. Does maths (+, −) and logic (comparisons like > and =, and AND, OR, NOT). It is built from logic gates (Year 9).
Registers: tiny, super-fast stores. Each holds one value, usually 32 or 64 bits. They are the fastest memory in the whole computer.
Cache: small, very fast memory on the chip. It keeps copies of things from RAM that are used often.
Clock: a steady pulse. Each tick lets the CPU take one step. Everything moves in time with it.
Registers to know
| Register | Full name | Holds | Example |
|---|---|---|---|
| PC | Program Counter | The address of the next instruction | 2 |
| MAR | Memory Address Register | The address about to be read or written | 5 |
| MDR | Memory Data Register | The data just read, or about to be written | 14 |
| CIR | Current Instruction Register | The instruction being decoded and run now | ADD 6 |
| ACC | Accumulator | The result of the latest calculation | 42 |
The MAR only ever holds an address. The MDR holds whatever came from (or goes to) that address: it can be an instruction or a number.
OCR J277 names four registers: PC, MAR, MDR and accumulator. AQA 8525 only asks about "registers" in general. The CIR is on neither GCSE list (it's A-level), but it makes the cycle easier to follow, so we use it here.
The fetch–decode–execute cycle
The CPU only ever does one thing, over and over: fetch an instruction, work out what it means, do it. Then fetch the next one.
One line at a time
Fetch 1. The PC holds the address of the next instruction, e.g. 20.
Fetch 2. Copy 20 into the MAR. (This happens inside the CPU.)
Fetch 3. The MAR sends 20 to RAM along the address bus. The control bus sends a read signal.
Fetch 4. RAM sends back what's at address 20, along the data bus, into the MDR.
Fetch 5. The PC goes up by 1 (to 21), ready for next time.
Fetch 6. The instruction is copied from the MDR into the CIR.
Decode. The Control Unit splits the instruction into an opcode (what to do, like ADD) and an operand (what to do it to, like address 6).
Execute. Do it. The ALU may calculate, data may move, the result goes to the ACC or to memory. Then back to Fetch 1.
Watch the buses: one instruction, step by step
The ACC already holds 14. Now the CPU runs ADD 6, which is stored at address 1. Watch which register changes and which bus carries what.
This loop runs billions of times a second. Every app, game and web page is just this loop, run on different instructions.
AQA and OCR both call it the fetch–execute cycle. Decode is part of it. Use the board's name in exam answers.
Be the CPU
Now you run a whole program. Before each step, predict what changes. The trace table at the bottom records every register, like an exam trace question.
Run LOAD, ADD, STORE yourself
| Address | RAM holds |
|---|
Trace table
| # | Stage | What happened | PC | MAR | MDR | CIR | ACC |
|---|
Why does LOAD 5 put 14 in the ACC, not 5? The operand 5 is an address, a house number. The CPU goes to house 5 and takes what's inside. This is the most common mistake in exam trace questions.
Each instruction took 4 fetch steps, 1 decode, and 3 execute steps. The fetch part is always the same. Only execute changes, depending on the opcode.
Clock speed: how fast the drum beats
The clock sends a pulse, on and off, again and again. Each pulse is one tick (or cycle). The CPU takes a step on each tick. Clock speed is how many ticks happen every second.
| Unit | Means | Ticks per second |
|---|---|---|
| 1 Hz (hertz) | once a second | 1 |
| 1 kHz (kilohertz) | a thousand | 1,000 |
| 1 MHz (megahertz) | a million | 1,000,000 |
| 1 GHz (gigahertz) | a billion | 1,000,000,000 |
By hand: 3.5 GHz
Change GHz into ticks per second. Giga = 1,000,000,000. So 3.5 GHz = 3.5 × 1,000,000,000 = 3,500,000,000 ticks per second.
One tick is 1 ÷ that. 1 ÷ 3,500,000,000 = 0.000 000 000 286 seconds. Far too many zeros to read.
Change to nanoseconds. 1 second = 1,000,000,000 ns, so multiply by a billion: 0.000 000 000 286 × 1,000,000,000 = 0.286 ns.
Shortcut. The billions cancel out. Time in ns = 1 ÷ GHz. So 1 ÷ 3.5 = 0.286 ns. Same answer, one step.
Sense check. More GHz → more ticks → each tick is shorter. 3.5 GHz is faster than 1 GHz, and 0.286 ns is shorter than 1 ns. ✓
| Clock speed | 1 GHz | 2 GHz | 2.5 GHz | 3.5 GHz | 4 GHz | 5 GHz |
|---|---|---|---|---|---|---|
| One tick | 1 ns | 0.5 ns | 0.4 ns | 0.286 ns | 0.25 ns | 0.2 ns |
Why not just make it 100 GHz? Every tick switches billions of transistors, and each switch makes a little heat. Faster ticks → more heat. Above about 5 GHz, chips get too hot to cool with a normal fan. Also, in 0.2 ns an electrical signal only travels a few centimetres, so the chip can't be very big.
Overclocking means running a CPU faster than its maker set. It can work, but it makes more heat, uses more power and can make the computer crash.
One instruction usually takes several ticks. Modern CPUs overlap instructions like a production line (pipelining), so they finish about one or more per tick on average.
Cores and cache: what else makes it faster
Three things set how fast a CPU is: clock speed, the number of cores, and the size of the cache.
Clock speed: cycles per second. 3.5 GHz = 3.5 billion ticks a second.
Cores: each core is a full processor with its own CU, ALU and registers. 4 cores can do 4 things at once, if the program can be split up.
Cache size: more cache = fewer slow trips to RAM. The CPU checks L1, then L2, then L3, and only then goes out to RAM.
Cache hit or miss?
The CPU asks for addresses one by one. If a copy is already in the cache: hit, 1 ns. If not: miss, a 100 ns trip to RAM, and a copy is put in the cache (pushing out the one used longest ago).
Or ask for any address yourself
Why more isn't always faster
| More of… | Helps when… | Doesn't help when… |
|---|---|---|
| Cores | The job splits into parts that run at the same time (video export, many browser tabs). | Each step needs the answer of the one before. Then only one core can work; the others wait. |
| Cache | The program uses the same data again and again (loops). | Data is used once and never again. Also, a bigger cache takes a little longer to search. |
| Clock speed | Everything else keeps up. | The CPU is waiting for RAM or storage. Ticking faster while waiting is still waiting. It also makes more heat. |
By hand: 4 cores on a 10-second job
A job takes 10 seconds on 1 core. 60% of it can be split up. 40% must run in order.
The part that must run in order: 40% of 10 s = 4 s. Extra cores can't touch it.
The part that splits: 60% of 10 s = 6 s. Shared by 4 cores: 6 ÷ 4 = 1.5 s.
Total: 4 + 1.5 = 5.5 s. Not 10 ÷ 4 = 2.5 s. Four times the cores gave less than twice the speed.
Doubling the cores never quite doubles the speed. Not every job can be split.
Primary storage: RAM, ROM and virtual memory
Primary storage is memory the CPU can reach directly: RAM and ROM. (Cache and registers count too.) Storage drives are secondary: the CPU can't reach them directly.
| RAM (Random Access Memory) | ROM (Read Only Memory) | |
|---|---|---|
| Holds | Programs and data in use now, including the operating system | Start-up instructions (the BIOS or UEFI firmware) |
| Power off | Volatile: everything lost | Non-volatile: kept |
| Changeable? | Yes, all the time | Normally no |
| Size | 8–32 GB in a typical PC | Tiny: a few MB |
Why is ROM needed? When you switch on, RAM is empty. Something must already be there to start the computer. That lives in ROM.
What happens when you press the power button
Power on. RAM is empty. The CPU is built to start at one fixed address, which is in ROM.
The ROM program (BIOS or UEFI) checks the hardware: is there RAM? a keyboard? a drive? This is the power-on self-test.
It finds the storage drive and starts loading the operating system from storage into RAM.
The operating system takes over. From now on, everything runs from RAM.
Modern "ROM" chips are usually flash memory, so the maker can send a firmware update. It's still non-volatile, and normal programs can't write to it.
Virtual memory
When RAM is full, the computer borrows part of the storage drive and pretends it is extra RAM. It moves the parts of programs that haven't been used lately out to the drive, to make room.
Page out. Music hasn't been used for a while. Its part of RAM is copied to the page file on the drive.
Page in. You click on the spreadsheet. It's copied from the drive into the space Music left.
Switch back to Music, and it has to be swapped in again. Each swap means waiting for the drive.
Virtual memory stops programs crashing when RAM is full. It does not make the computer faster: it is much slower than real RAM. If it swaps all the time, the computer crawls. This is called thrashing. Adding more RAM is the real fix.
OCR J277 asks for "the need for virtual memory" by name. Both boards expect RAM vs ROM and the word volatile.
Secondary storage: how a bit is kept
Secondary storage keeps programs and files when the power is off (non-volatile). It is much bigger than RAM, and much slower. There are three ways to hold a bit: magnetism, light and trapped electric charge.
Magnetic: hard disk drive (HDD)
Optical: CD, DVD, Blu-ray
Solid state: SSD, USB stick, SD card, phone storage
| Type | How a bit is stored | Examples | Good | Bad |
|---|---|---|---|---|
| Magnetic | Tiny magnetised areas on a spinning disk | Hard disk (HDD), magnetic tape | Cheap, huge | Moving parts, slower, hates knocks |
| Solid state | Charge trapped in flash memory | SSD, USB stick, phones, SD cards | Fast, silent, tough, light | Costs more per GB; each cell wears out after many writes |
| Optical | Pits read by a laser | CD (700 MB), DVD (4.7 GB), Blu-ray (25 GB a layer) | Cheap to make and post | Small, slow, scratches |
Why does Blu-ray hold more than DVD? It uses a blue-violet laser. Blue light has a shorter wavelength than the red laser in a DVD player, so it can read smaller pits, packed closer together.
SSDs spread writes evenly across all their cells (wear levelling), so no cell wears out early. A normal user won't wear one out for many years.
The memory hierarchy, and choosing storage
Put every kind of memory in one picture and a pattern appears: the faster it is, the smaller and dearer per byte it is.
| Level | Typical size | Time to read | If a register took 1 second… |
|---|---|---|---|
| Registers | a few hundred bytes | under 1 ns | 1 second |
| L1 cache | 32–64 KB per core | about 1 ns | 3 seconds |
| L3 cache | 8–64 MB | about 10–20 ns | about a minute |
| RAM | 8–32 GB | about 80 ns | about 4 minutes |
| SSD | 0.25–4 TB | about 0.1 ms (100,000 ns) | about 4 days |
| Hard disk | 1–20 TB | about 10 ms | about a year |
Choosing secondary storage
| Ask about… | Means | Rough figures (2025) |
|---|---|---|
| Capacity | How much it holds | HDD up to ~20 TB · SSD up to ~4 TB · Blu-ray 25–100 GB |
| Speed | How fast it reads and writes | SSD 500–7,000 MB/s · HDD 100–250 MB/s · Blu-ray ~36 MB/s |
| Cost | Price per gigabyte | HDD ~2p/GB · SSD ~6p/GB · USB stick ~8p/GB |
| Durability | Survives drops, heat, magnets, scratches | Solid state best · HDD worst (moving parts) |
| Portability | Small and light enough to carry | SD card, USB stick, phone |
| Reliability | Keeps working, data doesn't go bad | Keep a backup of everything, whatever you choose |
Storage picker
Pick a job. It sets how much each thing matters (0 = not at all, 3 = a lot). Each storage type gets a score: importance × rating, added up. You can change the importances yourself.
Choose by: capacity, speed, portability, durability, reliability, cost. In exam answers, always say which of these matters for the job, and why.
Embedded systems
An embedded system is a small computer inside a device, doing one job: a microwave, a car's brakes, a micro:bit. Most computers in the world are embedded.
| General-purpose computer | Embedded system | |
|---|---|---|
| Jobs | Anything: install new apps | One job, set by the maker |
| Program | Loaded from storage into RAM | Fixed in flash/ROM (updated rarely) |
| Size and power | Big, uses lots of power | Tiny, low power, often runs on a battery |
| Cost | Hundreds of pounds | Often under £1 for the chip |
| Examples | Laptop, desktop, smartphone | Microwave, washing machine, car ABS brakes, traffic lights, fitness tracker, micro:bit |
Why not put a full PC in a microwave? A microwave needs a timer, a keypad and a magnet switch. A tiny chip does that for pennies, uses almost no power, starts instantly and never needs updates. A PC would cost more, use more power and could crash.
The temperature logger build (Arduino in Tinkercad) is an embedded system you can make: a sensor in, a chip deciding, an LED out. It lives in Topic 18: Data, spreadsheets and AI. In Year 9 the BBC micro:bit is the class's own embedded system.
Both boards ask for a definition and examples. A good answer: "a computer system built into a larger device, with one dedicated function".
Common mix-ups
The mistakes nearly everyone makes the first time. Read the left side, then the right.
"My phone has 128 GB of memory" means 128 GB of RAM.
That's storage (flash). The phone's RAM is more like 4–12 GB. Different jobs, different parts.
The MAR holds the data from memory.
The MAR holds the address. The MDR holds the data. A for Address, D for Data.
More GHz always means a faster computer.
Cores, cache size and how much each tick achieves matter too. A CPU waiting for RAM is slow at any GHz.
8 cores are twice as fast as 4.
Only the parts of a job that can be split speed up. Many jobs barely change.
Virtual memory is extra RAM that speeds things up.
It's storage pretending to be RAM. It stops crashes but is much slower.
An SSD is "memory", so it's volatile like RAM.
Flash memory is non-volatile: the trapped charge stays when the power goes.
The CPU runs programs straight off the hard disk.
Programs are loaded into RAM first. The CPU only fetches from main memory.
LOAD 5 puts the number 5 into the accumulator.
5 is an address. LOAD 5 copies whatever is stored at address 5.
Check yourself
Quick questions first. Then endless practice: a wrong answer shows you the working, step by step.