看板 Grad-ProbAsk 關於我們 聯絡資訊
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
soldier723:右上 左下 02/19 14:12
willow02:這是不是有問題阿? 在MIPS裡不會發生WAR 02/19 22:40
aassxxzz:通常是不會,但若是其他ISA,或是採用VLIW或superscalar 02/19 23:37
aassxxzz:是有可能發生的(後者是因為一clock可同時執行多指令) 02/19 23:38
willow02:是阿 要看各STAGE做什麼事情才知道 02/20 23:40