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

作者: HiltonCool (野獸瘋)   2014-10-13 23:47:07
※ 引述《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
: .
: . 以下略
: .
: 謝謝大家看完 , 再請大家指導惹
作者: qoojordon (穎川琦)   2014-10-14 07:32:00
謝謝你的回答 , 我少思考好多細節 , 非常感謝

Links booklink

Contact Us: admin [ a t ] ucptt.com