Before you can read the parent note Tournament and TAGE predictors, you need every word and symbol it throws at you. This page builds each one from nothing — plain words first, then the picture, then why the topic can't live without it. Read top to bottom; each idea leans on the one above it.
The picture: a fork in a road. The car (the processor's flow of execution) reaches the fork and must go left or right.
Taken (T) = the jump happens (take the branching road).
Not-taken (NT) = fall through to the next instruction (go straight).
Outcome-notation, written as a stream: T, T, T, T, NT means a branch was taken four times then not-taken once — exactly what a loop that runs 4 times looks like.
The picture: every fork on the road has a signpost with a unique number nailed to it. Two different ifs in your program sit at two different PCs.
Why the topic needs it: predictors keep a notebook of past behaviour per fork. To find the right page of the notebook, you look up the fork by its signpost — its PC. When the parent writes hash(PC), it means "turn this address into a small table-row number so we can find its notebook page fast."
Predictors do not just store "T or NT." They store how sure they are, using a saturating counter.
A 2-bit counter has four states:
Value
Name
Predict
00
strongly NT
NT
01
weakly NT
NT
10
weakly T
T
11
strongly T
T
The picture: a slider with 4 notches. Each T nudges it right, each NT nudges it left, but it cannot slide past either end.
The parent uses two counter shapes — memorise both:
2-bit unsigned (0..3): used for the selector and the base predictor. min(3, x+1) and max(0, x-1) in the parent's formula are just "count up but don't pass 3, count down but don't pass 0."
3-bit signed (−4..+3): TAGE's prediction counter. Rule: predict T if the value ≥0, NT if negative. Same idea, different numbering.
Why the topic needs it: the whole reason for tournament/TAGE is to make 1−a smaller. The parent compares numbers like "local 85%, global 87%, tournament 90–93%" — those are all values of a.
TAGE stores its notebooks as tables. You must know three things an entry holds.
The picture: a filing cabinet. The index is the drawer number; the tag is the name label you check to make sure you grabbed your folder and not a stranger's; the counter is the folder's contents; the useful bit is a sticky note saying "keep me."
Symbols to lock in: T0 is the base (no-history) table; T1,T2,…,Tn are the tagged tables with lengths L1<L2<⋯<Ln. The parent's "longest matching table" simply means: of all the drawers whose tag matched, use the one with the biggest Li — the most specific memory.