Chapter 4 enhanced multiply-accumulate unit (emac), 1 introduction, Chapter 4 – Freescale Semiconductor MCF5480 User Manual

Page 149: Enhanced multiply-accumulate unit (emac), Introduction -1, Chapter 4, “enhanced, Multiply-accumulate unit (emac)

Advertising
background image

MCF548x Reference Manual, Rev. 3

Freescale Semiconductor

4-1

Chapter 4
Enhanced Multiply-Accumulate Unit (EMAC)

This chapter describes the functionality, microarchitecture, and performance of the enhanced

multiply-accumulate (EMAC) unit in the ColdFire family of processors.

4.1

Introduction

The MAC design provides a set of DSP operations which can be used to improve the performance of

embedded code while supporting the integer multiply instructions of the baseline ColdFire architecture.
The MAC provides functionality in three related areas:

Signed and unsigned integer multiplies

Multiply-accumulate operations supporting signed and unsigned integer operands, as well as

signed, fixed-point, fractional operands

Miscellaneous register operations

The ColdFire family supports two MAC implementations with different performance levels and

capabilities. The original MAC uses a three-stage execution pipeline optimized for 16-bit operands and

featuring a 16

× 16 multiply array with a single 32-bit accumulator. The EMAC features a four-stage

pipeline optimized for 32-bit operands, with a fully pipelined 32

× 32 multiply array and four 48-bit

accumulators.
The first ColdFire MAC supported signed and unsigned integer operands and was optimized for 16

× 16

operations, such as those found in a variety of 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 32

× 32 multiply operations.

Addition of three more accumulators to minimize EMAC 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 4-1

.

Figure 4-1. Multiply-Accumulate Functionality Diagram

X

+/-

Operand Y

Operand X

Shift 0,1,-1

Accumulator(s)

Advertising
This manual is related to the following products: