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

AMDがいよいよ8コア版Bulldozerチップのベールを剥いだ



●Bulldozerベースの8コアCPUの姿が明らかに

 AMDは今年(2011年)後半に投入する新CPUアーキテクチャ「Bulldozer(ブルドーザ)」について、より詳細を米カリフォルニア州スタンフォード大学で開催されたチップカンファレンス「Hot Chips 23」で発表した。Bulldozerの概要については昨年(2010年)のHot Chipsで発表を行なったが、今回はCPUマイクロアーキテクチャ概要の補足と、チップ全体の構成や省電力機構などの概要を説明した。

 Bulldozerは、2個のCPUコアを1モジュールに融合させたクラスタード(Clustered)型のマイクロアーキテクチャだ。整数演算コアは独立した2ユニットとなっており、それぞれ個別のスレッドの命令を実行する。しかし、浮動小数点演算ユニットや命令デコーダなどフロントエンド、L1命令キャッシュやL2キャッシュは2つのコアで共有される。部分的にユニットを共有化することで、デュアルコア構成の効率を高めたアーキテクチャだ。2コアが融合したBulldozer Moduleが基本単位となる。

Bulldozerの概要
Bulldozerのコア
Bulldozerのアーキテクチャ
PDF版はこちら
Bulldozerモジュールの概要
PDF版はこちら
Bulldozerモジュールのマルチスレッディング
PDF版はこちら

 今回のAMDの発表は、Bulldozerコアよりも、チップ全体のアーキテクチャにフォーカスが当てられた。Bulldozerでは、まず4個のBulldozer Moduleを搭載した8コア版が登場する。AMDはCPUコアとダイ、製品の3レベルでコードネームを付けている。CPUコアのアーキテクチャのコードネームがBulldozer、Bulldozerベースの8コアのダイのコードネームが「Orochi(オロチ)」、Orochiベースの製品のコードネームがデスクトップ「Zambezi(ザンベジ)」、1~2ソケットサーバー「Valencia(バレンシア)」、1~4ソケットサーバー「Interlagos(インテルラゴスまたはインターラゴス)」となっている。いずれも、GLOBALFOUNDRIESの32nm SOI(silicon-on-insulator)プロセスで製造される。

Bulldozerのダイ写真
AMD CPUの推移
PDF版はこちら

●従来アーキテクチャを拡張したOrochiの構造

 Hot Chipsでは、Bulldozer 8コア/4モジュールのOrochi全体の構成が新たに明らかになった。OrochiのCPUコア群はBulldozer Module単位で「System Request Queue (SRQ)」に直結され、クロスバーでメモリコントローラとHyperTransportコントローラに結ばれている。HyperTransportコントローラへは4ポート、メモリコントローラはデュアルチャネル(RDIMM対応で144-bit)の2系統のコントローラとなっている。L3キャッシュはSRQとクロスバーに接続されている。

Orochiのブロックダイアグラム
PDF版はこちら
Orochiのダイ
PDF版はこちら
ノースブリッジ
ノースブリッジの概要

 8MBのL3キャッシュは4個の独立した2MBのサブキャッシュに分かれている。各サブキャッシュは4バンク構成で、それぞれ2タグリードと2タグライト、2データリード、1データライトのポートを備えている。別なバンクへのアクセスなら、各ポートを並列オペレーションさせることが可能だ。また、各サブキャッシュは、SRQとクロスバーに対して、それぞれ独立したコネクションを持っており、並列動作させることが可能だという。L3は共有だが、パーティショニングも可能。また、マルチプロッサ構成時のバス効率を上げる「プローブフィルタ(Probe Filter)」を有効にする場合は、ダイレクトリ用メモリがL3に取られ、その分、実質L3の量が減る。

 HyperTransportは最大4リンクのx16構成で、それぞれのx16リンクは、2リンクのx8に分解することができる。1ダイにつき4リンクの構成は、後述するG34パッケージでの構成に必要となる。

ノースブリッジのDRAMコントローラとキャッシュ
HyperTransportの概要

●K8からのアーキテクチャを引き継ぐBulldozer

 こうしたOrochiの全体の構成は非常に現在のK10(Hound)系ディスクリートCPUとよく似ている。AMDはSRQとクロスバーを核とした構成を、2003年のK8アーキテクチャの時に導入した。下は2001年にAMDが発表したK8(Hammer)のノースブリッジ部分の構成だ。Bulldozerでもこれを継承している。AMDは、K8アーキテクチャについて、最初からマルチコア化を前提とした構成にしたと説明しており、実際にBulldozer世代まで同じ構成を延命している。

ノースブリッジ部分の概要

 ただし、Orochiでは、増えたプロセッサノード間の競合を緩和するためにキューなどが強化されていると言う。Intelは、マルチプロセッサ化に合わせて、Sandy Bridge世代からはクロスバーに代えてリングバスを導入(実際にはサーバー版NehalemとLarrabeeから採用)して内部バスアーキテクチャを一新した。しかし、AMDはクロスバーを継続している。

 また、AMDはBulldozerベースの8コアダイ「Orochi(オロチ)」のダイサイズが315平方mmであることも明かした。2コアのBulldozer Moduleの面積は30.9平方mmなので、チップサイズのほぼ10分の1の面積となっている。ダイサイズ的には現在の45nmプロセス版のK10系6コアの「Istanbul」の346平方mmより一回り小さい。AMDのメインストリーム製品である「AシリーズAPU(Llano:ラノ)」と比べると50%程ダイが大きく、デスクトップCPUとしては最大クラスのサイズだが、現在のサーバーCPUとしてはさほどでもない。Sandy Bridgeの8コアサーバーCPUと比較すると、ダイサイズは4分の3程度となっている。

AMD CPUのダイサイズ推移
PDF版はこちら
OrochiのダイとSandy Bridge 8コアのダイ比較
PDF版はこちら

 ただし、Sandy Bridge 8コアはSMT(Simultaneous Multithreading)技術のHyper-Threadingによって論理16コア相当だ。また、AMDは実際のハイエンドサーバー向け製品では、2個のCPUダイを1パッケージに封止したMCM(Multi-Chip Module)で16コアまでの構成にする。MCM化を前提として、巨大ダイは作らずに、300平方mm台中盤までのダイサイズに押さえるのがAMDの現在の戦略だ。数量が出ないハイエンドサーバー向けに、別ダイを起こすコストを抑えるためと推測される。

●3種類のBulldozerの製品構成

 BulldozerコアのCPUは3系統の製品として3種類の異なるパッケージで提供される。これは、現在のK10(Hound)コアと同様の構成だ。ハイエンドデスクトップ向けが「Zambezi(ザンベジ)」、1~2ソケットのパワーエフィシェントサーバー向けが「Valencia(バレンシア)」、最大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」ソケットに提供される。

Socket AM3+向けのZambezi
PDF版はこちら
デスクトップ向けのZambeziの構成
AM3+プロセッサの概要

 Hot Chipsではそれぞれのパッケージでのインターフェイス仕様などが明らかにされた。デスクトップ向けのZambeziは940ピンのAM3+パッケージで、現在のAM3プラットフォームと同様に2チャネルのDDR3インターフェイスでUnbuffered DIMM(UDIMM)をサポート。メモリのサポートスピードは最大DDR3-1866までで、メモリ帯域はピーク29.9GB/secとなる。低電圧版DDR3もサポートする。HyperTransportはAM3と同じ1リンクで、5.2GT/secをサポートする。サポートチップセットは発表されている通りAMD 990FX/990X/970のファミリ。AM3パッケージの従来K10系CPUは、そのままAM3+プラットフォームで使うことができる。

 2ソケットまでのマルチソケット構成をサポートするValenciaは、1,207ピンLGAのC32パッケージ。2メモリチャネルでUDIMMだけでなく、Registered DIMM(RDIMM)とLoad-Reduced DIMM(LRDIMM)もサポートする。メモリは最高でDDR3-1600までのサポートと高速化された。

2ソケットまでのValencia
PDF版はこちら
LGA C32の概要
C32プラットフォームの概要
C32プラットフォームの例

 C32のHyperTransportは3リンクだが、通常の2ソケットシステムではCPU間の接続に1リンクのCoherent HyperTransport(cHT)、チップセットとの接続に1リンクのNon-Coherent HyperTransport(ncHT)で2リンクしか使わない。AMDがHyperTransport導入の初期に示したトポロジでは、CPU間を2リンクで結ぶ構成もあったが、現在はほぼ使われていない。C32ソケットではHyperTransportは、最高6.4GT/secまでサポートと、AM3+のZambeziより高転送レートとなっている。

 チップセットはサーバー向けのSR5600ファミリのAMD SR5690/SR5670/SR5650で、既存のC32マザーボードはBIOSアップデートで対応できる。AMDは数世代前から、新アーキテクチャCPUは、既存CPUと互換を取れるプラットフォームで登場させる方針を採っている。Intelは、Sandy Bridge世代からサーバーCPUもオンダイでPCI Expressを取り込む方向へ向かったが、AMDはHyperTransportでPCI Expressへのブリッジチップを接続する方法を選んでいる。

●2ダイをx24分のHyperTransportで結ぶG34ソケット

 4ソケットまでの構成をサポートするInterlagosは、1,944ピンLGAのG34パッケージ。G34では、2ダイを1パッケージに収めたMCMとすることで、CPUコア数とインターフェイス数を増やしている。Orochiダイを2個納めたBulldozerベースのInterlagosでは、最大では合計8個のBulldozer Module、16個のコア数となる(歩留まりのため12コアの製品もある)。

LGA G34の概要
PDF版はこちら
G34では1,944ピンのLGAパッケージを採用
G34プラットフォーム
G34プラットフォームの例
MCM 2.0の概要

 2個のCPUダイは、HyperTransportで接続されている。現在の12コアの「Magny-Cours(マニクール)」では1個のx16と1個のx8の合計24レーン分のリンクで接続されている。この構造は基本的にInterlagosでも同様だと見られる。

 G34パッケージでは、パッケージ外へと4リンクのx16 HyperTransportが出ている。これは、2個のダイそれぞれから非対称にリンクが出されている。マスターダイからは2リンクのx16と1リンクのx8で合計でx40相当となり、スレーブダイからは1リンクのx16と1リンクのx8が出ており合計でx24相当となる。スレーブダイでは、x16分のリンクが使われていない。AMDには、2個のダイを2リンクのx16で接続して、パッケージ外に4リンクのx16を出すという選択肢もあったはずだが、Magny-CoursとInterlagosではその方法は取らなかった。G34でのHyperTransportの、パッケージ外での転送レートは最高6.4GT/sec。

 メモリインターフェイスはそれぞれのダイに2チャネルづつで合計4チャネル。サポートメモリタイプはC32と同じでUDIMM、RDIMM、LRDIMMでDDR3-1600まで。メモリ帯域は、パッケージ当たりピーク51.2GB/secとなる。

 Bulldozerの3製品系列は、いずれも同じOrochiダイのディスクリートCPU。GPUコアとPCI Expressを統合した「APU(Accelerated Processing Unit)」製品は、来年(2012年)となる。AMDは、それまではBulldozerコアの製品のシェアは、デスクトップPC向けCPU全体の十数%に留まると見ていると言われる。

●不明なままのパイプラインステージ

 AMDは、Orochiダイについて明らかにする一方で、Bulldozerコアのマイクロアーキテクチャのアップデートは小幅に留めた。特に、注目のポイントの1つであるパイプラインステージ構成は明らかにされなかった。

 AMDは今年2月のISSCC(IEEE International Solid-State Circuits Conference)で、BulldozerのFO4(Fanout-Of-4) Gates/Cycle数が、従来のAMD K10(Hound)系コアより20%以上少ないことを明らかにしている。FO4が少なければ、トランジスタ性能が同じでも高クロック化が容易になる。つまり、Bulldozerは、K10より20+%ディレイが少ない分、25%以上高速になる可能性がある。現在のK10系はターボ時に3.5~3.7GHzなので、FO4の比率を当てはめるとピーク4.4~4.6GHzがアーキテクチャ上は期待できることになる。スピードデーモン(speed demon)寄りアーキテクチャだ。

 通常は、FO4を減らすために、パイプラインステージが深くなり、それによる分岐ミスペナルティの増加をカバーするために分岐予測が強化される。そのため、Bulldozerのパイプラインは、K10から大きく変わった可能性がある。