本发明实施例涉及处理器可靠性设计,特别涉及一种具有故障检测与恢复功能的双核锁步处理器系统。
背景技术:
1、目前的锁步处理器设计方案中,故障的恢复往往通过软件完成,需要周期性保存处理器的正确状态信息到可靠存储部件中,这些状态称为“检查点”,在故障发生时将处理器还原到上一个正确状态。然而,处理器很多内部寄存器、内部ram等存储部件是不可见的,也是无法通过软件连接的,因此,现有的锁步处理器的故障恢复功能只能恢复软件可见的处理器状态,内部不可见寄存器、内部ram等存储部件的状态信息无法通过软件保存,因此现有的锁步处理器不能实现处理器状态的完全恢复;另一方面,当处理器遇到挂起类故障时,处理器处于卡死状态,任何软件都无法正常运行,那么现有的锁步处理器是无法恢复状态的,因此现有的锁步处理器的故障恢复功能的可靠性较低。
2、因此,亟需一种新的具有故障检测与恢复功能的双核锁步处理器系统。
技术实现思路
1、为了解决现有的锁步处理器的故障恢复功能不能实现所有内部存储部件的完全恢复,且遇到挂起类故障时无法进行状态恢复的问题,本发明实施例提供了一种具有故障检测与恢复功能的双核锁步处理器系统。
2、第一方面,本发明实施例提供了一种具有故障检测与恢复功能的双核锁步处理器系统,包括:主处理器、从处理器、故障检测与恢复模块、输出缓存和状态信息缓存;其中,所述主处理器中设置有第一状态读取部件和第一恢复部件,所述从处理器中设置有第二状态读取部件和第二恢复部件;
3、所述第一状态读取部件和所述第一恢复部件分别与所述主处理器内的每一个存储部件电连接,所述第一状态读取部件用于在每一个时钟周期读取所述主处理器内所有存储部件的状态信息并发送至所述故障检测与恢复模块,所述第一恢复部件用于在故障时,控制所述主处理器复位,并将所述故障检测与恢复模块发来的目标状态信息恢复至所述主处理器;
4、所述第二状态读取部件和所述第二恢复部件分别与所述从处理器内的每一个存储部件电连接,所述第二状态读取部件用于在每一个时钟周期读取所述从处理器内所有存储部件的状态信息并发送至所述故障检测与恢复模块,所述第二恢复部件用于在故障时,控制所述从处理器复位,并将所述故障检测与恢复模块发来的目标状态信息恢复至所述从处理器;
5、所述故障检测与恢复模块分别与所述主处理器、所述从处理器、所述输出缓存、所述状态信息缓存电连接,所述故障检测与恢复模块用于每一时钟周期将所述主处理器的输出信息与所述从处理器的输出信息进行比对,且在每一时钟周期将所述主处理器的所述状态信息与所述从处理器的所述状态信息进行比对,当两个比对结果均一致,则确定无故障,将所述输出信息发送至所述输出缓存,并将所述状态信息作为新的目标状态信息替换所述状态信息缓存中的历史目标状态信息;当至少一个比对结果不一致时,将所述状态信息缓存中的所述目标状态信息取出发送至所述第一恢复部件和所述第二恢复部件。
6、第二方面,本发明实施例还提供了一种基于本说明书任一实施例所述系统的故障检测与恢复方法,包括:
7、针对每一个时钟周期,均执行:
8、在主处理器和从处理器接收到相同的输入后,所述主处理器和所述从处理器向故障检测与恢复模块发送输出信息;
9、分别利用第一状态读取部件和第二状态读取部件向所述故障检测与恢复模块发送所述主处理器内所有存储部件的状态信息和所述从处理器内所有存储部件的状态信息;
10、利用所述故障检测与恢复模块将所述主处理器的输出信息和状态信息与所述从处理器的输出信息和状态信息分别进行比对;
11、当输出信息的比对结果和状态信息的比对结果均一致时,将所述状态信息作为新的目标状态信息替换所述状态信息缓存中的历史目标状态信息;
12、当输出信息的比对结果和状态信息的比对结果至少一项不一致时,将所述状态信息缓存中的所述目标状态信息取出发送至第一恢复部件和第二恢复部件,以利用所述第一恢复部件和所述第二恢复部件分别控制所述主处理器和所述从处理器复位,并将目标状态信息恢复至所述主处理器和所述从处理器。
13、本发明实施例提供了一种具有故障检测与恢复功能的双核锁步处理器系统,通过为主处理器和从处理器分别配置硬件的第一状态读取部件和第二状态读取部件,以此来通过硬件的方式读取处理器内所有存储部件的状态信息进行保存,所有存储部件包括软件不可见的内部寄存器、内部ram等存储部件,因此,通过硬件的状态读取部件可以保证在处理器出现故障时,能够快速实现处理器所有部件的状态的完全恢复。而且,通过在主处理器和从处理器中分别设置硬件的第一恢复部件和第二恢复部件,由于置硬件的恢复部件的功能执行不会受限于处理器的软件执行情况,即使处理器出现挂起类故障,处理器内任何软件都无法正常运行,第一恢复部件和第二恢复部件依然可以执行主处理器和从处理器的状态恢复,大大提高故障恢复功能的可靠性。
1.一种具有故障检测与恢复功能的双核锁步处理器系统,其特征在于,包括:主处理器、从处理器、故障检测与恢复模块、输出缓存和状态信息缓存;其中,所述主处理器中设置有第一状态读取部件(1)和第一恢复部件(2),所述从处理器中设置有第二状态读取部件(3)和第二恢复部件(4);
2.根据权利要求1所述的系统,其特征在于,所述存储部件至少包括:通用寄存器、程序指针、控制寄存器、内部ram。
3.根据权利要求1所述的系统,其特征在于,还包括:主设备和调试适配器;
4.根据权利要求3所述的系统,其特征在于,所述主设备还用于在所述第一恢复部件(2)和所述第二恢复部件(4)故障时,通过地面发送遥控指令使所述主处理器和所述从处理器复位和恢复状态。
5.根据权利要求3所述的系统,其特征在于,当所述故障检测与恢复模块确定当前时钟周期无故障时,所述故障检测与恢复模块向所述主设备的中断处理模块和所述输出缓存发出的故障信号无效;当所述故障检测与恢复模块确定当前时钟周期故障时,所述故障检测与恢复模块向所述主设备的中断处理模块和所述输出缓存发出的故障信号有效。
6.根据权利要求5所述的系统,其特征在于,所述故障信号为异步信号,所述输出缓存内含有同步模块,所述同步模块对所述故障信号进行同步处理,当所述故障信号无效时,所述输出缓存正常输出;所述故障信号有效时,所述输出缓存停止输出。
7.根据权利要求1-6中任一项所述的系统,其特征在于,所述主处理器的输出信息、所述存储部件的状态信息,采用信号分组方式连接至所述故障检测与恢复模块。
8.一种基于权利要求1-7中任一项所述系统的故障检测与恢复方法,其特征在于,包括: