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

通过选择重新执行来检测瞬态错误制造技术

技术编号:2915606 阅读:209 留言:0更新日期:2012-04-11 18:40
在一个实施例中,本发明专利技术包括一种方法,用来确定一条由处理器执行的指令的脆弱性程度或等级,并若该脆弱性等级超出某一阈值,用来重新执行该指令。该脆弱性等级可以对应于该指令在处于处理器内时出现逻辑错误的几率。描述了其他实施例并提出了权利要求。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术的一些实施例涉及半导体器件中错误的检测,更具体地说,涉及处理器中错误的检测。
技术介绍
瞬态错误经常称为逻辑错误,构成处理器中不断增长的错误来源。由于器件尺寸的缩小和工作电压的降低,这些器件更容易受到宇宙粒子的撞击和参数变化的伤害。这样的事件可能使瞬态错误发生,后者随机发生而且可能影响处理器所实现的执行。随着各代半导体生产工艺的发展,对逻辑错误越加敏感。人们已经采用某些机制来修正这些逻辑错误。通常,这些措施包括为数据的冗余操作提供冗余途径。然而,这样的冗余途径可能显著地增加处理器的体积和功耗,导致其效率恶化。另一方面,某些解决方案引导多线程方式同时进行(SMT“同时多线程”),以检测错误。采用这样的解决方案,临时地编程为或组织成两个独立执行的路径(例如,SMT核的两个线程)。所得到的数据进行对比,以核实其一致性。若结果不一致,则就是逻辑错误的迹象,且该错误被检测出。但是,在错误检测上依赖于某些物理部件或硬件,而不是运行其它处理过程,且在对结果的比较和线程的协调提供支持时存在复杂性,处理效率恶化显著。附图说明图1是表示本专利技术一个实施例的方法的流程图;图2是表示本专利技术一个实施例的一般处理器的体系结构或结构的-->框图;图3是表示本专利技术一个实施例的处理器的框图,图4是表示本专利技术一个实施例的多处理器系统的框图;而图5是表示本专利技术一个实施例的适合于新的选择指令执行的处理器的一部分的框图。具体实施方式在各实施例中,处理器中的逻辑错误可被检测,并可采取适当的措施来修正这样的错误。所述逻辑错误的检测可以在尽可能不增大复杂性或功耗的情况下实现。另一方面,一些实施例可利用现有的处理器结构来完成错误的检测。或者,可增加最小数量的附加物理装置或硬件即可实现逻辑错误的检测。为了实现逻辑错误的检测,可以根据不同的参数在该处理器序列的一个分段,有选择地重现或重新执行一些指令。例如,可以有选择地只重现那些特别可能出现逻辑错误(例如,根据其大小和/或在处理器中时间的长短)的指令。用这种方式可以在对效率影响最小的情况下检测数量相当大的逻辑错误。根据本专利技术一个实施例,逻辑错误的检测可以用不同方式实施。在某些实施例中,可以借助于一种或多种检测错误的算法,用现有的处理器结构来完成逻辑错误的检测。在其他实施例中,在处理器中可以具有检测逻辑错误用控制器和逻辑元件和/或附加的功能。在一个高的层次上,逻辑错误的检测可以这样实施,识别处理器序列的一个分段中对逻辑错误特别脆弱的指令,并重新执行这些指令。若最初的指令执行结果和该指令重新执行的结果一致,则指示没有任何逻辑错误。反之,若结果不同,则指示有逻辑错误,并可以采取恢复机制,以消除该错误。指令的脆弱性在很大程度上取决于一条指令在处理器中占用的区域和在处理器内传输的时间。例如,许多指令在其实现之前在处理器-->内使用大量周期,而其他一些指令穿过该序列分段而不占用空间尽管占一个周期时间。不仅如此,并非所有指令都使用相同的硬件装置。为了覆盖逻辑错误的检测,可以重现更脆弱的指令,从而以对效率影响最小的方式对错误提供尽可能大的覆盖。在一个实施例中,在实现指令的时刻(即退出指令时)重现脆弱的指令,然后该指令离开序列分段。在该实施例中,处理器内部可以包括一组运算逻辑单元(ALU),目的是当脆弱的指令达到重排序中间存储寄存器(ROB-"reorder buffer":重排序缓冲器)的上部时,例如,通过指令的重新执行来有效解救脆弱指令。由于在其生存期间,不同的指令在处理器中占用不同的存储量且使用不同的时间量,各指令对逻辑错误的脆弱性是不同的。如果识别出一些指令为更脆弱,则有可能用最低的指令重现等级在逻辑错误的检测中获得高的覆盖。这样,就可用最小的电路装置、最小的功耗,在对处理效率影响最小的情况下,在错误检测中获得最大量的覆盖。在不同的实施例中,指令对逻辑错误的脆弱性可能取决于指令类型(例如,装入、存储、分支、运算)、在处理器内部(或处理器的特定组成部分)的指令耗时和指令的其他特性(例如,源数据的就绪、临近区域狭窄以及因此具有较少的位数)。在处理器的组成部分中并非所有的指令都占用同样的空间。例如,装入和存储指令可将排序中间存储寄存器索引存储在其条目中,而其他指令则不利用这个区域。同样地,存储和分支指令不产生任何结果(因此不为它们分配任何目的地寄存器),并且,在形式上不使用存储目的地寄存器索引的发送或提交队列区域。没有利用这些位也就没有对粒子撞击的脆弱性,因此降低了该指令的脆弱性。提交队列的条目中某些位的脆弱性状态,也可取决于超标量序列分段的插入变化即动态。若当指令被发送到提交队列内部时,一条指令的源已经准备就绪,则提交队列内的源的标记区域是脆弱的。类似地,使用识别立即区域上的窄操作数的技术,可以将指令的立即区域的相当大部分变为不脆-->弱,以此降低该指令总体的脆弱性。接着,参照图1,该图是说明本专利技术一个实施例的方法的流程图。如图1所示,方法10可以从将时间标记或时间戳与一条指令相关联(方框15)开始。例如,处理器的端头或前端可以将一个时间标记与其状态为位于诸如重排序中间存储寄存器(ROB)等中间存储寄存器内的下一条指令相关联。在不同的实施例中,这些指令可以对应于微操作或显微(μops)操作,尽管在其他实施例中,错误的检测可在指令的细分(sub-divisionales)或可分的不同层次上实现。虽然这里联系特定处理器结构进行描述,但应明白,本专利技术的范围不限于此,瞬态错误的检测也可以在其他地方实现。此外,尽管这里描述为将时间标记与一条指令随着进入处理器的前端的指令相关联,但时间标记也可以在处理器序列分段的其它点上与指令关联。接着,还是参照图1,可在处理器的序列分段内注入指令(方框20)。据此,当该指令为其执行而临时地进行组织时,该指令可在处理器的序列分段上执行(方框25)。执行后,可以在取指令的瞬间计算该指令的脆弱性(方框30)。例如,当其执行结束且等待达到ROB的上部而退出(就是说,直到该指令在时间上较老为止)时,ROB上指令的状态设定为对于实现就绪。可在此瞬间计算该指令对逻辑错误的脆弱性。上述计算在不同的实施例中可采用许多不同的形式。该计算可以考虑该指令耗用的处理器区域以及该指令在处理器上存在的时间长短或持续时间。因此,可以考虑基本文档来自技高网...

【技术保护点】
一种方法,包括: 确定在处理器中实现或执行的一条指令的脆弱性程度或等级,以使所述脆弱性等级对应于所述指令出现逻辑错误的几率;以及 若所述脆弱性等级超出某个阈值,则重新执行所述指令。

【技术特征摘要】
【国外来华专利技术】1.一种方法,包括:
确定在处理器中实现或执行的一条指令的脆弱性程度或等级,以
使所述脆弱性等级对应于所述指令出现逻辑错误的几率;以及
若所述脆弱性等级超出某个阈值,则重新执行所述指令。
2.根据权利要求1的方法,还包括:在与已执行了该指令的处理
器的第一执行单元不同的处理器执行单元上重新执行所述指令。
3.根据权利要求1的方法,还包括:若所述脆弱性等级低于所述
阈值,则不重新执行所述指令。
4.根据权利要求1的方法,还包括:根据所述指令占用的处理器
区域和与所述指令的生存时间相关联的时间周期这二者中的至少其
一,确定所述脆弱性等级。
5.根据权利要求4的方法,还包括:用一个与所述指令相关联的
时间戳或时间标记来确定所述时间周期。
6.根据权利要求1的方法,还包括:
确定重新执行所述指令的结果是否与所述指令的结果一致;
若不一致则刷新所述处理器。
7.一种装置,包括:
至少一个寄存器堆和至少一个连接到所述至少一个寄存器堆的执
行单元;以及
一个指令验证单元,用来确定对于由所述执行单元执行的所述指
令的瞬态错误的脆弱性。
8.根据权利要求7的装置,其中,所述指令验证单元包括:
中间存储寄存器,用来存储指令和相关联的源数据的标签;以及
至少一个执行单元,连接到所述中间存储寄存器以重新执行一些
脆弱指令。
9.根据权利要求8的装置,其中,所述指令验证单元还包括逻辑
元件,用以根据所述指令用的区域值和所述指令用的时间值这二者中
的至少其一,确定一条指令的脆弱性程度或等级。
10.根据权利要求9的装置,其中,所述逻辑元件根据与该指令
相关联的时间戳或时间标记确定所述时间值。
11.根据权利要求9的装置,其中,若所述脆弱性等级大于某一
阈值,则所述逻辑元件将所述指令提供给至少一个执行单元以将它重
新执行。
12.根据权利要求11的装置,其中,所述阈值可根据选定的处理
效率调整,使所述阈值设定得更高而适合于更高的处理效率等级。
13.根据权利要求11的装置,还包括一个指令退出单元,以在所
述指令的重新执行与指令的最初执行相一致时,由所述取指令退出单
元退出该指令。
14.一种制品,包括机器可读存储介质并包含一些指令,这些指
令若由机器实现或执行则使所述机器完成包括如下步骤的方法:
在处理器中执行一条指令,以获得初始结果;
在所述指令对瞬态错误脆弱的情况下,在处理器中重新执行一条
指令,以取得重新执行的结果;以及
将所述初始结...

【专利技术属性】
技术研发人员:X贝拉O埃尔京O昂萨尔J阿韦拉A冈萨雷斯
申请(专利权)人:英特尔公司
类型:发明
国别省市:US[美国]

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

1