後藤弘茂のWeekly海外ニュース
7nmプロセスに最適化したAMDのRyzen 4000
2020年1月28日 06:00
7nmプロセスで密度が向上したキャッシュSRAM
AMDは、7nmプロセスのAPU(Accelerated Processing Unit)を投入する。CPUでは、CPUコアとI/Oを別ダイに分離したチップレット戦略を取ったAMDだが、APUでは、CPUコア、GPUコア、I/Oをすべてモノリシックな1個のダイに統合している。その理由は、メインストリームクライアントやモバイルでのコストとレイテンシ、電力を考えると現状ではシングルチップにする以外の選択肢がないからだ。では、7nm世代のAPUでは、AMDはどんな設計戦略を取っているのだろう。
前回の記事では、AMDのCPUコアクラスタ「Core Complex (CCX)」のダイエリアの比較をした。CCXのなかのキャッシュSRAM部分を見ると、さらに詳細が見えてくる。
CCXには共有のL3キャッシュが統合されている。このL3キャッシュSRAM部分を比較すると、14nmプロセスで2MBのL3キャッシュスライスが、PLLなどの部分を除けば4平方mm程度であるのに対して、7nmの4MB L3は3.6平方mm程度。ダイエリアあたりの容量では2倍以上に見える。CPUコアが、14nmから7nmでほぼ半分のダイエリアになっていることを考えると、妥当だと考えられる。
もっとも、L3キャッシュエリアの面積あたりの容量は2倍以上だが、L3キャッシュのレイアウトは多少変更されており、それを考慮して比較する必要がある。
14nmのAMDのCCXのL3は、性能重視の設計がされており、L3キャッシュスライスの中央部分にキャッシュコントロールや、LRU(Least Recently Used)テーブルなどが配置されている。キャッシュコントロールの両側にそれぞれ1MBのキャッシュSRAMアレイがある。1MBのキャッシュSRAMは中央にタグRAMエリアなどがあり、上下にデータSRAMアレイが配置されている。
7nmのL3キャッシュも基本的には同じ構造に見える。中央にキャッシュコントロールやデータパス、LRUなどと思われるユニット群があり、左右にSRAMアレイが分かれている。SRAMアレイは、さらに中央にタグRAMと見られるユニットを挟んで上下に分かれている。しかし、14nm版と比べると7nm版は全体に付帯ユニットの比率が下がっており、データSRAMアレイの面積比が大きい。
純粋にデータSRAMアレイだけを比較すると、14nmでは0.5MBのアレイが0.62平方mm程度、7nm版では1MBのアレイが0.66平方mm程度に見える。その場合、SRAMアレイ部分のスケールダウン率は50%を少し上回る。これは図からの目算なので、正確とは言えないが、少なくとも3倍のSRAM密度などではないことは確かだ。
Samsungの14nmプロセスのHD SRAMのビットセルの面積は0.064平方µmなので、ライセンスを受けたGLOBALFOUNDRIESの14nm SRAMも基本は同程度のはずだ。それに対してTSMCの7nmプロセスのHD SRAMのビットセルの面積は0.027平方µm。SRAMビットセルの面積では42%となる。この比率からすればもう少しSRAM面積は小さくなってよさそうだが、そうなってない。詳細はまだわかっていない。
ちなみに、14nm版CCXでは、L3キャッシュスライスの上に設けられていたPLLとInterface module (XI)とテストモジュールは、7nm版CCXではL3キャッシュスライスに挟まれた部分に移ったように見える。
ウェハコストが高い場合は高周波数に振るのが経済的な選択
GPUコアでは、今回AMDはVegaアーキテクチャの拡張版をAPUに搭載するとされている。CU(Compute Unit)数が11ユニットではなく、8ユニットとなっている。アーキテクチャがVegaとされているのは設計開始時期の問題と見られる。Vega系は従来のGCN(Graphics Core Next)アーキテクチャ、最新のディスクリートGPUはNavi系はRDNAアーキテクチャで、GPUアーキテクチャはかなり異なる。
CU数を抑えた理由は明白だ。ウェハあたりのコストが高いからだ。
ウェハあたりの製造コストが低い場合は、チップベンダーはユニットを並列化して、動作周波数は下げて、並列度で性能を上げる。ユニットを増やした結果、ダイサイズが大きくなっても、ウェハコストが低ければ性能/コストを高められるからだ。
それに対して、ウェハあたりの製造コストが高い場合は、チップベンダーは、ユニット数を抑えてダイサイズを小さく留める方向に向かう。その代わり、ユニットの動作周波数を上げて、周波数で性能を引き上げる。そうすれば、ダイエリアあたりの性能を高くすることで、性能/コストを高められるからだ。そのため、半導体プロセスのコストが上がると、高周波数へと振る選択肢が妥当になり、そうした設計の選択を採るケースが増える。
実際、AMD APUの場合、7nmのGPUコアの動作周波数がピーク1.75GHzで、8CU構成の場合、GPU演算性能は1.79TFLOPSとなる。14nmのGPUコアの動作周波数は今のところピーク1.4GHzで、11CU構成でGPU演算性能は1.97TFLOPS。つまり、7nmでの8CUは、ダイエリアを小さくして、演算性能は遜色ないレベルとなる。
では、GPUコアはどの程度コストに影響するのか。これは、GPUコアのダイエリアに影響される。まず、GPUのマイクロアーキテクチャでは、高動作周波数化のために大幅な変更を加える可能性は低い。AMDのGPUアーキテクチャの場合、レイテンシの変更はスレッドスケジューリングなどに影響するため、パイプライン段数の変更はしにくい。7nmプロセスでの高クロック化は、純粋にプロセス技術によるものと考えられる。
ここでのポイントは、GPUコア部分の設計に使っているスタンダードセルになる。小さく高密度なロジックセルを使うと、ダイ面積はより小さくなるが動作周波数は落ちる。相対的に大きめのロジックセルを使うと、ダイ面積は減らないが動作周波数は引き上げやすい。AMDは、7nmではディスクリートGPUもインテグレートGPUコアも、どちらも、動作周波数重視でロジックセルを選んでいるように見える。
14nmのZenベースのAPUであるRaven Ridgeのダイでは、4 CPUコアのCCXと、GPUコアの11個のCUが見て取れる。GPUコアには、上の写真で青くなっているCU部分のほかに、レンダーバックエンドやスレッドコントロール、キャッシュなど付帯ユニットもあるが、明瞭に見てとることはできない。
従来のGPUコアを参考にGPUのレンダーバックエンドやコントロールの面積を推測すると、下の図のようになる。Raven Ridgeのダイサイズは209平方mm、そのうち4 CPUコアのCCXの面積は39平方mm程度、そしてGPUコアは11個のCU(Compute Unit)で45平方mm程度。レンダーバックエンドやコントロールなど周辺ロジックやキャッシュを含めるとおそらく60平方mmかそれを下回る程度だと推測される。逆算すれば、CPUコアとGPUコア以外のダイ部分は、おそらく110平方mm程度の面積となる。
メモリ帯域とのバランスで拡張が制約されている現在のGPUコア
では、7nmプロセスではどうなるのか。もし、7nmのGPUコアが14nmのコアに対して50%のエリアに縮小し、さらにCUが11個から8個に減るとすると次のような推測となる。7nm APU Renoirのチップ全体のダイサイズは150平方mm弱。4 CPUコアのCCXが2個あるのでCPUコアで42平方mm程度、GPUコアが8CUとして20平方mmを少し越える程度だと推測できる。すると、コア部分の面積はチップ全体の40%台前半となる。14nmのAPUでは、CPUとGPUコアの面積はチップ全体の47%だった。I/Oのスケールダウンが7nmでは鈍化することを考慮すると、この比率は妥当に見える。150平方mm台のダイエリアに収めようとすると、このユニット構成になるということだ。
では、ダイエリア計算で、GPUコアのCUを11個に増やした場合はどうなるのか。レンダーバックエンドの比率を同じに保つなら、計算上はGPUユニットの増加だけでダイサイズは150平方mmの後半となる。それなりにダイサイズにインパクトがあるが、それでもやろうと思えばできないダイサイズではない。ただし、この構成の場合には、メモリ帯域の問題が深刻化する。
11CUを1.75GHzで駆動するとGPU演算性能は2.46TFLOPSに達する。その分のデータ移動が必要となり、メモリ帯域を必要とする。モバイルでLPDDR4系メモリで4,266Gbpsならある程度マッチするが、システムコストが上がる。GPUを統合したCPUのメモリ帯域の問題は、基本的にはインパッケージのHBM系などのメモリが、ある程度低コストにならないと解決ができない。しかし、現状ではHBM系メモリを使うと、コスト的にAPUの枠に収まらなくなってしまう。
これは、現在のAPUのジレンマで、IntelはこれをEMIB(Embedded Multi-die Interconnect Bridge:イーミブ)を使って統合コストを下げたHBMで解決しようとしている。AMDには、まだそうした出口が見えない。
現在のGPU統合CPUには、この問題があるため、むやみに演算性能を高めることができない。演算性能を引き上げても、メモリ帯域が足りなければ、データ待ちで演算コアがアイドル状態に陥ってしまう。そうした事情を考えると、AMDが8 CUに抑えた理由もわかる。
AMDが低コスト低性能の構成を取らない理由
では、CPUコアを8個から4個に減らして、GPUコアのCUを8個に留めた場合はどうなるのか。その場合、試算では130平方mmを少し切るダイサイズとなる。120平方mm台のサイズとなると、かなり製造コストを抑えることができる。このプランは魅力的だが、AMDは選択ができない。AMDは、かつて低コストCPU路線を取って失敗した経験があるからだ。
AMDがCPU/APUをコスト重視で設計した場合は、Intelのハイエンドとの競争が難しくなる。そうすると、Intelはハイエンドは高価格に保ったまま、AMDと競合する下位の製品ラインの価格を戦略的に引き下げて対抗して来る。その場合、AMDは高付加価値高価格のラインは持てないまま、価格競争にあけくれ、利益をあまり上げられなくなってしまう。現在のAMDは、あくまでもIntelと性能で対抗し、その上で製造コストを抑えてコスト面でも対抗する戦略を取っている。
それなら、CPUコアを8個ではなく、6個にすればどうなのか。AMDには、この選択はできない。というのはAMDのCCXは、4個のCPUコアのクラスタで最適化設計されているからだ。AMDのZen系CPUコアは、4個単位でしか実装ができない。2個のCCXは、CCXの再設計となり、設計リソースを必要とする。
それなら、高性能構成ダイと、ローコスト構成ダイの2種類のダイを作ればいいのでは。それは、今は難しい。現在の先端プロセスは、製造コストが上がっただけでなく、設計やマスクのコストが跳ね上がっている。多くのダイバリエーションを作ることは、非常な贅沢となってしまっている。Intelはできるが、AMDにはそれだけの体力は難しい。そのため、AMDは高性能の設計を選択するしかないと見られる。