Victim cache that supports draining write-miss entries
US-2024264952-A1 · Aug 8, 2024 · US
US10489293B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10489293-B2 |
| Application number | US-42428409-A |
| Country | US |
| Kind code | B2 |
| Filing date | Apr 15, 2009 |
| Priority date | Apr 15, 2009 |
| Publication date | Nov 26, 2019 |
| Grant date | Nov 26, 2019 |
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.
An information handling system (IHS) includes a processor with a cache memory system. The processor includes a processor core with an L1 cache memory that couples to an L2 cache memory. The processor includes an arbitration mechanism that controls load and store requests to the L2 cache memory. The arbitration mechanism includes control logic that enables a load request to interrupt a store request that the L2 cache memory is currently servicing. When the L2 cache memory finishes servicing the interrupting load request, the L2 cache memory may return to servicing the interrupted store request at the point of interruption.
Opening claim text (preview).
What is claimed is: 1. A method, implemented within a chiplet of a processor integrated circuit, comprising: requesting, by a processor element of the chiplet, access to a cache memory to conduct operations in the cache memory, the operations including load operations and store operations; interrupting, by control logic of the chiplet, a store operation in progress in the cache memory when the processor element sends a load operation to the cache memory; performing, by the cache memory of the chiplet, the load operation; and scheduling, by the control logic of the chiplet, the store operation for access to the cache memory to conduct a remainder of the store operation after the load operation completes, wherein the chiplet comprises: cache arbiter logic that is configured to schedule access operations for accessing the cache memory; directory arbiter logic, coupled to the cache arbiter logic, that is configured to access a directory that stores address and state information for cache lines in the cache memory; core interface unit control logic, coupled to the cache arbiter logic and directory arbiter logic, that is configured to receive load requests from a core load request bus associated with the processor element; and store queue control logic, coupled to the cache arbiter logic, the directory arbiter logic, and the core interface unit control logic, that is configured to receive store requests from a core store bus associated with the processor element, and wherein: the core interface unit control logic and the directory arbiter logic perform a first set of first stage arbitration operations, the cache arbiter logic and the store queue control logic perform a second set of first stage arbitration operations, results of the second set of first stage arbitration operations are provided to second stage arbitration logic, and interrupting the store operation in progress in the cache memory when the processor element sends a load operation to the cache memory comprises sending results of the first set of first stage arbitration operations directly to third stage arbitration logic thereby bypassing the second stage arbitration logic. 2. The method of claim 1 , wherein the third stage arbitration logic is configured to select a load request submitted by the core interface unit control logic, provided in an output of the first set of first stage arbitration operations, for immediate access to the directory ahead of any requests selected by the store queue control logic, the cache arbiter logic, or the directory arbiter logic. 3. The method of claim 1 , wherein the chiplet further comprises read claim (RC) dispatch control logic that is configured to dispatch load and store requests to at least one of a plurality of RC state machines or a plurality of cast out (CO) state machines, and wherein the cache arbiter logic arbitrates between a plurality of requests in the plurality of RC state machines and a plurality of requests in the plurality of CO state machines to generate a single output of a selected request that is output to the second stage arbitration logic, and wherein the store queue control logic arbitrates between a plurality of store requests to select a single selected store request to be output to the second stage arbitration logic. 4. The method of claim 1 , wherein the chiplet further comprises read claim (RC) dispatch control logic, that is configured to dispatch load and store requests to at least one of a plurality of RC state machines or a plurality of cast out (CO) state machines, and further comprises a plurality of snoop state machines, and wherein the directory arbiter logic arbitrates between the plurality of requests of the plurality of RC state machines and the plurality of snoop state machines to generate a single selected request output to the third state arbitration logic. 5. The method of claim 1 , wherein the third stage arbitration logic outputs a selected request to sequencer logic for sequencing of load requests and store requests in a sequential order, and wherein scheduling the store operation for access to the cache memory to conduct a remainder of the store operation after the load operation completes comprises utilizing the sequencer logic to place the store operation after the load operation in the sequential order. 6. A method, implemented within a chiplet of a processor integrated circuit, comprising: sending, by a processor element of the chiplet, a plurality of requests for memory operations to a cache memory of the chiplet, the memory operations including load operations and store operations; receiving, by control logic for the cache memory, a request for a first load operation; performing, by the cache memory, the first load operation that the request for the first load operation specifies; receiving, by the control logic for the cache memory, a request for a first store operation; commencing, by the cache memory, performance of the first store operation that the request for the first store operation specifies such that the first store operation is in progress; receiving, by the cache memory, a request for a second load operation while the first store operation is in progress in the cache memory; and interrupting, by the control logic, the in progress first store operation to perform the second load operation, wherein the chiplet comprises: cache arbiter logic that is configured to schedule access operations for accessing the cache memory; directory arbiter logic, coupled to the cache arbiter logic, that is configured to access a directory that stores address and state information for cache lines in the cache memory; core interface unit control logic, coupled to the cache arbiter logic and directory arbiter logic, that is configured to receive load requests from a core load request bus associated with the processor element; and store queue control logic, coupled to the cache arbiter logic, the directory arbiter logic, and the core interface unit control logic, that is configured to receive store requests from a core store bus associated with the processor element, and wherein: the core interface unit control logic and the directory arbiter logic perform a first set of first stage arbitration operations, the cache arbiter logic and the store queue control logic perform a second set of first stage arbitration operations, results of the second set of first stage arbitration operations are provided to second stage arbitration logic, and interrupting the in progress first store operation to perform the second load operation comprises sending results of the first set of first stage arbitration operations, the results comprising the request for the second load operation, directly to third stage arbitration logic thereby bypassing the second stage arbitration logic. 7. The method of claim 6 , wherein the third stage arbitration logic is configured to select a load request submitted by the core interface unit control logic, provided in an output of the first set of first stage arbitration operations, for immediate access to the directory ahead of any requests selected by the store queue control logic, the cache arbiter logic, or the directory arbiter logic. 8. The method of claim 6 , wherein the chiplet further comprises read claim (RC) dispatch control logic that is configured to dispatch load and store requests to at least one of a plurality of RC state machines or a plurality of cast out (CO) state machines, and wherein the cache arbiter logic arbitrates between a plurality of requests in the plurality of RC state machines and a plurality of requests in the plurality of CO state machines to generate a single output of a selected request that is output to the second stage arbitration logic, and wherein th
Overlapped cache accessing, e.g. pipeline (G06F12/0846 takes precedence) · CPC title
with special data handling, e.g. priority of data or instructions, handling errors or pinning · CPC title
Energy efficient computing, e.g. low power processors, power management or thermal management · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.