元麻布春男の週刊PCホットライン

IA-32は5年後も現役?



Itanium 2 1.50GHz

 日本時間の7月1日(米国時間の6月30日)、IntelはItanium 2プロセッサに、1.50GHz(6MB L3キャッシュ)、1.40GHz(4MB L3キャッシュ)、1.30GHz(3MB L3キャッシュ)の3品目を追加した。これまでMadisonという開発コード名で呼ばれてきたこのプロセッサは、IA-64に準拠したものとしては第3世代に相当する。

●Itanium 2のIA-32互換機能はソフトで実現

 基本的にMasisonは、第2世代のIA-64プロセッサであるMcKinleyのL3キャッシュを増量したもの。マイクロアーキテクチャにも手が入れられているが小幅にとどめられているため、プロセッサ名はItanium 2のままとなっている。McKinleyの登場時は、IntelからMerced(最初のIA-64プロセッサ)用のバイナリのままでも性能は向上するが、McKinley用のバイナリを用いることでさらに性能が向上するという説明があったが、今回はそうした説明もない。

 また、Madisonではパッケージ(PAC611)やTDP(130W)もMcKinleyから据え置かれており、McKinley用のプラットフォームでそのまま同じソケットで差し替えが可能だ。これは、2005年にリリースされる予定のMontecitoコアまでプラットフォームレベルでの互換性を維持する、という公約に沿ったものである。L3キャッシュの増量でMadisonのトランジスタ数は4億1,000万個と、McKinleyの2倍近くに膨らんだが、それでも同じ熱設計で収まるのは、製造プロセスが0.13μmに微細化されたことが大きい。

 これまでIA-64のプロセッサは、IA-32互換のハードウェアを搭載してきたが、その点についてはMadisonも同様だ。それは、IA-32互換ハードウェアが対応する命令セットがSSEどまりで、Pentium 4に搭載されているSSE2に対応していない点まで同じである。というより、基本的にIntelは、IA-64が内蔵するIA-32互換ハードウェア部に手を入れるつもりがない。

 その代わりにIntelが計画しているのは、IA-64上で動作するソフトウェアによる互換性の確保だ。この秋にもリリースされる予定のIA-32 Execution Layerは、その名前の通りIA-32とのソフトウェア互換性を確保するためのソフトウェア。基本的にはIntelからOSベンダ各社に提供され、OSベンダが自社のOSに組み込むという形でユーザーに提供される(したがってOSにより利用できる時期が異なる可能性がある)。

 IA-32との互換性をソフトウェアに移すことで、SSE2やPNI(次世代のデスクトップ向けプロセッサであるPrescottに搭載される13の新命令)といったIA-32の命令セット拡張に対応することが容易になる。また、IA-64の性能向上に比例してIA-32互換の性能も、自然と向上するというメリットもある。

●IA-32は5年後も現役?

Pentium 4

 その性能だが、MadisonとIA-32 Execution Layerの組み合わせで、だいたいXeon MP 1.50GHz相当の水準と言われている。これは、IA-32互換ハードウェアの性能に匹敵するもので、IA-64の性能向上に加え、IA-32 Execution Layerそのものの改良により、さらに改善される見込みだ(IA-32互換ハードウェア部には手を入れない方針のため、プロセッサのクロック引き上げ分の性能向上がもたらされるかも定かではない)。

 Intelは、今後のIA-64の性能向上について、3年後に13倍を目標に開発していることを明らかにした(同スパンにおけるIA-32の性能向上目標は4倍)。となると、現在MadisonとIA-32 Execution Layerの性能がIA-32プロセッサの約2分の1まできていることからして、単純計算では3年後にはIA-32の性能においてもIA-64プロセッサの方が上回ることになる。

 だが、どうやらこれには若干の前提条件が必要になりそうだ。3年後、つまり2006年のIA-64プロセッサは間違いなく複数のコアを持ったプロセッサになる(2005年に登場するMontecitoでデュアルコア化されることが明らかにされている)。13倍の性能というのは複数コアの合計による性能で、コア1つあたりの性能の伸び率は、これより低くなるものと思われる。

 マルチコア(マルチプロセッサ)による性能向上は、アプリケーションに大きく依存するため、サーバのようなアプリケーションでは大きな効果が期待できるが、デスクトップのような用途においては、アプリケーションやユーセージモデルにドラスティックな変革がない限り、劇的な効果は期待できない。

 おそらく、デスクトップアプリケーションを前提にすると、3年後においてもIA-32プロセッサの方が、IA-32アプリケーションに関しては高い性能を示すものと思われる。実は、今年の2月に開かれたIDFでIA-32 Execution Layerについての説明が行なわれた際、筆者はIA-64プロセッサとIA-32 Execution Layerの組み合わせの性能が、IA-32を上回るのはいつごろと予想しているか、という質問をした。その答えは、IA-32チームも一生懸命に性能向上の努力をしているから、少なくとも5年以内に上回れる気はしないし、それ以上先のことは分からない、というものだった。

 これらのことは筆者に2つのことを示唆してくれた。1つは、Intelは5年後においてもデスクトップPC等の主流はなおIA-32プロセッサである、と考えているということであり、もう1つはサーバにおいては5年後は相当の部分がIA-64でカバーされることになるだろう、ということだ。

●ソフトウェアが鍵を握る、64bitへの移行

 これまでデスクトップPCのプロセッサは、8bit、16bit、32bitと進化してきた。過去の進化の区切りにおいて、進化のカギを握ってきたのはソフトウェアであり、実はプロセッサは二義的な役割しか果たしていない。8bitから16bitへ移行した最大のポイントは64KBから1MBというメモリ空間の問題だと思われがちだが、結局はMS-DOSとその上に提供されていたソフトウェア開発環境こそが移行をもたらしたのだと思っている(64KBではまともな開発環境が動かない、という点ではニワトリと卵の関係ではあるが)。16bitから32bitへの移行をもたらしたのは、まちがいなくWindows 3.0の登場である。

 また、それぞれの移行期において、アプリケーション側から切実な要求があったことも忘れてはならない。8bit時代の末期、アプリケーションプログラマは何とかアプリケーションを8bitマイコンの限られたメモリスペースにおさめようと、使われていないVRAM(今風に言えば、フレームバッファ以外のディスプレイメモリ)にまでプログラムを転送した。16bit末期においては、LIM EMS 4.0のように、バンク切り替えで少しでも多くのメモリを活用しようとした(このメモリの制約も、ソフトウェアによるものなのだが)。こうした涙ぐましい努力は、少なくとも現時点で行なわれていないように思う。

 現在、プロセッサとしては64bit対応をうたうものが登場してきているが、プラットフォームが完全に64bitへ移行するかどうかは、やはりソフトウェアしだいだ。【表1】は先日MicrosoftがリリースしたWindows Server 2003のエディション別マルチプロセッサおよびメモリサポートの比較だが、Standard Editionの最大メモリは4GBに過ぎない。

【表1】 Windows Server 2003のプロセッサおよびメモリサポート
 Datacenter EditionEnterprise EditionStandard EditionWeb Edition
マルチCPU(32bit)最大32最大8最大4最大2
最大メモリ(32bit)64GB32GB4GB2GB
マルチCPU(64bit)648サポートなしサポートなし
最大メモリ(64bit)512GB64GBサポートなしサポートなし

 4GBは今時の10万円しないデスクトップPCでも簡単に実装可能な容量だが、PC用ソフトウェアの事実上の支配者であるMicrosoftは、標準サーバのメモリは4GBもあれば十分だと考えているのである(同時にこの表は、現在の32bitプロセッサはアドレス拡張されており、64GBのメモリをサポート可能であることを示しており、メモリの制限は、プロセッサによるものではなく、ソフトウェアによるものであることが分かる)。一般にサーバよりメモリに対する要求が低いといわれているデスクトップ向けのOSが、4GBのメモリしかサポートしないのは、同社にしてみれば当然のことと言えそうだ。

 つまり、デスクトップPCにおいて64bitプロセッサが提供する広大なメモリ空間というメリットは、現時点では不必要だと少なくともMicrosoftは考えている。ちなみに、世界初の64bitパソコンをうたうPowerMac G5上で動作するMac OS Xも32bit OSであり、64bit OSであるSolarisにおいてもその上で稼動するアプリケーションには少なからず32bitのものが含まれている。

 こうしたソフトウェアの状況を見れば、IntelがクライアントPC向けにIA-32を当面続ける考えなのも、あながち間違っているとは言えない。64bitへの移行のカギを握るのは、プロセッサではなくソフトウェアなのである。逆にいえば、ソフトウェアがプロセッサに64bit化を要請するような状況になれば、IntelもデスクトップPC向けに64bitプロセッサをリリースするのにやぶさかではないハズだ(それがIA-64のスケールダウン版になるのか、一部で噂されるAMD64ライクなハイブリッド版になるのかは別にして)。

●サーバーでは64bit化が進む

 その一方で、サーバでは64bit化が徐々に進むものと思われる。少なくとも、バックエンドのマルチプロセッササーバは、確実に64bit化が進むハズだ。こうした種類のサーバでは、動くアプリケーションの種類がDBエンジンなどに限られており、64bitのソフトウェア環境を揃えやすい。

 【表2】は今回発表されたItanium 2と同時発表されたXeonプロセッサMP(Gallatin)の価格を比べたものだが、その価格差が小さいことに気づく(比べやすいように、価格を中央に配した)。もちろん、システム価格はプロセッサだけでなく、マザーボード(チップセット)や他のコンポーネントの価格に大きく影響されるわけだが、プロセッサの価格だけを見る限り、筆者などXeon MPよりItanium 2を選びたくなる(実際にこのクラスのサーバを買うことはないだろうが)。

【表2】 Itainum 2プロセッサとXeonプロセッサMPの価格
Itanium 2プロセッサXeonプロセッサMP価格差
1.5GHz/6M L3キャッシュ496,400円433,700円2.8GHz/2M L3キャッシュ62,700円12.6%
1.4GHz/4M L3キャッシュ264,000円232,600円2.5GHz/1M L3キャッシュ31,400円11.9%
1.3GHz/3M L3キャッシュ157,200円138,300円2GHz/1M L3キャッシュ18,900円12.0%

 この表は、Intelが4ウェイ以上のマルチプロセッササーバについて、64bit化を積極的に進めていく意向であることを示している。今からこの価格差では、3年後(IA-64の性能が13倍になるころ)にどうなるかは、火を見るより明らかだ。

□関連記事
【7月1日】インテル、6MBのL3キャッシュを搭載した新Itanium 2発表
http://pc.watch.impress.co.jp/docs/2003/0701/intel.htm
【5月6日】【海外】Prescottは64bitアドレッシングを実装?
http://pc.watch.impress.co.jp/docs/2003/0506/kaigai01.htm

バックナンバー

(2003年7月3日)

[Text by 元麻布春男]


【PC Watchホームページ】


PC Watch編集部 pc-watch-info@impress.co.jp 個別にご回答することはいたしかねます。

Copyright (c) 2003 Impress Corporation All rights reserved.