並行計算機組成與設計 并行计算机组成与设计

米歇爾·杜波依斯 (Michel Dubois), 穆拉里·安納瓦拉姆 (Murali Annavaram), 佩爾·斯坦斯托姆 (Per Stenstrom)

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

商品描述

本書以簡單易懂的方式講解錯綜復雜的並行體系結構,引導讀者瞭解並行電腦的工作原理,同時鼓勵讀者創新並實現自己的設計。全書共9章,內容涵蓋底層電子工藝、微體系結構、存儲結構、互連網絡、多處理器、片上多處理器以及量化評估模型等。每一章都獨立且完備,既包含全面的基本概念,也涵蓋一些前沿研究點。本書適合作為高等院校電腦相關專業的教材,教師可根據課程及學生的層次選取不同的主題。同時,對於工程師和研究者,本書也是不可多得的有益參考。

目錄大綱

第1章總述
1.1什麼是計算機體系結構
1.2並行體系結構的基本組成
1.2.1處理器
1.2.2存儲
1.2.3互連
1.3並行體系結構
1.3.1指令級並行
1.3.2線程級並行
1.3.3向量和陣列處理器
1.4性能
1.4.1基準測試集
1.4.2Amdahl定律
1.5技術挑戰
1.5.1功耗和能量
1.5.2可靠性
1.5.3連線延遲
1.5.4設計複雜度
1.5.5尺寸縮小極限和CMOS終點
習題


第2章工藝及其影響
2.1概述
2.2電學基本定律
2.2.1歐姆定律
2.2.2電阻
2.2.3電容
2.3MOSFET晶體管和CMOS反相器
2.4工藝變更
2.5功耗和能耗
2.5.1動態功耗
2.5.2靜態功耗
2.5.3功耗和能量指標
2.6可靠性
2.6.1故障和錯誤
2.6.2可靠性指標
2.6.3故障率和老化
2.6. 4瞬時故障
2.6.5間歇性故障
2.6.6永久性故障
2.6.7工藝偏差及其對故障的影響
習題


第3章處理器微結構
3.1概述
3.2指令集架構
3.2.1指令類型和操作碼
3.2. 2指令混合
3.2.3指令操作數
3.2.4異常、陷阱和中斷
3.2.5存儲一致性模型
3.2.6本 的核心ISA 
3.2.7CISC和RISC 
3.3靜態調度流水線
3.3.1經典五級流水線
3.3.2指令亂序完成
3.3.3超流水和超標量CPU 
3.3.4分支預測
3.3.5靜態指令調度
3.3.6靜態流水線的優缺點
3.4動態調度流水線
3.4.1解決數據相關:Tomasulo算法
3.4.2推測執行
3.4.3動態分支預測
3.4.4支持推測的Tomasulo算法
3.4.5動態內存歧義消除
3.4.6顯式寄存器重命名
3.4.7指令發射後的寄存器讀取
3.4.8推測指令調度
3.4.9打破數據流限制:值預測
3.4.10單週期多指令
3.4.11處理複雜ISA 
3.5超長指令字微結構
3.5.1動態和靜態技術
3.5.2VLIW體系結構
3.5.3循環展開
3.5.4軟件流水
3.5.5非循環VLIW調度
3.5.6謂詞指令
3.5.7推測內存歧義消除
3.5.8異常
3.6EPIC微結構
3.7向量微結構
3.7.1算術/邏輯向量指令
3.7.2內存向量指令
3.7.3向量分段開采和鏈接
3.7.4條件語句
3.7.5scatter和gather操作
習題


第4章存儲層次
4.1概述
4.2金字塔形存儲層次
4.2.1訪存局部性
4.2.2存儲層次 中的一致性
4.2.3存儲包含
4.3cache層次
4.3.1cache映射及組織方式
4.3.2替換策略
4.3.3寫策略
4.3.4cache層次的性能
4.3.5cache失效的分類
4.3.6非阻塞cache 
4.3.7cache預取和預加栽
4.4虛擬存儲
4.4.1引入虛存的動機
4.4.2從操作系統視角看到的虛擬存儲
4.4.3虛地址轉換
4.4.4訪存控制
4.4.5多級頁表
4.4. 6反向頁表
4.4.7旁路轉換緩衝
4.4.8帶物理標識的虛地址cache 
4.4.9帶虛標識的虛地址cache 
習題


第5章多處理器系統
5.1概述
5.2並行編程模型
5.2.1共享內存系統
5.2.2消息傳遞系統
5.3基於消息傳遞的多處理器系統
5.3.1消息傳遞原語
5.3.2消息傳遞協議
5.3.3消息傳遞協議的硬件支持
5.4基於總線的共享內存系統
5.4.1多處理器cache組織
5.4.2一個簡單的偵聽cache協議
5.4.3偵聽cache協議的設計空間
5.4.4協議變種
5.4.5多階段偵聽cache協議的設計問題
5.4.6通信事件的分類
5.4. 7TLB一致性
5.5可擴展共享內存系統
5.5.1目錄協議的基本概念 術語
5.5.2目錄協議實現方法
5.5.3目錄協議的擴展性
5.5.4層次化系統
5.5.5頁面遷移和復制
5.6全cache共享內存系統
5.6.1基本概念、硬件結構和協議
5.6.2平坦COMA 
習題


第6章互連網絡
6.1概述
6.2互連網絡的設計空間
6.2.1設計概念綜述
6.2.2延遲和帶寬模型
6.3交換策略
6.4拓撲結構
6.4.1間接網絡
6.4.2直接網絡
6.5路由技術
6.5. 1路由算法
6.5.2死鎖避免和確定性路由
6.5.3放鬆路由限制:虛通道和轉彎模型
6.5.4進一步放鬆的路由算法:自適應路由
6.6交換架構
習題


第7章一致性、同步與存儲一致性
7.1概述
7.2背景
7.2.1共享內存通信模型
7.2.2硬件組件
7.3一致性和store原子性
7.3.1多處理器一致性的實現困難
7.3.2cache協議
7.3.3store原子性
7.3.4純一致性
7.3.5store原子性和訪存交錯
7.4順序一致性
7.4.1順序一致性的形式化模型
7.4.2順序一致性的訪存順序規則
7.4.3入站消息管理
7.4.4store同步性
7.5同步
7.5 .1基本同步原語
7 .5.2基於硬件的同步
7.5.3基於軟件的同步
7.6放鬆的存儲一致性模型
7.6.1不依賴於同步的放鬆模型
7.6.2依賴同步的放鬆模型
7.7推測執行中的存儲序違反
7.7.1亂序執行處理器中的保守存儲模型
7.7.2推測執行中的存儲序違反
習題


第8章片上多處理器
8.1概述
8.2CMP的基本原理
8.2.1技術趨勢
8.2.2機遇
8.3核內多線程
8.3. 1軟件支持的多線程
8.3.2硬件支持的多線程
8.3.3塊式(粗粒度)多線程
8.3.4交錯(細粒度)多線程
8.3.5亂序執行處理器上的同時多線程
8.4片上多處理器架構
8.4.1同構CMP架構
8.4.2基於異構處理器核的CMP系統
8.4.3連體處理器核
8.5編程模型
8.5.1獨立進程
8.5.2顯式線程並行
8.5.3事務內存
8.5.4線程級推測執行
8.5.5幫助線程
8.5.6通過冗餘執行提高可靠性
習題


第9章量化評估
9.1概述
9.2模擬器分類
9.2.1用戶級模擬器和全系統模擬器
9.2.2功能模擬器和時鐘精確模擬器
9.2.3trace驅動模擬器、執行 動模擬器和直接執行模擬器
9.3模擬器的集成
9.3.1功能優先模擬器的集成
9.3.2時序優先模擬器的集成
9.4多處理器模擬器
9.4.1串行多處理器模擬器
9.4.2並行多處理器模擬器
9.5功耗和熱量模擬
9.6工作負載採樣
9.6.1基於採樣的微架構模擬
9.6.2SimPoint 
9.7工作負載特徵刻畫
9.7.1理解性能瓶頸
9.7.2合成基準測試程序
9.7.3預測工作負載行為
習題