![](http://datasheet.mmic.net.cn/Freescale-Semiconductor/MMC2001HCAB33B_datasheet_99022/MMC2001HCAB33B_3.png)
MOTOROLA
MMC2001 PRODUCT INFORMATION
3
Sixteen general purpose registers are provided for source operands and instruction results. Register R15 is
used as the Link Register to hold the return address for subroutine calls and Register R0 is used as the current
Stack Pointer by convention.
The execution unit consists of a 32-bit Arithmetic/Logic Unit (ALU), a 32-bit Barrel Shifter (Shifter), Find-First-
One unit (FFO), Result Feed-Forward hardware, and miscellaneous support hardware for multiplication,
division, and multiple register load and stores. Arithmetic and Logical operations are executed in a single cycle
with the exception of multiply and divide. Multiply is implemented with a 2-bit per clock, overlapped-scan,
modified Booth algorithm with early-out capability to reduce execution time for operations with small
multipliers. Divide is implemented with a 1-bit per clock early-in algorithm. The Find-First-One unit operates in
a single clock cycle.
The Program Counter Unit has a PC incrementer and a dedicated Branch Address Adder to minimize delays
during change of flow operations. Branch target addresses are calculated in parallel with branch instruction
decode, with a single pipeline bubble for taken branches and jumps, resulting in an execution time of two
clocks. Conditional Branches which are not taken execute in a single clock.
Memory load and store operations are provided for byte, halfword and word (32-bit) data with automatic zero
extension of byte and halfword load data. These instructions can execute in two clock cycles. Load and store
multiple register instructions allow low overhead context save and restore operations; these instructions can
execute in (N+1) clock cycles, where N is the number of registers to transfer.
A single Condition/Code Carry (C) bit is provided for condition testing and for use in implementing arithmetic
and logical operations greater than 32-bits. Typically, the C bit is set only by explicit test/comparison
operations, not as a side-effect of normal instruction operation. Exceptions to this rule occur for specialized
operations where it is desirable to combine condition setting with actual computation.
A 16-entry Alternate register file is provided to support low overhead interrupt exception processing, and both
vectored and autovectored interrupts are supported by the CPU.
DEBUG INTERFACE
The MCORE architecture includes on-chip emulation (OnCE) circuitry. A JTAG interface provides the means
of interacting with the MCORE processor and on-chip peripherals. A user can examine processor and on-chip
peripheral registers, memory, and instruction execution to facilitate hardware/software development. Debug
status and control registers are accessible during OnCE operation. Special circuitry and interface pins are
provided to support non-intrusive debug and efficient use of on-chip resources.
INTERNAL STANDBY RAM
The 32 kbyte on-chip SRAM supports single-clock access by the MCORE processor. SRAM supports byte,
half-word and word accesses. The RAM array is divided into two separate blocks that can be independently
activated in order to conserve power.
ON-CHIP ROM
The 256-kbyte ROM is pre-programmed with development support code, including.
Floating Point Routines
—
MCORE ABI compliant routines to implement floating-point computation
MBUG
Motorola Monitor Debugger program with the following features:
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
..
.