看板 Grad-ProbAsk 關於我們 聯絡資訊
https://i.imgur.com/VeWb1O6.jpg
嗨,請教一下,這裡的IF/ID register,將左半塗色代表正在寫入,右半代表讀取 那假設一個指令A正在ID階段,指令B在IF階段,是A在前半個cycle先讀取,B在後半個cycle 寫入嗎? 因為照前幾章Register的畫法,塗色左半代表前半個cycle,右半代表後半個cycle,但IF/I D Register這裡如果用同個邏輯想,先寫後讀,就會拿到錯的Data了,所以很困惑...... 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.36.95.24 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Grad-ProbAsk/M.1604807717.A.A27.html
seafoodccu: 可是AB指令在不同stage,使用不同function unit 11/08 20:36
seafoodccu: 啊啊你是問IF/ID reg 11/08 20:39
seafoodccu: 看不太懂你的問題QQ 11/08 20:44
z598998599: 我寫得不太清楚,是指假設一個指令A正在下面的圖的狀 11/08 21:50
z598998599: 態,一個指令B在上面的圖的狀態,A在ID,B在IF, 11/08 21:50
z598998599: B這時候要寫入IF/ID register,A在這時候要讀取IF/ID 11/08 21:50
z598998599: register, 11/08 21:50
z598998599: 這樣是讓A讀完才讓B寫入嗎? 11/08 21:50
z598998599: 是各別用半個cycle去做嗎? 11/08 21:50
joey11121: https://i.imgur.com/q5EEX8g.jpg 11/09 11:55
joey11121: https://i.imgur.com/GmUlsFn.jpg 11/09 11:55
joey11121: 也就是說,PC某種程度上也會算成是一個pipeline reg 11/09 11:57
z598998599: 好詳細,了解了,謝謝你 11/09 16:40