Энергопотребление процессора это кратко

Обновлено: 05.07.2024

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

Как центральный процессор может сокращать собственное энергопотребление? Подробно рассказываем об особенностях этого процесса в статье.

Введение

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

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

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

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

Все таблицы и изображения взяты из даташита, если не указано иного.

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

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

  • состояния простоя (Idle States);
  • усовершенствованная технология Intel SpeedStep® (Enhanced Intel SpeedStep® Technology).

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

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

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

  • Сократить энергопотребление подсистемы (ядра или другого ресурса, такого как тактовый генератор или кэш) путем отключения питания (уменьшив напряжение до нуля).
  • Снизить энергопотребление путем снижения напряжения и/или таковой частоты подсистемы и/или целого процессора.

Первый вариант легко понять: если питания нет, то и потребления не будет.

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


Примечание для тех, кто разбирается в цифровой электронике:


При работающем процессоре Pdynamic является наиболее важной составляющей, именно эта часть зависит линейно от частоты и квадратично от напряжения. Pshort circuit пропорционально частоте, а Pleak — напряжению.

Более того, напряжение и тактовая частота связаны линейной зависимостью.

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

Каков предел энергопотребления процессора?

Это во многом зависит от процессора, но для процессора E3-1245 v5 @ 3.50 ГГц расчетная тепловая мощность (Thermal Design Power, TDP) составляет 80 ватт. Это среднее значение, которое процессор может выдерживать бесконечно долго (Power Limit, PL1 на изображении ниже). Системы охлаждения должны быть рассчитаны на это значение, чтобы быть надежными. Фактическое энергопотребление процессора может быть выше в течение короткого промежутка времени (состояния PL2, PL3, PL4 на изображении ниже). TDP измеряется при нагрузке высокой вычислительной сложности (худший случай), когда все ядра работают на базовой частоте (3.5 ГГц).


Как видно на изображении выше, процессор в состоянии PL2 потребляет больше энергии, чем заявлено в TDP. Процессор может находиться в этом состоянии до 100 секунд, а это достаточно долго.

Состояния питания (C-states) vs состояния производительности (P-states)

Вот два способа снизить энергопотребление процессора:

  • отключить некоторые подсистемы;
  • снизить напряжение/частоту.

Они достигаются с помощью:

С-состояния описывают первый способ снижения энергопотребления процессора, поэтому они называются состояниями простоя. Чтобы отключить какую-то подсистему, на ней ничего не должно выполняться, подсистема должна простаивать. Таким образом, С-состояние, C[X], означает, что одна или несколько подсистем процессора отключены.

P-состояния описывают второй случай. Подсистемы процессора работают, но не требуют максимальной производительности, поэтому напряжение и/или тактовая частота для этой подсистемы может быть снижена. Таким образом, P-состояния, P[X], обозначают, что некоторая подсистема (например, ядро), работает на заданной паре (частота, напряжение).

Так как большинство современных процессоров состоит из нескольких ядер, то С-состояния разделены на С-состояния ядра (Core C-states, CC-states) и на С-состояния процессора (Package C-states, PC-states). Причина появления PC-состояний очень проста. Существуют компоненты с общим доступом (например, общий кэш), которые могут быть отключены только после отключения всех ядер, имеющих доступ к этому компоненту. Однако мы в роли пользователя или программиста не можем взаимодействовать с состояниями пакета напрямую, но можем управлять состояниями отдельных ядер. Таким образом, управляя CC-состояниями, мы косвенно управляем и PC-состояниями.

Состояния нумеруются от нуля по возрастанию, то есть C0, C1… и P0, P1… Большее число обозначает большее энергосбережение. C0 означает, что все компоненты включены. P0 означает максимальную производительность, то есть максимальные тактовую частоту, напряжение и энергопотребление.

С-состояния

Вот базовые С-состояния (определенные в стандарте ACPI).

  • C0: Active, процессор/ядро выполняет инструкции. Здесь применяются P-состояния, процессор/ядро могут работать в режиме максимальной производительности (P0) или в режиме энергосбережения (в состоянии, отличном от P0).
  • C1: Halt, процессор не выполняет инструкций, но может мгновенно вернуться в состояние С0. Поскольку процессор не работает, то P-состояния не актуальны для состояний, отличных от С0.
  • C2: Stop-Clock, схож с C1, но требует больше времени для возврата в C0.
  • С3: Sleep. Возврат в C0 требует ощутимо большего времени.

Современные процессоры имеют гораздо больше C-состояний. Согласно даташиту, семейство процессоров Intel® Xeon® E3-1200 v5 поддерживает состояния C0, C1, C1E (C1 Enhanced), C2, C3, C6, C7 и C8. Состояния C1 и C1E поддерживаются только ядрами, а состояние C2 — только процессором. Остальные состояния поддерживаются и ядром, и процессором.

Примечание: Из-за технологии Intel® Hyper-Threading существуют также С-состояния потоков. Хотя отдельный поток может работать с С-состояниями, изменения в энергопотреблении происходят, только когда ядро входит в нужное состояние. В данной статье тема C-состояний на потоках рассматриваться не будет.

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


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

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


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

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

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


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

Состояния питания 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. Все сохраняется в энергонезависимую память, все системы обесточиваются.

    Как показано на рисунке ниже, для моего процессора все С-состояния, упомянутые ранее, используются в G0/S0. Другими словами, при входе в состояние сна (G1) процессор выключается.


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



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

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


    В состоянии G0/S0/C8 системы процессора запущены, но все ядра отключены.

    В G1 (S3 или S4) некорректно говорить про С-состояния (это касается как CC-состояний, так и PC-состояний), так как процессор полностью обесточен.

    Для G3 не существует S-состояний. Система не спит, она физически отключена и не может проснуться. Ей необходимо сначала получить питание.

    Как программно запросить переход в энергосберегающее С-состояние?

    Современный (но не единственный) способ запросить переход в энергосберегающее состояние — это использовать инструкцию MWAIT или инструкцию HLT. Это инструкции привилегированного уровня, и они не могут быть выполнены пользовательскими программами.

    Инструкция MWAIT (Monitor Wait) заставляет процессор перейти в оптимизированное состояние (C-состояние) до тех пор, пока по указанному (с помощью другой инструкции, MONITOR) адресу не будет произведена запись. Для управления питанием MWAIT работает с регистром EAX. Биты 4-7 используются для указания целевого С-состояния, а биты 0-3 указывают суб-состояние.

    Примечание: Я думаю, что на данный момент только AMD обладает инструкциями MONITORX/MWAITX, которые, помимо мониторинга записи по адресу, работают с таймером. Это еще называется Timed MWAIT.

    Инструкция HLT (halt) останавливает выполнение, и ядро переходит в состояние HALT до тех пор, пока не произойдет прерывание. Это означает, что ядро переходит в состояние C1 или C1E.

    Что вынуждает ядро входить в определенное С-состояние?

    Хочу напомнить еще раз, я не затрагиваю гипертрединг в этом ответе.

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

    Возможно ли отключить С-состояния (всегда использовать С0)?

    Как прерывания влияют на процессор/ядро в состоянии сна?

    Когда происходит прерывание, соответствующее ядро пробуждается и переходит в состояние С0. Однако, например Intel Xeon E3-1200 v5, поддерживает технологию Power Aware Interrupt Routing (PAIR), у которой есть два достоинства:

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

    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.

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

    Эта статья является переводом.
    Оригинальный текст по
    ссылке.


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

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

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

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

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

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

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

    • состояния простоя (Idle States);
    • усовершенствованная технология Intel® SpeedStep (Enhanced Intel® SpeedStep Technology).

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

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

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

    • Сократить энергопотребление подсистемы (ядра или другого ресурса, такого как тактовый генератор или кэш) путем отключения питания (уменьшив напряжение до нуля).
    • Снизить энергопотребление путем снижения напряжения и/или таковой частоты подсистемы и/или целого процессора.

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


    Примечание для тех, кто разбирается в цифровой электронике: Pcpu = Pdynamic + Pshort circuit + Pleak. При работающем процессоре Pdynamic является наиболее важной составляющей, именно эта часть зависит линейно от частоты и квадратично от напряжения. Pshort circuit пропорционально частоте, а Pleak — напряжению.

    Более того, напряжение и тактовая частота связаны линейной зависимостью.

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

    Каков предел энергопотребления процессора?

    Это во многом зависит от процессора, но для процессора E3-1245 v5 @ 3.50 ГГц расчетная тепловая мощность (Thermal Design Power, TDP) составляет 80 ватт. Это среднее значение, которое процессор может выдерживать бесконечно долго (Power Limit, PL1 на изображении ниже). Системы охлаждения должны быть рассчитаны на это значение, чтобы быть надежными. Фактическое энергопотребление процессора может быть выше в течение короткого промежутка времени (состояния PL2, PL3, PL4 на изображении ниже). TDP измеряется при нагрузке высокой вычислительной сложности (худший случай), когда все ядра работают на базовой частоте (3.5 ГГц).


    Как видно на изображении выше, процессор в состоянии PL2 потребляет больше энергии, чем заявлено в TDP. Процессор может находиться в этом состоянии до 100 секунд, а это достаточно долго.

    Состояния питания (C-states) vs состояния производительности (P-states)

    Состояния питания (C-states) vs состояния производительности (P-states)
    Вот два способа снизить энергопотребление процессора:

    • отключить некоторые подсистемы;
    • снизить напряжение/частоту.

    P-состояния описывают второй случай. Подсистемы процессора работают, но не требуют максимальной производительности, поэтому напряжение и/или тактовая частота для этой подсистемы может быть снижена. Таким образом, P-состояния, P[X], обозначают, что некоторая подсистема (например, ядро), работает на заданной паре (частота, напряжение).

    Так как большинство современных процессоров состоит из нескольких ядер, то С-состояния разделены на С-состояния ядра (Core C-states, CC-states) и на С-состояния процессора (Package C-states, PC-states). Причина появления PC-состояний очень проста. Существуют компоненты с общим доступом (например, общий кэш), которые могут быть отключены только после отключения всех ядер, имеющих доступ к этому компоненту. Однако мы в роли пользователя или программиста не можем взаимодействовать с состояниями пакета напрямую, но можем управлять состояниями отдельных ядер. Таким образом, управляя CC-состояниями, мы косвенно управляем и PC-состояниями.

    Состояния нумеруются от нуля по возрастанию, то есть C0, C1… и P0, P1… Большее число обозначает большее энергосбережение. C0 означает, что все компоненты включены. P0 означает максимальную производительность, то есть максимальные тактовую частоту, напряжение и энергопотребление.

    С-состояния

    Вот базовые С-состояния (определенные в стандарте ACPI).

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

    Состояния питания 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.


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

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


      В состоянии G0/S0/C8 системы процессора запущены, но все ядра отключены.

      В G1 (S3 или S4) некорректно говорить про С-состояния (это касается как CC-состояний, так и PC-состояний), так как процессор полностью обесточен.

      Для G3 не существует S-состояний. Система не спит, она физически отключена и не может проснуться. Ей необходимо сначала получить питание.

      Как программно запросить переход в энергосберегающее С-состояние?

      Современный (но не единственный) способ запросить переход в энергосберегающее состояние — это использовать инструкцию MWAIT или инструкцию HLT. Это инструкции привилегированного уровня, и они не могут быть выполнены пользовательскими программами.

      Инструкция MWAIT (Monitor Wait) заставляет процессор перейти в оптимизированное состояние (C-состояние) до тех пор, пока по указанному (с помощью другой инструкции, MONITOR) адресу не будет произведена запись. Для управления питанием MWAIT работает с регистром EAX. Биты 4-7 используются для указания целевого С-состояния, а биты 0-3 указывают суб-состояние.

      Примечание: Я думаю, что на данный момент только AMD обладает инструкциями MONITORX/MWAITX, которые, помимо мониторинга записи по адресу, работают с таймером. Это еще называется Timed MWAIT.

      Инструкция HLT (halt) останавливает выполнение, и ядро переходит в состояние HALT до тех пор, пока не произойдет прерывание. Это означает, что ядро переходит в состояние C1 или C1E.

      Что вынуждает ядро входить в определенное С-состояние?

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

      Возможно ли отключить С-состояния (всегда использовать С0)?

      Как прерывания влияют на процессор\ядро в состоянии сна?

      Когда происходит прерывание, соответствующее ядро пробуждается и переходит в состояние С0. Однако, например Intel® Xeon® E3-1200 v5, поддерживает технологию Power Aware Interrupt Routing (PAIR), у которой есть два достоинства:

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

      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.


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

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

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

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

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

      Все таблицы и изображения взяты из даташита, если не указано иного.

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

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


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

      • Сократить энергопотребление подсистемы (ядра или другого ресурса, такого как тактовый генератор или кэш) путем отключения питания (уменьшив напряжение до нуля).
      • Снизить энергопотребление путем снижения напряжения и/или таковой частоты подсистемы и/или целого процессора.

      Первый вариант легко понять: если питания нет, то и потребления не будет.

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

      Примечание для тех, кто разбирается в цифровой электронике: Pcpu = Pdynamic + Pshort circuit + Pleak. При работающем процессоре Pdynamic является наиболее важной составляющей, именно эта часть зависит линейно от частоты и квадратично от напряжения. Pshort circuit пропорционально частоте, а Pleak — напряжению.

      Более того, напряжение и тактовая частота

      Каков предел энергопотребления процессора?


      Это во многом зависит от процессора, но для процессора E3-1245 v5 @ 3.50 ГГц расчетная тепловая мощность (Thermal Design Power, TDP) составляет 80 ватт. Это среднее значение, которое процессор может выдерживать бесконечно долго (Power Limit, PL1 на изображении ниже). Системы охлаждения должны быть рассчитаны на это значение, чтобы быть надежными. Фактическое энергопотребление процессора может быть выше в течение короткого промежутка времени (состояния PL2, PL3, PL4 на изображении ниже). TDP измеряется при нагрузке высокой вычислительной сложности (худший случай), когда все ядра работают на базовой частоте (3.5 ГГц).


      Как видно на изображении выше, процессор в состоянии PL2 потребляет больше энергии, чем заявлено в TDP. Процессор может находиться в этом состоянии до 100 секунд, а это достаточно долго.

      Состояния питания (C-states) vs состояния производительности (P-states)


      Состояния питания (C-states) vs состояния производительности (P-states)
      Вот два способа снизить энергопотребление процессора:

      • отключить некоторые подсистемы;
      • снизить напряжение/частоту.

      Они достигаются с помощью:

      С-состояния описывают первый способ снижения энергопотребления процессора, поэтому они называются состояниями простоя. Чтобы отключить какую-то подсистему, на ней ничего не должно выполняться, подсистема должна простаивать. Таким образом, С-состояние, C[X], означает, что одна или несколько подсистем процессора отключены.

      P-состояния описывают второй случай. Подсистемы процессора работают, но не требуют максимальной производительности, поэтому напряжение и/или тактовая частота для этой подсистемы может быть снижена. Таким образом, P-состояния, P[X], обозначают, что некоторая подсистема (например, ядро), работает на заданной паре (частота, напряжение).

      Так как большинство современных процессоров состоит из нескольких ядер, то С-состояния разделены на С-состояния ядра (Core C-states, CC-states) и на С-состояния процессора (Package C-states, PC-states). Причина появления PC-состояний очень проста. Существуют компоненты с общим доступом (например, общий кэш), которые могут быть отключены только после отключения всех ядер, имеющих доступ к этому компоненту. Однако мы в роли пользователя или программиста не можем взаимодействовать с состояниями пакета напрямую, но можем управлять состояниями отдельных ядер. Таким образом, управляя CC-состояниями, мы косвенно управляем и PC-состояниями.

      Состояния нумеруются от нуля по возрастанию, то есть C0, C1… и P0, P1… Большее число обозначает большее энергосбережение. C0 означает, что все компоненты включены. P0 означает максимальную производительность, то есть максимальные тактовую частоту, напряжение и энергопотребление.

      С-состояния


      Вот базовые С-состояния (определенные в стандарте ACPI).

      • C0: Active, процессор/ядро выполняет инструкции. Здесь применяются P-состояния, процессор/ядро могут работать в режиме максимальной производительности (P0) или в режиме энергосбережения (в состоянии, отличном от P0).
      • C1: Halt, процессор не выполняет инструкций, но может мгновенно вернуться в состояние С0. Поскольку процессор не работает, то P-состояния не актуальны для состояний, отличных от С0.
      • C2: Stop-Clock, схож с C1, но требует больше времени для возврата в C0.
      • С3: Sleep. Возврат в C0 требует ощутимо большего времени.

      Современные процессоры имеют гораздо больше C-состояний. Согласно даташиту, семейство процессоров Intel® Xeon® E3-1200 v5 поддерживает состояния C0, C1, C1E (C1 Enhanced), C2, C3, C6, C7 и C8. Состояния C1 и C1E поддерживаются только ядрами, а состояние C2 — только процессором. Остальные состояния поддерживаются и ядром, и процессором.

      Примечание: Из-за технологии Intel® Hyper-Threading существуют также С-состояния потоков. Хотя отдельный поток может работать с С-состояниями, изменения в энергопотреблении происходят, только когда ядро входит в нужное состояние. В данной статье тема C-состояний на потоках рассматриваться не будет.

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


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

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


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

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

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


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

      Состояния питания 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. Все сохраняется в энергонезависимую память, все системы обесточиваются.

        Как показано на рисунке ниже, для моего процессора все С-состояния, упомянутые ранее, используются в G0/S0. Другими словами, при входе в состояние сна (G1) процессор выключается.


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


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


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


        В состоянии G0/S0/C8 системы процессора запущены, но все ядра отключены.

        В G1 (S3 или S4) некорректно говорить про С-состояния (это касается как CC-состояний, так и PC-состояний), так как процессор полностью обесточен.

        Для G3 не существует S-состояний. Система не спит, она физически отключена и не может проснуться. Ей необходимо сначала получить питание.

        Как программно запросить переход в энергосберегающее С-состояние?


        Современный (но не единственный) способ запросить переход в энергосберегающее состояние — это использовать инструкцию MWAIT или инструкцию HLT. Это инструкции привилегированного уровня, и они не могут быть выполнены пользовательскими программами.

        Инструкция MWAIT (Monitor Wait) заставляет процессор перейти в оптимизированное состояние (C-состояние) до тех пор, пока по указанному (с помощью другой инструкции, MONITOR) адресу не будет произведена запись. Для управления питанием MWAIT работает с регистром EAX. Биты 4-7 используются для указания целевого С-состояния, а биты 0-3 указывают суб-состояние.

        Примечание: Я думаю, что на данный момент только AMD обладает инструкциями MONITORX/MWAITX, которые, помимо мониторинга записи по адресу, работают с таймером. Это еще называется Timed MWAIT.

        Инструкция HLT (halt) останавливает выполнение, и ядро переходит в состояние HALT до тех пор, пока не произойдет прерывание. Это означает, что ядро переходит в состояние C1 или C1E.

        Что вынуждает ядро входить в определенное С-состояние?

        Хочу напомнить еще раз, я не затрагиваю гипертрединг в этом ответе.

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

        Возможно ли отключить С-состояния (всегда использовать С0)?

        Как прерывания влияют на процессорядро в состоянии сна?


        Когда происходит прерывание, соответствующее ядро пробуждается и переходит в состояние С0. Однако, например Intel® Xeon® E3-1200 v5, поддерживает технологию Power Aware Interrupt Routing (PAIR), у которой есть два достоинства:

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

        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, и, хотя там применяются другие термины, механизмы управления питанием выглядят похоже.

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


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

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

        Во время работы Если вы просто работаете за компьютером к примеру просматриваете интернет-сайты, или печатаете либо просматриваете фото, то примерный расход электричества составит от 120 до 160 ватт в среднем, или от 0,14 киловатт (кВт).

        Во время игр Если же вы используете энергоемкие приложения требующие мощной слаженной работы всех частей компьютера, например это видео-игры, или работа с графикой энергопотребление в таком случае может достигать значений от 300 до 340 ватт в час, или 0,3 кВт.

        Старые компьютеры Старые компьютеры с возрастом 7-10 лет потребляют электричества намного меньше современных, это компьютеры как правило с установленной системой Windows Xp, расходы электричества в среднем составят 70 Вт/час.

        Сколько энергии потребляет электрический чайник

        Компьютерные мониторы в среднем потребляют от 30 до 40 ватт в час поэтому при общем расчете прибавляем эту сумму.

        Сколько электричества потребляет компьютер

        Понятно, что конфигурации у всех разные, поэтому мы рассмотрим в качестве примера три самых типичных случая.

        Компьютер средней мощности с умеренным использованием. Предположим, он работает, в среднем, 5 часов в день, преимущественно для Интернет-серфинга, общения и простеньких игр. Примерное потребление – 180 Ватт, плюс монитор, еще 40 Ватт. Получается, вся система потребляет 220 Ватт в час. 220 Ватт х 5 часов = 1,1 кВт. Добавим к этому расход в режиме ожидания (ведь вы же не выключаете комп из розетки, правда?). 4 Ватта х 19 часов = 0,076 кВт. Итого, 1,176 кВт в день, 35 кВт в месяц.

        Мифы и заблуждения об экономии электричества

        Геймерский комп. Конфигурация с производительным процессором и хорошей видеокартой тянет примерно 400 Вт. Плюс монитор, 40 Вт. Итого, среднее потребление электроэнергии компьютером в час – 440 Ватт. Предположим, наш геймер играет 6 часов в день. 440 Вт х 6 часов = 2,64 кВт в сутки. Режим ожидания добавит еще 0,072 кВт (4 Вт х 18). Итого, 2,71 кВт в сутки, 81 кВт в месяц.

        Сколько электроэнергии потребляет компьютер в час

        Вся правда об Electricity Saving Box






        Что учесть при расчете расхода электроэнергии ПК

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

        Потребление системного блока

        Узнать сколько энергии потребляет системный блок можно из технической документации, прилагаемой к компьютеру. Ведь по сути, его максимально возможным энергопотреблением является мощность блока питания, так как именно от него питаются все комплектующие из которых состоит системник и некоторые периферийные устройства. Мощность блока питания варьируется примерно от 300 Ватт в час на простеньких ПК и до 1600 Ватт в час и более – на мощных геймерских машинах. Но следует знать, что это значения, которые может выдавать блок питания, а не сколько по факту потребляет компьютер. На самом деле, чтобы выяснить сколько именно света расходует персональный компьютер, необходимо просуммировать энергопотребление всех его комплектующих. Самыми активными потребителями являются процессор и видеокарта.

        Материнская плата

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

        Процессор

        Производительность процессора – это параметр определяет сколько энергии он будет потреблять. Двухъядерные процессоры, работающие на низких частотах будут потреблять намного меньше восьмиядерных. Но при этом следует учитывать так же и то, что старые варианты всегда более энергозатратны. К примеру, четырехъядерный Intel Core i5 потребляет до 140 Ватт электроэнергии, в то время как Intel Quad Core при максимальной загрузке тратит более 200 Ватт в час. А вот двухъядерные AMD в среднем расходуют от 65 до 95 Ватт, в то время как более мощные варианты этого производителя потребляют примерно от 95 до 125 Ватт в час.

        Видеокарта

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

        Жесткий диск или SSD

        Энергопотребление обычного жесткого диска в среднем колеблется от 0,7 до 6 Ватт, в то время как более современные SSD расходуют меньше – от 0,6 до 3 Ватт в час.

        Оптический привод

        При нагрузке оптический привод расходует в среднем до 27 Ватт электроэнергии, в то время как в режиме простоя его потребление составляет не более 15 Ватт.

        Вентиляторы

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

        Периферийные устройства

        На вопрос сколько электроэнергии берет на себя периферия компьютера, могут ответить цифры, указанные в их технических характеристиках или на заводских наклейках, прикрепленных к ним сзади или снизу. При этом следует учесть, что монитор работает непосредственно от сети и потребляет, примерно от 18 ВТ и выше, в зависимости от модели. А энергопотребление остальных устройств, таких как веб-камера, колонки, наушники, клавиатура и мышь, происходит от интерфейсов системного блока, а потому их энергопотребление не превысит указанную максимальную мощность блока питания. Кстати, колонки также могут питаться от напрямую от сети 220 В.

        Потребление электричества в зависимости от режима использования

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

        В состоянии бездействия

        Спящий или энергосберегающий режим

        В зависимости от производительности персонального компьютера, в спящем режиме он затратит на свою работу примерно от 20 до 40 Вт, а в энергосберегающем режиме – до 10 Вт в час. За месяц это может составить в среднем от 2 до 15 киловатт, в особенности если учесть, что системный блок, находясь в выключенном состоянии, потребляет ток: запитан блок питания, запитана материнская плата (но только на линию сигнализации своего состояния), питание памяти.

        При максимальной производительности

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

        Как узнать сколько электроэнергии потребляет компьютер

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

        Материнская плата – основа ПК

        Главным фундаментом системы, на котором держится ее стабильность, является материнская плата. Для ее питания требуется порядка 20 – 40 Ватт – это зависит от функций, которые на нее возложены. Самые малофункциональные платы типа mini-ATX и microATX потребляют минимум электроэнергии, а для нормальной работы геймерских материнок необходимы гораздо большие энергозатраты. В первом случае можно взять с запасом цифру в 30 Ватт, во втором – 50 Ватт.

        Сравнительно недавно в продаже появилась оперативная память типа DDR4, которая работает на низких напряжениях. Как следствие, это привело к 30% выигрышу в энергопотреблении, которое составляет менее 4 Ватт для двух планок памяти.

        Потребление электроэнергии компьютером в спящем режиме

        Современные компьютеры отличает не только низкое потребление, но и разнообразие режимов. Многие их путают, поэтому давайте уточним.

        Потребление электроэнергии компьютером в час

        Спящий режим: отключает жесткие диски, приложения остаются в оперативной памяти, работа возобновляется практически моментально. Потребляет 7-10% от общей мощности системы.

        Режим гибернации: полностью отключает компьютер, данные сохраняются в отдельный файл, работа возобновляется медленнее, чем после сна. Потребляет 5-10 Ватт.

        Полное выключение или режим ожидания, как его называют иногда, по аналогии с бытовой техникой. Происходит полный выход из системы, все несохраненные данные теряются. Работа начинается с новой загрузки системы. Потребляет 4-5 Ватт.

        Как защитить ваш компьютер от вредоносных программ



        Уменьшение затрат

        Для снижения потребления энергии ПК используют простые и проверенные способы:

        1. Когда компьютер не используется, его лучше выключить. Для того чтобы он при необходимости быстрее загружался, можно перевести его в спящий режим или режим гибернации.
        2. Если не хотите полностью отключать блок питания, то хотя бы отключайте монитор, пока им не пользуетесь.
        3. Замените жесткие диски HDD на современные SSD.
        4. Выполните замену устаревших устройств, потребляющих много электроэнергии, на более эффективные.
        5. Зайдите в BIOS и в S3 установите опцию ACPI Suspend Type. Важно, чтобы она была не на S1 или S2. Это позволит в режиме сна отключать подачу питания на оперативную память, процессор и другие элементы.
        6. При настройке электропитания выставите время, когда ПК будет самостоятельно переходить в режим сна.
        7. Когда возможности компьютера полностью не используются, лучше приобрести менее мощную модель, которая обеспечит доступ в интернет, возможность выполнять необходимую работу и потреблять меньше электричества.

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

        Как уменьшить потребление электроэнергии компьютером

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

        Видеокарта – как самый энергозатратный элемент

        Для нетребовательных пользователей есть варианты процессоров со встроенной видеокартой. При этом значительно снижаются общие затраты на энергопотребление, так как самым энергозатратным компонентом системы является внешняя видеокарта. Для малозатратных игр подойдет видеокарта GeForce GTX 1050Ti с потреблением в 80 Ватт, для игр же в разрешение 4к надо присматриваться к видеокарте не ниже GeForce GTX 1070 с затратами на электроэнергию порядка 150 Ватт. Тем более в режиме простоя или при воспроизведении видео, потребление будет гораздо меньше. Это большой шаг в энергоэффективности за последние годы.

        Эффективные калькуляторы

        Расчёт мощности блока питания компьютера можно произвести легко и просто с помощью специального калькулятора, который можно найти на официальных сайтах производителей, которые специализируются на соответствующих устройствах. Например, на официальных сайтах Cooler Master и ASUS, на стартовой странице, пользователю предлагается выполнить такой расчёт.

        Достоинства калькулятора в том, что он имеет собственные базы по всем доступным на рынке комплектующим. При выходе новых устройств производитель тут же обновляет базу данных, предоставляя покупателю актуальные данные. Простота использования калькулятора налицо: выбрал из списка нужные данные – получил результат. В средствах массовой информации ИТ-специалисты рекомендуют увеличивать полученные после расчёта калькулятором данные на 10-15% про запас. В таких случаях при установке дополнительных комплектующих впоследствии потребляемая мощность компьютера будет в рамках эффективной работы блока питания.

        как проверить мощность компьютера

        Официальные данные

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

        1. Сначала нужно узнать полную маркировку установленного оборудования. Сделать это можно либо разобрав компьютер, либо с помощью специальных программ, таких как Aida, Astra или Everest.
        2. Нужно найти официальный сайт производителя и разобраться с его работой.
        3. Найти нужную комплектующую и переписать данные энергопотребления.
        4. И только потом удастся эффективно рассчитать мощность компьютера (Вт).

        Об эффективности

        Мощность блока питания компьютера указывается на всех устройствах, представленных на рынке в виде специальной маркировки. Но ориентироваться на неё покупателям не стоит, так как для компьютерных комплектующих важна активная мощность. Не вдаваясь в физику, пользователь должен знать, что во всех БП существует рассеиваемая мощность – тепловыделение и охлаждение, потери в электрических цепях и тому подобные утечки электричества. Вообще, специалисты рекомендуют отнимать 20% от заявленной мощности производителя блока питания, чтобы получить активную мощность.

        Но если речь идёт о таких серьёзных брендах, как Seasonic, Zalman, Thermaltake и подобных устройствах в этой золотой категории, то никаких дополнительных расчётов при покупке производить не нужно. Завод-изготовитель учитывает все потери КПД блока питания и маркирует свой продукт реальными данными. Судя по отзывам многих владельцев элитных блоков питания, зачастую данные производителя ещё и занижены на 5-10%.

        расчёт мощности блока питания компьютера

        Сервис OuterVision

        Узнать потребление энергии можно с помощью сторонних сервисов, например OuterVision:

          перейти на сайт OuterVision, в шапке выбрать пункт “PowerSupplyCalculator”;



        Запуск расчетов

        Результат расчета

        В результате “Load wattage” указано энергопотребление в час.

        Читайте также: