作者huangwh (香腸)
看板Grad-ProbAsk
標題[理工] [計組] RAW WAR WAW...
時間Thu May 6 00:56:37 2010
被這個搞得暈暈的...
觀念不太懂,我先就我所知的東西寫出來
在煩請大家補充、更正,把觀念講更清楚
謝!
Three data dependencies:
================================================
RAW
= read after write ----
= True dependency | << 兩者相同??
= read before write ----
解釋:
就跟一般平常運算一樣,如下:
a=3
b=a (b=3)
c=b (c=b=3) (c=b=a=3)
*後方會用到前面的
=================================================
WAR
= write after read ------
= Anti dependency | ==?
= write before read ----
解釋:
*雖然名稱一樣,但前面的跟後面的無關
最明顯的實際例子就是在 loop unrolling(迴圈展開)的應用中
ex:
a=3
b=a+1
a=4 看成 a'=4
c=a+1 c=a'+1
兩個a雖然名稱相同,但彼此卻一點關係都沒有
==================================================
WAW
=write after write ----
=Output dependency | =
=write before write ----
解釋:(*比較不會解釋這個了!)
發生在最後輸出的地方,兩個輸出名稱雖然一樣,但一點關係
也沒有
ex:
a=2x
b=a/9
a=8+s 看成a'=8+s
==================================================
Q:最大問題 就是在after和before
讓我覺得超級怪!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.115.241.52