米AMDはCOMPUTEX TAIPEI 2015の2日目となる6月3日、Carrizoの名前で知られていた第6世代のAPUを公式に発表した。これに先駆け、メディア向けの説明会を開催し、製品の特徴や内部構造についての詳細を解説した。この内容をまとめて紹介したい。

新APUの製品概要

今回発表されたのはCarrizoが3モデル、それと(出荷は先週から行われているが)GodavariベースのA10-7870Kという合計4製品である(Photo01)。

まずGodavariの方だが既報の通り、CPUコアの動作周波数を3.9/4.1GHzに、GPUコアの動作周波数を866MHzにそれぞれ引き上げたものとなる(Photo02)。

性能的にはCore i3+GeForce GT 740を十分上回る(Photo03)としており、チャネル向けには5月28日から、OEM向けにも6月2日からそれぞれ発売されるとしている(Photo04)。

Photo03:比較対象はCore i3-4360+NVIDIA GT 740(1GB DDR3)という構成。CPUの市販価格は16,00～18,000円というところで、大体A10-7870Kと同じ価格帯の製品を選んだと思われる。GeForce GT 740は1万円をちょい切る程度

さて、発表の本題はCarrizoである。AMDとしては第6世代相当となる(Photo05)製品だが、性能/消費電力比の改善に注力したという(Photo06)。この結果として、例えばビデオ再生なら従来比2倍以上(Photo07)、ゲーム性能なら同じ消費電力枠でより高い描画性能が実現される(Photo08)としている。

Photo08:やっと3DMark11のPerformanceで3000に近いところまで性能があがった。これはもうちょっと上がると、GeForce GTX 650あたりといい勝負になるという数字である

実際いくつかのゲームできちんと30fps以上を確保できているとも説明した(Photo09,10)。当然ながらGPUはGCNベースでHSA対応なので、OpenCLによる性能改善も期待できる(Photo11)。

またセキュリティ関連で言えば、Kaveriには間に合わなかったもののBeemaに搭載されたARMのTrustZoneベースとなるPSP(Platform Security Processor)をCarrizoでは搭載しており、これを使うことでより高速に暗号化処理が可能になっているという(Photo12)。

さらに7月末の正式発表が決まったWindows 10への対応に関しては従来製品よりも改善されており(Photo13)、またそのWindows 10と合わせてリリースが予定されているDirectX 12を利用した際、より性能が向上する(Photo14)とする。説明会の会場では3DMarkのFeature Testの結果を示していた(Photo15)。ちなみにPhoto16がCarrizoの製品スペックとなる。

Photo14:Draw callの数がそのままフレームレートに繋がる訳ではないが、より多くのDraw callを出せる方が性能が改善しやすいのは事実だ

Photo15:Draw Call/secの数字を比較すると、DirectX 11が43万に対しDirectX 12では275万と6.4倍ほどになっているのがわかる。ちなみに本題とは関係ないが、CPUコアがK15と表示されているのがちょっと面白い

Carrizoではさらなる性能/消費電力比の向上を目指す

さて、ここまでの話は主に製品寄りの話であったが、同時に内部について突っ込んだ説明もあったので紹介したい(Photo17,18)。Carrizoの内部構造そのものはISSCCである程度発表されているので、今回はそれ以外の話についてまとめる。

Photo17:CPUパートの説明はおなじみJoe Macri氏 Photo18:GPUパートはDan Bouvier氏(Senior Technical Fellow)。CarrizoのLead architectを務めた方

もともとKaveriでもかなり性能/消費電力比は向上している(Photo19)が、Carrizoではこれをさらに引き上げることが設計目標とされた。これはAMDが掲げる"25x20 Energy Efficiency Initiative"に沿ったもので、2008年のPumaを基点に、2020年までに25倍のエネルギー効率の改善を目指している。

2014年発表のKaveriでは10倍のエネルギー効率を実現したという。単純に考えると2020年に25倍のエネルギー効率の改善を目指すならば、2015年の段階では12.5倍のエネルギー効率改善を達成していなければならないことになる。

これをどう実現するか? というのがこちら(Photo20)。コアそのものの消費電力を削減するとともに、外付けのチップセットを統合することで消費電力を削減する。これにより、トータルで性能/消費電力比を2.4倍に向上したとしている。

ここからは消費電力削減の方法論について紹介する。まず、どのようにコアの消費電力を下げるのか? という方法のひとつが、High Density Libraryの採用である(Photo21)。

Photo21:Bouvier氏に「そもそも28nmのLP(Low Power)を使えばもっと削減できたのでは?」と尋ねたところ、「その場合はFmaxの問題が今度は出てきてしまい、PC用のプロセッサとしては好ましくなかった」そうである。定格だと2GHzそこそこだがBoostで最大3.4GHzまで上がるとなると、さすがに28nm LPでは問題があり過ぎたようだ

これによってなぜ消費電力が下げられるかという話は、ISSCCでの記事で紹介したのでここでは繰り返さない。ちなみに質問の過程で、Carrizoが引き続きGlobalFoundriesの28nm SHPプロセスを利用している事は確認できた。

Excavatorコアに関する新情報も

さて、ここからいくつか新しい話が。まず新機能として、L1 Data Cacheの大容量化とBTBの改善、FPU周りの改善と新命令の追加などが実装され、最大で15%ほどのIPC改善に繋がっているという話があった(Photo22)。

Photo22:L1 Data Cacheの話は次に

Excavatorコアでは、L2キャッシュの容量を削減しており、これをカバーするためにL1の容量を倍にしながら、Latencyそのものは一定を維持している(Photo23)としている。

Photo23:KaveriはL1 Instruction Cacheが96KB/3way、L1 Data Cacheが16KBだったが、CarizzoではこのData Cacheを32KBに増量した形

ついでにbetter clock gatingの話も。Photo24はPower Gatingの方でClock gatingではないのだが、Carrizo内部のPower Domainが結構複雑になっていることが分かる。ここで各々のPower Doaminの中でさらに細かくClock Gatingがなされており、「CarrizoはAMDが今まで製造してきた製品の中で、最も複雑なパワーマネジメント機能が入っている」(Macri氏)という。

Photo24:これはISSCC 2015におけるAMDの"A 28nm x86 APU Optimized for Low Power and Area Efficiency"(Paper 4.8)という論文より

また、Carrizoの場合、CPUダイとNBがやや複雑な絡み合い方をしたフロアプランになっている(Photo25)が、これは放熱の問題を考えてとのことだそうだ。Kaveriの世代では、2つのCPUコアがPhoto26の右側のように隣接している。この結果、CPUをフルに使うシーンでは熱源が固まるから早く温度が上がりやすい。そこでCarrizoでは左のように2つのCPUコアの間にNBを挟み込んだことで、ここが熱的な緩衝エリアになり、温度が(相対的に)上がりにくくなったそうだ。

温度があがりにくいというのは平常時にもThermal Throttlingが動く頻度が下がるし、Turbo動作もより長時間利用できることになるから、性能面へのインパクトが大きい。こうした細かい工夫がフロアプランの決定時になされたとのことだった。

話を元のスライドに戻すと、Excavatorは15Wというあたりを消費電力のターゲットにした(Photo27)。つまり一対のCore Pairで5Wとかそのくらいのレンジだ。これは以前のこのスライドと見比べていただくと分かる通り、Kaveriコアは定格の55%程度の動作周波数なのが、Carrizoだと65%ほどになり、おおむね20%程度の消費電力引き上げが可能になる。これに加えてIPCの引き上げにより、最大55%の性能改善が可能、という話だった。

逆に言えば、35W(Core Pairで言えば15W程度か)のレンジでは、動作周波数の引き上げは難しいということになる。要するにExcavatorでは、強烈に動作周波数を下げる方向に設計目標を振ったことになる。

ここでちょっと気になってBouvier氏に「いつこのデザインの判断をしたのか?」と聞いたところ、2012年ごろ、つまり第2世代のPiledriverのデザインが終わったころには、Excavatorはこの路線に進む決断をしたとのことであった。

動画関連での機能追加

こうした工夫はCPUコアだけではない。Video Encoder/Decoderにも工夫がなされている。CarrizoではH.265のDecodeまでサポートされたが、こうした新機能以外にも特に省電力周りでの工夫が多い。

まずは再生時の省電力サポート。従来だとVideo再生の際のPost-processing処理はGPUが担っていたが、CarrizoではこのPost-Processingの機能をDisplay Controllerに実装した。これにより、GPUコアを動かす必要もなくなり、またメモリアクセスの頻度も半分になった結果、これまで5W近くを必要としていた1080pの動画再生の消費電力が2W弱まで落ちることになった(Photo28)。

UVD自身もずいぶん機能が増えた(Photo29)が、それよりもエンコード/デコード性能が大幅に向上し、結果として動作再生時の駆動時間向上が特徴として挙げられている(Photo30)。ここでもまた、チップセットの機能を統合したことが効果的に作用している(Photo31)。

Carrizoの統合GPU

次がGPU周り。Carrizoに統合されたGPUは"3rd Generation GCN Core"ということで、Tongaと同じGCN 1.2相当ということになる。GCN Core数は8で、これはDesktop向けのKaveriとは同じだが、CarizzoがターゲットとしているMobile向けの場合、従来はハイエンドのA10-7400Pでも6だったので、その観点から言えばGCN Coreが2つ増えた計算になる。

このほかにも、いくつかの変更が行われている。まずはHSA対応の話で、GCN側にもATC(Address Trasnlation Cache)が追加された(Photo32)。

ATCは要するに仮想アドレスと物理アドレスを変換するPage Tableの中身をコピーするものであるが、Kaveri世代ではこれはIOMMU v2の中に存在していた。これに対してCarrizoではGCN側にこのキャッシュを持たせることで、変換をより高速化するとともに、いちいちアドレス変換のためにDRAMアクセスを行うというペナルティを削減した形だ。

またRender Backendには新しくColor Compressionの機能が追加(Photo34)され、これにより5～7%の性能改善が可能になったとする。またこれは性能には関係ないが、画像のアップスケール/ダウンスケールを含めたDisplay Engineが機能強化されたことも挙げられている。トータルの性能比較結果がこちら(Photo36)で、15Wの場合で65%、35Wの場合でも20%弱の性能改善があるとしている。

Photo34:色情報のロスレス圧縮により、必要とされるメモリ容量を削減することで、実質的なメモリ帯域を改善することが可能になり、この結果として性能が向上したとの事。ちなみに数字は3DMark Vantageのものだそうである

最後がPSPの構造である。Photo37ではMicrocontroller扱いされているが、基本はCortex-A5というれっきとしたMicroprocessorで、これに必要なコンポーネントを全部集約した、独立したサブシステムであることが分かる。

ということで、駆け足でCarrizoの内部構造についてご紹介したが、とにかくはっきり「設計目標は15W」と明言されたあたりで、これがDesktopに全然適さないのは明白であるし、この先引き上げるのも難しい。なので当面はDesktop分野はGodavariでしのぎながら、2016年のZenコアを待つことになる。

ところでAMDのロードマップ、2016年にZenコアをDesktop/Serverに入れることは明らかにされているが、APUについては「第7世代APU」とあるだけで詳細は不明のままだ。

このあたりをBouvier氏に確認したところ「別にZenはHigh Performanceなだけではなく、High Efficiencyを狙った設計である」としたうえで、「だからといってExcavatorをもう改良しないというわけではない」と見事に煙幕を張ってくださった。このあたりはもう少し状況の推移を見守る必要があるだろう。