Il memory address register (MAR,[1] lett. "registro indirizzi di memoria"), è un registro della CPU contenente l'indirizzo della locazione di memoria RAM in cui si andrà a leggere o scrivere un dato[2]. In altre parole, il MAR contiene l'indirizzo di memoria del dato a cui la CPU dovrà accedere.
Quando bisogna leggere dalla memoria principale, i dati vengono salvati nel Memory Data Register (MDR) e poi usati dalla CPU; quando invece bisogna scrivere, la CPU scrive i dati dal MDR all'indirizzo di memoria che è salvato nel MAR.
Generalmente il MAR è un registro di carico parallelo che contiene il prossimo indirizzo di memoria a dover essere manipolato, per esempio, il prossimo indirizzo a dover essere letto o scritto.
Se il registro indirizzi ha k bit, si possono indirizzare fino a celle di memoria, i cui indirizzi variano fra e .
Note
[modifica | modifica wikitesto]- ^ Understanding the MAR and the MDR, su cs.umd.edu, 28 marzo 2017. URL consultato il 24 gennaio 2018 (archiviato dall'url originale il 28 marzo 2017).
- ^ difference between memory address register(MAR) and program counter(PC)?, su stackoverflow.com. URL consultato il 24 gennaio 2018.
Voci correlate
[modifica | modifica wikitesto]Altri progetti
[modifica | modifica wikitesto]Wikizionario contiene il lemma di dizionario «mar»