“…Usually, branch instructions are about 20% of the total executed instructions [3,17]. The idea of accessing the predictor modules only on branch instructions can reduce the total predictor power up to 80% [12]. The crucial point is that, in order to avoid a predictor access for no-branch instructions, it is necessary to know whether the fetched instruction will be a branch, while, at this time, the undecoded instruction is still in cache, so either we rely on a predecoded bits stored in cache, or we wait for the branch is fetched and then we decode it.…”