
6-4
MPC7400 RISC Microprocessor Users Manual
Instruction Timing Overview
6.2 Instruction Timing Overview
The MPC7400 design minimizes average instruction execution latency, the number of
clock cycles it takes to fetch, decode, dispatch, and execute instructions and make the
results available for a subsequent instruction. Some instructions, such as loads and stores,
access memory and require additional clock cycles between the execute phase and the
write-back phase. These latencies vary depending on whether the access is to cacheable or
noncacheable memory, whether it hits in the L1 or L2 cache, whether the cache access
generates a write-back to memory, whether the access causes a snoop hit from another
device that generates additional activity, and other conditions that affect memory accesses.
The MPC7400 implements many features to improve throughput, such as pipelining,
superscalar instruction issue, branch folding, removal of fall-through branches, two-level
speculative branch handling, and multiple execution units that operate independently and
in parallel.
As an instruction passes from stage to stage in a pipelined system, the following instruction
can follow through the stages as the former instruction vacates them, allowing several
instructions to be processed simultaneously. While it may take several cycles for an
instruction to pass through all the stages, when the pipeline has been Tlled, one instruction
can complete its work on every clock cycle.
Figure 6-1 represents a generic pipelined execution unit.
Figure 6-1. Pipelined Execution Unit
The entire path that instructions take through the fetch, decode/dispatch, execute, complete,
and write-back stages is considered the MPC7400s master pipeline, and four of the
MPC7400's execution units (FPU, LSU, VCIU, and VFPU) are also multiple-stage
pipelines.
The MPC7400 contains the following execution units that operate independently and in
parallel:
¥
¥
Branch processing unit (BPU)
Integer unit 1 (IU1)executes all integer instructions
Clock 0
Clock 1
Clock 2
Clock 3
Instruction A
Instruction B
Instruction C
Instruction D
Instruction A
Instruction B
Instruction C
Instruction A
Instruction B
Stage 1
Stage 2
Stage 3