Cross dependency checking logic
First Claim
Patent Images
1. A coherence point comprising:
- a queue configured to store a plurality of outstanding transactions;
a level two (L2) duplicate tag unit; and
a dependency logic unit coupled to the queue, wherein the dependency logic unit comprises circuitry configured to;
search the queue for outstanding transactions that reference a first address responsive to receiving a first transaction at the coherence point, wherein the first transaction includes a request address equal to the first address; and
mark the first transaction as dependent on a second transaction responsive to determining the second transaction is a most recently received transaction in the queue that references the first address;
wherein the coherence point is configured to prevent the first transaction from searching the L2 duplicate tags until the second transaction is completed.
1 Assignment
0 Petitions
Accused Products
Abstract
Systems and methods for maintaining an order of transactions in the coherence point. The coherence point stores attributes associated with received transactions in an input request queue (IRQ). When a new transaction is received by the coherence point, the IRQ is searched for other entries with the same request address or the same victim address as the new transaction. If one or more matches are found, the new transaction entry points to the entry storing the most recently received transaction with the same address. The new transaction is stalled until the transaction it points to has been completed in the coherence point.
-
Citations
21 Claims
-
1. A coherence point comprising:
-
a queue configured to store a plurality of outstanding transactions; a level two (L2) duplicate tag unit; and a dependency logic unit coupled to the queue, wherein the dependency logic unit comprises circuitry configured to; search the queue for outstanding transactions that reference a first address responsive to receiving a first transaction at the coherence point, wherein the first transaction includes a request address equal to the first address; and mark the first transaction as dependent on a second transaction responsive to determining the second transaction is a most recently received transaction in the queue that references the first address; wherein the coherence point is configured to prevent the first transaction from searching the L2 duplicate tags until the second transaction is completed. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method comprising:
-
receiving a first transaction with a first request address and a first victim address at a coherence point, wherein the coherence point includes level two (L2) duplicate tags; searching a queue for any transactions with the first request address or the first victim address in any address field, wherein the queue is configured to store entries corresponding to a plurality of outstanding transactions; identifying a most recently received transaction in the queue that references either the first request address or the first victim address; marking the first transaction as dependent on the most recently received transaction in the queue that references either the first request address or the first victim address; stalling the first transaction until the most recently received transaction that references either the first request address or the first victim address is completed in the coherence point; preventing the first transaction from searching the L2 duplicate tags until the most recently received transaction in the queue that references either the first request address or the first victim address is completed. - View Dependent Claims (8, 9, 10, 11)
-
-
12. A method comprising:
-
receiving a first transaction at a coherence point, wherein the first transaction references a first address; searching a queue for any transactions that reference the first address, wherein the queue comprises a plurality of entries configured to store an outstanding transaction, and wherein each entry includes an address dependency head pointer field; storing the first transaction in a first entry of the queue; setting a first head pointer of the first entry to point to the first entry of the queue responsive to finding no transactions that reference the first address in the queue; and setting the first head pointer of the first entry to point to a second entry of the queue that stores a second transaction, responsive to determining the second transaction is a most recently received transaction in the queue that references the first address. - View Dependent Claims (13, 14, 15, 16, 17)
-
-
18. An apparatus comprising a coherence point, wherein the coherence point comprises:
-
a queue comprising a plurality of entries, wherein each entry is configured to store an outstanding transaction and includes an address dependency head pointer field; and an address dependency logic unit coupled to the queue; wherein the coherence point is configured to; search one or more address fields of each entry of the queue for matches to any of one or more first addresses, responsive to receiving a new transaction with the one or more first addresses; identify a most recently received transaction in the queue with an address field that matches any of the one or more first addresses; store the new transaction in a first entry of the queue; update a head pointer field of the first entry to point to a second entry of the queue, wherein the second entry stores the most recently received transaction in the queue with an address field that matches any of the one or more first addresses; and stall the new transaction until the most recently received transaction in the queue with an address field that matches any of the one or more addresses has been completed in the coherence point. - View Dependent Claims (19, 20, 21)
-
Specification