|
Power and thermal management are becoming more challenging than ever before in all segments of computer-based
systems. While in the server domain, the cost of electricity drives the need for low-power systems, in the mobility
market, we are more concerned about battery life and thermal limitations. The increasing demand for computational power in
conjunction with the relatively slow improvement in cooling technology caused power and thermal control methods to become
primary parts of the architecture and the design process of the Intel® Core™ Duo processor-based system.
Intel Core Duo is the first general-purpose, multi-core on die Chip Multi-Processing (CMP) processor
Intel has developed for the mobile market. The core was designed to achieve two main goals: (1) maximize the performance
under the thermal limitation the platform allows; and (2) improve the battery life of the system relative to previous
generations of processors.
Comparing the Intel Core Duo processors with previous-generation Pentium® M processors [1] reveals that it
uses newer process technology, runs faster, and uses the same-size caches, but the overall die size is increased in
order to accommodate two cores. The use of new process technology, together with special design and layout optimizations,
allows each core of the Intel Core Duo technology to control its dynamic power consumption. In this paper, therefore, we
focus on the CMP-related aspects of this technology. Controlling the static power (leakage) was found to be a real
challenge due to the fact that static power depends on the total area of the processor and on process technology. Since the
overall area was increased and the new process was found to produce more leakage power, static and dynamic power management
became one of the main issues when designing the system.

Figure 1: ACPI-based idle state management
click image for larger view
Optimizing the system for maximum performance at the minimum power consumption is usually done as a combination of
software (operating system) and hardware elements. Most modern operating systems (OS) use the ACPI [2] standard for
optimizing the system in these areas. The ACPI processor sleep state control assumes that the core can be in different
power-saving states (also termed sleep states) marked as C0 to Cn. When the core is active, it always runs at C 0, but
when the core is idle, the OS tries to maintain a balance between the amount of power it can save and the overhead of
entering and exiting to/from that sleep state. Thus C1 represents the power state that has the least power saving but can
be switched on and off almost immediately, while extended deep-sleep (DC4) represents a power state where the static
power consumption is negligible, but the time to enter into this state and respond to activity (back to C0) is quite long.
Figure 1 shows the general principle of operation of how a traditional ACPI software layer controls the sleep states of the
processor. When the OS scheduler detects there are no more tasks to run, it transitions the processor into the "selected"
idle state, by executing a BIOS defined instruction sequence. The processor will remain in that idle state until a break
event occurs and then return to the C0 state. Break events would typically be interrupts and similar indicators that new
tasks need to be executed. The OS evaluates the CPU activity factor over a registry-based time window and,
periodically, modifies the selected target C-state for the next evaluation window.
The progressive increase in static power savings per state is achieved by employing more aggressive means as the
C-state deepens. In C1 idle state, only processor-centric measures are employed: instruction execution is halted
and the core clocks are gated. In C2 states and above, platform-level measures are also added to further increase the
power savings. While in the C2 state, the processor is obligated not to access the bus without chipset consent. Thus, the
front side bus can be placed in a lower power state, and the chipset can also initiate power-saving measures. In C3,
the processor also disables its internal Phase Locked Loops. In C4, the processor also lowers its internal voltage level to
the point where only content retention is possible, but no operations can be done. Deep-C4, a new Intel Core Duo power
state, is described later in this paper.
In order to control the dynamic power consumption, the ACPI standard tries to adjust the active power consumption to
the "computational" needs of the software. The system controls the "active" state of the system (also termed P-states)
by a combination of hardware and software interfaces: the hardware defines a set of "operational points" where each one
defines a different frequency/voltage and therefore different levels of power consumption. The OS aims to keep the system
at the lowest operational point yet still meet the performance requirements. In other words, if it anticipates that the
software can efficiently use the maximum performance that the processor can provide, it puts it in the P0 state. When the
OS predicts (based on history) that the lower (and slower) operational point can still meet the performance requirements,
it switches to that operational point (marked as Pn) in order to save power.
Power consumption produces heat that needs to be removed from the system. Naturally, each system has a total cooling
capacity per its specific design, and each major component has a cooling limit or power consumption allowance. The system
designers usually choose the maximum frequency the system can run at without overheating when running in a "normal" usage
model; this is also called the system's Thermal Design Power (TDP). Thus, when an unexpected workload is used the thermal
control logic aims to allow the system to provide maximum performance under the thermal constraints.
The remainder of this paper is organized as follows: we first describe the Intel Core Duo implementation of power and
thermal control; next, we provide experimental numbers that examine the efficiency of the power and thermal mechanisms; and
finally we extend the discussion to software optimizations that can help save power.

Figure 2: Internal power state in Intel Core Duo processor
click image for larger view
|