その質問への私の回答で書いたように、残念ながらそこにある他の回答(そしてここではスーパーユーザー)に例証されているように、この件に関して受け取られた民衆の知恵は、1991年頃と同じように世界中で利用されています。それ以外の場合は、現在の状態です。
そもそも、私の答えを読んでいれば、混乱することはなかったでしょう。そもそも、「ROMから読み込まれたBIOS」について尋ねる必要はないからです。
「BIOSチップ」は ROMではありません。プロセッサの起動とファームウェアの最初の命令の間にマシンコードはありません。また、「RAM」と「ROM」の両方の「M」は「メモリ」を意味します。
前に書いたように、最近のPCでは、マシンのファームウェアは不揮発性RAMに保持されています。それは以前のようにROMではありません。LPCバスに接続されたNVRAMチップの詳細については、前の回答を参照してください。(例:私がこれをタイプするときに、私の横に逆アセンブルされて座っているマシンでは、ファームウェアを保持するNVRAMは、LPCフラッシュRAMチップであるPm49FL004Tです。)
32ビットCPUはリアルモードで起動せず、1MiB境界より下のアドレスで起動しません。これは、16ビットx86プロセッサの時代から数十年の古いゴミです。それらは口語的にアンリアルモードと呼ばれているものから始まり、以前の回答でも、80386の登場以来実際に何が起こっているのかについて詳しく説明しました。彼らは最初の命令を、実際には32ビットアドレス空間の最上部にあるアドレスからロードしますFFFFFFF0
。
以前の回答で、マシンのファームウェアが主に32ビットおよび64ビットのx86マシンの物理アドレス空間にマッピングされる場所について詳しく説明しました。注意:RAMとROMはどちらもメモリです。物理アドレスは、システムバス上のメモリアドレスです。RAMまたはROMのいずれかをアドレス指定できます。(彼らも同様に他の事に対処することができますが、それだけでこの議論を複雑です。)物理アドレスはFFFFFFF0
16バイトトップファームウェアの512KiBは、不揮発性RAMには、され512KiB範囲の最上部の下で、常に上にマップ「チップセット」によるシステムバス。
プロセッサーの初期化時またはリセット時に行われる神秘的なROMチップからの「ロード」はありません。ファームウェアを保持するチップは、不揮発性RAMです。「フラッシュ」されたときに書き込まれた内容は、電源を入れ直しても保持されます。そして、CPUは、システムバス上、およびチップセットを介してシステムバスに接続されたLPCバス(およびおそらくLPC / FWHブリッジ)経由で、物理メモリアドレスを使用して、ファームウェアの命令とデータを読み取るだけです。
参考文献