Abstract
Improved branch prediction accuracy is essential to sustaining instruction throughput with todayýs deep pipelines. We introduce piecewise linear branch prediction, an idealized branch predictor that develops a set of linear functions, one for each program path to the branch to be predicted, that separate predicted taken from predicted not taken branches. Taken together, all of these linear functions form a piecewise linear decision surface. We present a limit study of this predictor showing its potential to greatly improve predictor accuracy. We then introduce a practical implementable branch predictor based on piecewise linear branch prediction. In making our predictor practical, we show how a parameterized version of it unifies the previously distinct concepts of perceptron prediction and path-based neural prediction. Our new branch predictor has implementation costs comparable to current prominent predictors in the literature while significantly improving accuracy. For a deeply pipelined simulated microarchitecture our predictor with a 256KB hardware budget improves the harmonic mean normalized instructions-per-cycle rate by 8% over both the original path-based neural predictor and 2Bc-gskew. The average misprediction rate is decreased by 16% over the path-based neural predictor and by 22% over 2Bc-gskew.
Publisher
Association for Computing Machinery (ACM)
Cited by
7 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. SAPIVe: Simple AVX to PIM Vectorizer;2022 XII Brazilian Symposium on Computing Systems Engineering (SBESC);2022-11-21
2. A Survey of Machine Learning for Computer Architecture and Systems;ACM Computing Surveys;2022-02-03
3. A survey of techniques for dynamic branch prediction;Concurrency and Computation: Practice and Experience;2018-09-02
4. On the Variants of Tagged Geometric History Length Branch Predictors;Advances in Intelligent Systems and Applications - Volume 2;2013
5. Fetch Gating Control through Speculative Instruction Window Weighting;Transactions on High-Performance Embedded Architectures and Compilers II;2009