https://mp.weixin.qq.com/s/9HTFufvGEhWoWZjAdGytUA
简单介绍perfEvents中涉及到的事件。
本文不涉及:
1. 乘除法;
2. 浮点运算;
本文目录:
1. load
2. store
3. amo
4. system
5. arith
6. branch
7. jal
8. jalr
9. mul
10. div
11. fp load
12. fp store
13. fp add
14. fp mul
15. fp mul-add
16. fp div/sqrt
17. fp other
18. load-use interlock
19. long-latency interlock
20. csr interlock
21. I$ blocked
22. D$ blocked
23. branch misprediction
24. control-flow target misprediction
25. flush
26. replay
27. mul/div interlock
28. fp interlock
29. I$ miss
30. D$ miss
31. D$ release
32. ITLB miss
33. DTLB miss
34. L2 TLB miss
以下正文:
1. load
load指id阶段为load指令:
包含如下条件:
a. id_ctrl.mem表示该指令为内存相关指令;
b. id_ctrl.mem_cmd == M_XRD表示该指令读取内存之后存入整数寄存器;
c. !id_ctrl.fp表示该指令不是浮点运算指令;
2. store
store指id阶段为store指令,与load类似:
3. amo
amo指id阶段为原子指令:
其中:
a. usingAtomics表示支持原子指令;
b. id_ctrl.mem表示该指令涉及内存操作;
-----------------------------------------------------------------------------
这是一篇付费文章,请移步付费阅读全文,谢谢!
文章链接:https://mp.weixin.qq.com/s/9HTFufvGEhWoWZjAdGytUA