De flesta människor uppgraderar från 32-bitars dator till 64-bitars dator för att blåsa igenom 4 GB RAM-gränsen, men hur långt kan du blåsa igenom den gränsen när du väl har gått in i 64-bitars datorer?
Dagens Fråga & Svar-session kommer till oss med tillstånd av SuperUser - en underavdelning av Stack Exchange, en community-driven gruppering av Q & A-webbplatser. Bild av Petr Kratochvil .
Frågan
SuperUser-läsaren KingNestor är nyfiken på hur mycket RAM en 64-bitars dator kan hålla:
Jag läser igenom min datorarkitekturbok och ser att i en x86, 32-bitars processor är programräknaren 32 bitar.
Så antalet byte den kan adressera är 2 ^ 32 byte eller 4 GB. Så det är vettigt för mig att de flesta 32-bitars maskiner begränsar mängden RAM till 4 GB (ignorerar PAE).
Har jag rätt när jag antar att en 64-bitars maskin teoretiskt skulle kunna adressera 2 ^ 64 byte, eller 16 exabyte of ram?!
Exabyte säger du? Nu, nu, kan vi inte vara giriga. Vi börjar gärna med en terabyte eller två.
Svaret
Svaren på KingNestors förfrågan är en intressant blandning av praktiska och teoretiska överväganden. Matt Ball hoppar direkt in med det teoretiska svaret:
Teoretiskt sett: 16,8 miljoner terabyte. I praktiken: din datorväska är lite för liten för att passa allt RAM-minnet.
http://en.wikipedia.org/wiki/64-bit#Limitations_of_practical_processors
Conrad Dean hoppar in med en anteckning om hur helt opraktiskt det skulle vara att maximera den teoretiska RAM-gränsen med dagens teknik:
För att komplettera Matt Balls svar är den nuvarande RAM-minneskorten som jag kan hitta på en viss online-återförsäljare 32 GB. Det tar 32 av dessa att nå 1 terabyte. Vid ungefär en halv tum per pinne tar det oss till ett hängivet 16 tum utrymme på ditt moderkort för en terabyte kommersiell ram. För att nå 16,8 miljoner terabyte krävs ett moderkort 4,242.42 miles. Avståndet från LA till NYC är cirka 2141 miles, så moderkortet skulle sträcka sig över hela landet och tillbaka för att rymma så mycket RAM.
Uppenbarligen är detta opraktiskt.
Vad sägs om att vi inte lade RAM-minnet i en rad som på de flesta moderkort utan istället placerade dem sida vid sida. Jag vill säga att den genomsnittliga ramen för ram är ungefär sex tum lång, så om vi tillåter en halv tum för bredd kan du ha en kvadratisk enhet på 12 käppar på en 6 tum kvadrat. Låt oss kalla det här torget en RAM-sida. En RAM-sida rymmer sedan 384 GB RAM. Att nå de erforderliga 16,8 miljoner terabyte i 384 GB brickor skulle ta 44,8 miljoner brickor. Låt oss vara röriga och använda kvadratrot av det för att dra slutsatsen att detta kommer att passa i en kvadrat på 6693 x 6694 plattor, eller 13 386 x 13 388 fot, vilket är tillräckligt nära 2,5 fot i kvadrat, tillräckligt för att täcka centrala Seattle i skugga, som om de hade inte redan tillräckligt att klaga på.
Slutligen konstaterar David Schwartz att även den teoretiska gränsen hamnar i den nuvarande CPU-arkitekturen:
Observera att ingen befintlig x86 64-bitars processor faktiskt kan göra detta. Deras cachar har inte tillräckligt med taggbitar, deras adressbussar har inte tillräckligt med bredd och så vidare. 46-bitar (8TB) är maximalt för många moderna x86-processorer.
Har du något att lägga till förklaringen? Ljud av i kommentarerna. Vill du läsa fler svar från andra tekniskt kunniga Stack Exchange-användare? Kolla in hela diskussionstråden här .