处理器性能分析方法、装置、电子设备和存储介质与流程

文档序号:32523763发布日期:2022-12-13 20:26阅读:24来源:国知局
处理器性能分析方法、装置、电子设备和存储介质与流程

1.本技术实施例涉及芯片技术领域,尤其涉及一种处理器性能分析方法、装置、电子设备和存储介质。


背景技术:

2.在处理器设计过程中,需要对处理器的性能进行分析,以基于分析结果对处理器进行优化,获得满足设计需求的处理器。在对处理器进行性能分析时,首先通过仿真验证方法获取处理器的波形数据,波形数据包括了处理器中每个部件在仿真验证过程中每个时刻的状态,然后基于波形数据对处理器的性能进行分析。
3.目前,在对处理器性能进行分析时,首先根据波形数据确定性能热点,然后依次对每个性能热点对应的波形进行分析。
4.然而,根据波形数据直接对波形进行分析,需要花费较长时间和较多的精力,导致处理器性能分析的效率较低。


技术实现要素:

5.有鉴于此,本技术实施例提供一种处理器性能分析方法、装置、电子设备和存储介质,以至少解决或缓解上述问题。
6.根据本技术实施例的第一方面,提供了一种处理器性能分析方法,包括:获取对处理器进行仿真验证过程中产生的波形数据;根据预先设定的波形匹配规则,对所述波形数据进行处理,获得处理器事件信息和处理器行为信息,其中,所述处理器事件信息包括性能影响行为的发生次数和目标指令的执行次数中的至少一个,所述处理器行为信息包括性能影响行为的描述信息;根据所述处理器事件信息和所述处理器行为信息,分别生成用于对所述处理器进行性能分析的可交互图。
7.根据本技术实施例的第二方面,提供了一种处理器性能分析装置,包括:获取单元,用于获取对处理器进行仿真验证过程中产生的波形数据;提取单元,用于根据预先设定的波形匹配规则,对所述波形数据进行处理,获得处理器事件信息和处理器行为信息,其中,所述处理器事件信息包括性能影响行为的发生次数和目标指令的执行次数中的至少一个,所述处理器行为信息包括性能影响行为的描述信息;生成单元,用于根据所述处理器事件信息和所述处理器行为信息,分别生成用于对所述处理器进行性能分析的可交互图。
8.根据本技术实施例的第三方面,提供了一种电子设备,包括:处理器、存储器、通信接口和通信总线,处理器、存储器和通信接口通过通信总线完成相互间的通信;存储器用于存放至少一可执行指令,可执行指令使处理器执行上述第一方面提供的处理器性能分析方法对应的操作。
9.根据本技术实施例的第四方面,提供了一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述第一方面所述的处理器性能分析方法。
10.根据本技术实施例的第五方面,提供了一种计算机程序产品,包括计算机指令,所
述计算机指令指示计算设备执行上述第一方面所述的处理器性能分析方法。
11.根据本技术实施例提供的处理器性能分析方案,在获取对处理器进行仿真验证过程中产生的波形数据后,通过对波形数据进行处理,获得处理器事件信息和处理器行为信息,进而根据处理器事件信息和处理器行为信息,分别生成用于对处理器性能进行分析的可交互图。由于处理器事件信息包括性能影响行为的发生次数和目标指令的执行次数,而处理器行为信息包括性能影响行为的描述信息,进而通过可交互图可以更有针对性的对处理器性能进行分析,相对于直接对波形的无目的分析,可以节约性能分析所花费的时间和精力,从而提高对处理器性能进行分析的效率。
附图说明
12.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
13.图1是本技术一个实施例所应用示例性系统的示意图;
14.图2是本技术一个实施例的处理器性能分析方法的流程图;
15.图3是本技术一个实施例的第一可交互图生成方法的流程图;
16.图4是本技术一个实施例的第一可交互图的示意图;
17.图5是本技术另一个实施例的第一可交互图的示意图;
18.图6是本技术一个实施例的第二可交互图的示意图;
19.图7是本技术另一个实施例的第二可交互图的示意图;
20.图8是本技术一个实施例的处理器性能分析装置的示意图;
21.图9是本技术一个实施例的电子设备的示意图。
具体实施方式
22.以下基于实施例对本技术进行描述,但是本技术并不仅仅限于这些实施例。在下文对本技术的细节描述中,详尽描述了一些特定的细节部分。对本领域技术人员来说没有这些细节部分的描述也可以完全理解本技术。为了避免混淆本技术的实质,公知的方法、过程、流程没有详细叙述。另外附图不一定是按比例绘制的。
23.首先,对本技术实施例进行描述的过程中出现的部分名词或术语适用于如下解释。
24.处理器仿真验证:在处理器的设计过程中,基于中间设计产物模拟处理器进行数据处理,以验证处理器的性能,进而根据验证结果对中间设计产物进行迭代优化,获得能够满足设计需求的中间设计产物。中间设计产物可以是处理器的硬件代码,基于设计完成的硬件代码可以制造处理器。
25.波形数据:对处理器进行仿真验证过程中获得的波形,根据波形数据包括了仿真验证过程中各信号在每一时刻的翻转信息,可以指示处理器中每个部件在每个时刻的状态。
26.可交互图:展示在交互界面中可以与用户进行交互的数据图,比如响应于用户操
作指令,进行局部缩放、横纵坐标缩放、数据源切换等,数据体可以是曲线图、柱状图等多种形式。
27.示例性系统
28.图1示出了一种适用于本技术实施例的处理器性能分析方法的示例性系统。如图1所示,该系统包括验证服务器101、处理器性能分析装置102和至少一个展示终端103。
29.验证服务器101可以通过仿真软件或硬件仿真加速器对处理器进行模拟,并通过模拟出的处理器执行基准测试程序或基准测试程序切片,采集模拟出的处理器执行基准测试程序或基准测试程序切片过程中产生的波形数据。验证服务器101可以获取设计处理器的中间设计产物,比如中间设计产物可以是处理器的硬件代码,基于中间设计产物,通过仿真软件或硬件仿真加速器就可以模拟处理器,将基准测试程序或基准测试程序切片输入模拟处理器后,模拟处理器执行基准测试程序或基准测试程序切片。验证服务器101可以将获取到的波形数据发送给处理器性能分析装置102。
30.处理器性能分析装置102接收到波形数据后,可以从波形数据中提取处理器事件信息和处理器行为信息,进而根据处理器事件信息和处理器行为信息生成可交互图,可交互图可以展示影响处理器性能的事件和行为的相关信息。处理器性能分析装置102可以将生成的可交互图发送给展示终端103。
31.展示终端103包括用于图像显示的显示屏。展示终端103接收到来自处理器性能分析装置102的可交互图后,通过交互界面展示可交互图。用户通过展示终端103所展示的交互界面,对可交互图进行局部缩放、横纵坐标缩放、数据源切换等操作,以查看处理器事件信息和处理器行为信息等,实现对处理器性能进行分析。
32.本技术实施例主要着眼于处理器性能分析装置102生成可交互图的过程,在后文中会对可交互图的生成过程进行详细描述。
33.处理器性能分析方法
34.基于上述系统,本技术实施例提供了一种处理器性能分析方法,该处理器性能分析方法可由上述系统实施例中的处理器性能分析装置102执行,以下通过多个实施例对该处理器性能分析方法进行详细说明。
35.图2是本技术一个实施例的处理器性能分析方法的流程图。如图2所示,该处理器性能分析方法包括如下步骤:
36.步骤201、获取处理器进行仿真验证过程中产生的波形数据。
37.在对处理器进行仿真验证的过程中,会产生波形数据,波形数据包括了仿真验证过程中各信号在每一时刻的翻转信息,翻转信息指示了信号是二进制的1或0,根据波形数据可以确定处理器中每个部件在每个时刻的状态。
38.步骤202、根据预先设定的波形匹配规则,对波形数据进行处理,获得处理器事件信息和处理器行为信息。
39.处理器事件信息包括性能影响行为的发生次数和目标指令的执行次数中的至少一个。处理器行为信息包括性能影响行为的描述信息,具体可以包括性能影响行为的发生时间等。性能影响行为是处理器运行过程中出现的,会影响处理器性能的行为。
40.由于波形数据可以指示处理器中每个部件在每个时刻的状态,而且包括了各信号在每一时刻的翻转信息,因此可以从波形数据中识别出性能影响行为和所执行的目标指
令,进而获得性能影响行为的描述信息,并统计各类性能影响行为的发生次数和目标指令的执行次数,从而获得包括性能影响行为的描述信息的处理器行为信息,及包括性能影响行为的发生次数和目标指令的执行次数的处理器事件信息。
41.目标指令是预定确定的可用于评价处理器性能的指令。由于性能影响行为和目标指令在波形数据中具有相应的波形特征,因此可以根据性能影响行为和目标指令在波形数据中波形特征,预先设定波形匹配规则,进而可以根据波形匹配规则对波形数据进行处理,获得处理器事件信息和处理器行为信息。
42.根据波形匹配规则对波形数据进行处理时,可以基于波形匹配规则创建相应的脚本程序,通过所创建的脚本程序对波形数据进行处理,提取处理器事件信息和处理器行为信息。
43.步骤203、根据处理器事件信息和处理器行为信息,分别生成用于对处理器性能进行分析的可交互图。
44.由于处理器事件信息包括了性能影响行为的发生次数和目标指令的执行次数,而性能影响行为的发生次数和目标指令的执行次数均与处理器的性能相关,因此可以根据处理器事件信息生成可交互图,进而根据可交互图对处理器性能进行分析。性能影响行为的具体发生时间、占比等也与处理器的性能相关,因此也可以根据处理器行为信息生成可交互图,进而根据所成的可交互图对处理器性能进行分析。
45.在根据处理器事件信息和处理器行为信息生成可交互图时,可以通过pyecharts、echarts等开源工具,基于处理器事件信息和处理器行为信息,生成可交互图。
46.应理解,根据处理器事件信息生成的可交互图和根据处理器行为信息生成的可交互图,可以是不同的可交互图,也可以是展示在同一可交互图中的不同信息,对此本技术实施例不作限定。
47.在本技术实施例中,在获取对处理器进行仿真验证过程中产生的波形数据后,通过对波形数据进行处理,获得处理器事件信息和处理器行为信息,进而根据处理器事件信息和处理器行为信息,分别生成用于对处理器性能进行分析的可交互图。由于处理器事件信息包括性能影响行为的发生次数和目标指令的执行次数,而处理器行为信息包括性能影响行为的描述信息,进而通过可交互图可以更有针对性的对处理器性能进行分析,相对于直接对波形的无目的分析,可以节约性能分析所花费的时间和精力,从而提高对处理器性能进行分析的效率。
48.在一种可能的实现方式中,在生成可交互图时,可以根据处理器事件信息生成第一可交互图。其中,第一可交互图用于指示如下两项中的至少一项:
49.(i)性能影响行为的发生次数随时间的变化关系;
50.(ii)目标指令的执行次数随时间的变化关系。
51.性能影响行为的发生次数随时间的变化关系和目标指令的执行次数随时间的变化关系,可以展示在不同的第一可交互图中,也可以展示在同一第一可交互图中。当在同一第一可交互图中展示性能影响行为的发生次数和目标指令的执行次数随时间的变化关系时,根据用户的交互指令,可以在第一可交互图中隐藏或展示性能影响行为的发生次数随时间的变化关系,也可以在第一可交互图中隐藏或展示目标指令的执行次数随时间的变化关系。
52.在第一可交互图中隐藏或展示性能影响行为的发生次数随时间的变化关系时,由于性能影响行为可能有多个,可以仅隐藏或展示部分性能影响行为的发生次数随时间的变化关系,也可以隐藏或展示全部性能影响行为的发生次数随时间的变化关系。在第一可交互图中隐藏或展示目标指令的执行次数随时间的变化关系时,由于目标指令可能有多种类型,可以仅隐藏或展示部分类型目标指令的执行次数随时间的变化关系,也可以隐藏或展示全部类型目标指令的执行次数随时间的变化关系。
53.在本技术实施例中,根据性能影响行为的发生次数随时间的变化关系,可以确定对处理器进行仿真验证过程中性能影响行为的分布情况,根据目标指令的执行次数随时间的变化关系,可以确定对处理器进行仿真验证过程中目标指令的执行分布情况。由于性能影响行为的发生次数和目标指令的执行次数均与处理器性能相关,因此,根据包括性能影响行为的发生次数随时间的变化关系,和/或目标指令的执行次数随时间的变化关系的第一可交互图,可以对处理器性能进行分析。
54.图3是本技术一个实施例的第一可交互图生成方法的流程图。如图3所以,该第一可交互图生成方法包括如下步骤:
55.步骤301、将处理器的仿真验证时间切分为连续的至少两个时间片段。
56.对处理器进行仿真验证在一个时间段内持续进行,在获取到波形数据后,可以将处理器的仿真验证时间切分为连续的至少两个时间片段,使得每个时间片段包括处理器的至少两个时钟周期。
57.为了便于分析性能影响行为的发生次数和目标指令的执行次数随时间的变化趋势,切分出的各时间片段包括相同数量的时钟周期,比如每个时间片段包括200个时钟周期。应理解,时间片段的长度可以根据波形数据进行设定,比如,处理器仿真验证的时间较长时,每个时间片段可以包括较多数量的时钟周期,处理器仿真验证的时间较短时,每个时间片段包括较少数量的时钟周期,本技术实施例对每个时间片段所包括时钟周期的个数不作限定。
58.每个时间片段包括连续的多个时钟周期,且相邻时间片段中时钟周期是连续的,各时间片段的顺序组合为处理器进行仿真验证的持续时间。
59.步骤302、分别计算每个时间片段内性能影响行为的发生总次数。
60.在将仿真验证时间切分为多个时间片段后,分别计算每个时间片段内性能影响行为的发生总次数。由于性能影响行为可能有多种,可以分别计算每一种性能影响行为在每个时间片段内发生的总次数,也可以计算各种性能影响行为在每个时间片段内的发生总次数
61.比如,性能影响行为有5种,分别统计每一种性能影响行为在每个时间片段内的发生总次数。
62.步骤303、分别计算每个时间片段内目标指令的执行总次数。
63.在将仿真验证时间切分为多个时间片段后,分别计算每个时间片段内目标指令的执行总次数。由于目标指令可能有多种,可以分别计算每一种目标指令在每个时间片段内的执行总次数,也可以计算各种目标指令在每个时间片段内的执行总次数。
64.比如,目标指令包括3中,则分别统计每一种目标指令在每个时间片段内的执行总次数。
65.步骤304、生成以时间片段的切分点为横坐标,且以发生总次数和/或执行总次数为纵坐标的第一可交互图。
66.在确定每个时间片段内性能影响行为的发生总次数和目标指令的执行总次数后,生成以时间片段的切分点为横坐标的第一可交互图,第一可交互图的纵坐标可以是每个时间片段内性能影响行为的发生总次数,还可以是每个时间片段内目标指令的执行总次数,或者同时以每个时间片段内性能影响行为的发生总次数和目标指令的执行总次数为纵坐标。
67.当性能影响行为有多种时,根据用户的交互指令,可以在第一可交互图中分别展示不同种性能影响行为在每个时间片段内的发生总次数,也可以在第一可交互图中仅展示某一种性能影响行为在每个时间片段内的发生总次数。
68.当目标指令有多种时,根据用户的交互指令,可以在第一可交互图中分别展示不同种目标指令在每个时间片段内的执行总次数,也可以在第一可交互图中仅展示某一中目标指令在每个时间片段内的执行总次数。
69.图4是本技术一个实施例的第一可交互图的示意图。如图4所示,横坐标为时间片段的切分点,纵坐标为行为发生次数或指令执行次数,其中,横坐标的数字表示时间片段的编号,比如5表示第5个时间片段。每个时间片段包括200个时钟周期。用户可以通过交互指令,对横坐标进行缩放,以减小或增加所展示的时间片段的数量。图4所示的曲线的每个拐点的纵坐标,表示该拐点的横坐标所对应时间片段内相应性能影响行为的发生总次数,或者表示该拐点的横坐标所对应时间片段内相应目标指令的执行总次数。图4所示的曲线作为一个示例,可以表示流水线损失、缓存缺失或分支预测错误在每个时间片段内发生的总次数,或者,还可以表示运算指令、访存指令、跳转指令或协处理器指令在每个时间片段内的执行总次数。
70.图5是本技术另一个实施例的第一可交互图的示意图。与图4所示的第一可交互图包括一条曲线相比,图5所示的第一可交互图包括了两条曲线,两条曲线可以表示两个性能影响行为在每个时间片段内的发生总次数,或者表示两个目标指令在每个时间片段内的发生总次数,或者标识一个性能影响行为在每个时间片段内的发生总次数和一个目标指令在每个时间片段内的发生总次数。
71.在一个例子中,曲线501表示流水线损失在每个时间片段内发生的总次数,曲线502表示缓存缺失在每个时间片段内发生的总次数。在另一个例子中,曲线501表示流水线损失在每个时间片段内发生的总次数,曲线502表示跳转指令在每个时间片段内的执行总次数。
72.当性能影响行为有多种且目标指令有多种时,根据用户的交互指令,可以在第一可交互图中展示至少一种性能影响行为在每个时间片段内的发生总次数,及至少一种目标指令在每个时间片段内的执行总次数。
73.在本技术实施例中,通过对仿真验证时间的切分,获得连续的多个时间片段,分别计算每个时间片段内性能影响行为的发生总次数和目标指令的执行总次数,进而生成以时间片段的切分点为横坐标,并以性能影响行为的发生总次数和/或目标指令的执行总次数为纵坐标的第一可交互图,从而根据第一可交互图可以确定各性能影响行为和各目标指令在各时间片段内的分布,并可以确定各性能影响行为和各目标指令随时间的变化趋势,从
多个维度对处理器的性能进行分析,保证对处理器性能进行分析的准确性和全面性。
74.在一种可能的实现方式中,性能影响行为包括流水线损失、缓存缺失和分支预测错误中的至少一个,目标指令包括运算指令、访存指令、跳转指令和协处理器指令中的至少一个。
75.在本技术实施例中,由于流水线损失、缓存缺失和分支预测错误均会影响处理器的性能,同时运算指令、访存指令、跳转指令和协处理器指令的执行情况也可以反映处理器的性能,因此可以将流水线损失、缓存缺失和分支预测错误作为性能影响行为,并将运算指令、访存指令、跳转指令和协处理器指令作为目标指令,进而基于各性能影响行为和各目标指令生成可交互图对处理器性能进行分析,可以直观的确定导致性能损失较大的事件、流水线整体停顿的时间比例等,从可以直观地分析性能损失点并进一步精确分析波形确认问题,提高对处理器进行性能分析的效率和准确性。
76.在一种可能的实现方式中,在生成可交互图时,可以根据处理器行为信息生成第二可交互图,其中,第二可交互图用于指示性能影响行为在不同时刻的行为结果。
77.处理器行为信息包括性能影响行为的描述信息,性能影响行为的描述信息包括性能影响行为的发生时间和行为结果。比如,在性能影响行为包括缓存缺失时,所生成的第二可交互图可以指示仿真验证过程中每个时刻是否发生缓存缺失,在性能影响行为包括分支预测错误时,所生成的第二可交互图可以指示仿真验证过程中每次分支预测的预测结果是成功还是失败。
78.在本技术实施例中,根据处理器行为信息生成的第二可交互图,可以指示性能影响行为在不同时刻的行为结果,从而根据第二可交互图可以确定各性能影响行为发生的时间,结合处理器仿真验证过程中每个时刻执行的指令,可以直观地确定导致处理器性能损失的损失点,进而通过进一步分析波形可以确定导致性能损失的问题,提高对处理器性能进行分析的效率。
79.在一种可能的实现方式中,在根据处理器行为信息生成第二可交互图时,如果性能影响行为包括缓存缺失,则根据处理器行为信息,生成以时间为横坐标,且以访存地址为纵坐标的第二可交互图,该第二可交互图中缓存缺失的点和缓存未缺失的点以不同的标记绘制。如果性能影响行为包括分支预测错误,则根据处理器行为信息,生成以时间为横坐标,且以分支指令指针为纵坐标的第二可交互图,该第二可交互图中分支预测正确的点和分支预测错误的点以不同的标记绘制。
80.图6是本技术一个实施例的第二可交互图的示意图。如图6所示,横坐标为时钟周期,纵坐标为分支指令指针,黑色圆点表示相应时钟周期的分支预测正确,黑色三角形表示相应时钟周期的分支预测错误。
81.在本技术实施例中,当性能影响行为包括缓存缺失时,生成以时间为横坐标,并以访存地址为纵坐标的第二可交互图。在第二可交互图中,缓存缺失行为和缓存未缺失的点使用不同的标记进行绘制,整体得到的就是访存行为,而根据得到的访存行为可以与预计硬件算法行为进行比较,快速判断处理器是否存在性能问题。同时,还可以得到缓存缺失率等其他数据,以供后续其他分析。
82.在本技术实施例中,当性能影响行为包括分支预测错误时,生成以时间为横坐标,并以分支指令指针(分支pc)为纵坐标的第二可交互图。在第二可交互图中,将预测正确的
点和预测错误的点使用不同的标记进行绘制,得到分支跳转行为,根据得到的分支跳转行为可以更加直观地进行分析,也可以得到分支预测准确率,并可以与性能模型进行比较。
83.在一种可能的实现方式中,在根据处理器行为信息生成第二可交互图时,可以根据处理器行为信息,生成以时间为横坐标,并以指令指针为纵坐标的第二可交互图。根据该第二可交互图可以通过反汇编对程序流进行反标,以获得原始程序函数标签,原始程序函数标识用于确定每个原始程序函数的运行时间占比和指令数占比。
84.图7是本技术另一个实施例的第二可交互图的示意图。横坐标为时钟周期,纵坐标为指令指针,图中黑色曲线由多个黑色圆点叠加而成,一个黑色圆点的纵坐标,表示在该黑色圆点的横坐标所对应时钟周期,某一函数所访问的内存地址。
85.在本技术实施例中,根据处理器行为信息生成以时间为横坐标并以指令指针(pc)为纵坐标的第二可交互图,同时可以使用反汇编得到原始程序函数标签对程序流进行反标,从而得到每个函数的运行时间占比和指令数占比,进而可以快速定位程序热点,进而进一步分析波形可以确定导致性能损失的问题,提高对处理器性能进行分析的效率。
86.在一种可能的实现方式中,可以通过仿真软件或硬件仿真加速器对处理器进行模拟,进而通过模拟的处理器执行基准测试程序或基准测试程序切片,对所述处理器进行验证,获取对处理器进行验证过程中产生的波形数据。
87.在本技术实施例中,可以通过仿真软件或硬件仿真加速器对处理器进行模拟,模拟的处理器可以执行基准测试程序或基准测试程序切片,均可以获取对处理器进行验证过程中产生的波形数据,进而采样本技术实施例的方式对波形数据进行处理,生成可交互图,使得本技术实施例提供的处理器性能分析方法适用于不同的仿真验证方案,保证了该处理器性能分析方法的适用性。
88.处理器性能分析装置
89.对应于上述方法实施例,图8示出了一种处理器性能分析装置的示意图。如图8所示,该处理器性能分析装置102包括:
90.获取单元801,用于获取对处理器进行仿真验证过程中产生的波形数据;
91.提取单元802,用于根据预先设定的波形匹配规则,对波形数据进行处理,获得处理器事件信息和处理器行为信息,其中,处理器事件信息包括性能影响行为的发生次数和目标指令的执行次数中的至少一个,处理器行为信息包括性能影响行为的描述信息;
92.生成单元803,用于根据处理器事件信息和处理器行为信息,分别生成用于对处理器进行性能分析的可交互图。
93.在本技术实施例中,获取单元801获取对处理器进行仿真验证过程中产生的波形数据后,提取单元802通过对波形数据进行处理,获得处理器事件信息和处理器行为信息,生成单元803根据处理器事件信息和处理器行为信息,分别生成用于对处理器性能进行分析的可交互图。由于处理器事件信息包括性能影响行为的发生次数和目标指令的执行次数,而处理器行为信息包括性能影响行为的描述信息,进而通过可交互图可以更有针对性的对处理器性能进行分析,相对于直接对波形的无目的分析,可以节约性能分析所花费的时间和精力,从而提高对处理器性能进行分析的效率。
94.需要说明的是,本实施例的处理器性能分析装置用于实现前述方法实施例中相应的处理器性能分析方法,并具有相应的方法实施例的有益效果,在此不再赘述。
95.电子设备
96.图9是本技术实施例提供的一种电子设备的示意性框图,本技术具体实施例并不对电子设备的具体实现做限定。如图9所示,该电子设备可以包括:处理器(processor)902、通信接口(communications interface)904、存储器(memory)906、以及通信总线908。其中:
97.处理器902、通信接口904、以及存储器906通过通信总线908完成相互间的通信。
98.通信接口904,用于与其它电子设备或服务器进行通信。
99.处理器902,用于执行程序910,具体可以执行前述任一处理器性能分析方法实施例中的相关步骤。
100.具体地,程序910可以包括程序代码,该程序代码包括计算机操作指令。
101.处理器902可能是cpu,或者是特定集成电路asic(application specific integrated circuit),或者是被配置成实施本技术实施例的一个或多个集成电路。智能设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个cpu;也可以是不同类型的处理器,如一个或多个cpu以及一个或多个asic。
102.risc-v是一种基于精简指令集(risc)原则的开源指令集架构,其可以应用于单片机和fpga芯片等各个方面,具体可应用在物联网安全、工业控制、手机、个人计算机等领域,且由于其在设计时考虑了小型、快速、低功耗的现实情况,使得其尤其适用于仓库规模云计算机、高端移动电话和微小嵌入式系统等现代计算设备。随着人工智能物联网aiot的兴起,risc-v指令集架构也受到越来越多的关注和支持,并有望成为下一代广泛应用的cpu架构。
103.本技术实施例中的计算机操作指令可以是基于risc-v指令集架构的计算机操作指令,对应地,处理器902可以基于risc-v的指令集设计。具体地,本技术实施例提供的电子设备中的处理器的芯片可以为采用risc-v指令集设计的芯片,该芯片可基于所配置的指令执行可执行代码,进而实现上述实施例中的处理器性能分析方法。
104.存储器906,用于存放程序910。存储器906可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
105.程序910具体可以用于使得处理器902执行前述任一实施例中的处理器性能分析方法。
106.程序910中各步骤的具体实现可以参见前述任一处理器性能分析方法实施例中的相应步骤和单元中对应的描述,在此不赘述。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备和模块的具体工作过程,可以参考前述方法实施例中的对应过程描述,在此不再赘述。
107.通过本技术实施例的电子设备,在获取对处理器进行仿真验证过程中产生的波形数据后,通过对波形数据进行处理,获得处理器事件信息和处理器行为信息,进而根据处理器事件信息和处理器行为信息,分别生成用于对处理器性能进行分析的可交互图。由于处理器事件信息包括性能影响行为的发生次数和目标指令的执行次数,而处理器行为信息包括性能影响行为的描述信息,进而通过可交互图可以更有针对性的对处理器性能进行分析,相对于直接对波形的无目的分析,可以节约性能分析所花费的时间和精力,从而提高对处理器性能进行分析的效率。
108.计算机存储介质
109.本技术还提供了一种计算机可读存储介质,存储用于使一机器执行如本文所述的
处理器性能分析方法的指令。具体地,可以提供配有存储介质的系统或者装置,在该存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机(或cpu或mpu)读出并执行存储在存储介质中的程序代码。
110.在这种情况下,从存储介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此程序代码和存储程序代码的存储介质构成了本技术的一部分。
111.用于提供程序代码的存储介质实施例包括软盘、硬盘、磁光盘、光盘(如cd-rom、cd-r、cd-rw、dvd-rom、dvd-ram、dvd-rw、dvd+rw)、磁带、非易失性存储卡和rom。可选择地,可以由通信网络从服务器计算机上下载程序代码。
112.计算机程序产品
113.本技术实施例还提供了一种计算机程序产品,包括计算机指令,该计算机指令指示计算设备执行上述多个方法实施例中的任一对应的操作。
114.需要指出,根据实施的需要,可将本技术实施例中描述的各个部件/步骤拆分为更多部件/步骤,也可将两个或多个部件/步骤或者部件/步骤的部分操作组合成新的部件/步骤,以实现本技术实施例的目的。
115.上述根据本技术实施例的方法可在硬件、固件中实现,或者被实现为可存储在记录介质(诸如cd rom、ram、软盘、硬盘或磁光盘)中的软件或计算机代码,或者被实现通过网络下载的原始存储在远程记录介质或非暂时机器可读介质中并将被存储在本地记录介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件(诸如asic或fpga)的记录介质上的这样的软件处理。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件(例如,ram、rom、闪存等),当所述软件或计算机代码被计算机、处理器或硬件访问且执行时,实现在此描述的方法。此外,当通用计算机访问用于实现在此示出的方法的代码时,代码的执行将通用计算机转换为用于执行在此示出的方法的专用计算机。
116.本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及方法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术实施例的范围。
117.以上实施方式仅用于说明本技术实施例,而并非对本技术实施例的限制,有关技术领域的普通技术人员,在不脱离本技术实施例的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本技术实施例的范畴,本技术实施例的专利保护范围应由权利要求限定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1