CPU 架构
CPU 架构(Computer Architecture)是指 CPU 的指令集架构(ISA)和微架构(Microarchitecture)的统称,决定了 CPU 如何处理指令、访问内存、管理数据。
核心概念
指令集架构(ISA)
ISA 是 CPU 与软件之间的接口规范,定义了 CPU 可以执行的指令集合:
- 指令格式:操作码、操作数编码方式
- 寻址方式:立即数、寄存器、内存寻址
- 寄存器组:通用寄存器、专用寄存器的数量和用途
- 异常与中断处理:CPU 如何响应异常事件
微架构(Microarchitecture)
微架构是 ISA 的具体硬件实现方式:
- 流水线(Pipeline):指令执行的并行化
- 超标量(Superscalar):每周期发射多条指令
- 乱序执行(Out-of-Order):指令不按程序顺序执行
- 分支预测:提前预测分支方向
- 缓存层次:L1/L2/L3 Cache 设计
指令集分类
| 类型 | 说明 | 特点 | 代表 |
|---|---|---|---|
| CISC(复杂指令集) | 单条指令完成复杂操作 | 指令数多、长度可变、程序体积小 | x86 |
| RISC(精简指令集) | 单条指令完成简单操作 | 指令少、长度固定、易流水线 | ARM、RISC-V、MIPS |
| VLIW(超长指令字) | 编译器打包多个操作为一条指令 | 硬件简单,依赖编译器 | Itanium、TI DSP |
| EPIC(显式并行指令计算) | 显式表达指令级并行 | VLIW 的演进 | IA-64 |
x86 / AMD64 架构
历史与由来
x86 架构源自 Intel 1978 年推出的 8086 处理器(16 位),命名中的"86"来自其型号尾号:
8086 (1978) → 16 位,第一款 x86 处理器
80286 (1982) → 16 位,保护模式
80386 (1985) → 32 位,支持虚拟内存
80486 (1989) → 集成 FPU + 缓存
Pentium (1993) → 超标量流水线
Pentium Pro (1995) → 乱序执行
Pentium 4 (2000) → 超线程(HT)
Core 2 (2006) → 多核架构
Core i 系列 (2008-) → 集成内存控制器、GPUAMD64(x86-64)
- 2003 年 AMD 率先推出 64 位扩展,将 x86 扩展到 64 位
- 向后兼容 32 位 x86 程序
- Intel 随后采用,称为 Intel 64(EM64T)
- 当前所有 PC 和服务器的标准 64 位架构
指令集特点
- CISC 架构,指令数量超过 1000 条
- 指令长度可变(1~15 字节)
- 拥有丰富的寻址模式
- 通过微码(Microcode)将复杂指令翻译为微操作
应用领域
| 领域 | 说明 |
|---|---|
| 个人电脑 | Windows/Linux 桌面、笔记本 |
| 服务器 | 数据中心、企业级服务器 |
| 工作站 | 图形设计、科学计算 |
| 游戏主机 | Xbox、PlayStation(早期) |
主要厂商:Intel(Core、Xeon)、AMD(Ryzen、EPYC)
ARM 架构
历史与由来
ARM 源自 Acorn Computers 公司在 1983 年的项目,最初为 BBC Micro 电脑设计:
ARM1 (1985) → 首款 ARM 处理器,26 位地址
ARM2 (1986) → 商用版,32 位数据总线
ARM3 (1989) → 加入缓存
ARM7 (1994) → Thumb 指令集(16 位压缩指令)
ARM9 (1997) → 五级流水线
ARM11 (2002) → 八级流水线
ARMv7 (2004) → Cortex 系列(A/R/M 三大分支)
ARMv8 (2011) → 64 位(AArch64)
ARMv9 (2021) → 安全增强、AI 指令Cortex 系列
ARM 从 ARMv7 开始弃用"ARM+数字"命名,启用 Cortex 品牌:
| 系列 | 定位 | 特性 | 代表应用 |
|---|---|---|---|
| Cortex-A | 高性能应用处理器 | 支持 OS、多核、MMU | 手机 SoC、平板 |
| Cortex-R | 实时处理器 | 响应快、容错高 | 汽车电子、工业控制 |
| Cortex-M | 微控制器 | 低功耗、低成本 | 物联网、嵌入式 |
ARM 授权模式
- 公版授权(IP 授权):直接使用 ARM 设计的 Cortex 内核
- 架构授权(Architecture License):基于 ARM ISA 自研内核
公版 ARM 示例:
| 微架构 | 指令集 | 代表芯片 |
|---|---|---|
| Cortex-M0 | ARMv6-M | STM32F0 系列 |
| Cortex-M3 | ARMv7-M | STM32F1 系列 |
| Cortex-M4 | ARMv7E-M | STM32F4 系列(含 DSP/FPU) |
| Cortex-A55 | ARMv8.2-A | 麒麟 810 小核 |
| Cortex-A76 | ARMv8.2-A | 麒麟 980 大核 |
| Cortex-X1 | ARMv8.4-A | 高通骁龙 888 超大核 |
自研内核示例:
| 厂商 | 微架构 | 指令集 | 代表芯片 |
|---|---|---|---|
| Apple | Swift → Twister → Hurricane → Monsoon → Lightning → Firestorm → Everest | ARMv8-A / ARMv9 | A6~A18 系列 |
| Qualcomm | Kryo(基于 Cortex 定制) | ARMv8-A | 骁龙 820~8 Gen3 |
| Samsung | Mongoose → M1~M5 | ARMv8-A | Exynos 8890~9820 |
| Huawei | 泰山(TaiShan) | ARMv8-A | 鲲鹏 920 服务器 |
应用领域
| 领域 | 说明 |
|---|---|
| 智能手机 | 几乎统治所有手机芯片 |
| 嵌入式/IoT | 单片机、传感器设备 |
| 平板电脑 | iPad、Android 平板 |
| 笔记本电脑 | Apple Silicon(M1/M2/M3/M4) |
| 服务器 | 华为鲲鹏、AWS Graviton |
| 网络设备 | 路由器、交换机控制面 |
Apple M 系列芯片证明了 ARM 在桌面/服务器领域的可行性。
RISC-V 架构
历史与由来
- 2010 年由 UC Berkeley 的研究团队开发
- 2015 年成立 RISC-V 基金会管理,2020 年移至瑞士
- 完全开源的 ISA,不受任何公司控制
指令集特点
- 模块化设计:基础指令集(RV32I/RV64I)+ 标准扩展
- 扩展包括:M(乘法)、F/D(浮点)、A(原子)、C(压缩)、V(向量)
- 简单规整,适合教学和学术研究
- 可扩展性强,支持自定义指令
应用领域
| 领域 | 说明 |
|---|---|
| 嵌入式 | 替代 Cortex-M 的低成本方案 |
| AI 加速器 | 自定义向量/SIMD 指令 |
| 学术研究 | 教学、体系结构创新 |
| 物联网 | 极低功耗场景 |
RISC-V 尚处于发展初期,但已成为 CPU 架构领域的重要第三极。
MIPS 架构
历史与由来
- 1981 年由 Stanford University 开发
- 1984 年 MIPS Technologies 公司成立商业化
- 最早商用的 RISC 架构之一
指令集特点
- 经典 RISC 架构,指令格式规整
- 32 个通用寄存器
- 延迟槽(Delay Slot)设计
- 曾用于 SGI 工作站和 Sony PlayStation
当前状态
2021 年 MIPS 宣布放弃 MIPS ISA,转向 RISC-V。MIPS 架构基本退出历史舞台。
POWER / PowerPC 架构
历史与由来
- 1990 年 IBM 推出 POWER 架构(Performance Optimization With Enhanced RISC)
- 1991 年 Apple、IBM、Motorola 联盟推出 PowerPC
- Apple 在 2005 年从 PowerPC 转向 x86
指令集特点
- RISC 架构,设计哲学强调高频率
- 架构简洁,指令编码统一
- 支持十进制浮点运算(DFP)
应用领域
| 领域 | 说明 |
|---|---|
| 服务器 | IBM Power Systems(AIX、Linux) |
| 超级计算机 | Summit、Sierra 等 |
| 游戏主机 | PlayStation 3(Cell BE)、Wii、Xbox 360(均已停产) |
IBM 至今仍在维护 POWER 架构,最新为 POWER10(2021)。
Alpha 架构
历史与由来
- 1992 年 DEC(Digital Equipment Corporation)推出
- 当时性能最强的 RISC 架构
- 1998 年 DEC 被 Compaq 收购,2001 年 Compaq 被 HP 收购
- 2007 年 HP 宣布停止 Alpha 产品线
遗产
- 多项技术影响后来的 CPU(乱序执行、多核)
- 申威(SW):基于 Alpha 架构自主演进
- SW26010 用于 神威·太湖之光 超级计算机(2016 年 TOP1)
- 拓展了多核架构和 SIMD 指令集
SPARC 架构
历史与由来
- 1985 年 Sun Microsystems 设计
- RISC 架构,强调简单和效率
- 用于 Sun 工作站和服务器
当前状态
- Oracle 收购 Sun 后继续维护
- 最新为 SPARC M8(2017)
- 市场份额持续萎缩
其他架构
CUDA(NVIDIA GPU)
- 2006 年 NVIDIA 推出 CUDA 架构
- 专为通用并行计算(GPGPU)设计
- 拥有数千个 CUDA Core,适合矩阵运算
- 统治 AI / 深度学习训练市场
- 代表架构:Fermi → Kepler → Maxwell → Pascal → Volta → Turing → Ampere → Hopper → Blackwell
GCN / RDNA(AMD GPU)
- 2011 年 AMD 推出 GCN(Graphics Core Next)架构
- 2019 年演进为 RDNA(Radeon DNA)
- 用于 Radeon 显卡和游戏主机(PS4/PS5、Xbox One/Series)
VLIW / DSP
| 架构 | 厂家 | 应用 |
|---|---|---|
| TMS320C6000 | TI | 数字信号处理 |
| SHARC | Analog Devices | 音频处理 |
| Hexagon | Qualcomm | 移动端 DSP(集成在骁龙 SoC) |
EPIC / IA-64
- Intel 与 HP 联合开发的 64 位架构
- 主打显式并行指令计算
- 代表:Itanium 系列
- 2007 年 Intel 放弃,转向 x86-64
架构对比
| 架构 | 类型 | 位宽 | 开放程度 | 主要应用 | 当前状态 |
|---|---|---|---|---|---|
| x86/AMD64 | CISC | 64 | 封闭(Intel/AMD) | PC、服务器 | ✅ 主流 |
| ARM | RISC | 64 | 授权 | 移动、嵌入式 | ✅ 主流 |
| RISC-V | RISC | 64 | 开源 | 嵌入式、AI | 🌱 新兴 |
| MIPS | RISC | 64 | 授权→开源 | 嵌入式 | ❌ 淘汰 |
| POWER | RISC | 64 | 封闭(IBM) | 服务器 | ⏳ 小众 |
| SPARC | RISC | 64 | 封闭(Oracle) | 服务器 | ⏳ 萎缩 |
| Alpha | RISC | 64 | 开源(申威) | 超算 | 🟡 申威延续 |
| IA-64 | EPIC | 64 | 封闭(Intel) | 服务器 | ❌ 已停产 |