STRIDE PREFETCHING ACROSS MEMORY PAGES
First Claim
Patent Images
1. A method comprising:
- identifying, at a processor, a first stride value based on a first memory access request to a first memory page;
in response to a sum of the first stride value and a memory address of the first memory access exceeding a page boundary of the first memory page, maintaining a first prefetch confidence associated with the first memory access; and
in response to a second memory access to a second memory page subsequent to the first memory access, prefetching data from the memory based on the maintained first prefetch confidence.
1 Assignment
0 Petitions
Accused Products
Abstract
A prefetcher maintains the state of stored prefetch information, such as a prefetch confidence level, when a prefetch would cross a memory page boundary. The maintained prefetch information can be used both to identify whether the stride pattern for a particular sequence of demand requests persists after the memory page boundary has been crossed, and to continue to issue prefetch requests according to the identified pattern. The prefetcher therefore does not have re-identify a stride pattern each time a page boundary is crossed by a sequence of demand requests, thereby improving the efficiency and accuracy of the prefetcher.
27 Citations
20 Claims
-
1. A method comprising:
-
identifying, at a processor, a first stride value based on a first memory access request to a first memory page; in response to a sum of the first stride value and a memory address of the first memory access exceeding a page boundary of the first memory page, maintaining a first prefetch confidence associated with the first memory access; and in response to a second memory access to a second memory page subsequent to the first memory access, prefetching data from the memory based on the maintained first prefetch confidence. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method, comprising:
in response to a first memory access to a first memory page; identifying a first stride for a first prefetch stream associated with the first memory access; and in response to a sum of the stride and a first memory address for the first memory access exceeding a page boundary of the first memory page, maintaining a stored prefetch confidence for the first prefetch stream, the stored prefetch confidence indicative of a threshold to identify whether data is to be prefetched from a memory. - View Dependent Claims (10, 11, 12, 13, 14)
-
15. A device, comprising:
-
a processor core to generate a plurality of memory access requests comprising a first memory access request and a second memory access request subsequent to the first memory access request; a prefetch table to store prefetch state information for the plurality of memory access requests including a first prefetch confidence; and a prefetcher to; identify a first stride value based on the first memory access request accessing a first memory page; in response to a sum of the first stride value and a memory address of the first memory access exceeding a page boundary of the first memory page, maintaining the first prefetch confidence at the prefetch table; and in response to the second memory access request accessing a second memory page, prefetching data from the memory based on the maintained first prefetch confidence. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification