US20010003206A1 - Managing a system's performance state - Google Patents
Managing a system's performance state Download PDFInfo
- Publication number
- US20010003206A1 US20010003206A1 US09/204,896 US20489698A US2001003206A1 US 20010003206 A1 US20010003206 A1 US 20010003206A1 US 20489698 A US20489698 A US 20489698A US 2001003206 A1 US2001003206 A1 US 2001003206A1
- Authority
- US
- United States
- Prior art keywords
- processor
- state
- performance
- component
- activity state
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/324—Power saving characterised by the action undertaken by lowering clock frequency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3296—Power saving characterised by the action undertaken by lowering the supply or operating voltage
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Definitions
- the invention relates to managing a system's performance state.
- Portable systems such as portable computers, have steadily become more powerful with improved technology. Still, the processing, storage, and other capabilities of portable systems are limited due to power consumption and heat dissipation constraints.
- a portable system relies on a battery as its power source when it is not connected to an external power supply such as an AC outlet. As battery life is limited, power consumption in the system is reduced typically by lowering voltage levels of certain components (e.g., the processor) and reducing clock frequencies of these components. For example, the core clock speed of a processor as well as its voltage levels may be reduced to lower the processor's power consumption. This, however, also reduces processor performance.
- Portable systems have become increasingly popular as replacements for desktop systems. When used in the office or at a location with access to an external power supply, the portable systems are plugged into the external power supply, either by use of an AC adapter or through a docking station.
- conventional portable systems typically operate at reduced performance levels due to limitations of the battery and thermal dissipation requirements, performance of portable systems generally lag the typical desktop system. Consequently, a need arises for a solution that would allow portable systems to operate at higher performance levels to approach the performance of desktop systems.
- a system in general, includes a component and a detector adapted to detect generation of a power management event.
- a controller is adapted to, in response to the power management event, transition the component from a first performance mode to a reduced activity state and to change a setting of the component to a second, different performance mode while the component is in the reduced activity state.
- FIG. 1 is a block diagram of a system according to an embodiment of the invention.
- FIG. 2 is a block diagram of power management control logic in the system of FIG. 1.
- FIG. 3 is a flow diagram of a power management module in the system of FIG. 1.
- FIG. 4 is a flow diagram of a performance mode change sequence in the system of FIG. 1.
- FIGS. 5 and 6 are timing diagrams of signals and events in the performance mode change sequence of FIG. 4.
- FIG. 7 is a block diagram of circuitry that has one capability to adjust a core clock frequency of a component in the system of FIG. 1 according to an embodiment of the invention.
- multiple performance states may be defined in a system (which may be, as examples, a portable computer, a notebook computer, a hand-held electronic device, and the like) by using a number of different criteria, including core component clock speeds, power supply voltage settings, and the like.
- the system may be set at one of the multiple performance states. For example, if the system is only powered by battery (such as when the system is being used as a portable unit remotely without access to an external power source), the system is placed in a lower performance state to conserve power.
- the system may be placed in a high performance state, in which performance may be maximized subject to thermal dissipation constraints.
- additional heat dissipation devices e.g., fans
- Other intermediate performance states may be specified as desired.
- one or more selected components are placed into a lower or reduced activity mode (e.g., deep sleep or stop grant states if the component is a processor).
- Components may include a general-purpose or special-purpose processor such as a microprocessor or microcontroller, an application-specific integrated circuit (ASIC), a programmable gate array (PGA), or any other discrete or integrated device in which performance levels may be adjusted.
- a controller implemented in software, firmware, and/or hardware, may then control the performance state transitions by, for example, adjusting component clock frequencies and power supply voltage levels. The performance state transitions may be achieved seamlessly and relatively rapidly without user intervention.
- Power dissipation of components is proportional to internal clock speed and to the square of core supply voltage. As a component's internal clock speed is reduced, the minimum required core voltage supply level can also be reduced, thereby dramatically reducing the component's power consumption.
- the performance state of the computer system is changed by changing the processor's core clock frequency and core voltage levels.
- the component in which internal clock speeds and voltage levels are adjusted is the processor, although clock speeds and voltage levels of other components may be varied in further embodiments.
- an example system 10 includes a processor 12 (e.g., an 80 ⁇ 86 or Pentium® family processor from Intel Corporation) that receives an external clock BCLK (from a clock generator 50 ) and a supply voltage (from a voltage regulator 52 ).
- the voltage regulator 52 and the clock generator 50 are both controllable to adjust the core voltage levels as well as the core clock frequencies in the processor 12 , as further described below.
- the main power supply voltages in the system 10 are provided by a power supply circuit 56 that is coupled to a battery 60 or an external power source outlet 58 .
- an interrupt e.g., a system management interrupt or SMI
- docking the system 10 to a docking base unit may also indicate a power source transition.
- a device driver may detect power source transitions and docking events by registering with the operating system for power and plug-and-play notifications, for example.
- the system 10 may be set at a suitable performance level depending on whether the system 10 is powered by an internal power source (e.g., battery 60 ) or by an external power source (e.g., as coupled through the external source outlet 58 ), the system 10 may be set at a suitable performance level. For example, when the external power source is coupled, the system 10 may operate at a higher performance mode; however, if the internal power source is coupled instead, then the system 10 may operate at a lower performance mode.
- an internal power source e.g., battery 60
- an external power source e.g., as coupled through the external source outlet 58
- the system 10 may be set at a suitable performance level. For example, when the external power source is coupled, the system 10 may operate at a higher performance mode; however, if the internal power source is coupled instead, then the system 10 may operate at a lower performance mode.
- the computer system 10 may provide a graphical user interface through which a user may specify the desired performance state of the system.
- the processor 12 may be coupled to a cache memory 14 as well as to a host bridge 18 that includes a memory controller for controlling system memory 16 .
- the host bridge 18 is further coupled to a system bus 22 , which may in one embodiment be a Peripheral Component Interconnect (PCI) bus, as defined in the PCI Local Bus Specification, Production Version, Rev. 2.1, published on Jun. 1, 1995.
- PCI Peripheral Component Interconnect
- the system bus 22 may also be coupled to other components, including a video controller 24 coupled to a display 26 and peripheral slots 28 .
- a secondary or expansion bus 46 may be coupled by a system bridge 34 to the system bus 22 .
- the system bridge 34 includes interface circuits to different ports, including a universal serial bus (USB) port 36 (as described in the Universal Serial Bus Specification, Revision 1.0, published in January 1996) and ports that may be coupled to mass storage devices such as a hard disk drive, compact disc (CD) or digital video disc (DVD) drives, and the like.
- USB universal serial bus
- I/O input/output
- a non-volatile memory 32 for storing basic input/output system (BIOS) routines may be located on the bus 46 , as may a keyboard device 42 and an audio control device 44 , as examples. It is to be understood, however, that all components in the system 10 are for illustrative purposes and the invention is not limited in scope to the illustrated system.
- Various software or firmware layers may be stored in one or more storage media in the system.
- the storage media includes the hard disk drive, CD or DVD drive, floppy drive, non-volatile memory, and system memory.
- the modules, routines, or other layers stored in the storage media contain instructions that when executed causes the system 10 to perform programmed acts.
- the software or firmware layers can be loaded into the system 10 in one of many different ways. For example, code segments stored on floppy disks, CD or DVD media, the hard disk, or transported through a network interface card, modem, or other interface mechanism may be loaded into the system 10 and executed as corresponding software or firmware layers. In the loading or transport process, data signals that are embodied as carrier waves (transmitted over telephone lines, network lines, wireless links, cables, and the like) may communicate the code segments to the system 10 .
- carrier waves transmitted over telephone lines, network lines, wireless links, cables, and the like
- control logic for controlling the core clock frequency and the supply voltage level of the processor 12 is shown.
- the control logic may be separated into a first portion 100 and a second portion 102 .
- the control logic may also be integrated in one component.
- the first control logic portion 100 may be included in the host bridge 18
- the second control logic portion 102 may be included in the system bridge 34 .
- the first and second control logic portions may be implemented as separate chips.
- the circuitry may be implemented as a memory hub (including interfaces to the processor and system memory) and an input/output (I/O) hub (including interfaces to the system bus and secondary bus).
- the control logic 100 and 102 may be implemented in the memory hub.
- messages rather than signals may be used to provide the same functionality as the control logic 100 , 102 .
- the I/O hub may send a “Prepare for Deep Sleep” message to the memory hub.
- a serial link may be used for communication with the voltage regulator 52 and clock generator 50 .
- the power management control logic ( 100 , 102 ) provides control signals to the voltage regulator 52 to adjust its voltage levels and to the processor 12 to adjust the processor's internal clock frequency.
- the power management control logic ( 100 , 102 ) is responsible for placing the processor 12 into a low activity state to transition the system to a different performance state.
- the core or internal clock frequency of the processor may be varied by changing a setting in the processor.
- one of several values may be provided to the processor through input pins, which may be sampled by the processor when it is in a low activity state or when it is in reset.
- the value sampled by the processor may in one embodiment represent bus fraction data specifying the ratio of the processor's core clock to an external clock, such as BCLK.
- the frequency of the external clock can remain the same while the internal clock frequency is changed.
- the processor 12 includes a clock generator 308 , which may be a phase locked loop (PLL) circuit, for example.
- the PLL circuit 308 includes settings that may be varied according to data (which may be bus fraction data, for example) stored in a register 306 .
- the inputs of the register 306 may be coupled to input/output (I/O) pins 304 , and the register 306 may have a latch input controlled by a NOR gate 310 .
- Bus fraction data may be presented onto I/O pins 304 and loaded into the register 306 during a low activity state or some other suitable state, e.g., processor reset.
- the NOR gate 310 receives a signal indicating that the processor 12 is in a low activity state, e.g., stop grant or deep sleep state.
- the signal may be referred to as DEEPSLEEP, although other signal names indicating a low activity state may also be used.
- DEEPSLEEP is provided by a state machine 330 , or alternatively, by an input pin of the processor 12 to indicate when the processor 12 is in a low activity state.
- the NOR gate also may receive another signal (e.g., CPURESET) indicating that the processor 12 is in reset.
- the register 306 allows the states of I/O pins 304 to flow through the register 306 to a PLL circuit 308 .
- the PLL circuit 308 also receives the external clock BCLK on pin 302 for generating the core clock CORE_CLK.
- the frequency of the internal clock CORE_CLK is determined by the data stored in the register 306 .
- the data may specify the ratio of the internal clock frequency to the external clock (BCLK) frequency.
- bus fraction settings may be stored in programmable devices in the processor, including, for example, fuse banks or non-volatile memory.
- the multiple bus fraction data settings of some processors may be used. Further, a wider range of frequency settings may be available for the processor's internal clock as compared to how much an external clock frequency can change.
- a signal VR_LO/HI# is provided by the control logic portion 100 to the voltage regulator 52 to adjust the voltage level supplied by the voltage regulator 52 up or down.
- a signal G_STPCLK# is provided to the processor 12 and a signal G_CPU_STP# is provided to the clock generator 50 to place the processor 12 in a low activity state (e.g., deep sleep or stop grant state) so that the clock frequency and supply voltage level of the processor 12 may be varied.
- the low activity state may also be defined as any of the C1, C2, and C3 states under the Advanced Configuration and Power Interface (ACPI) Specification, Revision 1.0, published on Dec. 22, 1996.
- Other low activity states may also be suitable, such as any state in which the internal clock of the processor is stopped but which allows internal settings to be maintained (e.g., values stored in registers and caches).
- a signal LO/HI# provided by the control logic portion 100 to the processor 12 determines whether the core clock frequency of the processor 12 is at a high or low level.
- the core clock frequency may vary between 350 MHz and 450 MHz depending on whether LO/HI# is active or not. It is noted that additional signals may be used to adjust the core clock frequency to more than two levels. Similarly, additional signals other than VR_LO/HI# may also be used to control the voltage levels provided by the voltage regulator 52 .
- a signal G_LO/HI# from the system bridge 34 indicates the desired system state and controls the states of LO/HI# and VR_LO/HI#. Additional signals may be used to define more than two system states.
- a signal VRCHGNG# is provided by the control logic 100 to system electronics circuitry (e.g., the host bridge 18 and system bridge 34 ) to indicate that the voltage level from the voltage regulator 52 is changing.
- a signal VRPWRGD from the control logic 100 to the system electronic circuit 104 indicates when the output from the voltage regulator 52 is within specification.
- the voltage regulator interface provided by the control logic portion 100 allows the voltage regulator 52 to change settings without causing a power-on reset of the system. As a result, the performance state transition (including adjusting the processor's core clock frequency and voltage level) may be accomplished without resetting the system, which invalidates the system context.
- the internal clock speed of the processor may be changed without changing the clock speed of the clock from the clock generator 50 while the processor is in the low activity state.
- the voltage regulator 52 when the voltage regulator on signal (VR_ON) is active (which is true whenever the system is on), the voltage regulator 52 settles to the output selected by VR_LO/HI# (a low level or a high level).
- a low supply voltage level may be about 1.3 V while a high supply voltage level may be about 1.8 V.
- the voltage regulator 52 asserts a signal VGATE, which in turn controls the state of the signal VRPWRGD provided by the control logic portion 100 to system electronics circuitry. To prevent a system reset, the signal VRPWRGD is maintained active during the performance state transition by the control logic irrespective of the condition of VGATE.
- the voltage regulator output may or may not change, depending on its original level. It is possible that the voltage regulator output level may be valid at both performance states, in which case a voltage level adjustment is not necessary.
- Different events may be used to trigger performance state transitions.
- a user may specify the performance state of the computer system.
- Other events may include docking or undocking of the system 10 and the coupling or discoupling of the external source port 58 to an external power source (such as an AC power source).
- Environmental changes in the system may also trigger a performance state change, including an over-temperature condition where a predefined temperature threshold in a thermal zone of the computer system has been violated.
- system usage may be monitored, with events generated to trigger switching to a lower performance state if usage is low, for example.
- Performance state change events may be handled a number of different ways.
- a device driver may be registered to receive such events, for example.
- such events may generate a system management interrupt (SMI) such that an SMI handler is invoked.
- SMI system management interrupt
- BIOS routine may be used to respond to a generated power event. Other mechanisms are also possible.
- the power management module may be implemented as a software module, in system firmware (e.g., system BIOS or SMI handler), as part of the operating system, as a device driver, or as a combination of the above.
- the power management module determines (at 202 ) if a performance state change is to be employed in response to a received event, indicating a power supply transition, docking/undocking, a user command, or other events.
- a performance state change is to be employed in response to a received event, indicating a power supply transition, docking/undocking, a user command, or other events.
- the power management module indicates (at 204 ) the new performance state of the processor is to transition to. This may be performed, for example, by writing a predefined value to a control register to indicate the new performance state of the processor 12 .
- the control register may be defined in memory or I/O address space.
- programming of the control register may be defined under the ACPI Specification.
- one or more ACPI objects may be created to indicate to the operating system that the system is capable of transitioning between or among different performance states and to denote the resources that may be used by the operating system to perform the transitions.
- the location and structure of the control register may be defined under an ACPI object.
- one or more ACPI objects may define the number of performance states available, the core clock frequencies and supply voltage levels to be used in the performance states, the expected power consumption in each performance state, and other information.
- the power management module places (at 206 ) the processor 12 into a low activity state (e.g., deep sleep, stop grant, C1, C2, or C3 state).
- a low activity state e.g., deep sleep, stop grant, C1, C2, or C3 state.
- the deep sleep state which may be the C3 state defined under the ACPI specification
- the external clock BCLK to the processor is disabled so that no activity is performed by the processor except maintenance of the stored data in the processor's internal cache.
- the processor performs minimal activity, such as snooping for an internal cache line hit to maintain cache coherency.
- the performance mode of the processor 12 may be changed by, for example, by changing the core processor clock frequency and adjusting the core voltage level.
- the power management module next determines if the performance state transition was successful (at 208 in FIG. 3). This may be determined by reading a predefined register in the processor 12 , which may be a model-specific register (MSR) or the processor's CPU ID register. The predetermined register may be updated by the processor 12 after a transition has been successful. If the transition was successful, then the power management module exits. If unsuccessful, the power management module may time out after a predetermined time period, and a failed indication may be provided.
- MSR model-specific register
- the performance state change sequence is illustrated in greater detail.
- the sequence is performed by a combination of software, firmware, and hardware, including the power management module, the control logic 100 and 102 , and other modules. It is contemplated, however, that the sequence may be varied and performed by different system layers and modules. Reference is also made to the timing diagram of FIG. 5, which illustrates relative timings of the signals and events involved in the performance state change sequence.
- an interrupt may be generated (at E 1 ), which may be an interrupt defined by the ACPI specification.
- the interrupt handler e.g., an ACPI driver
- the interrupt handler recognizes the power mode change and, in response, requests that the operating system place the processor into the low activity state (at E 2 ), which in one example may be the ACPI C3 state.
- the operating system performs system housekeeping (at E 3 ) and gives control of the system to the interrupt handler.
- interrupt handler disables the interrupts to the processor 12 (at E 4 ), although interrupts that may be handled by the system bridge 34 are not affected. It is noted that processor interrupts may not be disabled for more than a predetermined time period (e.g., about 200 microseconds) in order for the performance state transition to be seamless. For example, overrun errors on buffered networks or serial ports may occur if the latency caused by the performance state switching is greater than the predetermined period.
- a predetermined time period e.g., about 200 microseconds
- the interrupt handler sets up (at E 5 ) the performance state change by performing an I/O write to a register in the system bridge 34 to control the transition of the signal G_LO/HI#. As illustrated at E 6 in FIG. 5, this causes the signal G_LO/HI# from the system bridge 34 to change state. Changing the state of G_LO/HI# is an indication to change performance states.
- the interrupt handler initiates (at E 7 ) the transition of the processor 12 to the low activity state, which may in one example be performed by the interrupt handler accessing a predefined register in the system bridge 34 , such as performing a memory or I/O read of the level 3 register in the 82371 series of system bridge chips (PIIX3 or PIIX4 chips) from Intel Corporation.
- the system bridge 34 activates (at E 8 ) the signal STPCLK# to begin a processor stop clock sequence. This in turn activates (at E 9 ) a signal G_STPCLK# from the control logic portion 100 to the processor 12 .
- the processor 12 issues a stop grant cycle in response to detection of the activation of G_STPCLK#.
- the system bridge 34 recognizes the stop grant cycle, it asserts a signal SUS_STAT 1 # (at E 11 ) to the control logic portion 100 , which in turn activates a signal G_SUS_STAT 1 # (at E 12 ) provided to the host bridge 18 that may perform refresh control of system memory 16 .
- another clock e.g., a suspend clock
- the system bridge 34 asserts a signal CPU_STP# (at E 13 ) to the control logic portion 102 , which in turn activates a signal G_CPU_STP# (at E 14 ) that is routed to the clock generator 50 and the control logic portion 100 .
- the clock generator 50 deactivates the host clock (BCLK) at E 15 .
- control logic portion 100 may latch certain signals which may not be changed during the deep sleep state of the processor 12 , such as signals INIT#, INTR, NMI, and SMI# used by the Pentium® family of processors, which are latched as signals G_INIT, G_INTR, G_NMI, and G_SMI# provided to the processor 100 .
- signals INIT#, INTR, NMI, and SMI# used by the Pentium® family of processors, which are latched as signals G_INIT, G_INTR, G_NMI, and G_SMI# provided to the processor 100 .
- VRCHGNG# may also be activated at this time.
- the control logic portion 100 changes the state of the signal VR_LO/HI# (if necessary) to begin changing the voltage level of the voltage regulator 52 .
- the predetermined delay is to allow time for the phase locked loop (PLL) circuit in the processor 12 to deactivate.
- PLL phase locked loop
- the signal VGATE driven by the voltage regulator 52 may or may not deassert. At this point, the voltage regulator setting is changing, but the processor core clock frequency change does not begin until the voltage level settles. Further, as illustrated in FIG. 5, the power good indications VRPWRGD and CPUPWRGD remain active to prevent system reset.
- the interrupt handler may issue an asynchronous wake event (at E 18 ) to initiate system exit from the low activity state.
- this wake event is optional and may occur any time after activation of G_CPU_STP#.
- a system controller interrupt SCI
- SCI system controller interrupt
- the wake event is blocked by latching certain signals in the control logic 100 and 102 .
- the system bridge 34 deactivates the signal CPU_STP# (at E 18 ). However, the signal G_CPU_STP# is maintained latched by the control logic portion 102 to continue in the low activity state.
- the signals SUS_STAT 1 # and STPCLK# are also deactivated (at E 19 and E 20 ) in response to deactivation of CPU_STP#, but the control logic portion 100 maintains the states of G_SUS_STAT 1 # and G_STPCLK# latched.
- the control logic portion 100 then waits for the signal VGATE to be activated by the voltage regulator 52 (at E 21 ) to indicate that the voltage levels have settled or to wait until a predetermined time period has elapsed (e.g., 100 microseconds) and VGATE is asserted.
- a predetermined time period e.g. 100 microseconds
- the control logic portion 100 changes the state of LO/HI# to change the core clock frequency of the processor 12 (at E 22 ) and deasserts VRCHGNG#.
- a synchronous wake event (which may be in the form of a system control interrupt or SCI) may be asserted by the system bridge 34 to force the system out of the low activity state.
- the SCI event is independent of the asynchronous wake event that may be generated at E 17 .
- Either one of the wake events may be used.
- generation of the asynchronous wake event at E 17 before SCI allows early deactivation of CPU_STP#, SUS_STAT 1 #, and STPCLK# so that the control logic controls the timing of G_CPU_STP#, G_SUS_STAT 1 #, and G_STPCLK#.
- the signal G_CPU_STP# is also deactivated (at E 23 ).
- the host clock is started by the clock generator 50 (at E 24 ).
- the control logic portion 100 waits a predetermined time period (e.g., greater than 64 microseconds) before deactivating G_SUS_STAT 1 # (at E 25 ).
- a predetermined time period after that, the signal G_STPCLK# is deactivated (at E 26 ).
- the control logic portion 100 controls the deassertion of the signals G_CPU_STP#, G_SUS_STAT 1 # and G_STPCLK# since the wake event issued at E 17 has already triggered deassertion of the CPU_STP#, SUS_STAT#, and STPCLK# signals.
- the interrupt SCI generated at E 22 triggers deassertion of STPCLK#, SUS_STAT 1 #, and CPU_STP#.
- predefined register bits in the processor 12 may be updated that is accessible by software to determine if the performance state change has been successfully made.
- the predefined register bits may be mapped to a memory or I/O address of the processor 12 , the voltage regulator 52 , or a combination of both. Alternatively, the predefined register bits may be found in system memory 16 .
- a power management control system has been described that controls the switching of a system between or among different performance states in response to predetermined events.
- the performance state switching is performed after the processor or other component has been placed into a low activity state.
- An advantage of such a system is that a system reset may be avoided in switching between or among performance states.
- the internal clock speed of the processor or other component may be varied while it is in the low activity state.
- system performance may be improved “on the fly” without user intervention.
Abstract
Description
- The invention relates to managing a system's performance state.
- Portable systems, such as portable computers, have steadily become more powerful with improved technology. Still, the processing, storage, and other capabilities of portable systems are limited due to power consumption and heat dissipation constraints. A portable system relies on a battery as its power source when it is not connected to an external power supply such as an AC outlet. As battery life is limited, power consumption in the system is reduced typically by lowering voltage levels of certain components (e.g., the processor) and reducing clock frequencies of these components. For example, the core clock speed of a processor as well as its voltage levels may be reduced to lower the processor's power consumption. This, however, also reduces processor performance.
- Portable systems have become increasingly popular as replacements for desktop systems. When used in the office or at a location with access to an external power supply, the portable systems are plugged into the external power supply, either by use of an AC adapter or through a docking station. However, because conventional portable systems typically operate at reduced performance levels due to limitations of the battery and thermal dissipation requirements, performance of portable systems generally lag the typical desktop system. Consequently, a need arises for a solution that would allow portable systems to operate at higher performance levels to approach the performance of desktop systems.
- In general, according to an embodiment, a system includes a component and a detector adapted to detect generation of a power management event. A controller is adapted to, in response to the power management event, transition the component from a first performance mode to a reduced activity state and to change a setting of the component to a second, different performance mode while the component is in the reduced activity state.
- Other features will become apparent from the following description and from the claims.
- FIG. 1 is a block diagram of a system according to an embodiment of the invention.
- FIG. 2 is a block diagram of power management control logic in the system of FIG. 1.
- FIG. 3 is a flow diagram of a power management module in the system of FIG. 1.
- FIG. 4 is a flow diagram of a performance mode change sequence in the system of FIG. 1.
- FIGS. 5 and 6 are timing diagrams of signals and events in the performance mode change sequence of FIG. 4.
- FIG. 7 is a block diagram of circuitry that has one capability to adjust a core clock frequency of a component in the system of FIG. 1 according to an embodiment of the invention.
- According to an embodiment of the invention, multiple performance states may be defined in a system (which may be, as examples, a portable computer, a notebook computer, a hand-held electronic device, and the like) by using a number of different criteria, including core component clock speeds, power supply voltage settings, and the like. Depending on the power consumption desired of the system, the system may be set at one of the multiple performance states. For example, if the system is only powered by battery (such as when the system is being used as a portable unit remotely without access to an external power source), the system is placed in a lower performance state to conserve power. However, if the system is powered by an external power source (such as an alternating current or AC outlet), the system may be placed in a high performance state, in which performance may be maximized subject to thermal dissipation constraints. In this high performance state, additional heat dissipation devices (e.g., fans) may be activated in the system for improved thermal management. Other intermediate performance states may be specified as desired.
- According to one embodiment, to transition between the multiple (two or more) performance states, which may be performed by a controller formed of one or more layers (including, for example, software, firmware, and hardware), one or more selected components are placed into a lower or reduced activity mode (e.g., deep sleep or stop grant states if the component is a processor). Components may include a general-purpose or special-purpose processor such as a microprocessor or microcontroller, an application-specific integrated circuit (ASIC), a programmable gate array (PGA), or any other discrete or integrated device in which performance levels may be adjusted. A controller, implemented in software, firmware, and/or hardware, may then control the performance state transitions by, for example, adjusting component clock frequencies and power supply voltage levels. The performance state transitions may be achieved seamlessly and relatively rapidly without user intervention.
- Power dissipation of components is proportional to internal clock speed and to the square of core supply voltage. As a component's internal clock speed is reduced, the minimum required core voltage supply level can also be reduced, thereby dramatically reducing the component's power consumption. In the embodiments described below, the performance state of the computer system is changed by changing the processor's core clock frequency and core voltage levels. In the ensuing description, the component in which internal clock speeds and voltage levels are adjusted is the processor, although clock speeds and voltage levels of other components may be varied in further embodiments.
- Referring to FIG. 1, an
example system 10 according to an embodiment of the invention includes a processor 12 (e.g., an 80×86 or Pentium® family processor from Intel Corporation) that receives an external clock BCLK (from a clock generator 50) and a supply voltage (from a voltage regulator 52). Thevoltage regulator 52 and theclock generator 50 are both controllable to adjust the core voltage levels as well as the core clock frequencies in theprocessor 12, as further described below. - The main power supply voltages in the
system 10 are provided by apower supply circuit 56 that is coupled to abattery 60 or an externalpower source outlet 58. When the external power source (not shown) is plugged into or removed from theexternal outlet source 58, an interrupt (e.g., a system management interrupt or SMI) may be generated to notify system software of the external power source insertion or removal. In addition, docking thesystem 10 to a docking base unit may also indicate a power source transition. In one embodiment, a device driver may detect power source transitions and docking events by registering with the operating system for power and plug-and-play notifications, for example. Thus, depending on whether thesystem 10 is powered by an internal power source (e.g., battery 60) or by an external power source (e.g., as coupled through the external source outlet 58), thesystem 10 may be set at a suitable performance level. For example, when the external power source is coupled, thesystem 10 may operate at a higher performance mode; however, if the internal power source is coupled instead, then thesystem 10 may operate at a lower performance mode. - Additionally, the
computer system 10 may provide a graphical user interface through which a user may specify the desired performance state of the system. - The
processor 12 may be coupled to acache memory 14 as well as to ahost bridge 18 that includes a memory controller for controllingsystem memory 16. Thehost bridge 18 is further coupled to asystem bus 22, which may in one embodiment be a Peripheral Component Interconnect (PCI) bus, as defined in the PCI Local Bus Specification, Production Version, Rev. 2.1, published on Jun. 1, 1995. Thesystem bus 22 may also be coupled to other components, including avideo controller 24 coupled to adisplay 26 andperipheral slots 28. - A secondary or expansion bus46 may be coupled by a
system bridge 34 to thesystem bus 22. Thesystem bridge 34 includes interface circuits to different ports, including a universal serial bus (USB) port 36 (as described in the Universal Serial Bus Specification, Revision 1.0, published in January 1996) and ports that may be coupled to mass storage devices such as a hard disk drive, compact disc (CD) or digital video disc (DVD) drives, and the like. - Other components that may be coupled to the secondary bus46 include an input/output (I/O)
circuit 40 coupled to a parallel port, serial port, floppy drive, and infrared port. Anon-volatile memory 32 for storing basic input/output system (BIOS) routines may be located on the bus 46, as may akeyboard device 42 and anaudio control device 44, as examples. It is to be understood, however, that all components in thesystem 10 are for illustrative purposes and the invention is not limited in scope to the illustrated system. - Various software or firmware layers (formed of modules or routines, for example), including applications, operating system modules, device drivers, BIOS modules, and interrupt handlers, may be stored in one or more storage media in the system. The storage media includes the hard disk drive, CD or DVD drive, floppy drive, non-volatile memory, and system memory. The modules, routines, or other layers stored in the storage media contain instructions that when executed causes the
system 10 to perform programmed acts. - The software or firmware layers can be loaded into the
system 10 in one of many different ways. For example, code segments stored on floppy disks, CD or DVD media, the hard disk, or transported through a network interface card, modem, or other interface mechanism may be loaded into thesystem 10 and executed as corresponding software or firmware layers. In the loading or transport process, data signals that are embodied as carrier waves (transmitted over telephone lines, network lines, wireless links, cables, and the like) may communicate the code segments to thesystem 10. - In the description that follows, reference is made to specific signals and circuitry as well as to sequences of events—it is to be understood that the invention is not limited in scope to the illustrated embodiments.
- Referring to FIG. 2, power management control logic according to an embodiment of the invention for controlling the core clock frequency and the supply voltage level of the
processor 12 is shown. In the illustrated embodiment, the control logic may be separated into afirst portion 100 and asecond portion 102. However, it is contemplated that the control logic may also be integrated in one component. The firstcontrol logic portion 100 may be included in thehost bridge 18, and the secondcontrol logic portion 102 may be included in thesystem bridge 34. Alternatively the first and second control logic portions may be implemented as separate chips. In addition, instead of being configured with host and system bridges 18 and 34 as illustrated in FIG. 1, the circuitry may be implemented as a memory hub (including interfaces to the processor and system memory) and an input/output (I/O) hub (including interfaces to the system bus and secondary bus). In this other configuration, thecontrol logic control logic voltage regulator 52 andclock generator 50. - The power management control logic (100, 102) provides control signals to the
voltage regulator 52 to adjust its voltage levels and to theprocessor 12 to adjust the processor's internal clock frequency. In addition, the power management control logic (100, 102) is responsible for placing theprocessor 12 into a low activity state to transition the system to a different performance state. - The core or internal clock frequency of the processor may be varied by changing a setting in the processor. In one embodiment, one of several values may be provided to the processor through input pins, which may be sampled by the processor when it is in a low activity state or when it is in reset. The value sampled by the processor may in one embodiment represent bus fraction data specifying the ratio of the processor's core clock to an external clock, such as BCLK. In one embodiment, the frequency of the external clock can remain the same while the internal clock frequency is changed.
- One such embodiment is disclosed in FIG. 7, in which the
processor 12 includes aclock generator 308, which may be a phase locked loop (PLL) circuit, for example. In one example configuration, thePLL circuit 308 includes settings that may be varied according to data (which may be bus fraction data, for example) stored in aregister 306. The inputs of theregister 306 may be coupled to input/output (I/O) pins 304, and theregister 306 may have a latch input controlled by a NORgate 310. Bus fraction data may be presented onto I/O pins 304 and loaded into theregister 306 during a low activity state or some other suitable state, e.g., processor reset. The NORgate 310 receives a signal indicating that theprocessor 12 is in a low activity state, e.g., stop grant or deep sleep state. In the illustrated example, the signal may be referred to as DEEPSLEEP, although other signal names indicating a low activity state may also be used. The signal DEEPSLEEP is provided by astate machine 330, or alternatively, by an input pin of theprocessor 12 to indicate when theprocessor 12 is in a low activity state. - The NOR gate also may receive another signal (e.g., CPURESET) indicating that the
processor 12 is in reset. According to the illustrated embodiment, when the output terminal of the NORgate 310 is low, indicating that theprocessor 12 is either in reset state or in a low activity state, theregister 306 allows the states of I/O pins 304 to flow through theregister 306 to aPLL circuit 308. ThePLL circuit 308 also receives the external clock BCLK onpin 302 for generating the core clock CORE_CLK. The frequency of the internal clock CORE_CLK is determined by the data stored in theregister 306. For example, the data may specify the ratio of the internal clock frequency to the external clock (BCLK) frequency. When theprocessor 12 is out of reset or the low activity state, the NORgate 310 asserts its output terminal high to latch the value present on the I/O pins 304. This maintains the core clock frequency until the next change condition is detected. - In further embodiments, the bus fraction settings may be stored in programmable devices in the processor, including, for example, fuse banks or non-volatile memory.
- By changing the internal clock speed of the processor rather than the external clock speed the multiple bus fraction data settings of some processors may be used. Further, a wider range of frequency settings may be available for the processor's internal clock as compared to how much an external clock frequency can change.
- A brief description of the interface signals between the power management control logic (100, 102) and the other components of the system follows. A signal VR_LO/HI# is provided by the
control logic portion 100 to thevoltage regulator 52 to adjust the voltage level supplied by thevoltage regulator 52 up or down. A signal G_STPCLK# is provided to theprocessor 12 and a signal G_CPU_STP# is provided to theclock generator 50 to place theprocessor 12 in a low activity state (e.g., deep sleep or stop grant state) so that the clock frequency and supply voltage level of theprocessor 12 may be varied. The low activity state may also be defined as any of the C1, C2, and C3 states under the Advanced Configuration and Power Interface (ACPI) Specification, Revision 1.0, published on Dec. 22, 1996. Other low activity states may also be suitable, such as any state in which the internal clock of the processor is stopped but which allows internal settings to be maintained (e.g., values stored in registers and caches). - A signal LO/HI# provided by the
control logic portion 100 to theprocessor 12 determines whether the core clock frequency of theprocessor 12 is at a high or low level. As an example, the core clock frequency may vary between 350 MHz and 450 MHz depending on whether LO/HI# is active or not. It is noted that additional signals may be used to adjust the core clock frequency to more than two levels. Similarly, additional signals other than VR_LO/HI# may also be used to control the voltage levels provided by thevoltage regulator 52. In the illustrated embodiment, a signal G_LO/HI# from thesystem bridge 34 indicates the desired system state and controls the states of LO/HI# and VR_LO/HI#. Additional signals may be used to define more than two system states. - A signal VRCHGNG# is provided by the
control logic 100 to system electronics circuitry (e.g., thehost bridge 18 and system bridge 34) to indicate that the voltage level from thevoltage regulator 52 is changing. A signal VRPWRGD from thecontrol logic 100 to the system electronic circuit 104 indicates when the output from thevoltage regulator 52 is within specification. According to embodiments of the invention, the voltage regulator interface provided by thecontrol logic portion 100 allows thevoltage regulator 52 to change settings without causing a power-on reset of the system. As a result, the performance state transition (including adjusting the processor's core clock frequency and voltage level) may be accomplished without resetting the system, which invalidates the system context. Further, according to some embodiments, the internal clock speed of the processor may be changed without changing the clock speed of the clock from theclock generator 50 while the processor is in the low activity state. - According to one embodiment of the invention, when the voltage regulator on signal (VR_ON) is active (which is true whenever the system is on), the
voltage regulator 52 settles to the output selected by VR_LO/HI# (a low level or a high level). By way of example, a low supply voltage level may be about 1.3 V while a high supply voltage level may be about 1.8 V. When the outputs of theregulator 52 are on and within specification, thevoltage regulator 52 asserts a signal VGATE, which in turn controls the state of the signal VRPWRGD provided by thecontrol logic portion 100 to system electronics circuitry. To prevent a system reset, the signal VRPWRGD is maintained active during the performance state transition by the control logic irrespective of the condition of VGATE. - It is contemplated that when the
processor 12 is transitioning from one performance state to another, the voltage regulator output may or may not change, depending on its original level. It is possible that the voltage regulator output level may be valid at both performance states, in which case a voltage level adjustment is not necessary. - Different events may be used to trigger performance state transitions. For example, a user (through a graphical user interface) may specify the performance state of the computer system. Other events may include docking or undocking of the
system 10 and the coupling or discoupling of theexternal source port 58 to an external power source (such as an AC power source). Environmental changes in the system may also trigger a performance state change, including an over-temperature condition where a predefined temperature threshold in a thermal zone of the computer system has been violated. In addition, system usage may be monitored, with events generated to trigger switching to a lower performance state if usage is low, for example. - Performance state change events may be handled a number of different ways. A device driver may be registered to receive such events, for example. Alternatively, such events may generate a system management interrupt (SMI) such that an SMI handler is invoked. In addition, A BIOS routine may be used to respond to a generated power event. Other mechanisms are also possible.
- Referring to FIG. 3, the process executed by a power management module according to one embodiment in the system to control performance state transitions is illustrated. The power management module may be implemented as a software module, in system firmware (e.g., system BIOS or SMI handler), as part of the operating system, as a device driver, or as a combination of the above. The power management module determines (at202) if a performance state change is to be employed in response to a received event, indicating a power supply transition, docking/undocking, a user command, or other events. Thus, for example, if the system was originally battery operated, and has been plugged into the AC outlet, then the system may transition to a high performance state. If removed from the AC outlet, then the system may transition to a lower performance state. Next, the power management module indicates (at 204) the new performance state of the processor is to transition to. This may be performed, for example, by writing a predefined value to a control register to indicate the new performance state of the
processor 12. The control register may be defined in memory or I/O address space. In addition, programming of the control register may be defined under the ACPI Specification. Thus, in one embodiment, one or more ACPI objects may be created to indicate to the operating system that the system is capable of transitioning between or among different performance states and to denote the resources that may be used by the operating system to perform the transitions. The location and structure of the control register may be defined under an ACPI object. Further, one or more ACPI objects may define the number of performance states available, the core clock frequencies and supply voltage levels to be used in the performance states, the expected power consumption in each performance state, and other information. - Next, the power management module places (at206) the
processor 12 into a low activity state (e.g., deep sleep, stop grant, C1, C2, or C3 state). In the deep sleep state, which may be the C3 state defined under the ACPI specification, the external clock BCLK to the processor is disabled so that no activity is performed by the processor except maintenance of the stored data in the processor's internal cache. In the stop grant or C2 state, the processor performs minimal activity, such as snooping for an internal cache line hit to maintain cache coherency. While theprocessor 12 is in the low activity state, the performance mode of theprocessor 12 may be changed by, for example, by changing the core processor clock frequency and adjusting the core voltage level. Once theprocessor 12 has transitioned to the low activity state, thecontrol logic - The power management module next determines if the performance state transition was successful (at208 in FIG. 3). This may be determined by reading a predefined register in the
processor 12, which may be a model-specific register (MSR) or the processor's CPU ID register. The predetermined register may be updated by theprocessor 12 after a transition has been successful. If the transition was successful, then the power management module exits. If unsuccessful, the power management module may time out after a predetermined time period, and a failed indication may be provided. - Referring to FIG. 4, the performance state change sequence is illustrated in greater detail. The sequence is performed by a combination of software, firmware, and hardware, including the power management module, the
control logic - When the system detects a power mode change (such as in response to the power management module writing to the predetermined control register to indicate the new performance state), an interrupt may be generated (at E1), which may be an interrupt defined by the ACPI specification. When the interrupt handler (e.g., an ACPI driver) is loaded, it recognizes the power mode change and, in response, requests that the operating system place the processor into the low activity state (at E2), which in one example may be the ACPI C3 state. Next, the operating system performs system housekeeping (at E3) and gives control of the system to the interrupt handler.
- Next the interrupt handler disables the interrupts to the processor12 (at E4), although interrupts that may be handled by the
system bridge 34 are not affected. It is noted that processor interrupts may not be disabled for more than a predetermined time period (e.g., about 200 microseconds) in order for the performance state transition to be seamless. For example, overrun errors on buffered networks or serial ports may occur if the latency caused by the performance state switching is greater than the predetermined period. - Next, the interrupt handler sets up (at E5) the performance state change by performing an I/O write to a register in the
system bridge 34 to control the transition of the signal G_LO/HI#. As illustrated at E6 in FIG. 5, this causes the signal G_LO/HI# from thesystem bridge 34 to change state. Changing the state of G_LO/HI# is an indication to change performance states. - Next, the interrupt handler initiates (at E7) the transition of the
processor 12 to the low activity state, which may in one example be performed by the interrupt handler accessing a predefined register in thesystem bridge 34, such as performing a memory or I/O read of thelevel 3 register in the 82371 series of system bridge chips (PIIX3 or PIIX4 chips) from Intel Corporation. In response to thelevel 3 read, thesystem bridge 34 activates (at E8) the signal STPCLK# to begin a processor stop clock sequence. This in turn activates (at E9) a signal G_STPCLK# from thecontrol logic portion 100 to theprocessor 12. - Next, at E10, the
processor 12 issues a stop grant cycle in response to detection of the activation of G_STPCLK#. When thesystem bridge 34 recognizes the stop grant cycle, it asserts a signal SUS_STAT1# (at E11) to thecontrol logic portion 100, which in turn activates a signal G_SUS_STAT1# (at E12) provided to thehost bridge 18 that may perform refresh control ofsystem memory 16. In the embodiment in which the processor clock BCLK is disabled, another clock (e.g., a suspend clock) may be needed to perform system memory refresh. Next, thesystem bridge 34 asserts a signal CPU_STP# (at E13) to thecontrol logic portion 102, which in turn activates a signal G_CPU_STP# (at E14) that is routed to theclock generator 50 and thecontrol logic portion 100. In response to activation of G_CPU_STP#, theclock generator 50 deactivates the host clock (BCLK) at E15. At this point, thecontrol logic portion 100 may latch certain signals which may not be changed during the deep sleep state of theprocessor 12, such as signals INIT#, INTR, NMI, and SMI# used by the Pentium® family of processors, which are latched as signals G_INIT, G_INTR, G_NMI, and G_SMI# provided to theprocessor 100. In addition, VRCHGNG# may also be activated at this time. - After a predetermined delay following activation of G_CPU_STP# (e.g., 10 microseconds), the
control logic portion 100 changes the state of the signal VR_LO/HI# (if necessary) to begin changing the voltage level of thevoltage regulator 52. The predetermined delay is to allow time for the phase locked loop (PLL) circuit in theprocessor 12 to deactivate. Depending on whether the voltage level of thevoltage regulator 52 is within or out of specification, the signal VGATE driven by thevoltage regulator 52 may or may not deassert. At this point, the voltage regulator setting is changing, but the processor core clock frequency change does not begin until the voltage level settles. Further, as illustrated in FIG. 5, the power good indications VRPWRGD and CPUPWRGD remain active to prevent system reset. - Next, the interrupt handler may issue an asynchronous wake event (at E18) to initiate system exit from the low activity state. According to an embodiment of the invention, this wake event is optional and may occur any time after activation of G_CPU_STP#. Alternatively, a system controller interrupt (SCI) may be issued to initiate exit from the low activity state. If this is caused by assertion of VRCHGNG#, the overall latency is minimized. If the wake event occurs at E17, which is before the voltage regulator state change and the core processor clock frequency change have completed, the wake event is blocked by latching certain signals in the
control logic - In response to the wake event, the
system bridge 34 deactivates the signal CPU_STP# (at E18). However, the signal G_CPU_STP# is maintained latched by thecontrol logic portion 102 to continue in the low activity state. The signals SUS_STAT1# and STPCLK# are also deactivated (at E19 and E20) in response to deactivation of CPU_STP#, but thecontrol logic portion 100 maintains the states of G_SUS_STAT1# and G_STPCLK# latched. - The
control logic portion 100 then waits for the signal VGATE to be activated by the voltage regulator 52 (at E21) to indicate that the voltage levels have settled or to wait until a predetermined time period has elapsed (e.g., 100 microseconds) and VGATE is asserted. When either occurs, thecontrol logic portion 100 changes the state of LO/HI# to change the core clock frequency of the processor 12 (at E22) and deasserts VRCHGNG#. By this time, a synchronous wake event (which may be in the form of a system control interrupt or SCI) may be asserted by thesystem bridge 34 to force the system out of the low activity state. The SCI event is independent of the asynchronous wake event that may be generated at E17. Either one of the wake events may be used. In FIG. 5, generation of the asynchronous wake event at E17 before SCI allows early deactivation of CPU_STP#, SUS_STAT1#, and STPCLK# so that the control logic controls the timing of G_CPU_STP#, G_SUS_STAT1#, and G_STPCLK#. - Next, once VRCHGNG# deasserts to indicate the voltage regulator outputs have settled and if the signal CPU_STP# is inactive, the signal G_CPU_STP# is also deactivated (at E23). When this occurs, the host clock is started by the clock generator 50 (at E24). After the host clock starts, the
control logic portion 100 waits a predetermined time period (e.g., greater than 64 microseconds) before deactivating G_SUS_STAT1# (at E25). A predetermined time period after that, the signal G_STPCLK# is deactivated (at E26). - As noted above with reference to FIG. 5, the
control logic portion 100 controls the deassertion of the signals G_CPU_STP#, G_SUS_STAT1# and G_STPCLK# since the wake event issued at E17 has already triggered deassertion of the CPU_STP#, SUS_STAT#, and STPCLK# signals. In contrast, in FIG. 6, if the wake event E17 is not issued until much later after the SCI, the interrupt SCI generated at E22 triggers deassertion of STPCLK#, SUS_STAT1#, and CPU_STP#. As illustrated, once VRCHGNG# is deactivated, G_CPU_STP# is not deactivated until after CPU_STP# is deasserted by thesystem bridge 34 in response to the SCI. Consequently, the sequence of events and signals to wake theprocessor 12 is changed as shown in FIG. 6. - After the signals G_STPCLK#, G_CPU_STP#, and G_SUS_STAT1# are all deasserted, the
processor 12 exits the low activity state (at E27) in the new performance state. Finally the latched signals INIT#, INTR, NMI, and SMI# are released (at E28) and the system is allowed to proceed with normal operations. - After the internal clock frequency and voltage settings have changed, predefined register bits in the
processor 12 may be updated that is accessible by software to determine if the performance state change has been successfully made. The predefined register bits may be mapped to a memory or I/O address of theprocessor 12, thevoltage regulator 52, or a combination of both. Alternatively, the predefined register bits may be found insystem memory 16. - A power management control system has been described that controls the switching of a system between or among different performance states in response to predetermined events. The performance state switching is performed after the processor or other component has been placed into a low activity state. An advantage of such a system is that a system reset may be avoided in switching between or among performance states. For example, the internal clock speed of the processor or other component may be varied while it is in the low activity state. In addition, by switching states depending on how the computer system is being utilized (e.g., internal or external power source, high temperature conditions, etc.), system performance may be improved “on the fly” without user intervention.
- Other embodiments are within the scope of the following claims. Although one example described involves portable computer systems, the power control system described can be applied to other types of systems. In addition, components (other than a processor) may be transitioned to different performance states to implement other embodiments of the invention. The steps described in the power management sequence may be varied and still achieve similar results.
- While the invention has been disclosed with respect to a limited number of embodiments, those skilled in the art, having the benefit of this disclosure, will appreciate numerous modifications and variations therefrom. It is intended that the appended claims cover all such modifications and variations as fall within the true spirit and scope of the invention.
Claims (31)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/204,896 US6272642B2 (en) | 1998-12-03 | 1998-12-03 | Managing a system's performance state |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/204,896 US6272642B2 (en) | 1998-12-03 | 1998-12-03 | Managing a system's performance state |
Publications (2)
Publication Number | Publication Date |
---|---|
US20010003206A1 true US20010003206A1 (en) | 2001-06-07 |
US6272642B2 US6272642B2 (en) | 2001-08-07 |
Family
ID=22759932
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/204,896 Expired - Lifetime US6272642B2 (en) | 1998-12-03 | 1998-12-03 | Managing a system's performance state |
Country Status (1)
Country | Link |
---|---|
US (1) | US6272642B2 (en) |
Cited By (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6446215B1 (en) * | 1999-08-20 | 2002-09-03 | Advanced Micro Devices, Inc. | Method and apparatus for controlling power management state transitions between devices connected via a clock forwarded interface |
US20020134567A1 (en) * | 2001-03-20 | 2002-09-26 | Neil Rasmussen | Adjustable scalable rack power system and method |
US20020152408A1 (en) * | 2001-04-12 | 2002-10-17 | International Business Machines Corporation | Computer system and unit, and power supply control method therefor |
US6501999B1 (en) * | 1999-12-22 | 2002-12-31 | Intel Corporation | Multi-processor mobile computer system having one processor integrated with a chipset |
WO2003036448A2 (en) * | 2001-10-25 | 2003-05-01 | Intel Corporation | A method and system for power reduction |
US20030120961A1 (en) * | 2001-12-21 | 2003-06-26 | Barnes Cooper | Managing multiple processor performance states |
US20030121689A1 (en) * | 2002-01-02 | 2003-07-03 | Neil Rasmussen | Toolless mounting system and method for an adjustable scalable rack power system |
US6711526B2 (en) * | 2000-12-29 | 2004-03-23 | Intel Corporation | Operating system-independent method and system of determining CPU utilization |
US6721672B2 (en) * | 2002-01-02 | 2004-04-13 | American Power Conversion | Method and apparatus for preventing overloads of power distribution networks |
US20040153592A1 (en) * | 2001-06-13 | 2004-08-05 | Nokia Corporation | Method for adapting a bus and a bus |
US20040231875A1 (en) * | 2001-03-20 | 2004-11-25 | Neil Rasmussen | Adjustable scalable rack power system and method |
US20050044449A1 (en) * | 2003-08-19 | 2005-02-24 | Dunstan Robert A. | Power button and device wake event processing methods in the absence of AC power |
US20050044437A1 (en) * | 2003-08-19 | 2005-02-24 | Dunstan Robert A. | Power conservation in the absence of AC power |
EP1515220A2 (en) * | 2003-09-12 | 2005-03-16 | Broadcom Corporation | Method, machine readable storage and system for power management in a gigabit Ethernet chip |
US20050137894A1 (en) * | 2003-12-18 | 2005-06-23 | Ricardo Espinoza-Ibarra | Rack equipment power purchase plan supervision system and method |
US20050144494A1 (en) * | 2003-12-24 | 2005-06-30 | Frederic Bonavita | Method and apparatus for reducing memory current leakage a mobile device |
US20060179344A1 (en) * | 2005-02-09 | 2006-08-10 | Yutaka Koike | Information recording apparatus |
US20060265610A1 (en) * | 2005-05-18 | 2006-11-23 | Lg Electronics Inc. | Computer system with power-saving capability and method for implementing power-saving mode in computer system |
US7245725B1 (en) * | 2001-05-17 | 2007-07-17 | Cypress Semiconductor Corp. | Dual processor framer |
US20070168088A1 (en) * | 2005-11-02 | 2007-07-19 | Server Technology, Inc. | Power distribution load shedding system and method of use |
US20070262754A1 (en) * | 2006-05-11 | 2007-11-15 | Intel Corporation | Load circuit supply voltage control |
US20070291430A1 (en) * | 2006-06-16 | 2007-12-20 | American Power Conversion Corporation | Apparatus and method for scalable power distribution |
US20070291433A1 (en) * | 2006-06-16 | 2007-12-20 | American Power Conversion Corporation | Apparatus and method for scalable power distribution |
US20100067197A1 (en) * | 2008-09-12 | 2010-03-18 | Callpod Inc. | Portable multi-device power supply, battery charger, and docking system |
US20110099401A1 (en) * | 2004-11-03 | 2011-04-28 | Claus Steinle | Microcontroller system |
US7940504B2 (en) | 2007-06-21 | 2011-05-10 | American Power Conversion Corporation | Apparatus and method for scalable power distribution |
US20110173360A1 (en) * | 2010-01-11 | 2011-07-14 | Qualcomm Incorporated | System and method of monitoring a central processing unit in real time |
US8116105B2 (en) | 2008-02-07 | 2012-02-14 | American Power Conversion Corporation | Systems and methods for uninterruptible power supply control |
US8212427B2 (en) | 2009-12-03 | 2012-07-03 | American Power Converison Corporation | Apparatus and method for scalable power distribution |
US8552589B2 (en) | 2010-05-14 | 2013-10-08 | Schneider Electric It Corporation | Digital control method for operating the UPS systems in parallel |
US20130315011A1 (en) * | 2012-05-25 | 2013-11-28 | Semiconductor Energy Laboratory Co., Ltd. | Semiconductor device and driving method thereof |
US20140149763A1 (en) * | 2012-11-27 | 2014-05-29 | International Business Machines Corporation | Computing system voltage control |
US20140149769A1 (en) * | 2012-11-27 | 2014-05-29 | International Business Machines Corporation | Computing system frequency target monitor |
US20150006917A1 (en) * | 2013-06-28 | 2015-01-01 | William C. Rash | Protected Power Management Mode In A Processor |
EP2796961A3 (en) * | 2013-04-25 | 2016-10-26 | Intel Corporation | Controlling power and performance in a system agent of a processor |
WO2019066886A1 (en) * | 2017-09-29 | 2019-04-04 | Intel Corporation | Techniques for controlling processor performance states |
USRE47420E1 (en) | 2001-03-02 | 2019-06-04 | Advanced Micro Devices, Inc. | Performance and power optimization via block oriented performance measurement and control |
EP3575969A1 (en) * | 2018-05-30 | 2019-12-04 | INTEL Corporation | Reducing cache line collisions |
US11630587B2 (en) * | 2019-12-03 | 2023-04-18 | Samsung Electronics Co.. Ltd. | Storage device and a data backup method thereof |
Families Citing this family (70)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SG65097A1 (en) * | 1998-12-28 | 2001-08-21 | Compaq Computer Corp | Break event generation during transitions between modes of operation in a computer system |
US6732190B1 (en) * | 1999-03-09 | 2004-05-04 | Intel Corporation | Method and apparatus for conserving power consumed by a network interface device in packet filtering mode |
US6360327B1 (en) * | 1999-03-12 | 2002-03-19 | Compaq Information Technologies Group, L.P. | System with control registers for managing computer legacy peripheral devices using an advanced configuration power interface software power management system |
US7472215B1 (en) * | 1999-03-31 | 2008-12-30 | International Business Machines Corporation | Portable computer system with thermal enhancements and multiple power modes of operation |
US6418535B1 (en) * | 1999-04-28 | 2002-07-09 | International Business Machines Corporation | Bi-level power saver method for portable or laptop computer |
US6487521B1 (en) * | 1999-07-07 | 2002-11-26 | International Business Machines Corporation | Method, system, and program for monitoring a device to determine a power failure at the device |
US6823516B1 (en) * | 1999-08-10 | 2004-11-23 | Intel Corporation | System and method for dynamically adjusting to CPU performance changes |
US6470290B1 (en) | 1999-08-31 | 2002-10-22 | Lg Electronics, Inc. | Device having an improved apparatus and method for setting power management mode |
US6624816B1 (en) * | 1999-09-10 | 2003-09-23 | Intel Corporation | Method and apparatus for scalable image processing |
US7100061B2 (en) | 2000-01-18 | 2006-08-29 | Transmeta Corporation | Adaptive power control |
US6886105B2 (en) * | 2000-02-14 | 2005-04-26 | Intel Corporation | Method and apparatus for resuming memory operations from a low latency wake-up low power state |
GB2360670B (en) * | 2000-03-22 | 2004-02-04 | At & T Lab Cambridge Ltd | Power management system |
US6772356B1 (en) | 2000-04-05 | 2004-08-03 | Advanced Micro Devices, Inc. | System for specifying core voltage for a microprocessor by selectively outputting one of a first, fixed and a second, variable voltage control settings from the microprocessor |
US6721892B1 (en) | 2000-05-09 | 2004-04-13 | Palmone, Inc. | Dynamic performance adjustment of computation means |
KR100361340B1 (en) * | 2000-05-15 | 2002-12-05 | 엘지전자 주식회사 | Controlling method for cpu clock |
US6968469B1 (en) | 2000-06-16 | 2005-11-22 | Transmeta Corporation | System and method for preserving internal processor context when the processor is powered down and restoring the internal processor context when processor is restored |
KR100613201B1 (en) * | 2000-08-28 | 2006-08-18 | 마이크로코넥트 엘엘씨 | Measuring method for cpu usage |
JP4777507B2 (en) * | 2000-09-18 | 2011-09-21 | 富士通株式会社 | Electronic equipment and processing capacity change instruction device |
US7260731B1 (en) | 2000-10-23 | 2007-08-21 | Transmeta Corporation | Saving power when in or transitioning to a static mode of a processor |
US6988214B1 (en) * | 2000-11-06 | 2006-01-17 | Dell Products L.P. | Processor power state transistions using separate logic control |
US6704877B2 (en) * | 2000-12-29 | 2004-03-09 | Intel Corporation | Dynamically changing the performance of devices in a computer platform |
US6829713B2 (en) | 2000-12-30 | 2004-12-07 | Intel Corporation | CPU power management based on utilization with lowest performance mode at the mid-utilization range |
US7596709B2 (en) * | 2000-12-30 | 2009-09-29 | Intel Corporation | CPU power management based on utilization with lowest performance mode at the mid-utilization range |
US6732216B2 (en) * | 2001-01-25 | 2004-05-04 | Dell Products L.P. | Peripheral switching device with multiple sets of registers for supporting an ACPI full-operation state |
JP2002343013A (en) * | 2001-05-18 | 2002-11-29 | Sanyo Electric Co Ltd | Disk drive device |
US7051218B1 (en) * | 2001-07-18 | 2006-05-23 | Advanced Micro Devices, Inc. | Message based power management |
US7174467B1 (en) | 2001-07-18 | 2007-02-06 | Advanced Micro Devices, Inc. | Message based power management in a multi-processor system |
US6904534B2 (en) * | 2001-09-29 | 2005-06-07 | Hewlett-Packard Development Company, L.P. | Progressive CPU sleep state duty cycle to limit peak power of multiple computers on shared power distribution unit |
US7111103B2 (en) * | 2002-03-22 | 2006-09-19 | Intel Corporation | Method and apparatus for system management applications using a local controller |
US20030184066A1 (en) * | 2002-03-22 | 2003-10-02 | Thomas Stierle | Synchronous communication interface sharing for communicating with a plurality of devices |
US7336090B1 (en) | 2002-04-16 | 2008-02-26 | Transmeta Corporation | Frequency specific closed loop feedback control of integrated circuits |
US7941675B2 (en) * | 2002-12-31 | 2011-05-10 | Burr James B | Adaptive power control |
US7180322B1 (en) | 2002-04-16 | 2007-02-20 | Transmeta Corporation | Closed loop feedback control of integrated circuits |
US6920574B2 (en) * | 2002-04-29 | 2005-07-19 | Apple Computer, Inc. | Conserving power by reducing voltage supplied to an instruction-processing portion of a processor |
US7120788B2 (en) * | 2002-06-20 | 2006-10-10 | Intel Corporation | Method and system for shutting down and restarting a computer system |
US7032120B2 (en) * | 2002-07-18 | 2006-04-18 | Agere Systems Inc. | Method and apparatus for minimizing power requirements in a computer peripheral device while in suspend state and returning to full operation state without loss of data |
US7051227B2 (en) * | 2002-09-30 | 2006-05-23 | Intel Corporation | Method and apparatus for reducing clock frequency during low workload periods |
US7131015B2 (en) * | 2002-11-12 | 2006-10-31 | Arm Limited | Performance level selection in a data processing system using a plurality of performance request calculating algorithms |
US7372928B1 (en) | 2002-11-15 | 2008-05-13 | Cypress Semiconductor Corporation | Method and system of cycle slip framing in a deserializer |
US7786756B1 (en) | 2002-12-31 | 2010-08-31 | Vjekoslav Svilan | Method and system for latchup suppression |
US7642835B1 (en) | 2003-11-12 | 2010-01-05 | Robert Fu | System for substrate potential regulation during power-up in integrated circuits |
US7949864B1 (en) | 2002-12-31 | 2011-05-24 | Vjekoslav Svilan | Balanced adaptive body bias control |
US7228242B2 (en) * | 2002-12-31 | 2007-06-05 | Transmeta Corporation | Adaptive power control based on pre package characterization of integrated circuits |
US7205758B1 (en) * | 2004-02-02 | 2007-04-17 | Transmeta Corporation | Systems and methods for adjusting threshold voltage |
US7953990B2 (en) * | 2002-12-31 | 2011-05-31 | Stewart Thomas E | Adaptive power control based on post package characterization of integrated circuits |
US7649402B1 (en) | 2003-12-23 | 2010-01-19 | Tien-Min Chen | Feedback-controlled body-bias voltage source |
US7012461B1 (en) | 2003-12-23 | 2006-03-14 | Transmeta Corporation | Stabilization component for a substrate potential regulation circuit |
US7129771B1 (en) | 2003-12-23 | 2006-10-31 | Transmeta Corporation | Servo loop for well bias voltage source |
US7692477B1 (en) | 2003-12-23 | 2010-04-06 | Tien-Min Chen | Precise control component for a substrate potential regulation circuit |
US7200765B2 (en) * | 2004-01-12 | 2007-04-03 | Hewlett-Packard Development Company, L.P. | Docking station for a wireless mouse with control of a computer |
US7859062B1 (en) * | 2004-02-02 | 2010-12-28 | Koniaris Kleanthes G | Systems and methods for integrated circuits comprising multiple body biasing domains |
US7816742B1 (en) | 2004-09-30 | 2010-10-19 | Koniaris Kleanthes G | Systems and methods for integrated circuits comprising multiple body biasing domains |
US7281149B2 (en) * | 2004-02-24 | 2007-10-09 | Hewlett-Packard Development Company, L.P. | Systems and methods for transitioning a CPU from idle to active |
US7698575B2 (en) * | 2004-03-30 | 2010-04-13 | Intel Corporation | Managing power consumption by requesting an adjustment to an operating point of a processor |
US7231474B1 (en) * | 2004-06-01 | 2007-06-12 | Advanced Micro Devices, Inc. | Serial interface having a read temperature command |
US7774625B1 (en) | 2004-06-22 | 2010-08-10 | Eric Chien-Li Sheng | Adaptive voltage control by accessing information stored within and specific to a microprocessor |
US7562233B1 (en) | 2004-06-22 | 2009-07-14 | Transmeta Corporation | Adaptive control of operating and body bias voltages |
US7343502B2 (en) * | 2004-07-26 | 2008-03-11 | Intel Corporation | Method and apparatus for dynamic DLL powerdown and memory self-refresh |
US7664970B2 (en) * | 2005-12-30 | 2010-02-16 | Intel Corporation | Method and apparatus for a zero voltage processor sleep state |
US7363523B2 (en) * | 2004-08-31 | 2008-04-22 | Intel Corporation | Method and apparatus for controlling power management state transitions |
US7761874B2 (en) * | 2004-08-13 | 2010-07-20 | Intel Corporation | Managing processing system power and performance based on utilization trends |
US7536567B2 (en) * | 2004-12-10 | 2009-05-19 | Hewlett-Packard Development Company, L.P. | BIOS-based systems and methods of processor power management |
JP4594761B2 (en) * | 2005-02-10 | 2010-12-08 | 株式会社東芝 | Information processing apparatus and control method thereof |
US8725488B2 (en) * | 2007-07-26 | 2014-05-13 | Qualcomm Incorporated | Method and apparatus for adaptive voltage scaling based on instruction usage |
US8555094B2 (en) | 2008-10-16 | 2013-10-08 | Dell Products L.P. | System and method for managing power consumption of an information handling system based on the information handling system power state and battery status |
US8140879B2 (en) * | 2009-01-16 | 2012-03-20 | Dell Products L.P. | System and method for information handling system power management by variable direct current input |
US8230247B2 (en) | 2011-12-30 | 2012-07-24 | Intel Corporation | Transferring architectural functions of a processor to a platform control hub responsive to the processor entering a deep sleep state |
US20150241944A1 (en) | 2014-02-25 | 2015-08-27 | International Business Machines Corporation | Distributed power management with performance and power boundaries |
US9746909B2 (en) | 2014-02-25 | 2017-08-29 | International Business Machines Corporation | Computer program product and a node implementing power management by associated power management controllers based on distributed node power consumption and priority data |
US9336106B2 (en) | 2014-04-17 | 2016-05-10 | Cisco Technology, Inc. | Dynamically limiting bios post for effective power management |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5775335A (en) | 1980-10-27 | 1982-05-11 | Hitachi Ltd | Data processor |
US5222239A (en) | 1989-07-28 | 1993-06-22 | Prof. Michael H. Davis | Process and apparatus for reducing power usage microprocessor devices operating from stored energy sources |
JP3096489B2 (en) * | 1991-07-09 | 2000-10-10 | 富士通株式会社 | Disk unit |
US5319772A (en) | 1991-11-14 | 1994-06-07 | Acer Incorporated | Method and apparatus for changing the operating clock speed of a computer system |
JPH05259848A (en) | 1992-03-11 | 1993-10-08 | Nec Corp | Clock generator |
JP3291569B2 (en) | 1993-08-30 | 2002-06-10 | 三菱電機株式会社 | Microcomputer |
US5381116A (en) | 1993-12-13 | 1995-01-10 | Motorola, Inc. | Method and apparatus for performing frequency tracking in an all digital phase lock loop |
JPH08314587A (en) * | 1995-05-15 | 1996-11-29 | Nec Corp | Power saving power source circuit |
US5680594A (en) * | 1995-05-24 | 1997-10-21 | Eastman Kodak Company | Asic bus interface having a master state machine and a plurality of synchronizing state machines for controlling subsystems operating at different clock frequencies |
US5760636A (en) * | 1996-06-28 | 1998-06-02 | Intel Corporation | Adjusting clock frequency and voltage supplied to a processor in a computer system |
US5922075A (en) * | 1996-12-20 | 1999-07-13 | Intel Corporation | Power management control of pointing devices during low-power states |
-
1998
- 1998-12-03 US US09/204,896 patent/US6272642B2/en not_active Expired - Lifetime
Cited By (92)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6446215B1 (en) * | 1999-08-20 | 2002-09-03 | Advanced Micro Devices, Inc. | Method and apparatus for controlling power management state transitions between devices connected via a clock forwarded interface |
US6501999B1 (en) * | 1999-12-22 | 2002-12-31 | Intel Corporation | Multi-processor mobile computer system having one processor integrated with a chipset |
US6718475B2 (en) | 1999-12-22 | 2004-04-06 | Intel Corporation | Multi-processor mobile computer system having one processor integrated with a chipset |
US6711526B2 (en) * | 2000-12-29 | 2004-03-23 | Intel Corporation | Operating system-independent method and system of determining CPU utilization |
USRE47420E1 (en) | 2001-03-02 | 2019-06-04 | Advanced Micro Devices, Inc. | Performance and power optimization via block oriented performance measurement and control |
USRE48819E1 (en) | 2001-03-02 | 2021-11-16 | Advanced Micro Devices, Inc. | Performance and power optimization via block oriented performance measurement and control |
US7358439B2 (en) | 2001-03-20 | 2008-04-15 | American Power Conversion Corporation | Adjustable scalable rack power system and method |
US6967283B2 (en) | 2001-03-20 | 2005-11-22 | American Power Conversion Corporation | Adjustable scalable rack power system and method |
US20110026193A1 (en) * | 2001-03-20 | 2011-02-03 | American Power Conversion Corporation | Adjustable scalable rack power system and method |
US8107225B2 (en) | 2001-03-20 | 2012-01-31 | American Power Conversion Corporation | Adjustable scalable rack power system and method |
US8173898B2 (en) | 2001-03-20 | 2012-05-08 | American Power Conversion Corporation | Adjustable scalable rack power system and method |
US20060151190A1 (en) * | 2001-03-20 | 2006-07-13 | American Power Conversion Corporation | Adjustable scalable rack power system and method |
US20090034166A1 (en) * | 2001-03-20 | 2009-02-05 | American Power Conversion Corporation | Adjustable scalable rack power system and method |
US20020134567A1 (en) * | 2001-03-20 | 2002-09-26 | Neil Rasmussen | Adjustable scalable rack power system and method |
US20040231875A1 (en) * | 2001-03-20 | 2004-11-25 | Neil Rasmussen | Adjustable scalable rack power system and method |
US20100275441A1 (en) * | 2001-03-20 | 2010-11-04 | American Power Conversion Corporation | Adjustable scalable rack power system and method |
US7718889B2 (en) | 2001-03-20 | 2010-05-18 | American Power Conversion Corporation | Adjustable scalable rack power system and method |
US7675740B2 (en) | 2001-03-20 | 2010-03-09 | American Power Conversion Corporation | Adjustable scalable rack power system and method |
US8867193B2 (en) | 2001-03-20 | 2014-10-21 | Schneider Electric It Corporation | Adjustable scalable rack power system and method |
US20020152408A1 (en) * | 2001-04-12 | 2002-10-17 | International Business Machines Corporation | Computer system and unit, and power supply control method therefor |
US7587618B2 (en) * | 2001-04-12 | 2009-09-08 | Lenovo (Singapore) Pte. Ltd. | Computer system and unit, and power supply control method therefor |
US7245725B1 (en) * | 2001-05-17 | 2007-07-17 | Cypress Semiconductor Corp. | Dual processor framer |
US20040153592A1 (en) * | 2001-06-13 | 2004-08-05 | Nokia Corporation | Method for adapting a bus and a bus |
WO2003036448A2 (en) * | 2001-10-25 | 2003-05-01 | Intel Corporation | A method and system for power reduction |
WO2003036448A3 (en) * | 2001-10-25 | 2004-02-12 | Intel Corp | A method and system for power reduction |
US20040025061A1 (en) * | 2001-10-25 | 2004-02-05 | Lawrence Richard H. | Method and system for power reduction |
US7089430B2 (en) * | 2001-12-21 | 2006-08-08 | Intel Corporation | Managing multiple processor performance states |
US20030120961A1 (en) * | 2001-12-21 | 2003-06-26 | Barnes Cooper | Managing multiple processor performance states |
US6721672B2 (en) * | 2002-01-02 | 2004-04-13 | American Power Conversion | Method and apparatus for preventing overloads of power distribution networks |
US7865272B2 (en) | 2002-01-02 | 2011-01-04 | American Power Conversion Corporation | Method and apparatus for preventing overloads of power distribution networks |
US20070150215A1 (en) * | 2002-01-02 | 2007-06-28 | American Power Conversion Corporation | Method and apparatus for preventing overloads of power distribution networks |
US7099784B2 (en) | 2002-01-02 | 2006-08-29 | American Power Conversion Corporation | Method and apparatus for preventing overloads of power distribution networks |
US20030121689A1 (en) * | 2002-01-02 | 2003-07-03 | Neil Rasmussen | Toolless mounting system and method for an adjustable scalable rack power system |
US20050185363A1 (en) * | 2002-01-02 | 2005-08-25 | American Power Conversion Corporation | Toolless mounting system and method for an adjustable scalable rack power system |
US9048688B2 (en) | 2002-01-02 | 2015-06-02 | Schneider Electric It Corporation | Method and apparatus for preventing overloads of power distribution networks |
US20040167732A1 (en) * | 2002-01-02 | 2004-08-26 | American Power Conversion Corporation | Method and apparatus for preventing overloads of power distribution networks |
US7855872B2 (en) | 2002-01-02 | 2010-12-21 | American Power Conversion Corporation | Toolless mounting system and method for an adjustable scalable rack power system |
US20090034167A1 (en) * | 2002-01-02 | 2009-02-05 | American Power Conversion Corporation | Toolless mounting system and method for an adjustable scalable rack power system |
US7425682B2 (en) | 2002-01-02 | 2008-09-16 | American Power Conversion Corporation | Toolless mounting system and method for an adjustable scalable rack power system |
WO2005020050A1 (en) * | 2003-08-19 | 2005-03-03 | Intel Corporation | Power conservation in the absence of ac power |
WO2005020049A1 (en) * | 2003-08-19 | 2005-03-03 | Intel Corporation | Power button and device wake event processing methods in the absence of ac power |
US20050044437A1 (en) * | 2003-08-19 | 2005-02-24 | Dunstan Robert A. | Power conservation in the absence of AC power |
US20050044449A1 (en) * | 2003-08-19 | 2005-02-24 | Dunstan Robert A. | Power button and device wake event processing methods in the absence of AC power |
EP1515220A3 (en) * | 2003-09-12 | 2011-05-18 | Broadcom Corporation | Method, machine readable storage and system for power management in a gigabit Ethernet chip |
EP1515220A2 (en) * | 2003-09-12 | 2005-03-16 | Broadcom Corporation | Method, machine readable storage and system for power management in a gigabit Ethernet chip |
US7424624B2 (en) * | 2003-12-18 | 2008-09-09 | Hewlett-Packard Development Company, L.P. | Rack equipment power purchase plan supervision system and method |
US20050137894A1 (en) * | 2003-12-18 | 2005-06-23 | Ricardo Espinoza-Ibarra | Rack equipment power purchase plan supervision system and method |
US7930572B2 (en) * | 2003-12-24 | 2011-04-19 | Texas Instruments Incorporated | Method and apparatus for reducing memory current leakage a mobile device |
US20050144494A1 (en) * | 2003-12-24 | 2005-06-30 | Frederic Bonavita | Method and apparatus for reducing memory current leakage a mobile device |
US20110099401A1 (en) * | 2004-11-03 | 2011-04-28 | Claus Steinle | Microcontroller system |
JP2006221335A (en) * | 2005-02-09 | 2006-08-24 | Toshiba Corp | Information recording device |
US7581126B2 (en) * | 2005-02-09 | 2009-08-25 | Kabushiki Kaisha Toshiba | Information recording apparatus |
US20060179344A1 (en) * | 2005-02-09 | 2006-08-10 | Yutaka Koike | Information recording apparatus |
US7594132B2 (en) * | 2005-05-18 | 2009-09-22 | Lg Electronics Inc. | Computer system with power-saving capability and method for implementing power-saving mode in computer system |
US20060265610A1 (en) * | 2005-05-18 | 2006-11-23 | Lg Electronics Inc. | Computer system with power-saving capability and method for implementing power-saving mode in computer system |
US20070168088A1 (en) * | 2005-11-02 | 2007-07-19 | Server Technology, Inc. | Power distribution load shedding system and method of use |
US7886167B2 (en) * | 2006-05-11 | 2011-02-08 | Intel Corporation | Load circuit supply voltage control |
US20070262754A1 (en) * | 2006-05-11 | 2007-11-15 | Intel Corporation | Load circuit supply voltage control |
DE112007001133B4 (en) * | 2006-05-11 | 2012-12-06 | Intel Corporation | Load circuit supply voltage control |
US7619868B2 (en) | 2006-06-16 | 2009-11-17 | American Power Conversion Corporation | Apparatus and method for scalable power distribution |
US20070291433A1 (en) * | 2006-06-16 | 2007-12-20 | American Power Conversion Corporation | Apparatus and method for scalable power distribution |
US7606014B2 (en) | 2006-06-16 | 2009-10-20 | American Power Conversion Corporation | Apparatus and method for scalable power distribution |
US8027134B2 (en) | 2006-06-16 | 2011-09-27 | American Power Conversion Corporation | Apparatus and method for scalable power distribution |
US20070291430A1 (en) * | 2006-06-16 | 2007-12-20 | American Power Conversion Corporation | Apparatus and method for scalable power distribution |
US7940504B2 (en) | 2007-06-21 | 2011-05-10 | American Power Conversion Corporation | Apparatus and method for scalable power distribution |
US8503149B2 (en) | 2007-06-21 | 2013-08-06 | Schneider Electric It Corporation | Apparatus and method for scalable power distribution |
US8116105B2 (en) | 2008-02-07 | 2012-02-14 | American Power Conversion Corporation | Systems and methods for uninterruptible power supply control |
US8107243B2 (en) * | 2008-09-12 | 2012-01-31 | Callpod Inc. | Portable multi-device power supply, battery charger, and docking system |
US20100067197A1 (en) * | 2008-09-12 | 2010-03-18 | Callpod Inc. | Portable multi-device power supply, battery charger, and docking system |
US8212427B2 (en) | 2009-12-03 | 2012-07-03 | American Power Converison Corporation | Apparatus and method for scalable power distribution |
US8610316B2 (en) | 2009-12-03 | 2013-12-17 | Schneider Electric It Corporation | Apparatus and method for scalable power distribution |
US20110173360A1 (en) * | 2010-01-11 | 2011-07-14 | Qualcomm Incorporated | System and method of monitoring a central processing unit in real time |
US9086877B2 (en) | 2010-01-11 | 2015-07-21 | Qualcomm Incorporated | System and method of monitoring a central processing unit in real time |
US8352759B2 (en) | 2010-01-11 | 2013-01-08 | Qualcomm Incorporated | System and method of monitoring a central processing unit in real time |
US8552589B2 (en) | 2010-05-14 | 2013-10-08 | Schneider Electric It Corporation | Digital control method for operating the UPS systems in parallel |
US9373979B2 (en) | 2010-05-14 | 2016-06-21 | Schneider Electric It Corporation | Digital control method for operating UPS systems in parallel |
US9129667B2 (en) * | 2012-05-25 | 2015-09-08 | Semiconductor Energy Laboratory Co., Ltd. | Semiconductor device and driving method thereof |
US20130315011A1 (en) * | 2012-05-25 | 2013-11-28 | Semiconductor Energy Laboratory Co., Ltd. | Semiconductor device and driving method thereof |
US20140149763A1 (en) * | 2012-11-27 | 2014-05-29 | International Business Machines Corporation | Computing system voltage control |
US20140149769A1 (en) * | 2012-11-27 | 2014-05-29 | International Business Machines Corporation | Computing system frequency target monitor |
US9218044B2 (en) * | 2012-11-27 | 2015-12-22 | International Business Machines Corporation | Computing system frequency target monitor |
US9323300B2 (en) * | 2012-11-27 | 2016-04-26 | International Business Machines Corporation | Computing system voltage control |
US9323301B2 (en) * | 2012-11-27 | 2016-04-26 | International Business Machines Corporation | Computing system voltage control |
EP2796961A3 (en) * | 2013-04-25 | 2016-10-26 | Intel Corporation | Controlling power and performance in a system agent of a processor |
US10073513B2 (en) | 2013-06-28 | 2018-09-11 | Intel Corporation | Protected power management mode in a processor |
US20150006917A1 (en) * | 2013-06-28 | 2015-01-01 | William C. Rash | Protected Power Management Mode In A Processor |
US9354681B2 (en) * | 2013-06-28 | 2016-05-31 | Intel Corporation | Protected power management mode in a processor |
WO2019066886A1 (en) * | 2017-09-29 | 2019-04-04 | Intel Corporation | Techniques for controlling processor performance states |
US11194381B2 (en) | 2017-09-29 | 2021-12-07 | Intel Corporation | Techniques for controlling processor performance states |
EP3575969A1 (en) * | 2018-05-30 | 2019-12-04 | INTEL Corporation | Reducing cache line collisions |
US10558574B2 (en) | 2018-05-30 | 2020-02-11 | Intel Corporation | Reducing cache line collisions |
US11630587B2 (en) * | 2019-12-03 | 2023-04-18 | Samsung Electronics Co.. Ltd. | Storage device and a data backup method thereof |
Also Published As
Publication number | Publication date |
---|---|
US6272642B2 (en) | 2001-08-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6272642B2 (en) | Managing a system's performance state | |
US6118306A (en) | Changing clock frequency | |
US6535798B1 (en) | Thermal management in a system | |
KR100518376B1 (en) | Method and apparatus to enhance processor power management | |
US9870044B2 (en) | Method and apparatus for a zero voltage processor sleep state | |
US7051218B1 (en) | Message based power management | |
US7054720B2 (en) | Operating system coordinated thermal management | |
US7174467B1 (en) | Message based power management in a multi-processor system | |
US6647320B1 (en) | Software-based temperature controller circuit in electronic apparatus | |
US7254732B2 (en) | Method and apparatus of automatic power management control for serial ATA device directly attached to SAS/SATA host controller | |
KR20020050270A (en) | Dynamically adjusting a processor's operational parameters according to its environment | |
KR19990076908A (en) | Power Management Device and Method | |
US7028199B2 (en) | Method and apparatus of automatic power management control for Serial ATA interface | |
US7096299B2 (en) | Method and apparatus for transferring system context information between mobile computer and base station |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: INTEL CORPORATION, CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:POLE, EDWIN J., II;RUSHFORD, SCOTT R.;SWARTZENDRUBER, ERIC S.;AND OTHERS;REEL/FRAME:009646/0229;SIGNING DATES FROM 19981111 TO 19981113 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
FPAY | Fee payment |
Year of fee payment: 4 |
|
FPAY | Fee payment |
Year of fee payment: 8 |
|
FEPP | Fee payment procedure |
Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
FPAY | Fee payment |
Year of fee payment: 12 |
|
SULP | Surcharge for late payment |
Year of fee payment: 11 |
|
AS | Assignment |
Owner name: SONY CORPORATION OF AMERICA, NEW YORK Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:INTEL CORPORATION;REEL/FRAME:032893/0199 Effective date: 20140402 |