The MPC8xx Core
MPC885 PowerQUICC Family Reference Manual, Rev. 2
3-8
Freescale Semiconductor
Figure 3-4
represents the sequencer data path.
Figure 3-4. Sequencer Data Path
The instruction unit executes branches in parallel with those instructions that must be dispatched to an
execution unit. Ideally, an instruction is dispatched to an execution unit every clock cycle, even when
branches are in the code. The IQ also eliminates stalls due to instruction fetches that miss in the instruction
cache or that generate a page fault. All instructions are fetched into the IQ, and all instructions except
branch instructions are dispatched to the execution units when they reach IQ0. Branches enter the queue
to mark watchpoints. See
Chapter 53, “System Development and Debugging.”
Because branches do not
prevent the issue of nonbranch instructions unless they come in pairs, the performance impact of entering
branches in the IQ is negligible.
The core also implements a branch reservation station and static branch prediction so branches can be
resolved as early as possible. The reservation station allows a branch instruction to pass from the IQ before
its condition is ready. With the branch out of the way, fetching can continue as the branch is evaluated.
Static branch prediction (defined by the PowerPC UISA) determines which instruction stream is
prefetched while the branch is being resolved. When the branch operand becomes available, it is forwarded
to the BPU and the condition is evaluated. The static branch prediction mechanism is shown in
Table 3-1
.
Table 3-1. Static Branch Prediction
Branch Type
Default Prediction (y=0)
Modified Prediction (y=1)
BC with negative offset
Taken
Fall through
BC with positive offset
Fall through
Taken
BCLR or BCCTR (LR or CTR) address ready
Fall through
Taken
BCLR or BCCTR (LR or CTR) address not ready
Wait
Wait
B (unconditional branch)
Taken
Taken
Instruction Memory System
Instruction Address Generator
Instruction Buffer
Instruction
Queue (4)
(IQ)
Branch
Condition
Evaluation
CC Unit
Execution Units and Registers Files
32-Bit
32-Bit
32-Bit
Read/Write
Busses
Summary of Contents for PowerQUICC MPC870
Page 98: ...MPC885 PowerQUICC Family Reference Manual Rev 2 I 4 Freescale Semiconductor ...
Page 118: ...MPC885 Overview MPC885 PowerQUICC Family Reference Manual Rev 2 1 20 Freescale Semiconductor ...
Page 158: ...The MPC8xx Core MPC885 PowerQUICC Family Reference Manual Rev 2 3 18 Freescale Semiconductor ...
Page 288: ...MPC885 PowerQUICC Family Reference Manual Rev 2 III 4 Freescale Semiconductor ...
Page 554: ...MPC885 PowerQUICC Family Reference Manual Rev 2 V 6 Freescale Semiconductor ...
Page 1090: ...UTOPIA Interface MPC885 PowerQUICC Family Reference Manual Rev 2 43 8 Freescale Semiconductor ...
Page 1312: ...Byte Ordering MPC885 PowerQUICC Family Reference Manual Rev 2 A 8 Freescale Semiconductor ...
Page 1336: ...MPC885 PowerQUICC Family Reference Manual Rev 2 D 16 Freescale Semiconductor ...
Page 1358: ...MPC885 PowerQUICC Family Reference Manual Rev 2 D 38 Freescale Semiconductor ...
Page 1370: ...MPC880 MPC885 PowerQUICC Family Reference Manual Rev 2 E 4 Freescale Semiconductor ...
Page 1386: ...Revision History MPC885 PowerQUICC Family Reference Manual Rev 2 I 2 Freescale Semiconductor ...