CN1993678A - 错误登记方法及相应的寄存器 - Google Patents

错误登记方法及相应的寄存器 Download PDF

Info

Publication number
CN1993678A
CN1993678A CNA2005800259994A CN200580025999A CN1993678A CN 1993678 A CN1993678 A CN 1993678A CN A2005800259994 A CNA2005800259994 A CN A2005800259994A CN 200580025999 A CN200580025999 A CN 200580025999A CN 1993678 A CN1993678 A CN 1993678A
Authority
CN
China
Prior art keywords
register
computer system
duplex computer
rub
signal
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.)
Pending
Application number
CNA2005800259994A
Other languages
English (en)
Inventor
T·科特克
A·施泰宁格
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.)
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 CN1993678A publication Critical patent/CN1993678A/zh
Pending legal-status Critical Current

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
    • G06F11/1679Temporal synchronisation or re-synchronisation of redundant processing components at clock signal level
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0736Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function
    • G06F11/0739Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function in a data processing system embedded in automotive or aircraft systems
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0772Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers
    • 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/0796Safety measures, i.e. ensuring safe condition in the event of error, e.g. for controlling element
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/845Systems in which the redundancy can be transformed in increased performance

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)
  • Debugging And Monitoring (AREA)

Abstract

本发明涉及错误登记方法和附加于一个双计算机系统的寄存器,其中,在该寄存器中信息以位的形式存放,该双计算机系统包括一个错误识别机构,该寄存器中的位作为错误位代表该错误识别机构的至少一个错误信号。

Description

错误登记方法及相应的寄存器
背景技术
本发明起因于与独立权项的现有技术中已知的特征相一致的、将对一个双计算机系统的数据和/或指令的访问延时的方法以及相应的延时装置。在未来的应用中,特别是在汽车或工业制品领域,诸如在机械领域和自动化领域中,越来越多地将基于微处理器或者基于计算机的控制和调节系统用于安全性重要的应用。这时,双计算机系统或者双处理器系统(双核)是目前安全性重要的应用中常用的计算机系统,特别是车辆,诸如防阻塞系统、电子稳定性程序(ESP)、线控操作系统,如线控驱动或线控驾驶或线控煞车等等或者其他联网系统。为了满足将来的应用对安全性的这些高要求,要求强有力的错误机理和错误处理机构,特别是,为了应对例如在计算机系统半导体结构小型化时出现的瞬态错误。这时,相对困难的是保护核的自身,亦即处理器。对此的一个解决方案是,如上所述,用双计算机系统或者双核系统来进行错误检测。但是,在这样双计算机系统中一个问题是,数据的比较,特别是错误识别用输出数据的比较,只能在输出时或输出后进行。就是说,在保证该数据和/或指令是正确的之前,数据已经被引到外部汇集点,即例如一个用数据总线或者指令总线连接的组件,诸如存储器或者其他输入/输出部件。这可能导致对错误数据和/或指令的访问,亦即写操作和/或读操作,特别是在对存储器访问中出错。由于这个问题,在重建确定的系统状态时出现错误或者只有用非常高的代价才能实现:重建时排除出错的后果,在出错中断后产生正确的数据,在崩溃后重新使一个系统准备就绪,以及在电路上回到原始状态(这被更宽泛地概括为“恢复(Recovery)”)。这样的错误可以通过该双计算机系统的至少一个计算机的写操作和/或读操作形式的访问导致整个系统和连接于其上的单元出错,更加困难的是:无法确定其中哪一个数据和/或指令发生了错误的变化。
双处理器系统只能识别已经出现的错误,但是不能提供引出有效的错误处理。由于半导体结构逐渐缩小,与稳态错误相比,瞬态错误的出现频率急剧增大,所以为了提高将来系统的可用性,需要有效的错误处理。
因此,本发明任务是,解决所述问题并提高可用性。
发明内容
本发明旨在提供一种错误登记方法、给双计算机系统分配的寄存器以及相应的双计算机系统,其中,在该寄存器中信息以位的形式存放,该双计算机系统包括一个错误识别机构,寄存器中的位最好作为错误位代表错误识别机构的至少一个错误信号。
最好这样形成该寄存器,使得该错误识别机构可以设置一个相应的错误位,且该错误位可以由双计算机系统重新清除,其中,该寄存器包含在双计算机系统的一个计算机中,或者插入在双计算机系统一个计算机的存储区中。
最好仅根据一个最初的错误设置该寄存器中的一个错误位。接着,最好将多个错误信号结合为一个统一的错误信号,并通过该统一的错误信号引发一个中断。
最好在双计算机系统中为每个计算机设置一个寄存器,其中,在一个实施例中双计算机系统的两个计算机都以一个时钟偏移工作,寄存器中错误位的设置也以这个时钟偏移进行。
最好为每个计算机设置一个寄存器,并通过每个统一的错误信号引发一个中断,其中,中断以该时钟偏移引发,在双计算机系统的错误登记方法中,在识别出一个错误时在寄存器中设置至少一个错误位,对该至少一个寄存器进行求值,并根据错误位在寄存器中的位置进行错误处理,或者对该至少一个寄存器进行求值,并根据该寄存器中的错误位进行错误处理,并在错误处理之后重新使该寄存器复位或清除。
本发明的其他好处与结构上的优点可从实施例的描述及权项的特征中看出。
附图说明
下面将参照附图对本发明作详细说明。
其中,图1表示带有本发明的延时装置的双计算机系统或双处理器系统;
图2表示本发明的延时装置的第一实施例;
图3表示本发明的延时装置的第二实施例;
图4表示多路复用模块,特别是本发明的延时装置的一个可靠的多路复用器;
图5表示错误登记用的寄存器及其功能。
下面根据实施例对本发明作详细说明。
具体实施方式
图1表示带有第一计算机100(尤其是主计算机)和第二计算机101(尤其是从计算机)的双计算机系统。这时,整个系统由一个可以预先给定的时钟或可以预先给定的时钟周期(clock cycle)CLK驱动。通过计算机100的时钟输入端CLK1,并通过计算机101的时钟输入端CLK2引入时钟。此外,在这个双计算机系统中,例如包含错误识别用的专门特征,其中,第一计算机100及第二计算机101带有一个时间偏移,特别是一个可以预先给定的时间偏移,或带有一个可以预先给定的时钟偏移。一个时间偏移的每个任意时间都是可以预先给定的,而且对于该时钟周期的偏移的每个任意时钟也是可以预先给定的。这可以是时钟周期的一个整数偏移,但正如在此例中所表示的,例如,同样也可以是1.5个时钟周期的偏移,这里第一计算机100刚好在第二计算机101之前1.5个时钟周期工作,被分别驱动。通过这个偏移可以避免同时钟错误,即所谓共模错误,该计算机或者处理器,亦即双核系统的核受到同类型的干扰,因而仍旧无法识别。就是说,通过偏移使计算机在程序进行的不同时刻遭受这样的同时钟错误,据此使该两个计算机受不同的作用,以使错误变得可以识别。相比之下,若没有时钟偏移,同类型的错误作用也许无法识别,需要避免这一点。为了在双计算机系统中在时间上或者时钟上实现这个偏移,尤其是1.5个时钟周期的偏移,设置了偏移模块112至115。
为了识别上述同时钟错误,系统设计成例如在一个预先给定的时间偏移或者时钟偏移上工作,特别是1.5个时钟周期,亦即,当一个计算机例如计算机100直接请求一个组件、特别是外部组件103和104时,第二计算机101刚好延时1.5个时钟周期后再这样做。在这种情况下,为了产生所希望的1.5个周期,亦即1.5个时钟周期的延迟,计算机101向时钟输入端CLK2馈送反相时钟。因此,计算机的上述接口必须通过总线将其数据或指令延迟一个上述时钟周期,亦即这里的1.5个时钟周期,为此,如上所述设置偏移或延迟模块112至115。除了两个计算机或者处理器100和101之外还设置组件103和104,它们通过由总线导线116A、116B和116C组成的总线116以及由总线导线117A和117B组成的总线117连接两个计算机100和101。这时,117是指令总线,其中117A称为指令地址总线,而117B称为部分指令(数据)总线。地址总线117A通过指令地址接口IA1(指令地址1)与计算机100连接,并通过指令地址接口IA2(指令地址2)与计算机101连接。指令本身通过部分指令总线117B传输,它通过指令接口I1(指令1)与计算机100连接,并通过指令接口I2(指令2)与计算机101连接。在这个由117A和117B组成的指令总线117中,中间接入组件103,例如,指令存储器,特别是可靠的指令存储器等。这个组件,特别是在此例中作为指令存储器,也由时钟CLK驱动。除此之外,数据总线用116表示,它包括一个数据地址总线或者数据地址导线116A和数据总线或者数据导线116B。这时,116A亦即数据地址导线通过数据地址接口DA1(数据地址1)与计算机100连接,并通过数据地址接口DA2(数据地址2)与计算机101连接。同样,数据总线或者数据导线116B通过数据接口DO1(数据输出1)和数据接口DO2(数据输出2)与计算机100或计算机101连接。此外数据导线116C属于数据总线116,它通过数据接口DI1(数据输入1)和数据接口DI2(数据输入2)分别与计算机100或计算机101连接。在这个由导线116A、116B和116C组成数据总线116之间接入组件104,例如数据存储器,特别是可靠的数据存储器等。此例中也向组件104提供时钟CLK。
这时,代表任意组件的组件103和104通过数据总线和/或指令总线与双计算机系统的计算机连接,相应地,通过对双计算机系统的数据和/或指令的关于写操作和/或读操作的访问可能获得或者给出错误的数据和/或指令。确切地说,为了避免错误,设置错误识别发生器105、106和107,它们产生错误识别(信号),诸如奇偶位或者其他出错代码,诸如纠错码,亦即ECC等。为此这时还设置相应的错误识别检验装置或者检查装置108和109,用以检查各自的错误识别,亦即例如奇偶位或者其他出错代码,如ECC。
关于双计算机系统中冗余实施的数据和/或指令的比较在比较器110和111中进行,如图1所示。但若现在存在时间偏移,特别是在计算机100和101之间存在时钟或时钟周期偏移,则不是由非同步双处理器系统引起的,就是在同步的双处理器系统中由同步中的错误引起的,或者正如在这个特定的例子中,由错误识别所要求的时间或时钟周期偏移,特别是在这里的1.5个时钟周期引起的,在这个时间或者时钟偏移中,计算机(特别是这里的计算机100)可能在组件(特别是在外部组件,诸如这里的存储器103或者104)中,以及对于其他用户、执行器或者传感器写入或读取错误的数据和/或指令。这样还可能由于这些时钟偏移而错误地进行写访问来代替预定的读访问。显而易见,这个情况会导致整个系统出错,特别是在没有清晰的指示哪一个数据和/或指令发生了错误的改变的可能性,由此还会出现难以恢复的问题。
为了解决这个问题,如图所示在数据总线导线中和/或在指令总线中连接延时装置102。为清楚起见,只表示数据总线的接入。对于指令总线,这自然也同样是可能的和可以设想的。该延时装置102或延迟单元将访问延迟,这里特别是对存储器的访问,以补偿可能的时间或时钟偏移,特别是在错误识别时,例如通过比较器110和111,例如,至少到双计算机系统产生错误信号为止,由此,在双计算机系统中进行错误识别。这时,可以实现不同的方案:延迟写和读操作、只延迟写操作,或者(尽管不推荐)延迟读操作。这时,可以通过一个更改信号,特别是通过错误信号,将延迟的写操作变为读操作,以禁止错误的写。
图2和3示出了延时装置102的不同实现方式。该延时装置即延迟单元102的目的是,在上述时间偏移或者时钟周期偏移框架内延迟访问,以对其进行补偿,特别是为了检查计算机100对一个组件(特别是外部组件)的写操作,从而达到相应的数据和/或指令或该各自的地址的正确性。这时,延时装置还可以用这样的方法实现,即让它们靠本身识别出错误,而且通过错误信号EO向外发信号,这点将参照图2和3再作较详细的说明。
图2表示延时装置,带有两个切换单元模块201和200,特别是多路复用模块、延迟部件204和检查装置或者测试装置203,特别是TSC-检查器。这时,该延时装置由两个分支组成,一个读分支,对应于多路复用器200下面的输入路径(下面的三个箭头),包括多路复用器201;以及一个写分支,即多路复用器200上面的输入路径(上面的三个箭头)。就是说,该延时装置由两个路径组成,特别是当它们只延迟写操作时,可以在该两个路径之间通过切换装置(特别是多路复用器200)进行切换。在一个路径中,不延迟数据和/或指令,在这里是来自DO1(数据输出1)的数据、相应的地址,这里是DA1(数据地址1)和特别是这里附加的存储器控制信号MC(存储器控制),在另一个分支中通过延迟部件204对其进行延迟。两个路径之间的切换通过一个转换信号,特别是读/写信号R/W或其反相信号,亦即由此引出的信号反相R/W(在图2至4中为顶上带横画的R/W即 R/W:)。
在写分支,亦即带有延迟部件204的分支中,如上所述在预先给定的延迟1.5个时钟周期时,进行例如两个时钟周期的延迟,从而长于所需要的最小1.5个时钟周期,以允许存储器,使用相同的时钟输入端CLK。亦即,该延迟至少和所规定的时间偏移(在这里是1.5个时钟周期)一样大,但可以更大,如此例中那样。为了形成一致性,均匀地延迟相关的地址和控制信号。对于指令总线也可以像针对数据总线(正如作为示例针对用DA1和DO1所表示的)所述的那样设想。因此,这里的描述容易用于IA1的指令总线。
图2和3中各连接线上的位数作了示范性的选择,亦即,此例中建议用16位系统加上一个奇偶位(16位+1奇偶=17位)。这时,转换到诸如8、32、64位加奇偶位或者更宽的错误识别等其他位宽度毫无问题是可能的,并可以按照本发明去设想。同样,对存储器控制信号MC(存储器控制)4位的选择也是示范性的。同样通过附加而结合进来的R/W-反相位的数目5位,这时作为示例视为5位(4位+1反相R/W=5位)。在切换模块200下面的输入分支(下面的三个箭头,而且这里包括切换单元201)中,用切换模块200使延迟旁路,亦即从旁引走,由转换信号(特别是通过利用读/写信号R/W或由此引出的反相R/W)控制。在利用R/W(读/写信号)时,该信号通过反相部件205变为反相读/写信号。该第二切换模块,特别是第二多路复用器,将数据和/或指令(这里例如为数据)重新汇总到一起,同样由这个信号,特别是读/写信号R/W及其反相信号控制。这里正如下面描述的,最好从延迟路径,亦即在延迟部件204后面取出信号。
因此,最好选择延迟后的读/写信号R/W或由此反相的反相R/W(= R/W:),因为不然也许在其他连接的信号出现之前,一个访问(特别是写访问)会在未达到所要求的从例如第二时钟周期起的延迟而开始。在读和写访问之间进行切换时这也许会引起问题。例如,当一个读访问(读操作)紧接在写访问(写操作)之后进行时,必定会使延迟后的写访问和紧接其后的读访问并行地进行。亦即,在写操作和紧接其后的读操作之间本应没有准确的2个时钟节拍的距离,或者当在写操作和紧接其后的读操作之间以最小距离,在这里是两个时钟周期进行时,这可以比较简单地实现。在写操作时在切换模块200输出端上出现写操作持续时间的间隙。在这个间隙的期间,切换模块200,亦即多路复用器激活读分支,亦即多路复用器200下面的三个输入端,其中这个分支的未延迟的数据或地址和控制信息总是属于写操作。为了防止这个信息,亦即前面进行的运算到达该总线,预先设置切换装置201,它在这种情况下将非关键的常数(例如空操作NO,如这里图2所示)提供到多路复用器200下面的输入端,而同时这构成等待时间,直到多路复用器200也许到上面的三个输入路径,亦即进行延迟后的、切换了的、有效的写操作为止。
为了在这种情况下相对于另一个组件确保该接口,在此例中通过一个简单的奇偶位各自确保信号数据地址DA1(数据地址)、数据输出DO1(数据出)和控制信号(存储器控制)MC。通过检查单元109或指令总线用的检查单元108确保该奇偶性,其中,图1中没有示出,通过附加的存储器检查器202确保存储器控制信号MC。信号MC的奇偶位同样通过延迟部件204像其他信号那样延迟。因为每个信号类型DA1、DO1和MC的信号都是独立地引入该延时装置的,使这个简单的奇偶位足以预防各个错误。在进行多错误识别或者确保以及修正多个错误时,如上所述,可以使用更强的错误识别。
因为用来控制切换单元的转换信号或改变信号,亦即这里的读/写信号R/W起着一个特殊的作用,这在一个专门的实施例中再一次具体地加以确保。这可通过双轨码(亦即在两个轨迹上)直接在延时装置的输入端上进行,其中再参照图4更准确地加以描述。
一个附加的功能可以通过路径DAE/DOE、206、207和208实现。在这上面,可以在诸如错误安全(fail safe)存储器等标准组件出错或者刚好在读操作中进行写操作切换时出错的情况下达到写操作的保护。作为双轨码有双核的错误信号DAE/DOE。它被转换为单轨信号,而且处于它们之间在时间偏移之前。这在比较模块206中进行,该功能快特别可以实现为XOR-模块。这时,XOR-部件206将多路信号变为简单信号。现在在一个延迟部件207中任选地附上0.5个时钟周期的时间延迟,以在该延时装置中使所得到的错误信号与相应的数据字在时间上对齐。因为在本例中该延时装置按照延迟部件204延迟2个时钟周期。这时例如,若使用“与”门作为框208,则该读/写信号R/W被屏蔽,以阻塞写访问,如与框208的布线的关系所表示的。
这个DAE/DOE输入,亦即来自计算机的错误信号,同样可以像来自202的存储器控制MC的奇偶位一样以及切换装置201和202的各自的切换或改变信号,亦即特别是读/写信号R/W以及由此引出的反转读/写信号(反相R/W)送到测试模块203(特别是形成为TSC-检查器),由此给出可供进一步进行错误处理用的错误信号EO(ErrorOut:错误输出)。多路复用器切换用的读/写信号R/W和 R/W:的使用及其检查,如前所述,在图4中详细说明。
在延时装置中,如图2所示,按照该实施例在输出端给出一个不是非延迟的就是延迟的数据地址信号DA1d(延迟的数据地址)、不是非延迟的就是延迟的数据信号或者数据输出信号DO1d(延迟的数据输出),这取决于是读操作还是写操作,以及在这个特定例子中,当作为一个组件,特别是外部组件使用存储模块时,存储器控制信号(延迟的存储器控制),同样不是非延迟就是延迟的。
在第二实施例中图3再次表示一个延时装置,其中该延时装置如图所示也可只由一个切换模块或多路复用器200和两个分支实现。这里,由图2只使用第二多路复用器200,以直接引入其输入DA1、DO1和MC。相同的输入和以前一样通过延迟部件204延迟,且同样被引到多路复用器200。这时,数据(亦即在这里数据地址DA1、数据DO1和存储器控制MC)同时进入两个分支中,其中写操作在不延迟的路径上转换为读操作。写操作的改变或切换为读操作同样可以通过读/写信号R/W或由其引出的反相R/W进行。
此外,第二实施例的结构可与第一实施例相比,只是事实上第一多路复用器201被省略,因此凡存在的符号和功能都相同。测试单元则例外,由于省略了多路复用器201,引入的信号较少,故可以不同地构造得较小,因此这里用303标示。但是同样给出可在错误处理框架内可继续使用的可用的错误信号EO。
特别是在一种其中组件挂在通用总线上的冯·诺依曼结构中,只有写操作被延迟时是有利的。在冯·诺依曼体系结构的框架内,指令存储器访问和读操作更适宜在没有延迟的情况下进行。
在该延时单元中,作为切换单元或者多路复用器可以使用图4所示的可靠的多路复用器。这里,数据通过错误识别码(例如这里的奇偶位)来确保,而控制信号亦即切换信号或改变信号(这里特别是用读/写信号R/W和由此引出的反转读/写信号 R/W:)也同样地被确保,在这里作为示例采用双轨逻辑(Dual Rail Logic)。亦即,该R/W以及其反转信号首先被导引到可靠的多路复用器并从那里导引到测试单元TSC-检查器203或303。在这些前提下,一个读/写信号的轨迹涉及的错误由测试单元TSC 203或303检测出来,而在多路复用器开关电路中的简单错误涉及一个简单的输出位,因而可以通过奇偶检查查明。即如前所述,数据和/或指令例如在一个标准多路复用器中切换,其中还附带地切换奇偶位或其他错误识别。该控制信号,亦即切换或者改变信号R/W和反相R/W,首先被引向单个位用的所有切换器,这里,模块401至406特别表示为“与”门,其中同样被引入各自的输入端I10,I11,I20,I21至In0,In1。这些模块或其来自401-406的输出信号,如图4所示,此后总是在模块407至409中结合起来。为此,模块407-409特别实现为“或”门。此外,多路复用模块的输出端给出O1,O2至On。图4所示的结构只是图2和3的多路复用模块整个结构的一部分,带有举例说明的每个信号路径17位或5位的位宽度。亦即,图2和3的两个多路复用模块201和200最好以图4形式实现,以使如前所述的错误切换的数据路径可以识别,并简化错误识别。这样的错误不能通过纯奇偶检查查明,因为只要没有出现位翻转,错误的信号路径的数据便呈现出正确的奇偶性。
这个安全包(Sicherheitspaket)通过确保对组件(特别是图1的103和104的外部组件)的接口而与外界隔绝,其中如图1所示,产生错误识别105-107用的错误识别单元和检查诸如108和109错误识别用的错误检查单元,特别是设置为奇偶位检查器和奇偶位发生器。这时出现的错误信号此外可以作为图2和图3中的DAE/DOE-信号,以及作为数据地址错误或数据输出错误,如上所述,也在延迟单元中使用。可靠多路复用器的应用,其中控制信号或者切换或改变信号R/W及反相R/W首先提供给单个位用的所有切换器,并只有在此之后才在TSC-检查器测试,以此通过它们的测试知道控制信号中的错误,或者当只有一位错误切换时,通过要切换的数据的数据编码中得知。
由此,通过本发明用相对简单的装置便可能显著提高双计算机系统框架内的可靠性。最后图5表示该寄存器,特别是错误寄存器的工作方式。
当前的错误识别用的双计算机系统(例如双核)提供一个非常高的错误发现机率。由于新的半导体工艺,结构宽度总是不断逐渐缩小,瞬态错误的数目增大,所以大部分错误可以通过错误处理例程排除。在当前的双处理器系统中,往往只记录错误的出现,然后关断该系统或者通过一个复位重新启动。这种错误处理方法需要一个长的持续时间。为了加速错误状态的恢复,计算机上的软件必须知道出错位置,以能有针对性的和快速地排除出错状态。
若该出错位置用不同的中断线路指定,则必须将中断控制器实现为容错的,或者还必须相应地有多条中断线路可供使用。之所以如此,是因为该错误发现机构并非该或许能一起提供识别的智能中断源。
为了使这成为可能,这里提出一种内建于双计算机系统的两个处理器中的每一个的错误寄存器。该寄存器不一定必须像处理器中的寄存器那样可寻址,而是可插入处理器的存储区。该错误寄存器的每个位代表双处理器系统错误发现机构的错误信号。作为示例在这里示出一种实现方案(图1)。这时,作为示例在这里位(A)至(H)对应地代表:
(A)指令存储器错误:例如,指令地址中的奇偶错误;
(B)数据存储器错误:也可以通过2位表示,例如,一个用于地址中的错误,而另一个用于数据中的错误;
(C)指令地址错误:通过一个比较器得知;
(D)指令错误:指令出现错误例如,通过该指令奇偶检验得知;
(E)数据地址错误:像(C)一样,通过一个比较器得知;
(F)数据字错误:像(C)或(D)一样得知;
(G)一个具有错误识别机构的示范性状态组件;
(H)输入数据错误:例如,错误可以像(D)点那样通过一个奇偶检验得知。
错误寄存器的工作方式,例示于图2。当一个错误出现时,首先在主机的错误寄存器中设置相应的错误位(主机错误寄存器位0),并在1.5个时钟节拍后设置从机错误寄存器(从机错误寄存器位0)。这种偏移是必要的,因为在这个示范性实现方案中该两个处理器以1.5个时钟节拍的时钟偏移工作。该实现同样可以用于带有其他时钟偏移0至x(x为自然数)的双处理器系统。这里,第二处理器用的信号必须相应地延迟。这里,错误信号作为双轨信号存在。但这不是绝对必要的。另外,所有单个错误信号结合为一个总的信号。用这个结合的信号(Error Dual Core)可以向双处理器系统引发一个中断。该中断首先在主机上(中断主机)引发,并在相应的时钟偏移后在从机(中断从机)引发。在从机处以时钟偏移的大小延迟,是为了即使在出错的情况下和该错误处理例程时也保证双处理器系统的同步所需要的。
根据这个中断,主机的错误寄存器由主机读出,而从机的错误寄存器由从机读出。现在可以通过对设置了的位求值,启动一个错误处理例程。该错误处理例程结束之后,其相应的位可以/应该复位。
该错误寄存器不一定构建成容错的,因为它是针对每个处理器各自实现的。若在一个寄存器中出现错误,则在错误处理时该两个处理器彼此分开运行(进行不同的恢复措施),且因此知道该寄存器中的错误。若就只有该错误寄存器存在,则它同样不必实现为容错的,因为不仅必须在出错的情况下设置这个寄存器中的一个位,而且还必须引发一个中断。若引发了中断,而该位不设置或设置了两个位,则错误寄存器中出现一个错误。
该错误寄存器或者错误寄存器对不仅可以在双处理器系统上使用。它同样可以在x重处理器系统上使用,其中x为1至无限大。
可以看出:
(1)一个错误寄存器,其中每个位都代表错误识别机构的一个错误信号;
(2)一个错误寄存器,其中该处理器系统的错误识别机构可以设置相应的错误位,而且它可以由处理器重新清除,而且它实现为处理器的寄存器或者插入处理器的存储区;
(3)一个错误寄存器对,在双处理器系统中,其中明确地为每个处理器设置该错误寄存器;
(4)一个错误寄存器对,此时主机的错误寄存器在错误出现时设置,而从机的错误寄存器以相应的时钟偏移设置;
(5)各错误信号汇集为一个统一的错误信号,以此可以引发一个中断;
(6)和(5)一样,然而此时中断在主机和从机以一个时钟偏移引发,以保证双处理器系统的同步;
(7)一个错误寄存器,其中只有第一个出现的错误才可以设置一个位。
一个方法,其中:
(1)每个错误识别机构由一个位/记号/符号代表,且它们在识别出一个错误时被设置;
(2)其中,对该寄存器求值,并实现一个与该位对应的特定的错误处理例程;
(3)其中,在识别出错误时同时设置寄存器/寄存器对中的位,并向单、双或者多处理器系统引发一个中断;
(4)其中,该寄存器在一个错误处理之后由处理器重新复位。

Claims (18)

1.一种附加于双计算机系统的寄存器,其中,在所述寄存器中信息以位的形式存放,所述双计算机系统包括一个错误识别机构,其特征在于,所述寄存器中的位作为错误位代表错误识别机构的至少一个错误信号。
2.按照权利要求1的寄存器,其特征在于,所述寄存器构成为使所述错误识别机构可设置相应的错误位且该错误位可由该双计算机系统重新清除。
3.按照权利要求1的寄存器,其特征在于,所述寄存器包含在所述双计算机系统的一个计算机中。
4.按照权利要求1的寄存器,其特征在于,所述寄存器插入在所述双计算机系统的一个计算机的存储区中。
5.按照权利要求1的寄存器,其特征在于,仅根据一个最初的错误设置所述寄存器中的一个错误位。
6.按照权利要求1的寄存器,其特征在于,多个错误信号结合为一个统一的错误信号。
7.按照权利要求6的寄存器,其特征在于,通过所述统一的错误信号引发一个中断。
8.带有按照权利要求1的寄存器的双计算机系统。
9.按照权利要求8的双计算机系统,其特征在于,每个计算机设有一个寄存器。
10.按照权利要求9的双计算机系统,其特征在于,所述双计算机系统的两个计算机以一个时钟偏移工作,且所述寄存器中错误位的设置也以该时钟偏移进行。
11.按照权利要求8的双计算机系统,其特征在于,所述多个错误信号结合为一个统一的错误信号。
12.按照权利要求8的双计算机系统,其特征在于,通过所述统一的错误信号引发一个中断。
13.按照权利要求9和12的双计算机系统,其特征在于,为每个计算机设有一个寄存器,且通过每个统一的错误信号引发一个中断,其中所述中断以所述时钟偏移引发。
14.在一个双计算机系统中的错误登记方法,其中,在一个寄存器中信息以位的形式存放,所述双计算机系统包括一个错误识别机构,其特征在于,所述寄存器中的位作为错误位代表错误识别机构的至少一个错误信号,并在识别出错误时至少一个错误位被设于所述寄存器中。
15.按照权利要求14的方法,其特征在于,对至少一个寄存器求值,并依据所述寄存器中的错误位的位置进行一项错误处理。
16.按照权利要求14的方法,其特征在于,对至少一个寄存器求值,并依据所述寄存器中的错误位进行一项错误处理。
17.按照权利要求14的方法,其特征在于,通过所述寄存器中的至少一个错误位引发一个中断。
18.按照权利要求14的方法,其特征在于,一个错误处理之后所述寄存器被重新复位或者清除。
CNA2005800259994A 2004-08-06 2005-08-01 错误登记方法及相应的寄存器 Pending CN1993678A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102004038596.3 2004-08-06
DE102004038596A DE102004038596A1 (de) 2004-08-06 2004-08-06 Verfahren zur Fehlerregistrierung und entsprechendes Register

Publications (1)

Publication Number Publication Date
CN1993678A true CN1993678A (zh) 2007-07-04

Family

ID=35583530

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2005800259994A Pending CN1993678A (zh) 2004-08-06 2005-08-01 错误登记方法及相应的寄存器

Country Status (5)

Country Link
US (1) US20090024908A1 (zh)
EP (1) EP1776636A2 (zh)
CN (1) CN1993678A (zh)
DE (1) DE102004038596A1 (zh)
WO (1) WO2006015955A2 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105103134A (zh) * 2013-01-04 2015-11-25 微软技术许可有限责任公司 通过最小化差错恢复逻辑来改善软件系统
CN107133123A (zh) * 2017-04-28 2017-09-05 郑州云海信息技术有限公司 一种关于pmc‑raid卡奇偶校验错误的注错测试的方法
CN112015159A (zh) * 2019-05-31 2020-12-01 中车株洲电力机车研究所有限公司 一种基于双核mcu的故障记录存储方法及计算机系统

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9342832B2 (en) 2010-08-12 2016-05-17 Visa International Service Association Securing external systems with account token substitution
US10518801B2 (en) * 2017-10-19 2019-12-31 GM Global Technology Operations LLC Estimating stability margins in a steer-by-wire system

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0415547A3 (en) * 1989-08-01 1993-03-24 Digital Equipment Corporation Method of handling nonexistent memory errors
US5295258A (en) * 1989-12-22 1994-03-15 Tandem Computers Incorporated Fault-tolerant computer system with online recovery and reintegration of redundant components
GB2317032A (en) * 1996-09-07 1998-03-11 Motorola Gmbh Microprocessor fail-safe system

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105103134A (zh) * 2013-01-04 2015-11-25 微软技术许可有限责任公司 通过最小化差错恢复逻辑来改善软件系统
CN107133123A (zh) * 2017-04-28 2017-09-05 郑州云海信息技术有限公司 一种关于pmc‑raid卡奇偶校验错误的注错测试的方法
CN112015159A (zh) * 2019-05-31 2020-12-01 中车株洲电力机车研究所有限公司 一种基于双核mcu的故障记录存储方法及计算机系统

Also Published As

Publication number Publication date
WO2006015955A3 (de) 2006-06-08
US20090024908A1 (en) 2009-01-22
WO2006015955A2 (de) 2006-02-16
DE102004038596A1 (de) 2006-02-23
EP1776636A2 (de) 2007-04-25

Similar Documents

Publication Publication Date Title
US9811429B2 (en) Microcontroller utilizing redundant address decoders and electronic control device using the same
US7447948B2 (en) ECC coding for high speed implementation
EP0355286B1 (en) Checkpoint retry mechanism
JP5014899B2 (ja) 再構成可能デバイス
JP3229070B2 (ja) 多数決回路及び制御ユニット及び多数決用半導体集積回路
CN112667450B (zh) 一种可动态配置的多核处理器容错系统
CN100375962C (zh) 双重存储装置及该双重存储装置的控制方法
CN101933002A (zh) 包含用于逻辑错误保护的混合冗余的处理器
US20090217281A1 (en) Adaptable Redundant Bit Steering for DRAM Memory Failures
CN1993680A (zh) 用于延迟双计算机系统的数据和/或指令访问的方法以及相应的延迟单元
CN1993678A (zh) 错误登记方法及相应的寄存器
CN1109976C (zh) 监视计时器系统
JP5315748B2 (ja) マイクロプロセッサおよびシグネチャ生成方法ならびに多重化システムおよび多重化実行検証方法
JPH0833842B2 (ja) 論理演算装置
CN1731346A (zh) 微处理器的整数单元中五级容错流水结构的实现方法
CN101048754A (zh) 在多处理器系统中从至少一个数据源分配数据的方法和设备
CN103473153B (zh) 用于检测微控制器中的潜在故障的方法和系统
US6374365B1 (en) Arrangement for operating two functionally parallel processors
CN1567475A (zh) 具有内建错误纠正能力的存储器元件
JPS62293441A (ja) デ−タ出力方式
Abdulhadi et al. Self Checking Register File Using Berger Code
CN117112318A (zh) 基于risc-v架构的双核容错系统
CN115729735A (zh) 半导体装置
SU1030801A1 (ru) Микропрограммное устройство управлени
JPH03189736A (ja) 選択回路の障害検出方式

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication