■後藤弘茂のWeekly海外ニュース■
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から大きく変わった可能性がある。