1996 微芯 技术 公司 ds30412c-页 49
PIC17C4X
8.0 硬件 乘法器
所有 pic17c4x 设备 除了 这 pic17c42, 有 一个
8 x 8 硬件 乘法器 包含 在 这 alu 的 这
设备. 用 制造 这 乘以 一个 硬件 运作, 它
完成 在 一个 单独的 操作指南 循环. 这个 是 一个
unsigned 乘以 那 给 一个 16-位 结果. 这 结果
是 贮存 在 这 16-位 产品 寄存器
(prodh:prodl). 这 乘法器 做 不 影响 任何
flags 在 这 alusta 寄存器.
制造 这 8 x 8 乘法器 execute 在 一个 单独的 循环
给 这 下列的 有利因素:
• 高等级的 computational throughput
• 减少 代号 大小 (所需的)东西 为 乘以
algorithms
这 效能 增加 准许 这 设备 至 是 使用
在 产品 先前 保留 为 数字的 信号
processors.
表格 8-1 显示 一个 效能 comparison 在
这 pic17c42 和 所有 其它 pic17cxx 设备, 这个
有 这 单独的 循环 硬件 乘以.
例子 8-1 显示 这 sequence 至 做 一个 8 x 8
unsigned 乘以. 仅有的 一个 操作指南 是 必需的
当 一个 argument 的 这 乘以 是 already 承载 在
这 wreg 寄存器.
例子 8-2 显示 这 sequence 至 做 一个 8 x 8 signed
乘以. 至 账户 为 这 sign 位 的 这 arguments,
各自 argument’s 大多数 significant 位 (msb) 是 测试
和 这 适合的 subtractions 是 完毕.
例子 8-1: 8 x 8 乘以 routine
movfp arg1, wreg
mulwf arg2 ; arg1 * arg2 ->
; prodh:prodl
例子 8-2: 8 x 8 signed 乘以
ROUTINE
movfp arg1, wreg
mulwf arg2 ; arg1 * arg2 ->
; prodh:prodl
btfsc arg2, sb ; 测试 sign 位
subwf prodh, f ; prodh = prodh
; - arg1
movfp arg2, wreg
btfsc arg1, sb ; 测试 sign 位
subwf prodh, f ; prodh = prodh
; - arg2
表格 8-1: 效能 comparison
Routine 设备
程序 记忆
(words)
循环 (最大值)
时间
@ 25 mhz @ 33 mhz
8 x 8 unsigned PIC17C42 13 69 11.04
µ
s n/一个
所有 其它 pic17cxx 设备 1 1 160 ns 121 ns
8 x 8 signed PIC17C42 — — — n/一个
所有 其它 pic17cxx 设备 6 6 960 ns 727 ns
16 x 16 unsigned PIC17C42 21 242 38.72
µ
s n/一个
所有 其它 pic17cxx 设备 24 24 3.84
µ
s 2.91
µ
s
16 x 16 signed PIC17C42 52 254 40.64
µ
s n/一个
所有 其它 pic17cxx 设备 36 36 5.76
µ
s 4.36
µ
s
这个 文档 是 创建 和 FrameMaker404