Intelが、開発者向けサイトにおいて新しいCPUアーキテクチャ「X86-S」の仕様書の初版(リビジョン1.0)を公開した。ハードウェアとソフトウェア(主にUEFIやOS)双方のシンプル化を推進すべく、このアーキテクチャでは16bit/32bitで動作する機能を省略しており、電源が投入された当初から64bitモードで稼働する。
同社では今後、CPUをX86-Sアーキテクチャに移行する方針を示しており、本アーキテクチャ(仕様書)に対する意見も募集している。
X86-Sの概要
Intelは2004年、64bit命令(x64/Intel 64)をサポートするx86 CPUを初めてリリースした(参考記事)。それ以来、64bit命令に対応するCPUのラインアップは広がっていき、現行のx86 CPUで64bit命令に対応“しない”ものは存在しない。
主要な一般PC向けOSでも、2005年に64bit命令をサポートする「Windows XP x64 Edition」が登場した。それ以来、Windowsは32bit版と64bit版の2本立てでリリースされるようにったが、2021年にリリースされた「Windows 11」では、ついに32bit版が“廃止”された。
一方で、過去のx86アーキテクチャ向けOSやアプリケーションとの互換性を確保する観点から、現行のx86 CPUは16bit/32bit命令を引き続きサポートしている。16bit命令はx86アーキテクチャのルーツである「8086プロセッサ」から約45年、32bit命令は「80386プロセッサ」から約38年間“残存”し続けていることになる。
厳密にいうと、2004年に64bit命令に対応したCPU以降は「仮想86モード(VM386)」をサポートしておらず、2008年以降にリリースされたCPUは「A20ゲート」を備えていない。そのため、これらに依存するOSやアプリケーションは、原則としてエミュレーターを介さないと動作しない。
さらに、Intelが2020年以降に提供している各種ファームウェアは、16bit/32bit動作をサポートせず、UEFIブートできない(≒BIOSまたはCSMでのみブートできる)OSをサポートしない。
このように、20年近くかかったが、PCは「64bitオンリー」でも困らない環境が整いつつある。そしてx86プロセッサにおける16bit/32bit命令のサポートは“不要”な状態となった。
CPU自体の性能向上もあり、16bit/32bit CPU(や旧来のBIOS)が必要なOSやアプリを動かす場合は、基本的にはエミュレーターを介せば何とかなる面もある。
そこで、X86-SアーキテクチャではCPUが16bit/32bitで動作するモードを省く。そのため、電源を入れた(リセットした)瞬間から64bitモードで稼働する。
従来は電源を入れた(リセットした)直後のx86 CPUは16bitモードで稼働し、そこから32bitモードに切り替えてからさらに64bitモードへと切り替え、あるいは16bitモードから64bitモードに切り替えという動作が必要だった。
X86-Sアーキテクチャでは、このようなモード切り替えが不要となるため、CPUの構造や命令をシンプルにできる。その分だけ、CPUの純粋な性能アップに注力しやすくもなる。
その他、X86-Sアーキテクチャでは、主に以下の仕様変更が行われる見通しだ。
- 32bitアプリの部分サポートに、64bit向けの簡略化された部分モデルを利用する
- 最近のアプリではほとんど使われないリングプロテクション(リング1/リング2)と、「ゲート」のような旧来のセグメンテーション機能を削除
- 16bitアドレッシング機能を削除
- リングプロテクション(リング3)を使った入出力ポートへのアクセス機能を廃止
- CPU I/Oモデルに基づくストリングポート入出力の廃止
- APIC(割り込みコントローラー)を利用する場合は「X2APIC」限定とする(Intel 8259を廃止)
- OSモードビットのうち、使われなくなったものを削除
関連記事
関連リンク
2023-05-22 04:50:00Z
https://news.google.com/rss/articles/CBMiPmh0dHBzOi8vd3d3Lml0bWVkaWEuY28uanAvcGN1c2VyL2FydGljbGVzLzIzMDUvMjIvbmV3czEyMy5odG1s0gE5aHR0cHM6Ly93d3cuaXRtZWRpYS5jby5qcC9wY3VzZXIvYW1wLzIzMDUvMjIvbmV3czEyMy5odG1s?oc=5
No comments:
Post a Comment