K10stat

----------------------------------------------------------
Tv
----------------------------------------------------------
K10 Family vZbT̓g⓮dɊ֘A
CPUWX^̏Ԃ\EύX\tgEFAłB

----------------------------------------------------------

----------------------------------------------------------
̃\tgEFÁAgCPU//}U[{[h
j댯܂B
҂͂̃\tgEFAɓ삷邱Ƃؕۏ؂A
ڊԐڂ킸gpɂĔ邢Ȃ鑹Qɑ΂Ă
ӔC͕܂B
댯\FŎȐӔCŎgpĂB

----------------------------------------------------------

----------------------------------------------------------
Family 10h processor𓋍ڂVOvZbT}V
ł̂ݓ삵܂B
WindowsVistał͊ǗҌŎsKv܂B
lbg[NhCu̎sł͕KvȃhCot@C
ǂݍ߂Ȃꍇ邽߁A[JhCuŎsĂ
B

----------------------------------------------------------
gp@
----------------------------------------------------------
[P-State]^u P-State0`P-State7eWX^ҏW邱Ƃ
CPU̓dgύXB
P0ɍłptH[}XAP7ɍłႢptH[}XwB
(ex. P0 1.3500/3000MHz, P7 0.800V/1000MHz)
płP-State͎̐gpĂCPUBIOSɂĈقȂB
[P-State]^uŐݒ肵l[Kp]{^NbNɔfB

[P-State]^uŐݒ肵lK10statIPCċN
TXyhɂMSRZbg܂ŗLB
ݒgƓdCnQ̓ɂfB

R}hCIvV"-ClkCtrl:1"w肷K10stat
CPUׂɉP-StatesB
[U[ICnQ~Ȃ,CnQsĉғ
----------------------------------------------------------
EBhET
----------------------------------------------------------
[Info]^u
@MaxCoreFreq:CPURANbN̍őg
@MaxNBFreq:NBg̍őg
@Voltage:d̐ݒ\͈
@PowerPlane:CPURANB̓dn
@@@@Single:CPURANB͋ʂ̓dŋ쓮
@@@@@@@ NB̐ݒdCPURAɂKp
	  Dual:CPURANB͕ʁX̓dŋ쓮
	Triple:CPURANB͕ʁX̓dŋ쓮
@@@@@@@ CPURA(VDD0/VDD1)Ɨ(for Fam11h)
@VID Interface:dC^[tFCX̎
	   SVI:VAC^[tFCXɂd
@@@@@@@@@(1.5500V`0.0125V)
	   PVI:pC^[tFCXɂd
@@@@@@@@@(1.550V`0.3750V)
@*Frequency:eRANB̓g
@*Voltage:eRANB̋쓮d
@*CPU load:eRA̕
@*TSCfreq:^CX^vJE^[̎g
@*TctlTmp:x@\p̉x(Iȉxł͂Ȃ)
@ListBox:eCPUWX^̏

@(*:\eXV鍀)

[P-State]^u
@ProfileFҏWEKpprofileI
  Rename{^:vt@CύXGfBbg{bNX\
@@@@@@@ύXɂ̃vt@C[Kp]ƕۑ
@Default{^:AvP[VNP-State
@@@@@@@@WX^eprofileɔf
  P0-P4WI{^:ҏWP-StateWX^I
@g\{^:eRAP-StateI
@@@@@@@@@@(̍ڂProfileɕۑȂ)
  Auto{^FK10statNbNRg[sĂꍇ,
@@@@@@̃{^ĂRÂ,P-State
@@@@@@ɉĕϓ
@up%/down%FP-StateJڂ镉臒lw
@up(ms)/down(ms):P-StateJڂԊuw
@@臒lƑJڊԊuK10statNbNRg[s
@@@ꍇ̐ݒlł, CnQ̓ύX̂ł͂Ȃ

[NB]^u
  DownCore:sgpɂRA̐w(F3x190)

ʒm̈ACR
  NbNR[@\̗LERA̐ݒd\
@@NbNRg[L͖FA͈ÐFACR
@@(0.85Vȉ)AF(0.95Vȉ)A(1.05Vȉ)A
@@(1.15Vȉ)A(1.25Vȉ)A(1.35Vȉ)A(Over1.35V)
@@vlł͂ȂB
@PopupTipł͊eRA̓gƓd\
@ACRNbN͈̓ȉ̒ʂ
@ENbNF_CAO\
@EENbNFj[\
@ENbNFNbNR[̗LE؂ւ
 
----------------------------------------------------------
e헪/p
----------------------------------------------------------
MSR:Model Specific Register(Processor internal register)
NB:NorthBridge(Processor internal Block,L3Cache/XBAR/MCT/etc.)
MCT:Memory Controller
CnQ:Cool'n'Quiet
ID:IDentifier
FID:Frequecy ID
DID:Devisor ID
VID:Voltage ID
COF:Current Operating Frequency
HT:Hyper Transport
HTCLK: HT Clock
MEMCLK: Memory Clock
TLB:Tlansration Lookaside Buffer
VS:Voltage Stabilization
BKDG:BIOS and Kernel Developper Guide
PVI:Parallel VID Interface
SVI:Serial VID Interface
TSC:TimeStamp Counter
M/B:Mother Board
XBAR:Crossbar(Processor internal command packet switch)
VRM:Voltage Regulator Module
TctlTmp:Thermal control temperature
@@@  (#TctlTmp is non-physical temerature)
PSI:Power Status Indicator
P-State:performance state
Pmin:Lowest 'P-State' (ex.P3)
Pmax:Highest 'P-State' (ex.P0)
P0-P7:P-State0 ` P-State7
ms:milli second
us:micro second
ns:nano second
----------------------------------------------------------
R}hCIvV
----------------------------------------------------------
 -LoadPState@@@profile1P-StateݒMSRɏ
 -LoadProfile:[1-5]
 -lp:[1-5]@@@@profile[1-5]P-StateݒMSRɏ
@@@@@@@@@(ex. -loadprofile:5)
 -NoWindow
 -nw@@@@@@@_CAO\Ȃ
@@@@@@@@  StayOnTrayw肳ĂȂꍇ,R}
                  hCIvV̎wêݎs
@@@@@@@@@I

 -ClkCtrl:[0-4]@ NbNRg[̕@w
@@@@@@@@@0:Rg[Ȃ
@@@@@@@@@1:eRAƗĐ
@@@@@@@@@2:eRA܂Ƃ߂Đ(ő啉ׂ̃RA)
@@@@@@@@@3:eRA܂Ƃ߂Đ(eRA̕וϒl)
@@@@@@@@@4:eRA܂Ƃ߂Đ(ŏׂ̃RA)
@@@@@@@@@ftHgl0
 -UpPercent:[0-100][,0-100]...
 -up:[0-100][,0-100]...
@@@@@@@@@P-StateύXCPU臒lP0-P1,
@@@@@@@@@P1-P2,...̏Ɏw
@@@@@@@@@lꍇ͐lȗ\
@@@@@@@@@(ex. -UpPercent:60,,20)
@@@@@@@@@UpTimeŎw肷Ԋu̕ϕׂ
@@@@@@@@@臒l荂P0֑J
@@@@@@@@@ftHgl60%
 -DownPercent:[0-100][,0-100]...
 -dp:[0-100][,0-100]...
@@@@@@@@@P-StateύXCPU臒lP0-P1,
@@@@@@@@@P1-P2,...̏Ɏw
@@@@@@@@@lꍇ͐lȗ\
@@@@@@@@@(ex. -DownPercent:30)
@@@@@@@@@DownTimeŎw肷Ԋu̕ϕׂ
@@@@@@@@@臒lႢPmin֑J
@@@@@@@@@ftHgl20%
 -UpTime:[0-100]
 -ut:[0-10]
@@@@@@@@@P0ւP-StateJڊԊu100msPʂŎw
@@@@@@@@@(ex. -UpTime:5)
@@@@@@@@@0w肷P0֑Jڂ͍sȂ
@@@@@@@@@ftHgl5
 -DownTime:[0-100]
 -dt:[0-100]
@@@@@@@@@Pminւ̑JڊԊu100msPʂŎw
@@@@@@@@@(ex. -DownTime:50)
@@@@@@@@@0w肷Pminւ̑Jڂ͍sȂ
@@@@@@@@@ftHgl20

 -MaxPState:[1-7]
 -mp:[1-7]
@@@@@@@@  P-StateőlύX
@@@@@@@@@ݐݒ肳Ăl菬l͖
@@@@@@@@@P-StateCnQł͎gȂ
@@@@@@@@@10h Family͏4, 11h Family͏7
 -RefreshTime:[1-60]
 -rt:[1-60]
@@@@@@@@@Infoʂƒʒm̈XVԊubŎw
@@@@@@@@@l͈͊ȌꍇXVȂ
@@@@@@@@@ftHgl5b

 -VSTime:[0-1000]
@@@@@@@@@P-StateݒύXVSSlamTimeusŎw
@@@@@@@@@0:ύXȂ
@@@@@@@@@1-999:wlȏŐݒ\Ȓl
@@@@@@@@@1000:BKDGlݒ
@@@@@@@@@see also BKDG[F3xD8:VSSlamTime]
 -Pctrl:[0-7][,0-7]...
@@@@@@@@@NP-StateCore0,Core1,...̏Ɏw
@@@@@@@@@MaxPState傫l͖

 -StayOnTray@@@_CAOK10statIȂ
@@@@@@@@@ʒm̈̃ACRExitI邱ƂŏI
 -EnableTLBCache  TLBLbVLɂ
 -disableTLBCache TLBLbV𖳌ɂ

@啶͋ʂȂ. @G[̌x\͂Ȃ.
@臒lƑJڊԊuK10statNbNRg[s
@@ꍇ̐ݒlł, CnQ̓ύX̂ł͂Ȃ.

----------------------------------------------------------
R}hC̎
----------------------------------------------------------
P0-P4܂ł̒lݒ肳Ăprofile1𗘗p

@.profile1ǂݍ݃NbNRg[CnQC
   ݒK10stat͏I
     -loadprofile:1 -nowindow
  .Infoʂ̎XVsȂ
@ TXyhAP-StateWX^Đݒ肷邽߂
   K10statIȂ
     -lp:1 -rt:0
  ._CAO\K10stat͏풓
     -lp:1 -nw -StayOnTray

  .K10statɃNbNRg[s킹.eRAƗɐ
   MaxPstate4ɑ
   @ -lp:1 -mp:4 -clkctrl:1
  .臒lUp70% Down20%
      -lp:1 -mp:4 -up:70 -dp:20 -clkctrl:1
  .eRÃNbN낦(臒l͍ő啉ׂ̃RA)
   @ -lp:1 -mp:4 -up:70 -dp:20 -clkctrl:2
  .eRÃNbN낦(臒l͊eRA̕ϒl)
   @ -lp:1 -mp:4 -up:70 -dp:20 -clkctrl:3
  .JڊԊuUp 200ms, Down 1000ms
   @ -lp:1 -mp:4 -dt:2 -dt:10 -up:70 -dp:20 -clkctrl:3

@.P0-P3܂ł̑JڂCnQCP3->P4ւ̑Jڂ̂K10stats
    -lp:1 -mp:4 -ut:0 -dt:50 -dp:0,,,30 -clkctrl:1
  .Core2P0,Core3P1ɐݒ肵Core0,1ׂ͕ɉđJ
    -lp:1 -mp:4 -Pctrl:9,9,0,3 -ut:5 -dt:20 -clkctrl:1
@.P0<-P1<-P2͕70%𒴂, P2<-P3<-P4͕20%ŏ㏸
   P0->P1->P2͕25%,P2->P3P3->P4͊e20%,10%ŉ~
    -lp:1 -mp:4 -up:70,,20 -dp:25,,20,10 -ut:2 -dt:10 -clkctrl:1
@.P1-P3ԂUp60%(500ms)Down20%(2000ms)őJ.P0,P4͕sgp
    -lp:1 -mp:4 -up:100,60,,0 -dp:100,20,20,0 -ut:5 -dt:20 -clkctrl:1

----------------------------------------------------------
̑
----------------------------------------------------------
- NControlL[Ă,ݒ肹ɏI
- BKDGM/B̐قƂǃ`FbNĂȂ, 
@ݒύXۂ͍אS̒ӂKv
- BKDGɂƓg(COF)FIDɂ͎̐񂪂
  .CoreCOF>=400MHz,(CoreCOF/NB COF)<=2,(NB COF/CoreCOF)<=32
@.NB COF>=600MHz, NB COF >= 2* MEMCLK, NB COF >= HTCLK
@.FID <= 47
  .SVIvbgtH[ł́uNB DIDlP-Statev
@ NB VIDlłȂ΂ȂȂ
@.P-StateNB DID1ɐݒ肷ꍇ,Ⴂ
@@ptH[}X̑SP-StateNB DID1łȂ΂ȂȂ
@@- NB DID(NB COF/2)>=HTCLKłꍇ̂ݕ\
@@,lύXƈȌPCZbg܂CPU
@@gύXłȂȂ邩Ȃ
  .Family 11h processorł(MAXFreq/100-8)>=FID>(MAXFreq/200-8).
   FID͎ύXłȂ
   (see RevisionGuide for Fam11h. 311)
- dݒɊւFX
@.M/BɂĂ͓d0.8Vȉɐݒ肷Ƌ쓮d
@ 1.5Vɒˏオ邱Ƃ
@ PowerPlane Single, PVIƕ\M/B͗v
  .K10statŕ\Eݒ肷d,CPUVRMɎwl
@ ʓIVRMCPU̎wlɓƎ̃ItZbg
@ d𐶐. BIOS̓dݒ[+-0.xxxV]ƕ\
@ ڂ̓ItZbglwꍇ
@.SuperI/ÕZT[`bvVRMdv
@ Ă. vlK10statݒlɂȂ邱Ƃ͋H
- FID,DID,Frequencẙ֌W
@Family 10h processorF100*(FID+16)/(2^DID)=Frequency
@Family 11h processorF100*(FID+8)/(2^DID)=Frequency
- K10stat\eg,TSCfreq,HTrefNbN
@200MHzœ삵ĂOŎZol
@TSCfreq̓^C}[𗘗pvl
- DownCoreɂ
@.DownCoreWarmReset(\tgEFAIȍċN)ɓKp
@.DownRACore3Core2Core1̏ŌŒ
@ Core0͏ɉғ
@.xDownRAColdReset܂ŕȂ
@.DownCoreݒ͑₩ɍċN𐄏
@.RAύXColdReset܂ŃX[v(S1/S3)
@.RAĂȂWarmResetċNȂBIOS
- K10statғɃTXyhEx~Ԃ̕A,
@[P-State]^u̓R}hC̎w
@ŌɓKpvt@CIɍēKp
- P̂ł͓\ȃNbNP-Stateɐݒ肷
  삵Ȃꍇ,"-VSTime:500"ŉP邩Ȃ
- R}hCŎw肳ꂽ臒lƑJڊԊu,
@"-loadprofile:"œǂݍރvt@CD悳
@̌テ[U[IɃvt@CύXꍇ,
@vt@C臒lEJڊԊuKp
- vt@C͍ő30(30bytes)
@̂󔒂̏ꍇA͕ҏWɃvt@C؂ւ
@ꍇAύX̓LZ
- eWX^eڍׂɂĂFamily 10h Processor BKDGy
@Family 11h Processor BKDGQƁB


----------------------------------------------------------
ӎ
----------------------------------------------------------
OpenLibSys.orgWinRing0Cu𗘗pĂ܂B
WinRing0.dll, WinRing0.sys, WinRing0x64.sys̈ɊւĂ
WinRing0_CopyrightfBNg̃t@CɋLڂꂽ쌠
\ɏ]ĂB



----------------------------------------------------------
History
----------------------------------------------------------
0.01 eXg
0.02 
0.03 VIDXV
0.05 P-ControlǉAStepModełVIDϓ+-1ɐASVIP-StateNBVIDύX𐧌A1.35V
0.06 SVIP-state NbVIDA1.35
0.07 P-state̕ۑEǂݍ݋@\ǉA1.35p~ACOFVIDWX^́uP-StatevlXVɕύX
0.08 P-stateǂݍݎ̏ύXAVista UACpmanifestǉ
0.10 P-stateǂݍݎ̏ɕύXAPcurrentP0loadPmaxPcurrentƑJ
0.11 TLBCacheLE(MSRC0010015[3], MSRC0011023[1]ύX)IvVǉAR}hĈ
0.20 PropertySheetAP-Stateݒp̃^uǉALoad/Save{^p~ProfileɕύX
@@ReadOnly[hp~AStepModeVIDϓp~(+-64ɕύX)ACoreDIDl0-2ɐ
0.21 ʂȂP-State}VX^bN邽NbDidύX{^폜
0.22 TLBCacheLEcore3ɓKpĂȂoOCA309΍ǉ
0.23 current^uCore/NB VoltageɁAݓKpĂd\悤ύX
0.24 COFVIDWX^FID/DIDύXAP-StateStatusWX^ւ̉eoȂ悤C
@@ -loadprofile:̎wlP-State^uprofileɔf
0.25 298/309{^ǉ
0.30 PciConfigSpacẽANZX@I/OPort(IOCF8/CFC)oRɕύXADownCoreeXg
0.31 ꂩ̃R{{bNX𑀍삵ȂP-State^uFID/DIDݒ肳ȂoOC
@@ DowncoreUIύXACoreDIDl0-2p~APowerStateControlRegister(F3x[84:80])eXg
0.32 Windows2000downcore𐳏ɈȂoOCACoreDIDl(0-2)p~
@@298/309{^\RevisionB2,BAgp݂̂ɕύX
...
...
0.70 P-StateWX^ύXHWCR[TscFreqSel]Zbg(TSCP0gƓ)
     P-StateWX^ύXBKDGlɏ]VSSlamTime(F3xD8)ݒ
     FIDől0x2F(47)ݒrbg0x3F(63)ɕύX
@@TXyh̕AAK10statғĂP-stateWX^𕜋A
@@NControlL[ŉݒ肹ɏI
@@(startupɓo^ċNłȂȂꍇ̉p)
@@ׂɉP-StateJڂ@\ǉ
    (̂ƂUIFȂ̂ŃR}hCK{)
@@R}hCIvVɏȗ`ǉ
@@[Info]^uǉ, ][current]^u[debug]^uɕύX
    Family11hΉH
@@[NB]^uPowerStateControl폜
@@tHgύX
    IOCF8/CFCɗ͎gȂ悤ɕύX
0.71 [Info]^uRegNameexNbNVistaŌxȂ悤
@@@AdHocȑ΍(L[{[hg肷Ɖ͖)
    eRA܂Ƃ߂Đ䂷郂[hǉ(eRANbNێ)
    R}hCIvVClkCtrlǉ
0.72 X2/X3gpɈꕔ݂ȂRÃ{^\Ă̂C
     MaxNBMul/MaxCoreMul̕\oOC.{\Lg\LɕύX
     Family11hŋNȂ悤ɕύX
0.73 CPUׂ擾łȂƂoOC
     11hpɐFXC...F3x8C->MSRC001001F,etc.
0.80 ʒm̈ACRƃj[ǉ
0.81 P-StateWX^ύXHWCR[TscFreqSel]Zbg~
0.90 [P-State]^u臒lƑJڊԊu̐ݒ荀ڒǉ
0.91 profileKp[auto]IĂRAp-stateςĂoOC
     profileύX{^ǉ