(57)【要約】【課題】  効率的に一次記憶部のチェックを行うことができる情報処理装置を提供する。【解決手段】  本発明は、情報処理プログラムを実行する情報処理装置に関する。本発明の情報処理装置は、第１のプログラムデータを記憶することが可能な第１の一次記憶手段と、第２のプログラムデータを記憶することが可能な第２の一次記憶手段と、情報処理プログラムを実行することが可能な第１のプロセッサと、第２のプロセッサとを備え、第１のプロセッサは、起動する際に、第１の一次記憶手段のチェック及び第１のプログラムデータの書込みを行い、第２のプロセッサにより、第２の一次記憶手段に対するチェック及び第２のプログラムデータの書込みが終了するまでの間、第１のプログラムデータで構成される部分だけを実行することを特徴とする。【選択図】      図１
2013218427.tif 000002
【特許請求の範囲】
【請求項１】
情報処理プログラムを実行する情報処理装置において、
上記情報処理プログラムを構成する第１のプログラムデータを記憶することが可能な第１の一次記憶手段と、
上記情報処理プログラムを構成する第２のプログラムデータを記憶することが可能な第２の一次記憶手段と、
上記第１の一次記憶手段に、及び、上記第２の一次記憶手段に記憶されたプログラムデータを利用して、上記情報処理プログラムを実行することが可能な第１のプロセッサと、
上記第２の一次記憶手段のチェック及び上記第２プログラムデータの書込みを行うことが可能な第２のプロセッサとを備え、
上記第１のプロセッサは、起動する際に、上記第１の一次記憶手段のチェックを行った後、上記第１のプログラムデータを上記第１の一次記憶手段に書込み、
上記第２のプロセッサは、起動する際に、上記第２の一次記憶手段のチェックを行った後、上記第２のプログラムデータを上記第２の一次記憶手段に書込み、
上記第１のプロセッサは、上記第１の一次記憶手段に上記第１のプログラムデータ書込んだ後、上記第２のプロセッサにより上記第２のプログラムデータの書込みが終了するまでの間、上記情報処理プログラムのうち、上記第１のプログラムデータで構成される部分だけを実行する
ことを特徴とする情報処理装置。
【請求項２】
上記第１のプログラムデータは、上記情報処理プログラムのうち、当該情報処理装置の起動に最低限必要な基本動作プログラムを含み、上記第２のプログラムデータは、上記情報処理プログラムのうち、上記第１のプログラムデータが構成するプログラムを除く部分を含むことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
情報処理装置の情報処理方法において、
上記情報処理装置は、情報処理プログラムを構成する第１のプログラムデータを記憶することが可能な第１の一次記憶手段と、上記情報処理プログラムを構成する第２のプログラムデータを記憶することが可能な第２の一次記憶手段と、上記第１の一次記憶手段に、及び、上記第２の一次記憶手段に記憶されたプログラムデータを利用して、上記情報処理プログラムを実行することが可能な第１のプロセッサと、上記第２の一次記憶手段のチェック及び上記第２プログラムデータの書込みを行うことが可能な第２のプロセッサとを備え
上記第１のプロセッサが、起動する際に、上記第１の一次記憶手段のチェックを行った後、上記第１のプログラムデータを上記第１の一次記憶手段に書込む工程と、
上記第２のプロセッサは、起動する際に、上記第２の一次記憶手段のチェックを行った後、上記第２のプログラムデータを上記第２の一次記憶手段に書込む工程と、
上記第１のプロセッサが、上記第１の一次記憶手段に上記第１のプログラムデータ書込んだ後、上記第２のプロセッサにより上記第２のプログラムデータの書込みが終了するまでの間、上記情報処理プログラムのうち、上記第１のプログラムデータで構成される部分だけを実行する工程と
を有することを特徴とする情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、情報処理装置及び方法に関し、例えば、ＣＰＵを用いてメモリにプログラムをダウンロードして実行する情報処理装置に適用し得る。
【背景技術】
【０００２】
従来、通信装置等で用いられる情報処理装置では、ＣＰＵと、ＣＰＵが直接アクセス可能な一次記憶部（例えば、ＤＲＡＭ等のメモリ）と、ＯＳ等のプログラムを格納する二次記憶部（例えば、ＥＥＰＲＯＭ、ＦＬＡＳＨメモリ、ＨＤＤ等の不揮発メモリ）とを有する構成が一般的である。
【０００３】
そして、従来の通信装置等で用いられる情報処理装置では、起動する際に、ＣＰＵが、１次記憶部の正常性のチェック（以下、「メモリチェック」とも呼ぶ）を行ってから、二次記憶部に格納されたプログラム（ＯＳ等を構成する初期プログラム）を読み込んで、一次記憶部に展開する。
【０００４】
しかし、一次記憶部として用いるメモリの大容量化に伴って、メモリチェックに要する時間が長時間化する傾向にある。そのような課題に対して、特許文献１では、当初は、初期に一次記憶部に展開するプログラムに必要な領域についてのみメモリチェック（第１のメモリチェック）を行い、上位プロセッサに対してＲＥＡＤＹ信号通知を行ってから、その他の領域のメモリチェック（第２のメモリチェック）を行うようにしている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平０５−１３６８４５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１の記載技術では、第２のメモリチェックを行う際には他のデバイスから一次記憶部へのアクセスが制限されることから、第２のメモリチェック、又は、上位プロセッサからのアクセスのいずれか一方を優先する等の複雑な制御が必要となる。特許文献１の記載技術を利用した従来の情報処理装置において、仮に、上位プロセッサから一次記憶部へのアクセスを優先した場合、第２のメモリチェックが長時間化したり、実行不可能となるそれがある。また、特許文献１の記載技術を利用した従来の情報処理装置において、仮に、第２のメモリチェックを行おうとするＣＰＵからのアクセスを優先した場合、上位プロセッサによる処理を開始することができず、メモリチェックの短時間化が実現できないおそれがある。
【０００７】
そのため、効率的に一次記憶部のチェックを行うことができる情報処理装置及び方法が望まれている。
【課題を解決するための手段】
【０００８】
第１の本発明は、情報処理プログラムを実行する情報処理装置において、（１）上記情報処理プログラムを構成する第１のプログラムデータを記憶することが可能な第１の一次記憶手段と、（２）上記情報処理プログラムを構成する第２のプログラムデータを記憶することが可能な第２の一次記憶手段と、（３）上記第１の一次記憶手段に、及び、上記第２の一次記憶手段に記憶されたプログラムデータを利用して、上記情報処理プログラムを実行することが可能な第１のプロセッサと、（４）上記第２の一次記憶手段のチェック及び上記第２プログラムデータの書込みを行うことが可能な第２のプロセッサとを備え、（５）上記第１のプロセッサは、起動する際に、上記第１の一次記憶手段のチェックを行った後、上記第１のプログラムデータを上記第１の一次記憶手段に書込み、（６）上記第２のプロセッサは、起動する際に、上記第２の一次記憶手段のチェックを行った後、上記第２のプログラムデータを上記第２の一次記憶手段に書込み、（７）上記第１のプロセッサは、上記第１の一次記憶手段に上記第１のプログラムデータ書込んだ後、上記第２のプロセッサにより上記第２のプログラムデータの書込みが終了するまでの間、上記情報処理プログラムのうち、上記第１のプログラムデータで構成される部分だけを実行することを特徴とする。
【０００９】
第２の本発明は、情報処理装置の情報処理方法において、（１）上記情報処理装置は、情報処理プログラムを構成する第１のプログラムデータを記憶することが可能な第１の一次記憶手段と、上記情報処理プログラムを構成する第２のプログラムデータを記憶することが可能な第２の一次記憶手段と、上記第１の一次記憶手段に、及び、上記第２の一次記憶手段に記憶されたプログラムデータを利用して、上記情報処理プログラムを実行することが可能な第１のプロセッサと、上記第２の一次記憶手段のチェック及び上記第２プログラムデータの書込みを行うことが可能な第２のプロセッサとを備え、（２）上記第１のプロセッサが、起動する際に、上記第１の一次記憶手段のチェックを行った後、上記第１のプログラムデータを上記第１の一次記憶手段に書込む工程と、（３）上記第２のプロセッサは、起動する際に、上記第２の一次記憶手段のチェックを行った後、上記第２のプログラムデータを上記第２の一次記憶手段に書込む工程と、（４）上記第１のプロセッサが、上記第１の一次記憶手段に上記第１のプログラムデータ書込んだ後、上記第２のプロセッサにより上記第２のプログラムデータの書込みが終了するまでの間、上記情報処理プログラムのうち、上記第１のプログラムデータで構成される部分だけを実行する工程とを有することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、効率的に一次記憶部のチェックを行うことができる情報処理装置を提供することができる。
【図面の簡単な説明】
【００１１】
【図１】実施形態に係る情報処理装置を搭載した通信装置のハードウェア構成について示したブロック図である。
【図２】実施形態に係る情報処理装置内の一部の接続構成について示したブロック図である。
【図３】実施形態に係る情報処理装置を構成するメモリの割当内容について示した説明図である。
【図４】実施形態に係るプログラム格納部に格納されるデータ構成について示した説明図である。
【図５】実施形態に係るメインＣＰＵの動作について示したフローチャートである。
【図６】実施形態に係るサブＣＰＵの動作について示したフローチャートである。
【発明を実施するための形態】
【００１２】
（Ａ）主たる実施形態
以下、本発明による情報処理装置及び方法の一実施形態を、図面を参照しながら詳述する。
【００１３】
（Ａ−１）実施形態の構成
図１は、この実施形態の情報処理装置１０を搭載した通信装置１のハードウェア構成について示したブロック図である。
【００１４】
通信装置１としては、例えば、ルータやスイッチ等のネットワーク装置や、多機能電話端末やＩＰ電話端末等の電話装置等の通信装置が該当する。
【００１５】
通信装置１は、他の通信装置と通信するためのインタフェースとしての通信部２０と、送受信に必要な通信制御等の情報処理を行う情報処理装置１０を備えている。
【００１６】
通信部２０が対応する通信方式は限定されないものであり、例えば、イーサネット（登録商標）（有線、無線であるかは限定されない）等の通信仕様に対応したインタフェースを適用することができる。
【００１７】
情報処理装置１０は、２つのＣＰＵ（メインＣＰＵ１１、サブＣＰＵ１２）、一次記憶部としての２つのメモリ（第１のメモリ１３、第２のメモリ１４）、二次記憶部としてのプログラム格納部１５、及びバスバッファ１６を有している。
【００１８】
図２は、情報処理装置１０内における、メインＣＰＵ１１、サブＣＰＵ１２、第１のメモリ１３、第２のメモリ１４、及びバスバッファ１６との間の接続関係の詳細について示したブロック図である。
【００１９】
図１、図２では、メモリのアドレスを指定するためのバスをＡＤＤ＿Ｂｕｓと表わし、メモリのデータを伝送するためのバスをＤＡＴＡ＿Ｂｕｓと表わしている。また、図２では、ＣＰＵがメモリを制御するための各信号線については、それぞれＷＲ（Ｗｒｉｔｅ）、ＲＤ（Ｒｅａｄ）、ＣＳ（Ｃｈｉｐ  Ｓｅｌｅｃｔ）と表わしている。
【００２０】
メインＣＰＵ１１は、第１のメモリ１３及び第２のメモリ１４にアクセス可能となっている。また、サブＣＰＵ１２は、第２のメモリ１４にのみアクセス可能となっている。すなわち、第２のメモリ１４は、メインＣＰＵ１１及びサブＣＰＵ１２からアクセス可能となっている。
【００２１】
情報処理装置１０では、第２のメモリ１４に対して、選択的に切り替えてメインＣＰＵ１１又はサブＣＰＵ１２からアクセスさせるために、第２のメモリ１４の前段にバスバッファ１６が挿入されている。バスバッファ１６は、内部的には図２に示すように３つのバッファ部１６１、１６２、１６３に分けて、各信号線を収容して切り替える構成となっている。なお、バスバッファ１６を構成するバッファ部（バッファ回路）の数は限定されないものである。また、図１に示すように、バスバッファ１６は、サブＣＰＵ１２（信号線ＳＥＬ＿Ｂｕｓ）から供給される選択制御信号ＳＥＬに基づいて、メインＣＰＵ１１又はサブＣＰＵ１２のいずれかを選択的に、第２のメモリ１４にアクセスさせる。この実施形態では、例として、バスバッファ１６は、サブＣＰＵ１２から、選択制御信号ＳＥＬとして０（Ｌ：Ｌｏｗ）が入力された場合には、サブＣＰＵ１２と第２のメモリ１４との間の信号を導通させて、サブＣＰＵ１２から第２のメモリ１４へのアクセスを可能とするように構成されているものとする。また、バスバッファ１６は、サブＣＰＵ１２から、選択制御信号ＳＥＬとして１（Ｈ：Ｈｉｇｈ）が入力された場合には、メインＣＰＵ１１と第２のメモリ１４との間の信号を導通させて、メインＣＰＵ１１から第２のメモリ１４へのアクセスを可能とするように構成されているものとする。
【００２２】
また、第１のメモリ１３、第２のメモリ１４には、それぞれパリティ監視部１３１、パリティ監視部１４１が接続されている。パリティ監視部１３１は、第１のメモリ１３に対するデータの読込み及び書込みに関して、エラー発生の有無（例えば、誤り訂正可能な範囲を超えたビット数のエラー発生の有無）を監視するものである。パリティ監視部１４１も同様に第２のメモリ１４についてエラー発生の有無を監視するものである。
【００２３】
プログラム格納部１５は、例えば、ＥＥＰＲＯＭ、フラッシュメモリ、ハードディスクドライブ等の不揮発メモリにより構成された二次記憶部であり、情報処理装置１０で実行する情報処理プログラム等のデータを格納している。プログラム格納部１５は、メインＣＰＵ１１又はサブＣＰＵ１２の要求に応じて、格納しているデータを出力する。
【００２４】
次に、情報処理装置１０内の各構成要素間の接続関係について、図１、図２を用いて説明する。
【００２５】
プログラム格納部１５は、信号線ＡＤＤ＿Ｂｕｓ３及び信号線ＤＡＴＡ＿Ｂｕｓ３を用いて、メインＣＰＵ１１又はサブＣＰＵ１２に格納しているデータの信号を供給することができるものとする。
【００２６】
メインＣＰＵ１１からは、第１のメモリ１３又は第２のメモリ１４にアクセスするための信号線として、ＡＤＤ＿Ｂｕｓ０、ＤＡＴＡ＿Ｂｕｓ０、ＷＲ１、ＲＤ１、ＣＳ１が接続されている。そして、ＡＤＤ＿Ｂｕｓ０は、分岐され第１のメモリ１３及びバッファ部１６１に接続されている。また、ＤＡＴＡ＿Ｂｕｓ０、分岐され第１のメモリ１３及びバッファ部１６２に接続されている。また、各メモリに対する制御信号の信号線ＷＲ０、ＲＤ０、ＣＳ０は、それぞれ、分岐され、第１のメモリ１３及びバッファ部１６３に接続されている。
【００２７】
サブＣＰＵ１２からは、第２のメモリ１４にアクセスするための信号線として、ＡＤＤ＿Ｂｕｓ１、ＤＡＴＡ＿Ｂｕｓ１、ＷＲ０、ＲＤ０、ＣＳ１、ＳＥＬが接続されている。そして、ＡＤＤ＿Ｂｕｓ１は、バッファ部１６１に接続されている。また、ＤＡＴＡ＿Ｂｕｓ１は、バッファ部１６２に接続されている。また、第２のメモリ１４に対する制御信号の信号線ＷＲ１、ＲＤ１、ＣＳ１は、それぞれ、バッファ部１６３に接続されている。
【００２８】
第２のメモリ１４には、バスバッファ１６（バッファ部１６１〜１６３）を介して、メインＣＰＵ１１又はサブＣＰＵ１２からのアクセスを受けるための信号線として、ＡＤＤ＿Ｂｕｓ２、ＤＡＴＡ＿Ｂｕｓ２、ＷＲ２、ＲＤ２、ＣＳ２が接続されている。
【００２９】
バッファ部１６１には、メインＣＰＵ１１と接続する信号線ＤＡＴＡ＿Ｂｕｓ０、サブＣＰＵ１２と接続する信号線ＤＡＴＡ＿Ｂｕｓ１、第２のメモリ１４と接続するための信号線ＤＡＴＡ＿Ｂｕｓ２、及びサブＣＰＵ１２からの選択制御信号ＳＥＬの供給を受けるための信号線ＳＥＬ＿Ｂｕｓが接続されている。また、バッファ部１６２には、メインＣＰＵ１１と接続する信号線ＡＤＤ＿Ｂｕｓ０、サブＣＰＵ１２と接続する信号線ＡＤＤ＿Ｂｕｓ１、第２のメモリ１４と接続するための信号線ＡＤＤ＿Ｂｕｓ２、及びサブＣＰＵ１２からの選択制御信号ＳＥＬの供給を受けるための信号線ＳＥＬ＿Ｂｕｓが接続されている。さらに、バッファ部１６３には、メインＣＰＵ１１と接続する制御信号の信号線（ＷＲ０、ＲＤ０、ＣＳ０）、サブＣＰＵ１２と接続する制御信号の信号線（ＷＲ１、ＲＤ１、ＣＳ１）、第２のメモリ１４と接続するための制御信号の信号線（ＷＲ２、ＲＤ２、ＣＳ２）、及びサブＣＰＵ１２からの選択制御信号ＳＥＬの供給を受けるための信号線ＳＥＬ＿Ｂｕｓが接続されている。そして、バッファ部１６１〜１６３は、それぞれ信号線ＳＥＬ＿Ｂｕｓに供給される選択制御信号ＳＥＬ（０又は１）に応じて、第２のメモリ１４へアクセスするための制御信号の信号線を、メインＣＰＵ１１側（ＳＥＬ：１）又はサブＣＰＵ１２側（ＳＥＬ：０）に切り替えて導通させる。
【００３０】
次に、第１のメモリ１３、第２のメモリ１４の記憶領域の割り振り（マッピング）について図３を用いて説明する。
【００３１】
図３は、第１のメモリ１３及び第２のメモリ１４のメモリ領域のマッピングの例について示した説明図である。この実施形態では、第１のメモリ１３と第２のメモリ１４とで、アクセスするために指定するアドレス（メモリ領域の番地）の範囲が重ならないように設定されており、メインＣＰＵ１１は、信号線ＡＤＤ＿Ｂｕｓ１及び信号線ＤＡＴＡ＿Ｂｕｓ１を用いて、第１のメモリ１３及び第２のメモリ１４の両方にアクセスすることが可能になっている。したがって、図３に示すように、メインＣＰＵ１１からは、第１のメモリ１３と第２のメモリ１４は、論理的に１つのメモリ領域として認識されることになる。
【００３２】
図３に示すように、第１のメモリ１３では、スタックエリアとして機能するメモリ領域ＭＡ１１と、プログラムのデータ（プログラム格納部１５からダウンロードされるデータ）を格納するためのプログラムエリアとして機能するメモリ領域ＭＡ１３と、その他の各種データ（例えば、プログラムの実行に伴って利用される変数等）を格納するためのデータエリアとして機能するＭＡ１２がマッピングされている。この実施形態では、図３に示すように、第１のメモリ１３において先頭からスタックエリア（ＭＡ１１）、データエリア（ＭＡ１２）、プログラムアリア（ＭＡ１３）の順に配置されているものとする。
【００３３】
また、図３に示すように、第２のメモリ１４では、データエリアとして機能するメモリ領域ＭＡ２１と、プログラムエリアとして機能するメモリ領域ＭＡ２２がマッピングされている。この実施形態では、図３に示すように、第２のメモリ１４において、先頭からデータエリア（ＭＡ２１）、プログラムアリア（ＭＡ２２）の順に配置されているものとする。
【００３４】
次に、プログラム格納部１５の記憶領域に格納されるデータの割り振り（マッピング）について図４を用いて説明する。
【００３５】
上述のようにプログラム格納部１５に格納されるプログラムデータが、第１のメモリ１３及び第２のメモリ１４のプログラムエリアにダウンロードされる。この実施形態では、プログラム格納部１５内で、図４のような構成でプログラムデータが格納されているものとする。
【００３６】
図４に示すように、プログラム格納部１５には、情報処理装置１０において実行されるプログラムデータが２つのプログラムデータＰＤ１、ＰＤ２に分割して格納されている。プログラムデータＰＤ１には、少なくとも、情報処理装置１０の起動（例えば、ＯＳ等のミドルウェアの起動）に最低限必要なプログラムデータ（例えば、ＯＳのブート領域を構成するプログラムデータであり、以下「基本動作プログラムデータ」とも呼ぶ）が含まれている。そして、プログラムデータＰＤ２には、情報処理装置１０で実行されるプログラムデータのうち、プログラムデータＰＤ１以外のデータが含まれることになる。なお、以下では、情報処理装置１０で実行されるプログラムデータのうち、基本動作プログラムデータ以外のデータを「拡張動作プログラムデータ」と呼ぶものとする。プログラムデータＰＤ１に、基本動作プログラムデータ以外のデータを含むようにしても良いが、この実施形態では、プログラムデータＰＤ１は基本動作プログラムデータだけで構成されているものとする。
【００３７】
次に、情報処理装置１０における動作中のメモリ（第１のメモリ１３及び第２のメモリ１４）の動作チェックについて説明する。
【００３８】
パリティ監視部１３１では、第１のメモリ１３の動作を監視中にエラーを検出すると、図１に示す信号線ＭＥＭ１によりエラー発生をメインＣＰＵ１１に通知する。メインＣＰＵ１１は、この信号線ＭＥＭ１からのエラー通知信号を、リセット制御信号（Ｒｅｓｅｔ１）として受信し、リセットに伴う再起動を開始する。
【００３９】
パリティ監視部１４１では、第２のメモリ１４の動作を監視中にエラーを検出すると、図２に示す信号線ＭＥＭ２によりエラー発生の通知をメインＣＰＵ１１に通知する、メインＣＰＵ１１は、この信号線ＭＥＭ２からのエラー通知信号を、制御信号ＩＮＴ１として受信するとサブＣＰＵ１２をリセット制御する。具体的には、図１に示すように、メインＣＰＵ１１は、信号線Ｒｅｓｅｔ２＿Ｂｕｓを用いてリセット制御信号（Ｒｅｓｅｔ２）をサブＣＰＵ１２に供給することにより、サブＣＰＵ１２をリセットさせる構成になっているものとする。
【００４０】
次に、メインＣＰＵ１１及びサブＣＰＵ１２の起動（再起動）直後に行われるメモリチェックについて説明する。
【００４１】
メインＣＰＵ１１は、起動（再起動）する際に、第１のメモリ１３に対するメモリチェックを行う。また、サブＣＰＵ１２も、起動（再起動）する際に、第２のメモリ１４に対するメモリチェックを行う。メインＣＰＵ１１及びサブＣＰＵ１２が行うメモリチェックの内容は限定されないものであるが、例えば、チェック対象のメモリの各アドレスに対して順次読み込み及び又は書き込み等を行う所定の処理としても良い。
【００４２】
そして、サブＣＰＵ１２は、第２のメモリ１４に対するメモリチェックが完了すると、その旨をメインＣＰＵ１１に通知する。具体的には、図１に示すように、サブＣＰＵ１２は、信号線ＴＥＳＴ＿ＥＮＤ＿Ｂｕｓを用いてメモリチェック終了を通知する信号（ＴＥＳＴ＿ＥＮＤ）をメインＣＰＵ１１に供給することにより、第２のメモリ１４のメモリチェック終了を通知する。
【００４３】
（Ａ−２）実施形態の動作
次に、以上のような構成を有するこの実施形態の通信装置１（情報処理装置１０）の動作を説明する。
【００４４】
ここでは、電源オンやリセット処理等により、通信装置１の情報処理装置１０が、起動を開始した場合の情報処理装置１０内部の動作について図５、図６を用いて説明する。
【００４５】
情報処理装置１０が、電源オンにより起動すると、情報処理装置１０では、メインＣＰＵ１１及びサブＣＰＵ１２も起動する。そして、メインＣＰＵ１１及びサブＣＰＵ１２は、それぞれ、図５、図６のフローチャートに従って動作を行うように構成されている。
【００４６】
図５は、メインＣＰＵ１１が起動（又はリセットに伴う再起動）する場合の動作について示したフローチャートである。また、図６は、サブＣＰＵ１２が起動（又はリセットに伴う再起動）の動作について示したフローチャートである。
【００４７】
まず、サブＣＰＵ１２側の動作について説明する。
【００４８】
サブＣＰＵ１２は、起動すると第２のメモリ１４に対するチェックを行い（Ｓ２０１、Ｓ２０２）、メモリチェックが正常終了した場合には、後述するステップＳ２０４から動作し、そうでない場合には動作を停止する（Ｓ２０８）。なお、サブＣＰＵ１２は、第２のメモリ１４に対するチェックを行う前に、バスバッファ１６に、選択制御信号ＳＥＬとして０（Ｌ）の入力を開始し、第２のメモリ１４とアクセス可能な状態に制御する。
【００４９】
そして、メモリチェックが正常終了した場合には、サブＣＰＵ１２は、プログラム格納部１５から拡張動作プログラムデータを読み込んで、第２のメモリ１４のメモリ領域ＭＡ２２（プログラムエリア）にロードする（Ｓ２０４）。
【００５０】
そして、サブＣＰＵ１２は、拡張動作プログラムデータのロードが終了すると、バスバッファ１６に、選択制御信号ＳＥＬを１（Ｈ）に切り替え、メインＣＰＵ１１に対して、第２のメモリ１４へのアクセス権を引き渡す（Ｓ２０５）。
【００５１】
そして、サブＣＰＵ１２は、メインＣＰＵ１１に、メモリチェック終了を通知する信号（ＴＥＳＴ＿ＥＮＤ）を供給して（Ｓ２０６）、動作を停止する（Ｓ２０７）。
【００５２】
次に、メインＣＰＵ１１側の動作について説明する。
【００５３】
メインＣＰＵ１１は、起動すると第１のメモリ１３に対するチェックを行い（Ｓ１０１、Ｓ１０２）、メモリチェックが正常終了した場合には、後述するステップＳ１０４から動作し、そうでない場合には動作を停止する（Ｓ１１２）。なお、メインＣＰＵ１１は、起動直後は、パリティ監視部１３１からのリセット制御信号（ＲＥＳＥＴ１）に対する割り込みを許可しない動作状態で動作しているものとする。
【００５４】
そして、メモリチェックが正常終了した場合には、メインＣＰＵ１１は、プログラム格納部１５から基本動作プログラムデータを読み込んで、第１のメモリ１３のメモリ領域ＭＡ１３（プログラムエリア）にロードする（Ｓ１０４）。
【００５５】
そして、メインＣＰＵ１１は、パリティ監視部１３１からのリセット制御信号（ＲＥＳＥＴ１）に対する割り込みを許可する動作状態に遷移し（Ｓ１０５）、第１のメモリ１３にロードした基本動作プログラムデータの実行を開始する（Ｓ１０６）。ただし、この時点で、メインＣＰＵ１１は、拡張動作プログラムを利用しない動作状態で動作するものとする。
【００５６】
そして、メインＣＰＵ１１は、サブＣＰＵ１２からメモリチェックが正常終了した旨の信号（ＴＥＳＴ＿ＥＮＤ）が供給されると（Ｓ１０７）、第２のメモリ１４にロードされた拡張動作プログラムデータの動作を可能とする動作状態に遷移する。そして、メインＣＰＵ１１は、パリティ監視部１４１からの、第２のメモリ１４でエラーが発生した旨の制御信号（ＩＮＴ１）が検出されない間（第２のメモリ１４が正常に動作している間）は、拡張動作プログラムも利用する動作状態で動作する。
【００５７】
一方、パリティ監視部１４１からの、第２のメモリ１４でエラーが発生した旨の制御信号（ＩＮＴ１）が検出された場合（第２のメモリ１４が正常に動作している間）（Ｓ１０９）、メインＣＰＵ１１は、拡張動作プログラムを利用しない動作状態に遷移し、サブＣＰＵ１２をリセットして再起動させ（Ｓ１１１）、上述のステップＳ１０６から動作する。
【００５８】
（Ａ−３）実施形態の効果
この実施形態によれば、以下のような効果を奏することができる。
【００５９】
メインＣＰＵ１１とサブＣＰＵ１２とで、第２のメモリ１４へアクセスするためのバスを分割して、第１のメモリ１３と第２のメモリ１４とで並行してメモリチェックを行うことで、起動に伴うメモリチェックに要する時間を短縮することができる。
【００６０】
また、メインＣＰＵ１１により、第１のメモリ１３に対するメモリチェックが終了した段階で、少なくとも基本動作プログラムデータに基づく動作を開始することが可能である。なお、メインＣＰＵ１１によるプログラムの実行を早期に開始させるために、第１のメモリ１３の容量や、基本動作プログラムデータのサイズについては、できるだけ小さいものに設定する必要がある。
【００６１】
メインＣＰＵ１１でメモリチェックを行うサイズを、情報処理装置１０が最低限動作可能なサイズにすることで、情報処理装置１０の動作開始までの時間を短縮でき、第２のメモリ１４による試験終了後にメモリのマッピングをし直すことで、全てのメモリ空間を使用して最大のパフォーマンスを得られる。
【００６２】
（Ｂ）他の実施形態
本発明は、上記の実施形態に限定されるものではなく、以下に例示するような変形実施形態も挙げることができる。
【００６３】
（Ｂ−１）上記の実施形態では、本発明の情報処理装置を通信装置に適用する例について説明したが、本発明の情報処理装置を適用する装置は限定されないものである。例えば、本発明の情報処理装置を、電源のオン・オフを頻繁に行うゲーム機や、多機能電話機等に適用するようにしてもよい。
【００６４】
本発明の情報処理装置を多機能電話機に適用する場合には、例えば、当該多機能電話機の通話機能に対応するプログラムを基本動作プログラムデータに設定し、その他の機能に対応するプログラムは拡張動作プログラムデータに設定するようにしてもよい。また、本発明の情報処理装置をゲーム機に適用する場合には、例えば、メニュー画面の表示や当該ゲームの初期の選択処理程度までに対応するプログラムを基本動作プログラムデータに設定し、その他の機能（例えば、メインのゲームに対応するプログラム等）に対応するプログラムは拡張動作プログラムデータに設定するようにしてもよい。
【００６５】
（Ｂ−２）上記の実施形態では、サブＣＰＵを用いて第２のメモリのチェックを行う構成として説明したが、ワイヤードロジック等その他のハードウェアにより、第２のメモリのチェック及びプログラムデータのロードを行うプロセッサを構成するようにしてもよい。
【符号の説明】
【００６６】
１…通信装置、１０…情報処理装置、１１…メインＣＰＵ、１２…サブＣＰＵ、１３…第１のメモリ、１３１…パリティ監視部、１４…第２のメモリ、１４１…パリティ監視部、１５…プログラム格納部、１６…バスバッファ、１６１…バッファ部、１６２…バッファ部、１６３…バッファ部、…通信部２０。
【図１】
2013218427.tif 000003
【図２】
2013218427.tif 000004
【図３】
2013218427.tif 000005
【図４】
2013218427.tif 000006
【図５】
2013218427.tif 000007
【図６】
2013218427.tif 000008