[理工] 計組 Ex/Mem.RegisterRd!=0

看板Grad-ProbAsk作者 (沒有暱稱)時間10年前 (2014/02/04 19:44), 編輯推噓2(205)
留言7則, 3人參與, 最新討論串1/1
http://imgur.com/ngBKenO
看不太懂他在寫啥 第六行說避免前饋非0的值(!=0) 下一行卻說只要不前饋$0的值(==0) 所以它到底要哪一個?不過根據結論應該是"不前饋$0的值" 而為什麼要這樣的條件?? 如果當下指令的目的暫存器是$0了 下一行指令的rs 或 rt又是$0那就沒有必要前饋? 可是前饋了會怎樣呢? 會花時間嗎? 如果不會花時間 那前饋$0應該沒差吧? 還是有其他的問題? 求解謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.42.232.95

02/04 19:58, , 1F
因為寫入到0暫存器的指令會被忽略,但是可能不是0,比方
02/04 19:58, 1F

02/04 19:59, , 2F
add 0 s1 s2,s1+s2可能是5,但是這行執行完0還是0,可是
02/04 19:59, 2F

02/04 19:59, , 3F
如果前饋,則下一行會忽略0永遠是0,反而用前饋的5。
02/04 19:59, 3F

02/04 20:15, , 4F
addi $zero, $zero, 5 這句話到 WB 階段 zero 還是0
02/04 20:15, 4F

02/04 20:16, , 5F
但如果用下一行是 addi $t1, $zero, 5
02/04 20:16, 5F

02/04 20:16, , 6F
前饋會讓 $t1 變成 10
02/04 20:16, 6F

02/04 22:16, , 7F
謝謝兩位 A4大每次都會回 很感激
02/04 22:16, 7F
文章代碼(AID): #1IyDA18j (Grad-ProbAsk)