(57)【要約】【課題】所定の共有アクセス対象へのアクセス競合を回避しつつ、高速処理を実現すること。【解決手段】同一処理を含む処理を並行して実行する複数の処理手段と、前記複数の処理手段に接続され、前記複数の処理手段によりアクセスされる所定の共有アクセス対象と、所定の起動信号を出力するタイマーと、前記タイマーから所定の起動信号を受信すると、前記複数の処理手段による前記所定の共有アクセス対象へのアクセスが同時に発生しないように、前記複数の処理手段を順次起動させるスケジューラと、を備える冗長系情報処理装置。【選択図】図２
2011107939.tif 000002
【特許請求の範囲】
【請求項１】
同一処理を含む処理を並行して実行する複数の処理手段と、
前記複数の処理手段に接続され、前記複数の処理手段によりアクセスされる所定の共有アクセス対象と、
所定の起動信号を出力するタイマーと、
前記タイマーから所定の起動信号を受信すると、前記複数の処理手段による前記所定の共有アクセス対象へのアクセスが同時に発生しないように、前記複数の処理手段を順次起動させるスケジューラと、
を備える冗長系情報処理装置。
【請求項２】
前記スケジューラは、前記タイマーから所定の起動信号を受信すると、前記複数の処理手段の起動タイミングを所定時間ずつオフセットさせて、前記複数の処理手段を起動させる手段である、
請求項１に記載の冗長系情報処理装置。
【請求項３】
前記スケジューラは、前記複数の処理手段による処理に前記所定の共有アクセス対象へのアクセスが含まれるか否かを判別し、前記所定の共有アクセス対象へのアクセスが含まれない場合には前記複数の処理手段を同時に起動させる手段である、
請求項１又は２に記載の冗長系情報処理装置。
【請求項４】
前記スケジューラは、前記複数の処理手段のうちいずれかが実行するソフトウエア手段である、
請求項１ないし３のいずれか１項に記載の冗長系情報処理装置。
【請求項５】
前記複数の処理手段は、共有ＲＯＭに記憶されたプログラムを専用レジスタにフェッチして前記同一処理を含む処理を実行する手段であり、
前記所定の共有アクセス対象は、共有ＲＡＭを含む、
請求項１ないし４のいずれか１項に記載の冗長系情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プロセッサやＣＰＵコア等の処理手段を複数個備える情報処理装置に関し、特に、複数の処理手段が同一処理を含む処理を並行して実行する冗長系情報処理装置に関する。
【背景技術】
【０００２】
近年、複数のプロセッサやＣＰＵコア等を備え、並行処理を可能とした情報処理装置が実用化されている。係る装置は、マルチプロセッサ装置、マルチコア装置等と称されている。
【０００３】
この種の情報処理装置においては、共有メモリ等のアクセス対象へのアクセスが、情報処理手段間で競合しうるという課題が存在していた。
【０００４】
ところで、車両制御装置等、安全性の確保が重要な課題となっている情報処理装置では、処理の正確さや安全さを期すために、複数のプロセッサやＣＰＵコア等によって、同一処理を含む処理を並行して行なうことがある。このような並行処理を行なう情報処理装置を、本発明では冗長系情報処理装置と称する。
【０００５】
冗長系情報処理装置では、同一処理を含む処理（全く同一の場合もありうる）を、正確且つ高速に行なうことが求められている。特に、車両制御装置の分野では、数［ｍｓ］程度の時間を処理周期として略同一のプログラムを繰り返し実行する場面が多い。
【０００６】
このような冗長系処理装置において、共有メモリ等へのアクセス競合が発生すると、処理待ち等によって処理効率が低下する場合がある。また、共有メモリ等をプロセッサ間のデータ渡しの媒体としている場合は（例えばプロセッサ１の演算結果をプロセッサ２以下が用いて処理を行なう場合）、プロセッサ２以下への伝達タイミングが１周期遅れることになり、処理遅延を生じせしめる場合がある。
【０００７】
従来、係る課題に対しては、セマフォによって競合を回避する処理等が行われていた。セマフォとは、並行して動作しているプロセス間で同期を取ったり、割り込み処理の制御を行なったりする機構をいう。セマフォにおいては、自己が共有メモリ等にアクセス中であるためアクセス不可である旨を示すフラグを、共有レジスタに設定する等の処理が行われる。
【０００８】
また、特許文献１では、係る課題を考慮したマルチプロセッサ装置についての発明が開示されている。この装置は、バスを介して複数のプロセッサ及び共有記憶領域が接続されている。各プロセッサは、サーバを介して通知された実時間（開始時間）を共有記憶領域に登録し、他のプロセッサが登録した実時間と比較して自己の登録した実時間が最も早い場合に優先的に処理を実行し、自己の処理が終了した際に、自己の登録した実時間を削除している。
【０００９】
また、特許文献２では、複数のイニシエータと、各イニシエータによってアクセスされる共有メモリと、各イニシエータの共有メモリへのアクセスを制御する共有メモリ制御回路と、を有する共有メモリ制御方式についての発明が開示されている。この制御方式では、共有メモリ制御回路によって設定された優先順位に従って、各イニシエータの共有メモリへのアクセスが許容される。各イニシエータは、共有メモリへのアクセスが許容されない場合はビジー信号を受信する。そして、各イニシエータには、ビジー信号の受領回数を格納する制御メモリが内蔵されており、その計数値が閾値を超えると、自己の優先順位を最高位に上げるように、共有メモリ制御回路に対して信号を出力する。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】国際公開第２００６／００１０５１号
【特許文献２】特開平４−２８４５５０号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
しかしながら、セマフォのような処理を行なうものとすると、共有レジスタにフラグを設定するための処理や、これを読み込んで判定を行なう処理等が発生し、処理の遅延を生じせしめる場合がある。従って、冗長系情報処理装置では、上記のセマフォ等に依拠することなく、アクセス対象へのアクセス競合の問題を解消することが望まれる。
【００１２】
また、上記特許文献１に記載の装置では、実時間を共有記憶領域に登録する処理、他のプロセッサが登録した実時間と比較する処理、実時間を共有記憶領域から削除する処理等を各プロセッサが行っているため、高速処理を実現することができない場合がある。
【００１３】
また、特許文献２に記載の制御方式においても、一定回数、ビジー信号を受信しなければ優先順位が上位とならないため、各イニシエータは、共有メモリへアクセスを何度も試行しなければならないことになる。このため、高速処理を実現することができない場合がある。
【００１４】
すなわち、従来用いられているセマフォや、上記特許文献１、２に記載された発明は、所定の共有アクセス対象へのアクセス競合を回避する必要がある冗長系情報処理装置に好適に適用可能なものではない。
【００１５】
本発明はこのような課題を解決するためのものであり、所定の共有アクセス対象へのアクセス競合を回避しつつ、高速処理を実現することが可能な冗長系情報処理装置を提供することを、主たる目的とする。
【課題を解決するための手段】
【００１６】
上記目的を達成するための本発明の一態様は、
同一処理を含む処理を並行して実行する複数の処理手段と、
前記複数の処理手段に接続され、前記複数の処理手段によりアクセスされる所定の共有アクセス対象と、
所定の起動信号を出力するタイマーと、
前記タイマーから所定の起動信号を受信すると、前記複数の処理手段による前記所定の共有アクセス対象へのアクセスが同時に発生しないように、前記複数の処理手段を順次起動させるスケジューラと、
を備える冗長系情報処理装置である。
【００１７】
この本発明の一態様によれば、タイマーから所定の起動信号を受信すると、複数の処理手段による前記所定の共有アクセス対象へのアクセスが同時に発生しないように、複数の処理手段を順次起動させるスケジューラを備えるため、複数の処理手段間での上記セマフォのような排他制御が不要となる。この結果、複数の処理手段による所定の共有アクセス対象へのアクセス競合を回避しつつ、高速処理を実現することができる。
【００１８】
また、共有メモリ等をプロセッサ間のデータ渡しの媒体としている場合は、データ渡しのタイミングが同一の処理周期で保証される。
【００１９】
本発明の一態様において、
前記スケジューラは、前記タイマーから所定の起動信号を受信すると、前記複数の処理手段の起動タイミングを所定時間ずつオフセットさせる手段であるものとしてもよい。
【００２０】
また、本発明の一態様において、
前記スケジューラは、前記複数の処理手段による処理に前記所定の共有アクセス対象へのアクセスが含まれるか否かを判別し、前記所定の共有アクセス対象へのアクセスが含まれない場合には前記複数の処理手段を同時に起動させる手段であるものとしてもよい。
【００２１】
また、本発明の一態様において、
前記スケジューラは、例えば、前記複数の処理手段のうちいずれかが実行するソフトウエア手段である。
【００２２】
また、本発明の一態様において、
前記複数の処理手段は、共有ＲＯＭに記憶されたプログラムを専用レジスタにフェッチして前記同一処理を含む処理を実行する手段であり、
前記所定の共有アクセス対象は、共有ＲＡＭを含むものとしてもよい。
【発明の効果】
【００２３】
本発明によれば、所定の共有アクセス対象へのアクセス競合を回避しつつ、高速処理を実現することが可能な冗長系情報処理装置を提供することができる。
【図面の簡単な説明】
【００２４】
【図１】本発明の第１実施例に係る冗長系情報処理装置１のシステム構成例である。
【図２】本発明の第１実施例に係る冗長系情報処理装置１により実行される処理の流れを模式的に示すフローチャートである。
【図３】本発明の第１実施例に係る冗長系情報処理装置１により実行される処理の流れを模式的に示すシーケンス図である。
【図４】本発明の第１実施例に係る冗長系情報処理装置１により実行される処理の流れを模式的に示すフローチャートの他の例である。
【図５】本発明の第２実施例に係る冗長系情報処理装置２のシステム構成例である。
【図６】本発明の第２実施例に係る冗長系情報処理装置２により実行される処理の流れを模式的に示すフローチャートである。
【発明を実施するための形態】
【００２５】
以下、本発明を実施するための形態について、添付図面を参照しながら実施例を挙げて説明する。
【実施例】
【００２６】
＜第１実施例＞
以下、図面を参照し、本発明の第１実施例に係る冗長系情報処理装置１について説明する。冗長系情報処理装置１は、複数の処理手段が同一処理を含む処理（全く同一であってもよい；以下略）を並行して実行する装置であり、車両制御等、正確さや安全性が求められる分野において、好適に使用されうるものである。冗長処理が行われる車両制御としては、ＥＰＳ（Electric  Power  Steering  System）等の制御が挙げられる。各処理手段による処理結果は、平均化、異常値除外等の処理が行われた後に、制御対象に出力される。
【００２７】
図１は、本発明の第１実施例に係る冗長系情報処理装置１のシステム構成例である。冗長系情報処理装置１は、主要な構成として、グローバルタイマー１０と、複数のプロセッサ２０＃１、２０＃２、…２０＃ｎと、共有ＲＡＭ（Random  Access  Memory）３０と、共有ＲＯＭ（Read  Only  Memory）４０と、がバス５０によって接続された構成となっている。ここでは、共有ＲＡＭ３０が特許請求の範囲における「所定の共有アクセス対象」に相当するものとする。
【００２８】
なお、係る構成に限定されず、例えば各プロセッサが専用ＲＯＭを備える構成であってもよいし、ＥＥＰＲＯＭ（Electronically  Erasable  and  Programmable  Read  Only  Memory）や共有レジスタ、共有ＲＯＭ４０等が、「所定の共有アクセス対象」に含まれてもよい。
【００２９】
グローバルタイマー１０は、冗長系情報処理装置１の動作基準となるタイマーであり、例えば所定周期毎（数［ｍｓ］毎等）に、起動信号をバス５０に出力する。
【００３０】
複数のプロセッサ２０＃１、２０＃２、…２０＃ｎは、それぞれ、ＡＬＵ（論理演算ユニット）や制御装置、専用レジスタ等を備え、並行して同一処理を含む処理を実行する（以下、係る並行処理を、冗長処理と称する）。
【００３１】
各プロセッサは、共有ＲＯＭ４０に格納されたプログラムを専用レジスタにフェッチし、これをデコードして実行することにより、種々の処理を行なうことができる。
【００３２】
共有ＲＡＭ３０及び共有ＲＯＭ４０は、周知の記憶装置であるため、詳細な説明を省略する。共有ＲＯＭ４０には、各プロセッサが実行するためのプログラムが予め格納されている。
【００３３】
ところで、複数のプロセッサ２０＃１、２０＃２、…２０＃ｎのうち一の特定プロセッサ（以下、プロセッサ２０＃１が特定プロセッサであるものとする）には、各プロセッサが並行して実行する処理を行なうためのプログラムに加えて、各プロセッサの起動タイミングを制御するスケジューラとして機能するためのプログラムが供与される。
【００３４】
以下、スケジューラとして機能するためのプログラムをスケジューラ機能用プログラム４２と、冗長処理を行なうためのプログラムを冗長処理用プログラム４４と、それぞれ称する。
【００３５】
プロセッサ２０＃１は、スケジューラ機能用プログラム４２を実行することによって機能する機能ブロックとして、スケジューラ部２０＃１Ａと、冗長処理部２０＃１Ｂと、を備えることになる。一方、プロセッサ２０＃２〜２０＃ｎは、冗長処理部２０＃２Ｂ〜２０＃ｎＢを備えることになる。
【００３６】
スケジューラ部２０＃１Ａは、グローバルタイマー１０によってバス５０に出力された起動信号を検知すると、複数のプロセッサ２０＃１、２０＃２、…２０＃ｎによる共有ＲＡＭ３０や共有ＲＯＭへのアクセスが同時に発生しないように、複数のプロセッサ２０＃１、２０＃２、…２０＃ｎが有する冗長処理部２０＃１Ｂ〜２０＃ｎＢを、所定時間ずつオフセットさせて順次起動させる。
【００３７】
なお、ここで、「起動させる」とは、電源を投入して動作可能状態にするような意味ではなく、冗長処理部２０＃１Ｂ〜２０＃ｎＢによる１ルーチンの処理を実行開始させる（そのための信号を冗長処理部２０＃１Ｂ〜２０＃ｎＢに出力する）ことを意味する。
【００３８】
また、「所定時間」は、各プロセッサによる共有ＲＡＭへのアクセスに必要な時間よりも長く設定されている。各プロセッサは同一処理を含む処理を行なうため、各プロセッサを「所定時間」ずつオフセットさせて順次起動させることにより、各プロセッサによる共有ＲＡＭ３０へのアクセス競合を回避することができる。
【００３９】
図２は、本発明の第１実施例に係る冗長系情報処理装置１により実行される処理の流れを模式的に示すフローチャートである。
【００４０】
図示するように、グローバルタイマー１０が起動信号を出力すると（Ｓ１０）、プロセッサ２０＃１のスケジューラ部２０＃１Ａは、まず冗長処理部２０＃１Ｂを起動させる（Ｓ１００；プロセッサ２０＃１の「ＳＴＡＲＴ」）。
【００４１】
冗長処理部２０＃１Ｂは、処理Ａ（Ｓ１０２）、共有ＲＡＭ３０へのアクセス（Ｓ１０４）、処理Ｂ（Ｓ１０６）の順に冗長処理を実行する。
【００４２】
冗長処理部２０＃１Ｂの起動から所定時間が経過すると、プロセッサ２０＃１のスケジューラ部２０＃１Ａは、冗長処理部２０＃２Ｂを起動させる（Ｓ２００；プロセッサ２０＃２の「ＳＴＡＲＴ」）。
【００４３】
冗長処理部２０＃２Ｂは、処理Ａ（Ｓ２０２）、共有ＲＡＭ３０へのアクセス（Ｓ２０４）、処理Ｂ（Ｓ２０６）の順に冗長処理を実行する。
【００４４】
このようにして、プロセッサ２０＃１のスケジューラ部２０＃１Ａは、所定時間毎に各プロセッサの冗長処理部による冗長処理を順に開始させる。最後に、冗長処理部２０＃ｎＢが起動し（Ｓｎ００；プロセッサ２０＃ｎの「ＳＴＡＲＴ」）。
【００４５】
冗長処理部２０＃ｎＢは、処理Ａ（Ｓｎ０２）、共有ＲＡＭ３０へのアクセス（Ｓｎ０４）、処理Ｂ（Ｓｎ０６）の順に冗長処理を実行する。
【００４６】
プロセッサ２０＃１のスケジューラ部２０＃１Ａは、冗長処理部２０＃ｎＢを起動させると、次に起動信号を受信するまで待機する。
【００４７】
また、図３は、本発明の第１実施例に係る冗長系情報処理装置１により実行される処理の流れを模式的に示すシーケンス図である。本図においては、図２とは同一のステップ番号を付している。
【００４８】
以上説明した本発明の第１実施例に係る冗長系情報処理装置１によれば、各プロセッサによる共有ＲＡＭへのアクセスに必要な時間よりも長く設定された「所定時間」ずつオフセットさせて、各プロセッサを順次起動させるため、各プロセッサによる共有ＲＡＭ３０へのアクセス競合を回避することができる。
【００４９】
また、このような起動タイミングの制御は、プロセッサ２０＃１のスケジューラ部２０＃１Ａにより一元的に行われるため、不要なメモリアクセス等により処理の遅延が生じるのを抑制することができる。この結果、高速処理を実現することができる。
【００５０】
従って、所定の共有アクセス対象へのアクセス競合を回避しつつ、高速処理を実現することができる。
【００５１】
なお、各冗長処理部が実行する「同一でない」処理の例としては、例えば、冗長処理部２０＃１Ｂが共有ＲＡＭ３０に書き込んだデータを、以降の冗長処理部２０＃２Ｂ〜２０＃ｎＢが読み込んで処理に利用する場合の、当該書き込み処理及び読み込み処理等が挙げられる。この場合、データ渡しのタイミングが同一の処理周期で保証されるという効果を奏する。
【００５２】
ところで、冗長処理用プログラム４４は一種類であるとは限らず、複数種類のプログラムを含む場合があるため、以下のような処理を行なうものとしてもよい。
【００５３】
図４は、本発明の第１実施例に係る冗長系情報処理装置１により実行される処理の流れを模式的に示すフローチャートの他の例である。
【００５４】
図示するように、グローバルタイマー１０が起動信号を出力すると（Ｓ１０）、プロセッサ２０＃１のスケジューラ部２０＃１Ａは、これから各プロセッサが実行する冗長処理が、共有メモリ３０へのアクセス処理を含むか否かを判定する（Ｓ２０）。
【００５５】
各プロセッサが実行する冗長処理が、共有メモリ３０へのアクセス処理を含まない場合は、冗長処理部２０＃１Ｂ〜２０＃ｎＢを同時に起動させる（Ｓ３０）。
【００５６】
一方、各プロセッサが実行する冗長処理が、共有メモリ３０へのアクセス処理を含む場合は、前述と同様に、冗長処理部２０＃１Ｂを起動させて冗長処理を実行させ（Ｓ１００〜Ｓ１０６）、所定時間経過すると次に冗長処理部２０＃２Ｂを起動させて冗長処理を実行させ（Ｓ２００〜Ｓ２０６）、所定時間毎に各プロセッサの冗長処理部を起動させて冗長処理を実行させ、最後に冗長処理部２０＃ｎＢを起動させて冗長処理を実行させる（Ｓｎ００〜Ｓｎ０６）。
【００５７】
係る処理によっても、所定の共有アクセス対象へのアクセス競合を回避しつつ、高速処理を実現することができる。更にこの場合、各プロセッサによる共有ＲＡＭ３０へのアクセスがない場合には、冗長処理部２０＃１Ｂ〜２０＃ｎＢを同時に起動させるため、所定時間のカウントや順次起動させるための信号送出による処理遅延を回避することができる。
【００５８】
＜第２実施例＞
以下、図面を参照し、本発明の第２実施例に係る冗長系情報処理装置２について説明する。冗長系情報処理装置２は、第１実施例の冗長系情報処理装置２と同様、複数の処理手段が同一処理を含む処理（全く同一であってもよい；以下略）を並行して実行する装置であり、車両制御等、正確さや安全性が求められる分野において、好適に使用されうるものである。各処理手段による処理結果は、平均化、異常値除外等の処理が行われた後に、制御対象に出力される。
【００５９】
図５は、本発明の第２実施例に係る冗長系情報処理装置２のシステム構成例である。冗長系情報処理装置２は、主要な構成として、グローバルタイマー１０と、ハードウエアとして構成されたスケジューラ１５と、複数のプロセッサ２０＃１、２０＃２、…２０＃ｎと、共有ＲＡＭ（Random  Access  Memory）３０と、共有ＲＯＭ（Read  Only  Memory）４０と、がバス５０によって接続された構成となっている。なお、第１実施例と同様の機能を有する構成要素については、第１実施例と同一の符号を付しており、それぞれの機能について詳細な説明は省略する。
【００６０】
また、ここでは、共有ＲＡＭ３０が特許請求の範囲における「所定の共有アクセス対象」に相当するものとする。
【００６１】
なお、係る構成に限定されず、例えば各プロセッサが専用ＲＯＭを備える構成であってもよいし、ＥＥＰＲＯＭ（Electronically  Erasable  and  Programmable  Read  Only  Memory）や共有レジスタ、共有ＲＯＭ４０等が、「所定の共有アクセス対象」に含まれてもよい。
【００６２】
スケジューラ１５は、例えば電子回路であり、第１実施例におけるスケジューラ部２０＃１Ａと同様の機能を有している。また、これに限らず、専用のプロセッサであっても構わない。
【００６３】
本実施例における各プロセッサは、第１実施例のように一の特定プロセッサがスケジューラ部を備えることはなく、各プロセッサが冗長処理用プログラム４４を実行することにより機能する冗長処理部２０＃１Ｂ〜２０＃ｎＢを備える。
【００６４】
図６は、本発明の第２実施例に係る冗長系情報処理装置２により実行される処理の流れを模式的に示すフローチャートである。なお、ステップ番号は第１実施例に準じたものを付している。
【００６５】
図示するように、グローバルタイマー１０が起動信号を出力すると（Ｓ１０）、スケジューラ１５は、まず冗長処理部２０＃１Ｂを起動させる（Ｓ１００；プロセッサ２０＃１の「ＳＴＡＲＴ」）。
【００６６】
冗長処理部２０＃１Ｂは、処理Ａ（Ｓ１０２）、共有ＲＡＭ３０へのアクセス（Ｓ１０４）、処理Ｂ（Ｓ１０６）の順に冗長処理を実行する。
【００６７】
冗長処理部２０＃１Ｂの起動から所定時間が経過すると、スケジューラ１５は、冗長処理部２０＃２Ｂを起動させる（Ｓ２００；プロセッサ２０＃２の「ＳＴＡＲＴ」）。
【００６８】
冗長処理部２０＃２Ｂは、処理Ａ（Ｓ２０２）、共有ＲＡＭ３０へのアクセス（Ｓ２０４）、処理Ｂ（Ｓ２０６）の順に冗長処理を実行する。
【００６９】
このようにして、スケジューラ１５は、所定時間毎に各プロセッサの冗長処理部による冗長処理を順に開始させる。最後に、冗長処理部２０＃ｎＢが起動し（Ｓｎ００；プロセッサ２０＃ｎの「ＳＴＡＲＴ」）。冗長処理部２０＃ｎＢが、処理Ａ（Ｓｎ０２）、共有ＲＡＭ３０へのアクセス（Ｓｎ０４）、処理Ｂ（Ｓｎ０６）の順に冗長処理を実行する。
【００７０】
スケジューラ１５は、冗長処理部２０＃ｎＢを起動させると、次に起動信号を受信するまで待機する。
【００７１】
以上説明した本発明の第２実施例に係る冗長系情報処理装置２によれば、各プロセッサによる共有ＲＡＭへのアクセスに必要な時間よりも長く設定された「所定時間」ずつオフセットさせて、各プロセッサを順次起動させるため、各プロセッサによる共有ＲＡＭ３０へのアクセス競合を回避することができる。
【００７２】
また、このような起動タイミングの制御は、スケジューラ１５により一元的に行われるため、不要なメモリアクセス等により処理の遅延が生じるのを抑制することができる。この結果、高速処理を実現することができる。
【００７３】
従って、所定の共有アクセス対象へのアクセス競合を回避しつつ、高速処理を実現することができる。
【００７４】
なお、第２実施例においても、図４で説明したような処理を行ってもよいのは勿論である。この場合、スケジューラ１５が共有メモリ３０へのアクセス処理の有無を判別する機能を有する必要があるため、プログラムと共有メモリ３０へのアクセス処理の有無が対応づけられた判別テーブル等を備えるものとすればよい。
【００７５】
以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
【００７６】
例えば、並行処理を行なう「プロセッサ」を複数個備えるものと表現したが、「プロセッサ」を「コア」、「ＣＰＵ」、「ＥＣＵ」等と表現してもよい。
【００７７】
また、共有ＲＯＭ４０が所定の共有アクセス対象に含まれる場合、システム起動時の命令フェッチにおいても、共有ＲＯＭ４０へのアクセス競合が発生しないように、各プロセッサを順次起動させるものとしてよい。
【００７８】
また、各プロセッサの冗長処理部を起動させるのは、一律に「所定時間」ずつでなくともよい。例えばプロセッサの性能差が存在する場合や、冗長処理の内容がプロセッサ間で若干異なるような場合、オフセットさせる時間をプロセッサによって異なるものとしてもよい。
【符号の説明】
【００７９】
１、２  冗長系情報処理装置
１０    グローバルタイマー
１５    スケジューラ
２０＃１、２０＃２、…２０＃ｎ  プロセッサ
２０＃１Ａ  スケジューラ部
２０＃１Ｂ、２０＃２Ｂ、…２０＃ｎＢ  冗長処理部
３０    共有ＲＡＭ
４０    共有ＲＯＭ
４２    スケジューラ機能用プログラム
４４    冗長処理用プログラム
５０    バス
【図１】
2011107939.tif 000003
【図２】
2011107939.tif 000004
【図３】
2011107939.tif 000005
【図４】
2011107939.tif 000006
【図５】
2011107939.tif 000007
【図６】
2011107939.tif 000008