《计算机体系结构:量化研究方法》第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版是该书出版以来改动最大的版本之一,核心转变体现在:

  1. 双主线视角:围绕计算规模的两个极端展开——

    • 个人移动设备(PMD):手机、平板等客户端,强调能效、成本、媒体性能、响应性
    • 仓库级计算机(WSC):云计算数据中心,强调吞吐量、可用性、可扩展性、能效均衡
  2. 并行主题全面升级:

    • 降低指令级并行(ILP)的占比(因 ILP 开发遇到瓶颈)
    • 大幅扩充数据级并行(DLP)内容,新增第4章专门讲解向量/SIMD/GPU
    • 强化线程级并行(TLP)与第5章多核处理器
    • 新增第6章请求级并行与仓库级计算
  3. 真实案例贯穿始终:每章都用 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

章节结构(每章统一框架)

每一章都遵循相同的结构模式,便于系统学习:

  1. 主题思想介绍 → 核心概念与原理
  2. 交叉问题:本章思想与其他章节的关联
  3. 融会贯通:思想在真实计算机(ARM Cortex-A8 / Intel Core i7)中的应用
  4. 谬论与易犯错误:常见误解与体系结构陷阱
  5. 结语:本章总结与展望
  6. 案例研究与练习(难度分级:[10]/[15]/[20]/[25]/[30]/[40]/[讨论])

第1章:量化设计与分析基础

开篇章节,建立量化研究的方法论基础。

  • 核心观点:计算机体系结构不是玄学,而是一门可以用严格量化方法研究的学科
  • 研究方法:用真实计算机的测量数据和实例做研究,而非脱离实际的定义设计
  • 关键主题:成本-性能-能耗的权衡是体系结构设计的永恒主线

1.2 计算机的分类(5大类)

计算机类别系统价格范围微处理器价格核心设计关注点
个人移动设备(PMD)1000100成本、能耗、媒体性能、响应率
桌面计算2500500性价比、能耗、图形性能
服务器10M2000吞吐量、可用性、可扩展性、能耗
集群/仓库级计算机200M250性价比、吞吐量、能耗均衡性
嵌入式100K100价格、能耗、应用特有性能

产业背景(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:云服务模式下的体系结构考量
  • 请求级并行:与数据级并行、线程级并行的区别与联系

附录体系

书中印刷的附录

附录主题阅读建议
附录AISA 指令集体系结构(MIPS64)基础,先读
附录B缓存机制概述第2章前置
附录C流水线综述第3章前置
附录D存储系统深入第2章延伸
附录E嵌入式系统可随时阅读,ISA和缓存之后效果更好
附录J运算器 / 算术运算涉及运算时阅读

网络配套资源附录

附录主题位置
附录F片上互连网络网上
附录G向量体系结构深入网上
附录HVLIW 与 Itanium网上
附录I大规模多处理器网上
附录J(已在书中印刷)-
附录K10种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 受电费和冷却限制
  • 性能/功耗比(能效)比绝对性能更重要

与其他知识的关联

阅读建议

  1. 入门路径:附录A(ISA) → 附录B(缓存) → 附录C(流水线) → 第1章 → 第2章 → 第3章
  2. 进阶路径:第4章(GPU/DLP) → 第5章(多核/TLP) → 第6章(WSC/RLP)
  3. 参考查阅:附录K(各种ISA历史对比)、附录L(历史材料) 是极好的补充
  4. 配合实践:学完后可以读 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 内容可通过其他途径补充。