English
Language : 

MCF5282CVM66 Datasheet, PDF (91/766 Pages) Freescale Semiconductor, Inc – MCF5282 and MCF5216 ColdFire® Microcontroller User’s Manual
Command
Load Accumulator
Extensions 23
Store Accumulator
Extensions 01
Store Accumulator
Extensions 23
Enhanced Multiply-Accumulate Unit (EMAC)
Table 3-8. EMAC Instruction Summary (continued)
Mnemonic
Description
move.l {Ry,#imm},ACCext23 Loads the accumulator 2,3 extension bytes with a 32-bit
operand
move.l ACCext01,Rx
Writes the contents of accumulator 0,1 extension bytes into a
CPU register
move.l ACCext23,Rx
Writes the contents of accumulator 2,3 extension bytes into a
CPU register
3.3.3 EMAC Instruction Execution Times
The instruction execution times for the EMAC can be found in Section 2.3.5.6, “EMAC Instruction
Execution Times”.
The EMAC execution pipeline overlaps the AGEX stage of the OEP (the first stage of the EMAC pipeline
is the last stage of the basic OEP). EMAC units are designed for sustained, fully-pipelined operation on
accumulator load, copy, and multiply-accumulate instructions. However, instructions that store contents
of the multiply-accumulate programming model can generate OEP stalls that expose the EMAC execution
pipeline depth:
mac.w Ry, Rx, Acc0
move.l Acc0, Rz
The MOVE.L instruction that stores the accumulator to an integer register (Rz) stalls until the
program-visible copy of the accumulator is available. Figure 3-9 shows EMAC timing.
DSOC
AGEX
mac
Three-cycle
regBusy stall
move
mac
move
move
EMAC EX1
EMAC EX2
EMAC EX3
EMAC EX4
mac
move
mac
mac
mac
Accumulator 0
old
new
Figure 3-9. EMAC-Specific OEP Sequence Stall
In Figure 3-9, the OEP stalls the store-accumulator instruction for three cycles: the EMAC pipleline depth
minus 1. The minus 1 factor is needed because the OEP and EMAC pipelines overlap by a cycle, the
AGEX stage. As the store-accumulator instruction reaches the AGEX stage where the operation is
performed, the recently updated accumulator 0 value is available.
Freescale Semiconductor
MCF5282 and MCF5216 ColdFire Microcontroller User’s Manual, Rev. 3
3-13