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

下載本文檔

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

文檔簡介

1、第一章計算機體系結(jié)構(gòu)的基本概念1. 計算機系統(tǒng)結(jié)構(gòu)的經(jīng)典定義程序員所看到的計算機屬性,即概念性結(jié)構(gòu)與功能特性。(計算機組成:指計算機系統(tǒng)結(jié)構(gòu)的邏輯實現(xiàn)。計算機實現(xiàn):計算機組成的物理實現(xiàn))2. 計算機系統(tǒng)的多級層次結(jié)構(gòu):1. 虛擬機:應(yīng)用語言機器->高級語言機器->匯編語言機器->操作系統(tǒng)機器2. 物理機:傳統(tǒng)機器語言機器->微程序機器3. 透明性:在計算機技術(shù)中,把這種本來存在的事物或?qū)傩?,但從某種角度看又好像不存在的概念稱為透明性。4. 編譯:先用轉(zhuǎn)換程序把高一級機器上的程序轉(zhuǎn)換為低一級機器上等效的程序5. 解釋:對于高一級機器上的程序中的每一條語句或指令,都轉(zhuǎn)去執(zhí)行

2、低一級機器上的一段等效程序。6. 常見的計算機系統(tǒng)結(jié)構(gòu)分類法有兩種:Flynn分類法、馮氏分類法(按系統(tǒng)并行度Pm:計算機系統(tǒng)在單位時間內(nèi)能處理的最大二進制位數(shù) )進行分類。Flynn分類法把計算機系統(tǒng)的結(jié)構(gòu)分為4類:單指令流單數(shù)據(jù)流(SISD)單指令流多數(shù)據(jù)流(SIMD)多指令流單數(shù)據(jù)流(MISD)多指令流多數(shù)據(jù)流(MIMD)IS指令流,DS數(shù)據(jù)流,CS(控制流),CU(控制部件),PU(處理部件),MM,SM(表示存儲器)7. 計算機設(shè)計的定量原理:1. 大概率事件優(yōu)先原理(分配更多資源,達(dá)到更高性能)2. Amdahl定理:加速比:Sn=T0(加速前)Tn(加速后)=11-Fe+Fe/S

3、e(Fe為可改進比例(可改進部分的執(zhí)行時間/總的執(zhí)行時間),Se為部件加速比(改進前/改進后)3. 程序的局部性原理:時間局部性:程序即將使用的信息很可能是目前使用的信息??臻g局部性:即將用到的信息可能與目前用到的信息在空間上相鄰或相近。4. CPU性能公式:1. 時鐘周期時間2. CPI:CPI = 執(zhí)行程序所需的時鐘周期數(shù)IC3. IC(程序所執(zhí)行的指令條數(shù))8. 并行性:計算機系統(tǒng)在同一時刻或者同一時間間隔內(nèi)進行多種運算或操作。同時性:兩個或兩個以上的事件在同一時刻發(fā)生。并發(fā)性:兩個或兩個以上的事件在同一時間間隔內(nèi)發(fā)生。 從處理數(shù)據(jù)的角度來看,并行性等級從低到高可分為:1.字串位串:每次

4、只對一個字的一位進行處理。 最基本的串行處理方式,不存在并行性。2字串位并:同時對一個字的全部位進行處理,不同字之間是串行的。 開始出現(xiàn)并行性。3.字并位串:同時對許多字的同一位(稱為位片)進行處理。 具有較高的并行性。4.全并行:同時對許多字的全部位或部分位進行處理。 最高一級的并行。從執(zhí)行程序的角度來看,并行性等級從低到高可分為:1.指令內(nèi)部并行:單條指令中各微操作之間的并行。2.指令級并行:并行執(zhí)行兩條或兩條以上的指令。3.線程級并行:并行執(zhí)行兩個或兩個以上的線程。 通常是以一個進程內(nèi)派生的多個線程為調(diào)度單位。4.任務(wù)級或過程級并行:并行執(zhí)行兩個或兩個以上的過程或任務(wù)(程序段) 以子程序

5、或進程為調(diào)度單元。5.作業(yè)或程序級并行:并行執(zhí)行兩個或兩個以上的作業(yè)或程序。 提高并行性的技術(shù)途徑:1.時間重疊 引入時間因素,讓多個處理過程在時間上相互錯開,輪流重疊地使用同一套硬件設(shè)備的各個部分,以加快硬件周轉(zhuǎn)而贏得速度。2.資源重復(fù) 引入空間因素,以數(shù)量取勝。通過重復(fù)設(shè)置硬件資源,大幅度地提高計算機系統(tǒng)的性能。3.資源共享 這是一種軟件方法,它使多個任務(wù)按一定時間順序輪流使用同一套硬件設(shè)備。3.系列機由同一廠家生產(chǎn)的具有相同系統(tǒng)結(jié)構(gòu)、但具有不同組成和實現(xiàn)的一系列不同型號的計算機。7. 存儲程序原理的基本點:指令驅(qū)動8. 馮·諾依曼結(jié)構(gòu)的主要特點1.以運算器為中心。2.在存儲器中

6、,指令和數(shù)據(jù)同等對待。 指令和數(shù)據(jù)一樣可以進行運算,即由指令組成的程序是可以修改的。3.存儲器是按地址訪問、按順序線性編址的一維結(jié)構(gòu),每個單元的位數(shù)是固定的。4.指令的執(zhí)行是順序的5.指令由操作碼和地址碼組成。6.指令和數(shù)據(jù)均以二進制編碼表示,采用二進制運算。9.軟件的可移植性一個軟件可以不經(jīng)修改或者只需少量修改就可以由一臺計算機移植到另一臺計算機上正確地運行。差別只是執(zhí)行時間的不同。我們稱這兩臺計算機是軟件兼容的。實現(xiàn)可移植性的常用方法:采用系列機、模擬與仿真、統(tǒng)一高級語言 。軟件兼容:向上(下)兼容:按某檔機器編制的程序,不加修改就能運行于比它高(低)檔的機器。向前(后)兼容:按某個時期投

7、入市場的某種型號機器編制的程序,不加修改地就能運行于在它之前(后)投入市場的機器。向后兼容是系列機的根本特征。兼容機:由不同公司廠家生產(chǎn)的具有相同系統(tǒng)結(jié)構(gòu)的計算機 。第二章 計算機指令集結(jié)構(gòu)1. CPU中用來存儲操作數(shù)的存儲單元的主要類型:堆棧、累加器、通用寄存器組2. 通用寄存器型指令集結(jié)構(gòu)進一步細(xì)分為3種類型寄存器-寄存器型(RR型)寄存器-存儲器型(RM型)存儲器-存儲器型(MM型)3.指令集結(jié)構(gòu)的設(shè)計主要考慮3個因素:速度、成本、靈活性對指令集的基本要求:完整性、規(guī)整性、高效率、兼容性 4.設(shè)計RISC機器遵循的原則 1.指令條數(shù)少而簡單。只選取使用頻度很高的指令,在此基礎(chǔ)上補充一些最

8、有用的指令。2.采用簡單而又統(tǒng)一的指令格式,并減少尋址方式;指令字長都為32位或64位。3.指令的執(zhí)行在單個機器周期內(nèi)完成。(采用流水線機制)4.只有l(wèi)oad和store指令才能訪問存儲器,其他指令的操作都是在寄存器之間進行。 (即采用load-store結(jié)構(gòu))5.大多數(shù)指令都采用硬連邏輯來實現(xiàn)。6.強調(diào)優(yōu)化編譯器的作用,為高級語言程序生成優(yōu)化的代碼。7.充分利用流水技術(shù)來提高性能。5.指令由兩部分組成:操作碼、地址碼指令集的3種編碼格式:變長編碼格式、定長編碼格式、混合型編碼格式第三章 流水線技術(shù)1. 流水線技術(shù):把一個重復(fù)的過程分解為若干個子過程,每個子過程由專門的功能部件來實現(xiàn)。把多個處

9、理過程在時間上錯開,依次通過各功能段,這樣,每個子過程就可以與其他的子過程并行進行。(流水線中的每個子過程及其功能部件稱為流水線的級或段,段與段相互連接形成流水線。流水線的段數(shù)稱為流水線的深度。)2. CPU流水線:1. IF(取指令):根據(jù)PC值從指令內(nèi)存中讀取一條指令,并且設(shè)置下一周期的PC值。2. ID(解碼):根據(jù)操作碼從指令中提取操作數(shù)。3. EX(執(zhí)行):執(zhí)行指令4. MEM(內(nèi)存操作)5. WB(回寫):修改寄存器3. 通過時間:第一個任務(wù)從進入流水線到流出結(jié)果所需的時間。排空時間:最后一個任務(wù)從進入流水線到流出結(jié)果所需的時間。4. 流水線分類:1.單功能流水線與多功能流水線單功

10、能流水線:只能完成一種固定功能的流水線。多功能流水線:流水線的各段可以進行不同的連接,以實現(xiàn)不同的功能。2.靜態(tài)流水線與動態(tài)流水線靜態(tài)流水線:在同一時間內(nèi),多功能流水線中的各段只能按同一種功能的連接方式工作。動態(tài)流水線:在同一時間內(nèi),多功能流水線中的各段可以按照不同的方式連接,同時執(zhí)行多種功能。3.線性流水線與非線性流水線線性流水線:流水線的各段串行連接,沒有反饋回路。數(shù)據(jù)通過流水線中的各段時,每一個段最多只流過一次。非線性流水線:流水線中除了有串行的連接外,還有反饋回路。5. 表示方法:1. 連接圖:Figure 1 多功能流水線,可執(zhí)行乘與加2. 時空圖:Figure 2 靜態(tài): 加法完成

11、后再進行乘法。動態(tài):不要求加法完成6. 性能指標(biāo):1. 吞吐率:在單位時間內(nèi)流水線所完成的任務(wù)數(shù)量或輸出結(jié)果的數(shù)量。2. 加速比:完成同樣一批任務(wù),不使用流水線所用的時間與使用流水線所用的時間之比。3. 效率:流水線中的設(shè)備實際使用時間與整個運行時間的比值,即流水線設(shè)備的利用率。 n個任務(wù)實際占用的時空區(qū)/k個段總的時空區(qū)4. 當(dāng)流水線各段時間相等時,流水線的效率與吞吐率成正比。 Tk=(k+n-1) t E=TPt 5. 流水線的效率是流水線的實際加速比S與它的最大加速比k的比值。 從時空圖上看,效率就是n個任務(wù)占用的時空面積和k個段總的時空面之比。7. 流水線相關(guān):1. 數(shù)據(jù)相關(guān):數(shù)據(jù)相關(guān)

12、具有傳遞性,反映了數(shù)據(jù)的流動關(guān)系如果兩條指令使用相同的名,但是它們之間并沒有數(shù)據(jù)流動,則稱這兩條指令存在名相關(guān)。2. 名相關(guān):反相關(guān):如果指令j寫的名與指令i讀的名相同,則稱指令i和j發(fā)生了反相關(guān)。 指令j寫的名指令i讀的名輸出相關(guān):如果指令j和指令i寫相同的名,則稱指令i和j發(fā)生了輸出相關(guān)。 指令j寫的名指令i寫的名3. 控制相關(guān):控制相關(guān)是指由分支指令引起的相關(guān)8. 流水線沖突:1. 結(jié)構(gòu)沖突:因硬件資源滿足不了指令重疊執(zhí)行的要求而發(fā)生的沖突。2. 數(shù)據(jù)沖突:當(dāng)指令在流水線中重疊執(zhí)行時,因需要用到前面指令的執(zhí)行結(jié)果而發(fā)生的沖突。3. 控制沖突:流水線遇到分支指令和其他會改變PC值的指令所引

13、起的沖突。9. 解決流水線沖突:1. 數(shù)據(jù)沖突有:寫后讀沖突(RAW) 在 i 寫入之前,j 先去讀。 j 讀出的內(nèi)容是錯誤的。對應(yīng)于數(shù)據(jù)相關(guān)寫后寫沖突(WAW) 在 i 寫入之前,j 先寫。最后寫入的結(jié)果是 i 的。錯誤!對應(yīng)于輸出相關(guān)讀后寫沖突(WAR) 在 i 讀之前,j 先寫。i 讀出的內(nèi)容是錯誤的!由反相關(guān)引起。定向技術(shù):在某條指令產(chǎn)生計算結(jié)果之前,其他指令并不真正立即需要該計算結(jié)果,如果能夠?qū)⒃撚嬎憬Y(jié)果從其產(chǎn)生的地方直接送到其他指令需要它的地方,那么就可以避免停頓。流水線互鎖機制,插入“暫?!?。 作用:檢測發(fā)現(xiàn)數(shù)據(jù)沖突,并使流水線停頓,直至沖突消失。 依靠編譯器解決數(shù)據(jù)沖突 讓編譯

14、器重新組織指令順序來消除沖突,這種技術(shù)稱為指令調(diào)度或流水線調(diào)度。2控制沖突有:處理分支指令最簡單的方法:“凍結(jié)”或者“排空”流水線 。由分支指令引起的延遲稱為分支延遲。減少分支延遲的方法:預(yù)測分支失敗 允許分支指令后的指令繼續(xù)在流水線中流動,就好象什么都沒發(fā)生似的。若確定分支失敗,將分支指令看作是一條普通指令,流水線正常流動。若確定分支成功,流水線就把在分支指令之后取出的所有指令轉(zhuǎn)化為空操作,并按分支目地重新取指令執(zhí)行。要保證:分支結(jié)果出來之前不會改變處理機的狀態(tài),以便一旦猜錯時,處理機能夠回退到原先的狀態(tài)。預(yù)測分支成功 假設(shè)分支轉(zhuǎn)移成功,并從分支目標(biāo)地址處取指令執(zhí)行。起作用的前題:先知道分支

15、目標(biāo)地址,后知道分支是否成功。前述5段流水線中,這種方法沒有任何好處。延遲分支主要思想: 從邏輯上“延長”分支指令的執(zhí)行時間。把延遲分支看成是由原來的分支指令和若干個延遲槽構(gòu)成,不管分支是否成功,都要按順序執(zhí)行延遲槽中的指令。分支延遲指令的調(diào)度任務(wù):在延遲槽中放入有用的指令。由編譯器完成。能否帶來好處取決于編譯器能否把有用的指令調(diào)度到延遲槽中。三種調(diào)度方法: 從前調(diào)度、從目標(biāo)處調(diào)度、從失敗處調(diào)度² MIPS若檢測到RAW沖突,流水線互鎖機制必須在流水線中插入停頓,并使當(dāng)前正處于IF段和ID段的指令不再前進。分支指令的條件測試和分支目標(biāo)地址計算在EX段完成,對PC的修改在MEM段完成。

16、一條指令的執(zhí)行過程分為以下5個周期:1.取指令周期(IF)IR MemPC 。PC值加4。(假設(shè)每條指令占4個字節(jié))2.指令譯碼/讀寄存器周期(ID)譯碼。用IR中的寄存器編號去訪問通用寄存器組,讀出所需的操作數(shù)。3.執(zhí)行/有效地址計算周期(EX)不同指令所進行的操作不同:存儲器訪問指令:ALU把所指定的寄存器的內(nèi)容與偏移量相加,形成用于訪存的有效地址。寄存器寄存器ALU指令:ALU按照操作碼指定的操作對從通用寄存器組中讀取的數(shù)據(jù)進行運算。寄存器立即數(shù)ALU指令:ALU按照操作碼指定的操作對從通用寄存器組中讀取的第一操作數(shù)和立即數(shù)進行運算。分支指令:ALU把偏移量與PC值相加,形成轉(zhuǎn)移目標(biāo)的地

17、址。同時,對在前一個周期讀出的操作數(shù)進行判斷,確定分支是否成功。4存儲器訪問分支完成周期(MEM)該周期處理的指令只有l(wèi)oad、store和分支指令。其他類型的指令在此周期不做任何操作。load和store指令load指令:用上一個周期計算出的有效地址從存儲器中讀出相應(yīng)的數(shù)據(jù)。store指令:把指定的數(shù)據(jù)寫入這個有效地址所指出的存儲器單元。分支指令 分支“成功”,就把轉(zhuǎn)移目標(biāo)地址送入PC。 分支指令執(zhí)行完成。5.寫回周期(WB) ALU運算指令和load指令在這個周期把結(jié)果數(shù)據(jù)寫入通用寄存器組。 ALU運算指令:結(jié)果數(shù)據(jù)來自ALU。 load指令:結(jié)果數(shù)據(jù)來自存儲器系統(tǒng)。相關(guān):兩條指令之間存在

18、某種依賴關(guān)系。流水線沖突是指對于具體的流水線來說,由于相關(guān)的存在,使得指令流中的下一條指令不能在指定的時鐘周期執(zhí)行。 第四章:向量處理機1. 在流水線處理機中,設(shè)置向量數(shù)據(jù)表示和相應(yīng)的向量指令,稱為向量處理機。(不具有向量數(shù)據(jù)表示和相應(yīng)的向量指令的流水線處理機,稱為標(biāo)量處理機。)2. 處理方式:1.橫向(水平)處理方式向量計算是按行的方式從左到右橫向地進行。組成循環(huán)程序進行處理。i數(shù)據(jù)相關(guān):N次 功能切換:2N次不適合于向量處理機的并行處理。2.縱向 (垂直)處理方式向量計算是按列的方式從上到下縱向地進行。兩條向量指令之間:數(shù)據(jù)相關(guān):1次 功能切換:1次對處理機結(jié)構(gòu)的要求:存儲器存儲器結(jié)構(gòu)3.

19、縱橫 (分組)處理方式又稱為分組處理方式。把向量分成若干組,組內(nèi)按縱向方式處理,依次處理各組。對處理機結(jié)構(gòu)的要求:寄存器寄存器結(jié)構(gòu)3. 提高向量處理機性能的方法:1. 設(shè)置多個功能部件,使它們并行工作。2. 采用鏈接技術(shù),加快一串向量指令的執(zhí)行。3. 采用循環(huán)開采技術(shù),加快循環(huán)的處理。(分段開采:當(dāng)向量長度大于向量寄存器的長度,將向量分為長度相等的段)4. 采用多處理機系統(tǒng),進一步提高性能。4. 鏈接特征:具有先寫后讀相關(guān)的兩條指令,在不出現(xiàn)功能部件沖突和源向量沖突的情況下,可以把功能部件鏈接起來進行流水處理,以達(dá)到加快執(zhí)行的目的。鏈接特性的實質(zhì):把流水線定向的思想引入到向量執(zhí)行過程的結(jié)果。5

20、. 向量處理機性能的主要參數(shù):1. 一行向量長度為n指令的執(zhí)行時間Tvp=Ts+Te+(n-1)Tc(Ts為向量處理部件建立的時間,Te為流水線的通過時間,Tc為流水線的時鐘周期時間。2. 每秒多少個浮點運算結(jié)果(MFLOP或一個浮點運算的時間)3. 一組向量指令的處理時間4. 向量流水線的最大性能R5. 半性能向量長度n1/2第5章 指令級并行這種指令之間存在的潛在并行性稱為指令級并行。指令級并行度ILP:指令中存在的一種并行性,計算機可以并行執(zhí)行兩條及以上的指令。開發(fā)ILP的途徑有兩種:1.資源重復(fù)(主要基于硬件的動態(tài)開發(fā)方法) 2.流水線技術(shù)。(基于軟件的靜態(tài)開發(fā)方法)1. 流水線處理機

21、的實際CPI理想流水線的CPI加上各類停頓的時鐘周期數(shù): CPI流水線 = CPI理想 + 停頓結(jié)構(gòu)沖突 + 停頓數(shù)據(jù)沖突 + 停頓控制沖突理想CPI是衡量流水線最高性能的一個指標(biāo)。動態(tài)分支預(yù)測:在程序運行時,根據(jù)分支指令過去的表現(xiàn)來預(yù)測其將來的行為。2. 分支歷史表BHT(Branch History Table)或分支預(yù)測緩沖器(Branch Prediciton Buffer)最簡單的動態(tài)分支預(yù)測方法。 用BHT來記錄分支指令最近一次或幾次的執(zhí)行情況(成功或不成功),并據(jù)此進行預(yù)測。 BTB目標(biāo):將分支的開銷降為 0方法:分支目標(biāo)緩沖將分支成功的分支指令的地址和它的分支目標(biāo)地址都放到一個

22、緩沖區(qū)中保存起來,緩沖區(qū)以分支指令的地址作為標(biāo)識。這個緩沖區(qū)就是分支目標(biāo)緩沖器(Branch-Target Buffer,簡記為BTB,或者Branch-Target Cache)。3. 開發(fā)ILP的兩種方法:1. 記分牌動態(tài)調(diào)度算法目標(biāo):在沒有結(jié)構(gòu)沖突時,盡早執(zhí)行沒有數(shù)據(jù)沖突的指令(指令執(zhí)行時可以跨越,但是在輸出段都是按序流出的),實現(xiàn)每個時鐘周期執(zhí)行一條指令。記分牌硬件的實現(xiàn):1.記分牌中維護著三張表,分別記錄指令的執(zhí)行狀態(tài)、寄存器的狀態(tài)、功能部件狀態(tài)、數(shù)據(jù)相關(guān)關(guān)系。 2.它把流水線的譯碼段ID分為了兩個段:流出和讀操作數(shù)。記分牌流水線處理步驟:1) 流出(ID)如果當(dāng)前流出指令所需的功能

23、部件空閑(無結(jié)構(gòu)沖突),并且其它執(zhí)行指令的目的寄存器與該指令的不同(無WAW沖突),記分牌就向功能部件流出該指令,并修改記分牌內(nèi)部的記錄表。2) 讀操作數(shù)(ID)監(jiān)測源操作數(shù)的可用性(前面已流出并且正在執(zhí)行的指令都不對該寄存器進行寫操作),如果數(shù)據(jù)可用,它就通知功能部件從寄存器中讀出源操作數(shù)并開始執(zhí)行3) 執(zhí)行(EX)取到操作數(shù)則開始執(zhí)行,產(chǎn)生出結(jié)果后,就通知記分牌它已經(jīng)執(zhí)行完成4) 寫結(jié)果(WB)若WAR沖突已經(jīng)消失,記分牌則通知功能部件把結(jié)果寫入目的寄存器記分牌三張表:1) 指令狀態(tài)表2) 功能部件狀態(tài)表,每個部件有一項,每一項由以下9個字段組成:Busy:忙標(biāo)志,指出功能部件是否忙。初值

24、為“no”;Op:該功能部件正在執(zhí)行或?qū)⒁獔?zhí)行的操作;Fi:目的寄存器編號;Fj,F(xiàn)k:源寄存器編號;Qj,Qk:指出向源寄存器Fj、Fk寫數(shù)據(jù)的功能部件 ;Rj,Rk:標(biāo)志位,“yes”表示Fj,F(xiàn)k中的操作數(shù)就緒且還未被取走。否則就被置為“no”。3) 結(jié)果寄存器狀態(tài)表:指出哪個功能部件將結(jié)果寫入寄存器2. Tomasulo動態(tài)調(diào)度算法:1. 基本思想:記錄和監(jiān)測指令相關(guān),操作數(shù)一旦就緒就立即執(zhí)行,把發(fā)生RAW沖突的可能性減小到最小。通過寄存器換名來消除WAR沖突和WAW沖突2. 基本結(jié)構(gòu):(1) 保留站:保存已經(jīng)流出并等待到本功能部件執(zhí)行的指令,在保留站通過流出邏輯來完成的寄存器換名(順

25、序流出,亂序執(zhí)行 )(2) 公共數(shù)據(jù)總線(CDB):所有功能部件計算結(jié)果都送到CDB,由它把這些結(jié)果直接送到各個需要該結(jié)果的地方(亂序完成)(3) Load/store緩沖器:作用是存放計算有效地址的分量。記錄正在進行的load訪存,等待存儲器的響應(yīng)/保存正在進行store訪存的目標(biāo)地址,等待存儲數(shù)據(jù)的到達(dá)。保存完成了的load的結(jié)果(從存儲器取來的數(shù)據(jù))/保存該store的地址和數(shù)據(jù)3. 指令執(zhí)行步驟:1) 流出2) 執(zhí)行3) 寫結(jié)果2.基本程序塊:一段除了入口和出口以外不包含其他分支的線性代碼段。3.循環(huán)級并行:使一個循環(huán)中的不同循環(huán)體并行執(zhí)行。4.程序順序:由源程序確定的在完全串行方式下

26、指令的執(zhí)行順序。保持異常行為是指:無論怎么改變指令的執(zhí)行順序,都不能改變程序中異常的發(fā)生情況。數(shù)據(jù)流:指數(shù)據(jù)值從其產(chǎn)生者指令到其消費者指令的實際流動。靜態(tài)調(diào)度依靠編譯器對代碼進行靜態(tài)調(diào)度,以減少相關(guān)和沖突。它不是在程序執(zhí)行的過程中、而是在編譯期間進行代碼調(diào)度和優(yōu)化。通過把相關(guān)的指令拉開距離來減少可能產(chǎn)生的停頓。動態(tài)調(diào)度在程序的執(zhí)行過程中,依靠專門硬件對代碼進行調(diào)度,減少數(shù)據(jù)相關(guān)導(dǎo)致的停頓不精確異常:當(dāng)執(zhí)行指令i導(dǎo)致發(fā)生異常時,處理機的現(xiàn)場(狀態(tài))與嚴(yán)格按程序順序執(zhí)行時指令i的現(xiàn)場不同。精確異常:如果發(fā)生異常時,處理機的現(xiàn)場跟嚴(yán)格按程序順序執(zhí)行時指令i的現(xiàn)場相同。記分牌算法和Tomasulo算法

27、是兩種比較典型的動態(tài)調(diào)度算法。Tomasulo算法基本思想 1.核心思想記錄和檢測指令相關(guān),操作數(shù)一旦就緒就立即執(zhí)行,把發(fā)生RAW(read and write)沖突的可能性減少到最小;通過寄存器換名來消除WAR沖突和WAW沖突。更多地依賴于硬件寄存器換名可以消除WAR沖突和WAW沖突。寄存器換名是通過保留站和流出邏輯來共同完成的。Tomasulo算法具有以下兩個特點:沖突檢測和指令執(zhí)行控制是分布的。每個功能部件的保留站中的信息決定了什么時候指令可以在該功能部件開始執(zhí)行。計算結(jié)果通過CDB直接從產(chǎn)生它的保留站傳送到所有需要它的功能部件,而不用經(jīng)過寄存器。每個保留站有以下幾個字段:Op:要對源操

28、作數(shù)進行的操作。Qj,Qk:將產(chǎn)生源操作數(shù)的保留站號。等于0表示操作數(shù)已經(jīng)就緒且在Vj或Vk中,或者不需要操作數(shù)。Vj,Vk:源操作數(shù)的值。對于每一個操作數(shù)來說,V或Q字段只有一個有效。對于load來說,Vk字段用于保存偏移量。Busy:為“yes”表示本保留站或緩沖單元“忙”。A:僅load和store緩沖器有該字段。開始是存放指令中的立即數(shù)字段,地址計算后存放有效地址。循環(huán)展開和指令調(diào)度增加指令間并行性最簡單和最常用的方法開發(fā)循環(huán)級并行性循環(huán)的不同迭代之間存在的并行性。在把循環(huán)展開后,通過重命名和指令調(diào)度來開發(fā)更多的并行性。 編譯器完成這種指令調(diào)度的能力受限于兩個特性:程序固有的指令級并行

29、性;流水線功能部件的執(zhí)行延遲。循環(huán)展開和指令調(diào)度時要注意以下幾個方面:保證正確性。在循環(huán)展開和調(diào)度過程中尤其要注意兩個地方的正確性:循環(huán)控制,操作數(shù)偏移量的修改。注意有效性。只有能夠找到不同循環(huán)體之間的無關(guān)性,才能有效地使用循環(huán)展開。使用不同的寄存器。(否則可能導(dǎo)致新的沖突)刪除多余的測試指令和分支指令,并對循環(huán)結(jié)束代碼和新的循環(huán)體代碼進行相應(yīng)的修正。注意對存儲器數(shù)據(jù)的相關(guān)性分析 例如:對于load指令和store指令,如果它們在不同的循環(huán)迭代中訪問的存儲器地址是不同的,它們就是相互獨立的,可以相互對調(diào)。注意新的相關(guān)性 由于原循環(huán)不同次的迭代在展開后都到了同一次循環(huán)體中,因此可能帶來新的相關(guān)性

30、。 第九章 動態(tài)互聯(lián)網(wǎng)絡(luò)互聯(lián)網(wǎng)絡(luò)是一種開關(guān)元件按照一定的拓?fù)浣Y(jié)構(gòu)和控制方式構(gòu)成的網(wǎng)絡(luò),用來實現(xiàn)計算機系統(tǒng)中節(jié)點之間的相互連接動態(tài)網(wǎng)絡(luò)分類:總線網(wǎng)絡(luò)、多級互聯(lián)網(wǎng)絡(luò)、交叉開關(guān)網(wǎng)絡(luò)互聯(lián)網(wǎng)絡(luò)三要素:互聯(lián)結(jié)構(gòu)、開關(guān)和控制方式1. 基本互聯(lián)函數(shù):1) 交換函數(shù):二進制地址編碼中第k位互反的輸入端與輸出端之間的連接。2) 均勻洗牌網(wǎng)絡(luò)。3) PM2I函數(shù):PM2+1X=X+2imodN PM2-1X=X-2imodN2. 互聯(lián)網(wǎng)絡(luò)的結(jié)構(gòu)參數(shù):1) 網(wǎng)絡(luò)規(guī)模N:指互聯(lián)網(wǎng)絡(luò)中節(jié)點的個數(shù)。它表示該網(wǎng)絡(luò)所能連接的部件的數(shù)量。網(wǎng)絡(luò)規(guī)模越大,這個互聯(lián)網(wǎng)絡(luò)的連接能力越強2) 節(jié)點度d:指互聯(lián)網(wǎng)絡(luò)中節(jié)點所連接的邊數(shù),包括入度,出度。3) 節(jié)點距離:從一個節(jié)點到另一個節(jié)點終止所需要跨越邊數(shù)的最小值4) 網(wǎng)絡(luò)直徑D:指網(wǎng)絡(luò)中任意兩個節(jié)點之間距離的最大值(網(wǎng)絡(luò)直徑越小越好)5) 等分寬度b(主要反映網(wǎng)絡(luò)的最大流量):把由N個節(jié)點構(gòu)成的網(wǎng)絡(luò)切成節(jié)點數(shù)相同的(N/2)的兩半,在各種切法中,沿切口邊數(shù)的最小值稱為該網(wǎng)絡(luò)的等分寬度。而線等分寬度位B=b×(通道寬度,單位是位數(shù))6) 對稱性:從任意節(jié)

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論