Software Tuning, Performance Optimization & Platform Monitoring
Discussion regarding monitoring and software tuning methodologies, Performance Monitoring Unit (PMU) of Intel microprocessors, and platform updating.

How does the shutdown on overheating work ?

victor6799
Beginner
3,906 Views
Hello.

I would like to know who controls the process of system shutdown when the CPU overheats ? Is it the CPU that shuts down itself when it overheats or is the BIOS that commands the shutdown process or perhaps a temperature monitoring sensor or perhaps another located near the CPU ? I am running a Pentium 4 CPU running at stock 2.53GHz with a P4B533 motherboard.

I don't have any issues with my configuration right now but wanted to know how this scenario works ?

Thanks in advance

Victor
0 Kudos
1 Solution
Patrick_F_Intel1
Employee
3,906 Views
Hello Victor,
From"Intel 64 and IA-32 Architectures Software Developers Manual Volume 3 (3A & 3B): System Programming Guide" at http://www.intel.com/content/www/us/en/processors/architectures-software-developer-manuals.html/

Section 14.5.1 Catastrophic Shutdown Detector
P6 family processors introduced a thermal sensor that acts as a catastrophic shutdown detector. This catastrophic shutdown detector was also implemented in Pentium 4, Intel Xeon and Pentium M processors. It is always enabled. When processor core temperature reaches a factory preset level, the sensor trips and processor execution is halted until after the next reset cycle.

The mechanism is builtin to the processor, not under the control of BIOS and not dependent on other sensor outside the processor.

Does this clarify things?
Pat

View solution in original post

0 Kudos
8 Replies
Patrick_F_Intel1
Employee
3,907 Views
Hello Victor,
From"Intel 64 and IA-32 Architectures Software Developers Manual Volume 3 (3A & 3B): System Programming Guide" at http://www.intel.com/content/www/us/en/processors/architectures-software-developer-manuals.html/

Section 14.5.1 Catastrophic Shutdown Detector
P6 family processors introduced a thermal sensor that acts as a catastrophic shutdown detector. This catastrophic shutdown detector was also implemented in Pentium 4, Intel Xeon and Pentium M processors. It is always enabled. When processor core temperature reaches a factory preset level, the sensor trips and processor execution is halted until after the next reset cycle.

The mechanism is builtin to the processor, not under the control of BIOS and not dependent on other sensor outside the processor.

Does this clarify things?
Pat

0 Kudos
victor6799
Beginner
3,906 Views
Thanks alot for the reply. That definitely answers my questions. Best Regards. Victor.
0 Kudos
SergeyKostrov
Valued Contributor II
3,906 Views
>>...processor...is halted...

It means that an operating system, for example Windows XP, "freezes", right? After that a userturns
off the computer and somedata arelost. That is absolutely not a good thing!

So, I'm interested to understand why there is no a hardwareinterrupt to instruct an operating
system, for example Windows XP,to initiate a shut down process with Win32 APIfunctions
like'ExitWindows' or 'ExitWindowsEx'?

Best regards,
Sergey

PS: By the way, NVIDIA's graphics cards have some API to measure atemperature of a GPU unit:

BOOL _cdecl NvCplGetThermalSettings( ... )
0 Kudos
Patrick_F_Intel1
Employee
3,906 Views
Hello Sergey,
Before the processor shuts down, the system is signaled that the processor is getting hot.
The TM1 and TM2 temperature try to keep the processor from getting too hot (and shutting down).

From Vol 3ab of the SDM:

14.5.2 Thermal Monitor
Pentium 4, Intel Xeon and Pentium M processors introduced a second temperature
sensor that is factory-calibrated to trip when the processors core temperature
crosses a level corresponding to the recommended thermal design envelop. The triptemperature
of the second sensor is calibrated below the temperature assigned to
the catastrophic shutdown detector.

14.5.2.1 Thermal Monitor 1
The Pentium 4 processor uses the second temperature sensor in conjunction with a
mechanism called Thermal Monitor 1 (TM1) to control the core temperature of the
processor. TM1 controls the processors temperature by modulating the duty cycle of
the processor clock. Modulation of duty cycles is processor model specific. Note that
the processors STPCLK# pin is not used here; the stop-clock circuitry is controlled
internally.

Support for TM1 is indicated by CPUID.1:EDX.TM[bit 29] = 1.

TM1 is enabled by setting the thermal-monitor enable flag (bit 3) in
IA32_MISC_ENABLE [see Appendix B, Model-Specific Registers (MSRs)]. Following
a power-up or reset, the flag is cleared, disabling TM1. BIOS is required to enable
only one automatic thermal monitoring modes. Operating systems and applications
must not disable the operation of these mechanisms.

14.5.2.2 Thermal Monitor 2
An additional automatic thermal protection mechanism, called Thermal Monitor 2
(TM2), was introduced in the Intel Pentium M processor and also incorporated in
newer models of the Pentium 4 processor family. Intel Core Duo and Solo processors,
and Intel Core 2 Duo processor family all support TM1 and TM2. TM2 controls the
core temperature of the processor by reducing the operating frequency and voltage
of the processor and offers a higher performance level for a given level of power
reduction than TM1.

TM2 is triggered by the same temperature sensor as TM1. The mechanism to enable
TM2 may be implemented differently across various IA-32 processor families with
different CPUID signatures in the family encoding value, but will be uniform within an
IA-32 processor family.
Support for TM2 is indicated by CPUID.1:ECX.TM2[bit 8] = 1.

0 Kudos
SergeyKostrov
Valued Contributor II
3,906 Views
Thank you, Patrick! I'll need to look at Intel'sSystem Programming Guidesbefore asking new questions.

Best regards,
Sergey
0 Kudos
Patrick_F_Intel1
Employee
3,906 Views
Hello Sergey,
No problem. Thanks for contributing to the forum.
Pat
0 Kudos
SergeyKostrov
Valued Contributor II
3,906 Views

Hi Patrick,

I've found everything I needed. By the way, you've had a very good discussion regarding
the CPU Temperature Monitoring subject some time ago:

Thread: CPU Temperature
http://software.intel.com/en-us/forums/showthread.php?t=85648&o=a&s=lr

I also reviewed: http://www.alcpu.com/CoreTemp/developers.html

Best regards,
Sergey

0 Kudos
Bernard
Valued Contributor I
3,906 Views

>>>PS: By the way, NVIDIA's graphics cards have some API to measure atemperature of a GPU unit:>>>

This is probably implemented as a MMIO thermal status register and accessible by the driver which is collecting data and sending it to user mode application.

0 Kudos
Reply