Cambridge O Level Computer Science · Syllabus 2210 · Hardware
Memory Address Register
What is Memory Address Register?
The CPU register that stores the address of the memory location currently being accessed, and supplies that address to memory along the address bus; it never holds the data found at that address.
This definition is part of the Hardware chapter in Cambridge O Level Computer Science.
Common mistakes with Memory Address Register
- 3. “The MAR stores the instruction.” Why wrong The clue is in the name: memory address register. It holds a where, never a what. Correct model The MAR holds the address of the memory location currently being accessed, and supplies it to memory on the address bus. The instruction that comes back arrives in the MDR. Exam-safe “The MAR stores the address of the memory location currently being accessed.” Check: during the fetch of the instruction at address 100, what is in the MAR?100 — the address, not the instruction stored there.
Questions students ask about Memory Address Register
What is the difference between the PC, MAR, MDR and CIR registers?
The program counter (PC) holds the address of the next instruction to be fetched. The memory address register (MAR) holds the address of the memory location currently being accessed, supplying it to memory on the address bus. The memory data register (MDR) temporarily stores the data or instruction transferred to or from memory over the data bus. The current instruction register (CIR) holds the instruction currently being decoded and executed. PC and MAR hold a "where"; MDR and CIR hold a "what".

