0

我想识别和分析执行的不同机器指令以及每个代码在运行代码时所需的时钟周期。运行时的指令检测

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

在此先感谢

+0

哪个环境?哪个平台? – reuben

+0

无论你做什么,你都会与OOE战斗。如果它是一个x86系统,它可能已经记录在这里:http://www.agner.org/optimize/instruction_tables.pdf – Mysticial

+0

@reuben假设x86。 –

回答

0

如果你是编程,可以考虑使用性能分析工具,如分析工具,如英特尔VTune(http://en.wikipedia.org/wiki/VTune),或oprof 。

对于大多数程序员来说,访问循环精确的模拟器是非常少见的,尽管在嵌入式领域它很常见。

动态二进制翻译可能不是衡量单个指令粒度程序的好方法。像http://www.pintool.org/这样的DBT工具允许您插入代码来读取定时器。您可以在单个指令周围执行此操作,但速度太慢,而且该工具会增加太多开销。但是,在功能粒度上做到这一点可以。基本块粒度,即每个分支,边界。底线:首先尝试像VTune这样的分析工具。然后去寻找一个周期准确的模拟器。