The Fetch-Execute Cycle: Tracing the CPU Registers

What is the exact sequence of the Fetch stage?
Table of Contents
The Fetch-Execute cycle is happening billions of times per second inside your computer right now. In CAIE Paper 1, this is the ultimate 6-mark question. You must know exactly which register passes data to which register, in the exact correct order. This guide from our Ultimate O-Level Computer Science Guide provides the bulletproof sequence you need to memorize.
1. Meet the 5 Special Registers
Before tracing the cycle, you must know what the boxes are. A register is a tiny, super-fast memory location on the CPU.
- PC (Program Counter): Holds the address of the NEXT instruction to be executed.
- MAR (Memory Address Register): Holds the address of the current instruction/data being fetched or saved.
- MDR (Memory Data Register): Holds the actual data (the zeros and ones) that was just fetched from memory, or is waiting to be written to memory.
- CIR (Current Instruction Register): Holds the instruction that is actively being decoded and executed right now.
- ACC (Accumulator): The primary working register inside the ALU. It holds the results of calculations.
2. The Almighty Fetch Sequence
You must memorize these exact steps in chronological order. If you swap step 2 and 3, you lose all remaining marks.
Step 1: PC → MAR
The address in the Program Counter is copied into the Memory Address Register. The Address bus carries this address to RAM.
Step 2: RAM → MDR
The Data bus carries the instruction found at that address back to the CPU, depositing it directly into the Memory Data Register.
Step 3: MDR → CIR
The instruction is copied from the MDR into the Current Instruction Register so it can be worked on.
Step 4: PC = PC + 1
The Program Counter automatically increments by 1 so it points to the NEXT instruction in the program.
3. The Decode and Execute Stages
Once the fetch sequence deposits the instruction into the CIR, the cycle continues.
Decode
The instruction inside the CIR is split into two parts: the Opcode (what to do, e.g., ADD) and the Operand (what data to do it to). The Control Unit examines the Opcode to figure out which hardware components need to wake up to perform the task.
Execute
The instruction is finally carried out. Depending on the instruction, this might involve: - Sending data to the ALU for calculation (the result gets stored in the Accumulator). - Fetching additional data from RAM (using the MAR and MDR again). - Saving a result back to RAM. - Jumping to a different part of the program (by overwriting the PC with a new address).
Frequently Asked Questions
What is the role of the Program Counter (PC)?▼
What is the difference between the MAR and MDR?▼
What happens during the Decode stage?▼
What is the Accumulator?▼
Stop Guessing, Start Scoring
Get instant access to 500+ CAIE-aligned practice questions, worked solutions, and AI-powered mock exams across all O-Level subjects.