




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