本发明涉及处理器容错设计,具体涉及一种多核锁步处理器多级快速错误恢复系统。
背景技术:
1、在制造工艺带来的器件特征尺寸减小、低功耗技术发展带来的阈值电压降低、制造工艺偏差、环境辐射和使用过程中参数退化等多种因素下,处理器对于串扰、电压扰动、电磁干扰以及辐射等各种噪声干扰变得更加敏感。这些现象可能引发处理器错误的操作,使得整个芯片的故障率增加。相关处理器芯片需要具备检错及恢复能力,以减轻软错误对系统的影响,因此设计高可靠容错处理器芯片是特殊领域专用处理系统的必然选择。
2、目前常用的处理器容错方法之一为将处理器组成冗余锁步结构,并通过内部纠检错硬件实现故障检错、定位、屏蔽和隔离。在硬件上采用多个处理器输出结果周期级的实时对比,通过多数表决器将正确结果输出,间歇性的保存正确的状态,若检测出错误就启动回卷,使得可靠性和实时性有一定的保障。但是这些容错方式及容错粒度较为单一,一旦出现错误就回卷到上一检查点,灵活性、实时性差和性能损失大;且无法处理多种错误持续出现或更加严重的情况,故可靠性、性实时和性能都存在不足。
技术实现思路
1、为了解决现有技术中存在的问题,本发明提供一种多核锁步处理器多级快速错误恢复系统,其目的在于,通过多级检错及错误恢复的方式达到在系统出现错误的时能够实现快速检错并将系统恢复到正确的状态,在达到快速检错和恢复的同时尽可能的减小性能的损失。本发明具体通过以下技术方案实现:
2、提供一种多核锁步处理器多级快速错误恢复系统,包括:锁步处理器组、流水线寄存器检错与pc控制模块、处理器组检错与回卷模块、多级容忍控制模块;
3、所述流水线寄存器检错与pc控制模块包括流水线寄存器检错模块和pc回卷控制模块;其中,所述流水线寄存器检错模块通过校验各处理器核的每级流水线寄存器值并进行判决,若判决出结果不一致,则对该级和其前级所有的流水线寄存器进行暂停操作,并将出错的流水线寄存器标号传给pc回卷控制模块;所述pc回卷控制模块用于存储每次处理器向指令存储器发送的pc指针,且当接收到错误指示及对应出错的流水线寄存器标号时,能够通过接收到的所述寄存器标号将对应的pc指针进行选择并输出;
4、所述处理器组检错与回卷模块将处理器组的输出作为输入,若所有处理器的输出均匹配,则将结果输出,并间歇性存储处理器寄存器文件于检查点;若多数处理器的输出匹配时,则将正确结果输出,并将出错的处理器核心编号上报回卷模块;回卷模块将状态正确的处理器寄存器状态取出并写回于出错的处理器,完成恢复操作;若所有处理器的输出均不匹配,则不输出处理器的结果,并将错误上报回卷模块,回卷模块将最近检查点的状态全部写回所有处理器,完成回卷操作;
5、若流水线寄存器检错模块出现频繁错误且超过了所述多级容忍控制模块可容忍的限度,则所述多级容忍控制模块控制所述寄存器检错模块停止检错,这时锁步处理器组输出错误数据或指令,若所述处理器组检错与回卷模块检测出某一处理器频繁的出现错误,且超过了所述多级容忍控制模块可容忍的限度,则所述多级容忍控制模块控制所述回卷模块将检查点的数据写入所有处理器,完成回卷;若频繁的出现通过检查点回卷的现象,且超过了所述多级容忍控制模块可容忍的限度,则所述多级容忍控制模块将发送复位信号对除所述多级容忍控制模块之外的整个系统进行复位,将系统恢复初始态;若频繁的出现复位现象,且超过了所述多级容忍控制模块可容忍的限度,则所述多级容忍控制模块将错误上报片外,报告该处理器系统已经失效,且将锁步系统永久复位。
6、作为本发明的进一步说明,所述锁步处理器组为将多级流水线处理器同等的复制多份形成的锁步结构,其中一个为主处理器核,其他为校验核。
7、作为本发明的进一步说明,所有处理器核均有相同的指令和数据输入,且被要求严格执行相同的程序。
8、作为本发明的进一步说明,所述流水线寄存器检错模块包括按位表决检错模块和仲裁器;
9、各处理器的各级流水线寄存器值输入至所述按位表决检错模块进行表决,当表决结果出现错误时,将进入流水线暂停模式,对该级及其前级寄存器进行暂停,后级流水线寄存器正常运行;错误结果输入至所述仲裁器,所述仲裁器将出错的流水线寄存器标号输出至pc回卷控制模块,若出现多个流水线寄存器都出现错误,所述仲裁器输出最后一级出错的流水线寄存器标号。
10、作为本发明的进一步说明,所述pc回卷控制模块有两处数据信号输入,其中一处输入为新pc指针,在接收新pc指针时,会将所述新pc指针存入位移寄存器中,其他已存储的pc指针将会被位移至下一级,最后一级的pc指针将被推出舍弃。
11、作为本发明的进一步说明,所述pc回卷控制模块内设置多路选择器,当所述pc回卷控制模块接收到错误寄存器标号,所述多路选择器通过接收到的寄存器标号将对应的pc指针进行选择并输出。
12、所述恢复系统还设置有双路选择器,所述双路选择器用于选择pc级输出的指针或选择pc回卷控制模块的指针作为pc指针。
13、作为本发明的进一步说明,所述处理器组检错与回卷模块内设置按位判决器,所述按位判决器用于对处理器组的输出进行分组逐次对照比较判决,判断所有处理器的输出是否匹配,且将判决结果输出到所述回卷模块和所述多级容忍控制模块。
14、与现有技术相比,本发明具有以下有益的技术效果:
15、1、通过多级容错机制,可实现多冗余更可靠的检错与恢复功能,从而使得错误无法传播到多核锁步处理器系统外,增加系统的稳定性和可靠性。多级容错机制从多种粒度、不同层次的对多核锁步处理器进行容错及管理,细粒度的容错机制有效的降低回卷所带来的处理器停顿性能开销,粗粒度的容错机制能够避免细粒度容错机制下无法检测的错误从处理器传播蔓延至系统外,增加系统可靠性。
16、2、对错误进行多级容忍控制处理,当某一级的错误反复发生,超过所容忍的次数,容忍控制模块将暂时暂停该级的检错功能,将错误输出到下一级。这将有效解决处理器反复对某一特定无法解决的错误进行检错与恢复的问题,避免处理器性能大幅下降或进入死循环式回卷。
17、本技术方案的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本技术方案而了解。本技术方案的目的和其他优点可通过在所写的说明书以及附图中所特别指出的结构来实现和获得。
18、下面通过附图和实施例,对本技术方案的技术方案做进一步的详细描述。
1.一种多核锁步处理器多级快速错误恢复系统,其特征在于,包括:锁步处理器组、流水线寄存器检错与pc控制模块、处理器组检错与回卷模块、多级容忍控制模块;
2.如权利要求1所述的多核锁步处理器多级快速错误恢复系统,其特征在于,所述锁步处理器组为将多级流水线处理器同等的复制多份形成的锁步结构,其中一个为主处理器核,其他为校验核。
3.如权利要求2所述的多核锁步处理器多级快速错误恢复系统,其特征在于,所有处理器核均有相同的指令和数据输入,且被要求严格执行相同的程序。
4.如权利要求1所述的多核锁步处理器多级快速错误恢复系统,其特征在于,所述流水线寄存器检错模块包括按位表决检错模块和仲裁器;
5.如权利要求1所述的多核锁步处理器多级快速错误恢复系统,其特征在于,所述pc回卷控制模块有两处数据信号输入,其中一处输入为新pc指针,在接收新pc指针时,会将所述新pc指针存入位移寄存器中,其他已存储的pc指针将会被位移至下一级,最后一级的pc指针将被推出舍弃。
6.如权利要求1所述的多核锁步处理器多级快速错误恢复系统,其特征在于,所述pc回卷控制模块内设置多路选择器,当所述pc回卷控制模块接收到错误寄存器标号,所述多路选择器通过接收到的寄存器标号将对应的pc指针进行选择并输出。
7.如权利要求1所述的多核锁步处理器多级快速错误恢复系统,其特征在于,所述恢复系统还设置有双路选择器,所述双路选择器用于选择pc级输出的指针或选择pc回卷控制模块的指针作为pc指针。
8.如权利要求1所述的多核锁步处理器多级快速错误恢复系统,其特征在于,所述处理器组检错与回卷模块内设置按位判决器,所述按位判决器用于对处理器组的输出进行分组逐次对照比较判决,判断所有处理器的输出是否匹配,且将判决结果输出到所述回卷模块和所述多级容忍控制模块。
