Memory address register
|This article does not cite any sources. (December 2009)|
In a computer, the Memory Address Register (MAR) is a CPU register that either stores the memory address from which data will be fetched to the CPU or the address to which data will be sent and stored.
In other words, MAR holds the memory location of data that needs to be accessed. When reading from memory, data addressed by MAR is fed into the MDR (memory data register) and then used by the CPU. When writing to memory, the CPU writes data from MDR to the memory location whose address is stored in MAR.
Far more complex memory interfaces exist, but this is the least that can work perfectly.[dubious ]
The Memory Address Register holds the address of the current instruction being executed. It points to the relevant location in memory where the required instruction is (at this stage the address is simply copied from the Program Counter). In general MAR is a parallel load register that contains the next memory address to be manipulated. For example, the next address to be read or written.
|This computer hardware article is a stub. You can help Wikipedia by expanding it.|