複数の機能を実行可能な複数のプロセッサコアと、前記複数の機能と前記複数のプロセッサコアとの対応関係を決定すると共に、前記複数のプロセッサコアのうち少なくとも一部を、機能を実行しない待機状態とされる予備コアに指定する制御手段と、を備え、前記制御手段は、所定の切り替えタイミングが到来する度に、前記予備コアの指定を変更することを特徴とする、マルチコアプロセッサ。請求項1に記載のマルチコアプロセッサであって、前記制御手段は、前記複数の機能と前記複数のプロセッサコアとの対応関係、及び前記複数のプロセッサコアにおける前記予備コアの指定を、循環的に変更する手段である、マルチコアプロセッサ。請求項2に記載のマルチコアプロセッサであって、前記制御手段は、前記予備コアに指定されていないプロセッサコアに異常が生じた際には、該異常が生じたプロセッサコアの実行していた機能を、前記予備コアに代替させる手段である、マルチコアプロセッサ。請求項1に記載のマルチコアプロセッサであって、前記制御手段は、前記複数のプロセッサコアのうち特定プロセッサコアが前記複数の機能を順に実行し、該特定プロセッサコア以外の非特定プロセッサコアが前記複数の機能のうち自己に割り当てられた特定の機能のみを実行するように制御する手段である、マルチコアプロセッサ。請求項4に記載のマルチコアプロセッサであって、前記制御手段は、前記所定の切り替えタイミングにおいて前記特定プロセッサコアに機能が移動した非特定プロセッサコアを、前記予備コアに指定する手段である、マルチコアプロセッサ。請求項4又は5に記載のマルチコアプロセッサであって、前記制御手段は、前記予備コアに指定されていないプロセッサコアに異常が生じた際には、該異常が生じたプロセッサコアの実行していた機能を、前記特定プロセッサコアに代替させる手段である、マルチコアプロセッサ。請求項6に記載のマルチコアプロセッサであって、前記制御手段は、前記予備コアに指定されていないプロセッサコアに異常が生じた際には、前記特定プロセッサコアが実行していた機能を、前記予備コアに指定されていた非特定プロセッサコアに割り当てる手段である、マルチコアプロセッサ。しかしながら、上記従来の特許文献1に記載の技術では、動作コアの故障時に、予備コアが代替処理を正常に行うことができることの信頼性が小さい。予備コアが長時間の間、何も処理を行わない状態が継続する可能性があり、その間における経年劣化等により、代替処理が正常に行われない場合があるからである。また、予備コアが、故障した動作コアの機能を過去に全く実行していない可能性も高く、これも信頼性を低下させる要因となる。本発明はこのような課題を解決するためのものであり、プロセッサコアのいずれかに異常が発生した際に行われる代替処理の信頼性を向上させることが可能なマルチコアプロセッサを提供することを、主たる目的とする。上記目的を達成するための本発明の一態様は、複数の機能を実行可能な複数のプロセッサコアと、前記複数の機能と前記複数のプロセッサコアとの対応関係を決定すると共に、前記複数のプロセッサコアのうち少なくとも一部を、機能を実行しない待機状態とされる予備コアに指定する制御手段と、を備え、前記制御手段は、所定の切り替えタイミングが到来する度に、前記予備コアの指定を変更することを特徴とする、マルチコアプロセッサである。この本発明の一態様によれば、所定の切り替えタイミングが到来する度に、予備コアの指定を変更するため、予備コアとして待機しているプロセッサコアが正常に動作可能であるという信頼性が高くなる。また、異常が発生したプロセッサコアの代替処理を行う際に、当該処理を過去に行っている可能性も高くなる。このため、プロセッサコアのいずれかに異常が発生した際に行われる代替処理の信頼性を向上させることができる。本発明の一態様において、前記制御手段は、前記複数の機能と前記複数のプロセッサコアとの対応関係、及び前記複数のプロセッサコアにおける前記予備コアの指定を、循環的に変更する手段であるものとしてもよい。この場合、前記制御手段は、前記予備コアに指定されていないプロセッサコアに異常が生じた際には、該異常が生じたプロセッサコアの実行していた機能を、前記予備コアに代替させる手段であるものとしてもよい。また、本発明の一態様において、前記制御手段は、前記複数のプロセッサコアのうち特定プロセッサコアが前記複数の機能を順に実行し、該特定プロセッサコア以外の非特定プロセッサコアが前記複数の機能のうち自己に割り当てられた特定の機能のみを実行するように制御する手段であるものとしてもよい。この場合、前記制御手段は、前記所定の切り替えタイミングにおいて前記特定プロセッサコアに機能が移動した非特定プロセッサコアを、前記予備コアに指定する手段であるものとしてもよい。特定プロセッサコアを指定する態様の本発明の一態様において、前記制御手段は、前記予備コアに指定されていないプロセッサコアに異常が生じた際には、該異常が生じたプロセッサコアの実行していた機能を、前記特定プロセッサコアに代替させる手段であるものとしてもよい。この場合、前記制御手段は、前記予備コアに指定されていないプロセッサコアに異常が生じた際には、前記特定プロセッサコアが実行していた機能を、前記予備コアに指定されていた非特定プロセッサコアに割り当てる手段であるものとしてもよい。本発明によれば、プロセッサコアのいずれかに異常が発生した際に行われる代替処理の信頼性を向上させることが可能なマルチコアプロセッサを提供することができる。以下、本発明を実施するための形態について、添付図面を参照しながら実施例を挙げて説明する。本発明のマルチコアプロセッサは、車両に搭載され、車載機器制御のための種々の演算処理を行う車載制御装置に好適に適用される。特に、複数の機能が統合された車載制御装置のように、複数の機能を同時実行する装置に好適に適用される。なお、これに限らず、航空機や船舶等の他の移動体、プラント等の構造物を制御する制御装置、家庭用のパーソナルコンピュータ、サーバ装置にも適用されることができる。<第1実施例>以下、図面を参照し、本発明の第1実施例に係るマルチコアプロセッサ1について説明する。[構成]図1は、本発明の第1実施例に係るマルチコアプロセッサ1のシステム構成例である。マルチコアプロセッサ1は、主要な構成として、プログラムメモリ10と、プロセッサコア200~207と、ワーキングメモリ30と、I/O手段40と、を備える。なお、本実施例ではプロセッサコアの個数を8個としたが、2以上の如何なる個数のプロセッサコアを備えてもよい。以下、プロセッサコア200~207の以降の番号を、ID番号と称する。プログラムメモリ10は、例えば、ROMReadOnlyMemory、フラッシュROM、EEPROMElectricallyErasableandProgrammableReadOnlyMemory等の不揮発性メモリである。プログラムメモリ10は、プロセッサコア200~207のそれぞれが実行可能な複数の機能本実施例では、機能A、機能B、機能C、機能D、機能E、機能F、機能G、及びマスター制御機能とするに相当するプログラム命令列を格納している。そして、プログラムメモリ10は、プロセッサコア200~207のそれぞれから入力されるアドレスに格納された命令を、命令フェッチバス15を介してプロセッサコア200~207に出力する。プロセッサコア200~207は、例えば、プログラムカウンタ、命令フェッチユニット、命令キュー、命令発行部、汎用レジスタ、ALUArithmeticLogicUnit、MUL乗算器、DIV除算器、LSULoadStoreUnitその他の演算器を備えるコンピュータ単位である。ワーキングメモリ30は、例えばRAMRandomAccessMemoryであり、データバス35を介してプロセッサコア200~207との間でデータの送受信を行うことができる。I/O手段40は、マルチコアプロセッサ1の外部装置との送受信を行う。外部装置とは、マルチコアプロセッサ1が車載制御装置である場合は、センサーの出力値をデジタル値に変換して出力するA/D変換器等である。係るA/D変換器は、所定期間毎にセンサーの出力値をデジタル変換し、マルチコアプロセッサ1の該当するプロセッサコアに割り込み通知を行う。プロセッサコアでは、割り込み通知を検知することによって、自己が実行する機能のうち必要な処理を行う。[対応関係の決定、及び予備コアの指定]図2は、ある時点で複数の機能がプロセッサコア200~207に割り当てられた状態を示す図である。この時点では、プロセッサコア200が予備コアに指定され、プロセッサコア201に機能A及びマスター制御機能が割り当てられ、プロセッサコア202に機能Bが割り当てられ、プロセッサコア203に機能Cが割り当てられ、プロセッサコア204に機能Dが割り当てられ、プロセッサコア205に機能Eが割り当てられ、プロセッサコア206に機能Fが割り当てられ、プロセッサコア207に機能Gが割り当てられている。ここで、予備コアとは、特定の機能を実行せず、他のコアの代替処理を行うことが可能な待機状態に維持されたプロセッサコアをいう。マスター制御機能が割り当てられたプロセッサコア201は、所定の切り替えタイミングが到来する度に、複数の機能とプロセッサコア200~207との対応関係、及び予備コアの指定を変更する。なお、所定の切り替えタイミングは、マルチコアプロセッサ1が実行する機能に応じて任意に定めて良いが、マルチコアプロセッサ1が車載制御装置である場合は、例えばIGオン、ACCオン等に同期したタイミングとすることが考えられる。また、これに限らず、所定時間毎、1日に1回、1週間に1回等、任意に定めて良い。また、本実施例の場合、複数の機能とプロセッサコア200~207との対応関係、及び予備コアの指定を、以下に説明するように循環的に変更する。本発明において循環的に変更するとは、以下に例示するように、各機能、及び予備コアの指定が、ID番号を1ずつ2ずつ、3ずつ等であってもよい繰り上げて又は繰り下げて割り当てられ、コア207からはコア200に戻るように変更することをいう。予備コア:プロセッサコア200→201→202→203→204→205→206→207→200→...機能A:プロセッサコア201→202→203→204→205→206→207→200→201→...機能B:プロセッサコア202→203→204→205→206→207→200→201→202→...機能C:プロセッサコア203→204→205→206→207→200→201→202→203→...以下省略上記の変更ルールは、以下のようにも表現できる。なお、番号Nは、予備コアに指定されているプロセッサコアのID番号を示し、番号iは、ある機能が割り当てられているプロセッサコアのID番号を示し従って、7種類存在する、modは、剰余を示している。予備コア指定の変更:N→N1mod8機能割り当ての変更A~Gについて:i→i1mod8図3は、図2に示す状態において所定の切り替えタイミングが到来した場合における、複数の機能とプロセッサコア200~207との対応関係、及び予備コアの指定を示す図である。また、図4は、図3に示す状態から所定の切り替えタイミングが4回到来した後における、複数の機能とプロセッサコア200~207との対応関係、及び予備コアの指定を示す図である。[異常発生時の処理]このように、機能や予備コアの割り当てが循環的に行われる中で、いずれかのプロセッサコアに異常が発生すると、マスター制御機能が割り当てられているプロセッサコア201は、まず異常が発生したプロセッサコアを停止させる。そして、プロセッサコア201は、予備コアに指定されているプロセッサコアに当該異常が発生したプロセッサコアの処理を代替させる。プロセッサコアに異常が発生したかどうかの検知は、既知の手法により行われる。例えば、ROMから読み出したデータによるSUMチェック、ALU等の演算値チェック、演算値とI/O手段40から入力されるセンサー出力値の一致判定等によって行う。図5は、図4に示す状態において、プロセッサコア207に異常が発生した後における、複数の機能とプロセッサコア200~207との対応関係、及び予備コアの指定を示す図である。図示するように、プロセッサコア207に割り当てられていた機能Bは、予備コアに指定されていたプロセッサコア205に割り当てられる。なお、いずれかのコアに異常が発生した場合には、ブザーや表示等によってユーザに通知する。その後の制御については、更に予備コアを指定可能な程度にプロセッサコアの個数に余裕があれば、上記のような循環的変更を行ってもよいし、余裕がなければそのままの状態で処理を行うと共に、ユーザに修理点検を促すコメントを出力してもよい。[処理フロー]図6は、第1実施例に係るプロセッサコア201により実行されるマスター制御機能の処理の流れを示すフローチャートである。まず、プロセッサコア201は、所定の切り替えタイミングが到来したか否かを判定するS100。所定の切り替えタイミングが到来した場合は、予備コアに指定されているプロセッサコアのID番号Nを取得するS102。そして、ID番号Nが最大値本実施例では7であるか否かを判定するS104。予備コアに指定されているプロセッサコアの番号、及び後述する機能が割り当てられているプロセッサコアの番号は、プロセッサコア201の汎用レジスタ等に格納されているものとする。ID番号Nが最大値でなければ、プロセッサコア20N1を予備コアに指定するS106。一方、ID番号Nが最大値であれば、プロセッサコア200を予備コアに指定するS108。次に、以下の処理を機能A~Fのそれぞれについて実行する。まず、機能XA~Fを一般化したものをXと称するが割り当てられているプロセッサコアのID番号iを取得するS110。そして、ID番号iが最大値本実施例では7であるか否かを判定するS112。ID番号iが最大値でなければ、機能Xをプロセッサコア20i1に割り当てるS114。一方、ID番号iが最大値であれば、機能Xをプロセッサコア200に割り当てるS116。続いて、プロセッサコア201は、いずれかのプロセッサコアに異常が発生したか否かを判定するS118。いずれかのプロセッサコアに異常が発生した場合は、当該プロセッサコアに割り当てられている機能を、予備コアに指定されているプロセッサコアに割り当てるS120。[従来構成との比較、まとめ]ここで、機能割り当てや予備コアの指定を変更しない態様の、従来構成のマルチコアプロセッサとの比較について説明する。図7は、従来構成のマルチコアプロセッサの動作を説明するための説明図である。図示するように、従来構成のマルチコアプロセッサでは、予備コアが固定的であるために、例えば機能Cを実行しているプロセッサコア3に異常が生じた際に代替処理を行う場合に、機能Cを正常に実行できるかどうか信頼性が低かった。予備コアが代替処理を行うまでに、何ら処理を行っていない可能性があり、過去に機能Cを全く実行していない可能性もあるからである。これに対し、本実施例のマルチプロセッサ1では、機能や予備コアの割り当てが循環的に行われるため、予備コアに指定されているプロセッサコアは、全ての又は多くの機能を既に実行している。この結果、代替処理に係る機能を正常に実行できるという信頼性を高めることができる。更に、プロセッサコアが機能を実行する過程で異常チェックが行われているため、各プロセッサコアが正常であるという信頼性も高めることができる。従って、プロセッサコアのいずれかに異常が発生した際に行われる代替処理の信頼性を向上させることができる。以上説明した本実施例のマルチコアプロセッサ1によれば、プロセッサコアのいずれかに異常が発生した際に行われる代替処理の信頼性を向上させることができる。<第2実施例>以下、本発明の第2実施例に係るマルチコアプロセッサ2について説明する。[構成]については、第1実施例と共通するため、図1を参照するものとし、各構成要素について同一の符号を付し、基本機能についての説明は省略する。[対応関係の決定、及び予備コアの指定]本実施例に係るマルチコアプロセッサ2においても、マスター制御機能が割り当てられたプロセッサコア201は、所定の切り替えタイミングが到来する度に、複数の機能とプロセッサコア200~207との対応関係、及び予備コアの指定を変更する。また、本実施例の場合、プロセッサコア200~207の一部は、複数の機能を順に実行する特定プロセッサコアとして扱われる。この特定プロセッサコアは、他のコアに異常が発生した際に、代替処理が割り当てられる。すなわち、マスター制御機能が割り当てられたプロセッサコア201は、所定の切り替えタイミングが到来する度に、プロセッサコア200~207のうち特定プロセッサコアここでは、プロセッサコア200が特定プロセッサコアであるものとするが複数の機能を順に実行し、他のプロセッサコア以下、非特定プロセッサコアと称するは、複数の機能のうち自己に割り当てられた特定の機能以下、自己機能と称するのみを実行するように制御する。但し、非特定プロセッサコアのうち特定プロセッサコアに機能が移動したプロセッサコアは、予備コアに指定される。これによって、各プロセッサコアに割り当てられる機能、又は予備コアの指定は、以下のように遷移する。なお、初期状態において、プロセッサコア200が特定プロセッサコアであり且つ予備コアに指定されているものとする。プロセッサコア200特定:予備コア→機能A→機能B→機能C→機能D→機能E→機能F→機能G→予備コア→...プロセッサコア201非特定:機能A→予備コア→機能A→機能A→機能A→機能A→機能A→機能A→機能A→...プロセッサコア202非特定:機能B→機能B→予備コア→機能B→機能B→機能B→機能B→機能B→機能B→...プロセッサコア203非特定:機能C→機能C→機能C→予備コア→機能C→機能C→機能C→機能C→機能C→...以下省略上記の変更ルールは、以下のようにも表現できる。なお、modは、剰余を示している。予備コア指定の変更:N→N1mod8機能割り当ての変更:コア200に割り当てられている機能→コア20Nコア20N1mod8に割り当てられている機能→コア200図8は、図2に示す状態において所定の切り替えタイミングが到来した場合における、複数の機能とプロセッサコア200~207との対応関係、及び予備コアの指定を示す図である。また、図9は、図8に示す状態から所定の切り替えタイミングが4回到来した後における、複数の機能とプロセッサコア200~207との対応関係、及び予備コアの指定を示す図である。[異常発生時の処理]このように、機能や予備コアの割り当てが循環的に行われる中で、いずれかのプロセッサコアに異常が発生すると、マスター制御機能が割り当てられているプロセッサコア201は、まず異常が発生したプロセッサコアを停止させる。そして、プロセッサコア201は、当該異常が発生したプロセッサコアが実行していた機能を、特定プロセッサコアであるプロセッサコア200に代替させる。プロセッサコアに異常が発生したかどうかの検知は、第1実施例と同様、既知の手法により行われる。図10は、図9に示す状態において、プロセッサコア203に異常が発生した後における、複数の機能とプロセッサコア200~207との対応関係、及び予備コアの指定を示す図である。図示するように、プロセッサコア203に割り当てられていた機能Fは、特定プロセッサコアであるプロセッサコア200に割り当てられる。そして、特定プロセッサコアであるプロセッサコア200が実行していた機能は、予備コアであるプロセッサコア205に割り当てられる。なお、いずれかのコアに異常が発生した場合には、ブザーや表示等によってユーザに通知する。その後の制御については、更に予備コアを指定可能な程度にプロセッサコアの個数に余裕があれば、上記のような循環的変更を行ってもよいし、余裕がなければそのままの状態で処理を行うと共に、ユーザに修理点検を促すコメントを出力してもよい。[処理フロー]図11は、第2実施例に係るプロセッサコア201により実行されるマスター制御機能の処理の流れを示すフローチャートである。まず、プロセッサコア201は、所定の切り替えタイミングが到来したか否かを判定するS200。所定の切り替えタイミングが到来した場合は、予備コアに指定されているプロセッサコアのID番号Nを取得するS202。そして、プロセッサコア20Nを、そのプロセッサコアの自己機能を実行する状態に戻しS204、ID番号Nが最大値本実施例では7であるか否かを判定するS206。ID番号Nが最大値でなければ、プロセッサコア20N1を予備コアに指定すると共に、プロセッサコア20N1が実行していた機能をプロセッサコア200に割り当てるS208。一方、ID番号Nが最大値であれば、プロセッサコア200を予備コアに指定するS210。続いて、プロセッサコア201は、いずれかのプロセッサコアに異常が発生したか否かを判定するS212。いずれかのプロセッサコアに異常が発生した場合は、当該プロセッサコアに割り当てられている機能を、プロセッサコア200に割り当てS214、プロセッサコア200に割り当てられていた機能を、予備コアに指定されているプロセッサコアに割り当てるS216;自己機能に戻す。[まとめ]以上説明した本実施例のマルチコアプロセッサ2によれば、第1実施例と同様に、プロセッサコアのいずれかに異常が発生した際に行われる代替処理の信頼性を向上させることができる。また、第1実施例に比して、プロセッサコア間の機能の移動を少なくすることができる。特定プロセッサコアでない非特定プロセッサコアは、自己機能を実行するか、予備コアに指定されるかの二択で制御される。この結果、ソフトウエアの負荷を小さくすることができる。以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。第1、第2実施例共に、マスター制御機能を実行する主体は、以下のように変更することができる。例えば、プロセッサコア201に限らず、任意のプロセッサコアがマスター制御機能を実行するものとしてもよい。また、図12に示すように、マスター制御機能は、機能A~機能Fのいずれかに付随して、プロセッサコア間を移動するものとしてもよい。図12は、本発明の他の実施態様を説明するための説明図である。また、図13に示すように、マスター制御機能は、いずれのコアにも属しないハードウエア図では、マスター制御回路50と表記したにより実行されるものとしてもよいし、いずれのコアにも属しない他のCPU等により実行されるものとしてもよい。図13は、本発明の他の実施態様を説明するための説明図である。また、マスター制御機能のみを実行する専用のプロセッサコアを備えてもよい。