Сигналы и транзакции шины PCI.
Обмен информацией по шинам PCI и PCI-X организован в виде транзакций — логически завершенных операций обмена. В каждой транзакции выполняется одна команда — как правило, чтение или запись данных по указанному адресу. Транзакция начинается с фазы адреса, в которой инициатор задает команду и целевой адрес. Далее могут следовать фазы данных, в которых одно устройство (источник данных) помещает данные на шину, а другое (приемник) их считывает. Транзакции, в которых присутствует множество фаз данных, называются пакетными. Есть и одиночные транзакции (с одной фазой данных). Транзакция может завершиться и без фаз данных, если целевое устройство (или инициатор) не готово к обмену. В шине PCI-X добавлена фаза атрибутов, в которой передается дополнительная информация о транзакции. Любое устройство шины может выступать как в роли инициатора транзакций (задатчика), так и в роли целевого устройства. Целевое устройство отвечает на транзакции, адресованные к его ресурсам (областям памяти и портам ввода-вывода). Каждая физическая шина PCI позволяет объединять лишь небольшое число устройств (обычно не более шести). Для увеличения числа подключаемых устройств применяют мосты PCI (PCI-to-PCI Bridge) — специальные аппаратные средства с парой интерфейсов, которыми шины объединяются в древовидную структуру. В корне этой структуры находится хост — «хозяин шины», в обязанности которого входит конфигурирование всех устройств, включая мосты. В роли хоста, как правило, выступает центральный процессор с главным мостом. Важной частью шины PCI является система автоматического конфигурирования: конфигурирование выполняется каждый раз при включении питания и инициализации системы. Специальное конфигурационное программное обеспечение позволяет обнаружить и идентифицировать все установленные устройства, а также выяснить их потребности в ресурсах (областях памяти, адресах ввода - вывода, прерываниях).
Основные сигналы шины PCI, котрые используются в транзакциях:
AD - Address/Data - мультиплексированная шина адреса/данных. В начале транзакции передается адрес, в последующих тактах – данные; С/ВЕ - Command/Byte Enable — команда/разрешение обращения к байтам. Команда, определяющая тип очередного цикла шины, задается четырехбитным кодом в фазе адреса; FRAME - Кадр. Введением этого сигнала отмечается начало транзакции (фаза адреса), снятие сигнала указывает на то, что последующий цикл передачи данных является последним в транзакции; DEVSEL - Device Select - устройство выбрано (ответ целевого устройства (ЦУ) на адресованную к нему транзакцию); IRDY - Initiator Ready — готовность ведущего устройства к обмену данными; TRDY - Target Ready — готовность целевого устройства к обмену данными.
Рис. 5.25 Цикл обмена на шине PCI.
Для адреса и данных используются общие мультиплексированные линии AD. Линии С/ВЕ[3:0] обеспечивают кодирование команд в фазе адреса и разрешение байтов в фазе данных. В начале транзакции ведущее устройство активирует сигнал FRAME, передает целевой адрес по шине AD, а по линиям С/ВЕ - информацию о типе транзакции (команду). Адресованное целевое устройство отзывается сигналом DEVSEL. Ведущее устройство указывает на свою готовность к обмену данными сигналом IRDY. Когда и целевое устройство оказывается готово к обмену данными, оно устанавливает сигнал TRDY. Данные по шине AD передаются только при одновременном наличии сигналов IRDY и TRDY. С помощью этих сигналов ведущее, и целевое устройства согласуют свои скорости, вводя такты ожидания (wait states). На рис. 5.25 приведена временная диаграмма обмена, в которой и ведущее и целевое устройства вводят такты ожидания. Если бы они оба ввели сигналы готовности в конце фазы адреса и не снимали бы их до конца обмена, то в каждом такте после фазы адреса передавалось бы по 32 бита данных, что обеспечило бы выход на предельную производительность обмена. На шине PCI все транзакции трактуются как пакетные: каждая транзакция начинается фазой адреса, за которой может следовать одна или несколько фаз данных. Количество фаз данных в пакете явно не указывается. Если устройство не поддерживает пакетные транзакции в ведомом режиме, то оно должно потребовать прекращения пакетной транзакции в течение первой фазы данных. В ответ на это ведущее устройство завершает данную транзакцию и продолжает обмен последующей транзакцией со следующим значением адреса. После завершающей фазы данных ведущее устройство снимает сигнал IRDY#, и шина переходит в состояние покоя (idle). С увеличение производительности вычислительной техники шина PCI перестала удовлетворять требованиям по скорости и пропускной способности. Программисты создавали все более красочные игрушки, а для передачи красивой картинки нужна высокая пропускная способности. Поэтому постепенно видеокарты стали подключаться через порт AGP.
|