一种处理器指令的统计方法及其装置、处理器系统制造方法及图纸

技术编号:37462347 阅读:15 留言:0更新日期:2023-05-06 09:35
本发明专利技术提供了一种处理器指令的统计方法及其装置、处理器系统,该执行统计方法在处理器执行待测程序的同时,所统计的是可执行基本块集中每个基本块的被执行情况;之后根据可执行基本块集中每个基本块的被执行情况,统计可执行指令集中每个指令的被执行情况。由于待测程序确定时,可执行基本块集和可执行指令集都是确定的,且基本块中包含有多条指令,从而能够利用基本块包含多条指令的特性,使记录一个基本块的被执行情况相当于记录了多条指令的被执行情况,从而能够大幅减少在处理器执行待测程序过程中记录被执行情况的工作量,同时也减少记录被执行情况信息所需的内存空间,提高工作效率和存储资源利用率。工作效率和存储资源利用率。工作效率和存储资源利用率。

【技术实现步骤摘要】
一种处理器指令的统计方法及其装置、处理器系统


[0001]本专利技术涉及计算机
,尤其涉及一种处理器指令的统计方法及其装置、处理器系统。

技术介绍

[0002]在计算机尤其是嵌入式系统中,计算资源通常极为有限,因此对于图像算法、深度学习算法、图像编解码等等计算密集算法往往有比较高的效率要求,因此就要求程序员对程序进行深度优化。在程序测试和验证中,指令的覆盖率和热点作为重要的衡量指标。其中,统计指令覆盖率的根本目的是找出潜在的遗漏测试用例,并有针对性的进行补充,同时还可以识别出指令中那些由于需求变更等原因造成的不可达的废弃指令,从根本上保证软件整体的质量。而通常程序中90%以上的耗时集中在10%的指令段中,因此一种比较有效的优化方法是对指令的热点进行分析,有针对性地对耗时的指令段进行优化,提高优化效率。
[0003]目前在统计指令的覆盖率和热点过程中,记录的是当前被执行的指令类型信息。但是,在处理器执行待测程序时,被执行的指令的个数非常多,从而需要大量的存储空间来记录被执行过的指令的类型信息,耗费大量的工作量和存储资源。

技术实现思路

[0004]本专利技术提供了一种处理器指令的统计方法及其装置、处理器系统,大幅减少在处理器执行待测程序过程中记录被执行情况的工作量,同时也减少记录被执行情况信息所需的内存空间,提高工作效率和存储资源利用率。
[0005]第一方面,本专利技术提供了一种处理器指令的统计方法,该统计方法包括:获取待测程序的可执行基本块集和可执行指令集,其中,可执行基本块集中包含有至少一个基本块,每个基本块中包含有至少一个指令,且每个基本块中的指令均来自于可执行指令集;处理器执行待测程序的同时,统计可执行基本块集中每个基本块的被执行情况;根据可执行基本块集中每个基本块的被执行情况,统计可执行指令集中每个指令的被执行情况。
[0006]在上述的方案中,在处理器执行待测程序的同时,所统计的是可执行基本块集中每个基本块的被执行情况;之后根据可执行基本块集中每个基本块的被执行情况,统计可执行指令集中每个指令的被执行情况。相比现有技术直接记录指令的被执行类型信息,本申请中的方案不再记录指令的被执行情况信息,而是记录基本块的被执行情况信息,由于待测程序确定时,可执行基本块集和可执行指令集都是确定的,且基本块中包含有多条指令,从而能够利用基本块包含多条指令的特性,使记录一个基本块的被执行情况相当于记录了多条指令的被执行情况,从而能够大幅减少在处理器执行待测程序过程中记录被执行情况的工作量,同时也减少记录被执行情况信息所需的内存空间,提高工作效率和存储资源利用率。
[0007]在一个具体的实施方式中,处理器执行待测程序的同时,统计可执行基本块集中
每个基本块的被执行情况,包括:处理器执行待测程序的同时,记录并存储当前被执行的基本块的执行信息,形成基本块执行日志;根据基本块执行日志,统计可执行基本块集中每个基本块的被执行情况。无需对现有的存储及异常应急处理机制进行调整,即可完成对基本块和指令的被执行情况的统计。
[0008]在一个具体的实施方式中,处理器执行待测程序的同时,统计可执行基本块集中每个基本块的被执行情况,包括:为可执行基本块集中的每个基本块分配一个内存区域;处理器执行待测程序的同时,将每个基本块的被执行情况记录到该基本块对应的内存区域。通过预先获取可执行基本块集中基本块的总条数,并为可执行基本块集中的每个基本块分配一个内存区域;在处理器执行待测程序的同时,每个内存区域用于统计其所对应的基本块的被执行情况。本申请的方案在处理器执行待测程序之前,利用可执行基本块集中的基本块的唯一性以及基本块总个数的确定性,为可执行基本块集中的每个基本块预先分配一个确定存储空间大小的内存区域,后续处理器在执行待测程序时,将当前执行的基本块状态信息标记到该基本块对应的内存区域即可。相比现有方案,本申请的方案中由于可执行基本块集中的基本块总个数是确定的,从而预先分配的总的内存区域也是确定的,从而无需分配过大的内存空间,提高存储空间利用效率。而且,无需使用异常处理机制,简化存储和获取的处理流程,提高处理效率。
[0009]在一个具体的实施方式中,为可执行基本块集中的每个基本块分配一个内存区域包括:为可执行基本块集中的每个基本块分配一个存储空间为一个比特位的存储区域;处理器执行待测程序的同时,将每个基本块的被执行情况记录到其对应的内存区域,包括:处理器执行待测程序的同时,将每个基本块是否被执行过的信息记录到该基本块对应的内存区域。通过利用确定的存储空间,即可完成对基本块和指令覆盖率的统计。
[0010]在一个具体的实施方式中,为可执行基本块集中的每个基本块分配一个内存区域包括:为可执行基本块集中的每个基本块分配一个计数存储区域。处理器执行待测程序的同时,将每个基本块的被执行情况记录到其对应的内存区域,包括:处理器执行待测程序的同时,将每个基本块的被执行过的次数记录到其对应的内存区域。通过预先给每个基本块分配一个计数存储区域,在每个计数存储区域写入其所对应的基本块被执行过的次数,便于利用确定的存储空间,完成对基本块和指令热点的统计。
[0011]在一个具体的实施方式中,为可执行基本块集中的每个基本块分配一个内存区域包括:获取处理器当前实际可使用的内存空间;判断当前实际可使用的内存空间,是否支持为可执行基本块集中的每个基本块分配一个内存区域;如果支持,则为可执行基本块集中的每个基本块分配一个内存区域。防止在当前实际可使用的内存空间不支持为可执行基本块集中的每个基本块分配一个内存区域时,还继续分配和统计造成的计算存储资源的浪费,也避免出现因此造成的统计错误。
[0012]在一个具体的实施方式中,为可执行基本块集中的每个基本块分配一个内存区域还包括:如果当前实际可使用的内存空间不支持为可执行基本块集中的每个基本块分配一个内存区域,计算当前实际可使用的内存空间支持为每个基本块分配一个内存区域的最大支持基本块个数;根据最大支持基本块个数和可执行基本块集中基本块的总数,将可执行基本块集中的基本块划分为至少两组基本块,并确定处理器需要重复执行待测程序的次数;其中,处理器需要重复执行待测程序的次数,与至少两组基本块一一对应;在处理器每
次执行待测程序之前,为处理器本次执行待测程序时所对应的一组基本块中的每个基本块,分配一个内存区域;每个内存区域用于在处理器本次执行待测程序时,记录其所对应一组基本块中的对应基本块的被执行情况。在当前实际可使用的内存空间不支持为可执行基本块集中的每个基本块分配一个内存区域时,处理器多次重复执行待测程序,并在每次运行时仅统计其中一组基本块的被执行情况,在存储资源不足的情况下,仍然能够完成对可执行基本块集中基本块的被执行情况的统计。
[0013]在一个具体的实施方式中,获取待测程序的可执行基本块集包括;获取可执行基本块集中每个基本块的基本块入口指令,形成可执行基本块入口指令集。处理器执行待测程序的同时,统计可执行基本块集中每个基本块的被执行情况包括:处理器执行待测程本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种处理器指令的统计方法,其特征在于,包括:获取待测程序的可执行基本块集和可执行指令集,其中,所述可执行基本块集中包含有至少一个基本块,每个基本块中包含有至少一个指令,且每个基本块中的指令均来自于所述可执行指令集;所述处理器执行所述待测程序的同时,统计所述可执行基本块集中每个基本块的被执行情况;根据所述可执行基本块集中每个基本块的被执行情况,统计所述可执行指令集中每个指令的被执行情况。2.如权利要求1所述的统计方法,其特征在于,所述处理器执行所述待测程序的同时,统计所述可执行基本块集中每个基本块的被执行情况,包括:所述处理器执行所述待测程序的同时,记录并存储当前被执行的基本块的执行信息,形成基本块执行日志;根据所述基本块执行日志,统计所述可执行基本块集中每个基本块的被执行情况。3.如权利要求1所述的统计方法,其特征在于,所述处理器执行所述待测程序的同时,统计所述可执行基本块集中每个基本块的被执行情况,包括:为所述可执行基本块集中的每个基本块分配一个内存区域;所述处理器执行所述待测程序的同时,将每个基本块的被执行情况记录到该基本块对应的内存区域。4.如权利要求3所述的统计方法,其特征在于,所述为所述可执行基本块集中的每个基本块分配一个内存区域包括:为所述可执行基本块集中的每个基本块分配一个存储空间为一个比特位的存储区域;所述处理器执行所述待测程序的同时,将每个基本块的被执行情况记录到其对应的内存区域,包括:所述处理器执行所述待测程序的同时,将每个基本块是否被执行过的信息记录到该基本块对应的内存区域。5.如权利要求3所述的统计方法,其特征在于,所述为所述可执行基本块集中的每个基本块分配一个内存区域包括:为所述可执行基本块集中的每个基本块分配一个计数存储区域;所述处理器执行所述待测程序的同时,将每个基本块的被执行情况记录到其对应的内存区域,包括:所述处理器执行所述待测程序的同时,将每个基本块的被执行过的次数记录到其对应的内存区域。6.如权利要求3所述的统计方法,其特征在于,所述为所述可执行基本块集中的每个基本块分配一个内存区域包括:获取所述处理器当前实际可使用的内存空间;判断当前实际可使用的内存空间,是否支持为所述可执行基本块集中的每个基本块分配一个内存区域;如果支持,则为所述可执行基本块集中的每个基本块分配一个内存区域。7.如权利要求6所述的统计方法,其特征在于,所述为所述可执行基本块集中的每个基本块分配一个内存区域还包括:如果当前实际可使用的内存空间不支持为所述可执行基本块集中的每个基本块分配
一个内存区域,计算当前实际可使用的内存空间支持为每个基本块分配一个内存区域的最大支持基本块个数;根据所述最大支持基本块个数和所述...

【专利技术属性】
技术研发人员:杨雄喻安雄
申请(专利权)人:成都海光集成电路设计有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1