Das BIOS ist ein 16-Bit-Programm, das im Real-Modus ausgeführt wird. In diesem Modus können nur 1 MB adressiert werden.
Das ist falsch.
Der 16-Bit-Realmodus beschränkt den Prozessor nicht auf 1 MB Speicher.
Es stimmt zwar, dass ein x86-Prozessor im Real-Modus startet und standardmäßig auf den 16-Bit-8086-Befehlssatz gesetzt wird, der 80286-Befehlssatz enthält jedoch Erweiterungen. Wenn Sie einer 8086-Anweisung das Byte 0x67 voranstellen, ermöglicht diese Anweisung dem Zugriff auf ein 32-Bit-Register, das Zugriff auf 2 32 Byte oder 4 GB Speicher hat.
Wenn Sie einen 64-Bit-Prozessor verwenden, kann der Prozessor PAE ( Physical Address Extension ) verwenden, wodurch der Prozessor Zugriff auf 2 52 Byte Speicher erhält, mehr als auf einem modernen Motherboard physisch installiert werden kann.
Quelle Wie das BIOS die volle Größe des erweiterten Speichers erkennen kann
Wie bestimmt das BIOS die Größe des verfügbaren Arbeitsspeichers, beispielsweise 1 GB?
Es verwendet Methoden, die in den Datenblättern für den Speichercontroller ( Northbridge ) dokumentiert sind .
Die meisten BIOS können keinen RAM verwenden, bis sie den installierten RAM-Typ erkannt haben, dann die Größe jedes Speichermoduls und dann den Chipsatz so konfigurieren, dass er den erkannten RAM verwendet.
All dies hängt von chipsatzspezifischen Methoden ab und ist normalerweise in den Datenblättern für den Speichercontroller (Northbridge) dokumentiert.
Das RAM kann während dieses Vorgangs nicht zum Ausführen von Programmen verwendet werden. Das BIOS läuft anfangs vom ROM aus, so dass es die erforderlichen Spiele mit den RAM-Chips spielen kann. Es ist jedoch völlig unmöglich, dies aus einem anderen Programm heraus zu tun.
Quelle Erkennung Speicher (x86)