PCB 电路纹理

ALU

算术逻辑单元负责加减、比较、位运算等操作,是 CPU 的计算核心之一。

先建立直觉,再进入工程细节

这一页不只给定义,而是按小白能跟上的顺序拆开:先用类比建立画面,再看真实工程怎么用,最后通过实验、误区和检查问题把知识固定下来。

入门解释

ALU 就像 CPU 里的计算器,负责做加减法、比较大小、按位操作。

标准解释

ALU 接收来自寄存器的数据,在控制单元的指挥下完成指定运算并写回结果。

进阶解释

进位链结构、并行前缀加法器、乘法器阵列与流水化深度,是影响 ALU 性能的重要设计点。

生活类比

ALU 是 CPU 里的计算工位,负责加减、比较、按位与或、移位等基础操作。复杂程序看起来高级,底层会拆成大量简单 ALU 操作。

工程中怎么看

ALU 设计要在功能、速度、面积和功耗之间取舍。简单加法器可以慢慢传递进位,高性能加法器会用超前进位等结构减少延迟,但代价是电路更复杂。

它在系统里负责什么

ALU 位于寄存器和控制单元之间,是执行指令的核心执行部件之一。地址计算、循环判断、数组下标、条件分支和整数运算都会经过 ALU。

关键知识点

  • · 算术运算
  • · 逻辑运算
  • · 标志位
  • · 写回

典型应用

  • · 整数计算
  • · 地址偏移
  • · 条件比较
  • · 循环控制

用逻辑门搭一个 1 位全加器

01

写出 A、B、Cin 三个输入和 Sum、Cout 两个输出的真值表。

02

用异或、与、或门推导 Sum 和 Cout。

03

把多个 1 位全加器串联成 4 位加法器,观察进位如何一级级传递。

04

加入减法操作,理解补码为什么能把减法变成加法。

05

观察溢出标志和进位标志在不同输入下的差异。

常见误区

以为 ALU 只做加减法,忽略逻辑运算、比较和移位。

不理解溢出标志,导致有符号和无符号运算混乱。

把浮点运算也简单归到普通整数 ALU,忽略 FPU 或专用单元。

忽略进位链延迟,认为位宽增加不会影响速度。

Typical Circuit

寄存器到 ALU 再写回

完成加减、比较、位运算并产生标志位

ALU 的两个操作数通常来自寄存器,控制信号选择加法、减法、与或异或等操作。结果在组合逻辑稳定后,下一拍写回寄存器,同时更新 Z、C、N、V 等标志。

波形怎么看:操作码先稳定,ALU 输出经过一段传播延迟后变为有效;写回边沿到来时,结果和标志位被锁存。

1A/B 寄存器
2OP 选择
3ALU
4Result/Flags

参考画法:CPU datapath ALU slice。页面中的 SVG 为本站重新绘制,用于教学说明。

典型应用电路

SCHEMATIC
Reg AReg BALUWBOP selectZ/C/N/V flags

关键波形 / 时序

WAVEFORM
CLKEN/OPDATA

读完要能回答

CHECK 01

全加器为什么需要进位输入和进位输出?

CHECK 02

有符号溢出和无符号进位有什么区别?

CHECK 03

移位操作为什么常用于乘除 2 的幂?

CHECK 04

关键路径为什么常常出现在加法器或比较器中?

术语拆解

全加器

能处理两个输入位和一个进位输入的 1 位加法单元。

补码

计算机表示有符号整数的常用方式,使加减法统一。

标志位

ALU 运算后给控制单元使用的状态信息,如零、进位、溢出。

进位链

多位加法中进位逐位传播的路径。

和下一个节点的关系

ALU 会算,但它不知道什么时候该算、算什么。控制单元负责解析指令并调度寄存器、ALU 和总线。