Freescale Semiconductor PowerQUICC MPC885 Reference Manual page 281

Powerquicc family
Table of Contents

Advertisement

9.1.7
Branch Prediction
In this example, the blt instruction is dependent on the cmpi instruction. Nevertheless, the BPU predicts
the correct path and allows an overlap of its bubbles with those of lwz. When cmpi writes back, the BPU
reevaluates the decision. If the prediction is correct, no more action is taken and execution continues.
Instructions on the predicted path cannot be dispatched before the condition is resolved.
while:
mulli
r3,r12,r4
addi
r4,3(r0)
...
lwz
r12,64 (r2)
cmpi
0,r12,3
addic
r6,r5,1
blt
cr0,while
...
GCLK1
Fetch
Decode
Read + Execute
Writeback
L Address Drive
L Data
Load Writeback
Branch Decode
Branch Execute
Branch Final
Decision
9.2
Instruction Timing List
Table 9-1
summarizes instruction execution timings in terms of latency and blockage of the appropriate
execution unit. A serializing instruction blocks all execution units.
Instructions
Branch: b, ba, bl, bla, bc, bca, bcl, bcla, bclr, bclrl,
bcctr, bcctl
System call: sc, rfi
CR logical: crand, crxor, cror, crnand, crnor, crandc,
creqv, crorc, mcrf
Freescale Semiconductor
lwz
cmpi
addic
lwz
lwz
Bubble
lwz
Figure 9-8. Branch Prediction Timing
Table 9-1. Instruction Execution Timing
MPC885 PowerQUICC Family Reference Manual, Rev. 2
blt
Bubble
cmpi
addic
Bubble
cmpi
lwz
lwz
blt
blt
Latency
Blockage
Taken 2
2
Not taken 1
1
Serialize + 2
1
1
Instruction Execution Timing
mulli
addi
mulli
addic
mulli
cmp
addic
blt
Unit
Serializing
BPU
No
Yes
BPU
No
9-5

Advertisement

Table of Contents
loading

This manual is also suitable for:

Powerquicc mpc870Powerquicc mpc880Powerquicc mpc875

Table of Contents