Нажмите "Enter", чтобы перейти к содержанию

Измерение температуры процессора: Как узнать температуру процессора — Hi-Tech Mail.ru

Содержание

Как проверить температуру процессора

Данная публикация расскажет подробно, как проверить температурные значения процессора и каждого ядра.

Температурные значения центрального процессора в первую очередь свидетельствуют о том, как ваш компьютер или ноутбук будет работать под большой нагрузкой. Поэтому, важно периодически проверять температурные значения ЦП. Таким образом, вы сможете избежать проблем с процессором, которые включают в себя перегрев, принудительное отключение питания и прочее.

Содержание

Какая разница между температурой ЦП и температурой ядра?

Многие пользователи, даже опытные, путают температуру ядра с процессором, это обусловлено большим количеством некорректного материала, на основе которого делаются подобные выводы. Таким образом, сейчас мы подробно разберем данные значения, и расскажем, в чем их различие.

Tcase — измерение температуры процессора, которое производится с поверхности процессора при помощи диода, встроенного между ядрами ЦП.

Когда производители Intel, AMD и технические статьи упоминают термин «температура процессора», они имеют ввиду Tcase (если не указано иное значение).

Короче говоря, Tcase — это значение с которым приходится сталкиваться большинству пользователей компьютеров, желающими разогнать тактовую частоту процессора или другие параметры.

Tjunction (также известный как TJ) — это температура ядра процессора, измеренная цифровым температурным датчиком DTS, расположенным в каждом ядре ЦП.

В то время как Tjunction мало интересует большинство людей, серьезным оверклокерам необходимо обратить внимание на «Tjunction Max» своего процессора (или TJ Max). Tjunction Max — это максимальная температура, при превышении которой процесс перегреется. Поэтому при разгоне процессора важно тщательно следить за значением, указанным в «Tjunction Max».

Тем не менее, мы не рекомендуем разгонять процессор, так как это повлечет за собой работу на высоких температурах, а следовательно сократит срок службы процессора.

Как проверить температуру процессора на ноутбуке, компьютере Windows 7, 8/8.1, 10?

В интернет есть огромное количество отличных программных средств для измерения температуры процессора, которые вы можете скачать бесплатно: Core TempHWMonitorReal Temp и SpeedFan.

Среди этих популярных бесплатных программ мы считаем, что HWMonitor является лучшим программным обеспечением для получения детальной информации о работе процессора по следующим причинам:

  • Позволяет измерить фактическую температуру процессора (Tcase). Это может сделать любой пользователь, даже новичок. В свою очередь, программы Core Temp и Real Temp измеряют Tjunction, что может смутить начинающих пользователей, которые только учатся проверять температуру процессора.
  • Отображает наиболее точные показания температурных значения, что очень важно, если вы собираетесь разгонять процессор. В то время как SpeedFan также измеряет Tcase, пользователи сообщают о неточных показаниях для некоторых моделей ЦП.
  • Это программное обеспечение для мониторинга температуры «все-в-одном». Помимо проверки температуры процессора вы также можете контролировать жесткие диски и видеокарту.

Если вы намерены разгонять свой процессор до предельных температурных значений, тогда мы предлагаем Real Temp. С двумя точками калибровки (Tjunction Max и Tjunction Idle) это наиболее точное программное обеспечение для измерения температурных значений каждого ядра.

Способ №1. Проверка температуры процессора с помощью HWMonitor

  • Загрузите и установите HWMonitor.
  • Перезагрузите компьютер, ноутбук и дайте поработать в течение 20 минут. Это необходимо для того, чтобы достичь рабочих температурных значений ядра и процессора.
  • Откройте программу HWMonitor, чтобы приступить к просмотру данных о процессоре.
  • Как вы видите, на изображении ниже перечислены следующие значения: Core #0Core #1Core #2 и Core #3, справа от значений вы можете увидеть настоящую (Value), минимальную (Min) и максимальную (Max) температуры. Если ваш процессор имеет только два физических ядра, программное обеспечение будет отображать только Core #0 и Core #1.

Способ №2. Проверка температуры процессора с помощью Speedfan

Итак, давайте рассмотрим способ проверки температуры процессора при помощи простой и легкой программы Speedfan.

  • Прежде всего, скачайте бесплатное приложение Speedfan.
  • Просто установите Exe-файл и запустите приложение. Speedfan откроется очень быстро, и на главной странице вы увидите подробности, как на изображении ниже.

Как узнать максимальную рабочую температуру процессора?

Теперь, когда мы знаем температурные значения, давайте выясним на какой максимальной температуре ваш процессор будет работать. Для этого нам понадобится Prime95 — тестирование, которое подтолкнет ваш процессор к предельному температурному значению. Вам же останется только записать это значение, и в будущем учитывать его при разгоне.

  • Загрузите и установите Prime95.
  • Откройте Prime95 > Выберите «Small FFTs (maximum heat, FPU stress, data fits in L2 cache, RAM not tested much)» > Нажмите «ОК».

  • После запуска Prime95 в течение 20 минут снова откройте HWMonitor, чтобы проверить значения процессора. Обратите внимание на значения Core #0Core #1, (Core #2 и Core #3). Эти показания укажут максимальную температуру процессора.

Работа программы Prime95 в течение 20 минут более чем достаточно для проверки температуры процессора. Чтобы проверить долгосрочную стабильность вашего ЦП, вам нужно оставить работать программу Prime95 в течение 12-24 часов.

В дополнение, ниже мы представили видео-инструкции, которые в подробностях рассказывают о том, как проверить и узнать температуру процессора.

Видео: Как проверить температуру процессора в Windows 7 и Windows 10

Видео: Как узнать температуру процессора, видеокарты и жесткого диска?

Температура процессора

  • Небольшое лирическое отступление
  • Какие есть способы измерить температуру?
  • Thermal Monitor — от компаратора до TM1/2
  • Core 2 vs K8

В тексте будет использоваться термин ‘измерение’, но все знают, что для измерения чего-либо требуются калиброванные и поверенные приборы, а найти такие в домашних условиях представляет некоторые сложности. Для некалиброванных приборов (точность 5 и выше) надо использовать термин ‘индикатор’ … но не все сразу поймут, о чем речь. Программные способы не имеют точность априори.

  1. пальцем по радиатору
  2. по запаху и наличию дыма
  3. программно с термодатчика на материнской плате
  4. программно с термодиода на материнской плате
  5. программно с диода в процессоре
  6. программно с внутреннего измерителя температуры процессора (DTS)

Ну, второй вариант мы опустим, хоть и он имеет право на жизнь — иногда специально применяются компоненты с низкой температурой плавления. Типичный пример – датчик пожарной сигнализации.

Первый вариант, при кажущейся глупости, дает весьма неплохую точность и достоверность. В самом деле, любой человек легко отождествит температуру порядка 36 градусов. 40-45 градусов ощущается как ‘горячо’, 50-55 как ‘очень горячо’, а 60 градусов и выше — просто нельзя удержать палец. Интересно, что 30-60 градусов как раз соответствует нормальному диапазону температур радиатора процессора.

Третий вариант кажется надежным, но вот как раз он и может дать даже худшую достоверность, чем первый способ. Дело в том, что в качестве измерительного датчика используется элемент с нелинейной зависимостью его характеристик от температуры. Собственно, не представляет трудности весьма точно пересчитать сопротивление в температуру, только никто так не делает. В микросхемах мониторинга применяют принцип табличной аппроксимации, при которой сопротивлению терморезистора (точнее напряжению на входе) ставится в соответствие температура. Таблица не на все значения, гораздо меньше, между табличными значениями делается линейная аппроксимация. Просто, наглядно и совершенно неточно. Т.к. есть сопряжение линейных и нелинейных параметров, то этот метод может давать эффект пропуска и удвоения значений. Точнее не ‘может’, а дает. При монотонном повышении температуры достаточно часто наблюдал проскакивание некоторых чисел, что-то типа 45-45.5-46-47-47.5. Наверно, были последовательности и -47.5-47.

5-, но их сложно ‘на взгляд’ отличить от 47-47.5-48. К ошибкам преобразования надо добавить разброс параметров и временную нестабильность терморезистора. Мониторинг настраивается на некоторый тип датчика, но в процессе выпуска материнской платы терморезистор может заменяться на аналогичный других производителей, что дополнительно внесет искажения в измеряемые величины. Уж сколько раз было, что при выходе новой версии BIOS съезжали показания температур.

Четвертый вариант свободен от недостатка третьего, датчик на диоде (p-n переходе) в диапазоне температур 0…70(до 100, зависит от упаковки) градусов имеет линейные характеристики. При постоянном токе изменение напряжения на нем равно ‘-2mV’, умноженному на температуру. Число ‘-2mV’ константа для кремниевого полупроводника, знак ‘-‘ говорит о том, что при нагреве напряжение на p-n переходе уменьшается. Перевести напряжение в температуру не сложно, достаточно вычесть некоторое смещение Vo и умножить на коэффициент пересчета. Вычитание и умножение делается на обычном усилителе. Т.о. имеется средство измерения температуры, которое имеет крайне высокую точность и повторяемость (по сравнению с терморезистором), но, увы, не лишенную недостатка — при измерении температуры надо вычитать Vo, а вот оно-то очень сильно зависит от множества параметров! Наиболее значимые — размеры p-n перехода и ток через него. Чем более мощный полупроводниковый элемент, тем меньше на нем падает напряжение при том же токе. Это означает, что в одной и той же схеме можно использовать различные полупроводниковые элементы, важно лишь подобрать ток для сохранения прежнего Vo. Обычно Vo задано в микросхеме мониторинга, и при замене датчика лучше не менять это смещение (хотя его можно корректировать в небольших пределах). Увы, этот способ измерения температур в РС не используется. Хоть бОльшая часть микросхем мониторинга и может работать с резистивными и диодными датчиками, последние не применяются. Лично мне трудно понять, почему терморезистор предпочтительнее диода или любого транзистора в диодном включении, кроме одного — консерватизм разработчиков.

Пятый вариант отличается от четвертого только тем, что датчик находится прямо на кристалле процессора (вариант с размещением датчика температуры в корпусе процессора, но не на кристалле, я не встречал). Технология достаточно хорошо развита и повторяемость параметров полупроводниковых структур на кристалле очень высокая. Это может гарантировать одинаковость параметров датчиков всех процессоров одного семейства, а при должном внимании разработчиков процессоров, и разных семейств одной фирмы. Если не изменяет склероз 🙂, на РС первыми датчиками обзавелись процессоры семейства Pentium2/3. У AMD вначале с этим было плохо, диод появился только в модели Palomino. Этот диод служил несколько другой цели, его задача состояла в ограничении температуры процессора — выключении питания при перегреве. Вроде бы пустяк, но AMD задержалась с внедрением этого пустяка, и из-за отсутствия термодатчика ее процессоры сгорали, что вряд ли способствовало ее имиджу. Для того времени, защита строилась по принципу измерения напряжения на термодиоде процессора, и при уменьшении ниже порога отключался сигнал PS_ON управления блоком питания (в Pentium2 несколько иначе).

Один интересный момент — на материнских платах nForce2 не было измерения температуры по термодиоду процессора, что вполне естественно, но при попытке его подключения и перевода типа входа мониторинга с «терморезистор» на «термодиод» получались странные результаты, с диода считывалась температура на 25 градусов больше. Для калибровки я использовал измерение температуры при выключенном процессоре, что гарантировало его температуру равной окружающей среде, но это смещение в 25 градусов сохранилось! (Оно еще может быть вызвано помехами и их детектировании на самом диоде, я получал такой паразитный эффект до установки фильтра.) И тут самое время обратиться к первоисточнику.

рекомендации

Для того, чтобы температура сместилась на 25 градусов, надо повысить ток через диод в 5 раз. Номинальный ток через диод 0.1mA, диапазон 5uA-0.3mA, графики AMD снимались до 0.3mA, что лишний раз говорит о предельно-допустимом токе. Из выходных характеристик следует, что ток через диод составляет 0. 5mA(!). От теории к схеме — в Attansic ATTP1 ток диода задается резистором с выхода Vref (3.75V). Номинал резистора 5.6KOm, напряжение на диоде порядка 0.7V, отсюда следует, что ток будет (3.75-0.7)/5.6K=0.54mA. Зачем надо было так нахально нарушать спецификацию, если достаточно было поставить маленький резистор последовательно с диодом? Нет слов.

Корень проблемы был в разном тепловом диапазоне процессоров AMD K7 и Intel Pentim2/3, для которых, видимо, и был разработан ATTP1. Если вторые имели низкую температуру срабатывания (предположительно 70 градусов), то у AMD датчик находился в другом, более горячем месте, что потребовало смещения порога срабатывания. Сами датчики (диоды) у Pentium2/3 и К7 обладают близкими характеристики. Очень не хотелось запускать MBM5 и корректировать смещение в регистрах, попробовал уменьшить ток до номинала — диод стал показывать вполне корректные показания, но и выключаться на 25 градусов раньше. Если до доработки это было 90-95 градусов, то после возвращения тока в номинал (0.

1mA) отключение происходило примерно при 65 градусах. Для К7 с разгоном получить такую температуру достаточно просто, поэтому пришлось добавить этот несчастный дополнительный резистор.

Несколько ранее, еще до Pentium2, в РС была реализована технология управления частотой (точнее производительностью) процессора через throttling. В русском языке этому понятию ближе всего соответствует определение ШИМ. Потребление процессора зависит от его частоты, поэтому если периодически выключать его частоту (на небольшое время), то процессор будет меньше нагреваться. Например, если каждые 2 секунды на 1 секунду отключать частоту, то процессор будет работать только 50% времени (из 2х секунд одна = простой), греться только на 50% от обычной величины, но и выполнять только половину работы. Конечно, переключать ШИМ с периодом 2 секунды вряд ли имеет смысл, во всех программах будут рывки, аппаратура может работать неустойчиво, поэтому этот период стараются сделать маленьким. ШИМ в качестве регулятора производительности процессора не применяют, его место в системах тепловой защиты.

Когда процессор перегрелся, то тут приходится выбирать — или выключить компьютер, или попробовать как-то сохранить его работоспособность. Throttling разрешался и настраивался в BIOS, был чисто программным элементом, имел низкую надежность и … и был тихо забыт. В современных компьютерах этой строчки уже нет. Дальнейший прогресс в дело защиты компьютера от разрушения внес процессор Pentium2 с его встроенным датчиком температуры.

Технология защиты тривиально сложная — смотреть за напряжением на термодиоде и при уменьшении ниже порогового — выключать блок питания. Решение полностью аппаратное, не зависит от проблем с программным обеспечением. При большой наукоемкости сие действо давало и положительные результаты — процессоры перестали сгорать от остановки вентилятора. Но из-за того, что термодатчик в К7 находится вовсе не в самой горячей точке процессора, время срабатывания защиты вышло большим и при резком ухудшении охлаждения (например — упал кулер) не работает. Например, у THG были с этим сложности.

Небольшая цитата из обзора: «термодиод Palomino не может достаточно быстро реагировать на изменение температуры. Если температура меняется быстрее, чем на один градус в секунду, датчик не сможет об этом информировать». Причины этого эффекта будут рассмотрены ниже. Дальше развитие технологии защиты от перегрева пошло принципиально новым и весьма оригинальным способом — в Pentium4 появился TM1. Суть его в том, что при перегреве процессора он выставляет некоторый аппаратный признак, и в процессоре включится ШИМ управления частотой. Deja vu? Когда-то я уже встречал этот способ, хоть убейте, не могу вспомнить когда. (Единственное отличие от trottling, рассмотренного ранее, в том, что узел регулирования переместился из chipset в процессор). Эффект был достигнут, процессор смог работать даже при снятом радиаторе … правда не слишком быстро. Очень эффектно это было показано на ролике по снятию радиатора ‘на ходу’ — Pentium4 продолжал работать, Pentium2 просто выключил компьютер, К7 ушел в дым. «AMD ГОРЯТ!» … на чем весьма неплохо заработала фирма Intel, и, думаю, это заставило AMD таки обратить внимание на недоработки в конструировании тепловой защиты своих процессоров.

Прошло некоторое время, у AMD появились различные технологии динамического управления частотой и напряжением процессора PowerNow, C&Q и прочие. Суть была одна и та же — для уменьшения тепловыделения процессора надо уменьшать напряжение на нем (потребление пропорционально квадрату напряжения), а для его уменьшения нужно снизить и частоту. Проходит небольшое время, и у Intel появляется аналогичная технология, но, в отличие от AMD, предназначенная не для уменьшения тепловыделения в простое, а для защиты от перегрева. Идея в том, что когда температура становится выше максимальной, то процессор снижает частоту (не сильно, 2/3 номинала) и свое напряжение. В сумме это приводит к 1.5-2-кратному снижению тепловыделения. Не так и много, зато, в отличие от ШИМ, не порождает рывков в производительности. Вот и получился механизм с названием ТМ2. ТМ1 и ТМ2 работают с одного и того же аппаратного датчика (датчиков для мультипроцессорной системы), который нельзя скорректировать. Для измерения температуры делается отдельный датчик, и он служит для более тривиальной цели — управлением скоростью вентиляторов. Насколько я знаю, на данный момент в процессорах Intel/AMD нет официальных датчиков, которые разрешено использовать для измерения температуры процессора. Все то, что есть, идет как ‘только для тестирования’. Их точность не гарантируется совершенно никак, описания регистров убираются из документации.

Сложилась интересная ситуация с Core2 — ТМ2 вроде бы есть, но его и нет. Чтобы работал механизм защиты, должна уменьшаться и частота, и напряжение. Частоту (точнее множитель) меняет сам процессор, с этим проблем нет, а вот с напряжением зачастую ничего не происходит. Нонсенс? Да нет, ‘консервативность разработчика’ — в BIOS бывает настройка управлением напряжения процессора — числа, none, auto. Ну, числа мне понятны, а чем отличается none и auto? Auto — что BIOS будет сам додумывать и разгонять? Мда. Подробнее это выглядит так — вначале устанавливается напряжение по VID, а потом начинается песТня — значение VID переписывается каким-то значением. При работе TM2 напряжение VID меняется, но BIOS переписало значение VID на константу, оно не может измениться. Т.е. процессор попросил снизить напряжение и ‘игнорирование’. ТМ2 и Enhanced SpeedStep по сути синонимы, только первый работает при перегреве, второй в простое. Это означает, что и в простое Core2 не может остывать. Нечто похожее было у AMD на К7, потом последовал ряд мероприятий, и для следующего поколения (К8) разработчики материнских плат были вынуждены перейти от переписывания константы на добавление смещения. В результате в BIOS появилось странное управление напряжением процессора ‘+/- число’, зато работают энергосберегающие технологии.

Что у Intel? Надеюсь, исправят это проблему в ближайшем будущем. Если в BIOS выставить ‘none’, то этим аннулируется вмешательство ‘продвинутых разработчиков’ материнской платы, и процессор будет сам управлять своим напряжением. Т.к. Core2 имеет значительное потребление в режиме покоя (20-50% от максимального), и это число слабо зависит от частоты (менее 1W при снижении частоты в 1.5 раза), то управление напряжением положительно скажется на тепловыделении в простое. Кстати, Enhanced SpeedStep от Intel работает действительно очень быстро, в отличие от версии AMD. Дело в том, что у Intel всего одна стадия заниженного режима, а у AMD несколько и весьма протяженные во времени.

И снова к нашим баранам.

Если взять картинку из документа AMD и поставить радиатор, то получится следующее:

Цифрами обозначены специфические точки:
1 — место расположение термодиода
2 — точка максимального нагрева радиатора
3 — точка максимального нагрева кристалла
4 (добавлено) — место на радиаторе непосредственно над термодиодом.

По документации AMD выходит, что между точкой максимального нагрева (2) и радиатором (3) падает 2.2 градуса. У меня нет оснований не верить столь уважаемой фирме, но и верить как-то не получается. Далее, температура термодиода (1) на 4 градуса ниже максимального по ядру. Почему ниже? На этом надо остановиться подробнее. Процессор не монолитный резистор, при использовании разных блоков он нагревается, но сам нагрев неравномерный и во времени и по кристаллу. Например, по Pentium4 Prescott термограмма выглядит так:

Возвращаемся к предыдущей картинке. Точка 4 нагревается от кристалла непосредственно под ним (точка 1) и за счет теплопроводности радиатора от точки 2. Термодатчик находится на периферии кристалла, там никогда не бывает существенного выделения тепла. Во-первых, посмотрите термограмму Pentium4, а во-вторых, у меня есть подозрение, что датчик располагается не в активной зоне кристалла. По периферии кристалла расположены контактные площадки, к которым привариваются проводники для затаривания в корпус. Из соображений безопасности и уменьшения емкости под каждой контактной площадкой делают карман — p-n переход по отношению к подложке. На корпусе процессора выводы термодиода расположены рядом, можно предположить, что и контактные площадки также рядом. Ну а сделать на двух соседних карманах диод не представляет трудности. Судя по картинке, термодиод находится около выводов. Собственно, не было никакой необходимости менять трассировку в зоне диода для его перемещения на доли миллиметра. Сюда стоит прибавить, что ранние версии К7 (T-Bird и ранее) не имели диода, и введение лишнего компонента, хоть и небольшого размера, потребовало бы перекомпоновки и перетрассировки участка кристалла от выводов до датчика. Если так, то это означает, что термодиод находится на весьма значительном расстоянии от элементов кристалла, вызывающих существенный нагрев. Предельно утрировав, можно сказать, что термодиод нагревается только за счет нагрева от радиатора. (Очень сильное утрирование, кристаллический кремний имеет существенную теплопроводность, примерно треть от меди). Это означает, что температура в точке 1 не слишком горячее точки 4, а температура в самой точке 4 зависит от эффективности работы радиатора. Если радиатор с толстым основанием, маленькими ребрами и не обдувается, то температура в точке 2 и 4 не будут различаться. А если поставить тонкодонный радиатор с высокими ребрами и хорошо его продуть? Тогда точка 2 будет намного-намного горячее точки 4 (из-за ребра между ними, он отведет тепло в воздух и сработает как трансформатор). Это приведет к тому, что термодиод покажет сильно заниженную температуру. Ранее я приводил цитату по поводу датчика К7, теперь самое время пояснить ее смысл — без радиатора (или при плохом тепловом контакте) термодиод просто не успеет нагреться до порога отключения из-за низкой скорости передачи тепла по кристаллу. А в это время в остальной части кристалла температура успеет возрасти до сумасшедшей величины, и наступит необратимый процесс разрушения. Подобное поведение (медленная скорость реакции) подтверждает мою теорию о том, что рядом с датчиком нет нагревающихся участков.

По К8 … может потому у него такая толстая крышка? Например, у Core2 датчик находится в горячей области (см. картинку чуть ниже), ему подобные ухищрения не нужны, и крышка существенно тоньше. То, что датчик находится не в самом горячем месте процессора, означает, что в процессоре используется экстраполяция. Точность подобной экстраполяции? … отсутствует. Вспоминается анекдот о пьяном, который искал ключи у фонаря потому, что там светлее.

В самом начале я говорил об измерении температуры терморезистором и привел тезис, что он может быть точнее датчиков, встроенных в процессор. Думаю, теперь вы понимаете, почему он потенциально точнее — он прижимается к ‘брюху’ процессора и измеряет действительную усредненную температуру процессора. Кроме того, загрузка разными программами означает использование различного набора блоков процессора, что вызовет неравномерный нагрев по кристаллу, что повлияет на термодиод (из-за его локального расположения), и не существенно для терморезистора из-за эффекта усреднения. Как-то сравнивал характер показаний подобного терморезистора и термодиода в К7 (Barton) — характер поведения аналогичен, у термодиода более четкая реакция на нагрев, но сами графики совпадают.

К сожалению, у меня нет данных по расположению датчиков в современных процессорах AMD, но, судя по характеру поведения, при переходе от К7 к К8 технология не претерпела кардинальных изменений. По Intel чуть больше определенности:

В Core2 два типа датчиков — обычный уже термодиод для работы схемы управления вентиляторами и два датчика (по числу ядер) для тепловой защиты (DTS, Digital Thermal Sensors). Сами датчики расположены в наиболее нагреваемых частях кристалла и отражают реальную температуру, но для этого места кристалла. Температура крышки процессора будет существенно ниже по тем же причинам, что и у AMD – конечная теплопроводность кремния и теплового интерфейса. Появление процессоров Core2 вызвало новую волну интереса к измерениям температуры процессора. С одной стороны, измерители уже встроены в ядра, что вроде бы гарантировало их точность, с другой наблюдались какие-то странные данные. Обещали холодный процессор с высоким коэффициентом производительности на ватт; радиатор холодный, а датчики показывают сумасшедшую температуру! Все уже привыкли к цифрам в 50-60 градусов по AMD K7/K8 и Intel Pentium4, и тут такое откровенное ‘безобразие’. Если Вы читали текст ранее, то понимаете, почему датчики на кристалле могут показывать столь различающиеся данные — все зависит от места расположения.

Есть интересный момент с самим DTS — для работы системы защиты от перегрева совершенно не нужна текущая температура, достаточно иметь ‘обратный отсчет’ до выключения процессора. В Intel так и сделали — измеряется именно этот самый отсчет. Когда до ‘0’ остается 3 градуса, то активируется тепловая защита. Почему не при 0? – видимо для запаса на изменение агрессивности охлаждения процессора. Когда DTS дошел до 0, то это означает, что ресурсы понижения потребления процессора исчерпаны, дальше только звезды (точнее искры, дым и копоть). Зачем заботиться о точности порога срабатывания защиты, если процессор в нее никогда не упрется (как это было с Prescott)? Процессор холодный, точнее — он изначально проектировался как мобильный, потому не может сильно нагреваться. Вовсе нет нужды обеспечивать четкий порог, его и не придерживаются. Как было показано ранее, изменение температуры линейно и, надеюсь, разработчики процессора смогли правильно перевести ‘-2mV/C’ в температуру. А вот смещение Vo … вот с ним и проблема. Но не было особой нужды, и не стали усложнять себе жизнь, этот параметр компенсируется весьма относительно. Когда появились Core2 Quad, то сразу стало заметно, что по разным кристаллам температура может отличаться. Причем, изменение температур ядер от нагрева было одинаковым, различались лишь абсолютные числа. Статистики не имею, но разница в 3-5 градусов в C2Q — это обычная ситуация. Другая проблема, и уже надуманная, связана с работой программ считывания температуры. Т.к. DTS показывает обратный отсчет, а не абсолютную температуру, то для перевода в общепринятый формат надо знать предельную температуру (Tjunction). Повторюсь, это та температура, когда сработал механизм защиты от перегрева. Для мобильных версий процессора Core2 утекла информация, что в некотором MSR есть бит, который декларирует Tjunction в 85 или 100 градусов. Оп! Давайте применим это к «немобильным» версиям процессоров — вот и появились утилиты показа температур ядер Core2. Чтобы немножко сократить время, позволю себе процитировать сообщение специалиста Intel Software Network Support, датированное мартом 2003 года:

Use of bit 30 in MSR 0EEh is *not* valid for desktop, workstation or server processors based on the Intel(R) Core(TM) microarchitecture. However, for mobile processors, this assumption *is* valid.

Значит переключатель 85/100 некорректен, а что из двух чисел верно? … или оба ошибочны? Когда писал модуль измерения температуры Core2, то сразу удивился странным данным по температуре процессоров. С одной стороны, е4300 и е6600 указывали Tjunction в 85 и 100, что априори есть глупость (процессоры одного семейства не могут так различаться). С другой — при Tjunction=85 температуры были вроде бы нормальными и совпадали с третьим датчиком процессора, который калибровал BIOS. А вот Tjunction=100 выдавала что-то невразумительное. Раз есть проблема, надо ее решать, и практический тест лучше всего. Для того, чтобы уменьшить потери тепла на переходе по толщине кремния датчик-крышка и крышка-радиатор я снизил все напряжения и частоты до минимума и отключил вентиляторы и выключил компьютер на продолжительное время — чтобы процессор остыл до комнатной температуры. Затем включил и смотрел за ростом температуры по термометру и DTS. Процессор выделяет мало тепла, пришлось ему слегка помочь дополнительным нагревом воды (у меня СВО). В диапазоне 25-60 градусов существенных расхождений в изменении температур воды и DTS не было, смещение между ними оставалось практически неизменным. Если брать Tjunction = 100 градусов, то на DTS было на 4 градуса выше температуры воды. Отсюда сразу отпал вариант с Tjunction = 85 градусов — у меня нет холодильника в системе 🙂.

Хоть процессор и находился в малопотребляющем режиме, но ‘что-то’ он потреблял (порядка 7 Ватт), потому показания DTS и должны быть чуть больше температуры крышки. Еще один аргумент в пользу варианта с Tjunction = 100 градусов — сейчас выпускаются мобильные версии Core2 и для них Tjunction = 100.

Если вам не нравятся высокие температуры в Core2, то тут уж ничего не поделаешь … по крайней мере, они дают верные температуры ядер, а не эмулируют неизвестно что. Кстати по эмуляции: у себя я сделал пересчет температуры ядер по DTS в предполагаемую температуру крышки. Цифры стали не такие вызывающие, но абсолютно неверные. 🙂

С другой стороны, при некотором желании можно откалибровать компенсацию разности температур датчик-крышка, тогда через DTS можно относительно корректно измерять эффективность систем охлаждения (на AMD это не получится, нагрев и датчик в разных местах). Область непаханная, например — кремний имеет нелинейное тепловое сопротивление, особенно в верхнем тепловом диапазоне (70-90 градусов).

К слову сказать, у AMD тоже не все гладко с измерением температур ядер. Вначале был декларирован измеритель температуры, потом появилось смещение температуры для его коррекции под конкретный экземпляр (про Vo см. выше). Идея правильная, только данные о смещении лежат там же, где ранее хранилась совершенно другая информация. В результате, при выводе откорректированной температуры получалась какая-то ерунда (K8 Venice). У себя я отказался делать компенсацию и даю оригинальную температуру. Не удивляйтесь, если по К8 разные программы показывают несколько отличающуюся температуру ядер, источник проблемы может быть именно в этом.

Если слегка перефразировать известное изречение, то по программному считыванию температуры можно сказать только одно — есть ложь, наглая ложь и программный мониторинг.

Не верьте ничему, измеряйте пальцем или по методике фирмы Intel:

«Для измерения температуры рабочей среды процессора Intel®, поместите датчик температуры на высоте 0,3 дюйма над входом вентилятора. Если вентилятор не реверсирован, воздух должен выходить наружу. Если вентилятор выдувает воздух наружу, измеряйте воздух на расстоянии примерно 0,3 дюйма от радиатора теплоотвода, ближе всего к области входа. Измерение наружной температуры активной системы охлаждения осуществляется рядом с процессором следующими способами. Активная система охлаждения подразумевает использование вентилятора.»

P.S.

Хотел привести динамику изменения разности нагрева ядер в Core2 Duo, а вот вышло другое.

В верхней половине показывается [зеленый>загрузка процессора<] и [желтый>частота процессора<], в нижней температура по [красный>DTS0<] и [фиолетовый>DTS1<]. Процессор занимался перекодированием 7 фильмов с использованием различного набора фильтров (avisynth) в автономном режиме, к компьютеру никто не притрагивался. Хорошо видно, что температура ядер плавает друг относительно друга даже при примерно одинаковой загрузке процессора. Это логично, фильтры могут использовать разные наборы команд.

Уже собрался ставить точку, да случайно заметил, что в середине графика явная глупость (выделено рамкой). В течении 15 минут была занижена частота процессора. Можно свалить на ошибку в программе измерения частоты, но и температура процессора уменьшилась на 5 градусов в этом интервале времени.

При этом сама температура была много ниже Tjunction, и сам процессор был загружен на 90-100%.

Мда, не всё в порядке в Королевстве Датском.

Файл мониторинга можно взять здесь.