CN100565466C - 在具有至少两个处理单元的计算机系统中进行模式转换和信号比较的方法和设备 - Google Patents

在具有至少两个处理单元的计算机系统中进行模式转换和信号比较的方法和设备 Download PDF

Info

Publication number
CN100565466C
CN100565466C CNB2005800365264A CN200580036526A CN100565466C CN 100565466 C CN100565466 C CN 100565466C CN B2005800365264 A CNB2005800365264 A CN B2005800365264A CN 200580036526 A CN200580036526 A CN 200580036526A CN 100565466 C CN100565466 C CN 100565466C
Authority
CN
China
Prior art keywords
signal
processing unit
data
comparison
occupied state
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
CNB2005800365264A
Other languages
English (en)
Other versions
CN101048751A (zh
Inventor
Y·科拉尼
R·格梅利彻
E·博尔
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
Priority claimed from DE200410051937 external-priority patent/DE102004051937A1/de
Priority claimed from DE200410051992 external-priority patent/DE102004051992A1/de
Priority claimed from DE200410051952 external-priority patent/DE102004051952A1/de
Priority claimed from DE200410051950 external-priority patent/DE102004051950A1/de
Priority claimed from DE200410051964 external-priority patent/DE102004051964A1/de
Priority claimed from DE200510037239 external-priority patent/DE102005037239A1/de
Application filed by Robert Bosch GmbH filed Critical Robert Bosch GmbH
Publication of CN101048751A publication Critical patent/CN101048751A/zh
Application granted granted Critical
Publication of CN100565466C publication Critical patent/CN100565466C/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/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
    • 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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • 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/30181Instruction operation extension or modification
    • 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/30181Instruction operation extension or modification
    • G06F9/30189Instruction operation extension or modification according to execution mode, e.g. mode flag
    • 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, look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3851Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming
    • 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, look ahead
    • G06F9/3867Concurrent instruction execution, e.g. pipeline, look ahead using instruction pipelines
    • G06F9/3869Implementation aspects, e.g. pipeline latches; pipeline synchronisation and clocking
    • 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, look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units
    • 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/18Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
    • G06F11/183Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits by voting, the voting not being performed by the redundant components
    • G06F11/184Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits by voting, the voting not being performed by the redundant components where the redundant components implement processing functionality
    • 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

Abstract

用于在具有至少两个处理单元、转换装置和比较装置的计算机系统中进行转换的方法和设备,其中在至少两个运行模式之间进行转换,并且第一运行模式对应于比较模式并且第二运行模式对应于性能模式,其中在比较模式中信息被比较,其特征在于,在所述至少两个处理单元异步时,在比较模式中将同步信号置于所述处理单元中的至少一个处理单元的中断输入端上。

Description

在具有至少两个处理单元的计算机系统中进行模式转换和信号比较的方法和设备
背景技术
在WO 01/46806A1中描述了一种用于在比较模式中识别错误的方法。在此,数据在具有两个处理单元ALU的处理单元中并行地被处理和比较。在错误(软错误,瞬时错误)的情况下,在那里两个ALU一直彼此独立地工作,直到有错误的数据被去除并且可以进行重新的(部分重复的)冗余处理。这以两个ALU能够彼此同步地工作并且结果能够时钟精确地被比较为前提。
在现有技术中公开了这样的方法,即如何能够在用于错误识别的比较模式和用于实现更高的效率的性能模式之间转换,其中在比较模式中冗余地执行任务。在此前提是,处理单元针对比较模式相互被同步。为此必要的是,两个处理单元能够被停止并且时钟精确地同步工作,以便能够在写入存储器中时将结果数据相互比较。为此对硬件的干预是必要的,提出各个解决方案。
在专利文献EP 0969373A2中,与此相对地,即使处理单元彼此异步地工作,即不是时钟相同地或者以未知的时钟偏移工作,也保证冗余地工作的处理单元的结果的比较。
由飞机工业公开了表决系统,这些系统可以使用标准计算机的输入并且通过多数决定法(Mehrheitsentscheid)可靠地处理这些输入,并且由此可以触发安全性相关的动作。将内部处理单元和内部控制单元通信彼此结合的系统是FME系统,其中由于高的冗余度,即使在单个或者甚至多个错误的情况下,系统仍然保持能够工作,并且是由DASA针对宇宙航行所开发的(Urban等人所著的:A survivableavioncs system for space applications,Int.Symposium onFault-tolerant Computing,FTCS-28(1998),第372-381页)。该系统甚至可以容忍拜占庭式(byzantinische)错误(即特别糟糕的错误,其中不是所有的部件都获得相同的信息,而是由阴谋者甚至“故意地”将不同错误的信息分发给不同的部件)。这种系统由于高昂的开销而在商业上可用于特别紧要的系统,这些系统以非常少的件数被制造。一种能够以大的件数来制造并且附加地还具有转换可能性的成本有利的解决方案未被公开。因此本发明的任务在于,实现一种转换和比较单元,其允许转换两个或者更多个处理单元的运行模式,并且在此无需对这些处理单元的结构的干预也能完成,并且也无需用于该目的的附加的信号。在此应该可以将不同处理单元的不同的数字或者模拟信号在比较模式中进行相互比较。在此,当处理单元以不同的时钟信号来驱动并且彼此不同步地工作时,该比较应该也许也是可能的。此外,本发明的任务在于,提供装置和方法,该装置和方法即使在没有硬件干预的情况下也能够实现同步。
优点
有利地使用一种用于在具有至少两个处理单元、转换装置和比较装置的计算机系统中进行转换的方法,其中在至少两个运行模式之间进行转换,并且第一运行模式对应于比较模式并且第二运行模式对应于性能模式,其中在比较模式中将信息进行比较,其特征在于,在所述至少两个处理单元异步时,在比较模式中将同步信号置于所述处理单元中的至少一个处理单元的中断输入端上。
有利地使用一种方法,在该方法中,同步信号是延迟信号、特别是等待信号。
有利地使用一种方法,在该方法中,通过该同步信号促使至少一个处理单元不再处理信息。
有利地使用一种方法,在该方法中,在可预先给定的时间内促使至少一个处理单元不再处理信息。
有利地使用一种方法,在该方法中,同步信号相对于至少一个中断信号具有更高的优先级。
有利地使用一种方法,在该方法中,同步信号相对于所有中断信号具有最高的优先级。
有利地使用一种方法,在该方法中,通过同步信号促使至少一个处理单元执行中断例程。
有利地使用一种方法,在该方法中,包含至少一个缓冲存储器,并且要在比较模式中被比较的信息中的至少一个在依赖于同步信号的时间内被缓存在该缓冲存储器中。
有利地使用一种方法,在该方法中,根据所述信息中的至少一个被缓存的时间,能够确定异步信息、特别是时间误差。
有利地使用一种方法,在该方法中,在缓冲存储器中能够确定该存储器的填充状态,该填充状态表明,哪个数目的信息位于该缓冲存储器中。
有利地使用一种方法,在该方法中,通过以下方式来确定时间误差,即设置时间检测装置、特别是计数元件,其中确定时间值并且将该时间值与可预先给定的最大时间值进行比较。
有利地使用一种方法,在该方法中,通过以下方式来确定异步信息,即将所确定的填充状态与可预先给定的最大填充状态进行比较。
有利地使用一种方法,在该方法中,通过比较信号来实现下一个输出数据应该被比较的预先给定。
有利地使用一种方法,在该方法中,标识被分配给应该被比较的数据,通过该标识来触发比较。
有利地使用一种用于在具有至少两个处理单元的计算机系统中进行转换的设备,其中该设备包含转换装置和比较装置,并且在至少两个运行模式之间进行转换,并且第一运行模式对应于比较模式并且第二运行模式对应于性能模式,其中在比较模式中信息被比较,其特征在于,该设备这样被构造,使得在所述至少两个处理单元异步时,在比较模式中将同步信号置于所述处理单元中的至少一个处理单元的中断输入端上。
有利地使用一种设备,在该设备中,比较装置和转换装置在结构上被设置在处理单元的外部。
有利地使用一种设备,在该设备中,设置有至少一个缓冲存储器。
有利地使用一种设备,在该设备中,缓冲存储器是FIFO存储器。
有利地使用一种设备,在该设备中,每个处理单元都被分配缓冲存储器。
有利地使用一种设备,在该设备中,每个处理单元都被分配缓冲存储器、特别是FIFO存储器。
有利地使用一种设备,在该设备中,设置有装置、特别是计数元件,这些装置这样被构造,使得这些装置根据可预先给定的和/或可确定的时间确定异步信息、特别是时间误差,其中在所述可预先给定的和/或可确定的时间内所述信息中的至少一个被缓存。
有利地使用一种设备,在该设备中,设置有装置,这些装置这样被构造,使得这些装置在缓冲存储器中确定该存储器的填充状态,该填充状态表明,哪个数目的信息位于该缓冲存储器中。
有利地使用一种设备,在该设备中,所述装置这样被构造,使得这些装置通过以下方式来确定异步信息,即,将所确定的填充状态与可预先给定的最大填充状态进行比较。
有利地使用一种设备,在该设备中,设置有同步装置,这些同步装置这样被构造,使得这些同步装置根据异步信息生成同步信息。
有利地使用一种设备,在该设备中,设置有监视装置,该监视装置这样被构造,使得该监视装置处理异步信息。
有利地使用一种设备,在该设备中,该监视装置是在计算机系统外部的监视装置、特别是监视定时器。
其它的优点和有利的扩展方案从权利要求的特征以及说明书中得到。
附图说明
图1示出用于两个处理单元的转换和比较单元的基本功能;
图1a示出比较器的一般化图示;
图1c示出比较器的扩展的图示;
图1b示出转换和比较单元的一般化图示;
图2示出用于两个处理单元的转换和比较单元的详细图示;
图3示出用于两个处理单元的转换和比较单元的一种可能的实现;
图4示出用于多于两个处理单元的转换和比较单元的更详细的图示;
图5示出用于多于两个处理单元的转换和比较单元的一种可能的实现;
图6示出控制寄存器的一种可能的实现;
图7示出用于集中表决的表决单元;
图8示出用于分散表决的表决单元;
图9示出同步元件;
图10示出握手接口;
图11示出差分放大器;
图12示出用于正的电压差的比较器;
图13示出用于负的电压差的比较器;
图14示出用于存储错误的电路;
图15示出具有输出寄存器的模数转换器;
图16示出具有标识和模拟位的经数字转换的模拟值的图示;
图17示出作为具有数字位的数字字的数字值的图示。
具体实施方式
在下文中,执行单元或者处理单元不仅可以表示处理器/核心/CPU,而且也可以表示FPU(浮点单元)、DSP(数字信号处理器)、协处理器或者ALU(算术逻辑单元)。
考虑两个或更多个处理单元的系统。原则上,在安全性相关的系统中存在以下可能性,即通过尽可能将不同的任务提供给不同的处理单元来将这样的资源或者用于提高效率。替代地,也可以通过以下方式彼此冗余地使用这些资源中的一些,即给所述一些资源提供相同的任务并且在结果不同时识别出错误。根据有多少处理单元,可设想多种模式。在双元件系统(Zweier-System)中,存在两种模式“比较”和“性能”,如上面所描述的那样。在三元件系统中,除了所有三个处理单元并行地工作的纯性能模式和所有三个处理单元冗余地计算并且被比较的纯比较模式之外,还实现3选2表决(2aus3-Voting)模式,其中所有三个处理单元冗余地计算并且进行多数选择。此外,还可以实现混合模式,其中例如处理单元中的两个彼此冗余地计算并且比较结果,而第三处理单元处理另外的、并行的任务。在四处理单元系统或更多处理单元系统中,显然还可设想另外的组合。
要解决的任务是,系统中可供使用的处理单元在运行中可以被可变地使用,而不必(例如为了同步目的)干预这些处理单元的现有结构。在一种特别的实施方案中,每个处理单元都应能够以特有的时钟工作,即用于比较目的的相同任务的执行也可以彼此异步地执行。该任务通过以下方式来解决,即实现通用的、可广泛使用的IP,该IP能够实现在任意时刻转换运行模式(例如比较模式、性能模式或者表决模式),而不必事先断开处理单元,并且管理彼此可能异步的数据流的比较或者表决。该IP可以被实施为芯片,或者可以与一个或多个处理单元一起被集成在芯片上。此外,该芯片仅仅由一块硅构成并不是前提,也完全可能的是,该IP由分离的模块实现。
为了保证不同的处理单元之间的同步性,防止各个处理单元的不断继续进行的程序执行的信号是必要的。为此通常设置有WAIT(等待)信号。如果执行单元不具有等待信号,它也可以通过中断而被同步。为此,同步信号(例如图2中的M140)不是被引导至等待输入端,而是被置于中断上。该中断必须相对于处理程序以及也相对于其它中断具有足够高的优先级,以便中断正常的工作方式。在又跳回被中断的程序中之前,所属的中断例程仅仅执行确定数量的NOP(对数据不产生影响的空指令),并且由此延迟处理程序的进一步的执行。必要时,在中断例程中还必须在开始时和在结束时进行通常的存储操作,以便不会由于中断而影响正常的程序执行。
该过程一直被继续,直到建立了同步(例如其它处理单元提供所期望的比较数据)。然而,利用这种方法只能有条件地保证与其它处理单元的精确的时钟同步性和特别是相位一致性。因此要推荐的是,在使用中断信号来同步的情况下,要比较的数据在其被比较之前都被缓存在UVE中。
本发明的优点在于,可以使用任意的商业上可用的标准结构,因为无需附加的信号(不干预硬件结构)并且可以监视这些部件的任意的输出信号,这些信号例如被直接用于控制执行元件。这包含检验转换器结构、例如DAC和PWM,这些转换器结构迄今按照现有技术不能直接通过比较来检验。但是,只要不需要对单个任务或软件任务的检验,转换到性能模式中也就是可能的,在该性能模式中不同的任务被分配到不同的处理单元上。
另一个优点在于,在比较模式或者表决模式中不是所有数据都必须被比较。只是要比较的或要表决的数据在转换和比较单元中彼此被同步。这些数据的选择由于转换和比较单元的有针对性的响应而是可变的(可编程的),并且可以与相应的处理单元结构以及与应用相匹配。由此,也可以容易地使用不同的μC或者软件部分,因为事实上也只比较能够有意义地被比较的结果。
此外,由此可以监视对(例如外部的)存储器的每一访问,或者只监视对外部I/O模块的控制。内部信号可以通过软件控制的至转换模块的附加输出在外部的数据和/或地址总线上被检验。
用于比较操作的所有控制信号都在优选地可编程的转换和表决单元中被产生,并且比较也在那里进行。输出应该相互被比较的处理单元(例如处理器)可以使用相同的程序、复制的程序(这附加地能够实现在存储器访问时识别错误)或者多样化的程序来识别软件错误。在此,不必将所有的由处理单元提供的信号都相互比较,而是也可以借助标识(地址信号或控制信号)设置用于比较的确定的信号或者也可以不设置。该标识在转换和比较装置中被分析并且由此控制比较。单独的定时器监视在时间特性方面超过可预先给定的极限的偏差。转换和比较单元的一些或甚至所有模块都可以被集成在芯片上、被集成在共同的板上或者也可以在空间上分离地安置。在最后一种情况下,数据和控制信号通过合适的总线系统相互被交换。现场的寄存器随后通过总线系统被写并且借助被存储在其中的数据和/或地址和/或控制信号来控制过程。
在图1中示出了根据本发明的用于结合两个处理单元B10和B11的应用的转换单元B01的基本功能。处理单元B10和B11的不同的输出信号、例如数据、控制和地址信号B20或B21与转换单元B01相连接。此外,还有至少一个与比较单元之一相连接的同步信号,在根据本发明的装置的扩展方案中有两个输出信号B40和B41。
转换单元包含至少一个控制寄存器B15,该控制寄存器具有至少一个用于二进制符号(位)B16的存储元件,该符号转换比较单元的模式。B16可以至少取两个值0和1,并且可以通过处理单元的信号B20或者B21或者通过转换单元的内部进程来设置或复位。
如果B16被设置为第一值,则转换单元工作在比较模式中。在该模式中,所有从B20到达的数据信号都与来自B21的数据信号进行比较,只要信号B20和B21满足控制和/或地址信号的确定的可预先给定的比较条件,这些信号就用信令通知数据的有效性和为这些数据所设置的比较。
如果两个信号B20和b21的这些比较条件同时被满足,则来自这些信号的数据直接被比较并且在不一致的情况下设置错误信号B17。如果只有信号B20或B21满足比较条件,则设置相应的同步信号B40或B41。该信号在相应的处理单元B10或B11中引起处理的停止,并且由此引起对迄今不能被相互比较的相应信号的转接的阻止。信号B40或B41一直保持被设置,直到满足了分别另一处理单元B21或B20的相应的比较条件为止。在这种情况下,执行比较并且将相应的同步信号复位。
为了保证在所描述的、不同时由两个处理单元提供要比较的数据的情况下的比较,或者必要的是,将相应的处理单元的数据和比较条件一直保持在相应的值,直到相应的同步信号B40或B41被复位为止,或者必须将首先被提供的数据存储在转换单元中直到比较。
根据哪个处理单元首先提供数据,该处理单元必须一直等待其程序或者其进程的继续执行,直到另一处理单元提供相应的比较数据为此。在根据图1的转换单元的一种特别的实施方案中,当始终保证所属的处理单元不比另外的处理单元更早提供比较数据时,可以舍弃信号之一B40或B41。
如果B16被设置为第二值,则同步信号B20和B21以及错误信号B17始终是未激活的,例如被设置为值0。也不进行比较,并且两个处理单元彼此独立地工作。
根据本发明的系统中的一个重要的部件是比较器。该比较器在图1a中以最简单的形式被示出。比较部件M500可以接收两个输入信号M510和M511。该比较部件随后比较这两个输入信号的一致性,在这里所示的上下文中优选地在逐位一致的意义上进行比较。如果它检测到不一致,则错误信号M530被激活并且信号M520被去激活。在一致情况下,输入信号M510、M511的值被给予输出信号M520,并且错误信号M530变成未激活,即其用信令通知“良好的”状态。从该基本系统出发,可设想多种扩展的实施形式。首先部件M500可以被实施为所谓的TSC部件(totally self checking(完全自校验))。在这种情况下,错误信号M530在至少两个线路(“双轨”)上被向外引导,并且通过内部的设计和错误发现措施来保证,在比较部件的每种可能的错误情况中,该信号正确地或者可识别地不正确地存在。在根据本发明的系统的使用中的一种优选的实施形式是,使用这种TSC比较器。
第二类实施形式可以如下被区分,即两个输入M510、M511(或者M610、M611)必须具有何种程度的同步。一种可能的变型方案的特征在于逐时钟的同步,即数据的比较可以在一个时钟中被执行。轻微的改变通过以下方式来产生,即在输入之间有固定的相位偏移的情况下使用同步的延迟元件,该延迟元件将相应的信号例如延迟整数个或者半个时钟周期。这种相位偏移是有用的,以便避免共性原因错误(Common Cause Fehler),即该共性原因错误是可以同时对多个处理单元起作用的这种错误。因此,在图1c中除了图M5中的部件之外还插入了将以前的输入延迟该相位偏移的部件M640。优选地,该延迟元件被安置在比较器中,以便该元件仅仅在比较模式中被使用。替代地或者补充地,为了同样可以容忍异步性,可以将中间缓冲器置于输入链中。优选地,这些中间缓冲器被设计为FIFO存储器。如果存在这种缓冲器,则也可以容忍直至缓冲器的最大深度的异步性。在这种情况下,当缓冲器溢出时,也必须输出错误信号。
此外,可以在比较器中根据信号M520(或者M620)如何被生成来区分实施形式。一种优选的实施形式是,将输入信号M510、M511(或者M610、M611)置于输出端上,并且通过开关使得连接可中断。该变型方案的特别的优点在于,为了在性能模式和可能的不同的比较模式之间进行转换,可以使用相同的开关。替代地,信号也可以由比较器内部的缓冲存储器来产生。
最后一类实施形式可以如下来区分,即在比较器上存在多少输入,并且比较器应该如何作出反应。在三个输入的情况下,可以进行多数表决、所有三个信号的比较或者仅仅两个信号的比较。在四个或者更多输入的情况下,相应地可设想更多的变型方案。这些变型方案优选地与总系统的不同的运行模式相耦合。
为了说明一般的情况,在图1b中示出了如应优选地被使用的转换和比较单元的一般化的图示。n个信号N140、...、N14n从n个要考虑的执行单元去往转换和比较部件N100。该转换和比较部件可以根据这些输入信号产生至多n个输出信号N160、...、N16n。在最简单的情况、即“纯性能模式”下,所有信号N14i都被引导到相应的输出信号N16I上。在相反的极限情况、即“纯比较模式”下,所有信号N140、...、N14n仅仅被引导到输出信号N16I中的恰好一个上。
借助该图可以说明,如何能够产生不同的可设想的模式。为此在该图中包含有开关逻辑N110的逻辑部件。该部件不必作为这样的逻辑部件存在,决定性的是,其功能存在。它首先确定,究竟存在多少个输出信号。此外,开关逻辑N110确定,哪个输入信号对哪个输出信号作出贡献。在此,一个输入信号可以对恰好一个输出信号作出贡献。以数学形式不同地表述,也就是通过开关逻辑来定义以下函数,该函数给集合{N140,...,N14n}的每个元素分配集合{N160,...,N16n}的一个元素。
处理逻辑N120的功能随后针对输出N16i中的每一个确定,输入以何种形式对该输出信号作出贡献。该部件也不必作为特有的部件而存在。决定性的又是,在系统中实现所描述的功能。为了示例性地描述不同的变型可能性,在不限制一般性的情况下假设,输出N160通过信号N141、...、N14m来产生。如果m=1,这简单地对应于信号的接通,如果m=2,则信号N141、N142被比较。该比较可以同步地或者异步地执行,它可以逐位地或者只对重要的位或者以容差带(Toleranzband)执行。
如果m>=3,则存在多种可能性。
第一种可能性在于,比较所有信号并且在存在至少两个不同的值的情况下检测出错误,可以可选地用信令通知该错误。
第二种可能性在于,进行m选k的选择(k>m/2)。这可以通过使用比较器来实现。可选地,当信号之一被识别为不同时,可以生成错误信号。当所有三个信号都不同时,可以生成可能不同的错误信号。
第三种可能性在于,将这些值输送给一种算法。这可以例如是平均值、中值的形成或者容错算法(FTA)的使用。这种FTA基于,删去输入值的极值并且进行对剩余的值进行取平均值的行为。可以对剩余值的整个集合或者优选地对能够在硬件中容易地形成的子集进行这种取平均值。在这种情况下,并不总是必要的是,将这些值实际上进行比较。在形成平均值时,例如仅仅必须相加或者相除,FTM、FTA或者中值要求部分的分类。必要时,这里也可以在足够大的极值的情况下可选地输出错误信号。
将多个信号处理为一个信号的这些不同的所述可能性为了简短的原因而被称为比较操作。
因此,处理逻辑的任务是,为每个输出信号并且因此也为所属的输入信号确定比较操作的准确形态。开关逻辑N110(即上面提及的函数)和处理逻辑(即每个输出信号、即每个函数值的比较操作的确定)的信息的组合是模式信息,并且该模式信息确定模式。该信息在一般情况下自然是多值的,即不能仅仅通过一个逻辑位来表示。并不是所有在理论上可设想的模式在所给定的实施中都是有意义的,优选地将限制所允许的模式的数目。要强调的是,在只有两个只存在比较模式的执行单元的情况下,整个信息可以被浓缩为仅仅一个逻辑位。
在一般情况下,从性能模式到比较模式的转换通过以下方式来表征,即在性能模式中朝不同的输出被映射的执行单元在比较模式中朝相同的输出被映射。优选地,这通过以下方式来实现,即存在执行单元的子系统,在该子系统中,在该子系统中要考虑的所有输入信号N14I在性能模式中都被直接转换到相应的输出信号N16I上,而它们在比较模式中都朝一个输出被映射。替代地,这种转换也可以通过改变配对来实现。这通过以下方式来说明,即虽然在本发明的给定的构成中可以这样限制所允许的模式的数量,使得情况如此,但是在一般情况下可以不谈及性能模式和比较模式。在运行中可以在通过软件控制的情况下在这些模式之间动态地转换。在此,例如通过执行特定的转换指令、特定的指令序列、明确标识的指令或者通过多处理器系统的执行单元中的至少一个对确定地址的访问来触发该转换。
在图2中示出了更详细描述的具有根据本发明的转换和比较单元M100的双处理器或双μC系统,其中也可以可选地取消不同的所示出的信号。该系统由两个处理单元(M110,M111)以及转换和比较单元M100构成。数据信号(M120,M121)和地址/控制信号(M130,M131)从每个处理单元去往转换单元,并且每个处理单元可选地也从转换单元取回数据(M150,M151)和控制信号(M140,M141)。单元M100输出数据(M160,M161)以及状态信息M169,并且接收如例如数据(M170,M171)和控制信号M179那样的信号,这些信号也可以被转发给处理单元。通过M170、M171和M179,可选地也可以独立于处理单元来设置单元M100的运行模式;同样,处理器可以通过输出M120、M121(例如数据总线)以及控制和地址信号M130、M131(例如写)在单元M100中设置运行模式、例如性能模式(没有比较)或者比较模式(具有信号M120、M121和/或例如来自外围单元的信号M170、M171的比较)。在性能模式中,输出M120、M121必要时结合控制信号被转发到输出M160、M161上并且相反地输入M170、M171被转发到M150、M151上。在比较模式中,输出被比较并且有利地仅仅在无错误的情况下向M160、M161转发,其中选择性地使用两个输出,或者仅仅使用两个输出之一。同样可以检验输入数据M170、M171,这些输入数据被转发给处理单元。在比较模式中信号的有错误的比较的情况下,生成错误信号,并且例如借助双轨信号:故障安全(fehlersicher)用信令向外通知(状态信息M169的组成部分)。状态M169也可以包含运行模式或者关于执行单元的信号的时间偏移的信息。在预先给定的(可编程的)时间间隔中不提供处理单元的比较数据的情况下,错误信号也被激活。在错误的情况下,输出M160、M161可以被禁止(故障沉默特性)。这可以涉及数字的以及模拟的信号。但是,这些输出驱动级也可以输出处理单元的未被延迟的(未被缓存的)输出信号M120、M121,具有事后的错误发现的可能性。只要没有超过容错时间、即(迟钝的)系统还没有对错误作出灾难性的反应并且因此还存在纠正的可能性的时间,这就被安全性相关的系统所容忍。
没有被引导到UVE中的输出信号M180、M181以及处理单元的内部信号也可以至少在其所计算的值方面通过以下方式被比较,即将该值为了比较的目的而在输出M120、M121上输出。相应地,也可以以不通过M100到来的输入信号M190、M191来执行。
为了监视单元M100,对于所选择的信号或者所有信号M160、M161来说可以通过M170、M171或者也通过M190、M191读回这些信号。由此,在比较模式中也可以保证检测到来自单元M100的有错误的信号。通过合适的断开路径,由此可以建立整个系统的故障沉默特性,其中M100、M110、M111(以或逻辑(Oder-Verknuepfung))访问该断开路径。
在图3中详细示出了图2中的转换和比较单元M100的一种可能的实施。单元M100包含具有至少一个表示模式(性能/比较)的位的控制寄存器M200以及具有至少一个表示比较模式中的错误状态的位的状态寄存器M220。等待和中断信号由分别用于两个处理单元的控制寄存器中的另外的位来控制。在此,必要时也要在不同的中断之间进行区分,如例如为了同步目的,为了准备运行模式转换以及为了错误处理。可选地存在另外的控制寄存器,如例如包含用于控制内部的或外部的监视定时器(Watchdog)的处理单元之间的最大允许的时间差(时钟周期的数目)的M240以及具有时间差值(时钟周期数目)的M241,从该时间差值开始,最快的处理器应该借助WAIT或者中断信号被暂时地停止或者延迟,以便例如防止数据寄存器的溢出。
在状态寄存器M220中,例如除了错误位之外还存储当前处理单元之间的时钟偏移有多大。为此,当(通过地址和控制信号、例如确定的地址区)特别被标识的数据值首先被提供时,例如至少一个定时器M230总是由处理单元启动,并且当由第二处理单元提供相应的数据值时,该定时器的值总是被接纳到状态寄存器中。此外,该定时器优选地被这样设置,使得即使在不同的程序运行的情况下也根据WCET(最坏情况执行时间)保证,所有处理单元都必须提供数据。如果该定时器的预先给定的值被超过,则输出错误信号。
处理单元的输出M120、M121可以在M100中特别是针对比较模式被存储在缓冲存储器M250、M251中,只要涉及数字数据并且它们不能时钟精确地被提供。优选地,该存储器可以被实施为FIFO。如果该存储器仅仅具有深度1(寄存器),则例如可以通过等待(Wait)信号导致,另外的值的输出被延迟直到进行了比较为止,以便避免数据损失。
此外存在比较单元M210,其将来自输入存储器M250、M251的数字数据、直接的输入M120、M121或者M170、M171相互比较。该比较单元也可以将串行的数字数据(例如PWM信号)相互比较,当例如可以在存储单元M250、M251中接收串行数据并且可以将该串行数据转换为并行数据时,这些串行数据随后在M210中被比较。同样,异步的数字输入信号M170、M171可以通过附加的存储单元M270、M271被同步。如也对于输入信号120、121那样,这些信号优选地在FIFO中被缓存。在性能模式和比较模式之间的转换通过设置或者复位控制寄存器中的模式位来进行,由此例如在两个处理单元中引起相应的中断。比较本身通过所提供的数据M120、M121以及与此有关的地址和控制信号M130、M131引起。在此,来自M120和M130或者M121和M131的确定的信号可以作为标识起作用,该标识表明,是否应该进行所分配的数据的比较。
这是相对于图1中的简单的转换的另一种实施形式。在此,有利地应在借助中断例程过渡到比较模式中时进行不同的准备,以便为两个处理单元创造相同的起始条件。如果一个处理单元因此已准备好,则由其设置控制寄存器中的处理器特定的准备(Ready)位,并且处理单元保持在等待状态中,直到另一处理单元也通过其准备位用信令通知其待命(也参见图6中的控制寄存器的描述)。
在该比较单元中,同样可以将特别适合于模拟信号的模拟比较单元M211(analog compare unit)中的模拟数据相互比较。但是其前提是,模拟信号的输出彼此足够同步地进行,或者在模拟比较单元中设置通过在那里所实施的ADC被数字化的数据的存储(对此参见关于图12至14的另外的实施方案)。可以通过以下方式实现同步性,即将处理单元的数字输出(数据、地址和控制信号)如上面描述的那样相互比较并且让太快的处理单元等待。为了该目的,虽然通常在外部不需要数字信号,但也可以将这些数字信号通过输出M120、M121提供给单元M100,其中这些数字信号在处理单元中作为模拟信号的源被处理。除了模拟信号的比较之外的这种冗余比较导致,已经可以更早地识别出计算中的错误,并且此外使处理单元的同步变得容易。模拟信号的比较引起针对处理单元的DAC(数模转换器)的附加的错误识别。在DCSL架构的另外的结构中,没有给出这种可能性。对于外围单元的模拟输入信号来说,也可以实现比较。特别是当涉及相同的系统参数的冗余的传感器信号时,于是无需附加的同步措施,而是仅仅必要时需要控制信号,该控制信号表明传感器信号的有效性。模拟信号的比较的实现还会详细地示出。
图4示出具有至少n+1个处理单元的多处理器系统,其中这些部件中的每一个也又可以包括多个子处理单元(具有相应的附加部件的CPU、ALU、DSP)。这些处理单元的信号同样与转换和比较单元相连接,如在根据图2的双元件系统中所描述的那样。因此,该图中的所有部件和信号在内容上具有与图2中的相应的部件和信号相同的含义。转换和比较单元M300可以在多处理器系统中在性能模式(所有处理单元执行不同的任务)、不同的比较模式(两个或者更多处理单元的数据应该被比较并且在不一致的情况下应该用信令通知错误)以及不同的表决模式(在不一致的情况下根据不同的可预先给定的算法的多数决定)之间进行区分。针对每个处理单元,在此可以单独地决定,其在哪种模式中工作,以及必要时它与哪些另外的处理单元一同在该模式中工作。如何准确地进行转换将紧接着在根据图6的控制寄存器的描述中被进一步阐述。
图5示出用于具有n+1个处理单元的多处理器系统的转换单元的一种可能的实施方案。针对每个处理单元,在转换和比较模块的控制单元中设置有至少一个控制寄存器M44i。在图6中详细地示出了并且描述了优选的一组控制寄存器。在此,M44i分别对应于控制寄存器Ci。控制寄存器的不同的实施形式是可设想的。可以通过合适的位组合来描述,是否应该使用错误识别模式或者容错模式。根据投入到单元M300中的花费,也还可以说明,希望使用哪种类型的容错模式(3选2,中位数,4选2,4选3,FTA,FTM,...)。此外能够可配置地设计,接通哪个输出。还可以据此构造这样的实施形式,其中哪些部件对于哪个数据来说可以影响该配置。
所参与的处理单元的输出信号随后在转换单元中被相互比较。因为信号不一定时钟精确地被处理,所以需要数据的缓存。在此,以不同处理单元的更大的时间差被提供给转换单元的数据也可以在转换单元中被比较。通过使用缓冲存储器(例如被构造为FIFO存储器:先进先出或者以其它的缓冲器形式),也可以首先由一个处理单元接收多个数据,而其它处理单元还没有提供数据。在此,两个处理单元的同步的量度是FIFO存储器的填充状态。如果超过确定的可预先给定的填充状态,则在处理中进行得最远的处理单元通过存在的WAIT信号或者通过合适的中断例程被暂时地停止,以便等待在处理中较慢地进行的处理单元。在此,监视应该被延伸到处理单元的所有在外部可用的信号;这也包含模拟信号或者PWM信号。在转换单元中,为此设置有允许这种信号的比较的结构。附加地建议,预先给定要比较的数据之间的最大时间偏差,并且借助至少一个定时器来监视。
如果在一般情况下多于两个的处理单元通过共同的转换单元彼此相连接,则对于这些处理单元中的每一个来说都需要控制寄存器。这种控制寄存器的一种特殊的实施方案在图6中被说明。相应的控制寄存器Cx的(n+1)个低位B500x至B50nx被唯一地分配给n+1个处理器/处理单元。控制寄存器Cx的位B514x在比较/表决和并行工作之间转换,并且对应于图1中的B16的值。位B513x表明,是否所涉及的处理单元准备好进行比较(Ready),位B512x控制同步信号(WAIT或者INTERRUPT),并且位B511x可以被用于使相应的比较单元x通过中断为比较作准备。相应地,位B5110x控制中断,该中断将处理单元复位到并行模式中。
如果控制寄存器Ck的B50ik和B50kk被设置为1(0≤i,k≤n),则在该实施形式中这意味着处理单元i的输出与处理单元k的输出应该进行比较。如果此外B50jk也等于1,则应该在i、j和k之间进行表决并且表决结果在UVE的输出端k上被输出(0≤i,j,k≤n)。为此,可以针对每组处理单元确定表决的特殊方式或者仅仅多数比较的特殊方式,如已经在关于图M4的阐述中所列举的那样。一般而言,当应该在UVE的输出端k上输出表决结果时,必须设置(控制寄存器Ck中的)用于要比较的/要表决的处理单元i的所有位B50ik。在另外的输出端上的并行输出是可能的。
控制寄存器i(0≤i≤n)的B50ii中的1说明,比较单元的输出i应该是激活的。如果所有控制寄存器Ci只是在相应的存储位置B50ii中具有1(i=0,1,...n),则所有处理单元都在性能模式中以任意不同的程序和特有的输出信号工作。如果所有n+1个低位B50ik都等于1(i=0,1,...n),并且此外设置了B514k,则所有处理单元的输出信号通过多数决定(表决)被选择并且在UVE的输出端k上被输出;在n=1的情况下只进行比较。
在以下的实施形式中示例性地描述,在具有多个处理单元的系统中在向比较/表决过渡的情况下的流程可以是怎样的。
控制寄存器Ci中的位B514i被设置,以便激活比较或者表决。该位可以通过处理单元本身被设置,以及由转换和比较单元根据确定的系统状态、时间条件或者其它条件(如例如对确定的存储区的访问、错误或者不合理性)来设置。如果利用B514i来设置位B50ii和B50ki,则通过UVE自动地设置位B511i和B511k,并且由此在处理单元i和k中触发中断。这些中断引起处理单元向确定的程序位置跳跃,执行用于向比较模式过渡的确定的初始化步骤,并且随后向转换和比较单元输出回复(Ready)。Ready信号引起处理单元的相应控制寄存器Ci中的中断位B511i的自动复位,并且同时引起等待位B512i的设置。当所参与的处理单元的所有等待位都被设置时,它们同时被转换和比较单元复位。随后,处理单元以要监视的程序部分的执行开始。在一种有利的实施形式中,利用被设置的位B514i通过闭锁装置(硬件或软件)来防止对控制寄存器Ci的写。这有意义地导致比较的配置不能在执行期间被改变。控制寄存器Ci的改变只有在位B514i复位之后才可以实现。该复位通过设置所有参与的处理单元的控制寄存器中的位B510x而导致所涉及的处理单元的中断,以便过渡到正常模式(并行工作方式)中。
所有控制寄存器彼此的相容根据应用者的预先给定来监视,并且在错误情况下生成错误信号,该错误信号是状态信息的组成部分。因此例如不允许发生一个处理单元同时被用于多个独立的比较或者表决过程,因为于是不保证同步。然而可设想还比较多个处理单元而不输出数据信号,而是只为了在不一致的情况下生成错误信号。在另一种实施形式中,类似地进行向参与比较或表决的处理单元的多个或所有控制寄存器中的录入,即这些处理单元的相应的位(必要时除了控制输出的特有的位i)在那里应类似地被设置。
在图7中示出了用于集中表决的表决单元Q100。该表决不仅可以借助合适的硬件而且可以以软件方式来执行。为此,表决算法(例如位精确的表决)应被预先给定。表决单元Q100在此获得多个信号Q110、Q111、Q112,并且根据这些信号形成输出信号Q120,该输出信号通过表决(例如n选m)而形成。
如果在比较时出现错误,则在所涉及的控制寄存器中设置错误位。在表决时,所涉及的处理单元的数据被忽略;在简单的比较时,输出被禁止。
所有没有在所计划的时间到期之前按时准备好的数据都像错误那样被处理。错误位的复位依赖于系统来进行,并且必要时能够实现所涉及的处理单元的重组(Reintegration)。
对于处理单元和/或表决器不是在空间上集中地被布置的情况来说,也可以实现根据图8的结合合适的总线系统的分散表决。在图8中,分散表决单元Q200由控制单元Q210控制。该分散表决单元通过总线系统Q221、Q222被连接,通过这些总线系统获得数据并且也又将数据从那里输出。
具有激活的输出位的控制寄存器中的比较和表决位的复位导致所参与的处理单元的中断,这些处理单元随后又被引导回并行工作方式中。在此,每个处理单元都可以具有不同的入口地址,这些入口地址单独地被管理。于是程序执行也可以从相同的程序存储器出发来进行。然而,访问是分离的,并且通常是对不同的地址。只要与并行模式相比安全性相关的部分是小的,就必须权衡,是否具有复制的安全性部分的特有的程序存储器可能花费更少。数据存储器也可以在性能模式中被共同使用。于是,访问例如借助AHB/ABP总线依次进行。
还要特别提及的是,错误位必须由系统来分析。为了保证在错误情况下可靠的断开,可以以适当的形式冗余地实现安全性相关的信号(例如以2选1的编码)。
在根据图1、2、3、4和5的迄今的UVE中,首先假设,处理单元以相同的或者彼此推导的时钟工作,这些时钟彼此处于恒定的相位关系中。如果也将不同的振荡器和发生器的相位关系变化的时钟用于处理装置,则当由此生成的信号改变时钟域时,必须使这些信号同步。为此,在图9中示出了一种同步元件M800。为了特别是可靠地存储数字数据并且为了进行比较,于是同步装置M800是必需的,这些同步装置可以被安置在信号流中的任意位置处。这些同步装置保证以提供数据的处理单元的时钟M830来一次性地存储这些数据M820。为了读取,于是可以使用这样的时钟,数据M840以该时钟被进一步处理。这种同步级M800可以被扩展为FIFO,以便能够存储多个数据(参见图9)。在一般情况下,仅仅数据的同步并不足够,而是也必须使数据的提供信号与接收时钟同步。
为此,此外需要握手接口(图10),通过请求信号M850和确收信号M880来保证接收。当时钟域改变时,这种接口总是必要的,以便保证数据从一个时钟域到其它时钟域的可靠传输。在写的情况下,在此来自区域Q305的数据M820以时钟M830在寄存器单元M800中同步地被提供,并且写请求信号M850表明数据的提供。该写请求信号由区域Q306以时钟M860接收到存储元件M801中,并且作为被同步的信号表明数据的提供。随后以时钟M860的下一个有效的时钟沿接收被同步的数据M840并且同时回送确认信号M880。该确认信号由时钟M830在另外的存储单元M801中被同步为信号M890,并且由此结束数据的提供。随后,可以将新的数据写入所涉及的寄存器中。这样的接口是现有技术并且是公知的,并且可以在特殊的实施形式中通过附加的编码而特别快地工作,而不必等待确认信号。
在一种特别的实施形式中,存储元件M800被构造为FIFO存储器(先进先出)。
图11至图14的用于比较模拟信号的电路的前提是,提供要比较的模拟信号的处理单元彼此这样被同步,使得比较是有意义的。同步可以通过图1的相应的信号B40和B41来实现。
图11示出一种差分放大器。借助这种元件可以将两个电压相互比较。
在此,B100是运算放大器,在其负输入端B101上连接有信号B141,该信号通过具有值Rin的电阻B110与输入端B111相连接,电压值V1位于该输入端上。正输入端B102与信号B142连接,该信号B142通过具有值Rin的电阻B120与输入端B121相连接,电压值V2位于该输入端上。该运算放大器的输出端B103与输出信号B190相连接,该输出信号具有电压值Vout。信号B190通过具有值Rf的电阻B140与信号B141相连接,并且信号B142通过具有值Rf的电阻B130与信号B131相连接,该信号B131具有模拟参考点Vagnd的电压值。输出电压可以利用上面所说明的电压和电阻值按照下面的公式来计算:
Vout=Rf/Rin(V2-V1)    (1)
如果差分放大器仅仅以正的工作电压来驱动,如通常在CMOS中那样,则选择在工作电压和数字地之间的电压作为模拟地Vagnd,通常是中间电位。如果两个模拟输入电压V1和V2只是略有不同,则输出电压Vout相对于模拟地仅仅具有小的差值Vdiff(正或者负)。
借助两个比较器,现在检验输出电压是否相对于模拟参考点位于Vagnd+Vdiff之上(图12)或者位于Vagnd-Vdiff之下(图13)。在此,在图12中,输入信号B221通过具有值R1的电阻B150连接到信号B242上,该信号B242与运算放大器B200的正输入端B202相连接。此外,信号B242通过具有值R2的电阻B160被连接到信号B231上,该信号B231被用作数字参考电位Vdgng。运算放大器的负输入端B201与输入信号211相连接,该信号211具有参考电压的电压值Vref。运算放大器B200的输出端B203与输出信号B290相连接,该输出信号B290具有电压值Voben
在图13中,相应地,信号B321通过具有值R3的电阻B170连接到信号B342上,该信号B342与运算放大器B300的负输入端B301相连接。此外,该信号B342通过具有值R4的电阻B180被连接到信号B331上,该信号B331也具有数字参考电位Vdgnd。运算放大器B300的正输入端B302与输入信号B311相连接,该输入信号B311具有参考电压的电压值Vref。运算放大器B300的输出端B303与输出信号B390相连接,该输出信号B390具有电压值Vunten
这通过如下方式来实现,即根据施加在信号B211和B311上的固定的参考电压Vref如下确定具有值R1、R2、R3和R4的电阻B150、B160、B170和B180:
Vref=(Vagnd+Vdiff)*R2/(R1+R2)        (2)
Vref=(Vagnd-Vdiff)*R4/(R3+R4)        (3)
Vdiff=((V2max-V1min)*Rf/Rin)-Vagnd   (4)
在此,用V2max表示信号B121上的V2的最大容忍的电压值,并且用V1min表示信号B111上的V1的最小容忍的电压值。参考电压源可以从外部提供,或者通过内部实现的带隙(温度补偿的并且不依赖于工作电压的参考电压)来实现。在等式(4)中,最大的所容忍的差值Vdiff根据最大的正偏差V2max和所属的最大的负偏差V1min来确定,即(V2max-V1min)是应该被相互比较的冗余的模拟信号彼此的最大容忍的电压偏差。
如果两个信号B290或B390上的电压值之一(Voben或者Vunten)变成正的,则存在模拟信号的比应该被容忍的偏差更大的偏差。只要提供这些模拟信号的处理器被同步,就因此存在错误,该错误必须被存储并且必要时导致输出信号的断开。当例如相应的处理单元的控制寄存器中的Ready信号是激活的时候,或者当确定的数字信号被发送给UVE,这些信号用信令通知所涉及的模拟信号的确定的状态并且由此也在标识的意义上通知要比较的值,产生同步性。在图14中示出了存储错误的电路。在该电路中,两个输入信号B390和B290通过NOR电路(具有随后的翻转的逻辑或电路)B410被结合为输出信号B411。该信号B411与输入信号B421在另外的NOR元件B420中被结合为输出信号B421。该信号B421在或电路B430中与信号B401被结合为信号B431,该信号B431用作存储元件(D触发器)B400的输入信号。该元件B400的输出信号B401以值1表明错误。当信号B390或者B290上的两个电压值Vunten或者Voben之一是正的、即作为数字信号具有值“高”,信号B421未激活并且不存在Reset(复位)信号B402时,D触发器B400以时钟B403存储一个1。该错误一直保持被存储,直到信号Reset至少曾激活一次。在图11至图13的电路的尺寸确定中要注意的是,电阻彼此匹配,即Rf和Rin、R1和R2以及R3和R4的电阻比尽可能独立于制造公差而是恒定的。利用信号B421可以控制,电路是否应该是激活的,或者恰好进行处理单元的同步,在该同步中不应该进行比较。信号B402将以前的错误复位并且因此能够实现新的比较。
图15示出一个ADC。该ADC可以根据现有的如例如关于转换速度、准确性、分辨率、抗干扰性、线性以及频谱的要求以不同的公知的转换方法来实现。因此例如可以选择逐次逼近法的原理,其中借助比较器将模拟信号与由数模转换器(DAC)所生成的信号进行比较,其中当DAC的模拟输出信号具有比模拟输入信号(要转换的信号)更高的值时,将DAC的数字输入位系统地从MSB(最高有效位)到LSB(最低有效位)试验性地设置为高,并且随后又将其复位。DAC以其从LSB至MSB的数字位利用权重1、2、4、8、16...以这样的方式控制电阻或者电容,使得下一个更高位的设置总是对模拟值具有以前的设置两倍那样大的作用。在所有位都试验性地被设置并且必要时又被复位之后,数字字的值相应于模拟输入信号的数字表示。对于较高的速度要求来说,在连续的数据流的情况下也可以使用转换器,该转换器连续地处理模拟信号并且输出串行数字信号,该串行数字信号通过串行比特序列来近似该模拟数据流。该数字字在此通过被存储在移位寄存器中的比特序列来表示。但是这种转换器的前提是,在转换时间内持续地进行模拟信号的改变,因为这些转换器不能处理恒定的值。
对于较低的速度要求来说,也可以使用按照计数原理的转换器,这些转换器例如借助输入电压或者输入电流引起连接至积分器的电容器的相应的恒定的充电或者放电。为此所需的时间被测量,并且与借助参考电压源或者相应的参考电流在相反方向上对相同的电容器(积分器)进行放电或者充电所需要的时间成比例地被设置。时间单元以时钟被测量,并且所需的时钟的数目是模拟输入值的量度。一种这样的方法例如是双斜率(dual slope)方法,其中一个边沿(斜率)通过对应于模拟值的放电来确定,并且第二边沿通过对应于参考值的再充电来确定(也请参见http://www.exstrom.com/journal/adc/dsadc.html)。
图15的ADC B600通过触发信号B602来控制,该触发信号通常是处理器的输出信号,该处理器提供模拟信号并且可选地提供标识B603,该标识给出关于刚才所提供的模拟信号的类型的信息,以便能够实现多个模拟信号的区分。利用触发信号B602,存储区B640中的被转换的模拟字作为数字值被接收到寄存器B610中,并且可选地与被存储在B620中的标识B603以及可能与附加的、被存放在存储器B630中的信号B604(该信号对于模拟值的标记来说是1)一同被接收到寄存器B610中。当应该存储多个值并且首先被存储的值也应该首先又被输出时,存储区B640可以有利地也被实现为FIFO(先进先出)。如果存储区B640不仅被用于数字值而且被用于数字化的模拟值,则有利地所有数字值都在对应于B630的MSB位置处被补充一位A=0,以便将其与具有A=1(B630)的数字化的模拟值区分开(参见图16和17)。不仅B602而且B603都是处理器i的数字输出数据Oi的组成部分。在图16中,被存储的数字化的模拟值的部分单独地被示出,如在存储区中所存放的那样。在此,B710是数字化的模拟值本身,B720是与此有关的标识,并且B730是模拟位,该位在这种情况下应被存储为1。在图17中可以看到在相同的存储区中所存放的数字值的一种变型。在B810中存储了数字值本身,在B820中为此可选地存放了标识,该标识例如给出关于该数字值究竟是否应该被比较或者是否可以包含用于比较的其它条件的信息。在B830中随后存储了值0,用于标识涉及数字值。
为了比较被缓存的数字和模拟信号,存储的顺序和必要时A位(B730或B830)以及标识B720或B820结合被转换的数字值B710或数字值B810被检验。也存在以下可能性,即例如由于不同的位宽,将模拟和数字信号安置在分开的存储器(两个FIFO)中。随后受事件控制地进行比较:每当处理器的值被传输到UVE时,都检验,是否另外的参与的处理器已经提供了这样的值。只要情况并非如此,该值就被存放在相应的FIFO或者存储器中,在另外的情况下就直接进行比较,其中这里FIFO也可以用作存储器。例如当所参与的FIFO不为空时,比较就总是随后被结束。在多于两个参与的处理器或者比较信号的情况下,可以通过表决来确定,是否所有信号都被允许用于分配(故障沉默特性)或者是否必要时只通过错误信号来用信令通知错误状态。

Claims (21)

1.用于在具有至少两个处理单元、转换装置和比较装置的计算机系统中进行转换的方法,其中在至少两个运行模式之间进行转换,并且第一运行模式对应于比较模式,并且第二运行模式对应于性能模式,其中在比较模式中数据被比较,其特征在于,用于所述比较的所述数据被缓存,从而确定所述至少两个处理单元的异步信息,其中所述异步信息或者根据所述数据中的至少一个在用于缓存的存储器中被缓存的时间、或者通过把用于缓存所述数据的存储器的填充状态与可预先给定的最大填充状态进行比较来确定,并且当该异步信息在比较模式中超过一个阈值时,将同步信号置于所述至少两个处理单元中的至少一个处理单元的中断输入端上。
2.根据权利要求1的方法,其特征在于,根据所述数据中的至少一个被缓存的时间,能够确定时间误差。
3.根据权利要求1的方法,其特征在于,所述同步信号是延迟信号。
4根据权利要求1的方法,其特征在于,所述同步信号是等待信号。
5.根据权利要求3的方法,其特征在于,通过所述同步信号促使至少一个处理单元不再处理信息。
6.根据权利要求1的方法,其特征在于,所述同步信号相对于至少一个中断信号具有更高的优先级。
7.根据权利要求1的方法,其特征在于,所述同步信号相对于所有中断信号具有最高的优先级。
8.根据权利要求1的方法,其特征在于,通过所述同步信号促使至少一个处理单元执行中断例程。
9.根据权利要求1的方法,其特征在于,标识被分配给应该被比较的数据,通过该标识来触发比较。
10.用于在具有至少两个处理单元的计算机系统中进行转换的设备,其中该设备包含转换装置和比较装置,并且在至少两个运行模式之间进行转换,并且第一运行模式对应于比较模式,并且第二运行模式对应于性能模式,其中在比较模式中信息被比较,其特征在于,设置有至少一个缓冲存储器,该设备这样被构造,使得用于所述比较的所述数据被缓存,从而确定所述至少两个处理单元的异步信息,其中所述异步信息或者根据所述数据中的至少一个在用于缓存的存储器中被缓存的时间、或者通过把用于缓存所述数据的存储器的填充状态与可预先给定的最大填充状态进行比较来确定,并且当该异步信息在比较模式中超过一个阈值时,在比较模式中,同步信号被置于所述至少两个处理单元中的至少一个处理单元的中断输入端上。
11.根据权利要求10的设备,其特征在于,所述比较装置和所述转换装置在结构上被设置在所述处理单元的外部。
12.根据权利要求10的设备,其特征在于,所述缓冲存储器是FIFO存储器。
13.根据权利要求10的设备,其特征在于,每个处理单元都被分配缓冲存储器。
14.根据权利要求10的设备,其特征在于,每个处理单元都被分配缓冲存储器。
15.根据权利要求10的设备,其特征在于,每个处理单元都被分配FIFO存储器。
16.根据权利要求10的设备,其特征在于,设置有用于确定填充状态的装置,这些用于确定填充状态的装置这样被构造,使得这些用于确定填充状态的装置在所述缓冲存储器中确定该存储器的填充状态,该填充状态表明,哪个数目的信息位于所述缓冲存储器中。
17.根据权利要求16的设备,其特征在于,所述用于确定填充状态的装置这样被构造,使得这些用于确定填充状态的装置通过以下方式来确定异步信息,即将所确定的填充状态与可预先给定的最大填充状态进行比较。
18.根据权利要求10或17的设备,其特征在于,设置有同步装置,这些同步装置这样被构造,使得这些同步装置根据所述异步信息生成同步信息。
19.根据权利要求10或17的设备,其特征在于,设置有监视装置,该监视装置这样被构造,使得该监视装置处理所述异步信息。
20.根据权利要求19的设备,其特征在于,所述监视装置是在计算机系统外部的监视装置。
21.根据权利要求19的设备,其特征在于,所述监视装置是在计算机系统外部的监视定时器。
CNB2005800365264A 2004-10-25 2005-10-25 在具有至少两个处理单元的计算机系统中进行模式转换和信号比较的方法和设备 Active CN100565466C (zh)

Applications Claiming Priority (13)

Application Number Priority Date Filing Date Title
DE102004051992.7 2004-10-25
DE102004051937.4 2004-10-25
DE102004051964.1 2004-10-25
DE102004051950.1 2004-10-25
DE102004051952.8 2004-10-25
DE200410051937 DE102004051937A1 (de) 2004-10-25 2004-10-25 Verfahren und Vorrichtung zur Synchronisierung in einem Mehrprozessorsystem
DE200410051992 DE102004051992A1 (de) 2004-10-25 2004-10-25 Verfahren und Vorrichtung zur Verzögerung von Zugriffen auf Daten und/oder Befehle eines Mehrprozessorsystems
DE200410051952 DE102004051952A1 (de) 2004-10-25 2004-10-25 Verfahren zur Datenverteilung und Datenverteilungseinheit in einem Mehrprozessorsystem
DE200410051950 DE102004051950A1 (de) 2004-10-25 2004-10-25 Verfahren und Vorrichtung zur Taktumschaltung bei einem Mehrprozessorsystem
DE200410051964 DE102004051964A1 (de) 2004-10-25 2004-10-25 Verfahren und Vorrichtung zur Überwachung einer Speichereinheit in einem Mehrprozessorsystem
DE200510037239 DE102005037239A1 (de) 2005-08-08 2005-08-08 Verfahren und Vorrichtung zur Umschaltung bei einem Rechnersystem mit wenigstens zwei Verarbeitungseinheiten
DE102005037239.2 2005-08-08
PCT/EP2005/055514 WO2006045786A1 (de) 2004-10-25 2005-10-25 Verfahren und vorrichtung zur modusumschaltung und zum signalergleich bei einem rechnersystem mit wenigstens zwei verarbeitungseinheiten

Publications (2)

Publication Number Publication Date
CN101048751A CN101048751A (zh) 2007-10-03
CN100565466C true CN100565466C (zh) 2009-12-02

Family

ID=35759184

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005800365264A Active CN100565466C (zh) 2004-10-25 2005-10-25 在具有至少两个处理单元的计算机系统中进行模式转换和信号比较的方法和设备

Country Status (8)

Country Link
US (1) US20080320287A1 (zh)
EP (1) EP1812855B1 (zh)
JP (1) JP2008518305A (zh)
KR (1) KR20070062567A (zh)
CN (1) CN100565466C (zh)
AT (1) ATE420402T1 (zh)
DE (1) DE502005006441D1 (zh)
WO (1) WO2006045786A1 (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7987385B2 (en) * 2007-07-24 2011-07-26 Ge Aviation Systems Llc Method for high integrity and high availability computer processing
WO2009015276A2 (en) * 2007-07-24 2009-01-29 Ge Aviation Systems Llc High integrity and high availability computer processing module
DE102010003532B4 (de) 2010-03-31 2020-08-06 Robert Bosch Gmbh Timermodul und Verfahren zur Überprüfung eines Ausgangssignals
JP5796311B2 (ja) 2011-03-15 2015-10-21 オムロン株式会社 制御装置およびシステムプログラム
US9323235B2 (en) * 2011-04-11 2016-04-26 Rockwell Automation Technologies, Inc. Industrial control system with distributed motion planning
DE102013202253A1 (de) * 2013-02-12 2014-08-14 Paravan Gmbh Schaltung zur Steuerung eines Beschleunigungs-, Brems- und Lenksystems eines Fahrzeugs
US9361172B2 (en) * 2014-07-02 2016-06-07 Harris Corporation Systems and methods for synchronizing microprocessors while ensuring cross-processor state and data integrity
DE102015218898A1 (de) * 2015-09-30 2017-03-30 Robert Bosch Gmbh Verfahren zur redundanten Verarbeitung von Daten
CN114779881B (zh) * 2021-12-07 2023-07-04 北京科银京成技术有限公司 余度计算机的同步检测方法、装置、设备及存储介质

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3783250A (en) * 1972-02-25 1974-01-01 Nasa Adaptive voting computer system
US4733353A (en) * 1985-12-13 1988-03-22 General Electric Company Frame synchronization of multiply redundant computers
AU616213B2 (en) * 1987-11-09 1991-10-24 Tandem Computers Incorporated Method and apparatus for synchronizing a plurality of processors
US5020023A (en) * 1989-02-23 1991-05-28 International Business Machines Corporation Automatic vernier synchronization of skewed data streams
US5155729A (en) * 1990-05-02 1992-10-13 Rolm Systems Fault recovery in systems utilizing redundant processor arrangements
US5226152A (en) * 1990-12-07 1993-07-06 Motorola, Inc. Functional lockstep arrangement for redundant processors
JPH10187472A (ja) * 1996-12-19 1998-07-21 Fujitsu Ltd データ処理システム
US6035416A (en) * 1997-10-15 2000-03-07 International Business Machines Corp. Method and apparatus for interface dual modular redundancy
DE19809089A1 (de) * 1998-02-25 1999-08-26 Siemens Ag Synchronisations- und/oder Datenaustauschverfahren für sichere, hochverfügbare Rechner und hierzu geeignete Einrichtung
US6138247A (en) * 1998-05-14 2000-10-24 Motorola, Inc. Method for switching between multiple system processors
US6230263B1 (en) * 1998-09-17 2001-05-08 Charles P. Ryan Data processing system processor delay instruction
US6421741B1 (en) * 1999-10-12 2002-07-16 Nortel Networks Limited Switching between active-replication and active-standby for data synchronization in virtual synchrony
US6640313B1 (en) * 1999-12-21 2003-10-28 Intel Corporation Microprocessor with high-reliability operating mode
US6615366B1 (en) * 1999-12-21 2003-09-02 Intel Corporation Microprocessor with dual execution core operable in high reliability mode
DE10133652A1 (de) * 2001-07-11 2003-01-30 Siemens Ag Zentraleinheit für ein redundantes Automatisierungssystem
DE10136335B4 (de) * 2001-07-26 2007-03-22 Infineon Technologies Ag Prozessor mit mehreren Rechenwerken
JP2008518339A (ja) * 2004-10-25 2008-05-29 ローベルト ボッシュ ゲゼルシャフト ミット ベシュレンクテル ハフツング 少なくとも2つの実施ユニットを有する計算機において切り替える装置および方法
US7496786B2 (en) * 2006-01-10 2009-02-24 Stratus Technologies Bermuda Ltd. Systems and methods for maintaining lock step operation

Also Published As

Publication number Publication date
EP1812855B1 (de) 2009-01-07
KR20070062567A (ko) 2007-06-15
CN101048751A (zh) 2007-10-03
JP2008518305A (ja) 2008-05-29
DE502005006441D1 (de) 2009-02-26
ATE420402T1 (de) 2009-01-15
WO2006045786A1 (de) 2006-05-04
US20080320287A1 (en) 2008-12-25
EP1812855A1 (de) 2007-08-01

Similar Documents

Publication Publication Date Title
CN100483359C (zh) 在具有至少两个处理单元的计算机系统中进行模式转换和信号比较的方法和设备
CN100565466C (zh) 在具有至少两个处理单元的计算机系统中进行模式转换和信号比较的方法和设备
CN100520731C (zh) 在具有至少两个处理单元的计算机系统中进行模式转换和信号比较的方法和设备
CN101048755A (zh) 在具有至少两个处理单元的计算机系统中进行模式转换和信号比较的方法和设备
JP2008518306A (ja) 少なくとも2つの処理ユニットを有する計算機システムにおける切り替えおよび信号比較の方法および装置
JP2008518341A (ja) 少なくとも2つの処理ユニットを有する計算機システムにおいて切り替え、かつ信号を比較する方法および装置
CN101048760A (zh) 在具有至少两个处理单元的计算机系统中进行模式转换和信号比较的方法和设备
DE102005037241A1 (de) Verfahren und Vorrichtung zur Umschaltung bei einem Rechnersystem mit wenigstens zwei Verarbeitungseinheiten
DE102005037239A1 (de) Verfahren und Vorrichtung zur Umschaltung bei einem Rechnersystem mit wenigstens zwei Verarbeitungseinheiten
DE102005037240A1 (de) Verfahren und Vorrichtung zur Umschaltung und zum Datenvergleich bei einem Rechnersystem mit wenigstens drei Verarbeitungseinheiten
DE102005037243A1 (de) Verfahren und Vorrichtung zur Umschaltung und zum Datenvergleich bei einem Rechnersystem mit wenigstens zwei Verarbeitungseinheiten
DE102005037238A1 (de) Verfahren und Vorrichtung zur Umschaltung und zum Datenvergleich bei einem Rechnersystem mit wenigstens drei Verarbeitungseinheiten

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