一种处理器的性能评估方法及其电子设备、介质与流程

文档序号:37545043发布日期:2024-04-08 13:47阅读:8来源:国知局
一种处理器的性能评估方法及其电子设备、介质与流程

本技术涉及终端设备的。尤其涉及一种处理器的性能评估方法及其电子设备、介质。


背景技术:

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、在上述第一方面的一种可能的实现中,在预设指令集中设置第一指令和第二指令,其中,第一指令位于第二指令之前。

31、即在本技术的实施例中,这里的第一指令可以是预热开始指令,这里的第二指令可以是预热结束指令。

32、在上述第一方面的一种可能的实现中,在处理器执行第一指令的执行次数满足第一阈值时,设置预设条件为处理器已执行的预设指令集和程序切片的指令数满足预设指令数阈值。

33、即在本技术的实施例中,处理器执行第一指令的执行次数满足第一阈值可以是在图3所示的add指令的执行次数满足执行次数阈值(第一执行次数阈值),这时,设置预设条件为处理器已执行的预设指令集和程序切片的指令数满足预设指令数阈值,即,设置切片长度溢出中断模式,将切片长度溢出中断模式与信号处理函数关联,以及跳转至预热开始指令的下一条指令(跳转回a+4),并且执行add指令的指令内容。可以理解,只有add指令的执行次数满足执行次数阈值(第一执行次数阈值)。

34、在上述第一方面的一种可能的实现中,在处理器执行第二指令的执行次数满足第二阈值时,在处理器对应的电子设备的内存中保存第一时长。

35、即在本技术的实施例中,这里的处理器执行第二指令的执行次数满足第二阈值可以是,图3所示的nop指令的执行次数满足执行第二执行次数阈值(第n执行,n为自然数),在处理器对应的电子设备的内存中保存第一时长可以是保存cpu执行预热指令的周期数n(cycle counter)以及移除预热开始指令和预热结束指令对应的执行模式,刷新指令缓存以及跳转至预热结束指令的下一条指令。

36、第二方面,本技术实施例提供一种电子设备,包括:

37、存储器,用于存储由电子设备的一个或多个处理器执行的指令,以及

38、处理器,是电子设备的处理器之一,用于执行第一方面的性能评估方法。

39、第三方面,本技术实施例提供一种计算机可读存储介质可读介质上存储有指令,该指令在电子设备上执行时使电子设备执行第一方面的性能评估方法。

40、第四方面,本技术实施例提供一种计算机程序产品,包括:非易失性计算机可读存储介质,非易失性计算机可读存储介质包含用于执行第一方面的性能评估方法的计算机程序代码。

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