Architecture of the CPU
The purpose of the CPU, its components, the registers of the Von Neumann architecture, and the fetch-execute cycle.
Learning Objectives
- 1Describe the purpose of the CPU
- 2Describe the function of the ALU, Control Unit, cache and registers
- 3State the purpose of the Program Counter, MAR, MDR and Accumulator, and whether each holds data or an address
- 4Describe the actions that occur at each stage of the fetch-execute cycle
The purpose of the CPU
Think of it like...
Think of the CPU as a chef working through a recipe. It reads the next step (fetch), works out what that step means (decode), then does it (execute), before moving on to the next step. It keeps going until the dish is finished.
The components of the CPU
- ALU (Arithmetic Logic Unit) – does all the maths, like adding and subtracting, and logical comparisons, like checking whether one number is bigger than another.
- Control Unit (CU) – the manager. It sends out signals telling every other part what to do and when.
- Cache – a small amount of very fast memory that keeps frequently used data close to the CPU, so it does not have to wait for slower memory.
- Registers – tiny, super-fast storage spaces inside the CPU that hold the data and addresses it is working with right now.
| Component | Function |
|---|---|
| ALU (Arithmetic Logic Unit) | Performs arithmetic operations (e.g. addition, subtraction) and logical operations (e.g. AND, OR, comparisons). |
| Control Unit (CU) | Coordinates the CPU by sending control signals that direct the other components and manage the fetch-execute cycle. |
| Cache | Small, very fast memory inside or near the CPU that stores frequently used data and instructions, reducing the need to fetch them from slower RAM. |
| Registers | Small, extremely fast storage locations inside the CPU that temporarily hold the data and addresses currently in use. |
The registers (Von Neumann architecture)
| Register | What it holds | Data or address? |
|---|---|---|
| Program Counter (PC) | The address of the next instruction to be executed. | Address |
| MAR (Memory Address Register) | The address of the memory location to be read from or written to. | Address |
| MDR (Memory Data Register) | The data or instruction that has just been read from, or is about to be written to, memory. | Data |
| Accumulator | The result of calculations carried out by the ALU. | Data |
Think of it like...
Think of an address as a house number, and data as the parcel inside the house. The MAR holds the house number (where to go); the MDR holds the parcel (what is actually there).
The fetch-execute cycle
- Fetch – the CPU gets the next instruction from memory.
- Decode – the Control Unit works out what the instruction is telling it to do.
- Execute – the CPU carries out the instruction, for example the ALU doing a calculation.
- Fetch: the next instruction is fetched from memory. The Program Counter provides its address, and is then incremented so it points to the following instruction.
- Decode: the Control Unit decodes the instruction to work out what operation is required. Decoding splits the instruction into its opcode (which operation to carry out) and its operand (the data, or the address of the data, to use).
- Execute: the instruction is carried out. This might involve the ALU performing a calculation, data being moved, or a result being stored in the Accumulator.
Exam Phrasing: Use These Exact Phrases
- ✓The CPU executes instructions through the fetch-execute cycle
- ✓The ALU performs arithmetic and logical operations
- ✓The Control Unit coordinates the components of the CPU by sending control signals
- ✓Registers are small, high-speed storage locations inside the CPU
- ✓The Program Counter holds the address of the next instruction to be executed
- ✓The Memory Address Register (MAR) holds the address of the memory location to be accessed
- ✓The Memory Data Register (MDR) holds the data or instruction being transferred to or from memory
- ✓The Accumulator stores the result of calculations carried out by the ALU
- ✓Cache stores frequently used data and instructions for faster access
- 💡Structure fetch-execute answers in clear stages: Fetch → Decode → Execute, saying what happens at each.
- 💡Learn whether each register holds data or an address, as that distinction is often worth a mark.
- 💡Use full names: Program Counter, not "instruction pointer"; Memory Address Register, not just "address register".
- 💡Don't mix up the ALU and Control Unit: the ALU calculates, the Control Unit coordinates.
- 💡You will not be asked to trace data passing between registers stage by stage, so focus on the purpose of each register and the actions at each stage.
Wrong:
The CPU stores programs and data
Right:
The CPU executes instructions; RAM stores the programs and data currently in use
Why it matters: The CPU processes information, it doesn't store it long-term. Confusing processing with storage loses marks.
Wrong:
The ALU controls the CPU
Right:
The Control Unit coordinates the CPU; the ALU performs calculations and logical operations
Why it matters: Swapping the roles of the ALU and Control Unit is one of the most common errors in this topic.
Wrong:
The Control Unit executes the instructions / carries out the fetch-execute cycle itself
Right:
The Control Unit coordinates and controls the cycle, sending the control signals; the instruction is executed by the CPU, with the ALU performing any calculations
Why it matters: OCR examiners flagged this as a common error. The Control Unit directs the process, it does not perform the execution itself.
Wrong:
The MAR and MDR both hold data
Right:
The MAR holds an address; the MDR holds the data or instruction
Why it matters: The difference between an address and data is exactly what these questions are testing.
Question:
Describe the role of the Control Unit and the Arithmetic Logic Unit (ALU) in the CPU. [4]
💡 Attempt this before revealing the answer, practice makes perfect!
Model Answer:
The Control Unit coordinates the components of the CPU by sending out control signals. These signals direct the other components and manage the fetch-execute cycle, telling each part what to do and when. The Arithmetic Logic Unit (ALU) carries out the actual processing: it performs arithmetic operations such as addition and subtraction, and logical operations such as AND, OR and comparisons between values.
Mark Scheme:
- 1The Control Unit coordinates the CPU by sending control signals
- 2The Control Unit manages/directs the fetch-execute cycle (or the other components)
- 3The ALU performs arithmetic operations (e.g. addition, subtraction)
- 4The ALU performs logical operations/comparisons (e.g. AND, OR)
Tap a card to flip it. Use the arrow keys to move and space to flip.
Exam-style questions. Have a go, then reveal the mark scheme to check your answer.
1.State the purpose of the Program Counter.
[1]2.State whether the Memory Address Register (MAR) holds data or an address.
[1]3.Describe what happens during the fetch stage of the fetch-execute cycle.
[3]4.Describe the difference between the roles of the ALU and the Control Unit in the CPU.
[4]5.A program is being run by a computer. Explain how the components of the CPU work together to execute the instructions in the program.
[6]6.Discuss the role of the CPU and its components in running a program, and explain why data is copied into registers instead of being processed directly in main memory.
[8]Extended response · marked in levels, not by counting points
The examiners' reports are the most useful and least read of the three: they say what candidates actually got wrong each year. All files are hosted by OCR.
Past-paper questions grouped by topic
The same OCR questions, sorted by topic rather than by year (via Physics & Maths Tutor).
The strongest fetch-execute answers referred specifically to instructions and data being fetched from memory and then processed. Answers that said "programs" or "information" were fetched were marked as inaccurate, so use the precise terms: instructions and data.
Many students could name a register but far fewer could state its purpose in the fetch-execute cycle. Learn what each register is for, not just its name.
A common misconception flagged by examiners: the Program Counter does not count how many programs have run or how many instructions have been processed. It holds the address of the next instruction to be executed.