Краткое руководство по управлению питанием процессора
Как центральный процессор может сокращать собственное энергопотребление? Основы этого процесса — в статье.
Центральный процессор (CPU) спроектирован на бесконечно долгую работу при определенной нагрузке. Практически никто не проводит вычисления круглые сутки, поэтому большую часть времени он не работает на расчетном максимуме. Тогда какой смысл держать его включенным на полную мощность? Здесь стоит задуматься об управлении питанием процессора. Эта тема включает в себя оперативную память, графические ускорители и так далее, но я собираюсь рассказать только про CPU.
Если вы знаете про C-состояния (C-states), P-состояния (P-states) и то, как процессор переходит между ними, то, возможно, в этой статье вы не увидите ничего нового. Если это не так, продолжайте читать.
Я планировал добавить реальные примеры из ОС Linux, но статья становилась все больше, так что я решил приберечь это для следующей статьи.
Основные источники информации, использованные в этом тексте:
Особенности CPU
Согласно официальной странице продукта, мой процессор поддерживает следующие технологии:
Теперь выясним, что значит каждое из этих определений.
Как снизить энергопотребление процессора во время его работы?
На процессорах для массового использования (мы не берем в расчет вещи, которые возможны при их проектировании) для снижения потребляемой энергии можно реализовать один из сценариев:
Второй вариант требует чуть больше объяснений. Энергопотребление интегральной схемы, которой является процессор, линейно пропорционально тактовой частоте и квадратично напряжению.
Примечание для тех, кто разбирается в цифровой электронике: 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).
Примечание: Из-за технологии Intel® Hyper-Threading существуют также С-состояния потоков. Хотя отдельный поток может работать с С-состояниями, изменения в энергопотреблении происходят, только когда ядро входит в нужное состояние. В данной статье тема C-состояний на потоках рассматриваться не будет.
Вот описание состояний из даташита:
Примечание: LLC обозначает Last Level Cache, кэш последнего уровня и обозначает общий L3 кэш процессора.
Визуальное представление состояний:
Источник: Software Impact to Platform Energy-Efficiency White Paper
Последовательность C-состояний простыми словами:
Однако если ядро работает (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. Краткий обзор:
Вот поддерживаемые состояния 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), у которой есть два достоинства:
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.
Вот какую информацию можно получить (это не весь вывод).
Вот информация о ядре, включая информацию о драйвере idle.
Мониторинг счетчиков С-состояний (для ядра):
Как разогнать процессор Intel на примере Intel Core i9-9900K
Содержание
Содержание
Разгон процессоров от компании Intel в первую очередь связан с выбором процессора с индексом K или KF (К — означает разблокированный множитель) и материнской платы на Z-чипсете (Z490–170). А также от выбора системы охлаждения.
Чтобы понять весь смыл разгона, нужно определиться, что вы хотите получить от разгона. Стабильной работы и быть уверенным, что не вылезет синий экран смерти? Или же вам нужно перед друзьями пощеголять заветной частотой 5000–5500 MHz?
Сегодня будет рассмотрен именно первый вариант. Стабильный разгон на все случаи жизни, однако и тем, кто выбрал второй вариант, будет полезно к прочтению.
Выбор материнской платы
К разгону нужно подходить очень ответственно и не пытаться разогнать Core i9-9900K на материнских платах, которые не рассчитаны на данный процессор (это, к примеру, ASRock Z390 Phantom Gaming 4, Gigabyte Z390 UD, Asus Prime Z390-P, MSI Z390-A Pro и так далее), так как удел этих материнских плат — процессоры Core i5 и, возможно, Core i7 в умеренном разгоне. Intel Core i9-9900K в результате разгона и при серьезной постоянной нагрузке потребляет от 220 до 300 Ватт, что неминуемо вызовет перегрев цепей питания материнских плат начального уровня и, как следствие, выключение компьютера, либо сброс частоты процессора. И хорошо, если просто к перегреву, а не прогару элементов цепей питания.
Выбор материнской платы для разгона — это одно из самых важных занятий. Ведь именно функционал платы ее настройки и качество элементной базы и отвечают за стабильность и успех в разгоне. Ознакомиться со списком пригодных материнских плат можно по ссылке.
Все материнские платы разделены на 4 группы: от начального уровня до продукта для энтузиастов. По большому счету, материнские платы второй и, с большой натяжкой, третьей группы хорошо справятся с разгоном процессора i9-9900K.
Выбор системы охлаждения
Немаловажным фактором успешного разгона является выбор системы охлаждения. Как я уже говорил, если вы будете разгонять на кулере который для этого не предназначен, у вас ничего хорошего не получится. Нам нужна либо качественная башня, способная реально отводить 220–250 TDP, либо жидкостная система охлаждения подобного уровня. Здесь все зависит только от бюджета.
Из воздушных систем охлаждения обратить внимание стоит на Noctua NH-D15 и be quiet! DARK ROCK PRO 4.
Силиконовая лотерея
И третий элемент, который участвует в разгоне — это сам процессор. Разгон является лотереей, и нельзя со 100% уверенностью сказать, что любой процессор с индексом К получится разогнать до частоты 5000 MHz, не говоря уже о 5300–5500 MHz (имеется в виду именно стабильный разгон). Оценить шансы на выигрыш в лотерее можно, пройдя по ссылке, где собрана статистика по разгону различных процессоров.
Приступаем к разгону
Примером в процессе разгона будет выступать материнская плата ASUS ROG MAXIMUS XI HERO и процессор Intel Core i9-9900K. За охлаждение процессора отвечает топовый воздушный кулер Noctua NH-D15.
Первым делом нам потребуется обновить BIOS материнской платы. Сделать это можно как напрямую, из специального раздела BIOS с подгрузкой из интернета, так и через USB-накопитель, предварительно скачав последнюю версию c сайта производителя. Это необходимо, потому как в новых версиях BIOS уменьшается количество багов. BIOS, что прошит в материнской плате при покупке, скорее всего, имеет одну из самых ранних версий.
Тактовая частота процессора формируется из частоты шины BCLK и коэффициента множителя Core Ratio.
Как уже было сказано, разгон будет осуществляться изменением множителя процессора.
Заходим в BIOS и выбираем вкладку Extreme Tweaker. Именно тут и будет происходить вся магия разгона.
Первым делом меняем значение параметра Ai Overclocker Tuner с Auto в Manual. У нас сразу становятся доступны вкладки, отвечающие за частоту шины BCLK Frequency и CPU Core Ratio, отвечающая за возможность настройки множителя процессора.
ASUS MultiCore Enhancement какой-либо роли, когда Ai Overclocker Tuner в режиме Manual, не играет, можно либо не трогать, либо выключить, чтобы глаза не мозолило. Одна из уникальных функций Asus, расширяет лимиты TDP от Intel.
SVID Behavior — обеспечивает взаимосвязь между процессором и контроллером напряжения материнской платы, данный параметр используется при выставлении адаптивного напряжения или при смещении напряжения (Offset voltages). Начать разгон в любом случае лучше с фиксированного напряжения, чтобы понять, что может конкретно ваш экземпляр процессора, ведь все они уникальны. Если используется фиксация напряжения, значение этого параметра просто игнорируется. Установить Best Case Scenario. Но к этому мы еще вернемся чуть позже.
AVX Instruction Core Ratio Negative Offset — устанавливает отрицательный коэффициент при выполнении AVX-инструкций. Программы, использующие AVX-инструкции, создают сильную нагрузку на процессор, и, чтобы не лишаться заветных мегагерц в более простых задачах, придумана эта настройка. Несмотря на все большее распространение AVX-инструкции, в программах и играх они встречаются все еще редко. Все сугубо индивидуально и зависит от задач пользователя. Я использую значение 1.
Наример, если нужно, чтобы частота процессора при исполнении AVX инструкций была не 5100 MHz, а 5000 MHz, нужно указать 1 (51-1=50).
Далее нас интересует пункт CPU Core Ratio. Для процессоров с индексом K/KF выбираем Sync All Cores (для всех ядер).
1-Core Ratio Limit — именно тут и задается множитель для ядер процессора. Начать лучше с 49–50 для 9 серии и 47–48 для 8 серии процессоров Intel соответственно, с учетом шины BCLK 100 мы как раз получаем 4900–5000 MHz и 4700–4800 MHz.
DRAM Frequency — отвечает за установку частоты оперативной памяти. Но это уже совсем другая история.
CPU SVID Support — данный параметр необходим процессору для взаимодействия с регулятором напряжения материнской платы. Блок управления питанием внутри процессора использует SVID для связи с ШИМ-контроллером, который управляет регулятором напряжения. Это позволяет процессору выбирать оптимальное напряжение в зависимости от текущих условий работы. В адаптивном режиме установить в Auto или Enabled. При отключении пропадет мониторинг значений VID и потребляемой мощности.
CPU Core/Cache Current Limit Max — лимит по току в амперах (A) для процессорных ядер и кэша. Выставляем 210–220 A. Этого должно хватить всем даже для 9900к на частоте 5100MHz. Максимальное значение 255.75.
Min/Max CPU Cache Ratio — множитель кольцевой шины или просто частота кэша. Для установки данного параметра есть неофициальное правило, множитель кольцевой шины примерно на два–три пункта меньше, чем множитель для ядер.
Например, если множитель для ядер 51, то искать стабильность кэша нужно от 47. Все очень индивидуально. Начать лучше с разгона только ядер. Если ядро стабильно, можно постепенно повышать частоту кэша на 1 пункт.
Разгон кольцевой шины в значении 1 к 1 с частотой ядер это идеальный вариант, но встречается такое очень редко на частоте 5000 MHz.
Заходим в раздел Internal CPU Power Management для установки лимитов по энергопотреблению.
SpeedStep — во время разгона, выключаем. На мой взгляд, совершенно бесполезная функция в десктопных компьютерах.
Long Duration Packet Power Limit — задает максимальное энергопотребление процессора в ватах (W) во время долгосрочных нагрузок. Выставляем максимум — 4095/6 в зависимости от версии Bios и производителя.
Short Duration Package Power Limit — задает максимальное возможное энергопотребление процессором в ваттах (W) при очень кратковременных нагрузках. Устанавливаем максимум — 4095/6.
Package Power Time Window — максимальное время, в котором процессору разрешено выходить за установленные лимиты. Устанавливаем максимальное значение 127.
Установка максимальных значений у данных параметров отключает все лимиты.
IA AC Load Line/IA DC Load Line — данные параметры используются в адаптивном режиме установки напряжения, они задают точность работы по VID. Установка этих двух значений на 0,01 приведет ближе к тому напряжению, которое установил пользователь, при этом минимизируются пики. Если компьютер, после установки параметра IA DC Load line в значение 0,01, уходит в «синьку», рекомендуется повысить значение до 0,25. Фиксированное напряжение будет игнорировать значения VID процессора, так что установка IA AC Load Line/IA DC Load Line в значение 0,01 не будет иметь никакого влияния на установку ручного напряжения, только при работе с VID. На материских платах от Gigabyte эти параметры необходимо устанавливать в значение 1.
Возвращаемся в меню Extrime Tweaker для выставления напряжения.
BCLK Aware Adaptive Voltage — если разгоняете с изменением значения шины BCLK, — включить.
CPU Core/Cache Voltage (VCore) — отвечает за установку напряжения для ядер и кэша. В зависимости от того, какой режим установки напряжения вы выберете, дальнейшие настройки могут отличаться.
Существует три варианта установки напряжения: адаптивный, фиксированный и смещение. На эту тему много мнений, однако, в моем случае, адаптивный режим получается холоднее. Зачастую для 9 поколения процессоров Intel оптимальным напряжением для использования 24/7 является 1.350–1.375V. Подобное напряжение имеет место выставлять для 9900К при наличии эффективного охлаждения.
Поднимать напряжение выше 1.4V для 8–9 серии процессоров Intel совершенно нецелесообразно и опасно. Рост потребления и температуры не соразмерен с ростом производительности, которую вы получите в результате такого разгона.
Offset mode Sign — устанавливает, в какую сторону будет происходить смещение напряжения, позволяет добавлять (+) или уменьшать (-) значения к выставленному вольтажу.
Additional Turbo Mode CPU Core Voltage — устанавливает максимальное напряжение для процессора в адаптивном режиме. Я использую 1.350V, данное напряжение является некой золотой серединой по соотношению температура/безопасность.
Offset Voltage — величина смещения напряжения. У меня используется 0.001V, все очень индивидуально и подбирается во время тестирования.
DRAM Voltage — устанавливает напряжение для оперативной памяти. Условно безопасное значение при наличии радиаторов на оперативной памяти составляет 1.4–1.45V, без радиаторов до 1.4V.
CPU VCCIO Voltage (VCCIO) — устанавливает напряжение на IMC и IO.
CPU System Agent Voltage (VCCSA) — напряжение кольцевой шины и контроллера кольцевой шины.
Таблица с соотношением частоты оперативной памяти и напряжениями VCCIO и VCCSA:
Однако, по личному опыту, даже для частоты 4000 MHz требуется напряжение примерно 1.15V для VCCIO и 1.2V для VCCSA. На мой взгляд, разумным пределом является для VCCIO 1.20V и VCCSA 1.25V. Все что выше, должно быть оправдано либо частотой разгона оперативной памяти за 4000MHz +, либо желанием получить максимум на свой страх и риск.
Часто при использовании XMP профиля оперативной памяти параметры VCCIO и VCCSA остаются в значении Auto, тем самым могут повыситься до критических показателей, это, в свою очередь, чревато деградацией контроллера памяти с последующим выхода процессора из строя.
Установка LLC
LLC (Load-Line Calibration) В зависимости от степени нагрузки на процессор, напряжение проседает, это называется Vdroop. LLC компенсирует просадку напряжения (vCore) при высокой нагрузке. Но есть определенные особенности работы с LLC.
Например, мы установили фиксированное напряжение в BIOS для ядер 1.35V. После старта компьютера на рабочем столе мы видим уже не 1.35V, а 1.32V. Но, если запустим более требовательное к ресурсам процессора приложение, например Linx, напряжение может провалиться до 1.15V, и мы получим синий экран или «невязки», ошибки или выпадение ядер.
Чтобы напряжение проседало не так сильно и придумана функция LLC c разным уровнем компенсации просадки. Не стоит сразу гнаться за установкой самого высокого/сильного уровня компенсации. В этом нет никакого смысла. Это может быть даже опасно ввиду чрезвычайно завышенного напряжения (overshoot) в момент запуска и прекращения ресурсоемкой нагрузки перед и после Vdroop. Нужно оптимально подобрать выставленное напряжение с уровнем LLC. Напряжение под нагрузкой и должно проседать, но должна оставаться стабильность. Конкретно у меня в BIOS материнской платы стоит 1.35V c LLC 5. Под нагрузкой напряжение опускается до 1.19–1.21V, при этом процессор остается абсолютно стабильным под длительной и серьезной нагрузкой. Завышенное напряжение выливается в большем потреблении и, как следствие, более высоких температурах.
Например, при установке LCC 6 с напряжением 1.35V во время серьезной нагрузки напряжение проседает до 1.26V, при этом справиться с энергопотреблением и температурой с использованием воздушной системы охлаждения уже нет возможности.
Чтобы наглядно изучить процесс работы LLC и то, какое влияние оказывает завышенный LLC на Overshoot’ы, предлагаю ознакомиться с работами elmora, более подробно здесь.
Идеальным вариантом, с точки зрения Overshoot’ов, является использование LLC в значении 1 (самое слабое на платах Asus), однако добиться стабильности с таким режимом работы LLC во время серьезной нагрузки будет сложно, как выход, существенное завышенное напряжение в BIOS. Что тоже не очень хорошо.
Пример использовании LLC в значении 8 (самое сильно на платах Asus)
При появлении нагрузки на процессоре напряжение просело, но потом в работу включается LLC и компенсирует просадку, причем делая это настолько агрессивно, что напряжение на мгновение стало даже выше установленного в BIOS.
В момент прекращения нагрузки мы видим еще больший скачок напряжения (Overshoot), а потом спад, работа LLC прекратилась. Вот именно эти Overshoot’ы, которые значительно превышают установленное напряжение в BIOS, опасны для процессора. Какого-либо вреда на процессор Undershoot и Vdroop не оказывают, они лишь являются виновниками нестабильности работы процессора при слишком сильных просадках.
CPU Current Capability — увеличивает допустимое значение максимального тока, подаваемого на процессор. Сильно не увлекайтесь, с увеличением растет так же и температура. Оптимально на 130–140%
VRM Spread Spectrum — лучше выключить и кактус у компьютера поставить, незначительное уменьшение излучения за счет ухудшения сигналов да и шина BLCK скакать не будет.
Все остальные настройки нужны исключительно для любителей выжимать максимум из своих систем любой ценой.
Проверка стабильности
После внесения всех изменений, если компьютер не загружается, необходимо повысить напряжение на ядре или понизить частоту. Когда все же удалось загрузить Windows, открываем программу HWinfo или HWMonitor для мониторинга за состоянием температуры процессора и запускаем Linx или любую другую программу для проверки стабильности и проверяем, стабильны ли произведенные настройки. Автор пользуется для проверки стабильности разгона процессора программами Linx с AVX и Prime95 Version 29.8 build 6.
Если вдруг выявилась нестабильность, то повышаем напряжение в пределах разумного и пробуем снова. Если стабильности не удается добиться, понижаем частоту. Все значения частоты и напряжения сугубо индивидуальны, и дать на 100 % верные и подходящие всем значения нельзя. Как уже писалось, разгон — это всегда лотерея, однако, купив более качественный продукт, шанс выиграть всегда будет несколько выше.
Резюмируем все выше сказанное
Максимально допустимое напряжение на процессор составляет до 1.4V. Оптимально в пределах 1.35V, со всем что выше, возникают трудности с температурой под нагрузкой.
Существует 3 способа установки напряжения:
Adaptive mode — это предпочтительный способ для установки напряжения.
Он работает с таблицей значений VID вашего процессора и позволяет снижать напряжение в простое.
Оптимально найти стабильное напряжение в фиксированном режиме, потом выставить адаптивный режим и вбить это знание для адаптивного режима, далее выставить величину смещения по необходимости.
При разгоне оперативной памяти и использовании XMP профиля, необходимо контролировать напряжение на CPU VCCIO Voltage (VCCIO) и CPU System Agent Voltage (VCCSA).
Подобрать оптимальный уровень работы LLC, VDROOP ДОЛЖЕН БЫТЬ.
Название и принцип работы LLC у разных производителей



