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资料
PIC18LF8525T-I/PT IC PIC MCU FLASH 24KX16 80TQFP
PIC18F6720T-E/PT IC PIC MCU FLASH 64KX16 64TQFP
PIC18F4539T-E/PT IC PIC MCU FLASH 12KX16 44TQFP
PIC16F685-I/P IC PIC MCU FLASH 4KX14 20DIP
PIC16F689-I/P IC PIC MCU FLASH 4KX14 20DIP
PIC16C56A-04/P IC MCU OTP 1KX12 18DIP
PIC18F8520T-E/PT IC PIC MCU FLASH 16KX16 80TQFP
XF2J-2624-11 CONN FPC 26POS 0.5MM SMT
相关代理商/技术参数
PIC18F65J10-I/PT 功能描述:8位微控制器 -MCU 32 KB FL 2KB RAM 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
PIC18F65J10T-I/PT 功能描述:8位微控制器 -MCU 32 KB FL 2KB RAM 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
PIC18F65J11-I/PT 功能描述:8位微控制器 -MCU 32KB Flash 2048bytes-RAM 51I/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
PIC18F65J11T-I/PT 功能描述:8位微控制器 -MCU 32KB Flash 2048bytes-RAM 51I/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
PIC18F65J15-I/PT 功能描述:8位微控制器 -MCU 32 KB FL 2KB RAM 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
PIC18F65J15T-I/PT 功能描述:8位微控制器 -MCU 32 KB FL 2KB RAM 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
PIC18F65J50-I/PT 功能描述:8位微控制器 -MCU 32KB FLSH 3936Bs RAM USB 2.0 nanoWatt 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
PIC18F65J50T-I/PT 功能描述:8位微控制器 -MCU 32KB FLSH 3936Bs RAM USB 2.0 nanoWatt 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