(57)【要約】      （修正有）【課題】宇宙線などによるシングルイベントの障害に対するプロセッサのフォールト・トレランスを改善する。【解決手段】マザーボードはメモリユニットおよびデータ入出力インタフェース、プロセッサとメモリユニットおよび入出力インタフェースとの間でインタフェースを形成するプログラム可能な電子部品を備え、プロセッサは少なくとも１つのアプリケーション２０１を実行することが可能であり、プロセッサとアプリケーション２０１間での情報のやりとりを一元化すると共に、フォールト・トレランス管理機構を実施するハイパーバイザ２０２と呼ばれるソフトウェア層を備えており、ハイパバイザ２０２によりアプリケーション２０１のサービスコール時にアプリケーション２０１のコンテキストを保存しておき、プログラム可能な電子部品により周期的に送信されるリセット信号により保存したコンテキストからアプリケーションの実行を再開する。【選択図】図２
2012190460.tif 000002
【特許請求の範囲】
【請求項１】
マザーボードに取り付けられたプロセッサ（１００）のフォールト・トレランスを改善するための装置であって、前記マザーボードは、メモリユニット（１０２、１０３、１０４）およびデータ入出力インタフェース（１０５）を備え、前記プロセッサ（１００）は、少なくとも１つのアプリケーション（２０１）を実行することが可能であり、前記装置は、
前記プロセッサ（１００）と前記アプリケーション（２０１）間での情報のやりとりを一元化すると共に、フォールト・トレランス管理機構を実施するハイパーバイザ（２０２）と呼ばれるソフトウェア層と、
一方で前記プロセッサ（１００）と、他方で前記メモリユニット（１０２、１０３、１０４）および前記入出力インタフェース（１０５）との間でインタフェースを形成するプログラム可能な電子部品（１０１）と、を備え、
前記装置は、前記ハイパーバイザ（２０２）により実施された前記フォールト・トレランス機構のうちの１つが、前記プロセッサ（１００）を既知の状態に復帰させる機能であり、前記機能は設定可能な周期に基づいて周期的に呼び出され、既知の状態への前記プロセッサ（１００）の復帰は、前記プログラム可能な電子部品（１０１）により送信されるリセット信号（１０７）によってトリガされる
ことを特徴とする、装置。
【請求項２】
フォールト・トレランスを改善するための装置であって、前記プロセッサ（１００）の処理コンテキストを保存する手段と、前記保存した処理コンテキストを復元する手段とをさらに備え、前記２つの手段を一体に用いて、前記プロセッサ（１００）を既知の状態に復帰させる機能を実行する前にコンテキストを保存すると共に、前記復帰機能を実行した後に前記コンテキストを復元し、前記リセット信号（１０７）が送信される前に、所定の時間周期で送信される事前初期化信号（１０６）を前記プロセッサ（１００）が受信したとき、前記プロセッサ（１００）の前記処理コンテキストを保存する手段がトリガされることを特徴とする請求項１に記載の装置。
【請求項３】
前記ハイパーバイザ（２０２）が前記アプリケーション（２０１）の複数のインスタンスの同時実行を管理できることを特徴とする請求項１または２に記載のフォールト・トレランスを改善するための装置。
【請求項４】
フォールト・トレランスを改善するための装置であって、
前記実行対象アプリケーション（２０１）の前記インスタンスの各々と、前記プロセッサ（１００）の各々との間での情報のやりとりを記録する手段であって、機能呼び出しシーケンスを記録する前記手段が前記ハイパーバイザ（２０２）により実施される手段と、
前記様々なインスタンスに対応する前記記録済み情報のやりとりを比較する手段と、
をさらに備えることを特徴とする請求項３に記載の装置。
【請求項５】
前記プロセッサ（１００）が単一の処理コアを備えることを特徴とする請求項１〜４のいずれか一項に記載のフォールト・トレランスを改善するための装置。
【請求項６】
前記プロセッサ（１００）が複数の処理コアを備えることを特徴とする請求項１〜５のいずれか一項に記載のフォールト・トレランスを改善するための装置。
【請求項７】
個々のインスタンスが異なる処理コア上で実行されることを特徴とする、組み合わされる請求項３または６に記載のフォールト・トレランスを改善するための装置。
【請求項８】
前記ハイパーバイザ（２０２）は、前記事前初期化信号（１０６）の受信に応答して、タイムアウト要求信号（１０８）をプログラム可能な電子部品（１０１）へ送信するタイムアウト機能であって、前記リセット信号（１０７）が送信される前に、前記所定の時間周期に加えて時間遅延を取得する効果を有するタイムアウト機能をさらに含むことを特徴とする請求項２〜７のいずれか一項に記載のフォールト・トレランスを改善するための装置。
【請求項９】
フォールト・トレランスを改善するための装置であって、ウォッチドッグ機構を備え、前記ハイパーバイザ（２０２）は、前記ウォッチドッグが正しく動作している旨を前記ウォッチドッグに通知する信号（１０９）を定期的な間隔で前記ウォッチドッグへ送信し、前記所定の時間周期の終了時にこのような信号が存在しなかった場合、前記ウォッチドッグは前記ハイパーバイザ（２０２）のソフトウェア部分を実行する前記プロセッサ（１００）をリセットすることを特徴とする、請求項１〜８のいずれか一項に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、宇宙でのプロセッサの使用に関し、具体的には、宇宙のような条件下で使用されるプロセッサのフォールト・トレランス（耐障害性）の制御を改善するための装置の使用に関する。
【背景技術】
【０００２】
宇宙でのプロセッサの使用は、障害に対するプロセッサの耐性、特に、ＳＥＵ（シングルイベントアップセット）およびＳＥＦＩ（シングルイベント機能中断）として文献に記載されているエラーに対するトレランス（耐性）の制御を必要とする。
【０００３】
ＳＥＵイベントとは、例えば重イオン粒子に起因して生じる、プロセッサ内部におけるビット（基本情報項目）の状態変化に対応するイベントである。
【０００４】
ＳＥＦＩイベントとはプロセッサのロック状態に対応するイベントである。このイベントは、プロセッサの振舞いの変化をもたらしたＳＥＵイベントから直接生じた結果である場合もある。
【０００５】
宇宙環境での使用に適したプロセッサがすでに知られている。しかし、これらのプロセッサは市販のプロセッサよりも処理能力が低く、しかも高価である。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明は、宇宙用として想定されていないプロセッサのフォールト・トレランスを改善するための装置であって、ＳＥＵまたはＳＥＦＩイベントに対する良好な耐性を保証しながら、宇宙船におけるプロセッサの統合関連コストを低減できるようにする装置を提案することによって上述した問題点を解決することを目的とするものである。
【０００７】
上記目的のために、本発明の目的は、マザーボードに取り付けられたプロセッサのフォールト・トレランスを改善するための装置を提供することである。前記マザーボードはメモリユニットおよびデータ入出力インタフェースを備え、前記プロセッサは少なくとも１つのアプリケーションの実行が可能であり、前記装置は、
−前記プロセッサと前記アプリケーション間での情報のやりとりを一元化すると共に、フォールト・トレランス管理機構を実施するハイパーバイザと呼ばれるソフトウェア層と、
−一方で前記プロセッサと、他方でメモリユニットおよび入出力インタフェースとの間でインタフェースを形成するプログラム可能な電子部品と、
を含むことを特徴とする。
【課題を解決するための手段】
【０００８】
好適には、ハイパーバイザにより実施されたフォールト・トレランス機構のうちの１つがプロセッサを既知の状態に復帰させる機能となる。前記機能は設定可能な周期に基づいて周期的に呼び出され、既知の状態へのプロセッサの復帰は、プログラム可能な電子部品が送信するリセット信号によりトリガされる。
【０００９】
好適には、フォールト・トレランスを改善するための装置は、プロセッサの処理コンテキストを保存する手段と、保存した処理コンテキストを復元する手段とをさらに備え、前記２つの手段を一体に用いて、プロセッサを既知の状態に復帰させる機能を実行する前にコンテキストを保存すると共に、前記復帰機能を実行した後に前記コンテキストを復元し、リセット信号が送信されるまでに所定の時間周期で送信される事前初期化信号をプロセッサが受信したとき、プロセッサの処理コンテキストを保存する手段がトリガされる。
【００１０】
好適には、ハイパーバイザは前記アプリケーションの複数のインスタンスの同時実行を管理することが可能となる。
【００１１】
好適には、フォールト・トレランスを改善するための装置は、
−前記実行対象アプリケーションのインスタンスの各々と、前記プロセッサの各々との間での情報のやりとりを記録する手段であって、機能呼び出しシーケンスを記録するこの手段がハイパーバイザにより実施される手段と、
−様々なインスタンスに対応する前記記録済み情報のやりとりを比較する手段と、をさらに備える。
【００１２】
本発明の１つの変形例によれば前記プロセッサは単一の処理コアを含む。
【００１３】
本発明の別の変形例によれば前記プロセッサは複数の処理コアを含む。
【００１４】
好適には、各インスタンスは異なる処理コア上で実行される。
【００１５】
好適には、ハイパーバイザは、事前初期化信号の受信に応答してタイムアウト要求信号をプログラム可能な電子部品へ送信するタイムアウト機能であって、リセット信号が送信されるまでに、所定の時間周期に加えて時間遅延を取得する効果を有するタイムアウト機能をさらに含む。
【００１６】
好適には、フォールト・トレランスを改善するための装置はウォッチドッグ機構を備え、ハイパーバイザは、所定の時間周期の終了時に上記のようなリセット信号が存在しなかった場合、ウォッチドッグが正しく動作している旨を前記ウォッチドッグに通知する信号を定期的な間隔で前記ウォッチドッグへ送信し、前記ウォッチドッグは、ハイパーバイザのソフトウェア部分を実行するプロセッサのリセットを行う。
【発明の効果】
【００１７】
本発明は、宇宙用途用として、ＰｏｗｅｒＰＣまたはＤＳＰ（デジタル信号プロセッサ）のような市販プロセッサの使用を可能にするものである。これらのプロセッサは上記のような用途のために想定されたものではないにもかかわらず、本発明はＳＥＵまたはＳＥＦＩイベントの管理を可能にする。
【００１８】
ハイパーバイザによってこれらのイベントの完全な管理が行われる。このようなイベントの完全な管理は、プロセッサ上での実行を意図するアプリケーションの開発を単純化するという効果を与えることになるため、これらのアプリケーションはフォールト・トレランス機構を実施する必要がなくなる。
【００１９】
さらに、ハイパーバイザには、これを一度開発するだけで異なるプロジェクト上でも再使用が可能となる十分な汎用性がある。
【００２０】
本発明を限定するものではない例として、かつ、図面の助けによりこの詳細な説明を読むとき、本発明のより良い理解が得られ、その他の利点も明らかになる。
【図面の簡単な説明】
【００２１】
【図１】ハードウェアレベルでの本発明に係る装置の実施例を表す。
【図２】ソフトウェアレベルでの本発明に係る装置の実施例を表す。
【図３】本発明に係る装置を実装するプロセッサ上でのアプリケーションの実行例を表す。
【発明を実施するための形態】
【００２２】
本発明に係る装置の実施形態例を図１に示す。
【００２３】
プロセッサ１００がマザーボードに取り付けられ、このマザーボード上に、
−ＳＤＲＡＭ（同期ダイナミックランダムアクセスメモリ）１０２と、
−ＥＥＰＲＯＭ（電気的に消去可能なプログラマブルリードオンリメモリ）１０３と、
−ＰＲＯＭ（プログラマブルリードオンリメモリ）１０４と、
−外部との通信を行うデータ入出力インタフェース１０５と、
−一方でプロセッサ１００と、他方でメモリユニットおよび入出力インタフェースとの間でインタフェースを形成するプログラム可能な電子部品１０１とが取り付けられている。本例では、電子部品１０１は耐放射線技術を利用して開発されたＦＰＧＡまたはＡＳＩＣ電子部品である。
【００２４】
プロセッサ１００は「従来方式の」プロセッサとして、すなわち宇宙用途専用ではないプロセッサとして説明することができる。
【００２５】
ＳＤＲＡＭメモリ１０２は、ＥＤＡＣ（誤り検出および訂正）機構によって、あるいは、冗長性（一般に投票方式に関連する三重化）によって保護されている。
【００２６】
プログラム可能な電子部品１０１は、アドレス指定可能なメモリ空間（ＳＲＡＭ、ＳＤＲＡＭ、ＰＲＯＭ、ＥＥＰＲＯＭなど）をセグメント化するメモリ管理ユニット（ＭＭＵ）を備える。このセグメント化によって、メモリはアドレスにより特定されるセグメントに分割され、種々のプログラムの相互間の隔離が可能となる。
【００２７】
プロセッサ１００は、
−パリティビットに基づく保護機構を含む第１レベルのキャッシュメモリ（Ｌ１）と、
−パリティビットか誤り訂正コード（ＥＣＣ）のいずれかに基づく保護機構も含む第２レベルのメモリと、を備える。
【００２８】
プロセッサ１００は、ハードウェアの仮想化機能（プロセッサレベルでの実行の追加スーパバイザモード、仮想メモリの管理、入出力周辺機器の仮想化など）を備えることができる。上記のようなケースではない場合、メモリ管理機能（ブロック保護ユニット、メモリ管理ユニット）をプログラム可能な電子部品１０１内に実装することができる。次いで、このメモリ管理機能によって、プロセッサ１００によりアドレス指定されるメモリのセグメント化および保護を行う可能性が提供される。
【００２９】
プロセッサ１００およびプログラム可能な電子部品１０１は、特に、以下で説明する種々の信号１０６、１０７、１０８、１０９、１１０の送信を可能にするデータバス１１１を介して通信を行う。
【００３０】
図２は、ソフトウェアレベルでの本発明に係る装置の実施例を表す図である。この装置は、ハードウェア資源２０３（プロセッサボード上に設けられたプロセッサ１００、プログラム可能な電子部品１０１、メモリ、入出力周辺機器）とアプリケーション２０１間での情報のやりとりを一元化すると共に、フォールト・トレランス管理機構を実施するソフトウェア層（ハイパーバイザ２０２またはソフトウェア・スーパバイザと呼ばれる）を備える。
【００３１】
プロセッサ１００と、「残りの世界」すなわちその他の電子部品２０３および実行対象アプリケーション２０１間でのすべての情報のやりとりはハイパーバイザに渡される。特に、外部（入出力部を通過するデータ）とのデータのやりとり（データの取得と生産）を管理するのはこのハイパーバイザである。
【００３２】
実行対象アプリケーションの観点から見ると、ハイパーバイザによって、ハードウェア資源（プロセッサのレジスタ、メモリ、入出力部）の仮想化が行われる。ハイパーバイザにはこの目的のために提供される仮想化層２０２．２が含まれている。ハイパーバイザは、アプリケーション２０１がハードウェア資源（プロセッサ、メモリなど）にアクセスできるようにするインタフェース機能（ＡＰＩ）２０２．１を提供する。
【００３３】
ハイパーバイザは、特定のプロセッサレベルでのイベント、特に割込みを管理する。
【００３４】
ハイパーバイザのコードが変更されないことを保証するために、ハイパーバイザは、リードオンリモードのみでアクセス可能なプログラム可能メモリ（ＰＲＯＭ：プログラマブルリードオンリメモリ）から実行される。
【００３５】
ハイパーバイザ２０２はプロセッサ１００上で実行される。
【００３６】
ハイパーバイザは、第１レベルのキャッシュメモリ（Ｌ１）のパリティビットのようなプロセッサの資源の管理、ならびに、第２レベルのキャッシュメモリ（Ｌ２）の誤り訂正機構（ＥＣＣ）の管理を行う。したがって、キャッシュメモリレベルでＳＥＵに起因して生じるパリティエラーや単一のＥＤＡＣエラーが生じた場合、ハイパーバイザは実行中のアプリケーションへ正しい情報を配信する。この実行アプリケーションは、この種のエラーを管理する必要はないが、この種のエラーについて通知を受けるサービスにハイパーバイザ側で購読することは可能である。
【００３７】
エラー回復戦略（ｅｒｒｏｒ  ｒｅｃｏｖｅｒｙ  ｓｔｒａｔｅｇｉｅｓ）がハイパーバイザレベルで実行される。
【００３８】
ハイパーバイザの起動は、実行中のアプリケーションによるハイパーバイザのＡＰＩに対する呼び出しによって、あるいは、（タイマや入出力周辺機器により生成されるような）割込みなどのハードウェアからの非同期イベントによって行われる。
【００３９】
ハイパーバイザは、ウォッチドッグ固有の動作をチェックするウォッチドッグ機構を備えている。
【００４０】
ハイパーバイザは、ウォッチドッグが正しく動作している旨をウォッチドッグに通知するために定期的な間隔でウォッチドッグへ信号を送信する。この信号は、プロセッサ１００とプログラム可能な電子部品１０１間の図１の信号１０９により表されている。所定の時間周期の終了時にこのような信号が存在しなかった場合、ウォッチドッグは、ハイパーバイザ２０２のソフトウェア部分を実行するプロセッサ１００のリセットを行う。このウォッチドッグ機構により、ハードウェアおよび／またはソフトウェアのロック状態の是正が可能となる。
【００４１】
本発明の１つの特徴によれば、プロセッサのフォールト・トレランスを改善するための装置は、プロセッサを既知の状態に戻す機構を備えており、これはリセットとも呼ばれる。
【００４２】
この機構は、状態や、値あるいは所定の状態を変更できるプロセッサのすべての要素（内部メモリ、フリップフロップ、レジスタ）の機能に帰することができる。
【００４３】
この機構は周期的にトリガされる。このトリガによって、変えるべきでないときに値を変えるレジスタのようなプロセッサ内の不整合状態の回避が可能となる。このような値の変化は、例えば、このレジスタにぶつかる重イオンを受けることにより引き起こされるものである。
【００４４】
プロセッサ上で実行されるアプリケーションに関連する透過性を機構に与えるために、装置は、プロセッサが既知の状態に復帰する復帰元を示すレジスタと、プロセッサのコンテキストの保存ならびに復元を行う機能とを備えている。この機能は、プロセッサのすべてのアクセス可能なレジスタの値を保存するために、信頼性の高いメモリ内にこれらの値をコピーする（プロセッサの保存済みコンテキストを形成する）ことを可能にすると共に、別方向に（すなわち、この信頼性の高いメモリからプロセッサの対応するレジスタへ）これらの値を戻してコピーすることを可能にし、それによって以前に保存した値の復元（コンテキストの復元）を意図するものである。
【００４５】
具体的には、既知の状態へのプロセッサの復帰はいくつかの別の原因によりトリガされる場合があり、例えば、
−ウォッチドッグ機構に起因する場合、
−または、アプリケーション２０１の実行時にトリガされるエラー、例えば、アプリケーション２０１に対する不正なメモリアクセス、書き込み保護された領域への書き込みの試み、読み取り保護された領域への読み取りアクセスの試みなどのようなエラーに起因する場合もある。
【００４６】
実際には、以下の手順でリセットの実行が可能となる：
１．リセットが行われる旨をハイパーバイザに対して示す部品１０１による第１の信号１０６の送信；
２．ハイパーバイザによるプロセッサコンテキストの保存；
３．リセットが周期的リセットである旨を示すレジスタへの書き込み；
４．リセット機能の実行をトリガする第２の信号１０７の送信；
５．リセットのソースを決定するためのハイパーバイザによるレジスタの読み取り；
６．ハイパーバイザによるプロセッサコンテキストの復元。
【００４７】
このリセット機構がトリガされるとハイパーバイザも起動される。
【００４８】
リセット機構はハイパーバイザによりプログラムすることができる。リセット機構の起動頻度は宇宙船のミッション計画に基づいて設定される。例えば１ミリ秒から数分の範囲でこの起動頻度を指定することができる。
【００４９】
本発明の１つの特徴によれば、ハイパーバイザは、アプリケーションの複数のインスタンスを並列に実行する手段を含むものとなる。例えば、同じアプリケーションの２つまたは３つのインスタンスの実行結果として、特に、様々なインスタンスの実行結果を比較することによりフォールト・トレランスの改善がもたらされる。実行されるインスタンスが２つだけの場合、２つのインスタンスの結果が異なればハイパーバイザは不整合を検出する。３つのインスタンスが実行される場合、２つのインスタンスの結果が異なっていれば、予想される結果を判定するために第３の結果が用いられる。これら３つのインスタンスは一般に投票機構により比較される。
【００５０】
好ましい実施形態によれば、同じアプリケーションのうちの複数のインスタンスが並列に実行される場合、プロセッサのフォールト・トレランスを改善するための装置は、さらに、
−実行対象アプリケーションのインスタンスの各々と、プロセッサの各々との間での情報のやりとりを記録する手段であって、機能呼び出しシーケンスを記録する手段がハイパーバイザにより実施される手段と、
−様々なインスタンスに対応する記録済み情報のやりとりを比較する手段とを備える。
【００５１】
したがって、ハイパーバイザは、個々のインスタンスのそれぞれに関して記録された情報を通じて個々のインスタンスの進行状態を周期的にチェックする。３インスタンス構成では、１つのパーティションの記録済み情報が他の２つのパーティションと異なっている場合、ハイパーバイザはこの別様に振舞うパーティションの停止を決定し、次いで、その他の２つのインスタンスから判定した有効なコンテキストからパーティションの実行を再開することができる。２インスタンス構成では、ハイパーバイザのみが不整合を検出することが可能であり、以前の有効なコンテキストの保存ポイントから両方のパーティションの実行を再開（ロールバック）する決定を行う。
【００５２】
インスタンスの実行終了時の結果を待つことなく、これらの手段によってインスタンスの実行の整合性を検証することが可能となる。
【００５３】
好適には、実行対象アプリケーションのインスタンスの各々とプロセッサ間での情報のやりとりを記録する手段を設定することが可能となる。この設定には機能呼び出しシーケンスのサイズが含まれる。言い換えれば、パラメータのうちの１つはハイパーバイザの記録済み連続機能に対する呼び出し回数に対応するパラメータとなる。
【００５４】
例示として提示するシナリオには以下のステップが含まれる：
１．シナリオは、処理装置（プロセッサおよびマザーボード）の電源投入から開始される。電源投入にはプロセッサのリセットが含まれる。
２．電源投入（１）に続いて、（リセット信号（図１の信号１０７）および事前初期化信号（図１の信号１０６）を特定の頻度で生成する）プログラム可能メモリと、ハードウェアのウォッチドッグとを設定するステップが実行される。
３．プロセッサは１回目の周期的リセットにかけられる。
４．リセット後、ハイパーバイザはプログラム可能メモリにてコンテキストを読み取る。
５．このコンテキストは、プログラム可能メモリから取り出され、次いで、コンテキストが復元される順番でプロセッサへ送信される。次いでアプリケーション２０１の実行が開始される。
６．アプリケーションがプロセッサ上で実行される。このアプリケーションは、ハイパーバイザのサービスＸ（Ｃａｌｌ＿Ｘ）の第１の呼び出しを行う。
７．ハイパーバイザは、要求されたサービスＸに対応するアクションを実行し、特に、呼び出し元のアプリケーションに関する健康状態のチェックおよび整合性のチェックを実行し、情報のやりとりを記録する手段の助けによりこの呼び出しを記録し、プロセッサのコンテキストを保存する。
８．次いで、ハイパーバイザは制御を呼び出し元のアプリケーションに渡し、サービスＸを要求時の状態に戻す。
９．ハイパーバイザは、（プログラム可能メモリ内に配置されている）ウォッチドッグへ信号を送信して、ウォッチドッグが正しく動作している旨をウォッチドッグに通知する。
１０．プロセッサ上で実行されるアプリケーションは、ハイパーバイザのサービスＹ（Ｃａｌｌ＿Ｙ）を呼び出す。
１０ａ．ハイパーバイザは、要求されたサービスＹに対応するアクションを実行し、特に、呼び出し元のアプリケーションに関する健康状態のチェックおよび整合性のチェックを実行し、情報のやりとりを記録する手段の助けによりこの呼び出しを記録し、プロセッサのコンテキストを保存し、次いで、信号（図１の信号１０９）をウォッチドッグへ送信して、ウォッチドッグが正しく動作している旨の通知も行う。
１１．次いで、ハイパーバイザは制御を呼び出し元のアプリケーションに渡し、サービスＹを要求時の状態に戻す。
１２．ハイパーバイザは、（プログラム可能メモリ内に配置されている）ウォッチドッグへ信号（図１の信号１０９）を送信して、ウォッチドッグが正しく動作している旨を通知する。
１３．アプリケーションの実行が中断され、プロセッサの処理コンテキストが保存される。これらの動作は、プログラム可能な電子部品１０１から事前初期化信号（図１の信号１０６）を受信したとき、次の周期的リセットを予期して行われる。次いで、リセット信号（図１の信号１０７）が受信されるまでハイパーバイザは制御を保持して、プロセッサ１００を既知の状態へ復帰させる。
１４．プロセッサは２回目の周期的リセットにかけられる。前に説明したように、この周期は設定可能であり、例えば１ミリ秒と１０秒の間に設定することができる。
１５．ステップ１３で保存されたコンテキストがハイパーバイザにより取り出される。
１６．このコンテキストをプロセッサ内で復元するためにコンテキストはプロセッサへ送信される。次いで、アプリケーションの実行はその進行を再開する。
【００５５】
例えば、ハイパーバイザへの第１の呼び出し（Ｃａｌｌ＿Ｘ）中にプロセッサがロックされた場合、２回目の周期的リセットが行われるまでアプリケーションの実行はブロックされる。この２回目のリセットが行われた後、最後の有効な保存済みコンテキストが（１回目のリセットの前にまたは周期時間中に）復元され、アプリケーションの実行が継続される。
【００５６】
以下に説明する２つの実施形態は、ハイパーバイザが同じアプリケーションの複数のインスタンスを実行するケースに対して適用されるものである。
【００５７】
本発明の一実施形態によれば、プロセッサは単一の処理コアを備え、アプリケーションのインスタンスは前記処理コア上で並列に実行される。
【００５８】
実際には、所定の時間周期にわたって第１のインスタンスが実行され、このインスタンスのコンテキストが保存される。インスタンスの実行は、別のインスタンスが所定の時間周期の間その順番で実行される順序で中断される。この別のインスタンスの実行コンテキストも保存される。他のすべてのインスタンスの実行がいったんすべて完了すると、第１のインスタンスのコンテキストが復元され、次いで、第１のインスタンスが以前のようにその実行を続行する。このようにして、これらインスタンスのすべては循環して実行される。
【００５９】
この実施形態は安価なプロセッサの利用が可能であるという利点を有する。
【００６０】
別の実施形態によれば、プロセッサが複数の処理コアを含み、アプリケーションの各インスタンスは異なる処理コア上で実行される。
【００６１】
この実施形態の場合、単一の処理コアを含む実施形態の場合よりも高速のインスタンスの実行が可能となる。
【００６２】
別の実施形態として、ハイパーバイザが、プログラム可能な電子部品１０１におけるデフォルトでプログラムされた時間周期に加えて、リセット信号１０７を実際に受信する前に、プログラム可能な電子部品１０１から事前初期化信号１０６を受信したとき時間遅延を要求できるようにする追加のタイムアウト要求信号１０８（図１）を使用する実施構成がある。この実施形態によって、ハイパーバイザは、リセット信号１０７の受信準備ができるようになるまで、重要な無停電操作の実行時に必要となる少し長い時間を得ることが可能となる。
【００６３】
別の実施形態として、プログラム可能な電子部品１０１のリセット機構の起動用追加信号１１０を使用する実施構成がある。この実施形態では、ハイパーバイザがプログラム可能な電子部品１０１のリセット機構を正しく管理できるようになるまで、必要なときにプロセッサボードに起動時刻を設定させることが可能となる。好ましい実施形態によれば、追加信号１１０を使用する場合、プログラム可能な電子部品１０１のリセット機構を無効にするためにこの信号を使用することはできない。
【符号の説明】
【００６４】
１００  プロセッサ
１０１  電子部品
１０２  メモリユニット
１０３  メモリユニット
１０４  メモリユニット
１０５  入出力インタフェース
１０６  事前初期化信号
１０７  リセット信号
１０８  タイムアウト要求信号
２０１  アプリケーション
２０２  ハイパーバイザ
【図１】
2012190460.tif 000003
【図２】
2012190460.tif 000004
【図３】
2012190460.tif 000005
【外国語明細書】
2012190460000001.pdf