後藤弘茂のWeekly海外ニュース

AMDが次世代APU「Carrizo」の低消費電力の秘密を公開

機能を大幅に拡張しながらダイサイズは同じCarrizo

ISSCC会場となったサンフランシスコマリオットホテル(Marriott Marquis San Francisco)

 AMDが今年(2015年)前半に投入する次期APU(Accelerated Processing Unit)「Carrizo」について、実装の概要を明らかにした。Carrizoの正体は、一言で言えばGPUの作り方で作ったAPUだ。CPUの動作周波数のピークを引き上げるのではなく、CPUコアを小さく省電力にするため、プロセスオプションとライブラリをGPU的なものに全面的に変更した。

 結果、Carrizoは現在の「Kaveri」よりも、大量に機能を詰め込みながら、ダイサイズ(半導体本体の面積)はほぼ同じに留めることができた。CPUコアやビデオ機能を強化し、GPUコアをHSA(Heterogeneous System Architecture)フル対応にし、サウスブリッジチップを統合しながら、ダイサイズがほぼ変わらず、CPUの電力ははるかに少なくなった。プロセス技術は同じ28nm世代であるにも関わらずだ。

 CarrizoはAMDのPC向け製品の主軸であるAPUの次世代製品だ。実際には、Carrizoはファミリで、CarrizoとCarrizo-Lの2系統がある。AMDが、米サンフランシスコで開催されている半導体回路学会「ISSCC(IEEE International Solid-State Circuits Conference)」で発表したのは、高性能なCarrizoの方だ。CPUコアに、Bulldozer系アーキテクチャの発展形である「Excavator」クアッドコアを採用する。

Carrizoは今年(2015年)のAMDのAPUファミリ。このほかにARMとx86で共通設計のSkyBridgeファミリがある(PDF版はこちら)
AMDのCarrizoのプレゼンテーション

APUのダイサイズをほぼ一定に留めるAMD

 Carrizoは、拡張した新CPUコア「Excavator」を使う最初の製品だ。Excavatorコアは、現行のKaveriに搭載されている「Steamroller(スチームローラ)」コアよりさらにアーキテクチャが拡張されている。GPUコアはGCN(Graphics Core Next)アーキテクチャの8 CU(Compute Unit)搭載コア。HSAのフル機能をサポートし、コンピュートコンテクストスイッチングとグラフィックスプリエンプションが可能だ。ビデオ機能は再生とトランスコードともに大幅に強化された。また、セキュアコプロセッサとしてARMコアを内蔵する。

 従来は別チップだったI/Oサウスブリッジチップもワンチップに統合したSoC(System on a Chip)となっている。また、2チャネル(128-bit)のメモリインターフェイスはDDR3だけでなくDDR4もサポート。PCI Express Gen3は最大12レーンで、ディスプレイ出力は最大3系統が可能となっている。

 見ただけで分かる通り、CarrizoはKaveriよりかなり機能が拡張されており、従来別チップだったサウスブリッジチップまで統合している。同じ28nmプロセスでこれだけの拡張を行なえば、通常はダイサイズが大型化するはずだ。ところが、Carrizoのダイは250.04平方mmで、245平方mmだったKaveriとほとんど変わらない。AMDはAPUのダイを200平方mm中盤を上限として設計し続けており、Carrizoもその枠に収めることができている。

従来のAPUと同レベルのダイサイズのCarrizo(PDF版はこちら)

29%も多くのトランジスタを同程度のダイに詰め込む

 下はISSCCでの発表内容だ。Carrizoのトランジスタ数は31億と、Kaveriの24.1億より29%もトランジスタ数が多い。同じ面積に、より多くのトランジスタを詰め込んだだけでなく、電力効率も大幅に上がったという。また、CPUコアのIPC(Instruction-per-Clock)も向上し、同クロック時の性能が上がった。ちなみに、このプレゼンテーションにある12.7×18.4mmでは250.04平方mmにならないため、何か数字上のミスがあると見られる。

 CPUコアモジュールを比較しても、ダイ面積の縮小は劇的だ。KaveriのSteamrollerは、2CPUコアを融合させたモジュールでL2キャッシュを除き18.61平方mmの面積だった。それに対して、CarrizoのExcavatorコアは14.48平方mmと、約77%に縮小している。ところが、トランジスタ数はExcavatorが1億200万で、Steamrollerの8,600万よりも18%以上多い。CPUコアは機能が増えてトランジスタ数が増えたのに、23%近くダイ面積を減らしている。

劇的にダイ(半導体本体)エリアが縮小したExcavatorコア
AMDのCPUコアサイズの変遷。Bulldozer以降の高性能CPUは2コアモジュールの面積(PDF版はこちら)

 ちなみに、Excavatorでは、Bulldozerアーキテクチャの弱点の1つだったL1データキャッシュのサイズが倍増され、コア毎に16KBだったのがコア毎に32KB、L1 BTB(Branch Target Buffer)のサイズも1.5倍になった。こうした改良の結果、Excavatorでは、IPCが5%ほど向上したという。言い換えれば、CPUコアを大幅に小さくしながら、性能もアップさせている。そして、CPUコアを縮小した分を、ほかの機能の搭載に割り当てたという。

ディスクリートGPUとよく似た配線技術をAPUに適用

 ダイを肥大化させずにどうやってCarrizoに機能を詰め込んだのか。その秘密は、プロセス技術と設計手法にある。AMDは、まずプロセス技術のオプションを、低電力高密度に最適化させた。配線層(Metal Layer:半導体チップのメタル配線層)の構成を、従来のAPUよりも高密度配線に最適化させた。

 具体的には、配線層のうち下から8層までを最も配線ピッチが狭い「1x」とした。これで、高密度のローカル配線が可能になる。その上に、より長距離の配線のために配線ピッチが広い「2x」と「4x」を1層ずつ設けた。そして、その上に、電力供給とグランドのためのピッチが極端に広い「16x」を2層設けた。合計12層の配線層構成とした。

CarrizoでAMDがファウンダリと協力して開発した配線層構成の概念図(PDF版はこちら)

 この配線層構成は、従来の高性能CPUの構成と全く異なる。下はIntelの22nmプロセスの配線層の構成だ。左が高性能CPU向け、右がモバイルSoC向けの配線層構成だ。高性能CPUの場合、1xの稠密な配線は下層の3層だけで、そこから上は抵抗が少なく高速な広い配線で構成されている。これが伝統的なCPU向け配線層だ。

Intelの22nmの配線層構成

 Carrizoの配線層構成は、IntelのSoC向けよりもさらに極端に密な配線に偏っている。この配線層の構成は、実はディスクリートGPUに近い。ディスクリートGPUでは、最大8層まで1x配線層を使う場合が少なくない。それは、GPUが非常に配線が稠密である一方、配線の伝送速度がそれほどクリティカルではないからだ。

配線ピッチを狭めることで電力消費も下がる

 配線ピッチを狭めると利点がいくつかある。まず、ロジック回路をより稠密にすることが容易になる。また、消費電力が下がり、電力効率も上がる。AMDのJoe Macri氏(CVP and Product CTO)は、昨年(2014年)11月のインタビュー時に次のように説明している。

 「Kaveriでは、我々はデスクトップからモバイルまでの幅広い性能と電力のレンジをカバーする必要があった。そのため、Kaveriではプロセス技術の配線層も最適化した。配線の下の層は配線ピッチ(Metal Pitch)が狭いが、上の層に行くに従って配線ピッチが広くなっている。

 それに対して、Carrizoのプロセス技術は、配線層の面では大きく異なる。配線層の密度を上げることに集中して変更した。密度を上げると電力効率も上がるため、Carrizoでは、プロセス自体が非常に低電力となっている。より狭い配線ピッチの層を増やした。

 配線を稠密にすれば、配線が短くて済むようになり、ドライブ信号が移動する距離が短くなる。距離が短くなれば、キャパシタンスを減らすことができる。キャパシタンスを減らせば、ドライバ自体を小さくできる。ドライバを小さくできれば、スイッチングキャパシタンスも小さくできる。このように、きれいなフィードバックループを描いて電力が減る」。

 このように、同じ28nmプロセスでも、KaveriとCarrizoでは、配線層のオプションが全く異なっている。そのため、面積と電力の削減が可能になったという。

スタンダードセルライブラリを高密度な9Tに変更

 ダイエリアを縮小できたもう1つの大きな理由はスタンダードセルライブラリの変更だ。Kaveriでは、高性能製品向けの13T(13トラック)のスタンダードセルを使っていたという。それに対して、Carrizoでは、高密度製品向けの9T(9トラック)のスタンダードセルを採用したという。

 スタンダードセルは、プロセッサを構成する素子を揃えたライブラリだ。各セルの高さ(ハイト)が一定に揃えられているのが特徴だ。セルハイトは、ローカル配線層の配線トラック数で表される。12本の配線トラックが可能なセルなら、12トラックセルとなる。

12トラックのスタンダードセルの例。横縞が、配線トラック(PDF版はこちら)

 セルハイトは、セルライブラリの性能や消費電力、ダイ面積と密接に絡む。セルハイトが高いと、高性能な素子を作りやすい。一因は、トランジスタのゲート幅を広くすることで電流駆動強度(drive strength)を高めることが容易になるためだ。その一方で、セルハイトの高いライブラリを使うとダイ面積が大きくなり、消費電力も大きくなる傾向がある。逆にセルハイトが低いライブラリでは、ダイエリアと消費電力は小さくなるが、動作周波数を上げにくくなる。そのため、高性能なCPUはセルハイトの高いライブラリを使い、省電力のチップはセルハイトの低いライブラリを使うのが一般的だ。

 KaveriでAMDが使っていた13TのHP(High Performance)セルライブラリは、高性能CPU向けとしては一般的なセルハイトだ。それに対して、Carrizoで採用した9TのHD(High Density)セルライブラリは、典型的な高密度製品向けのセルハイトだ。ライブラリ変更の効果は、下のスライドのように歴然だ。左がHPライブラリ、右がCarrizoのHDライブラリで、CPUの個々の機能ブロックのダイエリア例が示されている。命令デコーダが最大40%縮小したほか、浮動小数点スケジューラも38%、積和算ユニットが35%、命令キャッシュコントローラが35%と大幅に縮小している。

性能への影響は電力の低減で相殺

 もちろん9Tセルに変更すれば、その分、同じ電圧時の動作周波数は落ちる。AMDによると、周波数に対する影響は10%程度までだという。しかし、APUの場合は消費電力が下がることで、逆に動作周波数を上げる余裕ができると言う。より高電圧で駆動して周波数を上げることが可能になるからだ。

 Carrizoでは、GPU部のライブラリもより高密度にしている。しかし、GPUコアでは、その分、通常しきい電圧のトランジスタを増やすことで、性能を維持しているという。下は、高しきい電圧(HVT)、通常しきい電圧(RVT)、そして低しきい電圧(LVT)の3種類のトランジスタの構成比率だ。各しきい電圧のトランジスタには、チャネル長が異なるオプションがあるため、合計で6種類のトランジスタとなっている。赤がKaveriの高性能のライブラリのトランジスタ構成で、青がCarrizoの高密度の構成となっている。Carrizoでは、全体にリーク電流が低い方へとシフトするため、通常しきい電圧のより高速なトランジスタの比率が高まっていることが分かる。結果としてCarrizoのGPUコアは、KaveriのGPUコアよりも80%にリーク電流が下がったという。

 CarrizoでAMDが示したのは、APU設計の転換だ。従来のAPUは、高性能CPUの設計手法を引きずっていた。それに対してCarrizoは、設計手法をAPUに適するように一新した。真にAPUに適した設計手法で作られた初めてのAPUがCarrizoと言って良いかもしれない。さらに、電力制御を大幅に向上させたため、Carrizoは最も性能/電力と面積効率の高いAPUとなった。

 これは、現行のKaveriへの反省という側面もあるかも知れない。Kaveriはより多くの機能やGPUコアを搭載したが、そのために消費電力が大きく、GPUコアなどの動作周波数は抑えて製品化しなければならなかった。AMDはその反省を元に、APUに最適なチップの物理設計やプロセス技術を、Carrizoでは追求したとみられる。

(後藤 弘茂 (Hiroshige Goto)E-mail