А.7. Спецификация РпР для шины ISA
А.7. Спецификация РпР для шины ISA
Для изоляции карт ISA, программного распределения сис- темных ресурсов, конфигурирования и передачи параметров ОС и прикладному ПО компаниями Intel и Microsoft была выработана спецификация "Plug and Play ISA Specification";
версия l.Oa была опубликована в мае 1994 года. Рассмотрим реализацию РпР с точки зрения аппаратных средств.
Конфигурирование в системе РпР состоит из следующих шагов:
Производится изоляция одной карты от всех остальных. Карте назначается CSN (Card Select Number).
С карты считываются данные о сконфигурированных и поддерживаемых ресурсах.
Эти шаги повторяются для всех карт, после чего:
производится распределение системных ресурсов, выде- ляемых каждой карте;
каждая карта конфигурируется согласно выбранному рас- пределению ресурсов и переводится в рабочий режим.
Все шага конфигурирования выполняет POST, если BIOS име- ет поддержку РпР, или ОС при загрузке. РпР BIOS может ограничиться конфигурированием и активацией устройств, участвующих в загрузке. BIOS без поддержки РпР может ис- пользовать необходимые для загрузки устройства, сконфигу- рированные с параметрами по умолчанию, а всем остальным занимается ОС. Конфигурирование выполняется в специаль- ном состоянии плат, в которое их можно программно переве- сти специальным ключом инициализации, защищающим кон- фигурационную информацию от случайного разрушения.
Для конфигурирования карт РпР необходимы три 8-битных системных порта (табл. А.4), с которыми процессор обща- ется по инструкциям ввода/вывода с однобайтной передачей данных. Карты РпР должны использовать 12-битное декоди- рование адреса ввода/вывода, а не 10-битное, как в тради- ционных картах ISA.
Порт ADDRESS используется для адресации регистров РпР, запись в него производится перед обращением к портам WRITE_DATA и READ_DATA. Он же применяется для записи последовательности кодов ключа инициализации. Выбор ад- реса для него обусловлен тем, что "разумные" карты рас- ширения не будут использовать для записи адрес регистра состояния стандартного LPT-порта.
Порты WRITEJDATA и READ_DATA используются для обмена данными с регистрами РпР. Адрес порта WRITEJDATA тради- ционными картами с 10-битным декодированием будет вос- приниматься как адрес предыдущего порта, так что конф- ликт исключен. Перемещаемому адресу порта READJDATA ПО РпР во время протокола изоляции может легко найти бес- конфликтное положение. Адрес этого порта сообщается всем картам записью в их управляющий регистр РпР.
Имя порта |
Адрес |
Тип доступа |
ADDRESS |
0279h (Printer status port) |
Только запись |
WFIITEDATA |
OA79h (Printer status port + 0800h) |
Только запись |
READDATA |
Перемещаемый в диапазоне 0203h- 03FFh |
Только чтение |
6А. В5. DA, ED. F6. FB. 7D. BE. DF. 6F. 37. IB. OD. 86, СЗ. 61. ВО. 58. 2С, 16. 8В. 45. А2. Dl. E8. 74, ЗА. 9D. СЕ. Е7. 73. 39.