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.