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 - термоизмерительная цепь;
Система модуляции тактовой частоты по умолчанию не активизирована. Сделано это для совместимости с существующим системным и прикладным программным обеспечением. Тем не менее, систему достаточно просто активизировать, причем работать она может в двух режимах. Первый режим - автоматический (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/. Виталий Криницин
Вопросы, дополнения, конструктивная критика? Пишите!
|