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

新APUの製品概要

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

Photo01:CarrizoはMobileのみということで、パッケージはFCBGAのみ

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

Photo02:基本はKaveriで、単に高速動作する選別品という扱いの製品だ。もちろんSocket FM2+でそのまま利用できる

性能的には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万円をちょい切る程度

Photo04:すでに秋葉原での発売は始まっているが、初物のご祝儀価格ということでか、ちょっと値段は高め

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

Photo05:Llano/Trinity/Kabini/Kaveri/Beemと来て第6世代という数え方になる。GodavariはKaveriに包括されるらしい

Photo06:17倍の性能はPhotoshopのPath BlurをOpenCLの有無で比較、2倍のGPU性能は、AMD FX-8800PとCore i7-5500Uで3DMark11の性能を比較。2倍のバッテリ寿命はAMD FX-8800PとAMD FX-7600の比較となる

Photo07:3倍まではさすがにいかなかった

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

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

Photo09:これは35W製品同士での勝負となる

Photo10:こちらは複数の消費電力の製品を混在させての勝負であるが、15WのA10-8700Pが一番高速となっている

Photo11:Photo06の17倍の数字の詳細がこちら。上がり方はもちろんアプリケーションに依存する

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

Photo12:Core i5やCarizzoはどちらもAES-NIをサポートするから、これを使うことで高速化がなされているが、それよりもCortex-A5ベースのPSPで処理したほうがより高速になるとしている

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

Photo13:同じバッテリーを使っての待機時間が2倍以上に増えるとする

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

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

Photo16:原稿執筆時点ではまだ価格は未公開である

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倍のエネルギー効率の改善を目指している。

Photo19:別にCarrizoで25倍を実現するというわけではなく、Kaveri→Carrizoといったアーキテクチャ刷新を続けることで2020年までに25倍に達するように努力すると言う話。基になるのは2008年のPumaでこれを1とした計算になる

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

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

Photo20:方法論としてはごく真っ当というか当然のやり方で、IntelもCloverTrailで同じようにチップセットを統合することで消費電力を下げている

ここからは消費電力削減の方法論について紹介する。まず、どのようにコアの消費電力を下げるのか? という方法のひとつが、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を挟み込んだことで、ここが熱的な緩衝エリアになり、温度が(相対的に)上がりにくくなったそうだ。

Photo25:DDR PHYの配置も「Kaveriではあんまり考えなかったのでちょっと失敗した」(Bouvier氏)そうで

Photo26:温度差で言えば1.5度ほどになるが、これは3.2%の性能面でのゆとりに繋がる

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

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

Photo27:35WのCineBenchではむしろ動作周波数が下がっていることが分かる

逆に言えば、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)。

Photo28:もちろんこれはPost-Processでどんな処理をやるかにも関係してくる。Display Controllerに統合された新しいPost-Process回路が全てを処理出来る訳ではないと思うので、引き続きGPUが動くケースもありえるとは思う

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

Photo29:さすがにHEVCのエンコーダの実装は今回見送られた。実装できないわけではない(すでにハードウェアベースのHEVCエンコーダのIPそのものは存在する)が、相応のエリアサイズが必要になるので、28nmのSoCに突っ込むにはちょっと難しいと判断されたのかもしれない

Photo30:デコードに関して言えば、4K映像の場合で性能が4倍に向上しており、この結果として再生時間の大半を待機状態にすることでDRAMも低消費電力モードに置き、結果消費電力の削減=再生時間の拡大を実現したとしている

Photo31:"Underlay Pipe"がDisplay Controllerに統合されたPost-Processの回路である

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)。

Photo32:この構造そのものはKaveriとほとんど変わらない

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

Photo33:当たり前だがTongaはHSAには未対応なので、これはTongaに採用されたGCN 1.2のコアを持ってくるときに付け加えられた機能である

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

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

Photo35:これそのものはTongaと同じもので、あくまでKaveriと比較しての新機能という意味と思われる

Photo36:15Wの場合、2CPU+2GPU構成だから、コア数の違いによる性能改善率が非常に大きい。逆に35Wだとあまり性能差がないことになる

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

Photo37:Cortex-A5そのものは汎用プロセッサなので、暗号化処理はCryptography co-processorに任せる形になる。「それならいっそこのco-processorをExcavatorコアに入れれば」と思われるかもしれないが、Cortex-A5コアと合わせてTrustZoneというセキュアな環境をプロセッサとは別に設けるのが肝で、Excavatorコアに繋げると暗号化処理は高速化できるが、セキュアな環境にならないのが問題である

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

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

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