大家好 我有一个代码,我想找到每个流水线执行的次数。我不在乎是通过分析还是仿真,但我想要高精度的结果。我曾经遇到一个论坛,该论坛提供了一些脚本代码来执行此操作,但我丢失了链接。谁能帮我集思广益一些方法来做到这一点? 问候
编辑: 好吧,我想我已经走到一半了。根据一篇帖子,我对英特尔手册 3A 第 16.4.5 节提供的 BTS(分支跟踪存储)进行了一些研究。此功能提供分支历史记录。所以现在我需要你的帮助,看看是否有任何开源脚本或工具可以做到这一点。等待查看您的反馈
干杯=)!
最佳答案
如果您的处理器支持,您可以启用 Branch Trace Store (BTS)。 BTS 将所有采用的分支的日志存储在内存中的预定义区域中。每个条目都包含分支源和目标。使用它,您可以计算您在每个代码段中的次数。
看volume 3A的 Intel Software Developer's Manual ,第 16.4.5 节(当前版本)了解如何启用它的详细信息。
关于c - x86 汇编指令执行计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4530527/