1 位全加器
Fn=Cn−1⊕(Xn⊕Yn)
Cn=XnYn+(Xn+Yn)Cn−1

可以变换一下,用 Xn,Yn,Cn−1 来表示,只需 2 级门:

可以先组合出 Cn,再利用 Cn 表示 Fn,Cn 形成需二级门延迟,Fn 形成需三级门延迟:

可以变换一下,使得 Cn 形成需要三级门延迟,Fn 形成需要二级门延迟:

4 位串行全加器
- 第一种串联:Fn 需 2n+1 级,Cn 需 2n 级
- 第二种串联:Fn 需 2n 级,Cn 需 2n 级
- 第三第四种交叉串联:F2n−1 和 F2n 需 2n+1 级,C2n−1 和 C2n 需 2n 级
4 位并行全加器
串行加法器中需前一个加法器完成计算后下一个加法器才能开始计算,延迟长
进位输入由专门的进位门提供
- Gi=XiYi 称为产生进位函数
- Pi=Xi+Yi 称为传递进位函数
C1C2…=X1Y1+(X1+Y1)C0=G1+P1C0=X2Y2+(X2+Y2)X1Y1+(X2+Y2)(X1+Y1)C0=G2+P2G1+P2P1C0
也可写成
C1C2…=P1+G1 C0=P2+G2 P1+G2 G1 C0
注意到这里进位的计算不依赖于上一位进位,只依赖于各位输入,可以同时计算,都是二级门延迟
16 位全加器
- 串行:用 4 片 4 位并行全加器组成,片间进位依然逐片传递
- 用类似 4 位并行加法器的原理并行形成片间进位
C4=(G4+P4G3+P4P3G2+P4P3P2G1)+P4P3P2P1C0=Gm1+Pm1C0
C8=Gm2+Pm2Gm1+Pm2Pm1C0
…
注意到这里的 Pm 和 Gm 仍然可以只依赖输入得到
4 位 ALU
核心是 4 位并行加法器,通过控制进位逻辑或改变 Gi 和 Pi 来获得多种运算能力