Registro de endereço de memória (MAR):
O registrador de endereço de memória (MAR) é um registrador que armazena o endereço de memória dos dados que estão sendo acessados ou manipulados. É usado em conjunto com o registrador de dados de memória (MDR) para realizar operações de leitura e gravação entre a CPU e a memória. Quando a CPU deseja ler ou gravar dados de um local específico da memória, ela coloca o endereço desse local no MAR. O MAR então envia o endereço para a unidade de memória, que recupera ou armazena os dados nesse endereço.
O MAR é um componente essencial da unidade de gerenciamento de memória (MMU), responsável por traduzir endereços de memória virtual em endereços de memória física. A MMU utiliza o MAR para armazenar o endereço físico dos dados que estão sendo acessados, enquanto o MDR armazena os próprios dados. Isso permite que a CPU acesse a memória de forma eficiente, sem precisar realizar cálculos complexos de tradução de endereços.
O MAR trabalha em estreita colaboração com outros registradores da CPU, como o contador de programa (PC) e o ponteiro de pilha (SP), para coordenar a execução de instruções e gerenciar o fluxo de dados entre a CPU e a memória.