This way or another, we periodically get back to the topic of thermal technologies (power saving and overheating protection), implemented in modern processors — for example, in our recent review of the strange behavior of the ASUS P5WD2 Premium motherboard. Fortunately, we can always use our own unique utility — RightMark CPU Clock Utility, which allows not only controlling performance and power consumption of a processor directly, but also detecting its behavior subtleties — for example, to detect the moment it starts throttling.
Though this topic mostly concerned Intel Pentium 4 processors — the two previous parts of this article were devoted to these very processors (together with their server counterparts — Intel Xeon). On the one hand it had to do with many such technologies used in these processors, on the other hand, strange as it may seem, with the simplicity of this research. We sort of avoided reviewing their nearest functional counterpart (of course, in terms of thermal technologies, not their architecture) Pentium M, because it's problematic to examine thermal conditions of a processor installed inside a notebook (even such a simple operation as to stop a cooler is hard to do in this case). But the justice prevailed — our lab got hold of an exotic desktop motherboard from DFI, intended for Pentium M. You'll be able to read the review of this motherboard in a separate article in the nearest future. But in this article we decided to jump at this opportunity to see how the thermal technologies (already familiar from the Pentium 4 reviews) Thermal Monitor 1 (TM1) and Thermal Monitor 2 (TM2) are implemented in the Pentium M processor.
Let's start with an overview of our "desktop-mobile" platform. Start RMClock (having previously cleared all its settings in the registry) and have a look at the main tabbed pages of this utility — General and Advanced.
This processor runs in maximum performance mode by default (it's quite reasonable for a desktop platform) — maximum clock at maximum voltage. Even though BIOS assures us that Thermal Monitor 2 is used (you cannot change this setting), our utility shows that Automatic Thermal Monitoring Mechanism 2... is disabled, which is an out-of-spec CPU mode according to the official Intel's positions. Besides, TM2 Target is set incorrectly — those multiplier and voltage values used by a processor in TM2 mode (according to the official documentation from Intel, you sort of cannot change these values in Pentium M, however everything works fine — you will see it for yourselves below). Well, let's right a wrong and enable TM2 mode, setting its target values to correspond to the start-up ones (FID 6x, VID 0.988V). Of course, you can set the minimum performance state (P-State) even to lower voltages — down to 0.7V. However that's the task to reach maximum power saving, which is critical only to notebook users (note that this task is easily solved by RMClock), our objectives'll do fine with the default settings, i.e. those recommended by the manufacturer.
Having applied the standard settings on the Advanced tabbed page, let's proceed to the Management tab, in order to enable P-States Transitions with the help of Enhanced Intel SpeedStep (EIST) and to specify performance states — we'll again resort to the default settings.
Set the performance profile to Maximal, which corresponds to the maximum performance state (FID 16x, VID 1.356V). It will change nothing, actually, as the processor already used to be in this state. Now start the SpeedFan utility and compare the VID values with the actual voltage applied to the core (Vcore).
You will see that they are a perfect match, within the Vcore measurement error. The next stage is to set the performance profile to Minimal (FID 6x, VID 0.988V).
Compared to Pentium 4, there is nothing surprising here — the real processor clock (both Actual Clock, the reference clock of TSC and Throttled Clock — the effective core clock) changes in exact correspondence with the FSB clock multiplier. That is Pentium M processors, unlike Pentium 4 (we'll dwell on the latter in our conclusion), are sort of a completely synchronous device. Pay your attention to VID and Vcore — they are again almost a perfect match (0.988V versus 0.98V). Thus, if the Vcore sensor is correct (that is if its readings are not shifted), the quality of VRM and CPU power lines on the motherboard is impressive! Obviously, DFI took a good care of the effective CPU power consumption management — that's what differs Pentium M from "popular" processors for the desktop Pentium 4 sector.
Thermal Monitor 1
OK, let's proceed. At first, let's restore the maximal performance state, get back to the Advanced tabbed page, and enable Thermal Monitor 1 — at first we shall examine behavior of this older technology. The next stage — apply maximum load, imitated by a simple test application, and take the readings from a thermal sensor in SpeedFan.
The CPU temperature hardly exceeds 60°C under standard cooling conditions (if we may say so — considering that the cooler retention mechanism on the motherboard is non-standard and we managed to install only a fanned heatsink for the Intel 865 northbridge(!), removed from one of the motherboards). As usual, our next step is to carry out a daring experiment — cut off power from the CPU cooler.
Processor temperature grows noticeably and quickly reaches the throttling threshold (when TM1 snaps into action). Now it amounts to 83°C. There is just a chance that the actual temperature of the CPU core is lower — 73°C instead of 83°C, this temperature was demonstrated by Pentium 4 processors. The low accuracy of these sensors is well known, to be more exact, their great spread of shifts, it may reach even +/-20°C(!). So let's assume that the readings of this sensor exceed the actual temperature by 10°C. However, this fact is irrelevant for our tests — we'll do fine with quality ratings, how much a given technology can slow down the rapid overheating of a processor in an emergency. That's what we pay attention to.
So, it takes throttling about thirty seconds to stabilize — the actual CPU clock does not change, and the throttling clock reaches ~1138 MHz, that is approximately to 53% of the initial CPU performance. What happens to the temperature — it grows to 88°C, that is by 5°C, and stays at this level. Resume active cooling of the processor.
Another thirty seconds — processor returns to the maximum performance state, its temperature drops to the same level as it was when throttling started — 83°C (we took this screenshot a tad later, so the temperature dropped another 2°C).
Thermal Monitor 2
Now let's examine the most interesting technology — Thermal Monitor 2. In brief, the advantage of TM2 versus TM1 is that it can drop the actual processor clock (that holds true in case of Pentium M) together with a significant reduction of its voltage (as is already known and demonstrated by EIST that a processor can operate at a lower voltage with reduced clock; to a first approximation, the clock-voltage dependence is linear). In its turn, it results in a noticeable reduction of CPU heat dissipation (the total power-voltage dependence, including the clock component is cubic) and consequently of its operating temperature. Well, enough of the theory, let's proceed to practice. The procedure is the same — stop the cooler and monitor the CPU temperature sensor.
The temperature is about the same when throttling starts - 84°C.
The first minute of CPU operation in throttling mode deserves a thorough review. First of all, we can see that all clock components of a CPU are truly reduced (TSC and core clocks), like when EIST is active. The second note — multiple CPU switching between just two states — the main one (FID 16x, VID 1.356V) and TM2 Target (FID 6x, VID 0.988V — that's where we can see that TM2 can and must be programmed on Pentium M — if we had left the default values, specified during the BIOS POST procedure, TM2 would have yielded... absolutely nothing!). And the last but not the least — the core temperature steadily remains at the same level (84°C).
This screenshot, taken in a couple minutes after TM2-throttling mode started, shows well that the core temperature in TM2 mode really keeps at the constant level and the CPU does not stop its attempts to return to its maximal performance state. It means that TM2 implementation in Pentium M is much better than in Pentium 4 and Xeon. The differences are phenomenal — compared to Pentium M-TM2, Pentium 4-TM2 and Xeon-TM2 look just... a cosmetic solution. Remember that in their case, despite multiple VID state switching (with the only FID switching — from operating to TM2 Target), the throttling curves resembled TM1-throttling curves, the same applied to their efficiency. Performance quickly dropped to minimum, temperature kept growing...
But we are wandering. It's time we should finish the TM2 experiment with Pentium M, that is to power the cooler. We can see a fast (less than thirty seconds) restoration of maximum CPU performance.
Celentrino - not quite a Mobile Technology!
We have already touched upon the comparison between Pentium M and Pentium 4 and we shall certainly get back to it. But let's not forget another processor, next-of-kin to Pentium M, its defeatured modification Celeron M (while a Pentium M platform can be really called "Centrino Mobile Technology", the latter matches the subtitle).
The reason we do it is to warn potential customers about the product, which they are going to buy and to find out whether it's worth it. Unfortunately, this product lacks too many features. And L2 Cache size is not the most important of them. That's the actual state of affairs: almost all our praises to Pentium M have nothing to do with Celeron M! It lacks Enhanced Intel SpeedStep as well as Thermal Monitor 2 (they are disabled on the hardware level, thus nothing can be done to work it around).
So, if you buy Celeron M, you will not be able to manage its performance states or power consumption, as well as to enable the effective overheating protection. What you can actually get from Celeron M is outdated Thermal Monitor 1 (which is not so effective — performance drops much, but the temperature still grows), and the performance state management, if you can really call it so, only due to CPU clock modulation (ODCM). Efficiency of the latter in the automatic mode is close to zero, because it makes no difference to an idle processor whether it runs regular idle cycles (C1/Halt or, all the more so, it's in deeper power saving modes — C2/Stop Grant, C3/Sleep, and C4/Deep Sleep) or forced idle cycles due to active modulation. What can you really get from ODCM is to limit the upper performance level... certainly with proportional performance loss. That's why we recommend that all potential buyers of Centrino notebooks should thinks what advantages they can get from a sterling modification of this platform with a Pentium M processor, instead of the defeatured Celentrino.
Back to Pentium 4...
And finally, as promised, we are getting back to Pentium 4 processors. Results of our latest tests force us to disprove the initial assumption about the common management mechanism for all thermal technologies in these processors — with the help of clock modulation. As we found out, throttling may... exceed 100%, which is physically impossible by definition (synonym to throttling is clock modulation, that is missing some payloaded cycled by turning them to idle). Thus, the alternative assumption turned out true after all — processor is "divided" into several individually clocked components. Interestingly, TSC is located in one of them, while the core and performance counters are in the other (perhaps there also exists the third component? :)). However, all the above said does not belittle our criticism in the first two parts of this article. We actually didn't criticize technology implementation details. What we really criticized was their feinted actions for users, because transparency may hide a potential deceit. Unfortunately it's true for Pentium 4 and Xeon with all their five technologies (ODCM, TM1, TM2, DBS, C1E) — all these technologies are absolutely transparent to users. Because the majority of utilities still rely on TSC readings as a CPU clock indicator. Or they use adjustment methods that calculate the clock indirectly, like in the latest CPU-Z versions. Nevertheless, even these methods cannot show the true level of CPU performance in throttling mode. But Intel holds a different view of TSC now (Intel(R) Pentium(R) M Processor on 90 nm Process with 2-MB L2 Cache, Specification Update, Document No. 302209-010):
In brief it means the following: in earlier processors, including Pentium
M, TSC is designed so that it reflects the actual processor clock,
so its own clock may change in consequence of EIST
switching between performance states. The new generation of processors
— Pentium 4 (Prescott and further), Xeon (Nocona and further)
uses a principally different, advanced approach — now the TSC
clock is constant. It's determined by the FSB clock
multiplied either by the maximum or by the start-up CPU multiplier,
which depends on a processor (in practice, Pentium 4 uses the second
option). The advantage here supposedly lies in stability of its readings
even in case of core clock changes (demonstrated in practice). Well,
Intel decided to turn TSC into a "wall clock timer"...
Joking apart, disadvantages of this approach are obvious to our mind.
It's not only the evident over-indulgence (as any system has an ACPI
timer, operating at about 3.57 MHz; its accuracy is sufficient
for most of the accurate measurements of short time
intervals). But this solution may potentially mislead users with its
wrong readings. Measuring ultrashort time periods (for
example, cache or memory access latencies), as a rule, depends on
the TSC clock as an indicator of CPU clock. If a processor
really operates slower due to one of the technologies, reviewed in
this series of articles, we'll get proportionally worse results. And
then we'll be wondering why it happened... But the fact is that TSC
turned into a regular wall clock timer...
Dmitri Besedin (firstname.lastname@example.org)
July 15, 2005
Write a comment below. No registration needed!