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

Intelの8コア版Sandy Bridgeとモジュラー設計戦略



●ハイエンド向けの8コア版Sandy Bridgeの素顔

 Intelはサーバーとハイエンドデスクトップに向けて、8コア版のSandy Bridge(サンディブリッジ)をリリースする。これで、Sandy Bridgeは2コアから8コアまでのスケーラビリティを持つ。Sandy Bridgeの新しい点は、最初からCPUの機能をスケールアップすることを前提に、徹底したモジュラー設計を取ったことだ。そのため、2から8コア版までのバリエーションを、急展開させることができた。2コア版と8コア版を見ると、モジュール化したSandy Bridgeの設計がよくわかる。

 ハイエンドSandy Bridgeは、下のダイレイアウトが示すように、8個のCPUコアに、20MBのLL(Last Level)キャッシュ、PCI Express 3.0、DDR3インターフェイス、QuickPath Interconnect(QPI)を統合したチップだ。4ソケットシステム向けのSocket R(LGA2011)版と、2ソケット向けのSocket B2(LGA1356)版がある。同じく8コア(4モジュール)から16コア(MCMパッケージ)で登場するAMDのBulldozer(ブルドーザ)に対抗する。

Sandy Bridge EPのダイレイアウト
PDF版はこちら
Sandy Bridgeのソケット
PDF版はこちら

 Intelは、従来のNehalem(ネヘイレム)アーキテクチャでも、8コア~10コア版のサーバーチップを出してきた。しかし、Sandy Bridgeの8コアには、Nehalem系8/10コアと、大きく違う点がある。つまり、PC版Sandy Bridgeとの、設計上の違いが少ない点だ。それは、設計上の共通項が多く、設計が相対的に容易であることを意味する。

 Nehalem/Westmere(ウエストミア)系CPUでは、PC向けのEXダイと、サーバー向けのダイに、レイアウトの基本的な部分で大きな違いがあった。内部バスアーキテクチャが全く異なるため、物理的なレイアウトも大きく異なっていた。下の図の通り、Nehalem-EXのダイの中央部分はバスのためのルーターとハブで占められている。

 ところが、Sandy Bridgeでは、PC版とサーバー版にこうした違いは見当たらない。PC版のCPUコアを単純に2列並べて、CPUコア数を倍増させたように見える。Sandy Bridgeは、PC版もリングバスアーキテクチャを取っているが、8コア版はそのリングをぐるりと2列のCPUコアに回すことで、シンプルなレイアウトを実現できたと推測される。この点が、チップ設計を大きく変える必要があったNehalem系との違いだ。

Nehalem-EXとNehalem(Bloomfield)の比較
PDF版はこちら
Sandy Bridge EPと4コア版の比較
PDF版はこちら

●4コア版から3段階でカットしてダイサイズを60%に

 こうしたSandy Bridgeのモジュラー設計は、2コア版の派生にも良く現れている。Intelは、Sandy Bridgeを4コア版から設計したが、リリース時には4コア版と同時に2コア版も発売した。これは、2コア版の派生に1年以上かかったNehalemとの大きな違いだ。Sandy Bridgeで素早く2コア版をリリースできた理由は、Intelが、最初から2コア版の派生を念頭に置いた極度のモジュラー設計を取ったことにある。

 下の図の上が4コア版Sandy Bridgeのダイレイアウトだ。中央に4個のCPUコアと、それぞれのCPUコアに付属する2MBのLL(Last Level)キャッシュのスライスが配置されている。向かって左はGPUコア、右はインターフェイス群で、下にメモリインターフェイスが配置されている。この配置でダイサイズは約216平方mmだ。例えば、ノートPC版のCore i7-2820QMなどがこのダイに当たる。

 Intelは、まず、この基本設計から中央の2個のCPUコアとLLキャッシュスライスを外すことで、2コア版を派生させた。ダルマ落としのように中央の2段が落とされ、2個のCPUコアとキャッシュスライスとなった。LLキャッシュの量は、8MBから半分の4MBへと減った。この構成でダイサイズは149平方mm程度になった。例えば、ノートPC版のCore i7-2620Mなどがこのダイにあたる。

Sandy Bridgeのダイレイアウトのバリエーション
PDF版はこちら

 しかし、Intelのダイ派生は、単純な2コア化に留まらない。さらにIntelは、廉価版をここから派生させている。まず、キャッシュエリアを4分の1削り、LLキャッシュの量を1スライス当たり1.5MBに減らした。さらに、GPUコアを約3分の2に削りプロセッサ数を減らした。上の3つ目の図で赤く示されているのは、カットされたエリアだ。その結果、4つ目の図のようにGPUとLLキャッシュが小さい、一回り小型のダイができあがった。

 この構成でダイサイズは131平方mm程度と見られる。例えば、デスクトップPC向けの、Core i3-2100などがこのダイに当たる。4コア版からは3段階のカットを行なって、60%にまでダイサイズを減らしたことがわかる。

●派生チップでの設計変更を最小に抑える

 こうした派生設計の結果、Sandy Bridgeには多数のダイバリエーションがある。4コア版と2コア版で異なるだけでなく、説明したように2コア版でもダイに違いがある。これは、PC向けCPUとしてはかなり異例だ。

 従来のPC向けCPUは、1種類のダイを製造し、ダイ上の機能の一部を無効することで、製品を作り分けている。例えば、CPUコアを1個無効にすることで、コア数の異なるバージョンを派生させる。キャッシュエリアを一部無効にすることで、キャッシュサイズの違いを産む。もちろん、Intelは今もこうしたことを行なっているが、それだけでなく、実際のダイでのバリエーションを作り始めた。

 PC向けCPUで、これまでバリエーションが少なかったのは、派生に必要な物理的な設計のコストとリスクが問題だったからだと言われる。複雑な設計がハードマクロとして提供されるCPUコアでは、設計の変更に膨大な時間がかかる。また、設計に問題が発生するリスクも増える。それなら、製造コストが多少増しても、同じダイから派生させた方が経済的となる。

 しかし、Sandy Bridgeでは発想を完全に転換。CPU設計自体を徹底してモジュール化して、ダイを派生させる戦略に出た。Sandy Bridgeは極度にモジュール化されているため、まるでレゴブロックのように、簡単に構成を変えることができるという。これは、同じアーキテクチャでCPUコア数や周辺ユニットを変えるマルチコア時代に適した方式だと言える。Intelの従来アーキテクチャやAMDアーキテクチャは、Sandy Bridgeほどモジュール化されていない。

●リングストップの配置がモジュール化を前提に

 そして、そのための切り札がリングバスだった。Sandy BridgeでCPUコア数を簡単に増減できるのは、バスがリングバスだからだ。Sandy BridgeのCPUコアとGPUコア、そしてシステムロジックはリングバスで接続されている。リングバスは、特長としてリング上のリングストップを増やすことで、簡単にバスのノードを増やすことができる。Intelは、この利点を使い、コア数を増減している。

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

 Sandy Bridgeのダイでは、実際にはリングバスはLLキャッシュの上を走っている。トランジスタのアレイであるキャッシュの上の配線層を使って、バスを配置。キャッシュの真ん中にリングストップを配置している。Sandy Bridgeのダイをよく見ると、各キャッシュスライスの中央とGPU I/Fとなっている部分などに、同じ形の長方形のロジックが見える。これがリングストップだ。4コア版から2コア版への派生では、このリングバスのストップが2つ削られたことになる。

Sandy Bridgeのレイアウト
PDF版はこちら

 そして、2コア4MB版から2コア3MB版の派生では、LLキャッシュの4分の1が削られた。Sandy Bridgeのダイをよく見るとわかるように、リングストップと見られるロジックエリアは、上から4分の3の部分までしか占めていない。そのため、下4分の1を削ってもリングストップの機能には影響がないと推測される。

 GPUコアでは、実行ユニットが削られた。Intelの現在の内蔵グラフィックスは、最大12個の実行ユニット「EU(execution unit)」を備えている。この実行ユニットは単精度(32-bit)浮動小数点(FP)プロセッサ群と、それに付帯するレジスタファイルや周辺回路となっている。

 GPUコアは通常はソフトマクロなので、レイアウトの変更はCPUコアよりはるかに簡単だ。プロセッサコアの部分だけはハードマクロだったとしても、それはうまく削りやすい場所に配置しておけば対応できそうだ。実際、Sandy Bridgeではプロセッサとレジスタと思われるブロック群がGPUコア部分の上側に2列にまとめられている。列単位で削りやすい構成にした可能性もある。

Sandy Bridgeのグラフィックス
PDF版はこちら

●派生版を素早くリリースできるモジュラー設計の利点

 LSI開発者は、昔からモジュール化を試みてきた。しかし、ハードマクロのモジュール化にはトレードオフがある。それは、開発効率の向上と引き替えに、ダイ効率が落ちることだ。Sandy Bridgeのダイレイアウトを見ると、4コア版には明らかにデッドスペースと見られる部分がたくさんある。この部分は歩留まりには影響しないものの、チップのダイサイズを大きくして、ウェハから採れるチップ数を減らす。

 Intelは、そうしたトレードオフがあっても、派生版を素早く出すことが重要だと考えたようだ。実際、Sandy BridgeではIntelは下位の派生版を迅速に市場に投入できた。また、コストが重要となる下位のダイでは、ダイサイズも小さく抑えている。2コア版は130~150平方mmの範囲。従来のIntelのローエンドCPUのダイサイズにGPUを加えたサイズとして妥当な範囲だ。対するAMDは、Llano(ラノ)の設計を見る限り、迅速に2コア版を投入できる見込みは薄い。

 ただし、IntelはSandy Bridgeでは、CPUコアのアーキテクチャを従来の延長に据え置いた。Merom→Nehalemと続いたアーキテクチャをさらに拡張して機能とパフォーマンスを引き上げた。そのため、CPUコアは大きくなり、ダイサイズを食っている。その影響が顕著に出ているのが8コア版だ。

 IntelがISSCC(IEEE International Solid-State Circuits Conference)で発表した8コア版のダイサイズは約400平方mm。このダイがSocket R(LGA2011)のSandy Bridge-EP/EXのもので、PC向けにより機能の少ないSocket B2(LGA1356)のSandy Bridge-ENとして別ダイが用意されたとしても、ダイサイズは300平方mm台後半になるだろう。

 ダイサイズの移行図を見ると、現在発表されている8コア版のサイズが突出していることがわかる。4コア版が2個分の巨大チップだ。これを、AMDの“8コア”のBulldozer系Orochi(オロチ)のダイと較べると、サイズの違いがよくわかる。ただし、おそらくIntelは、他社より先に22nmプロセスの製造をスタートさせ、22nmのIvy Bridgeではハイエンドのダイサイズを大幅に減らすと見られる。

BulldozerとSandy Bridgeの比較
PDF版はこちら
ダイサイズの推移
PDF版はこちら