Алгоритм - Учебный центр

Версия сайта для слабовидящих
Заполните форму ниже! Мы вам перезвоним!

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


Что такое ACPI (Advanced Configuration and Power Interface)?

Что такое ACPI (Advanced Configuration and Power Interface)?

ACPI  расшифровывается как Advanced Configuration and Power Interface - расширенный интерфейс конфигурирования компьютера и управления питанием. ACPI - та основа, вокруг которого построен любой современный компьютер на аппаратном уровне. В системе с ACPI именно этот свод стандартов и правил используется для конфигурирования и работы аппаратных средств. Например, для назначения прерываний и ресурсов устройствам на современных шинах, для получения информации о работе устройств, для работы дополнительных "энергосберегающих" кнопок и датчиков.

Современные компьютеры снабжаются дополнительным оборудованием, которое позволяет повысить надежность системы за счет постоянного оперативного контроля за состоянием ее наиболее важных компонентов. Процессоры, например, оборудованы термодатчиком (термодиод на кристалле ядра), который связан с программируемым устройством контроля температуры. Это устройство имеет аналого-цифровой преобразователь, калибруемый по термодиоду конкретного процессора на этапе тестирования картриджа. Константа настройки термометра заносится в PIROM. Устройство термоконтроля программируется - задается частота преобразований и пороги температуры, по достижении которых вырабатывается сигнал прерывания. Для взаимодействия с PIROM, Scratch EEPROM и устройством термоконтроля процессор имеет дополнительную последовательную шину SMBus (System Management Bus), основанную на интерфейсе I2C.

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

Процессоры Xeon имеют новые средства хранения системной информации. Постоянная (только для чтения) память процессорной информации PIROM (Processor Information ROM) хранит такие данные, как электрические спецификации ядра процессора и кэш-памяти (диапазоны частот и питающих напряжений), S-спецификацию и серийный 64-битный номер процессора. По инструкции идентификации CPUID такая информация недоступна. Энергонезависимая память Scratch EEPROM предназначена для занесения системной информации поставщиком процессора (или компьютера с этим процессором) и может быть защищена от последующей записи. Кроме контроля питания, ACPI предоставляет возможность контролировать и управлять температурой различных компонентов системы. Для этого используются датчики температуры, и так называемые тепловые зоны.

ACPI предоставляет стандартный интерфейс для работы с вставленным контролёром. Этот контролёр управляет такими устройствами как, например, мышь и клавиатура.

ACPI предоставляет стандартный интерфейс взаимодействия программного и аппаратного обеспечения с SMBus - System Management Bus Controller. Что, в свою очередь, позволяет OEM производителям предоставлять возможность ОС использовать особенности их продуктов в полной мере.

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

Для управления и мониторинга системы, используются два вида объектов, это sensors (датчики) и watchdogs (если дословно, то сторожевые псы). Датчики представляют из себя устройства, которые замеряют какой либо физический параметр. Вообще то видов датчиков существует великое множество, и сфера их применения весьма обширна, но для мониторинга состояния ПК, в настоящее время, обычно используются датчики следующих видов:

Thermal sensor - датчик температуры, соответственно, температуру он и измеряет.

Fan sensor - датчик вентилятора, или кулера, измеряет скорость вращения вентилятора.

Voltage sensor - датчик напряжения, измеряет напряжение электрического тока.

Конечно же, далеко не полный перечень датчиков, которые используются на ПК, существуют и более экзотические устройства, например Chassis Intrusion Sensor - датчик который позволяет определить, вскрыт корпус или нет.  Датчики делятся на два вида, числовые и основанные на статусе (status based). Числовой сенсор, снимает какое либо значение (температуру, частоту вращения вентилятора, и т.д.), и возвращает числовое значение. Исходя из природы измеряемого значения, такие сенсоры бывают числовыми и аналоговыми. Типичным числовым сенсором является счётчик оборотов вентилятора, который абсолютно точно может сказать, сколько оборотов за определённое время делает вентилятор. Типичным аналоговым сенсором можно назвать датчик температуры, у которого появляются такие понятия как регулярность снятия значения (для датчиков температуры обычно это 1 секунда), верхний и нижний пределы диапазона измеряемых значений, и разрешение, которое сообщает с какой точностью производятся измерения.  Основанные на статусе сенсоры "видят" состояние устройства, и засекают изменение его статуса. К таким сенсорам относится, например, Chassis intrusion sensor, который сигнализирует о вскрытии корпуса. Минимально сенсор основанный на статусе может генерировать два различных бита (так называемый бинарный сенсор) которые имеют два значения (хорошо/плохо), максимально - до 32. Согласно спецификации, первые 16 битов определяются как стандартные, и имеют следующие значения:

0

OK

Нормальный рабочий статус

1

Warning

Некритичное предупреждение о возможных неполадках.

2

Critical

Критический статус.

3

Fatal

Фатальный статус, устройство неработоспособно.

4-15

Recerved

Зарезервированы для возможного будущего расширения спецификации.

Из оставшихся 16 битов, 15 (16-30) могут быть использованы различными производителями для своих специфических нужд. Последний возможный бит зарезервирован, и интерпретируется как неизвестный статус.

ACPI предусматривает использование основанных на статусе числовых сенсоров. Такие устройства определяют статус исходя из показаний числового сенсора, то есть, при превышении значений показываемых числовым сенсором каких либо границ, меняется статус наблюдаемого устройства. Такие сенсоры так же могут генерировать 32 различных вида, 16 из которых интерпретируются как стандартные границы, только распределяются они по другому, чем у простых сенсоров основанных на статусе:

0

Upper Warning

Верхний предел, некритический.

1

Lower Warning

Нижний предел, некритический.

2

Upper Critical

Верхний предел, критический.

3

Lower Critical

Нижний предел, критический.

4

Upper Fatal

Верхний предел, фатальный.

5

Lower Fatal

Нижний предел, фатальный.

6-15

Reserved

Зарезевирована для будущих расширений спецификации.

16-31

Vendor defined

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

Примером практической реализации подобной технологии, может служить технология Smart Doctor, применяемая Asus в своих видеокартах серии Asus6xxx, которая делает выводы о состоянии карты исходя из показаний термодатчика, и заранее заданных значениях температуры чипа, при которых карта может перестать нормально работать.

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

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

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

System Initialization Failure Watchdog.

Ошибка при инициализации системы. Это ошибки которые возникают при инициализации основных компонентов системы, таких как центральный процессор, оперативная память, и т.д..

Pre-Os Boot Failure Watchdog.

 Ошибка при загрузке BIOS. Способен обнаружить, и среагировать на ошибки, которые возникают в промежутке времени, аппаратное обеспечение компьютера уже инициализировалось, и идёт подготовка к загрузке ОС.

OS Boot Failure Watchdog.

 Обнаруживает зависание системы в процессе загрузки операционной системы.

OS Hang Watchdog.

Обнаруживает зависания операционной системы.

Shutdown Failure Watchdog.

 Обнаруживает зависания в процессе выключения системы.

 QIP Shot - Image: 2016-07-12 10:19:17 

Рис. 1

 

Согласно спецификации, существует 32 варианта, которыми любой, из выше перечисленных watchdog может среагировать на обнаруженные проблемы:

Bit 0

Генерирование предупреждающего сообщения, отправляемого на удалённую систему.

Bit 1

Запись события в Event Log на локальной машине.

Bit 2

Сброс системы.

Bit 3

Выключение питания у системы.

Bit 4

Выключение, потом включение питания у системы.

Bit 5-15

Зарезервированы для следующих расширений спецификации.

Bit 16-30

Могут быть использованы производителями для своих нужд.

Bit 31

Зарезервирован.

Может использоваться ещё один класс подобных устройств.

 Heartbeat Watchdogs. Это устройство регулярно проверяет наличие чего либо. Например, LAN Presence Heartbeat Watchdog регулярно проверяет наличие сети.

32 возможных значения генерируемых им битов выглядят так:

Bit 0

Генерируется подтверждение наличия наблюдаемого явления.

Bit 1-15

Зарезервированы для последующих расширений спецификации.

Bit 16-30

Могут быть использованы производителями для своих нужд.

Bit 31

Зарезервирован.

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


Лицензия