福田昭のセミコン業界最前線
AMDがISSCCで発表したZen2プロセッサのCPUコアとチップレットの技術
2020年2月20日 11:52
AMDは、最新世代のマイクロプロセッサ「Zen2」のCPUコア技術とチップレット技術を、半導体回路技術の国際学会「ISSCC 2020」で2020年2月17日(米国太平洋時間)に発表した。発表は2件の講演にわかれており、まずCPUコア技術(講演番号2.1)を説明し、続いてチップレット技術(講演番号2.2)を説明するという流れだった。
はじめはCPUコア技術に関する講演(講演番号2.1)の概要を説明しよう。第2世代のZenマイクロアーキテクチャである「Zen2」はモバイルからデスクトップ、サーバーまでをカバーする。具体的には、ノートPC用マイクロプロセッサの「Ryzen4000」シリーズ、デスクトップPC用マイクロプロセッサの「第3世代Ryzen」、ハイエンドデスクトップ(HEDT)用マイクロプロセッサの「第3世代Ryzen Threadripper」、サーバー用マイクロプロセッサの「第2世代EPYC」が「Zen2アーキテクチャ」を採用している。
7nm世代のFinFET技術を駆使して複雑かつ大規模な回路を搭載
Zen2プロセッサの大きな特徴は、製造技術に初めて7nm世代を採用したこと。具体的にはTSMCの7nm世代FinFET技術によって製造する。7nm世代に微細化したことで、トランジスタの密度を高められた。その結果、複雑だが強力な分岐予測器「TAGE」(参考記事:AMDがZen 2で採用した現在最強の分岐予測「TAGE」)を搭載するとともに、キャッシュ容量を拡大し、浮動小数点演算のデータパス幅を2倍に拡張した。いずれも演算性能の向上に寄与する改良である。シングルスレッディングのIPC(クロック当たりの命令処理数)は前世代のZenに比べて15%ほど向上したとする(SPECint_base2006ベンチマークによる推定値)。
もう1つの大きな特徴は、マイクロプロセッサを複数のダイで構成するチップレット技術を採用したこと。CPUコアのダイ(プロセッサダイ)と入出力回路のダイを高密度に実装することで、1個のマイクロプロセッサを実現する。チップレット技術については本稿の後半で解説する。
CPUコアにテーマを戻そう。CPUコアは32KBの命令キャッシュと32KBのデータキャッシュ、512KBの2次キャッシュ、マイクロコード格納用ROM、クロック/テスト用回路(CPL:Chip Pervasive Logic) 、デコード回路、分岐予測回路、ALU、ロード/ストア回路などで構成される。
オンチップキャッシュではこのほか、16MBの3次キャッシュを4つのCPUコアが共有する。記憶容量はZenの2倍に増えた。3次キャッシュのSRAMマクロはセルアレイの周辺にLDO(Low Drop Out)電圧レギュレータを搭載しており、2次キャッシュと3次キャッシュの両方に安定な電源電圧を供給する。
1個のCPUコアクラスタは、4つのCPUコアと3次キャッシュで構成される。これをAMDは「CCX(Core Complex)」と呼んでいる。このCPUクラスタは1種類ではなく、用途によって構成を変更する。2つのCPUコアだけで構成するバージョンや、3次キャッシュを4MBに縮小したバージョン、2つのCCXを同じシリコンダイに集積したバージョンなどがある。
まとめると、Zenが14nm世代のFinFET技術で製造していたのに対し、Zen2は7nm世代のFinFET技術と製造技術を大幅に微細化した。CPUコアクラスタ(CCX)が4コアのダブルスレッディング処理であることは変わらない。CCXのシリコン面積はZenの44平方mmからZen2では31.3平方mm(0.71倍)に小さくなった。2次キャッシュ容量は512KBで変わらない。3次キャッシュ容量はZenの8MBからZen2では16MBと2倍に増えた。ロジックのスタンダードセルライブラリの高さは、Zenが10.5トラックだったのがZen2では6トラックと半分近くにまで低くなった。これはかなり大きな変化だ。
低いスタンダードセルと小さなマクロでレイアウト設計を容易に
ここからは、CCXのレイアウト設計に話題を移そう。CCXのような高密度かつ大規模なロジック回路のレイアウトは、簡単ではない。とくに問題となるのが、複数の行にまたがるような大きなマクロのレイアウトである。大きなマクロは電力効率と密度で優れるのだが、レイアウトが難しい。
そこでCCXのロジック設計では、小さなマクロを数多くならべることで、ロジックを構成した。こうすると大きなマクロに比べて電力効率と密度では劣るものの、レイアウト設計は非常に容易になる。レイアウト設計の負荷と時間を短縮できる。
スタンダードセルの高さを10.5トラックから6トラックに低くし、、なおかつ製造技術を14nmから7nmに微細化したという改良を考慮すると、CCXの面積が0.71倍にしか小さくならないというのは、いささか物足りない。マクロの小型化による回路密度の低下が、影響していると思われる。
ラダー状のビアによって配線抵抗を削減するとともに信頼性を向上
配線のルーティング設計では、同じ配線層での折れ曲がりを禁止した。配線層は基本的に平行配線となり、上下に隣接する配線層では配線の方向が直交する。したがって折り曲がりが発生するときは、上下どちらかの直交する配線層を通じて信号が通る配線のトラックをずらす。
また低層配線の抵抗を下げたり、エレクトロマイグレーション寿命を確保したりするために、上下の配線層間を結ぶビアをラダー(はしご)状に配置した。たとえば下からMX-1層、MX層、MX+1層があるとする。MX-1層とMX+1層は同じ方向の平行配線である。MX-1層とMX層は複数のビア、MX層とMX+1層は複数のビアで結ぶ。このときMX-1層は、上2つの層(MX層とMX+1層)のビア抵抗を減らすとともにエレクトロマイグレーション寿命を伸ばすために使われる。
消費電力を大きく左右するクロック当たりのスイッチング容量
MOS FETによるロジック回路の負荷は基本的に静電容量(キャパシタンス)であり、MOS FETのスイッチングによって充放電する負荷容量の大きさがダイナミックな消費電力を決める。AMDはこのような容量を「CAC(Capacitance per Cycle)」と呼び、CACを減らす工夫を紹介していた。
基本的には14nmから7nmに微細化したこと、スタンダードセルの高さを10..5トラックから6トラックに低くしたことなどがCACの削減に寄与した。いくつかのアプリケーションでCACをZen2とZenで比べたところ、Zen2のCACは60%~70%に減少していた。
同じ動作周波数における消費電力はZenの半分に低減
そして同じ動作周波数におけるZen2の消費電力は、Zenの半分に減らすことができた。また同じ周波数で動かすために必要な電源電圧も小さくできたとする。ただし動作周波数と電源電圧の具体的な数値は、公表していない。
製造コストの上昇を抑制するためにチップレット技術を採用
ここからは、チップレット技術(講演番号2.2)に関する講演の概要を紹介しよう。チップレット技術とは、本来はシングルダイで構成可能なプロセッサあるいはSoC(System on a Chip)などを、あえて複数のダイ(「チップレット」と呼ぶ)に分割して相互に接続する技術である。
Zen2アーキテクチャのマイクロプロセッサでは、サーバー向けプロセッサ「EPYC」とハイエンドデスクトップ(HEDT)向けプロセッサ「Ryzen Threadrippler」、デスクトップ向けプロセッサ「Ryzen」でチップレット技術を採用した。「CCD(CPU Compute Die、あるいはCore Complex Dieの略)」と呼ぶCPUコア内蔵ダイと、「IOD(IO Die)」と呼ぶ入出力回路のダイを組み合わせる。
CCDは用途に応じてダイの枚数が変わる。IODは基本的に1個のダイで、サーバー用IODと、そのカットダウン版に近いクライアント用IODがある。すなわち用途別にシリコンダイを設計して製造するのではなく、チップレットの組み合わせによって異なる用途に対応する。このことはシリコン設計の負荷軽減につながる。
CPUコアを乗せるCCDは7nm世代のFinFET技術、IODは14nm世代のFinFET技術で製造する。なぜすべてを7nm世代で製造しないのか。製造コストが膨大になってしまうからだ。講演によると250平方mmのシリコンダイ(良品)を製造するコストは、45nm世代を「1」とすると微細化によって緩やかに上昇する。14/16nm世代では「2」、つまり2倍になる。ところが7nm世代では「4弱」へと急上昇し、次の5nm世代では「5」とさらに増加する見込みだ。
コストの急上昇を緩和する方法は基本的には2つしかない。1つはダイ(チップ)のシリコン面積を縮小すること。もう1つはウェハの口径を大きくすることだ。ウェハの口径は現在、最大で300mmである。かつてはウェハの口径を450mmに拡大することが検討されてきた。しかし実用化の見通しは未だに立たない。すると必然的に、シリコン面積を縮小する対策だけが残る。
前世代のZenアーキテクチャによるRyzenプロセッサは14nm世代のFinFET技術で製造された。シリコン面積は212.97平方mmである。8個のCPUコアと3次キャッシュがシリコン面積の56%を占めており、この部分を7nm世代に微細化するとシリコン面積を大幅に小さくできる。微細化の意義は大きい。しかし残りの44%は、7nm世代に微細化しても回路密度と性能の向上があまり見込めない。微細化する意味があまりない。
そこで8個のCPUコアと3次キャッシュで構成されるCCDをチップレットとして分割し、7nm技術で製造した。すでに説明したCCXを2個搭載してチップレット間の接続用インタフェース(SerDes回路)やテスト回路などを追加したのが、CCDである。CCDのシリコンダイ面積は74平方mmとかなり小さい。
ダイ間の接続がチップレット技術の課題
チップレット技術の大きな課題はダイ間の接続である。接続する配線の本数が膨大になること、超高速の信号を伝送しなければならないこと、などが問題となる。原理的に最も上手くこれらの問題を解決できるのは、シリコンインターポーザの採用である。シリコンインターポーザには高密度の配線を形成できるほか、ダイ間の距離を縮められるので高速伝送が容易になる。
しかしシリコンインターポーザには、コストが非常に高く付くという弱点がある。AMDはCCDを最大で8個と多く載せることを想定しており、シリコンインターポーザはコストがきわめて高くなるとして採用しなかった。その代わりにチップレットを有機樹脂のパッケージ基板に搭載し、ダイ間をSerDesリンク(「IFOP(Infinity Fabric On-Package)リンク」と呼ぶ)で接続することを選んだ。
チップレット技術の製造コストはモノリシック集積の約半分で済む
講演では最後に、チップレット技術によるプロセッサのコストを、7nm世代の製造技術で1個のシリコンダイにまとめたときと比較した。始めはサーバー用プロセッサである。
第2世代のEPYCで8個のCCDを搭載した64コアのプロセッサを「1」とすると、32コアのときにチップレットは「0.9」であるのに対し、1個のシリコンダイにまとめたときは「1.9」と2倍強に増加する。16コアでも、2倍弱の差がある。
次はデスクトップ用プロセッサである。第3世代のRyzenで2個のCCDを搭載した16コアのプロセッサを「1」とすると、7nm世代でモノリシック集積したダイのコストは2倍強となる。8コアのプロセッサでは「0.6」に対してモノリシック集積は「0.9」と差は縮まるものの、まだチップレット技術が優位を維持する。
7nm世代以降の大規模プロセッサや大規模SoCなどは、明確にチップレットへと舵を切りつつある。相対的にチップ間接続技術の比重が高まるとともに、微細化の勢いが弱まる。最先端ロジックは新しい段階に入った。行方を慎重に見守っていきたい。