На главную страницу   На страницу раздела

Thermal Monitor - принципиально новая система температурного контроля в процессорах Intel Pentium 4

Практически сразу после появления на прилавках процессора Pentium 4 от Intel в Сети появилась масса его обзоров. Не остались без внимания ни архитектурные особенности, ни новый набор инструкций SSE2, ни технико-эксплуатационные характеристики (производительность, энергопотребление, цена), ни … этот список еще долго можно продолжать. Но все же одна маленькая, но принципиально важная деталь в подавляющем большинстве обзоров осталась незатронутой. Это - Thermal Monitor, новая "фича" температурного контроля в этом процессоре. Вещь полезная и нашего внимания достойная! Итак, приступим.

Pentium 4, в отличие от своих предшественников, отличается достаточно высоким энергопотреблением и, соответственно, тепловыделением - модель 1.5 ГГц может рассеять до 68 Вт тепла (это максимальное значение). В этих условиях вопрос оптимального температурного режима, а также его контроля заявляет о себе уже в полный голос. Поэтому инженеры Intel не стали останавливаться на достигнутом в области температурного контроля (всем известен внутренний температурный датчик в процессорах PentiumII/III) и предложили новое комплексное решение проблемы - систему Thermal Monitor.

Появление этого механизма температурного контроля связано с еще одним очень важным моментом. При серьезном увеличении тепловыделения процессора растет и скорость нарастания его температуры (dT/dt). Для Pentium 4 эта скорость может достигать 50°C/с. Внутренний же температурный датчик всегда характеризуется определенной задержкой (понятно, мгновенно измерить температуру он попросту не может). Но это не так уж и важно, поскольку основную задержку вносит не датчик, а системный монитор, опрашивающий этот датчик. Даже при минимально возможной задержке (0.125 с) и умеренной скорости нарастания температуры (25-30°C/с) реальная температура процессора будет на 3-4°C выше, чем та, которую рапортует датчик. А что получится при секундной задержке и скорости нарастания температуры 50°C/с, представить даже страшно. В таких условиях разрабатывать системы охлаждения, функциональность которых регулируется на основе показаний внутреннего температурного датчика совершенно бессмысленно.

И вот тут-то на помощь и приходит Thermal Monitor. Эта система представляет собой некий симбиоз датчика температуры и технологии SpeedStep (применяется в процессорах для мобильных компьютеров). Идеология проста - при достижении процессором определенной температуры начинает действовать механизм модуляции тактовой частоты - на определенное время большинство вычислительных узлов процессора циклически отключается/включаются, пока не будет восстановлена приемлемая температура. В моменты отключения узлов выделяемая мощность минимальна, что и позволяет процессору "остыть".

Thermal Monitor состоит из трех частей:

- on-die temperature sensing circuit - термоизмерительная цепь;
- TCC (thermal control circuit) - система модуляции тактовой частоты;
- дополнительные MSR (model specific register) регистры - для конфигурации и контроля состояния Thermal Monitor'а.

Термоизмерительная цепь по существу является аналоговой. Принцип действия несложен и основан на зависимости обратного тока диода от температуры. При нагреве ток диода сравнивается компаратором с током опорного источника тока. При превышении определенного предела, предварительно заданного калибровкой цепи, на выходе компаратора будет присутствовать сигнал низкого уровня PROCHOT# (processor hot). Этот сигнал доступен как для внутренних процессорных цепей, так и на выходе процессорной шины. Условия его появления определяются калибровкой термоизмерительной цепи и не зависят от состояний каких-либо регистров процессора. Температура, при которой возникает сигнал PROCHOT#, соответствует максимальной температуре процессорного корпуса, публикуемой в документации. Для модели 1.5 ГГц это 72°C. Замечу, что термоизмерительная цепь калибруется индивидуально для каждого процессора, чтобы избежать возможных вариаций и достичь хорошей точности. И еще. Поскольку цепь аналоговая, она характеризуется очень высокой скоростью срабатывания (превышение температуры будет обнаружено практически мгновенно).

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

Первый режим - автоматический (automatic). При загрузке компьютера посредством BIOS или же при загрузке операционной системы в MSR (model specific register) выставляется определенный бит (бит 3 в регистре IA32_MISC_ENABLE). В результате система модуляции тактовой частоты будет работать следующим образом - через 50 нс после появления сигнала PROCHOT# тактовая частота будет модулироваться дополнительными холостыми циклами длительностью 4 мкс (для модели 1.5 ГГц). Происходит разбиение на два интервала - за первые 2 мкс тактовые импульсы не подаются, за вторые 2 мкс тактовая частота подается вновь. Процессор работает в таком режиме вплоть до восстановления приемлемой температуры или до подачи сигнала RESET# ;-). Для предотвращения многократных срабатываний цепи TCC предусмотрен небольшой температурный гистерезис - 1°C. То есть, значение температуры, при которой будет восстановлен нормальный режим работы процессора, оказывается на 1°C меньше значения той самой приемлемой температуры.

Второй режим - по требованию (on-demand). В этом случае система модуляции частоты может быть задействована вне зависимости от термоизмерительной цепи (т.е. в любое время). Система активируется установкой определенного бита в соответствующем MSR-регистре (бит 4 в регистре IA32_THERM_CONTROL). Причем, существует возможность отойти от стандартной временной схемы подачи тактовой частоты - можно варьировать время нормального и холостого цикла. Пределы - от 12.5% нормального и 87.5% холостого до 87.5% нормального и 12.5% холостого циклов. Однако при этом максимальное время холостого цикла ограничено значением 2 мкс. Все эти пределы также устанавливаются выставлением определенных бит (биты 3:1 в регистре IA32_THERM_CONTROL).

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

В процессоре Pentium 4 оставлены также и все инструменты температурного контроля, характерные для его предшественников - внутренний температурный датчик и датчик катастрофического перегрева. Причем внутренний температурный датчик, так называемый thermal diode, никак не связан с термоизмерительной цепью Thermal Monitor'а и работает независисмо от нее. Таким образом, мы по-прежнему можем использовать внешние системные мониторы для оперативного наблюдения за температурой процессора. Что же, неплохо!

В заключение необходимо высказать слова благодарности инженерам Intel - ребята разработали в лице системы Thermal Monitor'а вещь чрезвычайно полезную. А вот оправдает ли она наши ожидания, покажет лишь практика.

Все подробности в документации на процессор - http://developer.intel.com/design/Pentium4/datashts/.

Виталий Криницин
Размещено
29 ноября 2000 года

 

Вопросы, дополнения, конструктивная критика? Пишите!

 

(с)1998-2001 Термоскоп
Produced by vit@ixbt.com