Global C-State Control — что это? (Ryzen)

Global C-State Control — что это такое?
Функция энергосбережения процессоров Ryzen. При активации проц будет скидывать частоту в простое, в результате меньше потребляет энергии и меньше нагрев.
Еще одна похожая функция — Power Supply Idle Control (чтобы отключить нужно выбрать Typical).
На форуме Overclockers один пользователь написал — данная функция обеспечивает парковку ядер. Смысл похож — при небольшой нагрузке процессор переносит задачи со всех ядер на одно, а остальные ядра переводит в режим бездействия.
Важные моменты
Функция в биосе ASUS:
Дополнительная информация, которая может быть полезной:
Регулировка частоты из под Windows
Включенная опция Global C-State Control позволяет регулировать частоту проца из под Windows. Можно опустить частоту до минимума, регулируя в процентах. Открыть настройку можно зайдя в панель управления, выбрав значок Электропитание:
Далее слева выбираем Настройка отключения дисплея либо Настройка перехода в спящий режим. После — Изменить дополнительные параметры питания:
Появится небольшое окошко, где в самом низу можно в минимальном состоянии и максимальном указать в процентах производительность. Если выставить 0% везде — тогда проц будет всегда работать на минимальной частоте:
Заключение
Добавить комментарий Отменить ответ
Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.
Что такое CCD и CCX в процессорах AMD Ryzen
Есть много факторов, ответственных за недавний успех процессоров AMD на потребительском рынке, но, без сомнения, дизайн чиплета или MCM (многочиповый модуль) находится в центре внимания в этом отношении, поскольку этот дизайн позволил AMD увеличили количество ядер до цифр, невиданных ранее на потребительском рынке, и проложили путь к своего рода революции.
Основные комплексы: CCD и CCX на AMD Ryzen
Процессор AMD Ryzen 9 3950X может похвастаться 16 ядрами, в то время как флагманский процессор Threadripper 3990X может похвастаться невероятными 64 физическими ядрами, такими же, как и серверные процессоры фирмы Epyc Rome. Это означает, что при любой цене AMD может предложить больше ядер, больше потоков и, следовательно, лучшую производительность, имея возможность распараллеливать гораздо больше задач, чем Intelроссийских переработчиков, даже после серии снижения цен.
CCD и CCX являются функциональными блоками этих основных комплексов, составляющих процессор. Эти два функциональных блока лежат в основе модульного подхода AMD к процессорам Ryzen, и для их объяснения мы обязательно должны начать с CCX.
Однако, хотя CCX является базовым блоком процессоров AMD, на архитектурном уровне у нас есть Плашки сердечника чиплета or ПЗС, самый низкий уровень абстракции. CCD состоит из двух CCX, спаренных через соединение Infinity Fabric; все части Ryzen, даже четырехъядерные, имеют хотя бы одну ПЗС-матрицу, что означает, что всегда присутствуют как минимум два CCX (разница, как упоминалось ранее, в том, что у них могут быть отключены ядра).
CCX исчезают в архитектуре Zen 3
С процессорами Ryzen 3 и Milan на базе Zen 5000 AMD намерена отказаться от концепции двух CCX в одной CCD. Вместо этого у нас будет 8-ядерная ПЗС-матрица с доступом ко всем 32 МБ кэш-памяти на кристалле, что означает меньшую задержку между ядрами, больше кеша, доступного для всех, и более высокую пропускную способность кеша. Эти факторы значительно повышают производительность рабочих нагрузок, особенно в играх.
Имея это в виду, гораздо легче увидеть самое большое преимущество: простоту масштабирования. Intel использует так называемый монолитный подход к проектированию своих процессоров; Каждый производимый вами процессор имеет особую конструкцию с определенным количеством ядер, и при производстве все ядра определенной конструкции должны быть полностью функциональными (Intel просто отбрасывает нефункциональные части). Для двухъядерных процессоров это имеет смысл, поскольку они дешевле в производстве, но вы теряете масштабируемость, которую имеют процессоры AMC при использовании этой конструкции CCD.
Однако, поскольку эффективность производства кремния никогда не бывает 100%, стоимость возрастает экспоненциально с более крупными конструкциями. Когда вы получаете 10 ядер или больше, вы практически гарантируете, что для каждого функционального процессора Intel выбрасывает по крайней мере одну неисправную часть (имейте в виду, что если только одно из ядер не работает, вся часть отбрасывается). Это означает, что производительность производства Intel очень низка по сравнению с AMD, которые не возражают против того, чтобы кристалл вышел с «плохим» ядром, потому что они просто отключают его и, так сказать, продают этот процессор с минусом ядра и вуаля.
Как пользоваться AMD Ryzen Master
Содержание
Содержание
Утилита AMD Ryzen Master специально разработана для разгона процессоров Ryzen. Она поддерживает все процессоры семейства от Zen до Zen 2, а также серию Ryzen APU и процессоры Ryzen ThreadRipper. Скачать программу можно непосредственно с веб-сайта AMD.
Прежде чем приступать к обзору программы и разгону, вспомним теорию и строение архитектуры процессора Zen 2.
Процессоры семейства Zen2 состоят из чиплета с вычислительными ядрами CCD (Core Complex Die) и чиплета ввода/вывода (cIOD). ССD в свою очередь состоит из двух ССX (Core Complex), один CCX несет в себе до четырех процессорных ядер с поддержкой технологией SMT.
Каждое ядро в процессоре по-своему уникально, оно имеет собственную максимальную частоту и напряжение для стабильной работы. Лучшие и худшие ядра специально маркируются, эту маркировку можно посмотреть в программе Ryzen Master. Золотой звездой отмечено лучшее ядро в CCD, серебряной звездой — ядро чуть хуже. Кружочком обозначено наихудшее ядро.
Все процессоры AMD Ryzen имеют разблокированный множитель тактовой частоты, поэтому вы можете без труда увеличить частоту процессора либо через Bios материнской платы, либо c помощью программы Ryzen Master.
Разгон процессора на примере Zen 2 3900Х
На первом шаге установки программы нужно принять условия лицензионного соглашения о возможной потере гарантии.
После запуска программы нужно снова принять соглашение о риске разгона и потери гарантии в случае выхода процессора из строя.
При первом запуске программы нас встречает такое окно, это упрощенный вид программы.
После перехода в расширенный режим работы программа изобилует разного рода информацией и настройками, поэтому сначала разберемся с интерфейсом.
Интерфейс программы можно разделить на четыре части:
На панели информации расположены встроенные датчики, отображающие информацию о процессоре в режиме реального времени:
В программе предусмотрено четыре профиля, два из которых уже настроены — Creator Mode и Game Mode. Оба эти режима могут помочь решить проблемы с приложениями, не поддерживающими больше восьми ядер процессора. Проблемы могут проявиться в виде слишком низкой производительности, незапуске программ и игр или вылетов.
Если верить AMD, подобные проблемы наблюдались даже в таких свежих играх, как «Far Cry 5» и «Total War: Warhammer II».
В программе Ryzen Master предлагается на выбор 3 варианта разгона процессора:
Разберем каждый режим более подробно.
Precision Boost Overdrive или сокращенно PBO — функция разгона, которая позволяет процессору и материнской плате выходить за пределы спецификации AMD.
Дает возможность устанавливать собственные лимиты PPT, TDC и EDC.
Устанавливать максимально допустимое значение 1000 для всех трех параметров (PPT, TDC и EDC), чтобы отключить лимиты, смысла совершенно нет. Пользы это никакой не принесет, а только лишит материнскую плату системы защиты. Лучше всего подобрать лимиты под свои нужды или систему охлаждения.
Или просто воспользоваться наиболее оптимальными значениями (PPT, TDC, EDC) для конкретных процессоров.
Расширение лимитов положительно отразится на частоте процессора во время сильной нагрузки на все ядра при условии хорошего охлаждения.
Auto Overcloking — это функция разгона, которая работает совместно с Precision Boost Overdrive. Она должна добавлять дополнительное смещение максимальной частоты Boost процессора, работает в диапазоне от 0 до 200 МГц.
На деле производительность либо не увеличивается, либо увеличивается совсем незначительно, а нагрев усиливается примерно на 10 %.
Manual — ручной разгон процессора. Вы сами задаете максимальную частоту и напряжение процессора. Если выбран данный режим, установленные лимиты PPT, TDC и EDC игнорируются.
У ручного режима разгона процессора есть свои эксклюзивные особенности: разгон отдельных ядер внутри CCX, разгон отдельных CCX внутри CCD, разгон отдельных CCD внутри процессора, а также отдельное отключение ядер процессора внутри CCX, которое доступно только в программе Ryzen Master.
Какого-либо реального смысла в отключении ядер нет, даже если они не очень удачные, но для энтузиастов, которые хотят покорить более высокие частоты, данный способ может быть полезен.
Фиксированный разгон процессора по всем ядрам ограничен частотным потенциалом наихудшего ядра внутри процессора.
Помимо разгона процессора в Ryzen Master есть режим Eco Mode. Он снижает максимальные лимиты потребления процессоров Ryzen с TDP 105/95 Вт до 65 Вт, а процессоры с TDP 65 Вт — до уровня 35 Вт. Это положительно отражается на температуре процессора.
Плюсы и минусы разных способов разгона
Мы рассмотрели все возможности разгона процессоров с помощью программы Ryzen Master.
Но в действительности путей разгона всего два, и зависят они от степени удачности вашего процессора и того, как используется процессор (игры или рендеринг 24/7).
Первым делом проверяем, насколько удачен процессор. Выставляем напряжение 1,35-1,4V и фиксированную частоту 4400-4500 МГц. Если процессор стабилен, то подбираем минимальное напряжение для данной частоты, на этом все.
Плюсы использования ручного разгона:
Минусы использования ручного разгона:
Если процессор не очень удачен, и для разгона в ручном режиме по всем ядрам до частоты 4100-4200 МГц надо поднимать напряжение до 1,35-1,4V, то в данном случае более выгодно будет несколько расширить лимиты энергопотребления и установить отрицательное смещение напряжения. Это несколько увеличит частоту при нагрузке на все ядра, а уменьшение напряжения снизит рабочую температуру как в простое, так и нагрузке.
Коэффициент смещения (-offset) очень индивидуальный параметр и подбирается конкретно под ваш процессор. Слишком сильное смещение напряжения приведет либо к нестабильности работы компьютера, либо к уменьшению производительности.
Свежие партии процессором Zen 2 выпуска 2020 года разгоняются в ручном режиме значительно лучше, и частота 4400 МГц не кажется уже такой недосягаемой. Даже 12-ядерный процессор Ryzen 9 3900X 2007 SUT при фиксации частоты 4300 МГц и напряжении 1,287V остается полностью стабилен.
Плюсы использования расширенных лимитов:
А теперь небольшое тестирование различных режимов работы процессора и какое влияние они оказывают на производительность, энергопотребление и температуру.
Если вам попался не совсем удачный процессор не стоит сильно расставиться, разница между использованием ручного режима разгона не столь велика, даже по сравнению с режимом Auto (настройки по умолчанию).
Упомянутые товары
Решил воспользоваться утилитой AMD Ryzen Master.
Хотел зафиксировать вольтаж и частоты, чтобы не прыгали в простое как сумасшедшие.
Создал два профиля (работа и игры). Но при перезагрузке, настройки сбрасываются по умолчанию.
Неужели программисты АМД не предусмотрели автозапуска программы? Это-же полный абсурд!
Помогите, товарищи! Может просто я слепошарый и не нашёл нужную настройку?
Система Ryzen5-3600X + GigaByte B450 AORUS PRO
P.S. Очень разочаровался в процессоре. Эти скачки вольтажа и частот просто дико раздражают. Кулер постоянно меняет скорость, температура прыгает. Ну не должен так работать турбобуст. Неправильно когда от шевеления мышки частоты подскакивают до 4400, неправильно когда в простое на рабочем столе вольтаж прыгает с 1 до 1,5. Это просто чудовищная недоработка и позор. Я прошёл почти все поколения процов, начиная с 386-го, но не разу не был так разочарован. Я очень тепло отношусь к АМД, всегда вспоминаю их гениальный проц Athlon-XP+ на ядре Barton. Последние годы сидел на интеле, i-5 2400, там тоже есть турбобуст, но вольтаж не прыгает как сумасшедший. Ни один обзорщик на ютубе не говорил об этом, когда нахваливал процы АМД Райзан этой серии. Как АМД могли такое придумать, чтобы пользователь в 2021 году ломал голову и вручную пытался отрегулировать турбобуст?
Мысли в слух. По идее турбобуст должен срабатывать после 2-3 сек работы проца в 100% нагрузке, вот тогда и должны повышаться частоты и вольтаж. Частоты не должны прыгать на максимум после открытия новой вкладки в браузере или документа word. Да они прыгают на максимум даже при шевелении мышки на пустом рабочем столе. Ну это просто лажа. Позор компании АМД за такой продукт!
не расстраивайся, то с чем ты столкнулся упирается в ручной разгон. а ты сидишь на авторазгоне или псевдоавторазгоне(pbo)
Просто настрой вентиляторы в тихий режим, у Гигабайт моего, к примеру, это silent, или тихо, если русский включить
И если раньше (во времена пентиумов-3) в ходу был термин про «кукурузные» гигагерцы интела, то теперь впору говорить о»кукурузных» нанометрах АМД. Техпроцесс меньше, а греется сильнее чем на интеловском 14 нМ.
Краткое руководство по управлению питанием процессора
Как центральный процессор может сокращать собственное энергопотребление? Основы этого процесса — в статье.
Центральный процессор (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.
Мониторинг счетчиков С-состояний (для ядра):












