加法器电路
忽软忽硬 第7期:加法器 视频号 上一个视频我讲了半加器,半加器没有办法算超过1位的二进制加法,原因是它没有一个机制让产生的进位进入下一次运算。这期视频中我们要解决这个问题,解决的方案叫全加器。全加器可以产生进位,并且把这个信号传递出去,只要把全加器串起来,就形成了加法器,串几个全加器,就是几位加法器。比如串四位,就叫4位加法器。串32位就叫32位加法器。串64个,就叫64位加法器,64位二进制已经可以表示一个天文数字了。
只要我们学会了2位二进制的加法,就可以做出任意位数的加法器,本次视频我们要做出一个4位的加法器出来。
以11+11为例,最右边的这一列是1+1=0,进位是1,这个需要一个半加器就可完成。因为有了进位,那么从右边二列就相当于3个二进制相加,那么只需要2个半加器就可以了。随后的每一列都要将这个进位考虑进去……再来看一下这个进位,这两个半加器的进位输出是不会同时为1的,因为顶多3个1相加,不可能出现两个为1的进位,只需要一个。因此,可以用下面的电路实现全加器。
在电子学中,加法器是一种用于执行加法运算的数字电路部件,是构成电子计算机核心微处理器中算术逻辑单元的基础。在这些电子系统中,加法器主要负责计算地址、索引等数据。除此之外,加法器也是其他一些硬件,例如二进制数的乘法器的重要组成部分。 尽管可以为不同计数系统设计专门的加法器,但是由于数字电路通常以二进制为基础,因此二进制加法器在实际应用中最为普遍。
在数字电路中,二进制数的减法可以通过加一个负数来间接完成。为了使负数的计算能够直接用加法器来完成,计算中的负数可以使用二补数(补码)来表示,具体的细节可以参考数字电路相关的书籍。
可以使用多个一位全加器来构成N位加法器,其中对应低位的全加器将其进位输出信号Cout连接到高一位的全加器的进入输入端Cin。这种构成多位加法器的形式被称为“波纹进位加法器”或“脉冲进位加法器”(ripple-carry adder),“波纹”形象地描述了进位信号依次向前传递的情形。如果不需要连接其他进位信号,则最低位的全加器可以用半加器替换。脉冲进位加法器的电路布局形式较为简单,设计这种电路花费时间较短。
然而,波纹进位加法器的进位输出、输入所经过的路径上比其他布局方式具有较多的逻辑门,高位的计算必须等待低位的进位输出信号被计算出来才能开始,因此造成了更大的延迟时间。