程序流监控方法及程序流监控系统、CPU、芯片技术方案

技术编号:29458775 阅读:59 留言:0更新日期:2021-07-27 17:26
本发明专利技术涉及CPU技术领域,提供一种程序流监控方法及程序流监控系统、CPU、芯片。所述程序流监控方法包括:通过在程序中设置的监控点对所述程序的程序流的执行信息进行记录,确定所述程序流的执行轨迹;根据记录的所述程序流的执行信息确定所述程序流的预期执行时间;统计所述程序流的实际执行时间;根据所述程序流的实际执行时间与所述程序流的预期执行时间的对比结果确定所述程序流是否按照预期执行。本发明专利技术从时间和空间相结合的维度来判断程序流是否按照预期执行,提高程序流监控的准确性,可同时实现对程序流的执行时间和执行轨迹进行监控,增强程序流执行的可靠性。

【技术实现步骤摘要】
程序流监控方法及程序流监控系统、CPU、芯片
本专利技术涉及CPU
,具体地涉及一种程序流监控方法、一种程序流监控系统、一种CPU、一种芯片以及一种存储介质。
技术介绍
CPU(CentralProcessingUnit,中央处理单元)作为工业控制芯片上的核心器件,在电力领域有广泛的应用。由于电力系统环境的特殊性,CPU极易受到电磁干扰、线路串扰等因素影响而产生硬件故障。例如CPU中程序计数器被异常改写导致程序流执行顺序被打乱等故障,此类故障受外界环境影响具有随机性,无法通过常规的软件测试方法进行解决。通常,编译器将软件程序编译为一系列的二进制指令流序列,CPU按照指令流的顺序,对指令流序列依次进行取指、译码、执行操作完成对指令的完整执行。CPU只有按照指令流顺序依次执行指令,才能保证程序的运行满足预期逻辑。如果CPU受到干扰因素影响,程序流执行的顺序被破坏(例如部分指令未执行、分支跳转错误等),会产生程序逻辑错误,导致程序执行结果不满足预期,甚至引起整个系统异常。因此,有必要对程序流程进行监控,以便及时发现程序流程执行异常,确保整个系统程序安全、可靠的运行。目前对程序流进行监控的方法是采用CPU内部看门狗或外部系统看门狗模块来监控软件的运行情况,看门狗电路具有计时功能,如果在规定的时间内程序没有对计数值进行初始化,则认为程序执行异常,此时看门狗电路会输出中断或复位信号。但此种基于看门狗的程序流监控方法,只能检测程序在一段时间内是否执行完成,不能实现对于程序流是否按照设计逻辑有效执行的监控目的,例如对于计数器异常导致程序流执行过程中跳过部分指令未执行的情况,无法进行监控。基于看门狗的程序流监控方法只能确认程序有没有进入异常,但不能确认程序流是否按照预期执行。
技术实现思路
本专利技术实施方式的目的是提供一种程序流监控方法及程序流监控系统,以至少解决上述的不能确认程序流是否按照预期执行的问题。为了实现上述目的,本专利技术一方面提供一种程序流监控方法,所述方法包括:通过在程序中设置的监控点对所述程序的程序流的执行信息进行记录,确定所述程序流的执行轨迹;根据记录的所述程序流的执行信息确定所述程序流的预期执行时间;统计所述程序流的实际执行时间;根据所述程序流的实际执行时间与所述程序流的预期执行时间的对比结果确定所述程序流是否按照预期执行。进一步地,所述通过在程序中设置的监控点对所述程序的程序流的执行信息进行记录,包括:在所述程序流的各段子程序流中设置所述监控点,通过所述监控点记录各段子程序流的执行信息。进一步地,所述根据记录的所述程序流的执行信息确定所述程序流的预期执行时间,包括;根据所述程序流的各段子程序流的执行信息确定各段子程序流的执行次数;根据单次执行各段子程序流的预期执行时间和所述各段子程序流的执行次数确定所述程序流的预期执行时间。进一步地,在所述程序的程序流划分为多段子程序流的情况下,所述多段子程序流的类型包括以下中的一者或者多者:顺序执行程序流、循环次数固定程序流、循环次数不固定程序流、分支跳转程序流。进一步地,所述采用不同的标识符对不同的监控点进行标记,包括:对各段子程序流中设置的监控点进行初始化,设置所述监控点的标识符。进一步地,所述程序流的预期执行时间Te的计算公式为:其中,Ti为所述程序流的子程序流的预期执行时间,Counti为该子程序流的执行次数,n为所述程序流的子程序流的数量,Ti和Counti的下标i表示子程序流的序号。进一步地,所述通过所述监控点记录各段子程序流的执行信息,包括:采用不同的标识符对不同的监控点进行标记,记录所述标识符对应的监控点是否被执行以及执行次数。进一步地,所述根据所述程序流的实际执行时间与所述程序流的预期执行时间的对比结果确定所述程序流是否按照预期执行,包括:将所述程序流的实际执行时间与所述程序流的预期执行时间进行对比,得到所述程序流的实际执行时间与所述程序流的预期执行时间的差值;判断所述程序流的实际执行时间与所述程序流的预期执行时间的差值是否在参考范围值以内,若是,确定所述程序流按照预期执行。进一步地,所述判断所述程序流的实际执行时间与所述程序流的预期执行时间的差值是否在参考范围值以内,包括:将所述实际执行时间和所述预期执行时间代入公式|Tr-Te|≤α,判断所述公式是否成立,若成立,确定所述程序流按照预期执行;其中,Tr表示所述实际执行时间,Te表示所述预期执行时间,α表示所述参考范围值。进一步地,所述统计所述程序流的实际执行时间,包括:根据计时器记录的所述程序流的开始执行计时值和终止执行计时值计算所述程序流的实际执行时间。本专利技术另一方面提供一种程序流监控系统,所述系统包括:监控点管理模块,用于通过在程序中设置的监控点对所述程序的程序流的执行信息进行记录,确定所述程序流的执行轨迹,以及根据所述程序流的执行信息确定所述程序流的预期执行时间;计时模块,用于统计所述程序流的实际执行时间;决策模块,用于根据所述程序流的实际执行时间与所述程序流的预期执行时间的对比结果确定所述程序流是否按照预期执行。进一步地,所述通过在程序中设置的监控点对所述程序的程序流的执行信息进行记录,包括:所述监控点管理模块在所述程序流的各段子程序流中设置所述监控点,通过所述监控点记录各段子程序流的执行信息。进一步地,所述通过所述监控点记录各段子程序流的执行信息,包括:所述监控点管理模块采用不同的标识符对不同的监控点进行标记,记录所述标识符对应的监控点是否被执行以及执行次数。进一步地,所述监控点管理模块采用不同的标识符对不同的监控点进行标记,包括:所述监控点管理模块对各段子程序流中设置的监控点进行初始化,设置所述监控点的标识符。进一步地,所述根据记录的所述程序流的执行信息确定所述程序流的预期执行时间,包括:所述监控点管理模块根据所述程序流的各段子程序流的执行信息确定各段子程序流的执行次数,根据单次执行各段子程序流的预期执行时间和所述各段子程序流的执行次数确定所述程序流的预期执行时间。进一步地,所述根据所述程序流的实际执行时间与所述程序流的预期执行时间的对比结果确定所述程序流是否按照预期执行,包括:所述决策模块将所述程序流的实际执行时间与所述程序流的预期执行时间进行对比,得到所述程序流的实际执行时间与所述程序流的预期执行时间的差值;判断所述程序流的实际执行时间与所述程序流的预期执行时间的差值是否在参考范围值以内,若是,确定所述程序流按照预期执行;若否,确定所述程序流执行异常。进一步地,所述判断所述程序流的实际执行时间与所述程序流的预期执行时间的差值是否在参考范围值以内,包括:所述决策模块将所述实际执行时间和所述预期执行时间代入公式|Tr-Te|≤α,判断所述公式是否成立,若成立,确定所述程序流按照预期执行;其中,Tr表示所述实际执行时间,Te表示所述预期执行时间,α表示所述参考范围值。进一步地,所述统计所述程本文档来自技高网
...

【技术保护点】
1.一种程序流监控方法,其特征在于,所述方法包括:/n通过在程序中设置的监控点对所述程序的程序流的执行信息进行记录,确定所述程序流的执行轨迹;/n根据记录的所述程序流的执行信息确定所述程序流的预期执行时间;/n统计所述程序流的实际执行时间;/n根据所述程序流的实际执行时间与所述程序流的预期执行时间的对比结果确定所述程序流是否按照预期执行。/n

【技术特征摘要】
1.一种程序流监控方法,其特征在于,所述方法包括:
通过在程序中设置的监控点对所述程序的程序流的执行信息进行记录,确定所述程序流的执行轨迹;
根据记录的所述程序流的执行信息确定所述程序流的预期执行时间;
统计所述程序流的实际执行时间;
根据所述程序流的实际执行时间与所述程序流的预期执行时间的对比结果确定所述程序流是否按照预期执行。


2.根据权利要求1所述的程序流监控方法,其特征在于,所述通过在程序中设置的监控点对所述程序的程序流的执行信息进行记录,包括:
在所述程序流的各段子程序流中设置所述监控点,通过所述监控点记录各段子程序流的执行信息。


3.根据权利要求2所述的程序流监控方法,其特征在于,所述根据记录的所述程序流的执行信息确定所述程序流的预期执行时间,包括:
根据所述程序流的各段子程序流的执行信息确定各段子程序流的执行次数;
根据单次执行各段子程序流的预期执行时间和所述各段子程序流的执行次数确定所述程序流的预期执行时间。


4.根据权利要求2所述的程序流监控方法,其特征在于,在所述程序的程序流划分为多段子程序流的情况下,所述多段子程序流的类型包括以下中的一者或者多者:
顺序执行程序流、循环次数固定程序流、循环次数不固定程序流、分支跳转程序流。


5.根据权利要求4所述的程序流监控方法,其特征在于,所述程序流的预期执行时间Te的计算公式为:



其中,Ti为所述程序流的子程序流的预期执行时间,Counti为该子程序流的执行次数,n为所述程序流的子程序流的数量,Ti和Counti的下标i表示子程序流的序号。


6.根据权利要求2所述的程序流监控方法,其特征在于,所述通过所述监控点记录各段子程序流的执行信息,包括:
采用不同的标识符对不同的监控点进行标记,记录所述标识符对应的监控点是否被执行以及执行次数。


7.根据权利要求6所述的程序流监控方法,其特征在于,所述采用不同的标识符对不同的监控点进行标记,包括:
对各段子程序流中设置的监控点进行初始化,设置所述监控点的标识符。


8.根据权利要求1所述的程序流监控方法,其特征在于,所述根据所述程序流的实际执行时间与所述程序流的预期执行时间的对比结果确定所述程序流是否按照预期执行,包括:
将所述程序流的实际执行时间与所述程序流的预期执行时间进行对比,得到所述程序流的实际执行时间与所述程序流的预期执行时间的差值;
判断所述程序流的实际执行时间与所述程序流的预期执行时间的差值是否在参考范围值以内,若是,确定所述程序流按照预期执行。


9.根据权利要求8所述的程序流监控方法,其特征在于,所述判断所述程序流的实际执行时间与所述程序流的预期执行时间的差值是否在参考范围值以内,包括:
将所述实际执行时间和所述预期执行时间代入公式|Tr-Te|≤α,判断所述公式是否成立,若成立,确定所述程序流按照预期执行;
其中,Tr表示所述实际执行时间,Te表示所述预期执行时间,α表示所述参考范围值。


10.根据权利要求1所述的程序流监控方法,其特征在于,所述统计所述程序流的实际执行时间,包括:
根据计时器记录的所述程序流的开始执行计时值和终止执行计时值计算所述程序流的实际执行时间。


11.一种程序流监控系统,其...

【专利技术属性】
技术研发人员:刘俊赵东艳种挺原义栋张茜歌张海峰刘亮丁海丽马晓昉
申请(专利权)人:北京智芯微电子科技有限公司国网信息通信产业集团有限公司国网宁夏电力有限公司营销服务中心国网宁夏电力有限公司计量中心国家电网有限公司
类型:发明
国别省市:北京;11

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

1