Литература / Еще что-то / PCI / PCI
.DOCЗАВЕРШЕНИЕ ТРАНЗАКЦИЙ
Возможны четыре варианта завершения транзакци:
- нормальное завершение,
- завершение при сбое АУ,
- завершение транзакции по инициативе ПУ( требование перезапуска транзакции)
-завершение транзакции сбоем ПУ
1. Нормальное завершение ( планируемое АУ завершение транзакции по инициативе АУ). В случае нормального завершения сбрасывается FRAME* и устанавливается IRDY*. Первым сигналом АУ сообщает ПУ , что начата последняя фаза передачи данных, а вторым сигналом подтверждается необходимость нормального завершения последней фазы данных.
2. Завершение транзакции при сбое АУ (непланируемое заранее АУ завершение транзакции по инициативе системного арбитра или по собственному таим-ауту АУ) . В случае сбоя АУ сбрасывается GNT* а затем FRAME*, но так, чтобы нормально закончить последнюю фазу передачи данных, т.е. сначала устанавливается IRDY*, а затем сбрасыввается FRAME*
3. Завершение транзакции по инициативе ПУ (требование перезапуска транзакции). ПУ устанавливает STOP*, затем в ответ АУ сбрасывает FRAME*, но так, чтобы завершить последнюю фазу передачи данных, т.е. сбрасывается FRAME* и устанавливается IRDY*. Далее все зависит от ПУ. Если TRDY* установлен , то обмен происходит. Если TRDY* не установлен, то обмена на последней фазе данных не будет. АУ, если оно намеривается, должно произвести повторную попытку доступа, завершенного по инициативе ПУ. Повторный доступ должен начинаться с адреса незавершенной фазы передачи данных.
4. Завершение транзакции сбоем ПУ. Одновременно с установкой STOP* сбрасывается DEVSEL*
Следует помнить, что несмотря на то, что завершение транзакции может инициироваться как АУ, так и ПУ , АУ всегда остается тем дерижором, который доводит транзакцию до некоторого упорядочного завершения, соответствующего IDLE- состоянию( FRAME* и IRDY* сброшены)
Правила использования сигналов при завершении транзакции по инициативе АУ( прерывания по инициативе АУ)
1. Прерывание транзакции со стороны АУ может обуслаливаться:
a) завершением запланированной транзакции( сбрасывается FRAME*)
b) по собсмтвенному для АУ таим-ауту сбрасывается FRAME*
c) сбрасывается GNT* и затем FRAME*,но так, чтобы дать возможность АУ провести последнюю передачу данных.
2. При смбросе FRAME* по крайней мере на один такт должен быть установлен IRDY* (предполагается осуществить последнююфазу передачи данных
3. В фазе передачи данных передача данных происходит при установленных IRDY* и TRDY*
4. Пауза в фазе передачи данных может быть вызвана неготовностью АУ( IRDY* сброшен) или неготовностью ПУ( TRDY* сброшен)
Правила использования сигналов управления при завершении транзакций по инициативе ПУ ( прерывания по инициативе ПУ)
1. ПУ сообщает о прерывании транзакции установлением сигнала STOP*
2. Всякий раз когда устанавливается STOP* должен быть сброшен FRAME* как можно быстрее
3. Если ПУ планирует перед прерыванием транзакции провести один обмен оно должно установить TRDY* вместе со STOP*
4. Установленный STOP* должен быть сброшен после сброса FRAME*
5 Установленные сигналы не должны меняться в течение последней фазы передачи данных
6. При завершении транзакции по инициативе ПУ ( требование перезапуска транзакции) DEVSEL* может быть сброшен только после сброса STOP*.
7. В противном случае, ситуация STOP* установлен DEVSEL* сброшен рассматривается как сбойПУ