MAR, MDR & Registers, Knowledge Organiser

Knowledge Organiser: MAR and MDR Registers

Key Terms

  • MAR: Memory Address Register — holds the address of the memory location to be accessed
  • MDR: Memory Data Register — holds the data that has been read from or is to be written to memory
  • Address Bus: Carries the address from MAR to main memory (one-way)
  • Data Bus: Carries data between MDR and main memory (two-way)
  • Register: Tiny, ultra-fast storage location inside the CPU

Must-Know Facts

  • MAR holds the ADDRESS — connected to the Address Bus
  • MDR holds the DATA — connected to the Data Bus
  • During a memory READ: MAR sends address → memory returns data → MDR receives it
  • During a memory WRITE: MAR holds address, MDR holds data to be written
  • MAR is filled FIRST (says where), then MDR receives the result (what was there)
  • MDR is also called the Memory Buffer Register (MBR) in some specifications

Key Concepts

  • MAR = WHERE (address), MDR = WHAT (data) — never mix these up
  • In the FDE cycle: PC → MAR → Address Bus → memory → Data Bus → MDR
  • MDR acts as a buffer — temporarily holds data before it is used or stored
  • Both registers work in every single memory access operation

Common Mistakes

  • Swapping MAR and MDR: MAR holds the memory ADDRESS (where to look), MDR holds the actual DATA — remember "Address before Data"
  • Saying registers "store" data permanently: Registers are temporary holding areas inside the CPU — they are overwritten with each new operation
  • Confusing MDR with RAM: The MDR is inside the CPU; RAM is separate external memory — the MDR is just a transit point for data moving between them
  • Forgetting MDR is bidirectional: The MDR can both receive data from memory AND send data to memory — it works in both directions

PrepWise is a trading name of A3M Quality Solutions Limited, registered in England and Wales, company number 14959172. Registered office: 202 Stroud Road, Gloucester, GL1 5LA. ICO registration ZC267069.