2016年7月28日木曜日

デジタル車輪の再発明

AMD A8 を省電力化する前回の続き.

やはり省電力を突き詰めるには Qool'n' Quiet の機能じゃダメだ,ということで K10Stat のような自発的 PSTATE コントロールソフトを作ろうと思った.
で,レジスタ設定などを参考にしようと TurionPowerControl (tpc) のソースコードを眺めていたら,その機能はすでに入っているじゃないですか.

てことは,tpc を Kaveri (A8-7670K のアーキテクチャ名) 対応すればコレでいいんじゃね,と思った.
ここで大変参考になるのは kim さんの blog で,この方も自分と全く同じことをされたようで,何を修正すればいいかを事細かに記事にされているので,自分もそれをたどっていくだけでめでたく Kaveri 版完成ヽ(´ー`)ノ
てか周回遅れでしかも車輪の再発明している自分って一体… orz
上記 blog 見てもらえればわかるけど,主に直したのは VID 関係の bit 幅 7→8,コア数が半分になる問題修正,VisualStudio でコンパイルできるように構文修正したくらい.
てことで tpc -l の結果なんぞを.
d:\DDS\tpc\x64\Debug>tpc -l
TurionPowerControl 0.44-rc2 ((none))
Turion Power States Optimization and Control - by blackshard

Main processor is Family 15h (Kaveri) Processor
        Family: 0xf             Model: 0x8              Stepping: 0x1
        Extended Family: 0x15   Extended Model: 0x38
        Package Type: 0x1       BrandId: 0x0
Machine has 1 nodes
Processor has 4 cores
Processor has 8 p-states
Processor has 2 boost states

Power States table:
-- Node: 0 Core 0
core 0 pstate 0 (pb0) - En:1 VID:48 FID:23 DID:0.00 Freq:3900 VCore:1.2500
core 0 pstate 1 (pb1) - En:1 VID:56 FID:21 DID:0.00 Freq:3700 VCore:1.2000
core 0 pstate 2 (p0) - En:1 VID:63 FID:20 DID:0.00 Freq:3600 VCore:1.1563
core 0 pstate 3 (p1) - En:1 VID:71 FID:18 DID:0.00 Freq:3400 VCore:1.1063
core 0 pstate 4 (p2) - En:1 VID:83 FID:15 DID:0.00 Freq:3100 VCore:1.0313
core 0 pstate 5 (p3) - En:1 VID:90 FID:12 DID:0.00 Freq:2800 VCore:0.9875
core 0 pstate 6 (p4) - En:1 VID:116 FID:0 DID:0.00 Freq:1600 VCore:0.8250
core 0 pstate 7 (p5) - En:1 VID:120 FID:0 DID:1.00 Freq:800 VCore:0.8000
-- Node: 0 Core 1
core 1 pstate 0 (pb0) - En:1 VID:48 FID:23 DID:0.00 Freq:3900 VCore:1.2500
core 1 pstate 1 (pb1) - En:1 VID:56 FID:21 DID:0.00 Freq:3700 VCore:1.2000
core 1 pstate 2 (p0) - En:1 VID:63 FID:20 DID:0.00 Freq:3600 VCore:1.1563
core 1 pstate 3 (p1) - En:1 VID:71 FID:18 DID:0.00 Freq:3400 VCore:1.1063
core 1 pstate 4 (p2) - En:1 VID:83 FID:15 DID:0.00 Freq:3100 VCore:1.0313
core 1 pstate 5 (p3) - En:1 VID:90 FID:12 DID:0.00 Freq:2800 VCore:0.9875
core 1 pstate 6 (p4) - En:1 VID:116 FID:0 DID:0.00 Freq:1600 VCore:0.8250
core 1 pstate 7 (p5) - En:1 VID:120 FID:0 DID:1.00 Freq:800 VCore:0.8000
-- Node: 0 Core 2
core 2 pstate 0 (pb0) - En:1 VID:48 FID:23 DID:0.00 Freq:3900 VCore:1.2500
core 2 pstate 1 (pb1) - En:1 VID:56 FID:21 DID:0.00 Freq:3700 VCore:1.2000
core 2 pstate 2 (p0) - En:1 VID:63 FID:20 DID:0.00 Freq:3600 VCore:1.1563
core 2 pstate 3 (p1) - En:1 VID:71 FID:18 DID:0.00 Freq:3400 VCore:1.1063
core 2 pstate 4 (p2) - En:1 VID:83 FID:15 DID:0.00 Freq:3100 VCore:1.0313
core 2 pstate 5 (p3) - En:1 VID:90 FID:12 DID:0.00 Freq:2800 VCore:0.9875
core 2 pstate 6 (p4) - En:1 VID:116 FID:0 DID:0.00 Freq:1600 VCore:0.8250
core 2 pstate 7 (p5) - En:1 VID:120 FID:0 DID:1.00 Freq:800 VCore:0.8000
-- Node: 0 Core 3
core 3 pstate 0 (pb0) - En:1 VID:48 FID:23 DID:0.00 Freq:3900 VCore:1.2500
core 3 pstate 1 (pb1) - En:1 VID:56 FID:21 DID:0.00 Freq:3700 VCore:1.2000
core 3 pstate 2 (p0) - En:1 VID:63 FID:20 DID:0.00 Freq:3600 VCore:1.1563
core 3 pstate 3 (p1) - En:1 VID:71 FID:18 DID:0.00 Freq:3400 VCore:1.1063
core 3 pstate 4 (p2) - En:1 VID:83 FID:15 DID:0.00 Freq:3100 VCore:1.0313
core 3 pstate 5 (p3) - En:1 VID:90 FID:12 DID:0.00 Freq:2800 VCore:0.9875
core 3 pstate 6 (p4) - En:1 VID:116 FID:0 DID:0.00 Freq:1600 VCore:0.8250
core 3 pstate 7 (p5) - En:1 VID:120 FID:0 DID:1.00 Freq:800 VCore:0.8000

 --- Node 0:
Processor Maximum PState: 7
Processor Startup PState: 6
Processor Maximum Operating Frequency: No maximum defined. Unlocked multiplier.

Minimum allowed VID: 255 (-0.0437V) - Maximum allowed VID 0 (1.5500V)
Processor AltVID: 0 (1.5500V)

Done.

0 件のコメント:

コメントを投稿