This paper describes a new on-demand wakeup prediction policy for instruction cache leakage control that achieves better leakage
savings than prior policies, and avoids the performance overheads of prior policies. The proposed policy reduces leakage energy
by more than 92% with only less than 0.3% performance overhead on average. The key to this new on-demand policy is to use
branch prediction information for the wakeup prediction. In the proposed policy, inserting an extra stage for wakeup between
branch prediction and fetch, allows the branch predictor to be also used as a wakeup predictor without any additional hardware.
Thus, the extra stage hides the wakeup penalty, not affecting branch prediction accuracy. Though extra pipeline stages typically
add to branch misprediction penalty, in this case, the extra wakeup stage on the normal fetch path can be overlapped with
misprediction recovery. With such consistently accurate wakeup prediction, all cache lines except the next expected cache
line are in the leakage saving mode, minimizing leakage energy.
Keywords Instruction Cache - Low Power - Leakage - Drowsy Cache - Branch Prediction