📁 Topic 4 · 4.2 The CPU
4.2a The CPU — fetch-execute cycle and registers
Edexcel 4CP0 · iGCSE Computer Science · ~13 min read
Notes
──
Video
──
Slides

CPU Registers

Registers are tiny, extremely fast storage locations inside the CPU. They hold the data being currently processed. Each register has a specific purpose:

RegisterFull namePurpose
PCProgram CounterHolds the memory address of the next instruction to be fetched; increments after each fetch
MARMemory Address RegisterHolds the address of the memory location currently being accessed (read or written)
MDRMemory Data RegisterHolds the data that has just been fetched from memory, or data about to be written to memory
CIRCurrent Instruction RegisterHolds the instruction currently being decoded and executed
AccumulatorAccumulatorHolds the result of the most recent ALU calculation

The Fetch-Execute Cycle

The CPU continuously repeats the fetch-execute cycle (also called the fetch-decode-execute cycle) to process a program. The steps are:

1. Fetch

  1. The address stored in the PC is copied to the MAR
  2. The instruction at that address is fetched from main memory into the MDR
  3. The PC is incremented (increased by 1) to point to the next instruction
  4. The instruction is copied from MDR to the CIR

2. Decode

  1. The Control Unit decodes the instruction in the CIR
  2. The CU identifies the operation code (opcode) and any operands

3. Execute

  1. The decoded instruction is carried out — this may involve the ALU (for arithmetic/logic), memory access (load/store), or jumping to a different address (branch)
  2. Results may be stored in the Accumulator or written back to memory

The cycle then repeats, fetching the next instruction (pointed to by the updated PC).

📝 Exam Tip: Know all five registers and their specific roles. A common exam question asks "what is the role of the MAR?" — answer: it holds the memory address of the data or instruction being read/written. Don't confuse MAR (address) with MDR (data).
⚠️ Common Mistakes
  • Confusing MAR and MDR — MAR holds the ADDRESS, MDR holds the DATA at that address
  • Saying the PC holds the current instruction — it holds the address of the NEXT instruction; the CIR holds the current instruction
  • Forgetting that the PC increments during the fetch stage — this is what makes the CPU move to the next instruction automatically
← 4.1 Computer Hardware Topic 4 · 4.2 The CPU Next: 4.2b CPU Performance →
🔒
Pro Content
Subscribe to access all 47 Edexcel iGCSE lessons.
£7.99/month
or £59/year