Patent ID: 7219216
Filing Date: 2007-05-15
Classification: G06F

Abstract:
1. A method comprising: assigning a first tag to instructions in a program order until a branch delay slot instruction is identified, the branch delay slot instruction being an instruction following a branch instruction; determining if the branch instruction is a branch likely or not a branch likely instruction; assigning the first tag to the branch delay slot instruction if the branch instruction is not a branch likely instruction, but assigning a second tag to the branch delay slot instruction if the branch instruction is a branch likely instruction; assigning the second tag to subsequent instructions following the branch delay slot instruction until another branch delay slot instruction is identified; comparing the first tag of the branch instruction with tags assigned to other instructions following the branch instruction, if a misprediction of the branch instruction is identified; and canceling instructions having the second tag in response to the misprediction of the branch instruction, in which the branch delay slot instruction is also canceled only if it has the second tag.