According to
the present invention a cache within a multiprocessor system is speculatively
filled. To speculatively fill a designated cache, the present invention first
determines an address which identifies information located in a main memory.
The address may also identify one or more other versions of the information
located in one or more caches. The process of filling the designated cache with
the information is started by locating the information in the main memory and
locating other versions of the information identified by the address in the
caches. The validity of the information located in the main memory is
determined after locating the other versions of the information. The process of
filling the designated cache with the information located in the main memory is
initiated before determining the validity of the information located in main
memory. Thus, the memory reference is speculative (Full Patent Here).