博客摘录「 ARM PMU - Performance Monitor Unit 用途和原理」2024年6月19日

ARM Performance Monitor Unit (PMU) 是一种硬件组件,用于跟踪和计数系统中的底层硬件事件。集成在ARM架构的处理器中,用于监控和度量处理器及系统性能的关键指标。它对于性能分析、调试、能耗管理和优化软件性能至关重要。PMU的主要用途有:性能分析:通过监测与CPU相关的事件(如执行指令数、捕获异常数、时钟周期数等),与cache相关的事件(如cache访问次数、miss次数等),以及与TLB(Translation Lookaside Buffer)有关的事件,PMU 可以帮助了解程序的执行行为,进而对程序进行性能分析和调优。通过测量执行时间、指令周期数、缓存命中率等,帮助识别程序的性能瓶颈。系统调试:通过跟踪特定事件的发生,如中断延迟、上下文切换频率,辅助系统级别的调试。能耗管理:监控处理器活动,协助实现动态电压和频率调整(DVFS),降低能耗。软件优化:提供数据支持,帮助我们针对特定硬件特性优化代码,提升运行效率。PMU的实现涉及以下几个关键点:事件计数器:PMU 包含一组事件计数器,分为两类,一类是cycle counter,用于计数CYCLES事件;另一类是performance counter,用于计数其他类型的事件。在ARMv8架构中,例如Cortex-A53,有1个cycle counter和6个performance counters。控制寄存器:PMU 包含用于控制计数器的寄存器,可以通过编程配置计数的事件类型、中断使能/屏蔽等。寄存器访问:PMU 寄存器可以通过特定的系统控制指令访问,如在ARM架构中,可以通过CP15协处理器或外部APB接口来编程。中断和溢出:当计数器溢出时&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值