Ultra low power mode intel что это

990x.top

Простой компьютерный блог для души)

Ultra Low Power Mode — что это? (сетевая карта Intel)

Ultra low power mode intel что это. Смотреть фото Ultra low power mode intel что это. Смотреть картинку Ultra low power mode intel что это. Картинка про Ultra low power mode intel что это. Фото Ultra low power mode intel что этоUltra Low Power Mode — опция, активирующая работу сверхнизкого энергопотребления сетевой платой.

Некоторые программы могут некорректно работать при включенной данной опции, например VirtualBox (виртуальная машина).

Также под названием Ultra Low Power Mode может быть ярлык, запустив который отключится Wi-Fi, Bluetooth, а также активируется энергосберегательный режим. Могут также отключиться сотовые данные, снизится яркость. Данная надпись может встречаться в операционных системах Android, iOS.

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

Данную функцию можно обнаружить например в параметрах сетевого адаптера Intel Ethernet Connection I219-LM:

Ultra low power mode intel что это. Смотреть фото Ultra low power mode intel что это. Смотреть картинку Ultra low power mode intel что это. Картинка про Ultra low power mode intel что это. Фото Ultra low power mode intel что этоЗначения опции (Value): Enabled — включено, Disabled — отключено.

Внешний вид сетевой карты

Ultra low power mode intel что это. Смотреть фото Ultra low power mode intel что это. Смотреть картинку Ultra low power mode intel что это. Картинка про Ultra low power mode intel что это. Фото Ultra low power mode intel что этоДанная карта однозначно лучше аналогичных Realtek.

Надеюсь данная информация оказалась полезной. Удачи и добра.

Источник

Low power run (еще один режим энергосбережения)

Ultra low power mode intel что это. Смотреть фото Ultra low power mode intel что это. Смотреть картинку Ultra low power mode intel что это. Картинка про Ultra low power mode intel что это. Фото Ultra low power mode intel что это

Есть еще один режим энергосбережения, который я не описал в своей статье про способы экономии энергии в STM8L. Его нельзя назвать «спящим режимом», потому что ядро продолжает работать, пусть и на низкой частоте. Но путем отключения самых «прожорливых» частей МК в этом режиме можно добиться потребления около 4-5мкА. Называется он — Low Power Run Mode, для простоты буду называть его LPR.
Ultra low power mode intel что это. Смотреть фото Ultra low power mode intel что это. Смотреть картинку Ultra low power mode intel что это. Картинка про Ultra low power mode intel что это. Фото Ultra low power mode intel что это

В режиме LPR МК продолжает работать, но благодаря отключению высокоскоростного тактового генератора, флеш памяти и прочих ненужных вещей, мы получаем потребление в районе 5мкА (LCD при этом был включен, см. фото).

Отключать все «ненужные вещи» приходится вручную, поэтому процесс перехода в LPR может затянуться:
1) Отключить всю неиспользуемую периферию
2) Отключить все прерывания
3) Перейти в RAM
4) Переключиться на LSI\LSE (внутренний низкоскоростной генератор/внешний часовой кварц)
5) Отключить HSI и HSE (высокоскоростные тактовые генераторы)
6) Отключить питание флеш и EEPROM памяти
7) Переключить внутренний стабилизатор напряжения в низкопотребляющий режим

Пункты с 1 по 5 можно выполнять в произвольном порядке (ну, естественно, отключать HSI надо после переключения на LSI ;-)).

Надо заметить, что в этом режиме нельзя использовать АЦП — ему необходим тактовый сигнал не меньше 1МГц. Ни LSE (32.768кГц), ни LSI (38кГц) такую частоту не дадут. Так-же скорее всего не будет работать и DAC — ему нужно около 370мкА в то время как маломощный стабилизатор может дать только 200мкА

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

Первая задача, которая стоит перед нами — загнать все функции, работающие в LPR, в оперативную память. В IAR это делается очень просто. Перед определением функции надо добавить модификатор __ramfunc.

Обозначение IN_RAM( void foo(void) ) означает абсолютно то-же самое, а этот IN_RAM прописан в библиотеке:

При старте контроллера код функции foo будет копироваться из флеш памяти в RAM. Адрес, по которому будет располагаться функция, выбирается автоматически.

Процесс перехода в LPR режим начинается с переключения на низкочастотный генератор (LSI или LSE).

Тут используется автоматический режим переключения между тактовыми генераторами. Сначала поднимаем бит SWEN в регистре CLK_SWCR — тем самым разрешая переключение. Затем кладем в регистр CLK_SWR код того источника, на который хотим переключиться: 0x1 — HSI, 0x2 — LSI, 0x4 — HSE, 0x8 — LSE. После этого поднимается флаг SWBSY и начинается переключение, а мы ждем его завершения, поглядывая на этот флаг.

Подробнее про систему тактирования можно прочитать в этой статье.

Когда переключение на LSI закончится, МК будет работать на частоте 38кГц/Предделитель. При старте установлен делитель на 8, а значит тактовая частота МК будет 4.75кГц. Из-за этого может не работать ЖК контроллер, который по-умолчанию тактируется от LSI (без делителя). Необходимо, чтобы частота ЖК контроллера была меньше или равна частоте МК.

После перехода на LSI, надо отключить высокоскоростной генератор — HSI. Если этого не сделать, то к потреблению прибавится сотня микроампер. Благо, отключается он в одно действие:

Следующим пунктом идет отключение питания флеш и EEPROM памяти:

Естественно, после этого попытка обратится к переменной в EEPROM или flash памяти приведет к ошибке. При попытке перейти на функцию, расположеную в флеш памяти произойдет тоже самое. Поэтому функции, которые нам понадобятся в LPR надо взять с собой в оперативку.

Так-же не стоит забывать и про прерывания — таблица с их векторами живет в памяти программ, которая теперь не доступна. Поэтому все прерывания надо отключить. Выбирайте любой способ на вкус:
__disable_interrupts
asm(«sim»);

После того, как память отключена, остается последний шаг — отключить основной стабилизатор напряжения (ядро STM8 питается от 1.8В через внутренний стабилизатор):

После установки этого бита стабилизатор перейдет в ULP (Ultra low power) режим.

Добро пожаловать в матрицу LPR

Что в этом режиме можно делать? Да почти тоже самое, что в обычном. Не считая того, что размер кода ограничен размером оперативки (минус стек, минус переменные), частота ограничена частотой LSI\LSE, прерывания отсутствуют, а попытка обратится к функции из флеш памяти приведет к зависанию МК.

Можно использовать почти всю периферию (за исключением ADC — он пролетает по частоте), опрашивать сенсорные кнопочки, что-нибудь считать (вообще-то считать лучше на макс. частоте), общаться по SPI / UART / I2C, и т.д. Кстати, вот эта табличка поможет прикинуть общее потребление МК с учетом запущеной периферии:

Ultra low power mode intel что это. Смотреть фото Ultra low power mode intel что это. Смотреть картинку Ultra low power mode intel что это. Картинка про Ultra low power mode intel что это. Фото Ultra low power mode intel что это

Почти любую периферию можно настроить так, чтобы она потребляла минимум тока. Например контроллер LCD после уменьшения контрастности и частоты обновления стал кушать на пару микроампер меньше.

Вместо циклов-задержек или циклов при ожидании какого-то события от периферии можно использовать режим WFE (Wait for event). В нем ядро МК останавливается до тех пор, пока выбраная периферия не сгенерирует событие. Таким событием может быть например приход байта по SPI или переполнение таймера.

Первым делом надо настроить источник события — у него должно быть разрешено соответствующее прерывание, хотя использоваться оно не будет. Затем через регистры WFE_CRx (их всего 3 штуки) выбираем источник события, который разбудит МК. Например так:

Это событие от таймера №4. Полный список событий я тут приводить не буду, а пошлю вас за ним на 74 страницу RM0031.

Затем запускаем источник события (включаем таймер, или передаем бит по SPI) и выполняем инструкцию

Теперь ядро МК остановилось до наступления события, после чего оно продолжит выполнять код со следующей команды. После выхода из WFE надо сбросить флаг прерывания нашего источника события и сбросить бит в регистре WFE_CRx — иначе прерывание не будет срабатывать в обычном режиме.

На самом деле, WFE сильно экономит энергию, когда МК работает на высоких частотах. Но в LPR ядро и так почти ничего не потребляет, поэтому WFE может дать лишь пару микроампер экономии.

Кстати, в halt режим из LPR уходить нельзя — ведь пробуждение из него возможно только от прерывания, которые в LPR запрещены.

Wake up!

Теперь поговорим о том, как проснуться и выйти из LPR.

Тут повторяется та-же процедура, только в обратном порядке. Сначала включим основной стабилизатор питания:

Запускается шарманка не сразу, поэтому перед тем, как включать все остальное, надо подождать, пока стабилизатор войдет в рабочий режим. Кстати, в ULP режиме этот стабилизатор можен выдавать ток до 200мкА, а в обычном — до 25мА.

После стабилизатора можно запускать флеш:

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

Теперь, когда память программ включена, можно переключится на HSI:

Таким образом мы вернулись к изначальной частоте — 2МГц.

Разрешить прерывания и запустить нужную периферию можно в любой момент. Только первые два пункта должны выполняться по порядку, остальные — произвольно.

For Example

Для примера была создана программка, работу которой можно наблюдать в этом ролике:

Пара уточнений для тех, кто решит покопаться в коде:

IN_RAM это тоже самое, что __ramfunc

BAR1_ON и похожие конструкции совместно с функцией LCD_bar(); рулят полоской с правой стороны дисплея. BAR0_ON — зажечь нижний сегмент, BAR1_ON — второй снизу, и т.д. Они просто записывают значения в массив t_bar. Для того, чтобы потушить всю полоску, массив надо обнулить.

Функция LCD_GLASS_Init — стандартная процедура инициализации ЖК — была изменена для уменьшения потребления. Я снизил контраст и частоту обновления.

Функция LCD_bar(); была выкинута в оперативную память, так-как используется когда флеш отключена.

Полезные ссылки

STM8L family power management — полезный аппноут, где описываются не только энергосберегающие режимы, но и другие способы снижения потребления МК.

Как использовать этот режим и использовать-ли его вообще — дело разработчика, и зависит это в первую очередь от задачи. Я за время написания этой заметки так и не придумал ни одной задачи, где-бы этот режим полностью себя оправдывал и его нельзя было-бы заменить связкой Active Halt + AWU* + Внешние прерывания.

*AWU — функция, позволяющая МК автоматически выходить из halt режима по прошествии некоторого времени. В STM8L15x реализована в составе RTC, а в STM8L101 — как самостоятельный модуль.

Источник

low power mode setting что это

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

Начинаем. Щёлкаем правой кнопкой мыши по значку батарейки в панели задач вашей Windows и выбрать пункт Электропитание.

Ultra low power mode intel что это. Смотреть фото Ultra low power mode intel что это. Смотреть картинку Ultra low power mode intel что это. Картинка про Ultra low power mode intel что это. Фото Ultra low power mode intel что это

В открывшемся окне у вас будет несколько схем электропитания.

Ultra low power mode intel что это. Смотреть фото Ultra low power mode intel что это. Смотреть картинку Ultra low power mode intel что это. Картинка про Ultra low power mode intel что это. Фото Ultra low power mode intel что это

Ultra low power mode intel что это. Смотреть фото Ultra low power mode intel что это. Смотреть картинку Ultra low power mode intel что это. Картинка про Ultra low power mode intel что это. Фото Ultra low power mode intel что это

Power Limit (Предел мощности) – определяет сколько максимально мощности будет выделяться на процессор и встроенную в него видеокарту.

Чем выше уровень будет выставлен в настройках, тем выше будет подаваться напряжение на процессор. Минимальное значение – 1, максимальное – 5.

Acoustics Limit (Предел акустического шума) – регулирует скорость вращения вентилятора процессора и шум, создаваемый им. При значении – 1 скорость вращения маленькая, соответственно, шум минимальный, при значении – 5 скорость вращения на максимуме, шум максимальный.

Идеально поставить золотую середину – 3.

Если у вас в компьютере нет вентилятора на процессоре, например, так во многих планшетах с Intel Atom, то этот параметр ни на что не влияет.

Возможные значения:
Disabled – отключено
Enabled – включено
Application Specific – определяется в зависимости от приложения

На практике данная настройка не всегда работает исправно, на планшетах может глючить тач при работе в текстовых редакторах, возникать подвисание системы, поэтому если возникают какие-то проблемы в работе устройства при варианте Enabled, то попробуйте вариант – Application Specific, если и при такой настройке устройство не работает как надо – придётся выбрать Disabled).

Совместно с Power Limit настройка Low Power Mode Settings устанавливает порог частот на которых работает процессор и встроенная в него видеокарта. Если Power Limit задаёт максимальные значения, то Low Power Mode Settings – минимальные значения частот ядра процессора и видеокарты.

Например, для процессоров Intel 4-го поколения минимальное значение частоты процессора – 800МГц, видеокарты – 200МГц, а максимальное для процессора – 1,4 – 2,8ГГц (в зависимости от модели процессора) и 1200МГц для видеокарты.

У видеокарты, встроенной в процессор, ситуация будет та же – в простое частота будет снижаться до 200МГц, а при запуске игры повышаться до максимума – 1,2ГГц.

Также имейте ввиду, что даже если вы настроили Power Limit на уровень – 3, а Low Power Mode Settings на – 5, то не значит, что процессор не сможет, если это понадобится, перейти в режим работы на максимальных частотах.

Например, при Power Limit выставленном на максимуме, через 10 секунд, его частота будет возвращена на минимальную, если Low Power Mode Settings выставлен на уровень 3 и через 28 секунд, если на уровень – 1.

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

Ещё о настройках электропитания на ноутбуках и планшетах можете дополнительно прочитать в [этом материале].

[d]

здравствуйте, сделал всё, как написано в статье, отключил windows connected standby, появились дополнительные настройки по электропитанию, но настройки DPTF так и не появилось. Все драйвера DPTF установлены. подскажите пожалуйста, что могло пойти не так?

ответ jeder
Что за устройство у вас?

планшет на windows alldocube knote8

ответ jeder
У вас в планшете процессор Kaby Lake. А судя по сайту Intel эту технологию поддерживают Atom E и Z серий, Celeron и Pentium N серий.
Может дело а этом.

Странность замечена!
Купил месяца два назад ноут, мощный (16гб оперативы, 2 гб видео, i7 4-поколения, диск HDD+SSD гибрид), ОС Win8,1

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

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

Да и программы стали с меньшей залержкой работать.

Перерповерял три раза (и вставлял батарею обратно тоже).

Гугл не помог, Объясните хоть кто-нибудь почему так.

Despite the fact that virtually all modern Dell laptops (and probably others) are supposed to have the Intel Dynamic Platform & Thermal Framework Driver installed, I couldn’t find any end-user documentation about what exactly the settings do, and what the 1-5 levels mean for each:

The thermal design power (TDP), sometimes called thermal design point, is the maximum amount of heat generated by the CPU that the cooling system in a computer is required to dissipate in typical operation. — Wikipedia

So I can guess what «Config TDP Level» means. But beyond that,

(as you can imagine, the mouseover tooltips are fantastically useless; e.g. «Specify the acoustics cooling limit for Intel(R) Dynamic Platform and Thermal Framework»)

Ultra low power mode intel что это. Смотреть фото Ultra low power mode intel что это. Смотреть картинку Ultra low power mode intel что это. Картинка про Ultra low power mode intel что это. Фото Ultra low power mode intel что это

Again, hundreds of thousands of laptops with this thing installed, and no clear search result when Googling for any of this.

Ultra low power mode intel что это. Смотреть фото Ultra low power mode intel что это. Смотреть картинку Ultra low power mode intel что это. Картинка про Ultra low power mode intel что это. Фото Ultra low power mode intel что это

Ultra low power mode intel что это. Смотреть фото Ultra low power mode intel что это. Смотреть картинку Ultra low power mode intel что это. Картинка про Ultra low power mode intel что это. Фото Ultra low power mode intel что это

2 Answers 2

These settings adjust the power and cooling limits of your processor.

Config TDP Level (cTDP) determines the maximum power which may be used by the processor. This feature was introduced in Ivy Bridge. Not all processors support all settings. See: Ivy Bridge Configurable TDP Detailed.

High TDP (cTDP up) increases the power and clock rate limits to enable higher performance, but requires additional cooling and reduces battery life.

Nominal TDP operates the processor at its specified TDP and clock rate.

Low TDP (cTDP down) reduces the power and clock rate limits to extend battery life and reduce heat output, at the cost of some performance.

Power Limit specifies the maximum power allowed for the processor. Higher values allow for higher core voltage and allow higher operating clock rates at the cost of power consumption, heat, and battery life. This setting provides a means to fine-tune the performance-power balance.

Acoustics Limit specifies the maximum allowed fan speed. Higher values increase the maximum fan speed for better cooling; lower values limit the maximum fan speed for lower noise.

Low Power Mode Setting places the processor into a special low-power mode and is used where power consumption is critical, such as when maximum battery life is required.

Источник

Краткое руководство по управлению питанием процессора

Ultra low power mode intel что это. Смотреть фото Ultra low power mode intel что это. Смотреть картинку Ultra low power mode intel что это. Картинка про Ultra low power mode intel что это. Фото Ultra low power mode intel что это

Как центральный процессор может сокращать собственное энергопотребление? Основы этого процесса — в статье.

Центральный процессор (CPU) спроектирован на бесконечно долгую работу при определенной нагрузке. Практически никто не проводит вычисления круглые сутки, поэтому большую часть времени он не работает на расчетном максимуме. Тогда какой смысл держать его включенным на полную мощность? Здесь стоит задуматься об управлении питанием процессора. Эта тема включает в себя оперативную память, графические ускорители и так далее, но я собираюсь рассказать только про CPU.

Если вы знаете про C-состояния (C-states), P-состояния (P-states) и то, как процессор переходит между ними, то, возможно, в этой статье вы не увидите ничего нового. Если это не так, продолжайте читать.

Я планировал добавить реальные примеры из ОС Linux, но статья становилась все больше, так что я решил приберечь это для следующей статьи.

Основные источники информации, использованные в этом тексте:

Особенности CPU

Согласно официальной странице продукта, мой процессор поддерживает следующие технологии:

Теперь выясним, что значит каждое из этих определений.

Как снизить энергопотребление процессора во время его работы?

На процессорах для массового использования (мы не берем в расчет вещи, которые возможны при их проектировании) для снижения потребляемой энергии можно реализовать один из сценариев:

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

Ultra low power mode intel что это. Смотреть фото Ultra low power mode intel что это. Смотреть картинку Ultra low power mode intel что это. Картинка про Ultra low power mode intel что это. Фото Ultra low power mode intel что это

Примечание для тех, кто разбирается в цифровой электронике: 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 ГГц).

Ultra low power mode intel что это. Смотреть фото Ultra low power mode intel что это. Смотреть картинку Ultra low power mode intel что это. Картинка про Ultra low power mode intel что это. Фото Ultra low power mode intel что это

Как видно на изображении выше, процессор в состоянии 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-состояний на потоках рассматриваться не будет.

Вот описание состояний из даташита:

Ultra low power mode intel что это. Смотреть фото Ultra low power mode intel что это. Смотреть картинку Ultra low power mode intel что это. Картинка про Ultra low power mode intel что это. Фото Ultra low power mode intel что это

Примечание: LLC обозначает Last Level Cache, кэш последнего уровня и обозначает общий L3 кэш процессора.

Визуальное представление состояний:

Ultra low power mode intel что это. Смотреть фото Ultra low power mode intel что это. Смотреть картинку Ultra low power mode intel что это. Картинка про Ultra low power mode intel что это. Фото Ultra low power mode intel что это

Источник: Software Impact to Platform Energy-Efficiency White Paper

Последовательность C-состояний простыми словами:

Ultra low power mode intel что это. Смотреть фото Ultra low power mode intel что это. Смотреть картинку Ultra low power mode intel что это. Картинка про Ultra low power mode intel что это. Фото Ultra low power mode intel что это

Однако если ядро работает (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 из этого состояния). Целевое резидентное значение обозначает минимальное время, которое ядро должно находиться в данном состоянии, чтобы оправдать энергетические затраты на переход в это состояние и обратно. Обратите внимание на логарифмический масштаб вертикальной оси. Задержки и минимальное время нахождения в состоянии увеличивается экспоненциально с увеличением номера состояния.

Ultra low power mode intel что это. Смотреть фото Ultra low power mode intel что это. Смотреть картинку Ultra low power mode intel что это. Картинка про Ultra low power mode intel что это. Фото Ultra low power mode intel что это

Константы задержок выхода и целевых резидентных значении C-состояний в исходном коде intel_idle
Примечание: Хотя состояния С9 и С10 включены в таблицу, они имеют 0 суб-состояний и поэтому не используются в моем процессоре. Остальные процессоры из семейства могут поддерживать эти состояния.

Состояния питания ACPI

Прежде чем говорить про P-состояния, стоит упомянуть про состояния питания ACPI. Это то, что мы, пользователи, знаем, когда используем компьютер. Так называемые глобальные системные состояния (G[Х]) перечислены в таблице ниже.

Ultra low power mode intel что это. Смотреть фото Ultra low power mode intel что это. Смотреть картинку Ultra low power mode intel что это. Картинка про Ultra low power mode intel что это. Фото Ultra low power mode intel что это

Источник: ACPI Specification v6.2
Также существует специальное глобальное состояние G1/S4, Non-Volatile Sleep, когда состояние системы сохраняется на энергонезависимое хранилище (например, диск) и затем производится выключение. Это позволяет достичь минимального энергопотребления, как в состоянии Soft Off, но возвращение в состояние G0 возможно без перезагрузки. Оно более известно как гибернация.

Существует несколько состояний сна (Sx). Всего таких состояний шесть, включая S0 — отсутствие сна. Состояния S1-S4 используются в G1, а S5, Soft Off, используется в G2. Краткий обзор:

Ultra low power mode intel что это. Смотреть фото Ultra low power mode intel что это. Смотреть картинку Ultra low power mode intel что это. Картинка про Ultra low power mode intel что это. Фото Ultra low power mode intel что это

Вот поддерживаемые состояния ACPI.

Ultra low power mode intel что это. Смотреть фото Ultra low power mode intel что это. Смотреть картинку Ultra low power mode intel что это. Картинка про Ultra low power mode intel что это. Фото Ultra low power mode intel что это

Комбинации состояний ACPI G/S и С-состояний процессора

Приятно видеть все комбинации в таблице:

Ultra low power mode intel что это. Смотреть фото Ultra low power mode intel что это. Смотреть картинку Ultra low power mode intel что это. Картинка про Ultra low power mode intel что это. Фото Ultra low power mode intel что это

В состоянии 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.

Мониторинг счетчиков С-состояний (для ядра):

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

diego
28.04.2019 | 16:47