SNOOP-BASED PREFETCHING
First Claim
1. A processing system comprising:
- a memory;
a first core configured to process applications;
wherein the first core includes a first cache;
a mechanism configured to capture a sequence of addresses of the application that miss the first cache in the first core and to place the sequence of addresses in a storage array; and
a second core configured to process at least one software algorithm;
wherein the at least one software algorithm utilizes the sequence of addresses from the storage array to generate a sequence of prefetch addresses;
wherein the second core issues prefetch requests for the sequence of the prefetch addresses to the memory to obtain prefetched data and wherein the prefetched data is provided to the first core if requested.
1 Assignment
0 Petitions
Accused Products
Abstract
A processing system is disclosed. The processing system includes a memory and a first core configured to process applications. The first core includes a first cache. The processing system includes a mechanism configured to capture a sequence of addresses of the application that miss the first cache in the first core and to place the sequence of addresses in a storage array; and a second core configured to process at least one software algorithm. The at least one software algorithm utilizes the sequence of addresses from the storage array to generate a sequence of prefetch addresses. The second core issues prefetch requests for the sequence of the prefetch addresses to the memory to obtain prefetched data and the prefetched data is provided to the first core if requested.
42 Citations
22 Claims
-
1. A processing system comprising:
-
a memory; a first core configured to process applications;
wherein the first core includes a first cache;a mechanism configured to capture a sequence of addresses of the application that miss the first cache in the first core and to place the sequence of addresses in a storage array; and a second core configured to process at least one software algorithm;
wherein the at least one software algorithm utilizes the sequence of addresses from the storage array to generate a sequence of prefetch addresses;
wherein the second core issues prefetch requests for the sequence of the prefetch addresses to the memory to obtain prefetched data and wherein the prefetched data is provided to the first core if requested. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A system comprising:
-
at least one software prefetch algorithm configured to be executed on a first processor core of a central processing system; and a hardware support mechanism which interacts with the software algorithm to filter prefetch addresses associated with a second processor core running a main application and for retrieving the appropriate prefetch addresses. - View Dependent Claims (12, 13, 14, 15, 16)
-
-
17. A method comprising:
-
providing at least one software prefetch algorithm configured to be executed on a first processor core of a central processing system; and providing a hardware support mechanism which interacts with the software algorithm to filter prefetch addresses associated with a second processor core running a main application and for retrieving the appropriate prefetch addresses. - View Dependent Claims (18, 19, 20, 21, 22)
-
Specification