Die meisten Leute rüsten von 32-Bit-Computing auf 64-Bit-Computing auf, um die 4-GB-RAM-Grenze zu überschreiten, aber wie weit Können Sie diese Grenze überschreiten, wenn Sie in den Bereich der 64-Bit-Computer eingetreten sind?
Die heutige Frage-Antwort-Sitzung wird uns mit freundlicher Genehmigung von SuperUser zur Verfügung gestellt - einer Unterteilung von Stack Exchange, einer Community-gesteuerten Gruppierung von Q & A-Websites. Bild von Petr Kratochvil .
Die Frage
SuperUser-Reader KingNestor ist gespannt, wie viel RAM ein 64-Bit-Computer aufnehmen kann:
Ich lese gerade mein Computerarchitekturbuch durch und sehe, dass in einer x86-, 32-Bit-CPU der Programmzähler 32-Bit ist.
Die Anzahl der Bytes, die adressiert werden können, beträgt 2 ^ 32 Bytes oder 4 GB. Daher ist es für mich sinnvoll, dass die meisten 32-Bit-Computer die RAM-Menge auf 4 GB beschränken (ohne Berücksichtigung von PAE).
Habe ich Recht mit der Annahme, dass eine 64-Bit-Maschine theoretisch 2 ^ 64 Bytes oder 16 adressieren könnte? Exabyte von Widder?!
Exabyte sagst du? Jetzt, jetzt, lasst uns nicht gierig sein. Gerne beginnen wir mit ein oder zwei Terabyte.
Die Antwort
Die Antworten auf die Anfrage von KingNestor sind eine interessante Mischung aus praktischen und theoretischen Überlegungen. Matt Ball springt mit der theoretischen Antwort ein:
Theoretisch: 16,8 Millionen Terabyte. In der Praxis: Ihr Computergehäuse ist etwas zu klein, um den gesamten Arbeitsspeicher aufzunehmen.
http://en.wikipedia.org/wiki/64-bit#Limitations_of_practical_processors
Conrad Dean springt mit einer Notiz ein, wie völlig unpraktisch es wäre, die theoretische RAM-Grenze mit der heutigen Technologie zu maximieren:
Als Ergänzung zu Matt Balls Antwort ist der derzeit größte RAM-Stick, den ich bei einem bestimmten Online-Händler finden kann, 32 GB. 32 davon würden benötigt, um 1 Terabyte zu erreichen. Bei einem halben Zoll pro Stick haben wir für ein Terabyte kommerziellen RAM einen Speicherplatz von 16 Zoll auf Ihrem Motherboard. Um 16,8 Millionen Terabyte zu erreichen, wäre ein Motherboard 4.242,42 Meilen erforderlich. Die Entfernung von LA nach NYC beträgt ungefähr 2141 Meilen, sodass sich das Motherboard über das Land und zurück erstrecken würde, um so viel RAM aufzunehmen.
Dies ist eindeutig unpraktisch.
Wie wäre es, wenn wir unseren RAM nicht wie bei den meisten Motherboards in einer Reihe platzieren würden, sondern sie nebeneinander platzieren würden. Ich möchte sagen, dass der durchschnittliche RAM-Stab ungefähr sechs Zoll lang ist. Wenn wir also einen halben Zoll Breite zulassen, können Sie eine quadratische Einheit von 12 RAM-Stöcken in einem 6-Zoll-Quadrat haben. Nennen wir dieses Quadrat eine RAM-Kachel. Eine RAM-Kachel enthält dann 384 GB RAM. Um die erforderlichen 16,8 Millionen Terabyte in 384-GB-Kacheln zu erreichen, wären 44,8 Millionen Kacheln erforderlich. Lassen Sie uns chaotisch sein und die Quadratwurzel davon verwenden, um zu schließen, dass dies in ein Quadrat von 6693 x 6694 Kacheln oder 13.386 x 13.388 Fuß passt, was nahe genug an 2,5 Quadratfuß liegt, genug, um die Innenstadt von Seattle im Schatten zu bedecken, als ob Sie hatten noch nicht genug, um sich zu beschweren.
Schließlich stellt David Schwartz fest, dass selbst die theoretische Grenze durch die aktuelle CPU-Architektur festgefahren wird:
Beachten Sie, dass kein vorhandener x86 64-Bit-Prozessor dies tatsächlich kann. Ihre Caches haben nicht genügend Tag-Bits, ihre Adressbusse haben nicht genug Breite und so weiter. 46 Bit (8 TB) sind das Maximum für viele moderne x86-CPUs.
Haben Sie der Erklärung etwas hinzuzufügen? Ton aus in den Kommentaren. Möchten Sie weitere Antworten von anderen technisch versierten Stack Exchange-Benutzern lesen? Den vollständigen Diskussionsthread finden Sie hier .