看板 Grad-ProbAsk 關於我們 聯絡資訊
您好,想問的問題如下: Instruction sequence 1. add $1, $5, $3 2. sw $1, 0($2) 3. lw $1, 4($2) 4. add $5, $5, $1 5. sw $1, 0($2) Data hazard至少要滿足: (1.) Data dependency (2.) 指令距離相差2以內 上列的程式碼有Data hazard指令間為(1, 2)、(3, 4)、(3, 5)。 其中(3, 4)指令之間為load-use hazard。 (lw指令的"下一個指令"需要"lw指令寫入的暫存器value") Q1: (1, 3)之間應該沒有Data Hazard吧? Ans: 第二的指令sw、第三個lw指令的機器碼$1都是rt欄位。 (1, 2)之間sw的$1需要上一個add的計算結果,所以符合data dependency。 (1, 3)之間lw的$1是WriteBack的目的暫存,根本不需要前面指令的計算結果 ,不符合data dependency 我想問一下我的推測應該是沒錯的吧? 因為我在檢查Data hazard會先檢查這個指令目的和下面兩個指令來源(rt或rs)。 上面add和sw (對sw來說它的$1=Rt是來源,所以有相依) 上面add和lw (對lw來說它的$1=Rt是目的,所以不用看前面) -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 120.126.102.100 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Grad-ProbAsk/M.1575018896.A.CA3.html
zuchang: 對 但13有waw相依 但沒有raw相依 所以沒hazard 11/29 17:51