![]() |
|
●CMPはいちばん容易な解
CPUをどうやって電力消費の面から見て効率的なアーキテクチャにするのか。前回のコラムでは、Intelのパット・ゲルシンガー副社長兼CTO(Intel Architecture Group)が「ISSCC (International Solid-State Circuits Conference 2001) 2001」で示した解決策のうち、マルチスレッディングについてレポートした。では、それ以外の解決策は?
![]() |
Multiple CPU on Die |
ゲルシンガー氏が次の指摘したのは「マルチCPU On-Die」だ。これは、「チップマルチプロセッサ(CMP:Chip MultiProcessor)」と呼ばれることもあるが、非常に簡単な話で、ワンチップに複数のCPUを搭載してしまうことだ。つまり、CPUのダイがどんどん小さくなるので、そうしたら2CPUをまとめてワンチップにしてしまおうというわけだ。それで、共有の大容量L2キャッシュもそこに統合すればCMPのできあがりだ。
CMPの効用は、複数スレッドをふたつのCPUが別々に走らせることで効率が上がること。ゲルシンガー氏によると、2つのCPUコアが同時にマックスパワーになる確率は極めて低いために、結果として性能に対する電力消費を抑えられるという。また、L2キャッシュも大容量を2CPUで共有した方が、分散してL2キャッシュを備えるよりも効率がいいとゲルシンガーは説明する。CMPは、すでにIBMの「Power4」とSunの「MAJC-5200」などが採用している。
CMPの利点はマルチスレッドプロセッサよりもCPUのデザインが容易なことで、既存のCPUコアに多少手を加えるだけで、そのまま搭載できる。開発期間も開発リソースも少なくて済む。おそらく、Intelからも比較的早い段階でCMPデザインのプロセッサは登場するだろう。もっとも簡単に、電力密度の問題を解決する手段だからだ。
例えば、Intelは2002年に、2世代目のIA-64プロセッサ「McKinley(マキンリ)」の0.13μm版「Madison(マディソン)」を出す予定だが、このMadisonにCMP構成バージョンが登場したとしても驚かないだろう。ハイエンドサーバー&ワークステーション向けCPUとなると、1個を何十万円で売るのでダイサイズは大きくなっても構わない。むしろ、マルチプロセッサのシステム構成が容易になるので、全体で見るとコストが安くなるかもしれない。それで、最大の問題である電力密度(Power Density)を減らせるのなら御の字だろう。
●SIMDは性能/面積比で見ると有利
一方、デスクトップCPUではCMPは採用しにくい。デスクトップPC向けCPUでは、そこまでさすがにダイの余裕がないし、ソフトウェア環境も考えるとリニアな性能向上がまだ見込みにくいからだ。むしろこちらはマルチスレッドプロセッサになって、投機マルチスレッディングを実装するというのがありうるシナリオだろう。もちろん、投機マルチスレッディングを採用するならバリュー予測もセットということになる。
しかし、Intelがどの時点から設計を始めたかわからないが、そうした大幅なアーキテクチャ改良をしたCPUは、すぐ(0.13μm世代)には出すことができないと思われる。出てくるとしても、次の次(0.10μm世代か0.07μm世代?)あたりではないだろうか。ちなみに、サーバー&ワークステーション向けもCMPに加えて、マルチスレッディングをサポートする方向に向かうと思われる。
では、それまでの解はどうなるのか。ゲルシンガー氏は、特定用途の性能を向上させて行くことが重要だと指摘する。もっとも、これはIntelがすでにやってきたことで、MMX、SSE、SSE2の各命令と、その演算器をCPUに実装してきた。こうした、1命令で複数のパック化されたデータに対して同じ処理を同時に実行する「SIMD(Single Instruction, Multiple Data)」の整数演算/浮動小数点演算は、ダイ面積当たりの性能、つまりMIPS/平方mmが高くなるという。Intelによると、10%程度ダイを増やすだけで、1.5~4倍の性能アップができるという。以下がその表だ。
ダイ面積 | 消費電力 | 性能 | |
---|---|---|---|
汎用演算器 | 2倍 | 2倍 | ~1.4倍 |
マルチメディア演算器 | <10% | <10% | 1.5~4倍 |
●統合化はデスクトップ/モバイルでは有望か
また、ゲルシンガー氏は、CPUに他のコアを統合することも、電力密度を下げるのに有効だと説明した。例えば、メモリコントローラやグラフィックスコア、あるいはプログラマブルロジックとか、特定用途向けのロジック、CPUとは別のプログラマブルエンジンとか。こうしたCPUコア以外の要素にダイ面積を割くことで、結果として電力密度は下がり、CPUはメルトダウンの危機を脱することができる。
Intelは、昨年、グラフィックスとメモリコントローラを統合した「Timna(ティムナ)」をキャンセルしたばかり。こうしたシステムオンチップの方向とは逆を向いていると思っていたが、ずいぶん違う流れになっているようだ。
要するに、長期的に見れば、増大するトランジスタをこうした方向に使わざるをえなくなるということだ。そうしないと、熱の密度の問題を解決できない。Timnaはメモリインターフェイスでつまづいたが、大きな流れとしては統合化へ向かっているようだ。すぐではないとしても。
また、統合化はパフォーマンス面でも有利になる。それは、今のCPUでは外部アクセスが性能のネックになっているからだ。システムバスに同期してチップセットにアクセスしてそこからメモリやグラフィックスやI/Oにアクセスする、このレイテンシはGHz時代のCPUにとって大きすぎる。メモリに関して言うなら、メモリコントローラを統合するだけでレイテンシをかなり減らすことができる。また、チップ数を減らせば、マザーボードを小さくできるし、コストも下げられる。PC全体として見た場合もいいことづくめなのだ。
こうした周辺ロジックや特定用途ロジックの取り込みは、おそらくIA-32のデスクトップ/モバイルCPUで始まるだろう。つまり、TimnaタイプのCPUはいつか、そう遠くないうちに復活する可能性が高い。Pentium 4コアが0.10μmになる頃には、電力密度を考えると統合化が行なわれても不思議はない。
●2010年のCPUは1TIPSの性能へ
さて、ゲルシンガー氏は今後のCPUの障壁として消費電力と電力密度の上昇を指摘したが、こうしたアプローチをフルに使えばまだムーアの法則通りにCPUを進化させられるという。法則通りなら、2010年になるころには、10億個以上のトランジスタをCPUに集積できるようになるそうだ。そして性能はというと、2010年には1TIPS(Tera instructions per second)に達するという。そう、MIPSではなくてTIPSだ。
そんなパフォーマンスをどうするんだろうと思うのだが、ゲルシンガー氏によると将来のアプリケーションでは必要なのだという。例えば、自然言語のプロセッシングやジェスチャ認識などのナチュラルヒューマンインターフェイスだけでも膨大な演算が必要になるという。つまり、CPUの性能をさらに10年間向上させ続ける理由はあるというわけだ。
というわけで、Intelは、パフォーマンスのニーズがあるために10億トランジスタ以上を積んだCPUまで突き進む。クロックは10~30GHzに達し、性能は1TIPSに達する。だが、ISSCCでのゲルシンガー氏の説明から予想すると、その時のCPUは、ハイエンドはマルチスレッディング機能を実装した上でCMPになり、大容量L2キャッシュを搭載、またリッチなSIMD演算器を搭載するようになるだろう。また、PC向けではCMPがない代わりに、周辺ロジックなどの統合へと向かっている可能性が高い。つまり、これまでとはCPUの姿やアーキテクチャトレンドは変わっているだろう。
(2001年2月8日)
[Reported by 後藤 弘茂]