throbber
(12> Ulllted States Patent
`Helms et al.
`
`(10) Patent N0.:
`(45) Date of Patent:
`
`US 6,889,332 B2
`May 3, 2005
`
`US006889332B2
`
`(54) VARIABLE MAXIMUM DIE TEMPERATURE
`BASED ON PERFORMANCE STATE
`
`(75) Inventors: Frank P. Helms, Round Rock, TX
`(US); J e?'rey A. Brinkley, Georgetown,
`TX (US)
`
`(73) Assignee: Advanced Micro Devices’ Inc"
`Sunnyva1e> CA (Us)
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U_S_C_ 154(k)) by 554 days_
`
`( * ) Notice:
`
`_
`(22) F1169:
`(65)
`
`Dec‘ 11’ 2001
`Prior Publication Data
`
`US 2003/0110423 A1 Jun. 12, 2003
`
`nt.
`
`.
`
`................................................ ..
`
`EP
`JP
`JP
`
`FOREIGN PATENT DOCUMENTS
`0 632 360 A1
`1/1 995
`08328698
`12/1996
`10198456 A
`7/1998
`
`OTHER PUBLICATIONS
`
`IBM Technical Disclosure Bulletin, “PoWer Management
`Clock Change for 603 Processor,” vol. 38, No. 12, Dec.
`1995’ pp’ 325_327'_
`_
`_
`PC NTMMTA: Using Performance Monitor With MMTA
`(Q130288),
`http://support.microsoft.com/default.aspX?s
`cid=kb;en—us;Q130288 (3 pages) (last modi?ed Aug. 8,
`
`Performance Monitor Collects Data for Only One Instance
`(Q101474),
`http://support.microsoft.com/default.aspX?s
`cid=kb;en—us;Q[0]474 (2 pages) (last modi?ed Nov. 5,
`1999), printed Apr. 16, 2002.
`
`Primary Examiner—A. Elamin
`ttorne ,
`ent, 0r zrm— a or1n
`
`r1en
`
`ra am
`
`(52) US. Cl. ...................... .. 713/322; 713/501; 702/132
`
`(57)
`
`ABSTRACT
`
`(58) Field of Search ............................... .. 713/322, 501;
`702/132
`
`(56)
`
`References Cited
`
`713/501
`
`Us. PATENT DOCUMENTS
`5502 838 A * 3/1996 Kikinis
`5’511’2O3 A
`4/1996 Wisor et' """"""""" "
`5’682’273 A 10/1997 Hetzler
`'
`5,713,030 A * 1/1998 Evoy ........................ .. 713/322
`5’745’375 A
`4/1998 Reinhardt et a1‘
`517521011 A * 5/1998 Thomas et aL ___________ __ 713/501
`5,812,860 A
`9/1998 Horden et aL
`5,838,968 A 11/1998 Culbert
`5,852,737 A 12/1998 Bikowsky
`5,873,000 A
`2/1999 Lin et a1_
`5,881,298 A
`3/1999 Cathey
`5,884,049 A
`3/1999 Atkinson
`5,887,179 A
`3/1999 Halahmi et a1.
`5,925,133 A
`7/1999 Buxton et a1.
`5,954,820 A
`9/1999 HetZler
`(Continued)
`
`The maximum performance state available to a processor in
`a computer system, in terms of operating frequency and/or
`voltage, changes according to thermal criteria. When the
`temperature Increases above a predetermined threshold, the
`maximum performance state available is reduced. Multiple
`temperature thresholds may be utilized providing for a
`gradually reduced maximum performance state as tempera
`ture Increases. When the temperature returns to' a loWer
`level’ the maxlmum perfofmance Slate avallable 1S
`Increased. Changing the maximum available performance
`state according to temperature provides for more gradual
`reduction in performance as temperature increases, Which
`results in higher average system performance as temperature
`increases. Thus, a more gradual reduction in performance is
`provided While still maintaining a high speed rating of the
`processor in more ideal conditions. In normal operating
`conditions, high processor performance is provided, While
`slightly reduced performance is provided in abnormal oper
`a?ng CQndi?Qns~
`
`21 Claims, 4 Drawing Sheets
`
`| _______________ '1
`i W POWER MANAGEMENT CONTROL
`1
`I
`s
`9.1:.
`l 303\
`I331
`:V'D
`vomes
`I \
`REGULATOR
`$ |
`305
`|
`l
`
`CORE
`CLOCK
`
`K305
`
`LG Ex. 1001, pg 1
`
`

`
`US 6,889,332 B2
`Page 2
`
`US. PATENT DOCUMENTS
`
`9/1999 Bamls
`59587058 A
`6,006,248 A 12/1999 Nag,“
`6’014’611 A
`1/2000 Am‘ “31'
`6,073,244 A
`6/2000 IWaZakl
`6076171 A
`60000 Kawata
`R’E36’839 E
`8/2000 Simmons et a1‘
`3
`.
`.
`6,119,241 A * 9/2000 Mlchall et a1. ........... .. 713/322
`6,128,745 A 10/2000 Anderson
`6,151,681 A 11/2000 Roden et a1.
`
`6,363,490 B1 * 3/2002 Senyk ...................... .. 713/300
`6,442,700 B1
`8/2002 Cooper
`6,574,740 B1
`6/2003 Odaohhara et 211.
`6,594,753 B2
`7/2003 Choquette et a1.
`6,630,754 B1 * 10/2003 Pippin ...................... .. 307/117
`*
`6,647,320 B1
`11/2003 1116116
`.700/300
`6,701,273 B2 * 3/2004 Nlshlgakl et a1. ......... .. 702/132
`6 711 129 B1
`3/2004 Bauer et 211.
`’
`’
`
`* cited by examiner
`
`LG Ex. 1001, pg 2
`
`

`
`U.S. Patent
`
`May 3,2005
`
`Sheet 1 0f 4
`
`US 6,889,332 B2
`
`I
`
`START
`
`I
`
`CD———————+ V
`1 O1
`PERIODICALLY
`DETERMINE CPU ’\/
`UTILIZATION
`
`V
`
`INCREASE
`PERFORMANCE
`
`I03
`
`I07
`
`UTILIZATION <
`LOW TRIGGER?
`
`N0
`
`DECREASE
`‘09f PERFORMANCE
`
`FIG. 2
`
`LG Ex. 1001, pg 3
`
`

`
`U.S. Patent
`
`May 3,2005
`
`Sheet 2 0f 4
`
`US 6,889,332 B2
`
`317
`\‘
`A
`
`REGULATOR
`3i
`
`306
`
`:
`l
`|
`I 303
`I k“
`VOLTAGE 4 IV")
`vOLTAGE
`I 1
`l
`|
`l
`‘——>1 310
`1 r’
`:
`|
`|
`1
`l
`
`BUS
`HP ""
`
`POWER MANAGEMENT cONTROL
`319
`CLOCK
`GENERAT1ON ’\J/
`CIRCUIT
`/_\:/307
`1‘
`304i
`EREO ‘\J |
`:
`1
`CORE
`CLOCK I
`1
`:
`I
`1 |
`:
`|
`'
`l
`L ________________ __|
`
`+
`
`COUNT
`
`1
`@055
`
`309
`
`313
`v
`
`CPU CORE
`LOGIC
`
`313
`
`II
`
`301
`
`LG Ex. 1001, pg 4
`
`

`
`U.S. Patent
`
`May 3,2005
`
`Sheet 3 0f 4
`
`US 6,889,332 B2
`
`FIG. 4
`
`Temperature
`
`Type of Trip Point
`
`Action
`
`Available
`Performance
`States
`
`Tem
`Ran l;
`9
`
`103C
`
`Critical Trip Point
`
`98C
`
`280C
`
`Passive Trip Point
`(max active cooling)
`Maximum Pstate
`Change
`
`05 performs
`orderly shut down
`05 throttles
`processor (50%) P2, P3, P4
`Transition to
`PstateZ as max
`
`>8OC
`
`378C
`
`Maximum Pstate
`Change
`
`Transition to
`Pstatel as max
`
`270C
`
`368C
`
`55[
`
`60C
`
`50[
`
`Maximum Pstate
`Change
`
`Transition to
`Pstatel as max
`
`Maximum Pstate
`Change
`
`Transition to
`Pstate 0 as max
`
`Active trip point 2
`(max active cooling)
`Active trip point 3
`(med active cooling)
`Active trip point 4
`(min active cooling)
`
`Turn on Fan
`100%
`Turn on Fan 66%
`
`Turn on Fan 33%
`
`P1, P2, P3,
`P4
`
`7080C
`
`PO, Pl, P2,
`P3, P4
`
`<7OC
`
`LG Ex. 1001, pg 5
`
`

`
`U.S. Patent
`
`May 3,2005
`
`Sheet 4 0f 4
`
`US 6,889,332 B2
`
`TIJ
`
`mm éz $725
`2 E u ESQ
`
`H 55mm
`
`WE
`
`N a,
`
`UAI
`
`V2: mwz<zu
`
`mm H 553
`
`u '01 H 55mm
`m a \l\
`55 $725
`
`m .wE
`
`u AIIJ
`
`gm 1 v2: $725
`
`
`E u EEK
`
`
`
`
`
`08 \( 5E6 Z250
`
`mEE/EEZE
`
`LG Ex. 1001, pg 6
`
`

`
`US 6,889,332 B2
`
`1
`VARIABLE MAXIMUM DIE TEMPERATURE
`BASED ON PERFORMANCE STATE
`
`BACKGROUND
`
`1. Field of the Invention
`This invention relates to computer systems and more
`particularly to poWer management of computer systems.
`2. Description of the Related Art
`An important market criteria for microprocessors is the
`rated frequency at Which the microprocessor operates, typi
`cally denominated in hundreds of MHZ or GHZ. Rated
`frequency is used as a surrogate for performance and higher
`performance processors command higher prices. Thus, it is
`advantageous to market processors With the highest possible
`frequency rating.
`HoWever, there are limitations as to hoW high one may
`rate a processor in terms of frequency. As the number of
`transistors provided on a single integrated circuit has
`increased and the clock speed of integrated circuits has
`increased, poWer and related thermal considerations have
`become an important consideration in computer design.
`PoWer and thermal considerations can limit processor per
`formance in certain environments, particularly in mobile
`applications. Computer systems measure the die temperature
`or case temperature using sensors on or close to the proces
`sor. In order to keep processor die temperatures Within safe
`bounds to avoid potential damage to the processor, passive
`and active cooling have traditionally been employed to
`control temperature. Passive cooling has been accomplished
`by reducing a processors clocks speed, either by throttling
`processor clocks (reducing effective frequency by turning
`clocks off for a predetermined period) or by reducing actual
`frequency of the clocks. Reducing the actual and/or effective
`frequency of an integrated circuit causes a reduction in
`poWer consumption and thus reduces temperature. In addi
`tion to reducing clock frequency, it is knoWn in the art to
`reduce voltage in conjunction With reduced clock speed to
`achieve additional cooling.
`Thus, the rated processor speed can be limited by poWer
`and thermal considerations and more speci?cally is
`determined, at least in signi?cant part, by operating
`frequency, voltage, and temperature. If the die temperature
`can be kept suf?ciently loW, the rated processor clock speed
`can be increased. In one prior art approach to maXimiZing
`frequency at Which a processor can be marketed, the pro
`cessor includes an on-die temperature sensor that automati
`cally throttles (reduces) the CPU’s clock by 50% if the
`processor’s temperature crosses a factory set threshold. If
`the maXimum die temperature is set at a suf?ciently loW
`level of, e.g., 70 degrees C., the processor is able to meet the
`timing budget for the silicon process in Which it is manu
`factured at a higher frequency at a given voltage than if the
`die temperature Was signi?cantly higher. The timing budget
`is the amount of time a signal has to propagate through
`combinational logic from one set of storage elements (e.g.,
`?ip-?ops) to another set of storage elements and meet the
`setup and hold times associated With the ?ip-?ops. At a
`loWer temperature, a device can more easily meet a timing
`budget because, e.g., the propagation delays are reduced.
`Thus, to ensure that timing budgets are met, in the prior art
`approach described above, When the maXimum die tempera
`ture associated With the device is crossed, e.g., 70 degrees
`C., the processor clock is throttled back to, e.g., 50% of its
`rated speed, Which reduces the poWer consumption and thus
`the temperature. Thus, a processor rated at 2 GHZ Would run
`
`2
`at 1 GHZ upon crossing of the maXimum die temperature
`threshold. In that Way the processor can be rated at a higher
`speed at or beloW 70 degrees C., although it may operate
`With signi?cantly reduced capability above that temperature.
`While that alloWs the processor to be rated highly, it also
`results in a system that operates at a signi?cantly loWer clock
`speed in certain environments. It Would be desirable to ship
`more higher speed rated processors Without having to dras
`tically sacri?ce performance When the critical temperature
`threshold is crossed.
`
`SUMMARY
`
`Accordingly, the invention provides a system in Which the
`maXimum performance state, Which is typically based on
`such factors as operating frequency and voltage, changes
`according to thermal criteria. The thermal criteria may be,
`for example, a die temperature of the microprocessor. Once
`the temperature crosses above a predetermined temperature
`threshold, the maXimum performance state available to the
`system is changed to a loWer performance state. As the
`temperature crossed above successive temperature
`thresholds, successively loWer maXimum performance states
`become available to the system. That alloWs processor
`performance to be impacted less than the throttling alterna
`tive described above as the temperature increases. When the
`temperature crosses beloW a predetermined temperature
`threshold, a higher maXimum performance state is again
`available to the system. Hysteresis may be implemented to
`ensure the system does not rapidly sWitch betWeen perfor
`mance states When the temperature is close to predetermined
`thresholds.
`In an embodiment, the invention provides a processor that
`has multiple performance states determined by such factors
`as operating frequency and/or voltage. In a ?rst temperature
`range, the processor operates With a ?rst maXimum perfor
`mance state and in a second temperature range, higher than
`the ?rst temperature range, the processor operates With a
`loWer maXimum performance state.
`In another embodiment the invention provides a method
`of operating a computing system that includes determining
`a temperature associated With an integrated circuit and
`operating the integrated circuit With a ?rst performance state
`as a maXimum performance state according to the deter
`mined temperature, the ?rst performance state being one of
`a plurality of performance states available at the determined
`temperature.
`In another embodiment a method for providing a variable
`maXimum die temperature for an integrated circuit in a
`computer system having a plurality of different maXimum
`performance states, comprising increasing the maXimum
`alloWable die temperature as a maXimum alloWable perfor
`mance state is decreased.
`
`10
`
`15
`
`25
`
`35
`
`40
`
`45
`
`55
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`The present invention may be better understood, and its
`numerous objects, features, and advantages made apparent
`to those skilled in the art by referencing the accompanying
`draWings in Which the use of the same reference symbols in
`different draWings indicates similar or identical items.
`FIG. 1 is a high level How diagram of poWer management
`operations based on CPU utiliZation.
`FIG. 2 illustrates sWitching betWeen performance states
`according to utiliZation.
`FIG. 3 illustrates an exemplary processing system that can
`change performance state.
`
`65
`
`LG Ex. 1001, pg 7
`
`

`
`US 6,889,332 B2
`
`3
`FIG. 4 illustrates a table including various temperature
`trip points for an exemplary system.
`FIG. 5 shoWs the high level How of an embodiment of the
`invention in Which the maximum performance state avail
`able is adjusted according to temperature measurements.
`
`DESCRIPTION OF THE PREFERRED
`EMBODIMENTS
`
`A computer system according to one embodiment of the
`invention has a plurality of processor performance states, the
`processor performance states being generally determined by
`unique voltage/frequency combinations. The computing sys
`tem provides loWer maximum performance states as the
`detected temperature of, eg the processor die, increases. In
`addition to having a different maximum performance state
`associated With particular temperature ranges, the computer
`system may change to a different performance states based
`on such factors as processor utiliZation as explained more
`fully herein. The detected temperatures may be related
`directly to the processor by measuring the die temperature
`directly using a sensor on the die or may measure the die
`temperature indirectly using a sensor that is off-die. In
`addition, other indirect measurements may be taken such as
`ambient temperatures or measurements of the temperature of
`other computer system components to determine the appro
`priate mode of operation although indirect measurements
`may reduce accuracy. Because the different temperature
`ranges have different maximum performance states, the
`maximum amount of poWer that can be consumed groWs
`less as the temperature increases through the various tem
`perature ranges and loWer maximum performance states are
`provided.
`While a performance state is commonly based in operat
`ing voltage and frequency, other criteria can also be used.
`For example, in some embodiments, processor performance
`states could be determined by an amount of chip area that
`Was enabled for processing. Thus, portions of the processor
`may be selectively disabled to control the amount of poWer
`consumed. For example, the number of execution units that
`are enabled may vary.
`In order to more fully appreciate the invention, the use of
`performance states is described in Which a poWer manage
`ment control function in the computer system periodically
`determines the utiliZation level of the processor, i.e., hoW
`much of the available processor resources are being utiliZed,
`and selects a performance state that is appropriate for the
`utiliZation level. Referring to FIG. 1, a flow diagram illus
`trates at a high level, operation of an embodiment of a poWer
`management function utiliZed to provide the requisite poWer
`management control. The current CPU utiliZation is peri
`odically determined in 101. That current utiliZation is then
`compared to a high threshold level, e.g., 80% of processing
`resources, in 103. If the utiliZation level is above the high
`threshold level, indicating that processor resources are being
`utiliZed at a level above 80%, the poWer management
`control function increases the performance state of the
`processor in 105. In one embodiment, that can be accom
`plished by selecting a voltage/frequency pair that provides
`greater performance and then causing the processor to
`operate at the neW voltage and frequency, as described
`further herein.
`If the current utiliZation is beloW the high threshold, then
`the current utiliZation is compared to the loW threshold in
`107. An exemplary loW threshold level is 55%. If the current
`utiliZation is beloW that loW threshold, the poWer manage
`ment control function decreases the performance state of the
`
`15
`
`35
`
`40
`
`45
`
`55
`
`65
`
`4
`processor in 109. As described further herein, that may be
`accomplished by selecting, e.g., a voltage/frequency pair
`providing loWer performance and then causing the perfor
`mance change to occur. The poWer management control
`function then returns to 101 to periodically determine the
`utiliZation level and again compare the current utiliZation
`level to the high and loW threshold levels. In that Way the
`poWer management can tailor the performance state of the
`processor to the actual requirements.
`In a computer system With several possible processing
`performance states, if the management control function
`determines that more performance is necessary to meet
`performance requirements, one approach to providing
`increased performance is to increase the performance one
`step at a time until the current utiliZation is beloW the high
`threshold level. HoWever, in another approach rather than
`increasing the performance state one step at a time, the
`poWer management control function selects the highest
`performance state regardless of the current performance
`state. The reasons for alWays selecting the highest possible
`performance state When a higher performance state is
`needed are as folloWs. In computer systems, performance
`demands are often of a bursty nature. When a higher
`performance state is required based on the current utiliZation
`level, stepping the performance state to a next higher level
`can result in degradation of performance that can be per
`ceived by the user. That is especially true When the task that
`needs the increased performance requires a near real-time
`response, for instance, While decoding an audio or video ?le.
`FIG. 2 illustrates that concept. Assume the processor has
`?ve performance states P0—P4, With P0 being the highest
`and P4 the loWest. Whenever the poWer management deter
`mines that a higher performance state is required When
`operating at any of the levels P1—P4, the poWer management
`selects the maximum performance state P0 as the next
`performance state. Thus, in one embodiment, if the perfor
`mance state is alWays taken straight to the maximum per
`formance state When a performance increase is required,
`rather than stepping up to the maximum performance state,
`there is less of a chance that a user could notice any
`performance degradation. In effect, the poWer management
`control function anticipates a peak loading by assuming that
`any indication of a required increase in performance is
`assumed to be a burst requiring peak performance.
`HoWever, if a loWer performance state is required, a next
`loWer performance state is selected. Thus, if at performance
`state P0, P1 is selected as the next loWer performance state.
`If the current performance state is P1, the next loWer
`performance state selected is P2 When a performance
`decrease is effectuated by the poWer management control
`function. In that Way, if the performance is still too high,
`successively loWer performance states can be selected and
`the chance than any degradation is detected by a system user
`is reduced. Thus, if the utiliZation information indicates that
`an increase in performance is necessary, the poWer manage
`ment control function selects the maximum (or near
`maximum) performance state, While a decrease in perfor
`mance causes the poWer management control function to
`step to the next loWest performance state.
`If the processor utiliZation is kept Within the range of the
`high and loW thresholds, then a user should experience a
`crisp, high performance system, While still getting the ben
`e?t of poWer savings for those applications or those portions
`of applications requiring less performance. That approach
`reduces poWer consumption, extends battery life, reduces
`temperature resulting in less need for cooling and thus less
`fan noise, While still maintaining high performance and thus
`
`LG Ex. 1001, pg 8
`
`

`
`US 6,889,332 B2
`
`5
`maintaining a perception of fast response to the user. Note
`that running at a loWer average CPU die temperature
`increases CPU reliability, and that a loWer CPU temperature
`results in a loWer system temperature, Which increases
`system reliability.
`In order to effect changes to the performance state, the
`poWer management softWare has to cause the voltage and
`frequency used by the CPU to change. In one embodiment
`that can be accomplished as folloWs. Referring to FIG. 3, a
`processor is shoWn that can dynamically adjust its frequency
`and/or operating voltage to provide better thermal and poWer
`management in accordance With processor utiliZation. Pro
`cessor 301 includes a programmable voltage control ?eld
`303, core clock frequency control ?eld 304 and count ?eld
`305. Those ?elds may be located in one or more program
`mable registers. When the processor and/or system deter
`mines that a change to the operating voltage and/or fre
`quency is desired to increase or decrease the performance
`state, the desired frequency and voltage control information
`are loaded into frequency control ?eld 304 and voltage
`control ?eld 303, respectively. Access to a register contain
`ing those ?elds, or an access to another register location, or
`access to a particular ?eld in one of those registers can be
`used as a trigger to initiate the protocol for a performance
`state change. The protocol, Which Will vary according to
`processor design, ensures that the processor enters a quies
`cent state that is suitable for performance state transitions.
`In some protocols, that Will ensure that the portion of the
`processor, referred to for convenience herein as the CPU
`core logic 311 becomes quiescent, including any external
`bus interfaces 310 and interfaces With internal logic that may
`not be affected by the performance state change. Note that in
`one implementation bus interface 310 is implemented sepa
`rately from CPU core logic 311 and functions to hold off
`traf?c to CPU core logic 311 during performance state
`transitions. Various messages may be sent or signals pro
`vided indicating that the processor has or is about to enter
`the quiescent state. In addition various control and/or status
`signals 309 and 313 may be provided to and from core logic
`311. Note that in some processor implementations, various
`poWer planes and clock grids may ensure some parts of the
`processor are unaffected by the processor core logic 311
`entering the quiescent state. Further, the quiescent state may
`vary according to processor design. For example, for one
`processor the quiescent state may have the clocks turned off
`and in other processors, the clocks may be reduced to an
`extent to alloW appropriate voltage changes. Note also that
`the poWer state changes may include clock frequency
`changes, voltage changes or both. In X86 architectures, such
`a quiescent state has been referred to as the “stop grant” state
`in Which execution of operating system and application code
`is stopped. As Would be knoWn to those of skill in the art,
`other Ways may be used to initiate the protocol necessary to
`enter the quiescent state suitable for performance state
`changes. For example, initiation of the protocol to enter the
`quiescent state may be indicated by Writing a command over
`a communication link coupling the processor to another
`device.
`Once in the quiescent state, the processor can transition
`the voltage and frequency to the neW states speci?ed in
`voltage control ?eld 303 and clock frequency control ?eld
`304. As described above, in some processor
`implementations, the processor core clocks are stopped after
`the processor enters the quiescent state to suitable for
`changing performance states. In other processor
`implementations, the processor core clock frequency is
`reduced to a frequency Which can safely tolerate desired
`
`10
`
`15
`
`25
`
`35
`
`40
`
`45
`
`55
`
`65
`
`6
`voltage changes. In one implementation clock control fre
`quency information is supplied as multiplier values for a
`clock that is supplied to processor 301. Those of skill in the
`art appreciate that many other approaches can be used to
`specify the core operating frequency. In either case, the
`voltage control information speci?ed in voltage control ?eld
`303 is supplied to voltage regulator 315 Which in turn
`supplies CPU core logic 311 With the neW voltage during the
`quiescent state. As Will be appreciated by those of skill in the
`art, there are many alternatives to supplying the voltage
`information to an external voltage regulator from a register
`in the processor. For example, the voltage information may
`be supplied from a device outside the processor, or may be
`supplied by a communication link With a voltage regulator
`circuit.
`Because changing the voltage and frequency can not be
`done instantaneously, the quiescent state is typically main
`tained for a period of time to alloW the neW voltage and
`clock frequency to stabiliZe. That time period may be
`speci?ed in count ?eld 305 and counted using a counter in
`the processor or in another location in the computer system.
`Once the count is complete, the protocol is initiated to exit
`the quiescent state and resume executing operating system
`and application code, including restarting any buses that
`have been “turned off” by the processor as part of entering
`the quiescent state.
`Note that changing both voltage and frequency to enter a
`neW performance state can be particularly effective.
`Changes in the processor’s core clock frequency have an
`approximately linear affect on the poWer dissipated by the
`processor. Thus, a 20% reduction in clock frequency reduces
`the poWer dissipated by the processor by 20%. The range of
`change is signi?cant since a ratio of highest frequency to
`loWest frequency is usually greater than 2:1. Consequently,
`the processor’s poWer may be changed by similar ratio.
`Changes in the processor’s core voltage have an approxi
`mately square laW effect. That is, potential poWer savings is
`proportional to the square of the voltage reduction. The
`square laW effect results in signi?cant changes in the pro
`cessor’s poWer if the core voltage of the processor is
`reduced.
`In addition to modifying processor frequency and/or
`voltage and to match processor utiliZation, computer sys
`tems also monitor temperature and take active or passive
`poWer management actions to ensure that the temperature of
`the processor die stays Within operational levels using poWer
`management control softWare such as that associated With
`the Advanced Con?guration and PoWer Interface (ACPI)
`Speci?cation. For example, at certain temperatures, the
`computing system may take actions that take active poWer
`management action such as turning on a fan, or increasing
`fan speed. At other temperatures, a computer system may
`take passive actions such as throttling the processor
`(reducing its effective frequency by stopping or sloWing
`clocks With a predetermined duty cycle and period appro
`priate for the processor). At another temperature threshold,
`the processor may shut doWn the computer system to
`prevent potential damage. FIG. 4 illustrates an exemplary set
`of temperature “trip points” at Which poWer management
`activities take place. As shoWn in FIG. 4, there are “active”
`trip points at Which various actions are performed such as
`adjusting fan speed. The types of actions described in FIG.
`4 are in addition to the utiliZation based poWer management
`described previously. The actual temperatures, the number
`of trip points, and the speci?c actions taken Will of course
`vary according to the particulars of the computer system.
`Note that the poWer management control described herein
`may be implemented as part of the operating system (OS),
`
`LG Ex. 1001, pg 9
`
`

`
`US 6,889,332 B2
`
`7
`in Whole or in part. In addition, separate power management
`applications may incorporate some or all of the capability
`described herein. In other computer systems, the various
`poWer management tasks may be shared betWeen the oper
`ating system, softWare applications running under the oper
`ating system and BIOS routines. In addition, the poWer
`management techniques may be implemented in hardWare.
`NoW that the process of changing processor states has
`been described, and the utiliZation of trip points in poWer
`management has been described, the utiliZation of different
`maXimum performance states based on temperature Will be
`described. Assume that a processor system has ?ve perfor
`mance states P0—P4, With P0 being the highest performance
`state. The highest performance state is that state having the
`highest clock frequency (and in some embodiments the
`highest voltage) and having the highest poWer consumption.
`Referring again to FIG. 4, the performance states available
`are shoWn to be based on temperature range.
`In the eXample shoWn in the last column of the table in
`FIG. 4, When the die temperature is beloW 70 C, all the
`performance states are available (P0—P4) and the maXimum
`performance state available, e.g., for utiliZation based (or
`other) poWer management activities, is the maXimum per
`formance state that the system provides, namely P0. When
`the temperature is betWeen 70 C and 80 C, the performance
`states available are P1—P4 With the maXimum available
`performance state being P1. Finally, When the temperature
`crosses above 80 C the available performance states are
`further reduced, With the maXimum available performance
`state being P2. Thus, the embodiment represented in FIG. 4,
`both the number of performance states and the maXimum
`performance state changes based on temperature trip points
`of 70 C and 80 C.
`When the temperature falls back into a temperature range,
`e.g., <70 C, the higher maXimum performance state once
`again becomes available. HoWever, in one embodiment a
`temperature trip point that causes the system to make a
`higher maXimum performance state available differs from
`the temperature trip point that causes a loWer maXimum
`performance state to be available. That provides hysteresis
`and avoids frequent changes in the available maXimum
`performance state if the temperature is at or near a trip point.
`In the eXample shoWn in FIG. 4, hysteresis is imple
`mented by causing P0 to become unavailable as the maXi
`mum performance state at 70 C but to again become
`available at a temperature trip point of 68 C. Thus, if the
`system is operating With P1 as the maXimum performance
`state and a temperature of 68 C is detected, P0 becomes the
`maXimum performance state. Similarly, P1 becomes
`unavailable as the maXimum performance state at 80 C but
`again become available as the maXimum performance state
`When the temperature crosses back beloW 78 C. Note that in
`various implementations, the system may detect Whether the
`temperature is greater than, greater than or equal to, equal to,
`less than or less than or equal to a particular temperature, as
`appropriate for the particular situation, to determine if the
`system has crossed a temperature trip point.
`Note that the available performance states may be imple
`mented as a table or other data structure in BIOS, in
`application softWare, or in a poWer management portion of
`the operating system softWare. Other Ways to encode the
`appropriate performance states according to the temperature
`Would be readily apparent to those of skill in the art.
`The How chart in FIG. 5 provides a high level illustration
`of the operation of an embodiment of the invention. For ease
`of understanding, FIG. 5 deals With maXimum performance
`
`10
`
`15
`
`25
`
`35
`
`40
`
`45
`
`55
`
`65
`
`8
`state transitions and does not illustrate operations of all
`poWer management functions. The How chart corresponds to
`an embodiment of the invention that utiliZes three tempera
`ture ranges illustrated in FIG. 4. In 500, a temperature
`associated With the microprocessor, e.g., a die temperature
`of the microprocessor, is supplied or obtained. The system
`checks to see if it is operating With the maXimum perfor
`mance state being P0 in 503. If so, the system checks to

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket