FILTERING OUT REDUNDANT SOFTWARE PREFETCH INSTRUCTIONS
First Claim
1. A method for selectively filtering out redundant software prefetch instructions during execution of a program on a processor, comprising:
- during execution of the program,collecting information associated with hit rates for individual software prefetch instructions as the individual software prefetch instructions are executed, wherein a software prefetch instruction is redundant if the software prefetch instruction accesses a cache line that has already been fetched from memory; and
as software prefetch instructions are encountered during execution of the program, selectively filtering out the individual software prefetch instructions that are likely to be redundant based on the collected information, so that likely redundant software prefetch instructions are not executed by the processor.
1 Assignment
0 Petitions
Accused Products
Abstract
The disclosed embodiments relate to a system that selectively filters out redundant software prefetch instructions during execution of a program on a processor. During execution of the program, the system collects information associated with hit rates for individual software prefetch instructions as the individual software prefetch instructions are executed, wherein a software prefetch instruction is redundant if the software prefetch instruction accesses a cache line that has already been fetched from memory. As software prefetch instructions are encountered during execution of the program, the system selectively filters out individual software prefetch instructions that are likely to be redundant based on the collected information, so that likely redundant software prefetch instructions are not executed by the processor.
17 Citations
20 Claims
-
1. A method for selectively filtering out redundant software prefetch instructions during execution of a program on a processor, comprising:
during execution of the program, collecting information associated with hit rates for individual software prefetch instructions as the individual software prefetch instructions are executed, wherein a software prefetch instruction is redundant if the software prefetch instruction accesses a cache line that has already been fetched from memory; and as software prefetch instructions are encountered during execution of the program, selectively filtering out the individual software prefetch instructions that are likely to be redundant based on the collected information, so that likely redundant software prefetch instructions are not executed by the processor. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
8. A processor that selectively filters out redundant software prefetch instructions during execution of a program, comprising:
-
an instruction cache; a data cache; and an execution mechanism including an execution pipeline, wherein during execution of the program, the execution mechanism is configured to, collect information associated with hit rates for individual software prefetch instructions as the individual software prefetch instructions are executed, wherein a software prefetch instruction is redundant if the software prefetch instruction accesses a cache line that has already been fetched from memory; and as software prefetch instructions are encountered during execution of the program, selectively filter out the individual software prefetch instructions that are likely to be redundant based on the collected information, so that likely redundant software prefetch instructions are not executed by the processor. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A computer system that selectively filters out redundant software prefetch instructions during execution of a program, comprising:
-
a processor; a memory; an instruction cache within the processor; a data cache within the processor; and an execution mechanism including an execution pipeline within the processor, wherein during execution of the program, the execution mechanism is configured to, collect information associated with hit rates for individual software prefetch instructions as the individual software prefetch instructions are executed, wherein a software prefetch instruction is redundant if the software prefetch instruction accesses a cache line that has already been fetched from memory; and as software prefetch instructions are encountered during execution of the program, selectively filter out the individual software prefetch instructions that are likely to be redundant based on the collected information, so that likely redundant software prefetch instructions are not executed by the processor. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification