Zen2架构中`l2_cache_accesses_from_dc_misses`为何未包含`l2_request_g1.ls_rd_blk_c_s`?
关于Zen2架构下perf事件
l2_cache_accesses_from_dc_misses的统计范围疑问 我近期使用perf工具优化程序性能,在Zen2架构的R7 4800H(17h 60h)处理器上发现两个事件:l2_cache_req_stat.ls_rd_blk_cs和l2_cache_req_stat.ls_rd_blk_l_hit_s。查看AMD 17h A0h版本的PPR文档(与我的处理器同属Zen2架构17h系列,且使用相同的PMCx064)能更清晰地了解它们的差异:
位描述
7 LsRdBlkCS:L2中数据缓存共享读命中。可读写。复位值:0。
5 LsRdBlkLHitS:L2中数据缓存读命中不可修改行。可读写。复位值:0。
在AMD的MOESI协议中,“Non-Modifiable”对应“Shared”,而“Shared Read”还可能包含“Owned”状态。
在与上述PMCx064不同的PMCx060上,l2_cache_accesses_from_dc_misses(描述为“来自L1数据缓存未命中的L2缓存访问(包含预取)”)并未设置l2_request_g1.ls_rd_blk_c_s(数据缓存共享读)的单元掩码。请问为何l2_cache_accesses_from_dc_misses未将l2_request_g1.ls_rd_blk_c_s纳入统计范围?
内容的提问来源于stack exchange,提问作者An5Drama
相关产品推荐
相关产品推荐

