Ich habe eine moderne 64-Bit-CPU. Funktioniert mein BIOS immer noch im 16-Bit-REAL-Modus?

11

Da das Booten noch erforderlich ist, frage ich mich, ob das BIOS auf einem 64-Bit-System mit x64 / AMD64 noch 16-Bit-Anweisungen verwendet. Funktioniert es auch im REAL MODE?

unixman83
quelle
Wikipedia: " BIOS-Einschränkungen (16-Bit-Prozessormodus, nur 1 MB adressierbarer Speicherplatz, PC-AT-Hardwareabhängigkeiten usw.) wurden für die neueren Computerplattformen als eindeutig inakzeptabel angesehen. Extensible Firmware Interface (EFI) ist eine Spezifikation, die die Laufzeit ersetzt Schnittstelle des Legacy-BIOS. "
Daniel Beck
@ Daniel Beck, ich dachte, EFI sei nur für Macs und das Itanium.
Unixman83
7
@ unixman83 - Die meisten neuen Intel-Motherboards laufen seit Sandy Bridge auf EFI. AMD wird wahrscheinlich nachziehen, wenn Bulldozer trifft. Das eigentliche Problem war, dass mit MFT formatierte Festplatten nicht bootfähig sind, wenn sie größer als 2 TB sind ... eine Grenze, die gerade erst erreicht wurde. Sie benötigen EFI, um von einer GPT-formatierten Festplatte zu booten (die viel, viel größer sein kann)
Shinrai
@ unixman83: Ich habe deine "Antwort" gelöscht, weil es keine Antwort ist, sondern nur ein Kopieren / Einfügen von Shinrais Kommentar.
Studiohack
Nichts hindert das BIOS daran, GPT zu lesen und zu verstehen, und Bootloader können auch über BIOS-Aufrufe auf viel mehr als 2 TB zugreifen. Daher ist die "Notwendigkeit von EFI" für große Festplatten ein (leider weit verbreiteter) Mythos.
Patrick Georgi

Antworten:

6

x86-Prozessoren starten immer noch im Real-Modus. BIOSs können während der Initialisierung ihrer Hardware frei (und manchmal auch gezwungen) in den geschützten oder langen Modus wechseln. Wenn sie jedoch die Steuerung an das Betriebssystem (oder besser dessen Bootloader) übergeben, müssen sie wieder in den realen Modus zurückkehren, da dies der Fall ist Diese Lader erwarten, dass sich das System in befindet.

Coreboot und UEFI wechseln ziemlich früh in den geschützten Modus, während wir für PCBIOSes (Phoenix / Award, Ami usw.) nichts sagen können. Sie sind Closed Source und erzählen im Allgemeinen nicht viel über ihre Interna, und ihre Schnittstellen sind alle als Real-Modus spezifiziert.

Bei Systemen, die mit ECC-RAM ausgeführt werden, können Sie relativ sicher sein, dass sie in einen Modus wechseln, der den gesamten RAM adressieren kann. Daher wechseln sie zumindest in den geschützten Modus. Dies liegt daran, dass sie den Speicher initialisieren müssen (schreiben Sie einen Wert in jede Adresse ) beim Booten oder das System würde anhalten, wenn ein späterer Code Adressen liest, in die nie geschrieben wurde (aufgrund einer Fehlererkennung, die möglicherweise zu einem falsch positiven Ergebnis führt). Aber wie gesagt, das ist intern im BIOS und nichts, was bloße Sterbliche leicht herausfinden können oder worüber sie nachdenken müssten.

tl; dr: Das BIOS befindet sich an allen Stellen, an denen es von außen sichtbar ist, im Real-Modus, sodass es in jeder Hinsicht möglicherweise immer im Real-Modus ausgeführt wird.

Patrick Georgi
quelle
1
Sogar das ursprüngliche IBM PC AT-BIOS wurde für den Speichertest in den geschützten Modus geschaltet.
Yuhong Bao