
[理工] 103交大資聯 計組


#12題的解答是bcd
c的解法是 CPI= 1 + 0.4*0.25 + 0.4*2 = 1.9
﹋﹋﹋﹋
↑想問這怎麼來的
目前我的想法是 CPI=1+bez_stall
依現在版本bez在EX判斷,所以IF、ID要插入nop
nop nop bez ....
┌--------------┐
| IF | ID | EX | MEM | WB|
└--------------┘
=> bez_stall = 0.4*2
若是將beg拆成 sub r1,r3,r5
bez r1,1000 後
因為有data dependency(r1)
所以應該要等r1存回register後bez才可以動作
... bez nop nop sub
┌--------------┐
| IF | ID | EX | MEM | WB|
└--------------┘
=> bez_stall = 0.4*2 + 0.4*0.25*2
或是,如果有forwarding則是不須加nop
... ... bez sub
┌--------------┐
| IF | ID | EX |┐MEM |WB|
└-------↑-|----┘
 ̄ ̄
=> bez_stall = 0.4*2 + 0.4*0.25*0
這樣的話 原算式的0.4*0.25是怎麼來的啊@@
而且它題目也沒標明有沒有forwarding
寫的時候都不知道用哪種算法才對
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.194.154.147
※ 文章網址: https://www.ptt.cc/bbs/Grad-ProbAsk/M.1455808620.A.207.html
→
02/18 23:27, , 1F
02/18 23:27, 1F
→
02/18 23:27, , 2F
02/18 23:27, 2F
→
02/18 23:28, , 3F
02/18 23:28, 3F
→
02/18 23:29, , 4F
02/18 23:29, 4F
我現在才在寫啊XD
考慮多出來的指令是什麼意思?
※ 編輯: Bassy (123.194.154.147), 02/18/2016 23:53:28
→
02/19 01:04, , 5F
02/19 01:04, 5F
→
02/19 02:40, , 6F
02/19 02:40, 6F