計組 forwarding 問題

看板Grad-ProbAsk作者 (X丞)時間8年前 (2017/10/08 12:13), 編輯推噓8(8019)
留言27則, 6人參與, 8年前最新討論串1/1
https://i.imgur.com/0HVgLfd.jpg
如圖 想請問各位 如果沒有forwarding的話 1、2、3、4分別需要插入多少nop指令? 感謝大家的幫忙 謝謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 112.104.142.177 ※ 文章網址: https://www.ptt.cc/bbs/Grad-ProbAsk/M.1507436021.A.CF9.html

10/08 12:33, 8年前 , 1F
應該只有第一題需要插2個 nop
10/08 12:33, 1F

10/08 12:34, 8年前 , 2F
另外三個應該都沒 data hazar 還請其他大大確認
10/08 12:34, 2F

10/08 12:59, 8年前 , 3F
2到4好像沒有Data hazard耶,像第二題SW我記得是讀t0
10/08 12:59, 3F

10/08 12:59, 8年前 , 4F
跟t1兩個register然後將值當做memory address寫入memo
10/08 12:59, 4F

10/08 12:59, 8年前 , 5F
ry中32(t1)這個位置,所以不會有寫入register的動作
10/08 12:59, 5F

10/08 13:01, 8年前 , 6F
b大正解
10/08 13:01, 6F

10/08 13:07, 8年前 , 7F
想請問為什麼第3個不用加入nop呢?
10/08 13:07, 7F

10/08 13:25, 8年前 , 8F
如果第3個沒有nop t1會不會讀到還沒取得t0的值呢
10/08 13:25, 8F

10/08 13:42, 8年前 , 9F
sw是參照t1的位置存t0到記憶體中
10/08 13:42, 9F

10/08 13:43, 8年前 , 10F
t1值不會變動,故可拿來運算
10/08 13:43, 10F

10/08 13:46, 8年前 , 11F
應該說,把t1的值讀出來後,將t0儲存到該值的記憶體位址
10/08 13:46, 11F

10/08 14:36, 8年前 , 12F
抱歉s大 我不是很清楚
10/08 14:36, 12F

10/08 14:39, 8年前 , 13F
t1應該要在mem的時候改成t0的值 但是此時ex用的t1應該
10/08 14:39, 13F

10/08 14:39, 8年前 , 14F
還沒被更改
10/08 14:39, 14F

10/08 16:03, 8年前 , 15F
MEM時,暫存器的t1並不會被改,而是把t0的值放到memory中
10/08 16:03, 15F

10/08 16:05, 8年前 , 16F
memory位址是由暫存器t1的值指定而已
10/08 16:05, 16F

10/08 19:35, 8年前 , 17F

10/08 19:39, 8年前 , 18F
Ex階段t1和t2的暫存器內容已經在ALU中此時的t1應該來
10/08 19:39, 18F

10/08 19:39, 8年前 , 19F
不及得到t0的值吧
10/08 19:39, 19F

10/08 19:40, 8年前 , 20F
希望大家可以為我解答 感謝
10/08 19:40, 20F

10/08 20:36, 8年前 , 21F
第一句是把t0 register存到位置t1的memory
10/08 20:36, 21F

10/08 20:36, 8年前 , 22F
第二句是把t1 register的值拿出來做事,不會有hazard問題
10/08 20:36, 22F

10/08 20:44, 8年前 , 23F
意思是說add中的t1 register的值不會是t0的值對吧?
10/08 20:44, 23F

10/08 20:55, 8年前 , 24F
不會 會是t1原本的值
10/08 20:55, 24F

10/08 20:58, 8年前 , 25F
t0跟t1暫存器都只有被讀取沒有寫入,所以t1值還是原
10/08 20:58, 25F

10/08 20:58, 8年前 , 26F
本的值
10/08 20:58, 26F

10/08 21:05, 8年前 , 27F
了解 謝謝各位大神們的回覆!!
10/08 21:05, 27F
文章代碼(AID): #1PsQNrpv (Grad-ProbAsk)