乘法器加速1--Booth算法

引言

之前学习了乘法器的设计(计算机组成与设计-乘法器),在考虑对乘法器进行优化中,有一种Booth算法可以进一步加快计算速度。下文对其进行介绍:

Booth Algorithm

Booth算法实际上就是考虑减少计算过程中的乘积项,关键点在于对乘数进行Booth编码:以0111为例

Booth编码特性,当前位与后一位进行比较,若1-0变化,则Booth码为-1;若0-1变化,则Booth码为1;若没有跳变则Booth码为0。最低位需要将被乘数右边扩展一位0作为参考。

因此原本需要进行3次加法,经过编码后减少到2次。对于含有较多连续1或连续0的数据,这样的方式可以极大减小计算次数。

当Booth码为-1时,把被乘数用补码表示,并且符号位扩展,再进行对应位的加法计算即可。

计算案例

2×7:

负数×正数或者负数×负数也是一样的分析方法。可自行验证。

 

posted @   月光小猪(已长膘)  阅读(806)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
点击右上角即可分享
微信分享提示
主题色彩