2.6 加法器与运算器
逻辑门与全加器,串行进位加法器与先行进位加法器,算术逻辑单元 ALU 的功能与组成。
考查要求 ★★☆ 理解 全加器串行进位先行进位进位产生与传递函数ALU
门电路
计算机中的运算都可以由**与(AND)、或(OR)、非(NOT)**三种基本逻辑运算组合而成,常用的复合逻辑还有与非、或非、异或(XOR)、同或。异或的特点:A⊕B 在 A=B 时为 1,常用于加法求和、奇偶校验、比较是否相等。
一位全加器
全加器(FA)是最基本的加法单元,有加数 Ai、Bi 与低位传来的进位 Ci−1 共 3 个输入,有本位和 Si 与向高位的进位 Ci 共 2 个输出:
Si=Ai⊕Bi⊕Ci−1,Ci=AiBi+(Ai⊕Bi)Ci−1
和 Sᵢ 经过两级异或(约 3ty);进位 Cᵢ 通常需要 2 级门延迟(与-或)
串行进位加法器
把 n 个全加器串接起来,低位全加器的进位输出连到相邻高位全加器的进位输入,就构成了串行进位(行波进位)加法器。
- 优点:结构简单,所需硬件少;
- 缺点:进位逐级传递,最高位的和必须等低位进位全部产生后才能得到。若每级进位延迟为 2ty,则 n 位加法器的进位延迟约为 2nty。
先行进位加法器
为提高速度,可以让各位的进位同时产生。记
Gi=AiBi (进位产生函数),Pi=Ai⊕Bi (或 Ai+Bi,进位传递函数)
则 Ci=Gi+PiCi−1。将其逐级展开:
C1C2C3C4=G1+P1C0=G2+P2G1+P2P1C0=G3+P3G2+P3P2G1+P3P2P1C0=G4+P4G3+P4P3G2+P4P3P2G1+P4P3P2P1C0
各进位只依赖于 Gi、Pi 和 C0,可以由一级”与-或”电路并行产生,与位数无关——这就是先行进位(CLA)。但位数增多时,表达式会越来越长,电路过于复杂,所以通常 4 位一组:
- 单级先行进位(组内并行、组间串行):每组内部并行,组与组之间串行传递;
- 多级先行进位(组内并行、组间并行):每组再产生组进位产生函数 G∗ 和组进位传递函数 P∗,由更高一级的先行进位部件让各组进位也并行产生。
交互演示加法器的进位延迟:各位和的产生时间
等待进位 Cᵢ₋₁求和(异或)
串行进位:Cᵢ = Gᵢ + PᵢCᵢ₋₁ 逐位传递,每位约 2ty,n 位加法约需 2n ty(此处最慢的和约在 33 ty 产生)。
算术逻辑单元 ALU
ALU 是运算器的核心,能进行加、减、乘、除等算术运算和与、或、非、异或等逻辑运算,以及移位、求补等操作。
ALU 是组合逻辑电路:k 位操作控制端最多可选择 2ᵏ 种运算,输出结果 F 与标志位
即时练习
1加法器中进位产生函数 Gᵢ 和进位传递函数 Pᵢ 分别是( )。
2下列关于串行进位加法器和先行进位加法器的叙述中,正确的是( )。
学完了吗? 标记完成后,侧栏会显示进度。进度仅保存在本浏览器中。