Андервольтинг процессора Intel 12+ поколения на примере Fanless Mini-PC Chatreey TK12-F с Intel Core i5-1235U

“Если нельзя, но очень хочется, то можно” (© Народная мудрость)
Начиная с 12-го поколения, Intel окончательно заблокировала интерфейсы управления напряжением на уровне микрокода для большинства мобильных процессоров.
Основным триггером для принятия такого решения стала уязвимость Plundervolt. В результате официально андервольтинг остался доступен только на части топовых оверклокерских разблокированных процессоров с индексами HX и HK★
★ Видимо, в Intel сочли, что оверклокеров не напугаешь какой-то дырой в безопасности, да и что-то им блокировать будет себе дороже, они всё равно обойдут.
/sarcasm
Ну а в итоге на большинстве процессоров H-серии и на всех энергоэффективных процессорах P- и U-серий изменить напряжение напрямую через ThrottleStop или Intel XTU в Windows стало технически невозможно — соответствующие ползунки превратились в неработающие «декоративные элементы».
Однако лазейки, позволяющие обойти запрет, всё-таки остались. Об этом мы сейчас и поговорим.
Итак:
AC/DC Loadline
Поскольку Intel закрыла прямой путь андервольтинга через регулятор самого процессора, то можно попробовать зайти в обход, со стороны регулятора напряжения материнской платы.
Напряжение, которое запрашивает процессор, во многом определяется параметрами линии нагрузки (Loadline), которые иногда скрываются в глубине BIOS/UEFI некоторых ноутбуков и китайских Mini-PC.
В моем случае эти настройки были спрятаны по пути:
Advanced > Power & Performance > CPU — Power Management Control > CPU VR Settings > Core/IA VR Settings

и там открывается блок Core/IA VR Domain, где отображаются текущие (информационные, серые) значения параметров, а чуть ниже — пункты для их ручного изменения:

Пара слов об этих параметрах:
AC Loadline (mΩ, мОм) — определяет, насколько процессор корректирует запрашиваемое напряжение (VID) при росте тока. Чем меньше значение, тем меньше добавочное напряжение он просит. В результате эффективное напряжение на ядрах под нагрузкой тоже снижается. По сути, это и есть
тоже яйцо, только в профильпростой способ получить андервольтинг.DC Loadline (mΩ, мОм) — используется процессором для внутренней оценки потребляемой мощности. Этот параметр не меняет подаваемое напряжение, но напрямую влияет на то, как процессор рассчитывает свою мощность и, соответственно, как и когда будут срабатывать лимиты PL1 / PL2.
В принципе, значения AC Loadline и DC Loadline должны быть как-то связаны между собой. Однако о том, каким должно быть их согласование, на форумах в интернете имеются разные мнения, вплоть до полярных — от «AC и DC Loadline должны быть одинаковыми», и до «AC Loadline можно изменять, а DC Loadline лучше не трогать». Подробнее об этом мы поговорим в разделе статьи, когда перейдем к реальным настройкам.
Примечание: помимо настроек Core/IA VR Domain, относящихся к питанию самого CPU, в BIOS могут быть настройки GT Domain с соответствующими настройками для «встройки» iGPU.

Теперь поговорим о первоначальной настройке
Fanless Mini-PC Chatreey TK12-F с Intel Core i5-1235U
Тут потребуется несколько примечаний и дополнительных пояснений.
Примечание #1
Лирическое отступление:
Зачем вообще понадобился андервольтинг на энергоэффективном процессоре U-серии.
С оверклокерскими процессорами HX и HK серий, например Intel Core i9 14900HX или i9 13900HK с PL1 в полсотни ватт и PL2 (Boost) за полторы сотни в общем-то понятно (а с учетом того, что они обычно берутся под разгон тем более), но зачем это на скромном Intel Core i5-1235U с PL1 всего 15W?
Ключевое слово здесь — FANLESS (безвентиляторный).
С одной стороны, это обеспечивает абсолютную тишину, но с другой стороны, накладывает серьёзные ограничения на возможности пассивной системы охлаждения.
Если в оверклокерских Mini-PC с HX/HK процессорами и мощными турбинами андервольтинг должен обеспечить удержание максимальных частот без перегрева, то в Fanless Mini-PC андервольтинг скорее позволяет не потерять слишком много из и так довольно скромной производительности процессора U-серии.
Это нужно будет учитывать, если материал статьи будет использоваться для настройки каких-то других Mini-PC, тем более с процессорами других серий.
Примечание #2
Предупреждение:
В статье рассматривается модель Fanless Mini-PC Chatreey TK12-F, имеющаяся у автора, в BIOS которой есть рассматриваемые настройки.
Но надо иметь в виду, что на рынке имеется две версии этого Mini-PC с разными корпусами-радиаторами.
Есть ли ещё отличия, кроме самого корпуса-радиатора — «Сие тайна великая есть»(©).
Причем, судя по предыдущей модели Fanless Mini-PC Chatreey TK11F, для которой во внешне одинаковом корпусе-радиаторе было 5 (ПЯТЬ!!!) модификаций, в том числе и с совершенно разными по возможностям BIOS (вплоть до полностью залоченных), тут тоже может быть подобная ситуация, и, к сожалению, это тоже надо учитывать.


Примечание #3
Историческая справка:
Свой первый недорогой и довольно простой даже по тем временам Fanless Mini-PC на Core i3-5020U я взял около 10 лет назад просто на пробу, с расчетом на то, чтобы в тишине запускать на нем многочасовую обработку видео, которой я тогда увлекался, а для всего остального я собирался продолжать пользоваться «основным» полноразмерным ATX PC, который у меня уже давно был.
Но как оказалось, Fanless Mini-PC помимо неспешной обработки видео неплохо справлялся и с большинством других моих задач — от браузера и офисных приложений и до CAD и старых нетребовательных игр, поэтому как-то само получилось, что старый ATX PC я почти перестал включать, и поэтому вместо очередного апгрейда «основного» ATX PC я решил приобрести более мощный, но тоже довольно недорогой Fanless Mini-PC Chatreey TK11-F на Intel Core i7-1165G7 (по которому у меня вышла статья на habr Недорогой Mini-PC на платформе Intel NUC-Like 11th Generation Core i7-1165G7 с пассивным охлаждением), при этом старый ATX PC я тоже оставил (в основном как хранилище данных).
Ну а после замены старого 32" монитора на новый 42" LG OLED42C4RLA (по которому у меня тоже вышла статья на habr Телевизор LG OLED42C4RLA как универсальный настольный «кабинетный» монитор для Fanless Mini-PC с Intel Xe Graphics), и места на столе для ATX PC просто уже не осталось ¯\_(ツ)_/¯
Примерно тогда же я приобрел новый Fanless Mini-PC Chatreey TK12-F на Intel Core i5-1235U, который мы сейчас и обсуждаем.
В настоящее время он остаётся моим единственным настольным (точнее, наполочным) компьютером.
/nostalgia

Как я уже отметил, производительность данного Fanless Mini-PC меня вполне устраивает, её мне вполне хватает для повседневного домашнего использования и работы, и даже для старых-добрых (в хорошем смысле этого слова) игр типа Half-Life 2, Far Cry и Crysis.
Хотя по современным меркам встройка Intel Iris Xe Graphics G7 (80EU) конечно далеко не самая мощная.
Несмотря на пассивное охлаждение, проблем с перегревом процессора в целом нет, троттлинга не наблюдается, хотя компьютер конечно довольно горячий★
★ Впрочем, в той или иной мере это относится ко всем Fanless Mini-PC ¯\_(ツ)_/¯
Недавно у меня вышла статья на Habr, где я это рассматривал:
Несмотря на провокативное название статьи, видно, что необходимости в дополнительном охлаждении в общем-то нет даже в июльскую жару, когда она готовилась.
Цитата оттуда В моем случае Fanless Mini-PC не перегревался даже в июльскую жару, так что ему дополнительное охлаждение не требуется, и данное исследование носит скорее не прикладной, а академический характер: «А что, если?»

Также следует отметить большую инерционность системы охлаждения Fanless Mini-PC Chatreey TK12-F с огромным тяжёлым (более 1 килограмма!!!) корпусом-радиатором.
С одной стороны это недостаток — компьютер долго остывает, но зато это позволяет использовать долгий Boost режим работы процессора без его перегрева — тяжёлый корпус просто не успевает нагреться за это время.
Но об этом чуть ниже.
В играх иногда возникали небольшие подтормаживания, микрофризы, обычно появляющиеся после подгрузки новых уровней, во время каких-то активных событий в игре — одним словом, проявляющиеся в самые неподходящие, напряжённые игровые моменты.
Покурив форумы и блоги, я предположил, что это связано с работой Turbo Boost, который в такие моменты включается, и после его окончания и перехода соответствующего ядра процессора с турбо-режима на PL1 для отдыха и возникает подобное явление★
Для уменьшения подтормаживаний некоторые техноблогеры и оверклокеры советуют полностью отключать турбо-режим при разгоне процессора.
В моём случае разгона процессора не было, троттлинг не возникал, но, возможно, причина ещё и в том, что процессор Intel Core i5-1235U имеет всего два «больших» P-core, и когда одно из них просится «на покой» в режим PL1 после Turbo Boost, у планировщика Windows 11 и Intel Thread Director в общем-то выбор небольшой — или оставлять основной процесс на этом ядре, ушедшем в PL1, или подключать второе P-core, которое в этот момент скорее всего тоже занято пусть и менее тяжёлым процессом, или (что еще хуже) задействовать свободное «малое» E-Core, и в результате эта чехарда с перераспределением ресурсов сопровождается микрофризами.
Я попробовал включить в настройках BIOS режим «Max Non-Turbo Performance» вместо «Turbo Performance» , при этом наверное действительно стало получше — микрофризов вроде бы стало поменьше, а общая производительность практически не изменилась. Игры стали идти более ровно, без заметных провалов.

★ Весьма полезными для понимания процессов оказалась перевод статьи anandtech на habr
и статья в club.dns-shop


Ещё одной особенностью моего Fanless Mini-PC было довольно большое время восстановления результатов CPU-Z при повторном запуске теста после первого запуска.
В целом это нормально, и наверняка многие замечали что повторный запуск CPU-Z даёт существенно меньший результат, чем «холодный» первый запуск, но в данном случае требовалось не 1–2 минуты, как это обычно бывает, а 5–10 минут «отдыха», чтобы тест CPU-Z вновь показал приличный результат.
Возможно, это связано с большой инерционностью тяжелого корпуса-радиатора, о котором я упомянул выше, который с одной стороны, позволяет долго держать режим PL2, аккумулируя тепло, но, с другой стороны, столь же долго остывает.
Кроме того, алюминиевый сплав корпуса-радиатора всё-таки не идеальный теплопроводник, и при «рваном» нагрузочном режиме в нём возникают локальные тепловые градиенты, которые требуют времени для выравнивания.
В конце концов я немного уменьшил PL2 до 40W (ниже мы к этому вернемся), увеличил Tau до 56 секунд (благо корпус-радиатор не успевает прогреться за это время), и как я уже сказал, отключил Turbo Boost, использовав Max Non-Turbo Performance Mode.
Итак,
Мои настройки:
— Max Non-Turbo Performance Mode,
— PL1 — 15W,
— PL2 — 40W,
— Tau — 56sec

В итоге у меня получилось:
Результаты CPU-Z «из коробки» https://valid.x86.fr/gaxbps
— Single-Thread — 475
— Multi-Thread (12T) — 3734
Результаты CPU-Z с моими настройками https://valid.x86.fr/7nn4ck
— Single-Thread — 647
— Multi-Thread (12T) — 3737
Видно, что результаты Single-Thread выросли примерно на треть★
★ Одним из последствий высокого значения Tau (вдвое больше типового) стало то, что тест CPU-Z успевает полностью пройти до того, как исчерпается лимит времени буста PL2. В итоге результат Single-Thread значительно вырос.
Дело в том, что в CPU-Z сначала запускает тяжелый многопоточный тест, который при коротком Tau быстро уводит процессор в «экономный» режим PL1. И хотя в следующей части теста (Single-Thread) одно ядро потребляет совсем немного и физически не упирается в 15 Вт, сам контроллер питания в режиме PL1 не дает ему развивать максимальную частоту.
Увеличенный Tau позволяет однопоточному тесту стартовать, пока процессор все еще находится в режиме PL2, где снимаются частотные ограничения для одиночных ядер.
Конечно, для синтетического теста это можно назвать читерством, но в реальной жизни это дает отличный отзывчивый «спринт» при запуске программ, а благодаря огромной теплоемкости массивного корпуса-радиатора процессор успевает отработать этот пик без перегрева.
В Mini-PC с обычной системой охлаждения и лёгким (в прямом смысле этого слова) радиатором такой трюк с увеличением Tau может и не пройти.★★
Ну а на продолжительной нагрузке (например, в играх) лишние полминуты работы на режиме PL2 температуру особо не увеличат.
★★ Некоторые пользователи при разгоне процессора поднимают PL1, делая его равным PL2. Однако офисным и другим приложениям с невысокой средней нагрузкой важен короткий «спринт» — быстрая реакция на действия пользователя. Для этого как раз и нужна высокая производительность во время короткого «спурта» в режиме PL2.
Если после такой спринтерской реакции на действия пользователя (загрузки страницы в браузере, открытия документа, внесения каких-то изменений и т.п) процессор перейдет в PL1, то пользователь скорее всего это даже не заметит — всё ведь уже успело произойти.
Поэтому процессоров типа Intel Processor N100 несмотря на низкий PL1 всего 6W, обычно вполне хватает для офисной работы за счёт мощного буста PL2 до 25W (хотя на тяжёлом документе, большой таблице Excel например, может уже быть грустно).
Ну а для рендеринга, кодирования видео и других тяжёлых длительных процессов, явно выходящих за рамки времени Tau, уже важнее будет работа в режиме PL1, и для этого нужна рабочая станция с мощной системой охлаждения.
А вот игры это отдельный разговор.
Хотя казалось бы, здесь тоже высокая средняя нагрузка, но в данном случае тоже есть нюанс — равные значения PL1 и PL2 из-за потери динамического ориентира могут сбивать с толку работу алгоритмов планировщика Windows и Intel Thread Director. В результате «рваная» динамичная игровая нагрузка будет перераспределяться неоптимально между разными ядрами, что в итоге может привести к худшему результату, чем при PL1 хотя бы немного меньшем PL2.
Это можно наглядно увидеть на результатах сравнительных игровых тестов, например:

На этом предварительную часть настроек заканчиваем, и переходим разделу:
Андервольтинг процессора Intel Core i5-1235U
“Классический” андервольтинг я конечно тоже попробовал, но без особой надежды.
Так оно и получилось — ThrottleStop предсказуемо не сработал ¯\_(ツ)_/¯
А вот андервольтинг через AC/DC Loadline оказался доступен — при изменении значений AC и DC Loadline в полях ввода BIOS, после перезагрузки компьютера соответствующие информационные значения также менялись, значит информация принимается.
Подбор значений AC Loadline и DC Loadline
С настройкой AC Loadline я разобрался довольно быстро, в основном ориентируясь на информацию на форумах и в блогах и на свои ощущения.
Сомнения у меня вызывала настройка DC Loadline, по которой в Сети крайне противоречивая информация — от «менять синхронно с AC Loadline» и до «не трогать», или даже «поставить “0”, чтобы сбросилось на Default».
Попробовал оставить DC Loadline “0”, оказалось что для моего Mini-PC значение Default 280, т.е. на 50 больше того, что было «из коробки».

Такая настройка меня не устроила.
— Во-первых потому, что получился слишком уж большой раздрай между AC и DC Loadline (не то, чтобы это плохо, но как в анекдоте «должно быть красиво»);
— Во-вторых, разработчики почему-то уменьшили DC Loadline, причем сделали это так, что значение совпало с AC Loadline (хотя возможно, что они ориентировались на те же форумы, или просто бросили монетку);
— В-третьих, поскольку разработчики синхронно поменяли AC и DC Loadline, то и я решил за ними это повторить.
PS Кроме того мне показалось, что работа CPU-Z при равных значениях AC и DC Loadline немного лучше, но это скорее на уровне ощущений, в пределах погрешности замеров.
В результате в настоящий момент я остановился на таких настройках:

Ну, и в заключение
Результаты
Сначала сравним показания HWiNFO64 во время трёхминутного прогона теста стабильности AIDA64:
Настройка BIOS «из коробки»:
— Turbo Performance Mode
— PL1 — 15W,
— PL2 — 0 (55W),
— Tau — 0 (28sec),
— AC и DC Loadline — 230

Мои текущие настройки BIOS:
— Turbo Performance Mode★
— PL1 — 15W,
— PL2 — 40W,
— Tau — 56sec,
— AC и DC Loadline — 150
★ Turbo Performance Mode я вернул — об этом чуть ниже

Видно, что максимальное значение напряжения Core VIDs упало с 1.148V до 0.945V, т.е. снизилось на 203mV.
Мощность (CPU Package Power) осталась практически на прежнем уровне — около 40W★ ★ Несмотря на заданный в тесте «из коробки» лимит PL2 55W, к этому мы тоже еще вернемся чуть ниже.
Температуры CPU Package, Core и др. тоже уменьшились на 1-2°C
Вроде бы немного, но нагрузочный тест длился всего три минуты, а массивный корпус-радиатор медленно прогревается, аккумулируя тепло и скрадывая рост температуры CPU.
Кроме того, из-за отличия настроек Tau (28 и 56 секунд соответственно), во втором тесте работа в режиме PL2 длилась существенно дольше, чем в первом.
В качестве экспресс-теста я обычно использую CPU-Z, его результаты практически не изменились:
CPU-Z с предыдущими настройками — https://valid.x86.fr/7nn4ck
— Single-Thread — 647
— Multi-Thread (12T) — 3737
CPU-Z с AC и DC Loadline = 150 — https://valid.cpuid.com/vbj2yseq★
— Single-Thread — 640
— Multi-Thread (12T) — 3726
★ Так совпало, что именно сейчас вышла новая, более информативная версия CPU-Z 3.01.0★★, но к счастью ее результаты полностью сопоставимы с предыдущими версиями
Однако изменения все-таки есть — повторный запуск CPU-Z стал требовать намного меньшей паузы для «отдыха» — теперь достаточно полутора-двух минут.
Я предположил, что микрофризы в играх тоже могут уменьшиться даже на режиме Turbo Performance Mode, который я ранее отключал, и попробовал снова его включить.
Так оно и оказалось — игры идут достаточно ровно, без заметных провалов.
Итак,
Мои текущие настройки:
— AC и DC Loadline — 150
— Turbo Performance Mode,
— PL1 — 15W,
— PL2 — 40W,
— Tau — 56sec
★★ Новая версия CPU-Z 3.01.0 среди прочей информации стала показывать TDP PL1/PL2, заданные в BIOS, и Power (TDP), которую развивал процессор во время теста.
Я обратил внимание, что в моих результатах Power (TDP) колеблется около 40W, иногда немного превышая лимит PL2, заданный мной в BIOS, а иногда чуть не доходя до него.
Я решил проверить, совпадение ли это, или срабатывает ограничитель, как на автомобиле, и убрал ограничение, проведя еще один тест в новой версии CPU-Z с настройками BIOS «из коробки».
Результат CPU-Z с настройками «из коробки» — https://valid.cpuid.com/gfmytzyf
— Single-Thread — 439
— Multi-Thread (12T) — 3727
при этом Power (TDP) во время теста оказалась 42 ватта, не доходя до 55 ваттного «ограничителя» на целых 13 ватт!
Т.е. год назад, проводя предварительную настройку, я интуитивно поймал значение PL2, выше которого процессор особо и не пытается заскочить, и мой ограничитель оказался практически «для галочки».
Тем не менее я его решил не снимать — пусть будет MOSFET-ы защищать
Заключение
На этом пока все
Я хотел еще добавить результаты тестов в играх, в частности Crysis Benchmark, но поскольку все это заняло очень большой период, подобрать пары для сравнения в одинаковых условиях я так и не смог.
Может быть позже смогу подобрать какие-то сравнимые результаты, и добавлю в статью.
Во всяком случае хуже с андервольтингом не стало, «синих экранов» не было (тьфу^3), в чем-то вроде стало лучше (по крайней мере на уровне ощущений).
Ну и напоследок
ATTENTION!!!
Хотя в статье и не затрагиваются особо чувствительные настройки, всё-таки BIOS есть BIOS, так что если будете повторять — заранее сохраняйте настройки или хотя бы сфотографируйте экран (кстати, все фотографии, которые я тут выкладывал, я делал не для статьи, а «на всякий пожарный»).
Желательно настройки менять по одной, смотреть, что получилось, и обязательно запоминать все действия.
Ну и на всякий случай заранее уточните, как на вашей плате делается Clear CMOS (джампер, батарейка, кнопка)…
Скорее всего, это не пригодится, но кто знает… ¯\_(ツ)_/¯
Деанон
Я не IT-шник ни по образованию, ни по профессии.
По образованию и профессии я инженер-автомобилист, в прошлом инженер-конструктор (была раньше в СССР и РФ такая отрасль промышленности)
Я «продвинутый юзверь», а компьютер для меня — это рабочий инструмент и хобби.
Поэтому, возможно, я не всё правильно представляю и не совсем точно описал на IT-шном языке.
Прошу понять, и простить
Но замечания и конструктивная критика приветствуются, добро пожаловать в обсуждение!

Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
50%Работает «из коробки» — предпочитаю ничего не менять1
50%Делаю андервольтинг ради тишины / температур1
0%Поднимаю лимиты мощности0
0%Провожу разгон по частоте / множителю / памяти0
0%Улучшаю систему охлаждения (замена термопрокладок/термопасты, доп. обдув, кастомный «колхозинг»)0
0%На моём ноутбуке / Mini-PC всё наглухо заблокировано ¯\_(ツ)_/¯0
KioskNews shows a cleaned-up reading view extracted from the publisher’s page — the original always lives on their site, not ours.