32-Bit Hardware Multiplier Operation
9-4
32-Bit Hardware Multiplier
9.2
32-Bit Hardware Multiplier Operation
The hardware multiplier supports 8-bit, 16-bit, 24-bit and 32-bit operands with
unsigned multiply, signed multiply, unsigned multiply accumulate, and signed
multiply accumulate operations. The size of the operands are defined by the
address the operand is written to and if it is written as word or byte. The type
of operation is selected by the address the first operand is written to.
The hardware multiplier has two 32-bit operand registers, operand one OP1
and operand two OP2, and a 64-bit result register accessible via registers
RES0 to RES3. For compatibility with the 16x16 hardware multiplier the result
of a 8-bit or 16-bit operation is accessible via RESLO, RESHI, and SUMEXT,
as well. RESLO stores the low word of the 16x16-bit result, RESHI stores the
high word of the result, and SUMEXT stores information about the result.
The result of a 8-bit or 16-bit operation is ready in three MCLK cycles and can
be read with the next instruction after writing to OP2, except when using an
indirect addressing mode to access the result. When using indirect addressing
for the result, a
NOP
is required before the result is ready.
The result of a 24-bit or 32-bit operation can be read with successive
instructions after writing OP2 or OP2H starting with RES0, except when using
an indirect addressing mode to access the result. When using indirect
addressing for the result, a
NOP
is required before the result is ready.
Table 9−1 summarizes when each word of the 64-bit result is available for the
various combinations of operand sizes. With a 32−bit wide second operand
OP2L and OP2H needs to be written. Depending on when the two 16-bit parts
are written the result availability may vary thus the table shows two entries, one
for OP2L written and one for OP2H written. The worst case defines the actual
result availability.
Table 9−1. Result Availability (MPYFRAC = 0; MPYSAT = 0)
Operation
Result ready in MCLK cycles
After
(OP1 x OP2)
RES0
RES1
RES2
RES3
MPYC Bit
8/16 x 8/16
3
3
4
4
3
OP2 written
24/32 x 8/16
3
5
6
7
7
OP2 written
8/16 x 24/32
3
5
6
7
7
OP2L written
N/A
3
4
4
4
OP2H written
24/32 x 24/32
3
8
10
11
11
OP2L written
N/A
3
5
6
6
OP2H written
Содержание MSP430x4xx Family
Страница 1: ...MSP430x4xx Family 2007 Mixed Signal Products User s Guide SLAU056G ...
Страница 2: ......
Страница 6: ...vi ...
Страница 114: ...3 76 RISC 16 Bit CPU ...
Страница 304: ...5 20 FLL Clock Module ...
Страница 340: ...7 8 Supply Voltage Supervisor ...
Страница 348: ...8 8 16 Bit Hardware Multiplier ...
Страница 372: ...9 24 32 Bit Hardware Multiplier ...
Страница 400: ...10 28 DMA Controller ...
Страница 428: ...13 10 Basic Timer1 ...
Страница 466: ...15 24 Timer_A ...
Страница 522: ...17 30 USART Peripheral Interface UART Mode ...
Страница 544: ...18 22 USART Peripheral Interface SPI Mode ...
Страница 672: ...23 12 Comparator_A ...
Страница 692: ...24 20 LCD Controller ...
Страница 746: ...26 28 ADC12 ...