Energy-focused compiler-assisted branch prediction
First Claim
Patent Images
1. A memory device having instructions stored thereon that, in response to execution by a processor, cause the processor to perform operations to:
- access control information of an instruction sequence at runtime, the control information added in the instruction sequence prior to runtime to prevent coded information corresponding to a control-flow changing instruction from being decoded in a processor pipeline at runtime; and
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.
1 Assignment
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
20 Claims
-
1. A memory device having instructions stored thereon that, in response to execution by a processor, cause the processor to perform operations to:
-
access control information of an instruction sequence at runtime, the control information added in the instruction sequence prior to runtime to prevent coded information corresponding to a control-flow changing instruction from being decoded in a processor pipeline at runtime; and 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. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A memory device having instructions stored thereon that, in response to execution by a processor, cause the processor to perform operations to:
-
with respect to an instruction sequence including a control-flow changing instruction to affect a control-flow of the instruction sequence to which control information has been added, 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 (9, 10, 11, 12, 13)
-
-
14. A non-transitory computer readable medium, comprising:
an instruction sequence executable by at least one processor, wherein the instruction sequence comprises; control information to prevent coded information corresponding to a control-flow changing instruction from being decoded in a processor pipeline at runtime in response to execution of the instruction sequence by the at least one processor; wherein the control information is executable by the at least one processor 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 (15, 16, 17, 18, 19, 20)
Specification