- 1、本文档共14页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MSP430硬件乘法器使用
MSP430程序库十三硬件乘法器使用
MAC
MACS
乘法累加的操作是自动加上上一次计算结果,所以最后才会读出结果。
硬件乘法器不占用CPU周期,有硬件实现,速度比软件实现的乘法
速度快很多。msp430f14x、msp430f16x 中都含有硬件乘法器模块,
方便用户需要速度的时候使用。
1. 硬件介绍:
在MSP430系列单片机中,硬件乘法器是外围模块,而不是CPU内核的一部分;
所以它的活动与否与CPU的活动与否无关,它的寄存器和其他的外围寄存器一
样通过CPU指令读写。
2.
硬件乘法器模块支持一下功能:无符号乘法、有符号乘法、无符号乘加、有符号
乘加;可以支持16*16 16*8 8*16 8*8bits的乘法。
3.
硬件乘法器的模块框图如下:
模式SUMEXT
MPY SUMEXT总是0000H
MPYS SUMEXT包含结果的扩展符号
00000H结果为正数或零
地址0FFFFh结果为负
MAC SUMEXT包含结果的进
为0000h的结果无进
0001H结果有进位
MACS SUMEXT包含结果的扩展符号
00000H结果为正数或零
地址0FFFFh结果为负
4.
5.
硬件乘法器模块的四种操作类型(无符号乘法、有符号乘法、无符号乘加、有符
号乘加)是由写入的第一个操作数的位置决定的。这个模块有两个操作数寄存器:
OP1和OP2、三个结果寄存器RESLO,RESHI, 和SUMEXT。RESLO寄存器
存储结果的低字(低16位);RESHI寄存器存储结果的高字(高16位);SUMEXT
寄存器存储结果的有关信息。结果在3个时钟周期后即可完成;写入OP2后的
下一条指令即可读取结果,有一种情况例外:用间接寻址方式访问结果。用间接
寻址方式访问结果时,读取结果之前需要有一条NOP指令。
6.
操作数OP1有四个地址(MPY:0130h MPYS:0132h MAC:0134h
MACS:0136h),这四个寄存器用来选择乘法的操作模式。写入第一个操作数寄
存器决定用哪种操作:无符号 用符号等,但是不启动相乘操作;写入第二个操
作数寄存器启动相乘的操作。计算完成后结果存入寄存器RESLO,RESHI, 和
SUMEXT。
7.
操作数1的四个地址对应的操作:
8.
OP1Address Register Name Operation
0130h MPY Unsigned multiply (无符号乘法)
0132h MPYS Signed multiply (有符号乘法)
0134h MAC Unsigned multiply accumulate
(无符号乘加)
0136h MACS Signedmultiplyaccumulate(有
符号乘加)
9.
四种操作模式下高位结果寄存器的内容如下:
10.
Mode RESHIContents
MPY Upper 16-bits of the result
MPYS The MSBisthesignofthe result.The remaining
bits arethe upper
15-bits of the result.Two’s complement notation
is usedforthe result.
MAC Upper 16-bits of the result
MACS Upper 16-bits of the result.Two’s complement
notation is used forthe result.
11.
文档评论(0)