版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、1212 2DLX 的基本流水線 3流水線中的相關(guān) DLX DLX 流水線流水線 流水線性能分析流水線性能分析 結(jié)構(gòu)相關(guān)結(jié)構(gòu)相關(guān) 數(shù)據(jù)相關(guān)數(shù)據(jù)相關(guān) 控制相關(guān)控制相關(guān) 4MIPS R4000 流水線計(jì)算機(jī) 1流水線的基本概念第五章 流水線實(shí)例及策略2212DLX的基本流水線1 DLX的一種簡單實(shí)現(xiàn)首先討論在不流水的情況下,如何實(shí)現(xiàn)首先討論在不流水的情況下,如何實(shí)現(xiàn)DLXDLX。1. 實(shí)現(xiàn)實(shí)現(xiàn)DLXDLX指令的一種簡單數(shù)據(jù)通路指令的一種簡單數(shù)據(jù)通路第三章 流水線技術(shù)42122. 一條DLX指令最多需要以下5個(gè)時(shí)鐘周期:(1 1) 取指令周期取指令周期(IFIF) IR MemPC IR MemPC
2、 NPC PCNPC PC4 4 2 DLX的基本流水線6212(2 2)指令譯碼)指令譯碼/ /讀寄存器周期讀寄存器周期(IDID) A RegsIRA RegsIR6 6 .10.10 B RegsIRB RegsIR1111 .15.15 Imm (IRImm (IR1616) )16 16 # IR# IR1616 .31.31 操作操作 指令譯碼和讀寄存器是并行進(jìn)行的。之所指令譯碼和讀寄存器是并行進(jìn)行的。之所 以能做到這一點(diǎn),是因?yàn)樵谝阅茏龅竭@一點(diǎn),是因?yàn)樵贒LXDLX指令格式中,指令格式中, 操作碼在固定位置。這種技術(shù)也稱為操作碼在固定位置。這種技術(shù)也稱為固定字段固定字段 譯碼。譯
3、碼。2 DLX的基本流水線8212(3 3)執(zhí)行執(zhí)行/ /有效地址計(jì)算周期有效地址計(jì)算周期(EXEX) 在這個(gè)周期,不同的指令有不同的操作。在這個(gè)周期,不同的指令有不同的操作。2 DLX的基本流水線 存儲(chǔ)器訪問存儲(chǔ)器訪問 ALUOutput AALUOutput AImmImm 寄存器寄存器寄存器寄存器 ALU ALU 操作操作 ALUOutput A op B ALUOutput A op B 操作操作11212 寄存器寄存器立即值立即值 ALU ALU 操作操作 ALUOutput A op ImmALUOutput A op Imm2 DLX的基本流水線 分支操作分支操作ALUOutpu
4、t NPCALUOutput NPCImm Imm Cond (A op 0)Cond (A op 0)13212(4 4)存儲(chǔ)器訪問存儲(chǔ)器訪問/ /分支完成周期分支完成周期(MEMMEM) 在該周期處理的在該周期處理的DLXDLX指令只有指令只有LoadLoad、StoreStore和和 分支指令。分支指令。這里,將有效地址計(jì)算周期和執(zhí)行周期這里,將有效地址計(jì)算周期和執(zhí)行周期合并為一個(gè)時(shí)鐘周期,這是由合并為一個(gè)時(shí)鐘周期,這是由 DLXDLX指令集結(jié)指令集結(jié)構(gòu)本身的特點(diǎn)所允許的,因?yàn)樵跇?gòu)本身的特點(diǎn)所允許的,因?yàn)樵贒LXDLX指令集結(jié)指令集結(jié)構(gòu)中,沒有任何指令需要同時(shí)計(jì)算數(shù)據(jù)的存構(gòu)中,沒有任何指
5、令需要同時(shí)計(jì)算數(shù)據(jù)的存儲(chǔ)器地址、計(jì)算分支指令的目標(biāo)地址和進(jìn)行儲(chǔ)器地址、計(jì)算分支指令的目標(biāo)地址和進(jìn)行數(shù)據(jù)處理。數(shù)據(jù)處理。2 DLX的基本流水線14212 存儲(chǔ)器訪問存儲(chǔ)器訪問 LMD MemALUOutputLMD MemALUOutput 或或 Mem ALUOutput BMem ALUOutput B2 DLX的基本流水線16212 分支操作分支操作 ifif(condcond)PC ALUOutputPC ALUOutput elseelse PC NPCPC NPC與訪存同時(shí)與訪存同時(shí)18212(5 5)寫回周期)寫回周期(WBWB) 不同指令在該周期完成的工作也不一樣。不同指令在該周
6、期完成的工作也不一樣。 寄存器寄存器寄存器型寄存器型 ALU ALU 指令指令 RegsIRRegsIR1616 .20.20 ALUOutput ALUOutput RegsIRRegsIR1111 .15.15 ALUOutput ALUOutput LoadLoad 指令指令 RegsIRRegsIR1111 .15.15 LMD LMD 2 DLX的基本流水線寄存器寄存器寄存器型寄存器型 ALU ALU 指令指令 RegsIRRegsIR1616 .20.20 ALUOutput ALUOutputLoadLoad 指令指令 RegsIRRegsIR1111 .15.15 LMD LM
7、D21212 分支指令需要4個(gè)時(shí)鐘周期, 其它指令需要5個(gè)時(shí)鐘周期 假設(shè)分支指令占總指令數(shù)的假設(shè)分支指令占總指令數(shù)的1212, , 則則: : CPICPI4.884.88 上述實(shí)現(xiàn)無論在性能上,還是在硬件開銷上,上述實(shí)現(xiàn)無論在性能上,還是在硬件開銷上,都不是優(yōu)化的。都不是優(yōu)化的。 2 DLX的基本流水線222122 基本的DLX流水線我們可以把數(shù)據(jù)通路流水化:我們可以把數(shù)據(jù)通路流水化:每個(gè)時(shí)鐘周期啟動(dòng)一條新的指令。每個(gè)時(shí)鐘周期啟動(dòng)一條新的指令。這樣,該數(shù)據(jù)通路中的每一個(gè)周期就成這樣,該數(shù)據(jù)通路中的每一個(gè)周期就成了一個(gè)流水段。了一個(gè)流水段。1. 一種簡單的 DLX 流水線2. 簡單DLX流水線
8、的流水過程 2 DLX的基本流水線232125.9.1 流水線的基本概念24212 2 DLX的基本流水線按時(shí)間錯(cuò)開的數(shù)據(jù)通路序列按時(shí)間錯(cuò)開的數(shù)據(jù)通路序列26212 采用流水技術(shù)還應(yīng)解決好以下幾個(gè)問題:上述簡單上述簡單DLXDLX流水線中:流水線中: 指令存儲(chǔ)器指令存儲(chǔ)器(IMIM)和)和數(shù)據(jù)存儲(chǔ)器數(shù)據(jù)存儲(chǔ)器(DMDM)分)分 開,避免了訪存沖突。開,避免了訪存沖突。 IDID段和段和WBWB段都要訪問同一寄存器文件。段都要訪問同一寄存器文件。 IDID段:讀段:讀WBWB段:寫段:寫(1 1)應(yīng)保證不會(huì)在同一個(gè)時(shí)鐘周期內(nèi)在同一數(shù)據(jù))應(yīng)保證不會(huì)在同一個(gè)時(shí)鐘周期內(nèi)在同一數(shù)據(jù) 通路資源上做不同的操
9、作。通路資源上做不同的操作。 例如,不能要求一個(gè)例如,不能要求一個(gè)ALUALU同時(shí)既做有效同時(shí)既做有效 地址計(jì)算,又做減法操作。地址計(jì)算,又做減法操作。 2 DLX的基本流水線27212 沒有考慮沒有考慮 PC PC 問題問題流水線為了能夠每個(gè)時(shí)鐘周期啟動(dòng)一條流水線為了能夠每個(gè)時(shí)鐘周期啟動(dòng)一條新的指令,就必須在每個(gè)時(shí)鐘周期進(jìn)行新的指令,就必須在每個(gè)時(shí)鐘周期進(jìn)行PCPC值值的加的加4 4操作,并保留新的操作,并保留新的PCPC值。這種操作必值。這種操作必須須在在IFIF段完成段完成,以便為取下一條指令做好準(zhǔn),以便為取下一條指令做好準(zhǔn)備。備。 2 DLX的基本流水線但分支指令也可能改變但分支指令也
10、可能改變PCPC的值,而且是的值,而且是在在MEMMEM段進(jìn)行,這會(huì)導(dǎo)致沖突段進(jìn)行,這會(huì)導(dǎo)致沖突。為解決問題,我們?yōu)榻鉀Q問題,我們重新組織數(shù)據(jù)通路重新組織數(shù)據(jù)通路,把所有改變把所有改變PCPC值的操作都放在值的操作都放在IFIF段進(jìn)行。段進(jìn)行。但分支指令如何處理?但分支指令如何處理? 31212(2 2)每一流水段內(nèi)的操作都必須在一個(gè)時(shí)鐘周期)每一流水段內(nèi)的操作都必須在一個(gè)時(shí)鐘周期 內(nèi)完成內(nèi)完成 流水線各段之間需設(shè)置流水線寄存器流水線各段之間需設(shè)置流水線寄存器 (也稱為(也稱為鎖存器鎖存器) 流水線寄存器組及其所含寄存器的流水線寄存器組及其所含寄存器的命名命名 例如,例如,IDID段和段和EX
11、EX段之間的流水線寄存段之間的流水線寄存 器組中的器組中的IRIR寄存器的名稱為寄存器的名稱為: :ID/EX.IRID/EX.IR 流水線寄存器的作用流水線寄存器的作用 把數(shù)據(jù)和控制信息從一個(gè)流水段傳把數(shù)據(jù)和控制信息從一個(gè)流水段傳 送到下一個(gè)流水段。送到下一個(gè)流水段。(3 3)流水線寄存器(組)流水線寄存器(組) 2 DLX的基本流水線 流水線寄存器的構(gòu)成流水線寄存器的構(gòu)成342124. DLX流水線的操作對(duì)于流水線中的指令來說,在任一時(shí)刻,它對(duì)于流水線中的指令來說,在任一時(shí)刻,它僅在流水線中的某一段內(nèi)執(zhí)行操作。僅在流水線中的某一段內(nèi)執(zhí)行操作。因此,只要知道每一流水段在各種指令下進(jìn)因此,只要
12、知道每一流水段在各種指令下進(jìn)行何種操作,就知道了整個(gè)流水線的操作。行何種操作,就知道了整個(gè)流水線的操作。 ( (表表1)1)給出了給出了DLXDLX流水線各段的操作。流水線各段的操作。 2 DLX的基本流水線流水段流水段表 1 DLX流水線的每個(gè)流水段的操作任何指令類型任何指令類型ALU ALU 指令指令Load/Store Load/Store 指令指令分支指令分支指令I(lǐng)FIFIDIDEXEXIF/ID.IR MemPCIF/ID.NPC,PC (if EX/MEM.cond EX/MEM.NPC else PC+4);ID/EX.A RegsIF/ID.IR6.10; ID/EX.B Re
13、gsIF/ID.IR11.15;ID/EX.NPC IF/ID.NPC; ID/EX.IR IF/ID.IR;ID/EX.Imm (IR16)16#IR16.31;EX/MEM.IR ID/EX.IR; EX/MEM.ALUOutput ID/EX.A op ID/EX.B 或EX/MEM.ALUOutput ID/EX.A op ID/EX.Imm;EX/MEM.cond 0;EX/MEM.IR ID/EX.IR; EX/MEM.ALUOutput ID/EX.A + ID/EX.Imm;EX/MEM.ALUOutput ID/EX.NPC + ID/EX.Imm;EX/MEM.cond (
14、ID/EX.A op 0);流水段流水段任何指令類型任何指令類型ALU ALU 指令指令Load/Store Load/Store 指令指令分支指令分支指令MEMMEMWBWBMEM/WB.IR EX/MEM.IR; MEM/WB.ALUOutput EX/MEM.ALUOutput;MEM/WB.IR EX/MEM.IR; MEM/WB.LMD MemEX/MEM.ALUOutput;或MemEX/MEM.ALUOutput EX/MEM.B;RegsMEM/WB.IR16.20 MEM/WB.ALUOutput;或RegsMEM/WB.IR11.15 MEM/WB.ALUOutput;Re
15、gsMEM/WB.IR11.15 MEM/WB.LMD;表 1 DLX流水線的每個(gè)流水段的操作5DLX流水線的控制主要是確定如何主要是確定如何控制那四個(gè)多路選擇器控制那四個(gè)多路選擇器。38212 3流水線中的相關(guān)1相關(guān)的概念 流水線中的相關(guān)流水線中的相關(guān)是指相鄰或相近的兩條指是指相鄰或相近的兩條指令因存在某種關(guān)聯(lián),后一條指令不能在原指定令因存在某種關(guān)聯(lián),后一條指令不能在原指定的時(shí)鐘周期開始執(zhí)行的時(shí)鐘周期開始執(zhí)行。 結(jié)構(gòu)相關(guān)結(jié)構(gòu)相關(guān) 當(dāng)硬件資源滿足不了同時(shí)重疊執(zhí)行的指當(dāng)硬件資源滿足不了同時(shí)重疊執(zhí)行的指 令的要求,而發(fā)生資源沖突時(shí),就發(fā)生令的要求,而發(fā)生資源沖突時(shí),就發(fā)生了結(jié)了結(jié) 構(gòu)相關(guān)。構(gòu)相關(guān)。
16、2相關(guān)的分類第三章 流水線技術(shù)39212 數(shù)據(jù)相關(guān)數(shù)據(jù)相關(guān) 當(dāng)一條指令需要用到前面某條指令的結(jié)當(dāng)一條指令需要用到前面某條指令的結(jié) 果,從而不能重疊執(zhí)行時(shí),就發(fā)生了果,從而不能重疊執(zhí)行時(shí),就發(fā)生了數(shù)據(jù)相數(shù)據(jù)相 關(guān)關(guān)。 控制相關(guān)控制相關(guān) 當(dāng)流水線遇到分支指令和其他能夠改變當(dāng)流水線遇到分支指令和其他能夠改變 PCPC值的指令時(shí),就會(huì)發(fā)生值的指令時(shí),就會(huì)發(fā)生控制相關(guān)控制相關(guān)。 幾個(gè)問題 相關(guān)有可能會(huì)使流水線停頓。相關(guān)有可能會(huì)使流水線停頓。 3 流水線中的相關(guān)40212我們我們約定:約定: 當(dāng)一條指令被暫停時(shí),暫停在其后發(fā)射(流出)的指令,但繼續(xù)執(zhí)行在其前發(fā)射的 指令。 消除相關(guān)的消除相關(guān)的基本方法:基
17、本方法: 讓流水線中的某些指令暫停,而讓其它讓流水線中的某些指令暫停,而讓其它 指令繼續(xù)執(zhí)行。指令繼續(xù)執(zhí)行。 3 流水線中的相關(guān)41212 1 流水線中的結(jié)構(gòu)相關(guān)2. 如果某種指令組合因資源沖突而不能順利重 疊執(zhí)行,則稱該機(jī)器具有結(jié)構(gòu)相關(guān)。1. 在流水線機(jī)器中,為了使各種指令組合能順 利地重疊執(zhí)行,需要把功能部件流水化,并 把資源重復(fù)設(shè)置。 常見的導(dǎo)致結(jié)構(gòu)相關(guān)的原因: 功能部件不是全流水功能部件不是全流水 重復(fù)設(shè)置的資源的份數(shù)不夠重復(fù)設(shè)置的資源的份數(shù)不夠 3 流水線中的相關(guān)422124. 結(jié)構(gòu)相關(guān)舉例:訪存沖突 當(dāng)數(shù)據(jù)和指令存在同一存儲(chǔ)器中時(shí),訪當(dāng)數(shù)據(jù)和指令存在同一存儲(chǔ)器中時(shí),訪存指令會(huì)存指令
18、會(huì)導(dǎo)致訪存沖突導(dǎo)致訪存沖突。解決辦法解決辦法: 插入暫停周期插入暫停周期 (“流水線氣泡流水線氣泡”或或“氣泡氣泡”) 3 流水線中的相關(guān)45212引入暫停后的時(shí)空?qǐng)D引入暫停后的時(shí)空?qǐng)D 3 流水線中的相關(guān)462125. 避免結(jié)構(gòu)相關(guān):6. 有些設(shè)計(jì)方案允許有結(jié)構(gòu)相關(guān) 所有功能單元完全流水化所有功能單元完全流水化 設(shè)置足夠的硬件資源設(shè)置足夠的硬件資源硬件代價(jià)很大。硬件代價(jià)很大。 降低成本降低成本 減少部件的延遲減少部件的延遲解決方法解決方法: 設(shè)置相互獨(dú)立的指令存儲(chǔ)器和設(shè)置相互獨(dú)立的指令存儲(chǔ)器和 數(shù)據(jù)存儲(chǔ)器或設(shè)置相互獨(dú)立的數(shù)據(jù)存儲(chǔ)器或設(shè)置相互獨(dú)立的 指令指令CacheCache和數(shù)據(jù)和數(shù)據(jù)Cac
19、heCache。 3 流水線中的相關(guān)47212 2 流水線的數(shù)據(jù)相關(guān)1. 數(shù)據(jù)相關(guān)簡介 當(dāng)指令在流水線中重疊執(zhí)行時(shí),流水線有當(dāng)指令在流水線中重疊執(zhí)行時(shí),流水線有 可能改變指令讀可能改變指令讀/ /寫操作數(shù)的順序,使之不同寫操作數(shù)的順序,使之不同 于它們在非流水實(shí)現(xiàn)時(shí)的順序,這將導(dǎo)致數(shù)據(jù)于它們在非流水實(shí)現(xiàn)時(shí)的順序,這將導(dǎo)致數(shù)據(jù) 相關(guān)。相關(guān)。 數(shù)據(jù)相關(guān)舉例數(shù)據(jù)相關(guān)舉例 3 流水線中的相關(guān)492122. 利用定向技術(shù)減少數(shù)據(jù)相關(guān)引起的暫停 (1)(1) 定向技術(shù)的定向技術(shù)的主要思路:主要思路:在發(fā)生上述在發(fā)生上述 數(shù)據(jù)相關(guān)時(shí),后面的指令并不是馬數(shù)據(jù)相關(guān)時(shí),后面的指令并不是馬 上就要用到前一條指令的計(jì)
20、算結(jié)果。上就要用到前一條指令的計(jì)算結(jié)果。 如果能夠?qū)⒂?jì)算結(jié)果從其產(chǎn)生的地如果能夠?qū)⒂?jì)算結(jié)果從其產(chǎn)生的地 方直接送到需要它的地方,就可以方直接送到需要它的地方,就可以 避免暫停。避免暫停。 (2) (2) 采用定向技術(shù)消除上例中的相關(guān)采用定向技術(shù)消除上例中的相關(guān) 3 流水線中的相關(guān)52212(3) (3) 當(dāng)定向硬件檢測到前面某條指令的結(jié)果寄存當(dāng)定向硬件檢測到前面某條指令的結(jié)果寄存 器就是當(dāng)前指令的源寄存器時(shí),控制邏輯會(huì)器就是當(dāng)前指令的源寄存器時(shí),控制邏輯會(huì) 將前面那條指令的結(jié)果直接從其產(chǎn)生的地方將前面那條指令的結(jié)果直接從其產(chǎn)生的地方 定向到當(dāng)前指令所需的位置。定向到當(dāng)前指令所需的位置。(4)
21、(4) 一個(gè)功能單元的輸出不僅可以定向到其自身一個(gè)功能單元的輸出不僅可以定向到其自身 的輸入,而且還可以定向到其它單元的輸入。的輸入,而且還可以定向到其它單元的輸入。 3 流水線中的相關(guān)53212 3 流水線中的相關(guān)54212(1) (1) 并非所有的數(shù)據(jù)相關(guān)都可以用定向技術(shù)解決并非所有的數(shù)據(jù)相關(guān)都可以用定向技術(shù)解決4. 需要暫停的數(shù)據(jù)相關(guān) 3 流水線中的相關(guān)56212(2) (2) 增加流水線互鎖硬件,插入增加流水線互鎖硬件,插入“暫停暫?!?。 當(dāng)互鎖硬件發(fā)現(xiàn)這種相關(guān)時(shí),就當(dāng)互鎖硬件發(fā)現(xiàn)這種相關(guān)時(shí),就 暫停流水線暫停流水線,直到相關(guān)消失。直到相關(guān)消失。 3 流水線中的相關(guān)58212 3 流水
22、線中的相關(guān)59212例例5 5 假設(shè)某指令序列中假設(shè)某指令序列中2020的指令是的指令是LoadLoad指令,并指令,并且緊跟在且緊跟在LoadLoad指令之后的半數(shù)指令需要使用到載入指令之后的半數(shù)指令需要使用到載入的結(jié)果,如果這種數(shù)據(jù)相關(guān)將產(chǎn)生一個(gè)時(shí)鐘周期的的結(jié)果,如果這種數(shù)據(jù)相關(guān)將產(chǎn)生一個(gè)時(shí)鐘周期的延遲。理想流水線(沒有任何延遲,延遲。理想流水線(沒有任何延遲,CPICPI為為1 1)的指)的指令執(zhí)行速度要比這種真實(shí)流水線的快多少?令執(zhí)行速度要比這種真實(shí)流水線的快多少?解解:我們可以利用我們可以利用CPICPI作為衡量標(biāo)準(zhǔn)。對(duì)于真實(shí)的流作為衡量標(biāo)準(zhǔn)。對(duì)于真實(shí)的流水線而言,由于水線而言,由于
23、LoadLoad指令之后的半數(shù)指令需要暫停,指令之后的半數(shù)指令需要暫停,所以這些被暫停指令的所以這些被暫停指令的CPICPI是是2 2。又知。又知LoadLoad指令占全指令占全部指令的部指令的2020,所以真實(shí)流水線的實(shí)際,所以真實(shí)流水線的實(shí)際CPICPI為:為:(0.9(0.91+0.11+0.12)=1.12)=1.1,這表示理想流水線的指令執(zhí),這表示理想流水線的指令執(zhí)行速度是其執(zhí)行速度的行速度是其執(zhí)行速度的1.11.1倍倍。 3 流水線中的相關(guān)602125對(duì)數(shù)據(jù)相關(guān)的編譯調(diào)度方法 (1) (1) 流水線中常常會(huì)遇到許多種類型的暫停流水線中常常會(huì)遇到許多種類型的暫停 例如,按通常的代碼生
24、成模式,表達(dá)式例如,按通常的代碼生成模式,表達(dá)式 A AB BC C的代碼會(huì)導(dǎo)致暫停的代碼會(huì)導(dǎo)致暫停 3 流水線中的相關(guān)A AB BC C的代碼會(huì)導(dǎo)致暫停的代碼會(huì)導(dǎo)致暫停62212(3) (3) 舉例:舉例: 例例6 6 請(qǐng)為下列表達(dá)式生成沒有暫停的請(qǐng)為下列表達(dá)式生成沒有暫停的DLXDLX 指令序列:指令序列: a ab bc c ; d de ef f ; 假設(shè)載入延遲為假設(shè)載入延遲為1 1個(gè)時(shí)鐘周期。個(gè)時(shí)鐘周期。 (2) (2) 編譯器可以通過重新排列代碼的順序來消編譯器可以通過重新排列代碼的順序來消除這種暫停,這種技術(shù)稱為除這種暫停,這種技術(shù)稱為流水線調(diào)度或流水線調(diào)度或 指令調(diào)度。指令調(diào)
25、度。 3 流水線中的相關(guān)64212(1) (1) 指令發(fā)射指令發(fā)射(issue)(issue):指令從譯碼段:指令從譯碼段(ID)(ID)進(jìn)入進(jìn)入 執(zhí)行段執(zhí)行段(EX)(EX)。 相應(yīng)的指令稱為相應(yīng)的指令稱為已發(fā)射的指令已發(fā)射的指令。 (2) DLX(2) DLX整數(shù)流水線中,可以在整數(shù)流水線中,可以在IDID段檢測所有的段檢測所有的 數(shù)據(jù)相關(guān);數(shù)據(jù)相關(guān); 若數(shù)據(jù)相關(guān),則在指令流出前,讓其暫停。若數(shù)據(jù)相關(guān),則在指令流出前,讓其暫停。 (3) (3) 可以在可以在IDID段確定需要什么樣的定向,并設(shè)置段確定需要什么樣的定向,并設(shè)置 相應(yīng)的控制;相應(yīng)的控制; 這樣能減少硬件復(fù)雜度。這樣能減少硬件復(fù)
26、雜度。6. 對(duì)DLX流水線控制的實(shí)現(xiàn) 3 流水線中的相關(guān)65212(4) (4) 也可以在需要用到操作數(shù)的那個(gè)時(shí)鐘周期檢測也可以在需要用到操作數(shù)的那個(gè)時(shí)鐘周期檢測 相關(guān)或定向;相關(guān)或定向;(5) (5) 舉例說明:舉例說明: 由由LoadLoad指令引起的指令引起的RAWRAW相關(guān)的互鎖相關(guān)的互鎖( (簡稱簡稱Load Load 互鎖互鎖) )可以通過可以通過IDID段的檢測來實(shí)現(xiàn);段的檢測來實(shí)現(xiàn); 到到ALUALU輸入的定向可以在輸入的定向可以在EXEX段實(shí)現(xiàn)。段實(shí)現(xiàn)。LoadLoad互鎖互鎖 流水線相關(guān)硬件可以檢測到的各種相關(guān)情況流水線相關(guān)硬件可以檢測到的各種相關(guān)情況 可以看出,僅需把可以
27、看出,僅需把LoadLoad指令的目的寄存指令的目的寄存 器地址與器地址與LoadLoad指令后的兩條指令的源寄存器指令后的兩條指令的源寄存器 地址進(jìn)行比較。地址進(jìn)行比較。 3 流水線中的相關(guān)6721268212 3 流水線的控制相關(guān)1. 分支指令的執(zhí)行結(jié)果一、分支引起的暫停及減少分支開銷的方法 轉(zhuǎn)移失?。恨D(zhuǎn)移失?。篜CPC值加值加4 4 轉(zhuǎn)移成功:轉(zhuǎn)移成功:將將PCPC值改變?yōu)檗D(zhuǎn)移目標(biāo)地址值改變?yōu)檗D(zhuǎn)移目標(biāo)地址 一旦檢測到分支指令一旦檢測到分支指令( (在在IDID段段) ),就暫停,就暫停執(zhí)行其后的指令,直到分支指令到達(dá)執(zhí)行其后的指令,直到分支指令到達(dá)MEMMEM段,段,確定出新的確定出新的PCPC值為止。值為止。2. 處理分支指令最簡單的方法 3 流水線中的相關(guān) 在在DLXDLX流水線中,分支轉(zhuǎn)移成功導(dǎo)致流水線中,分支轉(zhuǎn)移成功導(dǎo)致暫停暫停3 3個(gè)個(gè)時(shí)鐘周期時(shí)鐘周期。 若分支指令的頻度為若分支指令的頻度為3030,理想理想CPICPI1 1, 則則 實(shí)際實(shí)際CPICPI1 13030323270212 減少分支開銷的兩種途徑 在流水線中盡早判斷分支轉(zhuǎn)移是否成功;在流水線中盡早判斷分支轉(zhuǎn)移是否成功; 轉(zhuǎn)移成功時(shí),盡早計(jì)算出轉(zhuǎn)移目標(biāo)地址。轉(zhuǎn)移成功時(shí),盡早計(jì)算出轉(zhuǎn)移目標(biāo)地址。兩者應(yīng)同時(shí)采用,缺一不可。兩者應(yīng)同時(shí)采用,缺一不可。對(duì)于對(duì)于DLX
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度茶葉茶具批發(fā)市場入駐管理合同3篇
- 2025年度智慧城市建設(shè)項(xiàng)目管理補(bǔ)充合同模板3篇
- 二零二五年度打井工程后期維護(hù)合同4篇
- 2025版臨時(shí)倉儲(chǔ)租賃服務(wù)合同標(biāo)準(zhǔn)文本4篇
- 2025年度電子產(chǎn)品表面處理代加工合同范本3篇
- 二零二五版煤礦井下作業(yè)人員勞動(dòng)合同范本4篇
- 2025年高校實(shí)驗(yàn)室?guī)熒鷦趧?wù)合同規(guī)范范本3篇
- 二零二五版環(huán)保工程承包合同擔(dān)保與環(huán)保效果評(píng)價(jià)協(xié)議范本4篇
- 二零二五年度海洋工程承包施工合同范本4篇
- 二零二五年度觸控技術(shù)培訓(xùn)與認(rèn)證合同4篇
- 部編版六年級(jí)下冊道德與法治全冊教案教學(xué)設(shè)計(jì)
- 【高空拋物侵權(quán)責(zé)任規(guī)定存在的問題及優(yōu)化建議7100字(論文)】
- 二年級(jí)數(shù)學(xué)上冊100道口算題大全 (每日一套共26套)
- 物流無人機(jī)垂直起降場選址與建設(shè)規(guī)范
- 肺炎臨床路徑
- 外科手術(shù)鋪巾順序
- 創(chuàng)新者的窘境讀書課件
- 聚焦任務(wù)的學(xué)習(xí)設(shè)計(jì)作業(yè)改革新視角
- 移動(dòng)商務(wù)內(nèi)容運(yùn)營(吳洪貴)任務(wù)三 APP的品牌建立與價(jià)值提供
- 電子競技范文10篇
- 食堂服務(wù)質(zhì)量控制方案與保障措施
評(píng)論
0/150
提交評(píng)論