КОМПЬЮТЕРНОЕ ЖЕЛЕЗО
HARDWARE FOR PC

Шины и карты расширения

В специальном цикле адресная информация не передается (он широковещательный), но путем задания номера шины можно управлять его распространением. Если хост генерирует специальный цикл с нуле-вым адресом шины, то на главную шину этот цикл выйдет как цикл типа 0 и всеми остальными мостами распространяться не будет. Если требуется полная широ-

204
Глава 6. Шины и карты расширения
ковещательность, то хост должен записать ненулевой адрес шины; тогда на глав¬ную шину специальный цикл выйдет с типом 1, и все остальные мосты пропустят его на свои шины. Специальный цикл1, генерируемый ведущим устройством шины, действует только на шине этого устройства и не распространяется через мосты. Если требуется полная широковещательность, это ведущее устройство должно генерировать специальный цикл посредством записей в регистры CONG I G_ADDRE S 5 и CONFIG_DATA, задавая ненулевой номер шины.
Для работы механизма №2в пространстве ввода-вывода зарезервированы два 8-битных порта с адресами OCF8H и OCFAh, входящие в главный мост. Этот меха¬низм использует отображение конфигурационного пространства устройств PCI на область COOO-CFFF пространства ввода-вывода. Поскольку этой области (4 К портов) недостаточно для отображения конфигурационного пространства всех устройств всех шин PCI, формирование адреса выполняется весьма замыслова¬тым образом. В регистре CSE (Configuration Space Enable) с адресом OCFSh биты 7:4 являются ключом разрешения отображения: при нулевом ключе область СООО-CFFFh остается нормальной частью пространства ввода-вывода, а при ненуле¬вом — отображается на конфигурационное пространство. Биты [3:1] несут номер функции, к пространству которой адресуются обращения. Единичное значение бита 1 вызывает формирование специального цикла (Special Cycle Enable, SCE). При обращении к конфигурационному пространству устройств нулевой шины чтение или запись двойного слова в порт по адресу COOO-CFFCh генерирует кон-фигурационный цикл, в котором из адреса порта биты [2:7] поступают на шину AD[2:7] как индекс регистра конфигурационного пространства, а биты [11:8] деко¬дируются в позиционный код выбора устройства (линии IDSEL) на линиях AD [31:16]. Номер функции на линии AD[10:8] поступает из регистра CSE, линии AD[1:0] нулевые. Для обращения к устройствам ненулевой шины служит регистр перена¬правления (Forward Register) с адресом OCFAh, в который помещают номер шины (по сбросу этот регистр обнуляется). Если номер шины ненулевой, то генерирует¬ся цикл типа 1 (см. рис. 6.9, в), в котором номер функции поступает из регистра CSE, младшие 4 бита номера устройства поступают с битов адреса (AD15=0), а номер шины — из регистра перенаправления (биты AD[1:0]=01 и AD[31:24]=0 формируются аппаратно).

Hosted by uCoz