コンピュータアーキテクチャ 定量的アプローチ[第6版]
8,800円 (8,000円+税)
関連サイト
本書の関連ページが用意されています。
内容紹介
2014年3月の『コンピュータアーキテクチャ 定量的アプローチ 第5版』の発刊から3年9か月後、2017年12月に、本書の原著であるComputer Architecture: A Quantitative Approach, Sixth Editionが世に出た。これまでMIPSアーキテクチャをベースにしていたものから、方針を大転換し、ほとんどの章においてRISC-Vをベースプロセッサにして書き換わり、さらに「Domain-Specific Architectures(領域特化アーキテクチャ)」という新たな章が加わった。そしてなんと、その翌年、原著者の2人ヘネシーとパターソンが、コンピュータ科学における最高峰「チューリング賞、2017年度」を受賞してしまったのだ。さらにはヘネシーはAlphabet社(Googleの親会社)の会長、パターソンはGoogleのDistinguished Engineerにも就いていた。これは心してかからねばならぬということで、第5版の翻訳メンバーの中から、3人で翻訳チームを組み、この第6版の翻訳に取り組むこととなった。
我々がこの本を書いた理由
本書の6つの版を通じて、我々のゴールは、明日への技術的発展となろう基本的原則を繙ひもとくことであった。コンピュータアーキテクチャにおいて、こういった機会をいただいているという興奮は今でも冷めることはなく、初版でこの分野について書いたことをもう一度繰り返そう。
「これは決して動くことのないペーパーマシンについて語るようなつまらない科学の話ではない。断じて違う! 切れ味鋭い知的興味に端を発する学問であり、市場からのコスト–性能–消費電力に関する要求圧力に対しバランスをうまく取りながら、結果として、栄誉ある失敗とともに、重要な成功に導いてくれるのである。」最初の版を書いた時に、我々が主に掲げた目的は、人々がコンピュータアーキテクチャを学び、それについて考える方法を変えることであった。このゴールは依然として変わっておらず、今もなお重要であると感じている。この分野は日進月歩であり、全く現実感のない定義や設計を集めたものではなく、実際の例と現実のコンピュータを用いた測定結果により学ばなければならない。我々は今までに我々と考えを共にする人々は誰でも熱烈に歓迎し、今またこれに加わろうとする人たちを同じように迎え入れている。いずれにせよ、現実のシステムに対して、同じ定量的アプローチと分析ができることを約束しよう。
以前の版と同じように、我々は、新しい版が、先進的コンピュータアーキテクチャと設計の授業で使ってもらえるように、プロの技術者とアーキテクトにとって役に立つようにと努力してきた。最初の版のように、この版は新たなプラットフォーム——パーソナルモバイルデバイスやウェアハウススケールコンピュータ——、および新しいアーキテクチャ——特に領域特化アーキテクチャ——に鮮明な焦点を当てている。以前の版と同じように、この版はコスト–性能–電力のトレードオフと優れた技術的デザインに重点を置いて、コンピュータアーキテクチャを解き明かしている。我々は、この分野が成熟し続け、厳格な定量的基礎に裏打ちされた長く確立された科学技術の学問へと向かうと信じている。
(本書「まえがき」より)
書誌情報
- 著者: ジョン・L・ヘネシー, デイビッド・A・パターソン(著), 中條拓伯, 天野英晴, 鈴木 貢(訳)
- 発行日: 2019-09-25 (紙書籍版発行日: 2019-09-25)
- 最終更新日: 2019-09-25
- バージョン: 1.0.0
- ページ数: 472ページ(PDF版換算)
- 対応フォーマット: PDF
- 出版社: エスアイビー・アクセス
対象読者
コンピュータアーキテクチャを学ぶ学生、研究者、実務家
著者について
ジョン・L・ヘネシー
ジョン・L・ヘネシー(John L. Hennessy): スタンフォード大学名誉学長。同Department of Electrical Engineering and Computer Science教授。Knight-Hennessy Fellowship理事。Alphabet会長。2017年度チューリング賞受賞(パターソンとのRISC共同開発)
デイビッド・A・パターソン
デイビッド・A・パターソン(David Andrew Patterson)。Google社、Distinguished Engineer。カリフォルニア大学バークレー校名誉教授。Computer ScienceのPardee教授職議長。RISC-V財団副会長。2017年度チューリング賞受賞(ヘネシーとのRISC共同開発)
中條拓伯
1987年、神戸大学工学研究科電子工学専攻修了、博士(工学)
1989年より神戸大学工学部システム工学科に勤務
1998年よりIllinois大学Center for Supercomputing Research and Development(CSRD)にて、Visiting Research Assistant Professor
1999年、東京農工大学工学部に赴任
現在、東京農工大学大学院共生科学技術研究院准教授
プロセッサアーキテクチャ、FPGAを用いた高性能計算機システムの研究に従事。
天野英晴
1986年、慶應義塾大学工学研究科電気工学専攻修了、工学博士
1985年より慶應義塾大学工学部に勤務
1889年より1990年までStanford大学CSLのVisiting Assistant Professor
現在、慶應義塾大学理工学部情報工学科教授
並列計算機アーキテクチャ、リコンフィギャラブルシステムの研究に従事。
鈴木 貢
1995年、電気通信大学電気通信学研究科情報工学専攻博士後期課程単位取得満期退学
1995年より電気通信大学電気通信学部に勤務
現在、島根大学総合理工学部知能情報デザイン学科准教授、博士(工学)
特殊命令セット向けコンパイラ最適化と、オープンソース活用向け工学教育に興味を持つ。
目次
チューリング賞受賞の著者
序文[Norman P. Jouppi, Google]
推薦の言葉
まえがき
謝 辞
第1章 定量的な設計と解析の基礎
- 1.1 はじめに
- 1.2 コンピュータのクラス
- 1.3 コンピュータアーキテクチャを設計する
- 1.4 テクノロジのトレンド
- 1.5 半導体の電力とエネルギーのトレンド
- 1.6 コストのトレンド
- 1.7 確実性
- 1.8 性能の測定、報告、整理の方法
- 1.9 コンピュータ設計の定量的な原則
- 1.10 総合的な実例:性能、価格、電力
- 1.11 誤った考えと落とし穴
- 1.12 おわりに
- 1.13 歴史展望と参考文献
- 1.14 ケーススタディと演習問題
第2章 メモリ階層の設計
- 2.1 はじめに
- 2.2 メモリ技術と最適化
- 2.3 キャッシュの性能を向上させる10の高度な改良法
- 2.4 保護:仮想メモリと仮想マシン
- 2.5 他の章との関連:メモリ階層の設計
- 2.6 総合的な実例:ARM Cortex-A53とIntel Core i7 6700のメモリ階層
- 2.7 誤った考えと落とし穴
- 2.8 おわりに:将来予測
- 2.9 歴史展望と参考文献
- 2.10 ケーススタディと演習問題
第3章 命令レベル並列性とその活用
- 3.1 命令レベル並列性:概念とチャレンジ
- 3.2 命令レベル並列性技術のためのコンパイラの基本
- 3.3 進んだ分岐予測による分岐コストの削減
- 3.4 動的スケジューリングによるデータハザードの克服
- 3.5 動的スケジューリング:例題とアルゴリズム
- 3.6 ハードウェアベースの投機処理
- 3.7 複数命令発行と静的スケジューリングを用いた命令レベル並列性の抽出
- 3.8 動的スケジューリング、複数命令発行および投機処理を用いた命令レベル並列性の抽出
- 3.9 命令供給と投機処理のための高度な技術
- 3.10 他の章との関連:ILPのアプローチとメモリシステム
- 3.11 マルチスレッディング:単一プロセッサスループット改善のためのスレッドレベル並列性抽出
- 3.12 総合的実例:ARM Cortex-A53とCore i7 6700
- 3.13 誤った考えと落とし穴
- 3.14 おわりに:次は何か
- 3.15 歴史展望と参考文献
- 3.16 ケーススタディと演習問題
第4章 ベクタ、SIMD、GPUにおけるデータレベル並列性
- 4.1 はじめに
- 4.2 ベクタアーキテクチャ
- 4.3 マルチメディア向けSIMD拡張命令セット
- 4.4 グラフィック処理ユニット
- 4.5 ループレベル並列性の検出と増強
- 4.6 他の章との関連
- 4.7 総合的な実例:組み込み対サーバGPU、およびTesla対Core i7
- 4.8 誤った考えと落とし穴
- 4.9 おわりに
- 4.10 歴史展望と参考文献
- 4.11 ケーススタディと演習問題
第5章 スレッドレベル並列性
- 5.1 はじめに
- 5.2 集中共有メモリ型アーキテクチャ
- 5.3 対称型共有メモリ型マルチプロセッサの性能
- 5.4 分散共有メモリとディレクトリベースコヒーレンス制御
- 5.5 同期:その基本
- 5.6 メモリコンシステンシモデル:導入
- 5.7 他の章との関連
- 5.8 総合的な実例:マルチコアプロセッサとその性能
- 5.9 誤った考えと落とし穴
- 5.10 マルチコアの性能向上の将来
- 5.11 おわりに
- 5.12 歴史展望と参考文献
- 5.13 ケーススタディと演習問題
第6章 要求レベル並列性/データレベル並列性を利用した ウェアハウススケールコンピュータ
- 6.1 はじめに
- 6.2 ウェアハウススケールコンピュータのプログラミングモデルとワークロード
- 6.3 ウェアハウススケールコンピュータのコンピュータアーキテクチャ
- 6.4 ウェアハウススケールコンピュータの効率とコスト
- 6.5 クラウドコンピューティング:ユーティリティコンピューティングの復活
- 6.6 他の章との関連
- 6.7 総合的な実例:Google社のウェアハウススケールコンピュータ
- 6.8 誤った考えと落とし穴
- 6.9 おわりに
- 6.10 歴史展望と参考文献
- 6.11 ケーススタディと演習問題
第7章 領域特化アーキテクチャ
- 7.1 はじめに
- 7.2 DSAのガイドライン
- 7.3 領域の例:深層ニューラルネットワーク
- 7.4 GoogleのTensorプロセッシングユニット:推論データセンターの加速器
- 7.5 MicrosoftのCatapult:柔軟なデータセンターのアクセラレータ
- 7.6 IntelのCrest:学習向けデータセンターのアクセラレータ
- 7.7 Pixel Visual Core:パーソナルモバイルデバイスのための画像処理ユニット
- 7.8 他の章との関連
- 7.9 総合的な実例:CPU、GPU、DNNアクセラレータの比較
- 7.10 誤った考えと落とし穴
- 7.11 おわりに
- 7.12 歴史展望と参考文献
- 7.13 ケーススタディと演習問題
付録A 命令セットの原理
- A.1 はじめに
- A.2 命令セットアーキテクチャの分類
- A.3 メモリアドレッシング
- A.4 オペランドタイプとオペランドサイズ
- A.5 命令セットにおける命令操作
- A.6 制御のための命令
- A.7 命令セットのエンコード
- A.8 他の章との関連:コンパイラの役割
- A.9 総合的な実例:RISC-Vアーキテクチャ
- A.10 誤った考えと落とし穴
- A.11 おわりに
- A.12 歴史展望と参考文献
- A.13 演習問題
付録B メモリ階層の復習
- B.1 はじめに
- B.2 キャッシュの性能
- B.3 6つの基本的なキャッシュ改良法
- B.4 仮想メモリ
- B.5 仮想メモリの保護とその例
- B.6 誤った考えと落とし穴
- B.7 おわりに
- B.8 歴史展望と参考文献
- B.9 演習問題
付録C パイプライン処理:基本および中間的な概念
- C.1 はじめに1
- C.2 パイプライン処理の主要な障害:パイプラインハザード
- C.3 パイプラインの実装法
- C.4 何がパイプラインの実装を困難にするのか
- C.5 複数サイクル演算を扱うためのRISC-V整数パイプライン拡張
- C.6 総合的な実例:MIPS R4000パイプライン
- C.7 他の章との関連
- C.8 誤った考えと落とし穴
- C.9 おわりに
- C.10 歴史展望と参考文献
- C.11 演習問題
参考文献
索 引
その他の付録
- コンピュータアーキテクチャの公式
- 経験則
- 本書で使われているCPUの用語とNVIDIAおよびOpenCL用語との対比
- RV64G命令サブセット