Servicing cpu demand requests with inflight prefetches
OwnerOluleye Olorode, Ramakrishnan Venkatasubramanianinventors
Life of this patent
Estimating the term…
Abstract
Disclosed embodiments provide a technique in which a memory controller determines whether a fetch address is a miss in an L1 cache and, when a miss occurs, allocates a way of the L1 cache, determines whether the allocated way matches a scoreboard entry of pending service requests, and, when such a match is found, determine whether a request address of the matching scoreboard entry matches the fetch address. When the matching scoreboard entry also has a request address matching the fetch address, the scoreboard entry is modified to a demand request.
Claims20
A method, comprising:
- generating a service request to prefetch a set of data;
- storing an indication in a scoreboard to indicate that the service request is associated with a prefetch request;
- receiving a first demand request;
- determining whether the first demand request requests to fetch the set of data same as the service request;
- based on determining that the first demand request requests to fetch the set of data same as the service request, modifying the indication of the scoreboard to indicate that the service request is associated with a demand request;
- receiving the set of data in response to the service request;
- and
- processing the set of data as a return of a demand request.
A system, comprising:
- a processor core configurable to generate demand requests;
- and
- a memory controller configurable to:
- generate a service request to prefetch a set of data;
- store an indication in a scoreboard to indicate that the service request is associated with a prefetch request;
- receive a first demand request of the demand requests;
- determine whether the first demand request requests to fetch the set of data same as the service request;
- based on determining that the first demand request requests to fetch the set of data same as the service request, modify the indication of the scoreboard to indicate that the service request is associated with a demand request;
- receive the set of data in response to the service request;
- and
- provide the set of data to the processor core.
A system, comprising:
- a first cache;
- a second cache;
- and
- a memory controller configurable to:
- store an indication in a scoreboard to indicate that a service request is associated with a prefetch request to prefetch an instruction;
- receive a first demand request;
- determine that the first demand request misses in the first cache;
- based on determining that the first demand request misses in the first cache, determine whether the demand request requests to fetch the instruction same as the service request
- based on determining that the first demand request requests to fetch the instruction same as the service request, modify the indication of the scoreboard to indicate that the service request is associated with a demand request;
- and
- provide the service request to the second cache.
Dependencies are inferred from the claim text.