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

CPU Temperature

pesconi
Beginner
7,416 Views
Hello, i have a little problem.

i read on a internet forun abut the temperature of the CPU cores, and o saw that the temperature of the cores (when i have more than one) cannot be more than 5C of difference of the CPU temperature.

I need to know if it is true because i have a school work to do, and i'm tanking about processors.

thanks a lot!
0 Kudos
1 Solution
Patrick_F_Intel1
Employee
7,416 Views
Are you using windows?
I'd recommend using the HWmonitor from the folks that made cpu-z (www.cpuid.com).
There is a source code program CoreTemp (http://www.alcpu.com/CoreTemp/). See their SDK.
On windows reading the cpu temperature requires a Ring0 driver. This is a non-trivial task.
There is also a 'source code available' monitor named Open HW Monitor at http://openhardwaremonitor.org/.

On linux, if your system uses ACPI, then you can get the temperature from the /proc file system:


cat /proc/acpi/thermal_zone/THRM/temperature # exact path may vary with linux versions

or you can use utility:
acpi -t

Hope this helps,
Pat


View solution in original post

0 Kudos
12 Replies
Patrick_F_Intel1
Employee
7,416 Views
Hello Pesconi,
There is a paper http://download.intel.com/design/processor/applnots/320354.pdf which briefly describes the factors (temperature, power, current)used in controlling turbo mode.
There is an Intel utility to monitor turbo mode at http://www.intel.com/support/processors/sb/CS-031038.htm
I cannot find any info on the intel.com website that says there can't be more than 5 degree C temperature difference. Where did you see the info?
Pat
0 Kudos
pesconi
Beginner
7,416 Views
Thank you for the answer Patrick.

Isaw about that information in a informal forum web site, and i didn't belive on it, i thaught better make a question here to take sure that the information is wrong.

I'm doing a school work, and i need to know samething more about processors, now I'd like to answer if you can show to me how can I get the temperatures information from the processor in C code, because i'll need to make a program that takes this informations.

thanks
0 Kudos
Patrick_F_Intel1
Employee
7,417 Views
Are you using windows?
I'd recommend using the HWmonitor from the folks that made cpu-z (www.cpuid.com).
There is a source code program CoreTemp (http://www.alcpu.com/CoreTemp/). See their SDK.
On windows reading the cpu temperature requires a Ring0 driver. This is a non-trivial task.
There is also a 'source code available' monitor named Open HW Monitor at http://openhardwaremonitor.org/.

On linux, if your system uses ACPI, then you can get the temperature from the /proc file system:


cat /proc/acpi/thermal_zone/THRM/temperature # exact path may vary with linux versions

or you can use utility:
acpi -t

Hope this helps,
Pat


0 Kudos
pesconi
Beginner
7,416 Views
OK, thank you for the help.

i can learn all i need with Open HW Monitor.
0 Kudos
Patrick_F_Intel1
Employee
7,416 Views

Great.
There is a paper http://download.intel.com/design/intarch/papers/322683.pdf on "CPU Monitoring With DTS/PECI". The paperdescribes various methodologies to access processor temperature data reported by the on-die DTS (Digital Temperature Sensor).
It also discusses the difficulties that temperature sensing utilities can encounter.
You may find the paper useful.
Pat

0 Kudos
pesconi
Beginner
7,416 Views
Thak you!

very nice paper, it will be very usefull to me.

thanks

pesconi
0 Kudos
pesconi
Beginner
7,416 Views
Hello, I'm here again with another doubt.
My notebok have a "Core 2 duo T5250". I saw that this processor was designed to support the maximun of 85.C I wanna know what happens if the cores of it get more thar 85 C, is there a Limit to make the computar shutdown?
Thanks
0 Kudos
Patrick_F_Intel1
Employee
7,416 Views

The short story is that yes, there is a high temperature at which the processor will shutdown.
Different processors have different 'thermal trip' temperatures.

To find this temperature, you need the processor datasheet.
To get the processor datasheet do:
goto to ark.intel.com
Scroll down to your processor 'Intel Core2 Duo Mobile Processor', click on it.
Search for T5250, click on the link.
Search for 'Download Datasheet', click on the link.
Under Datasheets, click on the datasheet for your processor (the first datasheet in this case).
Once the PDF has loaded, search for 'thermal trip'.

You'll see a paragraph that says:
"The processor protects itself from catastrophic overheating by use of an internal thermal sensor. This sensor is set well above the normal operating temperature to ensure that there are no false trips. The processor will stop all execution when the junction temperature exceeds approximately 125 C. This is signalled to the system by the THERMTRIP# (Thermal Trip) pin."

Hope this helps,
Pat

0 Kudos
pesconi
Beginner
7,416 Views
Hello Patrick, I'm here again.
I am working on a project with the informations you helped me, and i saw samething interesting on the behavior of my processor.

I'm using Windows 7 in my computer, but i think the Operational System doesn'tinterferes on that detail.

I'm colecting the temperatures all the time, i have 2 cores, every time the core #1 is higher than the core #0.

Do you have any answer for why this registers is always like this?

i made sabe tests in others processors with 2 cores, ans always the core #1 is higher than core #0.


Thanks in advance.
0 Kudos
levicki
Valued Contributor I
7,416 Views
My gues is that one core is always loaded more than the others because it services interrupts, deferred procedure calls, system management interrupts, etc. Those tasks are usually not moved to other cores in order to allow them to enter low power states and to avoid wakeup latency associated with power state transitions.

Another option is the intentional calibration offset so that average of core temperatures gives more precise overall reading.
0 Kudos
stargemini
Beginner
7,416 Views

the link http://download.intel.com/design/intarch/papers/322683.pdf to the paper "CPU Monitoring With DTS/PECI" is broken seems like...this one works: https://www-ssl.intel.com/content/www/us/en/intelligent-systems/cpu-monitoring-dts-peci-paper.html?

Thanks,
-C 

0 Kudos
Bernard
Valued Contributor I
7,416 Views

>>My gues is that one core is always loaded more than the others because it services interrupts, deferred procedure calls, system management interrupts, etc. Those tasks are usually not moved to other cores in order to allow them to enter low power states and to avoid wakeup latency associated with power state transitions.>>>

That is true.One core will always have a bigger load because of DPC's draining and ISR servicing hence its heat heat dissipation will be greater than the other cores which are running an Idle thread in absence of real work.

0 Kudos
Reply