ARM Cortex-A8:如何测量缓存利用率?
我有一个 Freescale 的 i.MX515EVK,一个 ARM Cortex-A8/Ubuntu 平台,不幸的是,板上的 Linux 内核不支持一些众所周知的分析器,例如 Oprofiler 或 Zoom Profiler (Zoom 支持 ARM 处理器,但它内部使用 Oprofiler 驱动程序),它提供有关缓存利用率的非常详细的报告。
Cortex-A8 具有 32KB 指令和数据缓存以及 256KB L2 缓存。目前,当我的图像处理算法运行时,我对它们的用法完全一无所知。
除了使用探查器来找出缓存命中和未命中之外,还有其他方法吗?
I have a Freescale's i.MX515EVK, an ARM Cortex-A8/Ubuntu platform with me, unfortunately the Linux kernel on the board is not supporting some of the well known profilers such as Oprofiler or Zoom Profiler(Zoom supports ARM processors, but it internally, uses Oprofiler driver) which give very detailed reports about the cache utilization.
Cortex-A8 has 32KB Instruction and Data caches and a 256KB L2 Cache. Currently when my image processing algorithm is running, I'm totally blind about their usage.
Are there any other methods, other than using profilers to find out cache hits and misses?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
安装Valgrind(现在支持ARM)并使用cachegrind工具检查缓存利用率。如果您在设备上运行 Ubuntu,则应该像
sudo apt-get install valgrind
一样简单。 Valgrind 还可以帮助您模拟不同缓存大小会发生什么。Install Valgrind (it supports ARM nowdays) and use the cachegrind tool to check cache utilization. If you are running Ubuntu on the device, it should be as simple as
sudo apt-get install valgrind
. Valgrind can also help you simulate what would happen with different cache sizes.