Come ho scritto nella mia risposta a questa domanda, la saggezza popolare ricevuta sull'argomento - come purtroppo esemplificato da altre risposte lì (e altrove in SuperUser) - è bloccata nel mondo com'era intorno al 1991, nonostante la ricchezza di riferimenti tecnici disponibili che spiegano come è ora altrimenti.
Non saresti stato così confuso se avessi letto la mia risposta, perché in primo luogo non avresti chiesto "BIOS caricato dalla ROM".
Il tuo "chip BIOS" non è ROM; non esiste un codice macchina tra l'avvio del processore e la prima istruzione nel firmware; e la "M" in "RAM" e "ROM" significa "memoria".
Come ho scritto prima, nei PC moderni, il firmware della macchina è conservato nella RAM non volatile . Non è la ROM come una volta. Vedere la risposta precedente per i dettagli del chip NVRAM collegato al bus LPC. (Ad esempio: su una macchina seduta smontata accanto a me mentre scrivo, la NVRAM che tiene il firmware è una Pm49FL004T, un chip LPC Flash RAM.)
Le CPU a 32 bit non si avviano in modalità reale e non si avviano con un indirizzo al di sotto della linea 1MiB. Sono decenni di rifiuti obsoleti dai tempi dei processori x86 a 16 bit. Cominciano in quella che è colloquialmente conosciuta come modalità irreale , e di nuovo nella mia precedente risposta ho fornito i dettagli di ciò che è stato effettivamente il caso dall'avvento dell'80386 . Caricano le loro prime istruzioni da un indirizzo che si trova proprio nella parte superiore dello spazio degli indirizzi a 32 bit FFFFFFF0
.
Nella mia risposta precedente ti ho spiegato in dettaglio dove il firmware della macchina è principalmente mappato nello spazio di indirizzi fisico su macchine x86 a 32 e 64 bit. Ricorda: sia la RAM che la ROM sono memoria . Gli indirizzi fisici sono indirizzi di memoria , sul bus di sistema. Possono indirizzare la RAM o la ROM. (Possono anche indirizzare anche altre cose, ma questo complica solo questa discussione.) L'indirizzo fisico FFFFFFF0
è di 16 byte al di sotto della parte superiore dell'intervallo di 512 KiB in cui i 512 KiB superiori del firmware, nella RAM non volatile, sono sempre mappati sul bus di sistema dal "chipset".
Non è possibile "caricare" da alcuni mitici chip ROM che si verificano all'inizializzazione o al ripristino del processore. Il chip che contiene il firmware è una RAM non volatile . Mantiene il suo contenuto, scritto quando viene "lampeggiato", attraverso i cicli di accensione. E la CPU legge semplicemente le istruzioni e i dati del firmware da esso, sul bus di sistema e su un bus LPC (e possibilmente un bridge LPC / FWH) collegato al bus di sistema tramite il chipset, usando un indirizzo di memoria fisica.
Ulteriori letture