Method and apparatus for initiating CPU data prefetches by an external agent
First Claim
1. An apparatus for initiating CPU data prefetches, comprising:
- a target agent to execute a program;
an external source agent to supply at least a portion of data for the target agent to execute the program, and when having new data, to create and issue a prefetch directive; and
a hardware prefetcher associated with the target agent to issue a request to prefetch the new data from a memory to a target cache when the prefetch directive is received.
1 Assignment
0 Petitions
Accused Products
Abstract
An arrangement is provided for an external agent to initiate data prefetches from a system memory to a cache associated with a target processor, which needs the data to execute a program, in a computing system. When the external agent has data, it may create and issue a prefetch directive. The prefetch directive may be sent along with system interconnection transactions or sent as a separate transaction to devices including the target processor in the system. When receiving and recognizing the prefetch directive, a hardware prefetcher associated with the target processor may issue a request to the system memory to prefetch data to the cache. The target processor can access data in the cache more efficiently than it accesses data in the system memory. Some pre-processing may also be associated with the data prefetch.
-
Citations
53 Claims
-
1. An apparatus for initiating CPU data prefetches, comprising:
-
a target agent to execute a program; an external source agent to supply at least a portion of data for the target agent to execute the program, and when having new data, to create and issue a prefetch directive; and a hardware prefetcher associated with the target agent to issue a request to prefetch the new data from a memory to a target cache when the prefetch directive is received. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A method for initiating CPU data prefetches, comprising:
-
executing a program by a target agent; obtaining new data by an external source agent, the new data needed for the target agent to run the program; creating and issuing a prefetch directive when the new data is obtained by the external source agent; and issuing a request to prefetch the new data into a target cache, when the prefetch directive is received. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25, 26)
-
-
27. An article comprising a machine readable medium having stored thereon a prefetch directive, the prefetch directive comprising:
-
a first field including a message opcode to identify the prefetch directive; a second field including a source address to indicate where in the memory data is to be prefetched; and a third field including routing information to help route the prefetch directive to a target and data to at least one of a memory and a target cache, the target associated with the target cache. - View Dependent Claims (28, 29, 30)
-
-
31. A processor, comprising:
-
a prefetcher to fetch data; and a prefetch directive receiving mechanism, coupled to the prefetcher, to recognize and receive an external prefetch directive message from another agent, the external prefetch directive message indicating a first address and signaling to the prefetcher to cause the prefetcher to fetch data associated with the first address. - View Dependent Claims (32, 33, 34, 35, 36, 37, 38)
-
-
39. A computing system, comprising:
-
a target processor to execute a program; an external agent to supply at least a portion of data for the target agent to execute the program, and when having new data, to initiate data prefetch from a memory to a cache, the cache associated with the target processor; and a supporting platform to provide interfaces between the target processor and the external agent and to facilitate data move among the target processor, the external agent, the cache, and the memory; wherein the target processor has faster access to data in the cache than access to data in the memory. - View Dependent Claims (40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50)
-
-
51. An article comprising a machine readable medium having stored thereon data which, when accessed by a processor in conjunction with simulation routines, provides functionality of a model including:
-
a target agent to execute a program; an external source agent to supply at least a portion of data for the target agent to execute the program, and when having new data, to create and issue a prefetch directive; and a hardware prefetcher associated with the target agent, when receiving and recognizing the prefetch directive, to issue a request to prefetch the new data from a memory to a target cache; wherein the target agent has more efficient access to data in the target cache than access to data in the memory. - View Dependent Claims (52, 53)
-
Specification