logo好方法网

一种全硬件双核锁步处理器容错系统


技术摘要:
本发明属于微处理器领域,提供了一种全硬件双核锁步处理器容错系统,包括主处理器和从处理器,其特征在于,还包括硬件容错模块,所述硬件容错模块包括:故障检测模块、故障恢复模块和故障隔离模块;所述主处理器和从处理器具有相同的输入信号,所述主处理器对外输出信  全部
背景技术:
随着工业4.0时代的到来,工业微控制器在我国工业自动化发展中正扮演着越来 越重要的角色。相比较一般的消费级应用,工业微控制器对可靠性、低成本及实时性上的要 求更高。嵌入式处理器作为工业微控制器的核心,由于工艺节点的降低和低功耗技术的发 展,其可靠性正面临着严峻的挑战。特征尺寸和电压阈值的降低导致半导体集成电路对电 路串扰,大气辐射,封装材料衰变产生的高能粒子,极端温度,电磁干扰等因素也愈加敏感, 因而受到干扰发生故障的可能性也越来越高。这些干扰所导致的故障大多是一些瞬态故 障,是由外界条件干扰导致半导体中随机、临时状态的改变或瞬变,能够通过复位,恢复受 影响器件的功能。然而在处理器运行过程中,任何一比特的错误都可能导致错误结果的输 出或者整个系统的失效,这对工业应用来说,可能造成巨大的财产损失甚至人员伤亡。 目前业界对于商用处理器常用的两种容错方法是三模冗余和基于检查点的双核 锁步容错。前者通过在硬件上采用三个处理器实时对比,然后经多数表决后输出,具有较高 的可靠性和实时性,但所需的面积开销太大。后者在硬件上采用两个处理器实时对比,检测 故障,但故障的恢复通过软件完成,需要间歇性保存处理器正确的状态节点,并在故障发生 时,将处理器还原到上一个节点。这种方式在进行故障恢复时,由于只能恢复对软件可见的 处理器状态,因此可靠性较差,并且在遇到挂起类型错误时,可能会由于软件程序无法响应 而恢复失败。此外,它通常不考虑到处理器内嵌缓存(Cache)的容错,所以虽然基于检查点 的双核锁步容错采用软硬结合的方式节省了面积,但在可靠性、性能、实时性都存在不足。
技术实现要素:
为了解决现有技术中存在的上述技术问题,本发明提供一种全硬件双核锁步处理 器容错系统,其具体技术方案如下。 一种全硬件双核锁步处理器容错系统,包括主处理器和从处理器和硬件容错模 块,所述硬件容错模块包括:故障检测模块、故障恢复模块和故障隔离模块;所述主处理器 和从处理器具有相同的输入信号,所述主处理器对外输出信号,所述从处理器不对外输出 信号。 进一步的,所述故障检测模块通过硬连线将主处理器和从处理器的内部相关信号 拉出并作对比检测,所述相关信号包括主处理器和从处理器中的内部控制状态寄存器的信 号、总线接口的信号以及Cache接口的信号;其中所述内部控制状态寄存器包括:通用寄存 器,程序计数器、状态寄存器、以及处理器内部紧耦合IP的相关控制状态寄存器。 进一步的,所述故障恢复模块进行故障恢复包括以下两个步骤: a.在没有发生故障时,将正确节点上的主处理器和从处理器状态信息保存至回滚缓冲 区;所述正确节点为在发生故障之前,主处理器和从处理器正常运行,没有因瞬时错误发生 4 CN 111581003 A 说 明 书 2/5 页 而导致主处理器和从处理器出现状态不一致时的某个执行点;所述状态信息为主处理器和 从处理器内部的控制状态寄存器值; b.在发生故障后,主处理器和从处理器进行硬件复位,复位完成后,主处理器和从处理 器重新从0地址取指,同时更改指令总线上0地址的内容,并将回滚缓冲区中保存在正确节 点上的状态信息置入主处理器和从处理器,使主处理器和从处理器从上一次保存的正确节 点重新执行指令。 进一步的,所述状态信息置入主处理器和从处理器具体为:在主处理器和从处理 器内部找到相关的控制状态寄存器,并在所述控制状态寄存器的条件赋值中增加待恢复状 态信息这一数据来源,当检测到置位信号这一脉冲信号后,所述控制状态寄存器中的值将 被顺利恢复;所述置位信号为主处理器和从处理器硬件复位完成的脉冲信号。 进一步的,所述故障隔离模块用于阻止主处理器和从处理器的错误写操作以及对 外部状态进行回滚操作。 进一步的,所述外部状态包括外部的存储器状态、外围接口或系统IP状态、主处理 器和从处理器内部的缓存的状态。 进一步的,所述存储器挂载在主处理器和从处理器的数据总线上,通过建立写操 作缓冲区完成存储器的故障隔离,所述写操作缓冲区包括写地址缓冲区、写数据缓冲区、PC 缓冲区和故障PC缓冲区,每个由3个寄存器组成;所述写地址缓冲区保存的是每次写操作对 应的写地址,所述写数据缓冲区保存的是每次写操作对应的写数据,所述PC缓冲区保存的 是每次写操作对应的当前退休指令的PC,所述故障PC缓冲区保存的是发生故障后至主处理 器和从处理器被复位这段时间内执行过的指令的PC。 进一步的,所述主处理器和从处理器对存储器的每次写操作都将被暂时存放到写 操作缓冲区中;当存满三个写操作后,主处理器和从处理器再次发起写操作时,将写操作缓 冲区中第一次存入的写地址非0的写操作发出,以此类推;当主处理器和从处理器需要从存 储器中读取数据时,将此时的读地址与写操作缓冲区中的地址匹配,若地址匹配一致且地 址非0,则将写操作缓冲区中保存的数据返回给主处理器和从处理器;当发生故障需进行状 态回滚时,写操作缓冲区将对应PC与当前故障PC缓冲区中的PC值相同的写操作无效,即将 写操作缓冲区中对应的写操作地址置为0;当除主处理器和从处理器以外的主机需要访问 存储器时,软件上保证被主处理器和从处理器向存储器的无用地址进行三次写操作,使当 前写操作缓冲区中保留的写操作更新到存储器中。 进一步的,所述外围接口以及系统IP挂载在主处理器和从处理器的系统总线上, 对主处理器和从处理器的写操作进行三个周期的延迟,读操作时序不变。 进一步的,所述主处理器和从处理器内部的缓存为:在写通工作模式下,发生故障 时,则在故障恢复期间将以下8个缓存行无效: 当缓存中没有读数据错误时,将主处理器缓存最后4个写操作地址,从处理器缓存最后 4个写操作地址作为需要无效的缓存行地址; 当缓存中出现读出数据错误时,将读出数据错误的1个地址,主处理器缓存最后3个写 操作地址,从处理器缓存最后4个写操作地址作为需要无效的缓存行地址。 有益效果: 本发明的一种全硬件双核锁步处理器容错系统能够实现快速检测故障发生,加快故障 5 CN 111581003 A 说 明 书 3/5 页 恢复速度,故障隔离时不影响系统性能,在保证处理器容错优良可靠性与实时性的同时,降 低容错带来的面积成本。 附图说明 图1是本发明的双核处理器容错结构框图; 图2是本发明的故障检测模块框图; 图3是本发明的正确节点状态的保存示意图; 图4是本发明的状态信息重置电路结构图; 图5是本发明的写操作缓冲区结构图; 图6是本发明的复位期间对缓存的无效操作时序图。
分享到:
收藏