CN205193785U - 一种双模冗余流水线的自校验及恢复装置 - Google Patents
一种双模冗余流水线的自校验及恢复装置 Download PDFInfo
- Publication number
- CN205193785U CN205193785U CN201520998848.8U CN201520998848U CN205193785U CN 205193785 U CN205193785 U CN 205193785U CN 201520998848 U CN201520998848 U CN 201520998848U CN 205193785 U CN205193785 U CN 205193785U
- Authority
- CN
- China
- Prior art keywords
- information
- register
- streamline
- level inter
- function logic
- 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.)
- Withdrawn - After Issue
Links
Landscapes
- Hardware Redundancy (AREA)
- Advance Control (AREA)
Abstract
一种双模冗余流水线的自校验及恢复装置,其特征在于:所述双模冗余流水线的自校验及恢复装置包括级间寄存器A、级间寄存器B、校验器A、校验器B、功能逻辑A、功能逻辑B、编码器A、编码器B、流水线恢复模块;所述双冗余流水线的自校验及恢复装置采用自校验对两条流水线的级间寄存器进行校验用于定位出故障流水线,根据自校验给出的错误信息启用流水线恢复机制,将正确流水线的执行状态替换错误流水线的方法,对单粒子效应引发的故障进行容错。
Description
技术领域
本实用新型涉及一种微处理器流水线的自校验及恢复装置,尤其涉及一种SPARCV8处理器中流水线的自校验及恢复装置。
背景技术
单粒子翻转(SingleEventUpset,SEU)是在空间应用环境下,由于单粒子入射导致集成电路中存储单元发生数据翻转错误的事件,是空间环境下电子系统发生故障和工作异常的重要诱因之一。随着半导体工艺技术的快速发展,芯片的尺寸在不断减小,处理器工作频率不断提高,节点工作电压的降低使得单粒子翻转现象越来越严重,研究指出,在纳米级芯片中,单粒子翻转导致的多位数据翻转(MBU)概率也在迅速提高。会导致最多8位随机数据翻转错误,对空间应用的电子系统产生更大的危害。在微处理器及电子系统中采取加固措施对SEU故障进行容错设计已成为重要的技术手段。
作为现代微处理器的重要组成部分,流水线主要完成程序代码的指令流执行,并将执行结果写入数据存储和寄存器堆。如果单粒子轰击流水线导致级间寄存器发生翻转或单粒子瞬变(SET)引发的错误数据被锁存,就会导致流水线执行结果不正确,在没有对流水线单元进行容错加固的情况下,错误的执行结果将会扩散到数据存储和寄存器堆或者执行错误的指令流,进而导致更多不可控的错误产生,因此,对于空间应用的高可靠微处理器而言,进行流水线单元的容错设计具有重要的意义。
现有对空间微处理器的加固技术有以下三种方案:采用基于时间的容错方法,能有效解决MBU问题,但是处理器性能大大降低;采用基于编码的容错方法,只能有效的验证计算部分的正确性,并且不同的编码方式针对不同的单粒子故障不能全部处理,容错能力有限;采用基于硬件冗余的方案,寄存器级三模冗余无法应对MBU故障,而流水线级三模冗余可以定位出故障流水线,但是硬件资源功耗等开销较大,流水线级双模冗余可以应对MBU故障,但是无法定位,起不到屏蔽故障的能力,每次都进行流水线回退会显著增加流水线性能开销,尤其是在单粒子故障日益常见的情况下会导致整体处理速度明显降低。
自修复双冗余流水线(Self-RecoveryDualPipeline),简称SRDP,是综合考虑时间和空间开销的前提下,基于硬件冗余的思想,对传统的流水线级双模冗余结构进行改进,在两条流水线之间设置比较器对流水线单元进行故障检测,利用自校验模块对级间寄存器进行校验定位出故障流水线,根据比较结果和自校验错误信息对流水线进行恢复,以低面积开销实现对单粒子效应引发的SEU、SET和MBU故障进行检测、定位和恢复。在单粒子故障越来越严重的情况下,为避免流水线单元发生故障只能进行回退操作的情况,急需探索对故障流水线进行定位的方法,通过对流水线级间寄存器进行自校验,并根据自校验给出的错误信息用正确流水线的执行状态替换错误流水线,从而降低了流水线的性能开销,提高了处理器的整体性能。
发明内容
本实用新型的目的在于设计一种双模冗余流水线的自校验及恢复装置,能够对双模冗余结构中流水线级间寄存器进行自校验,根据自校验给出的信息启用流水线恢复,从而对单粒子故障进行容错。
为实现上述目的,本实用新型所采用的技术方案为:
一种双模冗余流水线的自校验及恢复装置,其特征在于:所述的双模冗余流水线的自校验及恢复装置包括级间寄存器A、级间寄存器B、校验器A、校验器B、功能逻辑A、功能逻辑B、编码器A、编码器B和流水线恢复模块;所述级间寄存器A用于寄存前一个流水级功能逻辑给出的信息,以及该信息经编码器编码后的校验信息;所述级间寄存器B用于寄存前一个流水级功能逻辑给出的信息,以及该信息经编码器编码后的校验信息;所述校验器A根据级间寄存器A中的校验信息对级间寄存器A中寄存的信息进行校验,生成错误信息送入流水线恢复模块;所述校验器B根据级间寄存器B中的校验信息对级间寄存器B中寄存的信息进行校验,生成错误信息送入流水线恢复模块;所述功能逻辑A是流水级的功能逻辑执行主体,根据级间寄存器A中的信息执行流水级的功能后,给出到下一流水级的需要寄存到级间寄存器的信息,并将该信息送入编码器A进行编码;所述功能逻辑B是流水级的功能逻辑执行主体,根据级间寄存器B中的信息执行流水级的功能后,给出到下一流水级的需要寄存到级间寄存器的信息,并将该信息送入编码器B进行编码;所述编码器A根据选择的编码方式对功能逻辑A给出的信息进行编码,生成校验信息,送入级间寄存器中寄存;所述编码器B根据选择的编码方式对功能逻辑B给出的信息进行编码,生成校验信息,送入级间寄存器中寄存;所述流水线恢复模块根据校验器A和校验器B给出的错误信息,确定出现错误的流水线,使用正确流水线的执行状态对错误流水线进行恢复。
本实用新型实现的一种嵌入式微处理器双模冗余流水线的自校验与恢复装置,在嵌入式微处理器中通过对级间寄存器进行自校验定位出故障流水线,启用流水线恢复,能够屏蔽单粒子轰击流水线单元导致的SEU和MBU故障,从而可以提高微处理器在空间等恶劣环境下应用的可靠性。
附图说明
图1是根据本实用新型双冗余流水线的自校验及恢复结构图;
图2是自修复双冗余流水线的结构图;
图3是流水线恢复的结构图;
图4是流水线恢复的时序图。
具体实施方式
本实施例结合一种SPARCV8体系结构的嵌入式微处理器LEON2对本实用新型的具体实施方式进行说明。该SPARCV8体系结构的嵌入式微处理器LEON2采用32位的RISC架构,其流水线单元为经典的五级流水线,流水线各流水级会与指令缓存、数据缓存和寄存器堆进行数据交互。
LEON2处理器的流水线单元包括取指(IF)、译码(ID)、执行(EX)、访存(ME)、写回(WR)五个组合逻辑单元,以及各流水级之间设置的五组级间寄存器IF、IF/ID、ID/EX、EX/ME、ME/WR。单粒子轰击流水线的组合逻辑部分,产生毛刺可能会被级间寄存器锁存出现SET故障,轰击级间寄存器时会直接导致寄存器出现SEU或MBU故障。级间寄存器将组合逻辑产生的关键信息寄存并在级间传递,寄存着错误信息级间寄存器会导致错误的执行结果,而错误结果会在ME或WR段被写入数据存储器或寄存器堆,同时可能会造成错误指令流的执行。
为了有效的应对辐射造成的单粒子软错误,尤其是MBU问题,综合考虑各个方案时间和空间开销,基于硬件冗余的思想,提出了一种以低面积开销实现对单粒子效应引发的SEU、SET和MBU故障进行检测、定位和恢复流水线加固结构,自修复双冗余流水线(Self-RecoveryDualPipeline),简称SRDP,对传统的流水线级双模冗余结构进行改进,在两条流水线之间设置比较器对流水线单元进行故障检测,利用自校验对级间寄存器进行校验定位出故障流水线,根据比较结果和自校验错误信息对流水线进行恢复。本实用新型针对于如何对两条流水线级间寄存器IF、IF/ID、ID/EX、EX/ME、ME/WR进行自校验,一旦流水线单元受到单粒子轰击而造成流水线出现故障,如果能够根据自校验给出的错误信息定位出发生故障的流水线,在当前周期启用流水线恢复机制,将正确流水线的执行状态复制给错误流水线,在下一个时钟周期重新执行当前操作。
通过对LEON2处理器流水线单元进行分析,流水线的级间寄存器详情如表1所示,发现流水线各级的级间寄存器的信号数目以及信号位数均不一样,需要根据设置的自校验位宽进行分组及并位操作。同时,本实用新型可根据具体需求来选择自校验的编解码方式,例如,如果只是需要检测奇数或偶数位错误,则可以将自校验设置为奇偶校验;如果需要检测两位错误并纠正一位错误,则可以选择将自校验设置为EDAC校验;如果需要纠检多位错误,则可以选择将自校验设置为BCH等校验方式。
表1流水线级间寄存器
基于上述基本原理与设置,本实用新型的双模冗余流水线的自校验及恢复装置一种具体实施方式如下:
在SPARCV8体系结构的嵌入式微处理器中,将流水线中各个流水段设置成如图1所示,主要级间寄存器A、级间寄存器B、校验器A、校验器B、功能逻辑A、功能逻辑B、编码器A、编码器B、流水线恢复模块。
级间寄存器A和级间寄存器B中分别寄存着两条流水线的流水级功能逻辑给出的信息以及该信息经编码器编码后校验信息。
校验器A根据级间寄存器A中的校验信息对级间寄存器A中寄存的信息进行校验,生成错误信息送入流水线恢复模块。
校验器B根据级间寄存器B中的校验信息对级间寄存器B中寄存的信息进行校验,生成错误信息送入流水线恢复模块。
功能逻辑A是流水级的功能逻辑执行主体,根据级间寄存器A中的信息执行流水级的功能后,给出需要寄存到级间寄存器的信息,并将该信息送入编码器A进行编码。
功能逻辑B是流水级的功能逻辑执行主体,根据级间寄存器B中的信息执行流水级的功能后,给出需要寄存到级间寄存器的信息,并将该信息送入编码器B进行编码。
编码器A根据选择的编码方式对功能逻辑A给出的信息进行编码,生成校验信息,送入级间寄存器中寄存。
编码器B根据选择的编码方式对功能逻辑B给出的信息进行编码,生成校验信息,送入级间寄存器中寄存。
流水线恢复模块根据校验器A和校验器B给出的错误信息,定位出现流水线错误后,通过用正确流水线的执行状态替换错误流水线对流水线单元的状态进行恢复。
所述双模冗余流水线的自校验与恢复装置采用如下步骤与方法对流水线级双模冗余结构中由于单粒子效应导致故障发生的流水线进行定位和恢复:
(1)指令执行时,流水线单元向指令缓存器输出指令地址及控制信息,从指令缓存中取出指令,分发给两条流水线并行执行;每个时钟周期内,两条流水线的五个流水段的功能逻辑分别从上一流水段的级间寄存器中的信息进行操作后,给出需要寄存在下一流水段级间寄存器的信息,在下一个时钟周期上升沿到来时会将五个流水段功能逻辑给出的信息寄存到相应流水段级间寄存器中;
(2)在两条流水线的每个流水级中,对级间寄存器的信息位按设定的编解码位宽进行分组,不足部分用‘0’补齐,为每个分组设置一个编码器和一个校验器;编码器对功能逻辑输出的分组信息位进行编码,输出校验码,与分组信息一起写入级间寄存器,供下一流水级校验用;
(3)在流水级的功能逻辑进行功能运算的同时,校验器A、校验器B按编码规则,对级间寄存器的输入信息及校验码按分组进行校验,如果校验器A、校验器B校验均正确,流水级正常运行;如果均出错,设置流水线错误标志,流水线往下继续流动,在指令流出流水线时进行异常处理;如果其中只有一个校验出错,启动流水线恢复模块进行流水线恢复;
(4)如果校验器A或校验器B中的一个出现校验错误,说明有一个流水线出现了错误,流水线恢复模块向两条流水线均插入一个等待周期,将校验正确的流水线的级间寄存器内容复制到出错的流水线中,下一周期重新开始流水线的执行。
流水线恢复的结构图如图3所示,对两条流水线的级间寄存器校验完成自校验后,流水线恢复模块根据自校验给出的错误信息定位出流水线A出现故障,则将替换流水线A的信号置为‘1’,如果定位出流水线B出现故障,则将替换流水线B的信号置为‘1’,并将替换信号分别送入两条流水线,如果替换流水线A的信号有效,则将流水线A的执行状态替换成流水线B的执行状态,如果替换流水线B信号有效,则将流水线B的执行状态替换成流水线A的执行状态,同时将流水线中访存段和写回段指令对数据缓存和寄存器堆的写使能置为无效状态,阻止错误的执行结果写入数据缓存和寄存器堆,在下一时钟周期重新执行当前操作,消耗一个时钟周期实现故障屏蔽。流水线恢复的时序图如图4所示,在第N个时钟周期,流水线的写回段指令发生故障,对其写回段级间寄存器进行自校验,定位出故障流水线,流水线恢复模块使用正确流水线的执行状态替换错误流水线,在第N+1个时钟周期重新执行第N个时钟周期的操作,流水线继续向下执行。
本实用新型实现的嵌入式微处理器双模冗余流水线的自校验及恢复的装置,利用自校验对流水线级间寄存器进行校验,进行信息冗余,对发生故障的流水线进行定位,根据自校验给出的校验信息启用流水线恢复,解决了嵌入式微处理器流水线级双模冗余对单粒子轰击而导致发生SEU、MBU故障的流水线容错问题,可以提高嵌入式微处理器在空间环境下工作的可靠性。
在不脱离本实用新型精神的范围内,本实用新型可以具有多种变形,如:编解码的位宽、自校验编解码方法的选择等,均可在不同的实施中改变。这些变形也包含在本实用新型所要求保护的范围之内。
Claims (1)
1.一种双模冗余流水线的自校验及恢复装置,其特征在于:所述的双模冗余流水线的自校验及恢复装置包括级间寄存器A、级间寄存器B、校验器A、校验器B、功能逻辑A、功能逻辑B、编码器A、编码器B和流水线恢复模块;所述级间寄存器A用于寄存前一个流水级功能逻辑给出的信息,以及该信息经编码器编码后的校验信息;所述级间寄存器B用于寄存前一个流水级功能逻辑给出的信息,以及该信息经编码器编码后的校验信息;所述校验器A根据级间寄存器A中的校验信息对级间寄存器A中寄存的信息进行校验,生成错误信息送入流水线恢复模块;所述校验器B根据级间寄存器B中的校验信息对级间寄存器B中寄存的信息进行校验,生成错误信息送入流水线恢复模块;所述功能逻辑A是流水级的功能逻辑执行主体,根据级间寄存器A中的信息执行流水级的功能后,给出到下一流水级的需要寄存到级间寄存器的信息,并将该信息送入编码器A进行编码;所述功能逻辑B是流水级的功能逻辑执行主体,根据级间寄存器B中的信息执行流水级的功能后,给出到下一流水级的需要寄存到级间寄存器的信息,并将该信息送入编码器B进行编码;所述编码器A根据选择的编码方式对功能逻辑A给出的信息进行编码,生成校验信息,送入级间寄存器中寄存;所述编码器B根据选择的编码方式对功能逻辑B给出的信息进行编码,生成校验信息,送入级间寄存器中寄存;所述流水线恢复模块根据校验器A和校验器B给出的错误信息,确定出现错误的流水线,使用正确流水线的执行状态对错误流水线进行恢复。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201520998848.8U CN205193785U (zh) | 2015-10-27 | 2015-12-07 | 一种双模冗余流水线的自校验及恢复装置 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2015208333900 | 2015-10-27 | ||
CN201520833390 | 2015-10-27 | ||
CN201520998848.8U CN205193785U (zh) | 2015-10-27 | 2015-12-07 | 一种双模冗余流水线的自校验及恢复装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN205193785U true CN205193785U (zh) | 2016-04-27 |
Family
ID=55786757
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201520998848.8U Withdrawn - After Issue CN205193785U (zh) | 2015-10-27 | 2015-12-07 | 一种双模冗余流水线的自校验及恢复装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN205193785U (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105320575A (zh) * | 2015-10-27 | 2016-02-10 | 首都师范大学 | 一种双模冗余流水线的自校验及恢复装置与方法 |
CN116974813A (zh) * | 2023-09-25 | 2023-10-31 | 南方电网数字电网研究院有限公司 | 寄存器数据管理方法、装置、寄存器模块、计算机设备 |
-
2015
- 2015-12-07 CN CN201520998848.8U patent/CN205193785U/zh not_active Withdrawn - After Issue
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105320575A (zh) * | 2015-10-27 | 2016-02-10 | 首都师范大学 | 一种双模冗余流水线的自校验及恢复装置与方法 |
CN105320575B (zh) * | 2015-10-27 | 2018-03-23 | 首都师范大学 | 一种双模冗余流水线的自校验及恢复装置与方法 |
CN116974813A (zh) * | 2023-09-25 | 2023-10-31 | 南方电网数字电网研究院有限公司 | 寄存器数据管理方法、装置、寄存器模块、计算机设备 |
CN116974813B (zh) * | 2023-09-25 | 2024-04-19 | 南方电网数字电网研究院有限公司 | 寄存器数据管理方法、装置、寄存器模块、计算机设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101551764B (zh) | 基于同步冗余线程与编码技术的抗单粒子效应系统及方法 | |
CN107799151B (zh) | 固态盘SSD及高可用性PCIe SSD的方法和系统 | |
US5692121A (en) | Recovery unit for mirrored processors | |
CN105320579A (zh) | 面向sparc v8处理器的自修复双冗余流水线及容错方法 | |
WO2017113333A1 (zh) | 一种fpga电路和其配置文件处理方法 | |
CN103984630A (zh) | 一种基于at697处理器的单粒子翻转故障处理方法 | |
CN106708655B (zh) | 基于二维纠错码的内存加固方法及电路 | |
CN107015880B (zh) | 一种fpga电路和其配置文件处理方法 | |
CN105320575B (zh) | 一种双模冗余流水线的自校验及恢复装置与方法 | |
CN101615147A (zh) | 皮卫星基于fpga的存储模块的容错方法 | |
Psarakis et al. | Fault tolerant FPGA processor based on runtime reconfigurable modules | |
CN105260256B (zh) | 一种双模冗余流水线的故障检测及回退方法 | |
Anjankar et al. | FPGA based multiple fault tolerant and recoverable technique using triple modular redundancy (FRTMR) | |
CN104866390B (zh) | 异步随机静态存储器三模冗余控制器 | |
CN205193785U (zh) | 一种双模冗余流水线的自校验及恢复装置 | |
Ebrahimi et al. | ScTMR: A scan chain-based error recovery technique for TMR systems in safety-critical applications | |
CN1896959A (zh) | 一种静态数据存储的纠错编码装置 | |
US20090249174A1 (en) | Fault Tolerant Self-Correcting Non-Glitching Low Power Circuit for Static and Dynamic Data Storage | |
CN105260272B (zh) | 一种同步纠错流水线控制结构及其方法 | |
CN205193787U (zh) | 一种双模冗余流水线的故障检测及回退装置 | |
CN106844281A (zh) | 一种适用于PowerPC处理器的高可靠指令Cache | |
CN117112318A (zh) | 基于risc-v架构的双核容错系统 | |
US20080229134A1 (en) | Reliability morph for a dual-core transaction-processing system | |
CN205193786U (zh) | 面向sparc v8处理器的自修复双冗余流水线 | |
Hong et al. | Design and implementation of fault-tolerant soft processors on FPGAs |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
AV01 | Patent right actively abandoned |
Granted publication date: 20160427 Effective date of abandoning: 20180323 |
|
AV01 | Patent right actively abandoned |