《並行計算機組成與設計》是2017年機械工業出版社出版的圖書,作者[美] 米歇爾·杜波依斯(Michel Dubois) [美] 穆拉里·安納瓦拉姆(Murali Annavaram)。
基本介紹
- 書名:並行計算機組成與設計
- 作者:[美] 米歇爾·杜波依斯(Michel Dubois) [美] 穆拉里·安納瓦拉姆(Murali Annavaram)
- 出版社:機械工業出版社
- 出版時間:2017年
圖書信息
作者:[美] 米歇爾·杜波依斯(Michel Dubois) [美] 穆拉里·安納瓦拉姆(Murali Annavaram) |
ISBN(書號):978-7-111-56223-8 |
叢書名:計算機科學叢書 |
出版日期:2017-04 |
版次:1/1 |
開本:16 |
定價:¥99.00 |
內容簡介
—— Mikko Lipasti,威斯康星大學麥迪遜分校
這本書不僅可以幫助你清晰理解並行系統的原理,而且對於並行系統設計者來說也是不可多得的好書。
—— 陳雲霽,中國科學院計算技術研究所
並行體系結構是計算機系統獲得高性能和高效率的關鍵,與此同時,並行編程困難和設計瓶頸也帶來了重重挑戰。這一領域的知識較為艱深,技術更新迅速,因此,教育界、學術界和企業界都在渴望一本綜合性強、權威性高但又淺顯易讀的書,無疑,本書將是最佳選擇。
作者簡介
穆拉里·安納瓦拉姆(Murali Annavaram) 南加州大學電子工程系副教授,研究方向為計算機體系結構、3D晶片堆疊和Mobiquitous計算。
佩爾·斯坦斯托姆(Per Stenstr?m) 查爾莫斯理工大學計算機工程系教授,瑞典皇家工程科學院會員。
圖書目錄
1.1 什麼是計算機體系結構2
1.2 並行體系結構的基本組成3
1.2.1 處理器4
1.2.2 存儲6
1.2.3 互連9
1.3 並行體系結構10
1.3.1 指令級並行10
1.3.2 執行緒級並行10
1.3.3 向量和陣列處理器11
1.4 性能12
1.4.1 基準測試集13
1.4.2 Amdahl定律15
1.5 技術挑戰19
1.5.1 功耗和能量19
1.5.2 可靠性19
1.5.3 連線延遲20
1.5.4 設計複雜度20
1.5.5 尺寸縮小極限和CMOS終點21
習題22
第2章 工藝及其影響25
2.1 概述25
2.2 電學基本定律26
2.2.1 歐姆定律26
2.2.2 電阻26
2.2.3 電容27
2.3 MOSFET電晶體和CMOS反相器27
2.4 工藝變更30
2.5 功耗和能耗31
2.5.1 動態功耗31
2.5.2 靜態功耗35
2.5.3 功耗和能量指標37
2.6 可靠性38
2.6.1 故障和錯誤38
2.6.2 可靠性指標39
2.6.3 故障率和老化40
2.6.4 瞬時故障42
2.6.5 間歇性故障44
2.6.6 永久性故障48
2.6.7 工藝偏差及其對故障的影響48
習題49
3.1 概述51
3.2 指令集架構52
3.2.1 指令類型和操作碼53
3.2.2 指令混合55
3.2.3 指令運算元55
3.2.4 異常、陷阱和中斷58
3.2.5 存儲一致性模型60
3.2.6 本書的核心ISA60
3.2.7 CISC和RISC61
3.3 靜態調度流水線63
3.3.1 經典五級流水線64
3.3.2 指令亂序完成69
3.3.3 超流水和超標量CPU72
3.3.4 分支預測73
3.3.5 靜態指令調度73
3.3.6 靜態流水線的優缺點77
3.4 動態調度流水線78
3.4.1 解決數據相關:Tomasulo算法79
3.4.2 推測執行82
3.4.3 動態分支預測83
3.4.4 支持推測的Tomasulo算法87
3.4.5 動態記憶體歧義消除89
3.4.6 顯式暫存器重命名91
3.4.7 指令發射後的暫存器讀取93
3.4.8 推測指令調度94
3.4.9 打破數據流限制:值預測97
3.4.10 單周期多指令98
3.4.11 處理複雜ISA98
3.5 超長指令字微結構99
3.5.1 動態和靜態技術100
3.5.2 VLIW體系結構100
3.5.3 循環展開102
3.5.4 軟體流水103
3.5.5 非循環VLIW調度108
3.5.6 謂詞指令109
3.5.7 推測記憶體歧義消除110
3.5.8 異常110
3.6 EPIC微結構112
3.7 向量微結構113
3.7.1 算術/邏輯向量指令113
3.7.2 記憶體向量指令114
3.7.3 向量分段開採和連結115
3.7.4 條件語句116
3.7.5 scatter和gather操作117
習題118
第4章 存儲層次136
4.1 概述136
4.2 金字塔形存儲層次137
4.2.1 訪存局部性138
4.2.2 存儲層次中的一致性138
4.2.3 存儲包含139
4.3 cache層次139
4.3.1 cache映射及組織方式139
4.3.2 替換策略142
4.3.3 寫策略143
4.3.4 cache層次的性能144
4.3.5 cache失效的分類145
4.3.6 非阻塞cache145
4.3.7 cache預取和預載入147
4.4 虛擬存儲149
4.4.1 引入虛存的動機149
4.4.2 從作業系統視角看到的虛擬存儲149
4.4.3 虛地址轉換151
4.4.4 訪存控制151
4.4.5 多級頁表152
4.4.6 反向頁表153
4.4.7 旁路轉換緩衝153
4.4.8 帶物理標識的虛地址cache154
4.4.9 帶虛標識的虛地址cache157
習題157
5.1 概述162
5.2 並行編程模型163
5.2.1 共享記憶體系統164
5.2.2 訊息傳遞系統166
5.3 基於訊息傳遞的多處理器系統167
5.3.1 訊息傳遞原語167
5.3.2 訊息傳遞協定169
5.3.3 訊息傳遞協定的硬體支持170
5.4 基於匯流排的共享記憶體系統171
5.4.1 多處理器cache組織172
5.4.2 一個簡單的偵聽cache協定173
5.4.3 偵聽cache協定的設計空間176
5.4.4 協定變種181
5.4.5 多階段偵聽cache協定的設計問題184
5.4.6 通信事件的分類188
5.4.7 TLB一致性190
5.5 可擴展共享記憶體系統192
5.5.1 目錄協定的基本概念和術語193
5.5.2 目錄協定實現方法193
5.5.3 目錄協定的擴展性197
5.5.4 層次化系統200
5.5.5 頁面遷移和複製201
5.6 全cache共享記憶體系統204
5.6.1 基本概念、硬體結構和協定204
5.6.2 平坦COMA206
習題207
第6章 互連網路214
6.1 概述214
6.2 互連網路的設計空間215
6.2.1 設計概念綜述215
6.2.2 延遲和頻寬模型217
6.3 交換策略221
6.4 拓撲結構223
6.4.1 間接網路223
6.4.2 直接網路226
6.5 路由技術229
6.5.1 路由算法229
6.5.2 死鎖避免和確定性路由231
6.5.3 放鬆路由限制:虛通道和轉彎模型232
6.5.4 進一步放鬆的路由算法:自適應路由233
6.6 交換架構234
習題236
7.1 概述238
7.2 背景239
7.2.1 共享記憶體通信模型239
7.2.2 硬體組件241
7.3 一致性和store原子性244
7.3.1 多處理器一致性的實現困難244
7.3.2 cache協定246
7.3.3 store原子性249
7.3.4 純一致性254
7.3.5 store原子性和訪存交錯262
7.4 順序一致性262
7.4.1 順序一致性的形式化模型263
7.4.2 順序一致性的訪存順序規則265
7.4.3 入站訊息管理266
7.4.4 store同步性270
7.5 同步272
7.5.1 基本同步原語273
7.5.2 基於硬體的同步276
7.5.3 基於軟體的同步276
7.6 放鬆的存儲一致性模型279
7.6.1 不依賴於同步的放鬆模型280
7.6.2 依賴同步的放鬆模型285
7.7 推測執行中的存儲序違反289
7.7.1 亂序執行處理器中的保守存儲模型289
7.7.2 推測執行中的存儲序違反290
習題292
第8章 片上多處理器299
8.1 概述299
8.2 CMP的基本原理300
8.2.1 技術趨勢300
8.2.2 機遇301
8.3 核內多執行緒302
8.3.1 軟體支持的多執行緒302
8.3.2 硬體支持的多執行緒303
8.3.3 塊式(粗粒度)多執行緒304
8.3.4 交錯(細粒度)多執行緒308
8.3.5 亂序執行處理器上的同時多執行緒311
8.4 片上多處理器架構314
8.4.1 同構CMP架構315
8.4.2 基於異構處理器核的CMP系統320
8.4.3 連體處理器核322
8.5 編程模型323
8.5.1 獨立進程324
8.5.2 顯式執行緒並行324
8.5.3 事務記憶體326
8.5.4 執行緒級推測執行333
8.5.5 幫助執行緒337
8.5.6 通過冗餘執行提高可靠性338
習題340
第9章 量化評估343
9.1 概述343
9.2 模擬器分類344
9.2.1 用戶級模擬器和全系統模擬器344
9.2.2 功能模擬器和時鐘精確模擬器345
9.2.3 trace驅動模擬器、執行驅動模擬器和直接執行模擬器347
9.3 模擬器的集成350
9.3.1 功能優先模擬器的集成350
9.3.2 時序優先模擬器的集成351
9.4 多處理器模擬器352
9.4.1 串列多處理器模擬器352
9.4.2 並行多處理器模擬器353
9.5 功耗和熱量模擬357
9.6 工作負載採樣359
9.6.1 基於採樣的微架構模擬360
9.6.2 SimPoint361
9.7 工作負載特徵刻畫361
9.7.1 理解性能瓶頸362
9.7.2 合成基準測試程式362
9.7.3 預測工作負載行為362
習題363