Hi all,
It is known that Arm introduced Activity Monitor Extension from v8.4-A. AMU supports system reg and utility bus access.
My wonder is why AMU were introduced when PMU already exists. From a hardware perspective, they just do the same (to count events).
An arm white paper Power and Performance Management using Arm SCMI Specification says AMU is used to provide a performance feedback to the OS kernel.
Why does the OS not just take the PMU results to get the performance information?
Thnaks in advance.
One reason is that you could have several things wanting to use the PMU for different things. For example, wanting to do performance analysis of a user space application using a tool like perf. The events the profiling tool might want to count could be different to what you'd want for performance feedback to the kernel. Having the AMU gives you a fixed resource that you can dedicate to system performance monitoring, freeing up the PMU for the other use cases.