AQA GCSE CSPaper 2 · Unit 4Lesson 7

Paper 2 · Unit 4 · CS-L4-07

The Fetch–Decode–Execute Cycle

60 minutes · AQA 8525 · Paper 2 — Computer systems

Spec & Goals 3 min

AQA Spec 3.4.5 · Systems architecture — the fetch–decode–execute cycle

By the end of this lesson you can:

  1. Name the three stages of the fetch–decode–execute cycle in order.
  2. Describe what the CPU does during the fetch, decode and execute stages.
  3. State the role of the Program Counter, MAR, MDR and accumulator.

Warm-Up 5 min

Last lesson you met the CPU and the Von Neumann architecture, where instructions and data share main memory.

Quick starter

If instructions live in main memory, what is the very first thing the CPU must do to run one?

Reveal the answer

It must fetch the instruction — copy it from main memory into the CPU before it can be carried out.

Key Concept — the cycle the CPU never stops 14 min

The CPU runs programs by repeating one cycle again and again. It is called the fetch–decode–execute cycle.

The three stages

  • Fetch: the next instruction is copied from main memory into the CPU.
  • Decode: the control unit works out what the instruction means.
  • Execute: the CPU carries out the instruction — for example a calculation in the ALU, or storing data.

Once execute finishes, the CPU starts again with the next fetch. The cycle runs continuously while the computer is on.

The key registers

A register is a tiny, very fast store inside the CPU. Four registers do the heavy lifting in the cycle.

  • The Program Counter (PC) holds the address of the next instruction.
  • The MAR holds the address being read from or written to.
  • The MDR holds the data fetched, or the data to be stored.
  • The accumulator holds the result of a calculation.

Worked Example — the cycle and its registers 12 min

The diagram below shows the cycle as a loop. After execute, control returns to fetch for the next instruction.

1. FETCHcopy instruction2. DECODEwork out meaning3. EXECUTEcarry it outrepeat for the next instruction
The CPU repeats fetch → decode → execute continuously while the computer is running.

Each stage relies on the registers. This table shows what each one holds.

RegisterStands forRole in the cycle
PCProgram CounterHolds the address of the next instruction; increases each cycle.
MARMemory Address RegisterHolds the address in memory being read from or written to.
MDRMemory Data RegisterHolds the data fetched from memory, or the data to be stored.
AccumulatorHolds the result of a calculation done by the ALU.

Try It Yourself 12 min

🟢 Easy

Goal: Write down the three stages of the fetch–decode–execute cycle in the correct order.

Hint: the name of the cycle gives you the order.

🟡 Medium

Goal: Explain why the Program Counter must increase after each instruction is fetched.

Hint: think about which instruction the CPU should fetch next.

🔴 Stretch

Goal: Describe the journey of one instruction through the cycle, naming the PC, MAR and MDR at the right moments.

Hint: the PC supplies an address, the MAR receives it, and the MDR carries the data back.

📝 Exam Practice 10 min

Answer the way the examiner expects — the command word and the marks tell you how much to write.

Name[3 marks]

Name the three stages of the fetch–decode–execute cycle.

Mark scheme
  • Fetch (1).
  • Decode (1).
  • Execute (1).
Describe[2 marks]

Describe what happens during the fetch stage of the cycle.

Mark scheme
  • The next instruction is copied / read from main memory into the CPU (1).
  • The address used comes from the Program Counter, which then increases (1).
State[1 mark]

State the role of the Program Counter.

Mark scheme
  • Holds the address of the next instruction (to be fetched) (1).

Recap & Key Terms 3 min

The CPU runs programs by repeating the fetch–decode–execute cycle. It fetches the next instruction, the control unit decodes it, then the CPU executes it. The PC tracks the next address, the MAR and MDR move data to and from memory, and the accumulator holds results.

Fetch–decode–execute cycle
The repeating process the CPU uses to run each instruction in a program.
Program Counter
The register that holds the address of the next instruction; increases each cycle.
MAR
Memory Address Register — holds the address being read from or written to.
MDR
Memory Data Register — holds the data fetched from, or to be written to, memory.
Accumulator
The register that holds the result of a calculation done by the ALU.

Homework 1 min

Task (≤ 15 min): Draw the fetch–decode–execute cycle as a labelled loop, then write one sentence for each register (PC, MAR, MDR, accumulator) stating its role.

Model answer

Loop: fetch → decode → execute → back to fetch.

PC: holds the address of the next instruction. MAR: holds the address being accessed. MDR: holds the data moving to or from memory. Accumulator: holds a calculation result.

Award marks for: the loop in correct order (1), each register linked to its role (1 each).