我找到了一种使用 http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.faqs/ka4237.html 读取 L1(数据和指令)缓存的方法. 我也想阅读 L2 性能计数器。有谁知道如何使用 ARM 汇编或更高级别(如 Java)测量 L2 缓存命中率?
最佳答案
访问 L2 的性能数据取决于 L2 Controller 。我不知道有多少不同的,但对于当前的 A9 平台,PL310 非常常见,并且具有可以捕获请求和命中的事件计数器 (http://infocenter.arm.com/help/index.jsp?topic =/com.arm.doc.ddi0246a/index.html)。尽管访问这些计数器可能很困难。 如果幸运的话,内核可能会为这些寄存器提供一个接口(interface),但很可能不会,而且它们无法从用户空间访问。在那种情况下,您将不得不为您的平台找到内存映射并编写内核模块或类似的东西。
关于android - 如何读取 Android (ARM) 中的 L2 缓存命中/未命中率?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5509630/