首页> 中国专利> 处理器动作检查系统及动作检查电路

处理器动作检查系统及动作检查电路

摘要

一种处理器动作检查系统,该处理器动作检查系统由处理器1和对该处理器1的动作进行检查的动作检查电路2构成,在正在执行的程序从预先定义的一个状态向其他的状态转变时,处理器1将表示状态的转变的状态切换信号32输出到动作检查电路2,还将表示当前状态的状态信号33输出到动作检查电路2。动作检查电路具有:状态寄存器22,其存储处理器1的状态;组合逻辑电路21,其根据存储的处理器1的状态以及状态切换信号32来算出处理器1应当取得的新状态;以及比较电路,其对算出的处理器1应当取得的新状态与作为状态信号33而输入的处理器1的状态进行比较,检查处理器1的动作。

著录项

  • 公开/公告号CN101681287A

    专利类型发明专利

  • 公开/公告日2010-03-24

    原文格式PDF

  • 申请/专利号CN200880019851.3

  • 发明设计人 本多真;

    申请日2008-06-13

  • 分类号G06F11/22;G06F11/28;

  • 代理机构北京市中咨律师事务所;

  • 代理人段承恩

  • 地址 日本东京都

  • 入库时间 2023-12-17 23:44:22

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-07-10

    未缴年费专利权终止 IPC(主分类):G06F11/22 授权公告日:20120613 终止日期:20170613 申请日:20080613

    专利权的终止

  • 2012-06-13

    授权

    授权

  • 2010-05-05

    实质审查的生效 IPC(主分类):G06F11/22 申请日:20080613

    实质审查的生效

  • 2010-03-24

    公开

    公开

说明书

技术领域

本发明涉及检查处理器是否正在正常动作的技术。

背景技术

以往,为了检测微处理器的故障,使用看门狗定时器(WDT:watchdogtimer)技术(例如,日本特开2003-150280号公报)。看门狗定时器,当以预定的间隔从处理器发送的信号中断时,对处理器输出复位脉冲。处理器,当接收到该复位脉冲时,自身执行复位来进行功能的恢复。如此,使用看门狗定时器技术,能够检测到由于故障等引起处理器的处理停止的情况。并且,能够在这样的情况下进行恢复。

此外,作为不使用真实的电路而进行测试(调试)的技术,已知有虚拟测试的技术(例如,日本特开2005-32191号公报)。虚拟测试是如下技术:使用由硬件描述语言(HDL:Hardware Description Language)模型化了的测试对象程序的模型,不使用实机而通过计算机上的仿真来进行测试。

此外,也已知了如下技术:代替将用于监控FPGA(FieldProgrammable Gate Array:现场可编程门阵列)的内置电路设为小规模,而在FPGA外部设置大规模的存储器模块,以高速传送线来连结(日本特开2003-271412号公报)。由此,能够不用将电路规模作为课题而监控FPGA的动作。

然而,在上述那样的以往技术的情况下,会产生以下这样的问题。

首先,在如日本特开2005-32191号公报所记载的那样使用虚拟测试的技术中,不能检查实机的动作。此外,在如日本特开2003-150280号公报所记载的那样使用看门狗定时器的技术中,虽然能够确认处理器正在工作,但不能确认是否在正确地工作。

关于处理器的异常动作,有如下的原因。第一,程序的故障(缺陷),处理器不按照规格进行动作。

第二,由存有恶意的第三者进行程序的篡改。近年来,作为处理器,利用如FPGA等那样可重构处理器的情况变多。在FPGA中,能够通过改变电路信息(程序),从而改变处理器的动作。因此,能够通过在升级版本等时提供新的程序,从而容易地改变其动作。但是,存在从外部提供的程序由第三者进行改写的情况。在这样的情况下,会进行与制造者的意图不同的动作。

第三,软错误(soft error)。软错误是由于高能量中子等的射线的影响使保持于存储器的数据发生反转而引起的错误。由于近年来的LSI设计规则的微细化,使软错误的发生概率增加。虽然能够通过使用带有错误修正功能的存储器进行应对,但由于成本会增大,所以很难采用带有错误修正功能的存储器。

发明内容

如此,处理器的异常动作中,除仅仅处理器的处理停止以外,也存在各种情况,需要对这些进行检测。

本发明是鉴于上述实际情况而做出的,其目的在于,提供一种能够检查处理器是否正在正常动作的技术。

为了达成上述目的,在本发明中,通过以下的单元或处理来进行处理器的动作确认。

本发明是一种处理器动作检查系统,其由处理器和对该处理器的动作进行检查的动作检查电路构成。

处理器对存储于存储器的程序进行解释并执行。程序转变预先定义的状态,并且执行该处理。并且,处理器具有状态切换信号输出单元,该状态切换信号输出单元在从一个状态向其他的状态转变时,将通知状态的转变的状态切换信号向动作检查电路输出。此外,处理器具有状态输出单元,该状态输出单元将通知当前状态的状态信号向动作检查电路输出。

所谓“状态”是在处理器上执行的程序的状态,但在本说明书中,也简单地表现为“处理器的状态”。

在此,以怎样的单位(粒度)来定义状态,能够进行适当设计。状态切换信号是表示状态的转变的预先定义的信号模式。如此,处理器在状态转变时将该转变通知到动作检查电路,并且将当前的状态通知到动作检查电路。

动作检查电路具有状态切换信号输入单元、状态信号输入单元、状态存储单元、状态算出单元和检查单元。状态切换信号输入单元从处理器接受状态切换信号的输入。状态信号输入单元从处理器接受状态信号的输入。状态存储单元存储处理器的状态。状态算出单元,根据存储于状态存储单元的处理器的状态和状态切换信号,算出处理器应当取得的新状态。状态存储单元和状态算出单元是模拟状态转变的状态机,是根据处理器的规格来设计的。检查单元,对由状态算出单元算出的处理器应当取得的新状态、和经由状态信号输入单元输入的处理器的状态进行比较,检查处理器的动作。检查单元,在由状态算出单元算出的状态与处理器的当前动作不同的情况下,判断为处理器的动作存在故障。

如此,能够通过在动作检查电路中构成状态机,逐次检查状态转变,从而监视处理器的举动。

检查单元,在判定为处理器的动作存在故障的情况下,可以对处理器通知处理器应当取得的新状态。并且,接受了该通知的处理器可以进行从错误的状态向正常的状态的恢复。

如此,如果进行向从动作检查电路通知的正确的状态的恢复,则能够与复位处理器相比而更迅速地进行恢复。

此外,在处理器能够执行多个任务的情况下,本发明的处理器动作检查系统可以具有与多个任务的各个任务对应的多个动作检查电路。在该情况下,处理器动作检查系统具有切换单元,该切换单元根据处理器正在执行的任务,对使用多个动作检查电路的哪个来检查处理器的动作进行切换。

在处理器能够执行多个任务的多任务系统等的情况下,很难以一个动作检查电路来检查全部任务的状态转变。于是,通过对每个任务都准备动作检查电路,从而在执行多个任务的情况下也能够应对。

此外,在处理器能够执行多个任务的情况下,还优选如下设计:由可重构处理器来构成动作检查电路,根据处理器正在执行的任务对动作检查电路进行重构。具体而言,优选如下设计:本发明的处理器动作检查系统还具有:电路信息存储单元,其存储与多个任务的各个任务对应的动作检查电路的电路信息;和控制单元,其根据处理器正在执行的任务,将对应于该任务的电路信息装载到可重构处理器。在可重构处理器中,包括FPGA(现场可编程门阵列)。

通过这样的构成,能够应对执行多个任务的处理器。此外,通过对可重构处理器的程序进行改写来应对多个任务,所以能够削减芯片面积。

本发明也可以作为包括上述处理的至少一部分的处理器动作检查方法、或者用于实现相关方法的程序。此外,本发明能够作为进行上述处理器的动作检查的动作检查电路。上述各个单元以及处理,能够在可能的范围内相互组合来构成本发明。

例如,作为本发明的一种方式的动作检查电路,是检查处理器的动作的动作检查电路,其特征在于,具有:状态切换信号输入单元,其接受从处理器输出的、表示该处理器的状态的转变的状态切换信号的输入;状态信号输入单元,其接受从处理器输出的、表示该处理器的当前状态的状态信号的输入;状态存储单元,其存储处理器的状态;状态算出单元,其根据存储于状态存储单元的所述处理器的状态、和所述状态切换信号,算出处理器应当取得的新状态;以及检查单元,其对由状态算出单元算出的处理器应当取得的新状态、和经由状态信号输入单元输入的所述处理器的状态进行比较,检查所述处理器的动作。

根据本发明,能够检查处理器是否正在正常动作。

附图说明

图1A是表示第一实施方式的微处理器动作检查系统的概要构成的图,图1B是表示在微处理器与动作检查电路之间交换的信号的图。

图2是表示第一实施方式的微处理器动作检查系统的概要构成的图。

图3是微处理器执行的程序的状态转变图。

图4是将微处理器执行的程序的状态转变表示在时序上的图(栅状图)。

图5是表示在第一实施方式的微处理器动作检查系统中的、从微处理器对动作检查电路的数据输出和处理执行的时间图的图。

图6是表示第一实施方式的微处理器动作检查系统的动作例的流程图。

图7是表示第二实施方式的微处理器动作检查系统中的动作检查电路的构成的图。

图8是表示第二、三实施方式的微处理器动作检查系统中的、从微处理器对动作检查电路的数据输出和处理执行的时间图的图。

图9是表示第三实施方式的微处理器动作检查系统中的动作检查电路的构成的图。

具体实施方式

以下,按照附图,对本发明的优选实施方式进行例示性地详细说明。

(第一实施方式)

<构成>

图1、2是表示第一实施方式的微处理器的动作检查电路的概要构成的图。图1A表示微处理器1的构成,图1B表示在微处理器1与动作检查电路2之间交换的信号。微处理器1包括存储器11、ALU(算术逻辑装置)12、PLL(相位同步电路)13、和数据总线14。图2是表示动作检查电路2的构成的图。

在存储器11中装载有程序,该程序由ALU12来执行。在该程序中,预先定义了多个状态,能够在程序中把握状态的转变。在图2中,以状态转变图和流程图来示意性地示出了微处理器1的程序能够取得状态A~D的情况。实际上,当然也能够取得更多个数的状态。

在此,定义怎样的单位作为一个状态,可以是任意的。例如,能够将从判定条件分支到判定下一个条件分支之间的处理例程群作为一个状态进行定义。另外,也可以将子例程、函数等作为一个状态进行定义。在此,对将条件分支语句之间的处理例程群作为一个状态进行定义的情况进行说明。

微处理器1,在状态转变时,将状态切换信号32供给到动作检查电路2。在本实施方式中,状态切换信号32是将if-then语句等条件分支语句符号化了的数据。状态切换信号32,只要是能够通知状态的转变的数据(信号),无论怎样的都可以。

微处理器1还将通知当前状态的状态信号33供给到动作检查电路2。

通过写入到微处理器1的输入输出端口来进行信号输出。此外,通过读取输入输出端口的信号来进行信号输入。也就是说,微处理器1和动作检查电路2的输入输出端口相当于各种信号输入单元、信号输出单元。

动作检查电路2由FPGA这样的可重构的硬件构成。在该FPGA上,安装了模拟由微处理器1执行的程序的电路作为状态机。状态机是时序电路,由组合逻辑电路21和状态寄存器22构成。状态机,参考应用程序的规格书、程序的源代码,使用用于安装于FPGA的HDL(硬件描述语言)来设计。在状态寄存器22中存储有微处理器1的上一状态。并且,在存储于状态寄存器22的数据和从微处理器1输入的状态切换信号32被输入到组合逻辑电路21时,产生新的状态,该新的状态被存储于状态寄存器22。也就是说,组合逻辑电路21相当于本发明的状态算出单元,状态寄存器22相当于本发明的状态存储单元。

比较电路23相当于本发明的检查单元,对状态寄存器22的值和从微处理器1输入的状态信号33进行比较,判定其是否一致。在其一致的情况下,将通知微处理器1的状态正常的意思的判定结果34通知到微处理器1。微处理器1,在作为判定结果接收到正常的情况下,执行状态的转变来执行下一状态。

反过来,在状态寄存器22的值与从微处理器1输入的状态信号33不一致的情况下,视作在微处理器1中存在故障。在该情况下,将通知微处理器1的状态异常的意思的判定结果34通知到微处理器1。此外,因为微处理器1原本应当取得的状态被存储于状态寄存器22,所以将该正常的状态作为正常状态35对微处理器1进行输出。微处理器1参照该正常状态,尝试从错误的状态向正常的状态恢复。

图3是表示微处理器1执行的程序的状态的转变的一例的状态转变图。图4是将图3的状态转变表示在了时序上的图(栅状图)。在该例中,作为能够取得的状态定义有四个状态A~D,也确定了在这些状态之间的转变。例如,从状态A仅向状态A或状态B进行转变,从状态B仅向状态C或状态D进行转变。在此,各转变以Ij来表示。

如此,微处理器1的状态是根据程序的规格书等而预先确定的,所以只要进行正常的动作,就不会发生图3中如虚线所示的从状态D向状态C的转变。因此,如果发生了这样的没有预想到的状态,则可知在微处理器1中发生了故障。此外,例如,可知在状态B下尽管发生了转变I3但状态从B转变到了C的情况(正确的是,应当转变到状态D)也同样地,在微处理器1中发生了故障。

图5是表示从微处理器1对动作检查电路2的数据输出和处理执行的时间图的图。微处理器1,在切换状态时,将转变Ij、和下一状态sj作为状态切换信号输出到动作检查电路2,然后开始新的状态(sj)的处理。图5是微处理器1的状态转变为A-B-C的情况的例子,在状态A的处理结束后,将表示从状态A向B转变的I2作为状态切换信号进行输出,在转变到状态B时输出表示状态B的状态信号。从状态B向C转变时也同样。

<处理流程>

图6是表示本实施方式的处理器动作检查系统的动作例的流程图。首先,当投入电源时,进行微处理器1和动作检查电路2的初始化处理(S01)。接下来,动作检查电路2从微处理器1接受状态切换信号32的输入(S02)。组合逻辑电路21,根据状态寄存器22的当前内容和输入的状态切换信号来求得新的状态,并将其存储于状态寄存器22(S03)。此外,动作检查电路2从微处理器1接受状态信号33的输入(S04)。并且,通过比较电路23,对状态机的状态寄存器22的内容与输入的微处理器1的状态(状态信号33)进行比较(S05)。判定这两个状态是否一致(S06),在一致的情况下(S06:是),可知微处理器1的状态正常。动作检查电路2,将判定结果34输出到微处理器1,返回步骤S02来继续进行检查。

另一方面,在状态机的状态寄存器22的内容与输入的微处理器1的状态不一致的情况下(S06:否),可知微处理器1异常。动作检查电路2,将判定结果34输出到微处理器1,并且将存储于状态寄存器22的状态作为正常的状态输出到微处理器1(S07)。接收到该状态的微处理器1,对寄存器内容进行解释,进行程序计数器的修正,尝试向正常的状态恢复。在此,在不能由程序计数器的修正进行恢复的情况下,可以进行复位。

如此一来,能够使用动作检查电路2来检查微处理器1的动作。

<实施方式的作用/效果>

根据本实施方式的微处理器的动作检查系统,通过由动作检查电路的状态机来模拟微处理器的程序的状态转变,能够检测由故障、软错误的影响引起的异常。此外,此时,通过将正确的状态从动作检查电路通知到微处理器,也能够将微处理器的状态返回到正确的状态。这具有与通过复位信号进行恢复相比更快地进行恢复这样的优点。

(第二实施方式)

图7是表示图2的实施方式的动作检查系统的动作检查电路2的构成的图。在本实施方式中,设为微处理器1是处理多任务的处理器。如图所示,根据多个任务,安装了状态机2a~c。在此,安装了三个状态机,但无论其个数是几个都没有关系。

图8是表示从对应于多任务的微处理器1向动作检查电路2的数据输出和处理执行的时间图的图。该时间图,在执行一个任务的期间,与第一实施方式(图5)基本相同。但是,在切换执行的任务时,输出任务编号(Ti)这一点不同。

微处理器1是能够处理多任务的处理器,该处理器能够切换多个任务并进行处理。微处理器1,除了上述第一实施方式中说明的信号以外,还将通知当前正在执行的任务的任务编号36向动作检查电路2输出。该任务编号输入被输入到动作检查电路2的解码器24、多路复用器(MUX)25、26。此外,上述第一实施方式中说明的信号(状态切换信号32、状态输入信号33、时钟脉冲31)被输入到各状态机2a~2c。

解码器24,根据微处理器1正在执行的任务,决定使用哪个状态机来进行检查。多路复用器25,根据正在执行的任务编号,在各状态机判定出的判定输出之中,决定将哪个判定输出作为判定结果输出34进行输出。多路复用器26,根据正在执行的任务编号,在各状态机判定出的正常状态之中,决定将哪个正常状态作为正常状态输出35进行输出。如此,由解码器24以及多路复用器25、26,对使用哪个状态机来检查微处理器1的动作进行切换。也就是说,解码器24以及多路复用器25、26相当于本发明的切换单元。

根据本实施方式的动作检查系统,在微处理器进行多任务处理的情况下,能够追踪各任务的状态转变,进行微处理器的动作检查。

(第三实施方式)

图9是表示第三实施方式的动作检查系统的动作检查电路2的构成的图。本实施方式,也与上述第二实施方式同样,设为微处理器1是处理多任务的处理器。在本实施方式中,仅使用一个状态机。通过FPGA这样的可重构处理器来安装状态机,根据微处理器1正在执行的任务,对FPGA进行重构来检查微处理器1的动作。

在配置数据存储器(configuration data memory)28中,存储有用于在FPGA上构成与微处理器1执行的各任务相应的状态机的电路信息(配置数据)。

控制电路27根据任务编号输入来判断微处理器1执行的任务进行了切换的情况。当切换任务时,将与切换到的任务对应的电路信息从配置数据存储器28装载到FPGA。

寄存器数据退避用数据存储器29存储状态寄存器22的值。也就是说,用于退避存储切换微处理器1的执行数据而改写了状态机时的状态寄存器22的值。此外,在控制电路27改写FPGA时,恢复退避存储于寄存器数据退避用数据存储器29的状态寄存器22的值。

如此,能够以一个FPGA来安装状态机,所以能够减小必要的电路面积。

(变形例)

使用在上述的实施方式中说明的动作检查系统,能够测定微处理器1的性能(performance)。在该情况下,动作检查电路2具备计测各状态的处理时间的处理时间计数器(处理时间计测单元)。处理时间计数器,在追踪微处理器1的状态转变时,通过时钟脉冲的计数来计测各状态的停滞时间,测定各状态下执行的处理的运算时间。并且,将实测到的处理时间数据反馈到微处理器1,能够通过进行控制来保持实时性能。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号