(57)【要約】本発明は、少なくとも２つの命令実行部と１つの比較ユニットを備えたコンピュータシステムを制御する方法であって、コンピュータシステムはロックステップモードで駆動され、コンピュータシステムにおいて少なくとも２つの命令実行部の演算結果が比較されている方法において、少なくとも１つの命令実行部で比較ユニットによってエラーが検出された際または検出された後に、少なくとも１つの命令実行部のためのエラー検出が実行されることを特徴とする、少なくとも２つの命令実行部と１つの比較ユニットを備えたコンピュータシステムを制御する方法に関する。
2009505183.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも２つの命令実行部と１つの比較ユニットを備えたコンピュータシステムを制御する方法であって、前記コンピュータシステムはロックステップで駆動され、前記コンピュータシステムにおいて、前記少なくとも２つの命令実行部の演算結果が比較される方法において、
少なくとも１つの命令実行部で、前記比較ユニットによってエラーが検出された際またはエラーが検出された後に、前記少なくとも１つの命令実行部のためのエラー検出が実行されることを特徴とする、コンピュータシステムを制御する方法。
【請求項２】
前記比較ユニットによるエラー検出時または検出後に、目下の命令シーケンスが前記少なくとも２つの命令実行部において中断され、前記少なくとも２つの命令実行部においてエラー検出が実行されることを特徴とする、請求項１に記載の方法。
【請求項３】
前記比較ユニットによるエラー検出時または検出後に、前記目下の命令シーケンスが、特定の１つの命令実行部において中断され、前記特定の１つの命令実行部においてエラー検出が実行されており、前記少なくとも２つの命令実行部の前記比較ユニットが、前記エラー検出が実行される間停止され、少なくとも１つの更なる別の命令実行部において、通常のプログラムシーケンスが続けて実行されることを特徴とする、請求項１に記載の方法。
【請求項４】
前記エラー検出の実行後に、前記エラー検出によりエラーを検出しなかった場合に、通常のプログラムシーケンスが続行されることを特徴とする、請求項２または請求項３に記載の方法。
【請求項５】
命令実行部においてエラーの位置が確認された際または確認された後に、エラーが検出された命令実行部が停止されることを特徴とする、請求項２または請求項３に記載の方法。
【請求項６】
前記比較ユニットが非作動とされることを特徴とする、請求項５に記載の方法。
【請求項７】
少なくとも１つの構成要素を非作動させた際にエラー信号が生成され、前記エラー信号がアプリケーションに提供されることを特徴とする、請求項５または請求項６に記載の方法。
【請求項８】
エラー発生後に、1つの命令実行部の駆動時間が制限され、前記コンピュータシステムが遅くとも所定時間の駆動後に停止されることを特徴とする、請求項１に記載の方法。
【請求項９】
所定時間の駆動の前に、アプリケーションによって生成された信号によって停止されることを特徴とする、請求項８に記載の方法。
【請求項１０】
少なくとも２つの命令実行部と１つの比較ユニットを備えたコンピュータシステムを制御する装置であって、前記コンピュータシステムはロックステップで駆動され、前記コンピュータシステムにおいて、前記少なくとも２つの命令実行部の演算結果が比較される装置において、
少なくとも１つの命令実行部において、前記比較ユニットによってエラーが検出された際またはエラーが検出された後に、前記少なくとも１つの命令実行部のためのエラー検出が実行されるように構成された手段が設けられていることを特徴とする、コンピュータシステムを制御する装置。
【請求項１１】
前記少なくとも２つの命令実行部とロックステップモードとの接続を中断し、任意の１つの命令実行部にマスタ機能を割り当てるための手段が設けられていることを特徴とする、請求項１０に記載の装置。
【請求項１２】
前記命令実行部のためのエラー検出の機能を格納するための手段が設けられていることを特徴とする、請求項１０に記載の装置。
【請求項１３】
必要な場合に、少なくとも１つの命令実行部に前記エラー検出のための命令および／またはプログラムを供給するための手段が設けられていることを特徴とする、請求項１０に記載の装置。
【請求項１４】
前記比較ユニットを非作動とするための手段を備えていることを特徴とする、請求項１０に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、特許請求の範囲に記載の独立請求項の上部概念に基づき、２つのコアおよび対応するプロセッサシステムを備えたコンピュータシステムにおけるエラーの際に、システム機能を確保するための装置と発明に関わる。
【背景技術】
【０００２】
従来の技術において、例えばCPU（中央処理ユニット）（Central Processing Unit）のような、マイクロコントローラ（μC）やμCの構成要素等の、エラー検出を目的とするリダンダンシーが知られている。その際、冗長に計算されたデータおよび冗長に生成された信号の一致が、比較ユニットによって比較される。
【０００３】
冗長化されたCPUを備えたマイクロコントローラは、デュアルコア・マイクロコントローラ（Dual Core μC）と呼ばれている。デュアルコアμCにおいて、２つのCPUは、クロックに同期して、すなわちロックステップモードで並行して、または若干のクロックずれにより駆動できる。2つのCPUは、同一の受信データを受信し、同一のプログラムまたは同一の命令を実行する。１つの冗長に実現されたコアに、当該コアの少なくとも１つの出力信号に作用するエラーがある場合、比較されたデータの不一致は、最終的に比較ユニットによって検出される。その際、出力信号は、「データアウト」（Data Out）−データの他に、命令アドレスと制御信号とを含んでいる。比較ユニットは、比較された信号の不一致を検出した際に、比較結果を外部に信号で知らせ、またはエラー信号を生成する。しかし、冗長に実現されたユニットのためのエラー検出機能が追加的に設けられていなければ、エラーがある構成要素の位置を確認することも、エラー原因の形式を確定することも不可能である。
【０００４】
上記のリダンダンシーを安全性に関わる制御・調整システムにおいて投入する際、冗長に確定された信号の不一致が検出された後に、不一致の原因が短時間のみ作用する一時的エラーであったとしても、通常、システム全体が「より安全な状態」に切り替えられる。「より安全な状態」とは、通常、EPSシステム（高性能ブレーキシステム）等の車両システムにおいて、システム停止を意味している。
【０００５】
半導体の構造の矮小化に従い、例えば宇宙線に起因する、一時的なプロセッサエラーの増加が予想される。システムを停止させずに、駆動中にエラーを許容できる、または「治癒」できるように一時的エラーを処理するため、従来の技術においてすでに幾つかの解決策が出されている。通常利用されている方法では、エラーは、特定用途向けの、通常モデル化された「サニティーチェック」によって検出される。場合によっては、コンピュータシステムのリセットが開始される。コンピュータシステムは新たに初期化され、初期化時間および任意の「再生検査」（数百ミリ秒後等）の後に、再び駆動準備が整う（「前進回復」）。非実時間利用においては（金融市場でのトランザクション等）、先ずは保存され、行われたトランザクションが成功理に終了した際にはじめて無効として拒否される、ある１つの状態が、特定用途向けに、トランザクションの前に形成される。トランザクション中にエラーが発生した際には、保存されている開始点に戻る（「後退回復」）。実時間システムにおいて、このような解決策は非常によく利用されており、機能は、通常、プロセッサシステムのリセットまたは再生検査の間中断される。
【０００６】
車両における電子制御システムの機能範囲が広がるのに伴って、例えばＥＳＰシステムの操縦介入に伴うシステム停止は、すべての駆動状態における、より安全なシステム状態への移行を意味してはいない。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本発明の課題は、プロセッサシステムにおける一時的および永続的エラーの際の、エラーに対するロバスト性とシステム機能の利用の可能性とをより向上させることを目的とする、デュアルコアプロセッサ（またはデュアルプロセッサシステム）を駆動する方法にある。この課題は、有利な実施形態において、個々のプログラム部分の本来の実行時間を維持した上で達成される。
【０００８】
従来技術に基づいて、ロックステップモードで駆動されるデュアルコア・コンピュータにおいて、第1のＣＰＵはマスタとして、第2のＣＰＵはスレーブとして機能する。スレーブＣＰＵの演算結果は、マスタＣPUの演算結果の比較の対象に使用される。マスタＣＰＵのみが、演算結果をデータ／アドレスバスまたはＣＰＵレジスタへ書き込むことが可能である。
【課題を解決するための手段】
【０００９】
本発明の利点は、少なくとも２つの命令実行部に、マスタ機能を交互に割り当て、ロックステップモードで駆動されるデュアルコアまたはマルチコア・コンピュータのコア演算結果を交互に利用する可能性にある。従って、ある程度の制約条件を考慮の上、冗長に計算された演算結果の不一致を検出した後にも、プロセッサシステムの限定された駆動が確保される。これは、特に、プロセッサエラーによるシステム停止が、すべての駆動状態において望まれていない、実時間利用において利点がある。
【００１０】
有利な実施形態において、更なる別の利点は、エラーの位置がプロセッサシステムの命令実行部において確認され、エラーがある命令実行部が非作動とされ、エラーのない命令実行部を備えたシステムが、停止のための非臨界システム状態に達するか、または当該モードの所定の最大駆動時間が超過するまで、続けて駆動される点にある。
【００１１】
本発明の利点として、少なくとも２つの命令実行部と１つの比較ユニットを備えたコンピュータシステムを制御する方法であって、上記コンピュータシステムはロックステップモードで駆動され、上記コンピュータシステムにおいて、上記少なくとも２つの命令実行部の演算結果が比較されている方法において、上記少なくとも１つの命令実行部で、上記比較ユニットによってエラーが検出された際または検出された後に、上記少なくとも１つの命令実行部のためのエラー検出が実行されることを特徴としている。本発明の利点として、本方法は、上記比較ユニットによるエラー検出時または検出後に、目下の命令シーケンスが上記少なくとも２つの命令実行部において中断され、上記少なくとも２つの命令実行部においてエラー検出が実行されることを特徴としている。本発明の利点として、本方法は、上記比較ユニットによるエラー検出時または検出後に、上記目下の命令シーケンスが、特定の命令実行部において中断され、上記特定の命令実行部においてエラー検出が実行されており、上記少なくとも２つの命令実行部の上記比較ユニットが、上記エラー検出が実行される間停止され、少なくとも１つの更なる別の命令実行部において、通常のプログラムシーケンスが続けて実行されることを特徴としている。本発明の利点として、本発明は、上記エラー検出の実行後に、上記エラー検出によりエラーを検出しなかった場合に通常のプログラムシーケンスが続行されることを特徴としている。本発明の利点として、本発明は、命令実行部においてエラーの位置が確認された際または確認された後に、エラーのある命令実行部が停止されることを特徴としている。本発明の利点として、本発明は、上記比較ユニットが非作動とされることを特徴としている。本発明の利点として、本発明は、少なくとも１つの構成要素を非作動させた際にエラー信号が生成され、上記エラー信号がアプリケーションに提供されることを特徴としている。本発明の利点として、本方法は、エラー発生後に、1つの命令実行部の駆動時間が制限され、上記コンピュータシステムが遅くとも所定時間の駆動後に停止されることを特徴としている。本発明の利点として、本方法は、所定時間の駆動の前にすでに、アプリケーションによって生成された信号によって停止されることを特徴としている。本発明の利点として、本装置は、少なくとも２つの命令実行部と１つの比較ユニットを備えたコンピュータシステムを制御する装置であって、上記コンピュータシステムはロックステップ（モード）で駆動され、上記コンピュータシステムにおいて、上記少なくとも２つの命令実行部の演算結果が比較されている装置において、少なくとも１つの命令実行部において、上記比較ユニットによってエラーが検出された際または検出された後に、上記少なくとも１つの命令実行部のためのエラー検出が実行されるように構成された手段が設けられていることを特徴としている。本発明の利点として、本装置は、上記少なくとも２つの命令実行部とロックステップモードとの接続を中断し、任意の１つの命令実行部にマスタ機能を割り当てるための手段が設けられていることを特徴としている。本発明の利点として、本装置は、上記命令実行部のためのエラー検出の��能を格納するための手段が設けられていることを特徴としている。本発明の利点として、本装置は、必要な場合に、少なくとも１つの命令実行部に上記エラー検出のための命令および／またはプログラムを供給するための手段が設けられていることを特徴としている。本発明の利点として、本装置は、上記比較ユニットを非作動させるための手段を備えていることを特徴としている。
【００１２】
本発明の更なる別の利点や有利な実施形態は、特許請求の範囲に記載の請求項の構成要件および明細書から明らかになるであろう。
【発明を実施するための最良の形態】
【００１３】
図１には、例えばデュアルコア・コンピュータのような、複数の命令実行部W１１０aおよびW１１０ｂを備えたプロセッサシステムW１００と、好ましくはハードウェアに実現された、１つの比較ユニットW１２０とが示されている。このプロセッサシステムは、ロックステップモードで駆動される。この駆動形式において、命令実行部の演算結果が、好ましくは各クロック周期後に比較される。その際、命令実行部は、プロセッサ／コア／ＣＰＵとして、ＦＰＵ（浮動小数点演算装置）、ＤＳＰ（デジタルシグナルプロセッサ）として、コアプロセッサとして、またはＡＬＵ（演算論理装置）として、任意の数の割り当てられたレジスタセットを備えて実現されることが可能である。その際、特に１つの命令実行部が、割込み許可ユニットW１３０を介して、システムインタフェースW１４０と接続されている、または直接プロセッサッサのデータ／アドレスバスと接続されている。この命令実行部は、プロセッサシステムで続けて処理される、唯一の演算結果を生成する。従って、システムインタフェースW１３０、またはプロセッサシステムのデータ／アドレスバスと接続されている命令実行部は、マスタと呼ばれている。少なくとも１つの更なる別の命令実行部の出力信号は、比較ユニットW１２０に伝達され、そこでマスタの出力信号のサニティーチェックに利用される。比較ユニットW１２０は、比較を示す情報に相当する制御信号W１２５を介して、割込み許可ユニットW１３０を制御する。CPUとして実現されている、厳密に２つの命令実行部を備えたこのようなシステムは、従来の技術において、デュアルコア・マイクロコントローラとして知られている。
【００１４】
ロックステップモードで駆動される、公知のデュアルコア・マイクロプロセッサとは違って、本発明の第1の実施形態においては、ある程度の制約条件を遵守した上で、冗長な命令実行部の出力信号が不一致した際にも、値がレジスタまたは記憶装置に書き込まれる、またはデータ／アドレスバスに出力される。その際、マスタ機能は、１つの命令実行部に固定して割り当てられるのではなく、様々な命令実行部に割り当てられる。この割り当ては、静的に設定されたスキーマに基づいて行われる、または動的に決定される。
【００１５】
図２に示された第2の実施形態において、プロセッサシステムW１０１は、図１のプロセッサシステムW１００に比べて拡張された比較ユニットW１２１と、２つの割込み許可ユニットW１３０a およびW１３０ｂとを含んでいる。割込み許可ユニットを介して、命令実行部W１１０aおよびW１１０ｂは、システムインタフェースW１４０ａおよびW１４０ｂと、またはデータ／アドレスバスと接続される。割込み許可ユニットは、信号W１２６aおよびW１２６bを介して、比較ユニットによって駆動される。しかしその際、全プロセッサシステムにおいて、常に１つの命令実行部にのみマスタ機能が割り当てられる。すなわち、常に、最大１つの命令実行部が１つのシステムインタフェース、またはデータ／アドレスバスと接続されている。その際、マスタ機能の割り当て、またはマスタ機能の切り替えは、割込み許可ユニットW１３０aまたはW１３０ｂの制御を介して行われる。また、比較ユニットW１２１によって、少なくとも２つの命令実行部の出力信号の比較結果に従って制御される。
【００１６】
図３に示された第３の実施形態において、マスタ機能への切り替えが、比較ユニットW１２２によって行われる。比較ユニットは、少なくとも１つの入力信号W１６０またはこの入力信号の識別子に従い、割込み許可ユニットW１３０aおよびW１３０ｂの制御を介して、少なくとも２つの命令実行部W１１０aとW１１０ｂとの間の信号W１２６aおよび１２６ｂを用いて、マスタ機能を切り替える、またはシステムを停止する。
【００１７】
入力信号W１６０またはこの入力信号の識別子は、時間または命令カウンタ（例えば１０クロック周期ごと、または１０命令ごと）に従って、好ましくは特別なハードウェア構成要素によって生成されることが可能である。または、駆動システムによって、例えば、ランタイムオブジェクトのスケジューリングに従って生成される。（例えば、ランタイムオブジェクトが呼び出される度に切り替えられる、または駆動システム周期ごとに切り替えられる）。または、プログラムコードの識別子に依存する。または、割込み要請ユニットの割込みまたは信号によって生成される。または、プログラムおよび／またはデータ記憶装置の特定のメモリ領域へのアクセスに依存する。
【００１８】
マスタ機能の割り当てまたはマスタ機能への切り替えは、上記の条件の１つ、比較ユニットW１２２の比較結果、またはこれら複数の条件の組み合わせに依存する可能性がある。
【００１９】
命令実行部の出力信号が不一致の場合、内部エラー信号が、比較ユニットによって生成される。信号W１６０を介して比較ユニットに知らされるシステム状態に従って、システム停止の代わりに、マスタ機能の、一方の命令実行部から他方の命令実行部への切り替えが行われる。この工程は、出力信号が不一致する度に繰り返される。すなわち、マスタ機能が、その都度の他方の命令実行部に割り当てられる。その際重要なことは、マスタが、比較結果に依存せずに、その都度のシステムインタフェースW１４０を介して、独自の演算結果を次に伝達することである。比較ユニットは違いを検出するが、その都度のマスタによる書き込みを阻止しない。比較ユニットW１２２では、検出された不一致を数えるエラーカウンタに従って設定可能なエラー数を超過した後にシステムを停止させる、更なる別の手段が含まれていることが可能である。図４にも示すように、このシステムは、外部エラー信号W１７０を比較ユニットW１２３によって生成することが可能である。このエラー信号は、外部ユニット、駆動システムにおいて、またはアプリケーションにおいて評価される。さらに、信号W１６０を介して比較ユニットW１２３に、システムが停止されるべきであることが知らされる。これらの実施形態は、エラーの際、プロセッサシステムが（エラー発生と共に）即時に停止されるのではなく、続けて駆動されるという点で共通している。マスタ機能を切り替えることによって、命令実行部のうちの１つで永続的なエラーが発生した際にも、少なくとも各第２の演算結果が正確であることが可能になる。さらに、その都度の利用機能に従って、ある程度の時間、十分な機能品質を保って、システムを続けて駆動することが可能である。
【００２０】
車両における、信号の初期調整およびメカトロニクスシステム制御のための複数の機能は、ロバスト設計になっている。すなわち、（例えば、EMV（電磁両立性）照射またはエラー変数が調整回路に作用することによる）短時間のノイズは、このようなシステムにおいて安全性に関わる重大な影響を及ぼすことがないので、許容されることが可能である。しかし、長く続くノイズは、このような「ロバストな」システムによっても許容されない。このようなロバストな機能において、プロセッサシステムは、エラー発生後、すなわち比較ユニットによる不一致の検出後に、即時停止される必要はない。短時間作用する、一時的エラー要因の場合、エラーは、通常次の呼出しの際にはもはや存在していない。複数の命令実行部を備えたプロセッサシステムでは、命令実行部の出力信号を交互に利用することによって、または、マスタ機能を交互に割り振ることによって、（複数の）命令実行部のうちの１つにおける永続的なエラーも、アプリケーションに継続して作用することはなく、断続的にしか作用しない。従って、エラーの際のプロセッサシステムの停止は、エラーが一義的に永続的なエラーとして検出される、または利用しているシステムが停止に備えて適切なシステム状態に達するまで、待つことが可能である。
【００２１】
更なる別の実施形態において、少なくとも２つの命令実行部の出力信号の不一致が検出された際、目下の命令シーケンス（プログラムブロック、タスク）の実行が全命令実行部において中断される。中断された命令シーケンスの代わりに、全命令実行部において、例えばＢＩＳＴ（ビルトイン・セルフテスト）またはソフトウェアベースのセルフテスト等の、エラー検出ルーチンが実行される。保存された参照値を用いてエラー検出ルーチンの結果を比較することによって、エラーが検出され、位置が確認される。エラーが検出され、位置が確認された際には、エラーがある命令実行部は停止される。エラーがない命令実行部は、停止するためのより安全なシステム状態に達するまで、続けて駆動される。エラーがある命令実行部は、比較ユニットが非作動とされ、この命令実行部に割り当てられた割込み許可ユニットW１３０aまたはW１３０ｂによって、この命令実行部のシステムインタフェースまたはアドレス・データバスへの接続が禁止されることによって、停止される。または、この命令実行部に、命令、データおよび／またはクロック信号が供給されないことによって、システムが停止される。
【００２２】
比較ユニットを非作動とするには、様々な可能性がある。第１の可能性として、比較ユニットに、比較ロジックまたは比較機能を作動させるか、または非作動とする信号を送ることが可能である。さらに、比較ユニットで、このような信号に依存せずに比較機能の作動または非作動を実行できるロジックが追加的に挿入される。第２の可能性として、比較ユニットに、比較されるデータを供給しないことが挙げられる。第３の可能性として、システムレベルで、図４に基づく比較ユニットW１２３のエラー信号W１７０を無視して、エラー信号W１７０自体を中断する。または、比較結果を、この場合、図２および図３の信号W１２６aおよびW１２６ｂ等のような制御信号を生成するために使用しない。全ての可能性は、命令実行部の出力信号が異なる場合、そのことが問題にはならない状態がシステム内で生成される点で共通している。この状態が、比較ユニットでの処理、または比較ユニットの入力もしくは出力信号によって実現される場合、比較ユニットは、パッシブまたは非作動である、と呼ばれる。
【００２３】
エラー検出を実行した際に命令実行部でエラーが発見されない場合、ロックステップモードで次のタスクが開始される。出力信号の不一致が再び検出された場合、再度、上記の処理方法が行われるが、処理の繰り返しはn回に制限されていなければならない。この制限は、アプリケーションのエラー許容時間に従って行われる。処理がn回繰り返された後再度エラーが検出された場合、システムは即時停止される。
【００２４】
図４に基づく更なる別の好適な実施形態は、デュアルコア・アーキテクチャの、好ましくはハードウェアに実現された比較ユニットを備えたプロセッサシステムに基づいている。プロセッサシステムは、ロックステップ駆動モードの他に、少なくとも第２の駆動モードを可能にし、プロセッサシステムでは、２つの命令実行部W１１０aおよびW１１０ｂが同時に異なるプログラム、プログラムセグメントまたは命令を実行する。プロセッサシステムがロックステップ駆動モードで機能しており、比較ユニットが演算結果の不一致を確定した場合、例えば、システムインタフェースまたはデータ／アドレスバスと直接接続されていない命令実行部W１１０bにおいて、目下のプログラムセグメントまたはランタイムオブジェクト（以下、「タスク」と呼ぶ）の実行が中断され、エラー検出ルーチンが（ＢＩＳＴ等）が開始される。W１１０a等の他の命令実行部は、続けて目下のタスクを実行するが、その際の統計的なエラー確率は５０％である。W１１０ｂでのエラー検出ルーチンが、W１１０aで実行されているタスク終了までに、W１１０ｂでエラーを保存された参照値を用いた比較等によって検出した場合、W１１０ｂは停止される。また、W１１０aは、シングルモードで比較なしに、または比較ユニットを非作動にして、全システムが停止するための非臨界状態に達するまで、続けて機能する。その後、マイクロプロセッサシステムは停止される。W１１０ｂがW１１０aのタスク終了までにエラーを発見しなかった場合、次のタスクが再度ロックステップモードで開始されるが、この場合W１１０ｂは、システムインタフェースまたはデータ／アドレスバスと接続される。不一致がもはや発生しない場合、それ以前に行われたタスクにおける不一致は、高い確率で、一時的エラーの影響を受けている。再度不一致が発生した場合、この場合は命令実行部W１１０aで目下のタスクが中断され、エラー検出ルーチン（ＢＩＳＴ等）が開始される。この工程は、次回の（または構成可能な回数の）ディスパッチャ・ラウンド（駆動システム周期）の開始まで繰り返される。その後、エラーの位置が確認されなかったにもかかわらず、再度演算結果が不一致した場合、エラー検出によって位置が確認されなかった永続的なエラーが推測され、マイクロプロセッサシステムは完全に停止される。
【００２５】
図５には、命令実行部の出力信号の不一致が発生した後に、プロセッサシステムを制御する第１の方法の例が示されている。
【００２６】
ステップ５１０では、少なくとも２つの命令実行部において、同一の命令またはプログラムセグメントが実行されている。
【００２７】
ステップ５２０では、この少なくとも２つの命令実行部の一致が比較されている。出力信号が同一であるか、または定義された許容域内にある場合、ステップ５１０が新たに、新しいプログラムセグメントまたは命令および／またはデータを用いて開始される。ステップ５２０で、出力信号の不一致が検出される場合、次にステップ５３０が実行される。
【００２８】
ステップ５３０では、目下のプログラム実行が中断され、全命令実行部においてエラー検出ルーチンが実行される。その際、命令実行部とシステムインタフェースまたはデータおよび／またはデータとの接続は中断される。
【００２９】
ステップ５４０では、エラー検出ルーチンの結果が、その都度、エラー識別ルーチンのプログラムコードと一緒に格納されている参照値を用いて比較される。この比較の際に不一致が発生した場合、比較の結果不一致があった命令実行部は、エラーがあるとの標識がつけられ、次にステップ５５０が実行される。不一致が発生しない場合、ステップ５１０が新たに、新しいプログラムセグメントまたは命令および／またはデータを用いて開始される。
【００３０】
ステップ５５０では、エラーがあると標識がつけられた命令実行部と比較ユニットが非作動とされる。命令実行部の停止は、例えば、この命令実行部に命令、データおよび／またはクロック信号が供給されない、または、この命令実行部の、比較ユニットまたはシステムインタフェースまたはデータ／アドレスバスへの接続が中断されることによって、行われる。
【００３１】
ステップ５６０では、残った、エラーがない命令実行部を備えたプロセッサシステムが続けて駆動される。２つの命令実行部を備えたプロセッサシステムにおいて、このことは、シングル・コア駆動を意味している。このシングル・コア駆動は、安全性に関わるシステムの際には時間が制限されている。
【００３２】
ステップ５７０では、停止条件が達成された後に、例えば、シングル・コア駆動の時間制限を超過した後に、プロセッサシステムの停止または定義されたより安全な状態への切り替えが行われる。
【００３３】
図６では、命令実行部の出力信号の不一致が発生した後に、プロセッサシステムを制御する第２の方法が記載されている。
【００３４】
ステップ６０５では、マスタ機能が第１命令実行部から第２命令実行部へと切り替えられる。
【００３５】
ステップ６１０では、少なくとも２つの命令実行部において、同一の命令またはプログラムセグメントが実行される。
【００３６】
ステップ６２０では、この少なくとも２つの命令実行部の出力信号が一致を比較される。出力信号が同一である、または定義された許容帯域内にある場合、ステップ６１０が新たに、新しいプログラムセグメントまたは命令／およびデータを用いて、開始される。ステップ６２０で出力信号の不一致が検出された場合、次にステップ６３０が実行される。
【００３７】
ステップ６３０では、少なくとも１つの命令実行部において、少なくともシステムインタフェースまたはデータ／アドレスバスと接続された命令実行部において、目下のプログラムシーケンスの実行が続行される。少なくとも１つの更なる別の命令実行部において、エラー識別ルーチンが実行される。その際、比較ユニットは非作動されなければならない。
【００３８】
ステップ６４０では、エラー検出ルーチンがその都度、エラー識別ルーチンのプログラムコードと一緒に格納されている参照値を用いて比較される。この比較において不一致が発生した場合、比較結果が不一致となった命令実行部は、エラーがあると標識がつけられ、次に、ステップ６５０が実行される。不一致が発生しない場合、ステップ６０５が新たに、新しいプログラムセグメントまたは命令および／またはデータを用いて、実行される。
【００３９】
ステップ６５０では、エラーがあると標識がつけられた命令実行部が停止される。これは、例えば、この命令実行部に、命令、データおよび／またはクロック信号が供給されない、または、この命令実行部と比較ユニットおよびシステムインタフェースまたはデータ／アドレスバスとの接続が中断される、ことによって行われる。
【００４０】
ステップ６６０では、残った、エラーのない命令実行部を備えたプロセッサシステムが続けて駆動される。２つの命令実行部を備えたプロセッサシステムにおいて、このことは、シングル・コア駆動を意味している。このシングル・コア駆動は、安全性に関わるシステムの際には、時間が制限されている。
【００４１】
ステップ６７０では、停止条件が達成された後に、例えば、シングル・コア駆動の時間制限を超過した後に、プロセッサシステムの停止または定義されたより安全な状態への切り替えが行われる。
【図面の簡単な説明】
【００４２】
【図１】マスタＣＰＵおよびスレーブＣＰＵを備えたデュアルコアプロセッサが示されている。
【図２】２つのシステムインタフェースを備えたデュアルコアプロセッサが示されている。
【図３】比較ユニットの追加的な入力信号を有するデュアルコアプロセッサが示されている。
【図４】比較ユニットの追加的なエラー信号を有するデュアルコアプロセッサが示されている。
【図５】プロセッサシステムにおいてエラー処理する第1の方法がフローチャートに示されている。
【図６】プロセッサシステムにおいてエラー処理する第２の方法がフローチャートに示されている。
【図１】
2009505183.tif 000003
【図２】
2009505183.tif 000004
【図３】
2009505183.tif 000005
【図４】
2009505183.tif 000006
【図５】
2009505183.tif 000007
【図６】
2009505183.tif 000008
【国際調査報告】
2009505183.tif 000009
2009505183.tif 000010
2009505183.tif 000011
2009505183.tif 000012
2009505183.tif 000013
2009505183.tif 000014