高級計算機體系結(jié)構(gòu)知識點.doc_第1頁
高級計算機體系結(jié)構(gòu)知識點.doc_第2頁
高級計算機體系結(jié)構(gòu)知識點.doc_第3頁
高級計算機體系結(jié)構(gòu)知識點.doc_第4頁
高級計算機體系結(jié)構(gòu)知識點.doc_第5頁
已閱讀5頁,還剩51頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

第1章 計算機系統(tǒng)結(jié)構(gòu)的基本概念多級層次結(jié)構(gòu)從計算機語言的角度,把計算機系統(tǒng)按功能劃分成多級層次結(jié)構(gòu)。虛擬機器由軟件實現(xiàn)的機器。解釋語言實現(xiàn)的一種基本技術(shù)。每當一條N+1級指令被譯碼后,就直接去執(zhí)行一串等效的N級指令,然后再去取下一條N+1級的指令,依此重復進行。翻譯語言實現(xiàn)的一種基本技術(shù)。先把N+1級程序全部變換成N級程序后,再去執(zhí)行新產(chǎn)生的N級程序,在執(zhí)行過程中N+1級程序不再被訪問。計算機系統(tǒng)結(jié)構(gòu)程序員所看到的計算機的屬性,即概念性結(jié)構(gòu)與功能特性。經(jīng)典計算機系統(tǒng)結(jié)構(gòu)概念的實質(zhì)計算機系統(tǒng)中軟、硬件界面的確定,其界面之上的是軟件的功能,界面之下的是硬件和固件的功能。透明性在計算機技術(shù)中,對本來存在的事物或?qū)傩?,但從某種角度看又好象不存在的概念稱為透明性。計算機組成計算機系統(tǒng)的邏輯實現(xiàn)。計算機實現(xiàn)計算機系統(tǒng)的物理實現(xiàn)。馮氏分類法馮氏分類法是用系統(tǒng)的最大并行度對計算機進行分類。它是由馮澤云先生于1972年提出的。最大并行度計算機系統(tǒng)在單位時間內(nèi)能夠處理的最大的二進制位數(shù)??梢杂闷矫嬷苯亲鴺讼抵械囊粋€點代表一個計算機系統(tǒng),其橫坐標表示字寬(n位),縱坐標表示一次能同時處理的字數(shù)(m字)。mn就表示了其最大并行度。Flynn分類法按照指令流和數(shù)據(jù)流的多倍性進行分類,它是M.J.Flynn于1966年提出的。指令流機器執(zhí)行的指令序列。數(shù)據(jù)流由指令流調(diào)用的數(shù)據(jù)序列。多倍性在系統(tǒng)受限的部件上,同時處于同一執(zhí)行階段的指令或數(shù)據(jù)的最大數(shù)目。以經(jīng)常性事件為重點對于大概率事件(最常見的事件),賦予它優(yōu)先的處理權(quán)和資源使用權(quán),以獲得全局的最優(yōu)結(jié)果。系統(tǒng)的加速比對系統(tǒng)中的某些部件進行改進,改進后的系統(tǒng)性能與改進前的系統(tǒng)性能之比。Amdahl定律加快某部件執(zhí)行速度所獲得的系統(tǒng)性能加速比,受限于該部件在系統(tǒng)中所占的重要性。可改進比例在改進前的系統(tǒng)中,可改進部分的執(zhí)行時間在總的執(zhí)行時間中所占的比例。部件加速比可改進部分改進以后性能提高的倍數(shù)。它是改進前所需的執(zhí)行時間與改進后執(zhí)行時間的比。程序的局部性原理程序在執(zhí)行時所訪問地址的分布不是隨機的,而是相對地簇聚;這種簇聚包括指令和數(shù)據(jù)兩部分。程序的時間局部性程序即將用到的信息很可能就是目前正在使用的信息。程序的空間局部性程序即將用到的信息很可能與目前正在使用的信息在空間上相鄰或者臨近。CPU性能公式程序執(zhí)行的CPU時間= CPI IC / 時鐘頻率IC 程序執(zhí)行過程中所處理的指令數(shù)。反映了計算機指令集的結(jié)構(gòu)和編譯技術(shù)。CPI指令時鐘數(shù)。CPI = 總時鐘周期數(shù) / IC反映了計算機實現(xiàn)技術(shù)、計算機指令集的結(jié)構(gòu)和計算機組織。響應時間從事件開始到結(jié)束之間的時間,也稱為執(zhí)行時間。即計算機完成某一任務(wù)所花費的全部時間,包括訪問磁盤、訪問存儲器、輸入/輸出、操作系統(tǒng)開銷等。流量在單位時間內(nèi)所能完成的工作量。CPU時間CPU為用戶程序工作的時間,不包含I/O等待時間及運行其他程序的時間。可細分為用戶CPU時間及系統(tǒng)CPU時間。核心測試程序由從真實程序中提取的較短但很關(guān)鍵的代碼構(gòu)成。小測試程序通常是指代碼在幾十行到100行的具有一些特定目的的測試程序。用戶可以隨時編寫一些這樣的程序來測試系統(tǒng)的各種功能,并產(chǎn)生用戶已預知的輸出結(jié)果,如皇后問題、迷宮問題、快速排序、求素數(shù)、計算等。合成測試程序首先對大量的應用程序中的操作進行統(tǒng)計,得到各種操作比例,再按這個比例構(gòu)造測試程序。Whetstone與Dhrystone是最流行的合成測試程序?;鶞蕼y試程序套件為了能比較全面地反映計算機在各個方面的處理性能,通常采用整套測試程序。這組程序稱為基準測試程序套件,它是由各種不同的真實應用程序構(gòu)成的。目前最成功和最常見的測試程序套件是SPEC系列。事務(wù)處理測試程序主要測試在線事務(wù)處理(On-Line Transaction Processing,OLTP)系統(tǒng)的性能,包括數(shù)據(jù)庫訪問和更新等。存儲程序計算機馮諾依曼結(jié)構(gòu)計算機輸入/輸出方式程序控制(程序等待、程序中斷)、DMA、通道、I/O處理機相聯(lián)存儲器CAM可按內(nèi)容訪問的存儲器。相聯(lián)處理機以相聯(lián)存儲器為核心的處理機。相聯(lián)存儲器除了完成信息檢索任務(wù)外,還能進行一些算術(shù)邏輯運算。系列機由同一廠家生產(chǎn)的具有相同的系統(tǒng)結(jié)構(gòu),但具有不同組成和實現(xiàn)的一系列不同型號的機器。軟件兼容同一個軟件可以不加修改地運行于系統(tǒng)結(jié)構(gòu)相同的各檔機器,而且它們所獲得的結(jié)果一樣,差別只在于運行時間不同。兼容機不同廠家生產(chǎn)的具有相同系統(tǒng)結(jié)構(gòu)的計算機。向上(下)兼容按某檔計算機編制的程序,不加修改的就能運行于比它高(低)檔的計算機。向前(后)兼容按某個時期投入市場的某種型號機器編制的程序,不加修改地就能運行于在它之前(后)投入市場的機器。模擬用軟件的方法在一臺現(xiàn)有的機器(稱為宿主機host)上實現(xiàn)另一臺機器(稱為虛擬機)的指令集。仿真用一臺現(xiàn)有機器(稱為宿主機)上的微程序去解釋實現(xiàn)另一臺機器(稱為目標機)的指令集。并行性在同一時刻或是同一時間間隔內(nèi)完成兩種或兩種以上性質(zhì)相同或不相同的工作。只要時間上互相重疊,就存在并行性。同時性兩個或多個事件在同一時刻發(fā)生的并行性。并發(fā)性兩個或多個事件在同一時間間隔內(nèi)發(fā)生的并行性。字串位串每次只對一個字的一位進行處理。這是最基本的串行處理方式。字串位并同時對一個字的全部位進行處理,不同字之間是串行的。字并位串同時對許多字的同一位(稱為位片)進行處理。全并行同時對許多字的全部位或部分位進行處理。指令內(nèi)部并行單條指令中各微操作之間的并行。指令級并行并行執(zhí)行兩條或兩條以上的指令。線程級并行并行執(zhí)行兩個或兩個以上的線程,通常是以一個進程內(nèi)派生的多個線程為調(diào)度單位。任務(wù)級或過程級并行并行執(zhí)行兩個或兩個以上的過程或任務(wù)(程序段),以子程序或進程為調(diào)度單元。作業(yè)或程序級并行并行執(zhí)行兩個或兩個以上的作業(yè)或程序。時間重疊多個處理過程在時間上相互錯開,輪流使用同一套硬件設(shè)備的各個部分,以加快硬件周轉(zhuǎn)而贏得速度。資源重復通過重復設(shè)置資源,尤其是硬件資源,大幅度提高計算機系統(tǒng)的性能。資源共享是一種軟件方法,它使多個任務(wù)按一定時間順序輪流使用同一套硬件設(shè)備。同構(gòu)型(對稱型)多處理機由多個同類型,至少擔負同等功能的處理機組成,同時處理同一作業(yè)中能并行執(zhí)行的多個任務(wù)。異構(gòu)型(非對稱型)多處理機由多個不同類型,至少擔負不同功能的處理機組成,按照作業(yè)要求的順序,利用時間重疊原理,依次對它們的多個任務(wù)進行加工,各自完成規(guī)定的功能動作。分布處理系統(tǒng)把若干臺具有獨立功能的處理機(或計算機)相互連接起來,在操作系統(tǒng)的全盤控制下,統(tǒng)一協(xié)調(diào)地工作,而最少依賴集中的程序、數(shù)據(jù)或硬件。耦合度反映多機系統(tǒng)各機器之間物理連接的緊密程度和交互作用能力的強弱。松散耦合通過通道或通信線路實現(xiàn)計算機間互連,共享某些外圍設(shè)備,機間的相互作用是在文件或數(shù)據(jù)集一級進行。緊密耦合機間物理連接的頻帶較高,它們往往通過總線或高速開關(guān)實現(xiàn)互連,可以共享主存。第2章 計算機指令集結(jié)構(gòu)設(shè)計堆棧型機器其CPU中存儲操作數(shù)的主要單元是堆棧。累加器型機器其CPU中存儲操作數(shù)的主要單元是累加器。通用寄存器型機器CPU中存儲操作數(shù)的主要單元是通用寄存器。三種類型指令集結(jié)構(gòu)根據(jù)CPU內(nèi)部存儲單元類型,將指令集結(jié)構(gòu)分為堆棧型指令集結(jié)構(gòu)、累加器型指令集結(jié)構(gòu)和通用寄存器型指令集結(jié)構(gòu)。通用寄存器型指令集結(jié)構(gòu)的三種類型寄存器寄存器型(RR:Register-Register)寄存器存儲器型(RM:Register-Memory)存儲器存儲器型(MM:Memory-Memory)CISC復雜指令集計算機。RISC精簡指令集計算機。指令集結(jié)構(gòu)的完整性在一個有限可用的存儲空間內(nèi),對于任何可解的問題,編制計算程序時,指令集所提供的指令足夠使用。指令集結(jié)構(gòu)的規(guī)整性沒有或盡可能減少例外的情況和特殊的應用,以及所有運算都能對稱、均勻地在存儲器單元或寄存器單元之間進行。規(guī)整性主要包括對稱性和均勻性。對稱性指所有與指令集有關(guān)的存儲單元的使用、操作碼的設(shè)置等都是對稱的。均勻性指對于各種不同的操作數(shù)類型、字長、操作種類和數(shù)據(jù)存儲單元,指令的設(shè)置都要同等對待。面向高級語言(HL)的機器采用各種對高級語言和編譯程序提供支持的措施,使機器語言和高級語言的語義差距比傳統(tǒng)的馮諾依曼型機器縮小許多。這種機器統(tǒng)稱為面向高級語言(HL)的機器。間接執(zhí)行型高級語言機器使高級語言成為機器的匯編語言。即高級語言和機器語言是一一對應的,這種機器稱為間接執(zhí)行型高級語言機器。直接執(zhí)行型高級語言機器高級語言機器本身沒有機器語言,或者說高級語言就作為機器語言。它可以直接由硬件或固件對高級語言源程序的語句逐條進行解釋并執(zhí)行。這種機器稱為直接執(zhí)行型高級語言機器。跳轉(zhuǎn)當控制指令為無條件改變控制流時,稱之為跳轉(zhuǎn)。分支當控制指令是有條件改變控制流時,稱之為分支。位置無關(guān)代碼在執(zhí)行時與它被載入的位置無關(guān)。 操作數(shù)類型面向應用、面向軟件系統(tǒng)所處理的各種數(shù)據(jù)結(jié)構(gòu)。操作數(shù)表示硬件結(jié)構(gòu)能夠識別、指令系統(tǒng)可以直接調(diào)用的那些數(shù)據(jù)結(jié)構(gòu)。操作數(shù)的類型主要有:整數(shù)(定點)、浮點、十進制、字符、字符串、向量、堆棧等。變長編碼格式指令的長度是可變的。定長編碼格式將操作類型和尋址方式組合編碼在操作碼中,所有指令的長度是固定唯一的。混合型編碼格式通過提供一定類型的指令字長,期望能夠兼顧降低目標代碼長度和降低譯碼復雜度兩個目標。第3章 流水線技術(shù)一次重疊執(zhí)行方式把執(zhí)行第k條指令與取第k+l條指令同時進行。二次重疊執(zhí)行方式為了進一步提高執(zhí)行速度,可以增加指令重疊執(zhí)行的程度。把取第k+l條指令提前到與分析第k條指令同時進行,把分析第k+l條指令與執(zhí)行第k條指令同時進行。哈佛結(jié)構(gòu)程序空間和數(shù)據(jù)空間相互獨立,因而具有獨立的指令總線和數(shù)據(jù)總線的系統(tǒng)結(jié)構(gòu)。先行控制技術(shù)緩沖技術(shù)和預處理技術(shù)的結(jié)合。緩沖技術(shù)在工作速度不固定的兩個功能部件之間設(shè)置緩沖器,用以平滑它們的工作。預處理技術(shù)指預取指令、對指令進行加工以及預取操作數(shù)等。流水線技術(shù)將一個重復的時序過程分解成為若干個子過程,而每一個子過程都可有效地在其專用功能段上與其他子過程同時執(zhí)行。時(間)空(間)圖用來描述流水線的工作,橫坐標表示時間,縱坐標代表流水線的各段。流水線的深度流水線的段數(shù)。通過時間流水線中第一個任務(wù)流出結(jié)果所需的時間。單功能流水線只能完成一種固定功能的流水線。功能流水線流水線的各段可以進行不同的連接,從而使流水線在不同的時間,或者在同一時間完成不同的功能。TI ASC的多功能流水線靜態(tài)流水線在同一時間內(nèi),流水線的各段只能按同一種功能的連接方式工作。動態(tài)流水線在同一時間內(nèi),當某些段正在實現(xiàn)某種運算時,另一些段卻在實現(xiàn)另一種運算。部件級流水線(運算操作流水線)把處理機的算術(shù)邏輯部件分段,以便為各種數(shù)據(jù)類型進行流水操作。處理機級流水線(指令流水線)把解釋指令的過程按照流水方式處理。處理機間流水線(宏流水線)由兩個以上的處理機串行地對同一數(shù)據(jù)流進行處理,每個處理機完成一項任務(wù)。標量流水處理機不具有向量數(shù)據(jù)表示,僅對標量數(shù)據(jù)進行流水處理的處理機。向量流水處理機具有向量數(shù)據(jù)表示,并通過向量指令對向量的各元素進行處理的流水處理機。線性流水線流水線的各段串行連接,沒有反饋回路。非線性流水線流水線中除有串行連接的通路外,還有反饋回路。非線性流水線的調(diào)度在非線性流水線中,確定什么時候向流水線引進新的任務(wù),才能使該任務(wù)不會與先前進入流水線的任務(wù)發(fā)生沖突爭用流水段。順序流水線流水線輸出端任務(wù)流出的順序與輸入端任務(wù)流入的順序完全相同。每一個任務(wù)在流水線的各段中是一個跟著一個順序流動的。亂序流水線流水線輸出端任務(wù)流出的順序與輸入端任務(wù)流入的順序可以不同,允許后進入流水線的任務(wù)先完成(從輸出端流出)。又稱為無序流水線、錯序流水線、異步流水線。吞吐率在單位時間內(nèi)流水線所完成的任務(wù)數(shù)或輸出結(jié)果的數(shù)量。最大吞吐率流水線在連續(xù)流動達到穩(wěn)定狀態(tài)后所得到的吞吐率。流水線的瓶頸流水線中最慢的一段。消除瓶頸段的兩種方法細分瓶頸段、重復設(shè)置瓶頸段加速比流水線的速度與等功能的非流水線的速度之比。效率流水線的設(shè)備利用率。排空時間流水線中最后一個任務(wù)通過流水線所需的時間。 流水寄存器建立時間在觸發(fā)寫操作的時鐘信號到達之前,寄存器輸入必須保持穩(wěn)定的時間。流水寄存器傳輸延遲時鐘信號到達后到寄存器輸出可用的時間。時鐘偏移開銷流水線中,時鐘到達各流水寄存器的最大差值時間(時鐘到達各流水寄存器的時間不是完全相同)。相關(guān)指兩條指令之間存在某種依賴關(guān)系。確定程序中指令之間存在什么樣的相關(guān),對于充分發(fā)揮流水線的效率有重要的意義。數(shù)據(jù)相關(guān)對于兩條指令i(在前)和j(在后),如果下述條件之一成立,則稱指令j與指令i數(shù)據(jù)相關(guān): (1)指令j使用指令i產(chǎn)生的結(jié)果;(2)指令j與指令k數(shù)據(jù)相關(guān),而指令k又與指令i數(shù)據(jù)相關(guān)。名指指令所訪問的寄存器或存儲器單元的名稱。名相關(guān)如果兩條指令使用相同的名,但是它們之間并沒有數(shù)據(jù)流動,則稱這兩條指令存在名相關(guān)。反相關(guān)如果指令j(在后)寫的名與指令i(在前)讀的名相同,則稱指令i和j發(fā)生了反相關(guān)。反相關(guān)指令之間的執(zhí)行順序是必須嚴格遵守的,以保證i讀的值是正確的。輸出相關(guān)如果指令j(在后)和指令i(在前)寫相同的名,則稱指令i和j發(fā)生了輸出相關(guān)。輸出相關(guān)指令的執(zhí)行順序是不能顛倒的,以保證最后的結(jié)果是指令j寫進去的。換名技術(shù)通過改變指令中操作數(shù)的名來消除名相關(guān)。寄存器換名對于寄存器操作數(shù)進行換名稱為寄存器換名。這個過程既可以用編譯器靜態(tài)實現(xiàn),也可以用硬件動態(tài)完成??刂葡嚓P(guān)由分支指令引起的相關(guān)。它需要根據(jù)分支指令的執(zhí)行結(jié)果來確定后續(xù)指令是否執(zhí)行。流水線沖突指對于具體的流水線來說,由于相關(guān)的存在,使得指令流中的下一條指令不能在指定的時鐘周期執(zhí)行。結(jié)構(gòu)沖突因硬件資源滿足不了指令重疊執(zhí)行的要求而發(fā)生的沖突。數(shù)據(jù)沖突當相關(guān)的指令靠得足夠近時,它們在流水線中的重疊執(zhí)行或者重新排序會改變指令讀/寫操作數(shù)的順序,使之不同于它們非流水實現(xiàn)時的順序,則發(fā)生了數(shù)據(jù)沖突??刂茮_突流水線遇到分支指令和其他會改變PC值的指令所引起的沖突。流水線氣泡流水線中插入的暫停周期。定向技術(shù)當流水線中出現(xiàn)數(shù)據(jù)沖突時,可以將計算結(jié)果從其產(chǎn)生的地方直接送到其他指令中需要它的地方,或所有需要它的功能單元,避免暫停。寫后讀沖突(RAW)考慮流水線中的兩條指令i 和j,且i在j之前進入流水線中,j的執(zhí)行要用到i的計算結(jié)果,當它們在流水線中重疊執(zhí)行時,j可能在i寫入其計算結(jié)果之前就先行對保存該結(jié)果的寄存器進行讀操作,從而得到錯誤的值。寫后寫沖突(WAW)考慮流水線中的兩條指令i 和j,且i在j之前進入流水線中,j和i的目的寄存器相同,當它們在流水線中重疊執(zhí)行時,j可能在i寫入其計算結(jié)果之前就先行對該結(jié)果寄存器進行寫操作,從而導致寫入順序錯誤,在目的寄存器中留下的是i寫入的值,而不是j寫入的值。讀后寫沖突(WAR)考慮流水線中的兩條指令i 和j,且i在j之前進入流水線中,j可能在i讀取某個源寄存器的內(nèi)容之前就先對該寄存器進行寫操作,導致i后來讀取到的值是錯誤的。流水線調(diào)度或指令調(diào)度當流水線中出現(xiàn)沖突時,編譯器通過重新排列代碼的順序來消除流水線中的暫停,這種技術(shù)稱為流水線調(diào)度。凍結(jié)或排空流水線在流水線中,處理分支最簡單的方法,保持或清除流水線在分支指令之后讀入的任何指令,直到知道分支指令的目標地址以及分支轉(zhuǎn)移是否成功為止。分支延遲由分支指令引起的延遲。預測分支失敗的方法當流水線譯碼到一條分支指令時,流水線繼續(xù)取指令,并允許該分支指令后的指令繼續(xù)在流水線中流動。當流水線確定分支轉(zhuǎn)移成功與否以及分支的目標地址之后,如果分支轉(zhuǎn)移成功,流水線必須將在分支指令之后取出的所有指令轉(zhuǎn)化為空操作,并在分支的目標地址處重新取出有效的指令;如果分支轉(zhuǎn)移失敗,那么可以將分支指令看作是一條普通指令,流水線正常流動,無需將在分支指令之后取出的所有指令轉(zhuǎn)化為空操作。預測分支成功的方法一旦流水線譯碼到一條指令是分支指令,且完成了分支目標地址的計算,我們就假設(shè)分支轉(zhuǎn)移成功,并開始在分支目標地址處取指令執(zhí)行?!把舆t分支”方法其主要思想是從邏輯上“延長”分支指令的執(zhí)行時間。設(shè)延遲長度為n的分支指令后面有n個分支延遲槽,選擇n條有效和有用的指令放入分支延遲槽中,無論分支成功與否,流水線都會執(zhí)行這些指令。處于分支延遲槽中的指令“掩蓋”了流水線原來必須插入的暫停周期。水平(橫向)處理方式在橫向處理方式中,向量計算是按行的方式從左到右橫向地進行。若向量長度為N,則水平處理方式相當于執(zhí)行N次循環(huán)。若使用流水線,在每次循環(huán)中可能出現(xiàn)數(shù)據(jù)相關(guān)和功能轉(zhuǎn)換,不適合對向量進行流水處理。垂直(縱向)處理方式將整個向量按相同的運算處理完畢之后,再去執(zhí)行其他運算。存儲器存儲器型操作的運算流水線向量運算指令的源/目向量都放在存儲器內(nèi),使得流水線運算部件的輸入、輸出端直接與存儲器相聯(lián),構(gòu)成MM型的運算流水線。分組(縱橫)處理方式把長度為N的向量分為若干組,每組長度為n,組內(nèi)按縱向方式處理,依次處理各組,組數(shù)為N/n,適合流水處理。寄存器寄存器型操作的運算流水線可設(shè)長度為n的向量寄存器,使每組向量運算的源/目向量都在向量寄存器中,流水線的運算部件輸入、輸出端與向量寄存器相聯(lián),構(gòu)成RR型運算流水線。Vi沖突并行工作的各向量指令的源向量或結(jié)果向量的Vi有相同的。功能部件沖突向量功能部件沖突指的是同一個向量功能部件被一條以上的并行工作向量指令所使用。鏈接技術(shù)兩條向量指令出現(xiàn)“寫后讀”相關(guān)時,若它們不存在功能部件沖突和向量寄存器(源或目的)沖突,就有可能把它們所用的功能部件頭尾相接,形成一條鏈接流水線,進行流水處理。鏈接流水線的流水時間在鏈接流水線中,從第一個操作數(shù)開始流動到第一個結(jié)果產(chǎn)生并存入向量寄存器所需的時間。向量循環(huán)或分段開采技術(shù)當向量的長度大于向量寄存器的長度時,就必須把長向量分成固定長度的段,然后循環(huán)分段處理,一次循環(huán)只處理一個向量段。向量處理機的峰值性能R:當向量長度為無窮大時,向量處理機的最高性能,也稱為峰值性能。半性能向量長度向量處理機的運行性能達到其峰值性能的一半時所必須滿足的向量長度。向量長度臨界值對于某一計算任務(wù)而言,向量方式的處理速度優(yōu)于標量串行方式處理速度時所需的最小向量長度。第4章 指令級并行指令級并行當指令之間不存在相關(guān)時,它們可以在流水線中重疊起來并行執(zhí)行。這種指令序列中存在的潛在并行性稱為指令級并行?;境绦驂K如果一串連續(xù)的代碼除了入口和出口以外,沒有其他的分支指令和轉(zhuǎn)入點,則稱之為一個基本程序塊。循環(huán)級并行性循環(huán)體中指令之間的并行性。程序順序由源程序確定的在完全串行方式下指令的執(zhí)行順序。保持異常行為無論怎么改變指令的執(zhí)行順序,都不能改變程序中異常的發(fā)生情況。即原來程序中是怎么發(fā)生的,改變執(zhí)行順序后還是怎么發(fā)生。靜態(tài)調(diào)度技術(shù)依靠編譯器對代碼進行靜態(tài)調(diào)度,以減少相關(guān)和沖突。它不是在程序執(zhí)行的過程中、而是在編譯期間進行代碼調(diào)度和優(yōu)化。靜態(tài)調(diào)度通過把相關(guān)的指令拉開距離來減少可能產(chǎn)生的停頓。動態(tài)調(diào)度方法在流水線中出現(xiàn)相關(guān)時,通過硬件重新安排指令的執(zhí)行順序,來調(diào)整相關(guān)指令實際執(zhí)行時的關(guān)系,減少處理器空轉(zhuǎn)。不精確異常當執(zhí)行指令i導致發(fā)生異常時,處理機的現(xiàn)場(狀態(tài))與嚴格按程序順序執(zhí)行時指令i的現(xiàn)場不同。精確異常當執(zhí)行指令i導致發(fā)生異常時,處理機的現(xiàn)場跟嚴格按程序順序執(zhí)行時指令i的現(xiàn)場相同。Tomasulo算法的核心思想 記錄和檢測指令相關(guān),操作數(shù)一旦就緒就立即執(zhí)行,把發(fā)生RAW沖突的可能性減少到最少; 通過寄存器換名來消除WAR沖突和WAW沖突。保留站設(shè)置在運算部件的入口,每個保留站中保存一條已經(jīng)流出并等待到本功能部件執(zhí)行的指令(相關(guān)信息),包括操作碼、操作數(shù)以及用于檢測和解決沖突的信息。CDB公共數(shù)據(jù)總線。它是一條重要的數(shù)據(jù)通路,所有功能部件的計算結(jié)果都要送到CDB上,由它把這些結(jié)果直接送到(播送到)各個需要該結(jié)果的地方。動態(tài)分支預測技術(shù)在程序運行時,根據(jù)分支指令過去的表現(xiàn)來預測其將來的行為。如果分支行為發(fā)生了變化,預測結(jié)果也跟著改變。動態(tài)分支預測技術(shù)的目的有兩個:預測分支是否成功和盡快找到分支目標地址(或指令),從而避免因控制相關(guān)而造成流水線停頓。分支歷史表BHT記錄分支指令最近一次或幾次的執(zhí)行情況(成功或不成功),并據(jù)此進行預測。BTB分支目標緩沖器。用專門的硬件實現(xiàn)的一張表格。表格中的每一項至少有兩個字段: 執(zhí)行過的成功分支指令的地址; 預測的分支目標地址。前瞻執(zhí)行對分支指令的結(jié)果進行猜測,并假設(shè)這個猜測總是對的,然后按這個猜測結(jié)果繼續(xù)取、流出和執(zhí)行后續(xù)的指令。只是執(zhí)行指令的結(jié)果不是寫回到寄存器或存儲器,而是放到一個稱為ROB的緩沖器中。等到相應的指令得到“確認”(即確實是應該執(zhí)行的)后,才將結(jié)果寫入寄存器或存儲器。ROB再定序緩沖器。在指令操作完成后到指令被確認的這一時間段內(nèi),為指令保存數(shù)據(jù)。多流出技術(shù)在每個時鐘周期流出多條指令。超標量處理機一種多流出處理機。在每個時鐘周期流出的指令條數(shù)不固定,依代碼的具體情況而定,不過有個上限。設(shè)這個上限為n,就稱該處理機為n流出。超長指令字VLIW技術(shù)一種多指令流出技術(shù)。在每個時鐘周期流出的指令條數(shù)是固定的,這些指令構(gòu)成一條長指令或者一個指令包,在這個指令包中,指令之間的并行性是通過指令顯式地表示出來的。超流水線處理機在一個時鐘周期內(nèi)能夠分時流出多條指令的處理機。循環(huán)展開技術(shù)開發(fā)循環(huán)級并行的一種基本技術(shù)。它將循環(huán)體展開若干次,將循環(huán)級并行轉(zhuǎn)化為指令級并行。這個過程既可以通過編譯器靜態(tài)完成,也可以通過硬件動態(tài)進行。第5章 存儲層次存儲器的三個主要指標從用戶的角度來看,存儲器的三個主要指標是:容量、速度和價格。多級存儲層次由若干個采用不同實現(xiàn)技術(shù)的存儲器構(gòu)成的存儲器系統(tǒng)。各存儲器處在離CPU不同距離的層次上。其目標是速度接近于離CPU最近的存儲器的速度,容量達到離CPU最遠的存儲器的容量。命中率HCPU在第一級存儲器中找到所需數(shù)據(jù)的概率。不命中率或失效率FCPU在第一級存儲器中找不到所需數(shù)據(jù)的概率。失效開銷CPU向第二級存儲器發(fā)出訪問請求到把這個數(shù)據(jù)塊調(diào)入第一級存儲器所需的時間。平均訪問時間TATA 命中時間 失效率 失效開銷“Cache主存”層次在CPU和主存之間增加一級速度快、但容量較小而每位價格較貴的高速緩沖存儲器。借助于輔助軟硬件,它與主存構(gòu)成一個有機的整體,以彌補主存速度的不足。“主存輔存”層次“主存輔存”層次的目的是為了彌補主存容量的不足。它是在主存外面增加一個容量更大、每位價格更便宜、但速度更慢的存儲器。它們依靠輔助軟硬件的作用,構(gòu)成一個整體。全相聯(lián)映像當把一個塊從主存調(diào)入Cache時,它可以被放置到Cache中的任意一個位置。直接映像當把一個塊從主存調(diào)入Cache時,它只能被放置到Cache中唯一的一個位置。組相聯(lián)映像當把一個塊從主存調(diào)入Cache時,它可以被放置到Cache中唯一的一個組中的任何一個位置(Cache被等分為若干組,每組由若干個塊構(gòu)成)。n路組相聯(lián)在組相聯(lián)映像中,如果每組中有n個塊,則稱該映像規(guī)則為n路組相聯(lián)。相聯(lián)度組相聯(lián)映像中每組中的塊數(shù)。目錄表目錄表所包含的項數(shù)與Cache的塊數(shù)相同,每一項對應于Cache中的一個塊,用于指出當前該塊中存放的信息是哪個主存塊的。候選位置一個主存塊可能映像到Cache中的一個或多個Cache塊位置,這些Cache塊位置稱為候選位置。隨機法隨機地選擇被替換的塊。先進先出法(FIFO)選擇最早調(diào)入的塊作為被替換的塊。最近最少使用法(LRU)選擇近期最少被訪問的塊作為被替換的塊。寫直達法在執(zhí)行“寫”操作時,不僅把信息寫入Cache中相應的塊,而且也寫入下一級存儲器中相應的塊。寫回法在執(zhí)行“寫”操作時,只把信息寫入Cache中相應的塊。該塊只有在被替換時,才被寫回主存。按寫分配法寫失效時,先把所寫單元所在的塊調(diào)入Cache,然后再進行寫入。不按寫分配法寫失效時,直接寫入下一級存儲器中,而不把相應的塊調(diào)入Cache。分離Cache將單一的Cache分為兩個Cache:一個專門存放指令,另一個專門存放數(shù)據(jù)?;旌螩ache將指令和數(shù)據(jù)放在一個統(tǒng)一的Cache中。強制性失效當?shù)谝淮卧L問一個塊時,該塊不在Cache中,需從下一級存儲器中調(diào)入Cache,這就是強制性失效。容量失效如果程序執(zhí)行時所需的塊不能全部調(diào)入Cache中,則當某些塊被替換后,若又重新被訪問,就會發(fā)生失效。這種失效稱為容量失效。沖突失效在組相聯(lián)或直接映像Cache中,若太多的塊映像到同一組(塊)中,則會出現(xiàn)該組中某個塊被別的塊替換(即使別的組或塊有空閑位置),然后又被重新訪問的情況。這就發(fā)生了沖突失效。2:1的Cache經(jīng)驗規(guī)則大小為N的直接映像Cache的失效率約等于大小為N/2的兩路組相聯(lián)Cache的失效率。Victim Cache在Cache與下一級存儲器的數(shù)據(jù)通路之間增設(shè)一個全相聯(lián)的小Cache,用來存放由于失效而被丟棄(替換)的那些塊。偽相聯(lián)一種既能獲得多路組相聯(lián)Cache的低失效率,又能獲得直接映像Cache的命中速度的相聯(lián)辦法。采用這種方法時,在命中情況下,訪問Cache的過程和直接映像Cache中的情況相同;而發(fā)生失效時,在訪問下一級存儲器之前,會先檢查Cache另一個位置(塊),看是否匹配。確定這個“另一塊”的一種簡單的方法是將索引字段的最高位取反,然后按照新索引去尋找“偽相聯(lián)組”中的對應塊。如果這一塊的標識匹配,則稱發(fā)生了“偽命中”。否則,就只好訪問下一級存儲器。寄存器預取預取時,把數(shù)據(jù)取到寄存器中。Cache預取預取時,只將數(shù)據(jù)取到Cache中,不放入寄存器。故障性預取在預取時,若出現(xiàn)虛地址故障或違反保護權(quán)限,則會發(fā)生異常。非故障性預取或非綁定預取預取時,若出現(xiàn)虛地址故障或違反保護權(quán)限,則不會發(fā)生異常。非阻塞Cache或非鎖定CacheCache在等待預取數(shù)據(jù)返回的同時,還能繼續(xù)提供指令和數(shù)據(jù)。子塊放置技術(shù)把一個Cache塊劃分為若干個小塊,稱為子塊。為每一個子塊賦一位有效位,用于說明該子塊中的數(shù)據(jù)是否有效。失效時只從下一級存儲器調(diào)入一個子塊。請求字當從存儲器向CPU調(diào)入一塊時,塊中只有一個字是CPU立即需要的,這個字稱為請求字。盡早重啟動在請求字沒有到達時,CPU處于等待狀態(tài)。一旦請求字到達,就立即發(fā)送給CPU,讓等待的CPU盡早重啟動,繼續(xù)執(zhí)行。請求字優(yōu)先調(diào)塊時,首先向存儲器請求CPU所要的請求字。請求字一旦到達,就立刻送往CPU,讓CPU繼續(xù)執(zhí)行,同時從存儲器調(diào)入該塊的其余部分。失效下的命中Cache在失效時仍允許CPU進行其它的命中訪問。局部失效率對于某一級Cache來說:局部失效率該級Cache的失效次數(shù)/到達該級Cache的訪存次數(shù)全局失效率對于某一級Cache來說:全局失效率該級Cache的失效次數(shù)/CPU發(fā)出的訪存總次數(shù)虛擬Cache訪問Cache的索引和標識都是虛擬地址的一部分。物理Cache訪問Cache的索引和標識都是物理地址的一部分。進程標識符字段(PID)虛擬Cache中,為了減少清空Cache的次數(shù),在地址標識中增加一個進程標識符字段,指出Cache中各塊的數(shù)據(jù)是屬于哪個程序的。同義或別名虛擬Cache中,操作系統(tǒng)和用戶程序?qū)τ谕粋€物理地址可能采用兩種以上不同形式的虛擬地址來訪問,這些地址稱為同義或別名。虛擬索引物理標識方法直接用虛地址中的頁內(nèi)位移作為訪問Cache的索引,但標識卻是物理地址。CPU發(fā)出訪存請求后,在進行虛實地址轉(zhuǎn)換的同時,可并行進行標識的讀取。在完成地址變換之后,再把得到的物理地址與標識進行比較。它既能得到虛擬Cache的好處,又能得到物理Cache的優(yōu)點。多字寬存儲器結(jié)構(gòu)這是提高存儲器帶寬的最簡單的方法。把主存的寬度增加為原來的若干倍。多體交叉存儲器把存儲芯片組織為多個體,讓它們并行工作,從而能一次讀或?qū)懚鄠€字。存儲器的各個體是按字交叉的。獨立存儲體將存儲器分為若干個獨立的存儲體,每個體有獨立的地址線、獨立的數(shù)據(jù)總線,有多個存儲控制器,以允許多個體獨立操作。體沖突多個請求要訪問同一個體。DRAM專用交叉結(jié)構(gòu)Nibble方式、Page方式、Static column方式。TLB一個專用的高速緩沖器,用于存放近期經(jīng)常使用的頁表項,其內(nèi)容是頁表部分內(nèi)容的一個副本。第6章 輸入/輸出系統(tǒng)輸入/輸出系統(tǒng)簡稱I/O系統(tǒng),它包括I/O設(shè)備以及I/O設(shè)備與處理機的連接。存儲外設(shè)可靠性能的參數(shù)可靠性、可用性和可信性系統(tǒng)可靠性指系統(tǒng)從初始狀態(tài)開始一直提供服務(wù)的能力。通常用平均無故障時間MTTF(Mean Time To Failure)來衡量。系統(tǒng)的失效率平均無故障時間MTTF的倒數(shù)。系統(tǒng)可用性系統(tǒng)正常工作時間在連續(xù)兩次正常服務(wù)間隔時間中所占的比率。系統(tǒng)的可信性指服務(wù)的質(zhì)量,即在多大程度上可以合理地認為服務(wù)是可靠的。有效構(gòu)建方法在構(gòu)建系統(tǒng)的過程中消除故障隱患,這樣建立起來的系統(tǒng)就不會出現(xiàn)故障。糾錯方法在系統(tǒng)構(gòu)建中設(shè)計容錯部件,即使出現(xiàn)故障,也可以通過容錯信息保證系統(tǒng)正常工作。RAID廉價磁盤冗余陣列或獨立磁盤冗余陣列。RAID0采用數(shù)據(jù)分塊技術(shù),把數(shù)據(jù)分布在多個盤上,無冗余信息。RAID1鏡像盤。每當數(shù)據(jù)寫入一個磁盤時,也將該數(shù)據(jù)寫到另一個冗余盤(鏡像盤),形成數(shù)據(jù)的兩個備份(數(shù)據(jù)鏡像)。如果一個磁盤失效,系統(tǒng)可以到鏡像盤中獲得所需要的數(shù)據(jù)。RAID2位交叉式漢明編碼陣列。數(shù)據(jù)字以位交叉方式分別記錄在各個磁盤上,編碼位被存放在多個校驗(Ecc)磁盤的對應位上。RAID3位交叉奇偶校驗盤陣列。數(shù)據(jù)以位或字節(jié)交叉的方式存于各盤,冗余的奇偶校驗信息存儲在專用的冗余盤上。特點是可以獲得非常高的數(shù)據(jù)傳輸率。缺點是一次只能執(zhí)行一個I/O請求。RAID4專用奇偶校驗獨立存取盤陣列。數(shù)據(jù)以塊(塊大小可變)交叉的方式存于各盤,冗余的奇偶校驗信息存放在一個專用盤上。RAID5塊交叉分布式奇偶校驗盤陣列,是旋轉(zhuǎn)奇偶校驗獨立存取的陣列。即數(shù)據(jù)以塊交叉的方式存于各盤,但無專用的冗余盤,而是把冗余的奇偶校驗信息均勻地分布在所有磁盤上。RAID6雙維奇偶校驗獨立存取盤陣列。即數(shù)據(jù)以塊(塊大小可變)交叉的方式存于各盤,冗余的檢、糾錯信息均勻地分布在所有磁盤上??扇萑屉p盤出錯。分離事務(wù)總線將總線事務(wù)分成請求和應答兩部分。在請求和應答之間的空閑時間內(nèi),總線可以供其他的I/O使用,這樣就不必在整個I/O過程中都獨占總線。又稱為流水總線、懸掛總線或者包交換總線。I/O總線標準定義如何將設(shè)備與計算機進行連接的文檔。通道處理機能夠執(zhí)行有限I/O指令,并且能夠被多臺外圍設(shè)備共享的小型DMA專用處理機。字節(jié)多路通道一種簡單的共享通道,主要為多臺低速或中速的外圍設(shè)備服務(wù)。當多臺設(shè)備同時連接到一個字節(jié)多路通道上時,通道每連接一個外圍設(shè)備,只傳送一個字節(jié),然后又與另一臺設(shè)備連接,并傳送一個字節(jié)。依次循環(huán)工作。數(shù)組多路通道適于為高速設(shè)備服務(wù)。通道每連接一臺高速設(shè)備,傳送一個數(shù)據(jù)塊,傳送完成后,又與另一臺高速設(shè)備連接,再傳送一個數(shù)據(jù)塊。依次循環(huán)工作。選擇通道適于為多臺高速外圍設(shè)備服務(wù)。在傳送數(shù)據(jù)期間,該通道只能為一臺高速外圍設(shè)備服務(wù),但在不同的時間內(nèi)可以選擇不同的設(shè)備。通道流量一個通道在數(shù)據(jù)傳送期間,單位時間內(nèi)能夠傳送的最大數(shù)據(jù)量。通道最大流量一個通道在滿負荷工作狀態(tài)下的流量。虛擬DMA允許DMA設(shè)備直接使用虛擬地址,在DMA期間由硬件將虛擬地址映射到物理地址。異步I/O允許進程在發(fā)出I/O請求后繼續(xù)執(zhí)行,直到該進程需要使用請求的數(shù)據(jù)。異步I/O允許多個I/O請求同時處理以最大限度地利用帶寬。第7章 互連網(wǎng)絡(luò)互連網(wǎng)絡(luò)一種由開關(guān)元件按照一定的拓撲結(jié)構(gòu)和控制方式構(gòu)成的網(wǎng)絡(luò),用來實現(xiàn)計算機系統(tǒng)中結(jié)點之間的相互連接。這些結(jié)點可以是處理器、存儲模塊或其他設(shè)備。線路交換源結(jié)點和目的結(jié)點之間的物理通路在整個數(shù)據(jù)傳送期間一直保持連接。分組交換把信息分割成許多組(又稱為包),將它們分別送入互連網(wǎng)絡(luò)。這些數(shù)據(jù)包可以通過不同的路徑傳送,到目的結(jié)點后再拼合出原來的數(shù)據(jù)。在分組交換中,結(jié)點之間不存在固定連接的物理通路。集中控制方式集中控制方式中,有一個全局的控制器接收所有的通信請求,并由它設(shè)置互連網(wǎng)絡(luò)的開關(guān)連接。分散控制方式分散控制方式中,不存在全局的控制器,通信請求的處理和開關(guān)的設(shè)置由互連網(wǎng)絡(luò)分散地進行。靜態(tài)拓撲結(jié)構(gòu)在各結(jié)點之間有專用的連接通路,且在運行過程中不能改變。動態(tài)拓撲結(jié)構(gòu)根據(jù)需要設(shè)置互連網(wǎng)絡(luò)中的開關(guān),從而對結(jié)點之間的連接通路進行重新組合,實現(xiàn)所要求的通信模式?;ミB函數(shù)用變量x表示輸入(設(shè)x=0,1,N1),用函數(shù)f(x)表示輸出,通過數(shù)學表達式建立輸入端與輸出端的一一對應關(guān)系。即在互連函數(shù)f的作用下,輸入端x連接到輸出端f(x)。也稱為置換函數(shù)或排列函數(shù)。循環(huán)互連函數(shù)f(x)有時可以采用循環(huán)表示,即:(x0 x1 x2 xj-1)。它表示f(x0)=x1,f(x1)=x2,f(xj-1)=x0j稱為該循環(huán)的長度。交換函數(shù)實現(xiàn)二進制地址編碼中第k位互反的輸入端與輸出端之間的連接。其表達式為均勻洗牌函數(shù)將輸入端分成數(shù)目相等的兩半,前一半和后一半按類似均勻混洗撲克牌的方式交叉地連接到輸出端(輸出端相當于混洗的結(jié)果)。其函數(shù)關(guān)系可表示為 即把輸入端的二進制編號循環(huán)左移一位。逆均勻洗牌函數(shù)將輸入端的二進制編號循環(huán)右移一位而得到所連接的輸出端編號。其互連函數(shù)為逆均勻洗牌是均勻洗牌的逆函數(shù)。蝶式互連函數(shù)把輸入端的二進制編號的最高位與最低位互換位置,便得到了輸出端的編號。定義為反位序函數(shù)將輸入端二進制編號的位序顛倒過來求得相應輸出端的編號。其互連函數(shù)為PM2I函數(shù)一種移數(shù)函數(shù),它是將各輸入端都循環(huán)移動一定的位置連到輸出端。其函數(shù)為PM2+i (x) x2i mod NPM2-i(x) x2i mod N 其中,0xN1,0in1,nlog2N,N為結(jié)點數(shù)。網(wǎng)絡(luò)規(guī)模一般說來,網(wǎng)絡(luò)用圖來表示。這種圖由用有向邊或無向邊連接的有限個結(jié)點構(gòu)成。其結(jié)點數(shù)稱為網(wǎng)絡(luò)規(guī)模。結(jié)點度與結(jié)點相連接的邊的數(shù)目。入度在單向通道的情況下,進入結(jié)點的通道數(shù)。出度在單向通道的情況下,從結(jié)點出來的通道數(shù)。距離對于網(wǎng)絡(luò)中的任意兩個結(jié)點,從一個結(jié)點出發(fā)到另一個結(jié)點終止所需要跨越的邊數(shù)的最小值。網(wǎng)絡(luò)直徑網(wǎng)絡(luò)中任意兩個結(jié)點間最短路徑長度的最大值。等分寬度在將某一網(wǎng)絡(luò)切成相等兩半的各種切法中,沿切口的最小通道邊數(shù)。結(jié)點之間的線長兩個結(jié)點之間連線的長度,用米、千米等表示。對稱網(wǎng)絡(luò)對于一個網(wǎng)絡(luò),如果從其中的任何一個結(jié)點看,拓撲結(jié)構(gòu)都是一樣的,則稱此網(wǎng)絡(luò)為對稱網(wǎng)絡(luò)。線性陣列一種一維的線性網(wǎng)絡(luò),其中N個結(jié)點用N-1個鏈路連成一行。內(nèi)部結(jié)點度為2,端結(jié)點度為1,直徑為N-1,等分寬度b=1。環(huán)用一條附加鏈路將線性陣列的兩個端點連接起來而構(gòu)成的??梢詥蜗蚬ぷ?,也可以雙向工作。它是對稱的,結(jié)點度是常數(shù)2。雙向環(huán)的直徑為N/2,單向環(huán)的直徑是N。帶弦環(huán)在環(huán)的基礎(chǔ)上,給每個結(jié)點增加一條或兩條鏈路。增加的鏈路愈多,結(jié)點度愈高,網(wǎng)絡(luò)直徑就愈小。全連接網(wǎng)絡(luò)一種環(huán)網(wǎng)。其中任何兩個結(jié)點之間都有鏈路相連。循環(huán)移數(shù)網(wǎng)絡(luò)通過在環(huán)上每個結(jié)點到所有與其距離為2的整數(shù)冪的結(jié)點之間都增加一條附加鏈而構(gòu)成的。這就是說,如果j-i=2 r,r=0,1,2,n-1,網(wǎng)絡(luò)規(guī)模N=2n,則結(jié)點i與結(jié)點j連接。這種循環(huán)移數(shù)網(wǎng)絡(luò)的結(jié)點度為d=2n-1,直徑D=n/2。超立方體一種二元n立方體結(jié)構(gòu)。一般說來,一個n立方體由N=2n 個結(jié)點組成,它們分布在n維上,每維有兩個結(jié)點。交叉開關(guān)網(wǎng)絡(luò)每個輸入端通過一個交叉點開關(guān)無阻塞地與一個空閑輸出端相連。它是單級無阻塞置換網(wǎng)絡(luò),帶寬和互連特性最好。第8章 多處理機集中式共享存儲器結(jié)構(gòu)由幾個到幾十個處理器構(gòu)成的MIMD機器。各處理器通過大容量的Cache和總線互連,共享一個單獨的物理存儲器。又稱為對稱式共享存儲器結(jié)構(gòu)機器或者UMA機器。分布式存儲器結(jié)構(gòu)處理器的規(guī)模較大,存儲器分布到各個處理器上,而非采用集中式。系統(tǒng)中每個結(jié)點包含了處理器、存儲器、IO以及互連網(wǎng)絡(luò)接口。通信延遲通信延遲發(fā)送開銷跨越時間傳輸延遲接收開銷跨越時間數(shù)字信號從發(fā)送方的線路端傳送到接收方的線路端所經(jīng)過的時間。傳輸時間全部的消息量除以線路帶寬。分布式共享存儲器或可縮放共享存儲器體系結(jié)構(gòu)物理上分離的多個存儲器作為一個邏輯上共享的存儲空間進行編址,如果一個處理器具有訪問權(quán),就可以訪問任何一個其他的局部存儲器。共享存儲器機器共享地址空間的機器。利用load和store指令中的地址隱含地進行數(shù)據(jù)通信。消息傳遞機器多個地址空間的機器。數(shù)據(jù)通信要通過處理器間顯式地傳遞消息來完成。私有數(shù)據(jù)供一個單獨的處理器使用的數(shù)據(jù)。共享數(shù)據(jù)供多個處理器使用的數(shù)據(jù)。共享數(shù)據(jù)的遷移把遠程的共享數(shù)據(jù)項副本放在本處理器局部的Cache中使用,從而降低了對遠程共享數(shù)據(jù)的訪問延遲。共享數(shù)據(jù)的復制把多個處理器需要同時讀取的共享數(shù)據(jù)項的副本放在各自局部Cache中使用。復制不僅降低了訪存的延遲,也減少了訪問共享數(shù)據(jù)所產(chǎn)生的沖突。Cache一致性協(xié)議對多個處理器維護Cache一致性的協(xié)議。寫順序化寫操作順序化,使得對同一存儲器單元所進行的寫操作順序在所有處理器看來都是相同的。目錄用一種專用的存儲器所記錄的數(shù)據(jù)結(jié)構(gòu),它記錄著可以進入Cache的每個數(shù)據(jù)塊的訪問狀態(tài)、該塊在各個處理器的共享狀態(tài)以及是否修改過等信息。監(jiān)聽法當物理存儲器中的數(shù)據(jù)塊被調(diào)入Cache時,其共享狀態(tài)信息與該數(shù)據(jù)塊一起放在該Cache中。系統(tǒng)中沒有集中的狀態(tài)表。這些Cache通常連在共享存儲器的總線上,各個Cache控制器通過監(jiān)聽總線來判斷它們是否有總線上請求的數(shù)據(jù)塊。寫作廢協(xié)議在一個處理器寫某個數(shù)據(jù)項之前保證它對該數(shù)據(jù)項有唯一的訪問權(quán)。寫更新協(xié)議當一個處理器寫某數(shù)據(jù)項時,通過廣播使其他Cache中所有對應的該數(shù)據(jù)項副本進行更新。宿主結(jié)點存放有存儲器塊和對應地址目錄項的結(jié)點。原子交換將一個存儲單元的值和一個寄存器的值進行交換,且交換是不可分的。旋轉(zhuǎn)鎖指處理器環(huán)繞一個鎖不停地旋轉(zhuǎn)而請求獲得該鎖。柵欄同步并行循環(huán)程序中一個常用的同步操作。柵欄強制所有到達該柵欄的進程進行等待,直到全部的進程到達柵欄,然后釋放全部的進程,從而形成同步。柵欄的典型實現(xiàn)是用兩個旋轉(zhuǎn)鎖:一個用來記錄到達柵欄的進程數(shù),另一個用來封鎖進程直至最后一個進程到達柵欄。細粒度多線程技術(shù)在每條指令之間都能進行線程的切換,從而導致多個線程的交替執(zhí)行。通常以時間片輪轉(zhuǎn)的方法實現(xiàn)這樣的交替執(zhí)行,在輪轉(zhuǎn)的過程中跳過當時處于停頓的線程。粗粒度多線程技術(shù)線程之間的切換只發(fā)生在時間較長的停頓出現(xiàn)時。同時多線程技術(shù)簡稱SMT。它是一種在多流出、動態(tài)調(diào)度的處理器上同時開發(fā)線程級并行和指令級并行的技

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論