CN103425543A - 程序执行监控系统 - Google Patents
程序执行监控系统 Download PDFInfo
- Publication number
- CN103425543A CN103425543A CN2013102871286A CN201310287128A CN103425543A CN 103425543 A CN103425543 A CN 103425543A CN 2013102871286 A CN2013102871286 A CN 2013102871286A CN 201310287128 A CN201310287128 A CN 201310287128A CN 103425543 A CN103425543 A CN 103425543A
- Authority
- CN
- China
- Prior art keywords
- carried out
- program
- supervisory system
- comparing unit
- operation code
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明揭示一种程序执行监控系统,该程序执行监控系统包括软件模拟单元、精确看门狗电路及比较单元,其中软件模拟单元执行编译完成之后的代码获取软件执行的轨迹,利用此轨迹计算出执行周期内重复出现的指令组合并用预定的运算方法获得预计的运算码,并输出给比较单元,而在代码动态执行过程中,精确看门狗电路在周期开始时开始记录指令总线上出现的每一个指令,加入运算输入,在周期结束时计算获得动态运算码也输出给比较单元,比较单元将动态运算码和预计的运算码进行对比判断程序执行是否异常。
Description
【技术领域】
本发明属于电子技术领域,特别是涉及嵌入式处理器软件执行可靠性的硬件保护电路,该电路监控每一条代码的执行以判断程序执行是否异常。
【背景技术】
传统的嵌入式软件执行的保护电路称为看门狗电路。看门狗电路要求软件在间隔一个预设好的时间之内对特定寄存器进行访问(这个特定的操作称为喂狗操作)。如在规定时间内软件没有发起喂狗操作,则认定软件执行进入某种异常状态,此时看门狗电路会提起硬件的警报,该警报可提起中断或直接复位处理器。传统看门狗电路的问题是只对喂狗操作敏感,如果软件异常的类型不会导致喂狗操作异常时,该软件异常不会被监测到。
【发明内容】
本发明的目的在于提供一种更精确的程序执行监控系统,可对每一条指令的执行都敏感,从而实现更大范围地监测出软件执行的异常状态。
为实现上述目的,本发明提供一种程序执行监控系统,该程序执行监控系统包括软件模拟单元、精确看门狗电路及比较单元,其中软件模拟单元执行编译完成之后的代码获取软件执行的轨迹,利用此轨迹计算出执行周期内出现的指令组合并用预定的运算方法获得预计的运算码,并输出给比较单元,而在代码动态执行过程中,精确看门狗电路在周期开始时开始记录指令总线上出现的每一个指令,加入运算输入,在周期结束时计算获得动态运算码也输出给比较单元,比较单元将动态运算码和预计的运算码进行对比判断程序执行是否异常。
依据上述主要特征,在具体某种特定实现时,选用了该预定的运算方法为累加和。
依据上述主要特征,该预计的运算码是以寄存器的形式存在于程序执行监控系统中,可动态配置
依据上述主要特征,该程序执行监控系统应用在一数字信号处理器核上,设定执行的周期为1.28秒。
与现有技术相比较,本发明可以很敏感的监控到每一条指令的执行状况,通过比较单元比较动态运算码和预计的运算码而判断程序执行是否异常,从而实现更大范围地监测出软件执行的异常状态。
【附图说明】
图1为一种实施本发明的应用举例。
图2为图1所示的实施本发明的程序执行监控系统的应用示意图。
【具体实施方式】
请参阅图1所示,实施本发明的程序执行监控系统包括软件模拟单元、精确看门狗电路及比较单元,其中软件模拟单元执行编译完成之后的代码获取软件执行的轨迹,利用此轨迹计算出执行周期内出现的指令组合并用预定的运算方法获得预计的运算码,并输出给比较单元。
而在代码动态执行过程中,精确看门狗电路在周期开始时开始记录指令总线上出现的每一个指令,加入运算输入,在周期结束时计算获得动态运算码也输出给比较单元,比较单元将动态运算码和预计的运算码进行对比判断程序执行是否异常。
在具体实施时,软件模拟单元实际为一段软件代码,该软件代码模拟处理器的工作方式对编译完成之后的代码进行读取,即软件实现的虚拟处理器核执行编译之后的微代码。
在具体实施时,实施本发明的程序执行监控系统应用在一数字信号处理器核上,设定执行的周期为1.28秒,即每隔1.28秒,该程序执行监控系统将会重新从起始位置(即对比点或周期起始点)开始执行,由此设定精确看门狗电路的运算码对比周期也为1.28秒。
实施本发明的程序执行监控系统是通过软件编程使得代码的执行完全不依赖于动态的数据改变,即代码执行顺序可预期。在编译完成后通过软件模拟单元获得程序执行轨迹,该程序执行轨迹即为程序执行过程中所有执行到的代码按照执行顺序先后排列出来的组合,之后利用此轨迹计算出执行周期内出现的指令组合并用预定的运算方法获得预计的运算码。
该预定的运算方法可为通过不同的计算方法来获得最终的运算码,本实施例采用累加和方式,即设定该程序执行监控系统的预定的运算方法为累加和,由此计算出1.28秒周期内所有被执行到的代码的累加和。其他各种不同的算法可获得不同的可靠性,如异或计算,CRC计算等。但会相应的增加硬件成本。
按上述的方法,动态运算码是通过处理器核在实际工作时,精确看门狗电路获取指令总线上的数值进行依次累加获得,而预计的运算码是通过软件实现的虚拟处理器核(即软件模拟单元)对编译之后的微代码进行执行得到,比较单元通过将动态运算码与预计的运算码进行比较而判断代码执行是否异常。
该预计的运算码是以寄存器的形式存在于程序执行监控系统中,可动态配置。在工作时该寄存器被写成计算获得的累加和,即预计的运算码。
请参阅图2所示,为图1所示的实施本发明的程序执行监控系统的应用示意图。为执行函数A与函数B,代码执行的顺序为AAB、AAB、AAB,所以周期内执行的代码为2次函数A的代码与1次函数B的代码。在实施时,软件模拟单元执行编译完成之后的函数A与函数B的代码获取软件执行的轨迹,利用此轨迹计算出执行周期内重复出现的指令组合(即AAB)并用累加和方式获得预计的运算码,并输出给比较单元。而精确看门狗电路获取周期内指令总线上的数值进行依次累加获得动态运算码也输出给比较单元,比较单元通过将动态运算码与预计的运算码进行比较而判断代码执行是否异常。
从图2可以看出,在每个周期开始之时便为对比点,此时比较单元通过比较动态运算码与预计的运算码判断代码执行是否异常。
可以理解的是,对本领域普通技术人员来说,可以根据本发明的技术方案及其发明构思加以等同替换或改变,而所有这些改变或替换都应属于本发明所附的权利要求的保护范围。
Claims (4)
1.一种程序执行监控系统,其特征在于:该程序执行监控系统包括软件模拟单元、精确看门狗电路及比较单元,其中软件模拟单元执行编译完成之后的代码获取软件执行的轨迹,利用此轨迹计算出执行周期内重复出现的指令组合并用预定的运算方法获得预计的运算码,并输出给比较单元,而在代码动态执行过程中,精确看门狗电路在周期开始时开始记录指令总线上出现的每一个指令,加入运算输入,在周期结束时计算获得动态运算码也输出给比较单元,比较单元将动态运算码和预计的运算码进行对比判断程序执行是否异常。
2.如权利要求1所述的程序执行监控系统,其特征在于:该预定的运算方法为累加和。
3.如权利要求1所述的程序执行监控系统,其特征在于:该预计的运算码是以寄存器的形式存在于程序执行监控系统中,可动态配置。
4.如权利要求1所述的程序执行监控系统,其特征在于:该程序执行监控系统应用在一数字信号处理器核上,设定执行的周期为1.28秒。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310287128.6A CN103425543B (zh) | 2013-07-05 | 2013-07-05 | 程序执行监控系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310287128.6A CN103425543B (zh) | 2013-07-05 | 2013-07-05 | 程序执行监控系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103425543A true CN103425543A (zh) | 2013-12-04 |
CN103425543B CN103425543B (zh) | 2017-03-01 |
Family
ID=49650330
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310287128.6A Active CN103425543B (zh) | 2013-07-05 | 2013-07-05 | 程序执行监控系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103425543B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108646708A (zh) * | 2018-05-02 | 2018-10-12 | 阳光电源股份有限公司 | 一种程序流监控方法及系统 |
CN111124730A (zh) * | 2019-12-20 | 2020-05-08 | 浪潮商用机器有限公司 | 一种服务器的错误定位方法、装置及计算机存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110185160A1 (en) * | 2010-01-22 | 2011-07-28 | Via Technologies, Inc. | Multi-core processor with external instruction execution rate heartbeat |
CN102567556A (zh) * | 2010-12-27 | 2012-07-11 | 北京国睿中数科技股份有限公司 | 一种面向调试的处理器验证方法及验证设备 |
-
2013
- 2013-07-05 CN CN201310287128.6A patent/CN103425543B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110185160A1 (en) * | 2010-01-22 | 2011-07-28 | Via Technologies, Inc. | Multi-core processor with external instruction execution rate heartbeat |
CN102567556A (zh) * | 2010-12-27 | 2012-07-11 | 北京国睿中数科技股份有限公司 | 一种面向调试的处理器验证方法及验证设备 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108646708A (zh) * | 2018-05-02 | 2018-10-12 | 阳光电源股份有限公司 | 一种程序流监控方法及系统 |
CN111124730A (zh) * | 2019-12-20 | 2020-05-08 | 浪潮商用机器有限公司 | 一种服务器的错误定位方法、装置及计算机存储介质 |
CN111124730B (zh) * | 2019-12-20 | 2024-01-23 | 浪潮商用机器有限公司 | 一种服务器的错误定位方法、装置及计算机存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN103425543B (zh) | 2017-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9864676B2 (en) | Bottleneck detector application programming interface | |
US7904775B2 (en) | Microprocessor comprising signature means for detecting an attack by error injection | |
US10101796B2 (en) | Processor power estimation | |
CN102541725B (zh) | 一种数控系统功能模块的仿真测试方法 | |
Noureddine et al. | Unit testing of energy consumption of software libraries | |
Kim et al. | P 4: Phase-based power/performance prediction of heterogeneous systems via neural networks | |
CN103744772A (zh) | 一种检测任务运行性能的方法和系统 | |
EP2634733A1 (en) | Operations task management system and method | |
CN104965779A (zh) | 一种基于PoolMon的内存泄露检测和定位的方法及装置 | |
CN103425543A (zh) | 程序执行监控系统 | |
CN113917385B (zh) | 一种面向电能表的自检测方法及系统 | |
CN110580220A (zh) | 测量代码段执行时间的方法及终端设备 | |
US20140297234A1 (en) | Forecasting production output of computing system fabrication test using dynamic predictive model | |
CN106610873B (zh) | 一种Android设备上应用程序能耗预测方法 | |
CN105260280A (zh) | 一种检测服务器中传感器的方法及装置 | |
CN103399813B (zh) | 一种基于Trace信息的嵌入式系统离线跟踪分析方法 | |
CN112465281B (zh) | 一种实时电力系统场景下的稳定控制策略预判方法 | |
US6643609B2 (en) | Performance measurement for embedded systems | |
CN104239201A (zh) | 一种软单步系统中内存读写监控方法 | |
CN113820649B (zh) | 一种电能表固件的寿命可靠性测试方法和装置 | |
CN101814054A (zh) | 一种用于调试微控制器的指令追踪控制器 | |
CN103514071A (zh) | 非破坏性的内存在线测试方法 | |
CN104239199A (zh) | 虚拟机器人的生成方法、自动化测试方法及相关装置 | |
US20090313000A1 (en) | Method, system and computer program product for detecting x state transitions and storing compressed debug information | |
CN104090830A (zh) | 用测周法测量频率时定时器时序交错问题的处理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: Hangzhou City, Zhejiang province 310051 Binjiang District Dangfeng Road No. 788 sea floor of Building 9 Applicant after: Hangzhou hi tech Limited by Share Ltd Address before: Hangzhou City, Zhejiang province 310051 Binjiang District Dangfeng Road No. 788 sea floor of Building 9 Applicant before: Wangao (Hangzhou) Technology Co.Ltd |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |