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

Intelの15コアCPU「Ivytown」の“チョップ”アプローチ

Ivy Bridge-EXとEP、ENのベースとなるIvytownアーキテクチャ

 Intelが最大15コアのハイエンドサーバーCPU「Ivy Bridge-EX」のラインナップを「Xeon E7 v2」ファミリとして発表した。22nm FinFET(Tri-Gate)プロセスのIvy BridgeアーキテクチャベースのサーバーCPUだ。CPU同士を接続するQPIリンクを3リンク備える、MP(Multi-Processor)構成用のCPU製品ファミリとなる。32nm世代のハイエンドサーバーCPUは、「Westmere-EX(ウエストミアEX)」の10コアだった。Intelは、32nmから22nmへのプロセス技術の移行で、サーバーCPUのCPUコアの数を1.5倍に増やした。

 コードネームIvy Bridge-EXの製品は、Ivy Bridgeのサーバー向け構成のダイ「Ivytown(アイビータウン)」ファミリを使う。Ivytownは同一の物理設計から派生した複数のダイのファミリであることが、ISSCC(IEEE International Solid-State Circuits Conference)で明らかにされた。Ivytownには15コアと10コア、そして6コアの3種類のダイがある。

 最大の15コアのIvytownのダイサイズは541平方mmで、トランジスタ数は4.3B(43億)トランジスタとIntel過去最高。前世代のWestmere-EXのダイサイズが513平方mmで2.27B(22.7億)トランジスタだった。

Intel CPUのダイサイズの変遷(PDF版はこちら)

 32nm世代と比べるとIvytownではダイサイズはほとんど変わらず、トランジスタ数は90%ほど増えた。つまり、ムーアの法則によるプロセス1世代で2倍のトランジスタ数はほぼ維持されていることになる。ところが、CPUコア数は2倍にならないどころか50%しか増えていない。これはなぜなのか。

CPUコアとキャッシュの比率が変化しているIvytown 15コア

 IvytownとWestmere-EXを比較すると、何が起こりつつあるのかよく分かる。下の左が今回のIvytown、右がWestmere-EXだ。ダイサイズはそれほど大きくは変わらない。だが、CPUコア+キャッシュとそのほかのユニットのダイ上の面積比率が大きく異なっている。

Ivytown(左)とWestmere-EX(右)のダイ(PDF版はこちら)

 まず、CPUコアのサイズは、32nmのWestmereから22nmのIvy Bridgeでは65%ほどにしか縮小していない。WestmereからIvy Bridgeで機能が増えた分、CPUコアが大型化したからだ。そのため、32nmのWestmere 10コアと22nmのIvy Bridge 15コアでは、占めるダイエリアはどちらも170平方mm台でそれほど大きく変わらない。チップ全体に占める面積も、どちらも30%台前半、つまり、チップの3分の1をCPUコアに使っていることに変わりがない。つまり、10コアから15コアへの拡張は、CPUコアの面積だけを見ると自然な流れだ。

Ivytown(左)とWestmere-EX(右)のダイレイアウト(PDF版はこちら)

 だが、Westmere-EXでは各コアにつき3MBだったLLキャッシュスライスのサイズを、Ivytownでは2.5MBへと減らした。LLキャッシュはWestmere-EXの30MBに対して、Ivy Bridge-EXでは37.5MBとそれほど増えていない。32nmから22nmへの微細化によるSRAMセルの小型化もあってLLキャッシュスライスのダイエリアは大幅に減った。

 比率で見ると、Westmere-EXではCPUコアとLLキャッシュで全体の70%弱を占めていた。ところが、IvytownではCPUコアとLLキャッシュの面積は56%程度に減り、それ以外のI/O回りなどの面積が大幅に増えている。Westmere-EXで30%強だったI/Oやインターコネクト、その他ユニットとデッドスペースなどの面積は、Ivytownでは40%以上となる。減ったのは主にキャッシュ面積で、その分がアンコア部分に回された。一因はIvytownでPCI Expressを取り込んだためだが、全体にCPU重視からI/O重視へと変わりつつあることが分かる。その一方、CPUソケット間のデータトラフィックを減らすための大容量L3キャッシュの比重が下がっている。

Ivytown(左)とWestmere-EX(右)のダイ上の面積比率(PDF版はこちら)

チョップによって15コアから10コアと6コアのダイを派生

 IvytownはIvy Bridgeコアベース。IntelはIvy Bridgeの前の世代のSandy Bridgeではハイエンドの“EX”構成のサーバーCPUがなかった。Ivy Bridge世代で、ようやくハイエンドから全てIvy Bridgeアーキテクチャで揃った。その理由は、Ivy Bridge世代で、サーバーCPUの設計に“チョップ方式”の設計を全面的に取り入れたからだ。

 現在、Intelは、CPUダイを最初から多数の異なる構成へと簡単に設計変更できるようにハードマクロのレベルでモジュラー化している。物理的なレイアウト上で、一部のユニットを“チョップ”(chop)することで、比較的容易に、より小さな構成のダイを産み出している。Intelはこの方式をSandy Bridgeで導入したが、最大構成のサーバーCPUまではチョップ方式で派生できなかった。

 しかし、Ivy Bridge世代では、Intelはチョップできる設計を、全サーバーCPUラインにもたらした。15コアの最大構成のサーバー向けCPUから、10コアのダイと、6コアのダイを、ダイ上の一部ユニットをチョップすることで派生できるようにした。同じIvytown系の設計から、2~4 CPUソケット対応(最大で8ソケット)のMP(Multi-Processor)版「Ivy Bridge-EX」だけでなく、2ソケットの「Ivy Bridge-EP」と1~2 CPUソケット版の「Ivy Bridge-EN」を派生させている。

チョップ方式によるIvytownの派生ダイ(PDF版はこちら)

 具体的には上の図のようになっている。一番上は15コアのフル構成のダイ。そこから、右3分の1のエリアと、コアの上下のリングチャネルをチョップすることで、10コア版のダイを派生させている。リングチャネルは、15コア版にのみ存在する3つ目のリングバスのために設置されている。10コア版のダイは、これらのユニットを除いた以外は、ほとんど15コア版ダイと変わらない。このダイは、昨年(2013年)、Ivy Bridge-EPの10コア版として公開されたダイ写真と同じだ。

 さらにIntelは、10コア版のダイから4コア分のCPUコアとLLキャッシュスライスをチョップすることで6コア版のダイを派生させている。15コア版から6コア版まで、ダイの上部のQPIとPCI ExpressなどI/Oのブロックや、下部のメモリ/DDR DRAMコントローラ回りの構成は変わらない。15コア版での拡張された部分が除かれただけだ。

 この方法で、15コア版の541平方mmダイ/4.3B(43億)トランジスタの規模から、10コア版の341平方mmダイ/2.89B(28.9億)トランジスタ、6コア版の257平方mmダイ/1.86B(18.6億)トランジスタまでの異なるダイバリエーションが産み出されている。

 もちろんチョップ方式にはロスもある。例えば、15コア版ダイの右上のエリアはデッドスペースとなっている。また、リングチャネルの左右の部分も使われていない可能性がある。Intelは、このサイズのダイとなると、ダイの無駄はあまり問題ではなく、それよりも設計の複雑性を軽減した方がいいと判断したと見られる。ちなみに、PC向けのIvy Bridgeのチョップによる派生は下の図のようになっている。

チョップ方式によるIvy Bridgeの派生(PDF版はこちら)

コアやユニットをディセーブルにして製品を派生

 Intelはさらにダイ上のコアを一部無効化することで、12コアと8コア、4コアの製品のバリエーションも産み出している。昨年(2013年)発表された12コアの製品は、実際には15コアから無効化によって派生させられたバージョンだった。

 下のISSCCの図のように、通常はCPUコアとLLキャッシュスライスのペアで無効化する。しかし、CPUコアとLLキャッシュスライスは個別に無効にすることもできる。それによって、CPUコア数とLLキャッシュ量のバランスの異なる製品も生み出されている。無効化されたCPUコアはパワーゲートされリーク電流(Leakage)が生じないようにされる。キャッシュスライスも同様で、オフされたエリアはシャットオフモードになりリーク電流が抑えられる。

CPUコアとLLキャッシュの無効化

 Intelはこの方法で、3種類のダイから16種類の異なる構成の製品を派生させている。具体的には、15コア版ダイから、2種類の15コア版と、2種類の12コア版、大容量LLキャッシュ版の10コアと6コアといった製品を派生させている。10コア版ダイからは8コアと6コアをキャッシュ量の異なる版も含めて派生させている。6コア版ダイからは4コア版と、これもキャッシュ量の異なる版を派生させている。

Ivytown/Xeon E7 v2ファミリのSKU

 さらに、デュアルソケットまでのEPと、マルチソケット対応のEXでは、同じダイであってもI/O回りでも構成が異なり一部機能が無効化されている。15コア版のダイの左下にDRAMインターフェイスのパターンがあるが、この部分は基本的にはEP版では使われていない。また右上には3つ目のQPIリンクがあるが、この部分もEP版では無効化されている。EP版パッケージでは、よりダイのムダが多くなる。ただし、無効化された部分はパワーオフされリーク電流もなくなる。

Ivytownのダイレイアウト(PDF版はこちら)
無効化された部分はリーク電流がない

 実際の製品では、さらに同じコア数/キャッシュ量でも動作周波数とTDP(Thermal Design Power:熱設計消費電力)の異なるSKU(Stock Keeping Unit=アイテム)がある。いずれにせよ、たった1種類の基本設計から、全サーバー&ハイエンドデスクトップCPUのラインナップを経済的に産み出すことに成功している。Sandy Bridge世代との大きな違いは、最小構成のENからEP、マルチソケットのEXまでが、同じ設計から派生できることだ。

 Intelはこのように、1種類の設計から複数ダイを産み出し、さらにそこから多数のSKUを派生させるチョップ方式を進化させている。GPUメーカーが以前から採っていた設計手法に近い。しかし、Intelのアプローチがほかのベンダーと大きく異なるのは、ハードマクロ単位でチョップすることで、これはシンセサイザブルにできないパフォーマンスCPUならではのアプローチだ。この方式を採ることで、Intelは多種類のCPUダイを短期間に設計・検証できるようになった。

 逆を言えば、この方法でなければ、Intelと言えども、これだけ多数のダイバリエーションを短期間に提供することができない。そして、チョップ方式のために必要だったのが、内部インターコネクトのノードを簡単に増減できるリングバスだった。Intelがリングバスを使う理由の1つは、ダイバリエーションを産み出す際の経済性にあると考えられる。今回も、10コアを2リングで結ぶ構成と、15コアを3リングを結ぶ構成を、中核となる10コア+2リング部分の設計を変えずに実現する奇抜な方法を取っている。

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