JP2008518307A - 少なくとも2つの処理ユニットを有する計算機システムにおいて切替える方法及び装置 - Google Patents
少なくとも2つの処理ユニットを有する計算機システムにおいて切替える方法及び装置 Download PDFInfo
- Publication number
- JP2008518307A JP2008518307A JP2007537299A JP2007537299A JP2008518307A JP 2008518307 A JP2008518307 A JP 2008518307A JP 2007537299 A JP2007537299 A JP 2007537299A JP 2007537299 A JP2007537299 A JP 2007537299A JP 2008518307 A JP2008518307 A JP 2008518307A
- Authority
- JP
- Japan
- Prior art keywords
- information
- operation mode
- comparison
- computer system
- signal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000012545 processing Methods 0.000 title claims abstract description 162
- 238000000034 method Methods 0.000 title claims abstract description 41
- 230000015654 memory Effects 0.000 claims abstract description 68
- 230000008569 process Effects 0.000 claims description 14
- 238000012544 monitoring process Methods 0.000 claims description 9
- 238000001514 detection method Methods 0.000 claims description 4
- 230000001360 synchronised effect Effects 0.000 description 13
- 230000006870 function Effects 0.000 description 7
- 238000002360 preparation method Methods 0.000 description 6
- 230000006399 behavior Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000012935 Averaging Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 239000003990 capacitor Substances 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000003860 storage Methods 0.000 description 2
- 241000761456 Nops Species 0.000 description 1
- 230000003321 amplification Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 108010020615 nociceptin receptor Proteins 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 230000006833 reintegration Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
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/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
- 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/1687—Temporal synchronisation or re-synchronisation of redundant processing components at event level, e.g. by interrupt or result of polling
-
- 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
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30021—Compare instructions, e.g. Greater-Than, Equal-To, MINMAX
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30181—Instruction operation extension or modification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30181—Instruction operation extension or modification
- G06F9/30189—Instruction operation extension or modification according to execution mode, e.g. mode flag
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3851—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3867—Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
- G06F9/3869—Implementation aspects, e.g. pipeline latches; pipeline synchronisation and clocking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
-
- 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
- G06F11/184—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 where the redundant components implement processing functionality
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Multimedia (AREA)
- Computer Hardware Design (AREA)
- Hardware Redundancy (AREA)
Abstract
少なくとも2つの処理ユニットと、比較モードである第1の動作モードとパフォーマンスモードである第2の動作モードとの少なくとも2つの動作モードの間で動作モードを切替え可能な切替手段と、前記比較モードにおいて少なくとも1つの第1の情報と第2の情報とを比較可能な比較手段と、を備えた計算機システムの動作モード切替方法において、前記比較手段と前記切替手段とは、構造的に前記処理ユニットの外部に設けられ、その際に、少なくとも1つのバッファメモリを備え、前記比較モードにおいて比較される前記情報の少なくとも1つは、前記第1の情報と前記第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つの動作モードの間で動作モードを切替え可能な切替手段と、前記比較モードにおいて少なくとも1つの第1の情報と第2の情報とを比較可能な比較手段と、を備えた計算機システムの動作モード切替方法において、前記比較手段と前記切替手段とは、構造的に前記処理ユニットの外部に設けられ、その際に、少なくとも1つのバッファメモリを備え、前記比較モードにおいて比較される前記情報の少なくとも1つは、前記第1の情報と前記第2の情報とを直接相互に比較できるように、予め定めることのできる時間、及び/又は、求めることのできる時間の間、前記バッファメモリ内に一時記憶されることを特徴とする、計算機システムの動作モード切替方法が提供される。
好ましくは、前記情報の少なくとも1つが一時記憶される前記予め定めることのできる時間、及び/又は、前記求めることのできる時間から、非同期情報、特にタイムエラーを求めることができる。
好ましくは、前記バッファメモリにおいて、前記バッファメモリ内に記憶された情報の数を表すメモリの充填状態を求めることができる。
好ましくは、時間検出手段、特に計数素子を備え、前記タイムエラーは、前記時間検出手段、特に計数素子により、時間値が求められて、前記時間値が、予め定めることのできる最大の時間値と比較されることによって、求められる。
好ましくは、前記非同期情報は、前記求められた充填状態が、予め定めることのできる最大の充填状態と比較されることによって、求められる。
好ましくは、前記充填状態に従って、同期化情報が出力される。
好ましくは、前記求められた非同期情報に従って、同期化情報が出力される。
好ましくは、前記非同期情報は、監視手段、特にウォッチドッグ内で評価される。
好ましくは、前記同期化情報は、遅延信号であって、前記遅延信号によって少なくとも1つの前記処理ユニットが、少なくとも時々停止される。
好ましくは、次の出力データが比較されるべきであるという設定が、比較信号によって行われる。
好ましくは、前記比較されるべき情報に識別子が対応づけられ、前記識別子によって比較が作動される
また、少なくとも2つの処理ユニットと、比較モードである第1の動作モードとパフォーマンスモードである第2の動作モードとの少なくとも2つの動作モードの間で動作モードを切替え可能な切替手段と、前記比較モードにおいて少なくとも1つの第1の情報と第2の情報とを比較可能な比較手段と、を備えた計算機システムの動作モード切替装置において、前記比較手段と前記切替手段とは、構造的に前記処理ユニットの外部に設けられて、その際に、少なくとも1つのバッファメモリを備え、前記バッファメモリは、前記第1の情報と前記第2の情報とを直接相互に比較できるように、予め定めることのできる時間、及び/又は、求めることのできる時間の間、前記比較モードにおいて比較すべき前記情報の少なくとも1つを一時記憶するように形成されることを特徴とする、計算機システムの動作モード切替装置が提供される
好ましくは、前記バッファメモリは、前記処理ユニット毎に設けられる。
好ましくは、前記バッファメモリは、FIFOメモリである。
好ましくは、前記バッファメモリは、前記各処理ユニットに対応づけられる。
好ましくは、前記バッファメモリ、特に前記FIFOメモリは、前記各処理ユニットに対応づけられる
好ましくは、手段、特に計数素子を備え、前記手段は、前記情報の少なくとも1つが一時記憶される前記予め定めることのできる時間、及び/又は、前記求めることのできる時間から、非同期情報、特にタイムエラーを求めるように形成される。
好ましくは、前記バッファメモリにおいて、前記バッファメモリ内に記憶された情報の数又は量を表すメモリの充填状態を求めるように形成された手段を備える。
好ましくは、前記手段は、前記求められた充填状態を、予め定めることのできる最大の充填状態と比較することによって、前記非同期情報を求めるように形成される。
好ましくは、同期化手段を備え、前記同期化手段は、前記非同期情報に従って同期化情報を発生するように形成される。
好ましくは、前記非同期情報を処理するように形成された監視手段を備える。
好ましくは、前記監視手段は、前記計算機システムに対する外部の監視手段、特にウォッチドッグである。
他の利点と好ましい形態が、請求項の特徴及び明細書から明らかにされる。
実施ユニット又は処理ユニットは、以下において、プロセッサ/コア/CPUとも、FPU(Floating Point Unit)、DPS(Digitaler Signalprozessor)、コプロセッサ又はALU(Arithmetic logical Unit)とも称することができる。
2つ又はそれより多い処理ユニットを有するシステムが、考察される。原則的に、安全上重要なシステム内で、種々の処理ユニットにできるだけ種々の課題を与えることによって、能力を向上させるために、この種のリソースを使用する可能性がある。代替的に、処理ユニットに同一の課題を与えて、結果が等しくない場合にエラーが認識されることにより、リソースの幾つかを互いに対して冗長に使用することもできる。
それぞれ幾つの処理ユニットがあるかに従って、複数のモードが考えられる。2システムにおいては、上述したように、「比較」と「パフォーマンス」との2つのモードが存在する。3システムにおいては、3つの処理ユニット全てが並列に作業する純粋なパフォーマンスモードと、3つの処理ユニット全てが冗長に計算しかつ比較される純粋な比較モードの他に、3−2投票モードも実現され、その中で3つの処理ユニットの全ては、冗長に計算し、かつ多数決が行われる。さらに、ミックスされたモードも実現され、そのモードにおいては、例えば、処理ユニットの2つが互いに対して冗長に計算を行い、結果が比較され、第3の処理ユニットは、他の並列の課題を処理する。4つ又はそれより多い処理ユニットシステムにおいては、明らかに、さらに他の組合わせが考えられる。
2つ又はそれより多い処理ユニットを有するシステムが、考察される。原則的に、安全上重要なシステム内で、種々の処理ユニットにできるだけ種々の課題を与えることによって、能力を向上させるために、この種のリソースを使用する可能性がある。代替的に、処理ユニットに同一の課題を与えて、結果が等しくない場合にエラーが認識されることにより、リソースの幾つかを互いに対して冗長に使用することもできる。
それぞれ幾つの処理ユニットがあるかに従って、複数のモードが考えられる。2システムにおいては、上述したように、「比較」と「パフォーマンス」との2つのモードが存在する。3システムにおいては、3つの処理ユニット全てが並列に作業する純粋なパフォーマンスモードと、3つの処理ユニット全てが冗長に計算しかつ比較される純粋な比較モードの他に、3−2投票モードも実現され、その中で3つの処理ユニットの全ては、冗長に計算し、かつ多数決が行われる。さらに、ミックスされたモードも実現され、そのモードにおいては、例えば、処理ユニットの2つが互いに対して冗長に計算を行い、結果が比較され、第3の処理ユニットは、他の並列の課題を処理する。4つ又はそれより多い処理ユニットシステムにおいては、明らかに、さらに他の組合わせが考えられる。
解決すべき課題は、(例えば同期化のために)これら処理ユニットのすでに存在する構造への介入を必要とすることなく、システム内で提供される処理ユニットを、動作させる際に、可変に使用できるようにすることである。特殊な形態においては、各処理ユニットは、専用のクロックで作業することができる。即ち、各処理ユニットは、比較の目的のための同じ課題の処理を、互いに対して非同期でも処理することができる。
普遍的であり広く使用できるIPが形成され、そのIPを用いることにより、前もって処理ユニットをオフすることなしに、任意の時点で動作モード(例えば、比較モード、パフォーマンスモード又は投票モード)の切替えを可能にし、かつ、場合によっては、互いに対して非同期のデータフローの比較又は投票を管理することによって、この課題は解決される。このIPは、チップとして形成することができ、又、1つ又は複数の処理ユニットと共にチップ上に集積することもできる。さらに、このチップが1片のシリコンからなることは、前提ではなく、これが別々のモジュールから実現されることも、全く可能である。
普遍的であり広く使用できるIPが形成され、そのIPを用いることにより、前もって処理ユニットをオフすることなしに、任意の時点で動作モード(例えば、比較モード、パフォーマンスモード又は投票モード)の切替えを可能にし、かつ、場合によっては、互いに対して非同期のデータフローの比較又は投票を管理することによって、この課題は解決される。このIPは、チップとして形成することができ、又、1つ又は複数の処理ユニットと共にチップ上に集積することもできる。さらに、このチップが1片のシリコンからなることは、前提ではなく、これが別々のモジュールから実現されることも、全く可能である。
異なる処理ユニット間の同期を保証するために、個々の処理ユニットの順次進行するプログラム処理を阻止する信号が必要である。そのために、通常、ウェイト(WAIT)信号が設けられている。実施ユニットがこのウェイト信号を使用しない場合に、実施ユニットは、インターラプトを介して同期させることもできる。そのために同期化信号(例えば図2のM140)は、ウェイト入力へ案内されずに、インターラプトへ印加される。このインターラプトは、ノーマルな作業方法を中断するために、処理プログラムに対して、そして、他のインターラプトに対しても、十分に高い優先順位を有していなければならない。付属のインターラプトルーチンは、中断されたプログラム内へ再びジャンプバックする前に、所定の数のNOP(データへの作用なしの空指令)のみを実施し、それによって処理プログラムのそれ以降の処理を遅延させる。場合によっては、ノーマルなプログラム処理をインターラプトによって損なわないようにするために、インターラプトルーチン内の最初と最後とにおいて、さらに通常のメモリ操作が行われなければならない。
このプロセスは、同期化が形成される(例えば、他の処理ユニットが予測される比較データを供給する)までの間、続行される。しかし、正確なクロック同期性と、特に他の処理ユニットとの同位相性とは、この方法によっては条件付きでしか保証できない。従って、同期化のためにインターラプト信号を利用する場合に、比較すべきデータを、それが比較される前に、UVE内に中間記憶することが、推奨される。
このプロセスは、同期化が形成される(例えば、他の処理ユニットが予測される比較データを供給する)までの間、続行される。しかし、正確なクロック同期性と、特に他の処理ユニットとの同位相性とは、この方法によっては条件付きでしか保証できない。従って、同期化のためにインターラプト信号を利用する場合に、比較すべきデータを、それが比較される前に、UVE内に中間記憶することが、推奨される。
本発明の利点は、経済的に提供可能な任意の標準構造を使用できることにある。というのは、付加的な信号を必要とせず(ハードウェア構造への介入なし)、かつ、これらのコンポーネントの任意の出力信号、例えば、直接アクターの動作に使用される任意の出力信号を監視することができるからである。これは、これまで従来技術に従って比較によって直接検査することができなかったDAC及びPWMのような変換器構造の検査も、含んでいる。
個々の課題又はSWタスクのための検査が必要とされない限りにおいて、様々なタスクが種々の処理ユニットに分配されることにより、パフォーマンスモードへの切替えも可能である。
他の利点は、比較モード又は投票モードにおいて、全てのデータを比較する必要がないことにある。比較すべきデータ、又は投票すべきデータのみが、切替及び比較ユニット内で互いに同期される。これらのデータの選択は、切替及び比較ユニットの所望の応答によって可変(プログラミング可能)であり、任意の処理ユニットアーキテクチャ及び適用に適合させることができる。それによって様々なμC又はソフトウェア部分の使用も、容易に可能である。というのは、有意義な方法で比較することのできる結果のみが、実際にも比較されるからである。
さらに、それによって(例えば外部の)メモリへのアクセスを監視することができ、又、外部のI/Oモジュールの動作のみを監視することができる。内部の信号は、切替えモジュールへのソフトウェア制御される付加的な出力を介して、外部のデータ及び/又はアドレスバス上で検査することができる。
比較操作のための全ての制御信号は、好ましくはプログラミング可能な切替及び投票ユニット内で生成され、比較もそこで行われる。出力が互いに比較されるべき処理ユニット(例えばプロセッサ)は、ソフトウェアエラーを認識するために、同一のプログラム、二重にされたプログラム(これが付加的に、メモリアクセスの際のエラーの認識を可能にする)、又は多様化されたプログラムを利用することができる。その場合に処理ユニットによって準備された全ての信号を互いに比較する必要はなく、識別子(アドレス信号又は制御信号)を用いて比較のために所定の信号を設けることも可能であり、又、このような所定の信号を設けないことも可能である。この識別子は、切替及び比較ユニット内で評価されて、それによって比較が制御される。
別体のタイマーが、予め定めることのできるリミットにわたって、時間行動における偏差を監視する。切替及び比較ユニットの幾つかのモジュール、又は全てのモジュールは、チップ上、共通のボード上に集積することができ、又、空間的に別々に収容することもできる。後者の場合には、データと制御信号とは、適当なバスシステムを介して互いに交換される。その場合にレジスタは、バスシステムを介して書き込まれ、その中に格納されたデータ及び/又はアドレス/制御信号を用いて、現場でプロセスを制御する。
個々の課題又はSWタスクのための検査が必要とされない限りにおいて、様々なタスクが種々の処理ユニットに分配されることにより、パフォーマンスモードへの切替えも可能である。
他の利点は、比較モード又は投票モードにおいて、全てのデータを比較する必要がないことにある。比較すべきデータ、又は投票すべきデータのみが、切替及び比較ユニット内で互いに同期される。これらのデータの選択は、切替及び比較ユニットの所望の応答によって可変(プログラミング可能)であり、任意の処理ユニットアーキテクチャ及び適用に適合させることができる。それによって様々なμC又はソフトウェア部分の使用も、容易に可能である。というのは、有意義な方法で比較することのできる結果のみが、実際にも比較されるからである。
さらに、それによって(例えば外部の)メモリへのアクセスを監視することができ、又、外部の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つの処理ユニットは、互いに独立して作業する。
切替えユニットは、少なくとも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)がどの程度の同期性を持たなければならないか、について区別することができる。可能な変形例は、クロック単位の同期性を特徴とし、すなわちデータの比較はクロックにおいて実施される。入力間の位相オフセットが固定されている場合に、該当する信号を例えば整数の、又は半分のクロック周期だけ遅延させる同期遅延素子が使用されることによって、軽い変形が生じる。この種の位相オフセットは、コモンコーズエラー、すなわち同時に複数の処理ユニットに作用する可能性のあるエラー、を回避するために有用である。従って、図1cにおいては、符合M5からなるコンポーネントに加えて、早い方の入力を位相オフセット分遅延させるコンポーネントM640が挿入されている。好ましくは、この遅延素子は、比較モードにおいてだけ使用するために、比較器内に収容されている。その代りに、又はそれに加えて、非同期性を同様に許容することができるようにするために、入力チェーン内に中間バッファを設けることができる。好ましくはこれは、FIFOメモリとして設計される。この種のバッファが存在する場合に、バッファの最大深度までは、非同期性も許容することができる。この場合においては、バッファがオーバーフローした場合にも、エラー信号が出力されなければならない。
さらに比較器内でどのように信号M520(又はM620)が生成されるかによって、実施形態を区別することができる。好ましい実施形態は、入力信号M510、M511(又はM610、M611)を出力へ与え、スイッチによって接続を中断可能にすることである。この変形例の特別な利点は、パフォーマンスモードと可能な種々の比較モードとの間で切替えるために、同一のスイッチを使用することができることである。代替的に、信号を、比較器内部の中間バッファから生成することもできる。
実施形態の最後のクラスは、比較器に幾つの入力が存在し、かつ比較器がどのように反応するか、において異なることができる。入力が3つの場合には、多数決、3つ全部の比較又は2つの信号だけの比較を行うことができる。入力が4つ又はそれより多い場合には、それに応じて多くの変形例が考えられる。この変形例は、好ましくはシステム全体の種々の動作モードと結合される。
実施形態の第2のクラスは、2つの入力M510、M511(又はM610、M611)がどの程度の同期性を持たなければならないか、について区別することができる。可能な変形例は、クロック単位の同期性を特徴とし、すなわちデータの比較はクロックにおいて実施される。入力間の位相オフセットが固定されている場合に、該当する信号を例えば整数の、又は半分のクロック周期だけ遅延させる同期遅延素子が使用されることによって、軽い変形が生じる。この種の位相オフセットは、コモンコーズエラー、すなわち同時に複数の処理ユニットに作用する可能性のあるエラー、を回避するために有用である。従って、図1cにおいては、符合M5からなるコンポーネントに加えて、早い方の入力を位相オフセット分遅延させるコンポーネント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つの異なる値が存在する場合に、エラーを検出することにあって、そのエラーを選択的に知らせることができる。
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つによる所定のアドレスへのアクセスによって、作動される。
第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(例えばライト)とを介して、動作モードを調節することができる−例えばパフォーマンスモード(比較なし)又は比較モード(信号M120、M121及び/又は、例えば周辺ユニットから入力される、信号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がアクセスする、適切な遮断パスによって、システム全体のフェイルサイレンス行動を形成することができる。
UVEへ案内されない、出力信号M180、M181と処理ユニットの内部の信号とも、少なくともその計算された値に関して、この値を比較のために出力M120、M121へ出力することによって、比較することができる。同様なことを、M100を介して入力されない、入力信号M190、M191についても、実施することができる。
ユニットM100を監視するために、選択された信号、又は全ての信号M160、M161について、それらをM170、M171又はM190、M191を介して読み直すことが可能である。従って比較モードにおいて、ユニットM100からの信号にあるエラーを検出することを、保証することができる。(オア結合において)M100、M110、M111がアクセスする、適切な遮断パスによって、システム全体のフェイルサイレンス行動を形成することができる。
図3には、図2に基づく切替え及び比較ユニット100の可能な実装が詳細に示されている。ユニットM100は、モード(パフォーマンス/比較)を表す少なくとも1つのビットを有するコントロールレジスタM200と、比較モードにおけるエラー状態を表す少なくとも1つのビットを有するステータスレジスタM220と、を有している。ウェイト及びインターラプト信号が、それぞれ2つの処理ユニットについて、コントロールレジスタ内の他のビットによって制御される。その場合に、場合によっては、例えば同期目的のため、動作モード切替えの準備のため、及びエラー処理のためのように、種々のインターラプトの間で区別される。
選択的に、例えば、内部又は外部のウォッチドッグを動作させるために処理ユニット間で許容される最大の時間差(クロック周期の数)を有するM240と、時間差値(例えばデータレジスタのオーバーフローを阻止するために、この時間差値によるウェイト信号又はインターラプト信号を用いて、最も高速のプロセッサを時々停止又は遅延させなければならない。)を有するM241のような、他のコントロールレジスタも設けられる。
ステータスレジスタM220内には、エラービットの他に、処理ユニット間のクロックオフセットが現在どのくらい大きいか、も記憶される。そのために、例えば、(アドレス及び制御信号、例えば所定のアドレス領域を介して)特別な特徴を有するデータ値が最初に準備された時に常に、少なくとも1つのタイマーM230が処理ユニットによって始動され、該当するデータ値が第2の処理ユニットによって準備された場合に常に、タイマーの値がステータスレジスタへ転送される。タイマーは、さらに、好ましくは、プログラムシーケンスが異なっても、WCET(worst cace 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つの処理ユニットのために同一の初期条件が形成される。処理ユニットがその用意ができている場合に、その処理ユニットによってプロセッサ固有のレディビットがコントロールレジスタ内にセットされて、処理ユニットは、他の処理ユニットがその準備完了をそのレディビットによって知らせるまで(図6のコントロールレジスタの説明も参照)、待機状態に留まる。
ステータスレジスタM220内には、エラービットの他に、処理ユニット間のクロックオフセットが現在どのくらい大きいか、も記憶される。そのために、例えば、(アドレス及び制御信号、例えば所定のアドレス領域を介して)特別な特徴を有するデータ値が最初に準備された時に常に、少なくとも1つのタイマーM230が処理ユニットによって始動され、該当するデータ値が第2の処理ユニットによって準備された場合に常に、タイマーの値がステータスレジスタへ転送される。タイマーは、さらに、好ましくは、プログラムシーケンスが異なっても、WCET(worst cace 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つの処理ユニットのために同一の初期条件が形成される。処理ユニットがその用意ができている場合に、その処理ユニットによってプロセッサ固有のレディビットがコントロールレジスタ内にセットされて、処理ユニットは、他の処理ユニットがその準備完了をそのレディビットによって知らせるまで(図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システムにおいて説明されたのとまったく同様に、切替え及び比較ユニットと結合される。従ってこの図における全ての信号とコンポーネントとは、図2の対応するコンポーネントと信号と、内容的に同一の意味を有している。切替え及び比較ユニットM300は、マルチプロセッサシステム内で、パフォーマンスモード(全ての処理ユニットが異なるタスクを処理するモード。)と、種々の比較モード(2つ又はそれより多い処理ユニットのデータが比較され、ずれている場合にエラーを知らせるモード。)と、種々の投票モード(異なるように設定可能なアルゴリズムに従って、偏差がある場合に多数決を行うモード。)との間で区別することができる。その場合に各処理ユニットについて、それがどのモードで作業しているか、及び他のどの処理ユニットと場合によってはこのモード内で協働するか、を別々に決定することができる。次に、切替えがどのようにして正確に行われるかを、図6に示すコントロールレジスタの説明において、さらに説明する。
図5は、n+1の処理ユニットを有するマルチプロセッサシステムのための切替えユニットの可能な実装を示している。各処理ユニットについて、切替え及び比較モジュールの制御ユニット内に少なくとも1つのコントロールレジスタM44iが設けられている。コントロールレジスタの好ましいセットが、図6に詳細に示され、かつ説明されている。その場合にM44iは、それぞれコントロールレジスタCiに相当する。
コントロールレジスタにおける種々の実施形態が考えられる。適当なビットコンビネーションを介して、エラー認識パターンを使用すべきか、エラー許容パターンを使用すべきか、を記述することができる。それぞれユニットM300にかける手間とコストに応じて、さらに、どのタイプのエラー許容パターン(3から2、中央値、4から2、4から3、FTA、FTM…)を使用するか、も示すことができる。さらに、どの出力をスルー接続するか、も構成可能に形成することができる。どのコンポーネントがどのデータについてこのコンフィグレーションに影響を有することができるか、に従って、実施形態を形成することもできる。
コントロールレジスタにおける種々の実施形態が考えられる。適当なビットコンビネーションを介して、エラー認識パターンを使用すべきか、エラー許容パターンを使用すべきか、を記述することができる。それぞれユニットM300にかける手間とコストに応じて、さらに、どのタイプのエラー許容パターン(3から2、中央値、4から2、4から3、FTA、FTM…)を使用するか、も示すことができる。さらに、どの出力をスルー接続するか、も構成可能に形成することができる。どのコンポーネントがどのデータについてこのコンフィグレーションに影響を有することができるか、に従って、実施形態を形成することもできる。
関与する処理ユニットの出力信号が、切替えユニット内で互いに比較される。信号は、必ずしも正しいクロックで処理される必要はないので、データの一時記憶が必要である。その場合に、種々の処理ユニットから切替えユニットへ大きい時間差をもって与えられるデータを、切替えユニット内で比較することもできる。中間メモリ(例えばFIFOメモリとして形成:first in-first out、又は他のバッファ形式。)を使用することによって、他の処理ユニットがまだデータを準備できない間に、まず、1つの処理ユニットから複数のデータを受信することもできる。その場合に2つの処理ユニットの同期性の尺度が、FIFOメモリの充填状態である。所定の予め定めることのできる充填状態を上回った場合には、処理において進み方の遅い処理ユニットを待つために、処理において最も進んでいる処理ユニットが、存在しているウェイト信号によって、又は適当なインターラプトルーチンによって、時々停止される。その場合に監視は、処理ユニットに提供可能な全ての外部の信号にも広げるべきである;それは、アナログ信号又はPWM信号も含む。そのために切替えユニット内に、この種の信号の比較を許す構造が設けられる。付加的に、比較すべきデータ間の最大の時間偏差を予め定めて、少なくとも1つのタイマーによって監視することが、提案される。
一般的な場合において、2つより多い処理ユニットが共通の切替えユニットによって互いに接続される場合には、これら処理ユニットの各々のために、又は全処理ユニットのために、コントロールレジスタが必要である。このコントロールレジスタの特殊な形態が、図6で明らかにされている。
それぞれのコントロールレジスタCxの(n+1)の下方のビットB500xからB50nxまでが、n+1のプロセッサ/処理ユニットに一義的に対応づけられている。コントロールレジスタCxのビットB514xは、比較/投票とパラレル作業との間で切り替り、図1に示すB16の値に相当する。ビットB513xは、該当する処理ユニットが比較の準備ができているか(Ready)を表示し、ビットB512xは、同期化信号(WAIT又はINTERRUPT)を制御し、ビットB511xは、該当する処理ユニットxをインターラプトによって比較の準備をさせるために、利用することができる。同様に、ビットB5110xは、処理ユニットをパラレルモードへ戻す、インターラプトを制御する。
それぞれのコントロールレジスタ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に投票結果を出力させようとする場合には、比較すべき/投票すべき処理ユニット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のセットをもたらす。関与する処理ユニットの全てのウェイトビットがセットされている場合には、それらが切替え及び比較ユニットによって同時にリセットされる。その後処理ユニットが、監視すべきプログラム部分の処理を開始する。好ましい実施形態においては、セットされたビットB514iを有するコントロールレジスタCiへの書込みが、ロック(HW又はSW)によって阻止される。これが有意義な方法で、処理の間比較器のコンフィグレーションが変更できないことをもたらす。コントロールレジスタCi内の変更は、ビットB514iのリセット後に初めて可能になる。このリセットは、ノーマルモード(パラレルな作業方法)へ移行するために、全ての関与する処理ユニットのコントロールレジスタ内にビットB510xをセットすることによって、該当する処理ユニット内にインターラプトをもたらす。
全てのコントロールレジスタの互いに対する一貫性は、ユーザー設定に従って監視されて、エラーが発生した場合においては、ステータス情報の構成部分であるエラー信号が生成される。すなわち、例えば、1つの処理ユニットが複数の独立した比較又は投票プロセスのために使用されることが生じてはならない。というのは、その場合には同期化が保証されないからである。しかし、データ信号の出力なしで、等しくない場合にエラー信号を発生させるためだけに、複数の処理ユニットを比較することも、考えられる。
他の実施形態においては、比較又は投票に関与する処理ユニットうち、複数又は全ての処理ユニットのコントロールレジスタ内への入力が同様に行われ、すなわちこれらの処理ユニットの該当するビットがそこで、場合によっては出力を制御する専用のビットiを除いて、同種にセットされる。
比較又は投票を能動化するために、コントロールレジスタCi内にビットB514iがセットされる。このビットは、処理ユニット自体によっても、又は所定のシステム状態、時間条件、若しくは他の条件(例えば所定のメモリ領域へのアクセス、エラー又は非蓋然性)に従って切替え及び比較ユニットからも、セットすることができる。ビットB514iと共に、ビットB50ii及びB50kiがセットされる場合には、UVEによって自動的にビットB511iとB511kがセットされて、それによって処理ユニットiとk内でインターラプトが作動される。このインターラプトによって、処理ユニットが所定のプログラム部分へジャンプし、比較モードへ移行するための所定の初期化ステップが実施されて、その後切替え及び比較ユニットへ返事(Ready)が出力される。Ready信号は、処理ユニットのそれぞれのコントロールレジスタCi内のインターラプトビットB511iの自動的なリセットをもたらし、同時にウェイトビットB512iのセットをもたらす。関与する処理ユニットの全てのウェイトビットがセットされている場合には、それらが切替え及び比較ユニットによって同時にリセットされる。その後処理ユニットが、監視すべきプログラム部分の処理を開始する。好ましい実施形態においては、セットされたビットB514iを有するコントロールレジスタCiへの書込みが、ロック(HW又はSW)によって阻止される。これが有意義な方法で、処理の間比較器のコンフィグレーションが変更できないことをもたらす。コントロールレジスタCi内の変更は、ビットB514iのリセット後に初めて可能になる。このリセットは、ノーマルモード(パラレルな作業方法)へ移行するために、全ての関与する処理ユニットのコントロールレジスタ内にビットB510xをセットすることによって、該当する処理ユニット内にインターラプトをもたらす。
全てのコントロールレジスタの互いに対する一貫性は、ユーザー設定に従って監視されて、エラーが発生した場合においては、ステータス情報の構成部分であるエラー信号が生成される。すなわち、例えば、1つの処理ユニットが複数の独立した比較又は投票プロセスのために使用されることが生じてはならない。というのは、その場合には同期化が保証されないからである。しかし、データ信号の出力なしで、等しくない場合にエラー信号を発生させるためだけに、複数の処理ユニットを比較することも、考えられる。
他の実施形態においては、比較又は投票に関与する処理ユニットうち、複数又は全ての処理ユニットのコントロールレジスタ内への入力が同様に行われ、すなわちこれらの処理ユニットの該当するビットがそこで、場合によっては出力を制御する専用のビットiを除いて、同種にセットされる。
図7には、中央の投票のための投票ユニットQ100が示されている。投票は、適切なハードウェアによっても、ソフトウェア的に実施することもできる。そのために投票アルゴリズム(例えばビット正しい投票)が前もって定められる。その場合に投票ユニットQ100は、複数の信号Q110、Q111、Q112を有しており、これらの信号から、投票(例えばnからm選択)によって生じる、出力信号Q120を形成する。
比較する際にエラーが発生した場合に、該当するコントロールレジスタ内にエラービットがセットされる。投票の際には、該当する処理ユニットのデータは無視される;最も単純な比較においては、出力が遮断される。
プログラミングされた時間の経過前に間に合うように準備されなかった全てのデータは、エラーと同様に処理される。エラービットのリセットは、システムに従って行われ、場合によっては該当する処理ユニットの再統合を可能にする。
処理ユニット及び/又は投票者が空間的に集中して配置されていない場合については、図8に示すように適切なバスシステムと組み合わせて分散した投票も可能である。図8において、分散した投票ユニットQ200が、制御ユニットQ210によって管理される。投票ユニットはバスシステムQ221、Q222を介して結合されており、これらのバスシステムを介してデータを入手し、それをまたバスシステムへ出力する。
比較する際にエラーが発生した場合に、該当するコントロールレジスタ内にエラービットがセットされる。投票の際には、該当する処理ユニットのデータは無視される;最も単純な比較においては、出力が遮断される。
プログラミングされた時間の経過前に間に合うように準備されなかった全てのデータは、エラーと同様に処理される。エラービットのリセットは、システムに従って行われ、場合によっては該当する処理ユニットの再統合を可能にする。
処理ユニット及び/又は投票者が空間的に集中して配置されていない場合については、図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とにより引渡しを保証するハンドシェークインターフェイスが必要である(図10)。この種のインターフェイスは、あるクロックドメインから他のクロックドメインへのデータの安全な伝送を保証するために、クロックドメインが変化する場合に、常に必要である。その場合に、書込みの際には、データM820が領域Q305からクロックM830でレジスタセルM800へ同期して提供され、かつ書込み要請信号M850がデータの準備を表示する。この書込み要請信号が領域Q306からクロックM860でメモリ素子M801へ引き渡されて、それが同期化された信号M870として、データの準備を表示する。それに続いてクロックM860の次のアクティブなクロック端で、同期化されたデータM840が引き渡されて、その場合に確認信号M880が返信される。この確認信号は、他のメモリ素子M801内でクロックM830によって信号M890に同期されて、それによってデータの準備が終了する。その後、新しいデータを該当するレジスタ内へ書き込むことができる。この種のインターフェイスは、従来技術から知られており、特殊な実施形態においては、クィット信号を待機する必要なしに、付加的なコード化によって特に高速に働くことができる。
特別な実施形態において、メモリ素子M800はFIFOメモリ(first-in, first-out)として形成されている。
特殊性として、さらに、エラービットがシステムによって評価されなければならないことを述べておく。エラー場合において安全な遮断を保証するために、安全上重要な信号は適切な形式で冗長に実現されなければならない(例えば2から1コード)。
図1、2、3、4及び5に示す従来のUVEにおいては、まず、処理ユニットが、互いに一定の位相関係にある、同一又は互いに導き出されたクロックで働く、と仮定された。処理装置のために、位相関係が変化する、異なる発振器及びジェネレータのクロックも使用される場合には、それによって発生される信号を、それがクロックドメインを代える場合に、同期させなければならない。そのために、同期化素子M800が、図9に示されている。特にデジタルデータを安全に格納し、かつ比較するために、同期化装置M800が必要であって、それは信号フロー内の任意の箇所に設けることができる。これは、一方では、データを準備した処理ユニットのクロックM830でこのデータM820を格納することを保証する。その場合に、読み取るためには、データM840を処理したクロックが利用される。この種の同期化段M800は、複数のデータを格納することができるようにするために、FIFOとして形成することができる(図9を参照)。一般的な場合において、データの同期化だけでは十分ではなく、データの準備信号も受信クロックによって同期化される。
そのために、さらに、要請信号M850とクィット信号M880とにより引渡しを保証するハンドシェークインターフェイスが必要である(図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)
その場合に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)
差動増幅器が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を有する。
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)
その場合に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を有し、信号B421がアクティブでなく、かつリセット信号B402が印加されていない場合に、クロックB403で1を記憶する。エラーは、信号リセットが少なくとも一度アクティブになるまで、記憶される。注意すべきことは、図11から図13の回路を設計する場合に、抵抗を互いにマッチングさせ、すなわちRfとRin、R1とR2及びR3とR3の抵抗比ができるだけ製造誤差に関係なく一定になることである。信号B421を用いて、回路がアクティブになるべきか、又は、比較を行うべきではない、処理ユニットの同期化が行われるか、を制御することができる。信号B402は、その前のエラーをリセットし、従って新しい比較を可能にする。
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を有し、信号B421がアクティブでなく、かつリセット信号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のアナログ出力信号が、アナログ入力信号(変換すべき信号)よりも高い値を有する場合に、リセットされる。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が格納されている。
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 (22)
- 少なくとも2つの処理ユニットと、比較モードである第1の動作モードとパフォーマンスモードである第2の動作モードとの少なくとも2つの動作モードの間で動作モードを切替え可能な切替手段と、前記比較モードにおいて少なくとも1つの第1の情報と第2の情報とを比較可能な比較手段と、を備えた計算機システムの動作モード切替方法において、
前記比較手段と前記切替手段とは、構造的に前記処理ユニットの外部に設けられ、
その際に、少なくとも1つのバッファメモリを備え、
前記比較モードにおいて比較される前記情報の少なくとも1つは、前記第1の情報と前記第2の情報とを直接相互に比較できるように、予め定めることのできる時間、及び/又は、求めることのできる時間の間、前記バッファメモリ内に一時記憶されることを特徴とする、計算機システムの動作モード切替方法。 - 前記情報の少なくとも1つが一時記憶される前記予め定めることのできる時間、及び/又は、前記求めることのできる時間から、非同期情報、特にタイムエラーを求めることができることを特徴とする、請求項1に記載の計算機システムの動作モード切替方法。
- 前記バッファメモリにおいて、前記バッファメモリ内に記憶された情報の数を表すメモリの充填状態を求めることができることを特徴とする、請求項1又は2に記載の計算機システムの動作モード切替方法。
- 時間検出手段、特に計数素子を備え、
前記タイムエラーは、前記時間検出手段、特に計数素子により、時間値が求められて、前記時間値が、予め定めることのできる最大の時間値と比較されることによって、求められることを特徴とする、請求項2に記載の計算機システムの動作モード切替方法。 - 前記非同期情報は、前記求められた充填状態が、予め定めることのできる最大の充填状態と比較されることによって、求められることを特徴とする、請求項3に記載の計算機システムの動作モード切替方法。
- 前記充填状態に従って、同期化情報が出力されることを特徴とする、請求項3又は5に記載の計算機システムの動作モード切替方法。
- 前記求められた非同期情報に従って、同期化情報が出力されることを特徴とする、請求項2又は5に記載の計算機システムの動作モード切替方法。
- 前記非同期情報は、監視手段、特にウォッチドッグ内で評価されることを特徴とする、請求項6に記載の計算機システムの動作モード切替方法。
- 前記同期化情報は、遅延信号であって、
前記遅延信号によって少なくとも1つの前記処理ユニットが、少なくとも時々停止されることを特徴とする、請求項6又は7に記載の計算機システムの動作モード切替方法。 - 次の出力データが比較されるべきであるという設定が、比較信号によって行われることを特徴とする、請求項1に記載の計算機システムの動作モード切替方法。
- 前記比較されるべき情報に識別子が対応づけられ、
前記識別子によって比較が作動されることを特徴とする、請求項1に記載の計算機システムの動作モード切替方法。 - 少なくとも2つの処理ユニットと、比較モードである第1の動作モードとパフォーマンスモードである第2の動作モードとの少なくとも2つの動作モードの間で動作モードを切替え可能な切替手段と、前記比較モードにおいて少なくとも1つの第1の情報と第2の情報とを比較可能な比較手段と、を備えた計算機システムの動作モード切替装置において、
前記比較手段と前記切替手段とは、構造的に前記処理ユニットの外部に設けられて、
その際に、少なくとも1つのバッファメモリを備え、
前記バッファメモリは、前記第1の情報と前記第2の情報とを直接相互に比較できるように、予め定めることのできる時間、及び/又は、求めることのできる時間の間、前記比較モードにおいて比較すべき前記情報の少なくとも1つを一時記憶するように形成されることを特徴とする、計算機システムの動作モード切替装置。 - 前記バッファメモリは、前記処理ユニット毎に設けられることを特徴とする、請求項12に記載の計算機システムの動作モード切替装置。
- 前記バッファメモリは、FIFOメモリであることを特徴とする、請求項12又は13に記載の計算機システムの動作モード切替装置。
- 前記バッファメモリは、前記各処理ユニットに対応づけられることを特徴とする、請求項12〜14のいずれかに記載の計算機システムの動作モード切替装置。
- 前記バッファメモリ、特に前記FIFOメモリは、前記各処理ユニットに対応づけられることを特徴とする、請求項12〜15のいずれかに記載の計算機システムの動作モード切替装置。
- 手段、特に計数素子を備え、
前記手段は、前記情報の少なくとも1つが一時記憶される前記予め定めることのできる時間、及び/又は、前記求めることのできる時間から、非同期情報、特にタイムエラーを求めるように形成されることを特徴とする、請求項12に記載の計算機システムの動作モード切替装置。 - 前記バッファメモリにおいて、前記バッファメモリ内に記憶された情報の数又は量を表すメモリの充填状態を求めるように形成された手段を備えることを特徴とする、請求項12に記載の計算機システムの動作モード切替装置。
- 前記手段は、前記求められた充填状態を、予め定めることのできる最大の充填状態と比較することによって、前記非同期情報を求めるように形成されることを特徴とする、請求項18に記載の計算機システムの動作モード切替装置。
- 同期化手段を備え、
前記同期化手段は、前記非同期情報に従って同期化情報を発生するように形成されることを特徴とする、請求項17又は19に記載の計算機システムの動作モード切替装置。 - 前記非同期情報を処理するように形成された監視手段を備えることを特徴とする、請求項17又は19に記載の計算機システムの動作モード切替装置。
- 前記監視手段は、前記計算機システムに対する外部の監視手段、特にウォッチドッグであることを特徴とする、請求項21に記載の計算機システムの動作モード切替装置。
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE200410051992 DE102004051992A1 (de) | 2004-10-25 | 2004-10-25 | Verfahren und Vorrichtung zur Verzögerung von Zugriffen auf Daten und/oder Befehle eines Mehrprozessorsystems |
DE102004051950A DE102004051950A1 (de) | 2004-10-25 | 2004-10-25 | Verfahren und Vorrichtung zur Taktumschaltung bei einem Mehrprozessorsystem |
DE102004051952A DE102004051952A1 (de) | 2004-10-25 | 2004-10-25 | Verfahren zur Datenverteilung und Datenverteilungseinheit in einem Mehrprozessorsystem |
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 |
DE200510037241 DE102005037241A1 (de) | 2005-08-08 | 2005-08-08 | Verfahren und Vorrichtung zur Umschaltung bei einem Rechnersystem mit wenigstens zwei Verarbeitungseinheiten |
PCT/EP2005/055519 WO2006045790A1 (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 |
---|---|
JP2008518307A true JP2008518307A (ja) | 2008-05-29 |
Family
ID=35783534
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007537299A Pending JP2008518307A (ja) | 2004-10-25 | 2005-10-25 | 少なくとも2つの処理ユニットを有する計算機システムにおいて切替える方法及び装置 |
Country Status (9)
Country | Link |
---|---|
US (1) | US20080091927A1 (ja) |
EP (1) | EP1812859B1 (ja) |
JP (1) | JP2008518307A (ja) |
KR (1) | KR20070062568A (ja) |
CN (1) | CN100520731C (ja) |
AT (1) | ATE420403T1 (ja) |
DE (1) | DE502005006442D1 (ja) |
RU (1) | RU2007119322A (ja) |
WO (1) | WO2006045790A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013105491A (ja) * | 2011-11-10 | 2013-05-30 | Ge Aviation Systems Llc | 高完全性処理を提供する方法 |
Families Citing this family (8)
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 |
JP5013309B2 (ja) * | 2006-08-18 | 2012-08-29 | 日本電気株式会社 | フォールトトレラントコンピュータ、そのトランザクション同期制御方法 |
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 |
GB2516995B (en) | 2013-12-18 | 2015-08-19 | Imagination Tech Ltd | Task execution in a SIMD processing unit |
GB2537942B (en) | 2015-05-01 | 2017-06-14 | Imagination Tech Ltd | Fault tolerant processor for real-time systems |
JP7221070B2 (ja) * | 2019-02-07 | 2023-02-13 | 日立Astemo株式会社 | 電子制御装置、制御方法 |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3810119A (en) * | 1971-05-04 | 1974-05-07 | Us Navy | Processor synchronization scheme |
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 |
CA2003338A1 (en) * | 1987-11-09 | 1990-06-09 | Richard W. Cutts, Jr. | Synchronization of fault-tolerant computer system having multiple processors |
AU625293B2 (en) * | 1988-12-09 | 1992-07-09 | Tandem Computers Incorporated | Synchronization of fault-tolerant computer system having multiple processors |
US5020023A (en) * | 1989-02-23 | 1991-05-28 | International Business Machines Corporation | Automatic vernier synchronization of skewed data streams |
US5226152A (en) * | 1990-12-07 | 1993-07-06 | Motorola, Inc. | Functional lockstep arrangement for redundant processors |
US6185662B1 (en) * | 1997-12-22 | 2001-02-06 | Nortel Networks Corporation | High availability asynchronous computer system |
US6327668B1 (en) * | 1998-06-30 | 2001-12-04 | Sun Microsystems, Inc. | Determinism in a multiprocessor computer system and monitor and processor therefor |
US6615366B1 (en) * | 1999-12-21 | 2003-09-02 | Intel Corporation | Microprocessor with dual execution core operable in high reliability mode |
US6640313B1 (en) * | 1999-12-21 | 2003-10-28 | Intel Corporation | Microprocessor with high-reliability operating mode |
US6820213B1 (en) * | 2000-04-13 | 2004-11-16 | Stratus Technologies Bermuda, Ltd. | Fault-tolerant computer system with voter delay buffer |
US6772368B2 (en) * | 2000-12-11 | 2004-08-03 | International Business Machines Corporation | Multiprocessor with pair-wise high reliability mode, and method therefore |
US6751749B2 (en) * | 2001-02-22 | 2004-06-15 | International Business Machines Corporation | Method and apparatus for computer system reliability |
US6928583B2 (en) * | 2001-04-11 | 2005-08-09 | Stratus Technologies Bermuda Ltd. | Apparatus and method for two computing elements in a fault-tolerant server to execute instructions in lockstep |
DE10136335B4 (de) * | 2001-07-26 | 2007-03-22 | Infineon Technologies Ag | Prozessor mit mehreren Rechenwerken |
GB2399913B (en) * | 2002-03-19 | 2004-12-15 | Sun Microsystems Inc | Fault tolerant computer system |
JP2004046599A (ja) * | 2002-07-12 | 2004-02-12 | Nec Corp | フォルトトレラントコンピュータ装置、その再同期化方法及び再同期化プログラム |
US20090044048A1 (en) * | 2004-10-25 | 2009-02-12 | Reinhard Weiberle | Method and device for generating a signal in a computer system having a plurality of components |
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 |
US7350026B2 (en) * | 2004-12-03 | 2008-03-25 | Thales | Memory based cross compare for cross checked systems |
JP2006178636A (ja) * | 2004-12-21 | 2006-07-06 | Nec Corp | フォールトトレラントコンピュータ、およびその制御方法 |
-
2005
- 2005-10-25 AT AT05804490T patent/ATE420403T1/de not_active IP Right Cessation
- 2005-10-25 JP JP2007537299A patent/JP2008518307A/ja active Pending
- 2005-10-25 US US11/666,394 patent/US20080091927A1/en not_active Abandoned
- 2005-10-25 CN CNB2005800365781A patent/CN100520731C/zh not_active Expired - Fee Related
- 2005-10-25 EP EP05804490A patent/EP1812859B1/de not_active Not-in-force
- 2005-10-25 DE DE502005006442T patent/DE502005006442D1/de active Active
- 2005-10-25 WO PCT/EP2005/055519 patent/WO2006045790A1/de active Application Filing
- 2005-10-25 KR KR1020077008960A patent/KR20070062568A/ko active IP Right Grant
- 2005-10-25 RU RU2007119322/09A patent/RU2007119322A/ru not_active Application Discontinuation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013105491A (ja) * | 2011-11-10 | 2013-05-30 | Ge Aviation Systems Llc | 高完全性処理を提供する方法 |
Also Published As
Publication number | Publication date |
---|---|
RU2007119322A (ru) | 2008-12-10 |
EP1812859A1 (de) | 2007-08-01 |
EP1812859B1 (de) | 2009-01-07 |
ATE420403T1 (de) | 2009-01-15 |
DE502005006442D1 (de) | 2009-02-26 |
CN101048759A (zh) | 2007-10-03 |
CN100520731C (zh) | 2009-07-29 |
US20080091927A1 (en) | 2008-04-17 |
WO2006045790A1 (de) | 2006-05-04 |
KR20070062568A (ko) | 2007-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4669007B2 (ja) | 少なくとも2つの処理ユニットを有する計算機システムにおいて切替及びデータを比較する方法及び装置 | |
JP2008518304A (ja) | 少なくとも3つの処理ユニットを有する計算機システムにおけるモード切替及びデータ比較方法および装置 | |
JP2008518307A (ja) | 少なくとも2つの処理ユニットを有する計算機システムにおいて切替える方法及び装置 | |
JP2008518306A (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 | |
DE102005037241A1 (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 | |
Garcia et al. | RAPTOR-Design: Refactorable Architecture Processor to Optimize Recurrent Design |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090811 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20100126 |