《计算机体系结构:量化研究方法》第5版
计算机体系结构领域的”圣经”,两位图灵奖得主 Hennessy & Patterson 的传世之作。第5版以**个人移动设备(PMD)和仓库级计算机(WSC)**为双主线,全面覆盖从指令集到多核、从缓存到GPU、从流水线到仓库级计算的体系结构全栈知识。
基本信息
| 项目 | 内容 |
|---|---|
| 英文原名 | Computer Architecture: A Quantitative Approach, 5th Edition |
| 作者 | John L. Hennessy(斯坦福大学前校长)、David A. Patterson(RISC-V 奠基人,谷歌杰出工程师) |
| 出版社 | 机械工业出版社(中文第5版) |
| 页数 | 612页(正文+索引) |
| 地位 | 计算机体系结构领域最权威的研究生教材,两位作者因此书贡献共同获得 2017 年图灵奖 |
第5版的核心变化
第5版是该书出版以来改动最大的版本之一,核心转变体现在:
-
双主线视角:围绕计算规模的两个极端展开——
- 个人移动设备(PMD):手机、平板等客户端,强调能效、成本、媒体性能、响应性
- 仓库级计算机(WSC):云计算数据中心,强调吞吐量、可用性、可扩展性、能效均衡
-
并行主题全面升级:
- 降低指令级并行(ILP)的占比(因 ILP 开发遇到瓶颈)
- 大幅扩充数据级并行(DLP)内容,新增第4章专门讲解向量/SIMD/GPU
- 强化线程级并行(TLP)与第5章多核处理器
- 新增第6章请求级并行与仓库级计算
-
真实案例贯穿始终:每章都用 ARM Cortex-A8(移动端)和 Intel Core i7(桌面/服务器端)作为”融会贯通”实例对比,GPU章节对比 NVIDIA GTX 280/480。
全书知识体系
全书共 6 章正文 + 12 个附录(附录A-E印在书中,附录F-L在网络配套资源中)。
并行主题与章节分布
| 并行类型 | 对应章节/附录 |
|---|---|
| 存储器层次结构 | 附录B、第2章、附录D |
| 指令级并行(ILP) | 附录C、第3章、附录H |
| 数据级并行(DLP) | 第4章、第6章、附录G |
| 线程级并行(TLP) | 第5章、附录F、附录I |
| 请求级并行(RLP) | 第6章 |
| ISA(指令集体系结构) | 附录A、附录K |
章节结构(每章统一框架)
每一章都遵循相同的结构模式,便于系统学习:
- 主题思想介绍 → 核心概念与原理
- 交叉问题:本章思想与其他章节的关联
- 融会贯通:思想在真实计算机(ARM Cortex-A8 / Intel Core i7)中的应用
- 谬论与易犯错误:常见误解与体系结构陷阱
- 结语:本章总结与展望
- 案例研究与练习(难度分级:[10]/[15]/[20]/[25]/[30]/[40]/[讨论])
第1章:量化设计与分析基础
开篇章节,建立量化研究的方法论基础。
- 核心观点:计算机体系结构不是玄学,而是一门可以用严格量化方法研究的学科
- 研究方法:用真实计算机的测量数据和实例做研究,而非脱离实际的定义设计
- 关键主题:成本-性能-能耗的权衡是体系结构设计的永恒主线
1.2 计算机的分类(5大类)
| 计算机类别 | 系统价格范围 | 微处理器价格 | 核心设计关注点 |
|---|---|---|---|
| 个人移动设备(PMD) | 1000 | 100 | 成本、能耗、媒体性能、响应率 |
| 桌面计算 | 2500 | 500 | 性价比、能耗、图形性能 |
| 服务器 | 10M | 2000 | 吞吐量、可用性、可扩展性、能耗 |
| 集群/仓库级计算机 | 200M | 250 | 性价比、吞吐量、能耗均衡性 |
| 嵌入式 | 100K | 100 | 价格、能耗、应用特有性能 |
产业背景(2010年数据):PMD 年销量约18亿个(90%为手机),桌面PC 3.5亿台,服务器2000万台,嵌入式处理器年销量近190亿(其中61亿为ARM架构)。
第2章:存储器层次结构
- 核心内容:缓存原理、缓存的10种高级优化方法、虚拟存储器、虚拟机
- 技术涵盖:SRAM、DRAM、闪存(Flash)
- PIAT 实例:ARM Cortex-A8 vs Intel Core i7
- 附录B:缓存机制基础概述
- 附录D:存储系统深入
第3章:指令级并行(ILP)
- 核心内容:高性能处理器如何开发指令级并行
- 关键技术:
- 超标量执行
- 分支预测
- 推理执行(推测执行)
- 动态调度
- 多线程
- ILP 的局限性:讨论指令级并行开发的物理瓶颈和收益递减
- PIAT 实例:ARM Cortex-A8 vs Intel Core i7
- 附录C:流水线基础综述
- 附录H:Itanium 和 VLIW(网络资源)
第4章:数据级并行(DLP)—— 向量、SIMD 与 GPU
第5版全新重点章节,大幅扩充了 GPU 体系结构内容。
- 向量体系结构:传统向量处理器的原理与优势
- 多媒体 SIMD 指令集扩展:x86 SSE/AVX、ARM NEON 等
- GPU 体系结构:
- GPU 工作原理与编程模型(CUDA)
- 使用自定义术语讲解,并给出与 NVIDIA 官方术语的对应关系
- Roofline 性能模型
- 实例对比:Intel Core i7 vs NVIDIA GTX 280 vs NVIDIA GTX 480 vs Tegra 2(PMD GPU)
- 附录G:向量体系结构深入(网络资源)
第5章:线程级并行(TLP)—— 多核处理器
- 多核体系结构:对称式共享存储器 vs 分布式存储器
- 组织原理与性能:多核互连、缓存一致性
- 同步机制:锁、屏障、事务内存等
- 存储器一致性模型:顺序一致性、松弛一致性
- 实例:Intel Core i7
- 附录F:片上互连网络(网络资源)
- 附录I:大规模多处理器与科学计算应用(网络资源)
第6章:请求级并行 —— 仓库级计算机(WSC)
第5版新增核心章节,反映云计算时代的体系结构新前沿。
- 仓库级计算机概念:将整个数据中心视为一台巨型计算机
- Google 集群体系结构:新旧实现对比
- 云计算与 WSC:云服务模式下的体系结构考量
- 请求级并行:与数据级并行、线程级并行的区别与联系
附录体系
书中印刷的附录
| 附录 | 主题 | 阅读建议 |
|---|---|---|
| 附录A | ISA 指令集体系结构(MIPS64) | 基础,先读 |
| 附录B | 缓存机制概述 | 第2章前置 |
| 附录C | 流水线综述 | 第3章前置 |
| 附录D | 存储系统深入 | 第2章延伸 |
| 附录E | 嵌入式系统 | 可随时阅读,ISA和缓存之后效果更好 |
| 附录J | 运算器 / 算术运算 | 涉及运算时阅读 |
网络配套资源附录
| 附录 | 主题 | 位置 |
|---|---|---|
| 附录F | 片上互连网络 | 网上 |
| 附录G | 向量体系结构深入 | 网上 |
| 附录H | VLIW 与 Itanium | 网上 |
| 附录I | 大规模多处理器 | 网上 |
| 附录J | (已在书中印刷) | - |
| 附录K | 10种RISC体系结构 + x86 + VAX + IBM 360/370 历史回顾 | 网上 |
| 附录L | 各章历史材料与参考文献 | 网上(读完对应章节后读) |
核心设计思想
1. 量化研究方法
- 用数据说话,而非主观判断
- 性能 = 1 / 执行时间
- Amdahl 定律:加速比受限于串行部分的比例
2. 存储器层次结构原理
- 时间局部性 + 空间局部性
- 缓存命中率与缺失代价的权衡
- 金字塔式层次:寄存器 → L1缓存 → L2缓存 → L3缓存 → 内存 → 闪存/磁盘
3. 并行开发的四个层次
- ILP(指令级):流水线、超标量、推测执行 —— 收益递减
- DLP(数据级):向量、SIMD、GPU —— 当前热门
- TLP(线程级):多核、多处理器 —— 主流方向
- RLP(请求级):WSC、云计算 —— 数据中心级
4. 能耗是首要约束
- PMD 受电池和散热限制
- WSC 受电费和冷却限制
- 性能/功耗比(能效)比绝对性能更重要
与其他知识的关联
- 与 《结构化计算机组成》-Structured-Computer-Organization-第6版-Tanenbaum 互为补充:Tanenbaum 偏重”计算机是如何组成的”(自底向上6层抽象),本书偏重”如何量化设计和优化”(方法论+高级主题)
- 与 《程序员的自我修养》-链接、装载与库 关联:装载、内存管理是应用视角看存储器层次
- 与 《SICP》-计算机程序的构造和解释-第二版 关联:SICP 讲软件抽象,本书讲硬件抽象,都是分层思想的典范
- RISC-V 体系结构的思想源头:Patterson 是 RISC-V 之父,本书第1版就奠定了 RISC 设计哲学
- GPU / CUDA 体系结构学习的理论基础
- 云计算 / 数据中心架构设计的理论基础
阅读建议
- 入门路径:附录A(ISA) → 附录B(缓存) → 附录C(流水线) → 第1章 → 第2章 → 第3章
- 进阶路径:第4章(GPU/DLP) → 第5章(多核/TLP) → 第6章(WSC/RLP)
- 参考查阅:附录K(各种ISA历史对比)、附录L(历史材料) 是极好的补充
- 配合实践:学完后可以读 RISC-V 规范、CUDA 编程指南、Linux 内核内存管理等,将理论落地
版本说明
- 第1版(1990):奠定量化研究方法基础
- 第2版(1996):增加工作站/服务器案例
- 第3版(2002):ILP 鼎盛期,大量 VLIW/Itanium 内容
- 第4版(2007):转向多核,加入 TLP 内容
- 第5版(2012):PMD + WSC 双主线,GPU/DLP 大幅扩充,减少 ILP 占比
- 第6版(2019):新增 AI/ML 专用体系结构、RISC-V、域专用架构(DSA)
云盘资源为第5版,虽非最新版,但核心知识体系完整,适合建立体系结构的完整框架。第6版新增的 AI/DSA 内容可通过其他途径补充。