L2·10^3 – 10^5

加法器

Adder / ALU

核心抽象算术单元

逻辑门组合出半加器和全加器,计算机从此会做算术。

学习进度:
What

加法器是用逻辑门搭建的算术电路。半加器计算两个 1-bit 数的和与进位;全加器额外接受低位进位。多个全加器串联构成行波进位加法器(Ripple Carry Adder)。更高效的方案包括超前进位加法器(Carry Lookahead Adder)和 Kogge-Stone 加法器。加法器是 ALU(算术逻辑单元)的核心组件。

Why

逻辑门只能做布尔运算,无法直接计算数值。加法器将布尔逻辑提升为算术运算,是计算机从'逻辑机器'进化为'计算机器'的关键一步。所有复杂的数学运算(乘法、除法、浮点运算)最终都分解为加法操作。

How

程序员通过 + 运算符使用加法的抽象。理解加法器有助于理解:为什么加法是 O(1) 而大数加法是 O(n);为什么 CPU 的 ALU 是性能瓶颈之一;为什么进位传播延迟限制了时钟频率。

Bottom-up:由下层如何构建

本层建立在以下层级之上:

Top-down:向上暴露什么接口

二进制加法进位传播ALU 基础

Programmer View:程序员视角

我能操作吗?

通过算术运算符(+、-、*、/)间接使用。底层由 ALU 硬件实现。

成本模型

指标量级备注
行波进位延迟O(n) 门延迟n 位加法器,进位逐级传播
超前进位延迟O(log n) 门延迟额外硬件换取速度
面积O(n) 晶体管n 位全加器约 5n 个门

常见陷阱

  • !整数溢出:当加法结果超出数据类型范围时,行为取决于语言(C 未定义,Java 截断)
  • !进位链延迟:行波进位加法器中,最高位的进位需要等待所有低位完成,限制了时钟频率