01 / 読書ガイド
読書ガイド
引用
Hennessy, J. L., & Patterson, D. A. (2017). Computer Architecture: A Quantitative Approach (6th ed.). Morgan Kaufmann.
章の要約
第6版は印刷版で7章からなり、その後に3つの復習用付録(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」の節が各章を実際のシステムに結びつける。
- 現在の話題。 第6版は、ドメイン固有アーキテクチャの章、更新されたウェアハウススケールコンピューティングの章、RISC-Vの例を加え、出版社はさらにスタックドDRAM、GPUとCPUの比較データ、マルチコアの追加を挙げている。
- 印刷版に復習用付録、詳細はオンラインに。 命令セットの原理、メモリ階層の復習、パイプライニングは印刷版にあるため、基礎を確認できる。参考用のさらなる付録DからMはオンラインで提供される。
- 評価。 出版社は、この版が2019年にTextbook Excellence Award(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」の節を読む。
