Alternative Implimentations of Hybrid Branch Predictors
This article proposes the combination in parallel of brach predictors much as Yeh and Patt's article proposed combining two predictors in serial. They found that ideally these could work very effectively in parallel, but that they were unable to work with the same accuracy with real branch predictor selection schemes. The authors performed good experiments to chose the best ideal predictors. The authors were concerned that the prediction rate was so far from the ideal hybrid prediction that more exploration clearly needs to be made into the selection scheme. It seems however somewhat unclear how the selection schemes might have performed with the different Hybrids, the authors recognized this problem.
It seems that a dynamic selector might perform differently with the combinations than the static selector since it was able to show such a significant improvement. It would also have been interesting to explore the performance of real compiler suggestions for branch selection along with dynamic selections. Maybe one could integrate compiler suggestions into the dynamic selector somehow. Better the compiler might only suggest selection with only certain loops of which it could make some predictions. This would require the compiler to be intricately designed with the branching prediction architecture, but if it could yeild only a small increase in performance the work could greatly benefit the overall performance of the processor. Even with the problems in the scheme presented it shows reasonable evidence that hybrid predictors are not only worth implementing today, but further work in selection will make the performance even greater with what appears to be nominal hardware and time penalties.