Способы программного управления электропитанием компонентов компьютера — ACPI
ACPI (Advanced Configuration and Power Interface) – это стандарт (спецификация), определяющий способы программного управления электропитанием компонентов компьютера с помощью встроенных средств ОС (операционной системы). Другими словами данная технология предназначена для управления состоянием персонального компьютера и энергопотреблением его компонентов.
Кроме управления электропитанием данный стандарт позволяет выполнять конфигурацию устройств Plug and Play.
Управление электропитанием и конфигурирование устройств Plug and Play осуществляется на уровне операционной системы (предшественник спецификации ACPI стандарт АРМ реализован на уровне BIOS), то есть ОС практически полностью управляет энергопотреблением и конфигурированием устройств ПК.
Спецификация ACPI требует поддержки со стороны, как материнской платы, так и подключаемых устройств.
Для технологии ACPI определяют несколько состояний и подсостояний системы (компьютера): глобальные состояния системы, состояния ЦП (центрального процессора) и состояния устройств.
Глобальных состояний системы различают четыре:
G0 (S0) – нормальное функционирование системы;
G1 (S1, S2, S3, S4) – режимы уменьшенного энергопотребления, о которых мы поговорим чуть ниже.
G2 (S5) – программное выключение. В данном состоянии компьютер выключен, но блок питания находится под напряжением.
G3 – состояние в котором питание полностью отключено от блока питания (БП).
Режимы уменьшенного энергопотребления (S1, S2, S3, S4):
S1 (Power On Suspend, POS, Doze) – режим энергосбережения, при котором отключается монитор, винчестер, но на центральный процессор и ОЗУ (модули оперативной памяти) питание подается, снижается частота системной шины. Процессорные кэши сброшены, процессоры не выполняют инструкции, отключен генератор тактовой частоты ЦП.
S2 (Standby, Standby Mode) – режим уменьшенного энергопотребления. При данном режиме происходит отключение монитора, винчестера. От ЦП отключается напряжение питания. Останавливаются все тактовые генераторы (продолжают работать только те тактовые генераторы, которые необходимы для работы оперативной памяти). Питание подается только на системную память (в ней хранится информация о состоянии системы).
S3 (Suspend to RAM, STR, Suspend) – ждущий режим. При данном режиме энергосбережения питание подается только на оперативную память (в ней хранится информация о состоянии системы). Все другие компоненты ПК отключены.
S4 (Suspend to Disk, STD, Suspend to Hard Drive, S4-Hibernation) – глубокий сон. При данном режиме энергосбережения текущее состояние системы записывается на винчестер, после чего следует отключение питание всех компонентов ПК.
Для стандарта ACPI определяют несколько состояний процессора:
C0 – процессор работает в номинальном режиме.
C1 (Halt) – состояние уменьшенного энергопотребления. Работа процессора приостановлена, но он может незамедлительно вернуться в рабочее состояние.
C2 (Stop-Clock) – работа процессора приостановлена. Но регистры и кэш остаются в рабочем состоянии. Процессор может немедленно приступить к обработке заданий.
C3 (Sleep) – режим сна. Процессор в спящем режиме не обновляет кэш.
Для технологии ACPI также определяют четыре состояния устройств:
D0 – устройство работает в номинальном режиме.
D1 – режим уменьшенного энергопотребления (устройство использует меньше энергии чем состояние D0).
D2 – режим уменьшенного энергопотребления (устройство использует меньше энергии чем состояние D1).
D3 – устройство выключено.
Интерфейс автоматического управления конфигурацией и питанием (ACPI) — это промышленный стандарт, который определяет функции управления питанием и другие сведения о конфигурации компьютера. Некоторые предыдущие версии BIOS не поддерживают интерфейс ACPI, поэтому компьютеры не могут успешно переходить в дополнительные режимы питания, например в ждущий или спящий режим.
Интерфейс автоматического управления конфигурацией и питанием (ACPI) пришел на смену уже устаревшего АРМ (Advanced Power Management).
990x.top
Простой компьютерный блог для души)
Microsoft ACPI-совместимый встроенный контроллер — что это такое?
ACPI расшифровывается как Advanced Configuration and Power Interface. Задача интерфейса — обеспечить взаимодействие между операционной системой, железом и BIOS. В некотором роде это некий мостик, без которого ПК работать не будет, или будет, но с ограниченными функциями.
Основная задача ACPI — способность корректно включать и выключать ПК, а также подключенные к нему устройства. Сетевые карты, звуковые карты, видеокарты — в работе всех этих устройств нужен интерфейс ACPI.
Если у вас отображается устройство ACPI-контроллер в диспетчере, но при этом ПК работает нормально — тогда пожалуй не стоит ничего делать. Если Windows сама не смогла установить драйвер, то если вы неопытный пользователь — лучше не пытаться исправить. Ошибки в работе ACPI недопустимы. Но если более-менее продвинутый пользователь, вы можете попробовать найти драйвер и установить его вручную (при помощи ИД оборудования в свойствах устройства). Либо использовать утилиту DevID Agent — она автоматически найдет нужные драйвера, которых нет на ПК и предложит их установить. Пожалуй это одна из лучших, так как нет рекламы, но при ее установке может захотеть поставиться левый софт.
Внимание! Перед ручной установкой — создайте точку восстановления!
Однако, если у вас показывает неизвестное устройство ACPI и при этом ноутбук Lenovo — то вам нужно установить Lenovo OneKey Optimizer или Lenovo Utility, в составе этих утилит есть нужный драйвер. Эта информация с официального сайта Lenovo.
Если драйвер установлен корректно, то восклицательного знака не будет:
Но если знак есть, а как исправить — вы точно не знаете, то лучше и не пытаться. ACPI — это серьезно, может Windows сообщает что он не установлен, но на самом деле используется базовый драйвер. Лучше обратиться к специалисту или даже на форум Microsoft, может там что подскажут.
На этом все, надеюсь информация помогла, удачи и добра, до новых встреч друзья!
Интерфейс управления для acpi microsoft windows что это
Многим из вас знакомо слово ACPI. Кто-то видел его в статьях про NT-системы, кто-то в Диспетчере устройств, а кто-то еще где-нибудь. Однако далеко не все хорошо знают, что это такое. Обычное определение вроде «ACPI — это менеджер питания» слишком поверхностно отражает суть этой системной архитектуры. Между прочим, с приходом ACPI в индустрию канули в лету «разборки» между BIOS’ом и операционкой, появился спящий режим и еще куча полезных функций, о которых раньше можно было только мечтать. Конечно, на полноту изложения данный материал не претендует, но ответ на вопрос, вынесенный в заголовок, дает. Итак, что же такое ACPI?
Промышленный стандарт управления питанием компьютера и его устройствами с помощью ОС был необходим технологии как воздух, ведь постоянные конфликты операционной системы и оборудования мешали разработке и того, и другого. BIOS никак не мог угодить операционке, она — ему. Каждый хотел конфигурировать устройства по-своему. Представляете, что бы было, если бы не существовал ACPI при нынешнем многообразии различных девайсов? Даже подумать страшно. Вот поэтому ведущими IT-компаниями было принято решение отделить «софт от харда» и разработать системную архитектуру, которая брала бы на себя всю тяжесть общения с BIOS’ом. Заодно разработчики не забыли об энергопотреблении, поэтому ACPI еще должен был управлять питанием. 1 декабря 1996 года консорциум, состоящий из Hewlett-Packard Corporation, Intel Corporation, Microsoft Corporation, Phoenix Technologies Ltd. и Toshiba Corporation, объявил о завершении работы над новым стандартом — ACPI, что расшифровывается как Advanced Configuration and Power Interface, или расширенный интерфейс конфигурирования и управления питанием компьютера. ACPI состоял из множества составляющих, главной из которых был специальный участок кода BIOS, обеспечивающий поддержку компьютером новой архитектуры. То есть со старым оборудованием новый стандарт был несовместим.
Разумеется, это повлекло за собой обновление парка компьютеров. Как это обычно делается, мы с вами, уважаемые читатели, очень хорошо знаем. За примером даже ходить далеко не надо — достаточно вспомнить историю с PCI-E. Правда, парк компьютеров еще не полностью обновился, ведь апгрейд обходится достаточно дорого. Но, как ни крути, плата без PCI-E уже считается устаревшей. С ACPI было точно так же, только польза от него не так сомнительна. Скорее даже наоборот, ведь вместе с ACPI пришел APIC, а это значит, что одно прерывание теперь могло использоваться несколькими устройствами! Для того времени это была настоящая сенсация. Первым процессором с поддержкой ACPI можно считать самый ранний Celeron, однако поддержка нового интерфейса была реализована настолько криво, что эту функцию приходилось отключать. Важно также отметить, что ACPI окончательно вытеснил Plug and Play и, по словам создателей, «обеспечил использование существующих интерфейсных разъемов более безопасным и потенциально более эффективным способом». Помимо участка кода BIOS, в состав ACPI также входила улучшенная схема управления питанием (Advanced Power Management), прикладной программный интерфейс (API), специальный машинный язык (ACPI Machine Language) и еще некоторые полезные вещи. Появился новый термин — OS Power Management, где ACPI, разумеется, отводилась главная роль.
Основные цели разработки
1. Компьютерная система должна выполнять конфигурирование устройств программными средствами. Управление питанием должно быть более
функциональным и безопасным.
2. Использование ПК должно стать более экономичным.
3. Разработчики оборудования имеют максимальную свободу при проектировании готовых систем: от самых легких решений до самых экстремальных при полной поддержке ОС.
4. Политика управления питанием слишком сложна для реализации в ROM BIOS, поэтому должна осуществляться исключительно самой ОС.
5. Унификация всех алгоритмов питания в единый стандарт ACPI позволит избавиться от конфликтов операционной системы и BIOS’а в вопросах конфигурирования устройств.
6. ОС развивается независимо от аппаратного обеспечения, поэтому на всех ACPI-совместимых машинах можно будет добиться увеличения
производительности и стабильности за счет смены операционной системы.
Нужно сказать, что разработчики своих целей достигли. Стоит рассмотреть структуру работы ACPI подробно.
Структура ACPI
Чтобы понять, как работает та или иная технология, необходим хороший пример. В технической документации разработчики пишут следующее: «Предположим, что ОС имеет политику разделения всех запросов ввода/вывода на ленивых и неленивых. Ленивые запросы (редактирование текста или электронных таблиц) объединяются в группы и исполняются устройством только тогда, когда оно начинает работать по какой-либо _другой_ причине. Неленивые операции заставляют устройство работать при первой же отправке запроса». Для ОС важно различать, какие операции являются ленивыми, а какие — нет. Кроме того, система должна знать состояние всех своих устройств, ведь выключенный девайс никогда ничего делать не станет. Все это обеспечивает ACPI. В то время, когда какая-то железка простаивает без дела, ACPI-драйвер снижает ей мощность питания и вместе с этим уменьшает общее энергопотребление работающей системы. Представьте, что в вашем системном блоке установлен автоответчик. Его задача — отвечать на входящие звонки. Разумеется, вам звонят не постоянно, поэтому большую часть времени автоответчик совершенно ничего не делает, зря потребляя драгоценную электроэнергию. Это очень нерационально. Поэтому ACPI создает девайсу специальную политику поведения, согласно которой он входит в состояние глубокого сна, однако при входящем звонке устройство проснется в течение одной секунды и ответит на вызов. Разумеется, есть одно но: автоответчик обязательно должен быть ACPI-совместимым.
Как было сказано выше, появилось новое состояние оборудования — спящий режим. Состояние всех устройств сохраняется на жесткий диск, а затем может быть восстановлено при следующей загрузке операционной системы. Преимущества спящего режима очевидны. Это быстрый старт системы, возможность продолжения работы с того места, где остановился в прошлый раз, практически моментальное выключение. К минусам можно отнести лишь обязательное наличие файла hiberfil.sys размером с оперативку и остающиеся в памяти невыгруженные dll’ки, которые со временем тормозят работу. Тем не менее, эта фича хорошо прижилась в народе, и многие ею пользуются. Производители корпусов стали даже выпускать модели с двумя кнопками: включение/выключение и спящий режим. Отныне любая кнопка на системном блоке (кроме Reset, конечно) являются программируемой — ACPI позволяет переопределять их. Откройте апплет Электропитание в Панели управления, вкладка Дополнительно. Видите, здесь можно переназначить действия кнопок на вашем корпусе. Благодаря возможностям ACPI мы можем отправлять компьютер в спящий режим по нажатию кнопки Power на системном блоке (если системный блок ATX — впрочем, AT уже можно найти только в музее). ..\Электропитание.jpg. ..\ACPI.jpg Все устройства подключаются к виртуальной ACPI-шине, хотя реальный ввод/вывод идет через обычные интерфейсы (IDE, AGP и т.д.). В этом можно убедиться, если в Диспетчере устройств в меню Вид выбрать пункт Устройства по подключению. Сначала Windows загружает ACPI-драйвер, опрашивающий ACPI-контроллер на предмет подключенных к нему устройств, главным из которых является PCI-шина. Затем выявляются подключенные платы расширения, и процесс повторяется до тех пор, пока не будут определены все шины и подключенные к ним устройства. ..\Device.jpg ACPI состоит из трех компонентов: ACPI-регистры, ACPI BIOS и ACPI-таблица.
ACPI-таблица. ACPI-таблица описывает интерфейсы аппаратных средств. Некоторые из этих описаний могут ограничивать использование устройством каких-либо функций, но большинство из них позволяют устройствам выполнять произвольные последовательности операций. ACPI-таблица содержит так называемые блоки определения (Definition Blocks), которые могут быть запрограммированы из-под ОС. Другими словами, ACPI использует встроенный интерпретатор псевдокода, называемый ACPI Machine Language (AML). AML исполняет код, содержащийся в блоках определения.
ACPI-регистры. Здесь содержится ограниченная часть описания интерфейсов из ACPI-таблиц для быстрого доступа к таким данным.
ACPI BIOS. Это часть кода BIOS, которая совместима с ACPI-спецификациями. Как правило, это код, отвечающий за загрузку, засыпание/пробуждение и перезагрузку машины. ACPI-таблицы также обеспечиваются за счет ACPI BIOS.
ACPI и железо
Специальная таблица описывает поведение обычных и ACPI-совместимых программных и аппаратных средств.
Тип железа | Обычная OS | ACPI OS с OSPM |
Обычное железо | Обычная ОС на обычном оборудовании делает то, что делала всегда | Если ОС испытывает недостаток в поддержке нужного железа, она осуществляется исключительно за счет BIOS |
Обычное и ACPI-железо в одной машине | Работает точно так же, как обычная ОС на обычном железе | Во время загрузки ОС переключает совместимое оборудование из обычного режима в режим OSPM/ACPI, и с этого момента система имеет поддержку OSPM/ACPI |
Только ACPI-железо | Управление питанием отсутствует | Полная поддержка всех функций OSPM/ACPI |
Выводы и заключение
1. Концепция ACPI одинакова для всех типов компьютеров включая десктопы, лэптопы, КПК, мобильные телефоны, рабочие станции и серверы.
2. Новая системная архитектура является достаточно переносимой — как между различными ОС, так и между процессорами.
3. Внедрение ACPI в ОС позволило несколько упростить (и удешевить) разработку кода BIOS, исключив из него примитивные энергоуправляющие функции.
4. Появление этой архитектуры значительно увеличило стабильность работы операционных систем и повысило безопасность использования оборудования.
5. Существование столь большого парка мобильных компьютеров вряд ли было бы возможным без ACPI. Динамическое управление питанием отлично экономит батарею.
Если подвести итог всему вышесказанному, ACPI, безусловно, является новым витком в технологии. Мы рассмотрели основные принципы его работы. За кадром остались неинтересные технические подробности, в которых при желании вы разберетесь сами.