Claims
- 1. A processing apparatus comprising:
a plurality of staged clients; a pipelined bus connecting the staged clients such that each client is connected to no more than two other clients, the pipelined bus allowing data transfers between the clients; and a retry and suspend module connected to the clients and controlling the data transfer retries between clients.
- 2. The processing apparatus of claim 1 wherein the staged clients and the retry and suspend module employ distributed conflict resolution.
- 3. The processing apparatus of claim 2 wherein the staged clients and the retry and suspend module provide for multiple non-interfering transfers to occur concurrently.
- 4. The processing apparatus of claim 1 wherein the pipelined bus does not have a single point of contention.
- 5. The processing apparatus of claim 1 wherein all of the plurality of staged clients may transfer data concurrently.
- 6. The processing apparatus of claim 1 wherein the number of outstanding read transactions per client is limited only by the depth of queuing provided by the clients and the ability of the clients to resolve unique transactions.
- 7. The processing apparatus of claim 1 wherein data signals can be active every cycle during saturating transfer conditions.
- 8. The processing apparatus of claim 7 wherein read request signals issued by clients are decoupled from data transfers.
- 9. The processing apparatus of claim 8 wherein the read request signals issued by clients can be hidden during data transfers.
- 10. The processing apparatus of claim 1 wherein preemptive flow control is used for retrying packets after collisions.
- 11. The processing apparatus of claim 1 wherein the clients form a chain.
- 12. The processing apparatus of claim 1 wherein the clients form a ring.
- 13. The processing apparatus of claim 1 wherein a sending client receives a signal indicating if a sent packet was received or rejected.
- 14. The processing apparatus of claim 1 wherein the retry and suspend module includes routing logic for both normal and reject acknowledgement from a receiving client to a sending client.
- 15. The processing apparatus of claim 14 wherein the retry and suspend module includes retry logic to provide retry initiation and suspension.
- 16. The processing apparatus of claim 15 wherein the retry logic ensures retry fairness and avoids client starvation.
- 17. The processing apparatus of claim 16 wherein the retry logic comprises logic to check for a combination of asserted bits in a retry array indicating blocked transfers among clients in a loop and logic to reset one of the bits in the blocked loop for the elimination of deadlocks.
- 18. A processing method comprising the steps of:
connecting a plurality of clients using a pipelined bus such that each client is connected to no more than two other clients; connecting a retry and suspend module to the clients; sending a packet by a sending client; receiving a positive acknowledgement if the packet was received correctly by a receiving client; receiving a negative acknowledgement if the packet was received not correctly by the receiving client; providing a retry signal to the sending client by the retry and suspend module; and resending a packet by the sending client.
Parent Case Info
[0001] The present application claims the benefit of U.S. Provisional Application Serial No. 60/287,270 filed Apr. 27, 2001, and entitled “Methods and Apparatus for Pipelined Bus”which is incorporated herein by reference in its entirety.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60287270 |
Apr 2001 |
US |