在有至少两个处理单元的计算机系统中进行切换和信号比较的装置和方法

文档序号:6657210阅读:217来源:国知局
专利名称:在有至少两个处理单元的计算机系统中进行切换和信号比较的装置和方法
现有技术在WO 01/46806 A1说明了在一种比较模式中识别错误的方法。在此在一个带有两个处理单元ALU的一个处理单元中并行地处理数据。在此,在一个错误(软故障、暂态错误)的情况下两个ALU相应独立的工作,直到去除出错的数据并且可以采取一个重新的(部分重复的)冗余处理为止。其前提在于两个ALU相互同步地工作并且可以时钟准确地比较结果为前提。
从现有技术中公知如何能够在一个用于出错识别的比较模式与一个用于达到较高的处理能力的性能模式之间切换,在所述比较模式中冗余地处理任务。在此的前提是相互同步比较模式的处理单元。为此需要能够停止两个处理单元,并且两个处理单元时钟准确地同步工作,以在存储器中写入时相互比较结果数据。为此需要介入硬件,提出单个的解决方案。
在专利文献EP 0969373 A2中,与冗余工作的处理单元的结果比较相反还要保证它们在相互异步地工作时,也就是并非时钟相同时,或者有一个未知的时钟错位时。
由飞机工业公知一些表决系统,所述系统可以采用标准计算机的输入并且把通过一种多数判断可靠地处理所述标准计算机的输入并且从而能够触发安全性相关的动作。一个相互组合内处理单元和内控制单元通信的是FME系统,其中通过一种高度的冗余即使在单个或者甚至多个错误时也能够保持工作并且由DASA为宇航开发(Urban等Asurvivable avioncs system for space applications,Int.Symposium on Falt-tolerantComputing,FTCS-28(1998),pp.372-381)。这种系统甚至可以容忍拜占庭式(byzantisch)(就是说特别恶性的错误,其中不是所有的部件都得到相同的信息,而是由心怀不轨者甚至“故意”地向不同的部件分布不同的错误)。这样的系统由于其高昂的费用用于以非常少的件数制造的特别关键的系统。一种可以以大的件数并且还附加具有切换可能性的成本合算的系统还未公知。因此存在创造一种切换和比较单元的任务,所述切换和比较单元允许切换两个或者多个处理单元的工作模式,不必介入这些处理单元的结构并且也不需要为此目的附加的任何信号。此外还应当能够在一个比较模式中相互地比较不同处理单元的不同数字信号或者模拟信号。在此应当在以不同的时钟信号运行所述处理单元并且所述处理单元相互异步工作时在一定的情况下也能够进行这种比较。此外,存在提供使之能够在数字比较装置的辅助下进行模拟信号的比较的任务。

发明内容
有利地使用在拥有至少两个处理单元的计算机系统中进行切换的方法,其中设置切换装置,并在至少两个工作模式之间进行切换,其中设置比较装置,一个第一工作模式对应于一个比较模式,而一个第二工作模式对应于一个性能模式,其特征在于,通过把至少一个模拟信号转换成至少一个数字值来比较所述处理单元的至少两个模拟信号。
有利地采用一种方法,其中,可以同步所述模拟信号中的至少两个。
有利地采用一种方法,其中在规定的时间内缓冲寄存数字信号,从而可以进行直接比较。
有利地采用一种方法,其中在至少一个处理单元中进行至少一个信号的转换。
有利地采用一种方法,其中把至少一个模拟信号转换成数字信号,在一个可规定的时间内进行存储并且转换回一个模拟信号以进行比较。
有利地采用一种方法,其中把两个模拟信号都转换成数字信号,然后同时通过缓冲寄存器提供至少经过转换的数字值用于比较。
有利地采用一方法,其中,每个信号的数字值包含多个比特并且依据可以规定的精确度把一个对应地可规定数量的比特相互比较。
有利地采用一种方法,其中冗余地相互比较模拟信号及其数字值。
有利地采用一种方法,其中,在转换成一个数字值时,向所述模拟信号配属一个识别码。
有利地采用一种方法,其中应当比较的两个信号的识别码是可以配属的,并且只比较其识别码是可配属的信号和/或其数字值。
有利地使用在拥有至少两个处理单元的一个计算机系统中进行切换的装置,其中设置切换装置并在至少两个工作模式之间进行切换,其中,设置比较装置,一个第一工作模式对应于一个比较模式,而一个第二工作模式对应于一个性能模式,其特征在于,比较处理单元的至少两个模拟信号,并且包含一个模数转换器,其中把模拟信号中的至少一个转换成至少一个数字值。
有利地采用一种装置,其中模拟信号的至少两个可以是异步的。
有利地采用一种装置,其中在规定的时间内缓冲寄存数字信号,从而可以进行直接比较。
有利地采用一种装置,其中在至少一个处理单元中进行至少一个信号的转换。
其它优点和有利的安排从权利要求书和说明书中所述的特征中得出。


图1示出用于两个处理单元的一个切换和比较单元的基本功能图1a示出一个比较器的一种一般的图示图1c示出一个比较器的一个扩展的图示图1b示出一个切换和比较单元的一个一般的图示图2示出用于两个处理单元的切换和比较单元的一个详3示出用于两个以上处理单元的切换和比较单元的一个可能的实现图4示出用于两个以上处理单元的切换和比较单元的较详细的图示图5出用于两个以上处理单元的切换和比较单元的一种可能的实现图6示出用于一个控制寄存器的一个可能的实现图7示出用于中心表决的一个表决单元图9示出一种同步元件图10示出一种握手接口图11示出一种差分放大器图12示出用于正电压差的比较器图13示出用于负电压差的比较器图14示出一种用于存储一个错误的电路图15示出一种带有输出寄存器的模数转换器图16示出带有识别码和模拟比特的一个经过数字转换的模拟值图17示出作为一个带有数字比特的数字词的数字值的图示。
具体实施例方式
一个执行单元或者一个处理单元在下文中既指一个处理器、一个内核、一个CPU,也指一个FPU(浮点单元)、一个DSP(数字信号处理器)、一个协处理器或者一个ALU(算术逻辑单元)。
考虑一个、两个或者更多处理单元的一种系统。原则上在安全性相关的系统中存在把这种资源用于提高处理能力的可能性,其中不同的处理单元尽可能承担不同的任务。作为可供选择的替代还可以相互冗余地使用一些这样的资源,其中给它们指派相同的任务,并且在不相符合的情况下识别成一个出错。视有多少处理单元而异,可以设想多个模式。在一个双系统中存在以上所述的两个模式“比较”和“性能”。在一个三系统中可以与纯粹的性能模式和纯粹的比较模式并行地还实现一个3选2的表决模式,在所述纯性能模式中三个处理单元平行地工作,在所述纯比较模式中所有三个处理单元冗余地计算并且比较,在所述3选2的表决模式所有三个处理单元都冗余地进行并且进行一种多数性选择。此外还可以实现一种混合模式,例如所述处理单元的两个相互冗余地计算并且比较结果,而第三个处理单元处理另一个平行的任务。在一个四个或者更多的处理单元系统中显然还可以设想其它的组合。
所要解决的技术问题是可以把一个系统可供使用的处理单元在运行中可变地投入使用,而不需要介入这些处理单元的现有结构(例如出于同步目的)。在一个特定的实施方式中,每个处理单元都应当能够以一个自己的时钟工作,就是说,为了比较的目的,相同的任务的处理还可以相互异步地进行。
该技术问题通过以下方案得以解决创建一种通用的、已经可以投入使用的IP,所述IP使之能够在任意的时间点进行工作模式(例如比较模式、性能模式或者表决模式)切换而不需要事先关闭处理单元,并且管理相互可能异步的数据流的比较。该IP可以实施成芯片,或者也可以与一个或者多个处理单元一起集成在一个切片上。此外还没有所述芯片只由一块硅构成的前提,它还完全可以由分开的部件实现同。
为了保证在不同的处理单元之间同步,需要阻止单个处理单元的持续大规模程序执行的信号。为此通常地设有一种WAIT信号。如果一个处理单元没有一个WAIT信号,可以通过一种中断来同步它。为此同步信号(例如图2中的M140)不是输送到等待输入端而是加在一个中断端。该中断必须对处理程序有足够的优先权并且也对其它的中断有足够的优先权,以中断正常的工作方式。在重新返回不中断的程序以前,所属的中断规程只执行一定数量的NOP(对数据无作用的清空命令),并且从而延迟该处理程序的进一步处理。在一些情况下必须在所述中断规程中还在开始和在结尾进行普通的存储器操作,以不因所述中断而有损正常的程序执行。
该过程继续到产生所述同步为此(例如另一个处理单元发出所期待的比较数据)。然而用该方法却只能有条件地保证准确的同步并且特别是与其它处理单元的同相位性。因此建议在使用一个中断信号同步时先把要比较的数据缓冲寄存在UVE中,然后再比较它们。
本发明的优点是可以使用任何市售的标准结构,因为不需要附加的信号(不介入硬件结构)并且可以监测例如用于控制作动器的这些部件的任意的输出信号。这还包括检验迄今按照现有技术不能够直接通过一个比较检验的转换器结构,譬如DAC和PWM。
只要不需要对单个的任务或者SW时钟进行检验,就还可以切换成一种性能模式,其中把不同的任务划分到不同的处理单元中。
另一个优点是,在比较或者表决模式不必比较所有的数据。只是要比较或者要表决的数据在切换和比较单元中相互同步。所述数据的选取可以通过有针对性的请求切换和比较单元改变(可编程)并且可以适配相应的处理单元结构以及应用。在此还可以轻易地使用各种μ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置位第二个值,例如置位值0,同步信号B20和B21就总是无功效的。不进行任何比较并且这两个比较单元相互独立地工作。
在本发明中的系统一个重要的部件是比较器。在最简单的形式中所述比较器在图1a中示出。该比较部件M500可以接收两个输入信号M510和M511。它比较这两个输入信号的相同性,在此处说明的文字中优选地是一个比特意义上的相同性。如果它检测出不相同就激活出错信号M520并且失活信号M520。在相同的情况下把输入信号M510、M511给出成输出信号M520,并且不激活出错信号M530,就是说,它信令“良好”状态。从该基本系统着眼可以设想许多扩展的实施方式。首先可以把部件M500实施成所谓的TSC(完全自检)部件。在此情况下把出错信号M530用至少两个线路(“双轨”)向外输出,并且通过内部的设计和错误揭示措施确保在每个可能的出错情况下,对所述比较部件该信号都是正确的或者可识别地不正确的。在此一个双轨的信号通过两个线路提供一个二进制信号,优选地是,在无错误地情况下这两个线路是彼此相反的。使用本发明所述系统时一个优选的变例是采用一个这样的TSC比较器。
一个第二类的实施方式可以以这两个输入M510、M511(或者M610、M611)必须有什么程度的同步相区别。一个可能的实施方式是以按时钟的同步为特征,就是说可以在一个时钟中进行数据的比较。一个稍微的改变在于,在一个输入之间有一个固定的相位差的情况下采用一种同步的延迟元件,所述延迟元件把对应的信号例如延迟整数个时钟周期或者半个时钟周期。这种相位差当然是为了避免共因错误,也就是避免可能同时或者同样地影响多个处理单元的出错原因。为此在图1c中除了图M5中的部件以外添加了部件M640,所述部件以相位差延迟较早的输入。优选地该延迟元件安放在比较器中,用于只在比较模式中使用该部件。作为可供选择的变通或者补充,为同样地可以容忍异步性,在输入环节中加入缓冲寄存器。优选地所述缓冲寄存器设计成FIFO存储器。如果有一个这样的缓冲寄存器,还可以把异步容忍到该缓冲寄存器的最大深度。在此情况下如果缓冲寄存器溢出就还必须输出出错信号。此外可以在该比较器中按照如何产生信号M520(或者M620)区分实施方式。一个优选的实施方式虽把输入信号M510、M511(或者M610、M611)加在输出端并且通过开关使连接中放置。该变例的特别的优点是,在性能模式与可能的不同比较模式之间的切换可以用同一开关。作为可供选择的替代所述信号也可以从比较器内部的缓冲存储器产生。
一个最后类型的实施方式区别于,在比较器上有多少个输入和比较器应当如何反应。在三个输入的情况下可以进行一种多数表决、一个所有三个的比较或者只有两个信号的比较。四个或者更多输入的情况下可以设想对应的多个变例。该变例优选地与总系统的不同工作模式相关联。
为了表示一般的情况下在图1b中示出一个切换和比较单元的一般图示。从n个要考虑的处理单元中向所述切换和比较部件N100发出n个信号N140、...、N14n。后者可以从这些输入信号中产生n个输出信号N160、...、N16n。在最简单的情况,即“纯粹性能模式”的情况,把所有的信号N14i输送到对应的输出信号N16i。在相反的极端情况下,即“纯粹比较模式”的情况下,把所有的信号N140、...N14n都只引导到输出信号N16i的刚好一个上。
用该图可以说明各种可设想的模式可以如何地出现。为此在该图中所述逻辑部件包含一个切换逻辑N110。该部件不必作为一个真正的部件存在。决定性的是它能够在一个系统实现所述的功能。首先该开关逻辑确定究竟有多少个输出信号。此外它还确定哪个输入信号对哪个输出信号起作用。在此可以一个输入信号刚好对一个输出信号起作用。用数学地形式另外表达也就是通过所述开关逻辑确定一个函数,所述函数对集合{N140、...、N14n}配属集合{N160、...、N16n}的一个元。
然后处理逻辑N120的功能是对每个输出端N16i确定以什么形式所述输出端对该输出信号起作用。在此还是所述部件不必作为真正的部件存在。决定性的也是它能够在一个系统中实现所述的功能。为了能够举例地说明各种不同的变例可能性,不限制一般性地假定输出N160由信号N141、...、N14m产生。如果m=1,这简单地对应所述信号的转接,如果m=2就比较信号N141、N142,如例如在图13、图14中用比较器所说明。该比较可以同步或者异步地进行,可以按比特进行也可以只在重要的比特上进行或者还以一个容差带进行。
如果m>=3,就有许多种可能性。
一个第一种可能性在于,比较所有信号,并且在存在至少两个不同的值的情况下检测出一个错误,然后可以任选地发出信号。
一个第二种可能性在于,进行一个从m中选k的选择(k>m/2)。这可以通过使用比较器实现。任选地如果识别出一个信号是偏差的可以产生一个出错信号。如果所有的三个信号都不同,那么可以发生一个可能与之不同的出错信号。
一个第三种可能性在于,把所述值输入到一个逻辑算法。这例如可以表示构成一个平均值、一个中值或者采用一个容错算法(FTA)。这样一个FTA基于,划掉输入值的极端值并且通过其余的值取一种平均值。该平均值通过通过全部集合的其余值取得,或者用一个可以用HW轻易构成的部分集合取得。在后一种情况下不总是需要实际上去比较所述的值。例如在构成平均值时,只有在FTM、FTA或者中值要求部分地分类时才相加和相除。在一些情况下在此还可以在足够大的极端值的情况下任选地输出一个出错信号。
这些不同的把多个信号处理成一个信号的所述可能性简短地称作比较运算。
也就是说,该处理逻辑的任务是确定每个输出信号的,并且从而也确定所属的输入信号的,比较运算的准确形态。开关逻辑N110的信息(就是说,上述的函数)和处理逻辑的信息(就是说每个输出信号,即每函数值的比较运算的确定)的组合是模式信息,并且它确定所述模式。在一般的情况下该信息当然是多值的,就是说,不能够只表达一个逻辑比特。不是所有理论上可设想的模式在一个的实施方式中都是有意义的,优选地限制允许的模式数量。要强调的是,在只有两个处理单元情况下,在只有一个比较模式处,全部的信息只能够浓缩到一个比特上。
一个从一个性能模式向一个比较模式的切换在一般的情况下其特征是在性能模式中向不同的输出端映射的处理单元,在比较模式中向同一个输出端映射。优选地这是通过有一种处理单元的分系统实现的,其中在在性能模式下,该分系统中要考虑的所有输入信号N14i直接地切换成对应的输出信号N16i,而它们在比较模式中全部都向一个输出端映射。作为可供选择的替代,还可以通过改变配对实现这样的一种切换。这通过在一般的的情况下不能够从之评论一个性能模式并且从而评论一个比较模式说明的,尽管在本发明的一个给定的表述中把允许的模式数限制成这样的一种情况。然而总是可以从一个性能模式向一个比较模式(反之亦然)说起。
通过软件控制,可以在运行中动态地在这些模式之间切换。在此,或者通过由多处理器系统的至少一个处理单元执行特定的切换指令、特定的指令序列、明确地标明的指令或者通过访问一定的地址触发所述切换。
在图2中示出一个详细地说明的带有一个要本发明所述的切换和比较单元的双处理器或者双μ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、N121同样地与控制信号相地转交到输出端M160、M161相反地把输出M170、M171转交到M150、M151)。在比较模式中比较输出并且优选地只在无出错的情况下向M161、M161转交,其中选择性地使用者这两个输出,或者只用两者之一。同样地可以检验向处理单元转交的输出数据M170、M171。在比较模式中一个信号的出错的比较的情况下产生出错信号,并且例如借助于双轨信号向外信令出错保险(状态信息M169的组成部分)。状态169还可以包含工作模式或者关于处理单元的信号的时间错位的信息。在一个处理单元在一个规定的(可编程的)时间间期内没有准备好比较数据也激活出错信号。在一个出错的情况下可以禁止输出M160、M161(出错沉默行为).这既可以涉及模拟的也可以涉及数字的信号。这些输出运行级还可以输出一个处理单元的不延迟的(不缓冲寄存的)的输出信号M120、M121,伴随有事后发现错误的可能性。只要不超过出错容忍度时间,就是说不超过一个(承载)系统还不会灾变性地响应错误并且因此还有校正的可能的时间,这就可以由一个安全相关的系统容忍。
还可以至少在其计算值方面比较朱向UVE中输送的输出信号M180、M181和一个处理单元的内部信号,其中,把这些值输出到输出端120、121用于比较。对应地还可以用不通过M100发来的输出信号进行。
为了监测单元M100,可以对选取的或者还可以对所有信号M160、M161,使之能够通过M170、M171或者还有M190、M191返回。从而还可以在比较模式中确保能够检测从单元M100中发出的错误信号。通过一个适当的在其上有(以一个“或”逻辑运算)M100、M110、M111的进路的关闭线路,可以产生整个系统的出错沉默行为。
在图3中详细地示出图2所示的切换和比较单元M100的一个可能的实施方式。该单元M100包含一个控制寄存器M200和一个状态寄存器M220,所述控制寄存器带有至少一个表达所述模式(性能/比较)的比特,所述状态寄存器带有至少一个表达在比较模式中的错误状态的比特。等待和中断信号对相应的两个处理单元由控制寄存器中的其它比特控制。在此同样也可以在不同的中断之间区别,例如用于同步的目的、用于准备工作模式切换以及用于出错处理。任选地有其它的控制寄存器,例如M240,以及M241,前者包含处理单元之间的最高允许时间差(时钟周期的数量)以控制一个内部的外部的监测器,后者带有应当从此借助于WAIT或者中断信号在时间上停止或者延迟最快的处理器,以防止数据寄存器溢出。
例如在状态寄存器M220中除了出错比特之外还存储处理单元之间的时钟错位当前有多大。此外,例如至少一个时钟M230总由一个处理单元起动,如果首先准备好了一个(通过地址和控制信号,例如一定的地址区域)特殊标识的数据值并且所述时钟的值总是只在第二个处理单元准备好了对应的数据值以后才把该时钟的值存放进状态寄存器中。此外优选地如此地调节所述时钟,还在不同的程序运行的情况下对应于WCET(最次情况执行时间)保证所有的处理单元都必须提供一个数据。如果超过规定时钟值就输出一个出错信号。
处理单元的输出M120、M121在M100中特别地对比较模式存储进一个缓冲寄存器M250、M251中,只要它涉及数字数据并且不能够时钟准确地准备。优选地该存储器可以实施成FIFO。该存储器只有1(寄存器)的深度,从而通过等待信号致力于把输出延迟进一步的值直到成功地比较后为止,以避免数据丢失。
此外还有一个比较单元M210,所述比较单元把输入存储器M250、M251发出的数字数据与输入M120、M121直接比较。该比较单元还可以相互比较串行的数字数据(例如PWM信号),如果例如可以在存储单元M250、M251中接收串行数据并且转换成在M3210中比较的并行数据。同样地异步的数字输入信号M170、M171还可以通过附加的存储单元M270、M271同步。如同还对输入信号120、121那样,也把它们优选地缓冲存储在FIFO中。在性能模式与比较模式之间的切换通过在寄存器置位或者复位进行,由此,例如在两个处理单元中产生对应的中断。该比较本身通过准备好的数据M120、M121以及所属的地址和控制信号M130、131发起。在此从M120和M130或者M121或者M131中的一定的信号可以起识别码的作用,它表明是否要进行所配属的数据的比较。
这是相对图1中的简单切换的另一个实施方式。在此有利地在向比较模式转移的情况下借助于中断列程涉及不同的准备,从而为两个处理单元创造相同的起始条件。如果在处理单元中完成了此准备,由它在控制寄存器中置位处理器专用的准备好比特并且处理单元保持在等待状态,直到另一个处理单元通过其准备好比特信令了其准备好了的状态为止(还参见图6中控制寄存器的说明)。
在该比较单元中还同样可以在一个专用的对此适用的模拟比较单元M211(模拟比较单元)中相互比较模拟信号。然而,前提是模拟信号的输出相互充分地同步进行或者在一个模拟比较单元中设置一个通过一个在此实施的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。在控制寄存器Ci中可以设想不同的实施方式。可以通过适当的比特组合说明是应当采用一种出错识别码还是应当采用容差方式。视在单元M400中投入的费用而异,还可以说明将要采用什么类型的容差模式(3选2、平均、4选2、4选3、FTA。FYM...)。此外还可以可配置地安排接通哪个输出。然后还可以构成哪个部件对哪个数据对该配置可以发生影响的实施方式。
然后把参与的处理单元的输出信号在切换中相互比较。因为不必须时钟准确地处理信号,所以要求缓冲寄存数据。在此还可以在切换单元中比较数据,所述数据以较大的时间差由不同处理单元解放前。由于使用一个缓冲存储器(例如构成为FIFO存储器先进先出,或者还以另一种缓冲寄存器形式)还可以在另一个处理单元还没有提供任何数据时,首先从一个处理单元接收多个数据。在此一个同步这两个处理单元的标准是FIFO的充填状态。如果超过一定的规定的充填,就或通过一个现有的WAIT信号或者一个适当的中断列程在时间上停止此处理中进展得最远的处理单元,以等待在处理中进展得较慢的处理单元。在此监测应当扩张到一个处理单元的所有外部提供的信号上,这还包括模拟信号或者PWM信号。在切换单元中为此设置能够比较这种信号的结构。附加地提出,规定经比较的数据之间的时间偏差或者借助于至少一个时钟监测。
如果在一般的情况下通过一个共同的切换单元相互连接两个以上的处理单元,就对这些处理单元的每个或者这些处理单元要求一个控制寄存器。所述控制寄存器的一个特定的实施方式在图6中示出。
相应的控制寄存器Cx的(n+1)个较低比特B500x至B50nx单义地配属合n+1个处理器/处理单元。控制寄存器Cx的比特B514x在比较/表决为一方面与并行工作为另一方面之间切换,并且对应图1中的B16的值。比特B513x表示是否所涉处理单元比较已经要比较(作好准备),比特B512x控制同步信号(WAIT或者INTRRUPT)并且可以用比特B511x通过一个中断让对应的处理单元x准备比较。对应地比特B5110x控制一个把处理单元切换回并行模式的中断。
如果控制寄存器Ck的B50ik和B51kk置一(0≤i,k≤n),在该实施方式中就意味着处理单元i的输出就应当与处理单元k的输出比较。如果附加地B50jk也等于一,就应当在i、j、k之间表决并且在UVE的输出端k上输出表决结果(0≤i,k≤n)。为此可以为每组处理单元固定一个特定种类的表决或者还只确定一个多重比较,如已经地对图M4的说明所阐述的那样。一般地如果应当在UVE的输出端k上输出表决结果(0≤i,k≤n),就必须对要比较/要表决的处理单元i(在控制寄存器Ck中)的所有比特B50ik置位。还可以在另一个输出端上并列输出。
在控制寄存器(0≤i,≤n)的B50ii中的一个一表明比较单元的输出端i应当是激活的。如果所有的控制寄存器Ci只在对应的存储器位置B50ii带有一个一(i=0、1...n),所有的处理单元都以任意不同的程序和自己的输出信号在性能模式中工作。如果所有的n+1个较低比特B50ik都等于一(i=0、1...n),并且此外置位B514k,然后就把所有处理单元的输出信号都通过多数性判断选择并且在UVE的输出端k上输出;在n=1的情况下只进行一个比较。
在下面的阐述中说明在一个带有多个处理单元的系统中向一个比较/表决转移的情况下一个工作过程看起来是什么样的。
在控制寄存器Ci中置位B514i以激活比较或者表决。该比特既可以通过处理单元置位也可以由切换和比较单元依据一定的系统状态、时间条件或者其它的条件(例如访问一定的存储器区域、错误或者不可靠性)。如果连同B514i置位比特B50ii和B50ki,就通过UVE自动地置位比特B511i和B511k并且在处理单元i和k中触发中断。该中断引起处理单元跳到一个一定的程序位置,进行向比较模式转移的一定的初始化步骤并且然后向切换和比较单元输出一个回答(准备好)。所述准备好信号在处理单元的相应的控制寄存器Ci中自动地复位中断比特B511i并且同时引起等待比特B512i的置位。当置位了所参与的处理单元的所有等待比特时,把它们同时由切换和比较单元复位。然后处理单元开始处理要监测的程序部分。在一个有利的实施方式中,通过锁定(HW或者SW)阻止在带有置位了的比特B512i的一个控制寄存器Ci上写入。在有意义地使得在处理过程中不能够改比较的配置。只有在比特B514i复位以后才能在控制寄存器Ci中改变。所述复位在所涉处理单元通过在控制寄存器中置位比特B510x引起所有参与的处理单元中断以转移到正常模式(并行工作方式)。
所有控制寄存器的一致性对应于使用者的规定监测并且在错误的情况下产生一个出错信号,所述出错信号是状态信息的一个组成部分。从而例如不应当发生一个处理单元同时用于对多个独立的比较或者表决处理,因为这样就不能够保证同步。然而可以设想多个处理单元的一个比较还不输出数据信号而是只用于在不相同的情况下产生一个出错信号。
在另一个实施方式中在多个或者所有的参与比较或者表决的处理单元的控制寄存器中同时地进行输入,就是说在此同时地置位这些处理单元的对应的比特,在一定的情况下控制输出的自身的比特i除外。
图7示出用于中心表决的一个表决单元Q100。该表决既可以借助于适当的硬件进行也可以软件进行。为此规定表决算法(例如比特准确地表决)。表决单元Q100在此包含多个信号Q110、Q111、Q112并且从中构成一个通过表决出现的(例如从n选m)输出信号Q120。
如果在表决时出现错误,就在所涉的控制寄存器片置出错比特。在表决的情况下忽略所涉处理单元的数据;在一个简单表决的情况下禁止输出。
所有的在编程的时间进程中没有及时准备好的数据都如同错误处理。出错比特的复位系统相关地进行并且可能在一定的情况下重新整合所涉处理单元。
对于单元和/或表决器没有空间地集中地安排的情况,还可以有与图8所示的适当的总线系统相关联地分散的表决。在图8中分散的表决单元Q200由控制单元Q210控制。它是通过总线系统Q221、Q222连接的,通过该总线系统获得数据并且在此处重新输出。
在一个有激活的输出比特的控制寄存器中的比较比特和表决比特的复位在参与的处理单元中引起一个中断,然后所述处理单元重新返回至并行的工作方式。在此每个处理单元可以具有一个分开地管理的不同的入口地址。程序执行然后还可以从相同的程序存储器起进行。然而访问是分开的并且一般地是对不同的地址。只要安全性相关的部分对并行模式比较很小就要权衡是否一个带有加倍的保险部分的自己的程序存储器到底是否引用不大。在性能模式中还可以共同地使用数据存储器。然后例如借助于AH B/ABP总线相继地进行访问。
作为特殊性还要说明,出错比特必须由系统分析。为了保证在出错的情况下可靠地关闭,在适当的形式中冗余地实现安全性相关的信号(例如用2选1代码)。
在根据图1、2、3、4和5至此所示的UVE中首先假定,处理单元以相同的或者互相导出的时钟工作,所述时钟相互有一个恒定的相位关系。如果对处理单元还采用其中相位关系变化的不同振荡器和发生器的时钟,如果时钟域变化就必须同步从而产生的信号。为此在图9中示出一个同步元件M800。为了特别是可靠地存储数字数据并且为了比较就要求能够在信号流的任意位置中断的同步装置M800。这保证数据M820的存储产生用提供该数据的处理单元的时钟M830。然后为了读取使用用之进一步处理数据M840的时钟。一个这样的同步级M800可以构成为FIFO,以能够存储多个数据(参见图9)。在一般的情况下只有数据的同步还不够,而是数据的准备信号也要与接收时钟同步。
为此,还要求一个握手接口(图10),通过请求信号M850和应答信号M880保证转移。如果时钟域改变就总是需要这样一种接口以保证从一个时钟域向另一个时钟域传输数据。在写的情况下在此提供区域Q305中的数据M820以时钟M830在寄存器小区M800中同步,写请求信号M850表明该数据准备好。该写请求信号从区域Q306以时钟M860转移至存储器元件M801中并且作为同步的信号表明数据准备好。用下一个时钟M860的时钟脉冲边缘M860接着转移同步了的数据M840并且在此发送回一个确认信号M880,该确认信号由时钟M830在另一个存储器元件M801中对信号M890同步并且从而结束数据的准备。然后可以在所涉寄存器中写入新的数据。这样的接口是现有技术并且是公知的并且可以以一个特定的实施方式通过一个附加的编码特别快速的工作而不必等待一个应答信号。
在一个特别的实施形式中,所述存储元件M800被实施为FIFO存储器(先进先出)。
在一个11至图14所示的用于比较模拟信号的电路的前提是提供要比较的模拟信号的处理单元相互同步得使所述比较有意义为前提。所述可以通过图1所示的对应的信号B40和B41达到。
图11示出一个差分放大器。借助于该装置可以相互比较两个电压。
在此B100是一个运算放大器,在其负输入端B101接通一个信号B141,所述信号通过阻值为Rin的电阻B110与输入信号B111连接,在所述输入信号上加以电压V1。正输入端B102接通一个信号B142,所述信号通过阻值为Rin的电阻B120与输入B121连接,在所述输入B121上加以电压V2。运算放大器的输出端B103与输入信号N190连接,所述输出信号B190有电压值Vout。信号B190通过阻值为Rf的电阻B140与信号B141连接,而信号B142通过阻值为Rf的电阻B130与有模拟基准电压Vagnd的信号B131连接。输出电压可以用以上说明的电压和电阻值按以下公式计算Vout=Rf/Rin(V2-V1)。 (1)如果只用正的工作电压工作,例如在CMOS的情况下,就把一个在工作电压与数字地之间的电压选作模拟地Vagnd,一般地是中值电位。如果两个模拟输入电压V1和V2只有很小的差别,从而输出电压Vout只有一个对模拟地的一个很小的差值Vdiff(正的或者负的)。
借助两个比较器于是就可以检验输出电压是否对模拟基准点在Vagnd+Vdiff以上(图12)或者是否在Vagnd-Vdiff以下(图13)。在此,在图12中输入信号B221通过阻值为R1的电阻连接到信号B242上,后者与运算放大器B200的正输入端B202连接.此外B242通过阻值为R2的电阻连接到信号B231上,后者有数据基准电位Vdgnd。所述运算放大器的负输入端B201与输入信号211连接,所述输入信号有一个参考电压Vref的电压值。运算放大器B200的输出端B203与输出信号B290连接,后者为电压值Voben。
在图13中对应地输入信号B231通过阻值为R3的电阻连接到信号B342上,后者与运算放大器B300的负输入端B301连接。该信号B342通过阻值为R4的电阻连接到信号B331上,后者也有数据基准电位Vdgnd。所述运算放大器B300的正输入端B302与输入信号B311连接,所述输入信号有一个参考电压Vref的电压值。运算放大器B300的输出端B 303与输出信号B390连接,后者有电压值Vnuten。
通过其中阻值为R1、R2、R3、R4的电阻B150、B160、B170和B180相关于加在信号B211和B311上的第一参考电压Vref,该参考电压的大小为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确定,就是说(V2mxa-V1min)是应当相互比较的冗余的模拟信号相互间的最高允许电压偏差。
如果在两个信号B290或者B390(Voben或者Vunten)上的电压值是正的,于是有一个大于应当容忍的模拟信号偏差。只要提供该模拟信号的处理是同步的,就发出一个应当存储并且在一定的导致关闭输出信号的错误。
如果例如在对应的处理单元的控制寄存器中的准备好信号被激活,或者向UVE发送信令所涉及模拟信号的一定的状态并且从而还在一个识别码的意义上信令要值的确定的数字信号,就给出了同步性。一个存储错误的电路在图14中示出。在该电路中这两个输入信号B390和B290通过一个NOR电路(带有后接求反的逻辑或电路)B410与输出信号B411相关联。该信号B411与输入信号B421在另一个NOR装置B420中对输出信号B421相关联。该信号B421在一个或电路B430中与信号B401对用作存储器装置(D触发器)B400的输入信号的信号B431相关联。该装置B400的输出电压B401用值1表示一个错误。如果这两个电压值Vunter或者Voben在信号B390或者B290上有正值,也就是数字信号有值高,所述D触发器B400以时钟B400存储进一个1,就不激活信号B421并且不加以复位信号B402。一直保存所述错误直到至少一次渡海信号复位。要注意的是在图11至图13的电路的取值,要相互匹配电阻,就是说,电阻Rf、Rin、R1和R2以及R3和R4的比例可能与制造公差无关地恒定。用信号B421可以控制是应当启动该电压,还是刚好进行处理单元同步,在同步是不应当进行比较。信号B402复位以前的错误,并且因此使得能够进行重新比较。
图15示出一个ADC。该ADC可以视现有的要求而异,例如在转换速度、精确度、抗干扰能力、线性和频谱方面用不同的公知转换方法实现。例如可以选择逐步逼近的原理,其中借助于一个比较器把模拟信号与数模转换器(DAC)中产生的一个信号相比较,其中把DAC的输入比特系统地从MSB(最重要的比特-最高值比特)到LSB(最不重要的比特-最低比特)试探地置高并且然后刚好在DAC的模拟输出信号有一个高于模拟输入(要转换的信号)时重新复位。所述DAC以其从LSB至MSB的数字比特或阻性或容性地以权重1、2、4、8、16、...控制,控制的方式是下一个较高的比特总是对逻辑值有双陪的作用,如同其上一个较高的比特对它那样。在所有的比特都置位并且在一定的情况下复位以后,该数字字的值对应于模拟的输入信号的数字代表。对于较高的速度要求可以在连续的数据流的情况下还采用一个连续处理模拟信号并且输出一个串行的数据信号的转换器,所述串行信号由于串行的比特列接近该模拟信号。所述数字字在此由存储在写寄存器中的比特列代表。这样的转换器的前提却是,在变换时间空间中始终进行模拟信号的改变,因为它不能够处理恒定的值。对于较低的速度要求还可以采用根据计数原理的转换器,所述转换器例如借助于输入电压或者输入电流引起接到一个积分器上的电容器的一个对应的恒定的充电或者放电。这在所需要的时间上测量并且测量成对借助于一个参考电压源或者一个对应的参考电流同一个电容器(积分器)沿相反方向充电、放电所需要的时间的比例。所述时间单位按时钟测量并且所需要的时钟数量是所述模拟输入值的尺度。一个这样的方法例如是双斜率方法,其中一个确定对应于所述模拟值的由于放电的沿(斜坡),并且确定对应于所述参考值的由于重新充电的第二沿(还可参见http//www.exstrom.com/journal/adc/dsadc.html)。
图15所示的ADC B600由一个触发信号B602控制,所述触发信号通常是所述处理器的一个输出信号,所述处理器准备所述模拟信号并且任选地准备一个给出所述模拟信号的种类的信息的识别码,以能够区别多个模拟信号。用触发信号B620把在存储器区域B640中的转换了模拟字作为数字字转移到寄存器B610中并且任选地与存储在B620中的识别码B603一起转移并且有可以与一个存放在存储器B630中的附加的信号B640(这是一个模拟值的标识1)一起转移。如果应当存储多个值,并且首先存放的也应当首先输出,所述存储器区域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)以及与转换的数据值B710或者数字值B810相关联的识别码B720或者B820。还有可能,例如由于不同的比特宽度,把数字信号安置在分开的存储器(两个FIFO)中。然后事件控制地进行比较总是在把一个处理的值向UVE传输时检验是否另一个参与的处理器已经准备好了这样的值。只要不是这种情况,就把该值存放在对应的FIFO或者存储器中,在另一种情况下直接进行比较,其中在此FIFO也可以起存储器的作用。然后例如总是在所参与的FIFO不是空的时候完成一个比较。在多于两个参与的处理器或者比较信号时可以通过一个表决查明是否所有的信号都能够分发(出错沉默行为)或者是否在一定的情况下只通过一个出错信号发送出错状态的信令。
权利要求
1.在拥有至少两个处理单元的计算机系统中进行切换的方法,其中设置切换装置并在至少两个工作模式之间进行切换,其中设置比较装置,并且一个第一工作模式对应于一个比较模式,而一个第二工作模式对应于一个性能模式,其特征在于,通过把至少一个模拟信号转换成至少一个数字值来比较所述处理单元的至少两个模拟信号,其中。
2.根据权利要求1所述的方法,其特征在于,所述模拟信号中的至少两个可以是异步的。
3.根据以上权利要求之一所述的方法,其特征在于,在规定的时间内缓冲寄存数字信号,从而可以进行直接比较。
4.根据以上权利要求之一所述的方法,其特征在于,在至少一个处理单元中进行至少一个信号的转换。
5.根据以上权利要求之一所述的方法,其特征在于,把至少一个模拟信号转换成数字信号,在一个规定的时间内进行存储并且为了进行比较而转换回一个模拟信号。
6.根据以上权利要求之一所述的方法,其特征在于,把两个模拟信号都转换成数字信号,然后同时通过缓冲寄存来提供至少经过转换的数字值用于比较。
7.根据以上权利要求之一所述的方法,其特征在于,每个信号的数字值包含多个比特并且依据规定的精确度把相应规定数量的比特相互比较。
8.根据以上权利要求之一所述的方法,其特征在于,以冗余的方式相互比较所述模拟信号及其数字值。
9.根据以上权利要求之一所述的方法,其特征在于,在转换成一个数字值时,给所述模拟信号配属一个识别码。
10.根据权利要求9所述的方法,其特征在于,应当比较的两个信号的识别码是可以配属的,并且只比较其识别码可以配属的信号和/或其数字值。
11.在拥有至少两个处理单元的计算机系统中进行切换的装置,其中设置切换装置并在至少两个工作模式之间进行切换,其中,设置比较装置,一个第一工作模式对应于一个比较模式,而一个第二工作模式对应于一个性能模式,其特征在于,比较所述处理单元的至少两个模拟信号,并且包含一个模数转换器,其中把至少一个模拟信号转换成至少一个数字值。
12.根据权利要求11所述的装置,其特征在于,模拟信号中的至少两个可以是异步的。
13.根据权利要求11至12之一所述的装置,其特征在于,在规定的时间内缓冲寄存该数字信号,从而可以进行直接比较。
14.根据权利要求11至13之一所述的装置,其特征在于,在至少一个处理单元中进行至少一个信号的转换。
全文摘要
本发明涉及在拥有至少两个处理单元的计算机系统中进行切换的方法,其中设置切换装置,并在至少两个工作模式之间进行切换,其中设置比较装置,一个第一工作模式对应于一个比较模式,而一个第二工作模式对应于一个性能模式,其特征在于,通过把至少一个模拟信号转换成至少一个数字值来比较所述处理单元的至少两个模拟信号。
文档编号G06F11/16GK101048756SQ200580036570
公开日2007年10月3日 申请日期2005年10月25日 优先权日2004年10月25日
发明者B·穆勒, E·博尔 申请人:罗伯特·博世有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1