1-40
MPC7400 RISC Microprocessor Users Manual
Instruction Timing
Note that Figure 1-6 does not show features, such as reservation stations and rename buffers
that reduce stalls and improve instruction throughput.
The instruction pipeline in the MPC7400 has four major pipeline stages, described as
follows:
¥
The fetch pipeline stage primarily involves retrieving instructions from the memory
system and determining the location of the next instruction fetch. The BPU decodes
branches during the fetch stage and removes those that do not update CTR or LR
from the instruction stream.
The dispatch stage is responsible for decoding the instructions supplied by the
instruction fetch stage and determining which instructions can be dispatched in the
current cycle. A rename ID is given to instructions with a target destination. If source
operands for the instruction are available, they are read from the appropriate register
Tle or rename register to the execute pipeline stage. If a source operand is not
available, dispatch provides a tag that indicates which rename register will supply
the operand when it becomes available. At the end of the dispatch stage, the
dispatched instructions and their operands are latched by the appropriate execution
unit.
Instructions executed by the IUs, FPU, SRU, LSU, VPU, and VALU are dispatched
from the bottom two positions in the instruction queue. In a single clock cycle, a
maximum of two instructions can be dispatched to these execution units in any
combination. When an instruction is dispatched, it is assigned a position in the
eight-entry completion queue. A branch instruction can be issued on the same clock
cycle for a maximum three-instruction dispatch.
During the execute pipeline stage, each execution unit that has an executable
instruction executes the selected instruction (perhaps over multiple cycles), writes
the instruction's result into the appropriate rename register, and notiTes the
completion stage that the instruction has Tnished execution. In the case of an internal
exception, the execution unit reports the exception to the completion pipeline stage
and (except for the FPU) discontinues instruction execution until the exception is
handled. The exception is not signaled until that instruction is the next to be
completed.
Execution of most oating-point instructions is pipelined within the FPU allowing
up to three instructions to be executing in the FPU concurrently. The FPU stages are
multiply, add, and round-convert. Execution of most load/store instructions is also
pipelined. The load/store unit has two pipeline stages. The Trst stage is for effective
address calculation and MMU translation and the second stage is for accessing the
data in the cache.
The complete pipeline stage maintains the correct architectural machine state and
transfers execution results from the rename registers to the GPRs and FPRs (and
CTR and LR, for some instructions) as instructions are retired. As with dispatching
instructions from the instruction queue, instructions are retired from the two bottom
¥
¥
¥
¥