This unit is how a processor actually runs a program. You can read 1.1.3 first if you want — nothing here depends on finishing a quiz.
1.1.1 Architecture of the CPU
What the CPU is for
The CPU (Central Processing Unit) is the part of the computer that fetches instructions from memory, decodes them, and executes them. Everything else — screen, disk, network — is waiting on that loop.
OCR wants this purpose in one clean sentence: the CPU processes data and instructions by repeatedly fetching, decoding and executing them.
Von Neumann architecture
Almost every machine you use is Von Neumann:
- One shared memory holds both instructions and data
- A single bus moves them between memory and the CPU
- The CPU is built from an ALU, a CU, registers, and cache
The bottleneck is that shared bus: you cannot fetch the next instruction and a piece of data in the same moment. That is the Von Neumann bottleneck. You do not need a dissertation on it — just the name and the cause.
The parts
| Part | Job |
|---|---|
| ALU (Arithmetic Logic Unit) | Maths and logic: add, subtract, compare, AND/OR/NOT |
| CU (Control Unit) | Decodes the instruction and coordinates the other parts — it sends control signals |
| Cache | Small, very fast memory on or next to the CPU, holding copies of recently used instructions/data so the CPU is not always waiting on RAM |
| Registers | Tiny, fastest storage inside the CPU, used during the current instruction |
Cache is not “a register”. Registers are named slots with a job. Cache is a small pool of copies.
Registers you must know
| Register | Name | Holds |
|---|---|---|
| PC | Program Counter | Address of the next instruction |
| ACC | Accumulator | Results of ALU operations; a working value |
| MAR | Memory Address Register | The address in memory we are about to read or write |
| MDR | Memory Data Register | The data or instruction just read from memory, or about to be written |
| CIR | Current Instruction Register | The instruction currently being decoded and executed |
Exam trap: PC holds an address, not the instruction itself. The instruction lands in the MDR, then the CIR.
Fetch–execute cycle
One instruction, slowly:
- Address of next instruction is copied from PC → MAR
- That address is sent on the address bus; memory returns the instruction
- The instruction is copied into the MDR, then into the CIR
- PC is incremented so it now points at the next instruction
- CU decodes the instruction in the CIR
- Execute: ALU might calculate; memory might be read/written via MAR/MDR; ACC might update
- Repeat
Some questions say fetch–decode–execute. Decode is the CU’s step. Same cycle.
If the instruction is a jump, execute overwrites the PC with a new address instead of “just going to the next one”.
Buses (enough for this unit)
- Address bus — CPU tells memory where (typically unidirectional)
- Data bus — the actual bits, both ways
- Control bus — read/write and timing signals
You will meet these again in networks and in “what limits performance”.
1.1.2 CPU performance
Three factors OCR hammers. Learn the direction of the effect and a limitation.
Clock speed
The clock ticks millions or billions of times a second (Hz, MHz, GHz). One tick is a slice of time the CPU can use to move through fetch–execute.
- Higher clock speed → more cycles per second → more instructions in the same time (if nothing else is waiting)
- Hitting the ceiling: heat, power, stability. You cannot infinitely overclock a laptop in an exam answer.
Cores
A core is a processing unit that can run its own fetch–execute cycle.
- More cores → more instructions in parallel if the software can split the work
- A single-threaded program may barely notice a second core
- Dual-core is not “twice as fast at everything”
Cache size
Larger cache → more of the working set sits next to the CPU → fewer slow trips to RAM → higher effective performance.
Cache is still small and expensive. “Just make cache as big as RAM” is not an exam answer.
How to write a compare question
“Explain how increasing clock speed and increasing cache size can improve CPU performance.”
Give each factor its own sentence: what changes, why that helps fetch–execute, one limitation. Do not mash them into one blob.
1.1.3 Embedded systems
An embedded system is a computer designed for one (or a small set of) dedicated functions, usually inside another device.
Examples worth having in your pocket: washing machine controller, car engine management, digital watch, dishwasher, a smart thermostat, a traffic light controller.
Typical characteristics (pick the ones that fit the question):
- Dedicated task, not a general-purpose laptop
- Often real-time (must respond by a deadline — airbag, ABS)
- Limited OS or none you would recognise
- Built for low cost, low power, reliability
- Program often in ROM; user cannot install games on the toaster
Not embedded just because it is small: a smartphone is a general-purpose computer that happens to fit in a pocket.
When would you not use one? When the device must run arbitrary software, be upgraded like a PC, or do many unrelated jobs.
Jump to the exercises and quiz below whenever you like — or open another unit from the sidebar.