GCSEPaper 1Systems ArchitectureArchitecture of the CPU
1.1.1

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

The CPU (Central Processing Unit) is the brain of the computer. It carries out the instructions that make up every program you run. It does this by repeating one simple loop over and over, incredibly fast: fetch an instruction, work out what it means, then carry it out. This loop is called the fetch-execute cycle, and a modern CPU runs it billions of times every second.
The CPU is the main processor in a computer. Its job is to execute the instructions that make up a program. It does this by continuously running the fetch-execute cycle: fetching each instruction from memory, decoding it to work out what is needed, then executing it. The CPU processes instructions and data, but it does not store programs long-term, that is the job of memory.
The CPU is responsible for executing program instructions through the fetch-execute cycle. It fetches each instruction from memory, decodes it, and executes it, repeating this process continuously. It contains the ALU to carry out calculations, the Control Unit to coordinate its components, cache for fast access to frequently used data, and registers to temporarily hold data and addresses during processing.

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

The CPU is made up of a few key parts that work together:
  • 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.
The CPU is built from several components, each with its own role:
ComponentFunction
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.
CacheSmall, very fast memory inside or near the CPU that stores frequently used data and instructions, reducing the need to fetch them from slower RAM.
RegistersSmall, extremely fast storage locations inside the CPU that temporarily hold the data and addresses currently in use.
The ALU performs arithmetic and logical operations. The Control Unit coordinates the components of the CPU by sending control signals. Cache is fast memory that stores frequently used data and instructions so they can be accessed more quickly than fetching them from RAM. Registers are small, high-speed storage locations inside the CPU that hold data or addresses during processing.
CPUControl UnitDecodes instructions andcoordinates the other partsALUCarries out arithmetic andlogic operationsCacheSmall, very fast memory holding data the CPU is likely to reuseRegistersTiny storage locations inside the CPUPCAddress of the next instructionMARAddress being read or writtenMDRThe data at that addressACCResult of the latest calculationMain memory(RAM)Outside the CPUFetch

The registers (Von Neumann architecture)

Registers are tiny storage boxes inside the CPU, and each one has a specific job. The important thing to notice is that some registers hold an address (a location in memory) and some hold data (an actual value or instruction). The four you need to know are the Program Counter, the MAR, the MDR and the Accumulator.
Each register in the Von Neumann architecture has a set purpose. Notice which ones hold an address and which hold data:
RegisterWhat it holdsData 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
AccumulatorThe result of calculations carried out by the ALU.Data
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 the CPU is about to access. 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. Note the key distinction the exam tests: the PC and MAR hold addresses, while the MDR and Accumulator hold data.
Hold an ADDRESSProgram CounterMARHold DATAMDRAccumulator

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

The CPU runs the same three-step loop over and over. This is the fetch-execute cycle:
  1. Fetch – the CPU gets the next instruction from memory.
  2. Decode – the Control Unit works out what the instruction is telling it to do.
  3. Execute – the CPU carries out the instruction, for example the ALU doing a calculation.
Then it starts again with the next instruction.
The CPU processes every instruction using the fetch-execute cycle:
  1. 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.
  2. 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).
  3. 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.
The cycle then repeats, billions of times per second.
During the fetch stage, the address in the Program Counter is used to fetch the next instruction from memory, and the Program Counter is then incremented. During decode, the Control Unit interprets the instruction to determine the operation required. During execute, the instruction is carried out, for example the ALU performing an arithmetic or logical operation and storing the result in the Accumulator. For J277 you are not required to describe how data is passed between individual registers at each stage, so focus on the actions at each stage and the purpose of each register.
FetchGet the next instructionDecodeWork out the operationExecuteCarry it outCycle repeats

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.

Known 0 Still learning 0
1 / 12

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).

2024
Paper 1

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.

Paper 1

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.

Paper 1

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.