А.6. Распределение системных ресурсов
А.6. Распределение системных ресурсов
Спецификация ISA требует, чтобы всем картам назначались свои системные ресурсы - области адресов в пространствах памяти и ввода/вывода, линии запросов прерываний и ка- налы прямого доступа к памяти. Платы не должны кон- фликтовать по ресурсам. Задача конфигурирования ослож- няется из-за отсутствия общего механизма автоматической передачи установленных параметров прикладному и систем- ному ПО. Конфигурирование адаптеров выполняется пере- ключением джамперов, затем установленные параметры за- носятся в конфигурационные файлы.
Применение энергонезависимой памяти (NVRAM или ее разновидности - EEPROM), хранящей настройки, облегча- ет конфигурирование. С соответствующими адаптерами по- ставляется утилита настройки. Отсюда их названия: Software Configured (программно конфигурируемые) или Jumperless (без джамперов). Утилита может проверить выбираемые установки на отсутствие конфликта, однако достоверность обнаружения конфликта относительна. Некоторые программ- но конфигурируемые адаптеры все же имеют джамперы, что бывает полезно для установки типовой настройки, устраня- ющей конфликты (например, наложение областей памяти се- тевого адаптера и видеопамяти). Преимуществом NVRAM является также отсутствие необходимости в конфигураци- онных файлах.
Ключевым моментом в автоконфигурировании является изо- ляция карты от остальных. Тогда ПО конфигурирования сможет вести с картой диалог, на который не влияет при- сутствие других устройств. Изоляция карт при конфигури- ровании заложена в шины МСА, PCI и EISA. В EISA для каждого слота возможно программное селективное управле-
ние сигналом AEN, запрещающим дешифрацию адресов пор- тов ввода/вывода. В системе с шиной EISA имеется энерго- независимая память конфигурирования слотов. Необходи- мо также обеспечить единый метод двухстороннего обмена конфигурационной информацией между картой и ПО.
В шину PCI автоматическое конфигурирование установлен- ных адаптеров заложено изначально. Здесь конфигурирова- нию также подлежат мосты шины (PCI Bridge) - аппарат- ные средства подключения PCI к другим шинам. Host Bridge - главный мост - используется для подключения к системной шине. Peer-to-Peer Bridge - одноранговый мост - используется для соединения двух шин PCI (дополнитель- ные шины PCI позволяют увеличить количество подключа- емых устройств).
При конфигурировании мостов указыва- ется распределение системных ресурсов по шинам, которые они связывают. Таким образом, задаются пути транслирова- ния управляющих сигналов по шинам и управление буфе- рами данных, обеспечивая для каждого адреса памяти или ввода/вывода единственную шину назначения, по крайней мере для операций чтения (операции записи могут быть широковещательными). Подобная "маршрутизация" необ- ходима и для сигналов запросов прерываний (каналы DMA к шине PCI отношения не имеют).
Среди устройств РпР (для шин ISA и PCI) выделяется класс динамически конфигурируемых устройств DCD (Dynamically Configurable Device). Ресурсы, используемые ими, динами- чески переназначаются, не требуя перезагрузки ОС. Если устройство DCD находится в заблокированном состоянии (Locked DCD), его ресурсы не могут быть изменены.
Полная поддержка РпР предусматривает наличие РпР BIOS, плат расширения РпР и/или модулей на системной плате. Для хранения информации о системных ресурсах необходи- мо было стандартизовать способы представления конфигу- рации. В декабре 1994 года компании Compaq, Intel и Phoenix опубликовали версию 1.03 документа "Extended System Configuration Data Specification" ("Спецификация расширен- ных данных о системной конфигурации"), определяющего методы взаимодействия и структуры данных памяти для
конфигурации устройств ESCD. Данные ESCD хранятся в энергонезависимом хранилище информации NVS (Non- volatile Storage). Это может быть память NVRAM или файл данных для ISA-систем, не имеющих поддержки РпР. NVRAM может отображаться на область (верхней) памяти, как полностью, так и постранично. Способ доступа к ESCD определяется вызовом специальной функции РпР BIOS.
ESCD разрабатывалась на основе форматов описания уст- ройств шины EISA, в которой имеется специальная энерго- независимая память и утилиты конфигурирования ECU (EISA Configuration Utility). Все устройства описываются через слоты - специальные структуры данных. В стандарте EISA слот 0 используется для описаний устройств ISA, раз- мещенных на системной плате.
Слоты 1- 15 соответствуют физическим слотам расширения шины EISA, слоты 16-64 определены для виртуальных (не связанных с конкретным физическим слотом шины) устройств. В ESCD сохранено примерно то же назначение слотов. Так устройства шины PCI (включая мосты) описываются слотами 16-64.
С данными ESCD взаимодействует РпР BIOS, а также ОС, поддерживающая РпР. ACFG BIOS (Auto-Configuration BIOS) имеет поддержку РпР, в частности автоконфигурирование. Конфигурированием устройств DCD, которые не были скон- фигурированы ACFG BIOS во время POST, занимается ме- неджер конфигурирования, являющийся частью системного ПО. Каждая РпР-плата сообщает менеджеру конфигуриро- вания о потребностях и возможных диапазонах настройки ресурсов. Для обычных (Legacy) плат ISA информация в ESCD заносится с помощью диалоговой утилиты конфигу- рирования ICU (ISA Configuration Utility). Таким образом, конфигурирование плат РпР выполняется автоматически, а обычных карт - джамперами или утилитами.