Download presentation
Presentation is loading. Please wait.
Published byLoren Green Modified over 9 years ago
1
Not- Taken? Taken? The Frankenpredictor Gabriel H. Loh Georgia Tech College of Computing CBP-1 @ MICRO Dec 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 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
4
Gskew-Agree Lookup PC Target BTFNT h1h1h1h1 h1h1h1h1 h2h2h2h2 h2h2h2h2 Global BHR h0h0h0h0 h0h0h0h0 BIM G0G0 G0G0 G1G1 G1G1 1 1 0 MAJMAJ =?=?=?=?=?=?=?=? x g0 x g1 x g2 x gM >?>?
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 1 1 0
6
Path-Based Perceptron x0x0 x p0 x p1 x1x1 x2x2 x3x3 …x 10... 84 rows, 8-bit weights 168 rows, 8-bit weights Bias, Pseudotag, Recent History XXXXXXX + B1B1 B1B1 x 11 x 12 x 13...x 59... 42 rows, 7-bit weights Old History XXXX B2B2 B2B2 x g0 x g1 x g2 x gM Gskew-Agree XXXX B3B3 B3B3
7
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 +
8
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)
9
Synergistic Reinforcement BIM PC BTFNT =?=? hash =?=? sign x g0 << 1 To Summation G0G0 G0G0 Global BHR hash =?=? sign =?=? x g1 << 1
10
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
11
Unconditional Branches Always predict taken, of course No update to PHTs, neural weights, path Update global BHR: Call: 00000000 Return: 11111111 Other: 01010101 PC xor
12
“Path” History Update PC Path2 Path3 Pa4 Pa5 Pa6 Pa7 Pa8 Pa9 Pa10 Shift registers Global BHR … Outcome Branch Address Path1 …
13
Index Generation Primary Index: … Path History PC 3 LSB Redundant Index: 6 most recent BHR bits +++ B1B1 B1B1 B2B2 B2B2 …
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 cc.gatech.edu –http://www.cc.gatech.edu/~loh
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.