2-24
MCF5307 User’s Manual
Features and Enhancements
For example, if an unconditional BRA instruction is detected, the IED calculates the target
of the BRA instruction, and the IAG immediately begins fetching at the target address.
Because of the decoupled nature of the two pipelines, the target instruction is available to
the OEP immediately after the BRA instruction, giving it a single-cycle execution time.
The acceleration logic uses a static prediction algorithm when processing conditional
branch (Bcc) instructions. The default scheme is forward Bcc instructions are predicted as
not-taken, while backward Bcc instructions are predicted as taken. A user-mode control bit,
CCR[7], allows users to dynamically alter the prediction algorithm for forward Bcc
2.1.2.2 Operand Execution Pipeline (OEP)
The OEP is a two-stage pipeline featuring a traditional RISC datapath with a register le
feeding an arithmetic/logic unit. For simple register-to-register instructions, the rst stage
of the OEP performs the instruction decode and fetching of the required register operands
(OC), while the actual instruction execution is performed in the second stage (EX).
For memory-to-register instructions, the instruction is effectively staged through the OEP
twice in the following way:
The instruction is decoded and the components of the operand address are selected
(DS).
The operand address is generated using the “execute engine” (AG).
The memory operand is fetched while any register operand is simultaneously
fetched (OC).
The instruction is executed (EX).
For register-to-memory operations, the stage functions (DS/OC, AG/EX) are effectively
performed simultaneously allowing single-cycle execution. For read-modify-write
instructions, the pipeline effectively combines a memory-to-register operation with a store
operation.
2.1.2.2.1 Illegal Opcode Handling
To aid in conversion from M68000 code, every 16-bit operation word is decoded to ensure
that each instruction is valid. If the processor attempts execution of an illegal or
unsupported instruction, an illegal instruction exception (vector 4) is taken.
2.1.2.2.2 Hardware Multiply/Accumulate (MAC) Unit
The MAC is an optional unit in Version 3 that provides hardware support for a limited set
of digital signal processing (DSP) operations used in embedded code, while supporting the
integer multiply instructions in the ColdFire microprocessor family. The MAC features a
three-stage execution pipeline, optimized for 16 x 16 multiplies. It is tightly coupled to the
OEP, which can issue a 16 x 16 multiply with a 32-bit accumulation plus fetch a 32-bit
operand in a single cycle. A 32 x 32 multiply with a 32-bit accumulation requires three
cycles before the next instruction can be issued.
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
..
.