Branch predictor, Local predictor – Compaq 21264 User Manual

Page 32

Advertising
background image

2–4

Internal Architecture

Alpha 21264/EV67 Hardware Reference Manual

21264/EV67 Microarchitecture

Figure 2–2 Branch Predictor

Local Predictor

The local predictor uses a 2-level table that holds the history of individual branches.
The 2-level table design approaches the prediction accuracy of a larger single-level
table while requiring fewer total bits of storage. Figure 2–3 shows how the local pre-
dictor generates a prediction. Bits [11:2] of the VPC of the current branch are used as
the index to a 1K entry table in which each entry is a 10-bit value. This 10-bit value is
used as the index to a 1K entry table of 3-bit saturating counters. The value of the satu-
rating counter determines the predication, taken/not-taken, of the current branch.

Figure 2–3 Local Predictor

Global Predictor

The global predictor is indexed by a global history of all recent branches. The global
predictor correlates the local history of the current branch with all recent branches. Fig-
ure 2–4 s
hows how the global predictor generates a prediction. The global path history
is comprised of the taken/not-taken state of the 12 most-recent branches. These 12
states are used to form an index into a 4K entry table of 2-bit saturating counters. The
value of the saturating counter determines the predication, taken/not-taken, of the cur-
rent branch.

Local

Predictor

Global

Predictor

Choice

Predictor

Predicted

Branch

Address

FM-05810.AI4

Local

History

Table

1K x 10

FM-05811.AI4

Local

Predictor

1K x 3

+/-

10

Index

VPC[11:2]

Local Branch Prediction

1

3

10

3

Advertising