Скачиваний:
188
Добавлен:
15.06.2014
Размер:
5.09 Mб
Скачать

5. Транзакция pci, фазы транзакции. Протокол, сигналы, временные диаграммы. Арбитр шины. Контроль достоверности передачи.

5.1 Транзакция PCI, фазы транзакции

Транзакция -атомарная операция обмена данными между двумя устройствамиPCI

В рамках транзакции определены два объекта:

инициатор обмена (Initiator)

целевое устройство (Target).

В рамках одной физической шины в конкретный момент может происходить только одна транзакция.

Транзакция состоит из фазы адресациии одной или несколькихфаз передачи данных.

5.2 Протокол, сигналы, временные диаграммы

Сигналы шины PCI

AD[31:0] ([63:0]) – мультиплексированная шина адреса/данных

C/BE[3:0]# - мультиплексированная шина команд/маска разрешения байт

FRAME# - сигнал кадра (транзакции)

DEVSEL# - подтверждение выбора от целевого устройства

IRDY# - инициатор готов к обмену

TRDY# - целевое устройство готово к обмену

STOP# - досрочное прекращение транзакции

LOCK# - резервирование шины за одним устройством

REQ# - запрос на доступ к шине

GNT# - разрешение на доступ к шине

PAR– бит четности линийADи С/BE#

PERR# - ошибка четности

PME# - сигнал о начале цикла изменения энергопотребления

CLKRUN# - частота синхронизации номинальная

PRSNT[0,1]# - код потребляемой мощности

RST# - сброс

IDSEL– выбор устройства

SERR# - ошибка

REQ64# - запрос на 64-битный обмен (одновр. сFRAME#)

ACK64# - подтверждение 64-битного обмена (одновр. сDEVSEL#)

INTA#-INTD# - линии прерывания

M66EN– поддержка частоты 66 МГц

PCIXCAP– поддержка протоколаPCI-X

SMBCLK– тактовый сигналSMBus

SMBDAT– линия данныхSMBus

TCLK,TDI,TDO,TMS,TRST– сигналы интерфейсаJTAG

Протокол транзакции

До начала транзакции инициатор подаёт запрос на доступ к шине при помощи сигнала REQ#. Арбитр проверяет заявки и разрешает доступ сигналом GNT#.

Инициатор дожидается завершения текущей транзакции(снятия сигнала FRAME#) и начинает работу.

1 этап – фаза адресации

Подав сигнал FRAME# (начало транзакции), инициатор на шину адресаA/Dвыставляет 32- или 64-битный адрес, а на шину командC/BE# - код операции (команду).

Фазу адресации отслеживают все устройства на шине, включая мост. То устройство, которое определило принадлежность адреса к своим ресурсам, сообщает об этом сигналом подтверждения выбора устройстваDEVSEL#. Мост также может взять на себя роль целевого устройства, чтобы передать транзакцию на другие шины.

2 этап – фаза передачи данных

Получив сигнал DEVSEL#, инициатор готовит внутренние буферы к обмену и выставляетIRDY# по готовности. При выполнении записи в следующем такте на шину данныхA/Dпоступает первая группа данных.

Целевое устройство по готовности выставляет сигнал TRDY# и выставляет первую группу данных при выполнении чтения. Его отсутствие означает необходимость холостого такта, в течение которого инициатор прекращает передачу (или повторяет первую фазу данных).

Холостой такт может вводить и инициатор снятием сигнала IRDY#.

Маска байтов (линии C/BE#) определяет, какие из байты из группы (по шине передаются сразу 4 или 8) заполнены полезными данными. Маску формирует тот, кто выставляет данные (при записи – инициатор, при чтении – целевое устройство).

3 этап- завершение транзакции

Длина транзакции заранее неизвестна, поскольку она может быть закончена по инициативе трех агентов – инициатора, целевого устройства или арбитра.

Со стороны инициатора – снятием сигнала FRAME#:

Нормальное завершение: после передачи всех данных.

Прекращение (master-abort): инициатор не дождался сигналаDEVSEL#.

Со стороны целевого устройства – сигналом STOP#:

Повтор (retry): сигналSTOP# выставляется до сигналаTRDY# в первой фазе данных. Это запрос повторения той же транзакции.

Отключение (disconnect):STOP# выставляется в очередной фазе данных. Запрос на повтор со следующей (если был установленTRDY#) или текущей (не был установленTRDY#) фазы данных.

Отказ (target-abort):снятиеDEVSEL# вместе с установкойSTOP#.

Со стороны арбитра – снятием сигнала GNT#. Это может потребоваться, например, если инициатор не закончил транзакцию вовремя.

Временные диаграммы:

Чтение

Запись

5.3 Арбитр шины

В роли арбитров шины выступают мосты, обрабатывая запросы от устройств на доступ к шине и отслеживая соблюдение протокола обмена. Суть арбитража объяснена пунктом выше. Здесь представим лишь временную диаграмму

5.4 Контроль достоверности передачи

Для контроля достоверности (корректности) передаваемых данных в шине PCIпредусмотренмеханизм четности(parity). СигналPAR# – признак нечетного количества единиц на линияхAD[31:0] иC/BE#[3:0]. СигналPAR64# используется для контроля четности линийAD[63:32] иC/BE#[7:4] в случае применения 64-битной шины. Эти сигналы вырабатываются устройством, которое управляет шинойAD. Задержка сигналовPAR# иPAR64# составляет один такт (для того, чтобы устройство успело подсчитать количество пришедших бит).

В случае обнаружения нарушения четности в фазе данных приемниквырабатывает сигналPERR# (с задержкой в один такт) и выставляет бит 15 в регистре состояния. Для фазы адреса проверку четности выполняетцелевое устройство, при ошибке вырабатывается другой сигнал –SERR#, выставляется бит 14 в регистре состояния.

Соседние файлы в папке шпоры к экзамену, 2ой семестр (Дудкин) [8890 вопросов]