【计算机组成原理】一位全加器

一位全加器

在设计全加器的过程中,需要考虑如下两个问题:

  • 如何产生相加数的和数
  • 如何产生相加数的进位数

和数的逻辑实现

和为 1 : 0 + 1 = 1    1 + 0 = 1 和为 0 : 0 + 0 = 0    1 + 1 = 0 和为1: 0 + 1 = 1 \space \space 1 + 0 = 1 \\和为0: 0 + 0 = 0 \space \space 1 + 1 = 0 和为1:0+1=1  1+0=1和为0:0+0=0  1+1=0

根据上述公式可知,可以利用一个异或门来自动实现一位加法(将算术运算转化为逻辑运算),而实现能实现这一简单功能的电路称为半加器HA(Half Adder)

在这里插入图片描述

对应的公式为:
S = X ⨁ Y S=X\bigoplus{Y} S=XY

进位数的逻辑实现

在实现了和数逻辑电路的基础上,考虑进位数的实现:

在这里插入图片描述

根据上表可知,当两个加数和低位进位数中存在奇数个1时,和数为1,则同样可以借助异或门来实现,而进位数为1的情况可以根据进位来源分析,即要么两个加数都为1的情况,要么其中一个加数为1,低进位数也为1,于是可得到如下公式:
S i = X i ⨁ Y i ⨁ C i C i + 1 = X i Y i + ( X i ⨁ Y i ) C i S_{i}=X_{i}\bigoplus{Y_{i}}\bigoplus{C_{i}} \\C_{i+1}=X_{i}Y_{i}+(X_{i}\bigoplus{Y_{i}})C_{i} Si=XiYiCiCi+1=XiYi+(XiYi)Ci

根据上述分析,即可设计出一位全加器的逻辑实现:

在这里插入图片描述

其内部电路实现可以是:

在这里插入图片描述

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值