430 硬件乘法器 小解

本文深入探讨了430单片机中的硬件乘法器工作原理,详细解析了其如何高效地执行乘法运算,对于理解430芯片内部结构和提升嵌入式系统性能具有重要意义。
摘要由CSDN通过智能技术生成
MSP430程序库<十三>硬件乘法器使用
 

硬件乘法器不占用CPU周期,有硬件实现,速度比软件实现的乘法速度快很多。msp430f14x、msp430f16x中都含有硬件乘法器模块,方便用户需要速度的时候使用。

  1. 硬件介绍:

    在MSP430系列单片机中,硬件乘法器是外围模块,而不是CPU内核的一部分;所以它的活动与否与CPU的活动与否无关,它的寄存器和其他的外围寄存器一样通过CPU指令读写。

    硬件乘法器模块支持一下功能:无符号乘法、有符号乘法、无符号乘加、有符号乘加;可以支持16*16 16*8 8*16 8*8bits的乘法。

    硬件乘法器的模块框图如下:

    image

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

    操作数OP1有四个地址(MPY:0130h MPYS:0132h MAC:0134h MACS:0136h),这四个寄存器用来选择乘法的操作模式。写入第一个操作数寄存器决定用哪种操作:无符号 用符号等,但是不启动相乘操作;写入第二个操作数寄存器启动相乘的操作。计算完成后结果存入寄存器RESLO,RESHI, 和SUMEXT。

    操作数1的四个地址对应的操作:

    OP1 Address Register Name   Operation
    0130h       MPY             Unsigned multiply(无符号乘法)
    0132h       MPYS            Signed multiply(有符号乘法)
    0134h       MAC             Unsigned multiply accumulate(无符号乘加)
    0136h       MACS            Signed multiply accumulate(有符号乘加)
    

    四种操作模式下高位结果寄存器的内容如下:

    Mode        RESHI Contents
    MPY         Upper 16-bits of the result
    MPYS        The MSB is the sign of the result. The remaining bits are the upper
                15-bits of the result. Two’s complement notation is usedfor the result.
    MAC         Upper 16-bits of the result
    MACS        Upper 16-
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值