计组 - 加法器:进位链

加法器:进位链

1. 为什么研究加法器

ALU就是进行算数运算、逻辑运算等,其中中最重要的逻辑单元就是加法器,因为加法、减法、乘法、除法都是需要加法器辅助完成的,因此我们来需要探讨加法器如何设计

2. 串行加法器 VS 并行加法器

问题:如何提高加法器的速度
思路:加法器要想把速度加快,最好的办法就是所有位数能够并行运算,但是高位两个数加法需要加上低位的进位 ->
问题转换为:如何快速计算出每一位的进位出来,因此实现并行加法器
下图给出并行加法器的结构,通过并行加法器,重点在于确定进位是如何产生,实际上这个结果就是一位全加器的进位输出的逻辑表达式,主要是确定本地进位与传送条件

  • 本地进位:di = AiBi - 与低位进位无关
  • 传送条件:ti = Ai+Bi - 与低位进位无关

串行加法器
从并行加法器可以看出来,数据A和数据B每一位的值ai与bi肯定是确定,以及最后一个一位全加器的C-1为0,因此要想并行运算的关键是如何正确且快速的计算所有的进位

进位链:用来产生每位进位的电路

3 串行进位链 VS 并行进位链

上面我们知道:并行加法器的关键就是产生所有的进位,
进位链的概念:产生所有进位值的电路链

3.1 串行进位链

串行进位链
假设:一个与非门需要ty时间完成
由上图可知:
di本地进位与ti条件进位与低位进位无关,因此可以同时产生。假设此刻已经产生所有的di与ti需要计算所有的进位值,根据上述的逻辑表达式,每个进位都需要两个与非门,且高位进位需要等待低位进位值后再运算,因此在4位串行进位链中,产生全部进位需要:4*2dt=8dt

3.2 并行进位链

并行进位链
假设:一个与非门需要ty时间完成,一个或非门需要的1.5ty时间完成
相比于串行进位链,我们直接C1的逻辑表达式中的C0,替换为d0+t0C(-1),以此类推,将C2、C3、C4中的低位进位用对应的表达式替换,最终我们得到的C0、C1、C2、C3的表达式中只有一个确定进位C-1=0这个值,所以当所有的di与ti准备好后,进位C0、C1、C2、C3可以同时在2.5ty立即产生,以C2的产生过程为例,d2、t2d1、t2t1d0、t2t1t0C-1都是通过与非门同时产生的,然后产生的结果经过或非门,就拿到C2的值,期间就是1ty+1.5ty

3.3 串行进位链 VS 并行进位链

  1. 速度上:以4位进位链为例,一个与非门需要ty时间完成,一个或非门需要的1.5ty时间完成,那么4位串行进位链需要10ty,4位并行进位链需要2.5ty
  2. 集成度:非常明显,并行进位链需要更加庞大的组合逻辑电路

疑问:是不是只用并行进位链就ok啦
答案:并不是的,理论上是可以的,但有一个问题存在,现代计算机中基本上机器字长都是64位,也就是说当n等于64时,通过并行进位链来并行计算进位值会导致一个问题:越到后面的进位值的运算,就需要越来越多的di、ti参与进来,结果就是,电路将会会越来越复杂,因此我们需要在快速并行进位和电路设计复杂度上综合一下

4. 单重分组跳跃进位链 PK 双重分组跳跃进位链

4.1 单重分组跳跃进位链

单重分组跳跃进位链
单重分组跳跃进位链 = 小组内并行进位链 + 组与组之间是串行进位链
假设不变,低位小组的4位并行进位链需要2.5dt,一共n=16,有4个小组,组与组之间由于是采用串行进位,因此最需要 4*2.5dt= 10dt 产生16位的进位

4.2 双重分组跳跃进位链

在这里插入图片描述
在这里插入图片描述

双重分组跳跃进位链相比于单重分组跳跃进位链的特点:

  • 分两次组,先分大组,然后再分小组
  • 小组与小组之间的并行进位,大组与大组之间采用串行进位

过程:

  • 当di、ti、c-1形成后,经过2.5ty,通过D5~D8、T5-T8的逻辑表达式可知,都可以直接产生出来的,同时最后一个小组的C2、C1、C0也会产生。
  • 再经过2.5dt,由于D5~D8、T5-T8已经产生,通过(3)(4)双重分组跳跃进位链的大组进位线路,等价一个并行进位链的结构,所以可在2.5dt产生C3、C7、C11、C15,都是当前大组中每个小组处于第8小组需要的最低进位
  • 再经过2.5dt,由于C3、C7、C11、C15已经计算出,那么每个小组的最低位已经确定,那么第5小组、第6小组、第7小组的C14~12、C10-8、C6-4可以立即计算出来。
  • 5
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值