A maioria das pessoas atualiza da computação de 32 bits para a computação de 64 bits para ultrapassar o limite de 4 GB de RAM, mas como longe você pode ultrapassar esse limite depois de entrar no reino dos computadores de 64 bits?
A sessão de perguntas e respostas de hoje chega até nós como cortesia do SuperUser - uma subdivisão do Stack Exchange, um grupo de sites de perguntas e respostas voltado para a comunidade Imagem por Petr Kratochvil .
A questão
O leitor de superusuário KingNestor está curioso sobre a quantidade de RAM que um computador de 64 bits pode conter:
Estou lendo meu livro de arquitetura de computador e vejo que em uma CPU x86 de 32 bits, o contador do programa é de 32 bits.
Portanto, o número de bytes que ele pode endereçar é 2 ^ 32 bytes ou 4 GB. Portanto, faz sentido para mim que a maioria das máquinas de 32 bits limite a quantidade de memória RAM a 4 GB (ignorando o PAE).
Estou certo ao presumir que uma máquina de 64 bits poderia teoricamente endereçar 2 ^ 64 bytes, ou 16 exabytes de carneiro ?!
Exabytes, você diz? Agora, agora, não vamos ser gananciosos. Ficaríamos felizes em começar com um terabyte ou dois.
A resposta
As respostas à pergunta do KingNestor são uma mistura interessante de considerações práticas e teóricas. Matt Ball salta direto com a resposta teórica:
Teoricamente: 16,8 milhões de terabytes. Na prática: o gabinete do seu computador é um pouco pequeno demais para caber toda aquela RAM.
http://en.wikipedia.org/wiki/64-bit#Limitations_of_practical_processors
Conrad Dean interrompe com uma nota sobre como seria totalmente impraticável maximizar o limite teórico de RAM usando a tecnologia de hoje:
Para complementar a resposta de Matt Ball, a maior memória RAM que posso encontrar em um varejista online específico é de 32 GB. Seriam necessários 32 para atingir 1 terabyte. Com cerca de meia polegada por stick, isso nos leva a um espaço dedicado de 16 polegadas em sua placa-mãe para um terabyte de memória RAM comercial. Para chegar a 16,8 milhões de terabytes, seria necessária uma placa-mãe de 4.242,42 milhas. A distância de LA a NYC é de cerca de 2.141 milhas, então a placa-mãe se estenderia por todo o país e voltaria para acomodar tanta RAM.
Obviamente, isso não é prático.
Que tal não colocarmos nossa RAM toda em uma linha como na maioria das placas-mãe, mas sim colocá-los lado a lado. Quero dizer que a média de um pedaço de carneiro tem cerca de 15 centímetros de comprimento, então se permitirmos meia polegada de largura, você pode ter uma unidade quadrada de 12 pedaços de carneiro em um quadrado de 6 polegadas. Vamos chamar esse quadrado de RAM-tile. Um bloco de RAM contém 384 GB de RAM. Para atingir os 16,8 milhões de terabytes necessários em blocos de 384 GB, seriam necessários 44,8 milhões de blocos. Vamos bagunçar e usar a raiz quadrada disso para concluir que isso caberá em um quadrado de 6.693 por 6.694 ladrilhos, ou 13.386 por 13.388 pés, o que é próximo o suficiente para 2,5 pés quadrados, o suficiente para cobrir o centro de Seattle na sombra, como se eles ainda não tinham o que reclamar.
Finalmente, David Schwartz observa que até mesmo o limite teórico fica atolado pela arquitetura atual da CPU:
Observe que nenhum processador x86 de 64 bits existente pode realmente fazer isso. Seus caches não têm bits de tag suficientes, seus barramentos de endereço não têm largura suficiente e assim por diante. 46 bits (8 TB) é o máximo para muitas CPUs x86 modernas.
Tem algo a acrescentar à explicação? Soe fora nos comentários. Quer ler mais respostas de outros usuários do Stack Exchange com experiência em tecnologia? Confira o tópico de discussão completo aqui .