CN100449480C - 用于降低微处理器内的虚假差错检测的方法和装置 - Google Patents

用于降低微处理器内的虚假差错检测的方法和装置 Download PDF

Info

Publication number
CN100449480C
CN100449480C CNB200580019724XA CN200580019724A CN100449480C CN 100449480 C CN100449480 C CN 100449480C CN B200580019724X A CNB200580019724X A CN B200580019724XA CN 200580019724 A CN200580019724 A CN 200580019724A CN 100449480 C CN100449480 C CN 100449480C
Authority
CN
China
Prior art keywords
bit
instruction
processor
subclauses
clauses
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.)
Expired - Fee Related
Application number
CNB200580019724XA
Other languages
English (en)
Other versions
CN1969256A (zh
Inventor
S·慕克吉
J·艾默尔
S·雷恩哈特
C·维弗
M·史密斯
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of CN1969256A publication Critical patent/CN1969256A/zh
Application granted granted Critical
Publication of CN100449480C publication Critical patent/CN100449480C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3861Recovery, e.g. branch miss-prediction, exception handling
    • G06F9/3865Recovery, e.g. branch miss-prediction, exception handling using deferred exception handling, e.g. exception flags
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Advance Control (AREA)
  • Detection And Correction Of Errors (AREA)
  • Debugging And Monitoring (AREA)

Abstract

一种降低微处理器内的虚假差错检测的技术。pi比特随着指令通过指令流程路径传播。当检测到奇偶校验差错时,该pi比特被置位而非引发机器检查异常。一旦到达提交点,处理器就能够确定该指令是否在错误路径上。

Description

用于降低微处理器内的虚假差错检测的方法和装置
相关申请
本申请涉及下列在同一日提交的共同转让、共同待决的申请:2004年6月17日提交的题为“Reducing False Error Detection In A Microprocessor By TrackingInstructions Neutral To Errors”的第_____号申请;以及2004年6月17日提交的题为“Reducing False Error Detection In A Microprocessor By Tracking DynamicallyDead instructions”的第_____号申请。
发明背景
由于中子和α粒子轰击而引起的瞬时出错日益成为未来处理技术中增加处理器晶体管数量的巨大障碍。虽然个别晶体管的出错率可能不会明显增加,但是将更多晶体管结合成一个设备就会导致该设备遭遇出错的可能性增大。结果,预料到将需要更多的设计努力才能把处理器差错率保持在可接受水平。
由瞬时出错导致的单比特翻转已经成为当今微处理器设计的一大关键难题。这些出错是由诸如来自宇宙射线的中子和来自封装材料的α粒子之类的高能粒子所产生的。晶体管的源极和扩散节点会收集这些电荷。足量的聚集的电荷会翻转诸如SRAM单元、锁存器或门之类的逻辑设备状态,从而将逻辑出错引入到电路工作中。因为这一类型的出错并不反映设备的永久故障,所以就称之为软差错或瞬时差错。
随着片上晶体管数目呈指数增加,软差错正成为微处理器设计者愈发沉重的负担。对于下几代技术,每锁存器或SRAM比特的原始差错率被设计成保持大致恒定或略微下降。于是,除非额外的差错保护机制或使用更强有力的技术(诸如,完全耗竭型SOI),否则微处理器的差错率就会与在后续的每一代中添加给处理器的器件数直接成正比地增长。
附图简述
本发明的各特征在以下对附图中所示的较佳实施例的描述中显而易见,各附图中类似的标号指代相同的部分。附图无需按比例画出,而是着重示出本发明的原理。
图1是微处理器中出错比特的可能结果的框图。
图2a至2d是示出了当沿着指令流程路径使用pi比特以检测指令中出现的软差错时本发明一个实施例的框图。
图3是示出根据本发明一个实施例的操作的流程图。
图4是示出在其中实现本发明以检测软差错的一个示例性计算机系统的框图。
详细描述
在随后的描述中,出于说明而非限制的目的,阐明了诸如特定结构、架构、接口、技术等的具体细节以提供对本发明各方面的全面理解。然而,对从本公开中获益的本领域普通技术人员而言显而易见的是能够使用与这些具体细节不同的其他示例来实现本发明的各方面。在某些实例中,省略了对公知的设备、电路和方法的描述以免用不必要的细节淡化对本发明的描述。
图1示出了微处理器中单比特出错的可能结果。起初,微处理器确定是否读取了出错比特100。如果未读取出错比特110,则认为是良性出错并且无差错。如果读取了出错比特,则处理器接着就确定该比特是否具有差错保护115。当读取出错比特时至少存在三种可能结果。首先,如果对该比特检测到差错保护并对其进行校正,则认为出错被校正120。
其次,如果该比特没有差错保护,则处理器确定该指令是否会影响程序结果125。如果该指令不影响程序结果,则认为该出错比特是良性出错130。因为出错无效果或已被检测到并被校正,所以出错110、120和130都指示非差错状态。
如果该指令确实影响程序结果,则认为这是一个无记载数据讹误(SDC)135。SDC 135是其中出错会诱发系统生成差错输出的最具隐匿性形式的差错。为了避免SDC 135,设计者可以使用诸如奇偶校验等基本差错检测机制。
当比特具有差错保护时的第三种可能结果适用于检测到差错140的情形。使用检测但不校正出错的能力,系统可以避免生成无效输出,但却无法在出现差错时恢复。所以,简单的差错检测虽然无法降低差错率,但却能提供停止故障行为,并由此减少任何数据讹误。此类差错被称为测得的不可恢复差错(DUE)。
还可根据测得的差错是否影响执行的最终输出而进一步细分DUE事件。可将良性测得差错称为假DUE事件145,而将其他的称为真DUE事件150。在微处理器中,对错误路径指令、虚假预测指令、以及包括空操作、预取和动态死指令在内的不影响最终程序状态的正确路径指令的轰击都会导致假DUE事件的产生。
本发明的一个实施例利用一种通过降低瞬时出错引发处理器声明差错条件的可能性的机制来降低差错率。为了跟踪假DUE事件,微处理器把用于可能不正确(Possibly Incorrect)并被称为pi比特的比特附加至每条指令,并由此潜在地附加至各硬件结构。当检测到差错时,硬件就设置受影响指令的pi比特而非发出差错信号。随后,通过检查pi比特并识别该指令的特性,该硬件就能判定是否已经出现可见差错。
区别真假差错的过程很复杂。处理器在它测得差错时可能没有足够的信息来做出这一区别。例如,当指令队列检测到指令上的差错时很可能无从知晓该指令是否是错误路径指令。因此,处理器需要沿着流水线向下传播该差错信息并在其掌握了足够的信息来做出该区分时才引发该差错。
为了在微处理器硬件的不同部分之间传播差错信息,系统使用pi比特。该pi比特在每条指令沿流水线从解码向下流至引退的过程中都与其逻辑上相关联。
图2a至2d示出了当沿着指令流程路径使用pi比特以检测指令中出现的软差错时的一个实施例。对于一条指令来说,当该指令被解码200时,就把pi比特附加至该指令并将其初始化为零。将pi比特清零以指示指令中不存在任何差错。当指令流过流水线205时,它将被变换多次以适应机器并对诸如指令队列等许多不同存储结构进行写和读。
当指令队列210接收到该指令时,它将pi比特连同该指令一起存储。如果该指令累积了一个单比特翻转,则标记一个奇偶校验差错。一检测到差错,指令队列210就将受影响指令的pi比特设置为1,而非引发机器异常检查。随后,该指令就被发出并沿着流水线205向下流。
差错检查和pi比特更新也可以在流水线的多个阶段和/或对指令执行过程中的多个结构使用。差错检验逻辑可以采取奇偶校验器或者已知或其他可用的差错检测技术的形式。此外,差错检测和校正技术可以在上述各阶段或对上述各结构使用,其中pi比特在不可恢复差错的情况下被置位。
最后,指令被提交215。在提交阶段,提交硬件已经掌握了足够的信息来确定该指令是否为错误路径指令。如果是,则处理器就忽略该pi比特,从而避免了在该比特被置位的情况下的假DUE事件。如果不是,则处理器具有在指令提交点215引发机器差错检验的选择权。
只要pi比特能在对象间正确地传播,就能通过对流经流水线205的不同对象附加pi比特来推广pi比特机制。例如,许多微处理器通常一次取出多条指令,这有时被称为组块。组块在解码后才流入流水线前端。可以为每一取出的组块附加pi比特。如果该组块遇到差错,则处理器就将该组块的pi比特置位。随后当该组块被解码成多条指令时,处理器就复制该组块的pi比特值以初始化每条指令的pi比特。这样,处理器就能在各条指令被解码之前使用pi比特来避免流水线前端结构上的假DUE事件。
在另一个实施例中,处理器可以将pi比特信息从指令传送至寄存器,并由此避免寄存器文件内动态死指令导致的假DUE事件。处理器能够将指令的pi比特传送给它写入的目的寄存器,而非在该指令的pi比特被置位时引发差错。如果没有后续指令读取该寄存器,则将不会检验该寄存器的pi比特,因此处理器就能避免写入寄存器的一级动态死(FDD)指令。然而,当后续指令读取pi比特被置位的寄存器时,处理器就可发出差错信号。
可选地,读取该寄存器的指令可以将其全部源寄存器的pi比特和它自己的pi比特进行或运算并沿流水线携带它,而非在寄存器的pi比特被置位时引发上述差错。该实施例可以沿着依赖链传播pi比特,并还允许处理器跟踪传递的动态死(TDD)指令。跟踪TDD指令的一种方法是仅在处理器与存储器系统或I/O设备交互时声明该差错。由此,如果除了高速缓存和主存储器之外在处理器的每一结构中都存在pi比特并且都遵守以上针对pi比特描述的相同的继承规则,则也能够避免TDD指令上的假出错。为了出现上述情形,该系统仅在存储指令220或I/O访问要将其数据提交给高速缓存、存储器系统或I/O设备时才标记差错。这一传播不仅能避免寄存器文件内针对TDD指令的假DUE,还能避免针对随着指令和值流程通过流水线的其他结构的假DUE。
在另一个实施例中,处理器可将来自指令或寄存器的pi比特转换成存储器的值以跟踪诸如存储缓冲器和高速缓存220等存储器结构内的假DUE事件。处理器可以将pi比特附加至每个高速缓存块,并且当存储指令写地址时,处理器能够将该存储指令的pi比特传送至高速缓存块。随后,当负载225读取该高速缓存块时,它就可以检验该pi比特或者将该pi比特传送至它正装载的寄存器213。如果pi比特被传送至寄存器213,则处理器能避免发出引发动态死存储器值超范围的假DUE事件信号。
可选地,如果系统在整个处理器芯片和存储器系统上具有pi比特,则该处理器能够经由存储器跟踪FDD和TDD指令两者的假差错。在这些实例中,仅在处理器做出其pi比特被置位的I/O访问(例如,未被高速缓存的负载或存储)时才引发差错。这能允许设计者在共享存储器的多处理器系统中跟踪跨越多个处理器的差错。
于是,通常说来,pi比特可以被附加至流经流水线的任何对象或被附加至任何硬件结构,但是pi比特的间隔尺寸则依赖具体的实现。例如,如果将pi比特附加至一64比特寄存器的值,则单个pi比特就只能通知64个比特中一个比特具有差错。可选地,如果每个字节就有一个pi比特,则处理器能识别64个比特中哪一字节具有差错。
图3是检测软差错方法的一个实施例的流程图。在这一特定实施例中,流程图300示出了处理器确定一指令是否是错误路径指令的情况。起初,当指令被解码305时,pi比特就与指令相关联310并被初始化为零。通过将pi比特初始化为零,这指示了该指令不存在任何差错。接着,该指令连同其pi比特一起在流水线中排队315。当该指令流经流水线时,它将被多次转换以适应机器,并将对许多不同的存储元件进行读和写。
在指令流经流水线期间,指令可能会累积单比特翻转并且会对该指令标记奇偶校验差错320。如果对该指令检测到差错,则流水线可以将受影响指令的pi比特置为一325而非引发机器检查异常,并且最终提交该指令330。如果未检测到差错,则该指令最终被提交330。提交硬件能在随后确定该指令是否是错误路径指令335。如果确定该指令是错误路径指令,则忽略pi比特340,否则处理器具有是否引发差错(诸如,机器检查差错)的选择权345。
图4示出了用于检测软差错的一个典型系统实现。示出了计算机400,其中处理器405用作构成计算机400的一个或多个中央处理单元(CPU)的唯一处理器或多个处理器中的一个。处理器405通常可被嵌入单个集成电路芯片内。处理器405可以包括含有一个或多个执行单元的执行(处理)核心410。处理器405的一部分可以专用于包括指令处理装置415。指令处理装置415被示为耦合至核心410。
可以根据以上描述在核心410中执行指令以实践本发明。存储器可以是片上(如图中的片上存储器420)或片外(如图中的片外存储器425)的。片上存储器通常可以是高速缓冲存储器或主存储器(RAM)的一部分。片外存储器通常由主存储器(以及片外高速缓存,如果存在的话)以及诸如磁盘存储介质等其他存储器设备组成。片上存储器420和片外存储器425都可以个别地或分离地连接至各种设备,诸如音频接口设备430。然而应该注意到,可以用处理供核心410执行的各指令的其他方法来配置本发明。
pi比特机制通过降低假差错来减少假DUE事件。当缺乏出错检测机制时,这些差错本不会对程序的最终结果造成影响。例如,影响动态死指令结果的一个差错将不会改变最终的程序输出,但仍然会被硬件标记为一差错。为避免发出这些假差错信号,pi比特机制修改流水线的差错检测逻辑以便经由pi比特把受影响的指令和数据标记为可能不正确,而非立即发出差错信号。随后,处理器仅在它稍后确定上述可能不正确的值将影响程序输出时才发出差错信号。
在某些实施例中,pi比特传播差错信息以便在处理器能够确定该差错实际上是假差错还是真差错的稍后的时间点引发该差错。这样,pi比特机制就能将差错的检测与差错的标记分离。这就允许处理器设计者可以选择是使用一个值还是当用于一值的pi比特超范围时引发该差错。
在某些实施例中的其他优点是检测出错的奇偶校验器无需在引发机器检查异常在每个位置上都具有附加硬件。而是可以在pi比特中标出该差错。而提交硬件可以是要求硬件引发机器检查异常的仅有的位置。
在随后的描述中,出于解释而非限制的目的,将阐述诸如特定结构、架构、接口、技术等的具体细节以提供对本发明各方面的全面理解。然而对从本公开中获益的本领域普通技术人员来说显而易见的是可以在与这些具体细节不同的其他示例中实现本发明的各方面。在某些示例中省略了对公知设备、电路和方法的描述以免用不必要的细节淡化本发明所描述的主题。

Claims (40)

1.一种处理器,包括:
接收指令的解码模块;
耦合至所述解码模块用以存储所述指令的存储结构;以及
指令处理单元,耦合至所述存储结构并包含处理所述指令的多个阶段,并且更新一比特以标识是否发生破坏所述指令但不引发所述标识的异常的比特状态变化,其中所述比特随所述指令流经所述多个阶段,其中所述处理器确定所述指令是否为错误路径指令,且如果是,则忽略所述比特。
2.如权利要求1所述的处理器,其特征在于,所述指令被初始化为指示所述指令不存在任何差错的第一值。
3.如权利要求1所述的处理器,其特征在于,所述存储结构是指令队列。
4.如权利要求2所述的处理器,其特征在于,一旦检测到差错,所述存储结构就把所述比特置为第二值。
5.如权利要求4所述的处理器,其特征在于,所述指令和所述比特将流经所述多个阶段。
6.如权利要求5所述的处理器,其特征在于,所述指令以所述比特为第二值的状态提交。
7.如权利要求6所述的处理器,其特征在于,如果所述比特被更新且如果所述指令不是错误路径指令,则所述处理器引发一差错。
8.如权利要求6所述的处理器,其特征在于,如果所述指令不是错误路径指令,则所述处理器引发机器检查差错。
9.如权利要求1所述的处理器,其特征在于,所述指令是组块,并且每个取出的组块都附加有一比特。
10.如权利要求9所述的处理器,其特征在于,所述组块被解码成多条指令,所述处理器把所述组块的比特值复制到所述多条指令中的每一条。
11.如权利要求1所述的处理器,其特征在于,所述处理器将所述比特传送给目的寄存器。
12.如权利要求11所述的处理器,其特征在于,如果没有后续指令读取所述目的寄存器,则将不检查所述寄存器的比特。
13.如权利要求11所述的处理器,其特征在于,全部所述指令源寄存器的比特都与所述指令自己的比特在逻辑上进行或运算以提供单个比特。
14.如权利要求1所述的处理器,其特征在于,所述处理器把所述比特从指令传送至存储器模块。
15.如权利要求14所述的处理器,其特征在于,所述处理器将一比特附加至每个高速缓存块,一旦存储指令写入一地址,所述处理器就把所述存储指令的比特传送给所述高速缓存块。
16.如权利要求14所述的处理器,其特征在于,一负载读取所述高速缓存块以检查所述比特或者将所述比特传送至它正装载的所述寄存器。
17.如权利要求1所述的处理器,其特征在于,所述比特是pi比特。
18.一种方法,包括:
解码一指令;
连同所述指令一起装载一比特,所述比特与所述指令的奇偶校验相关联;
连同所述比特将所述指令在一队列中排队;
通过一流水线的各阶段传播所述指令和所述比特以处理所述指令并通过设置所述比特且不引发异常来标识所述指令的状态变化;以及
在提交点确定所述指令是否为错误路径指令,且如果所述指令是一错误路径指令则忽略所设置的比特。
19.如权利要求18所述的方法,其特征在于,还包括如果所述指令不是错误路径指令则引发机器检验差错。
20.一种装置,包括:
接收条目的解码模块;
存储与所述条目相关联的检测比特的存储元件,所述检测比特标识是否出现破坏所述条目的比特状态变化;
处理所述条目的指令队列;
将所述条目流程连同所述检测比特通过多个阶段传播的指令流程路径;以及
提交模块,用于确定所述条目是否在错误路径上,且如果所述条目是错误路径条目则忽略所述比特状态变化,否则则引发错误。
21.如权利要求20所述的装置,其特征在于,所述检测比特是pi比特。
22.如权利要求21所述的装置,其特征在于,所述检测比特与所述指令的奇偶校验相关联。
23.如权利要求20所述的装置,其特征在于,所述检测比特被初始化为指示所述条目上不存在任何差错的第一值。
24.如权利要求23所述的装置,其特征在于,一旦检测到差错,所述指令队列将所述条目的检测比特置为第二值。
25.如权利要求24所述的装置,其特征在于,所述条目被发出并流经所述指令流程路径的多个阶段。
26.如权利要求24所述的装置,其特征在于,以检测比特为第二值的状态提交所述条目。
27.如权利要求20所述的装置,其特征在于,如果所述提交模块确定所述条目不是错误路径条目,则所述装置引发机器检查差错。
28.一种系统,包括:
在取出之前存储条目的片外存储器;
耦合至所述片外存储器的处理器,其中所述处理器还包括:
接收所述条目的解码模块;
存储与所述条目相关联的比特以指示比特状态变化的存储元件;
处理所述条目的指令队列;
将所述条目的流程连同所述比特通过各阶段传播的指令流程路径;以及
提交模块,用于确定所述条目是否在错误路径上,且如果所述条目是错误路径条目则忽略所述比特状态变化,否则则引发错误。
29.如权利要求28所述的系统,其特征在于,还包括耦合至所述片外寄存器的音频接口。
30.如权利要求28所述的系统,其特征在于,所述比特是pi比特。
31.如权利要求28所述的系统,其特征在于,所述比特标识是否出现了破坏所述条目的比特状态变化。
32.如权利要求31所述的系统,其特征在于,所述比特状态变化是奇偶性的。
33.如权利要求28所述的系统,其特征在于,所述比特被初始化为指示所述条目上不存在任何差错的第一值。
34.如权利要求33所述的系统,其特征在于,一旦检测到差错,所述指令队列就把所述条目的检测比特置为第二值。
35.如权利要求34所述的系统,其特征在于,所述条目被发出并流经所述指令流程路径的多个阶段。
36.如权利要求34所述的系统,其特征在于,所述条目在所述比特为第二值的状态下提交。
37.如权利要求36所述的系统,其特征在于,如果所述提交模块确定所述条目是错误路径条目,则所述系统忽略所述比特。
38.如权利要求37所述的系统,其特征在于,如果所述提交模块确定所述条目不是错误路径条目,则所述系统引发机器检查差错。
39.如权利要求28所述的系统,其特征在于,还包括片上存储器。
40.如权利要求39所述的系统,其特征在于,还包括耦合至所述片上存储器的音频接口设备。
CNB200580019724XA 2004-06-17 2005-05-20 用于降低微处理器内的虚假差错检测的方法和装置 Expired - Fee Related CN100449480C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/871,430 2004-06-17
US10/871,430 US7555703B2 (en) 2004-06-17 2004-06-17 Method and apparatus for reducing false error detection in a microprocessor

Publications (2)

Publication Number Publication Date
CN1969256A CN1969256A (zh) 2007-05-23
CN100449480C true CN100449480C (zh) 2009-01-07

Family

ID=34981730

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB200580019724XA Expired - Fee Related CN100449480C (zh) 2004-06-17 2005-05-20 用于降低微处理器内的虚假差错检测的方法和装置

Country Status (6)

Country Link
US (2) US7555703B2 (zh)
JP (1) JP4448539B2 (zh)
CN (1) CN100449480C (zh)
DE (1) DE112005001338T5 (zh)
TW (1) TWI277861B (zh)
WO (1) WO2006007147A1 (zh)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050283590A1 (en) * 2004-06-17 2005-12-22 Weaver Christopher T Reducing false error detection in a microprocessor by tracking dynamically dead instructions
US7370231B2 (en) * 2004-12-14 2008-05-06 Intel Corporation Method of handling errors
US7581152B2 (en) * 2004-12-22 2009-08-25 Intel Corporation Fault free store data path for software implementation of redundant multithreading environments
US20060190700A1 (en) * 2005-02-22 2006-08-24 International Business Machines Corporation Handling permanent and transient errors using a SIMD unit
DE102006005817B4 (de) * 2006-02-08 2014-06-26 Infineon Technologies Ag Fehlererkennungsvorrichtung für einen Adressdecoder und Vorrichtung zur Fehlererkennung für einen Adressdecoder
DE102006062703A1 (de) * 2006-02-08 2007-08-30 Infineon Technologies Ag Fehlererkennungsvorrichtung und Verfahren zur Fehlererkennung für einen Befehlsdecoder
US8201067B2 (en) * 2008-02-25 2012-06-12 International Business Machines Corporation Processor error checking for instruction data
US7849387B2 (en) * 2008-04-23 2010-12-07 Intel Corporation Detecting architectural vulnerability of processor resources
GB2466984B (en) * 2009-01-16 2011-07-27 Imagination Tech Ltd Multi-threaded data processing system
US20110099439A1 (en) * 2009-10-23 2011-04-28 Infineon Technologies Ag Automatic diverse software generation for use in high integrity systems
US20110208948A1 (en) * 2010-02-23 2011-08-25 Infineon Technologies Ag Reading to and writing from peripherals with temporally separated redundant processor execution
US8516356B2 (en) 2010-07-20 2013-08-20 Infineon Technologies Ag Real-time error detection by inverse processing
US8671309B2 (en) * 2011-07-01 2014-03-11 Intel Corporation Mechanism for advanced server machine check recovery and associated system software enhancements
US9176739B2 (en) * 2011-08-05 2015-11-03 Cisco Technology, Inc. System and method for checking run-time consistency for sequentially and non-sequentially fetched instructions
US9106258B2 (en) 2013-11-22 2015-08-11 International Business Machines Corporation Early data tag to allow data CRC bypass via a speculative memory data return protocol
FR3030793B1 (fr) * 2014-12-19 2018-02-16 Clearsy Procede d'arret d'urgence et systeme securitaire associe
US10761925B2 (en) * 2015-03-24 2020-09-01 Nxp Usa, Inc. Multi-channel network-on-a-chip
US9595349B2 (en) 2015-06-25 2017-03-14 Intel Corporation Hardware apparatuses and methods to check data storage devices for transient faults
US10802932B2 (en) * 2017-12-04 2020-10-13 Nxp Usa, Inc. Data processing system having lockstep operation

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1037815A (zh) * 1988-05-09 1989-12-06 Gec-普列斯长途电讯有限公司 时分多路复用数据传输系统
US5535226A (en) * 1994-05-31 1996-07-09 International Business Machines Corporation On-chip ECC status
US5898867A (en) * 1992-10-07 1999-04-27 International Business Machines Corporation Hierarchical memory system for microcode and means for correcting errors in the microcode
US6457119B1 (en) * 1999-07-23 2002-09-24 Intel Corporation Processor instruction pipeline with error detection scheme
US20020199151A1 (en) * 2001-06-26 2002-12-26 Zuraski Gerald D. Using type bits to track storage of ECC and predecode bits in a level two cache

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3531631A (en) * 1967-01-11 1970-09-29 Ibm Parity checking system
US4241396A (en) * 1978-10-23 1980-12-23 International Business Machines Corporation Tagged pointer handling apparatus
US4224681A (en) * 1978-12-15 1980-09-23 Digital Equipment Corporation Parity processing in arithmetic operations
US4604750A (en) * 1983-11-07 1986-08-05 Digital Equipment Corporation Pipeline error correction
US4794517A (en) * 1985-04-15 1988-12-27 International Business Machines Corporation Three phased pipelined signal processor
JPS6312030A (ja) 1986-07-02 1988-01-19 Nec Corp 情報処理装置のエラ−処理機構
US5297263A (en) * 1987-07-17 1994-03-22 Mitsubishi Denki Kabushiki Kaisha Microprocessor with pipeline system having exception processing features
US4888679A (en) * 1988-01-11 1989-12-19 Digital Equipment Corporation Method and apparatus using a cache and main memory for both vector processing and scalar processing by prefetching cache blocks including vector data elements
JP2618958B2 (ja) * 1988-03-28 1997-06-11 株式会社東芝 パリティチェック制御装置
JPH03209523A (ja) 1990-01-11 1991-09-12 Fujitsu Ltd 命令データエラー検出方式
JPH04264624A (ja) 1991-02-19 1992-09-21 Toshiba Corp プロセッサ
US5649090A (en) * 1991-05-31 1997-07-15 Bull Hn Information Systems Inc. Fault tolerant multiprocessor computer system
EP0529303A3 (en) * 1991-08-29 1993-09-22 International Business Machines Corporation Checkpoint synchronization with instruction overlap enabled
JP3035108B2 (ja) 1993-04-02 2000-04-17 株式会社東芝 並列演算処理装置
US5537559A (en) * 1994-02-08 1996-07-16 Meridian Semiconductor, Inc. Exception handling circuit and method
US5673408A (en) * 1995-02-14 1997-09-30 Hal Computer Systems, Inc. Processor structure and method for renamable trap-stack
KR100206887B1 (ko) * 1995-12-31 1999-07-01 구본준 프로그램 오동작 방지를 위한 씨피유
US5813027A (en) * 1996-03-08 1998-09-22 Vlsi Technology, Inc. Method for storing and transferring wave table audio samples using a DSP cache, a link list structure, and compression
US5872910A (en) * 1996-12-27 1999-02-16 Unisys Corporation Parity-error injection system for an instruction processor
US6247118B1 (en) * 1998-06-05 2001-06-12 Mcdonnell Douglas Corporation Systems and methods for transient error recovery in reduced instruction set computer processors via instruction retry
US6253306B1 (en) * 1998-07-29 2001-06-26 Advanced Micro Devices, Inc. Prefetch instruction mechanism for processor
US6738892B1 (en) * 1999-10-20 2004-05-18 Transmeta Corporation Use of enable bits to control execution of selected instructions
US6675341B1 (en) * 1999-11-17 2004-01-06 International Business Machines Corporation Extended error correction for SEC-DED codes with package error detection ability
US6862677B1 (en) * 2000-02-16 2005-03-01 Koninklijke Philips Electronics N.V. System and method for eliminating write back to register using dead field indicator
KR20010087046A (ko) 2000-03-06 2001-09-15 서평원 컴퓨터 시스템
US6543028B1 (en) * 2000-03-31 2003-04-01 Intel Corporation Silent data corruption prevention due to instruction corruption by soft errors
US6654909B1 (en) * 2000-06-30 2003-11-25 Intel Corporation Apparatus and method for protecting critical resources against soft errors in high performance microprocessors
US6662319B1 (en) * 2000-08-31 2003-12-09 Hewlett-Packard Development Company, L.P. Special encoding of known bad data
US6895527B1 (en) * 2000-09-30 2005-05-17 Intel Corporation Error recovery for speculative memory accesses
US6823448B2 (en) * 2000-12-15 2004-11-23 Intel Corporation Exception handling using an exception pipeline in a pipelined processor
US6704890B1 (en) * 2000-12-22 2004-03-09 Nortel Networks Limited Skew compensating interface for operation with arbitrary data
US7318169B2 (en) 2002-05-15 2008-01-08 David Czajkowski Fault tolerant computer
US7222270B2 (en) * 2003-01-10 2007-05-22 International Business Machines Corporation Method for tagging uncorrectable errors for symmetric multiprocessors
US20050138478A1 (en) * 2003-11-14 2005-06-23 Safford Kevin D. Error detection method and system for processors that employ alternating threads

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1037815A (zh) * 1988-05-09 1989-12-06 Gec-普列斯长途电讯有限公司 时分多路复用数据传输系统
US5898867A (en) * 1992-10-07 1999-04-27 International Business Machines Corporation Hierarchical memory system for microcode and means for correcting errors in the microcode
US5535226A (en) * 1994-05-31 1996-07-09 International Business Machines Corporation On-chip ECC status
US6457119B1 (en) * 1999-07-23 2002-09-24 Intel Corporation Processor instruction pipeline with error detection scheme
US20020199151A1 (en) * 2001-06-26 2002-12-26 Zuraski Gerald D. Using type bits to track storage of ECC and predecode bits in a level two cache

Also Published As

Publication number Publication date
TW200619921A (en) 2006-06-16
TWI277861B (en) 2007-04-01
WO2006007147A1 (en) 2006-01-19
JP2008501191A (ja) 2008-01-17
US20050283716A1 (en) 2005-12-22
CN1969256A (zh) 2007-05-23
US7543221B2 (en) 2009-06-02
JP4448539B2 (ja) 2010-04-14
DE112005001338T5 (de) 2007-06-14
US7555703B2 (en) 2009-06-30
US20050283712A1 (en) 2005-12-22

Similar Documents

Publication Publication Date Title
CN100449480C (zh) 用于降低微处理器内的虚假差错检测的方法和装置
CN100578462C (zh) 降低时钟同步双模冗余系统中错误率的装置、方法和系统
CN101317160B (zh) 软件辅助的嵌套硬件事务
CN101416163B (zh) 通过选择重新执行来检测瞬态错误
CN1902593B (zh) 使用推测存储器支持的冗余多线程系统中缓冲未检验存储的方法
JP5014899B2 (ja) 再構成可能デバイス
US8190973B2 (en) Apparatus and method for error correction of data values in a storage device
JP2009009570A (ja) レジスタ状態エラー回復および再開機構
CN102541756A (zh) 高速缓冲存储器系统
CN101449244A (zh) 使用冗余虚拟机的错误检测
JPH0581143A (ja) メモリアレイのアドレスと中味とをチエツクする装置及び方法
CN105320579A (zh) 面向sparc v8处理器的自修复双冗余流水线及容错方法
EP1659494B1 (en) Method and apparatus for classifying memory errors
CN100407135C (zh) 跟踪对差错中立的指令来减少微处理器中的虚假差错检测
JPH0833842B2 (ja) 論理演算装置
US6701484B1 (en) Register file with delayed parity check
US20160065243A1 (en) Radiation hardening architectural extensions for a radiation hardened by design microprocessor
CN105260256A (zh) 一种双模冗余流水线的故障检测及回退方法
US20070044003A1 (en) Method and apparatus of detecting and correcting soft error
US7581152B2 (en) Fault free store data path for software implementation of redundant multithreading environments
CN205193787U (zh) 一种双模冗余流水线的故障检测及回退装置
CN1710533B (zh) 通过跟踪动态死指令来减少微处理器中的虚假差错检测
CN205193786U (zh) 面向sparc v8处理器的自修复双冗余流水线
JPH04115339A (ja) メモリエラー処理システム
Soundararajan et al. Fault Tolerant Memory In Processor-SuperComputer On a Chip

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090107

Termination date: 20180520