Управление tdp процессора ноутбука

Обновлено: 04.07.2024

Доброго времени суток!

На некоторых компьютерах проблема перегрева стоит постоянно и остро (очень часто на ноутбуках, особенно игровых). И даже если бы удалось ее снизить на 10°С — это могло бы существенно изменить ситуацию.

  1. отключение Turbo Boost — этим мы откл. макс. производительность ЦП (заметно будет не всегда, только при ресурсоемких задачах, например: создание архивов, кодирование видео) ;
  2. Undervolting — снижение напряжения на ЦП. Операция специфична, и рекомендуется только опытным пользователям (впрочем, с современной утилитой XTU от Intel — все сводится к изменению одного параметра!).

Как бы там ни было, если вы использовали все другие способы снизить температуру ЦП и они не помогли — рекомендую попробовать эти. Ниже покажу все на примерах.

Отключение Turbo Boost

Самый простой способ сделать это — воспользоваться настройками электропитания в Windows. Да, конечно, после отключения Turbo Boost производительность несколько упадет, но это будет заметно лишь при выполнении определенного круга задач: например, конвертирование видео станет чуть дольше.

Зато устройство будет меньше греться, не так сильно шуметь, и скорее всего прослужит дольше.

Оборудование и звук - Электропитание

Настройка схемы электропитания

После перейти в настройки дополнительных параметров.

Дополнительные параметры питания

Дополнительные параметры питания

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

Максимальное состояние процессора 99%

Максимальное состояние процессора 99%

Кстати, уточнить работает ли Turbo Boost можно с помощью спец. утилиты CPU-Z. Она показывает текущую частоту работу процессора в режиме реального времени (а зная тех. характеристики своего ЦПУ, т.е. его частоты работы, можно быстро определить, задействован ли Turbo Boost).

Работает ли Turbo Boost на ноутбуке

Работает ли Turbo Boost на ноутбуке / Скрин из предыдущей статьи в качестве примера

Turbo Boost (UEFI)

Turbo Boost (UEFI) / Скрин из предыдущей статьи

Undervolting (снижение напряжения на ЦП)

Пару слов на простом языке о том, что будем делать.

Производители, как правило, устанавливают напряжение на ЦП с некоторым запасом, обычно в районе +0,070V ÷ +0,200V (чтобы в не зависимости от партии ЦП — у всех пользователей все работало). Ну а лишнее напряжение — повышает температуру.

Разумеется, этот "запас" по напряжению можно уменьшить (это и называется Undervolting). За счет этой операции можно снизить нагрев ЦП под нагрузкой на 5-20°С (в зависимости от модели и партии). Кстати, как следствие, кулер будет меньше шуметь.

Отмечу, что производительность ЦП от Undervolting не падает (т.к. мы только убираем запас по напряжению)! Даже наоборот, если ваш ЦП раньше сбрасывал частоты от нагрева до высокой температуры — сейчас он может перестать их сбрасывать (из-за снижения температуры) и за счет этого вырастет производительность!

Опасно ли это? В общем-то, нет (повышать напряжение при разгоне — вот это опасно! А мы наоборот снижаем. ) .

Сам я неоднократно снижал напряжение на десятках ПК/ноутбуках (игровых), и никаких проблем не наблюдалось (тем не менее, как всегда, предупреждаю, что все делаете на свой страх и риск) .

Undervolting для Intel Core

1) И так, сначала необходимо зайти на официальный сайт Intel и загрузить утилиту Intel® XTU. Она предназначена для тонкой настройки работы ЦП. Сразу предупрежу — эта не та утилита, где можно изменять любые параметры и смотреть, что они дадут (так, что ничего не меняйте, если не знаете, что и за что отвечает!) .

Intel XTU — загрузка и установка утилиты

Intel XTU — загрузка и установка утилиты

После установки Intel XTU необходимо будет перезагрузить компьютер.

Кстати!

Безопасный режим

На некоторых машинах Intel XTU работает некорректно, и после ее установки появляется синий экран (не знаю достоверно почему). В этом случае при следующей перезагрузке ОС у вас появится меню выбора режима загрузки Windows — выберите безопасный режим и удалите утилиту.

2) Далее нам нужно запустить XTU и найти один единственный параметр "Core Voltage Offset" . По умолчанию, этот параметр должен стоят на "0".

После следует сместить этот ползунок влево на "-0,100V" (в своем примере ниже я подвинул на "-0,110V"), и нажать по кнопке "Apply" . Все, напряжение после этой операции было снижено.

Важно! Не устанавливайте параметр Core Voltage Offset в плюс — тем самым вы повышаете напряжение на ЦП.

Core Voltage Offset / Intel XTU

Core Voltage Offset / Intel XTU

3) Теперь нужно запустить какую-нибудь игру (а лучше протестировать на нескольких) и посмотреть на работу компьютера (ноутбука). Если устройство 20-40 мин. работает в норм. режиме (не зависает, не выключается) — значит Undervolting прошел успешно.

Далее можно снова открыть Intel XTU и поменять "-0,100V" на "-0,120V" (например). Кстати, изменять напряжение нужно небольшими шажками, и после каждого — тестировать работу устройства.

Таким образом можно найти оптимальное значение "Core Voltage Offset" (у каждого ЦП оно будет свое).

Кстати!

Как только вы уменьшите напряжение на ЦП на недопустимое значение — компьютер просто выключится или зависнет (возможно появление синего экрана). Если это произошло — значит вы достигли максимума, просто измените Core Voltage Offset на предыдущее значение (при котором все работало).

4) Следить за работой процессора (напряжение, температура, частота и пр.) удобно с помощью утилиты Hwmonitor (ссылка на офиц. сайт). Как видите на скрине ниже, она легко определила, что напряжение было снижено.

FAQ 1.5 находится ЗДЕСЬ

640x40, 6.2Kb

Текущие изменения

Содержание

  1. Характерные признаки перегрева
  2. Программные способы измерения температуры компонентов
  3. Возможные причины перегрева компонентов
  4. Методы защиты системы охлаждения от попадания пыли
  5. Очистка системы охлаждения от пыли как основной способ снижения температуры компонентов
  6. Рекомендации по чистке с разбором корпуса
  7. Приёмы нанесения термопасты
  8. Замена и модернизация термопрокадок
  9. Увеличение притока воздуха в систему охлаждения ноутбука
  10. Программные способы снижения температуры компонентов

Характерные признаки перегрева

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

400x40, 13.4Kb


Для накопителя рабочими температурами может служить диапазон температур от 30 до 50 (иногда 55-60). Дальнейший рост температуры чреват появлением битых секторов на пластинах, деформацией считывающей головки и повреждения в результате этого поверхности магнитных дисков. Обычно декларируемый температурный градиент (изменение температуры накопителя в течении часа) равен 20 градусам.
Чем дольше устройство работает в условиях температур, приближенных к граничным, тем ниже его надежность бесперебойной работы. Также чем выше влажность в помещении, тем ниже максимум температуры перегрева.
Перегрев жёсткого диска не проявляется столь явно, как перегрев CPU или GPU. Выключения ноутбука из-за перегрева жёсткого диска не произойдёт, снижение скорости вращения шпинделя не будет (частота вращения аппаратно фиксирована). Производители винчестеров применяют следующие способы борьбы с повышенной температурой (перегревом):
- автоматическая аварийная парковка головок
- снижение скорости позиционирования головок
Данные о температурах берутся с датчика, который может быть расположен как в гермоблоке, так и в достаточном отдалении от него на управляющей плате накопителя. Более того, из-за возможных ошибок в микропрограмме температура, выдаваемая в S.M.A.R.T., может быть далека от фактического значения.
Таким образом самый точный способ замера температуры накопителя - термопара, снимающая значения в центральной части гермоблока.

Программные способы измерения температуры компонентов

Возможные причины перегрева компонентов

  1. Забившиеся пылью радиаторы системы охлаждения
  2. Перекрытые вентиляционные отверстия (одеялом при работе на кровати, ковром при работе на полу и т.п.)
  3. Высохшая термопаста (и/или образовавшийся зазор между кристаллом и радиатором)
  4. Малая эффективность системы охлаждения в целом (недостаточная мощность, неудачная конструкция)
  5. Высокая температура окружающего воздуха
  6. Слишком высокая и продолжительная нагрузка на компоненты

Методы защиты системы охлаждения от попадания пыли

  • Минимизировать нахождение ноутбука на ковре, одеяле с ворсом.
  • Исключить пребывание ноутбука в запылённых помещениях. Если это условие невозможно выполнить, то хотя бы наложите на воздухозаборник фильтр. В качестве фильтра можно использовать НЕ плотный кусочек ХБ ткани (такой, чтобы сильно не ухудшить приток воздуха в систему охлаждения), приклеенный на бумажный строительный скотч, чтобы в любой момент можно было снять фильтр. Всю пыль не задержать, проникнет в корпус и другими путями, а вот крупные хлопья пыли можно попытаться придержать.)
    Примерный вид фильтра показан на фотографии ниже:

Очистка системы охлаждения от пыли как основной способ снижения температуры компонентов

Общий вид системы охлаждения ноутбука представлен на фотографии ниже

450x304, 39.1Kb

Внутреннее устройство системы охлаждения, а также принцип её работы можно узнать, посмотрев отрывок из передачи канала Discovery "Как это Устроено?"

300x241, 17.6Kb

Система охлаждения состоит из:
теплосъёмника с тепловыми трубками

500x333, 49.0Kb

трёх- или четёхпроводного внетилятора

600x376, 37.3Kb

300x83, 8.8Kb

Пыль может скапливаться как на лопастях бловера

300x203, 11.4Kb

у решётки воздухоотвода в вентиляционном коробе

300x184, 7.0Kb

    Без разбора корпуса

Преимущества: относительно безопасен даже при реализации неопытным пользователем, не влияет на гарантию, не требует особых усилий и затрат времени.
Недостатки: может быть малоэффективен, требует финансовых вложений на покупку спецсредств.
Рекомендации: следует выполнять профилактическую продувку системы охлаждения раз в 2-3 месяца.

Рекомендации по чистке без вскрытия корпуса ноутбука

  • Выключить ноутбук и отключить от него все провода
  • Перевернуть ноутбук и вынуть батарею
  • Включить пылесос на всасывание (для пробы можно выставить среднюю мощность всасывания)
  • Прислонить сопло шланга пылесоса к воздухозаборному отверстию на несколько секунд

Рекомендации по чистке с разбором корпуса

  • Берегите технику от статического напряжения
  • Не забывайте отключать адаптер и батарею от ноутбука перед разборкой
  • Исключите касания внутренних элементов материнской платы ноутбука металлическими предметами и руками
  • Не допускайте попадания термопасты на электронные элементы, находящиеся за пределами кристалла

Приёмы нанесения термопасты

Наносить термопасту следует на чистую поверхность, удалив спиртом или растворителем, если присутствуют, остатки старой термопасты (могут быть как на кристалле, так и на теплосъёмнике). Места обитания термопасты показаны на фото ниже:

400x300, 31.6Kb


При очистке рекомендуется использовать безворсовую ткань, смоченную с изопропиловом спирте.

400x300, 31.2Kb


Поверхность теплосъёмника до очистки

Очищенную поверхность следует поддерживать в чистоте до нанесения термопасты. Контакт с выделениями кожи может ухудшить теплопроводность соединения.

Термопаста необходима для заполнения микронеровностей между поверхностью теплосъёмника и кристаллом. Т.к. она имеет куда меньшую теплопроводность, чем медный теплосъёмник, наносить её следует тонким слоем.
Часто встречаются рекомендации, в которых предлагается наносить термопасту только на поверхность теплосъёмника, оставляя поверхность кристалла процессора (видеопроцессора, чипсета, моста) чистой. Нередко на теплосъёмнике имеются риски, обозначающие границы места контакта с поверхностью кристалла.


Нанесение термопасты

После нанесения термопасту следует распределить, как уже говорилось, тонким слоем по рабочей поверхности. Можно использовать удобное Вам подручное средство. Большинство пользуется пластиковыми карточками. (Но иногда удобнее наносить термопасту прямо на кристалл).


Распределение термопасты

Излишки термопасты можно удалить из-за пределов обозначенной рисками области

400x300, 33.1Kb


Радиатор с нанесённой термопастой

Напоследок, винты крепления радиатора следует закручивать по диагонали, попеременно подтягивая сначала винт с одной, затем и с другой стороны, не допуская перекоса. Иногда на теплосъёмнике возле винтов нанесены цифры, обозначающие порядок их завинчивания.

400x174, 14.9Kb

Замена и модернизация термопрокадок

Чаще всего термопрокладки встречаются на греющихся элементах видеокарты (видеопроцессоре и модулях видеопамяти), куда реже попадаются на процессоре (в основном в нетбуках).

    Матерчатые - сетчатый, похожий на бинт, материал, как основа густого состава

Довольно часто опытные пользователи и мастера сервисных центров (в процессе ремонта видеокарты) заменяют мягкие термопрокладки на медные пластинки равной толщины. Их можно понять, ведь помимо невысокой теплопроводности, термопрокладки могут быть к тому же "аккуратно" наклеены.

384x156, 32.6Kb

150x98, 5.9Kb

В качестве примера можно рассмотреть фото материнской платы с установленной на место термопрокладок медной пластиной

фото подготовлено пользователем mask89

Одним из плюсов термопрокладок является то, что зазор между поверхностями теплосъёмника и кристалла может иметь различную разнотолщинность по своей площади.

Термопрокладки не стоит мазать термопастой т.к. это может служить лишь ухудшением их теплопроводности.

Внимание: графитовые прокладки неплохо проводят электрический ток.

В продаже термопрокладки попадаются редко, продаются в виде лоскутков размерами 100х100 мм, 50х50 мм и т.п., полосочек (иногда смотанных в рулон) шириной 10-20 мм. Из широких термопрокладок впоследствии можно вырезать нужный по размерам прежней прокладки кусочек. Толщина термопрокладок может быть как 0.5 мм, так и 1 мм и 1.5 мм (и даже толще).

Наглядное сравнение популярных термоинтерфейсов

Обратите внимание на то, какой теплопроводностью обладает воздух, медный теплосъёмник и сама термопаста.

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

Ниже представлены фотографии испорченной матерчатой термопрокладки. На фотографиях также отмечен матерчатый корд прокладки.

749x188, 56.5Kb

Увеличение притока воздуха в систему охлаждения ноутбука

  • Использование охлаждающей подставки (самодельные подставки, подставки с активным охлаждением)
  • Организация принудительного притока свежего воздуха извне
    Возможные варианты:
    • Монтирование вентилятора снизу воздухозаборников ноутбука. Выглядит примерно так

    152x95, 2.8Kb
    152x95, 3.8Kb

    Что такое TDP у процессора и видеокарты?

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

    Абревиатура TDP (Thermal Design Power) обозначает конструктивные требования по теплоотводу или просто требования по теплоотводу для системы охлаждения. Если проще, TDP служит ориентиром для выбора системы охлаждения и отображает количество тепла, выделяемое устройством во время среднестатистической нагрузки. Значение TDP выражается в ватах, и вот тут зачастую возникает путаница между TDP и энергопотреблением.


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

    Разберем подробнее, что же означает TDP

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

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

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

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

    Заявленный TDP не отображает энергопотребление и производительность

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

    Например, процессор потребляет 100 Вт с максимальной рабочей температурой до 95°С, у другого процессора такое же потребление, но его максимальная рабочая температура составляет всего 75 °С. Очевидно, что для процессора 2 потребуется более мощная система охлаждения, соответственно, производитель укажет более высокий TDP, при этом уровень энергопотребления будет одинаковым.

    Зачастую требования по теплоотводу заявляются даже для целого семейства процессоров.

    Например, Intel для Core i9 10900K, Core i7 10700K и Core i5 10600K для всех трех моделей указывает TDP 125 Вт, в то время как рассеивать тепла системе охлаждения с младшими моделями придется значительно меньше.


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

    Помимо этого, процессоры Intel Core i9 10900K с заявленным TDP 125 Вт могут легко потреблять во время работы 200, а то и все 250 Вт.

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


    Компания AMD так же указывает одно значение TDP для продуктов с разным уровнем производительности.

    Например, Ryzen 3700X имеет TDP 65 Вт, в то время как младшая модель Ryzen 3600 имеет точно такое же TDP, а модель 3600X и вовсе 95 Вт.


    Энергопотрбеление процессоров AMD так же сильно далеко от максимального значения TDP указанного производителем, при работе процессор Ryzen 2700X без каких-либо манипуляций с Bios может легко потреблять 160–170 Вт энергии при Max TDP 105 Вт.


    И только при отключении в Bios «Precision Boost Overdrive» энергопотребление начинает соответствовать значению TDP, но это уже не работа по умолчанию.

    TDP и разгон

    Во время разгона компонентов, будь то процессор или видеокарта, увеличивается их энергопотребление и, следовательно, увеличивается требование к системе охлаждения (TDP). Рост энергопотребления во время разгона может достигать 30, а то и 50% от базовых значений, соответственно и требования по охлаждению вырастут пропорционально.

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

    Например, процессор Ryzen 2700X в стоке потребляет 140 Вт и работает на частоте 4000 МГц при прохождении бенчмарка Cinebench R20. Во время ручного разгона процессор так же работает на частоте 4000 МГц, но потребляет всего 115 Вт. Результат производительности в обоих случаях идентичный.

    AMD Ryzen 7 2700X Default

    AMD Ryzen 7 2700X Overclocking


    TDP у видеокарты

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

    Выводы

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

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

    TDP заявлен один, энергопотребление — совершенно другое, а брать систему охлаждения нужно с запасом на 50% от заявленного TDP.

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


    Как центральный процессор может сокращать собственное энергопотребление? Основы этого процесса — в статье.

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

    Если вы знаете про C-состояния (C-states), P-состояния (P-states) и то, как процессор переходит между ними, то, возможно, в этой статье вы не увидите ничего нового. Если это не так, продолжайте читать.

    Я планировал добавить реальные примеры из ОС Linux, но статья становилась все больше, так что я решил приберечь это для следующей статьи.

    Основные источники информации, использованные в этом тексте:

    Особенности CPU

    Согласно официальной странице продукта, мой процессор поддерживает следующие технологии:

    • состояния простоя (Idle States);
    • усовершенствованная технология Intel® SpeedStep (Enhanced Intel® SpeedStep Technology).

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

    Как снизить энергопотребление процессора во время его работы?

    На процессорах для массового использования (мы не берем в расчет вещи, которые возможны при их проектировании) для снижения потребляемой энергии можно реализовать один из сценариев:

    • Сократить энергопотребление подсистемы (ядра или другого ресурса, такого как тактовый генератор или кэш) путем отключения питания (уменьшив напряжение до нуля).
    • Снизить энергопотребление путем снижения напряжения и/или таковой частоты подсистемы и/или целого процессора.

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


    Примечание для тех, кто разбирается в цифровой электронике: Pcpu = Pdynamic + Pshort circuit + Pleak. При работающем процессоре Pdynamic является наиболее важной составляющей, именно эта часть зависит линейно от частоты и квадратично от напряжения. Pshort circuit пропорционально частоте, а Pleak — напряжению.

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

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

    Каков предел энергопотребления процессора?

    Это во многом зависит от процессора, но для процессора E3-1245 v5 @ 3.50 ГГц расчетная тепловая мощность (Thermal Design Power, TDP) составляет 80 ватт. Это среднее значение, которое процессор может выдерживать бесконечно долго (Power Limit, PL1 на изображении ниже). Системы охлаждения должны быть рассчитаны на это значение, чтобы быть надежными. Фактическое энергопотребление процессора может быть выше в течение короткого промежутка времени (состояния PL2, PL3, PL4 на изображении ниже). TDP измеряется при нагрузке высокой вычислительной сложности (худший случай), когда все ядра работают на базовой частоте (3.5 ГГц).


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

    Состояния питания (C-states) vs состояния производительности (P-states)

    Состояния питания (C-states) vs состояния производительности (P-states)
    Вот два способа снизить энергопотребление процессора:

    • отключить некоторые подсистемы;
    • снизить напряжение/частоту.

    P-состояния описывают второй случай. Подсистемы процессора работают, но не требуют максимальной производительности, поэтому напряжение и/или тактовая частота для этой подсистемы может быть снижена. Таким образом, P-состояния, P[X], обозначают, что некоторая подсистема (например, ядро), работает на заданной паре (частота, напряжение).

    Так как большинство современных процессоров состоит из нескольких ядер, то С-состояния разделены на С-состояния ядра (Core C-states, CC-states) и на С-состояния процессора (Package C-states, PC-states). Причина появления PC-состояний очень проста. Существуют компоненты с общим доступом (например, общий кэш), которые могут быть отключены только после отключения всех ядер, имеющих доступ к этому компоненту. Однако мы в роли пользователя или программиста не можем взаимодействовать с состояниями пакета напрямую, но можем управлять состояниями отдельных ядер. Таким образом, управляя CC-состояниями, мы косвенно управляем и PC-состояниями.

    Состояния нумеруются от нуля по возрастанию, то есть C0, C1… и P0, P1… Большее число обозначает большее энергосбережение. C0 означает, что все компоненты включены. P0 означает максимальную производительность, то есть максимальные тактовую частоту, напряжение и энергопотребление.

    С-состояния

    Вот базовые С-состояния (определенные в стандарте ACPI).

    • C0: Active, процессор/ядро выполняет инструкции. Здесь применяются P-состояния, процессор/ядро могут работать в режиме максимальной производительности (P0) или в режиме энергосбережения (в состоянии, отличном от P0).
    • C1: Halt, процессор не выполняет инструкций, но может мгновенно вернуться в состояние С0. Поскольку процессор не работает, то P-состояния не актуальны для состояний, отличных от С0.
    • C2: Stop-Clock, схож с C1, но требует больше времени для возврата в C0.
    • С3: Sleep. Возврат в C0 требует ощутимо большего времени.

    Примечание: Из-за технологии Intel® Hyper-Threading существуют также С-состояния потоков. Хотя отдельный поток может работать с С-состояниями, изменения в энергопотреблении происходят, только когда ядро входит в нужное состояние. В данной статье тема C-состояний на потоках рассматриваться не будет.

    Вот описание состояний из даташита:


    Примечание: LLC обозначает Last Level Cache, кэш последнего уровня и обозначает общий L3 кэш процессора.

    Визуальное представление состояний:


    Источник: Software Impact to Platform Energy-Efficiency White Paper

    Последовательность C-состояний простыми словами:

    • Нормальная работа при C0.
    • Сначала останавливается тактовый генератор простаивающего ядра (С1).
    • Затем локальные кэши ядра (L1/L2) сбрасываются и снимается напряжение с ядра (С3).
    • Как только все ядра отключены, общий кэш (L3/LLC) ядер сбрасывается и процессор (почти) полностью может быть обесточен. Я говорю «почти», потому что, по моим предположениям, какая-то часть должна быть активна, чтобы вернуть процессор в состояние С0.


    Однако если ядро работает (C0), то единственное состояние, в котором может находиться процессор, — C0. С другой стороны, если ядро полностью выключено (C8), процессор может находиться в C0, если другое ядро работает.

    Примечание: Intel Software Developer’s Manual упоминает про суб-C-состояния (sub C-state). Каждое С-состояние состоит из нескольких суб-С-состояний. После изучения исходного кода модуля ядра intel_idle я понял, что состояния C1 и C1E являются состоянием С1 с подтипом 0 и 1 соответственно.

    Число подтипов для каждого из восьми С-состояний (0..7) определяется с помощью инструкции CPUID. Для моего процессора утилита cpuid выводит следующую информацию:

    Я создал гистограмму, представленную ниже, из исходного кода драйвера intel_idle для моего процессора (модель 0x5e). Подписи горизонтальной оси:

    Имя C-состояния: специфичное для процессора состояние: специфичное суб-состояние.

    Вертикальная ось обозначает задержку выхода и целевые резидентные значения из исходного кода. Задержка выхода используется для оценки влияния данного состояния в реальном времени (то есть сколько времени потребуется для возвращения в С0 из этого состояния). Целевое резидентное значение обозначает минимальное время, которое ядро должно находиться в данном состоянии, чтобы оправдать энергетические затраты на переход в это состояние и обратно. Обратите внимание на логарифмический масштаб вертикальной оси. Задержки и минимальное время нахождения в состоянии увеличивается экспоненциально с увеличением номера состояния.


    Константы задержок выхода и целевых резидентных значении C-состояний в исходном коде intel_idle
    Примечание: Хотя состояния С9 и С10 включены в таблицу, они имеют 0 суб-состояний и поэтому не используются в моем процессоре. Остальные процессоры из семейства могут поддерживать эти состояния.

    Состояния питания ACPI

    Прежде чем говорить про P-состояния, стоит упомянуть про состояния питания ACPI. Это то, что мы, пользователи, знаем, когда используем компьютер. Так называемые глобальные системные состояния (G[Х]) перечислены в таблице ниже.


    Источник: ACPI Specification v6.2
    Также существует специальное глобальное состояние G1/S4, Non-Volatile Sleep, когда состояние системы сохраняется на энергонезависимое хранилище (например, диск) и затем производится выключение. Это позволяет достичь минимального энергопотребления, как в состоянии Soft Off, но возвращение в состояние G0 возможно без перезагрузки. Оно более известно как гибернация.

    Существует несколько состояний сна (Sx). Всего таких состояний шесть, включая S0 — отсутствие сна. Состояния S1-S4 используются в G1, а S5, Soft Off, используется в G2. Краткий обзор:

    • G0/S0: Компьютер работает, не спит.
    • G1: Sleeping.
      • G1/S1: Power on Suspend. Состояние системы сохраняется, питание процессора и кэшей поддерживается.
      • G1/S2: Процессор отключен, кэши сброшены.
      • G1/S3: Standby или Suspend to RAM (STR). Оперативная память остается практически единственным компонентом с питанием.
      • G1/S4: Hibernation или Suspend to Disk. Все сохраняется в энергонезависимую память, все системы обесточиваются.


      Вот поддерживаемые состояния ACPI.


      Комбинации состояний ACPI G/S и С-состояний процессора

      Приятно видеть все комбинации в таблице:


      В состоянии G0/S0/C8 системы процессора запущены, но все ядра отключены.

      В G1 (S3 или S4) некорректно говорить про С-состояния (это касается как CC-состояний, так и PC-состояний), так как процессор полностью обесточен.

      Для G3 не существует S-состояний. Система не спит, она физически отключена и не может проснуться. Ей необходимо сначала получить питание.

      Как программно запросить переход в энергосберегающее С-состояние?

      Современный (но не единственный) способ запросить переход в энергосберегающее состояние — это использовать инструкцию MWAIT или инструкцию HLT. Это инструкции привилегированного уровня, и они не могут быть выполнены пользовательскими программами.

      Инструкция MWAIT (Monitor Wait) заставляет процессор перейти в оптимизированное состояние (C-состояние) до тех пор, пока по указанному (с помощью другой инструкции, MONITOR) адресу не будет произведена запись. Для управления питанием MWAIT работает с регистром EAX. Биты 4-7 используются для указания целевого С-состояния, а биты 0-3 указывают суб-состояние.

      Примечание: Я думаю, что на данный момент только AMD обладает инструкциями MONITORX/MWAITX, которые, помимо мониторинга записи по адресу, работают с таймером. Это еще называется Timed MWAIT.

      Инструкция HLT (halt) останавливает выполнение, и ядро переходит в состояние HALT до тех пор, пока не произойдет прерывание. Это означает, что ядро переходит в состояние C1 или C1E.

      Что вынуждает ядро входить в определенное С-состояние?

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

      Возможно ли отключить С-состояния (всегда использовать С0)?

      Это возможно, но не рекомендуется. В даташите (секция 4.2.2, страница 64) есть примечание: «Долгосрочная надежность не гарантируется, если все энергосберегающие состояния простоя не включены». Поэтому вам не стоит отключать С-состояния.

      Как прерывания влияют на процессор\ядро в состоянии сна?

      Когда происходит прерывание, соответствующее ядро пробуждается и переходит в состояние С0. Однако, например Intel® Xeon® E3-1200 v5, поддерживает технологию Power Aware Interrupt Routing (PAIR), у которой есть два достоинства:

      • для энергосбережения прерывание может быть переадресовано работающему ядру, чтобы не будить спящее ядро;
      • для производительности прерывание может быть переадресовано от работающего на полную мощность ядра к простаивающему (С1) ядру.

      P-состояния

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

      Процессор Intel® Xeon® E3–1200 v5 позволяет контролировать P-состояния из операционной системы (Intel® SpeedStep Technology) или оставить это оборудованию (Intel® Speed Shift Technology). Вся информация ниже специфична для семейства Intel® Xeon® E3-1200 v5, но я полагаю, это в той или иной степени актуально и для других современных процессоров.

      P-состояния, управляемые операционной системой

      В этом случае операционная система знает о P-состояниях и конкретном состоянии, запрошенным ОС. Проще говоря, операционная система выбирает рабочую частоту, а напряжение подбирается процессором в зависимости от частоты и других факторов. После того, как P-состояние запрошено записью в моделезависимый регистр (подразумевается запись 16 бит в регистр IA32_PERF_CTL), напряжение изменяется до автоматически вычисленного значения и тактовый генератор переключается на заданную частоту. Все ядра имеют одно общее P-состояние, поэтому невозможно установить P-состояние эксклюзивно для одного ядра. Текущее P-состояние (рабочий режим) можно узнать, прочитав информацию из другого моделезависимого регистра — IA32_PERF_STATUS.

      Смена P-состояния мгновенна, поэтому в секунду можно выполнять множество переходов. Это отличает от переходов C, которые выполняются дольше и требуют энергетических затрат.

      P-состояния, управляемые оборудованием

      В этом случае ОС знает об аппаратной поддержке P-состояний и отправляет запросы с указанием нагрузки. В запросах не указывается конкретное P-состояние или частота. На основе информации от ОС, а также других факторов и ограничений оборудование выбирает подходящее P-состояние.

      Я хочу рассказать об этом подробнее в следующей статье, но сейчас я поделюсь с вами своими мыслями. Мой домашний компьютер работает в этом режиме, я узнал это, проверив IA32_PM_ENABLE. Максимальный (но не гарантированный) уровень производительности — 39, минимальный — 1. Можно предположить, что существует 39 P-состояний. На данный момент уровень 39 установлен ОС как минимальный и как максимальный, потому что я отключил динамическое изменение частоты процессора в ядре.

      Заметки про Intel® Turbo Boost

      Поскольку TDP (расчетная тепловая мощность) — это максимальная мощность, которую процессор может выдержать, то процессор может повышать свою частоту выше базовой, при условии что энергопотребление не превысит TDP. Технология Turbo Boost может временно повышать энергопотребление до границы PL2 (Power Limit 2) на короткий промежуток времени. Поведение Turbo Boost может быть изменено через подсказки оборудованию.

      Применима ли эта информация о C-состояниях и P-состояниях к мобильным и встраиваемым процессорам?

      Для примера, недавний MacBook Air с процессором i5-5350U в основном поддерживает возможности, описанные выше (но я не уверен про P-состояния, контролируемые оборудованием). Я также смотрел документацию ARM Cortex-A, и, хотя там применяются другие термины, механизмы управления питанием выглядят похоже.

      Как это все работает, например, на Linux?

      На этот вопрос я отвечу в другой статье.

      Как я могу узнать состояние процессора?

      Существует не так много приложений, которые могут выводить эту информацию. Но вы можете использовать, например, CoreFreq.

      В своем блоге "Мои впечатления от смены Core i5-3570 на Ryzen 5 1600 без замены видеокарты (GeForce GTX 1060)" я писал, что одна особенность Ryzen 5 1600 мне не понравилась, а именно - энергопотребление, не вписывающееся в заявленные 65 ватт. Шутка ли, в умеренном по нагрузке тесте AIDA64 FPU Ryzen 5 1600 потребляет 73 ватта, а в более серьезном тесте OCCT - до 90 ватт.

      реклама


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

      Почему это может не подойти для Zen 2

      MSI RTX 3070 сливают дешевле любой другой, это за копейки Дешевая 3070 Gigabyte Gaming - успей пока не началось

      Сразу хочу предупредить обладателей процессоров Ryzen с архитектурой Zen 2 (Ryzen 5 3600 и т.д.), для вас этот метод может не подойти. Не потому, что процессоры Zen 2 чем-то плохи. Просто процессоры на глазах становятся все сложнее и на примере Zen 2 мы видим, что производитель смог по максимуму выжать из чипов не только разгонный потенциал, но и возможности снижения энергопотребления.

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

      реклама

      var firedYa28 = false; window.addEventListener('load', () => < if(navigator.userAgent.indexOf("Chrome-Lighthouse") < window.yaContextCb.push(()=>< Ya.Context.AdvManager.render(< renderTo: 'yandex_rtb_R-A-630193-28', blockId: 'R-A-630193-28' >) >) >, 3000); > > >);

      Однако, комьюнити пользователей процессоров Ryzen не сидит сложа руки и постоянно что-то улучшает своими силами. Например, пользователь нашей конференции 1usmus смог создать профиль энергосбережения для Zen 2, дающий более высокие частоты под нагрузкой.

      Подготовка и программные инструменты


      реклама

      Однако, перейдем поскорее к делу. Нам понадобятся следующие инструменты: HWiNFO64 для мониторинга частот, напряжений, температур и энергопотребления нашего Ryzen. На сегодняшний день это самая продвинутая и точная программа мониторинга.

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

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

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

      Тестирование процессора в номинальном режиме

      реклама

      Для начала надо протестировать процессор в номинальном режиме, и записать результаты. Желательно дополнительно сделать скриншоты.
      Вот что получилось у меня с Ryzen 5 1600 AF (аббревиатура AF означает процессор на архитектуре Zen+, мало чем отличающийся от Ryzen 5 2600).

      Чтобы исключить влияние Load-Line Calibration я выбрал такой его уровень, который дает минимальный разброс напряжений под нагрузкой. Для материнской платы MSI B450-A PRO MAX уровень LLC составил 4. Также я зафиксировал напряжение vSOC на 1.0125 В, а CLDO_VDDP на 0.7 В.

      В тесте AIDA64 процессор потребляет около 75 ватт, частота держится на 3600 МГц, напряжение примерно 1.1 В.

      Энергопотребление процессора я буду смотреть по параметрам CPU Package Power (SMU) и Core+SoC Power (SVI2 TFN). На форумах ведутся споры, какой из этих параметров точнее показывает потребление процессора, я же буду ориентироваться на максимальный показатель.



      В тесте OCCT процессор потребляет около 84 ватта, частота держится на 3600 МГц, напряжение примерно 1.1 В



      Производительность процессора в Cinebench R20 составила 2726 pts.


      Снижаем рабочее напряжение процессора VCORE

      Ну что же, все параметры записаны и сняты на скриншоты, теперь пора приступать к снижению энергопотребления нашего Ryzen через уменьшение напряжения. Скорее всего, вам удастся снизить напряжение в пределах 0.1 В.

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

      В BIOS вашей материнской платы нужно найти параметр напряжение CPU и через параметр Offset с отрицательным значением "-", начать постепенно уменьшать его.


      Я уже упомянул, что при снижении напряжения будут очень важны промежуточные состояния вашей системы. Сейчас объясню на примере.

      Убавив напряжение на процессоре на 0.15 В, я долго тестировал компьютер в AIDA64 и OCCT и он был абсолютно стабилен. Однако, через день он завис на рабочем столе. Напряжения для одного из промежуточных состояний "частота-напряжение" не хватило. Я чуть уменьшил снижаемое напряжение до 0.1375 В и снова оставил компьютер тестироваться. Но опять получил зависание в простое.
      И только снижение на 0.125 В стало стабильным в течение многих дней.

      И вот какие результаты дало такое снижение.

      В тесте AIDA64 процессор потребляет около 60 ватт, частота держится на 3600 МГц, напряжение примерно 0.988 В. Разница по потреблению со "стоковым" состоянием составила 15 ватт или 20%.

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



      В тесте OCCT процессор потребляет около 79 ватт, частота держится на 3600 МГц, напряжение примерно 0.994 В. Разница по потреблению со "стоковым" состоянием составила 5 ватт или 6%.

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



      Производительность процессора в Cinebench R20 составила 2764 pts. Немного подросла.


      Итоги

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

      Только с таким понижением напряжения мой Ryzen 5 1600 стал укладываться в паспортные 60 ватт. Снизилась температура и шум от кулера. Для эксплуатации без разгона это самый оптимальный режим.

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

      Читайте также: