ARM Cortex-A53 中的性能监控单元数量

Posted

技术标签:

【中文标题】ARM Cortex-A53 中的性能监控单元数量【英文标题】:Number of Performance Monitoring Units in ARM Cortex-A53 【发布时间】:2018-12-13 07:15:28 【问题描述】:

ARM Cortex-A53 中有多少个性能监控单元 (PMU)?是每个内核一个 PMU 还是整个处理器一个 PMU?

【问题讨论】:

【参考方案1】:

每个核心有一个。您可以通过查看 ROM 表中的每个条目来推断这一点。

在Cortex-A53 TRM 中,图 2-1 暗示 debug 位于每个内核,而 2.1.9

• 每个内核中的 ARM v8 调试功能。

我没有看到任何明确的信息表明每个核心有一个 PMU 实例(架构与否),但我可能错过了这一点,因为有几个地方可能会指定它。

第 11.10.1 节描述了调试内存映射,包括一个 ROM 表(该组中其他组件的索引),然后是每个内核的 CPU 调试、CTI、PMU 和跟踪。要检查存在的内容,您需要读取 DBGDRAR 以找到 ROM 表的基础,并检查表 11-28 中列出的条目的 bit[0]。在 4 核 A53 中,您应该会发现所有 16 个设备都存在。

还有一点,虽然 PMU 是按内核计算的,并且通常会计算内核的事件,但可能有一些处理器级别的事件对所有 PMU 都同样可见。

【讨论】:

感谢您的回答。您介意分享支持您的答案的资源吗?另外,您能解释一下如何从 ROM 表中推断出 PMU 的数量吗? 我已经看过源代码 - 但是是的,我可以尝试查找公共参考。不确定有多少是明确的。一些 ROM 表信息在这里 infocenter.arm.com/help/topic/com.arm.doc.epm039795/… 但我不确定它是否有正确的细节来回答这个问题。 感谢您分享此信息。此外,Cortex-A53 TRM 的表 11-26 显示了每个 PMU 的地址偏移量。

以上是关于ARM Cortex-A53 中的性能监控单元数量的主要内容,如果未能解决你的问题,请参考以下文章

如何实现Arm处理器ICache的测试

如何测量 ARM Cortex-A8 处理器中的程序执行时间?

ARM Cortex-A53架构1.2GHz四核,MSM8916核心板方案公司

ARM64架构简介

如何通过单元测试最好地监控性能?

ARM内核和架构