Автоматическое распределение системных ресурсов (Первоначальный заголовок – Спецификация Plug&Play для шины isa) ([5], с.69)
Системными ресурсами в ПЭВМ называют адреса пространства ввода-вывода и входы аппаратных (маскируемых) прерываний, а также адреса памяти и каналы контроллеров прямого доступа.
При установке в ПЭВМ карт расширения: сетевых карт, звуковых карт, внутренних модемов, различных контроллеров и т.п., – им выделяются перечисленные системные ресурсы. И если пространство ввода-вывода довольно свободно, то прерывания, обычно, представляются весьма дефицитным ресурсом.
Наиболее часто карты расширения подключаются к шинам PCI и ISA.
Первоначально назначение адресов ввода-вывода и прерываний для подключаемых устройств выполнялось вручную, с помощью переключателей (джамперов) на картах расширения. Несколько позже эти действия стали выполняться посредством специальных утилит, поставляемых изготовителем карты и позволяющих зафиксировать эти параметры ресурсов в памяти конфигурации карт (сохраняющей информацию при выключении питания).
Установленные параметры также могли заноситься в какие-либо конфигурационные файлы (и часто отражались в файлах CONFIG.SYS и AUTOEXEC.BAT для инициализации драйверов, обслуживающих данные устройства). Параметры, записанные в память конфигурации карты, драйверы могли прочитать и самостоятельно. Такая практика применялась для карт, подключаемых к шине ISA.
Процедура конфигурирования предполагала определенные знания и навыки у лиц, ее выполняющих и нередко приводила к ресурсным конфликтам между различными устройствами ПЭВМ, вплоть до невозможности загрузки системы.
Поэтому естественным для разработчиков аппаратных и программных средств было стремление упростить эту процедуру, возложив ее на саму ПЭВМ.
Начиная с 1994 г., для автоматизации процедур назначения системных ресурсов устройствам (конфигурирования карт расширения), подключаемым к шинам расширения различного типа, и исключения возможных конфликтов при выполнении теста начальной загрузки BIOS – POST (Power On Self Test) по включении ПЭВМ, ведущими производителями компьютеров и программного обеспечения (Intel, Compaq, Phoenix, Microsoft, DEC и др.) была разработана серия спецификаций (неофициальных стандартов) Plug and Play.
Эти спецификации относились к различным видам шин, портов и интерфейсов: ISA, SCSI, PCI, COM, LPT, а также BIOS и расширенным данным конфигурации системы (ESCD – Extended System Configuration Data). Позже появились дополнения для CD-ROM, IEEE 1394 и др.
Спецификации рассматривают Plug and Play как “технологию, поддерживающую автоматическую конфигурацию аппаратных средств ПЭВМ и подключенных устройств. Пользователь может просто подключить новое устройство, например, звуковую карту или (внутренний) факс-модем (“plug it in”) и начать работать (“begin playing”) без необходимости конфигурировать подключенное устройство вручную. Технология Plug and Play реализована в аппаратных средствах, операционных системах, например, Microsoft® Windows® 95, и в поддерживающем программном обеспечении, таком как драйверы и BIOS”.
Проблемы автоматической конфигурации были связаны, в первую очередь, с тем, что в то время наибольшее распространение получили карты расширения, подключаемые к шине ISA, отдельные слоты которой не имели возможности независимого обращения к регистрам карты для их конфигурирования. Кроме того, как отмечалось выше, многие ISA-карты просто не допускали программного изменения назначенных системных ресурсов.
(В шине PCI возможности автоматического конфигурирования подключаемых к ней устройств были предусмотрены изначально.)
С целью разрешения этих проблем в ISA-картах, отвечающих спецификации Plug & Play, стали предусматривать возможность выполнения специальной процедуры взаимодействия с BIOS (и системными утилитами, например, DOS-менеджером конфигурации). В ходе этой процедуры было возможно “изолировать” такую ISA-карту и назначить ей свободные системные ресурсы, учитывая ее требования и ограничения.
Для этого ISA-карта расширения, отвечающая спецификации Plug and Play, оснащалась набором конфигурационных регистров (обычно, это специальная память на карте), в которых сохраняется информация о требуемых и выделенных карте системных ресурсах. Обмен информацией с этими регистрами и осуществлялся в процессе конфигурирования устройств, выполняемом BIOS или/и операционной системой.
Автоматическое конфигурирование карт расширения, подключенных к шине PCI поддерживается средствами BIOS и ориентировано на технологию Plug and Play. Стандарт PCI определяет для каждого слота конфигурационное пространство размером до 256 байт (восьмиразрядных регистров), не приписанных ни к пространству памяти ни к пространству ввода/вывода. Доступ к ним осуществляется по специальным циклам конфигурационного чтения и записи шины PCI, вырабатываемых ее контроллером при обращении процессора к его регистрам.
После аппаратного сброса (или включения питания) устройства PCI не отвечают на обращения к пространству памяти и ввода/вывода и доступны только для операций конфигурирования. В этих операциях устройства выбираются по индивидуальным сигналам IDSEL# (обычно являющихся старшими разрядами линий адреса шины PCI) и сообщают о своих потребностях в ресурсах и возможных диапазонах их перемещения.
После распределения ресурсов, выполняемого программой конфигурирования (во время POST), в устройства записываются их конфигурационные параметры и они становятся доступны командам обращения к памяти и портам ввода/вывода.
Формат конфигурационного пространства карт PCI и конфигурационных регистров карт ISA различен.
Однако, необходимость поддерживать старые карты ISA, не предусматривающие средств автоматической конфигурации (которые, кстати, получили в англоязычной литературе название legacy cards, где legacy – наследие), привела к определенным усложнениям в процессах конфигурации, позволяющим учитывать занятые такими картами ресурсы и исключать их из распределения.
Спецификации Plug & Play были построены с использованием принципов конфигурирования шины EISA, в которой имеется специальная память конфигурирования. Поэтому для сохранения информации о распределении ресурсов, получившая название Extended System Configuration Data (ESCD – расширенные данные конфигурирования системы) записывается в специальную память, сохраняющую информацию при выключении питания – NVS (Non Volatile Storage). Обычно, это отдельная энергонезависимая память, но мог быть и файл на жестком диске. В первом случае, NV-память отображается в верхнюю область адресного пространства. Доступ к этой памяти обеспечивается специальными функциями BIOS, поддерживающего Plug & Play.
С данными ESCD взаимодействует не только BIOS, но и операционная система. Причем конфигурирование устройств, которые не сконфигурировал BIOS во время POST, выполняет операционная система (например, ее менеджер конфигурации – CM). Для не Plug & Play ISA карт расширения (которые встречаются редко), информация в ESCD заносится специальной утилитой конфигурирования ISA (ISA Configuration Utility).
Процесс автоматического конфигурирования выполняется при каждой загрузке ПЭВМ, что можно заметить на экране, высвечиваемом BIOS (по табличке результатов конфигурации и сообщении о проверке или исправлении данных ESCD).
Конфигурированию подлежат не только карты расширения, но и встроенные устройства чипсета, например, мосты, IDE контроллеры и др.
- Средства тестирования и отладки пэвм
- Программные средства отладки
- Команда прерывания
- Пошаговый режим
- Регистры отладки
- Аппаратные средства отладки
- Режим системного управления smm
- Режим виртуального процессора 8086 (v86)
- Распределение областей системной памяти ([5], с.39)
- Пространство ввода-вывода (адреса компонентов системной платы) ([5], с.49)
- Автоматическое распределение системных ресурсов (Первоначальный заголовок – Спецификация Plug&Play для шины isa) ([5], с.69)
- Системный порт, таймер и динамик (компоненты системной платы) ([5], с.81)
- Интерфейс и контроллер клавиатуры ([5], с.85)
- Кмоп память и часы реального времени (cmos Memory и rtc – Real Time Clock)([5], с.89)
- Цифровой аудиоканал ([5], с.107)
- Rom bios.Тест начального включения([5], с.С.111,148)
- Rom bios.Конфигурирование пэвм –bios Setup([5], с.156)
- Адресация информации на жестких дисках и их разделы ([5], с.553)
- Блок питания пэвм ([5], с.783)
- Заземление пэвм ([5], с.769)