作者CaliforCat (加州貓)
看板Grad-ProbAsk
標題[理工] 計組 pipeline
時間Thu Jan 29 10:10:37 2015
http://i.imgur.com/IFqunzv.jpg
第一行寫暫存器在時脈的邊緣才改變內容
add $1, $1, $2
sw $1, 20($2)
在不使用forwarding時要插入兩個nop
add跑到WB階段時才更改register $s1的值
而同時間sw 在ID階段就讀取$s1的值
如果暫存器是先讀後寫,
這樣sw不就讀到還沒更新的內容?
實在不懂這邊
謝謝!
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 49.215.199.133
※ 文章網址: https://www.ptt.cc/bbs/Grad-ProbAsk/M.1422497439.A.69F.html
推 galapous: 所以register是在clock信號升起時寫入下降時才讀01/29 10:14
所以register應該是先寫後讀才正確嗎?
※ 編輯: CaliforCat (49.215.199.133), 01/29/2015 10:32:17
推 galapous: 為啥load use要插三個?沒forwarding應該都2個吧 01/29 10:33
→ CaliforCat: lw是兩個沒錯,我看錯了,sor。 01/29 10:38
→ galapous: 嗯,先寫後讀 01/29 10:39
→ CaliforCat: 懂了,謝謝! 01/29 10:51
推 a95641126: Wb前半週期寫id後半週期讀這樣比較好記 01/29 12:11