Example 2-6, Static taken prediction example -21, Example 2-7 – Intel ARCHITECTURE IA-32 User Manual

Page 93: Static not-taken prediction example -21

Advertising
background image

General Optimization Guidelines

2

2-21

Examples 2-6, Example 2-7 provide basic rules for a static prediction
algorithm.

In Example 2-6, the backward branch (

JC Begin

) is not in the BTB the

first time through, therefore, the BTB does not issue a prediction. The
static predictor, however, will predict the branch to be taken, so a
misprediction will not occur.

The first branch instruction (

JC Begin

) in Example 2-7 segment is a

conditional forward branch. It is not in the BTB the first time through,
but the static predictor will predict the branch to fall through.

The static prediction algorithm correctly predicts that the

Call

Convert

instruction will be taken, even before the branch has any

branch history in the BTB.

Example 2-6

Static Taken Prediction Example

Begin:

mov

eax, mem32

and

eax, ebx

imul

eax, edx

shld

eax, 7

jc

Begin

Example 2-7

Static Not-Taken Prediction Example

mov

eax, mem32

and

eax, ebx

imul

eax, edx

shld

eax, 7

jc

Begin

mov

eax, 0

Begin:

call

Convert

Advertising