【发布时间】:2020-10-31 11:53:45
【问题描述】:
我想收集性能计数器信息,例如来自 ARMv7 处理器的分支错误预测。我正在做一个项目,我需要能够计算错误预测 但是我正在使用的设备(我的 Chromebook)没有正确的 Linux 内核来使用“perf”实用程序。我无法在这台旧机器上安装支持 perf 的 Linux。本来可以支持的项目似乎在 Internet 上不可用,因为它们太旧了。我知道有一种方法可以使用 ARMv7 指令直接从汇编语言中访问性能计数器,但我不知道该怎么做。
【问题讨论】:
-
使用正确的 mrs/msr 指令是个问题。也就是说,操作系统也可能会阻止这一点,所以要小心。
-
您的确切 chromebook 型号及其 CPU 是什么?你的linux内核版本是多少?必须在内核中阻止 PMU 访问,并且您必须加载自己的内核模块或重新编译 linux 内核(或找到启用 perf 的预编译内核)才能在您的机器上使用 PMU。您还应该检查 oprofile,并且可能更容易购买一些小型 SBC,如 raspberry pi 3 或 4,以便使用流行的兼容 debian/ubuntu 的 ARM 板来进行硬件性能实验和计数(或购买远程/云访问一些手臂机器,更好的裸机)。
标签: arm performancecounter perf armv7 chromebook