PCI Bus Latency
Soon after promulgation of the PCI specification, it was discovered that lengthy transactions by some devices, due to slow acknowledgments, long data bursts, or some combination, could cause buffer underrun or overrun in other devices. Recommendations on the timing of individual phases in Revision 2.0 were made mandatory in revision 2.1:
- A target must be able to complete the initial data phase (assert TRDY# and/or STOP#) within 16 cycles of the start of a transaction.
- An initiator must complete each data phase (assert IRDY#) within 8 cycles.
Additionally, as of revision 2,1, all initiators capable of bursting more than 2 data phases must implement a programmable latency timer. The timer starts counting clock cycles when a transaction starts (initiator asserts FRAME#). If the timer has expired and the arbiter has removed GNT#, then the initiator must terminate the transaction at the next legal opportunity. This is usually the next data phase, but Memory Write and Invalidate transactions must continue to the end of the cache line.
Read more about this topic: Conventional PCI
Famous quotes containing the word bus:
“It seemed a long way from 143rd Street. Shaking hands with the Queen of England was a long way from being forced to sit in the colored section of the bus going into downtown Wilmington, North Carolina. Dancing with the Duke of Devonshire was a long way from not being allowed to bowl in Jefferson City, Missouri, because the white customers complained about it.”
—Althea Gibson (b. 1927)