Memory data register (MDR)
Memory Data Register: a CPU register that temporarily holds the data or instruction just fetched from RAM, or data about to be written to RAM. It holds data, not addresses.
Understanding Memory data register (MDR) in IGCSE Computer Science Paper 1
What it does: Data and instructions pass through the MDR on the way between RAM and the rest of the CPU, so it acts as a buffer. The fetched instruction is held in the MDR and then copied into the Current Instruction Register ready for decoding. The MDR holds data or instructions. Addresses are held in the MAR (and the PC holds the address of the next instruction). The MDR holds data going either way: fetched from RAM or about to be written to RAM. MDR stands for Memory Data Register. It is named after the data it holds. The instruction is copied from the MDR to the CIR, where it is decoded.
Common mistakes: The PC holds an address, and the MDR holds data, not addresses. The address from the PC must go into the MAR: MAR ← PC. The fetched instruction waits in the MDR before it moves to the CIR. The MAR only holds an address. It should be CIR ← MDR.
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 218–227) 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
MDRFill in the Blanks
Spot the Error
Student with a class code? Join your class →