Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ipu.doc
Скачиваний:
2
Добавлен:
09.09.2019
Размер:
937.47 Кб
Скачать

25. Шина pci. Выполнение транзакции, способы завершения транзакции. Транзакция записи (чтения).

Шина является синхронной — фиксация всех сигналов выполняется по положи­тельному перепаду сигнала CLK. Номинальной частотой синхронизации считается 33 МГц, при необходимости частота может быть понижена. Во многих случаях ча­стоту успешно разгоняют и до 41,5 МГц (половина типовой частоты системной шины 83 МГц). Начиная с версии 2.1 допускается повышение частоты до 66 МГц при согласии всех устройств на шине.

Номинальная разрядность шины данных — 32 бита, спецификация определяет и расширение разрядности до 64 бит. При частоте шины 33 МГц теоретическая про­пускная способность достигает 132 Мбайт/с для 32-битной шины и 264 Мбайт/с для 64-битной; при частоте синхронизации 66 МГц — 264 и 528 соответственно. Однако эти пиковые значения достигаются лишь во время передачи пакета, а из-за протокольных накладных расходов реальная средняя суммарная пропускная способность шины оказывается ниже.

В каждой транзакции участвуют два устройства — инициатор обмена, он же ведущее (master) устройство, и ведомое (slave). Шина PCI все транзакции трактует как пакет­ные: каждая транзакция начинается фазой адреса, за которой может следовать одна или несколько фаз данных.

Каждая транзакция на шине должна быть завершена планово или прекращена, при этом шина должна перейти в состояние покоя (сигналы FRAME* и IRDY# пассив­ны). Завершение транзакции выполняется либо по инициативе ведущего устрой­ства, либо по инициативе ПУ. Ведущее устройство может завершить транзакцию одним из следующих способов.

* Нормальное завершение ( Camletiori) выполняется по окончании обмена данными.

* Завершение по тайм-ауту (Time-out) происходит, когда во время транзакции у ведущего устройства отбирают право на управление шиной (снятием сигнала GNT#) и истекает время, указанное в его таймере Latency Timer. Это может слу­читься, если адресованное ЦУ оказалось непредвиденно медленным или за­планирована слишком длинная транзакция. Короткие транзакции (с одной - двумя фазами данных) даже в случае снятия сигнала GNT# и срабатывания таймера завершаются нормально. Транзакция отвергается (Master-Abort), когда в течение заданного времени ве­дущее устройство не получает ответа ЦУ (DEVSEL*).

Транзакция может быть прекращена по инициативе ЦУ; для этого оно может вве­сти сигнал STOP*. Возможны три типа прекращения.

* Повтор (Retry) — сигнал STOP* вводится при пассивном сигнале TRDY* до пер­вой фазы данных. Эта ситуация возникает, когда ЦУ из-за внутренней занято­сти не успевает выдать первые данные в положенный срок (16 тактов). Повтор является указанием ведущему устройству на необходимость нового запуска той же транзакции.

* Отключение (Disconnect) — сигнал STOP* вводится во время или после первой фазы данных. Если сигнал STOP* введен при активном сигнале TRDY* очеред­ной фазы данных, то эти данные передаются и на том транзакция завершается. Если сигнал STOP* введен при пассивном сигнале TRDY*, то транзакция заверша­ется без передачи данных очередной фазы. Отключение производится, когда ЦУ неспособно своевременно выдать или принять очередную порцию данных пакета.

* Отказ (Target-Abort) — сигнал STOP* вводится одновременно со снятием сигна­ла DEVSEL* (в предыдущих случаях во время появление сигнала STOP* сигнал DEVSEL* был активен). После этого данные уже не передаются. Отказ вводит­ся, когда ЦУ обнаруживает фатальную ошибку или иные условия, по которым оно уже никак не сможет обслужить данный запрос. Использование трех типов прекращения вовсе не обязательно для всех ЦУ, одна­ко любое ведущее устройство должно быть готово к завершению транзакций по любой из этих причин.

Цикл обмена на шине PCI

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]