ポストムーア時代のコンピューティングチップの開発 プロセス技術の進歩による性能増加とコスト削減のペースが鈍化している。これが、プロセッサ業界の共通認識となりつつある。そのため、各社はあの手この手での、“ポストムーアの法則”時代のプロセッサ開発方法を模索しつつある。AMDが取ったコースは、複数のダイ(半導体本体)でチップを構成するマルチダイ化を推進することだ。じつはこれは、Intelの構想と共通している。 AMDはマルチダイ構想の一歩として、現在のパッケージ技術での「MCM(Multi-Chip Module)」をサーバーCPUで採用した。2010年の12コアサーバー向けCPU「Magny-Cours(マニクール)」では、6コアのダイを2個パッケージに収めた。Bulldozer(ブルドーザ)アーキテクチャCPUでも、8コアのダイを2個で16コアの「Interlagos(インテルラゴス)」を実現した。そして、ZEN(ゼン)アーキテクチャ世代では、8コアのダイ4個を1つのパッケージに収めて32コア/64スレッドの「Naples(ネイブルズ)」を作り上げた。 EPYCプランドで投入されたNaplesの特徴は、ベースとなる「Zeppelin(ゼペリン)」ダイが、マルチチップに完全に最適化されて設計されている点。そして、4ダイに分割することで、1個のサーバーCPUのダイサイズを213平方mmと、デスクトップCPUダイ並に抑えたこと。PCクラスのダイサイズとすることで、PCからサーバーまでを共通ダイとし、設計&マスクコストも抑えたこと。 AMDのサーバーCPUのダイサイズの遷移を見ると、今回の設計のポイントがよく見える。AMDは、K10以降はハイエンドサーバーCPUのダイサイズを大きくした。6コアのK10のダイは346平方mmで、Bulldozer世代でも315平方mm。メインストリームのPC向けチップが140～200平方mm台前半のサイズであるのに対して、ひとまわり大きなダイサイズだった。しかし、今回はサーバー向けのZeppelinは213平方mmで、メインストリームPC向けとダイを共用している。 過去の2ダイのMCMの経験を経て、今回は完全にマルチダイに最適化した設計を取った。従来のような、既存設計の延長でMCMを実現するのではなく、MCMを前提としたチップの設計を行なった。EPYCでのMCMのポイントについては、AMDは昨年(2017年)8月のチップカンファレンス「Hot Chips」や、今年(2018年)2月の半導体国際会議「ISSCC(IEEE International Solid-State Circuits Conference)」などで説明を行なっている。

4個のチップに分割することでコストが59%に低減 AMDは、32コアのCPUを単一ダイで作る場合と比べて、4個のダイに分割する場合はトータルのコストが59%に抑えられると説明する。ダイの歩留まりなどが大きく向上するためだ。AMDでは、今回の4分割したダイを「Chiplet」と呼んでいる。「-let」は小さいことを示す接尾語で、小さなチップの意味となる。 MCMパッケージのEPYCは、ChipetであるZeppelinダイを4個使っている。Zeppelinは、1個のダイが213平方mmのサイズ。4個で単純に面積を合計すると852平方mmとなる。それに対して、AMDアーキテクチャで32コアの単一ダイを作ったとすると、約777平方mmのダイサイズになるという。 1個のモノリシックダイのほうが、必要なダイ面積が小さくなる。これは、MCM構成では、ダイ間接続に必要となるインターコネクト「IFOP (Infinity Fabric On-Package)」や各ダイで重複するシステムコントローラなどのダイオーバーヘッドがあるためだ。これが、合計で10%ほどになるという。 モノリシックダイのほうが合計のダイ面積は10%ほど小さくなるが、製造とテストのコストはモノリシックダイのほうが40%ほど高くなるという。加えて、歩留まりがモノリシックダイのほうが悪くなる。4個のチップレットの製造と比べると、約17%低い歩留まりとなるという。大型ダイになればなるほど、ダイ上に欠陥が含まれる確率が高くなるうえに、777平方mmというダイサイズが露光エリアの限界に近いことも歩留まりに影響するという。 結果として、32コアを1個のダイに収めたモノリシックダイのほうが、4個のチップレットに32コアを分散させたアーキテクチャよりも70%もコストが高くなるとAMDは説明する。もっとも、メニイコアCPUの場合は、CPUコア上に欠陥がある場合に、そのCPUコアを無効にしたコア数の少ないバージョンとして商品にすることができる。AMDの試算が、そうした製品ビンニングを加味しているかどうかはわからない。 4ダイのチップレットのほうがダイのコストが下がるとしても、MCMアセンブリの歩留まりが低ければ、コストが上昇してしまう。しかし、現在ではその問題は解決され、全体のコストへのインパクトは無視できる範囲に収まっているとAMDは説明する。また、スピードイールドに影響するダイ間での動作周波数と電圧の特性のばらつきも、AMDが採用したオンダイの周波数センサー(ダミーのクリティカルパスの計測を行なう)とデジタルLDO(Low Drop-Out)電圧レギュレータによるコア単位の電圧制御で軽減できるという。 残る問題は、ダイ間のインターコネクトの電力とレイテンシだ。ダイ間の接続は、どうしてもオンダイより電力消費が大きくレイテンシが長くなる。AMDは、オンパッケージの接続に最適化したインターコネクト「IFOP」を開発することで、この問題を軽減した。 IFOPは、低電力と低レイテンシにフォーカスして設計されている。伝送エネルギーは、2pJ/bit(picoJoule/bit:ピコジュール/ビット)と非常に低い。レイテンシの低減では、メモリからIFOPまでのユニットをすべて同期させることで、クロックドメインの切り替えのレイテンシをなくした。理想のマルチダイにはいたらないが、現状ではかなり問題が低減されている。

1種類のダイで多数の製品ファミリを展開 AMDは、ZEN CPU世代でチップレットアプローチを採用したことで、1個のダイのサイズを小さくした。チップレットZeppelinのダイサイズは213平方mm。これは、Bulldozer世代のサーバーCPUダイの315平方mmの3分の2程度。メインストリームPC向けのAPU(Accelerated Processing Unit)とほぼ同サイズだ。おおまかに言えば、PC向けのダイサイズのチップで、サーバーも作ることができるようになった。 AMDのメインストリームPC向けCPUは、かつてはダイサイズが140～150平方mm程度だった。しかし、AMDがメインストリームPC向け製品を、CPUコアとGPUコアの混載のAPUとしてからは、200平方mm～250平方mmのダイサイズが一般的となった。ZENアーキテクチャのAPU「Raven Ridge」のダイサイズは210平方mmで、伝統的なAMD APUのダイサイズとなっている。 AMDのZEN世代のチップの大きな特徴は、8コアのサーバーチップレットと、4コア＋GPUコアのPC向けAPUのダイサイズがほぼ同レベルという点にある。製造コスト的な面で、ほぼ並ぶことになる。サーバー向けチップレットが、PC向けチップのコストで製造できるため、AMDは製品展開が容易になった。サーバー向けのダイを、容易にPC向けに転用できるようになった。 これまでも、AMDはサーバー向けダイをPCに転用していた。しかし、ダイが大きかったため、ハイエンドデスクトップがおもなターゲットで、メインストリームはAPUだった。 しかし、ZEN世代では、Zeppelinダイを転用したPC向けCPU(コードネームSummit Ridge:サミットリッジ)で、「Ryzen」ブランドのCPUラインナップを普及価格帯まですべて揃えることができた。 さらに、Zeppelinダイを2個使ったハイエンドデスクトップPC向け製品を「Ryzen Treadripper」として製品化することができた。これも、チップレットZeppelinのダイ面積を抑え、MCMにアセンブリしやすいインターフェイスを搭載した効用だ。結果として、AMDは、Zeppelinのダイで、フルラインナップのサーバー製品、ハイエンドデスクトップ、フルラインナップのPC向けCPU製品のすべてをカバーできている。 これが重要なのは、現在では、1個のダイのための設計や(半導体製造用の)マスクのコストが跳ね上がっているからだ。現在のプロセスではマスク枚数が激増しているため、マスクだけで膨大なコストとなる。そのため、体力の弱い会社では、複数のダイを起こすことが、コスト的に難しく難しい。 AMDは、じつは28nmプロセスでは、サーバー向けCPUのダイを起こさなかったが、これは、サーバー市場向けに新たにダイを作っても見合わなかったためだったと見られる。ZENの4ダイMCMのアプローチなら、その問題がない。