Qual é a quantidade máxima de memória RAM que uma máquina de 64 bits pode teoricamente endereçar?

21

Estou lendo meu livro de arquitetura de computador e vejo que em uma CPU x86 de 32 bits, o contador de programa é de 32 bits.

Assim, o número de bytes que ele pode endereçar é 2 ^ 32 bytes ou 4 GB. Então, faz sentido para mim que a maioria das máquinas de 32 bits limite a quantidade de memória RAM a 4GB (ignorando a PAE).

Estou certo em assumir que uma máquina de 64 bits poderia, teoricamente, endereçar 2 ^ 64 bytes, ou 16 exabytes de ram?!

    
por KingNestor 03.11.2009 / 20:24

9 respostas

28

Teoricamente: 16,8 milhões de terabytes. Na prática: o gabinete do seu computador é um pouco pequeno demais para caber toda a RAM.

link

    
por 03.11.2009 / 20:27
15

Para suplementar a resposta de Matt Ball, a maior quantidade de memória RAM que posso encontrar em um determinado varejista on-line é de 32 GB. Levaria 32 deles para chegar a 1 terabyte. Com cerca de meia polegada por bastão, isso nos leva a dedicar 16 polegadas de espaço na 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 entre Los Angeles e Nova York é de aproximadamente 2141 milhas, então a placa-mãe se estenderia pelo país e voltaria para acomodar essa quantidade de RAM.

É evidente que isso é impraticável.

Como sobre nós não colocamos nossa memória RAM em uma linha como na maioria das placas-mãe, mas as colocamos lado-a-lado. Eu quero dizer que o stick médio de ram é cerca de seis centímetros de comprimento, por isso, se permitirmos uma meia polegada de largura, você pode ter uma unidade quadrada de 12 varas de carneiro em um quadrado de 6 polegadas. Vamos chamar este quadrado de um mosaico de RAM. Em seguida, um bloco de memória RAM armazena 384 GB de RAM. Para alcançar os necessários 16,8 milhões de terabytes em 384 GB, os ladrilhos precisariam de 44,8 milhões de peças. Vamos ser confuso, e usar a raiz quadrada para concluir que isso vai caber em um quadrado de 6693 por 6694 telhas, ou 13.386 por 13.388 pés, o que é perto o suficiente para 2,5 quilômetros quadrados, o suficiente para cobrir o centro de Seattle na sombra, como se eles já não têm o suficiente para reclamar.

    
por 31.01.2013 / 03:01
4

Efetivamente, sim - processos poderiam, em teoria, endereçar 2 ^ 64 bytes de memória. Mas, como você apontou, existem maneiras de contornar esse limite.

    
por 03.11.2009 / 20:27
3

Não existe uma relação fixa específica entre o tamanho de bit de um processador e a quantidade de memória endereçável. A maioria das máquinas de 8 bits do final dos anos 70 podia acessar facilmente 65.536 bytes diretamente, o 1688 de 80 bits e o 8086 podiam acessar 1.048.576 bytes diretamente. Além disso, é possível adicionar hardware para permitir que as máquinas acessem qualquer quantidade de RAM indiretamente; muitas máquinas com processadores de 8 bits tinham 128K ou mais, e as unidades de expansão de memória para PCs baseados em 8088 podiam acessar mais de 16 megas. Embora a Microsoft tenha habilitado esse recurso apenas nas versões "servidor" do Windows, era possível que o código de 32 bits acessasse a memória além da marca de 4GiB usando abordagens semelhantes.

    
por 25.08.2015 / 19:27
2

Você estaria correto. Você pode endereçar até 16 exabytes de RAM. Agora .. se o sistema operacional pode lidar com isso seria outra questão ....

    
por 03.11.2009 / 20:27
2

Também seria bom notar que o sistema operacional tem sua própria limitação sobre a memória em uma arquitetura de 64 bits.

Por exemplo, veja quais wikipedia sobre o Windows Vista 64:

All 64-bit versions of Microsoft operating systems currently impose a 16 TB limit on address space. Processes created on the 64-bit editions of Windows Vista can have 8 TB in virtual memory for user processes and 8 TB for kernel processes to create a virtual memory of 16 TB.[29] In terms of physical memory Windows Vista 64-Bit Basic supports up to 8 GB of RAM, Windows Vista 64-Bit Home Premium supports up to 16 GB of RAM, and Windows Vista 64-Bit Business/Enterprise/Ultimate supports up to 128 GB of RAM.[8]

    
por 03.11.2009 / 20:35
1

A maior vantagem de 64 bits não é a RAM que pode endereçar, mas todo o resto. Você pode definir um endereço para cada byte em um disco, por exemplo, e aumentar a capacidade do disco não invalida isso por décadas.

    
por 03.11.2009 / 20:31
0

A maioria dos processadores atuais tem algum tipo de limite artificial em seu tamanho de endereço. Por exemplo, a arquitetura AMD64 tem um limite de 52 bits na memória física e atualmente suporta apenas um espaço de endereço virtual de 48 bits. (Via Wikipedia). No entanto, sim, fisicamente ~ 16,4 milhões de terabytes é possível.

    
por 03.11.2009 / 20:28
-1

para uma resposta física realista 1536gb com 48 cartões ram executando varas individuais de 32gb e 4x lga2011 xeons

isto é para o pc esayist que alguém pode comprar sem violar os hardcore hardcore acho que há 64gb single stics traz para .... 3072gb 128gb seja 6144gb 256gb seja 12288gb

apenas para jogar lá fora, há maneiras de contornar os limites com ram Se o ur só pode ver 4GB de memória RAM virar o que sobrou em uma unidade de RAM e usar a unidade de memória RAM como arquivo de paginação XD XD XD XD apenas uma questão de fazer um sistema de pré-inicialização alguma coisa semelhante foi feita nos primórdios do dos / windows 3.11 etc

e pode haver outros truques para contornar as limitações da cpu

engrenagem podemos ver wats isnt lá fora há muito mais material potente que eu tinha um pc de 98 runing 8 proccessors e somethink como ram de 32GB, mas esta é servidores hi-fi caros

estou olhando em servidores como desktops porque estou cansado dos computadores para o público XD

    
por 11.10.2015 / 09:52