← IGCSE Computer Science Paper 1

Fetch: sending the address from the PC to the MAR

At the start of fetch, the address held in the PC is copied into the MAR. It then travels along the address bus to RAM. The PC still holds the address at this point, because it is copied, not moved.

Understanding Fetch: sending the address from the PC to the MAR in IGCSE Computer Science Paper 1

What it does: This single register transfer is how the address gets from the PC to the MAR at the start of fetch. Both registers contain the same address straight after the transfer, so the PC has not been emptied. The arrow shows the direction of the copy. MAR <- PC means the value in the PC goes into the MAR. The address is copied, not moved. The PC keeps its value until it is incremented later in the fetch stage. The address bus carries memory addresses. The data bus carries the data or instruction itself. The PC stores an address, not an instruction. The instruction is held in the CIR later.

Common mistakes: The address is copied from the PC to the MAR, not moved. The PC still holds 100 at this point. The line should be: PC still holds 100. The transfer goes the wrong way. At the start of fetch the address is copied from the PC into the MAR, so it should be: MAR <- PC.

Class: _____________________  ·  Name: _____________________  ·  Date: _________

Free printable worksheet with full answer key — or add this module to a class and your students practise it interactively.

This module's key terms are also in a printable crossword (Modules 228–239) and word search (Modules 218–239).

Take this worksheet further — free with Cloodit

Each concept is reinforced from every angle — learned, then applied, then tested.

Learning
Duo
What happens at the very start of the fetch stage?
The address in the PC is copied into the MARThe instruction in the CIR is copied into the PC
Matches
MDR <- PC
↓
The address from the PC must go to the MAR, not the MDR. The MDR holds data or instructions that come from RAM.
Applying
Meanings
Term
MAR <- PC
Meaning
At the start of fetch, the address held in the PC is copied into the MAR. It then travels along the address bus to RAM. The PC still holds the address at this point, because it is copied, not moved.
Practice
MAR <- PC
Testing
Gaps
MAR ←
Check Answer
Spots
3ADDRESS BUS <- MAR
4PC is now empty

Cloodit turns curriculum-aligned coding content into journeys students work through one biome at a time.

The 'Silverback Gorilla' badge — Savannah Master, one of Cloodit's 106 collectible badges
Students earn collectable badges

Over 100 of them, across seven natural biomes.

Study Buddy
Students build a real study resource

Turns their work into revision material ready for Flash Cards and Exam study.

Diamond Dash — one of Cloodit's live, competitive Sprint games
Students lock in with Sprints

Live, competitive practice for the start of the lesson or a teacher-led lesson finisher.

A Cloodit certificate of achievement, ready to personalise and print
Custom printable certificates

Honour your top performers, or encourage a student who's trying hard — ready to print in seconds.

Quick Questions

1. What happens at the very start of the fetch stage?
A. The instruction in the CIR is copied into the PC
B. The address in the PC is copied into the MAR ✓
Fetch begins with MAR <- PC. The PC holds the address of the next instruction, and this address is copied into the MAR.
2. Which register message shows the first step of fetch?
A. PC <- MAR
B. MAR <- PC ✓
The arrow shows the direction of the copy. MAR <- PC means the value in the PC goes into the MAR.
3. After MAR <- PC, what does the PC hold?
A. It still holds the address, because it was copied ✓
B. It is empty, because the address was moved
The address is copied, not moved. The PC keeps its value until it is incremented later in the fetch stage.
4. Which bus carries the address from the MAR to RAM?
A. Address bus ✓
B. Data bus
The address bus carries memory addresses. The data bus carries the data or instruction itself.
5. What does the PC hold at the start of fetch?
A. The address of the next instruction to be fetched ✓
B. The instruction that is being executed
The PC stores an address, not an instruction. The instruction is held in the CIR later.

Match the Pairs

MAR <- PC → At the start of fetch, the address in the PC is copied into the MAR
MAR -> address bus -> RAM → The address in the MAR travels along the address bus to the location in RAM
The first step of fetch copies the address of the next instruction from the PC into the MAR → MAR <- PC
After the copy, the PC still holds the same address because the value is copied, not moved → PC = 100, MAR = 100
MDR <- PC → The address from the PC must go to the MAR, not the MDR. The MDR holds data or instructions that come from RAM.
MAR <- PC, then PC is emptied (PC = 0) → The PC is not emptied because the address is copied, not moved. The PC keeps its value at this point.

Key Term

MAR <- PC
At the start of fetch, the address held in the PC is copied into the MAR. It then travels along the address bus to RAM. The PC still holds the address at this point, because it is copied, not moved.

Fill in the Blanks

1. MAR ← PC
Hint: Type the register that holds the address being copied at the start of fetch.
2. MAR ← PC
Hint: Type the register that receives the address from the PC.
3. MAR ← PC
Hint: Type the assignment symbol used in register transfer notation (typed as <-).
4. MAR ← PC // The address travels on the address bus
Hint: Type the name of the bus that carries the address from the MAR to RAM.
5. PC = 250 MAR ← PC // PC still holds 250
Hint: Type the value the PC still holds, because the address was copied and not moved.

Spot the Error

Question 1
A PC <- 100
B MAR <- PC
C ADDRESS BUS <- MAR
D PC is now empty
Line D — The address is copied from the PC to the MAR, not moved. The PC still holds 100 at this point. The line should be: PC still holds 100.
Question 2
A PC <- MAR
B Address bus sends MAR to RAM
C PC keeps its address
Line A — The transfer goes the wrong way. At the start of fetch the address is copied from the PC into the MAR, so it should be: MAR <- PC.
Question 3
A Fetch begins: MDR <- PC
B MAR sends address on addr bus
C PC still holds the address
Line A — The PC address goes into the MAR, not the MDR. The MDR holds data or instructions coming from RAM. It should be: MAR <- PC.
Question 4
A PC holds address 250
B MAR <- PC
C MAR holds 251
Line C — The address is copied unchanged, so the MAR holds 250, the same as the PC. The PC is incremented later in the fetch stage, not during the copy.
Question 5
A PC holds 40
B MAR <- PC + 1
C MAR holds 40
D Address bus carries 40
Line B — The MAR receives an exact copy of the PC. Adding 1 is the separate increment step that comes after. It should be: MAR <- PC.

Student with a class code? Join your class →