Транзакции конфигурации
Интерфейс PCI обеспечивает полную программно управляемую инициализацию и конфигурациючерез отдельное адресное пространство конфигурации.
У устройств одно магистральнойPCI-системы, рис 2.1.1., пространство конфигурации типа 0, содержащее до 64 32-разрядных регистров, доступных и по чтению и по записи со стороны корневого устройства. Они выполняют рольрегистров идентификаторов устройства, регистров команд и состояния, шесть базовых регистров адреса и др.
У мостов многомагистральной PCI-системы, рис 2.1.1., пространство конфигурации типа 1, содержащее до 64 32-разрядных регистров, доступных и по чтению и по записи со стороны корневого устройства. Они выполняют рольрегистров идентификаторов устройства, регистров команд и состояния, двух базовых регистров адреса и др.
Механизм адресации к пространству конфигурации типа 0 и типа 1 различны.
31 11 10 8 7 2 1 0
Адрес IDSEL | Номер функции | Номер регистра |
Type 0
31 24 23 16 15 11 10 8 7 2 1 0
Резерв | Номер шины | Номер устройства | Номер функции | Номер регистра |
Type 1
Тип 1 и тип 0 доступа конфигурации различаются значениями на AD[1::0]. Тип 0 транзакции конфигурации (когда AD[1::0] = "00") используется, чтобы выбрать устройство на PCI шине, где транзакция выполняется. Тип 1 транзакции конфигурации (когда AD[1::0] = "01") используется, чтобы передать запрос конфигурации на другую PCI магистраль.
Поля адреса Номер регистра и Номер функции имеют то же самое значение для обоих типов конфигурации, тогда как поля адреса Номер устройства и Номер шины используется только в 1-ом типе доступа. Зарезервированные поля должны игнорироваться адресатами.
Транзакция конфигурационного чтения
Вопрос 10
Мост PCI-PCI при первом рассмотрении представляет собой двух портовое устройство, содержащее:-буферную двух портовую память,-совокупность регистров конфигурации,-два контроллера интерфейса PCI, -устройство управления,- арбитр
Один контроллер PCI обслуживает первичную магистраль, другой контроллер PCI обслуживает вторичную магистраль. Контроллер первичной магистрали со стороны первичной магистрали работает как устройство-цель, со стороны вторичной магистрали как устройство-инициатор. Контроллер вторичной магистрали со стороны первичной шины работает как устройство-инициатор, со стороны вторичной магистрали как устройство-цель.
Применение мостов PCI-PCIв много магистральных PCI-системах. предоставляет такие возможности, как:
- увеличение возможного числа подключенных устройств, что служит преодолению ограничения электрических спецификаций одно магистральнойPCI- системы;
- разделение устройств PCI на группы с различными характеристиками разрядности (32/64 бит), тактовой частотой (33/66/100/133 МГц), протокола (PCI, PCI-X, PCI- Express).Так как на каждой магистрали все абоненты равняются на самого слабого участника, правильная расстановка устройств по шинам позволяет с максимальной эффективностью использовать возможности устройств и системы в целом;
- организация сегментов с «горячим» подключением/отключением устройств;
- организация одновременного параллельного выполнения транзакций от инициаторов, расположенных на разных магистралях.
Допускается только древовидная конфигурация, то есть две шины соединяются друг с другом лишь одним мостом и нет «петель», образуемых мостами.
Мост должен выполнять ряд обязательных функций.
1. Обслуживать в качестве устройства-инициатора вторичную магистраль, а именно:
1.1 Выполнять арбитраж – прием сигналов запроса REQx# от устройств-инициаторов вторичной магистрали и предоставление им права на управление шиной сигналами GNTx#;
1.2 Парковать шину – подавать сигнал GNTx# какому-то устройству, когда управление шиной не требуется ни одному из устройств;
1.3 Генерировать конфигурационные циклы типа 0 с формированием индивидуальных сигналов IDSEL к адресуемому устройству PCI;
1.4 «Подтягивать» управляющие сигналы к высокому уровню;
1.5 Определять возможности подключенных устройств и выбирать удовлетворяющий их режим работы шины (частота, разрядность, протокол);
1.6 Формировать аппаратный сброс (RST#) по сбросу от первичного интерфейса и по команде, сообщая о выбранном режиме сигнализацией.
2. Поддерживать карты ресурсов, находящихся по разные стороны моста, при выполнении транзакций за исключением транзакций конфигурации.
3. Отвечать под видом целевого устройства на транзакции, инициированные мастером на одном интерфейсе и адресованные к ресурсу, находящемся со стороны другого интерфейса; транслировать эти транзакции на другой интерфейс, выступая в роли ведущего устройства (мастера), и передавать их результаты истинному инициатору.
Маршрутизирующие функции моста.Основная задача маршрутизации – определение, где по отношению к мосту находится ресурс, адресованный каждой транзакцией, - является первоочередной задачей при обработке каждой транзакции, «увиденной» мостом на любом из своих интерфейсов. Эта задача решается двояко, поскольку в фазе адреса может передаваться как иерархический адрес PCI (шина®устройство®функция), так и «плоский» адрес памяти или порта ввода-вывода.
· Маршрутизация по иерархическому адресу. Через номер шины и номер устройства адресуются транзакции конфигурационной записи и чтения, генерации специального цикла. Для этих транзакций маршрутизация основана на системе нумерации шин. Номера присваиваются магистралям (шинам) PCI при конфигурировании системы строго последовательно. Номера мостов соответствуют номерам их вторичных шин.
· Маршрутизация по «плоскому» адресу. Для манипулирования с транзакциями обращения к памяти и портам ввода-вывода мосту нужны карты адресов, на которых отмечены области, принадлежащие устройствам вторичной и подчиненных шин. В системе с плоской уникальной адресацией этого достаточно. Для отмеченных областей мост должен отвечать в качестве целевого устройства на транзакции, «увиденные» им на первичном интерфейсе, и инициировать их в роли устройства-инициатора на вторичном интерфейсе; остальные транзакции на первичном интерфейсе он игнорирует.