IDF: Weshalb viele Systeminfo-Tools falsche CPU-Temperaturen anzeigen

Intel erklärt, warum viele (Windows-)Utilities die aktuellen Temperaturen der Kerne von Desktop-PC-Prozessoren falsch anzeigen.

In Pocket speichern vorlesen Druckansicht 147 Kommentare lesen
Lesezeit: 5 Min.

Schon seit einigen Jahren enthalten x86-Prozessoren von AMD und Intel sogenannte "Thermal Diodes", die die aktuelle Temperatur der einzelnen CPU-Kerne messen. Früher war von diesen Messdioden nur eine vorhanden, die sich lediglich analog über zwei dafür vorgesehene CPU-Kontakte auslesen ließ, was auf vielen Mainboards ein sogenannter Hardware-Monitoring-Chip übernahm. Neuere Prozessoren haben pro Kern mehrere Temperaturfühler, eine integrierte Logikschaltung gibt die Messwerte des jeweils heißesten Sensors digital aus; bei Intels Core-Prozessoren dient dazu die Eindraht-Schnittstelle PECI (Platform Environment Control Interface).

Leider melden die Core-Prozessoren aber per PECI nicht einfach ihre aktuelle Temperatur in der Einheit Kelvin oder in Grad Celsius, sondern Intel hat sich – wie schon oft – ein besonders kompliziertes Verfahren ausgedacht: Die Digitalen Temperatursensoren (DTS) jedes Kerns melden den Differenzwert zu einer bestimmten Sperrschicht-Maximaltemperatur Tj, die je nach Prozessor (bisher) entweder 85, 100 oder 105 Grad Celsius beträgt – aber auch andere Tj-Werte sind möglich. Die für den jeweiligen Prozessor gültige Tj steht dabei – so dachten die Programmierer der Systeminfo-Tools bisher – codiert in einem Machine Specific Register (MSR) des jeweiligen Prozessors.

Wie Intel nun endlich klärt, ist dieses MSR aber nur für Mobilprozessoren spezifiziert, bei Desktop-PC-Prozessoren nutzt es Intel nicht. Deshalb zeigen viele Systeminfo-Tools dann auch falsche Werte an. Bei Desktop-Prozessoren gelten je nach CPU-Familie feste Tj-Werte. Und die verrät Intel nun – allerdings nur für die aktuellen 45-nm-Prozessoren: Bei den Core 2 Duos der Baureihen E8000 und E7000 beträgt sie demnach 100 Grad, ebenso wie bei den Quad-Cores der Serien Q9000 und Q8000. Für den Core 2 Extreme QX9650 nennt Intel 95 Grad Celsius und für den Core 2 Extreme QX9770 85 Grad Celsius. Ob diese Daten für alle bereits ausgelieferten und kommenden Steppings dieser Prozessorfamilien gelten, ist unklar. Auch Celeron und Pentium Dual-Core erwähnt Intel nicht.

Die aus der Differenz zwischen dem Tj-Wert und den PECI-Daten errechnete (also digital gemessene) Temperatur eines CPU-Kerns entspricht übrigens nicht der im Datenblatt angegebenen maximal zulässigen Prozessortemperatur, bei der es sich üblicherweise um TCase, also die CPU-Gehäusetemperatur handelt. Diese muss man streng genommen mit einem Messfühler oben in der Mitte des Wärmeverteilblechs, des Integrated Heat Spreader (IHS), messen. Dazu ist es nötig, in den Prozessorkühler ein Loch zu bohren oder einen Schlitz zu fräsen, in den der Messfühler passt, wie Anhang D5 dieses Entwicklerleitfadens (3,5 MByte PDF) detailliert beschreibt.

Der Unterschied zwischen DTS-Anzeige und TCase beträgt typischerweise nur wenige Grad Celsius. Weil aber Intel nicht verrät, welche Messgenauigkeit die DTS-Angaben erreichen, ist eine genauere Abschätzung der Differenz schwierig.

Wenn sich Intel-Prozessoren überhitzen, dann sorgt der sogenannte Thermal Monitor (TM, heute auch TM2) dafür, dass sich die CPU drosselt – entweder per Modulation der internen Taktfrequenz (Clock Throttling bei TM1) oder durch Minderung des internen Multiplikators und Absenkung der Kernspannung (TM2). Die Notfall-Drosselung meldet der Prozessor mit dem Signal PROCHOT#. Ab welchem DTS-Temperaturwert sich ein Prozessor drosselt, ist bei jedem einzelnen Prozessor unterschiedlich; den genauen Grenzwert, der weder mit TCase noch Tj identisch sein muss, programmiert Intel jedem Prozessor individuell ein, verrät ihn aber nicht – die jeweilige Drosselungsgrenze wird beim Test nach dem Fertigungsprozess ermittelt. Nach den Erfahrungen des c't-Labors drosseln sich viele Intel-Prozessoren ungefähr dann, wenn sie (laut DTS) noch 3 Grad kühler sind als ihr jeweiliger Tj-Wert. Die Drosselungsgrenze liegt also meistens deutlich oberhalb dem im Datenblatt (oder im Processorfinder) angegebenen, maximal zulässigen TCase-Wert.

Zu den Systeminfo-Tools, die die DTS-Angaben von Core-Prozessoren auswerten können, gehören etwa Core Temp, cputemp, Real Temp oder RMClock. Der Linux-Kernel enthält den Treiber coretemp. Intel selbst liefert für seine eigenen Mainboards die Intel Desktop Utilities (IDU, Windows).

Zum IDF Fall 2008 siehe auch:

(ciw)