background image

14-24 Vol. 3B

POWER AND THERMAL MANAGEMENT

For Hyper-Threading Technology enabled processors, the IA32_CLOCK_MODULATION register is duplicated for 
each logical processor. In order for the On-demand clock modulation feature to work properly, the feature must be 
enabled on all the logical processors within a physical processor. If the programmed duty cycle is not identical for 
all the logical processors, the processor core clock will modulate to the highest duty cycle programmed for proces-
sors with any of the following CPUID DisplayFamily_DisplayModel signatures (see CPUID instruction in Chapter3, 
“Instruction Set Reference, A-L” in the Intel® 64 and IA-32 Architectures Software Developer’s Manual, Volume 
2A
): 06_1A, 06_1C, 06_1E, 06_1F, 06_25, 06_26, 06_27, 06_2C, 06_2E, 06_2F, 06_35, 06_36, and 0F_xx. For all 
other processors, if the programmed duty cycle is not identical for all logical processors in the same core, the 
processor core will modulate at the lowest programmed duty cycle. 
For multiple processor cores in a physical package, each processor core can modulate to a programmed duty cycle 
independently.
For the P6 family processors, on-demand clock modulation was implemented through the chipset, which controlled 
clock modulation through the processor’s STPCLK# pin.

14.7.3.1   Extension of Software Controlled Clock Modulation

Extension of the software controlled clock modulation facility supports on-demand clock modulation duty cycle with 
4-bit dynamic range (increased from 3-bit range). Granularity of clock modulation duty cycle is increased to 6.25% 
(compared to 12.5%).
Four bit dynamic range control is provided by using bit 0 in conjunction with bits 3:1 of the 
IA32_CLOCK_MODULATION MSR (see Figure 14-26).

Extension to software controlled clock modulation is supported only if CPUID.06H:EAX[Bit 5] = 1. If 
CPUID.06H:EAX[Bit 5] = 0, then bit 0 of IA32_CLOCK_MODULATION is reserved.

14.7.4 

Detection of Thermal Monitor and Software Controlled

Clock Modulation Facilities

The ACPI flag (bit 22) of the CPUID feature flags indicates the presence of the IA32_THERM_STATUS, 
IA32_THERM_INTERRUPT, IA32_CLOCK_MODULATION MSRs, and the xAPIC thermal LVT entry. 
The TM1 flag (bit 29) of the CPUID feature flags indicates the presence of the automatic thermal monitoring facili-
ties that modulate clock duty cycles.

14.7.4.1   Detection of Software Controlled Clock Modulation Extension

Processor’s support of software controlled clock modulation extension is indicated by CPUID.06H:EAX[Bit 5] = 1. 

14.7.5 

On Die Digital Thermal Sensors

On die digital thermal sensor can be read using an MSR (no I/O interface). In Intel Core Duo processors, each core 
has a unique digital sensor whose temperature is accessible using an MSR. The digital thermal sensor is the 
preferred method for reading the die temperature because (a) it is located closer to the hottest portions of the die, 
(b) it enables software to accurately track the die temperature and the potential activation of thermal throttling.

Figure 14-26.  IA32_CLOCK_MODULATION MSR with Clock Modulation Extension

63

0

Reserved

3

Extended On-Demand Clock Modulation Duty Cycle

On-Demand Clock Modulation Enable

4

5

Reserved