"CPU内に複数のコアプロセッサを配置し、メモリ上に各コアプロセッサが占有して使用する占有メモリ領域と各コアプロセッサが共有する共有メモリ領域とを配置し、現在運用中の運用ファームウェアを新たな更新ファームウェアに更新する際に、前記運用ファームウェアを稼動する第1のコアプロセッサとは異なる第2のコアプロセッサを選択し、この第2のコアプロセッサの占有メモリ領域に前記更新ファームウェアをロードし、この第2のコアプロセッサにおいて前記更新ファームウェアが正常に動作することを検査し、この検査の後に当該第2のコアプロセッサにおいて前記更新ファームウェアを稼動させると共に、ファームウェアに対する処理要求を前記第1のコアプロセッサから前記第2のコアプロセッサに切り替えて処理する、ことを特徴とする制御装置。前記第2のコアプロセッサの占有メモリ領域に前記更新ファームウェアと該更新ファームウェアの動作を検査するためのテストプログラムとを読み込むメモリロード部と、前記第2のコアプロセッサの占有メモリ領域から前記更新ファームウェアを当該第2のコアプロセッサにロードするプログラムロード部と、前記第2のコアプロセッサの占有メモリ領域から前記テストプログラムを当該第2のコアプロセッサにロードし、該テストプログラムにより前記更新ファームウェアが正常に動作するか否かを判定するテスト実行部と、前記テスト実行部において前記更新ファームウェアが正常に動作すると判定された後に、前記第2のコアプロセッサを前記更新ファームウェアの稼動が可能な状態に設定し、前記第1のコアプロセッサを休眠状態に設定するコア切り替え部と、前記第1のコアプロセッサに対する割り込み要求の受け付けを禁止すると共に前記第2のコアプロセッサに対する割り込み要求の受け付けを開始するように設定し、ファームウェアに対する割り込み要求の通知先を前記第1のコアプロセッサから前記第2のコアプロセッサに切り替える割り込み切り替え部と、を備えることを特徴とする請求項1に記載の制御装置。前記制御装置は、前記第1及び第2のコアプロセッサに加えて、さらに前記第1のコアプロセッサに代わって前記運用ファームウェアの稼動が可能な待機中の状態にある第3のコアプロセッサを備え、前記運用ファームウェアを前記更新ファームウェアに更新する際に、前記コア切り替え部は、前記第2のコアプロセッサを更新ファームウェアの稼動が可能な状態に設定し、前記第1のコアプロセッサを休眠状態に設定すると共に、前記第3のコアプロセッサについては前記待機中の状態をそのまま継続させる、ことを特徴とする請求項2に記載の制御装置。前記制御装置は、前記第1及び第2のコアプロセッサに加えて、さらに前記第1のコアプロセッサに代わって前記運用ファームウェアの稼動が可能な待機中の状態にある第3のコアプロセッサを備え、前記運用ファームウェアを前記更新ファームウェアに更新する際に、前記コア切り替え部は、前記第2のコアプロセッサを更新ファームウェアの稼動が可能な状態に設定し、前記第3のコアプロセッサを休眠状態に設定し、前記割り込み切り替え部は、前記第3のコアプロセッサに対する割り込み要求の受け付けを禁止すると共に前記第2のコアプロセッサに対する割り込み要求の受け付けを開始するように設定し、稼動系と待機系の切り替えにより前記第1のコアプロセッサを前記運用ファームウェアの稼動が可能な待機中の状態に設定し、前記第2のコアプロセッサを更新ファームウェアが動作する稼動中の状態に設定する、ことを特徴とする請求項2に記載の制御装置。制御装置におけるファームウェアの更新方法であって、CPU内に複数のコアプロセッサを配置する手順と、メモリ上に各コアプロセッサが占有して使用する占有メモリ領域と各コアプロセッサが共有する共有メモリ領域とを配置する手順と、現在運用中の運用ファームウェアを新たな更新ファームウェアに更新する際に、前記運用ファームウェアを稼動する第1のコアプロセッサとは異なる第2のコアプロセッサを選択し、この第2のコアプロセッサの占有メモリ領域に前記更新ファームウェアをロードする手順と、前記第2のコアプロセッサにより前記更新ファームウェアが正常に動作することを検査する手順と、前記検査の後に当該第2のコアプロセッサにおいて前記更新ファームウェアを稼動させると共に、ファームウェアに対する処理要求を、前記第1のコアプロセッサから前記第2のコアプロセッサに切り替えて処理する手順と、を含むことを特徴とするファームウェア更新方法。制御装置のコンピュータを、CPU内に複数のコアプロセッサを配置する手段、メモリ上に各コアプロセッサが占有して使用する占有メモリ領域と各コアプロセッサが共有する共有メモリ領域とを配置する手段、現在運用中の運用ファームウェアを新たな更新ファームウェアに更新する際に、前記運用ファームウェアを稼動する第1のコアプロセッサとは異なる第2のコアプロセッサを選択し、この第2のコアプロセッサの占有メモリ領域に前記更新ファームウェアをロードする手段、前記第2のコアプロセッサにより前記更新ファームウェアが正常に動作することを検査する手段、前記検査の後に当該第2のコアプロセッサにおいて前記更新ファームウェアを稼動させると共に、ファームウェアに対する処理要求を、前記第1のコアプロセッサから前記第2のコアプロセッサに切り替えて処理する手段、として機能させることを特徴とするプログラム。ところで、単一ハードウェア同一の制御装置を複数台使用しないという意味の制御装置において、そのシステム運用中、すなわちシステムを停止することなく、ファームウェアのアップデートを行うことは既に行われている。例えば、前述の特許文献1に記載の制御装置では、図1及び図3特許文献1の図1及び図3に示すように2つのCPUと、展開前ファームウェア格納部稼動ファームウェアと新ファームウェアを格納する格納部とを備え、また、メモリ上に、各CPUに用意されるファームウェア格納領域と、2つのCPUから同時にアクセスできる共有メモリとを備えて構成されている。そして、一方の側のCPUのファームウェア格納領域に更新対象の新ファームウェアをロードし、この一方の側のCPUにおいて、ファームウェアを稼動ファームウェアから新ファームウェアに切り替える動作を行う。そして、この一方の側のCPUにおけるファームウェアの切り替え動作の間は、他方の側のCPUがこの間のI/O処理を代替し、その後に、一方の側のCPUが新ファームウェアを稼動させることで、無停止でファームウェアをアップデートする。しかしながら、この特許文献1に記載の制御装置では、更新ファームウェアの動作を事前にチェックすることなくファームウェアの切り替えを行うため、媒体不良やメモリロード時の一部不正など、ファームウェアの更新に伴う不具合を検査できないという問題がある。更に、新ファームウェアへのアップデート操作時に、処理を引き継いでいる側でファームウェアの異常発生が発生した場合は、新ファームウェアへのアップデート操作が完了するまで、両方のファームウェアが動作できない期間が発生し、システムの制御が不能となる時間が生じてしまうという問題がある。このような問題に対処する方法として、更新ファームウェアの動作を事前確認する例を図10に示す。図10は、ファームウェアの更新のために同一装置を2台用意する方法の例を示す図であり、ハードウェア的に密結合した同一装置10及び20を2台用意する例である。この方法では、片方の装置10を稼動系として運用ファームウェアで動作させ、もう片方の装置20を待機系として更新ファームウェアに置き換えてテストを実行した後に、稼動系の装置10から待機系の装置20に処理要求ファームウェア対する処理要求を移すようにしている。しかしながら、この同一装置を2台用意する方法の場合は、異なるハードウェア装置10及び20に対する割り込み制御と、データ書き込みの完了待ち時間等が必要となり、この切り替え動作時間により制御不可能となる空白の時間が生じてしまう。このため、この同一装置を2台用意する方法においては、ファームウェア入れ替え時に制御不能時間が発生するという問題がある。そこでこの発明は、上述の課題を解決することのできる制御装置、及びファームウェア更新方法とそのプログラムを提供することを目的としている。本発明は上記課題を解決するためになされたものであり、本発明の制御装置は、CPU内に複数のコアプロセッサを配置し、メモリ上に各コアプロセッサが占有して使用する占有メモリ領域と各コアプロセッサが共有する共有メモリ領域とを配置し、現在運用中の運用ファームウェアを新たな更新ファームウェアに更新する際に、前記運用ファームウェアを稼動する第1のコアプロセッサとは異なる第2のコアプロセッサを選択し、この第2のコアプロセッサの占有メモリ領域に前記更新ファームウェアをロードし、この第2のコアプロセッサにおいて前記更新ファームウェアが正常に動作することを検査し、この検査の後に当該第2のコアプロセッサにおいて前記更新ファームウェアを稼動させると共に、ファームウェアに対する処理要求を前記第1のコアプロセッサから前記第2のコアプロセッサに切り替えて処理する、ことを特徴とする。本発明の制御装置では、CPUをマルチコア構成とし、メモリ上に各コアごとの占有メモリ領域と共有メモリ領域とを配置する。そして、現在運用中単に現用とも言うの運用ファームウェアを新たな更新ファームウェアに更新する際に、現用の運用ファームウェアを稼動する第1のコアとは異なる第2のコアを選択し、この第2のコアの占有メモリ領域に更新ファームウェアをロードし、この第2のコアにおいて更新ファームウェアが正常に動作することを検査判定し、その後に、第2のコアにおいて更新ファームウェアを稼動すると共に、ファームウェアに対する処理要求を、第1のコアから第2のコアに切り替えて処理する。このように、ファームウェアを更新する際に、更新するファームウェアが正常に動作することを事前に検査する。これにより、単一ハードウェアの制御装置において、システムを停止することなく現在運用中のファームウェアを新たな更新ファームウェアに切り替える際に、この更新ファームウェアに起因してシステム停止などの障害が発生することを回避できる。このため、ファームウェア更新の際の信頼性の向上を図ることができる。本発明の制御装置は、システムの運用を停止することなくファームウェアを更新する際に、更新ファームウェアが格納されている媒体の不良や、メモリへのロードが途中で一部不正となるなど、更新するファームウェアに不具合がある場合に、この更新ファームウェアの不具合を予め検査判定することができる制御装置を提供するものである。これにより、ファームウェアを更新する際に、更新ファームウェアの不具合によるシステム停止などの障害が発生することを回避することができる。さらには、更新ファームウェアへの切り替えの際に、ファームウェアの切り替えによる一時的な制御不能となる時間を短縮することができる。以下、本発明の実施の形態を添付図面を参照して説明する。[第1の実施形態]図1は、本発明の第1の実施形態に係る制御装置の構成を示すブロック図であり、本発明に直接関係する部分のみを示したものである。図1に示す制御装置100は、プログラム制御により動作する単一ハードウェア同一の制御装置を複数台用いないという意味の制御装置であり、この制御装置100は、マルチコア構成のCPU110と、このCPU110の動作を制御するCPU制御部120と、ファームウェアやテストプログラム等を記憶する記憶装置であるメモリ200と、で構成される。CPU110は、コア1と、コア2と、コア3の3つのコアを有している。そして、これらのコア1~3は、それぞれが単独でプログラムを実行する機能を備えるCPUコアまたはプロセッサコアともいうである。このコア1~3により、複数のプログラムを同時に実行することができる。図1に示す例では、ファームウェアの更新を開始する前の状態において、コア1が制御装置100により実制御ファームウェアに対する処理要求を実行する制御が行われている状態のコア稼働中であり、コア2が制御装置100の制御に全く影響していない状態のコア休眠中であり、コア3が制御装置100の実制御にエラーが発生した時に実制御に切り替わるため待機状態のコア待機動作中の例である。また、メモリ200は、その記憶エリアとして、CPU110内の各コア1~3のそれぞれが占有して読み書きできる占有メモリ領域と、任意のコア1~3が読み書きできる各コアから同一データをアクセスできる共有メモリ領域が配置される。図1に示す例では、メモリ200内に、コア1用メモリ領域単にコア1用メモリとも呼ぶ210と、コア2用メモリ領域単にコア2用メモリとも呼ぶ220と、コア3用メモリ領域単にコア3用メモリとも呼ぶ230と、共有メモリ領域単に共有メモリとも呼ぶ240とが配置される。そして、ファームウェアの更新の開始前の状態においては、コア1用メモリ210に運用ファームウェア211が格納され、また、コア3用メモリ230に運用ファームウェア231が格納される。なお、コア1用メモリ210に格納される運用ファームウェア211と、コア3用メモリ230に格納される運用ファームウェア231とは同じものである。そして、後述するようにファームウェアの更新動作の開始に伴い、コア2用メモリ220に、更新ファームウェア221とテストプログラム更新ファームウェア221の動作を検査するためのテストプログラム222とが格納される。このように、図1に示す例では、コア1を、運用ファームウェア211を稼働するコア稼動系とし、コア3を、運用ファームウェア211の待機動作を行うコア待機系とした状態において、休眠中のコア2を用いて、ファームウェアの更新を行う例である図2乃至図9の説明においても同様である。また、CPU制御部120は、メモリロード部121と、プログラムロード部122と、テスト実行部123と、コア切り替え部124と、割り込み切り替え部125とを有している。また、割り込み切り替え部125は、コア1~3のそれぞれに対して割り込み要求をマスク禁止する割り込みマスク部126と、コア1~3のそれぞれに対する割り込み要求のマスクを解除する割り込みマスク解除部127とを有している。メモリロード部121は、更新ファームウェアを動作させる占有メモリ図1に示す例ではコア2用メモリ220に更新ファームウェアとテストプログラムを読み込む動作をする。図2は、このメモリロード部121における処理の流れ示すフローチャートである。このフローチャートを参照すると、まず、CPU制御部120からの指示により、メモリロード部121は、図示しない外部装置から更新ファームウェアを読み込み、この読み込んだ更新ファームウェアをメモリ200にロード書き込み処理する。例えば、図1に示す例では、コア2用メモリ220に更新ファームウェア221をロードするステップS11。続いて、メモリロード部121は、同様に図示しない外部装置からテストプログラムを読み込み、この読み込んだテストプログラをメモリ200にロードする。例えば、図1に示す例では、コア2用メモリ220にテストプログラム222としてロードするステップS12。次に、メモリロード部121は、更新ファームウェアとテストプログラムの読み込み動作外部装置からの読み込みとコア2用メモリ220へのロード処理が完了できたかチェックしステップS13、完了できた場合はステップS13:YES、CPU制御部120に正常終了を返却するステップS14。一方、完了できなかった場合はステップS13:NO、CPU制御部120に異常終了を返却するステップS15。そして、ステップS14においてメモリロード部121から正常終了が返却されると、CPU制御部120は、プログラムロード部122により、任意の休眠中のコア、例えば、図1に示す例では、コア2に更新ファームウェア221をロードする。図3は、プログラムロード部122における処理の流れを示すフローチャートである。このフローチャートを参照して、例えば、図1に示す例では、コア2において、更新ファームウェア221のプログラムを起動してステップS21、プログラムが動作を開始できたか否かを判定しステップS22、プログラムが開始できた場合はステップS22:YES、CPU制御部120に正常終了を返却するステップS23。一方、プログラムが開始できなかった場合はステップS22:NO、異常終了をCPU制御部120に返却するステップS24。テスト実行部123は、例えば、図1に示す例において、休眠中のコア2にテストプログラム222をロードし、更新ファームウェア221が正常に動作するか否かを検査判定する。図4は、テスト実行部123における処理の流れを示すフローチャートである。このフローチャートを参照して、まず、コア2においてテストプログラム222を動作させステップS31、テストプログラム222が正常に完了終了したか否かを判定しステップS32、正常に終了できた場合はステップS32:YES、正常終了をCPU制御部120に返却しステップS33、正常に終了できなかった場合はステップS32:NO、異常終了をCPU制御部120に返却するステップS34。上述した、メモリロード部121、プログラムロード部122、及びテスト実行部123における一連の処理において、異常終了が返却された場合は、更新ファームウェア更新プログラムの事前動作の確認ができなかった場合であるので、CPU制御部120ではファームウェアの更新処理を停止する。一方、正常に終了した場合には、更新ファームウェアが正常に動作できる場合であるので、CPU制御部120では更新処理を続け、次に、コア切り替え部124により、コアの稼動状態と休眠状態とを切り替える。図5は、コア切り替え部124の動作を示すフローチャートである。このフローチャートに示すように、コア切り替え部124では、コア1~3を起動させるか休眠させるかを決定制御する排他的ON/OFFフラグ図示せずのオンONとオフOFFを切り替えることで、1つのコア例えば、コア2を起動状態とし、もう1つのコア例えば、コア1を休眠状態にするステップS41。また、割り込み切り替え部125は、任意のコア1~3に対する割り込み要求をマスク禁止する割り込みマスク部126と、同じく任意のコア1~3に対する割り込み要求のマスクを解除する割り込みマスク解除部127とで構成される。この割り込みマスク部126では、任意のコア1~3に対する割り込み要求をマスクする割込フラグ図示せずを、例えば、オン設定することにより、割り込みの受け付けをマスクするステップS51。また、割り込みマスク解除部127は、図7のフローチャートに示すように、任意のコア1~3に対して、例えば、割込フラグ図示せずをオフ設定することにより、割り込みマスクを解除し、割り込み要求が受け付けられるようにするステップS61。この割り込みマスク部126及び割り込みマスク解除部127により、1ポイント瞬時で複数のコア1~3に対する割り込み先の切り替えを行うことができる。例えば、図1に示す例では、コア切り替え部124により、コア2において更新ファームウェア221の稼動が可能な状態にした後に、割り込みマスク部126により運用中のコア1への割り込み要求をマスクし、割り込みマスク解除部127によりコア2に対するマスクを解除する処理を実行することにより、割り込み通知先ファームウェアへの処理要求先を、コア1からコア2へ切り替えることができる。次に、図8のシーケンス図を参照して本発明の第1の実施形態の動作について詳細に説明する。このシーケンス図を参照して、まず、コア1が運用ファームウェア211の稼動中稼動系として処理を行っているものとするステップS100。また、この時コア2は休眠中の状態としてシステム運用には関係してないものとするステップS101。同時にコア3が運用ファームウェアの動作が可能な待機中待機系として処理を行っているものとするステップS102。この状態において、ファームウェアのアップデートを開始すると、始めにメモリロード部121によって、休眠中のコア2の占有メモリコア2用メモリ220に更新ファームウェア221とテストプログラム222を読み込むステップS103およびステップS104。次に、プログラムロード部122によって、休眠中であったコア2に更新ファームウェア221をロードするステップS105。そして、テスト実行部123により、コア2にテストプログラム222をロードし、このコア2においてテストプログラム222を実行するステップS106。このステップS103からS106までの一連の動作が完了することにより、更新ファームウェア221が正しく動作できることをテストプログラム222によって検査することができる。これにより、更新ファームウェア221の事前動作の検査が完了したことになるステップS107。次に、ファームウェアを稼動するコアとして、更新ファームウェア221が動作可能となったコア2と、運用ファームウェア211を稼動中のコア1とを入れ替える。この場合、割り込みマスク部126によって、コア1への割り込みをマスクすることにより、コア1おける運用ファームウェア211の動作を未動作状態にするステップS108。なお、この段階では、コア2は更新ファームウェア未動作の休眠中の状態にあるステップS109。その後に、コア切り替え部124によって、稼動中と休眠中のフラグが入れ替えられて、コア1が運用ファームウェア未動作の休眠中になりステップS110、コア2が運用ファームウェア未動作の稼働中になるステップS111。最後に、割り込みマスク解除部127によって、コア2への割り込みマスクが解除され、コア2は更新ファームウェア動作の稼動中となり、コア2において更新ファームウェア221が稼動系として動作することになるステップS113。なお、この段階において、コア1は休眠状態が維持されステップS112、コア3は、待機中の状態が維持されるステップS114。そして、上述したステップS108からステップS113までの一連の切り替え動作においては、ごく短時間に稼動中のコアがコア1からコア2に入れ替わるので、1ポイント瞬時でファームウェアの更新を完了することができる。なお、一連のファームウェア更新処理においてエラーが発生した場合には、テスト完了ステップS107までの間では更新処理が停止し、テスト完了以降ではコア切り替え部124と割り込み切り替え部125により、割り込み通知先を元のコア1に戻す。このことにより、エラーが発生した場合でもファームウェア更新処理の前の状態に戻すことができる。また、待機系として動作するコア3はファームウェア更新の影響を全く受けずに待機動作を続けているステップS102及びステップS114。このため、ファームウェア更新中においても制御装置100としての冗長性を損なうことがない。また、上記手順によりファームウェアの更新が完了した後に、さらに新たな次の更新ファームウェアに更新する際には、コア2において稼動される更新ファームウェア221を新たな現用の運用ファームウェアとする。そして、コア3に、更新ファームウェア221を運用ファームウェアとしてロードし、このコア3を待機系にすると共に、休眠中のコア1を用いて新たな次の更新ファームウェアに更新する。この休眠中のコア1を用いて新たな次の更新ファームウェアに更新する場合の手順は、図8に示すシーケンス図において、コア1とコア2とを入れ替えた場合の手順と同様になる。以上説明したように、第1の実施形態に係わる制御装置100では、第1の効果として、ファームウェア更新に際に、更新するファームウェアが正常に動作することを事前に検査することができるので、これにより、ファームウェアを更新する際の信頼性を向上させることができる。また、第2の効果として、運用ファームウェアを更新ファームウェアへ切り替える場合に、コアに対する稼動及び休眠状態の切り替えと、コアに対する割り込みマスクの変更と言う、ごく短時間に処理を完了できる手段を用いて切り替えを行うので、これにより、ファームウェアの更新に伴い発生する空白時間制御装置が処理を行えない時間を著しく短縮できる。[第2の実施形態]上述した第1の実施形態においては、コア2に更新ファームウェア221をロードして実行させることにより、このコア2を稼動中稼動系にすると共に、コア1を休眠中にし、また、コア3を運用ファームウェア211の動作が可能な待機中待機系の状態のまま継続する例について説明した。すなわち、コア3については、ファームウェア更新の影響を全く受けずに待機動作をそのまま継続する例について説明した。これに対して、本発明の第2の実施形態では、コア2に更新ファームウェア221をロードして実行させることにより、このコア2を待機中待機系にすると共に、コア3を休眠中にし、その後、一般的な稼動系と待機系の切り替えにより、コア1を運用ファームウェア211の動作が可能な待機中待機系にし、コア2を待機中待機系から稼動中稼動系の状態にする例について説明する。すなわち、第1の実施形態では、更新ファームウェアをロードしたコア2について、稼動系との間で切り替えることにより、コア3が待機系のままである。これに対して、第2の実施形態では、更新ファームウェアをロードしたコア2について、待機系コア3との間で切り替えてから、その後、稼働系コア1と切り替えることにより、コア1が待機系になり、コア3については待機中から休眠中に切り替えられる場合の例について説明する。図9は、本発明の制御装置の第2の実施形態の動作について説明するためのシーケンス図である。以下、図9に示すシーケンス図を参照して第2の実施形態の動作について説明する。まず、コア1が運用ファームウェア211を動作させ稼動系として処理を行っているものとするステップS200。この時コア2は休眠状態としてシステム運用には関係しないものとするステップS201。同時にコア3が運用ファームウェアの動作が可能な待機系として処理を行っているものとするステップS202。この状態において、ファームウェアのアップデートを開始すると、初めにメモリロード部121によって、休眠中のコア2の占有メモリコア2用メモリ220に更新ファームウェア221とテストプログラム222が読み込まれるステップS203およびステップS204。次に、プログラムロード部122によって、休眠中であったコア2に更新ファームウェア221がロードされるステップS205。そして、テスト実行部123により、テストプログラム222をコア2にロードし、このコア2においてテストプログラム222を動作させるステップS206。上述したステップS200からS206までの一連の動作が完了することにより、更新ファームウェア221が正しく動作できることをテストプログラム222によって検査判定することができる。これにより、更新ファームウェア221の事前検査が完了したことになるステップS207。この更新ファームウェア221の検査完了の後、コア2は、更新ファームウェア221未動作の休眠中となりステップS208、コア3は、割り込みマスク部126により割り込みがマスクされ運用ファームウェア未動作の稼動中の状態になるステップS209。続いて、コア切り替え部124により、コア2は更新ファームウェア未動作の待機中になりステップS210、また、コア3は運用ファームウェア未動作の休眠中になるステップS211。その後、割り込みマスク解除部127により、コア2の割り込みマスクを解除し、コア2は、更新ファームウェア動作の待機中になるステップS213。また、この状態において、コア1は、運用ファームウェア動作の稼動中でありステップS212、コア3は、運用ファームウェア未動作の休眠中であるステップS214。最後に、一般的な稼動系と待機系の切り替え動作によって、更新ファームウェア221が動作しているコア2が稼動中稼動系になりステップS216、運用ファームウェア211が動作しているコア1が待機中待機系に切り替わるステップS215。なお、コア3は、休眠中を維持するステップS217。上記手順により、制御装置100において、運用ファームウェア211から更新ファームウェア221に切り替えることができる。以上説明したように、第2の実施形態においては、休眠中のコア2を用いて更新ファームウェア221が正常に動作するか否かを事前に検査し、このコア2を稼動系として動作させると共に、かつては運用ファームウェア211の稼動系であったコア1を待機系のコアとすることができる。また、かつては待機系であったコア3を休眠中のコアとすることができる。このように、第2の実施形態ではコア1を待機系とすることができ、前述の第1の実施形態では、コア3を待機系とすることができるなど、コア1または3のいずれかを選択して待機系のコアとすることができる。なお、ここで、本発明と上記実施形態との対応関係について補足して説明しておく。上記実施形態において、本発明におけるCPUは、CPU110が対応し、本発明における複数のコアは、コア1~3が対応する。また、本発明における第1のコアは、コア1が対応し、本発明における第2のコアは、コア2が対応し、本発明における第3のコアは、コア3が対応する。また、本発明におけるメモリは、メモリ200が対応し、本発明における占有メモリ領域は、コア1用メモリ210と、コア2用メモリ220と、コア3用メモリ230と対応する。また、本発明における共有メモリ領域は、共有メモリ240が対応する。また、本発明における運用ファームウェアは、現用の運用ファームウェア211が対応し、本発明における更新ファームウェアは、新たに更新するファームウェアである更新ファームウェア221が対応し、本発明におけるテストプログラムは、テストプログラム222が対応する。また、本発明におけるメモリロード部は、メモリロード部121が対応し、本発明におけるプログラムロード部は、プログラムロード部122が対応し、本発明におけるテスト実行部は、テスト実行部123が対応する。また、本発明におけるコア切り替え部は、コア切り替え部124が対応し、本発明における割り込みマスク部は、割り込みマスク部126が対応し、本発明における割り込みマスク解除部は、割り込みマスク解除部127が対応する。1そして、上記実施形態において、制御装置100は、CPU110内に複数のコア1~3を配置し、メモリ200上に各コア1~3が占有して使用する占有メモリ領域コア1用メモリ210、コア2用メモリ220、及びコア3用メモリ230と各コアが共有する共有メモリ領域共有メモリ240とを配置し、現在運用中の運用ファームウェア211を新たな更新ファームウェア221に更新する際に、運用ファームウェア211を稼動する第1のコア1とは異なる第2のコア2を選択し、この第2のコア2の占有メモリ領域コア2用メモリ220に更新ファームウェア221をロードし、この第2のコア2において更新ファームウェア221が正常に動作することを検査し、この検査の後に当該第2のコア2において更新ファームウェア221を稼動させると共に、ファームウェアに対する処理要求を第1のコア1から第2のコア2に切り替えて処理する。このような構成の制御装置100では、現用の運用ファームウェア211を新たな更新ファームウェア221に更新する際に、運用ファームウェア211を稼動中でないコア2を選択し、当該選択したコア2の占有メモリ領域コア2用メモリ220に更新ファームウェア221をロードし、このコア2においてロードした更新ファームウェア221を動作させて正常に動作するか否かを検査判定する。この検査により正常に動作すると判定された後に、コア2において更新ファームウェア221を稼動させると共に、ファームウェアに対する処理要求を、コア1からコア2に切り替えて処理する。これにより、単一ハードウェアの制御装置100において、運用途中システム無停止で運用ファームウェア211を新たな更新ファームウェア221に切り替える際に、このファームウェア更新に起因してシステム停止などの障害が発生することを回避でき、ファームウェア更新の際の信頼性の向上を図ることができる。2また、上記実施形態において、制御装置100は、第2のコア2の占有メモリ領域コア2用メモリ220に更新ファームウェア221と該更新ファームウェア221の動作を検査するためのテストプログラム222とを読み込むメモリロード部121と、第2のコア2の占有メモリ領域コア2用メモリ220から更新ファームウェア221を当該第2のコア2にロードするプログラムロード部122と、第2のコア2の占有メモリ領域コア2用メモリ220からテストプログラム222を当該第2のコア2にロードし、該テストプログラム222により更新ファームウェア221が正常に動作するか否かを判定するテスト実行部123と、テスト実行部123において更新ファームウェア221が正常に動作すると判定された後に、第2のコア2を更新ファームウェア221の稼動が可能な状態に設定し、第1のコアを休眠状態に設定するコア切り替え部124と、第1のコア1に対する割り込み要求の受け付けを禁止すると共に第2のコア2に対する割り込み要求の受け付けを開始するように設定し、ファームウェアに対する割り込み要求の通知先を第1のコア1から第2のコア2に切り替える割り込み切り替え部125と、を備える。このような構成の制御装置100では、メモリロード部121により、更新ファームウェア221及びテストプログラム222をコア2用メモリ220に読み込む。そして、プログラムロード部122により、更新ファームウェア221をコア2にロードし、テスト実行部123により、テストプログラム222をコア2にロードし、このテストプログラム222を実行することにより更新ファームウェア221が正常に動作するか否かを検査判定する。そして、更新ファームウェア221が正常に動作すると判定された後に、コア切り替え部124は、コア2を更新ファームウェア221の稼動が可能な状態に設定し、コア1を休眠状態に設定する。その後、割り込み切り替え部125は、第1のコア1に対する割り込み要求の受け付けを禁止すると共に、第2のコア2に対する割り込み要求の受け付けを開始するように設定し、ファームウェアに対する割り込み要求の通知先を第1のコア1から第2のコア2に切り替える。これにより、単一ハードウェアの制御装置100において、運用途中システム無停止で運用ファームウェア211を更新ファームウェア221に切り替える際に、更新ファームウェア221が正常に動作するか否かを事前に検査することができ、運用ファームウェアを新たな更新ファームウェアに切り替える際の信頼性の向上を図ることができる。3また、上記実施形態において、制御装置100は、第1及び第2のコア1,2に加えて、さらに第1のコア1に代わって運用ファームウェア211の稼動が可能な待機中の状態にある第3のコア3を備え、運用ファームウェア211を更新ファームウェア221に更新する際に、コア切り替え部124は、第2のコア2を更新ファームウェア221の稼動が可能な状態に設定し、第1のコア1を休眠状態に設定すると共に、第3のコア3については待機中の状態をそのまま継続させる。このような構成の制御装置100では、運用ファームウェア211を更新ファームウェア221に更新する際に、コア切り替え部124は、第2のコア2を更新ファームウェア221の稼動が可能な状態に設定し、第1のコア1を休眠状態に設定すると共に、第3のコア3については待機中の状態をそのまま継続させる。これにより、運用ファームウェア211を新たな更新ファームウェア221に切り替える際の信頼性の向上を図ることができる効果に加えて、運用ファームウェア211の稼動が可能な待機系コア3をそのまま維持することができる。このため、ファームウェア更新中においても制御装置100としての冗長性を損なうことがない。4また、上記実施形態において、制御装置100は、第1及び第2のコア1,2に加えて、さらに第1のコア1に代わって運用ファームウェア211の稼動が可能な待機中の状態にある第3のコア3を備え、運用ファームウェア211を更新ファームウェア221に更新する際に、コア切り替え部124は、第2のコア2を更新ファームウェア221の稼動が可能な待機中の状態に設定し、第3のコア3を休眠状態に設定し、割り込み切り替え部125は、第3のコア3に対する割り込み要求の受け付けを禁止すると共に第2のコア2に対する割り込み要求の受け付けを開始するように設定し、一般的な稼動系と待機系の切り替えにより第1のコア1を運用ファームウェア211の稼動が可能な待機中の状態に設定し、第2のコア2を更新ファームウェア221が動作する稼動中の状態に設定する。このような構成の制御装置100では、運用ファームウェア211を更新ファームウェア221に更新する際に、コア切り替え部124は、第2のコア2を更新ファームウェア221の稼動が可能な状態に設定し、第3のコア3を休眠状態に設定すると共に、第1のコア1を運用ファームウェア211の稼動が可能な待機中の状態に設定する。これにより、運用ファームウェアを新たな更新ファームウェアに切り替える際の信頼性の向上を図ることができる効果に加えて、運用ファームウェアが稼動していたコア1を、運用ファームウェア211の稼動が可能な待機中の状態に設定することができる。このように、コア1または3のいずれかを選択して待機系とすることができる。以上、本発明の実施の形態について説明したが、本発明の制御装置は、上述の図示例にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。例えば、図1に示す例では、CPU110を、3つのコア1~3で構成する例について説明したが、CPU110を2つのコア1及びコア2で構成することができる。また、CPU110を4つ以上のコアで構成することもできる。なお、CPU110を、2つのコア1及びコア2で構成する場合は、図9のシーケンス図に示す手順と同様にしてただし、コア3に対する手順は省略される、コア2を更新ファームウェア221の稼動系とし、コア1を運用ファームウェア211の待機系とすればよい。"