计算机科学

计算机体系结构:定量研究方法

John L. Hennessy; David A. Patterson

英文原名: Computer Architecture: A Quantitative Approach

计算机体系结构:定量研究方法 cover

从定量角度研究计算机体系结构,重点分析设计如何影响性能与能耗。主题包括指令级与数据级并行、存储层级、多核处理器和大型数据中心系统。面向高年级学生与从业者;建议先学计算机组成与数字逻辑。

需要的基础

本科计算机组成课程和数字逻辑基础。

版次
6
出版年份
2017
难度等级
高级
学术层次
研究生
computer architectureprocessor designmemory hierarchyparallel computingperformance

01 / 导读

导读

引用

Hennessy, J. L., & Patterson, D. A. (2017). Computer Architecture: A Quantitative Approach (6th ed.). Morgan Kaufmann.

章节概要

第六版印刷本共七章,其后是三个复习性附录(A至C);更多的参考性附录(D至M)在线提供。据出版社介绍,每章临近结尾都有“Putting It All Together”小节,把该章的原理应用于实际技术,本版还更新了案例研究和习题。本版的新内容包括基于RISC-V指令集的示例、一章关于领域专用架构的新章节,以及更新的仓储级计算一章。

第1章:Fundamentals of Quantitative Design and Analysis

开篇一章确立本书以测量和定量推理评价设计选择的方法,是后续各章的基础。

第2章:Memory Hierarchy Design

存储层次的设计。出版社提到本版新增了关于堆叠DRAM的内容。

第3章:Instruction-Level Parallelism and Its Exploitation

指令级并行,以及处理器利用它的技术。

第4章:Data-Level Parallelism in Vector, SIMD, and GPU Architectures

贯穿向量、SIMD和GPU体系结构的数据级并行。出版社提到书中有新款NVIDIA Pascal GPU与支持AVX-512的Intel Skylake CPU性能对比的数据。

第5章:Multiprocessors and Thread-Level Parallelism

多处理器与线程级并行;出版社提到对多核体系结构与组织作了大量增补。

第6章:The Warehouse-Scale Computer

更新后的仓储级计算一章,包含Google最新仓储级计算机的首次公开信息。

第7章:Domain Specific Architectures

新增一章。据出版社介绍,它阐明在摩尔定律与登纳德缩放终结之后,领域专用架构是提升性能与能效的前进道路,并首次公布了业界的若干领域专用架构。

附录A–C(印刷本)

附录A讲指令集原理,附录B复习存储层次,附录C讲流水线,从基本概念到中级概念。

在线附录D–M

存储系统、嵌入式系统、互连网络、向量处理器、VLIW与EPIC的软硬件、大规模多处理器与科学应用、计算机算术、指令集体系结构概览、地址转换的高级概念,以及历史回顾与参考文献。

核心概念

第1–3章:定量设计、存储与ILP

  • 定量设计:靠测量和分析而非直觉来选择设计。
  • 存储层次:把存储器分层以平衡容量、速度和成本。
  • 指令级并行:在单个指令流内同时执行多条指令。

第4–5章:数据级并行与线程级并行

  • 向量、SIMD和GPU体系结构:把一种操作施加于大量数据的硬件。
  • 多处理器与线程级并行:跨处理器和线程的并行。

第6–7章:大型系统与专用化

  • 仓储级计算机:把数据中心规模的机器当作一台计算机。
  • 领域专用架构:在通用性能增长受限时,为一类问题量身定制的硬件。

评析

优点

  • 方法一以贯之。 书名和开篇一章让本书致力于对设计评价采取定量方法,而“Putting It All Together”小节把每章与实际系统联系起来。
  • 主题新近。 第六版增加了领域专用架构一章、更新的仓储级计算一章和RISC-V示例;出版社还列出堆叠DRAM、GPU对CPU的数据以及多核方面的增补。
  • 印刷本中有复习附录,深入内容在线上。 指令集原理、存储层次复习和流水线都在印刷本中,便于读者温习基础,更多的参考性附录D至M在线提供。
  • 获得认可。 出版社指出,本版荣获2019年教科书卓越奖(Texty)。

局限

  • 研究生水平。 出版社把研究生和专业体系结构师作为读者对象,本书以先前学过计算机组成和数字逻辑为基础。
  • 参考性附录不在印刷本中。 包括存储、互连网络和计算机算术在内的附录D至M仅在线提供。
  • 已有更新的版本。 Elsevier的页面注明已有更新的版本,因此读者应确认课程使用的是哪一版。

在课程中的定位

Hennessy与Patterson是本课程中研究生水平的体系结构教材。Petzold的Code是面向一般读者、以叙事方式讲解计算机如何工作的书,Nisan与Schocken的The Elements of Computing Systems则让读者从逻辑门开始构建计算机,二者都平易得多。Harris与Harris的Digital Design and Computer Architecture, RISC-V Edition从数字逻辑一路构建到流水线化的RISC-V处理器,使用与本版示例相同的指令集,是自然的本科预备读物。Bryant与O'Hallaron的Computer Systems: A Programmer's Perspective从程序员的角度看机器。Shen与Lipasti的Modern Processor Design对超标量处理器微体系结构的论述比第3章和附录C更深入。

如何使用本书

本书面向已掌握计算机组成和数字逻辑的研究生、专业体系结构师和设计人员,以及编译器或系统软件开发者。

实用的阅读方案:

  • 核心: 第1章,然后是第2、3章,必要时用附录B、C温习。
  • 并行性: 第4、5章,学习数据级并行与线程级并行。
  • 系统与趋势: 第6、7章,学习仓储级计算机和领域专用架构。
  • 在线附录: 存储、嵌入式系统、互连网络等参考性主题查阅D至M。
  • 练习: 随各章完成案例研究和习题,并阅读“Putting It All Together”小节。