Датчик температуры процессора
← Предельные диапазоны напряжения и силы тока для адаптеров питания и бытовых приборов (24.02.2015).
Существуют десятки программ измерения температуры процессора - и все они показывают разную температуру. Предпринята попытка не столько выбрать правильную программу, сколько разобраться: почему они так врут, аж до десятков градусов.
Сначала я задумался как пользователь: почему эти программы врут. Ведь в процессоре стоит один датчик, он посылает в материнскую плату единственное число: температуру. Все программы берут информацию с этого датчика и преобразуют ее при помощи каких-то формул/коэффициентов. Значит, разница только в алгоритме преобразования двоичной информации с датчика. А так как исходные коды программ есть коммерческая тайна и авторское право - единственный способ выбрать правильную программу - протестировать их все.
Далее я задумался как сисадмин: возьму температуру процессора из BIOS в режиме простоя, в Windows запущу все программы по очереди - и буду сравнивать их показания с показателем BIOS (при этом отключив все фоновые программы и процессы). Однако кто сказал, что температура BIOS - эталонная? Значит, я должен взять высокоточный мультиметр за 15000, поставить термопару на крышку процессора, прижать ее радиатором - и сравнить показания BIOS с мультиметром.
Далее я задумался как программист: зачем мне связываться с BIOS, если я могу получить информацию о температуре процессора напрямую из операционной системы. Использую инструментарий Windows Management Instrumentation (WMI), получаю свойство CurrentTemperature класса MSAcpi_ThermalZoneTemperature - и дело в шляпе.
А потом понеслась:
- программа с WMI не показала ровным счетом никакой информации по температуре;
- выяснилось, что датчик вовсе не один (и у них разное назначение), поэтому замер температуры на крышке процессора не даст никаких ответов;
- выяснилось, что существует не один, а несколько способов получения информации с датчиков, поэтому среди них могут быть и корректные способы, и некорректные (WMI-то не сработал).
Типы датчиков на процессоре:
- температура крышки (оболочки) процессора;
- температура ядра процессора (может достигать 100 градусов - и это не будет считаться критической ситуацией). Ядро процессора горячее оболочки процессора на десятки градусов (истинный источник температуры малого объема). В свою очередь, радиатор системы охлаждения холоднее оболочки процессора (огромный объем с малой площадью соприкосновения). Поэтому нельзя судить о температуре оболочки процессора, трогая радиатор рукой: даже с отключенным вентилятором радиатор будет иметь меньшую температуру.
Аппаратные способы снятия показания с датчиков:
- датчик на материнской плате, показывающий температуру крышки процессора. Крышка процессора металлическая, считаем температуру ее равномерной (вот оно, значение, отображаемое в BIOS?);
- цифровой датчик процессора (DTS), показывающий температуру ядра (по датчику на ядро). Присутствует у Intel, начиная с процессоров Intel Core 2 и имеет свои особенности. Чем меньше температура ядра - тем больше его абсолютная погрешность;
- датчик корпуса процессора на самом процессоре (околосокетный), пишут, что доверять ему вообще не стоит.
Программные способы снятия показания с датчиков:
- WMI есть инструмент посредника (Windows) между датчиком (каким же?) температуры и конечным пользователем. Так как инструмент не обновляется уже много лет, он может вообще информацию с процессора не снять (и тут уже зависит от железа: материнской платы и процессора). Из-за множества вопросов и нестыковок данный функционал отбрасывается. Из этого следует, что программы измерения температуры процессора используют не WMI, а другие алгоритмы получения информации (речь о температуре оболочки процессора);
- внешний драйвер WinRing как инструмент для входа в ядро процессора (получение температуры ядер);
- другие неизвестные мне способы.
А потом я задумался как электроник-теоретик и физик-теоретик. Что покажет мультиметр, если померить напряжение до резистора и после него - падение напряжения на нем. То есть резистор здесь в роли датчика, показывающего разницу между напряжениями на своих входе и выходе. Покажет он это, если цепь замкнута, есть разность потенциалов, протеканию тока в цепи ничего не мешает. Проведем аналогию с термопарой: разность потенциалов в этом случае есть разница температур радиатора и процессора, большая теплопроводность как отсутствие препятствий при протекании тепла, резистор есть термопара. То есть она покажет разницу между температурами крышки процессора и радиатора (или среднее арифметическое; сейчас споры на форуме идут - но без разницы: все равно не то). Значит я должен найти ещё один высокоточный мультиметр и ещё одну термопару, чтобы одновременно контролировать и температуру радиатора - а это уже накладно. А запускать процессор без радиатора (теплопроводность воздуха, обтекающего термопару, мала) - риск остаться без процессора за считанные секунды.
Обратная аналогия. Датчик материнской платы изолирован в какой-то полости от потерь тепла, как и датчики ядер процессора, как и градусник под мышкой (объект измерения горячее датчика, теплопроводность объектов рядом с датчиком мала - датчик накачивается теплом, и его температура становится равна температуре измеряемого объекта).
- анализ программных способов снятия температуры с датчиков показал две проблемы. Нет доверия ни одной программе (а следовательно - ни одному обзору с их использованием). Возможно только снятие температуры с помощью высокоточных аналоговых приборов: мультиметр с термопарой, датчик типа TMP37 с инструментом снятия его показаний и так далее - но с учетом законов физики;
- анализ датчиков процессора показал их несовершенство, поэтому приоритет делается на крышку (оболочку) процессора. Приходится считать эталонным параметр BIOS, т.к. датчик аналоговый и прижат вплотную к процессору (последнее, кстати, так и не смог доказать нормально);
- получение достоверной температуры процессора при помощи аналоговых приборов накладно. Поэтому адекватных способов получения достоверной температуры процессора для рядового потребителя не существует.
Температура процессора
Купил AMD Athlon II X3 440. При включении в BIOS температура 30 градусов датчик процессора и 30 градусов датчик материнки. Радиатор вообще холодный. При запуске в линуксе выдает что температура 70-80 градусов. Если остановить кулер, радиатор начинает медленно нагреваться, температура на датчикке тоже растет. Тестировал в linux и в windows. В процессе работы датчик материнки разогрелся до 40 градусов. Процессор при запуске в биос 35. Причем даже останавливал кулер, выключал блок быстро запускал в биос — там опять 30-40 на процессоре и 40 на материнке.
Охлаждение не помню какое точно. Zalman с пометкой nvidia светится зеленым, с медными тепловыми трубками. А впрочем вот схожий
Термопасты нанес вроде среднее количество, правда она кончалась, возможно не хватило. Но я что то не думаю что кулер дает охладить его только до 80 градусов.
Что подскажите? Это просто датчик чудит или нужно опасаться?
Нормальная температура процессора в ноутбуке
Температуру процессора определяют по его загруженности, т.е. какое количество программ запущено в определенный момент времени, от его изготовителя, а так же в каком месте располагается датчик температуры. Сегодня мы с вами попытаемся разобраться какая температура должна быть у процессора? И так, если говорить о современных процессорах, то их температура не должна превышать 105 градусов. Это максимальная температура, которая лежит в пределах от 54°C до 105°C для разных процессоров.Но в основном рабочая температура процессора при нагрузке варьируется в пределах от 60 до 80 градусов.
Процессор на компьютере
И все таки какая температура процессора должна быть, как вы поймете, что температура вашего процессор слишком высокая?
- Замедляется работа компьютера
- Компьютер начинает перезагружаться
- Компьютер полностью выключается