在电子学中,加法器(adder)是一种用于执行加法运算的数位电路部件,是构成电子计算机核心微处理器中算术逻辑单元的基础。在这些电子系统中,加法器主要负责计算地址、索引等数据。除此之外,加法器也是其他一些硬件,例如二进制数的乘法器的重要组成部分。尽管可以为不同计数系统设计专门的加法器,但是由于数位电路通常以二进制为基础,因此二进制加法器在实际应用中最为普遍。[1]
构造一个全加器
全加器
全加器(full adder)将两个一位二进制数相加,并根据接收到的低位进位信号,输出和、进位输出。全加器的三个输入信号为两个加数A、B和低位进位 C i n C_{in} Cin。全加器的真值表为:
| A A A | B B B | C i n C_{in} Cin | C o u t C_{out} Cout | S S S |
|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 |
| 1 | 0 | 0 | 0 | 1 |
| 0 | 1 | 0 | 0 | 1 |
| 1 | 1 | 0 | 1 | 0 |
| 0 | 0 | 1 | 0 | 1 |
| 1 | 0 | 1 | 1 | 0 |
| 0 | 1 | 1 | 1 | 0 |
| 1 | 1 | 1 | 1 | 1 |
如上所示,为1位的全加器,如果将一个1位全加器的 C o u t C_{out} Cout端接入另一个全加器的 C i n C_{in} Cin端,n个1位全加器串联,就可以得到一个n位的全加器。
从半加器开始
要想构造一个全加器,可以先不用考虑进位的情况,即没有 C i n C_{in} Cin端口。此时,这个加法器为一个半加器。半加器的真值表如下:
| A A A | B B B | C o u t C_{out} Cout | S S S |
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 0 | 1 | 0 | 1 |
| 1 | 0 | 0 | 1 |
| 1 | 1 | 1 | 0 |
根据半加器的真值表,我们可以很轻松地画出逻辑门电路。

加入进位
在计算加法时,相同位上的数相加后,还要加上从低位进上来的数。
因此,下一步就是将半加器中的
S
S
S和
C
i
n
C_{in}
Cin在经过一个半加器。

处理进位
最后一步就是处理连续的两个半加器所产生的两个进位。只要任意一个
C
o
u
t
C_{out}
Cout输出1,最终结果就是该位一定向高位产生一个进位。因此只需要用一个或门将两个
C
o
u
t
C_{out}
Cout相连。
实际上,细心观察不难发现,不可能出现两个
C
o
u
t
C_{out}
Cout同时输出1的情况出现。因此,将或门替换为异或门也可以取得同样的效果。

至此,一个全加器就构建完成了。
全加器是电子计算中执行加法操作的基本组件,它接受两个二进制数和一个低位进位,输出和与进位。半加器是全加器的基础,没有考虑进位情况。通过连接多个半加器并处理进位,可以构建出全加器。进位处理通常涉及或门或异或门,确保正确计算高位的进位。
2433

被折叠的 条评论
为什么被折叠?



