21264/EV68A Microarchitecture

Figure 2–2 Branch Predictor

Local

Predictor

Global

Predictor

Choice

Predictor

Predicted

Branch

Address

FM-05810.AI4

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–3shows 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

VPC[11:2]

10

Local

History

Table

1K x 10

10

Index

Local

Predictor

 

 

1K x 3

 

3

 

 

3

 

1

 

+/-

Local Branch Prediction

FM-05811.AI4

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–4shows 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.

2–4

Internal Architecture

21264/EV68A Hardware Reference Manual

Page 32
Image 32
Compaq EV68A specifications Local Predictor, Global Predictor