# Computer Architecture - A Quantitative Approach
## 概要
計算機アーキテクチャを、費用・性能・電力の定量的なトレードオフとして扱うことを一貫した方法とする標準教科書である。著者らは初版以来「実行時間だけが信頼できる性能指標であり、MIPS・MFLOPS・ピーク性能はいずれも誤導する」という立場を取り、実機での測定に基づいて設計判断を下すことを繰り返し要求する。(Source: [[@2019__MorganKaufmann__Computer Architecture - A Quantitative Approach - Chapter 1 Fundamentals of Quantitative Design and Analysis]] §1.8)
第6版を貫く主題は 2 つある。ひとつは**並列性をその形態ごとに分解して扱うこと**で、命令レベル並列性(ILP)を第3章、データレベル並列性(DLP)を第4章、スレッドレベル並列性(TLP)を第5章、リクエストレベル並列性(RLP)を第6章がそれぞれ担う。もうひとつは**ムーアの法則とデナードスケーリングの終焉**であり、単一プロセッサの性能成長率が 52%/年 から 23%・12%・3.5%/年 へと段階的に鈍化した事実を出発点として、残された道が領域特化(ドメイン固有アーキテクチャ)であるという結論に第7章で到達する。(Source: [[@2019__MorganKaufmann__Computer Architecture - A Quantitative Approach - Chapter 1 Fundamentals of Quantitative Design and Analysis]] §1.1, [[@2019__MorganKaufmann__Computer Architecture - A Quantitative Approach - Chapter 7 Domain-Specific Architectures]] §7.1)
命令セットを MIPS から RISC-V へ全面的に切り替えた最初の版でもあり、付録 A は ISA 設計の一般原理を実測データから導いたうえで、RISC-V がその推奨をどう体現しているかを示す構成を取る。(Source: [[@2019__MorganKaufmann__Computer Architecture - A Quantitative Approach - Appendix A Instruction Set Principles]] §A.9)
## 書誌情報
- 書名: *Computer Architecture: A Quantitative Approach*, Sixth Edition
- 著者: John L. Hennessy(Stanford University)、David A. Patterson(University of California, Berkeley)
- 出版社: Morgan Kaufmann(Elsevier の imprint)
- 発行: 2019 年(© 2019 Elsevier Inc.)
- ISBN: 978-0-12-811905-1
- 構成: 本編 7 章 + 付録 A〜M(付録は本編に対する復習・詳細・歴史的展望を担う)
- 取り込み済み: 本編 7 章 + 付録 A・B・C・D・F の計 12 枚(付録 E・G〜M は未取り込み)
- 版の特徴: 命令セットを MIPS から RISC-V へ全面的に切り替えた最初の版である。
- 原本: `.raw/books/computer-architecture-quantitative-approach-6e/`
## 構成と主要テーマ
本編 7 章は「定量的手法の導入 → 記憶階層 → 並列性の 4 形態 → 領域特化」という一本の論証として読める。付録は本編の各章に対する基礎編・詳細編にあたり、本編とは独立に参照できる。
### 本編(第 1〜7 章)
計算機の性能・費用・電力・信頼性を測る道具立てを第 1 章で用意し、記憶階層(第 2 章)を挟んで並列性の 4 形態を順に扱い、それらの成長が尽きた先の答えとして領域特化(第 7 章)を提示する。
→ [[@2019__MorganKaufmann__Computer Architecture - A Quantitative Approach - Chapter 1 Fundamentals of Quantitative Design and Analysis]] — 実行時間のみが信頼できる性能指標であるという定量的設計のテーゼを軸に、費用・電力・性能・ディペンダビリティの定量指標とアムダールの法則・CPU 性能方程式という分析道具を導入し、ムーアの法則とデナードスケーリングの終焉を領域特化への移行の根拠として位置づける、本書全体の土台となる章。
→ [[@2019__MorganKaufmann__Computer Architecture - A Quantitative Approach - Chapter 2 Memory Hierarchy Design]] — キャッシュの基礎を付録 B に委ね、10 の高度なキャッシュ最適化技法をハードウェア複雑度・消費電力・ミスペナルティの軸で分類し、HBM/PCM などのメモリ技術、仮想マシンによる保護層、ARM Cortex-A53 と Intel Core i7 6700 の実測比較を扱う発展編。
→ [[@2019__MorganKaufmann__Computer Architecture - A Quantitative Approach - Chapter 3 Instruction-Level Parallelism and Its Exploitation]] — 動的スケジューリング(Tomasulo のアルゴリズム)とハードウェア投機によって命令レベル並列性をどこまで引き出せるかを検証し、Wall(1993)の研究と IBM Power・Intel Core i7 系列の実測から、ハードウェアによる ILP 拡張の限界と 2005 年前後のマルチコアへの設計転換を実証的に描く。
→ [[@2019__MorganKaufmann__Computer Architecture - A Quantitative Approach - Chapter 4 Data-Level Parallelism in Vector, SIMD, and GPU Architectures]] — ベクトルアーキテクチャ・マルチメディア SIMD 命令拡張・GPU という 3 つのデータレベル並列性の実装形態を同一の枠組みで比較し、ルーフラインモデルと GPU 用語・ベクトル用語の対応表を軸に、GPU を「多数レーンを持つ浅くマルチスレッド化されたベクトルプロセッサ」として解説する。
→ [[@2019__MorganKaufmann__Computer Architecture - A Quantitative Approach - Chapter 5 Thread-Level Parallelism]] — 共有メモリマルチプロセッサの一貫性・整合性・同期を、集中共有メモリと分散共有メモリの構成、スヌーピング方式とディレクトリ方式、逐次一貫性から緩和一貫性モデルへの設計スペクトラム、実機 3 系統の実測スケーリングという軸で扱う。
→ [[@2019__MorganKaufmann__Computer Architecture - A Quantitative Approach - Chapter 6 Warehouse-Scale Computers to Exploit Request-Level and Data-Level Parallelism]] — 検索や SNS を支えるウェアハウススケールコンピュータを、費用・電力・障害率の定量モデルに基づいて一台のコンピュータとして設計する対象として論じる。障害を前提としたソフトウェア冗長性、PUE の推移、TCO、ネットワーク階層とオーバーサブスクリプション、レイテンシのテールを扱う。
→ [[@2019__MorganKaufmann__Computer Architecture - A Quantitative Approach - Chapter 7 Domain-Specific Architectures]] — 第 6 版で新設された結論の章。ムーアの法則とデナードスケーリングの終焉後、性能とエネルギー効率を桁違いに伸ばす唯一の道が領域特化であるとし、Google TPU・Microsoft Catapult・Intel Crest・Google Pixel Visual Core の 4 実例を DSA 設計 5 指針に照らして比較する。
### 付録(取り込み済みの 5 本)
付録 A〜M のうち、本編の理解に直結する 5 本を取り込んでいる(付録 E・G〜M は未取り込み)。
→ [[@2019__MorganKaufmann__Computer Architecture - A Quantitative Approach - Appendix A Instruction Set Principles]] — 命令セットアーキテクチャの分類軸(オペランド格納方式・アドレッシング・符号化・コンパイラからの要求)を実測データに基づいて論じ、その推奨を RISC-V がどう体現しているかを示す。**本編第 1 章の前提**にあたる。
→ [[@2019__MorganKaufmann__Computer Architecture - A Quantitative Approach - Appendix B Review of Memory Hierarchy]] — メモリ階層の基礎。キャッシュ設計の 4 つの問い、平均メモリアクセス時間の定式化、3C モデル、6 つの基本最適化、仮想メモリとページ保護を扱う。**第 2 章の基礎編**。
→ [[@2019__MorganKaufmann__Computer Architecture - A Quantitative Approach - Appendix C Pipelining - Basic and Intermediate Concepts]] — 5 段 RISC-V パイプラインを題材に、構造・データ・制御の 3 ハザードとフォワーディング/ストール、CPI の定量モデル、精密例外、MIPS R4000 のケーススタディを扱う。**第 3 章の基礎編**。
→ [[@2019__MorganKaufmann__Computer Architecture - A Quantitative Approach - Appendix D Storage Systems]] — ストレージを I/O 性能(待ち行列理論)とディペンダビリティの両面から定量評価する。RAID、Tertiary Disk・Tandem の実障害データ、リトルの法則と M/M/1、Internet Archive のケーススタディ、そして「five nines」への実測データによる反証を扱う。
→ [[@2019__MorganKaufmann__Computer Architecture - A Quantitative Approach - Appendix F Interconnection Networks]] — Timothy M. Pinkston と José Duato による改訂。相互接続網を OCN/SAN/LAN/WAN の 4 領域に分類し、トポロジ・ルーティング・アービトレーション・スイッチングという共通の設計軸、仮想チャネルによるデッドロック回避、Clos 網と fat tree、スイッチマイクロアーキテクチャを統一的に扱う。**第 6 章のネットワーク階層の理論的土台**。
## 影響と位置づけ
初版(1990 年)以来、計算機アーキテクチャ分野の標準教科書として版を重ねてきた。著者の Hennessy と Patterson は本書と RISC の業績により 2017 年の ACM A.M. チューリング賞を受賞している。
本書の特徴は、アーキテクチャを「原理の体系」ではなく「測定に基づく設計判断の積み重ね」として提示する点にある。各章末に置かれた「誤謬と落とし穴(Fallacies and Pitfalls)」節はその姿勢を最も端的に示しており、公称 MTTF の誤用(付録 D)、IPS のような単一指標への依存(第 7 章)、ピーク性能による比較(第 1 章)といった、業界で反復される誤りを実測データで反証していく。
第 6 版が置かれた位置は特殊である。単一プロセッサの性能成長がほぼ止まった時点で書かれており、本書自身が「これまで有効だった技法の限界」を記述する書物になっている。第 3 章が ILP の限界を、第 5 章がマルチプロセッサのスケーラビリティ限界を実測で示したうえで、第 7 章が領域特化を答えとして提示するという構成は、著者らが同時期に発表した "A New Golden Age for Computer Architecture"(2019)と同じ論旨をたどる。
## 関連
- 著者: [[John L. Hennessy]] / [[David A. Patterson]]
- 命令セット: [[RISC-V]]
- 主要 concept: [[ドメイン固有アーキテクチャ]] / [[メモリ階層とキャッシュ]] / [[ムーアの法則とデナードスケーリングの終焉]] / [[Rooflineモデル]] / [[相互結合網]] / [[アムダールの法則]] / [[命令セットアーキテクチャの設計原理]] / [[キャッシュコヒーレンスプロトコル]] / [[メモリ一貫性モデル]]
- 原本: `.raw/books/computer-architecture-quantitative-approach-6e/`
## 出典
- John L. Hennessy, David A. Patterson, *Computer Architecture: A Quantitative Approach*, Sixth Edition, Morgan Kaufmann, 2019.