JP2009505183A - 少なくとも2つの命令実行部および1つの比較ユニットを備えたコンピュータシステムを制御する方法および装置 - Google Patents

少なくとも2つの命令実行部および1つの比較ユニットを備えたコンピュータシステムを制御する方法および装置 Download PDF

Info

Publication number
JP2009505183A
JP2009505183A JP2008525522A JP2008525522A JP2009505183A JP 2009505183 A JP2009505183 A JP 2009505183A JP 2008525522 A JP2008525522 A JP 2008525522A JP 2008525522 A JP2008525522 A JP 2008525522A JP 2009505183 A JP2009505183 A JP 2009505183A
Authority
JP
Japan
Prior art keywords
instruction execution
error
execution unit
unit
comparison unit
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.)
Granted
Application number
JP2008525522A
Other languages
English (en)
Other versions
JP5199088B2 (ja
Inventor
ラインハルト、バイバール
ベルント、ミュラー
ライナー、グメーリヒ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Robert Bosch GmbH filed Critical Robert Bosch GmbH
Publication of JP2009505183A publication Critical patent/JP2009505183A/ja
Application granted granted Critical
Publication of JP5199088B2 publication Critical patent/JP5199088B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/165Error detection by comparing the output of redundant processing systems with continued operation after detection of the error
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/1654Error detection by comparing the output of redundant processing systems where the output of only one of the redundant processing components can drive the attached hardware, e.g. memory or I/O
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/1641Error detection by comparing the output of redundant processing systems where the comparison is not performed by the redundant processing components

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)
  • Steering-Linkage Mechanisms And Four-Wheel Steering (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Electrotherapy Devices (AREA)

Abstract

本発明は、少なくとも2つの命令実行部と1つの比較ユニットを備えたコンピュータシステムを制御する方法であって、コンピュータシステムはロックステップモードで駆動され、コンピュータシステムにおいて少なくとも2つの命令実行部の演算結果が比較されている方法において、少なくとも1つの命令実行部で比較ユニットによってエラーが検出された際または検出された後に、少なくとも1つの命令実行部のためのエラー検出が実行されることを特徴とする、少なくとも2つの命令実行部と1つの比較ユニットを備えたコンピュータシステムを制御する方法に関する。

Description

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

Claims (14)

  1. 少なくとも2つの命令実行部と1つの比較ユニットを備えたコンピュータシステムを制御する方法であって、前記コンピュータシステムはロックステップで駆動され、前記コンピュータシステムにおいて、前記少なくとも2つの命令実行部の演算結果が比較される方法において、
    少なくとも1つの命令実行部で、前記比較ユニットによってエラーが検出された際またはエラーが検出された後に、前記少なくとも1つの命令実行部のためのエラー検出が実行されることを特徴とする、コンピュータシステムを制御する方法。
  2. 前記比較ユニットによるエラー検出時または検出後に、目下の命令シーケンスが前記少なくとも2つの命令実行部において中断され、前記少なくとも2つの命令実行部においてエラー検出が実行されることを特徴とする、請求項1に記載の方法。
  3. 前記比較ユニットによるエラー検出時または検出後に、前記目下の命令シーケンスが、特定の1つの命令実行部において中断され、前記特定の1つの命令実行部においてエラー検出が実行されており、前記少なくとも2つの命令実行部の前記比較ユニットが、前記エラー検出が実行される間停止され、少なくとも1つの更なる別の命令実行部において、通常のプログラムシーケンスが続けて実行されることを特徴とする、請求項1に記載の方法。
  4. 前記エラー検出の実行後に、前記エラー検出によりエラーを検出しなかった場合に、通常のプログラムシーケンスが続行されることを特徴とする、請求項2または請求項3に記載の方法。
  5. 命令実行部においてエラーの位置が確認された際または確認された後に、エラーが検出された命令実行部が停止されることを特徴とする、請求項2または請求項3に記載の方法。
  6. 前記比較ユニットが非作動とされることを特徴とする、請求項5に記載の方法。
  7. 少なくとも1つの構成要素を非作動させた際にエラー信号が生成され、前記エラー信号がアプリケーションに提供されることを特徴とする、請求項5または請求項6に記載の方法。
  8. エラー発生後に、1つの命令実行部の駆動時間が制限され、前記コンピュータシステムが遅くとも所定時間の駆動後に停止されることを特徴とする、請求項1に記載の方法。
  9. 所定時間の駆動の前に、アプリケーションによって生成された信号によって停止されることを特徴とする、請求項8に記載の方法。
  10. 少なくとも2つの命令実行部と1つの比較ユニットを備えたコンピュータシステムを制御する装置であって、前記コンピュータシステムはロックステップで駆動され、前記コンピュータシステムにおいて、前記少なくとも2つの命令実行部の演算結果が比較される装置において、
    少なくとも1つの命令実行部において、前記比較ユニットによってエラーが検出された際またはエラーが検出された後に、前記少なくとも1つの命令実行部のためのエラー検出が実行されるように構成された手段が設けられていることを特徴とする、コンピュータシステムを制御する装置。
  11. 前記少なくとも2つの命令実行部とロックステップモードとの接続を中断し、任意の1つの命令実行部にマスタ機能を割り当てるための手段が設けられていることを特徴とする、請求項10に記載の装置。
  12. 前記命令実行部のためのエラー検出の機能を格納するための手段が設けられていることを特徴とする、請求項10に記載の装置。
  13. 必要な場合に、少なくとも1つの命令実行部に前記エラー検出のための命令および/またはプログラムを供給するための手段が設けられていることを特徴とする、請求項10に記載の装置。
  14. 前記比較ユニットを非作動とするための手段を備えていることを特徴とする、請求項10に記載の装置。
JP2008525522A 2005-08-08 2006-07-26 少なくとも2つの命令実行部および1つの比較ユニットを備えたコンピュータシステムを制御する方法および装置 Expired - Fee Related JP5199088B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
DE102005037246.5 2005-08-08
DE102005037246A DE102005037246A1 (de) 2005-08-08 2005-08-08 Verfahren und Vorrichtung zur Steuerung eines Rechnersystems mit wenigstens zwei Ausführungseinheiten und einer Vergleichseinheit
PCT/EP2006/064690 WO2007017386A1 (de) 2005-08-08 2006-07-26 Verfahren und vorrichtung zur steuerung eines rechnersystems mit wenigstens zwei ausführungseinheiten und einer vergleichseinheit

Publications (2)

Publication Number Publication Date
JP2009505183A true JP2009505183A (ja) 2009-02-05
JP5199088B2 JP5199088B2 (ja) 2013-05-15

Family

ID=37433825

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008525522A Expired - Fee Related JP5199088B2 (ja) 2005-08-08 2006-07-26 少なくとも2つの命令実行部および1つの比較ユニットを備えたコンピュータシステムを制御する方法および装置

Country Status (7)

Country Link
US (1) US20090217092A1 (ja)
EP (1) EP1917592B1 (ja)
JP (1) JP5199088B2 (ja)
CN (1) CN101243407B (ja)
AT (1) ATE433154T1 (ja)
DE (2) DE102005037246A1 (ja)
WO (1) WO2007017386A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014529064A (ja) * 2011-08-05 2014-10-30 ローベルト ボツシユ ゲゼルシヤフト ミツト ベシユレンクテル ハフツングRobert Bosch Gmbh 回路装置、及び、センサ信号の妥当性検査方法
JP2016168986A (ja) * 2015-03-16 2016-09-23 日立建機株式会社 制御コントローラ、ステアバイワイヤシステムおよび機械
KR20170134710A (ko) * 2015-04-20 2017-12-06 아우토리브 디벨롭먼트 아베 차량 안전 전자 제어 시스템

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9207661B2 (en) 2007-07-20 2015-12-08 GM Global Technology Operations LLC Dual core architecture of a control module of an engine
US8259193B2 (en) * 2007-11-21 2012-09-04 Panasonic Corporation Image file reproduction apparatus and image data reproduction apparatus
WO2009125371A2 (en) * 2008-04-09 2009-10-15 Nxp B.V. A method and system for power management
JP5195913B2 (ja) 2008-07-22 2013-05-15 トヨタ自動車株式会社 マルチコアシステム、車両用電子制御ユニット、タスク切り替え方法
US9665461B2 (en) 2009-12-04 2017-05-30 Red Hat, Inc. Obtaining application performance data for different performance events via a unified channel
US8286192B2 (en) * 2009-12-04 2012-10-09 Red Hat, Inc. Kernel subsystem for handling performance counters and events
US8171340B2 (en) * 2009-12-11 2012-05-01 Red Hat, Inc. Software performance counters
US8954996B2 (en) * 2009-12-11 2015-02-10 Red Hat, Inc. Profiling the system providing performance statistics in real time
US8935703B2 (en) * 2009-12-11 2015-01-13 Red Hat, Inc. Performance counter inheritance
US9146835B2 (en) 2012-01-05 2015-09-29 International Business Machines Corporation Methods and systems with delayed execution of multiple processors
US9058419B2 (en) 2012-03-14 2015-06-16 GM Global Technology Operations LLC System and method for verifying the integrity of a safety-critical vehicle control system
FR2994000B1 (fr) * 2012-07-30 2015-06-05 Airbus Operations Sas Procede de surveillance de l'execution coordonnee de taches sequencees par une carte electronique comportant au moins deux processeurs synchronises sur une meme horloge
US9135126B2 (en) 2013-02-07 2015-09-15 International Business Machines Corporation Multi-core re-initialization failure control system
US9641287B2 (en) 2015-01-13 2017-05-02 Honeywell International Inc. Methods and apparatus for high-integrity data transfer with preemptive blocking
DE102015003194A1 (de) 2015-03-12 2016-09-15 Infineon Technologies Ag Verfahren und Vorrichtung zum Handhaben von sicherheitskritischen Fehlern
DE102015216086A1 (de) * 2015-08-24 2017-03-02 Robert Bosch Gmbh Verfahren und Vorrichtung zum Überwachen eines Zustandes einer elektronischen Schaltungseinheit eines Fahrzeugs
US9734006B2 (en) * 2015-09-18 2017-08-15 Nxp Usa, Inc. System and method for error detection in a critical system
DE102015218882A1 (de) 2015-09-30 2017-03-30 Robert Bosch Gmbh Verfahren und Vorrichtung zum Prüfen von Berechnungsergebnissen in einem System mit mehreren Recheneinheiten
JP6083480B1 (ja) * 2016-02-18 2017-02-22 日本電気株式会社 監視装置、フォールトトレラントシステムおよび方法
JP2017146897A (ja) 2016-02-19 2017-08-24 株式会社デンソー マイクロコントローラ及び電子制御装置
CN107885585A (zh) * 2016-09-30 2018-04-06 罗伯特·博世有限公司 一种在多核电子控制单元中的动态任务调度器
US10331532B2 (en) * 2017-01-19 2019-06-25 Qualcomm Incorporated Periodic non-intrusive diagnosis of lockstep systems
DE102017109175A1 (de) * 2017-04-28 2018-10-31 Valeo Schalter Und Sensoren Gmbh Steuereinrichtung, Fahrerassistenzsystem, Kraftfahrzeug und Verfahren zum Steuern einer Fahrerassistenzfunktion
DE102017116081A1 (de) * 2017-07-18 2019-01-24 Robert Bosch Gmbh Verfahren und Vorrichtung zum Konfigurieren einer Ausführungseinrichtung und zum Erkennen eines Betriebszustands derselben
US10802932B2 (en) 2017-12-04 2020-10-13 Nxp Usa, Inc. Data processing system having lockstep operation
US11852764B2 (en) * 2018-07-27 2023-12-26 Triad National Security, Llc Seismic detection switch
JP2022051361A (ja) * 2020-09-18 2022-03-31 株式会社東芝 半導体装置
US11513883B2 (en) * 2021-01-29 2022-11-29 Stmicroelectronics International N.V. Glitch absorption apparatus and method

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0695902A (ja) * 1992-09-17 1994-04-08 Hitachi Ltd プロセッサ二重化方式の情報処理装置
JPH06266574A (ja) * 1993-03-17 1994-09-22 Hitachi Ltd 高信頼型計算機用システム制御lsi及びそれを用いたコンピュータシステム
JPH0822398A (ja) * 1994-07-05 1996-01-23 Toshiba Corp 二重化計算機システム
JP2000298594A (ja) * 1999-04-13 2000-10-24 Nec Corp フォールトトレラント制御方法および冗長コンピュータシステム

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3898621A (en) * 1973-04-06 1975-08-05 Gte Automatic Electric Lab Inc Data processor system diagnostic arrangement
US5748873A (en) * 1992-09-17 1998-05-05 Hitachi,Ltd. Fault recovering system provided in highly reliable computer system having duplicated processors
US6311289B1 (en) * 1998-11-03 2001-10-30 Telefonaktiebolaget Lm Ericsson (Publ) Explicit state copy in a fault tolerant system using a remote write operation
US6393582B1 (en) * 1998-12-10 2002-05-21 Compaq Computer Corporation Error self-checking and recovery using lock-step processor pair architecture
US6948092B2 (en) * 1998-12-10 2005-09-20 Hewlett-Packard Development Company, L.P. System recovery from errors for processor and associated components
US6393590B1 (en) * 1998-12-22 2002-05-21 Nortel Networks Limited Method and apparatus for ensuring proper functionality of a shared memory, multiprocessor system
US6625749B1 (en) * 1999-12-21 2003-09-23 Intel Corporation Firmware mechanism for correcting soft errors
US6615366B1 (en) * 1999-12-21 2003-09-02 Intel Corporation Microprocessor with dual execution core operable in high reliability mode
US6715062B1 (en) * 2000-07-26 2004-03-30 International Business Machines Corporation Processor and method for performing a hardware test during instruction execution in a normal mode
US7055060B2 (en) * 2002-12-19 2006-05-30 Intel Corporation On-die mechanism for high-reliability processor
US20050240806A1 (en) * 2004-03-30 2005-10-27 Hewlett-Packard Development Company, L.P. Diagnostic memory dump method in a redundant processor
US7296181B2 (en) * 2004-04-06 2007-11-13 Hewlett-Packard Development Company, L.P. Lockstep error signaling
US7237144B2 (en) * 2004-04-06 2007-06-26 Hewlett-Packard Development Company, L.P. Off-chip lockstep checking
US7290169B2 (en) * 2004-04-06 2007-10-30 Hewlett-Packard Development Company, L.P. Core-level processor lockstepping
US7328371B1 (en) * 2004-10-15 2008-02-05 Advanced Micro Devices, Inc. Core redundancy in a chip multiprocessor for highly reliable systems
US7366948B2 (en) * 2004-10-25 2008-04-29 Hewlett-Packard Development Company, L.P. System and method for maintaining in a multi-processor system a spare processor that is in lockstep for use in recovering from loss of lockstep for another processor

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0695902A (ja) * 1992-09-17 1994-04-08 Hitachi Ltd プロセッサ二重化方式の情報処理装置
JPH06266574A (ja) * 1993-03-17 1994-09-22 Hitachi Ltd 高信頼型計算機用システム制御lsi及びそれを用いたコンピュータシステム
JPH0822398A (ja) * 1994-07-05 1996-01-23 Toshiba Corp 二重化計算機システム
JP2000298594A (ja) * 1999-04-13 2000-10-24 Nec Corp フォールトトレラント制御方法および冗長コンピュータシステム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JPN6010058320; 大林明彦 外: '「Express5800/ftサーバ」' NEC技報 第55巻第7号, 20020725, 15頁〜18頁, 日本電気株式会社 *
JPN6010058321; 岡田政彦 外: '「Express5800/ftサーバ」' NEC技報 第58巻第1号, 20050125, 25頁〜29頁, 日本電気株式会社 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014529064A (ja) * 2011-08-05 2014-10-30 ローベルト ボツシユ ゲゼルシヤフト ミツト ベシユレンクテル ハフツングRobert Bosch Gmbh 回路装置、及び、センサ信号の妥当性検査方法
JP2016168986A (ja) * 2015-03-16 2016-09-23 日立建機株式会社 制御コントローラ、ステアバイワイヤシステムおよび機械
KR20170134710A (ko) * 2015-04-20 2017-12-06 아우토리브 디벨롭먼트 아베 차량 안전 전자 제어 시스템
KR102033387B1 (ko) * 2015-04-20 2019-11-08 비오니어 스웨덴 에이비 차량 안전 전자 제어 시스템

Also Published As

Publication number Publication date
CN101243407A (zh) 2008-08-13
EP1917592B1 (de) 2009-06-03
JP5199088B2 (ja) 2013-05-15
US20090217092A1 (en) 2009-08-27
ATE433154T1 (de) 2009-06-15
WO2007017386A1 (de) 2007-02-15
CN101243407B (zh) 2012-05-16
DE102005037246A1 (de) 2007-02-15
EP1917592A1 (de) 2008-05-07
DE502006003900D1 (de) 2009-07-16

Similar Documents

Publication Publication Date Title
JP5199088B2 (ja) 少なくとも2つの命令実行部および1つの比較ユニットを備えたコンピュータシステムを制御する方法および装置
JP4532561B2 (ja) マルチプロセッサシステムにおける同期化のための方法および装置
US7669079B2 (en) Method and device for switching over in a computer system having at least two execution units
US20130268798A1 (en) Microprocessor System Having Fault-Tolerant Architecture
CN1993679B (zh) 执行计算机程序的方法、操作系统和计算设备
CN100520730C (zh) 在具有至少两个执行单元的计算机系统中对程序代码的执行进行分离的方法和设备
US8090983B2 (en) Method and device for performing switchover operations in a computer system having at least two execution units
US20090044048A1 (en) Method and device for generating a signal in a computer system having a plurality of components
JP5244981B2 (ja) マイクロコンピュータ及びその動作方法
EP3770765B1 (en) Error recovery method and apparatus
US20070245133A1 (en) Method and Device for Switching Between at Least Two Operating Modes of a Processor Unit
US20070255875A1 (en) Method and Device for Switching Over in a Computer System Having at Least Two Execution Units
US20090119540A1 (en) Device and method for performing switchover operations in a computer system having at least two execution units
US20080263340A1 (en) Method and Device for Analyzing a Signal from a Computer System Having at Least Two Execution Units
CN100538644C (zh) 执行计算机程序的方法、计算设备
US20080288758A1 (en) Method and Device for Switching Over in a Computer System Having at Least Two Execution Units
JP2008518300A (ja) 少なくとも2つの実行ユニットを備えるコンピュータシステムにおけるプログラムコードの処理分割方法および装置
CN100555233C (zh) 用于在多处理器系统中进行同步的方法和设备
US20070067677A1 (en) Program-controlled unit and method
US20080313384A1 (en) Method and Device for Separating the Processing of Program Code in a Computer System Having at Least Two Execution Units
JP2009505189A (ja) 少なくとも部分的に安全上重大なプロセスの制御または調節用マイクロプロセッサシステム
CN100511165C (zh) 执行计算机程序的方法、操作系统以及计算设备
JP2009505188A (ja) 少なくとも部分的に安全上重大なプロセスの制御または調節用マイクロプロセッサシステム
JP2008518340A (ja) 少なくとも2つの実施ユニットを有する計算機システムにおいて切り替える方法および装置
EP3367242B1 (en) Method of error detection in a microcontroller unit

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100929

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101012

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110105

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111004

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120104

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120112

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120404

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120911

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121211

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130108

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130207

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160215

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5199088

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees