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

一位全加器

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

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

和数的逻辑实现

和为 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

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

在这里插入图片描述

其内部电路实现可以是:

扫描二维码关注公众号,回复: 16277544 查看本文章

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/zzy_NIC/article/details/120812393
今日推荐