CoreTemp (Everest, ...) vs. RealTemp
Quote:
Originally Posted by
lazy
Maybe I missed the post but is Real Temp more accurate then Everest and Coretemp?
All this time ive been using Everest and Coretemp, then I download this program and the temps
show 5-6 degrees lower.
originally, posted this over at the liquid cooling forum as a response to the question whats the difference between coretemp and realtemp but moved it over here as i think it fits in here better.
uncleweb, correct me where i wrong! also i would like to know how you defined compensation in realtemp: at what deltas start your compensation and by how many degrees are you compensating for your various settings ...
ok. finally here is my sight of things:
CoreTemp (Everest, ...) vs. RealTemp
both programs are using the very same method of getting temperature readings from the processor:
they read out the DTS (digital thermal sensor) located within each core. this sensors can be read via a certain registers. the value read from this register reflects a temperature relative to an unknown threshold. to calculate absolute temperatures from this readings, you simply subtract the DTS value from this threshold:
absolute tempreature = threshold - DTS
i said unknown because intel so far did not make this threshold public for desktop and server processors, though you can find this threshold in mobile processor datasheets, but of course, valid for mobile processors only. on mobile processors this threshold corresponds to tjuncnction max. on desktops its tcc activation threshold.
no matter if you call this threshold tjmax, tjunction or tcc activation. its always the very same threshold!
because intel never made this threshold value public, all programs using this method of reading temperatures have to assume this threshold. to make things even worse, this threshold value is calibrated during manufacturing on a per part basis. e.g. while one e8400 could have a certain threshold value calibrated into it, another e8400 (still the same stepping) could use a threshold value may be one or even a few degrees different.
intel did not implement this sensors to help overclockers getting accurate temps from the processors. this sensors main reason was to start throttling as soon as the processor reaches the set threshold and shut the processor down as the temps rise a certain amount higher. another use of this sensors was to allow system designers to control the fanspeed in order to keep noise as low as possible while maintaining healthy temps. may be thats the reason why this sensors are not working completely linear and intel focused on very high accuracy near or above tcc activation temperature, lets call it operating point, and not at lower temps.
afaik, the author of coretemp assumes for desktop processors the same threshold values as specified in the corresponding mobile processors datasheet. simply said 65nm desktops get the same value as 65nm mobiles. of course there are some exceptions eg. quad cores. but thats mainly how it works. because the sensors are not completely linear, coretemp read sometimes impossible temperatures for some processors, temps below ambient temp during idle! this lead to the wrong conclusion, the threshold was to low for this particular processor and thus was raised for certain processors resulting in higher temperature readings during idle but also too high readings during load.
on the other hand, the author of realtemp decided to do his own temp measurements and figured out, the DTS readings from the register are not linear over the whole temperature range and thus came to some different thresholds than the ones used in coretemp. as explained above, intel seems to calibrate the sensors near their operating point which is the point where throttling gets activated and is somewhere above 90C (varies from processor to processor). readings below that might be off, even more as the readings are further away from this operating point. thus, the author of realtemp implemented a compensation for this nonlinear behavior of the sensors.
if you use the same threshold value (tjmax) in both programs AND disable the compensation in realtemp, both programs (coretemp and realtemp) will read the same temperatures!
you can go with the one or the other program, but because of the compensation feature offered by realtemp, realtemp might be closer to reality throughout the whole temperature range than coretemp. but its up to you to calibrate the program to your processor especially the compensation feature.