Data processing apparatus and method for performing load-exclusive and store-exclusive operations
US-9223701-B2 · Dec 29, 2015 · US
US9619303B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9619303-B2 |
| Application number | US-201214368474-A |
| Country | US |
| Kind code | B2 |
| Filing date | Apr 11, 2012 |
| Priority date | Apr 11, 2012 |
| Publication date | Apr 11, 2017 |
| Grant date | Apr 11, 2017 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A controller has a cache to store data associated with an address that is subject to conflict resolution. A conflict resolution queue stores information relating to plural transactions, and logic reprioritizes the plural transactions in the conflict resolution queue to change a priority of a first type of transaction with respect to a priority of second type of transaction.
Opening claim text (preview).
What is claimed is: 1. A method, comprising: receiving an incoming transaction; determining if the incoming transaction has an address conflict with any in-progress transaction or a pending transaction in a conflict resolution queue; if the incoming transaction has an address conflict and is a remote write transaction, processing the incoming transaction; if the incoming transaction has an address conflict and is not a remote write transaction, adding the incoming transaction to the conflict resolution queue; for each respective transaction in the conflict resolution queue, including the incoming transaction: if the respective transaction does not have an address conflict with any in-progress transaction and the respective transaction is not a local snoop transaction, processing the respective transaction; if the respective transaction is a local snoop transaction and a defer time of the local snoop transaction is greater than a threshold or there is no conflicting read transaction in the conflict resolution queue, processing the respective transaction; and if the respective transaction is a local snoop transaction and the defer time of the local snoop transaction is less than the threshold and there is a conflicting read transaction in the conflict resolution queue, incrementing the defer time of the respective transaction and retaining the respective transaction in the conflict resolution queue. 2. The method of claim 1 , wherein processing the respective transaction comprises returning remote read data from a conflict data cache without sending the respective transaction to a memory controller. 3. The method of claim 1 , wherein if the incoming transaction has an address conflict and is a remote write transaction, processing the incoming transaction comprises writing data to a conflict data cache. 4. A system comprising: a processor comprising a memory controller; a memory to store data accessible by the memory controller; a local agent controller separate from the memory and coupled to the memory controller, the local agent controller to: receive an incoming transaction; determine if the incoming transaction has an address conflict with any in-progress transaction or a pending transaction in a conflict resolution queue; if the incoming transaction has an address conflict and is a remote write transaction, process the incoming transaction; if the incoming transaction has an address conflict and is not a remote write transaction, add the incoming transaction to the conflict resolution queue; for each respective transaction in the conflict resolution queue, including the incoming transaction: if the respective transaction does not have an address conflict with any in-progress transaction and the respective transaction is not a local snoop transaction, process the respective transaction; if the respective transaction is a local snoop transaction and a defer time of the local snoop transaction is greater than a threshold or there is no conflicting read transaction in the conflict resolution queue, process the respective transaction; and if the respective transaction is a local snoop transaction and the defer time of the local snoop transaction is less than the threshold and there is a conflicting read transaction in the conflict resolution queue, increment the defer time of the respective transaction and retain the respective transaction in the conflict resolution queue. 5. The system of claim 4 , wherein the local agent controller is to process the respective transaction by returning remote read data from a conflict data cache without sending the respective transaction to a memory controller. 6. The system of claim 4 , wherein the local agent controller is to process the incoming transaction by writing data to a conflict data cache if the incoming transaction has an address conflict and is a remote write transaction. 7. A local agent controller comprising logic to: receive an incoming transaction; determine if the incoming transaction has an address conflict with any in-progress transaction or a pending transaction in a conflict resolution queue; if the incoming transaction has an address conflict and is a remote write transaction, process the incoming transaction; if the incoming transaction has an address conflict and is not a remote write transaction, add the incoming transaction to the conflict resolution queue; for each respective transaction in the conflict resolution queue, including the incoming transaction: if the respective transaction does not have an address conflict with any in-progress transaction and the respective transaction is not a local snoop transaction, process the respective transaction; if the respective transaction is a local snoop transaction and a defer time of the local snoop transaction is greater than a threshold or there is no conflicting read transaction in the conflict resolution queue, process the respective transaction; and if the respective transaction is a local snoop transaction and the defer time of the local snoop transaction is less than the threshold and there is a conflicting read transaction in the conflict resolution queue, increment the defer time of the respective transaction and retain the respective transaction in the conflict resolution queue. 8. The local agent controller of claim 7 , comprising further logic to process the respective transaction by returning remote read data from a conflict data cache without sending the respective transaction to a memory controller. 9. The local agent controller of claim 7 , comprising further logic to process the incoming transaction by writing data to a conflict data cache if the incoming transaction has an address conflict and is a remote write transaction.
for main memory peripheral accesses (e.g. I/O or DMA) · CPC title
using a bus scheme, e.g. with bus monitoring or watching means · CPC title
Latency reduction · CPC title
Instruction code · CPC title
by using speculative mechanisms · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.