大原雄介の半導体業界こぼれ話

同じ「チップレット」でも、明暗が分かれたIntelとAMD

【図版1】今年のHot Chipsのスライドより。「パフォーマンス/ワットは問題ではない」という、割と物議を醸しだすテーマが語られたのだが、それはともかく

 チップレットの話題がいろいろ喧しい。まぁ筆者も7月にはSilicon Boxを取り上げたし、2021年4月にオースチンで創業したChipletz(AMDのシニアフェローだったBryan Black博士らによる、チップレットの設計を行なうファブレススタートアップ。2024年に製品出荷を予定している)もいろいろ話題になりつつある。

 Jim Keller率いるTenstorrentもチップレットビジネスに参入する気満々である。今年1月には、異なるメーカー同士のチップレットを組み合わせる時に必要となる、チップレットの熱特性や物理的/機械的要件、動作仕様、電源品質特性、チップレットのパッケージ内テスト、セキュリティパラメータといった情報を交換するための標準化手段としてOCP CDXMLを利用することをOCPJEDECが共同で発表している。

 何よりこの部分では先駆的だったAMDに続き、Intelもチップレットベースの製品であるMeteor Lakeを出荷しようとしている(図版1)。Meteor Lakeは4種類のタイル(CPU/IO/Graphics/SoC)と、これら全体の下敷きになるベースタイルという5種類のタイルを組み合わせた構造で、UCIeではない(UCIeは2D/2.5Dの接続が前提で、Foverosのような3Dパッケージは前提にしていない。また個々のタイルとの接続にもUCIeは使われていない)ものの、チップレットであることそのものは間違いない。

チップレットのメリットのおさらい

 ここまではまぁいいのだが、問題は次世代の「Xeon Scalable」(図版2)の方である。要するに「Granite Rapids」で、おそらく「Sierra Forest」の方も似た構造になっていると思うのだが、それはともかくとしてこのGranite Rapidsの構造がどうも理解できないのである。

【図版2】これも今年のHot Chipsより。「Common capabilities across both Intel Xeon with P-cores and Intel Xeon with E-cores」とあるから、Sierra Forestも基本同じだろう

 どの辺が理解できないのか? というと、チップレットに対する考え方が根本的に違うと思うのだ。

 そもそもチップレットのメリットというのは

  1. 細かく機能ブロックを分けてチップレット化することで、ダイサイズの肥大化を防ぐ。これにより歩留まり向上とか設計/検証の容易化が実現できる
  2. チップレット毎に最適なプロセスを選べる。ロジック部は先端プロセス、大容量SRAMは7nm前後のプロセスで、I/Oや周辺回路は12nmあるいは28nmあたりのプロセスで、といった作り分けが可能になり、設計及び製造コストの低減化につながる。何なら28nmあたりのプロセスを使えばフラッシュメモリの混載すら可能になる
  3. 同一ロジックに異なる周辺回路、あるいは同一周辺回路に異なるロジックといった派生型の製造が容易になる
  4. 単一メーカー内だけでなく、異なるメーカーのチップレットの混在が可能になる

といったあたりになるかと思う。

 このチップレットのメリットを素直に活かしたのが「Ponte Vecchio」である(写真1)。

【写真1】左からSapphire Rapids XCC/Sapphire Rapids HBM/Ponte Vecchio

 Ponte Vecchio全体のタイル面積は「Sapphire Rapids」に比べるとちょっと小さいぐらい(Sapphire Rapidsは400平方mm×4で1,600平方mm。Ponte Vecchioは合計で1,300平方mm弱)であるが、実際には16個のコンピュートタイルと8つのRambo Cacheタイルと8つのHBM2e I/Fタイル、2つのXe-Linkタイルから構成される(ほかにベースタイルやらHBM用のコントローラやら山ほどあるし、HBMも8つあるのだが、まぁこれは数から外しておく)。

 ベースタイルはそれなりに大きいが、ここは単に配線の接続とHBMのコントローラなどを集積するだけで、プロセスはIntel 7。コンピュートタイルは100平方mm未満のサイズで、TSMC N5。Rambo CacheはやはりIntel 7、HBM2eのSerDesはTSMC N7といった具合。機能ブロックを分離することで検証と歩留まり改善が実現できているし、ブロックごとに最適なプロセスを利用することが可能になっている。

 EMIBとFoverosの両方のパッケージ接続技術を利用しているから、UCIeの規定するチップレットからは外れるとはいえ、1と2の条件を両方満たしている。またラインナップとしてはフル構成のIntel Datacenter GPU Max 1550以外に、半分のサイズのDatacenter GPU Max 1100もラインナップしており、3も満たしている。4は満たしていないが、これは今のところ必須条件ではないことを考えると、Ponte Vecchioは“正しくチップレットの考え方を利用した製品”と言えるだろう。

チップレットのメリットを無視したXeon Scalable

 問題は写真1でその横に並んだXeon MaxというかSapphire Rapidsだ。

 確かに物理的には4つのタイルから構成されるチップレットであるが、そもそもそれぞれのタイルの中にCPUコアとメモリコントローラ、PCIe/CXL、UPI、アクセラレータまで全ての機能が盛り込まれた構成であり、しかもタイルのサイズは400平方mm。おまけに4つをこんな形状で並べたものだから、鏡対称になる2種類のタイルを用意する羽目になったといういわく付きのもので、1~3の全てに該当しない。

 後継になるEmerald Rapidsのサンプルは、今年(2023年)3月に開催されたDCAI Investor Webinarで示された(写真2)が、今度は2種類のタイルを用意する必要はなくなったものの、タイルのサイズはレチクル・リミット(ダイサイズの限界)に近いところまで大きくなっている始末で、相変わらず1~3はまるっと無視である。

【写真2】パッケージはGranite Rapidsと同じということからタイルのサイズはおおよそ25.2×30.9mmで、778.7平方mmという巨大なものに

 そこに来て図版2を見て、IntelはこのXeon Scalableに関しては、物理的にはチップレットではあるものの、これは上に書いた「チップレットのメリット」とは別の原理で設計されていると確信した格好だ。

 なぜ図版2を見てそう思ったか? というと理由は2つで

理由1

 チップレットにメモリコントローラが内蔵されている。ということはチップレットの数に応じて出てくるメモリのチャネルが変わることになる。実際写真2右下の図を見ると

・3チップレット:12チャネルDDR5

・2チップレット:8チャネルDDR5

・1チップレット:そのままだと4チャネルDDR5になってしまうので、8chを持つ別のチップレットを用意

ということになっている。また4チップレット以上だと今度はDDRが16チャネル以上になるので、プラットフォームとの互換性が保てなくなる。

 この点ではAMDのEPYCとかの方が考えてあり、メモリコントローラをIODに移し、CCDの方は本当にCPUコアとL3キャッシュしか搭載していないので、4/8/12個のCCDというバラエティを用意しながら、いずれの製品でも12チャネルのDDR5を利用できるようになっている。

AMDの第4世代EPYCの設計
理由2

 タイルサイズが巨大。Hot Chipsで開示された情報によれば、Granite Rapidsは4MB/コアのL3を搭載する仕組みである。これは1.875MB/コアのSapphire Rapidsから、コアあたりのエリアサイズが結構大きくなることを意味している。

 コアの数そのものは公式には未発表だが、流れてくる情報によれば最大132コアだそうで、ということはタイルあたり44コア。それにDDR5のメモリコントローラを合わせて46ブロックということになる。

 ここから推定したGranite Rapids世代のコンピュートチップレットの構造はこんな感じではないかと思う(図1)。12×4で48個のブロックが用意され、うち44個がCPU、2つがメモリコントローラという感じだ(残り2つは不明だが、実はCPUの冗長ブロックになっているかもしれない)。

【図1】Granite Rapids世代のコンピュートチップレット(筆者予測)

 オレンジで書いた横方向のメッシュはチップレット内で完結しているが、赤い縦方向のメッシュは複数のチップレットをEMIB経由で接続されることになる。だからチップレットで言えば縦方向6本、横方向4本のメッシュが通っている計算だが、2チップレットなら縦方向6本、横方向8本、3チップレットなら縦方向6本、横方向12本になるわけだ。

 さてここまではまぁ良い。一応これもチップレットの1つの形ではあるのだが、問題はこのコンピュートタイルの大きさはどの程度か? である。

 Sapphire Rapidsの場合、400平方mmのタイルにこのブロックに相当するものが20個入っていた。つまりブロック1個あたり4mm×5mmほどで20平方mmの大きさになる計算だ。実際にはこのブロックの周囲にPHYなどが配される関係でブロック1個の大きさはもっと小さく13.2平方mmほどであった。

 とりあえずPHYのことを忘れてこのブロックのサイズが変わらないとすると、ブロック48個だと633.6平方mmものサイズになる。

 実際にはプロセスがIntel 7→Intel 3になる関係で、面積がもっと小さくなることは期待できる(Intelの発表ではIntel 4はIntel 7と比較してHP Libraryの面積が0.49倍になるとしていた)のだが、L3キャッシュを1.875MB→4MBと大幅に増やしており、しかもこのL3キャッシュに関してはプロセスの微細化があまり効かない(トランジスタの寸法よりも配線層のピッチの方が大きな影響を及ぼすため。ここは正直Intel 7もIntel 4も大きくは変わらない。Intel 3も同じだろう)ことを考えると、とてもではないが半分には程遠い。とすると633.6平方mmが600平方mm程度で抑えられれば御の字というところではなかろうか?

 それにEMIB用のPHYとかDDR5のPHYとかが入ることを考えると、形状的には横長になるにしても面積的にはEmerald Rapidsと大差ない700平方mm位になるのではないか? と予測される。要するに、チップレットというには余りにデカい。

なぜIntelは非効率的路線を選んだのか

 何でIntelはこんな歩留まりが見るからに悪くなりそうなソリューションを選んだのか? という話はもう完全に筆者の推定なのだが。思うにSapphire Rapids以降のソリューション(次のGranite Rapidsや、さらにその先のDiamond Rapidsも含む)は「できるなら巨大なモノリシックなダイを作りたかったけれど、物理的に無理(レチクル・リミット)があるので分割してつなぎ合わせた」ということなのではないかと思う。内部のメッシュを延長しているあたりがまさしくそんな感じである。要するにできる限り機能分割とかをやらず、全てを1つのダイに収めたかったのだろう。

 確かに性能はそのほうが良い。AMDはEPYCシリーズでInfinity Fabricを利用してCCD間やメモリコントローラを接続した結果、柔軟性は増してコストは下がったものの、Infinity Fabricを利用することに起因するレイテンシの増加という性能面へのペナルティからは免れていない。それでも大容量L3キャッシュの効果などでその影響を最小限に抑える工夫をしているわけだが、Intelはそれを嫌ったというか、性能最優先にしたかったのだろう、と想像される。

Infinity Fabricの採用

 確かにIntelの巨大ダイ方式のアプローチならCPU同士の通信の遅延はずっと少ないし、メモリコントローラへのアクセスも高速である。その代償として、複雑化する検証作業やダイサイズ肥大化に伴う歩留まりの悪化が予想される。

 このペナルティは当然Sapphire Rapidsのデザインの検討の際に、俎上に上がったはずだ。ただSapphire Rapidsは当初2022年第1四半期に量産開始予定だったし、それ以前のロードマップだと2021年中に投入される予定だった(図版3)ことを考えると、そのデザイン検討というのは2016年か遅くても2017年ということになる。

【図版3】これは2020年6月に行なわれたCooper Lakeの発表会の際のスライド

 つまり、ブライアン・クルザニッチ氏がCEOを務め、まだIntelの製造部門が社内で一番発言力を持っていた時期の話である。製造部門は当然、そうした歩留まりの悪化など認めるはずもなく、むしろダイサイズが大きいというのはそれだけ多数のウェハの製造を必要とする=売り上げが上がるわけで、この巨大ダイ路線が推進されたのも頷ける。

 その後クルザニッチ氏の(事実上の)解任に伴い、CFOだったボブ・スワン氏がまず暫定CEO、次いで正式にCEOになるが、スワン氏の時期は戦略的な変更が一切なく、クルザニッチ氏の立てた路線をそのまま踏襲していた時期にあたる。なのでSapphire Rapidsに続く製品も、当然同じように巨大ダイ路線を踏襲して設計に入ることになる。現CEOであるパット・ゲルシンガー氏が就任したのは2021年2月だから、それ以前にデザインが完了した製品は基本この巨大ダイ路線に基づいている可能性が非常に高い。

パット・ゲルシンガー氏

 その結果がどうなったか? というと、Intelの10nmやIntel 7などの遅れに加え、巨大なダイに機能を盛り込み過ぎたことに起因する検証の長期化(や手戻りの多さ)もあり、2年以上の遅延を経てやっとSapphire Rapidsは出荷された形だ。巨大ダイ路線の問題である、「プロセスに問題があると歩留まりが極端に落ちやすい」、「複雑化したことで検証に猛烈に手間と時間が掛かる」の両方をモロに喰らった形である。

 これは後続の製品にも影響を及ぼしており、なのでEmerald RapidsやGranite Rapidsは前製品の出荷から1年未満での出荷開始を予定しているのは、要するに電車の回復運転みたいなもので、本来の計画から2年遅延だったものを1年半、1年、と少しずつ縮めようという努力と見ることができる。

 ただこうなってくると、巨大ダイ路線というのはIntelにとって足枷でしかないのだが、今さら設計を変更しようもないから引き続き継承せざるを得ない(でないともう一度基本デザインからやり直しになる)。上でちょっとDiamond Rapidsに言及したのは、この世代までは多分巨大ダイ路線のままのデザインに基づいていると考えられるためだ。

今後のIntelのチップレットは

 ちなみに「んじゃPonte Vecchioは何でその影響を受けなかったのか」という話だが、こちらはラジャ・コドゥリ氏が2017年にIntel入社後に、何のしがらみもないスクラッチの状態から設計したためだ。

 当時IntelはGPUの設計経験が極めて乏しく、それもあってGPUの設計チームも外部からだいぶ人を集めて結成している。こうした外部の人材は、巨大ダイを作らねばならないといった妙な先入観もなく設計を行なった結果、うまくチップレットをモノにできたと考えるのが正しいように思う。

 ではXeonは今後も巨大ダイのままなのか。

 筆者の予想では、Diamond Rapidsに続く製品は大きく変わるのではないかと思う。ゲルシンガー氏がCEOに就いた時点で、さまざまな設計デザインの見直しが行なわれたのは確実だし、そうなると巨大ダイ路線があまりに現状に即していないことも明白だっただろう。

 基本デザインからのやり直しだと、(サーバー向けだと検証の時間が長くなりがちだし、そこで手戻りが出るとさらにひどいことになるが、それはおいておくとして)製品出荷まで大体5年かかることを考えると、2026年に投入される製品には期待できるかもしれない。

 同じチップレットという技術を使っていても、設計の基本方針が違うと、こうも最終製品が変わるという良い例がSapphire RapidsとGenoa(というかMilan)、ということでもある。

第4世代EPYC