CN101243406B - 用于在计算机系统中对数据进行比较的方法和设备 - Google Patents

用于在计算机系统中对数据进行比较的方法和设备 Download PDF

Info

Publication number
CN101243406B
CN101243406B CN200680029543XA CN200680029543A CN101243406B CN 101243406 B CN101243406 B CN 101243406B CN 200680029543X A CN200680029543X A CN 200680029543XA CN 200680029543 A CN200680029543 A CN 200680029543A CN 101243406 B CN101243406 B CN 101243406B
Authority
CN
China
Prior art keywords
data
performance element
comparing unit
comparison
output data
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.)
Active
Application number
CN200680029543XA
Other languages
English (en)
Other versions
CN101243406A (zh
Inventor
R·韦博尔
B·米勒
E·博尔
Y·科拉尼
R·格梅利克
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.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
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 Robert Bosch GmbH filed Critical Robert Bosch GmbH
Publication of CN101243406A publication Critical patent/CN101243406A/zh
Application granted granted Critical
Publication of CN101243406B publication Critical patent/CN101243406B/zh
Active 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1675Temporal synchronisation or re-synchronisation of redundant processing components
    • 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/1629Error detection by comparing the output of redundant processing systems
    • G06F11/1641Error detection by comparing the output of redundant processing systems where the comparison is not performed by the redundant processing components
    • 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/1675Temporal synchronisation or re-synchronisation of redundant processing components
    • G06F11/1687Temporal synchronisation or re-synchronisation of redundant processing components at event level, e.g. by interrupt or result of polling

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)
  • Multi Processors (AREA)
  • Debugging And Monitoring (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

用于在具有至少两个执行单元的计算机系统中对数据进行比较的方法,其中数据的比较在比较单元中进行,并且每个执行单元都对输入数据进行处理并产生输出数据,其特征在于,一个执行单元向该比较单元预先给定:应当将下一输出数据与至少第二执行单元的输出数据进行比较,并且之后进行至少两个输出数据的比较。

Description

用于在计算机系统中对数据进行比较的方法和设备
技术领域
本发明从用于在微处理器的至少两个执行单元的输出数据之间进行比较的方法和设备出发。
背景技术
由α粒子或宇宙射线所引起的瞬时错误对于集成电路来说日益成为一个问题。由于减小的结构宽度、下降的电压和更高的时钟频率,由α粒子或宇宙射线所引起的电压峰值使集成电路中的逻辑值失真的概率增大。错误的计算结果可能是后果。因此在安全性相关系统中必须可靠地检测这种错误。
在必须可靠地检测电子设备的故障的安全性相关系统、诸如汽车中的ABS调节系统中,通常正是为了识别错误而在这种系统的相应的控制装置中设置冗余。因此例如在公开的ABS系统中分别复制完整的微控制器,其中冗余地计算整个ABS功能并检查一致性。如果出现结果的差异,则关断ABS系统。
这种具有至少两个集成的执行单元的处理器单元也称为双核或多核架构。不同的执行单元(核)冗余地并且时钟同步地执行相同的程序段,这两个执行单元的结果被比较,并且然后在对一致性的比较中对错误进行识别。
发明内容
如果当前的双核处理器应该工作于比较模式下,那么这些核或执行单元必须尽最大可能相同,因此可以在每个时钟中比较输出信号。但是以安全性方面来看也有利的是,使用不同的(diversitaer)执行单元。如果这些执行单元是不同的,那么这些执行单元的输出信号却不再能够在每个时钟中被比较。
本发明的任务是对不同的执行单元的输出信号进行比较。
根据本发明,提出了一种用于在具有至少两个执行单元的计算机系统中对数据进行比较的方法,其中在比较单元中进行数据的比较,并且每个执行单元都对输入数据进行处理并产生输出数据,其中,执行单元向所述比较单元预先给定:应当将下一输出数据与至少第二执行单元的输出数据进行比较,并且之后进行至少两个输出数据的比较。
根据本发明,还提出了用于在具有至少两个执行单元和比较单元的计算机系统中对数据进行比较的设备,其中数据的比较在所述比较单元中进行,并且每个执行单元都对输入数据进行处理并产生输出数据,其中,执行单元向所述比较单元预先给定:应当将下一输出数据与至少第二执行单元的输出数据进行比较,并且之后进行至少两个输出数据的比较。
根据本发明,还提出了具有上述的设备的计算机系统。
这里所介绍的本发明通过引入控制信号来解决该问题,其中执行单元利用该控制信号来通知比较单元:应当将随着该信号输出的数据与另一执行单元的数据进行比较。因此可以使用不同的执行单元和不同的软件。仅仅要比较的数据及其格式必须是可比较的。顺序是否也必须是相同的取决于在此所述的本发明的相应实施方案,其中必须以该顺序将要比较的数据传送给该比较单元。
有利地,执行单元向该比较单元预先给定,应当将下一输出数据与至少第二执行单元的输出数据进行比较,并且之后进行至少两个输出数据的比较。合理地,至少两个执行单元相互独立地对输入数据进行处理。有利地,通过比较信号来实现应当对下一输出数据进行比较的预先给定。有利地,所述比较信号和应当被比较的输出数据一对一地相互可分配地被输出。合理地,应当被比较的数据被分配标识,通过该标识来触发所述比较。有利地,输出数据应当被比较的所有执行单元都将其输出数据应当被比较通知给该比较单元。合理地,应当被比较的输出数据通过至少一个缓冲存储器以可预先给定的顺序被缓冲。有利地,执行单元向该比较单元预先给定,应当将下一输出数据与至少第二执行单元的输出数据进行比较,并且之后进行至少两个输出数据的比较。有利地,在设备中设置有至少一个缓冲存储器,其中该设备被构造,使得这些数据能够以可预先给定的顺序被缓冲,并且然后能够被输送给该比较单元。有利地,该缓冲存储器是FIFO存储器。有利地,该缓冲存储器被示出位于设备中以及包含该设备的计算机系统中。
其它的优点和有利的扩展方案从说明书中得出。
附图说明
在图1中示出了具有两个执行单元G10a和G10b以及比较单元G20的多处理器系统G60。
在图2中示出了具有两个等待队列G21a和G21b的比较单元G20的一种实施形式。
在图3中示出了分别具有两个列表G210a、G211a和G210b、G211b的比较单元G200的一种实施形式。
具体实施方式
在下文中,执行单元在此不仅可以表示处理器/核/CPU,而且可以表示FPU(Floating Point Unit(浮点单元))、DSP(数字信号处理器)、协处理器或ALU(Arithmetic Logical Unit(算术逻辑单元))。本发明涉及图1中所示的多处理器系统G60,其具有至少两个执行单元G10a、G10b以及比较单元G20。所述执行单元G10a、G10b中的每一个都具有至相应的系统接口G30a、G30b的至少一个输出端。通过这些接口可以控制寄存器、存储器或诸如数字输出端、D/A转换器、通信控制器的外围设备。所述执行单元G10a、G10b的输出信号可以在比较单元G20中被比较。在有差别的情况下识别出错误,并可以采取相应的措施。所述执行单元的输出数据和/或地址被用于所述比较。其它的控制信号也可以被比较。下面,与所选择的应当被比较的输出信号无关地谈及应当与另一数据相比较的数据。
图1示出具有两个执行单元G10a和G10b的多处理器系统G60的一种可能的实施方案。比较单元G20通过该执行单元G10a、G10b的控制信号G50a、G50b被激活。如果一个执行单元G10a、G10b想在不应对数据进行比较的情况下把该数据传递给系统接口G30a或G30b,那么这些数据被传递而不设置信号G50a、G50b。比较单元G20因此不对这些数据进行处理。如果一个执行单元G10a、G10b想把数据传递给系统接口G30a或G30b并且该数据应当与另一执行单元G10a、G10b的相应数据相比较,那么,除了该执行单元的对于至系统接口的数据传输来说所需的输出信号之外,在G10a中以及在G10b中为比较单元G20生成信号G50a和G50b。这些信号G50a和G50b同样由执行单元G10a和G10b产生。这些信号通知该比较单元G20:向系统接口传输的数据可选地连同属于该数据的地址应当与相应另一执行单元的相应数据相比较。如果所述另一执行单元同样向其系统接口传输数据并且在此情况下该比较单元G20同样被通知要执行的比较,那么进行该比较。用于进行比较的在G10a情况下的信号G50a、在G10b情况下的信号G50b不必必然同时随着数据的传输而由执行单元生成,而是该信号可以明确地被分配给该数据(包括地址)。通过信号G70a、G70b,该比较单元G20能够暂时在需要时使执行单元停止。在此,执行单元G10a通过信号G70a被停止,并且执行单元G10b通过信号G70b被停止。所述执行单元一直被停止,直到相应的信号G70a和G70b再次被该比较单元收回。
在图2中所示的第一实施形式中说明了该比较单元G20的一种可能的实施方案。它在内部针对每个所连接的执行单元而拥有一个等待队列。该等待队列按照FIFO原则(First in First out Prinzip(先进先出原则))来构建。在图2所示的实施例中,这些等待队列是用于执行单元G10a的等待队列G21a以及用于执行单元G10b的等待队列G21b。一个等待队列具有n项,但至少一项。如果由执行单元针对数据通知:该数据应当被比较,那么该数据被存储在等待队列的项中。如果在一个等待队列中不再存在空闲的项,那么所属的执行单元通过图1中所示的信号G70a或者G70b被停止,直到该等待队列中的项再次空闲。替代地,如果执行单元尝试把另一数据置于已经满的等待队列中,那么该比较单元G20可以产生错误信号。如果在G20的所有等待队列(这里为G21a和G21b)中存在至少一项,那么根据所述FIF0原则分别使最初的、因此在时间上来看最老的项通过该单元G22被相互比较。如果被比较的数据不相同,那么生成错误信号,并且之后在该等待队列中丢弃所述项,也即从该等待队列中去除。在数据相同的情况下,这些数据同样从该等待队列中被去除。替代地,在多于两个的等待队列的情况下可以进行多数判定(Voting(表决))。这种实施形式的共同特征是,要比较的数据必须由所连接的所有执行单元以相同的顺序提供,因此这些数据以正确的顺序被分类到等待队列中。也即哪些数据与哪些数据相比较仅仅通过其在等待队列内的位置来定义。总是等待队列内的最前面的或最老的项被比较。
在图3中示出了该比较单元G20的另一实施形式,在图3中被表示为G200。该比较单元G200针对每个所连接的执行单元而拥有列表G210a、G210b,在这些列表中存储要比较的数据。除了这些列表G210a、G210b之外,存在另外的列表G211a、G211b,在这些列表中针对列表G210a、G210b中的每个数据而存储一对一的ID。如果一个列表满了,那么相应的所分配的比较单元通过图1中所示的信号G70a或者G70b被停止,或者如果执行单元尝试把另一数据置于已经满的列表中,那么触发一个错误信号。如果在所有的列表G210a、G210b中存在具有列表G211a、G211b中的所属的相同的ID的数据,那么进行数据的比较。这些数据被比较,并且在有区别的情况下产生错误信号。在相同的情况下,如果所连接的系统接口G30a、G30b被分配给该比较单元,那么这些数据被传输给这些系统接口G30a、G30b或被传输给G32。在比较之后,与结果无关地将这些数据从列表G210a、G210b中去除并且将所属的ID从列表G211a、G211b中去除。如果存在多于两个的列表,那么可以替代地进行多数判定。这种实施方案的特征是,要比较的数据不必以相同的顺序由所连接的所有执行单元提供给该比较单元G20。如果在两个列表G210a和G210b中存在数据并且在ID列表中存在至少两个相同的ID,那么对数据进行比较。

Claims (11)

1.用于在具有至少两个执行单元的计算机系统中对数据进行比较的方法,其中在比较单元中进行数据的比较,并且每个执行单元都对输入数据进行处理并产生输出数据,其特征在于,执行单元向所述比较单元预先给定:应当将下一输出数据与至少第二执行单元的输出数据进行比较,并且之后进行至少两个输出数据的比较。
2.根据权利要求1所述的方法,其特征在于,所述至少两个执行单元相互独立地对输入数据进行处理。
3.根据权利要求1所述的方法,其特征在于,应当对下一输出数据进行比较的所述预先给定通过比较信号来实现。
4.根据权利要求3所述的方法,其特征在于,所述比较信号和应当被比较的输出数据一对一地相互可分配地被输出。
5.根据权利要求4所述的方法,其特征在于,应当被比较的数据被分配标识,通过该标识来触发所述比较。
6.根据权利要求1所述的方法,其特征在于,输出数据应当被比较的所有执行单元都将其输出数据应当被比较通知给所述比较单元。
7.根据权利要求1所述的方法,其特征在于,应当被比较的输出数据通过至少一个缓冲存储器以可预先给定的顺序被缓冲。
8.用于在具有至少两个执行单元和比较单元的计算机系统中对数据进行比较的设备,其中数据的比较在所述比较单元中进行,并且每个执行单元都对输入数据进行处理并产生输出数据,其特征在于,执行单元向所述比较单元预先给定:应当将下一输出数据与至少第二执行单元的输出数据进行比较,并且之后进行至少两个输出数据的比较。
9.根据权利要求8所述的设备,其特征在于,在所述设备中设置有至少一个缓冲存储器,该缓冲存储器被构造,使得所述数据能够以可预先给定的顺序被缓冲,并且然后能够被输送给所述比较单元。
10.根据权利要求9所述的设备,其特征在于,所述缓冲存储器是FIFO存储器。
11.具有根据权利要求9所述的设备的计算机系统。
CN200680029543XA 2005-08-08 2006-07-27 用于在计算机系统中对数据进行比较的方法和设备 Active CN101243406B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
DE102005037217.1 2005-08-08
DE102005037217A DE102005037217A1 (de) 2005-08-08 2005-08-08 Verfahren und Vorrichtung zum Vergleich von Daten bei einem Rechnersystem mit wenigstens zwei Ausführungseinheiten
PCT/EP2006/064730 WO2007017395A2 (de) 2005-08-08 2006-07-27 Verfahren und vorrichtung zum vergleich von daten bei einem rechnersystem mit wenigstens zwei ausführungseinheiten

Publications (2)

Publication Number Publication Date
CN101243406A CN101243406A (zh) 2008-08-13
CN101243406B true CN101243406B (zh) 2012-01-11

Family

ID=37398426

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200680029543XA Active CN101243406B (zh) 2005-08-08 2006-07-27 用于在计算机系统中对数据进行比较的方法和设备

Country Status (8)

Country Link
US (1) US8196027B2 (zh)
EP (1) EP1917589B1 (zh)
JP (1) JP2009505185A (zh)
CN (1) CN101243406B (zh)
DE (2) DE102005037217A1 (zh)
ES (1) ES2336604T3 (zh)
RU (1) RU2411570C2 (zh)
WO (1) WO2007017395A2 (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8201067B2 (en) * 2008-02-25 2012-06-12 International Business Machines Corporation Processor error checking for instruction data
DE112011105021B4 (de) * 2011-03-10 2020-01-30 Mitsubishi Electric Corporation Redundanzeinrichtung
US10353767B2 (en) * 2017-09-14 2019-07-16 Bae Systems Controls Inc. Use of multicore processor to mitigate common mode computing faults
US10836402B2 (en) 2017-12-27 2020-11-17 Micron Technology, Inc. Determination of reliability of vehicle control commands via redundancy
US10933882B2 (en) * 2017-12-27 2021-03-02 Micron Technology, Inc. Determination of reliability of vehicle control commands using a voting mechanism
US10981576B2 (en) 2017-12-27 2021-04-20 Micron Technology, Inc. Determination of reliability of vehicle control commands via memory test
US10896089B2 (en) * 2018-04-06 2021-01-19 Western Digital Technologies, Inc. System level data-loss protection using storage device local buffers
US11507175B2 (en) 2018-11-02 2022-11-22 Micron Technology, Inc. Data link between volatile memory and non-volatile memory
US10901862B2 (en) 2018-11-13 2021-01-26 Micron Technology, Inc. High-reliability non-volatile memory using a voting mechanism

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5243607A (en) * 1990-06-25 1993-09-07 The Johns Hopkins University Method and apparatus for fault tolerance
JPH0527994A (ja) * 1991-07-23 1993-02-05 Fuji Electric Co Ltd デイジタル機器の誤出力防止方法
EP0653708B1 (en) * 1993-10-15 2000-08-16 Hitachi, Ltd. Logic circuit having error detection function, redundant resource management method, and fault tolerant system using it
JPH0863365A (ja) * 1994-08-23 1996-03-08 Fujitsu Ltd データ処理装置
JP3036485B2 (ja) * 1997-09-12 2000-04-24 日本電気株式会社 実数演算方式
US6141718A (en) * 1998-06-15 2000-10-31 Sun Microsystems, Inc. Processor bridge with dissimilar data registers which is operable to disregard data differences for dissimilar data direct memory accesses
JP2000148524A (ja) 1998-11-09 2000-05-30 Nippon Signal Co Ltd:The フェールセーフ照合装置
JP3033754B1 (ja) 1998-12-16 2000-04-17 甲府日本電気株式会社 三重化情報処理システム
JP2000298594A (ja) * 1999-04-13 2000-10-24 Nec Corp フォールトトレラント制御方法および冗長コンピュータシステム
JP2001238094A (ja) 2000-02-25 2001-08-31 Canon Inc 画像処理装置および画像再生装置
JP2002269029A (ja) * 2001-03-07 2002-09-20 Nec Corp 高信頼性情報処理装置及びそれに用いる情報処理方法並びにそのプログラム
US20030005380A1 (en) * 2001-06-29 2003-01-02 Nguyen Hang T. Method and apparatus for testing multi-core processors
JP4155088B2 (ja) 2003-04-18 2008-09-24 日本電気株式会社 情報処理装置
US20070277023A1 (en) * 2003-06-24 2007-11-29 Reinhard Weiberle Method For Switching Over Between At Least Two Operating Modes Of A Processor Unit, As Well Corresponding Processor Unit
US20050108509A1 (en) * 2003-11-13 2005-05-19 Safford Kevin D. Error detection method and system for processors that employs lockstepped concurrent threads
US7290169B2 (en) * 2004-04-06 2007-10-30 Hewlett-Packard Development Company, L.P. Core-level processor lockstepping

Also Published As

Publication number Publication date
RU2411570C2 (ru) 2011-02-10
DE502006005533D1 (de) 2010-01-14
WO2007017395A2 (de) 2007-02-15
EP1917589B1 (de) 2009-12-02
JP2009505185A (ja) 2009-02-05
WO2007017395A3 (de) 2007-07-26
RU2008108474A (ru) 2009-09-20
CN101243406A (zh) 2008-08-13
US20090210777A1 (en) 2009-08-20
US8196027B2 (en) 2012-06-05
ES2336604T3 (es) 2010-04-14
DE102005037217A1 (de) 2007-02-15
EP1917589A2 (de) 2008-05-07

Similar Documents

Publication Publication Date Title
CN101243406B (zh) 用于在计算机系统中对数据进行比较的方法和设备
US8516356B2 (en) Real-time error detection by inverse processing
JP2500038B2 (ja) マルチプロセッサ・コンピュ―タ・システム、フォ―ルト・トレラント処理方法及びデ―タ処理システム
CN111275605B (zh) 缓冲器检查器
CN1993679B (zh) 执行计算机程序的方法、操作系统和计算设备
CN101313281A (zh) 用于在包括至少两个具有寄存器的执行单元的系统中消除错误的装置和方法
CN102640119B (zh) 用于运行计算单元的方法
KR102334341B1 (ko) 저장 융합 시스템 및 방법
JP5315748B2 (ja) マイクロプロセッサおよびシグネチャ生成方法ならびに多重化システムおよび多重化実行検証方法
CN102360311A (zh) 计算机系统
US10303566B2 (en) Apparatus and method for checking output data during redundant execution of instructions
EP1990722B1 (en) Failure analyzer
NZ570745A (en) High speed redundant data processing system
US20090249174A1 (en) Fault Tolerant Self-Correcting Non-Glitching Low Power Circuit for Static and Dynamic Data Storage
US6701484B1 (en) Register file with delayed parity check
US9542266B2 (en) Semiconductor integrated circuit and method of processing in semiconductor integrated circuit
US7337247B2 (en) Buffer and method of diagnosing buffer failure
CN110795384B (zh) 一种高效识别文件与地址数据的微处理器
US20230064905A1 (en) Semiconductor device
EP4361869A1 (en) Data processing system with tag-based queue management
Pflanz Fast Processor Recover Techniques with Micro Rollback
El Salloum et al. Recovery mechanisms for dual core architectures
TW202418068A (zh) 處理器及自處理器偵測軟錯誤的方法
Kwak et al. Checkpoint management with double modular redundancy based on the probability of task completion
Takaesu et al. Construction of a fault‐tolerant voter for N‐modular redundancy

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