Circuit and method for tagging and invalidating speculatively executed instructions
AssigneeAdvanced Micro Devices, Inc.
InventorCreigton Asato
Life of this patent
Estimating the term…
Loading patent…
AssigneeAdvanced Micro Devices, Inc.
InventorCreigton Asato
Estimating the term…
A method and circuit is disclosed for tagging and invalidating speculatively executed instructions. The method includes fetching a first plurality of instructions which includes a conditional branch instruction which identifies a target address if the branch is taken. The conditional branch instruction is detected and in response thereto first and second instruction tags are generated. At least a first instruction is tagged with the first instruction tag wherein the first instruction is included in the first plurality of instructions and wherein the first instruction sequentially follows the first conditional branch instruction in program order. Thereafter, a second plurality of instructions are fetched wherein the second plurality of instructions corresponds to the target address of the conditional branch instruction. At least one of these second plurality of instructions is tagged with the second instruction tag. Thereafter, the conditional branch instruction is executed and resolved. A branch status operand is generated in response to executing the conditional branch instruction wherein the branch status operand indicates whether the conditional branch instruction is resolved as taken or not taken. The generated branch status operand is compared against the first and second instruction tags. In response to comparing the branch status operand, one of the first and second instructions is invalidated indicating that it was within the wrong program path of execution.
A method of tagging speculatively issued instructions within a microprocessor comprising:
A method comprising:
A microprocessor comprising:
Dependencies are inferred from the claim text.