Estou confuso com uma situação em que há 4 GB de espaço de endereço da CPU e tenho 4 GB de memória RAM.
Agora é possível mapear todos esses 4 GB de memória RAM para o espaço de endereço da CPU e, em caso afirmativo, onde os registros dos periféricos seriam mapeados no espaço de endereço da CPU.
Existe alguma limitação na quantidade de memória RAM que pode ser mapeada no espaço de endereço da CPU de 32 bits.
Responder1
Acho que você está no caminho certo e basicamente já respondeu à sua pergunta. Uma CPU de 32 bits pode endereçar 4.294.967.296 locais de memória. 4 GB de RAM equivalem a 4.294.967.296 bytes, então como a CPU pode acessar toda essa memória e ainda ter espaço de endereço para acessar o hardware (os registros não são mapeados para locais de memória)? Bem, não pode. Ele apenas ignora parte da RAM e mapeia os endereços que está ignorando para E/S. É por isso que você nunca verá 4 GB de RAM completos em uma máquina/sistema operacional de 32 bits.