Patent ID: 7506106
Filing Date: 2009-03-17
Classification: G06F

Abstract:
1. A method for prefetching a data stream into a microprocessor, comprising: decoding a prefetch instruction specifying a data stream, said prefetch instruction also specifying an indicator for specifying whether a speculative load instruction hitting in the data stream triggers prefetching of the data stream; decoding a load instruction that specifies an address within the data stream; determining whether the load instruction is speculative; prefetching, if the load instruction is not speculative, a portion of the data stream into the microprocessor; and selectively prefetching, if the load instruction is speculative, a portion of the data stream into the microprocessor based on whether said indicator specifies that a speculative load instruction hitting in the data stream triggers prefetching of the data stream, wherein the load instruction is speculative if it is not guaranteed to complete execution by the microprocessor, and wherein the load instruction is not guaranteed to complete because it follows a branch instruction whose outcome has been predicted and which has not yet been determined to be a correct predicted outcome.