Um registro mapeado de memória (MMR) é um registro de hardware em um sistema (como um microcontrolador ou sistema incorporado) que é acessado pelo espaço de endereço de memória do sistema. Em vez de ter uma instrução dedicada de entrada/saída (E/O) definida para interagir com esses registros, eles são tratados como se estivessem localizações na RAM do sistema ou outra memória.
Aqui está um colapso do que isso significa:
*
Registro de hardware: Um registro é um pequeno local de armazenamento dentro de um componente de hardware. Esses registros geralmente controlam o comportamento dos periféricos (como temporizadores, UARTs, conversores ADC, etc.) ou mantêm informações de status sobre esses periféricos.
*
Espaço de endereço de memória: Este é o intervalo de endereços que a CPU do sistema pode acessar os dados de leitura e gravação. Isso inclui RAM, ROM e outros dispositivos de memória.
*
mapeado de memória: O aspecto crucial é que os endereços desses registros são mapeados nesse mesmo espaço de endereço de memória. A CPU pode, portanto, ler ou gravar nesses registros usando instruções de acesso à memória padrão (como `load` ou` store`). Isso contrasta com os sistemas mapeados de E/S, onde as instruções de E/S dedicadas são usadas.
como funciona: Quando a CPU deseja interagir com um periférico, ele simplesmente usa um endereço de memória correspondente ao registro mapeado de memória desse periférico. Escrever para esse endereço modifica o valor do registro e a leitura recupera o valor atual do registro. O hardware gerencia a interação real com o periférico com base no acesso à memória.
Vantagens dos registros mapeados da memória: *
Simplicidade: O uso de instruções de memória padrão simplifica a programação. Não são necessárias instruções especiais de E/S.
*
Flexibilidade: Permite uma integração mais fácil de periféricos e gerenciamento de memória mais flexível.
*
Uniformidade: Fornece um espaço de endereço unificado para a memória e os periféricos, tornando mais simples o gerenciamento de recursos.
Desvantagens dos registros mapeados da memória: *
Endereço Consumo de espaço: Os registros consomem uma parte do espaço de endereço de memória limitado do sistema.
*
potencial para conflitos: É necessário um planejamento cuidadoso para evitar resolver conflitos entre memória e periféricos.
Em essência, os registros mapeados de memória fornecem uma maneira limpa e eficiente de interagir com os periféricos de hardware usando um modelo de acesso à memória consistente, simplificando o design e a programação de sistemas incorporados.