[理工] 計組 forwarding

作者: hopward (hopward)   2016-09-20 15:43:47
想請教一下張凡老師課本第527頁第7題的第3小題的解答
http://i.imgur.com/MMwraqL.jpg
為何第3小題解答中的stall那欄會是0呢,hazard detection unit在lw指令的EX stage偵測到load-use data hazard後應該會將stall設為1阿
但若因為是題目from beginning的關係,那麼src1跟src2的值應該會是clock cycle time 4結束時的結果10跟00阿??
還是我誤會什麼了嗎囧
http://i.imgur.com/hEywWg7.jpg
作者: kyuudonut (善良老百姓)   2016-09-20 16:11:00
卡 from beginning 到底是什麼神奇的用詞
作者: windwaker112 (阿茄)   2016-09-20 17:01:00
他指的應該是在第5個當下stall的值 也就是那根信號線在第五個cycle 時電線裡的信號 而不是指pipereg.裡的stall值
作者: kyuudonut (善良老百姓)   2016-09-20 17:20:00
pipe reg. 裏面應該沒stall吧?
作者: windwaker112 (阿茄)   2016-09-20 17:26:00
而且4,5間是load要進ex階段 那時的signal scr1是接add的forwarding 跟 scr2是接sign ex.所以是1011而此時在cycle5結束時stall雖然會被設成1但是在一開始的時候hazard還沒偵測到所以stall還是0對reg裡面沒有stall 我說錯了 拍謝
作者: kyuudonut (善良老百姓)   2016-09-20 17:41:00
簡言之就是看cycle4設定完的信號線沒錯吧?為什麼cycle4的add src2要設11?
作者: windwaker112 (阿茄)   2016-09-20 18:15:00
因為題目的圖沒有畫出sign ex的線路 所以自己註解並希望老師大發慈悲的給分吧 畢竟寫00 01 10都是錯的
作者: kyuudonut (善良老百姓)   2016-09-20 18:45:00
可是add不是兩個operand都吃register 的值@@?
作者: windwaker112 (阿茄)   2016-09-20 19:07:00
在cycle5時兩個add 一個在id 一個在mem階段跟src1src2沒什麼相干吧 只要專注在signal 狀態就好 先不要想reg裡的東西 從另一個角度來看 題目是在問我在5的一開始信號要怎樣設置此cycle才會對 一開始hazard unit根本就還沒偵測不可能直接設1 ,src1src2 不設成那樣lw ex階段會算錯 這樣看比較簡單
作者: kyuudonut (善良老百姓)   2016-09-20 19:56:00
大致了解了 感覺在玩文字遊戲啊囧謝謝!
作者: windwaker112 (阿茄)   2016-09-20 20:05:00
應該說是我是以解釋答案的角度看 不然其實hazard&forwarding應該一樣快 stall 應該也要被設成1了不然stall0 src1,2也應該是清掉或是上一個cycle的狀態 我大概懂你的點

Links booklink

Contact Us: admin [ a t ] ucptt.com