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

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

Номер механизма, которым пользу¬ется конкретная системная плата, можно узнать путем вызова PCI BIOS.
Конфигурационные циклы адресуются к конкретному устройству (микросхеме PCI), для которого должен быть сформирован сигнал выборки IDSEL (единичное значение). Номер функции и адрес регистра декодируется самим устройством. Поскольку сигнал IDSEL воспринимается устройством только в фазе адреса, для него используют позиционное кодирование в линиях старших битов шины AD (конфигурационное пространство всех устройств занимает лишь малую часть пространства с 32-битной адресацией). На этих линиях в фазе адреса конфигура¬ционного обращения может быть лишь один единичный бит, остальные — нуле¬вые. Таким образом, только одно устройство будет выбрано сигналом IDSEL.
Для работы механизма № 1 в пространстве ввода-вывода зарезервированы 32-бит¬ные порты с адресами OCF8H и OCFCh, входящие в главный мост. Для обращения к конфигурационному пространству в порт CONFIG_ADDRESS (RW, адрес CF8h) заносят 32-разрядный адрес, декодируемый в соответствии с рис. 6.9, а. После занесения адреса обращением к порту CONFIG_DATA (RW, адрес CFCh) можно прочитать или записать содержимое требуемого конфигурационного регистра. В регистре CONFIG_ADDRESS бит 31 является разрешением формирования конфи¬гурационных и специальных циклов. В зависимости от номера шины, указанного в этом регистре, главный мост генерирует конфигурационные циклы одного из двух типов.
Для обращения к устройству, находящемуся на нулевой шине (подключенной к главному мосту), используется цикл типа 0 (биты 1:0=00). Главный мост декоди¬рует поле номера устройства в позиционный код, помещаемый на линии AD[31:11 ]; номер адресуемой функции, адрес регистра и биты 1:0=00 передаются на шину прозрачно (рис. 6.9,б). Устройству 0 соответствует бит AD11, устройству 1 — AD12, устройству 20 — AD31. Поскольку нулевым устройством является главный мост, который и осуществляет декодирование, на шину единичное значение AD11 в цикле типа 0 не выводится. Устройства PCI, расположенные в микросхеме главного мос¬та, могут использовать номера 21-31, для которых линий AD уже не хватает. На сис¬темной плате вход IDSEL каждого слота или микросхемы PCI-устройства соединя¬ется со своей линией адреса. Как правило, слоты подключаются, начиная с линии AD31 (и «вниз»), микросхемы устройств PCI, расположенные на системной плате, подключаются, начиная с AD12 (и «вверх»), но может быть и иной порядок. Цикл типа 0 игнорируется всеми другими мостами, подключенными к нулевой шине.

Hosted by uCoz