怎么用vtune的BUS_TRANS_BRD事件测得内存数据访问数?

shelly_30 2010-12-17 04:30:02
使用vtune2年多了,但有些地方还是不太明白。
现在正在做帮助线程。机器型号是:Inter(R) Core(TM) 2Duo Processor
现需要测试得到帮助线程对主线程的访存预取作用,分析帮助线程的哪些数据预取让主线程完全命中了(即主线程直接在共享L2中获取了预取数据,不需要发出访存要求)。
把vtune事件逐个研究了下,没有直接可用的测试事件。
本来是想这样做的:
1、分别测试源程序与帮助线程辅助程序的MEM_LOAD_RETIRED_L2_MISS与BUS_TRANS_MEM事件。
2、帮助线程辅助程序的主线程相对于源程序BUS_TRANS_MEM事件减少了,减少的量就是帮助线程数据预取完全命中了次数。

后来经讨论有问题:1、BUS_TRANS_MEM除了包含read,还包括write bus transaction.
2、如果几个访存指令访问的是same line,那么这几个L2 CACHE MISS 指令只需要一次bus transaction。

后来想换测试BUS_TRANS_BRD事件:It belongs to external bus events. This event counts the number of burst read transactions including:
L1 data cache read misses (and L1 data cache hardware prefetches)
L2 hardware prefetches by the DPL and L2 streamer
IFU read misses of cacheable lines.
但对此事件有些不明白:
1、既然是external bus events,为何是L1 data cache read misses 而不是L2 data cache read misses ?
2、它还包含IFU read misses ,这里为何没有指出是L1 misses 还是L2 misses?
请高手解释一下BUS_TRANS_BRD事件并对我们的测试提供建议,谢谢!
...全文
103 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
shelly_30 2010-12-20
  • 打赏
  • 举报
回复
没有人回复?

566

社区成员

发帖
与我相关
我的任务
社区描述
英特尔® 边缘计算,聚焦于边缘计算、AI、IoT等领域,为开发者提供丰富的开发资源、创新技术、解决方案与行业活动。
社区管理员
  • 英特尔技术社区
  • shere_lin
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧