16bit/32bitサポートの“終息”でより高性能なCPUを――Intelが64bitオンリーの「X86-Sアーキテクチャ」の仕様を初公開 意見募集中:32bitアプリは64bitモードで動作
Intelが、16bit/32bitサポートを省いた「X86-Sアーキテクチャ」の仕様書の初版を公開した。16bit/32bitサポートを省くことで、CPUの純粋な性能向上にリソースを割くことが主な目的だ。しかし、従来にない大規模な仕様変更となるため、開発者から意見を募集している。
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をサポートしない。
x86アーキテクチャの大まかな歴史(Intel史観となるため、AMDなど他社のx86 CPUには言及がない)。64bit命令をサポートするタイミングで「仮想86モード」(複数の8086プロセッサがあるように見せかけることでマルチタスクを実現する機能)が非サポートとされ、2008年以降にリリースされたCPUでは「A20ゲート(8086/80186プロセッサとの互換性を高める機能)」が非搭載となっている
このように、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の純粋な性能アップに注力しやすくもなる。
現行の64bit対応x86 CPUは、電源投入時(リセット時)は16bitモードで動作し、そこから64bitモードに切り替えるという2〜3段構えとなっている。X86-Sアーキテクチャはでは、電源を入れた瞬間から64bitモードで動作するように改められる
その他、X86-Sアーキテクチャでは、主に以下の仕様変更が行われる見通しだ。
- 32bitアプリの部分サポートに、64bit向けの簡略化された部分モデルを利用する
- 最近のアプリではほとんど使われないリングプロテクション(リング1/リング2)と、「ゲート」のような旧来のセグメンテーション機能を削除
- 16bitアドレッシング機能を削除
- リングプロテクション(リング3)を使った入出力ポートへのアクセス機能を廃止
- CPU I/Oモデルに基づくストリングポート入出力の廃止
- APIC(割り込みコントローラー)を利用する場合は「X2APIC」限定とする(Intel 8259を廃止)
- OSモードビットのうち、使われなくなったものを削除
関連記事
- Intel、Prescottのセキュリティ/64ビット機能を有効に
Intelは今年後半に出荷するPrescottベースのプロセッサで、ウイルスやワームがバッファオーバーフローを利用して危険なコードを実行するのを防ぐNX(No eXecute)機能と、64ビット拡張機能を有効にする。(IDG) - x86の40周年に「Core i7-8086K Limited Edition」 年内登場の28コアCPUもデモ
Intel 8086の発売40周年記念で「Core i7-8086K Limited Edition」を発表。(訂正あり) - Windows 7 RCの注目機能「XPモード」と「リモートメディアストリーミング」を試す
Windows 7の製品候補版(RC版)には、XPユーザーの救済策やモバイルでの利便性を高める新機能が追加されている。早速、これらの新機能をチェックしてみた。 - マイクロソフトがWindows 7の製品候補版を提供開始
Windows 7 製品候補版(RC版)のダウンロード提供が開始された。まずはMSDNとTechNetの登録メンバー向けに配布が始まり、日本では5月7日に一般公開となる。 - EFIはユーザーを幸せにするか?──MSI「P35 Neo3-EFINITY」
2008年4月に、MSIからEFIを実装したマザーボードが発売された。Intel P35チップセットを搭載した「MSI Neo3-F」のバージョンアップモデルだが、注目されるEFIがユーザーにもたらすメリットとはなんだろうか。
関連リンク
Copyright © ITmedia, Inc. All Rights Reserved.