Energy-focused compiler-assisted branch prediction
First Claim
Patent Images
1. A method for use with a processor, the method comprising:
- with respect to an instruction sequence including a control-flow changing instruction to affect a control-flow of the instruction sequence;
adding control information to the instruction sequence; and
removing the control-flow changing instruction from the instruction sequence;
wherein the control information is to be utilized at runtime to predict an outcome of the control-flow changing instruction, the outcome comprising a target of the control-flow changing instruction that includes a path following the control-flow changing instruction, and to fetch an instruction corresponding to the path.
3 Assignments
0 Petitions
Accused Products
Abstract
A processing system to reduce energy consumption and improve performance in a processor, controlled by compiler inserted information ahead of a selected branch instruction, to statically expose and control how the prediction should be completed and which mechanism should be used to achieve energy and performance efficiency.
280 Citations
22 Claims
-
1. A method for use with a processor, the method comprising:
with respect to an instruction sequence including a control-flow changing instruction to affect a control-flow of the instruction sequence; adding control information to the instruction sequence; and removing the control-flow changing instruction from the instruction sequence; wherein the control information is to be utilized at runtime to predict an outcome of the control-flow changing instruction, the outcome comprising a target of the control-flow changing instruction that includes a path following the control-flow changing instruction, and to fetch an instruction corresponding to the path. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 19, 20)
-
10. A system for use with a processor, the system comprising:
-
microarchitecture to access control information of an instruction sequence at runtime, the control information added at a position in the instruction sequence prior to runtime to prevent coded information corresponding to a control-flow changing instruction from being decoded in a pipeline of the processor at runtime; and the microarchitecture to use the control information to predict an outcome of the control-flow changing instruction, the outcome comprising a target of the control-flow changing instruction that includes a path following the control-flow changing instruction, and to fetch an instruction corresponding to the path, the microarchitecture comprising hardware. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
-
21. A method for use with a processor, the method comprising:
with respect to control information of an instruction sequence, the control information added at a position in the instruction sequence prior to runtime to prevent coded information corresponding to a control-flow changing instruction from being decoded in a pipeline of the processor at runtime, using the control information at runtime to; predict an outcome of the control-flow changing instruction, the outcome comprising a target of the control-flow changing instruction that includes a path following the control-flow changing instruction; and fetch an instruction corresponding to the path. - View Dependent Claims (22)
Specification