説明

耐故障性があるプロセッサシステム

プロセッサシステムは、アプリケーションのプログラム命令を実行するための少なくとも1つの命令実行部(1)と、アプリケーションのプログラム命令および少なくとも1つのエラー回復ルーチンを格納するためのプログラム記憶装置(3)と、前記アプリケーションの変数セットを格納するための作業記憶装置(2)と、命令実行部(1)および/または作業記憶装置(2、7、8)のエラーを検出し、エラー検出の際にエラー回復ルーチンを開始するための監視ユニット(5)とを含んでいる。エラー回復ルーチンは、変数セットの各異なる部分集合を復元するために構成されている。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、アプリケーションのプログラム命令を実行するための少なくとも1つの命令実行部と、アプリケーションのプログラム命令および少なくとも1つのエラー回復ルーチンを格納するためのプログラム記憶装置と、アプリケーションの変数セットを格納するための作業記憶装置と、命令実行部および/または作業記憶装置のエラーを検出し、エラー検出の際にエラー回復ルーチンを開始するための監視ユニットとを備えるプロセッサシステムに関する。
【背景技術】
【0002】
検出されるエラーとは、正常に駆動しているシステムにおいて、散発的に、予測不可能に発生する「自発的な」エラーである。このようなエラーは、多くの場合、電離放射線に起因する。電離放射線は、システムの半導体物質における電荷キャリアを開放し、電荷の運動を制御不可能にする可能性がある。回路構造の小型化が進むにつれて、電離放射線に対する感度が上がるので、将来的にデジタル回路構造における自発的なエラーに関連する問題が悪化することが見込まれる。近代的な高集積回路の2つの異なる論理レベルの差異に当たる電荷量は非常にわずかなので、半導体構造によって吸収される電離放射線の個々の量子によって、高集積回路の論理的状態が反転される可能性が充分ある。構造が小型化し、電荷が小さくなるほど、ビットフリップ(Bit-Flip)とも呼ばれる、この種の自発的な状態の移行が起こる確率が高くなる。
【0003】
上記に示された形態のプロセッサシステムは、米国特許第6625749号明細書において開示されている。ここでは、2つの命令実行部と検査ユニットとを備えたプロセッサシステムが関わっている。その際、命令実行部および検査ユニットはまとめて一緒に、同一プログラム命令の実行の際に処理ユニットにより獲得された演算結果の比較によって他方の検査ユニットを監視する監視ユニットとして、理解されることが可能である。処理ユニットのうちのひとつにおける故障を示唆する、2つの命令実行部の異なる処理結果が検出される場合に、エラー回復ルーチンが開始される。エラー回復ルーチン過程において、2つの命令実行部の状態データから、エラーがない状態データのセットが作業記憶装置へバックアップされ、続いて両命令実行部へ再複写される。
【0004】
この公知のプロセッサシステムは、実行されるアプリケーションの形態に関係なく、著しい耐故障性が備わっているが、いずれにせよ、命令実行部が冗長化されているため、システムに掛かるコストがかなり高い。
【0005】
この(システムに掛かる)コストは、冗長化されていないプロセッサシステムによって低減されることが可能であるが、この(冗長化されていない)プロセッサの場合、破損しているとして検出されたデータの復旧が、必ずしも確実に可能ではないという問題がある。すなわち、エラーの発生後に、このようなシステムの命令実行部がまだ正確に駆動しており、データ値の復元に必要な冗長な情報が利用可能であるとしても、破損しているとして検出されたデータ値を復元できるという、保障はない。従って、従来の簡単なプロセッサシステムは、多くの場合、エラーが発生した際に、エラーが発生しているアプリケーションの実行を防止する、または自動的に再起動を開始する。再起動によって、アプリケーションの変数の目下の全値が失われるが、はっきりした開始状態が復旧される。開始状態から、システムは、再び正確に駆動することが可能である。
【0006】
このような再起動は、従来の方法では、プロセッサのリセット入力口にリセット信号が印加されることによって開始される。このようなリセット信号がシステムの作動の際にも生成されることによって、作動の際に、再起動と同一の初期化プロセスが実行される。
【0007】
特に実時間利用において、アプリケーションの突然の実行の防止、または、再起動後にシステムが再び使用可能になるために比較的長い時間、多くの場合数百ミリ秒掛かる再起動は許容不可能なので、このような解決策も同様に完全に充分ではない。
【0008】
従って、簡単でかつ、妥当な費用で実現可能な構成において、自発的なビット誤りに対して非常に耐性があるプロセッサシステムが求められる。
【発明の開示】
【課題を解決するための手段】
【0009】
本発明は、アプリケーションのプログラム命令を実行するための少なくとも1つの命令実行部と、アプリケーションのプログラム命令および少なくとも1つのエラー回復ルーチンを格納するためのプログラム記憶装置と、アプリケーションの変数セットを格納するための作業記憶装置と、命令実行部および/または作業記憶装置のエラーを検出し、エラー検出の際にエラー回復ルーチンを開始するための監視ユニットと、を備えるプロセッサシステムにおいて、作業記憶装置が、複数のエラー回復ルーチンを含んでおり、エラー回復ルーチンが、変数セットの各異なる部分集合を復元するために構成されていることを特徴とするプロセッサシステムによって、この(簡単な、妥当な費用で実現可能な構成において、自発的なビット誤りに対して非常に耐性があるプロセッサに対する)必要性を満たす。
【0010】
従来の再起動と異なり、システムの操作上の即応性を再び迅速に整えるために変数の全セットが復元される必要がないので、複数のエラー回復ルーチンにより、発生しているエラーに対して柔軟に対処することが可能となる。
【0011】
少なくとも幾つかのエラー回復ルーチンは、特に、優先順位が互いに前後する関係にある。このようなルーチンによって、エラーが発生する度に、最も順位が高いエラー回復ルーチンが最初に開始される。このようなシステムにおいて、監視ユニットは、特に、上位のエラー回復ルーチンの実行によってエラーが成功裏に除去されたのかについて判断し、エラーが成功裏に除去されなかった場合に下位のエラー回復ルーチンを開始するために、構成されている。
【0012】
エラーが成功裏に除去されなかったものとして判断するために、様々な基準が使用されることが可能である。従って、所定の期間内で上位のエラー回復ルーチンの開始以降にエラーが続く場合には、特に、エラーが成功裏に除去されなかったとして判断されることが可能である。他の有利な基準として、監視ユニットが、所定の期間内で、上位のエラー回復ルーチンの実行以降にエラーを新たに検出するかどうか、ということが挙げられる。
【0013】
与えられたエラー回復ルーチンによって復元された変数の集合は、特に、与えられたエラー回復ルーチンよりも下位のエラー回復ルーチンによって復元された変数の集合の真部分集合に相当する。すなわち、順位において互いに相前後する関係にあり、エラー回復処理が不成功の際に順次実行されるエラー回復ルーチンの、変数セットへの介入は、最終的に、順位において最下位のエラー回復ルーチンとして、再起動が設けられることが可能になるまで、すなわち、目下の変数値全体が破棄され、事前調整によって復元される過程が設けられることが可能になるまで、1つのルーチンから次のルーチンへと次第に段階が進む。
【0014】
本発明に基づくプロセッサシステムが、機械を制御するために使用される場合、エラー検出の際に機械の少なくとも1つの駆動パラメータによって、実行されるエラー回復ルーチンを選択するために、組み込まれていることは有利である。例えば、プロセッサシステムが車両の制御装置で、機械が車両である場合に、車両が停止しているか、または走行しているか、もしくは、どのくらいの速さで走行しているか、ということに従って、実行されるエラー回復ルーチンを決定することが有利でありうる。
【0015】
エラー回復ルーチンを開始するよう命令実行部に促すために、監視ユニットは、命令実行部のNMI(マスク不能な割り込み)入力に接続されていることが可能である。監視ユニットが、命令実行部のリセット入力へ接続されていることも同様に有利である。
【0016】
さらに、監視ユニットは、命令実行部の入力/出力ポートに接続されていることも可能である。命令実行部は、除去される必要があるエラーが存在するかどうかを確認するために、通常駆動において定期的にこのポートに問い合わせをすることが構想可能である。特に、入力/出力ポートは、エラー回復ルーチンの最中に命令実行部に補助情報を転送するために、利用可能である。
【0017】
好適な実施形態に基づいて、命令実行部は、2つのグループの内部記憶セルを有している。その際、第1グループの内部記憶セルは、命令実行部のウォームスタート入力口に印加される信号によって直接的に消去可能であり、第2グループの内部記憶セルは、命令実行部のウォームスタート入力口に印加される信号によって直接的に消去可能ではない。リセットの際に、通常、命令実行部の内部記憶セル全体が、リセット信号によって直接的に消去されることが可能である。その際に、命令実行部によって特別な消去命令が実行される必要はない。一方、2つのグループの記憶セルが存在することによって、アプリケーションのプログラマーは、復元に手間が掛かる変数は第2グループの記憶セルに存在するように、問題なく復元可能な変数は第1グループの記憶セルに存在するように、アプリケーションの変数を、第1グループまたは第2グループの記憶セルに振り分けることが可能である。
【0018】
プロセッサシステムにおけるエラーの存在または非存在を示す信号は、特に、エラーが存在する場合に、アースに近いレベルに、エラーが存在しない場合にアースから遠いレベルになる。従って、例えば供給電圧の停止に起因する、この(プロセッサシステムにおけるエラーの存在または非存在を示す)信号を伝達する回路部分の故障が、この回路部分により検出されるエラーと同じ反応を引き起こし、それが原因で発見され、除去されることが可能である確率が高い。
【0019】
この(エラーの存在または非存在を示す)信号が、エラーが存在する際に一定のレベルに、エラーが存在しない場合に可変的なレベルになる場合に、エラー信号を生成する回路部分におけるノイズ検出の際の信頼性がさらに向上する。
【0020】
本発明の更なる別の特徴および利点は、添付の図に関する実施形態についての以下の記述から明らかとなろう。
【発明を実施するための最良の形態】
【0021】
図1は、マイクロプロセッサ1と、データバス4および図示されていないアドレスバスを介してマイクロプロセッサ1と通信する外部RAM2およびROM3と、監視ユニット5とを備えるプロセッサシステムを示している。マイクロプロセッサ1は、複数のレジスタ6およびキャッシュ等のような選択自由にアクセスできる内部記憶領域7、8と、レジスタ6および記憶装置2、7、8の内容に対して演算動作を実行する演算論理装置(ALU)9と、パリティ生成装置10と、プロセッサによって制御される機械を監視するためのセンサ13と、複数のアクチュエータとを含んでいる。
【0022】
アクチュエータを介して、システムは、機械に作用することが可能である。マイクロプロセッサ1の構成要素は、マイクロプロセッサによるROM3に格納されたプログラム命令へのアクセスとプログラム命令の復号化とを制御するが、それ自体が公知であるので示されていない。レジスタ6、内部記憶装置7、8、および任意にRAM2は、各独自の記憶セルにパリティビットを含んでいる。
【0023】
パリティビットは、セルに格納されたデータワードのパリティ状態を示す。パリティビットは、付属するデータワードと共にデータバス4へ出力されるが、ALU9によって処理されない。パリティビットは、監視ユニット5によって受信され、監視ユニット5が同時に受信される付属するデータワードから計算する、パリティビットと比較される。パリティビットが不一致の際に、パリティ生成装置10は、監視ユニット5へのライン11においてエラー信号を出力する。
【0024】
マイクロプロセッサ1が正常に機能する場合、信号ライン11は、論理レベル1になる。すなわち、マイクロプロセッサの供給電位に近い。パリティエラーが発生した際、論理レベルは0に下がる。すなわち、地電位に近い。その結果、監視ユニット5によって監視される記憶装置内の事実上のビット誤りのみならず、独自の出力信号が0になるという監視ユニット自体のノイズも検出される。エラー信号は、監視ユニット5によって、マイクロプロセッサ1のマスク不能な割り込み入力(NMI入力)12へ直接戻される。従って、マイクロプロセッサ1は、エラーの際に、処理中のアプリケーションを中断し、MMIエラー回復ルーチンを開始させられる。
【0025】
1つの変形例に基づいて、信号線11は、マイクロプロセッサ1が正常に機能する際には論理レベル0と論理レベル1の間を行き来し、エラーの際には一定値になる信号を伝達する。従って、監視ユニット5が、ノイズのせいで恒常的に論理レベル1の出力信号を伝達する場合もエラー(故障)として検出される。
【0026】
エラー回復ルーチンとしては、例えば、プロセッサシステムで駆動するアプリケーションの複数のプログラム部分のうちのどこに確定されたエラーが発生しているのかについて確認し、続いて、各プログラム部分のための特別なエラー回復ルーチンを実行するということが可能である。この(エラーが発生している)プログラム部分によって利用された変数を復元し、続いて、該当するプログラム部分の所定の再起動ポイントに戻る。再起動ポイントから、復元された変数によって引き続き処理されることが可能である。例えば、プロセッサシステムのコールドスタートの場合と同じ方法において、すなわち、変数が不揮発性記憶装置から読み出され、記憶装置7、8内の変数のために設けられた場所に複写されることによって、または、永続的に格納された値から再計算されることによって、変数の復元が行われる。
【0027】
プロセッサシステムが、制御に関するアプリケーションのために使用されている場合、プロセッサシステムによって制御される機械の駆動値に当たる複数の変数にとって、変数を復元させる最も簡単な方策は、マイクロプロセッサ1が、変数に対応しているセンサ13を介して、変数を再検出することである。いずれにせよ、復元されるデータの集合は、アプリケーションの変数の一部に限定される。従って、プロセッサシステムの操作上の即応性は、プロセッサシステム全体のリセットがそれ(リセット)に引き続く全変数の再初期化によって行われる場合よりも、たいていの場合明らかに早く復旧可能である。
【0028】
ここでは、変数は、包括的な意味において、書込み可能な記憶装置2、6、7、8のうちの1つに格納されている全値として理解されるものである。従って、マイクロプロセッサは、該当するアプリケーションがこのような変数の変更を事実上予測しているか否かに関係なく、変数を変更することが技術的に可能である。
【0029】
エラー回復処理の更なる別の可能性は、エラーが発生しているプログラム部分の識別の後に、この(エラーが発生している)プログラム部分の実行を防止し、代わりに、ノイズが発生しているプログラム部分よりも高い動作信頼性を短期間で達成する、所定の代替プログラム部分を作動させることにある。例えば、アプリケーションがBrake−by−Wireシステムである場合、車両の異なる車輪の速度を計算し、比較するためのプログラム部分にエラーが発生した際に、この比較に基づいて機能するアンチブロック機能を防止する。その代わりに、結果的に生じる車輪のロックを考慮に入れずに、ブレーキペダルの位置に基づいて車輪に作用するブレーキ圧力を制御する緊急機能、を作動させることが有利である。従って、このような方法で、走行中の車両のブレーキの稼動性が、プロセッサシステムの、時間が掛かるコールドスタートによって損なわれない可能性がある。
【0030】
図1との関連で同様に記載される更なる別の実施形態に基づいて、マイクロプロセッサ1の入力12は、NMI入力ではなく、入力/出力ポートである。監視ユニット5の方向から届くこの信号によって、マイクロプロセッサ1の自動的な反応は引き起こさない。しかし、マイクロプロセッサ1は、プログラム制御されて、入力12のレベルを読み出すことが可能である。NMI入力は、符号16で示されている。これ以外は、上記の実施形態と同様に、同一の構成要素に対して同一の符号が使用される。NMI入力16およびリセット入力17は、監視ユニット5内でデマルチプレクサ18を介してエラー信号線11と接続されている。デマルチプレクサ18は、線11上のエラー信号が届くことにより不安定な状態になる時限継電器によって、ここではモノフロップ(monoflop)14によって、制御される。この(不安定な)状態では、時限継電器は、デマルチプレクサ18がマイクロプロセッサシステム1のNMI入力16へエラー信号を転送するように、デマルチプレクサ18を制御する。従って、上記の第1実施形態で記載されたように、マイクロプロセッサ1においてエラー回復ルーチンが開始される。
【0031】
モノフロップ14は、エラー信号が一時的に消え、再び発生することによっては、再び始動することができない。従って、エラー信号がエラー回復ルーチンによって除去されるか否かに関係なく、モノフロップ14は、所定の期間(dtl)の後に安定した状態に戻る。この(安定した)状態では、デマルチプレクサ18は、マイクロプロセッサ1のリセット入力17をエラー信号線11と接続する。エラー信号が一時的に消えてしまっている場合、マイクロプロセッサ1の反応は何も起こらない。しかし、エラー信号が未だに存在している場合、すなわち、NMI入力を介して開始されたエラー回復ルーチンが、時間dt1内に何の効果も示さなかった場合、エラー回復ルーチンは不成功に終わったと見なされ、エラー信号がリセット入力口に印加される。
【0032】
以下でリセット信号と呼ばれる、リセット入力17のエラー信号によって、少なくとも、マイクロプロセッサ1の複数のレジスタ6が直接的に消去される。マイクロプロセッサ1の構成形態に従って、内部記憶装置7、8も同様に直接的に消去されることが構想可能である。
【0033】
さらに、マイクロプロセッサ1は、ROM3で更なる別のエラー回復ルーチンを開始するように、リセット信号によって促される。この(エラー処理)ルーチンの開始時に、マイクロプロセッサ1は、入力/出力接続12の状態を検査する。入力/出力接続12がエラーを示さない場合、コールドスタートに関わっている。すなわち、この(コールドスタート)場合、システム作動の際と同じ方法で、記憶装置2、6、7、8のうち、リセット信号によって自動的に消去されなかった記憶装置はすべて、プログラム制御されて、再度初期化される。さらに、セルフテストルーチン等が実行される。
【0034】
しかし、エラー信号が入力/出力ポート12に印加される場合、マイクロプロセッサ1は、コールドスタートではないことを検出する。さらに、その後実行されるエラー回復ルーチンは、リセット信号によって消去された記憶位置を、すなわち、レジスタ6および場合によっては記憶装置7、8を、復元することに限定される。
【0035】
必ずしも内部記憶装置7、8全体がリセット信号によって自動的に消去されないマイクロプロセッサの場合にも、上記の第1実施形態に類似して、アプリケーションのどのプログラム部分にエラーが発生しているのかについて確認される。引き続いて、この(エラーが発生している)プログラム部分のための特別なエラー回復ルーチンが、選択され、実行される。特別なエラー回復ルーチンは、この(エラーが発生している)プログラム部分によって利用された、領域7等の記憶装置の領域を復元する。しかし、他のプログラム部分にのみ利用された領域8は復元しない。
【0036】
図2のマイクロプロセッサシステムは、第2モノフロップ19において、第1実施形態のマイクロプロセッサシステムと異なっている。第2モノフロップ19は、第1モノフロップ14と並行してエラー信号ライン11と接続されている。しかし、第2モノフロップ19は、モノフロップ14の時間dt1よりも明らかに長い期間dt2の間、状態が不安定である。この期間は、NMI入力16を介して開始されるエラー回復ルーチンを実行するために必要な時間よりも長い。従って、プロセッサシステムがエラー回復ルーチンの後でアプリケーションに戻った場合に、不安定な状態がまだしばらく続く。
【0037】
ANDゲート20は、モノフロップ19の出力およびエラー信号線11と接続された複数の入力と、モノフロップ14と並行してデマルチプレクサ18を制御する出力とを有している。本実施形態の効果は、マイクロプロセッサ1においてパリティ生成装置10によってエラーが検出された場合に、この(検出された)エラーが、NMI入力16を介したエラー回復ルーチンの開始によって当初明らかに成功裏に除去されたとしても、まだある程度の期間モノフロップ19に格納されたままである点にある。このようなエラーの後でモノフロップ19の待ち時間内に第2エラーが検出された場合、双方の(エラーの)間に因果関係があり、NMI入力を介して開始されたエラー回復処理が十分ではなかった確率が高い。従って、即時にリセット入力を介した徹底的なエラー処理が開始される。
【0038】
パリティ生成装置10は、データバス4のプロセッサ内部の構成要素の代わりに、個々のレジスタ6に、さらに場合によってはマイクロプロセッサの内部記憶装置のセルの少なくとも1つの構成要素7に直接的に接続されることが可能である。従って、その場で発生しているパリティエラーは、データバス4への読出しアクセスの過程において出力される時点ではなく、発生した瞬間に検出されることが可能である。
【0039】
図3は、2つのパリティ生成装置10a、10bを備えたこのようなマイクロプロセッサシステムの発展形態を示している。パリティ生成装置のうち、10aはレジスタ6に、他方の10bは記憶領域7に割り当てられている。2つのパリティ生成装置に対応して、監視ユニット5へ通じる2つのエラー信号ライン11a、11bも同様に設けられている。ライン11aのみ、エラーの際にプロセッサシステムのNMI入力16に問い合わせるために、第2実施形態と類似した方法でモノフロップ14およびデマルチプレクサ18と接続されている。従って、NMI入力を介して開始される第1エラー回復ルーチンにおいては、レジスタ6の復旧で十分である。これ(エラー回復ルーチン)によって、モノフロップ14の待ち時間の間にエラーが消えない場合、更なる別の第2エラー回復ルーチンが、リセット入力17を介して開始される。このエラー回復ルーチンは、記憶装置領域7の内容も復元する。記憶装置領域7におけるパリティエラーの場合、即時に、第2エラー回復ルーチンがリセット入力を介して開始される。
【0040】
上記の実施形態において記載されている、マイクロプロセッサがエラーに対して段階的に反応するという着想は、容易に分かるように様々に洗練させることに適している。特に、プログラム制御される監視ユニット5が、容易に実現可能である。このようなプログラム制御される監視ユニットは、マルチプロセッサシステムの枠組みにおいて、第2プロセッサであることが可能である。その際、このような(マルチプロセッサ)システムでは、プロセッサは、有利に、順次互いに監視する。しかし、シングルプロセッサシステムでは、監視ユニット5が、パリティ生成装置10によって呼び出される割込みルーチンとして実現されることも構想可能である。
【0041】
監視ユニット5のソフトウェア(としての)実現の駆動形態が、マイクロプロセッサ1自体において、または他のプロセッサにおいてに関わらず、図4のフローチャートによって示される。ルーチンは、ステップS1において、パリティ生成装置によって知らされたエラーの検出と共に開始する。ステップS2において、以前に発生したエラーの待ち時間が未だに続いているのか、すなわち、以前のエラーと目下監視されるエラーとの間に因果関係が推測されるかどうか、について確認するために、以前のエラー回復処理の際に、場合により設定されたタイミングジェネレータの状態が問い合わされる。
【0042】
エラーに因果関係がない場合、ステップS3においてエラーの原因が確認される。パリティ生成装置がデータバスを監視する場合、スタック(Stack)への割り込み時間のために回復されたプログラムカウンタ度数によって、エラーが発生しているプログラム部分が確認されることが可能である。代替的に、レジスタ6および内部記憶装置7、8または記憶装置の全く個々の領域7、8を監視する図3で示される形態の構成の場合、記憶装置のどこでエラーが発生しているかのかが確定されることが可能である。アプリケーションの部分プログラムへの、記憶領域の対応する割り当ての際に、両方法によって、同一の演算結果を伝達することが可能である。
【0043】
確認されたエラーの原因に基づき、ステップS4において適切なエラー回復ルーチンが選択される。すなわち、確定された原因のエラーを除去するために適切である可能性がある複数のエラー回復ルーチンの中から、最初に、順位が最も高いエラー回復ルーチンが選択される。これは、システムに対して最も軽度に介入するエラー回復ルーチンが相当する。すなわち、最少の数の変数を回復し、最も迅速に実行されるエラー回復ルーチンが一般的にこれに相当する。
【0044】
ステップS2において待ち時間が未だに続いていることが確定される場合、ステップS5において、直近に実行されたエラー回復ルーチンの次のエラー回復ルーチンが選択される。すなわち、直前のエラー回復ルーチンが不成功に終わっていることが推測されるので、次に有力なエラー回復ルーチンが試行される。
【0045】
ステップS4またはS5において選択されたエラー回復ルーチンは、ステップS6において信頼性が検査される。さらに、例えば、プロセッサシステムによって制御される車両の速度等の、制御される機械の駆動値が検出され、前もってROM3に格納されたテーブルを用いて、選択されたエラー回復ルーチンが、駆動値の検出された値の場合に許可または禁止されているのか、について検査される。例えば、エラー回復ルーチンの実行が、測定された速度の場合、過度に長い間プロセッサを要するのでエラー回復ルーチンが禁止されている場合、エラー回復ルーチンは実行されない。さらに、プロセッサ1は、緊急駆動モードS7に切り替わる。
【0046】
エラー回復ルーチンがステップS6において信頼できると見なされた場合、ステップS8で開始される。その後、時間dt1の間待機し、引き続きステップS9において、パリティ生成装置がエラーを引き続き知らせるか否かについて、検査される。エラーが引き続き存在する場合、目下に試行されたエラー回復ルーチンの次のルーチンを実行するために、工程はステップS5に戻る。ステップS9において、エラーがもはや監視されない場合、ステップS10において、ステップS2で問い合わされたタイミングジェネレータが設定されて、工程が終了する。
【0047】
ステップS9からS5への移行において、優先順位において連続する機能は、機能が設けられているのと同じ長さの間、選択されることが可能である。エラー回復ルーチンの各優先順位における最後のルーチンは、強制的に、コールドスタートである。
【図面の簡単な説明】
【0048】
【図1】本発明に基づくプロセッサシステムのブロック図を示している。
【図2】本発明に基づくプロセッサシステムのブロック図を示している。
【図3】本発明に基づくプロセッサシステムのブロック図を示している。
【図4】本発明の一実施形態に基づくプロセッサシステムにおける監視ユニットの駆動工程に関するフローチャートを示している。

【特許請求の範囲】
【請求項1】
アプリケーションのプログラム命令を実行するための少なくとも1つの命令実行部(1)と、前記アプリケーションのプログラム命令および少なくとも1つのエラー回復ルーチンを格納するためのプログラム記憶装置(3)と、前記アプリケーションの変数セットを格納するための作業記憶装置(2)と、前記命令実行部(1)および/または前記作業記憶装置(2、7、8)のエラーを検出し、エラー検出の際にエラー回復ルーチンを開始するための監視ユニット(5)とを備えるプロセッサシステムにおいて、前記エラー回復ルーチンが、前記変数セットの各異なる部分集合を復元するために構成されていることを特徴とする、プロセッサシステム。
【請求項2】
前記監視ユニット(5)が、前記命令実行部のレジスタ(6)における、および/または前記作業記憶装置(2、7、8)の記憶セルにおけるビット誤りを検出するために構成されていることを特徴とする、請求項1に記載の方法。
【請求項3】
前記エラー処理ルーチンの優先順位が設定されており、前記監視ユニットが、上位のエラー回復ルーチンの実行によって、エラーが成功裏に除去されたのかどうかについて判断し、エラーが成功裏に除去されなかった場合に、下位のエラー回復ルーチンを開始するために構成されていることを特徴とする、請求項1または請求項2に記載のプロセッサシステム。
【請求項4】
所定の期間(dt1)内で、上位のエラー回復ルーチンの開始以降にエラーが続く場合に、エラーが、特に成功裏に除去されていなかったものとして判断される、請求項3に記載のプロセッサシステム。
【請求項5】
所定の期間(dt2)内で、前記上位のエラー回復ルーチンの実行以降に前記監視ユニット(5)が新たにエラーを検出する場合に、エラーが、特に成功裏に除去されなかったものとして判断されることを特徴とする、請求項3または請求項4に記載のプロセッサシステム。
【請求項6】
与えられたエラー回復ルーチンによって復元された変数の集合が、前記与えられたエラー回復ルーチンよりも下位のエラー回復ルーチンによって復元された変数の集合の真部分集合に相当することを特徴とする、請求項3〜請求項5のいずれかに記載のプロセッサシステム。
【請求項7】
請求項1〜請求項6のいずれかに記載のプロセッサシステムにおいて、前記プロセッサシステムが、機械の制御のために使用されており、エラー検出の際に前記機械の少なくとも1つの駆動パラメータによって、実行されるエラー回復ルーチンを選択するために、組み込まれていることを特徴とする、請求項1〜請求項6のいずれかに記載のプロセッサシステム。
【請求項8】
前記監視ユニット(5)が、前記命令実行部(1)のNMI(マスク不能な割り込み)入力(12;16)に接続されていることを特徴とする、請求項1〜請求項7のいずれかに記載のプロセッサシステム。
【請求項9】
前記監視ユニット(5)が、前記命令実行部(1)のリセット入力(17)に接続されていることを特徴とする、請求項1〜請求項8のいずれかに記載のプロセッサシステム。
【請求項10】
前記監視ユニット(5)が、前記命令実行部(1)の入力/出力ポート(12)に接続されていることを特徴とする、請求項1〜請求項9のいずれかに記載のプロセッサプログラム。
【請求項11】
前記命令実行部が、2つのグループの内部記憶セル(7、8)を有し、第1グループ(7)の内部記憶セルが、前記命令実行部(1)の入力口に印加される信号によって直接的に消去可能であり、第2グループ(8)の内部記憶セルが、前記命令実行部(1)の入力口に印加される信号によって直接的に消去可能ではないことを特徴とする、請求項1〜請求項10のいずれかに記載のプロセッサシステム。
【請求項12】
エラーの存在または非存在を示す信号が、エラーが存在する際にアースに近いレベルになり、エラーが存在しない場合にアースから遠いレベルになることを特徴とする、請求項1〜請求項11のいずれかに記載のプロセッサシステム。
【請求項13】
エラーの存在または非存在を示す信号が、エラーが存在する際に一定のレベルになり、エラーが存在しない場合に可変的なレベルになることを特徴とする、請求項1〜請求項11のいずれかに記載のプロセッサシステム。



【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate


【公表番号】特表2009−520290(P2009−520290A)
【公表日】平成21年5月21日(2009.5.21)
【国際特許分類】
【出願番号】特願2008−546379(P2008−546379)
【出願日】平成18年12月12日(2006.12.12)
【国際出願番号】PCT/EP2006/069610
【国際公開番号】WO2007/074056
【国際公開日】平成19年7月5日(2007.7.5)
【出願人】(501125231)ローベルト ボッシュ ゲゼルシャフト ミット ベシュレンクテル ハフツング (329)
【Fターム(参考)】