Wake-up logic is responsible for informing instructions in the Window that are waiting to execute, about the availability of their input operands. The conventional method of wake-up consumes a significant percentage of the Instruction Window energy. Reducing the wake-up energy also addresses the Instruction Window hot spot problem caused due to the high power density of the Instruction Window.
In this work, we investigate the energy and power savings of a low complexity scheme that stores the dependence relations between instructions in an array and uses this array to simplify the wake-up. We then present a new wake-up scheme that further reduces the wake-up energy by using a smaller table to store dependence relations and dynamically allocates dependence slots to only those instructions that have dependents in the Window. Our approach leads to savings of up to 50% in wake-up energy and 15% in the Instruction Window power with a very slight decrease in IPC. Also, both the schemes are more scalable than the conventional wake-up scheme with increasing Instruction Window size and Issue Width.
Source: University of Maryland
Author: Kakaraparthi, Himabindu