これは何?
x86S について、雑にニュースを見ていた印象と、よく読んだ印象が違ったのでそのことを書いておこうと思った。
いくつかのニュースからの引用
Gigazine
たぶん最初に見たのは Gigazine。
見出しが
Intelが32ビット対応を切り捨てた新アーキテクチャ「x86S」を開発中
となっている。
その他にも
x86Sでは32ビットへの対応が廃止
Intelは32ビット対応を完全に排除した新たなアーキテクチャの開発を検討
という記載がある。
ITmedia
一方 ITmedia は
見出しのあたりに
Intelが64bitオンリーの「X86-Sアーキテクチャ」の仕様を初公開
とあるが、よく読むと(強調引用者)
32bitアプリの部分サポートに、64bit向けの簡略化された部分モデルを利用する
という記載もある。
32bit アプリは部分サポート?
Impress Watch
一方 Impress。
見出しは
8086互換を切り捨て
となっていて、32bit を捨てるという雰囲気ではない。
本文中には
ただし、64bit環境下で32bitアプリを動作させるための「Compatibility Mode」は残すとしている。
と書いてあり、Gigazine とはだいぶ雰囲気が違う。
本当のところは?
まだ提案段階なので今後に期待だけれども。今の
https://www.intel.com/content/www/us/en/developer/articles/technical/envisioning-future-simplified-architecture.html
には
という画像があり、32bit アプリが動かなくなるという趣旨の提案ではないことがわかる。
変わるのは
起動シークエンスが変わる。
今までは、起動した瞬間は 8086互換、つまり16bit だったけど、X86-S では最初から 64bit になる。
起動シークエンスを実装する人には大問題だけど、そうでない人にはどうでもいい変更。
以下は廃止
- 32-Bit Ring0(VM86)
- Ring1 と Ring2
- 16-bit リアルモード
- 16-bit プロテクトモード
- 16-bit アドレッシング
これで全部じゃないけど、私が理解できるものについてはいずれも 64-bit OS の上で仕事をする人には関係がなさそう。
ということで
ということで、確実に関係あるのは
- 64-bit モードになるまでのソフトウェアを書く人 → 書き直す
- 32-bit OS を使っていた人 → 無理
- 16-bit アプリケーションを 64-bit OS から使っていた人 → 無理
とか。あるいは
- デバイスドライバを書く人 → OS によっては対応必要かも。どうなんだろ。
も関係あるかもしれない。
おそらく「32-bit アプリケーションを 64-bit OS 上で動かす」は今まで通りできるので、OS の上で OS が提供する API を叩いている人には影響がないんじゃないかと思う。
Windows 11 で動くものを書いている人は、たぶん全員関係ない。
高速化と効率化
Gigazine には
64ビットへの対応が進んだ記事作成時点でも計算処理を実行する前に「何ビットで処理を実行するか」という確認処理が行われており、高速化や効率化の足かせとなっていました。
という記載があるんだけど、そんなことはないんじゃないかと思う(思うだけ。未確認)。
前述の intel のページにも、
https://cdrdv2.intel.com/v1/dl/getContent/776648
の PDF にもそのような記載は見つけられなかった。全部読んだわけじゃないので見落としの可能性は大いにあるけれど「計算処理を実行する前に「何ビットで処理を実行するか」という確認処理が行われて」いるような気は全然しない。
機能の削除によって(ほんの少し)シリコンが減り、その分発熱が減ったり、開発が楽になったり、セキュリティホールができにくくなったりするんだと思う。
というわけで
というわけで OS があることが前提の世界で暮らしていて、デバイスドライバを書くわけでもない人は X86-S の到来による変化は実質ゼロだと思う。
ソフトウェアで何か改修が必要になるわけでもないし、速度向上が観測できるわけでもない。
長期的には、CPU の値段が下がったりするかもね。