CPU 是“符号处理器”,物理世界是“能量处理器”。两者的接口,必须由硬件固化。
你有没有想过:为什么 USB、MIPI、CAN 这些接口必须用硬件实现,而不能完全交给软件?为什么 FMCW 雷达的混频器必须是模拟电路,不能用 CPU 的乘法指令替代?
答案藏在 CPU 与物理世界的三个根本性不匹配 里。
一、时间确定性:CPU 活在“指令时间”里,物理世界活在“连续时间”里
CPU 的时间是离散的、可抢占的、不确定的。中断、分支预测、缓存缺失给它的时间轴加上了不可预测的抖动。你无法保证某条指令在确切的纳秒时刻执行。
物理世界的时间是连续的、不可抢占的、确定的。一条信号线的电平必须在特定时刻跳变,一个 CAN 总线的采样点必须出现在位时间的特定位置。
硬件加速的本质:将“时间关键路径”从 CPU 的不确定时间域,转移到物理的确定时间域。
- USB 2.0 位填充:比特周期仅 2.083ns,CPU 无法在 2ns 内完成“检测连续 6 个 1 并插入 0”的决策 → 硬件逻辑门完成。
- CAN 位仲裁:1Mbps 下位周期 1000ns,CPU 从 GPIO 回读到判断再到关闭输出需要数十个指令周期 → 硬件比较器逐位完成。
- MIPI D-PHY 的 HS/LP 模式切换:时序要求纳秒级,硬件状态机自动执行。
二、能量连续性:CPU 只能处理“符号”,无法处理“能量”
CPU 内部流动的是电子,但它只在意电子所代表的 0 和 1——这是符号。而物理世界的信号是能量——电压、电流、频率、相位、阻抗。CPU 的指令无法直接操控这些物理量。
硬件加速的另一半:完成“能量域”与“符号域”之间的转换,这个转换过程天然需要模拟电路和实时控制。
- NFC 负载调制:用 GPIO 的 0/1 去控制射频天线阻抗?不行,阻抗是模拟量,需要模拟开关和连续电流。
- FMCW 雷达混频器:射频载波高达 77GHz,目前无 ADC 能直接采样。混频是连续时间的模拟乘法,软件无法介入。
- 任何 ADC 的前端采样保持:采样开关的导通时间、电容充放电,都是能量过程,与指令无关。
三、信息并行度:CPU 串行化一切,物理世界天然并行
CPU 的指令流水线是串行的,即使有超标量、SIMD,其并行度仍然有限。而物理世界的信息传输和处理天然是并行的——一根天线同时接收数百万个载波,一个 CMOS 传感器同时曝光数百万个像素。
硬件加速的动力:用空间换时间——用大量的物理单元(蝶形单元、MAC 阵列、像素流水线)同时处理数据,消除串行化带来的指令开销。
- Wi-Fi OFDM FFT:256 点 FFT 需约 2048 次复数乘法,乘以每秒 312500 次符号,总运算量超 6 亿次/秒。硬件用蝶形单元流水线,每个时钟出结果;CPU 只能循环计算,每个蝶形消耗几十条指令。
- GPU:数千个核心同时处理像素/顶点,显存带宽是 CPU 的 10 倍以上。
- LDPC 译码器:数百个并行校验节点单元同时更新消息。
四、状态转换开销:CPU 需要“上下文”,硬件状态转换是“零成本”
软件实现的状态机,每一次状态转换都需要:保存当前上下文、加载新上下文、执行分支判断、可能调用函数、可能触发中断。这些在微秒级或许可以接受,但在亚微秒级的协议窗口内就成了不可承受的负担。
硬件状态机的状态是物理编码的,由当前逻辑门的电平决定。状态转换就是一组逻辑门的输出变化,在时钟边沿瞬间完成,没有“取指”的开销。
- USB 控制器:串行接口引擎的 FSM 在每个微帧内自动完成事务调度、错误重试、ACK/NAK 响应,CPU 只在数据就绪时中断。
- CAN 控制器:错误状态机(错误激活/被动/总线关闭)完全由硬件计数器自动演进,CPU 只读状态寄存器。
五、一个可迁移的判断框架
当你遇到“这个功能能不能用 CPU 做”的问题时,按这个框架判断:
| 判断条件 | 结论 |
|---|---|
| 涉及纳秒级的时间确定性(信号边沿、采样点、同步窗口) | 必须硬件 |
| 涉及连续模拟量的操控或转换(射频调制、阻抗匹配) | 必须硬件 |
| 涉及海量数据的高度并行运算(FFT、滤波、图像处理) | 需要专用加速器(DSP/GPU/FPGA),纯 CPU 不现实 |
| 涉及频繁、快速的状态转换,且时间窗口 < 100µs | 需要硬件 FSM |
如果一个任务在这四个问题上都回答“否”,那么它可能适合 CPU。但现实中,与物理世界交互的任务,几乎都会触及前两个问题中的至少一个。
六、写在最后
硬件加速不是“帮 CPU 的忙”,而是做 CPU 做不了的事。CPU 与物理世界的接口,本质上必须是硬件的。无论 CPU 主频提升到多少,时间确定性、能量连续性、海量并行、零开销状态转换这些根本性质不会改变。
因此,一个系统的“硬实时边界”在哪里,哪里就必须放置硬件。这个边界是物理世界与符号世界的交界处。在边界以内(符号世界),CPU 可以自由驰骋;在边界上(与物理世界交互的地方),必须用硬件固化时间、能量、并行、状态。
本文节选自《权衡之境》主题24。书稿已完成,出版在即。 更多思维模型可访问我的 GitHub 仓库:github.com/jakegom/wei… (27个工程师专属思维模型卡片,持续更新)
——高翔,技术哲学作者,系统架构师。著有《权衡之境:一位工程师的技术哲学笔记》,专注技术决策的底层逻辑与思维模型。