30Jul

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 gennem denne grænse, når du er kommet ind i riget af 64-bit computere?

Dagens Spørgsmål &Svar session kommer til os høflighed af SuperUser-en underafdeling af Stack Exchange, en community-drevet gruppe af Q & A-websteder. Billede af Petr Kratochvil.

Spørgsmål

SuperUser læser KingNestor er nysgerrig over, hvor meget RAM en 64-bit computer kan holde:

Jeg læser gennem min computer arkitektur bog, og jeg ser det i en x86 32bit CPU, programtælleren er 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 på 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 # Begrænsninger af praktiske processorer

Conrad Dean hopper ind med en notat om, hvor helt upraktisk det ville være at maksimere den teoretiske RAM-grænse ved hjælp af nutidens teknologi:

For at supplere Matt Ball's svar kan den nuværende største stok med RAM jegfinde på en bestemt online forhandler er 32GB.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 vil strække sig over hele landet og tilbage for at imødekomme så meget RAM.

Det er klart, at dette er upraktisk.

Hvad med, at 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 med ram er omkring seks inches lang, så hvis vi tillader en halv tomme for bredden, kan du have en firkantet 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 ved 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 omde 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 x86 64-bit processor virkelig kan gøre dette. Deres caches har ikke nok tagbits, deres adressebusser har ikke nok bredde og så videre.46 bit( 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.