Claims
- 1. A bridge coupled to a first bus and a second bus, the bridge comprising:
- a first queue to transfer a first transaction from the first bus to the second bus;
- a second queue to transfer a second transaction from the second bus to the first bus; and
- a first control logic coupled to the first queue and the second queue, the first control logic to determine, based on whether posting to the second queue is disabled, whether the first transaction is to be placed in the first queue.
- 2. The bridge of claim 1, wherein the first control logic is also to determine whether the first transaction is to be placed in the first queue based on whether the second queue contains no posted transactions.
- 3. The bridge of claim 1, further comprising:
- a second control logic coupled to the first queue and the second queue, the second control logic to determine, based on whether posting to the first queue is disabled, whether the second transaction is to be issued on the first bus.
- 4. A computer system comprising:
- a first bus;
- a second bus;
- a first agent coupled to the first bus;
- a second agent coupled to the second bus; and
- a bus bridge coupled to the first bus and the second bus, the bus bridge including,
- a first queue to transfer a first transaction from the first agent to the second bus;
- a second queue to transfer a second transaction from the second agent to the first bus; and
- a first control logic coupled to the first queue and the second queue, wherein the first control logic is to determine, based on whether posting to the second queue is disabled, whether the first transaction is to be placed in the first queue.
- 5. The computer system of claim 4, wherein the first control logic is also to determine whether the first transaction is to be placed in the first queue based on whether the second queue contains no posted transactions.
- 6. The computer system of claim 4, further comprising:
- a second control logic coupled to the first queue and the second queue, wherein the second control logic is to determine, based on whether posting to the first queue is disabled, whether the second transaction is to be issued on the first bus.
- 7. A method of performing transaction arbitration in a bus bridge, the bus bridge being coupled to a first bus and a second bus, the bus bridge having a first queue and a second queue, the method comprising the steps of:
- (a) determining whether a first transaction from a first requesting agent on the first bus is to be committed to the first queue and, if so, giving an indication to the first requesting agent that the bus bridge has committed to the first transaction; and
- (b) determining whether a second transaction from a second requesting agent on the second bus is to be committed to the second queue and, if so, giving an indication to the second requesting agent that the bus bridge has committed to the second transaction.
- 8. The method of claim 7, further comprising the step of:
- (c) determining whether a transaction in the first queue is to be executed on the first bus or a transaction in the second queue is to be executed on the second bus.
- 9. The method of claim 8, wherein the determining step (c) includes the steps of:
- determining whether posting to the second queue is enabled;
- determining whether the second queue contains a posted transaction; and
- determining whether ownership of the second bus is available.
- 10. The method of claim 9, wherein the determining step (c) includes the step of determining that a transaction in the first queue is to be executed on the second bus when the posting to the second queue is disabled, the second queue contains no posted transaction, and ownership of the second bus is available.
- 11. The method of claim 8, wherein the determining step (c) includes the steps of:
- determining whether posting to the first queue is enabled; and
- determining whether the first queue contains posted transactions.
- 12. The method of claim 11, wherein the determining step (c) includes the step of determining that a transaction in the second queue is to be executed on the first bus when the posting to the first queue is disabled and the first queue contains no posted transactions.
- 13. An apparatus to be coupled to a first bus and a second bus, the apparatus comprising:
- a first queue to transfer a first transaction from the first bus to the second bus;
- a second queue to transfer a second transaction from the second bus to the first bus; and
- a first control logic coupled to the first queue and the second queue, the first control logic to determine, based on whether posting to the second queue is disabled, whether to commit to the first transaction.
- 14. The apparatus of claim 13, wherein the first control logic is further operative to commit to the first transaction provided posting to the second queue is disabled.
- 15. The apparatus of claim 14, wherein the first control logic is further operative to place the first transaction in the first queue provided the first transaction is committed to.
- 16. The apparatus of claim 14, further comprising:
- second control logic operative to execute the first transaction on the second bus provided the first transaction is committed to.
- 17. A method of transferring transactions between a first bus and a second bus via a bus bridge, wherein the bus bridge includes a first queue to transfer a first transaction from the first bus to the second bus and a second queue to transfer a second transaction from the second bus to the first bus, the method comprising the steps of:
- identifying whether posting to the second queue is disabled; and
- determining whether to commit to the first transaction based on whether posting to the second queue is disabled.
- 18. The method of claim 17, further comprising the steps of:
- committing to the first transaction provided posting to the second queue is disabled.
- 19. The method of claim 18, further comprising the step of:
- placing the first transaction into the first queue provided the first transaction is committed to.
- 20. The method of claim 18, further comprising the steps of:
- executing the first transaction on the second bus provided the first transaction is committed to.
- 21. A method of transferring transactions between a first bus and a second bus via a bus bridge, wherein the bus bridge includes a first queue to transfer a first transaction from the first bus to the second bus and a Second queue to transfer a second transaction from the second bus to the first bus, the method comprising the steps of:
- determining whether ordering requirements for the first transaction have been satisfied;
- determining whether a grant has been received for the first transaction from an arbitration unit of the bus bridge; and
- executing the first transaction on the second bus in response to the ordering requirements for the first transaction being satisfied and the grant being received for the first transaction.
- 22. The method of claim 21, wherein the step of determining whether ordering requirements for the first transaction have been satisfied comprises determining whether posting to the second queue has been disabled.
- 23. The method of claim 21, further comprising the step of the arbitration unit determining whether to issue the grant based on whether posting to the second queue has been disabled and whether the, second queue has been flushed.
- 24. The method of claim 21, further comprising the step of the arbitration unit determining whether to issue the grant based on whether the second queue has been flushed and whether ownership of the second bus is available.
- 25. An apparatus to transfer data between a first bus and a second bus, the apparatus comprising:
- a first queue to transfer a first transaction from the first bus to the second bus;
- a second queue to transfer a second transaction from the second bus to the first bus;
- first logic, coupled to the first and second queues, to determine whether ordering requirements for the first transaction have been satisfied;
- an arbitration unit, coupled to the first logic, to conditionally issue a grant to the first logic; and
- second logic, coupled to the first logic, to execute the first transaction on the second bus in response to the ordering requirements for the first transaction being satisfied and the grant being issued for the first transaction.
- 26. The apparatus of claim 25, wherein the first logic is operative to determine whether ordering requirements for the first transaction have been satisfied based on whether posting to the second queue has been disabled.
- 27. The apparatus of claim 25, wherein the arbitration unit is operative to determine whether to issue the grant based on whether posting to the second queue has been disabled and whether the second queue has been flushed.
- 28. The apparatus of claim 25, wherein the arbitration unit is operative to determine whether to issue the grant based on whether the second queue has been flushed and whether ownership of the second bus is available.
Parent Case Info
This is a continuation of application Ser. No. 08/639,184, filed Apr. 26, 1996, now abandoned, which is a continuation of application Ser. No. 08/246,776, filed May 20, 1994, U.S. Pat. No. 5,546,546.
US Referenced Citations (5)
Foreign Referenced Citations (1)
Number |
Date |
Country |
0 524 684 A2 |
Jan 1993 |
EPX |
Non-Patent Literature Citations (2)
Entry |
Popescu, Val, Merle Schultz, John Spracklen, Gary Gibosn, Bruce Lightner and David Isaman, "The Metaflow Architecture", IEEE Micro, Jun. 1991, pp. 10-13 and 63-73. |
Supplementary European Search Report dated Jul. 17, 1997 (2 pgs). |
Continuations (2)
|
Number |
Date |
Country |
Parent |
639184 |
Apr 1996 |
|
Parent |
246776 |
May 1994 |
|