- 基本的算逻运算部件——全加器

输入端3个:Ai,Bi——本位操作数 Ci-1——低位来的进位 输出端2个:Si——本位和 Ci——本位向高位的进位
2.串行加法器与并行加法器
加法器有串行和并行之分。
串行加法器中,只有一个全加器,数据逐位串行送入加法器进行运算;并行加法器则由多个全加器组成,其位数的多少取决于机器的字长,数据的各位同时运算。
串行加法器:

•并行加法器可同时对数据的各位相加,但存在着一个加法的最长运算时间问题。这是因为虽然操作数的各位是同时提供的,但低位运算所产生的进位会影响高位的运算结果。
•,而每个全加器并行加法器的最长运算时间主要是由进位信号的传递时间决定的本身的求和延迟只是次要因素。
提高并行加法器速度的关键是尽量加快进位产生和传递的速度
并行加法器:

进位的产生和传递:
并行加法器中的每一个全加器都有一个从低位送来的进位输入和一个传送给高位的进位输出。每一位的进位表达式为:
Ci=AiBi+(Ai⊕Bi)Ci-1
∴进位表达式 Ci=Gi+PiCi-1
其中:Gi=AiBi为进位产生函数
Pi=Ai⊕Bi为进位传递函数
(1)串行进位链

其中:C1=G1+P1C0
C2=G2+P2C1
┇
Cn=Gn+PnCn-1
分析:
串行进位的并行加法器的总延迟时间与字长成正比,字长越长,总延迟时间就越长。
假定,将一级“与门”、“或门”的延迟时间定为ty,从上述公式中可看出,每一级全加器的进位延迟时间为2ty。
在字长为n位的情况下,若不考虑Gi、Pi的形成时间,从C0→Cn的最长延迟时间为2nty(设C0为加法器最低位的进位输入,Cn为加法器最高位的进位输出)
(2)并行进位链
并行进位又叫先行进位、同时进位,其特点是各级进位信号同时形成。
C1=G1+PC0
C2=G2+P2C1=G2+P2G1+P2P1C0
C3=G3+P3C2=G3+P3G2+P3P2G1+P3P2P1C0
C4=G4+P4C3=G4+P4G3+P4P3G2+P4P3P2G1
+P4P3P2P1C0
┇
分析:
这种进位方式是快速的,若不考虑Gi、Pi的形成时间,从C0→Cn的最长延迟时间仅为2ty,而与字长无关。
但是随着加法器位数的增加,Ci的逻辑表达式会变得越来越长,输入变量会越来越多,这会使电路结构变得很复杂,所以完全采用并行进位是不现实的。
3)实际应用的并行加法器加速进位方式
① 单级先行进位方式(组内并行、组间串行)
以16位加法器为例,可分为4组,每组4位。第一小组组内的进位逻辑函数C1、C2、C3、C4的表达式与前述相同,它们是同时产生的,实现上述进位逻辑函数的电路称之为4位先行进位电路CLA,其延迟时间是2ty。
利用这种4位的CLA电路以及进位产生/传递电路和求和电路可以构成4位的CLA加法器。用4个这样的CLA加法器,很容易构成16位的单级先行进位加法器。
16位单级先行进位加法器


②多级先行进位方式(组内并行、组间并行)
仍以字长为16位的加法器作为例子,分析两级先行进位加法器的设计方法。
第一小组的进位输出C4可以变成两个与项相或:
C4=G4+P4G3+P4P3G2+P4P3P2G1+P4P3P2P1C0 = G1*+P1*C0
其中:G1*=G4+P4G3+P4P3G2+P4P3P2G1
P1*=P4P3P2P1
Gi*称为组进位产生函数
Pi*称为组进位传递函数
依次类推,可以得到:
C8=G2*+P2*C4=G2*+P2*G1*+P2*P1*C0
C12=G3*+P3*G2+P3*P2*G1*+P3*P2*P1*C0
C16=G4*+P4*G3*+P4*P3*G2*+P4*P3*P2*G1* +P4*P3*P2*P1*C0

成组先行进位电路BCLA,其延迟时间是2ty。
利用这种4位的BCLA电路以及进位产生/传递电路和求和电路可以构成4位的BCLA加法器。16位的两级先行进位加法器可由4个BCLA加法器和1个CLA电路组成。
进位产生和传递过程分3步
(1)若不考虑Gi、Pi的形成时间,C0经过2ty产生第一小组的C1、C2、C3及所有组进位产生函数Gi*和组进位传递函数Pi*;
(2)再经过2ty,由CLA电路产生C4、C8、C12、C16;
(3)再经过2ty后,才能产生第二、三、四小组内的C5~C7、C9~C11、C13~C15。
此时加法器的最长进位延迟时间是6ty。

本文详细介绍了4位快速加法器的设计,包括串行加法器与并行加法器的区别,重点讨论了并行加法器中进位的产生和传递。并行加法器通过并行进位链实现各级进位信号的同时形成,旨在提高运算速度。文章还探讨了实际应用中的并行加法器加速进位技术,如单级先行进位和多级先行进位方式,以减少加法器的最长运算时间。
6369

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



