Как понизить 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)
Вот два способа снизить энергопотребление процессора:

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

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: «Состояния C0..C7 для расширения MWAIT — это специфичные для процессора C-состояния, а не ACPI C-состояния». Поэтому не путайте эти состояния с ACPI C-состояниями, они явно связаны и между ними есть соответствие, но это не одно и то же.

Я создал гистограмму, представленную ниже, из исходного кода драйвера 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 ядро входит при загрузке, когда происходит прерывание, или после записи по адресу памяти, который отслеживается инструкцией MWAIT.
    • Состояния C1/C1E достижимы с помощью инструкций HLT и MWAIT.
    • Войти в состояние С3 можно с помощью инструкции MWAIT. Затем кэши L1 и L2 сбрасываются в кэш верхнего уровня (LLC), и все тактовые генераторы процессора останавливаются. Тем не менее, ядро сохраняет свое состояние, так как не обесточено.
    • Вход в состояние С6 возможен через инструкцию MWAIT. Ядро сохраняет состояние на выделенную SRAM и напряжение на ядре снижается до нуля. В этом состоянии ядро обесточено. При выходе из C6 состояние ядра восстанавливается из SRAM.
    • Для C7 и C8 аналогично C6.

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

    Возможно ли отключить С-состояния (всегда использовать С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.

    Как понизить tdp процессора

    лайфхак:
    в винде — панель управдения > электропитание.
    Ставим допустим 60% максималку и радуемся, если проканает )) спойлер Зображення

    • Профіль
    • Цитата
    • Профіль
    • Цитата
    • Профіль
    • Цитата
    • Профіль
    • Цитата
    • Профіль
    • Цитата

    taxi911
    «Проц уже работает на полную мощность, которая составляет 54 Ватта по расчетам Интел» сомнительная цифра насчет 54 ватт. Поэтому оставьте 30Вт в long duration power limit и используйте пассив в охлаждении. Нет смысла гоняться за 10Вт, в синолоджи у Вас процессор не работает постоянно на максимуме.

    Отправлено спустя 45 минут 43 секунды:
    Точнее он работает на заявленной частоте (у Вас 3,3ГГц), только загрузка естественно не постоянная.

    Как понизить tdp процессора

    snizhaem-temperatura-cpuДоброго времени суток!

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

    👉 В помощь!

    Греется ноутбук: что делать? Температура все время высокая: 85°C+ — https://ocomp.info/greetsya-noutbuk.html

    Полный гайд по Throttlestop: андервольтинг, повер-лимиты, полное описание интерфейса и настроек

    Throttlestop — небольшая, но очень полезная утилита, с помощью которой можно регулировать вольтаж компонентов процессора, редактировать лимиты энергопотребления, отслеживать и устранять причины падения производительности. Программа особенно актуальна для ноутбуков, так как может заметно уменьшить нагрев процессора, предотвратить троттлинг и увеличить время жизни от батареи. Можно использовать Throttlestop и на ПК для андервольтинга и тонкой настройки производительности.

    Создатель утилиты — Kevin “UncleWebb” Glynn. Скачать Throttlestop можно с официальной страницы на портале techpowerup. Версию 9.5 (последнюю актуальную на момент написания этого материала) можно скачать прямо здесь.

      ThrottleStop_9.5
      Размер файла: 2 MB Кол-во скачиваний: 167

    Системные требования

    Программа работает с Windows 7, 8, 10 и 11.

    Утилита поддерживает только процессоры Intel. Версия 9.5 совместима с большинством мобильных и десктопных моделей начиная с Core2Duo и вплоть до Core i 12 поколения (Adler Lake). Большая часть функционала будет работать и на 13 поколении (Raptor Lake).

    Установка и первый запуск

    Если до ThrottleStop вы пользовались Intel XTU, то для корректной работы его нужно удалить и перезагрузить систему. Также работе программы могут помешать различные системные утилиты от производителей ноутбуков, позволяющие регулировать параметры электропитания и производительности (Asus Armoury crate и подобные).

    Могут возникнуть проблемы и при включенной виртуализации. Отключить её можно как в bios, так и в Windows. О том, как отключить данный функционал в Win11 можно узнать здесь.

    Распаковываем архив с программой в удобное нам место и запускаем ThrottleStop.exe

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

    throttlestop_warning

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

    Если программа сообщает, что не может быть запущена, поскольку файл с именем «MFC120u.dll» не найден — установите Visual C++ 2013 Redistributable Package.

    Интерфейс и настройки Throttlestop

    Под спойлером — подробное описание интерфейса и настроек программы.

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

    Если вы когда-нибудь захотите вернуться к своим первоначальным настройкам для устранения неполадок или в целях сравнительного анализа, просто перейдите в папку ThrottleStop, найдите файл «ThrottleStop.ini», переименуйте или удалите его, а затем выключите компьютер. Это очистит любые настройки или регистры, установленные программой.

    Основное окно

    throttlestop_main

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

    Левая часть

    В самом верху находятся 4 предустановленных режима:

    throttlestop_4

    • Performance. Производительность.
    • Game. Игровой режим.
    • Internet. Для серфинга интернета.
    • Battery. Энергосберегающий режим.

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

    Hight Performance

    win_power_mode

    Переключает схему управления питанием Windows в режим «Высокая производительность». Кроме производительного, можно выбрать любой наиболее подходящий режим: сбалансированный или энергосберегающий.

    Clock Mode

    clock_mode-1

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

    Для активации должна быть нажата кнопка «Turn On».

    Set Multiplier

    set_multiplier-1

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

    Для активации должна быть нажата кнопка «Turn On».

    Speed Shift EPP

    speed_shift

    Speed Shift — технология, используемая Intel для быстрого изменения тактовой частоты процессора в зависимости от нагрузки. Появилась в процессорах 6 поколения (SkyLake) и пришла не замену старой системе контроля частоты SpeedStep.

    Speed ​​Shift позволяет процессору оперативнее реагировать на запросы, а значит добиваться максимальной производительности и энергоэффективности. Если ваш процессор 6 поколения и выше — лучше отдать предпочтение Speed Shift и снять галочку с SpeedStep.

    Speed Shift EPP может принимать значения от 0 до 255, где 0 — максимальное быстродействие, а 255 — максимальное энергосбережение.

    Обычно оптимальные значения данного параметра подбираются индивидуально в зависимости от характера задач и требуемой производительности. Для стационарных ПК и ноутбуков в режиме работы от сети можно выставлять значения от 0 до 80, для ноутбуков в режиме работы от батареи подойдут значения от 128 и выше.

    Наибольшее влияние данный параметр оказывает на процессоры 12 и 13 поколения, обладающие E- и P-ядрами. Для подобных CPU высокие значения будут указывать процессору использовать E-ядра, а низкие — P-ядра.

    Операционные системы, начиная с Win10, сами могут регулировать данный параметр в зависимости от установленной схемы управления питанием. Установка значений Speed Shift EPP в ThrottleStop будет иметь приоритет перед системными настройками, однако можно ничего не менять и довериться ОС.

    Обратите внимание — при активном Speed Shift EPP должна загореться зеленая надпись «SST». Если этого не произошло, но ваш процессор точно поддерживает технологию — перейдите в модуль TPL и установите галочку «Speed Shift».

    Power Saver

    power_saver

    Данная функция становится активной только при выключенном Turbo-boost. При активации заставляет процессор сбрасывать частоты до минимальных в простое. Работает с процессорами Core2Duo и старше, с современными моделями данный функционал как правило не используется.

    Stop Data

    stop_data-1

    Прекращает регистрацию данных и их обновление в таблице в правой части основного окна программы.

    Disable Turbo

    disable_turbo

    Отключает Turbo-boost. После включения данной опции частота не будет повышаться выше стокового значения. Уменьшает энергопотребление и тепловыделение, но уменьшает производительность.

    Speed Step

    speed_step

    Система контроля частоты, использовавшаяся в процессорах старее, чем Skylake (6 поколение). Уступает в эффективности Speed Shift, поэтому для камней 6 поколения и новее лучше отключить Speed Step и включить Speed Shift.

    BD PROCHOT

    bd_prochot

    Механизм защиты от перегрева. По достижению указанной температуры (по умолчанию 98 градусов) процессор начнет сбрасывать частоту (тротлить) чтобы не допустить перегрева.

    Данное значение можно уменьшить, отредактировав параметр BD Prochot offset в опциях программы. Если отключить BD Prochot — тротлинг начнется при температуре, заложенной производителем (по умолчанию 100°C).

    C1E

    c1e

     

    Функционал, отвечающий за снижение частоты в простое, а также понижение напряжения и отключение некоторых функций (зависит от поколения процессора).

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

    Для ноутбуков отключать C1E крайне не рекомендуется.

    Task Bar

    task_bar

    Если установить этот флажок, ThrottleStop не будет сворачиваться в область уведомлений, а останется на панели задач.

    On TOP

    on_top

    Отображает программу поверх любых других окон.

    Log File

    log_file

    Создает текстовый файл в папке «Logs», в который пишется информация о нагрузке, температуре, вольтаже и энергопотреблении процессора.

    More Data

    more_data

    При активации данные будут регистрироваться восемь раз в секунду вместо одного раза в секунду.

    Save

    throttlestop_save

    Сохраняет все внесённые настройки в текущий профиль.

    Options

    throttlestop_options-1

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

    Turn On / Turn OFF

    throttlestop_turn_on

    Включает\отключает работу настроек «Clock Mod» и «Set Multiplier».

    Правая часть

    Таблица

    table

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

    Каждая строка таблицы представляет один поток или ядро (для моделей без Hyper-Threading либо когда он отключен).

    • FID. Frequency ID — идентификатор частоты/тактовый множитель.
    • С0%. Процент времени, в течение которого поток\ядро ЦП находится в состоянии максимальной производительности (C0).
    • MOD. Относится к параметру «Clock Mod». По умолчанию равно 100.0.
    • °C. Текущее показание температуры данного ядра\потока.
    • Max. Самое высокое значение температуры, зафиксированное на данном ядре\потоке.

    PKG Power

    pkg-power

    Текущее и максимальное зафиксированное энергопотребление процессора.

    Limits

    throttlestop_limits

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

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

    Кнопка «Clear» очистит таблицу.

    Модуль FIVR

    throttlestop_fivr_default

    FIVR — Fully Integrated Voltage Regulator (Полностью интегрированный регулятор напряжения). Именно в этом модуле можно понизить напряжение процессора, что может заметно снизить как нагрев, так и энергопотребление. О том, как именно произвести андервольт, мы поговорим отдельно ниже.

    Основные элементы управления в данном модуле:

    throttlestop_fivr_1

    В левом верхнем углу можно выбрать необходимый профиль. Чуть ниже можно настроить частоту при использовании определенного количества ядер.

    throttlestop_fivr_2

    Выбор компонента CPU, для которого будет производиться андервольт и ползунок регулировки напряжения

    throttlestop_fivr_3

    Таблица с актуальными на данный момент напряжениями и блок опций

    AVX Offset — уменьшает множитель, на заданное значение при задействии AVX-инструкций. Если установить avx offset равным 5, то при работе приложений, использующих AVX, частота процессора уменьшиться на 500 Мгц (5*значение шины, которое обычно равно 100 Мгц).

    Thermal Velocity Boost — технология, разработанная Intel , которая пытается обеспечить временное повышение производительности поверх технологии Turbo Boost. Появилась в мобильных процессорах начиная с архитектуры Coffee Lake H (8 поколение) и в десктопных начиная с Coffee Lake R (9 поколение). Суть работы заключается в дополнительном увеличении частоты, при условии наличия запаса мощности и не превышении определенной температуры (зависит от модели CPU).

    Ring Down Bin — при включении будет удерживать множитель кэша на 3 меньше множителя ядер (например частота кэша будет 4200 МГц при ядрах 4500 Мгц). Может улучшить стабильность для некоторых моделей CPU.

    V-max Stress — при включении не позволит напряжению процессора превысить 1.52 вольта.

    Модуль TPL

    throttlestop_tpl

    Один из наиболее важных модулей. Здесь можно настроить лимиты PL1 и PL2, а также включить режим Speed ​​Shift для поддерживаемых процессорах (SkyLake и новее), если он не поддерживается биосом. О редактировании повер-лимитов будет сказано отдельно чуть ниже.

    Визуально модуль разделен на 4 зоны.

    throttlestop_tpl1

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

    Следующая зона показывает текущие значения PL1 и PL2, относящиеся к двум регистрам: MSR и MMIO.

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

    Третья зона — настройки повер-лимитов. Снятие галочки с «Disable Controls» позволит нам редактировать их. Флажок «Sinc MMIO» лучше включить, чтобы синхронизировать регистры. В противном случае приоритет будет иметь только один из них (как правило тот, у которого значения ниже). Включенный флажок «Clamp» позволит процессору сбрасывать частоту ниже стоковой для того, чтобы уложиться в установленный лимит.

    И наконец последняя зона — дополнительные настройки.

    Speed Shift — включает поддержку технологии быстрого изменения тактовой частоты для поддерживаемых процессоров (от 6 поколения и выше), в случае если она отключена или не поддерживается биосом устройства (этим страдают например Dell XPS 9550 и 9560). Установка данного флажка помогает гарантировать, что Speed ​​Shift всегда будет включен, а его минимальные и максимальные значения всегда будут установлены так, как вы хотите.

    Power Limit 4 — еще один повер-лимит. Поскольку остальных лимитов уже и так более, чем достаточно для регулирования мощности процессора, просто устанавливаем значение 0 и забываем про него.

    TDP Level, Power Balance и PP0 Turbo Limit (Time) — оставляем как есть. Данные опции использовать не нужно по заверениям самого автора утилиты.

    throttlestop_c10

    Открывает окно с информацией о состояниях процессора, называемых C-States. Позволяет понять, задействован ли режим энергопотребления, сколько времени ядра процессора провёли в спящем или другом режиме.

    throttlestop_clr

    Нажатие на эту кнопку обнуляет записи в таблице.

    TS Bench

    throttlestop_TSbench

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

    Настроек довольно мало: приоритет, количество потоков, размер задачи и частота.

    Options

    throttlestop_options

    Общие настройки программы.

    Здесь мы можем переименовать профили, настроить внешний вид интерфейса и выполнить еще несколько полезных мелочей.

    На что следует обратить внимание.

    throttlestop_options_1

    • Default Profiles — здесь можно указать, какой профиль будет активен при подключенной зарядке, при питании от батареи и при падении заряда до указанного количества процентов
    • Battery Monitoring — покажет заряд батареи в основном окне программы

    Для ноутбуков и ПК:

    throttlestop_options_2

    • Start Minimized — программа будет запускаться в свернутом виде
    • Minimize on Close — вместо закрытия программа будет сворачиваться
    • AMD\Nvidia GPU — покажет температуру видеокарты в основном окне программы
    • PROCHOT Offset — значение, на которое уменьшится параметр DB PROCHOT, ответственный за сброс частоты при достижении указанной температуры. По умолчанию PROCHOT Offset равен 2, что означает начало сброса частоты при достижении 98 градусов. Чтобы уменьшить это значение, например, до 95 градусов, установите галочку и параметр PROCHOT Offset равный 5.

    Как выполнить андервольт (понижение напряжения) через ThrottleStop

    Для андервольта используется модуль FIVR, первым делом стоит проверить, что сама возможность андервольта доступна для вашей системы.

    throttlestop_fivr

    FIVR появился в процессорах Intel начиная с 4 поколения (Haswell). Если у вас более старый CPU — данный модуль может быть недоступен.

    Андервольтинг доступен не для всех поколений CPU. Какие-то процессоры в принципе не поддерживают андервольт средствами ThrottleStop, а для некоторых моделей Intel запретила такую возможность.

    Функционал может быть недоступен с мобильными процессорами 10 поколения и выше. Андервольт заблокирован из-за уязвимости Plundervolt (По словам самой Intel, ей подвержены все настольные и мобильные процессоры Core, начиная с 6 поколения и выше, а также серии Core X и серверные Xeon E).

    Для процессоров старее 10 поколения возможность андерволтинга может быть заблокирована в версиях биос, вышедших в 2020 году и более новых. В большинстве случаев вернуть доступ к функционалу можно установив более версию BIOS от 2019 года.

    Если андервольт недоступен или просто не хочется возиться с даунгрейдом прошивки — снизить потребление энергии и нагрев можно через редактирование лимитов энергопотребления в модуле TPL.

    throttlestop_fivr_default-1

    Итак, нажимаем на кнопку «FIVR» в главном окне программы, после чего открывается окно с дальнейшими настройками.
    Отметим те, что будут нас интересовать:

    throttlestop_fivr_4

    В левом верхнем углу можно выбрать необходимый профиль.

    Чуть ниже можно настроить частоту при использовании определенного количества ядер, здесь же можно выбрать E или P-ядра (для процессоров 12 и 13 поколения).

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

    • CPU Core — ядра процессора.
    • CPU Cache — кэш процессора
    • System Agent — системный агент — блок, объединяющий контроллеры памяти, pci-express, дисплейные интерфейса и т.д.
    • Intel GPU и IGPU Unslice — видеоядро процессора

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

    Стоит обратить внимание также на ползунок IccMax. Если его редактирование доступно (после установки галочки «Unlock Adjustable voltage)» — можно смело выставлять максимальные значения для CPU Core и CPU Cache. Это позволит чипу потреблять максимальный ток при работе на 100% мощности.

    AVX Offset — уменьшает множитель, на заданное значение при задействии AVX-инструкций. Если установить avx offset равным 5, то при работе приложений, использующих AVX, частота процессора уменьшиться на 500 Мгц (5*значение шины, которое обычно равно 100 Мгц).

    Thermal Velocity Boost — технология, разработанная Intel , которая пытается обеспечить временное повышение производительности поверх технологии Turbo Boost. Появилась в мобильных процессорах начиная с архитектуры Coffee Lake H (8 поколение) и в десктопных начиная с Coffee Lake R (9 поколение). Суть работы заключается в дополнительном увеличении частоты, при условии наличия запаса мощности и не превышении определенной температуры (зависит от модели CPU).

    Ring Down Bin — при включении будет удерживать множитель кэша на 3 меньше множителя ядер (например частота кэша будет 4200 МГц при ядрах 4500 Мгц). Может улучшить стабильность для некоторых моделей CPU.

    V-max Stress — при включении не позволит напряжению процессора превысить 1.52 вольта.

    Андервольт ядер (CPU Core)

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

    1. Выбираем профиль, для которого будем производить измененияthrottlestop_fivr_11-300x226
    2. Выбираем необходимый компонент процессора — Cpu Corethrottlestop_fivr_12-300x226
    3. Ставим галочку «Unlock Adjustable Voltage», чтобы включить управление напряжением и обязательно проверяем, что активен значок «Adaptive» throttlestop_fivr_13-1-300x226
    4. Переходим к ползунку «Offset Voltage». Выбираем именно его, а не сам «Voltage», так как лучше, если он управляется процессором в зависимости от частоты. Для начала выбираем Range 125 mV и двигаем ползунок в отрицательные значения. Начать можно с -30 mV throttlestop_fivr_14-300x226
    5. Устанавливаем галочку «Do not save voltages» и нажимаем «Apply». Мы пока не сохраняем примененные изменения в конфигурационный файл программы, поскольку еще не уверены в стабильности системыthrottlestop_fivr_15-300x226
    6. После этого в таблице в верхнем правом углу должно измениться значение Offset для строки CPU Core.throttlestop_fivr_16-300x226

    Если всё прошло удачно — время переходить к тестированию. Можно использовать встроенный в утилиту бенчмарк, но лучше всего протестировать стабильность ядер программой OCCT.

    Запускаем OCCT, выставляем режим теста:

    Вкладка: Процессор OCCT
    Набор данных: Большой
    Режим: Экстрим
    Нагрузка: Переменная
    Инструкции: SSE (не AVX)
    Потоки: Авто

    occt_1-247x300
    Запускаем тест. Если система зависла или мы увидели синий экран (обычно ошибка CLOCK_WATCHDOG_TIMEOUT), то после перезагрузки возвращаемся в ThrottleStop, снова заходим в модуль FIVR и выставляем чуть меньшее значение андервольта (например с шагом -10 mV), после чего снова проверяем стабильность в OCCT.

    Если тест проходит стабильно хотя бы в течении 5-10 минут — увеличиваем значение андервольта. Таким образом в итоге находим оптимальное значение, при котором система стабильна и проходит тестирование. Финальный тест желательно проводить не менее получаса.

    Ускорить процесс можно, загуглив среднее значение андерволта для конкретного CPU. К примеру, для показанного на скриншотах Core i7-7820HQ этот параметр составляет около -130 mV, но мой экземпляр оказался довольно удачным и стабилен даже при -150 mV.

    После нахождения оптимального андервольта, возвращаемся в модуль FIVR, устанавливаем галочку «Save voltages immediately» и нажимаем Apply. Теперь изменения сохранятся в конфигурационный файл программы и будут автоматически применяться при её запуске.

    throttlestop_fivr_17

    Андервольт кэша (CPU Cache)

    throttlestop_fivr_18-2

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

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

    Запускаем OCCT, выставляем режим теста:

    occt_2

    Вкладка: Процессор Linpack
    Версия: 2009
    Потоки: Физические и логические
    Память (мб): Указываем весь доступный объём

    10 минут теста как правило достаточно для выявления ошибок. После нахождения оптимального значения также не забываем вернуться в модуль FIVR и установить галочку «Save voltages immediately».

    Андервольт видеоядра

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

    throttlestop_fivr_19

    Алгоритм действий точно такой же, но значения Offset Voltage должны быть одинаковыми как для Intel GPU, так и для IGPU Unslice, в противном случае они будут игнорироваться.

    В большинстве случаев удается получить от -30 до -40 mV, заходить дальше обычно смысла нет. Проверить стабильность можно любой значительной нагрузкой на видеоядро (например проигрыванием 4К@60fps видео на YouTube).

    Как снизить нагрев или увеличить производительность через редактирование повер-лимитов

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

    Редактирование повер-лимитов в ThrottleStop выполняется в модуле TPL. В отличии от андервольтинга, данный функционал работает на всех современных CPU без каких-либо ограничений.

    throttlestop_tpl-2

    Нажимаем на кнопку «TPL» в главном окне программы, после чего открывается окно с дальнейшими настройками.

    throttlestop_tpl-1

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

    Чуть ниже находятся текущие значения PL1, PL2 и Time, относящиеся к двум регистрам: MSR и MMIO.

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

    Галочка «Lock» напротив MMIO заблокирует значение регистра, что не позволит другим программам переписать его. После блокировки изменить значение можно будет только после перезагрузки.

    Еще чуть ниже находятся настройки повер-лимитов. Снятие галочки с «Disable Controls» позволит нам редактировать их.

    throttlestop_tpl2

    Флажок «Sinc MMIO» лучше включить, чтобы синхронизировать регистры. В противном случае приоритет будет иметь только один из них (как правило тот, у которого значения ниже).

    Для снижения температуры начните с уменьшения текущих параметров PL1 и PL2 на 10-15%, для применения изменений — нажмите «Apply», после чего проверьте, на сколько снизился нагрев и производительность в типичных для вашего устройства задачах (отслеживать данные показатели удобно в бенчмарках, например Cinebench r20 или r23).

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

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

    Как ещё можно ограничить тепловыделение

    Помимо андервольта и редактирования повер-лимитов, можно использовать и другие способы снижения тепловыделения:

    • Отключение турбо-буста. Оказывает достаточно сильное влияние, но при этом снижает и производительность.disable_turbo
    • Уменьшить частоты. Можно снизить максимальные частоты по ядрам на 200-300 МГц, это не окажет сильного влияния на производительность, но позволит несколько снизить температуру процессора. Выполняется снижение в модуле FIVR.throttlestop_fivr_20
    • Установить высокое значение Speed Shift EPP. При значениях от 128 и выше (максимум 255) процессор будет стараться не поднимать высоко частоту, что приведет к падению производительности, но и уменьшит температуру.speed_shift
    • Наконец, ничто не мешает комбинировать различные способы, чтобы достичь идеального именно для вас баланса температуры и быстродействия системы.

    Как добавить Throttlestop в автозагрузку

    Для старта утилиты вместе с Windows нам нужно будет воспользоваться планировщиком задач.

    • Открываем планировщик и нажимаем «создать задачу» ThrottleStop_autostart1-300x194
    • В открывшемся окне указываем имя задачи — «Throttlestop» и ставим галочку «Выполнить с наивысшими правами» ThrottleStop_autostart2-300x226
    • В следующей вкладку «Триггеры» нажимаем кнопку «Создать»
    • В открывшемся окне выбираем из списка «Начать задачу» — «При входе в систему» и нажимаем ОКThrottleStop_autostart3-300x219
    • Переходим на вкладку «Действия», нажимаем «Создать», выбираем действие «Запуск программы» и указываем путь до исполняемого файла Throttlestop.exeThrottleStop_autostart4-275x300
    • Переходим на вкладку «Условия», где нам нужно снять галочку с «Запускать только при питании от электросети» и нажать ОК для завершения настройки задачи.ThrottleStop_autostart5-300x225

    Теперь самое время перезагрузиться и убедиться, что задача срабатывает корректно. Чтобы Throttlestop запускался в свёрнутом виде — установите флажок «Start minimized» в опциях программы.

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

    Если при неудачных экспериментах система стала нестабильна или выпадает в синий экран сразу при старте (с автозагрузкой ThrottleStop), выходом из положения станет загрузка в безопасном режиме и удаление конфигурационного файла ThrottleStop.ini в папке с программой. О том как выполнить загрузку в безопасном режиме в Win10\11 читайте здесь.

    Поделиться «Полный гайд по Throttlestop: андервольтинг, повер-лимиты, полное описание интерфейса и настроек»

     

Добавить комментарий

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