The theoretical memory limits in 16, 32 and 64 bit machines are as follows ...
A falha fundamental aqui é a noção de que a "largura de bit" do processador, que geralmente é o tamanho dos registradores de propósito geral da máquina, é necessariamente a mesma que a largura dos endereços de RAM.
Em x86 com paginação habilitada, mas sem PAE, os endereços que o programa e o código do sistema operacional usam são chamados de "endereços lineares" pela Intel - normalmente os chamamos de "endereços virtuais". Eles são 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 (inicialmente ... mais amplo em implementações posteriores). Portanto, só 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 tem um histórico longo 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 conversão de endereço está ativada) são de fato de 32 bits ... mas os endereços físicos do VAX têm apenas 30 bits - e metade do espaço de endereço físico é dedicado aos registradores de dispositivos de E / S, de modo que a RAM máxima era de apenas 512 MiB.
Mesmo sem o hardware de tradução de endereço, não é necessariamente o caso que a "largura de bit" da máquina define 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? Não dificilmente! Essas máquinas surgiram em meados dos anos 60! Caramba, nós não poderíamos ter 64 GB de espaço em disco naqueles dias. (A série CDC 6000 era de 60 bits. Preciso continuar?)