A3PBP: A Path Traced Perceptron Branch Predictor Using Local History for Weight Selection

We present a new perceptron branch predictor called Advanced Anti-Aliasing Perceptron Branch Predictor (A 3 PBP), which can be reasonably implemented as part of a modern microprocessor. The predictor has two important features: (1) local history is used as part of the index for weight tables, and; (2) execution path history is used effectively. In contrast with global/local perceptron branch predictors, where a pipeline architecture cannot be used, the scheme enables accumulation of weights to be pipelined and effectively reduces destructive aliasing, which in turn significantly increases prediction accuracy. Our scheme has lower computational costs than Piecewise Branch Predictor and utilizes execution path history more efficiently than Path Trace Branch Predictor, two well-known perceptron branch predictors. We present a version of A 3 PBP in which the number of pipeline stages is reduced as much as possible without increasing critical path delay. The resulting predictor is very accurate. We also discuss how implementable the presented predictor is with respect to computational latency, memory requirements, and computational costs.

[1]  Daniel A. Jiménez,et al.  Piecewise linear branch prediction , 2005, 32nd International Symposium on Computer Architecture (ISCA'05).

[2]  Takahiro Katagiri,et al.  The SimCore/Alpha Functional Simulator , 2004, WCAE '04.

[3]  Daniel A. Jiménez Idealized Piecewise Linear Branch Prediction , 2005, J. Instr. Level Parallelism.

[4]  C. Papadimitriou,et al.  The Complexity of Computing a , 2009 .

[5]  Kei Hiraki,et al.  Path Trace Branch Prediction , 2006 .

[6]  Daniel A. Jiménez,et al.  Fast Path-Based Neural Branch Prediction , 2003, MICRO.

[7]  Daniel A. Jiménez,et al.  Dynamic branch prediction with perceptrons , 2001, Proceedings HPCA Seventh International Symposium on High-Performance Computer Architecture.

[8]  Milos D. Ercegovac,et al.  Digital Arithmetic , 2003, Wiley Encyclopedia of Computer Science and Engineering.