Re: [理工] [計組] WAR
※ 引述《mqazz1 (無法顯示)》之銘言:
: 1 add $s1, $2, $3
: 2 sw $s2, 0($1)
: 3 lw $1, 4($2)
: 4 add $2, $2, $1
: 請問為什麼WAR dependence有(2,4)?
: sw不是store word嗎 這樣會read到$s2嗎?
: 謝謝
(2,4)真的有WAR嗎?XD
先講一下我認為的WAR是什麼意思:
WAR是指write after read,以字面上來說,這並不會有什麼問題, #1
但是套到multiple issue時,因為指令順序可能打亂,就會造成原本
的WAR變成RAW,以致出錯,所以WAR是指尚未打亂前的型式,請勿搞混了! #2
如上所示 原本的 1, 2, 3, 4的順序變成 1, 4, 2, 3
1 add $s1, $2, $3
4 add $2, $2, $1
2 sw $s2, 0($1)
3 lw $1, 4($2)
但是這樣我也看不出哪裡有WAR耶XD
我怎麼覺得是答案錯了…
#1 最常見的RAW(read after write),會因為pipeline特性,而必須stall或forwarding
#2 請不要以WAR的指令順序去想為何有hazard,很明顯地,WAR是用來描敘打亂前的型式
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.38.163.226
推
07/19 19:41, , 1F
07/19 19:41, 1F
→
07/19 23:03, , 2F
07/19 23:03, 2F
推
07/20 17:02, , 3F
07/20 17:02, 3F
討論串 (同標題文章)