Care este cantitatea maximă de memorie RAM pe care ați putea-o pune teoretic într-un computer pe 64 de biți?
Majoritatea oamenilor 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 cum departe puteți să suflați prin această limită odată ce ați 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 calculator pe 64 de biți:
Citesc cartea de calcul a arhitecturii și văd că într-un CPU 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 cele mai multe mașini 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 16 exabytes din 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 sunt un amestec interesant de considerații practice și teoretice. Matt Ball sare imediat 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 acele memorii RAM.
http://en.wikipedia.org/wiki/64-bit#Limitations_of_practical_processors
Conrad Dean sare cu o notă despre cât de impracticant ar fi să maximizăm limita teoretică a RAM folosind tehnologia de astăzi:
Pentru a suplimenta răspunsul lui Matt Ball, actualul stick de RAM pe care îl pot găsi pe un singur distribuitor online este de 32GB. Ar fi nevoie de 32 dintre acestea pentru a ajunge la 1 terabyte. La aproximativ jumătate de centimetru pe stick, acest lucru ne duce la un spațiu dedicat de 16 centimetri 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 4,242.42 mile. Distanța de la LA la NYC este de aproximativ 2141 de mile, așa că placa de bază se va întinde în întreaga țară și înapoi pentru a găzdui atât de mult RAM.
În mod clar acest lucru nu este practic.
Ce-ar fi dacă nu am pus RAM-ul nostru într-un singur rând ca pe majoritatea plăcilor de bază, ci le-am plasat unul lângă celălalt. Vreau să spun că bastonul mediu este de aproximativ șase centimetri lungime, așa că dacă lăsăm o jumătate de centimetru lățime, puteți avea o unitate pătratică de 12 bastoane de berbec într-un pătrat de 6 inch. Să numim acest pătrat o piesă RAM. O placă RAM are apoi 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ă fim dezordonați ș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 pietre sau de 13.386 de 13.388 picioare, care este destul de aproape de 2,5 metri pătrat, suficient pentru a acoperi centrul orașului Seattle în umbră, ca și cum ei nu aveau deja suficiente pentru a se plânge.
Î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 o lățime suficientă ș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.