Обратная сторона производительности процессоров: некоторые подробности

8 июнь, 2006 - 14:36Сергей Шевченко

Довольно часто в технической периодике упоминаются такие характеристики процессоров, как TDP, температура кристалла, максимальная рассеиваемая мощность и т. д. Однако широкая публика недостаточно проинформирована о том, что означает каждый термин и как его трактовать, в обзорах порой появляются не совсем правильные толкования тех или иных результатов и, соответственно, ошибочные выводы. В статье рассмотрены вопросы тепловыделения на примере процессоров Intel, а также некоторые особенности CPU следующих поколений.

Как известно, у каждой сущности есть две крайности. Применительно к микропроцессорам это производительность и энергопотребление, причем первый параметр нам знаком лучше, так как ему в прессе уделяется наибольшее внимание, а о втором рядовой пользователь ПК осведомлен значительно меньше. Знания же эти делятся на две час-ти – эмпирические и теоретические, при этом вторые чаще всего сводятся к знакомству с загадочной аббревиатурой TDP (Thermal Design Point или Thermal Design Power) и соответствующей единицей измерения – ватт. Термин TDP не имеет устоявшегося русскоязычного эквивалента, его можно перевести как «термальная проектная мощность» процессора. Понятием TDP чаще всего пользуются для того, чтобы охарактеризовать термальные (тепловые) показатели микропроцессора (его «горячесть»: чем меньше, тем лучше), и при прочих равных условиях процессору с низким TDP отдается предпочтение. Кроме того, данный показатель служит еще одной цели – устрашению потребителя. Мол, этот процессор рассеивает «много ватт», поэтому его применение в домашних или офисных условиях невозможно.

Как будет видно далее, все определяется не величиной этой мощности, а тем, насколько эффективно мы можем ее рассеивать. Эмпирическую оценку пользователь ПК получает «на слух» – компьютер шумит (что чаще всего связывают с системой охлаждения процессора), или же визуально – через BIOS либо с помощью ПО, поставляемого производителем материнской платы. К сожалению, этим характеристикам обозреватели обычно не уделяют должного внимания, а именно: не просто упоминанию значений температуры в тех или иных местах платы, а их правильному толкованию. К примеру, если пользователь ПК наблюдает в показаниях утилиты температуру процессора в 100 °С, отчаиваться не стоит – на самом деле она гораздо ниже. При столь высокой температуре процессор просто не смог бы функционировать, так как в случае перегрева, каковым и является данное значение, CPU просто остановится. А это означает, что подобная температура не может быть достигнута даже теоретически.

Собственно, главная цель предлагаемого материала – разъяснить, что же скрывается под упомянутыми характеристиками и как их нужно правильно понимать и использовать. Все дальнейшие рассуждения относятся исключительно к микропроцессорам Intel.

Введение в физику процессов

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

Микропроцессор Intel снабжается энергией от источника VRD (Voltage Regulator Down), многим известного как преобразователь напряжения. Он преобразует напряжение 12 В в требуемое для питания процессора – около 1,5 В и менее (Vcc – Voltage CPU Сore, напряжение питания ядра процессора). При этом происходит преобразование напряжения питания на шине 12 В с током 16 А (192 Вт), как указано на блоке питания, в напряжение питания 1,5 В, но током в 100 А (данные цифры приводятся исключительно для упрощения математических расчетов). В такой ситуации, конечно, происходит потеря части мощности (в нашем случае это, к примеру, 42 Вт), поскольку преобразователь имеет КПД менее 100%. Итоговый ток в 100 А поступает на процессор по нескольким сотням ножек – в технической документации можно с удивлением обнаружить, что большинство контактов сокета LGA775 задействованы под питание процессора и заземление.

Итак, к процессору подводится мощность в 150 Вт. Вопрос в том, куда она расходуется и постоянна ли она. В первую очередь отметим, что все зависит от загрузки процессора. При работе только в текстовом редакторе потребляемая мощность будет близка к 30–40 Вт. Если же кроме этого вы смотрите фильм, а антивирусное ПО сканирует диск, то это значение может существенно возрасти. На что же используется эта мощность? Здесь нас ждет разочарование. Дело в том, что из максимально возможных 150 Вт только небольшая часть употребляется по прямому назначению, а именно – на создание проводящего канала транзистора в теле подложки, переключение логических элементов между бинарными состояниями, преодоление энергетического барьера на полупроводниковых переходах и т. д. Основная же часть подводимой к процессору мощности уходит на паразитные явления (токи утечек, тепловые потери на паразитных сопротивлениях, емкостях и т. д.). Закон сохранения энергии в нашем случае говорит о том, что если энергия подведена к процессору, то она будет израсходована в таком же размере. Если учесть, что на «непосредственную» работу процессора мы потратили только ее часть, то оставшаяся должна покинуть микропроцессор. Вот этот «исход» и называется «рассеиваемой процессором мощностью».

Значение этой части мощности довольно высоко. Процессор с частотой ядра в 3 GHz рассеивает меньше, чем CPU с частотой 3,4 GHz, но оба они попадают под TDP 95 Вт! О самом параметре TDP мы поговорим чуть ниже, главное пока – понять, что максимальная рассеиваемая процессором мощность – не то же самое, что параметр TDP.

Мощность, покидающая процессор, превращается в тепло, которое для уравнивания теплового баланса должно переместиться в другое место. Если бы возможность отвода этого тепла от процессора не была предусмотрена, то температура CPU стремительно возросла бы и он вышел бы из строя. Поэтому тепло, сгенерированное процессором (его кристаллом), нужно отвести подальше от микросхемы и потратить на абсолютно бесполезную вещь – нагрев воздуха в комнате. Для этого был придуман Fan Heatsink Solution, или активная система охлаждения. Современная конструкция изображена на рисунке (вентилятор там не показан). Тепло, выделяемое кристаллом процессора (на рисунке – темно-зеленого цвета), выводится из него в следующем порядке: сначала проходит через теплопроводящий материал микросхемы, затем попадает на металлическую крышку распределителя (основное назначение которой – не механическая защита кристалла, как многие полагают, а равномерное распределение тепла, рассеиваемого кристаллом микропроцессора). После этого оно перемещается на так называемый теплопроводящий материал, который нанесен на подошву радиатора и имеет разные кристаллические фазы в зависимости от температуры (поэтому никогда не пытайтесь снять теплоотвод с процессора без предварительного включения ПК на 10–15 мин, иначе можно просто вырвать процессор из сокета, особенно при использовании Socket 478). Далее тепло поступает на радиатор и при помощи обдува вентилятором выходит за пределы конструкции.

Еще раз напомним, что главная задача этой конструкции – отвести тепло от микропроцессора и развеять его в окружающем пространстве. На этом пути нас ожидают определенные трудности, и основная из них связана с обеспечением термальной эффективности устройства. Оно представляет собой «слоеный пирог», каждый слой которого может как помочь, так и навредить. Любой материал имеет свою характеристику теплового сопротивления или, в терминологии Intel – термальную эффективность (в документации на процессор – параметр Ψ). Это означает, что он будет нагреваться, а в итоге тепло может вернуться на кристалл процессора. Тепловое сопротивление измеряется в °C/Вт (чем меньше, тем лучше) и показывает, что при прохождении через материал тепловой мощности в 1 Вт температура материала поднимется на эту величину. Например, при прохождении одного ватта тепловой мощности через материал радиатора с параметром Ψ = 0,3 °С/ Вт его температура повысится на 0,3 °С, при 100 Вт тепловой мощности нагрев составит уже 30 °С . Добавив к этому значению температуру окружающей среды в 40 °С, без особых усилий получим целых 70 °С! А это значит, что рано или поздно нагреется и процессор, чего мы как раз и хотим избежать, или, по крайней мере, минимизировать.

Автор пытался оценить качество термопаст, распространенных на отечественном рынке, – оно не выдерживает критики. Во всех случаях их использование приводило к тому, что частота вращения вентилятора теплоотвода процессора была на 200–300 оборотов больше, чем для теплопроводящего материала от Intel. Причина этого – высокое значение теплового сопротивления. Конечно, Intel не выпускает такой материал для своих «коробочных» изделий самостоятельно, но при выборе поставщика проводится тщательный анализ по соотношению цена/производительность. Материалы с самыми хорошими характеристиками стоят дорого, та же закономерность свойственна и для радиаторов. Можно сделать его целиком медным и с огромной площадью рассеивающей поверхности, но он выйдет тяжелым, громоздким и дорогим. Можно использовать дополнительный вентилятор, воздушный поток от которого будет «сдувать» тепло с поверхности радиатора – дешево, но шумно. Есть и другие экзотические способы – например водяное охлаждение, криогенные установки. Они более эффективны, но в массовое производство вряд ли попадут из-за высокой цены и низкой надежности.

Поэтому Intel использует ряд технических решений, в итоге дающих оптимальный баланс. Поиск оптимального решения для охлаждения – это всегда компромисс между стоимостью, эффективностью и надежностью. Общий термальный показатель теплоотвода является суммой тепловых сопротивлений каждого из элементов нашего «пирога», которые встречаются на пути движения тепловой мощности. И каждый элемент может существенно влиять на итоговую интегральную характеристику термальной эффективности теплоотвода.

Подробнее о TDP

TDP – величина, которая применяется для расчета термальной эффективности системы охлаждения. Широко распространенное мнение о том, что TDP определяет максимальную рассеиваемую мощность процессора Intel, в корне неправильно.

Обратная сторона производительности процессоров некоторые подробности
Система отвода тепла от кристалла процессора представляет собой «слоеный пирог»

Как же используется TDP? Входными данными для расчета тепловой эффективности системы охлаждения (и в итоге разработки ее дизайна) являются значение TDP и максимальная рабочая температура кристалла Tcasemax. Она измеряется в точке Tcase (см. рис.) – геометрическом центре на поверхности крышки распределителя тепла (обратите внимание: Tcase – это не температура кристалла, как ошибочно считается). В качестве примера рассмотрим значение TDP в 95 Вт, которое сегодня применяется для расчета систем охлаждения приблизительно у 90% настольных процессоров Intel. Tcasemax для них составляет приблизительно 70 °С (точное значение можно узнать в базе данных SSpec на сайте support.intel.com по SL-коду, присутствующему на маркировке микросхемы и картонной упаковке процессора). Формула для расчета термальной эффективности (теплового сопротивления) будет выглядеть так:

Tcasemax = Tambiеnt + TDP × Ψ,

где Tambiеnt – температура «окружающей среды»,

т. е.

Ψ = (Tcasemax – Tambiеnt)/TDP = (70 – 38)/95 = 0,34 C/Вт.

В итоге мы должны спроектировать систему охлаждения с такой термальной эффективностью. И тут начинается борьба «добра» (термальная эффективность) со «злом» (экономичность).

Представим, что мы разработали такую систему, теперь ее нужно проверить. Для этого придется повредить поверхность крышки распределителя тепла. В ней делается канавка, в которую закладывают одну термопару. Другую располагают на поверхности двигателя вентилятора (на рис. Tambient). Первой термопарой мы измеряем температуру кристалла, а второй – окружающей среды. Начинаем постепенно загружать процессор и смотрим, как работает наша система охлаждения. При достижении порога 95 Вт температура в точке измерения не должна превышать 70 °С. Указанную мощность могут рассеивать всего несколько моделей из 90% вмещающихся «под зонтиком» в 95 Вт, остальные никогда не доберутся до данного значения. Например, в линейке процессоров Intel Pentium 6x1 все модели рассеивают до 86 Вт, т. е. гипотетически можно предположить, что только начиная с частоты ядра 3,8–4 GHz указанный барьер будет преодолен.

Итак, если во время наших замеров температура в этой точке превышает Tcasemax = 70 °C, что-то здесь не так. Например, на подошву радиатора мы нанесли дешевую термопасту. Возникает вопрос, сколько же максимально может рассеивать процессор Intel при TDP в 95 Вт. В принципе, самая топовая модель семейства способна рассеивать и немногим больше, но это достижимо только при запуске специальной утилиты Intel (широкой общественности она недоступна), задача которой заставить работать все транзисторы на процессоре. С помощью коммерческого ПО этого результата добиться практически невозможно.

Теперь перейдем к вопросу о том, можно ли использовать показания датчиков из BIOS или специализированного ПО для оценки эффективности системы охлаждения. Для этого нужно понять, какую же температуру пользователь видит в настройках BIOS или ПО материнской платы. Дело в том, что на самом кристалле есть два термодатчика. Об одном, датчике управления TCC, мы временно забудем. Второй (на рис. Tdiode) представляет собой термодиод, у которого анод и катод выведены на две контактные площадки процессора в корпусе LGA4 (для гнезда LGA775). Есть несколько моделей использования этого датчика. К примеру, на плате стоят так называемый токовый компаратор и схема АЦП, которая преобразует разницу токов эталонного и конкретного датчика в цифру и сообщает пользователю это значение через BIOS или специализированное ПО от производителя платы, предварительно проведя конвертацию данного значения в температуру по имеющемуся шаблону, который может быть ошибочным. То есть при считывании числа 12, которое должно соответствовать температуре в 40 °С, мы переводим его в 47 °С или, что еще хуже, мы считали с датчика вместо 12 число 16, что соответствует 70 °С.

Таким образом, мы видим так называемую температуру кристалла... которую уже один раз измеряли, но в другом месте и другим способом. Здесь и сокрыто наибольшее число проблем, вот несколько из них. Во-первых, датчик показывает температуру в конкретном месте на кристалле, и если она в этой точке равна 100 °С, то это еще не означает, что весь кристалл имеет такую же температуру. Ее значение, отображаемое на экране монитора, во многом определяет используемое прикладное ПО. А именно: при 90% загрузки процессора во время игры в DOOM она составит 70 °С, а при тех же 90% загрузки в Photoshop – 55 °С. Т.е. температура в этой точке зависит от того, какие близлежащие блоки CPU используются наиболее активно.

Во-вторых, схема преобразования на плате может быть не откалибрована (чаще всего коррекция калибровки делается через BIOS) или попросту выйти из строя, а специализированное ПО материнской платы – ошибочно запрограммировано на неверный шаблон значений. По этим причинам Intel категорически не рекомендует использование значений данного датчика (в BIOS или ПО плат) для выполнения работ по термальной валидации собранных ПК. Как пример можно привести статью, в которой исследовались производительность и тепловые характеристики процессора Intel Pentium Extreme Edition 955 на материнской плате Intel D975XBX. Проведя большое количество замеров температур этим (не рекомендованным) датчиком и получив бoльшие значения, обозреватель сделал вывод о том, что показатель максимальной рассеиваемой мощности данного CPU составляет 200 Вт, а не 130, как заявляет Intel.

С подобной ситуацией столкнулись сотрудники одного из популярных англоязычных Web-ресурсов. Когда они увидели, что датчик показывает аномальные значения температур в 100 °С и более, то обратились в Intel, и после безуспешной попытки решить проблему через обновление BIOS (чаще всего это устраняет аномальные показания) пришлось заменить плату. Кроме того, опыт оверклокинга данного процессора (с разблокированным коэффициентом умножения) говорит о том, что со стандартной системой охлаждения Pentium Extreme Edition 955 можно разогнать до 4,2 GHz без модуляции частоты ядра (об этом позже). И стоит еще раз напомнить, что 130 Вт – это проектная характеристика системы охлаждения, а не процессора. Другими словами, это явилось подтверждением рекомендации производителя не использовать данные значения для оценки эффективности систем охлаждения.

Возникает вопрос: зачем такой датчик, где его можно использовать? Основное его назначение сегодня – управление частотой вращения вентилятора системы охлаждения для LGA775. Та же схема считывает показания этого датчика и с помощью четвертого провода вентилятора системы охлаждения (подключаемого к материнской плате), используя ШИМ-модуляцию, управляет частотой вращения вентилятора. Эта схема существенно отличается от применявшейся в системе охлаждения Socket 478, где вентилятором управлял датчик температуры, располагавшийся над двигателем, под крышкой вентилятора с маркировкой Intel. При такой схеме необходимо было учитывать инерционность системы охлаждения, в связи с чем вентилятор работал на оборотах значительно выше, чем необходимо, а значит, шум был более высоким. Температура процессора могла резко возрасти (точка Tdiode), но мы почувствовали бы это только через длительное время – датчик температуры, который призван немедленно реагировать на все изменения, находится в точке Tambient. Вот и приходилось крутить вентилятор на скорости 2000, а не 1500 об/мин.

На LGA775 система контроля за температурой кристалла Tdiode моментально реагирует на рост температуры и увеличивает частоту вращения. Как и в предыдущем случае, производитель платы может ошибиться в программировании системы управления и разгонять вентилятор тогда, когда в этом нет необходимости. Данная проблема с неоткалиброванными датчиками или ошибочным программированием будет устранена в следующем поколении чипсетов семейства Broadwater (i965), где схема считывания температуры и управления частотой вращения вентилятора является частью системной логики. Кроме этого, датчик(и) на процессоре Conroe станут цифровыми (схема цифровых датчиков уже работает на Intel Core Duo и называется DTS).

В качестве промежуточного итога отметим следующее. Показатель TDP процессора используется как отправная точка при расчете тепловой эффективности системы охлаждения для этого CPU. Применение датчика температуры (Tdiode) для схемы управления частотой вращения вентилятора – на сегодня один из наиболее прогрессивных механизмов снижения уровня шума ПК, по крайней мере, в части системы охлаждения процессора. Однако не следует применять показания этого датчика как точную оценку термальной эффективности системы охлаждения процессора и тепловых характеристик системы.

Поведение CPU при перегреве

Отдельно рассмотрим, как ведет себя процессор Intel, когда система охлаждения не справляется с отводом тепла. Этим заведует второй датчик на CPU, который полностью автономен и доступа к нему нет (на рис. это Tprochot). Все пороговые значения для него «зашиваются» на фабрике на этапе изготовления. Их два – Tprochot и Tthermtrip. При достижении датчиком первого значения начинается модуляция частоты ядра процессора. Существуют две схемы – TM2 и TM1. Чаще всего производитель платы сам решает, какую из них использовать, но Intel рекомендует по возможности применять TM2. В этом случае у процессора меняется коэффициент умножения до 12 (2,4 GHz у новых образцов) или 14 (2,8 GHz у старых), а затем снижается напряжение питания ядра. При нормализации температуры CPU возвращается в номинальную рабочую точку в обратном порядке. При изменении напряжения питания процессор доступен и работает, тогда как при изменении коэффициента умножения он становится недоступным на 5 или 10 мкс (в зависимости от модели).

По схеме TM1 выполняется модуляция частоты ядра – из 3 мс ядро простаивает 1,5 мс и работает 1,5 мс. У нее есть еще программная возможность управления скважностью. Данной схемой пользуются утилиты, которые снижают шум системы охлаждения. Понятно, что за это приходится платить производительностью, чудес не бывает. Назначение обеих схем простое: если процессор перегрелся, его необходимо притормозить, дав возможность остыть, что лучше, чем сразу останавливать работу – можно будет хотя бы сохранить файлы. Как только процессор остыл и датчик это «почувствовал», схема TCC (Thermal Control Circuitry) отключается. Конечно, добавлен небольшой гистерезис, дабы избежать постоянных переключений режимов.

Для ТМ2 и ТМ1 их включение проявляется в виде замедления работы системы. Если это не исправило положения, датчик немедленно включает схему THERMTRIP, все внутренние блоки процессора останавливаются и формируется сигнал, отдающий команду преобразователю напряжения (VRD) прекратить подачу питания на CPU. Приблизительное значение температуры, при которой возникает данная ситуация, – 90 °С. Совсем недавно появилась возможность включать схемы TM1/TM2 при перегреве VRD: процессор тормозится и начинает меньше потреблять, и VRD может «передохнуть». На Pentium D вместо сигнальной линии PROCHOT# используется FORCEPR# для активации замедления процессора при перегреве преобразователя напряжения.

Наличие отдельного датчика для схемы борьбы с перегревом порождает новую группу проблем. Мы можем видеть на процессоре температуру Tdiode = 100 °C, а на датчике Tprochot она достигнет лишь 70 °С, т. е. по показаниям первого датчика процессор должен был уже давно остановиться, а он функционирует. И снова все определяется профилем ПО, который по-разному может влиять на показания этих датчиков. Самое неприятное в этой схеме защиты то, что по умолчанию она заблокирована, и задача BIOS материнской платы – включить ее. (забывчивость проектировщика BIOS или его ошибка может дорого обойтись владельцу ПК). В новейших процессорах Conroe одни и те же датчики используются как для схемы управления частотой вращения вентилятора, так и для управления СPU при перегреве. Это должно устранить проблему разночтения показаний датчиков. Данная схема реализована в Intel Core Duo (Yonah) – уже упоминавшийся DTS. Резюме простое: разработчики процессора делают все, чтобы даже при его перегреве сохранялась возможность продолжать работу. Даже в случае катастрофического перегрева можно не волноваться – сам CPU и правильно спроектированная материнская плата с корректной BIOS не позволят себя сжечь.

Дальше – лучше

В заключение затронем один из самых главных вопросов: что делает Intel для снижения показателя рассеиваемой мощности? Существуют два основных пути. Первый – на уровне микроархитектуры отключать те блоки процессора, которые в данный момент не используются. Эта схема наиболее активно применяется в мобильных микропроцессорах. Второй путь – вносить изменения на уровне полупроводниковых материалов. Одной из основных целей при внедрении техпроцесса 65 нм было уменьшение токов утечки, и этого удалось достигнуть – их значения снизились в сотни раз. В итоге, к примеру, мы получили двухъядерные микропроцессоры 900-х моделей степинга C-1, «умещающиеся» в термальный пакет 95 Вт на частотах до 3,4 GHz включительно.

Естественно, рассказ был бы неполным без попытки заглянуть в ближайшее будущее. В III квартале этого года ожидается десктопный процессор с кодовым названием Conroe, который на момент выхода явится квинтэссенцией инноваций Intel в области энергоэффективной производительности. Ожидается 40%-ное повышение быстродействия (по сравнению с Intel Pentium D 950) по тесту SPECint_rate и еще более высокий рейтинг в играх, при этом рассеивающий всего 65 Вт тепловой мощности, использующий более совершенную схему управления частотой вращения вентилятора и контроля перегрева.

Представленный материал в ряде мест был намеренно упрощен, однако, надеемся, не потерял при этом актуальности. Подробную информацию по тепловым характеристикам процессоров Intel можно найти на сайте support.intel.com в следующих документах: Thermal аnd Mechanical Design Guide (TMDG), Thermal Design Guidelines, Processor Datasheet, VRD Design Guide.

Об авторе: Сергей Шевченко – ведущий специалист по применению продукции Intel в России и СНГ, работает в киевском офисе Intel