第1章 計算機係統結構的基礎知識11.1 計算機係統結構的基本概念1
1.1.1 計算機係統的層次結構2
1.1.2 計算機係統結構的定義3
1.1.3 計算機組成和計算機實現3
1.1.4 計算機係統結構的分類4
1.2 計算機係統的設計7
1.2.1 計算機係統設計的定量原理7
1.2.2 計算機係統設計者的主要任務10
1.2.3 計算機係統設計的主要方法12
1.3 計算機係統的性能評測13
1.4 計算機係統結構的發展17
1.4.1 馮·諾依曼結構及其改進17
1.4.2 軟件對係統結構的影響19
1.4.3 器件發展對係統結構的影響22
1.4.4 應用對係統結構的影響23
1.5 計算機係統結構中並行性的發展23
1.5.1 並行性的概念23
1.5.2 提高並行性的技術途徑25
1.5.3 單機係統中並行性的發展25
1.5.4 多機係統中並行性的發展26
1.5.5 並行機的發展變化27
習題128
第2章 指令係統的設計30
2.1 指令係統結構的分類30
2.2 尋址方式33
2.3 指令係統的設計和優化35
2.3.1 指令係統設計的基本原則35
2.3.2 控製指令36
2.3.3 指令操作碼的優化37
2.3.4 指令字格式的優化40
2.4 指令係統的發展和改進42
2.4.1 沿CISC方嚮發展和改進指令係統42
2.4.2 沿RISC方嚮發展和改進指令係統44
2.5 操作數的類型和大小45
2.6 MIPS指令係統結構47
2.6.1 MIPS的寄存器47
2.6.2 MIPS的數據錶示47
2.6.3 MIPS的數據尋址方式47
2.6.4 MIPS的指令格式48
2.6.5 MIPS的操作49
2.6.6 MIPS的控製指令50
2.6.7 MIPS的浮點操作51
習題251
目 錄 計算機係統結構教程第3章 流水綫技術53
3.1 流水綫的基本概念53
3.1.1 什麼是流水綫53
3.1.2 流水綫的分類55
3.2 流水綫的性能指標58
3.2.1 流水綫的吞吐率58
3.2.2 流水綫的加速比60
3.2.3 流水綫的效率61
3.2.4 流水綫性能分析舉例62
3.2.5 流水綫設計中的若乾問題64
3.3 非綫性流水綫的調度64
3.3.1 單功能非綫性流水綫的最優調度65
3.3.2 多功能非綫性流水綫的調度67
3.4 流水綫的相關與衝突70
3.4.1 一條經典的5段流水綫70
3.4.2 相關與流水綫衝突72
3.5 流水綫的實現83
3.5.1 MIPS的一種簡單實現83
3.5.2 基本的MIPS流水綫86
習題390
第4章 嚮量處理機93
4.1 嚮量的處理方式93
4.2 嚮量處理機的結構95
4.2.1 “存儲器-存儲器”結構95
4.2.2 “寄存器-寄存器”結構95
4.3 提高嚮量處理機性能的常用技術97
4.3.1 設置多個功能部件98
4.3.2 鏈接技術98
4.3.3 分段開采技術101
4.3.4 采用多處理機係統102
4.4 嚮量處理機的性能評價102
4.4.1 嚮量指令的處理時間Tvp102
4.4.2 最大性能R∞和半性能嚮量長度n1/2105
4.4.3 嚮量長度臨界值nv106
4.5 嚮量處理機實例106
4.5.1 具有代錶性的嚮量處理機106
4.5.2 Cray Y-MP和C-90107
4.5.3 NECSX-X44108
習題4109
第5章 指令級並行及其開發--硬件方法111
5.1 指令級並行的概念111
5.2 相關與指令級並行112
5.3 指令的動態調度113
5.3.1 動態調度的基本思想113
5.3.2 記分牌動態調度方法115
5.3.3 Tomasulo算法122
5.4 動態分支預測技術133
5.4.1 采用分支曆史錶BHT 134
5.4.2 采用分支目標緩衝器BTB135
5.4.3 基於硬件的前瞻執行137
5.5 多指令流齣技術141
5.5.1 基於靜態調度的多流齣技術143
5.5.2 基於動態調度的多流齣技術144
5.5.3 超長指令字技術147
5.5.4 多流齣處理器受到的限製148
5.5.5 超流水綫處理機149
習題5152
第6章 指令級並行的開發--軟件方法153
6.1 基本指令調度及循環展開153
6.1.1 指令調度的基本方法153
6.1.2 循環展開155
6.2 跨越基本塊的靜態指令調度157
6.2.1 全局指令調度157
6.2.2 蹤跡調度159
6.2.3 超塊調度162
6.3 靜態多指令流齣: VLIW技術163
6.4 顯式並行指令計算EPIC165
6.4.1 非綁定分支166
6.4.2 謂詞執行166
6.4.3 前瞻執行169
6.5 開發更多的指令級並行172
6.5.1 挖掘更多的循環級並行172
6.5.2 軟流水178
6.6 實例: IA-64體係結構180
6.6.1 IA-64的指令格式181
6.6.2 IA-64的謂詞執行機製184
6.6.3 IA-64的前瞻執行機製185
習題6186
第7章 存儲係統188
7.1 存儲係統的層次結構188
7.1.1 存儲係統的層次結構188
7.1.2 存儲係統的性能參數189
7.1.3 三級存儲係統190
7.1.4 存儲層次的四個問題192
7.2 Cache基本知識192
7.2.1 基本結構和原理192
7.2.2 映像規則193
7.2.3 查找方法195
7.2.4 Cache的工作過程197
7.2.5 替換算法198
7.2.6 寫策略202
7.2.7 Cache性能分析203
7.2.8 改進Cache性能205
7.3 降低Cache不命中率205
7.3.1 三種類型的不命中206
7.3.2 增加Cache塊大小208
7.3.3 增加Cache的容量209
7.3.4 提高相聯度209
7.3.5 僞相聯Cache209
7.3.6 硬件預取210
7.3.7 編譯器控製的預取210
7.3.8 編譯優化211
7.3.9 “犧牲”Cache213
7.4 減少Cache不命中開銷214
7.4.1 采用兩級Cache214
7.4.2 讓讀不命中優先於寫217
7.4.3 寫緩衝閤並217
7.4.4 請求字處理技術218
7.4.5 非阻塞Cache技術218
7.5 減少命中時間219
7.5.1 容量小、結構簡單的Cache219
7.5.2 虛擬Cache219
7.5.3 Cache訪問流水化222
7.5.4 蹤跡Cache222
7.5.5 Cache優化技術總結222
7.6 並行主存係統223
7.6.1 單體多字存儲器224
7.6.2 多體交叉存儲器224
7.6.3 避免存儲體衝突229
7.7 虛擬存儲器230
7.7.1 基本概念230
7.7.2 快速地址轉換技術231
7.7.3 頁式虛擬存儲器實例: 64位Opteron的存儲管理232
7.8 實例: AMD Opteron的存儲器層次結構234
習題7238
第8章 輸入輸齣係統241
8.1 I/O係統的性能241
8.2 I/O係統的可靠性、可用性和可信性242
8.3 廉價磁盤冗餘陣列RAID243
8.3.1 RAID0245
8.3.2 RAID1245
8.3.3 RAID2246
8.3.4 RAID3246
8.3.5 RAID4247
8.3.6 RAID5248
8.3.7 RAID6249
8.3.8 RAID10與RAID01249
8.3.9 RAID的實現與發展249
8.4 總綫250
8.4.1 總綫的設計250
8.4.2 總綫標準和實例252
8.4.3 與CPU的連接253
8.5 通道處理機254
8.5.1 通道的作用和功能254
8.5.2 通道的工作過程255
8.5.3 通道種類257
8.5.4 通道流量分析259
8.6 I/O與操作係統261
8.6.1 DMA和虛擬存儲器261
8.6.2 I/O和Cache數據一緻性261
習題8263
第9章 互連網絡266
9.1 互連函數266
9.1.1 互連函數的錶示方法266
9.1.2 幾種基本的互連函數267
9.2 互連網絡的結構參數與性能指標 272
9.2.1 互連網絡的結構參數272
9.2.2 互連網絡的性能指標273
9.3 靜態互連網絡273
9.4 動態互連網絡279
9.4.1 總綫網絡279
9.4.2 交叉開關網絡280
9.4.3 多級互連網絡281
9.4.4 動態互連網絡的比較284
9.5 消息傳遞機製285
9.5.1 消息尋徑方案285
9.5.2 死鎖與虛擬通道288
9.5.3 流控製策略289
9.5.4 選播和廣播尋徑算法292
習題9294
第10章 多處理機296
10.1 引言296
10.1.1 並行計算機係統結構的分類297
10.1.2 存儲器係統結構和通信機製298
10.1.3 並行處理麵臨的挑戰300
10.2 對稱式共享存儲器係統結構302
10.2.1 多處理機Cache一緻性302
10.2.2 實現一緻性的基本方案303
10.2.3 監聽協議的實現306
10.3 分布式共享存儲器係統結構310
10.3.1 目錄協議的基本思想310
10.3.2 目錄協議實例313
10.3.3 目錄的三種結構316
10.4 同步318
10.4.1 基本硬件原語318
10.4.2 用一緻性實現鎖320
10.4.3 同步性能問題322
10.5 同時多綫程324
10.5.1 將綫程級並行轉換為指令級並行325
10.5.2 同時多綫程處理器的設計326
10.5.3 同時多綫程的性能327
10.6 大規模並行處理機MPP329
10.6.1 並行計算機係統結構329
10.6.2 大規模並行處理機MPP331
10.7 多處理機實例1: T1333
10.8 多處理機實例2: Origin 2000338
習題10344
第11章 機群係統345
11.1 機群的基本結構346
11.1.1 機群的硬件組成346
11.1.2 機群的軟件347
11.2 機群的特點348
11.3 機群的分類349
11.4 典型機群係統簡介350
11.4.1 Berkeley NOW350
11.4.2 Beowulf351
11.4.3 LAMP351
11.4.4 IBM SP2351
習題11353
第12章 陣列處理機354
12.1 陣列處理機的操作模型和特點354
12.2 陣列處理機的基本結構355
12.2.1 分布式存儲器的陣列機355
12.2.2 共享存儲器的陣列機356
12.3 陣列處理機實例357
12.3.1 實例1: Illiac IV陣列處理機357
12.3.2 實例2: BSP計算機360
12.4 陣列處理機的並行算法舉例363
習題12367
第13章 數據流計算機369
13.1 數據流計算機的基本原理369
13.1.1 數據驅動原理369
13.1.2 數據流計算機中指令的執行過程370
13.1.3 數據流計算機的指令結構371
13.2 數據流程序圖和數據流語言371
13.2.1 數據流程序圖372
13.2.2 數據流語言及其性質375
13.3 數據流計算機結構376
13.3.1 靜態數據流計算機377
13.3.2 動態數據流計算機378
13.4 數據流計算機的評價381
13.4.1 數據流計算機的優點381
13.4.2 數據流計算機的缺點382
13.4.3 數據流計算機設計中需解決的問題383
習題13383
參考文獻385
· · · · · · (
收起)