Wie ich in meiner Antwort auf diese Frage schrieb, steckt die erhaltene Volksweisheit zu diesem Thema - wie leider durch andere Antworten dort (und anderswo in SuperUser) veranschaulicht - trotz der Fülle verfügbarer technischer Referenzen in der Welt fest, wie es um 1991 war wie es jetzt anders ist.
Sie wären nicht so verwirrt gewesen, wenn Sie meine Antwort gelesen hätten, denn Sie würden überhaupt nicht nach "BIOS aus ROM geladen" fragen.
Ihr "BIOS-Chip" ist kein ROM; Zwischen dem Prozessorstart und der ersten Anweisung in der Firmware befindet sich kein Maschinencode. und das "M" sowohl in "RAM" als auch in "ROM" bedeutet "Speicher".
Wie ich bereits geschrieben habe, wird die Maschinenfirmware in modernen PCs im nichtflüchtigen RAM gespeichert . Es ist nicht mehr ROM wie früher. In der vorherigen Antwort finden Sie Details zum NVRAM-Chip, der an den LPC-Bus angeschlossen ist. (Zum Beispiel: Auf einem Computer, der während der Eingabe zerlegt neben mir sitzt, ist der NVRAM, der die Firmware enthält, ein Pm49FL004T, ein LPC-Flash-RAM-Chip.)
32-Bit-CPUs werden nicht im Real-Modus gestartet und nicht mit einer Adresse, die unterhalb der 1-MB-Leitung liegt. Das ist jahrzehntelang veralteter Müll aus der Zeit von 16-Bit-x86-Prozessoren. Sie beginnen im umgangssprachlich als unwirklich bezeichneten Modus , und in meiner vorherigen Antwort gab ich erneut die Einzelheiten dessen an, was seit dem Aufkommen des 80386 tatsächlich der Fall war . Sie laden ihren ersten Befehl von einer Adresse, die sich tatsächlich ganz oben im 32-Bit-Adressraum befindet FFFFFFF0
.
In meiner vorherigen Antwort habe ich Ihnen ausführlich gesagt, wo die Maschinenfirmware hauptsächlich auf 32-Bit- und 64-Bit-x86-Maschinen dem physischen Adressraum zugeordnet ist. Denken Sie daran: Sowohl RAM als auch ROM sind Speicher . Physikalische Adressen sind Speicheradressen auf dem Systembus. Sie können entweder RAM oder ROM adressieren. (Sie können auch andere Dinge ansprechen, aber das erschwert diese Diskussion nur.) Die physikalische Adresse FFFFFFF0
befindet sich 16 Byte unter dem oberen Bereich des 512-KB-Bereichs, in dem die oberen 512-KB der Firmware im nichtflüchtigen RAM immer auf dem abgebildet sind Systembus durch den "Chipsatz".
Es gibt kein "Laden" von einem mythischen ROM-Chip, der bei der Prozessorinitialisierung oder beim Zurücksetzen ausgeführt wird. Der Chip, der die Firmware enthält, ist nichtflüchtiger RAM . Es behält seinen Inhalt, der beim "Blinken" geschrieben wird, über alle Stromzyklen hinweg bei. Und die CPU liest nur die Firmware-Anweisungen und -Daten von ihr über den Systembus und über einen LPC-Bus (und möglicherweise eine LPC / FWH-Brücke), der über den Chipsatz mit dem Systembus verbunden ist, unter Verwendung einer physischen Speicheradresse.
Weiterführende Literatur