スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
総合案内当ブログについて
Windowsの目次Linuxの目次Linuxの目次2・ ・自作PC関連の目次Web技術関連の目次
全記事一覧情報サイト新着RSS一覧

Sponsored Link

k10railgunでLinuxでもPhenomII低電圧化

以前、こちらの記事のコメント欄でご紹介いただきましたK10railgunなるものを試してみました。
暑い!そこでUndervolting!!PHC on Ubuntu(番外Intel編)

作者さんの記事&DLは↓
k10railgun-0.801.1 alpha版

前にちょっと見て、オプションの多さと内容が理解不能なところが多くて、ちょっとためらってたんですが、電圧だげなら超簡単。まぁ、K10StatやらPowernowdをある程度いじったことある方ならすぐ入れるかなと。

以下、実行環境Debisn sidx64 Kernelは2.6.32-5。
GAMA78GPM-UD2H 720BE エリクサDDR2 1Gx4 
で、とりあえず電圧いじっただけ。FreqはLinux上ではまぁ、どうでもいいんだけど、クロック変化のタイミングとかはもうちょい詰めてみてもいいかもとか思ってますが。

とりあえずDLして展開、まずは実行。
$ chmod +x k10railgun.py
# ./k10railgun.py
No /dev/cpu/*/msr. Please modprobe msr

怒られたw
# modprobe msr
# ./k10railgun.py
---- CPU/System Information --------------------------------------------------
M/B(BIOS) / BaseClk :GA-MA78GPM-UD2H(F4) / 200.00MHz
CPU Name / Cores/S :AMD Phenom(tm) II X3 720 Processor / 3Cores/Socket
CPUID _ExFM_BaseFM-S:00100F42 Revision BR-C2
Flags :HwC1EDi/SmiC1EDi//C5Di/AVimp/SVI/BE
---- Freq./Pstate Management --------- ---- Power Management ----------------
MaxFreq./Pstates:7900MHz/ 3 VDD Renge mV :max 1550-min 0
CPB Src/Count :Di/0 PSI_L :Di / 1550mV>=VDD ON
VSSlamTime/P0-Pm:200us/tns / 500mV AltVid vss :Di 0us
AltVid Start/VDD:1550mV / 1125mV
[Default]F4x1[F3:E0] Register |[CurrentB]MSRC00100[68:64] Register
Freq Ratio FIDh VDD VIDh Nb NbVh | Freq Ratio FIDh VDD VIDh Nb NbVh
PS MHz /DID mV /IddA VDD /DID | MHz /DID mV /IddA VDD /DID
0: 2800 14.00 0c/0 1325 12/55 1150 20/0 | 2800 14.00 0c/0 1325 12/55 1200 1c/0
1: 2100 10.50 05/0 1225 1a/49 1150 20/0 | 2100 10.50 05/0 1225 1a/49 1200 1c/0
2: 1600 8.00 00/0 1125 22/46 1150 20/0 | 1600 8.00 00/0 1125 22/46 1200 1c/0
3: 800 4.00 00/1 1025 2a/16 1150 20/0 | 800 4.00 00/1 1025 2a/16 1200 1c/0
CPU0 CPU1 CPU2
[CoFreq MHz] 800 2800 800
[CoVDD mV ] 1325 1325 1325

おっけー。この下の方、左側がデフォルト、右側がこれから書き換える、または書き換えた内容、っつーことらしい。

[Default]F4x1[F3:E0] Register
 起動時のP-Stateテーブル。-rでリセットする場合はここからコピーしてくる。
 CPBのCPUの場合順番がばらばらだが,-rの場合はFreq降順にソートしてから書き込
む。
[CurrentB]MSRC00100[68:64] Register
 カレント,もしくはMSRに書き込む前の状態

[See the changes]Do not write to MSR.
 書き込もうとしている状態の表示。

[CurrentA]MSRC00100[68:64] After
 書き込み後に再度PStateレジスタを読みパースした物。



さて、それでは。
うちの場合はVistaの方のK10Statでそれなりに設定詰めたので、その辺りを狙っていけばいい。
せっかくデュアルプレーンのMBになったことだしK10Statを少し攻めてみようか
-ClkCtrl:1 -LoadPState -StayOnTray -rt:1
P0 3000 1.2500 1.1750
P1 2100 1.0750 1.1750 80% 60%
P2 1600 0.9500 1.1500 70% 50%
P3 800 0.7750 1.1500 60% 40%
up300 down500
この辺りを目指すことにする。
というわけで。

--vddオプションで電圧指定。+-ってのはいまいちよく分からなかったので、数値を直接指定する。
左からP0~P4

# ./k10railgun.py --vdd=1250,1175,975,800
---- CPU/System Information --------------------------------------------------
M/B(BIOS) / BaseClk :GA-MA78GPM-UD2H(F4) / 200.00MHz
CPU Name / Cores/S :AMD Phenom(tm) II X3 720 Processor / 3Cores/Socket
CPUID _ExFM_BaseFM-S:00100F42 Revision BR-C2
Flags :HwC1EDi/SmiC1EDi//C5Di/AVimp/SVI/BE
[VDD] changed.
---- Freq./Pstate Management --------- ---- Power Management ----------------
MaxFreq./Pstates:7900MHz/ 3 VDD Renge mV :max 1550-min 0
CPB Src/Count :Di/0 PSI_L :Di / 1550mV>=VDD ON
VSSlamTime/P0-Pm:200us/tns / 500mV AltVid vss :Di 0us
AltVid Start/VDD:1550mV / 1125mV
[CurrentB]MSRC00100[68:64] Register |[See the changes]Do not write to MSR.
Freq Ratio FIDh VDD VIDh Nb NbVh | Freq Ratio FIDh VDD VIDh Nb NbVh
PS MHz /DID mV /IddA VDD /DID | MHz /DID mV /IddA VDD /DID
0: 2800 14.00 0c/0 1325 12/55 1200 1c/0 | 2800 14.00 0c/0 1250 18/55 1200 1c/0
1: 2100 10.50 05/0 1225 1a/49 1200 1c/0 | 2100 10.50 05/0 1175 1e/49 1200 1c/0
2: 1600 8.00 00/0 1125 22/46 1200 1c/0 | 1600 8.00 00/0 975 2e/46 1200 1c/0
3: 800 4.00 00/1 1025 2a/16 1200 1c/0 | 800 4.00 00/1 800 3c/16 1200 1c/0
CPU0 CPU1 CPU2
[CoFreq MHz] 800 800 2800
[CoVDD mV ] 1325 1325 1325

これで書きこめば2800Mhz 1200mv 2100Mhz 1175mv 1600Mhz 975mv 800Mhz 800mvになるはず。
# ./k10railgun.py --vdd=1250,1175,975,800 -w

なんということだ。いきなりブラックアウトして強制再起動。しかも電源入れ直すまで起動しなかった。
よくよく考えたらLinux動かすときのBIOS設定で全体に-1.125mvしてたんだ。何考えてんだ俺w
GAMA78GPM-UD2HならBIOSでCnQ効かせたまま低電圧化できるじゃん・・・
これね。

というわけで計算しなおす。まぁ、BIOSのはステップ毎制御ができてなくて、結局上のほうが安定して動くようにしか設定できなかったので、特にP3P4を詰めればいい。
# ./k10railgun.py --vdd=1300,1200,1025,925
---- CPU/System Information --------------------------------------------------
M/B(BIOS) / BaseClk :GA-MA78GPM-UD2H(F4) / 200.00MHz
CPU Name / Cores/S :AMD Phenom(tm) II X3 720 Processor / 3Cores/Socket
CPUID _ExFM_BaseFM-S:00100F42 Revision BR-C2
Flags :HwC1EDi/SmiC1EDi//C5Di/AVimp/SVI/BE
[VDD] changed.
---- Freq./Pstate Management --------- ---- Power Management ----------------
MaxFreq./Pstates:7900MHz/ 3 VDD Renge mV :max 1550-min 0
CPB Src/Count :Di/0 PSI_L :Di / 1550mV>=VDD ON
VSSlamTime/P0-Pm:200us/tns / 500mV AltVid vss :Di 0us
AltVid Start/VDD:1550mV / 1125mV
[CurrentB]MSRC00100[68:64] Register |[See the changes]Do not write to MSR.
Freq Ratio FIDh VDD VIDh Nb NbVh | Freq Ratio FIDh VDD VIDh Nb NbVh
PS MHz /DID mV /IddA VDD /DID | MHz /DID mV /IddA VDD /DID
0: 2800 14.00 0c/0 1325 12/55 1200 1c/0 | 2800 14.00 0c/0 1300 14/55 1200 1c/0
1: 2100 10.50 05/0 1225 1a/49 1200 1c/0 | 2100 10.50 05/0 1200 1c/49 1200 1c/0
2: 1600 8.00 00/0 1125 22/46 1200 1c/0 | 1600 8.00 00/0 1025 2a/46 1200 1c/0
3: 800 4.00 00/1 1025 2a/16 1200 1c/0 | 800 4.00 00/1 925 32/16 1200 1c/0
CPU0 CPU1 CPU2
[CoFreq MHz] 800 2800 800
[CoVDD mV ] 1325 1325 1325

ふむ。こんなものかな?-1.125すれば1175mv 1075mv 900mv 800mv と、大体K10statと同じようなレベルになる。
まぁ、プログラム的に誤差がある可能性もあるし、MBの表示やsensorsの表示も絶対的に信頼するのはちと危険なので、微妙にマージンはとってある。
ちなみにこれ、初めてこういうことやる方はかなり慎重にいったほうがいいトコ。

確認したら書きこむ。
# ./k10railgun.py --vdd=1300,1200,1025,925 -w
---- CPU/System Information --------------------------------------------------
M/B(BIOS) / BaseClk :GA-MA78GPM-UD2H(F4) / 200.00MHz
CPU Name / Cores/S :AMD Phenom(tm) II X3 720 Processor / 3Cores/Socket
CPUID _ExFM_BaseFM-S:00100F42 Revision BR-C2
Flags :HwC1EDi/SmiC1EDi//C5Di/AVimp/SVI/BE
[VDD] changed.
[MSR] Pstate Registar Change.
[MSR] Write Default P0 -> Current P0((BE TRICK step 1/2)
[KernelModule] Reload Powenow-k8
[MSR] Pstate Registar Change.(TRICK step 2/2)
---- Freq./Pstate Management --------- ---- Power Management ----------------
MaxFreq./Pstates:7900MHz/ 3 VDD Renge mV :max 1550-min 0
CPB Src/Count :Di/0 PSI_L :Di / 1550mV>=VDD ON
VSSlamTime/P0-Pm:200us/tns / 500mV AltVid vss :Di 0us
AltVid Start/VDD:1550mV / 1125mV
[CurrentB]MSRC00100[68:64] Register |[CurrentA]MSRC00100[68:64] After
Freq Ratio FIDh VDD VIDh Nb NbVh | Freq Ratio FIDh VDD VIDh Nb NbVh
PS MHz /DID mV /IddA VDD /DID | MHz /DID mV /IddA VDD /DID
0: 2800 14.00 0c/0 1325 12/55 1200 1c/0 | 2800 14.00 0c/0 1300 14/55 1200 1c/0
1: 2100 10.50 05/0 1225 1a/49 1200 1c/0 | 2100 10.50 05/0 1200 1c/49 1200 1c/0
2: 1600 8.00 00/0 1125 22/46 1200 1c/0 | 1600 8.00 00/0 1025 2a/46 1200 1c/0
3: 800 4.00 00/1 1025 2a/16 1200 1c/0 | 800 4.00 00/1 925 32/16 1200 1c/0
CPU0 CPU1 CPU2
[CoFreq MHz] 2800 800 2800
[CoVDD mV ] 1300 1300 1300
AutoSave: __autosave.conf

おっけー。今度はばっちり。
~$ sensors
it8718-isa-0228
Adapter: ISA adapter
in0: +1.17 V (min = +0.00 V, max = +4.08 V)
in1: +1.94 V (min = +0.00 V, max = +4.08 V)
in2: +3.41 V (min = +0.00 V, max = +4.08 V)
in3: +3.09 V (min = +0.00 V, max = +4.08 V)
in4: +3.07 V (min = +0.00 V, max = +4.08 V)
in5: +2.14 V (min = +0.00 V, max = +4.08 V)
in6: +3.10 V (min = +0.00 V, max = +4.08 V)
in7: +1.58 V (min = +0.00 V, max = +4.08 V)
Vbat: +3.10 V
fan1: 3013 RPM (min = 0 RPM)
fan2: 0 RPM (min = 0 RPM)
fan3: 0 RPM (min = 0 RPM)
fan4: 0 RPM (min = 0 RPM)
temp1: +47.0°C (low = +127.0°C, high = +127.0°C) sensor = thermistor
temp2: +40.0°C (low = +127.0°C, high = +127.0°C) sensor = thermal diode
temp3: +44.0°C (low = +127.0°C, high = +127.0°C) sensor = thermistor
cpu0_vid: +1.050 V

これたぶん、2800のとき。
で、800のときってーと
$ sensors
it8718-isa-0228
Adapter: ISA adapter
in0: +0.78 V (min = +0.00 V, max = +4.08 V)
in1: +1.94 V (min = +0.00 V, max = +4.08 V)
in2: +3.41 V (min = +0.00 V, max = +4.08 V)
in3: +3.09 V (min = +0.00 V, max = +4.08 V)
in4: +3.07 V (min = +0.00 V, max = +4.08 V)
in5: +2.14 V (min = +0.00 V, max = +4.08 V)
in6: +3.10 V (min = +0.00 V, max = +4.08 V)
in7: +2.32 V (min = +0.00 V, max = +4.08 V)
Vbat: +3.10 V
fan1: 3110 RPM (min = 0 RPM)
fan2: 0 RPM (min = 0 RPM)
fan3: 0 RPM (min = 0 RPM)
fan4: 0 RPM (min = 0 RPM)
temp1: +47.0°C (low = +127.0°C, high = +127.0°C) sensor = thermistor
temp2: +40.0°C (low = +127.0°C, high = +127.0°C) sensor = thermal diode
temp3: +44.0°C (low = +127.0°C, high = +127.0°C) sensor = thermistor
cpu0_vid: +1.050 V

よしよし。きっちり落ちてるようだ。
Screenshot-Sensors - System InformationHardInfo。
まぁ、Senseorいちいち叩くのもめんどいので、これで監視しながらやってた。

今のところこれで問題なさそう。ストレステストなんかはやってないけど、もしかしたら激しくクロック上下するような場面でまたちと不安定になることもあるかもしれないけど。
せっかくBEだからOCもこれ、試してみようかなぁ?

関連記事
K10Statのコマンドラインオプション追加方法
せっかくデュアルプレーンのMBになったことだしK10Statを少し攻めてみようか
GAMA78GPM-UD2HならBIOSでCnQ効かせたまま低電圧化できるじゃん・・・
悔しかったので720BEで久々にOC攻めてみた on Ubuntu 9.10
UbuntuでC'nQ電圧制御 今度こそ成功!!
UbuntuでC'nQ電圧制御 今度こそ成功!!の続き(カーネルコンパイルし直し+設定)
powernowdの設定変更 on Ubuntu9.04
もっと省電力&サクサクにしたいー!!PHCとPowernowdの設定について
LinuxでPhenomのPStateを読み出すhw_pstate_ctrl.py
サーバ機のUbuntu10.04低電圧化(Athlon64x2)
暑い!そこでUndervolting!!PHC on Ubuntu(番外Intel編)
AMDOverdriveCtrlでLinuxでもAMD OverDrive
LinuxでCPU低電圧化の大本命!PHCがいよいよPhenomIIにも対応し始めた様子
Debian squeeze にPHC導入してAthlon64x2 低電圧化
Linux PHC使ってDell Studio 1737の低電圧化(LMDE)
関連記事
総合案内当ブログについて
Windowsの目次Linuxの目次Linuxの目次2・ ・自作PC関連の目次Web技術関連の目次
全記事一覧情報サイト新着RSS一覧

Sponsored Link

コメントの投稿

管理者にだけ表示を許可する
ブログ内検索

カスタム検索

フリーエリア

クリックで救える命がある。

レンタルサーバー

さくらのマネージドサーバ
さくらインターネットのVPS
ConoHaのVPS
WebARENA VPSクラウド
99円レンタルサーバー
【CloudCore VPS】
GMOクラウドのレンタルサーバー
転送量無制限 ABLENET
@WAPPYレンタルサーバー
SPPDレンタルサーバー

カテゴリー+月別アーカイブ

 

アクセスカウンター

現在の閲覧者数:

プロフィール

Author:tmin
PCヲタ。ライト2ちゃんねら。
スロット好きのギャンブラー。(元
むしろ人生がギャンブルだが目下のところ負けっぱなし。
座右の銘は「結果オーライ」。故に基本適当。
トラブルもまた楽しみのひとつ

コメント、トラバ、相互リンク歓迎。お気軽にどうぞ。
当ブログについて
Twitterでこっちとあっちの更新情報流すことにしてみます。
http://twitter.com/t_min
Project Mikunchu♪Wikiできました。
Mikunchu200x40.png


上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。