一种锁步的处理器总线监控方法与计算的制造方法
【专利摘要】本发明涉及一种锁步的处理器总线监控方法与计算机,用于实现计算机的实时的高概率故障检测和隔离。本发明采用总线锁步监控电路模块,对两个处理器总线周期操作事务(读取,写入,中断与异常处理等)进行同步“位—位”比较。其第一处理器与第一总线锁步监控模块和第二总线锁步监控模块分别连接,第二处理器与第一总线锁步监控模块和第二总线锁步监控模块分别连接,第一总线锁步监控模块和第二总线锁步监控模块之间互相连接,第一总线桥转换模块实现第一总线锁步监控模块与PCI总线等的桥接,第二总线桥转换模块实现第二总线锁步监控模块与PCI总线等的桥接。本发明故障检测率很高、故障检测的实时性好、实现简便。
【专利说明】一种锁步的处理器总线监控方法与计算机
【技术领域】
[0001]本发明属于计算机技术,涉及一种锁步的处理器总线监控方法与计算机。
【背景技术】
[0002]计算机的高故障检测率对于其在安全关键领域的应用具有非常重要的意义。传统的计算机的故障检测主要采用看门狗、闭环检测等方法实现,故障检测率很难到达到98%以上,计算结果比较监控可实现很高的故障检测率,但故障检测的实时性不高。锁步(Lock-Step)计算机是另一种实现高完整性计算的方法,Lock-Step既能以很高的概率检测故障又能实时地检测故障。
【发明内容】
[0003]本发明的目的是:为解决【背景技术】中的问题,提供一种锁步的处理器总线监控方法与计算机,能实现计算机的实时的高概率故障检测和隔离,保证计算机数据处理的高完整性。
[0004]本发明的技术解决方案是:
[0005]一种锁步的处理器总线监控计算机,包括处理器和总线桥转换模块,处理器通过总线桥转换模块与PCI总线连接,其特殊之处在于:所述处理器包括第一处理器和第二处理器,所述总线桥转换模块包括第一总线桥转换模块和第二总线桥转换模块,所述计算机还包括第一总线锁步监控模块和第二总线锁步监控模块;所述第一处理器与第一总线锁步监控模块和第二总线锁步监控模块分别连接,第二处理器与第一总线锁步监控模块和第二总线锁步监控模块分别连接,第一总线锁步监控模块和第二总线锁步监控模块之间互相连接,第一总线桥转换模块实现第一总线锁步监控模块与PCI总线等的桥接,第二总线桥转换模块实现第二总线锁步监控模块与PCI总线等的桥接,第一总线锁步监控模块工作模式选择端接高电平,第二总线锁步监控模块工作模式选择端接低电平。
[0006]上述总线锁步监控模块包括比较监控逻辑、定时器、错误处理逻辑、多路开关、第一缓存器和第二缓存器;第一处理器与第一缓存器和比较监控逻辑连接,第一缓存器与比较监控逻辑连接,第二处理器与第二缓存器和比较监控逻辑连接,第二缓存器与比较监控逻辑连接,比较监控逻辑具有多个输出端,分别作为处理器、定时器、多路开关的输入,比较监控逻辑与错误处理逻辑互相连接,第一缓存器的输出作为多路开关的输入,多路开关的输出端与总线桥转换模块连接;定时器与错误处理逻辑连接。
[0007]上述处理器与总线锁步监控模块之间通过60X总线连接,总线锁步监控模块与总线桥转换模块之间也通过60X总线连接,所述总线桥转换模块是用于实现60X总线接口与存储器总线接口、PCI总线接口、异步串行总线接口、离散信号接口的转换的60X总线桥转换模块。
[0008]一种锁步的处理器总线监控方法,其特殊之处在于,包括以下步骤:
[0009]I】两个处理器执行相应指令时,触发总线周期操作事务,每个处理器给两个总线锁步监控模块均发送处理器总线请求信号;
[0010]2】若总线锁步监控模块检测到某个处理器总线请求信号,则对总线信号进行存储,并给该处理器发送等待信号,同时等待另一处理器的总线请求信号;
[0011]3】若总线锁步监控模块检测到另一处理器的总线请求信号,对该总线信号进行存储,也给另一处理器发送等待信号;若在一定时间内检测不到另一处理器的总线请求信号,进行故障处理,撤销等待信号,返回步骤I】。
[0012]4】总线锁步监控模块对两个处理器发出的总线请求信号进行比较;若比较结果匹配,总线锁步监控模块将信号输出,根据总线桥转换模块回馈信号,撤销等待信号,返回步骤1】,若比较结果不匹配,进行故障处理,撤销等待信号,返回步骤I】。
[0013]上述步骤4中故障处理具体步骤是:
[0014]总线锁步监控模块向两个处理器发送中断信号、向外部发送错误指示信号和故障隔离信号。
[0015]上述总线周期操作事务包括读取、写入、中断与异常处理。
[0016]本发明具有的优点效果是:采用Lock-Step模块,能实时高概率的检测和隔离处理器故障,故障检测率达到98%以上,保证了计算机数据处理的高完整性;将总线信号比较检测、故障隔离与总线桥接功能分离,系统实现简便。
【专利附图】
【附图说明】
[0017]图1是Lock-Step计算机硬件构成图;
[0018]图2是Lock-Step模块工作状态与转换图;
[0019]图3是Lock-St印模块功能框图。
【具体实施方式】
[0020]锁步的处理器总线监控计算机组成结构:
[0021]锁步的处理器总线监控计算机组成如附图1所示,核心部分是2个总线锁步监控模块,一个以主模式工作,另一个以从模式工作,其余部分可采用通用器件、电路实现;其余部分主要包括以下结构:
[0022]1、处理器
[0023]处理器包括第一处理器和第二处理器,具有60X总线接口的处理器。如:P0WERPC系列处理器。
[0024]2、60X总线桥转换模块
[0025]总线桥转换模块包括第一总线桥转换模块和第二总线桥转换模块,实现60X总线接口与存储器总线接口、PCI总线接口、异步串行总线接口、离散信号接口的转换。
[0026]3、ROM存储器与RAM存储器
[0027]ROM存储器采用快速电子擦除只读存储器,用于存储程序,RAM存储器采用SDRAM、DDRAM,用于存储应用程序和数据。
[0028]4、时钟模块
[0029]提供33MHz-100MHz 时钟信号。
[0030]5、电源转换模块[0031]提供总线锁步监控模块、处理器、60x总线桥转换模块等所需电源。
[0032]设计的Lock-Step模块实现对两个处理器所有总线周期操作事务(读取,写入,中断、异常处理等)的同步、实时比较与故障检测,其结构包括比较监控逻辑、定时器、错误处理逻辑、多路开关、第一缓存器和第二缓存器。
[0033]以上各部分的连接关系是:
[0034]第一处理器与第一总线锁步监控模块和第二总线锁步监控模块分别连接,第二处理器与第一总线锁步监控模块和第二总线锁步监控模块分别连接,第一总线锁步监控模块和第二总线锁步监控模块之间互相连接,第一总线桥转换模块实现第一总线锁步监控模块与PCI总线等的桥接,第二总线桥转换模块实现第二总线锁步监控模块与PCI总线等的桥接,第一总线锁步监控模块工作模式选择端接高电平,第二总线锁步监控模块工作模式选择端接低电平。
[0035]总线锁步监控模块包括比较监控逻辑、定时器、错误处理逻辑、多路开关、第一缓存器和第二缓存器;第一处理器与第一缓存器和比较监控逻辑连接,第一缓存器与比较监控逻辑连接,第二处理器与第二缓存器和比较监控逻辑连接,第二缓存器与比较监控逻辑连接,比较监控逻辑与错误处理逻辑互相连接,第一缓存器的输出作为多路开关的输入,多路开关的输出端与总线桥转换模块连接;比较监控逻辑具有多个输出端,分别作为处理器、定时器、多路开关的输入,定时器与错误处理逻辑连接。
[0036]以上结构中处理器与总线锁步监控模块之间通过60X总线连接,总线锁步监控模块与总线桥转换模块之间通过60X总线连接,所述总线桥转换模块为60X总线桥转换模块;也可以采用其他类型的总线进行连接,相应的总线桥转换模块也要适应性的更换。
[0037]总线桥转换模块与总线锁步监控模块可以做在一个芯片中,也可以做成两个单独的芯片。
[0038]一种锁步的处理器总线监控方法,包括以下步骤:
[0039]I】两个处理器执行相应指令时,触发总线周期操作事务,每个处理器给两个总线锁步监控模块均发送处理器总线请求信号;
[0040]2】若总线锁步监控模块检测到某个处理器总线请求信号,则对总线信号进行存储,并给该处理器发送等待信号,同时等待另一处理器的总线请求信号;
[0041]3】若总线锁步监控模块检测到另一处理器的总线请求信号,对该总线信号进行存储,也给另一处理器发送等待信号;若在一定时间内检测不到另一处理器的总线请求信号,进行故障处理,撤销等待信号,返回步骤I】。
[0042]4】总线锁步监控模块对两个处理器发出的总线请求信号进行比较;若比较结果匹配,总线锁步监控模块将信号输出,根据总线桥转换模块回馈信号,撤销等待信号,返回步骤1】,若比较结果不匹配,进行故障处理,撤销等待信号,返回步骤I】。
[0043]故障处理具体步骤是:总线锁步监控模块向两个处理器发送中断信号、向外部发送错误指示信号和故障隔离信号。
[0044]总线周期操作事务包括读取、写入、中断与异常处理。
[0045]Lock-Step模块状态与转换:
[0046]Lock-Step模块上电后、或工作中检测到复位(Reset)信号,将自动进入初始状态:Wait状态。[0047]Lock-Step模块工作状态与转换关系如附图2所示:Wait状态为初始状态,此状态下Lock-Step模块等待处理器请求总线周期操作事务,当Lock-Step模块检测到处理器总线请求信号,将进入Statel状态,对60X总线信号进行处理,完成后模块进入State2状态,等待另一处理器的总线请求信号。一旦检测到另一处理器的总线请求信号,模块将进入State3状态,对相应总线周期操作事务对应的两个60X总线上相关信号进行比较,完成后模块进入State4状态,对两个60X总线信号进行处理,如果比较结果匹配,模块返回初始Wait状态,如果不匹配,模块进入State5状态,完成故障处理后也返回初始Wait状态。
[0048]Lock-Step模块功能框图如附图3所示,有多种工作状态,实现两个处理器总线周期操作事务同步、实时比较、故障指示功能。总线周期操作事务包括读取,写入,中断与异常处理。
[0049](I)写入操作锁步
[0050]处理器执行写入指令时,将触发总线写周期操作事务,发送信号到60X总线。Lock-Step模块在Wait状态实时检测60X总线上的BR、DffBO等信号,一旦检测到,比较监控逻辑立即给处理器发送总线保持(wait)信号,暂停处理器写入操作,并将地址、数据等信号写入Lock-Step模块内部相应的缓存器中,如附图3所示。同时等待另一处理器触发写总线周期操作事务,一旦检测到,立即给另一处理器的发送总线保持(wait)信号,暂停处理器写入操作,并将另一 60X总线地址、数据等信号写入模块内部另一缓存器中。之后,比较监控逻辑对两个缓存器中的所有对应数据进行逐位比较,完成后,撤销两个处理器的总线保持(wait)信号,两个处理器执行后续总线周期操作事务,实现两个处理器的总线同步操作。如果比较结果匹配,Lock-Step模块将主处理器(Master)的缓存信号送入60X总线桥转换模块,进而将数据写入存储器。如果不匹配,Lock-Step模块发送中断、错误指示与故障隔离信号。
[0051]Lock-Step模块若检测到一个处理器触发写总线周期操作事务,若在其内部定时器预定期限内未检测到另一个处理器触发写总线周期操作事务,将撤销此处理器的总线保持(wait)信号,并发送中断、错误指示与故障隔离信号。
[0052](2)读取操作锁步
[0053]处理器执行读取指令时,将触发总线读取周期操作事务,发送信号到60X总线。Lock-Step模块在Wait状态实时检测60X总线上的BR、ACK等信号,一旦检测到,直接将60X总线上的所有输出信号送入60X总线桥转换模块,同时Lock-Step模块将60X总线地址、控制等信号、60X总线桥转换模块从存储器读出的数据信号写入模块内部的缓存器中,并给处理器发送总线保持(wait)信号,暂停处理器读取操作。此后,等待另一处理器触发总线读取周期操作事务,一旦检测到,立即给另一处理器的发送总线保持(wait)信号,并将另一 60X总线地址、控制等信号写入模块内部的缓存器中。之后,Lock-Step模块对两个缓存器中缓存的地址、控制等信息进行逐位比较,完成后,将60X总线桥转换模块回送的数据信号同时发送给60X总线并撤销两个处理器的总线保持(wait)信号,两个处理器执行后续总线周期操作事务,实现两个处理器的总线同步操作。如果Lock-Step模块比较结果不匹配,将发送中断、错误指示与故障隔离信号。
[0054]Lock-Step模块检测到一个处理器触发读取总线周期操作事务,若在其内部定时器预定期限内未检测到另一个处理器触发读取总线周期操作事务,将撤销此处理器的总线保持(wait)信号,并发送中断、错误指示与故障隔离信号。
[0055](3)中断、异常等操作锁步
[0056]中断,异常等其他60X总线周期事务操作的锁步与同步采用(I)、(2)类似的实现方法。
[0057]Lock-Step模块故障处理
[0058]Lock-Step模块在检测出错误之后,即认为计算机已经不可靠、将发送中断、错误指示与故障隔离信号。故障隔离信号用于隔离计算机,中断信号强制处理器进入故障处理例程进行故障处理与恢复,直到两个处理器恢复锁步,计算机恢复正常工作,错误指示与故障隔离信号自动撤销。
【权利要求】
1.一种锁步的处理器总线监控计算机,包括处理器和总线桥转换模块,处理器通过总线桥转换模块与PCI总线连接,其特征在于:所述处理器包括第一处理器和第二处理器,所述总线桥转换模块包括第一总线桥转换模块和第二总线桥转换模块,所述计算机还包括第一总线锁步监控模块和第二总线锁步监控模块;所述第一处理器与第一总线锁步监控模块和第二总线锁步监控模块分别连接,第二处理器与第一总线锁步监控模块和第二总线锁步监控模块分别连接,第一总线锁步监控模块和第二总线锁步监控模块之间互相连接,第一总线桥转换模块实现第一总线锁步监控模块与PCI总线等的桥接,第二总线桥转换模块实现第二总线锁步监控模块与PCI总线等的桥接,第一总线锁步监控模块工作模式选择端接高电平,第二总线锁步监控模块工作模式选择端接低电平。
2.根据权利要求1所述锁步的处理器总线监控计算机,其特征在于:所述总线锁步监控模块包括比较监控逻辑、定时器、错误处理逻辑、多路开关、第一缓存器和第二缓存器; 第一处理器与第一缓存器和比较监控逻辑连接,第一缓存器与比较监控逻辑连接,第二处理器与第二缓存器和比较监控逻辑连接,第二缓存器与比较监控逻辑连接,比较监控逻辑具有多个输出端,分别作为处理器、定时器、多路开关的输入,比较监控逻辑与错误处理逻辑互相连接,第一缓存器的输出作为多路开关的输入,多路开关的输出端与总线桥转换模块连接;定时器与错误处理逻辑连接。
3.根据权利要求1所述锁步的处理器总线监控计算机,其特征在于:处理器与总线锁步监控模块之间通过60X总线连接,总线锁步监控模块与总线桥转换模块之间也通过60X总线连接,所述总线桥转换模块是用于实现60X总线接口与存储器总线接口、PCI总线接口、异步串行总线接口、离散信号接口的转换的60X总线桥转换模块。
4.一种锁步的处理器总线监控方法,其特征在于,包括以下步骤: 1】两个处理器执行相应指令时,触发总线周期操作事务,每个处理器给两个总线锁步监控模块均发送处理器总线请求信号; 2】若总线锁步监控模块检测到某个处理器总线请求信号,则对总线信号进行存储,并给该处理器发送等待信号,同时等待另一处理器的总线请求信号; 3】若总线锁步监控模块检测到另一处理器的总线请求信号,对该总线信号进行存储,也给另一处理器发送等待信号;若在一定时间内检测不到另一处理器的总线请求信号,进行故障处理,撤销等待信号,返回步骤I】。 4】总线锁步监控模块对两个处理器发出的总线请求信号进行比较;若比较结果匹配,总线锁步监控模块将信号输出,根据总线桥转换模块回馈信号,撤销等待信号,返回步骤I】,若比较结果不匹配,进行故障处理,撤销等待信号,返回步骤I】。
5.根据权利要求4所述的锁步的处理器总线监控方法,其特征在于,步骤4中故障处理具体步骤是: 总线锁步监控模块向两个处理器发送中断信号、向外部发送错误指示信号和故障隔离信号。
6.根据权利要求5所述的锁步的处理器总线监控方法,其特征在于,所述总线周期操作事务包括读取、写入、中断与异常处理。
【文档编号】G06F11/267GK103544087SQ201310529919
【公开日】2014年1月29日 申请日期:2013年10月30日 优先权日:2013年10月30日
【发明者】张喜民, 韩强, 周啸, 李鹏, 赵小冬, 沈华, 孙允明, 段小虎, 谢建春, 马小博, 李亚锋 申请人:中国航空工业集团公司第六三一研究所