^^;;;
키즈에 질문을 올려놓으면, 희한하게도 답이 찾아지는군요. ㅎㅎ
어떤 일본어 블로그에서 힌트를 찾았습니다.
http://j2k.naver.com/j2k_frame.php/korean/d.hatena.ne.jp/hyoshiok/20051013
(네이버가 번역을 해 주더라고요. 고맙게도..)
해답은 write miss 도 골라낸다는 겁니다.
P4 나 Pentium D 같은 경우에는 write를 할때, RFO(read for ownership) 메시지를
날린다고 하네요.
그것도 read의 일종이라서, read miss로 계산한다는 뜻 같습니다.
Intel 64 and IA-32 Architectures Optimization Reference Manual
에 B.2.3 Usage Notes for Specific Metrics에 보면,
Current implementations of the BSQ_cache_reference event do not
distinguish between programmatic read and write misses.
Programmatic writes that miss must get the rest of the cache line
and merge the new data. Such a request is called a read for
ownership (RFO). To the “BSQ_cache_reference” hardware,
both a programmatic read and an RFO look like a data bus read,
and are counted as such. Further distinction between programmatic
reads and RFOs may be provided in future implementations.
라고 합니다.
결국, write miss도 포함한다는 말입니다. :)
--------------------------
Jang, Jae-wan
CA Lab., KAIST, KOREA
jwjang@camars.kaist.ac.kr