Patent Document ID: 9996351
Application ID: 15165439
Patent Flag: 1

Claim One:
1. A computer system comprising a computer processor, the computer processor comprising a branch prediction unit, the branch prediction unit comprising a local branch predictor and a plurality of global branch predictors, the computer processor configured to carry out, for each of a plurality of branch instructions: performing, by the local branch predictor, a local branch prediction; performing, by each of the global branch predictors, a global branch prediction; determining to utilize the local branch prediction over the global branch predictions as a branch prediction for the branch instruction; incrementing a value of a counter; determining whether the value of the counter exceeds a predetermined threshold; and if the value of the counter exceeds the predetermined threshold, powering down at least one of the global branch predictors and configuring the branch prediction unit to bypass the powered down global branch predictor for branch predictions of subsequent branch instructions, wherein at least one of the global branch predictors comprises a TAGE (Tagged Geometric′) branch predictor; and after configuring the branch prediction unit to bypass at least one of the global branch predictors for branch predictions of subsequent branch instructions, the computer processor is further configured to carry out, for each subsequent branch instruction: performing, by the local branch predictor, a local branch prediction; performing, by the TAGE branch predictor, a TAGE branch prediction; determining to utilize the local branch prediction over the TAGE branch prediction as a branch prediction for the subsequent branch instruction; incrementing the value of the counter; determining whether the value of the counter exceeds a second predetermined threshold; and if the value of the counter exceeds the second predetermined threshold, powering down the TAGE branch predictor and configuring the branch prediction unit to bypass the TAGE branch predictor for branch predictions of subsequent branch instructions.