Chapter 1. Overview
1-39
Instruction Timing
1.9 Instruction Timing
The MPC7400 is a pipelined, superscalar processor. A pipelined processor is one in which
instruction processing is divided into discrete stages, allowing work to be done on different
instructions in each stage. For example, after an instruction completes one stage, it can pass
on to the next stage leaving the previous stage available to the subsequent instruction. This
improves overall instruction throughput.
A superscalar processor is one that issues multiple independent instructions into separate
execution units, allowing instructions to execute in parallel. The MPC7400 has eight
independent execution units, two for integer instructions, and one each for oating-point,
branch, load/store, system register, vector permute, and vector arithmetic logic unit
instructions. Having separate GPRs, FPRs, and VRs allows integer, oating-point, and
vector calculations, and load and store operations to occur simultaneously without
interference. Additionally, rename buffers are provided to allow operations to post
execution results for use by subsequent instructions without committing them to the
architected FPRs, GPRs, and VRs.
As shown in Figure 1-6, the common pipeline of the MPC7400 has four stages through
which all instructions must passfetch, decode/dispatch, execute, and complete/write
back. Some instructions occupy multiple stages simultaneously and some individual
execution units have additional stages. For example, the oating-point pipeline consists of
three stages through which all oating-point instructions must pass.
Figure 1-6. Pipeline Diagram
Fetch
Complete (Write-Back)
Dispatch
Execute Stage
Maximum three-instruction dispatch
per clock cycle (includes one branch
instruction)
Maximum two-instruction
completion per clock cycle
Maximum four-instruction fetch
per clock cycle
BPU
FPU3
SRU
IU2
IU1
FPU2
FPU1
LSU1
LSU2
VFPU4
VSIU
VCIU3
VFPU3
VFPU2
VPU
VALU
VFPU1
VCIU2
VCIU1