(57)【要約】【課題】プログラムの処理効率を向上させた電子機器及び電子機器の制御を実行させるコンピュータプログラムを提供する。【解決手段】ナビゲーション装置１が起動された場合に、データ転送用ＣＰＵ１２が起動順位テーブル１６を読み出し、起動順位が最も高い第１プログラムを第１メインメモリ１３に展開し、その後、メインＣＰＵ１１が第１メインメモリ１３に展開された第１プログラムを実行し、メインＣＰＵ１１が第１プログラムを実行する間に、データ転送用ＣＰＵ１２は起動順位が次に高い第２プログラムを第２メインメモリ１４に展開し、その後、メインＣＰＵ１１が第２メインメモリ１４に展開された第２プログラムを実行するように構成する。【選択図】図２
2011203855.tif 000002
【特許請求の範囲】
【請求項１】
メインＣＰＵと、
データ転送用ＣＰＵと、
複数のワークメモリと、
複数のプログラムが記憶されたプログラム記憶媒体と、
前記メインＣＰＵと前記複数のワークメモリと前記プログラム記憶媒体とを通信可能に接続するメインシステムバスと、
前記データ転送用ＣＰＵと前記複数のワークメモリと前記プログラム記憶媒体とを通信可能に接続するデータ転送用システムバスと、を有し、
前記データ転送用ＣＰＵにより実行される処理であり、前記メインＣＰＵが前記メインシステムバスを介して前記複数のワークメモリの内の第１ワークメモリに展開された第１プログラムを実行する間に、前記データ転送用システムバスを介して前記プログラム記憶媒体から前記第１プログラムの次に前記メインＣＰＵが実行する第２プログラムを読み込み、該第２プログラムを前記複数のワークメモリの内の前記第１ワークメモリと異なる第２ワークメモリに転送して展開する第１処理と、
前記メインＣＰＵにより実行される処理であり、前記メインシステムバスを介して前記第２ワークメモリに展開された前記第２プログラムを実行する第２処理と、
が前記複数のワークメモリの内から前記第１ワークメモリと前記第２ワークメモリの対象とするメモリを切り換えて繰り返し実行されることを特徴とする電子機器。
【請求項２】
前記第１ワークメモリ、前記第２ワークメモリ及び前記プログラム記憶媒体は、接続対象を前記メインシステムバスと前記データ転送用システムバスとの間で切り換えるスイッチを介して前記メインシステムバス及び前記データ転送用システムバスと接続されていることを特徴とする請求項１に記載の電子機器。
【請求項３】
前記データ転送用ＣＰＵは、前記メインＣＰＵと前記データ転送用ＣＰＵとが通信を行う対象に基づいて、前記スイッチを切り換える処理を実行することを特徴とする請求項２に記載の電子機器。
【請求項４】
前記メインＣＰＵと前記データ転送用ＣＰＵとの間で、前記スイッチの状態を通信することを特徴とする請求項２又は請求項３に記載の電子機器。
【請求項５】
前記電子機器の起動時において前記第１処理及び前記第２処理を前記複数のワークメモリの内から前記第１ワークメモリと前記第２ワークメモリの対象とするメモリを切り換えて繰り返し実行することを特徴とする請求項１乃至請求項４のいずれかに記載の電子機器。
【請求項６】
コンピュータに搭載され、
メインＣＰＵと、
データ転送用ＣＰＵと、
複数のワークメモリと、
複数のプログラムが記憶されたプログラム記憶媒体と、
前記メインＣＰＵと前記複数のワークメモリと前記プログラム記憶媒体とを通信可能に接続するメインシステムバスと、
前記データ転送用ＣＰＵと前記複数のワークメモリと前記プログラム記憶媒体とを通信可能に接続するデータ転送用システムバスと、を備えた電子機器の制御を実行させるコンピュータプログラムであって、
前記データ転送用ＣＰＵにより実行される処理であり、前記メインＣＰＵが前記メインシステムバスを介して前記複数のワークメモリの内の第１ワークメモリに展開された第１プログラムを実行する間に、前記データ転送用システムバスを介して前記プログラム記憶媒体から前記第１プログラムの次に前記メインＣＰＵが実行する第２プログラムを読み込み、該第２プログラムを前記複数のワークメモリの内の前記第１ワークメモリと異なる第２ワークメモリに転送して展開する第１処理と、
前記メインＣＰＵにより実行される処理であり、前記メインシステムバスを介して前記第２ワークメモリに展開された前記第２プログラムを実行する第２処理と、
を前記複数のワークメモリの内から前記第１ワークメモリと前記第２ワークメモリの対象とするメモリを切り換えて繰り返し実行させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ワークメモリに展開されたプログラムを実行するＣＰＵを備えた電子機器及び電子機器の制御を実行させるコンピュータプログラムに関する。
【背景技術】
【０００２】
従来、電子機器に搭載されたＣＰＵ（Central Processing Unit）が、ＣＤやＤＶＤ等のメディア、メモリ、ハードディスク等のプログラム記憶媒体に記憶されたプログラムを実行する場合には、先ず、プログラム記憶媒体から該当するプログラムを読み出し、ワークメモリに展開する。その後、ワークメモリに展開されたプログラムを実行していた。例えば、特開２００５−１２２４１０号公報には、ブート順位テーブルを参照して、ＢＯＯＴ順位が最も高いＦＤに記憶されたＨＤ起動プログラムを先ずワークメモリに展開して実行し、その後にＢＯＯＴ順位が次に高いＨＤに記憶されたＢＯＯＴプログラムをワークメモリに展開して実行し、その後にＨＤに記憶されたＯＳプログラムをワークメモリに展開して実行する技術について記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−１２２４１０号公報（第５頁〜第６頁）
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ここで、上記特許文献１に記載の技術では、プログラムが記憶された記憶媒体からプログラムを読み出してワークメモリに展開する処理、展開されたプログラムを実行する処理は全て同じＣＰＵにより実行されていた。即ち、一のＣＰＵが、プログラムを展開する処理とプログラムを実行する処理を交互に実行していた。従って、ＣＰＵがプログラムを読み込んでワークメモリに展開している間は、演算処理が停止することとなり、プログラムの処理効率が悪かった。その結果、例えば電子機器の起動時では起動時間が長くなる問題が生じていた。
【０００５】
また、上記特許文献１に記載の技術では、プログラムが展開される対象となるワークメモリは、常に同一のメモリであった。即ち、最初に処理対象とするプログラムをワークメモリに展開して処理が完了した後、次に処理対象とするプログラムを同じワークメモリに展開していた。従って、ＣＰＵがプログラムを処理している間は、次に処理をするプログラムをワークメモリに展開することができず、同じくプログラムの処理効率が悪くなる問題があった。
【０００６】
また、予めワークメモリに実行対象となる複数のプログラムを記憶させておくことも可能であったが、その場合にはワークメモリに対して常に電力を供給した状態としなければならない。従って、電子機器の電源がＯＦＦ状態にある場合においても電力を供給しなければならず、電力消費量が多くなる問題があった。
【０００７】
本発明は前記従来における問題点を解消するためになされたものであり、プログラムの処理効率を向上させ、また、電力消費量についても低減した電子機器及び電子機器の制御を実行させるコンピュータプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
前記目的を達成するため本願の請求項１に係る電子機器（１）は、メインＣＰＵ（１１）と、データ転送用ＣＰＵ（１２）と、複数のワークメモリ（１３、１４）と、複数のプログラムが記憶されたプログラム記憶媒体（３）と、前記メインＣＰＵと前記複数のワークメモリと前記プログラム記憶媒体とを通信可能に接続するメインシステムバス（１９）と、前記データ転送用ＣＰＵと前記複数のワークメモリと前記プログラム記憶媒体とを通信可能に接続するデータ転送用システムバス（２０）と、を有し、前記データ転送用ＣＰＵにより実行される処理であり、前記メインＣＰＵが前記メインシステムバスを介して前記複数のワークメモリの内の第１ワークメモリに展開された第１プログラムを実行する間に、前記データ転送用システムバスを介して前記プログラム記憶媒体から前記第１プログラムの次に前記メインＣＰＵが実行する第２プログラムを読み込み、該第２プログラムを前記複数のワークメモリの内の前記第１ワークメモリと異なる第２ワークメモリに転送して展開する第１処理と、前記メインＣＰＵにより実行される処理であり、前記メインシステムバスを介して前記第２ワークメモリに展開された前記第２プログラムを実行する第２処理と、が前記複数のワークメモリの内から前記第１ワークメモリと前記第２ワークメモリの対象とするメモリを切り換えて繰り返し実行されることを特徴とする。
尚、「プログラム記憶媒体」としては、ＣＤ、ＤＶＤ、ハードディスクドライブ、フレキシブルディスク、フラッシュメモリ等がある。
【０００９】
また、請求項２に係る電子機器は、請求項１に記載の電子機器（１）であって、前記第１ワークメモリ、前記第２ワークメモリ及び前記プログラム記憶媒体（３）は、接続対象を前記メインシステムバス（１９）と前記データ転送用システムバス（２０）との間で切り換えるスイッチ（２１〜２５）を介して前記メインシステムバス及び前記データ転送用システムバスと接続されていることを特徴とする。
【００１０】
また、請求項３に係る電子機器は、請求項２に記載の電子機器（１）であって、前記データ転送用ＣＰＵ（１２）は、前記メインＣＰＵ（１１）と前記データ転送用ＣＰＵ（１２）とが通信を行う対象に基づいて、前記スイッチ（２１〜２５）を切り換える処理を実行することを特徴とする。
【００１１】
また、請求項４に係る電子機器は、請求項２又は請求項３に記載の電子機器（１）であって、前記メインＣＰＵ（１１）と前記データ転送用ＣＰＵ（１２）との間で、前記スイッチ（２１〜２５）の状態を通信することを特徴とする。
【００１２】
また、請求項５に係る電子機器は、請求項１乃至請求項４のいずれかに記載の電子機器（１）であって、前記電子機器（１）の起動時において前記第１処理及び前記第２処理を前記複数のワークメモリ（１３、１４）の内から前記第１ワークメモリと前記第２ワークメモリの対象とするメモリを切り換えて繰り返し実行することを特徴とする。
【００１３】
更に、請求項６に係るコンピュータプログラムは、コンピュータに搭載され、メインＣＰＵ（１１）と、データ転送用ＣＰＵ（１２）と、複数のワークメモリ（１３、１４）と、複数のプログラムが記憶されたプログラム記憶媒体（３）と、前記メインＣＰＵと前記複数のワークメモリと前記プログラム記憶媒体とを通信可能に接続するメインシステムバス（１９）と、前記データ転送用ＣＰＵと前記複数のワークメモリと前記プログラム記憶媒体とを通信可能に接続するデータ転送用システムバスと、を備えた電子機器の制御を実行させるコンピュータプログラム（２０）であって、前記データ転送用ＣＰＵにより実行される処理であり、前記メインＣＰＵが前記メインシステムバスを介して前記複数のワークメモリの内の第１ワークメモリに展開された第１プログラムを実行する間に、前記データ転送用システムバスを介して前記プログラム記憶媒体から前記第１プログラムの次に前記メインＣＰＵが実行する第２プログラムを読み込み、該第２プログラムを前記複数のワークメモリの内の前記第１ワークメモリと異なる第２ワークメモリに転送して展開する第１処理と、前記メインＣＰＵにより実行される処理であり、前記メインシステムバスを介して前記第２ワークメモリに展開された前記第２プログラムを実行する第２処理と、を前記複数のワークメモリの内から前記第１ワークメモリと前記第２ワークメモリの対象とするメモリを切り換えて繰り返し実行させることを特徴とする。
【発明の効果】
【００１４】
前記構成を有する請求項１に係る電子機器では、メインＣＰＵがプログラムを実行している間に、メインＣＰＵと異なるデータ転送用ＣＰＵが次に実行するプログラムを展開することが可能となる。従って、プログラムの展開とプログラムの実行とを夫々同時に行うことが可能となり、プログラムの処理効率を向上させることが可能となる。また、メインＣＰＵがメモリ等と通信する為のメインシステムバスとデータ転送用ＣＰＵがメモリ等と通信するためのデータ転送用システムバスとをそれぞれ設けるので、いずれかのＣＰＵがバスを占有することによるタイムロスを減らすことが可能となる。また、ワークメモリに対して予めプログラムを記憶させておく従来の構成と比較して、電子機器の電源がＯＦＦ状態にある場合などにはワークメモリに対して電力を供給する必要が無いので、電子機器の電力消費量を低減することが可能となる。
【００１５】
また、請求項２に係る電子機器では、第１ワークメモリ、第２ワークメモリ及びプログラム記憶媒体は、接続対象をメインシステムバスとデータ転送用システムバスとの間で切り換えるスイッチを介してメインシステムバス及びデータ転送用システムバスと接続されているので、複数のＣＰＵが同時に異なるワークメモリやプログラム記憶媒体との間で通信を行うことが可能となる。
【００１６】
また、請求項３に係る電子機器では、データ転送用ＣＰＵは、メインＣＰＵとデータ転送用ＣＰＵとが通信を行う対象に基づいて、スイッチを切り換える処理を実行するので、複数のＣＰＵや複数のワークメモリ及びプログラム記憶媒体の間でプログラムの展開や実行を適切に行うことが可能となる。
【００１７】
また、請求項４に係る電子機器では、メインＣＰＵとデータ転送用ＣＰＵとの間で、スイッチの状態を通信するので、いずれか一方のＣＰＵのみによってスイッチの制御を行うことが可能となる。
【００１８】
また、請求項５に係る電子機器では、電子機器の起動時における起動時間を短縮することが可能となる。
【００１９】
更に、請求項６に係るコンピュータプログラムでは、メインＣＰＵがプログラムを実行している間に、メインＣＰＵと異なるデータ転送用ＣＰＵが次に実行するプログラムを展開することが可能となる。従って、プログラムの展開とプログラムの実行とを夫々同時に行うことが可能となり、プログラムの処理効率を向上させることが可能となる。また、メインＣＰＵがメモリ等と通信する為のメインシステムバスとデータ転送用ＣＰＵがメモリ等と通信するためのデータ転送用システムバスとをそれぞれ設けるので、いずれかのＣＰＵがバスを占有することによるタイムロスを減らすことが可能となる。また、ワークメモリに対して予めプログラムを記憶させておく従来の構成と比較して、電子機器の電源がＯＦＦ状態にある場合などにはワークメモリに対して電力を供給する必要が無いので、電子機器の電力消費量を低減することが可能となる。
【図面の簡単な説明】
【００２０】
【図１】本実施形態に係るナビゲーション装置を示した外観図である。
【図２】本実施形態に係るナビゲーション装置を示したブロック図である。
【図３】起動順位テーブルの一覧を示した図である。
【図４】本実施形態に係る起動処理プログラムのフローチャートである。
【図５】本実施形態に係る起動処理プログラムのフローチャートである。
【発明を実施するための形態】
【００２１】
以下、本発明に係る電子機器をナビゲーション装置に具体化した一実施形態に基づき図面を参照しつつ詳細に説明する。
先ず、本実施形態に係るナビゲーション装置１の構成について図１及び図２を用いて説明する。図１は本実施形態に係るナビゲーション装置１の外観を示した外観図、図２は本実施形態に係るナビゲーション装置１の制御系を示したブロック図である。
【００２２】
図１に示すように本実施形態に係るナビゲーション装置１は、ナビゲーション装置１の制御を行う電子制御ユニットであるナビゲーションＥＣＵ（エレクトロニック・コントロール・ユニット）２と、データを記憶させる記憶媒体としてのＨＤＤ（ハードディスクドライブ）３と、その他の周辺機器（例えば、液晶ディスプレイ、スピーカ、通信装置、ＧＰＳ受信機等）とから基本的に構成されている。
【００２３】
そして、図２に示すようにナビゲーションＥＣＵ２は、演算装置及び制御装置としてのメインＣＰＵ１１及びデータ転送用ＣＰＵ１２、並びにメインＣＰＵ１１が各種の演算処理を行うにあたってワーキングメモリとして使用される複数のメモリ（本実施形態では、一例として第１メインメモリ１３及び第２メインメモリ１４の２つのメモリを使用した場合を説明する）、ＢＩＯＳ（Basic Input/Output System）１５や後述の起動順位テーブル１６等が記録されたＲＯＭ１７を有する。
【００２４】
また、図２に示すようにナビゲーション装置１は、メインＣＰＵ１１と第１メインメモリ１３、第２メインメモリ１４、ＲＯＭ１７、ＨＤＤ３及びその他の周辺機器１８とを通信可能に接続するメインシステムバス１９と、データ転送用ＣＰＵ１２と第１メインメモリ１３、第２メインメモリ１４、ＲＯＭ１７、ＨＤＤ３及びその他の周辺機器１８とを通信可能に接続するデータ転送用システムバス２０とを有する。
【００２５】
更に、第１メインメモリ１３、第２メインメモリ１４、ＲＯＭ１７、ＨＤＤ３及びその他の周辺機器１８は、接続対象をメインシステムバス１９とデータ転送用システムバス２０との間で切り換えるスイッチ２１〜２５を介してメインシステムバス１９及びデータ転送用システムバス２０と接続されている。従って、例えばスイッチ２１〜２５によってメインシステムバス１９側に接続されている第１メインメモリ１３等は、メインＣＰＵ１１との間で通信が可能となり、データ転送用ＣＰＵ１２との間の通信は遮断される。一方、スイッチ２１〜２５によってメインシステムバス１９側に接続されている第１メインメモリ１３等は、データ転送用ＣＰＵ１２との間で通信が可能となり、メインＣＰＵ１１との間の通信は遮断される。尚、スイッチ２１〜２５は、後述のようにデータ転送用ＣＰＵ１２によって制御される。
【００２６】
また、ＨＤＤ３には地図データの他、後述のようにナビゲーション装置１の起動時においてメインＣＰＵ１１によって実行されるＢＯＯＴプログラム３１やナビゲーション装置１のＯＳ（Operating System）３２が記憶されている。
【００２７】
また、ＲＯＭ１７に記憶される起動順位テーブル１６は、ＨＤＤ３に記憶されたＢＯＯＴプログラム３１の起動順位を関連付けたテーブルである。ここで、図３は起動順位テーブル１６の一例を示した図である。図３に示すように起動順位テーブル１６は、起動順位とＢＯＯＴプログラム３１を構成する各プログラム（第１プログラム、第２プログラム、第３プログラム・・・）が対応づけて記憶される。そして、メインＣＰＵ１１及びデータ転送用ＣＰＵ１２は、起動順位テーブル１６に基づいて第１メインメモリ１３又は第２メインメモリ１４に展開及び実行するＢＯＯＴプログラム３１を決定する。例えば、図３に示す起動順位テーブル１６では、先ず、ＢＯＯＴプログラム３１の内、第１プログラムが第１メインメモリ１３又は第２メインメモリ１４に展開され、実行される。以下同様に、第２プログラム、第３プログラム・・・の順に各プログラムが第１メインメモリ１３又は第２メインメモリ１４に展開され、実行される。
【００２８】
尚、本実施形態に係るナビゲーション装置１では、後述のようにＢＯＯＴプログラム３１を第１メインメモリ１３又は第２メインメモリ１４に展開する処理はデータ転送用ＣＰＵ１２により行われる。また、第１メインメモリ１３又は第２メインメモリ１４に展開されたＢＯＯＴプログラム３１を実行する処理はメインＣＰＵ１１により行われる。更に、後述のようにＢＯＯＴプログラム３１が展開されるワークメモリは、第１メインメモリ１３と第２メインメモリ１４が交互に用いられる。また、データ転送用ＣＰＵ１２は起動順位テーブル１６に基づいて、メインＣＰＵ１１とデータ転送用ＣＰＵ１２とが通信を行う対象を特定し、スイッチ２１〜２５を切り換える制御についても行う。
【００２９】
また、メインＣＰＵ１１及びデータ転送用ＣＰＵ１２は、バス制御通信信号を相互に送受信可能に構成されている。そして、メインＣＰＵ１１はバス制御通信信号をデータ転送用ＣＰＵ１２に送信することによって、スイッチ２１〜２５の制御の実行をデータ転送用ＣＰＵ１２に指示する。また、データ転送用ＣＰＵ１２はバス制御通信信号をメインＣＰＵ１１に送信することによって、スイッチ２１〜２５の制御が完了したことをメインＣＰＵ１１に通知する。
【００３０】
続いて、前記構成を有するナビゲーション装置１のメインＣＰＵ１１及びデータ転送用ＣＰＵ１２が実行する起動処理プログラムについて図４及び図５に基づき説明する。図４及び図５は本実施形態に係る起動処理プログラムのフローチャートである。ここで、起動処理プログラムは、ナビゲーション装置１の電源がＯＮされた後に実行され、ＨＤＤ３に記憶されたＢＯＯＴプログラム３１を順次実行するプログラムである。具体的には、ナビゲーション装置１の電源がＯＮされると、ＲＯＭ１７に記憶されているＢＩＯＳ１５がＲＯＭ１７等に記憶されているＩＰＬ（Initial program loader）、またはそれに相応するプログラムローダによって読み込まれ、以下の処理が実行される。
【００３１】
先ず、データ転送用ＣＰＵ１２が実行する起動処理プログラムについて説明する。
ステップ（以下、Ｓと略記する）１において、データ転送用ＣＰＵ１２は、スイッチ２１〜２５を制御し、ＲＯＭ１７をデータ転送用システムバス２０に接続し、第１メインメモリ１３をデータ転送用システムバス２０に接続する。
【００３２】
次に、Ｓ２においてデータ転送用ＣＰＵ１２は、ＲＯＭ１７に記憶された起動順位テーブル１６（図３）を読み出す。起動順位テーブル１６には、前記したようにＢＯＯＴプログラム３１を構成する各プログラムの起動順位を規定したテーブルである。
【００３３】
続いて、Ｓ３においてデータ転送用ＣＰＵ１２は、スイッチ２１〜２５を制御し、ＨＤＤ３をデータ転送用システムバス２０に接続する。
【００３４】
その後、Ｓ４においてデータ転送用ＣＰＵ１２は、データ転送用システムバス２０を介してＨＤＤ３にアクセスし、ＨＤＤ３に記憶されているＢＯＯＴプログラム３１の内、起動順位テーブル１６において起動順位が１位に対応付けられているプログラム（以下、第１プログラムとする）を読み出す。そして、データ転送用ＣＰＵ１２は、データ転送用システムバス２０を介して第１プログラムを第１メインメモリ１３に展開する。
【００３５】
次に、Ｓ５においてデータ転送用ＣＰＵ１２は、起動順位テーブル１６に基づいてメインＣＰＵ１１とデータ転送用ＣＰＵ１２とがこれから通信を行う対象を特定し、スイッチ２１〜２５を切り換える制御を行う。具体的には、メインＣＰＵ１１が第１メインメモリ１３に展開された第１プログラムが実行できるように第１メインメモリ１３をメインシステムバス１９に接続し、データ転送用ＣＰＵ１２が第２プログラムを第２メインメモリ１４に展開できるように第２メインメモリ１４をデータ転送用システムバス２０に接続する。
【００３６】
更に、Ｓ６においてデータ転送用ＣＰＵ１２は、第１メインメモリ１３をメインシステムバス１９に接続するとともに、第２メインメモリ１４をデータ転送用システムバス２０に接続する制御が完了したことを通知するスイッチ制御完了信号をメインＣＰＵ１１に送信する。尚、メインＣＰＵ１１は前記Ｓ６で送信されたスイッチ制御完了信号を受信すると、第１メインメモリ１３に展開された第１プログラムの実行を開始する（Ｓ２２）。
【００３７】
その後、Ｓ７においてデータ転送用ＣＰＵ１２は、データ転送用システムバス２０を介してＨＤＤ３にアクセスし、ＨＤＤ３に記憶されているＢＯＯＴプログラム３１の内、起動順位テーブル１６において起動順位が２位に対応付けられているプログラム（以下、第２プログラムとする）を読み出す。そして、データ転送用ＣＰＵ１２は、データ転送用システムバス２０を介して第２プログラムを第２メインメモリ１４に展開する。尚、前記Ｓ７の処理をデータ転送用ＣＰＵ１２が実行している間、メインＣＰＵ１１は第１メインメモリ１３に展開された第１プログラムを実行している。
【００３８】
次に、Ｓ８においてデータ転送用ＣＰＵ１２は、メインＣＰＵ１１から送信されたスイッチ制御実行信号を受信する。ここで、前記Ｓ８においてデータ転送用ＣＰＵ１２が受信するスイッチ制御実行信号は、メインＣＰＵ１１が第１メインメモリ１３に展開された第１プログラムの実行を終了した際にメインＣＰＵ１１によって送信される（Ｓ２４）。
【００３９】
そして、前記Ｓ８でスイッチ制御実行信号を受信すると、Ｓ９においてデータ転送用ＣＰＵ１２は、起動順位テーブル１６に基づいてメインＣＰＵ１１とデータ転送用ＣＰＵ１２とがこれから通信を行う対象を特定し、スイッチ２１〜２５を切り換える制御を行う。具体的には、メインＣＰＵ１１が第２メインメモリ１４に展開された第２プログラムが実行できるように第２メインメモリ１４をメインシステムバス１９に接続し、データ転送用ＣＰＵ１２が第３プログラムを第１メインメモリ１３に展開できるように第１メインメモリ１３をデータ転送用システムバス２０に接続する。
【００４０】
更に、Ｓ１０においてデータ転送用ＣＰＵ１２は、第１メインメモリ１３をデータ転送用システムバス２０に接続するとともに、第２メインメモリ１４をメインシステムバス１９に接続する制御が完了したことを通知するスイッチ制御完了信号をメインＣＰＵ１１に送信する。尚、メインＣＰＵ１１は前記Ｓ１０で送信されたスイッチ制御完了信号を受信すると、第２メインメモリ１４に展開された第２プログラムの実行を開始する（Ｓ２６）。
【００４１】
その後、Ｓ１１においてデータ転送用ＣＰＵ１２は、データ転送用システムバス２０を介してＨＤＤ３にアクセスし、ＨＤＤ３に記憶されているＢＯＯＴプログラム３１の内、起動順位テーブル１６において起動順位が３位に対応付けられているプログラム（以下、第３プログラムとする）を読み出す。そして、データ転送用ＣＰＵ１２は、データ転送用システムバス２０を介して第３プログラムを第１メインメモリ１３に展開する。尚、前記Ｓ１１の処理をデータ転送用ＣＰＵ１２が実行している間、メインＣＰＵ１１は第２メインメモリ１４に展開された第２プログラムを実行している。
【００４２】
次に、Ｓ１２においてデータ転送用ＣＰＵ１２は、メインＣＰＵ１１から送信されたスイッチ制御実行信号を受信する。ここで、前記Ｓ１２においてデータ転送用ＣＰＵ１２が受信するスイッチ制御実行信号は、メインＣＰＵ１１が第２メインメモリ１４に展開された第２プログラムの実行を終了した際にメインＣＰＵ１１によって送信される（Ｓ２８）。
【００４３】
そして、前記Ｓ１２でスイッチ制御実行信号を受信すると、Ｓ１３においてデータ転送用ＣＰＵ１２は、起動順位テーブル１６に基づいてメインＣＰＵ１１とデータ転送用ＣＰＵ１２とがこれから通信を行う対象を特定し、スイッチ２１〜２５を切り換える制御を行う。具体的には、メインＣＰＵ１１が第１メインメモリ１３に展開された第３プログラムが実行できるように第１メインメモリ１３をメインシステムバス１９に接続し、データ転送用ＣＰＵ１２が第４プログラムを第２メインメモリ１４に展開できるように第２メインメモリ１４をデータ転送用システムバス２０に接続する。
【００４４】
更に、Ｓ１４においてデータ転送用ＣＰＵ１２は、第１メインメモリ１３をメインシステムバス１９に接続するとともに、第２メインメモリ１４をデータ転送用システムバス２０に接続する制御が完了したことを通知するスイッチ制御完了信号をメインＣＰＵ１１に送信する。尚、メインＣＰＵ１１は前記Ｓ１４で送信されたスイッチ制御完了信号を受信すると、第１メインメモリ１３に展開された第３プログラムの実行を開始する（Ｓ３０）。
【００４５】
その後、Ｓ１５においてデータ転送用ＣＰＵ１２は、データ転送用システムバス２０を介してＨＤＤ３にアクセスし、ＨＤＤ３に記憶されているＢＯＯＴプログラム３１の内、起動順位テーブル１６において起動順位が４位に対応付けられているプログラム（以下、第４プログラムとする）を読み出す。そして、データ転送用ＣＰＵ１２は、データ転送用システムバス２０を介して第４プログラムを第２メインメモリ１４に展開する。尚、前記Ｓ１５の処理をデータ転送用ＣＰＵ１２が実行している間、メインＣＰＵ１１は第１メインメモリ１３に展開された第３プログラムを実行している。
【００４６】
以下同様に、データ転送用ＣＰＵ１２は、スイッチ２１〜２５を制御するとともに、ＢＯＯＴプログラム３１を起動順位テーブル１６に従って起動順位の高いプログラムから順に第１メインメモリ１３又は第２メインメモリ１４に交互に展開する処理を繰り返し行う。
【００４７】
次に、メインＣＰＵ１１が実行する起動処理プログラムについて説明する。
Ｓ２１において、メインＣＰＵ１１は、データ転送用ＣＰＵ１２から送信されたスイッチ制御完了信号を受信する。ここで、前記Ｓ２１においてメインＣＰＵ１１が受信するスイッチ制御完了信号は、データ転送用ＣＰＵ１２が第１メインメモリ１３をメインシステムバス１９に接続するとともに、第２メインメモリ１４をデータ転送用システムバス２０に接続するスイッチ制御を完了した際にデータ転送用ＣＰＵ１２によって送信され（Ｓ６）、第１メインメモリ１３をメインシステムバス１９に接続するとともに、第２メインメモリ１４をデータ転送用システムバス２０に接続する制御が完了したことを通知する信号である。
【００４８】
そして、前記Ｓ２１でスイッチ制御完了信号を受信すると、メインＣＰＵ１１は、Ｓ２２において第１メインメモリ１３に展開された第１プログラムの実行を開始する。
【００４９】
その後、Ｓ２３においてメインＣＰＵ１１は、第１メインメモリ１３に展開された第１プログラムの実行が終了したか否かを判定する。そして、第１メインメモリ１３に展開された第１プログラムの実行が終了したと判定された場合（Ｓ２３：ＹＥＳ）には、Ｓ２４へと移行する。それに対して、第１メインメモリ１３に展開された第１プログラムの実行が終了していないと判定された場合（Ｓ２３：ＮＯ）には、終了するまで待機する。
【００５０】
Ｓ２４においてメインＣＰＵ１１は、第１メインメモリ１３に展開された第１プログラムの実行が終了したことに基づいて、次のプログラムを実行するためのスイッチ制御を指示するスイッチ制御実行信号をデータ転送用ＣＰＵ１２へ送信する。尚、データ転送用ＣＰＵ１２は前記Ｓ２４で送信されたスイッチ制御実行信号を受信すると、スイッチ２１〜２５の制御を実行する（Ｓ９）。
【００５１】
次に、Ｓ２５においてメインＣＰＵ１１は、データ転送用ＣＰＵ１２から送信されたスイッチ制御完了信号を受信する。ここで、前記Ｓ２５においてメインＣＰＵ１１が受信するスイッチ制御完了信号は、データ転送用ＣＰＵ１２が第１メインメモリ１３をデータ転送用システムバス２０に接続するとともに、第２メインメモリ１４をメインシステムバス１９に接続するスイッチ制御を完了した際にデータ転送用ＣＰＵ１２によって送信され（Ｓ１０）、第１メインメモリ１３をデータ転送用システムバス２０に接続するとともに、第２メインメモリ１４をメインシステムバス１９に接続する制御が完了したことを通知する信号である。
【００５２】
そして、前記Ｓ２５でスイッチ制御完了信号を受信すると、メインＣＰＵ１１は、Ｓ２６において第２メインメモリ１４に展開された第２プログラムの実行を開始する。
【００５３】
その後、Ｓ２７においてメインＣＰＵ１１は、第２メインメモリ１４に展開された第２プログラムの実行が終了したか否かを判定する。そして、第２メインメモリ１４に展開された第２プログラムの実行が終了したと判定された場合（Ｓ２７：ＹＥＳ）には、Ｓ２８へと移行する。それに対して、第２メインメモリ１４に展開された第２プログラムの実行が終了していないと判定された場合（Ｓ２７：ＮＯ）には、終了するまで待機する。
【００５４】
Ｓ２８においてメインＣＰＵ１１は、第２メインメモリ１４に展開された第２プログラムの実行が終了したことに基づいて、次のプログラムを実行するためのスイッチ制御を指示するスイッチ制御実行信号をデータ転送用ＣＰＵ１２へ送信する。尚、データ転送用ＣＰＵ１２は前記Ｓ２８で送信されたスイッチ制御実行信号を受信すると、スイッチ２１〜２５の制御を実行する（Ｓ１３）。
【００５５】
次に、Ｓ２９においてメインＣＰＵ１１は、データ転送用ＣＰＵ１２から送信されたスイッチ制御完了信号を受信する。ここで、前記Ｓ２９においてメインＣＰＵ１１が受信するスイッチ制御完了信号は、データ転送用ＣＰＵ１２が第１メインメモリ１３をメインシステムバス１９に接続するとともに、第２メインメモリ１４をデータ転送用システムバス２０に接続するスイッチ制御を完了した際にデータ転送用ＣＰＵ１２によって送信され（Ｓ１４）、第１メインメモリ１３をメインシステムバス１９に接続するとともに、第２メインメモリ１４をデータ転送用システムバス２０に接続する制御が完了したことを通知する信号である。
【００５６】
そして、前記Ｓ２９でスイッチ制御完了信号を受信すると、メインＣＰＵ１１は、Ｓ３０において第１メインメモリ１３に展開された第３プログラムの実行を開始する。
【００５７】
以下同様に、メインＣＰＵ１１は、第１メインメモリ１３又は第２メインメモリ１４に交互に展開されるプログラムを実行する処理を繰り返し行う。
【００５８】
以上詳細に説明した通り、本実施形態に係るナビゲーション装置１では、ナビゲーション装置１が起動された場合に、データ転送用ＣＰＵ１２が起動順位テーブル１６を読み出し（Ｓ２）、起動順位が最も高い第１プログラムを第１メインメモリ１３に展開し（Ｓ４）、その後、メインＣＰＵ１１が第１メインメモリ１３に展開された第１プログラムを実行し（Ｓ２２）、メインＣＰＵ１１が第１プログラムを実行する間に、データ転送用ＣＰＵ１２は起動順位が次に高い第２プログラムを第２メインメモリ１４に展開し（Ｓ７）、その後、メインＣＰＵ１１が第２メインメモリ１４に展開された第２プログラムを実行する（Ｓ２６）。以降同様に、プログラムを展開するメモリを第１メインメモリ１３と第２メインメモリ１４との間で切り換えて、プログラムの展開及び実行を繰り返し行うので、メインＣＰＵ１１がプログラムを実行している間に、メインＣＰＵ１１と異なるデータ転送用ＣＰＵ１２が次に実行するプログラムを展開することが可能となる。従って、プログラムの展開とプログラムの実行とを夫々同時に行うことが可能となり、プログラムの処理効率を向上させることが可能となる。また、メインＣＰＵ１１がメモリ等と通信する為のメインシステムバス１９とデータ転送用ＣＰＵがメモリ等と通信するためのデータ転送用システムバス２０とをそれぞれ設けるので、いずれかのＣＰＵがバスを占有することによるタイムロスを減らすことが可能となる。また、ワークメモリに対して予めプログラムを記憶させておく従来の構成と比較して、ナビゲーション装置１の電源がＯＦＦ状態にある場合などには第１メインメモリ１３及び第２メインメモリ１４に対して電力を供給する必要が無いので、ナビゲーション装置１の電力消費量を低減することが可能となる。
また、第１メインメモリ１３、第２メインメモリ１４及びＨＤＤ３は、接続対象をメインシステムバス１９とデータ転送用システムバス２０との間で切り換えるスイッチ２１〜２５を介してメインシステムバス１９及びデータ転送用システムバス２０と接続されているので、複数のＣＰＵ１１、１２が同時に異なるメインメモリ１３、１４やＨＤＤ３との間で通信を行うことが可能となる。
また、データ転送用ＣＰＵ１２は、メインＣＰＵ１１とデータ転送用ＣＰＵ１２とが通信を行う対象に基づいて、スイッチ２１〜２５を切り換える処理を実行するので、複数のＣＰＵ１１、１２や複数のメインメモリ１３、１４及びＨＤＤ３の間でプログラムの展開や実行を適切に行うことが可能となる。
また、メインＣＰＵ１１とデータ転送用ＣＰＵ１２との間で、スイッチ２１〜２５の状態を通信するので、いずれかデータ転送用ＣＰＵ１２のみによってスイッチ２１〜２５の制御を行うことが可能となる。
また、本発明をナビゲーション装置１が起動時に適用することによって、ナビゲーション装置１の起動時における起動時間を短縮することが可能となる。
【００５９】
尚、本発明は前記実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内で種々の改良、変形が可能であることは勿論である。
例えば、本実施形態ではワークメモリとして第１メインメモリ１３及び第２メインメモリ１４を有しているが、更に複数のワークメモリを備える構成としても良い。その場合には、複数のワークメモリの中から次にプログラムを展開するワークメモリを選択する構成とする。
【００６０】
また、本実施形態ではＣＰＵとしてメインＣＰＵ１１及びデータ転送用ＣＰＵ１２を有しているが、更に複数のＣＰＵを備える構成としても良い。尚、ＣＰＵの数に対応してシステムバスを設ける必要がある。
【００６１】
また、本実施形態ではスイッチの制御をデータ転送用ＣＰＵ１２が行う構成としているが、メインＣＰＵ１１が行う構成としても良い。但し、プログラムを実行するメインＣＰＵ１１に比べてデータ転送用ＣＰＵ１２の処理負担は少ないので、データ転送用ＣＰＵ１２がスイッチの制御を行う構成とした方が効率は良い。
【００６２】
また、本実施形態ではナビゲーション装置１の起動時に本願発明を適用した例を説明したが、起動時以外においても適用することは可能である。また、ナビゲーション装置以外の電子機器に適用することも可能である。例えば、音楽プレーヤ、携帯端末、パーソナルコンピュータなどであっても良い。
【符号の説明】
【００６３】
１            ナビゲーション装置
３            ＨＤＤ
１１          メインＣＰＵ
１２          データ転送用ＣＰＵ
１３          第１メインメモリ
１４          第２メインメモリ
１６          起動順位テーブル
１９          メインシステムバス
２０          データ転送用システムバス
２１〜２５    スイッチ
３１          ＢＯＯＴプログラム
【図１】
2011203855.tif 000003
【図２】
2011203855.tif 000004
【図３】
2011203855.tif 000005
【図４】
2011203855.tif 000006
【図５】
2011203855.tif 000007