Instruction Execution Timing
MOTOROLA MPC823e REFERENCE MANUAL 8-9
INSTRUCTION EXECUTION
8
TIMING
8.2.5 Branch Folding
lwz r12,64 (SP)
sub r3,r12,3
addic r4,r14,1
bl func
...
func:
mulli r5,r3,3
addi r4,3(r0)
The lwz instruction accesses the internal storage with one wait state. The instruction
prefetch queue and parallel operation of the branch unit allows the two bubbles caused by
the bl issue and execution to overlap the two bubbles caused by the load. The issue of the
branch itself is referred to as a bubble since no actual work is done by a branch.
Figure 8-7. Example of Branch Folding
ADDICLWZ
LWZ SUB BL BUBBLEADDIC MULLI
SUB
SUBBUBBLE
MULLILWZ BUBBLE
LWZ
LWZ
BL
LWZ
BL
SUB
ADDIC
ADD
MULLI
FETCH
DECODE
READ + EXECUTE
WRITEBACK
L ADDRESS DRIVE
L DATA
LOAD WRITEBACK
BRANCH DECODE
BRANCH EXECUTE
ADDI
GCLK1