Prefetcher with out-of-order filtered prefetcher training queue
AssigneeSiFive, Inc.
InventorsBinayak Tiwari, Benoy Alexander, John Ingalls, Mohit Gopal Wani
Life of this patent
Estimating the term…
Abstract
Described is a system and method for implementing a prefetcher with an out-of-order filtered prefetcher training queue. A processing system includes a prefetcher and a prefetcher training queue connected to the prefetcher. The prefetcher training queue configured to receive one or more demand requests from one or more load-store units, allocate a prefetcher training queue entry for a non-duplicative demand request, and send, to the prefetcher, a stored demand request together with a hit or miss indicator, wherein the prefetcher training queue sends stored demand requests without regard to program order.
Claims20
A processing system comprising:
- a prefetcher;
- and
- a prefetcher training queue connected to the prefetcher, the prefetcher training queue configured to:
- receive one or more demand requests from one or more load-store units;
- store non-duplicative demand requests, wherein at least two of the non-duplicative demand requests are received out of order instead of program order and are stored in the prefetcher training queue in an order of being received instead of the program order and without being reordered, wherein the at least two of the non-duplicative demand requests are non-conforming to the program order absent reordering in the prefetcher training queue;
- allocate a prefetcher training queue entry for a stored non-duplicative demand request;
- and
- send, to the prefetcher, the stored non-duplicative demand request together with a hit or miss indicator, wherein the prefetcher training queue sends stored non-duplicative demand requests to the prefetcher without regard to the program order.
A method for out-of-order prefetcher training queue processing, the method comprising:
- receiving, by a prefetcher training queue, demand requests from load-store pipes;
- storing non-duplicative demand requests, wherein at least two of the non-duplicative demand requests are received out of order instead of program order and are stored in the prefetcher training queue in an order of being received instead of the program order and without being reordered, wherein the at least two of the non-duplicative demand requests are non-conforming to the program order absent reordering in the prefetcher training queue;
- allocating, by the prefetcher training queue, an entry for a stored non-duplicative demand request;
- and
- forwarding, to a prefetcher, the stored non-duplicative demand request together with a hit or miss indicator,
- wherein the forwarding is performed without regard to program order.
A prefetcher training queue comprising:
- N entries, the prefetcher training queue configured to:
- receive demand requests from a core;
- store non-duplicative demand requests, wherein at least two of the non-duplicative demand requests are received out of order instead of program order and are stored in the prefetcher training queue in an order of being received instead of the program order and without being reordered, wherein the at least two of the non-duplicative demand requests are non-conforming to the program order absent reordering in the prefetcher training queue;
- allocate a prefetcher training queue entry for a stored non-duplicative demand request;
- and
- send, to a prefetcher, the stored non-duplicative demand request together with a hit or miss indicator, wherein the prefetcher training queue sends stored non-duplicative demand requests to the prefetcher without regard to program order.
Dependencies are inferred from the claim text.