作者Astar5566 (一顆星5566)
看板Grad-ProbAsk
標題Re: [理工] 105交大計系
時間Wed Jan 4 21:54:51 2017
※ 引述《t6091560915 (阿德)》之銘言:
: 大家好 請問第18題 (b) (c) 選項
: http://i.imgur.com/LhDh0L4.jpg?1
: 我的算法
: (B)
: add $r1,$r8, &r10
: NOP
: NOP
: lw $r2, 4($r1)
: NOP
: NOP
: addi $r2, $r2, 10
: NOP
: NOP
: multi $r2, $r2, 2
: NOP
: NOP
: sw $r2, 12($r1)
: 共需 (5-1)+5+8 = 17 cycles
: (C)
: add $r1,$r8, &r10
: lw $r2, 4($r1)
: NOP
: addi $r2, $r2, 10
: multi $r2, $r2, 2
: sw $r2, 12($r1)
: 共(5-1)+5+1 = 10 cycles
: 請問有什麼地方有錯誤嗎 謝謝大家
最終交大的答案是ad
想請問大家c跟d到底要怎麼看
我的想法是
c是11
沒有hazrad detect
load use 不能forward 所以9+2
d是10
有hazard detect
load use可以forward所以9+1
看題庫的解答c跟d都是10
那不是代表有沒有hazard detect
都只要暫停1cycle就可以forward
這樣hazard detect還有存在的必要嗎?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.137.190.139
※ 文章網址: https://www.ptt.cc/bbs/Grad-ProbAsk/M.1483538094.A.E93.html
推 joeboy: 推我也不知道為什麼 01/04 21:55
→ ken52011219: 我還沒寫用看的,lw ,add加nop後可以由forwarding解 01/04 23:14
→ ken52011219: 決 4+6=10 01/04 23:14
→ ken52011219: D. 4+5+1 stall= 10 01/04 23:15
→ ken52011219: +2是指2stall 還是2 nop 這不一樣哦 01/04 23:19
→ lingege32: 我認為c 要馬學第一題不管對錯給他執行完 9 clock 不 01/05 01:27
→ lingege32: 然就第二題 lw add中間加個nop讓他forward 不會想你 01/05 01:27
→ lingege32: 一樣加兩個nop啦ˊˋ 01/05 01:27
→ Astar5566: 那hazarf detect unit有沒又存在跟本沒差就對了? 01/05 15:03
推 aa06697: 如果你是說都要浪費一個cycle再forwarding這點的話 那他 01/05 16:17
→ aa06697: 們是沒差的 但一個是軟體去插NOP 一個是硬體去stall 這就 01/05 16:17
→ aa06697: 有差 硬體成本會增加但portability較高且減少compiler的 01/05 16:17
→ aa06697: 負擔 01/05 16:17
→ yupog2003: aa大的解釋讓我豁然開朗,原本我也有跟A大同樣的疑問 01/05 16:55