FILTERING PRE-FETCH REQUESTS TO REDUCE PRE-FETCHING OVERHEAD
First Claim
1. A computer-implemented method for filtering pre-fetch requests to reduce pre-fetching overhead, the method comprising:
- executing an instruction that involves a memory reference which is directed to a cache line in a cache;
determining that the memory reference will miss in the cache; and
determining whether the instruction frequently leads to cache misses, and if so, issuing a pre-fetch request for one or more additional cache lines.
1 Assignment
0 Petitions
Accused Products
Abstract
The disclosed embodiments provide a system that filters pre-fetch requests to reduce pre-fetching overhead. During operation, the system executes an instruction that involves a memory reference that is directed to a cache line in a cache. Upon determining that the memory reference will miss in the cache, the system determines whether the instruction frequently leads to cache misses. If so, the system issues a pre-fetch request for one or more additional cache lines. Otherwise, no pre-fetch request is sent. Filtering pre-fetch requests based on instructions'"'"' likelihood to miss reduces pre-fetching overhead while preserving the performance benefits of pre-fetching.
59 Citations
20 Claims
-
1. A computer-implemented method for filtering pre-fetch requests to reduce pre-fetching overhead, the method comprising:
-
executing an instruction that involves a memory reference which is directed to a cache line in a cache; determining that the memory reference will miss in the cache; and determining whether the instruction frequently leads to cache misses, and if so, issuing a pre-fetch request for one or more additional cache lines. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A computer system that filters pre-fetch requests to reduce pre-fetching overhead, comprising:
-
a processor; a cache; and a memory; wherein the cache and the memory are part of a multi-level memory hierarchy; and wherein while executing an instruction that involves a memory reference which is directed to a cache line in the cache, upon determining that the memory reference will miss in the cache, the processor is configured to determine whether the instruction frequently leads to cache misses, and if so, issue a pre-fetch request for one or more additional cache lines. - View Dependent Claims (15, 16, 17, 18, 19)
-
-
20. A processor that filters pre-fetch requests to reduce pre-fetching overhead, comprising:
-
a cache, wherein the cache is part of a multi-level memory hierarchy; an executing mechanism configured to execute an instruction that involves a memory reference which is directed to a cache line in the cache; a determining mechanism configured to determine that the memory reference will miss in the cache; and a speculation mechanism configured to determine whether the instruction frequently leads to cache misses, and if so, issue a pre-fetch request for one or more additional cache lines.
-
Specification