加法器和减法器

加法器

加法器是为了实现加法的。

即是产生数的和的装置。加数和被加数为输入,和数与进位为输出的装置为半加器。若加数、被加数与低位的进位数为输入,而和数与进位为输出则为全加器。常用作计算机算术逻辑部件,执行逻辑操作、移位与指令调用。

对于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就是补码)。


当SUB=1时,就是加法器。

当SUB=0时,通过异或门和Co将B变为负数的补码,就实现为减法器。

实际是一个可控加/减法器。

,

加法器

加法器是为了实现加法的。

即是产生数的和的装置。加数和被加数为输入,和数与进位为输出的装置为半加器。若加数、被加数与低位的进位数为输入,而和数与进位为输出则为全加器。常用作计算机算术逻辑部件,执行逻辑操作、移位与指令调用。

对于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就是补码)。


当SUB=1时,就是加法器。

当SUB=0时,通过异或门和Co将B变为负数的补码,就实现为减法器。

实际是一个可控加/减法器。

加法器和减法器

相关文章:

你感兴趣的文章:

标签云: