当前位置: 首页 > 专利查询>英特尔公司专利>正文

用于检测软错误的方法、设备和处理器技术

技术编号:2863761 阅读:185 留言:0更新日期:2012-04-11 18:40
一种方法,包括:    使用第一整数操作数和第二整数操作数来执行算术运行,以产生整数结果;    依据第一整数操作数、第二整数操作数及整数结果来执行非冗余补偿,以产生补偿结果;以及    验证补偿结果以判定是否存在有错误状态。(*该技术在2023年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术涉及用于处理数据的系统,尤其涉及用于在计算环境中执行期间检测软错误的系统。
技术介绍
处理器设计人员越来越关注的就是软错误现象。软错误是一些间歇性错误,这些错误,在处理器执行期间发生,并且是由于大气中撞击硅活性区域的阿尔法粒子或者高能量中子所导致的,并非是由于设计缺陷或制造缺陷所造成的。当使物理电路保持原样时,软错误改变存储器单元和逻辑中所贮存的电荷,从而产生了不正确的行为和结果。因此,软错误也被称作瞬态故障或单事件扰动(SEU),会导致无效状态。软错误的两个来源就是高能量中子和阿尔法粒子。高能量中子是宇宙射线与大气粒子之间碰撞的结果。阿尔法粒子来自于芯片材料(诸如焊接块)和封装材料的放射性衰变。当高能量中子或阿尔法粒子撞击硅基板的活性区域时,软错误就会发生,从而导致释放出改变晶体管状态的电荷(电子空穴对)。因此,当晶体管状态被改变时,正在执行的操作中就会发生错误。重要的是,此类错误通常在检测不到的情况下发生,并且会导致大量的错误。由于大规模集成化(诸如“VLSI”或“ULSI”等)设计趋势以及半导体制造趋势,人们预测软错误发生的几率(也被称为“软错误率”(SER))将会有所增大。对微处理器性能和设计起推动作用的几种趋势包括器件特征尺寸的规模及增加的流水线深度。这些趋势已导致晶体管在特征尺寸上的减小、在电压电平上的降低,以及在晶体管密度上的增加。撞击逻辑电路或存储器中晶体管的粒子(诸如高能量中子或阿尔法粒子等)能够改变电路所产生的值或在存储器中所存储的值。此类粒子将确实导致软错误的机会,随着密度等级增长和电压电平降低增大。虽然在服务器、工作站和任务关键性系统中软错误检测已经受到相当的关注,但是人们还是预测随着硅几何形状的收缩以及随着改变晶体管状态所需电荷的不断减少,在处理器(包括台式计算机)和网络组件设计中,软错误检测将变得日益重要。尽管由于极其难以阻挡那些导致软错误的粒子,而使得不容易阻止导致软错误的起因,但是许多处理器都已经包括有用来检测软错误的机制。然而,这些机制典型地集中在保护诸如系统存储器和高速缓存器等存储元件。这些机制包括纠错码(ECC)和奇偶校验技术。相反,在大多已知系统中,组合逻辑元件中的软错误的检测典型地涉及相对昂贵的冗余硬件方案。这种途径的缺陷就是由于冗余硬件的相当大的硅成本,因而提供充分的硬件冗余来检测组合逻辑中的软错误通常性价比不高。
技术实现思路
这里所公开的减少硬件的软错误检测装置与方法的实施例解决了了关于软错误的这些问题和其它问题。附图说明通过参照下列附图可以理解本专利技术,在附图中相同的元件用相同的标记及数字来指示。提供这些附图来举例说明减少硬件的软错误检测装置及其方法的所选实施例,而不是用来限制。图1是能执行减少硬件的软错误检测的整数处理器件的至少一个实施例的方框图。图2是现有技术中冗余硬件软错误检测系统的方框图。图3A是说明减少硬件的软错误检测系统的至少一个实施例的数据流动的数据流图。图3B是说明用于执行减少硬件的软错误检测的方法的流程图。图4是说明用于整数加法的减少硬件的软错误检测系统的至少一个实施例方框图。图5是说明用于整数减法的减少硬件的软错误检测系统的至少一个实施例的方框图。图6是说明用于整数运算的减法和整数加法的减少硬件的软错误检测系统的至少一个实施例的方框图。图7是说明图1、3A和4-6中所述验证逻辑的至少一个实施例的方框图。图8是说明用于整数加法的补偿逻辑的至少一个替换实施例的方框图。图9是说明用于整数加法的补偿逻辑的至少一个另一个替换实施例的方框图。具体实施例方式以下论述阐明了许多具体细节,以提供对本专利技术的全面理解。然而,受益于本公开文本的本领域普通技术人员将会认识到,本专利技术可以在没有这些具体细节的情况下加以实施。此外,为了将注意力集中在本专利技术的特征上,因而并未对各种众所周知的方法、步骤、组件和电路作详细描述。这里所论述的减少硬件的软错误检测实施例,既可供有符号整数表示使用,也可供无符号整数表示使用。尽管为了举例,下面的大量论述都是集中于有符号整数,但本领域技术人员将会认识到结合这里所述的软错误检测实施例,可以使用有符号整数表示,或者也可以使用无符号整数表示。就有符号整数而论,处理器体系结构一般规定了用来存储有符号整数的格式。表示有符号整数的常用格式为二进制补码格式。二进制补码表示法允许对有符号整数使用二进制算术运算,从而产生正确的二进制补码结果。正的二进制补码整数简单地被表示为该整数的二进制表示。负的二进制补码整数被表示为这样的一个二进制数,当将该二进制数加上与其大小相同的正数时等于零。处理器中的典型ALU处理有符号及无符号整数的加法和减法运算,并且还处理某些逻辑运算。正如这里所用的,术语“算术逻辑部件”及“ALU”都是指包括能执行整数算术运算的任何逻辑元件,这些整数算术运算包括有符号及无符号的加法和减法。本领域技术人员将会认识到,在不花费相当大的硅成本的情况下,用于执行诸如OR、AND等逻辑运算的典型ALU硬件可以加倍。相反,用于执行诸如整数加法和减法等算术运算的硬件(典型地称作“CPA”的带进位传播的加法器)却包括相当大的硅成本和执行成本。下面所公开的实施例提供了无要求冗余硬件的软错误检测。取而代之的是,补偿和验证逻辑根据所观测的整数加法和减法的特性来确定是否已发生错误。图1是整数处理器件100的方框图,所述整数处理器件100适合于实现如这里所述的减少硬件的软错误检测。系统100适合于实现为处理器的整数执行部件。系统100包括算术逻辑部件130、补偿逻辑140和验证逻辑150。系统100从整数寄存器堆110中接收整数操作数。整数寄存器堆110存储将由ALU 130和补偿逻辑140处理的整数数据的操作数值。对于至少一个实施例,所述整数数据的操作数值可以表示为二进制补码的有符号整数。对于至少一个替换实施例,所述整数数据的操作数值可以表示为无符号整数。器件100提供一个错误指示,对于至少一个实施例,该错误可提供给可选的退出逻辑120的错误指示。在乱序处理器中,所述退出逻辑120从所述执行部件接收已执行指令的完成状态,并对结果进行处理,以便于根据程序次序来提交(或退出)适当的结构状态。本领域技术人员将会认识到,存在许多处理软错误指示的方式,包括检测、报告和纠正。可选的退出逻辑120代表的只是此类错误处理的许多可能实施例中的一种。图2说明了一种现有技术的软错误检测方案,在所述方案中,主ALU200a和冗余ALU200b对相同的输入A与B进行处理。换言之,ALU硬件是重复的。比较硬件210对分别由主ALU220a和冗余ALU200b所生成的输出值进行比较。如果这两个输出值不相同,则假定已经发生软错误并生成错误指示。如此一来,在图2中所述的系统就是“重复”与“比较”系统。如上所释,图2中所述的冗余ALU硬件要求相对昂贵的带进位传播的加法器硬件的复制。此外,“重复与比较”系统要求比较硬件,所述硬件要比下面所进一步详述的验证逻辑150(图1)在空间及执行时间上有更多的开销。由于与补偿电路和验证逻辑相关的相对较小的硬件区域,如下结合图3A至图9所描述的,所以暴露出较少的区域,并且出现软错误的几率要比在如图2所示的重复与比较系统的相对较大硬件区域中的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种方法,包括使用第一整数操作数和第二整数操作数来执行算术运算,以产生整数结果;依据第一整数操作数、第二整数操作数及整数结果来执行非冗余补偿,以产生补偿结果;以及验证补偿结果以判定是否存在有错误状态。2.如权利要求1所述的方法,其中验证补偿结果以判定是否存在有错误状态的步骤包括判定补偿结果是否等于预定验证值。3.如权利要求2所述的方法,其中所述预定验证值为-1。4.如权利要求1所述的方法,其中所述补偿结果包括一和值和一进位值。5.如权利要求1所述的方法,其中所述算术运算是加法。6.如权利要求5所述的方法,其中执行非冗余补偿的步骤进一步包括将整数结果进行反相以生成反相的整数结果;和对所述反相的整数结果、第一整数操作数和第二整数操作数进行求和,以生成补偿结果。7.如权利要求4所述的方法,其中验证补偿结果以判定是否存在有错误状态的步骤进一步包括执行和值与进位值的统一运算,以产生一个验证结果值;和判定所述验证结果值是否等于预定验证值。8.如权利要求7所述的方法,其中,所述预定验证值为-1。9.如权利要求1所述的方法,其中,所述算术运算为减法。10.如权利要求9所述的方法,其中,执行非冗余补偿的步骤进一步包括将第一整数操作数进行反相,以产生反相的操作数;和对所述反相的操作数、第二整数操作数和整数结果进行求和,以生成补偿值。11.如权利要求1所述的方法,其中,执行非冗余补偿的步骤进一步包括如果指示是减法运算,则对第一整数操作数进行有条件反相以产生反相的减法操作数;如果指示是加法运算,则对整数结果进行有条件反相以产生反相的加法结果,所述整数结果是第一整数操作数与第二整数操作数之和;如果指示是加法运算,则对所述反相的加法结果、第一整数操作数和第二操作数进行求和;和如果指示是减法运算,则对所述反相的减法操作数、第二整数操作数和整数结果进行求和以生成补偿结果,所述减法结果是第一整数操作数与第二整数操作数之差。12.一种处理器,包括用于生成输出值的算术逻辑部件;用于以所述输出值为基础生成补偿结果的补偿逻辑;和用于判定所述补偿结果是否等于预定验证值的验证逻辑。13.如权利要求12所述的处理器,其中,所述补偿结果包括一和值与一进位值。14.如权利要求13所述的处理器,其中,所述验证逻辑进一步包括用于对所述和值与进位值执行统一运算以得出验证结果值的逻辑;和用于判定所述验证结果是否等于预定验证值的逻辑。15.如权利要求14所述的处理器,其中,所述预定验证值为-1。16.如权利要求12所述的处理器,其中,所述补偿逻辑包括用于将第一整数操作数反相以产生反相的操作数的逻辑;和用于对所述反相的操作数、第二整数操作数和输出值进行求和以生成补偿结果的逻辑,所述输出值表示减法的结果。17.如权利要求12所述的处理器,其中,所述补偿逻辑包括用于将输出值进行反相以产生反相的加法结果的逻辑,所述输出值表示第一整数操作数与第二整数操作数之和;和用于对第一整数操作数、第二整数操作数和反相的加法结果进行求和以生成补偿结果的逻辑。18.如权利要求12所述的处理器,其中,所述预定验证值为-1。19.如权利要求12所述的处理器,其中,所述补偿逻辑包括如果指示是减法运算则对第一整数操作数进行有条件反相以产生反相的减法操作数的逻辑;如果指示是加法运算则对输出值进行有条件反相以产生反相的加法结果的逻辑,所述...

【专利技术属性】
技术研发人员:S·马基内尼G·B·多施
申请(专利权)人:英特尔公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1