On Die, 2003-03-11 at 20:15, Sudhakar Govindavajhala wrote:
> good point. however, i dont really trust it. i wud like to measure the
> physical temp and then verify that /proc/i8k entry is correct.
All right, let's try to shed some light on this (at least as far as I
can):
Modern CPUs (like e.g. the Intel P4s (M)) have a thermal diode directly
on the processor die. This sensor is as integrated into the processor
core as possible and therefore can measure the temperature of the die as
closely as possible.
I personally would rather not trust ANY external sensor, since external
sensors have one major disadvantage:
They are farther away from the critical point!
That means they are slower to react to temperature changes and they can
only help to estimate (!) the cpu core temperature. Motherboards from a
few years ago that had an external sensor (e.g. under the CPU ZIF
socket) did this via some sort of correction factor that was used by the
BIOS to calculate the estimated CPU core temperatur from the value
measured below the cpu (sometimes this factor was even configurable).
The main problem with all this: Temperature conditions on the die can
change RAPIDLY and these changes can even be limited to a small area of
the die (so-called HOT-SPOTS).
After starting some cpu-challenging job, the temperature of the active
processor core parts can change dramatically in fractions of a second.
It is now even possible that the thermal sensor on the die measures a
different (probably lower) temperature than the hottest spots actually
have. This actual temperature might never reach an external sensor since
it could get dispensed earlier (first by the die, then the heat
spreader, then the cooler).
Since it could easily be too late to turn on the fans until then,
external cpu temperature sensors for appropriate cooling control are a
relict from the past.
Now, back to you:
Of course, you won't have a problem to measure the external cpu
temperature on your own. Attach your sensor as near to the die as
possible and just be clear, that the actual temperature of cricital cpu
core parts might be a lot higher than your measured value.
Most ot the Intel P4 Mobile CPUs can stand 100°C die temperature, but
nobody should try at home to go near these values!
Some (most?) even have an emergency shutdown procedure (called thermal
throttling) that reduces the cpu clock until a total halt if necessary,
as soon as the core temperature reaches the most critical temperature
ranges of the silicon base material: 135°C.
But again: Nobody should try to watch this behavior! ;-)
> see, i have seen my fan go full blast after "apm -s". i have seen others
> complaining about this too. i guess it is due to a bug somewhere. i
> think i saw very high temp (90C) in /proc/i8k after suspend.
Yup, this is a known bug. Occurs most of the time after waking up from
suspend. The BIOS simply gets stuck thinking that the value of the cpu
temperature sensor hits 85 degree or something.
Just hit Fn + Z to force the BIOS to re-read the value and everything
returns to normal.
Watch the temperature value while you do this.
> be it is actually a bug in apm. u wud not expect a cpu chip to heat up
> during a suspend... anyway, i shdu test before i trust /proc/i8k
I can understand that you are not yet comfortable with trusting i8k. For
me personally, it's perfectly fine.
Just for the information of the interested reader I copied the
information from the README file (where everyone could easily find it on
his own):
$ cat /proc/i8k
1.0 A17 2J59L02 52 2 1 8040 6420 1 2
The fields read from /proc/18k are:
1.0 A17 2J59L02 52 2 1 8040 6420 1 2
| | | | | | | | | |
| | | | | | | | | +------- 10. buttons status
| | | | | | | | +--------- 9. ac status
| | | | | | | +-------------- 8. right fan rpm
| | | | | | +------------------- 7. left fan rpm
| | | | | +--------------------- 6. right fan status
| | | | +----------------------- 5. left fan status
| | | +-------------------------- 4. CPU temperature
(Celsius)
| | +---------------------------------- 3. serial number
| +-------------------------------------- 2. BIOS version
+------------------------------------------ 1. /proc/i8k format
version
Attention: The report of 9 (ac status) is off by default (see README).
Greetings, UW(e)