运行时的指令检测

时间:2012-07-05 06:50:25

标签: cpu-architecture machine-code code-translation machine-instruction

我希望在整个代码运行期间识别和分析每个执行的不同机器指令和所需的时钟周期。

有什么方法可以做到这一点吗?动态二进制翻译可能是一种方式,但我正在寻找更容易的机制。

提前致谢

1 个答案:

答案 0 :(得分:0)

如果您正在编程,请考虑使用性能分析工具,例如分析工具,例如Intel VTune(http://en.wikipedia.org/wiki/VTune)或oprof。

对于大多数程序员而言,访问循环精确模拟器的情况要少得多,尽管在嵌入式空间中它很常见。

动态二进制翻译可能不是以单个指令粒度度量程序的好方法。像http://www.pintool.org/这样的DBT工具允许您插入代码来读取计时器。您可以围绕单个指令执行此操作太慢,并且检测会增加太多开销。但是在函数粒度下执行此操作可能没问题。基本块粒度,即每个分支,边界线。

底线:首先尝试像VTune这样的分析工具。然后去寻找一个周期精确的模拟器。