09/12/12 11:12:39 9Hs4LacJ
HPC用途には、x86系は無駄が多すぎ、さらにオーバーヘッドの多すぎる
アーキテクチャーです。もともと8080とか8086はバイト単位のキャラクター
処理を中心に据えて、メモリバス幅も16ビットとか32ビットなどと狭く、
レジスタも本数が少なくて、浮動小数点演算はオプションのコプロセッサか
ソフトウェアによるエミュレーションだったわけです。アドレス空間も16
ビットとかだった。
386、486、Pentium、x86_64、Coreアーキテクチャーなどと屋上屋を重ねて
過去のソフト資産を守るために拡張に次ぐ拡張を繰り返して来ましたが、
命令もレジスタによる癖があるし、可変長の命令語の構造をしていたり、
おかげで命令デコーダーも、パイプラインの構造も複雑怪奇で面積と電力を
食いすぎるのです。PowerPCの方がずっとましなわけですが。
Windows7で16ビットコードアプリケーションを棄てられたのだったら、
インテルCPUも16ビット時代の命令を廃止し、さらには32ビット時代の
命令も廃止すべきでしょう。
さらによくしようとするならば、モード切替え命令で、従来のインテル
命令セットから完全に新しい命令セットへ動作モードが変わる
及びその逆のような仕掛けを取り入れればいいでしょう。これはSPARC
などでも同じことが言えます。OSやらコンパイラやらを使いつづけるために
古いマシン語モードを持ち、HPCのアプリあるいはライブラリのカーネルでは
命令セットを切り替えて使う。
まあx86とx86_64 の関係もその一種ですけれども。
やはり、トロンではありませんが、学校や役所などで新アークテクチャ-の
マシンを使い、前提としてその上のアプリケーションや開発環境、もちろん
OS、GUIも同時に提供することで、x86アークテクチャ-にロックインされず、
しかもある程度量産化による安価なCPUをつくるべきでしょう。
どうしてもx86系統でなければだめだというなら、AMDを買収する、VIAを
買収する、。。。など互換チップを生産できるメーカーを買うのでしょうか。