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

計算機組成原理 第 7 章.ppt

  • 資源ID:14536452       資源大?。?span id="5hslevt" class="font-tahoma">814.06KB        全文頁數(shù):59頁
  • 資源格式: PPT        下載積分:14.9積分
快捷下載 游客一鍵下載
會員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要14.9積分
郵箱/手機:
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機號,方便查詢和重復下載(系統(tǒng)自動生成)
支付方式: 支付寶    微信支付   
驗證碼:   換一換

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

計算機組成原理 第 7 章.ppt

現(xiàn)代計算機組成原理,潘 明 潘 松 編著,科學出版社,第 7 章,流水線結構RISC CPU設計,7.1 流水線的一般概念,7.1.1 DLX指令流水線結構,7.1 流水線的一般概念,7.1.1 DLX指令流水線結構,1非流水線結構數(shù)據通路,圖7-1非流水線實現(xiàn)的指令解釋數(shù)據通路,7.1 流水線的一般概念,7.1.1 DLX指令流水線結構,1非流水線結構數(shù)據通路,(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指令流水線結構,1非流水線結構數(shù)據通路,(3)執(zhí)行/有效地址計算(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指令流水線結構,1非流水線結構數(shù)據通路,(4)存儲器訪問/轉移完成(MEM) Load/Store: LMD MemALUoutput MemALUoutput B Branch: if (Cond) then PCALUoutput else PC NPC,7.1 流水線的一般概念,7.1.1 DLX指令流水線結構,1非流水線結構數(shù)據通路,(5)寫回周期(WB) R-R ALU: RegsIR16.20 ALUoutput R-I ALU: RegsIR11.15 ALUoutput Load: RegsIR11.15 LMD,7.1 流水線的一般概念,7.1.1 DLX指令流水線結構,2DLX基本指令流水線,圖7-2 DLX基本指令流水線,7.1 流水線的一般概念,7.1.1 DLX指令流水線結構,2DLX基本指令流水線,表7-1 五級流水線的每一級的具體操作,7.1 流水線的一般概念,7.1.2流水線CPU的時空圖,圖7-3 流水線時空圖,7.1 流水線的一般概念,7.1.2流水線CPU的時空圖,圖7-4 指令流水線的時空圖,7.1 流水線的一般概念,7.1.2流水線CPU的時空圖,(a) 一個指令流水線過程段 b)非流水線時空圖,圖7-5 流水線時空圖,7.1 流水線的一般概念,7.1.2流水線CPU的時空圖,(c) 標量流水時空圖 d)超標量流水線時空圖,圖7-5 流水線時空圖,7.1 流水線的一般概念,7.1.3 流水線分類,7.2 流水線中的主要問題及處理,7.2.1 資源相關,7.2 流水線中的主要問題及處理,7.2.2 數(shù)據相關及其分類,7.2 流水線中的主要問題及處理,7.2.3 數(shù)據競爭的處理技術,【例7-1】數(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ù)據相關,7.2 流水線中的主要問題及處理,7.2.3 數(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)是存儲單元 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ù)據競爭的處理技術,圖7-6 例7-3的流水狀態(tài)圖,7.2 流水線中的主要問題及處理,7.2.3 數(shù)據競爭的處理技術,【例7-4】 LW R1,0(R2) ;R1最早要等到第四拍MEM結束, ;才能得到數(shù)據.(即才能從Data Memory讀入, 存入暫存器) SUB R4,R1,R5 ;SUB所用的R1最遲在第三拍EX開始時要準備好, 與LW相差一拍。 AND R6,R1,R7 ;同SUB,可用“提前”方法解決 OR R8,R1,R9 ;同SUB,可用“提前”方法解決,7.2 流水線中的主要問題及處理,7.2.3 數(shù)據競爭的處理技術,圖7-7引入forwarding path后的狀態(tài)圖,7.2 流水線中的主要問題及處理,7.2.3 數(shù)據競爭的處理技術,圖7-8引入forwarding path的硬件示意圖,7.2 流水線中的主要問題及處理,7.2.3 數(shù)據競爭的處理技術,圖7-9 引入forwarding后消除了Stall,7.2 流水線中的主要問題及處理,7.2.3 數(shù)據競爭的處理技術,圖7-10 例7-4的流水線狀態(tài)圖,7.2 流水線中的主要問題及處理,7.2.3 數(shù)據競爭的處理技術,圖7-11 插入Stall消除Load引起的競爭,7.2 流水線中的主要問題及處理,7.2.3 數(shù)據競爭的處理技術,圖7-12 插入Stall消除Load引起競爭的電路結構,7.2 流水線中的主要問題及處理,7.2.4 控制相關,在指令流水線中,為了減少因控制相關而引起的流水線性能下降,可采用如下方法:,(1)加快和提前形成條件碼,(2)轉移預測法,(3)優(yōu)化延遲轉移技術,7.2 流水線中的主要問題及處理,7.2.5 流水實現(xiàn)的關鍵技術,需要的解決關鍵技術有:,(1)首先必須保證在指令重疊時,不存在任何流水線資源沖突問題。,(2)解決ID段和WB段在使用寄存器文件時出現(xiàn)的數(shù)據相關問題。,(3)解決PC改寫產生的控制競爭問題。,(4)使用流水線鎖存器。,(5)配置不同用途的算術/邏輯運算部件。,(6)數(shù)據流向控制。,7.3流水線的性能評價,7.3.1 流水線的性能指標,1流水線的主要性能指標,(1)吞吐率,(7-1),(7-2),7.3流水線的性能評價,7.3.1 流水線的性能指標,1流水線的主要性能指標,(2)加速比,(7-3),(7-4),(3)使用效率,7.3流水線的性能評價,7.3.1 流水線的性能指標,2CPU性能公式,(7-5),(7-6),(7-7),(7-8),(7-9),7.3流水線的性能評價,7.3.2 應用舉例,1一般流水線的性能分析,7-13 用4段加法器求8個數(shù)和的流水線時空圖,流水線的吞吐率TP為,流水線的加速比S為,7.3流水線的性能評價,7.3.2 應用舉例,2流水線延時與開銷對流水線性能的影響,單條指令執(zhí)行時間 = CC 平均CPI = 10 (60% 4 + 40% 5)= 44ns 平均指令執(zhí)行時間:CCpipeline = 11ns 于是得到:Speedup = 44 /11 = 4,欲求若使用流水線,執(zhí)行速度提高了幾倍。計算方法是:,欲求執(zhí)行速度提高了幾倍?計算方法如下:,平均指令執(zhí)行時間 = 10+8+10+10+7 = 45ns, 而流水線時平均指令執(zhí)行時間 = 11ns; 于是得到:Speedup = 45/11 = 4.1,7.3流水線的性能評價,7.3.2 應用舉例,3流水線障礙(流水線競爭)對流水線性能的影響,(7-10),CPI pipeline = CPI ideal + 流水線stall周期 = 1 +流水線stall周期,(7-11),7.3流水線的性能評價,7.3.2 應用舉例,3流水線障礙(流水線競爭)對流水線性能的影響,(7-12),(7-13),7.3流水線的性能評價,7.3.2 應用舉例,4結構競爭對流水線性能的影響,圖7-14 7-13 結構競爭示意圖,7.3流水線的性能評價,7.3.2 應用舉例,4結構競爭對流水線性能的影響,圖7-15 7-14 結構競爭流水線狀態(tài)圖,7.3流水線的性能評價,7.3.2 應用舉例,5控制競爭對流水線性能的影響,圖7-15 7-14 結構競爭流水線狀態(tài)圖,7.3流水線的性能評價,7.3.2 應用舉例,5控制競爭對流水線性能的影響,圖7-17 預測成功無停頓,7.3流水線的性能評價,7.3.2 應用舉例,5控制競爭對流水線性能的影響,圖7-18 預測失敗停頓一個周期,7.3流水線的性能評價,7.3.3 Amdahl定律,Amdahl定律還可以表為如下形式,習 題,7-1判斷以下三組指令中各存在哪種類型的數(shù)據相關? (1)I1 LAD R1,A ;M(A) R1,M(A)是存儲器單元 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)是存儲單元 I6 MUL R6,R7 ;(R6) (R7) R6 7-2指令流水線有取指(IF)、譯碼(ID)、執(zhí)行(EX)、訪存(MEM)、寫回寄存器堆(WB)五個過程段,現(xiàn)共有2條指令連續(xù)輸入此流水線。畫出流水處理的時空圖,假設時鐘周期為100ns。,習 題,7-3假設有一個計算機系統(tǒng)分為四級,每一級指令都比它下面一級指令在功能上強M倍。即一條r+1級指令能夠完成M條r指令的工作,且一條r+1指令需要N條r級指令解釋。對于一段在第一級執(zhí)行時間為K的程序,在第二、第三、第四級上的一段等效程序需要執(zhí)行多少時間? 7-4對于一臺400MHz計算機執(zhí)行標淮測試程序,此程序中的指令類型,執(zhí)行數(shù)量和平均時鐘周期數(shù)如下表,求該計算機的有效CPI、MIPS和程序執(zhí)行時間。,習 題,7-5計算機系統(tǒng)中有三個部件可以改進,這三個部件的部件加速比如下: 部件加速比1=30 ; 部件加速比2=20 ;部件加速比3=10 (1)如果部件1和部件2的可改進比例均為30,那么當部件3的可改進比例為多少時,系統(tǒng)加速比才可以達到10%? (2)如果三個部件的可改進比例分別為30、30和20,三個部件同時改進,那么系統(tǒng)中不可加速部分的執(zhí)行時間在總執(zhí)行時間中占的比例是多少? (3)如果相對某個測試程序,三個部件的可改進比例分別為20、20%和70要達到最好改進效果,僅對一個部件改進時,要選擇哪個部件?如果允許改進兩個部件,又如何選擇? 7-6在流水線處理器中,可能有哪幾種數(shù)據相關?這幾種相關分別發(fā)生在什么情況下?解決操作數(shù)相關的方法有哪幾種?,習 題,7-7假設在一臺40MHz處理器上運行200 000條指令的目標代碼,程序主要由四種指令組成。根據程序跟蹤實驗結果,已知指令混合比和每種指令所需的指令數(shù)如下:,(1)計算在單處理機上用上述跟蹤數(shù)據運行程序的平均CPI。 (2)根據(1)所得CPI,計算相應MIPS速率。,習 題,7-8對于一臺40MHz計算機執(zhí)行標準測試程序,程序中指令類型,執(zhí)行數(shù)量和平均時鐘周期數(shù)如下:,求該計算機的有效CPI、MIPS和程序執(zhí)行時間。 7-9敘述Amdahl定律的主要內容。,實驗與設計,實驗7-1 乘法器實驗,圖7-19 最基本的硬件乘法器,實驗與設計,實驗7-1 乘法器實驗,圖7-20 改進后的硬件乘法器,實驗與設計,實驗7-1 乘法器實驗,圖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);,接下頁,實驗與設計,實驗7-1 乘法器實驗,圖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 ;,接下頁,實驗與設計,實驗7-1 乘法器實驗,圖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),接下頁,實驗與設計,實驗7-2 除法器實驗,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 ;,實驗與設計,實驗7-2 除法器實驗,圖7-23 除法運算流程圖,實驗與設計,實驗7-2 除法器實驗,圖7-24 1616除法器仿真運算結果,

注意事項

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

溫馨提示:如果因為網速或其他原因下載失敗請重新下載,重復下載不扣分。




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

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

備案號:ICP2024067431-1 川公網安備51140202000466號


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