Perceptron Branch Prediction with Separated T/NT Weight Tables Guangyu Shi and Mikko Lipasti University of Wisconsin-Madison June 4, 2011.

Slides:



Advertisements
Similar presentations
We can think of numbers being on a number line: These numbers are all positive numbers.
Advertisements

Idealized Piecewise Linear Branch Prediction Daniel A. Jiménez Department of Computer Science Rutgers University and Departament d'Arquitectura de Computadors.
Branch prediction Titov Alexander MDSP November, 2009.
Pipelining V Topics Branch prediction State machine design Systems I.
Dynamic History-Length Fitting: A third level of adaptivity for branch prediction Toni Juan Sanji Sanjeevan Juan J. Navarro Department of Computer Architecture.
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.
Dynamic Branch Prediction
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.
Dibakar Gope and Mikko H. Lipasti University of Wisconsin – Madison Championship Branch Prediction 2014 Bias-Free Neural Predictor.
CPE 731 Advanced Computer Architecture ILP: Part II – Branch Prediction Dr. Gheith Abandah Adapted from the slides of Prof. David Patterson, University.
1 Lecture: Branch Prediction Topics: branch prediction, bimodal/global/local/tournament predictors, branch target buffer (Section 3.3, notes on class webpage)
W04S1 COMP s1 Seminar 4: Branch Prediction Slides due to David A. Patterson, 2001.
Neural Methods for Dynamic Branch Prediction Daniel A. Jiménez Calvin Lin Dept. of Computer Science Rutgers University Univ. of Texas Austin Presented.
WCED: June 7, 2003 Matt Ramsay, Chris Feucht, & Mikko Lipasti University of Wisconsin-MadisonSlide 1 of 26 Exploring Efficient SMT Branch Predictor Design.
1 COMP 206: Computer Architecture and Implementation Montek Singh Wed., Oct. 8, 2003 Topic: Instruction-Level Parallelism (Dynamic Branch Prediction)
Perceptron-based Global Confidence Estimation for Value Prediction Master’s Thesis Michael Black June 26, 2003.
1 COMP 206: Computer Architecture and Implementation Montek Singh Mon., Oct. 7, 2002 Topic: Instruction-Level Parallelism (Dynamic Branch Prediction)
1 Improving Branch Prediction by Dynamic Dataflow-based Identification of Correlation Branches from a Larger Global History CSE 340 Project Presentation.
1 Applying Perceptrons to Speculation in Computer Architecture Michael Black Dissertation Defense April 2, 2007.
VLSI Project Neural Networks based Branch Prediction Alexander ZlotnikMarcel Apfelbaum Supervised by: Michael Behar, Spring 2005.
Improving Branch Prediction by Dynamic Dataflow-based Identification of Correlated Branches from a Large Global History Renjiu Thomas, Manoij Franklin,
Computer Architecture Instruction Level Parallelism Dr. Esam Al-Qaralleh.
1 COMP 740: Computer Architecture and Implementation Montek Singh Thu, Feb 19, 2009 Topic: Instruction-Level Parallelism III (Dynamic Branch Prediction)
Dynamic Branch Prediction
EENG449b/Savvides Lec /25/05 March 24, 2005 Prof. Andreas Savvides Spring g449b EENG 449bG/CPSC 439bG.
CIS 429/529 Winter 2007 Branch Prediction.1 Branch Prediction, Multiple Issue.
Neural Methods for Dynamic Branch Prediction Daniel A. Jiménez Department of Computer Science Rutgers University.
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.
Analysis of Branch Predictors
Microprocessor Arch. 김인식 - 인사
1 Dynamic Branch Prediction. 2 Why do we want to predict branches? MIPS based pipeline – 1 instruction issued per cycle, branch hazard of 1 cycle. –Delayed.
Not- Taken? Taken? The Frankenpredictor Gabriel H. Loh Georgia Tech College of Computing MICRO Dec 5, 2004.
Branch Prediction Prof. Mikko H. Lipasti University of Wisconsin-Madison Lecture notes based on notes by John P. Shen Updated by Mikko Lipasti.
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.
Temporal Stream Branch Predictor (TS Predictor) Yongming Shen, Michael Ferdman.
Branch Prediction Perspectives Using Machine Learning Veerle Desmet Ghent University.
JILP RESULTS 1. JILP Experimental Framework Goal Simplicity of a trace based simulator Flexibility to model special predictors ( e.g., using data values)
Fast Path-Based Neural Branch Prediction Daniel A. Jimenez Presented by: Ioana Burcea.
Samira Khan University of Virginia April 12, 2016
Multiperspective Perceptron Predictor Daniel A. Jiménez Department of Computer Science & Engineering Texas A&M University.
Dynamic Branch Prediction
COSC6385 Advanced Computer Architecture Lecture 9. Branch Prediction
Computer Structure Advanced Branch Prediction
Lecture: Branch Prediction
Computer Architecture Advanced Branch Prediction
Multiperspective Perceptron Predictor with TAGE
Lecture: Branch Prediction
CS5100 Advanced Computer Architecture Advanced Branch Prediction
COSC3330 Computer Architecture Lecture 15. Branch Prediction
Samira Khan University of Virginia Dec 4, 2017
CMSC 611: Advanced Computer Architecture
15-740/ Computer Architecture Lecture 25: Control Flow II
Perceptrons for Dummies
Dynamic Hardware Branch Prediction
Phase Capture and Prediction with Applications
Scaled Neural Indirect Predictor
Dynamic Branch Prediction
Recovery: Redirect fetch unit to T path if actually T.
Adapted from the slides of Prof
Introduction to Probability
Branch Predictor Animations
Consider the following code segment for a loop: int a = 3, b = 4;
The O-GEHL branch predictor
Samira Khan University of Virginia Mar 6, 2019
Phase based adaptive Branch predictor: Seeing the forest for the trees
Lecture 7: Branch Prediction, Dynamic ILP
Presentation transcript:

Perceptron Branch Prediction with Separated T/NT Weight Tables Guangyu Shi and Mikko Lipasti University of Wisconsin-Madison June 4, 2011

Perceptron Branch Prediction Perceptron branch predictor [Jiménez & Lin, 2001] PC History * >=0 3Y Taken N Not-taken Outcome: Not-taken

Intuition A code example: To predict branch B: If A is taken, B is also taken for sure If A is not taken, do not know the outcome of B If A is taken at certain frequency, then whenever A is not- taken, B will be predicted not-taken. … // x is an unknown value if (x>1000) // Branch A { /* do something …*/} if (x>500) // Branch B { /* do something else… */}

Intuition Perceptrons can represent positive or negative correlations between branch B and past branches. They cannot strengthen 1(2) without strengthen 4(3), or vice versa T NT T … // x is an unknown value if (x>1000) // Branch A { /* do something …*/} if (x>500) // Branch B { /* do something else… */}

SWP: Separated Weight Predictor Separate T/NT weight tables Prediction Algorithm: function predict: boolean begin sum := 0; index := hash (PC); for i in 1 to ghl do if GHR[i] = true then sum := sum + WT[index, i]; else sum := sum + WNT[index, i]; end for predict := (sum>=0); end WT WNT

SWP: Separated Weight Predictor Update Algorithm function update begin if |sum|<threshold or predict != br_taken index := hash (PC); for i in 1..ghl do if {GHR[i], br_taken} = {1, 1} then WT[index,i] := WT[index,i] +1; if {GHR[i], br_taken} = {1, 0} then WT[index,i] := WT[index,i] -1; if {GHR[i], br_taken} = {0, 1} then WNT[index,i] := WNT[index,i] +1; if {GHR[i], br_taken} = {0, 0} then WNT[index,i] := WNT[index,i] -1; end for end if end WT WNT

SWP: Separated Weight Predictor Capable of prediction some linearly inseparable branches even if path information is the same 1 -1(0) History Perceptron Prediction: -3 – (-1) = -2 Not-taken

SWP: Separated Weight Predictor Capable of prediction some linearly inseparable branches even if path information is the same 1 -1(0) History SWP Prediction: 1+(-1) = 0 (Taken)

SWP: Separated Weight Predictor Combined with other optimization schemes Piecewise linear branch prediction [Jiménez, 2005] Dynamic threshold from O-GEHL [Seznec, 2005] Bias weights are removed

Implementation of SWP Additional multiplexors (in parallel) No bitwise complement of weights needed

Simulation Result Performance result of 11 traces out of 40 (in MPPKI)

Optimization for space Space inefficient: 2x storage space of the regular perceptron predictor. Solution: Partially separated weight tables WT WNT W PC Path XOR … … … -1 * * * History 1 to h0 History h0+1 to h

Optimization for space Simulation result on branch prediction with partially separated weight tables (in MPPKI)

Configuration for CBP-3 Final configuration: 3 different weight tables First 20 branches: separated weights, 1024 entries Next 16 branches: single weight, 1024 entries Last 29 branches: single weight, 512 entries Total history length: 65 Total size of the weight tables: 61.7KB

Future work Analyze how often is code example 1 executed Further reduce the storage budget by using adaptive encoding algorithm