Patent ID: 7788473

Claim:
A method for predicting a data value that will result from a load operation to be executed by a microprocessor, the method comprising: obtaining an address and branch history values of a new instruction from a program counter; accessing an entry in a load value prediction table using a key created based on the address and the branch history values of the new instruction to retrieve a predicted data value, prior to determining whether the new instruction comprises the load operation; storing the predicted data value in a physical storage destination of the microprocessor prior to determining whether the new instruction comprises the load operation, wherein the storage destination is a destination for a loaded data value resulting from executing the load operation, upon determining that the new instruction comprises the load operation, executing the new instruction using the predicted data value stored in the physical storage destination; wherein register renaming is used to provide a second physical register that stores one or more values that were stored in the storage destination prior to storing the predicted data value, and if a misprediction is determined to have occurred, the method further comprises checking a bit associated with the storage destination in which the predicted data value was stored to determine whether or not the predicted data value has already been used by one or more subsequent operations to the load operation to determine whether the subsequent operations are to be rolled back.