MSP430程序库(十三)硬件乘法器使用

MSP430程序库(十三)硬件乘法器使用

ID:36853596

大小:292.33 KB

页数:7页

时间:2019-05-16

MSP430程序库(十三)硬件乘法器使用_第1页
MSP430程序库(十三)硬件乘法器使用_第2页
MSP430程序库(十三)硬件乘法器使用_第3页
MSP430程序库(十三)硬件乘法器使用_第4页
MSP430程序库(十三)硬件乘法器使用_第5页
资源描述:

《MSP430程序库(十三)硬件乘法器使用》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、MSP430程序库<十三>硬件乘法器使用硬件乘法器不占用CPU周期,有硬件实现,速度比软件实现的乘法速度快很多。msp430f14x、msp430f16x中都含有硬件乘法器模块,方便用户需要速度的时候使用。1.硬件介绍:在MSP430系列单片机中,硬件乘法器是外围模块,而不是CPU内核的一部分;所以它的活动与否与CPU的活动与否无关,它的寄存器和其他的外围寄存器一样通过CPU指令读写。硬件乘法器模块支持一下功能:无符号乘法、有符号乘法、无符号乘加、有符号乘加;可以支持16*1616*88*168*8bits的乘法。硬件乘法器的模块框图如下:硬件乘法器模块

2、的四种操作类型(无符号乘法、有符号乘法、无符号乘加、有符号乘加)是由写入的第一个操作数的位置决定的。这个模块有两个操作数寄存器:OP1和OP2、三个结果寄存器RESLO,RESHI,和SUMEXT。RESLO寄存器存储结果的低字(低16位);RESHI寄存器存储结果的高字(高16位);SUMEXT寄存器存储结果的有关信息。结果在3个时钟周期后即可完成;写入OP2后的下一条指令即可读取结果,有一种情况例外:用间接寻址方式访问结果。用间接寻址方式访问结果时,读取结果之前需要有一条NOP指令。操作数OP1有四个地址(MPY:0130hMPYS:0132hMAC

3、:0134hMACS:0136h),这四个寄存器用来选择乘法的操作模式。写入第一个操作数寄存器决定用哪种操作:无符号用符号等,但是不启动相乘操作;写入第二个操作数寄存器启动相乘的操作。计算完成后结果存入寄存器RESLO,RESHI,和SUMEXT。操作数1的四个地址对应的操作:OP1AddressRegisterNameOperation0130hMPYUnsignedmultiply(无符号乘法)0132hMPYSSignedmultiply(有符号乘法)0134hMACUnsignedmultiplyaccumulate(无符号乘加)0136hMAC

4、SSignedmultiplyaccumulate(有符号乘加)四种操作模式下高位结果寄存器的内容如下:ModeRESHIContentsMPYUpper16-bitsoftheresultMPYSTheMSBisthesignoftheresult.Theremainingbitsaretheupper15-bitsoftheresult.Two’scomplementnotationisusedfortheresult.MACUpper16-bitsoftheresultMACSUpper16-bitsoftheresult.Two’scomplem

5、entnotationisusedfortheresult.四种操作模式SUMEXT寄存器的内容:ModeSUMEXTMPYSUMEXTisalways0000hMPYSSUMEXTcontainstheextendedsignoftheresult00000hResultwaspositiveorzero0FFFFhResultwasnegativeMACSUMEXTcontainsthecarryoftheresult0000hNocarryforresult0001hResulthasacarryMACSSUMEXTcontainstheexten

6、dedsignoftheresult00000hResultwaspositiveorzero0FFFFhResultwasnegative连续乘法运算时,如果操作数1不需改变就可以运算,则可以不需要重新写入和以保存内容相同的数;但OP2必须重新写入以启动乘法运算。MACSUnderflowandOverflow(MACS时的上溢和下溢):硬件乘法器不检测有符号乘加时运算结果的上溢出和下溢出。结果的正数范围:0到7FFFFFFFh;负数范围:0FFFFFFFFh到80000000h。下溢出是两个负数的和结果寄存器得到的是正数,上溢出是两个正数的和结果寄存

7、器得到的是负数。SUMEXT寄存器存储有结果的符号,可以根据它判断是否溢出(0000h负数和则上溢0FFFFh正数和则下溢)。使用时程序必须合适的检测、处理MACS的溢出情况。2.程序示例(用户指南上给出的汇编示例):所有乘数模式的例子如下。所有的8x8模式使用的寄存器的绝对地址,因为汇编器将不允许B访问到字寄存器时使用标准定义的文件标签。;16x16UnsignedMultiplyMOV#01234h,&MPY;LoadfirstoperandMOV#05678h,&OP2;Loadsecondoperand;...;Processresults;8x

8、8UnsignedMultiply.Absoluteaddressing.MOV

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。