The MPC8xx Core
MPC885 PowerQUICC Family Reference Manual, Rev. 2
3-6
Freescale Semiconductor
3.4.1
Instruction Flow
As many as one instruction per clock cycle is fetched into the four-entry instruction queue (IQ). The branch
processing unit (BPU) predicts the outcome of branch instructions and in some cases, resolves whether the
branch is taken.
Figure 3-2
shows general instruction flow.
Figure 3-2. Instruction Flow Conceptual Diagram
Non-branch instructions reaching IQ0 are dispatched to the execution units at an optimal rate of one
instruction per clock cycle. An instruction cannot be dispatched unless it can also take a position in the
six-entry completion queue (CQ).
All branch instructions, including unconditional branch instructions, reaching IQ0 must also take a
position in the completion queue. This allows program order to be maintained, it ensures a precise
execution model, and it allows branch instructions to be used as breakpoints.
All instructions enter the CQ along with processor state information that can be affected by the
instruction’s execution. Executed arithmetic instructions pass their results both to rename buffers and to
the architected registers (typically GPRs), but to ensure program order, instructions remain in the CQ until
they can be retired.
If an exception occurs before the instruction can be retired, any results are removed from the rename buffer
and GPR and the instruction is flushed from the completion queue, along with subsequent instructions that
have not executed or have not dispatched.
This information is used to enable out-of-order completion of instructions and ensure a precise exception
model. An instruction can be retired after all instructions ahead of it have retired and it updates the
architected destination registers without taking an exception.
IQ3
IQ2
IQ1
IQ0
CQ5
CQ4
CQ3
CQ2
CQ1
CQ0
Branch
Unit
Execution
Completion Queue
Dispatch (maximum one instruction per clock cycle)
Instruction Queue
Fetch (maximum one instruction per clock cycle)
Retire (maximum one instruction per clock cycle)
Units
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 ...