Команды шины PCI


Команды шины PCI определяются значениями бит C/BE# в фазе адреса.

1. Команда подтверждения прерывания предназначена для чтения вектора прерываний. По протоколу она выглядит как команда чтения, неявно адресованная к системному контроллеру прерываний. Здесь в фазе адреса полезная информация не передается, но ее инициатор должен обеспечить стабильность сигналов и корректность паритета.

2. Специальный цикл отличается от всех других тем, что является широковещательным. Однако ни один агент на него не отвечает, а устройство, вводящее этот цикл, должно завершить его 6-тактовой командой MasterAbort. Тип сообщения декодируется содержимым линий AD[15:0], на линиях AD[31:16] могут помещаться данные, передаваемые в сообщении.

3. Команды чтения и записи ввода-вывода служат для обращения к пространству портов. Линии AD содержат адрес байта, причем декодированию подлежат и биты AD0 и AD1. Порты PCI могут быть 16- или 32-битными. Для адресации портов на шине PCI доступны все 32 бита адреса, но процессоры х86 могут использовать только младшие 16 бит.

4. Команды обращения к памяти, кроме обычного чтения и записи, включают чтение строк кэш-памяти, множественное чтение и запись с пропусками.

5. Команды конфигурационного чтения и записи адресуются к конфигурационному пространству устройств. Обращение производится только двойными словами. Структура содержит идентификатор устройства и производителя, состояние и команду, информацию о занимаемых ресурсах и ограничения на использование шины. Для генерации данных команд требуется специальный аппаратно-программный механизм.

6. Чтение строк памяти применяется когда в транзакции планируется более двух 32-битных передач (обычно это чтение до конца строки кэша).

7. Множественное чтение памяти используется для транзакций, пересекающих границы строк кэш-памяти.

8. Запись с пропусками применяется к целым строкам кэша и позволяет оптимизировать циклы обратной записи занятых строк кэша.

9. Двухадресный цикл позволяет по 32-битной шине обращаться к устройствам с 64-битной адресацией. В этом случае младшие 32 бита адреса предаются в цикле данного типа, а за ним следует обычный цикл, определяющий тип обмена и несущий старшие 32 бита адреса. Шина PCI допускает 64-битную адресацию портов ввода-вывода.