先建立直觉,再进入工程细节
这一页不只给定义,而是按小白能跟上的顺序拆开:先用类比建立画面,再看真实工程怎么用,最后通过实验、误区和检查问题把知识固定下来。
入门解释
ALU 就像 CPU 里的计算器,负责做加减法、比较大小、按位操作。
标准解释
ALU 接收来自寄存器的数据,在控制单元的指挥下完成指定运算并写回结果。
进阶解释
进位链结构、并行前缀加法器、乘法器阵列与流水化深度,是影响 ALU 性能的重要设计点。
生活类比
ALU 是 CPU 里的计算工位,负责加减、比较、按位与或、移位等基础操作。复杂程序看起来高级,底层会拆成大量简单 ALU 操作。
工程中怎么看
ALU 设计要在功能、速度、面积和功耗之间取舍。简单加法器可以慢慢传递进位,高性能加法器会用超前进位等结构减少延迟,但代价是电路更复杂。
它在系统里负责什么
ALU 位于寄存器和控制单元之间,是执行指令的核心执行部件之一。地址计算、循环判断、数组下标、条件分支和整数运算都会经过 ALU。
关键知识点
- · 算术运算
- · 逻辑运算
- · 标志位
- · 写回
典型应用
- · 整数计算
- · 地址偏移
- · 条件比较
- · 循环控制
用逻辑门搭一个 1 位全加器
写出 A、B、Cin 三个输入和 Sum、Cout 两个输出的真值表。
用异或、与、或门推导 Sum 和 Cout。
把多个 1 位全加器串联成 4 位加法器,观察进位如何一级级传递。
加入减法操作,理解补码为什么能把减法变成加法。
观察溢出标志和进位标志在不同输入下的差异。
常见误区
以为 ALU 只做加减法,忽略逻辑运算、比较和移位。
不理解溢出标志,导致有符号和无符号运算混乱。
把浮点运算也简单归到普通整数 ALU,忽略 FPU 或专用单元。
忽略进位链延迟,认为位宽增加不会影响速度。
Typical Circuit
寄存器到 ALU 再写回
完成加减、比较、位运算并产生标志位
ALU 的两个操作数通常来自寄存器,控制信号选择加法、减法、与或异或等操作。结果在组合逻辑稳定后,下一拍写回寄存器,同时更新 Z、C、N、V 等标志。
波形怎么看:操作码先稳定,ALU 输出经过一段传播延迟后变为有效;写回边沿到来时,结果和标志位被锁存。
参考画法:CPU datapath ALU slice。页面中的 SVG 为本站重新绘制,用于教学说明。
典型应用电路
SCHEMATIC关键波形 / 时序
WAVEFORM读完要能回答
CHECK 01
全加器为什么需要进位输入和进位输出?
CHECK 02
有符号溢出和无符号进位有什么区别?
CHECK 03
移位操作为什么常用于乘除 2 的幂?
CHECK 04
关键路径为什么常常出现在加法器或比较器中?
术语拆解
全加器
能处理两个输入位和一个进位输入的 1 位加法单元。
补码
计算机表示有符号整数的常用方式,使加减法统一。
标志位
ALU 运算后给控制单元使用的状态信息,如零、进位、溢出。
进位链
多位加法中进位逐位传播的路径。
和下一个节点的关系
ALU 会算,但它不知道什么时候该算、算什么。控制单元负责解析指令并调度寄存器、ALU 和总线。
