CN112667450A - 一种可动态配置的多核处理器容错*** - Google Patents

一种可动态配置的多核处理器容错*** Download PDF

Info

Publication number
CN112667450A
CN112667450A CN202110017368.9A CN202110017368A CN112667450A CN 112667450 A CN112667450 A CN 112667450A CN 202110017368 A CN202110017368 A CN 202110017368A CN 112667450 A CN112667450 A CN 112667450A
Authority
CN
China
Prior art keywords
mode
fault
tolerant
processors
cpu0
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.)
Granted
Application number
CN202110017368.9A
Other languages
English (en)
Other versions
CN112667450B (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.)
Zhejiang University ZJU
Original Assignee
Zhejiang University ZJU
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 Zhejiang University ZJU filed Critical Zhejiang University ZJU
Priority to CN202110017368.9A priority Critical patent/CN112667450B/zh
Publication of CN112667450A publication Critical patent/CN112667450A/zh
Priority to PCT/CN2021/105087 priority patent/WO2022147990A1/zh
Application granted granted Critical
Publication of CN112667450B publication Critical patent/CN112667450B/zh
Priority to US18/346,753 priority patent/US20230350746A1/en
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
    • 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/0706Error 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 the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0721Error 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 the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU]
    • G06F11/0724Error 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 the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU] in a multiprocessor or a multi-core unit
    • 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/14Error detection or correction of the data by redundancy in operation
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)

Abstract

本发明涉及处理器技术领域,具体涉及一种可动态配置的多核处理器容错***,所述多核处理器为可重配置的三个处理器,该多核处理器容错***通过三个处理器的配置静态配置为常规容错模式、可靠容错模式或性能模式,然后根据模式切换寄存器的模式切换命令使得多核处理器容错***在常规容错模式、可靠容错模式性能模式之间相互切换,最后根据所要切换的模式对三个处理器进行相应的配置。本发明能够满足数字芯片针对性能和可靠性需求的不同应用,提高处理器冗余方式的灵活度和可配置性,达到资源可配置和高效率的要求。

Description

一种可动态配置的多核处理器容错***
技术领域
本发明涉及处理器技术领域,具体涉及一种可动态配置的多核处理器容错***。
背景技术
集成电路几十年的发展成果不仅给国家经济繁荣、社会进步和国家安全等方面提供了基本保障,并且也改变了人们的生产生活和思维方式。这跟数字SoC(System on Chip)芯片向小型化、轻量化、高性能和低功耗等特性发展密不可分,同时这些技术的发展也带来的更高的芯片处理器故障率。除了生活中的消费类电子产品中以外,工业生产中也更加依赖其发挥出的优势。相比消费类芯片,工业级芯片所处的环境更加恶劣,并且对可靠性的要求更高,出错代价更大。随着现代化应用场景对SoC性能要求的提高,由于半导体工艺以及功耗的限制, 仅仅依靠提升单个核的频率难以继续维持摩尔定律, 因此同构多核处理器应运而生。同构多核处理器芯片汇集多个地位对等,结构相同的通用处理器核, 以最小的代价满足了提高***性能,负载均衡,处理器容错的需要。
各种处理器故障类型中,软错误是导致处理器失效的主要原因,软错误主要来源于宇宙中的辐射和封装材料中的α粒子。对于处理器软错误的容错,从不同的抽象层次分成器件级、电路级和***级。基于国内外相关容错研究,针对双模冗余的出错无法检测到出错处理器和三模冗余的占用资源过大的缺点,如何提高处理器冗余方式的灵活度和可配置性,是值得探究的一个主要问题。
发明内容
为了解决现有技术中存在的上述技术问题,主要针对可靠性等级多样的芯片应用场景,针对双模冗余的出错无法检测到出错处理器和三模冗余的占用资源过大的缺点,为提高处理器冗余方式的灵活度和可配置性,本发明提供了一种可动态配置的多核处理器容错***,其具体技术方案如下。
一种可动态配置的多核处理器容错***,所述多核处理器为可重配置的三个处理器,该多核处理器容错***通过三个处理器的配置静态配置为常规容错模式、可靠容错模式或性能模式,然后根据模式切换寄存器的模式切换命令使得多核处理器容错***在常规容错模式、可靠容错模式性能模式之间相互切换,最后根据所要切换的模式对三个处理器进行相应的配置。
进一步的,当多核处理器容错***切换至常规容错模式时,将三个处理器设置为双模锁步架构和单核独立运行的组合;当多核处理器容错***切换至可靠容错模式时,将三个处理器设置组成为三模冗余;当多核处理器容错***切换至性能模式时,将三个处理器设置为三核独立运行。
进一步的,所述常规容错模式采用双核锁步容错方法,将三个处理器设置为双模锁步架构和单核独立运行的组合,基于checkpoint的方法,双模锁步架构的两个处理器以主从模式运行,形成自监控对,从处理器接收与主处理器相同的输入数据流,执行相同的操作,同时从处理器作为检查器,检查主处理器输出数据流的正确性并在主从处理器lockstep模块内进行比较后输出,同时对检查得到的正确状态进行实时的状态保存,当出现故障时,对主处理器和从处理器进行复位和状态加载。
进一步的,所述可靠容错模式即三模冗余模式,三模冗余的三个处理器都有相同的主处理器输入数据流,该输入数据流经过奇偶校验编码进行容错,每1bit数据流输出经过三模多数投票表决后给到主处理器的对外输出信号。
进一步的,当进行三模冗余模式时,当检测到有一个处理器的输出与其他两个处理器的输出不一致时,记录下当前出错处理器的出错次数,即出错计数器在每次记录到出错后加1,当计数器计数到一个可配置的值时,推测此处理器已经与其他两个处理器失步运行,通过复位重新加载正确状态完成再同步。
进一步的,所述性能模式下三个处理器独立工作,所述三个处理器的数据流的输入端选择每个处理器独立的输入,输出端每个处理器独立输出。
进一步的,性能模式与常规容错模式切换具体为:设***开始时刻T0,三个处理器分别为CPU0、CPU1和CPU2,CPU0和CPU1独立运行代码,T1时刻对各自的运行状态进行checkpoint保存,CPU0保存状态checkpoint A1,CPU1保存状态checkpoint B1,用于后续的状态切换或者恢复;在T1~T2之间,CPU0和CPU1收到了双模冗余模式切换命令,但该命令在此时刻并没有生效,在T2时刻,CPU0执行了checkpointA2,A3的操作,CPU1执行了checkpointB2,B3的操作;T3时刻模式切换命令生效,将CPU1的输入信号切换成CPU0的输入,输出与CPU0进行错误监控对,对CPU0和CPU1同时进行复位,并且加载主核CPU0在发起模式转换命令之前保存的checkpointA1状态,CPU0和CPU1在复位后从0x0地址取回checkpointA1保存的下一个指令的地址,完成模式切换,运行常规容错模式。
进一步的,性能模式与可靠容错模式切换具体为:设***开始时刻T0,三个处理器分别为CPU0、CPU1和CPU2独立运行代码,T1时刻对各自的运行状态进行checkpoint保存,CPU0保存状态checkpoint A1,CPU1保存状态checkpoint B1,CPU1保存状态checkpointC1,用于后续的状态切换或者恢复;在T1~T2之间,3个处理器收到了可靠容错模式切换命令,但该命令在此时刻并没有生效,在T2时刻,CPU0执行了checkpointA2,A3的操作,CPU1执行了checkpointB2,B3的操作,CPU2执行了checkpointC2,C3的操作;T3时刻模式切换命令生效,将CPU1,CPU2的输入信号切换成CPU0的输入,三个处理器的输出经过多数投票表决后输出,对三个处理器同时进行复位,并且加载主核CPU0在发起模式转换命令之前保存的checkpointA1状态,CPU0、CPU1和CPU2在复位后从0x0地址取回checkpointA1保存的下一个指令的地址,完成模式切换,运行可靠容错模式。
进一步的,常规容错模式与可靠容错模式切换具体为:设***开始时刻T0,三个处理器分别为CPU0、CPU1和CPU2,CPU0和CPU1以双模冗余方式运行代码,CPU2独立运行代码,T1时刻对各自的运行状态进行checkpoint保存,双模冗余模式保存状态checkpoint A1,CPU1保存状态checkpoint C1,用于后续的状态切换或者恢复;在T1~T2之间,3个CPU收到了三模冗余可靠容错模式切换命令,但该命令在此时刻并没有生效,在T2时刻,双模冗余模式执行了checkpointA2,A3的操作,CPU2执行了checkpointC2,C3的操作;T3时刻模式切换命令生效,将CPU2的输入信号切换成双模冗余模式的输入,三个处理器的输出经过多数投票表决后输出,对三个处理器同时进行复位,并且加载双模冗余模式在发起模式转换命令之前保存的checkpointA1状态,CPU0、CPU1和CPU2在复位后从0x0地址取回checkpointA1保存的下一个指令的地址,完成模式切换,运行可靠容错模式。
附图说明
图1是本发明的可配置的三核工作模式状态示意图;
图2是本发明的基于chenckpoint的DCLS故障检测与恢复过程示意图;
图3是本发明的常规容错模式下处理器的数据流流向示意图;
图4是本发明的可靠容错模式下处理器的数据流流向示意图;
图5是本发明的性能模式下处理器的数据流流向示意图;
图6是本发明的性能模式与常规容错模式动态切换流程示意图;
图7是本发明的性能模式与可靠容错模式动态切换流程示意图;
图8是本发明的常规容错模式与可靠容错模式动态切换流程示意图。
具体实施方式
为了使本发明的目的、技术方案和技术效果更加清楚明白,以下结合说明书附图和实施例,对本发明做进一步详细说明。
为了满足数字芯片针对性能和可靠性需求的不同应用,达到资源可配置和高效率的要求,如图1所示,本发明提出的一种可动态配置的多核处理器容错***允许在三种模式之间切换:对于可靠性至关重要的应用,本发明定义***切换的此模式为可靠容错模式,即三模冗余模式,在该模式中,***以经典的三模冗余,输出以多数投票表决的方式进行配置,同时该模式配备异步检测机制,防止处理器三模冗余***中存在的失步问题;在性能模式下,三个处理器可以独立的进行工作,像常规的三核处理器一样实现独立执行代码,实现高性能处理功能;另外,本发明还提出了一种处于可靠容错模式和性能模式中间的常规容错模式,即其中处理器之间形成基于检查点的双模冗余模式,另外一个处理器可以独立工作,保证主核有一定容错能力的基础上,也保证了两个处理器***的计算能力的性能;三种模式之间的切换是在软件控制下进行,通过配置特殊的模式切换寄存器的模式切换命令来触发三种模式之间的切换。除了可以静态配置3种特定的运行模式以外,还可以实现运行过程中的动态切换。其中,容错模块主要由两部分组成:故障检测和故障隔离与恢复,故障检测模块用于实时比较主从处理器的运行状态,并检测潜在的故障。
如图2-3所示,所述常规容错模式采用双核锁步容错方法,即:***为常规容错模式时,三个处理器设置为双模锁步架构和单核独立运行的组合。
具体的,基于checkpoint的方法,***中双模锁步架构的两个处理器以主从模式运行,形成自监控对,主处理器CPU0直接控制***设备,例如内存或外设模块。从处理器CPU1接收与主处理器CPU0相同的输入,因此常规容错模式下主从处理器对执行相同的操作。其中,所述从处理器CPU1作为检查器,输出未连接至***组件,而是用于检查主处理器CPU0输出的正确性,进行实时的对比。
常规容错模式下三个处理器的输入输出数据流流向过程中,模式选择信号选择DMR,即双模冗余模式使能,则主处理器CPU0和从处理器CPU1的输入数据流都来自主处理器CPU0,输出在主从处理器lockstep模块内进行比较后输出,同时进行实时的状态保存,当出现故障时,对CPU0和CPU1进行复位和状态加载,完成高效的故障恢复。
所述可靠容错模式为容错能力最高的模式,即三模冗余模式,三模冗余TMR具有保护时序电路和组合电路的能力,属于前向容错类型,不需要处理器返回之前的状态,三模冗余TMR对错误直接进行屏蔽,继续执行软件代码。三模冗余TMR更有效地实现主要集中在电路敏感逻辑中,例如处理器或者内存单元。它的主要目的是从电路中消除所有单点故障。三模冗余电路的每一组都有相同的一组输入,该输入经过奇偶校验编码进行容错,以避免由于错误输入的传播而发生错误。每1bit数据流输出经过三模多数投票表决逻辑实现,对于所有的单点故障能够达到自动检错的功能。
三模冗余的输入输出数据流流向如图4所示,选择工作模式为可靠容错模式,三个CPU的输入均来自主核CPU0,输出经过多数表决投票电路后给到主核的对外输出信号。
相比与双模冗余的容错存在无法对比获取具体出错处理器信息的局限性,三模冗余的在容错方面的一个重要优势是能够定位到出现故障的处理器,当进行三模冗余模式时,当检测到有一个CPU的输出与其他两个CPU的输出不一致时,此时***记录下当前出错CPU的出错次数,即出错计数器在每次记录到出错后加1。如果计数器计数到一个可配置的较大的值,如连续16次投票均为处理器1与其他两个处理器的输出不一致,大概率推测此CPU已经与其他两个CPU失步运行,此时通过复位重新加载正确状态完成再同步。
所述性能模式下三个CPU独立工作,此时***为正常的三核处理器***,三个CPU拥有独立的***总线,数据和指令存储。性能模式下三个CPU的输入输出数据流流向如图5所示,输入端选择每个CPU独立的输入,输出端每个CPU独立输出,三个CPU可以执行不同的代码,软件层面可以实现性能最大化,但是性能模式下CPU没有容错机制,一旦出现有效错误的产生并传播,可能会导致***奔溃。
所述可相互切换的常规容错模式、可靠容错模式和性能模式,包括:
当性能模式与常规容错模式切换时,具体为:
性能模式下三个处理器CPU独立运行代码,常规容错模式下的CPU0和CPU1形成双模冗余DMR容错,CPU2还是独立运行代码。因此性能模式与常规容错模式切换主要考虑CPU0和CPU1的独立运行和形成DMR容错对的动态切换。切换流程如图6所示,假设***开始时刻T0,CPU0和CPU1独立运行代码,T1时刻对各自的运行状态进行checkpoint保存,CPU0保存状态checkpoint A1,CPU1保存状态checkpoint B1,用于后续的状态切换或者恢复;在T1~T2之间,CPU0和CPU1收到了DMR模式切换命令,但该命令在此时刻并没有生效。在T2时刻,CPU0执行了checkpointA2,A3的操作,CPU1执行了checkpointB2,B3的操作;T3时刻模式切换命令生效,将CPU1的输入信号切换成CPU0的输入,输出与CPU0进行错误监控对,对CPU0和CPU1同时进行复位,并且加载主核CPU0在发起模式转换命令之前保存的checkpointA1状态,CPU0和CPU1在复位后从0x0地址取回checkpointA1保存的下一个指令的地址,完成模式切换,运行常规容错模式。
当性能模式与可靠容错模式时,具体为:
性能模式下三个CPU独立运行代码,可靠容错模式下CPU0、CPU1和CPU2形成TMR前向容错,出错后继续向前执行,不会回退。因此性能模式与可靠容错模式切换主要考虑将CPU1和CPU2的独立运行同步到主核CPU0的运行状态,形成TMR容错的动态切换。切换流程如图7所示,假设***开始时刻T0,CPU0、CPU1和CPU2独立运行代码,T1时刻对各自的运行状态进行checkpoint保存,CPU0保存状态checkpoint A1,CPU1保存状态checkpoint B1,CPU1保存状态checkpoint C1,用于后续的状态切换或者恢复;在T1~T2之间,3个CPU收到了TMR可靠容错模式切换命令,但该命令在此时刻并没有生效。在T2时刻,CPU0执行了checkpointA2,A3的操作,CPU1执行了checkpointB2,B3的操作,CPU2执行了checkpointC2,C3的操作;T3时刻模式切换命令生效,将CPU1,CPU2的输入信号切换成CPU0的输入,三个CPU的输出经过多数投票表决后输出,对三个CPU同时进行复位,并且加载主核CPU0在发起模式转换命令之前保存的checkpointA1状态,CPU0、CPU1和CPU2在复位后从0x0地址取回checkpointA1保存的下一个指令的地址,完成模式切换,运行可靠容错模式。
当常规容错模式与可靠容错模式切换时,具体为:
常规容错模式下CPU0和CPU1形成DMR容错,CPU2独立运行代码。因此常规容错模式与可靠容错模式切换主要考虑将CPU2的独立运行同步到CPU0和CPU1的DMR运行状态,形成TMR容错的动态切换。切换流程如图8所示,假设***开始时刻T0,CPU0和CPU1以DMR方式运行代码,CPU2独立运行代码,T1时刻对各自的运行状态进行checkpoint保存,DMR保存状态checkpoint A1,CPU1保存状态checkpoint C1,用于后续的状态切换或者恢复;在T1~T2之间,3个CPU收到了TMR可靠容错模式切换命令,但该命令在此时刻并没有生效。在T2时刻,DMR执行了checkpointA2,A3的操作,CPU2执行了checkpointC2,C3的操作;T3时刻模式切换命令生效,将CPU2的输入信号切换成DMR的输入,三个CPU的输出经过多数投票表决后输出,对三个CPU同时进行复位,并且加载DMR在发起模式转换命令之前保存的checkpointA1状态,CPU0、CPU1和CPU2在复位后从0x0地址取回checkpointA1保存的下一个指令的地址,完成模式切换,运行可靠容错模式。
更具体的,由于checkpoint状态保存暂用的寄存器资源相对较多,并且动态切换的使用通常并不频繁,本发明的***只对主核CPU0的寄存器进行硬件状态保存操作,对于CPU1和CPU2的checkpoint状态保存操作,采用软件的方式保存到片内SRAM,通常动态的操作对软件可以做到透明,因此只需要在收到模式切换信号的时候,软件执行checkpoint状态保存,在恢复的时候进行读取。

Claims (9)

1.一种可动态配置的多核处理器容错***,所述多核处理器为可重配置的三个处理器,其特征在于,该多核处理器容错***通过三个处理器的配置静态配置为常规容错模式、可靠容错模式或性能模式,然后根据模式切换寄存器的模式切换命令使得多核处理器容错***在常规容错模式、可靠容错模式性能模式之间相互切换,最后根据所要切换的模式对三个处理器进行相应的配置。
2.如权利要求1所述的一种可动态配置的多核处理器容错***,其特征在于,当多核处理器容错***切换至常规容错模式时,将三个处理器设置为双模锁步架构和单核独立运行的组合;当多核处理器容错***切换至可靠容错模式时,将三个处理器设置组成为三模冗余;当多核处理器容错***切换至性能模式时,将三个处理器设置为三核独立运行。
3.如权利要求2所述的一种可动态配置的多核处理器容错***,其特征在于,所述常规容错模式采用双核锁步容错方法,将三个处理器设置为双模锁步架构和单核独立运行的组合,基于checkpoint的方法,双模锁步架构的两个处理器以主从模式运行,形成自监控对,从处理器接收与主处理器相同的输入数据流,执行相同的操作,同时从处理器作为检查器,检查主处理器输出数据流的正确性并在主从处理器lockstep模块内进行比较后输出,同时对检查得到的正确状态进行实时的状态保存,当出现故障时,对主处理器和从处理器进行复位和状态加载。
4.如权利要求2所述的一种可动态配置的多核处理器容错***,其特征在于,所述可靠容错模式即三模冗余模式,三模冗余的三个处理器都有相同的主处理器输入数据流,该输入数据流经过奇偶校验编码进行容错,每1bit数据流输出经过三模多数投票表决后给到主处理器的对外输出信号。
5.如权利要求4所述的一种可动态配置的多核处理器容错***,其特征在于,当进行三模冗余模式时,当检测到有一个处理器的输出与其他两个处理器的输出不一致时,记录下当前出错处理器的出错次数,即出错计数器在每次记录到出错后加1,当计数器计数到一个可配置的值时,推测此处理器已经与其他两个处理器失步运行,通过复位重新加载正确状态完成再同步。
6.如权利要求2所述的一种可动态配置的多核处理器容错***,其特征在于,所述性能模式下三个处理器独立工作,所述三个处理器的数据流的输入端选择每个处理器独立的输入,输出端每个处理器独立输出。
7. 如权利要求2所述的一种可动态配置的多核处理器容错***,其特征在于,性能模式与常规容错模式切换具体为:设***开始时刻T0,三个处理器分别为CPU0、CPU1和CPU2,CPU0和CPU1独立运行代码,T1时刻对各自的运行状态进行checkpoint保存,CPU0保存状态checkpoint A1,CPU1保存状态checkpoint B1,用于后续的状态切换或者恢复;在T1~T2之间,CPU0和CPU1收到了双模冗余模式切换命令,但该命令在此时刻并没有生效,在T2时刻,CPU0执行了checkpointA2,A3的操作,CPU1执行了checkpointB2,B3的操作;T3时刻模式切换命令生效,将CPU1的输入信号切换成CPU0的输入,输出与CPU0进行错误监控对,对CPU0和CPU1同时进行复位,并且加载主核CPU0在发起模式转换命令之前保存的checkpointA1状态,CPU0和CPU1在复位后从0x0地址取回checkpointA1保存的下一个指令的地址,完成模式切换,运行常规容错模式。
8. 如权利要求2所述的一种可动态配置的多核处理器容错***,其特征在于,性能模式与可靠容错模式切换具体为:设***开始时刻T0,三个处理器分别为CPU0、CPU1和CPU2独立运行代码,T1时刻对各自的运行状态进行checkpoint保存,CPU0保存状态checkpointA1,CPU1保存状态checkpoint B1,CPU1保存状态checkpoint C1,用于后续的状态切换或者恢复;在T1~T2之间,3个处理器收到了可靠容错模式切换命令,但该命令在此时刻并没有生效,在T2时刻,CPU0执行了checkpointA2,A3的操作,CPU1执行了checkpointB2,B3的操作,CPU2执行了checkpointC2,C3的操作;T3时刻模式切换命令生效,将CPU1,CPU2的输入信号切换成CPU0的输入,三个处理器的输出经过多数投票表决后输出,对三个处理器同时进行复位,并且加载主核CPU0在发起模式转换命令之前保存的checkpointA1状态,CPU0、CPU1和CPU2在复位后从0x0地址取回checkpointA1保存的下一个指令的地址,完成模式切换,运行可靠容错模式。
9. 如权利要求2所述的一种可动态配置的多核处理器容错***的方法,其特征在于,常规容错模式与可靠容错模式切换具体为:设***开始时刻T0,三个处理器分别为CPU0、CPU1和CPU2,CPU0和CPU1以双模冗余方式运行代码,CPU2独立运行代码,T1时刻对各自的运行状态进行checkpoint保存,双模冗余模式保存状态checkpoint A1,CPU1保存状态checkpoint C1,用于后续的状态切换或者恢复;在T1~T2之间,3个CPU收到了三模冗余可靠容错模式切换命令,但该命令在此时刻并没有生效,在T2时刻,双模冗余模式执行了checkpointA2,A3的操作,CPU2执行了checkpointC2,C3的操作;T3时刻模式切换命令生效,将CPU2的输入信号切换成双模冗余模式的输入,三个处理器的输出经过多数投票表决后输出,对三个处理器同时进行复位,并且加载双模冗余模式在发起模式转换命令之前保存的checkpointA1状态,CPU0、CPU1和CPU2在复位后从0x0地址取回checkpointA1保存的下一个指令的地址,完成模式切换,运行可靠容错模式。
CN202110017368.9A 2021-01-07 2021-01-07 一种可动态配置的多核处理器容错*** Active CN112667450B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202110017368.9A CN112667450B (zh) 2021-01-07 2021-01-07 一种可动态配置的多核处理器容错***
PCT/CN2021/105087 WO2022147990A1 (zh) 2021-01-07 2021-07-08 一种可动态配置的多核处理器容错***
US18/346,753 US20230350746A1 (en) 2021-01-07 2023-07-03 Fault-tolerant system with multi-core cpus capable of being dynamically configured

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110017368.9A CN112667450B (zh) 2021-01-07 2021-01-07 一种可动态配置的多核处理器容错***

Publications (2)

Publication Number Publication Date
CN112667450A true CN112667450A (zh) 2021-04-16
CN112667450B CN112667450B (zh) 2022-05-06

Family

ID=75413361

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110017368.9A Active CN112667450B (zh) 2021-01-07 2021-01-07 一种可动态配置的多核处理器容错***

Country Status (3)

Country Link
US (1) US20230350746A1 (zh)
CN (1) CN112667450B (zh)
WO (1) WO2022147990A1 (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113568390A (zh) * 2021-09-22 2021-10-29 中国核动力研究设计院 基于多级处理器的dcs***动态分层通信方法及***
CN114238035A (zh) * 2022-02-23 2022-03-25 南京芯驰半导体科技有限公司 一种通过运行状态指纹进行错误检测方法及***
WO2022147990A1 (zh) * 2021-01-07 2022-07-14 浙江大学 一种可动态配置的多核处理器容错***
CN115080315A (zh) * 2022-08-22 2022-09-20 北京国科环宇科技股份有限公司 故障检测及处理方法、装置、处理器及电子设备
CN115426028A (zh) * 2022-08-29 2022-12-02 鹏城实验室 一种数据编译码的故障容错方法、***及高速通信***
CN118035006A (zh) * 2024-04-12 2024-05-14 西北工业大学 一种三核处理器独立和锁步运行可动态配置的控制***

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230267043A1 (en) * 2022-02-23 2023-08-24 Micron Technology, Inc. Parity-based error management for a processing system
CN118093253B (zh) * 2024-04-28 2024-06-28 西北工业大学 一种多核锁步处理器多级快速错误恢复***

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1842763A (zh) * 2003-06-24 2006-10-04 罗伯特·博世有限公司 在处理器单元的至少两种运行模式之间切换的方法以及相应的处理器单元
CN101048756A (zh) * 2004-10-25 2007-10-03 罗伯特·博世有限公司 在有至少两个处理单元的计算机***中进行切换和信号比较的装置和方法
CN101078909A (zh) * 2007-06-22 2007-11-28 南京恩瑞特实业有限公司 多机容错***主机判别方法
US20080270747A1 (en) * 2004-10-25 2008-10-30 Wolfgang Pfeiffer Method and Device for Switching Over Between Operating Modes of a Multi-Processor System Using at Least One External Signal
US20130060526A1 (en) * 2010-03-30 2013-03-07 Eads Deutschland Gmbh Computer System and Method for Comparing Output Signals
CN103870353A (zh) * 2014-03-18 2014-06-18 北京控制工程研究所 一种面向多核的可重构容错***及方法
CN108958987A (zh) * 2018-06-13 2018-12-07 武汉市聚芯微电子有限责任公司 一种低轨小卫星容错***及方法
CN110380915A (zh) * 2019-08-26 2019-10-25 湖南中车时代通信信号有限公司 一种基于安全通信协议的热备冗余监测装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7908520B2 (en) * 2000-06-23 2011-03-15 A. Avizienis And Associates, Inc. Self-testing and -repairing fault-tolerance infrastructure for computer systems
CN111581003B (zh) * 2020-04-29 2021-12-28 浙江大学 一种全硬件双核锁步处理器容错***
CN112667450B (zh) * 2021-01-07 2022-05-06 浙江大学 一种可动态配置的多核处理器容错***

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1842763A (zh) * 2003-06-24 2006-10-04 罗伯特·博世有限公司 在处理器单元的至少两种运行模式之间切换的方法以及相应的处理器单元
CN101048756A (zh) * 2004-10-25 2007-10-03 罗伯特·博世有限公司 在有至少两个处理单元的计算机***中进行切换和信号比较的装置和方法
US20080270747A1 (en) * 2004-10-25 2008-10-30 Wolfgang Pfeiffer Method and Device for Switching Over Between Operating Modes of a Multi-Processor System Using at Least One External Signal
CN101078909A (zh) * 2007-06-22 2007-11-28 南京恩瑞特实业有限公司 多机容错***主机判别方法
US20130060526A1 (en) * 2010-03-30 2013-03-07 Eads Deutschland Gmbh Computer System and Method for Comparing Output Signals
CN103870353A (zh) * 2014-03-18 2014-06-18 北京控制工程研究所 一种面向多核的可重构容错***及方法
CN108958987A (zh) * 2018-06-13 2018-12-07 武汉市聚芯微电子有限责任公司 一种低轨小卫星容错***及方法
CN110380915A (zh) * 2019-08-26 2019-10-25 湖南中车时代通信信号有限公司 一种基于安全通信协议的热备冗余监测装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
MAX KOENEN ET AL: "Exploring Task and Channel Mapping Strategies in Fail-Operational and Hard Real-Time NoCs", 《2020 IEEE NORDIC CIRCUITS AND SYSTEMS CONFERENCE (NORCAS)》 *
李志超: "基于ADSP-SC589的星载计算机模拟器设计与实现", 《中国优秀硕士学位论文全文数据库(电子期刊)》 *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022147990A1 (zh) * 2021-01-07 2022-07-14 浙江大学 一种可动态配置的多核处理器容错***
CN113568390A (zh) * 2021-09-22 2021-10-29 中国核动力研究设计院 基于多级处理器的dcs***动态分层通信方法及***
CN113568390B (zh) * 2021-09-22 2021-12-14 中国核动力研究设计院 基于多级处理器的dcs***动态分层通信方法及***
CN114238035A (zh) * 2022-02-23 2022-03-25 南京芯驰半导体科技有限公司 一种通过运行状态指纹进行错误检测方法及***
CN114238035B (zh) * 2022-02-23 2022-06-21 南京芯驰半导体科技有限公司 一种通过运行状态指纹进行错误检测方法及***
CN115080315A (zh) * 2022-08-22 2022-09-20 北京国科环宇科技股份有限公司 故障检测及处理方法、装置、处理器及电子设备
CN115080315B (zh) * 2022-08-22 2022-12-13 北京国科环宇科技股份有限公司 故障检测及处理方法、装置、处理器及电子设备
CN115426028A (zh) * 2022-08-29 2022-12-02 鹏城实验室 一种数据编译码的故障容错方法、***及高速通信***
CN115426028B (zh) * 2022-08-29 2023-10-20 鹏城实验室 一种数据编译码的故障容错方法、***及高速通信***
CN118035006A (zh) * 2024-04-12 2024-05-14 西北工业大学 一种三核处理器独立和锁步运行可动态配置的控制***

Also Published As

Publication number Publication date
WO2022147990A1 (zh) 2022-07-14
US20230350746A1 (en) 2023-11-02
CN112667450B (zh) 2022-05-06

Similar Documents

Publication Publication Date Title
CN112667450B (zh) 一种可动态配置的多核处理器容错***
US5504859A (en) Data processor with enhanced error recovery
US5086429A (en) Fault-tolerant digital computing system with reduced memory redundancy
CN100578462C (zh) 降低时钟同步双模冗余***中错误率的装置、方法和***
CN109872150B (zh) 具有时钟同步操作的数据处理***
US10761925B2 (en) Multi-channel network-on-a-chip
JP3229070B2 (ja) 多数決回路及び制御ユニット及び多数決用半導体集積回路
US10078565B1 (en) Error recovery for redundant processing circuits
WO2020239060A1 (zh) 错误恢复的方法和装置
US9952579B2 (en) Control device
US20040216003A1 (en) Mechanism for FRU fault isolation in distributed nodal environment
JP2015018414A (ja) マイクロコンピュータ
Sim et al. A dual lockstep processor system-on-a-chip for fast error recovery in safety-critical applications
CN108228391B (zh) 一种LockStep处理机及管理方法
CN108958987B (zh) 一种低轨小卫星容错***及方法
CN220983766U (zh) 用于双核锁步的周期故障检测修复电路
US20060184840A1 (en) Using timebase register for system checkstop in clock running environment in a distributed nodal environment
Tran et al. A hybrid fault tolerant architecture for robustness improvement of digital circuits
US20080313384A1 (en) Method and Device for Separating the Processing of Program Code in a Computer System Having at Least Two Execution Units
CN117112318A (zh) 基于risc-v架构的双核容错***
JP3063334B2 (ja) 高信頼度化情報処理装置
CN118035006B (zh) 一种三核处理器独立和锁步运行可动态配置的控制***
CN110750391B (zh) 一种基于tmr监控式的高性能抗辐照加固***及方法
CN113836079B (zh) 一种软硬件协同处理可重构电路及其自修复方法
US9542266B2 (en) Semiconductor integrated circuit and method of processing in semiconductor integrated circuit

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