【计算机组成原理】多位串行加法器

多位串行加法器

将n个全加器的进位链串联即可得到n位串行加法器,也称为行波进位加法器(行波可以理解为进位信息需要从后往前一个接一个的传递)。
在这里插入图片描述

可以看到图中低位进位输出是连接到高位进位输入的。

考虑溢出判断的方式不同,可以将串行加法器分为如下两类:

  • 单符号位补码加法器
  • 双符号位补码加法器

单符号位补码加法器

在这里插入图片描述

上图是单符号位补码加法器的逻辑实现,对于有符号数的加减法运算,溢出的检测信号是overflow,可以直接利用最高位数的进位和符号位的进位异或得到。

对于无符号数的加法运算,溢出的检测信号是 C n {C_{n}} Cn具体情况如下:

在这里插入图片描述

对于无符号数的减法运算,溢出的检测信号还是 C n C_{n} Cn具体情况如下:

在这里插入图片描述

针对这两种情况,可以得出无符号数溢出的规律是加法变小,减法变大,其对应的检测公式如下:
U O F = S u b ⨁ C n UOF=Sub\bigoplus{C_{n}} UOF=SubCn
其中,Sub在加法时为0,减法时为1。

双符号位补码加法器

在这里插入图片描述

图中显示的双符号位补码加法器的溢出检测也分为有符号位数溢出检测和无符号位数溢出检测,其中有符号位数运算(加减)溢出检测的依据是第一个overflow,公式如下:

O v e r f l o w = S n − 1 ⨁ S n − 2 Overflow=S_{n-1}\bigoplus{S_{n-2}} Overflow=Sn1Sn2
无符号位数运算(加减)溢出检测的依据是第二个overflow,其对应的公式是前文的:
U O F = S u b ⨁ C n UOF=Sub\bigoplus{C_{n}} UOF=SubCn
当两个无符号数相加时(正数加正数): C n − 1 = 0 C_{n-1}=0 Cn1=0相当于Sub=0;
当两个无符号数相减时(正数加负数): C n − 1 = 1 {C_{n-1}}=1 Cn1=1相当于Sub=1。

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值