Меня глубоко интересует, как программное обеспечение может проверять фактическую температуру ядра моего ноутбука / ПК.

Может кто-нибудь объяснить мне этот процесс?

2 ответа2

2

Внутри вашей системы есть ряд датчиков, которые определяют температуру и тому подобное.

Они связаны с различными внутренними чипсетами - как правило, это супер-чип ввода-вывода, который обрабатывает это вместе с другими функциями, и который доступен вашей системе через различные API.

Что касается самих датчиков - они встроены в микросхемы - у вашего процессора есть датчик на основе термочувствительного диода.

Ваша ОС, вероятно, общается с ними по какому-то внутреннему API - в Linux это будет SensorD и его внешний интерфейс lm_sensors вместе с соответствующим драйвером.

На моей машине класса NUC и Fedora я использую следующие драйверы

Driver `it87':
  * ISA bus, address 0xa40
    Chip `ITE IT8771E Super IO Sensors' (confidence: 9)

Driver `coretemp':
  * Chip `Intel digital thermal sensor' (confidence: 9)

и это говорит мне (например)

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)
0

Почти как это звучит. В корпусе процессора есть термопара, и она сообщает значения обратно на компьютер. Расположение датчика зависит от процессора. Большинство процессоров Intel имеют термопару в каждом ядре. Некоторые материнские платы могут иметь термопару в разъеме процессора, поэтому вы можете получить "внутреннюю" и "внешнюю" температуру.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .