



Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Decision is based on analysis or profile information – 90% of backward-going branches are taken – 50% of forward-going branches are not taken
Typology: Lecture notes
1 / 6
This page cannot be seen from the preview
Don't miss anything!




3/12/
cs252-S07, Lecture 14
-^ GAg: Global History Register, Global History Table •^ PAg: Per-Address History Register, Global History Table •^ PAp: Per-Address History Register, Per-Address History Table
3/12/
cs252-S07, Lecture 14
3
GBHR Address
3/12/
cs252-S07, Lecture 14
addr^
history Predictor A
Predictor B
cs252-S07, Lecture 14
5
From “Memory Dependence Predictionusing Store Sets”, Chrysos and Emer.
3/12/
cs252-S07, Lecture 14
Addr
Inst 0 Store C 4 Store A 8 Store B 12 Store C 28 Load B
⇒^ Store set { PC 8 } 32
Load D
⇒^ Store set { (null) } 36
Load C
⇒^ Store set { PC 0, PC 12 } 40
Load B
⇒^ Store set { PC 8 }
-^ Idea: Store set for load starts empty. If ever load go forward and thiscauses a violation, add offending store to load’s store set • Approach: For each indeterminate load: –^ If Store from Store set is in pipeline, stallElse let go forward • Does this work?
cs252-S07, Lecture 14
7
3/12/
cs252-S07, Lecture 14
⇒^ allows stalling until store finished
-^ When Store is fetched, allows it to wait for previous store in store set^ »^
Pretty much same type of ordering as enforced by ROB anyway » Transitivity
⇒^ loads end up waiting for all active stores in store set
-^ What if store needs to be in two store sets?^ –^
Allow store sets to be merged together deterministically^ »^ Two loads, multiple stores get same SSID
-^ Want periodic clearing of SSIT to avoid:^ –^
problems with aliasing across program – Out of control merging
cs252-S07, Lecture 14
13
3/12/
cs252-S07, Lecture 14
cs252-S07, Lecture 14
15
3/12/
cs252-S07, Lecture 14
Guess
Guess
Guess
cs252-S07, Lecture 14
17
-^ Stride (S):
-^ Non-Stride (NS):
Repeated Stride (RS):
-^ Repeadted Non-Stride (RNS):
3/12/
cs252-S07, Lecture 14
Saturating counter incremented/decremented on success/failurereplace when the count is below threshold » Keep old value until new value seen frequently enough
If v^ and vn-^
are the two most recent values, then predict nextn-^ value will be: v
+ (vn-
- v^ n-1 n-
»^ The value (v
- v^ n-1^ n-
) is called the “stride”
-^ Important variations in hysteresis:^ »^
Change stride only if saturating counter falls below threshold » Or “two-delta” method. Two strides maintained.^ •^ First (S1) always updated by difference between two most recent values^ •^ Other (S2) used for computing predictions^ •^ When S1 seen twice in a row, then S
⇒ S
Multiple strides for nested loops – Complex computations for complex loops (polynomials, etc!)
cs252-S07, Lecture 14
19
th^ order predictor will be entirely frequency based
Next value is?
3/12/
cs252-S07, Lecture 14