大原雄介の半導体業界こぼれ話
「チップレット」技術における、コストと価値の関係
2025年2月28日 06:12
やっとIEDM 2024の全セッションの資料を落とし終わった(いろいろあって、全資料を入手したのは1月末をぶっちぎって2月に入ってからである)と思ったら、もうISSCC 2025が終わっている。あまりに早すぎる。もう30日ぐらい、2月が続いてもいいと思う。
まぁ現実逃避はこのぐらいにして、そのIEDM 2024の資料を見ていて思ったのだが、もうチップレット花盛りである。
ショートコース1-1の“Sailing into the Future of the Semiconductor Industry”、1-4の“The System Revolution enabled by 2.5D and 3D Technologies”とか2-4の“3DIC STCO for AI Systems”、2-5の“Developing Modern Scalable 3DIC Systems and Next Generation EDA”、2-6の“Leveraging AI to Revolutionize Semiconductor Manufacturing”あたりは、もう完全にチップレットが話題の主役になっているし、セッション21“Leading Semiconductor Products and Advanced Packaging”やセッション31“Advanced Logic Technology|3D integrated Circuit Technology”なんかもチップレットを前提にした話が盛りだくさんになっている。
チップレット化が進む理由
そもそも何でチップレットを利用する方向に進むか?というと、まず大きな枠で言えば「もっともっとトランジスタを使いたいから」に尽きる。冒頭の図1はTSMCのセッションの資料であるが、2018年あたりから大規模言語モデルを利用する風潮が顕著になりこれに伴い、特にそのモデルのトレーニング向けにより高い処理性能が必要になってきた。といっても処理の大半がConvolution(畳み込み演算)であって、計算そのものはシンプルであるがその処理量がバカみたいに膨大という話である。
幸いなことにこの計算は並列化しやすいので、1つのコアを猛烈なスピードでブン回すより、多数の計算機を並べて一斉に処理した方が早い。そこで大規模SIMDや大規模VLIWを使うか、あるいは小規模のSIMD/VLIWエンジンを多数並べてメッシュ構造にしてデータフローで動かすか、いっそインメモリコンピューティングに走るか、など方法論はいろいろあるが、とにかく大量の計算ユニットを並べてぶん回すということに変わりはない。
そして計算ユニットを大量に並べようとすると、それだけトランジスタの数が必要になる。図1で点(と直線)は演算性能(左軸)、縦棒が実際の製品のトランジスタ数(右軸)であるが、まぁ計算能力とトランジスタ数の推移がどちらも近似関係にあるのはお分かり頂けよう。
ところが、半導体というのは無限にトランジスタを増やすことはできない。そもそも直径300mmのウェハ上に構築するから、最大でもこれに引っかかることになるし、そこまで行く前に露光限界(Reticle Limit)に引っかかる。要するにウェハ上にLSIのパターンを投射して、それをエッチングして回路を構成していくにあたり、投射できる最大のサイズのことだ。概ねこれが800平方mm強であり、この800平方mm強に収まらないと、そもそも製造ができない。ということは、この800平方mm強に収まるトランジスタの数が上限ということになる。
プロセスの微細化というのは、トランジスタの大きさをどんどんコンパクトにすることで、つまりはこの800平方mm強に収められるトランジスタの数を増やそう、というチャレンジである。
昨今では制約条件はトランジスタの大きさそのものより、トランジスタ同士をつなぐ配線の方になってきており、この配線をどうにかすべく、こちらはこちらでいろいろ苦労が続いている。
IntelがPowerVIAという名前で発表したBSPDN(Back-Side Power Delivery Network)もこの一環であるが、BSPDNは一時的な解決にはなるが、根本的な解決にならないということで、まずは現在のCu/Co(銅/コバルト)配線に続きRu(ルネニウム)の利用が検討されており、その先にはカーボンナノチューブなどを使った配線が提案されているが、実用化の時期はRuが2020年代末か2030年頃、カーボンナノチューブはさらにその先といった感じで、目下の状況の解決にはならない。
図1で2024年に出てきた2,000億個のチップというのはNVIDIAのBlackwellのことだが、これは2つのチップの合計が2,000億個という話で、チップ1個あたりだと1,000億個になる。概ねこの辺が現状の限界である。
ウェハを丸ごと使うCelebras
だから、「2,000億個のプロセッサが欲しいけど作れないから、チップレットを使ってつなげて、疑似的に2,000億個のプロセッサを作ろう」という発想そのものはまぁ妥当と言えば妥当である。この考え方の極北がCelebrasの「WSE-3」(図2)で、ウェハサイズギリギリまで巨大化させたダイを疑似的に構築している。実際には12×7で84個に分割されているが、これをそれぞれ相互接続することで、見かけ上は1つの巨大なダイになるような作り方をしているわけだ。
ただ、実をいうと、Celebrasの方式は必ずしも効率は良くない。
ここにもあるように、4兆個のトランジスタが46,225平方mmのダイに収められているわけで、トランジスタ密度は8,653万個/平方mmほどになる。一方H100は800億個を814平方mmに収めているわけで、密度は9,828万個/平方mmになる。WSE-3はTSMC N5、H100はTSMC 4Nだからトランジスタそのものの面積はほぼ同じと考えられる。
ではこの差はどこから出てくるか?と言えば、WSE-3は原理的にローカルに外部メモリを持たない(持てない)関係で、オンチップで44GBものSRAMを搭載しており、つまり84個のそれぞれのタイルあたり536MB以上のSRAMが搭載されている計算だ。一方H100は外部にHBM3を接続することもあり、内蔵L2は50MBでしかない。L1はSMあたり256KBだから、L1とL2を全部合わせても80MBちょい。このSRAMの差が、トランジスタの密度の差につながっていると考えられる。
ちなみにSRAMを内蔵することで、WSE-3のメモリ容量はH100比で880倍、メモリ帯域は7,000倍になるとしつつ(図3)、性能はH100の20倍にしかならない(Hot ChipsにおけるCelebrasの公開した数字)というあたりが、コストと価値(バリュー、Value)のバランスをどこで取るのかの難しさを物語っている。
単純に言えば、WSE-3の値段がH100の20倍以内に収まれば、WSE-3の方がコストパフォーマンスが良好、という計算が成り立ちそうに思われる……のだが、実際にはWSE-3は(特にLLMにおける)重み(Weight)を44GBのローカルSRAMに全部置ききれないという問題があり、外部に「SwarmX」と呼ばれる独自ネットワーク経由で、「MemoryX」という重み格納専用のメモリサーバーを置き、このMemoryXから複数あるWSE-3に対して重みの値を配信するという、ちょっと複雑な構成を取っている。
なので、価格を比較する場合は、このSwarmX(専用のスイッチ)とMemoryX(最大500TB)もシステム価格に加味してやる必要がある。ここまで考えると、実はどこまでH100に対してコストパフォーマンス面でのアドバンテージがあるのか、ちょっと怪しいところである。そもそもコアの数を考えても、もう少しH100との性能差があっても良さそうな気がする。
Arrow Lakeがチップレット化によって得られる価値
もう少し身近な例で示してみよう。Raptor Lake、Arrow Lake、Ryzenを比較してみる。
Raptor LakeはそもそもCPUコアとメモリインターフェイスがモノリシックで構成され、内部はリングバスで接続されている。Arrow LakeはメモリインターフェイスはSOCタイルに置かれており、CPUを搭載するコンピュートタイルとSOCタイルはFoverosを利用して、ベースタイル経由で接続されている。そしてRyzenの場合、CPUを搭載するCCDとMemory I/Fを搭載するIODは、C4パッケージ上でInfinity Fabricでつながっている構成である。
さて、この場合一番高コストになるのはArrow Lakeである。チップレット構成にする関係で、コンピュートタイルとSOCタイルを使う関係で、Arrow LakeのコンピュートタイルとSOCタイルには、チップレット用のPHY(物理層)を設ける必要がある(図4)。当然これはタイルというかダイのコスト上昇につながる。また接続にはFoverosを利用する関係で、巨大なベースタイルが必要になる。図4で赤枠で示したのがベースタイルの大きさになる。要するにモノリシックな場合と比べて
- コンピュートタイルとSOCタイル、IOタイル、GPUタイルにPHYを設ける分、タイルのサイズが大きくなる。
- ベースタイルが必要になる
- ベースタイルとCompute/GPU/IO/GPU/SoCの各タイルをFoverosを利用して積層するコストが余分にかかる
ということになる。ただこのコストはそれぞれ計算可能だ。外部には開示されていないが、もしIntel Foundryを自分で使おうと思ったら、Foverosの実装コストとかIntel 22FFLを利用したベースタイルの製造コストは当然開示されるし、コンピュート/GPU/IO/SOCの各タイルの製造コストはTSMCから出てくることになる。
さて、ここまではコストの計算だ。次は“価値”である。チップレットにすることで得られる価値というのは、
ベースタイルは相対的に安価なIntel 22FFLベースであり、こちらは配線層こそあるもののトランジスタ層がないパッシブタイルだからかなり製造コストは安い。Foverosのコストはまぁどうしようもないが、というあたりだ。N3Bで全体を作るよりは低コストで済むのは間違いない。
全部をモノリシックで作った場合よりも安価になる可能性が高い。コンピュートタイルこそ相対的に高価格なTSMC N3Bだが、GPUタイルはTSMC N5P、IO及びSoCはTSMC N6で製造される。N6は実質7nm世代で、かなりコスト的にもこなれている。
仮にArrow Lakeをモノリシックでそのまま製造すると、11.4×25.8mmで294.1平方mmもの巨大なダイとなる。実際にはコンピュートタイルの脇に未使用の領域(3.5×6.1mmで21.4平方mm)があるから、これを抜いてうまく再配置できれば272.7平方mm、そこからチップレット用のPHY部分を全部抜くと240平方mm程度まで面積は縮小できると思うが、頑張ってもこれ以下にはならない。
TSMCのN3Bのウェハコストはおよそ2万ドルとされており、240平方mmだと頑張っても256個しか取れないので、歩留まりが100%としてもN3Bを利用した場合のモノリシックダイのコストは78ドル強ほどになる。2022年にこんな記事を書いたが、歩留まり100%でも原価78ドル強というのは、受け入れ難いだろう。
複数のSKUを作り分けしやすい。たとえばPhoto04のArrow LakeのコンピュートタイルはP-core×8+E-core×16の大きなものだが、この先ローエンド向けにP-Core×4+E-Core×8なんてタイルを作った場合でも、GPU/IO/SOCタイルには変更なく使える。
というかそもそもArrow LakeのSOCタイルはMeteor Lakeのものと同じであり、要するに世代を超えてタイルの使いまわしが可能である。これは検証などの手間を大幅に省けることにもつながるし、枯れた製品を使うことで安定して利用できる。
EMIBではなくFoverosにすることで、ベースタイル上にキャパシタを構成することが可能で、これにより電源供給の安定化が図れる(図5)。電源供給が安定化するというのは、動作周波数の引き上げが容易になるということでもある。
といったことが挙げられる。
さてこの価値を計算するのが、実はチップレットで一番難しい話である。最初のモノリシックより安い、というのはまぁ難しい話ではない。複数SKUの作り分けが楽、というのもそれぞれ別のダイを設計する場合のNRE(Non-Recurring Engineering:単発工程)を試算すれば、まぁ金額として比較しやすい。問題は最後のキャパシタの話で、この安定動作への貢献により、どれだけ製品の価値が向上したか?を判断するのは、非常に難しいものとなる。
AMDにとってのチップレットの価値とは?
次に別の例としてZen 4世代のCPUを考えてみよう。こちらはCCDとIoDにInfinity FabricのPHYが搭載されている。Zen 4世代だとCCDがTSMC N5、IoDがTSMC N6での製造となっている。さてこのZen 4世代では、
- Ryzen
- EPYC
- MI300A
- MI300C
という4種類の製品について、同じCCDを使ってIoDのみの置き換えで製品の作り分けが可能になっている。これをモノリシックな構造で作った場合とチップレットで作った場合で、それぞれのNREがどれだけ掛かるかを積み上げれば、コスト面でのメリットはまぁ算出できるだろう。
ただMI300A/MI300CはSoIC+CoWoSで接続しているから、性能面でのインパクトはそれほどないのだが、Ryzen/EPYCに関して言えば、C4パッケージ上でインターポーザを介さずに接続している。ここの部分での性能の劣化は避けられない。
グラフ1はその一例である。Ryzen 7 9700とCore i7-14700K、Core Ultra 7 265Kという7グレードの製品に対してSandra 20/21のAES暗号化/復号化を実施した結果を示したものだ。これはAES命令で処理できるもので、実際にAES命令を使って処理を行なっており、なので1T(1スレッド)動作の場合、Ryzen 7 9700XはIntelの製品に比べて圧倒的に高い性能を叩き出している。
ところがMT+MC(マルチスレッド+マルチコア)、つまり全コア/スレッドでやった場合、Ryzen 7 9700XではInfinity Fabricがボトルネックになってしまい、トータルでも25GB/sそこそこの処理性能しか出せない。この辺Intelはトータルで35~36GB/sの性能を出せている。この辺が、よりCPUコアとメモリコントローラを広帯域のInterconnectで接続できているメリットである。
さて問題は、ではAMDはこのInfinity Fabric経由でCCDとIoDを接続することで、AES256の暗号化/復号化の帯域が頭打ちになるというデメリットによって、どれだけRyzenの価値を損なっているだろうか?という問題だ。Ryzen/EPYCはC4パッケージを利用することで、後工程だけで簡単に製品構成のバラエティを増やすことができた。またC4パッケージだから、インターポーザとかベースタイルに相当するものは不要であり、製造原価と実装コストの両方を低く抑えることが可能になった。これは価値に換算しやすい部分だが、では性能の劣化をどう価値に反映させるか?である。
チップレットの利弊
最終的にチップレットを使う/使わないの判断は、価値になる。チップレットを使うことで価値が向上するか、むしろ低下するかで決まるわけだ。なので、メリット/デメリットをうまく最終的に価値に落とし込むための判断基準というか価値換算のための方法論なしでチップレット化に突き進むと、意味もなく高コストながら売れないという製品が出来上がることになる。
チップレットを構築するための技術的な方法論はだんだん成熟しつつあるし、Alphawave Semi/Broadcom/GUC/Marvellといった、チップレット向けの物理設計を請け負うメーカーもあるから、資金さえあればチップレットを使って自身のASICを作ることは難しくない。難しいのは、価値換算のための方法論が確立していないことであり、しかもこの方法論に一般的な公式は存在しない。会社ごとに事情が違うからだ。
たとえばAMDにとってFoverosを使うのは、別にメリットが何もない。TSMCでSoICを使えばいいからだ。しかしIntelにとってFoverosを使うのは、「Foverosが実用的な製品を構築する際の3D実装技術として十分に役立つ」ことを示す、というIntel Foundryのビジネスの上で欠かせないアピールになるわけで、これは当然価値として勘定に入れる必要があるからだ(どれだけの価値と見積もれるのか、を考えると頭が痛いが)。このあたりが成熟するためには、もう少し時間がかかりそうだ。