結局まだイベントの違いが分かっていない。説明文を読んでみる限りでは「ミスの回数なのか」それとも、「ミスによって起きたロードの回数」なのかくらいしか違いは分かっていないのだが、測定してみるとかなり値が異なっている。
MEM_LOAD_RETIRED: (counter: 0)
Retired loads (min count: 500)
Unit masks (default 0x1)
----------
0x01: Retired loads that miss the L1 data cache (precise event)
0x02: L1 data cache line missed by retired loads (precise event)
0x04: Retired loads that miss the L2 cache (precise event)
0x08: L2 cache line missed by retired loads (precise event)
0x10: Retired loads that miss the DTLB (precise event)
MEM_LOAD_RETIRED:0x01:500 -> 1,923,894 x 500
MEM_LOAD_RETIRED:0x02:500 -> 1,199,349 x 500
MEM_LOAD_RETIRED:0x04:500 -> 118,113 x 500
MEM_LOAD_RETIRED:0x08:500 -> 67,832 x 500
MEM_LOAD_RETIRED:0x10:500 -> 506,281 x 500
MEM_LOAD_RETIRED:0x01:500 と MEM_LOAD_RETIRED:0x02:500
MEM_LOAD_RETIRED:0x04:500 と MEM_LOAD_RETIRED:0x08:500
はそれぞれかなり似ているのに、倍近く値が異なる。x 1.60 と x 1.74 でその割合も近いがそれは偶然なのだろうか。DTLB に関しても良く分かっていない。合わせて調べるしかないが、どうすればよいのか。。
MEM_LOAD_RETIRED: (counter: 0)
Retired loads (min count: 500)
Unit masks (default 0x1)
----------
0x01: Retired loads that miss the L1 data cache (precise event)
0x02: L1 data cache line missed by retired loads (precise event)
0x04: Retired loads that miss the L2 cache (precise event)
0x08: L2 cache line missed by retired loads (precise event)
0x10: Retired loads that miss the DTLB (precise event)
MEM_LOAD_RETIRED:0x01:500 -> 1,923,894 x 500
MEM_LOAD_RETIRED:0x02:500 -> 1,199,349 x 500
MEM_LOAD_RETIRED:0x04:500 -> 118,113 x 500
MEM_LOAD_RETIRED:0x08:500 -> 67,832 x 500
MEM_LOAD_RETIRED:0x10:500 -> 506,281 x 500
MEM_LOAD_RETIRED:0x01:500 と MEM_LOAD_RETIRED:0x02:500
MEM_LOAD_RETIRED:0x04:500 と MEM_LOAD_RETIRED:0x08:500
はそれぞれかなり似ているのに、倍近く値が異なる。x 1.60 と x 1.74 でその割合も近いがそれは偶然なのだろうか。DTLB に関しても良く分かっていない。合わせて調べるしかないが、どうすればよいのか。。