跳转至

处理器架构与编译系统

设计让计算机算得更快、更省电的核心硬件与软件栈,涵盖通用 CPU、神经网络加速器,以及将算法高效映射到硬件的编译器。

集成电路科研方向全景图 ← 计算媒介更奇异 更贴近物理世界 → 量子 · 光子 存算 · 类脑 模拟 · 射频 数字计算 功率电子 传感 · 生物 · 机械 算法 / 应用 系统 / 软件 体系结构 电路 器件 量子计算 与量子芯片 光电子 与硅光集成 模拟与 混合信号IC 射频与 毫米波IC 类脑芯片 存算一体 与近存计算 硬件安全 与可信计算 AI 算法 与系统 处理器架构 与编译系统 可重构计算 与 FPGA 功率半导体 与宽禁带器件 具身智能 生物电子 与脑机接口 MEMS 与 微纳传感器 各方向通用 EDA 与设计自动化 先进封装与系统集成 半导体器件与先进工艺 数字 模拟 数字 / 模拟 交叉 处理器架构 与编译系统

这个方向在研究什么

手机用面容解锁时,干活的不是 CPU(Central Processing Unit,中央处理器),是一颗专用神经引擎。它用不到一瓦的功耗,几毫秒跑完整个神经网络推理;同一个模型扔回 CPU 上,慢二十倍,耗电多十倍。算法没变,参数没变,变的只是计算单元怎么组织、数据走什么路径、中间结果存在哪。这就是处理器架构要回答的问题。给你一批晶体管,怎么排成一台计算机,才能在物理约束下算得最快、耗电最少。

计算机系统的抽象层次 应用程序 ChatGPT · 浏览器 · 游戏 算法 Transformer · 快速排序 编程语言 C++ · Python · CUDA 编译器 LLVM · MLIR · TVM 指令集架构(ISA) x86 · ARM · RISC-V 微架构 流水线 · 分支预测 · 缓存层次 逻辑电路 RTL · 门级网表 器件与工艺 晶体管 · 制程节点 本方向 上层归算法与软件,最底层归器件与工艺,中间三层是处理器架构与编译系统的研究对象

这个问题曾经不重要。摩尔定律(Moore's Law)让晶体管数量每两年翻倍,Dennard 缩放定律(Dennard scaling)保证晶体管越小跑得越快还不多耗电,两条定律一叠加,同一个设计隔两年换个新制程重新流片,性能自动翻倍,力大砖飞就是主旋律。2005 年前后 Dennard 缩放先撑不住了,晶体管小到一定程度漏电压不下去,功耗密度顶到散热极限,主频从此钉死在 4 GHz 附近将近二十年。摩尔定律也在 2015 年之后明显放缓,每一代制程更贵、更慢、红利更薄。偏偏这时候大语言模型把算力需求推上了陡得多的曲线,训练 GPT-4 的算力比五年前的 GPT-2 多了近一万倍。工艺红利基本耗尽,但算力需求仍在持续增长,缺口只能靠架构设计填补。Hennessy 和 Patterson 说这是计算机架构的新黄金时代,就是这个意思。

处理器单线程性能演进(1993=1×,纵轴对数坐标) 制程时代 年均性能 +50%,随制程提升即可 架构时代 制程红利衰减,年均性能 +8% 16× 64× 256× 1993 1998 2003 2008 2013 2018 2023 功耗墙 理想:每18个月翻倍 2005年转折 理想摩尔定律 实际单线程性能

架构设计真正要斗的,第一个是内存墙(memory wall)。处理器每秒能做几百万亿次浮点乘加,从主内存搬数据的速度却远远跟不上,访问一次内存的时间够做几百次乘法,芯片大部分时间不在算,在等。GPU(Graphics Processing Unit,图形处理器)的对策是人海战术,同时养着几万个线程,谁在等内存就把谁挂起,换下一批接着算,计算单元永远不空转。Google TPU(Tensor Processing Unit,张量处理器)的脉动阵列(systolic array)反过来在数据复用上下功夫,权重钉在计算单元里不动,输入像波浪一样流过,每个权重从内存只取一次。第二个要斗的是专用和通用的取舍。通用 CPU 要能跑任意程序,塞满了分支预测器、乱序执行引擎和大缓存,这些机构跑神经网络推理时几乎全在空转。Apple Neural Engine 把它们全拆了,只留矩阵乘法的电路,能效高出一两个数量级。这类芯片统称领域专用架构(Domain-Specific Architecture, DSA),代价是算法一变,芯片可能就得重做,这个权衡随算法迭代持续移动。第三个没那么显眼,软件和硬件的边界本身是活的。什么固化进电路、什么让编译器提前排好、什么留给运行时现场调度,这条边界放在哪里本身就是研究对象。同一块 GPU,换一套内存调度策略,LLM 推理的吞吐量能差十倍。

CPU 少数复杂核 · 为低延迟而生 乱序执行引擎 分支预测器 L1/L2 Cache 乱序执行引擎 分支预测器 L1/L2 Cache 乱序执行引擎 分支预测器 L1/L2 Cache 乱序执行引擎 分支预测器 L1/L2 Cache 共享 L3 Cache(数十 MB) 4–64 核 通用程序,单线程延迟低 GPU 海量简单核 · 靠切换线程隐藏延迟 流式多处理器(SM)× 132 ~17,000 核 并行规则计算,吞吐量极高 DSA(以 TPU 为例) 脉动阵列 · 权重只读一次 输入行→ MAC MAC MAC MAC 输入行→ MAC MAC MAC MAC 输入行→ MAC MAC MAC MAC 输入行→ MAC MAC MAC MAC ↓结果 ↓结果 ↓结果 ↓结果 256 × 256 MAC阵列 只做矩阵乘,能效极高

设计一块处理器,首先要确定的是指令集(Instruction Set Architecture, ISA),也就是软件能看到、硬件必须实现的那层接口。x86 走的是“指令越丰富越好”的路,几十年向后兼容积累了大量包袱,光解码电路就要烧掉不少功耗;ARM 用精简指令集换来更低的实现成本,在移动端大获全胜;RISC-V 干脆把指令集开源,不交授权费就能自己设计和修改。Hennessy 与 Patterson 把开源 ISA 列为新黄金时代的结构性条件,它把芯片创新的门槛从亿级资本降到了学术组玩得起的范围。

指令集之下是微架构,同一套 ISA 可以有无数种不同的电路实现。同样是 x86,Intel Raptor Lake 和 AMD Zen 4 的流水线级数、乱序执行宽度、分支预测算法完全不同,性能和功耗能差 30%。微架构是架构研究发表最密集的地方。分支预测命中率多高、预取器提前几步取数据、缓存替换选 LRU 还是 RRIP,每一个细节都是独立的研究课题。贯穿其中的是存储层次这条暗线。L1 缓存命中四拍,L3 要四十拍,DRAM 等两百拍,每一级的大小、替换算法、与相邻层的预取协议都压在真实性能上。内存墙的影响体现在每一个缓存设计决策上。

以上这些研究全部在冯·诺依曼架构的框架之内进行。计算与存储分离、指令顺序取来执行,是 1945 年以来所有主流处理器共同遵守的基本假设。近年来研究者开始正面质疑这个假设本身。神经形态计算用脉冲信号取代精确数值,数据流架构让计算随数据到来自动触发,近存计算(Near-Memory Processing, NMP)把处理单元挪到内存旁边,存算一体(Computing-in-Memory, CIM)直接在存储阵列内部完成乘加运算。这些非冯方向的动机是同一个,数据搬运的成本已经大到不得不从根本上重新考虑计算与存储的关系。其中存算一体和近存计算热度最高,已经自成一个方向,见存算一体与近存计算

编译器是架构研究的必要组成部分,新芯片没有配套软件栈,应用就无法运行。编译器的核心工作是调度,决定指令以什么顺序执行、数据从哪里取、什么时候取。调度有两种基本哲学。静态调度在编译期把一切安排好,生成的指令序列运行时无需硬件再做决策,是 VLIW(Very Long Instruction Word,超长指令字)这类架构的基础;动态调度把决策权留给硬件,处理器在运行时按实际情况乱序执行,能应对编译期无法预知的变化,是现代高性能 CPU 的标配。

静态调度 程序顺序 1 2 3 4 编译器在编译期排定顺序 1 2 3 4 运行时不再改变顺序,硬件照单执行 硬件简单省电 · 代表:VLIW 动态调度 程序顺序 1 2 3 4 乱序执行引擎在运行时重排 1 3 2 4 指令 2 在等数据,就绪的指令 3 先执行 硬件复杂但灵活 · 代表:现代高性能 CPU

LLVM 系统化地解决了不同硬件后端与不同语言前端之间的适配问题;MLIR 把这套思路延伸到张量运算,在“矩阵乘法”和“硬件寄存器”之间架起多个中间层;TVM 再加上自动调优,用搜索在数百万种循环分块方案里找最优配置。

没有中间表示 C++ Python Rust x86 CPU ARM GPU NPU 3 种语言 × 4 种硬件 = 12 个翻译器,每个都要单独开发 有了中间表示(LLVM 的做法) C++ Python Rust 中间表示 IR x86 CPU ARM GPU NPU 3 + 4 = 7 个接口,优化在 IR 上做一次、所有硬件共享
一次矩阵乘法的编译过程 y = Wx(矩阵乘法) ← 程序员写下的一行 MLIR 逐层下降 三重循环,按块计算 ← TVM 在数百万种分块方案里搜索最快的 向量指令 · 寄存器分配 ← 硬件能直接执行的形式 GPU / NPU 执行 每往下一层离硬件更近,每一层都有自己的优化空间

调度的思想还在往运行时延伸。vLLM 把操作系统虚拟内存的分页思路拿来管理 LLM 的 KV Cache(Key-Value Cache,键值缓存),同一块 GPU 上的推理吞吐量提了二十余倍,硬件没有任何改动。架构与编译器的研究问题深度交织,ASPLOS 这个顶会的名字里同时带着 Architecture、Programming Languages 和 Operating Systems,正因如此。

核心研究问题

  • AI 加速器与领域专用架构:通用 CPU 塞满分支预测、乱序引擎、大缓存,跑神经网络时几乎全空转;DSA 只留算法需要的电路,能效高一两个数量级,代价是算法一变架构就要重做。
  • GPU 体系结构与多卡互连:大模型训练对 GPU 微架构、多卡通信、稀疏与低比特推理同时提出新要求,吞吐量和互连带宽要协同优化。
  • 面向加速器的编译与调度:从 LLVM 到 MLIR 的多层中间表示、TVM 自动调优、vLLM 式 KV Cache 调度,要在保证语义等价的前提下把算法高效映射到新硬件上,同一块 GPU 换套调度吞吐量就差十倍。
  • 非冯·诺依曼架构:搬一次主内存的时间够做几百次乘法,存算一体、近存计算、可重构与数据流架构都想从根上消解数据搬运的成本。
  • 开源处理器与微架构:RISC-V 把指令集开源后,学术组也能造芯片,从香山这样的高性能核到流水线、分支预测、缓存层次,每个微架构细节都是独立课题。

知识路径

离散数学和编程是两条线共同的地基,硬件线走数字设计→计算机系统基础→体系结构,软件线走数据结构与算法→编译原理,操作系统、GPU、并行系统从体系结构向上延伸,EDA 负责把架构落成芯片。节点对应学习地图里的目录:

graph LR
    DIS[离散数学] --> DIG[数字设计]
    DIS --> DSA
    PY[编程入门] --> DSA[数据结构与算法]
    PY --> SYS[计算机系统基础]
    DIG --> SYS
    DIG --> EDA[EDA]
    SYS --> ARCH[体系结构]
    SYS --> OS[操作系统]
    SYS --> COM[编译原理]
    DSA --> COM
    DSA --> ARCH
    ARCH --> OS
    ARCH --> COM
    ARCH --> GPU[GPU体系结构]
    ARCH --> PAR[并行与分布式系统]
    OS --> PAR
    ARCH --> X[处理器架构与编译系统]
    COM --> X
    EDA --> X
    GPU --> X
    PAR --> X
    OS --> X

    classDef math fill:#F3E8FF,stroke:#553C9A
    classDef ckt fill:#FFFBEB,stroke:#B7791F
    classDef sys fill:#EBF4FF,stroke:#2C5282
    classDef alg fill:#F0FDF4,stroke:#16A34A
    classDef goal fill:#F1F5F9,stroke:#64748B,stroke-width:2px
    class DIS math
    class DIG,EDA ckt
    class SYS,ARCH,OS,GPU,PAR sys
    class PY,DSA,COM alg
    class X goal

这个方向适合谁

适合喜欢写代码、又不满足于只调 API 的人。这个方向的日常和程序员几乎没有区别,写 RTL、跑仿真、给编译器写 pass,改完代码当天就有数据,不用等流片。课程上数字逻辑和计算机组成是底子,学到流水线和缓存觉得有意思而不是负担的人合适。另外要有读大代码库的耐心,gem5、LLVM 都是百万行的开源工程,进组第一件事常是在别人的代码里花几个月。这个领域看重实现,想法再好,也需要先复现 baseline 才能做有效对比。

学术界

课题组

境内

  • 马恺声 清华

    DNN/LLM 推理加速器 | 算法架构协同设计 | Chiplet 片上网络

  • 高鸣宇 清华

    近数据处理与存内计算 | 稀疏张量加速器 | AI 负载内存优化

  • 何虎 清华

    DSP处理器架构 | RISC-V与GPGPU | 指令级并行编译

  • 胡杨 清华

    晶圆级AI芯片架构 | 编译工具链 | 大模型推训加速

  • 汪玉 清华

    LLM 推理加速器 | FPGA 异构计算 | 软硬件协同优化

  • 尹首一 & 魏少军 清华

    神经网络加速器 | 软件定义芯片 | 可重构计算架构

  • 翟季冬 清华

    张量编译器优化 | LLM 推理与训练系统 | GPU 并行编程模型

  • 刘雷波 清华

    可重构处理器架构 | 编译器硬件协同设计 | 加速器芯片

  • 张悠慧 清华

    高性能处理器微架构 | 神经形态芯片与稀疏计算 | 类脑计算编译系统

  • 陈文光 清华

    并行与分布式系统 | 编译器与编程模型 | 图计算与高性能计算

  • 曾晓洋 复旦

    高能效 SoC 设计 | AI 推理加速芯片 | 智能集成系统

  • 韩军 复旦

    RISC-V 处理器扩展 | 领域专用架构 | LLM 加速与编译优化

  • 范益波 复旦

    视频/图像处理器架构 | NPU 多媒体加速 | 近存异构计算

  • 陈迟晓 复旦

    算法-架构协同 AI 芯片 | 存内计算(CIM) | Chiplet 与 3DIC 系统

  • 李炎 复旦

    鲁棒 AI 推理芯片 | 低温数据中心芯片

  • 郭子钰 复旦

    基带信号处理 | 领域专用加速芯片

  • 孙广宇 北大

    领域定制体系架构 | 存内计算加速器 | 芯片互连系统

  • 叶乐 北大

    存算一体 AI 芯片 | 3D 堆叠芯片架构 | AIoT 边缘推理

  • 罗国杰 北大

    FPGA 加速器设计 | 芯片布局布线自动化 | 深度学习加速

  • 程旭 北大

    CPU 微架构设计 | 国产处理器(众志)· 计算机体系结构

  • 娄鑫 上科大

    神经渲染专用芯片 | 领域专用加速器 | 数字 VLSI 设计

  • 王超 中科大

    FPGA 可重构计算 | AI 推理加速器 | 智能处理器设计

  • 安虹 中科大

    高性能并行计算 | 片上多处理器 | 超算系统软件

  • 周学海 中科大

    FPGA 神经网络加速 | 异构可重构计算 | 边缘 AI 推理

  • 陈云霁 中科院

    深度学习处理器(DianNao)· Cambricon 神经网络 ISA | AI 芯片体系结构

  • 赵永威 中科院

    智能处理器体系结构 | Cambricon 机器学习计算机 | 函数指令集架构

  • 包云岗 中科院

    开源 RISC-V 处理器(香山) | 处理器敏捷验证 | 数据中心推理系统

  • 陈晓明 中科院

    存算一体架构 | 稀疏矩阵计算加速 | AI 加速器设计

  • 李超 交大

    AI 芯片与集群系统 | 软硬件协同跨栈优化 | 可持续计算架构

  • 张宸 交大

    多 GPU 互连与大模型通信加速 | GPU 微架构与稀疏低比特推理 | AI 加速器自动化设计

  • 梁晓峣 交大

    GPU 微架构设计 | 视觉模型硬件加速 | DNN 量化推理加速

  • 蒋力 交大

    存算一体架构 | 稀疏神经网络加速 | LLM 量化推理芯片

  • 冷静文 交大

    LLM 推理硬件优化 | GPU 算子融合与内存管理 | 神经渲染加速器

  • 左志强 南大

    编译器与程序分析 | 大规模数据流分析 | 运行时系统优化

  • 潘红兵 南大

    存算一体芯片 | 可重构计算 | AI 推理加速芯片

  • 司鑫 东南大学

    PIM/CIM 加速器架构 | 数据流与任务映射 | 架构级 IR-drop 优化

  • 冯新宇 南大

    编译器正确性证明 | 并发程序形式化验证 | 系统软件认证

  • 卢丽强 浙大

    张量编译与数据流优化 | AI 加速器硬件映射 | 量子计算系统软件

  • 卓成 浙大

    存算一体宏单元设计 | EDA 与 HLS 自动化 | 低功耗 AI 芯片

  • 何水兵 浙大

    存算一体架构 | GPU 内存系统 | 大模型训练加速

  • 王忆文 成电

    RISC-V SoC | 网络芯片技术 | 数模混合与 AI 电路

  • 黄乐天 成电

    专用处理器与领域 SoC | 片上并行/异构计算 | 芯粒桥接互连

  • 黄嘉逸 港科广

    计算机体系结构 | 片上互连与数据移动 | 机器学习系统

  • 陈鑫宇 港科广

    AI 加速器与大模型推理 | FPGA/GPU/NPU 异构计算 | 数据密集型体系结构

境外

  • 谢源 港科大

    处理器体系结构 | AI 加速器 | 3D IC 集成

  • 涂锋斌 港科大

    AI 芯片设计 | 存算一体(CIM) | LLM 推理加速

  • Nathan Beckmann CMU

    空间数据流架构 | 可重构架构编译器 | 超低功耗处理器设计

  • Tianqi Chen(陈天奇) CMU

    深度学习编译器(TVM) | LLM 推理引擎(FlashInfer) | 端侧与浏览器部署

  • Zhiru Zhang(张志汝) Cornell

    高层次综合(HLS) | 加速器编译器设计 | FPGA 与 GPU 协同优化

  • Christopher Batten Cornell

    可编程加速器 | 计算存储一体(CiM) | AI 辅助 RTL 设计

  • Vijay Janapa Reddi Harvard

    边缘 AI 推理系统 | MLPerf 基准测试 | 极端边缘硬件设计

  • Gu-Yeon Wei(魏裕炎) Harvard

    AI 加速器 | 数模混合 IC | 高能效计算系统

  • Song Han(韩松) MIT

    LLM 量化与压缩 | 高效视觉生成 | 硬件感知推理系统

  • Vivienne Sze(施) MIT

    深度学习推理芯片 | 稀疏加速与数据流 | 神经网络视频压缩

  • Joel Emer MIT

    稀疏张量加速器 | 深度学习硬件架构 | 编译器映射优化

  • Daniel Sanchez MIT

    多核稀疏加速器 | 张量编译与 FHE | 不规则应用硬件优化

  • Priyanka Raina Stanford

    可重构阵列(CGRA) | 硬件编译器协同设计 | 域专用加速器

  • Yakun Sophia Shao UC Berkeley

    领域专用加速器 | 敏捷硬件设计 | 异构多核 SoC

  • Hai (Helen) Li (李海) & Yiran Chen (陈怡然) Duke

    NVM/STT-MRAM | AI 硬件协同 | DNN 压缩与加速

  • Onur Mutlu ETH Zürich

    近存计算(PIM) | 微架构与内存系统 | 基因组序列加速

  • Luca Benini ETH Zürich

    开源 RISC-V 处理器 | 边缘生成式 AI 加速 | 超低功耗 SoC

  • Tushar Krishna Georgia Tech

    DNN 加速器互联 | 脉动阵列与数据流映射 | 片上网络(NoC)

  • Hyesoon Kim Georgia Tech

    GPU 编译器设计 | GPU / CPU 架构协同 | 硬件-软件协同优化

  • Jangwoo Kim SNU

    处理器微架构设计 | AI/神经形态加速芯片 | 专用计算系统架构

  • Tony Nowatzki UCLA

    近存计算(PIM)· 空间数据流加速器 | HW/SW 协同设计

  • Karu Sankaralingam UW-Madison

    数据流架构 | GPU 空间流水线 | LLM 推理加速

学术会议与期刊

会议 ISCA MICRO HPCA ASPLOS PLDI CGO OOPSLA Hot Chips
期刊 JSSC TC TCAD TACO TOPLAS

毕业去向

企业

科研院所

相关科普

论文推荐

待补充

欢迎推荐该方向的入门综述或经典论文,参与建设 →