[理工] [計組]-Pipeline (hazard - WAR)

看板Grad-ProbAsk作者 (@ __@")時間16年前 (2010/02/19 11:48), 編輯推噓4(401)
留言5則, 3人參與, 最新討論串1/1
WAR - Write After Read 的觀念我還是搞不太懂,希望有高手能指教 例如,指令1 & 指令2 的write destination一樣會發生WAW 那在什麼情況下會發生WAR的hazard呢? 是在上一個指令的哪個stage和目前指令的哪個stage產生的? 舉個參考書上的例子來說: 5-stage 的pipeline LD AX, M[100] ADD AX, BX //AX發生RAW, WAW MOV CX, 1 ST M[100], AX //AX發生RAW, M[100]發生WAR ST M[200], BX ADD CX, M[200] //CX發生RAW, WAW, M[200]發生RAW -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 221.169.157.105

02/19 14:12, , 1F
右上 左下
02/19 14:12, 1F

02/19 22:40, , 2F
這是不是有問題阿? 在MIPS裡不會發生WAR
02/19 22:40, 2F

02/19 23:37, , 3F
通常是不會,但若是其他ISA,或是採用VLIW或superscalar
02/19 23:37, 3F

02/19 23:38, , 4F
是有可能發生的(後者是因為一clock可同時執行多指令)
02/19 23:38, 4F

02/20 23:40, , 5F
是阿 要看各STAGE做什麼事情才知道
02/20 23:40, 5F
文章代碼(AID): #1BVWeQz0 (Grad-ProbAsk)