java实现Tomasulo算法_并行计算机组成与设计pdf
并行計算機組成與設計 內容簡介
《并行計算機組成與設計》以簡單易懂的方式講解錯綜復雜的并行體系結構,引導讀者了解并行計算機的工作原理,同時鼓勵讀者創新并實現自己的設計。全書共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.2 Amdahl定律
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.3 MOSFET晶體管和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.7 CISC和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.2 VLIW體系結構
3.5.3 循環展開
3.5.4 軟件流水
3.5.5 非循環VLIW調度
3.5.6 謂詞指令
3.5.7 推測內存歧義消除
3.5.8 異常
3.6 EPIC微結構
3.7 向量微結構
3.7.1 算術/邏輯向量指令
3.7.2 內存向量指令
3.7.3 向量分段開采和鏈接
3.7.4 條件語句
3.7.5 scatter和gather操作
習題
第4章 存儲層次
4.1 概述
4.2 金字塔形存儲層次
4.2.1 訪存局部性
4.2.2 存儲層次中的一致性
4.2.3 存儲包含
4.3 cache層次
4.3.1 cache映射及組織方式
4.3.2 替換策略
4.3.3 寫策略
4.3.4 cache層次的性能
4.3.5 cache失效的分類
4.3.6 非阻塞cache
4.3.7 cache預取和預加載
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.7 TLB一致性
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.2 cache協議
7.3.3 store原子性
7.3.4 純一致性
7.3.5 store原子性和訪存交錯
7.4 順序一致性
7.4.1 順序一致性的形式化模型
7.4.2 順序一致性的訪存順序規則
7.4.3 入站消息管理
7.4.4 store同步性
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.2 CMP的基本原理
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.3 trace驅動模擬器、執行驅動模擬器和直接執行模擬器
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.2 SimPoint
9.7 工作負載特征刻畫
9.7.1 理解性能瓶頸
9.7.2 合成基準測試程序
9.7.3 預測工作負載行為
習題
附錄
并行計算機組成與設計 精彩文摘
1.1 什么是計算機體系結構
計算機體系結構是一門工程或應用科學學科,它主要研究如何在給定的工藝限制和軟件要求下設計更好的計算機。過去計算機體系結構是指令集設計的代名詞,然而隨著時間的推移,該術語已經涵蓋了計算機的硬件組成、微處理器乃至硬件組件級別的整個系統的設計。本書中,我們采用了默認的“計算機體系結構”的現代定義,即“計算機硬件組成和計算機設計”,在提到指令集時,我們將明確地使用術語“指令集架構”(簡稱ISA)。從指令集的設汁發展歷史可以看出,指令集是非常穩定的,現在只有少數忉為工業界所支持,雖然目前的指令集可能會不斷擴展,但從頭開始設計新的指令集是幾乎不可能的,因為開發一個全新的指令集并進行實現的成本無疑非常巨大。本書中,我們將粗略地介紹指令集架構,因為這不是我們的主要目標,我們的主要目標是在給定成本和工藝限制下快速、正確地實現指令集架構的并行計算機體系結構。
總結
以上是生活随笔為你收集整理的java实现Tomasulo算法_并行计算机组成与设计pdf的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: FZU - 2268 Cutting G
- 下一篇: o.s.b.d.LoggingFailu