Главная » Хабрахабр » [Перевод] Почему процессоры Intel потребляют больше ожидаемого: требования к теплоотводу и турбо-режим

[Перевод] Почему процессоры Intel потребляют больше ожидаемого: требования к теплоотводу и турбо-режим

У новейших восьмиядерных процессоров от Intel показатель TDP заявлен в 95 Вт, однако пользователи наблюдают, как те потребляют 150-180 Вт, что совершенно не имеет смысла. В последнее время сообщество любителей самостоятельной сборки ПК пронизано темой энергопотребления. В этой инструкции мы объясним вам, почему это происходит, и почему это доставляет столько проблем авторам обзоров железа.

Что такое TDP (Thermal Design Power, требования к теплоотводу)

Для каждого процессора Intel гарантирует определённую рабочую частоту с определённой мощностью, часто имея в виду определённый кулер. Большая часть людей приравнивает TDP к максимальному энергопотреблению, учитывая, что в расчётах тепловая мощность процессора, которую необходимо рассеять, равна мощности, им потребляемой. И обычно TDP обозначает величину этой мощности.
Но, строго говоря, TDP относится к возможностям кулера по рассеиванию энергии. TDP – это минимальная возможность кулера, гарантирующая указанную эффективность. Часть энергии рассеивается через сокет и материнскую плату, а значит, рейтинг кулера может быть ниже TDP, но в большинстве обсуждений TDP и энергопотребление обычно означали одно и то же: сколько энергии процессор потребляет под нагрузкой.

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

Для любого заданного процессора Intel гарантировала рабочую частоту (базовую частоту) для конкретной мощности – TDP. В последние годы Intel использовала именно такое определение TDP. Intel не гарантирует эффективной работы выше указанных 3,2 ГГц и 65 Вт. Это значит, что процессор типа 65 Вт Core i7-8700, с обычной частотой 3,2 ГГц, и 4,7 ГГц в турбо-режиме, гарантированно будет потреблять до 65 Вт только при работе на частоте в 3,2 ГГц.

Что-то вроде Core i7-8700 может показывать в турбо-режиме 4,7 ГГц, и потреблять при этом гораздо больше энергии, чем процессор, работающий на 3,2 ГГц. Кроме базовых показателей, Intel также использует турбо-режим. Ситуация усложняется, когда турбо-режимы не опускаются до базовой частоты. Турбо-режим для всех ядер на процессоре Core i7-8700 работает на частоте 4,3 ГГц – куда как больше гарантированной 3,2 ГГц. Если вам нужно больше быстродействия, такой кулер надо выкинуть и взять что-то получше. То есть, если процессор будет работать с постоянным превышением TDP, купленный вами кулер на 65 Вт (или тот, что шёл в комплекте) станет узким местом.

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

Значит, TDP ничего не значит? Почему это стало проблемой только сейчас?

За последнее десятилетие методика использования термина TDP не поменялась, а вот процессоры начали по-другому использовать свой энергетический бюджет. Недавнее появление шести- и восьмиядерных потребительских процессоров с частотами за 4 ГГц означает, что новые процессоры с большой загрузкой превышают заявленное TDP. В прошлом мы видели, как четырёхядерные процессоры с обозначенным рейтингом в 95 Вт использовали только 50 Вт даже под полной нагрузкой в турбо-режиме. И если мы добавляем ядра, а обозначение TDP на упаковке не меняем, то что-то должно поменяться.

Тайные цифры, которых нет на упаковке

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

Intel называет их PL1 (уровень энергии 1), PL2 (уровень энергии 2) и T (Tau). Для простоты можно следить за тремя важными значениями.

По сути, PL1 обычно определяется, как TDP процессора. PL1 – эффективное равномерное ожидаемое потребление энергии в долгосрочной перспективе. То есть, если TDP равно 80 Вт, то PL1 равно 80 Вт.

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

Она определяет, как долго процессор должен оставаться в режиме PL2 перед тем, как откатиться на PL1. Tau – временная переменная. Tau не зависит от мощности и температуры процессора (ожидается, что при достижении температурного ограничения будет использоваться другой набор сверхнизких значений напряжения и частоты, а система PL1/PL2 перестаёт работать).

Вот официальные определения от Intel:

Давайте разберём ситуацию большой нагрузки на процессор.

Если нагрузка однопоточная, мы должны достичь верхнего значения турбо, которое обозначено в спецификации. Сначала он начинает работу в режиме PL2. Если мы будем продолжать нагружать ядра, процессор отреагирует, уменьшая частоту турбо-режима в соответствии с по-ядерными значениями, определяемыми Intel. Обычно энергопотребление одного ядра не приблизится к значению PL2 всего чипа. Если энергопотребление процессора достигает значения PL2, то его частота изменяется так, чтобы не выходить за рамки PL2.

Таблицы турбо перестают применяться – они работают только с режимом PL2. Когда система находится под серьёзной нагрузкой долгий промежуток времени, «Tau» секунд, прошивка должна перейти на PL1 как на новое ограничение по мощности.

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

После этого режим PL2 снова может быть включён при появлении другой большой нагрузки. Режим PL1 работает, пока не исчезнет нагрузка, и ядро не перейдёт в состояние бездействия на определённое количество времени (обычно до 5 секунд).

Для примера я взял Core i7-8700K. Приведём примеры некоторых величин – Intel перечисляет несколько вариантов в спецификациях различных процессоров. Для этого проца верно следующее:

25 = 118. PL1 = TDP = 95 Вт
PL2 = TDP * 1. 75 Вт
Tau = 8 сек

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

К примеру, на графике выше можно снять ограничения с PL2, а PL1 назначить 165 Вт и 95 Вт. Однако вся ерунда начинается, когда в игру вступают производители материнских плат, поскольку PL1, PL2 и Tau можно настраивать в прошивке.

Мир случайных чисел

В основном я буду говорить о потребительской электронике. Часто PL1, PL2 и Tau тщательно контролируются в таких ограниченных по охлаждению условиях, как ноутбуки или небольшие ПК. Я знаком с несколькими мощными, и в то же время стильными вариантами ПК, у которых PL2 также приравнивали к TDP, чтобы процессор смог немного разогнаться, но не до такой степени, чтобы нагрузка одного-двух ядер выходила за пределы TDP.

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

В большинстве случаев по умолчанию пользователю неизвестно, в какое значение они установлены, поскольку там будет написано Auto, что является кодовым обозначением «мы знаем, какое значение им назначить, не волнуйтесь». В любом современном BIOS, в особенности у основных производителей мат.плат, будут присутствовать настройки по ограничению мощности (краткосрочное и долгосрочное) и длительности. В результате можно назначить PL2 в 4096 Вт и сделать Tau очень большим, к примеру, 65535, или -1 (бесконечность – зависит от варианта BIOS). Производители запишут величины в память и будут их использовать, но пользователь увидит только Auto. Это означает, что CPU без перерыва будет работать в режиме турбо, пока не превысит температурные ограничения.

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

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

Intel часто с каждым запуском определяет спецификацию мат.платы по умолчанию (у них даже были свои материнки, которые они продавали в розницу), с определённым количеством фаз питания и с ожидаемым временем жизни. Во-вторых, продукты для этого и разрабатываются. Если их плата может поддерживать турбо-режим всех ядер беспрерывно, то почему бы и нет? Производители, очевидно, могут внедрять свои варианты: больше фаз питания, более мощные фазы, особый подвод питания для улучшения эффективности, и т.д.

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

Так как же правильно, кому доверять, в чём разница?

Intel назначает стандарты для своих запчастей. PL1, PL2, Tau, схема материнки, настройки прошивки – для всего есть значения по умолчанию, рекомендованные Intel. Некоторые из них публичные, например, те, что Intel указывает в документах, некоторые – конфиденциальные (и Intel нам о них не расскажет, как бы мы ни упрашивали). Однако это всё же рекомендованные значения. А по итогам, производители материнских плат могут делать всё, что им заблагорассудится. И они так и делают.

Разным пользователям захочется, чтобы наши настройки были:
1. В результате, к примеру, мне тестировать оборудование из-за этого становится сложнее. Как из коробки,
3. Рекомендованными Intel,
2. Вывернуты на максимум.

И, естественно, рекомендации Intel дадут куда как меньшие показатели, чем «из коробки», а вариант «вывернуты на максимум» говорит сам за себя.

Стоит отметить, что до сих пор во всех тестах во всех обзорах CPU железо запускалось на настройках «из коробки», а не «рекомендованных Intel».

Чтобы дать некий контекст по значениям измерений, мы использовали мощный CPU и
получили следующие результаты в 25-30 секундном тесте с полной нагрузкой:

AnandTech

PL2

Tau

PL1

Result

Unlimited

4096W

999s

4096W

100%

Intel Spec, 165W

207W

8s

165W

98%

Constant 165W

165W

1s

165W

94%

Intel Spec, 95W

118W

8s

95W

84%

Constant 95W

95W

1s

95W

71%

При запуске измерений скорости на таких материнских платах, пользователи получают результаты меньше, чем обычно, хотя эти результаты оказываются ближе к спецификациям Intel. В последнее время было замечено, что некоторые производители материнских плат меняют свою стратегию по PL1/PL2/Tau, и урезают значение Tau до чего-то разумного, вроде 30 секунд.

В результате описывать работу такого оборудования очень тяжело. Дело в том, что когда на материнских платах стоит значение Auto, производитель обычно не раскрывает точную величину этого значения. А ещё эти значения могут меняться в зависимости от установленного процессора.

Мы считаем, что это наиболее честный способ сообщать читателям о том, на какую скорость они смогут рассчитывать, когда практически никакие настройки не менялись. Мы обычно проводим тестирования с настройками «из коробки», за исключением памяти, с которой мы используем значения, рекомендованные производителем. Мы постоянно сталкиваемся с режимом турбо, пока температура остаётся в установленных пределах. В реальности это обычно означает, что PL2 установлено в какое-то очень большое значение, а Tau – в очень долгое.

Сегодняшняя ситуация, и что мы можем с ней сделать

Давно хотел написать подобную статью, по меньшей мере, с момента запуска Kaby Lake. Большая часть процессоров в потребительских материнских платах работает с неограниченным PL2, и это считалось нормальным годами. И только по результатам тестирования Core i9-9900K мы начали замечать нечто странное. В нашей статье на прошлой неделе по поводу нового Xeon E написано, что наша материнская плата Supermicro буквально следует рекомендациям от Intel. Может показаться очевидным, что более коммерческая/серверная плата будет следовать спецификациям от Intel, но вживую я лично видел такое впервые. Очевидно, что потребительские платы по таким спецификациям не работают, и не работали. Я бы сказал, что собственные результаты тестирования от Intel (и результаты тестирования процессоров Intel от AMD) на потребительских материнках тоже не соответствуют спецификациям от Intel.

Я бы сказал, что Intel надо размещать на коробках два обозначения мощности:
Так что нам с этим делать?

  • TDP пиковое для PL2
  • TDP долговременное для PL1.

Таким образом Intel и другие смогут объяснить пиковое потребление и базовую частоту.

Все производители хотят опередить друг друга, поэтому мы сталкиваемся с такими вещами, как опция Multi-Core Turbo, включённая по умолчанию. Если пользователи хотят, чтобы потребительские материнские платы изменились, то это будет сложнее сделать. А вот в ноутбуках с ограниченными возможностями по охлаждению часто заданы свои варианты PL1, PL2 и Tau, и часто они строго соответствуют этим параметрам. Производители предпочитают путь «неограниченного PL2», поскольку это позволяет им пролезать на вершины чартов быстродействия.

Если нам надо следовать этим рекомендациям буквально, может, мы сделаем ещё один шаг, и будем использовать только стоковые кулеры? Вопрос в том, насколько спецификации от Intel важны для настольных процессоров от Intel?


Оставить комментарий

Ваш email нигде не будет показан
Обязательные для заполнения поля помечены *

*

x

Ещё Hi-Tech Интересное!

[Из песочницы] Создание домашнего медиацентра. Пролог

Пролог Всё имеет своё начало. Вот и эта история началась с желания иметь свой медиацентр. Внимательно присмотревшись к предложениям продавцов, я понял, что серийные модели не удовлетворяют мои потребности. А аппетит у меня здоровый… Сразу приведу перечень моих пожеланий: Всё ...

Дайджест интересных материалов для мобильного разработчика #279 (10 — 16 декабря)

В новом дайджесте у нас шикарное расследование про геолокацию и то, как приложения делятся данными с рекламодателями, Metal и SceneKit для разработчиков, история приложения на $500,000, лучшие SDK, рост и реклама 2018. SceneKit — высокоуровневый фреймворк трехмерной графики в iOS, ...