一种采集性能监视单元PMU事件的方法及装置与流程

文档序号:11864541阅读:1379来源:国知局
一种采集性能监视单元PMU事件的方法及装置与流程

本发明涉及电子技术领域,尤其涉及一种采集性能监视单元PMU事件的方法及装置。



背景技术:

PMU(Performance Monitor Unit,性能监视单元)为CPU(Central Processing Unit,中央处理器)提供的电气逻辑单元,负责监控并采集CPU针对监控任务所反映出的性能指标。如图1所示,图中的PMU采用6个PMU计数器,可同时采集监控任务的6个性能指标,或者采用间隔采集的方式获取监控任务更多的性能指标。与间隔采集的方式相比,同时采集监控任务的性能指标能保证监控任务在执行过程中性能指标的可比性,采集到的性能指标在精度上也更高。然而,由于受到PMU计数器的数量的限制,未必能一次采集完成监控任务所有的性能指标,需要多次运行该监控任务才能完成所有性能指标对应的数据的采集,消耗时间长,效率较低。若在监控任务运行过程中,监控任务引起的CPU的负载变化波动较大,通过多次运行采集到的数据就无法准确反映该监控任务在某时刻或某段时间内的真实行为。



技术实现要素:

本发明提供一种采集性能监视单元PMU事件的方法及装置,可增加同一时间内采集的PMU事件的数量,提高数据采集效率。

本发明第一方面提供一种采集性能监视单元PMU事件的方法,首先设置PMU计数器的宽度以及PMU计数器的数量,其中,可通过降低PMU计数器的宽度来增加PMU计数器的数量,PMU计数器的数量可根据PMU计数器的宽度设置,以提高数据采集效率,在接收到任务信息并且执行对应的任务时,触发PMU计数器为该任务采集PMU事件,以采集在执行该任务时所对应的性能指标,有利于提高性能指标的采集效率。

结合第一方面,在第一方面的第一种实现方式中,为了减少从PMU计数器读取PMU事件的频率,可轮询每个PMU计数器的计数值,当发现PMU计数器的计数值达到预设值时,读取出该PMU计数器采集的PMU事件,并将采集的PMU事件存储在对应的寄存器文件中。在需要读取PMU事件时,可通过访问寄存器文件及时获取,减少了系统消耗。

结合第一方面,在第一方面的第二种实现方式中,当计数值达到预设值时,可确认PMU计数器溢出,此时即可获取该PMU计数器采集的PMU事件。

结合第一方面,在第一方面的第三种实现方式中,获取PMU计数器的计数值的时间周期小于或等于PMU计数器的溢出时间。在PMU计数器的溢出时间内定时轮询PMU计数器,防止PMU计数器溢出后将PMU计数器中存储的内容清空。

结合第一方面,在第一方面的第四种实现方式中,处理器可随时获取寄存器文件存储的PMU事件。其中,寄存器文件存储的PMU事件的获取频率根据寄存器文件的大小、寄存器文件对应的PMU计数器的宽度以及寄存器文件对应的PMU计数器的溢出时间确定。

结合第一方面,在第一方面的第五种实现方式中,寄存器文件的数量根据PMU计数器的数量确定,寄存器文件的大小根据对应的PMU计数器的宽度确定。

结合第一方面,在第一方面的第六种实现方式中,寄存器文件的大小根据对应的PMU计数器的宽度以及预设取值确定,在获取寄存器文件存储的PMU事件的时间周期与对应的PMU计数器的溢出时间之间的比值的余数为零的情况下,预设取值大于或等于获取寄存器文件存储的PMU事件的时间周期与对应的PMU计数器的溢出时间之间的比值,在获取寄存器文件存储的PMU事件的时间周期与对应的PMU计数器的溢出时间之间的比值的余数不为零的情况下,预设取值大于或等于获取寄存器文件存储的PMU事件的时间周期与对应的PMU计数器的溢出时间之间的比值与1的和。

本申请的第二方面,提供了一种采集性能监视单元PMU事件的装置,该装置用于设置性能监视单元PMU计数器的宽度和数量,并触发PMU计数器为任务采集PMU事件。该装置包括设置模块、接收模块、执行模块以及触发模块。其中,设置模块用于设置性能监视单元PMU计数器的宽度,并根据PMU计数器的宽度设置PMU计数器的数量,接收模块用于接收任务信息,执行模块用于根据任务信息执行任务,触发模块用于触发PMU计数器为任务采集PMU事件,以采集在执行该任务时所对应的性能指标,有利于提高性能指标的采集效率。

结合第二方面,在第二方面的第一种实现方式中,该装置还包括确定模块、获取模块以及存储模块。其中,确定模块用于确定寄存器文件的大小及数量,寄存器文件用于存储PMU计数器为任务采集的PMU事件,获取模块用于当PMU计数器的计数值达到预设值时获取PMU计数器采集的PMU事件,存储模块用于将获取模块获取到的PMU计数器采集的PMU事件存储在对应的寄存器文件中。

结合第二方面,在第二方面的第二种实现方式中,获取模块在PMU计数器的计数值达到预设值时获取PMU计数器采集的PMU事件时,具体、获取PMU计数器的计数值,若计数值达到预设值,确定PMU计数器溢出,并获取PMU计数器采集的PMU事件。

结合第二方面,在第二方面的第三种实现方式中,获取模块获取PMU计数器的计数值的时间周期小于或等于PMU计数器的溢出时间。

结合第二方面,在第二方面的第四种实现方式中,获取模块还用于获取寄存器文件存储的PMU事件,获取寄存器文件存储的PMU事件的频率根据寄存器文件的大小、寄存器文件对应的PMU计数器的宽度以及寄存器文件对应的PMU计数器的溢出时间确定。

结合第二方面,在第二方面的第五种实现方式中,寄存器文件的数量根据PMU计数器的数量确定,寄存器文件的大小根据对应的PMU计数器的宽度确定。

结合第二方面,在第二方面的第六种实现方式中,寄存器文件的大小根据对应的PMU计数器的宽度以及预设取值确定,在获取寄存器文件存储的PMU事件的时间周期与对应的PMU计数器的溢出时间之间的比值的余数为零的情况下,预设取值大于或等于获取寄存器文件存储的PMU事件的时间周期与对应的PMU计数器的溢出时间之间的比值,在获取寄存器文件存储的PMU事件的时间周期与对应的PMU计数器的溢出时间之间的比值的余数不为零的情况下,预设取值大于或等于获取寄存器文件存储的PMU事件的时间周期与对应的PMU计数器的溢出时间之间的比值与1的和。

本申请的第三方面,提供了另一种采集性能监视单元PMU事件的装置,该装置的结构中包括处理器,处理器被配置为支持该装置执行第一方面提供的采集性能监视单元PMU事件的方法中相应的功能。处理器用于设置性能监视单元PMU计数器的宽度和数量,并触发PMU计数器为任务采集PMU事件。该装置还包括存储器,存储器用于与处理器耦合,其保存该装置必要的程序指令和数据。该装置还包括通信总线以及通信接口,通信总线用于实现存储器和处理器之间的连接通信。通信接口用于该装置与其他装置通信。

采用本发明,通过设置PMU计数器的宽度以及PMU计数器的数量,其中,可通过降低PMU计数器的宽度来增加PMU计数器的数量,PMU计数器的数量可根据PMU计数器的宽度设置,以提高数据采集效率,在接收到任务信息并且执行对应的任务时,触发PMU计数器为该任务采集PMU事件,以采集在执行该任务时所对应的性能指标,有利于提高性能指标的采集效率。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是现有的PMU的结构示意图;

图2是一种采集性能监视单元PMU事件的装置的结构示意图;

图3是本发明实施例的一种采集性能监视单元PMU事件的方法的一实施例的流程示意图;

图4是本发明实施例的一种采集性能监视单元PMU事件的方法的另一实施例的流程示意图;

图5是本发明实施例的一种采集性能监视单元PMU事件的方法的处理器的结构示意图;

图6是本发明实施例的一种采集性能监视单元PMU事件的装置的另一实施例的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明提供了一种采集性能监视单元PMU事件的方法及装置,通过使用PMU计数器、硬件状态机和寄存器文件增加PMU计数器的数量,并且在PMU计数器宽度降低的情况下也不会增加软件采样的频率,最终实现在软件采集开销更小的情况下在同一段时间内采集更多的PMU事件的目的,从而极大提高数据采集效率。另外,对运行在处理器上的任务的性能分析需要大量的PMU事件,同一时间内通过硬件PMU计数器采集的PMU事件越多,对该任务的性能分析的准确度和精确度就会越高。采用本发明,不但有利于提高性能指标的采集效率,还能提高性能分析的准确度和精确度。

采用本发明实施例,可增加采集的PMU事件的数量,提高数据采集效率。

本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。

图2是一种采集性能监视单元PMU事件的装置的结构示意图,应用于数据采集场景中。如图2所示的采集性能监视单元PMU事件的装置包括存储器100以及处理器101,还可以包括通信总线102以及通信接口103。

其中,存储器100中存储一组程序代码,且处理器调用存储器100中存储的程序代码,用于执行图3至图4的采集性能监视单元PMU事件的方法。通信总线102用于实现存储器100以及处理器101之间的连接通信,采集性能监视单元PMU事件的装置通过通信接口103接收任务信息,由处理器101执行该任务信息指示的任务。

存储器100可以包括易失性存储器(英文:volatile memory),例如随机存取存储器(英文:random-access memory,缩写:RAM);存储器100也可以包括非易失性存储器(英文:non-volatile memory),例如只读存储器(英文:read-only memory,缩写:ROM),快闪存储器(英文:flash memory),硬盘(英文:hard disk drive,缩写:HDD)或固态硬盘(英文:solid state drive,缩写:SSD);存储器100还可以为上述种类的存储器的组合。在通过软件来实现本申请提供的技术方案时,用于实现本申请图3至图4提供的采集性能监视单元PMU事件的方法的程序代码保存在存储器100中,并由处理器101来执行。

处理器101可以为中央处理器(英文:central processing unit,缩写:CPU)。

处理器101首先设置PMU单元104中PMU计数器单元1010中PMU计数器的宽度以及PMU计数器的数量,其中,可降低PMU计数器的宽度,并增加PMU计数器的数量,以提高数据采集效率,在处理器101接收到任务信息并且执行该任务信息指示的任务时,处理器101触发PMU单元104中的PMU计数器单元1010为该任务采集PMU事件,以采集处理器101在执行该任务时所对应的性能指标,有利于提高性能指标的采集效率。

可选的,PMU计数器单元1010、硬件状态机单元1011以及寄存器文件单元1012可为独立于处理器101的功能模块,也可集成在处理器101当中。在图1中将PMU计数器单元1010、硬件状态机单元1011以及寄存器文件单元1012集成在处理器101中进行举例说明。其中,硬件状态机单元1011用于轮询每个PMU计数器的计数值,当发现PMU计数器的计数值指示溢出时,读取出该PMU计数器采集的PMU事件。寄存器文件单元1012用于存储寄存器文件,寄存器文件的数量由PMU计数器的数量确定,寄存器文件中存储对应PMU计数器采集到的PMU事件。

请参阅图3,图3是本发明实施例的一种采集性能监视单元PMU事件的方法的一实施例的流程图。图2所示的采集性能监视单元PMU事件的装置运行时执行图3所示的方法。

如图3所示,本发明实施例的一种采集性能监视单元PMU事件的方法的一实施例可以包括以下步骤。

S100,设置性能监视单元PMU计数器的宽度。

具体实现中,例如,任务A为处理器计算从A点到B点的最优路径。为了分析任务A的性能指标,需要采集PMU事件。在现有技术中,处理器运行任务A一次只能采集6个事件,如果对任务A的分析需要采集多于6个PMU事件,比如30个事件,就需要重复运行任务A(30/6)=5次才能完成所有的采集工作。为了提高数据采集效率,可设置性能监视单元PMU计数器的宽度。其中,PMU计数器的宽度可包括但不限于32-bit、16-bit或8-bit等,可根据CPU的容量或者性能的需求来确定。

S101,根据所述PMU计数器的宽度设置所述PMU计数器的数量。

具体实现中,为了提高数据采集效率,可设置PMU计数器的宽度以及PMU计数器的数量。另外,由于PMU计数器的宽度可降低,因此在不增加CPU资源的情况下可根据PMU计数器的宽度确定PMU计数器的数量,从而实现PMU计数器的数量的拓展。通过改变PMU计数器的宽度以及PMU计数器的数量提高PMU单元整体采集数据的效率。

S102,接收任务信息,所述任务信息指示需执行的任务。

具体实现中,处理器可接收任务信息,该任务信息用于指示处理器需执行的任务。

S103,根据所述任务信息执行所述任务。

具体实现中,处理器可在预设时间开始执行该任务。

S104,触发所述PMU计数器为所述任务采集PMU事件。

具体实现中,所述PMU事件用于指示执行所述任务时对应的性能指标。在处理器执行该任务时,可触发PMU计数器针对处理器执行该任务所表现出来的性能指标进行采集,得到针对该任务的PMU事件。由于PMU计数器的宽度以及数量确定,因此处理器可根据PMU计数器的宽度以及数量触发PMU计数器采集该任务的PMU事件。通过降低PMU计数器的宽度并拓展PMU计数器的数量有利于PMU事件采集的数量,提高数据采集效率。

采用本发明实施例,首先设置PMU计数器的宽度以及PMU计数器的数量,其中,可通过降低PMU计数器的宽度来增加PMU计数器的数量,PMU计数器的数量可根据PMU计数器的宽度设置,以提高数据采集效率,在接收到任务信息并且执行对应的任务时,触发PMU计数器为该任务采集PMU事件,以采集在执行该任务时所对应的性能指标,有利于提高性能指标的采集效率。

请参阅图4,图4是本发明实施例的一种采集性能监视单元PMU事件的方法的另一实施例的流程示意图。图2所示的采集性能监视单元PMU事件的装置运行时执行图4所示的方法。图4在图3的基础上为了弥补因PMU计数器的宽度的降低而导致PMU计数器的溢出时间缩短的缺点,防止处理器从寄存器文件中获取PMU事件的频率过高而增大资源的开销,图4实施例通过硬件状态机单元1011以及寄存器文件单元1012的引入,控制处理器读取PMU计数器的频率,从而降低处理器的资源开销。此外,也缓解了因PMU计数器的宽度过小、短时计数增长太快、并且处理器未能及时读取PMU计数器采集的PMU事件导致的数据丢失,保证了采集PMU事件的可靠性和准确性。

如图4所示,本发明实施例的一种采集性能监视单元PMU事件的方法的另一实施例可以包括以下步骤。

S200,设置性能监视单元PMU计数器的宽度。

S201,根据所述PMU计数器的宽度设置所述PMU计数器的数量。

具体实现中,为了提高数据采集效率,可设置PMU计数器的宽度以及PMU计数器的数量。其中,PMU计数器的宽度可包括但不限于32-bit、16-bit或8-bit等,可根据CPU的容量或者工作性能的需求来确定。另外,由于PMU计数器的宽度可降低,因此在不增加CPU资源的情况下可根据PMU计数器的宽度确定PMU计数器的数量,从而实现PMU计数器的数量的拓展。通过改变PMU计数器的宽度以及PMU计数器的数量提高PMU单元整体采集数据的效率。如图5所示为PMU计数器单元1010、硬件状态机单元1011以及寄存器文件单元1012集成于处理器内部时处理器的结构示意图。其中,PMU计数器单元1010包括至少一个PMU计数器216,N表示PMU计数器216的数量,n表示PMU计数器216的位宽宽度。此外还可以设置针对各个PMU计数器216设置对应的PMU事件接口100,负责为各个PMU计数器216采集PMU事件。PMU事件接口100的数量等于PMU计数器216的数量,即PMU事件接口100的数量也为N。

S202,确定寄存器文件的大小及数量。

具体实现中,所述寄存器文件610的数量根据所述PMU计数器216的数量确定,所述寄存器文件610用于存储所述PMU计数器216为所述任务采集的PMU事件。在本实施例中,如图5所示,寄存器文件单元1012可存储多个寄存器文件610,寄存器文件610的数量可以大于或等于PMU计数器216的数量,每个寄存器文件610都有对应的PMU计数器216。

可选的,所述寄存器文件610的大小根据对应的PMU计数器216的宽度确定。

具体实现中,每个寄存器文件610的大小可直接根据对应的PMU计数器216的宽度确定。

可选的,所述寄存器文件610的大小根据对应的PMU计数器216的宽度以及预设取值确定,在获取所述寄存器文件存储的PMU事件的时间周期与所述对应的PMU计数器的溢出时间之间的比值的余数为零的情况下,所述预设取值大于或等于获取所述寄存器文件存储的PMU事件的时间周期与所述对应的PMU计数器216的溢出时间之间的比值,在获取所述寄存器文件存储的PMU事件的时间周期与所述对应的PMU计数器216的溢出时间之间的比值的余数不为零的情况下,所述预设取值大于或等于获取所述寄存器文件存储的PMU事件的时间周期与所述对应的PMU计数器216的溢出时间之间的比值与1的和。

具体实现中,每个寄存器文件610的大小还可为(n*NUM)-bit,n表示对应PMU计数器216的宽度,NUM为大于或等于1的整数。因此,寄存器文件单元1012的容量为N*(n*NUM)-bit,其中,N表示PMU计数器216的数量。在本实施例中,PMU计数器216的数量可等于寄存器文件单元1012中存储的寄存器文件610的数量。如图5所示,以设定PMU计数器0对应的PMU寄存器文件0的容量进行举例,若PMU计数器0的宽度为n-bit,PMU计数器0对应的PMU寄存器文件0的容量则为(n*NUM)-bit。其中,NUM的取值由具体的需求决定。例如,如果处理器读取寄存器文件610的周期为T(T≥T0),则NUM的值可为:如果T/T0的余数为0,则NUM≥T/T0,否则NUM≥([T/T0]+1)。

可选的,步骤S200和步骤S201的执行顺序本实施例不作限定,步骤S201既可以在步骤S200之前执行,也可在步骤S200之后执行。

S203,接收任务信息,所述任务信息指示需执行的任务。

具体实现中,处理器可接收任务信息,该任务信息用于指示处理器需执行的任务。

S204,根据所述任务信息执行所述任务。

具体实现中,处理器可在预设时间开始执行该任务。

S205,触发所述PMU计数器为所述任务采集PMU事件。

具体实现中,所述PMU事件用于指示执行所述任务时对应的性能指标。在处理器执行该任务时,可触发PMU计数器216针对处理器执行该任务所表现出来的性能指标进行采集,得到针对该任务的PMU事件。由于PMU计数器216的宽度以及数量确定,因此处理器可根据PMU计数器216的宽度以及数量触发PMU计数器216利用对应的PMU事件接口100采集该任务的PMU事件。通过降低PMU计数器216的宽度并拓展PMU计数器216的数量有利于PMU事件采集的数量,提高数据采集效率。

S206,当所述PMU计数器的计数值达到预设值时,获取所述PMU计数器采集的PMU事件。

具体实现中,为了弥补因PMU计数器216的宽度的降低而导致PMU计数器216的溢出时间缩短的缺点,防止处理器从寄存器文件610中获取PMU事件的频率过高而增大资源的开销,可通过硬件状态机单元1011轮询每个PMU计数器216的状态,当发现PMU计数器的计数值达到预设值时,确定存在PMU计数器216溢出,则读取该PMU计数器216采集的PMU事件,并将结果保存在对应的寄存器文件中。

可选的,S206具体包括S2061(未图示)以及S2062(未图示):

S2061,获取所述PMU计数器的计数值。

具体实现中,硬件状态机单元1011可通过轮询每个PMU计数器216的计数值212来确定每个PMU计数器216的状态。如图5所示,本实施例可设置计数值212(例如为OVFL值)达到预设值时确定对应的PMU计数器216溢出,例如当PMU计数器216的计数值212为1时确定该PMU计数器216溢出。因此,通过配置硬件状态机单元1011,触发硬件状态机单元1011查询PMU计数器216当前的OVFL值,并判断PMU计数器216当前的OVFL值是否达到预设值。

可选的,所述获取所述PMU计数器216的计数值212的时间周期小于或等于所述PMU计数器216的溢出时间。为了防止PMU计数器216溢出后将PMU计数器216中存储的内容清空,硬件状态机单元1011需要在PMU计数器216的溢出时间内定时轮询PMU计数器216。因此,硬件状态机单元1011轮询PMU计数器216的计数值212的时间小于或等于PMU计数器216的溢出时间。PMU计数器216的溢出时间可通过实时统计或者通过PMU计数器216的性能确定,本实施例不作限定。

可选的,硬件状态机单元1011轮询PMU计数器216的计数值212的时间还可小于或等于PMU计数器216的最快溢出时间。PMU计数器216的最快溢出时间可通过实时统计或者通过PMU计数器216的性能确定,本实施例不作限定。

S2062,若所述计数值达到所述预设值,确定所述PMU计数器溢出,并获取所述PMU计数器采集的PMU事件。

具体实现中,当硬件状态机单元1011确定PMU计数器216当前的OVFL值达到预设值时,表明计数值212指示PMU计数器216溢出,则硬件状态机单元1011读取该PMU计数器216采集的PMU事件。

S207,将获取到的所述PMU计数器采集的PMU事件存储在对应的文件中。

具体实现中,硬件状态机单元1011将该PMU计数器216采集的PMU事件存储在寄存器文件单元1012对应的寄存器文件610中。最后,硬件状态机单元1011继续查询下一个PMU计数器216的计数值212的OVFL值。

S208,获取所述寄存器文件存储的PMU事件。

具体实现中,当处理器需要获取寄存器文件存储的PMU事件时,可通过处理器接口700读取寄存器文件610存储的PMU事件。处理器可确定获取寄存器文件610存储的PMU事件的采样周期,即获取寄存器文件610存储的PMU事件的频率。例如,若采样周期为100ms,则处理器每隔100ms读取寄存器文件单元1012中所有寄存器文件610存储的PMU事件。如图5所示,处理器在每个采样周期获取寄存器文件单元1012中PMU寄存器文件0至PMU寄存器文件(N-1)存储的PMU事件。

可选的,所述获取所述寄存器文件610存储的PMU事件的频率根据所述寄存器文件610的大小、所述寄存器文件610对应的PMU计数器216的宽度以及所述寄存器文件610对应的PMU计数器216的溢出时间确定。具体地,如果寄存器文件610的大小为512Bytes,PMU计数器216的宽度为32-bit,PMU计数器216的溢出时间为1秒,表示每一秒钟PMU计数器216会将32-bit数据即4个Bytes写到寄存器文件610中,经过512/4=128秒钟后,寄存器文件610会写满,在寄存器文件610写满前处理器需要将其中的内容读取出来,此时处理器的读取寄存器文件单元的频率应小于或等于128秒/次。通过硬件状态机单元1011以及寄存器文件单元1012的引入,能够有效降低处理器读取PMU计数器216的频率,降低处理器的资源开销。此外,也缓解了因PMU计数器216的宽度过小、短时计数增长太快并且处理器未能及时读取PMU计数器216采集的PMU事件导致的数据丢失、保证了采集PMU事件的可靠性和准确性。

可选的,处理器获取所述寄存器文件610存储的PMU事件的采样累计时间F0可为:T0≤F0≤(T0*NUM)。其中,T0表示PMU计数器216的溢出时间或者最快溢出时间,NUM为大于或等于1的整数。

采用本发明实施例,首先设置PMU计数器的宽度以及PMU计数器的数量,其中,可通过降低PMU计数器的宽度来增加PMU计数器的数量,PMU计数器的数量可根据PMU计数器的宽度设置,以提高数据采集效率,在接收到任务信息并且执行对应的任务时,触发PMU计数器为该任务采集PMU事件,以采集在执行该任务时所对应的性能指标,有利于提高性能指标的采集效率。

请参阅图6,图6是本发明实施例的一种采集性能监视单元PMU事件的装置的另一实施例的结构示意图。图6所示的装置通过图2所示的装置实现,还可以通过专用集成电路(英文:Application-specific Integrated Circuit,缩写:ASIC)实现,或可编程逻辑器件(英文:Programmable Logic Device,缩写:PLD)实现。上述PLD可以是复杂可编程逻辑器件(英文:Complex Programmable Logic Device,缩写:CPLD),FPGA,通用阵列逻辑(英文:Generic Array Logic,缩写:GAL)或其任意组合。图6所示的装置用于实现如图3至图4所示的采集PMU事件的方法。通过软件实现如图3至图4所示的采集PMU事件的方法时,该装置也可以为软件模块。

该装置包括设置模块600、接收模块601、执行模块602、触发模块603、确定模块604、获取模块605以及存储模块606。设置模块600工作时,执行图3所示的步骤S100和S101、执行图4所示的步骤S200以及S201。接收模块601工作时,执行图3所示的步骤S102、执行图4所示的步骤S203。执行模块602工作时,执行图3所示的步骤S103、执行图4所示的步骤S204。触发模块603工作时,执行图3所示的步骤S104、执行图4所示的步骤S205。确定模块604工作时,执行图4所示的步骤S202。获取模块605工作时,执行图4所示的步骤S206、步骤S2061(未图示)、步骤S2062(未图示)。存储模块606工作时,执行图4所示的步骤S207。

可选的,该装置还可包括采集模块607,采集模块607工作时,执行图4所示的步骤S208。

采用本发明实施例,首先设置PMU计数器的宽度以及PMU计数器的数量,其中,可通过降低PMU计数器的宽度来增加PMU计数器的数量,PMU计数器的数量可根据PMU计数器的宽度设置,以提高数据采集效率,在接收到任务信息并且执行对应的任务时,触发PMU计数器为该任务采集PMU事件,以采集在执行该任务时所对应的性能指标,有利于提高性能指标的采集效率。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。

本发明实施例装置中的模块或单元可以根据实际需要进行合并、划分和删减。

本发明实施例的模块或模块,可以以通用集成电路(如中央处理器CPU),或以专用集成电路(ASIC)来实现。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

以上所述的实施方式,并不构成对该技术方案保护范围的限定。任何在上述实施方式的精神和原则之内所作的修改、等同替换和改进等,均应包含在该技术方案的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1