ニュース解説
64bitプロセッサで別々の道を歩き始めたIntelとAMD 小林章彦 |
2000年8月10日、AMDが「x86-64アーキテクチャ」の概要を明らかにした(AMDの「x86-64アーキテクチャ」の仕様発表に関するニュース・リリース)。これで、Intelの「IA-64」に対抗する、AMDの64bitプロセッサの概要が明らかになったことになる。AMDは、K5とK6の世代ではIntelが開発したプラットフォーム(チップセットなど)に対応したPentiumソケット互換のプロセッサを販売してきた。これは、ある意味Intelの軒下の片隅を借りていたような状態である。これがAthlonの世代になり、x86互換であるものの、チップセットなどは独自のものが必要になるなど、Intelの軒下から一歩飛び出した。それでも、OSやアプリケーションといったソフトウェア資産は、Intelアーキテクチャ(IA-32)のものがそのまま使用でき、互換プロセッサという地位は維持し続けている。
ところが、次世代のハイエンド・プロセッサとなる64bitプロセッサでは、互換プロセッサというバッチを捨てて、別々の道を歩くことになった。Intelは、これまでのIA-32(x86アーキテクチャ)とはまったく異なる64bitアーキテクチャのIA-64をHewlett-Packardと共同開発、すでにサンプル出荷を開始したItaniumに採用している。Itaniumは、IA-32との互換性を維持しているものの、IA-64モードでなければプロセッサの実力を十分に発揮できないという。IA-32との互換性は、あくまでIA-64への移行をスムースに行うための補助輪にすぎないのだ。
一方のAMDは、Intelとはまったく異なるアプローチを64bitプロセッサで採用することにしている。AMDは、「x86-64アーキテクチャ」と呼ぶ、既存のx86アーキテクチャを拡張することで64bit化を行うことにした。つまり、本家のIntelはx86アーキテクチャとの決別を決め、互換プロセッサ・ベンダのAMDはx86アーキテクチャを継承するという戦略を採用したわけだ。これは、PC/ATの本家IBMがISAを捨ててMCA(Micro Channel Architecuture)に走り、Compaqなどの互換PCベンダがISAと互換性を持つEISAを採用したときのようだ。結果的にIBMは、MCAから撤退することになったのだが、64bitプロセッサ戦略の結末はどのようになるのだろうか? ここでは、Itaniumとx86-64アーキテクチャの現状をまとめよう。
Itaniumはすでに量産出荷状態にある
2000年8月2日、Intelのマイクロプロセッサ・プロダクツ・グループのマーケティング・ディレクタ、ロン カリー(Ron Curry)氏が来日、Itaniumプロセッサの現状について説明を行った。Itaniumは、IntelのIA-64を採用する初めてのプロセッサである。当初はハイエンド・サーバ向けに出荷されるということもあり、プロセッサの出荷がすぐにサーバ製品の出荷に直結するわけではなく、チップセット、コンパイラ、OS、アプリケーションがしっかりと検証され、安定動作が保証されてから、ソリューションとしてのItaniumシステムが発表されるという。カリー氏によれば、「Intelではすでに約2万個のItaniumをサンプル出荷しており、他社であれば量産出荷開始と発表している状態にある」と64bit戦略でのリードをアピールした。
今回のItaniumに関しては、プロセッサが完成しても、対応アプリケーションを含めたソリューションでの提供が行えなければ意味がないことから、デスクトップPCとは異なるアプローチで開発を行っている。Itaniumでは、エバンジェリング(伝道)、プロトタイプ・リリース、デベロッパ・リリース、パイロット・リリース、プラットフォーム・リリース、ソリューション・リリースの6段階に分けて、段階的に作業を進めることにしたということだ。現在、Itaniumはデベロッパ・リリースの段階だが、2000年第4四半期にはパイロット・リリースに移行する予定である。パイロット・リリースになれば、特定の顧客向けにサーバの出荷が開始される。このような段階を経るのは、パイロット・リリースによって早期にアクセスしたい顧客に対応でき、プラットフォーム・リリースやソリューション・リリースの時点では、ある程度Itaniumの実力が発揮できる状態の「ソリューション」としての提供が可能になるので、多くの顧客のニーズを満足させられるからだ、としている。
プラットフォーム・リリースへの移行は、2001年第1四半期を予定しているが、パイロット・リリースの状況がよければ、もう少し早まる可能性もあるようだ。逆に、何か大きな問題が発生すれば、遅れることになる。カリー氏は、「これだけの大きなシステムになると、バグがまったくないと言えばウソになるが、現状では大きな問題が発生しないレベルに達しており、予定どおりプラットフォーム・リリースへの移行が行える」と述べている。これを裏付けるように、2000年8月22日から開催された「Fall 2000 Intel Developer Forum」では、Itanium搭載のシステムを9社が展示し、各種デモンストレーションを行っている(IDFにおけるItaniumのデモンストレーションに関するニュース・リリース)。
こうした計画を受けて、IntelではItaniumの売り上げの計上を2000年第3四半期から第4四半期に延ばしている。ただ、「IA-64は長期的なプログラムであり、この程度の遅れはまったく問題にならない」とカリー氏。また、若干遅れた原因として、多くのソフトウェアがかかわっており、顧客のIntelへの期待を満たすには、高い水準の完成度が要求されることや、テストや検証に多くの時間が必要であることを挙げた。さらに、今後のItaniumの出荷に関しては、細かい動作クロックの違いでリリースするよりも、年に2〜3回程度、決まったタイミングでリリースしていくことが重要であるとし、デスクトップPC向けプロセッサのように頻繁に動作クロックを上げた製品を発表する予定はない、という方針も明らかにしている。これは、動作クロックが違っても、ソフトウェアなどの検証作業が必要となるため、顧客(サーバ・ベンダ)がそういった細かいリリースを望んでいない、という調査結果によるものだ。
Intel初のハイエンド・サーバ向けのプロセッサ計画は、ほぼ予定どおりに進行しているようだ。当面、Itaniumはハイエンド・サーバに限られた展開を行うが、順次ミドルレンジ・サーバやワークステーション、デスクトップPCクラスにまで採用を広げることになる。ただし、デスクトップPCクラスにまで下りてくるには、数年から十数年の歳月が必要になると、Intelでは予想している。
x86を拡張した64bitアーキテクチャ「x86-64アーキテクチャ」
一方のAMDが採用するx86-64アーキテクチャは、IntelのIA-64とは大きく異なる戦略をとる。x86-64アーキテクチャは、1999年10月5日にMicroprocessor ForumでAMDが発表したもので、このときx86命令セットを拡張する形で64bit化を行うことが明らかにされた(AMDの新テクノロジ発表のニュース・リリース)。この時点では、詳細については発表されなかったが、2000年8月10日になり「x86-64アーキテクチャ」仕様の概要が明らかになった。
このニュース・リリースによれば、現在のx86命令セットに対し、64bit向けの命令と8個の汎用64bitレジスタ、8個のストリーミングSIMD拡張命令用128bitレジスタを追加し、64bit化を行うということだ。既存のx86と互換性を持つレガシー・モードと、64bit環境のロング・モードの2つのモードを持つ。さらに、ロング・モードにも互換モードを備えており、OSは新しい64bit対応版が必要になるものの、既存のx86のアプリケーションを再コンパイルせずに実行できる。
モード | OS | アプリケーションのリコンパイル | アドレス・サイズ(bits) | オペランド・サイズ(bits) | 拡張レジスタ | 汎用レジスタ幅(bits) | |
ロング モード | 64bitモード | 新しい64bit OS | 〇 | 64 | 32 | 〇 | 64 |
互換モード | × | 32 | × | 32 | |||
16 | |||||||
レガシー モード | 既存の32bit/16bit OS | × | 32 | 32 | × | 32 | |
16 | 16 | ||||||
x86-64アーキテクチャの動作モード |
|||||||
レガシー・モードは既存のx86アーキテクチャでの動作モード、ロング・モードは64bit環境での動作モードとなる。ロング・モードの互換モードでは、新しい64bit OSが必要になるものの、既存のx86アプリケーションがそのまま実行できる。 |
なお、x86-64アーキテクチャは、2001年末に発表が計画されている開発コード名「Hammer(ハンマー)」プロセッサ・ファミリに実装される予定である。Hammerは、これまで開発コード名「SledgeHammer(スレッジハンマー)」と呼ばれていたもので、Athlonプロセッサの上位、サーバ/ワークステーション向けに位置付けられている。
x86-64アーキテクチャは、Intelの64bitアーキテクチャであるIA-64とはまったくアプローチが異なるものだ。IA-64が64bitの命令セットなどをまったく新規に定義しているのに対し、x86-64アーキテクチャは現在のx86命令セットの上位互換として64bit命令を定義している。ちょうど、x86命令を16bitから32bitへと拡張したように、32bitから64bitへと拡張しようというわけだ。
AMDの「x86-64アーキテクチャの仕様発表」のニュース・リリースの中で、AMDのコンピューテーション製品グループのマーケティング担当副社長 デビッド ソモ(David Somo)氏は次のように述べている。
「究極的には、このテクノロジは法人ユーザーのみなさまが32bitのオペレーティング システムやアプリケーション、開発ツール、サポート インフラなどへ投じた巨額の投資を無駄にすることなく、同時に将来の64bitテクノロジへシームレスに移行する手段を確保することを目指して設計されました」 |
と述べているように、互換性を維持することで、これまでのソフトウェア資産を生かしながら、64bitへ移行していこうという戦略だ。
こうした既存のアーキテクチャをベースに拡張する方法は、x86アーキテクチャでは16bitから32bitへの移行に続いて2度目になる。Intelも、16bit(80286)時代に「iAPX 432」という新しい命令セットを持った32bitプロセッサを開発し、x86命令セットから独自の命令セットに移行を試みたのは有名な話である。1980年に「iAPX 432」として発表されたが、プロセッサが2つ、I/Oコントローラ、メモリ・コントローラの合計4チップから構成される複雑なものであったこと、x86用ソフトウェア資産などがすべて無駄になってしまうという理由から、市場にはまったく受け入れられなかった。結局、iAPX 432はキャンセルされ、80286と互換性を持つ32bitプロセッサ「Intel 386」の開発へと方針を変えた経緯がある。その後のIntel 386、Intel 486、Pentiumと続く互換路線がIntelの今日の繁栄を築いているのはご存じのとおりだ。
AMDは、このIntelの過去を見習うつもりなのか、32bitから64bitへの移行でも既存のx86命令セットを拡張するという手法を選択した。しかし、一方で次々と命令を拡張してきたため、x86命令セットは複雑で効率が悪くなっているのも事実だ。現状でもx86命令セットは、増改築を繰り返した古い温泉旅館のように複雑で分かりにくいものになっている。これを64bit化するというのは、さらに増改築を行って迷路を巨大化させることにもなりかねない。こうなってしまっては、命令のデコードがボトルネックになり、いくらマイクロアーキテクチャを工夫しても、性能の向上が見込めなくなってしまう。Intelが64bitアーキテクチャを規定するにあたり、x86命令の拡張という路線を選択しなかったのは、ここでx86命令セットから脱却することで、マイクロプロセッサの新たな性能向上の可能性を見出そうとしたからだろう。
x86-64アーキテクチャはIA-64対抗になれるのか?
x86-64アーキテクチャは、既存の豊富なx86アプリケーションを再コンパイルなしで、そのまま実行可能な点は魅力だ。IA-64(Itanium)でも、プロセッサに実装されたx86互換機能により、x86アプリケーションを再コンパイルなしに実行可能だが、あくまで互換性維持のために実装された機能だと明言されており、プロセッサ本来の性能を発揮できるわけではない。その一方、将来性という点では、未知の部分はあるものの、x86アーキテクチャの制約がないIA-64のほうが有利にみえる。
Intelは、Itaniumの立ち上げに5年間をかけ、OSやコンパイラ、アプリケーションなどを揃えてきた。これに対し、x86-64アーキテクチャは概要が発表されたばかりであり、OSの対応などはこれからである。とはいえ、x86-64アーキテクチャは既存のx86アーキテクチャを拡張しているだけなので、OSの64bit化は比較的容易だと考えられる。ただ気になるのは、Linuxをx86-64アーキテクチャに対応させるという発表はあったものの、Windows 2000のx86-64アーキテクチャ対応版の話が聞こえてこない点だ(Linuxのx86-64アーキテクチャへの対応に関するニュース・リリース)。ハイエンド・サーバ分野では、Windows NT/2000のシェアはそれほど高くはないものの、OSとしてLinuxしか用意されないのでは活躍の場は限定されてしまうだろう。
一方、64bit対応のアプリケーションについて、AMDでは2000年9月にx86-64アーキテクチャに関するWebサイトを開設し、ここで「x86-64テクノロジ・シミュレータ」などの無償配布を行うことで、オープン・コミュニティを取り込んで充実を図るようだ。ただ、64bit環境が望まれるハイエンド・サーバ分野では、大手ベンダの動向がカギになる。そのような大手ベンダに対し、AMDが今後どのようなアプローチをとっていくのかが、x86-64アーキテクチャの未来を左右することになるだろう。
また、64bit環境を当面ハイエンド・サーバ/ワークステーション向けと考えているIntelに対し、AMDではデスクトップPC用やノートPC用のプロセッサにも積極的にx86-64アーキテクチャを採用していくとしている。IA-64に比べ、x86-64アーキテクチャは既存のx86互換プロセッサとの違いが少ないことから、デスクトップPC/ノートPCでも採用しやすいという面があるからだろう。また、デスクトップPCやノートPCから64bit化を進めることで、アプリケーションなどを充実させ、サーバやワークステーションへとボトムアップで採用が広がることを期待している面もあるに違いない。
x86の次世代アーキテクチャとして、IA-64が標準となるのか、x86-64アーキテクチャが標準になるのかはまだ分からない。とりあえず、すでにItaniumのサンプル出荷が始まっているIA-64が一歩リードしているのは間違いない。これに対し、x86-64アーキテクチャが既存のx86命令セットとの互換性を生かして、どれだけ素早くソリューションを提供できるレベルになるのかがポイントになるだろう。
関連リンク | |
x86-64アーキテクチャ」の仕様発表に関するニュース・リリース | |
IDFにおけるItaniumのデモンストレーションに関するニュース・リリース | |
新テクノロジ発表のニュース・リリース | |
Linuxのx86-64アーキテクチャへの対応に関するニュース・リリース | |
x86-64アーキテクチャに関するWebサイト |
「PC Insiderのニュース解説」 |
- Intelと互換プロセッサとの戦いの歴史を振り返る (2017/6/28)
Intelのx86が誕生して約40年たつという。x86プロセッサは、互換プロセッサとの戦いでもあった。その歴史を簡単に振り返ってみよう - 第204回 人工知能がFPGAに恋する理由 (2017/5/25)
最近、人工知能(AI)のアクセラレータとしてFPGAを活用する動きがある。なぜCPUやGPUに加えて、FPGAが人工知能に活用されるのだろうか。その理由は? - IoT実用化への号砲は鳴った (2017/4/27)
スタートの号砲が鳴ったようだ。多くのベンダーからIoTを使った実証実験の発表が相次いでいる。あと半年もすれば、実用化へのゴールも見えてくるのだろうか? - スパコンの新しい潮流は人工知能にあり? (2017/3/29)
スパコン関連の発表が続いている。多くが「人工知能」をターゲットにしているようだ。人工知能向けのスパコンとはどのようなものなのか、最近の発表から見ていこう
|
|