
7-16
G2 PowerPC Core Reference Manual
For More Information On This Product,
Go to: www.freescale.com
MOTOROLA
Execution Unit Timings
— Instructions that directly access the GPRs (load and store multiple word and load
and store string instructions)
— Instructions defined by the architecture to have synchronizing behavior
Dispatch serialized inhibit the dispatching of subsequent instructions until the
serializing instruction is retired. Dispatch serialization is used for instructions that
access renamed resources used by the dispatcher, and for instructions requiring
refetch serialization, including the following:
— The load multiple instructions,
lmw
,
lswi
, and
lswx
.
— The
mtspr
(XER) and
mcrxr
instructions
— The synchronizing instructions,
sync
,
isync
,
mtmsr
,
rfi
,
rfci
(for the G2_LE
core) and
sc
.
Refetch serialized instructions inhibit dispatching of subsequent instructions and
force the refetching of subsequent instructions after the serializing instructions are
retired. The context synchronizing instruction,
isync
, is refetch serializing.
7.3.3.3
Execution Unit Considerations
As previously noted, the G2 core can dispatch and retire two instructions per clock cycle.
The peak dispatch rate is affected by the availability of execution units on each clock cycle.
For an instruction to be dispatched, the required execution unit must be available. The
dispatcher monitors the availability of all execution units and suspends instruction dispatch
if the required execution unit is unavailable. An execution unit may not be available if it
can accept and execute only one instruction per cycle or if an execution unit’s pipeline
becomes full, which may occur if instruction execution takes more clock cycles than the
number of pipeline stages in the unit and additional instructions are dispatched to that unit
to fill the remaining pipeline stages.
7.4
Execution Unit Timings
The following sections describe instruction timing considerations for each execution unit.
7.4.1
Branch Processing Unit Execution Timing
Flow control operations (conditional branches, unconditional branches, and traps) are
typically expensive to execute in most machines because they disrupt normal flow in the
instruction stream. When a change in program flow occurs, the IQ must be reloaded with
the target instruction stream. During this time the execution units will be idle. However,
previously dispatched instructions will continue to execute while the new instruction
stream makes its way into the IQ.
F
Freescale Semiconductor, Inc.
n
.