歡迎來到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁 裝配圖網(wǎng) > 資源分類 > PPT文檔下載  

計(jì)算機(jī)組成原理 第 7 章.ppt

  • 資源ID:14536452       資源大小:814.06KB        全文頁數(shù):59頁
  • 資源格式: PPT        下載積分:14.9積分
快捷下載 游客一鍵下載
會(huì)員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺(tái)登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要14.9積分
郵箱/手機(jī):
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機(jī)號(hào),方便查詢和重復(fù)下載(系統(tǒng)自動(dòng)生成)
支付方式: 支付寶    微信支付   
驗(yàn)證碼:   換一換

 
賬號(hào):
密碼:
驗(yàn)證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會(huì)被瀏覽器默認(rèn)打開,此種情況可以點(diǎn)擊瀏覽器菜單,保存網(wǎng)頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請(qǐng)使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預(yù)覽文檔經(jīng)過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標(biāo)題沒有明確說明有答案則都視為沒有答案,請(qǐng)知曉。

計(jì)算機(jī)組成原理 第 7 章.ppt

現(xiàn)代計(jì)算機(jī)組成原理,潘 明 潘 松 編著,科學(xué)出版社,第 7 章,流水線結(jié)構(gòu)RISC CPU設(shè)計(jì),7.1 流水線的一般概念,7.1.1 DLX指令流水線結(jié)構(gòu),7.1 流水線的一般概念,7.1.1 DLX指令流水線結(jié)構(gòu),1非流水線結(jié)構(gòu)數(shù)據(jù)通路,圖7-1非流水線實(shí)現(xiàn)的指令解釋數(shù)據(jù)通路,7.1 流水線的一般概念,7.1.1 DLX指令流水線結(jié)構(gòu),1非流水線結(jié)構(gòu)數(shù)據(jù)通路,(1)取指令周期(IF): IR MemPC NPC PC + 1,(2)譯碼/讀寄存器周期(ID) A RegIR 6.10 B RegIR11.15 Imm ( (IR16)16# IR16.31),7.1 流水線的一般概念,7.1.1 DLX指令流水線結(jié)構(gòu),1非流水線結(jié)構(gòu)數(shù)據(jù)通路,(3)執(zhí)行/有效地址計(jì)算(ALU) Load/Store: ALUoutput A+Imm R-R ALU: ALUoutput A func B R-I ALU: ALUoutput A op Imm Branch: ALUoutput NPC + Imm; Cond A op 0,7.1 流水線的一般概念,7.1.1 DLX指令流水線結(jié)構(gòu),1非流水線結(jié)構(gòu)數(shù)據(jù)通路,(4)存儲(chǔ)器訪問/轉(zhuǎn)移完成(MEM) Load/Store: LMD MemALUoutput MemALUoutput B Branch: if (Cond) then PCALUoutput else PC NPC,7.1 流水線的一般概念,7.1.1 DLX指令流水線結(jié)構(gòu),1非流水線結(jié)構(gòu)數(shù)據(jù)通路,(5)寫回周期(WB) R-R ALU: RegsIR16.20 ALUoutput R-I ALU: RegsIR11.15 ALUoutput Load: RegsIR11.15 LMD,7.1 流水線的一般概念,7.1.1 DLX指令流水線結(jié)構(gòu),2DLX基本指令流水線,圖7-2 DLX基本指令流水線,7.1 流水線的一般概念,7.1.1 DLX指令流水線結(jié)構(gòu),2DLX基本指令流水線,表7-1 五級(jí)流水線的每一級(jí)的具體操作,7.1 流水線的一般概念,7.1.2流水線CPU的時(shí)空?qǐng)D,圖7-3 流水線時(shí)空?qǐng)D,7.1 流水線的一般概念,7.1.2流水線CPU的時(shí)空?qǐng)D,圖7-4 指令流水線的時(shí)空?qǐng)D,7.1 流水線的一般概念,7.1.2流水線CPU的時(shí)空?qǐng)D,(a) 一個(gè)指令流水線過程段 b)非流水線時(shí)空?qǐng)D,圖7-5 流水線時(shí)空?qǐng)D,7.1 流水線的一般概念,7.1.2流水線CPU的時(shí)空?qǐng)D,(c) 標(biāo)量流水時(shí)空?qǐng)D d)超標(biāo)量流水線時(shí)空?qǐng)D,圖7-5 流水線時(shí)空?qǐng)D,7.1 流水線的一般概念,7.1.3 流水線分類,7.2 流水線中的主要問題及處理,7.2.1 資源相關(guān),7.2 流水線中的主要問題及處理,7.2.2 數(shù)據(jù)相關(guān)及其分類,7.2 流水線中的主要問題及處理,7.2.3 數(shù)據(jù)競爭的處理技術(shù),【例7-1】數(shù)據(jù)相關(guān)實(shí)例 ADD R1,R2,R3 ; (R2)(R3)R1 SUB R4,R1,R5 ; (R1)(R5)R4 AND R6,R1,R7 ; (R1)(R7)R6,表7-2 例7-1中出現(xiàn)的數(shù)據(jù)相關(guān),7.2 流水線中的主要問題及處理,7.2.3 數(shù)據(jù)競爭的處理技術(shù),【例7-2】 (1) I1 ADD R1,R2,R3 ;(R2) 十 (R3) R1 I2 SUB R4,R1,R5 ;(R1) 一 (R5) R4 (2) I3 STA M(x),R3 ;(R3) M(x),M(x)是存儲(chǔ)單元 I4 ADD R3,R4,R5 ;(R4) (R5) R3 (3) I5 MUL R3,R1,R2 ;(R1) (R2) R3 I6 ADD R3,R4,R5 ;(R4) (R5) R3,【例7-3】 ADD R1,R2,R3 SUB R4,R5,R1 AND R6,R1,R7 OR R8,R1,R9 XOR R10,R1,R11,7.2 流水線中的主要問題及處理,7.2.3 數(shù)據(jù)競爭的處理技術(shù),圖7-6 例7-3的流水狀態(tài)圖,7.2 流水線中的主要問題及處理,7.2.3 數(shù)據(jù)競爭的處理技術(shù),【例7-4】 LW R1,0(R2) ;R1最早要等到第四拍MEM結(jié)束, ;才能得到數(shù)據(jù).(即才能從Data Memory讀入, 存入暫存器) SUB R4,R1,R5 ;SUB所用的R1最遲在第三拍EX開始時(shí)要準(zhǔn)備好, 與LW相差一拍。 AND R6,R1,R7 ;同SUB,可用“提前”方法解決 OR R8,R1,R9 ;同SUB,可用“提前”方法解決,7.2 流水線中的主要問題及處理,7.2.3 數(shù)據(jù)競爭的處理技術(shù),圖7-7引入forwarding path后的狀態(tài)圖,7.2 流水線中的主要問題及處理,7.2.3 數(shù)據(jù)競爭的處理技術(shù),圖7-8引入forwarding path的硬件示意圖,7.2 流水線中的主要問題及處理,7.2.3 數(shù)據(jù)競爭的處理技術(shù),圖7-9 引入forwarding后消除了Stall,7.2 流水線中的主要問題及處理,7.2.3 數(shù)據(jù)競爭的處理技術(shù),圖7-10 例7-4的流水線狀態(tài)圖,7.2 流水線中的主要問題及處理,7.2.3 數(shù)據(jù)競爭的處理技術(shù),圖7-11 插入Stall消除Load引起的競爭,7.2 流水線中的主要問題及處理,7.2.3 數(shù)據(jù)競爭的處理技術(shù),圖7-12 插入Stall消除Load引起競爭的電路結(jié)構(gòu),7.2 流水線中的主要問題及處理,7.2.4 控制相關(guān),在指令流水線中,為了減少因控制相關(guān)而引起的流水線性能下降,可采用如下方法:,(1)加快和提前形成條件碼,(2)轉(zhuǎn)移預(yù)測法,(3)優(yōu)化延遲轉(zhuǎn)移技術(shù),7.2 流水線中的主要問題及處理,7.2.5 流水實(shí)現(xiàn)的關(guān)鍵技術(shù),需要的解決關(guān)鍵技術(shù)有:,(1)首先必須保證在指令重疊時(shí),不存在任何流水線資源沖突問題。,(2)解決ID段和WB段在使用寄存器文件時(shí)出現(xiàn)的數(shù)據(jù)相關(guān)問題。,(3)解決PC改寫產(chǎn)生的控制競爭問題。,(4)使用流水線鎖存器。,(5)配置不同用途的算術(shù)/邏輯運(yùn)算部件。,(6)數(shù)據(jù)流向控制。,7.3流水線的性能評(píng)價(jià),7.3.1 流水線的性能指標(biāo),1流水線的主要性能指標(biāo),(1)吞吐率,(7-1),(7-2),7.3流水線的性能評(píng)價(jià),7.3.1 流水線的性能指標(biāo),1流水線的主要性能指標(biāo),(2)加速比,(7-3),(7-4),(3)使用效率,7.3流水線的性能評(píng)價(jià),7.3.1 流水線的性能指標(biāo),2CPU性能公式,(7-5),(7-6),(7-7),(7-8),(7-9),7.3流水線的性能評(píng)價(jià),7.3.2 應(yīng)用舉例,1一般流水線的性能分析,7-13 用4段加法器求8個(gè)數(shù)和的流水線時(shí)空?qǐng)D,流水線的吞吐率TP為,流水線的加速比S為,7.3流水線的性能評(píng)價(jià),7.3.2 應(yīng)用舉例,2流水線延時(shí)與開銷對(duì)流水線性能的影響,單條指令執(zhí)行時(shí)間 = CC 平均CPI = 10 (60% 4 + 40% 5)= 44ns 平均指令執(zhí)行時(shí)間:CCpipeline = 11ns 于是得到:Speedup = 44 /11 = 4,欲求若使用流水線,執(zhí)行速度提高了幾倍。計(jì)算方法是:,欲求執(zhí)行速度提高了幾倍?計(jì)算方法如下:,平均指令執(zhí)行時(shí)間 = 10+8+10+10+7 = 45ns, 而流水線時(shí)平均指令執(zhí)行時(shí)間 = 11ns; 于是得到:Speedup = 45/11 = 4.1,7.3流水線的性能評(píng)價(jià),7.3.2 應(yīng)用舉例,3流水線障礙(流水線競爭)對(duì)流水線性能的影響,(7-10),CPI pipeline = CPI ideal + 流水線stall周期 = 1 +流水線stall周期,(7-11),7.3流水線的性能評(píng)價(jià),7.3.2 應(yīng)用舉例,3流水線障礙(流水線競爭)對(duì)流水線性能的影響,(7-12),(7-13),7.3流水線的性能評(píng)價(jià),7.3.2 應(yīng)用舉例,4結(jié)構(gòu)競爭對(duì)流水線性能的影響,圖7-14 7-13 結(jié)構(gòu)競爭示意圖,7.3流水線的性能評(píng)價(jià),7.3.2 應(yīng)用舉例,4結(jié)構(gòu)競爭對(duì)流水線性能的影響,圖7-15 7-14 結(jié)構(gòu)競爭流水線狀態(tài)圖,7.3流水線的性能評(píng)價(jià),7.3.2 應(yīng)用舉例,5控制競爭對(duì)流水線性能的影響,圖7-15 7-14 結(jié)構(gòu)競爭流水線狀態(tài)圖,7.3流水線的性能評(píng)價(jià),7.3.2 應(yīng)用舉例,5控制競爭對(duì)流水線性能的影響,圖7-17 預(yù)測成功無停頓,7.3流水線的性能評(píng)價(jià),7.3.2 應(yīng)用舉例,5控制競爭對(duì)流水線性能的影響,圖7-18 預(yù)測失敗停頓一個(gè)周期,7.3流水線的性能評(píng)價(jià),7.3.3 Amdahl定律,Amdahl定律還可以表為如下形式,習(xí) 題,7-1判斷以下三組指令中各存在哪種類型的數(shù)據(jù)相關(guān)? (1)I1 LAD R1,A ;M(A) R1,M(A)是存儲(chǔ)器單元 I2 ADD R2,R1 ;(R2)(R1) R2 (2)I3 ADD R3,R4 ;(R3)(R4) R3 I4 MUL R4,R5 ;(R4)(R5) R4 (3)I5 LAD R6,B ;M(B) R6,M(B)是存儲(chǔ)單元 I6 MUL R6,R7 ;(R6) (R7) R6 7-2指令流水線有取指(IF)、譯碼(ID)、執(zhí)行(EX)、訪存(MEM)、寫回寄存器堆(WB)五個(gè)過程段,現(xiàn)共有2條指令連續(xù)輸入此流水線。畫出流水處理的時(shí)空?qǐng)D,假設(shè)時(shí)鐘周期為100ns。,習(xí) 題,7-3假設(shè)有一個(gè)計(jì)算機(jī)系統(tǒng)分為四級(jí),每一級(jí)指令都比它下面一級(jí)指令在功能上強(qiáng)M倍。即一條r+1級(jí)指令能夠完成M條r指令的工作,且一條r+1指令需要N條r級(jí)指令解釋。對(duì)于一段在第一級(jí)執(zhí)行時(shí)間為K的程序,在第二、第三、第四級(jí)上的一段等效程序需要執(zhí)行多少時(shí)間? 7-4對(duì)于一臺(tái)400MHz計(jì)算機(jī)執(zhí)行標(biāo)淮測試程序,此程序中的指令類型,執(zhí)行數(shù)量和平均時(shí)鐘周期數(shù)如下表,求該計(jì)算機(jī)的有效CPI、MIPS和程序執(zhí)行時(shí)間。,習(xí) 題,7-5計(jì)算機(jī)系統(tǒng)中有三個(gè)部件可以改進(jìn),這三個(gè)部件的部件加速比如下: 部件加速比1=30 ; 部件加速比2=20 ;部件加速比3=10 (1)如果部件1和部件2的可改進(jìn)比例均為30,那么當(dāng)部件3的可改進(jìn)比例為多少時(shí),系統(tǒng)加速比才可以達(dá)到10%? (2)如果三個(gè)部件的可改進(jìn)比例分別為30、30和20,三個(gè)部件同時(shí)改進(jìn),那么系統(tǒng)中不可加速部分的執(zhí)行時(shí)間在總執(zhí)行時(shí)間中占的比例是多少? (3)如果相對(duì)某個(gè)測試程序,三個(gè)部件的可改進(jìn)比例分別為20、20%和70要達(dá)到最好改進(jìn)效果,僅對(duì)一個(gè)部件改進(jìn)時(shí),要選擇哪個(gè)部件?如果允許改進(jìn)兩個(gè)部件,又如何選擇? 7-6在流水線處理器中,可能有哪幾種數(shù)據(jù)相關(guān)?這幾種相關(guān)分別發(fā)生在什么情況下?解決操作數(shù)相關(guān)的方法有哪幾種?,習(xí) 題,7-7假設(shè)在一臺(tái)40MHz處理器上運(yùn)行200 000條指令的目標(biāo)代碼,程序主要由四種指令組成。根據(jù)程序跟蹤實(shí)驗(yàn)結(jié)果,已知指令混合比和每種指令所需的指令數(shù)如下:,(1)計(jì)算在單處理機(jī)上用上述跟蹤數(shù)據(jù)運(yùn)行程序的平均CPI。 (2)根據(jù)(1)所得CPI,計(jì)算相應(yīng)MIPS速率。,習(xí) 題,7-8對(duì)于一臺(tái)40MHz計(jì)算機(jī)執(zhí)行標(biāo)準(zhǔn)測試程序,程序中指令類型,執(zhí)行數(shù)量和平均時(shí)鐘周期數(shù)如下:,求該計(jì)算機(jī)的有效CPI、MIPS和程序執(zhí)行時(shí)間。 7-9敘述Amdahl定律的主要內(nèi)容。,實(shí)驗(yàn)與設(shè)計(jì),實(shí)驗(yàn)7-1 乘法器實(shí)驗(yàn),圖7-19 最基本的硬件乘法器,實(shí)驗(yàn)與設(shè)計(jì),實(shí)驗(yàn)7-1 乘法器實(shí)驗(yàn),圖7-20 改進(jìn)后的硬件乘法器,實(shí)驗(yàn)與設(shè)計(jì),實(shí)驗(yàn)7-1 乘法器實(shí)驗(yàn),圖7-19 最基本的硬件乘法器,【例7-5】 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity mult is port(mul_clk,ema,emb : in std_logic; a,b : in std_logic_vector(15 downto 0); mul_a_out,mul_b_out : out std_logic_vector(15 downto 0); end mult; architecture rtl of mult is function and16_1(oper : in std_logic_vector(15 downto 0) ; sel:in std_logic) return std_logic_vector is begin if sel=1 then return oper; else return 0000000000000000 ; end if; end function and16_1; signalout0 : std_logic_vector(31 downto 0); signala_temp0:std_logic_vector(30 downto 0); signala_temp1:std_logic_vector(29 downto 0); signala_temp2:std_logic_vector(28 downto 0); signala_temp3:std_logic_vector(27 downto 0); signala_temp4:std_logic_vector(26 downto 0);,接下頁,實(shí)驗(yàn)與設(shè)計(jì),實(shí)驗(yàn)7-1 乘法器實(shí)驗(yàn),圖7-19 最基本的硬件乘法器,signala_temp5:std_logic_vector(25 downto 0); signala_temp6:std_logic_vector(24 downto 0); signala_temp7:std_logic_vector(23 downto 0); signala_temp8:std_logic_vector(22 downto 0); signala_temp9:std_logic_vector(21 downto 0); signala_temp10:std_logic_vector(20 downto 0); signala_temp11:std_logic_vector(19 downto 0); signala_temp12:std_logic_vector(18 downto 0); signala_temp13:std_logic_vector(17 downto 0); signala_temp14:std_logic_vector(16 downto 0); signala_temp15:std_logic_vector(15 downto 0); begin process(mul_clk) begin if rising_edge(mul_clk)then a_temp0(30 downto 15) <= and16_1(a,b(15);a_temp0(14 downto 0) <= b000000000000000 ; a_temp1(29 downto 14) <= and16_1(a,b(14);a_temp1(13 downto 0) <= b00000000000000 ; a_temp2(28 downto 13) <= and16_1(a,b(13);a_temp2(12 downto 0) <= b0000000000000 ; a_temp3(27 downto 12) <= and16_1(a,b(12);a_temp3(11 downto 0) <= b000000000000 ; a_temp4(26 downto 11) <= and16_1(a,b(11);a_temp4(10 downto 0) <= b00000000000 ; a_temp5(25 downto 10) <= and16_1(a,b(10);a_temp5(9 downto 0) <= b0000000000 ; a_temp6(24 downto 9) <= and16_1(a,b(9) ;a_temp6(8 downto 0) <= b000000000 ; a_temp7(23 downto 8) <= and16_1(a,b(8) ;a_temp7(7 downto 0) <= b00000000 ; a_temp8(22 downto 7) <= and16_1(a,b(7) ;a_temp8(6 downto 0) <= b0000000 ; a_temp9(21 downto 6) <= and16_1(a,b(6) ;a_temp9(5 downto 0) <= b000000 ;,接下頁,實(shí)驗(yàn)與設(shè)計(jì),實(shí)驗(yàn)7-1 乘法器實(shí)驗(yàn),圖7-19 最基本的硬件乘法器,a_temp10(20 downto 5) <= and16_1(a,b(5) ;a_temp10(4 downto 0) <= b00000 ; a_temp11(19 downto 4) <= and16_1(a,b(4) ;a_temp11(3 downto 0) <= b0000 ; a_temp12(18 downto 3) <= and16_1(a,b(3) ;a_temp12(2 downto 0) <= b000 ; a_temp13(17 downto 2) <= and16_1(a,b(2) ;a_temp13(1 downto 0) <= b00 ; a_temp14(16 downto 1) <= and16_1(a,b(1) ;a_temp14(0) <= 0 ; a_temp15 <= and16_1(a,b(0) ; end if; end process; process(a_temp0,a_temp1,a_temp2,a_temp3,a_temp4,a_temp5,a_temp6,a_temp7, a_temp8,a_temp9,a_temp10,a_temp11,a_temp12,a_temp13,a_temp14,a_temp15) variableout1,c1 :std_logic_vector(31 downto 0); variableout2 : std_logic_vector(29 downto 0); variableout3,c2 : std_logic_vector(27 downto 0); variableout4 : std_logic_vector(25 downto 0); variableout5,c3 : std_logic_vector(23 downto 0); variableout6 :std_logic_vector(21 downto 0); variableout7,c4 : std_logic_vector(19 downto 0); variableout8 : std_logic_vector(17 downto 0); variablec5 : std_logic_vector(31 downto 0); variablec6 : std_logic_vector(27 downto 0); begin out1 := (0 out2 := (0 use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity div is port(div_clk:in std_logic; ea,eb: in std_logic; a,b:in std_logic_vector(15 downto 0); div_a_out,div_b_out:out std_logic_vector(15 downto 0); end div; architecture rtl of div is signalsigna,signb:std_logic_vector(15 downto 0); begin process(div_clk),接下頁,實(shí)驗(yàn)與設(shè)計(jì),實(shí)驗(yàn)7-2 除法器實(shí)驗(yàn),variable a_temp,b_temp: std_logic_vector(15 downto 0); variablep,q:std_logic_vector(15 downto 0); begin if rising_edge(div_clk) then a_temp := a ; b_temp := b; p := b0000000000000000;q := b0000000000000000; for i in signarange loop p := p(14 downto 0) process(ea,eb,signa,signb) begin if ea=1 then div_a_out<=signa else div_a_out<=ZZZZZZZZZZZZZZZZ end if ; if eb=1 then div_b_out<=signb ; else div_b_out<=ZZZZZZZZZZZZZZZZ ; end if ; end process ; end rtl ;,實(shí)驗(yàn)與設(shè)計(jì),實(shí)驗(yàn)7-2 除法器實(shí)驗(yàn),圖7-23 除法運(yùn)算流程圖,實(shí)驗(yàn)與設(shè)計(jì),實(shí)驗(yàn)7-2 除法器實(shí)驗(yàn),圖7-24 1616除法器仿真運(yùn)算結(jié)果,

注意事項(xiàng)

本文(計(jì)算機(jī)組成原理 第 7 章.ppt)為本站會(huì)員(za****8)主動(dòng)上傳,裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng)(點(diǎn)擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因?yàn)榫W(wǎng)速或其他原因下載失敗請(qǐng)重新下載,重復(fù)下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!