ニュース
Intel、新「X86-S」アーキテクチャで8086互換を切り捨て
2023年5月22日 11:35
Intelは、従来の16bitおよび32bitモードを廃止し、64bitモードでのみ動作する命令セットアーキテクチャ(ISA)「X86-S」の情報を公開した。PDF文書における策定時期は2023年4月となっている。
Intelは1978年に16bitリアルモードで動作する「8086」をリリース。1982年にリリースした「80286」では16bitプロテクトモード、1985年に投入した「80386」では32bitプロテクトモードを投入。以降もその資産を継続できるよう、これまでのCPUではある程度の互換性を維持してきた。
しかし2004年に投入した64bitモード(Long Mode)を導入した際にVM86モードが削除され、翌年に登場したWindows XP Professional x64 Editionでは16bitのバイナリが完全に削除された。それ以降はIntelは64bit UEFIを推進し、2020年にはUEFIで動作しない16bitや32bit OSをネイティブで動作させるための互換性機能をファームウェアから削除した。
つまり、事実上16bitと32bitプロテクトモードは、今も名目上のサポートに留まっていた。しかし今後Intelは、CPUからも16bit/32bitモードを完全に取り除くことでレガシーフリーとする考えだ。
これまで、システムをリセット/初期化する際は16bit→32bit→64bit、または16bit→64bitへの遷移を辿っていたが、X86-Sではリセット/初期化した段階で64bitからスタートする。ただし、64bit環境下で32bitアプリを動作させるための「Compatibility Mode」は残すとしている。
X86-S ISAにおける変更
- CPUを常にページモードで動作させるよう限定
- VM86モードとして知られている32bit ring 0を削除
- ring 1およびring 2を削除
- 16bitリアルモード/プロテクトモードの削除
- 16bitアドレッシングの削除
- 固定MTRRsを削除
- ユーザーレベルI/Oおよびstring I/Oを削除
- CR0ライトスルーモードを削除
- CR0の中のレガシーFPU制御bitを削除
- ring 3インタラプトフラグコントロールを削除
- 廃止されたCRアクセス命令の削除
- INIT/SIPIを再構築
- 4-および5-levelのページテーブル切り替えメカニズムを追加
- x2APICのみのサポートおよびXAPICを削除
- 8529(PDF記述ママ。おそらく8259を指す)のためのAPICサポートの削除
- EFER MSRにおけるNX/SYSCALL/Long Modeの無効化を削除
- #SSと#NP例外を削除
- 一部条件でセグメンテーションアーキテクチャのサブセットをサポート