It deeply intrigues me how software can check the actual temperature of my laptop/PC core.
Can anyone explain this process to me?
It deeply intrigues me how software can check the actual temperature of my laptop/PC core.
Can anyone explain this process to me?
There's a series of sensors inside your system that detect temperatures and such.
Those are tied into various internal chipsets - typically a super IO chip which handles that along with other functions, and that's exposed to your system through various APIs.
As for the sensors themselves - they're integrated into chips - your CPU has one based on a temperature sensitive diode.
Your OS probably talks to them over some internal API - on linux, this would be sensorsd and its front end lm_sensors along with an appropriate driver.
On my NUC class machine and fedora, I use the following drivers
Driver `it87':
* ISA bus, address 0xa40
Chip `ITE IT8771E Super IO Sensors' (confidence: 9)
Driver `coretemp':
* Chip `Intel digital thermal sensor' (confidence: 9)
and that tells me (for example)
coretemp-isa-0000
Adapter: ISA adapter
Core 0: +68.0°C (high = +105.0°C, crit = +105.0°C)
Core 1: +67.0°C (high = +105.0°C, crit = +105.0°C)
Pretty much what it sounds like. There's a thermocouple in the CPU package, and it reports values back to the computer. The location of the sensor depends on the CPU. Most Intel CPUs have a thermocouple in each core. Some motherboards may have a thermocouple in the CPU socket, so you can get an "internal" and "external" temperature.
/sysdirectly, without userspace daemons.... also, your terminal seems to be having Unicode problems. – u1686_grawity Nov 10 '14 at 07:29