Отключение в bios функций процессора eist и c1e
Если хочется выжать из процессора всё возможное, а денег на оплату счетов за электроэнергию не жалко, можно отключить функцию SpeedStep.
Для рядового пользователя технология EIST (Enhanced Intel SpeedStep Technology) несёт только благо: она позволяет понижать частоту процессора до какого-то минимального значения, снижая уровень энергопотребления, в моменты простоя процессора. В содружестве с "умными" материнской платой и кулером это позволяет снижать уровень шума, так как в моменты простоя вентилятор тоже вращается с меньшей скоростью.
Процессоры семейства Core 2 Duo E6xxx поддерживают технологию EIST, минимальный множитель равен 6x, что позволяет моделям с 1066 МГц шиной работать на частоте 1.6 ГГц в моменты простоя. Уровень энергопотребления в таком состоянии не превысит 22 Вт. Готовящийся к анонсу в четвёртом квартале процессор Core 2 Duo E4200 с частотой 1.6 ГГц и 800 МГц шиной в "экономичном" режиме будет работать на частоте 1.2 ГГц.
реклама
Однако, любители разгона уже давно пытаются бороться с такими энергосберегающими технологиями. На их взгляд, работа таких технологий приводит к снижению производительности разогнанных процессоров, так как на переключение в "полноскоростной" режим требуется какое-то время, да и в "экономичный" режим процессоры иногда переходят невпопад.
Нужно запустить утилиту CPU-Z для контроля текущего значения множителя процессора Conroe. Далее нужно проделать ряд манипуляций с редактором MSR:
- В поле "MSR" написать 0x000001A0.
- Нажать кнопку "RDMSR" для считывания данных.
- Скопировать верхние 32 бита регистра EDX в нижнее поле для ввода данных (значение должно быть равно 0x00000060 или чему-то подобному).
- Скопировать нижние 32 бита регистра EAX в нижнее поле для ввода данных (значение должно быть равно 0x63940089 или чему-то подобному).
- Заменить цифру "3" на "1" в обведённой красным позиции (результат должен иметь вид 0x61940089 или подобный).
- Нажать кнопку "WRMSR" для записи данных.
Множитель процессора теперь должен принять максимальное значение (в данном случае 10x), он не будет снижаться в рамках работы функции EIST.
В расширенных (Advanced) настройках BIOS или на вкладке управления параметрами процессора можно встретить данную опцию. Она свойственна компьютерам, построенным на базе процессора Intel. В зависимости от версии и производителя BIOS могут встречаться и другие названия:
- Intel EIST;
- Intel EIST Support;
- Enhanced Intel SpeedStep(tm) Tech.;
- EIST;
- EIST Function.
Из возможных значений есть только Enabled (Включена) и Disabled (Выключена). По умолчанию практически всегда находится во включенном состоянии. Иногда присутствует значение Auto. При нем контроль над опцией осуществляется в автоматическом режиме, но по сути Auto это тоже самое, что и Enabled, то есть включено.
Значение Auto для CPU EIST
Что это за опция и для чего она нужна вы узнаете из данной статьи.
Как снизить энергопотребление процессора во время его работы?
На процессорах для массового использования (мы не берем в расчет вещи, которые возможны при их проектировании) для снижения потребляемой энергии можно реализовать один из сценариев:
- Сократить энергопотребление подсистемы (ядра или другого ресурса, такого как тактовый генератор или кэш) путем отключения питания (уменьшив напряжение до нуля).
- Снизить энергопотребление путем снижения напряжения и/или таковой частоты подсистемы и/или целого процессора.
Второй вариант требует чуть больше объяснений. Энергопотребление интегральной схемы, которой является процессор, линейно пропорционально тактовой частоте и квадратично напряжению.
Примечание для тех, кто разбирается в цифровой электронике: Pcpu = Pdynamic + Pshort circuit + Pleak. При работающем процессоре Pdynamic является наиболее важной составляющей, именно эта часть зависит линейно от частоты и квадратично от напряжения. Pshort circuit пропорционально частоте, а Pleak — напряжению.
Более того, напряжение и тактовая частота связаны линейной зависимостью.
Высокая производительность требует повышенной тактовой частоты и увеличения напряжения, что еще больше влияет на энергопотребление.
Состояния питания 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. Краткий обзор:
- G0/S0: Компьютер работает, не спит.
- G1: Sleeping.
- G1/S1: Power on Suspend. Состояние системы сохраняется, питание процессора и кэшей поддерживается.
- G1/S2: Процессор отключен, кэши сброшены.
- G1/S3: Standby или Suspend to RAM (STR). Оперативная память остается практически единственным компонентом с питанием.
- G1/S4: Hibernation или Suspend to Disk. Все сохраняется в энергонезависимую память, все системы обесточиваются.
Вот поддерживаемые состояния ACPI.
Что вынуждает ядро входить в определенное С-состояние?
Как отмечалось ранее, переходы между глубокими С-состояниями имеют высокие задержки и высокие энергетические затраты. Таким образом, такие переходы должны выполняться с осторожностью, особенно на устройствах, работающих от аккумуляторов.
Как я могу узнать состояние процессора?
Существует не так много приложений, которые могут выводить эту информацию. Но вы можете использовать, например, CoreFreq.
Как прерывания влияют на процессор\ядро в состоянии сна?
Когда происходит прерывание, соответствующее ядро пробуждается и переходит в состояние С0. Однако, например Intel® Xeon® E3-1200 v5, поддерживает технологию Power Aware Interrupt Routing (PAIR), у которой есть два достоинства:
- для энергосбережения прерывание может быть переадресовано работающему ядру, чтобы не будить спящее ядро;
- для производительности прерывание может быть переадресовано от работающего на полную мощность ядра к простаивающему (С1) ядру.
P-состояния, управляемые оборудованием
В этом случае ОС знает об аппаратной поддержке P-состояний и отправляет запросы с указанием нагрузки. В запросах не указывается конкретное P-состояние или частота. На основе информации от ОС, а также других факторов и ограничений оборудование выбирает подходящее P-состояние.
Я хочу рассказать об этом подробнее в следующей статье, но сейчас я поделюсь с вами своими мыслями. Мой домашний компьютер работает в этом режиме, я узнал это, проверив IA32_PM_ENABLE. Максимальный (но не гарантированный) уровень производительности — 39, минимальный — 1. Можно предположить, что существует 39 P-состояний. На данный момент уровень 39 установлен ОС как минимальный и как максимальный, потому что я отключил динамическое изменение частоты процессора в ядре.
P-состояния, управляемые операционной системой
В этом случае операционная система знает о P-состояниях и конкретном состоянии, запрошенным ОС. Проще говоря, операционная система выбирает рабочую частоту, а напряжение подбирается процессором в зависимости от частоты и других факторов. После того, как P-состояние запрошено записью в моделезависимый регистр (подразумевается запись 16 бит в регистр IA32_PERF_CTL), напряжение изменяется до автоматически вычисленного значения и тактовый генератор переключается на заданную частоту. Все ядра имеют одно общее P-состояние, поэтому невозможно установить P-состояние эксклюзивно для одного ядра. Текущее P-состояние (рабочий режим) можно узнать, прочитав информацию из другого моделезависимого регистра — IA32_PERF_STATUS.
Смена P-состояния мгновенна, поэтому в секунду можно выполнять множество переходов. Это отличает от переходов C, которые выполняются дольше и требуют энергетических затрат.
Что такое EIST?
Данная аббревиатура расшифровывается как Enhanced Intel SpeedStep Technology, что переводится на русский означает Усовершенствованная технология SpeedStep от Intel. В свою очередь SpeedStep это название технологии энергосбережения для процессора, о которой у нас уже была отдельная статья.
Так вот CPU EIST Function это продолжение SpeedStep. Основное отличие между ними это наличие в первой нескольких вариантов промежуточных напряжений и частот процессора, благодаря которым баланс между производительностью и энергосбережением будет соблюдаться более точно и менее заметно для пользователя.
То есть при слабых нагрузках производительность не будет опускаться до минимума из-за чего может наблюдаться притормаживание работы компьютера. Она снизиться лишь на несколько ступеней, благодаря чему вы не заметите этого, а в случае возрастания нагрузки выход на максимальные рабочие частоты произойдет быстрее и менее заметно.
Активировать CPU EIST или нет
В установках БИОСа ЕИСТ может иметь и другие наименования:
- Intel EIST Support;
- EIST Function;
- Enhanced Intel SpeedStep ™ Tech.
Независимо от названия она находится в продвинутых настройках процессора (Advanced CPU Settings).
Если вы обычный пользователь, рекомендую включить эту опцию, установив значение Enabled. Если же вы продвинутый юзер, которому не чужд разгон процессора и для кого энергопотребление компьютера не играет главенствующей роли, ее лучше отключить, установив значение Disabled.
О том, что такое Cpu C-States и за что отвечает эта функция, можно почитать здесь. Также советую почитать «Блокировка PCI – что это такое и как работает?». Буду признателен всем, кто расшарит этот пост в социальных сетях.
Как центральный процессор может сокращать собственное энергопотребление? Основы этого процесса — в статье.
Центральный процессор (CPU) спроектирован на бесконечно долгую работу при определенной нагрузке. Практически никто не проводит вычисления круглые сутки, поэтому большую часть времени он не работает на расчетном максимуме. Тогда какой смысл держать его включенным на полную мощность? Здесь стоит задуматься об управлении питанием процессора. Эта тема включает в себя оперативную память, графические ускорители и так далее, но я собираюсь рассказать только про CPU.
Если вы знаете про C-состояния (C-states), P-состояния (P-states) и то, как процессор переходит между ними, то, возможно, в этой статье вы не увидите ничего нового. Если это не так, продолжайте читать.
Я планировал добавить реальные примеры из ОС Linux, но статья становилась все больше, так что я решил приберечь это для следующей статьи.Основные источники информации, использованные в этом тексте:
Что такое CPU EIST
Название функции — аббревиатура от Enhanced Intel SpeedStep Technology.
Как можно догадаться из названия, технология разработана компанией Intel специально под процессоры этого бренда.
Дословно это означает не что иное, как «Усовершенствованная SpeedStep» (а это, в свою очередь, алгоритм сбережения энергии центральным процессором).
Главное наличие EIST от прототипа в большем количестве промежуточных режимов, благодаря чему точнее соблюдается баланс между мощностью ЦП и потребляемой энергией.
Регулировка происходит не так сильно заметно для пользователя компьютера, без лагов и зависаний.
При слабых нагрузках, когда нет необходимости в высокой вычислительной мощности, производительность процессора опускается до минимума благодаря снижению напряжения на его схемах. Происходит это в несколько этапов, ступень за ступенью.
При повышении нагрузки ЦП «Просыпается» и начинает работать на полную мощность.
Состояния питания (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 означает максимальную производительность, то есть максимальные тактовую частоту, напряжение и энергопотребление.
Как это все работает, например, на Linux?
На этот вопрос я отвечу в другой статье.
Принцип работы
Включение опции C1Е позволяет задействовать для центрального процессора (ЦП), находящегося в неактивном состоянии, особый энергосберегающий режим, который носит название Enhanced Halt State («Улучшенное состояние простоя»). В этом состоянии снижается частота работы ЦП, его напряжение, а также отключаются некоторые неиспользуемые функциональные элементы процессора. В результате снижается потребление электроэнергии, а также выделение тепла процессором. Данная технология стала доступна пользователю с выходом процессоров семейства Pentium 4, основанных на ядре Prescott. Как правило, функцию, реализующую технологию Enhanced Halt State, можно найти на материнских платах, предназначенных для ЦП производства Intel, однако некоторые материнские платы платформы AMD тоже ее поддерживают.
Название функции – «Улучшенное состояние простоя» намекает на то, что она является усовершенствованием стандартного состояния простоя ЦП (С1), которое описывается стандартом энергосбережения ACPI. Расширенный вариант этого состояния гарантирует еще большее снижение энергопотребления во время простоя, во многом благодаря тому, что он позволяет уменьшать не только частоту процессора, но и его напряжение. Кроме того, важным преимуществом C1E является то, что данное состояние может регулироваться ЦП автоматически, без помощи операционной системы.
Вариант Auto подразумевает включение опции, вариант Disabled – выключение.
Особенности CPU
Согласно официальной странице продукта, мой процессор поддерживает следующие технологии:
- состояния простоя (Idle States);
- усовершенствованная технология Intel® SpeedStep (Enhanced Intel® SpeedStep Technology).
Теперь выясним, что значит каждое из этих определений.
Возможно ли отключить С-состояния (всегда использовать С0)?
Это возможно, но не рекомендуется. В даташите (секция 4.2.2, страница 64) есть примечание: «Долгосрочная надежность не гарантируется, если все энергосберегающие состояния простоя не включены». Поэтому вам не стоит отключать С-состояния.
Заметки про Intel® Turbo Boost
Поскольку TDP (расчетная тепловая мощность) — это максимальная мощность, которую процессор может выдержать, то процессор может повышать свою частоту выше базовой, при условии что энергопотребление не превысит TDP. Технология Turbo Boost может временно повышать энергопотребление до границы PL2 (Power Limit 2) на короткий промежуток времени. Поведение Turbo Boost может быть изменено через подсказки оборудованию.
Стоит ли включать или лучше выключить?
Если вы собираетесь заняться разгоном процессора, хотите получить максимум от своего компьютера и вас абсолютно не заботит его энергопотребление, то CPU EIST Function лучше отключить (Disabled).
Если ваш компьютер включен практически круглыми сутками, при этом зачастую без особых нагрузок и вам хватает его производительности, то в таком случае опцию CPU EIST Function нужно включить (Enabled).
Другие идентичные по назначению параметры: C1E support, C1E enhanced halt state, CPU enhanced halt C1E.
Опция C1E предназначена для настройки параметров энергосбережения процессоров компании Intel. Опция имеет два варианта значений – Auto и Disabled. В различных BIOS она также может называться Intel C-STATE Technology, Enhanced C1 или Enhanced Halt.
Как программно запросить переход в энергосберегающее С-состояние?
Современный (но не единственный) способ запросить переход в энергосберегающее состояние — это использовать инструкцию MWAIT или инструкцию HLT. Это инструкции привилегированного уровня, и они не могут быть выполнены пользовательскими программами.
Инструкция MWAIT (Monitor Wait) заставляет процессор перейти в оптимизированное состояние (C-состояние) до тех пор, пока по указанному (с помощью другой инструкции, MONITOR) адресу не будет произведена запись. Для управления питанием MWAIT работает с регистром EAX. Биты 4-7 используются для указания целевого С-состояния, а биты 0-3 указывают суб-состояние.
Примечание: Я думаю, что на данный момент только AMD обладает инструкциями MONITORX/MWAITX, которые, помимо мониторинга записи по адресу, работают с таймером. Это еще называется Timed MWAIT.
Инструкция HLT (halt) останавливает выполнение, и ядро переходит в состояние HALT до тех пор, пока не произойдет прерывание. Это означает, что ядро переходит в состояние C1 или C1E.
Стоит ли включать функцию?
Рекомендуемым значением для опции является значение Auto, поскольку включение опции будет способствовать более эффективному расходованию энергии, потребляемой ЦП и снижению его тепловыделения. Однако если вы хотите, чтобы процессор не использовал данный режим, то вам следует отключить опцию, выбрав значение Disabled. Потребность в отключении опции может возникнуть, например, при разгоне ЦП, поскольку включенная функция Enhanced Halt State может приводить к нестабильности работы разогнанного процессора.
Всем привет! Сегодня рассмотрим CPU EIST Function — что это за опция в БИОС, для чего она и как работает.
Сразу давайте уточним: её наличие не зависит от бренда системной платы, будь то Gigabyte, MSI или ASUS, а только от вшитой модели BIOS или UEFI.
Комбинации состояний ACPI G/S и С-состояний процессора
Приятно видеть все комбинации в таблице:
В состоянии G0/S0/C8 системы процессора запущены, но все ядра отключены.
В G1 (S3 или S4) некорректно говорить про С-состояния (это касается как CC-состояний, так и PC-состояний), так как процессор полностью обесточен.
Для G3 не существует S-состояний. Система не спит, она физически отключена и не может проснуться. Ей необходимо сначала получить питание.
Применима ли эта информация о C-состояниях и P-состояниях к мобильным и встраиваемым процессорам?
Для примера, недавний MacBook Air с процессором i5-5350U в основном поддерживает возможности, описанные выше (но я не уверен про P-состояния, контролируемые оборудованием). Я также смотрел документацию ARM Cortex-A, и, хотя там применяются другие термины, механизмы управления питанием выглядят похоже.
Каков предел энергопотребления процессора?
Это во многом зависит от процессора, но для процессора E3-1245 v5 @ 3.50 ГГц расчетная тепловая мощность (Thermal Design Power, TDP) составляет 80 ватт. Это среднее значение, которое процессор может выдерживать бесконечно долго (Power Limit, PL1 на изображении ниже). Системы охлаждения должны быть рассчитаны на это значение, чтобы быть надежными. Фактическое энергопотребление процессора может быть выше в течение короткого промежутка времени (состояния PL2, PL3, PL4 на изображении ниже). TDP измеряется при нагрузке высокой вычислительной сложности (худший случай), когда все ядра работают на базовой частоте (3.5 ГГц).
Как видно на изображении выше, процессор в состоянии PL2 потребляет больше энергии, чем заявлено в TDP. Процессор может находиться в этом состоянии до 100 секунд, а это достаточно долго.
P-состояния
P-состояния подразумевают, что ядро в состоянии С0, потому что ему требуется питание, чтобы выполнять инструкции. P-состояния позволяют изменять напряжение и частоту ядра (другими словами рабочий режим), чтобы снизить энергопотребление. Существует набор P-состояний, каждое из которых соответствует разных рабочим режимам (пары напряжение-частота). Наиболее высокий рабочий режим (P0) предоставляет максимальную производительность.
Процессор Intel® Xeon® E3–1200 v5 позволяет контролировать P-состояния из операционной системы (Intel® SpeedStep Technology) или оставить это оборудованию (Intel® Speed Shift Technology). Вся информация ниже специфична для семейства Intel® Xeon® E3-1200 v5, но я полагаю, это в той или иной степени актуально и для других современных процессоров.
С-состояния
Вот базовые С-состояния (определенные в стандарте ACPI).
- C0: Active, процессор/ядро выполняет инструкции. Здесь применяются P-состояния, процессор/ядро могут работать в режиме максимальной производительности (P0) или в режиме энергосбережения (в состоянии, отличном от P0).
- C1: Halt, процессор не выполняет инструкций, но может мгновенно вернуться в состояние С0. Поскольку процессор не работает, то P-состояния не актуальны для состояний, отличных от С0.
- C2: Stop-Clock, схож с C1, но требует больше времени для возврата в C0.
- С3: Sleep. Возврат в C0 требует ощутимо большего времени.
Примечание: Из-за технологии Intel® Hyper-Threading существуют также С-состояния потоков. Хотя отдельный поток может работать с С-состояниями, изменения в энергопотреблении происходят, только когда ядро входит в нужное состояние. В данной статье тема C-состояний на потоках рассматриваться не будет.
Вот описание состояний из даташита:
Примечание: LLC обозначает Last Level Cache, кэш последнего уровня и обозначает общий L3 кэш процессора.
Визуальное представление состояний:
Источник: Software Impact to Platform Energy-Efficiency White Paper
Последовательность C-состояний простыми словами:
- Нормальная работа при C0.
- Сначала останавливается тактовый генератор простаивающего ядра (С1).
- Затем локальные кэши ядра (L1/L2) сбрасываются и снимается напряжение с ядра (С3).
- Как только все ядра отключены, общий кэш (L3/LLC) ядер сбрасывается и процессор (почти) полностью может быть обесточен. Я говорю «почти», потому что, по моим предположениям, какая-то часть должна быть активна, чтобы вернуть процессор в состояние С0.
Однако если ядро работает (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_idle для моего процессора (модель 0x5e). Подписи горизонтальной оси:
Имя C-состояния: специфичное для процессора состояние: специфичное суб-состояние.
Вертикальная ось обозначает задержку выхода и целевые резидентные значения из исходного кода. Задержка выхода используется для оценки влияния данного состояния в реальном времени (то есть сколько времени потребуется для возвращения в С0 из этого состояния). Целевое резидентное значение обозначает минимальное время, которое ядро должно находиться в данном состоянии, чтобы оправдать энергетические затраты на переход в это состояние и обратно. Обратите внимание на логарифмический масштаб вертикальной оси. Задержки и минимальное время нахождения в состоянии увеличивается экспоненциально с увеличением номера состояния.
Константы задержок выхода и целевых резидентных значении C-состояний в исходном коде intel_idle
Примечание: Хотя состояния С9 и С10 включены в таблицу, они имеют 0 суб-состояний и поэтому не используются в моем процессоре. Остальные процессоры из семейства могут поддерживать эти состояния.Читайте также: