Hvad er den maksimale mængde RAM, du kunne teoretisk sætte i en 64-bit computer?
De fleste mennesker opgraderer fra 32-bit computing til 64-bit computing til at blæse gennem 4 GB RAM grænse, men hvordan langt kan du blæse igennem den grænse, når du er kommet ind i retten til 64-bit computere?
Dagens Spørgsmål & Svar-session kommer til os med venlig hilsen af SuperUser-en underafdeling af Stack Exchange, en community-driven gruppe af Q & A-websteder. Billede af Petr Kratochvil.
Spørgsmålet
SuperUser læser KingNestor er nysgerrig over, hvor meget RAM en 64-bit computer kan holde:
Jeg læser gennem min computerarkitekturbog, og jeg ser at i en x86 32bit CPU er programtælleren 32 bit.
Så antallet af byte det kan adressere er 2 ^ 32 bytes eller 4GB. Så det er fornuftigt for mig, at de fleste 32-bit-maskiner begrænser mængden af ram til 4GB (ignorerer PAE).
Har jeg ret i at antage, at en 64bit maskine kunne teoretisk adressere 2 ^ 64 bytes eller 16 exabytes af ram?!
Exabytes du siger? Nu, lad os ikke være grådige. Vi ville være glade for at starte med en terabyte eller to.
Svaret
Svarene til KingNestors forespørgsel er en interessant blanding af praktiske og teoretiske overvejelser. Matt Ball hopper lige ind med det teoretiske svar:
Teoretisk: 16,8 millioner terabyte. I praksis: din computer sag er lidt for lille til at passe alle det RAM.
http://en.wikipedia.org/wiki/64-bit#Limitations_of_practical_processors
Conrad Dean hopper ind med en note om, hvordan helt upraktisk det ville være at maksimere den teoretiske RAM-grænse ved hjælp af dagens teknologi:
For at supplere Matt Ball's svar, kan den nuværende største stav RAM, jeg finder på en bestemt online forhandler, være 32 GB. Det ville tage 32 af disse at nå 1 terabyte. På omkring en halv tomme pr. Pind bringer dette os til en dedikeret 16 tommer plads på dit bundkort til en terabyte kommerciel ram. At nå 16,8 millioner terabyte ville kræve et bundkort 4,242.42 miles. Afstanden fra LA til NYC er ca. 2141 miles, så bundkortet strækker sig over hele landet og tilbage for at modtage så meget RAM.
Det er klart, at dette er upraktisk.
Hvad med om vi ikke satte vores RAM i en række som på de fleste bundkort, men i stedet placerede dem side om side. Jeg vil sige, at den gennemsnitlige pind af ram er omkring seks inches lang, så hvis vi tillader en halv tomme for bredden, kan du have en kvadratisk enhed med 12 pinde ram i en 6 tommer firkant. Lad os kalde denne plads en RAM-flise. En RAM-flise holder så 384 GB RAM. For at nå de nødvendige 16,8 millioner terabyte i 384GB fliser ville tage 44,8 millioner fliser. Lad os være rodet og bruge kvadratroden af det til at konkludere, at dette vil passe i en firkant på 6693 med 6694 fliser eller 13.386 med 13.388 fod, som er tæt nok til 2,5 fod squared, nok til at dække downtown Seattle i skygge, som om de havde ikke allerede nok til at klage over.
Endelig bemærker David Schwartz, at selv den teoretiske grænse bliver skruet ned af den nuværende CPU-arkitektur:
Bemærk, at ingen eksisterende 64-bit processor fra x86 faktisk kan gøre dette. Deres caches har ikke nok tagbits, deres adressebusser har ikke nok bredde og så videre. 46-bits (8TB) er maksimumet for mange moderne x86-CPU'er.
Har du noget at tilføje til forklaringen? Lyde af i kommentarerne. Vil du læse flere svar fra andre tech-savvy Stack Exchange brugere? Tjek den fulde diskussionstråd her.