Turbo ratio что это
Как разогнать процессор
Что такое разгон (оверклокинг)? Это изменение штатного режима работы устройств компьютера с целью увеличить их быстродействие и повысить общую производительность системы. Если не брать во внимание экстремальный оверклок, цель которого – выжать из компонента максимум и зафиксировать рекорд, разгон дает возможность удовлетворять растущие потребности приложений и игр без замены оборудования на более мощное.
Сегодня я расскажу, как разогнать процессор (ЦП). Рассмотрим методики и средства, с помощью которых определяют производительность и стабильность разогнанной системы, а также – простой способ ее возврата к «доразгонному» состоянию.
Прежде чем начать
Разгоняться способны любые современные процессоры, даже мобильные, хотя последним это, по мнению их создателей, противопоказано из-за невозможности обеспечить адекватное охлаждение. Да, разогнанный «камень» (сейчас и далее будем иметь ввиду процессоры стационарных ПК) потребляет больше энергии и выделяет больше тепла, поэтому первое, о чем стоит позаботиться – это о хорошей системе охлаждения. Она может быть и воздушного, и жидкостного типа, главное, чтобы величина ее теплоотвода (TDP) соответствовала или превышала тепловую мощность «камня».
Вторая важная деталь – блок питания (БП). Если его сил едва хватает на текущее энергопотребление устройств, оверклок он не потянет. Для расчета необходимой мощности БП с учетом разгона воспользуйтесь онлайн-калькулятором: выберите из списков комплектующие, которые установлены на вашем ПК, и нажмите «Calculate».
Версия калькулятора «Expert» позволяет учесть вольтаж и такты ЦП после разгона, а также – процент нагрузки на него (CPU Utilization). Последнее выбирайте по максимуму – 100%.
Далее обновите BIOS до последней стабильной версии. Нередко это улучшает разгонный потенциал всей системы.
После обновления BIOS погоняйте проц на максимальной нагрузке для оценки стабильности его работы в неразогнанном состоянии. Можете использовать для этого бесплатные утилиты Prime95, S&M или OCCT. Ошибки, выключения, перезагрузки во время тестирования говорят о том, что компьютер не готов к оверклокингу из-за недостатка охлаждения, проблем по питанию или других причин.
Ниже показаны параметры тестирования на стабильность программой OCCT:
Внимание! Показанный на скриншоте тест очень сильно нагружает и нагревает процессор. Запускайте его только тогда, когда уверены в достаточности охлаждения. И никогда не запускайте на ноутбуках – это может вывести аппарат из строя.
Методики разгона
Существует 2 основных метода разгона ЦП: путем увеличения опорной тактовой частоты шины FSB (группы сигнальных линий на материнской плате, которая обеспечивает связь между процессором и другими устройствами) и множителя процессора (числа, на которое он умножает частоту шины; в результате этой операции получается значение частоты самого «камня»).
Первым параметром управляет тактовый генератор BCLK на материнской плате (иначе его называют клокером или чипом PLL). Вторым – сам проц. Для изменения множителя ЦП необходимо, чтобы он был разблокирован на повышение, а этим могут похвастаться далеко не все модели. «Камни» с разблокированным множителем, например, Intel K-серии или AMD FX, разгоняются до более высоких показателей, чем простые, но и стоят дороже.
Разгон по шине FSB заключается в увеличении частоты тактового генератора BCLK. Это рискованный способ, так как вместе с увеличением скорости шины повышается скорость памяти (решения, где ЦП и память разгоняются независимо друг от друга, встречаются нечасто), а на старых материнских платах – и других устройств, подключенных к периферийным шинам. Словом, в нештатный режим работы переходит вся система. Однако если у вас более-менее новый компьютер, завышение опорной частоты вряд ли выведет его из строя. В случае установки слишком большого значения система просто перезапустится и сбросит его на умолчания.
Разгонять ЦП по шине можно как под Windows – с помощью утилит, так и через настройки BIOS. Недостаток первого способа – избирательность, поскольку утилиты поддерживают ограниченный круг устройств. Часть таких улилит выпускают производители материнских плат, но и они предназначены не для всей линейки их продуктов. Списки устройств, которые поддерживаются конкретной программой, обычно приводятся на официальных сайтах или в документации к программам.
Оверклок через увеличение множителя ускоряет только процессор, так как опорная частота остается неизменной.
Разгоняем «камень» с помощью программ
В качестве примера рассмотрим SetFSB – утилиту, поддерживающую различные генераторы BCLK как старых, так и современных материнских плат. Перед использованием SetFSB узнайте точную модель вашего генератора – найдите его на самой плате или посмотрите в документации к ней.
Генератор BCLK может выглядеть так:
Или иметь более вытянутую форму корпуса. Но, думаю, разберетесь.
После запуска программы:
Если что-то пошло не так, просто перезагрузите компьютер – настройки будут сброшены.
Другие утилиты для разгона:
Оверклок через BIOS
Разгонять «камень» изменением параметров BIOS не более сложно, чем с помощью программ. Главное, не торопиться.
В настройках BIOS Setup или графической оболочки UEFI (на скриншоте показана вкладка «AI Tweaker» UEFI материнской платы ASUS) нас интересуют следующие опции:
Как я говорил, умножением значений этих двух опций получают собственную частоту процессора. В моем примере она равна 3500 MHz. (200*17,5).
Для повышения быстродействия ЦП можете изменить один или оба этих параметра. Так, чтобы поднять частоту «камня» до 4000 MHz, достаточно увеличить CPU Ratio до 20, а FSB Clock оставить прежним. Но если множитель заблокирован, остается работать только с шиной FSB.
Значение FSB Clock увеличивают шагами по 5-10 Mhz, после сохранения настройки каждый раз перезагружая ПК и отслеживая в BIOS температуру ЦП.
При значительном повышении CPU Ratio и FSB Clock иногда полезно слегка увеличить напряжение питания проца (опция VCORE Voltage, CPU Core, CPU Voltage и т. п.). В моем примере меняться будет смещение CPU Offset Voltage. Шаг изменения – 0,001 V. Однако не увлекайтесь, так как при повышении этого показателя вырастет температура не только «камня», но и элементов VRM (регулятора напряжения его системы питания), что может вывести их из строя.
Поскольку ускорение шины FSB влияет на работу оперативной памяти, для повышения стабильности разогнанной системы опытные оверклокеры меняют значение ее частоты на минимальное, чтобы ему было, куда расти. В разных версиях BIOS опция называется Memory Frequency, SDRAM Frequency Ratio, System Memory и т. п.
Некоторые дополнительно отключают технологии энергосбережения ЦП – Turbo Core, Cool’n’Quiet, С1Е и т. д., для сохранения достигнутого быстродействия при высоких нагрузках. Но это целесообразно только для тех, кто постоянно нагружает компьютер по максимуму.
Какой должна быть температура разогнанного «камня»
Современные процессоры нормально переносят температуру в 80-85 градусов, но более сильного нагрева всё же лучше не допускать. Соответственно, без нагрузки температура разогнанного проца не должна превышать 55-60 градусов.
Для старых ЦП температурный максимум составляет 65-70 градусов, а нагрев без нагрузки не должен быть выше 35-45 градусов.
Тестирование системы на стабильность
Насколько стабильно будет работать разогнанный компьютер, помогут определить те же утилиты, которыми вы проверяли его перед разгоном. Я использую программу OCCT (OverClock Checking Tool),поэтому остановлюсь подробнее на ее тестах.
Нас интересует, как будут держать нагрузку основные компоненты ПК – ЦП, память, чипсет и блок питания. Рекомендую начинать с комплексной проверки трех первых узлов. Если тест пройдет без ошибок, значит, при обычной работе с ними также не должно быть проблем. При нестабильности (ошибках, зафиксированных программой, перезагрузках, выключениях, синих экранах смерти), число нагружаемых узлов уменьшаем до 1-2 и методом исключения определяем, что именно не справляется.
Во время тестирования OCCT отображает в окне «Мониторинг» основные параметры системы – уровни нагрузки, температуры, напряжения и прочее, а после окончания теста сохраняет их в виде графиков.
Итак, комплексную проверку ЦП, чипсета и памяти – «Большой набор данных» запускаем с вкладки CPU:OCCT. Время проведения – 1 час. Тип – Авто. Для запуска нажимаем кнопку «On» и наблюдаем за изменением показателей в окне «Мониторинг».
Если тест не пройден, выбираем «Средний набор данных» – проверку проца и памяти. Или «Малый набор» – только проца.
Следующий тест мы уже рассматривали. Это CPU:Linpack, который нагревает ЦП по максимуму. Он дает возможность выявить проблемы, которые возникают при экстремальной нагрузке.
Продолжительность теста Linpack тоже составляет 1 час. Установите для него такие же настройки, как по время проверки перед разгоном: максимум памяти – 90% и флажки возле всего, что находится ниже.
Последнее, что желательно узнать, – справится ли с новой нагрузкой блок питания. Для этого в программе OCCT предусмотрен тест Power Supply. Он заставляет элементы блока питания работать с максимальной отдачей, поэтому слабый или некачественный БП может его не выдержать. Словом, если не уверены, лучше не рискуйте. Однако слабый блок питания вряд ли способен удовлетворить «аппетит» разогнанной системы.
Для проведения теста Power Supply установите настройки, как показано на скриншоте ниже. Плюс отметьте флажками все доступные пункты.
Как снять разгон
Если вы переусердствовали и компьютер стал выключаться или перезагружаться сразу после старта, не беда. Отметить переразгон очень легко – так же, как любые другие ошибочные настройки BIOS. Просто сбросьте BIOS на умолчания.
Понравилась статья? Подпишитесь на канал, чтобы быть в курсе самых интересных материалов
Разгон процессора через BIOS
Основные моменты:
Выполнение эталонных тестов.
BIOS (базовая система ввода-вывода) — это программное обеспечение системной платы, которое загружается до операционной системы. В нем имеется графический интерфейс для настройки аппаратного обеспечения системной платы. С помощью BIOS можно изменить такие параметры как напряжение и частота, и поэтому BIOS можно использовать для разгона центрального процессора с целью достичь более высокой тактовой частоты и потенциально более высокой производительности.
В этой статье предполагается, что вы понимаете сущность и принципы оверклокинга. Если вы незнакомы с оверклокингом и хотите лучше изучить основы, посмотрите этот обзор оверклокинга, чтобы войти в курс дела.
Также убедитесь, что вы используете подходящее программное обеспечение.
Прежде чем пытаться использовать BIOS для оверклокинга, стоит взглянуть на программное обеспечение, которое может упростить этот процесс. Например, утилита Intel® Extreme Tuning Utility (Intel® XTU) может стать удобным решением для тех, кто незнаком с оверклокингом. Еще более простой автоматизированный инструмент Intel® Performance Maximizer (Intel® PM) предназначен для новейших процессоров Intel® Core™, и все подробности о нем вы можете узнать здесь.
Утилита BIOS обеспечивает наиболее полный доступ ко всем доступным настройкам производительности системы, что делает ее полезнее для целей разгона. Если вы хотите вручную настраивать все параметры системы и контролировать все аспекты оверклокинга, вам следует использовать BIOS.
Прежде чем начать, обязательно обновите BIOS до последней версии. Это позволит вам использовать все новые возможности и исправления, выпущенные производителем системной платы. Поищите свою системную плату в интернете или проконсультируйтесь с документацией, чтобы найти правильную процедуру обновления BIOS.
Внешний вид графического интерфейса BIOS зависит от производителя системной платы. Для доступа к BIOS нужно нажать определенную клавишу, обычно F2 или Delete, спустя несколько мгновений после включения компьютера, но до появления экрана загрузки Windows. Конкретные указания можно найти в документации по системной плате.
Изменение тактовой частоты или напряжения может привести к аннулированию любых гарантийных обязательств на продукцию и снизить стабильность, производительность и срок службы процессора и других компонентов.
Параметры, важные для оверклокинга
BIOS обеспечивает доступ ко всему аппаратному обеспечению системы, и поэтому в утилите имеется много меню. Структура BIOS может отличаться в зависимости от производителя системной платы, поэтому точные названия или расположение элементов меню также могут отличаться. Поищите местонахождение необходимых параметров на онлайн-ресурсов или исследуйте меню BIOS, пока не найдете желаемый параметр.
Далее приведен перечень наиболее полезных для оверклокинга параметров:
Мониторинг основных показателей системы
При оверклокинге необходимо обеспечить тщательное наблюдение за системой, поскольку изменения электропитания аппаратного обеспечения могут повлиять на рабочую температуру.
В BIOS имеются очень ограниченные возможности мониторинга системы, поэтому лучше использовать для этой цели программное обеспечение, работающее в Windows. Intel® XTU предлагает полный набор инструментов для мониторинга системы, также доступны другие инструменты, в том числе CPU-Z, CoreTemp, HWiNFO32 и т. д.
Теперь вы понимаете настраиваемые параметры и можете приступить к тестированию производительности системы.
Шаг 1: определение исходной производительности
Первый шаг оверклокинга заключается в определении исходной производительности системы с помощью программы тестирования производительности. Это позволяет легко сравнивать показатели производительности после оверклокинга и оценивать улучшения. Поскольку программу тестирования нельзя запустить из BIOS, вам потребуется программа для Windows.
Существует много методов тестирования аппаратного обеспечения, в том числе для этого можно использовать ПО Intel® Extreme Tuning Utility. В нашем более полном руководстве по оверклокингу мы перечислили еще несколько полезных инструментов.
После определения исходной производительности запишите полученные показатели, чтобы вы могли сравнить с ними полученные результаты.
Краткое руководство по управлению питанием процессора
Как центральный процессор может сокращать собственное энергопотребление? Основы этого процесса — в статье.
Центральный процессор (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.
Мониторинг счетчиков С-состояний (для ядра):