メインメニューを開く

差分

X86-S

2,658 バイト追加, 2023年5月22日 (月) 04:02
ページの作成:「'''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例外を削除
* 一部条件でセグメンテーションアーキテクチャのサブセットをサポート