8

intel ソフトウェア開発者マニュアル(セクション 3.1)を読んでいます。ここで言われているのは

IA-32 アーキテクチャは、保護モード、実アドレス モード、およびシステム管理モードの 3 つの基本的な動作モードをサポートしています。

Intel 64 アーキテクチャは、IA-32e モードを追加します。IA-32e モードには 2 つのサブモードがあります。

この 2 つのサブモードはCompatibility mode64-bit modeです。したがって、Intel 64アーキテクチャには 4 つの動作モード (保護モード、実アドレス モード、システム管理モード、IA-32e モード) が含まれます。しかし、どの保護モードが必要なのかわかりませんIntel 64か? IA-32e の互換性サブモードでは、64 ビット OS に再コンパイルすることなくレガシー 16 ビットおよび 32 ビット アプリケーションを実行でき、64 ビット サブモードでは、OS が 64 ビット リニア アドレス空間にアクセスするアプリケーションを実行できます。64 ビット OS を使用している場合、プロテクト モードはどこで使用されますか? アプリケーションの実行は IA-32e モードによって保証されます。

4

1 に答える 1

5

こういう組織だと思います。いつでも、CPU 全体が次のモードのいずれか (メンテナンス モードを除く) である必要があります。

IA-32 リアル モード:これは、プロセッサの電源をオンにする方法です。

IA-32 保護モード: 32 ビット実行環境。通常の保護メカニズムが機能しています。CPU は仮想 8086 モードに選択的に移行できます。

IA-32e モード:これは 64 ビット CPU でのみ使用できます。CPU は、互換モードとロング モードの間で選択的に移行できます。

つまり、64 ビット コードを実行する場合は、IA-32e モードに入る必要がありますセグメントごとに、互換モードで 32 ビット コードを実行するか、ロング モードで 64 ビット コードを実行するかを決定できるようになりました。

于 2013-12-31T00:06:50.670 に答える