[an error occurred while processing this directive]

Performance and Power Consumption Control Features in Intel Pentium 4 and Intel Xeon Processors – Different Names, the Same Principles


Automatic thermal monitoring mechanism #1

Thermal Monitor 1 (TM1) is the very mechanism, which got the widely spread name "Throttling", or "Thermal Throttling", or "Thermal Trip". This name is probably known to everybody familiar with Pentium 4 processors on Prescott core, which often bears quite a negative connotation.

Automatic thermal monitoring mechanism #1 is implemented in Pentium 4, Xeon and Pentium M processors. It is a combination of the second thermal sensor (the first one is used in catastrophic shutdown mechanism), which is also calibrated at the CPU production stage adjusted for its recommended thermal operating range, and the CPU clock modulation (duty cycle) mechanism (which has been already mentioned above). Unlike the catastrophic shutdown detector, TM1 can be both detected (using the CPUID instruction) as well as controlled (using the model-specific IA32_MISC_ENABLE CPU register). According to Intel's recommendations, TM1 must be enabled in BIOS at processor initialization and shouldn't be modified later on (by the operating system).

So, the idea of TM1 is quite obvious – in case of emergency (the most obvious case is cooler failure) the task of this mechanism is to maintain the CPU temperature at maximum safe level (as far as possible, of course) by decreasing its performance, or, in our terms, by reducing CPU Load.

It'll be very curious to try it out in practice – let's take a Pentium 4 processor with Prescott core (Testbed #1) and run RMClock.

This processor supports TM1 and On Demand Clock Modulation (ODCM). Note that the former was already enabled at program startup, the latter was disabled. CPU Load is minimal, its thermal conditions are within the normal range, in this connection the Throttled CPU Clock coincides with the Actual CPU Clock.

Now let's apply 100% load (for this purpose we'll use a simple two-stream application executing FPU instructions). CPU zone temperature (according to SpeedFan) reaches 66°C upon coming up to the steady-state mode. Let's stop CPU cooler using SpeedFan and watch the CPU reaction.

CPU temperature reaches 70°C already in 15 seconds and TM1 snaps into action (we have already seen the same throttling threshold before). Throttling reaches its maximum intensity in one minute – mysterious 46% of duty cycles. CPU Load drop (as an average quantity measured at 1 sec interval) is quite smooth, while the throttled CPU clock curve demonstrates noticeable surges. The latter fact (considering that the throttled CPU clock is estimated by a relatively short interval, the reason for this having been described in the methodological chapter) means that clock modulation in throttling mode (that is when TM1 is active) operates rather chaotically. It stops at the same mark ~46% of the Actual CPU clock (in our case – 1555 MHz). CPU temperature at this point reaches about 80°C, however there is certainly no direct relation between throttling intensity and temperature. The reason has been already explained above: TM1 serves to maintain CPU temperature within the admissible range (ideally – below 70°C) "at any cost". In our experiment the CPU was driven to full throttling by heating it to 80°C. But a different experiment (for example, to slow down CPU cooler instead of stopping it) may achieve full throttling at a completely different temperature (but not lower than 70°C).

OK, enough on CPU tortures – let's set the cooler to full swing.

Complete restoration is approximately in 2.5 minutes – the temperature drops to 70°C, CPU load is restored to standard 100%, and the throttled CPU clock gradually reaches the actual CPU clock (again with typical surges on the corresponding curve).

Now let's see how Intel Xeon Nocona will operate in the same situation (Testbed #2).

Start RMClock in standard CPU mode. To all appearances our processor turned out an engineering sample, because the program wrongly detected it as Pentium 4 (Prescott) due to the lack of the appropriate Brand ID value in CPUID data (actually, there is no other direct way to differentiate between Nocona and Prescott). But the set of thermal features it supports is much more interesting – it has not only TM1 and ODCM (which are available in Prescott as well), but also TM2 and the new Enhanced SpeedStep technology (server modification, as you'll see later, different from the modification in mobile Pentium M processors). When the program starts, TM1 and Enhanced SpeedStep are already enabled (the latter is enabled by RMClock itself, its functionality will be described below).

Let's apply 100% load and then (after some time) disconnect power from cooler (SpeedFan wouldn't start on this platform, so temperature monitoring and rpm control of the cooler fan were impossible). Throttling starts only in 1 minute 40 seconds of operating without active cooling as smooth decrease of actual CPU load. It reaches its maximum in another 2.5 minutes, its maximum being the same as in Prescott – the same 46% (unfortunately, CPU Load jumped up when I took the screenshot). The throttled CPU clock curve again demonstrates surges. It means that TM1 is implemented in Nocona in the same way as in Prescott (which is quite natural, considering that the former is the server modification of the latter with minimum changes).

Resume active cooling of the system. Complete performance restoration is quite fast – just 40 seconds (which has absolutely nothing to do with a CPU, it depends solely on the cooling system properties).


Dmitri Besedin (dmitri_b@ixbt.com)
February 9, 2005

[an error occurred while processing this directive]