android - 如何读取 Android (ARM) 中的 L2 缓存命中/未命中率?

标签 android arm cpu-cache

我找到了一种使用 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/

相关文章:

Android - 动态查看arm版本?

caching - 为什么没有与缓存线大小一样宽的数据总线?

c - FRDM K82f uart 中断仅触发约 8 次

带有动态 Where 子句的 Android rawquery

android - RemoteViews 构造函数中的包名称是什么?

java - Android 应用程序说该文件不存在,但确实存在。我需要安装它

arm - 在 GAS 组装的 QEMU 中运行的 ARM64 ELF 可执行文件的对齐要求

c++ - std::hardware_constructive_interference_size 有用吗?

c++ - 为什么 std::hardware_con/corruption_interference_size 不同?

android - Android 设备位置改变时触发事件