1. Technical Field
Some embodiments of the invention generally relate to processor state transitions in a computing system.
2. Discussion
The power consumption of computing systems is becoming an increasingly sensitive issue for many users. In most cases, users desire lower energy bills. Users may also prefer computing systems that generate less noise and heat, and there is typically a positive relationship between the amount of power consumed by a computing system and the amounts of noise and heat generated by that computing system. In addition, for a battery powered computing system such as a laptop computer, a cellular telephone (“cell phone”), a personal digital assistants (PDAs), etc., reducing the power consumption has the valuable effect of increasing the computing system's battery life (i.e., increasing the amount of time the computing system can be used before the battery must be recharged or replaced).
A typical computing system includes many different components, such as a processor or microprocessor, a data storage device, and various input/output (I/O) devices. When a computing system is not off, each component within the computing system may consume some power. Moreover, the increased sophistication of the microprocessor architectures of computing systems has also leveraged power management issues. The logic, such as software applications, which runs on computing systems, may not be aware of the power state of the computing system or its components. This can be problematic when the activities of the software applications are not readily apparent to the user. Furthermore, the logic may be run on different operating systems or versions of operating systems (OSes) and may not be able to obtain power state information from the operating system (OS).
Therefore, there is a need to provide ways for the logic to be made aware of power management states of the computing system. In particular, there is a need for the logic to detect in an OS independent manner when the OS is about to alter the power state of a computing system.