Цикл конфигурации

в начало

Шина PCI имеет две команды конфигурации: чтения и записи из адресного пространства конфигурации емкостью в 256 байт. Команды конфигурации, подобно другим командам чтения и записи разрешают доступ к байту, слову, двойному слову (32 р.) и пакетной передаче. Правила транзакций такие же, как в других командах, включая все условия завершения транзакций.

Особенностями команд конфигурации являются следующие.

Доступ в область адресов конфигурации устройства на шине производится с помощью специальных, индивидуальных для каждого устройства, линий типа точка-точка, идущих от главного моста к каждому устройству отдельно. По этим линиям передается специальный сигнал выбора устройства IDSEL. Каждое устройство имеет свой вход IDSEL, который работает подобно классическому входу "выбор кристалла" (chip select). Устройство PCI становится исполнителем команды конфигурации только тогда, когда его сигнал IDSEL установлен, и два младших разряда адреса AD[1::0] содержат код 00 в течении фазы адреса команды конфигурации.

Активное значение сигнала IDSEL имеет высокий уровень, т.е. соответствует 1.

Адресация внутри пространства конфигурации устройства, содержащего 64 регистра по 32 разряда каждый, осуществляется разрядами [7::2] шины AD(AD[7::2]) и разрядами выбора байта C/B[3::0].

В командах конфигурации используется только 11 младших разряда на шине AD[10::0], а разряд AD[31::11] не используется (являются резервными).

Спецификацией не определено как формируется сигнал IDSEL главным мостом шины PCI. Однако применяется способ задания линий IDSEL путем использования старших линий шины AD[31::11]. Это позволяет иметь 21 такую линию. В этом случае, одна из линий AD[31::11] соединяется со входом IDSEL устройства через большое сопротивление. Это снижает нагрузку на линию при выполнении других операций на шине, но приводит к затягиванию фронта установки сигнала IDSEL в активное состояние. В связи с этим необходима предустановка адреса в фазе адреса транзакции конфигурации. Адрес может быть предустановлен за несколько импульсов до FRAME# (число импульсов для предустановки определяется из постоянной времени входной цепочки сигнала IDSEL).

На временной диаграмме (рисунок 2.4) показана операция конфигурации-чтения. Транзакция содержит всего одну фазу данных.

Как видно из диаграммы, предустановка адреса производится 1-м импульсом. Сигнал IDSEL достигает своего номинального значения ко 2-му импульсу, поэтому фронтом этого импульса производится установка FRAME# и начинается фаза адреса. Сигнал FRAME# сбрасывается 3-м импульсом, т.к. с него начинается первая и последняя фаза данных. Фаза данных состоит из 2-х тактов, первый - такт ожидания. Ожидание инициируется исполнителем с помощью задержки установки сигнала TRDY#. Передача данных и завершение транзакции производится на 5-м импульсе.

Рис.2.4. Временная диаграмма