Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Спецификация Plug and Play для шины ISA






Аппаратно-программную спецификацию «Plug and Play ISA Specification» выпус­тили компании Intel и Microsoft в 1994 г. Она обеспечивает решение задач изоля­ции карт ISA, программного распределения системных ресурсов, конфигурирования и передачи параметров операционной системе и прикладному ПО. Вышеперечис­ленные задачи решаются для карт PnP, которые могут работать и в окружении так называемых традиционных карт {Legacy Cards). Поскольку описание программ­ной части этой спецификации достаточно объемно и выходит за рамки данной книги, рассмотрим принципы реализации PnP в основном с точки зрения аппа­ратных средств. Конфигурирование в системе PnP состоит из следующих шагов.

1. Производится изоляция одной карты от всех остальных.

2. Карте назначается номер CSN (Card Select Number — селективный номер кар­ты), фигурально выражаясь, «приделывается ручка» (Assign a handle), за кото­рую ее можно «ухватить» дальнейшим командам PnP.

3. С карты считываются данные о сконфигурированных и поддерживаемых ре­
сурсах. Эти шаги повторяются для всех карт, после чего выполняются завершающие шаги.

4. Производится распределение (арбитраж) системных ресурсов, выделяемых
каждой карте. Каждая карта конфигурируется согласно выбранному распределению ресур­сов и активируется (переводится в рабочий режим).

Все шаги конфигурирования выполняет процедура POST (если BIOS имеет под­держку PnP) или операционная система при загрузке. PnP BIOS может ограничить­ся конфигурированием и активацией только устройств, участвующих в загрузке, оставляя конфигурирование и активацию дополнительных устройств операцион­ной системе. BIOS без поддержки PnP может использовать необходимые для за­грузки устройства, сконфигурированные с параметрами по умолчанию, а изоля­цией карт, сбором информации и конфигурированием займется операционная система при загрузке. Вариантов много, но все они опираются на единые методы взаимодействия с картами ISA PnP. Конфигурирование выполняется в специаль­ном состоянии плат, в которое их всех можно программно перевести с помощью специального ключа инициализации, защищающего конфигурационную инфор­мацию от случайного разрушения.

Для конфигурирования карт PnP необходимо всего три 8-битных системных порта (табл. 6.7), с которыми процессор может общаться, применяя инструкции ввода-вывода с однобайтной передачей данных. Карты PnP должны использовать 12-бит­ное декодирование адреса ввода-вывода, а не 10-битное, как это принято в тради­ционных картах ISA.


166 Глава 6. Шины и карты расширения

Таблица 6.7. Системные порты ISA PnP  
Имя порта Адрес Тип доступа
ADDRESS WRITE_DATA READ_DATA 0279П (Printer status port) OA79h (Printer status port + OSOOh) Перемещаемый в диапазоне 0203h-03FFh Только запись Только запись Только чтение

Порт APDRES5 используется для адресации регистров PnP — в него записывают индекс требуемого регистра (см. ниже пункт «Конфигурирование карт») перед обращением к портам WRITE_DATA и READ_DATA. Этот же порт используется и для записи последовательности кодов ключа инициализации. Выбор адреса для него обусловлен тем, что ни одна разумно сделанная карта расширения не будет пытать­ся задействовать для записи адрес регистра состояния стандартного LPT-порта.

Порты WRITE_DATA и READ_DATA используются для обмена данными с регистрами PnP. Адрес порта WRITE_DATA традиционными картами с 10-битным декодирова­нием будет восприниматься как тот же адрес, что и у предыдущего порта, так что конфликт опять-таки исключен. Перемещаемому адресу порта READ_DATA про­граммное обеспечение PnP во время исполнения протокола изоляции может лег­ко найти бесконфликтное положение. Адрес этого порта сообщается всем картам записью в их управляющий регистр PnP.

Вышеперечисленные Три порта используются только для конфигурирования и управления картами PnP. Для взаимодействия прикладных программ с функци­ональными устройствами карты используются иные ресурсы, выделенные карте (порты, области памяти, прерывания и каналы DMA). По включению питания или аппаратному сбросу карты настраиваются на стандартную рабочую конфигура­цию, принятую для них по умолчанию (она может храниться в энергонезависи­мой Памяти или задаваться джамперами). Это обязательно, по крайней мере для устройств, участвующих в загрузке, — ввод, вывод (экран) и собственно загрузоч­ное устройство. Остальные устройства могут быть и логически отключенными от шины, до тех пор пока они не будут сконфигурированы программными средства­ми PnP. Карта PnP должна сообщать обо всех используемых ею ресурсах и, по возможности, предлагать альтернативные конфигурирования. Она обязана подчи­няться конфигурационным командам PnP, включая команду деактивации (логиче­ского отключения от шины); при невозможности принять указанную конфигурацию карта (или ее логическое устройство) должна отключаться. Строгое выполнение данных требований всеми картами делает возможным работу системы PnP на не­приспособленной для этого шине ISA. Непременным условием работоспособно­сти является и уникальность идентификаторов карт (см. ниже).-

В плане PnP каждая карта может находиться в одном из четырех состояний.

Wait for key (ожидание ключа) — состояние нормального функционирования (или отключения) логических устройств. В это состояние устройство входит при включении питания, по аппаратному сбросу и по завершению его конфи­гурирования системой PnP. До подачи ключа в этом состоянии конфигурация карты программными обращениями изменена быть не может.


6.1. Шины ISA, EISA и PC/104



Sleep («спячка») — состояние, в котором карта ожидает пробуждающей коман­
ды Wake [CSN], переводящей ее либо в состояние изоляции, либо в состояние
конфигурирования. При нулевом параметре CSN в команде все карты с нена-
значенным номером CSN переводятся в состояние изоляции. При ненулевом
параметре CSN в команде карта с совпадающим номером CSN переводится в со­
стояние конфигурирования.

♦ Isolation(изоляция) — картаотвечаеттольконачтениерегистраSerial Isolation
для реализации одноименного протокола (см. далее), с помощью которого ей
назначается уникальный номер CSN. Остальные команды PnP ей недоступны.

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


Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.007 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал