什么是加法器
加法器是为了实现加法的。
即是产生数的和的装置。加数和被加数为输入,和数与进位为输出的装置为半加器。若加数、被加数与低位的进位数为输入,而和数与进位为输出则为全加器。常用作计算机算术逻辑部件,执行逻辑操作、移位与指令调用。
对于 1 位的二进制加法,相关的有五个的量:1,被加数 A,2,被加数 B,3,前一位的进位 CIN,4,此位二数相加的和 S,5,此位二数相加产生的进位 COUT。前三个量为输入量,后两个量为输出量,五个量均为 1 位。
对于 32 位的二进制加法,相关的也有五个量:1,被加数 A(32 位),2,被加数 B(32 位),3,前一位的进位 CIN(1 位),4,此位二数相加的和 S(32 位),5,此位二数相加产生的进位 COUT(1 位)。
要实现 32 位的二进制加法,一种自然的想法就是将 1 位的二进制加法重复 32 次(即逐位进位加法器)。这样做无疑是可行且易行的,但由于每一位的 CIN 都是由前一位的 COUT 提供的,所以第 2 位必须在第 1 位计算出结果后,才能开始计算;第 3 位必须在第 2 位计算出结果后,才能开始计算,等等。而最后的第 32 位必须在前 31 位全部计算出结果后,才能开始计算。这样的方法,使得实现 32 位的二进制加法所需的时间是实现 1 位的二进制加法的时间的 32 倍。
基本方法
可以看出,上法是将 32 位的加法 1 位 1 位串行进行的,要缩短进行的时间,就应设法使上叙进行过程并行化。
类型
以单位元的加法器来说,有两种基本的类型:半加器和全加器。
半加器有两个输入和两个输出,输入可以标识为 A、B 或 X、Y,输出通常标识为合 S 和进制 C。A 和 B 经 XOR 运算后即为 S,经 AND 运算后即为 C。
全加器引入了进制值的输入,以计算较大的数。为区分全加器的两个进制线,在输入端的记作 Ci 或 Cin,在输出端的则记作 Co 或 Cout。半加器简写为 H.A.,全加器简写为 F.A.。
半加器:半加器的电路图半加器有两个二进制的输入,其将输入的值相加,并输出结果到和(Sum)和进制(Carry)。半加器虽能产生进制值,但半加器本身并不能处理进制值。
全加器:全加器三个二进制的输入,其中一个是进制值的输入,所以全加器可以处理进制值。全加器可以用两个半加器组合而成。
注意,进制输出端的最末个 OR 闸,也可用 XOR 闸来代替,且无需更改其余的部分。因为 OR 闸和 XOR 闸只有当输入皆为 1 时才有差别,而这个可能性已不存在。
什么是加法器
加法器是为了实现加法的。
即是产生数的和的装置。加数和被加数为输入,和数与进位为输出的装置为半加器。若加数、被加数与低位的进位数为输入,而和数与进位为输出则为全加器。常用作计算机算术逻辑部件,执行逻辑操作、移位与指令调用。
对于 1 位的二进制加法,相关的有五个的量:1,被加数 A,2,被加数 B,3,前一位的进位 CIN,4,此位二数相加的和 S,5,此位二数相加产生的进位 COUT。前三个量为输入量,后两个量为输出量,五个量均为 1 位。
对于 32 位的二进制加法,相关的也有五个量:1,被加数 A(32 位),2,被加数 B(32 位),3,前一位的进位 CIN(1 位),4,此位二数相加的和 S(32 位),5,此位二数相加产生的进位 COUT(1 位)。
要实现 32 位的二进制加法,一种自然的想法就是将 1 位的二进制加法重复 32 次(即逐位进位加法器)。这样做无疑是可行且易行的,但由于每一位的 CIN 都是由前一位的 COUT 提供的,所以第 2 位必须在第 1 位计算出结果后,才能开始计算;第 3 位必须在第 2 位计算出结果后,才能开始计算,等等。而最后的第 32 位必须在前 31 位全部计算出结果后,才能开始计算。这样的方法,使得实现 32 位的二进制加法所需的时间是实现 1 位的二进制加法的时间的 32 倍。
基本方法
可以看出,上法是将 32 位的加法 1 位 1 位串行进行的,要缩短进行的时间,就应设法使上叙进行过程并行化。
类型
以单位元的加法器来说,有两种基本的类型:半加器和全加器。
半加器有两个输入和两个输出,输入可以标识为 A、B 或 X、Y,输出通常标识为合 S 和进制 C。A 和 B 经 XOR 运算后即为 S,经 AND 运算后即为 C。
全加器引入了进制值的输入,以计算较大的数。为区分全加器的两个进制线,在输入端的记作 Ci 或 Cin,在输出端的则记作 Co 或 Cout。半加器简写为 H.A.,全加器简写为 F.A.。
半加器:半加器的电路图半加器有两个二进制的输入,其将输入的值相加,并输出结果到和(Sum)和进制(Carry)。半加器虽能产生进制值,但半加器本身并不能处理进制值。
全加器:全加器三个二进制的输入,其中一个是进制值的输入,所以全加器可以处理进制值。全加器可以用两个半加器组合而成。
注意,进制输出端的最末个 OR 闸,也可用 XOR 闸来代替,且无需更改其余的部分。因为 OR 闸和 XOR 闸只有当输入皆为 1 时才有差别,而这个可能性已不存在。
举报