(57)【要約】【課題】第２の演算処理装置用の初期起動後のプログラムを第１の演算処理装置に接続された第１の不揮発性メモリに格納するようにした構成において第１の演算処理装置に動作異常が発生した場合でも、第２の演算処理装置を起動させて動作を行わせることを可能にする。【解決手段】切替回路７０は、故障検出回路４２がＣＰＵ１０の動作異常を検出していない場合、シリアルＲＯＭ６０とＤＳＰ２０とをシリアルのローカルバスにより接続してＤＳＰ用初期ブートプログラム６１によりＤＳＰ２０を起動させる。切替回路７０とＩＦ変換部８０は、故障検出回路４２がＣＰＵ１０の動作異常を検出している場合、ＲＯＭ３０のパラレルのローカルバスをＰ／Ｓ変換期８１によりシリアルのローカルバスに変換することによりＲＯＭ３０とＤＳＰ２０とを接続してＤＳＰ用初期ブート後のプログラムによりＤＳＰ２０を起動させる。【選択図】図１
2012190132.tif 000002
【特許請求の範囲】
【請求項１】
第１の演算処理装置と、
前記第１の演算処理装置と伝送線路により接続された第２の演算処理装置と、
前記第１の演算処理装置に予め設定された処理を行わせるための第１の演算処理装置用プログラムと、初期起動後の前記第２の演算処理装置に動作を行わせるための前記第２の演算処理装置用の初期起動後のプログラムとが格納された第１の不揮発性メモリと、
前記第２の演算処理装置に対して初期起動動作のみを行わせるための第２の演算処理装置用の初期起動プログラムが格納された第２の不揮発性メモリと、
前記第２の演算処理装置に接続された揮発性メモリと、
前記第１の演算処理装置の動作異常を検出する検出手段と、
前記検出手段により前記第１の演算処理装置の動作異常が検出されない場合には、前記第１の不揮発性メモリと前記第１の演算処理装置とを第１のバスインタフェースにより接続し、前記第２の不揮発性メモリと前記第２の演算処理装置とを第２のバスインタフェースにより接続して、前記第２の不揮発性メモリに格納された前記第２の演算処理装置用の初期起動プログラムにより前記第２の演算処理装置を起動させ、前記検出手段により前記第１の演算処理装置の動作異常が検出された場合には、前記第１の不揮発性メモリの第１のバスインタフェースを前記第２のバスインタフェースに変換することにより、前記第１の不揮発性メモリと前記第２の演算処理装置とを接続して、前記第１の不揮発性メモリに格納された前記第２の演算処理装置用の初期起動後のプログラムにより前記第２の演算処理装置を起動させるよう切り替える切替手段と、
を備えた情報処理装置。
【請求項２】
前記第２の演算処理装置用の初期起動プログラムは、前記第２の演算処理装置に対して、前記第１の不揮発性メモリに格納されている前記第２の演算処理装置用の初期起動後のプログラムを前記第１の演算処理装置を介して前記揮発性メモリに転送して格納する動作を行わせる請求項１記載の情報処理装置。
【請求項３】
前記第２の演算処理装置用の初期起動後のプログラムは、前記第２の演算処理装置に対して、前記第１の演算処理装置の動作異常の原因を解析するための動作を行わせる請求項１または２記載の情報処理装置。
【請求項４】
前記第２のバスインタフェースは、前記第１のバスインタフェースおよび前記伝送線路よりも転送速度が遅い請求項１から３のいずれか１項記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置に関する。
【背景技術】
【０００２】
特許文献１には、上位ユニットと下位ユニットとの間に共有ＲＡＭを設け、上位ユニットのＲＯＭに格納された下位ＣＰＵ用のプログラムを共有ＲＡＭを介して下位ＲＡＭに転送することにより下位ユニットにＲＯＭを設けることなく下位ＣＰＵの起動を可能にした制御装置が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００２−２４４８５７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明の目的は、第１および第２の演算処理装置を有する情報処理装置において、第２の演算処理装置を動作させるためのプログラムを第１の演算処理装置に接続された第１の不揮発性メモリに格納するようにした場合に、第１の演算処理装置に動作異常が発生した場合でも、第２の演算処理装置を起動させて動作を行わせることが可能な情報処理装置を提供することである。
【課題を解決するための手段】
【０００５】
請求項１に係る本発明は、第１の演算処理装置と、
前記第１の演算処理装置と伝送線路により接続された第２の演算処理装置と、
前記第１の演算処理装置に予め設定された処理を行わせるための第１の演算処理装置用プログラムと、初期起動後の前記第２の演算処理装置に動作を行わせるための前記第２の演算処理装置用の初期起動後のプログラムとが格納された第１の不揮発性メモリと、
前記第２の演算処理装置に対して初期起動動作のみを行わせるための第２の演算処理装置用の初期起動プログラムが格納された第２の不揮発性メモリと、
前記第２の演算処理装置に接続された揮発性メモリと、
前記第１の演算処理装置の動作異常を検出する検出手段と、
前記検出手段により前記第１の演算処理装置の動作異常が検出されない場合には、前記第１の不揮発性メモリと前記第１の演算処理装置とを第１のバスインタフェースにより接続し、前記第２の不揮発性メモリと前記第２の演算処理装置とを第２のバスインタフェースにより接続して、前記第２の不揮発性メモリに格納された前記第２の演算処理装置用の初期起動プログラムにより前記第２の演算処理装置を起動させ、前記検出手段により前記第１の演算処理装置の動作異常が検出された場合には、前記第１の不揮発性メモリの第１のバスインタフェースを前記第２のバスインタフェースに変換することにより、前記第１の不揮発性メモリと前記第２の演算処理装置とを接続して、前記第１の不揮発性メモリに格納された前記第２の演算処理装置用の初期起動後のプログラムにより前記第２の演算処理装置を起動させるよう切り替える切替手段とを備えた情報処理装置である。
【０００６】
請求項２に係る本発明は、前記第２の演算処理装置用の初期起動プログラムが、前記第２の演算処理装置に対して、前記第１の不揮発性メモリに格納されている前記第２の演算処理装置用の初期起動後のプログラムを前記第１の演算処理装置を介して前記揮発性メモリに転送して格納する動作を行わせる請求項１記載の情報処理装置である。
【０００７】
請求項３に係る本発明は、前記第２の演算処理装置用の初期起動後のプログラムが、前記第２の演算処理装置に対して、前記第１の演算処理装置の動作異常の原因を解析するための動作を行わせる請求項１または２記載の情報処理装置である。
【０００８】
請求項４に係る本発明は、前記第２のバスインタフェースが、前記第１のバスインタフェースおよび前記伝送線路よりも転送速度が遅い請求項１から３のいずれか１項記載の情報処理装置である。
【発明の効果】
【０００９】
請求項１に係る本発明によれば、第１および第２の演算処理装置を有する情報処理装置において、第２の演算処理装置を動作させるためのプログラムを第１の演算処理装置に接続された第１の不揮発性メモリに格納するようにした場合に、第１の演算処理装置に動作異常が発生した場合でも、第２の演算処理装置を起動させて動作を行わせることが可能な情報処理装置を提供することができる。
【００１０】
請求項２に係る本発明によれば、請求項１に係る本発明により得られる効果に加えて、第１の演算処理装置に動作異常が発生していない場合には、第１の不揮発性メモリに格納されている第２の演算処理装置用の初期起動後のプログラムを揮発性メモリに転送して格納することにより第２の演算処理装置に動作を行わせることが可能になるという効果を得ることができる。
【００１１】
請求項３に係る本発明によれば、請求項１または２に係る本発明により得られる効果に加えて、第１の演算処理装置に動作異常が発生した場合には、第２の演算処理装置により第１の演算処理装置の動作異常の原因を解析することが可能になるという効果を得ることができる。
【００１２】
請求項４に係る本発明によれば、請求項１から３のいずれか１項に係る本発明により得られる効果に加えて、第２の不揮発性メモリに第２の演算処理装置の初期起動後のプログラムを格納する場合と比較して、第２の演算処理装置の起動時間を短縮することができるという効果を獲ることができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の一実施形態の情報処理装置のシステム構成を示す図である。
【図２】ＣＰＵ１０が正常に動作している場合における起動時の動作を示したフローチャートである。
【図３】ＣＰＵ１０が正常に動作している場合における起動時の動作を説明するための図である。
【図４】ＣＰＵ１０に動作異常が発生した場合におけるＤＳＰ２０の起動時の動作を示したフローチャートである。
【図５】ＣＰＵ１０に動作異常が発生した場合におけるＤＳＰ２０の起動時の動作を説明するための図である。
【発明を実施するための形態】
【００１４】
次に、本発明の実施の形態について図面を参照して詳細に説明する。
図１は本発明の一実施形態の情報処理装置のシステム構成を示す図である。
【００１５】
本実施形態の情報処理装置は、図１に示されるように、ＣＰＵ(Central Processing Unit)１０とＤＳＰ(Digital Signal Processor)２０という２つのＣＰＵ（演算処理装置）を有している。ＣＰＵ１０は上位ＣＰＵとして機能し、ＤＳＰ２０は下位ＣＰＵとして機能する。下位ＣＰＵとして機能するＤＳＰ２０は、上位ＣＰＵとして機能するＣＰＵ１０の制御に基づいて、指定された処理を実行する。例えば、ＣＰＵ１０が実行すべき処理の一部をＤＳＰ２０に対して実行するような指示を行い処理負荷を分散するような動作が行われる。
【００１６】
ＣＰＵ１０とＤＳＰ２０との間は、ＰＣＩ（Peripheral Component Interconnect）バスまたはＰＣＩ−Expressバスという伝送線路により接続されている。
【００１７】
また、本実施形態の情報処理装置は、ＣＰＵ１０、ＤＳＰ２０とともに、ＲＯＭ３０と、起動管理回路４０と、ＲＡＭ５０と、シリアルＲＯＭ６０、切替回路７０と、ＩＦ（インタフェース）変換部８０と、ＲＡＭ９０とを有している。
【００１８】
ＲＯＭ３０は、パラレル接続のローカルバスによりＣＰＵ１０と接続された不揮発性メモリであり、ＣＰＵ用プログラム３１とＤＳＰ用初期ブート後のプログラム３２とを格納している。ＣＰＵ用プログラム３１は、ＣＰＵ１０に予め設定された処理を行わせるためのプログラムである。また、ＤＳＰ用初期ブート後のプログラム３２は、初期起動後のＤＳＰ２０に動作を行わせるためのプログラムである。
【００１９】
ＲＡＭ５０は、ローカルバスによりＤＳＰ２０により接続され、ＤＳＰ２０の起動時には、ＤＳＰ用初期ブート後のプログラム３２を格納するための揮発性メモリである。
【００２０】
シリアルＲＯＭ６０は、２線式シリアルインターフェイスバスを備えたＥＥＰＲＯＭ（Electrically Erasable Programmable ROM）である。また、シリアルＲＯＭ６０に備えられたシリアルインタフェースバスは、ＳＰＩ（Serial Peripheral Interface）バスと呼ばれるバスインタフェースであり、ＲＯＭ６０と切替回路７０との間、および切替回路７０ＤＳＰ２０との間は、このＳＰＩバスと呼ばれるバスにより接続されている。
【００２１】
このＳＰＩバスは、一般的に低速なバスであり、ＲＯＭ３０とＣＰＵ１０との間を接続しているパラレルの高速なローカルバスや、ＣＰＵ１０とＤＳＰ２０との間を接続しているＰＣＩバスと比較して転送速度が遅くなっている。
【００２２】
このようにシリアルＲＯＭ６０は、シリアル接続のローカルバスにより切替回路７０を介してＤＳＰ２０と接続された不揮発性メモリであり、ＤＳＰ用初期ブートプログラム６１を格納している。
【００２３】
ＤＳＰ用初期ブートプログラム６１は、ＤＳＰ２０に対して初期動作のみを行わせるための初期起動プログラムである。具体的には、ＤＳＰ用初期ブートプログラム６１は、ＤＳＰ２０に対して、ＲＯＭ３０に格納されているＤＳＰ用初期ブート後のプログラム３２をＣＰＵ１０を介してＲＡＭ５０に転送して格納する動作を行わせるプログラムである。
【００２４】
また、ＤＳＰ用初期ブート後のプログラム３２は、ＤＳＰ２０に対して、ＣＰＵ１０の動作異常の原因を解析するための動作を行わせるような解析処理を行わせる機能を有している。
【００２５】
ＤＳＰ２０には、高速なパラレルのバスインタフェースが備わっていない。そのため、ＤＳＰ２０にはシリアルインタフェースを備えたシリアルＲＯＭしか接続することができない。しかし、一般的にシリアルＲＯＭはパラレルのバスインタフェースを備えたＲＯＭよりもコストが高いという問題がある。そのため、シリアルＲＯＭにＤＳＰ２０の全ての動作を行わせるためのプログラムを格納するようにしたのではコストが大幅に高くなってしまう。そのため、本実施形態の情報処理装置では、シリアルＲＯＭ６０には、データサイズが小さいＤＳＰ初期ブートプログラム６１のみを格納するようにして、データサイズが大きくなるＤＳＰ用初期ブート後のプログラム３２をＲＯＭ３０に格納するようにしている。
【００２６】
また、シリアルのバスインタフェースはパラレルのバスインタフェースと比較して転送速度が遅いため、例えシリアルＲＯＭ６０のデータ容量を大きくして、ＤＳＰ用初期ブート後のプログラム３２を格納するようにしたとしても、ＤＳＰ２０の起動時間は遅くなってしまう。
【００２７】
起動管理回路４０は、制御回路４１と故障検出回路４２を備えている。故障検出回路４２は、ＣＰＵ１０からのＣＰＵ故障検知用信号に基づいて、ＣＰＵ１０の動作異常を検出する。
【００２８】
制御回路４１は、システムの起動時にＣＰＵ１０をリセットとしたり、ＣＰＵ１０からのＤＳＰ起動指示信号を受けてＤＳＰ２０をリセットする処理を行う。また、故障検出回路４２がＣＰＵ１０の動作異常を検出した場合にもＤＳＰ２０をリセットする処理を行う。
【００２９】
切替回路７０は、故障検出回路４２がＣＰＵ１０の動作異常を検出していない場合には、ＤＳＰ２０とシリアルＲＯＭ６０とをシリアルのローカルバスにより接続する。そして、切替回路７０は、故障検出回路４２がＣＰＵ１０の動作異常を検出している場合には、ＤＳＰ２０とＩＦ変換部８１とをシリアルのローカルバスにより接続する。
【００３０】
ＩＦ変換部８０は、パラレルのローカルバスとシリアルのローカルバスとの間のインタフェース変換を行うためのＰ／Ｓ（パラレル／シリアル）変換器８１を備えている。そして、ＩＦ変換部８０は、故障検出回路４２がＣＰＵ１０の動作異常を検出していない場合には、ＣＰＵ１０とＲＯＭ３０とをパラレルのローカルバスにより接続する。また、ＩＦ変換部８０は、故障検出回路４２がＣＰＵ１０の動作異常を検出している場合には、ＲＯＭ３０のパラレルのローカルバスをＰ／Ｓ変換器８１によりシリアルのローカルバスに変換して、ＲＯＭ３０を切替回路７０に接続する。
【００３１】
この切替回路７０とＩＦ変換部８０により切替手段が構成され、故障検出回路４２がＣＰＵ１０の動作異常を検出しているか否かに応じて、ＤＳＰ２０の起動方法の切り替えが行われる。具体的には、切替回路７０とＩＦ変換部８０により構成された切替手段は、故障検出回路４２がＣＰＵ１０の動作異常を検出していない場合には、ＲＯＭ３０とＣＰＵ１０とをパラレルのローカルバスにより接続し、シリアルＲＯＭ６０とＤＳＰ２０とをシリアルのローカルバスにより接続して、シリアルＲＯＭ６０に格納されたＤＳＰ用初期ブートプログラム６１によりＤＳＰ２０を起動させる。
【００３２】
また、切替回路７０とＩＦ変換部８０により構成された切替手段は、故障検出回路４２がＣＰＵ１０の動作異常を検出している場合には、ＲＯＭ３０のパラレルのローカルバスをシリアルのローカルバスに変換することにより、ＲＯＭ３０とＤＳＰ２０とを接続して、ＲＯＭ３０に格納されたＤＳＰ用初期ブート後のプログラムによりＤＳＰ２０を起動させる。
【００３３】
次に、本実施形態の情報処理装置の動作について図面を参照して詳細に説明する。
【００３４】
先ず、ＣＰＵ１０が正常に動作している場合における起動時の動作を図２のフローチャートを参照して説明する。この場合、故障検出回路４２はＣＰＵ１０の動作異常を検知していないため、図３に示すように、切替回路７０は、シリアルＲＯＭ６０とＤＳＰ２０とを接続し、ＩＦ変換部８０は、ＲＯＭ３０とＣＰＵ１０とを接続している。
【００３５】
このような状態において情報処理装置の起動が行われる場合、先ず起動管理回路４０がＣＰＵ１０をリセットする（ステップＳ１０１）。すると、ＣＰＵ１０は、パラレルのローカルバスに接続されたＲＯＭ３０から、ＣＰＵ用プログラム３１を実行する。なお、本実施形態では、ＲＯＭ３０内に格納されているＣＰＵ用プログラム３１を実行する場合について説明するが、ＣＰＵ用プログラム３１をＲＡＭ９０に格納してから実行するようにしてもよい。
【００３６】
次に、ＣＰＵ用プログラム３１により起動が行われたＣＰＵ１０が起動管理回路４０に対してＤＳＰ起動指示信号によりＤＳＰ２０の起動を指示する（ステップＳ１０２）。すると、起動管理回路４０の制御回路４１は、ＤＳＰ２０をリセットする（ステップＳ１０３）。
【００３７】
ここでは、故障検出回路４２は、ＣＰＵ１０の動作異常を検知していない。そのため、ＤＳＰ２０は、図３に示すように、切替回路７０を介してシリアルＲＯＭ６０内のＤＳＰ用初期ブートプログラム６１を実行する（ステップＳ１０４）。
【００３８】
このＤＳＰ用初期ブートプログラム６１には、ＤＳＰ２０に対してＲＯＭ３２内の初期ブート後のプログラム３２をＲＯＭ３０からＲＡＭ５０に転送する命令が記述されている。そのため、ＤＳＰ用初期ブートプログラム６１を実行したＤＳＰ２０は、図３に示すように、ＤＳＰ用初期ブート後のプログラム３２をＲＯＭ３０からＲＡＭ５０に転送する（ステップＳ１０５）。
【００３９】
そして、ＤＳＰ２０は、ＲＡＭ５０に格納されたＤＳＰ用初期ブート後のプログラムを実行する（ステップＳ１０６）。
【００４０】
次に、ＣＰＵ１０に動作異常が発生した場合におけるＤＳＰ２０の起動時の動作を図４のフローチャートを参照して説明する。
【００４１】
ＤＳＰ２０がＤＳＰ用初期ブート後のプログラムを実行して通常動作を行っている最中に、図５に示すようにＣＰＵ１０に何等かの障害が発生した場合、故障検出回路４２によりＣＰＵ１０の動作異常（何等かの障害または故障）が検知される（ステップＳ２０１、２０２）。すると、故障検出回路４２はＣＰＵ１０の動作異常を検知しているため、切替回路７０とＩＦ変換部８０に対して切り替え指示を行う（ステップＳ２０３）。その結果、図５に示すように、切替回路７０およびＩＦ変換部８０では切替動作が行われ、ＲＯＭ３０はＰ／Ｓ変換器８１を介してＤＳＰ２０に接続される。
【００４２】
そして、起動管理回路４０の制御回路４１は、ＤＳＰ２０に対してリセットを行う（ステップＳ２０４）。
【００４３】
すると、リセット解除後のＤＳＰ２０では、シリアルのローカルバスに切替回路７０およびＩＦ変換部８０を介してＲＯＭ３０が接続されているため、ＲＯＭ３０内のＤＳＰ用初期ブート後のプログラム３２が実行される（ステップＳ２０５）。
【００４４】
その結果、ＤＳＰ２０は、ＤＳＰ２０周辺の動作テストおよび共通バスであるＰＣＩバスを介してＣＰＵ１０周辺の動作テストを実施する。この動作テストのテスト結果はＲＡＭ５０等を書き込むようにしてもよいし、上位装置に対して通知するようにしてもよい。
【符号の説明】
【００４５】
１０    ＣＰＵ（上位ＣＰＵ）
２０    ＤＳＰ（下位ＣＰＵ）
３０    ＲＯＭ
３１    ＣＰＵ用プログラム
３２    ＤＳＰ用初期ブート後のプログラム
４０    起動管理回路
４１    制御回路
４２    故障検出回路
５０    ＲＡＭ
６０    シリアルＲＯＭ
６１    ＤＳＰ用初期ブートプログラム
７０    切替回路
８０    ＩＦ変換部
８１    Ｐ／Ｓ変換器
９０    ＲＡＭ
【図１】
2012190132.tif 000003
【図２】
2012190132.tif 000004
【図３】
2012190132.tif 000005
【図４】
2012190132.tif 000006
【図５】
2012190132.tif 000007