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

Intel次世代CPU「Ivy Bridge」は“Tick+”



●GPUコアを強化したIvy Bridge
ムーリー・エデン氏

 Intelが来年(2012年)前半に投入する「Ivy Bridge(アイビーブリッジ)」は、基本的には現在のSandy Bridge(サンディブリッジ)を32nmから22nmにシュリンクしたバージョンだ。Intelは、現在、「Tick Tock(チックタック)」モデルで新CPUを投入しており、2年置きに半導体プロセス技術を革新(Tick)、その中間の2年置きにCPUマイクロアーキテクチャを刷新(Tock)している。Ivy BridgeはTickに当たる。

 しかし、サンフランシスコで開催されているIntel Developer Forum(IDF)のキーノートスピーチで、IntelのMooly Eden(ムーリー・エデン)氏(VP, General Manager PC Client Group, Intel)は、Ivy Bridgeは単なる微細化版ではなく「Tick+」だと説明した。微細化しただけでなく、新要素が加わったチップがIvy Bridgeだ。

 では、Ivy Bridgeでは、何が強化されたのか。大きく拡張されたのは、GPUコアだという。

 Intelは、Sandy BridgeのGPUコアを大幅に拡張し、グラフィックス機能とメディアプロセッシング機能の強化と、汎用コンピューティング機能の付加を行なった。Ivy Bridgeは、その流れをさらに推し進め、DirectX 11に対応すると同時に、より汎用性が高くメディア処理性能の高いコアにしている。Intelのマーケティングトークからは、IntelがCPUでの汎用処理を高めるヘテロジニアス(Heterogeneous:異種混合)コンピューティングへ積極性は明確に感じられないが、GPUコアのアーキテクチャを見ると、積極的な姿勢が見える。

 IntelはIDFで、Ivy Bridgeの動作デモはもちろん、Ivy BridgeベースのUltrabookや、Ivy Bridgeのダイ写真なども公開した。現在公開されているIvy Bridgeは、4 CPUコアのバージョンで、4コア版Sandy Bridge同様に、GPUコアやPCI Express、LLキャッシュ(Last Level Cache)、リングバスなどを備える。


●Ivy BridgeのダイをSandy Bridgeと比較すると

 下の図は、Ivy BridgeとSandy Bridgeのダイを比較したものだ。左がIvy Bridge、右がSandy Bridgeとなっている。IntelはIvy Bridgeのダイ写真は正確なものではないとしているが、各ユニットのサイズ比較にはなると考えられる。正確なダイサイズはまだわかっていないため、Sandy BridgeとIvy Bridgeで、CPUコアのサイズがほぼ同じになるように拡大して並べている。実際には22nmのIvy Bridgeの方がはるかにダイが小さいはずだ。

Ivy BridgeとSandy Bridgeのダイレイアウト比較
PDF版はこちら

 CPUコアとLLキャッシュアレイの部分は、Ivy BridgeとSandy Bridgeで、ほぼ双子のように似ている。コア内部のレイアウトも似通っているように見える。CPUコアについては、ほぼTickモデルであることが想像できる。ただし、よく見るとIvy Bridgeの方が、ややCPUコアが大きく、キャッシュエリアが相対的にやや小さいように見える。

 現在は、キャッシュSRAMエリアはシュリンクしやすいが、ロジック部分はシュリンクしにくい傾向がある。Intelの3Dトランジスタプロセスでも、その傾向があるかも知れない。ちなみに、3Dトランジスタはチャネル構成を変えることができるが、キャッシュSRAMはシングルチャネル(シングルFin)、ロジック部分はマルチチャネルを多用した構成となっているという。マルチチャネル化でスイッチング性能を高めているためだ。

シングルとマルチチャネルの3Dトランジスタ
PDF版はこちら

 Sandy Bridgeではダイの下辺に配置されていたDRAMインターフェイスパッドはダイの右辺に移動された。I/Oパッドを全て外周に並べる方式から変わったように見える。そのため、Sandy Bridgeではダイ上に余計なデッドスペースがあったのが、Ivy Bridgeではなくなり、よりコンパクトな設計となっている。

 Ivy BridgeとSandy Bridgeを比べると、誰でも気がつくのは大きくなったGPUコアだ。Sandy Bridgeのトランジスタ数は9億9,500万で、Ivy Bridgeは14億8,000万とされている。3Dトランジスタ化でもトランジスタ数の数え方が変わっていない(Finの数ではない)とすると、50%も増えたトランジスタの多くはGPUコアに費やされたものと推測される。比率的には、Sandy Bridgeの2倍近いGPUコアサイズとなっている。

 また、Ivy BridgeのGPUコアをよく見ると、同じコアが2個左右に並べて配置されているように見える。これは、GPUコアのサイズを半分にした削減版を派生させやすいように設計しているためだと推定される。Sandy Bridgeでも下の図のようにCPUコアとGPUコアを削減できるようになっていた。

Sandy Bridgeの構成
PDF版はこちら

 Sandy BridgeのGPUコアは、12個のEU(execution unit)で構成されているが、Ivy Bridgeは機能拡張によるEUの大型化を差し引いても、少なくとも16個のEUを持つと推定される。その場合は8個のEUづつグループ化されているだろう。

●基本的な構成はSandy Bridgeと似ているIvy Bridge

 ダイの構成が似通っているから当然だが、CPU全体の構成もSandy BridgeとIvy Bridgeで似通っている。下のスライドはIDFでのIvy Bridgeでの変わっていない部分を説明するスライドで、基本的な部分はほとんどそのままであることがわかる。CPUも、下のSandy Bridgeのコアブロック図からほとんど変化がないものと思われる。

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

 次の2つのスライドはIvy BridgeでのSandy Bridgeとの相違点で、ここに示されている通り、GPUコアの機能と、CPUコアでの若干の命令拡張とIPC(Instruction-per-Clock)の改善、ランダムナンバー生成ユニットの内蔵や、電力制御の拡張(コンフィギュラブルTDPのサポートなど)、低電圧版のDDR3Lメモリのサポートや3ディスプレイへの同時出力のサポートなどが加えられた。

Ivy BridgeとSandy Bridgeの違い

 DDR3Lメモリは従来のDDR3の1.5Vから1.35Vへと、コアとインターフェイスの電圧を落とした低電圧版だ。実際には低電圧動作の選別品となる。DDR3Lについては、AMDは積極的だったが、Intelは1歩引いていたのが、Ivy Bridgeからサポートする。LPDDR3はDDR3Lとは別種のメモリで、こちらは2013年のHaswellからのサポートとなる見込みだ。

●一般的なテッセレーションパイプラインの実装

 GPUコアの拡張点は多岐に渡っている。物理的な拡張部分の量という意味では、GPUコアがIvy Bridgeの中で最も大きく変わった部分だ。グラフィックス機能面ではもちろんDirectX 11のサポートが一番大きい。DirectX 11サポートのハードウェア上の目玉であるテッセレーションパイプラインも実装された。GPU汎用コンピューティングの部分の機能の表は、実際にはSandy Bridge世代から実装されている機能がほとんどだが、大きな拡張としてライタブルなキャッシュがGPU内に実装された。

DirectX 11のサポート

 IntelのGPUの図は処理の流れが横方向になっている。これを、一般的なGPUのブロック図のように、グラフィックスパイプラインに沿って上から流れがわかる図に起こしたのが下の図だ。図中のキャッシュの接続関係などは一部推定が入っている。

グラフィックスパイプラインの流れ
PDF版はこちら

 IntelのGPUコアブロックで、Shaderとなっているのは、実際にプロセッシングを行なうユニットではない。シェーダプロセッシングは、全て下のEU(execution unit)で行なわれる。EUにを制御したり、データをアセンブルするためのユニットが、Intelの図ではShaderと表記されている。表記は違うが、NVIDIAやAMD(旧ATI)のGPUでも同じようなユニットがあり、基本的な構造は共通している。

 上の図を見ると、Ivy BridgeでのDirectX 11サポートは、いたって一般的な実装になっていることがよくわかる。DirectX 11パイプラインでは、テッセレーションステージ群として、ポリゴンを分割するテッセレータの前にプレ処理を行なう「Hull Shader」、後ろにポストテッセレーションのための「Domain Shader」を配置している。ハードウェア的な実態としては、AMDとNVIDIAのどちらも、単機能のテッセレータをハードウェア実装し、前後のシェーダは、シェーダプロセッサ群でソフトウェア実装している。Intelもこれは同様で、テッセレータだけを固定機能ユニットとして実装している。図にあるHull ShaderとDomain Shaderは、いずれもその制御のためのユニットだ。

●キャッシュ階層が変わったIvy BridgeのGPUコア

 IntelのGPUパイプラインは、Sandy Bridgeまで伝統的なGPUの、リードオンリの上りのパスと、ライトオンリの下りのパスに分離されたバス構造を取ってきた。テクスチャや頂点はそれぞれ、外部メモリからプロセッサへと「メモリ→キャッシュ→プロセッサコア」という一方向のバスで読み込まれる。その逆に、処理が終わったピクセルは、プロセッサからメモリへの下り方向のデータパスで書き出される。キャッシュも同様に分離されており、テクスチャキャッシュはリードオンリー、レンダーキャッシュはピクセルオペレーションユニットからのみ読み書きできる構造となっていた。

 Intelは、Ivy Bridgeでは、こうした上下に分離されたバスとメモリ階層に加えて、ライタブルなキャッシュを加えた。また、シェアードローカルメモリもサポートするとなっているが、これは具体的な実装がどうなっているか、まだわかっていない。メモリ階層は、GPUの次の重要なカギで、Intelがそこにも手をつけはじめたことがわかる。ちなみに、LLキャッシュはSandy Bridge世代からCPUとGPUの共用で、GPUエリアを取ることができる。また、キャッシュレベルでのCPUとGPUのデータ交換も可能だ。