This application relates generally to power management protocols in computer systems. In particular, this application relates to improved activity window management and notification protocol for various components in a computer system.
Energy management efficiency is desirable in computer systems, particularly computer systems relying on battery power. As a result of the desirability of low power states in electronic components, PME# on PCI or Wake# on PCI Express are mechanisms designed to support a device signaling an exit from deep system or device low power state. Powering down electronic components, including CPU's, may lead to reduced performance of a computer due to the time lag incurred when powering up the electronic component to perform required functions. As computer devices have become bus-master oriented in controlling and connecting electronic components, many interconnects and buses play a limited or no role in modifying traffic behavior between electronic components. Thus, some electronic components may be in a low power state when an associated component is in an active state, without organized management of the power states of each electronic component. In some computer systems, the protocols determining when electronic components may be in low power state may vary between electronic components, such that two components not in use may have dissimilar power states. Similarly, during low power states, different components may perform certain functions, such as a check to verify that the component is not needed, or non-critical data purge or storage, including relieving back pressure in buffering, at different times, requiring other components to function in response at a potentially inefficient time.
The following description can be better understood in light of Figures, in which:
Together with the following description, the Figures demonstrate and explain the principles of the apparatus and methods described herein. In the Figures, the thickness and configuration of components may be exaggerated for clarity. The same reference numerals in different Figures represent the same component.
The following description supplies specific details in order to provide a thorough understanding. Nevertheless, the skilled artisan would understand that the methods, systems and devices described herein can be implemented and used without employing these specific details. Indeed, the devices, systems, and associated methods can be placed into practice by modifying the systems and methods and can be used in conjunction with any apparatus and techniques conventionally used in the industry. For example, while the description below focuses on power management for Intel® CPU's, chipsets and programming for mobile electronics devices such as laptop computers, the systems and methods can be equally applied with other electronic devices. Indeed, the systems and methods may be implemented in many applications such as desktop computers, televisions, mobile video players, mobile audio devices, or any other electronic device that may benefit from power management. Additionally, although this disclosure focuses on how to communicate and coordinate three types of windowing and likely overlaying onto existing PCI Express sideband Wake#, it is extensible to any other communication means such as dedicated broadcast messages or control signals.
Electronic components in a computer system, such as the CPU, graphics and memory control hub, memory, graphics processors, disk drives, etc., may consume energy even when not being actively used. Microprocessors, chipsets and other devices maintain high performance by remaining active to respond quickly to requests for data processing, transfer, retrieval, or storage. However, in battery powered devices such as laptop computers, power conservation and management are important to prolong battery life. As such, power protocols often allow electronic components to be in a low power or “deep sleep” state while not in active use. The low power state may be short or long periods of time. For example, a hard disk storage drive may be in a low power state while a program is being used that does not access information stored on the drive.
Embodiments of the power management protocols and methods can have any configuration consistent with the operations described in herein. The operation of some embodiments of a power management protocol is graphically illustrated in
As shown in section 200, in some embodiments, the CPU may have at least two power states, active state 110, inactive state 120, and, within inactive state 120, an opportunistic flush and fill (“OFF”) state 130. Active state 110 may indicate full power and activity of the CPU in an active window for processing data and controlling a computer system. Inactive state 120, or inactive window, may indicate a low power mode and waiting for indications or input to resume active state 110. Inactive states 120 and OFF states 130 may correspond to when there is no meaningful processing to be done by the CPU. Similarly, non-critical functions may correspond to those functions that do not require immediate processing for continued functioning of the computer or any programs then running on the computer.
OFF state 130 may indicate no power usage. As shown in section 300, during active state 110, the clock frequency of the CPU may be high. In some embodiments, the clock speed during active state 110 may be less than about 20 μsec. More particularly, in some embodiments the clock speed during active state 110 may be about 2 μsec.
In contrast, during inactive state 120, the clock speed of the CPU may be inconsistent and less than the clock speed during active state 110. For example, in some embodiments, the clock speed during inactive state 120 may be more than about 20 μsec. More particularly, in some embodiments the clock speed during inactive state 120 may be between 20 and 200 μsec. Because of the low power state during inactive state 120, the off power states 130 during inactive state 120 may not represent CPU clock processing, but rather off states 130 represent very low power state, saving power. The low clock speed of inactive state 120 allows off states 130 to be extended, allowing energy savings.
Thus, power consumption is reduced when activity within the system is aligned, maximizing times when the system is idle, which in turn allows best use of reduced power states. The conditions illustrated in
One advantage of some embodiments may be to avoid or minimize the dependency of high frequency clocks during inactive states 120 and off states 130 by using a signaling scheme that does not require high frequency clocks to stay running during inactive states 120 and off states 130. This may allow the computer to maximize the opportunity to shutdown high frequency components during idleness in order to save power. In classical CMOS power analysis this may be a valid approach because of dynamic power being proportional to frequency.
In addition to any previously indicated modification, numerous other variations and alternative arrangements may be devised by those skilled in the art without departing from the spirit and scope of this description, and appended claims are intended to cover such modifications and arrangements. Thus, while the information has been described above with particularity and detail in connection with what is presently deemed to be the most practical and preferred aspects, it will be apparent to those of ordinary skill in the art that numerous modifications, including, but not limited to, form, function, manner of operation and use may be made without departing from the principles and concepts set forth herein. Also, as used herein, examples are meant to be illustrative only and should not be construed to be limiting in any manner.