■後藤弘茂のWeekly海外ニュース■
IntelはSandy Bridge-Eこと「Intel Core i7-3960X/3930K」を発表した。Sandy Bridgeコアを6個載せたSandy Bridge-Eの最大のポイントは、デスクトップではかつてないほど大型のCPUであること。435平方mmは、従来のハイエンドサーバー向けCPUクラスのダイサイズに近い巨大チップだ。その理由は簡単で、Sandy Bridge-Eがデュアルソケットサーバー向けの8コアのダイから派生した製品だからだ。Intelはダイ上の8コアのうち2コア分を無効にしてデスクトップ製品として投入した。そのため、途方もないモンスターチップとなった。
Intel Core i7-3960Xのダイ |
上がSandy Bridge-Eのダイ写真だ。これを見ると2コア分のスペースが空いていることがわかる。もっとも、このダイ写真は正確なものではない。そもそもスライドに押し込むために縦を圧縮してあり、縦横比が実際のダイとは異なっている。
Intelは2月の半導体カンファレンス「ISSCC(IEEE International Solid-State Circuits Conference)」で、8コア版Sandy Bridgeの正確な縦横比のダイレイアウトを明らかにしている。それに合わせてダイ写真を修正し、ISSCCで明かされた各ブロックの機能を書き込んだのが下の図だ。無効にされている2コア分も書き込んである。Core i7-3960X/3930Kは、このダイを使っている。
Sandy Bridge-Eのダイレイアウト PDF版はこちら |
8個のCPUコアが左右対称に並び、その間にLL(ラストレベル)キャッシュが挟み込まれるレイアウトとなっている。CPUコア内部のレイアウトは、PC向けと大きくは変わらないように見える。LLキャッシュは、各コアに2.5MBずつのスライスとなっており、PC向けの1.5~2MBずつのスライスよりサイズが大きい。キャッシュエリアの中央に、リングバスのインターフェイスがあり、リングバスの配線がキャッシュ上に配置されている点は、PC向けSandy Bridgeと同じだ。下のISSCCの図が、リングバスの配置がわかりやすい。
リングバスの配置 |
ダイの最下層には、リングバスの折り返しとシステムエージェント部分があり、その回りにメモリコントローラと4チャネル分のDDR3インターフェイスのPHYが配置されている。ダイの上部には同じくリングバスの折り返しとシステムエージェントがあり、その回りにI/O群と電力制御のパワーコントロールユニットが配置されている。I/OはPCI Expressが40レーンと、QuickPath Interconnect(QPI)が2リンク。ただし、Core i7-3960X/3930KではQPIは使われていない。この他にレイアウトには示していないが、PCH (Platform Controller Hub)と接続するDMIもある。
●モジュラー設計で派生チップの設計を容易にIntelの場合、コア数の多い大型の派生CPUは、メインストリームCPUより1年以上遅れて登場するのが通例だった。前世代のNehalemでは、コア数の少ない廉価版も遅かった。派生チップの設計にはそれなりの開発期間が必要となるからだ。ところが、Sandy Bridgeでは、4コア版と2コア版が同時期に登場し、8コアサーバーのダイ(半導体本体)も1年も経たないうちに登場した。これは、IntelがSandy Bridgeでは徹底したモジュラー設計を取ったからだ。下はSandy Bridgeの2コアと4コア、8コアそれぞれのユニットの接続関係を示した図だ。
Sandy Bridgeのモジュラー設計 PDF版はこちら |
Sandy Bridgeで最初に開発されたのは4コア版だった。4コア版の4個のCPUコアはリングバスで接続されて並んでおり、簡単にコア数を調節できるようになっている。クロスバースイッチでは、コア間のバスのレイアウトを再設計しなければならないが、リングバスの場合は単純にリングストップの数が減るだけだからだ。リングバスのため、Sandy Bridgeでは、コア数の異なるチップを派生させやすくなっている。
下はSandy Bridgeの各ダイの大まかなレイアウト図だ。これを見るとわかるように、4コア版から2コアを削った2コア版、さらにGPUコアの一部やLLキャッシュ量を削った廉価2コア版へと派生している。主要モジュールは、それぞれほとんど変更する必要がないことがわかる。そして、同様にリングバスを使ってIntelは8コア版も派生させた。8コアになると、I/O回りは大きく変わるが、CPUコアとLLキャッシュスライスのペアには大幅な変更は必要がない。
Sandy Bridgeのバリエーション PDF版はこちら |
ちなみに、このSandy Bridgeのモジュラー設計にはトレードオフもある。Sandy BridgeではGPUコアはメモリインターフェイスから一番遠いリングバスの端に配置されている。この理由の1つは、リングの折り返しを両端に配置する必要があるためだと推測される。CPUコアとLLキャッシュ+リングストップの設計をモジュール化するには、CPUコアをリングの中央に配置した方が都合がいいからだ。この配置の問題は、キャッシュ効率が悪く、データトラフィックが非常に多いGPUコアがリングバスの最奥にあることだ。リングバスの効率を考えると、キャッシュ効率がいいコアが奥にあった方がいいはずだ。
●4コア版の2倍のサイズの8コアのダイモジュラー設計によってサーバー向けの8コア版を派生させたIntelは、そのコアをデスクトップにも転用した。Intelはこれまでも、デュアルソケット向けサーバーCPUをハイエンドデスクトップにも投入してきた。今回、異なるのは、そのダイが非常に大きいことだ。下はSandy Bridgeの4コアと8コアのダイを比較した図だ。8コア版のダイは、4コア版の約2倍のサイズがある。
Sandy Bridgeの8コアと4コアの比較 PDF版はこちら |
Intelの主要PC向けCPUのダイサイズの移行図を見ると、Sandy Bridge-Eとして投入された8コア版のサイズが突出して大きいことがわかる。それだけ製造面では割高なCPUだが、Intelはハイエンドデスクトップの出荷量では、このサイズでも見合うと踏んだと思われる。
CPUのダイサイズ移行図 PDF版はこちら |
もっとも、デスクトップ版では、8コアのうち6コアしか使っていないため、このダイサイズとトランジスタ数(2.27B)は、実はSandy Bridge-Eの実際の姿を反映していない。Sandy Bridge 8コアのダイから、デスクトップ版のCore i7-3960Xで使われていない部分を黒く塗ると下の図のようになる。実際には、どのCPUコアが無効になっているかはわからない。欠陥があるかスピードイールドに達しないコアが無効になっている場合もありえる。こうして見ると、無効エリアは全体の20%程度の面積に及ぶことがわかる。実にもったいない使い方だが、6コアしか有効にしなかった一因は、PC市場でのスレッド当たりのパフォーマンス要求に応えるためだと推測される。
Core i7-3960Xの無効エリア PDF版はこちら |
IntelはISSCCのセッションでは、コア数の多いSandy Bridgeのコンフィギュレーションでも、コア数を削ったバリエーションを比較的容易に派生させることができることを示唆していた。実際、8コア版Sandy Bridgeのダイから、6コア版ダイを派生させることは可能だったはずだ。Intelがその方法を取らなかった理由は明瞭で、ハイエンドデスクトップ向けの製品では、新たなダイを起こすことに見合う数量が出荷されないからだろう。
●AMDのBulldozerベースのOrochiとの違い8コア版のSandy Bridgeを、競争相手であるAMDのBulldozer(ブルドーザ)ベースの8コア(4モジュール)と比べると下の図のようになる。BulldozerベースのOrochi(オロチ)は、Sandy Bridge 8コアのダイの3分の4程度のサイズに収まっている。4個のBulldozerモジュールは、それぞれ2CPUコアの融合ユニットだ。
BulldozerとSandy Bridgeのダイ比較 PDF版はこちら |
この比較からは、IntelとAMDの思想の違いを明瞭に読み取ることができる。AMDは、一定のパフォーマンスの枠内で、ダイ面積当たりのスループットを高めようとしている。そのため、整数演算パイプを細くして、スレッド当たりの絶対パフォーマンスを落とすことも厭わない。CPUコアを小さくすることにフォーカスしている。
それに対して、IntelはCPUのパフォーマンスを、少しでも向上させようとし続けている。シングルスレッドの整数演算パフォーマンスの向上を諦めず、そのために整数演算パイプも削らない。そのために、CPUコアが肥大化して行くことも厭わない。
この違いは、また、IntelとAMDの現在の製造態勢の違いも反映しているのかもしれない。Intelは自社Fabなので、多少ダイが大きくコストが大きくても、Fabを償却できれば見合う。それに対してAMDは今はファブレスなので、チップはできるだけ小さくしてウェハ当たりのチップ数を増やして利益を上げて行く必要がある。