![](http://datasheet.mmic.net.cn/260000/PI7C7100_datasheet_15942606/PI7C7100_40.png)
32
09/18/00 Rev 1.1
12345678901234567890123456789012123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789012123456
12345678901234567890123456789012123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789012123456
6. Transaction Ordering
PI7C7100
3-Port PCI Bridge
ADVANCE INFORMATION
To maintain data coherency and consistency, PI7C7100 complies with the ordering rules set forth in the PCI Local Bus
Specification, Revision 2.1, for transactions crossing the bridge. This chapter describes the ordering rules that control
transaction forwarding across PI7C7100.
6.1 Transactions Governed by Ordering Rules
Ordering relationships are established for the following classes of transactions crossing PI7C7100:
Posted write transactions, comprised of memory write and memory write and invalidate transactions.
Posted write transactions complete at the source before they complete at the destination; that is, data is written
into intermediate data buffers before it reaches the target.
Delayed write request transactions, comprised of I/O write and configuration write transactions.
Delayed write requests are terminated by target retry on the initiator bus and are queued in the delayed transaction
queue. A delayed write transaction must complete on the target bus before it completes on the initiator bus.
Delayed write completion transactions, comprised of I/O write and configuration write transactions.
Delayed write completion transactions complete on the target bus, and the target response is queued in the
buffers. A delayed write completion transaction proceeds in the direction opposite that of the original delayed write
request; that is, a delayed write completion transaction proceeds from the target bus to the initiator bus.
Delayed read request transactions, comprised of all memory read, I/O read, and configuration read
transactions.
Delayed read requests are terminated by target retry on the initiator bus and are queued in the delayed transaction
queue.
Delayed read completion transactions, comprised of all memory read, I/O read, & configuration read
transactions.
Delayed read completion transactions complete on the target bus, and the read data is queued in the read data
buffers. A delayed read completion transaction proceeds in the direction opposite that of the original delayed read
request; that is, a delayed read completion transaction proceeds from the target bus to the initiator bus.
PI7C7100 does not combine or merge write transactions:
PI7C7100 does not combine separate write transactions into a single write transaction—this optimization is best
implemented in the originating master.
PI7C7100 does not merge bytes on separate masked write transactions to the same DWORD address—this
optimization is also best implemented in the originating master.
PI7C7100 does not collapse sequential write transactions to the same address into a single write transaction—the
PCI Local Bus Specification does not permit this combining of transactions.
6.2 General Ordering Guidelines
Independent transactions on primary and secondary buses have a relationship only when those transactions cross
PI7C7100.
The following general ordering guidelines govern transactions crossing PI7C7100:
The ordering relationship of a transaction with respect to other transactions is determined when the transaction
completes, that is, when a transaction ends with a termination other than target retry.
Requests terminated with target retry can be accepted and completed in any order with respect to other transac-
tions that have been terminated with target retry. If the order of completion of delayed requests is important, the
initiator should not start a second delayed transaction until the first one has been completed. If more than one
delayed transaction is initiated, the initiator should repeat all delayed transaction requests, using some fairness
algorithm. Repeating a delayed transaction cannot be contingent on completion of another delayed transaction.
Otherwise, a deadlock can occur.