(57)【要約】【課題】マルチコアプロセッサ上でプログラムを動作させる場合に、プログラムの処理時間の短縮を図ることができるナビゲーション装置を提供する。【解決手段】ナビゲーションプログラムを構成するプログラムのうちリアルタイム性よりも高スループットを高めることが要求される地図更新プログラム或いはセキュリティプログラムをＳＭＰ型プログラムとして構成した上でコアＣ２，Ｃ３に割当て、それらのプログラムを起動する場合は、コアＣ２，Ｃ３をＴSPMモード（機能分散動作モード）からＴTSMモード（負荷分散動作モード）に切換える。これにより、ＡＭＰ型プログラムを割当てられた１つのコア上で動作させる従来構成と比較して、プログラムの処理時間の短縮を図ることができる。【選択図】図６
2009211643.tif 000002
【特許請求の範囲】
【請求項１】
複数のコアを有したマルチコアプロセッサと、
ナビゲーションプログラムを構成する複数のプログラムが記憶された第１記憶手段と、
電源の投入に応じて前記マルチコアプロセッサ上で動作し、実行するナビゲーション機能に応じて前記第１記憶手段から所定のプログラムを読込むことにより当該プログラムを割当てられたコア上で動作させるオペレーティングシステムが記憶された第２記憶手段と、
動作モードを判定する動作モード判定手段とを備え、
前記ナビゲーションプログラムのうち高速処理を要求するプログラムは、ＳＭＰ（Symmetrical multi-processing）型プログラムとして構成されていると共に複数の特定コアで動作するように割当てられ、
前記オペレーティングシステムは、前記動作モード判定手段による判定結果に応じて前記ＳＭＰ型プログラムを起動する場合は、前記特定コアを負荷分散動作モードに切換えた状態で前記ＳＭＰ型プログラムを起動することを特徴とするナビゲーション装置。
【請求項２】
車両のバッテリから前記マルチコアプロセッサに給電可能であると共に、ＡＣＣ電源の状態を検出する電源検出手段を備え、
前記電源検出手段は、車両のＡＣＣ電源状態を前記マルチコアプロセッサに通知し、
前記マルチコアプロセッサは、前記電源検出手段によりＡＣＣ電源がオフしたことが通知された場合に前記ＳＭＰ型プログラムが起動していたときは、当該ＳＭＰ型プログラムに割当てられたコア以外のコアを低消費電力モードに切換えると共に、前記ＳＭＰ型プログラムの動作が終了したときは前記電源検出手段に電源断許可を通知し、
前記電源検出手段は、前記マルチコアプロセッサから電源断許可が通知されたときは、前記マルチコアプロセッサに対する給電を停止することを特徴とする請求項１記載のナビゲーション装置。
【請求項３】
前記マルチコアプロセッサはＴ-Engineであり、
前記マルチコアプロセッサ対応オペレーティングシステムはT-Kernelであることを特徴とする請求項１または２記載のナビゲーション装置。
【請求項４】
前記ＳＭＰ型プログラムは、地図更新プログラムであることを特徴とする請求項１ないし３の何れかに記載のナビゲーション装置。
【請求項５】
前記ＳＭＰ型プログラムは、セキュリティプログラムであることを特徴とする請求項１ないし３の何れかに記載のナビゲーション装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のコアを有したマルチコアプロセッサ上で動作し、ナビゲーションプログラムを構成する各プログラムを割当てられたコア上で動作させるオペレーティングシステムを備えたナビゲーション装置に関する。
【背景技術】
【０００２】
従来より、例えばカーナビゲーション装置では、ハードディスクに記憶された地図情報として新規の地図情報が発行されたり、新年度の地図情報が発行されたりする毎に地図情報を更新することが行われている。このような更新は、ディーラにおいて新規（新年度）の地図情報が記憶されたハードディスク装置をカーナビゲーション装置に接続し、作業者がカーナビゲーション装置の備えられた地図更新ボタンを操作することにより地図情報を更新するようにしている。また、情報センタから新しい地図情報を任意のタイミング、或いは自動的にダウンロードしたりすることも行われている（特許文献１参照）。
【特許文献１】特開２００１−１６５６６９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、ハードディスク装置に記憶されている地図情報は膨大なデータ量（例えば１０Ｇバイト）であり、全ての地図情報を更新するには長時間を要することから、地図更新をディーラが実行する場合には、地図更新を短時間（例えば３０分）内に終わらせたいという要求がある。
【０００４】
しかしながら、カーナビゲーション装置を起動した状態では、カーナビゲーション装置の制御装置が極めて資源効率の高いマルチコアプロセッサであっても、プログラムはＡＭＰ（Asymmetrical multi-processing）型（非対称型マルチプロセッシング）として構成されていることから、プログラムが動作するコアは固定しており、動作時間を短縮することは困難であるという事情がある。
【０００５】
本発明は上記事情に鑑みてなされたもので、その目的は、マルチコアプロセッサ上でプログラムを動作させる場合に、プログラムの処理時間の短縮を図ることができるナビゲーション装置を提供することにある。
【課題を解決するための手段】
【０００６】
請求項１の発明によれば、ナビゲーションプログラムのうちリアルタイム性（プログラムの手順通りに動作するという意味）よりも高スループットが要求されるプログラムはＳＭＰ型プログラムに構成されていると共に分散動作する特定コアに割当てられており、オペレーティングシステムは、動作モード判定手段による判定結果に応じてＳＭＰ型プログラムを起動する場合は、複数のコアを負荷分散動作モードに切換えた状態でＳＭＰ型プログラムを特定コア上で動作させる。これにより、ＳＭＰ型プログラムは、複数のコア上で負荷分散されて動作するので、プログラムの処理時間の短縮化を図ることができる。
【０００７】
マルチコアプロセッサに車両のバッテリから給電するように構成した場合、ＳＭＰ型プログラムが割当てられたコア上で動作中にアクセサリ電源がＯＦＦした場合であっても、電源検出手段によりマルチコアプロセッサへのメイン電源の給電は継続することから、ＳＭＰ型プログラムを継続して実行することができるものの、他のコアでＡＭＰ型プログラムの動作状態が継続してしまうことから、車両のバッテリが消耗してしまう。
【０００８】
そこで、請求項２の発明によれば、オペレーティングシステムは、ＳＭＰ型プログラムを起動した場合にアクセサリ電源がＯＦＦしたときは、当該プログラムに割当てられたコア以外のコアを低消費電力モードに切換えるので、マルチコアプロセッサ全体の消費電力を抑制することができる。また、ＳＭＰ型プログラムの動作が終了したときは、電源検出手段によりマルチコアプロセッサへのメイン電源の給電が停止するので、バッテリの消耗を一層低減することができる。
【発明を実施するための最良の形態】
【０００９】
以下、本発明の一実施形態について図面を参照して説明する。図１は、カーナビゲーション装置の全体構成を示す機能ブロック図である。カーナビゲーション装置１は、制御回路２、車両の現在位置を検出するための位置検出器３、地図データ入力器４ａ、新地図データ入力器５、操作スイッチ群６、電源検出部（電源検出手段に相当）７、外部メモリ８、カラー液晶ディスプレイ等からなる表示装置９、リモコンセンサ１１及びリモコン１２を備えると共に、携帯電話機１３との間でBluetooth（登録商標）通信を実行可能に構成されている。
【００１０】
位置検出器３は、車両のピッチ角を検出するためのＧセンサ１４、車両のロール角を検出するためのジャイロスコープ１５、車両の走行距離を検出する距離センサ１６、人工衛星からの送信電波に基づいて車両の現在位置を検出（測位）するＧＰＳ（Global Positioning System）のためのＧＰＳ受信機１７を有している。各センサ１４〜１６は、それぞれ性質の異なる誤差を有している。このため、制御回路２は、各センサ１４〜１６の検出値を補間しながら用いることにより、車両の現在位置、進行方向、速度、走行距離、現在時刻等を高精度で検出するようになっている。なお、精度によっては、位置検出器３を上述したセンサ１４〜１６の一部のみで構成してもよい。また、ステアリングの回転センサや各転動輪の車輪センサ等を用いてもよい。
【００１１】
地図データ入力器４ａは、道路地図データ、目印データ、マップマッチング用データ、目的地データ（施設データベース）、交通情報を道路データに変換するためのテーブルデータなどの地図情報を記録した内蔵ハードディスク装置（以下、内蔵ＨＤＤと称する）４の一部から構成されている。
【００１２】
新地図データ入力器５は、新規の地図情報を記録した外付けのハードディスク装置により構成されており、例えばディーラにおいてカーナビゲーション装置１に接続された状態で操作スイッチ群６の地図更新スイッチが操作されたときは、制御回路２により新規の地図情報が読込まれて地図データ入力器４ａに書き込まれるようになっている。
【００１３】
上記道路地図データは、道路形状、道路幅、道路名、信号、踏切、建造物、各種施設、地名、地形等のデータを含むとともに、その道路地図を表示装置９の画面上に表示するためのデータを含んでいる。また、目的地データは、駅等の交通機関、レジャー施設、宿泊施設、公共施設等の施設や、小売店、デパート、レストラン等の各種の店舗、住居やマンション、地名などに関する情報からなり、このデータにはそれらの電話番号や住所、緯度および経度等のデータが含まれるとともに、施設を示すランドマーク等を、表示装置９の画面上に道路地図に重ね合せて表示するためのデータを含んで構成されている。
【００１４】
操作スイッチ群６は、詳しく図示はしないが、表示装置９の画面の近傍に設けられたメカニカルスイッチや、表示装置９の画面上に設けられるタッチパネルを含んで構成されている。ユーザ（ドライバ）は、この操作スイッチ群６を用いて、目的地、目的地の検索に必要な情報、通過点などの入力、および表示装置９の画面や表示態様の切り替え等を行う各種のコマンドの入力を行うようになっている。尚、ユーザは、リモコン１２を操作することによってもコマンド等を入力できるようになっている。
【００１５】
外部メモリ８は、フラッシュメモリカード等から構成され、例えば他の規格に対応するためのプログラムソフトが記憶され、あるいは特定のデータ例えば経路案内時に制御回路２が設定した目的地までの経路のデータ等が記憶されるようになっている。
【００１６】
表示装置９の画面には、車両の位置周辺の地図が各種縮尺で表示されるとともに、その表示に重ね合わせて、車両の現在位置と進行方向とを示す現在地マーク（ポインタ）が表示されるようになっている。また、目的地までの経路案内の実行時には、経路案内用の画面が表示されるようになっている。さらに、表示装置９には、利用者が目的地の検索に必要な情報等を入力したり、目的地の検索や設定を行うための入力用の画面や、各種のメッセージ等も表示されるようになっている。
【００１７】
制御回路２の主体は、複数のコアからなるマルチコアプロセッサ１０であり、メモリ（ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ等）、Ｉ／Ｏなど（図示せず）を備えている。マルチコアプロセッサ１０がプログラムを実行することにより、カーナビゲーション装置１が有する目的地検索機能、経路探索機能、経路案内機能、各種選択機能が動作するようになっている。尚、ＲＡＭはＤ−ＲＡＭであり、給電状態を維持する必要から、イグニッションスイッチのオフ状態でも車両のバッテリから給電されるようになっている。
【００１８】
ここで、経路探索機能は、車両の出発地（現在位置）から目的地までの推奨する走行経路を自動計算するものであり、その手法としては、例えばダイクストラ法が用いられている。具体的には、走行経路に沿って移動可能なように、表示装置９の画面に現在地周辺の道路地図を表示するとともに、車両の現在位置と進行方向を示す現在地マークを道路地図に重ね合わせて表示する機能である。この場合、車両の走行に伴って現在地の表示は地図上を移動し、地図は車両の位置に応じてスクロール表示される。このとき、車両の現在地を道路上にのせるマップマッチングが行なわれる。
携帯電話機１３は、基地局と通信することにより外部ネットワークを通じて情報センタ１８と接続可能であり、制御回路２は、情報センタ１８から各種コンテンツを入手可能となっている。
【００１９】
図２は、電源検出部７と制御回路２との間で授受される各種信号を示している。電源検出部７は、バッテリの電源電圧及びＡＣＣ（accessory）電源電圧を検出し、制御回路２に対してメイン電源信号、ＡＣＣ電源状態検出信号を出力すると共に、制御回路２から電源断許可信号を入力するようになっている。制御回路２は、コアＣ０〜Ｃ３を有したマルチコアである。
【００２０】
内蔵ＨＤＤ４には、ＯＳ（オペレーティングシステム）としてマルチコアプロセッサ対応ＯＳ（例えばイーソル社のeT-Kernel Multi-Core Edition（商品名、以下、T-Kernelと称する））が記憶されていると共に、カーナビゲーションの機能を発揮するための複数のアプリケーションソフトが記憶されており、第１記憶手段及び第２記憶手段に相当する。T-Kernelは、ユビキタス・ネットワーキング社会を容易に実現するためにT-Enginフォーラム（非営利団体）が提唱する開発環境或いは実行環境で、組込み機器の開発効率を高めることを目的として仕様が共通化されたマルチコアプロセッサであるT-Engin上で動作するＯＳである。T-Kernelのソースコードは、無償で提供されており、自由に複製したり改変したりすることが可能となっている。
【００２１】
T-Kernelは、マルチコアプロセッサを用いたマルチコアプロセッサのためのリアルタイムＯＳであり、ＳＭＰ（Symmetrical multi-processing）型（対称型マルチプロセッシング）とＡＭＰ（Asymmetrical multi-processing）型（非対称型マルチプロセッシング）の２種類のプログラムの混在が可能である。つまり、単一のプログラムを複数のコアで処理する負荷分散型のプログラムであるＳＭＰ型プログラムと、それぞれのコア上で別々のプログラムを処理させる機能分散型のプログラムであるＡＭＰ型プログラムとが混在可能であり、各プログラムの特徴を最大限発揮させることが可能である。
【００２２】
また、内蔵ＨＤＤ４には、ナビゲーションプログラムを構成する動作モード判定プログラム（動作モード判定手段に相当）が記憶されている。この動作モード判定処理プログラムは、図３に示すようにＡＣＣ電源状態やユーザ操作情報としてのリモコン１２からの信号に基づいて以下の動作モードマトリクスに従い、最適な動作モードを判定し、その動作モードに応じて各コアＣ０〜Ｃ３の動作モードを切換えるようになっている。
【００２３】
図４は、各コアＣ０〜Ｃ３の動作モードマトリクスを示している。動作モードとしては、通常状態、地図更新（電源ＯＮ）、地図更新（電源ＯＦＦ）が設定されており、各動作モードに対応して各コアＣ０〜Ｃ３の動作モードが設定されている。つまり、各コアＣ０〜Ｃ３は、通常状態ではＴSPMが設定され、地図更新（電源ＯＮ）ではＣ０，Ｃ１がＴSPM，Ｃ２，Ｃ３がＴTSMに切換えられ、地図更新（電源ＯＦＦ）ではＣ０，Ｃ１が低消費電力状態、Ｃ２，Ｃ３がＴTSMに切換えられるようになっている。
【００２４】
ＴTSM及びＴSPMモードの意味は次の通りである。
ＴTSM……T-EnginのＴＳＭ（True SMP Mode）モードで、ＳＭＰ型プログラムを分散処理して平均スループットを最大限に高めることができる。
ＴSPM……T-EnginのＳＰＭ（Single Processor Mode）モードで、ＡＭＰ型プログラムを単独処理してリアルタイム性（タスクがプログラム通り処理されるという意味）を保証することができる。
【００２５】
図４に示す例の場合、コアＣ２，Ｃ３がＴTSMに設定可能な特定コアに相当する。
本実施形態では、ＳＭＰ型プログラムとして例えば地図情報更新プログラム、或いはセキュリティプログラムなどのリアルタイム性よりも処理時間の短縮が望まれるプログラムが設定されている。これらのプログラムは、従来ＡＭＰ型プログラムとして構成されており、予め割り振られた１個のコア上で動作するように設定されていた。
【００２６】
次に上記構成の作用について説明する。
ユーザが車両のイグニッションスイッチをＡＣＣ位置に切換えると、電源検出部７は、カーナビゲーション装置１の制御回路２にメイン電源を給電する。すると、制御回路２が起動し、内蔵ＨＤＤ４からT-Kernelを読込み、T-Kernelがナビゲーションプログラムを構成する各プログラムを管理するようなる。
【００２７】
ナビゲーションプログラムとしては、制御回路２のＲＡＭ上に常駐して割当てられたコア上で動作する常駐プログラムと、必要に応じてＲＡＭに読込まれて割当てられたコア上で動作する非常駐プログラムとがある。常駐プログラムとしては、表示装置９に対する表示を制御する表示制御プログラム、操作スイッチ群６の操作状態を判断する操作検出プログラム、本発明に関連した動作モード判定処理プログラムなどがある。また、非常駐プログラムとしては、カーナビゲーションの機能を実現するための目的地検索プログラム、経路探索プログラム、経路案内プログラム、地図情報更新プログラム、セキュリティプログラムなどがある。本実施形態では、地図情報更新プログラム及びセキュリティプログラムをＳＭＰ型プログラムとして構成しており、複数のコアで分散動作可能となっている。また、他のプログラムを従来と同様なＡＭＰ型プログラムとして構成している。
【００２８】
制御回路２は、操作スイッチ群６に対する操作、或いは適宜タイミングで所定のプログラムをマルチコアプロセッサ１０のコアに割当てて起動するようになっている。
制御回路２は、ＡＣＣ電源がオンしたときは、各コアの動作モードを通常状態とする。この通常状態では、全てのコアＣ０〜Ｃ３をT-ENGINEのＴSPMとする。つまり、ＡＭＰ型プログラムを割当てられた１個のコア上で動作させる（図５参照）。この場合、動作モード判定処理プログラムは、例えばコアＣ０上で常駐プログラムとして動作するようになる。
【００２９】
さて、ディーラの担当者は、新規の地図情報が記憶された外付けＨＤＤの新地図データ入力器５を入手したときは、対応するカーナビゲーション装置１の車両の所有者に連絡し、地図情報の更新を連絡する。車両の所有者が車両をディーラに持ち込んだときは、作業者は、カーナビゲーション装置１に新地図データ入力器５を接続し、操作スイッチ群６の地図更新スイッチを操作する。
【００３０】
制御回路２は、地図更新スイッチが操作されたときは、各コアＣ０〜Ｃ３の動作モードを図４に示す動作モードマトリクスに基づいて地図更新(電源ＯＮ)に切換える。この地図更新（電源ＯＮ）では、動作モード判定処理プログラムは、コアＣ２，Ｃ３の動作モードをＴSPMからＴTSMに切換えると共に、内蔵ＨＤＤ４から地図更新プログラムを読込んで起動する。この場合、地図更新プログラムはコアＣ２，Ｃ３に割当てられているので、コアＣ２，Ｃ３上で分散動作する（図６参照）。これにより、制御回路２は、新地図データ入力器５に記憶されている新規の地図情報を内蔵ＨＤＤ４の地図データ入力器４ａに書込むようになり、新規の地図情報に更新することができる。このとき、地図更新プログラムは、他のプログラムの影響を受けることなく２個のコアＣ２，Ｃ３上で分散動作するので、処理時間の短縮を図ることができる。また、コアＣ０，Ｃ１上では、常駐型のＡＭＰ型プログラム或いは必要に応じて所定のＡＭＰ型プログラムが起動している（図６参照）。
【００３１】
ところで、地図更新は処理する地図情報のデータ量が極めて大きいことから、上述のように処理時間の短縮を図ることが可能であっても、作業者がアクセサリ電源をオフすることがある。このような場合、従来では、制御回路２に対するメイン電源が断たれてしまうことから、制御回路２が停止してしまい、地図更新処理が中断されてしまうことになる。
【００３２】
このような場合、電源検出部７は、ＡＣＣ電源のＯＦＦを検出した場合は、制御回路２に対してメイン電源の給電を維持した状態でＡＣＣ電源がＯＦＦしたことを通知する。これにより、制御回路２は、地図更新処理を継続して実行するので、地図更新処理が中断してしまうことを防止できる。
【００３３】
しかしながら、このように地図更新処理を継続することができるものの、コアＣ０，Ｃ１が動作しているので、その分、マルチコアプロセッサ１０の消費電力が増大する。
そこで、動作モード判定処理プログラムは、地図更新処理状態でＡＣＣ電源がＯＦＦしたときは、図４に示す動作モードマトリクスに基づいて動作モードを地図更新（電源ＯＦＦ）に切換える。つまり、コアＣ０，Ｃ１を低消費電力動作モードに切換える（図７参照）。これにより、コアＣ０，Ｃ１の消費電力が抑制されるので、マルチコアプロセッサ１０全体の消費電力を抑制することができるようになる。
動作モード判定処理プログラムは、地図更新が終了したときは、電源検出部７に対して電源断許可を通知する。電源検出部７は、制御回路２から電源断許可が通知されたときは、制御回路２に対するメイン電源の給電を停止する。
【００３４】
以上のようにして、制御回路２による地図更新処理が終了したときは、制御回路２に対するメイン電源の給電が停止するので、以後におけるバッテリの消耗を抑制することができる。尚、カーナビゲーション装置１のＤ−ＲＡＭのバックアップ状態を継続するために、Ｄ−ＲＡＭに対するメイン電源の給電状態は継続される。
以上のような作用効果は、セキュリティプログラムをコアＣ２，Ｃ３上で動作させる場合にも同様に得られる。
【００３５】
このような実施形態によれば、ナビゲーションプログラムを構成するプログラムのうちリアルタイム性よりも高スループットを高めることが要求される地図更新プログラム或いはセキュリティプログラムをＳＭＰ型プログラムとして構成した上でコアＣ２，Ｃ３に割当て、それらのプログラムを起動する場合は、コアＣ２，Ｃ３をＴSPMモード（機能分散動作モード）からＴTSMモード（負荷分散動作モード）に切換えるようにしたので、ＡＭＰ型プログラムを割当てられた１つのコア上で動作させる従来構成と比較して、プログラムの処理時間の短縮を図ることができる。
【００３６】
しかも、制御回路２は、地図更新処理中にＡＣＣ電源がＯＦＦしたときは、制御回路２に対するメイン電源の給電を継続した状態で、特定コア以外のコアＣ０，Ｃ１を低消費電力動作モードに切換えるようにしたので、制御回路２の消費電力を低減することができる。
さらに、制御回路２による地図更新処理が終了したときは、制御回路２に対するメイン電源の給電を停止するようにしたので、制御回路２の消費電力を一層低減することができる。
【００３７】
（その他の実施形態）
本発明は、上記実施形態に限定されることなく、次のように変形または拡張できる。
マルチコアプロセッサ１０のコア数は４個に限定されることなく、２個、３個、或いは５個以上であってもよい
ＳＭＰ型プログラムが動作するコア数は２個に限定されることなく、３個のコアに割当てるようにしてもよい。尚、マルチコアプロセッサ１０のコア数が多くなるほど、ＳＭＰ型プログラムが動作するコア数を多く割当てることができる。
【００３８】
複数のコアで分散処理するプログラムとしては、地図更新プログラム及びセキュリティプログラム以外のプログラムに適用してもよい。
マルチコアプロセッサ１０上で動作するＯＳとしては、T-Kernel以外のＯＳを用いるようにしてもよい。
【図面の簡単な説明】
【００３９】
【図１】本発明の一実施形態におけるカーナビゲーション装置の構成を示す機能ブロック図
【図２】電源検出部と制御回路との間の信号を示す図
【図３】動作モード判定処理プログラムの入力情報を示す図
【図４】各コアＣ０〜Ｃ３の動作モードマトリクスを示す図
【図５】各コアＣ０〜Ｃ３が通常状態の場合を示す図
【図６】地図更新プログラムがコアＣ２，Ｃ３上で分散動作する場合を示す図
【図７】コアＣ０，Ｃ１を低消費電力動作モードに切換えた状態を示す図
【符号の説明】
【００４０】
図面中、１はカーナビゲーション装置、２は制御回路、４は内蔵ＨＤＤ（第１記憶手段、第２記憶手段）、４ａは地図データ入力器、５は新地図データ入力器、７は電源検出部（電源検出手段）、１０はマルチコアプロセッサである。
【図１】
2009211643.tif 000003
【図２】
2009211643.tif 000004
【図３】
2009211643.tif 000005
【図４】
2009211643.tif 000006
【図５】
2009211643.tif 000007
【図６】
2009211643.tif 000008
【図７】
2009211643.tif 000009