2004 Microchip Technology Inc.
DS30491C-page 107
PIC18F6585/8585/6680/8680
8.0
8 x 8 HARDWARE MULTIPLIER
8.1
Introduction
An 8 x 8 hardware multiplier is included in the ALU of
the PIC18F6585/8585/6680/8680 devices. By making
the multiply a hardware operation, it completes in a sin-
gle instruction cycle. This is an unsigned multiply that
gives a 16-bit result. The result is stored in the 16-bit
product register pair (PRODH:PRODL). The multiplier
does not affect any flags 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
algorithms
The performance increase allows the device to be used
in applications previously reserved for Digital Signal
Processors.
Table 8-1 shows a performance comparison between
enhanced devices using the single-cycle hardware
multiply and performing the same function without the
hardware multiply.
8.2
Operation
Example 8-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 8-2 shows the sequence to do an 8 x 8 signed
multiply. To account for the sign bits of the arguments,
each argument’s Most Significant bit (MSb) is tested
and the appropriate subtractions are done.
EXAMPLE 8-1:
8 x 8 UNSIGNED
MULTIPLY ROUTINE
EXAMPLE 8-2:
8 x 8 SIGNED MULTIPLY
ROUTINE
TABLE 8-1:
PERFORMANCE COMPARISON
MOVF
ARG1, W
;
MULWF
ARG2
; ARG1 * ARG2 ->
; PRODH:PRODL
MOVF
ARG1, W
;
MULWF
ARG2
; ARG1 * ARG2 ->
; PRODH:PRODL
BTFSC
ARG2, SB
; Test Sign Bit
SUBWF
PRODH
; PRODH = PRODH
;
- ARG1
MOVF
ARG2, W
;
BTFSC
ARG1, SB
; Test Sign Bit
SUBWF
PRODH
; PRODH = PRODH
;
- ARG2
Routine
Multiply Method
Program
Memory
(Words)
Cycles
(Max)
Time
@ 40 MHz
@ 10 MHz
@ 4 MHz
8 x 8 unsigned
Without hardware multiply
13
69
6.9
s
27.6
s
69
s
Hardware multiply
1
100 ns
400 ns
1
s
8 x 8 signed
Without hardware multiply
33
91
9.1
s
36.4
s
91
s
Hardware multiply
6
600 ns
2.4
s6 s
16 x 16 unsigned
Without hardware multiply
21
242
24.2
s
96.8
s
242
s
Hardware multiply
24
2.4
s9.6 s
24
s
16 x 16 signed
Without hardware multiply
52
254
25.4
s102.6 s
254
s
Hardware multiply
36
3.6
s
14.4
s
36
s
相关PDF资料
XF2J-3024-11 CONN FPC 30POS 0.5MM SMT
PIC18LF6525T-I/PT IC PIC MCU FLASH 24KX16 64TQFP
PIC18LF8621T-I/PT IC PIC MCU FLASH 32KX16 80TQFP
PIC18F8620T-E/PT IC PIC MCU FLASH 32KX16 80TQFP
PIC18F8720T-E/PT IC PIC MCU FLASH 64KX16 80TQFP
PIC18F4439T-E/ML IC PIC MCU FLASH 6KX16 44QFN
XF2J-2824-11 CONN FPC 28POS 0.5MM SMT
PIC18F4439T-E/PT IC PIC MCU FLASH 6KX16 44TQFP
相关代理商/技术参数
PIC18LF8620-I/PT 功能描述:8位微控制器 -MCU 64KB 3840 RAM 68I/O RoHS:否 制造商:Silicon Labs 核心:8051 处理器系列:C8051F39x 数据总线宽度:8 bit 最大时钟频率:50 MHz 程序存储器大小:16 KB 数据 RAM 大小:1 KB 片上 ADC:Yes 工作电源电压:1.8 V to 3.6 V 工作温度范围:- 40 C to + 105 C 封装 / 箱体:QFN-20 安装风格:SMD/SMT
PIC18LF8620-I/PT 制造商:Microchip Technology Inc 功能描述:8BIT FLASH MCU 18LF8620 TQFP80
PIC18LF8620-I/PTC01 制造商:Microchip Technology Inc 功能描述:
PIC18LF8620T-I/PT 功能描述:8位微控制器 -MCU 64KB 3840 RAM 68I/O RoHS:否 制造商:Silicon Labs 核心:8051 处理器系列:C8051F39x 数据总线宽度:8 bit 最大时钟频率:50 MHz 程序存储器大小:16 KB 数据 RAM 大小:1 KB 片上 ADC:Yes 工作电源电压:1.8 V to 3.6 V 工作温度范围:- 40 C to + 105 C 封装 / 箱体:QFN-20 安装风格:SMD/SMT
PIC18LF8621-I/PT 功能描述:8位微控制器 -MCU 64KB 3840 RAM 68I/O RoHS:否 制造商:Silicon Labs 核心:8051 处理器系列:C8051F39x 数据总线宽度:8 bit 最大时钟频率:50 MHz 程序存储器大小:16 KB 数据 RAM 大小:1 KB 片上 ADC:Yes 工作电源电压:1.8 V to 3.6 V 工作温度范围:- 40 C to + 105 C 封装 / 箱体:QFN-20 安装风格:SMD/SMT
PIC18LF8621T-I/PT 功能描述:8位微控制器 -MCU 64KB 3840 RAM 68I/O RoHS:否 制造商:Silicon Labs 核心:8051 处理器系列:C8051F39x 数据总线宽度:8 bit 最大时钟频率:50 MHz 程序存储器大小:16 KB 数据 RAM 大小:1 KB 片上 ADC:Yes 工作电源电压:1.8 V to 3.6 V 工作温度范围:- 40 C to + 105 C 封装 / 箱体:QFN-20 安装风格:SMD/SMT
PIC18LF8622-I/PT 功能描述:8位微控制器 -MCU 64 KB FL 4K RAM 70 I/O RoHS:否 制造商:Silicon Labs 核心:8051 处理器系列:C8051F39x 数据总线宽度:8 bit 最大时钟频率:50 MHz 程序存储器大小:16 KB 数据 RAM 大小:1 KB 片上 ADC:Yes 工作电源电压:1.8 V to 3.6 V 工作温度范围:- 40 C to + 105 C 封装 / 箱体:QFN-20 安装风格:SMD/SMT
PIC18LF8622T-I/PT 功能描述:8位微控制器 -MCU 64 KB FL 4K RAM 70 I/O RoHS:否 制造商:Silicon Labs 核心:8051 处理器系列:C8051F39x 数据总线宽度:8 bit 最大时钟频率:50 MHz 程序存储器大小:16 KB 数据 RAM 大小:1 KB 片上 ADC:Yes 工作电源电压:1.8 V to 3.6 V 工作温度范围:- 40 C to + 105 C 封装 / 箱体:QFN-20 安装风格:SMD/SMT