Primeiro, é preciso entender o conceito de "espaço de endereço físico".
Qualquer hardware em um computador que "pareça com memória" precisa ser mapeado como parte do espaço de endereço físico. Isso inclui o RAM, mas também inclui dispositivos IO. Em particular, algumas placas gráficas exigem grandes quantidades de espaço de endereço físico.
Quando o BIOS inicializa o hardware, ele determina os endereços físicos de cada peça de hardware.
Como o RAM não é o único usuário do espaço de endereço a usar todo o RAM em um sistema com 4 GB, é necessário o uso de endereços físicos com mais de 32 bits.
Para que isso funcione, é necessário suporte da CPU, chipset e SO.
As CPUs - têm suporte há anos (desde o pentium pro).
- Os chipsets de desktop e laptop adicionaram suporte principalmente em meados dos anos 2000.
- No Linux, você precisa de um kernel de 64 bits ou um kernel de 32 bits construído com o PAE. No Windows, você precisa de uma versão de 64 bits do sistema operacional, uma edição de servidor ou um kernel hackeado.
Exatamente a quantidade de memória utilizável com um limite de espaço de endereço de 4 GB depende de qual hardware você possui na máquina e de como o BIOS decide mapear as coisas. Alguns BIOS podem ter uma "Maximizar memória abaixo de 4 GB" ou opção similar que pode aumentar a memória utilizável com um sistema operacional limitado a 4 GB de espaço de endereço.