
MOTOROLA
Chapter 1. Overview
1-33
Implementation-Specific Information
The dispatch pipeline stage is responsible for decoding the instructions supplied by
the instruction fetch stage, and determining which of the instructions are eligible to
be dispatched in the current cycle. In addition, the source operands of the
instructions are read from the appropriate register file and dispatched with the
instruction to the execute pipeline stage. At the end of the dispatch pipeline stage,
the dispatched instructions and their operands are latched by the appropriate
execution unit.
In the execute pipeline stage, each execution unit with an executable instruction
executes the selected instruction (perhaps over multiple cycles), writes the
instruction's result into the appropriate rename register, and notifies the completion
stage when the execution has finished. In the case of an internal exception, the
execution unit reports the exception to the completion/write-back pipeline stage and
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
floating-point instructions is pipelined within the FPU allowing up to three
instructions to be executing in the FPU concurrently. The FPU pipeline stages are
multiply, add, and round-convert. The LSU has two pipeline stages. The first stage
is for effective address calculation and MMU translation, and the second is for
accessing data in the cache.
The complete/write-back pipeline stage maintains the correct architectural machine
state and transfers the contents of the rename registers to the GPRs and FPRs as
instructions are retired. If the completion logic detects an instruction causing an
exception, all following instructions are canceled, their execution results in rename
registers are discarded, and instructions are fetched from the correct instruction
stream.
A superscalar processor core issues multiple independent instructions into multiple
pipelines allowing instructions to execute in parallel. The G2 core has five independent
execution units, one each for integer instructions, floating-point instructions, branch
instructions, load/store instructions, and system register instructions. The IU and the FPU
each have dedicated register files for maintaining operands (GPRs and FPRs, respectively),
allowing integer and floating-point calculations to occur simultaneously without
interference. Integer division performance of the G2 core has been improved, with the
divwu
x
and
divw
x
instructions executing in 20 clock cycles instead of the 37 cycles
required in the MPC603e.
The core provides support for single-cycle store and it provides an adder/comparator in the
system register unit that allows the dispatch and execution of multiple integer add and
compare instructions on each cycle. Refer to Chapter 7, “Instruction Timing,” for more
information.
Because the PowerPC architecture can be applied to such a wide variety of
implementations, instruction timing among processor cores varies accordingly.
F
Freescale Semiconductor, Inc.
For More Information On This Product,
Go to: www.freescale.com
n
.