PersCom — Компьютерная Энциклопедия Компьютерная Энциклопедия

BIOS: базовая система ввода-вывода

Plug and Play BIOS

Plug and Play BIOS

Установка и конфигурирование устройств в PC-совместимом компьютере — процесс довольно сложный. Пользователь должен назначить устройству прерывание, порты ввода-вывода и каналы DMA, т.е. ресурсы, не используемые в данный момент другими устройствами. В прошлом это выполнялось с помощью перемычек и переключателей на плате устанавливаемого устройства. При неверном выборе параметров возникал конфликт устройств, который чаще всего являлся причиной других ошибок (например, система отказывалась загружаться).

Технология Plug and Play значительно упростила процесс установки и конфигурирования новых устройств. Пользователю необходимо лишь вставить плату в свободный разъем, а система автоматически выделит ей необходимые ресурсы.

Технология Plug and Play состоит из следующих основных компонентов:

  • Plug and Play BIOS;
  • Extended System Configuration Data (ESCD);
  • операционная система Plug and Play.

При загрузке компьютера, поддерживающего технологию Plug and Play, BIOS инициализирует конфигурирование устройств, соответствующих спецификации Plug and Play. Если адаптер в системе уже установлен, то BIOS считывает конфигурационную информацию из таблицы ESCD, инициализирует устройство и продолжает загрузку. Если же устройство впервые появилось в системе, BIOS запрашивает у ESCD свободные ресурсы. Получив их, она конфигурирует новое устройство. Если же с помощью свободных ресурсов новое устройство сконфигурировать невозможно, BIOS продолжает загрузку компьютера, после чего конфигурированием занимается операционная система. Параметры всех корректно сконфигурированных устройств записываются в таблицу ESCD.

ESCD — таблица распределения свободных ресурсов компьютера.


Идентификаторы устройств, соответствующих спецификации Plug and Play

Каждое устройство, соответствующее спецификации Plug and Play, должно иметь идентификационный номер, по которому система может распознать его, и установить необходимые драйверы. Идентификационный номер определяется производителем устройства и должен быть уникальным.

Каждый производитель устройств Plug and Play имеет уникальный трехсимвольный идентификационный номер. Эти символы он дополняет кодом модели устройства, в результате чего получается идентификационный номер устройства. Таким образом, производитель устройства несет ответственность за назначение уникального номера каждой отдельной модели выпускаемой им продукции.

Примечание!

Исчерпывающий список идентификационных номеров устройств PnP можно найти в файле PCDEVS.TXT, входящем в состав программы диагностики PCI32, доступной по адресу:
http://members.datafast.net.au/dft0802

Интерфейс ACPI

С помощью ACPI (Advanced Configuration and Power Interface) определяется стандартный метод взаимодействия аппаратного обеспечения, операционной системы и приложений для управления питанием компьютера. В предыдущей системе управления питанием APM (Advanced Power Management) основное внимание уделялось энергопотреблению процессора, жесткого диска и монитора. ACPI же контролирует не только энергопотребление, но и конфигурацию устройств Plug and Play. При использовании ACPI конфигурирование устройств Plug and Play и управление энергопотреблением осуществляются на уровне операционной системы, а не с помощью программы установки параметров BIOS.

Спецификация ACPI была создана компаниями Intel, Microsoft и Toshiba. Ее первая версия увидела свет в 1996 году. Поддержка спецификации ACPI стала одним из главных требований для получения сертификации PC’97, что заставило производителей материнских плат и BIOS интегрировать ACPI в свою продукцию. Сама компания Intel интегрировала поддержку ACPI в южный мост PIIX4E в апреле 1998 года, а Microsoft внедрила ACPI в операционную систему Windows 98, увидевшую свет 25 июня 1998 года. На момент выхода ОС Windows 2000 спецификация ACPI полностью вытеснила APM в качестве основной системы управления электропитанием и управляющего интерфейса.

Система ACPI позволяет автоматически включать и отключать устройства по мере их необходимости. Это могут быть как внутренние (например, жесткие диски, сетевые адаптеры и приводы оптических дисков), так и внешние подключенные к компьютеру устройства (например, телевизоры, видеомагнитофоны, телефоны и стереосистемы). Эта же технология позволяет и внешним устройствам включать или активизировать компьютер. Например, после вставки видеокассеты в видеомагнитофон может включиться компьютер, который, в свою очередь, включит широкоформатный телевизор и высококачественную аудиосистему.

Интерфейс ACPI позволяет системным инженерам реализовывать различные схемы управления питанием оборудования с помощью одного и того же программного драйвера. ACPI также использует структуры данных Plug and Play BIOS и управляет интерфейсом PnP, создавая независимый от операционной системы интерфейс конфигурирования и управления. Компания Microsoft включает поддержку интерфейса ACPI во все операционные системы, начиная с Windows 98.

В процессе загрузки операционная система выполняет ряд тестов аппаратного обеспечения для определения совместимости с ACPI. Если какое-либо из устройств не поддерживает ACPI, то для него используется система управления питанием APM. Иногда при инициализации ACPI может появиться сообщение об ошибке на красном (проблемы с аппаратным обеспечением или BIOS) или синем (проблемы с программным обеспечением) экране. Коды ошибок ACPI приведены в таблице.

Чаще всего эти ошибки являются следствием частичной или полной несовместимости реализации поддержки ACPI в BIOS или драйвере устройства. Если вы столкнулись с проблемами ACPI, обратитесь к производителю системной платы за обновлениями BIOS.



Сообщения об ошибках BIOS и MBR

После включения питания компьютера начинает выполняться процедура тестирования POST. При возникновении ошибки появляется сообщение о ее причине. Если не удается инициализировать видеоадаптер, коды ошибок будут звуковыми. Кроме того, код ошибки в шестнадцатеричном виде отправляется в порт ввода-вывода с адресом 80h. Этот код может быть интерпретирован специальной платой, помещенной в разъем расширения (см. рисунок ниже).

Платы POST включают в себя двухразрядный шестнадцатеричный дисплей, используемый для вывода номера выполняемой в определенный момент времени тестовой программы. Перед выполнением каждого теста шестнадцатеричный числовой код номера программы передается в порт. В том случае, если происходит сбой тестовой программы, который приводит к блокированию машины, шестнадцатеричный код последнего выполняемого теста остается на дисплее платы.

Большинство тестовых программ выполняется в системе еще до включения видеоплаты, в частности при использовании дисплеев EGA и VGA. Таким образом, множество ошибок, приводящих к “зависанию” системы, могут произойти до того, как появится возможность вывести коды ошибок на монитор. Далеко не все ошибки приводят к генерированию звукового сигнала, поэтому при возникновении проблем определенного рода (например, при сбое памяти в банке 0) система может показаться совершенно безжизненной. В этом случае для определения причины “зависания” следует воспользоваться платой POST.

Коды ошибок, отображаемых платой POST, полностью зависят от базовой системы вводавывода. Некоторые версии BIOS содержат более расширенные процедуры POST, передавая этой плате более информативные коды. Для приобретения платы POST в исполнении ISA или PCI обратитесь к компании JDR Microdevices или другим производителям.

В большинстве версий BIOS существует целый ряд звуковых сигналов, используемых для выявления простых, но в то же время неисправимых ошибок, сообщения о которых не могут быть выведены на экран. Звуковые сигналы похожи на коды POST и отличаются только тем, что для их считывания используется не специальная плата, а встроенный динамик.

Подробнее сообщения об ошибках, звуковые сигналы и коды ошибок, используемых в наиболее распространенных версиях BIOS, рассматриваются в следующем разделе.



Основные сообщения об ошибках загрузки BIOS

При включении компьютера загрузчик операционной системы, размещенный в ROM BIOS системной платы, считывает первый физический сектор каждого загрузочного устройства, имеющий следующие характеристики: цилиндр 0, головка 0, сектор 1 в режиме CHS или адрес логического блока 0 в режиме LBA. Код первого сектора загружается в RAM, после чего проверяются два последних байта кода на предмет их соответствия значению сигнатуры 55AAh. Найденное совпадение указывает ROM на наличие работоспособной записи MBR, т.е. ROM может передать дальнейшее управление загрузкой коду главной загрузочной записи.

Если два последних байта не совпадают со значением 55AAh, ROM продолжает просматривать первые физические секторы следующих загрузочных устройств в загрузочной последовательности до тех пор, пока не будет найдена запись MBR. Если необходимое устройство с требуемыми байтами сигнатуры, указывающими на MBR, не найдено, ROM инициирует прерывание 18h, которое вызывает подпрограмму для вывода на экран сообщения об ошибке. Тип сообщения зависит от производителя и версии микросхемы ROM. Подробнее эти сообщения обсуждаются в следующем разделе.