低いスタンダードセルと小さなマクロでレイアウト設計を容易に ここからは、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)リンク」と呼ぶ)で接続することを選んだ。