System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及终端设备的。尤其涉及一种处理器的性能评估方法及其电子设备、介质。
技术介绍
1、程序切片是指将一个应用程序中包括的所有指令中的部分指令保存下来,并还原为与应用程序的原始执行逻辑一致的至少一个可执行程序。程序切片广泛应用于cpu(central processing unit,中央处理器)的性能仿真,通过控制电子设备(计算机或者物理机)的cpu运行程序切片可以获得性能仿真对应的评估结果,即,ipc(instruction percycle,每周期执行指令数)进而评估cpu的性能。
2、然而,运行程序切片进行性能仿真的过程需要依赖cpu的配置环境(累积状态),包括cpu的内部状态,如:寄存器状态,缓存和分支预测表等等,以及cpu的外部状态,如:内存数据等等。如果cpu在运行程序切片时,没有对cpu的配置环境进行设置,也就是进行预热,会导致cpu的性能仿真的性能评估结果不准确,因此,可以在程序切片中设置先执行第一部分指令进行预热,第二部分指令进行性能仿真。但是,对于电子设备(计算机或者物理机)的cpu来说,电子设备的cpu只能根据寄存器中指令的顺序依次执行指令,并不能将第一部分指令和第二部分指令区别开,需要一种能够区分第一部分指令和第二部分指令完成性能仿真的方法。
技术实现思路
1、本申请提供了一种处理器的性能评估方法及其电子设备、介质。
2、第一方面,本申请实施例提供了一种处理器的性能评估方法,应用于电子设备,其特征在于,方法包括:
3、获
4、确定待执行程序中用于性能评估的至少一个程序切片;
5、在各程序切片前插入对应各程序切片对应的预设指令集,其中预设指令集用于设置设置处理器执行程序切片时的配置参数;
6、运行程序切片对应的预设指令集和程序切片,确定处理器的性能评估结果。
7、即在本申请的实施例中,这里的处理器可以是指cpu,这里的待执行程序可以是原始程序。这里的程序切片可以是二进制可执行程序,通过分析待执行程序中的各个指令对应的执行频率(或者静态分析选取原始程序中的感兴趣区间),确定待执行程序中的代表性区间,将代表性区间包含的指令保存为程序切片。这里的预设指令集可以是预热指令。在确定了原始程序对应的代表性区间,也就是确定了原始程序对应的至少一个程序切片后,在各程序切片的起始指令之前,插入记录具有预设长度的预热指令,使得处理器运行程序切片能够先执行预热指令,用于还原设置运行程序切片的处理器的缓存、分支预测表等处理器的配置环境。然后,运行对应的程序切片,最后获取处理器对应的性能仿真对应的评估结果。
8、通过本申请提供的处理器的性能评估方法,通过在程序切片之前设置预热指令,实现还原设置处理器的配置环境(累积状态),提供了完整的处理器性能仿真的实现过程,提高了处理器运行程序切片进行性能仿真得到的性能评估结果的准确性。避免了处理器单独运行程序切片导致的性能评估结果的误差较大的问题。同时,在处理器执行完毕程序切片之后,可以根据处理器运行程序切片的指令长度,预热指令长度以及运行程序切片的周期数、执行预热指令的周期数直接计算处理器对应的ipc(每周期执行指令数),确定处理器的性能评估结果。
9、在上述第一方面的一种可能的实现中,配置参数包括处理器对应的寄存器状态,缓存和分支预测表中的至少一种。
10、在上述第一方面的一种可能的实现中,运行程序切片对应的预设指令集和程序切片,确定处理器的性能评估结果,包括:
11、保存预设指令集执行完毕时处理器经过的第一时长;
12、通过预设运行方式运行程序切片,在满足预设条件时,保存处理器经过的第二时长,根据第二时长和第一时长的差值确定目标时长;
13、根据处理器已执行的第二指令数,预设指令集的第一指令数以及目标时长,得到处理器运行程序切片的性能评估结果。
14、即在本申请的实施例中,这里的第一时长可以是处理器执行预设指令集的周期数n,这里的第二时长可以是处理器运行程序切片的周期数o,目标时长可以是周期数o减去周期数n。预设指令集的第一指令数可以是预设指令集中的预热指令长度,第二指令数可以是cpu执行的程序切片中的指令长度。
15、在处理器执行预设指令集前,对处理器设置切片长度溢出中断模式,切片长度溢出中断模式用于在处理器运行程序切片的过程中,在处理器执行的程序切片中的指令的数量满足预设数量阈值时,控制处理器中断运行程序切片。
16、在上述第一方面的一种可能的实现中,保存预设指令集执行完毕时处理器经过的第一时长,包括:
17、在电子设备执行完毕预设指令集后,在处理器对应的电子设备的内存中保存第一时长,其中,第一时长包括处理器执行完毕预设指令集时,已经经过的处理器的时钟周期的数量。
18、即在本申请的实施例中,这里的时钟周期可以是处理器的频率或者是预设时钟周期。
19、在上述第一方面的一种可能的实现中,通过预设运行方式运行程序切片,包括:
20、在处理器执行完毕预设指令集后,通过循环执行的方式运行程序切片。
21、在上述第一方面的一种可能的实现中,在满足预设条件时,保存处理器经过的第二时长,包括:
22、在处理器已执行的预设指令集和程序切片的指令数满足预设指令数阈值时,控制处理器停止运行程序切片;
23、在处理器对应的电子设备的内存中保存第二时长,其中,第二时长包括处理器停止执行程序切片时,已经经过的处理器的时钟周期的数量。
24、即在本申请的实施例中,在处理器执行预设指令集前,对处理器设置切片长度溢出中断模式,切片长度溢出中断模式用于在处理器运行程序切片的过程中,在处理器执行的程序切片中的指令的数量满足预设数量阈值时,控制处理器中断运行程序切片。将切片长度溢出中断模式与信号处理函数建立关联。
25、在上述第一方面的一种可能的实现中,目标时长用于表示处理器从开始执行程序切片直至停止执行程序切片时,已经过的处理器的时钟周期的数量。
26、在上述第一方面的一种可能的实现中,根据处理器已执行的第二指令数,预设指令集的第一指令数以及目标时长,得到处理器运行程序切片的性能评估结果,包括:
27、确定处理器已执行的第二指令数与预设指令集的第一指令数之间的目标差值;
28、根据目标差值与目标时长之间的比值得到性能评估结果,其中,性能评估结果用于表示在一个处理器对应的时钟周期内,处理器执行的程序切片的指令数。
29、即在本申请的实施例中,在触发了处理器的切片长度溢出中断模式后,通过与切片长度溢出中断模关联的信号处理函数计算处理器运行程序切片的性能评估结果,也就是,通过处理器已执行的(程序切片的指令长度–预设指令集指令长度)/(运行程序切片的周期数o–执行预设指令集的周期数n)得到ipc。
30、在上述第一方面的本文档来自技高网...
【技术保护点】
1.一种处理器的性能评估方法,应用于电子设备,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述配置参数包括所述处理器对应的寄存器状态,缓存和分支预测表中的至少一种。
3.根据权利要求1所述的方法,其特征在于,运行所述程序切片对应的预设指令集和所述程序切片,确定所述处理器的性能评估结果,包括:
4.根据权利要求3所述的方法,其特征在于,保存所述预设指令集执行完毕时所述处理器经过的第一时长,包括:
5.根据权利要求3所述的方法,其特征在于,通过预设运行方式运行所述程序切片,包括:
6.根据权利要求3所述的方法,其特征在于,在满足预设条件时,保存所述处理器经过的第二时长,包括:
7.根据权利要求3所述的方法,其特征在于,所述目标时长用于表示所述处理器从开始执行所述程序切片直至停止执行所述程序切片时,已经过的所述处理器的时钟周期的数量。
8.根据权利要求3所述的方法,其特征在于,根据所述处理器已执行的第二指令数,所述预设指令集的第一指令数以及所述目标时长,得到所述处理器运行所述程
9.根据权利要求3所述的方法,其特征在于,在所述预设指令集中设置第一指令和第二指令,其中,所述第一指令位于所述第二指令之前。
10.根据权利要求9所述的方法,其特征在于,在所述处理器执行所述第一指令的执行次数满足第一阈值时,设置所述预设条件为所述处理器已执行的所述预设指令集和所述程序切片的指令数满足所述预设指令数阈值。
11.根据权利要求10所述的方法,其特征在于,在所述处理器执行所述第二指令的执行次数满足第二阈值时,在所述处理器对应的所述电子设备的内存中保存所述第一时长。
12.一种电子设备,其特征在于,包括:
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中包含有指令,当所述指令被电子设备的处理器执行时使电子设备实现权利要求1-11中任一项所述的性能评估方法。
14.一种计算机程序产品,其特征在于,包括:非易失性计算机可读存储介质,所述非易失性计算机可读存储介质包含用于执行权利要求1-11中任一项所述的性能评估方法的计算机程序代码。
...【技术特征摘要】
1.一种处理器的性能评估方法,应用于电子设备,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述配置参数包括所述处理器对应的寄存器状态,缓存和分支预测表中的至少一种。
3.根据权利要求1所述的方法,其特征在于,运行所述程序切片对应的预设指令集和所述程序切片,确定所述处理器的性能评估结果,包括:
4.根据权利要求3所述的方法,其特征在于,保存所述预设指令集执行完毕时所述处理器经过的第一时长,包括:
5.根据权利要求3所述的方法,其特征在于,通过预设运行方式运行所述程序切片,包括:
6.根据权利要求3所述的方法,其特征在于,在满足预设条件时,保存所述处理器经过的第二时长,包括:
7.根据权利要求3所述的方法,其特征在于,所述目标时长用于表示所述处理器从开始执行所述程序切片直至停止执行所述程序切片时,已经过的所述处理器的时钟周期的数量。
8.根据权利要求3所述的方法,其特征在于,根据所述处理器已执行的第二指令数,所述预设指令集的第一指令数以及所述目标时长,得到所述处理...
【专利技术属性】
技术研发人员:周超,亚历山大·伊萨耶夫,
申请(专利权)人:华为技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。