Windows Native Processor Performance Control

  • Upload
    zaca111

  • View
    233

  • Download
    0

Embed Size (px)

Citation preview

  • 8/11/2019 Windows Native Processor Performance Control

    1/22

    Windows Platform Design NotesDesigning Hardware for the Microsoft Windows Family of Operating Systems

    Windows Native Processor PerformanceControl

    Abstract: Microsoft Windows XP and the Windows Server 2003 family include built in!rocessor !erformance control to ta"e advanta#e of micro!rocessors that utili$e !erformancestates to o!erate the !rocessor more efficiently when it is not fully utili$ed% &his !a!er outlines thenew '()S im!lementations needed to e*!ose this ca!ability in Windows% &his !a!er also details

    the functionality and !olicies em!loyed by Windows for !rocessor !erformance control%

    &he current version of this !a!er is available on the web athtt!+,,www%microsoft%com,hwdev,tech,onnow,ProcPerfCtrl%as!

    Version 1.1a No em!er 1"# "$$"

    Contents(ntroduction%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%3Windows Processor Performance Control%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%3

    &he Processor -river .rchitecture%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%3Processor Performance Control Policy%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%/

    -ynamic &hrottlin# Policy -etails%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%Performance State Chan#es )utside the Sco!e of Policy%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%Parameters to P state !olicy%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%1

    Processor Performance State &ransition atency (ssues%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%Parameters to C State Policy%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%4

    C State Control 5e#istry 6ey%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%7(m!lementin# Processor Performance Control for Windows%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%80

    Su!!ort usin# .CP( 2%0 Processor )b9ects%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%80 .CP( 2%0 Processor )b9ects -esi#n :uidelines for Windows%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%80

    Su!!ortin# Systems with (ntel S!eedSte! and ;nhanced S!eedSte! &echnolo#y%%%%%%%%%%% 82Su!!ortin# (ntel S!eedSte! &echnolo#y usin# .CP( 2%0 )b9ects%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%82Su!!ortin# ;nhanced (ntel S!eedSte! &echnolo#y%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%83Su!!ortin# the (ntel S!eedSte! e#acy .!!let (nterface%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%84

    Su!!ortin# Systems with .M- PowerNow< &echnolo#y%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%87

    (m!lementin# for the 61,2=%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%87(m!lementin# for the 6 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%87Su!!ortin# Systems with &ransmeta on#5un &echnolo#y%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%20

    >-esi#ned for Windows XP> o#o Pro#ram 5e?uirements%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%28Call &o .ction%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%285eferences%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%28

    .!!endi* .%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%28Processor -river Ca!abilities Method @AP-CB -efinition%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%28

    http://www.microsoft.com/hwdev/tech/onnow/ProcPerfCtrl.asphttp://www.microsoft.com/hwdev/tech/onnow/ProcPerfCtrl.asp
  • 8/11/2019 Windows Native Processor Performance Control

    2/22

    Windows Native Processor Performance Control 2

    Disclaimer% Microsoft Cor!oration may have !atents or !endin# !atent a!!lications trademar"s co!yri#hts or otherintellectual !ro!erty ri#hts coverin# sub9ect matter in this document% &he furnishin# of this document does not #ive youany license to the !atents trademar"s co!yri#hts or other intellectual !ro!erty ri#hts e*ce!t as e*!ressly !rovided inany written license a#reement from Microsoft Cor!oration%

    &his is a !reliminary document and may be chan#ed substantially !rior to final !ublic release% &his document is !rovidedfor informational !ur!oses only and Microsoft ma"es no warranties either e*!ress or im!lied in this document%(nformation in this document includin# D5 and other (nternet Web site references is sub9ect to chan#e without notice%&he entire ris" of the use or the results of the use of this document remains with the user% Dnless otherwise noted thee*am!le com!anies or#ani$ations !roducts !eo!le and events de!icted herein are fictitious and no association withany real com!any or#ani$ation !roduct !erson or event is intended or should be inferred% Com!lyin# with all a!!licableco!yri#ht laws is the res!onsibility of the user% Without limitin# the ri#hts under co!yri#ht no !art of this document maybe re!roduced stored in or in troduced into a retrieval system or transmitted in any form or by any means @electronicmechanical !hotoco!yin# recordin# or otherwiseB or for any !ur!ose without the e*!ress written !ermission ofMicrosoft Cor!oration%

    Portions of this document s!ecify software that is still in develo!ment% Some of the information in this documentationmay be inaccurate or may not be an accurate re!resentation of the functionality of final documentation or software%Microsoft assumes no res!onsibility for any dama#es that mi#ht occur directly or indirectly from these inaccuracies%

    Microsoft does not ma"e any re!resentation or warranty re#ardin# s!ecifications in this document or any !roduct or itemdevelo!ed based on these s!ecifications% &his document is !rovided to you on an .S (S basis% Microsoft disclaims alle*!ress and im!lied warranties includin# but not limited to the im!lied warranties or merchantability fitness for a

    !articular !ur!ose and freedom from infrin#ement% Without limitin# the #enerality of the fore#oin# Microsoft does notma"e any warranty of any "ind that any item develo!ed based on these s!ecifications or any !ortion of a s!ecificationwill not infrin#e any co!yri#ht !atent trade secret or other intellectual !ro!erty ri#ht of any !erson or entity in anycountry% (t is your res!onsibility to see" licenses for such intellectual !ro!erty ri#hts where a!!ro!riate% Microsoft shall notbe liable for any dama#es of any "ind arisin# out of or in connection with the use of these s!ecifications includin#without limitation any direct indirect incidental conse?uential @includin# any lost !rofitsB !unitive or s!ecial dama#eswhether or not Microsoft has been advised of such dama#es% % Some states do not allow the e*clusion or limitation ofliability or conse?uential or incidental dama#esE the above limitation may not a!!ly to you%

    &he information contained in this document re!resents the current view of Microsoft Cor!oration on the issues discussedas of the date of !ublication% 'ecause Microsoft must res!ond to chan#in# mar"et conditions it should not be inter!retedto be a commitment on the !art of Microsoft and Microsoft cannot #uarantee the accuracy of any information !resented%&his document is for informational !ur!oses only% M(C5)S)F& M.6;S N) W.55.N&(;S ;XP5;SS )5 (MP (;- (N&G(S -)CDM;N&%

    Microsoft Windows and Windows N& are trademar"s or re#istered trademar"s of Microsoft Cor!oration in the DnitedStates and,or other countries% )ther !roduct and com!any names mentioned herein may be the trademar"s of theirres!ective owners%

    H 2008 2002 Microsoft Cor!oration% .ll ri#hts reserved%

    2001- 2002 Microsoft Corporation. All rights reserved.

  • 8/11/2019 Windows Native Processor Performance Control

    3/22

    Windows Native Processor Performance Control 3

    (ntroductionGistorically !rocessors for mobile PC systems ran at lower volta#es than !rocessors for des"to!PCsE conse?uently !rocessors for mobile PC systems also had to run at slower cloc" s!eeds%&his was not usually an issue because mobile PCs have relatively slow dis" and memory

    subsystems% Mobile PC !rocessors are usually idle when most business a!!lications are bein#used%

    &he situation is different if hi#h bandwidth (,) subsystems are im!lemented or if the user is doin#somethin# that has hi#h CPD utili$ation and low (,) bandwidth re?uirements% &his can be thecase with many #ames and also with -I- !laybac"% Many #ames will try to use all availableCPD% &he -I- !laybac" case is different because most soft -I- !layers will only use about

    00MG$ of the !rocessor ca!ability%

    Dnderstandin# these limitations in a mar"et environment where Js!eedK is an im!ortant salesfactor CPD manufacturers have introduced !rocessors that em!loy !erformance states% &heseCPDs !rovide hi#h volta#e,hi#h fre?uency states for use when !rocessor utili$ation is hi#h andlow volta#e,low fre?uency states to conserve battery life% &his technolo#y #ives );Ms the abilityto desi#n a system that can com!ete both in the s!eed and battery life benchmar" tests%

    Windows XP and the Windows Server 2003 family include native su!!ort for control of !rocessor!erformance states% &his !a!er e*!lains the im!lementation details needed to use Windowsnative su!!ort and outlines the !olicies that Windows uses for !rocessor !erformance control%&he !a!er covers im!lementation of #eneric .CP( 2%0 su!!ort and s!ecific details for (ntelS!eedSte! ;nhanced (ntel S!eedSte! .M- PowerNow< and &ransmeta on#5un !rocessor!erformance control technolo#ies%

    Windows Processor Performance Control&he Native su!!ort for !rocessor !erformance control in Windows consists of two com!onents+the "ernel !ower !olicy mana#er and a !rocessor driver% &he "ernel !ower mana#er isres!onsible for mana#in# !rocessor !erformance control !olicy which is the set of rules used todetermine the a!!ro!riate !erformance state to be used at any #iven time% &he "ernel !owermana#erLs !rocessor !erformance control !olicy al#orithms ma"e decisions based on severalin!uts includin#+

    Current !ower !olicy and !rocessor dynamic throttlin# al#orithm

    Geuristics such as !rocessor utili$ation current battery level use of !rocessor idle statesand inrush current events

    &hermal conditions and events

    Current !latform ca!abilities as conveyed by system firmware

    System standby and resume transitions

    Processor !erformance control is im!lemented usin# a !rocessor driver architecture% &he "ernel!ower mana#er calls into the !rocessor driver to invo"e chan#es on the "ernelLs behalf% &he!rocessor driver does not ma"e decisions about when to chan#e !erformance states e*ce!t asnoted later in this !a!er%

    2001- 2002 Microsoft Corporation. All rights reserved.

  • 8/11/2019 Windows Native Processor Performance Control

    4/22

    Windows Native Processor Performance Control 4

    &he Processor -river .rchitectureWindows !rovides su!!ort for different manufacturerLs !rocessors by abstractin# s!ecificim!lementation details in a !rocessor driver that !rovides a unified interface to the "ernel !owermana#er% &he !rocessor driver architecture allows Windows to ta"e full advanta#e of individualtechnolo#ies from different CPD vendors and allow for su!!ort of future advances in !rocessors

    by !rovidin# an easy u!date !ath for new functionalities and technolo#ies via develo!ment of anew !rocessor driver%

    Windows su!!orts !rocessor !erformance control described by the Processor )b9ects defined inthe .dvanced Confi#uration and Power (nterface @.CP(B s!ecification version 2%0 and le#acyinterfaces defined by (ntel .M- and &ransmeta% (m!lementation details for !roducts from eachCPD vendor are !rovided later in this !a!er%

    .ll !rocessor drivers are based on and statically lin"ed a#ainst a common library proclib.lib,which forms the basis of each driver and re!resents the ma9ority of the functionality% 5outiness!ecific to each !rocessor model reside in the driver for that !rocessor family and may add to thefunctionality common to all !rocessor drivers%

    Windows !rovides a #eneric !rocessor driver processr.sys which is ca!able of su!!ortin#!rocessors whose !rocessor !erformance control interface is described usin# the .CP( 2%0!rocessor !erformance control ob9ects where the APC& ob9ect is defined usin# and (,) addresss!ace%

    .dditional drivers s!ecific to !rocessor families may also be develo!ed% &hese !rocessors!ecific drivers may contain code to su!!ort le#acy interfaces or have "nowled#e aboutadvanced features and !erformance afforded by a !articular vendorLs !rocessor !erformancecontrol technolo#ies% &his includes !rocessor families whose !rocessor !erformance controlinterface is im!lemented usin# Functional Fi*ed Gardware as described in the .CP( 2%0s!ecification%

    Processor Performance Control Policy(n Windows the !rocessor !erformance control !olicy is lin"ed to the Power Scheme settin# inthe Windows control !anel !ower o!tions a!!let% No additional D( is re?uired to set the !olicy%

    Windows defines four control !olicies "nown as processor dynamic throttling policies for!rocessor !erformance control+

    &onstant .lways runs at lowest !erformance state

    'dapti e Performance state chosen based on CPD demand

    Degrade Starts at lowest !erformance state then uses linear !erformance reduction@sto! cloc" throttlin#B as battery dischar#es

    None .lways runs at the hi#hest available !erformance state

    NOTE: &he term sto! cloc" throttlin# refers to linear cloc" reduction as described by the-D& AW(-&G and -D& A)FFS;& values in the F.-& and defined in the .CP( 2%0s!ecification sections /% %3% %8 and 4%8%8%

    &he followin# table shows the relationshi! between Power Policy Schemes and !rocessordynamic throttlin# !olicies%

    Power Sc eme AC Power !C Power

    Gome,)ffice -es" None .da!tive

    2001- 2002 Microsoft Corporation. All rights reserved.

  • 8/11/2019 Windows Native Processor Performance Control

    5/22

    Windows Native Processor Performance Control "

    Power Sc eme AC Power !C Power

    Portable, a!to! .da!tive .da!tive

    Presentation .da!tive -e#rade

    .lways )n None None

    Minimal Power Mana#ement .da!tive .da!tive

    Ma* 'attery .da!tive -e#rade

    !#namic T rottlin$ Polic# !etails

    &he !rocessor dynamic throttlin# !olicies used by Windows are e*!lained in more detail below%

    NOTE: .ll !olicies will always res!ect the hi#hest available !erformance state currently availableas re!orted in the APPC method by system firmware when usin# the .CP( 2%0 interface%

    None

    &his !olicy always runs the !rocessor at the hi#hest !erformance state currently available% Whenusin# this !olicy the only reason that Windows will lower the !erformance of the !rocessor is inres!onse to a thermal event with the e*ce!tion of the cases noted later in this !a!er in thesection titled Performance State C an$es O%tside t e Sco&e of Polic# %

    .da!tive

    &his !olicy tries to match the !erformance of the !rocessor to current demand% .da!tive will useall available volta#e,fre?uency @!erformanceB states% .da!tive will lower the !erformance of the!rocessor to the lowest volta#e,fre?uency state available whenever there is not enou#h demandon the !rocessor to 9ustify the use of a hi#her state% .da!tive will not utili$e linear sto! cloc"throttle states e*ce!t in res!onse to thermal events%

    Constant

    &his !olicy always runs the !rocessor in the lowest available volta#e,fre?uency @!erformanceBstate% Constant will not utili$e linear sto! cloc" throttle states e*ce!t in res!onse to thermalevents%

    -e#rade

    &he -e#rade !olicy always runs the !rocessor in the lowest available volta#e,fre?uency@!erformanceB state% .dditionally -e#rade will utili$e linear sto! cloc" throttlin# under thefollowin# conditions+

    When the battery remainin# ca!acity dro!s below a certain threshold @confi#urable in there#istryB .N-

    &he system is not usin# the C3 idle state effectivelyE that is the system is too busy tos!end a certain len#th of time @confi#urable in the re#istryB in the C3 state%

    &he -e#rade !olicy will never throttle below a minimum level also confi#urable in the re#istry%See the followin# section for details%

    2001- 2002 Microsoft Corporation. All rights reserved.

  • 8/11/2019 Windows Native Processor Performance Control

    6/22

    Windows Native Processor Performance Control '

    Performance State C an$es O%tside t e Sco&e of Polic#

    &here are several instances where either the "ernel !ower !olicy mana#er or !rocessor driver willre?uest a !erformance state transition outside the sco!e of the !rocessor dynamic throttlin#!olicies% &hese include+

    (n a thermal event where the tem!erature has crossed a !assive tri! !oint @APSIB the"ernel thermal throttlin# code will successively use any available lower volta#e,fre?uencystates to cool the system% (f the thermal condition !ersists and all available !erformancestates have been e*hausted the "ernel will then use linear sto! cloc" throttlin# states%

    When enterin# any system slee! state @.CP( S* stateB the !rocessor driver will first savethe current !erformance state and then set the !rocessor to the lowest volta#e,fre?uencystate available !rior to enterin# the system shutdown handler%

    When resumin# from any system slee! state the "ernel will tem!orarily set the !rocessor to the hi#hest available !erformance state to ensure fast resume !erformance% )nce thesystem has awa"ened the !erformance state saved !rior to enterin# slee! is restoredand the current !rocessor !olicy then ta"es effect%

    When the )S is startin# a device that indicates to the )S that transitionin# the device tothe wor"in# state causes a si#nificant start u! in rush current load the "ernel !ower!olicy mana#er will tem!orarily transition the !rocessor to the lowest volta#e,fre?uencystate available until the device has been started% (n rush current seriali$ationre?uirements are conveyed to the )S via the !resence of theA(5C ob9ect under thesco!e of the device in the .CP( name s!ace or if the -)AP)W;5A(N5DSG fla# is set inthe deviceLs driver device ob9ect%

    Parameters to P(state &olic#

    Several !arameters to Windows !rocessor !erformance state controls are confi#urable viare#istry "eys% &hese "eys are !rovided with the intent that );Ms and system desi#ners maytune the !erformance of Windows !rocessor !ower mana#ement features to best suit s!ecific

    !latform desi#ns and allow ad9ustment to hel! achieve ma*imum battery life and reali$e the bestsystem !erformance%

    NOTE: &hese !arameters are statically ad9ustableE that is they are read once durin# the "ernelinitiali$ation code% .d9ustments made to these values will not ta"e !lace until the ne*t systemreboot%

    &he followin# re#istry "eys are found in+

    KEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Throttle

    )e$istr# *e# Name !efa%lt +al%e !escri&tion

    Perf&ime-elta Gardware&ransition atency &his value influences the fre?uency withwhich the )S will re evaluate a!!ro!riate!erformance state in the idle loo!%

    2001- 2002 Microsoft Corporation. All rights reserved.

  • 8/11/2019 Windows Native Processor Performance Control

    7/22

    Windows Native Processor Performance Control ,

    )e$istr# *e# Name !efa%lt +al%e !escri&tion

    PerfCritical&ime-elta 300000 @300msB .n a!!lication may use so much of theCPDLs time that the )S will never enter theidle loo!% (n order to ma"e sure that we willincrease the !erformance of the CPD in this

    situation the !rocessor !ower !olicymana#er sets a timer that will interru!t thea!!lication% &his value influences the timethat must !ass before the timer will fire%

    Perf(ncreasePercentModifier 20 @ B &his value scales the threshold at which the)S increases the !erformance of the!rocessor%

    Perf(ncrease.bsoluteModifier 8 @ B &his value offsets the threshold at which the)S increases the !erformance of the!rocessor%

    Perf-ecreasePercentModifier 30 @ B &his value scales the threshold at which the)S decreases the !erformance of the!rocessor%

    Perf-ecrease.bsoluteModifier 8 @ B &his value offsets the threshold at which the)S decreases the !erformance of the!rocessor%

    Perf(ncrease&imeIalue 80000 @80msB &his value influences the amount of time thatmay !ass before the )S will increase!erformance% &his time is also influenced bythe !rocessorLs transition latency%

    Perf(ncreaseMinimum&ime 8 0000 @8 0msB &his value sets a minimum amount of timethat must !ass before any increase in!erformance will be considered%

    Perf-ecrease&imeIalue 80000 @80msB &his value influences the amount of time thatmay !ass before the )S will decrease!erformance% &his time is also influenced bythe !rocessorLs transition latency%

    Perf-ecreaseMinimum&ime 00000 @ 00msB &his value sets a minimum amount of timethat must !ass before any decrease in!erformance will be considered%

    Perf-e#rade&hrottleMinCa!acity 0 @ B &his value sets a minimum !erformance levelthat will be used for any reason other than athermal condition%

    2001- 2002 Microsoft Corporation. All rights reserved.

  • 8/11/2019 Windows Native Processor Performance Control

    8/22

    Windows Native Processor Performance Control -

    )e$istr# *e# Name !efa%lt +al%e !escri&tion

    PerfMa*C3Fre?uency 0 @ B &his value is the threshold at which the )Swill sto! usin# sto! cloc" throttlin# and 9ustuse idle statesE i%e% if the machine is usin#the -e#rade !olicy and the battery is low the

    )S will throttle the CPD unless the machineis s!endin# at least this amount of its time inthe .CP( C3 state% (f the machine iss!endin# at least this amount of time in C3then no throttlin# will be done unless there isa thermal condition%

    Processor Performance State &ransition atency (ssuesSince the launch of Windows there have been several !roblem si#htin#s lin"ed to !rocessor!erformance state transition latencies% &y!ically !roblems can arise with DS' audio !laybac"video ca!ture or streamin# and soft audio or soft modem im!lementations% &he !roblems occurdue to e*cessive latency in !erformance state transitions% Since access to main system memorymust be tem!orarily interru!ted durin# the transition to a new !erformance state -M. transfersmay suffer from buffer underrun conditions causin# bus master a#ents to be starved for data%;*cessive overhead incurred in le#acy SMM transition routines has been identified ascontributin# to this condition% Microsoft encoura#es system desi#ners to ta"e full advanta#e ofthe hi#h !erformance transition characteristics afforded by the MS5 interface available in manymobile !rocessors and wor" with CPD Iendors to reduce !erformance state transition latenciesin system firmware%

    Parameters to C State Policy(n Windows all of the !arameters for C state !olicy are stored as !art of the data included in

    !ower !olicy schemes% ;ach !ower scheme has values for use on both .C @utility !owerB and-C @batteryB% When the user chooses a !ower scheme in the Power )!tions control !anela!!let new C state !olicies are loaded alon# with the rest of the settin#s included in the !owerscheme%

    .ll C state !arameters are dynamically ad9ustable in Windows via the .P( e*!osed by powrprof.dll % .ny chan#es made to these !olicy !arameters will ta"e effect immediately withoutre?uirin# a reboot%

    &hese !arameters are stored in an array of three P5)C;SS)5AP)W;5AP) (C A(NF) datastructures% &his array of structures is a member of the P5)C;SS)5AP)W;5AP) (Cstructure% &here is one structure for each of the three .CP( !rocessor slee! states defined in

    .CP( 8%0b @C8 C2 and C3B%

    NOTE: For details on usin# the !ower .P( refer to the Power Mana#ement section of thePlatform S-6 available at+

    htt!+,,msdn%microsoft%com,library,default%as!Ourl ,library,enus,!ower,base,!owerAmana#ement%as!

    2001- 2002 Microsoft Corporation. All rights reserved.

    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/power/base/power_management.asphttp://msdn.microsoft.com/library/default.asp?url=/library/en-us/power/base/power_management.asphttp://msdn.microsoft.com/library/default.asp?url=/library/en-us/power/base/power_management.asphttp://msdn.microsoft.com/library/default.asp?url=/library/en-us/power/base/power_management.asp
  • 8/11/2019 Windows Native Processor Performance Control

    9/22

    Windows Native Processor Performance Control .

    Polic# +al%e !escri&tion

    &imeChec" -efines the time in microseconds that must e*!irebefore !romotion or demotion is considered%

    -emote imit -efines the minimum amount of time in

    microseconds that must be s!ent in the idle loo! toavoid demotion%

    Promote imit -efines the time in microseconds that must bee*ceeded to cause !romotion to a dee!er idle state%

    -emotePercent &his value e*!ressed as a !ercenta#e scales thethreshold at which the !ower !olicy mana#erdecreases the !erformance of the !rocessor%

    PromotePercent &his value e*!ressed as a !ercenta#e scales thethreshold at which the !ower !olicy mana#erincreases the !erformance of the !rocessor%

    .llow-emotion When set allows the "ernel !ower !olicy mana#er todemote from the current state%

    .llowPromotion When set allows the "ernel !ower !olicy mana#er to!romote from the current state%

    C(State Control )e$istr# *e#

    (n order to better utili$e the !ower savin#s ty!ically offered by the C3 state Microsoft Windowsem!loys a more a##ressive C3 entry al#orithm than did Windows 2000% &his more a##ressiveuse of C3 has caused stability issues with a very small subset of la!to! com!uters% .dditionallythere are some systems that may have "nown !latform level !roblems when attem!tin# to use C

    states%

    &o facilitate control of the use of C states Windows !rovides the followin# re#istry "ey%

    NOTE: &his re#istry "ey is statically ad9ustableE that is it is read once durin# the !rocessor driver initiali$ation code% .d9ustments made to this value will not ta"e !lace until the ne*t systemreboot%

    NOTE: &his "ey does not a!!ly to C states described usin# the .CP( 2%0 ACS& ob9ect%

    &he C state re#istry "ey is+

    KEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Processor\CStateFlags

    )e$istr# *e# Name /it +al%e !escri&tion

    CStateFla#s+5;:A-W)5- 'it 0 Not Dsed

    'it 8 When set C2 is disabled

    'it 2 When set C3 is disabled

    'it 3 When set enables Windows 2000 C3 behavior

    2001- 2002 Microsoft Corporation. All rights reserved.

  • 8/11/2019 Windows Native Processor Performance Control

    10/22

    Windows Native Processor Performance Control 01

    Dsin# ACS& to -escribe C States

    .CP( 2%0 introduced the ACS& ob9ect as an alternative and e*!ansion to the C state descri!tionmethods in .CP( 8%0b% For details refer to the .CP( 2%0 s!ecification section 4%3%2% WindowsXP and the Windows Server 2003 family both su!!ort the .CP( 2%0 ACS& ob9ect% When usin#states mar"ed in the ACS& as havin# the same CS&.&;A& P; Windows will always choose the

    state indicatin# the lowest !ower consum!tion%

    '()S Gandoff to )!eratin# System Control

    (t may be necessary or desirable to have the '()S control C state transitions immediately afterthe system boots or in the absence of an o!eratin# system ca!able of controllin# C states% )ncean o!eratin# system ca!able of controllin# C state transitions has loaded the '()S mustrelin?uish control of C states to the )S% &o facilitate this e*chan#e of control between systemfirmware and the )S .CP( 2%0 defines the CS&ACN& field in byte offset 7 of the Fi*ed .CP(-escri!tion &able @F.-&B%

    NOTE: 'yte offset 7 was reserved in .CP( 8%0b%

    -urin# the !rocessor driver initiali$ation !hase if CS&ACN& is non $ero the !rocessor driver will

    write the value !resent in the CS&ACN& field to the SM(ACM- !ort to assume control of C statetransitions from the '()S%

    &his is the only modification needed to the F.-& to su!!ort C state control%

    NOTE: &he F.-& revision field should not be set e?ual 3 because it is not an .CP( 2%0 tableE itis still an .CP( 8%0b table with a reserved field used%

    (m!lementin# Processor Performance Control forWindows&he followin# sections outline the im!lementation details re?uired in system firmware to !ro!erlysu!!ort and utili$e native !rocessor !erformance controls in Windows and the WindowsServer 2003 family%

    Su!!ort usin# .CP( 2%0 Processor )b9ects(n addition to su!!ortin# .CP( 8%0b Windows utili$es some of the !rocessor ob9ects defined insection 4%3%3 of the .CP( 2%0 s!ecification% &he ob9ects were defined in .CP( 2%0 to allow!rocessor !erformance control switchin# by the o!eratin# system without additional '()Ssu!!ort% &he .CP( 2%0 !rocessor ob9ects su!!orted by Windows include+

    APSS Q Performance Su!!orted States

    APC& Q Performance Control

    APPC Q Performance Present Ca!abilities ACS& Q C States

    &he AP&C ob9ect is not su!!orted in Windows or the Windows Server 2003 family%

    NOTE: &he Windows and Windows Server 2003 o!eratin# systems do not su!!ort all of the .CP(2%0 s!ecification%

    2001- 2002 Microsoft Corporation. All rights reserved.

  • 8/11/2019 Windows Native Processor Performance Control

    11/22

    Windows Native Processor Performance Control 00

    ACP 2 1 Processor Ob ects !esi$n 5%idelines for Windows

    When addin# the .CP( 2%0 !rocessor ob9ects to your .CP( 8%0b '()S !lace !rocessor ob9ects inthe !rocessor ob9ectLs ob9ect list under the RAP5 sco!e% &he ob9ect list should include+

    APC&

    APSS

    APPC

    ACS& @o!tionalB

    )ther than location use the ob9ects e*actly as defined in the .CP( 2%0 s!ecification%

    '()S Gandoff to )!eratin# System Control

    (t may be necessary or desirable to have the '()S control !erformance state transitionsimmediately after the system boots or in the absence of a !erformance state control awareo!eratin# system% )nce an o!eratin# system ca!able of controllin# !rocessor !erformance statetransitions has loaded the '()S must relin?uish control of !rocessor !erformance states to the)S% &o facilitate this e*chan#e of control between system firmware and the )S .CP( 2%0 definesthe PS&.&;ACN& field in byte offset of the Fi*ed .CP( -escri!tion &able @F.-&B%

    NOTE: 'yte offset was reserved in .CP( 8%0b%

    -urin# the !rocessor driver initiali$ation !hase if PS&.&;ACN& is non $ero the !rocessor driverwill write the value !resent in the PS&.&;ACN& field to the SM(ACM- !ort to assume control of!rocessor !erformance state transitions from the '()S%

    &his is the only modification needed to the F.-& to su!!ort !rocessor !erformance state control%

    NOTE: &he F.-& revision field should not be set e?ual 3 because it is not an .CP( 2%0 tableE itis still an .CP( 8%0b table with a reserved field used%

    Codin# the APC&&he APC& is defined in the .CP( 2%0 s!ecification to use the :eneric 5e#ister -escri!tor% &he

    .S macro for the :eneric 5e#ister -escri!tor is not im!lemented in any of the current Microsoft .S assemblers dictatin# that the .S code for APC& #enerate the data%

    &he followin# sam!le illustrates a APC& that returns the data in the :eneric 5e#ister -escri!torformat%

    2001- 2002 Microsoft Corporation. All rights reserved.

  • 8/11/2019 Windows Native Processor Performance Control

    12/22

    Windows Native Processor Performance Control 02

    Na e !_PCT" Pac#age !$% && Per'or ance Control O()ect*&& +esourceTe ,late !% *+egister!S-ste IO" ." /" /01$%2 && Control

    1u''er !% */0.$" && 1/34eneric +egister 5escri,tor !section 678797:%

    /0C"/" && 1;i=th" _+1>

    /" && 1?3+egister 1it O''set" _+1O /" && 163+eser@e= /01$"/"/"/"/"/"/"/" && 1:

    /" && 1?3+egister 1it O''set" _+1O /" && 163+eser@e= /019"/"/"/"/"/"/"/" && 1:

  • 8/11/2019 Windows Native Processor Performance Control

    13/22

    Windows Native Processor Performance Control 03

    NOTE: (t is hi#hly recommended to follow the (ntel '()S writer s #uide for the chi!set in thesystem when im!lementin# the SM( interface%

    ;*am!le .S for (CG based Systems

    Sco,e!\_P+% *

    Processor!CPB/" && A uni ue na e gi@en to each ,rocessor/0//" && A uni ue I5 gi@en to each ,rocessor/0;/;/" && ACPI P_1LK a==ress D ACPI1ASE ;//0/6% && ICH has a P_1LK length o' 6 (-tes7*

    Na e!_PCT" Pac#age!%*&& return a _PCT containing I&O a,,e=&& STATBS&CONT+OL registers%2

    Na e !_PSS" Pac#age!%*&& State /Pac#age!%*:?/" $$///" $?/" $//" /0.9" /0//2"

    && State ;Pac#age!%*6//" ;////" $?/" $//" /0.8" /0/;2

    2%

    Metho= !_PPC" /%*

    && This routine shoul= re'lect&& the ca,a(ilities&& o' the ,lat'or 7 I' all states can (e&& utili e=" alGa-s re,ort /

    I' !ACON%

    *+eturn!/% && All states a@aila(le2

    Else*+eturn!;% && Onl- state one a@aila(le2

    22

    2 && En= _P+

    F.-& PS&.&;ACN& Ialue

    &o allow the o!eratin# system to assume control of !erformance state transitions from the '()S!rovide the !ro!er control value in the PS&.&;ACN& field of the Fi*ed .CP( -escri!tion &[email protected]&B at byte offset % .s described in the (ntel '()S WriterLs :uide this value should be setto 40h to disable the S!eedSte! .!!let interface%

    &he F.-& revision field should not be set to 3%

    2001- 2002 Microsoft Corporation. All rights reserved.

  • 8/11/2019 Windows Native Processor Performance Control

    14/22

    Windows Native Processor Performance Control 04

    S%&&ortin$ En anced ntel S&eedSte& Tec nolo$#

    (ntel has recently announced the latest version of ;nhanced (ntel S!eedSte! &echnolo#y whichwill first be su!!orted on (ntel s ne*t #eneration mobile architecture codenamed anias %;nhanced (ntel S!eedSte! &echnolo#y will be su!!orted on Windows XP as follows+

    Windows XP build 5&M @build 2100B will su!!ort ;nhanced (ntel S!eedSte! &echnolo#yusin# the #eneric !rocessor driver processr.sys usin# a APC& with an (,) s!ace address%-ue to an eratta the gv!.sys driver can not be !ro!erly detected and installed onWindows XP 5&M%

    Windows XP SP8 will su!!ort ;nhanced (ntel S!eedSte! &echnolo#y via the !rocessordriver gv!.sys usin# a APC& with an FFG address% NOTE: gv!.sys is not included inWindows XP SP8 but will be made available to );Ms via a TF; and !laced onWindows D!date% SP8 systems that do not have the #v3%sys driver will be su!!orted by!rocessr%sys usin# a APC& with an (,) s!ace address%

    );Ms wishin# to include gv!. sys in their factory !re load ima#e on systems which use ;nhanced(ntel S!eedSte! &echnolo#y should contact their Microsoft &echnical .ccount Mana#er%

    8PO)TANT: &he gv!.sys driver will only su!!ort a APC& of ty!e 0* F @Functionally Fi*edGardwareB% &his allows the driver to invo"e !erformance state transitions usin# the ;nhanced(ntel S!eedSte! &echnolo#y MS5 interface directly ne#atin# the need for a '()S SMM handlerand avoidin# the !erformance !enalty associated with this a!!roach @see the !recedin# sectiontitled JProcessor Performance State &ransition atency (ssuesKB% No su!!ort for (,) ma!!edcontrol re#isters is !rovided%

    ;nhanced (ntel S!eedSte! &echnolo#y '()S 5e?uirements

    &o fully and seamlessly su!!ort ;nhanced (ntel S!eedSte! &echnolo#y on !latforms that may runseveral versions of the Windows o!eratin# system and still ta"e advanta#e of the fast transition!erformance offered by ;nhanced (ntel S!eedSte! &echnolo#y it is necessary for the systemfirmware to switch between !resentin# le#acy (,) ma!!ed control,status re#isters and MS5

    interfaces described usin# FFG based on the !resence of a system driver that can ta"eadvanta#e of the MS5 interface%

    &o facilitate this interface switch Microsoft has !ro!osed a new .CP( control method for inclusionin the ne*t iteration of the .CP( s!ecification% &his method AP-C or Processor -riverCa!abilities allows !latform firmware to accurately determine the !resence of a !rocessor driverthat su!!orts a s!ecific !rocessor feature set%

    Dsin# the AP-C Method

    NOTE: For a com!lete definition of AP-C refer to .!!endi* . at the end of this white !a!er%

    AP-C is #uaranteed to be evaluated by the !rocessor driver !rior to its evaluatin# any other

    !rocessor ob9ects% AP-C ta"es an ar#ument containin# one or more ca!abilities -W)5-S%;ach bit in the ca!abilities -W)5- is a fla# that is intended to re!resent a feature su!!orted bythe !rocessor driver% &hese bits are defined by the CPD manufacturer% &he !rocessor driver willset the ca!abilities -W)5- to reflect the features it su!!orts% Dsin# AP-C the system firmwarecan modify the APSS and APC& based on the !resence of a !rocessor driver that can correctlysu!!ort each interface%

    AP-C is intended to be used as follows% 'y default the '()S describes the APC& and APSSusin# (,) ma!!ed control and status re#isters% (f no !rocessor driver evaluates AP-C or the

    2001- 2002 Microsoft Corporation. All rights reserved.

  • 8/11/2019 Windows Native Processor Performance Control

    15/22

    Windows Native Processor Performance Control 0"

    '()S does not reco#ni$e the ca!abilities fla#@sB !assed in when AP-C is evaluated the '()Sta"es no additional action and !rocessor !erformance states are controlled usin# (,) ma!!edre#isters% (f the !rocessor driver !asses the correct fla#@sB into AP-C the '()S reconfi#ures the

    APC& and APSS to use Functional Fi*ed Gardware @FFGB and the driver invo"es transitionsusin# FFG%

    'y im!lementin# AP-C system desi#ners can be assured end users will always benefit fromhavin# !rocessor !erformance controls function correctly on all su!!orted versions of Windowso!eratin# systems across all u!#rade and clean install scenarios while still ta"in# full advanta#eof the #reatly enhanced transition !erformance afforded by ;nhanced (ntel S!eedSte!&echnolo#y%

    ;*am!le .S for ;nhanced (ntel S!eedSte! &echnolo#y and AP-C

    &&&& TYPE stores the t-,e o' inter'ace ,resent !I&O or FFH%7&&

    Na e!TYPE" /% && =e'ault to using I&O i' _P5C is ne@er e@aluate=

    &&&& P5C+ hol=s the e0,ecte= re@ision o' the ,rocessor =ri@er ca,a(ilit-&& structure7&&

    Na e!P5C+" ;%

    &&&& P5CM hol=s a as# that is a,,lie= to the contents o' the ,rocessor&& =ri@er ca,a(ilit- structure Ghen =eter ining Ghether FFH is su,,orte=7&&

    Na e!P5CM" /0/;% && (it / D ; 'or 4 9

    Metho=!_P5C" ;%* && && Co ,ute the si e o' the in,ut (u''er !in (-tes% an= store it && in Local/7 &&

    Store!Si eO'!Arg/%" Local/%

    && && 5eclare a local co,- o' the ,rocessor =ri@er ca,a(ilit- (u''er && an= co,- Arg/ into it7 &&

    Na e!P5C1" 1u''er!Local/% *2% Store!Arg/" P5C1%

    && && Point +E an= SI E to the 'irst an= secon= 5>O+5s in the (u''er7 && These 5>O+5s =e'ine the re@ision o' the structure an= the nu (er

    2001- 2002 Microsoft Corporation. All rights reserved.

  • 8/11/2019 Windows Native Processor Performance Control

    16/22

    Windows Native Processor Performance Control 0'

    && o' ca,a(ilities 5>O+5s" res,ecti@el-7 &&

    Create5>or=Fiel=!P5C1" /" +E % Create5>or=Fiel=!P5C1" 8" SI E%

    && && E0it i' this is an unsu,,orte= re@ision o' the ca,a(ilities && structure7 &&

    I'!LNotE ual!+E " P5C+%% * +eturn 2

    && && E0it i' the 'irst ca,a(ilities 5>O+5 isnJt ,resent7 &&

    I'!LLess!SI E" ;%% * +eturn 2

    && && Point 5AT/ at the 'irst ca,a(ilities 5>O+5 in the structure7 &&

    Create5>or=Fiel=!P5C1" ." 5AT/%

    && && I' (it / in P5CM is set in the ca,a(ilities 5>O+5" && then transition to FFH (ase= ,er'or ance control7 &&

    I'!An=!5AT/" P5CM%% * Store!;" TYPE% 22

    Metho=!_PTC%*

    I'!LE ual!TYPE" /%% * && && +eturn I&O a,,e= _PTC7 &&

    +eturn! Pac#age!% * 2%

    2001- 2002 Microsoft Corporation. All rights reserved.

  • 8/11/2019 Windows Native Processor Performance Control

    17/22

    Windows Native Processor Performance Control 0,

    2 Else * && && +eturn FFH a,,e= _PTC7 &&

    +eturn! Pac#age!% * 2% 22

    Metho=!_PSS%* I'!LE ual!TYPE" /%% * && && +eturn I&O a,,e= _PSS7 &&

    +eturn! Pac#age!% * 2% 2 Else * && && +eturn FFH a,,e= _PSS7 &&

    +eturn! Pac#age!% * 2% 22

    F.-& ;ntries

    Provide the control value in the PS&.&;ACN& field of the Fi*ed .CP( -escri!tion &able @F.-&B atbyte offset % &his non$ero value will be written for Windows XP to assume control of!erformance states% &his value should be 40h to disable the S!eedSte! .!!let interface asdescribed in the (ntel '()S WriterLs :uide%

    &he F.-& revision field should not be set to 3%

    e#acy Su!!ort and D!#rade Scenarios

    &o ensure the best end user e*!erience on all su!!orted Windows o!eratin# systems );Ms andsystem desi#ners must carefully !lan and im!lement firmware su!!ort for systems su!!ortin# thelatest ;nhanced (ntel S!eedSte! &echnolo#y% (t is im!ortant to understand the !ossible

    2001- 2002 Microsoft Corporation. All rights reserved.

  • 8/11/2019 Windows Native Processor Performance Control

    18/22

    Windows Native Processor Performance Control 0-

    ramifications and limitations involved with various desi#n a!!roaches% &o circumvent unforeseenissues and !rovide the best end user e*!erience desi#ners should be aware of the followin#facts+

    .!!lets that control !rocessor !erformance states on Windows 2000 will be removed ordisabled u!on u!#rade to Windows XP%

    Windows XP 5&M @build 2100B will not be able to install and run gv!.sys %

    Windows XP SP8 or later is ca!able of installin# and runnin# the gv!.sys driver ifac?uired by the end user from Windows D!date or when su!!lied by the );M in their)S software !reload ima#e%

    Windows XP 5&M @build 2100B can su!!ort ;nhanced (ntel S!eedSte! &echnolo#y usin#the #eneric processr.sys driver if system firmware im!lements an (,) based APC& and

    APSS% )n systems that im!lement the APC& and APSS usin# only the FFG interface!rocessor !erformance state control will not function%

    &he gv!.sys driver only su!!orts the FFG interface re!orted in the APC& and APSS% )nsystems the re!ort only the (,) ma!!ed interface with gv!.sys installed !rocessor!erformance state control will not function%

    . system runnin# Windows XP 5&M with processr.sys that is later u!#raded to WindowsXP SP8 or subse?uent versions is ca!able of runnin# the gv!.sys driver if installed andif the system firmware re!orts only the (,) ma!!ed interface !rocessor !erformancecontrol will not function%

    :ettin# Gel! with ;nhanced (ntel S!eedSte! &echnolo#y (m!lementations

    For assistance with ?uestions or issues re#ardin# details on su!!ortin# ;nhanced (ntelS!eedSte! &echnolo#y on Windows !latforms you may contact Microsoft at+

    aslhel!Umicrosoft%com

    S%&&ortin$ t e ntel S&eedSte& 9e$ac# A&&let nterfaceFor systems that were develo!ed and shi!!ed before the Windows XP release and for all//0'X based systems !erformance switchin# will be done throu#h the le#acy a!!let interface%Windows uses the (N&8 G,.X ;740h interface defined in the JMobile Pentium ((( ProcessorFeaturin# (ntel S!eedSte! &echnolo#y '()S Writer s :uideK to obtain the Command -ata Ialueand the Command Port .ddress%

    m&ortant: Windows uses the same !erformance state switchin# mechanisms throu#h the SM(!ort as the (ntel S!eedSte! a!!let to do !erformance switchin#% For systems that im!lement therecommendations set forth in the JMobile Pentium ((( Processor Featurin# (ntel S!eedSte!&echnolo#y '()S Writer s :uide K the Command -ata Ialue should e?ual 42h @the .!!let CM-valueB% &he Command Port .ddress should e?ual '2h% Native Windows !rocessor !erformance

    control will not automatically be enabled on systems that use the le#acy a!!let interface unlessthe re#istry modifications e*!lained in the ne*t section are im!lemented% &he re#istry entries willbe re?uired for all systems usin# the le#acy a!!let interface that carry the J-esi#ned for WindowsXPK lo#o% Dnder the lo#o re?uirements systems must use only the native Windows !rocessor!erformance control% &he (ntel S!eedSte! .!!let cannot be used on systems shi!!in# Windows%

    ;nablin# Native Performance Control

    For systems that use the le#acy a!!let interface !erformance control must be enabled throu#h are#istry "ey% &he re#istry "ey used enable the le#acy (ntel S!eedSte! a!!let interface is+

    2001- 2002 Microsoft Corporation. All rights reserved.

    mailto:[email protected]:[email protected]
  • 8/11/2019 Windows Native Processor Performance Control

    19/22

    Windows Native Processor Performance Control 0.

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Ser@ices\P9\Para eters\Hac#Flags

    Hac#Flags =e'initions< 1it / < Bse S,ee=Ste, A,,let inter'ace1it ; < +eser@e=1it $ < S-ste can su,,ort all o=es Ghen

    running on (atter-1it 939; < +eser@e=

    NOTE: .ll re#istry "ey values listed are -W)5- values%

    )verridin# Command Ialues via the 5e#istry

    For systems shi!!ed with wron# values in the (N&8 ,;740 or without the (N&8 ,;740 thecommand values can be entered throu#h re#istry "eys% &he re#istry "eys used to override(N&8 ,;740 values or re!ort none*istent values are+

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Ser@ices\P9\Para eters\Hac#FlagsHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Ser@ices\P9\Para eters\S iC =PortDDSMI C =5ata PortHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Ser@ices\P9\Para eters\S iC =5ataDDSMI C =5ata alue

    For systems followin# the JMobile Pentium ((( Processor Featurin# (ntel S!eedSte! &echnolo#y'()S WriterLs :uide K the entries will be+

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Ser@ices\P9\Para eters\Hac#FlagsDD/0;HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Ser@ices\P9\Para eters\S iC =PortDD/0($HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Ser@ices\P9\Para eters\S iC =5ataDD/0.$

    5e#istry entry for a system that can only run the hi#hest !erformance state on .C would be+

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Ser@ices\P9\Para eters\Hac#FlagsDD/0;

    5e#istry entry for a system that can su!!ort all !erformance states on battery would be+

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Ser@ices\P9\Para eters\Hac#FlagsDD/0?

    .fter this re#istry "ey entry is made Windows will assume !rocessor !erformance control u!onne*t boot%

    Su!!ortin# Systems with .M- PowerNow< &echnolo#yWindows and the Windows Server 2003 family su!!ort !rocessor !erformance control on both

    .M- 61,2= and 6 PowerNow< ca!able !rocessors% &he 61,2= im!lementation uses the SM(interface and '()S descri!tion table to read ca!abilities% &he 6 is only su!!orted via the .CP(2%0 ob9ects% )nce !rocessor ca!abilities are determined Windows will !erform all !erformancestate control directly with no additional su!!ort needed from the system '()S%

    m&lementin$ for t e *' 2;

    &he 61,2= !rocessor driver in Windows uses the SM( interface and the :emini '()S -escri!tor&able @:'-&B as defined in the J:emini SM( .P( S!ecification version 0%40K available from .M-%&he SM( interface is used to ?uery the !rocessors ca!abilities% (f the !rocessor is 61 PowerNowi=th" _+1>

    /" && 1?3+egister 1it O''set" _+1O /" && 163+eser@e= /0/"/"/"/"/"/"/"/" && 1:i=th" _+1> /" && 1?3+egister 1it O''set" _+1O /" && 163+eser@e= /0/"/"/"/"/"/"/"/" && 1:

  • 8/11/2019 Windows Native Processor Performance Control

    21/22

    Windows Native Processor Performance Control 20

    Na e !_PCT" Pac#age !$% && Per'or ance Control O()ect*&& +esourceTe ,late !% *+egister!FFi0e=H>" /" /" /%2 && Control

    1u''er !% */0.$" && 1/34eneric +egister 5escri,tor!section678797:%

    /0C"/" && 1;." && 183+egister 1it >i=th" _+1>

    /" && 1?3+egister 1it O''set" _+1O /" && 163+eser@e= /0/"/"/"/"/"/"/"/" && 1:i=th" _+1>

    /" && 1?3+egister 1it O''set" _+1O /" && 163+eser@e= /0/"/"/"/"/"/"/"/" && 1:

  • 8/11/2019 Windows Native Processor Performance Control

    22/22

    Windows Native Processor Performance Control 22

    Contact the !rocessor manufacturer to obtain co!ies of the '()S writerLs #uides mentioned in this!a!er+

    Mobile Pentium ((( Processor Featurin# (ntel S!eedSte! &echnolo#y '()S Writer s :uideavailable from (ntel

    :eyserville ((( '()S Portin# :uide available from (ntel

    :emini SM( .P( S!ecification version 0%40 available from .M- '()S Su!!ort for Windows XP Processor -river .!!lication Note Publication (dentification

    Number+ 2/ 23. 5ev 8%0/ available from .M-

    .!!endi* .

    Processor -river Ca!abilities Method @AP-CB -efinition&he !ro!osed AP-C method is to be defined as follows%

    This optional object is a method that is used by OSPM to communicate to the platform the level ofsupport currently provided by OSPM for processor power management. This object is a child objectof the processor device it is describing. This method will be evaluated by OSPM prior to evaluatingany other processor power management objects containing configuration information.

    The intent of this method is to provide OSPM a mechanism in which to convey to the platform thecapabilities supported by OSPM for processor power management. This allows the platform tomodify the A P! namespace objects containing configuration information for processor powermanagement based on the level of support currently provided by OSPM. "sing this method

    provides a mechanism for O#Ms to provide support for new technologies on legacy OSs$ while alsoallowing OSPM to leverage new technologies on platforms capable of supporting them.

    Arguments%Arg& 'buffer(%

    )*O+) &% +evision !d )*O+) ,% -umber of capabilities )*O+)s in buffer

    )*O+) /n% apabilities )*O+)s$ where each bit defines capabilities and featuressupported by the OSPM for processor power management.

    The definitions and meaning of each capabilities bit is vendor specific$ and shared with OSPM bythe vendor.

    +esult ode% -one