- Activity monitors扩展支持 DynamIQ™ 共享单元-120 核心实现了对 Arm®v8.4-A 架构的Activity monitors扩展。活动监视具有类似于性能监视的功能,但主要用于系统管理,而性能监视则面向用户和调试应用程序。
-
Activity monitors为系统电源管理和持续监视提供了有用的信息。Activity monitors是只读的,通过实用总线访问。
-
DynamIQ™ 共享单元-120 在一组中实现了五个计数器,每个计数器都是一个64位的计数器,用于计数固定事件。
1.1 Activity monitors访问 DynamIQ™ 共享单元-120 支持通过实用总线接口的内存映射访问Activity monitors。
集群活动监视单元 (AMU) 寄存器在实用总线接口上的基地址是 0x040000。如果集群启用了领域管理扩展 (RME),则这些寄存器从根状态访问,否则从安全状态访问。
如果出现以下情况,这些寄存器将被视为 RAZ/WI:
- 寄存器被标记为保留。
- 在错误的安全状态下访问寄存器。
- 集群已关闭电源。 有关这些寄存器内存映射的信息,请参见《Arm® 架构参考手册 A-profile 架构》。
1.2 Activity monitors计数器 DynamIQ™ 共享单元-120 实现了五个Activity monitors计数器,编号为0-4。
每个计数器具有以下特点:
- 所有事件都在64位环绕计数器中计数,当溢出时会环绕。没有溢出状态指示或中断支持。
- 包括当 WFI 和 WFE 指令停止时,时钟频率的任何变化都可能影响任何计数器。
- 所有事件0-4是固定的。有关集群Activity monitors事件的列表,请参见Activity monitors事件。
- 1.3 外部集群 AMU 寄存器 集群活动监视单元 (AMU) 寄存器仅能通过实用总线上的内存映射访问进行访问。
摘要表提供了从 DSU-120 的实用总线外部访问的所有集群 AMU 寄存器的概述。有关寄存器的更多信息,请点击表格中的寄存器名称。有关 AMU 寄存器架构的更多信息,请参见《Arm® CoreSight™ 性能监视单元架构》。
如果出现以下情况,集群 AMU 寄存器将被视为 RAZ/WI:
- 寄存器被标记为保留。
- 在错误的安全状态下访问寄存器。
- 如果 DSU-120 配置为直接连接,则这些寄存器不存在,且任何对这些寄存器的访问都被视为 RAZ/WI。
- 任何未记录的地址都被视为 RAZ/WI。
- 部件编号为 0x04EA。
- 集群 AMU 寄存器的基地址为 0x040000。
- 对于没有列出复位值的寄存器,请参考寄存器描述页面中记录的各个字段复位。 1.4 Activity monitors事件 DynamIQ™ 共享单元-120 中的Activity monitors事件都是固定的,并且它们映射到Activity monitors计数器。
下表显示了计数器到固定事件的映射。
事件0和1的使用取决于IMP_CLUSTERPWRCTLR.AUTOPRTN位的设置,如下所示:
- 当IMP_CLUSTERPWRCTLR.AUTOPRTN位清除时,事件0和1用于缓存路径电源关闭功能。
- 当IMP_CLUSTERPWRCTLR.AUTOPRTN位设置时,硬件使用事件0和1的计数器。因此,它们的值对于软件是不可用的,并读取为零。
- 由执行读取和写入操作的原子指令引起的事务仅被计为一次读取,用于Activity monitors。这些指令的示例包括原子加载、交换和比较交换指令。原子存储指令仅计为一次