Что такое 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).
В данной статье пойдет речь о вопросе управления энергопотреблением в современных компьютерах, выражаясь в специфической терминологии — Power Managment. Нет-нет, не закрывайте окно браузера, считая, что вас это не касается, поскольку вы не являетесь владельцем ноутбука и не состоите в партии зеленых. Речь пойдет о гораздо более интересных вещах: совместной инициативе Intel, Microsoft и Toshiba — ACPI, и одном из наиболее интересных ее практических воплощений в Windows98/NT — технологии OnNow, должной обеспечить "постоянно доступный PC".
Итак, что же собственно это такое — ACPI? Для начала, наверное, стоит расшифровать эту аббревиатуру. ACPI, в переводе на человеческий язык, означает Advanced Configuration and Power Interface. Или, говоря по-русски, "интерфейс расширенного конфигурирования и управления питанием". Его задача — обеспечить взаимодействие между операционной системой, аппаратным обеспечением и BIOS системной платы.
Посмотрим сначала, что творится в этой области сегодня. Большинство материнских плат, даже вышедших на базе таких относительно новых чипсетов как VIA Apollo MVP3 или Intel 440BX, не поддерживают расширенное управление энергопотреблением ACPI, несмотря на то, что по идее, ACPI-совместимым считается еще аж 430TX, а сам ACPI был анонсирован в апреле 1996 года. Его использование начинается только сегодня, по мере того, как для вышедших недавно материнских плат создаются новые версии BIOS, частично поддерживающие ACPI.
- Совместная работа компонентов системы отсутствует, как таковая: диски начинают раскручиваться, когда это совершенно ненужно, экран гаснет во время работы, поскольку текстовый редактор забыл отметиться у операционной системы, и т.д.
- BIOS системной платы, операционная система и приложения бьются друг с другом за контроль над аппаратным обеспечением компьютера. Но любое внешнее относительно материнской платы оборудование не участвует в процессе управления энергопотреблением — когда вы добавите в систему встроенный модем, сможет ли он как-то при установке высказать BIOS свои пожелания? И куда его пошлет BIOS?
- Имеющееся управление энергопотреблением в основном ограничено материнской платой и отличается крайней тупостью. Ну, например, Windows98 скидывает на винт своп-файл. Даже идиоту должно быть ясно, что винт в этот момент активен, этот факт можно даже не проверять. А BIOS системной платы все равно проверяет.
- Необходимость выключать или перезагружать компьютер при добавлении новых устройств. Кое-где уже наметился прогресс (USB, например), но все равно, до полной горячей замены еще далеко.
- Ну и, наконец, приложения не заботятся об экономии потребляемой компьютером энергии, да и работают не ахти. Выдерните из включенного компьютера видеокарту — наверняка ведь Word зависнет. ;-)
Итак, повторюсь, основная задача ACPI — способность разумно включать и выключать PC и подключенную к нему периферию. Причем, помимо принтеров, сетевых карт, дисководов CD-ROM и прочая и прочая, могут быть и такие, пока еще экзотические устройства, как телевизор, видеомагнитофон, музыкальный центр. И конечно речь идет об умной активации PC. Так, чтобы видеоплеер при установке в него кассеты смог разбудить PC, который включил бы телевизор.
Однако на данный момент ACPI может интересовать среднего пользователя только как теоретическая архитектура. Куда интереснее основанная на нем технология OnNow, уже сегодня могущая предоставить кое-какие вполне осязаемые приятности. Ее цели: убрать задержки при включении и выключении компьютера, позволить обслуживающим приложениям, таким как дефрагментация диска или проверка на вирусы выполняться в то время, когда компьютер выключен, и вообще, улучшить общую картину энергопотребления PC.
- G0 — обычное, рабочее состояние
- G1 — suspend, спящий режим
- G2 — soft-off, режим, когда питание отключено, но блок питания находится под напряжением, и машина готова включиться в любой момент
- G3 — mechanical off — питание отключено напрочь
- S1: (standby 1) останавливаются тактовые генераторы CPU и всей системы, но при этом состояние памяти остается неизменным. Выход из S1 осуществляется мгновенно.
- S2: (standby 2) также останавливаются тактовые генераторы CPU и всей системы, но к тому же отключается питание кэша и CPU, а данные, хранившиеся там, сбрасываются в основную память. Включение также происходит достаточно быстро.
- S3: (suspend-to-memory) по замыслу, именно этот режим должен был быть OnNow, но по воле разработчиков пока так не получилось. Должны обесточиваться все компоненты системы, кроме памяти, в которой сохраняются необходимые данные о состоянии CPU и кэша. Включение с восстановлением предыдущего состояния PC действительно происходит Now, то есть практически сразу.
- S4: (suspend-to-disk) то, что реализовано в каком-то виде сейчас. Все компоненты системы обесточиваются, а данные о состоянии процессора и содержимое кэша и памяти записываются в специально отведенное место на жестком диске. При этом пробуждение может занимать значительное время.
Режим S3 (настоящий OnNow) не может быть реализован из-за того, что существующие системные платы не имеют схем разделенного питания компонентов. Поэтому, до выхода следующего поколения материнок OnNow в полном объеме реализован быть не может. Пока же, путем модификации BIOS, можно добиться только некой эмуляции — S4.
Первой же материнской платой, которая будет иметь раздельные схемы питания для своих узлов и будет, таким образом, поддерживать режим S3 станет ASUS P2B-E — модификация давно известной системной платы P2B от Asustek. Кроме возможности suspend-to-memory, кстати, P2B-E будет иметь 5 слотов PCI. В серийное производство эта плата будет запущена в ноябре текущего года.
Но вернемся к нашим баранам. Спецификацию OnNow разрабатывала небезызвестная вам фирма Microsoft. Угадайте с трех попыток, кто по этой спецификации должен стать управляющим центром компьютера по всем этим вопросам? Первые два ответа можно не считать, правильно — Windows.
- Автоматическое скачивание файлов из Internet и выполнение системных задач. Так, Internet'овское приложение может быть настроено для того, чтобы в 3 ночи включить компьютер, просмотреть несколько сайтов, и скачать вновь появившиеся файлы. Естественно, если оно поддерживает API OnNow. То же самое относится к таким программам, как антивирусы, резервное копирование, Scandisk, наконец.
- Сохранение сетевых соединений. Так, при выключении компьютера, или даже при его "засыпании", сетевое соединение рвется, файлы закрываются и т.д. При возникновении подобной ситуации, приложение, написанное с учетом OnNow, автоматом выполнит автосохранение используемых файлов на локальном диске и после включения компьютера и восстановления соединения, без криков позволит пользователю продолжить работу.
- Обработка специфических событий. Так, факс-модем способен находиться в состоянии приема 24 часа в сутки, независимо от того, включен компьютер или нет. Если он выключен, при входящем звонке модем его включит и запустит нужную программу.
В общем, я полагаю, тенденцию вы уловили. Компьютер, постоянно находящийся наготове.
Обидно, однако, что пока с практическим использованием ACPI очень дела обстоят неважно. Возьмем самое яркое видимое и единственное на данный момент проявление ACPI в Windows 98 — Hibernate (по-русски — зимняя спячка). Проще говоря, это то самое хваленое сбрасывание данных из оперативной и видеопамяти на винт, с последующим быстрым восстановлением при включении компьютера. Таким образом, у нас получается аналог спящего режима, когда к вашим услугам предоставлены всегда запущенные приложения, но с нулевым потреблением энергии. Так вот, после появления в вашем компьютере версии BIOS, поддерживающей ACPI и некоторых манипуляций с установкой Windows 98, у вас действительно в Control Panel/Power Management появится пара вожделенных пунктов:
И соответствующий пункт в закладке Advanced:
Я уже не говорю о не так хорошо заметных проявлениях в списке системных устройств:
Как вам нравятся такие устройства, как ACPI System Button или Composite Power Source?
Однако, небольшое но. Ох уж это но, всегда оно появляется. Как обычно, новая технология отказывается работать в Windows сразу и без ошибок. Эта печальная практика затронула и OnNow. В Windows 98 фактически он не работает. До выхода Service Pack 1 все ограничится этими красивыми, но, к сожалению, бесполезными картинками. Сегодня в Windows'98 не работают ни Hibernate, ни вообще, какие либо функции управления питанием через ACPI. Весь контроль над ними берет на себя APM. Взять тот же Composite Power Source (по-русски говоря, — блок питания в корпусе): при входе в спящий режим через ACPI он должен выключаться, а при входе через APM (сегодня) — не выключается. Улавливаете разницу в уровне контроля над железом?
Итог: любимый город может спать спокойно. По крайней мере, до 99 года, когда выйдет SP1 для Windows 98, а комплектующие и программы научатся работать в паре с ACPI.
Возможно, однако, что OnNow будет все же работать через BIOS, в обход операционной системы. Например, плате ASUS P2B-E не будет требоваться команда Windows 98 для перехода в S3 (suspend-to-memory), а уже давно вышедшая плата Aopen AX-6BC умеет делать S4 (suspend-to-disk) не пользуясь средствами операционной системы.
В наших с вами компьютерах существует множество опций, к существованию которых мы давно привыкли и воспринимаем их как должное. Среди них есть и такие, которые были введены в компьютерную жизнь благодаря принятию в середине 90-х гг. ведущими производителями компьютерного оборудования стандарта ACPI(Advanced Configuration and Power Interface — Расширенный интерфейс управления настройкой и питанием). Этот стандарт предоставляет операционной системе и, как следствие, пользователю компьютера мощные и эффективные средства для контроля аппаратных компонентов и управления их работой.
Например, в операционной системе Windows благодаря технологии ACPI пользователь может программно установить такие параметры, как временное или постоянное отключение компьютера или отдельных его компонентов, переход компьютера в режим пониженного энергопотребления, в спящий режим или в режим гибернации.
Эти функции кажутся нам теперь совершенно естественными, но в ранних версиях Windows, таких как Windows 95, не поддерживавших технологию ACPI (не говоря уже об операционных системах семейства DOS), операционная система не могла даже автоматически выключить компьютер, и пользователю приходилось самостоятельно нажимать кнопку питания для того, чтобы выключить системный блок.
Преимущества
Какие же преимущества дает повсеместное внедрение стандарта ACPI простому пользователю?
Основная функция ACPI – контроль со стороны операционной системы за потреблением энергии всего компьютера и его отдельных компонентов. Например, при помощи функций ACPI операционная система может погрузить компьютер в режим сна, а также автоматически выключить питание. На практике пользователь может так настроить поведение компьютера, что он ничем не будет отличаться от электронной бытовой техники, такой, например, как музыкальный центр или телевизор, которые готовы к работе сразу же после того, как вы нажимаете их кнопку питания. При этом пользователь может пропустить ставшую традиционной загрузку компьютера.
Но этим возможности ACPI не ограничиваются. Пользователь может также запрограммировать поведение кнопки выключения питанием на системном блоке. При ее нажатии система будет спрашивать у вас, что делать — выключать ли компьютер, переводить ли его в спящий режим, режим гибернации, то есть, приостановки работы компьютера с сохранением текущей сессии, или ничего не делать. Единственной кнопкой на блоке, не зависящей от программных установок, на компьютере, поддерживающем ACPI, осталась лишь кнопка Reset.
Помимо контроля управления энергопитанием компьютера, технология предоставляет средства мониторинга состояния оборудования, что позволяет отслеживать такие параметры, как температура материнской платы и процессора, скорость вращения вентиляторов, и.т.д. Пользователи ноутбуков благодаря стандарту ACPI получили возможность следить за уровнем заряда батареи.
Стандарт ACPI определяет несколько режимов потребления энергия – номинальный режим, энергосберегающий режим, режим полной остановки, и.т.д. Эти режимы поддерживаются как всем компьютером, так и его отдельными компонентами, в том числе и центральным процессором.
Пользователь может настроить уровень поддержки ACPI компьютером, а также включить или выключить отдельные опции ACPI в БИОСЕ при помощи интерфейса настроек BIOS Setup.
Основные преимущества технологии:
- Управление питанием компьютера и его компонентов программными средствами
- Повышение экономичности компьютера
- Разрешение конфликтов между BIOS и ОС при конфигурировании устройств
- Платформенная независимость технологии ACPI
Принцип работы
ACPI представляет собой независимый от платформы стандарт, облегчающий поиск устройств, их конфигурирование, управление питанием, а также мониторинг. Благодаря принятию стандарта ACPI были устранены конфликты между BIOS и операционной системой, и управление питанием стало осуществляться под контролем операционной системы.
Функции ACPI хранятся в БИОСЕ компьютера. Это справедливо, разумеется, для тех BIOS, которые поддерживают ACPI. Кроме того, для работы функций ACPI требуется поддержка технологии со стороны операционной системы.
ACPI на уровне BIOS состоит из нескольких компонентов, которые включают ядро ACPI и таблицы данных. В отличие от таких встроенных в BIOS технологий, как PnP, реализация ACPI в рамках BIOS не столь объемна, а функции ACPI BIOS ограничиваются организацией загрузки таблиц ACPI в память компьютера. Таблицы данных ACPI содержат сведения об аппаратной конфигурации и помогают операционной системе управлять аппаратными компонентами.
Стоит ли включать параметр?
Если у вас на ПК установлена современная ОС, поддерживающая технологию ACPI, такая, как Windows 98 и более новая, то в таком случае опцию лучше всего включить. В противном случае вы не сможете управлять состояниями энергопотребления персонального компьютера. Однако если вы, до сих пор используете одну из старых ОС, то включение опции не имеет особого смысла.
Следует иметь в виду, что нужное значение опции необходимо выбрать до установки операционной системы. В противном случае переключение варианта опции в BIOS может привести к неработоспособности уже установленной ОС.
Другие идентичные названия опции: APIC Mode, IOAPIC Function, Interrupt Mode.
Опция BIOS Setup ACPI APIC Support используется для того, чтобы включить или выключить поддержку контроллера APIC на материнской плате. Эта опция имеет всего два варианта (Enabled — Включено и Disabled — Выключено).
Принцип работы
Все пользователи давно привыкли к гибким возможностям по управлению энергопотреблением современного персонального компьютера. К примеру, разнообразные режимы приостановки работы, такие, как режим Stand by или Hybernation, используемые в операционных системах линейки Windows, позволяют быстро останавливать и возобновлять работу компьютера без его полной перезагрузки, сохраняя при этом текущие данные пользователя. Особенно важно использование функций энергосбережения в портативных компьютерах – ноутбуках и нетбуках, которые в большинстве случаев работают от встроенной аккумуляторной батареи, емкость которой в значительной степени ограничена.
Гибкое управление энергопотреблением компьютера стало возможным благодаря повсеместному распространению технологии ACPI (Advanced Configuration and Power Interface, Усовершенствованный интерфейс конфигурирования и управления питанием). Кроме того, данная технология отвечает за поддержку расширенного контроллера прерываний APIC.
Однако воспользоваться преимуществами технологии ACPI пользователь сможет лишь в том случае, если в BIOS его компьютера включена поддержка данной технологии. За включение поддержки технологии отвечает функция BIOS ACPI Function. Выбор значения Enabled позволяет включить поддержку технологии в BIOS, а выбор значения Disabled – выключить.
Кроме того, для работы интерфейса ACPI необходима его поддержка со стороны операционной системы. Технологию ACPI поддерживают практически все существующие на текущий момент операционные системы линейки Windows, начиная с Windows 98 SE.
Стоит ли включать опцию?
Поддержка APIC со стороны операционной системы обуславливает и целесообразность включения или выключения опции ACPI APIC Support. Если у вас на компьютере установлены старые версии ОС, такие, как Microsoft DOS, Microsoft Windows 95, Windows 98, Windows Millenium (до Windows NT), то имейте в виду, что они не поддерживают APIC и разработаны с расчетом на работу с устаревшим контроллером прерываний PIC. Из этого следует, что велика вероятность того, что эти операционные системы будут нестабильно работать с включенной опцией поддержки контроллера APIC, или не будут работать вообще. Если такое происходит, и вы уверены в том, что проблемы с операционными системами происходит из-за включенной поддержки улучшенного контроллера прерываний APIC, то вам стоит выключить данную опцию.
При отключении опции контроллер APIC будет работать, эмулируя контроллер 8259 PIC, и, таким образом, старые операционные системы смогут работать, обращаясь к нему. Если же у вас установлена современная операционная система, начиная с Windows 2000, то вы можете смело включить эту опцию, поскольку поддержка технологии APIC сделает вашу систему более производительной. Кроме того, обязательной является включение данной опции в системе, где установлено несколько процессоров.
История создания
Нельзя сказать, что стандарт ACPI появился на пустом месте. До его появления существовал стандарт управления питанием APM. Однако он поддерживался исключительно на уровне BIOS. Кроме того, его возможности были ограничены и в настоящее время этот стандарт практически не используется.
ACPI изначально разрабатывался в качестве открытого стандарта. Первая реализация ACPI была создана в 1996 году компаниями Toshiba, Intel и Microsoft, к которым позже присоединились Phoenix и Hewlett-Packard. Стандарт ACPI постоянно совершенствуется, а его последняя версия была выпущена в 2011 г. Первоначально в ACPI использовалась 16 и 32-битная адресация, которая позже сменилась 64-битной. В версии ACPI 3.0, вышедшей в 2004 г., была добавлена поддержка разъемов SATA, а также шины PCI Express.
На сегодняшний день эта технология поддерживается большинством операционных систем, а также процессорных архитектур. Помимо семейства ОС Microsoft Windows стандарт ACPI поддерживается также такими семействами ОС, как Linux и Free BSD.
Принцип работы
Чтобы уяснить принцип работы этой опции, следует разобраться с тем, для чего вообще нужен контроллер прерываний. Контроллер прерываний – это расположенный на материнской плате чип, который обрабатывает запросы к процессору, поступающие от аппаратных устройств, таких, как платы, вставленные в разъемы расширения, накопители, порты, и т.д. Эти запросы и называются аппаратными прерываниями.
APIC представляет собой новую версию контроллера прерываний, которая в 90-х гг. пришла на смену широко использовавшемуся до этого PIC. Контроллер APIC был разработан компанией Intel и впервые стал применяться в персональных компьютерах на базе процессора Pentium. Аббревиатура APIC расшифровывается, как Advanced Programmable Interrupt Controller – улучшенный программируемый контроллер прерываний.
Контроллер прерываний APIC предназначен для обработки аппаратных прерываний, поступающих от устройств и состоит из двух основных компонентов – это так называемый контроллер локального APIC (Local APIC или LAPIC), располагающийся в самом процессоре (точнее говоря, в каждом процессорном ядре) и чип контроллера ввода/вывода APIC(I/O APIC), располагающийся на материнской плате. Таким образом, количество локальных контроллеров прерываний LAPIC соответствует количеству процессорных ядер, установленных в компьютере.
Связь между обоими контроллерами осуществляется по системной шине, хотя во многих старых компьютерах для этой цели существовала специальная шина. Кроме того, раньше, до появления процессоров семейства Pentium поколения P54C, LAPIC находился не в самом центральном процессоре, а располагался в виде отдельного микроконтроллера на материнской плате. Контроллеров I/O APIC в системе также может быть несколько – до 8 штук. Если в системе нет ни одного I/O APIC, то контроллеры LAPIC вообще не используются, независимо от того, присутствуют ли они в ядрах процессора или нет, и вместо них обработкой прерываний занимается старый контроллер 8259 PIC.
Внедрение улучшенного контроллера прерываний позволило усовершенствовать обработку аппаратных прерываний, а кроме того, увеличило количество доступных в системе прерываний. Стандартное количество прерываний для I/O APIC составляет 24, а максимальное – 64. Таким образом, APIC существенно расширил возможности персонального компьютера по обработке аппаратных прерываний, ведь до внедрения технологии APIC контроллер PIC поддерживал всего лишь 16 прерываний.
Кроме того, поддержка APIC является составной частью технологии ACPI (Advanced Configuration and Power Interface, модернизированный интерфейс конфигурирования и питания).
Технология APIC разрабатывалась преимущественно для работы на многопроцессорных системах, там, где требуется надежная система для распределения аппаратных прерываний, идущих от устройств к процессорам. На сегодняшний день система контроллеров LAPIC используется как на однопроцессорных, так и на многопроцессорных системных платах компьютеров.
Следует помнить, однако, что для того, чтобы технология APIC работала, требуется и поддержка со стороны программного обеспечения, прежде всего, операционных систем. Все современные операционные системы, такие как Microsoft Windows XP, Windows Vista, Windows 7 и 8, поддерживают контроллер APIC.
Заключение
Появление технологии ACPI является важным этапом эволюции компьютерных устройств. Благодаря появлению технологии ACPI компьютеры научились работать в более гибком режиме, подстраиваясь под нужды пользователя и стали более экономичными. Кроме того, благодаря ей упростился контроль со стороны операционной системы над аппаратным обеспечением компьютера.
Опция ACPI Function предназначена для включения поддержки технологии ACPI в BIOS персонального компьютера. Опция имеет всего два значения – Enabled (Включено) и Disabled (Выключено).
Читайте также: