Os limites teóricos de memória em máquinas de 16, 32 e 64 bits são os seguintes ...
A falha fundamental aqui é a noção de que a "largura de bit" do processador, que geralmente é do tamanho dos registros de uso geral da máquina, é necessariamente a mesma que a largura dos endereços de RAM.
No x86 com paginação ativada, mas sem o PAE, os endereços que o programa e o código do SO usam são chamados de "endereços lineares" pela Intel - geralmente os chamamos de "endereços virtuais". Eles têm 32 bits de largura. Isso permite um espaço de endereço virtual de 4 GiB.
Mas é mais ou menos coincidência, apenas um artefato do formato das entradas da tabela de páginas, que o tamanho de um endereço físico (RAM) também é de 32 bits.
Com o PAE, o último é de 36 bits (a princípio ... mais amplo em implementações posteriores). Portanto, apenas porque é, por exemplo, uma "máquina de 32 bits", não significa que os endereços de memória física estejam limitados a 32 bits.
O setor possui um longo histórico de máquinas cuja "largura de bit" não corresponde ao tamanho máximo de endereço físico. Por exemplo, a arquitetura VAX define uma máquina de 32 bits e os endereços virtuais (que são os endereços usados pelo código quando a tradução de endereços é ativada) têm 32 bits de largura ... mas os endereços físicos do VAX têm apenas 30 bits de largura - e metade do espaço de endereço físico é dedicado aos registros de dispositivos de E / S; portanto, o máximo de RAM era de apenas 512 MiB.
Mesmo sem o hardware de conversão de endereço, não é necessariamente o caso da "largura de bit" da máquina definir o endereço máximo de RAM. Exemplo: As séries "superior 3000" do CDC eram máquinas de 36 bits. Você acha que eles poderiam endereçar 64 GiB de RAM? Dificilmente! Essas máquinas foram lançadas em meados dos anos 60! Caramba, não podíamos nem ter 64 GB de espaço em disco naqueles dias. (A série CDC 6000 era uma máquina de 60 bits. Preciso continuar?)