[理工] 計組 data hazard

作者: livingforest (ecec780)   2020-08-18 00:41:47
想請問第二小題的是否resolvable by forwarding
我畫出來的pipeline和forwarding跟解答不太一樣
我的想法是(I1, I3), (I4, I6)的data hazard因為register在同個cycle先寫入後讀取
所以在第5、第9個cycle時,I3的$t2和I6的$t4可以得到正確的值,不需forwarding
剩下的就如我畫出來的
不知道我是不是有什麼地方搞錯了


作者: NTUmaki (西木野真姬)   2020-08-18 18:32:00
4,6 你想想看 add 什麼時候才會寫入暫存器? 1,3 我不清楚 他一個是從記憶load 我不確定是不是會比讀暫存器還快老師上課說先寫後讀是針對暫存器那邊,記憶體我記得沒說過誰會先 但是牽扯到記憶體應該比暫存器還慢 所以我覺得他會先拿暫存器舊值,然後才會被load進新值
作者: livingforest (ecec780)   2020-08-18 21:04:00
add最快在EX產生正確的值,然後到MEM forwarding給sw,可是5,6遇到load use需要stall一個cycle,sw在stall的那個cycle時add將正確的值寫入暫存器sw再從暫存器讀出,這樣不就不需要forwarding了嗎?
作者: jason35512 (jason2714)   2020-09-11 14:44:00
13 46間都剛好有一個load use所以會stall一個clock所以那兩個都不用fowarding就可以拿到正確的值在先寫後讀的前提下

Links booklink

Contact Us: admin [ a t ] ucptt.com