計算機系統結構教程(第3版)

張晨曦、王志英、沈立、李江峰、王偉

  • 出版商: 清華大學
  • 出版日期: 2021-08-01
  • 售價: $359
  • 貴賓價: 9.5$341
  • 語言: 簡體中文
  • 頁數: 428
  • 裝訂: 平裝
  • ISBN: 7302567581
  • ISBN-13: 9787302567585
  • 相關分類: Computer-architectureComputer-networks
  • 立即出貨 (庫存 < 4)

  • 計算機系統結構教程(第3版)-preview-1
  • 計算機系統結構教程(第3版)-preview-2
  • 計算機系統結構教程(第3版)-preview-3
計算機系統結構教程(第3版)-preview-1

買這商品的人也買了...

商品描述

本書系統地論述了電腦系統結構的基本概念、基本結構、基本方法等,強調從開發並行性的角度、用量化分析(性能評價)的方法來研究和分析電腦系統,並且採用微課的形式,配備了教學動畫和視頻。 全書共分14章。第1章論述電腦系統的基本概念、並行性的發展和定量分析基礎。第2章論述電腦指令系統的設計和MIPS指令系統。第3章論述流水線技術,包括性能分析、調度、相關與沖突以及流水線的實現。第4章論述向量處理機的結構、常用技術和性能評價。第5章和第6章分別論述如何用硬件和軟件的方法來開發指令級並行性,包括Tomasulo算法、基於硬件的前瞻執行、多指令流出技術、循環展開、VLIW、EPIC等。第7章論述存儲系統,重點論述Cache的基本知識及提高Cache性能的各種方法。第8章論述總線、通道處理機和RAID。第9章論述互連網絡的特性參數、靜/動態互連網絡以及消息傳遞機制等。第10章論述SMP、DSM、MPP等並行電腦系統結構,論述多Cache一致性、同步、同時多線程。第11章論述多核架構以及基於多核的並行程序設計。最後3章分別論述機群系統、陣列處理機、數據流電腦。 本書內容豐富、實例具體、語言簡練、可讀性好,既可作為高等院校電腦及相關專業教材,也可作為相關科技人員的參考書。

作者簡介

張晨曦,男,1960年生,博士,國家傑青。
同濟大學軟件學院教授,上海市教學名師,上海市模範教師,全軍優秀教師。
上海市教學成果一等獎獲得者。
作為課程負責人,獲得過*家級精品課程兩門,上海市精品課程兩門。主編出版計算機教材14部,其中兩部被評為*家級精品教材,並獲上海市優秀教材一等獎,有3部被評為十二五*家級規劃教材,有一部被國內100多所大學選為教材。

目錄大綱

第1章計算機系統結構的基礎知識1
1.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器件發展對系統結構的影響21
1.4.4應用對系統結構的影響22
1.5計算機系統結構中並行性的發展23
1.5.1並行性的概念23
1.5.2提高並行性的技術途徑25
1.5.3單機系統中並行性的發展25
1.5.4多機系統中並行性的發展25
1.5.5並行機的發展變化26
習題128

第2章指令系統的設計30
2.1指令系統結構的分類30
2.2尋址方式32
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.6MIPS指令系統結構47
2.6.1MIPS的寄存器47
2.6.2MIPS的數據表示47
2.6.3MIPS的數據尋址方式47
2.6.4MIPS的指令格式48
2.6.5MIPS的操作49
2.6.6MIPS的控制指令50
2.6.7MIPS的浮點操作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.1MIPS的一種簡單實現83
3.5.2基本的MIPS流水線86
習題390

第4章向量處理機94
4.1向量的處理方式94
4.2向量處理機的結構96
4.2.1“存儲器存儲器”結構96
4.2.2“寄存器寄存器”結構96
4.3提高向量處理機性能的常用技術98
4.3.1設置多個功能部件99
4.3.2鏈接技術99
4.3.3分段開採技術102
4.3.4採用多處理機系統102
4.4向量處理機的性能評價103
4.4.1向量指令的處理時間Tvp103
4.4.2最大性能R∞和半性能向量長度n1/2106
4.4.3向量長度臨界值n瘙經106
4.5向量處理機實例107
4.5.1具有代表性的向量處理機107
4.5.2Cray YMP和C90107
4.5.3NEC SXX44109
習題4110

第5章指令級並行及其開發——硬件方法112
5.1指令級並行的概念112
5.2相關與指令級並行113
5.3指令的動態調度114
5.3.1動態調度的基本思想114
5.3.2記分牌動態調度方法116
5.3.3Tomasulo算法123
5.4動態分支預測技術133
5.4.1採用分支歷史表134
5.4.2採用分支目標緩衝器135
5.4.3基於硬件的前瞻執行137
5.5多指令流出技術142
5.5.1基於靜態調度的多流出技術143
5.5.2基於動態調度的多流出技術144
5.5.3超長指令字技術147
5.5.4多流出處理器受到的限制148
5.5.5超流水線處理機149
習題5152

第6章指令級並行的開發——軟件方法154
6.1基本指令調度和循環展開154
6.1.1指令調度的基本方法154
6.1.2循環展開156
6.2跨越基本塊的靜態指令調度158
6.2.1全局指令調度158
6.2.2踪跡調度161
6.2.3超塊調度163
6.3靜態多指令流出: VLIW技術165
6.4顯式並行指令計算167
6.4.1非綁定分支167
6.4.2謂詞執行168
6.4.3前瞻執行171
6.5開發更多的指令級並行173
6.5.1挖掘更多的循環級並行174
6.5.2軟流水179
6.6實例: IA64體系結構182
6.6.1IA64的指令格式183
6.6.2IA64的謂詞執行機制185
6.6.3IA64的前瞻執行機制186
習題6187

第7章存儲系統189
7.1存儲系統的層次結構189
7.1.1存儲系統的層次結構概述189
7.1.2存儲系統的性能參數190
7.1.3三級存儲系統191
7.1.4存儲層次的4個問題193
7.2Cache的基本知識193
7.2.1基本結構和原理193
7.2.2映像規則194
7.2.3查找方法196
7.2.4Cache的工作過程198
7.2.5替換算法200
7.2.6寫策略203
7.2.7Cache性能分析204
7.2.8改進Cache性能206
7.3降低Cache的不命中率207
7.3.1三種類型的不命中207
7.3.2增加Cache塊大小209
7.3.3增加Cache的容量210
7.3.4提高相聯度210
7.3.5偽相聯Cache211
7.3.6硬件預取212
7.3.7編譯器控制的預取212
7.3.8編譯優化213
7.3.9“犧牲”Cache215
7.4減少Cache不命中開銷216
7.4.1採用兩級Cache216
7.4.2讓讀不命中優先於寫219
7.4.3寫緩衝合併219
7.4.4請求字處理技術220
7.4.5非阻塞Cache技術220
7.5減少命中時間221
7.5.1容量小、結構簡單的Cache221
7.5.2虛擬Cache221
7.5.3Cache訪問流水化224
7.5.4踪跡Cache224
7.5.5Cache優化技術總結224
7.6並行主存系統225
7.6.1單體多字存儲器226
7.6.2多體交叉存儲器227
7.6.3避免存儲體衝突231
7.7虛擬存儲器232
7.7.1基本概念232
7.7.2快速地址轉換技術233
7.7.3頁式虛擬存儲器實例: 64位Opteron的存儲管理234
7.8實例: AMD Opteron的存儲器層次結構236
習題7240

第8章輸入輸出系統243
8.1I/O系統的性能243
8.2I/O系統的可靠性、可用性和可信性244
8.3廉價磁盤冗餘陣列245
8.3.1RAID0247
8.3.2RAID1247
8.3.3RAID2248
8.3.4RAID3249
8.3.5RAID4249
8.3.6RAID5250
8.3.7RAID6250
8.3.8RAID10與RAID01251
8.3.9RAID的實現與發展251
8.4總線252
8.4.1總線的設計253
8.4.2總線標準和實例254
8.4.3與CPU的連接255
8.5通道處理機257
8.5.1通道的作用和功能257
8.5.2通道的工作過程258
8.5.3通道種類259
8.5.4通道流量分析261
8.6I/O與操作系統263
8.6.1DMA和虛擬存儲器263
8.6.2I/O和Cache數據一致性264
習題8266

第9章互連網絡268
9.1互連函數268
9.1.1互連函數的表示方法268
9.1.2幾種基本的互連函數269
9.2互連網絡的結構參數與性能指標273
9.2.1互連網絡的結構參數273
9.2.2互連網絡的性能指標274
9.3靜態互連網絡275
9.4動態互連網絡281
9.4.1總線網絡281
9.4.2交叉開關網絡282
9.4.3多級互連網絡283
9.4.4動態互連網絡的比較286
9.5消息傳遞機制287
9.5.1消息尋徑方案287
9.5.2死鎖與虛擬通道290
9.5.3流控制策略291
9.5.4選播和廣播尋徑算法294
習題9296

第10章多處理機298
10.1引言298
10.1.1並行計算機系統結構的分類298
10.1.2存儲器系統結構和通信機制300
10.1.3並行處理面臨的挑戰302
10.2對稱式共享存儲器的系統結構304
10.2.1多處理機Cache一致性304
10.2.2實現一致性的基本方案305
10.2.3監聽協議的實現308
10.3分佈式共享存儲器的系統結構312
10.3.1目錄協議的基本思想312
10.3.2目錄協議實例315
10.3.3目錄的三種結構318
10.4同步320
10.4.1基本硬件原語320
10.4.2用一致性實現鎖322
10.4.3同步性能問題324
10.5同時多線程326
10.5.1將線程級並行轉換為指令級並行327
10.5.2同時多線程處理器的設計328
10.5.3同時多線程的性能329
10.6大規模並行處理機331
10.6.1並行計算機系統結構331
10.6.2大規模並行處理機333
10.7多核處理器及性能對比335
10.8多處理機實例——Origin 2000340
習題10347

第11章多核架構與編程348
11.1多核架構的需求348
11.1.1功耗與散熱問題348
11.1.2並行度問題349
11.1.3應用軟件問題350
11.2多核架構350
11.2.1多核的組織架構351
11.2.2多核架構實例352
11.3基於多核的並行程序設計355
11.3.1並行編程模型概述355
11.3.2共享存儲模型與消息傳遞模型356
11.3.3並行語言358
11.3.4並行算法359
11.4多核編程實例359
11.4.1一個簡單的OpenMP程序360
11.4.2OpenMP中的排序算法361
習題11 363

第12章機群系統365
12.1機群的基本結構366
12.1.1機群的硬件組成366
12.1.2機群的軟件367
12.2機群的特點368
12.3機群的分類369
12.4典型機群系統簡介370
12.4.1Berkeley NOW370
12.4.2Beowulf371
12.4.3LAMP371
12.4.4IBM SP2372
12.4.5天河2號373
習題12377

第13章陣列處理機379
13.1陣列處理機的操作模型和特點379
13.2陣列處理機的基本結構380
13.2.1分佈式存儲器的陣列機380
13.2.2共享存儲器的陣列機381
13.3陣列處理機實例382
13.3.1實例1: Illiac Ⅳ陣列處理機382
13.3.2實例2: BSP計算機385
13.4陣列處理機的並行算法舉例389
習題13393

第14章數據流計算機394
14.1數據流計算機的基本原理394
14.1.1數據驅動原理394
14.1.2數據流計算機中指令的執行過程395
14.1.3數據流計算機的指令結構396
14.2數據流程序圖和數據流語言396
14.2.1數據流程序圖396
14.2.2數據流語言及其性質400
14.3數據流計算機結構401
14.3.1靜態數據流計算機401
14.3.2動態數據流計算機403
14.4數據流計算機的評價406
14.4.1數據流計算機的優點406
14.4.2數據流計算機的缺點407
14.4.3數據流計算機設計中需解決的問題408
習題14408

參考文獻410