freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

計算機體系結(jié)構(gòu)之流水線技術(shù)(編輯修改稿)

2025-02-03 12:56 本頁面
 

【文章內(nèi)容簡介】 分支失敗,則照常執(zhí)行;否則,從轉(zhuǎn)移目標處開始取指令執(zhí)行。 ? DLX流水線的處理過程 5段 MIPS改進后采用“預測分支失敗”,分支失敗無停頓,分支成功有一個時鐘周期的停頓;還可以采用一條延遲指令槽的延遲分支方法 計算機體系結(jié)構(gòu) 北京信息科技大學 ? ( 3)預測分支成功 ? 目標地址計算出之后,就開始執(zhí)行目的地址處的指令 ? 起作用的前題:先知道分支目標地址,后知道分支是否成功。 ? 對 DLX流水線沒有任何好處。 ? ( 4)延遲分支( Delayed Branch) ? 把分支開銷為 n 的分支指令看成是延遲長度為 n 的分支指令,其后緊跟有 n 個延遲槽 Branchdelay Slot 。流水線遇到分支指令時,按正常方式處理,順帶執(zhí)行延遲槽中的指令,從而減少分支開銷。 ? 延遲分支以及指令的執(zhí)行順序 ? 分支延遲槽中的指令“掩蓋”了流水線原來必需插入的暫停周期 ? 分支延遲指令的調(diào)度 ? 任務(wù):在延遲槽中放入有用的指令 ? 糟糕的情況:在延遲槽放置空操作 NOP指令 ? 較好的情況:從分支指令前找到指令放置在延遲槽中,且不影響程序 計算機體系結(jié)構(gòu) 北京信息科技大學 6 高級流水線技術(shù) 計算機體系結(jié)構(gòu) 北京信息科技大學 單發(fā)射與多發(fā)射 (issue) 單發(fā)射處理機: 每個周期只取一條指令、只譯碼一條指令,只執(zhí)行一條指令,只寫回一個運算結(jié)果。 取指令部件和指令譯碼部件各設(shè)置一套; 只設(shè)置一個多功能操作部件或設(shè)置多個獨立的操作部件; 操作部件中可以采用流水線結(jié)構(gòu),也可以不采用流水線結(jié)構(gòu)。 目標是每個時鐘周期平均執(zhí)行一條指令, ILP的期望值為 1。 多發(fā)射處理機: 每個周期同時取多條指令、同時譯碼多條指令,同時執(zhí)行多條指令,同時寫回多個運算結(jié)果。 需要多個取指令部件,多個指令譯碼部件和多個寫結(jié)果部件。 設(shè)置多個指令執(zhí)行部件, 有些指令執(zhí)行部件采用流水線結(jié)構(gòu)。 目標是每個時鐘周期平均執(zhí)行多條指令, ILP的期望值大于 1。 計算機體系結(jié)構(gòu) 北京信息科技大學 單發(fā)射處理機的指令流水線時空圖 1 2 3 4 5 6 I1 IF ID EX WR 時鐘周期 I2 IF ID EX WR I3 IF ID EX WR 指令 多發(fā)射處理機的指令流水線時空圖 1 2 3 4 5 6 I1 IF ID EX WR 時鐘周期 I2 IF ID EX WR I3 IF ID EX WR I4 IF ID EX WR I5 IF ID EX WR I6 IF ID EX WR I7 IF ID EX WR I8 IF ID EX WR I9 IF ID EX WR 指令 計算機體系結(jié)構(gòu) 北京信息科技大學 ? 單發(fā)射處理機的指令流水線取指令 指令譯碼 執(zhí)行指令 EX 寫回結(jié)果F A 1 F A 2 F A 3浮點加法部件來自指令C acheIF ID M D 1 M D 2 M D 3 WR通用寄存器后行寫數(shù)棧乘除法部件AL定點算術(shù)邏輯部件LS取數(shù)存數(shù)部件計算機體系結(jié)構(gòu) 北京信息科技大學 ? 同時發(fā)射兩條指令的多發(fā)射處理機的指令流水線取指令 指令譯碼 執(zhí)行指令 寫回結(jié)果F A 1 F A 2 F A 3浮點加法部件來自指令C ach eIF 1 ID 1 M D 1 M D 2 M D 3 WR 1通用寄存器后行寫數(shù)棧乘除法部件來自指令C ach eIF 2 ID 2 AL WR 2通用寄存器后行寫數(shù)棧定點算術(shù)邏輯部件LS取數(shù)存數(shù)部件計算機體系結(jié)構(gòu) 北京信息科技大學 多指令流出技術(shù) ? 將等于 1的理想 CPI減小,必須實現(xiàn)一個時鐘周期發(fā)射(流出 issue)多條指令 ? 超標量 (Superscalar)處理器 :每個時鐘周期發(fā)射多條指令( 1~ 8),可以采用編譯器進行靜態(tài)調(diào)度順序執(zhí)行,也可以采用硬件動態(tài)調(diào)度亂序執(zhí)行 ? 超長指令字 (VLIW: Very Long Instruction Word):通過編譯器調(diào)度無關(guān)的多條指令( 4~ 16)形成一條長指令,每個時鐘周期發(fā)射一條長指令 ? 超級流水線 (Super pipelining):將每個功能部件進一步流水化,使得一個功能部件在一個時鐘周期中可以處理多條指令(可以簡單地理解為很長的流水線) 計算機體系結(jié)構(gòu) 北京信息科技大學 多發(fā)射流水線 0 1 2 3 4 5 6 7 T 正常流水線 超標量流水線 0 1 2 3 4 5 6 T 0 1 2 3 4 5 6 T 超長指令字流水線 3個操作 0 1 2 3 4 5 6 7 T 超級流水線 計算機體系結(jié)構(gòu) 北京信息科技大學 三種主流處理機: 超標量處理機: Intel公司的 i860、 i960、Pentium處理機, Motolora公司的 MC88110, IBM公司的 Power 6000, SUN公司的 SPARC、 SuperSPARC、 UltraSPARC等。 超流水線處理機: SGI公司的 MIPS R4000、 R5000、R10000等。 超標量超流水線處理機: DEC公司的 Alpha等。 計算機體系結(jié)構(gòu) 北京信息科技大學 超標量處理機 基本結(jié)構(gòu) 一般流水線處理機: 一條指令流水線 , 一個多功能操作部件 , 每個時鐘周期平均執(zhí)行指令的條數(shù)小于 1。 多操作部件處理機: 一條指令流水線 , 多個獨立的操作部件 , 可以采用流水線,也可以不流水。 多操作部件處理機的 指令級并行度小于 1。 超標量處理機典型結(jié)構(gòu): 多條指令流水線 。 先進的超標量處理機有:定點處理部件 CPU,浮點處理部件 FPU,圖形加速部件 GPU,大量的通用寄存器,兩個一級 Cache。 超標量處理機的 指令級并行度( ILP)大于 1。 計算機體系結(jié)構(gòu) 北京信息科技大學 整數(shù)部件整數(shù)部件位操作部件浮點加部件乘法部件除法部件圖形部件圖形部件內(nèi)部總線讀數(shù)/存數(shù)部件通用寄存器堆擴展寄存器堆目標指令Cache指令分配/轉(zhuǎn)移部件數(shù)據(jù) Cache ( 8K B ) 指令 Cache ( 8K B )32 位地址總線 64 位數(shù)據(jù)總線 系統(tǒng)總線超標量處理機 MC88110 的結(jié)構(gòu)? Motorola公司的 MC88110。有 10個操作部件。 ? 兩個寄存器堆:整數(shù)部件通用寄存器堆, 32個 32位寄存器; 浮點部件擴展寄存器堆, 32個 80位寄存器。 ? 緩沖深度為 4的先行讀數(shù)棧,緩沖深度為 3的后行寫數(shù)棧。 ? 兩個獨立的高速 Cache中,各為 8KB,采用兩路組相聯(lián)方式, ? 轉(zhuǎn)移目標指令 Cache,存放一條分支上的指令。 計算機體系結(jié)構(gòu) 北京信息科技大學 超標量處理機: 一個時鐘周期能同時發(fā)射多條指令的處理機 必須有兩條或兩條以上能夠同時工作的指令流水線。 先行指令窗口 :能夠從指令 Cache中預取多條指令, 能夠?qū)Υ翱趦?nèi)的指令進行數(shù)據(jù)相關(guān)性分析和功能部件沖突檢測。 先行指令窗口的大?。阂话銥?2至 8條指令。 目前的指令調(diào)度技術(shù),每個周期發(fā)射 2至 4條指令比較合理。 例如: Intel公司的 i860、 i960、 Pentium, Motolora公司的 MC88110,IBM公司的 Power 6000等每個周期都發(fā)射兩條指令; TI公司生產(chǎn) SuperSPARC, Pentium III每個周期發(fā)射三條指令。 操作部件的個數(shù)一般多于每個周期發(fā)射的指令條數(shù)。通常為 4 個至16個操作部件。 超標量處理機的指令級并行度: 1< ILP< m。 m為每個周期發(fā)射的 指令條數(shù)。 計算機體系結(jié)構(gòu) 北京信息科技大學 ? 有先行指令窗口的超標量處理機的流水線結(jié)構(gòu)取指令 指令譯碼 執(zhí)行指令 寫回結(jié)果F A 1 F A 2 F A 3浮點加法部件指令C ach eIF 1 ID 1 M D 1 M D 2 M D 3 WR 1通用寄存器后行寫數(shù)棧乘除法部件指令C ach eIF 2 ID 2 AL WR 2通用寄存器后行寫數(shù)棧定點算術(shù)邏輯部件IF 3 ID 3 LS先行指令窗口 取數(shù)存數(shù)部件FA :浮點加減法運算, MD :乘除法運算, AL :定點算術(shù)邏輯運算, LS 取數(shù)存數(shù)計算機體系結(jié)構(gòu) 北京信息科技大學 多流水線調(diào)度 多條流水線的調(diào)度問題是一個 NP完全問題, 順序發(fā)射( inorder issue)與亂序發(fā)射( outorder issue): 指令發(fā)射順序是按照程序中指令排列順序進行的稱為順序發(fā)射 順序完成 (inorder pletion)與亂序完成 (outorder pletion) 指令完成順序是按照程序中指令排列順序進行的稱為順序完成 多流水線的調(diào)度主要有三種方法: 順序發(fā)射順序完成,順序發(fā)射亂序完成,亂序發(fā)射亂序完成。 I1: LOAD R1, A ; R1← ( A) I2: FADD R2, R1 ; R2← ( R2)+( R1) I3: FMUL R3, R4 ; R3← ( R3) ( R4) I4: FADD R4, R5 ; R4← ( R4)+( R5) I5: DEC R6 ; R6← ( R6)- 1 I6: FMUL R6, R7 ; R6← ( R6)+( R7) 計算機體系結(jié)構(gòu) 北京信息科技大學 ? 普通標量處理機,希望相同操作連續(xù)出現(xiàn)。 只有連續(xù)出現(xiàn)相同操作的指令序列時,流水線才能不 “ 斷流 ” ,功能部件的效率才能得到充分發(fā)揮。 ? 超標量處理機則正好相反,希望相同操作不要連續(xù)出現(xiàn)。 相同操作的指令序列連續(xù)出現(xiàn)時,會發(fā)生資源沖突; 要求相同操作的指令能夠相對均勻地分布在程序中。 ? 超標量處理機的這種要求正好符合一般標量程序的特點。 計算機體系結(jié)構(gòu) 北京信息科技大學 80486的整數(shù)指令流水線 ? 5級指令流水線,每級 1個時鐘周期 ? PF?? 指令預?。?prefetch) ? D1?? 指令譯碼 1( decode stage 1) 對所有操作碼和尋址方式信息進行譯碼 ? D2?? 指令譯碼 2( decode stage 2) 將操作碼擴展為 ALU的控制信號,存儲器地址計算 ?EX?? 指令執(zhí)行( execute) 完成 ALU操作和 Cache存取 ?WB?? 回寫( write back) 更新在 EX步驟得到的寄存器數(shù)據(jù)和狀態(tài)標志 計算機體系結(jié)構(gòu) 北京信息科技大學 Pentium的超標量流水線 ? 類似 80486的 5級流水線,后 3級可以在兩個流水線同時進行 ? 指令預取 PF和指令譯碼 D1步驟可以并行取出、譯碼 2條簡單指令,然后分別發(fā)向 U和 V流水線 ? 在滿足指令配對的條件下, Pentium可以每個時鐘周期執(zhí)行完2條指令 V流水線 U流水線 地址生成 D2 地址生成 D2 指令預取 PF 指令譯碼 D1 執(zhí)行 EX 執(zhí)行 EX 回寫 WB 回寫 WB 計算機體系結(jié)構(gòu) 北京信息科技大學 Pentium的超標量結(jié)構(gòu) 轉(zhuǎn)移指令地址 寄 存 器 V流水線 ALU U流水線 ALU 移位器 指令譯碼和配對 控制單元 分支目標 緩沖器 V流水線 存儲地址產(chǎn)生器 U流水線 存儲地址產(chǎn)生器 隊列 B 隊列 A 指令 Cache 指令預取電路 分支目標地 址 產(chǎn)生分支地址 計算機體系結(jié)構(gòu) 北京信息科技大學 Pentium的指令配對檢測過程 (近似表達) IF i1是簡單指令 并且 i2也是簡單指令 并且 i1不是轉(zhuǎn)移指令 并且 i1和 i2不存在數(shù)據(jù)相關(guān) THEN i1發(fā)往 U流水線 i2發(fā)往 V流水線 ELSE i1發(fā)往 U流水線 i2做為下對指令的第 1條指令 i1
點擊復制文檔內(nèi)容
教學課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1