
RCPU
REFERENCE MANUAL
OVERVIEW
MOTOROLA
For More Information On This Product,
Go to: www.freescale.com
1-7
1.1.4.1 Branch Processing Unit (BPU)
The branch processor unit executes all branch instructions defined in the PowerPC
architecture, including flow control and condition register instructions.
The BPU is implemented as part of the instruction sequencer. The BPU 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 condi-
tional branch. (Refer to the discussion of the BO field in
4.6 Flow Control Instruc-
tions
.) Therefore, when an unresolved conditional branch instruction is
encountered, the processor pre-fetches instructions from the predicted target
stream until the conditional branch is resolved.
The BPU contains an adder to compute branch target addresses and three special-
purpose, user-accessible registers: the link register (LR), the count register (CTR),
and the condition register (CR). The BPU calculates the return pointer for subrou-
tine calls and saves it into the LR. The LR also contains the branch target address
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
and floating-point instructions.
1.1.4.2 Integer Unit (IU)
The integer unit executes all fixed-point (integer) processor instructions defined by
Table 1-1 RCPU Execution Units
Unit
Description
Branch processor
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 unit includes the implementation of the integer multiply and
divide instructions.
The ALU-BFU unit includes implementation of all integer logic, add and
subtract instructions, and bit field instructions.
Floating-point unit
(FPU)
Includes the FPRs (including FPR history and scoreboard) and the
implementation of all floating-point instructions except load and store floating-
point instructions.
F
Freescale Semiconductor, Inc.
n
.