The Fetch-Decode-Execute Cycle
The CPU continuously repeats the fetch-decode-execute (FDE) cycle to process instructions. This is how all programs run.
1. Fetch
- The address stored in the Program Counter (PC) is copied to the MAR
- The instruction at that address is fetched from memory and placed in the MDR
- The instruction is copied from the MDR to the CIR (Current Instruction Register)
- The PC is incremented to point to the next instruction
2. Decode
The Control Unit decodes the instruction currently held in the CIR, working out what operation needs to be performed and what data/addresses are involved.
3. Execute
The decoded instruction is carried out. This might involve:
- The ALU performing arithmetic or logical operations
- Data being read from or written to memory
- Data being transferred to/from I/O devices
- The PC being updated (for jump instructions)
The cycle then repeats — fetch the next instruction, decode it, execute it.
CPU Performance Factors
The speed and efficiency of a CPU depends on several factors:
Clock Speed
Measured in GHz (gigahertz). The clock synchronises all CPU operations — a higher clock speed means more cycles per second and faster execution.
- E.g. 3.5 GHz = 3.5 billion cycles per second
- Higher clock speed → faster processing
Number of Cores
A core is an independent processing unit within a CPU. Multi-core CPUs can execute multiple instructions simultaneously (true parallelism).
- Dual-core = 2 cores, Quad-core = 4 cores, etc.
- More cores → better multi-tasking and parallel processing
Cache Memory
Cache is very fast memory built inside the CPU that stores frequently accessed instructions and data. It is much faster than RAM.
- Levels: L1 (fastest, smallest), L2, L3 (slowest of cache, but larger)
- Larger cache → less time waiting for data from RAM
- More cache → better CPU performance
| Factor | How it improves performance |
| Clock speed ↑ | More cycles per second → faster execution |
| More cores | Multiple instructions processed simultaneously |
| More/faster cache | Data accessed faster — less waiting for RAM |
Exam tip: Cambridge asks you to describe the fetch-decode-execute cycle in detail, including which registers are used at each step. Also know 3 factors affecting CPU performance: clock speed, number of cores, cache size. For each, explain HOW it improves performance — not just "it makes it faster".
⚠️ Common Mistakes
- Forgetting to say the PC increments during the fetch stage — this is a specific mark point
- Saying the CU decodes AND executes — execution is a separate stage, and for arithmetic, the ALU executes
- Saying more cores always means faster — it only helps if software is written to use multiple cores