私は最新の64ビットCPUを持っています。BIOSは引き続き16ビットREALモードで動作しますか?


11

まだ起動する必要があるので、x64 / AMD64 64ビットシステムで、BIOSはまだ16ビット命令を使用しているのでしょうか。また、リアルモードで動作しますか?


ウィキペディア: " BIOSの制限(16ビットプロセッサモード、1 MiBのアドレス可能なスペースのみ、PC ATハードウェアの依存関係など)は、新しいコンピュータープラットフォームでは明らかに許容できないと見なされていました。拡張ファームウェアインターフェイス(EFI)は、ランタイムに代わる仕様ですレガシーBIOSのインターフェイス。 "
Daniel Beck

@Daniel Beck、EFIはMacとItanium専用だと思っていました。
unixman83

7
@ unixman83-Sandy Bridgeが登場して以来、ほとんどの新しいIntelマザーボードはEFIで実行されています。AMDはブルドーザーがヒットしたときに追随する可能性があります。実際のホールドアウトは、MFTでフォーマットされたディスクが2TBを超えると起動できないということでした...一般に達し始めたばかりの制限です。GPTでフォーマットされたディスク(かなり大きくなる場合があります)から起動するには、EFIが必要です
Shinrai

@ unixman83:回答ではなく、Shinraiのコメントのコピー/貼り付けなので、「回答」を削除しました。
studiohack

BIOSがGPTを読み取って理解するのを妨げるものは何もありません。また、ブートローダーはBIOS呼び出しを使用して2TBをはるかに超えてアクセスできるため、大容量ディスクの「EFIの必要性」は(悲しいことに)神話です。
Patrick Georgi、

回答:


6

x86プロセッサはまだリアルモードで起動します。BIOSは、ハードウェアを初期化している間、プロテクトモードまたはロングモードに自由に切り替えることができます(強制される場合もあります)が、オペレーティングシステム(またはそのブートローダー)に制御を引き渡すときは、リアルモードに戻す必要があります。これらのローダーは、システムが入っていることを期待しています。

コアブートUEFIはプロテクトモードにかなり早く切り替わりますが、PCBIOS(phoenix / award、amiなど)の場合はわかりません。これらはクローズドソースであり、通常、内部についてはあまり説明せず、それらのインターフェイスはすべてリアルモードとして指定されています。

ECC RAMで実行されるシステムの場合、すべてのRAMをアドレス指定できるいくつかのモードに切り替わることが比較的確実であるため、少なくともプロテクトモードに移行します。これは、メモリを初期化する必要があるためです(各アドレスに値を書き込む必要があります) )ブート時に、または書き込まれていないアドレスを後でコードが読み取ると、システムが停止します(誤検知を引き起こす可能性のあるエラー検出のため)。しかし、言われたように、それはBIOSの内部であり、単なる人間が簡単に理解できるものや、彼らが考える必要があるものは何もありません。

tl; dr:BIOSは、外部から見えるすべてのポイントでリアルモードであるため、すべての目的と目的で、常にリアルモードで実行される可能性があります。


1
元のIBM PC AT BIOSでさえ、メモリテストのために保護モードに切り替わりました。
Yuhong Bao
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.