[理工] 104中山计组

楼主: AAQ8 (不要就是要)   2019-01-15 21:47:30
https://i.imgur.com/ORxW7M5.jpg
想请问这题的第二题
我的想法是
1000个指令会有500组的lw+add
在没有forwarding的情况下
每组中间会插两个nop
变成下面那样
lw
nop
nop
add
那这样的话算式是
((5-1)+1000+500*2)/1000
不过我不懂为什么和答案不一样
不知道哪里想错了
作者: wei12f8158 (WEI)   2019-01-15 22:01:00
因为第一题有说lw跟add还有add跟lw之间都有data hazard所以会是lw 2*nop add 2*nop lw 2*nop add ... 这样
作者: o5739201 (车贷学贷付二贷)   2019-01-15 22:26:00
lw跟add之间有500格但add跟lw之间只有499格因为add是最后一个指令 所以最后不用插所有是(500+499)*2
作者: kaidi620 (万能屎哥)   2019-01-16 08:24:00
抱歉 请问一下 1000个指令 然后一组有四个 不是1000/4=250组吗 抱歉小弟很弱500组是怎么来的 请问一下QQ
作者: springleaf1 (懶貓)   2019-01-16 08:33:00
1小题有说是lw, add, lw, add, ...交互穿插然后2小题是照1小题的条件去算,只是少了Forwarding所以是1000÷2 而非1000÷4
作者: rockieloser (友善大队长)   2019-01-16 12:11:00
是lw都要多停一个吧? 500*(lw stall add)
作者: o5739201 (车贷学贷付二贷)   2019-01-16 15:08:00
是lw add这样算一组喔共500组1000指令Lw跟add 有load use 插2个而add 跟下一组的 lw 有hazard插2个第1000个指令不用插所以499个

Links booklink

Contact Us: admin [ a t ] ucptt.com