(57)【要約】プロセッサシステムは、アプリケーションのプログラム命令を実行するための少なくとも１つの命令実行部（１）と、アプリケーションのプログラム命令および少なくとも１つのエラー回復ルーチンを格納するためのプログラム記憶装置（３）と、前記アプリケーションの変数セットを格納するための作業記憶装置（２）と、命令実行部（１）および／または作業記憶装置（２、７、８）のエラーを検出し、エラー検出の際にエラー回復ルーチンを開始するための監視ユニット（５）とを含んでいる。エラー回復ルーチンは、変数セットの各異なる部分集合を復元するために構成されている。【選択図】図１
2009520290.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションのプログラム命令を実行するための少なくとも１つの命令実行部（１）と、前記アプリケーションのプログラム命令および少なくとも１つのエラー回復ルーチンを格納するためのプログラム記憶装置（３）と、前記アプリケーションの変数セットを格納するための作業記憶装置（２）と、前記命令実行部（１）および／または前記作業記憶装置（２、７、８）のエラーを検出し、エラー検出の際にエラー回復ルーチンを開始するための監視ユニット（５）とを備えるプロセッサシステムにおいて、前記エラー回復ルーチンが、前記変数セットの各異なる部分集合を復元するために構成されていることを特徴とする、プロセッサシステム。
【請求項２】
前記監視ユニット（５）が、前記命令実行部のレジスタ（６）における、および／または前記作業記憶装置（２、７、８）の記憶セルにおけるビット誤りを検出するために構成されていることを特徴とする、請求項１に記載の方法。
【請求項３】
前記エラー処理ルーチンの優先順位が設定されており、前記監視ユニットが、上位のエラー回復ルーチンの実行によって、エラーが成功裏に除去されたのかどうかについて判断し、エラーが成功裏に除去されなかった場合に、下位のエラー回復ルーチンを開始するために構成されていることを特徴とする、請求項１または請求項２に記載のプロセッサシステム。
【請求項４】
所定の期間（ｄｔ１）内で、上位のエラー回復ルーチンの開始以降にエラーが続く場合に、エラーが、特に成功裏に除去されていなかったものとして判断される、請求項３に記載のプロセッサシステム。
【請求項５】
所定の期間（ｄｔ２）内で、前記上位のエラー回復ルーチンの実行以降に前記監視ユニット（５）が新たにエラーを検出する場合に、エラーが、特に成功裏に除去されなかったものとして判断されることを特徴とする、請求項３または請求項４に記載のプロセッサシステム。
【請求項６】
与えられたエラー回復ルーチンによって復元された変数の集合が、前記与えられたエラー回復ルーチンよりも下位のエラー回復ルーチンによって復元された変数の集合の真部分集合に相当することを特徴とする、請求項３〜請求項５のいずれかに記載のプロセッサシステム。
【請求項７】
請求項１〜請求項６のいずれかに記載のプロセッサシステムにおいて、前記プロセッサシステムが、機械の制御のために使用されており、エラー検出の際に前記機械の少なくとも１つの駆動パラメータによって、実行されるエラー回復ルーチンを選択するために、組み込まれていることを特徴とする、請求項１〜請求項６のいずれかに記載のプロセッサシステム。
【請求項８】
前記監視ユニット（５）が、前記命令実行部（１）のＮＭＩ(マスク不能な割り込み)入力（１２；１６）に接続されていることを特徴とする、請求項１〜請求項７のいずれかに記載のプロセッサシステム。
【請求項９】
前記監視ユニット（５）が、前記命令実行部（１）のリセット入力（１７）に接続されていることを特徴とする、請求項１〜請求項８のいずれかに記載のプロセッサシステム。
【請求項１０】
前記監視ユニット（５）が、前記命令実行部（１）の入力／出力ポート（１２）に接続されていることを特徴とする、請求項１〜請求項９のいずれかに記載のプロセッサプログラム。
【請求項１１】
前記命令実行部が、２つのグループの内部記憶セル（７、８）を有し、第１グループ（７）の内部記憶セルが、前記命令実行部（１）の入力口に印加される信号によって直接的に消去可能であり、第２グループ（８）の内部記憶セルが、前記命令実行部（１）の入力口に印加される信号によって直接的に消去可能ではないことを特徴とする、請求項１〜請求項１０のいずれかに記載のプロセッサシステム。
【請求項１２】
エラーの存在または非存在を示す信号が、エラーが存在する際にアースに近いレベルになり、エラーが存在しない場合にアースから遠いレベルになることを特徴とする、請求項１〜請求項１１のいずれかに記載のプロセッサシステム。
【請求項１３】
エラーの存在または非存在を示す信号が、エラーが存在する際に一定のレベルになり、エラーが存在しない場合に可変的なレベルになることを特徴とする、請求項１〜請求項１１のいずれかに記載のプロセッサシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプリケーションのプログラム命令を実行するための少なくとも１つの命令実行部と、アプリケーションのプログラム命令および少なくとも１つのエラー回復ルーチンを格納するためのプログラム記憶装置と、アプリケーションの変数セットを格納するための作業記憶装置と、命令実行部および／または作業記憶装置のエラーを検出し、エラー検出の際にエラー回復ルーチンを開始するための監視ユニットとを備えるプロセッサシステムに関する。
【背景技術】
【０００２】
検出されるエラーとは、正常に駆動しているシステムにおいて、散発的に、予測不可能に発生する「自発的な」エラーである。このようなエラーは、多くの場合、電離放射線に起因する。電離放射線は、システムの半導体物質における電荷キャリアを開放し、電荷の運動を制御不可能にする可能性がある。回路構造の小型化が進むにつれて、電離放射線に対する感度が上がるので、将来的にデジタル回路構造における自発的なエラーに関連する問題が悪化することが見込まれる。近代的な高集積回路の２つの異なる論理レベルの差異に当たる電荷量は非常にわずかなので、半導体構造によって吸収される電離放射線の個々の量子によって、高集積回路の論理的状態が反転される可能性が充分ある。構造が小型化し、電荷が小さくなるほど、ビットフリップ（Bit-Flip）とも呼ばれる、この種の自発的な状態の移行が起こる確率が高くなる。
【０００３】
上記に示された形態のプロセッサシステムは、米国特許第６６２５７４９号明細書において開示されている。ここでは、２つの命令実行部と検査ユニットとを備えたプロセッサシステムが関わっている。その際、命令実行部および検査ユニットはまとめて一緒に、同一プログラム命令の実行の際に処理ユニットにより獲得された演算結果の比較によって他方の検査ユニットを監視する監視ユニットとして、理解されることが可能である。処理ユニットのうちのひとつにおける故障を示唆する、２つの命令実行部の異なる処理結果が検出される場合に、エラー回復ルーチンが開始される。エラー回復ルーチン過程において、２つの命令実行部の状態データから、エラーがない状態データのセットが作業記憶装置へバックアップされ、続いて両命令実行部へ再複写される。
【０００４】
この公知のプロセッサシステムは、実行されるアプリケーションの形態に関係なく、著しい耐故障性が備わっているが、いずれにせよ、命令実行部が冗長化されているため、システムに掛かるコストがかなり高い。
【０００５】
この（システムに掛かる）コストは、冗長化されていないプロセッサシステムによって低減されることが可能であるが、この（冗長化されていない）プロセッサの場合、破損しているとして検出されたデータの復旧が、必ずしも確実に可能ではないという問題がある。すなわち、エラーの発生後に、このようなシステムの命令実行部がまだ正確に駆動しており、データ値の復元に必要な冗長な情報が利用可能であるとしても、破損しているとして検出されたデータ値を復元できるという、保障はない。従って、従来の簡単なプロセッサシステムは、多くの場合、エラーが発生した際に、エラーが発生しているアプリケーションの実行を防止する、または自動的に再起動を開始する。再起動によって、アプリケーションの変数の目下の全値が失われるが、はっきりした開始状態が復旧される。開始状態から、システムは、再び正確に駆動することが可能である。
【０００６】
このような再起動は、従来の方法では、プロセッサのリセット入力口にリセット信号が印加されることによって開始される。このようなリセット信号がシステムの作動の際にも生成されることによって、作動の際に、再起動と同一の初期化プロセスが実行される。
【０００７】
特に実時間利用において、アプリケーションの突然の実行の防止、または、再起動後にシステムが再び使用可能になるために比較的長い時間、多くの場合数百ミリ秒掛かる再起動は許容不可能なので、このような解決策も同様に完全に充分ではない。
【０００８】
従って、簡単でかつ、妥当な費用で実現可能な構成において、自発的なビット誤りに対して非常に耐性があるプロセッサシステムが求められる。
【発明の開示】
【課題を解決するための手段】
【０００９】
本発明は、アプリケーションのプログラム命令を実行するための少なくとも１つの命令実行部と、アプリケーションのプログラム命令および少なくとも１つのエラー回復ルーチンを格納するためのプログラム記憶装置と、アプリケーションの変数セットを格納するための作業記憶装置と、命令実行部および／または作業記憶装置のエラーを検出し、エラー検出の際にエラー回復ルーチンを開始するための監視ユニットと、を備えるプロセッサシステムにおいて、作業記憶装置が、複数のエラー回復ルーチンを含んでおり、エラー回復ルーチンが、変数セットの各異なる部分集合を復元するために構成されていることを特徴とするプロセッサシステムによって、この（簡単な、妥当な費用で実現可能な構成において、自発的なビット誤りに対して非常に耐性があるプロセッサに対する）必要性を満たす。
【００１０】
従来の再起動と異なり、システムの操作上の即応性を再び迅速に整えるために変数の全セットが復元される必要がないので、複数のエラー回復ルーチンにより、発生しているエラーに対して柔軟に対処することが可能となる。
【００１１】
少なくとも幾つかのエラー回復ルーチンは、特に、優先順位が互いに前後する関係にある。このようなルーチンによって、エラーが発生する度に、最も順位が高いエラー回復ルーチンが最初に開始される。このようなシステムにおいて、監視ユニットは、特に、上位のエラー回復ルーチンの実行によってエラーが成功裏に除去されたのかについて判断し、エラーが成功裏に除去されなかった場合に下位のエラー回復ルーチンを開始するために、構成されている。
【００１２】
エラーが成功裏に除去されなかったものとして判断するために、様々な基準が使用されることが可能である。従って、所定の期間内で上位のエラー回復ルーチンの開始以降にエラーが続く場合には、特に、エラーが成功裏に除去されなかったとして判断されることが可能である。他の有利な基準として、監視ユニットが、所定の期間内で、上位のエラー回復ルーチンの実行以降にエラーを新たに検出するかどうか、ということが挙げられる。
【００１３】
与えられたエラー回復ルーチンによって復元された変数の集合は、特に、与えられたエラー回復ルーチンよりも下位のエラー回復ルーチンによって復元された変数の集合の真部分集合に相当する。すなわち、順位において互いに相前後する関係にあり、エラー回復処理が不成功の際に順次実行されるエラー回復ルーチンの、変数セットへの介入は、最終的に、順位において最下位のエラー回復ルーチンとして、再起動が設けられることが可能になるまで、すなわち、目下の変数値全体が破棄され、事前調整によって復元される過程が設けられることが可能になるまで、１つのルーチンから次のルーチンへと次第に段階が進む。
【００１４】
本発明に基づくプロセッサシステムが、機械を制御するために使用される場合、エラー検出の際に機械の少なくとも１つの駆動パラメータによって、実行されるエラー回復ルーチンを選択するために、組み込まれていることは有利である。例えば、プロセッサシステムが車両の制御装置で、機械が車両である場合に、車両が停止しているか、または走行しているか、もしくは、どのくらいの速さで走行しているか、ということに従って、実行されるエラー回復ルーチンを決定することが有利でありうる。
【００１５】
エラー回復ルーチンを開始するよう命令実行部に促すために、監視ユニットは、命令実行部のＮＭＩ（マスク不能な割り込み）入力に接続されていることが可能である。監視ユニットが、命令実行部のリセット入力へ接続されていることも同様に有利である。
【００１６】
さらに、監視ユニットは、命令実行部の入力／出力ポートに接続されていることも可能である。命令実行部は、除去される必要があるエラーが存在するかどうかを確認するために、通常駆動において定期的にこのポートに問い合わせをすることが構想可能である。特に、入力／出力ポートは、エラー回復ルーチンの最中に命令実行部に補助情報を転送するために、利用可能である。
【００１７】
好適な実施形態に基づいて、命令実行部は、２つのグループの内部記憶セルを有している。その際、第１グループの内部記憶セルは、命令実行部のウォームスタート入力口に印加される信号によって直接的に消去可能であり、第２グループの内部記憶セルは、命令実行部のウォームスタート入力口に印加される信号によって直接的に消去可能ではない。リセットの際に、通常、命令実行部の内部記憶セル全体が、リセット信号によって直接的に消去されることが可能である。その際に、命令実行部によって特別な消去命令が実行される必要はない。一方、２つのグループの記憶セルが存在することによって、アプリケーションのプログラマーは、復元に手間が掛かる変数は第２グループの記憶セルに存在するように、問題なく復元可能な変数は第１グループの記憶セルに存在するように、アプリケーションの変数を、第１グループまたは第２グループの記憶セルに振り分けることが可能である。
【００１８】
プロセッサシステムにおけるエラーの存在または非存在を示す信号は、特に、エラーが存在する場合に、アースに近いレベルに、エラーが存在しない場合にアースから遠いレベルになる。従って、例えば供給電圧の停止に起因する、この（プロセッサシステムにおけるエラーの存在または非存在を示す）信号を伝達する回路部分の故障が、この回路部分により検出されるエラーと同じ反応を引き起こし、それが原因で発見され、除去されることが可能である確率が高い。
【００１９】
この（エラーの存在または非存在を示す）信号が、エラーが存在する際に一定のレベルに、エラーが存在しない場合に可変的なレベルになる場合に、エラー信号を生成する回路部分におけるノイズ検出の際の信頼性がさらに向上する。
【００２０】
本発明の更なる別の特徴および利点は、添付の図に関する実施形態についての以下の記述から明らかとなろう。
【発明を実施するための最良の形態】
【００２１】
図１は、マイクロプロセッサ１と、データバス４および図示されていないアドレスバスを介してマイクロプロセッサ１と通信する外部ＲＡＭ２およびＲＯＭ３と、監視ユニット５とを備えるプロセッサシステムを示している。マイクロプロセッサ１は、複数のレジスタ６およびキャッシュ等のような選択自由にアクセスできる内部記憶領域７、８と、レジスタ６および記憶装置２、７、８の内容に対して演算動作を実行する演算論理装置（ＡＬＵ）９と、パリティ生成装置１０と、プロセッサによって制御される機械を監視するためのセンサ１３と、複数のアクチュエータとを含んでいる。
【００２２】
アクチュエータを介して、システムは、機械に作用することが可能である。マイクロプロセッサ１の構成要素は、マイクロプロセッサによるＲＯＭ３に格納されたプログラム命令へのアクセスとプログラム命令の復号化とを制御するが、それ自体が公知であるので示されていない。レジスタ６、内部記憶装置７、８、および任意にＲＡＭ２は、各独自の記憶セルにパリティビットを含んでいる。
【００２３】
パリティビットは、セルに格納されたデータワードのパリティ状態を示す。パリティビットは、付属するデータワードと共にデータバス４へ出力されるが、ＡＬＵ９によって処理されない。パリティビットは、監視ユニット５によって受信され、監視ユニット５が同時に受信される付属するデータワードから計算する、パリティビットと比較される。パリティビットが不一致の際に、パリティ生成装置１０は、監視ユニット５へのライン１１においてエラー信号を出力する。
【００２４】
マイクロプロセッサ１が正常に機能する場合、信号ライン１１は、論理レベル１になる。すなわち、マイクロプロセッサの供給電位に近い。パリティエラーが発生した際、論理レベルは０に下がる。すなわち、地電位に近い。その結果、監視ユニット５によって監視される記憶装置内の事実上のビット誤りのみならず、独自の出力信号が０になるという監視ユニット自体のノイズも検出される。エラー信号は、監視ユニット５によって、マイクロプロセッサ１のマスク不能な割り込み入力（ＮＭＩ入力）１２へ直接戻される。従って、マイクロプロセッサ１は、エラーの際に、処理中のアプリケーションを中断し、ＭＭＩエラー回復ルーチンを開始させられる。
【００２５】
１つの変形例に基づいて、信号線１１は、マイクロプロセッサ１が正常に機能する際には論理レベル０と論理レベル１の間を行き来し、エラーの際には一定値になる信号を伝達する。従って、監視ユニット５が、ノイズのせいで恒常的に論理レベル１の出力信号を伝達する場合もエラー（故障）として検出される。
【００２６】
エラー回復ルーチンとしては、例えば、プロセッサシステムで駆動するアプリケーションの複数のプログラム部分のうちのどこに確定されたエラーが発生しているのかについて確認し、続いて、各プログラム部分のための特別なエラー回復ルーチンを実行するということが可能である。この（エラーが発生している）プログラム部分によって利用された変数を復元し、続いて、該当するプログラム部分の所定の再起動ポイントに戻る。再起動ポイントから、復元された変数によって引き続き処理されることが可能である。例えば、プロセッサシステムのコールドスタートの場合と同じ方法において、すなわち、変数が不揮発性記憶装置から読み出され、記憶装置７、８内の変数のために設けられた場所に複写されることによって、または、永続的に格納された値から再計算されることによって、変数の復元が行われる。
【００２７】
プロセッサシステムが、制御に関するアプリケーションのために使用されている場合、プロセッサシステムによって制御される機械の駆動値に当たる複数の変数にとって、変数を復元させる最も簡単な方策は、マイクロプロセッサ１が、変数に対応しているセンサ１３を介して、変数を再検出することである。いずれにせよ、復元されるデータの集合は、アプリケーションの変数の一部に限定される。従って、プロセッサシステムの操作上の即応性は、プロセッサシステム全体のリセットがそれ（リセット）に引き続く全変数の再初期化によって行われる場合よりも、たいていの場合明らかに早く復旧可能である。
【００２８】
ここでは、変数は、包括的な意味において、書込み可能な記憶装置２、６、７、８のうちの１つに格納されている全値として理解されるものである。従って、マイクロプロセッサは、該当するアプリケーションがこのような変数の変更を事実上予測しているか否かに関係なく、変数を変更することが技術的に可能である。
【００２９】
エラー回復処理の更なる別の可能性は、エラーが発生しているプログラム部分の識別の後に、この（エラーが発生している）プログラム部分の実行を防止し、代わりに、ノイズが発生しているプログラム部分よりも高い動作信頼性を短期間で達成する、所定の代替プログラム部分を作動させることにある。例えば、アプリケーションがＢｒａｋｅ−ｂｙ−Ｗｉｒｅシステムである場合、車両の異なる車輪の速度を計算し、比較するためのプログラム部分にエラーが発生した際に、この比較に基づいて機能するアンチブロック機能を防止する。その代わりに、結果的に生じる車輪のロックを考慮に入れずに、ブレーキペダルの位置に基づいて車輪に作用するブレーキ圧力を制御する緊急機能、を作動させることが有利である。従って、このような方法で、走行中の車両のブレーキの稼動性が、プロセッサシステムの、時間が掛かるコールドスタートによって損なわれない可能性がある。
【００３０】
図１との関連で同様に記載される更なる別の実施形態に基づいて、マイクロプロセッサ１の入力１２は、ＮＭＩ入力ではなく、入力／出力ポートである。監視ユニット５の方向から届くこの信号によって、マイクロプロセッサ１の自動的な反応は引き起こさない。しかし、マイクロプロセッサ１は、プログラム制御されて、入力１２のレベルを読み出すことが可能である。ＮＭＩ入力は、符号１６で示されている。これ以外は、上記の実施形態と同様に、同一の構成要素に対して同一の符号が使用される。ＮＭＩ入力１６およびリセット入力１７は、監視ユニット５内でデマルチプレクサ１８を介してエラー信号線１１と接続されている。デマルチプレクサ１８は、線１１上のエラー信号が届くことにより不安定な状態になる時限継電器によって、ここではモノフロップ（ｍｏｎｏｆｌｏｐ）１４によって、制御される。この（不安定な）状態では、時限継電器は、デマルチプレクサ１８がマイクロプロセッサシステム１のＮＭＩ入力１６へエラー信号を転送するように、デマルチプレクサ１８を制御する。従って、上記の第１実施形態で記載されたように、マイクロプロセッサ１においてエラー回復ルーチンが開始される。
【００３１】
モノフロップ１４は、エラー信号が一時的に消え、再び発生することによっては、再び始動することができない。従って、エラー信号がエラー回復ルーチンによって除去されるか否かに関係なく、モノフロップ１４は、所定の期間（ｄｔｌ）の後に安定した状態に戻る。この（安定した）状態では、デマルチプレクサ１８は、マイクロプロセッサ１のリセット入力１７をエラー信号線１１と接続する。エラー信号が一時的に消えてしまっている場合、マイクロプロセッサ１の反応は何も起こらない。しかし、エラー信号が未だに存在している場合、すなわち、ＮＭＩ入力を介して開始されたエラー回復ルーチンが、時間ｄｔ１内に何の効果も示さなかった場合、エラー回復ルーチンは不成功に終わったと見なされ、エラー信号がリセット入力口に印加される。
【００３２】
以下でリセット信号と呼ばれる、リセット入力１７のエラー信号によって、少なくとも、マイクロプロセッサ１の複数のレジスタ６が直接的に消去される。マイクロプロセッサ１の構成形態に従って、内部記憶装置７、８も同様に直接的に消去されることが構想可能である。
【００３３】
さらに、マイクロプロセッサ１は、ＲＯＭ３で更なる別のエラー回復ルーチンを開始するように、リセット信号によって促される。この（エラー処理）ルーチンの開始時に、マイクロプロセッサ１は、入力／出力接続１２の状態を検査する。入力／出力接続１２がエラーを示さない場合、コールドスタートに関わっている。すなわち、この（コールドスタート）場合、システム作動の際と同じ方法で、記憶装置２、６、７、８のうち、リセット信号によって自動的に消去されなかった記憶装置はすべて、プログラム制御されて、再度初期化される。さらに、セルフテストルーチン等が実行される。
【００３４】
しかし、エラー信号が入力／出力ポート１２に印加される場合、マイクロプロセッサ１は、コールドスタートではないことを検出する。さらに、その後実行されるエラー回復ルーチンは、リセット信号によって消去された記憶位置を、すなわち、レジスタ６および場合によっては記憶装置７、８を、復元することに限定される。
【００３５】
必ずしも内部記憶装置７、８全体がリセット信号によって自動的に消去されないマイクロプロセッサの場合にも、上記の第１実施形態に類似して、アプリケーションのどのプログラム部分にエラーが発生しているのかについて確認される。引き続いて、この（エラーが発生している）プログラム部分のための特別なエラー回復ルーチンが、選択され、実行される。特別なエラー回復ルーチンは、この（エラーが発生している）プログラム部分によって利用された、領域７等の記憶装置の領域を復元する。しかし、他のプログラム部分にのみ利用された領域８は復元しない。
【００３６】
図２のマイクロプロセッサシステムは、第２モノフロップ１９において、第１実施形態のマイクロプロセッサシステムと異なっている。第２モノフロップ１９は、第１モノフロップ１４と並行してエラー信号ライン１１と接続されている。しかし、第２モノフロップ１９は、モノフロップ１４の時間ｄｔ１よりも明らかに長い期間ｄｔ２の間、状態が不安定である。この期間は、ＮＭＩ入力１６を介して開始されるエラー回復ルーチンを実行するために必要な時間よりも長い。従って、プロセッサシステムがエラー回復ルーチンの後でアプリケーションに戻った場合に、不安定な状態がまだしばらく続く。
【００３７】
ＡＮＤゲート２０は、モノフロップ１９の出力およびエラー信号線１１と接続された複数の入力と、モノフロップ１４と並行してデマルチプレクサ１８を制御する出力とを有している。本実施形態の効果は、マイクロプロセッサ１においてパリティ生成装置１０によってエラーが検出された場合に、この（検出された）エラーが、ＮＭＩ入力１６を介したエラー回復ルーチンの開始によって当初明らかに成功裏に除去されたとしても、まだある程度の期間モノフロップ１９に格納されたままである点にある。このようなエラーの後でモノフロップ１９の待ち時間内に第２エラーが検出された場合、双方の（エラーの）間に因果関係があり、ＮＭＩ入力を介して開始されたエラー回復処理が十分ではなかった確率が高い。従って、即時にリセット入力を介した徹底的なエラー処理が開始される。
【００３８】
パリティ生成装置１０は、データバス４のプロセッサ内部の構成要素の代わりに、個々のレジスタ６に、さらに場合によってはマイクロプロセッサの内部記憶装置のセルの少なくとも１つの構成要素７に直接的に接続されることが可能である。従って、その場で発生しているパリティエラーは、データバス４への読出しアクセスの過程において出力される時点ではなく、発生した瞬間に検出されることが可能である。
【００３９】
図３は、２つのパリティ生成装置１０ａ、１０ｂを備えたこのようなマイクロプロセッサシステムの発展形態を示している。パリティ生成装置のうち、１０aはレジスタ６に、他方の１０ｂは記憶領域７に割り当てられている。２つのパリティ生成装置に対応して、監視ユニット５へ通じる２つのエラー信号ライン１１a、１１ｂも同様に設けられている。ライン１１aのみ、エラーの際にプロセッサシステムのＮＭＩ入力１６に問い合わせるために、第２実施形態と類似した方法でモノフロップ１４およびデマルチプレクサ１８と接続されている。従って、ＮＭＩ入力を介して開始される第１エラー回復ルーチンにおいては、レジスタ６の復旧で十分である。これ（エラー回復ルーチン）によって、モノフロップ１４の待ち時間の間にエラーが消えない場合、更なる別の第２エラー回復ルーチンが、リセット入力１７を介して開始される。このエラー回復ルーチンは、記憶装置領域７の内容も復元する。記憶装置領域７におけるパリティエラーの場合、即時に、第２エラー回復ルーチンがリセット入力を介して開始される。
【００４０】
上記の実施形態において記載されている、マイクロプロセッサがエラーに対して段階的に反応するという着想は、容易に分かるように様々に洗練させることに適している。特に、プログラム制御される監視ユニット５が、容易に実現可能である。このようなプログラム制御される監視ユニットは、マルチプロセッサシステムの枠組みにおいて、第２プロセッサであることが可能である。その際、このような（マルチプロセッサ）システムでは、プロセッサは、有利に、順次互いに監視する。しかし、シングルプロセッサシステムでは、監視ユニット５が、パリティ生成装置１０によって呼び出される割込みルーチンとして実現されることも構想可能である。
【００４１】
監視ユニット５のソフトウェア（としての）実現の駆動形態が、マイクロプロセッサ１自体において、または他のプロセッサにおいてに関わらず、図４のフローチャートによって示される。ルーチンは、ステップＳ１において、パリティ生成装置によって知らされたエラーの検出と共に開始する。ステップＳ２において、以前に発生したエラーの待ち時間が未だに続いているのか、すなわち、以前のエラーと目下監視されるエラーとの間に因果関係が推測されるかどうか、について確認するために、以前のエラー回復処理の際に、場合により設定されたタイミングジェネレータの状態が問い合わされる。
【００４２】
エラーに因果関係がない場合、ステップＳ３においてエラーの原因が確認される。パリティ生成装置がデータバスを監視する場合、スタック（Stack）への割り込み時間のために回復されたプログラムカウンタ度数によって、エラーが発生しているプログラム部分が確認されることが可能である。代替的に、レジスタ６および内部記憶装置７、８または記憶装置の全く個々の領域７、８を監視する図３で示される形態の構成の場合、記憶装置のどこでエラーが発生しているかのかが確定されることが可能である。アプリケーションの部分プログラムへの、記憶領域の対応する割り当ての際に、両方法によって、同一の演算結果を伝達することが可能である。
【００４３】
確認されたエラーの原因に基づき、ステップＳ４において適切なエラー回復ルーチンが選択される。すなわち、確定された原因のエラーを除去するために適切である可能性がある複数のエラー回復ルーチンの中から、最初に、順位が最も高いエラー回復ルーチンが選択される。これは、システムに対して最も軽度に介入するエラー回復ルーチンが相当する。すなわち、最少の数の変数を回復し、最も迅速に実行されるエラー回復ルーチンが一般的にこれに相当する。
【００４４】
ステップＳ２において待ち時間が未だに続いていることが確定される場合、ステップＳ５において、直近に実行されたエラー回復ルーチンの次のエラー回復ルーチンが選択される。すなわち、直前のエラー回復ルーチンが不成功に終わっていることが推測されるので、次に有力なエラー回復ルーチンが試行される。
【００４５】
ステップＳ４またはＳ５において選択されたエラー回復ルーチンは、ステップＳ６において信頼性が検査される。さらに、例えば、プロセッサシステムによって制御される車両の速度等の、制御される機械の駆動値が検出され、前もってＲＯＭ３に格納されたテーブルを用いて、選択されたエラー回復ルーチンが、駆動値の検出された値の場合に許可または禁止されているのか、について検査される。例えば、エラー回復ルーチンの実行が、測定された速度の場合、過度に長い間プロセッサを要するのでエラー回復ルーチンが禁止されている場合、エラー回復ルーチンは実行されない。さらに、プロセッサ１は、緊急駆動モードＳ７に切り替わる。
【００４６】
エラー回復ルーチンがステップＳ６において信頼できると見なされた場合、ステップＳ８で開始される。その後、時間ｄｔ１の間待機し、引き続きステップＳ９において、パリティ生成装置がエラーを引き続き知らせるか否かについて、検査される。エラーが引き続き存在する場合、目下に試行されたエラー回復ルーチンの次のルーチンを実行するために、工程はステップＳ５に戻る。ステップＳ９において、エラーがもはや監視されない場合、ステップＳ１０において、ステップＳ２で問い合わされたタイミングジェネレータが設定されて、工程が終了する。
【００４７】
ステップＳ９からＳ５への移行において、優先順位において連続する機能は、機能が設けられているのと同じ長さの間、選択されることが可能である。エラー回復ルーチンの各優先順位における最後のルーチンは、強制的に、コールドスタートである。
【図面の簡単な説明】
【００４８】
【図１】本発明に基づくプロセッサシステムのブロック図を示している。
【図２】本発明に基づくプロセッサシステムのブロック図を示している。
【図３】本発明に基づくプロセッサシステムのブロック図を示している。
【図４】本発明の一実施形態に基づくプロセッサシステムにおける監視ユニットの駆動工程に関するフローチャートを示している。
【図１】
2009520290.tif 000003
【図２】
2009520290.tif 000004
【図３】
2009520290.tif 000005
【図４】
2009520290.tif 000006
【国際調査報告】
2009520290.tif 000007
2009520290.tif 000008
2009520290.tif 000009
2009520290.tif 000010
2009520290.tif 000011
2009520290.tif 000012
2009520290.tif 000013
2009520290.tif 000014
2009520290.tif 000015
2009520290.tif 000016