1. 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。
  • 对于没有列出复位值的寄存器,请参考寄存器描述页面中记录的各个字段复位。 image.pngimage.png1.4 Activity monitors事件 DynamIQ™ 共享单元-120 中的Activity monitors事件都是固定的,并且它们映射到Activity monitors计数器。

下表显示了计数器到固定事件的映射。

image.png事件0和1的使用取决于IMP_CLUSTERPWRCTLR.AUTOPRTN位的设置,如下所示:

  • 当IMP_CLUSTERPWRCTLR.AUTOPRTN位清除时,事件0和1用于缓存路径电源关闭功能。
  • 当IMP_CLUSTERPWRCTLR.AUTOPRTN位设置时,硬件使用事件0和1的计数器。因此,它们的值对于软件是不可用的,并读取为零。
  • 由执行读取和写入操作的原子指令引起的事务仅被计为一次读取,用于Activity monitors。这些指令的示例包括原子加载、交换和比较交换指令。原子存储指令仅计为一次