ACPI

ACPI (англ. Advanced Configuration and Power Interface — усовершенствованныйинтерфейс управления конфигурацией и питанием) —открытый промышленный стандарт, впервые выпущенный в декабре1996 года и разработанный совместно компаниямиHP,Intel,Microsoft,Phoenix иToshiba, который определяет общий интерфейс для обнаружения аппаратного обеспечения, управления питанием и конфигурацииматеринской платы иустройств.
Спецификация 2.0 была представлена в сентябре2000 года. Она распространяется на более широкий спектр компьютеров, включая корпоративные серверы, настольные системы и ноутбуки. Кроме того, в ACPI 2.0 добавлена поддержка64-разрядныхмикропроцессоров для серверов, поддержка различных типов памяти, устройствPCI иPCI-X.
Версия спецификации 3.0b была выпущена10 октября2006 года.
На настоящий момент последней версией спецификации ACPI является версия 6.2a, выпущенная организацией UEFI Forum в сентябре 2017 года.[1]
Задача ACPI — обеспечить взаимодействие междуоперационной системой,аппаратным обеспечением иBIOS материнской платы.
ACPI пришел на смену технологииAPM (англ. Advanced Power Management).
Введение
[править |править код]Наиболее известной частью стандарта ACPI является управление питанием, имеющее два значительных усовершенствования по сравнению с предшествующими стандартами. Во-первых, концепция ACPI передаёт управление питаниемоперационной системе (ОЅ). Такая модель выгодно отличается от существовавшей до этого моделиAPM, в которой за управление питанием ответствененBIOS материнской платы, а возможности ОС в этом отношении сильно ограничены. В модели ACPIBIOS предоставляет операционной системе методы для прямого детализированного управления аппаратным обеспечением. Таким образом, ОС получает практически полный контроль над энергопотреблением.
Другая важная часть спецификации ACPI — это предоставление насерверах и настольных компьютерах таких возможностей по управлению питанием, которые до того были доступны только напортативных компьютерах. Например, система может быть переведена в состояние чрезвычайно низкого энергопотребления, в котором питание подается лишь наоперативную память (а возможно, и она находится без питания), но при этомпрерывания некоторых устройств (часы реального времени, клавиатура, модем и т. д.) могут достаточно быстро перевести систему из такого состояния в нормальный рабочий режим (то есть «пробудить» систему).
Помимо требований к программномуинтерфейсу, ACPI также требует специальной поддержки от аппаратного обеспечения. Таким образом, поддержку ACPI должны иметь ОС,чипсет материнской платы и дажецентральный процессор.
В наши дни различные версии ACPI поддерживаются многими ОС — в том числе всеми версиямиMicrosoft Windows, начиная сWindows 98, системамиGNU/Linux,FreeBSD,OpenBSD,NetBSD иeComStation.
Технические подробности
[править |править код]Интерфейс ACPI организуется путём размещения в определённой области оперативной памяти нескольких таблиц, содержащих описание аппаратных ресурсов и программных методов управления ими. Каждый тип таблицы имеет определённый формат, описанный в спецификации. Кроме того, таблицы, содержащие методы управления устройствами и обработчики событий ACPI, содержат код на языке AML (ACPI Machine Language) — машинно-независимый набор инструкций, представленный в компактной форме.Операционная система, поддерживающая ACPI, содержит интерпретатор AML, который транслирует инструкции AML в инструкции центрального процессора, выполняя таким образом методы или обработчики событий.
Некоторые из этих таблиц полностью или частично хранят статические данные в том смысле, что от запуска к запуску системы они не изменяются. Статические данные, как правило, создаются производителем материнской платы илиBIOS и описываются на специальном языке ASL (ACPI Source Language), а затем компилируются в представление на AML.
Другие таблицы хранят динамические данные, которые зависят, например, от установокBIOS и комплектации материнской платы. Такие таблицы формируютсяBIOS на этапе загрузки системы до передачи управленияОС.
РольОС в этой модели заключается в том, что она переводит различные компоненты аппаратного обеспечения из одного состояния (например, нормальный режим работы) в другое (например, режим пониженного энергопотребления). Переход из одного состояния в другое происходит, как правило, по событию. Например, падение температуры на ядре процессора является событием, по которомуОС может вызвать метод уменьшения скорости вращения вентилятора. Другой пример: пользователь дал явное указание перехода системы в спящее состояние с сохранением оперативной памяти на диск, а через некоторое время администратор сети произвёл включение системы c помощью функцииWake-on-LAN.
Состояния
[править |править код]Глобальные состояния
[править |править код]Выделяют следующие основные состояния «системы в целом».
- G0 (S0) (Working) — нормальная работа.
- G1 (Suspend, Sleeping, Sleeping Legacy) — машина выключена, однако текущий системный контекст (system context) сохранён, работа может быть продолжена без перезагрузки. Для каждого устройства определяется «степень потери информации» в процессе засыпания, а также где информация должна быть сохранена и откуда будет прочитана при пробуждении, и время на пробуждение из одного состояния до другого (например, от сна до рабочего состояния). Выделяют 4 состояния сна:
- S1 («Power on Suspend» (POS) в BIOS) — состояние, при котором все процессорные кэши сброшены и процессоры прекратили выполнение инструкций. Однако питание процессоров и оперативной памяти поддерживается; устройства, которые не обозначили, что они должны оставаться включенными, могут быть отключены;
- S2 — более глубокое состояние сна, чем S1, когда центральный процессор отключен, обычно, однако, не используемое;
- S3 («Suspend to RAM» (STR) в BIOS, «Ждущий режим» («Standby») в версияхWindows вплоть доWindows XP и в некоторых вариацияхLinux, «Спящий режим» («Sleep») вWindows Vista иMac OS X, хотя в спецификациях ACPI упоминается только как S3 и Sleep) — в этом состоянии на оперативную память (ОЗУ) продолжает подаваться питание, и она остаётся практически единственным компонентом, потребляющим энергию. Так как состояние операционной системы и всех приложений, открытых документов и т. д. хранится в оперативной памяти, пользователь может возобновить работу точно на том месте, где он её оставил — состояние оперативной памяти при возвращении из S3 то же, что и до входа в этот режим (в спецификации указано, что S3 довольно похож на S2, только чуть больше компонентов отключаются в S3). S3 имеет два преимущества перед S4: компьютер быстрее возвращается в рабочее состояние, и, второе, если запущенная программа (открытые документы и т. д.) содержит конфиденциальную информацию, то эта информация не будет принудительно записана на диск. Однако дисковые кэши могут быть сброшены на диск для предотвращения нарушения целостности данных в случае, если система не просыпается, например, из-за сбоя питания;
- S4 («Гибернация» (Hibernation) вWindows, «Safe Sleep» вMac OS X, также известен как «Suspend to disk», хотя спецификация ACPI упоминает только термин S4) — в этом состоянии всё содержимое оперативной памяти сохраняется в энергонезависимой памяти, такой, как жёсткий диск: состояние операционной системы, всех приложений, открытых документов и т. д. Это означает, что после возвращения из S4 пользователь может возобновить работу с места, где она была прекращена, аналогично режиму S3. Различие между S4 и S3, кроме дополнительного времени на перемещение содержимого оперативной памяти на диск и назад, — в том, что перебои с питанием компьютера в S3 приведут к потере всех данных в оперативной памяти, включая все несохранённые документы, в то время как компьютер в S4 этому не подвержен. S4 весьма отличается от других состояний S и сильнее S1-S3 напоминает G2Soft Off и G3Mechanical Off. Система, находящаяся в S4, может быть также переведена в G3Mechanical Off (Механическое выключение) и все ещё оставаться в S4, сохраняя информацию о состоянии так, что можно восстановить операционное состояние после подачи питания.
- G2 (S5) (soft-off) —мягкое (программное) выключение; система полностью остановлена, но под напряжением, готова включиться в любой момент. Системный контекст утерян.
- G3 (mechanical off) —механическое выключение системы; блок питания ATX отключен.
Дополнительно — технология OnNow от Microsoft (Расширения S1-S4 состояния G1).Также Windows, начиная с Vista, поддерживает «Гибридный спящий режим», сочетающий в себе преимущества S1/S3 (быстрота пробуждения) и S4 (защищённость от сбоев электропитания).Также он реализован вGNU/Linux (pm-suspend-hybrid), аналогичная реализация вMac OS X имеет название Safe Sleep.
Состояния центрального процессора
[править |править код]Выделяют четыре состояния функционирования процессора (от C0 до C3).
- C0 — оперативный (рабочий) режим.
- C1 (известно какHalt) — состояние, в котором процессор не исполняет инструкции, но может незамедлительно вернуться в рабочее состояние. Некоторые процессоры, например,Pentium 4, также поддерживают состояние Enhanced C1 (C1E) для более низкого энергопотребления.
- C2 (известно какStop-Clock) — состояние, в котором процессор обнаруживается приложениями, но для перехода в рабочий режим требуется время.
- C3 (известно какSleep) — состояние, в котором процессор отключает собственный кэш, но готов к переходу в другие состояния.
Состояния устройств
[править |править код]Выделяют четыре состояния функционирования других устройств (монитор, модем, шины, сетевые карты, видеокарта, диски, флоппи и т. д.) — от D0 до D3.
- D0 — полностью оперативное состояние, устройство включено.
- D1 иD2 — промежуточные состояния, активность определяется устройством.
- D3 — устройство выключено.
Состояния производительности
[править |править код]Пока процессор или устройство функционирует (C0 и D0, соответственно), он может находиться в одном или несколькихсостояниях производительности. Эти состояния зависят от конкретной реализации. Так, P0 — всегда наивысший уровень производительности; с P1 до Pn последовательное снижение уровня производительности, до предела реализации, гдеn не превышает 16.
P-состояния также известны какSpeedStep в процессорахIntel, какPowerNow! илиCool'n'Quiet в процессорахAMD, и какLongHaul в процессорахVIA.
- P0 максимальная производительность и частота
- P1 меньше, чемP0, напряжение/частота урезаны
- P2 меньше, чемP1, напряжение/частота урезаны
- …
- Pn меньше, чемP(n-1), напряжение/частота урезаны
См. также
[править |править код]Примечания
[править |править код]- ↑Advanced Configuration and Power Interface Specification, Version 6.2a (неопр.) (PDF). UEFI.org (сентябрь 2017). Архивировано 27 января 2018 года.
Ссылки
[править |править код]- Домашняя страница ACPIАрхивная копия от 22 июня 2011 наWayback Machine
![]() | В статьене хватаетссылок на источники (см.рекомендации по поиску). Информация должна бытьпроверяема, иначе она может быть удалена. Вы можетеотредактировать статью, добавив ссылки наавторитетные источники в видесносок.(20 сентября 2018) |