PIC17C75X
9.0
HARDWARE MULTIPLIER
All PIC17C75X devices have an 8 x 8 hardware multi-
plier included in the ALU of the device. By making the
multiply a hardware operation, it completes in a single
instruction cycle. This is an unsigned multiply that gives
a 16-bit result. The result is stored into the 16-bit
PRODuct register (PRODH:PRODL). The multiplier
does not affect any 铿俛gs in the ALUSTA register.
Making the 8 x 8 multiplier execute in a single cycle
gives the following advantages:
鈥?Higher computational throughput
鈥?Reduces code size requirements for multiply algo-
rithms
The performance increase allows the device to be used
in applications previously reserved for Digital Signal
Processors.
Table 9-1 shows a performance comparison between
PIC17CXXX devices using the single cycle hardware
multiply, and performing the same function without the
hardware multiply.
Example 9-1 shows the sequence to do an 8 x 8
unsigned multiply. Only one instruction is required
when one argument of the multiply is already loaded in
the WREG register.
Example 9-2 shows the sequence to do an 8 x 8 signed
multiply. To account for the sign bits of the arguments,
each argument鈥檚 most signi铿乧ant bit (MSb) is tested
and the appropriate subtractions are done.
EXAMPLE 9-1:
8 x 8 UNSIGNED MULTIPLY
ROUTINE
ARG1, WREG
ARG2
;
; ARG1 * ARG2 ->
;
PRODH:PRODL
MOVFP
MULWF
EXAMPLE 9-2:
8 x 8 SIGNED MULTIPLY
ROUTINE
ARG1, WREG
ARG2
ARG2, SB
PRODH, F
ARG2, WREG
ARG1, SB
PRODH, F
MOVFP
MULWF
BTFSC
SUBWF
MOVFP
BTFSC
SUBWF
; ARG1 * ARG2 ->
;
PRODH:PRODL
; Test Sign Bit
; PRODH = PRODH
;
- ARG1
; Test Sign Bit
; PRODH = PRODH
;
- ARG2
TABLE 9-1:
Routine
8 x 8 unsigned
8 x 8 signed
16 x 16 unsigned
16 x 16 signed
PERFORMANCE COMPARISON
Multiply Method
Without hardware multiply
Hardware multiply
Without hardware multiply
Hardware multiply
Without hardware multiply
Hardware multiply
Without hardware multiply
Hardware multiply
Program Memory
Cycles (Max)
(Words)
13
1
鈥?/div>
6
21
24
52
36
69
1
鈥?/div>
6
242
24
254
36
@ 33 MHz
8.364
碌s
0.121
碌s
鈥?/div>
0.727
碌s
29.333
碌s
2.91
碌s
30.788
碌s
4.36
碌s
Time
漏
1997 Microchip Technology Inc.
Preliminary
DS30264A-page 61
prev
next