Patent ID: 6970997

Claim:
A processor having a function for executing memory operation instructions in out-of-order execution by means of speculative execution with regard to dependence relationships between the memory operation instructions, comprising: address conversion means for converting a target address of a memory operation instruction into a corresponding entry number allowing the existence of aliases; speculative execution result history storage means for storing history information concerning success/failure results of speculative execution of memory operation instructions of the past, with regard to each of a plurality of entry numbers; speculative execution success/failure prediction means for predicting whether speculative execution of a particular memory operation instruction that is going to be carried out will succeed or fail by referring to an entry of the speculative execution result history storage means corresponding to an entry number that is obtained by the address conversion means for a target address of the particular memory operation instruction; instruction execution means for executing the memory operation instructions; speculation control means for letting the instruction execution means execute the particular memory operation instruction in out-of-order execution by means of speculative execution if the prediction by the speculative execution success/failure prediction means is success while letting the instruction execution means execute the particular memory operation instruction in in-order execution by means of non-speculative execution if the prediction by the speculative execution success/failure prediction means is failure; speculative execution success/failure judgment means for judging whether speculative execution of the memory operation instructions has succeeded or failed by detecting the dependence relationships between the memory operation instructions; and speculative execution result history update means for updating the history information stored in the speculative execution result history storage means taking the judgment by the speculative execution success/failure judgment means into account.