(57)【要約】  本発明は、少なくとも２つの実行ユニットを備えたコンピュータシステムの機能監視方法および監視装置に関する。この場合、切替手段が設けられており、少なくとも２つの動作モード間で切り替えが行われ、比較手段が設けられており、第１の動作モードは比較モードに対応し、第２の動作モードはパフォーマンスモードに対応し、第１の機能が第２の機能により監視される。さらに第２の機能は比較モードで少なくとも２つの実行ユニットにおいて処理され、少なくとも２つの実行ユニットにおいて処理される第２の機能各々は、同じ第１の機能により監視される。
2009505186.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも２つの動作モード間で切り替えが行われ、第１の動作モードは比較モードに対応し、第２の動作モードはパフォーマンスモードに対応し、第１の機能が第２の機能により監視される、
少なくとも２つの実行ユニットを備えたコンピュータシステムの機能監視方法において、
前記第２の機能は比較モードで少なくとも２つの実行ユニットにおいて処理され、
少なくとも２つの実行ユニットにおいて処理される該第２の機能各々は、同じ第１の機能により監視されることを特徴とする、
コンピュータシステムの機能監視方法。
【請求項２】
請求項１記載の方法において、
前記第２の機能は前記第１の機能を周期的に監視することを特徴とする方法。
【請求項３】
請求項１記載の方法において、
前記第１の機能はパフォーマンスモードで処理されることを特徴とする方法。
【請求項４】
請求項１記載の方法において、
前記少なくとも２つの実行ユニットにおける第２の機能の処理により生じた結果がそれぞれ互いに比較されて、第２の機能が監視されることを特徴とする方法。
【請求項５】
請求項１記載の方法において、
少なくとも２つの実行ユニットにおける第２の機能は状況に依存した値に基づき処理され、該処理により生じた結果が比較されることを特徴とする方法。
【請求項６】
請求項１記載の方法において、
前記第２の機能のほかに別の機能が設けられており、該機能は他の機能を監視し、該別の機能の一部分は比較モードで少なくとも２つの実行ユニットにおいて実行され、それ自体がチェックされることを特徴とする方法。
【請求項７】
切替手段が設けられており、少なくとも２つの動作モード間で切り替えが行われ、
比較手段が設けられており、第１の動作モードは比較モードに対応し、第２の動作モードはパフォーマンスモードに対応し、第１の機能が第２の機能により監視される、
少なくとも２つの実行ユニットを備えたコンピュータシステムの機能監視装置において、
前記第２の機能を比較モードで少なくとも２つの実行ユニットにおいて処理し、
少なくとも２つの実行ユニットにおいて処理される該第２の機能各々を、同じ第１の機能により監視することを特徴とする、
コンピュータシステムの機能監視装置。
【請求項８】
請求項７記載の装置において、
前記少なくとも２つの実行ユニットにおける第２の機能の処理により生じた結果が前記比較手段によりそれぞれ互いに比較されて、第２の機能が監視されることを特徴とする装置。
【請求項９】
請求項７記載の装置において、
少なくとも２つの実行ユニットにおける第２の機能は状況に依存した値に基づき処理され、該処理により生じた結果が比較されることを特徴とする装置。
【請求項１０】
請求項７記載の装置において、
前記第２の機能のほかに別の機能が設けられており、該機能は他の機能を監視し、該別の機能の一部分は比較モードで少なくとも２つの実行ユニットにおいて実行され、それ自体がチェックされることを特徴とする装置。
【請求項１１】
請求項７記載の装置において、
前記切替手段と比較手段は切替および比較ユニットにまとめられていることを特徴とする装置。
【請求項１２】
請求項７記載の装置において、
切替および比較ユニットは前記第２の機能の監視を実行することを特徴とする装置。
【発明の詳細な説明】
【技術分野】
【０００１】
埋め込みシステムたとえば自動車技術またはオートメーション技術の分野では、マイクロコンピュータハードウェアにおけるエラーが場合によっては安全にとって重要な結果を招く可能性のある適用事例が存在する。そのような結果を回避する目的で、あるいは深刻な影響を回避する目的で、エラーを検出する監視措置が適用される。この種の監視がほぼ持続的に必要とされる適用事例もあるし、他の適用事例では規則的に（たとえば周期的に）あるいは特定の要求に応じてコンピュータまたは他のコンポーネントも依然として適正に機能しているか否かをチェックする監視機能がある。本発明はこの種の適用事例に関する。
【０００２】
この種の適用事例において、上述の監視機能の一部分としてたとえば、専用のコンポーネントが依然として機能しているか否かを調べるチェックルーチンが実行される。このルーチンをたとえば、実際の機能アルゴリズムの一部分をデフォルト入力値を用いて計算し、ついで既知となった結果を格納されている基準値と比較するものとすることができる。格納されているこの基準値は事前に計算することができる。なぜならばデフォルト入力値とアルゴリズムはソフトウェア作成時点ですでにわかっているからである。
【０００３】
他の形式の監視機能は、出力チャネルに所期のように負荷を与えることによって実現される。これは場合によってはセンサ値のフィードバック読み出しと組み合わせられ、この場合、それらの値は特定の範囲内にあるべきものである。さらに数多くのバリエーションが存在する。
【０００４】
これらの監視手法すべてに共通するのは、それらがソフトウェアとして実行され制御され（場合によってはマイクロコンピュータの外部のハードウェアコンポーネントを利用しながら行われ）、システムの機能についてチェックすることである。
【０００５】
ここで考察しているチェック手法の場合には常に細心の注意を払いながら、すべてのソフトウェアに影響を及ぼすマイクロコンピュータコアにおけるエラーにより監視ルーチン自体が機能しなくなってしまわないよう、留意しなければならない。検出に関して措置の判断を下すにあたり、コア自体およびそこで実行されるチェックソフトウェアが適正に動作していることが保証されなければならない。このような前提のもとであれば、チェックルーチン自体が適正に実行されていることも明確に保証することができる。このことにより全体として、コアのチェックならびにコアのエラーに対する他のチェックルーチンの独立性に著しく多くの手間をかけなければならなくなってしまう。
【０００６】
オートメーション技術においては、いくつかの個所でいわゆる安全性機能について一般に論じされている。これらはアプリケーション全体で個別に識別してドキュメンテーションとして表さなければならず、一般には規格（たとえばIEC 61508）の要求に適合させなければならない。たとえば規格が有効でないにしても、それらの安全機能に関するエラー検出に対しきわめて高い要求が課され、監視対象物においていつでも監視機能を稼働できるわけでもない。
【０００７】
しかも公知のチェック手法の場合には、機能性チェックにあたりそのチェックが特定のコンテキストないしは状況における機能だけにしか関連しないケースも多々ある。
【０００８】
つまりあらゆる状況においてまたは着目時点で有効な状況において機能が監視されるのではなく、デフォルトの状況においてしか機能チェックが行われない。
【０００９】
発明の利点
したがって本発明の課題は、埋め込みシステムの安全性向上にあたり、状況に依存した機能チェックを実現し、つまりは監視機能の品質を向上させることにある。さらに、制御コンピュータにおいて安全機能を稼働させることができるようにし、安全機能に対する有利な実装形態を提供することにある。さらに本発明の課題は、ソフトウェアとして実行される監視機能の開発時にも稼働時にも手間ないしはコストを削減することにある。
【００１０】
したがって本発明の利点は、監視機能の実行にあたりその機能が（ハードウェアエラーに関して）適正かつエラーなく実行されるのか、併せてチェックされることである。つまり監視機能におけるエラーを検出することができる。これによって著しく簡単にされた安全性コンセプトを実現することができる。ソフトウェアによる監視は、その機能においてそもそも明らかにされる実行ユニットのエラーに関して、１００％のカバー率を保つものである。この場合、コンテキストないしは周辺状況をいっしょに関与させた機能性チェックが可能となる。その際、安全性コンセプトに対する開発コストが削減される。さらにシステム全体の複雑さが低減される。他の安全性関連機能を比較モードで実行させることができるよう、このコンセプトを容易に拡張可能である。このコンセプトによれば、安全性機能をいっそう簡単に実装できるようになり、制御コンピュータにおいて特別なモードでいっしょに実行させることができる。
【００１１】
有利には本発明は、少なくとも２つの実行ユニットを備えたコンピュータシステムの機能監視方法に関する。この場合、少なくとも２つの動作モード間で切り替えが行われ、第１の動作モードは比較モードに対応し、第２の動作モードはパフォーマンスモードに対応し、第１の機能が第２の機能により監視される。本発明の特徴によれば、第２の機能は比較モードで少なくとも２つの実行ユニットにおいて処理され、少なくとも２つの実行ユニットにおいて処理されるこの第２の機能各々は、同じ第１の機能により監視される。
【００１２】
本発明によれば有利には、第２の機能は第１の機能を周期的に監視する。
【００１３】
有利には本発明によれば、第１の機能はパフォーマンスモードで処理される。有利には本発明による方法によれば、少なくとも２つの実行ユニットにおける第２の機能の処理により生じた結果がそれぞれ互いに比較されて、第２の機能が監視される。
【００１４】
有利には本発明によれば、少なくとも２つの実行ユニットにおける第２の機能は状況に依存した値に基づき処理され、この処理により生じた結果が比較される。
【００１５】
有利には本発明によれば、第２の機能のほかに別の機能が設けられており、この機能は他の機能を監視し、この別の機能の一部分は比較モードで少なくとも２つの実行ユニットにおいて実行され、それ自体がチェックされる。
【００１６】
有利には本発明は、少なくとも２つの実行ユニットを備えたコンピュータシステムの機能監視装置に関する。この場合、切替手段が設けられており、少なくとも２つの動作モード間で切り替えが行われ、比較手段が設けられており、第１の動作モードは比較モードに対応し、第２の動作モードはパフォーマンスモードに対応し、第１の機能が第２の機能により監視される。本発明による装置は、第２の機能が比較モードで少なくとも２つの実行ユニットにおいて処理され、少なくとも２つの実行ユニットにおいて処理される第２の機能各々が、同じ第１の機能により監視されるように構成されている。
【００１７】
有利には本発明による装置によれば、少なくとも２つの実行ユニットにおける第２の機能の処理により生じた結果が比較手段によりそれぞれ互いに比較されて、第２の機能が監視されるように構成されている。
【００１８】
有利には本発明による装置によれば、少なくとも２つの実行ユニットにおける第２の機能は状況に依存した値に基づき処理され、この処理により生じた結果が比較されるように構成されている。
【００１９】
有利には本発明による装置によれば、第２の機能のほかに別の機能が設けられており、この機能は他の機能を監視し、この別の機能の一部分は比較モードで少なくとも２つの実行ユニットにおいて実行され、それ自体がチェックされるように構成されている。
【００２０】
有利には本発明による装置によれば、切替手段と比較手段は切替および比較ユニットにまとめられている。
【００２１】
有利には本発明による装置によれば、切替および比較ユニットは第２の機能の監視を実行する。
【００２２】
そのほかの利点および有利な実施形態については、各請求項に記載の特徴ならびに以下の説明に示されている。
【００２３】
図１は、切替および比較ユニットを一般化して示す図である。
【００２４】
図２は、本発明によるシステムの計算ユニットにどのようなコンポーネントが設けられているのかを示す図である。
【００２５】
図３は、機能の集合の分割について示す図である。
【００２６】
図４は、機能の集合の分割に関する代案について示す図である。
【００２７】
図５は、判定プロセスの流れを示す図である。
【００２８】
図６は、２つの実行ユニットを備えたマルチプロセッサシステムを示す図である。
【００２９】
実施例の説明
以下では実行ユニットをプロセッサ／コア／ＣＰＵとも、ＦＰＵ（浮動小数点演算装置）、ＤＳＰ（ディジタルシグナルプロセッサ）、コプロセッサまたはＡＬＵ（演算論理装置）とも称する。本発明は、図６に示したマイクロプロセッサＷ１００に関する。このマイクロプロセッサは、少なくとも２つの実行ユニットＷ１１０ａ、Ｗ１１０ｂ、比較ユニットＷ１２０ならびに切替ユニットＷ１５０を備えている。この図では、２プロセッサシステムに基づき切替可能なマルチプロセッサの原理が示されている。その後、図１を参照しながら、２つよりも多くの実行ユニットのための切替および比較ユニットの一般的な事例について説明する。ここで本発明は、２つまたはそれよりも多くの実行ユニットを備えた一般的な事例に常に係わるものである。図６の実行ユニットは、それぞれオプションのバッファメモリＷ１１１ａ，Ｗ１１１ｂを介して比較ユニットＷ１２０および切替ユニットＷ１５０と接続されている。切替ユニットＷ１５０は、２つのシステムインタフェースＷ１３０ａ，Ｗ１３０ｂへの少なくとも２つの出力側を有している。これらのインタフェースを介して、レジスタ、メモリまたはディジタル出力側、ディジタル／アナログ変換器、通信コントローラといった周辺機器を駆動制御することができる。これらのマルチプロセッサシステムを少なくとも２つの動作モードすなわち比較モードＶＭとパフォーマンスモードで駆動することができる。パフォーマンスモードＰＭ中、それぞれ異なる実行ユニットにおいてそれぞれ異なる命令、プログラムセグメントまたはプログラムがパラレルに実行される。この動作モード中、比較ユニットは非アクティブ状態にされる。
【００３０】
切替ユニットＷ１５０はこの動作モード中、各実行ユニットがオプションのバッファメモリを介してシステムタフェースＷ１３０ａ，Ｗ１３０ｂの１つと接続されるようコンフィギュレーションされる。システムインタフェースを介して実行ユニットの結果をメモリＷ１７０に書き込むことができ、あるいは周辺コンポーネントＷ１８０，Ｗ１９０に出力することができる。周辺コンポーネントをたとえばアナログ／ディジタル変換器または通信システムの通信コントローラ（たとえばＳＰＩ，ＬＩＮ，ＣＡＮ，ＦｌｅｘＲａｙ）とすることができる。比較ユニットを非アクティブにするために複数の可能性がある。１つの可能性として、比較器に対し、これをアクティブ化または非アクティブ化する信号を供給することができる。この目的で比較器に付加的なロジックを挿入することができ、これによって上述のことを実行することができる。別の可能性は、比較すべきデータを比較器に供給しないことである。第３の可能性は、システムレベルで比較器のエラー信号を無視することである。さらにエラー信号自体を遮断することもできる。
【００３１】
すべてのやり方に共通するのは、場合によっては比較される２つまたはそれよりも多くのデータがそれぞれ異なる場合に問題とはならない状態をシステムにおいて作り出すことである。この状態が比較器における措置あるいはその入力信号または出力信号によって達成されるならば、比較器はパッシブまたは非アクティブであると呼ばれる。比較モードＶＭ中、両方の実行ユニットにおいて同じまたは同種の命令、プログラムセグメントまたはプログラムが処理される。オプションのバッファメモリＷ１１１ａ，Ｗ１１１ｂを介して、実行ユニットの出力信号は比較ユニットＷ１２０および切替ユニットＷ１５０へ供給される。比較ユニットにおいて、双方のデータが一致しているか否かチェックされる。
【００３２】
比較が行われた後、切替ユニットへステータス信号Ｗ１２５を介して、一致した結果のうちの１つをシステムフェースへ送出してよいか、あるいは結果に不一致が認められたことから信号を阻止しなければならないかを通知する。このケースでは、比較ユニットからオプションのエラー信号Ｗ１５５を送出することができる。このエラー信号を、比較ユニットではなく切替ユニットから送出することができる（Ｗ１５６）。この場合、切り替えを特別な切替命令、特別な命令シーケンス、明示的に表された命令を介してトリガすることができるし、あるいはマルチプロセッサシステムにおける複数の実行ユニットのうち少なくとも１つによる特定のメモリアドレスへのアクセスによってトリガすることができる。
【００３３】
さらに図１には切替および比較ユニットについて、有利にはそれらをどのように利用すべきかについて、一般化して示す。考慮すべきｎ個の実行ユニットからｎ個の信号Ｎ１４０〜Ｎ１４ｎが、切替および比較コンポーネントＮ１００に到来する。この切替および比較コンポーネントＮ１００は、これらの入力信号からｎ個までの出力信号Ｎ１６０〜Ｎ１６ｎを生成することができる。最も簡単なケースすなわち「純粋なパフォーマンスモード」では、すべての信号Ｎ１４ｉが対応する出力信号Ｎ１６ｉとなる。これとは反対の極端なケース、すなわち「純粋な比較モード」では、全ての信号Ｎ１４０〜Ｎ１４ｉが出力信号Ｎ１６ｉの内の１つにのみ誘導される。
【００３４】
この図面には、考えられる種々のモードをどのようにして生じさせることができるかについて描かれている。このためにこの図面においては切替ロジックＮ１１０の論理構成要素が含まれている。この切替ロジックは先ず、そもそも出力信号が幾つ存在するかを確定する。さらに切替ロジックＮ１１０は、入力信号の内のどの入力信号が出力信号の内のどの出力信号に寄与するかを確定する。ここでは１つの入力信号がちょうど１つの出力信号に寄与することができる。つまり数学的に別の形で表すと、量｛Ｎ１４０〜Ｎ１４ｎ｝の各要素に量｛Ｎ１６０〜Ｎ１６ｎ｝の１つの要素を対応付ける関数が切替ロジックによって定義されている。この場合、処理ロジックＮ１２０は出力側Ｎ１６ｉの各々に対し、どのかたちで入力側がこの出力信号に寄与するかを決定する。例示的に種々の変形形態を説明するために、一般性を制限することなく、出力側Ｎ１６０が信号Ｎ１４１〜Ｎ１４ｍによって形成されるものとする。ｍ＝１であればこのことは単に信号のスルーコネクションに相当し、ｍ＝２であれば信号Ｎ１４１，Ｎ１４２が比較される。この比較を同期または非同期に実施することができ、さらにこの比較をビットごとにまたは最上位ビットに対してのみ実施することができるし、あるいは許容範囲を用いて実施することもできる。
【００３５】
ｍ≧３である場合には、それよりも多くのオプションがある。１つめのオプションによれば、すべての信号を比較し、少なくとも２つの異なる値が存在する場合にはエラーを検出し、このエラーを選択的にシグナリングすることができる。２つめのオプションによれば、ｍ個からｋ個の選択が行われる（ｋ＞ｍ／２）。このことは比較の利用により実現可能である。選択的に、信号のうちの１つが偏差があるとして識別されると、エラー信号を発生させることができる。３つのすべての信号が異なっている場合には、考えられる種々のエラー信号を形成することができる。３つめのオプションによれば、これらの値が１つのアルゴリズムに供給される。このアルゴリズムをたとえば平均値やメディアン値の形成、あるいはフォールトトレランスアルゴリズム（ＦＴＡ）の使用とすることができる。上述のようなＦＴＡは、入力値の極値を取り除き、残りの値に対し一種の平均値形成を行うことに基づくものである。この平均値形成を残りの値の集合すべてについて行うこともできるし、あるいは有利にはハードウェアＨＷにおいて容易に形成できる部分集合について行うことができる。この場合には、必ずしも値を実際に比較しなくてもよい。平均値形成であればたとえば加算と除算のみでよく、ＦＴＭ，ＦＴＡまたはメディアンであれば部分的なソートが必要である。この場合も必要に応じて、極値が相当に大きい場合には選択的にエラー信号を送出することができる。
【００３６】
複数の信号を処理して１つの信号を生成する上述の様々なオプションを略して比較演算と称する。
【００３７】
したがって処理ロジックの役割は、出力信号各々に対する比較演算の詳細な構造、つまりは対応する入力信号に対する比較演算の詳細な構造を決定することである。切替ロジックＮ１１０の情報（すなわち上述の関数）と処理ロジックの情報（すなわち出力信号、つまり関数値毎の比較演算の確定）との組み合わせがモード情報であり、このモード情報がモードを確定する。この情報は一般的な事例では当然ながら多値であり、つまり１つの論理ビットだけでは表現できない。論理的に考えられるすべてのモードがある１つの定められた実現形態において有意であるのではなく、有利には許容されるモードの数が制限される。ここで強調しておくと、実行ユニットが２つしかない場合であれば実行ユニットには、すべての情報をただ１つの論理ビットに集約可能な１つの比較モードだけしか存在しない。
【００３８】
一般的な事例ではパフォーマンスモードから比較モードへの切り替えの特徴は、パフォーマンスモードではそれぞれ異なる出力側にマッピングされる実行ユニットが比較モードでは同じ出力側にマッピングされることである。このことは有利には、実行ユニットの部分システムが存在し、この部分システムにおいて考慮されるべき全ての入力信号Ｎ１４ｉがパフォーマンスモードにおいては対応する出力信号Ｎ１６ｉに直接的に切り替えられ、他方比較モードにおいては全ての入力信号が１つの出力側にマッピングされることによって実現されている。択一的に、このような切り換えをペアリングの変更によっても実現可能である。つまり本発明による１つの実施形態として、許容されるモードの量をそれが該当するよう制限できるにもかかわらず、一般的なケースにおいてはパフォーマンスモードおよび比較モードについて論じることはできない。しかしながらパフォーマンスモードから比較モードへの切り替え（またその逆の切り替え）については常に論じることができる。
【００３９】
これらのモードをソフトウェアを介する制御により動的に動作中に切り替えることができる。切り替えはたとえば特別な切替命令、特別な命令シーケンス、明示的に表される命令の実行を介してトリガされるかまたは、マルチプロセッサシステムにおける実行ユニットのうち少なくとも１つによる特定のアドレスへのアクセスによってトリガされる。
【００４０】
ここでは、監視機能を比較モードにおいて実行させることを提案する。この場合、監視機能とは、コンポーネント、サブシステムまたはオブジェクトの機能または機能正常性をチェックする機能のことである。
【００４１】
この着想について以下で詳しく説明する。図２には、本発明によるシステムの計算ユニットにどのようなコンピュータが設けられているのかが描かれている。計算ユニットＯ２００自体には複数の実行ユニットＯ２１０〜Ｏ２１ｎが含まれている。これに加えて、切替および比較ユニットＯ２２０も設けられているこれを計算ユニット内のコンポーネントして設けるのが有利であるけれども、それぞれ異なるコンポーネントに分散させておくことも可能であり、しかもそれらを計算ユニット自体の外側に配置させるようにしてもよい。ここで重要であるのは、計算ユニットは図１に例示したような切替および比較ユニットにより必要とされる機能を提供できることである。しかもこの計算ユニットにおいて、有利にはソフトウェアとして実現されている機能が実行される。これらの機能は図中、ブロックＯ２３０として計算ユニットＯ２００の横に書き込まれている。その理由は、それらは概念的には他の考察レベルにおかれていることによる。
【００４２】
図３は、機能Ｏ２３０の分割について示す図である。この場合、機能の全体集合Ｏ３００がＯ２３０に対応する。これを監視機能Ｏ３２０と他の機能Ｏ３１０に分けることができる。基本的な着想の最も簡単な形態によれば、監視機能が比較モード中に計算または実行される一方、他の機能はパフォーマンスモード中に実行される。
【００４３】
この場合の重要な利点は、監視機能の実行にあたりその機能が（ハードウェアエラーに関して）適正かつエラーなく実行されるのか、併せてチェックされることである。これに加えて、監視機能自体におけるエラーを検出することもできる。これによって著しく簡単にされた安全性コンセプトを実現することができる。ソフトウェアによる監視は、その機能において総じて明らかにされる実行ユニットエラーに関して、１００％のカバー率を維持するものである。ここで述べる監視機能はソフトウェアとして実行されるので、そのための前提条件となるのは、その機能が適正に果たされ、それが実行される「頭脳」（実行ユニット）が適正に動作していることである。この実行ユニットをいっしょに監視することのほか、これによって監視機能自体の品質も改善される。安全性コンセプトの開発にあたり、この問題（実行ユニットをいっしょに監視しなければならない点）を常に解決しなければならないことから通例、実行ユニットのエラー検出ひいては監視機能において相関するエラーの検出のために、きわめて多大な手間ないしはコストをかけなければならない。このような手間ないしはコストは、開発においてかけなければならない。ただしこれはシステム自体にも降りかかるものであって、このシステムにおいてそのような手間ないしはコストのためにいっそう煩雑なコンポーネントが必要とされ、システムが複雑になってしまう。システムの信頼性に関しても安全性に関しても、これによっていっそう悪影響が及ぼされる傾向にある。ここで説明してきた本発明によって、安全性コンセプトまたは監視コンセプトのための開発コストが削減され、全体的なシステムの複雑性が低減される。したがって間接的にこのことによって、システムの信頼性と安全性も向上する。
【００４４】
しかも多くの適用事例に本発明を適用することで、目下の状況と併せてこのような監視機能が計算されるようにして、安全性をさらに著しく改善することができる。１つの実行ユニットにおいてのみ監視機能を実行する場合、監視機能の適正を確認するためには通例、ここで考察してきたコンポーネントの外部において既知である基準値との比較が必要とされる。多くの適用事例においては、不揮発性記憶素子に格納されたデフォルト値を計算することによってのみ、このことを実現することができる。この値は開発時点においてすなわち動作中ではないときに計算され、つまりはここで前提とした特別な状況についてのみ有効である。ただし、エラーが特定の状況においてのみ現れるケースもよくある。たとえば乗算コンポーネントにおけるエラーは、２つの決まり切った数値を互いに乗算し、その結果を既知の格納されている値と比較するだけでは、必ずしも見分けられない。このようなエラーは、入力値の特別な組み合わせにおいて誤った積が形成されることによってのみ発生することが多い。つまり上述のようなデフォルト値に限られた監視機能であれば、エラー検出が低下する。本発明を適用することによって、状況に応じた値を監視機能にもたせることも可能である。それというのも複数の実行ユニットにおけるエラーを検出するのに必要とされる比較は、切替および比較ユニットにより行われるからである。
【００４５】
たいていの適用事例においては、その他の機能Ｏ３１０をパフォーマンスモードで計算させるのが有利である。なぜならばそのようにすればシステム性能が最適化されるからである。
【００４６】
図４には、このような着想による実施形態が示されている。部分集合Ｏ３０１，Ｏ３１１，Ｏ３２１は図３のＯ３００，Ｏ３１０，Ｏ３２０に対応する。部分集合Ｏ３１１およびＯ３２１はさらに２つに分割され、集合Ｏ３５０，Ｏ３６０もしくはＯ３３０，Ｏ３４０となる。背景を成す着想としてあげられるのは、監視機能すべてを比較モードで実行する必要はなく、実行ユニットの監視にとって重要な監視機能だけを実行させることである。これらをＯ３３０と称する一方、監視機能のうち他の（有利には著しく小さい）部分集合はＯ３４０であり、これについては実行ユニットの監視が重要ではなく、パフォーマンスモードで実行される。同様にＯ３１１の分割についても以下のように解することができる：Ｏ３５０をたとえば、クリティカルなアクチュエータをダイレクトに駆動制御する機能とすることができる。つまり、監視機能ではない機能の一部分を比較モードにおいて実行させることもできる。それらはＯ３５０にまとめられる。残りの機能Ｏ３６０はパフォーマンスモードで実行される。
【００４７】
図５には、有利なケースに関する基本的な判定プロセスが示されている。このケースによればＯ３４０は空であり、パフォーマンスおよび比較モードのみが存在する。
【００４８】
ここで前提条件とするのは、監視機能の集合Ｏ３１１が既知であることである。これによって、タスク／プロセス／スレッドレベル（以下では単にプロセスと称する）において、監視機能を処理するＶプロセスと、以下ではＰプロセスと称する他のプロセスとに区別することができる。Ｐプロセスとしてさらに挙げられるのは、監視機能には関係しないけれども比較モード中に計算すべきプロセスである（これは部分集合Ｏ３５０の機能に対応する）。これらを以下ではＰＶプロセスと称する。
【００４９】
ステップＯ４００では、スケジューラが「静止状態」となっている。スケジューラがステップＯ４１０においてスケジューリングプロセスに入ると、ステップＯ４２０において、ＰプロセスであるのかＶプロセスであるのかの判定が下される。Ｖプロセスであるならば、そのプロセスが（ステップＯ４６０において）比較モードで処理され、ついでスケジューラは静止状態（ステップＯ４００）に戻る。Ｐプロセスであるならば、次のステップとしてステップＯ４３０で、ＰＶプロセスであるか否かがチェックされる。ＰＶプロセスであるならば、そのプロセスが（ステップＯ４６０において）比較モードで処理され、ついでスケジューラは静止状態（ステップＯ４００）に戻る。ＰＶプロセスでなければ、そのプロセスは（ステップＯ４００において）パフォーマンスモードで処理される。このケースでは、ステップＯ４５０においてさらに１つの実行ユニットへの割り当てが行われる。その後、スケジューラは再び静止状態に戻る（Ｏ４００）。
【図面の簡単な説明】
【００５０】
【図１】切替および比較ユニットを一般化して示す図
【図２】本発明によるシステムの計算ユニットにどのようなコンポーネントが設けられているのかを示す図
【図３】機能の集合の分割について示す図
【図４】機能の集合の分割に関する代案について示す図
【図５】判定プロセスの流れを示す図
【図６】２つの実行ユニットを備えたマルチプロセッサシステムを示す図
【図１】
2009505186.tif 000003
【図２】
2009505186.tif 000004
【図３】
2009505186.tif 000005
【図４】
2009505186.tif 000006
【図５】
2009505186.tif 000007
【図６】
2009505186.tif 000008
【国際調査報告】
2009505186.tif 000009
2009505186.tif 000010
2009505186.tif 000011
2009505186.tif 000012
2009505186.tif 000013
2009505186.tif 000014