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

IntelがHaswellの設計詳細をHot Chipsで発表

8種類のダイバリエーションがあるクライアント版Haswell

 IntelはCPU設計のモジュール化を進めてきた。モジュール化したブロックを組み合わせることで、多種の設計バリエーションを作り出す。SoC(System on a Chip)では当たり前の手法だが、ハイパフォーマンスCPUでは、最近まで一般的ではなかった。Intelは32nmプロセスのSandy Bridge(サンディブリッジ)でモジュール設計を大々的に取り入れ、次のIvy Bridge(アイビーブリッジ)で発展させた。そして、現行のHaswell(ハズウェル)では、さらにモジュール化を推し進め、クライアント向けCPUだけで8種類ものダイバリエーションを作り出した。

Haswellのダイバリエーション

 Intelは、米スタンフォード大学で先週開催されたチップカンファレンス「Hot Chips 25」で、Haswellの8種類のダイバリエーションの大まかなレイアウトを初めて公開した。上のダイレイアウトの列を見ると、いくつかの基本ユニットの組み合わせでバリエーションが生まれていることが分かる。ちなみに、4CPUコアにGT2 GPUコアの構成のHaswellは、下の図のようになっている。

4CPUコア+GT2 GPUコアHaswellのダイレイアウト
PDF版はこちら

 クライアント版Haswellには、CPUコアが4コアと2コアの2つのコンフィギュレーションがある。GPUコアには演算ユニット数が異なる3バージョンがあり、小さい方から「GT1」、「GT2」、「GT3」と呼ばれている。

 また、L3キャッシュ量にもバリエーションがある。CPUコアに付属するL3キャッシュスライスが2MBのバージョンと1.5MBのバージョンがあり、2MBずつで4コアでは8MBのL3キャッシュ、1.5MBで4コアでは6MB、2MBで2コアでは4MB、1.5MBで2コアでは3MBとなっている。ダイバリエーションは、基本的にはこれらの組み合わせでできている。

 ただし、最大の4CPUコア+GT3 GPUコアのバージョンだけは異なり、このチップは外付けで128MBのeDRAMキャッシュをオンパッケージで搭載するため、特別なブロックが加えられている。

ダイによってCPU数、キャッシュ量、GPU規模が異なる

 Intelは内部的にはこれらのダイバリエーションに「4+2」といった名前をつけている。4+2は4 CPUコアにGT2 GPUコアの組み合わせのダイだ。また、Hot Chipsでのダイレイアウト写真を見ると、4+2には「4M」、「2+3(2CPUコア+GT3 GPUコア)」には「2H」といった名称がつけられていることも分かる。4Mの4がCPUコア数、MはミッドレンジのGPUコアであるGT2という意味だと思われる。

 また、同じ2+3(2CPUコア+GT3 GPUコア)でもキャッシュ量が異なるバージョンもある。少キャッシュ版には、低電圧を示すULTがつけられている。下がHaswellファミリのそれぞれのダイのレイアウトと、CPUコア数、キャッシュ量、GPUコア、概算のダイサイズの一覧だ。

Haswellのダイレイアウトの比較
PDF版はこちら

 実際のSKUはこれ以上の種類があるが、それはダイ上の一部機能を無効にして生み出している。また、上のダイのうち、2+2と2+2 ULTはダイ面積が同じと推定されるため、同ダイかも知れない。最大のバージョンである4+3は、CPUコアが4個、GPUコアの演算ユニットであるEU(execution unit)の数は40(320 FMAD)。最小のバージョンの2+1と比べて、CPUコア数とL3量は2倍、GPUコアの演算ユニット数は4倍で、ダイサイズは約2.5倍と、ダイサイズに大きな違いがあることが分かる。

ダイサイズの推移
PDF版はこちら

 これまでも、Haswellのベアチップでは、SKUの違いによってダイの横幅(短辺)の長さが異なっていたが、レイアウトを見る各ユニットの横幅が微妙に異なるためであることがよく分かる。また、GT3 GPUコアが、事実上2モジュールで構成されており、さらにそれぞれのモジュールの中に2つの相似ブロックがあることも分かる。ちなみに、HaswellのGT3構成のGPUコアは下の図のようになっている。

HaswellのGT3構成
PDF版はこちら

 また、モジュール化といっても、全てのSKUにきっちり収まるようにモジュールを設計できるわけではないので、デッドスペースと思われる空きができているダイもある。上の図の中央の2+3を見ると、ピンクの不明エリアがあり、おそらく、デッドスペースだと思われる。

ダイによっては空きスペースが生じる

 Haswellの各ダイの違いは、各機能ユニットを色分けすると、もっとわかりやすい。下の図のように色分けすると、CPUコアとシステムエージェント(SA)とIntelが呼ぶノースブリッジブロックは、同じ面積モジュールが共通して使われていることが分かる。L3キャッシュスライスは、2MBと1.5MBの大きさが異なる2バージョンがある。GPUコアは3タイプでそれぞれが共通の面積のモジュールとなっている。

Haswellのダイレイアウト比較
PDF版はこちら

 CPUコアとL3スライスのペアは、L3量によって図上での横幅が異なる。GPUコアのうち、最小の10 EUのGT1は、横幅が1.5MB L3スライスに合わせて設計されており、そのため、1.5MB L3以外の組み合わせが存在しない。20 EUのGT2と40 EUのGT3は横幅が2MB L3スライスに合わせて設計されており、そのため、1.5MB L3スライスと組み合わせた場合は、L3の横に空きと見られるスペースが生じている。

 ちょっと面白いのはDRAMインターフェイスと見られる部分で、レイアウトを見ると2タイプあることが分かる。2CPUコア版に合わせた短いバージョンと、4コア版に合わせた長いバージョンだ。上の図で言うと、右の4個が短いDRAMインターフェイス、左の4つが長いDRAMインターフェイスだ。2+3(2CPUコア+GT3)では、長いバージョンのDRAMインターフェイスを使っており、そのために空きと見られるスペースが生じてる。わざわざ長いバージョンを使うことは、機能的な違いがあることを示唆している。

 左端のHaswell 4+3は、128MB(1G-bit)のeDRAM「Crystalwell」をキャッシュとしてオンパッケージに備える。このeDRAMは、4+3のダイと専用のシリアルインターフェイスで接続される。eDRAMダイのサイズは80平方mm台で上の図の通りだ。このeDRAMは、Intelの22nm eDRAM技術で製造されている。今年6月の「VLSI Symposium(2013 Symposium on VLSI Technology and Circuits)」でのIntelの発表をベースにすると、eDRAMのメモリ密度は17.5M-bit/平方mm。ここから逆算するとeDRAMチップに載っている1G-bitのeDRAMチップのメモリマクロエリアは58.5平方mmとなる。GT3eのeDRAMは約80平方mm強のダイなので、インターフェイスに30%弱を使っている見られる。パッケージでは下の写真のように配置されている。

HaswellのGT3e

Haswell 4+3のダイレイアウト

 Haswell 4+3のダイレイアウトは、今回初めて明らかになった。図中の左にCPUコア4コアと6MBのL3キャッシュが配置されており、その上にシステムエージェントがある。右側にGT3 GPUコアでその右にDRAMインターフェイスが配されている。ここまでのモジュールは他のHaswellと共通だ。しかし、違いもある。

Haswell 4+3のダイレイアウト
PDF版はこちら

 まず、ダイの下辺の周囲に謎のユニット群がある。4+3は、eDRAMと接続するためのシリアルインターフェイスを搭載しているはずで、このモジュール群はそうした機能を持つ可能性がある。また、GT3 GPUコアの上にもかなりの面積のスペースがある。128MBのeDRAMをL4キャッシュとして使うHaswell 4+3は、相当のサイズのキャッシュタグを備える。Hot ChipsではキャッシュタグはCPUダイ上にあることが明確にされた。ダイ上の不明スペースは、キャッシュタグである可能性が高い。

 ただし、Hot ChipsではIntelは、Haswell 4+3のタグRAMのサイズは2〜4MB程度のはずと説明していた。これが正しいとすれば、想定していたタグRAMの量より小さい。その場合は、eDRAMではキャッシュラインサイズを大きく取って可能性がある。ちなみに、Intelは以前、メニイコアの技術説明の際に、データタイプによってキャッシュライン長を動的に切り替える“リコンフィギュラブルキャッシュ技術”も公開している。

 Hot Chipsでは、128MBの巨大なL4は、主にグラフィックスで大きな力を発揮すると説明された。これは、通常はキャッシュに収まり切らない、グラフィックスフレーム間のデータが再利用できるためだ。大きなテクスチャはもちろん、生成したシャドウマップなどもキャッシュで次フレームに渡すことができる。下のスライドでCRWとなっているのはeDRAM「Crystalwell」の略だ。

ゲームにおけるeDRAMの利用

 また、IntelはCrystalwell eDRAMのメモリ帯域とレイテンシのチャートも示した。これを見ると、40GB/secの帯域負荷のロードでもレイテンシが50ns程度に留まることが分かる。ちなみに、eDRAMインターフェイスの帯域は片方向50GB/secの双方向インターフェイスであることが明らかにされた。

eDRAMのレイテンシ

IntelはBay Trailの論文を取り下げ

 IntelはHaswellで電圧レギュレータモジュール(VRM)をCPUに内蔵した。Hot Chipsでは、HaswellのVRMについても、より詳しい説明が行なわれた。下のスライドの右がHaswellのVRMだ。チップ外部からの供給電圧は、DRAMインターフェイス以外はVccinに統合され、VccinからCPU内蔵の内蔵電圧レギュレータが電圧変換を行い、各ユニットに供給する仕組みとなっている。今回は、想定より多くの異なる電圧が供給されることが明らかになった。

VRMの内蔵化

 スライドは4+3のものと見られ、eDRAMとそのインターフェイスへの電力供給と見られるVccEDRAMがある。また、GPUコアへの電圧も2系統に分かれている。Hot Chipsでは、インダクタ以外の要素はCPUダイに乗っていることも明らかにされた。また、電圧レギュレータの統合により、ボードスペースが大きく減ったことも示された。

電圧レギュレータ内蔵によるボードスペースの削減

 Intelは、今回のHot Chpsで、22nmプロセスの省電力コアベースのSoC(System on a Chip)「Bay Trail(ベイトレイル)」の概要を発表するはずだった。しかし、カンファレンス直前になり、IntelはBay Trailを取り下げ、Haswellと、Clover Trail+の説明だけを行なった。Bay Trailの技術的な詳細の公開は持ち越されてしまった。

(後藤 弘茂 (Hiroshige Goto) E-mail