Not- Taken? Taken? The Frankenpredictor Gabriel H. Loh Georgia Tech College of Computing MICRO Dec 5, 2004.

Slides:



Advertisements
Similar presentations
A 2bcgskew Fused by a RHSP Veerle Desmet Hans Vandierendonck Koen De Bosschere Ghent University Member HiPEAC.
Advertisements

André Seznec Caps Team IRISA/INRIA 1 Looking for limits in branch prediction with the GTL predictor André Seznec IRISA/INRIA/HIPEAC.
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
André Seznec Caps Team IRISA/INRIA Design tradeoffs for the Alpha EV8 Conditional Branch Predictor André Seznec, IRISA/INRIA Stephen Felix, Intel Venkata.
EECC722 - Shaaban #1 lec # 6 Fall Dynamic Branch Prediction Dynamic branch prediction schemes run-time behavior of branches to make predictions.
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.
TAGE-SC-L Branch Predictors
CPE 731 Advanced Computer Architecture ILP: Part II – Branch Prediction Dr. Gheith Abandah Adapted from the slides of Prof. David Patterson, University.
A Simple Divide-and-Conquer Approach for Neural-Class Branch Prediction Gabriel H. Loh College of Computing Georgia Tech.
Neural Methods for Dynamic Branch Prediction Daniel A. Jiménez Calvin Lin Dept. of Computer Science Rutgers University Univ. of Texas Austin Presented.
EECS 470 Branch Prediction Lecture 6 Coverage: Chapter 3.
1 Improving Branch Prediction by Dynamic Dataflow-based Identification of Correlation Branches from a Larger Global History CSE 340 Project Presentation.
1 Lecture 7: Out-of-Order Processors Today: out-of-order pipeline, memory disambiguation, basic branch prediction (Sections 3.4, 3.5, 3.7)
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 )
VLSI Project Neural Networks based Branch Prediction Alexander ZlotnikMarcel Apfelbaum Supervised by: Michael Behar, Spring 2005.
EECC551 - Shaaban #1 lec # 5 Fall Reduction of Control Hazards (Branch) Stalls with Dynamic Branch Prediction So far we have dealt with.
Lecture 4: Branch Predictors. Direction: 0 or 1 Target: 32- or 64-bit value Turns out targets are generally easier to predict –Don’t need to predict NT.
Branch Target Buffers BPB: Tag + Prediction
EECC551 - Shaaban #1 lec # 5 Winter Reduction of Control Hazards (Branch) Stalls with Dynamic Branch Prediction So far we have dealt with.
Computer Architecture Instruction Level Parallelism Dr. Esam Al-Qaralleh.
1 Lecture 8: Branch Prediction, Dynamic ILP Topics: static speculation and branch prediction (Sections )
EECC722 - Shaaban #1 lec # 10 Fall Dynamic Branch Prediction Dynamic branch prediction schemes are different from static mechanisms because.
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.
Lecture 3. Branch Prediction Prof. Taeweon Suh Computer Science Education Korea University COM506 Computer Design.
Analysis of Branch Predictors
André Seznec Caps Team IRISA/INRIA 1 Analysis of the O-GEHL branch predictor Optimized GEometric History Length André Seznec IRISA/INRIA/HIPEAC.
1 Revisiting the perceptron predictor André Seznec IRISA/ INRIA.
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.
1 The Inner Most Loop Iteration counter a new dimension in branch history André Seznec, Joshua San Miguel, Jorge Albericio.
André Seznec Caps Team IRISA/INRIA 1 Analysis of the O-GEHL branch predictor Optimized GEometric History Length André Seznec IRISA/INRIA/HIPEAC.
Fast Path-Based Neural Branch Prediction Daniel A. Jimenez Presented by: Ioana Burcea.
Samira Khan University of Virginia April 12, 2016
Dynamic Branch Prediction
CSL718 : Pipelined Processors
Lecture: Out-of-order Processors
COSC6385 Advanced Computer Architecture Lecture 9. Branch Prediction
CS203 – Advanced Computer Architecture
Computer Structure Advanced Branch Prediction
Computer Architecture Advanced Branch Prediction
CS5100 Advanced Computer Architecture Advanced Branch Prediction
COSC3330 Computer Architecture Lecture 15. Branch Prediction
Samira Khan University of Virginia Dec 4, 2017
Looking for limits in branch prediction with the GTL predictor
So far we have dealt with control hazards in instruction pipelines by:
Design tradeoffs for the Alpha EV8 Conditional Branch Predictor
Dynamic Branch Prediction
Dynamic Branch Prediction
Pipelining and control flow
So far we have dealt with control hazards in instruction pipelines by:
TAGE-SC-L Again MTAGE-SC
So far we have dealt with control hazards in instruction pipelines by:
So far we have dealt with control hazards in instruction pipelines by:
Adapted from the slides of Prof
So far we have dealt with control hazards in instruction pipelines by:
So far we have dealt with control hazards in instruction pipelines by:
So far we have dealt with control hazards in instruction pipelines by:
So far we have dealt with control hazards in instruction pipelines by:
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
Presentation transcript:

Not- Taken? Taken? The Frankenpredictor Gabriel H. Loh Georgia Tech College of Computing MICRO Dec 5, 2004

Design Objectives Capacity –SERV has large branch footprint Long history length correlation –INT and MM benefit from this 8KB makes interference a big issue … and don’t mess up FP

Overview Perceptron Table + Global BHR Path-Neural: Long History Fusion Path-Neural: Long History Fusion Gskew-Agree: Capacity Gskew-Agree: Capacity Ideas from: static branch prediction, gskewed, agree, perceptron, path-based neural, 2bcgskew, fusion, MAC-RHSP, machine learning Misc Other Ideas

Gskew-Agree Lookup PC Target BTFNT h1h1h1h1 h1h1h1h1 h2h2h2h2 h2h2h2h2 Global BHR h0h0h0h0 h0h0h0h0 BIM G0G0 G0G0 G1G1 G1G MAJMAJ =?=?=?=?=?=?=?=? x g0 x g1 x g2 x gM >?>?

Gskew-Agree Update Shared Hysteresis –Every two counters share one hyst. bit Partial Update –Modified from 2bcgskew (no meta rules) –On mispred, update all three tables –If correct: If all agree, do nothing Else update the two correct tables 1 1 0

Path-Based Perceptron x0x0 x p0 x p1 x1x1 x2x2 x3x3 …x rows, 8-bit weights 168 rows, 8-bit weights Bias, Pseudotag, Recent History XXXXXXX + B1B1 B1B1 x 11 x 12 x 13...x rows, 7-bit weights Old History XXXX B2B2 B2B2 x g0 x g1 x g2 x gM Gskew-Agree XXXX B3B3 B3B3

Redundant Indexing ……... Bias, Pseudotag, Recent History Old HistoryGskew-Agree X X X X X X X X X X X X XX XX X X X X X X X X X X X X X X X X X X +

Non-Linear Learning Curves Slow start: –avoids transient/coincidental correlation Steep End: –quick unlearning Stored Value Actual Value Stored Value Actual Value Stored Value Actual Value B 1, B 3 B 2 (older history)

Synergistic Reinforcement BIM PC BTFNT =?=? hash =?=? sign x g0 << 1 To Summation G0G0 G0G0 Global BHR hash =?=? sign =?=? x g1 << 1

Notes on Initialization All neural weights initialized to zero except those corresponding to x gM –The perceptron will use the gskew-agree prediction until other correlations are established All PHT banks initialized to “Weakly Agree” –gskew-agree provides a BTFNT prediction at start of program

Unconditional Branches Always predict taken, of course No update to PHTs, neural weights, path Update global BHR: Call: Return: Other: PC xor

“Path” History Update PC Path2 Path3 Pa4 Pa5 Pa6 Pa7 Pa8 Pa9 Pa10 Shift registers Global BHR … Outcome Branch Address Path1 …

Index Generation Primary Index: … Path History PC 3 LSB Redundant Index: 6 most recent BHR bits +++ B1B1 B1B1 B2B2 B2B2 …

Implementation Issues Frankenpredictor optimized for state Neural table sizes not power-of-two Redundant indexing biggest challenge –Many hash functions –Many ports –Huge adder tree

Summary Gskew for capacity, Neural for long-history –Neural also for fusion Gskew-Agree –Skewing for interference-avoidance –Agree-prediction for interference-tolerance Contact: –loh cc.gatech.edu –