30周年を控えるx86アーキテクチャ--「愛され続ける」その理由 - (page 2)

文:Tom Krazit(CNET News.com) 翻訳校正:緒方亮、高森郁哉2007年04月12日 17時46分

 IBM製や、いわゆるクローンメーカー製のPCを使う人が増えるにつれて、x86はPC市場で他に置き換えられない中心的な存在になっていった。1990年代半ばにIntelがx86チップでサーバ市場に参入すると、x86 ISAの支配はさらに強化された。現在では世界で出荷されるサーバの90%以上が、IntelかAMDのx86プロセッサを搭載している。

 IntelとAMDは、拡張命令セットを継続的に追加することで、x86 ISAが時代遅れにならないようやりくりしてきた。たとえば、Intelは1990年代半ば、「MMX」や「SSE」といった命令セットを追加し、グラフィックスのパフォーマンスを改善した。AMDはこの10年、レジスタの問題を回避するのに役立つ64ビット拡張命令を追加してきた。Microsoftの研究部門担当シニアバイスプレジデントRick Rashid氏は、「命令のレベルでは、膨大な数の変更を経験してきた。ただ、それを同じ名称で呼び続けているだけだ」と話す。

 しかし、x86 ISAへの拡張命令は世代を重ねても、チップはますます複雑になり、その一方で、ソフトウェアの互換性を保証するため、旧来の機能も依然としてサポートしている。

 仮想化ソフトウェアの新興企業XenSourceのCTO、Simon Crosby氏は「Intelのアーキテクチャがこれほど複雑である理由はまったくない」と話す。「チップ上のトランジスタの60%を捨てられない理由はない。そのほとんどは、レガシーモードのために存在している」

 仮にチップメーカーが、自社のチップで実行できるソフトウェアは、1990年以降、あるいは1995年以降といった具合に、ある年代以降に書かれたものに限られると宣言すれば、コストと消費電力は劇的に抑えられるだろうと、Crosby氏は指摘する。だが、問題となるのは、Windows内部の深層に、1980年代のOSであるMS-DOSから引き継いだコードがあるため、このコードが起動時に一部の命令を探してしまうことだ。

 これは、IntelとHewlett-Packard(HP)がEPICのプロジェクトを始めた動機の一部でもあった。このプロジェクトでは、x86に固有のものやレガシー技術へのサポートの大部分を取り除いたうえで、次の20年に向けて現代的な基盤を提供する「白紙からの」設計を目指した。

 だがEPICは、新しい命令セットをこんなやり方で導入したら失敗する、という教訓になってしまった。ソフトウェア開発者は新たなコンピューティング言語の習得の必要性にしり込みし、販売開始当初の問題によって、IntelとHPがこのプロセッサで広範な市場を築く機会が妨げられた。AMDによる64ビットx86プロセッサの「Opteron」(後にIntelによって模倣される)が歓迎されたことがとどめの一撃となり、EPICとItaniumは、Itaniumのパフォーマンスを利用するためのアプリケーション移植が有効なハイエンドサーバ市場へと追いやられた。

 多くの物事に通じるが、突き詰めるとお金の問題になった。x86向けに書かれたソフトウェアには、これまでに膨大な額が投じられてきた。技術業界で最大級の影響力を持つIntelでさえも、ソフトウェア開発者にこうした過去の投資から縁を切るよう説得することはできなかったのだ。

x86に代わる選択肢はあるのか

 IntelのCTOを務めるJustin Rattner氏は2006年、Intelが近い将来において新しいISAを開発する計画はないと述べた。Microsoftは1999年に「Windows NT 4.0」で複数の異なる命令セットをサポートしたことがあるものの、同社のRashid氏は、Microsoft研究部門には現在x86と競合する命令セットに関するプロジェクトは一切ないと語った。

 それでは一体、何が命令セットをめぐる勝負を変え得るのだろうか。パフォーマンスはいつの時代も、ソフトウェア開発者に興味を抱かせる一手段だが、劇的な向上は期待できそうにない。いわゆる「白紙からの」設計をしても、最新のx86 ISAに対してパフォーマンスや消費電力を10%以上改善できる見込みはない、とHester氏は話す。

CNET Japanの記事を毎朝メールでまとめ読み(無料)

-PR-企画特集

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]