[发明专利]硬件事件采集方法、处理器和计算系统有效
申请号: | 201610367541.7 | 申请日: | 2016-05-30 |
公开(公告)号: | CN107451038B | 公开(公告)日: | 2020-05-19 |
发明(设计)人: | 丁璐璐;孟小甫;吴瑞阳;高翔 | 申请(专利权)人: | 龙芯中科技术有限公司 |
主分类号: | G06F11/34 | 分类号: | G06F11/34 |
代理公司: | 北京同立钧成知识产权代理有限公司 11205 | 代理人: | 张洋;刘芳 |
地址: | 100095 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 硬件 事件 采集 方法 处理器 计算 系统 | ||
本发明提供一种硬件事件采集方法、处理器和计算系统。其中,硬件事件采集方法包括:处理器获取待采集的硬件事件对应的事件标识;对于每个事件标识,处理器在控制寄存器的事件域中写入事件标识,并在一个空闲的硬件计数器的事件域中写入事件标识,以使硬件计数器根据事件标识对待采集的硬件事件进行计数。本发明提供的硬件事件采集方法,可以提升硬件事件的采集效率,同时提升了处理器的性能。
技术领域
本发明涉及计算机性能分析领域,尤其涉及一种硬件事件采集方法、处理器和计算系统。
背景技术
在计算机系统中,性能计数器可以实时采集各种硬件的性能数据,对该性能数据进行分析可以获知各硬件的运行状态,针对运行瓶颈进行优化从而可以提高计算机系统的性能。其中,各种硬件产生需要处理的事件,性能计数器是基于硬件事件进行采样的。
目前,在无互锁流水线级的微处理器(Microprocessor without interlockedpiped stages,简称MIPS)架构的处理器中,一个性能计数器由一对寄存器组成,具体包括一个32位的控制寄存器和一个32位或者64位的计数寄存器。通过设置控制寄存器可以为其计数寄存器配置特定的硬件事件,该硬件事件每发生一次,计数寄存器自增,当计数寄存器的最高位变为1时,向上溢出,性能计数器请求中断。
但是,上述的性能计数器实现方案,每个性能计数器一次只能采集一类硬件事件,当需要采集多类硬件事件时,就需要有与硬件事件数量相对应的性能计数器,而处理器中的寄存器数量是有限的,因此,上述方案极大地限制了硬件事件的采集效率,降低了处理器的资源利用率和性能。
发明内容
本发明提供了一种硬件事件采集方法、处理器和计算系统,可以提升硬件事件的采集效率,同时提升了处理器的性能。
本发明提供的硬件事件采集方法,应用于处理器,所述处理器包括性能计数器和至少两个硬件计数器,所述性能计数器包括控制寄存器;所述硬件事件采集方法包括:
所述处理器获取待采集的硬件事件对应的事件标识;
对于每个所述事件标识,所述处理器在所述控制寄存器的事件域中写入所述事件标识,并在一个空闲的硬件计数器的事件域中写入所述事件标识,以使所述硬件计数器根据所述事件标识自动对所述待采集的硬件事件进行计数。
本发明提供的处理器,包括:性能计数器和至少两个硬件计数器,所述性能计数器包括控制寄存器;还包括:
获取模块,用于获取待采集的硬件事件对应的事件标识;
处理模块,用于对每个所述事件标识,在所述控制寄存器的事件域中写入所述事件标识,并在一个空闲的硬件计数器的事件域中写入所述事件标识,以使所述硬件计数器根据所述事件标识自动对所述待采集的硬件事件进行计数。
本发明提供的计算系统,包括:存储器和如本发明任一实施例提供的处理器;
所述存储器,用于存储指令;
所述处理器,用于运行所述存储器中存储的指令,以执行本发明任一实施例提供的硬件事件采集方法。
本发明提供一种硬件事件采集方法、处理器和计算系统。本发明提供的硬件事件采集方法,性能计数器作为采集硬件事件的配置接口,通过在控制寄存器中配置不同的硬件事件,处理器可以将多个硬件事件与多个硬件计数器建立起映射关系,使得多个硬件计数器分别对多个硬件事件进行计数,从而实现了通过一个性能计数器同时采集多个硬件事件,提升了硬件事件的采集效率,同时提升了处理器的资源利用率和性能。
附图说明
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于龙芯中科技术有限公司,未经龙芯中科技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610367541.7/2.html,转载请声明来源钻瓜专利网。