🌑 什么是"暗硅"(Dark Silicon)?
暗硅 = 芯片上有大量晶体管,但因为功耗限制,不能同时点亮。
Mike Muller 在 2010 年的警告非常直接:
工艺继续缩小,但功率预算不变 → 晶体管越来越多,但不能同时使用。
为什么?
- 晶体管数量随工艺缩小呈指数增长
- 但功率密度(W/mm²)不能无限增长
- 散热能力几乎不随工艺提升
- 结果:你能制造的晶体管比你能供电的多得多
这就是"暗硅"------你买得起晶体管,但点不起它们。
🔥 为什么暗硅会出现?
因为摩尔定律继续推进,但 Dennard Scaling(功耗随工艺缩小而下降)在 2005 年左右失效。
结果:
| 指标 | 工艺缩小后变化 |
|---|---|
| 晶体管数量 | ↑↑↑(继续指数增长) |
| 功耗密度 | ≈ 不变(甚至上升) |
| 散热能力 | 基本不变 |
| 可同时开启的晶体管比例 | ↓↓↓ |
这意味着:
你可以把 100 亿晶体管放在芯片上,但可能只能同时点亮 20%--30%。
这就是暗硅时代。
🧩 Olivier Temam 的观点:暗硅 → 异构硬件的必然性
Temam 在 ISCA 2010 的演讲《The Rebirth of Neural Networks》中提出:
暗硅不是 bug,而是推动体系结构走向"异构化"的动力。
为什么?
因为如果你不能让所有晶体管同时工作,那你就必须:
- 让不同部分在不同时间工作
- 每个部分只做它最擅长的事情
- 让"专用加速器"取代"通用核心"
于是出现了:
- GPU(图形/矩阵计算)
- NPU / TPU(神经网络计算)
- ISP(图像处理)
- VPU(视频处理)
- DSA(domain-specific accelerators)
- DPU(数据处理)
- AI ASIC(推理/训练专用)
这就是"异构硬件(heterogeneous hardware)"的根源。
🧠 Temam 的核心思想:程序 = 算法序列 → 映射到不同加速器
他提出一个非常前瞻的观点:
程序不是一段连续的指令,而是一个"算法序列"。
每个算法片段应该映射到最适合它的加速器。
换句话说:
- 卷积 → 映射到卷积加速器
- 矩阵乘法 → 映射到矩阵引擎(TensorCore)
- 控制逻辑 → 映射到 CPU
- 数据搬运 → 映射到 DPU
- 图像处理 → 映射到 ISP
这样做的好处:
- 每个加速器只在需要时点亮
- 其他部分保持"暗"
- 避免功耗爆炸
- 整体能效提升数十倍
这就是为什么今天的 GPU SM 里塞满了:
- TensorCore
- Load/Store Unit
- Special Function Unit
- Ray Tracing Core
- DPX Core(Hopper)
- Transformer Engine(Blackwell)
它们不是为了"炫技",而是为了规避暗硅。
🧨 总结:暗硅 → 异构化 → AI 加速器时代
把两位学者的观点合起来,就是一条清晰的演化路径:
- 工艺继续缩小 → 晶体管数量爆炸
- 功耗不变 → 无法同时点亮所有晶体管 → 暗硅
- 暗硅迫使架构从通用 CPU → 异构加速器
- 异构加速器推动 AI 计算爆发(GPU、TPU、NPU)
你今天看到的:
- NVIDIA Hopper/Blackwell 的 TensorCore
- TPU v4/v5 的 systolic array
- Apple M 系列的 NPU
- AMD XDNA
- 各种 AI ASIC
- DPU(BlueField、MTL、XPU)
全部都是暗硅时代的必然产物。