X86-S

提供: MonoBook
2023年5月22日 (月) 04:02時点におけるAdministrator (トーク | 投稿記録)による版 (ページの作成:「'''X86-S'''とは、2023年5月22日にインテルが発表した16bitモードおよび32bitモードを廃止し、64bitモードしか使えなくした新しい[…」)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
ナビゲーションに移動 検索に移動

X86-Sとは、2023年5月22日にインテルが発表した16bitモードおよび32bitモードを廃止し、64bitモードしか使えなくした新しいx86の仕様です。

概要[編集 | ソースを編集]

インテルは、1978年に16bitリアルモードで動作する「8086」、1982年に16bitプロテクトモードで動作する「80286」、1985年に32bitプロテクトモードで動作する「80386」を投入。以降もその資産を継続できるよう、これまでの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例外を削除
  • 一部条件でセグメンテーションアーキテクチャのサブセットをサポート