內容簡介
本書是在原書第四版的基礎上修訂而成的。這次修訂的重點是第1、4、5、6章。
本書系統地講述了計算機系統結構的基本概念、基本原理、基本結構、基本分析方法以及近年來在該領域的進展。
全書共8章。主要內容有:計算機系統結構基礎及並行性的開發;數據表示、定址方式與指令系統的設計、最佳化、發展和改進;存儲、中斷、匯流排與輸入/輸出系統;虛擬存儲器、Cache存儲器、三級存儲層次和存儲系統的保護;重疊方式和流水方式的標量處理機及指令級高度並行的超級處理機;向量的流水處理和向量流水處理機、陣列處理機的原理、並行算法和互連網路;多處理機的硬體結構、多Cache的一致性、程式的並行性和性能、作業系統和多處理機的發展;數據流計算機和歸約機。
本書內容豐富,取材適當,每章有大量例題和習題。每章末均有本章小結,給出本章“知識點和能力層次要求”以及“重點和難點”。書末附有各章習題參考答案。
本書可作為計算機專業本科生和相關專業研究生的教材,也可作為相關領域科技人員的參考書。
目錄
第1章 計算機系統結構基礎及並行性的開發 1
1.1 計算機系統的層次結構 1
1.2 計算機系統結構、計算機組成和計算機實現 2
1.2.1 計算機系統結構的定義和內涵 2
1.2.2 計算機組成和計算機實現的定義及內涵 3
1.2.3 計算機系統結構、組成和實現的相互影響 6
1.3 計算機系統的軟、硬體取捨和性能評測及定量設計原理 7
1.3.1 軟、硬體取捨的基本原則 7
1.3.2 計算機系統的性能評測及定量設計原理 10
1.3.3 計算機系統設計的主要任務和方法 14
1.4 軟體、套用、器件的發展對系統結構的影響 17
1.4.1 軟體的發展對系統結構的影響 17
1.4.2 套用的發展對系統結構的影響 22
1.4.3 器件的發展對系統結構的影響 24
1.5 系統結構中的並行性開發及計算機系統的分類 26
1.5.1 並行性的概念和開發 26
1.5.2 計算機系統的分類 30
1.6 本章小結 32
1.6.1 知識點和能力層次要求 32
1.6.2 重點和難點 32
習題1 33
第2章 數據表示、定址方式與指令系統 35
2.1 數據表示 35
2.1.1 數據表示與數據結構 35
2.1.2 高級數據表示 36
2.1.3 引入數據表示的原則 42
2.1.4 浮點數尾數基值大小和下溢處理方法的選擇 43
2.2 定址方式 51
2.2.1 定址方式的三種面向 51
2.2.2 定址方式在指令中的指明 51
2.2.3 程式在主存中的定位技術 52
2.2.4 物理主存中信息的存儲分布 54
2.3 指令系統的設計和最佳化 55
2.3.1 指令系統設計的基本原則 55
2.3.2 指令操作碼的最佳化 57
2.3.3 指令字格式的最佳化 60
2.4 指令系統的發展和改進 64
2.4.1 兩種途徑和方向(CISC和RISC) 64
2.4.2 按CISC方向發展和改進指令系統 65
2.4.3 按RISC方向發展和改進指令系統 70
2.5 本章小結 78
2.5.1 知識點和能力層次要求 78
2.5.2 重點和難點 79
習題2 79
第3章 存儲、中斷、匯流排與輸入/輸出系統 81
3.1 存儲系統的基本要求和並行主存系統 81
3.1.1 存儲系統的基本要求 81
3.1.2 並行主存系統 82
3.2 中斷系統 86
3.2.1 中斷的分類和分級 86
3.2.2 中斷的回響次序與處理次序 88
3.2.3 中斷系統的軟、硬體功能分配 91
3.3 匯流排系統 92
3.3.1 匯流排的分類 93
3.3.2 匯流排的控制方式 94
3.3.3 匯流排的通信技術 96
3.3.4 數據寬度與匯流排線數 97
3.4 輸入/輸出系統 99
3.4.1 輸入/輸出系統概述 99
3.4.2 通道處理機的工作原理和流量設計 100
3.4.3 外圍處理機 107
3.5 本章小結 108
3.5.1 知識點和能力層次要求 108
3.5.2 重點和難點 108
習題3 109
第4章 存儲體系 112
4.1 基本概念 112
4.1.1 存儲體系及其分支 112
4.1.2 存儲體系的構成依據 113
4.1.3 存儲體系的性能參數 114
4.2 虛擬存儲器 115
4.2.1 虛擬存儲器的管理方式 115
4.2.2 頁式虛擬存儲器的構成 120
4.2.3 頁式虛擬存儲器實現中的問題 129
4.3 高速緩衝存儲器 135
4.3.1 工作原理和基本結構 135
4.3.2 地址的映像與變換 137
4.3.3 Cache存儲器的LRU替換算法的硬體實現 143
4.3.4 Cache存儲器的透明性及性能分析 144
4.4 三級存儲體系 149
4.4.1 物理地址Cache 149
4.4.2 虛地址Cache 149
4.4.3 全Cache技術 151
4.5 存儲系統的保護 151
4.6 本章小結 154
4.6.1 知識點和能力層次要求 154
4.6.2 重點和難點 155
習題4 155
第5章 標量處理機 160
5.1 重疊方式 160
5.1.1 重疊原理與一次重疊 160
5.1.2 相關處理 163
5.2 流水方式 168
5.2.1 基本概念 168
5.2.2 標量流水線的主要性能 173
5.2.3 標量流水機的相關處理和控制機構 177
5.3 指令級高度並行的超級處理機 189
5.3.1 超標量處理機 190
5.3.2 超長指令字處理機 191
5.3.3 超流水線處理機 192
5.3.4 超標量超流水線處理機 193
5.4 本章小結 194
5.4.1 知識點和能力層次要求 194
5.4.2 重點和難點 194
習題5 195
第6章 向量處理機 198
6.1 向量的流水處理和向量流水處理機 198
6.1.1 向量的處理和向量的流水處理 198
6.1.2 向量流水處理機的結構舉例 199
6.1.3 通過並行、連結提高性能 201
6.1.4 提高向量流水處理速度的其他辦法 203
6.2 陣列處理機的原理 206
6.2.1 陣列處理機的構形和特點 206
6.2.2 ILLIAC Ⅳ的處理單元陣列結構 209
6.2.3 ILLIAC Ⅳ的並行算法舉例 209
6.3 SIMD計算機的互連網路 213
6.3.1 互連網路的設計目標與互連函式 213
6.3.2 互連網路應抉擇的幾個問題 214
6.3.3 基本的單級互連網路 215
6.3.4 基本的多級互連網路 218
6.3.5 全排列網路 226
6.4 共享主存構形的陣列處理機中並行存儲器的無衝突訪問 227
6.5 脈動陣列流水處理機 229
6.5.1 脈動陣列結構的原理 229
6.5.2 通用脈動陣列結構 231
6.6 本章小結 233
6.6.1 知識點和能力層次要求 233
6.6.2 重點和難點 233
習題6 234
第7章 多處理機 237
7.1 多處理機的概念、問題和硬體結構 237
7.1.1 多處理機的基本概念和要解決的技術問題 237
7.1.2 多處理機的硬體結構 238
7.2 緊耦合多處理機多Cache的一致性問題 250
7.2.1 多Cache的一致性問題的產生 250
7.2.2 多Cache的一致性問題的解決辦法 250
7.3 多處理機的並行性和性能 252
7.3.1 並行算法 252
7.3.2 程式並行性分析 254
7.3.3 並行語言與並行編譯 256
7.3.4 多處理機的性能 261
7.4 多處理機的作業系統 262
7.4.1 主從型作業系統 262
7.4.2 各自獨立型作業系統 263
7.4.3 浮動型作業系統 264
7.5 多處理機的發展 264
7.5.1 分散式共享存儲器多處理機 264
7.5.2 對稱多處理機 265
7.5.3 多向量多處理機 265
7.5.4 並行向量處理機 266
7.5.5 大規模並行處理機 266
7.5.6 機群系統 267
7.6 本章小結 268
7.6.1 知識點和能力層次要求 268
7.6.2 重點和難點 269
習題7 269
第8章 數據流計算機和歸約機 272
8.1 數據流計算機 272
8.1.1 數據驅動的概念 272
8.1.2 數據流程式圖和語言 274
8.1.3 數據流計算機的結構 279
8.1.4 數據流計算機存在的問題 280
8.1.5 數據流計算機的進展 280
8.2 歸約機 281
8.3 本章小結 283
8.3.1 知識點和能力層次要求 283
8.3.2 重點和難點 283
習題8 283
附錄 習題參考答案 285
參考文獻 329