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

AMDの「Bulldozer」は製品で4GHz超え



●8.4GHzでギネスレコードを獲得したBulldozer(ブルドーザ)

 AMDの次期CPUアーキテクチャ「Bulldozer」は、最高速のCPUのタイトルを得た。AMDは9月中旬に、ライバルIntelのカンファレンスIntel Developer Forum(IDF)に合わせて米サンフランシスコで発表会を行なった。そこで、同社は、Bulldozerが、オーバークロックで8.429GHzをマークし、ギネスワールドレコーズに認定されたことを発表した。

 液体ヘリウムを使った無理矢理のオーバークロックであるとは言え、8GHz越えをマークした意味は大きい。AMDのEric Demers氏(Chief Technology Officer & CVP, AMD Graphics, AMD)は「この結果は、32nmプロセスの優秀さだけでなく、Bulldozerのアーキテクチャに依る部分が大きい」と説明する。実際、AMDは、Bulldozerの製品版は、従来のK10コアの製品よりも20%以上高い動作周波数で投入しようとしている。Bulldozerは、最近のAMD CPUには珍しい、スピードデーモン(speed demon)寄りアーキテクチャだ。

Bulldozerのダイ
PDF版はこちら
Orochiのブロックダイアグラム
PDF版はこちら

●製品版は最高4.2〜4.5GHzで登場

 AMDがギネス記録へのチャレンジで使った「AMD FX-8150」は、オーバークロック可能な「Black Edition」の製品だ。8個のCPUコア(4個のBulldozerモジュール)、8MBのL2キャッシュ、8MBのL3キャッシュを搭載する「Orochi(オロチ)」ダイの製品だ。現在のところ、ローンチ時の最高速製品であるFX-8150は、125W TDP(Thermal Design Power:熱設計消費電力)で、ベース3.6GHzでターボ時4.2GHzの動作周波数で投入される見込みだと言われている。

 また、FXファミリでは、来年(2012年)、より高クロックのFX-8170も控えていると言われている。こちらは、ターボ時には4.5GHzでベース3.9GHzに到達するとされているが、スペックは変動の可能性もある。PC向けのBulldozerコア製品は、いずれもOrochiダイの「Zambezi(ザンベジ)」ファミリで、AM3+ソケットCPUだ。

 ちなみに、Orochiベースのサーバー製品は1〜2ソケットサーバー向けが「Valencia(バレンシア)」、1〜4ソケットサーバー向けが「Interlagos(インテルラゴスまたはインターラゴス)」となっている。Zambeziが4〜8コア、Valenciaが6または8コア、Interlagosは2個のダイを納めたMCM(Multi-Chip Module)パッケージで12または16コアで登場する。ZambeziはデスクトップCPU向けのAM3ソケットの拡張版「AM3+」、Valenciaは現在の6コアのOpteron 4000シリーズ用の「C32」ソケット、Interlagosが現在の12コアのOpteron 6000シリーズ用の「G34」ソケットに提供される。

AM3+ソケットでの構成
PDF版はこちら
C32ソケットでの構成
PDF版はこちら
G34ソケットでの構成
PDF版はこちら

 Bulldozerが製品仕様で4.5GHzを狙うなら、オーバークロックで8GHz越えを達成できることも納得できる。また、4.5GHzというターゲットは、Bulldozerアーキテクチャでは納得できる数字だ。なぜなら、Bulldozerは従来のK10コアと比べて、アーキテクチャ上は25%以上高い動作周波数を達成できる仕様となっているからだ。

 AMDは今年(2011年)2月のISSCC(IEEE International Solid-State Circuits Conference)で、BulldozerのFO4(Fanout-Of-4) Gates/Cycle数が、従来のAMD K10(Hound)系コアより20%以上少ないことを明らかにしている。ステージ当たりのディレイが20%少ないとすれば、同じトランジスタ性能で動作周波数は25%高くできることを意味する。

 現在のK10系では、45nm時に動作周波数の上限は3.7GHz程度となっている。Bulldozerで25%動作周波数を高くできるとすれば、4.6GHzを理論上達成できることになる。製品計画上の仕様と、ほぼぴったり重なる。

AMD CPUの周波数比較
PDF版はこちら
Zambeziのラインナップとクロック
PDF版はこちら

●高クロック化で整数パイプの減少をカバー

 AMDがBulldozerで高クロック設計を取った理由は、シングルスレッド当たりのパフォーマンスをできる限り維持するためだと推測される。Bulldozerでは、AMDはクラスタードアーキテクチャと呼ばれる、2個のCPUコアを融合させるアーキテクチャを採用した。その結果、ダイサイズをあまり増やさずにCPUコア数を増やすことに成功した。同じプロセス世代で同程度のダイサイズなら、原理的にBulldozerアーキテクチャの方が、より多くのCPUコアを搭載できる。だが、このアプローチのトレードオフとして、Bulldozerでは各整数コアは、実行パイプが細くなってしまった。

マルチスレッディングアーキテクチャの比較
PDF版はこちら
Bulldozerの利点
PDF版はこちら

 従来のK10アーキテクチャでは、1スレッドを実行する整数コアは、3演算パイプと3アドレス生成パイプで構成されていた。それに対して、Bulldozerモジュール内の2個の整数コアは、それぞれが2演算パイプと2アドレス生成パイプとなっている。ピーク時のクロック当たりの命令実行数IPC(Instruction-per-Clock)は下がってしまったことになる。実際には、K10でもピークの6uOPs並列実行が可能なケースは限られているため、Bulldozerでも3分の2に落ちるわけではないが、整数性能へのインパクトは避けられない。

AMDのアーキテクチャ間の比較
PDF版はこちら
Bulldozerモジュール
PDF版はこちら
Bulldozerのアーキテクチャ
PDF版はこちら

 AMDがBulldozerの動作周波数を20%以上高めるアプローチを取った理由は、整数コアの構造から来る性能低下をカバーするためだと推測される。本来的には、Bulldozerのフォーカスは、ダイ当たりのスループットを高めることで、シングルスレッド性能はある程度犠牲にすることも覚悟の上だったはずだ。しかし、クライアントCPUでは、シングルスレッド性能を維持することが求められる。AMDは、そのジレンマの中にあったため、Bulldozerの高クロック設計は当然の方向となる。

●アクティブ時の電力も下げる

 アーキテクチャ上のFO4ディレイを低減することで、物理的な動作周波数の上限を引き上げたBulldozer。しかし、実際の製品の動作周波数を引き上げるためには、消費電力を抑えなければならない。より大きなCPUダイに、より多くのロジックトランジスタを搭載したBulldozerは、そのままではより多くの電力を消費してしまう。アイドル時だけでなく、アクティブ時の電力もある程度抑える必要がある。

AMD CPUのダイサイズ移行図
PDF版はこちら

 この問題を解決するため、AMDは回路設計レベルでBulldozerモジュール全体で電力の最適化を行なった。設計段階から電力をモデル化して、パフォーマンスを維持しながら最大限に電力を削ったと言う。このように、ゼロから設計した強味で、BulldozerではK10より電力最適化が進んだ設計となった。

Bulldozerのクロックアクティビティ
PDF版はこちら
Bulldozerモジュールの消費電力
PDF版はこちら

●スケジュールがずれ込んだBulldozer

 コンセプトは明瞭なBulldozerだが、製品化では難問に直面している。

 まずスケジュールの遅れ。AMDは当初、夏にはBulldozerを正式に発表できるかもしれないとしていたが、そのスケジュールは後退した。ほとんど恒例となっている、製品版のリビジョンチェンジだ。AMDでは、製品化候補のリビジョンに問題が見つかり、リビジョンチェンジを行なって製品化にこぎつくケースが多い。リビジョンチェンジを行なうと、最大で1四半期の遅れが生じてしまう。

 もう1つは、ベンチマーク上の性能だ。アーキテクチャを大胆に改革し、クラスタード型へと切り替えたBulldozerでは、従来CPUコアとはパフォーマンスの凹凸が異なってくることが予想される。ベンチマークでPCクライアントの市場に受け入れられる数字を達成できるかどうかが試される。