(57)【要約】  少なくとも２つの実行ユニットを有する計算機システムで切替を行うための方法および装置であって、計算機システムの状態に対応する少なくとも２つの動作モードの間で切替が行われ、第１の状態および第２の状態が比較モードおよびパフォーマンスモードに各々に相当しており、計算機システムが他の未定義の状態を想定しうる事象が発生しうる方法および装置において、事象の発生に際してパフォーマンスモードに相当する第２の状態が想定されることを特徴とする。【選択図】図１０
2008518301.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも２つの実行ユニットを有する計算機システムで切替を行うための方法であって、前記計算機システムの状態に対応する少なくとも２つの動作モードの間で切替が行われ、第１の状態および第２の状態が比較モードおよびパフォーマンスモードに各々に相当しており、他の未定義の状態が前記計算機システムにより想定されうる事象が発生しうる前記方法において、
前記事象の発生に際してパフォーマンスモードに相当する前記第２の状態が想定されることを特徴とする、計算機システムで切替をするための方法。
【請求項２】
前記第２の状態がメモリの内容、特にレジスタの内容によって規定され、前記事象の発生に際して前記メモリの内容が評価されることを特徴とする、請求項１に記載の方法。
【請求項３】
前記メモリの内容が少なくとも１つのビットに相当し、少なくとも１つのビットの値がハードウェア措置によって保証されることにより、他の未定義の状態の発生に際しても保証された状態で維持され、または復旧されることを特徴とする、請求項２に記載の方法。
【請求項４】
前記切替が前記計算機システムの動作中に行われることを特徴とする、請求項１に記載の方法。
【請求項５】
未定義の状態が想定されうる前記事象は、少なくとも１つの前記実行ユニットまたは前記計算機システムのリセットを作動させる事象であることを特徴とする、請求項１に記載の方法。
【請求項６】
未定義の状態が想定されうる前記事象は、少なくとも１つの前記実行ユニットまたは前記計算機システムの起動または再起動を作動させる事象であることを特徴とする、請求項１に記載の方法。
【請求項７】
未定義の状態が想定されうる前記事象は、前記第１の状態から前記第２の状態への切替に際して前記計算機システムが少なくとも１つの前記実行ユニットの識別に失敗した事象であることを特徴とする、請求項１に記載の方法。
【請求項８】
少なくとも２つの実行ユニットを有する計算機システムで切替を行うための装置であって、前記計算機システムの状態に対応する少なくとも２つの動作モードの間で切替が行われ、第１の状態および第２の状態が比較モードおよびパフォーマンスモードに各々に相当しており、他の未定義の状態が前記計算機システムにより想定されうる事象が発生しうる前記装置において、
前記事象の発生に際してパフォーマンスモードに相当する前記第２の状態が想定されるように形成された手段が設けられていることを特徴とする、計算機システムで切替をするための装置。
【請求項９】
メモリ、特にレジスタを備えており、前記第２の状態が前記メモリの内容によって規定され、前記事象の発生に際して前記メモリの内容が評価されることを特徴とする、請求項８に記載の装置。
【請求項１０】
計算機システムの少なくとも２つの動作モードの間で切替を行うための請求項８に記載の装置において、状態オートマトンに相当することを特徴とする装置。
【請求項１１】
請求項８に記載の装置を備えている計算機システム。
【発明の詳細な説明】
【背景技術】
【０００１】
α粒子や宇宙線によって引き起こされる過渡的なエラーが集積半導体回路にとって問題となりつつある。構造幅の減少、電圧の低下および高いクロック周波数に起因して、α粒子や宇宙線によって引き起こされる電圧ピークが集積回路の論理値を狂わせる確率を高める。この結果として、誤った計算結果が生じうる。よって、特に車両等の安全性関連のシステムでは、この種のエラーが確実に検出されなければならない。電子回路の誤機能が確実に検出されなければならない、例えば車両のＡＢＳ制御システム等に冗長性が利用される。例えば公知のＡＢＳシステムでは、各々に完全なマイクロコントローラが二重化されており、全てのＡＢＳ機能が冗長的に計算されて互いの一致が検査される。結果に矛盾が生じれば、ＡＢＳシステムが停止される。
【０００２】
マイクロコントローラの主要なコンポーネントは、第１に、記憶モジュール（例えば、ＲＡＭ、ＲＯＭ、キャッシュ）、コア、入出力インターフェース、およびいわゆる周辺装置（例えば、Ａ／Ｄ変換器、ＣＡＮインターフェース）である。記憶素子が検査コード（パリティまたはＥＣＣ）により効率的に監視され、周辺装置が適用に固有の方法によりセンサ信号経路またはアクチュエータ信号経路の一部として監視されるので、今後の冗長性の取組みは、マイクロコントローラのコア独自の二重化に関する。
【０００３】
２つの統合されたコアを備えた、この種のマイクロコントローラは、デュアルコアアーキテクチャとしても知られている。両方のコアが同一のプログラムセグメントを冗長的かつクロック同期で実行し（ロックステップモード）、両方のコアの結果が比較され、一致の比較に際して誤りが発見される。このようなデュアルコアシステムの設定は、比較モードとしても称される。
【０００４】
デュアルコアアーキテクチャは、他の適用では性能向上のために、すなわちパフォーマンス向上のために利用されている。両方のコアが異なるプログラム、異なるプログラムセグメント、異なるコマンドを実行することによって性能向上が実現されるので、このようなデュアルコアシステムの設定は、パフォーマンスモードとしても称される。この種のシステムは、対称型マルチプロセッサシステム（ＳＭＰ）とも称される。
【０００５】
この種のシステムの発展型は、特別なアドレスへのアクセスおよび専用化されたハードウェア装置を用いて、ソフトウェアにより両方のモードの間を切替ることにある。比較モードでは、コアの出力信号が互いに比較される。パフォーマンスモードでは、両方のコアが対称型マルチプロセッサシステム（ＳＭＰ）として動作し、異なるプログラム、異なるプログラムセグメントまたは異なるコマンドを実行する。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
異なるモードを備えるこの種のシステムでは、システムが適正に起動できるように、整合性が確保された状態でリセットを実現することが問題となる。このことは、特に、リセットやアラーム起動に続いて未定義で想定外の事象が発生した場合には困難となる。よって、本発明の課題は、このような問題を解決することができる、予測不能な事象の後に、起動のために定義された適切なリセットを提供することにある。
【課題を解決するための手段】
【０００７】
本発明のある観点によれば、計算機システムの状態に対応する少なくとも２つの動作モードの間で切替が行われ、第１の状態および第２の状態が比較モードおよびパフォーマンスモードに各々に相当しており、その場合に他の未定義の状態が計算機システムにより想定されうる事象が発生しうる方法において、事象の発生に際してパフォーマンスモードに相当する第２の状態が想定される方法が提供される。
【０００８】
また、上記第２の状態がメモリの内容、特にレジスタの内容によって規定され、事象の発生に際してメモリの内容が評価されるようにしてもよい。
【０００９】
2008518301.tif 000003
【００１０】
また、上記切替が計算機システムの動作中に行われるようにしてもよい。
【００１１】
また、上記未定義の状態が想定されうる事象は、少なくとも１つの実行ユニットまたは計算機システムのリセットを作動させる事象であるようにしてもよい。
【００１２】
また、上記未定義の状態が想定されうる事象は、少なくとも１つの実行ユニットまたは計算機システムの起動または再起動を作動させる事象であるようにしてもよい。
【００１３】
また、上記未定義の状態を想定しうる事象は、第１の状態から第２の状態への切替に際して計算機システムの少なくとも１つの実行ユニットの識別に失敗した事象であるようにしてもよい。
【００１４】
さらに、本発明の他の観点によれば、少なくとも２つの実行ユニットを有する計算機システムで切替を行うための装置であって、計算機システムの状態に対応する少なくとも２つの動作モードの間で切替が行われ、第１の状態および第２の状態が比較モードおよびパフォーマンスモードに各々に相当しており、その場合に他の未定義の状態が計算機システムにより想定されうる事象が発生しうる装置において、事象の発生に際してパフォーマンスモードに相当する第２の状態が想定されるように形成された手段が設けられている装置が提供される。
【００１５】
また、上記装置がメモリ、特にレジスタを備えており、第２の状態がメモリの内容によって規定され、事象の発生に際してメモリの内容が評価されるようにしてもよい。
【００１６】
また、上記装置は、状態オートマトンに相当する、計算機システムの少なくとも２つの動作モードの間で切替を行うための装置であるようにしてもよい。
【００１７】
また、上記装置を備えている計算機システムであるようにしてもよい。
【００１８】
その他の利点および有利な実施形態は、特許請求の範囲および発明の詳細な説明の構成により明らかにされる。
【発明を実施するための最良の形態】
【００１９】
以下では、プロセッサ、コア、ＣＰＵのみならず、ＦＰＵ（浮動小数点演算ユニット）、ＤＳＰ（デジタル信号プロセッサ）、コプロセッサまたはＡＬＵ（算術論理演算ユニット）等も実行ユニットと称される。
【００２０】
図１には、２つの実行ユニットＧ１０ａ、Ｇ１０ｂ、比較ユニットＧ２０、切替ユニットＧ５０、および切替意図を認識するためのユニットＧ４０を備えるマルチプロセッサシステムＧ６０が示される。
【００２１】
本発明は、少なくとも２つの実行ユニットＧ１０ａ、Ｇ１０ｂ、比較ユニットＧ２０、切替ユニットＧ５０、および切替意図認識ユニットＧ４０を備える、図１、図２、図３に示すマルチプロセッサシステムＧ６０に関する。切替ユニットＧ５０は、少なくとも２つのシステムインターフェースＧ３０ａ、Ｇ３０ｂに対する少なくとも２つの出力を有する。これらのインターフェースを介して、レジスタ、メモリ、または例えばデジタル出力部、Ｄ／Ａ変換器、通信コントローラ等の周辺装置が制御される。このマルチプロセッサシステムは、比較モード（ＶＭ）およびパフォーマンスモード（ＰＭ）の少なくとも２つの動作モードで作動される。
【００２２】
パフォーマンスモードでは、異なる実行ユニットで、異なるコマンド、異なるプログラムセグメントまたは異なるプログラムが並列に実行される。この動作モードでは比較ユニットＧ２０が無効となる。この動作モードでは、切替ユニットＧ５０は、各々の実行ユニットＧ１０ａ、Ｇ１０ｂがシステムインターフェースＧ３０ａ、Ｇ３０ｂに接続されるように設定される。この場合には実行ユニットＧ１０ａがシステムインターフェースＧ３０ａに接続され、実行ユニットＧ１０ｂがシステムインターフェースＧ３０ｂに接続される。
【００２３】
比較モードでは、両方の実行ユニットＧ１０ａ、Ｇ１０ｂで、同一または同種のコマンド、プログラムセグメントまたはプログラムが処理される。コマンドがクロック同期で処理されることが望ましいが、非同期での処理または定義されたクロックオフセットでの処理も考えられる。実行ユニットＧ１０ａ、Ｇ１０ｂの出力信号が比較ユニットＧ２０で比較される。比較結果が異なる際には、エラーが認識され、相応の措置が講じられる。この措置は、エラー信号の作動、エラー処理の開始、スイッチの操作または、それらの措置と他の措置との組合せであるようにしてもよい。切替ユニットＧ５０は、１つの変形例では、１つの信号のみがシステムインターフェースＧ３０ａ、Ｇ３０ｂに接続されるように設定されている。他の設定では、切替ユニットは、比較された同一の信号がシステムインターフェースＧ３０ａ、Ｇ３０ｂに送信されるようにのみ作用する。
【００２４】
切替意図認識部Ｇ４０は、現在の有効モードに関わらずに、他のモードへの切替意図を検出する。
【００２５】
図２には、２つの実行ユニットＧ１０ａ、Ｇ１０ｂ、比較ユニットＧ２０と切替ユニットＧ５０とからなる組合された比較・切替ユニットＧ７０、および切替意図認識ユニットＧ４０を備えるマルチプロセッサシステムＧ６０が示される。
【００２６】
前述した一実施形態では、図２に示すように、切替ユニットＧ５０および比較ユニットＧ２０が共通の切替・比較ユニット（ＵＶＥ）Ｇ７０に統合される。この場合には共通のコンポーネントＧ７０が各々のコンポーネントＧ５０、Ｇ２０の役割を担う。図１５〜図１９にはＵＶＥＧ７０の変形実施例が示される。
【００２７】
図３に示すような他の実施形態では、切替意図認識ユニットＧ４０、比較ユニットＧ２０および切替ユニットＧ５０が共通のコンポーネントＧ８０に統合されうる。図示されていない他の実施形態では、切替意図認識ユニットＧ４０および比較器Ｇ２０が共通のコンポーネントに統合されうる。切替意図認識部４０を切替器Ｇ５０とともに共通のコンポーネントに統合することも同様に考えられる。
【００２８】
以後の説明では、特段の記載がない限り、切替意図認識部Ｇ４０および組合された切替・比較ユニットＧ７０が設けられることが前提とされる。
【００２９】
３つ以上の実行ユニットの使用も含む、一般的な切替・比較コンポーネントの事例が図２０に示される。考慮されるｎの実行ユニットからｎの信号Ｎ１４０、．．．、Ｎ１４ｎが切替・比較コンポーネントＮ１００に送信される。切替・比較コンポーネントＮ１００は、これらの入力信号からｎまでの出力信号Ｎ１６０、．．．、Ｎ１６ｎを生成できる。最も単純な事例である「純粋なパフォーマンスモード」では、全ての信号Ｎ１４ｉが対応する出力信号Ｎ１６ｉに伝達される。逆の境界事例である「純粋な比較モード」では、全ての信号Ｎ１４０、．．．、Ｎ１４ｎが出力信号Ｎ１６ｉのいずれか１つのみに伝達される。
【００３０】
図２０には、考慮されうる様々なモードがどのように生じうるかが示される。このために、図２０には切替論理部Ｎ１１０の論理コンポーネントが含まれる。このコンポーネントは、独自のコンポーネントとして設けられる必要はない。説明される機能がシステム内で実現されていることが重要である。切替論理部Ｎ１１０は、まず、存在する出力信号の数を判定する。切替論理部Ｎ１１０は、次に、いずれの入力信号がいずれの出力信号に寄与するかを判定する。この場合には１つの入力信号が１つの出力信号にのみ寄与しうる。すなわち、数学的な形式で表現すれば、集合｛Ｎ１４０、．．．、Ｎ１４ｎ｝の各要素に集合｛Ｎ１６０、．．．、Ｎ１６ｎ｝の１つの要素が対応付けられる関数が切替論理部Ｎ１１０によって定義される。
【００３１】
そして、処理論理部Ｎ１２０は、各々の出力Ｎ１６ｉについて、これらの出力信号に入力がどのような形で寄与するかを定める。このコンポーネントも、独自のコンポーネントとして存在しなくてもよい。やはり、説明される機能がシステム内で実現されていることが重要である。様々な変形の可能性の一例を説明するために、一般性を限定することなく、信号Ｎ１４１、．．．、Ｎ１４ｍによって出力Ｎ１６０が生成されるものと仮定する。これは、ｍ＝１の場合には信号の単純な通過（スルー接続）に相当し、ｍ＝２の場合には、例えば図１３、図１４で説明される比較器のように、信号Ｎ１４１、Ｎ１４２が比較される。この比較は、同期または非同期で実行され、ビット単位または有意なビットのみ、あるいは許容幅を用いて実行されるようにしてもよい。
【００３２】
ｍ＞＝３の場合には、さらに多くの可能性がある。
【００３３】
第１の可能性は、全ての信号を比較し、少なくとも２つの異なる値が存在する際にエラーを検出することであり、選択的にエラーが通知される。
【００３４】
第２の可能性は、ｍからｋの選択を行うことである（ｋ＞ｍ／２）。この選択は、比較器の使用によって実現されうる。選択的に、信号の１つが異なると認識された場合には、エラー信号が生成されうる。３つの信号の全てが異なる場合には、異なるエラー信号が生成されうる。
【００３５】
第３の可能性は、これらの値をアルゴリズムに供給することである。これは、例えば、平均値の生成、中央値の生成、またはフォールトトレラントアルゴリズム（ＦＴＡ）の使用を意味する。この種のＦＴＡは、入力値の極値を除外し、残りの値で一種の平均化を行うことに基づくものである。平均化は、残りの値の集合全体について、または特に、ハードウェアで容易に生成される部分集合について行われうる。この場合には数値を実際に比較することは必ずしも必要とされない。平均値の生成に際しては、例えば加算および除算のみが必要となり、ＦＴＭ、ＦＴＡまたは中央値の生成に際しては、部分的なソーティング（Sortierung）が必要となる。場合により非常に大きな極値が存在する際には、選択的にエラー信号が出力されうる。
【００３６】
複数の信号を１つの信号に処理する前述の様々な可能性は、便宜上、比較演算と称される。
【００３７】
すなわち、処理論理部の役割は、各々の出力信号について（および付属する入力信号についても）、比較演算の形態を定めることにある。切替論理部Ｎ１１０の情報（すなわち前述した関数）と処理論理部の情報（すなわち、出力信号毎、すなわち関数値毎の比較演算の決定）との組合せがモード情報であり、モード情報がモードを決定する。この情報は、一般的には当然ながら多値であり、すなわち１つの論理ビットのみでは表現できない。所与の実装では、理論上考えられる全てのモードが有意義であるということにはならず、許容されるモードの数が制限されることが望ましい。２つの実行ユニットの場合（比較モードが１つのみ存在する）場合には、全ての情報が１つの論理ビットに集約されうる。
【００３８】
パフォーマンスモードから比較モードへの切替は、一般的な場合には、パフォーマンスモードでは異なる出力に割当てられる実行ユニットが、比較モードでは同一の出力に割当てられるという特徴がある。このことは、パフォーマンスモードでは部分システム内で考慮される全ての入力信号Ｎ１４ｉが対応する出力信号Ｎ１６ｉに直接伝達される一方で、比較モードでは全てが１つの出力に割当てられるような、複数の実行ユニットのための部分システムの存在によって実現されることが望ましい。代替的に、組合せが変更されることによって、この種の切替が実現されるようにしてもよい。このことは、一般的な場合には、１つのパフォーマンスモードや１つの比較モードという表現が用いられないが、本発明の所与の特徴内では、許容されるモードの集合が制約されるので、そのような表現を用いて説明できる。しかし、パフォーマンスモードから比較モードへ（および逆方向）の切替という表現は、常に用いられうる。
【００３９】
これらのモードの間では、ソフトウェアを介して制御されて動作中に切替が動的に行われうる。この場合に切替は、特別な切替命令、特別な命令シーケンス、明示的に指定された命令の実行によって作動され、または、マルチプロセッサシステムの少なくとも１つの実行ユニットによる特定のアドレスへのアクセスによって作動される。
【００４０】
エラー回路論理部Ｎ１３０は、例えば比較器により生成されるエラー信号を収集し、選択的に、出力Ｎ１６ｉを例えばスイッチを介して遮断することによって受動的に切替えられる。
【００４１】
しかし、以下の例では、大抵の事例で殆どのコンセプトがより単純に説明されうる２つの実行ユニットの場合に注目する。
【００４２】
モード間の切替は様々な方法でコード化されうる。可能性のある１つの方法では、切替意図認識ユニットＧ４０により検出される特別な切替コマンドが利用される。切替をコード化するための可能性のある他の方法は、同じく切替意図認識ユニットＧ４０が検出する特別なメモリ領域へのアクセスによって定義される。さらに他の方法は、切替を通知する外部信号を切替意図認識ユニットＧ４０で評価する。以下では、プロセッサの既存のコマンドセットで使用されていないビットコンビネーションが利用される方法が説明される。この方法の特別な利点は、既存の開発環境（アセンブラ、コンパイラ、リンカー、デバッガ）が引続き使用されうる点にある。
【００４３】
図４には、２つの実行ユニットＧ２１０ａ、Ｇ２１０ｂおよび切替・比較ユニットＧ２６０を備えるマルチプロセッサシステムＧ２００が示される。比較モードとパフォーマンスモード（および逆方向）との切替のために、少なくとも２つの実行ユニットＧ２１０ａ、Ｇ２１０ｂのアセンブラで定義されていないビットコンビネーションが利用される。この意味での定義されていないビットコンビネーションまたは未定義のビットコンビネーションとは、コマンドセットの記述中で未定義または不正として指定されている全てのビットコンビネーションであると解される。これらは、例えば、不正オペランド、不正命令、不正操作等である。未定義ビットコンビネーションの一般的な識別性としては、正常な実行ユニットがこの種のビットコンビネーションを実行した際にエラー信号を生成すること、または定義されていない挙動を示すことが挙げられる。すなわち、これらのビットコンビネーションは、通常のプログラムのセマンティクスを表現するために必要とされない。
【００４４】
よって、ソフトウェア開発のためには、シングルプロセッサシステム用として存在するような従来の開発環境が利用されうる。このことは、例えば、前述で定義された意味に相当する未定義ビットコンビネーションをコード中の適当な個所に挿入するマクロ“ＳＷＩＴＣＨ  ＭＯＤＥ  ＴＯ  ＰＭ”およびマクロ“ＳＷＩＴＣＨ  ＭＯＤＥ  ＴＯ  ＶＭ”が定義されることによって実現されうる。
【００４５】
この場合、これらのコンビネーションの使用が一般的な“ＳＷＩＴＣＨ”マクロとして定義される。この場合にはマクロは、現在のモードに応じて他のモードへの切替を引き起こす。システムに３つ以上のモードが存在する場合には、これらの方法の適用のために、この種のコンビネーションがより多く存在しなければならず、その場合には切替認識のためにモード毎に１つのコンビネーションが利用されうることが望ましい。
【００４６】
本発明によれば、コマンドセットで定義されていないビットコンビネーションによって切替意図がコード化される。このビットコンビネーションは、実行ユニットＧ２１０ａ、Ｇ２１０ｂの内部で通常の方法で処理されることを許されない。この理由から、該当するビットコンビネーションを認識し、後続の処理のために中立的なビットコンビネーションに置換する、追加のパイプラインステップ（ＲＥＰＬＡＣＥステップ）Ｇ２３０ａ、Ｇ２３０ｂが提案される。このために、“ＮＯＰ”（Ｎｏ  Ｏｐｅｒａｔｉｏｎ）コマンドが利用されることが望ましい。ＮＯＰコマンドは、命令ポインタを除けば、実行ユニットの内部状態を変更しないという特徴がある。この場合にはＲＥＰＬＡＣＥステップＧ２３０ａ、Ｇ２３０ｂは、通常では第１のステップとなるＦＥＴＣＨステップＧ２２０ａ、Ｇ２２０ｂの後ろで、かつ、Ｇ２４０ａ、Ｇ２４０ｂに統合される残りのパイプラインステップの前に挿入される。
【００４７】
本発明によれば、ここで図示されるパイプラインユニットＧ２１５ａ、Ｇ２１５ｂ中の特別なパイプラインステップＧ２３０ａ、Ｇ２３０ｂとしての切替意図認識ユニットＧ４０の実装は、切替のための該当するビットコンビネーションが認識された場合には、追加の信号Ｇ２５０ａ、Ｇ２５０ｂを生成し、その信号が処理モードの切替が行われることを他の切替・比較ユニットＧ２６０に通知する。
【００４８】
ＲＥＰステップＧ２３０ａ、Ｇ２３０ｂは、実行ユニットＧ２１０ａ、Ｇ２１０ｂのパイプラインユニットＧ２１５ａ、Ｇ２１５ｂ中で、ＦＥＴＧ２２０ａ、Ｇ２２０ｂと残りのパイプラインステップＧ２４０ａ、Ｇ２４０ｂとの間に配置されることが望ましい。この場合にはＲＥＰステップＧ２３０ａ、Ｇ２３０ｂが該当するビットコンビネーションを認識し、ＮＯＰコマンドを残りのステップＧ２４０ａ、Ｇ２４０ｂに伝達する。同時に、各々の信号Ｇ２５０ａまたはＧ２５０ｂが有効化される。他の全ての場合にはＲＥＰステップＧ２３０ａ、Ｇ２３０ｂが中立的に振るまい、すなわち、他の全てのコマンドが変更されずに、残りのステップＧ２４０ａ、Ｇ２４０ｂに伝達される。
【００４９】
図５には、特別なパイプラインステップＧ２３０ａ、Ｇ２３０ｂの内部で、特別な未定義のビットコンビネーションをＮＯＰまたは他の中立的なビットコンビネーションに置換する方法がフローチャートで示される。ＦＥＴＣＨステップＧ３００では、コマンドすなわちビットコンビネーションがメモリから読出される。次にブロックＧ３１０では、読出されたビットコンビネーションが、切替をコード化するための特別な未定義のビットコンビネーションに該当するかが区別される。該当しない場合には、次のステップＧ３２０で、ビットコンビネーションが変更されずに、後続の処理のために残りのパイプラインステップＧ３４０に伝達される。切替をコード化するための特別なビットコンビネーションがステップＧ３１０で認識された場合には、ステップＧ３３０で、ビットコンビネーションがＮＯＰビットコンビネーションによって置換され、後続の処理のためにパイプラインステップＧ３４０に伝達される。望ましいある実施形態では、ブロックＧ３１０、Ｇ３２０、Ｇ３３０は、本発明によるＲＥＰＬＡＣＥステップＧ２３０ａ、Ｇ２３０ｂの機能を表しており、その場合には他の機能をさらに含むようにしてもよい。
【００５０】
図６には、２つの実行ユニットＨ２１０ａ、Ｈ２１０ｂおよび切替・比較ユニットＨ２６０を備えるマルチプロセッサシステムＨ２００が示される。コンポーネントＨ２２０ａ、Ｈ２２０ｂ、Ｈ２４０ａ、Ｈ２４０ｂは、Ｇ２２０ａ、Ｇ２２０ｂ、Ｇ２４０ａ、Ｇ２４０ｂと同一の意味を有する。ここでは特別なパイプラインステップＨ２３０ａ、Ｈ２３０ｂによって説明される、切替意図認識ユニットＧ４０の代替的な実施形態では、パイプラインステップは、切替を通知する信号Ｈ２５０ａ、Ｈ２５０ｂ以外に、さらに他の信号を含む。これによって、パフォーマンスモードから比較モードへの切替に際して、実行ユニットＨ２１０ａ、Ｈ２１０ｂが同期化されうるように、実行ユニットＨ２１０ａ、Ｈ２１０ｂのパイプラインユニットＨ２１５ａ、Ｈ２１５ｂは、処理を停止させることができる信号入力Ｈ２８０ａ、Ｈ２８０ｂを各々に有する。この信号は、切替コマンドを認識して信号Ｈ２５０ａもしくはＨ２５０ｂを有効化させるパイプラインユニットＨ２１５ａまたはＨ２１５ｂに対して、切替・比較ユニットＨ２６０によって生成される。実行ユニットＨ２１０ａ、Ｈ２１０ｂの両方のパイプラインユニットＨ２１５ａ、Ｈ２１５ｂが切替コマンドを認識し、ソフトウェア措置または他のハードウェア措置によって内部状態が同期化された場合に初めて、信号Ｈ２８０ａ、Ｈ２８０ｂが再び取消される。比較モードからパフォーマンスモードへの切替に際しては、同期化が必要とされないので、信号Ｈ２８０ａ、Ｈ２８０ｂは不要である。
【００５１】
ここで説明する提案には、各々の実行ユニットが自らの識別番号またはユニットＩＤを確認できるユニット（ＩＤユニットと称する。）または方法が前提条件となる。２つの実行ユニットを備えるシステムでは、例えば一方の実行ユニットが自らの番号０を確認し、他方の実行ユニットが番号１を確認できる。３つ以上の実行ユニットを備えるシステムでも、対応する番号が付与もしくは確認される。このＩＤは、比較モードとパフォーマンスモードとの間を区別するのではなく、実行ユニットに一義的な識別子をつけるものである。ＩＤユニットは、各々の実行ユニットに含まれるようにしてもよく、例えばプロセッサ状態レジスタ内のビットまたはビットコンビネーションとして、または独自のレジスタとして、または単一のビットとして、または照会に応じて該当するＩＤを供給する、実行ユニットの外部のユニットとして実装される。
【００５２】
実行ユニットが切替意図に従ってパフォーマンスモードへの切替を実行した後には、比較ユニットがもはや有効化されていない一方で、実行ユニットが依然として同一のコマンドを実行し続ける。これは、次のステップで実行ユニットが処理する、もしくは現在処理している、プログラムの箇所を表す命令ポインタが切替により影響されないためである。よって、実行ユニットが引続き種々のソフトウェアモジュールを実行できるように、各々の実行ユニットのプログラムの進行が分離されなくてはならない。よって、本発明により独立したコマンド、プログラムセグメントまたはプログラムが処理されるので、実際のところパフォーマンスモードでは、各々の命令ポインタが異なる値を有するのが通常である。プログラムフローの分離は、ここで説明される提案では、各々の実行ユニット番号の確認によって行われる。実行ユニットが有するＩＤに応じて、実行ユニットが所定のソフトウェアモジュールを実行する。よって、各々の実行ユニットが識別番号またはＩＤを有するので、関与する実行ユニットのプログラムフローが確実に分離されうる。
【００５３】
図７には、２つの実行ユニットを備えるマルチプロセッサシステムで比較モードからパフォーマンスモードへの切替に際して、ユニットＩＤを用いてプログラムフローを分離可能な方法がフローチャートで示される。比較モードからパフォーマンスモードへの切替Ｇ５００が実行された後には、ユニットＩＤまたは実行ユニット番号の照会Ｇ５１０が両方の実行ユニットによって行われる。本発明によれば、この場合には実行ユニット０に実行ユニット番号０が付与され、実行ユニット１に実行ユニット番号１が付与される。Ｇ５１０では、確認された実行ユニット番号と番号０との照合が行われる。照合が一致する場合には、ステップＧ５２０で、照合に成功した実行ユニットが実行ユニット０のコードで進行する。照合に成功しなかった実行ユニットは、Ｇ５３０で番号１との照合を続ける。この照合が成功した場合には、Ｇ５４０で実行ユニット１のコードで進行する。この照合も成功しなかった場合には、当該実行ユニットについて、０および１以外の実行ユニット番号が確認されたことになる。これはエラーの発生を意味しており、Ｇ５５０で処理が続けられる。
【００５４】
図８には、３つの実行ユニットについて可能性のある方法が説明される。比較モードからパフォーマンスモードへの切替Ｈ５００が実行された後には、ユニットＩＤまたは実行ユニット番号の照会Ｈ５１０が各々の実行ユニットによって行われる。本発明によれば、この場合には例えば、実行ユニット０に実行ユニット番号０が付与され、実行ユニット１に実行ユニット番号１が付与され、実行ユニット２に実行ユニット番号２が付与される。Ｈ５１０では、確認された実行ユニット番号と番号０との照合が行われる。照合が一致する場合には、ステップＨ５２０で、照合に成功した実行ユニットが実行ユニット０のコードで進行する。照合に成功しなかった実行ユニットは、Ｈ５３０で番号１との照合を続ける。照合に成功した実行ユニットは、Ｈ５４０で実行ユニット１のコードで進行する。照合に成功しなかった実行ユニットは、Ｈ５３５で番号２との照合を続ける。照合に成功した実行ユニットは、Ｈ５３６で実行ユニット２のコードで進行する。この照合も成功しなかった場合には、当該実行ユニットについて、０，１および２以外の実行ユニット番号が確認されたことになる。これはエラーの発生を意味しており、Ｈ５５０で処理が続けられる。番号との照合の代わりに、確認された実行ユニット番号が分岐テーブルのインデックスとして直接的に利用されるようにしてもよい。
【００５５】
４つ以上の実行ユニットを備えるマルチプロセッサシステムについても、前述の説明と同様の方法が適用されうる。
【００５６】
パフォーマンスモードから比較モードに切替る場合には、複数の事項が配慮されなければならない。パフォーマンスモードから比較モードへの切替に際しては、実行ユニットの内部状態が切替後に同質となることが保証されなければならない。さもなければ、異なる起動状態が異なる出力をもたらす場合には、比較モードで場合によってはエラーが認識されることになる。このことは、ハードウェア、ソフトウェア、ファームウェアまたはそれらの全ての組合せによって行われうる。このためには、比較モードへの切替後に、全ての実行ユニットが同一または同質のコマンド、プログラムまたはプログラムセグメントを実行することが前提条件となる。以下では、比較モードで同一のコマンドが処理されてビット単位の比較が行われる場合に適用可能な同期化方法が説明される。
【００５７】
図９には、パフォーマンスモードから比較モードへの切替に際して実行ユニットを同期化する方法がフローチャートで示される。ステップＧ６００では、特に全ての割込みが阻止される。このことは、割込みコントローラが比較モードに対応するように再プログラミングされなければならないという理由のみから重要であるわけではない。ソフトウェアによっても、実行ユニットの内部状態が一致されなければならない。逆に、比較モードへの切替が準備されている最中に割込みが作動した場合には、もはや容易に一致させることは困難となる。
【００５８】
ステップＧ６１０：両方の実行ユニットが異なるキャッシュを有する場合には、比較モードに際して、あるアドレスに対して、一方の実行ユニットについてキャッシュヒットが生じ、他方の実行ユニットについてキャッシュミスが生じることを防ぐために、キャッシュの内容も切替前に一致されなければならない。これがキャッシュハードウェアによって自立的に行われない場合には、例えば全てのキャッシュラインを無効としてマーキングすることにより調整が行われる。１つまたは複数のキャッシュが完全に無効となるまで待機しなければならない。このことは、必要に応じて、プログラムコードの待機ループによって保証される。このことは、他の手段によっても実現可能であるが、このステップの後にいずれのキャッシュも同一の状態となっていることが重要である。
【００５９】
ステップＧ６２０では、パフォーマンスモードに起因する実行ユニットの活動が切替後に行われないようにするために、実行ユニットの書込みバッファが空にされる。
【００６０】
ステップＧ６３０では、各々の実行ユニットのパイプラインステップの状態が同期化される。このために、例えば適当な数のＮＯＰ（Ｎｏ  Ｏｐｅｒａｔｉｏｎ）コマンドが切替シーケンス／切替コマンドの前に実行される。ＮＯＰコマンドの数は、パイプラインステップの数に応じて決定し、よって、そのつどのアーキテクチャに依存する。ＮＯＰコマンドとして適切なコマンドも、同様にアーキテクチャに依存する。実行ユニットが命令キャッシュを有する場合には、コマンドシーケンスがキャッシュラインの境界に配列される（アライメント）ことが保証される必要がある。ＮＯＰの実行前に命令キャッシュが無効としてマーキングされているので、ＮＯＰが最初にキャッシュにロードされなければならない。コマンドシーケンスがキャッシュライン境界で開始されると、切替のコマンドが行われる前に、メモリ（例えば、ＲＡＭ／ＲＯＭ／フラッシュメモリ）からキャッシュへのデータ転送が完了する。このことも、ＮＯＰの必要数を決定する際に考慮されなければならない。
【００６１】
ステップＧ６４０では、比較モードへの切替のためのコマンドステップが実際に実行される。
【００６２】
ステップＧ６５０では、各々の実行ユニットのそのつどのレジスタファイルの内容が一致される。このために、切替の前または後でレジスタに同一の内容がロードされる。この際には切替後に、レジスタの内容が外部に転送されて比較ユニットにより比較される前に、各々の実行ユニットのレジスタの内容が同一になっていることが重要となる。
【００６３】
ステップＧ６６０では、割込みコントローラが再プログラミングされるので、相互接続されている全ての実行ユニットで外部の割込み信号が同一の割込みを作動させる。
【００６４】
ステップＧ６７０では、割込みが再び許可される。
【００６５】
比較モードへの切替が行われるタイミングがプログラムの進行から一義的にされない場合には、関与する実行ユニットが切替の意図について通知されなければならない。このために、各々の実行ユニットに帰属する割込みコントローラでは、例えばソフトウェア等により割込みが開始されることが望ましい。そして、割込み処理は、相互接続のための前述したシーケンスの実行を促す。
【００６６】
図１０には、パフォーマンスモードと比較モード（および逆方向）との間の切替を表す状態オートマトンが示される。「パワーオン」またはリセット（ソフトウェアまたはハードウェア）によって引き起こされるシステムの起動に際して、移行線Ｇ８００を介して状態Ｇ７００にシステムが移行される。一般に、リセットを作動させうる未定義の事象の後には、常にシステムが状態Ｇ７００から動作を開始する。リセットを作動させうる事象の例としては、外部の信号、電圧供給の障害、処理の継続がもはや有意義とされない内部のエラー事象等がある。パフォーマンスモードで動作する、切替・比較ユニットＧ７０およびマルチプロセッサシステムＧ６０の状態Ｇ７００は、よってシステムのデフォルト状態となる。前述したように、デフォルト状態でなければ未定義の状態が想定される全ての場合で、デフォルト状態Ｇ７００が想定される。この場合には状態Ｇ７００のデフォルト位置がハードウェア措置によって保証される。例えばシステム状態もしくは切替・比較ユニットＧ６０の状態は、レジスタ、レジスタ内部のビット、レジスタ内部のビットコンビネーションまたはフリップフロップによってコード化されうる。
【００６７】
そして、リセットまたはパワーオンの後に必ず状態Ｇ７００が想定されることがハードウェアにより保証される。このことは、例えばリセット信号もしくは「パワーオン」信号がフリップフロップまたはレジスタのリセット入力もしくはセット入力に伝達されることによって保証される。
【００６８】
状態Ｇ７００では、システムがパフォーマンスモードで動作する。よって、実行ユニットＧ１０ａ、Ｇ１０ｂは、異なるコマンド、異なるプログラムまたは異なるプログラムセグメントを処理する。切替意図は、例えば実行ユニットＧ１０ａ、Ｇ１０ｂが特別な切替コマンドを実行することによって認識されうる。他の可能性は、特別なメモリアドレスへのアクセス、内部信号または外部信号により認識することである。切替意図が存在しない限り、マルチプロセッサシステムＧ６０および切替・比較ユニットＧ７０が状態Ｇ７００で維持される。以下では、切替意図とは、特別なシステム内で切替意図がどのように特徴付けられるかを特徴付ける切替条件の認識を意味する。
【００６９】
状態Ｇ７００の維持が移行線Ｇ８１０で示される。実行ユニットＧ１０ａにより切替意図が認識されると、移行線８２０を介して状態Ｇ７１０に切替・比較ユニットＧ７０が移行する。すなわち、状態Ｇ７１０は、実行ユニットＧ１０ａが切替意図を認識し、実行ユニットＧ１０ｂにより同様に切替意図が認識されるまで待機している状態を示す。実行ユニットＧ１０ｂが切替意図を認識しない場合には、移行線Ｇ８３０で示されるように、切替・比較ユニットＧ７０が状態Ｇ７１０で維持される。
【００７０】
状態Ｇ７１０で実行ユニットＧ１０ｂも同様に切替意図を認識した場合には、移行Ｇ８４０が行われる。これにより、切替・比較ユニットＧ７０が状態Ｇ７３０となる。この状態は、両方の実行ユニットＧ１０ａ、Ｇ１０ｂが切替意図を認識した場合の状態を示す。状態Ｇ７３０では、２つの実行ユニットＧ１０ａ、Ｇ１０ｂが互いに同期化される同期化方法が実施され、引続いて比較モードで動作が行われる。この工程では、移行線Ｇ８９０で示されるように、切替・比較ユニットＧ７０が状態Ｇ７３０で維持される。
【００７１】
状態Ｇ７００で最初に実行ユニットＧ１０ｂにより切替意図が認識された場合には、移行線Ｇ８６０を介して状態Ｇ７２０への切替が行われる。すなわち、状態Ｇ７２０は、実行ユニットＧ１０ｂが切替意図を認識し、実行ユニットＧ１０ａにより同様に切替意図が認識されるまで待機している状態を示す。実行ユニットＧ１０ａが切替意図を認識しない場合には、移行線Ｇ８７０で示されるように、切替・比較ユニットＧ７０が状態Ｇ７２０で維持される。状態Ｇ７２０で実行ユニットＧ１０ａも同様に切替意図を認識した場合には、移行Ｇ８８０が行われる。これにより、切替・比較ユニットＧ７０が状態Ｇ７３０となる。
【００７２】
状態Ｇ７００で両方の実行ユニットＧ１０ａ、Ｇ１０ｂが同時に切替意図を認識した場合には、移行線Ｇ８５０で示されるように、直ちに状態Ｇ７３０への移行が行われる。
【００７３】
切替・比較ユニットＧ７０が状態Ｇ７３０にある場合には、両方の実行ユニットＧ１０ａ、Ｇ１０ｂが切替意図をすでに認識している。この状態で実行ユニットＧ１０ａ、Ｇ１０ｂの内部状態が同期化され、同期化工程の終了後に比較モードで動作しうる。同期化作業の終了と同時に、移行Ｇ９００が行われる。この移行は同期化の終了を表している。状態Ｇ７４０では、実行ユニットＧ１０ａ、Ｇ１０ｂが比較モードで動作する。同期化作業の終了は、実行ユニットＧ１０ａ、Ｇ１０ｂ自体により通知されうる。このことは、両方の実行ユニットＧ１０ａ、Ｇ１０ｂが比較モードで動作する準備にあることを通知した場合に、移行Ｇ９００が行われることを意味する。設定された所定の時間の経過後に終了が通知されるようにしてもよい。このことは、状態Ｇ７３０を維持する期間が切替・比較ユニットＧ７０で一定にコード化されていることを意味する。この期間は、両方の実行ユニットＧ１０ａ、Ｇ１０ｂが確実に同期化作業を完了しているように設定される。そして、この期間の経過後に移行Ｇ９００が開始される。他の変形形態では、切替・比較ユニットＧ７０は、実行ユニットＧ１０ａ、Ｇ１０ｂの状態を監視しており、両方の実行ユニットＧ１０ａ、Ｇ１０ｂが同期化作業を終えた場合を自ら認識できる。そして、この認識の後に移行Ｇ９００が開始される。
【００７４】
切替意図が認識されない限り、移行線Ｇ９１０で示されるように、マルチプロセッサシステムＧ６０が比較モードで維持される。状態７４０で切替意図が認識された場合には、移行線Ｇ９２０を介して状態Ｇ７００に切替・比較ユニットが移行される。すでに説明したように、状態Ｇ７００ではシステムがパフォーマンスモードで動作する。そして、状態Ｇ７４０から状態Ｇ７００への移行に際するプログラムフローの分離は、前述と同様の方法で実施されうる。
【００７５】
図１１には、２つの実行ユニットＧ４１０ａ、Ｇ４１０ｂ、割込みマスキングレジスタＧ４３０ａ、Ｇ４３０ｂを内部に含む２つの割込みコントローラＧ４２０ａ、Ｇ４２０ｂ、および様々な割込みソースＧ４４０ａ〜Ｇ４４０ｎを備えるマルチプロセッサシステムＧ４００が示される。さらに、特別な割込みマスキングレジスタＧ４６０を備える切替・比較ユニットＧ４５０が示される。
【００７６】
各々の実行ユニットＧ４１０ａ、Ｇ４１０ｂは、パフォーマンスモードで同時に２つの割込みを処理できるように、各々に独自の割込みコントローラＧ４２０ａ、Ｇ４２０ｂを有することが望ましい。このことは、割込み処理がシステムパフォーマンス上のボトルネックとなるシステムの場合であれば、特に望ましい。この場合には割込みソースＧ４４０ａ〜Ｇ４４０ｎが両方の割込みコントローラＧ４２０ａ、Ｇ４２０ｂに各々に同等に接続されることが望ましい。このような接続形式によれば、他の措置なしに、両方の実行ユニットＧ４１０ａ、Ｇ４１０ｂで同等な割込みが作動される。パフォーマンスモードでは、割込みコントローラＧ４２０ａ、Ｇ４２０ｂは、該当する割込みソースＧ４４０ａ〜Ｇ４４０ｎが適用に応じて異なる実行ユニットＧ４１０ａ、Ｇ４１０ｂに分配されるようにプログラミングされる。このことは、割込みマスキングレジスタＧ４３０ａ、Ｇ４３０ｂの適切なプログラミングにより行われる。マスキングレジスタは、各々の割込みソースＧ４４０ａ〜Ｇ４４０ｎについてレジスタ内の１ビットを用意している。このビットがオンに設定されている場合には割込みが阻止され、すなわち、接続されている実行ユニットＧ４１０ａ、Ｇ４１０ｂに伝達されない。パフォーマンスモードでは、所与の割込みソースＧ４４０ａ〜Ｇ４４０ｎが１つの実行ユニットＧ４１０ａまたはＧ４１０ｂで処理されることが望ましい。このことは、少なくともいくつかの割込みソースで該当することが望ましい。これにより、割込みネスティング（割込み処理が２番目の割込みによって中断される）または割込み待ち（最初の割込み処理が終わるまで、２番目の割込みの処理が延期される）を行うことなく、複数の割込みソースＧ４４０ａ〜Ｇ４４０ｎが同時に処理されうる。
【００７７】
比較モードでは、割込みコントローラＧ４２０ａ、Ｇ４２０ｂが全ての実行ユニットＧ４１０ａ、Ｇ４１０ｂで同一の割込みを同時に作動させることが保証されなければならない。さもなければ、比較モードに応じてエラーが認識されることになる。このことは、パフォーマンスモードから比較モードへの切替に際する同期化段階で、割込みマスキングレジスタＧ４３０ａ、Ｇ４３０ｂが同一であることが保証されなければならないことを意味する。この同期化は、図９のステップＧ６６０で説明される。この同期化は、両方の割込みマスキングレジスタＧ４３０ａ、Ｇ４３０ｂを相応に等しい値でプログラミングすることによって、ソフトウェアにより実行されうる。切替工程の迅速化のために、特別なレジスタＧ４６０を利用することが提案される。１つの実施形態では、レジスタＧ４６０は、切替・比較ユニットＧ４５０中に配置されるが、切替意図認識部Ｇ４０、組合された切替意図認識部、比較器、切替ユニットＧ８０、ならびにそれらの組合せの全てに含まれるようにしてもよい。このレジスタがこれら３つのコンポーネント以外の他の適当な箇所に配置されることも同様に考えられる。レジスタＧ４６０は、比較モードで有効にされる割込みマスキングを含む。切替・比較ユニットＧ４５０は、パフォーマンスモードから比較モードへの切替のための信号を切替意図認識部Ｇ４０から取得する。ステップＧ６００で割込みが阻止可能になると、割込みコントローラＧ４２０ａ、Ｇ４２０ｂの割込みマスキングレジスタＧ４３０ａ、Ｇ４３０ｂが再プログラミングされる。このことは、切替信号が受信され、割込みコントローラＧ４２０ａ、Ｇ４２０ｂが阻止された後に、ハードウェアで切替・比較ユニットＧ４５０により他の同期化ステップと並列に実行される。比較モードで割込みマスキングレジスタＧ４３０ａ、Ｇ４３０ｂが個々に再プログラミングされるのではなく、常に中枢のレジスタＧ４６０が再プログラミングされることが望ましい。そして、これらがハードウェアで同期化されて、両方の割込みマスキングレジスタＧ４３０ａ、Ｇ４３０ｂに伝達される。ここで割込みマスキングレジスタについて説明される方法は、割込みコントローラ内に配置されている全ての割込み状態レジスタにも同様に転用されうる。もちろん、レジスタＧ４６０の代わりに、割込みマスキングレジスタＧ４３０ａ、Ｇ４３０ｂに可能な限り迅速に転送を行うことができる、他の記憶媒体を使用することも考えられる。
【００７８】
図１２には、２つの実行ユニットＧ１０１０ａ、Ｇ１０１０ｂ、切替・比較ユニットＧ１０２０、および３つの異なるレジスタセットＧ１０４０ａ、Ｇ１０４０ｂ、Ｇ１０５０を含む割込みコントローラＧ１０３０を備えるマルチプロセッサシステムＧ１０００が提案される。前述した解決方法の代替案として、図１２に示すような特別な割込みコントローラＧ１０３０が提案される。この割込みコントローラは、本例では２つの実行ユニットＧ１０１０ａ、Ｇ１０１０ｂと、比較モードとパフォーマンスモードとの間を切替できる切替・比較ユニットＧ１０２０とを備えるマルチプロセッサシステムＧ１０００で使用される。
【００７９】
この場合にはパフォーマンスモードでは、レジスタセットＧ１０４０ａ、Ｇ１０４０ｂが使用される。この場合には割込みコントローラＧ１０３０は、２つの割込みコントローラＧ４２０ａ、Ｇ４２０ｂと同様に動作する。この挙動が図１１に図示されて説明される。この場合にはレジスタセットＧ１０４０ａが実行ユニットＧ１０１０ａに割当てられ、レジスタセットＧ１０４０ｂが実行ユニットＧ１０１０ｂに割当てられる。割込みソースＧ１０６０ａ〜Ｇ１０６０ｎは、マスキングにより実行ユニットＧ１０１０ａ、Ｇ１０１０ｂに適切に分配される。パフォーマンスモードから比較モードへの切替に際しては、切替・比較ユニットＧ１０２０が信号Ｇ１０７０を生成する。この信号は、比較モードに切替えられること、もしくはシステムがこの時点から比較モードで動作することを、割込みコントローラＧ１０３０に通知する。その後、割込みコントローラＧ１０３０がレジスタセットＧ１０５０を使用する。これにより、両方の実行ユニットＧ１０１０ａ、Ｇ１０１０ｂで同一の割込み信号が発生することが保証される。切替・比較ユニットＧ１０２０が再び信号Ｇ１０７０を介して割込みコントローラＧ１０３０に通知する、比較モードからパフォーマンスモードへの切替により、レジスタセットＧ１０４０ａ、Ｇ１０４０ｂに再び切替えられる。これにより、パフォーマンスモードではレジスタセットＧ１０４０ａ、Ｇ１０４０ｂへの書込みのみが許容され、比較モードのために留保されているレジスタセットＧ１０５０への書込みがハードウェアにより禁止されることによって、該当するレジスタセットの保護が実現可能となるという利点がある。逆方向でも同様のことが可能であり、比較モードではレジスタセットＧ１０５０への書込みのみが許容され、レジスタセットＧ１０４０ａ、Ｇ１０４０ｂへの書込みが禁止される。
【００８０】
図１３には、比較器Ｍ５００、Ｇ２０の最も単純な形態が示される。パフォーマンスモードと比較モードとの間での切替を伴う少なくとも２つの実行ユニットＧ１０ａ、Ｇ１０ｂを備えるマルチプロセッサシステムＧ６０の主要なコンポーネントは、比較器Ｍ５００である。比較器Ｍ５００が最も単純な形態で図１３に示される。比較コンポーネントＭ５００は、２つの入力信号Ｍ５１０およびＭ５１１を受信することができ、それらの信号が同一であるかを比較し、ここで説明する文脈では、特にビット単位に同一性が比較される。同一である場合には、入力信号Ｍ５１０、Ｍ５１１の値が出力信号Ｍ５２０に伝達され、エラー信号Ｍ５３０が有効化されず、すなわち「良好」の状態を通知する。比較コンポーネントが信号の相違を検出した場合には、エラー信号Ｍ５３０が有効化される。そして、信号Ｍ５２０は、選択的に無効化されうる。このことは、エラーが当該システムから外に出ないという利点を有する（「エラー封込め」）。すなわち、実行ユニットの外部に存在する他のコンポーネントは、潜在的にエラーを含む信号によって被害を及ぼされない。しかし、信号Ｍ５２０が無効にされる必要のないシステムも存在する。これは、例えばシステムレベルではフェールサイレンスのみが求められる場合に該当する。この場合には、例えばエラー信号が外部に送信されうる。
【００８１】
この基本システムを前提として、数多くの実施形態が考えられる。まず、コンポーネントＭ５００がいわゆるＴＳＣ（Totally Self Checking）コンポーネントとして形成されうる。この場合にはエラー信号Ｍ５３０が少なくとも２本の回線（「デュアルレール」）を介して外部に伝達され、内部の設計およびエラー発見措置によって、比較コンポーネントの可能性のある各々のエラー発生事例で、この信号が適切な状態で存在するか、または明らかに不適切な状態で存在することが保証される。この場合にはデュアルレール信号は、２本の回線を介してバイナリ信号を供給し、エラーのない場合には両方の回線が互いに反転されることが望ましい。本発明によるシステムの適用の望ましい変形例は、この種のＴＳＣ比較器を使用することである。
【００８２】
他の種類の実施形態は、両方の入力Ｍ５１０、Ｍ５１１（もしくはＭ６１０、Ｍ６１１）が有していなければならない同期性の程度において、前述の実施形態と区別されうる。可能性のある１つの実施形態は、クロック単位の同期性により特徴付けられており、すなわち、データの比較が１つのクロック内で実行されうる。
【００８３】
各々のインプットの間に一定の位相オフセットがある場合には、該当する信号を例えば非整数分（halbzahlige）または整数分のクロック周期で遅延させる同期遅延素子を使用することによって、若干の変更が得られる。この種の位相オフセットは、共通原因のエラー（Common Cause Fehler）、すなわち複数の処理ユニットに同時に同質の影響が及ぼされうるエラーの原因を回避するために有益である。
【００８４】
図１４は、さらに別の実施形態を示す。コンポーネントおよび信号Ｍ６００、Ｍ６１０、Ｍ６１１、Ｍ６２０、Ｍ６３０は、図１３の対応するコンポーネントおよび信号Ｍ５００、Ｍ５１０、Ｍ５１１、Ｍ５２０、Ｍ５３０と同一の意味を有する。そして、図１４では、これらのコンポーネントに加えて、時間的により早いインプットを位相オフセット分遅延させるコンポーネントＭ６４０が追加される。この遅延素子は、比較モードでのみ使用されるために、比較器に格納されることが望ましい。
【００８５】
代替的または付加的に、純粋なクロックオフセットまたは位相オフセットとして現れないような非同期性も、同様に許容されうるように、中間バッファＭ６５０、Ｍ６５１が入力系統に配置されうる。中間バッファは、望ましくはＦＩＦＯメモリ（先入れ先出し）として配置されることが望ましい。この種のメモリは、入力部および出力部を有しており、複数のメモリワードを記憶できる。入力されたメモリワードは、新たなメモリワードの到着により格納位置をずらされ、最後の位置（バッファの深度）の後に「メモリから外に」出される。この種のバッファが設けられている場合には、バッファの最大の深度まで非同期性が許容されうる。この場合には、バッファがオーバーフローした場合にもエラー信号が出力されなければならない。
【００８６】
さらに、信号Ｍ５２０（またはＭ６２０）が比較器の内部で生成される方法に応じて実施形態が区別されうる。１つの望ましい実施形態は、インプット信号Ｍ５１０、Ｍ５１１（もしくはＭ６１０、Ｍ６１１）を出力に送信し、スイッチによって接続を遮断可能にすることである。本実施形態の特別な利点は、パフォーマンスモードと可能性のある様々な比較モードとの間での切替のために、同一のスイッチが利用されうることにある。代替的に、比較器内部の中間メモリから信号が生成されるようにしてもよい。
【００８７】
最後の種類の実施形態は、比較器に存在するインプットの数および比較器による応答の方法において、前述の実施形態と区別されうる。３つのインプットに際しては、多数決投票、３つの信号全ての比較または２つの信号のみの比較が行われうる。４つまたは４つ以上のインプットに際しては、対応する多くの実施形態が考えられる。可能な実施形態の詳細な説明は、図２０の説明に含まれる。
【００８８】
実施形態の選択は、システム全体の様々な動作モードと組合せて行うことが望ましい。すなわち、複数の異なるパフォーマンスモードまたは比較モードがある場合には、それらが比較器の対応するモードと組合せられることが望ましい。
【００８９】
本発明のいくつかの箇所では、比較器またはより一般的な投票要素／処理要素／ソーティング要素を無効化または受動化することが必要または有利である（以下では便宜上、常に比較器と称する。）。このためには多くの可能性が存在する。第１に、比較器を有効化または無効化する信号が比較器に送信されうる。このために、これを実行しうる追加の論理部が比較器に追加される。第２の可能性は、比較されるべきデータを比較器に供給しないことである。第３の可能性は、比較器のエラー信号をシステムレベルで無視することである。さらに、エラー信号自体が遮断されうる。全ての可能性は、潜在的に比較される２つ以上のデータの相違がシステムに何らの影響も及ぼさないという点で共通する。これに該当する場合には、比較器が受動的または無効とみなされる。
【００９０】
以下では、比較器に接続された切替器の実施形態、すなわち切替・比較ユニットＧ７０の実装が考察される。本実装は、切替・比較ユニットＧ７０が実行ユニットＧ１０ａ、Ｇ１０ｂとともに１つのチップの内部に作製される場合に特に望ましい。
【００９１】
比較器および切替器の各コンポーネントの統合によって、チップ内部への実装に際して、非常に小さなハードウェアオーバーヘッドのみが生じる。よって、１つの有利な実装の変形例は、両方の部品を１つのコンポーネントに統合することである。これは、少なくとも入力信号（実行ユニット１アウトプット、実行ユニット２アウトプット）、少なくとも出力信号（アウトプット１、アウトプット２）、論理的なアウトプット信号「アウトプット全体」（物理的にアウトプット１またはアウトプット２と一致しうる。）および比較器を備えるコンポーネントである。このコンポーネントは、モード切替の能力を有しており、パフォーマンスモードでは全ての信号を通過させ、比較モードでは複数の信号を比較し、場合によっていずれかの信号を通過させる。さらに、他の入力信号および出力信号もまた望ましい。すなわち、検出されたエラーを通知するためのエラー信号、コンポーネントの現在のモードを通知するためのモード信号、およびコンポーネントから／に出力／入力される制御信号である。
【００９２】
１つの有利な実施例では、パフォーマンスモードに際して、２つ以上の実行ユニットがマスタとしてプロセッサ内部のバスに接続される。比較ユニットが無効化されており、考えられる比較モードのいずれかで各々の実行ユニットの挙動が異なる場合に生成されるエラー信号はマスキングされる。このことは、切替・比較ユニットがソフトウェアにとって透過的であることを意味する。着目される比較モードでは、比較されるべき物理的な実行ユニットが論理的な実行ユニットとしてバスで処理され、すなわち、マスタのみがバスに現れる。比較器のエラー信号は有効化されている。このために、切替・比較ユニットは、１つを除く全ての実行ユニットをスイッチを介してプロセッサ内部のバスから分離し、その１つの論理的な実行ユニットの入力を複製し、その入力を比較モードに関与する全ての実行ユニットに提供する。バスへの書込みに際しては、これらの出力が比較ユニットで比較され、これらの出力が一致すれば、既存のアクセス部を介してバスに書込まれる。
【００９３】
図１５および図１６には、望ましいコンポーネントＭ７００（切替・比較ユニット、Ｇ７０に相当）の原則的な挙動が説明される。便宜上、図１５および図１６は、２つの実行ユニットについてのみ示されている。この場合、図１５が比較モード、図１６がパフォーマンスモードでのコンポーネントの状態を各々に示す。これらのモードでの異なるスイッチ位置は、Ｍ７００の制御部Ｍ７６０によって実現される。両方の実行ユニットＭ７３０、Ｍ７３１は、当初、図１６に示すように、パフォーマンスモードでスイッチＭ７５０およびＭ７５１が閉じられている場合に、データ・アドレスバスＭ７１０に書込みすることができる。場合により生じる書込みコンフリクトは、バスプロトコルを介して、または不図示の他のコンポーネントによって解消されることが前提とされる。比較モードでは、少なくとも論理的な観点からすれば、他の挙動となる。図１５に示すようにスイッチＭ７５０、Ｍ７５１が開かれており、よって直接的なアクセス可能性が遮断されている。そして、図１６と対照的に図１５では、スイッチＭ７５２、Ｍ７５３が閉じられている。実行ユニットＭ７３０、Ｍ７３１の信号Ｍ７４０、Ｍ７４１は、比較コンポーネントＭ７２０に伝達される。比較コンポーネントは、少なくとも図１３に示すように構成されているが、図１４で説明されるような拡張部をも含みうる。ただし、比較コンポーネントＭ７２０のエラー信号または他の信号の表示は、図１５および図１６では省略されている。両方の信号が一致する場合にはスイッチＭ７５４が閉じられ、一致する両方の信号の一方がアドレス／データバスＭ７１０に伝達される。すなわち、このためには、切替・比較ユニットＭ７００がスイッチＭ７５０〜Ｍ７５４に介入できることが必要となる。そのつどのスイッチ位置は、モードおよびエラー認識に依存する。スイッチＭ７５４が常に閉じられており、適切なシステム応答がエラー信号によって生起されるという変形例も、前述の場合に含まれる。
【００９４】
図１７には、切替・比較ユニットの変形例が示される。２つの実行ユニットＧ１０ａ、Ｇ１０ｂのみを備える単純なシステムの場合と同様に、切替・比較ユニットの実装には多くの変形例がある。比較器でバッファが使用されない場合に特に望ましい他の変形例が図１７に示される。図１５および図１６と同様に、実行ユニットの信号Ｍ８４０、Ｍ８４１が存在するが、実行ユニットは図１７に示されていない。本発明によるコンポーネントＭ８００には、コンポーネントのモードを設定するモード論理部Ｍ８１０が存在する。モード論理部は、パフォーマンスモードでスイッチＭ８３１を閉じ、比較モードでスイッチＭ８３１を開く。さらに、モード論理部は、比較器Ｍ８２０にモード信号を送信する。本実装では、比較器が常に比較するが、スイッチＭ８３０を制御するために、比較の結果およびモード信号を利用する。スイッチＭ８３０は、パフォーマンスモードでは常に閉じられ、比較モードではエラーが発生していない場合には常に閉じられている。もちろん、一度エラーが確認された場合には、相応のリセットが行われるまでは、スイッチが引続き開かれた状態で維持されうる。
【００９５】
図１８には、切替・比較ユニットのさらに他の実施形態が示される。この代替案は、多くのスイッチをさらに備えるが、その代わりに、パフォーマンスモードで比較器を無効にするので、より簡単に非同期性を取扱いうる。さらに、実行ユニットの両方の信号Ｍ９４０、Ｍ９４１が存在するが、実行ユニットは図１８にも示されていない。本発明によるコンポーネントＭ９００には、コンポーネントのモードを設定するモード論理部Ｍ９１０が存在する。パフォーマンスモードでは、モード論理部がスイッチＭ９３１を閉じ、スイッチＭ９３２、Ｍ９３３を開く。これにより、このモードでは比較コンポーネントＭ９２０にデータが供給されない。このことは、非同期に際して、より長いバッファ時間を許容し、もしくは、１つの実装では、より小さなバッファ深度を許容する。パフォーマンスモードでは、スイッチＭ９３０が常に閉じられている。比較モードでは、コンポーネントＭ９１０は、スイッチＭ９３２、Ｍ９３３を閉じ、スイッチＭ９３１の開放によってバスへの直接的なアクセスを遮断する。選択的に、モード論理部Ｍ９１０は比較器Ｍ９２０にモードを通知しうる。比較モードでは、エラーが発生していない場合にはスイッチＭ９３０が閉じられている。エラー発生時には、比較コンポーネントＭ９２０は、スイッチＭ９３０の開放によってバスへの信号Ｍ９４０の伝達を遮断する。
【００９６】
前述の図面では、モード信号またはエラー信号を外部に出力することが容易に可能となる。さらに、特に内部のモード状態を生成するために、コンポーネントにさらなる信号を出力することが問題なく可能となる。
【００９７】
要約すれば、このコンポーネントの有利な実装は、出力信号をバス（例えばアドレス／データバス）に書込可能な複数の処理ユニットが存在することによって特徴付けられる。コンポーネントが実行ユニットの出力信号の少なくとも２つを処理可能であり（例えば、比較または場合により投票もしくはソーティングする。）、コンポーネントが少なくとも１つのスイッチに介入可能であり、そのスイッチによって少なくとも１つの直接的なバスアクセスが遮断可能であることが重要となる。このことは、実行ユニットが計算ユニットのコアである場合に特に有益となる。さらに、介入可能なスイッチの状態が計算ユニットの動作モードを特徴づけることが望ましい。
【００９８】
コンポーネントがアドレス・データバスに信号を出力できる場合には、システム特性、特に可能性のある比較モードが特に良好に実現される。これは、１つの実行ユニットの１つの出力信号の伝達（スルー接続）であることが望ましい。代替的に、これは、異なる実行ユニットの異なる出力信号の処理から生じるようにしてもよい。
【００９９】
例えば図１７、図１８に関する説明ですでに明らかにされたように、システムでは、および（コンポーネントへの分配に応じて）各々のコンポーネントでは、モード情報が識別されうる。モード情報は、実装に応じて、部分コンポーネント内に明らかに存在しうる。１つの望ましい実装では、この信号がコンポーネントから導出され、システムの他の部分に供給されうる。
【０１００】
一般的な事例では、本発明に基づく挙動が図２１により説明されうる。信号およびコンポーネントＮ１００、Ｎ１１０、Ｎ１２０、Ｎ１３０、Ｎ１４０、Ｎ１４１、Ｎ１４２、Ｎ１４３、Ｎ１４ｎ、Ｎ１６０、Ｎ１６１、Ｎ１６２、Ｎ１６３、Ｎ１６ｎは、図２０と同一の意味を有する。図２１には、さらに、モード信号Ｎ１５０およびエラー信号Ｎ１７０が示される。選択的なエラー信号は、エラー信号を収集するエラー回路論理部Ｎ１３０により生成され、個々のエラー信号が直接的に伝達されるか、またはそれに含まれるエラー情報が束ねられる。モード信号Ｎ１５０は選択的なものであるが、コンポーネント外部でのモード信号の利用が多くの場合に有利となりうる。切替論理部Ｎ１１０の情報（すなわち図２０で説明された関数）と処理論理部の情報（すなわち、出力信号毎、すなわち関数値毎の比較演算の決定）との組合せがモード情報であり、モード情報がモードを決定する。この情報は、一般的には当然ながら多値であり、すなわち１つの論理ビットのみで表現できない。所与の実装では、理論上考えられる全てのモードが有意義であることにはならず、許容されるモードの数が制限されることが望ましい。そして、モード信号は、関連するモード情報を外部に伝達する。ハードウェアの実装は、外部で明白なモード信号が設定可能となるように構成されることが望ましい。処理論理部および切替論理部を設定可能に形成することも、同様に望ましい。これらの設定が相互に調整されていることが望ましい。代替的に、モード信号の変化のみを外部に伝達するようにしてもよく、または、モード信号の変化を付加的に外部に伝達するようにしてもよい。このことは、特にデュアルシステムの設定で利点を有する。
【０１０１】
モード信号の安全性が確保されることが望ましい。図１７に示す実装に基づいて、デュアルシステムでの１つの実装が図１９に示される。ここでは、信号Ｍ８５０が切替・比較ユニットから導出される。デュアルシステムでは、この情報が論理的に１つのビットを介して表現されうる。そして、特にデュアルレール信号を介して安全性が確保されうる。一般的な事例では、選択的に反転された二重化を介して、同様に安全性が確保されるようにしてもよい。代替的に、特に内部で自己安全性をもって形成されるパリティ、ＣＲＣ（巡回冗長検査）またはＥＣＣ（誤り訂正符合）を用いるようにしてもよい。
【０１０２】
モード信号は、コンポーネントの外部で利用されうる。第１に、モード信号は、オペレーティングシステムの自己監視のために利用されうる。オペレーティングシステムは、ソフトウェアの観点から切替に責任を負っているので、システムのモードまたは、そのモードにシステムが移行することを常に認識しておくべきである。よって、この信号のチェックが安全性の確保のために利用されうる。このことは、第１に直接的に行われうる。代替的な可能性は、タイマーまたは他の「独立した」ユニットを介して、オペレーティングシステムへの照会の妥当性をこの信号により判断するようにしてもよい。
【０１０３】
一般に、この信号は、選択的にマイクロコントローラ（またはより一般的な計算ユニット）の他のデータ深度（Datensenken）で利用されるようにしてもよい。例えばＭＰＵ（メモリ保護ユニット）が特定の（特定の実行ユニットからの）メモリアクセスを特定のモードでのみ許容するようにプログラミングされうる。この場合にＭＰＵは、例えば、特定のプログラム部分について特定のアドレス空間へのアクセスを禁止することによって、データ／アドレスバスへの許容されたアクセスのみが実行されることを保証しうるユニットである。モード信号をＭＰＵに出力し、ＭＰＵを適切に設定およびプログラミングし、設定データおよびモード信号を評価することで、追加的な安全性の確保が行われうる。モード信号がすでに検査のための十分な情報となっている場合には、このことが状況によってプログラミングを簡略化する。そして、マイクロコントローラのリセット時には、準静的なプログラミングのみで十分となる。このことは周辺装置ユニットについても該当する。この場合にも、該当する周辺素子へのアクセスが特定のモードでのみ許容される適用が存在する。モード信号を周辺素子に出力し、周辺素子を適切に設定およびプログラミングし、設定データおよびモード信号を評価することで、追加的な安全性の確保が行われうる。モード信号がすでに検査のための十分な情報となっている場合には、このことが状況によってプログラミングを簡略化する。そして、マイクロコントローラのリセット時には準静的なプログラミングのみで十分となる。同様に、この信号の評価が割込みコントローラでも利用されうる。そして、この種の監視は、安全性コンセプトの基礎または主要な構成部分となりうる。適切な実施およびソフトウェア構造化によって、着目される適用における全てのエラー種類についての安全性コンセプトが、このモード信号を基礎として構成されうる。このことは、モード信号が前述したように適切な形態で自己安全性を備えている場合に特に望ましい。そして、この場合には着目するコンポーネントが、モード信号と自分自身へのアクセスとの間に不一致を検出した場合に、エラー信号を送信する可能性または遮断経路を作動させる可能性を有していることが望ましい。
【０１０４】
さらなる重要な利用目的は、計算ユニットの外部でモード信号を評価することである。１つの直接的な適用は、減分式のウォッチドッグでの評価にある。この種の「ウォッチドッグ」は、マイクロプロセッサによって整数値に設定されうる少なくとも１つの（カウンタ）レジスタで構成される。レジスタの設定後、「ウォッチドッグ」がレジスタの値を所定の周期で自立的に減分する。レジスタの値がゼロになる、またはオーバーフローが発生すると、「ウォッチドッグ」がエラー信号を生成する。エラー信号が生成されないようにするには、マイクロプロセッサがレジスタの値を適時に再びリセットしなければならない。これにより、マイクロプロセッサがソフトウェアを適切に実行しているかが（一定の範囲で）検査されうる。マイクロプロセッサがソフトウェアを適切に実行しなくなると、その場合には「ウォッチドッグ」も適切に作動されないので、「ウォッチドッグ」によりエラー信号が生成されたとみなされる。ハードウェアとデータ構造の統合性が比較モードで高い信頼性で検査されうるが、そのためには、マイクロプロセッサが規則的に比較モードに復帰することが保証されていなければならない。よって、ここで説明する「ウォッチドッグ」の役割は、定義された期間内にウォッチドッグがリセットされなかった場合にエラー信号を生成することのみならず、定義された期間内にマイクロプロセッサが定義された比較モードに復帰しなかった場合にもエラー信号を生成することにある。例えば、モード信号が計算ユニットの定義された比較モードを表す場合にのみ、「ウォッチドッグ」がリセットされうる。これにより、計算ユニットが規則的にこのモードに復帰することが保証される。代替的または付加的に、マイクロプロセッサで特定の割込みが作動された場合に初めて、「ウォッチドッグ」のレジスタの値が減分される。このためには、マイクロコントローラの外部割込み信号がウォッチドッグにも結合されていなければならない。ウォッチドッグには、定義された比較モードにマイクロコントローラを切替えた割込みが記憶される。この種の割込みが作動すれば、ウォッチドッグは、速やかに「設定され（aufgezogen）」、適切なモード信号の存在によってリセットされる。
【０１０５】
ごく一般的に、特に安全性コンセプトへの適用では、マイクロコントローラ外部のソースでモード信号を評価することが有益となる。本発明で説明されるような、コンピュータ上でのソフトウェアの適切な進行の確保に関しては、許容される様々なモード間での適切な切替が重要となる。まず、切替能力自体が検査され、さらに、適切な切替が検査されることが望ましい。前述したように、特別なモードが規則的に想定されるかという点が注目されるようにしてもよい。特にモード信号自体が自己安全性を備える場合には、この種の方法が常に望ましい。
【０１０６】
１つの可能性は、モード信号をＡＳＩＣまたは他のマイクロコントローラに伝達することである。この種のＡＳＩＣまたは他のマイクロコントローラは、タイマーおよび単純な論理部を介して、この信号を用いて少なくとも次のような点を検査できる。
・計算ユニットが十分な頻度で（例えば遅くとも１０００μｓ毎）１つ以上の定義されたモードに切替わるか？
・いずれかのモードへの切替に際して、特定の信号が常に出力されるか？
・計算ユニットが規則的にあるモードから他のモードになるか？
・各モードの順序の特定の単純パターンが有効であるか？
・一般的な時間的パターンが有効であるか？（例えば、モード１で平均＜７０％、モード２で＜５０％）。
・場合により付加的な信号の利用によって補足される、モード信号の論理的、時間的な特性の何らかの組合せ。
【０１０７】
図２２には、前述の範囲を超える提案の基本設定が説明される。この種のパートナーＡＳＩＣまたはパートナーマイクロコントローラと、本発明により着目する計算ユニットとの間では、特別な照会−応答サイクルが実行される。Ｎ３００は、この種のモード信号を出力可能な計算ユニットである。これは、例えば、複数の実行ユニットと、この種のモード信号を生成可能な他のコンポーネントとを備えるマイクロコントローラでありうる。ここで、他のコンポーネントは、例えば図１９または図２１に示すように実現されうる。Ｎ３００は、この信号Ｎ３１０をパートナー（例えば、他の計算ユニット、他のマイクロコントローラまたはＡＳＩＣ）Ｎ３３０に送信する。パートナーは、信号Ｎ３２０を介してＮ３００に照会を行うことができ、Ｎ３００は、Ｎ３２１を介して応答する。この種の照会は、計算タスクでありえて、その適切な結果がＮ３２１を介して定義された時間インターバル内にＮ３００から供給される。Ｎ３３０は、Ｎ３００に依存せずに、この結果の適切さを検査しうる。例えば、この結果がＮ３３０に記憶されるか、または、この結果をＮ３３０自体が算出しうる。不適切な値の検出に際しては、エラーが認識される。提案される照会−応答通信の特徴は、応答と並列してモード信号が観察される点にある。Ｎ３００による応答のために、この特定のモードが成立されなければならないように、照会を行うことが望ましい。これにより、全てのモード切替が機能性を有すること、およびプログラム進行の中で意図されているモード切替が実行されることが高い信頼性で検査されうる。このことは、特にシステムのリセットまたは動作中に際しても、安全性コンセプトの主要な要素として利用されうる。
【０１０８】
この理念のさらなる適用は、アクチュエータ駆動部でのモード信号の評価にある。昨今、自動車分野の多くの適用では、いわゆるインテリジェントアクチュエータが用いられる傾向にある。これは、アクチュエータ調節コマンドを受信し、調節コマンドが実行されるようにアクチュエータを駆動するための最低限の電子装置を備えるアクチュエータである。
【０１０９】
この基本的理念が図２３に示される。本発明に基づく計算ユニットＮ４００は、接続部Ｎ４２０を介して（インテリジェント）アクチュエータまたはアクチュエータ駆動部Ｎ４３０に調節コマンドを送信する。並列して計算ユニットは、接続部Ｎ４１０を介してアクチュエータにモード信号を送信する。アクチュエータ駆動部Ｎ４３０は、モード信号を参照して、駆動が許容されているかを検査し、選択的に信号Ｎ４４０を介してエラーステータスを返送する。エラーを伴う駆動では、クリティカルとならないフェールサイレンス状態がシステム内で成立する。
【図面の簡単な説明】
【０１１０】
【図１】２つの実行ユニットＧ１０ａ、Ｇ１０ｂ、比較ユニットＧ２０、切替ユニットＧ５０、および切替意図認識ユニットＧ４０を備えるマルチプロセッサシステムＧ６０を示す図である。
【図２】２つの実行ユニットＧ１０ａ、Ｇ１０ｂ、比較ユニットＧ２０および切替ユニットＧ５０からなる組合された比較・切替ユニットＧ７０、および切替意図認識ユニットＧ４０を備えるマルチプロセッサシステムＧ６０を示す図である。
【図３】２つの実行ユニットＧ１０ａ、Ｇ１０ｂ、比較ユニットＧ２０および切替ユニットＧ５０および切替意図認識ユニットＧ４０からなる組合された切替意図・比較・切替ユニットＧ８０を備えるマルチプロセッサシステムＧ６０を示す図である。
【図４】２つの実行ユニットＧ２１０ａ、Ｇ２１０ｂおよび切替・比較ユニットＧ２６０を備えるマルチプロセッサシステムＧ２００を示す図である。
【図５】特別なパイプラインステップＧ２３０ａ、Ｇ２３０ｂの内部で、特別な未定義のビットコンビネーションをＮＯＰまたは他の中立的なビットコンビネーションに置換する方法を示すフローチャートである。
【図６】２つの実行ユニットＨ２１０ａ、Ｈ２１０ｂおよび切替・比較ユニットＨ２６０を備えるマルチプロセッサシステムＨ２００を示す図である。
【図７】２つの実行ユニットを備えるマルチプロセッサシステムで比較モードからパフォーマンスモードへの切替に際して、ユニットＩＤを用いてプログラムフローを分離可能な方法を示すフローチャートである。
【図８】３つの実行ユニットを備えるマルチプロセッサシステムで比較モードからパフォーマンスモードへの切替に際して、ユニットＩＤを用いてプログラムフローを分離可能な可能性のある方法を示す図である。
【図９】パフォーマンスモードから比較モードへの切替に際して実行ユニットを同期化する方法を示すフローチャートである。
【図１０】パフォーマンスと比較モードとの間の切替を表す状態オートマトンを示す図である。
【図１１】２つの実行ユニット、割込みマスキングレジスタＧ４３０ａ、Ｇ４３０ｂを内部に含む２つの割込みコントローラＧ４２０ａ、Ｇ４２０ｂ、および様々な割込みソースＧ４４０ａ〜Ｇ４４０ｎを備えるマルチプロセッサシステムＧ４００を示す図である。
【図１２】２つの実行ユニット、切替・比較ユニット、および３つの異なるレジスタセットを含む割込みコントローラを備えるマルチプロセッサシステムを示す図である。
【図１３】比較器の最も単純な形態を示す図である。
【図１４】位相オフセットを補正するためのユニットを備える比較器を示す図である。
【図１５】望ましいコンポーネント（切替・比較ユニット）の比較モード時の原則的な挙動を説明する図である。
【図１６】望ましいコンポーネント（切替・比較ユニット）のパフォーマンスモード時の原則的な挙動を説明する図である。
【図１７】切替・比較ユニットの１つの実施形態を示す図である。
【図１８】切替・比較ユニットの他の実施形態を示す図である。
【図１９】モード信号を生成する切替・比較ユニットを示す図である。
【図２０】切替・比較ユニットの一般的な構成を示す図である。
【図２１】モード信号およびエラー信号を生成する切替・比較ユニットの一般的な構成を示す図である。
【図２２】外部ユニットとの間での照会−応答通信を示す図である。
【図２３】インテリジェントアクチュエータとの間での通信を示す図である。
【図１】
2008518301.tif 000004
【図２】
2008518301.tif 000005
【図３】
2008518301.tif 000006
【図４】
2008518301.tif 000007
【図５】
2008518301.tif 000008
【図６】
2008518301.tif 000009
【図７】
2008518301.tif 000010
【図８】
2008518301.tif 000011
【図９】
2008518301.tif 000012
【図１０】
2008518301.tif 000013
【図１１】
2008518301.tif 000014
【図１２】
2008518301.tif 000015
【図１３】
2008518301.tif 000016
【図１４】
2008518301.tif 000017
【図１５】
2008518301.tif 000018
【図１６】
2008518301.tif 000019
【図１７】
2008518301.tif 000020
【図１８】
2008518301.tif 000021
【図１９】
2008518301.tif 000022
【図２０】
2008518301.tif 000023
【図２１】
2008518301.tif 000024
【図２２】
2008518301.tif 000025
【図２３】
2008518301.tif 000026
【国際調査報告】
2008518301.tif 000027
2008518301.tif 000028
2008518301.tif 000029
2008518301.tif 000030
2008518301.tif 000031
2008518301.tif 000032