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.