加法器
加法器是由全加器再配以其他必要的逻辑电路组成的。
1.全加器
基本的加法单元称为全加器,它要求三个输入量:操作数Ai和Bi、低位传来的进位Ci-1,并产生两个输出量:本位和Si、向高位的进位Ci。全加器的逻辑表达式为:
Si=Ai⊕Bi⊕Ci-1
Ci=AiBi (Ai⊕Bi)Ci-1
2.串行加法器与并行加法器
在串行加法器中,只有一个全加器,数据逐位串行送入加法器进行运算。如果操作数长n位,加法就要分n次进行,每次只能产生一位和。
并行加法器由多个全加器组成,其位数的多少取决于机器的字长,数据的各位同时运算。并行加法器虽然操作数的各位是同时提供的,但低位运算所产生的进位有可能会影响高位的运算结果。例如:11…11和00…01相加,最低位产生的进位将逐位影响至最高位。因此,并行加法器的最长运算时间主要是由进位信号的传递时间决定的。提高并行加法器速度的关键是尽量加快进位产生和传递的速度 。
进位的产生和传递
进位表达式:Ci=AiBi (Ai⊕Bi)Ci-1
Gi的含义是:若本位的两个输入均为1,必然要向高位产生进位。
Pi的含义是:当两个输入中有一个为1,低位传来的进位Ci-1将超越本位向更高的位传送。
可得:Ci=Gi PiCi-1
把n个全加器串接起来,就可进行两个n位数的相加。串行进位又称行波进位,每一级进位直接依赖于前一级的进位,即进位信号是逐级形成的。 串行进位链的总延迟时间与字长成正比。假定,将一级门的延迟时间定为ty,从上述公式中可看出,每形成一级进位的延迟时间为2ty。在字长为n位的情况下,若不考虑Gi、Pi的形成时间,从C0→Cn的最长延迟时间为2nty 。