CN104991844A - 一种基于半定制寄存器文件的处理器及其容错方法 - Google Patents

一种基于半定制寄存器文件的处理器及其容错方法 Download PDF

Info

Publication number
CN104991844A
CN104991844A CN201510309602.XA CN201510309602A CN104991844A CN 104991844 A CN104991844 A CN 104991844A CN 201510309602 A CN201510309602 A CN 201510309602A CN 104991844 A CN104991844 A CN 104991844A
Authority
CN
China
Prior art keywords
module
register file
write
register
data
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
CN201510309602.XA
Other languages
English (en)
Other versions
CN104991844B (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.)
771 Research Institute of 9th Academy of CASC
Original Assignee
771 Research Institute of 9th Academy of CASC
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 771 Research Institute of 9th Academy of CASC filed Critical 771 Research Institute of 9th Academy of CASC
Priority to CN201510309602.XA priority Critical patent/CN104991844B/zh
Publication of CN104991844A publication Critical patent/CN104991844A/zh
Application granted granted Critical
Publication of CN104991844B publication Critical patent/CN104991844B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明一种基于半定制寄存器文件的处理器,包括五级流水线,流水控制模块,纠检错模块,交叉网络寄存器文件及校验码产生模块;其处理器容错方法,包括如下步骤,当寄存器文件中的数据出现可纠正错误时,则通过重启流水线纠正该错误并重新执行相关指令;当寄存器文件中的数据出现不可纠正错误时,通过重启流水线检测寄存器文件中出错数据的备份数据,若备份数据正确,则使用备份数据进行后续的处理器操作;若备份数据也出现不可纠正错误,则处理器进入陷阱处理程序,由软件进行错误恢复。通过流水线的多次回卷和重启、操作数访问地址的调度等实现可纠正错误的刷新和备份数据的正确性轮询,挖掘冗余硬件中的数据备份,提高寄存器文件的数据可靠性。

Description

一种基于半定制寄存器文件的处理器及其容错方法
技术领域
本发明属于微处理器可靠性领域,涉及一种处理器体系结构级的流水线容错方法,具体涉及一种基于半定制寄存器文件的处理器及其容错方法。
背景技术
根据RISC指令集的操作特点,标量和超标量RISC处理器通常仅为某一条流水线分配三个(两读一写)寄存器文件端口。当前,主要有两种方法实现三端口寄存器文件。第一种为全定制设计,该方法设计难度大、周期长,前端系统设计者难以独立完成。另一种基于单元库的半定制设计,即利用单元库中提供的双端口SRAM构造三端口的寄存器文件,该方法简单易实现,可由系统设计者独立完成。
Atmel公司的AT69、Gaisler的LEON及Aeroflex公司的UT699等系列处理器等均采用了基于单元库的半定制方法实现三端口的寄存器文件。利用单元库中的两块256x48的双端口SRAM构造处理器所需的168x39的三端口寄存器文件,具体实现如图1所示,将目标操作数同时写入两块SRAM中,以保证两块SRAM中数据的一致性,两个源操作数则是通过分别向两块SRAM请求读数据获得。由图1可知,基于半定制方法实现的三端口寄存器文件,其内部的两块SRAM中的数据完全一致,即寄存器中的所有数据均存在备份数据。
专利“微处理器的整数单元中五级容错流水结构的实现方法”(ZL200510043107.5)给出了一种基于流水线重启的处理器容错方法,当寄存器文件中的数据出现可纠正错误时,则硬件重启流水线进行错误恢复;当出现不可纠正错误时,处理器进入陷阱处理程序,由软件进行错误恢复。该方法没有考虑“出错数据”存在正确“备份数据”的可能性(在另一块SRAM中),未充分挖掘冗余硬件带来的可靠性提高。
发明内容
针对现有技术中存在的问题,本发明提供一种冗余硬件的可靠性利用率高,寄存器文件出现不可纠正错误时的处理器性能优越的基于半定制寄存器文件的处理器及其容错方法。
本发明是通过以下技术方案来实现:
一种基于半定制寄存器文件的处理器,包括五级流水线,流水控制模块,纠检错模块,交叉网络寄存器文件及校验码产生模块;
五级流水线包括通过级间寄存器依次连接的取指模块IF、译码模块ID、执行模块EX、存储访问模块MA和回写模块WB;回写模块WB将出错指令的PC写入PC寄存器;PC寄存器的输出连接至取指模块IF;译码模块ID、执行模块EX、存储访问模块MA和回写模块WB之间经级间寄存器和PC寄存器循环传递交叉标志;
流水控制模块与级间寄存器的使能端相连,用于根据处理器状态使能或禁止级间寄存器的采样;
纠检错模块的输入端连接译码模块ID后续的级间寄存器的输出,输出端连接至存储访问模块MA的输入;
交叉网络寄存器文件输入端分别接入由回写模块WB通过写地址waddr、写使能wen和写数据data实现目标操作数向交叉网络寄存器文件的回写;以及由译码模块ID输出的第一源操作数读地址rs1addr、第二源操作数读地址rs2addr、第一源操作数读使能rs1en、第二源操作数读使能rs2en及交叉使能;其中,写数据data通过校验码产生模块产生校验码之后,与校验码一起输入至交叉网络寄存器文件;
交叉网络寄存器文件输出端根据上述控制信号将第一和第二源操作数及各自的校验码通过rs1datao、rs1datao输出至译码模块ID后续的级间寄存器。
优选的,交叉网络寄存器文件,由两块双端口SRAM和交叉网络组成,共设置有两读一写三个端口;
写操作时,数据同时写入两块SRAM;
读操作时,交叉网络检测输入信号交叉使能,若交叉使能为0,则将第一源操作数的读信号连接至第一块SRAM的读端口,第二源操作数的读信号连接至第二块SRAM的读端口;若交叉使能为1,则将第一源操作数的读信号连接至第二块SRAM的读端口,第二源操作数的读信号连接至第一块SRAM的读端口。
进一步,交叉网络,由六个多路选择器和反相器组成,当交叉使能为1时实现交叉功能;
交叉使能直接连接至多路选择器的控制端;交叉使能经过反相器取反后,连接至多路选择器的控制端;第一源操作数的读地址rs1addr和第二源操作数的读地址rs2addr分别连接至多路选择器的0输入端和1输入端;第一源操作数的读使能rs1en和第二源操作数的读使能rs2en分别连接至多路选择器的0输入端和1输入端;第一块SRAM和第二块SRAM的输出rdata1和rdata2分别连接至多路选择器的1输入端和0输入端。
一种基于半定制寄存器文件的处理器容错方法,包括如下步骤,
当寄存器文件中的数据出现可纠正错误时,则通过重启流水线纠正该错误并重新执行相关指令;
当寄存器文件中的数据出现不可纠正错误时,通过重启流水线检测寄存器文件中出错数据的备份数据,
若备份数据正确,则使用备份数据进行后续的处理器操作;
若备份数据也出现不可纠正错误,则处理器进入陷阱处理程序,由软件进行错误恢复。
优选的,基于进一步中所述的处理器,具体包括如下步骤,
步骤1,取指模块IF,根据PC寄存器中的PC值取得指令,并送往级间寄存器;
步骤2,译码模块ID,根据指令类型生成第一源操作数读地址rs1addr、第二源操作数读地址rs2addr、第一源操作数读使能rs1en、第二源操作数读使能rs2en,并将其输入交叉标志直连至输出交叉使能和输出交叉标志;同时根据体系结构的要求预置部分陷阱标志位;
步骤3,交叉标志,在整个流水线中循环流动,通过PC寄存器反馈至译码模块ID的输入;仅由存储访问模块MA进行设置,其复位值为0;
步骤4,纠检错模块,对输入的数据和校验码进行检测,并给出校验结果标志位和校验后的数据,将标志位和数据连接至存储访问模块MA;当纠检错模块检测到寄存器文件的输出数据有不可纠正错误时,且存储访问模块MA输入的交叉标志为0,则由存储访问模块MA置交叉标志为1,其余情况由存储访问模块MA置交叉标志为0,并向后续的级间寄存器传递;
步骤5,执行模块EX,执行指令对应的算术、逻辑运算;同时根据体系结构的要求预置部分陷阱标志位;
步骤6,存储访问模块MA,完成访存操作,并根据其输入交叉标志和纠检错模块检测结果的组合决定其输出交叉标志;当检测结果无错误发生时,则输出交叉标志设置为0;当有可纠正错发生时,则输出交叉标志设置为0,并置单错标志;当有不可纠正错发生时,且输入交叉标志等于0时,则输出交叉标志设置为1,并置单错标志;当有不可纠正错发生时,且输入交叉标志等于1时,则输出交叉标志设置为0,并置多错标志;同时根据体系结构的要求预置部分陷阱标志位;
步骤7,回写模块WB,将数据写回到交叉网络寄存器文件,并完成相应的陷阱和流水线重启的处理。当输入交叉标志为0且单错标志有效,则将纠正后的数据回写到交叉网络寄存器文件,并将出错指令的PC写入PC寄存器,之后流水线从PC所指定的指令处重新启动;当输入交叉标志为1且单错标志有效,则将出错指令的PC写入PC寄存器,之后流水线从PC所指定的指令处重新启动;当输入交叉标志为1且多错标志有效,则直接产生陷阱,流水线停止,进入陷阱服务程序,由软件进行错误恢复。
进一步,流水控制模块,根据处理器状态使能或禁止级间寄存器的采样,决定流水线是否向前推进;
进一步,校验码产生模块,根据回写模块WB的写入数据data产生对应的校验码,并随数据一起送至交叉网络寄存器文件的wdata端口。
与现有技术相比,本发明具有以下有益的技术效果:
本发明所述的一种基于半定制寄存器文件的处理器,通过流水线的多次回卷和重启、操作数访问地址的调度等实现可纠正错误的刷新和备份数据的正确性轮询,充分挖掘冗余硬件中的数据备份,大幅提高寄存器文件的数据可靠性。
本发明所述的交叉网络寄存器文件结构,基于交叉网络结构,可以在外部交叉使能信号的控制下,自动完成数据的交叉读取。
本发明所述的一种基于半定制寄存器文件的处理器容错方法,根据交叉标志,译码模块ID直接产生流水线重启过程中所需的交叉使能,从而控制交叉网络寄存器文件的备份数据读取。基于该方法,可以在流水线的多次重启过程中,完成所有备份数据的正确性检测。
本发明中处理器流水线的推进和阻塞由流水控制模块统一管理,校验码产生模块用于回写数据校验码的产生。流水控制模块和校验码产生模块用于辅助本文发明内容的功能实现。
附图说明
图1为现有技术基于两块双端口SRAM的三端口寄存器文件示意图。
图2为本发明实例中所述处理器的结构示意图。
图3为本发明实例中所述的交叉网络寄存器文件示意图。
图4为本发明实例中所述的交叉网络的设计原理结构图。
具体实施方式
下面结合具体的实施例对本发明做进一步的详细说明,所述是对本发明的解释而不是限定。
本发明实例中采用一款五级流水的处理器作为优选实施例进行说明,并且采用本发明提出的基于半定制寄存器文件的处理器容错方法,其流水线的硬件电路结构如图2所示,所述处理器包括取指模块IF201、译码模块ID202、执行模块EX203、存储访问模块MA204、回写模块WB205、流水控制模块207、纠检错模块208、校验码产生模块210及交叉网络寄存器文件209。其中取指模块IF201、译码模块ID202、执行模块EX203、存储访问模块MA204和回写模块WB205之间通过级间寄存器212依次相连;流水控制模块207与级间寄存器212的使能端相连,根据处理器状态使能或禁止级间寄存器212的采样;纠检错模块208位于译码模块ID202和存储访问模块MA204之间,其输入来自译码模块ID202后续的级间寄存器212,输出连接至存储访问模块MA204的输入;回写模块WB205通过写地址waddr、写使能wen和写数据data实现目标操作数向交叉网络寄存器文件209的回写,其中写地址waddr、写使能wen直接连接至交叉网络寄存器文件209,写数据data通过校验码产生模块210产生校验码之后,与校验码一起送至交叉网络寄存器文件209,除此之外,回写模块WB205还将出错指令的PC写入PC寄存器206;其中,如果由交叉网络寄存器文件209输出某指令的源操作数未通过纠检错模块208的校验,则称为出错指令;PC指程序地址(Program counter),指令PC指PC寄存器206的输出;PC寄存器206仅用于存储出错指令的PC,其输出为指令PC。
译码模块ID202的输出第一源操作数读地址rs1addr、第二源操作数读地址rs2addr、第一源操作数读使能rs1en、第二源操作数读使能rs2en及交叉使能213连接至交叉网络寄存器文件209,交叉网络寄存器文件209根据上述控制信号将第一和第二源操作数及各自的校验码通过rs1datao、rs1datao输出至译码模块ID202后续的级间寄存器212。
其中,取指模块IF201,根据PC寄存器206中的PC值取得指令,并送往级间寄存器212;译码模块ID202,根据指令类型生成第一源操作数读地址rs1addr、第二源操作数读地址rs2addr、第一源操作数读使能rs1en、第二源操作数读使能rs2en,并将其输入交叉标志211直连至输出交叉使能213和输出交叉标志211;同时根据体系结构的要求预置部分陷阱标志位。
其中,交叉标志211,用于指示交叉网络寄存器文件209的输入交叉使能213是否需要使能,在整个流水线中循环流动,通过PC寄存器206反馈至译码模块ID202的输入;仅由存储访问模块MA204进行设置控制其逻辑值,其复位值为0;当纠检错模块208检测到寄存器文件的输出数据有不可纠正错误时,且存储访问模块MA204输入的交叉标志211为0,则由存储访问模块MA204置交叉标志211为1,其余情况由存储访问模块MA204置交叉标志211为0,并向后续的级间寄存器212传递。
其中,执行模块EX203,执行指令对应的算术、逻辑运算;同时根据体系结构的要求预置部分陷阱标志位;存储访问模块MA204,完成访存操作,并根据其输入交叉标志211和纠检错模块208检测结果的组合决定其输出交叉标志211。当检测结果无错误发生时,则输出交叉标志211设置为0;当有可纠正错发生时,则输出交叉标志211设置为0,并置单错标志;当有不可纠正错发生时,且输入交叉标志211等于0时,则输出交叉标志211设置为1,并置单错标志;当有不可纠正错发生时,且输入交叉标志211等于1时,则输出交叉标志211设置为0,并置多错标志;同时根据体系结构的要求预置部分陷阱标志位。
其中,纠检错模块208,对输入的数据和校验码进行检测,并给出校验结果标志位和校验后的数据,将标志位和数据连接至存储访问模块MA204;回写模块WB205,将数据写回到交叉网络寄存器文件209,并完成相应的陷阱和流水线重启的处理。当输入交叉标志211为0且单错标志有效,发生可纠正错误,则将纠正后的数据回写到交叉网络寄存器文件209,并将出错指令的PC写入PC寄存器206,之后流水线从PC所指定的指令处重新启动;当输入交叉标志211为1且单错标志有效,源数据发生不可纠正错误,备份数据未检测,则将出错指令的PC写入PC寄存器206,之后流水线从PC所指定的指令处重新启动;当输入交叉标志211为1且多错标志有效,源数据和备份数据均出现不可纠正错误,则直接产生陷阱,流水线停止,进入陷阱服务程序。
其中,流水控制模块207,根据处理器状态使能或禁止级间寄存器212的采样,决定流水线是否向前推进;校验码产生模块210,根据回写模块WB205的写入数据data产生对应的校验码,并随数据一起送至交叉网络寄存器文件209的wdata端口;
交叉网络寄存器文件209,如图3所示,采用半定制方法设计,具有两读一写三个端口,由两块双端口SRAM和交叉网络302组成。写操作时,数据同时写入两块SRAM;读操作时,交叉网络302检测交叉使能,若交叉使能为0,则将第一源操作数的读信号连接至第一块SRAM301的读端口,第二源操作数的读信号连接至第二块SRAM303的读端口;若交叉使能为1,则将第一源操作数的读信号连接至第二块SRAM303的读端口,第二源操作数的读信号连接至第一块SRAM301的读端口;其中,双端口SRAM,由工艺厂商的基本单元库提供或者工艺厂商提供的memory compile生成。
交叉网络302,如图4所示,由六个多路选择器401~406和反相器407组成,交叉使能为1时实现交叉功能。交叉使能直接连接至多路选择器401、403、405的控制端;交叉使能经过反相器407取反后,连接至多路选择器402、404、406的控制端;第一源操作数的读地址rs1addr和第二源操作数的读地址rs2addr分别连接至多路选择器401、402的0输入端和1输入端;第一源操作数的读使能rs1en和第二源操作数的读地址rs2en分别连接至多路选择器403、404的0输入端和1输入端;第一块SRAM和第二块SRAM的输出rdata1和rdata2分别连接至多路选择器405、406的1输入端和0输入端。
本发明通过综合考虑了在另一块SRAM中“出错数据”存在正确“备份数据”的可能性,充分利用了冗余硬件带来的可靠性提高,避免了盲目的基于软件的错误恢复,提高了寄存器文件出现不可纠正错误时的处理器性能,提供了一种更加完善的系统级加固方案,提高了处理器的可控性和可靠性。

Claims (7)

1.一种基于半定制寄存器文件的处理器,其特征在于,包括五级流水线,流水控制模块(207),纠检错模块(208),交叉网络寄存器文件(209)及校验码产生模块(210);
所述的五级流水线包括通过级间寄存器(212)依次连接的取指模块IF(201)、译码模块ID(202)、执行模块EX(203)、存储访问模块MA(204)和回写模块WB(205);回写模块WB(205)将出错指令的PC写入PC寄存器(206);PC寄存器(206)的输出连接至取指模块IF(201);译码模块ID(202)、执行模块EX(203)、存储访问模块MA(204)和回写模块WB(205)之间经级间寄存器(212)和PC寄存器(206)循环传递交叉标志(211);
所述的流水控制模块(207)与级间寄存器(212)的使能端相连,用于根据处理器状态使能或禁止级间寄存器(212)的采样;
所述的纠检错模块(208)的输入端连接译码模块ID(202)后续的级间寄存器(212)的输出,输出端连接至存储访问模块MA(204)的输入;
所述的交叉网络寄存器文件(209)输入端分别接入由回写模块WB(205)通过写地址waddr、写使能wen和写数据data实现目标操作数向交叉网络寄存器文件(209)的回写;以及由译码模块ID(202)输出的第一源操作数读地址rs1addr、第二源操作数读地址rs2addr、第一源操作数读使能rs1en、第二源操作数读使能rs2en及交叉使能(213);其中,写数据data通过校验码产生模块(210)产生校验码之后,与校验码一起输入至交叉网络寄存器文件(209);
交叉网络寄存器文件(209)输出端根据上述控制信号将第一和第二源操作数及各自的校验码通过rs1datao、rs1datao输出至译码模块ID(202)后续的级间寄存器(212)。
2.根据权利要求1所述的一种基于半定制寄存器文件的处理器,其特征在于,所述的交叉网络寄存器文件(209),由两块双端口SRAM和交叉网络(302)组成,共设置有两读一写三个端口;
写操作时,数据同时写入两块SRAM;
读操作时,交叉网络(302)检测输入信号交叉使能,若交叉使能为0,则将第一源操作数的读信号连接至第一块SRAM(301)的读端口,第二源操作数的读信号连接至第二块SRAM(303)的读端口;若交叉使能为1,则将第一源操作数的读信号连接至第二块SRAM(303)的读端口,第二源操作数的读信号连接至第一块SRAM(301)的读端口。
3.根据权利要求2所述的一种基于半定制寄存器文件的处理器,其特征在于,所述的交叉网络(302),由六个多路选择器(401~406)和反相器(407)组成,当交叉使能为1时实现交叉功能;
交叉使能直接连接至多路选择器(401、403、405)的控制端;交叉使能经过反相器(407)取反后,连接至多路选择器(402、404、406)的控制端;第一源操作数的读地址rs1addr和第二源操作数的读地址rs2addr分别连接至多路选择器(401、402)的0输入端和1输入端;第一源操作数的读使能rs1en和第二源操作数的读使能rs2en分别连接至多路选择器(403、404)的0输入端和1输入端;第一块SRAM和第二块SRAM的输出rdata1和rdata2分别连接至多路选择器(405、406)的1输入端和0输入端。
4.一种基于半定制寄存器文件的处理器容错方法,其特征在于,包括如下步骤,
当寄存器文件中的数据出现可纠正错误时,则通过重启流水线纠正该错误并重新执行相关指令;
当寄存器文件中的数据出现不可纠正错误时,通过重启流水线检测寄存器文件中出错数据的备份数据,
若备份数据正确,则使用备份数据进行后续的处理器操作;
若备份数据也出现不可纠正错误,则处理器进入陷阱处理程序,由软件进行错误恢复。
5.根据权利要求4所述的一种基于半定制寄存器文件的处理器容错方法,其特征在于,基于如权利要求3所述的处理器,具体包括如下步骤,
步骤1,取指模块IF(201),根据PC寄存器(206)中的PC值取得指令,并送往级间寄存器(212);
步骤2,译码模块ID(202),根据指令类型生成第一源操作数读地址rs1addr、第二源操作数读地址rs2addr、第一源操作数读使能rs1en、第二源操作数读使能rs2en,并将其输入交叉标志(211)直连至输出交叉使能(213)和输出交叉标志(211);同时根据体系结构的要求预置部分陷阱标志位;
步骤3,交叉标志(211),在整个流水线中循环流动,通过PC寄存器(206)反馈至译码模块ID(202)的输入;仅由存储访问模块MA(204)进行设置,其复位值为0;
步骤4,纠检错模块(208),对输入的数据和校验码进行检测,并给出校验结果标志位和校验后的数据,将标志位和数据连接至存储访问模块MA(204);当纠检错模块(208)检测到寄存器文件的输出数据有不可纠正错误时,且存储访问模块MA(204)输入的交叉标志(211)为0,则由存储访问模块MA(204)置交叉标志(211)为1,其余情况由存储访问模块MA(204)置交叉标志(211)为0,并向后续的级间寄存器(212)传递;
步骤5,执行模块EX(203),执行指令对应的算术、逻辑运算;同时根据体系结构的要求预置部分陷阱标志位;
步骤6,存储访问模块MA(204),完成访存操作,并根据其输入交叉标志(211)和纠检错模块(208)检测结果的组合决定其输出交叉标志(211);当检测结果无错误发生时,则输出交叉标志(211)设置为0;当有可纠正错发生时,则输出交叉标志(211)设置为0,并置单错标志;当有不可纠正错发生时,且输入交叉标志(211)等于0时,则输出交叉标志(211)设置为1,并置单错标志;当有不可纠正错发生时,且输入交叉标志(211)等于1时,则输出交叉标志(211)设置为0,并置多错标志;同时根据体系结构的要求预置部分陷阱标志位;
步骤7,回写模块WB(205),将数据写回到交叉网络寄存器文件(209),并完成相应的陷阱和流水线重启的处理;当输入交叉标志(211)为0且单错标志有效,则将纠正后的数据回写到交叉网络寄存器文件(209),并将出错指令的PC写入PC寄存器(206),之后流水线从PC所指定的指令处重新启动;当输入交叉标志(211)为1且单错标志有效,则将出错指令的PC写入PC寄存器(206),之后流水线从PC所指定的指令处重新启动;当输入交叉标志(211)为1且多错标志有效,则直接产生陷阱,流水线停止,进入陷阱服务程序,由软件进行错误恢复。
6.根据权利要求5所述的一种基于半定制寄存器文件的处理器容错方法,其特征在于,所述的流水控制模块(207),根据处理器状态使能或禁止级间寄存器(212)的采样,决定流水线是否向前推进。
7.根据权利要求5所述的一种基于半定制寄存器文件的处理器容错方法,其特征在于,所述的校验码产生模块(210),根据回写模块WB(205)的写入数据data产生对应的校验码,并随数据一起送至交叉网络寄存器文件(209)的wdata端口。
CN201510309602.XA 2015-06-05 2015-06-05 一种基于半定制寄存器文件的处理器及其容错方法 Active CN104991844B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510309602.XA CN104991844B (zh) 2015-06-05 2015-06-05 一种基于半定制寄存器文件的处理器及其容错方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510309602.XA CN104991844B (zh) 2015-06-05 2015-06-05 一种基于半定制寄存器文件的处理器及其容错方法

Publications (2)

Publication Number Publication Date
CN104991844A true CN104991844A (zh) 2015-10-21
CN104991844B CN104991844B (zh) 2017-04-05

Family

ID=54303660

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510309602.XA Active CN104991844B (zh) 2015-06-05 2015-06-05 一种基于半定制寄存器文件的处理器及其容错方法

Country Status (1)

Country Link
CN (1) CN104991844B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105511984A (zh) * 2015-11-27 2016-04-20 中国航天科技集团公司第九研究院第七七一研究所 一种基于主动链接备份数据的处理器容错结构及方法
CN107168826A (zh) * 2017-07-05 2017-09-15 首都师范大学 基于周期粒度的双冗余流水线级间寄存器备份装置及方法
CN110795384A (zh) * 2019-10-21 2020-02-14 吴瑞冉 一种高效识别文件与地址数据的微处理器
CN112486312A (zh) * 2020-11-19 2021-03-12 杭州电子科技大学 一种低功耗的处理器

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1731346A (zh) * 2005-08-15 2006-02-08 中国航天时代电子公司第七七一研究所 微处理器的整数单元中五级容错流水结构的实现方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1731346A (zh) * 2005-08-15 2006-02-08 中国航天时代电子公司第七七一研究所 微处理器的整数单元中五级容错流水结构的实现方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
辛明瑞: "面向空间应用的容错RISC处理器体系结构研究", 《中国博士学位论文全文数据库信息科技辑2008年》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105511984A (zh) * 2015-11-27 2016-04-20 中国航天科技集团公司第九研究院第七七一研究所 一种基于主动链接备份数据的处理器容错结构及方法
CN105511984B (zh) * 2015-11-27 2018-04-20 中国航天科技集团公司第九研究院第七七一研究所 一种基于主动链接备份数据的具有容错结构的处理器及容错方法
CN107168826A (zh) * 2017-07-05 2017-09-15 首都师范大学 基于周期粒度的双冗余流水线级间寄存器备份装置及方法
CN110795384A (zh) * 2019-10-21 2020-02-14 吴瑞冉 一种高效识别文件与地址数据的微处理器
CN110795384B (zh) * 2019-10-21 2023-08-18 吴瑞冉 一种高效识别文件与地址数据的微处理器
CN112486312A (zh) * 2020-11-19 2021-03-12 杭州电子科技大学 一种低功耗的处理器

Also Published As

Publication number Publication date
CN104991844B (zh) 2017-04-05

Similar Documents

Publication Publication Date Title
US10289469B2 (en) Reliability enhancement utilizing speculative execution systems and methods
Sawada et al. Processor verification with precise exceptions and speculative execution
US7533294B2 (en) Functional coverage driven test generation for validation of pipelined processors
CN108139910B (zh) 处理用于向量算术指令的例外状况
CN104991844A (zh) 一种基于半定制寄存器文件的处理器及其容错方法
EP2367133B1 (en) Method for checking data consistency in a system on chip
CN106021040B (zh) 一种基于线形汇编指令差异性变换的dsp软错误检测方法
RU2628156C2 (ru) Системы и способы отслеживания флага в операциях устранения перемещения
US8671311B2 (en) Multiprocessor switch with selective pairing
US10248488B2 (en) Fault tolerance and detection by replication of input data and evaluating a packed data execution result
CN103870353A (zh) 一种面向多核的可重构容错系统及方法
TWI751167B (zh) 讀取記憶體指令的處理器、方法及系統,其讀取包括缺陷資料之讀取
KR20170031758A (ko) 역방향 메모리 스페어링을 위한 방법 및 장치
US11048516B2 (en) Systems, methods, and apparatuses for last branch record support compatible with binary translation and speculative execution using an architectural bit array and a write bit array
CN1333334C (zh) 微处理器的整数单元中五级容错流水结构的实现方法
US9063855B2 (en) Fault handling at a transaction level by employing a token and a source-to-destination paradigm in a processor-based system
CN105511984B (zh) 一种基于主动链接备份数据的具有容错结构的处理器及容错方法
US7447941B2 (en) Error recovery systems and methods for execution data paths
US7581152B2 (en) Fault free store data path for software implementation of redundant multithreading environments
EP2181389A2 (en) Data processing with protection against soft errors
CN105260272B (zh) 一种同步纠错流水线控制结构及其方法
US11928475B2 (en) Fast recovery for dual core lock step
Lim et al. LARECD: Low area overhead and reliable error correction DMR architecture
CN105242905B (zh) 数据假相关的处理方法和装置
Yao et al. Low power consumption scheduling based on software fault-tolerance

Legal Events

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