K10statを使ったCPUの電圧設定@X6
AMDのK10アーキテクチャ用設定ツールK10statで電圧を変更し、Phenom II X6 1065Tを省エネ方面の設定にしてみます。設定方法などは前の記事を参照してください。
テスト環境と作業内容
そのうち手ごろな価格になったらK10の6コアを試してみたいと思ってから約5年、同時期に販売されていたCore2やCorei初代は下落していきましたが、K10は価格の動きが鈍く割高になる一方です。そんな中、末期の新品価格に近い値段でしたが近所で売っているのを見かけ衝動買いしたPhenom II X6 1065Tを今更いじってみます。
Phenom II X6のラインナップ
型番 | 1035T | 1045T | 1055T | 1065T | 1075T | 1090T | 1100T |
---|---|---|---|---|---|---|---|
周波数 | 2.6GHz | 2.7GHz | 2.8GHz | 2.9GHz | 3.0GHz | 3.2GHz | 3.3GHz |
ターボ | 3.1GHz | 3.2GHz | 3.3GHz | 3.4GHz | 3.5GHz | 3.6GHz | 3.7GHz |
TDP | 95W | 125/95W | 95W | 125W |
1035Tはメーカー製PCに搭載されていました。1055Tは最初に販売された製品のTDPが125Wでその後95Wに切り替わっています。今回の1065TはTDP95W品では一番高クロックになります。
PhenomはX6からTurbo COREが実装されました。マルチコア非対応のアプリケーションなどで少数のコアを使用してそれなりの負荷がかかった時、一部コアだけ周波数を定格以上に上げる機能です。型番の末尾のTはターボコアを意味します。
テスト環境
CPU | Phenom II X6 1065T |
---|---|
マザー | A7GM-S (780G & SB700) |
メモリ | DDR2-800 CL6 16GB (4GB x4) |
HDD1 | WD1600HLFS-60G6U2 (2.5" 160GB 10000rpm) |
HDD2 | HN-M101MBB (2.5" 1TB 5400rpm) |
VGA | N640GT-MD2GD3/LP (GT640 DDR3 2GB) |
SOUND | X-Fi Bravura 7.1 (CA0110) |
電源 | KRPW-PT600W/92+ (600W 80+PLATINUM) |
OS | Windows 10 64bit Pro |
A7GM-SでX6を使うにはBIOSの更新が必要です。A7GM-SはリビジョンによってBIOS更新に使うファイルが異なるので要確認です。手持ちのA7GM-Sは電解コンデンサが多く使われている初期リビジョンです。電源投入時やOS起動前などの通常電圧時に、マザーへの負荷が多少でも和らぐのに期待してTDP95WのX6を選びました。
作業の流れ
テストをしながらPCが落ちない電圧設定を探ります。CnQ&C1Eは有効、BIOSから電圧や周波数などの変更は無しの初期状態、Windows側のCPU制御設定は上限と下限を5%にして周波数を固定、K10statのロック機能で周波数を設定します。
- テストしたい周波数と電圧を設定し反映させる
- Prime95を動作させる
- K10statで電圧の設定を一つずつ下げて反映させる
- エラーが起きてフリーズしたら再起動後に1つ上の電圧でPrime95を動作させる
- しばらく放って置いてフリーズしたら1つ電圧を上げる
- その設定で10分動作したらそのまま使わず、少し余裕を取って2つ上の電圧を採用
この流れで設定を探っていきます。Primeはテスト時に最新だったv28.7を使っています。
電力の測定方法
ワットモニターでワット数を確認します。アイドル状態はWindows10のデスクトップ画面でしばらく放置して数値が安定した時の最も低い値、負荷状態はPrime95開始1分の間で一番高い電力を拾っています。6コア全てが100%になるそこそこの負荷ですが、より消費電力が増える処理もいろいろとあるので目安程度にどうぞ。
定格設定と定格周波数電圧下げの消費電力
2つ並んでいる数値は左がアイドル状態、右が負荷状態です。K10statで指定した電圧は環境によって値が変わるので、CPU-Zに表示される電圧も記述しています。テスト時の室温は17℃前後でした。
デフォルト設定
P-State | 周波数 | 設定電圧 | CPU-Z電圧 | 電力 | 温度 |
---|---|---|---|---|---|
B0 | 3400 MHz | 1.4250 V | 1.408 / 1.424 V | 142 W | 31 ℃ |
P0 | 2900 MHz | 1.3250 V | 1.312 / 1.328 V | 71.0 / 173 W | 15 / 42 ℃ |
P1 | 2200 MHz | 1.3000 V | 1.296 / 1.312 V | 64.4 / 155 W | 14 / 36 ℃ |
P2 | 1500 MHz | 1.2500 V | 1.232 / 1.248 V | 62.4 / 131 W | 13 / 30 ℃ |
P3 | 800 MHz | 1.1750 V | 1.168 / 1.168 V | 60.4 / 102 W | 13 / 22 ℃ |
Turbo COREのB0は一部のコアにだけ負荷がかかった時に適応される設定なので、Primeを2スレッドで実行して確認しています。ターボが有効でP0に固定してアイドルになった時、周波数はP0のままですが電圧はB0で設定されている値が適用されるようで、B0のアイドル時の電圧はその値です。
低電圧設定
P-State | 周波数 | 設定電圧 | CPU-Z電圧 | 電力 | 温度 |
---|---|---|---|---|---|
B0 | 3400 MHz | 1.2375 V | 1.232 / 1.232 V | 116 W | 28 ℃ |
P0 | 2900 MHz | 1.1375 V | 1.120 / 1.136 V | 57.9 / 138 W | 13 / 33 ℃ |
P1 | 2200 MHz | 0.9750 V | 0.960 / 0.976 V | 55.1 / 114 W | 12 / 25 ℃ |
P2 | 1500 MHz | 0.8375 V | 0.832 / 0.832 V | 53.8 / 97.3 W | 11 / 20 ℃ |
P3 | 800 MHz | 0.7125 V | 0.704 / 0.704 V | 53.3 / 82.5 W | 11 / 17 ℃ |
B0は3コアだけ周波数が3.4GHzになり電圧も高くなっていますが、テストで走らせているPrimeが2スレッドのみと6コアをフルには使っていないので、消費電力はP0よりも低い値になっています。それでも2.2GHzで6コアを稼働させた時と同じ値になっています。
周波数と電圧と消費電力
周波数 | 設定電圧 | CPU-Z電圧 | 電力 |
---|---|---|---|
2900 MHz | 1.1375 V | 1.120 V | 58.3 W |
800 MHz | 1.1750 V | 1.168 V | 60.4 W |
アイドル時のデータ比較です。800MHzは定格設定、2900MHzは電圧を下げています。より低電圧の2900MHzの方が消費電力は低くなっており、周波数より電圧の方が電力への影響が大きい事が分かります。
TDP65W相当?の設定
X6と同世代のTDP65WのCPUと同程度の消費電力になる設定です。今回はTDP65WのAthlon II X2 240を同じ環境で使った時のデータと比べます。Athlonの方が温度が高いですが、グリスが塗られてから6年程度経過しているのが影響したのかもしれません。
Athlon II X2 240の定格と比較
CPU | 周波数 | 電圧 | 電力 | 温度 |
---|---|---|---|---|
Athlon II X2 240 | 800 / 2800 MHz | 1.008 / 1.376 V | 54.0 / 118 W | 15 / 36 ℃ |
Phenom II X6 1065T | 1500 / 2200 MHz | 0.832 / 0.976 V | 53.8 / 114 W | 11 / 25 ℃ |
数値は左がアイドル時、右が負荷時の値です。周波数を抑えて電圧を下げればX2の定格と同程度の消費電力にできました。
両方定格周波数で電圧を下げた場合
CPU | 周波数 | 電圧 | 電力 | 温度 |
---|---|---|---|---|
Athlon II X2 240 | 800 / 2800 MHz | 0.704 / 1.072 V | 51.7 / 93.0 W | 15 / 28 ℃ |
Phenom II X6 1065T | 800 / 2900 MHz | 0.704 / 1.136 V | 53.3 / 138 W | 11 / 33 ℃ |
負荷は2と6というコアの数で大きく差が付いていますが、アイドルはL3キャッシュ6MBの有無やコア数の差を感じさせない僅差で健闘しています。旧PCの消費電力削減をしたい時はコア数の少ないCPUに交換するより、多コアのクロック上限を控えめにするだけでよいかもしれません。
他の周波数とP-Stateの変更
初期設定以外の周波数をいくつか試します。FIDとPIDの値を変更すると他の周波数になります。
P-State | FID-PID | 周波数 | 設定電圧 | CPU-Z電圧 | 電力 |
---|---|---|---|---|---|
B0 | 18-0 | 3400 MHz | 1.2375 V | 1.232 / 1.232 V | 115 W |
P0 | 13-0 | 2900 MHz | 1.1375 V | 1.120 / 1.136 V | 57.9 / 138 W |
12-0 | 2800 MHz | 1.1250 V | 1.120 / 1.120 V | 57.5 / 135 W | |
10-0 | 2600 MHz | 1.0750 V | 1.056 / 1/072 V | 56.4 / 126 W | |
P1 | 8-0 | 2400 MHz | 1.0125 V | 0.992 / 1.008 V | 55.5 / 120 W |
7-0 | 2300 MHz | 1.0000 V | 0.992 / 0.992 V | 55.3 / 116 W | |
6-0 | 2200 MHz | 0.9750 V | 0.960 / 0.976 V | 55.1 / 114 W | |
P2 | 4-0 | 2000 MHz | 0.9375 V | 0.928 / 0.928 V | 54.8 / 108 W |
P3 | 0-0 | 1600 MHz | 0.8625 V | 0.848 / 0.864 V | 53.9 / 99.7 W |
14-1 | 1500 MHz | 0.8375 V | 0.832 / 0.832 V | 53.8 / 97.3 W | |
8-1 | 1200 MHz | 0.7875 V | 0.768 / 0.784 V | 53.5 / 92.2 W | |
0-1 | 800 MHz | 0.7125 V | 0.704 / 0.704 V | 53.3 / 82.5 W |
0.9V未満の電圧ではアイドル時の電力はあまり変わらないようです。アイドル時の800MHzはレスポンスが悪いので、P3を電力差の少ない1600MHzまで上げる事にします。800MHzと1600MHzで負荷時の電力差は大きいですが、負荷がかかれば周波数も上がるので問題ないでしょう。あとは400MHz刻みで周波数を増やしています。
Altanate VID
BIOSでC1Eを有効にしてP3でアイドル状態の時、特定の条件を満たしているとコアの電圧をAltVidで指定した値にします。K10statのreadmeに必要な条件などが書かれているので目を通しておいた方がよいでしょう。
適用するにはK10STAT.exeのショートカットをどこかに置いて、リンク先のパスの後ろに「-AltVid:700」などと付け足してから起動します。
周波数 | 1600 MHz | |||||
---|---|---|---|---|---|---|
AltVid | 未指定 | 700 | 600 | 500 | 450 | 400 |
CPU-Z電圧 | 0.848 V | 0.688 V | 0.576 V | 0.480 V | 0.432 V | 0.384 V |
待機電力 | 53.9 W | 53.3 W | 52.9 W | 52.6 W | 52.4 W | 52.2 W |
やはり0.9V未満の電圧だと消費電力は下がりますが差はごく僅かです。
100単位で値を下げていくと400までは特に問題なし、300は即再起動、350もダメ、380は再起動後にOSが起動失敗するようになりました。やり過ぎるとファイルが破損しやすいかもしれません。
AltVid設定時の動作
例えば400を指定すると、コアの電圧は0.848Vから0.384Vまでの間で上下に変動します。特に操作をせずにバックグラウンドの動作が落ち着くと0.384Vのままになります。
AltVidが効いている状態からPrime実行でP0に遷移し、終了させるとP3に戻って低電圧になりました。mp3を再生すると、負荷が軽いせいか0.8V以下で再生できました。
高電圧のアイドルとAltVid
電圧の変更をしていない初期状態とAltVidを組み合わせてみました。
周波数 | AltVid | 設定電圧 | CPU-Z電圧 | 電力 |
---|---|---|---|---|
2900 MHz | 未指定 | 1.3250 V | 1.312 V | 71.0 W |
2900 MHz | 1000 | 1.3250 V | 0.976 V | 56.1 W |
AltVidを800にすると落ちたので1000にしています。AltVidを併用する事で高い周波数で高電圧のまま常用、アイドルは低電圧という動作が実現できます。アイドル時に低電圧になる設定だと効果は1~2Wでしたが、高電圧からならそこそこ抑える事ができます。
NB電圧の変更
NorthBridgeの電圧であまりいじらない方がPCは安定します。今回の環境のNB電圧初期値は1.1500Vです。クロック固定でNB電圧を変化させました。NB電圧はCPU電圧と同じ区切りで変更できますが、おおざっぱに0.05V単位で動かしています。
設定 | 2900 MHz - 1.1375 V | ||||
---|---|---|---|---|---|
NB電圧 | 1.0000 V | 1.0500 V | 1.1000 V | 1.1500 V | 1.2000 V |
電力 | 56.5 / 129 W | 56.9 / 132 W | 57.5 / 135 W | 57.9 / 138 W | 58.9 / 140 W |
0.9500Vにするとデスクトップ画面でフリーズしました。
タスクスケジューラで自動起動の設定にしていたままだったので、起動途中で必ずフリーズするようになりました。Win10は起動時にキー入力を受け付けないようで、CTRLキーを押したまま起動してもK10statを無効化できません。
BIOSでFSBを200から190MHz、"CPU-NB HT Link Speed"をAUTO(2000MHz)から1000MHzに変更してみるとデスクトップが表示されたので、すぐに設定ファイルのk10stat.datを削除して復帰させる事ができました。このBIOS設定でも削除操作の直後にフリーズしたので、NBとHTの周波数を変更しても下限の電圧はあまり変わらなさそうです。
CPU-NB HT Link Speedの変更
A7GM-SのNorthBridgeには780Gが搭載されています。
チップセット | 690G | 780G | 880G |
---|---|---|---|
ソケット | AM2 | AM2+ | AM3 |
バージョン | 2.0 | 3.0 | 3.1 |
最大周波数 | 1400 MHz | 2600 MHz | 3200 MHz |
780Gの前後世代のチップセットとHyperTransportの仕様です。780GからHyperTransportのバージョンが3.0になり、それに伴い周波数は最大2600MHzとなりました。X6のHyperTransportは2000MHz動作なので780Gでもカバーできます。
デフォルトはAUTOで2000MHzですが、最大2600MHzなら多少上げてもいいだろうと試しにBIOSで変更してみるとPOSTしなくなりました。
常用設定
以上のテストを踏まえた設定です。
P-State | FID-PID | 周波数 | 設定電圧 | CPU-Z電圧 | 電力 | NB電圧 |
---|---|---|---|---|---|---|
B0 | 18-0 | 3400 MHz | 1.2375 V | 1.232 / 1.232 V | 112 W | 1.0000 V |
P0 | 13-0 | 2900 MHz | 1.1375 V | 1.232 / 1.136 V | 60.0 / 129 W | 1.0000 V |
P1 | 10-0 | 2600 MHz | 1.0750 V | 1.056 / 1.072 V | 55.4 / 118 W | 1.0000 V |
P2 | 7-0 | 2300 MHz | 1.0000 V | 0.992 / 0.992 V | 54.2 / 109 W | 1.0000 V |
P3 | 4-0 | 2000 MHz | 0.9375 V | 0.432 / 0.928 V | 51.0 / 102 W | 1.0000 V |
「-AltVid:450」を指定しています。それに伴いP3を2000MHzに引き上げ、そこからP0まで300MHz刻みにしています。NB電圧を1.0000Vにした事で各ステートの消費電力が若干下がっています。
AltVidのおかげで2000MHzでもアイドルは800MHzよりも低い消費電力になっています。ターボコアを有効にしているとP0のアイドル時の電圧がB0の値になるので、P0固定時のアイドル電力が高めになっています。P0固定で使う場合はB0を無効にした方がよいでしょう。
PsiVid
指定した電圧以下になった時に、動作中のフェーズ数を減らして省電力になります。試しにPsiVidを指定してみましたが特に変化はありませんでした。
例えばすぐ上の表の設定と対応マザーで「-PsiVid:950」と指定すれば約0.95V以下、P3になるとフェーズ数を減らした状態で動作するはずです。P3を固定して高負荷をかけると、少ないフェーズ数で高電力に対応しないといけないので危険かもしれません。「-PsiVid:900」にすればAltVidで指定している電圧の範囲内になるので、アイドルか低負荷の時にのみフェーズ数を減らすようになるはずです。
メモリの設定
A7GM-Sのメモリに関するBIOS設定で電力に影響しそうな項目を変更します。
MemClk Tristate C3/ALTVID
C3やALTVIDとあるので電力に関連していそうに見える項目です。デフォルトはDisableでした。EnableにしてAltVidが効いている状態で放置してみましたが、有効無効で目立った変化はありませんでした。
Power Down Enable
いかにも電力に影響していそうな項目です。デフォルトはEnableでした。Disableにするとアイドル状態で1.2W増えました。
"Power Down Enable"が有効な時に出てくる"Power Down Mode Channel(Channel / Chip Select)"を、デフォルトのChannelからChip Selectに変更してみると、POSTしなくなりました。
メモリの速度周りの設定
ついでに速度周りの設定も変更してみます。K10にはUngangedというランダムアクセスに強いとされるメモリアクセス方法が実装されています。デフォルト設定で従来のデュアルチャネル動作のGangedモードではなくUngangedが設定されていたりするので、K10の売りの機能の1つと言えるでしょう。
BIOS画面にはUngangedの設定の他に「Bank Interleaving」と「Channel Interleaving」というデュアルチャネル動作の設定項目があります。そのあたりを変更すると実際どうなるか分からないので、組み合わせを変えて試してみます。
タイミングの変更
使用しているDDR2-800メモリはCL6ですが、以下のようにCL5相当のタイミングに変更しています。
変更前:6-6-6-18-24(tCAS-tRCD-tRP-tRAS-tRC)
変更後:5-5-5-16-21
Ramdiskの読み書き速度とその他ベンチ
Ramdiskの作成にRamPhantomEX、読み書きはCrystalDiskMarkを使っています。ターボは無効でクロックは2.9GHz固定、テストサイズは8GBで9回行う設定です。表は有効を○、無効を×で表記しています。数字の並びはRead / Writeで速度の単位はMB/sです。BIOSの初期値は一番上のUnganged、Disable、Enableです。BIOSでインターリーブを両方無効にしていても、CPU-Zの表示はDualでUnganged/Gangedでした。
M = DCT Unganged Mode(Always:Unganged / Auto:Ganged)
B = Bank Interleaving(Auto / Disable)
C = Channel Interleaving(Enable / Disable)
PCM / 3DM = PCMark 7 / 3DMark 11
M | B | C | Seq Q32 | 4k Q32 | Seq | 4k | PCM / 3DM |
---|---|---|---|---|---|---|---|
Un | × | ○ | 2002 / 2522 | 58.76 / 63.43 | 2564 / 3201 | 59.50 / 58.18 | 2852 / 2256 |
○ | × | 2031 / 2696 | 59.03 / 64.65 | 2620 / 3346 | 59.76 / 58.90 | 2879 / 2253 | |
○ | ○ | 2020 / 2681 | 58.92 / 62.50 | 2570 / 3183 | 59.85 / 58.04 | 2859 / 2261 | |
× | × | 2003 / 2485 | 58.95 / 64.19 | 2604 / 3270 | 59.75 / 58.38 | 2868 / 2259 | |
Ga | × | ○ | 1839 / 2199 | 60.12 / 63.45 | 2674 / 3251 | 61.44 / 59.13 | 2874 / 2199 |
○ | × | 1810 / 2378 | 61.14 / 66.44 | 2700 / 3308 | 61.91 / 61.11 | 2855 / 2252 | |
○ | ○ | 1814 / 2325 | 57.69 / 63.52 | 2616 / 3177 | 58.31 / 56.63 | 2847 / 2251 | |
× | × | 1802 / 2191 | 57.36 / 62.63 | 2549 / 3185 | 58.37 / 56.09 | 2822 / 2243 |
微妙な差ですが、どちらのモードでもBank InterleavingだけをAutoにするとよさそうに見えます。