後藤弘茂のWeekly海外ニュース
7nmで作られた第3世代Ryzenのトランジスタ密度が低い理由
2020年1月29日 12:27
計算が合わないAMDのCPUコアクラスタの縮小率
AMDは、7nmプロセスへの移行によって、Zen系CPUコアのクラスタである「Core Complex (CCX)」を、14nmプロセス世代の約50%に縮小した。同じキャッシュSRAM量で比較するなら、約半分のサイズとなり、トランジスタ量的にも、密度がほぼ2倍に高められている。
CPUコアのサイズも半分となり、結果としてメインストリームを狙うAPU(Accelerated Processing Unit)に搭載するCPUコアの数を2倍の8コアに増やすことができた。
しかし、従来のCMOSプロセスの微細化のシナリオからすると、この比率はちょっとおかしい。
AMDは、14nmの次のプロセスである10nmはスキップして7nmプロセスに移行している。プロセスノードでは2世代分の移行となる。2世代分のプロセス微細化で、50%に縮小したことになる。しかし、伝統的なCMOSスケーリングで、ノードの数字どおりなら、CPUコアの面積は25%になるはずだからだ。
伝統的なCMOSスケーリング則では、プロセスノードが1世代進むと、デバイスの面積が50%に縮小し、その結果、トランジスタの密度が2倍になる。2世代なら4倍だ。つまり、14nmプロセスから10nmで面積が50%になり、10nmから7nmでさらに面積が50%になるはずだ。
結果として、14nmに対して7nmでは、同じコアのダイ面積は25%に縮小する計算となる。AMDの説明では、従来のスケーリングの半分の縮小率となってしまう。
ファウンダリはどう説明しているのか。TSMCなどのシリコンファウンダリは、プロセスノードの数字が小さくなるにしたがって、トランジスタ密度はノード数字にもう少し近い比率で上がると説明している。
たとえば、TSMCの7nmプロセスN7は、同社の16nmプロセス16FF+に対して3.3倍のゲート密度に上がると説明している。同様にSRAMの面積は37%に縮小するとしている。3.3倍なら30%に縮小する計算になる。
ファウンダリの説明する密度向上は、実際の製品にも反映されている。モバイルSoCを見ると、TSMCの16nmプロセスのApple A9は104平方mmで20億台のトランジスタ数と推定されるのに対して、TSMCの7nmのApple A13は98平方mmで85億トランジスタと、3倍以上の密度に上がっていると見られる。
AMD製品とApple製品のトランジスタ密度の差異はどこにあるのか。そこに突っ込むには、まず現在の半導体プロセスでの“スケーリング”という言葉の中身を考える必要がある。
デバイスのフィーチャサイズの縮小率が鈍化
現在のファウンダリのスケーリングは、プロセス自体のスケーリングと「Design-Technology Co-Optimization(DTCO)」によって実現されている。
さまざまなDTCO技術を加えることで、ロジックセルやSRAMセルのサイズを小さくしていく。結果として、伝統的なスケーリングと同等かそれに近い率でトランジスタ密度を高めるアプローチだ。
以前のように単純にプロセスを微細化するだけでは、単純にトランジスタの密度が上がらなくなったが、工夫を加えることで同等のスケーリングを実現している。
かつては、スケーリング則は単純明快だった。プロセスのベースとなるデバイスのフィーチャサイズが縮小し、ノードの数字が縮小し、トランジスタ密度が上がった。フィーチャサイズというのは、CPP(Contacted Poly Pitch)またはゲートピッチ(Gate Pitch)、つまりゲートの間隔と、もっともせまいメタル(配線)の間隔であるミニマムメタルピッチ(MMP : Minimum Metal Pitch)だった(半導体では配線のことをメタルと呼ぶ)。
各社のロジックプロセスは、ほぼゲートピッチ×メタルピッチの比率に沿ってノードの数字がつけられていた。つまり、プロセスのノードの数字が70%に縮小するなら、ゲートピッチ(ゲート間隔)とメタルピッチ(配線間隔)はそれぞれ70%台に縮小し、ゲートピッチとメタルピッチによるデバイス面積は約50%に縮小した。
たとえば、TSMCの40nmプロセスはゲートピッチが160nm、メタルピッチが120nm。それが28nmプロセスになると、ゲートピッチが118nm(73%)、メタルピッチが90nm(75%)になり、ゲートピッチとメタルピッチのによるデバイス面積は55%に縮小した。プロセスの世代が1世代進み、ノードの数字が70%小さくなると、デバイスサイズは50%程度になり、トランジスタの密度は2倍になった。
ところが、20nmプロセスから先は、この法則が崩れてしまった。デバイスのフィーチャサイズの縮小は鈍化し、これまでのようなきれいなスケールダウンが成立しなくなった。
たとえば、TSMCの10nmプロセスではゲートピッチが66nm、メタルピッチが44nm(42nmというデータ解析もある)だった。それに対してTSMCの7nmプロセスではゲートピッチは57nm(学会発表では54nm)で縮小率は86%、メタルピッチは40nmで縮小率は90%、ゲートピッチ×メタルピッチでは78.5%の縮小にしかならない。従来のスケーリング則と比べるとずっと緩く、デバイスの縮小率が低い。
AMDの例では、GLOBALFOUNDRIESの14nmからTSMCの7nmプロセスに、10nm世代をスキップして移っている。2世代分の縮小だ。GLOBALFOUNDRIESの14nmはSamsungからのライセンスを受けたプロセスでゲートピッチは78nmまたは84nm、メタルピッチは64nm。
それに対してTSMCの7nmプロセスはゲートピッチが57nm(学会発表では54nm)、メタルピッチは40nm。ゲートピッチとメタルピッチの乗数で比較すると、GLOBALFOUNDRIESの14nmに対してTSMCの7nmは約40%となる。つまり、2.5倍のトランジスタ密度という計算になる。ちなみに、TSMCの16nmと7nmの比較では、約37%、2.7倍の密度の計算となる。
ロジックチップの設計のカギとなるスタンダードセル
デバイス自体のスケーリングだけを見ると、現在のCMOSプロセススケーリングは、ノードの数字より緩いものになっているように見える。1世代プロセスノードが微細化しても、トランジスタ密度は2倍にはならず、1.x倍にしかならない計算となる。2世代ノードの微細化では4倍ではなく、2.x倍の計算となる。
しかし、ここにセルエリアという別なファクタが絡むと話が違ってくる。
プロセッサなどを設計する場合、通常は、ロジック回路はロジックセル、メモリ部分はSRAMセルを使う。ロジックセルには回路ブロックごとに再利用可能なマクロセルをあらかじめ設計しておくスタンダードセルを使うのが一般的だ(CPUの場合は部分的にカスタムセルを組み合わせたりする)。
スタンダードセルは、半導体ファウンダリ、EDAツールベンダー、IPベンダーなどから提供されているが、プロセッサベンダー自体が起こす場合もある(Cell B.E.では専用のスタンダードセルを起こした)。もちろん、自社で製造するIntelの場合は、自社でスタンダードセルも起こしている。
スタンダードセルは、レゴブロックのような部品ライブラリで、各種のセルを組み合わせることで、CPUやGPUを組み立てることができる。スタンダードセルの重要なポイントは、各セルの高さ「セルハイト(セル高)」をそろえていること。高さをそろえたセルを並べることで、無駄なくセルを敷き詰められる。
セルハイトは、ローカル配線層、つまり上で説明した最少メタルピッチのメタル(配線)トラック数で表される。スタンダードセルが、9本のメタルトラックを配置できるセルの高さなら、9トラック(9T)セルと呼ばれる。セルハイトによって、セルライブラリのパフォーマンスレンジや消費電力、回路密度が決まる。
セルハイトが高いと、高性能な回路を作りやすい。一因は、トランジスタのゲート幅を広くすることで電流駆動強度(drive strength)を高めることが容易になるためだ。FinFETの場合は、セルハイトが高いと、トランジスタ当たりのフィンの数を増やすことで駆動能力を高めることができる。しかし、セルハイトの高いライブラリを使うとダイサイズが大きくなり、消費電力も大きくなる傾向がある。
その逆にセルハイトが低いライブラリでは、ダイエリアと消費電力は小さくなるが、動作周波数を上げにくくなる。そのため、クリティカルパスを抱える高性能CPUコア部分にはセルハイトの高いライブラリを使い、性能要求の低いユニットにはセルハイトの低いライブラリを使うのが一般的だ。
たとえば、28nm~20nmまでのプレーナプロセスでは、一般的に12トラックのセルがCPUコアなどの高性能ユニットに、9トラックのセルがGPUコアなどの性能と密度が重要なユニットに、7トラックのセルが高密度で低消費電力が要求されるユニットに使われていた。
DTCOを使うことでスタンダードセルサイズを小さくして行く
伝統的なスケーリングでは、プロセスのフィーチャサイズが小さくなると、連動してスタンダードセルも小さくなった。同じ12トラックや9トラックのスタンダードセルの面積が、1世代プロセスが微細化すると50%に縮小した。スタンダードセルの基本設計はそのままで、フィーチャサイズの縮小だけでセルも小さくなった。
ところが、現在のCMOSスケーリングは、すでに説明したように、フィーチャサイズのスケーリングだけではスタンダードセルエリアは50%に縮小しない。60%台から70%台の縮小率の計算となる。スタンダードセルも、そのままでは、ノードの数字どおりにスケールダウンできない状況にある。
そこで、半導体ベンダーは、新しいアプローチで、スタンダードセルを小さくすることで、スケーリングを継続しようとしている。
ロジック回路のスタンダードセルやSRAMセルの面積を従来より小さくする。セル面積が小さくなれば、単位面積あたりのトランジスタ密度も高くなり、フィーチャサイズを縮小しなくてもトランジスタ密度を高めることができる。
しかし、セル面積を小さくするためには、特殊な工夫が必要となる。これが「DTCO」と呼ばれる技術群で、スタンダードセルの回路設計とプロセス技術を連携させて最適化することで、セル面積を小さくする。たとえば、セルハイトを縮めたり、セルの両側の境界部分を小さくしたり、セル上下のパワーレイル部分を埋め込むなどの方法でセル面積を縮小する。
現状では、DTCOがうまく働くと、トランジスタ密度をフィーチャサイズの縮小以上に高められる。モバイルSoCのトランジスタ密度が上がっているのはそのためだと見られる。
しかし、高性能CPUの場合は、そう簡単には行かない。DTCOが性能に影響するケースがありうるからで、現在のAMDのCPUのトランジスタ密度が低い理由は、そのためだと推測される。