30Jul
De flesta människor uppgraderar från 32-bitars databehandling till 64-bitars databehandling 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 har kommit in i riken på 64-bitars datorer?
Dagens fråga &Svarssession kommer till oss med tillstånd av SuperUser-en indelning av Stack Exchange, en community-driven gruppering av Q & A-webbplatser. Bild av Petr Kratochvil.
Frågan
SuperUser-läsare KingNestor är nyfiken på hur mycket RAM som en 64-bitars dator kan hålla:
Jag läser igenom min datorarkitekturbok och jag ser att i en x86 32bit CPU är programräknaren 32 bitars.
Så, antalet bitgrupper som 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 4GB( ignorerar PAE).
Tror jag att en 64bit-maskin kunde teoretiskt adressera 2 ^ 64 byte eller 16 exabytes av ram? !
Exabytes du säger? Nu, låt oss inte vara giriga. Vi skulle gärna börja 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 precis in i det teoretiska svaret:
Teoretiskt: 16,8 miljoner terabyte. I praktiken: din datorväska är lite för liten för att passa all den RAM.
http: //en.wikipedia.org/wiki/ 64-bitars # Begränsningar_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 kan den nuvarande största pinnen av RAM jaghitta på en viss online-återförsäljare är 32GB.Det skulle ta 32 av dessa att nå 1 terabyte. Vid ungefär en halv tum per stav får detta oss till en hängiven 16 tums utrymme på moderkortet för en terabyte av kommersiell ram. Att nå 16,8 miljoner terabyte skulle kräva ett moderkort 4242,42 miles. Avståndet från LA till NYC är cirka 2141 miles, så moderkortet skulle sträcka sig över landet och tillbaka för att rymma så mycket RAM.
Det här är uppenbart opraktiskt.
Vad sägs om att vi inte satte RAM-minnet i en rad som på de flesta moderkort, utan placerade dem i stället sida vid sida. Jag vill säga att den genomsnittliga pinnen av ram är ungefär sex inches lång, så om vi tillåter en halv tum i bredd, kan du ha en fyrkantig enhet med 12 pinnar ram i en 6 tums kvadrat. Låt oss kalla denna ruta en RAM-kakel. En RAM-kakel rymmer sedan 384 GB RAM.För att nå de 16,8 miljoner terabyte som krävs i 384GB-plattor skulle det bli 44,8 miljoner plattor. Låt oss vara rörigt och använd kvadratroten av det för att dra slutsatsen att detta kommer att passa i en kvadrat av 6693 med 6694 kakel, eller 13 386 med 13 388 fot, som är tillräckligt nära 2,5 fot kvadrat, tillräckligt för att täcka downtown Seattle i skugga, som omde hade inte tillräckligt med att klaga på.
Slutligen konstaterar David Schwartz att även den teoretiska gränsen blir försvagad av nuvarande CPU-arkitektur:
Observera att ingen existerande x86 64-bitars processor verkligen kan göra detta. Deras caches har inte tillräckligt med tagbitar, 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 mer svar från andra tech-savvy Stack Exchange-användare? Kolla in hela diskussionsgängan här.