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」小節。
