




下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、計算機體系結構知識點總結作者:日期:#5第一章計算機體系結構的基本概念1. 計算機系統(tǒng)結構的經典定義程序員所看到的計算機屬性,即 概念性結構與功能特性。(計算機組成:指計算機系統(tǒng)結構的邏輯實現(xiàn)。計算機實現(xiàn):計算機組成的 物理實現(xiàn))2. 計算機系統(tǒng)的多級層次結構:1. 虛擬機:應用語言機器-> 高級語言機器-> 匯編語言機器-> 操作系統(tǒng)機器2. 物理機:傳統(tǒng)機器語言機器-> 微程序機器3. 透明性:在計算機技術中,把這種本來存在的事物或屬性,但從某種角度看又好像不存在的概念稱為透明性。4. 編譯:先用轉換程序把高一級機器上的程序轉換為低一級機器上等效的程序5. 解釋:對
2、于高一級機器上的程序中的每一條語句或指令,都轉去執(zhí)行低一級 機器上的一段等效程序。6. 常見的計算機系統(tǒng)結構分類法有兩種:Flynn分類法、馮氏分類法(按系統(tǒng)并行度?:計算機系統(tǒng)在單位時間內能處理的最大二進制位數(shù))進行分類。(SISD) (SIMD) (MISD) (MIMD)Flynn分類法把計算機系統(tǒng)的結構分為 4類: 單指令流單數(shù)據(jù)流 單指令流多數(shù)據(jù)流 多指令流單數(shù)據(jù)流 多指令流多數(shù)據(jù)流IS指令流,DS數(shù)據(jù)流,CS(控制流),CU(控制部件),PU(處理部件), MM SM (表示存儲器)1.大概率事件優(yōu)先原理(分配更多資源,達到更高性能)?(加速前)17. 計算機設計的定量原理:2.
3、Amdah定理:加速比:? ?(十=”守為可改進比例(可 改進部分的執(zhí)行時間/總的執(zhí)行時間),Se為部件加速比(改進前/改進后)3. 程序的局部性原理:時間局部性:程序即將使用的信息很可能是目前使用的 信息。空間局部性:即將用到的信息可能與目前用到的信息在空間上相鄰或 相近。4. CPU性能公式:1. 時鐘周期時間2. CPI: CPI =執(zhí)行程序所需的時鐘周期數(shù)/ ICACPI-ZS(U刊心)/Ih-SX 辺用72-13. IC(程序所執(zhí)行的指令條數(shù))8. 并行性:計算機系統(tǒng)在同一時刻或者同一時間間隔內進行多種運算或操作。同時性:兩個或兩個以上的事件在同一時刻發(fā)生。 并發(fā)性:兩個或兩個以上的
4、事件在同一時間間隔內發(fā)生。從處理數(shù)據(jù)的角度來看,并行性等級從低到高可分為:1. 字串位串:每次只對一個字的一位進行處理。最基本的串行處理方式,不存在并行性。2. 字串位并:同時對一個字的全部位進行處理,不同字之間是串行的。開始出現(xiàn)并行性。3. 字并位串:同時對許多字的同一位(稱為位片)進行處理。具有較高的并行性。4. 全并行:同時對許多字的全部位或部分位進行處理。最高一級的并行。從執(zhí)行程序的角度來看,并行性等級從低到高可分為:1. 指令內部并行:單條指令中各微操作之間的并行。2. 指令級并行:并行執(zhí)行兩條或兩條以上的指令。3. 線程級并行:并行執(zhí)行兩個或兩個以上的線程。通常是以一個進程內派生的
5、多個線程為調度單位。4. 任務級或過程級并行:并行執(zhí)行兩個或兩個以上的過程或任務(程序 段)以子程序或進程為調度單元。5. 作業(yè)或程序級并行:并行執(zhí)行兩個或兩個以上的作業(yè)或程序。提高并行性的技術途徑:1. 時間重疊引入時間因素,讓多個處理過程在時間上相互錯開,輪流重疊地使用 同一套硬件設備的各個部分,以加快硬件周轉而贏得速度。2. 資源重復引入空間因素,以數(shù)量取勝。通過重復設置硬件資源,大幅度地提高 計算機系統(tǒng)的性能。3. 資源共享這是一種軟件方法,它使多個任務按一定時間順序輪流使用同一套硬件設 備。3.系列機 由同一廠家生產的具有相同系統(tǒng)結構、 但具有不同組成和實現(xiàn)的一系列不同型號 的計算機
6、。7.存儲程序原理的基本點:指令驅動8. 馮諾依曼結構的主要特點1. 以運算器為中心。2. 在存儲器中,指令和數(shù)據(jù)同等對待。指令和數(shù)據(jù)一樣可以進行運算,即由指令組成的程序是可以修改的。3. 存儲器是按地址訪問、按順序線性編址的一維結構,每個單元的位數(shù)是固 定的。4. 指令的執(zhí)行是順序的5. 指令由操作碼和地址碼組成。6. 指令和數(shù)據(jù)均以二進制編碼表示,采用二進制運算。9. 軟件的可移植性一個軟件可以不經修改或者只需少量修改就可以由一臺計算機移植到另一 臺計算機上正確地運行。差別只是執(zhí)行時間的不同。我們稱這兩臺計算機是 軟件兼容的。實現(xiàn)可移植性的常用方法:采用系列機、模擬與仿真、統(tǒng)一高級語言。軟
7、件兼容:向上(下)兼容:按某檔機器編制的程序,不加修改就能運行于比它高(低) 檔的機器。向前(后)兼容:按某個時期投入市場的某種型號機器編制的程序,不加修 改地就能運行于在它之前(后)投入市場的機器。向后兼容是系列機的根本特征。兼容機:由不同公司廠家生產的具有相同系統(tǒng)結構的計算機。第二章計算機指令集結構1. CPU中用來存儲操作數(shù)的存儲單元的 主要類型:堆棧、累加器、通用寄存器組2.通用寄存器型指令集結構進一步細分為3種類型寄存器-寄存器型(RR型)寄存器-存儲器型(RM型)存儲器-存儲器型(MM型)3.指令集結構的設計主要考慮3個因素:速度、成本、靈活性對指令集的基本要求:完整性、規(guī)整性、高
8、效率、兼容性4.設計RISC機器遵循的原則1. 指令條數(shù)少而簡單。只選取使用頻度很高的指令,在此基礎上補充一些最有 用的指令。32位或642. 采用簡單而又統(tǒng)一的指令格式,并減少尋址方式;指令字長都為 位。3. 指令的執(zhí)行在單個機器周期內完成。(采用流水線機制)4. 只有l(wèi)oad和store指令才能訪問存儲器,其他指令的操作都是在寄存器之間 進行。(即采用load-store結構)5. 大多數(shù)指令都采用硬連邏輯來實現(xiàn)。6. 強調優(yōu)化編譯器的作用,為高級語言程序生成優(yōu)化的代碼。7. 充分利用流水技術來提高性能。5. 指令由兩部分組成:操作碼、地址碼指令集的3種編碼格式:變長編碼格式、定長編碼格式
9、、混合型編碼格式第三章流水線技術.3.4.5.流水線技術:把一個重復的過程分解為 若干個子過程,每個子過程由專門的功能部 件來實現(xiàn)。把多個處理過程 在時間上錯開,依次通過各功能段 ,這樣,每個子過程 就可以與其他的子過程并行進行。(流水線中的每個子過程及其功能部件稱為 線的級或段,段與段相互連接形成流水線。流水線的段數(shù)稱為流水線的深度CPU流水線:IF (取指令):根據(jù)PC值從指令內存中讀取一條指令,并且設置下一周期的 ID (解碼):根據(jù)操作碼從指令中提取操作數(shù)。EX (執(zhí)行):執(zhí)行指令 ME(內存操作)WB(回寫):修改寄存器流水。)PC值。3.ALUbsahchO'
10、IDil匹.徒春存斟EX丹算臟目融it. 設a知碼HEWB通過時間:第一個任務從進入流水線到流出結果所需的時間。 排空時間:最后一個任務從進入流水線到流出結果所需的時間。4.流水線分類:1.單功能流水線與多功能流水線 單功能流水線:只能完成一種固定功能的流水線。 多功能流水線:流水線的各段可以進行不同的連接,以實現(xiàn)不同的功能。2.靜態(tài)流水線與動態(tài)流水線靜態(tài)流水線:在同一時間內,多功能流水線中的各段只能按同一種功能的連接方式 工作。動態(tài)流水線:在同一時間內,多功能流水線中的各段可以按照不同的方式連接,同 時執(zhí)行多種功能。3.線性流水線與非線性流水線線性流水線:流水線的各段串行連接, 沒有反饋回路
11、。數(shù)據(jù)通過流水線中的各段時, 每一個段最多只流過一次。非線性流水線:流水線中除了有串行的連接外,還有反饋回路。5.1.表示方法: 連接圖:2.時空圖:Figure 1多功能流水線,可執(zhí)行乘與加* IY f; J 囹:L W 加、衆(zhòng);丄業(yè)尿.木紐Figure 2靜態(tài):加法完成后再進行乘法。動態(tài):不要求加法完成6. 性能指標:1. 吞吐率:在單位時間內流水線所完成的任務數(shù)量或輸出結果的數(shù)量。TP Tk2. 加速比:完成同樣一批任務,不使用流水線所用的時間與使用流水線所用的 時間之比。3. 效率:流水線中的設備實際使用時間與整個運行時間的比值,即流水線設備 的利用率。E廠匕n個任務實際占用的時空區(qū)/
12、k個段總的時空區(qū)4. 當流水線各段時間相等時,流水線的效率與吞吐率成正比。nTP Tk Tk=(k+n-1) t E=TP t5. 流水線的效率是流水線的實際加速比S與它的最大加速比k的比值。E=S S=-k k n 1從時空圖上看,效率就是n個任務占用的時空面積和k個段總的時空面 之比。7. 流水線相關:1. 數(shù)據(jù)相關:數(shù)據(jù)相關具有傳遞性,反映了數(shù)據(jù)的流動關系如果兩條指令使用 相同的名,但是它們之間并沒有數(shù)據(jù)流動,則稱這兩條指令存在名相關。2. 名相關:反相關:如果指令j寫的名與指令i讀的名相同,則稱指令i和j發(fā)生了 反相關。指令j寫的名=指令i讀的名輸出相關:如果指令j和指令i寫相同的名,
13、則稱指令i和j發(fā)生了輸出 相關。指令j寫的名=指令i寫的名3. 控制相關:控制相關是指由分支指令引起的相關8. 流水線沖突:1. 結構沖突:因硬件資源滿足不了指令重疊執(zhí)行的要求而發(fā)生的沖突。2. 數(shù)據(jù)沖突:當指令在流水線中重疊執(zhí)行時,因需要用到前面指令的執(zhí)行結果 而發(fā)生的沖突。3. 控制沖突:流水線遇到分支指令和其他會改變PC值的指令所引起的沖突。9. 解決流水線沖突:1. 數(shù)據(jù)沖突有:寫后讀沖突(RAW)在i寫入之前,j先去讀。j讀出的內容是錯誤的。對應于數(shù)據(jù)相關 寫后寫沖突(WAW)在i寫入之前,j先寫。最后寫入的結果是i的。錯誤!對應于輸出相 關讀后寫沖突(WAR)在i讀之前,j先寫。i
14、讀出的內容是錯誤的!由反相關引起。定向技術:在某條指令產生計算結果之前,其他指令并不真正立即需要該計算結果,如果能夠將該計算結果從其產生的地方直接送到其他指令需要它的地方,那么就可以避免停頓。流水線互鎖機制,插入“暫停”。作用:檢測發(fā)現(xiàn)數(shù)據(jù)沖突,并使流水線停頓,直至沖突消失。 依靠編譯器解決數(shù)據(jù)沖突讓編譯器重新組織指令順序來消除沖突,這種技術稱為指令調度或流水線調 度。2. 控制沖突有:處理分支指令最簡單的方法: 凍結”或者 排空”流水線。 由分支指令引起的延遲稱為分支延遲。減少分支延遲的方法:預測分支失敗允許分支指令后的指令繼續(xù)在流水線中流動,就好象什么都沒發(fā)生似的。若確定分支失敗,將分支指
15、令看作是一條普通指令,流水線正常流動。若確定分支成功,流水線就把在分支指令之后取出的所有指令轉化為空操作, 并按分支目地重新取指令執(zhí)行。要保證:分支結果出來之前不會改變處理機的狀態(tài), 以便一旦猜錯時,處理機 能夠回退到原先的狀態(tài)。預測分支成功假設分支轉移成功,并從分支目標地址處取指令執(zhí)行。起作用的前題:先知道分支目標地址,后知道分支是否成功。前述5段流水線中,這種方法沒有任何好處。延遲分支r主要思想:從邏輯上延長”分支指令的執(zhí)行時間。把延遲分支看成是由原來的分支 指令和若干個延遲槽構成,不管分支是否成功,都要按順序執(zhí)行延遲槽中的指令。分支延遲指令的調度任務:在延遲槽中放入有用的指令。由編譯器完
16、成。能否帶來好處取決于編譯器能否把有用的指令調度到延遲槽中。三種調度方法:從前調度、從目標處調度、從失敗處調度MIPS若檢測到RAW沖突,流水線互鎖機制必須在流水線中插入停頓,并使當前正 處于IF段和ID段的指令不再前進。分支指令的條件測試和分支目標地址計算在 EX段完成,對PC的修改在MEM 段完成。一條指令的執(zhí)行過程分為以下 5個周期:1取指令周期(IF)Mem PC。IR JPC值加4。(假設每條指令占4個字節(jié))2. 指令譯碼/讀寄存器周期(ID) 譯碼。用IR中的寄存器編號去訪問通用寄存器組,讀出所需的操作數(shù)。3. 執(zhí)行/有效地址計算周期(EX不同指令所進行的操作不同:存儲器訪問指令:
17、ALU把所指定的寄存器的內容與偏移量相加,形成用于訪存的有效地址。寄存器-寄存器ALU指令:ALU按照操作碼指定的操作對從通用寄存器組中 讀取的數(shù)據(jù)進行運算。寄存器-立即數(shù)ALU指令:ALU按照操作碼指定的操作對從通用寄存器組中 讀取的第一操作數(shù)和立即數(shù)進行運算。分支指令:ALU把偏移量與PC值相加,形成轉移目標的地址。同時,對在 前一個周期讀出的操作數(shù)進行判斷,確定分支是否成功。4存儲器訪問/分支完成周期(MEM)該周期處理的指令只有l(wèi)oad、store和分支指令。其他類型的指令在此周期不 做任何操作。load和 store指令load指令:用上一個周期計算出的有效地址從存儲器中讀出相應的數(shù)
18、據(jù)。store指令:把指定的數(shù)據(jù)寫入這個有效地址所指出的存儲器單元。分支指令分支“成功”,就把轉移目標地址送入PG 分支指令執(zhí)行完成。5. 寫回周期(WB)ALU運算指令和load指令在這個周期把結果數(shù)據(jù)寫入通用寄存器組。ALU運算指令:結果數(shù)據(jù)來自ALULload指令:結果數(shù)據(jù)來自存儲器系統(tǒng)。相關:兩條指令之間存在某種依賴關系。流水線沖突是指對于具體的流水線來說, 由于相關的存在,使得指 令流中的下一條指令不能在指定的時鐘周期執(zhí)行。1. 在流水線處理機中,設置向量數(shù)據(jù)表示和相應的向量指令, 稱為向量處理機。(不具有向量數(shù)據(jù)表示和相應的向量指令的流水線處理機,稱為標量處理 機。)2. 處理方式
19、:1.橫向(水平)處理方式向量計算是按行的方式從左到右橫向地進行。 組成循環(huán)程序進行處理。i數(shù)據(jù)相關:N次 功能切換:2N次 不適合于向量處理機的并行處理。2. 縱向(垂直)處理方式向量計算是按列的方式從上到下縱向地進行。兩條向量指令之間:數(shù)據(jù)相關: 1次 功能切換:1次 對處理機結構的要求:存儲器-存儲器結構3.縱橫(分組)處理方式又稱為分組處理方式。把向量分成若干組,組內按縱向方式處理,依次處理各組。 對處理機結構的要求: 寄存器-寄存器結構3.提高向量處理機性能的方法:1. 設置多個功能部件,使它們并行工作。2. 米用鏈接技術,加快一串向量指令的執(zhí)行。3. 采用循環(huán)開采技術,加快循環(huán)的處
20、理。(分段開采:當向量長度大于向量寄 存器的長度,將向量分為長度相等的段)4. 采用多處理機系統(tǒng),進一步提高性能。4. 鏈接特征:具有先寫后讀相關的兩條指令,在不出現(xiàn)功能部件沖突和源向量 沖突的情況下,可以把功能部件鏈接起來進行流水處理,以達到加快執(zhí)行的 目的。5.1.鏈接特性的實質:把流水線定向的思想引入到向量執(zhí)行過程的結果。 向量處理機性能的主要參數(shù): 行向量長度為n指令的執(zhí)行時I可?= ?+ ?+ (?- 1)? (?為向量處理部件建立的時間,??為流水線的通過時間,?為流水線的時鐘周期時間。2.每秒多少個浮點運算結果(MFLO或一個浮點運算的時間)3. 一組向量指令的處理時間4. 向量
21、流水線的最大性能5. 半性能向量長度n1/2第5章指令級并行這種指令之間存在的潛在并行性稱為指令級并行。指令級并行度ILP:指令中存在的一種并行性,計算機可以并行執(zhí)行兩條及以上的指令。開發(fā)ILP的途徑有兩種:1.資源重復(主要基于硬件的動態(tài)開發(fā)方法)2.流水線技術。(基于軟件的靜態(tài)開發(fā)方法)1.流水線處理機的實際CPI理想流水線的CPI加上各類停頓的時鐘周期數(shù):CPI 流水線=CPI理想+停頓結構沖突+停頓數(shù)據(jù)沖突+停頓控 制沖突理想CPI是衡量流水線最高性能的一個指標。動態(tài)分支預測:在程序運行時,根據(jù)分支指令過去的表現(xiàn)來預測其將來的行為。2. 分支歷史表BHT( Branch History
22、 Table )或分支預測緩沖器(Branch P redicit on Buffer)最簡單的動態(tài)分支預測方法。用BHT來記錄分支指令最近一次或幾次的執(zhí)行情況(成功或不成功), 并據(jù)此進行預測。兩位分支預測的狀態(tài)轉換如下所示:目標:將分支的開銷降為0 方法:分支目標緩沖將分支成功的分支指令的地址和它的分支目標地址都放到一個緩沖區(qū)中保存 起來,緩沖區(qū)以分支指令的地址作為標識。這個緩沖區(qū)就是分支目標緩沖器(Branch-Target Buffer,簡記為BTB或者 Branch-Target Cache )。3. 開發(fā)ILP的兩種方法:1.記分牌動態(tài)調度算法奇存器目標:在沒有結構沖突時,盡早執(zhí)行
23、沒有數(shù)據(jù)沖突的指令 (指令執(zhí)行時可 以跨越,但是在輸出段都是按序流出的),實現(xiàn)每個時鐘周期執(zhí)行一條指 令。13記分牌硬件的實現(xiàn):1.記分牌中維護著三張表,分別記錄指令的執(zhí)行狀態(tài)、 寄存器的狀態(tài)、功能部件狀態(tài)、數(shù)據(jù)相關關系。2.它把流水線的譯碼段 ID分為了兩個段:流出和讀操作數(shù)。記分牌流水線處理步驟:1)流出(ID)如果當前流出指令所需的功能部件空閑(無結構沖突),并且其它執(zhí) 行指令的目的寄存器與該指令的不同(無 WAV沖突),記分牌就向功 能部件流出該指令,并修改記分牌內部的記錄表。2)讀操作數(shù)(ID)監(jiān)測源操作數(shù)的可用性(前面已流出并且正在執(zhí)行的指令都不對該寄 存器進行寫操作),如果數(shù)據(jù)可
24、用,它就通知功能部件從寄存器中讀 出源操作數(shù)并開始執(zhí)行3)執(zhí)行(EX取到操作數(shù)則開始執(zhí)行,產生出結果后,就通知記分牌它已經執(zhí)行完成4)寫結果(WB若WAR中突已經消失,記分牌則通知功能部件把結果寫入目的寄存器1)記分牌三張表:指令狀態(tài)表3)17抬令-指令狀態(tài)表J流出”讀嫌作數(shù)-執(zhí)行+LJ>F634(R2)aLJ)ad"aMDLU)Rb F打 F4pp¥QSUB*Drs, F6.Vq¥aDIV.Dno, FO, F眞£匸扌ADD'Drd, FS, Fl"十2)功能部件狀態(tài)表,每個部件有一項,每一項由以下9個字段組成:Busy:忙標志
25、,指出功能部件是否忙。初值為“ no”;Op:該功能部件正在執(zhí)行或將要執(zhí)行的操作;Fi :目的寄存器編號;Fj,F(xiàn)k:源寄存器編號;Qj,Qk指出向源寄存器Fj、Fk寫數(shù)據(jù)的功能部件;Rj,Rk:標志位,“ yes ”表示Fj,F(xiàn)k中的操作數(shù)就緒且還未被 取走。否則就被置為“ no”。部件名稱OppFi.F”Q卜Q4Rk.IntegerVfS-IDF2RJ!*tMbMuttv«feMVLLD¥1IntegMv*tio<y怡Add.SlIKEkR+Integery母'im>DividevesvDIVAnoF6Midth+tioy3)2.1.2.Tomasu
26、lo動態(tài)調度算法:基本思想:記錄和監(jiān)測指令相關,操作數(shù)一旦就緒就立即執(zhí)行,把發(fā)生RAW 沖突的可能性減小到最小。通過寄存器換名來消除基本結構:WAR中突和WAW沖突從t怪令部評*結果寄存器狀態(tài)表:指出哪個功能部件將結果寫入寄存器(1)保留站:保存已經流出并等待到本功能部件執(zhí)行的指令,在保留站通過流出邏輯來完成的寄存器換名(順序流出,亂序執(zhí)行)(2)公共數(shù)據(jù)總線(CDB :所有功能部件計算結果都送到 CDB由它把這些 結果直接送到各個需要該結果的地方(亂序完成)(3)Load/store緩沖器:作用是存放計算有效地址的分量。記錄正在進 行的load訪存,等待存儲器的響應/保存正在進行store訪
27、存的目標地址, 等待存儲數(shù)據(jù)的到達。保存完成了的load的結果(從存儲器取來的數(shù)據(jù)) /保存該store的地址和數(shù)據(jù)3.1)2)指令執(zhí)行步驟:流出執(zhí)行寫結果指令頂行寫結果L.DF6,54(R2>*LJ>HP , 45( KI)Ml IJIMh F2mSVB.DFS. Fft , F2IHWVDFIO , FO . F6hHADHDF6趴F2% '14名晝:別忙Opv.ivkQjhLuudlno1Lciad2yesI LDKJAdd1SUBMPioIM+lfef:訂凹 111(iiid2Add2yosADD血汕1 ih3d2'AddsnoUijl LIyesIfIJI
28、.RefifFljl.udd211ijU2yesDIVM.erhl + Ptie3ER21Mu H lI'OF21怕F8卜101« "J 30QiMui 11 L(jiid3Adhll2AdJIWu(-2-2.基本程序塊:一段除了入口和出口以外不包含其他分支的線性代碼段。3. 循環(huán)級并行:使一個循環(huán)中的不同循環(huán)體并行執(zhí)行。4. 程序順序:由源程序確定的在完全串行方式下指令的執(zhí)行順序。保持異常行為是指:無論怎么改變指令的執(zhí)行順序,都不能改變程序中異常的 發(fā)生情況。數(shù)據(jù)流:指數(shù)據(jù)值從其產生者指令到其消費者指令的實際流動。靜態(tài)調度依靠編譯器對代碼進行靜態(tài)調度,以減少相關和
29、沖突。它不是在程序執(zhí)行的過程中、而是在編譯期間進行代碼調度和優(yōu)化。 通過把相關的指令拉開距離來減少可能產生的停頓。動態(tài)調度在程序的執(zhí)行過程中,依靠專門硬件對代碼進行調度,減少數(shù)據(jù)相關導致的停頓不精確異常:當執(zhí)行指令i導致發(fā)生異常時,處理機的現(xiàn)場(狀態(tài))與嚴格按 程序順序執(zhí)行時指令i的現(xiàn)場不同。精確異常:如果發(fā)生異常時,處理機的現(xiàn)場跟嚴格按程序順序執(zhí)行時指令i的現(xiàn)場相同。記分牌算法和Tomasulo算法是兩種比較典型的動態(tài)調度算法。Tomasulo算法基本思想1.核心思想記錄和檢測指令相關,操作數(shù)一旦就緒就立即執(zhí)行,把發(fā)生RAW( read andwrite)沖突的可能性減少到最小;通過寄存器換
30、名來消除 WAR沖突和WAW沖突。更多地依賴于硬件寄存器換名可以消除 WAR沖突和WAW沖突。 寄存器換名是通過保留站和流出邏輯來共同完成的。Tomasulo算法具有以下兩個特點:沖突檢測和指令執(zhí)行控制是分布的。每個功能部件的保留站中的信息決定了什么時候指令可以在該功能部件開始執(zhí)行。計算結果通過CDB直接從產生它的保留站傳送到所有需要它的功能部件,而 不用經過寄存器。每個保留站有以下幾個字段:Op:要對源操作數(shù)進行的操作。Qj, Qk:將產生源操作數(shù)的保留站號。等于0表示操作數(shù)已經就緒且在Vj或Vk中,或者不需要操作數(shù)。Vj,Vk:源操作數(shù)的值。對于每一個操作數(shù)來說,V或Q字段只有一個有效。對
31、于load來說,Vk字段用于保存偏移量。Busy為“es”表示本保留站或緩沖單元忙”A:僅load和store緩沖器有該字段。開始是存放指令中的立即數(shù)字段,地址 計算后存放有效地址。循環(huán)展開和指令調度增加指令間并行性最簡單和最常用的方法19開發(fā)循環(huán)級并行性一一循環(huán)的不同迭代之間存在的并行性。 在把循環(huán)展開后,通過重命名和指令調度來開發(fā)更多的并行性。編譯器完成這種指令調度的能力受限于兩個特性: 程序固有的指令級并行性; 流水線功能部件的執(zhí)行延遲。循環(huán)展開和指令調度時要注意以下幾個方面: 保證正確性。在循環(huán)展開和調度過程中尤其要注意兩個地方的正確性: 的修改。注意有效性。只有能夠找到不同循環(huán)體之間
32、的無關性,才能有效地使用循環(huán)展開。 使用不同的寄存器。(否則可能導致新的沖突)刪除多余的測試指令和分支指令,并對循環(huán)結束代碼和新的循環(huán)體代碼進行相應的修 正。注意對存儲器數(shù)據(jù)的相關性分析例如:對于load指令和store指令,如果它們在不同的循環(huán)迭代中訪問的存儲器地 址是不同的,它們就是相互獨立的,可以相互對調。注意新的相關性由于原循環(huán)不同次的迭代在展開后都到了同一次循環(huán)體中,因此可能帶來新循環(huán)控制,操作數(shù)偏移量的相關性。第九章動態(tài)互聯(lián)網絡互聯(lián)網絡是一種開關元件按照一定的 拓撲結構和控制方式構成的網絡,用來實現(xiàn)計算機系 統(tǒng)中節(jié)點之間的相互連接動態(tài)網絡分類:總線網絡、多級互聯(lián)網絡、交叉開關網絡
33、互聯(lián)網絡三要素:互聯(lián)結構、開關和控制方式1.1)基本互聯(lián)函數(shù):交換函數(shù):二進制地址編碼中第 k位互反的輸入端與輸出端之間的連接。 均勻洗牌網絡。3)PM2I 函數(shù):????2 (? = (?+ 2?2 (? = (?- 2?2)212.1)2)3)4)5)6)3.1)互聯(lián)網絡的結構參數(shù):網絡規(guī)模N:指互聯(lián)網絡中節(jié)點的個數(shù)。它表示該網絡所能連接的部件的數(shù) 量。網絡規(guī)模越大,這個互聯(lián)網絡的連接能力越強節(jié)點度d:指互聯(lián)網絡中節(jié)點所連接的邊數(shù),包括入度,出度。 節(jié)點距離:從一個節(jié)點到另一個節(jié)點終止所需要跨越邊數(shù)的最小值 網絡直徑D:指網絡中任意兩個節(jié)點之間距離的最大值(網絡直徑越小越好) 等分寬度b (主要反映網絡的最大流量):把由 N個節(jié)點構成的網絡切成節(jié) 點數(shù)相同的(N/2)的兩半,在各種切法中,沿切口邊數(shù)的最小值稱為該網絡 的等分寬度。而線等分寬度位 B=bX3(通道寬度,單位是位數(shù)) 對稱性:從任意節(jié)點看,網絡
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 山東省泰安市泰安第四中學2024-2025學年高三下學期第二次階段(期中)考試語文試題含解析
- 2025版人力資源代理招聘合同范本
- 上海市戲劇學院附屬中學2025屆高三下學期新起點物理試題含解析
- 華大新高考聯(lián)盟2025屆高三11月教學質量測評-英語答案
- 合同解除權在法律實踐中的運用與限制
- 軟件開發(fā)合同范本:軟件定制開發(fā)協(xié)議
- 健身房裝修工程合同范本
- 遼寧省鞍山市2018~2019學年八年級第一學期期末教學質量檢測試卷【含答案】
- 陜西省咸陽市永壽縣蒿店中學2025年中考第三次模考地理試題(含答案)
- 遼寧省撫順縣2023-2024學年八年級上學期期末教學質量檢測物理試題【含答案】
- 2025世界防治哮喘日知識講座專題課件
- 糧食安全時政試題及答案
- 小學開展常規(guī)教育經驗交流活動方案
- 第四單元專題學習《孝親敬老傳承家風》公開課一等獎創(chuàng)新教學設計-(同步教學)統(tǒng)編版語文七年級下冊名師備課系列
- 茂名市生活垃圾焚燒發(fā)電項目
- 大學英語四級考試2024年6月真題(第1套)翻譯
- 2025年03月國家機關事務管理局所屬事業(yè)單位公開招聘應屆畢業(yè)生14人筆試歷年典型考題(歷年真題考點)解題思路附帶答案詳解
- 城市交通中的共享出行模式研究
- 寧波十校2025屆高三3月聯(lián)考語文試卷(含答案解析)
- T-SDHIA 11-2024 4-72 離心風機標準
- 社會工作者職業(yè)水平評價考試(中級)《社會工作法規(guī)與政策》講義
評論
0/150
提交評論