後藤弘茂のWeekly海外ニュース

CPUのアーキテクチャ時代の転換点となるAMDの「Bulldozer」




●2011年にCPUアーキテクチャを変革するIntelとAMD

 PC&サーバー向けのx86 CPUにとって、おそらく2011年が次の大きな転換点となる。単なるアーキテクチャの変わり目ではなく、10年に1度のターニングポイントだ。

 IntelとAMDの2011年までのCPUロードマップが見えてきたことで、x86 CPUワールド全体の大きな流れが見えてきた。簡単に言えば、2004年から2010年の「マルチコア化時代」が終わりを迎え、2011年からは「マルチコア+ベクタ拡張+システム統合時代」に入る。2011年がCPUアーキテクチャの方向が再び変わるターニングポイントとなる。今年(2009年)から来年(2010年)は、そのための助走時期で、慣性でマルチコア化が続く時期となりそうだ。

 昨年末から今年にかけて、IntelとAMDの双方が、CPUコアアーキテクチャの転換を2011年に据えたことを明らかにした。Intelは「Sandy Bridge(サンディブリッジ)」アーキテクチャを、AMDは「Bulldozer(ブルドーザ)」アーキテクチャを、それぞれ2011年に投入する見込みだ。どちらも、マルチコア化だけでなく、新命令拡張によるベクタ演算の強化や、システム統合化によって性能を引き上げる方向へ向かう。これまでとは、違う技術トレンドの時代に入る。

 これは憶測ではない。CPUメーカーのアーキテクト達自身がそう説明しているからだ。CPUアーキテクチャを作る側が、2011年から大きく切り替えることを宣言している。例えば、AMDのCPUアーキテクトであるChuck Moore(チャック・ムーア)氏(AMD Senior Fellow)は、昨年(2008年)11月に開催されたCPUアーキテクチャのカンファレンス「Micro41」の講演スライドの中で、この流れを簡潔にまとめている。下がそのスライドだ。

Micro41においてAMDのChuck Moore氏が示したCPUの流れ

●x86 CPU進化の道標となる3つの時代区分

 ムーア氏は'86年から2004年までの18年間を「シングルチップCPU時代(Single-chip CPU Era)」と呼ぶ。シングルコア時代のことだ。この時期は、1個のCPUコアをどんどん強化し、シングルスレッド性能の向上にフォーカスしていた。

 次が2004年から2010年の6年間の「チップマルチプロセッサ時代(Chip Multiprocessor Era)」。つまり、マルチコア時代だ。これは、従来型の延長にあるCPUコアを変形して、ホモジニアス(Homogeneous:均質)なマルチコア構成にする時代で、マルチスレッド性能の向上にフォーカスする。これは、現在も続いている。

 そしてムーア氏は、2010年からは「システムレベル統合時代(System-level Integration Era)」に入ると説明している。ヘテロジニアス(Heterogeneous:異種混合)型にプロセッサとアクセラレータ群を統合、システムレベルの機能をより統合し、オンチップのリソースの高度な管理機能を備える、新しい方向性のCPUの時代だ。結果として、マルチスレッドだけでなくシングルスレッドのベクタ性能などが向上する。アーキテクトの目から見た2010年は、製品レベルでは2011年からとなるだろう。

 実は、これと部分的に似たようなことはIntelも言っている。下は、2008年春のIntelの技術カンファレンス「Intel Developer Forum(IDF)」のスライドだ。ここで、Intelはシングルコアのパフォーマンスは2009年までは年に15%ずつしか向上しないが、2010年以降は新命令の導入によって急なペースで向上するようになると説明している。実際には新命令の導入は2011年にずれ込んだので、この急激なカーブが実現するのは2011年からとなる。

IDF Spring 2008でIntelが説明した新命令の導入と性能向上

 こうして見ると、2011年のCPUから、CPUアーキテクチャの方向性が変わり、パフォーマンスが伸び始めるというのは、IntelとAMDに共通した認識であることがわかる。おそらく、アーキテクトの頭の中では、2010年までは慣性で単純なマルチコア化が続く、どちらかと言えば中継ぎ的な時期というイメージではないだろうか。

●CPUアーキテクチャの移行が示すメーカーの狙い

 IntelとAMDのCPUアーキテクチャの移行の流れは図式化するとよくわかる。下が両社のアーキテクチャの流れをまとめたチャートだ。

 上のブルーの2段がそれぞれIntelのデスクトップCPUとモバイルCPUのアーキテクチャ系譜。下のグリーンの段がAMDのアーキテクチャ系譜だ。

 この図では、プロセス技術が異なっても同系列のマイクロアーキテクチャの場合は同色にまとめている。例えば、AMDのK8は130nm、90nm、65nmにまたがっているが、いずれも同じ色にしてある。この図は、プロセス技術よりアーキテクチャに注目しているからだ。アーキテクチャの区分は、レッドラインで区切ってある。

 また、マイクロアーキテクチャが異なっても、類似性が高い場合は、下地の色を同色にしてある。例えば、AMDの現在のCPUマイクロアーキテクチャであるK10(K8L)系は、前世代のK8系を発展させ浮動小数点演算性能などを引き上げたものだ。K10はK8の発展と考え、継続していることを示すために、同色の下地とした。

 各CPUアーキテクチャのバーを囲う色は、CPUコア数を示す。グレーが1コア、ブルーが2コア、ピンクが4コア、紫が6コアかそれ以上。基本的に、同じCPUダイ(半導体本体)にCPUコアを統合したネイティブマルチコア数をカウントしている。MCM(Multi-Chip Module)によるマルチコアはその外側の色で示している。例えば、Intelの「Merom(メロン)」は、2コアを示すブルーで囲まれているが、その外側は4コアを示すピンクで囲まれている。

 このチャートを見ると、ムーア氏の指摘した通りのアーキテクチャ発展になっていることが明瞭にわかる。特に、AMDの方の流れは、シンプルでわかりやすい。

Intel、AMDのCPUアーキテクチャの流れ
PDF版はこちら

●シングルコアの拡張が行き詰まった2003〜2004年

 AMDはK7アーキテクチャまでは、ひたすらシングルスレッド性能の向上に最適化してきた。シングルコア時代のセオリーに従って、より高度なOut-of-Order実行パイプラインを開発、キャッシュ階層を深め、CPUダイ(半導体本体)へのキャッシュの取り込みを続けてきた。シングルスレッド性能に集中したのは、そのアプローチなら、既存のプログラムの実行性能が、CPUの進化によって向上して行くからだ。

 しかし、2003年から2004年にかけて、こうしたシングルコア強化路線が危機に陥る。さまざまな理由が複合しているが、簡単にまとめると、膨大なトランジスタを費やしてシングルスレッド性能を高めることは、消費電力的に見合わないものになってしまった。もうこれ以上、シングルスレッド性能の高いCPUコアを作っても、消費電力が限界を超えてしまうため、実用にならなくなった。

 その直後に、今度は「Cellショック」が来る。PLAYSTATION 3(PS3)用に、ソニーとIBM、東芝で開発していたCell B.E.の論文がISSCCに提出されたのが2004年で、この時期からCell B.E.アーキテクチャは研究者の間で知られる存在になった。ヘテロジニアス(Heterogeneous:異種混合)マルチコア化によって、既存のCPUの10倍の浮動小数点演算性能を実現するCell B.E.のアプローチは、業界を揺さぶった。

 そこで、x86 CPUメーカーもマルチコアへと大きく方向を転換する。シングルコアを強化するより、CPUコアはそのままで、CPUコア数を増やした方が、消費電力当たりのコンピューティング性能が向上するからだ。Cell B.E.のようなCPUとの、生性能のギャップを埋めることもできる。この段階で、Intel、AMDともに、開発中だったより大型のCPUコアの次期CPU開発計画をキャンセルしている。

 もっとも、AMDはK8アーキテクチャを開発している段階で、シングルスレッド性能の向上が行き詰まるという予感があったという。そのためK8では、K7からのCPUコアの拡張は小さく止め、また、マルチコア化も初めから考慮した設計にした。その結果、AMDはIntelより一足先に、2005年にネイティブデュアルコアへと移行することができた。

●CPUアーキテクチャはK8/K10に止めたマルチコア時代

 90nmプロセスでネイティブデュアルコアを実現したAMDは、次の65nmでネイティブクアッドコアを実現した。これがPhenom系で、そして、45nm世代ではネイティブ6コアをサーバー向けに投入する。つまり、マルチコア時代を通じて、1プロセス世代毎に、2CPUコアを加えるペースで、CPUコア数の強化を続けている。

 マルチコア化は続けるものの、AMDは、CPUコアのマイクロアーキテクチャ自体は、大きくはいじらない。4コア化とともに、CPUコア自体をK10へと拡張したが、これはK8の追加的な発展で、根本からマイクロアーキテクチャを改革したものではない。K10というアーキテクチャコードネームもあとからつけられたもので、元々はK8 Rev. HやK8Lと言った名前が使われていた。つまり、AMDは、マルチコア時代の直前からマルチコア時代を通じて、同じK8マイクロアーキテクチャを継続して使い続ける。

 AMDがCPUコアマイクロアーキテクチャを切り替えるのは2011年の「Bulldozer(ブルドーザ)」になってからだ。Bulldozerは、K8/K10の発展ではなく、完全なCPUアーキテクチャの刷新となるという。AMDはBulldozerについて「マイクロアーキテクチャのラディカルな変革になる」と昨年(2008年)11月のAnalyst Dayカンファレンスで説明している。

 Bulldozerは、つい最近までChuck Moore氏がチーフエンジニアとして開発の総指揮を執っていた(現在のMoore氏はChief Architect of AMD's Accelerated Computing Initiative)。Moore氏は、IBMのPowerアーキテクチャの革新となったPower4を開発した人物で、Bulldozerチームには他にもIBM系の人材が合流していると言われる。これまでのK7/K8/K10アーキテクチャは、旧DECのAlphaプロセッサチームがAMDに合流して開発したものだった。

 面白いのは、IntelのJustin R. Rattner(ジャスティン・R・ラトナー)氏(Intel Senior Fellow, Vice President, Director(Corporate Technology Group) and Intel CTO)に以前インタビーした際に、次のように語っていたことだ。

 「おそらく、将来、AMDのCPUはここからがIBMの流れを汲むアーキテクチャだと指摘できるようになるだろう。AMDがIBMのアーキテクト達を引き入れたからだ。各デザインチームの設計には特徴があり、例えば、旧DECのアーキテクトによって作られたAMDのCPU(K7/K8)は明確にわかる。Alphaと非常に似ている」。

 つまり、Bulldozerアーキテクチャへの転換は、AMDにとってさまざまな転換を意味する。まず、CPUマイクロアーキテクチャの8年振りの抜本的改革である。アーキテクトの流れとしては、旧DEC系からIBM系へと変わる。そして、CPUアーキテクチャのトレンドは、マルチコア時代から、システムレベル統合への時代へと切り替わる。2011年のBulldozerへの転換は、このように、AMDにとって最大の山場で、10年に1度の変革だ。

 もっともAMDは、もともとは2009年頃までにBulldozerを持ってくる予定だった。しかし、AMDとATI Technologiesの合併後の、スケジュール大幅後退の嵐の中で、Bulldozerも2011年にずれ込んだ。AMDは本当は2009年に変革するつもりだったのが、2年近くずれてしまった。AMDにとっては2009から2011年までの期間は、抜けた穴を埋める時期ということになる。

Intel CPUの移行図
PDF版はこちら
AMD CPUの移行図
PDF版はこちら

□関連記事
【2008年11月14日】【海外】AMDが新マイクロアーキテクチャCPU「Orochi」と「Ontario」を2011年に計画
http://pc.watch.impress.co.jp/docs/2008/1114/kaigai476.htm
【2007年12月27日】【海外】Bulldozerが後退したAMDのロードマップの意味
http://pc.watch.impress.co.jp/docs/2007/1227/kaigai410.htm
【2007年7月27日】【海外】AMDが2009年のCPUコアと統合CPUの概要を発表
http://pc.watch.impress.co.jp/docs/2007/0727/kaigai376.htm

バックナンバー

(2009年3月18日)

[Reported by 後藤 弘茂(Hiroshige Goto)]


【PC Watchホームページ】


PC Watch編集部 pc-watch-info@impress.co.jp ご質問に対して、個別にご回答はいたしません

Copyright (c) 2009 Impress Watch Corporation, an Impress Group company. All rights reserved.