Intel c state tech что это - TurboComputer.ru
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд (пока оценок нет)
Загрузка...

Intel c state tech что это

Intel c state tech что это

Процессоры Intel поддерживают несколько технологий для оптимизации энергопотребления. В этой статье (перевод [1]) дается обзор p-состояний (оптимизация напряжения питания и частоты CPU во время работы) и c-состояний (оптимизация потребления мощности, если ядро не выполняет ни одной инструкции).

[P-состояния]

Во время выполнения кода операционная система и CPU могут оптимизировать энергопотребление с помощью различных P-состояний (P это сокращение от «performance», что означает «производительность»). В зависимости от требований, CPU работает на разных частотах. Состояние P0 соответствует самой высокой частоте (с самым высоким напряжением питания).

Для процессоров Intel до архитектуры Haswell/Broadwell, желаемая частота (и соответствующее ей напряжение питания) указывается операционной системой путем записи соответствующих величин в специальные регистры процессора [2][3].

В архитектуре Skylake операционная система может оставить управление P-состояниями аппаратуру CPU (Speed Shift Technology, Hardware P-states [4]). С Kaby Lake эти функции были дополнительно оптимизированы [5].

Speed Schift (сдвиг скорости). P-состояния определяются в BIOS, и управляются операционной системой. Технология Speed Schift дает полное или частичное управление частотой тактирования CPU (может осуществляться либо во всем диапазоне, либо в узком окне). Speed Schift требует поддержки со стороны операционной системы (Windows 10 с новыми обновлением эту функцию поддерживает), также требуется любой процессор Intel 6 Skylake. Сдвиг скорости означает ускоренный отклик на запросы изменения производительности со стороны ПО (JavaScript, инструменты офиса, веб-браузеры). Технология сдвига скорости обеспечивает увеличение производительности для обычных задач, при этом незначительно снижается общее энергопотребление, т. е. эффективность работы всей системы повышается.

[C-состояния]

В отличие от P-состояний, которые были разработаны для регулирования потребления мощности во время выполнения кода (т. е. в нормальном рабочем состоянии процессора), C-состояния используются для оптимизации энергопотребления в режиме ожидания (idle mode, т. е. когда никакой код процессором не выполняется).

Типовые C-состояния следующие:

C0 – Active Mode: код выполняется, это состояние соответствует одному из P-состояний.
C1 – Auto Halt (автоматическая приостановка).
C1E – Auto halt, low frequency, low voltage (автоматическая приостановка с пониженной частотой и напряжением питания).
C2 – Временное состояние перед переходом в C3. Память в рабочем состоянии.
C3 – Сброс кэшей L1/L2 (flush), выключение тактовых частот.
C6 – Сохранение состояний ядра перед выключением, и выключение PLL (т. е. прекращение синтеза тактовых частот).
C7 – C6, плюс может быть сброшен LLC (LLC означает кэш самого высокого уровня, т. е. самая медленная память кэш).
C8 – C7, плюс должен быть сброшен LLC.

Примечание *: показано в грубом приближении.

C-состояния можно отличить друг от друга по C-состояниям ядра (Core C-states или CC-states), состояниям корпуса (Package C-states или PC-states) и логическим состояниям. В большинстве случаев операционная система устанавливает определенное состояние для ядра путем выполнения команды MWAIT.

Примечание: «состояние ядра» (core state) относится к ядру, которое находится в состоянии самого большого потребления энергии (наиболее активно).

[Запрет в BIOS функции CPU Power Saving]

В некоторых случаях рекомендуется деактивировать в BIOS настройки экономии питания CPU. Здесь показано, где найти эти опции и как их запретить, чтобы опции управления питанием (CPU P State Control и CPU C State Control) были полностью запрещены в BIOS (на примере материнской платы Supermicro X10DRi и процессора Intel Xeon E5 2620v4.

Как запретить CPU Power Saving:

1. Во время начального процесса загрузки (сразу после включения питания или сброса) нажмите специальную клавишу для входа в BIOS. Чаще всего это Del (Delete) или F2, для материнской платы Supermicro X10DRi это клавиша Delete.

2. Перейдите в раздел настроек Advanced CPU Configuration -> Advanced Power Management Configuration.

3. Поменяйте настройку Power Technology в состояние Custom и Energy Efficient Turbo в состояние Disable.

4. Перейдите в раздел CPU P State Control, деактивируйте EIST (P-States) and Turbo Mode.

5. Перейдите в раздел CPU C State Control, поменяйте Package C State Limit на C0/C1 state и деактивируйте CPU C3 Report, CPU C6 Report и Enhanced Halt State (C1E).

Часть 1. Подсистема CPUfreq

Узнайте обо всех компонентах настройки энергетической отдачи для System x с установленной Linux

Серия контента:

Этот контент является частью # из серии # статей: Экономия энергии в Linux

Этот контент является частью серии: Экономия энергии в Linux

Следите за выходом новых статей этой серии.

Об этой серии статей

В этой серии статей рассказывается о том, как настроить сервер IBM System x с установленной Linux для получения наибольшей энергоэффективности. Вы узнаете о регуляторах в составе ядра (in-kernel governors) и применении их настроек; также показано влияние настроенных регуляторов на производительность и рабочую нагрузку в системах электронной торговли. Практические иллюстрации даются для сервера System x с установленным дистрибутивом Red Hat Enterprise Linux версии 5.2 (RHEL 5.2), но они будут верными для любого ядра версии 2.6.x и любого процессора, поддерживающего частотное масштабирование.

В первой части кратко описываются компоненты и принципы, на основе которых делается настройка производительности системы, в том числе: подсистема Linux CPUfreq, режимы C-state и P-state и пять регуляторов в составе ядра (in-kernel governors).

Во второй части приводятся подробности общих настроек подсистемы CPUfreq в Linux, пяти регуляторов —performance, powersave, userspace, ondemand и conservative— и их настроек.

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

Экономия энергопотребления — это вопрос, который должны учитывать все, кого касаются проблемы эксплуатационных расходов или охраны окружающей среды. В этой статье мы рассмотрим, как, не снижая производительности, можно изменить рабочую частоту процессора с помощью подсистемы CPUfreq в Linux и регуляторов в составе ядра. Однако настройки энергопотребления ограничены возможностями конкретного аппаратного обеспечения (подробно этот вопрос рассматривается во второй части этой серии статей).

Подсистема CPUfreq в Linux

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

Для настройки статической или динамической политики потребления энергии системой в структуре CPUfreq используются регуляторы и демоны. Динамические регуляторы, которые будут обсуждаться далее в этой статье, переключают частоту процессора исходя из основе коэффициента его использования для экономии энергии без ущерба для производительности. Эти регуляторы также дают возможность некоторых индивидуальных пользовательских настроек масштабирования частоты. Кроме того, настройки sched_mc_power_savings и sched_smt_power_savings позволяют выполнять объединение потоков для снижения энергопотребления.

Режимы C-state и P-state

Перед началом обсуждения CPUfreq рассмотрим режимы C-state и P-state.

Режимы C-state: почти полное бездействие

Режимы C-state, за исключением режима C0 , когда процессор находится в работающем состоянии, — это режимы бездействия, когда процессор перестаёт подавать тактовые импульсы отдельным своим компонентам и отключает их для экономии энергии. Чем выше уровень режима C-state, тем больше компонентов он охватывает (остановка тактирования ядра процессора, прекращение подачи прерываний и т.д.) и тем больше экономия. Во время простоя системы эти режимы помогают сэкономить энергию.

Режим C1E (известный также как расширенный C1, Enhanced C1 или расширенный режим C1, C1 Enhanced Mode) также помогает экономить энергию при бездействии системы. C1E экономит больше энергии, чем традиционный режим C1 (который только останавливает тактовый сигнал), так как дополнительно снижает напряжение и частоту. В действительности C1E позволяет снизить напряжение и частоту быстрее, чем любой из регуляторов CPUfreq.

Не у всех процессоров есть эти возможности, но для того, чтобы использовать режимы C и C1E и получить значительную экономию энергии при простое, необходимо включить опции CPU C State и C1E (или им подобные) в BIOS. Некоторые системы поддерживают режимы глубокого сна C3 и даже C6.

Помните, чем выше уровень режима C-state, тем больше экономия энергии.

Режимы P-state: рабочее состояние

Режимы P-state — это рабочие состояния, задающие тактовую частоту и напряжение питания процессора. Чем больше номер режима, тем ниже частота и напряжение питания процессора. Регуляторы CPUfreq используют режимы P-state для изменения тактовой частоты и понижения потребления энергии.

Чтобы использовать в системе режимы P-state и регуляторы CPUfreq, необходимо включить опцию Processor Performance States (или ей подобную) в BIOS. На рисунке1 – простая диаграмма режимов C-state и P-state.

Рисунок1: режимы C-state и P-state

Обязательные требования для работы CPUfreq

Чтобы использовать подсистему CPUfreq, необходимы условия, описанные в этом разделе. В RHEL 5.2 подсистема CPUfreq включена по умолчанию (как правило, она включена по умолчанию также и в других дистрибутивах). Чтобы быстро это проверить, посмотрите на файловую систему /sys. Если вы увидите каталог cpufreq в пути /sys/devices/system/cpu/cpu*/cpufreq/, то подсистема CPUfreq в вашей системе сейчас включена. Если каталог отсутствует, то для того, чтобы он появился, следуйте инструкциям, данным ниже.

Сначала нужно убедиться, что процессор поддерживает масштабирование частоты. Ниже в разделе Ресурсы приводится ссылка на список аппаратных платформ, поддерживающих подсистему CPUfreq.

Далее посмотрите на конфигурационный файл ядра. Все необходимые настройки, как правило, отмечены по умолчанию в ядре RHEL 5.2, но для того, чтобы получить желаемое состояние при старте системы, некоторые из этих настроек можно изменить. В разделе CPU Frequency scaling конфигурационного файла ядра располагаются следующие опции:

Читайте также:  Формат MKV чем открыть на телевизоре

Чтобы использовать масштабирование тактовой частоты, эта опция должна иметь значение y .

CONFIG_CPU_FREQ_GOV_PERFORMANCE, CONFIG_CPU_FREQ_GOV_POWERSAVE,
CONFIG_CPU_FREQ_GOV_USERSPACE, CONFIG_CPU_FREQ_GOV_ONDEMAND,
CONFIG_CPU_FREQ_GOV_CONSERVATIVE

Эти опции относятся к каждому из доступных регуляторов CPUfreq. Чтобы использовать нужный регулятор, установите в конфигурации значение y или m . При значении y регулятор будет встроен в ядро, при использовании m модуль ядра нужно будет загружать при каждой загрузке системы с помощью одной из нижеследующих команд:

modprobe cpufreq_performance
modprobe cpufreq_powersave
modprobe cpufreq_userspace
modprobe cpufreq_ondemand
modprobe cpufreq_conservative

Кроме того, в случае использовании m модули можно загружать при старте системы, указав их в файле /etc/rc.local. Также заметьте, что включить по умолчанию регулятор userspace или performance можно, установив для CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE или для CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE значение y .

Для использования sched_mc_power_savings и sched_smt_power_savings , которые описаны ниже, опции CONFIG_SCHED_MC и CONFIG_SCHED_SMT в разделе Processor type and features конфигурационного файла ядра также должны иметь значение y .

Чтобы изменения в конфигурации вступили в силу, нужно пересобрать и загрузить ядро. Возможно, вы знаете, как это делается, но если какие-то детали вам неизвестны, обратитесь к любому из многочисленных источников документации по сборке ядра Linux (кое-что приведено в разделе Ресурсы).

Регуляторы

В подсистеме CPUfreq доступны для использования пять регуляторов. Они устанавливают тактовую частоту процессора согласно определённым критериям; некоторые из них динамически изменяют частоту при изменении входных данных от системы или пользователя. В этой статье рассматривается дистрибутив RHEL 5.2 на основе ядра 2.6.18, в котором все эти регуляторы доступны. Давайте познакомимся с ними; в частях 2 и 3 серии эти регуляторы описываются более подробно.

Регулятор performance (производительность): самая высокая частота

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

Регулятор powersave (энергосбережение): самая низкая частота

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

На практике этот регулятор часто не дает экономии энергии, поскольку самая большая экономия достигается за счет использования режимов C-state. Использование регулятора powersave увеличивает время работы процесса, поскольку он будет использовать наименьшую частоту; в результате система дольше не перейдет в состояние простоя и потому не получит экономию от вхождения в режим C-state.

Регулятор Userspace: ручная настройка частоты пользователем

Далее идёт регулятор userspace, дающий возможность вручную настраивать, выбирать и выставлять частоту. Этот регулятор также работает совместно с демонами частоты процессора, запущенными в пользовательском пространстве для регулирования частоты (мы поговорим про демоны и приведём для них примеры во второй части). Этот регулятор полезен для установки индивидуальной политики энергорегулирования, для которой нет готовых настроек и которая недоступна в других регуляторах. Также этот регулятор можно использовать для экспериментов с политиками.

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

Регулятор Ondemand: изменение частоты по уровню загрузки процессора

Впервые появившийся в ядре версии 2.6.10 регулятор ondemand стал первым регулятором в составе ядра, предназначенным для динамического изменения частоты процессора в зависимости от загрузки самого процессора. Регулятор ondemand проверяет уровень использования процессора, и если определённый порог превышен, регулятор выставляет наиболее высокую частоту из доступных. В случае, если процент использования ниже порога, регулятор понижает частоту до следующей возможной отметки.

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

Регулятор conservative: более плавный вариант ondemand

Регулятор conservative впервые появился в ядре версии 2.6.12, он базируется на регуляторе ondemand. Он тоже динамически настраивает частоты в зависимости от загрузки процессора, однако ведёт себя немного по-другому и даёт возможность увеличивать мощность постепенно. Регулятор conservative проверяет процент использования процессора и в случае, если значение выходит за нижний или верхний порог, постепенно повышает или понижает частоту до следующей возможной, вместо того чтобы сразу установить наивысшую частоту, как это делает регулятор ondemand.

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

Далее

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

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

Ресурсы для скачивания

Похожие темы

  • Оригинал статьи Reduce Linux power consumption, Part 1: The CPUfreq subsystem (EN).
  • Список аппаратного оборудования, поддерживающего подсистему CPUfreq.(EN)
  • Дополнительные материалы по вопросам энергопотребления: (EN)
    • «How to make use of Dynamic Frequency Scaling»: учебное пособие
    • «Enhanced Intel SpeedStep Technology and Demand-Based Switching on Linux»: учебное пособие
    • «Making power policy just work»: статья про планировщики потребления энергии
    • The article «CPU frequency scaling in Linux»: статья
    • «Linux CPUfreq Governors»: документация по функциям масштабирования частоты процессора и напряжения в ядре Linux
    • «Power Management Gu >

    Комментарии

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

    Thread: How to Disable C-State for CPU in BIOS

    Thread Tools
    Search Thread
    Display
    • Linear Mode
    • Switch to Hybrid Mode
    • Switch to Threaded Mode

ROG Enthusiast Array volts240@live.co.uk PC Specs

volts240@live.co.uk PC Specs
Laptop (Model)?
MotherboardAsus Maximus Ranger VII
ProcessorIntel i7-4970K
Memory (part number)KHX18C10AT3K2/16X
Graphics Card #1GTX-970
Graphics Card #2GTX-970
Sound CardZ97 Realtek
MonitorViesa 32″
Storage #1Plextor M6e 256GB M.2-2280 SSD
CPU CoolerCorsair H105 73.0 CFM Liquid
CaseCorsair Air 540 ATX Mid Tower
Power SupplyThermaltake Smart M 850W 80+
KeyboardCorsair K30 / Razer Tartarus
MouseRazer Abyssus 3.5G
HeadsetLogitech H600
OSWindows Home Premium x64
Network RouterBTHH5

Join Date Oct 2014 Reputation 10 Posts 51

How to Disable C-State for CPU in BIOS

«Disabling C-state for my CPU in bios was the biggest boost I’ve noticed to reduce crashes»

I read this on a forum for my game, which crashes alot

Anybody know precisely what to tweak in BIOS

There’s a lot of CPU tweaks .. i’m not au fait with messing this deep .

Asus Maximus Ranger VII

16 GB HyperX Beast

Plextor M6e 256GB M.2 — 2280 SSD

CPU Cooler Corsair H105 73.0 CFM Liquid

PSU: Thermaltake Smart M 850W 80+ Windows Home Premium x64

ROG Guru: Black Belt Array Korth PC Specs

Korth PC Specs
MotherboardASUS X99 R5E (BIOS2101/1902)
ProcessorHaswell-EP E5-1680-3 SR20H/R2 (4.4GHz)
Memory (part number)Vengeance LPX 4x8GB SS DDR4-3000 (CMK32GX4M4C3000C15)
Graphics Card #1NVIDIA Quadro GP100GL/16GB, 16xPCIe3, NVLink1 (SLI-HB)
Graphics Card #2NVIDIA Quadro GP100GL/16GB, 16xPCIe3, NVLink1 (SLI-HB)
Sound CardJDS Labs O2+ODAC (RevB), USB2 UAC1
MonitorASUS PG278Q
Storage #1Samsung 850 PRO 512GB SSDs, 4xSATA3 RAID0
Storage #2Comay BladeDrive E28 3200GB SSD, 8xPCIe2
CPU CoolerRaijintek NEMESIS/TISIS, AS5, 2xNH-A14
CaseObsidian 750D (original), 6xNH-A14
Power SupplyZalman/FSP ZM1250 Platinum
HeadsetPilot P51 PTT *modded*
OSArch, Gentoo, Win7x64, Win10x64
Network RouterActiontec T3200M VDSL2 Gateway
Accessory #1TP-Link AC1900 Archer T9E, 1xPCIe
Accessory #2ASUS/Infineon SLB9635 TPM (TT1.2/FW3.19)
Accessory #3ASUS OC Panel I (FW0501)

Join Date Mar 2015 Reputation 152 Posts 2,719

C-States are power-saving features built into the processors. They basically shut down or inactive circuit components when they’re not needed, then repower them when demand is anticipated. Full explanation here.

I can’t think of any way C-States would interfere with games, aside from failing to properly reactivate hardware when resuming from sleep/hibernate.

You can always do a cold boot — fully disconnect and shutdown all power, then start up — if C-States cause improper hardware initialization. Soft boots (like Windows Restart) or warm boots (pressing Reset button) may not always work.

Your problems might be caused by a PSU underrated for your hardware load.

Some games (like BF4) make awful use of multicore/multithreading processor resources and can perform better on some machines with HyperThreading disabled. This is a simple «Enable/Disable/Auto» BIOS setting on all HT-capable Intel motherboards.

Victor Stinner blog 3

Ten years ago, most computers were desktop computers designed for best performances and their CPU frequency was fixed. Nowadays, most devices are embedded and use low power consumption processors like ARM CPUs. The power consumption now matters more than performance peaks.

Intel CPUs evolved from a single core to multiple physical cores in the same package and got new features: Hyper-threading to run two threads on the same physical core and Turbo Boost to maximum performances. CPU cores can be completely turned off (CPU HALT, frequency of 0) temporarily to reduce the power consumption, and the frequency of cores changes regulary depending on many factors like the workload and temperature. The power consumption is now an important part in the design of modern CPUs.

Читайте также:  Не заходит в рекавери андроид что делать

Warning! This article is a summary of what I learnt last weeks from random articles. It may be full of mistakes, don’t hesitate to report them, so I can enhance the article! It’s hard to find simple articles explaining performances of modern Intel CPUs, so I tried to write mine.

Tools used in this article

This article mentions various tools. Commands to install them on Fedora 24:

dnf install -y util-linux :

dnf install -y kernel-tools :

sudo dnf install -y msr-tools :

Other interesting tools, not used in this article: i7z (sadly no more maintained), lshw, dmidecode, sensors.

The sensors tool is supposed to report the current CPU voltage, but it doesn’t provide this information on my computers. At least, it gives the temperature of different components, but also the speed of fans.

Example of Intel CPUs

My laptop CPU: /proc/cpuinfo

On Linux, the most common way to retrieve information on the CPU is to read /proc/cpuinfo. Example on my laptop:

«i7-3520M» CPU is a model designed for Mobile Platforms (see the «M» suffix). It was built in 2012 and is the third generation of the Intel i7 microarchitecture: Ivy Bridge.

The CPU has two physical cores, I disabled HyperThreading in the BIOS.

The first strange thing is that the CPU announces «2.90 GHz» but Linux reports 1.2 GHz on the first core, and 3.3 GHz on the second core. 3.3 GHz is greater than 2.9 GHz!

My desktop CPU: CPU topology with lscpu

The CPU i7-2600 is the 2nd generation: Sandy Bridge microarchitecture. There are 8 logical cores and 4 physical cores (so with Hyper-threading).

The lscpu renders a short table which helps to understand the CPU topology:

There are 8 logical CPUs ( CPU 0..7 ), all on the same node ( NODE 0) and the same socket ( SOCKET 0). There are only 4 physical cores ( CORE 0..3 ). For example, the physical core 2 is made of the two logical CPUs: 2 and 6.

Using the L1d:L1i:L2:L3 column, we can see that each pair of two logical cores share the same physical core caches for levels 1 (L1 data, L1 instruction) and 2 (L2). All physical cores share the same cache level 3 (L3).

P-states

A new CPU driver intel_pstate was added to the Linux kernel 3.9 (April 2009). First, it only supported SandyBridge CPUs (2nd generation), Linux 3.10 extended it to Ivybridge generation CPUs (3rd gen), and so on and so forth.

This driver supports recent features and thermal control of modern Intel CPUs. Its name comes from P-states.

The processor P-state is the capability of running the processor at different voltage and/or frequency levels. Generally, P0 is the highest state resulting in maximum performance, while P1, P2, and so on, will save power but at some penalty to CPU performance.

It is possible to force the legacy CPU driver ( acpi_cpufreq) using intel_pstate=disable option in the kernel command line.

Idle states: C-states

C-states are idle power saving states, in contrast to P-states, which are execution power saving states.

During a P-state, the processor is still executing instructions, whereas during a C-state (other than C0), the processor is idle, meaning that nothing is executing.

  • C0 is the operational state, meaning that the CPU is doing useful work
  • C1 is the first idle state
  • C2 is the second idle state: The external I/O Controller Hub blocks interrupts to the processor.
  • etc.

When a logical processor is idle (C-state except of C0), its frequency is typically 0 (HALT).

The cpupower idle-info command lists supported C-states:

The cpupower monitor shows statistics on C-states:

Turbo Boost

In 2005, Intel introduced SpeedStep, a serie of dynamic frequency scaling technologies to reduce the power consumption of laptop CPUs. Turbo Boost is an enhancement of these technologies, now also used on desktop and server CPUs.

Turbo Boost allows to run one or many CPU cores to higher P-states than usual. The maximum P-state is constrained by the following factors:

  • The number of active cores (in C0 or C1 state)
  • The estimated current consumption of the processor (Imax)
  • The estimated power consumption (TDP — Thermal Design Power) of processor
  • The temperature of the processor

Example on my laptop:

The CPU base frequency is 2.9 GHz. If more than one physical cores is «active» (busy), their frequency can be increased up to 3.4 GHz. If only 1 physical core is active, its frequency can be increased up to 3.6 GHz.

In this example, Turbo Boost is supported and active.

Turbo Boost MSR

The bit 38 of the Model-specific register (MSR) 0x1a0 can be used to check if the Turbo Boost is enabled:

0 means that Turbo Boost is enabled, whereas 1 means disabled (no turbo). (The -f 38:38 option asks to only display the bit 38.)

If the command doesn’t work, you may have to load the msr kernel module:

Note: I’m not sure that all Intel CPU uses the same MSR.

intel_state/no_turbo

Turbo Boost can also be disabled at runtime in the intel_pstate driver.

Check if Turbo Boost is enabled:

where 0 means that Turbo Boost is enabled. Disable Turbo Boost:

CPU flag «ida»

It looks like the Turbo Boost status (supported or not) can also be read by the CPUID(6): «Thermal/Power Management». It gives access to the flag Intel Dynamic Acceleration (IDA).

Read the CPU frequency

General information using cpupower frequency-info :

The frequency of CPUs is between 1.2 GHz and 3.6 GHz (the base frequency is 2.9 GHz on this CPU).

Get the frequency of CPUs: turbostat

It looks like the most reliable way to get a relialistic estimation of the CPUs frequency is to use the tool turbostat:

  • Avg_MHz: average frequency, based on APERF
  • Busy%: CPU usage in percent
  • Bzy_MHz: busy frequency, based on MPERF
  • TSC_MHz: fixed frequency, TSC stands for Time Stamp Counter

APERF (average) and MPERF (maximum) are MSR registers that can provide feedback on current CPU frequency.

Other tools to get the CPU frequency

It looks like the following tools are less reliable to estimate the CPU frequency.

In April 2016, Len Brown proposed a patch modifying cpuinfo to use APERF and MPERF MSR to estimate the CPU frequency: x86: Calculate MHz using APERF/MPERF for cpuinfo and scaling_cur_freq.

The tsc clock source logs the CPU frequency in kernel logs:

Conclusion

Modern Intel CPUs use various technologies to provide best performances without killing the power consumption. It became harder to monitor and understand CPU performances, than with older CPUs, since the performance now depends on much more factors.

It also becomes common to get an integrated graphics processor (IGP) in the same package, which makes the exact performance even more complex to predict, since the IGP produces heat and so has an impact on the CPU P-state.

I should also explain that P-state are «voted» between CPU cores, but I didn’t understand this part. I’m not sure that understanding the exact algorithm matters much. I tried to not give too much information.

Annex: AMT and the ME (power management coprocessor)

Computers with Intel vPro technology includes Intel Active Management Technology (AMT): «hardware and firmware technology for remote out-of-band management of personal computers». AMT has many features which includes power management.

Management Engine (ME) is the hardware part: an isolated and protected coprocessor, embedded as a non-optional part in all current (as of 2015) Intel chipsets. The coprocessor is a special 32-bit ARC microprocessor (RISC architecture) that’s physically located inside the PCH chipset (or MCH on older chipsets). The coprocessor can for example be found on Intel MCH chipsets Q35 and Q45.

More recently, the Intel Xeon Phi CPU (2016) also includes a coprocessor for power management. I didn’t understand if it is the same coprocessor or not.

Технологии современных процессоров Intel

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

Введение

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

Читайте также:  Что дает разгон оперативной памяти

Все мы знаем, что в разных линейках процессоров применяются разные технологии, также это зависит от позиционирования модели и ее цены. Посмотреть наличие основных технологий в линейках процессоров Intel можно в этой статье. Там нет про серверные чипы, но будьте уверены, что они достаточно технологичны. А если интересно узнать про интегрированную графику от Intel, то у нас для этого есть отдельная статья. Про технологии AMD можно прочесть по ссылке.

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

Turbo Boost

Эта технология позволяет автоматически увеличить тактовую частоту процессора свыше номинальной (саморазгон), что позволяет увеличить производительность чипа на некоторое время.

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

Значение этого саморазгона зависит от множества факторов:

  • Тип рабочей нагрузки
  • Число активных ядер
  • Оценка тока потребления
  • Оценка потребляемой мощности
  • Температура процессора

Технология Turbo Boost 1.0 применялась в процессорах Nehalem и Westmere. Далее стала применяться чуть усовершенствованная версия Turbo Boost 2.0. Все отличия выглядят так.

Различия между версиями

Признак1.0 версия2.0 версия
Шаг множителя133 Мгц100 Мгц
TDPне превышаетна короткое время превышает

Также стоит отметить более плавное повышение величины разгона с уменьшением числа активных ядер у 2.0 версии. Вторая версия в первые несколько секунд после долгого простоя повышает тактовую частоту выше, чем она должна быть для нормального TDP, но из-за немгновенного прогрева чипа это не критично. Затем же разгон скидывается до не превышающего TDP уровня. Похожий алгоритм можно увидеть в NVIDA GPU Boost 2.0, про которую можно посмотреть тут.

Особенно большим Turbo Boost может быть у мобильных процессоров, например в Intel Core M.

Интересный факт: у модели Intel Core m7-6Y75 максимальный Turbo Boost составляет c 1,2 Ггц до 3,1 Ггц!

Hyper-Threading

Или по-другому гиперпоточность. Из-за этой технологии операционная система определяет одно физическое ядро, как два логических и в соответствии с этим отдает команды. Так получается, что одно ядро работает в 2 потока. Гиперпоточность позволяет таким образом загрузить блоки процессора находящиеся в простое и увеличить его эффективность.

Надо отметить, что два логических ядра проигрывают двум физическим, что хорошо демонстрирует превосходство Core i5 (4 ядра без HT) над Core i3 (2 ядра с HT). Но одно физическое ядро c Hyper-Threading будет производительнее, чем без него, и это видно на примере Core i7 (4 ядра c HT) и Core i5 (4 ядра без HT).

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

Burst

Эта технология применяется в мобильных процессорах Intel Atom (про то, как выбрать мобильный процессор можете прочесть по ссылке), а также в версиях Celeron/Pentium для мобильных устройств. Эта технология очень схожа с Turbo Boost. Она также повышает таковую выше номинальной, если выполняются некоторые условия.

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

SpeedStep

Это такая технология энергосбережения, призванная динамически менять тактовую частоту и напряжение питания в зависимости от нагрузки. Ведь зачем процессору работать на полную, если нагрузки никакой нет? Энергопотребление процессора приблизительно прямо пропорционально зависит от его частоты. Это значит, что снизив частоту в 2 раза, мы снизим в 2 раза и энергопотребление. Также снизится и тепловыделение и, следовательно шум от кулера. А от напряжения энергопотребление зависит во второй степени. Это уже значит, что снизив напряжение питания в 2 раза, мы снизим энергопотребление в 4 раза! Но, к сожалению менять напряжение так сильно нельзя и даже слабое изменение питания может сделать работу невозможной. В основном это снижение происходит в состоянии очень низкой загрузки при помощи функции Enhanced Halt State (или C1E). Так что львиная доля экономится за счет снижения тактовой частоты.

У этой технологии есть несколько версий: SpeedStep, SpeedStep II и SpeedStep III, но мы не будем заострять на этом внимание, будет достаточно и описания. Можно лишь упомянуть, что представлена она была в далеком 2001 в процессоре Mobile Pentium III.

Speed Shift

Эта технология является продолжением развития SpeedStep. Она работает эффективнее и быстрее реагирует на повышение нагрузки. Это значит, что она процессор быстрее достигает нужной тактовой частоты и быстрее справляется с задачей. Speed Shift может работать только в процессорах, начиная с поколения Skylake, так как реализована аппаратно. Также она должна поддерживаться операционной системой и на данный момент с этим уже справляется Windows 10.

Также более усовершенствованная версия данной технологии была представлена в Intel Kaby Lake.

Intel Quick Sync Video

Это технология Intel, предназначенная для аппаратного ускорения кодирования и декодирования видео. В этом случае в графическом ядре есть специальная интегральная схема, предназначенная для этого. Благодаря этого эта технология справляется со своей задачей лучше, чем видеокарты – и быстрее, и более энергоэффективно, ведь в видеокарте нет блоков, предназначенных специально для этой функции. Но, как и в случае с другими технологиями для аппаратного кодирования/декодирования видео, качество обработки хуже, чем в случае выполнения этой задачей при помощи процессора.

Существует две версии этой технологии. Первая было представлена вместе с микроархитектурой Sandy Bridge в 2011 году. Вторая версия увидела свет в в 2012 году при выходе Ivy Bridge. Вторая версия движка имела несколько изменений, например улучшенный медиасемплер, позволивших ей заметно улучшить скорость работы, качество видео, а также получить поддержку высоких разрешений. Существенный недостаток технологии выходит из того, что она встроена в графическое ядро процессора – ее функционирование невозможно, когда в компьютере основной является дискретный видеоадаптер.

Extreme Memory Profile (XMP)

Эта технология позволяет пользовать заранее сделанными профилями разгона оперативной памяти. Это может пригодиться, если вы не хотите рисковать. Так вы просто берете нужный вам профиль и не беспокоитесь о его работоспособности. Профиль выбирается в BIOS. Для этого оперативная память должна быть сертифицированной.

InTru3D

Это такой стандарт для 3D-контента, разработанный Intel и DreamWorks. И, что вполне логично, этот стандарт хорошо функционирует на современных процессорах Intel. Подробнее можно посмотреть здесь.

High Definition Audio

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

Intel vPro

Эта технология позволяет получать доступ к ПК дистанционно. Вкратце, эта технология позволяет IT-специалистам получить доступ к ПК для устранения неполадок в них и защиты. Она работает на базе ядра и на ее функционирование не влияют состояние питания и операционной системы.

Она базируется на двух других технологиях Intel:

  • Intel Active Management Technology (AMT — технология удаленного мониторинга ) – позволяет обнаруживать, инвентаризировать, диагностировать, восстанавливать, модернизировать и защищать вычислительные ресурсы, которые включены в сеть. Также с помощью Intel AMT можно изолировать зараженный ПК от других участников сети. Важной особенностью этой технологии является независимость от OC.
  • Intel Virtualization Technology (VT — технология виртуализации) – позволяет использовать на одном компьютере несколько независимых разделов и сред. Так IT-специалисты способны повысить надежность системы путем разделения, как на уровне задач, так и на уровне пользователей.

Не будем подробно рассказывать о средствах реализации этих технологий. Об этом вы можете подробнее прочесть здесь.

Intel Authenticate

Эта технология реализована на базе Intel vPro 6-го поколения, и представляет собой многофакторную аутентификацию корпоративного класса, что позволяет улучшить защиту личных данных. Здесь используются несколько разных факторов для проверки личности. Можно и PIN-код, и телефон и отпечаток пальца. Методы проверки выбирает само предприятие в зависимости от условий. Эта технология использует все ключи и связанные с ними сертификаты, шифрует их, сопоставляет и хранит в памяти аппаратной части, что держит их в безопасности от основной массы атак.

Intel Smart Cache

Это технология по использованию общей L2/L3-памяти (кэш-память второго/третьего уровня), что позволяет снизить энергопотребление и повысить производительность. Стоит отметь, что при динамическом отключении ядер другие ядра получают больше кэша.

Заключение

Здесь не были затронуты все технологии Intel. Здесь лишь были оговорены наиболее известные и больше всего влияющие на производительность. Также были затронуты технологии для корпоративного сегмента, но, довольно, вскользь. Если возникли какие-то вопросы, то сначала советуем вам заглянуть в раздел «Введение», где написаны границы применимости данной статьи. Надеемся, что эта статья помогла вам в выборе процессора от Intel и вы разобрались в том, что дают процессору различные технологии.

Ссылка на основную публикацию
Adblock
detector