A PPM-like, tag-based predictor Pierre Michaud. 2 Main characteristics global history based 5 tables –one 4k-entry bimodal (indexed with PC) –four 1k-entry.

Slides:



Advertisements
Similar presentations
Dead Block Replacement and Bypass with a Sampling Predictor Daniel A. Jiménez Department of Computer Science The University of Texas at San Antonio.
Advertisements

André Seznec Caps Team IRISA/INRIA 1 Looking for limits in branch prediction with the GTL predictor André Seznec IRISA/INRIA/HIPEAC.
H-Pattern: A Hybrid Pattern Based Dynamic Branch Predictor with Performance Based Adaptation Samir Otiv Second Year Undergraduate Kaushik Garikipati Second.
Branch prediction Titov Alexander MDSP November, 2009.
Dynamic History-Length Fitting: A third level of adaptivity for branch prediction Toni Juan Sanji Sanjeevan Juan J. Navarro Department of Computer Architecture.
Exploring Correlation for Indirect Branch Prediction 1 Nikunj Bhansali, Chintan Panirwala, Huiyang Zhou Department of Electrical and Computer Engineering.
Computer Science Department University of Central Florida Adaptive Information Processing: An Effective Way to Improve Perceptron Predictors Hongliang.
André Seznec Caps Team IRISA/INRIA 1 The O-GEHL branch predictor Optimized GEometric History Length André Seznec IRISA/INRIA/HIPEAC.
Yue Hu David M. Koppelman Lu Peng A Penalty-Sensitive Branch Predictor Department of Electrical and Computer Engineering Louisiana State University.
TAGE-SC-L Branch Predictors
1 Lecture: Branch Prediction Topics: branch prediction, bimodal/global/local/tournament predictors, branch target buffer (Section 3.3, notes on class webpage)
Computer Architecture 2011 – Branch Prediction 1 Computer Architecture Advanced Branch Prediction Lihu Rappoport and Adi Yoaz.
1 Improving Branch Prediction by Dynamic Dataflow-based Identification of Correlation Branches from a Larger Global History CSE 340 Project Presentation.
EE8365/CS8203 ADVANCED COMPUTER ARCHITECTURE A Survey on BRANCH PREDICTION METHODOLOGY By, Baris Mustafa Kazar Resit Sendag.
1 Lecture 8: Branch Prediction, Dynamic ILP Topics: branch prediction, out-of-order processors (Sections )
EECE476: Computer Architecture Lecture 20: Branch Prediction Chapter extra The University of British ColumbiaEECE 476© 2005 Guy Lemieux.
VLSI Project Neural Networks based Branch Prediction Alexander ZlotnikMarcel Apfelbaum Supervised by: Michael Behar, Spring 2005.
1 Lecture 8: Branch Prediction, Dynamic ILP Topics: branch prediction, out-of-order processors (Sections )
Goal: Reduce the Penalty of Control Hazards
Branch Target Buffers BPB: Tag + Prediction
Improving Branch Prediction by Dynamic Dataflow-based Identification of Correlated Branches from a Large Global History Renjiu Thomas, Manoij Franklin,
Dynamic Branch Prediction
Prophet/Critic Hybrid Branch Prediction Falcon, Stark, Ramirez, Lai, Valero Presenter: Christian Wanamaker.
CIS 429/529 Winter 2007 Branch Prediction.1 Branch Prediction, Multiple Issue.
1 Lecture 7: Branch prediction Topics: bimodal, global, local branch prediction (Sections )
Perceptrons Branch Prediction and its’ recent developments
CS 7810 Lecture 6 The Impact of Delay on the Design of Branch Predictors D.A. Jimenez, S.W. Keckler, C. Lin Proceedings of MICRO
Optimized Hybrid Scaled Neural Analog Predictor Daniel A. Jiménez Department of Computer Science The University of Texas at San Antonio.
1 Storage Free Confidence Estimator for the TAGE predictor André Seznec IRISA/INRIA.
Computer Architecture 2012 – advanced branch prediction 1 Computer Architecture Advanced Branch Prediction By Dan Tsafrir, 21/5/2012 Presentation based.
1 A 64 Kbytes ITTAGE indirect branch predictor André Seznec INRIA/IRISA.
Analysis of Branch Predictors
1 Two research studies related to branch prediction and instruction sequencing André Seznec INRIA/IRISA.
André Seznec Caps Team IRISA/INRIA 1 Analysis of the O-GEHL branch predictor Optimized GEometric History Length André Seznec IRISA/INRIA/HIPEAC.
1 A New Case for the TAGE Predictor André Seznec INRIA/IRISA.
1 Revisiting the perceptron predictor André Seznec IRISA/ INRIA.
CSCI 6461: Computer Architecture Branch Prediction Instructor: M. Lancaster Corresponding to Hennessey and Patterson Fifth Edition Section 3.3 and Part.
Not- Taken? Taken? The Frankenpredictor Gabriel H. Loh Georgia Tech College of Computing MICRO Dec 5, 2004.
Predicting Conditional Branches With Fusion-Based Hybrid Predictors Gabriel H. Loh Yale University Dept. of Computer Science Dana S. Henry Yale University.
Computer Structure Advanced Branch Prediction
André Seznec Caps Team IRISA/INRIA 1 A 256 Kbits L-TAGE branch predictor André Seznec IRISA/INRIA/HIPEAC.
CS 6290 Branch Prediction. Control Dependencies Branches are very frequent –Approx. 20% of all instructions Can not wait until we know where it goes –Long.
Idealized Piecewise Linear Branch Prediction Daniel A. Jiménez Department of Computer Science Rutgers University.
Branch Prediction Perspectives Using Machine Learning Veerle Desmet Ghent University.
André Seznec Caps Team IRISA/INRIA 1 Analysis of the O-GEHL branch predictor Optimized GEometric History Length André Seznec IRISA/INRIA/HIPEAC.
FAT predictor Sabareesh Ganapathy, Prasanna Venkatesh Srinivasan, Maribel Monica.
Fast Path-Based Neural Branch Prediction Daniel A. Jimenez Presented by: Ioana Burcea.
Value Prediction Kyaw Kyaw, Min Pan Final Project.
Samira Khan University of Virginia April 12, 2016
Multiperspective Perceptron Predictor Daniel A. Jiménez Department of Computer Science & Engineering Texas A&M University.
Lecture: Out-of-order Processors
CS203 – Advanced Computer Architecture
Computer Structure Advanced Branch Prediction
Dynamic Branch Prediction
Computer Architecture Advanced Branch Prediction
COSC3330 Computer Architecture Lecture 15. Branch Prediction
FA-TAGE Frequency Aware TAgged GEometric History Length Branch Predictor Boyu Zhang, Christopher Bodden, Dillon Skeehan ECE/CS 752 Advanced Computer Architecture.
Samira Khan University of Virginia Dec 4, 2017
Exploring Value Prediction with the EVES predictor
Looking for limits in branch prediction with the GTL predictor
Dynamic Hardware Branch Prediction
TAGE-SC-L Again MTAGE-SC
So far we have dealt with control hazards in instruction pipelines by:
Pipelining: dynamic branch prediction Prof. Eric Rotenberg
So far we have dealt with control hazards in instruction pipelines by:
Branch Predictor Animations
So far we have dealt with control hazards in instruction pipelines by:
The O-GEHL branch predictor
Samira Khan University of Virginia Mar 6, 2019
Lecture 7: Branch Prediction, Dynamic ILP
Presentation transcript:

A PPM-like, tag-based predictor Pierre Michaud

2 Main characteristics global history based 5 tables –one 4k-entry bimodal (indexed with PC) –four 1k-entry “global” (history length 10,20,40,80) “Global” tables are tagged (8-bit tags) Prediction given by the 3-bit up-down saturating counter associated with the longest matching history

3 3b ctr m u 8 bit tag hash =? 3b ctr u 8 bit tag hash =? 3b ctr u 8 bit tag hash =? 3b ctr u 8 bit tag hash =? prediction 0/1 pc h[0:9]pch[0:19]pch[0:39] pch[0:79]

4 References Perceptron predictor –Jiménez, Lin, HPCA 2001 –  benefit from a very long global history PPM (prediction by partial matching) –text compression: Cleary,Witten, IEEE Trans. on Communications, 1984 –branch prediction “limit”: Chen, Coffey, Mudge, ASPLOS 1996 –  spectrum of history lengths, prediction from longest matching history –  permits using a very long global history with limited table space YAGS: bimodal table + 1 global table –Eden, Mudge, MICRO 1998 –  (short) tags do not waste table space –  allocate entry in global table only if bimodal prediction is wrong

5 Predictor update X = longest matching history at prediction time Update 3-bit counter associated with X, and only that counter –Increment if taken, decrement otherwise If prediction was correct, we are done If prediction was wrong, try to steal entries for history lengths > X –Write the branch tag –Reinitialize 3-bit counter to a new value

6 New update method Bit u in each global table entry  selective entry stealing –(u is for useful entry) –if we steal all entries > X, up to 4 entries stolen on each mispredict   –try to distinguish entries that we should avoid stealing –heuristic: useful when prediction correct and bimodal wrong not useful when prediction wrong and bimodal correct Bit m in each bimodal table entry  3-bit counter initialization –(m is for meta-predictor) –many entries deliver few predictions before being stolen –  3-bit counter initialization is important –if there is some correlation, better to initialize according to branch outcome –otherwise, better to initialize with bimodal prediction = most likely outcome

7 Precisely: If prediction was wrong and X < 80 –Choose entries to steal Read bit u for all entries > X If at least one bit u is reset, steal only entries which bit u is reset If all bits u are set, choose a random Y > X and steal only entry Y –Read bit m from bimodal –Steal entries Write tag Reset bit u If m is set, initialize 3-bit counter according to branch outcome Otherwise, initialize 3-bit counter according to bimodal prediction If prediction from X different from bimodal prediction –if X is correct, set both bit m in bimodal and bit u in entry X –Otherwise, reset both m and u

8 Why 3-bit counters ? Example: stream of random branch outcomes with 70% taken and 30% not-taken –predict always taken  mispredict rate = 30% –2-bit counter  mispredict rate = 36 % –  20% higher In the proposed predictor, on the distributed traces, 3-bit counters are better than 2-bit counters. –Average: -3.3% mispredicts –Hard-to-predict traces: up to -6%

9 Hashing functions Based on global history folding Example: fold a 1024-bit history onto 10 bits  use a cyclic shift register and a couple of XORs 1024 % 10 = four xor h[0] h[1024]

10 More explanations… Analysis of a tag-based branch predictor, P. Michaud, IRISA research report PI- 1660, Nov –start from an ideal predictor, and introduce successive degradations corresponding to hardware constraints There is room for improvement –the problem bits u and m try to solve is not completely solved –in the ideal predictor, global table space is shared by all history lengths