JP2008518306A - 少なくとも2つの処理ユニットを有する計算機システムにおける切り替えおよび信号比較の方法および装置 - Google Patents
少なくとも2つの処理ユニットを有する計算機システムにおける切り替えおよび信号比較の方法および装置 Download PDFInfo
- Publication number
- JP2008518306A JP2008518306A JP2007537298A JP2007537298A JP2008518306A JP 2008518306 A JP2008518306 A JP 2008518306A JP 2007537298 A JP2007537298 A JP 2007537298A JP 2007537298 A JP2007537298 A JP 2007537298A JP 2008518306 A JP2008518306 A JP 2008518306A
- Authority
- JP
- Japan
- Prior art keywords
- comparison
- signal
- signals
- switching
- analog
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/18—Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
- G06F11/183—Error 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1629—Error detection by comparing the output of redundant processing systems
- G06F11/1641—Error detection by comparing the output of redundant processing systems where the comparison is not performed by the redundant processing components
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1675—Temporal synchronisation or re-synchronisation of redundant processing components
- G06F11/1679—Temporal synchronisation or re-synchronisation of redundant processing components at clock signal level
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1629—Error detection by comparing the output of redundant processing systems
- G06F11/1654—Error detection by comparing the output of redundant processing systems where the output of only one of the redundant processing components can drive the attached hardware, e.g. memory or I/O
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1695—Error detection or correction of the data by redundancy in hardware which are operating with time diversity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/845—Systems in which the redundancy can be transformed in increased performance
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Hardware Redundancy (AREA)
Abstract
本発明は、少なくとも2つの処理ユニットを有する計算機システムにおいて切り替えおよび信号の比較方法および装置に関する。比較モードを第1の駆動モード、パフォーマンスモードを第2の駆動モードとして、少なくとも2つの駆動モードの間を切り替える切り替え手段と、比較手段とが設けられ、処理ユニットの少なくとも2つのアナログ信号を、これらの信号に基づいて差が形成されるように比較することを特徴とする。
【選択図】なし
【選択図】なし
Description
比較モードにおけるエラー認識方法が、Wo01/46806A1に記載されている。この方法では、データが2つの処理ユニットALUを有する処理ユニット内で並列に処理されて比較される。エラー(ソフトウェアエラー、過渡的エラー)の場合には、2つのALUは、エラーデータが除去され、新たな(部分的に繰り返された)冗長な処理を行うことができるようになるまで互いに独立して働く。これは、2つのALUが互いに同期して働き、かつ正確なクロックが比較された結果であることを前提としている。
従来技術において、課題を冗長に処理してエラー認識するための比較モードと、より高いパワー能力を得るためのパフォーマンスモードとの間で切り替え可能な方法が知られている。この際、比較モードのために処理ユニットを相互に同期させることが前提となる。そのためには、メモリに書き込む際に結果データを互いに比較することができるように、2つの処理ユニットを停止させることができ、かつ正確にクロック同期して働かせることが必要である。このため、ハードウェアへの介入が必要であり、個々の解決が提案されている。
これに対して特許公報EP0969373A2では、冗長に働く処理ユニットまたは処理ユニットの結果の比較は、これらが互いに非同期で働く場合、すなわち同クロックでなく、あるいは未知のクロックオフセットをもって働く場合でも保証される。
航空機産業においては、標準計算機の入力を使用して多数決により処理する、すなわち安全上重要なアクションを作動させることの可能な投票システムが知られている。インター処理ユニットとインターコントロールユニット通信を互いに組み合わせたこのシステムは、高い冗長性によって、エラーが1つだけの場合あるいはエラーが複数の場合でもさらに作業能力を有するFMEシステムであって、空間走行のためにDASAによって開発された(Urban, et al: A survivable avionics system for space applications, Int. Symposium of Fault-tolerant Computing,FTCS-28(1998),pp.372-381)。このシステムは、ビザンチン障害(すなわち、特にたちの悪いエラーであって、すべてのコンポーネントが同一情報を得るのではなく、陰謀を含む、特に「故意に」異なる誤った情報が種々のコンポーネントに分配されること)も許容することができる。
この種のシステムは、経済的には手間とコストがかかるために、極めてわずかな数だけ製造され、特にクリティカルなシステムのために適用される。大量に製造可能であって、さらに切替え可能性も有する、コスト的に好ましい解決は知られていない。したがって、2つまたはそれより多い処理ユニットの駆動モードを切り替えることを許容し、これらの処理ユニットの構造へ介入することなく、かつこの目的のために付加的な信号を必要としない、切替えおよび比較ユニットを提供するという課題がある。この場合に、比較モードにおいて種々の処理ユニットのデジタルまたはアナログの種々の信号を相互に比較することが可能でなければならない。この比較は、場合によっては処理ユニットが種々のクロック信号で駆動され、互いに非同期で働く場合も可能でなければならない。さらに、特に多面的に使用可能な形式でアナログ信号の比較を可能にする手段および方法を提供するという課題がある。
好ましくは、少なくとも2つの処理ユニットを有する計算機システムにおいて、切り替えおよび信号を比較する方法が使用される。この方法には、少なくとも2つの駆動モード間で切り替え可能な切替え手段と、比較手段とが設けられている。ここで、第1の駆動モードは比較モードに、第2の駆動モードはパフォーマンスモードに相当する。処理ユニットの少なくとも2つのアナログ信号が、これらの信号にしたがって差が形成されるように、比較されることを特徴としている。
この方法において、好ましくは、アナログ信号は予め設定可能な許容誤差範囲内で同期している。
また、この方法において、好ましくは、2つのアナログ信号を比較するために、少なくとも1つのアナログ信号を予め設定可能な時間の間処理ユニットから出力させ、2つのアナログ信号を同期させる。
この方法において、好ましくは、アナログ信号を比較するために、第1の処理ユニットの第1のアナログ信号と第2の処理ユニットの第2のアナログ信号との差が形成される。
この方法において、好ましくは、少なくとも1つの比較ユニットがアナログ信号の他に有効性情報を出力し、アナログ信号はこの有効性情報にのみ基づいて比較される。
この方法において、好ましくは、差は予め設定可能な基準信号と比較される。
この方法において、好ましくは、比較に基づいて比較結果を表す信号が生成される。
この方法において、好ましくは、比較に基づいてエラー信号が生成される。
この方法において、好ましくは、基準信号は計算ユニットに対して外部のソースによって予め設定される。
この方法において、好ましくは、少なくとも1つのアナログ信号がデジタル変換され、予め設定可能な時間の間記憶されて、比較のため再びアナログ信号に逆変換される。
この方法において、好ましくは、差比較手段が比較器、特に差動増幅器として形成される。
好ましくは、少なくとも2つの処理ユニットを有する計算機システムにおいて、切り替えおよび信号を比較する装置が使用される。この装置には、少なくとも2つの駆動モードの間で切り替え可能な切替え手段と、比較手段とが設けられている。ここで、第1の駆動モードは比較モードに、第2の駆動モードはパフォーマンスモードに相当する。この装置には、差比較手段が設けられている。処理ユニットの少なくとも2つのアナログ信号がこれらの信号に基づいて差が形成され、比較されるように、差比較手段が形成されることを特徴とする。
この装置において、好ましくは、アナログ信号は予め設定可能な許容誤差範囲内で同期している。
この装置において、好ましくは、基準信号源が設けられる。
この装置において、好ましくは、少なくとも1つの付加的な比較手段が設けられており、比較手段は、差と基準信号源の基準信号とが比較されるように形成されている。
この装置において、好ましくは、付加的な比較手段が比較器として形成されている。この比較器は2つの抵抗と接続されており、これらの抵抗は基準信号のレベルに対して固定された関係にある。
他の利点と好ましい形態が、請求項の特徴と明細書から明らかにされる。
実施ユニットまたは処理ユニットは、以下においてプロセッサ/コア/CPUとも、FPU(Floating Point Unit)、DPS(Digitaler Signalprozessor)、コプロセッサまたはALU(Arithmetic logical Unit)とも称することができる。
ここでは、2つまたはそれより多い処理ユニットを有するシステムについて考察される。原則的に、安全上重要なシステム内で種々の処理ユニットにできるだけ種々の課題を与えて能力を向上させるために、このようなリソースを使用する可能性がある。代替的に、処理ユニットに同一の課題を与えて、結果が等しくない場合にエラーと認識させることにより、リソースの幾つかを互いに冗長に使用することもできる。
それぞれいくつの処理ユニットがあるかによって、複数のモードが考えられる。2システムにおいては、上述したように、「比較」と「パフォーマンス」の2つのモードが存在する。3システムにおいては、3つの処理ユニットすべてが並列に作業する純粋なパフォーマンスモードと、3つの処理ユニットすべてが冗長に計算しかつ比較される、純粋な比較モードの他に、3つすべての処理ユニットが冗長に計算しかつ多数決が行われる3−2投票モードも実現される。さらに、ミックスされたモードも実現され、この場合例えば処理ユニットの2つが互いに冗長に計算して結果が比較され、第3の処理ユニットは、他の並列の課題を処理する。4以上の処理ユニットシステムにおいては、明らかに、さらに他の組合せが考えられる。
解決すべき課題は、システム内で提供される処理ユニットを、これらの処理ユニットの既存の構造に介入することなく(例えば同期化のために)、駆動において可変に使用できるようにすることにある。特殊な形態においては、各処理ユニットは専用のクロックで作業することができる。すなわち、比較を目的とした同一課題の処理は、互いに非同期でも処理することができる。
この課題は、普遍的な、広く使用可能なIPが形成され、そのIPが、前もって処理ユニットをオフにすることなく任意の時点で駆動モード(例えば、比較モード、パフォーマンスモードまたは投票モード)の切替えを可能にし、かつ場合によっては非同期のデータフローの比較または投票を互いに管理することによって解決される。このIPは、チップとして形成することができ、あるいは1または2以上の処理ユニットと共にチップ上に集積することができる。さらに、このチップが1片のシリコンからなることは前提ではなく、これを別々のモジュールから実現させることもまったく可能である。
異なる処理ユニット間の同期を保証するために、個々の処理ユニットにおいて次々に実行されるプログラム処理を阻止する信号が必要である。このため、通常、WAIT信号が設けられている。実施ユニットがウェイト信号を使用しない場合には、その実施ユニットはインターラプトを介して同期させることもできる。このために同期化信号(例えば図2のM140)は、ウェイト入力へ案内されずにインターラプトへ印加される。インターラプトは、ノーマルな作業方法を中断するために、処理プログラムに対して、また他のインターラプトに対しても、十分に高い優先順位を有していなければならない。
付属のインターラプトルーチンは、中断されたプログラム内へ再びジャンプバックする前に、所定の数のNOP(データに作用しない空指令)のみを実施することにより処理プログラムのそれ以降の処理を遅延させる。場合によっては、ノーマルなプログラム処理をインターラプトによって損なわないようにするために、インターラプトルーチン内で最初と最後にさらに通常のメモリ操作が行われなければならない。
このプロセスは、同期化が形成される(例えば他の処理ユニットが予測される比較データを供給する)までの間続行される。しかし、正確なクロック同期性と、特に他の処理ユニットとの同位相性とは、この方法によっては条件付きでしか保証できない。したがって、同期化のためにインターラプト信号を利用する場合に、比較すべきデータが比較される前に、この比較すべきデータをUVE内に中間記憶することが望ましい。
本発明の利点は、経済的に提供可能な任意の標準構造を使用できることにある。というのは、付加的な信号を必要とせず(ハードウェア構造への介入なしに)、かつこれらのコンポーネントの、例えば直接アクターの駆動に使用される、任意の出力信号を監視することができるからである。これは、これまで従来技術では比較によって直接検査することができなかったDACやPWMのような変換器構造の検査も含まれている。
個々の課題またはSWタスクのための検査が必要とされない限りにおいては、様々なタスクが種々の処理ユニットに分配されることによってパフォーマンスモードへの切替えも可能である。
他の利点は、比較モードまたは投票モードにおいて、すべてのデータを比較する必要がないことにある。比較すべきあるいは投票すべきデータのみが、切替えおよび比較ユニット内で互いに同期される。これらのデータの選択は、切替えおよび比較ユニットの所望の応答によって可変(プログラミング可能)であり、任意の処理ユニットアーキテクチャおよび適用に適合させることができる。これにより様々なμC(microcontroller(MCU))またはソフトウェア部分の使用も容易に可能である。というのは、有意義な方法で比較することのできる結果のみが、実際にも比較されるからである。
さらに、これにより(例えば外部の)メモリへのアクセスを、あるいは外部のI/Oモジュールの駆動のみを監視することができる。内部の信号は、切替えモジュールへのソフトウェア制御される付加的な出力を介して、外部のデータおよび/またはアドレスバス上で検査可能である。
比較操作のためのすべての制御信号は、好ましくはプログラミング可能な切替えおよび投票ユニット内で生成され、比較もそこで行われる。その出力が互いに比較されるべき処理ユニット(例えばプロセッサ)は、ソフトウェアエラーを認識するために、同一プログラム、二重にされたプログラム(これが付加的に、メモリアクセスの際のエラーの認識を可能にする)あるいは多様化されたプログラムを利用することができる。このとき、処理ユニットによって準備されたすべての信号を互いに比較する必要はなく、識別子(アドレス信号または制御信号)を用いて比較のために所定の信号を設けることも可能であり、あるいは設けないことも可能である。この識別子は、切替えおよび比較ユニット内で評価されて、それによって比較が制御される。
別体のタイマーが、予め設定可能なリミットまで、時間行動における偏差を監視する。切替えおよび比較ユニットのいくつかあるいはすべてのモジュールは、チップ上、共通のボード上に集積することができ、あるいは空間的に別々に収容することもできる。後者の場合には、データと制御信号とは適当なバスシステムを介して交換される。このとき、レジスタは現場でバスシステムを介して書き込まれ、その中に格納されたデータおよび/またはアドレス/制御信号を用いてプロセスを制御する。
図1には、2つの処理ユニットB10およびB11と組み合わせて使用するための、本発明に基づく切替えユニットB01の基本構造が示されている。処理ユニットB10、B11のデータ、制御信号およびアドレス信号B20あるいはB21のような種々の出力信号が切替えユニットB01と接続されている。さらに、少なくとも1つの同期化信号、本発明に基づく配置形態においては、2つの出力信号B40とB41とが存在し、これらが比較ユニットの1つと接続されている。
切替えユニットは、少なくとも1つの制御レジスタB15を有しており、制御レジスタは、比較ユニットのモードを切り替える、バイナリ記号(ビット)B16のための少なくとも1つのメモリ素子を有している。B16は、少なくとも2つの値0および1をとることができ、比較ユニットの信号B20またはB21によっても、切替えユニットの内部のプロセスによっても、セットまたはリセットすることができる。
B16が第1の値にセットされている場合に、切替えユニットは比較モードで働く。このモードにおいて、データの有効性およびこれらのデータのために設けられている比較を知らせる、信号B20とB21からなる制御および/またはアドレス信号の所定の予め設定可能な比較条件が満たされている限りにおいて、B20からなるすべての到着する信号はB21からなるデータ信号と比較される。
この比較条件を2つの信号B20とB21とが同時に満たしている場合には、これらの信号からなるデータが互いに比較され、等しくない場合にはエラー信号B17がセットされる。信号B20あるいはB21の比較条件のみが満たされている場合には、該当する同期化信号B40あるいはB41がセットされる。この信号は、該当する処理ユニットB10あるいはB11内で処理の停止をもたらし、これにより、これまで互いに比較することができなかった該当する信号の接続がさらに阻止される。信号B40あるいはB41は、それぞれ他方の処理ユニットB21あるいはB20の該当する比較条件が満たされるまでの間セットされ続ける。この場合において、比較が実施され、これに応じた同期化信号がリセットされる。
上述したように、比較すべきデータが2つの処理ユニットによって同時に準備されない場合にこれらのデータの比較を保証するため、該当する処理ユニットのデータと比較条件とを該当する同期化信号B40あるいはB41がリセットされるまで該当する値に維持するか、あるいは最初に準備されたデータを切替えユニット内に比較するまで記憶しておく必要がある。
それぞれどの処理ユニットが最初にデータを準備するかに応じて、この処理ユニットは、他の処理ユニットが該当する比較データを準備するまで、そのプログラムまたはプロセスのさらなる処理を待たなければならない。
図1に示す切替えユニットの特殊な形態においては、付属の処理ユニットが他の処理ユニットより早く比較データを準備しないことが常に保証される場合には、信号B40あるいはB41のいずれか1つを省略することができる。
B16が第2の値にセットされている場合には、同期化信号B20とB21およびエラー信号B17は常にインアクティブであって、例えば値0にセットされている。比較は行われず、2つの処理ユニットは互いに独立して作業する。
本発明に基づくシステム内の重要なコンポーネントは、比較器である。図1Aに、この比較器を最も簡単な形式で示す。比較コンポーネントM500は、2つの入力信号M510とM511を受け取ることができる。その後、このコンポーネントはこれらの入力信号を同一性について、ここに示すコンテキストにおいては好ましくはビット単位の同一性の意味で比較する。不同一性が検出された場合に、エラー信号M530が能動化されて、信号M520は非能動化される。同一の場合には、入力信号M510、M511の値が出力信号M520、M521へ与えられ、エラー信号M530は非アクティブ、すなわち「グッド」状態を知らせる。
このベーシックシステムから、多数の拡張された実施形態が考えられる。まず、コンポーネントM500をいわゆるTSCコンポーネント(totally self checking)として形成することができる。このとき、エラー信号M530は、少なくとも2本の導線(「デュアルレール」)上で外部へ案内され、内部のデザインおよびエラー発見機構によって、比較コンポーネントの各可能なエラー場合において、この信号が正しくあるいは認識可能に正しくなく存在することが保証される。本発明に基づくシステムの利用における好ましい実施形態は、このようなTSC比較器を使用することである。
実施形態の第2のクラスは、2つの入力M510、M511(あるいはM610、M611)がどの程度の同期性を持たなければならないかについて区別することができる。可能な変形例としては、クロック単位の同期性を特徴とし、すなわちデータの比較はクロックにおいて実施される。入力間の位相オフセットが固定されている場合に、該当する信号を、例えば整数あるいは半分のクロック周期だけ遅延させる同期遅延素子が使用されることによって、軽い変形が生じる。このような位相オフセットは、コモンコーズエラー(Common Cause Fehler)、すなわち同時に複数の処理ユニットに作用する可能性のあるエラーを回避するために有用である。
したがって、図1Cにおいては、図1Aからなるコンポーネントを越えて、早い方の入力を位相オフセット分遅延させるコンポーネントM640が挿入されている。この遅延素子は、比較モードにおいてだけ使用するために、比較器内に収容されていることが好ましい。その代わりに、あるいはそれに加えて、非同期性を同様に許容することができるようにするために、入力チェーン内に中間バッファを設けることもできる。好ましくは、中間バッファは、FIFOメモリとして設計される。このようなバッファが存在する場合に、バッファの最大深度までは非同期性も許容することができる。この場合においては、バッファがオーバーフローした場合にも、エラー信号が出力されなければならない。
さらに比較器内で実施形態を、どのように信号M520(またはM620)が生成されるかに基づいて区別することができる。このとき、入力信号M510、M511(あるいはM610、M611)を出力へ与え、スイッチによって接続を中断可能にする形態であることが望ましい。この変形例の特別な利点は、パフォーマンスモードと可能な種々の比較モードとの間で切り替えるために、同一のスイッチを使用することができることにある。代替的に、信号を、比較器内部の中間バッファから生成することもできる。
実施形態の最後のクラスは、比較器にいくつの入力が存在し、かつ比較器がどのように反応するかにおいて異なることができる。入力が3つの場合には、多数決、3つ全部の比較あるいは2つの信号だけの比較を行うことができる。入力が4つまたはそれより多い場合には、それに応じて多くの変形例が考えられる。この変形例は、好ましくはシステム全体の種々の駆動モードと結合される。
一般的な場合を表示するため、図1Bに、好ましくは使用されるような、一般化した切替えおよび比較ユニットを示す。考慮すべきn個の実施ユニットから、nの信号N140、…、N14nが切替えおよび比較コンポーネントN100へ入力される。このコンポーネントは、これらの入力信号から、nまでの出力信号N160、…、N16nを生成することができる。最も簡単な場合、「純粋なパフォーマンスモード」において、すべての信号N14iが対応する出力信号N16iから出力される。これに対して逆の場合、「純粋な比較モード」においては、すべての信号N140、…、N14nが出力信号N16iの1つから正確に出力される。
この図には、どのようにして考え得る種々のモードを生じることができるかが示されている。このため、この図には、切替え論理N110の論理コンポーネントが含まれている。コンポーネントは、このようなコンポーネントとして存在する必要はなく、その機能が存在することが重要である。コンポーネントは、まず、そもそもいくつの出力信号が存在するかを定める。さらに切替え論理N110により、どの入力信号がどの出力信号に寄与するかを定める。この場合に1つの入力信号が、正確に1つの出力信号に寄与することができる。数学的な形式において異なるように表現され、すなわち切替え論理によって集合{N140、…、N14n}の各エレメントに集合{N160、…、N16n}のエレメントを対応づける機能が定められる。
ここで、処理論理N120の機能は、出力N16iの各々について、どのような形式で入力がこの出力信号に寄与するかを定める。このコンポーネントは、専用のコンポーネントとして存在する必要はない。ここでも重要なことは、システム内に上述した機能が実現されていることにある。例えば種々の変形可能性を説明するために、普遍性を損なうことなく出力N160が信号N141、…N14mによって生成されると仮定する。m=1の場合は単純に信号のスルー接続に相当し、m=2の場合は信号N141、N142が比較される。この比較は、同期または非同期で実施することができ、ビット単位あるいは有意のbit値で、あるいは許容帯域をもって実施することができる。
m>=3の場合には、複数の可能性が生じる。
第1の可能性は、すべての信号を比較し、少なくとも2つの異なる値が存在する場合に、エラーを検出することであり、そのエラーは選択的に通知させるようにすることができる。
第2の可能性は、mからkの選択(k>m/2)を行うことである。これは、比較器を使用することによって実現可能である。選択的に、信号の1つがずれていると認識された場合に、エラー信号を生成することができる。3つの信号すべてが異なる場合には、場合によっては異なるエラー信号を生成することができる。
第3の可能性は、この値をアルゴリズムへ供給することである。これは、例えば、平均値、中央値の形成、またはエラー許容するアルゴリズム(FTA)の使用であることができる。このようなFTAは、入力値の極値を捨て、残りの値についてある種の平均を算出することに基づいている。平均の算出は、残りの値のすべてについて、あるいはHWにおいて容易に形成されるべき部分について行うことができる。この場合、値を実際に比較することは、必ずしも必要ではない。平均値形成において、例えば加算と除算を行えば済み、FTM、FTAまたは中央値は、部分的なソートを必要とする。場合によってはここでも、極値が十分に大きい場合に選択的にエラー信号を出力することができる。
上述した複数の信号を1つの信号に処理する、これらの可能性は、以下において「比較操作」と称する。
処理論理の課題は、各出力信号について−そしてそれに伴う各入力信号についても−比較操作の正確な形態を定めることにある。切替え論理N110(すなわち上述した機能)と処理論理(すなわち出力信号当たり、機能値当たりの比較操作の決定)の情報の組合せがモード情報であって、これに基づいてモードが決定される。この情報は、一般的な場合において、もちろん多値であって、すなわち1つの論理ビットを介して表示可能であるだけではない。すべての論理的に考えられるモードが与えられた実装内において有意義ではなく、許容されるモードの数が制限されることが好ましい。強調すべきことは、実施ユニットが2つの場合(比較モードのみが存在する)、全情報を1つの論理ビットに凝縮できることである。
パフォーマンスモードから比較モードへの切替えは、一般的な場合において、パフォーマンスモードでは異なる出力へコピーされる実施ユニットが、比較モードでは同じ出力へコピーされることによって特徴づけられる。これは、実施ユニットの部分システムが存在することによって実現されることが好ましい。その部分システムにおいて、パフォーマンスモードでは部分システム内で考慮すべきすべての入力信号N14iが直接関連する出力信号N16iへ接続され、比較モードではすべてが1つの出力へコピーされる。代替的に、組合せを変更することによって、この切替えを実現することもできる。これは、本発明に与えられた特徴において、許容されるモードの量をこのように制限することができるにもかかわらず、一般的な場合において、パフォーマンスモードと比較モードとを話題にはできないことによって表される。しかし常に、パフォーマンスモードから比較モード(およびその逆)への切替えについては、話題にすることができる。
ソフトウェアを介して制御されることによって、これらのモード間で駆動するモードに動的に切り替えることができる。このとき、特殊な切替え機能、特殊なインストラクションシーケンス、明確に特徴づけられたインストラクションの実施を介して、あるいはマルチプロセッサシステムの実施ユニットの少なくとも1つによる所定のアドレスへのアクセスによって、切替えが作動される。
図2には、本発明に基づく切替えおよび比較ユニットM100を有する、詳細に記載された2プロセッサシステムまたは2μCシステムが示されている。同システムにおいて、選択的に、記載された種々の信号を省略することもできる。このシステムは、2つの処理ユニット(M110、M111)と切替えおよび比較ユニットM100とからなる。データ信号(M120、M121)およびアドレス/制御信号(M130、M131)が各処理ユニットから切替えユニットへ入力され、選択的に、データ(M150、M151)および制御信号(M140、M141)が切替えユニットから各処理ユニットに返される。
ユニットM100は、データ(M160、M161)とステータス情報M169とを出力し、例えばデータ(M170、M171)と制御信号M179のような信号を受信し、また、これらの信号を処理ユニットへ案内することもできる。M170、M171およびM179を介して、選択的に、ユニットM100の駆動モードを処理ユニットに関係なく調節することもできる;同様に、プロセッサは、ユニットM100内で出力M120、M121(例えばデータバス)およびアドレス/制御信号M130、M131(例えばライト(Write))を介して駆動モード(例えばパフォーマンスモード(比較なし)または比較モード(信号M120、M121および/または、例えば周辺ユニットからユニットM100に入力される信号M170、M171を比較))を調節することができる。
パフォーマンスモードにおいて、出力M120、M121は、場合によっては制御信号と組み合わされて、出力M160、M161へさらに出力されて、逆に入力M170、M171がM150、M151へ出力される。比較モードにおいては出力が比較されて、好ましくはエラーのない場合においてのみM160、M161へ出力される。この場合、選択的に2つの出力あるいは2つの出力のうち一方のみが利用される。同様に、処理ユニットへ入力される入力データM170、M171の検査も可能である。比較モードにおいて、信号の比較にエラーがある場合にエラー信号が生成されて、−例えばダブルレール信号を用いて、エラーに対して安全に−外部へ伝達される(ステータス情報M169の構成部分)。
ステータスM169には、駆動モードまたは実施ユニットの信号の時間的オフセットに関する情報も含めることができる。予め設定可能な(プログラミング可能な)タイムインターバル内に処理ユニットの比較データが準備されない場合にも、エラー信号が能動化される。エラーの場合には、出力M160、M161を遮断することができる(fail silent行動)。これは、デジタル信号についても、アナログ信号についても言える。しかし、この出力ドライバー段は、後からエラーを発見する可能性を有しており、処理ユニットに遅延されない(中間記憶されない)出力信号M120、M121を出力することもできる。これは、安全上重要なシステムによって、エラー許容時間を上回らない間、すなわち(慣性的な)システムがエラーに反応して取り返しがつかなくなる前に、つまりまだ補正の可能性がある間、許容される。
UVEへ入力されない出力信号M180、M181および処理ユニットの内部の信号も、少なくともその計算された値に関し、この値の比較のために出力M120、M121へ出力することによって比較することができる。M100に入力されない入力信号M190、M191についても、これと同様に実施することができる。
ユニットM100を監視するために、選択されたあるいはすべての信号M160、M161について、それらをM170、M171あるいはM190、M191を介して読み直すことが可能である。したがって比較モードにおいて、ユニットM100からのエラーのある信号の検出を保証することができる。(オア結合において)M100、M110、M111がアクセスするパスのいずれかの適切な遮断によって、システム全体のフェイルサイレンス行動(fail silent行動)を形成することができる。
図3に、図2に基づく切替えおよび比較ユニットM100の可能な実装を詳細に示す。ユニットM100は、モード(パフォーマンス/比較)を表す少なくとも1つのビットを有するコントロールレジスタM200と、比較モードにおけるエラー状態を表す少なくとも1つのビットを有するステータスレジスタM220を有している。ウェイト信号およびインターラプト信号は、それぞれ2つの処理ユニットについて、コントロールレジスタ内の他のビットによって制御される。その場合に、場合によっては、例えば同期目的のため、駆動モード切替えの準備のため、およびエラー処理のためのように、種々のインターラプトの間で区別される。
選択的に、例えば、内部または外部のウォッチドッグ(Watchdog;監視機構)を駆動するために処理ユニット間で最大限許容される時間差(クロック周期数)を有するM240、および例えばデータレジスタのオーバーフローを阻止するために時間差値(クロック周期数)を有し、この時間差値から最速のプロセッサをウェイト信号またはインターラプト信号を用いて時々停止または遅延させるM241のような、他のコントロールレジスタも設けられる。
ステータスレジスタM220内には、エラービットの他に、処理ユニット間のクロックオフセットの現在の大きさも記憶される。このため、例えば、(アドレスおよび制御信号、例えば所定のアドレス領域を介して)特別な特徴を有するデータ値が最初に準備されたとき、常に少なくとも1つのタイマーM230が処理ユニットによって始動され、該当するデータ値が第2の処理ユニットによって準備されたとき、常にタイマーの値がステータスレジスタへ転送される。より好ましくは、タイマーは、プログラムシーケンスが異なってもWCET(worst case execution time)にしたがって保証され、すべての処理ユニットがデータを供給しなければならないように調節される。タイマーが予め定められた値を上回った場合に、エラー信号が出力される。
処理ユニットの出力M120、M121は、デジタルのデータであって、M100内で特に比較モードのため、クロックが正確でない限りにおいてはバッファメモリM250、M251内に記憶される。このメモリは、FIFOとして形成することが好ましい。このメモリが1(レジスタ)の深度しか持たない場合には、データ損失を回避するために、例えばウェイト信号によって、比較が行われるまで他の値の出力が遅延される。
さらに、入力メモリM250、M251、ダイレクト入力M120、M121あるいはM170、M171からのデジタルデータを比較する、比較ユニットM210が設けられている。この比較ユニットは、例えばメモリユニットM250、M251内でシリアルデータを受信してパラレルデータに変換することができ、その後それがM210内で比較される場合にシリアルのデジタルデータ(例えばPMW信号)も互いに比較することができる。同様に、非同期のデジタル入力信号M170、M171を付加的なメモリユニットM270、M271を介して同期させることができる。これらも、入力信号120、121の場合と同様に、好ましくはFIFO内に一時的にバッファされる。
パフォーマンスモードと比較モードの間の切替えは、コントロールレジスタ内のモードビットのセットまたはリセットによって行われる。これにより、例えば2つの処理ユニット内に、それに応じたインターラプトがもたらされる。比較自体は、準備されたデータM120、M121とそれに属するアドレスおよび制御信号M130、M131によって促される。このとき、M120とM130あるいはM121とM131からなる所定の信号が、対応付けられたデータの比較を行うべきかを表す識別子として機能する。
これが、図1の単純な切替えに対する他の実施形態である。ここでは、比較モードへ移行する場合にインターラプトルーチンを用いて種々の前準備が行われることが好ましい。これにより、2つの処理ユニットに対して同一の初期条件を形成することができる。処理ユニットのこの準備ができている場合に、この処理ユニットによってプロセッサ固有のレディビット(Ready−Bit)がコントロールレジスタ内にセットされる。そして、処理ユニットは、他の処理ユニットからその準備が完了したことをレディビットによって通知するまで(図6のコントロールレジスタの説明も参照)待機状態となる。
この比較ユニット内で、同様にアナログデータに適した特殊なアナログ比較ユニットM211(analog compare unit)内でアナログデータを相互に比較することができる。しかしこれは、アナログ信号の出力が互いに対して十分に同期して行われるか、またはアナログ比較ユニット内に実装されているADCによってデジタル化されたデータがアナログ比較ユニット内に記憶される(これについては、図12から14の他の形態も参照)ことを前提としている。同期化は、比較ユニットのデジタル出力(データ、アドレスおよび制御信号)を上述したように互いに比較して、速い処理ユニットを待機させることによって実現することができる。この目的のため、アナログ信号のソースとして処理ユニット内で処理されるデジタル信号も(これらの信号はその他において外部では必要とされないが)、出力M120、M121を介してユニットM100へ供給することができる。
アナログ信号の比較に加えての、この冗長な比較により、計算内のエラーを早い時期に認識することができ、さらに処理ユニットの同期化を容易にすることができる。アナログ信号の比較により、処理ユニットのDAC(digital to analog converter)のための付加的なエラーを認識することができる。DCSLアーキテクチャの他の構造においては、このような可能性は与えられていない。
周辺ユニットからのアナログ入力についても、比較することができる。特に、周辺ユニットからのアナログ入力が同じシステムパラメータの冗長なセンサ信号である場合には、付加的な同期化措置は必要とされず、場合によっては、センサ信号の有効性を表示する信号のみを必要とする。アナログ信号の比較を実現することについて、さらに詳細に示す。
図4は、少なくともn+1の処理ユニットを有するマルチプロセッサシステムを示しており、これらの各コンポーネントはここでも複数の部分処理ユニット(適当な付加コンポーネントを備えた、CPU、ALU、DPS)からなることができる。これらの処理ユニットの信号は、図2に示す2システムと同様、切替えおよび比較ユニットと結合される。すなわち、図4におけるすべての信号とコンポーネントは、図2の対応するコンポーネントおよび信号と内容的に同一の意味を有する。
切替えおよび比較ユニットM300は、マルチプロセッサシステム内で、パフォーマンスモード(すべての処理ユニットが異なるタスクを処理する)、種々の比較モード(2以上の処理ユニットのデータが比較され、ずれている場合にエラーが通知される)および種々の投票モード(異なるように設定可能なアルゴリズムにしたがって偏差がある場合に多数決する)の間で区別することができる。このとき、各処理ユニットについて、どのモードで作業しているか、および他のどの処理ユニットとこのモード内で協働する可能性があるか、をそれぞれ決定することができる。次に、切替えがどのようにして正確に行われるかを、図6に示すコントロールレジスタの説明において、さらに説明する。
図5は、n+1の処理ユニットを有するマルチプロセッサシステムのための切替えユニットの可能な実装を示している。各処理ユニットについて、切替えおよび比較モジュールの制御ユニット内に少なくとも1つのコントロールレジスタM44iが設けられている。図6にコントロールレジスタの好ましいセットを詳細に示すとともに、説明する。ここで、M44iは、コントロールレジスタCiに相当する。
コントロールレジスタについて、種々の実施形態が考えられる。適当なビットコンビネーションを介して、エラー認識パターンを使用すべきか、エラー許容パターンを使用すべきかを記述することができる。それぞれユニットM300にかける手間とコストに応じて、さらに、どのタイプのエラー許容パターン(3から2、中央値、4から2、4から3、FTA、FTM…)を使用するかについても示すことができる。さらに、どの出力をスルー接続するかについても構成可能に形成することができる。どのコンポーネントがどのデータについてこのコンフィグレーションに影響を有することができるかにしたがって、実施形態を形成することもできる。
関与する処理ユニットの出力信号は、切替えユニット内で互いに比較される。信号は必ずしも正確にクロック処理する必要がないので、データの一時記憶が必要である。このとき、種々の処理ユニットから切替えユニットへ大きい時間差をもって与えられるデータを、切替えユニット内で比較することもできる。中間メモリ(例えばFIFO(first in-first out)メモリとして形成あるいは他のバッファ形式)を使用することによって、他の処理ユニットがまだデータを準備できない間に、まず、1つの処理ユニットから複数のデータを受信することもできる。この場合、FIFOメモリの充填状態を、2つの処理ユニットの同期性の尺度とする。所定の予め設定可能な充填状態を上回った場合に、処理の進行が遅い処理ユニットを待つために、最も処理が進行している処理ユニットをウェイト信号あるいは適当なインターラプトルーチンによって時々停止する。このとき監視は、処理ユニットに提供可能なすべての外部の信号にも広げるべきである;この信号には、アナログ信号またはPWM信号も含まれる。このため、切替えユニット内に、この種の信号の比較を許容する構造が設けられる。付加的に、比較すべきデータ間の最大の時間偏差を予め設定し、少なくとも1つのタイマーによって監視してもよい。
一般的に、2より多い処理ユニットを共通の切替えユニットによって互いに接続させるには、各処理ユニットのために、あるいは全処理ユニットのために、コントロールレジスタが必要である。図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)。このため、各グループの処理ユニットについて、すでに図5の説明で列挙されているように、投票あるいはまた過半数比較の特殊な種類を定めることができる。一般的に、UVEの出力kから投票結果を出力させる場合には、比較すべき/投票すべき処理ユニットi(コントロールレジスタCk内)のためのすべてのビットB50ikがセットされなければならない。他の出力へのパラレルな出力も可能である。
コントロールレジスタiのB50iiにおける1(0≦i≦n)は、比較ユニットの出力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のセットをもたらす。関与する処理ユニットのすべてのウェイトビットがセットされている場合には、それらが切替えおよび比較ユニットによって同時にリセットされる。その後、処理ユニットにより、監視すべきプログラム部分の処理が開始される。好ましい実施形態においては、ロック(HWまたはSW)によって、セットされたビットB514iを有するコントロールレジスタCiへの書込みが阻止される。これは有意義な方法であり、処理の間比較器のコンフィグレーションの変更ができないようになる。コントロールレジスタCi内の変更は、ビットB514iのリセット後に初めて可能になる。このリセットは、ノーマルモード(パラレルな作業方法)へ移行するために、すべての関与する処理ユニットのコントロールレジスタ内にビットB510xをセットすることによって、該当する処理ユニット内にインターラプトをもたらすことができる。
すべてのコントロールレジスタの相互一貫性は、ユーザー設定に基づいて監視されており、エラーの場合には、ステータス情報の構成部分であるエラー信号が生成される。すなわち、例えば、1つの処理ユニットが複数の独立した比較または投票プロセスのために使用されることが生じてはならない。この場合には同期化が保証されないからである。しかし、データ信号を出力せず、等しくない場合にエラー信号を発生させるためだけに、複数の処理ユニットを比較することも考えられる。
他の実施形態においては、比較または投票に関与する処理ユニットの複数あるいはすべてのコントロールレジスタ内の入力が同様に行われる。すなわち、これらの処理ユニットの該当するビットが、場合によっては出力を制御する専用のビットiを除いて同種にセットされる。
図7には、中央投票のための投票ユニットQ100が示されている。投票は、適切なハードウェアによっても、ソフトウェア的に実施することもできる。このため、投票アルゴリズム(例えば正確なビット投票)が予め設定される。この場合、投票ユニットQ100は、複数の信号Q110、Q111、Q112を有しており、これらの信号から投票(例えばnからm選択)によって生じる出力信号Q120を形成する。
比較する際にエラーが発生した場合に、該当するコントロールレジスタ内にエラービットがセットされる。投票の際には、該当する処理ユニットのデータは無視される;最も単純な比較においては出力が遮断される。
プログラミングされた時間の経過前までに準備が間に合わなかったすべてのデータは、エラーと同様に処理される。エラービットのリセットは、システムにしたがって行われ、場合によっては該当する処理ユニットの再統合を可能にする。
処理ユニットおよび/または投票者が空間的に集中して配置されていない場合は、図8に示すように適切なバスシステムと組み合わせて分散させた投票も可能である。図8において、分散された投票ユニットQ200は、制御ユニットQ210によって管理される。投票ユニットはバスシステムQ221、Q222を介して結合されており、これらのバスシステムを介してデータを入手し、それをまたバスシステムへ出力する。
アクティブな出力ビットを有するコントロールレジスタ内の比較または投票ビットのリセットは、関与する処理ユニット内にインターラプトをもたらし、これにより、これらの処理ユニットは再びパラレルな作業方法に戻される。その場合に各処理ユニットは、別々に管理される、異なるジャンプインアドレスを有することができる。この場合も、プログラム処理は同一のプログラムメモリから行うことができる。ただし、アクセスは別であって、通常異なるアドレスで行われる。パラレルなモードと比較して安全上重要な部分が少ない限りは、二重にされた安全部分を有する専用のプログラムメモリについて、場合によっては複雑さが少ないかが比較される。データメモリも、パフォーマンスモードにおいて共通に利用することができる。このときアクセスは、例えばAHB/ABPバスを用いて順次行われる。
特殊性として、さらに、システムによるエラービットの評価の必要性について述べる。エラーの場合においては、安全な遮断を保証するために、安全上重要な信号は適切な形式で冗長に実現されなければならない(例えば2から1コード)。
図1、2、3、4および5に示す従来のUVEにおいては、まず、処理ユニットは互いに一定の位相関係にある、同一または互いに導き出されたクロックで働くと仮定された。処理装置のために、位相関係が変化する、異なる発振器およびジェネレータのクロックも使用する場合には、それによって発生される信号を、この信号がクロックドメインを変化させる場合に同期させなければならない。このため、同期化素子M800が、図9に示されている。同期化装置M800は、特にデジタルデータを安全に格納し、かつ比較するために必要であって、信号フロー内の任意の箇所に設けることができる。これは、一方では、データを準備した処理ユニットのクロックM830でデータM820を格納することを保証する。このときの読み取りには、データM840を処理したクロックが利用される。このような同期化段M800は、複数のデータの格納を可能とするために、FIFOとして形成することができる(図9参照)。一般的に、データの同期化だけでは十分ではなく、データの準備信号も受信クロックによって同期化される。
このため、さらに、要請信号M850と受領信号M880により引渡しを保証する、ハンドシェークインターフェイス(Handshake−Interface)が必要である(図10)。このようなインターフェイスは、あるクロックドメインから他のクロックドメインへのデータの安全な伝送を保証するために、クロックドメインが変化する場合に常に必要である。この場合に、書込みの際には、データM820が領域Q305からクロックM830でレジスタセルM800へ同期して提供され、かつ書込み要請信号M850がデータの準備を表示する。この書込み要請信号が領域Q306からクロックM860でメモリ素子M801へ引き渡されて、これが同期化された信号M870としてデータの準備を表示する。
これに続いてクロックM860の次のアクティブなクロック端で、同期化されたデータM840が引き渡されて、確認信号M880が返信される。この確認信号は、他のメモリ素子M801内でクロックM830によって信号M890に同期され、これによりデータの準備が終了する。その後、新しいデータを該当するレジスタ内へ書き込むことができる。このようなインターフェイスは従来技術として知られているが、特殊な実施形態においては、受領信号を待機する必要なしに、付加的なコード化によって特に高速に働くことができる。
特別な実施形態において、メモリ素子M800はFIFOメモリ(first-in, first-out)として形成されている。
図11から図14のアナログ信号を比較するための回路では、有意義な比較とするため、比較すべきアナログ信号を供給する処理ユニットが互いに同期化されていることを前提としている。同期化は、図1の該当する信号B40およびB41により実現可能である。
図11は、差動増幅を示している。この素子を用いて、2つの電圧を互いに比較することができる。B100は演算増幅器であって、その負の入力B101は信号B141が接続され、その信号は値Rinを有する抵抗B110を介して入力信号B111と接続されており、その入力信号に電圧値V1が印加されている。正の入力B102は信号B142と接続されており、その信号が値Rinを有する抵抗B120を介して入力B121と接続されており、その入力に電圧値V2が印加されている。演算増幅器の出力B103は出力信号B190と接続されており、その出力信号は電圧値Voutを有する。信号B190は、値Rfを有する抵抗B140を介して信号B141と接続されており、信号B142は値Rfを有する抵抗B130を介して信号B131と接続されており、その信号はアナログ基準点Vagndの電圧値を有している。出力電圧は、上記の電圧および抵抗値を用いて、以下の式に従って計算することができる:
Vout=Rf/Rin(V2−V1) ・・・(数式1)
Vout=Rf/Rin(V2−V1) ・・・(数式1)
差動増幅器がCMOSの場合に通常そうであるように、正の駆動電圧で駆動される場合には、アナロググラウンドVagndとして駆動電圧とデジタルグラウンドの間の電圧、通常平均の電位が選択される。2つのアナログ入力電圧V1とV2がわずかしか異なっていない場合には、出力電圧Voutはアナロググラウンドに対してわずかな差Vdiffのみを有する(正または負)。
2つの比較器を用いて、出力電圧がVagnd+Vdiffの上(図12)にあるか、あるいはVagnd−Vdiffの下にあるか、さらにアナログ基準点にあるか(図13)が調べられる。このとき、図12では、入力信号B221は値R1を有する抵抗B150を介して信号B242と接続されており、その信号が演算増幅器B200の正の入力B202と接続されている。さらに、信号B242が値R2を有する抵抗B160を介して信号B231と接続されており、その信号がデジタル基準電位Vdgndとして利用される。演算増幅器の負の入力B201は入力信号211と接続されており、それが基準電圧Vrefの電圧値を有する。演算増幅器B200の出力B203は出力信号B290と接続されており、それが電圧値Vobenを有する。
図13においても同様に、入力信号B321は値R3を有する抵抗B170を介して信号B342と接続されており、その信号が演算増幅器B300の負の入力B301と接続されている。この信号B342は、さらに、値R4を有する抵抗B180を介して信号B331に接続されており、その信号もデジタルの基準電位Vdgndを有する。演算増幅器B300の正の入力B302は入力信号B311と接続されており、その信号が基準電圧Vrefの電圧値を有する。演算増幅器B300の出力B303は出力信号B390と接続されており、それが電圧値Vuntenを有する。
これは、抵抗B150、B160、B170およびB180の抵抗値R1、R2、R3およびR4が、信号B211とB311に印加される固定の基準電圧Vrefに対して、以下のような関係にあることによって、達成される:
Vref=(Vagnd+Vdiff)*R2/(R1+R2) ・・・(数式2)
Vref=(Vagnd−Vdiff)*R4/(R3+R4) ・・・(数式3)
Vdiff=((V2max−V1min)*Rf/Rin)−Vagnd・・・(数式4)
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)が、互いに比較されるべき冗長なアナログ信号の互いに対する最大許容される電圧偏差である。
2つの信号B290またはB390における電圧値の一方(VobenまたはVunten)が正である場合に、アナログ信号の、許容されるより大きい偏差が存在する。したがって、このアナログ信号を供給するプロセッサが同期されている限りにおいて、エラーが存在する。このエラーは記憶されなければならず、場合によって出力信号をオフにする。同期性は、例えば該当する処理ユニットのコントロールレジスタ内でレディ信号がアクティブであり、あるいは該当するアナログ信号の所定の状態とそれに伴って比較すべき値を識別できるように示す、所定のデジタル信号がUVEへ送信された場合に与えられている。
図14にエラーを記憶する回路を示す。この回路において、2つの入力信号B390とB290がNOR回路(後段のインバータを有する論理的OR回路)を介して出力信号B411に結合される。この信号B411は、入力信号B421とNOR素子B420内で出力信号B421に結合される。信号B421はOR回路B430内で信号B401と信号B431とに結合され、この信号がメモリ素子(Dフリップフロップ)B400の入力信号として用いられる。素子B400の出力信号B401は、値1でエラーを表示する。DフリップフロップB400は、信号B390あるいはB290における2つの電圧値VuntenまたはVobenの一方が正であり、すなわちデジタルの信号として値highを有し、信号B241がアクティブでなく、かつリセット信号B402が印加されていない場合に、クロックB403で1を記憶する。エラーは、信号リセットが少なくとも一度アクティブになるまで記憶される。
図11から図13の回路を設計する場合、抵抗を互いにマッチングさせ、すなわちRfとRin、R1とR2およびR3とR3の抵抗比ができるだけ製造誤差によらず一定になるように注意すべきである。信号B421を用いて、回路がアクティブになるべきか、あるいは、比較を行うべきではない、処理ユニットの同期化を行うか、を制御することができる。信号B402は、その前のエラーをリセットして、新しい比較を可能にする。
図15は、ADCを示す。このADCは、例えば変換速度、精度、精細度、故障強さ、線形性および周波数スペクトル等の、それぞれすでにある要請に応じて、種々の既知の変換方法を用いて実現することができる。すなわち、例えば、逐次的な近似の原理を選択することができ、そこではアナログ信号がデジタルアナログ変換器(DAC)から生成された信号と比較器を用いて比較される。このとき、DACのデジタルの入力ビットが系統的にMSB(most significant bit−最上位のビット)からLSB(least
significant bit−最下位のビット)へ試験的にhighにセットされ、DACのアナログ出力信号がアナログ入力信号(変換すべき信号)よりも高い値を有する場合にリセットされる。
significant bit−最下位のビット)へ試験的にhighにセットされ、DACのアナログ出力信号がアナログ入力信号(変換すべき信号)よりも高い値を有する場合にリセットされる。
DACは、LSBからMSBへそのデジタルビットによって、抵抗または容量を重み付け1、2、4、8、16、…のように、次に高いビットのセットが常にその前の2倍の大きさの作用をアナログ値に与えるように制御する。すべてのビットが試験的にセットされて、場合によっては再びリセットされた後に、デジタルワードの値はデジタルで表現されたアナログ入力信号に相当する。より高い速度要請のために、連続的なデータフローにおいて連続的にアナログ信号を処理し、シリアルのデジタル信号を出力する変換器を使用することもでき、アナログデータフローはデジタル信号のシリアルのビット列により近似される。デジタルワードは、ここでは、シフトレジスタに記憶されているビット列によって表現される。しかし、このような変換器は、一定の値を処理することはできないので、変換期間内でアナログ信号が常に変化することを前提としている。
より低い速度要請のためには、例えば入力電圧または入力電流を用いてそれに応じた積分器へ接続されるコンデンサの一定の充電または放電をもたらす、計数原理に基づく変換器も利用することができる。そのために必要な時間が測定されて、基準電圧源あるいはそれに応じた基準電圧を用いて同じコンデンサ(積分器)を放電あるいは充電させるために逆方向に必要とされる時間に対する比が求められる。この単位時間がクロックで測定されて、必要とされるクロックの数がアナログ入力値の尺度となる。このような方法としては、例えばデュアルスロープ方法(dual slope)があり、同方法において第1の側面(slope)がアナログ値に応じた放電によって定められ、第2の側面は基準値に応じた再充電によって定められる(http://www.exstrom.com/journal/adc/dsadc.html参照)。
図15のADCB600は、通常、アナログ信号を準備したプロセッサの出力信号であるトリガー信号B602と、選択的に識別子B603によって制御される。この識別子は、複数のアナログの区別を可能にするために、準備されたアナログ信号の種類に関する情報を与える。トリガー信号B602によって、変換されたアナログ値がメモリ領域B640のレジスタB610へデジタル値として、選択的に、B620内に格納される識別子B603および場合によっては、メモリ630内に格納される付加的な信号B604(1であると、アナログ値の識別)と共に引き渡される。メモリ領域B640は、複数の値が格納され、最初に格納された値が最初に出力されるべき場合に、好ましくはFIFO(first-in, first-out)としても実現することができる。メモリ領域B640が、デジタル値にもデジタル変換されたアナログ値にも利用される場合には、好ましくはすべてのデジタル値は、A=1を有するデジタル化されたアナログ値(B630)と区別するために、B630に示すように、MSB箇所において1ビットA=0だけ補足される(図16および図17参照)。B602もB603も、プロセッサiのデジタル出力データOiの構成部分である。
図16に、格納されるデジタル化されたアナログ値が、メモリ領域にどのように格納されるかを示す。ここで、B710はデジタル化されたアナログ値自体であって、B720は付属の識別子、B730はアナログビットであって、この場合には1として格納される。図17には、同じメモリ領域に格納されるデジタル値の変形例を示す。B810内にはデジタル値自体が記憶され、B820にはそれに対して選択的に、そもそもデジタル値を比較すべきか否かについて情報を与える識別子、あるいはまた比較の他の条件を格納することができる。B830内には、それがデジタル値であることを特徴づけるために、値0が格納されている。
一時記憶されているデジタルおよびアナログ信号を比較するために、格納の順序と場合によってはAビット(B730あるいはB830)および識別子B720またはB820が、変換されたデジタル値B710あるいはデジタル値B810と組み合わせて調べられる。また、例えば異なるビット幅によって、アナログ信号とデジタル信号を別々のメモリ(2つのFIFO)に収容する可能性もある。その場合に比較は、事象制御されて行われる:プロセッサの値がUVEへ伝送された場合に常に、他の関与するプロセッサがこのような値をすでに準備しているかが調べられる。準備していない場合には、値が該当するFIFOまたはメモリに格納される。一方、準備されている場合には直接比較が実施され、ここでもFIFOをメモリとして用いることができる。比較は、例えば、関与するFIFOが空でない場合に常に終了される。関与するプロセッサあるいは処理ユニットが2つより多い場合に、投票によってすべての信号が分配を許容されるか(fail silent行動)または場合によってはエラー信号によってのみエラー状態が知らされるかが求められる。
Claims (16)
- 少なくとも2つの処理ユニットを有する計算機システムにおいて切り替えおよび信号の比較方法であって、
比較モードを第1の駆動モード、パフォーマンスモードを第2の駆動モードとして、少なくとも2つの前記駆動モードの間を切り替える切り替え手段と、比較手段とが設けられ、
処理ユニットの少なくとも2つのアナログ信号を、これらの信号に基づいて差が形成されるように比較することを特徴とする、計算機システムの切り替えおよび信号の比較方法。 - 前記アナログ信号は、予め設定可能な許容誤差範囲内で同期していることを特徴とする、請求項1に記載の方法。
- 少なくとも1つのアナログ信号を予め設定可能な時間の間処理ユニットから出力して前記2つのアナログ信号を比較のために同期させることを特徴とする、請求項1または2に記載の方法。
- アナログ信号を比較するために、第1の処理ユニットの第1のアナログ信号と第2の処理ユニットの第2のアナログ信号から差が形成されることを特徴とする、請求項1〜3のいずれかに記載の方法。
- 少なくとも1つの比較ユニットがアナログ信号の他に有効性情報を出力し、
前記有効性情報に基づいてのみアナログ信号を比較することを特徴とする、請求項1〜4のいずれかに記載の方法。 - 前記差は、予め設定可能な基準信号と比較されることを特徴とする、請求項1〜5のいずれかに記載の方法。
- 前記比較に基づいて、比較結果を表す信号が生成されることを特徴とする、請求項6に記載の方法。
- 前記比較に基づいて、エラー信号が生成されることを特徴とする、請求項6または7に記載の方法。
- 前記基準信号は、計算ユニットに対して外部のソースによって予め設定されることを特徴とする、請求項6〜8のいずれかに記載の方法。
- 少なくとも1つのアナログ信号は、デジタル変換され、予め設定可能な時間の間記憶されて、比較のために再びアナログ信号に逆変換されることを特徴とする、請求項1〜9のいずれかに記載の方法。
- 差比較手段は比較器として、特に差動増幅器として形成されていることを特徴とする、請求項1〜10のいずれかに記載の方法。
- 少なくとも2つの処理ユニットを有する計算機システムにおいて切り替えおよび信号の比較装置であって、
比較モードを第1の駆動モード、パフォーマンスモードを第2の駆動モードとして、少なくとも2つの前記駆動モードの間を切り替える切替え手段と、
比較手段と、
処理ユニットの少なくとも2つのアナログ信号がこれらの信号に基づいて差を形成するように、前記信号を比較する比較差比較手段と、
を備えることを特徴とする、計算機システムの切り替えおよび信号の比較装置。 - 前記アナログ信号は、予め設定可能な許容誤差範囲内で同期していることを特徴とする、請求項12に記載の装置。
- 基準信号源を備えることを特徴とする、請求項12または13のいずれかに記載の装置。
- 少なくとも1つの付加的な比較手段を備え、
前記比較手段は、前記差と前記基準信号源の基準信号とを比較することを特徴とする、請求項12〜14のいずれかに記載の装置。 - 付加的な比較手段は比較器として形成され、
前記比較器は、2つの抵抗と接続されており、これらの抵抗が基準信号のレベルに対して定められた関係にあることを特徴とする、請求項12〜15のいずれかに記載の装置。
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE200410051937 DE102004051937A1 (de) | 2004-10-25 | 2004-10-25 | Verfahren und Vorrichtung zur Synchronisierung in einem Mehrprozessorsystem |
DE200410051964 DE102004051964A1 (de) | 2004-10-25 | 2004-10-25 | Verfahren und Vorrichtung zur Überwachung einer Speichereinheit 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 |
DE200510037238 DE102005037238A1 (de) | 2005-08-08 | 2005-08-08 | Verfahren und Vorrichtung zur Umschaltung und zum Datenvergleich bei einem Rechnersystem mit wenigstens drei Verarbeitungseinheiten |
PCT/EP2005/055516 WO2006045788A1 (de) | 2004-10-25 | 2005-10-25 | Verfahren und vorrichtung zur modusumschaltung und zum signalvergleich bei einem rechnersystem mit wenigstens zwei verarbeitungseinheiten |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008518306A true JP2008518306A (ja) | 2008-05-29 |
Family
ID=35735373
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007537298A Pending JP2008518306A (ja) | 2004-10-25 | 2005-10-25 | 少なくとも2つの処理ユニットを有する計算機システムにおける切り替えおよび信号比較の方法および装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20080270746A1 (ja) |
EP (1) | EP1810148A1 (ja) |
JP (1) | JP2008518306A (ja) |
KR (1) | KR20070062565A (ja) |
WO (1) | WO2006045788A1 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010113388A (ja) * | 2008-11-04 | 2010-05-20 | Renesas Technology Corp | 処理結果を照合する比較器を有するマルチコアマイコン |
JP2019149158A (ja) * | 2018-02-26 | 2019-09-05 | エイアールエム リミテッド | 回路機器 |
WO2020162280A1 (ja) * | 2019-02-07 | 2020-08-13 | 日立オートモティブシステムズ株式会社 | 電子制御装置、制御方法 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102005037242A1 (de) * | 2004-10-25 | 2007-02-15 | Robert Bosch Gmbh | Verfahren und Vorrichtung zur Umschaltung und zum Signalvergleich bei einem Rechnersystem mit wenigstens zwei Verarbeitungseinheiten |
JP2008518301A (ja) * | 2004-10-25 | 2008-05-29 | ローベルト ボッシュ ゲゼルシャフト ミット ベシュレンクテル ハフツング | 少なくとも2つの実行ユニットを有する計算機システムで切替を行うための方法および装置 |
DE102006048169A1 (de) * | 2006-10-10 | 2008-04-17 | Robert Bosch Gmbh | Verfahren zur Überwachung einer Funktionsfähigkeit einer Steuerung |
JP5796311B2 (ja) | 2011-03-15 | 2015-10-21 | オムロン株式会社 | 制御装置およびシステムプログラム |
DE102013202253A1 (de) * | 2013-02-12 | 2014-08-14 | Paravan Gmbh | Schaltung zur Steuerung eines Beschleunigungs-, Brems- und Lenksystems eines Fahrzeugs |
DE102021206133A1 (de) * | 2021-06-16 | 2022-12-22 | Robert Bosch Gesellschaft mit beschränkter Haftung | Steuerungssystem für mindestens ein empfangendes Gerät in sicherheitskritischen Anwendungen |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3688099A (en) * | 1971-04-28 | 1972-08-29 | Lear Siegler Inc | Automatic control system with a digital computer |
US4356546A (en) * | 1980-02-05 | 1982-10-26 | The Bendix Corporation | Fault-tolerant multi-computer system |
US4672529A (en) * | 1984-10-26 | 1987-06-09 | Autech Partners Ltd. | Self contained data acquisition apparatus and system |
US4868826A (en) * | 1987-08-31 | 1989-09-19 | Triplex | Fault-tolerant output circuits |
US4907228A (en) * | 1987-09-04 | 1990-03-06 | Digital Equipment Corporation | Dual-rail processor with error checking at single rail interfaces |
US5428769A (en) * | 1992-03-31 | 1995-06-27 | The Dow Chemical Company | Process control interface system having triply redundant remote field units |
US5583757A (en) * | 1992-08-04 | 1996-12-10 | The Dow Chemical Company | Method of input signal resolution for actively redundant process control computers |
EP1291740B1 (en) * | 1996-10-29 | 2007-04-04 | Hitachi, Ltd. | Redundant information processing system |
JP3321556B2 (ja) * | 1997-12-05 | 2002-09-03 | 株式会社日立製作所 | 縮退制御方法、多重化制御装置 |
EP1157324A4 (en) * | 1998-12-18 | 2009-06-17 | Triconex Corp | PROCESS AND DEVICE FOR PROCESSING CONTROL USING A MULTIPLE REDUNDANT PROCESS CONTROL SYSTEM |
DE10136335B4 (de) * | 2001-07-26 | 2007-03-22 | Infineon Technologies Ag | Prozessor mit mehreren Rechenwerken |
-
2005
- 2005-10-25 KR KR1020077008951A patent/KR20070062565A/ko not_active Application Discontinuation
- 2005-10-25 EP EP05797174A patent/EP1810148A1/de not_active Ceased
- 2005-10-25 WO PCT/EP2005/055516 patent/WO2006045788A1/de active Application Filing
- 2005-10-25 JP JP2007537298A patent/JP2008518306A/ja active Pending
- 2005-10-25 US US11/666,175 patent/US20080270746A1/en not_active Abandoned
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010113388A (ja) * | 2008-11-04 | 2010-05-20 | Renesas Technology Corp | 処理結果を照合する比較器を有するマルチコアマイコン |
US8839029B2 (en) | 2008-11-04 | 2014-09-16 | Renesas Electronics Corporation | Multi-core microcontroller having comparator for checking processing results |
JP2019149158A (ja) * | 2018-02-26 | 2019-09-05 | エイアールエム リミテッド | 回路機器 |
JP7343281B2 (ja) | 2018-02-26 | 2023-09-12 | アーム・リミテッド | 回路機器 |
WO2020162280A1 (ja) * | 2019-02-07 | 2020-08-13 | 日立オートモティブシステムズ株式会社 | 電子制御装置、制御方法 |
JP2020128117A (ja) * | 2019-02-07 | 2020-08-27 | 日立オートモティブシステムズ株式会社 | 電子制御装置、制御方法 |
JP7221070B2 (ja) | 2019-02-07 | 2023-02-13 | 日立Astemo株式会社 | 電子制御装置、制御方法 |
US11789730B2 (en) | 2019-02-07 | 2023-10-17 | Hitachi Astemo, Ltd. | Electronic control device and control method |
Also Published As
Publication number | Publication date |
---|---|
EP1810148A1 (de) | 2007-07-25 |
KR20070062565A (ko) | 2007-06-15 |
US20080270746A1 (en) | 2008-10-30 |
WO2006045788A1 (de) | 2006-05-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4669007B2 (ja) | 少なくとも2つの処理ユニットを有する計算機システムにおいて切替及びデータを比較する方法及び装置 | |
JP2008518304A (ja) | 少なくとも3つの処理ユニットを有する計算機システムにおけるモード切替及びデータ比較方法および装置 | |
JP2008518306A (ja) | 少なくとも2つの処理ユニットを有する計算機システムにおける切り替えおよび信号比較の方法および装置 | |
JP2008518307A (ja) | 少なくとも2つの処理ユニットを有する計算機システムにおいて切替える方法及び装置 | |
JP2008518341A (ja) | 少なくとも2つの処理ユニットを有する計算機システムにおいて切り替え、かつ信号を比較する方法および装置 | |
JP2008518305A (ja) | 少なくとも2つの処理ユニットを有する計算機システムにおける駆動モードの切り替え方法、及び駆動モード切り替え装置 | |
US6985547B2 (en) | System and method of digital system performance enhancement | |
JP2004038954A (ja) | マイクロプロセッサのエラーをテストする方法および装置 | |
CN101048760A (zh) | 在具有至少两个处理单元的计算机系统中进行模式转换和信号比较的方法和设备 | |
Panhofer et al. | Fault tolerant four-state logic by using self-healing cells | |
DE102005037239A1 (de) | Verfahren und Vorrichtung zur Umschaltung bei einem Rechnersystem mit wenigstens zwei Verarbeitungseinheiten | |
JP3137034B2 (ja) | 故障検証を容易にするアドレストラップ比較回路 | |
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 | |
Garcia et al. | RAPTOR-Design: Refactorable Architecture Processor to Optimize Recurrent Design | |
US20100268923A1 (en) | Method and device for controlling a computer system having at least two groups of internal states | |
JPH08139576A (ja) | 接点雑音除去回路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090818 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20100202 |