ニュース

Intel、新「X86-S」アーキテクチャで8086互換を切り捨て

8086

 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例外を削除
  • 一部条件でセグメンテーションアーキテクチャのサブセットをサポート