Ich möchte die technischen Details der Beschränkungen der maximalen Speichergröße verstehen, die ein System/Prozessor unterstützen kann. Unten, was ich über die Websuche bis heute Wiki finden konnte :
Moderne 64-Bit-Prozessoren wie Designs von ARM, Intel oder AMD sind in der Regel darauf beschränkt, weniger als 64 Bit für RAM-Adressen zu unterstützen. Sie implementieren üblicherweise 40 bis 52 physische Adressbits 1 3 (unterstützt 1 TB bis 4 PB RAM). Wie frühere hier beschriebene Architekturen sind einige davon darauf ausgelegt, höhere Grenzen der RAM-Adressierung zu unterstützen, wenn sich die Technologie verbessert. Sowohl bei Intel64 als auch bei AMD64 ist die 52-Bit-Grenze für physische Adressen in den Architekturspezifikationen (4 PB) definiert.
Entscheidende Website, Verständnis-CPU-Beschränkungen-mit-Speicher spricht nur über Geschwindigkeit, verweist auf die Intel-Website. Aber soweit ich weiß, gibt Info z. B. i7 32 GB an, da zum Zeitpunkt der Erstellung des Prozessors nur 16-GB-Module verfügbar waren, was bedeutet, dass nur 2 Module unterstützt werden (2 Module sind jetzt meine Vermutung, Wiki-Zitat oben spricht von Bits ).
Ich fange gerade erst an, technische Details zu verstehen, wie Speicher funktionieren, wie z. B. Ränge . Was genau hindert alle modernen zB Intel-Prozessoren daran, zu behaupten, mindestens 1 TB adressieren zu können (gemäß Wiki oben)?
Ist der Grund für ARM in Smartphones derselbe? zB 875 :
Maximale Größe 24 GB
Für ARM habe ich keine Erfahrung mit dem Ändern der Speichermenge, da alle meine Geräte SoC hatten, obwohl ich kürzlich festgestellt habe, dass ARM Systeme mit Modulen haben sollte, wie die Websuche anzeigt (z. B. https://www.anandtech.com/show/13635/apacer- launcht-32bit-sodimm-for-arm-risc-v-systems ).
Ihr Zitat aus Wikipedia bezieht sich auf den physischen Adressraum, die Größe aller Speicheradressen, die dem Prozessor zur Verfügung stehen. Es ist nur die Summe aller Adressen, die in den physischen Speicherplatz passen. Allerdings ist nicht der gesamte physische Speicher RAM. PCIe-Geräte wie GPUs, Flash-Speicher usw. belegen auch physische Speicheradressen, die verwendet werden, um mit ihnen zu kommunizieren oder Daten zu/von ihnen zu kopieren. Aus diesem Grund sollte der physikalische Speicheradressraum immer größer sein als der größtmögliche RAM im System. Wenn dies nicht der Fall ist, kommt es zu Situationen, in denen nicht die gesamte Hardware gleichzeitig installiert werden kann oder nicht auf den gesamten Speicher zugegriffen werden kann, wie dies in den alten Tagen von 32-Bit-x86 tatsächlich der Fall war.
Wenn Ihr System also gut konzipiert ist, bedeutet ein 40-Bit-Adressraum nicht, dass Sie tatsächlich 2 ^ 40 Bytes RAM haben können. Wenn dies der Fall wäre, würden Sie den Zugriff auf Ihre PCIe- und andere Hardware verlieren. Was begrenzt dann tatsächlich Ihren verfügbaren RAM? Der Speichercontroller auf Ihrer CPU muss tatsächlich in der Lage sein, physikalische Adressen eindeutigen RAM-Zellen zuzuordnen. Es gibt eine praktische Grenze, auf wie viel Speicher tatsächlich zugegriffen werden kann. Einzelne DIMMs haben eine durch die Spezifikation festgelegte maximale Größe, und der Speichercontroller selbst hat eine maximale Anzahl von Speicherkanälen.
Beispielsweise unterstützt ein Intel Comet Lake-Prozessor der 10. Generation bis zu 4 DIMMs mit einer maximalen Größe von 64 GB gemäß DDR4-Spezifikation. Somit beträgt die maximal mögliche Kapazität 256 GB (obwohl Intel nur 128 GB angibt, sodass 64-GB-DIMMs möglicherweise nicht unterstützt werden). Der verbleibende physische Adressraum kann weiterhin von anderer Hardware verwendet werden, nur nicht vom Speichercontroller.
Die Unterstützung von mehr Arbeitsspeicher ist nicht kostenlos. Es erfordert die Unterstützung von mehr Adressen, was mehr Schaltkreise erfordert, was mehr Platz auf dem Chip und mehr Pins auf dem Gehäuse erfordert, was wahrscheinlich zu einem größeren Gehäuse führt, was die Ausbeute verringert und die Kosten erhöht. Warum tun, wenn Sie es nicht brauchen?
Marsmensch2020
DKNguyen