2. Interface Operation
39
Tsi308 User Manual
80D4000_MA001_02
Tundra Semiconductor Corporation
www.tundra.com
The controller has two buffers, which allow state tracking for two outstanding requests. If both
requests are outstanding in the controller at once, it rotates them in round-robin fashion to issue
or reissue them. When the ORC filo fills, subsequent requests back up to the HyperTransport Rx
buffers. Since the ORC doesn’t guarantee ordering, the HyperTransport Rx buffers must not
issue the second in an ordered pair of transactions until the first has completed.
The ORC is also responsible for managing space in the PCI response data buffer. All outbound
non-posted requests, regardless of destination, must be allocated space in the response data
buffer before they can be accepted from the Rx buffers through Data Mover (DM) by the ORC.
Even though PCI response data buffer can hold two responses, ORC uses only request buffer for
receiving non-posted requests from Rx command buffers, reserving the other buffer always for
posted requests which in turn, provides the deadlock-avoidance guarantee required by [2] and
[3] (non-posted requests are never allowed to block posted requests).
As requests complete at their destinations that fact is signaled back to the ORC (Normally
PCI-X Master but PCI-X Target if request was non-posted and Tsi308 is operating in PCI-X
mode), which allows the request buffer to be retired. If the request was non-posted, the
transaction will require generation of a response to the host. ORC considers posted transactions
as complete when the request completes at its destination and the buffer is retired. Non-posted
transactions are complete when the response packet is issued to the HyperTransport transmit
interface from which the request was received.
2.3.1
PCI-X Outbound Transactions
Outbound requests to PCI-X are handed to the PCI-X interface to be driven out to the bus. Write
data comes from the Rx data buffers, Read data is returned from the bus and placed in the PCI
Response Data Buffer.
When PCI-X bus A is configured as 64 bit at reset (P0_AD[14]), the interface automatically
asserts P0_REQ64_N on all transactions for which it is legal. The PCI-X bus B can only be 32
bit.
The PCI-X interface supports Type 0 PCI configuration cycles to device numbers 0 through 15.
Px_AD[31:16] (x = 0 for PCI-X A, 1 for PCI-X B) are driven with a one-hot encoding during
these configuration cycles, with bit 16 asserted for accesses to device number 0. This logic
assumes that one Px_AD bit is connected to the IDSEL# pin on each PCI slot through a series
resister on the board.
If a request is retried or disconnected on the PCI, that fact is reported back to the ORC. The
controller finishes any data movement associated with the disconnected transaction and then
reissues the request from the point of disconnection. It continues to reissue a request until it
completes or until the retry timer for the request expires. Because the ORC can handle two
outstanding requests at a time, transactions repeatedly retried or disconnected may be reordered
or interleaved.
Summary of Contents for TSI308
Page 4: ...4 Tsi308 User Manual 80D4000_MA001_02 Tundra Semiconductor Corporation www tundra com ...
Page 6: ...6 Tsi308 User Manual 80D4000_MA001_02 Tundra Semiconductor Corporation www tundra com ...
Page 20: ...20 Tsi308 User Manual 80D4000_MA001_02 Tundra Semiconductor Corporation www tundra com ...
Page 260: ...Index 260 Tsi308 User Manual 80D4000_MA001_02 Tundra Semiconductor Corporation www tundra com ...