Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 如何计算ARM程序中执行的指令数?_Linux_Performance_Assembly_Linux Kernel_Arm - Fatal编程技术网

Linux 如何计算ARM程序中执行的指令数?

Linux 如何计算ARM程序中执行的指令数?,linux,performance,assembly,linux-kernel,arm,Linux,Performance,Assembly,Linux Kernel,Arm,我想通过计算指令来对我想对应用程序进行的更改执行性能度量。然而,我对ARM的调试界面还不够熟悉,不知道如何做到这一点。这种东西有接口吗?如果必要的话,我完全有能力深入内核,但是我的直觉告诉我这种事情应该在用户空间中实现 Linux kernel.CONFIG中的CONFIG_PERF_事件 用于访问此文件的用户空间工具位于linux source/tools/perf中/ HW_PERF_EVENTS启用PMU,CPU_HAS_PMU的定义如下:CPU_V6 | | CPU_V6K | CPU_

我想通过计算指令来对我想对应用程序进行的更改执行性能度量。然而,我对ARM的调试界面还不够熟悉,不知道如何做到这一点。这种东西有接口吗?如果必要的话,我完全有能力深入内核,但是我的直觉告诉我这种事情应该在用户空间中实现

Linux kernel.CONFIG中的CONFIG_PERF_事件

用于访问此文件的用户空间工具位于linux source/tools/perf中/

HW_PERF_EVENTS启用PMU,CPU_HAS_PMU的定义如下:CPU_V6 | | CPU_V6K | CPU_V7 | XSCALE|PMU&!ARCH_OMAP3 | | OMAP3 | EMU,因此您的芯片可能拥有它。否则,Linux将尝试在中断中获取软件采样值%pc中的一些统计信息。

Linux kernel.CONFIG中的CONFIG\u PERF\u事件

用于访问此文件的用户空间工具位于linux source/tools/perf中/

HW_PERF_EVENTS启用PMU,CPU_HAS_PMU的定义如下:CPU_V6 | | CPU_V6K | CPU_V7 | XSCALE|PMU&!ARCH_OMAP3 | | OMAP3 | EMU,因此您的芯片可能拥有它。否则,我想Linux会在一次中断中尝试在软件采样值%pc中获取一些统计信息。

表示在 并且可以在代码和重播视图中显示执行的指令计数。

表示可以在中运行时创建
并且可以在“代码”和“回放”视图中显示执行的指令计数。

感谢您的提示,请看一下关于访问周期计数器的讨论,但我正在模拟器中运行,这使得周期计数变得毫无用处。我不得不依赖指令计数。你在用哪个模拟器?也许它能够报告指令计数,或者生成指令跟踪。多亏了这个技巧,我们来看看关于访问周期计数器的讨论,但是我在一个模拟器中运行,这使得周期计数毫无用处。我不得不依赖指令计数。你在用哪个模拟器?也许它能够报告指令计数,或者生成指令跟踪。