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 передаёт управление питанием операционной системе (ОS). Такая модель выгодно отличается от существовавшей до этого модели APM, в которой за управление питанием ответственен BIOS материнской платы, а возможности ОС в этом отношении сильно ограничены. В модели ACPI BIOS предоставляет операционной системе методы для прямого детализированного управления аппаратным обеспечением. Таким образом, ОС получает практически полный контроль над энергопотреблением.

Другая важная часть спецификации 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 напоминает G2 Soft Off и G3 Mechanical Off. Система, находящаяся в S4, может быть также переведена в G3 Mechanical Off (Механическое выключение) и все ещё оставаться в S4, сохраняя информацию о состоянии так, что можно восстановить операционное состояние после подачи питания.
  • G2 (S5) (soft-off) — мягкое (программное) выключение; система полностью остановлена, но под напряжением, готова включиться в любой момент. Системный контекст утерян.
  • G3 (mechanical off) — механическое выключение системы; блок питания ATX отключен.
  • Дополнительно — технология OnNow от Microsoft (Расширения S1-S4 состояния G1). Также Windows 7 поддерживает «Гибридный спящий режим», сочетающий в себе преимущества 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), напряжение/частота урезаны

    ACPI-совместимая система, она же Advanced Configuration and Power Interface — это, если верить написанному компанией Майкрософт, усовершенствованная система предназначенная для питания вашего компьютера. Поэтому скорее всего дело в питании и в большинстве случает такая проблема возникает на ноутбуках с батареями. Да-да и батарея требует установку драйвера, для корректной работы.

    Проявляется эта проблема следующим способом. Вы переустановили операционную систему Windows и установили все необходимые для работы драйвера. Однако зайдя в Диспетчер устройств, который находится в Панели управления в разделе Система, вы обнаруживаете, что висит одно или два устройства без драйверов которые обычно именуются как Microsoft ACPI-совместимая система. Эти неизвестные устройства имеют свои коды, которые мы привели чуть ниже.

    Коды устройств:

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

    Если системных файлов нет, то необходимо отыскать архив драйверов или взять со схожего по параметрам ноутбука и скопировать по указанным выше путям.

    Если файлы есть, то необходимо установить драйвер батареи. Делается это следующим образом. Копируется файл драйвера .inf, после чего вы идете в Панель управления — Система — Диспетчер устройств, щелкаете два раза по неизвестному устройству и выбираете Обновить драйвер указав тот файл который вы скопировали ранее, .inf.

    Также, помочь устранить данную проблему поможет программа Unknown Device >В некоторых случаях проблема может быть в драйверах на процессор, поэтому, попробуйте также установить/переустановить драйвера на процессор.

    Бывало, что помогал самый дурацкий метод — это удаление неизвестных устройств и перезагрузка компьютера. Я лично не проверял и сильно сомневаюсь в эффективности такого способа, но на форумах встречаются те, кому данный способ помог. Пробуйте!

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

    Когда будете искать драйвера, под Windows XP, имейте в виду, что драйвера под WinXP — это тоже самое что и Win2000, Win2k, не запутывайтесь в этом.

    Готово! Подобные действия должны привести к тому, что в Диспетчере устройств будет все как надо, без неизвестных устройств и прочего бреда. Не забудьте после своих экспериментов сохранить как в своей голове, так и на вашем винчестере все те файлы, которые помогли вам в устранении проблемы, ведь операционную систему Windows обычно ставят не раз и на всегда, а раз и не год или около того. Так или иначе, в следующий раз вы уже не будете задаваться вопросом как избавиться от Microsoft ACPI-совместимых систем, а просто возьмете и установите все драйвера включая драйвера которые нужны для вашей батареи ноутбука.

    Удачи и безотказной работы вам и вашему компьютеру!

    Многим из вас знакомо слово 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. Динамическое управление питанием отлично экономит батарею.


    [an error occurred while processing the directive]
    Карта сайта