コンピュータアーキテクチャ定量的アプローチ 第4版(中條 拓伯 中條 拓伯 中條 拓伯 John L. Hennessy David A. Patterson 天野 英晴 天野 英晴 吉瀬 謙二 吉瀬 謙二 佐藤 寿倫 佐藤 寿倫)|翔泳社の本
  1. ホーム >
  2. 書籍 >
  3. コンピュータアーキテクチャ定量的アプローチ 第4版

コンピュータアーキテクチャ定量的アプローチ 第4版

監修
翻訳
原著


翻訳
原著
翻訳
原著
翻訳
原著

形式:
書籍
発売日:
ISBN:
9784798114408
定価:
9,020(本体8,200円+税10%)
仕様:
A5・768ページ

コンピュータアーキテクチャの第一人者が執筆した世界的名著

「RISC」育ての親、ヘネシー&パターソン両教授によるコンピュータアーキテクチャの定番書。初版は1994 年2 月、日経BP 社より刊行され、大ベストセラーになりました。本書はその改訂第4 版を翻訳したものです。姉妹書「コンピュータの構成と設計第3版 上巻・下巻」(日経BP社)はハードウェアからソフトウェアまで網羅した書籍でベストセラーになっています。本書は、CPUアーキテクチャ設計中心にハードウェアにおけるシステムアーキテクチャを詳細に解説。付録のCD-ROMも初邦訳され、さらに学習しやすくなりました。コンピュータの仕組みを学べる定番書として欠かせない一冊です。

1章 計算機設計の基礎

1.1 はじめに
1.2 コンピュータのクラス
1.3 コンピュータアーキテクチャを定義する
1.4 実装テクノロジのトレンド
1.5 半導体の電力のトレンド
1.6 コストのトレンド
1.7 ディペンダビリティ(dependability)
1.8 性能の測定、報告、整理の方法
1.9 計算機設計の定量的な原則
1.10 総合的な実例:性能と価格性能比
1.11 誤った考えと落し穴
1.12 おわりに
1.13 歴史的展望と参照事項
演習問題付きケーススタディ(Diana Franklin)

2章 命令レベル並列性とその活用

2.1 命令レベル並列性:概念とチャレンジ
2.2 命令レベル並列性を見出すための基本的なコンパイラ技術
2.3 予測による分岐コストの削減
2.4 動的スケジューリングによるデータハザードの克服
2.5 動的スケジューリング:例題とアルゴリズム
2.6 ハードウェアベースの投機処理
2.7 多重命令発行と静的スケジューリングを用いた命令レベル並列性の抽出
2.8 動的スケジューリング、多重命令発行および投機処理を用いた命令レベル並列性の抽出
2.9 命令供給と投機処理のための高度な技術
2.10 総合的な実例:Intel Pentium 4
2.11 誤った考えと落し穴
2.12 おわりに
2.13 歴史的展望と参照事項
演習問題付きケーススタディ(Robert P. Colwell)

3章 命令レベル並列性の上限

3.1 はじめに
3.2 ILPの上限
3.3 実現可能なプロセッサでのILPの上限
3.4 他の章との関連:「ハードウェアによる投機」対「ソフトウェアによる投機」
3.5 マルチスレッディング:スレッドレベル並列性抽出のためのILPサポートの利用
3.6 総合的な実例:先端的多重命令発行プロセッサでの性能と効率
3.7 誤った考えと落し穴
3.8 おわりに
3.9 歴史的展望と参照事項
演習問題付きケーススタディ(Wen-mei W. HwuとJohn W. Sias)

4章 マルチプロセッサとスレッドレベル並列性

4.1 はじめに
4.2 対称型共有メモリアーキテクチャ
4.3 対称型共有メモリマルチプロセッサの性能
4.4 分散共有メモリとディレクトリベースコヒーレンス制御
4.5 同期:その基本
4.6 メモリコンシステンシモデル:導入
4.7 他の章との関連
4.8 総合的な実例:Sun T1マルチプロセッサ
4.9 誤った考えと落し穴
4.10 おわりに
4.11 歴史的展望と参照事項
演習問題付きケーススタディ(David A. Wood)

5章 メモリ階層の設計

5.1 はじめに
5.2 キャッシュの性能向上のための11のより進んだ改良法
5.3 メモリ技術と最適化
5.4 保護:仮想記憶と仮想マシン
5.5 他の章との関連:記憶階層の設計
5.6 総合的な実例:AMD Opteronの記憶階層
5.7 誤った考えと落し穴
5.8 おわりに
5.9 歴史的展望と参照事項
演習問題付きケーススタディ(Norman P. Jouppi)

6章 ストレージシステム

6.1 はじめに
6.2 ディスク記憶装置の最近の動向
6.3 実際の欠陥と障害の定義と例
6.4 I/O性能、信頼性の測定およびベンチマーク
6.5 待ち行列理論入門
6.6 他の章との関連
6.7 I/Oシステムの設計と評価:インターネットアーカイブクラスタの例
6.8 総合的な実例:NetApp FAS6000ファイラ
6.9 誤った考えと落し穴
6.10 おわりに
6.11 歴史的展望と参照事項
演習問題付きケーススタディ(Andrea C. Arpaci-Dusseau、Remzi H. Arpaci-Dusseau)

付録 A パイプライン処理:基本および中間的な概念

A.1 はじめに
A.2 パイプライン処理の主要な障害:パイプラインハザード
A.3 パイプラインの実装法
A.4 何がパイプラインの実装を困難にするのだろう?
A.5 複数サイクル演算を扱うためのMIPSパイプライン拡張
A.6 総合的な実例:MIPS R4000パイプライン
A.7 他の章との関連
A.8 誤った考えと落し穴
A.9 おわりに
A.10 歴史的展望と参照事項

付録 B 命令セットの原理と例

B.1 はじめに
B.2 命令セットアーキテクチャの分類
B.3 メモリアドレッシング
B.4 オペランドタイプとオペランドサイズ
B.5 命令セットにおける命令操作
B.6 制御のための命令
B.7 命令セットのエンコード
B.8 他の章との関連:コンパイラの役割
B.9 他の章との関連:MIPSアーキテクチャ
B.10 誤った考えと落し穴
B.11 おわりに
B.12 歴史的展望と参照事項

付録 C 記憶階層の復習

C.1 はじめに
C.2 キャッシュの性能
C.3 6つの基本的なキャッシュ改良法
C.4 仮想記憶
C.5 仮想記憶の保護とその例
C.6 誤った考えと落し穴
C.7 おわりに
C.8 歴史的展望と参照事項

CD-ROM収録付録

付録 D 組み込みシステム
付録 E 相互結合網
付録 F ベクトルプロセッサ
付録 G VLIW・EPIC向けハードウェアとソフトウェア
付録 H 大規模マルチプロセッサと科学技術アプリケーション
付録 I コンピュータの演算法
付録 J さまざまな命令セットアーキテクチャ
付録 K 歴史的視点と参考文献

本書は付属データの提供はございません。

お問い合わせ

内容についてのお問い合わせは、正誤表、追加情報をご確認後に、お送りいただくようお願いいたします。

正誤表、追加情報に掲載されていない書籍内容へのお問い合わせや
その他書籍に関するお問い合わせは、書籍のお問い合わせフォームからお送りください。

利用許諾に関するお問い合わせ

本書の書影(表紙画像)をご利用になりたい場合は書影許諾申請フォームから申請をお願いいたします。
書影(表紙画像)以外のご利用については、こちらからお問い合わせください。

追加情報はありません。

ご購入いただいた書籍の種類を選択してください。

書籍の刷数を選択してください。

刷数は奥付(書籍の最終ページ)に記載されています。

現在表示されている正誤表の対象書籍

書籍の種類:

書籍の刷数:

本書に誤りまたは不十分な記述がありました。下記のとおり訂正し、お詫び申し上げます。

対象の書籍は正誤表がありません。

最終更新日:2012年01月04日
発生刷 ページ数 書籍改訂刷 電子書籍訂正 内容 登録日
1刷 002
2行目
1885年に100万ドルしたコンピュータを
1985年に100万ドルしたコンピュータを
2011.06.01
1刷 010
「2. メモリアドレス」5行目
80×80では整列は不要
80×86では整列は不要
2011.06.01
1刷 012
浮動小数点 「SUB.D、SUB.S、SUB.PS」の「命令の意味」
DP、SP、SPのペアに対する
DP、SP、SPのペアに対する減算
2011.06.16
1刷 025
8行目
2006年おいては、
2006年では、
2011.06.16
1刷 027
下から3行目
通常、1億時間の
通常、10億時間の
2011.06.16
1刷 036
1.25 = SPECRationA / SPECRationB
1.25 = SPECRatioA / SPECRatioB
2011.06.16
1刷 037
例題1.6 1行目
また、SPECratioを
また、SPECRatioを
2011.06.16
1刷 053
「誤った考え」2つ目 1行目
ディスクのMTTFは1200万時間、
ディスクのMTTFは120万時間、
2011.06.16
1刷 056
14行目
『コンピュータの構成方式と設計
『コンピュータの構成と設計
2011.06.16
1刷 064
■の5つ目
重み付き相平均
重み付き相加平均
2011.06.16
1刷 065
1.13
b 1行目・・・Athelon 64 X2 4800+ c・・・Pentium 570
b 1行目・・・Athlon 64 X2 4800+ c・・・Pentium 4 570
2011.06.16
1刷 101
図のキャプション 最終行
除算行う。
除算行う。
2011.06.16
1刷 105
図2.10 リザベーションステーション Load2のA
2刷
45+Regs[R3]
44+Regs[R3]
2008.04.22
1刷 105
図2.10 リザベーションステーション Add1のVk
2刷
Mem[34+Regs[R2]]
Mem[32+Regs[R2]]
2008.04.22
1刷 105
図2.10 リザベーションステーション Mult2のVk 
2刷
Mem[34+Regs[R2]]
Mem[32+Regs[R2]]
2008.04.22
1刷 107
図2.11 リザベーションステーション Mult1のVj
2刷
Mem[45+Regs[3]]
Mem[44+Regs[3]]
2008.04.22
1刷 107
図2.11 リザベーションステーション Mult2のVk
2刷
Mem[34+regs[R2]]
Mem[32+regs[R2]]
2008.04.22
1刷 108
図2.12 「リザベーションステーションrが空」の「動作および管理情報の更新作業」4行目
2刷
if (RegisterStart[rt] .Qi 0)
if (RegisterStart[rt] .Qi ≠ 0)
2009.07.10
1刷 111
下から9行目
CDBが1つしかないことによっても制限される。
CDBが1つしかないことによっても制限される。
2011.06.01
1刷 117
図2.15 「リオーダバッファ」の「状態」
2刷
Commit Commit Write result Write result Execute Write result
コミット コミット 結果書き込み 結果書き込み 実行 結果書き込み
2009.07.10
1刷 131
図2.21 項目
2刷
メモリ参照のサイクル番号
CDBに書き込むサイクル番号
2008.04.22
1刷 131
図2.21 項目
2刷
CDBに書き込むサイクル番号
コミットのサイクル番号
2008.04.22
1刷 134
例題2.11 解答 5行目
2刷
分岐先バッファにヒットする不成立の確率
分岐先バッファにヒットするが不成立の確率
2009.07.10
1刷 141
13行目
実際にアドレス値を予測する必要はく、
実際にアドレス値を予測する必要はく、
2011.06.01
1刷 213
15行目
2刷
マルチプロセッはマイクロプロセッサの多くの複製を
マルチプロセッはマイクロプロセッサの多くの複製を
2009.08.18
1刷 238
8行目
を用いる
を用いる。
2011.06.17
1刷 258
「4.5 同期:その基本」4~5行目
実行できることのできる命令列である。
実行できる命令列である。
2011.06.17
1刷 260
8行目
2刷
onditional
Conditional
2011.06.17
1刷 274
T1の性能
1行目・・・TPCC、 9行目・・・TPC-Cの対して
1行目・・・TPC-C、 9行目・・・TPC-Cのベンチマークに対して
2011.06.17
1刷 276
下から2行目
しかしながら、ワイドイシューの
しかしながら、ワイドイシューの
2011.06.17
1刷 277
4~5行目
単一のワイドイシュープロセッサよりも、
単一のワイドイシュープロセッサよりも、
2011.06.17
1刷 278
図のキャプション 2行目
SPEC-JBBでは、
SPECJBBでは、
2011.06.17
1刷 284
下から5行目
2刷
費用対効果さらに
費用対効果さらに
2011.06.17
1刷 285
誤った考え
太字部分・・・スケーラビリティはほんどフリー(勝手に手に入るもの)である 本文4行目・・・プロセッサ台数おいても
太字部分・・・スケーラビリティはほとんどフリー(勝手に手に入るもの)である 本文4行目・・・プロセッサ台数おいても
2011.06.10
1刷 300
下から10行目
2刷
O(rcv_data)
Orcv_data
2011.06.17
1刷 326
図5.10
SPECfp2000ベンチマークの9から14まで
SPECfp2000ベンチマークの14から9つまで
2012.01.04
1刷 329
図のキャプション 2行目
64バイト64バイトを仮定している。
64バイトを仮定している。
2011.06.17
1刷 334
図の下の本文 5行目
N3の演算ために、
N3の演算のために、
2011.06.17
1刷 336
図5.10
SPECint2000ベンチマークの2から12まで
SPECint2000ベンチマークの12から2つまで
2012.01.04
1刷 345
「DRAMチップ内のメモリ性能の改善」8行目
256Mbitsでは
256Mbitでは
2011.06.17
1刷 352
下から2行目
80×86とほとんどRISCアーキテクチャが
80×86とほとんどRISCアーキテクチャが
2011.06.01
1刷 354
ページ最終行
それは多数の厄介な部分を持つ。
それは多数の厄介な部分を削ぎ落している。
2012.01.04
1刷 354
下から14行目
受け取ることができること仮想ネットワークアドレスが
受け取ることができることと、仮想ネットワークアドレスが
2011.06.17
1刷 369
表の項目名「Opteron」
Opteron(2.8GH)
Opteron(2.8GHz
2011.06.17
1刷 382
コード3行目
output[j][i] = input[i]j];
output[j][i] = input[i][j];
2011.06.17
1刷 408
2つめの■ 3行目
ある構成要素から別ものに伝播し、
ある構成要素から別のものに伝播し、
2011.06.01
1刷 427
9行目
この単位は明らかに異常である。
この単位は明らかに異常である。
2011.06.17
1刷 429
例題6.2 解説 最後の式
Length(queue) = サーバ率 ×
Length(queue) = サーバ使用率 ×
2011.06.17
1刷 471
13行目
込む時には、
書き込む時には、
2011.06.16
1刷 477
14行目
命令をパイプラインの1ステップ分進めるに要する時間が
命令をパイプラインの1ステップ分進めるに要する時間が
2011.06.01
1刷 483
本文6行目、最終行
本文6行目・・・2つのパイプレイレジスタを 最終行・・・ID/IX
本文6行目・・・2つのパイプラインレジスタを 最終行・・・ID/EX
2011.06.01
1刷 550
12行目
決定するに
決定する
2011.06.16
1刷 582
「手続き呼び出しにおける選択肢」最終行
命令とコンパイラ必要と
命令とコンパイラ必要と
2011.06.16
1刷 597
■の3つ目
ターゲットとして効率的
ターゲットとして効率的
2011.06.16
1刷 600
最終行
32(Mem[Regs [R8]]0)24## Mem[[Regs R8]]
32(Mem[Regs [R8]]0)24## Mem[Regs [R8]]
2011.06.16
1刷 604
浮動小数点 「SUB.D、SUB.S、SUB.PS」の「命令の意味」
DP、SP、SPのペアに対する
DP、SP、SPのペアに対する減算
2011.06.16
1刷 621
「記憶階層における4つの問い」3行目
Q1:Q1:
Q1:
2011.06.16
1刷 627
例題C.3
2刷
Write Mem[100]; WriteMem[100]; Read Mem[200]; WriteMem[200]; WriteMem[100].
Write Mem[100]; Write Mem[100]; Read Mem[200]; Write Mem[200]; Write Mem[100].

「Write」と「Mem」の間にスペースが入ります。
2009.08.18
1刷 627
例題C.3 2行目
下に示す5つのメモリ操作順に
下に示す5つのメモリ操作が順に
2011.06.16
1刷 633
6行目
=命令の割合×(ヒット時間×命令ミス×ペナルティ)
=命令の割合×(ヒット時間+命令ミス×ペナルティ)
2011.06.16
1刷 634
例題C.5 解答 3行目
2刷
CPU時間キャッシュ付き =IC×(1.0+(30/1000200))×クロックサイクル時間
CPU時間キャッシュ付き =IC×(1.0+(30/1000×200))×クロックサイクル時間
2009.08.18
1刷 635
4行目
CPIexecution
CPI実行
2011.06.16
1刷 636
11~12行目
2刷
CPU時間2ウェイ =IC×(1.6×0.35+(0.021×1.4×65))=2.47×IC CPU時間1ウェイ = IC×(1.6×0.35×1.35+(0.019×1.4×65)) = 2.49×IC
CPU時間1ウェイ =IC×(1.6×0.35+(0.021×1.4×65))=2.47×IC CPU時間2ウェイ = IC×(1.6×0.35×1.35+(0.019×1.4×65)) = 2.49×IC
2009.08.18
1刷 636
7行目
= IC × [(CPI実行 × クロックサイクル)
= IC × [(CPI実行 × クロックサイクル時間)
2011.06.16
1刷 637
本文1行目
同様に、アウトオブオーダプロセッサのあるものは(オーバーラップにより)ヒット時間が短くなるのだが、性能評価式のこの部分は、ヒット時間についても同様に、全体のヒットレイテンシとオーバーラップされたヒットレイテンシとに分けることができる。この式はアウトオブオーダプロセッサのメモリ資源の集中のためにも拡大して利用できる。この場合にも、全体のミスレイテンシを集中が起きていないレイテンシと集中が起きてオーバーラップしている場合のレイテンシに分けることができる。
アウトオブオーダプロセッサのあるものはヒット時間を引き伸ばしてしまう。このため、性能評価式のヒット時間についての部分も、同じように、全体のヒットレイテンシからオーバーラップされたヒットレイテンシを分離することができるだろう。この式はアウトオブオーダプロセッサのメモリ資源の衝突を計算に入れるためにも拡張して利用できる。この場合も全体のミスレイテンシを、衝突が起きていない部分のレイテンシと衝突によるレイテンシに分けることができる。
2012.01.04
1刷 639
最後の式 一番右側の項
ヒット時間L2
ミスペナルティL2
2011.06.16
1刷 645
図C.12
2刷
4K・・・7.082 16K・・・3.323 64K・・・1.933 256K・・・1.449
4K・・・7.082 16K・・・3.323 64K・・・1.933 256K・・・1.449

「平均時間が最も小さい時間は太字で書いておく」の記載には、上記4つが該当します。
2009.08.18
1刷 646
2行目
2刷
1.12はこの2つの両極端の間の、
図C.12はこの2つの両極端の間の、
2009.08.18
1刷 649
最終行の式 一番右側の項
+ 命令当たりのミス数L2 × ヒット時間L2
+ 命令当たりのミス数L2 × ミスペナルティL2
2011.06.16
1刷 650
下から9行目 
+ 命令当たりのミス数L2 × ヒット時間L2
+ 命令当たりのミス数L2 × ミスペナルティL2
2011.06.16
1刷 658
下から8~7行目
使うこと可能になった。
使うことが可能になった。
2011.06.16
1刷 664
4行目
ページの表の大きさは、($232/212)×22
ページの表の大きさは、(232/212)×22
2011.06.16
1刷 727
下から7行目
1996年に『コンピュータの設計と構成
1996年に『コンピュータの構成と設計』
2011.06.16
1刷 vi
8行目
世界をもたらす最良の例とて、
世界をもたらす最良の例とて、
2011.06.01
1刷 xv
2行目
報告れたものでないことを
報告れたものでないことを
2011.06.01
1刷 xvii
謝辞 2行目
につては3つのバージョン
につては3つのバージョン
2011.06.16
1刷 表紙裏
「11」下から2行目
また、Wightは
また、Weightは
2011.06.16
1刷 裏表紙の裏
浮動小数点 「SUB.D、SUB.S、SUB.PS」の「命令の意味」
DP、SP、SPのペアに対する
DP、SP、SPのペアに対する減算
2011.06.16

感想・レビュー

kaizen@名古屋de朝活読書会 さん

2012-09-26

C言語の移植性を考えるためコンピュータのアーキテクチャを勉強。「コンピュータの設計と構成」と併読む。付録Bにコンパイラに関連する命令セットの話。インテルの成功の理由を3つ。1初期のIBM PCで採用。バイナリ互換が重要。2十分なハードウェア資源が利用でき80x86命令を内部でRISC命令セットに飜訳しRISCライクな命令を実行。3PCマイクロプロセッサは市場規模が非常に大き井。ハードウェアによるRISC命令への返還に要する設計費用が増加しても容易に償却。製品の費用を低下。

fjt7tdmi さん

コンピュータアーキテクチャに興味がある人は読んでおいた方が良い一冊、それ以外の人はここまでの知識は必要なという一冊。 私が最初にこの本を読んだ時点では第4版だったのだが、最新の第6版で大きく更新されており、RISCV やら DSA やら流行りの内容を扱うようになった。 これから読む人は、最新版だけ読むのが良いだろう。