Windows 10の登場に合わせる形で、AMDのミドルレンジ向けAPU「A8-7670K」が発売となった。実売で15,000円を割っているほか、上位のA10-7870Kと同様のソルダリング仕様が特徴だ。 本記事では、対抗とされるCore i3を用意してWindows 10環境でベンチマークを行なうとともに、一歩踏み込んだオーバークロックを試した結果をお届けしよう。

A10-7870Kの下位モデル、エントリークラスのゲーミングPC向け? A8-7670Kは“Godavari”コアを採用するAPUで、最上位のA10-7870Kの下位という位置付けだ。Kaveriも現在併売されているので、モデルナンバーからだけでは、どのモデルがGodavariなのか分かりにくいので、改めて7000シリーズを表にして整理してみよう。 このうちA4-7300はRichlandなので例外なのだが、Godavariは現時点でA10-7870KとA8-7670Kの2モデルのみだ。表から分かる通り、前者はA10-7850Kの上位、後者はA8-7650Kの上位となる。いずれもCPUとGPUの動作クロックが高くなっているのが分かる。 GodavariもHSAアーキテクチャに基づいているため、タスクマネージャーやCPU-Zの表記で「10 Compute Cores 4C+6G」と表示される。CPUコアはBulldozerアーキテクチャの流れを汲む“Steamroller”で、旧世代の“Piledriver”からIPCが向上している。 そのためPiledriverを採用したRichlandと比較して標準の動作クロックが低く、TDPも抑えられている。これには28nmプロセスを採用していることも貢献しているのだろう。ただし発熱はRichlandと同様それなりにある印象で、Kaveriからさらなるクロック向上を実現するために、Godavariでソルダリング仕様を採用したのは必然的な流れだ。 今回のテスト環境は、マザーボードにASUSの「A88X-GAMER」(約15,000円)、メモリにKingmaxのDDR3-1600 4GB×2(約6,000円)、OSにWindows 10 Home(約15,000円)を用意した。ケースや電源(合計約1万円)、ディスプレイ(約15,000円)、キーボード(約4,000円)、マウス(約4,000円)を含めて、一式で9万円程度の“ちょっとお金をかけた”エントリーレベルの3Dゲーミングシステムを想定している。 ストレージには今回WD初となる3.5インチのSSHD「WD Blue」を用意した。2万円なら今安くなっているエントリークラスの480GB～512GBのSSDを選ぶという手もある。しかし筆者は以前小容量のHDD(と言っても20年前の850MB HDDの時代だが)を選んだがために、旧ゲームタイトルをアンインストールしては新タイトルをインストールするという苦行を強いられたことがあった。SSHDならその8倍の容量はあるので、ゲームのライブラリにはもってこいだろう。

概ねCore i3を上回る性能を発揮、やはり3Dがアドバンテージ それではベンチマークで性能を見ていこう。ベンチマークはお馴染みの「PCMark 8」、「3DMark」、「SiSoftware Sandra」、「ファイナルファンタジーXI オフィシャルベンチマーク3」、「CINEBENCH R15」である。 今回は機材スケジュールの関係で、比較用にTDP 35WのCore i3-4130T(2.9GHz)しか用意できなかった。本来は同価格の通常版のCore i3-4130(3.4GHz)を用意すべきである。クロックは500MHz、割合で言うと約17%高いので、特にCPU演算系ベンチマーク結果に関してはその差を考慮して頂きたい。 と言ったことを踏まえた上でスコアを見てみよう。3DMark(グラフ1～4)およびPCMark 8(グラフ5)GPUを駆使するため、AMDが圧倒的に有利である。PCMark 8に関して言えば、一般的な使い方ではCore i3でもA8-7670Kでもそれほど大差はないはずだ。一方3DMarkはA8-7670Kが圧倒しており、特にDirectX 11対応のSky DiverやFireStrikeでは2倍以上の差を付けている。 もっとも、A8-7670Kでも最新鋭グラフィックスのDirectX 11ゲームを高解像度で快適に走らせることは難しい。グラフィックスの設定を下げる必要は出てくるだろう。その一方で、DirectX 9/10のゲームに関して言えば、GeForce 8800クラスの性能を備えていると思われ、解像度や画質を欲張らなければ、ほぼ難なく走らせることはできると思われる。 ファイナルファンタジーXI(グラフ6)については、高解像度/低解像度ともにCore i3-4130Tに後塵を拝した。筆者の経験からすると、IntelのGPUはこのスコアが高くても、実ゲームではあまり快適ではない。ベンチマークに出てくるキャラクターは数種類のみで、テクスチャも少ないが、実ゲームでは実に豊富なバリエーションのキャラクターと装備があるため、GPU側から見たメモリバンド幅も重要となってくる。APUは当初からGPUも考慮したメモリ設計を行なっているため、実ゲームでの体感は上だ。 CPUとGPUの基礎を計測するSiSoftware Sandra、およびCINEBENCH R15は表1～表2の通り、CPU性能はほぼ同等、GPU性能はA8-7670Kが圧倒。実際の比較対象となるCore i3-4130でより高いCPUクロックを加味しても、CPU性能についてはほぼ同等レベルと考えて良いだろう。 【表1】SiSoftware Sandraの結果 Dhrystone 87.31GIPS 62.81GIPS Whetstone 38GFLOPS 39.9GFLOPS Whetstone Double 28GFLOPS 27.21GFLOPS FP Shader Native 508.54Mpixels/sec 194Mpixels/sec Double Shader Native 43.65Mpixels/sec 36.88Mpixels/sec Quad Shader Emulate 4Mpixels/sec 3.54Mpixels/sec Memory Bandwidth 12.62GB/sec 17.75GB/sec 【表2】CINEBENCH R15の結果 CPU 310 290 OpenGL 41.02fps 25.33fps

BIOS設定によるOCではポテンシャルを引き出せないKaveriとGodavari せっかく“K”シリーズなので、オーバークロックを試してみた。 先述の通り、Kaveri/GodavariはRichland/TrinityからIPCを向上させたCPUコアを採用しているため、動作クロックが低い。それでも3.9GHzで駆動させるのに、VID読みで1.45Vという比較的高い電圧を必要としている。4GHz半ばでの動作には1.5V台の電圧は必至だ。そのためソルダリングを採用していると言えども、高いクロックにオーバークロックをする予定があるのであれば、絶対に冷却に手を抜いてはならない。今回はCRYORIG製最強のCPUクーラー、「R1 Ultimate」を載せてテストを行なった。 Haswellなどとは異なり、国内ではAMD CPU/APUに関するオーバークロックの情報がとても少ないので、オーバークロックに入る前に改めてここでまとめて整理しておく。 AMDのCPUは、ソフトウェアが容易に動作クロックを変更できるよう、CPUコアごとにMSRC001_0064～006Bという一連のレジスタ群を用意している。レジスタのフィールドは64bitずつで、そこに電圧「CpuVid」と動作クロック「CpuFid」、動作クロックを割るための「CpuDid」などを埋め込むことができる。これらのレジスタの値は「P-State」と呼ばれている。 AMDのCPUではCool'n'Quiet機能をオンにした場合、負荷に応じてそのレジスタ間=P-Stateの値が遷移していく。負荷が高い場合は数字が小さい(つまりMSRC001_0064)側に、低い場合は大きい(つまりMSRC001_006B)側に動く。P-Stateはソフトウェアによって書き換えられるので、クロックや電圧の制御を自由に行なうことができる。レジスタは8個用意されているで、最大8段階に調節可能なわけだ。 Kaveriでは、このうちの2つにTurboCORE時のクロックがセットされている(技術名称自体はTurboCOREなのだが、レジスタではBoostとなっている)。これは「D18F4x15C[NumBoostStates]」という読み込み専用レジスタの情報に基づいており、変更はできない。TurboCOREクロックは電力およびTDPに余裕がある時にのみ達成するクロックであり、余裕がない場合、その下=いわゆる定格クロックとなる。KaveriのNumBoostStatesは2なので、TurboCORE時の最大クロックは「Pb0」、その次は「Pb1」となり、定格クロックは「P0」、それから「P1」……と続き、「P5」まで用意されている。 【表】MSCR001レジスタとPステートの関係 D18F4x15C[NumBoost-States]の値 MSRアドレス 本来の意味 0 1 2 3 MSCR001_0064 P0 P0 Pb0 Pb0 Pb0 MSCR001_0065 P1 P1 P0 Pb1 Pb1 MSCR001_0066 P2 P2 P1 P0 Pb2 MSCR001_0067 P3 P3 P2 P1 P0 MSCR001_0068 P4 P4 P3 P2 P1 MSCR001_0069 P5 P5 P4 P3 P2 MSCR001_006A P6 P6 P5 P4 P3 MSCR001_006B P7 P7 P6 P5 P4 NumBoostStatesを除き、この仕組み自体はAthlon 64時代から装備されている機能である(NumBoostStatesはPhenom II X6とともに導入されたと見られる)。マザーボードのBIOS設定や、AMD OverDriveと言ったユーティリティでオーバークロックを行なう場合も、基本的にこのレジスタの内容を書き換えることで動作を実現している。 しかし筆者が知る限り、残念ながら現時点でUEFI BIOSやOverDriveが設定できるのはPb0とP0の値のみである。これはブーストが1段階しかないCPUでは困らないのだが、KaveriやRichlandのように2～3段階あるCPUの場合、負荷によってはPb1～Pb2に遷移する。するとPb1とPb2より高いクロックをP0やPb0にセットしても、低いPb1やPb2になってしまう問題がある。 さらにマザーボードのUEFI BIOSによって設定できる項目や挙動もマチマチだ。例えば、今回試用したA88X-GAMERのUEFI BIOSでは、CPUの倍率設定は1項目のみであり、TurboCORE時の倍率を選択することはできない。設定してみたところ、Pb0/Pb1/P0の3つのレジスタが同じ倍率設定で上書きされた。 また、A88X-GAMERの電圧も固定値などに設定することはできず、オフセット設定のみとなっている。Adaptiveモードなどを備えたHaswellなどと比較すると自由度が低いだけでなく、せっかく用意されたレジスタ設定とは全くの無縁になってしまっている(ただしCpuVidの最大値は1.55Vなので、それ以上必要の場合はオフセットでしか設定できない)。よって、AMDのP-Stateの仕組みをフルに活用してオーバークロックをしたいのであれば、別途対応ソフトウェアを用意する必要がある。 P-Stateを自由に変更できるソフトウェアとして、古くは「K10stat」、Trinity/Richland世代ではAMD内製の「PSCheck」を用いて変更できるというのは有名であったのだが、現在この2つのソフトウェアともにKaveriには非対応である。 そこで新しいソフトウェアが必要となるわけだが、検索したところ、Kim氏が制作した「K15TK」というソフトウェアで変更できることが分かった。9月4日現在、最新版はβのV0.0.3.0であるため、これから機能向上は改善などが図られていくと思うが、筆者のA8-7670Kの環境では問題なく動作した。 なおK15TKは単体では動作せず、別途WinRing0ドライバが必要となる。手っ取り早く入手するのであれば、「TurionPowerControl」(TPC)というソフトウェアをダウンロードし、64bitのOSならばその中のWinRing0x64.dllとWinRing0x64.sys、32bit版のOSならばその中のWinRing0.dll、WinRing0.sys、WinRing0.vxdの3つのファイルを、K15TKと同じフォルダに入れてやれば良い。 早速K15TKを起動してみよう。するとP-State 0から7までのテーブルが表示されているのが分かる。これによれば、A8-7670KのPb0は3.9GHz、P0は3.6GHzで、一番下のP5は1.9GHzとなっている。P-Stateを手動で変更したい場合は、「P-State」のタブでクロックと電圧を入れて、適用を押すだけで良い。これならば、BIOSで設定できないPb0、Pb1、P0を個別に設定でき、熱設計に沿ったより柔軟なクロック制御が可能になる。

Kaveri/GodavariではGPU負荷時にCPUクロックが下がる BIOSやAMD OverDriveによるオーバークロックではP-Stateの仕組みを活かせないだけではなく、実はKaveriやGodavariが持つ“真の性能”も引き出せないのである。 というのも、KaveriおよびGodavariは内蔵GPUに高い負荷が掛かっている時、CPUに負荷を掛けてもPb0どころかP0ステートすら維持できず、P3ステートに制限されるからだ。これは発熱やTDPなどを考慮した設計で、ある意味それはそれで正しいのだが、最大のCPU性能を引き出せないことになる。これについては、AKIBA PC Hotline!で以前Configurable TDPのテストを行なった瀬文茶氏の記事(FF14ベンチマーク時のCPUクロックグラフ参照)でも確認できる。Cool'n'Quiteをオフにしたり、OSの電源プランを「ハイパフォーマンス」に設定しても変わらない。 近年の3DゲームはGPU負荷の方が高く、CPUに関しては負荷が低い状況が続く場合が多い。AMDとしてみれば、CPUの性能を多少犠牲にしても、GPUの性能を維持した方がゲーム性能が出るという判断だろう。 筆者もこの方向性には概ね賛同するのだが、Windowsではゲーム中でもバックグラウンドでさまざまなタスクが実行される場合があり、そのタスクの実行がP3ステートのクロックのまま行なわれることになるので、結果として処理が長引き、ゲームのプレイ中、遅く感じる時間が伸びる可能性がある。そのボトルネックを解消したいのであれば、K15TKでP3ステートのクロックを引き上げる必要がある。 KaveriやGodavariでも、別途ビデオカードを接続してそちらに負荷を掛けている場合はCPUの動作クロック制限は受けない。APUを購入するユーザーの大半はおそらく内蔵GPUが目的で、AMDとしてもCPUとGPUが緊密に連携するHSAを謳っているわけだが、標準設定ではビデオカードを接続しないとCPUの最大の性能が出ないというのはちょっと寂しい。 余談だが、Haswell(というか先ほどテストしたCore i3-4130T)では、内蔵GPUに負荷が掛かっている場合でもCPUクロックは定格で動作した(Core i3はTurbo Boost非搭載なので、Turbo Boostの挙動は分からないが、例えあったとしてもオーバークロックが前提のZシリーズチップセットではTDPの制限を解除できる)、HaswellはCPUとGPU両方を合わせたTDPで設計されているのだろう。eDRAMやより複雑なGPUを持つBroadwellではどうなっているのか、機材の都合で今回試すことはできなかった。 というわけで、K15TKを用いてP3ステートを持ち上げ、いくつかのパターンでベンチマークをしてみた。環境設定は6つで、メモリだけXMPプロファイルを読み込んでDDR3-1600で動作させた“標準設定”、BIOS上で4.4GHzまでクロックを引き上げ、電圧を+0.14375V、GPUを900MHz、メモリを1,866MHzに設定した“BIOS設定4.4GHz”、K15TKでP3ステートまで4.4GHzまで引き上げた“4.4GHz固定”、そして標準設定およびBIOS設定のみ4.4GHzに外付けのGeForce GT 630を加えた“標準設定+GT 630”、“BIOS設定4.4GHz+GT 630”だ。 それに伴って実施したベンチマークだが、グラフィックスの性能変化を見るために、CPU負荷なしで3DMarkのSky DiverのGraphics test 1を1,280×720ドットのウィンドウモードでそのまま実行した場合と、Hyper Piによる200万桁演算を4コア全てで実施しSky Diverに与えたフレームレートの変化を計測。一方GPU動作中のCPUの性能変化を見るために、Sky DiverのGraphics test 2をループさせておき、Hyper Piによる400万桁演算を4コア全てで実施し、完了したタイムを計測した。 加えて、ベンチマークテスト中にワットチェッカーによる消費電力、およびHWInfo64で取得できたCPU Packageの温度も計測した。 グラフィックスの性能だが、ある意味予測通りだった。GPUおよびメモリクロックを引き上げた効果は絶大で、17%向上した。一方BIOS設定4.4GHzと4.4GHz固定の間の性能差はほぼ皆無。つまりA8-7670KのGPUにとって、CPUコアが2.8GHzだろうと4.4GHzだろうと性能差はないということだ。KaveriのCPUコアにとって、GPU性能がボトルネックになっていると考えていいだろう。 その一方で消費電力は122Wから160W、210Wへと順当に推移した。GPUやメモリのオーバークロックで40W程度の増加は想定していたのだが、P3ステートを固定するとさらに50Wも増加するのには驚いた。 一方グラフィックステスト中のHyper Piの400万桁演算だが、計算に掛かった時間を並べるとBIOS設定4.4GHz＞標準設定＞標準設定+GT 630＞4.4GHz固定＞4.4GHz BIOS設定のみ+GT 630という結果となった。 先述の通り、ビデオカードを別途取り付けた場合、CPUクロックの制限はなく、なおかつCPUとGPU両方がメインメモリにアクセスするというボトルネックが解消されるので、GT 630付きの結果は良い。BIOS設定4.4GHzが標準設定より遅いのは誤差程度だが、メインメモリのバンド幅が拡大した分GPUのバンド幅占有量が増え、結果としてCPU側が遅くなったとも取れる。 一方で注目の4.4GHz固定とした場合、標準設定から平均約44秒タイムが短縮している。約35%の向上で、クロックの差(約57%)ほどはない。GT 630を搭載するとこれが約50%に向上するので、15%分はGPU同時処理によるボトルネックだと考えられる。 CPU Package温度も55℃から60℃、76.6℃と上がってきている。ちなみにファンは3つの環境ともに常に100%フル回転だ。そして冷却力が高いR1 Ultimateのフル回転ですら76.6度なのだから、もし試す場合は発熱への対策はしっかり行ないたい。 結論としては、P3ステート4.4GHzまで引き上げて、CPUとGPU両方に負荷を掛けるのは、消費電力および発熱の観点からおすすめしない。しかし少なくとも2.8GHzは、高クロックを目指すAMDにとってCPUコア性能のスイートスポットとは言えないだろう。K15TKを用いて、電圧と相談しつつ3.6GHz～4GHzまでのレンジまで引き上げた方が、性能と消費電力、発熱のバランスが取れるのではないだろうか。