処理結果が監視される被監視プロセッサコアと、前記被監視プロセッサコアを監視するための処理を行うことが可能な二以上の監視プロセッサコアを含む監視プロセッサコア群と、前記監視プロセッサコア群の処理負荷を評価する評価手段と、前記評価手段により前記監視プロセッサコア群の処理負荷が低いと評価された場合に、前記被監視プロセッサコアを監視するための処理を前記監視プロセッサコア群で分散して行わせ、前記評価手段により監視プロセッサコア群の処理負荷が高いと評価された場合に、前記被監視プロセッサコアを監視するための処理を前記監視プロセッサコア群のうち相対的に優先度の低い処理を行っている監視プロセッサコアに行わせる制御手段と、を備えるマルチコアプロセッサ。請求項1に記載のマルチコアプロセッサであって、前記制御手段は、前記評価手段により監視プロセッサコア群の処理負荷が高いと評価された場合に、前記被監視プロセッサコアを監視するための処理を前記監視プロセッサコア群のうち最も優先度の低い処理を行っている一の監視プロセッサコアに行わせる手段である、マルチコアプロセッサ。請求項1に記載のマルチコアプロセッサであって、前記評価手段は、前記監視プロセッサコア群におけるCPU使用率の平均値が基準値を超える場合に、前記監視プロセッサコア群の処理負荷が高いと評価する手段である、マルチコアプロセッサ。請求項1に記載のマルチコアプロセッサであって、前記被監視プロセッサコアを監視するための処理は、前記被監視プロセッサコアと同一の処理を行って、該処理の結果を前記被監視プロセッサコアの処理結果と比較する処理である、マルチコアプロセッサ。しかしながら、上記信頼性を向上させるための技術においては、比較のためにのみ同じ処理を行うという冗長な構成を有しているため、CPUリソースを多く消費し、コストに見合った性能をプロセッサが発揮できないという課題が存在する。本発明はこのような課題を解決するためのものであり、処理結果の信頼性を維持しつつ、各プロセッサコアが十分な性能を発揮することが可能なマルチコアプロセッサを提供することを、主たる目的とする。上記目的を達成するための本発明の一態様は、処理結果が監視される被監視プロセッサコアと、前記被監視プロセッサコアを監視するための処理を行うことが可能な二以上の監視プロセッサコアを含む監視プロセッサコア群と、前記監視プロセッサコア群の処理負荷を評価する評価手段と、前記評価手段により前記監視プロセッサコア群の処理負荷が低いと評価された場合に、前記被監視プロセッサコアを監視するための処理を前記監視プロセッサコア群で分散して行わせ、前記評価手段により監視プロセッサコア群の処理負荷が高いと評価された場合に、前記被監視プロセッサコアを監視するための処理を前記監視プロセッサコア群のうち相対的に優先度の低い処理を行っている監視プロセッサコアに行わせる制御手段と、を備えるマルチコアプロセッサである。この本発明の一態様によれば、評価手段により監視プロセッサコア群の処理負荷が低いと評価された場合に、被監視プロセッサコアを監視するための処理を監視プロセッサコア群で分散して行わせ、評価手段により監視プロセッサコア群の処理負荷が高いと評価された場合に、被監視プロセッサコアを監視するための処理を監視プロセッサコア群のうち相対的に優先度の低い処理を行っている監視プロセッサコアに行わせるため、処理結果の信頼性を維持しつつ、各プロセッサコアが十分な性能を発揮することが可能なマルチコアプロセッサを提供することができる。本発明の一態様において、前記制御手段は、例えば、前記評価手段により監視プロセッサコア群の処理負荷が高いと評価された場合に、前記被監視プロセッサコアを監視するための処理を前記監視プロセッサコア群のうち最も優先度の低い処理を行っている一の監視プロセッサコアに行わせる手段である。また、本発明の一態様において、前記評価手段は、例えば、前記監視プロセッサコア群におけるCPU使用率の平均値が基準値を超える場合に、前記監視プロセッサコア群の処理負荷が高いと評価する手段である。また、本発明の一態様において、前記被監視プロセッサコアを監視するための処理は、例えば、前記被監視プロセッサコアと同一の処理を行って、該処理の結果を前記被監視プロセッサコアの処理結果と比較する処理である。本発明によれば、処理結果の信頼性を維持しつつ、各プロセッサコアが十分な性能を発揮することが可能なマルチコアプロセッサを提供することができる。以下、本発明を実施するための形態について、添付図面を参照しながら実施例を挙げて説明する。以下、図面を参照し、本発明の一実施例に係るマルチコアプロセッサ1について説明する。本実施例のマルチコアプロセッサ1は、例えば車両等の移動体に搭載された制御装置に、好適に適用される。[構成]図1は、本発明の第1実施例に係るマルチコアプロセッサ1のシステム構成例である。マルチコアプロセッサ1は、主要な構成として、プログラムメモリ10と、プロセッサコアCPUコア201、202、203、204と、共有メモリ30と、を備える。以下、必要に応じてプロセッサコア201、202、203、204を、各プロセッサコアと総称する。なお、本実施例ではプロセッサコアの個数を4個としたが、3以上の如何なる個数のプロセッサコアを備えてもよい。プログラムメモリ10は、例えば、ROMReadOnlyMemory、フラッシュROM、EEPROMElectricallyErasableandProgrammableReadOnlyMemory、HDDHardDiskDrive等の不揮発性メモリである。プログラムメモリ10は、各プロセッサコアが実行するプログラムを格納している。各プロセッサコアが実行するプログラムには、オペレーティングシステム12と、アプリケーションプログラム14が含まれる。プログラムメモリ10は、各プロセッサコアから入力されるアドレスに格納された命令を、命令フェッチバス15を介して各プロセッサコアに出力する。オペレーティングシステム12は、タスクスケジューラ12Aと、処理負荷評価部12Bと、を含む。オペレーティングシステム12は、例えば各プロセッサコアのうち一のプロセッサコア例えばプロセッサコア201によって実行される。アプリケーションプログラム14は、例えばタスクA、タスクB、タスクC、タスクDと分類される。タスクとは、ある程度の機能的まとまりを有する命令群である。本実施例では、タスクAをプロセッサコア201が実行し、タスクBをプロセッサコア202が実行し、タスクCをプロセッサコア203が実行し、タスクDをプロセッサコア204が実行するように割り当てられる。タスクスケジューラ12Aは、上記のようなタスクの割当、及び処理スケジュールの決定を、各プロセッサコアについて実行する。処理負荷評価部12Bは、後述するように、監視プロセッサコアに該当するプロセッサコア202~204の処理負荷が高いか低いかを評価する。プロセッサコア202~204の処理負荷は、種々の手法によって評価してよい。処理負荷評価部12Bは、例えば、プロセッサコア202~204のCPU使用率をそれぞれ算出し、その平均値が基準値例えば80[]等を超える場合にプロセッサコア202~204の処理負荷が高いと評価し、基準値以下である場合にプロセッサコア202~204の処理負荷が低いと評価する。CPU使用率とは、ある規定時間内において、実行中のソフトウエアがプロセッサコアを占有している時間の割合である。なお、タスクB、タスクC、タスクDは、通常時におけるCPU使用率が、上記基準値以下となるように、予め調整されていると好適である。この結果、通常時には、後述する分散監視モードが採用され、処理負荷が高くなった場合にのみ集中監視モードが採用されることになる。タスクA~Dには、本実施例のマルチコアプロセッサが車両に搭載された場合、例えばエンジンの点火時期制御のための処理、スロットル開度制御のための処理、スタータモータ制御のための処理、ブレーキ制御のための処理、ステアリング制御のための処理、ナビゲーション制御のための処理、その他種々の処理が該当する。各プロセッサコアは、例えば、命令フェッチユニット、ALUArithmeticLogicUnit、MUL乗算器、DIV除算器、LSULoadStoreUnitその他を含む演算ユニット、レジスタやキャッシュメモリ等の内部メモリ、プログラムカウンタ、ローカル割り込みコントローラ等を有するプロセッサコアである。なお、マルチコアプロセッサ1は、各プロセッサコアが同等の性能を有するSMPSymmetryMulticoreProcessorであることが望ましい。後述する集中監視モードでは、被監視プロセッサコアと一の監視プロセッサコアが並行して同一の演算を行う場面が生じるからである。メモリ30は、例えばRAMRandomAccessMemoryであり、データバス35を介して各プロセッサコアとの間でデータの送受信を行うことができる。メモリ30には、オペレーティングシステム12によって使用されるOS使用領域32と、アプリケーションプログラム14によって使用されるアプリ使用領域34が設定されている。OS使用領域32には、タスクの優先度が規定された優先度テーブル32A等が格納される。優先度テーブル32Aは、例えばマルチコアプロセッサ1の起動時にROM等から読み出され、メモリ30の所定領域に書き込まれて使用される。図2は、優先度テーブル32Aのデータ内容の一例である。本実施例では、タスクAが最も優先度の高い高に、タスクB、Cが中間程度の優先度である中に、タスクDが最も優先度の低い低に、それぞれ設定されている。アプリ使用領域34には、タスク別使用領域34A~34Dが設けられており、これらはタスクA、タスクB、タスクC、タスクDによって使用される。[監視機能]本実施例のマルチコアプロセッサ1では、最も優先度の高い高が設定されているタスクについて、当該タスクを実行しているプロセッサコアが正常に作動しているかどうかを監視するための処理を、他のプロセッサコアによって行う。本実施例では上記のようにタスクAを実行しているプロセッサコア201が監視対象である被監視プロセッサコアに該当し、他のプロセッサコア202~204が監視のための処理を行う監視プロセッサコアに該当する。具体的には、プロセッサコア202~204が、プロセッサコア201と同一の処理を行って、自己の処理結果をプロセッサコア201の処理結果と比較することにより、プロセッサコア201が正常に作動しているかどうかを監視する。以下、このような処理を監視処理と称する。監視処理を行うためには、プロセッサコア201が処理対象とするオペランドの共有と、プロセッサコア201の処理結果を取得することが必要となる。本実施例では、プロセッサコア201が演算対象とするオペランド、及びプロセッサコア201の処理結果は、タスク別使用領域34Aに書き込まれる。そして、プロセッサコア202~204は、タスク別使用領域34Aからのデータ読み込みを一時的に、或いは定常的に許可される。監視処理を行うための指示は、タスクスケジューラ12Aにより行われる。タスクスケジューラ12Aは、プロセッサコア202~204が本来実行すべきタスクB~Dとの調整を行いつつ、監視処理を実行するように、プロセッサコア202~204の実行タスクを決定する。図3は、タスクスケジューラ12Aにより決定されたタスクスケジュールに従って、各プロセッサコアがタスクを実行する様子を示す図である。図中、左側部分は、処理負荷評価部12Bにより評価されたプロセッサコア202~204の処理負荷が低い場合負荷低下時のタスク処理例であり、右側部分は、処理負荷が高い場合負荷上昇時のタスク処理例である。図示するように、プロセッサコア202~204の処理負荷が低い場合には、プロセッサコア202~204は、それぞれに割り当てられたタスクB、C、Dに係る処理B、C、Dの合間に、タスクAに含まれる処理A-1、A-2、A-3と同一の処理以下、ミラー処理と称するを行うと共に自己の処理結果をプロセッサコア201による処理結果と比較する比較処理を行う監視処理を行うように、タスクスケジューラ12Aによって指示される。すなわち、タスクスケジューラ12Aは、プロセッサコア202~204の処理負荷が低い場合には、監視処理をプロセッサコア202~204で分散して行わせる。以下、係る状態を分散監視モードと称する。係る比較処理の結果は、オペレーティングシステム12に返される。オペレーティングシステム12は、プロセッサコア201による処理結果と、プロセッサコア202~204による処理結果が異なる旨の情報を受け取った場合には、1プロセッサコア201に再度の処理を行わせる、2タスクAをリセットして初期状態から開始する、3他のプロセッサコアにタスクAの代替処理を行わせる、等のエラー処理を実行する。エラー処理の内容については、上記処理結果が異なる旨の情報を受け取った回数等に応じて、段階的に変更すると好適である。なお、比較処理については、プロセッサコア202~204がそれぞれ実行するのではなく、オペレーティングシステム12が一括して行ってもよい。この場合、監視処理は、比較処理を含まない。ここで、マルチコアプロセッサ1が、前述のように、車両等の移動体に搭載された制御装置に適用された場合、タスクA~Dは、順序性の制約が厳しく、分散処理が有効でない処理であることが多い。すなわち、各プロセッサコアによるタスク処理は、連続して同一のプロセッサコアにより実行される必要があるため、家庭用のパーソナルコンピュータ等と比較すると、まとまったアイドル時間が生じやすい。従って、プロセッサコア202~204が、タスクB、C、Dに係る処理B、C、Dの合間に監視処理を行うことによる性能低下本来実行すべきタスクB、C、Dの処理遅延は、大きいものとはならない。一方、プロセッサコア202~204の処理負荷が高い場合には、タスクスケジューラ12Aは、相対的に優先度の低いタスクを実行しているプロセッサコアが、集中的にミラー処理及び比較処理を行うように指示する。以下、係る状態を集中監視モードと称する。ここで、集中的にとは、分散監視モードと比較してミラー処理及び比較処理の配分が偏った状態をいう。例えば、ミラー処理及び比較処理を行うプロセッサコアの数が分散監視モードよりも少なくなった状態をいうものであってもよいし、プロセッサコア2022、203、204が、ある期間内にミラー処理をそれぞれ[5タスク、5タスク分、5タスク分]と均等に近い状態で配分されて行っていたのを、[2タスク分、2タスク分、11タスク分]のように配分変更することをいうものであってもよい。後者の場合、配分が増加するプロセッサコアは、相対的に優先度の低いタスクを実行しているプロセッサコアとする。集中監視モードの一例としては、例えば、最も優先度の低いタスクDを実行しているプロセッサコア204が、タスクAに含まれる処理A-1、A-2、A-3と同一の処理を集中的にこの場合、一括して行い、自己の処理結果をプロセッサコア201による処理結果と比較する処理を行うように、タスクスケジューラ12Aによって指示される。この場合、タスクDに係る処理Dの実行は停止させてもよいし、ミラー処理及び比較処理に係る処理負荷が小さい場合には、プロセッサコア201を監視するための処理の合間に実行させてもよい。なお、集中監視モードにおいても、比較処理はプロセッサコア204が実行するのではなく、オペレーティングシステム12が実行してもよい。また、上記のように、集中監視モードにおいて、監視処理を行うプロセッサコアは一個に限らず、相対的に優先度の低いタスクを実行している複数のプロセッサコアが監視処理を行ってもよい。例えば、プロセッサコア203、4が相対的に優先度の低いタスクを実行している場合、プロセッサコア202、203、204がある期間内にミラー処理をそれぞれ[5タスク、5タスク分、5タスク分]と配分されて行っていたのを、[0タスク分、7タスク分、8タスク分]のように配分変更してもよい。逆に、優先度の最も低いタスクを実行しているプロセッサコアが複数存在し、集中監視モードにおける監視処理を行うプロセッサコアを一個と定める場合、コアID等に従って任意に監視処理を行うプロセッサコアを選択してよい。係る制御によって、プロセッサコア201の処理結果に対する信頼性を維持しつつ、プロセッサコア202~204が十分な性能を発揮することができる。すなわち、プロセッサコア202~204の処理負荷が低い場合には、監視処理をプロセッサコア202~204で分散して行わせるため、監視処理を行うことによる性能低下は、大きいものとはならない。また、プロセッサコア202~204の処理負荷が高い場合には、最も優先度の低いタスクDを実行しているプロセッサコア204に、監視処理を集中的に行わせるため、他の優先度が高いタスクに対しては、プロセッサコア201を監視するための処理負担が影響を及ぼさない。更に、プロセッサコア204を原則として監視処理の専用プロセッサにすることによって、監視処理の信頼性を高く維持することができる。従って、いずれの場合にも、プロセッサコア201の処理結果に対する信頼性を維持しつつ、監視処理に起因した処理負担の増大を小さく留めることができる。図4は、上記説明したタスクの優先度と、タスクスケジューラ12Aによる制御の対応表である。タスクスケジューラ12Aは、図示するような規則に従い、監視処理の割当を決定する。[処理フロー]図5は、タスクスケジューラ12Aにより実行される処理の流れを示すフローチャートである。本フローは、例えば所定時間毎に繰り返し実行される。まず、タスクスケジューラ12Aは、処理負荷評価部12Bによる直近の評価を取得するS100。次に、タスクスケジューラ12Aは、処理負荷評価部12Bによりプロセッサコア202~204の処理負荷が低いと評価されたか否かを判定するS102。処理負荷評価部12Bによりプロセッサコア202~204の処理負荷が低いと評価された場合は、現在の監視モードが分散監視モードであるか否かを判定するS104。現在の監視モードが分散監視モードであると判定した場合は、何も処理を行わず、本フローを終了する。一方、タスクスケジューラ12Aは、S104において現在の監視モードが集中監視モードであると判定した場合は、集中監視モードから分散監視モードに切替え、タスクスケジュールの再編成を行うS106。また、タスクスケジューラ12Aは、処理負荷評価部12Bによりプロセッサコア202~204の処理負荷が高いと評価された場合は、現在の監視モードが集中監視モードであるか否かを判定するS108。現在の監視モードが集中監視モードであると判定した場合は、何も処理を行わず、本フローを終了する。一方、タスクスケジューラ12Aは、S106において現在の監視モードが分散監視モードであると判定した場合は、分散監視モードから集中監視モードに切替え、タスクスケジュールの再編成を行うS110。[まとめ]以上説明した本実施例のマルチコアプロセッサによれば、プロセッサコア201の処理結果に対する信頼性を維持しつつ、プロセッサコア202~204が十分な性能を発揮することができる。[変形等]以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。例えば、監視処理において、プロセッサコア202~204が、プロセッサコア201と同一の演算を行ってプロセッサコア201の処理結果と比較するものとしたが、これに限らず、より簡易な手法、例えば処理結果のうち下位の数ビットのみチェックするための演算を行う、或いは符号のみチェックする等、如何なる手法を用いて監視処理を行ってもよい。また、被監視プロセッサコアの監視処理を、複数のプロセッサコアによって冗長的に行うことを前提としてもよい。例えば、プロセッサコアの本来のタスクとして、プロセッサコア201が優先度高のタスクA-1、A-2、A-3を実行し、プロセッサコア202~206がそれぞれ優先度中のタスクB、C、D、E、Fを実行し、プロセッサコア207、208が優先度低のタスクG、Hを実行するようにスケジューリングされたとする。ここで、タスクA-1、A-2、A-3のうちタスクA-1が最も処理時間を要するものである場合、各プロセッサコアの処理負荷が低い場合の分散監視モードでは、例えば、プロセッサコア207、208がタスクA-1のミラー処理及び比較処理を独自に行い、プロセッサコア205、206がタスクA-2のミラー処理及び比較処理を独自に行い、プロセッサコア203、204がタスクA-3のミラー処理及び比較処理を独自に行うように監視処理を割り当てる。そして、各プロセッサコアの処理負荷が上昇したことにより集中監視モードに移行すると、例えば、プロセッサコア207、208がタスクG、Hの実行を停止すると共に、それぞれが独自にタスクA-1、A-2、A-3のミラー処理及び比較処理を行うようにスケジューリングする。これによって、被監視プロセッサコア201が実行するタスクについては、分散監視モードか集中監視モードかに拘わらず、他の二以上のプロセッサコアにより監視処理が行われることになり、被監視プロセッサコア201の処理結果に対する信頼性を更に向上させることができる。また、最も優先度の高い高が設定されているタスクを実行しているプロセッサコアを被監視プロセッサコアとしたが、これに代えて、特定のプロセッサコアを被監視プロセッサコアとしても構わない。優先度の高いタスクを特定のプロセッサコアが常時実行している場合は、被監視プロセッサコアを固定しても問題は生じないからである。なお、被監視プロセッサコアは複数であってもよい。また、処理負荷評価部12Bは、プロセッサコア202~204のCPU使用率の平均値が基準値を超える場合にプロセッサコア202~204の処理負荷が高いと評価し、基準値以下である場合にプロセッサコア202~204の処理負荷が低いと評価するものとしたが、これに限定されない。例えば、CPU使用率の加重平均優先度の高いタスクを実行しているプロセッサコアの重み係数を大きくする、幾何平均等を基準値と比較して処理負荷を評価してもよいし、CPU使用率以外の指標を用いて処理負荷を評価してもよい。また、共有メモリ30に設定される領域は、各プロセッサコアが内蔵するレジスタやキャッシュメモリ上に設定されても構わない。