CN111104243B - 一种低延迟的双模lockstep容软错误处理器系统 - Google Patents

一种低延迟的双模lockstep容软错误处理器系统 Download PDF

Info

Publication number
CN111104243B
CN111104243B CN201911362162.9A CN201911362162A CN111104243B CN 111104243 B CN111104243 B CN 111104243B CN 201911362162 A CN201911362162 A CN 201911362162A CN 111104243 B CN111104243 B CN 111104243B
Authority
CN
China
Prior art keywords
interval
soft error
seiht
flag
bit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201911362162.9A
Other languages
English (en)
Other versions
CN111104243A (zh
Inventor
虞致国
常龙鑫
顾晓峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jiangnan University
Original Assignee
Jiangnan University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Jiangnan University filed Critical Jiangnan University
Priority to CN201911362162.9A priority Critical patent/CN111104243B/zh
Publication of CN111104243A publication Critical patent/CN111104243A/zh
Application granted granted Critical
Publication of CN111104243B publication Critical patent/CN111104243B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions

Abstract

本发明公开了一种低延迟的双模lockstep容软错误处理器系统,属于处理器容错技术领域。所述系统通过双模lockstep架构实现了对处理器系统中软错误的检测;通过采用普适检查点和回滚恢复算法,所述系统能够应对多种发生软错误的情形,提高了故障恢复方法的普适性;所述系统采用了自适应动态检查点方法,以软错误间隔历史表SEIHT和模式历史表PHT对下一个软错误间隔进行预测,根据预测结果增大或减小检查点的设置频率,该方法同时考虑了软错误历史的长期特征和短期特征,有效地降低了处理器任务的平均执行时间,解决了目前面向处理器的双模lockstep容错技术引入较大的延迟时间的问题。

Description

一种低延迟的双模lockstep容软错误处理器系统
技术领域
本发明涉及一种低延迟的双模lockstep容软错误处理器系统,属于处理器容错技术领域。
背景技术
面向处理器的双模锁步(lockstep)技术是一种微体系结构级的软错误检测技术,该技术可以与故障恢复技术结合,从而实现容软错误处理器系统,能够有效地提高处理器的可靠性。
相比于工艺、器件、软件等其他层次的容错技术,微体系结构级的容错技术具有无需关注底层设计、通用性强、易于实现等特点,广泛应用于航空航天等安全关键领域。相较于传统的多模冗余技术,基于双处理器锁步的双模容错架构能够以更低的硬件开销,为处理器提供容软错误能力,而且能够与高效、可行的故障恢复技术如检查点和回滚恢复技术等较好地结合,灵活性和可恢复性较好。
现有的双模lockstep容软错误处理器系统一般只考虑在正常执行过程中发生的软错误,没有考虑在建立检查点、故障恢复过程中发生的软错误。此外,现有的面向处理器的双模lockstep容错技术,一般采用固定间隔的检查点算法,或者采用基于软错误率的动态检查点算法,这些算法对软错误分布预测的准确度较低,而且在软错误分布情况未知、复杂的情况下,这些方案将会为处理器系统引入较大的延迟时间。
发明内容
为了解决目前面向处理器的双模lockstep容错技术引入的延迟时间较大的问题,本发明提供了一种低延迟的双模lockstep容软错误处理器系统,所述系统包括硬件部分和软件部分,所述硬件部分包括存储器、双模lockstep处理器、DMA、总线监测器、同步控制器、信号比对器和中断控制器,所述双模lockstep处理器包括两个相同的处理器CPU0和CPU1,且所述处理器CPU0和CPU1的指令级并行;所述软件部分控制信号比对器对两个处理器CPU0和CPU1进行位级比对,以实现对软错误的检测;
所述软件部分在实现对软错误的检测时,以软错误间隔历史表SEIHT和模式历史表PHT对下一个软错误间隔进行预测,根据预测的软错误间隔与设定的阈值T进行比较,根据比较结果决定是否调整检查点的设置频率,从而对检查点的设置间隔进行调整。可选的,总线监测器接受来自两个处理器CPU0和CPU1的总线控制信号,对两个处理器CPU0和CPU1总线的操作类型进行监测,如果CPU0或CPU1监测到总线发出存储器写入请求,则分别将总线监测器的CPU0_MWR或CPU1_MWR输出信号置为有效;
同步控制器接受来自总线监测器的存储器写入请求信号CPU0_MWR、CPU1_MWR,输出握手结果信号HS_R和用于触发回滚恢复操作的中断请求信号RB_IR1;若两个信号CPU0_MWR、CPU1_MWR同时有效,则将握手结果信号HS_R置为有效,认为握手成功;
同步控制器包含有计数器1,在握手操作开始时,中断控制器复位并启动计数器1,对握手过程中程序的运行周期进行计数,称为计数1,用于检测同步控制器是否发生了握手超时,当计数1达到设定的Ttimeout后,将计数器1的满标志信号FULL_1置为有效,该信号用于指示是否发生了握手;Ttimeout可以根据容错系统的故障特性设置;
如果在FULL_1信号有效时,CPU0_MWR和CPU1_MWR信号不同时有效,则认为同步操作超时,将同步控制器的握手结果信号HS_R置为无效,并产生用于触发回滚恢复操作的中断请求信号RB_IR0;
信号比对器接受来自同步控制器的握手结果信号HS_R以及来自两个CPU的输出总线信号,输出匹配结果信号MATCH_R,若握手结果信号HS_R为有效状态,则对两组总线信号进行位级比对、一致性检查,若完全匹配,则将匹配结果信号MATCH_R置为有效,否则将匹配结果信号MATCH_R置为无效;
中断控制器接受来自同步控制器的握手结果信号HS_R、来自信号比对器的匹配结果信号MATCH_R、分别来自两个处理器CPU0和CPU1的针对检查点操作请求作出的中断确认信号CP_IR_A0、CP_IR_A1、分别来自两个处理器CPU0和CPU1的针对回滚恢复操作请求作出的中断确认信号RB_IR_A0和RB_IR_A1;
中断控制器含有计数器0;
所述处理器CPU0和CPU1进入正常执行任务的状态后,中断控制器复位并启动计数器0,对程序的运行周期进行计数,该计数被称为计数0,计数0达到设定的Tc后,将计数器0的满标志信号FULL_0置为有效,该信号用于指示是否达到了检查点的设置间隔;Tc将由动态检查点模块确定;
当HS_R、FULL_0、MATCH_R信号同时有效,中断控制器将触发检查点操作的中断请求信号CP_IR置为有效,向两个处理器CPU0和CPU1发出检查点操作请求;
若HS_R、FULL_0信号有效而MATCH_R信号无效,则认为发生了软错误,将用于触发回滚恢复操作的中断请求信号RB_IR1置为有效,向两个CPU发出回滚恢复操作请求;在CPU0和CPU1对CP_IR的中断确认信号CP_IR_A0和CP_IR_A1同时有效时,中断控制器复位、禁用计数器0;
触发检查点操作的中断请求信号CP_IR有效时,若CPU向中断控制器发出的相应中断确认信号有效,则CPU将执行检查点操作相关的中断服务程序,该中断服务程序负责设置检查点;RB_IR0或RB_IR1信号有效时,若CPU向中断控制器发出的相应中断确认信号有效,则CPU将执行回滚恢复操作相关的中断服务程序。
可选的,所述存储器中设置有安全存储器,并将安全存储器分为N个存储区间、共能存储N个检查点,建立在各个存储区间上的检查点分别记为:C0、C1、C2、C3…CN-1,为每个检查点设置状态位valid,以指示该检查点的建立是否完成、所记录的数据是否完整可用,并记录每个检查点设置的时间信息,设置回滚计数IRC,用于记录连续执行回滚恢复操作的次数,其中,i表示检查点的编号,0≤i≤N-1,对应地,Ci表示编号为i的检查点,Ivmin表示其valid位为1的最早的检查点的编号,Ivmax表示其valid位为1的最晚的检查点的编号,Ic表示即将重新建立检查点的存储区间的编号;
所述双模lockstep处理器执行下述步骤:
步骤1:处理器系统正常执行任务,并检测是否达到设置检查点的条件,由故障检测检测模块检测是否发生故障;
所述设置检查点的条件为:处理器系统正常执行任务的时间大于等于设定的检查点间隔时间并到达指令周期结束的时刻;
当处理器系统检测到到达设置检查点的条件时,执行步骤2,当故障检测模块检测到处理器系统中发生了故障,执行步骤5;
步骤2:处理器系统进入检查点异常服务程序,判断安全存储器中是否存在valid=0的检查点,如果存在,执行步骤31,否则执行步骤32;
步骤31:安全存储器中的存储空间未记录满,将其valid位为0的任一检查点的编号赋值给Ic,执行步骤4;
步骤32:将其valid位为1的最早的检查点的编号记为Ivmin赋值给Ic,将
Figure BDA0002337457130000031
赋值为0,执行步骤4;
步骤4:在编号为Ic的检查点上重新建立检查点,处理器系统通过DMA将处理器中需要保存的寄存器以及主存中的有效数据复制到
Figure BDA0002337457130000032
所在的存储区域中,将
Figure BDA0002337457130000033
赋值为1,并记录该检查点的时间信息,将IRC赋值为0,检查点异常服务程序结束,执行步骤1;
步骤5:处理器系统进入回滚恢复异常服务程序,将其valid位为1的最晚的检查点的编号记为Ivmax,若Ivmax-IRC≤0,则执行步骤6,若Ivmax-IRC>0,则令IRC的数值加1并执行步骤7;步骤6:没有可用的检查点,无法从现有检查点恢复任务,则重新执行整个任务,并执行步骤1;
步骤7:使用编号为Ivmax-TRC的检查点进行回滚恢复,通过DMA,使用保存在
Figure BDA0002337457130000041
中的处理器寄存器数据覆盖当前的处理器寄存器,使用其中的主存有效数据覆盖当前的主存数据,并对两个处理器中所有的cache执行invalidate操作,执行步骤8;其中,invalidate操作适用于采用写入策略的cache;
步骤8:使用自适应动态检查点算法,对检查点间隔进行调整,调整算法结束后,执行步骤1。
可选的,步骤8中执行的自适应动态检查点算法包括下述步骤:
步骤一:将软错误发生次数N的值加1,记录检测到软错误时处理器的周期计数器指示的时刻,执行步骤二;
步骤二:判断本次记录是否是第一条记录,结果为否,执行步骤三;结果为是,执行步骤四;
步骤三:将上一次记录的时刻记为t0,将本次记录的时刻记为t1,将Δt=t1-t0作为上一次软错误到本次软错误的时间间隔,并将系统中最近一个软错误发生的时刻Tfinal赋值为t1,执行步骤五;
步骤四:将本次记录的时刻记为t0,并将系统中第一个软错误发生的时刻Tstart以及SEIHT所记录的最早的软错误发生时刻Tstart′均赋值为t0,算法结束;
步骤五:判断软错误间隔历史表SEIHT是否已满,结果为是,执行步骤六;结果为否,执行步骤七;
步骤六:将SEIHT中的软错误间隔标志FLAG的最高位SEIHT.FLAG.HSB的时间戳赋值给Tstart′,之后该时间戳所在的存储空间允许被覆盖、允许用于记录新的软错误发生时刻,计算软错误间隔阈值
Figure BDA0002337457130000042
T代表的是SEIHT中记录的k个软错误间隔的平均软错误间隔,执行步骤七;
步骤七:将步骤三中计算的Δt与软错误间隔阈值T进行比较,并根据比较结果对SEIHT的软错误间隔标志SEIHT.FLAG及对应的时间戳SEIHT.TIMESTAMP进行更新:
若Δt≥T,认为该间隔为“长间隔”,将SEIHT.FLAG左移一位,同时将1写入SEIHT中的软错误间隔标志FLAG的最低位SEIHT.FLAG.LSB,将该FLAG位对应的XLen位的时间戳TIMESTAMP赋值为t0
若Δt<T,认为该间隔为“短间隔”,将SEIHT.FLAG左移一位,同时将0写入SEIHT中软错误间隔标志FLAG的最低位SEIHT.FLAG.LSB,将该FLAG位对应的XLen位的时间戳TIMESTAMP赋值为t0
执行步骤八;
步骤八:对软错误发生间隔进行预测,首先判断本次预测是否是第一次进行预测,结果为否,执行步骤九;结果为是,执行步骤十;
步骤九:根据SEIHT.FLAG.LSB和两位饱和计数器的状态转换图对上一次预测所用的模式历史表PHT项进行更新,执行步骤十;
步骤十:以k位SEIHT.FLAG的值作为索引,查询具有2k个表项的PHT,执行步骤十一;
步骤十一:根据步骤九查询到的两位饱和计数器的值预测软错误的发生间隔,如果计数器的值为“00”或“01”,预测下一个软错误间隔是“短间隔”,将检查点的设置间隔Tc赋值为较短间隔Ts
如果计数器的值为“10”或“11”,预测下一个软错误间隔是“长间隔”,将检查点的设置间隔Tc赋值为较长间隔Tl,自适应动态检查点算法结束。
可选的,若最开始的回滚恢复使用的Ci检查点为第二个及之后的检查点,即2≤i≤N-1,且在此故障恢复过程中又一次发生了故障,则使用Ci-1检查点执行第二次回滚恢复,在第二次回滚恢复中若再一次发生故障,则使用Ci-2检查点执行第三次回滚恢复。
可选的,较短间隔
Figure BDA0002337457130000051
其中C表示建立检查点的时间开销,ρ表示从系统启动到最近一次发生软错误期间的软错误发生率,
Figure BDA0002337457130000052
其中,Tstart代表的是系统中第一次发生软错误的时刻;较长间隔Tl=2Ts
可选的,所述软错误间隔历史表SEIHT具有k项,每一项都由两部分组成:1位的软错误间隔标志以及与之对应的XLen位时间戳,软错误间隔标志用于指示软错误间隔是否大于阈值T,软错误标志SEIHT.FLAG为k位的移位寄存器,其中SEIHT.FLAG用于表示k项中所有1位软错误间隔标志FLAG的集合,时间戳表示的是对应于软错误间隔标志的、最近的一次软错误发生的时刻,XLen是处理器记录运行周期的计时器的宽度。
可选的,所述模式历史表PHT为SEIHT.FLAG所有的模式创建了一个两位饱和计数器,所述SEIHT.FLAG共有2k种模式,用“00”表示“强短间隔”、“01”表示“弱短间隔”、“10”表示“弱长间隔”、“11”表示“强长间隔”。
可选的,所述软错误间隔标志用于指示软错误间隔是否大于阈值T,包括:
如果大于等于,将SEIHT.FLAG左移一位,同时将1写入SEIHT.FLAG.LSB,表示此间隔为“长间隔”;
如果小于,将SEIHT.FLAG左移一位,同时将0写入SEIHT.FLAG.LSB,表示此间隔为“短间隔”。
可选的,所述动态检查点算法中,如果SEIHT.FLAG的最低位为1,则存在两种情况:如果当前状态不为“11”,则饱和计数器的状态向“10”、“11”的方向转换;如果当前状态是“11”,则状态不变。
可选的,所述动态检查点算法中,如果SEIHT.FLAG的最低位为0,则存在两种情况:如果当前状态不为“00”,则饱和计数器的状态向“01”、“00”的方向转换;如果当前状态是“00”,则状态不变。
可选的,所述处理器系统根据SEIHT和PHT动态地预测下一个软错误间隔,包括:
以SEIHT.FLAG的模式作为索引,查询PHT中对应的二位计数器的状态值,如果状态值为“00”、“01”,则预测下一个软错误间隔为短间隔;
如果状态值为“10”、“11”,则预测下一个软错误间隔为长间隔;
检查点间隔的调整方法为:如果预测下一个软错误间隔为短间隔,则将检查点的设置间隔Tc赋值为Ts;反之,则将检查点的设置间隔Tc赋值为Tl
本发明有益效果是:
本发明提供了一种低延迟的双模lockstep容软错误处理器系统,通过采用普适检查点和回滚恢复技术,使系统能够应对在正常执行、建立检查点、故障恢复过程中发生的软错误,提高了基于lockstep的容错系统的普适性;通过采用动态检查点技术,降低了检查点引入的时间开销,并使系统能够应对软错误分布复杂、未知的情况;
1)本发明系统采用的普适检查点和回滚恢复方法,通过增设的valid状态位,确保了不会使用不完整的检查点进行故障恢复,连续多次执行回滚恢复操作时,切换用于故障恢复的检查点,避免了与当前检查点本身相关的故障,比如发生多点故障等,综上所述,该方法使得本系统能够应对在正常执行、建立检查点、回滚恢复过程中发生的故障,提高了普适性。
2)本发明系统采用动态检查点方法使用基于软错误间隔历史表和模式历史表的自适应预测结构,能够同时考虑软错误分布历史的长期特征和短期特征,能够对软错误分布作出更为准确的预测,从而有效地降低检查点技术带来的时间开销,该预测结构能够快速学会预测任意的重复模式,能够应对软错误分布未知的情况。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是lockstep容错处理器系统的硬件架构图。
图2是普适检查点和回滚恢复的算法流程图。
图3是连续回滚恢复情况下的程序执行流程。
图4是本发明中自适应动态检查点方法的硬件架构图。
图5是本发明中lockstep检错算法的流程图。
图6是总线监测器的功能框图。
图7是同步控制器的功能框图。
图8是信号比对器的功能框图。
图9是中断控制器的功能框图。
图10是检查点操作的数据流向图。
图11是回滚恢复操作的数据流向图。
图12是本发明中自适应动态检查点算法的流程图。
图13是本发明中SEIHT更新过程的示意图。
图14是本发明中PHT包含的两位饱和计数器的状态转换图。
图15是本发明中软错误间隔预测和检查点间隔调整的流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
首先对本申请提及的术语名词作介绍如下:
CPU0_MWR(CPU0 Memory Write Request):来自CPU0的存储器写入请求信号。
CPU1_MWR(CPU1 Memory Write Request):来自CPU1的存储器写入请求信号。
HS_R(Handshake Result):握手结果信号。
FULL_0:计数器0的满标志信号,即计数器0达到预设的值。
FULL_1:计数器1的满标志信号,即计数器1达到预设的值。
计数器0的作用:判断是否达到了检查点的设置间隔(来自动态检查点模块)。
计数器1的作用:对握手过程中程序的运行周期进行计数,以判断是否发生了握手超时。
TC:计数0满标志的阈值,判断是否达到了检查点的设置间隔。
Ttimeout:计数1满标志的阈值,判断是否发生了握手超时。
RB_IR0(Rollback Interrupt Request):在同步操作超时的情况下,用于触发回滚恢复操作的中断请求信号。
RB_IR1(Rollback Interrupt Request):在发现软错误之后,用于触发回滚恢复操作的中断请求信号。
MATCH_R(Match Result):匹配结果信号。
CP_IR_A0(Checkpoint Interrupt Request Acknowlege):CPU0关于检查点操作中断请求信号的确认信号。
CP_IR_A1(Checkpoint Interrupt Request Acknowlege):CPU1关于检查点操作中断请求信号的确认信号。
RB_IR_A0(Rollback Interrupt Request Acknowlege):CPU0关于回滚恢复操作中断请求信号的确认信号。
RB_IR_A1(Rollback Interrupt Request Acknowlege):CPU1关于回滚恢复操作中断请求信号的确认信号。
实施例一:
本实施例提供一种低延迟的双模lockstep容软错误处理器系统,其硬件架构图参见图1,所述系统包括:存储器、两个相同的处理器CPU0和CPU1、DMA、总线监测器、同步控制器、信号比对器和中断控制器;所述系统实现双处理器的指令级并行,对两个处理器CPU0和CPU1进行位级比对,以实现软错误检测。
该低延迟的双模lockstep容软错误处理器系统具有三个子功能:
1、软错误检测功能:通过总线控制器和同步控制器,使处理器CPU0和CPU1实现指令级并行,再通过信号比对器对两个处理器CPU0和CPU1进行位级比对,实现对lockstep处理器系统的软错误检测;
2、普适检查点和回滚恢复:普适检查点和回滚恢复方法能够周期性地为系统建立检查点、备份有效数据,在软错误发生之后能够将系统回滚到正确的状态上,该方法为系统提供故障恢复能力;
3、动态检查点间隔设置:动态检查点方法能够根据软错误间隔历史表SEIHT和模式历史表PHT对下一个软错误间隔进行预测,并根据预测结果决定增大或减小检查点的设置间隔,从而实现对检查点设置间隔的动态调整、降低因建立检查点引入的延迟。
所述系统采用检查点和回滚恢复的方法为双模lockstep处理器系统提供故障恢复能力,其中,普适检查点和回滚恢复的算法流程图如图2所示,该方法通过增设的valid状态位,确保了不会使用不完整的检查点进行故障恢复;另外,连续多次执行回滚恢复操作时,切换用于故障恢复的检查点,避免了与当前检查点本身相关的故障,比如发生多点故障等,连续回滚恢复情况下的程序执行流程如图3所示。
所述系统采用了一种检查点间隔的动态设置方法,能够对检查点周期进行适应性地调整,自适应动态检查点的硬件架构图如图4所示。自适应动态检查点设置方法以软错误间隔历史表SEIHT和模式历史表PHT对下一个软错误间隔进行预测,根据预测的软错误间隔与设定的阈值T进行比较,根据比较结果决定是否调整检查点的设置频率,从而对检查点的设置间隔进行调整。这种检查点间隔的动态设置方法在预测软错误间隔较小的情况下,适应性地减小检查点的设置间隔,在预测软错误间隔较大的情况下,适应性地增大检查点的设置间隔,降低了处理器任务的平均执行时间,提高了双模lockstep容软错误处理器系统的响应速度,解决了目前面向处理器的双模lockstep容错技术引入较大的延迟时间的问题。
图5是使用双模lockstep架构进行软错误检测的算法步骤图,该软错误检测模块主要的实施方法是:
两个相同的处理器(CPU0、CPU1)同一时刻重启、执行相同的程序、接受相同的输入,结合在一定条件下进行的握手操作,实现指令级同步;仅允许两个处理器中的其中一个处理器输出结果;总线监测器负责对两个CPU的总线进行监测,以识别总线的存储器访问请求;同步控制器对两个处理器的总线信号进行同步,以保证两个处理器的指令执行状态的同步;信号比对器对指令级同步的两个处理器的总线信号进行按位比较逻辑操作,以检测处理器中的软错误;中断控制器负责在一定条件下,向处理器发出检查点操作或回滚恢复操作的中断请求信号;如果达到设置检查点的条件,则执行检查点操作;如果握手失败或按位比较逻辑操作结果是不匹配,则将执行回滚恢复操作,并对检查点间隔进行适应性的调整。
总线监测器的功能框图如图6所示,总线监测器接受来自两个CPU的总线控制信号,输出存储器写入信号CPU0_MWR、CPU1_MWR。总线监测器通过来自两个CPU的总线控制信号,对两个CPU总线的操作类型进行监测,如果CPU0或CPU1监测到总线发出存储器写入请求,则分别将总线监测器的CPU0_MWR或CPU1_MWR输出信号置为有效。
同步控制器的功能框图如图7所示,同步控制器接受来自总线监测器的存储器写入请求信号CPU0_MWR、CPU1_MWR,输出握手结果信号HS_R和回滚恢复操作的中断请求信号RB_IR1。同步控制器含有一个计数器,称为计数器1,在握手操作开始时,中断控制器复位并启动计数器1,对握手过程中程序的运行周期进行计数,该计数被称为计数1,用于检测同步控制器是否发生了握手超时,当计数1达到设定的Ttout后,将计数器1的满标志信号FULL_1置为有效,该信号用于指示是否发生了握手;Ttout可以根据容错系统的故障特性设置;;同步控制器接受两个处理的存储器写入请求信号CPU0_MWR和CPU1_MWR,若两个信号同时有效,则将握手结果信号HS_R置为有效,认为握手成功,并通过信号比对器进行一致性检查;如果在FULL_1信号有效时,CPU0_MWR和CPU1_MWR信号不同时有效,则认为同步操作超时,将同步控制器的握手结果信号HS_R置为无效,并产生用于触发回滚恢复操作的中断请求信号RB_IR0;在握手成功后以及同步操作超时后,同步控制器均会复位计数器1,并禁用其计数功能。
信号比对器的功能框图如图8所示,信号比对器接受来自同步控制器的握手结果信号HS_R以及来自两个CPU的输出总线信号,输出匹配结果信号MATCH_R。若握手结果信号HS_R为有效状态,则对两组总线信号进行位级比对、一致性检查,若完全匹配,则将匹配结果信号MATCH_R置为有效,否则将匹配结果信号MATCH_R置为无效。
中断控制器的功能框图如图9所示,中断控制器接受来自同步控制器的握手结果信号HS_R、来自信号比对器的匹配结果信号MATCH_R、分别来自两个处理器CPU0和CPU1的分别针对检查点操作请求作出的中断确认信号CP_IR_A0、CP_IR_A1、分别来自两个处理器CPU0和CPU1的分别针对回滚恢复操作请求作出的中断确认信号RB_IR_A0和RB_IR_A1,中断控制器含有一个计数器,称为计数器0。所述处理器CPU0和CPU1进入正常执行任务的状态后,中断控制器复位并启动计数器0,对程序的运行周期进行计数,该计数被称为计数0,计数0达到设定的Tc后,将计数器0的满标志信号FULL_0置为有效,该信号用于指示是否达到了检查点的设置间隔;Tc将由动态检查点模块确定;;一旦HS_R、FULL_0、MATCH_R信号同时有效,中断控制器将触发检查点操作的中断请求信号CP_IR置为有效,向两个CPU发出检查点操作请求;若HS_R、FULL_0信号有效而MATCH_R信号无效,则认为发生了软错误,将用于触发回滚恢复操作的中断请求信号RB_IR1置为有效,向两个CPU发出回滚恢复操作请求;在CPU0和CPU1对CP_IR的中断确认信号CP_IR_A0和CP_IR_A1同时有效时,中断控制器复位、禁用计数器0。
CP_IR信号有效时,若CPU向中断控制器发出的相应中断确认信号有效,则CPU将执行检查点操作相关的中断服务程序,该中断服务程序负责设置检查点;RB_IR0或RB_IR1信号有效时,若CPU向中断控制器发出的相应中断确认信号有效,则CPU将执行回滚恢复操作相关的中断服务程序。
本实施方法使用安全存储器存储检查点,安全存储器是被ECC(Error CorrectingCode)等容软错误技术保护的存储器,安全存储器可以是主存储区的一部分,也可以独立于主存储器,该存储器能够极大程度地抵抗软错误并保证所存储数据的安全。设安全存储器分为N个存储区间、共能存储N个检查点,建立在各个存储区间上的检查点分别记为:C0、C1、C2、C3…CN-1,为每个检查点设置状态位(记为valid),以指示该检查点的建立是否完成、所记录的数据是否完整可用,并记录每个检查点设置的时间信息,设置回滚计数IRC,用于记录连续执行回滚恢复操作的次数,其中,i表示检查点的编号,0≤i≤N-1,对应地,Ci表示编号为i的检查点,Ivmin表示其valid位为1的最早的检查点的编号,Ivmax表示其valid位为1的最晚的检查点的编号,Ic表示即将重新建立检查点的存储区间的编号。应用本实施方法的系统在初始化时,建立N个数据为空的初始检查点,为这些初始的检查点分配0至N-1共N个编号,所有检查点的valid的初始值均设置为0,IRC的初始值设置为0。
本实施方法中,系统将周期性地建立检查点,检查点操作的主要实施方法是,通过DMA,将CPU0的寄存器以及主存中的有效数据复制到安全存储器中进行备份,从而定期地为系统保存安全、无软错误的处理器执行状态,检查点操作的数据流向图如图10所示。
本实施方法中,在程序执行的过程中,可以通过软错误检测硬件对系统中的软错误进行检测,若系统检测到软错误的发生,则执行回滚恢复操作;回滚恢复操作的主要实现方式是,通过DMA,使用保存在安全存储器中的安全的CPU寄存器数据覆盖当前的两个CPU的寄存器,使用安全的主存有效数据覆盖当前的主存数据,并对两个处理器中所有的cache执行invalidate操作(invalidate操作适用于采用write-through策略的cache),从而将系统恢复至先前的一个安全、正确的运行状态,回滚恢复操作的数据流向图如图11所示。
本实施方法中,普适检查点和回滚恢复方法中包含一种自适应动态检查点方法,以动态调整检查点的设置间隔、降低检查点技术引入的时间开销。本实施方式的自适应动态检查点相关的硬件架构主要由k项的软错误间隔历史表SEIHT和包含2k个两位饱和计数器的模式历史表PHT组成,如图12所示,SEIHT和PHT可以设置于主存中,也可以作为独立存储模块。SEIHT的每一项都由两部分组成:1位的软错误间隔标志以及XLen位的时间戳,软错误间隔标志用于指示软错误间隔是“短间隔”还是“长间隔”,时间戳表示的是每次软错误发生的时刻,SEIHT共有k位软错误间隔标志(记为SEIHT.FLAG),以及与k位软错误间隔标志分别对应的k个XLen位的时间戳(记为SEIHT.TIMESTAMP);SEIHT.FLAG的值作为PHT的索引,每一种SEIHT.FLAG的模式(一共有2k种)均对应着一个两位饱和计数器。本实施方式中,SEIHT.FLAG是一个k位的移位寄存器,用于记录本次软错误的发生距离上一次软错误的发生间隔Δt是否大于阈值T,如果大于,将SEIHT左移一位,同时将0写入SEIHT.LSB,表示此间隔为“短间隔”;如果小于等于,将SEIHT左移一位,同时将1写入SEIHT.LSB,表示此间隔为“长间隔”。SEIHT.FLAG的更新过程如图13所示。
本实施方法中,两位饱和计数器的状态转换图如图14所示,两位饱和计数器用“00”状态表示“强短间隔”、“01”状态表示“弱短间隔”、“10”状态表示“弱长间隔”、“11”状态表示“强长间隔”。如果SEIHT.FLAG的最低位为1,则存在两种情况:如果当前状态不为“11”,则饱和计数器的状态向“10”、“11”的方向转换;如果当前状态是“11”,则状态不变。如果SEIHT.FLAG的最低位为0,则存在两种情况:如果当前状态不为“00”,则饱和计数器的状态向“01”、“00”的方向转换;如果当前状态是“00”,则状态不变。
本实施方式中,软错误间隔预测和检查点间隔的自适应调整流程如图14所示。SEIHT和PHT能够根据历史软错误间隔信息,动态地预测下一个软错误间隔,其具体步骤为:以SEIHT.FLAG的模式作为索引,查询PHT中对应的二位计数器的状态值,如果状态值为“00”、“01”,则预测下一个软错误间隔为短间隔;如果状态值为“10”、“11”,则预测下一个软错误间隔为长间隔。检查点间隔的自适应调整方法为:如果预测的下一个软错误间隔为短间隔,则将检查点的设置间隔Tc赋值为Tl;反之,则将检查点的设置间隔Tc赋值为Ts,其中,
Figure BDA0002337457130000121
Tl=2Ts
本发明提供了一种低延迟的双模lockstep容软错误处理器系统,通过采用普适检查点和回滚恢复技术,使系统能够应对在正常执行、建立检查点、故障恢复过程中发生的软错误,提高了基于lockstep的容错系统的普适性;通过采用动态检查点技术,降低了检查点引入的时间开销,并使系统能够应对软错误分布复杂、未知的情况:
本发明系统采用的普适检查点和回滚恢复方法,通过增设的valid状态位,确保了不会使用不完整的检查点进行故障恢复,连续多次执行回滚恢复操作时,切换用于故障恢复的检查点,避免了与当前检查点本身相关的故障,比如发生多点故障等,综上所述,该方法使得本系统能够应对在正常执行、建立检查点、回滚恢复过程中发生的故障,提高了普适性。
本发明系统采用动态检查点方法使用基于软错误间隔历史表和模式历史表的自适应预测结构,能够同时考虑软错误分布历史的长期特征和短期特征,能够对软错误分布作出更为准确的预测,从而有效地降低检查点技术带来的时间开销,该预测结构能够快速学会预测任意的重复模式,能够应对软错误分布未知的情况。
本发明实施例中的部分步骤,可以利用软件实现,相应的软件程序可以存储在可读取的存储介质中,如主存、磁盘、硬盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种低延迟的双模lockstep容软错误处理器系统,其特征在于,所述系统包括硬件部分和软件部分,所述硬件部分包括存储器、双模lockstep处理器、DMA、总线监测器、同步控制器、信号比对器和中断控制器,所述双模lockstep处理器包括两个相同的处理器CPU0和CPU1,且所述处理器CPU0和CPU1的指令级并行;所述软件部分控制信号比对器对两个处理器CPU0和CPU1进行位级比对,以实现对软错误的检测;
所述软件部分在实现对软错误的检测时,以软错误间隔历史表SEIHT和模式历史表PHT对下一个软错误间隔进行预测,根据预测的软错误间隔与设定的阈值T进行比较,根据比较结果决定是否调整检查点的设置频率,从而对检查点的设置间隔进行调整。
2.根据权利要求1所述的系统,其特征在于,总线监测器接受来自两个处理器CPU0和CPU1的总线控制信号,对两个处理器CPU0和CPU1总线的操作类型进行监测,如果CPU0或CPU1监测到总线发出存储器写入请求,则分别将总线监测器的CPU0_MWR或CPU1_MWR输出信号置为有效;
同步控制器接受来自总线监测器的存储器写入请求信号CPU0_MWR、CPU1_MWR,输出握手结果信号HS_R和用于触发回滚恢复操作的中断请求信号RB_IR1;若两个信号CPU0_MWR、CPU1_MWR同时有效,则将握手结果信号HS_R置为有效,认为握手成功;
同步控制器包含有计数器1,在握手操作开始时,中断控制器复位并启动计数器1,对握手过程中程序的运行周期进行计数,称为计数1,用于检测同步控制器是否发生了握手超时,当计数l达到设定的Ttimeout后,将计数器1的满标志信号FULL_1置为有效,该信号用于指示是否发生了握手;Ttimeout根据容错系统的故障特性设置;
如果在FULL_1信号有效时,CPU0_MWR和CPU1_MWR信号不同时有效,则认为同步操作超时,将同步控制器的握手结果信号HS_R置为无效,并产生用于触发回滚恢复操作的中断请求信号RB_IR0;
信号比对器接受来自同步控制器的握手结果信号HS_R以及来自两个CPU的输出总线信号,输出匹配结果信号MATCH_R,若握手结果信号HS_R为有效状态,则对两组总线信号进行位级比对、一致性检查,若完全匹配,则将匹配结果信号MATCH_R置为有效,否则将匹配结果信号MATCH_R置为无效;
中断控制器接受来自同步控制器的握手结果信号HS_R、来自信号比对器的匹配结果信号MATCH_R、分别来自两个处理器CPU0和CPU1的针对检查点操作请求作出的中断确认信号CP_IR_A0、CP_IR_A1、分别来自两个处理器CPU0和CPU1的针对回滚恢复操作请求作出的中断确认信号RB_IR_A0和RB_IR_A1;
中断控制器含有计数器0;
所述处理器CPU0和CPU1进入正常执行任务的状态后,中断控制器复位并启动计数器0,对程序的运行周期进行计数,该计数被称为计数0,计数0达到设定的Tc后,将计数器0的满标志信号FULL_0置为有效,该信号用于指示是否达到了检查点的设置间隔;Tc将由动态检查点模块确定;
当HS_R、FULL_0、MATCH_R信号同时有效,中断控制器将触发检查点操作的中断请求信号CP_IR置为有效,向两个处理器CPU0和CPU1发出检查点操作请求;
若HS_R、FULL_0信号有效而MATCH_R信号无效,则认为发生了软错误,将用于触发回滚恢复操作的中断请求信号RB_IR1置为有效,向两个CPU发出回滚恢复操作请求;在CPU0和CPU1对CP_IR的中断确认信号CP_IR_A0和CP_IR_A1同时有效时,中断控制器复位、禁用计数器0;
触发检查点操作的中断请求信号CP_IR有效时,若CPU向中断控制器发出的相应中断确认信号有效,则CPU将执行检查点操作相关的中断服务程序,该中断服务程序负责设置检查点;RB_IR0或RB_IR1信号有效时,若CPU向中断控制器发出的相应中断确认信号有效,则CPU将执行回滚恢复操作相关的中断服务程序。
3.根据权利要求2所述的系统,其特征在于,所述存储器中设置有安全存储器,并将安全存储器分为N个存储区间、共能存储N个检查点,建立在各个存储区间上的检查点分别记为:C0、C1、C2、C3…CN-1,为每个检查点设置状态位valid,以指示该检查点的建立是否完成、所记录的数据是否完整可用,并记录每个检查点设置的时间信息,设置回滚计数IRC,用于记录连续执行回滚恢复操作的次数,其中,i表示检查点的编号,0≤i≤N-1,对应地,Ci表示编号为i的检查点,Ivmin表示其valid位为1的最早的检查点的编号,Ivmax表示其valid位为1的最晚的检查点的编号,Ic表示即将重新建立检查点的存储区间的编号;
所述双模lockstep处理器执行下述步骤:
步骤1:处理器系统正常执行任务,并检测是否达到设置检查点的条件,由故障检测模块检测是否发生故障;
所述设置检查点的条件为:处理器系统正常执行任务的时间大于等于设定的检查点间隔时间并到达指令周期结束的时刻;
当处理器系统检测到到达设置检查点的条件时,执行步骤2,当故障检测模块检测到处理器系统中发生了故障,执行步骤5;
步骤2:处理器系统进入检查点异常服务程序,判断安全存储器中是否存在valid=0的检查点,如果存在,执行步骤31,否则执行步骤32;
步骤31:安全存储器中的存储空间未记录满,将其valid位为0的任一检查点的编号赋值给Ic,执行步骤4;
步骤32:将其valid位为1的最早的检查点的编号记为Ivmin赋值给Ic,将
Figure FDA0002970948750000031
赋值为0,执行步骤4;
步骤4:在编号为Ic的检查点上重新建立检查点,处理器系统通过DMA将处理器中需要保存的寄存器以及主存中的有效数据复制到
Figure FDA0002970948750000034
所在的存储区域中,将
Figure FDA0002970948750000032
赋值为1,并记录该检查点的时间信息,将IRC赋值为0,检查点异常服务程序结束,执行步骤1;
步骤5:处理器系统进入回滚恢复异常服务程序,将其valid位为1的最晚的检查点的编号记为Ivmax,若Ivmax-IRC≤0,则执行步骤6,若Ivmax-IRC>0,则令IRC的数值加1并执行步骤7;步骤6:没有可用的检查点,无法从现有检查点恢复任务,则重新执行整个任务,并执行步骤1;
步骤7:使用编号为Ivmax-IRC的检查点进行回滚恢复,通过DMA,使用保存在
Figure FDA0002970948750000033
中的处理器寄存器数据覆盖当前的处理器寄存器,使用其中的主存有效数据覆盖当前的主存数据,并对两个处理器中所有的cache执行invalidate操作,执行步骤8;其中,invalidate操作适用于采用写入策略的cache;
步骤8:使用自适应动态检查点算法,对检查点间隔进行调整,自适应动态检查点算法结束后,执行步骤1。
4.根据权利要求3所述的系统,其特征在于,步骤8中执行的自适应动态检查点算法包括下述步骤:
步骤一:将软错误发生次数N的值加1,记录检测到软错误时处理器的周期计数器指示的时刻,执行步骤二;
步骤二:判断本次记录是否是第一条记录,结果为否,执行步骤三;结果为是,执行步骤四;
步骤三:将上一次记录的时刻记为t0,将本次记录的时刻记为t1,将Δt=t1-t0作为上一次软错误到本次软错误的时间间隔,并将系统中最近一个软错误发生的时刻Tfinal赋值为t1,执行步骤五;
步骤四:将本次记录的时刻记为t0,并将系统中第一个软错误发生的时刻Tstart以及SEIHT所记录的最早的软错误发生时刻Tstart′均赋值为t0,算法结束;
步骤五:判断软错误间隔历史表SEIHT是否已满,结果为是,执行步骤六;结果为否,执行步骤七;
步骤六:将SEIHT中的软错误间隔标志FLAG的最高位SEIHT.FLAG.HSB的时间戳赋值给Tstart′,之后该时间戳所在的存储空间允许被覆盖、允许用于记录新的软错误发生时刻,计算软错误间隔阈值
Figure FDA0002970948750000041
T代表的是SEIHT中记录的k个软错误间隔的平均软错误间隔,执行步骤七;
步骤七:将步骤三中计算的Δt与软错误间隔阈值T进行比较,并根据比较结果对SEIHT的软错误间隔标志SEIHT.FLAG及对应的时间戳SEIHT.TIMESTAMP进行更新:
若Δt≥T,认为该间隔为“长间隔”,将SEIHT.FLAG左移一位,同时将1写入SEIHT中的软错误间隔标志FLAG的最低位SEIHT.FLAG.LSB,将该FLAG位对应的XLen位的时间戳TIMESTAMP赋值为t0
若Δt<T,认为该间隔为“短间隔”,将SEIHT.FLAG左移一位,同时将0写入SEIHT中软错误间隔标志FLAG的最低位SEIHT.FLAG.LSB,将该FLAG位对应的XLen位的时间戳TIMESTAMP赋值为t0
XLen是处理器记录运行周期的计时器的宽度;
执行步骤八;
步骤八:对软错误发生间隔进行预测,首先判断本次预测是否是第一次进行预测,结果为否,执行步骤九;结果为是,执行步骤十;
步骤九:根据SEIHT.FLAG.LSB和两位饱和计数器的状态转换图对上一次预测所用的模式历史表PHT项进行更新,执行步骤十;
步骤十:以k位SEIHT.FLAG的值作为索引,查询具有2k个表项的PHT,执行步骤十一;
步骤十一:根据步骤九查询到的两位饱和计数器的值预测软错误的发生间隔,如果计数器的值为“00”或“01”,预测下一个软错误间隔是“短间隔”,将检查点的设置间隔Tc赋值为较短间隔Ts
如果计数器的值为“10”或“11”,预测下一个软错误间隔是“长间隔”,将检查点的设置间隔Tc赋值为较长间隔Tl,自适应动态检查点算法结束。
5.根据权利要求4所述的系统,其特征在于,若最开始的回滚恢复使用的是Ci检查点,且在此故障恢复过程中又一次发生了故障,则使用Ci-1检查点执行第二次回滚恢复,在第二次回滚恢复中若再一次发生故障,则使用Ci-2检查点执行第三次回滚恢复,2≤i≤N-1。
6.根据权利要求5所述的系统,其特征在于,较短间隔
Figure FDA0002970948750000051
其中C表示建立检查点的时间开销,ρ表示从系统启动到最近一次发生软错误期间的软错误发生率,
Figure FDA0002970948750000052
Figure FDA0002970948750000053
其中,Tstart代表的是系统中第一次发生软错误的时刻;较长间隔Tl=2Ts
7.根据权利要求6所述的系统,其特征在于,所述软错误间隔历史表SEIHT具有k项,每一项都由两部分组成:1位的软错误间隔标志以及与之对应的XLen位时间戳,软错误间隔标志用于指示软错误间隔是否大于阈值T,软错误标志SEIHT.FLAG为k位的移位寄存器,其中SEIHT.FLAG用于表示k项中所有1位软错误间隔标志FLAG的集合,时间戳表示的是对应于软错误间隔标志的、最近的一次软错误发生的时刻。
8.根据权利要求7所述的系统,其特征在于,所述模式历史表PHT为SEIHT.FLAG所有的模式创建了一个两位饱和计数器,所述SEIHT.FLAG共有2k种模式,用“00”表示“强短间隔”、“01”表示“弱短间隔”、“10”表示“弱长间隔”、“11”表示“强长间隔”。
9.根据权利要求8所述的系统其特征在于,所述软错误间隔标志用于指示软错误间隔是否大于阈值T,包括:
如果大于等于,将SEIHT.FLAG左移一位,同时将1写入SEIHT.FLAG.LSB,表示此间隔为“长间隔”;
如果小于,将SEIHT.FLAG左移一位,同时将0写入SEIHT.FLAG.LSB,表示此间隔为“短间隔”。
10.根据权利要求9所述的系统,其特征在于,如果SEIHT.FLAG的最低位为1,则存在两种情况:如果当前状态不为“11”,则饱和计数器的状态向“10”、“11”的方向转换;如果当前状态是“11”,则状态不变。
CN201911362162.9A 2019-12-26 2019-12-26 一种低延迟的双模lockstep容软错误处理器系统 Active CN111104243B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911362162.9A CN111104243B (zh) 2019-12-26 2019-12-26 一种低延迟的双模lockstep容软错误处理器系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911362162.9A CN111104243B (zh) 2019-12-26 2019-12-26 一种低延迟的双模lockstep容软错误处理器系统

Publications (2)

Publication Number Publication Date
CN111104243A CN111104243A (zh) 2020-05-05
CN111104243B true CN111104243B (zh) 2021-05-28

Family

ID=70424621

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911362162.9A Active CN111104243B (zh) 2019-12-26 2019-12-26 一种低延迟的双模lockstep容软错误处理器系统

Country Status (1)

Country Link
CN (1) CN111104243B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112445641B (zh) * 2020-11-05 2022-08-26 德州职业技术学院(德州市技师学院) 一种大数据集群的运行维护方法和系统
CN112506701B (zh) * 2020-12-02 2022-01-21 广东电网有限责任公司佛山供电局 一种基于三模lockstep的多处理器芯片错误恢复方法
CN113806290B (zh) * 2021-08-27 2023-10-27 中国航空无线电电子研究所 一种用于综合模块化航空电子系统的高完整性片上系统

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02162444A (ja) * 1988-12-15 1990-06-22 Mitsubishi Electric Corp 演算処理装置
US7055060B2 (en) * 2002-12-19 2006-05-30 Intel Corporation On-die mechanism for high-reliability processor
CN100350389C (zh) * 2003-10-24 2007-11-21 英特尔公司 用于检测软错误的方法、设备和处理器
JP2006107045A (ja) * 2004-10-04 2006-04-20 Hitachi Ltd ストレージ装置
US7747932B2 (en) * 2005-06-30 2010-06-29 Intel Corporation Reducing the uncorrectable error rate in a lockstepped dual-modular redundancy system
JP2010231619A (ja) * 2009-03-27 2010-10-14 Renesas Electronics Corp 情報処理装置
CN104063289B (zh) * 2014-06-17 2018-10-23 上海新储集成电路有限公司 降低系统软错误的方法
CN104331347B (zh) * 2014-11-25 2017-05-03 中国人民解放军国防科学技术大学 面向可变错误率的检查点间隔实时确定方法
GB2555628B (en) * 2016-11-04 2019-02-20 Advanced Risc Mach Ltd Main processor error detection using checker processors

Also Published As

Publication number Publication date
CN111104243A (zh) 2020-05-05

Similar Documents

Publication Publication Date Title
CN111104243B (zh) 一种低延迟的双模lockstep容软错误处理器系统
CN100375050C (zh) 高可靠性处理器的片上机制
US7085959B2 (en) Method and apparatus for recovery from loss of lock step
Quach High availability and reliability in the Itanium processor
JP2916420B2 (ja) チェックポイント処理加速装置およびデータ処理方法
US8412981B2 (en) Core sparing on multi-core platforms
JP4603185B2 (ja) 計算機及びその誤り回復方法
JPH02253344A (ja) ディジタル演算システム
JPH0773059A (ja) フォールトトレラント型コンピュータシステム
CN111143142B (zh) 一种普适检查点和回滚恢复方法
JP2003511756A (ja) コンピュータにおいて故障分離および診断を改善する機構
US8301992B2 (en) System and apparatus for error-correcting register files
US10817369B2 (en) Apparatus and method for increasing resilience to faults
US9594648B2 (en) Controlling non-redundant execution in a redundant multithreading (RMT) processor
US7194671B2 (en) Mechanism handling race conditions in FRC-enabled processors
CN115080315B (zh) 故障检测及处理方法、装置、处理器及电子设备
JPH08263453A (ja) データ障害処理装置
JPH0478908A (ja) クロック制御装置
WO2021010039A1 (ja) 情報処理装置、および情報処理方法、並びにプログラム
JP3450132B2 (ja) キャッシュ制御回路
EP0655686B1 (en) Retry control method and device for control processor
JPH05265790A (ja) マイクロプロセッサ装置
JPH06195235A (ja) 制御装置およびプロセッサ
JPH0635880A (ja) マイクロプロセッサ装置
JPS6119060B2 (zh)

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant