2010-2012 Microchip Technology Inc.
DS39977F-page 145
PIC18F66K80 FAMILY
9.0
8 x 8 HARDWARE MULTIPLIER
9.1
Introduction
All PIC18 devices include an 8 x 8 hardware multiplier
as part of the ALU. The multiplier performs an unsigned
operation and yields a 16-bit result that is stored in the
product register pair, PRODH:PRODL. The multiplier’s
operation does not affect any flags in the STATUS
register.
Making multiplication a hardware operation allows it to
be completed in a single instruction cycle. This has the
advantages of higher computational throughput and
reduced code size for multiplication algorithms and
allows PIC18 devices to be used in many applications
previously reserved for digital-signal processors. A
comparison of various hardware and software multiply
operations, along with the savings in memory and
execution time, is shown in Table 9-1.
9.2
Operation
Example 9-1 shows the instruction sequence for an 8 x 8
unsigned multiplication. Only one instruction is required
when one of the arguments is already loaded in the
WREG register.
Example 9-2 shows the sequence to do an 8 x 8 signed
multiplication. To account for the sign bits of the argu-
ments, each argument’s Most Significant bit (MSb) is
tested and the appropriate subtractions are done.
EXAMPLE 9-1:
8 x 8 UNSIGNED MULTIPLY
ROUTINE
EXAMPLE 9-2:
8 x 8 SIGNED MULTIPLY
ROUTINE
TABLE 9-1:
PERFORMANCE COMPARISON FOR VARIOUS MULTIPLY OPERATIONS
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, F
; PRODH = PRODH
;
- ARG1
MOVF
ARG2, W
BTFSC
ARG1, SB
; Test Sign Bit
SUBWF
PRODH, F
; PRODH = PRODH
;
- ARG2
Routine
Multiply Method
Program
Memory
(Words)
Cycles
(Max)
Time
@ 64 MHz
@ 48 MHz
@ 10 MHz
@ 4 MHz
8 x 8 unsigned
Without hardware multiply
13
69
4.3
s5.7 s27.6 s69 s
Hardware multiply
1
62.5 ns
83.3 ns
400 ns
1
s
8 x 8 signed
Without hardware multiply
33
91
5.6
s7.5 s36.4 s91 s
Hardware multiply
6
375 ns
500 ns
2.4
s6 s
16 x 16
unsigned
Without hardware multiply
21
242
15.1
s20.1 s96.8 s
242
s
Hardware multiply
28
1.7
s2.3 s11.2 s28 s
16 x 16 signed
Without hardware multiply
52
254
15.8
s21.2 s
101.6
s
254
s
Hardware multiply
35
40
2.5
s3.3 s16.0 s40 s
相关PDF资料
PIC24FJ64GA308-I/PT MCU 16BIT 64KB FLASH 80TQFP
PIC18F66K80-I/PT MCU PIC 64KB FLASH 64TQFP
PIC24FJ64GA104-I/ML IC PIC MCU FLASH 64KB 44-QFN
PIC32MX250F128B-I/SP IC MCU 32BIT 128KB FLASH 28-SDIP
PIC18F47J53-I/PT IC PIC MCU 128KB FLASH 44TQFP
DSPIC30F1010-30I/SP IC DSPIC MCU/DSP 6K 28DIP
PIC24FJ64GB002-I/ML IC MCU 16BIT 64KB FLASH 28QFN
52746-1270 CONN FFC 12POS .5MM R/A ZIF SMD
相关代理商/技术参数
PIC18LF66K80T-I/MR 功能描述:8位微控制器 -MCU 64KB FL 4KBRM 16MIPS 12bit ADC CTMU XLP 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
PIC18LF66K80T-I/PT 功能描述:8位微控制器 -MCU 64KB FL 4KBRM 16MIPS 12bit ADC CTMU XLP 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
PIC18LF6720-I/PT 功能描述:8位微控制器 -MCU 128KB 3840 RAM 52I/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
PIC18LF6720-I/PT 制造商:Microchip Technology Inc 功能描述:8BIT FLASH MCU 18LF6720 TQFP64
PIC18LF6720-I/PTC01 制造商:Microchip Technology 功能描述:MCU 8-Bit PIC18 PIC RISC 128KB Flash 1.8V/2.5V/3.3V/5V 64-Pin TQFP Tray
PIC18LF6720T-I/PT 功能描述:8位微控制器 -MCU 128KB 3840 RAM 52I/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
PIC18LF6721-I/PT 功能描述:8位微控制器 -MCU 128kBF 4096RM 40MHz nonoWatt 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
PIC18LF6721T-I/PT 功能描述:8位微控制器 -MCU 128kBF 4096RM 40MHz nonoWatt 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