MPC555
/
MPC556
CENTRAL PROCESSING UNIT
MOTOROLA
USER’S MANUAL
Rev. 15 October 2000
3-5
The following sections describe the execution units in greater detail.
3.4.1 Branch Processing Unit (BPU)
The BPU, located within the instruction sequencer, performs condition register look-
ahead operations on conditional branches. The BPU looks through the instruction
queue for a conditional branch instruction and attempts to resolve it early, achieving
the effect of a zero-cycle branch in many cases.
The BPU uses a bit in the instruction encoding to predict the direction of the conditional
branch. Therefore, when an unresolved conditional branch instruction is encountered,
the processor pre-fetches instructions from the predicted target stream until the con-
ditional branch is resolved.
The BPU contains an calculation feature to compute branch target addresses and
three special-purpose, user-accessible registers: the link register (LR), the count reg-
ister (CTR), and the condition register (CR). The BPU calculates the return pointer for
subroutine calls and saves it into the LR. The LR also contains the branch target ad-
dress for the branch conditional to link register (
bclr
x
) instruction. The CTR contains
the branch target address for the branch conditional to count register (
bcctr
x
) instruc-
tion. The contents of the LR and CTR can be copied to or from any GPR. Because the
BPU uses dedicated registers rather than general-purpose or floating-point registers,
execution of branch instructions is independent from execution of integer instructions.
3.4.2 Integer Unit (IU)
The IU executes all integer processor instructions, except the integer storage access
instructions, which are implemented by the load/store unit. The IU contains the follow-
ing subunits:
• The IMUL–IDIV unit includes the implementation of the integer multiply and divide
instructions.
• The ALU–BFU unit includes the implementation of all integer logic, add and sub-
tract, and bit field instructions.
Table 3-1 RCPU Execution Units
Unit
Description
Branch processing
unit (BPU)
Includes the implementation of all branch instructions
Load/store unit (LSU)
Includes implementation of all load and store instructions, whether defined as part
of the integer processor or the floating-point processor
Integer unit (IU)
Includes implementation of all integer instructions except load/store instructions.
This module includes the GPRs (including GPR history and scoreboard) and the
following subunits:
The IMUL-IDIV includes the implementation of the integer multiply and divide in-
structions.
The ALU-BFU includes implementation of all integer logic, add and subtract in-
structions, and bit field instructions.
Floating-point unit
(FPU)
Includes the FPRs (including FPR history and scoreboard) and the implementa-
tion of all floating-point instructions except load and store floating-point instruc-
tions
F
re
e
sc
a
le
S
e
m
ic
o
n
d
u
c
to
r,
I
Freescale Semiconductor, Inc.
For More Information On This Product,
Go to: www.freescale.com
n
c
.
..