MAR stands for memory address register:
MAR is connected to the address bus.
MAR is "the only way" for the CPU to communicate with address bus.
Tri-state buffer between MAR and the address bus prevents MAR from continously dumping its output to the address bus.
MAR can hold either an instruction address or a data address.
Memory Circuitry: