1 / 15

The Fr ankenpredictor Gabriel H. Loh Georgia Tech College of Computing CBP-1 @ MICRO Dec 5, 2004

Taken?. Not-Taken?. The Fr ankenpredictor Gabriel H. Loh Georgia Tech College of Computing CBP-1 @ 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

trinh
Download Presentation

The Fr ankenpredictor Gabriel H. Loh Georgia Tech College of Computing CBP-1 @ MICRO Dec 5, 2004

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Taken? Not-Taken? The FrankenpredictorGabriel H. LohGeorgia TechCollege of ComputingCBP-1 @ MICRODec 5, 2004

  2. 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

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

  4. Gskew-Agree Lookup Global BHR h0 h1 h2 PC BIM G0 G1 0 1 Target 1 >? MAJ BTFNT =? =? =? =? xg1 xg2 xgM xg0

  5. 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 0 1 1

  6. Old History Gskew-Agree x11 x12 x13 ... x59 xg0 xg1 xg2 xgM X X X X X X X X B3 B2 ... 42 rows, 7-bit weights Path-Based Perceptron Bias, Pseudotag, Recent History x0 xp0 xp1 x1 x2 x3 … x10 + X X X X X X X B1 ... 84 rows, 8-bit weights 168 rows, 8-bit weights

  7. Redundant Indexing Bias, Pseudotag, Recent History Old History Gskew-Agree … … X X X X + X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X ... ...

  8. Actual Value Actual Value Actual Value Stored Value Stored Value Stored Value Non-Linear Learning Curves B2 (older history) B1, B3 • Slow start: • avoids transient/coincidental correlation • Steep End: • quick unlearning

  9. Global BHR G0 hash =? xg1 hash sign =? << 1 Synergistic Reinforcement BIM hash PC BTFNT =? xg0 hash sign =? To Summation << 1

  10. Notes on Initialization • All neural weights initialized to zero except those corresponding to xgM • 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

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

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

  13. Redundant Index: 6 most recent BHR bits + + + Index Generation B1 B2 Path History Primary Index: PC 3 LSB … …

  14. 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

  15. 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 <at> cc.gatech.edu • http://www.cc.gatech.edu/~loh

More Related