(57)【要約】【解決手段】  この発明は、制御用コンピュータシステムに関する。この制御用コンピュータシステムは、相互に冗長であるように構成された少なくとも２つのモジュール（１００１、１００２、１００３、１００４）と、少なくとも２つの冗長であるモジュール（１００１、１００２、１００３、１００４）の同期状態を監視し、かつ同期エラーを検出するための少なくとも１つの比較器ユニット（１０１１、１０１２）と、少なくとも１つの周辺ユニット（１０３０、１０３１、…、１０３８）とを有する。制御用コンピュータシステムは、さらに、少なくとも２つの冗長モジュール（１００１、１００２、１００３、１００４）に対するアクセス、または、少なくとも２つの冗長モジュールによる周辺ユニット（１０３０、１０３１、…、１０３８）に対するアクセスを許可するか、または阻止するかを調整する周辺ユニット（１０３０、１０３１、…、１０３８）に対する少なくとも１つのスイッチングマトリックス（１０１３）を有する。エラー処理ユニット（１０８０）は、少なくとも１つの比較器ユニット（１０１１、１０１２）の信号を受信するために、かつ、少なくとも２つの冗長モジュールに対するアクセス、または、少なくとも２つの冗長モジュールによる周辺ユニットに対するアクセスを選択的に完全に、または選択的に阻止するために、設置される。【選択図】図９
2013522785.tif 000002
【特許請求の範囲】
【請求項１】
以下を有する制御用コンピュータシステム：
−  相互に関して冗長であるように設計される少なくとも２つのモジュール（１、２、１００１、１００２、１００３、１００４、１０２１、１０７１）；
−  少なくとも２つの冗長モジュール（１、２、１００１、１００２、１００３、１００４、１０２１、１０７１）の同期状態を監視するための、および、同期エラーを検知するための、少なくとも１つの比較ユニット（２０、２１、９１、９２、１０１１、１０１２）；
−  少なくとも１つの周辺ユニット（９５、９６、１０２２、１０３０、１０３１、…、１０３８）；
−  少なくとも２つの冗長モジュールへのアクセス、または、少なくとも２つの冗長モジュールによる周辺ユニット（９５、９６、１０２２、１０３０、１０３１、…、１０３８）へのアクセスを許可するか、または、ブロックするために設定される少なくとも１つのスイッチングマトリクス（２１、１０１３、１０６３）；および
−  少なくとも１つの比較ユニット（２０、２１、９１、９２、１０１１、１０１２）から信号を受信し、かつ完全に、または選択的に少なくとも２つの冗長モジュールによって少なくとも２つの冗長モジュールへのアクセス、または周辺ユニットへのアクセスを防ぐために、少なくとも１つのスイッチングマトリクス（１０１３、１０６３）を駆動するために設定される、むしろ一般的なエラー処理ユニット（４４、１０８０）。
【請求項２】
以下のような請求項１記載の制御用コンピュータシステム：
−  少なくとも２つの冗長モジュールは、同期して制御プログラムを実行するための少なくとも２つのプロセッサ（１、２、１００１、１００２、１００３、１００４）である；
−  比較ユニット（２０、２１、９１、９２、１０１１、１０１２）は、プロセッサ（１、２、１００１、１００２、１００３、１００４）の同期状態を監視し、かつプロセッサの同期エラーを検知するために使用される；
−  制御用コンピュータシステムは、少なくとも１つのメモリ（５、１０２０、１０２１）を有する；
−  少なくとも１つのスイッチングマトリクス（２１、１０１３、１０６３）は、許可するために設定されるか、または、メモリおよびプロセッサによる１つ以上の周辺ユニットへのアクセスをブロックする；および
−  エラー処理ユニット（４４、１０８０）は、完全に、または選択的に、２つのプロセッサ、または両方のプロセッサ（１、２、１００１、１００２、１００３、１００４）のうちの１つによって、メモリ（５、１０２０、１０２１）、およびまたは、周辺ユニット（９５、９６、１０２２、１０３０、１０３１、…、１０３８）へのアクセスを防ぐために設定される。
【請求項３】
少なくとも４つのプロセッサを有する、請求項２記載の制御用コンピュータシステム。
【請求項４】
プロセッサは、シングルプロセッサ、２重のコアのプロセッサペア、またはコアのプロセッサ、またはマルチコアプロセッサであることができる、請求項２、または３記載の制御用コンピュータシステム。
【請求項５】
少なくとも２つの比較ユニット（１０１１、１０１２）であって、少なくとも２つの比較ユニット（１０１１、１０１２）から信号を受信し、かつ完全に、または選択的にメモリ（１０２０、１０２１）、およびまたは、プロセッサ、またはコア、またはプロセッサペアによる周辺ユニット（１０２２、１０３０、１０３１、…、１０３８）へのアクセスを防ぐために少なくとも１つのスイッチングマトリクス（１０１３、１０６３）を駆動するために、エラー処理ユニット（１０８０）が設定されるものを有する、請求項４記載の制御用コンピュータシステム。
【請求項６】
エラーが生じる場合、エラー処理ユニットは、周辺ユニット（１０２２、１０３０、１０３１、…、１０３８）へのアクセスが、特に、アクチュエータは、少なくとも１つの欠陥があるプロセッサペア、または１つの欠陥があるプロセッサによって防がれるように、スイッチングマトリクスを駆動するために設定される、請求項２〜５のうちの１項記載の制御用コンピュータシステム。
【請求項７】
周辺ユニット（１０３０、１０３１、…、１０３８）は、エラー処理ユニット（１０８０）によって制御される少なくとも１の周辺のブリッジ（１０２２）によって毎時間アクセスされる、請求項２〜６のうちの１項記載の制御用コンピュータシステム。
【請求項８】
少なくとも２つの比較ユニット（１０１１、１０１２）は、プロセッサ（例えばプロセッサペア中のプロセッサ）（１、２、１００１、１００２、１００３、１００４）に直接接続される、請求項５〜７のうちの１項記載の制御用コンピュータシステム。
【請求項９】
制御用コンピュータシステムは、少なくとも２つの別個のスイッチングマトリクス（１０１３、１０６３）を有し、第２スイッチングマトリクス（１０６３）が第２周辺ブリッジ（１０７２）および少なくとも１つのメモリ（１０７１）に接続されている間に、第１スイッチングマトリクス（１０１３）は、第１周辺ブリッジ（１０２２）および少なくとも第１メモリ（１０２１）に接続される、請求項１〜８のうちの１項記載の制御用コンピュータシステム。
【請求項１０】
プロセッサペアにおける第１プロセッサ（１００１、１００３）は、第１スイッチングマトリクス（１０１３）に接続され、また、プロセッサペアにおける第２プロセッサ（１００２、１００４）は、第２スイッチングマトリクス（１０６３）に接続される、請求項９記載の制御用コンピュータシステム。
【請求項１１】
データは、第１スイッチングマトリクス（１０１３）と第１メモリ（１０２１）との間に送信したか、または、比較ユニット（１０９１）によって第２スイッチングマトリクス（１０６３）と第２メモリ（１０７１）との間で送信されたデータ、および、第１スイッチングマトリクス（１０１３）と第１周辺のブリッジ（１０２２）との間で送信されたデータと比較され、比較ユニット（１０９０）によって第２スイッチングマトリクス（１０６３）と第２周辺のブリッジ（１０７２）との間で送信されたデータと比較される、請求項９または１０記載の制御用コンピュータシステム。
【請求項１２】
マルチプレクサ（１１７１、１１７２、１１７３、１１７４）は、それぞれプロセッサペアおよびスイッチングマトリクス（１０１３、１０６３）におけるプロセッサ（１００１、１００２、１００３、１００４）間に位置し、マルチプレクサは、プロセッサペアにおける第１プロセッサ（１００１、１００３）が、第２スイッチングマトリクス（１０６３）とプロセッサペアにおける第２プロセッサ（１００２、１００４）とにアクセスすることができるように接続され、回復ユニット（１０８０）が、したがってマルチプレクサ（１１７１、１１７２、１１７３、１１７４）を制御するとすぐに、第１スイッチングマトリクス（１０１３）にアクセスすることができる、請求項１０または１１記載の制御用コンピュータシステム。
【請求項１３】
少なくとも１つのスイッチングマトリクス（１０１３、１０６３）は、メモリ、または周辺ユニットへのアクセスをブロックし、または、外部の、または内部の、好ましくは、不揮発性メモリにおけるアクセスを記録するために、設定される監視ユニット（１０１４、１０６４）を有する、先行する請求項のうちの１項記載の制御用コンピュータシステム。
【請求項１４】
エラー処理ユニット（１０８０）は、直接、間に置かれたスイッチングマトリクス（１０１３、１０６３）なしで、少なくとも２つの比較ユニット（１０１１、１０１２）から信号を受信する、請求項２〜１３のうちの１項記載の制御用コンピュータシステム。
【請求項１５】
制御用コンピュータシステムは、第１および第２揮発性メモリおよび不揮発性メモリを有し、特に、第１プロセッサペアは、第１揮発性メモリにアクセスし、かつ、第２プロセッサペアは、第２揮発性メモリにアクセスし、さらに、両方のプロセッサペアは、１つの不揮発性メモリにアクセスする、請求項１〜１４のうちの１項記載の制御用コンピュータシステム。
【請求項１６】
プロセッサペアにおける第１プロセッサ（１００１、１００３）は、少なくとも１つのスイッチングマトリクス（１０１３）に直接接続され、すなわち、メモリ（１０２０、１０２１）、およびまたは、周辺ユニット（１０２２、１０３０、１０３１、…、１０３８）に対して読出書込アクセスを有するとともに、一方、プロセッサペアにおける第２プロセッサ（１００２、１００４）は、データに対して読込アクセスだけをすることができ、特に、比較ユニット（１０１１、１０１２）は、直接、プロセッサペアにおける両プロセッサに接続しているプロセッサペアにおける第２プロセッサ（１００２、１００４）へのデータへの読取りアクセスのみを送信する、請求項１〜１５のうちの１項記載の制御用コンピュータシステム。
【請求項１７】
エラー処理ユニット（１０８０）は、同期エラーが生じた後、２つまたはそれ以上のプロセッサユニット（１、２、１００１、１００２、１００３、１００４）、または２つの冗長モジュールによる少なくとも１つのテストプログラムの実行を監視し、かつ、テスト結果を評価するために設定され、少なくとも１つの第１マルチプレクサ（７０、９１）、またはスイッチングマトリクス（１０１３、１０６３）を構成するために設定される回復制御装置（４４）である、請求項１〜１６のうちの１項記載の制御用コンピュータシステム。
【請求項１８】
回復制御装置（４４）は、エラータイプに同期エラーを割り当てるように、かつ、エラータイプに基づくテストプログラムを選択するように設定される請求項１７記載の制御用コンピュータシステム。
【請求項１９】
回復制御装置（４４）は、テスト結果に基づいて第１マルチプレクサ（７０、９１）を構成するために設定される請求項１７または１８記載の制御用コンピュータシステム。
【請求項２０】
第１周辺ユニット（７２）は、２つのプロセッサ（１、２）のうちの１つによって自由に駆動することができる共通ユニットであり、制御用コンピュータシステムは、少なくとも２つのさらなる周辺ユニット（６１、６３）を有し、さらに、２つの周辺ユニット（６１、６３）のうちの一方は、第１プロセッサ（１）にのみ割り当てられ、かつ、２つの周辺ユニット（６１、６３）のうちの他方は、それぞれ割り当てられたプロセッサ（１、２）によってのみアクセスすることができる個人の周辺ユニットとして第２プロセッサ（２）にのみ割り当てられる、請求項２〜１９のうちの１項記載の制御用コンピュータシステム。
【請求項２１】
２つの、さらなる周辺ユニット（６１、６３）は、冗長なユニットである請求項２０記載の制御用コンピュータシステム。
【請求項２２】
少なくとも２つのプロセッサペア（１００１および１００２、１００３および１００４）、検知するエラーのための少なくとも２つの比較ユニット（１０１１、１０１２）、メモリ、およびまたは、プロセッサまたはプロセッサペアによる少なくとも１つの周辺ユニットへのアクセスを許可するか、またはブロックする少なくとも１つのスイッチングマトリクス（１０１３、１０６３）、少なくともスイッチングマトリクス（１０１３、１０６３）を制御することができる少なくとも１つのエラー処理ユニット（１０８０）を有し、プロセッサペアは、エラーなしモードにおける機能を提供するために異なるプログラムを実行することができ、また、エラーが生じる場合、エラーなしのプロセッサペアが、欠陥があるプロセッサペアの少なくともいくつかの機能を仮定する、制御用コンピュータシステムを制御する方法。
【請求項２３】
制御用コンピュータシステムによって駆動された装置の安全性に重大な機能は、エラーの発生と無関係に実行される請求項２２記載の方法。
【請求項２４】
エラーが生じるときに、非安全性重大機能は少なくとももはや部分的に提供されない請求項２２または２３記載の方法。
【請求項２５】
エラーが生じるときに、欠陥があるプロセッサか、またはプロセッサペアによる周辺ユニットへのアクセスは阻まれる、請求項２２〜２４のうちの１項記載の方法。
【請求項２６】
そこではエラーが生じた後、欠陥があるプロセッサペアは診断プログラムを実行する、請求項２２〜２５のうちの１項記載の方法。
【請求項２７】
生じたエラーは、分類され、その区別が、少なくとも、間欠エラーと永久エラーとの間でなされる、請求項２６記載の方法。
【請求項２８】
永久エラーが生じた後、欠陥があるプロセッサペアは、永久に非作動化される請求項２７記載の方法。
【請求項２９】
欠陥があるプロセッサペアが検知されている永久エラーのない診断プログラムを介して実行した場合、両方のプロセッサペアは、再度、異なるプログラムを実行することができる、請求項２７または２８記載の方法。
【請求項３０】
エラー処理ユニットは、不揮発性メモリにおけるエラーの発生を記録する、請求項２２〜２９のうちの１項記載の方法。
【請求項３１】
生じたエラーの数、およびまたは、頻度が所定のしきい値を超過する場合、プロセッサペアは、永久に非作動される請求項３０記載の方法。
【請求項３２】
ブレーキシステムを制御するか、または規制するために、自動車両における先行する請求項のうちの１つに記載の制御用コンピュータシステムの使用。
【請求項３３】
制御用コンピュータシステムを制御する方法：
この方法は以下の有する：
−  有している制御システムの提供：
−  少なくとも２台のプロセッサが少なくとも２台のプロセッサ（１００１および１００２、１００３および１００４）においてそれぞれをペアにする、
−  エラーを検知するための、および各プロセッサペアにおけるプロセッサ（１００１および１００２、１００３および１００４）の同期を監視するための少なくとも１つの比較ユニット（１０１１、１０１２）、
−  許可する少なくとも１つのスイッチングマトリクス（１０１３、１０６３）、またはメモリ、およびまたは、プロセッサペアにおけるプロセッサによる１つ以上の周辺ユニットへのアクセスをブロックする、そして、
−  スイッチングマトリクス（１０１３、１０６３）を駆動するための少なくとも１のエラー処理ユニット（１０８０）；
−  １つ以上の周辺ユニット、およびまたは、メモリを駆動するためにプロセッサペア上の第１安全性関連ソフトウェアプログラム、および第２プロセッサペア上で同期して実行する少なくとも第２安全性関連ソフトウェアプログラムを同期して少なくとも実行すること；
−  比較ユニット（１０１１、１０１２）による各プロセッサペアにおけるプロセッサ（１００１および１００２、１００３および１００４）の同期を監視し、プロセッサペアにおける２台のプロセッサ（１００１および１００２、１００３および１００４）が非同期である場合に、比較ユニット（１０１１、１０１２）による同期エラー信号を出力すること；そして、
−  同期エラー信号がアウトプットである場合：
−  プロセッサペアによる、第１安全性関連ソフトウェアプログラム、および第２安全性関連ソフトウェアプログラムの実行の中断、
−  ２つのプロセッサペアのうちの１つが欠陥があるかどうかをチェックするためにテストを実行すること、そして、
−  エラーなしのプロセッサペアにおける第１安全性関連ソフトウェアプログラムおよび第２安全性関連ソフトウェアプログラムを実行しており、エラー処理ユニット（１０８０）によってスイッチングマトリクス（１０１３、１０６３）を駆動して、２つのプロセッサペアのうちの１つが欠陥がある場合、メモリ、およびまたは、このプロセッサペアにおける１台のプロセッサだけが欠陥がある場合、欠陥があるプロセッサペアまたはプロセッサによる１つ以上の周辺ユニットへのアクセスをブロックする。
【請求項３４】
そのテストは、両方のプロセッサペアであって、下記条件の少なくとも１つに遭遇する場合、欠陥があるとプロセッサペアにおけるプロセッサが考えられるものによる少なくとも１つのテストプログラムの同時実行を有し：
−  プロセッサは、第１の期間Ｔ１内のテストプログラムを実行していない、
−  プロセッサは、成功裡にテストプログラムを実行していない、
−  第１の期間Ｔ１が経過した後、プロセッサは第２の期間Ｔ２のために静止状態に変化していない請求項３３記載の方法。
【請求項３５】
同期エラーが評価され、または、エラータイプに割り当てられ、少なくとも１つのテストプログラムは、プロセッサをチェックするためにエラータイプに基づいて選択されている、請求項３３または３４記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、冗長な（redundant）プロセッサ装置、および制御方法、特には、冗長な２台のプロセッサ装置、およびマルチコアの冗長な制御用コンピュータシステムに関する。
【背景技術】
【０００２】
２台のプロセッサに、厳密な（rockstep)モードで同一の命令を実行させ、かつ、その出力データを比較することにより、エラーが生じたかどうかを判断することは、知られたプラクティスである。
【０００３】
この場合、２台のプロセッサは、クロック同期でか、または、ある一時的な（したがって比較の間に補償される）オフセットをもって、動作されることができる。両方の永久エラーであって、例えば生産の間に取込まれた欠陥によって引き起こされるもの、および、過渡的なエラーであって、例えば一時的な電磁障害によって引き起こされるものは、この場合生じてもよい。プログラムの実行は、中断され、また、最も単純な場合には、厳密なエラーが生じる場合、コンピュータシステムは、非作動化され、その場合には、２台のプロセッサからの出力データは、したがって、相互に異なる。
【０００４】
しかしながら、エラー容認を提供すると、それによって、エラーが生じる場合には、コンピュータシステムは、このように希望するプログラムを実行し続ける、２重の冗長度を備えたプロセッサのための特別の挑戦である。ちょうど２台の冗長なプロセッサによって安全プラットフォームでエラー容認能力を支援する試みがなされた。ＵＳ  ５９１５０８２  Ｂ２は、内部バスが比較されるパリティビットを備えているシステムアーキテクチャーを開示する。パリティエラーが一方サイドで検知された後、関連するプロセッサは切り離されるので、それは、もはやシステムに影響がない。システムは、パリティエラーなしで生じるすべての厳密なエラーの後に、スイッチが切られる。パリティチェッキングに基づくこの手順は、冗長システムの有用性が、厳密なエラーの発生の後にさえ、非常に望ましい場合の充分な適用範囲を提供しない。２つの内部の冗長なユニットが、同時に異なるマルチビットエラーを示す場合には、パリティチェックは、例えば誤判定に先行することができる。
【０００５】
さらに既知のエラー容認システムアーキテクチャーは、共有か、共同で使用されたメモリを備えた少なくとも３つのプロセッサコアを有する。この場合、プロセッサの厳密なモードは、バス信号を監視することにより常にチェックされる。厳密なモードは、また、以下に、プロセッサによるプログラムまたはプログラム部分の同期実行と呼ばれる。
【０００６】
作動中のプロセッサがエラーをする場合、入出力チャネルによって作動中のプロセッサによって駆動されるメモリ領域およびコンポーネントの所有は、他のプロセッサに進む。厳密なエラーに続く厳密な誤差状態（同期エラー）においては、データアクセスと制御プロセスは、作動中のプロセッサから除去され、別のプロセッサによって維持される。
【０００７】
エラー許容システム用の古典的な最小構成であって、プロセッサおよび共同で用いられているメモリの３倍の冗長度（ＴＭＲ：三重モジュール冗長）を有するものは、依然として、その安全概念が、厳密に、または、同期して作動する２台の冗長なプロセッサの使用に基づく多くの安全アーキテクチャ用の高価な解決である。しかしながら、エラー許容は、２重の冗長度を備えたプロセッサ用の特別の挑戦である。
【０００８】
ＵＳ７３６６９４８Ｂ２およびＵＳ２００６／０１０７１０６は、厳密なモードで動作する複数のプロセッサペアからなるシステムにおいて、有用性を支援するための方法を記述している。２台の冗長なプロセッサが、各ペアにおいて組み合わされ、そして、それらの出力は、連続的に比較される。エラーが１つのプロセッサペアに生じる場合には、他のプロセッサペアは、ブートプロセッサペアとしてシステムの駆動を仮定する。一方、エラーを備えたプロセッサペアは、同期を回復して、それ自身、スタンバイプロセッサペアとして利用可能になることを試みる。このことは、システムのハイレベルの有用性を保証する。しかしながら、エラーがなく、１つのプロセッサペアが、記述された方法がこのように貧弱な費用対性能比を提供するときに使用されないので、この方法は、多くの組込システムにとっては高価すぎる。２つのペアに分割され、かつ、その出力信号がペアにおいて比較される４台のプロセッサは、シングルタスク用に、常に使用されるに違いない。厳密なエラー（ＬＯＬ：厳密さの損失）、または他のプロセッサ内部エラーが、プロセッサペアに検知される場合、オペレーティングシステムは、欠陥があるプロセッサペアを静止状態に変更し、他のプロセッサペアを作動化する。
【０００９】
ＥＰ  １  ３８０  ９５３  Ｂ１は、厳密な同期を備えたエラー許容のコンピュータシステムを定義し、前記システムは、プロセッサおよびメモリを備えた計算モジュールの多重度を有しており、さらに、前記システムを再同期するための方法について記述している。計算モジュールが、それぞれ同期して同一の命令列を処理するので、このコンピュータシステムは、あまり効率的ではない。
【００１０】
ＥＰ  １  ４５６  ７２０  Ｂ１は、クロック同期において作動し、チップに部分的に、または完全に冗長な周辺素子、および部分的に、または完全に冗長なメモリー素子を統合する２台の制御用コンピュータをそれぞれ有する２台以上の制御用コンピュータシステムを有する、自動車両における安全性が重要な用途のためのコンピュータグループを開示している。クロック同期において作動する制御用コンピュータシステムの制御用コンピュータは、エラー用にそれらを監視し、車両データバスに対して制御用コンピュータシステムを割り当てられた通信制御装置を連結することができる、アービトレーションユニットに接続されるか、または前記コントローラを切り離すことができる。制御用コンピュータのうちの１つが誤動作する場合、対応する制御用コンピュータシステムは、部分的に、または完全に非作動化される。
【００１１】
ＤＥ  １０  ２００９  ０００  ０４５  Ａ１は、それぞれ２ペアの２つの実行ユニットを有するコンピュータシステムを有しており、かつ、特に、自動車両において、使用される制御装置を動作するための装置を開示している。各ペアにおける実行ユニットは、同一のプログラムを実行し、さらに、各実行ユニットからの出力信号は、それぞれの比較ユニットによって相互に比較され、かつ、不一致が生じる場合には、エラー信号が出力される。エラー信号が、実行ユニットの第１ペアに対して生じる場合、このペアのスイッチは切られ、また、コンピュータシステムは、実行ユニットの第２ペアを使用して動作され続け、そして、先行警告信号が、ドライバーに出力される。
【００１２】
前記文献は、エラーがないときに、少なくとも１つのプロセッサペアは、不作動か、または周辺ユニットを動作する作動中のプロセッサペアと同一のプログラムを実行するので、高度の冗長度は、利用可能になるに違いないという不利益を有する。したがって、それぞれ個々のプロセッサは、要求される計算パワー全体を提供するに違いなく、その結果として、既知のコンピュータシステムは、あまり効率的な方法では作動しない。このことは、特に、多量に生産されたシステムの場合に、コストの視点から不適当である。
【００１３】
ＵＳ  ７３６６９４８  Ｂ２に記述された方法は、組込システム用非常に高価な解決である。他のコンポーネントを、プロセッサコアとは別に、冗長な方法で必ずしも実行することができるとは限らないという事実が、またある。異なる安全関連システム、例えば、自動推進のセクターのブレーキ印加用の安全アーキテクチャを設計するときに、財務上の理由が、通常、重要な役割を果たす。プログラムメモリ、例えばフラッシュメモリは、冗長でないが、むしろすべての既存のプロセッサによって、むしろ使用される。従来方式は、冗長なプロセッサに基づいた安全アーキテクチャにおける有用性を保証することに対するアプローチにおいて非冗長コンポーネントのこの境界条件を考慮しない安全アーキテクチャのプロセッサの有用性を保証することについての他の問題は、安全点検が成功裡に終えられた後だけ、再び以前にエラーをしたプロセッサを開始することができるということである。
【発明の概要】
【００１４】
この背景に対して、ちょうど２台の冗長なプロセッサを有しており、システムのハイレベルの有用性を可能にする安全アーキテクチャの必要がある。３台、またはそれ以上のプロセッサ、例えば、２つのコアをそれぞれ備えた２台のプロセッサを有しており、システムのハイレベルの有用性を可能にする安全アーキテクチャの必要が、さらにある。
【００１５】
１つの概念によれば、この発明の目的は、同時に、エラー許容で、効率的である制御用コンピュータシステムを提供することである。
【００１６】
１つの実施例によれば、冗長なプロセッサコアのペアに基づいた安全アーキテクチャは、既存の安全レベルが保持されるような方法で形成されるように意図され、さらに、システムのハイレベルの有用性が可能である。さらに、プロセッサは、正常な（またはエラーがない）モードにおけるハイレベルの性能を生み出すように意図される。エラーが検出された後、システムの有用性は、非冗長のコンポーネントの安全な接続を考慮に入れて保持されるように意図される。
【００１７】
この背景に対して、請求項１による制御用コンピュータシステムが、提供される。２台のプロセッサ制御装置が、また、提供される。請求項２２または３３による制御用コンピュータシステムを制御する方法が、また、提供される。請求項３２による制御用コンピュータシステムの使用が、また、提供される。
【００１８】
１つの実施例は、制御用コンピュータシステムを提供する。制御用コンピュータシステムは、相互に関して冗長であるように設計される少なくとも２つのモジュールと；少なくとも２つの冗長モジュールの同期状態を監視するための、および同期エラーを検知するための少なくとも１つの比較ユニットと；少なくとも１つの周辺ユニットと；少なくとも２つの冗長モジュールへのアクセス、または、少なくとも２つの冗長モジュールによる周辺ユニットへのアクセスを、許可するか、またはブロックするように設置される少なくとも１つのスイッチングマトリクスと、を有する。制御用コンピュータシステムは、また、少なくとも２つの冗長モジュールへのアクセス、または、少なくとも２つの冗長モジュールによる周辺ユニットへのアクセスを、完全に、または選択的に防止するために、少なくとも１つの比較ユニットから信号を受信し、さらに、少なくとも１つのスイッチングマトリクスを動作するために設置される、エラー処理ユニットを有する。
【００１９】
エラーの場合には、欠陥モジュールへのアクセス、または欠陥モジュールによる周辺ユニットへのアクセスが、エラー処理ユニットによって作動されるスイッチングマトリクスによって排除される。１つの実施例によれば、エラー処理ユニットは、始動し、さらに、エラーについて冗長モジュールをチェックするための１つまたはそれ以上のテストを監視し、そして、エラーが検知されるときに、欠陥モジュールが、特に、安全性関連用途をもはや考慮しないような方法で、スイッチングマトリクスを制御する。
【００２０】
１つの実施例によれば、少なくとも２つの冗長モジュールは、制御プログラム、または、他のユニット、例えば余分に設計されたメモリモジュールを同期して実行するための少なくとも２つのプロセッサである。
【００２１】
１つの実施例によれば、制御用コンピュータシステムは、少なくとも４つのプロセッサを有し、このプロセッサは、単一のプロセッサ、プロセッサペアのプロセッサ、または、２重コアのコア、または、マルチコアプロセッサであることができる。
【００２２】
１つの実施例によれば、ペアの冗長なプロセッサコアに基づいた安全アーキテクチャは、欠陥があるプロセッサペア、少なくとも２つのプロセッサコアを有するプロセッサの個々の欠陥があるプロセッサコア、およびまたは、欠陥があるコンポーネントは、エラーが検知された後、独立したモジュールが、欠陥があるプロセッサペアによって安全性関連の周辺ユニットへのいかなるアクセスをもブロックするので、既存のアクチュエータを作動することから除外されるような方法で、修正される。エラーなしのプロセッサペア、または、プロセッサコア、または欠陥があるコンポーネントは、非常モードを確実にするためにノーマルモードを残す。非常モードにおいて、必要ならば、エラーなしのプロセッサペア／プロセッサコアは、それぞれ、エラーをしたプロセッサペア／プロセッサコアのいくつかのタスクを仮定し、かつ、そのオリジナルのタスクの部分集合をさらに実行する。それぞれのプロセッサペア／プロセッサコアについては、後者において作動するソフトウェアプログラムは、２つのグループに分割される。１グループのソフトウェアプログラムは、他のグループにおけるソフトウェアプログラムが、非常モードにおいてスイッチを切られている間に、ノーマルモードおよび非常モードの両者において、作動することができるように意図される。エラーなしのプロセッサペア／プロセッサコアは、したがって、非常モードにおいて追加のタスクを仮定することができる。それぞれのソフトウエアコンポーネントは、非常モードについて、適切か、または適当でないか、およびまたは、分与できるか、または分与できないか、のように分類される。プロセッサペア／プロセッサコアが欠陥を有する場合、非常モードについて必要なタスクは、エラーなしのプロセッサペア／プロセッサコアによって仮定される。
【００２３】
この発明の１つの好ましい実施例においては、その目標は、安全アーキテクチャのノーマルモードを回復することであり、その理由は、欠陥があるプロセッサペア／プロセッサコアは、多数のチェックするテストにさらされる。これらのテストが実行されている間に、このプロセッサペア／プロセッサコアは、実行されたアルゴリズムの以前に知られた結果に相当するように意図される様々な結果を格納する。この場合、独立したハードウェアモジュールは、その結果の正確さをチェックする。回復条件が成功裡にテストされた後、プロセッサペア／プロセッサコアは、すべてノーマルモードに返る。
【００２４】
この発明による制御用コンピュータシステムは、欠陥があるプロセッサペア／プロセッサコアが周辺ユニットにアクセスするのを防止することができるという事実の結果、アクチュエータを作動する欠陥があるプロセッサペア／プロセッサコアによって引き起こされる損害は、防止される。
【００２５】
エラーがないときは、この発明による制御用コンピュータシステムの個々のプロセッサペア、またはプロセッサコアは、異なるプログラムを実行することができ、その結果として、高い計算能力が利用可能である。エラーが生じる場合は、エラーなしのプロセッサペア、またはエラーなしのプロセッサコアは、欠陥があるプロセッサペア／プロセッサコアの限界的機能を仮定し、しかし、いくつかの非限界的機能は、もはや利用可能ではない。この非常モードは、この発明による制御用コンピュータシステムのハイレベルのエラー許容（error tolerance）を可能にする。
【００２６】
この発明は、また、自動車両、特に、ブレーキシステムを制御し、または調整するために、この発明による制御用コンピュータシステムの使用に関する。
【００２７】
１つまたはそれ以上の実施例によれば、例えば、冗長な２台プロセッサの制御装置の形の制御用コンピュータシステムは、制御用プログラムを同期して実行するための、第１プロセッサ（または、プロセッサの第１コア）、および、第２プロセッサ（または、プロセッサの第２コア）と、２台のプロセッサのうちの１台に対して駆動される第１周辺ユニットを自由に接続するための少なくとも１つの第１マルチプレクサと、２台のプロセッサの同期状態を監視するための、さらに、同期エラーの検知のための、少なくとも第１比較ユニット（コンパレータ）とを有する。制御用コンピュータシステム（制御装置）は、また、同期エラーが生じた後、２台プロセッサによる少なくとも１つのテストプログラムの実行を監視し、かつテスト結果を評価するために設置され、そして少なくとも第１マルチプレクサを形成するために設置される回復制御装置であって、また、いくつかの実施例におけるＳＡＭモジュールと呼ばれるものを有する。
【００２８】
比較ユニットは、プロセッサの同期動作、すなわち、厳密なやり方を監視する。このことは、「一行ずつ」ベースで、制御プログラムの実行を比較することにより達成することができ、その場合には、同一の結果が、存在しているに違いない。このことが、その場合でない場合には、厳密なエラーがある、すなわち、プロセッサがもはや同期して作動していない。
【００２９】
現在作動中のプロセッサが、エラーなしで作動しているかどうかをチェックするためにそれを使用することができるので、制御プログラムの同期実行は、冗長システムの重要な特徴であり、その場合には、両方のプロセッサにおける同一のエラーの同時の発生が、統計的に非常にありそうもないということが仮定される。しかしながら、同期エラーが生じる場合、そのエラーが、作動中か、または非作動中のプロセッサ（コア）に生じたかどうかは、当初は不明確である。この場合、作動中のプロセッサ（コア）は、実際に周辺ユニットを駆動するプロセッサを意味するよう理解されることを意図される。
【００３０】
非作動中のプロセッサ（コア）は、同期して、単に付随的に作動する、すなわち、同一のデータを受信し、さらに、作動中のプロセッサと同一のプログラムステップを実行するプロセッサである。
【００３１】
同期エラーが生じる場合、制御が正しく実行されることは、したがってもはや確実でない、すなわち、特に、例えば、自動車のセクターで、またはほかに他のセクターで使用されるように、安全性関連システムにおいて、リスクがあるということである。制御システム、例えば、図７および８において示される制御システムは、通常、完全にスイッチを切られるに違いない。
【００３２】
ここで提案された解決は、同期エラーが、２台のプロセッサのどちらが欠陥があるかを決定するために生じるときに、２台のプロセッサ（コア）をテストにさらす回復制御装置（独立したハードウェアモジュール）を提供する。テストが実行され、そのテスト結果が評価された後に、回復制御装置は、後の手順を決定する。
【００３３】
両方のプロセッサが、テストに合格している場合、両方のプロセッサがエラーがないと仮定される。この場合、制御プログラムの同期実行は、継続される。
【００３４】
この解決は、２台のプロセッサがエラーの不在に対するテストにさらされたので、高い安全性レベルを維持する一方で、周辺ユニットの駆動が、継続することができる決定的な利点を有する。このことは、同期エラー（厳密なエラー）が生じており、かつシステムが再び単に外部的にリセットすることができる後に、完全なスイッチ切りが、原理的に実行される他の解決に対する決定的な利点である。この場合、エラー評価が実行されない、すなわち、同期エラーを引き起こしたものは、未確認のままであるので、システムの単なるにリセットは、多くの場合、安全性関連用途のための満足な解決でないことは、心に留めておかれるに違いない。したがって、ここに記述された解決は、同期エラーに対処する方法を提供し、厳密なエラーの後に２つの冗長システムの同期を回復することを可能にする。
【００３５】
対照的に、プロセッサ（コア）が欠陥があると考えられた場合、制御装置（制御用コンピュータシステム）は、欠陥があるプロセッサのアウトプットが、その時以来無視されるように正確であるように回復制御装置（ＳＡＭモジュール）によって再構成され、また、周辺ユニットがその後エラーなしのプロセッサによってばかりでなく、欠陥があるプロセッサによっては駆動されないことが保証される。このことは、データの流れが、周辺ユニットとエラーなしのプロセッサとの間で単に可能であるという結果によって、第１マルチプレクサを再構成することにより、通常達成される。さらに、再構成は、もはやいかなる監視も実行しない比較ユニットに帰着する。
【００３６】
この解決は、このことが今、プロセッサ側における冗長度なしで達成されたとしても、周辺ユニットの駆動は継続することができるという決定的な利点を有する。このことは、同期エラー（厳密なエラー）が生じたときに、制御が完全にスイッチをきられた既知の解決に対する相当な利点である。提案された解決は、システムの有用性を増加し、このシステムは、システムの制御が維持し続けることができるように、限界的な用途において、特に重要である。しかしながら、制御装置は、メンテナンスは実行することができる結果によって、今存在する「シングルプロセッサ動作」を示すためにエラー信号を発信することができる。
【００３７】
ここで提案されており、同期エラーを制御するための手段を有する冗長な制御装置は、任意の希望の安全性適切なシステムにおいて使用することができる。自動車セクターのブレーキ印加は、一例である。この場合、２台の冗長なプロセッサだけに基づく制御装置は、それが既存の安全レベルを維持し、またシステムのハイレベルの有用性を可能にするように形成される。
【００３８】
駆動される周辺ユニットは、原理的に、それぞれのプロセッサによってアクセスされるあらゆるユニットを意味するように理解することができる。例は、メモリ、アクチュエータ、入出力装置ユニット、およびセンサである。
【００３９】
１つまたはそれ以上の実施例によれば、回復制御装置は、エラータイプに同期エラーを割り当て、かつエラータイプに基づくテストプログラムを選択するように設置される。
【００４０】
生じたエラーは、そのエラーがどこに生じることができたか、または、どのコンポーネントがエラーを引き起こしたかを、見つけ出すために分析される。適切なテストプログラムは、その後、この根拠で選択されており、その場合には、テストプログラムおよび予期されたテスト結果は、前もって、例えば回復制御装置に格納される。エラー、すなわち、２台のプロセッサ出力の間の差が、異なるメモリアドレスに明示される場合、例えば、メモリエラーを検知するために使用することができるテストプログラムを選択することが可能である。このアプローチは、エラーの集中を改善する。
【００４１】
１つ、またはそれ以上の実施例によれば、回復制御装置（ＳＡＭモジュール）は、テスト結果に基づく第１マルチプレクサを構成するために設置される。マルチプレクサ、そして一般的に、制御装置は、テスト結果に基づいてこのように構成される。バスマトリックスによって仮定されることは、マルチプレクサの機能にとって可能である。
【００４２】
１つ、またはそれ以上の実施例によれば、制御装置は、また、２台のプロセッサのうちの１台に駆動される少なくとも１つの第２周辺ユニットを自由に接続するための少なくとも第２マルチプレクサを有し、その第２マルチプレクサは、回復制御装置によって構成することができる。制御装置は、このように、また、安全の状況を考慮に入れる間に、複数の周辺ユニットを自由に駆動することを可能にする。
【００４３】
１つまたはそれ以上の実施例によれば、制御装置は、また、２台のプロセッサの同期状態を監視するための、および同期エラーを検知するための少なくとも１つの第２比較ユニット（比較器）を有する。このことは、相互の監視を可能にし、かつ、このようにシステムの信頼性を増加させる。
【００４４】
１つまたはそれ以上の実施例によれば、制御装置は、第１マルチプレクサに第１プロセッサを接続する第１バスマトリックス、および、第２マルチプレクサに第２プロセッサを接続する第２バスマトリックスを有する。
【００４５】
１つまたはそれ以上の実施例によれば、第１周辺ユニットは、２台のプロセッサのうちの１台によって自由に駆動することができる共通ユニットである。１つの実施例によれば、制御装置は、また、少なくとも２つのさらなる周辺ユニットを有し、その２つの周辺ユニットのうちの１つは、第１プロセッサにのみ割り当てられ、さらに、その２つの周辺ユニットの他方は、それぞれに割り当てられたプロセッサによってのみアクセスすることができる個人の（private）周辺ユニットとして第２プロセッサにのみ割り当てられる。この場合に、共通の周辺ユニット、またはコンポーネントは、冗長なやり方で駆動される１ユニットを意味するように理解される、すなわち、その駆動は、２台のプロセッサのうちの１台によって自由に実行され、その場合に、他のプロセッサは、比較用に使用される。対照的に、個人のユニットは、常に、２台のプロセッサのうちの１台のみによって駆動される。それぞれの他のプロセッサは、マルチプレクサ経由でなくてさえ、このユニットに対するアクセスを有しない。ここで示された解決は、財務上の理由で様々な組込システムにおいて通常実行される非冗長コンポーネントを考慮に入れている間でさえ、２台の冗長なプロセッサ間の同期が回復されることを可能にする。
【００４６】
１つまたはそれ以上の実施例によって、２つの、さらなる周辺ユニットは、冗長なユニットである、すなわち、それらは、物理的に同一であり、同一の機能を実行するために使用される。
【００４７】
１つまたはそれ以上の実施例によれば、第１、およびまたは、第２比較ユニットは、同期エラーが生じるときに、同期エラー信号を生成するように設置される。例えば、同期エラー信号は、割り込みであることができる。
【００４８】
１つの実施例は、例えば、冗長な２台プロセッサの制御装置の形で制御用コンピュータシステムを提供する。以下を有する制御用コンピュータシステム：制御プログラムを同期して実行するための第１プロセッサおよび第２プロセッサ；２台のプロセッサのうちの１台に自由に共通の第１周辺ユニットを接続するための、少なくとも１つの第１マルチプレクサ；少なくとも２つのさらなる周辺ユニットであって、その２つの周辺ユニットのうちの１つは、第１プロセッサにのみ割り当てられ、かつ２つの周辺ユニットのうちの他方は、それぞれ割り当てられたプロセッサによってのみアクセスすることができる個人の周辺ユニットとして第２プロセッサにのみ割り当てられるもの；２台のプロセッサの同期状態を監視するための、さらには、２台のプロセッサが非同期であるときに、同期エラーを検知するための、少なくとも１つの第１比較ユニット；同期エラーが生じた後に、２台のプロセッサによる少なくとも１つのテストプログラムの実行を監視し、かつ、テスト結果を評価するために設置され、そして、テスト結果に基づく第１マルチプレクサを構成するために設置される回復制御装置。
【００４９】
１つの実施例によれば、制御用コンピュータシステムは、また：上記のものは以下を有する：第１マルチプレクサに第１プロセッサを接続する第１バスマトリックス；第１マルチプレクサに第２プロセッサを接続する第２バスマトリックス。
【００５０】
１つの実施例は、例えば冗長な２台プロセッサの制御装置の形における制御用コンピュータシステムを提供する：上記のものは、以下を有する：制御プログラムを同期して実行するための第１プロセッサおよび第２プロセッサ；少なくとも１つの第１および少なくとも１つの第２周辺ユニット；２台のプロセッサのうちの１台に第１周辺ユニットを自由に接続するための、少なくとも１つの第１マルチプレクサ；２台のプロセッサのうちの１台に第２周辺ユニットを自由に接続するための少なくとも１つの第２マルチプレクサ；２台のプロセッサの同期状態をそれぞれ監視するための、および、同期エラーを検知するための、少なくとも１つの第１および少なくとも１つの第２比較ユニット；
同期エラーが生じた後に、２台のプロセッサによる少なくとも１つのテストプログラムの実行を監視するために、かつ、テスト結果を評価するために設置され、テスト結果に基づく第１および第２マルチプレクサを構成するために設置される回復制御装置。
【００５１】
１つの実施例によれば、例えば冗長な２台のプロセッサの制御装置の形における制御用コンピュータシステムは、また、：上記のものは、以下を有する：第１マルチプレクサに第１プロセッサを接続する第１バスマトリックス；第２マルチプレクサに第２プロセッサを接続する第２バスマトリックス。
【００５２】
１つまたはそれ以上の実施例が、制御方法を提供する。制御方法は、第１プロセッサおよび第２プロセッサによる制御プログラムの同期実行を有し、それらは、駆動される少なくとも１つの周辺ユニットに、マルチプレクサ経由、特別の時に周辺ユニットを駆動する２台のプロセッサのうちの１台だけを接続する。制御プログラムの同期実行は、比較ユニットによって監視される。同期エラー信号は、２台のプロセッサが、非同期であるときに、出力される。同期エラー信号が出力された後、２台のプロセッサによる制御プログラムの実行は、先ず初めに中断される。テストは、その後、２台のプロセッサのうちの１台が欠陥があるかどうかをチェックするために実行される。両方のプロセッサが、エラーがない場合、２台のプロセッサによる制御プログラムの同期実行は、継続する。対照的に、２台のプロセッサのうちの１台が欠陥があるとして識別された場合は、マルチプレクサおよび比較ユニットは、欠陥があるプロセッサとのさらなる通信、および、比較ユニットによるさらなる監視が行われず、また、エラーなしのプロセッサが、周辺ユニットを駆動するようなやり方で構成される。制御プログラムの実行は、エラーなしのプロセッサによって継続される。両方のプロセッサが欠陥がある場合には、コントローラがスイッチを切られる。
【００５３】
１つまたはそれ以上の実施例によれば、テストは、両方のプロセッサによる少なくとも１つのテストプログラムの同時実行を有し、プロセッサは、以下の条件の少なくとも１つに出会うときに、欠陥があるとみなす：−  プロセッサが、時間Ｔ１の第１の期間内のテストプログラムを実行していない、−  プロセッサが、テストプログラムを成功裡に実行していない、−  プロセッサが、時間Ｔ１の第１の期間が経過した後、時間Ｔ２の第２の期間の間、静止状態に変化していない。
【００５４】
このことは、正しいか、または正しくない実行が考慮に入れられるばかりでなく、プロセッサが、所定の時間内のテストを実行したかどうかも考慮に入れられることを保証するように意図される。静止状態をチェックすることは、プロセッサが、たとえそれがいななる命令をも実行していないとしても、データを出力するかどうかを決定するために使用される。このことは、同様に、欠陥があるプロセッサを示す。
【００５５】
１つまたはそれ以上の実施例によれば、同期エラーは、評価され、また、エラータイプに割り当てられ、少なくとも１つのテストプログラムは、プロセッサをチェックするためにエラータイプに基づいて選択される。このことは、１つまたは恐らくはそれ以上のエラー特定のテストプログラムを選択することを可能にする。
【００５６】
さらなる実施例、変更、および利点は、以下の記述、図面、そして請求項において記述される。この発明は、図において例証された特定の代表的な実施例を使用して、今記述される。しかしながら、前記実施例は、限定的であるように、解釈されるべきでない。
【００５７】
保護の範囲に付随的に包含されるように意図される、さらなる修正は、次の記述から当業者にとって明らかとなる。
【図面の簡単な説明】
【００５８】
【図１】ノーマルモードにおける１つの実施例による制御装置の形で、制御用コンピュータシステムを示す。
【図２】プロセッサがエラーするときの、制御用コンピュータシステム（制御装置）を示す。
【図３】１つの実施例による制御装置の形で制御用コンピュータシステムを示す。
【図４】１つの実施例による制御装置の形で制御用コンピュータシステムを示す。
【図５】１つの実施例による制御装置の形で制御用コンピュータシステムを示す。
【図６】１つの実施例による制御プログラムのシーケンスを示す。
【図７】２台のプロセッサを有するアーキテクチャを示す。
【図８】２つのグループＡおよびＢへの周辺モジュールの区分けを備えたアーキテクチャを示す。
【図９】制御用コンピュータシステムを示す。
【図１０】１つの実施例による制御用コンピュータシステムを示す。
【図１１】１つの実施例によるエラー処理方法のためのフローチャートを示す。
【図１２】さらなる制御用コンピュータシステムを示す。
【図１３】１つの実施例による制御用コンピュータシステムを示す。
【図１４】回復の後にスイッチが切られたプロセッサコア２Ｂを備えた図１３からのアーキテクチャにおけるこの発明による制御用コンピュータシステムを示す。
【図１５】回復の後にスイッチが切られたプロセッサコア１Ａおよび２Ｂを備えた図１３からのアーキテクチャにおけるこの発明による制御用コンピュータシステムを示す。
【図１６】回復の後にスイッチが切られたプロセッサコア１Ｂおよび２Ｂを備えた図１３からのアーキテクチャにおけるこの発明による制御用コンピュータシステムを示す。
【図１７】１つの実施例によって制御用コンピュータシステムを示す。
【図１８】１つの実施例によるエラー処理方法のためのフローチャートを示す。
【図１９】１つの実施例によるエラー処理方法のためのフローチャートを示す。
【図２０】回復の後にスイッチが切られたプロセッサコア２Ｂを備えた図１７からのアーキテクチャを示す。
【図２１】回復の後にスイッチが切られたプロセッサコア１Ｂおよび２Ｂを備えた図１７からのアーキテクチャを示す。
【図２２】回復の後にスイッチが切られたプロセッサコア１Ａ、２Ａおよび１Ｂを備えた図１７からのアーキテクチャを示す。
【図２３】回復の後スイッチがに切られたプロセッサコア１Ａおよび２Ｂを備えた図１７からのアーキテクチャを示す。
【図２４】スイッチが切られたデータメモリ２１を備えた図１７からのアーキテクチャを示す。
【発明を実施するための形態】
【００５９】
図１は、第１プロセッサ１、および第２プロセッサ２、および、第１マルチプレクサ９１、および第２マルチプレクサ９２を有する制御用コンピュータシステム、または制御装置を概略的に示す。マルチプレクサ９１、９２のそれぞれは、図において比較器と称するそれぞれの比較装置を備えた１ユニットを形成する。マルチプレクサ９１、９２のそれぞれは、それぞれの周辺ユニット９５、９６に接続され、また、周辺ユニット９５、９６に自由にアクセスすることを、プロセッサ１および２にとって可能にする。回復制御装置４４は、２台の両方のプロセッサ１、２、およびマルチプレクサ９５、９６に接続される。
【００６０】
プロセッサ１、２は、また、プロセッサコアであることができる。
【００６１】
図１において例証された太字の矢印は、マルチプレクサ９１、９２によって、プロセッサ１、２から周辺ユニット９５、９６に、実際に伝えられたデータのフローを示す。プロセッサ１は、周辺ユニット９５と通信し、また、プロセッサ２は、周辺ユニット９６と通信し、かつ、後者を制御する。この場合、プロセッサ２、マルチプレクサ／比較器９２、および周辺ユニット９６が、ブランチＢを形成する一方、プロセッサ１、マルチプレクサ／比較器９１、および周辺ユニット９５は、ブランチＡを形成する。しかしながら、一方では、プロセッサ２とマルチプレクサ／比較器９１との間で、また、他方では、プロセッサ１とマルチプレクサ／比較器９２との間で、細密であるために、クロス通信パスがある。
【００６２】
比較器９１、９２は、プロセッサが、相互に関して同期して作動しているかどうか、すなわち、それらが同時に同じ結果を出力するかどうかをそれぞれ比較する。そうでないならば、同期エラーがある。この場合、プロセッサは、テストされ、また、制御装置は、これに基づいて再構成される。このことは、図２において概略的に例証される。
【００６３】
図２において、回復制御装置４４によって監視され、かつ評価されるテストが、プロセッサ１が欠陥があることを開示したことが仮定された。この場合、２つのマルチプレクサ９１、９２は、両方のマルチプレクサ９１、９２が、プロセッサ１からの出力を無視するように精細であるように再構成される。同時に、マルチプレクサ９１は、今度は、プロセッサ２と周辺ユニット９５との間の通信を可能にする。プロセッサ２は、今度は、両方ともブランチＡ、およびブランチＢの両方における周辺ユニットを駆動する。プロセッサ２は、既に、比較目的のためのノーマル状態における周辺ユニット９５（ブランチＡ）用の制御プログラムを実行していたので、この目的のために必ずしも異なったようにプログラムされる必要はない。相違は、それは今やまた、周辺ユニット９５に対する「書く」アクセスを有することのみである。後者は、今、もはやプロセッサ１からの入力を受けないので、比較器の比較機能は、また非作動化される。このことは、比較器９１、９２が、それ以上のエラー信号を出力しないので、必要である。
【００６４】
その結果、周辺ユニット９５および周辺ユニット９６用の制御プログラムを有する制御用プログラムの実行が、再び継続することができる。このことは、システムの有用性を増加する。
【００６５】
テストが、両プロセッサ１、２がエラーがないことを開示した場合には、図１における状態は、再び仮定される。両プロセッサが欠陥がある場合は、システムは、スイッチが切られる。
【００６６】
図１および２において示される手順は、特に、冗長であるように設計されていない周辺ユニットにおいて、有利である。
【００６７】
図１および２において示されるアーキテクチャは、２つのグループＡおよびＢへの周辺モジュールの区分を有する。それぞれのグループは、少なくとも１台のプロセッサ１、２と、バス切換えスイッチ（バスマトリックス（バスクロスバー）（ここには図示されていない）と、駆動される周辺モジュール９５、９６とを有する。メモリモジュールは、１つのグループ、または両方のグループにおいて、提供することができる。サイドＡは、実際に（すなわち、物理的に）、プロセッサ１（プロセッサＡ）によって常に駆動される。
【００６８】
サイドＢは、実際に、プロセッサ２（プロセッサＢ）によって常に駆動される。周辺モジュール９５からのデータは、マルチプレクサ９１、９２経由でサイドＢに横方向に渡すことができる。プロセッサ１は、同様のやり方で、周辺モジュール９６からデータを読むことができる。
【００６９】
図３は、そこで周辺モジュールと呼ばれる周辺ユニット２２が、２台のプロセッサ１および２によって冗長に駆動される実施例を示しており、２台のプロセッサのうちの１台だけが、所定の時に実際にユニット２２を駆動する。これは、マルチプレクサ２１によって達成される。共通の内部周辺ユニットであることができるさらなる周辺ユニット５、例えば、メモリ５は、マルチプレクサ２０を経由して、２台のプロセッサ１、２に接続される。プロセッサ１、２それら自身は、それぞれ、バスマトリックス３、４経由で、マルチプレクサ２０、２１に接続される。この実施例においても、また、それぞれの比較ユニット（比較器）を備えたユニット内にあるマルチプレクサ２０、２１は、コントローラを利用可能にしておくために、エラーの場合には、適切なやり方で構成することができる。
【００７０】
１つまたはそれ以上の実施例によれば、コントローラの共同で用いられている領域とコントローラの個人の冗長領域との間の明瞭な分離がある。個人のコンポーネント、またはユニットは、それぞれのプロセッサ１、２に割り当てられ、また、前記プロセッサによってのみ駆動される。個人のコンポーネント（図４における２つの周辺ユニット６１、６２）は、好ましくは、可能な限り冗長な個人領域の完全な対称をシミュレートすることができるために、冗長である。財務上の理由で、いくつかのコンポーネント、例えばプログラムメモリは、共同で用いられた領域において正確であるために一度だけ実行することができる。厳密なやり方モードにおいて、２台のプロセッサ１、２は、同期して作動する。他のプロセッサが、厳密なやりかたモードのために、適切な時間（good  time）にデータをすべて受けている間に、共同で用いられたコンポーネント、または周辺ユニットの実際の駆動は、２台の冗長なプロセッサのうちのいずれによっても仮定することができ、特別の時に１台のプロセッサによってのみ実際に実行される。
【００７１】
厳密なやり方エラーが検知された後に、それぞれのプロセッサ１、２は、時間間隔Ｔ１の間の割り付けられた個人領域において可能な限り作動中のままであるように意図され、アーキテクチャの外側の結果を備えたいかなる安全性関連の機能も実行するようには意図されない。換言すれば、外部効果を有する外部の周辺ユニット、またはコンポーネントの駆動は、特に中断される（intereupted）。
【００７２】
非冗長コンポーネント要素、例えばプログラムメモリに対する必要なアクセスのために、２台の冗長なプロセッサ１、２用の多重モードは、時間間隔Ｔ１において可能になる。それぞれの厳密なエラーは、プログラムシーケンスにおける割り込みを引き起こす。割込みルーチンにおいて、プロセッサ１、２は、相互に独立して、同一のテストプログラムを実行し、また、自律のハードウェア監視モジュール、図において、回復制御装置４４によって後のチェックのためのテスト結果を格納する。
【００７３】
いくつかのテストプログラムは、エラー状況に由来することができる。例えば、生じたエラーは、分類され、かつエラータイプに割り当てられ、さらに、この割り当ては、それぞれのテストプログラム、またはプログラムを選択するために使用される。
【００７４】
それぞれのプロセッサは、回復なしで緩やかに割り込みの実行を終了するように意図される。その背景は、テストプログラムが、割り込みによって開始され、さらに、テストプログラムが終了する後に、プロセッサ１、２は、通常、割り込みのために中断された割り込み制御プログラムを継続することを望む。このことは、防止されるように意図され、さらに、プロセッサ１、２は、その代りに、静止状態に変化するように意図される。このことが起こるかどうかは、また、テストの一部である。
【００７５】
それぞれのプロセッサは、自律のハードウェア監視モジュール（回復制御装置４４）によって読むことができるレジスタに、例えば、その状態の特徴を続いて格納するように意図される。時間の期間は、自律のハードウェア監視モジュールのタイマを使用して測定される。
【００７６】
この不明瞭な時間（ロックアウトモードの外側の）の後、冗長なプロセッサは、期間Ｔ２の期間の間、アイドリングモード（静止状態）を有するように意図される。プロセッサが、コンポーネント、例えばメモリモジュール、または周辺モジュールに時間Ｔ２の期間においてアクセスする場合、それは、回復制御装置４４によって回復処理から自動的に除去される。時間窓Ｔ２の後、回復制御装置４４は、２台のプロセッサ１、２のテスト結果を、ハードウェアにおいてプリプログラムされた値と比較する。プロセッサのテスト結果が規定された値に相当しない場合、対応するプロセッサは、もはや作動する同期の試みについては考慮されない。したがって、プロセッサ１、２の格納された状態特徴は、また、回復に適切であるに違いない。その結果の肯定的な評価の場合には、回復制御装置４４が、割り込みによる厳密なモードへのリターンを引き起こす。１台のプロセッサだけが成功裡にテストをすべて実行した場合には、それは、それに割り当てられた周辺モジュール、およびすべての共同で用いられたコンポーネントを駆動する。
【００７７】
この非常モードは、システムの有用性を増加し、さらに、減少した安全レベルで作動する。
【００７８】
図４は、図３における実施例に基礎を置く、さらなる実施例を示す。制御装置のアーキテクチャは、２つの個人（private）領域３０および３１であって、それらは、領域ＡおよびＢ、および共用領域４０と呼ばれるものに分割される。個人領域は、物理的に冗長であるモジュール、または周辺ユニット、およびコンポーネントを有している。ハードウェアモジュールの形をしている回復制御装置４４は、厳密なエラーの後に同期を確実に回復するために使用される。厳密なエラーが生じる場合には、回復制御装置４４は、安全性関連の周辺モジュール、またはユニットへのアクセスをすべて阻止する。これらのユニットは、特に、共通の周辺装置７２、例として冗長的に存在する周辺ユニット６１および６３である。
【００７９】
これらは、それぞれの周辺のブリッジ６０、７１、および６２によって接続される。
【００８０】
厳密なエラーは、プログラムシーケンスの割り込みを引き起こす。割込みルーチンの以下の実行においては、それぞれのプロセッサ１、２は、それに割り当てられた専有領域に位置し、さらに安全性関連の部分機能を実行しないモジュールだけにアクセスすることができる。さらに、非安全性関連のコンポーネント４１、４２へのアクセスは、多重モードにおいて可能になることができる。そのようなコンポーネント４１、４２は、例えば、共用プログラムドメイン４２および共通のＲＡＭドメインである。コンポーネント４２は、モジュール５０であって、マルチプレクサ、コントローラ、および比較器を有するものと、実際のプログラムメモリ５１とを有する。コンポーネント４１は、モジュール５３であって、マルチプレクサ、コントローラ、および比較器を有するものと、ＲＡＭとしてここで具体化されるメモリ５２とを有している。
【００８１】
個人の周辺領域においては、常に、小さなアドレス空間が、適切なプロセッサのテスト目的のために保留される。割込みルーチンは、アーキテクチャ、および、とりわけプロセッサの完全をチェックするために使用される。割り込み実行の終わりに、プロセッサは、テスト目的のために保留されるアドレス領域に計算結果を格納するように意図される。正確な結果は、回復制御装置４４に前もって格納される。割込みルーチンは、テストプログラムからなっており、それぞれのテストプログラムは、特別の時間間隔内の正確な結果を供給するように意図される。予め定めた時間の期間の後、回復制御装置４４は、プロセッサによって格納された結果の正確さをチェックする。厳密なやり方モードの回復は、回復制御装置４４によってチェックされる結果がすべて正確であると推定する。そうでなければ、正確な結果を有するプロセッサだけが、引き続き動作中のアプリケーションに作動中を維持し続ける。
【００８２】
割込みルーチンが厳密なモードで作動しないので、モジュール５０は、両方のプロセッサ１、２が、多重モードにおけるプログラムメモリ５１をアクセスすることができるように構成される。
【００８３】
図５は、図１および２の拡張としての実施例を示した。この場合、回復制御装置４４は、図４におけるそれに対して同様の方法で作動する。プロセッサ１、２が、厳密なやり方モードの回復のために正確な結果を供給しない場合には、回復制御装置４４は、対応する周辺ユニットコントローラ９１、または９２を構成し、それらは、ここでマルチプレクサおよび比較器を形成し、そのような方法で、それらより下方の周辺モジュール、またはユニット９５、９６は、他のプロセッサによって駆動される。
【００８４】
図５におけるアーキテクチャは、また、２つの冗長なＲＡＭモジュール８０、８１を有する。厳密なエラーが、ＲＡＭにおけるエラーによって引き起こされた場合には、欠陥があるＲＡＭアドレスが、格納される。このアドレスは、割込みルーチンにおいてチェックされる。ＲＡＭエラーが修正することができない場合には、回復制御装置４４は、影響を受けたサイドＡ、またはサイドＢ（すなわち、プロセッサ、およびＲＡＭ）を再度作動中のドライブには統合しない。回復制御装置４４は、周辺モジュールであって、それらは以前に今欠陥があるプロセッサ、またはＲＡＭによって駆動されたものは、今、他のサイドのプロセッサによって駆動されることを、続いて保証する。
【００８５】
図６は、制御プログラムのシーケンスを概略的に示す。同期エラーが生じた後、それぞれのプロセッサによる、プログラム実行３００、５００は、割り込み（ＬＯＬＩ：厳密な損失割り込み）によって中断され、また、それぞれの状態（初期の内容）は、３２１、５２１に格納される。その割り込みは、同時に、ここでハードウェアと呼ばれて、回復制御装置の作動化に結びつく。
【００８６】
回復制御装置は、タイマ４００を始動する。その後、プロセッサは、ステップ３２２、５２２において、回復制御装置によってあらかじめ定められたテストを実行し、テストが終了した後、３２３、５２３まで割り込みなしのリターンが、強制的に引き起こされる（ＲＦＩ：割り込みからのリターン）。プロセッサは、その後、静止状態に変化するように意図される。
【００８７】
回復制御装置は、そのテストが時間の期間Ｔ１（３２５、５２５）内に処理されるか、さらには、プロセッサが静止状態（４０１）に変化したかどうかをチェックする。あらかじめ定められた時間の期間Ｔ２の後に、回復制御装置は、プロセッサがまだ静止状態にあるかどうかを、４０２、３２６、５２６においてチェックする。
【００８８】
そのテスト結果は、その後、チェックされる。回復条件４０４は、テスト結果は、エラーがないということ、それぞれのプロセッサは、時間の期間Ｔ１の満了によって静止状態に変化したということ、さらには、プロセッサは、時間の期間Ｔ２の満了の後に、なお静止状態にあるということ、である。このことは、両方のプロセッサ用のケースである場合、リカバー割り込み（ＲＥＣＯＩ）は、両方のプロセッサ用に、そうでなければエラーなしのプロセッサ用にのみトリガされ、また、初期状態は、回復される（３４１、５４１）。後者のケースにおいては、回復制御装置は、上に説明されたように、制御装置を再構成する。このことは、プログラムの継続によって引き継がれる。
【００８９】
図７は、２台のプロセッサ１および２を備えた従来のアーキテクチャを示し、プロセッサ２は、プロセッサ１を監視するために使用される。周辺モジュールおよびすべてのメモリアクセス動作の全駆動は、プロセッサ１によって起こる。このアーキテクチャは、同期の損失に起因するエラー（厳密な失敗）に対処するには適さない。
【００９０】
図８は、２つのグループＡおよびＢに周辺モジュールの区分を備えた従来のアーキテクチャを示す。それぞれのグループは、少なくとも１台のプロセッサ１、２、バス切換えスイッチ（バスマトリックス：バスクロスバー）３、４、および、周辺モジュール６、７を有する。メモリモジュール５は、１つのグループ、または両方のグループにおいて実行することができ、バイパスモジュール１１によって駆動することができる。サイドＡは、実際に（すなわち、物理的に）、プロセッサ１によって、常に駆動される。サイドＢは、実際に、プロセッサ２によって、常に駆動される。周辺モジュール６からのデータは、バイパスモジュール１０、およびデータ多重変換装置１２によってサイドＢに横段方向に渡すことができる。プロセッサ１は、同様の方法（バイパスモジュール９、およびデータ多重変換装置１３経由）で周辺モジュール６からデータを読むことができる。このメカニズム、それによってプロセッサは、他のサイドから周辺データを読むことができ、機能は、２台のプロセッサ１および２が、相互に関して同期して（厳密なやり方で）作動する限りにおいてのみ、作動する。監視は、比較器８によって実行される。
【００９１】
プロセッサ１が、例えば、非動作可能の場合、サイドＡ全体（すなわち、こちらサイドの周辺モジュールおよびメモリと一緒に）は、もはや駆動することができない。このことは、ハイレベルの有用性の貧弱なサポートに帰着する。２台のプロセッサが、もはや同期して作動しない場合、それらはリセットすることができるだけである。多くの安全性関連用途については、同期のエラーの原因が明白に確認されるまで、プロセッサのリセットは許可されない。
【００９２】
２台プロセッサ装置は、図１−８と関連して記述された。複数のプロセッサ、またはプロセッサコアを有する制御装置は、制御用コンピュータシステムを使用して以下に記述される。しかしながら、プロセッサ、またはプロセッサコアの数は、特に上述の数に制限されないが、むしろ、必要によれば、任意であることができる。
【００９３】
図９は、制御用コンピュータシステム（制御装置）を示す。前記システムは、２台のプロセッサペア１００１および１００２（またはコア１Ａおよび１Ｂ）、および１００３および１００４（またはコア２Ａおよび２Ｂ）、２つの比較ユニット１０１１、および１０１２、スイッチングマトリクス１０１３（これは、また、スイッチング素子と呼ばれる）、メモリ１０２０、および１０２１、ならびに複数の周辺ユニット１０３０、１０３１、…、１０３８が、接続される周辺のブリッジ１０２２を有する。それぞれのプロセッサペアは、２台の別個のプロセッサを有することができ、または２つのコアを有するプロセッサであることができる。さらなる実施例においては、望まれるように、プロセッサ、またはコアの数が、また、異なることができる。例えば、相互に関してそれぞれ冗長である２つのコアをそれぞれ有する３台、またはそれ以上のプロセッサを使用することが可能である。原則として、しかしながら、３台のプロセッサは、また、冗長グループを形成するために組合されることができ、制御用コンピュータシステムは、２、３、またはそれ以上のそのようなグループを有することができる。
【００９４】
第１プロセッサペアにおいて、プロセッサ１００１（または、コア１Ａ）は、実際にメモリおよび周辺ユニットのような異なるリソースにアクセスする。比較ユニット１０１１は、プロセッサ１００１および１００２からの出力データを比較し、さらに、着信データを両方のプロセッサに渡し、監視プロセッサ１００２は、メモリおよび周辺装置に対するアクセスを有しない。両方のプロセッサ（コア）１００１および１００２は、同一の構造を有しており、また、同期してまたは厳密なやり方モードで作動し、その結果として、比較ユニット１０１１は、エラーがないときは、それぞれ同一の出力データを受信する。プロセッサペア１００３および１００４は、対応する構造を有しており；プロセッサ１００３は、実際にメモリおよび周辺装置にアクセスし、また、比較ユニット１０１２は、また、監視プロセッサ１００４に着信データを転送する。スイッチングマトリクス１０１３は、プロセッサにとって、メモリ、または周辺ユニットにアクセスすることを可能にする。周辺ユニットは、毎時間中央周辺ブリッジ１０２２経由で、都度アクセスされる。エラーがないときは、制御用コンピュータシステムは、このように２つの独立プロセッサに１００１、および１００３（プロセッサコア１Ａ、および２Ａ）を供給する。
【００９５】
図１０は、この発明による制御用コンピュータシステムの代表的な実施例を示す。図９において示された制御用コンピュータシステムのように、前記システムは、２つのプロセッサペア１００１および１００２、および１００３および１００４、２つの比較ユニット１０１１および１０１２、スイッチングマトリクス１０１３、メモリ１０２０および１０２１、ならびに、複数の周辺ユニット１０３０、１０３１、…、１０３８が、接続される周辺ブリッジ１０２２を有する。さらに、この発明による制御用コンピュータシステムは、比較ユニット１０１１、１０１２から信号を受信するエラー処理ユニット（回復ユニット）１０８０を有する。エラー処理ユニット１０８０は、個々のプロセッサ１００１、１００２、１００３、１００４（または、コア１Ａ、１Ｂ、２Ａ、２Ｂ）、またはプロセッサペアによって、メモリ、およびまたは、周辺ユニットに対するアクセスを防ぐために、スイッチングマトリクス１０１３および周辺ブリッジ１０２２を駆動することができる。この発明の１つの好ましい実施例において、スイッチングマトリクス１０１３は、防ぐことができるだけでなく、さらにアクセスを記録することができる監視ユニット１０１４を有する。比較ユニット１０１１、１０１２からの信号は、好ましくは、エラー処理ユニット１０８０に直接送信され、かつ、スイッチングマトリクス１０１３を通り過ぎない。回復制御装置に関して既にさらに上述されたように、エラー処理ユニット１０８０は、エラーの発生の後に適切なやり方で、スイッチングマトリクス１０１３、または周辺ブリッジ１０２２を再構成するために設置（set up）される。
【００９６】
比較エラーが、例えば、プロセッサ１００１と１００２（または、第１プロセッサペアのコア１Ａと１Ｂ）との間に生じる場合、エラー処理ユニット１０８０は、制御信号１１１０を、スイッチングマトリクス１０１３および周辺ブリッジ１０２２に送信する。プロセッサペア１００１／１００２によるメモリへのアクセスは、その後、防がれるか、または記録され、およびまたは、周辺ユニットへのアクセスは、防がれる。このことは、重大な損害に帰着するかもしれないような、例えば、欠陥があるプロセッサがアクチュエータを駆動することを防ぐ。
【００９７】
換言すれば：従来のアーキテクチャは、回復制御装置の機能を仮定するモジュール１０８０によって拡張する。このモジュール１０８０は、また、ＳＡＭ（安全性および有用性制御）モジュールと呼ばれる。生じたエラーのタイプによって、ＳＡＭモジュール１０８０は、欠陥があるプロセッサに、特別の周辺モジュールおよびＲＡＭメモリにアクセスすることを禁じるために、スイッチング素子（スイッチングマトリクス）１０１３の内部において監視ユニット１０１４を制御する。モジュール（比較ユニット）１０１１および１０１２における比較器が、エラーを検知した場合は、ＳＡＭモジュール１０８０に直ちに通知される。ＳＡＭモジュール１０８０は、影響を受けたプロセッサコア１Ａまたは２Ａ（プロセッサ１００１、１００３）が周辺モジュールによってアクチュエータを駆動することができないことを保証するためにエラー信号を使用する。ＳＡＭモジュール１０８０は、スイッチング素子１０１３、または周辺ブリッジ１０２２における周辺モジュールに対するアクセスを防止するために制御信号１１１０を使用することができる。
【００９８】
図１１は、制御用コンピュータシステムを駆動するための、この発明による方法の代表的な実施例を示し、制御用コンピュータシステムの構造は、図１０を使用して記述された構造に対応する。
【００９９】
モジュール（比較ユニット）１０１１における比較器が、エラー１２２０を検知する場合、割り込みが、プロセッサペア１Ａ／１Ｂ、および２Ａ／２Ｂの両方のために起きる。プロセッサペア１Ａ／１Ｂは、タスク１２００を出て、割込みルーチンの実行にジャンプする。プロセッサペア１Ａ／１Ｂが、ステップ１２５１においてチェックすること、または状態テストを受けさせる前に、ノーマルモード用の状況または内容は、ステップ１２５０において格納される。質問１２５２においては、プロセッサペア１Ａ／１Ｂは、エラーが永久的であるかどうかチェックする。プロセッサペア１Ａ／１Ｂが、永久エラーを有する場合、このペアは、もはや回復のための考慮に入れられない。ステップ１２５４において、エラーのタイプが決定され、そして、そのエラーは、不揮発性メモリ、例えば外部ＥＰＲＯＭに格納される。ステップ１２５５において、サインおよび通過エラーのタイムスタンプが格納される。同じ通過エラーが繰り返される場合、ステップ１２５５において格納されたデータは、繰返し速度を決定するのを支援するように意図される。そのような繰返し速度は、さらなる回復の試み用の意思決定基準として使用することができる。ステップ１２５６において、プロセッサペア１Ａ／１Ｂは、回復の試みが起こるように意図されるかどうかについてのＳＡＭモジュール１０８０からの信号を待つ。
【０１００】
割込み信号がトリガされた後、プロセッサペア２Ａ／２Ｂは、エラーなしのプロセッサペアとして、非常モードに入ることを意図される。プロセッサペア２Ａ／２Ｂは、先ず初めに、１３００において現在実行されているタスクを出て、ノーマルモード（ステップ１３５０）用の状況を格納する。エラーベースのチェックテストは、ステップ１３５１において実行される。非常モード用に必要とされたプログラム部分（義務的なソフトウェアモジュール）だけが、ステップ１３５２において実行される。これらの必要なプログラム部分は、異なるプロセッサペアに当初割り当てられた、選択されたタスクからなっている。非常モードの間に、プロセッサペア２Ａ／２Ｂは、回復の試みのための信号がリリースされたかどうかを永久にチェックする。ノーマルモードの回復が、ステップ１３５３においてリリースされる場合、プロセッサペア２Ａ／２Ｂは、ステップ１３５４において回復の試みのためのリリースを待つ。
【０１０１】
割込み信号がトリガされた後、ＳＡＭモジュール１０８０は、ステップ１４０１において、欠陥があるプロセッサペア１Ａ／１Ｂによって安全性関連の周辺モジュールに対するアクセスをすべてブロックする。このステップは、アクチュエータのあらゆる安全でない駆動も回避するように意図される。ノーマルモードの回復が支援されるようには意図されない場合、ＳＡＭモジュール１０８０は、ステップ１４０２において残り、かつ、駆動は、プロセッサペア２Ａ／２Ｂによってのみ達成される。そうでなければ、ＳＡＭモジュール１０８０は、ステップ１４０３において回復の試みのために必要であった条件に設定され、その条件は、エラーを生じたプロセッサペアによって提供されるように意図される。これらの条件は、その後、ステップ１４０５においてチェックされる。
【０１０２】
回復条件が満たされている場合、ＳＡＭモジュール１０８０は、すべてのプロセッサペアによって回復の試みを開始する。成功した回復の後、制御用コンピュータシステムの充分な性能は、したがって、再度、利用可能であり、また、非安全性重大な便宜機能も制限なしで再度提供される。
【０１０３】
回復、特に、チェックして、図６において示されるシーケンスによって実行することができる。
【０１０４】
１つの実施例によれば、制御用コンピュータシステムの駆動ソフトウェアは、生じるかもしれないエラー、および後者の扱いのための適切なやり方で準備される。駆動ソフトウェアは、少なくとも２つのタイプのソフトウェアモジュールを有する：一方では、義務的なソフトウェアモジュールと、他方では、オプションのソフトウェアモジュールとである。それらのモジュールは、ノーマルモードにおいて両方のプロセッサペア間で分割される。欠陥の場合には、義務的なソフトウェアモジュール（また、非常モジュールと呼ばれる）が、残るプロセッサペアによって実行されるが、オプションのソフトウェアモジュールは、実行されないか、または、単にいくぶんのみ実行される。したがって、欠陥を有するプロセッサペアの義務的なソフトウェアモジュールを、また受入れることは、エラーなしのプロセッサペアにとって、また可能である。したがって、周辺機器を駆動するための全く不可欠なソフトウェアモジュールは、冗長度の損失に帰着することなしに実行し続けることができる。オプションのソフトウェアモジュールだけが、実行されないか、または、単に部分的に実行される。しかしながら、このことは、安全性を制限しない。
【０１０５】
２つのプロセッサペアを有する制御用コンピュータシステムのさらなるアーキテクチャは、図１２において示されるように、２つの冗長なスイッチング素子（またはスイッチングマトリクス）１０１３、１０６３を有する。プロセッサコア１Ａおよび２Ａ（プロセッサ１００１、１００３）は、スイッチング素子１０１３経由メモリモジュール１０２０、１０２１にアクセスすることができる。プロセッサコア１Ｂおよび２Ｂ（プロセッサ１００２、１００４）は、スイッチング素子１０６３経由、メモリモジュール１０２０および１０７１にアクセスする。メモリモジュール１０７１が、プロセッサコア１Ｂおよび２Ｂにのみ利用可能である間、メモリモジュール１０２１は、プロセッサコア１Ａおよび２Ａによってのみ使用することができる。プロセッサコア１Ａおよび２Ａ、スイッチング素子１０１３、およびメモリモジュール１０２１からなるブロックは、このように、プロセッサコア１Ｂおよび２Ｂ、スイッチング素子１０６３、およびメモリモジュール１０７１からなるブロックに対して、完全に対称的（冗長）である。メモリモジュール１０２０は、すべてのプロセッサによって読むことができる。ノーマルモードにおいて、プロセッサ１Ａおよび１Ｂは、相互に関して同期して実行され、その結果で、１台のプロセッサが、他方のための監視するメカニズムを形成する。プロセッサコア２Ａおよび２Ｂは、また、対応して同期して作動し、かつ、互いに監視する。監視することは、モジュール（比較ユニット）１０９１および１０９０において実行される比較器を使用して達成される。比較ユニット１０９１は、冗長なメモリモジュール１０２１および１０７１に対するアクセスをすべて監視し、また、比較ユニット１０９０は、周辺機器に対するアクセスをすべて監視する。このアーキテクチャは、すべての周辺モジュールが冗長であるように、実行することができる。例えば、周辺モジュール１０４０、１０４１、…、１０４８は、周辺モジュール１０３０、１０３１、…、１０３８に関して冗長であることができる。この場合、比較ユニット１０９０は、単に周辺機器に対するアクセスのための比較器を有することができる。財務上の理由で、多くの周辺モジュールが、しばしば、冗長なやり方では実行されない。この場合、比較ユニット１０９０は、周辺の比較器に加えて、同期の方法で、非冗長な周辺モジュールから冗長なスイッチング素子１０１３および１０６３にデータを転送する追加回路を有する。
【０１０６】
図１３は、この発明による制御用コンピュータシステムの、他の代表的な実施例を示す。この場合、図１２に例証されたアーキテクチャは、制御用コンピュータシステムであって、その概念が図１０および１１を使用して説明されたものによって提供される、電子調整アルゴリズムのよりよい有用性を保証するための概念を支持するために拡張される。マルチプレクサ１１７１、１１７２、１１７３、および１１７４は、各プロセッサコア１Ａ、２Ａ、１Ｂ、２Ｂ、および対応するスイッチング素子１０１３、１０６３の間に位置するので、プロセッサペアのそれぞれの第２コアは、プロセッサペアの第１コアのデータおよびアドレスバスにアクセスすることができ、また、反対に、ペアにおける第１プロセッサは、第２プロセッサのデータおよびアドレスバスにアクセスすることができる。プロセッサコア１Ａがエラーする場合、マルチプレクサ１１７１は、例えば、冗長なプロセッサコア１Ｂからのデータがスイッチング素子１０１３に供給されることを保証する。マルチプレクサ１１７１、１１７２、１１７３および１１７４は、エラー信号１１６１、１１６２が、すべて比較器によって監視されるＳＡＭモジュール１０８０において制御される。厳密なエラーが検知された後、対応する制御信号１１６０をスイッチング素子１０１３および１０１４における監視ユニット１０１４および１０６４、および周辺ブリッジ１０２２および１０７２に転送することによって、ＳＡＭモジュール１０８０は、安全性関連コンポーネントに対するアクセスをブロックする。エラー分析後のモードの回復は、適切な場合には、必要な改作によって、図１１、１８、およびまたは、１９において例証されたスキームにしたがって、原則として、達成される。
【０１０７】
ＳＡＭモジュール１０８０（回復制御装置）は、さらに周辺機器にアクセスすることから欠陥があるプロセッサ、または、ほかに他のコンポーネントを除外するために、適切なやり方で、スイッチング素子１０１３、１０６３、および、マルチプレクサ１１７１、１１７２、１１７３および１１７４を構成する。このことは、また、他の冗長に設計されたコンポーネント（例えば、メモリモジュール）を使用して達成される。この場合にはまた、欠陥があるメモリモジュールは、スイッチング素子１０１３、１０６３、マルチプレクサ１１７１、１１７２、１１７３、および１１７４を再構成することによって除外される。
【０１０８】
図１４、１５、および１６は、それぞれ、図１３からのアーキテクチャにおけるこの発明による制御用コンピュータシステムを示し、その場合には、１台、またはそれ以上の永久に欠陥があるプロセッサは、それぞれの場合にスイッチが切られている。残りのプロセッサコアは、それぞれに、周辺機器を駆動し、その場合、必要な、かつ、安全性関連機能が、好ましくは、機能的な、監視するプロセッサをなお有するプロセッサにおいてのみ行なわれる、すなわち、完全なプロセッサペアは、なお、作動する場合、ユーザーは警告される。監視するプロセッサなしのプロセッサは、好ましくは、非安全性重大機能だけを実行する。エラーしたプロセッサ（コア）は、点線を使用して例証される。
【０１０９】
図１４は、例えば、プロセッサコア２Ｂのエラーだけを示す。プロセッサコア１Ａおよび１Ｂは、なお、冗長であり、かつ、元来は、プロセッサペア２Ａ／２Ｂによって、実行されたもの有する安全性重大タスク（義務的なソフトウェアモジュール）をすべて実行する。プロセッサコア２Ａは、元来はプロセッサペア１Ａ／１Ｂによって実行されたオプションのソフトウェアモジュールを有する非安全性関連タスク（オプションのソフトウェアモジュール）を実行することができる。したがって、安全性関連タスクは、すべて、なお残った冗長なプロセッサペア１Ａ／１Ｂに転送された。このアプローチの利点は、非常モード（プロセッサペア、またはプロセッサペアの個々のコアのエラー）に追加の準備プロセッサペアであって、ノーマルモード（プロセッサはすべてエラーがない）においていかなる機能をも実行しないものを供給してはならないということである。エラーが生じるときには、オプションのソフトウェアモジュールの実行だけが制限される。しかしながら、このことは、安全性に適切ではない。
【０１１０】
図１７は、１つの実施例による拡張された２重の冗長度にプロセッサペアを有する制御用コンピュータシステムのさらなるアーキテクチャを示す。
【０１１１】
図９において例証されたアーキテクチャとは対照的に、プロセッサ１００１、１００２、１００３、１００４だけでなく、また、他のコンポーネントも冗長である。例えば、バスマトリクス（スイッチング素子）１０１３および１０６３、データメモリ１０２１および１０７１は冗長である。この実施例における周辺ブリッジ１０２２および１０７２の間の接続は、非冗長な周辺コンポーネントから冗長なペア１Ａ／１Ｂ、およびまたは、プロセッサコアの２Ａ／２Ｂに同期のやり方でデータが送信されることを保証する。
【０１１２】
図１７において示されるアーキテクチャは、ＳＡＭモジュール１０８０、スイッチング素子１１７１、１１７２、１１７３および１１７４によって拡張される。エラーのタイプによって、ＳＡＭモジュール１０８０は、特別の周辺モジュールおよびＲＡＭメモリにアクセスすることから、欠陥があるプロセッサペア１Ａ／１Ｂ、２Ａ／２Ｂ、または欠陥があるプロセッサ１Ａ、１Ｂ、２Ａ、２Ｂだけを禁止するために、スイッチング素子１１７１、１１７２、１１７３、および１１７４と同様にバスマトリクス、またはスイッチング素子１０１３および１０６３の内部の監視ユニット１０１４および１０６４を駆動する。モジュール（比較ユニット）１０９０および１０９１における比較器が、エラーを検知していた場合、ＳＡＭモジュール１０８０は、直ちに通知される。ＳＡＭモジュール１０８０は、影響を受けたプロセッサペア１Ａ／１Ｂ、または２Ａ／２Ｂ、または影響を受けたプロセッサ１Ａ、１Ｂ、２Ａ、または２Ｂは、もはや周辺モジュール経由アクチュエータを駆動することができないということを保証するためにエラー信号を使用する。ＳＡＭモジュール１０８０は、バスマトリクス１０１３および１０６３、または周辺ブリッジ１０２２および１０７２における周辺モジュールへのアクセスを防ぐために制御信号１１６０を使用することができる。
【０１１３】
１つの実施例によってエラーが検知された後、図１８は、シーケンスの代表的な例証を示す。図１７におけるモジュール１０９０および１０９１内の比較器が、エラー１２２０を検知する場合、割り込みが、プロセッサペア１Ａ／１Ｂおよび２Ａ／２Ｂの両方のために起きる。
【０１１４】
プロセッサ１Ａおよび１Ｂは、ステップ１２００において厳密なモードを出て、非同期のやり方で割込みルーチンの実行にジャンプする。プロセッサ２Ａおよび２Ｂは、さらにステップ１３００において厳密なモードを出て、非同期のやり方で割込みルーチンの実行にジャンプする。各プロセッサは、先ず最初に、動作中のアプリケーションのために必要な状況データまたは内容（１２５０Ａ、１２５０Ｂ、１３５０Ａ、１３５０Ｂ）を救済する。よい状態の表れとして、すべてのプロセッサ１Ａ、１Ｂ、２Ａ、２Ｂは、ＳＡＭモジュール１０８０（１２５０Ａ、１２５０Ｂ、１３５０Ａ、１３５０Ｂ）の登録に、ディジタルサインであって、ＳＡＭモジュール１０８０によって検知されチェックすることができるものを書込む。プロセッサによって格納されたサインが、正しくないか、または、所定の時間間隔Ｔ１の後に存在しない場合、プロセッサは、もはや回復プロセスにおいて考慮に入れられない。この場合、欠陥があるプロセッサによる、メモリモジュールおよび周辺モジュールに対するあらゆるアクセスも阻まれるように、ＳＡＭモジュール１０８０は、スイッチング素子１０１４、１０６４、１１７１、１１７２、１１７３、および１１７４をすべて制御する。エラーパターンは、各タイプのエラーのための、ＳＡＭモジュール１０８０に格納される。残りのプロセッサは、ステップ１２５１Ａ、１２５１Ｂ、１３５１Ａ、または１３５１Ｂにおける詳細なテストにさらされる。
【０１１５】
エラーパターンによって、異なるテストが、ソフトウェアおよびまたはハードウェアにおいて実行される。例えば、ＬＢＩＳＴ（ロジックビルトインセルフテスト）の形式で、ハードウェアテストが、特に、重大なエラーのために、および、不明瞭なエラー割り当ての場合に、使用される。ステップ１２５１Ａ、１２５１Ｂ、１３５１Ａ、および１３５１Ｂにおけるテストの結果は、ＳＡＭモジュール１０８０に格納され、次いで、時間間隔Ｔ２の後に評価される。ＳＡＭモジュール１０８０は、プロセッサ、または複数のプロセッサが、欠陥がある、エラーなしのプロセッサだけが回復プロセスで考慮に入れられ続けるように、スイッチング素子１０１４、１０６４、１１７１、１１７２、１１７３、および１１７４を構成することを決定するために集めた結果を使用する。欠陥があるプロセッサは、アクセスを拒否される。
【０１１６】
図１８において例証された手順は、欠陥がある部品が他の冗長モジュールに検知されるように、拡張することができる。基本概念は、安全システムの改善された有用性を保証することができるために２重の冗長度を既存のアーキテクチャのどこにも使用することである。このことは、例えばは冗長なメモリに当てはまる。適切なテスト１２５１Ａ、１２５１Ｂ、１３５１Ａ、および１３５１Ｂは、２つの冗長なメモリモジュールのどれが欠陥があるかを正確に決定するために、ＳＡＭモジュール１０８０によって使用することができる。冗長なメモリモジュール１０２１、または１０７１へのアクセスは、１つのメモリだけが実際に有効なデータを維持され、再正するような方法において、スイッチング素子１０１４、１０６４、１１７１、１１７２、１１７３、および１１７４の構成を使用して、転換することができる。連続する手順は、図１１において示されるそれに同様のやり方で行なうことができる。
【０１１７】
図１７において例証されたアーキテクチャは、多数の冗長要素のために図１２において示されるアーキテクチャよりエラー許容のより高い自由度を提供する。
【０１１８】
図１９は、エラーが、１つの実施例によって検知された後の、シーケンスの代表的な例証を示す。図１０におけるモジュール１０１１の比較器が、エラー１２２０を検知する場合、割り込みは、プロセッサペア１Ａ／１Ｂおよび２Ａ／２Ｂの両方のために起きる。その手順は、図１８におけるそれに似ている。図１０において例証されたアーキテクチャについては、ペアにおける冗長なプロセッサは分離することができない。したがって、ＳＡＭモジュール１０８０は、どのプロセッサペアが欠陥があるかを単に決定する。欠陥があるプロセッサペアによるデータアクセスは、すべて適切にスイッチング素子１０１４を構成することにより阻まれる。その他については、その実行は、図１１において示されるそれと似た方法で達成される。
【０１１９】
図２０は、回復の後にスイッチが切られたプロセッサコア２Ｂを備えた図１７からのアーキテクチャを示す。
【０１２０】
図２１は、回復の後にスイッチが切られたプロセッサコア１Ｂおよび２Ｂを備えた図１７からのアーキテクチャを示す。
【０１２１】
図２２は、回復の後にスイッチが切られたプロセッサコア１Ａ、２Ａおよび１Ｂを備えた図１７からのアーキテクチャを示す。この場合、もはや、プロセッサ冗長性はない。しかしながら、例えば、図６、１１、１８、および１９において説明された手順に似たやり方で上に記述されたテストは、欠陥があるプロセッサが、すべて正確に検知され、かつ、周辺機器へのアクセスから除外されることを保証する。
【０１２２】
図２３は、回復の後にスイッチが切られたプロセッサコア１Ａおよび２Ｂを備えた図１７からのアーキテクチャを示す。
【０１２３】
図２４は、回復の後にスイッチが切られたデータメモリ２１を備えた図１７からのアーキテクチャを示す。このアーキテクチャは、それ自身、冗長であるデータメモリ２１および７１を有しており、その場合には、メモリモジュール１０２１のエラーの後、後者は、欠陥があるものとして、確実に識別されて、除外した。
【０１２４】
全体として、ここで記述された制御用コンピュータシステムは、改善されたやり方で安全性関連機能を提供し、確実に欠陥があるコンポーネントを識別し、除外する。
【０１２５】
１つの実施例は、少なくとも２つのプロセッサペア、エラーを検知するための少なくとも２つの比較ユニット（比較器）、少なくとも１つのメモリ、少なくとも１つの周辺ユニット、例えば、スイッチングマトリクスの形式であって、プロセッサによるメモリおよび周辺ユニットに対するアクセスを許可するか、またはブロックするものである少なくとも１つのスイッチング素子を有するものであり、好ましくは、共通のエラー処理ユニット（回復制御装置；ＳＡＭモジュール）は、少なくとも２つの比較ユニットから信号を受信し、かつ、完全に、または選択的にプロセッサ、またはプロセッサペアによるメモリ、およびまたは、周辺ユニットに対するアクセスを阻止するために少なくとも１つのスイッチングマトリクスを制御する制御用コンピュータシステム（制御装置）を提供する。
【０１２６】
１つの実施例によれば、エラーが生じるときは、周辺ユニットに対するアクセスは、特にアクチュエータが、少なくとも１つの欠陥があるプロセッサペアによって防止される。
【０１２７】
１つの実施例によれば、周辺ユニットは、エラー処理ユニット（回復制御ユニット；ＳＡＭモジュール）によって制御される周辺ブリッジによって毎回アクセスされる。
【０１２８】
１つの実施例によれば、少なくとも２つの比較ユニットは、プロセッサペアにおける２台のプロセッサに直接接続される。
【０１２９】
１つの実施例によれば、比較ユニットは、少なくとも２つの別個のスイッチングマトリクスを有し、第２スイッチングマトリクスが、第２周辺ブリッジおよび少なくとも１つの第２メモリに接続されている間に、第１スイッチングマトリクスは、第１周辺ブリッジおよび少なくとも第１メモリに接続される。
【０１３０】
１つの実施例によれば、プロセッサペアにおける第１プロセッサは、第１スイッチングマトリクスに接続され、また、プロセッサペアにおける第２プロセッサは、第２スイッチングマトリクスに接続される。
【０１３１】
１つの実施例によれば、第１スイッチングマトリクスと第１メモリとの間で送信されたデータは、比較ユニットによって第２スイッチングマトリクスと第２メモリとの間で送信されたデータと比較され、そのデータは、第１スイッチングマトリクスと第１周辺ブリッジとの間で送信し、比較ユニットによって第２スイッチングマトリクスと第２周辺ブリッジとの間で送信されたデータと比較される。
【０１３２】
１つの実施例によれば、マルチプレクサは、それぞれに、プロセッサとスイッチングマトリクスと間に位置し、マルチプレクサは、プロセッサペアにおける第１プロセッサが第２スイッチングマトリクスにアクセスすることができるように接続され、また、エラー処理ユニット（回復ユニット、ＳＡＭモジュール）が、したがってマルチプレクサを制御するとすぐに、プロセッサペアにおける第２プロセッサは、第１スイッチングマトリクスにアクセスすることができる。
【０１３３】
１つの実施例によれば、少なくとも１つのスイッチングマトリクスは、メモリまたは周辺ユニットへのアクセスをブロックすることができ、または、１つの、外部、または内部の、好ましくは、不揮発性のメモリにおける前記アクセスを記録することができる監視ユニットを有する。
【０１３４】
１つの実施例によれば、エラー処理ユニットは、間に置かれたスイッチングマトリクスなしの少なくとも２つの比較ユニットから、直接、信号を受信する。
【０１３５】
１つの実施例によれば、制御用コンピュータシステムは、第１および第２揮発性メモリおよび不揮発性メモリを有し、特に、１つのプロセッサペアは、第１揮発性メモリにアクセスし、さらに第２プロセッサペアは、第２揮発性メモリにアクセスし、さらには、両方のプロセッサペアは、１つの不揮発性メモリにアクセスする。
【０１３６】
１つの実施例によれば、プロセッサペアにおける第１プロセッサは、少なくとも１つのスイッチングマトリクスに直接接続され、すなわち、プロセッサペアにおける第２プロセッサがデータに対して単に読込アクセス有する間に、メモリ、およびまたは、周辺ユニットに対して読出書込アクセスを有することができ、特に、プロセッサペアにおける両方のプロセッサに直接接続された比較ユニットは、その接続されたプロセッサペアにおける第２プロセッサにデータを送信する。
【０１３７】
１つの実施例は、少なくとも２つのプロセッサペア、エラーを検知するための少なくとも２つの比較ユニット、プロセッサまたはプロセッサペアによるメモリおよびまたは周辺機器へのアクセスを許可するか、またはブロックする少なくとも１つのスイッチングマトリクス、少なくともスイッチングマトリクスを制御することができる少なくとも１つのエラー処理ユニット、を有する制御用コンピュータシステムを制御するための方法を提供し、その方法は、プロセッサペアが、エラーなしモードの機能を提供するために、異なるプログラムを実行することができるような方法で実行され、そして、エラーが生じる場合、エラーなしのプロセッサペアは、欠陥があるプロセッサペアのいくつかの機能を少なくとも仮定する。
【０１３８】
１つの実施例によれば、制御用コンピュータによって駆動された装置の安全性に重大な機能は、エラーの発生と無関係に実行される。
【０１３９】
１つの実施例によれば、エラーが生じるときに、非安全性重大機能は、少なくとももはや部分的に提供されない。
【０１４０】
１つの実施例によれば、エラーが生じたときに、欠陥があるプロセッサ、またはプロセッサペアによる周辺機器へのアクセスは、ブロックされる。
【０１４１】
１つの実施例によれば、エラーが生じた後、欠陥があるプロセッサペアは、診断プログラムを実行する。
【０１４２】
１つの実施例によれば、生じたエラーは、分類され、区別が、少なくとも間欠エラーと永久エラーとの間になされる。
【０１４３】
１つの実施例によれば、永久エラーが生じた後、欠陥があるプロセッサペアは、永久に非作動化される。
【０１４４】
１つの実施例によれば、欠陥があるプロセッサペアが、検知されている永久エラーのない診断プログラムを介して実行したときは、両方のプロセッサペアは、再度、異なるプログラムを実行することができる。
【０１４５】
１つの実施例によれば、エラー処理ユニットは、不揮発性メモリにおけるエラーの発生を記録する。
【０１４６】
１つの実施例によれば、生じたエラーの数、およびまたは、頻度が、所定のしきい値を超過する場合、プロセッサペアは、永久に非作動化される。
【０１４７】
１つの実施例によれば、上に記述された制御用コンピュータシステムのうちの１つは、特に、ブレーキシステムを制御するか、または規制するために自動車両において使用することができる。
【０１４８】
この発明は、この場合に記述された代表的な実施例に限定されないが、むしろ適切に拡張し、かつ修正することができる。
【０１４９】
以下の請求項は、この発明を一般的に定義するために、第１の、拘束されない試みである。
【図１】
2013522785.tif 000003
【図２】
2013522785.tif 000004
【図３】
2013522785.tif 000005
【図４】
2013522785.tif 000006
【図５】
2013522785.tif 000007
【図６】
2013522785.tif 000008
【図７】
2013522785.tif 000009
【図８】
2013522785.tif 000010
【図９】
2013522785.tif 000011
【図１０】
2013522785.tif 000012
【図１１】
2013522785.tif 000013
【図１２】
2013522785.tif 000014
【図１３】
2013522785.tif 000015
【図１４】
2013522785.tif 000016
【図１５】
2013522785.tif 000017
【図１６】
2013522785.tif 000018
【図１７】
2013522785.tif 000019
【図１８】
2013522785.tif 000020
【図１９】
2013522785.tif 000021
【図２０】
2013522785.tif 000022
【図２１】
2013522785.tif 000023
【図２２】
2013522785.tif 000024
【図２３】
2013522785.tif 000025
【図２４】
2013522785.tif 000026
【国際調査報告】
2013522785.tif 000027
2013522785.tif 000028
2013522785.tif 000029
2013522785.tif 000030
2013522785.tif 000031
2013522785.tif 000032
2013522785.tif 000033
2013522785.tif 000034
2013522785.tif 000035
2013522785.tif 000036