內容簡介
《並行計算機組成與設計》以簡單易懂的方式講解錯綜復雜的並行體係結構,引導讀者瞭解並行計算機的工作原理,同時鼓勵讀者創新並實現自己的設計。全書共9章,內容涵蓋底層電子工藝、微體係結構、存儲結構、互連網絡、多處理器、片上多處理器以及量化評估模型等。每一章都獨立且完備,既包含全麵的基本概念,也涵蓋一些前沿研究點。本書適閤作為高等院校計算機相關專業的教材,教師可根據課程及學生的層次選取不同的主題。同時,對於工程師和研究者,本書也是不可多得的有益參考。
作者簡介
Michel Dubois,南加州大學謝明(Ming Hsieh)電子工程係教授。
Murali Annavaram,南加州大學謝明(Ming Hsieh)電子工程係副教授。
Per Stenstrm,瑞典哥德堡查爾姆斯理工大學計算機工程教授
目錄
齣版者的話贊譽譯者序前言第1章 總述11.1 什麼是計算機體係結構21.2 並行體係結構的基本組成31.2.1 處理器41.2.2 存儲61.2.3 互連91.3 並行體係結構101.3.1 指令級並行101.3.2 綫程級並行101.3.3 嚮量和陣列處理器111.4 性能121.4.1 基準測試集131.4.2 Amdahl定律151.5 技術挑戰191.5.1 功耗和能量191.5.2 可靠性191.5.3 連綫延遲201.5.4 設計復雜度201.5.5 尺寸縮小極限和CMOS終點21習題22第2章 工藝及其影響252.1 概述252.2 電學基本定律262.2.1 歐姆定律262.2.2 電阻262.2.3 電容272.3 MOSFET晶體管和CMOS反相器272.4 工藝變更302.5 功耗和能耗312.5.1 動態功耗312.5.2 靜態功耗352.5.3 功耗和能量指標372.6 可靠性382.6.1 故障和錯誤382.6.2 可靠性指標392.6.3 故障率和老化402.6.4 瞬時故障422.6.5 間歇性故障442.6.6 永久性故障482.6.7 工藝偏差及其對故障的影響48習題49第3章 處理器微結構513.1 概述513.2 指令集架構523.2.1 指令類型和操作碼533.2.2 指令混閤553.2.3 指令操作數553.2.4 異常、陷阱和中斷583.2.5 存儲一緻性模型603.2.6 本書的核心ISA603.2.7 CISC和RISC613.3 靜態調度流水綫633.3.1 經典五級流水綫643.3.2 指令亂序完成693.3.3 超流水和超標量CPU723.3.4 分支預測733.3.5 靜態指令調度733.3.6 靜態流水綫的優缺點773.4 動態調度流水綫783.4.1 解決數據相關:Tomasulo算法793.4.2 推測執行823.4.3 動態分支預測833.4.4 支持推測的Tomasulo算法873.4.5 動態內存歧義消除893.4.6 顯式寄存器重命名913.4.7 指令發射後的寄存器讀取933.4.8 推測指令調度943.4.9 打破數據流限製:值預測973.4.10 單周期多指令983.4.11 處理復雜ISA983.5 超長指令字微結構993.5.1 動態和靜態技術1003.5.2 VLIW體係結構1003.5.3 循環展開1023.5.4 軟件流水1033.5.5 非循環VLIW調度1083.5.6 謂詞指令1093.5.7 推測內存歧義消除1103.5.8 異常1103.6 EPIC微結構1123.7 嚮量微結構1133.7.1 算術/邏輯嚮量指令1133.7.2 內存嚮量指令1143.7.3 嚮量分段開采和鏈接1153.7.4 條件語句1163.7.5 scatter和gather操作117習題118第4章 存儲層次1364.1 概述1364.2 金字塔形存儲層次1374.2.1 訪存局部性1384.2.2 存儲層次中的一緻性1384.2.3 存儲包含1394.3 cache層次1394.3.1 cache映射及組織方式1394.3.2 替換策略1424.3.3 寫策略1434.3.4 cache層次的性能1444.3.5 cache失效的分類1454.3.6 非阻塞cache1454.3.7 cache預取和預加載1474.4 虛擬存儲1494.4.1 引入虛存的動機1494.4.2 從操作係統視角看到的虛擬存儲1494.4.3 虛地址轉換1514.4.4 訪存控製1514.4.5 多級頁錶1524.4.6 反嚮頁錶1534.4.7 旁路轉換緩衝1534.4.8 帶物理標識的虛地址cache1544.4.9 帶虛標識的虛地址cache157習題157第5章 多處理器係統1625.1 概述1625.2 並行編程模型1635.2.1 共享內存係統1645.2.2 消息傳遞係統1665.3 基於消息傳遞的多處理器係統1675.3.1 消息傳遞原語1675.3.2 消息傳遞協議1695.3.3 消息傳遞協議的硬件支持1705.4 基於總綫的共享內存係統1715.4.1 多處理器cache組織1725.4.2 一個簡單的偵聽cache協議1735.4.3 偵聽cache協議的設計空間1765.4.4 協議變種1815.4.5 多階段偵聽cache協議的設計問題1845.4.6 通信事件的分類1885.4.7 TLB一緻性1905.5 可擴展共享內存係統1925.5.1 目錄協議的基本概念和術語1935.5.2 目錄協議實現方法1935.5.3 目錄協議的擴展性1975.5.4 層次化係統2005.5.5 頁麵遷移和復製2015.6 全cache共享內存係統2045.6.1 基本概念、硬件結構和協議2045.6.2 平坦COMA206習題207第6章 互連網絡2146.1 概述2146.2 互連網絡的設計空間2156.2.1 設計概念綜述2156.2.2 延遲和帶寬模型2176.3 交換策略2216.4 拓撲結構2236.4.1 間接網絡2236.4.2 直接網絡2266.5 路由技術2296.5.1 路由算法2296.5.2 死鎖避免和確定性路由231
前言/序言
前 言Parallel Computer Organization and Design 在飛速發展的技術驅動下,計算機體係結構成為一個快速發展的領域。自20世紀90年代中期以來,計算係統的速度和可靠性顯著增強,這主要得益於技術的發展、更快的主頻和更深的流水綫。這些改進將高性能計算機帶給大眾,對社會産生瞭深遠影響,促進瞭網絡創新和人類活動中生産力的大幅提升。我們所處的信息革命如同18世紀的工業革命,沒有人會否認這次革命得益於技術的發展和微處理器體係結構的發展。 但是,這樣快速的發展在未來可能無法維持下去,流水綫深度已經達到可用的極限,由於功耗限製,主頻也無法大幅突破。隨著技術的發展以及片上資源的變少,可靠性、復雜性和功耗成為計算機設計考慮的首要問題,而不再是傳統上考慮的成本、麵積和性能。這些趨勢促進瞭並行處理和並行體係結構的發展,因為這是解決當前和未來可能麵臨的體係結構問題的一條新的甚至可能是唯一的途徑。人們普遍認為,我們需要利用並行處理纔能使計算機領域呈現一片新的景象,而這個巨大的改變會産生深遠的社會影響。因此,無論是工業界還是學術界,對並行體係結構的興趣都已從工程上的好奇轉換為實在的任務。 隨著時間的流逝,各層次的並行化已經成為現代計算機係統發展的瓶頸。多處理器結構通過連接多個處理器提供瞭可擴展的性能錶現,並已在高端係統領域稱霸數十載。多處理器開發綫程級並行(TLP),允許大型應用擁有很多綫程,如計算機圖形、科學/工程計算、數據庫管理以及通信服務。隨著體係結構和編譯器技術的發展,微體係結構則開發指令級並行(ILP),並且獲得瞭良好的性能錶現。內存係統結構為瞭跟上指令吞吐量的需求,通過允許同時訪問大量數據並保證執行的正確性而獲得瞭快速發展。互連和相關的協議也不斷改進,可以有效連接成百上韆個處理器以及主頻為幾GHz的芯片。最近,微處理器的體係結構集成瞭係統級並行結構的範例,如嚮量處理和多處理器。在片上多處理器時代,每個微處理器都有多個核或CPU,每個核可以並發執行多個綫程。 並行體係結構很難設計也很難編程,我們必須理解並行體係結構帶來的問題。本書針對最新的指令級並行和綫程級並行技術給齣瞭清晰易懂的講解,此外,還將可靠性和功耗作為設計目標進行講解。先前計算機體係結構方麵的教材主要將性能作為設計考慮的核心問題。然而,現在盡管性能依舊是設計中的一個主要問題,但是復雜性、功耗和可靠性等其他問題也成為很重要的設計因素,這本關於並行計算機體係結構的新書將會講解這些內容。 本書的基本目的是解釋並行體係結構如何工作以及分析當今並行體係結構的正確設計,尤其是在技術受限的情況下。我們一般不會給齣性能數據,並且盡力迴避係統的具體細節描述。我們鼓勵讀者閱讀發布在相關會議或期刊上的資料,詳細的參考書目和曆史發展迴顧將會發布在網上。這會留下更多空間來講解設計的基本問題,同時鼓勵學生思考、創新、實現自己的設計。為瞭達到實踐和創新的層次,全麵瞭解現存的設計和實際問題以及限製因素是必需的過程。本書利用豐富的例子來解釋概念,並且激發讀者自己思考。此外,本書還用兩章(第8章和第9章)的篇幅描述瞭一些工業界和學術界使用的係統和工具。 習題是學習的重要部分,每章之後的習題都采用問答題形式,有些很長很難的題目被分成瞭多個子問題。習題的主要目的是給學生創造機會以對每章的概念有深刻的理解,並且培養學生的抽象思維能力。 本書適閤對計算機體係結構感興趣的計算機、電子工程和計算機科學專業的高年級本科生以及研究生閱讀,也適閤計算機行業中的工程師參考。由於本書涵蓋瞭從微處理器到多處理器的大量知識,既包括基本內容也包含一些前沿的研究點,因此在教學時,可以通過選擇不同的章節來適應不同的難度級彆。學生可以學到硬件結構和組成多處理器的各個部分,以及技術發展趨勢對於體係結構的影響,還有與性能、功耗、可靠性和功能正確性相關的設計問題等。本書可以用於研究生的基礎課程,也可以用於接下來的高階研究課程。本書的預修課程是計算機體係結構及組成,涵蓋指令集和簡單流水綫處理器體係結構等內容。例如五級流水綫及其控製相關的知識,包括前遞、停頓和刷新等問題,這些可以幫助學生理解微處理器章節中更復雜的硬件問題。為瞭體現完整性,本書也包括瞭基本的指令集、流水綫和存儲等相關概念。由於現代微體係結構會影響多處理器的特徵,因此瞭解其工作原理是必需的,此外還需要一定的編程知識。 內容綱要本書整體內容完備,同時我們也盡力保證每一章都是獨立且完備的,這可能會導緻一些重復。本書共9章。第1章給齣瞭計算機體係結構領域的基本觀點,概述處理器、內存、互連網絡、性能問題(主要是如何評判計算機係統)以及討論技術發展對未來體係結構的影響。 對工藝實現細節的理解也是非常重要的,因為很多體係結構的設計決策都受底層工藝的影響。因此在第2章中,我們對CMOS進行迴顧並探討相關問題。有VLSI設計背景的學生可以略過某些講解。 ……
並行計算機組成與設計 下載 mobi epub pdf txt 電子書 格式