Back to results
US 12,112,173 B2Granted
Context-based loop branch prediction
AssigneeIntel Corporation
InventorsKe Sun, Rodrigo Branco, Kekai Hu
Life of this patent
Estimating the term…
Abstract
An embodiment of an integrated circuit may comprise a branch predictor to predict whether a conditional branch is taken for one or more instructions, the branch predictor including circuitry to identify a loop branch instruction in the one or more instructions, and provide a branch prediction for the loop branch instruction based on a context of the loop branch instruction. Other embodiments are disclosed and claimed.
Claims14
An integrated circuit, comprising:
- a branch predictor to predict whether a conditional branch is taken for one or more instructions, the branch predictor including circuitry to:
- identify a loop branch instruction in the one or more instructions, wherein an operand of the loop branch instruction comprises a loop-control variable;
- speculatively calculate a first value of the loop-control variable for a next iteration of the loop branch instruction, comprising extrapolating the first value based on respective values of the loop-control variable from a current iteration of the loop branch instruction and a previous iteration of the loop branch instruction;
- and
- provide a branch prediction for the loop branch instruction based on a context of the first value.
2 more elements
A method, comprising:
- processing one or more instructions by a branch prediction unit;
- identifying a loop branch instruction in the one or more instructions, wherein an operand of the loop branch instruction comprises a loop-control variable;
- speculatively calculating a first value of the loop-control variable for a next iteration of the loop branch instruction, comprising extrapolating the first value based on respective values of the loop-control variable from a current iteration of the loop branch instruction and a previous iteration of the loop branch instruction;
- and
- providing a branch prediction for the loop branch instruction based on the first value.
2 more elements
An electronic apparatus, comprising:
- a front end unit to fetch and decode one or more instructions;
- and
- an execution unit communicatively coupled to the front end unit to execute the one or more instructions and provide information to the front end unit,
- wherein the front end unit includes a branch prediction unit to predict whether a branch is taken for the one or more instructions, the branch prediction unit including circuitry to:
- identify a loop branch instruction in the one or more instructions, wherein an operand of the loop branch instruction comprises a loop-control variable;
- speculatively calculate a first value of the loop-control variable for a next iteration of the loop branch instruction, comprising extrapolating the first value based on respective values of the loop-control variable from a current iteration of the loop branch instruction and a previous iteration of the loop branch instruction;
- and
- provide a branch prediction for the loop branch instruction based on the first value.
5 more elements
Dependencies are inferred from the claim text.