Warum sind RAM-Chips unabhängig davon, ob mein System ein 32-Bit-System oder ein 64-Bit-System ist?

518
ubuntu_noob

Ich wollte vor kurzem einen 4-GB-RAM-Chip für meinen Laptop kaufen, und sie fragten mich nur, ob ich DDR-3 wollte. Als ich angab, dass ich ein 64-Bit-System habe, sagten sie, dass es nicht wichtig ist. Meine Frage ist, warum? Sollten die Textverarbeitungsfunktionen meines Systems nicht ein Faktor sein? Ist der Speicher nicht für Register ausgelegt, so groß ist die Wortlänge des Systems?

4
Ich habe den Tag "embedded" entfernt, da er nichts damit zu tun hat (OP sagt, es ist für einen Laptop). Auch aus dem gleichen Grund zu schließen. tcrosley vor 10 Jahren 0
Tatsächlich ist es Routine, dass Speicherschnittstellen breiter als das Prozessorwort sind (zum Füllen von Caches oder zum Verwenden von Parallelität zum Umgang mit langsamen Speichertechnologien) oder auch dazu, dass sie schmaler sind (um die Schaltung zu vereinfachen). Heute bezieht sich 32 gegenüber 64 Bit ebenso wahrscheinlich auf die Betriebsart, die von einem Betriebssystem in Bezug auf die tatsächliche Prozessorwortbreite verwendet wird. Chris Stratton vor 10 Jahren 2
Wäre es für Sie überraschend zu erfahren, dass es für die gesamte Hardware egal ist, wie lang die Dateneinheit ist, die wir als "Wort" definieren? dass eine Single auf x86 32 Bit und auf 64 x 64 Bit ist? Die CPU selbst ist so ziemlich alles, worum es geht. Frank Thomas vor 10 Jahren 1
@Frank Thomas: Ja, es würde mich überraschen, da ich in der Systemarchitektur ziemlich neu bin. Ich bin gerade von digitaler Elektronik und Transistor-Level-Entwicklung hierher gekommen und verfolge derzeit die Registerübertragungslogik. Zurück zum Thema, was ist mit dem lokalen Cache des Prozessors? Oder die anderen Universalregister, Spezialregister, Akkumulator? Werden ihre Wortgrößen auch ohne Einschränkungen gewählt, und wenn dies wirklich der Fall ist, wie unterscheidet sich ein 64-Bit-System von einem 32-Bit-System? ubuntu_noob vor 10 Jahren 0
Alle diese Komponenten sind Teil der CPU selbst, daher würde eine CPU mit einem x64-Befehlssatz so geschrieben, dass sie 64b-Wörter aufnehmen kann. RAM ist jedoch logisch (nicht physisch) gruppiert, sodass die Speicherverwaltungstreiber der Betriebssysteme die gesamte Abstraktion verarbeiten, die erforderlich ist, um Daten in RAM mit einer bestimmten Bedeutung zu versehen. Frank Thomas vor 10 Jahren 0

2 Antworten auf die Frage

10
Ignacio Vazquez-Abrams

Moderne PC-Systeme enthalten einen Speicher-Interface-Chip oder eine Speicherschaltung, die zwischen der Datenbusbreite und der Speichermodulbreite übersetzt, wobei letzteres von Organisationen wie JEDEC standardisiert wurde . Dies bedeutet, dass Module, die dieselbe Signalisierung und dasselbe Protokoll verwenden, unabhängig von der zugrunde liegenden Architektur des Systems austauschbar sind.

4
old_timer

Die Speichermodule sind standardisiert und seit einiger Zeit nicht mehr 32 Bit lang. Selbst mit einem 32-Bit-Prozessor gibt es mehrere Caching-Schichten, und auf der dram-Seite des Caches spielt es keine Rolle, was der Prozessor bevorzugt, wenn Sie ein Vielfaches dieser Größe lesen und schreiben möchten. Daher ist 64 Bit kein schlechter Kompromiss. Ebenso haben die (einige, alle oder die letzten) 32-Bit-Prozessoren aus ähnlichen Gründen ohnehin 64-Bit-Busse verwendet.

Und wenn Sie sich die Module ansehen, haben Sie entweder ein Vielfaches von 8 Chips (8 oder 16) oder ein Vielfaches von 9 (9 oder 18) oder 5,10 oder 4,8

Die Chips beginnen oft mit einer Breite von 8 Bit und können im Laufe der Zeit 16 Bit für diese Geschwindigkeit aufnehmen. Sie beginnen also mit 64 Bits ohne Ecc, dh 64 Bits pro Rang 8 Teile pro Rang. Ein Rangspeicher hat eine Reihe von 8, zwei Reihen und 8 auf der anderen Seite 8. Mit ecc erhalten Sie weitere 8 Bits, 72 Bits, 9 Teile pro Rang. für 16 Bit breite Speicher 4 Teile pro Rang ohne Ecc und 5 mit Ecc.

Sobald Sie jedoch den Connector- / Modultyp festgelegt haben, sind die Auswahlmöglichkeiten sehr begrenzt, wie viel RAM und je nach Marke / Modell Sie eine beliebige Anzahl von Teilen erhalten, um dies zu implementieren.

Um einzelne Teile zu kaufen, müssen sie DDR, DDR2, DDR3 oder DDR4 kennen, welche Geschwindigkeit und Dichte Sie wünschen. Der Speichercontroller ist für jeden spezifisch und unterstützt nicht unbedingt etwas anderes als den einen Typ. Daher unterstützt ein ddr2 möglicherweise nur ddr2 und ein ddr3 unterstützt möglicherweise nur ddr3. Daher müssen Sie zuerst mit dieser Frage beginnen und dann mit der Geschwindigkeit und mit fortfahren und Dichte.