一种单粒子多位错自主修复三冗余流水线及设计方法与流程

文档序号:16735715发布日期:2019-01-28 12:36阅读:222来源:国知局
一种单粒子多位错自主修复三冗余流水线及设计方法与流程

本发明涉及一种单粒子多位错自主修复三冗余流水线设计方法,属于微电子加固设计领域。



背景技术:

当前,集成电路技术已经全面进入纳米时代,宇航用处理器已采用纳米级工艺进行研制。纳米工艺下,单粒子效应愈加严重,尤其是单粒子翻转和单粒子瞬态引发处理器单位错误和多位错误的问题越发突出。流水线作为高性能处理器的重要组成部分,用来完成指令流的执行并将执行结果写入数据缓存或寄存器堆,其内部包含大量寄存器和组合逻辑,是处理器最为敏感部分,最易受到单粒子效应的影响。若流水线受到单粒子效应的影响发生单位错误、多位错误,造成流水线执行结果错误,则会导致处理器工作异常。现有技术中三模冗余寄存器方法仅能够解决单粒子效应引发的单位数据翻转错误问题,但对单粒子多位数据翻转错误问题无法应对;而简单采用流水线备份方法对多位错发生在多条流水线的不同流水级的情况无效。



技术实现要素:

本发明要解决的技术问题是:克服现有技术的不足,提供了一种单粒子多位错自主修复三冗余流水线设计方法,该方法对流水的每一级进行三模冗余容错,同时自主纠正这一级错误的流水线,既解决了单一流水线发生多位错误的问题,又解决了多条流水线的不同流水级发生多位错误的问题,即提高了流水线可靠性又兼顾了流水级间延迟性能要求。

本发明目的通过以下技术方案予以实现:

一种单粒子多位错自主修复三冗余流水线设计方法,采用三条流水线并行处理相同的指令流;在三条流水线的每一级后均设有表决仲裁逻辑电路和错误纠正控制逻辑电路;

所述三条流水线的每一级后的表决仲裁逻辑电路用于对三条流水线在该级输出的数据进行判断,然后输出判断结果给错误纠正控制逻辑电路;

所述错误纠正控制逻辑电路根据表决仲裁逻辑电路的判断结果,对可能存在的错误数据进行纠正。

上述单粒子多位错自主修复三冗余流水线设计方法,当三条流水线在某一级输出的数据存在错误时,所述表决仲裁逻辑电路采用三判二的方法确定三条流水线在该级输出的正确数据,然后判断出现错误的流水线的编号,并将所述三条流水线在该级输出的正确数据和出现错误的流水线的编号输出给错误纠正控制逻辑电路。

上述单粒子多位错自主修复三冗余流水线设计方法,当空间的单粒子环境造成流水线的单粒子翻转阈值超过37mev·cm2/mg时,所述表决仲裁逻辑电路采用如下方法确定三条流水线在该级输出的正确数据:

基于地面模拟实验装置对三条流水线的任意一级输出进行测试,获取单粒子环境下三条流水线分别在任意一级的可靠性指标,对于三条流水线任意相同的一级,采用可靠性指标最高的流水线在该级的输出数据作为三条流水线在该级输出的正确数据,然后判断出现错误的流水线的编号,并将所述三条流水线在该级输出的正确数据和出现错误的流水线的编号输出给错误纠正控制逻辑电路。

上述单粒子多位错自主修复三冗余流水线设计方法,所述错误纠正控制逻辑电路根据三条流水线在该级输出的正确数据和出现错误的流水线的编号,纠正出现错误的流水线在该级输出的数据。

上述单粒子多位错自主修复三冗余流水线设计方法,所述三条流水线的结构相同。

一种单粒子多位错自主修复三冗余流水线,包括三条并行处理相同指令流的流水线、表决仲裁逻辑电路和错误纠正控制逻辑电路;所述三条流水线的每一级后均设有一个表决仲裁逻辑电路和一个错误纠正控制逻辑电路;

所述三条流水线的每一级后的表决仲裁逻辑电路用于对三条流水线在该级输出的数据进行判断,然后输出判断结果给错误纠正控制逻辑电路;

所述错误纠正控制逻辑电路根据表决仲裁逻辑电路的判断结果,对可能存在的数据错误进行纠正。

上述单粒子多位错自主修复三冗余流水线,当三条流水线在某一级输出的数据存在错误时,所述表决仲裁逻辑电路采用三判二的方法确定三条流水线在该级输出的正确数据,然后判断出现错误的流水线的编号,并将所述三条流水线在该级输出的正确数据和出现错误的流水线的编号输出给错误纠正控制逻辑电路。

上述单粒子多位错自主修复三冗余流水线,当空间的单粒子环境造成流水线的单粒子翻转阈值超过37mev·cm2/mg时,所述表决仲裁逻辑电路采用如下方法确定三条流水线在该级输出的正确数据:

基于地面模拟实验装置对三条流水线的任意一级输出进行测试,获取单粒子环境下三条流水线分别在任意一级的可靠性指标,对于三条流水线任意相同的一级,采用可靠性指标最高的流水线在该级的输出数据作为三条流水线在该级输出的正确数据,然后判断出现错误的流水线的编号,并将所述三条流水线在该级输出的正确数据和出现错误的流水线的编号输出给错误纠正控制逻辑电路。

上述单粒子多位错自主修复三冗余流水线,所述错误纠正控制逻辑电路根据三条流水线在该级输出的正确数据和出现错误的流水线的编号,纠正出现错误的流水线在该级输出的数据。

上述单粒子多位错自主修复三冗余流水线,所述三条流水线的结构相同。

本发明相比于现有技术具有如下有益效果:

(1)本发明提出了一种单粒子多位错自主修复三冗余流水线设计方法,既解决了单一流水线发生多位错误的问题,又解决了多条流水线的不同流水级发生多位错误的问题;

(2)本发明在流水的每一级采用错误纠正机制,避免了单粒子错误累计,提高了流水线可靠性;

(3)本发明在流水的每一级采用三模冗余容错,仅增加了表决器的逻辑门延迟,纳米工艺下逻辑门延迟在皮秒量级,远小于流水级间的纳秒量级延迟,因此,本发明提高了流水线可靠性又兼顾了流水延迟性能要求;

(4)本发明在空间环境恶劣的情况下,基于地面模拟实验获取的流水线在任意一级的可靠性指标,进行表决仲裁,一方面虽然三条流水线的结构相同,但该方法仍克服了流水线生产工艺引入的产品可靠性问题,另一方面借助流水线在实际应用过程中的设备外壳、安装位置等保护因素,更为实际的区分了三条流水线每一级的在应用环境下的可靠性,基于上述表决仲裁结果可以在极度恶劣情况下,提升三冗余流水线的可靠性。

附图说明

图1为本发明实施例的单粒子多位错自主修复三冗余流水线的结构图;

图2为本发明实施例的比较器/仲裁逻辑的逻辑示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明的实施方式作进一步详细描述。

一种单粒子多位错自主修复三冗余流水线设计方法,采用三条结构相同的流水线并行处理相同的指令流;在三条流水线的每一级后均设有表决仲裁逻辑电路和错误纠正控制逻辑电路。

所述三条流水线的每一级后的表决仲裁逻辑电路用于对三条流水线在该级输出的数据进行判断,然后输出判断结果给错误纠正控制逻辑电路。当三条流水线在某一级输出的数据存在错误时,所述表决仲裁逻辑电路采用三判二的方法确定三条流水线在该级输出的正确数据,然后判断出现错误的流水线的编号,并将所述三条流水线在该级输出的正确数据和出现错误的流水线的编号输出给错误纠正控制逻辑电路。

所述错误纠正控制逻辑电路根据表决仲裁逻辑电路的判断结果,对可能存在的错误数据进行纠正。所述错误纠正控制逻辑电路根据三条流水线在该级输出的正确数据和出现错误的流水线的编号,纠正出现错误的流水线在该级输出的数据。

对于极度恶劣的空间环境,即当空间的单粒子环境造成流水线的单粒子翻转阈值超过37mev·cm2/mg时,所述表决仲裁逻辑电路还可以采用如下方法确定三条流水线在该级输出的正确数据:

基于地面模拟实验装置对三条流水线的任意一级输出进行测试,获取单粒子环境下三条流水线分别在任意一级的可靠性指标,对于三条流水线任意相同的一级,采用可靠性指标最高的流水线在该级的输出数据作为三条流水线在该级输出的正确数据。然后判断出现错误的流水线的编号,并将所述三条流水线在该级输出的正确数据和出现错误的流水线的编号输出给错误纠正控制逻辑电路。

一种单粒子多位错自主修复三冗余流水线,包括三条并行处理相同指令流的结构相同的流水线、表决仲裁逻辑电路和错误纠正控制逻辑电路;所述三条流水线的每一级后均设有一个表决仲裁逻辑电路和一个错误纠正控制逻辑电路。

所述三条流水线的每一级后的表决仲裁逻辑电路用于对三条流水线在该级输出的数据进行判断,然后输出判断结果给错误纠正控制逻辑电路;当三条流水线在某一级输出的数据存在错误时,所述表决仲裁逻辑电路采用三判二的方法确定三条流水线在该级输出的正确数据,然后判断出现错误的流水线的编号,并将所述三条流水线在该级输出的正确数据和出现错误的流水线的编号输出给错误纠正控制逻辑电路。

所述错误纠正控制逻辑电路根据表决仲裁逻辑电路的判断结果,对可能存在的数据错误进行纠正。所述错误纠正控制逻辑电路根据三条流水线在该级输出的正确数据和出现错误的流水线的编号,纠正出现错误的流水线在该级输出的数据。

在极度恶劣的空间环境下,即当空间的单粒子环境造成流水线的单粒子翻转阈值超过37mev·cm2/mg时,所述表决仲裁逻辑电路还可以采用如下方法确定三条流水线在该级输出的正确数据:

基于地面模拟实验装置对三条流水线的任意一级输出进行测试,获取单粒子环境下三条流水线分别在任意一级的可靠性指标,对于三条流水线任意相同的一级,采用可靠性指标最高的流水线在该级的输出数据作为三条流水线在该级输出的正确数据。然后判断出现错误的流水线的编号,并将所述三条流水线在该级输出的正确数据和出现错误的流水线的编号输出给错误纠正控制逻辑电路。

实施例:

本发明的实施例如图1所示,包括流水线1、流水线2、流水线3,表决仲裁逻辑电路、错误纠正控制逻辑电路,流水线外围包括指令缓存、数据缓存和寄存器堆为。指令缓存、数据缓存和寄存器堆为三条流水线共用,其中,指令缓存用来存储流水线执行的指令,将指令送给流水线1、流水线2、流水线3的第一级流水;数据缓存用来存储流水线输出的数据,向流水线提供运算操作数;寄存器堆用来存储流水线输出的数据,向流水线提供运算操作数。

流水线1、流水线2、流水线3结构相同且互为冗余备份,每条流水线包括n级流水单元,3≤n≤13。流水线的每一级的结果输出给表决器和仲裁逻辑,表决器的结果输出给下一级流水或数据缓存、寄存器堆,仲裁逻辑的结果输出给错误纠正控制逻辑电路。

表决器对来自三条流水线每一级的结果进行三取二表决,并将正确的结果输出。

仲裁逻辑的工作过程如图2所示:如果流水线1、流水线2、流水线3的结果一致,则输出“无错误”信息给错误纠正控制逻辑电路;如果流水线1和流水线2的结果一致,流水线1和流水线3的结果不一致,流水线2和流水线3的结果不一致,则说明流水线3出现错误,输出“流水线3错误”信息给错误纠正控制逻辑电路;如果流水线1和流水线3的结果一致,流水线1和流水线2的结果不一致,流水线3和流水线2的结果不一致,则说明流水线2出现错误,输出“流水线2错误”信息给错误纠正控制逻辑电路;如果流水线2和流水线3的结果一致,流水线2和流水线1的结果不一致,流水线3和流水线1的结果不一致,则说明流水线1出现错误,输出“流水线1错误”信息给错误纠正控制逻辑电路。

错误纠正控制逻辑电路接收到错误流水线信息后,按照错误纠正算法纠正这一级错误的流水线状态,纠正操作占用一个时钟周期,在下一时钟周期重新进行本级流水操作。错误纠正算法:当流水线1是错误流水线时,用流水线3替换这一级流水线1;当流水线2是错误流水线时,用流水线1替换这一级流水线2;当流水线3是错误流水线时,用流水线1替换这一级流水线3。

本发明说明书中未作详细描述的内容属本领域技术人员的公知技术。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1