CN101031887B - 在冗余多线程环境中执行检验指令的方法、设备和*** - Google Patents

在冗余多线程环境中执行检验指令的方法、设备和*** Download PDF

Info

Publication number
CN101031887B
CN101031887B CN200580033073XA CN200580033073A CN101031887B CN 101031887 B CN101031887 B CN 101031887B CN 200580033073X A CN200580033073X A CN 200580033073XA CN 200580033073 A CN200580033073 A CN 200580033073A CN 101031887 B CN101031887 B CN 101031887B
Authority
CN
China
Prior art keywords
check command
thread
carrying
instruction
ending
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
CN200580033073XA
Other languages
English (en)
Other versions
CN101031887A (zh
Inventor
S·穆克赫吉
J·埃默
S·赖因哈德特
C·韦弗
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 CN101031887A publication Critical patent/CN101031887A/zh
Application granted granted Critical
Publication of CN101031887B publication Critical patent/CN101031887B/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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1479Generic software techniques for error detection or fault masking
    • G06F11/1492Generic software techniques for error detection or fault masking by run-time replication performed by the application software
    • G06F11/1494N-modular type
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1695Error detection or correction of the data by redundancy in hardware which are operating with time diversity

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Advance Control (AREA)
  • Hardware Redundancy (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

描述了一种用于在冗余多线程环境中的检验指令的方法和设备。在一个实施例中,当RMT需要时,处理器会在前导线程和结尾线程中发出检验指令。该检验指令会对于每个线程单独地向下传输到各个流水线中,直到它到达每个流水线末端的缓冲器。然后,在提交该检验指令之前,该检验指令查找其相应部分并对该指令进行比较。如果该检验指令匹配,则提交该检验指令并退出,否则描述错误。

Description

在冗余多线程环境中执行检验指令的方法、设备和***
技术领域
本发明涉及在冗余多线程环境中执行检验指令的方法、设备和***。
背景技术
当前的冗余执行***通常是应用自检验和硬件实现的检验电路。与检验电路相似的是将要比较来自两个线程的结果的比较指令(例如存储地址和数据)。有可能在两个线程中复制该比较指令以通过复制获得自检验的效果。
遗憾的是,通过复制该比较指令,该体系会丧失冗余多线程(RMT)的性能优势。RMT性能优势来自于具有充分隔开的前导(leading)和结尾(trailing)线程,以使得该前导线程能够预取高速缓冲损失和分流结尾线程的错误预测。如果该比较指令被复制,不仅需要额外的队列、导致更高的开销(overhead),而且该体系还将由于在两个方向需要同步而不能保持两个线程充分隔开。因而,需要一种能够获得更低的故障率而不会牺牲RMT的性能优势的指令。
发明内容
按照本发明的第一方面,提供了一种用于在冗余多线程环境中执行检验指令的方法,包括:在前导线程和结尾线程中生成检验指令;等待来自该前导线程和结尾线程的同等检验指令;和比较来自该前导线程和结尾线程的同等检验指令,其中前导线程包括检验指令和选择的指令,结尾线程包括检验指令。
按照本发明的第二方面,提供了一种用于在冗余多线程环境中执行检验指令的设备,包括:用于执行前导线程指令的前导线程电路;用于执行结尾线程指令的结尾线程电路;和用于提交来自该前导线程和结尾线程的相应检验指令的提交单元,其中该前导线程指令包括检验指令和所选择的指令。
按照本发明的第三方面,提供了一种用于在冗余多线程环境中执行检验指令的***,包括:第一处理器,包括:用于执行前导线程检验指令的前导线程电路;用于执行结尾线程检验指令的结尾线程电路;和用于退出来自该前导线程和结尾线程的相应检验指令的退出单元,其中该前导线程指令包括检验指令和所选择的指令;到第二处理器的第一接口;到输入/输出设备的第二接口;和耦合到第二接口的音频输入/输出设备。
附图说明
根据以下对于如附图所示优选实施例的说明,本发明的各种特征将变得清楚,其中在所有附图中,相似的参考数字表示相同的部件。该附图不需要按比例绘制,而是将重点放在说明本发明的原理上。
图1是多线程体系的一个实施例的框图。
图2是示出了一种生成检验指令的方法的流程图。
图3是示出了在任一线程中的检验指令的一个实施例的流程图。
图4是检验指令的一个实施例的框图。
图5是可以提供多线程处理器环境的***的框图。
图6是可以提供多线程处理器环境的可选***的框图。
具体实施方式
在以下说明中,为了解释而不是限制的目的,给出了特定的细节例如结构、体系、接口、技术等,以便提供对于本发明各个方面的完整理解。然而,本领域技术人员将会清楚,有了本公开的教导,就可以在除了这些特定细节之外的其他例子中实现本发明的各个方面。在某些例子中,省略了对于公知设备、电路和方法的说明,以免由于不必要的细节而使得对于本发明的描述不清楚。
描述了用于冗余多线程环境中的检验指令的方法和设备。在以下说明中,为了解释的目的,给出了许多特定细节以便提供对于本发明的完整认识。然而,本领域技术人员将会清楚,不需要这些特定细节也可以实现本发明。
图1是冗余多线程体系的一个实施例的框图。在冗余多线程体系中,可以通过作为单独的线程执行一个程序的两个副本而检测故障。
每个线程具有相同的输入,比较其输出以判断是否发生错误。可以相对于这里被称为“复制范围(sphere of replication)”的概念来描述冗余多线程。复制范围是逻辑或物理冗余操作的边界。
在复制范围100内的部件(例如执行前导线程105的处理器和执行结尾线程110的处理器)进行冗余操作。相反,在复制范围100之外的部件(例如存储器115)不进行冗余操作。通过其他技术例如用于存储器115的错误校正码来提供故障保护。其他设备可以位于复制范围100外部,和/或可以使用其他技术来提供对于复制范围100之外的设备的故障保护。
进入复制范围100的数据通过输入复制代理(agent)120进入,该输入复制代理120复制该数据并且将该数据的副本发送到前导线程105和结尾线程110。类似地,从复制范围100输出的数据通过输出比较代理125输出,该输出比较代理比较该数据并判断是否发生错误。改变复制范围100的边界导致性能与硬件数量的权衡。例如,复制存储器115将通过避免存储指令的输出比较而允许更快地访问存储器,但是将会由于使得***的存储器数量加倍而增加***成本。
本发明的一个实施例提供了一种用于检验在RMT软件实施中的检验电路的机构。因为RMT比较所提交的指令的输出(需要逐条指令地进行比较),所以它也可以以软件形式实现。如果该RMT的软件实现比较了每条指令,那么将导致相当数量的开销。然而,相反,RMT允许仅仅比较存储指令和仅仅复制加载指令,这将显著减少RMT实施方案的软件开销。
图2示出了一种生成检验指令的方法。起初,与多数计算机相同,编译器生成指令。根据该编译器,计算机现在具有一个二进制程序,其可以是但不限于存储指令序列200。然后,二进制译码器可以在该二进制程序的每个存储指令前***一个检验指令205。该二进制译码器可以是本领域公知的任何二进制译码器。在译码该二进制程序的基础上,***为前导线程和结尾线程创建二进制程序。用于前导线程的二进制程序向存储指令中添加检验指令210。用于结尾线程的二进制程序用前导线程的同等(peer)检验指令替换该存储指令215。
图3示出了检验指令的一个实施方案。当RMT需要比较时,处理器会在前导线程和结尾线程中发出检验指令300。每个检验指令可以承载来自每个线程的64位数量。该检验指令可以对于每个线程独立地向下传播到单独的流水线中305,直到它到达每个流水线末端的缓冲器。该检验指令在该缓冲器中等待它的同等检验指令310。然后,这两个检验指令会比较它们承载的64位数量315。当不匹配时,二者都会报告错误。当匹配时,它们会使得处理器提交检验指令320。该流水线可以来自CMP中的不同处理器或者来自与SMT处理器中相同的多线程处理器。
在这个实施方案中,该检验指令不阻止前导指令处理来自该指令对列的指令。相反,它只是阻止后退指针直到来自结尾线程的相应检验指令显露出来。而且,如果该环境不是RMT环境,那么该检验指令可以被视为NOP。
图4是经过两个流水线的检验指令的一个示例的框图。假定一个存储指令为:R1→[R2],将寄存器R1中的值存储到由寄存器R2中的地址指示的存储器位置中。该存储指令可以利用检验指令而被复制到前导线程和结尾线程中。前导线程中的存储指令可以包括该检验指令和存储指令,如下所示:
Checkerinst R1
Checkerinst R2
存储:R1→[R2]。因而,当传播经过其流水线400时,该前导线程可以包含该检验指令以及存储指令。
结尾线程中的存储指令可以仅包括该检验指令,如下所示:
Checkerinst R1
Checkerinst R2。因而,当传播经过其流水线405时,结尾线程不具有该存储指令。
来自流水线400中的前导线程的checkerinst R1等待缓冲器410中的同等检验指令。来自流水线405中的结尾线程的checkerinst R1等待缓冲器415中的同等检验指令。该检验指令总是寻找或等待其相应部分或同等物。如果存在镜像线程(mirror thread),那么该检验指令将寻找或等待缓冲器410、405中的线程,以确定存在该镜像线程并且比较该检验指令。
来自前导线程的checkerinst R1和来自结尾线程的checkerinst R1可以由于提交顺序而配对,并且比较寄存器区分符和R1的值以确保寄存器中不发生错误。如果没有发现错误,那么提交该检验指令420。一旦该检验指令提交,就存储R1的值。R1的值被传输到提交点并存储。从而,该***能够同步检验所有存储而不是如前所作的逐个检验。
图5是一个能够提供多线程处理器环境的***的框图。图5所示的***用于表示***范围。可选的***可以包括更多、更少和/或不同的部件。
***500包括总线510或其他通信设备以传输信息,和耦合到总线510的处理器520以处理信息。***500还包括随机存取存储器(RAM)或其他动态存储器和静态存储器,例如硬盘或其他存储设备535(称为存储器),通过存储器控制器530耦合到总线510以存储用于被处理器520执行的信息和指令。存储器535还可以用于存储处理器执行指令期间的临时变量或其他中间信息。存储器控制器530可以包括一个或多个部件以控制一种或多种存储器和/或相关的存储设备。***500还包括耦合到总线510的只读存储器(ROM)和/或其他静态存储设备540以存储用于处理器520的静态信息和指令。
***500还可以通过总线510耦合到输入/输出(I/O)接口550。I/O接口550提供到I/O设备555的接口,其可以包括例如用于向计算机用户显示信息的阴极射线管(CRT)或液晶显示器(LCD),包括字母数字和其他键的字母数字输入设备,和/或光标控制设备例如鼠标、轨迹球或光标方向键。***500还包括用于提供对网络的访问的网络接口560,该网络例如是局域网,有线或无线的。
指令被从存储设备通过有线或无线的远程连接等(例如通过网络接口860而经网络)提供到存储器535,该存储设备例如是磁盘、只读存储器(ROM)集成电路、CD-ROM、DVD。
现在参照图6,***600概括示出了一个***,其中处理器、存储器和输入/输出设备由多个点对点接口互连。***600还可以包括多个处理器,其中为了清楚起见,仅显示了两个处理器605、610。处理器605、610每个可以包括本地存储器控制集线器(MCH)615、620以与存储器625、630连接。处理器605、610可以使用点对点接口电路640、645通过点对点接口635交换数据。处理器605、610每个可以使用点对点接口电路665、670、675、680通过各个点对点接口655、660与芯片组650交换数据。芯片组650还可以通过高性能图形接口690与高性能图形电路685交换数据。
芯片组650可以通过总线接口695与总线616交换数据。在任一***中,在总线616上可以有各种输入/输出I/O设备614,在一些实施例中包括低性能图形控制器、视频控制器和网络控制器。在一些实施例中,另一个总线桥618可以用于允许总线616和总线620之间的数据交换。在一些实施例中,总线620可以是小型计算机***接口(SCSI)总线、集成驱动电子设备(IDE)总线、或通用串行总线(USB)。其他的I/O设备可以与总线620连接。这些可以包括键盘和光标控制设备622,包括鼠标、音频I/O 624、通信设备626,包括调制解调器和网络接口、和数据存储设备628。软件代码630可以存储在数据存储设备628上。在一些实施例中,数据存储设备628可以是固定磁盘、软盘驱动器、光盘驱动器、磁光盘驱动器、磁带、或非易失性存储器包括闪存。
在整个说明书中,术语“指令”一般用于表示指令、宏命令、命令包或用于编码处理器操作的多种其他机制的任意一种。
在以下描述中,为了解释和非限制性的目的,给出了具体的细节,例如特定结构、架构、接口、技术等,以便提供对于本发明各方面的完整理解。然而,获得本公开的教导的本领域技术人员将会清楚,可以在与这些具体细节不同的其他示例中实施本发明的各个方面。在某些例子中,省略了对于公知设备、电路和方法的说明,以免让不必要的细节模糊了对于本发明的说明。

Claims (27)

1.一种用于在冗余多线程环境中执行检验指令的方法,包括:
在前导线程和结尾线程中生成检验指令;
等待来自该前导线程和结尾线程的同等检验指令;和
比较来自该前导线程和结尾线程的同等检验指令,其中前导线程包括检验指令和选择的指令,结尾线程包括检验指令。
2.如权利要求1所述的用于在冗余多线程环境中执行检验指令的方法,其中在前导线程中生成检验指令还包括在该选择的指令前***检验指令。
3.如权利要求1所述的用于在冗余多线程环境中执行检验指令的方法,其中该检验指令传输经过该前导线程和结尾线程的相应流水线。
4.如权利要求1所述的用于在冗余多线程环境中执行检验指令的方法,还包括提交该检验指令。
5.如权利要求4所述的用于在冗余多线程环境中执行检验指令的方法,还包括如果对于来自前导线程和结尾线程的相应检验指令的比较结果是匹配,则为该前导线程存储该选择的指令。
6.如权利要求1所述的用于在冗余多线程环境中执行检验指令的方法,其中该前导线程和结尾线程由单个处理器执行。
7.如权利要求1所述的用于在冗余多线程环境中执行检验指令的方法,其中该前导线程和结尾线程由多个处理器执行。
8.一种用于在冗余多线程环境中执行检验指令的设备,包括:
用于执行前导线程指令的前导线程电路;
用于执行结尾线程指令的结尾线程电路;和
用于提交来自该前导线程和结尾线程的相应检验指令的提交单元,其中该前导线程指令包括检验指令和所选择的指令。
9.如权利要求8所述的用于在冗余多线程环境中执行检验指令的设备,其中该结尾线程指令包括检验指令。
10.如权利要求8所述的用于在冗余多线程环境中执行检验指令的设备,其中该前导线程电路和结尾线程电路包括流水线。
11.如权利要求10所述的用于在冗余多线程环境中执行检验指令的设备,其中该前导线程和结尾线程由单个处理器执行。
12.如权利要求10所述的用于在冗余多线程环境中执行检验指令的设备,其中该前导线程和结尾线程由多个处理器执行。
13.如权利要求9所述的用于在冗余多线程环境中执行检验指令的设备,还包括耦合到该前导线程电路和结尾线程电路的缓冲器。
14.如权利要求13所述的用于在冗余多线程环境中执行检验指令的设备,其中该前导线程的检验指令和结尾线程的检验指令等待缓冲器中的相应检验指令。
15.如权利要求8所述的用于在冗余多线程环境中执行检验指令的设备,其中如果该相应的检验指令匹配,则存储该选择的指令。
16.如权利要求15所述的用于在冗余多线程环境中执行检验指令的设备,其中如果该相应的检验指令不匹配,则提交单元产生错误。
17.如权利要求8所述的用于在冗余多线程环境中执行检验指令的设备,其中该检验指令被二进制译码器设置于该选择的指令之前。
18.如权利要求8所述的用于在冗余多线程环境中执行检验指令的设备,其中该选择的指令是存储指令。
19.一种用于在冗余多线程环境中执行检验指令的***,包括:
第一处理器,包括:
用于执行前导线程检验指令的前导线程电路;
用于执行结尾线程检验指令的结尾线程电路;和
用于退出来自该前导线程和结尾线程的相应检验指令的退出单元,其中该前导线程指令包括检验指令和所选择的指令;
到第二处理器的第一接口;
到输入/输出设备的第二接口;和
耦合到第二接口的音频输入/输出设备。
20.如权利要求19所述的用于在冗余多线程环境中执行检验指令的***,其中该结尾线程指令包括检验指令。
21.如权利要求19所述的用于在冗余多线程环境中执行检验指令的***,其中该前导线程电路和结尾线程电路包括流水线。
22.如权利要求20所述的用于在冗余多线程环境中执行检验指令的***,其中如果来自该前导线程和结尾线程的相应检验指令匹配,则存储该选择的指令。
23.如权利要求22所述的用于在冗余多线程环境中执行检验指令的***,还包括与该前导线程电路和结尾线程电路耦合的缓冲器。
24.如权利要求22所述的用于在冗余多线程环境中执行检验指令的***,其中如果该相应的检验指令不匹配,则该退出单元产生错误。
25.如权利要求19所述的用于在冗余多线程环境中执行检验指令的***,其中该检验指令被二进制译码器设置于该选择的指令之前。
26.如权利要求19所述的用于在冗余多线程环境中执行检验指令的***,其中该选择的指令是存储指令。
27.如权利要求19所述的用于在冗余多线程环境中执行检验指令的***,其中该第一和第二接口是点对点接口。
CN200580033073XA 2004-09-29 2005-09-29 在冗余多线程环境中执行检验指令的方法、设备和*** Expired - Fee Related CN101031887B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/953,887 2004-09-29
US10/953,887 US7353365B2 (en) 2004-09-29 2004-09-29 Implementing check instructions in each thread within a redundant multithreading environments
PCT/US2005/035375 WO2006039595A2 (en) 2004-09-29 2005-09-29 Executing checker instructions in redundant multithreading environments

Publications (2)

Publication Number Publication Date
CN101031887A CN101031887A (zh) 2007-09-05
CN101031887B true CN101031887B (zh) 2010-05-26

Family

ID=36001038

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200580033073XA Expired - Fee Related CN101031887B (zh) 2004-09-29 2005-09-29 在冗余多线程环境中执行检验指令的方法、设备和***

Country Status (7)

Country Link
US (1) US7353365B2 (zh)
JP (1) JP4691105B2 (zh)
CN (1) CN101031887B (zh)
DE (1) DE112005002370T5 (zh)
GB (1) GB2430520B (zh)
TW (1) TWI317063B (zh)
WO (1) WO2006039595A2 (zh)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7581152B2 (en) * 2004-12-22 2009-08-25 Intel Corporation Fault free store data path for software implementation of redundant multithreading environments
US7321989B2 (en) * 2005-01-05 2008-01-22 The Aerospace Corporation Simultaneously multithreaded processing and single event failure detection method
US7818744B2 (en) * 2005-12-30 2010-10-19 Intel Corporation Apparatus and method for redundant software thread computation
GB0602641D0 (en) * 2006-02-09 2006-03-22 Eads Defence And Security Syst High speed data processing system
US7444544B2 (en) * 2006-07-14 2008-10-28 International Business Machines Corporation Write filter cache method and apparatus for protecting the microprocessor core from soft errors
US9594648B2 (en) * 2008-12-30 2017-03-14 Intel Corporation Controlling non-redundant execution in a redundant multithreading (RMT) processor
US9081688B2 (en) * 2008-12-30 2015-07-14 Intel Corporation Obtaining data for redundant multithreading (RMT) execution
CN101551764B (zh) * 2009-02-27 2010-11-10 北京时代民芯科技有限公司 基于同步冗余线程与编码技术的抗单粒子效应***及方法
EP2537091A4 (en) * 2010-02-16 2014-08-06 Freescale Semiconductor Inc DATA PROCESSING METHOD, DATA PROCESSOR, AND APPARATUS COMPRISING DATA PROCESSOR
US9361104B2 (en) * 2010-08-13 2016-06-07 Freescale Semiconductor, Inc. Systems and methods for determining instruction execution error by comparing an operand of a reference instruction to a result of a subsequent cross-check instruction
JP2012208662A (ja) * 2011-03-29 2012-10-25 Toyota Motor Corp マルチスレッド・プロセッサ
WO2014080245A1 (en) 2012-11-22 2014-05-30 Freescale Semiconductor, Inc. Data processing device, method of execution error detection and integrated circuit
AT515341B1 (de) * 2014-01-23 2015-12-15 Bernecker & Rainer Ind Elektronik Gmbh Verfahren zur Überprüfung der Abarbeitung von Software
US9823983B2 (en) 2014-09-25 2017-11-21 Nxp Usa, Inc. Electronic fault detection unit
US10013240B2 (en) 2016-06-21 2018-07-03 Advanced Micro Devices, Inc. Fingerprinting of redundant threads using compiler-inserted transformation code
US10042687B2 (en) * 2016-08-08 2018-08-07 Advanced Micro Devices, Inc. Paired value comparison for redundant multi-threading operations

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010034824A1 (en) * 2000-04-19 2001-10-25 Mukherjee Shubhendu S. Simultaneous and redundantly threaded processor store instruction comparator
US20010037445A1 (en) * 2000-04-19 2001-11-01 Mukherjee Shubhendu S. Cycle count replication in a simultaneous and redundantly threaded processor
CN1434941A (zh) * 1999-12-21 2003-08-06 英特尔公司 纠正软错误的固件机制

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19625195A1 (de) * 1996-06-24 1998-01-02 Siemens Ag Synchronisationsverfahren
JPH1115661A (ja) * 1997-06-26 1999-01-22 Toshiba Corp Cpuの自己診断方法
US6463579B1 (en) * 1999-02-17 2002-10-08 Intel Corporation System and method for generating recovery code
US6640313B1 (en) * 1999-12-21 2003-10-28 Intel Corporation Microprocessor with high-reliability operating mode

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1434941A (zh) * 1999-12-21 2003-08-06 英特尔公司 纠正软错误的固件机制
US20010034824A1 (en) * 2000-04-19 2001-10-25 Mukherjee Shubhendu S. Simultaneous and redundantly threaded processor store instruction comparator
US20010037445A1 (en) * 2000-04-19 2001-11-01 Mukherjee Shubhendu S. Cycle count replication in a simultaneous and redundantly threaded processor

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Reinhardt S K et.Transient fault detection via simultaneous multithreading.27th Annual International Symposium on Computer Architecture28 2.2000,28(2),25-36.
Reinhardt S K et.Transient fault detection via simultaneous multithreading.27th Annual International Symposium on Computer Architecture28 2.2000,28(2),25-36. *
Vijaykumar T.N. Pomeranz
Vijaykumar, T.N. Pomeranz, I. Cheng, K..Transient-Fault Recovery Using Simultaneous Multithreading.29th Annual International Symposium on Computer Architecture.2002,2987-98. *

Also Published As

Publication number Publication date
TW200634504A (en) 2006-10-01
JP4691105B2 (ja) 2011-06-01
GB0700979D0 (en) 2007-02-28
GB2430520B (en) 2008-10-22
TWI317063B (en) 2009-11-11
GB2430520A (en) 2007-03-28
WO2006039595A2 (en) 2006-04-13
US7353365B2 (en) 2008-04-01
US20060095821A1 (en) 2006-05-04
JP2008515064A (ja) 2008-05-08
CN101031887A (zh) 2007-09-05
DE112005002370T5 (de) 2007-09-20
WO2006039595A3 (en) 2006-06-29

Similar Documents

Publication Publication Date Title
CN101031887B (zh) 在冗余多线程环境中执行检验指令的方法、设备和***
CN100449480C (zh) 用于降低微处理器内的虚假差错检测的方法和装置
KR101034287B1 (ko) 에러 정정 방법 및 연산기
US8463746B2 (en) Method and system for replicating data
TWI715686B (zh) 用於容錯及錯誤偵測之系統、方法和裝置
CN103176863B (zh) 使用冗余虚拟机的错误检测
US8024647B2 (en) Method and system for checking rotate, shift and sign extension functions using a modulo function
CN101470629A (zh) 用于在事务性存储器***中实现强原子性的机制
US20150286544A1 (en) Fault tolerance in a multi-core circuit
CN1902581A (zh) 使用推测性存储器支持来管理用于冗余多线程***中故障检测的外部存储器更新
CN116302648A (zh) 一种基于双核锁步处理器的故障处理方法
US7581152B2 (en) Fault free store data path for software implementation of redundant multithreading environments
US6701484B1 (en) Register file with delayed parity check
US6898738B2 (en) High integrity cache directory
CN102034537A (zh) 数据存取装置及数据存取方法
CN101295274B (zh) 用于降低共享存储器的数据讹误的方法和设备
CN100476744C (zh) 一种基于时间冗余的检验流水线瞬态故障的装置及方法
US20150113244A1 (en) Concurrently accessing memory
CN112416687B (zh) 验证访存操作的方法与***以及验证设备和存储介质
KR20240038497A (ko) 프로세서 및 프로세서에서의 소프트 에러 검출 방법
JPS60142747A (ja) 命令再実行制御方式
CN105242905A (zh) 数据假相关的处理方法和装置
CN114003286A (zh) 一种基于哑元的指令执行方法、计算设备及存储介质
TW202418068A (zh) 處理器及自處理器偵測軟錯誤的方法
TW202109545A (zh) 記憶體裝置及其資料存取方法

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

Granted publication date: 20100526

Termination date: 20140929

EXPY Termination of patent right or utility model