Wallace Tree 图解

Wallace Tree 主要思想是:将三行变成2行,实际相当于3位到2位的压缩器,简称3-2压缩器。其思想还是通过合理的分配步骤,处理 两个数相乘的过程中,出现的大量的部分积。

也就是说,传统的算法,所有部分积都单独列出来,两个数相乘,有多少位,就得列出多少位,然后,所有部分积相加,得出最终结果。 这样的缺点无疑是:慢!

和上一篇 Booth 编码 类似,Wallace Tree 也是充分利用部分积,通过合理的组织步骤(不再是传统的所有部分积单独列出来,再按照权重累加),这个合理的步骤,可以参看后面的电路结构,重点就是第一段说的,三行变两行。我认为,基本思想还是,利用空间换取速度的一种体现。即多用加法器,合理组织部分积相加的步骤,提高运算速度。

详细的过程,如下图所示:

在这里插入图片描述

下面,再对上图,进行第二轮的“三行变两行”的过程,即经典算法中,第二个框出的红框的部分。

大家可以根据颜色表示,来区分实际运算的过程。蓝色表示第二轮的三行变2行。橙色和绿色表示实际运算中,实际相加的“组员”。即他们分别有 sum项和进位项carry。
在第二轮的三行变2行的过程中,这里直接变成了2行,是直接写的最终结果,我们在第一幅图的基础上,直接写的结果,这点要注意下。只是,我们依然按照权重,标清楚位置就可以了。(如橙色的是在16的权重上)
手画的可能有点歪,注意权重即可。
在这里插入图片描述
下图展示了 Tree 的由来,注意 X3Y3 X2Y3 X1Y3 X0Y3 本来是在同一行着,为了 组成 Tree,请观察他们挪动的位置。 类似的,X3Y2 X2Y2 本来也是同一行,为了组成 Tree,请注意他们的挪动的位置。
在这里插入图片描述
请注意,相加,先加最顶端的,即树尖的部分,如下图所示。
在这里插入图片描述

  • 12
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值