
Multiply Operations
2-41
Central Processing Unit
2.6 Multiply Operations
The C28x features a hardware multiplier that can perform 16-bit X 16-bit or
32-bit X 32-bit fixed-point multiplication. This functionality is enhanced by
16-bit X 16-bit multiply and accumulate (MAC), 32 X 32 MAC, and
16-bit X 16-bit dual MAC (DMAC) instructions. This section describes the com-
ponents involved in each type of multiplication.
2.6.1 16-bit X 16-bit Multiplication
The C28x multiplier can perform a 16-bit X 16-bit multiplication to produce a
signed or unsigned 32-bit product. Figure 2
involved in this multiplication.
The multiplier accepts two 16-bit inputs:
-
One input is from the upper 16 bits of the multiplicand register (T). Most
16 X 16 multiplication instructions require that you load T from a data-
memory location or a register before you execute the instruction. Howev-
er, the MAC and some versions of the MPY and MPYA instructions load
T for you before the multiplication.
-
The other input is from one of the following:
J
A data-memory location or a register (depending on which you specify
in the multiply instruction).
J
An instruction opcode. Some C28x multiply instructions allow you to
include a constant as an operation.
After the value has been multiplied by the second value, the 32-bit result is
stored in one of two places, depending on the particular multiply instruction:
the 32-bit product register (P) or the 32-bit accumulator (ACC).
One special 16-bit X 16-bit multiplication instruction takes two 32-bit input val-
ues as its operands. This instruction is the 16 X 16 DMAC instruction, which
performs dual 16 X 16 MAC operations in one instruction. In this case, the ACC
contains the result of multiplying and adding the upper word of the 32-bit oper-
ands. The P register contains the result of multiplying and adding the results
of the lower word of the 32-bit operands.
Содержание TMS320C28x
Страница 30: ...1 12...
Страница 80: ...This page intentionally left blank 2 50 This page intentionally left blank...
Страница 269: ...IN loc16 PA 6 112 MOV AL 0 AL 0 UOUT IORegC AL IOspace IORegC AL 10...
Страница 308: ...MAXCUL P loc32 6 151 Saturate MOVL Var64 2 ACC Store result into Var64 MOVL Var64 P...
Страница 509: ...SUBL ACC P PM 6 352 SUBL ACC P PM ACC S B 11 M X 4 MOVH Y ACC 5 Store Q15 result into Y...
Страница 585: ...This page intentionally left blank 7 32 This page intentionally left blank...