Skip to content

算术逻辑单元(ALU)

考情分析

ALU 相关内容在 408 中以选择题为主,考察加法器的进位传播方式、CLA 的基本思想和延迟分析,以及 ALU 产生的标志位含义。偶尔大题会要求写出先行进位的逻辑表达式。

ALU 概述

ALU(Arithmetic Logic Unit)是 CPU 中执行算术运算和逻辑运算的核心部件。

ALU 执行的操作包括:

  • 算术运算:加、减(通过求补转换为加法)、乘、除
  • 逻辑运算:AND、OR、NOT、XOR
  • 移位运算:逻辑移位、算术移位、循环移位

ALU 的标志位输出

标志位名称含义
ZF零标志结果为 0 时置 1
SF(N)符号标志结果最高位为 1 时置 1
CF进位标志最高位产生进位/借位(无符号溢出)
OF(V)溢出标志有符号数运算溢出

CF 和 OF 的区别:CF 对无符号数有意义,OF 对有符号数有意义。同一次运算可以同时 CF=1 而 OF=0。

一位全加器

全加器(Full Adder, FA)是加法器的基本构建单元。三个输入 Ai,Bi,Ci,两个输出 Si,Ci+1

Si=AiBiCiCi+1=AiBi+(AiBi)Ci

定义两个辅助量:

  • 生成量(Generate):Gi=AiBi,本位无论低位进位如何都产生进位
  • 传播量(Propagate):Pi=AiBi,低位进位能通过本位继续传播

则进位公式简化为:Ci+1=Gi+PiCi

串行加法器

最简结构:只用 1 个全加器,每个时钟周期处理 1 位,进位通过触发器存储并传递到下一周期。

  • 优点:硬件成本最低
  • 缺点:n 位加法需要 n 个时钟周期

串行进位加法器(行波进位)

n 个全加器级联,第 i 位进位输出直接连到第 i+1 位进位输入。

C1=G0+P0C0C2=G1+P1C1Cn=Gn1+Pn1Cn1

进位像波浪一样从低位逐级传播到高位,因此也叫行波进位加法器(Ripple Carry Adder)。

延迟分析:设每个 FA 的进位延迟为 tn 位加法器总延迟 =nt,与位数成正比

先行进位加法器(CLA)

CLA(Carry Lookahead Adder)的核心思想:所有进位并行计算,消除逐级等待。

将递推公式展开,消去对低位进位的依赖:

C1=G0+P0C0C2=G1+P1G0+P1P0C0C3=G2+P2G1+P2P1G0+P2P1P0C0C4=G3+P3G2+P3P2G1+P3P2P1G0+P3P2P1P0C0

每个 Ci 都只依赖 Gj,Pj(一级门延迟内同时算出)和 C0。因此所有进位可以在固定门延迟内并行求出。

CLA 的层次结构

实际应用中,4 位一组做 CLA,组间可以串行或再做一级 CLA:

层次结构n 位延迟
组内串行 + 组间串行纯行波加法器O(n)
组内并行 + 组间串行4 位 CLA + 行波O(n/4)
组内并行 + 组间并行两级 CLAO(1)

加法器对比总结

类型硬件成本延迟适用场景
串行加法器(1 个 FA)最低n 个周期低速场合
行波进位(n 个 FA)中等O(n)一般场合
CLA(组内+组间并行)O(1)高速处理器

交互可视化

加载可视化中...
加载可视化中...

例题

例 1:4 位 CLA,已知 A=1010B=0111C0=0,求各位进位和结果。

先算 GiPi

iAiBiGi=AiBiPi=AiBi
00101
11110
20101
31001
C1=G0+P0C0=0+10=0C2=G1+P1G0+P1P0C0=1+0+0=1C3=G2+P2G1+P2P1G0+P2P1P0C0=0+1+0+0=1C4=G3+P3G2+P3P2G1+=0+0+1+0+0=1

Si=AiBiCiS=0001C4=1

验证:1010+0111=10001,正确。

例 2:16 位加法器采用 4 位一组的两级 CLA,设门延迟为 T,估算总延迟。

  • 计算各位 Gi,Pi1T
  • 组内 CLA 产生组级生成/传播信号:2T
  • 组间 CLA 产生各组进位:2T
  • 组内根据进位算出各位和:1T

总延迟 6T,而 16 位行波加法器约 32T

考点清单

  • [ ] ALU 的输入(操作数 + 功能选择)和输出(结果 + 标志位)
  • [ ] ZF、SF、CF、OF 四个标志位的含义及区别
  • [ ] 全加器公式:S=ABCCout=AB+(AB)Cin
  • [ ] 生成量 G=AB,传播量 P=AB
  • [ ] 行波进位延迟 O(n),与位数成正比
  • [ ] CLA 核心:展开进位表达式,所有进位只依赖 Gi,Pi,C0
  • [ ] 组内并行 + 组间并行可实现常数级延迟

真题练习

相关真题(4题)

2026Q13选择题2分

算术移位运算

2024Q15选择题2分

整数乘法的硬件与编译实现方式

2020Q43综合题13分

无符号与有符号乘法的硬件实现综合题

Booth乘法ALU数据表示(综合)
2018Q16选择题2分

逻辑右移与算术右移的区别