L2·

加法器

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 截断)
  • !进位链延迟:行波进位加法器中,最高位的进位需要等待所有低位完成,限制了时钟频率

GPU 对应表

GPU 不是 CPU 的替代品,而是抽象阶梯的并行分支。每一层抽象在 GPU 上都有对应的实现:

层级抽象GPU 的对应
L0晶体管同样——GPU 由数十亿晶体管构成
L1逻辑门(NAND)同样——GPU 的逻辑门规模远超 CPU
L2ALUGPU 有海量向量 ALU(CUDA 核心)
L3寄存器 / 存储GPU 寄存器、共享内存、显存(HBM)
L4机器指令 / ISACPU ISA + GPU ISA(SASS/GCN)
L5计算机体系结构CPU 架构 + GPU 架构(SIMT)
L6汇编语言CPU 汇编 + GPU 汇编(PTX/SASS)
L7汇编器CPU 汇编器 + GPU 汇编器
L8虚拟机JVM/CLR + GPU 运行时(CUDA/OpenCL)
L9高级语言C/C++/Python + CUDA/OpenCL/SYCL
L10编译器GCC/LLVM + NVCC/LLVM GPU 后端
L11操作系统OS + GPU 驱动 + 命令调度
L12系统库 / 运行时libc + cuDNN/cuBLAS/ROCm
L13容器 / 编排Docker + NVIDIA Container Toolkit + K8s Device Plugin
L14云原生应用分布式训练/推理、GPU 池化、MIG/vGPU

💡 从 L0 到 L3,GPU 和 CPU 共享相同的物理基础;从 L4 开始,两者分道扬镳——CPU 走向复杂的乱序执行和分支预测,GPU 走向 SIMT 和海量并行。到了 L14,两者在云原生层面重新汇合。