MemTest86 zeigt, dass der Speicheradressraum größer ist als die physische Menge

MemTest86 zeigt, dass der Speicheradressraum größer ist als die physische Menge

Ich dachte, auf einem Laptop mit 4 GB RAM sollten Speicheradressen bei Byte beginnen 0und vor enden 0x1_0000_0000(_ ist ein hinzugefügtes Trennzeichen zur Vereinfachung), aber MemTest86 sagt, es endet bei 0x1_6060_0000, aber sind das nicht 1542 MB mehr?

Auf einem Desktop-Computer mit 16 GB RAM sollte es meiner Meinung nach bei enden 0x4_0000_0000, aber MemTest86 sagt 0x4_2F60_0000, was 758 MB größer ist.

Warum zeigt MemTest86 Adressräume an, die größer sind als die tatsächliche Menge an physischem Speicher?

Antwort1

Dies ist bei modernen Systemen eine sehr häufige Situation. Und das aus gutem Grund.

Computer verfügen seit Jahrzehnten über speicherabgebildete Hardwaregeräte. Dabei handelt es sich um spezielle Hardware, auf die die CPU wie auf Speicher zugreifen kann. Sie wird für die schnelle Kommunikation mit Hardwaregeräten wie dem Videosystem verwendet. Ohne diese Geräte würden Computer unter erheblichen Leistungseinbußen leiden.

Aus Kompatibilitätsgründen mit 32-Bit-Betriebssystemen muss diese speicherzugeordnete Hardware im unteren 4-GB-Adressbereich erscheinen. In modernen Systemen bedeutet dies mindestens mehrere hundert MB, was ziemlich bedeutsam ist. Da speicherzugeordnete Hardware und RAM nicht an denselben Adressen vorhanden sein können, wäre ein beträchtlicher Teil des RAM nicht zugänglich. Aus diesem Grund können 32-Bit-Versionen von Windows nicht alle 4 GB RAM sehen.

Das ist keine gute Situation. Aber es gibt eine Lösung, zumindest für Betriebssysteme, die damit umgehen können. Die Lösung besteht darin, die Teile des RAM, die sonst nicht zugänglich wären, für Adressen über 4 GB neu zuzuordnen. Das ist, was Sie sehen. Zum Vorteil von 32-Bit-Betriebssystemen wird so viel RAM wie möglich an Adressen unter 4 GB belassen.

Diese Speicherneuzuordnung wird von der Computerhardware und dem BIOS vorgenommen und ist daher für jedes Betriebssystem verfügbar. Moderne 64-Bit-Betriebssysteme und Speichertestprogramme sind dafür ausgelegt. Aus technischen Gründen ignorieren 32-Bit-Clientversionen von Windows den gesamten Speicher über 4 GB. Bei modernen Betriebssystemen sehen Anwendungen nie physische RAM-Adressen, daher ist die Speicherzuordnung für sie kein Thema.

verwandte Informationen