US20100023790A1 - Cpu power management based on utilization with lowest performance mode at the mid-utilization range - Google Patents
Cpu power management based on utilization with lowest performance mode at the mid-utilization range Download PDFInfo
- Publication number
- US20100023790A1 US20100023790A1 US12/569,807 US56980709A US2010023790A1 US 20100023790 A1 US20100023790 A1 US 20100023790A1 US 56980709 A US56980709 A US 56980709A US 2010023790 A1 US2010023790 A1 US 2010023790A1
- Authority
- US
- United States
- Prior art keywords
- performance mode
- utilization
- processor
- utilization threshold
- processing unit
- 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.)
- Abandoned
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
-
- 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/3237—Power saving characterised by the action undertaken by disabling clock generation or distribution
-
- 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 field of the invention relates generally to central processing units (CPUs). More particularly the field invention relates to CPU power management. Still more particularly, the field of the invention relates to a demand-based method and system of CPU power management.
- CPUs central processing units
- the field of the invention relates to a demand-based method and system of CPU power management.
- Modern power management systems implement a variety of voltage and frequency reduction or “scaling” techniques. Although substantial power savings can be realized by reducing a device's voltage, special hardware is often required to correctly operate such devices using low and variable voltages. Such voltage reduction techniques also currently limit the maximum frequency at which a device may be operated. Similar power savings may be realized by scaling a device's operating frequency or “clock”.
- a device's operating frequency may be altered in a variety of ways. In one approach, the applied clock signal is periodically stopped and restarted such that the average or effective operating frequency is lowered (throttling). In another approach, a lower frequency clock signal, generated independently or derived from an existing clock, is applied to a device. Although these approaches may be used alone or in combination to reduce a device's or system's power consumption, this frequency scaling technique reduces the operating frequency of the device, and consequently the number of operations or tasks it can perform.
- CPU utilization is determined by accumulating CPU idle time across a sampling interval to determine the percentage of time the processor is inactive.
- a list of tasks or threads is maintained by the OS which are ready-to-run, i.e., not waiting for some event to resume execution.
- this ready-to-run list is empty, no tasks are being executed and the processor is idle. Accordingly, a CPU-independent timer is read and the processor is placed in a low power state.
- the processor is placed in an active state and the timer is read again. The difference between the first and second timer reads (multiplied by the timer's period) then represents the CPU's idle time.
- FIG. 1 a illustrates a conventional data processing system useable with the present invention
- FIG. 1 b illustrates a prior art architecture of the data processing system depicted in FIG. 1 a;
- FIG. 2 illustrates a portion of the architecture depicted in FIG. 1 b in greater detail
- FIG. 3 illustrates an architectural system diagram depicting the operation of a data processing system according to the present invention
- FIG. 4 illustrates a high-level logic flowchart of a first embodiment of the method of the present invention
- FIG. 5 illustrates a high-level logic flowchart of a second embodiment of the method of the present invention
- FIG. 6 illustrates a high-level logic flowchart of a third embodiment of the method of the present invention.
- FIG. 7 illustrates a high-level logic flowchart of a method of determining the utilization of a central processing unit according to one embodiment of the present invention
- FIG. 8 illustrates a high-level logic flowchart of a fourth embodiment of the method of the present invention.
- FIG. 9 illustrates a high-level logic flowchart of a fifth embodiment of the method of the present invention.
- Data processing or computer system 100 is comprised of a system unit 102 , output devices such as display 104 and printer 110 , and input devices such as keyboard 108 , and mouse 106 .
- Data processing system 100 receives data for processing by the manipulation of input devices 108 and 106 or directly from fixed or removable media storage devices such as disk 112 and network connection interfaces (not shown).
- Data processing system 100 then processes data and presents resulting output data via output devices such as display 104 , printer 110 , fixed or removable media storage devices like disk 112 or network connection interfaces.
- system unit 102 includes a processing device such as central processing unit (CPU) 120 connected to a level two (L2) cache 122 over a processor system bus (PSB) 114 .
- processor system bus 114 is in turn coupled to an expansion bus such as local bus 116 and a memory 126 via a north bridge circuit 124 .
- Local bus 116 may include a peripheral component interconnect (PCI), Video Electronics Standards Association (VESA) bus or the like, tightly coupled to the processor 120 and the processor system bus 114 to permit high-speed access to select devices such as display device 128 .
- PCI peripheral component interconnect
- VESA Video Electronics Standards Association
- Memory 126 may include read-only (ROM) and/or random access (RAM) memory devices such as a synchronous dynamic random access memory (SDRAM) module capable of storing data as well as instructions to be executed by CPU 120 . Access to data and instructions stored within memory 126 is provided via a memory controller (not shown) within north bridge circuit 124 . L2 cache 122 is similarly used, typically in a hierarchical manner, to store data and instructions for direct access by CPU 120 .
- Display device 128 may include a cathode ray tube (CRT) display such as display 104 , liquid crystal display (LCD), or a similar device for displaying various kinds of data to a computer user. For example, image, graphical, or textual information may be presented to the user on display device 128 .
- CTR cathode ray tube
- LCD liquid crystal display
- System unit 102 of data processing system 100 also features an expansion or “compatibility” bus 118 such as the Industry Standard Architecture (ISA) bus, and a south bridge circuit 134 coupling it to local bus 116 to facilitate the attachment of other, relatively slower devices to the system 100 .
- South bridge circuit 134 includes a universal serial bus (USB) port 138 as well as other direct connections for devices such as a network interface card 130 , a data storage device, such as a magnetic hard disk drive 132 , and an audio device 140 such as a speaker or sound card.
- USB universal serial bus
- expansion bus 118 includes an input/output (I/O) controller having standard serial and parallel port functionality for connecting other I/O devices, such as printer 110 to the system.
- I/O input/output
- the system of the present invention includes software, information processing hardware, and various processing steps, which will be described below.
- the features and process steps of the present invention may be embodied in machine or computer executable instructions embodied within media such as disk 112 .
- the instructions can be used to cause a general purpose or special purpose processor such as CPU 120 , which is programmed with the instructions to perform the described methods of the present invention.
- the features or steps of the present invention may be performed by specific hardware components that contain hard-wired logic for performing the steps, or by any combination of programmed computer components and custom hardware components.
- Processor 120 is shown in communication with memory 126 over the processor system bus 114 utilizing a memory controller 226 of north bridge circuit 124 .
- a common system clock, (BClk) 216 is generated by a clock generator 208 and applied to a clock control phase lock loop (PLL) 218 of CPU 120 and to memory controller 226 .
- a core voltage 206 is similarly applied to CPU 120 in the illustrated embodiment, providing necessary operating power. While the BClk signal 216 is applied, accesses to and from memory 126 occur at its frequency of approximately 100 megahertz (MHz).
- the central processing unit 120 is capable of performing tasks at much greater speeds than this and accordingly, a bus ratio or multiplier 212 is selected using a clock control signal, GHI# 202 and a higher frequency central processing unit clock signal is generated utilizing PLL 218 . So for example, if the system or front side clock 216 has a frequency of 100 MHz, and a ratio 212 of 5 to 1 is selected using the GHI# signal 202 , then the generated CPU clock will have a frequency of approximately 500 MHz. Alternatively, a higher multiplier or ratio 212 of say 7 to 1 could be selected, yielding a CPU clock frequency of approximately 700 MHz.
- the generated central processing unit clock signal is then applied to clock throttling logic 220 before being passed to processor core 200 .
- Throttling is a technique by which the CPU clock is deasserted or “gated off” from the processor core to prevent functional units within the core from operating.
- Throttling logic 220 therefore acts as a switch, actuated by a stop clock (Stp_Clk) control signal 204 , between the PLL 218 and the processor core 200 .
- a time stamp counter 224 is also included within the CPU 120 and incremented for each cycle (sometimes called ticks or pulses) of the CPU clock which is “gated through” or applied to the processor core as shown.
- time stamp counter 224 tracks the number of clock ticks or cycles applied to the functional units of the processor core 200 such as instruction decoders, floating point and integer execution units, etc. it provides an extremely accurate representation of the actual work performed by CPU 120 .
- One additional chipset architecture component illustrated in FIG. 2 is independent timer 210 .
- System independent timer 210 runs independently of CPU 120 and its associated system clock 216 , unaffected by Stp_Clk signal 204 throttling or BClk signal 216 frequency modifications. Using the number of ticks of independent timer 210 elapsed between reads and its fixed frequency, an accurate measure of the passage of time may be obtained.
- a WindowsTM high performance counter exported via the Win32 Application Programming Interface (API) as the QueryPerformanceCounter( ) function can be used as independent timer 210 .
- API Application Programming Interface
- QueryPerformanceCounter( ) function can be used as independent timer 210 .
- a power management timer may be utilized.
- independent timer 210 is depicted as being integrated with clock generator circuit 208 , in alternative embodiments the timer 210 may be generated in a separate device or integrated circuit.
- FIG. 3 an architectural system diagram depicting the operation of a data processing system according to the present invention is illustrated.
- a plurality of application programs 302 such as power management application 304 interact with various platform hardware devices 308 including a CPU 120 via an operating system 300 such as the WindowsTM operating system from Microsoft Corporation, one or more device drivers 306 , and basic input/output system (BIOS) code 310 .
- the illustrated system is interrupt-driven both with respect to the multitasking of the various applications 302 and communication between applications 302 and platform hardware 308 .
- an application 302 request for a hardware resource from within platform hardware 308 can cause an interrupt, such as a System Control Interrupt (SCI) or a System Management Interrupt (SMI) to be generated and an interrupt handler routine to be responsively executed.
- an interrupt such as a System Control Interrupt (SCI) or a System Management Interrupt (SMI)
- SCI System Control Interrupt
- SMI System Management Interrupt
- Interaction between operating system 300 and platform hardware 308 is then facilitated by a device driver 306 and BIOS 310 .
- BIOS 310 contains information such as physical device addresses of the various devices 308 attached to the data processing system 100 and is useful with respect to the actual transmission of data.
- device driver 306 is typically specific to a particular hardware device and is usually concerned with the translation of data between various device formats.
- FIG. 4 a high-level logic flowchart of a first embodiment of the method of the present invention is illustrated.
- a technique by which a demand-based transition between two processor performance states is executed is begun and thereafter a CPU utilization status request is received from a power management application (block 402 ).
- the described utilization request may be periodic or may occur in response to relevant power management events such as thermal or processor workload events, the connection of an alternating current power supply or the like.
- a determination is then made whether the calculated utilization exceeds a utilization threshold (block 406 ).
- a relatively high utilization threshold of 95% is selected to identify the execution of demand-intensive applications such as DVD movie players, personal computer games, and performance benchmark tests. It should be readily appreciated however that the various utilization thresholds described herein have been selected for illustrative purposes only and that a wide range of threshold values could be substituted therefore without departing from the spirit and scope of the present invention. If the utilization threshold is exceeded, the CPU is transitioned to a maximum performance processor performance mode (block 408 ) and operated at a higher performance level to ensure that the execution performance of such demand-intensive application programs is not degraded.
- the utilization of the CPU is not above or equal to the 95% utilization threshold, it is then determined whether the CPU's utilization falls at or below a second utilization threshold of, in the illustrated embodiment, 75% (block 410 ).
- the processor performance level may then be matched to its current utilization level by switching the CPU to a battery optimized processor performance mode (block 412 ) to conserve power when the utilization level falls below this figure and a decrease in performance will be less noticeable to the end user. Otherwise the process is terminated (block 414 ) with the processor performance mode of the central processing unit remaining unchanged. Power may be conserved and the maximum performance mode distinguished from the battery optimized mode by the frequency at which the processor is operated.
- utilization of the maximum performance processor performance mode entails the operation of the central processing unit at an operating frequency of 600 MHz while the battery optimized mode entails the application of a 500 MHz central processing unit clock signal. Following any transition to either maximum performance or battery optimized mode, the process is terminated (block 414 ).
- factors other than an instantaneous CPU utilization and a utilization threshold may be used to select an appropriate processor performance mode such as the duration of time that the examined CPU remains at a particular utilization level or within a particular range of utilization levels.
- a user-specified power management profile is received (block 502 ) in which power conservation and system performance are prioritized generally or a specific, preferred processor performance mode may be designated.
- a maximum battery or ultra battery optimized profile is received conveying that power conservation is to be favored over execution speed.
- an executing power management software or firmware application generates a system management interrupt (SMI) (block 504 ) in response to the receipt of the user power management profile which in turn transitions the CPU to battery optimized mode if necessary from whatever prior state the processor was operating in.
- SI system management interrupt
- the power management application issues a request for the current CPU utilization status (block 508 ) which is determined either by the generated SMI or directly by the power management application itself (block 510 ) by a method which will be described in greater detail with reference to FIG. 7 herein.
- the described system management interrupt is used only to transition the system from one performance or power mode to another with both CPU utilization detection and other related tasks being performed directly by the power management application.
- the user-specified power management profile is then checked to ensure that maximum battery mode is still currently enabled (block 512 ). If so, the resolved CPU utilization is examined to determine whether it exceeds a utilization threshold of 20% (block 514 ) in this embodiment. If not, the process is terminated (block 518 ). If the current utilization of the CPU exceeds the tuneable threshold, the CPU is transitioned from battery optimized mode to a virtual maximum battery performance mode by engaging throttling of the central processing unit clock signal at a particular frequency (block 516 ). Otherwise, the process ends (block 518 ) and the battery optimized performance mode is utilized until another transition-precipitating event occurs.
- Using the illustrated process allows small, bursty tasks or code segments which can be completed within the sampling time interval of the CPU utilization determination to be executed at the full, battery optimized performance level without enabling CPU clock signal throttling. Such tasks can be completed faster at this non-throttled rate, allowing the system to transition after their completion to an even lower power state than can be achieved with clock throttling, conserving more power overall.
- FIG. 6 a high-level logic flowchart of a third embodiment of the method of the present invention is illustrated.
- the beginning of the process is depicted at block 600 and thereafter a CPU utilization status request is received from a power management application (block 602 ).
- a determination is made whether the calculated utilization exceeds a utilization threshold (block 606 ).
- a relatively high utilization threshold of 95% is selected for this first utilization threshold as illustrated.
- any previously applied CPU clock signal throttling is disabled (block 608 ) and the CPU is transitioned to a maximum performance processor performance mode (block 610 ) and operated at a higher performance level to ensure that the execution performance of demand-intensive application programs is not degraded.
- the utilization of the CPU is not above or equal to the 95% utilization threshold, it is then determined whether the CPU's utilization falls at or below a second utilization threshold of, in the illustrated embodiment, 20% (block 612 ). If the current CPU utilization level is not greater than the 20% utilization threshold, the CPU is operated in battery optimized mode (block 620 ) and clock throttling is disabled (block 618 ) such that power saving states such as the C2 and C3 states defined by the well known Advanced Configuration and Power Interface Specification, Revision 2.0, Jul. 27, 2000 (ACPI) can be entered more quickly following completion of the CPU workload.
- ACPI Advanced Configuration and Power Interface Specification
- the CPU is transitioned to and operated in maximum battery mode by entering battery optimized mode (block 614 ) and enabling clock throttling for the applied CPU clock (block 616 ). Consequently, the performance of CPU workloads having a consistent, intermediate demand intensity is reduced and the completion time is extended in order to reduce the total amount of power consumed. Following any transition to (or retention of) any of the above-described power management performance modes (maximum performance, battery optimized mode, and maximum battery) the process is terminated (block 622 ).
- FIG. 7 depicts a technique by which a the utilization of a CPU may be determined independently of a data processing system's operating system. In one embodiment, this method is utilized to determine CPU utilization within the various method embodiments of the present invention such as at blocks 404 , 510 , and 604 of FIGS. 4 , 5 , and 6 , respectively.
- the process illustrated by FIG. 7 begins at block 700 . Thereafter, a system-independent timer such as an ACPI chipset-compliant power management timer or WindowsTM performance counter is read. (block 702 ).
- a system-independent timer such as an ACPI chipset-compliant power management timer or WindowsTM performance counter is read. (block 702 ).
- a sampling time interval is defined using the independent timer's clock period, as well as currently and previously read system-independent timer values (block 704 ).
- a value is then read from a time stamp counter (block 706 ) which is incremented for each cycle or “clock” of a CPU clock signal which is applied to the processor core 200 of central processing unit 120 .
- the total number of CPU clock signal ticks or cycles applied to the CPU's processor core 200 during the sampling time interval may be obtained (block 708 ).
- the total amount or “quantum” of time within the sampling time interval during which the CPU clock signal was active within the CPU's processor core 200 can be derived using the accumulated number of CPU clock cycles and the CPU clock signal's period (block 710 ).
- CPU utilization may then be expressed as a ratio of this active CPU clock signal time to the sampling time interval (block 712 ). Thereafter, the process is terminated (block 714 ).
- a CPU utilization is determined in response to a status request from a power management application. Once the CPU utilization has been established, a determination is made as to the relationship of the calculated CPU utilization with respect to a first, a second, and a third utilization threshold.
- the central processing unit is placed in a first performance mode at 806 .
- the central processing unit is placed in a second performance mode at 810 .
- the central processing unit is placed in a third performance mode at 814 .
- the central processing unit operates in the first performance mode and reduces a clock frequency of the CPU.
- the first performance mode includes the battery optimized mode as previously described.
- the second performance mode includes the maximum performance mode as previously described.
- the third performance mode includes the maximum battery performance mode as previously described.
- the value of the each utilization threshold may be configured by a user in a user-specified power management profile.
- the previously custom configured user-specified power management profile is received.
- the CPU utilization is determined in response to a status request from a power management application. Once the CPU utilization has been established, a determination is made as to the relationship of the calculated CPU utilization with respect to the previously configured utilization threshold as stored in the user-specified power management profile. The CPU is then placed in the corresponding performance mode at 908 .
- the processor discussed in the present application is not limited to a Central Processing Unit but may include also other similar components such as a chipset. Further, the processor may also be powered by a DC power source.
- the DC power source may include but is not limited to fuel cells and batteries.
Abstract
A demand-based method and system of a processor power management is described. A processor is caused to enter a particular performance mode based on a first and a second utilization threshold. The particular performance mode includes at least a first performance mode, a second performance mode, and a third performance mode. The processor is caused to operate with a clock frequency in the third performance mode that is lower than the clock frequency of the processor in the first and second performance modes.
Description
- This application is a continuation-in-part application of U.S. application Ser. No. 11/006,872 filed on Dec. 7, 2004, which is a continuation application of U.S. application Ser. No. 09/751,759, now issued as U.S. Pat. No. 6,829,713.
- The field of the invention relates generally to central processing units (CPUs). More particularly the field invention relates to CPU power management. Still more particularly, the field of the invention relates to a demand-based method and system of CPU power management.
- As battery-dependent portable computing devices (notebook computers, personal digital assistants, etc.) have become more prevalent, the conservation of battery power or “power management” has become more and more important. In many power management systems, some or all system components may be deactivated or “powered down” to conserve power. This method however, requires that the devices powered down be inactive or unused for a sufficiently long period of time to justify the latency associated with their re-activation. Therefore, a number of methods have been implemented to decrease device power consumption within the active or “powered on” state. Since, the power dissipated by a device is dependent both on its applied voltage and on the frequency with which device transitions or “switching” occurs, conventional power management techniques typically focus on one or both of these factors.
- Modern power management systems implement a variety of voltage and frequency reduction or “scaling” techniques. Although substantial power savings can be realized by reducing a device's voltage, special hardware is often required to correctly operate such devices using low and variable voltages. Such voltage reduction techniques also currently limit the maximum frequency at which a device may be operated. Similar power savings may be realized by scaling a device's operating frequency or “clock”. In conventional power management systems, a device's operating frequency may be altered in a variety of ways. In one approach, the applied clock signal is periodically stopped and restarted such that the average or effective operating frequency is lowered (throttling). In another approach, a lower frequency clock signal, generated independently or derived from an existing clock, is applied to a device. Although these approaches may be used alone or in combination to reduce a device's or system's power consumption, this frequency scaling technique reduces the operating frequency of the device, and consequently the number of operations or tasks it can perform.
- In the past, several approaches have been taken to control the activation of the above-described power management techniques such as the user selection of a pre-defined power mode, the occurrence of environmental events such as the application or removal of an A/C (alternating current) power source, or the detection of a system or device temperature. More recently, power management systems have looked to device utilization or “idleness” to trigger the application or removal of such techniques in an effort to conserve power in a more user-transparent manner. When a utilization-based power managed device is idle for a pre-determined period of time, power reduction techniques such as voltage and frequency scaling are applied to decrease the amount of power consumed. The greatest difficulty traditionally associated with such demand-based systems has been in determining a device's current utilization, particularly for processing devices such as the central processing unit (CPU) of a data processing system.
- In a conventional operating system (OS), CPU utilization is determined by accumulating CPU idle time across a sampling interval to determine the percentage of time the processor is inactive. To accomplish this, a list of tasks or threads is maintained by the OS which are ready-to-run, i.e., not waiting for some event to resume execution. When this ready-to-run list is empty, no tasks are being executed and the processor is idle. Accordingly, a CPU-independent timer is read and the processor is placed in a low power state. When a new task is added to the ready-to-run list, the processor is placed in an active state and the timer is read again. The difference between the first and second timer reads (multiplied by the timer's period) then represents the CPU's idle time. The accumulation of this time across a sampling interval is then used to determine the CPU utilization (what percentage of the CPU's time is spent idle). Unfortunately, neither this measure of CPU utilization nor the state of the ready-to-run task list is available outside of the OS through a supported application programming interface (API). Consequently, this OS-generated CPU utilization metric cannot be utilized in a “demand” or utilization-based power management system.
- The present invention is illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings.
-
FIG. 1 a illustrates a conventional data processing system useable with the present invention; -
FIG. 1 b illustrates a prior art architecture of the data processing system depicted inFIG. 1 a; -
FIG. 2 illustrates a portion of the architecture depicted inFIG. 1 b in greater detail; -
FIG. 3 illustrates an architectural system diagram depicting the operation of a data processing system according to the present invention; -
FIG. 4 illustrates a high-level logic flowchart of a first embodiment of the method of the present invention; -
FIG. 5 illustrates a high-level logic flowchart of a second embodiment of the method of the present invention; -
FIG. 6 illustrates a high-level logic flowchart of a third embodiment of the method of the present invention; -
FIG. 7 illustrates a high-level logic flowchart of a method of determining the utilization of a central processing unit according to one embodiment of the present invention; -
FIG. 8 illustrates a high-level logic flowchart of a fourth embodiment of the method of the present invention; and -
FIG. 9 illustrates a high-level logic flowchart of a fifth embodiment of the method of the present invention. - A demand-based method and system of CPU power management is disclosed. In the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of the present invention. However, it will be apparent to one of ordinary skill in the art that these specific details need not be used to practice the present invention. In other circumstances, well-known structures, materials, circuits, processes and interfaces have not been shown or described in detail in order not to unnecessarily obscure the present invention.
- Referring now to
FIG. 1 a, a conventionaldata processing system 100 useable with the present invention is illustrated. Data processing orcomputer system 100 is comprised of asystem unit 102, output devices such asdisplay 104 andprinter 110, and input devices such askeyboard 108, andmouse 106.Data processing system 100 receives data for processing by the manipulation ofinput devices disk 112 and network connection interfaces (not shown).Data processing system 100 then processes data and presents resulting output data via output devices such asdisplay 104,printer 110, fixed or removable media storage devices likedisk 112 or network connection interfaces. - Referring now to
FIG. 1 b, there is depicted a high-level block diagram of the components of adata processing system 100 such as that illustrated byFIG. 1 a. In a conventional computer system,system unit 102 includes a processing device such as central processing unit (CPU) 120 connected to a level two (L2)cache 122 over a processor system bus (PSB) 114.Processor system bus 114 is in turn coupled to an expansion bus such aslocal bus 116 and amemory 126 via anorth bridge circuit 124.Local bus 116 may include a peripheral component interconnect (PCI), Video Electronics Standards Association (VESA) bus or the like, tightly coupled to theprocessor 120 and theprocessor system bus 114 to permit high-speed access to select devices such asdisplay device 128. -
Memory 126 may include read-only (ROM) and/or random access (RAM) memory devices such as a synchronous dynamic random access memory (SDRAM) module capable of storing data as well as instructions to be executed byCPU 120. Access to data and instructions stored withinmemory 126 is provided via a memory controller (not shown) withinnorth bridge circuit 124.L2 cache 122 is similarly used, typically in a hierarchical manner, to store data and instructions for direct access byCPU 120.Display device 128 may include a cathode ray tube (CRT) display such asdisplay 104, liquid crystal display (LCD), or a similar device for displaying various kinds of data to a computer user. For example, image, graphical, or textual information may be presented to the user ondisplay device 128.System unit 102 ofdata processing system 100 also features an expansion or “compatibility”bus 118 such as the Industry Standard Architecture (ISA) bus, and asouth bridge circuit 134 coupling it tolocal bus 116 to facilitate the attachment of other, relatively slower devices to thesystem 100.South bridge circuit 134 includes a universal serial bus (USB)port 138 as well as other direct connections for devices such as anetwork interface card 130, a data storage device, such as a magnetichard disk drive 132, and anaudio device 140 such as a speaker or sound card. - Other devices not directly coupled to
south bridge 134 may be connected to thesystem 100 via theexpansion bus 118 as illustrated. A floppy disk drive (FDD) 144 providing additional data storage capacity on removable media storage devices such asdisk 112, and input devices such as akeyboard 108 and acursor control device 136 are each coupled toexpansion bus 118 in this manner to communicate data, instructions, and/or command selections tocentral processing unit 120.Cursor control device 136 may comprise a conventional mouse such asmouse 106 ofFIG. 1 a, a trackball, or any other device capable of conveying desired cursor manipulation. Similarly,expansion bus 118 includes an input/output (I/O) controller having standard serial and parallel port functionality for connecting other I/O devices, such asprinter 110 to the system. - The system of the present invention includes software, information processing hardware, and various processing steps, which will be described below. The features and process steps of the present invention may be embodied in machine or computer executable instructions embodied within media such as
disk 112. The instructions can be used to cause a general purpose or special purpose processor such asCPU 120, which is programmed with the instructions to perform the described methods of the present invention. Alternatively, the features or steps of the present invention may be performed by specific hardware components that contain hard-wired logic for performing the steps, or by any combination of programmed computer components and custom hardware components. - Referring now to
FIG. 2 , a portion of the architecture depicted inFIG. 1 b is illustrated in greater detail.Processor 120 is shown in communication withmemory 126 over theprocessor system bus 114 utilizing amemory controller 226 ofnorth bridge circuit 124. A common system clock, (BClk) 216 is generated by aclock generator 208 and applied to a clock control phase lock loop (PLL) 218 ofCPU 120 and tomemory controller 226. Acore voltage 206 is similarly applied toCPU 120 in the illustrated embodiment, providing necessary operating power. While theBClk signal 216 is applied, accesses to and frommemory 126 occur at its frequency of approximately 100 megahertz (MHz). Thecentral processing unit 120 however, is capable of performing tasks at much greater speeds than this and accordingly, a bus ratio ormultiplier 212 is selected using a clock control signal,GHI# 202 and a higher frequency central processing unit clock signal is generated utilizingPLL 218. So for example, if the system orfront side clock 216 has a frequency of 100 MHz, and aratio 212 of 5 to 1 is selected using theGHI# signal 202, then the generated CPU clock will have a frequency of approximately 500 MHz. Alternatively, a higher multiplier orratio 212 ofsay 7 to 1 could be selected, yielding a CPU clock frequency of approximately 700 MHz. - The generated central processing unit clock signal is then applied to
clock throttling logic 220 before being passed toprocessor core 200. Throttling is a technique by which the CPU clock is deasserted or “gated off” from the processor core to prevent functional units within the core from operating.Throttling logic 220 therefore acts as a switch, actuated by a stop clock (Stp_Clk)control signal 204, between thePLL 218 and theprocessor core 200. Atime stamp counter 224 is also included within theCPU 120 and incremented for each cycle (sometimes called ticks or pulses) of the CPU clock which is “gated through” or applied to the processor core as shown. Becausetime stamp counter 224 tracks the number of clock ticks or cycles applied to the functional units of theprocessor core 200 such as instruction decoders, floating point and integer execution units, etc. it provides an extremely accurate representation of the actual work performed byCPU 120. One additional chipset architecture component illustrated inFIG. 2 isindependent timer 210. Systemindependent timer 210 runs independently ofCPU 120 and its associatedsystem clock 216, unaffected byStp_Clk signal 204 throttling or BClk signal 216 frequency modifications. Using the number of ticks ofindependent timer 210 elapsed between reads and its fixed frequency, an accurate measure of the passage of time may be obtained. In one embodiment, a Windows™ high performance counter, exported via the Win32 Application Programming Interface (API) as the QueryPerformanceCounter( ) function can be used asindependent timer 210. In an alternative, Advanced Configuration and Power Interface (ACPI) compliant embodiment, a power management timer may be utilized. Although in the illustrated embodimentindependent timer 210 is depicted as being integrated withclock generator circuit 208, in alternative embodiments thetimer 210 may be generated in a separate device or integrated circuit. - Referring now to
FIG. 3 , an architectural system diagram depicting the operation of a data processing system according to the present invention is illustrated. In the illustrated embodiment, a plurality ofapplication programs 302 such aspower management application 304 interact with variousplatform hardware devices 308 including aCPU 120 via anoperating system 300 such as the Windows™ operating system from Microsoft Corporation, one ormore device drivers 306, and basic input/output system (BIOS)code 310. The illustrated system is interrupt-driven both with respect to the multitasking of thevarious applications 302 and communication betweenapplications 302 andplatform hardware 308. - Accordingly, in one embodiment of the present invention, an
application 302 request for a hardware resource from withinplatform hardware 308 can cause an interrupt, such as a System Control Interrupt (SCI) or a System Management Interrupt (SMI) to be generated and an interrupt handler routine to be responsively executed. Interaction betweenoperating system 300 andplatform hardware 308 is then facilitated by adevice driver 306 andBIOS 310. In the illustrated embodiment,BIOS 310 contains information such as physical device addresses of thevarious devices 308 attached to thedata processing system 100 and is useful with respect to the actual transmission of data. By contrast,device driver 306 is typically specific to a particular hardware device and is usually concerned with the translation of data between various device formats. - Referring now to
FIG. 4 , a high-level logic flowchart of a first embodiment of the method of the present invention is illustrated. InFIG. 4 there is depicted a technique by which a demand-based transition between two processor performance states is executed. Atblock 400, the illustrated process is begun and thereafter a CPU utilization status request is received from a power management application (block 402). The described utilization request may be periodic or may occur in response to relevant power management events such as thermal or processor workload events, the connection of an alternating current power supply or the like. Once the CPU utilization has been established (block 404), a determination is then made whether the calculated utilization exceeds a utilization threshold (block 406). In the illustrated embodiment, a relatively high utilization threshold of 95% is selected to identify the execution of demand-intensive applications such as DVD movie players, personal computer games, and performance benchmark tests. It should be readily appreciated however that the various utilization thresholds described herein have been selected for illustrative purposes only and that a wide range of threshold values could be substituted therefore without departing from the spirit and scope of the present invention. If the utilization threshold is exceeded, the CPU is transitioned to a maximum performance processor performance mode (block 408) and operated at a higher performance level to ensure that the execution performance of such demand-intensive application programs is not degraded. - If the utilization of the CPU is not above or equal to the 95% utilization threshold, it is then determined whether the CPU's utilization falls at or below a second utilization threshold of, in the illustrated embodiment, 75% (block 410). The processor performance level may then be matched to its current utilization level by switching the CPU to a battery optimized processor performance mode (block 412) to conserve power when the utilization level falls below this figure and a decrease in performance will be less noticeable to the end user. Otherwise the process is terminated (block 414) with the processor performance mode of the central processing unit remaining unchanged. Power may be conserved and the maximum performance mode distinguished from the battery optimized mode by the frequency at which the processor is operated. While numerous other power and performance management techniques are known and within the scope of the present invention, in one embodiment utilization of the maximum performance processor performance mode entails the operation of the central processing unit at an operating frequency of 600 MHz while the battery optimized mode entails the application of a 500 MHz central processing unit clock signal. Following any transition to either maximum performance or battery optimized mode, the process is terminated (block 414). In an alternative embodiment, factors other than an instantaneous CPU utilization and a utilization threshold may be used to select an appropriate processor performance mode such as the duration of time that the examined CPU remains at a particular utilization level or within a particular range of utilization levels.
- Referring now to
FIG. 5 , a high-level logic flowchart of a second embodiment of the method of the present invention is illustrated. After the process is begun (block 500) a user-specified power management profile is received (block 502) in which power conservation and system performance are prioritized generally or a specific, preferred processor performance mode may be designated. In the illustrated embodiment, a maximum battery or ultra battery optimized profile is received conveying that power conservation is to be favored over execution speed. Then an executing power management software or firmware application generates a system management interrupt (SMI) (block 504) in response to the receipt of the user power management profile which in turn transitions the CPU to battery optimized mode if necessary from whatever prior state the processor was operating in. Subsequently, the power management application issues a request for the current CPU utilization status (block 508) which is determined either by the generated SMI or directly by the power management application itself (block 510) by a method which will be described in greater detail with reference toFIG. 7 herein. In alternative embodiment, the described system management interrupt is used only to transition the system from one performance or power mode to another with both CPU utilization detection and other related tasks being performed directly by the power management application. - The user-specified power management profile is then checked to ensure that maximum battery mode is still currently enabled (block 512). If so, the resolved CPU utilization is examined to determine whether it exceeds a utilization threshold of 20% (block 514) in this embodiment. If not, the process is terminated (block 518). If the current utilization of the CPU exceeds the tuneable threshold, the CPU is transitioned from battery optimized mode to a virtual maximum battery performance mode by engaging throttling of the central processing unit clock signal at a particular frequency (block 516). Otherwise, the process ends (block 518) and the battery optimized performance mode is utilized until another transition-precipitating event occurs. Using the illustrated process allows small, bursty tasks or code segments which can be completed within the sampling time interval of the CPU utilization determination to be executed at the full, battery optimized performance level without enabling CPU clock signal throttling. Such tasks can be completed faster at this non-throttled rate, allowing the system to transition after their completion to an even lower power state than can be achieved with clock throttling, conserving more power overall.
- Referring now to
FIG. 6 , a high-level logic flowchart of a third embodiment of the method of the present invention is illustrated. The beginning of the process is depicted atblock 600 and thereafter a CPU utilization status request is received from a power management application (block 602). Once the CPU utilization has been established (block 604), a determination is made whether the calculated utilization exceeds a utilization threshold (block 606). In the illustrated embodiment, a relatively high utilization threshold of 95% is selected for this first utilization threshold as illustrated. If the utilization threshold is exceeded, any previously applied CPU clock signal throttling is disabled (block 608) and the CPU is transitioned to a maximum performance processor performance mode (block 610) and operated at a higher performance level to ensure that the execution performance of demand-intensive application programs is not degraded. - If the utilization of the CPU is not above or equal to the 95% utilization threshold, it is then determined whether the CPU's utilization falls at or below a second utilization threshold of, in the illustrated embodiment, 20% (block 612). If the current CPU utilization level is not greater than the 20% utilization threshold, the CPU is operated in battery optimized mode (block 620) and clock throttling is disabled (block 618) such that power saving states such as the C2 and C3 states defined by the well known Advanced Configuration and Power Interface Specification, Revision 2.0, Jul. 27, 2000 (ACPI) can be entered more quickly following completion of the CPU workload. Lastly, for CPU utilizations falling in between the two utilization thresholds, the CPU is transitioned to and operated in maximum battery mode by entering battery optimized mode (block 614) and enabling clock throttling for the applied CPU clock (block 616). Consequently, the performance of CPU workloads having a consistent, intermediate demand intensity is reduced and the completion time is extended in order to reduce the total amount of power consumed. Following any transition to (or retention of) any of the above-described power management performance modes (maximum performance, battery optimized mode, and maximum battery) the process is terminated (block 622).
- Referring now to
FIG. 7 , a high-level logic flowchart of a method of determining the utilization of a central processing unit according to one embodiment of the present invention is illustrated.FIG. 7 depicts a technique by which a the utilization of a CPU may be determined independently of a data processing system's operating system. In one embodiment, this method is utilized to determine CPU utilization within the various method embodiments of the present invention such as atblocks FIGS. 4 , 5, and 6, respectively. The process illustrated byFIG. 7 begins atblock 700. Thereafter, a system-independent timer such as an ACPI chipset-compliant power management timer or Windows™ performance counter is read. (block 702). Next, a sampling time interval is defined using the independent timer's clock period, as well as currently and previously read system-independent timer values (block 704). A value is then read from a time stamp counter (block 706) which is incremented for each cycle or “clock” of a CPU clock signal which is applied to theprocessor core 200 ofcentral processing unit 120. Using a previously read time stamp counter value and the currently read value, the total number of CPU clock signal ticks or cycles applied to the CPU'sprocessor core 200 during the sampling time interval may be obtained (block 708). Thereafter, the total amount or “quantum” of time within the sampling time interval during which the CPU clock signal was active within the CPU'sprocessor core 200 can be derived using the accumulated number of CPU clock cycles and the CPU clock signal's period (block 710). CPU utilization may then be expressed as a ratio of this active CPU clock signal time to the sampling time interval (block 712). Thereafter, the process is terminated (block 714). - Referring now to
FIG. 8 , a high-level logic flowchart of a fourth embodiment of the method of the present invention is illustrated. At 802, a CPU utilization is determined in response to a status request from a power management application. Once the CPU utilization has been established, a determination is made as to the relationship of the calculated CPU utilization with respect to a first, a second, and a third utilization threshold. - At 804, if the CPU utilization is determined to be less than or equal to the first utilization threshold, the central processing unit is placed in a first performance mode at 806.
- At 808, if the CPU utilization is determined to be greater than a second utilization threshold, the first utilization threshold being lower than the second utilization threshold, the central processing unit is placed in a second performance mode at 810.
- At 812, if the CPU utilization is determined to be between the first utilization threshold and the second utilization threshold, the central processing unit is placed in a third performance mode at 814. When the central processing unit is placed in the third performance mode, the central processing unit operates in the first performance mode and reduces a clock frequency of the CPU.
- In accordance with one embodiment, the first performance mode includes the battery optimized mode as previously described. The second performance mode includes the maximum performance mode as previously described. The third performance mode includes the maximum battery performance mode as previously described.
- Referring now to
FIG. 9 , a high-level logic flowchart of a fifth embodiment of the method of the present invention is illustrated. At 902, the value of the each utilization threshold may be configured by a user in a user-specified power management profile. At 904, the previously custom configured user-specified power management profile is received. - At 906, the CPU utilization is determined in response to a status request from a power management application. Once the CPU utilization has been established, a determination is made as to the relationship of the calculated CPU utilization with respect to the previously configured utilization threshold as stored in the user-specified power management profile. The CPU is then placed in the corresponding performance mode at 908.
- It should be noted that the processor discussed in the present application is not limited to a Central Processing Unit but may include also other similar components such as a chipset. Further, the processor may also be powered by a DC power source. The DC power source may include but is not limited to fuel cells and batteries.
- Although the present invention is described herein with reference to a specific preferred embodiment, many modifications and variations therein will readily occur to those with ordinary skill in the art. Accordingly, all such variations and modifications are included within the intended scope of the present invention as defined by the following claims.
Claims (20)
1. A method comprising:
causing a processor to enter a particular performance mode based on a first and a second utilization threshold, wherein the particular performance mode includes at least a first performance mode, a second performance mode, and a third performance mode; and
causing the processor to operate with a clock frequency in the third performance mode that is lower than the clock frequency of the processor in the first and second performance modes.
2. The method of claim 1 , further comprising:
determining a utilization of the processor;
placing the processor in the first performance mode in response to a determination that the utilization is less than or equal to the first utilization threshold;
placing the processor in the second performance mode in response to a determination that the utilization is greater than the second utilization threshold, the first utilization threshold being lower than the second utilization threshold; and
placing the processor in the third performance mode in response to a determination that the utilization is between the first utilization threshold and the second utilization threshold,
wherein placing the processor in the third performance mode includes operating the processor in the first performance mode and reducing a clock frequency of the processor.
3. The method of claim 2 , wherein a voltage level of the processor is lower in the first performance mode than in the second performance mode.
4. The method of claim 2 , wherein a voltage level of the processor is higher in the second performance mode than in the first performance mode and in the second performance mode.
5. The method of claim 2 , wherein a voltage level of the processor is also lower in the third performance mode than in the second performance mode.
6. The method of claim 1 , further comprising:
receiving a user-specified power management profile; and
selecting the particular performance mode from the first, second, and third performance modes based on the user-specified power management profile,
wherein the value of the first, second, and third utilization thresholds is adjusted in response to the user-specified power management profile.
7. The method of claim 6 , further comprising:
powering the processor with a DC power source.
8. The method of claim 2 , further comprising:
placing the processor in a fourth performance mode in response to a determination that the utilization is between the first utilization threshold and a third utilization threshold, the third utilization threshold between the first utilization threshold and the second utilization threshold.
9. The method of claim 8 , further comprising:
placing the processor in a fifth performance mode in response to a determination that the utilization is between the second utilization threshold and the third utilization threshold.
10. A machine-readable medium storing instructions which when executed by a machine, to cause the machine to perform the method of claim 1 .
11. A machine-readable medium having a plurality of instructions executable by a data processing system embodied therein, wherein said instructions when executed to cause said data processing system to perform the following operations, comprising:
causing a central processor to enter a particular performance mode based on a first and a second utilization threshold, wherein the particular performance mode includes at least a first performance mode, a second performance mode, and a third performance mode; and
causing the central processor to operate with a clock frequency in the third performance mode that is lower than the clock frequency of the central processor in the first and second performance modes.
12. The machine-readable medium of claim 1 , further comprising:
determining a utilization of the central processor;
placing the central processor in the first performance mode in response to a determination that the utilization is less than or equal to the first utilization threshold;
placing the central processor in the second performance mode in response to a determination that the utilization is greater than the second utilization threshold, the first utilization threshold being lower than the second utilization threshold; and
placing the central processor in the third performance mode in response to a determination that the utilization is between the first utilization threshold and the second utilization threshold,
wherein placing the central processor in the third performance mode includes operating the central processor in the first performance mode and reducing a clock frequency of the central processor.
13. The machine-readable medium of claim 12 , wherein a voltage level of the central processor is lower in the first performance mode than in the second performance mode.
14. The machine-readable medium of claim 12 , wherein a voltage level of the central processor is higher in the second performance mode than in the first performance mode and in the second performance mode.
15. The machine-readable medium of claim 12 , wherein a voltage level of the central processor is also lower in the third performance mode than in the second performance mode.
16. A data processing system comprising:
a central processing unit to process data and execute instructions;
a memory to store a plurality of instructions which when executed by said central processing unit cause said data processing system to:
cause the central processing unit to enter a particular performance mode based on a first and a second utilization threshold, wherein the particular performance mode includes at least a first performance mode, a second performance mode, and a third performance mode; and
cause the central processing unit to operate with a clock frequency in the third performance mode that is lower than the clock frequency of the central processing unit in the first and second performance modes.
17. The data processing system of claim 16 , further comprising:
determining a utilization of the central processing unit;
placing the central processing unit in the first performance mode in response to a determination that the utilization is less than or equal to the first utilization threshold;
placing the central processing unit in the second performance mode in response to a determination that the utilization is greater than the second utilization threshold, the first utilization threshold being lower than the second utilization threshold; and
placing the central processing unit in the third performance mode in response to a determination that the utilization is between the first utilization threshold and the second utilization threshold,
wherein placing the central processing unit in the third performance mode includes operating the central processing unit in the first performance mode and reducing a clock frequency of the central processing unit.
18. The data processing system of claim 17 , wherein a voltage level of the central processing unit is lower in the first performance mode than in the second performance mode.
19. The data processing system of claim 17 , wherein a voltage level of the central processing unit is higher in the second performance mode than in the first performance mode and the second performance mode.
20. The data processing system of claim 17 , wherein a voltage level of the central processing unit is also lower in the third performance mode than in the second performance mode.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/569,807 US20100023790A1 (en) | 2000-12-30 | 2009-09-29 | Cpu power management based on utilization with lowest performance mode at the mid-utilization range |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/751,759 US6829713B2 (en) | 2000-12-30 | 2000-12-30 | CPU power management based on utilization with lowest performance mode at the mid-utilization range |
US11/006,872 US20050108587A1 (en) | 2000-12-30 | 2004-12-07 | Demand-based method and system of CPU power management |
US11/478,119 US7596709B2 (en) | 2000-12-30 | 2006-06-28 | CPU power management based on utilization with lowest performance mode at the mid-utilization range |
US12/569,807 US20100023790A1 (en) | 2000-12-30 | 2009-09-29 | Cpu power management based on utilization with lowest performance mode at the mid-utilization range |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/478,119 Continuation US7596709B2 (en) | 2000-12-30 | 2006-06-28 | CPU power management based on utilization with lowest performance mode at the mid-utilization range |
Publications (1)
Publication Number | Publication Date |
---|---|
US20100023790A1 true US20100023790A1 (en) | 2010-01-28 |
Family
ID=46325671
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/478,119 Expired - Fee Related US7596709B2 (en) | 2000-12-30 | 2006-06-28 | CPU power management based on utilization with lowest performance mode at the mid-utilization range |
US12/569,807 Abandoned US20100023790A1 (en) | 2000-12-30 | 2009-09-29 | Cpu power management based on utilization with lowest performance mode at the mid-utilization range |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/478,119 Expired - Fee Related US7596709B2 (en) | 2000-12-30 | 2006-06-28 | CPU power management based on utilization with lowest performance mode at the mid-utilization range |
Country Status (1)
Country | Link |
---|---|
US (2) | US7596709B2 (en) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110022868A1 (en) * | 2009-07-23 | 2011-01-27 | Carnegie Mellon University | Systems and Methods for Managing Power Consumption and Performance of a Processor |
US20110029795A1 (en) * | 2008-03-06 | 2011-02-03 | Sylvain Miermont | Device for powering an electronic circuit, in particular a digital circuit, and associated method |
US20110093734A1 (en) * | 2008-05-13 | 2011-04-21 | Artur Tadeusz Burchard | Power Manager and Method for Managing Power |
US20120054519A1 (en) * | 2010-08-26 | 2012-03-01 | Alexander Branover | Dynamic performance control of processing nodes |
US20120117189A1 (en) * | 2010-11-10 | 2012-05-10 | Sony Corporation | Method and apparatus for obtaining feedback from a device |
US20120166861A1 (en) * | 2010-12-28 | 2012-06-28 | Kuo-Cheng Lu | Method for adjusting clock frequency of a processing unit of a computer system and related device |
US20130103980A1 (en) * | 2011-10-24 | 2013-04-25 | Canon Kabushiki Kaisha | Semiconductor integrated circuit and control method of semiconductor integrated circuit |
WO2014051750A1 (en) * | 2012-09-29 | 2014-04-03 | Intel Corporation | Intelligent far memory bandwidth scaling |
US8862909B2 (en) | 2011-12-02 | 2014-10-14 | Advanced Micro Devices, Inc. | System and method for determining a power estimate for an I/O controller based on monitored activity levels and adjusting power limit of processing units by comparing the power estimate with an assigned power limit for the I/O controller |
US8924758B2 (en) | 2011-12-13 | 2014-12-30 | Advanced Micro Devices, Inc. | Method for SOC performance and power optimization |
US9619010B1 (en) * | 2014-06-17 | 2017-04-11 | Amazon Technologies, Inc. | Selective powering off of hardware components for battery management in mobile devices |
Families Citing this family (43)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200928706A (en) * | 2007-12-31 | 2009-07-01 | Gigabyte United Inc | Method and system for power management of a motherboard |
US8082459B2 (en) * | 2008-02-26 | 2011-12-20 | Microsoft Corporation | Power management based on policy |
US8205209B2 (en) * | 2008-03-18 | 2012-06-19 | International Business Machines Corporation | Selecting a number of processing resources to run an application effectively while saving power |
US8527795B2 (en) * | 2008-09-30 | 2013-09-03 | International Business Machines Corporation | Changing processor performance from a throttled state during a power supply failure |
US8015423B1 (en) * | 2008-10-30 | 2011-09-06 | Hewlett-Packard Development Company, L.P. | Temporally normalized processor utilization |
US8103888B2 (en) * | 2008-11-26 | 2012-01-24 | Oracle America, Inc. | Method and apparatus for power savings in a multi-threaded processor using a symbol gated with a clock signal |
KR101620103B1 (en) * | 2009-10-21 | 2016-05-13 | 삼성전자주식회사 | Appratus and method for power control of central processing unit in a multi-core system |
US9104411B2 (en) | 2009-12-16 | 2015-08-11 | Qualcomm Incorporated | System and method for controlling central processing unit power with guaranteed transient deadlines |
US9176572B2 (en) | 2009-12-16 | 2015-11-03 | Qualcomm Incorporated | System and method for controlling central processing unit power with guaranteed transient deadlines |
US9128705B2 (en) * | 2009-12-16 | 2015-09-08 | Qualcomm Incorporated | System and method for controlling central processing unit power with reduced frequency oscillations |
US8909962B2 (en) * | 2009-12-16 | 2014-12-09 | Qualcomm Incorporated | System and method for controlling central processing unit power with guaranteed transient deadlines |
US9563250B2 (en) * | 2009-12-16 | 2017-02-07 | Qualcomm Incorporated | System and method for controlling central processing unit power based on inferred workload parallelism |
US20110145559A1 (en) * | 2009-12-16 | 2011-06-16 | Thomson Steven S | System and method for controlling central processing unit power with guaranteed steady state deadlines |
US8775830B2 (en) | 2009-12-16 | 2014-07-08 | Qualcomm Incorporated | System and method for dynamically controlling a plurality of cores in a multicore central processing unit based on temperature |
US8364999B1 (en) * | 2010-06-23 | 2013-01-29 | Nvdia Corporation | System and method for processor workload metering |
US8812825B2 (en) | 2011-01-10 | 2014-08-19 | Dell Products L.P. | Methods and systems for managing performance and power utilization of a processor employing a fully multithreaded load threshold |
US8799698B2 (en) * | 2011-05-31 | 2014-08-05 | Ericsson Modems Sa | Control of digital voltage and frequency scaling operating points |
US9182244B2 (en) * | 2011-07-26 | 2015-11-10 | Gogoro Inc. | Apparatus, method and article for authentication, security and control of power storage devices, such as batteries |
TWI485572B (en) | 2011-07-26 | 2015-05-21 | 睿能創意公司 | Apparatus, method and article for physical security of power storage devices in vehicles |
CN103875155B (en) | 2011-07-26 | 2017-07-07 | 睿能创意公司 | Device, method and article for collecting, charging and distributing the power storage device such as battery etc |
JP2014525230A (en) | 2011-07-26 | 2014-09-25 | ゴゴロ インク | Dynamic restrictions on vehicle behavior for the best effort economy |
CN103875154B (en) | 2011-07-26 | 2016-11-09 | 睿能创意公司 | For collecting, redistributing the device of electrical energy storage of such as battery, method and article between charging and dispenser |
WO2013016570A1 (en) | 2011-07-26 | 2013-01-31 | Gogoro, Inc. | Apparatus, method and article for authentication, security and control of power storage devices, such as batteries, based on user profiles |
US10186094B2 (en) | 2011-07-26 | 2019-01-22 | Gogoro Inc. | Apparatus, method and article for providing locations of power storage device collection, charging and distribution machines |
US9424697B2 (en) | 2011-07-26 | 2016-08-23 | Gogoro Inc. | Apparatus, method and article for a power storage device compartment |
JP6026535B2 (en) | 2011-07-26 | 2016-11-16 | ゴゴロ インク | RESERVED POWER STORAGE DEVICE DEVICE, METHOD, AND ARTICLE FOR RESERVING A POWER STORAGE DEVICE IN A COLLECTION, CHARGING AND DISTRIBUTION MACHINE |
US20130030920A1 (en) | 2011-07-26 | 2013-01-31 | Gogoro, Inc. | Apparatus, method and article for providing information regarding availability of power storage devices at a power storage device collection, charging and distribution machine |
ES2939174T3 (en) | 2011-07-26 | 2023-04-19 | Gogoro Inc | Dynamic limitation of vehicle operation for a better economy of efforts |
US8595525B2 (en) * | 2011-09-22 | 2013-11-26 | Qualcomm Incorporated | On-chip thermal management techniques using inter-processor time dependent power density data for indentification of thermal aggressors |
WO2014032250A1 (en) | 2012-08-30 | 2014-03-06 | 华为终端有限公司 | Method and device for controlling central processing unit |
US8996902B2 (en) | 2012-10-23 | 2015-03-31 | Qualcomm Incorporated | Modal workload scheduling in a heterogeneous multi-processor system on a chip |
JP6810504B2 (en) | 2012-11-16 | 2021-01-06 | ゴゴロ インク | Devices, methods and articles for vehicle turn signals |
BR112015023244A2 (en) | 2013-03-12 | 2017-07-18 | Gogoro Inc | apparatus, process and article for changing plans for portable electric storage devices |
US11222485B2 (en) | 2013-03-12 | 2022-01-11 | Gogoro Inc. | Apparatus, method and article for providing information regarding a vehicle via a mobile device |
CN105210257B (en) | 2013-03-15 | 2018-11-13 | 睿能创意公司 | Modular system for being collected and distributing to storage device electric |
CN105829160B (en) | 2013-08-06 | 2017-10-24 | 睿能创意公司 | The use of single or multiple battery units is the system and method that electric car is powered |
CN105873797B (en) | 2013-11-08 | 2018-06-29 | 睿能创意公司 | For providing the device of vehicular events data, method and article |
US9837842B2 (en) | 2014-01-23 | 2017-12-05 | Gogoro Inc. | Systems and methods for utilizing an array of power storage devices, such as batteries |
TWI603552B (en) | 2014-08-11 | 2017-10-21 | 睿能創意公司 | Multidirectional electrical connector, plug and system |
USD789883S1 (en) | 2014-09-04 | 2017-06-20 | Gogoro Inc. | Collection, charging and distribution device for portable electrical energy storage devices |
CN107873006B (en) | 2015-06-05 | 2021-02-02 | 睿能创意公司 | Vehicle and method for determining a specific type of load of an electric vehicle |
US10969839B2 (en) * | 2016-11-22 | 2021-04-06 | Intel Corporation | Restricting current draw in wearable devices |
US11429173B2 (en) * | 2018-12-21 | 2022-08-30 | Intel Corporation | Apparatus and method for proactive power management to avoid unintentional processor shutdown |
Citations (46)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5189314A (en) * | 1991-09-04 | 1993-02-23 | International Business Machines Corporation | Variable chip-clocking mechanism |
US5517649A (en) * | 1994-04-19 | 1996-05-14 | Maxtor Corporation | Adaptive power management for hard disk drives |
US5774704A (en) * | 1996-07-29 | 1998-06-30 | Silicon Graphics, Inc. | Apparatus and method for dynamic central processing unit clock adjustment |
US6260114B1 (en) * | 1997-12-30 | 2001-07-10 | Mcmz Technology Innovations, Llc | Computer cache memory windowing |
US6298448B1 (en) * | 1998-12-21 | 2001-10-02 | Siemens Information And Communication Networks, Inc. | Apparatus and method for automatic CPU speed control based on application-specific criteria |
US20020022957A1 (en) * | 2000-07-12 | 2002-02-21 | Shingo Kiuchi | Voice feature extraction device |
US6470456B1 (en) * | 1998-07-24 | 2002-10-22 | Mitac Technology Corp. | Method and system for dynamically controlling the operation speed of a processor |
US20030226049A1 (en) * | 2000-09-08 | 2003-12-04 | Fujitsu Limited | Clock control method, and apparatus and medium therefor |
US20040064752A1 (en) * | 2002-09-30 | 2004-04-01 | Kazachinsky Itamar S. | Method and apparatus for reducing clock frequency during low workload periods |
US6721892B1 (en) * | 2000-05-09 | 2004-04-13 | Palmone, Inc. | Dynamic performance adjustment of computation means |
US20040193867A1 (en) * | 2003-03-31 | 2004-09-30 | Zimmer Vincent J | Configurabel network boot management for hetergenous boot options |
US6845456B1 (en) * | 2001-05-01 | 2005-01-18 | Advanced Micro Devices, Inc. | CPU utilization measurement techniques for use in power management |
US20050018913A1 (en) * | 2003-07-24 | 2005-01-27 | Hsin-Jung Chuang | Apparatus for decoding compressed images |
US20050034002A1 (en) * | 2003-08-04 | 2005-02-10 | Krisztian Flautner | Performance control within a multi-processor system |
US20060031690A1 (en) * | 2004-08-03 | 2006-02-09 | Chien-Ping Chung | System and method of power management |
US20060036850A1 (en) * | 2003-06-25 | 2006-02-16 | Tomoaki Enokida | Digital certificate management system, digital certificate management apparatus, digital certificate management method, update procedure determination method and program |
US20060174099A1 (en) * | 2005-01-28 | 2006-08-03 | Keng-Chun Wang | Embedded system, automatic loading system, and method capable of automatically loading a root file system |
US20060271801A1 (en) * | 2004-12-24 | 2006-11-30 | Kabushiki Kaisha Toshiba | Electronic circuit and electronic device |
US20060294401A1 (en) * | 2005-06-24 | 2006-12-28 | Dell Products L.P. | Power management of multiple processors |
US20070011480A1 (en) * | 2005-06-29 | 2007-01-11 | Rajesh Banginwar | Processor power management |
US7178147B2 (en) * | 2001-09-21 | 2007-02-13 | International Business Machines Corporation | Method, system, and program for allocating processor resources to a first and second types of tasks |
US20070061108A1 (en) * | 2005-08-30 | 2007-03-15 | Dewitt Jimmie E | Adaptive processor utilization reporting handling different processor frequencies |
US7219245B1 (en) * | 2004-06-03 | 2007-05-15 | Advanced Micro Devices, Inc. | Adaptive CPU clock management |
US7237047B2 (en) * | 2001-05-14 | 2007-06-26 | Seiko Espon Corporation | Data transfer control device, electronic equipment, and data transfer control method |
US20070168055A1 (en) * | 2005-11-03 | 2007-07-19 | Los Alamos National Security | Adaptive real-time methodology for optimizing energy-efficient computing |
US7272735B2 (en) * | 2000-09-27 | 2007-09-18 | Huron Ip Llc | Dynamic power and workload management for multi-server system |
US20080082844A1 (en) * | 2006-10-03 | 2008-04-03 | Soraya Ghiasi | Method and System for Improving Processing Performance by Using Activity Factor Headroom |
US20080098254A1 (en) * | 2006-10-24 | 2008-04-24 | Peter Altevogt | Method for Autonomous Dynamic Voltage and Frequency Scaling of Microprocessors |
US20080162965A1 (en) * | 2006-12-29 | 2008-07-03 | Arm Limited | Managing performance of a processor in a data processing image |
US20080178029A1 (en) * | 2007-01-19 | 2008-07-24 | Microsoft Corporation | Using priorities to select power usage for multiple devices |
US20090037712A1 (en) * | 2007-07-31 | 2009-02-05 | Arindam Mallik | Systems and Methods for Process and User Driven Dynamic Voltage and Frequency Scaling |
US20090259347A1 (en) * | 2008-04-14 | 2009-10-15 | Sun Microsystems, Inc. | Method and apparatus for controlling temperature variations in a computer system |
US20090265572A1 (en) * | 2006-11-08 | 2009-10-22 | St-Ericsson Sa | Fast adaptive voltage scaling |
US20090271646A1 (en) * | 2008-04-24 | 2009-10-29 | Vanish Talwar | Power Management Using Clustering In A Multicore System |
US20100030394A1 (en) * | 2008-07-31 | 2010-02-04 | Sun Microsystems, Inc. | Method and apparatus for regulating temperature in a computer system |
US20100146316A1 (en) * | 2008-12-08 | 2010-06-10 | International Business Machines Corporation | Optimizing Power Consumption by Tracking How Program Runtime Performance Metrics Respond to Changes in Operating Frequency |
US20100185882A1 (en) * | 2009-01-16 | 2010-07-22 | International Business Machines Corporation | Computer System Power Management Based on Task Criticality |
US7774635B2 (en) * | 2006-02-15 | 2010-08-10 | Fujitsu Limited | Multi-processing system distributing workload optimally during operation |
US7788670B2 (en) * | 2004-10-26 | 2010-08-31 | Intel Corporation | Performance-based workload scheduling in multi-core architectures |
US7788511B2 (en) * | 2007-08-16 | 2010-08-31 | Texas Instruments Incorporated | Method for measuring utilization of a power managed CPU |
USRE41752E1 (en) * | 2000-12-21 | 2010-09-21 | Lg Electronics Inc. | Bus clock controlling apparatus and method |
US20100241884A1 (en) * | 2009-03-17 | 2010-09-23 | International Business Machines Corporation | Power Adjustment Based on Completion Times in a Parallel Computing System |
US7818596B2 (en) * | 2006-12-14 | 2010-10-19 | Intel Corporation | Method and apparatus of power management of processor |
US20100299545A1 (en) * | 2009-05-20 | 2010-11-25 | Samsung Electronics Co., Ltd. | Methods of power management and apparatus thereof |
US7849302B2 (en) * | 2006-04-10 | 2010-12-07 | Apple Inc. | Direct boot arrangement using a NAND flash memory |
US20100332872A1 (en) * | 2009-06-30 | 2010-12-30 | International Business Machines Corporation | Priority-Based Power Capping in Data Processing Systems |
Family Cites Families (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4485440A (en) | 1981-09-24 | 1984-11-27 | At&T Bell Laboratories | Central processor utilization monitor |
US5072376A (en) | 1988-06-10 | 1991-12-10 | Amdahl Corporation | Measuring utilization of processor shared by multiple system control programs |
US5153535A (en) | 1989-06-30 | 1992-10-06 | Poget Computer Corporation | Power supply and oscillator for a computer system providing automatic selection of supply voltage and frequency |
US5021679A (en) | 1989-06-30 | 1991-06-04 | Poqet Computer Corporation | Power supply and oscillator for a computer system providing automatic selection of supply voltage and frequency |
US5218704A (en) | 1989-10-30 | 1993-06-08 | Texas Instruments | Real-time power conservation for portable computers |
US5201059A (en) | 1989-11-13 | 1993-04-06 | Chips And Technologies, Inc. | Method for reducing power consumption includes comparing variance in number of time microprocessor tried to react input in predefined period to predefined variance |
US5396635A (en) | 1990-06-01 | 1995-03-07 | Vadem Corporation | Power conservation apparatus having multiple power reduction levels dependent upon the activity of the computer system |
US5502838A (en) * | 1994-04-28 | 1996-03-26 | Consilium Overseas Limited | Temperature management for integrated circuits |
US5487668A (en) * | 1993-11-09 | 1996-01-30 | Mill Hill Factory, Inc. | Set of blocks for making designs |
WO1995031782A1 (en) | 1994-05-12 | 1995-11-23 | Ast Research, Inc. | Cpu activity monitoring through cache watching |
US5752011A (en) | 1994-06-20 | 1998-05-12 | Thomas; C. Douglas | Method and system for controlling a processor's clock frequency in accordance with the processor's temperature |
US5734585A (en) | 1994-11-07 | 1998-03-31 | Norand Corporation | Method and apparatus for sequencing power delivery in mixed supply computer systems |
US6192479B1 (en) | 1995-01-19 | 2001-02-20 | Texas Instruments Incorporated | Data processing with progressive, adaptive, CPU-driven power management |
US5623647A (en) | 1995-03-07 | 1997-04-22 | Intel Corporation | Application specific clock throttling |
US5719800A (en) | 1995-06-30 | 1998-02-17 | Intel Corporation | Performance throttling to reduce IC power consumption |
US5745375A (en) | 1995-09-29 | 1998-04-28 | Intel Corporation | Apparatus and method for controlling power usage |
US5787294A (en) | 1995-10-13 | 1998-07-28 | Vlsi Technology, Inc. | System for reducing the power consumption of a computer system and method therefor |
US5815693A (en) | 1995-12-15 | 1998-09-29 | National Semiconductor Corporation | Processor having a frequency modulated core clock based on the criticality of program activity |
US5982814A (en) | 1996-08-01 | 1999-11-09 | Pc-Tel, Inc. | Dynamic control of processor utilization by a host signal processing modem |
US6105142A (en) | 1997-02-11 | 2000-08-15 | Vlsi Technology, Inc. | Intelligent power management interface for computer system hardware |
US6212644B1 (en) | 1998-09-10 | 2001-04-03 | Intel Corporation | Controlling temperatures in computers |
US6118306A (en) | 1998-12-03 | 2000-09-12 | Intel Corporation | Changing clock frequency |
US6272642B2 (en) | 1998-12-03 | 2001-08-07 | Intel Corporation | Managing a system's performance state |
US6557108B1 (en) | 1999-05-28 | 2003-04-29 | 3Com Corporation | System and method in a modem for providing a shortened reset pulse upon receipt of an external reset pulse |
US6349688B1 (en) * | 2000-02-18 | 2002-02-26 | Briggs & Stratton Corporation | Direct lever overhead valve system |
US6574739B1 (en) | 2000-04-14 | 2003-06-03 | Compal Electronics, Inc. | Dynamic power saving by monitoring CPU utilization |
US20030061523A1 (en) * | 2001-09-25 | 2003-03-27 | Stanley Randy P. | Method and apparatus to provide a user priority mode |
US8041967B2 (en) * | 2005-02-15 | 2011-10-18 | Hewlett-Packard Development Company, L.P. | System and method for controlling power to resources based on historical utilization data |
-
2006
- 2006-06-28 US US11/478,119 patent/US7596709B2/en not_active Expired - Fee Related
-
2009
- 2009-09-29 US US12/569,807 patent/US20100023790A1/en not_active Abandoned
Patent Citations (47)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5189314A (en) * | 1991-09-04 | 1993-02-23 | International Business Machines Corporation | Variable chip-clocking mechanism |
US5517649A (en) * | 1994-04-19 | 1996-05-14 | Maxtor Corporation | Adaptive power management for hard disk drives |
US5774704A (en) * | 1996-07-29 | 1998-06-30 | Silicon Graphics, Inc. | Apparatus and method for dynamic central processing unit clock adjustment |
US6260114B1 (en) * | 1997-12-30 | 2001-07-10 | Mcmz Technology Innovations, Llc | Computer cache memory windowing |
US6470456B1 (en) * | 1998-07-24 | 2002-10-22 | Mitac Technology Corp. | Method and system for dynamically controlling the operation speed of a processor |
US6298448B1 (en) * | 1998-12-21 | 2001-10-02 | Siemens Information And Communication Networks, Inc. | Apparatus and method for automatic CPU speed control based on application-specific criteria |
US6721892B1 (en) * | 2000-05-09 | 2004-04-13 | Palmone, Inc. | Dynamic performance adjustment of computation means |
US20020022957A1 (en) * | 2000-07-12 | 2002-02-21 | Shingo Kiuchi | Voice feature extraction device |
US20030226049A1 (en) * | 2000-09-08 | 2003-12-04 | Fujitsu Limited | Clock control method, and apparatus and medium therefor |
US7272735B2 (en) * | 2000-09-27 | 2007-09-18 | Huron Ip Llc | Dynamic power and workload management for multi-server system |
USRE41752E1 (en) * | 2000-12-21 | 2010-09-21 | Lg Electronics Inc. | Bus clock controlling apparatus and method |
US6845456B1 (en) * | 2001-05-01 | 2005-01-18 | Advanced Micro Devices, Inc. | CPU utilization measurement techniques for use in power management |
US7237047B2 (en) * | 2001-05-14 | 2007-06-26 | Seiko Espon Corporation | Data transfer control device, electronic equipment, and data transfer control method |
US7178147B2 (en) * | 2001-09-21 | 2007-02-13 | International Business Machines Corporation | Method, system, and program for allocating processor resources to a first and second types of tasks |
US20040064752A1 (en) * | 2002-09-30 | 2004-04-01 | Kazachinsky Itamar S. | Method and apparatus for reducing clock frequency during low workload periods |
US20040193867A1 (en) * | 2003-03-31 | 2004-09-30 | Zimmer Vincent J | Configurabel network boot management for hetergenous boot options |
US20060036850A1 (en) * | 2003-06-25 | 2006-02-16 | Tomoaki Enokida | Digital certificate management system, digital certificate management apparatus, digital certificate management method, update procedure determination method and program |
US20050018913A1 (en) * | 2003-07-24 | 2005-01-27 | Hsin-Jung Chuang | Apparatus for decoding compressed images |
US20050034002A1 (en) * | 2003-08-04 | 2005-02-10 | Krisztian Flautner | Performance control within a multi-processor system |
US7219245B1 (en) * | 2004-06-03 | 2007-05-15 | Advanced Micro Devices, Inc. | Adaptive CPU clock management |
US20060031690A1 (en) * | 2004-08-03 | 2006-02-09 | Chien-Ping Chung | System and method of power management |
US7788670B2 (en) * | 2004-10-26 | 2010-08-31 | Intel Corporation | Performance-based workload scheduling in multi-core architectures |
US20090083564A1 (en) * | 2004-12-24 | 2009-03-26 | Kabushiki Kaisha Toshiba | Electronic circuit and electronic device |
US20060271801A1 (en) * | 2004-12-24 | 2006-11-30 | Kabushiki Kaisha Toshiba | Electronic circuit and electronic device |
US20060174099A1 (en) * | 2005-01-28 | 2006-08-03 | Keng-Chun Wang | Embedded system, automatic loading system, and method capable of automatically loading a root file system |
US20060294401A1 (en) * | 2005-06-24 | 2006-12-28 | Dell Products L.P. | Power management of multiple processors |
US20070011480A1 (en) * | 2005-06-29 | 2007-01-11 | Rajesh Banginwar | Processor power management |
US20070061108A1 (en) * | 2005-08-30 | 2007-03-15 | Dewitt Jimmie E | Adaptive processor utilization reporting handling different processor frequencies |
US20070168055A1 (en) * | 2005-11-03 | 2007-07-19 | Los Alamos National Security | Adaptive real-time methodology for optimizing energy-efficient computing |
US7774635B2 (en) * | 2006-02-15 | 2010-08-10 | Fujitsu Limited | Multi-processing system distributing workload optimally during operation |
US7849302B2 (en) * | 2006-04-10 | 2010-12-07 | Apple Inc. | Direct boot arrangement using a NAND flash memory |
US20080082844A1 (en) * | 2006-10-03 | 2008-04-03 | Soraya Ghiasi | Method and System for Improving Processing Performance by Using Activity Factor Headroom |
US20080098254A1 (en) * | 2006-10-24 | 2008-04-24 | Peter Altevogt | Method for Autonomous Dynamic Voltage and Frequency Scaling of Microprocessors |
US20090265572A1 (en) * | 2006-11-08 | 2009-10-22 | St-Ericsson Sa | Fast adaptive voltage scaling |
US7818596B2 (en) * | 2006-12-14 | 2010-10-19 | Intel Corporation | Method and apparatus of power management of processor |
US20080162965A1 (en) * | 2006-12-29 | 2008-07-03 | Arm Limited | Managing performance of a processor in a data processing image |
US20080178029A1 (en) * | 2007-01-19 | 2008-07-24 | Microsoft Corporation | Using priorities to select power usage for multiple devices |
US20090037712A1 (en) * | 2007-07-31 | 2009-02-05 | Arindam Mallik | Systems and Methods for Process and User Driven Dynamic Voltage and Frequency Scaling |
US7788511B2 (en) * | 2007-08-16 | 2010-08-31 | Texas Instruments Incorporated | Method for measuring utilization of a power managed CPU |
US20090259347A1 (en) * | 2008-04-14 | 2009-10-15 | Sun Microsystems, Inc. | Method and apparatus for controlling temperature variations in a computer system |
US20090271646A1 (en) * | 2008-04-24 | 2009-10-29 | Vanish Talwar | Power Management Using Clustering In A Multicore System |
US20100030394A1 (en) * | 2008-07-31 | 2010-02-04 | Sun Microsystems, Inc. | Method and apparatus for regulating temperature in a computer system |
US20100146316A1 (en) * | 2008-12-08 | 2010-06-10 | International Business Machines Corporation | Optimizing Power Consumption by Tracking How Program Runtime Performance Metrics Respond to Changes in Operating Frequency |
US20100185882A1 (en) * | 2009-01-16 | 2010-07-22 | International Business Machines Corporation | Computer System Power Management Based on Task Criticality |
US20100241884A1 (en) * | 2009-03-17 | 2010-09-23 | International Business Machines Corporation | Power Adjustment Based on Completion Times in a Parallel Computing System |
US20100299545A1 (en) * | 2009-05-20 | 2010-11-25 | Samsung Electronics Co., Ltd. | Methods of power management and apparatus thereof |
US20100332872A1 (en) * | 2009-06-30 | 2010-12-30 | International Business Machines Corporation | Priority-Based Power Capping in Data Processing Systems |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8621257B2 (en) * | 2008-03-06 | 2013-12-31 | Commissariat A L'energie Atomique Et Aux Energies Alternatives | Device for powering an electronic circuit, in particular a digital circuit, and associated method |
US20110029795A1 (en) * | 2008-03-06 | 2011-02-03 | Sylvain Miermont | Device for powering an electronic circuit, in particular a digital circuit, and associated method |
US20110093734A1 (en) * | 2008-05-13 | 2011-04-21 | Artur Tadeusz Burchard | Power Manager and Method for Managing Power |
US9459679B2 (en) * | 2008-05-13 | 2016-10-04 | Synopsys, Inc. | Power manager and method for managing power |
US20110022868A1 (en) * | 2009-07-23 | 2011-01-27 | Carnegie Mellon University | Systems and Methods for Managing Power Consumption and Performance of a Processor |
US8589709B2 (en) * | 2009-07-23 | 2013-11-19 | Carnegie Mellon University | Systems and methods for managing power consumption and performance of a processor |
US20120054519A1 (en) * | 2010-08-26 | 2012-03-01 | Alexander Branover | Dynamic performance control of processing nodes |
US8959372B2 (en) | 2010-08-26 | 2015-02-17 | Advanced Micro Devices, Inc. | Dynamic performance control of processing nodes |
US8484498B2 (en) * | 2010-08-26 | 2013-07-09 | Advanced Micro Devices | Method and apparatus for demand-based control of processing node performance |
US20120117189A1 (en) * | 2010-11-10 | 2012-05-10 | Sony Corporation | Method and apparatus for obtaining feedback from a device |
US8769322B2 (en) * | 2010-12-28 | 2014-07-01 | Ralink Technology Corp. | Method for adjusting clock frequency of a processing unit of a computer system and related device |
US20120166861A1 (en) * | 2010-12-28 | 2012-06-28 | Kuo-Cheng Lu | Method for adjusting clock frequency of a processing unit of a computer system and related device |
US20130103980A1 (en) * | 2011-10-24 | 2013-04-25 | Canon Kabushiki Kaisha | Semiconductor integrated circuit and control method of semiconductor integrated circuit |
US9436252B2 (en) * | 2011-10-24 | 2016-09-06 | Canon Kabushiki Kaisha | Semiconductor integrated circuit and control method of semiconductor integrated circuit |
US8862909B2 (en) | 2011-12-02 | 2014-10-14 | Advanced Micro Devices, Inc. | System and method for determining a power estimate for an I/O controller based on monitored activity levels and adjusting power limit of processing units by comparing the power estimate with an assigned power limit for the I/O controller |
US8924758B2 (en) | 2011-12-13 | 2014-12-30 | Advanced Micro Devices, Inc. | Method for SOC performance and power optimization |
WO2014051750A1 (en) * | 2012-09-29 | 2014-04-03 | Intel Corporation | Intelligent far memory bandwidth scaling |
CN104541256A (en) * | 2012-09-29 | 2015-04-22 | 英特尔公司 | Intelligent far memory bandwidth scaling |
US9619010B1 (en) * | 2014-06-17 | 2017-04-11 | Amazon Technologies, Inc. | Selective powering off of hardware components for battery management in mobile devices |
Also Published As
Publication number | Publication date |
---|---|
US20070016815A1 (en) | 2007-01-18 |
US7596709B2 (en) | 2009-09-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7596709B2 (en) | CPU power management based on utilization with lowest performance mode at the mid-utilization range | |
US6829713B2 (en) | CPU power management based on utilization with lowest performance mode at the mid-utilization range | |
US7917787B2 (en) | Method, apparatus and system to dynamically choose an aoptimum power state | |
US6711526B2 (en) | Operating system-independent method and system of determining CPU utilization | |
US6795927B1 (en) | Power state resynchronization | |
US7647513B2 (en) | Method and apparatus for improving responsiveness of a power management system in a computing device | |
US5564015A (en) | CPU activity monitoring through cache watching | |
US5991883A (en) | Power conservation method for a portable computer with LCD display | |
US6845456B1 (en) | CPU utilization measurement techniques for use in power management | |
US5623677A (en) | Apparatus and method for reducing power consumption in a computer system | |
JP3406594B2 (en) | Computer power management system | |
EP1116089B1 (en) | Method for power conservation without performance reduction | |
US6691236B1 (en) | System for altering operation of a graphics subsystem during run-time to conserve power upon detecting a low power condition or lower battery charge exists | |
US7225347B2 (en) | Method and apparatus for enabling a low power mode for a processor | |
US6754837B1 (en) | Programmable stabilization interval for internal stop grant state during which core logic is supplied with clocks and power to minimize stabilization delay | |
US7941683B2 (en) | Data processing device with low-power cache access mode | |
US20050044429A1 (en) | Resource utilization mechanism for microprocessor power management | |
US7694164B2 (en) | Operating system-independent method and system of determining CPU utilization | |
US6052791A (en) | Control method for a hard disk drive and a data processor reducing power consumption of the hard disk drive | |
JP2008544736A (en) | Reducing computational system power through idle synchronization | |
KR20020050270A (en) | Dynamically adjusting a processor's operational parameters according to its environment | |
JPH0850523A (en) | Method and equipment for management of power consumption in computer system | |
JP2005527906A (en) | Method and apparatus for providing a separate power management state | |
US8452995B1 (en) | Universal serial bus low power idle mode | |
US6112309A (en) | Computer system, device and operation frequency control method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |