ADAPTIVE DATA PREFETCHING
First Claim
1. A method, comprising:
- determining a value for a stride length (L) in response to detecting a stride pattern in memory operations;
prefetching data for expected memory operations based on a prefetch address determined based on a base memory address, the stride length L, and a prefetch distance (D), wherein the prefetch address is given by a sum of the base memory address and a product (L×
D);
maintaining a miss prefetch count (C) indicative of a number of prefetch misses; and
based on the value of the miss prefetch count C, modifying the prefetch distance D.
2 Assignments
0 Petitions
Accused Products
Abstract
A system and method for adaptive data prefetching in a processor enables adaptive modification of parameters associated with a prefetch operation. A stride pattern in successive addresses of a memory operation may be detected, including determining a stride length (L). Prefetching of memory operations may be based on a prefetch address determined from a base memory address, the stride length L, and a prefetch distance (D). A number of prefetch misses may be counted at a miss prefetch count (C). Based on the value of the miss prefetch count C, the prefetch distance D may be modified. As a result of adaptive modification of the prefetch distance D, an improved rate of cache hits may be realized.
32 Citations
25 Claims
-
1. A method, comprising:
-
determining a value for a stride length (L) in response to detecting a stride pattern in memory operations; prefetching data for expected memory operations based on a prefetch address determined based on a base memory address, the stride length L, and a prefetch distance (D), wherein the prefetch address is given by a sum of the base memory address and a product (L×
D);maintaining a miss prefetch count (C) indicative of a number of prefetch misses; and based on the value of the miss prefetch count C, modifying the prefetch distance D. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A processor, comprising:
a data prefetch unit to; determine a stride length (L) in response to detecting a stride pattern in memory operations; prefetch for expected memory operations based on a prefetch address determined based on a base memory address, the stride length L, and a prefetch distance (D), wherein the prefetch address is given by a sum of the base memory address and a product (L×
D);maintain a miss prefetch count (C) indicative of a number of prefetch misses; and when the miss prefetch count C equals a count threshold (T), modify the prefetch distance D. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17)
-
18. A system comprising:
-
a processor; a memory accessible to the processor; a touchscreen controller; and wherein the processor includes an adaptive data prefetch unit to; determine a value for a stride length (L) responsive to detecting a stride pattern in memory operations; prefetch for expected memory operations based on a prefetch address determined based on a base memory address, using the stride length L, and a prefetch distance (D), wherein the prefetch address is given by a sum of the base memory address and a product (L×
D);count a number of prefetch misses as a miss prefetch count (C); and when the miss prefetch count C equals a count threshold (T), modify the prefetch distance D. - View Dependent Claims (19, 20, 21, 22, 23, 24, 25)
-
Specification