Hardware Reference
In-Depth Information
2. Undoing the speculation and restoring the state of the processor to continue execution at
the appropriate address consumes additional energy that would not be needed without
speculation.
Certainly, speculation will raise the power consumption and, if we could control speculation,
it would be possible to measure the cost (or at least the dynamic power cost). But, if specula-
tion lowers the execution time by more than it increases the average power consumption, then
the total energy consumed may be less.
Thus, to understand the impact of speculation on energy efficiency, we need to look at how
often speculation is leading to unnecessary work. If a significant number of unneeded instruc-
tions is executed, it is unlikely that speculation will improve running time by a comparable
amount! Figure 3.25 shows the fraction of instructions that are executed from misspeculation.
As we can see, this fraction is small in scientific code and significant (about 30% on average)
in integer code. Thus, it is unlikely that speculation is energy efficient for integer applications.
Designers could avoid speculation, try to reduce the misspeculation, or think about new ap-
proaches, such as only speculating on branches that are known to be highly predictable.
FIGURE 3.25 The fraction of instructions that are executed as a result of misspecula-
tion is typically much higher for integer programs (the first five) versus FP programs
(the last five) .
Value Prediction
One technique for increasing the amount of ILP available in a program is value prediction.
Value prediction atempts to predict the value that will be produced by an instruction. Obvi-
ously, since most instructions produce a different value every time they are executed (or at
 
Search WWH ::




Custom Search