专利名称:微处理器操作监视系统的制作方法
技术领域:
本文描述的本发明的实施例总体上涉及监视由微处理器执行的程序的运行状态的微处理器操作监视系统。
背景技术:
对于微处理器(微处理单元)的故障检测,通常,使用监视计时器监视其的操作异
堂
巾ο在微处理器的正常操作的执行期间产生异常时适当地重置微处理器的控制设备是可用的除了该行动,这种控制设备还可以被提供有监视计时器,该监视计时器提供改善的重置精度,以使得即使在启动处理的执行期间产生异常时仍然能够实现微处理器的适当的重置。在
公开日本专利申请Tolckai 2007-2^527 (此后称为专利参考1)中公开了一个示例。微处理器故障可能是由程序漏洞、程序伪造和程序错误等造成的,此外,也可能是由微处理器的电路系统(circuitry)的各个组成元件的故障造成的。最近几年中,在需要高等级安全性的诸如控制设备的安全设备中,需要能够验证配备有微处理器的设备的正常操作的操作监视设备。因此,已经公开了一种微处理器操作检查系统,其特征在于它包括状态改变信号输入模块,其接收从微处理器输出的表示所讨论的微处理器的状态的转变的状态改变信号的输入;状态信号输入模块,其接收从微处理器输出的表示所讨论的微处理器的当前状态的状态信号的输入;状态存储模块,其存储微处理器的状态;状态计算模块,其根据状态存储模块中存储的微处理器状态和状态改变信号,计算微处理器应当采用的新状态;以及检查模块,其通过将由状态计算模块计算的微处理器应当采用的新状态与通过状态信号输入模块输入的微处理器的状态进行比较来检查处理器的操作。这在日本专利号4359632(此后称为专利参考2)中公开了。然而,专利参考2中公开的微处理器操作检查系统要面对操作检测电路系统的构造复杂的问题,因为它需要将预先以状态机的形式模拟由微处理器执行的程序的电路包括在操作检查电路中,并且必须计算微处理器应当采用的新状态。另一问题是维护是复杂和麻烦的,因为需要在每次改变程序时改变执行模拟的电路。该系统的另一问题是,尽管可以检测程序任务的启动序列是否正常,但是即使循环启动序列是正确的,仍然不能检测循环的次数,所以不可以检测是否已经正确地执行了循环处理预置的次数。此外,存在这样的问题当在任务启动序列中已经发生了异常时,不能够决定这表示微处理器的异常还是操作检查电路的异常
发明内容
根据该技术的一方面,提供了微处理器操作监视系统,其中,容易定义由正在被执行的程序应当采用的新状态,并且其中,不仅可以决定程序任务的启动序列,还可以决定是否正确地执行了循环处理。为了实现以上所述,根据本发明的微处理器监视系统包括微处理器;上述微处理器的操作监视设备,其中上述微处理器包括执行程序的计算部件;存储部件,其存储包括多个任务的上述程序;以及任务信息通信部件,其与由上述计算部件执行的上述程序的上述任务的执行同步地产生转变通告信号,所述转变通告信号预先向上述操作监视设备通告要启动的第一任务号和接下来启动的第二任务号,以及在该转变通告信号之后产生启动信号,所述启动信号通告接下来要启动的任务;上述任务包括布置在其自己任务的头端的启动指令,其报告它自己任务的启动;所讨论的上述任务的处理程序;以及转变通告指令,其布置在所讨论的上述任务的尾端,报告在所讨论的上述任务之后接下来要启动的任务;上述任务信息通信部件在接收到上述启动指令时产生上述启动信号并且在接收到上述转变通告指令时产生上述转变通告信号;以及上述操作监视设备通过将上述转变通告信号中包括的上述第二任务号与上述启动信号中包括的上述第一任务号进行比较来决定上述程序的上述任务的启动序列是一致的还是不一致的;以及此外,如果上述程序中出现循环处理,则向上述转变通告指令附加关于提供循环处理的开始点的上述第二任务的循环的预置次数,以及上述任务信息通信部件将上述循环次数附加至对应于该转变通告指令的转变通告信号,以及上述操作监视设备存储附加至上述转变通告信号的上述第一任务号的上述循环次数并且每当在随后的启动的上述启动信号中检测到上述第一任务号时总计上述循环次数,并且确定该总计值与所存储的上述循环次数的匹配;以及通过针对构成程序的任务中的每一个,预先关联接下来要启动的任务的任务号来构成其自己的任务,并且执行所通告的任务与因此启动的任务的匹配的比较性确定,从而检测微处理器的操作的异常。通过本发明,可以提供一种微处理器操作监视系统,其中,可以容易地实现将由正在执行的程序将采用的新状态的创建,并且其中,不仅可以查明程序的任务的启动序列,还可以查明是否正确地处理了循环处理。
图1是根据本发明的实施例1的微处理器操作监视系统的构造图;图2是包括多个任务的程序的示例;
图3是作为解释给出的根据本发明的任务和任务启动及转变通告指令的构成的图;图4是作为解释给出的根据本发明的任务和操作监视设备以及转变通告信号的图;图5是作为解释给出的操作监视设备的寄存器部件的构成的图;图6是作为解释给出的根据本发明的启动序列识别动作的图;图7是作为解释给出的根据本发明的循环次数识别动作的图;图8是根据本发明的实施例2的微处理器操作监视系统的构造图。
具体实施例方式下文参考附图详细地描述了本实施例。[实施例1]下文参考图1至图7描述了实施例1。首先,将参考图1描述本实施例的构造。微处理器操作监视系统100包括微处理器1和监视微处理器11的操作的操作监视设备2。微处理器1包括存储部件12,其存储包括多个任务的程序;计算部件11,其从存储部件12中提取该程序并且运行该程序;以及任务信息通信部件13,其与该程序的执行同步地产生转变通告信号,所述转变通告信号预先向操作监视设备2通知要启动的第一任务的任务号和接下来启动的第二任务的任务号,并且在该转变通告信号之后产生启动信号, 其通告要启动的任务。接下来,将参考图2和图3描述根据本实施例的程序的构造的特性特征。图2是作为本实施例的解释给出的程序的示例以流程图的形式示出了任务单元的处理。任务A、 任务D、任务G和任务F指示处理任务,任务B、任务C和任务E指示分支任务。图3示出了各个任务的结构的一部分例如,最初启动的任务A包括启动指令 31a,其报告任务A的启动并且被布置在该任务的开头;该任务A的处理程序31b ;以及转变通告指令31c,其报告在任务A之后接下来启动的任务,并且被布置在任务A的末尾。此外,由该转变通告指令31c报告的接下来要启动的任务B同样地包括启动指令 32a,其报告任务B的启动并且被布置在该任务的开头;该任务B的处理程序32b ;以及转变通告指令32c,其报告在任务B之后启动的、由处理程序32b的处理结果选择的任务(例如任务C),并且该转变通告指令被布置在任务B的末尾。下文中,以相同的方式,各个任务被预先提供有布置在其自己任务的开头并且报告其自己任务的启动的启动指令;其自己任务的处理程序;以及报告在其自己任务之后接下来要启动的任务并且被布置在其自己任务的末尾的转变通告指令。当由计算部件11执行具有用这种方式构造的任务的程序时,对应于来自各个任务的启动指令的启动信号SS,和对应于转变通告指令的转变通告信号SP被顺序地传送到各个任务信息通信部件13。当这些启动信号ss和转变通告信号sp由任务信息通信部件13接收时,它们被转换成如图4中所示的数据结构的分组信号(sto),并且被以例如串行通信的方式发送到操作监视设备2。该分组结构包括例如文件ID F1,其识别启动信号ss和转变通告信号sp ;启动的其自己的任务(第一任务)的信息F2 ;在其自己任务之后接下来启动的下一任务(第二任务)的信息F3 ;以及如果循环处理是来自第二任务,则循环次数信息F4,后面将会进行详细地描述。如图4(a)所示,例如,对应于接收到转变通告信号sp的情况产生的转变通告分组信号sto 1是001 (Fl);任务A(F2);任务B(F3);以及0(F4)。如图4(b)中所示,对应于接收到启动信号ss的情况的启动分组信号sto 2是002 (Fl);任务A(F2) ;0(F3);以及 O (F4)。O条目指示没有出现这种任务信息的情况。接下来,将描述操作监视设备2,其中,该操作监视设备2接收在这两个分组信号 sto 1和2之后启动的第一任务信息和在该第一任务信息之后接下来发生的转变的第二任务信息,并且监视执行的任务启动序列和循环处理是否正确地运行。如图1和图3中所示,操作监视设备2包括数据提取部件21,其接收转变通告分组信号sto 1并且提取其的数据;寄存器部件22,其暂时地存储由数据提取部件21所提取的任务信息;任务启动序列监视部件23,其将第一任务的第一任务信息与存储在寄存器部件22中的第二任务进行比较,并且基于启动的任务与任务启动序列的通告的符合/不符合来识别任务的启动序列的异常,其中所述第一任务是在接收到来自数据提取部件22的要启动的下一任务的启动分组信号sto 2时启动的;循环监视部件M,其监视已经启动的任务的循环次数的异常;以及异常处理部件25,其在由任务启动序列监视部件23或循环监视部件M检测到异常时,通过数据提取部件21向微处理器1报告程序的重启或重置。如图5中所示,寄存器部件22存储至少三项任务信息。其的各个寄存器包括寄存器22a,存储第一任务信息;寄存器22b,存储第二任务信息;以及寄存器22c,如果第二任务信息是循环处理的开始点,则存储关于该循环处理的次数的信息。接下来,将描述监视用该方式构造的该实施例的任务启动序列的任务启动序列监视部件23的操作,以图2中示出的流程图的程序作为示例。图6基于图2的流程图,示出了从任务信息发送部件13发送到操作监视设备2的分组信号的历史的示例。首先,首先启动任务A并且发送如图6(a)中所示的对应于任务A的启动分组信号sto 2。接下来,通过执行该步骤A的处理程序,识别接下来要执行的任务B,并且发送图 6(b)中所示的转变通告分组信号sto 1,使得通告到在任务A之后接下来要执行的任务B 的转变。当操作监视设备2接收到该转变通告分组sto 1时,“任务A”被写入到寄存器部件22的寄存器2 作为第一任务信息,以及“任务B”被写入作为第二任务信息。然后,接下来,启动任务B,并且发送对应于任务B的图6(c)中所示的启动分组信号 sto 2o此时,任务启动序列监视部件23将寄存器部件22b中存储的任务A的第一任务信息与启动的任务B的第一任务信息进行比较,决定这些是否匹配,并且将决定结果发送到异常处理部件25。同样地,接下来,通过执行处理程序任务B,识别接下来要执行的任务C,并且发送如图6(d)中所示的转变通告分组信号sto 1,以使得通告到在任务B之后接下来执行的任务C的转变。
随后以相同的方式,通过程序的执行来相继执行任务处理,比较和评估通告的第二任务信息和启动的第一任务的信息以决定任务启动序列是否正确;从而通过数据提取部件21将决定的结果实时地返回到微处理器1。通过该任务启动序列评估方法,微处理器1的任务信息通信部件13能够在接收到每个任务中预先包含的启动指令时产生启动信号,并且,此外,能够容易地通过接收发送通告指令产生转变通告信号。因此,通过将包含在转变通告信号中的第二任务号与包含在启动信号中的第一任务号进行比较,操作监视设备2能够通过简单的构造决定程序任务的启动序列是否相符合。接下来,将会描述循环监视部件M的操作,其中,该循环监视部件M通过以该方式构造的本实施例中的循环处理电路来识别循环的次数,以图2中用虚线指示的循环电路的部分作为示例。循环监视部件M包括监视部件2 和循环存储部件22b,其中,该监视部件2 确定循环的次数是否正常,循环存储部件22b存储第二任务信息并且该信息是关于循环次数的。数据提取部件21然后接收图7 (a)中示出的转变通告信号sto 1,并且任务E和关于循环次数的信息被写入到寄存器部件22c ;随即,循环监视部件M从寄存器部件22c中提取该第二任务信息和关于循环次数的信息,并且将这些写入到循环存储部件Mb。接下来,当接收到图7(b)中所示的启动信号sto 2时,执行任务E的程序。然后, 当由于任务E的处理结果,识别出要对其发生转变的下一任务F时,接收图7(c)中所示的转变通告信号sto 1。接下来,当接收到图7(d)中所示的启动信号sto 2时,执行任务F的程序。然后, 当由于任务F的处理结果,识别出要对其发生转变的下一任务E时,接收图7(e)中所示的转变通告信号sto 1。接下来,当接收到图7(e)中所示的启动信号sto 2时,监视部件2 将其与存储在循环存储部件Mb中的构成循环的起始点的任务信息进行比较,并且将所存储的任务E 的循环次数递减1。因此,当如图7(f)所示,关于预先存储的循环次数的信息变为O时,删除写入到循环存储部件Mb的循环E的信息。此外,如果循环次数处于不一致的情况,使得转变发生到另一任务,则识别这种异常并且通过数据提取部件21将该结果返回到微处理器1。通过这种循环监视部件对,如果循环处理出现在程序中,则关于构成循环处理的起始点的第二任务的循环的预置次数被用作预先应用的转变通告指令;任务信息通信部件 13将该循环次数附加至对应于转变通告指令的转变通告信号;操作监视部件2相应地存储应用到转变通告信号的第一任务号的循环次数,并且每当在随后的启动的启动信号中检测到第一任务号时总计循环次数,并且识别上述循环的次数是否与该存储的总计值相匹配。如上所述,通过实施例1,可以提供一种微处理器操作监视系统,其中,通过布置在由构成程序的任务处理程序的头端附加启动指令并且在任务处理程序的尾端附加转变通告指令,能够在微处理器外部容易地独立地监视任务启动序列和循环处理,而不需要对微处理器的操作施加负荷,其中所述转变通告指令通告由于任务处理的结果要对其进行转变的下一任务。
[实施例2]接下来,将参考图8描述根据实施例2的微处理器操作监视系统。实施例2中与图1中示出的实施例1的相应的部分相同的部分将被给予相同的附图标记,并且将省略对其的进一步描述。如图8中所示,实施例2对于实施例1的不同之处在于关于实施例1的构造,此外, 已经启动的任务的信息由微处理器1和操作监视设备2分别地记录然后比较两个日志的信息,以使得能够根据差异自动地识别异常。因此,通过实施例2,如果发现任务启动序列或循环的次数不匹配,则微处理器能够确认是否存在操作监视设备的异常。尽管已经描述了本发明的各个实施例,但是这些实施例仅是以示例的方式给出的,并且不意图限制本发明的范围。在不脱离本发明的主旨的情况下,能够通过省略、替代或修改各个方面来以各种其他模式实现这些其他实施例。这些实施例或修改包括在本发明的主旨内并且包括在专利权利要求中所阐述的本发明的等价物的范围内。
权利要求
1.一种微处理器操作监视系统,包括微处理器;以及所述微处理器的操作监视设备, 其中(1)所述微处理器包括(1)执行程序的计算部件;(ii)存储部件,其存储包括多个任务的所述程序;以及(iii)任务信息通信部件,其与由所述计算部件执行的所述程序的所述任务的执行同步地产生转变通告信号,所述转变通告信号预先向所述操作监视设备通告要启动的第一任务号和接下来启动的第二任务号,以及在所述转变通告信号之后产生启动信号,所述启动信号通告接下来要启动的任务;所述任务包括(a)布置在其自己任务的头端的启动指令,其报告其自己任务的启动;以及(b)所讨论的所述任务的处理程序以及转变通告指令,所述转变通告指令被布置在所讨论的所述任务的尾端,报告在所讨论的所述任务之后接下来要启动的任务;其中,所述任务信息通信部件在接收到所述启动指令时产生所述启动信号,并且在接收到所述转变通告指令时进一步产生所述转变通告信号;并且(2)所述操作监视设备(i)通过比较包括在所述转变通告信号中的所述第二任务号与包括在所述启动信号中的所述第一任务号来决定所述程序的所述任务的启动序列是一致的还是不一致的;以及此外,( )如果循环处理出现在所述程序中,则将关于提供循环处理开始点的所述第二任务的循环的预置次数附加至所述转变通告指令,以及所述任务信息通信部件将所述循环次数附加至对应于所述转变通告指令的转变通告信号,并且此外,所述操作监视设备(iii)存储附加至所述转变通告信号的所述第一任务号的所述循环次数,并且每当在随后的启动的所述启动信号中检测到所述第一任务号时总计所述循环次数,并且确定总计值与所存储的所述循环次数的匹配;以及(iv)通过针对构成所述程序的每个任务预先关联接下来要启动的所述任务的任务号来构成其自己的任务,并且执行通告的任务与因此启动的任务的匹配的比较性确定,并且从而检测所述微处理器的操作的异常。
2.根据权利要求1所述的微处理器操作监视系统,其中,所述任务信息通信部件和所述操作监视设备的通信是串行通信并且通过分组来发送所产生的所述启动信号和所述转变通告信号。
3.根据权利要求1所述的微处理器操作监视系统,其中,所述操作监视设备还包括(1)接收日志存储部件,其存储所接收的所述启动信号的接收日志;以及(2)接收日志处理部件,其将接收日志发送到所述微处理器;以及所述微处理器包括(3)发送日志存储部件,其存储所发送的所述启动信号的日志;以及(4)日志比较和监视部件,其通过比较从所述接收日志处理部件发送的接收日志与存储在所述日志存储部件中的发送日志确定日志数据的一致性,来识别所述微处理器操作监视系统的操作的异常。
全文摘要
一种微处理器操作监视系统,其自己的任务是通过针对构成程序的每个任务预先关联接下来要启动的任务的任务号构成的,并且通过比较和确定通告的任务与要启动的任务是否匹配来检测微处理器操作的异常。
文档编号G06F11/30GK102567174SQ20111031111
公开日2012年7月11日 申请日期2011年10月14日 优先权日2010年10月15日
发明者中谷博司, 井上笃, 冈部基彦, 梅田泰隆, 竹原润 申请人:株式会社东芝