|
|
51CTO旗下网站
|
|
移动端

1.9.1 ARM性能监控单元

《ARM嵌入式系统编程与优化》第1章Linux/ARM嵌入式平台,本章介绍如何使用GCC编译器、汇编器和连接器来编写和执行独立的汇编语言程序,以及如何将一个C语言代码和汇编语言代码合起来,以验证汇编代码子程序的正确性。本节为大家介绍ARM性能监控单元。

作者:梁元宇 译来源:机械工业出版社|2017-09-26 19:18

1.9 使用性能计数器的运行时分析

大多数现代处理器都包含称之为性能计数器的寄存器集,它们可以通过编程来就有助于理解程序性能或诊断问题的具体事件进行计数。最常用的性能计数器是周期计数器,这是一个每个周期递增的简单计数器。循环计数器常用于提供基于某个时钟周期粒度的时间信息。

1.9.1 ARM性能监控单元

除了周期计数器,大多数处理器还提供了灵活的计数器集,它们可以被编程,以对诸如高速缓存失效、指令执行、浮点指令执行或者分支错误预测的事件进行计数。计数器与编写每个特定事件计数器的相关逻辑称为性能监控单元(PMU)。

性能计数器是一个必须由所有程序和用户共享的有限硬件资源,所以操作系统必须对仲裁计数器访问负责。此外,用户可能要计算比物理计数所能计算器更多的事件,所以操作系统必须负责多路径计数器访问。同时,多核处理器通常会在每个核都有PMU,所以不一致的结果可能是由程序无意中读取了不同的内核的计数器所导致的。因此,操作系统必须负责维护所有内核的每个进程计数器状态。尽管实际上硬件计数器仍然被计数,但也包括每个进程被操作系统暂停时不递增计数器。

由于这些原因,操作系统必须管理用户行为的PMU。事实上,处理器会阻止用户代码直接访问计数器(注册作为一个无效指令异常)。因此,用户被迫通过操作系统以系统调用的方式来访问PMU。


喜欢的朋友可以添加我们的微信账号:

51CTO读书频道二维码


51CTO读书频道活动讨论群:365934973

【责任编辑:book TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

超级网管员——网络安全

本书全面深入地介绍网络安全的配置与实现技术,包括系统管理、用户账户、病毒防御、灾难恢复、文件备份、安全策略、注册表等服务器安全,用...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊