In a conventional information processor that performs speculative execution
of a following instruction having a data dependency, since an arithmetic
and logical unit is used in performing the speculative execution and the
same ALU is used again when the prediction is wrong, the frequency of use
of the ALU increases.
To prevent this, a history ALU for outputting a past execution result of an
instruction, as it is, as an execution result of the instruction and an
instruction issue circuit for issuing an instruction whose operand is the
same as a past value to the history ALU are provided with an intention of
omitting the actual speculative execution. A Guard cache provided in the
history cache stores addresses of instructions that give low prediction
accuracy, whereby any instruction whose address has been registered in the
Guard cache is prevented from being registered again in the history cache.
In einem herkömmlichen Informationen Prozessor, der spekulative Durchführung einer folgenden Anweisung durchführt, die hat, wird eine Datenabhängigkeit, seit einer Arithmetik und einer logischen Maßeinheit verwendet, wenn man die spekulative Durchführung durchführt und das gleiche ALU wird wieder, wenn die Vorhersage falsch ist, die Benutzungshäufigkeit des ALU sich erhöht verwendet. Dieses verhindern, eine Geschichte ALU für das Ausgeben von von a hinter Durchführung Resultat einer Anweisung, während sie ist, während ein Durchführung Resultat der Anweisung und eine Anweisung Stromkreis für die Ausgabe einer Anweisung herausgeben deren Rechengröße dieselbe ist, die a hinter Wert zur Geschichte ALU mit einer Absicht des Auslassens der tatsächlichen spekulativen Durchführung versehen werden. Ein Schutzpufferspeicher bereitgestellt worden in den Geschichte Pufferspeicherspeicheradressen der Anweisungen, die niedrige Vorhersagegenauigkeit geben, hingegen jede mögliche Anweisung deren Adresse im Schutzpufferspeicher registriert worden ist, an im Geschichte Pufferspeicher wieder registriert werden verhindert wird.