![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Конфигурирование устройств. В стандарт заложены возможности автоматического конфигурирования системных ресурсов (пространств памяти и ввода-вывода и линий запроса прерываний)
В стандарт заложены возможности автоматического конфигурирования системных ресурсов (пространств памяти и ввода-вывода и линий запроса прерываний). Автоматическое конфигурирование устройств (выбор адресов и прерываний) поддерживается средствами BIOS и ориентировано на технологию PnP. Стандарт PCI определяет для каждого слота конфигурационное пространство размером до 256 регистров (8-битных), не приписанных ни к пространству памяти, ни к 6.2. Шина PCI______________________________________________________ 205 пространству ввода-вывода. Доступ к ним осуществляется по специальным циклам шины Configuration Read и Configuration Write, вырабатываемым с помощью одного из вышеописанных механизмов. В этом пространстве есть области, обязательные для всех устройств, и специфические. Конкретное устройство может иметь регистры не во всех адресах, но должно поддерживать нормальное завершение для адресуемых к ним операций. При этом чтение несуществующих регистров должно возвращать нули, а запись выполняться как холостая операция. После аппаратного сброса (или при включении питания) устройства PCI не отвечают на обращения к пространству памяти и ввода-вывода, они доступны только для операций конфигурационного считывания и записи. В этих операциях устройства выбираются по индивидуальным сигналам IDSEL и сообщают о потребностях в ресурсах и возможных вариантах конфигурирования. После распределения ресурсов, выполняемого программой конфигурирования (во время теста POST), в конфигурационные регистры устройства записываются параметры конфигурирования. Только после этого к устройствам становится возможным доступ по командам обращения к памяти и портам ввода-вывода. Для того чтобы всегда можно было найти работоспособную конфигурацию, все ресурсы, занимаемые картами, должны быть перемещаемыми в своих пространствах. Для многофункциональных карт каждая функция должна иметь собственное конфигурационное пространство. Конфигурационное пространство устройства начинается со стандартного заголовка, в котором содержатся идентификаторы производителя, устройства и его класса, а также описание требуемых и занимаемых системных ресурсов. После заголовка могут располагаться регистры, специфичные для устройства; они могут занимать адреса конфигурационного пространства в пределах 40-FFh. Формат заголовка приведен на рис. 6.10. Серым цветом здесь выделены поля, обязательные для всех устройств. Перечисленные ниже поля идентификации допускают только чтение. ♦ Devi се ID — идентификатор устройства, назначаемый производителем. ♦ Vendor ID — идентификатор производителя микросхемы PCI, назначенный ♦ Revi si on ID — версия продукта, назначенная производителем. Используется как расширение поля Devi ce ID. ♦ Header Type — тип заголовка (биты 6: 0), определяющий формат ячеек в диапазоне 10-3Fh и несущий признак многофункционального устройства (если бит 7=1). На рисунке приведен формат заголовка типа 0, относящийся именно к устройствам PCI. Тип 01 относится к мостам PCI-PCI; тип 02 относится к мостам для CardBus. ♦ Class Code — код класса, определяющий основную функцию устройства, а иногда и его программный интерфейс (см. п. 6.2.13). Старший байт (адрес OBh) определяет базовый класс, средний — подкласс, младший — программный интерфейс (если он стандартизован).
Рис. 6.10. Формат заголовка конфигурационного пространства устройства PCI Остальные поля заголовка являются регистрами устройств, допускающими как запись, так и чтение. ♦ Command (RW) — регистр команд, управляющий поведением устройства на шине PCI. Регистр допускает как запись, так и чтение. После аппаратного сброса все биты регистра (кроме специально оговоренных исключений) обнулены. Назначение бит регистра команд: • бит 0—10 Space — разрешение ответа на обращения к пространству вво • бит 1 — Memory Space — разрешение ответа на обращения к пространству памяти; • бит 2 — Bus Master — разрешение работы инициатором (в режиме управления шиной); • бит 3— Special Cycles — разрешение реакции на специальные циклы; • бит4 —Memory Write& and Invalidate enable— разрешениеиспользовать • бит 5 — VGA palette snoop — разрешение слежения за записью в регистр палитр; 6.2. Шина PCI_______________________________________________________ 207 • бит 6 — Pari ty Error Response — разрешение нормальной реакции (выра • бит7 — Stepping Control —возможность пошагового переключения (address/data stepping) линий (если устройство никогда этого не делает, бит регистра «запаян» в «О», если делает всегда — в «1», устройство с такой возможностью по сбросу устанавливает этот бит в «1»); • бит 8 — SERR# Enable — разрешение генерации сигнала ошибки SERR# (ошибка паритета адреса сообщается, когда этот бит и бит 6=1); • бит 9— Fast Back-to-Back Enable (необязательный) — разрешение ве • биты 10-15 — резерв. ♦ Status — регистр состояния, допускающий кроме чтения еще и запись. Однако запись выполняется специфично — с ее помощью можно только обнулять биты, но не устанавливать. Биты, помеченные как RO, допускают только считывание. При записи в позиции обнуляемых бит устанавливаются единичные значения. Назначение бит регистра состояния: • биты" 0-3 — резерв; • бит 4 — Capabili ty List (RO, необязательный) — указание на наличие • бит5 —66 MHz Capable (RO, необязательный)—поддержкачастоты66 МГц; • бит 6 — резерв; • бит 7—Fast Back-to-Back Capable (RO, необязательный) — поддержка • бит 8 — Master Data Parity Error (только для устройств с прямым • биты 10: 9 — DEVSEL Timi ng — скорость выборки: 00 — быстрая, 01 — средняя, 10 — низкая (определяет самую медленную реакцию DEVSEL* на все команды, кроме Configuration Read и Configuration Write); бит 11 — Signaled Target Abort—устанавливается целевым устройством, когда оно отвергает транзакцию; • бит 12 — Received Target Abort— устанавливается инициатором, когда • бит 13— Received Master Abort—устанавливается ведущим устройством, когда оно отвергает транзакцию (кроме специального цикла); 208_____________________________________ Глава 6. Шины и карты расширения • бит 14 — Si gnaled System Error — устанавливается устройством, подав • бит 15 — Detected Parity Error—устанавливаетсяустройством, обнару
♦ Cache Line Size (RW) — размер строки кэша (0-128, допустимые значения ♦ Latency Timer (RW) —значение таймера задержки (см. п. 6.2.4) в тактах шины. Часть битов может не допускать изменения (обычно младшие три бита неизменны, так что таймер программируется с дискретностью в 8 тактов). ♦ BIST (RW) — регистр управления встроенным самотестированием. Назначение бит регистра:
• бит 7 — возможность BIST; • бит 6 — запуск теста: запись единицы инициирует тест, по окончании устройство сбрасывает бит (тест должен быть завершен не более чем за 2 с); • биты 5: 4 — резерв (0); • биты 3: 0 — код завершения теста: 0 — тест прошел успешно.
♦ Card Bus CIS Pointer (необязательный) —указательнаструктуруописателя ♦ Interrupt Line(RW) — номер входа контроллера прерывания для использу ♦ Interrupt Pin (RO) — контакт, используемый для запроса прерывания: 0 — ♦ Mi n_GNT (RO) — минимальное время, на которое ведущему устройству должно предоставляться управление шиной из расчета на частоту 33 МГц, в интервалах по 0, 25 мкс. ♦ Max_Lat (RO) — максимально допустимая задержка предоставления ведущему устройству доступа к шине, в интервалах по 0, 25 мкс (0 — нет специальных требований). ♦ Subsystem ID (задается производителем) и Subsystem Vendor ID (произво 6.2. Шина PCI_______________________________________________________ 209 ♦ Capability Poi nte г (CAP_PTR)—указатель на список возможностей (свойств), описанных в конфигурационном пространстве (биты 1: 0=00). Каждый элемент списка начинается с байта идентификатора типа элемента (CAP_I D, определенного PCI SIG), за которым следует указатель на следующий элемент списка (нулевой указатель является признаком конца списка), после чего расположены байты описаний самих свойств. Все элементы выравниваются по границе двойного слова. ♦ Base Address Registers -^ базовые адреса областей памяти и портов ввода- ♦ Expansion ROM Base Address—базовый адрес ПЗУ программной поддержки карты. Бит 0 — разрешение использования ПЗУ; биты 1-10 — резерв; биты 11-31 — базовый адрес. Размер ПЗУ определяется так же, как и в регистрах базовых адресов (см. выше). Обращение к ПЗУ возможно лишь при разрешенном использовании памяти (бит 1 в регистре команд).
|