Fetch: reading the instruction from RAM into the MDR
Fetch step: RAM finds the instruction at the address in the MAR (address bus), a read signal comes via the control bus, and the instruction travels on the data bus into the MDR.
Understanding Fetch: reading the instruction from RAM into the MDR in IGCSE Computer Science Paper 1
What it does: The address travels one way, from the MAR to RAM, on the address bus. It tells RAM which location to look at. After RAM finds the instruction, it sends it along the data bus, and the MDR stores it temporarily before it is copied to the CIR. The MAR only holds the address. The instruction that is read from RAM is copied into the MDR (MDR <- RAM[MAR]). The address bus is one-way. The CPU sends the address to RAM, and RAM never sends addresses back on it. RAM[MAR] means the RAM location whose address is in the MAR, and the arrow shows its contents being stored in the MDR during the fetch stage.
Common mistakes: The instruction travels along the data bus from RAM into the MDR, not the MAR. The MAR only holds the address. It should be Data bus: RAM -> MDR. The address bus carries the address from the MAR to RAM, not the other way round. It should be Address bus: MAR -> RAM.
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.
Cloodit turns curriculum-aligned coding content into journeys students work through one biome at a time.
Over 100 of them, across seven natural biomes.
Turns their work into revision material ready for Flash Cards and Exam study.
Live, competitive practice for the start of the lesson or a teacher-led lesson finisher.
Honour your top performers, or encourage a student who's trying hard — ready to print in seconds.
Quick Questions
Match the Pairs
Key Term
MDR <- RAM[MAR]Fill in the Blanks
Spot the Error
Student with a class code? Join your class →