看板 Grad-ProbAsk 關於我們 聯絡資訊
※ 引述《wei12f8158 (WEI)》之銘言: : 請問一下這題8th cycle的Forwarding B答案是不是錯了? : https://i.imgur.com/Y4buIT5.jpg : https://i.imgur.com/kHRjsLG.jpg : https://i.imgur.com/sRNPzhw.jpg : 我排出來是這樣,xor的rt跟or的rd有data hazard,所以EX的Forwarding B應該要設成 01 : 去抓ME的data這樣對嗎? : 想確認一下,謝謝~ : ※ 引述《Aa841018 (andrew)》之銘言: : : https://i.imgur.com/SNOG29T.jpg : : https://i.imgur.com/kSTn2DI.jpg : : 這題一直搞不懂,因為以cycle來看的話,同時會有不同指令在不同階段執行,那也 : 是 : : 說有可能一方面mem write=1另一方面MemtoReg=1嗎? : : 我是以這為前提去做,卻發現有些矛盾的地方,比如說:9 cycle時,沒有任何指令 的I : D : : 在執行,但RegDst卻=1、7 cycle forward A=00 forward B=01 : : 但我算卻是 instruction 4 forward instruction 5---B=10,然後instruction 4 f or : wa : : rd instruction 6---A=01 : : 雖然我的答案自己也覺得有些不穩,但至少這題B不可能=01吧!唯一B=01的可能就是 i : ns : : tructuon 3 forward imstruction 5,但這樣做根本沒意義,因為中間instruction 4 : 就 : : 蓋掉了,值仍然是錯的……… : : 這題一直想不太通,求解…… 請問RegDst,後面7-9cycle是1,是因為R-type在WB,但5 cycle 時,SW在WB,RegDst不 應該是X嗎?怎麼會是1? 然後6 cycle lw在WB應該是0吧?但答案寫1… 想了好久還是想不通 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 39.9.66.250 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Grad-ProbAsk/M.1578502252.A.D79.html
mi981027: RegDst要看在EX階段的指令是誰 01/09 01:05
mi981027: 5th cycle時是sub在EX階段 所以是1 01/09 01:05
mi981027: 6th cycle是qnd在EX 也是1 01/09 01:05
Aa841018: 懂了,謝謝你! 01/09 08:22