Re: [資工]交大100計組 data hazrd

看板Grad-ProbAsk作者 (野獸瘋)時間9年前 (2014/10/13 23:47), 9年前編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/2 (看更多)
※ 引述《qoojordon (穎川琦)》之銘言: : Q1: : lw = 400+200+(40+120)+350+(40+200)=1350 : 想問ID stage 不用加上Sign-Ext的延遲是因為線路同時跑 Reg File 和 Sign-Ext , : 因為前者時間長所以不用考慮後者 ? lw指令只要比較rs、rt和16-bit constant三者的資料路徑 需要跑完資料流花掉最長時間者即為lw指令的cycle time rs:IM(400) + Reg(200) + ALU(120) + DM(350) + MUX(40) + Reg(200) = 1310 rt:IM(400) + MUX(40) + Reg(200) = 640 16-bit constant:IM(400) + SE(20) + MUX(40) + ALU(120) + DM(350) + MUX(40) + Reg(200) = 1170 所以lw指令的cycle time為1310 ps 此題答案有誤 : Q1-1: : 如果是的話 , 同理 , 在beq的 EX stage也有相同狀況 ? : beq = 400+200+40+120+40 = 800 beq也是一樣要比較rs、rt和memory address(有時候題目會直接寫成16-bit constant) 三者的資料路徑 rs:IM(400) + Reg(200) + ALU(120) = 720 rt:IM(400) + MUX(40) + Reg(200) + MUX(40) + ALU(120) = 800 ma:Adder(100) + Adder(100) + MUX(40) = 240 所以beq指令的cycle time為800 ps : (sll 2 和 分支位址加法)與(ALUSrc 和 ALU)同時跑取延遲大者 ? : [交大100 計組非選5(a)] : 題目截圖 http://ppt.cc/0UL2 : 1 lw $t2,4($t0) 為啥一樣是load use , I1,I3有data hazard : 2 lw $t3,4($t1) 可是 I2,I4沒有 ? : 3 or $t3,$t2,$t3 : 4 add $t4,$t2,$t3 add指令的$3雖然跟lw與or指令有data dependency 但實際上會造成hazard的只有or跟add指令 因為add指令要用的$3是or的運算結果而非lw的運算結果 所以lw指令與add指令不會有hazard : . : . 以下略 : . : 謝謝大家看完 , 再請大家指導惹 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.42.179.77 ※ 文章網址: http://www.ptt.cc/bbs/Grad-ProbAsk/M.1413215230.A.1BA.html ※ 編輯: HiltonCool (114.42.179.77), 10/13/2014 23:48:20

10/14 07:32, , 1F
謝謝你的回答 , 我少思考好多細節 , 非常感謝
10/14 07:32, 1F
文章代碼(AID): #1KE_F-6w (Grad-ProbAsk)
文章代碼(AID): #1KE_F-6w (Grad-ProbAsk)