
5-2
ColdFire CF4e Core User’s Manual
For More Information On This Product,
Go to: www.freescale.com
An Introduction to the MAC
The first ColdFire MAC supported signed and unsigned integer operands and was
optimized for 16x16 operations, based on a variety of target applications including servo
control and image compression. As ColdFire-based systems proliferated, the desire for
more precision on input operands increased. The result was an improved ColdFire MAC
with user-programmable control to optionally enable use of fractional input operands.
EMAC improvements target three primary areas:
Improved performance of 32x32 multiply operations.
Addition of three more accumulators to minimize MAC pipeline stalls caused by
exchanges between the accumulator and the pipeline’s general-purpose registers.
A 48-bit accumulation data path to allow the use of a 40-bit product plus the addition
of 8 extension bits to increase the dynamic number range when implementing signal
processing algorithms.
The three areas of functionality are addressed in detail in following sections. The logic
required to support this functionality is contained in a MAC module, as shown in
Figure 5-1.
Figure 5-1. Multiply-Accumulate Functionality Diagram
5.2 An Introduction to the MAC
The MAC is an extension of the basic multiplier found in most microprocessors. It is
implemented either in hardware or in an iterative routine within an architecture and
supports signal processing algorithms in an acceptable number of cycles, given application
constraints. For example, small digital filters can tolerate some variance in an algorithm’s
execution time, but larger, more complicated algorithms such as orthogonal transforms may
have more demanding speed requirements beyond the scope of any processor architecture
and may require full DSP implementation.
The 68K/ColdFire architecture was not designed for high-speed signal processing, and a
large DSP engine would be excessive in an embedded environment. In striking a balance
between speed, size, and functionality, the ColdFire MAC is optimized for a small set of
operations that involve multiplication and cumulative additions. Specifically, the multiplier
X
+/-
Operand Y
Operand X
Shift 0,1,-1
Accumulator(s)
F
Freescale Semiconductor, Inc.
n
.