If-Koubou

Care este cantitatea maximă de memorie RAM pe care ați putea-o pune teoretic într-un computer pe 64 de biți?

Care este cantitatea maximă de memorie RAM pe care ați putea-o pune teoretic într-un computer pe 64 de biți? (Cum să)

Cei mai mulți oameni fac upgrade de la calculul pe 32 de biți la calculul pe 64 de biți pentru a sufla prin limita de 4 GB RAM, dar cumdeparte poți sufla prin această limită odată ce ai intrat în domeniul computerelor pe 64 de biți?

Sesiunea de întrebări și răspunsuri din ziua de astăzi vine de la amabilitatea SuperUser - o subdiviziune a Stack Exchange, o grupare bazată pe comunitate a site-urilor Q & A. Imagine de Petr Kratochvil.

Intrebarea

Cititorul SuperUser KingNestor este curios despre cât de multă RAM poate avea un computer pe 64 de biți:

Citesc cartea de calcul a arhitecturii și văd că într-un procesor x86, 32bit, contorul de programe este de 32 de biți.

Astfel, numărul de octeți pe care se poate adresa este de 2 ^ 32 octeți sau 4GB. Deci, mi se pare logic ca majoritatea masinilor de 32 de biți limitează cantitatea de berbec la 4gb (ignorând PAE).

Am dreptate să presupun că o mașină pe 64 de biți ar putea adresa teoretic 2 ^ 64 octeți sau 16exabytes de berbec ?!

Exabytes spuneți? Acum, acum, să nu fiți lacomi. Am fi încântați să începem cu un terabyte sau două.

Răspunsul

Răspunsurile la ancheta lui KingNestor reprezintă un amestec interesant de considerații practice și teoretice. Matt Ball salturiază cu răspunsul teoretic:

Teoretic: 16,8 milioane terabiți. În practică: cazul computerului dvs. este puțin prea mic pentru a se potrivi cu toate aceste memorii RAM.

http://en.wikipedia.org/wiki/64-bit#Limitations_of_practical_processors

Conrad Dean sare cu o notă despre cât de impracticoasă ar fi maximizarea limitei teoretice a RAM folosind tehnologia de astăzi:

Pentru a suplimenta răspunsul lui Matt Ball, actualul stick mai mare de RAM pe care îl pot găsi pe un singur retailer online este de 32GB. Ar fi nevoie de 32 dintre acestea pentru a ajunge la 1 terabyte. La aproximativ jumătate de inch pe stick, acest lucru ne duce la un spațiu dedicat de 16 inci de pe placa de bază pentru un terabyte de berbec comercial. Pentru a ajunge la 16,8 milioane de terabyte ar fi nevoie de o placă de bază de 4242,42 mile. Distanța de la LA la NYC este de aproximativ 2141 mile, așa că placa de bază se va întinde în întreaga țară și înapoi pentru a găzdui acel RAM mult.

Este clar că acest lucru nu este practic.

Ce ziceți că nu am pus RAM-ul nostru într-un singur rând ca pe majoritatea plăcilor de bază, ci le-am așezat unul lângă celălalt. Vreau să spun că bastonul mediu este de aproximativ șase centimetri lungime, deci, dacă lăsăm o jumătate de centimetru lățime, puteți avea o unitate pătrată de 12 bastoane de berbec într-un pătrat de 6 inch. Să numim pătratul ăsta o plăcuță RAM. O placă de memorie RAM deține 384 GB de memorie RAM. Pentru a atinge cele 16,8 milioane de terabyte necesare în plăci de 384 GB, ar fi nevoie de 44,8 milioane de plăci. Să fie dezordonat și să folosim rădăcina pătrată pentru a concluziona că acest lucru se va potrivi într-un pătrat de 6693 de 6694 de țigle sau de 13.386 de 13.388 picioare, care este destul de aproape de 2,5 picioare pătrate, suficient pentru a acoperi centrul orașului Seattle în umbră, ca și cum ei nu au avut deja suficient să se plângă.

În cele din urmă, David Schwartz observă că chiar și limita teoretică este împotmolită de actuala arhitectură a procesorului:

Rețineți că nici un procesor x86 de 64 de biți existent nu poate face acest lucru. Cache-urile lor nu au suficienți biți de etichete, autobuzele de adrese nu au suficientă lățime și așa mai departe. 46 biți (8TB) este maximul pentru multe procesoare x86 moderne.

Aveți ceva de adăugat la explicație? Sunați în comentariile. Doriți să citiți mai multe răspunsuri de la alți utilizatori de tehnologie Stack Exchange? Check out discuția completă aici.