(57)【特許請求の範囲】
【請求項１】
物理メモリを共有してマルチプロセッシングが可能な第１プロセッサ及び第２プロセッサを含む情報機器であって、
上記第１プロセッサは、リセット解除後にＯＳイメージファイルを実行することによってオペレーティングシステムの処理を行い、上記オペレーティングシステム上でアプリケーションを起動し、
上記第２プロセッサは、リセット解除後に起動時機能用プログラムを実行することによって、上記情報機器の機能の一部を上記第１プロセッサによる上記アプリケーション起動に先行して提供し、
上記第２プロセッサによる上記起動時機能用プログラム実行時の情報は、上記オペレーティングシステムの処理開始後に起動されるアプリケーションに引き継がれ、
上記物理メモリは、メインＲＡＭと、起動用ＲＯＭと、ストレージデバイスと、を含み、
上記起動用ＲＯＭにはブートローダと、起動時機能用プログラムが格納され、
上記ストレージデバイスには、通常機能用ＯＳイメージファイルが格納され、
上記第１プロセッサは、リセット解除後に、上記ブートローダの実行を開始し、上記第２プロセッサのリセット状態を解除するとともに、上記通常機能用ＯＳイメージファイルを上記ストレージデバイスから上記メインＲＡＭに転送し、上記通常機能用ＯＳイメージファイルの実行開始アドレスに分岐することでオペレーティングシステムの処理に切り替えられ、
上記第２プロセッサは、リセット解除後に上記起動用ＲＯＭ内の上記起動時機能用プログラムを実行し、
上記第１プロセッサは、上記メインＲＡＭの所定アドレスから上記第２プロセッサによる上記起動時機能用プログラム実行に関する設定情報をアプリケーション内部に取り込んだ後に、上記第２プロセッサに割り込みを要求し、
上記第２プロセッサは、上記第１プロセッサからの上記割り込み要求に応じて、上記メインＲＡＭの特定アドレスに分岐して、上記第１プロセッサをマスタとした場合のスレーブとしての初期化処理を呼び出して実行する情報機器。
【請求項２】
上記情報機器の機能の一部として、カメラモジュールによって得られた映像の表示機能、及び上記映像の表示状態の調整機能を含む請求項１記載の情報機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報機器の電源を投入してから当該情報機器の機能が利用可能になるまでの時間を短縮するための技術に関する。
【背景技術】
【０００２】
情報機器の一例として、カー・ナビゲーションシステムを挙げることができる。カー・ナビゲーションシステムなどの高機能な組み込み機器向けのマルチコア・プロセッサには、ＡＭＰ（Asymmetric Multiple Processor）構成専用のものと、ＡＭＰ構成とＳＭＰ（Symmetric Multiple Processor）構成の両方に対応したものがある。ＡＭＰ構成ではプロセッサ・コア毎に固有のソフトウェアが稼働する。ＳＭＰ構成では複数のコア全体で1つのソフトウェアを稼働させ、実行時に各プロセッサ・コアにタスクが割り当てられる。
【０００３】
特許文献１には、マルチコアプロセッサ上でプログラムを動作させる場合のプログラム処理時間を短縮するための技術が記載されている。また、特許文献１には、マルチコアプロセッサ上でTSPMモード（機能分散動作モード）からTTSMモード（負荷分散動作モード）に切換えることが記載されている（明細書段落００３５）。
【０００４】
特許文献２には、ＣＰＵコア０とＣＰＵコア１をそれぞれ個別に、ＳＭＰとＡＭＰの処理モードの、一方から他方に切り替えることが記載されている（明細書段落００１３）。
【０００５】
特許文献３には、電源投入後、直ちに画面表示を可能とするために、表示コントローラが電源投入後に自律的に動作を開始するようにしたシステムが記載されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平２００９−２１１６４３号公報
【特許文献２】特開平２０１０−２１８２７７号公報
【特許文献３】特開平２００６−２９３９２５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献３記載のシステムは、ＣＰＵ（中央処理装置）と表示コントローラとを持つ電子機器であり、電源投入後直ちに画面表示を可能とするために、表示コントローラが電源投入後に自律的に動作を開始するように構成されている。つまり、電源投入後の画面表示を表示コントローラの自律的な動作に依存しているため、表示する画像の変更程度はメモリの書き換えにより可能であるが、原理上は予め表示コントローラに組み込まれている表示方法以外の方法で画面を表示することはできない。すなわち、電源投入の際にＣＰＵからの制御を受けずに自律的に動作を開始するため、表示開始の際の設定をソフトウェアから行うことができない。また、自律的な動作の期間中は、外部からの入力やユーザの操作への対応など、表示コントローラが管理しないハードウェアが必要となる動作や、ソフトウェアによる処理を必要とする動作には対応できない。
【０００８】
このため、特許文献３記載のシステムでは、電源投入直後に、静止画または静止画の切り替えによるアニメーションを表示することはできるが、基本的に製品の機能を提供するのは困難とされる。例えば機器の接続状態や自己診断結果の表示や、操作可能なユーザインタフェース画面の表示、メディア再生、カメラ画像の表示や録画といった製品機能を使用するためには、システム起動処理の完了を待つ必要があるため、時間がかかってしまう。
【０００９】
特許文献１，２においては、ＳＭＰとＡＭＰとの切り替え、若しくはマルチコアの起動について記載されているものの、電源投入からシステムの機能が利用可能になるまでの時間を短縮することについては考慮されていない。
【００１０】
本発明の目的は、電源投入から情報機器の機能が利用可能になるまでの時間短縮を図ることにある。
【００１１】
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１２】
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
【００１３】
すなわち、物理メモリを共有してマルチプロセッシングが可能な第１プロセッサ及び第２プロセッサを含む情報機器において、上記第１プロセッサは、リセット解除後にＯＳイメージファイルを実行することによってオペレーティングシステムの処理を行い、上記オペレーティングシステム上でアプリケーションを起動する。上記第２プロセッサは、リセット解除後に起動時機能用プログラムを実行することによって、上記情報機器の機能の一部を上記第１プロセッサによる上記アプリケーション起動に先行して提供する。上記第２プロセッサによる上記起動時機能用プログラム実行時の情報は、上記ＯＳイメージファイルの実行開始後に起動されるアプリケーションに引き継がれる。
【発明の効果】
【００１４】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記のとおりである。
【００１５】
すなわち、電源投入からシステムの機能が利用可能になるまでの時間を短縮することができる。
【図面の簡単な説明】
【００１６】
【図１】本発明にかかる情報機器の一例とされるカー・ナビゲーションシステムの構成例ブロック図である。
【発明を実施するための形態】
【００１７】
１．実施の形態の概要
先ず、本願において開示される発明の代表的な実施の形態について概要を説明する。代表的な実施の形態についての概要説明で括弧を付して参照する図面中の参照符号はそれが付された構成要素の概念に含まれるものを例示するに過ぎない。
【００１８】
〔１〕本発明の代表的な実施の形態に係る情報機器（１）は、物理メモリ（１７，１８，１９）を共有してマルチプロセッシングが可能な第１プロセッサ（１１０）及び第２プロセッサ（１１１）を含む。このとき、上記第１プロセッサは、リセット解除後にＯＳイメージファイルを実行することによってオペレーティングシステムの処理を行い、上記オペレーティングシステム上でアプリケーションを起動する。上記第２プロセッサは、リセット解除後に起動時機能用プログラムを実行することによって、上記情報機器の機能の一部を上記第１プロセッサによる上記アプリケーション起動に先行して提供する。そして上記第２プロセッサによる上記起動時機能用プログラム実行時の情報は、上記オペレーティングシステムの処理開始後に起動されるアプリケーションに引き継がれる。
【００１９】
上記の構成によれば、上記第２プロセッサは、上記第１プロセッサによるオペレーティングシステムの処理にかかわらず、リセット解除後に起動時機能用プログラムを実行することによって、上記情報機器の機能の一部を上記第１プロセッサによる上記アプリケーション起動に先行して提供する。これにより電源投入後において、上記第２プロセッサのリセット解除後に、上記情報機器の機能の一部を速やかに提供することができるので、電源投入から情報機器の機能が利用可能になるまでの時間短縮が達成される。
【００２０】
〔２〕上記〔１〕において、上記物理メモリは、メインＲＡＭ（１７）と、起動用ＲＯＭ（１８）と、ストレージデバイス（１９）とを含む。このとき、上記起動用ＲＯＭにはブートローダ（１８１）と、起動時機能用プログラム（１８２）が格納され、上記ストレージデバイスには、通常機能用ＯＳイメージファイル（１９１）が格納される。上記第１プロセッサは、リセット解除後に、上記ブートローダの実行を開始し、上記第２プロセッサのリセット状態を解除するとともに、上記通常機能用ＯＳイメージファイルを上記ストレージデバイスから上記メインＲＡＭに転送し、上記通常機能用ＯＳイメージファイルの実行開始アドレスに分岐することでオペレーティングシステムの処理に切り替えられる。上記第２プロセッサは、リセット解除後に上記起動用ＲＯＭ内の上記起動時機能用プログラムを実行する。
【００２１】
〔３〕上記〔２〕において、上記第１プロセッサは、上記メインＲＡＭの所定アドレスから上記第２プロセッサによる上記起動時機能用プログラム実行に関する設定情報をアプリケーション内部に取り込んだ後に、上記第２プロセッサに割り込みを要求する。上記第２プロセッサは、上記第１プロセッサからの上記割り込み要求に応じて、上記メインＲＡＭの特定アドレスに分岐して、上記第１プロセッサをマスタとした場合のスレーブとしての初期化処理を呼び出して実行する。
【００２２】
〔４〕上記〔３〕において、上記情報機器の機能の一部として、カメラモジュール（２１）によって得られた映像の表示機能、及び上記映像の表示状態の調整機能を含めることができる。
【００２３】
２．実施の形態の詳細
実施の形態について更に詳述する。
【００２４】
《実施の形態１》
図１には、本発明にかかる情報機器の一例とされるカー・ナビゲーションシステムが示される。
【００２５】
図１に示されるカー・ナビゲーションシステム１は、自動車の走行時に現在位置や目的地への経路案内を電子的に行うためのシステムであり、特に制限されないが、マイクロプロセッサ１０、メインＲＡＭ（Random Access Memory）１７、起動用ＲＯＭ（Read Only Memory）１８、ストレージデバイス１９、液晶パネル２０、カメラモジュール２１、及び外部接続部品群２２を含んで成る。
【００２６】
マイクロプロセッサ１０は、カー・ナビゲーションシステムの中核とされ、予め設定されたプログラムに従って、自動車の走行時に現在位置や目的地への経路案内を電子的に行うための演算処理を行う。メインＲＡＭ１７は、ＤＤＲバスｄｂを介してマイクロプロセッサ１０に結合される。このメインＲＡＭ１７には、ＤＤＲ２−ＳＤＲＡＭ（Double-Data-Rate2 Synchronous Dynamic Random Access Memory）が適用される。このＤＤＲ２−ＳＤＲＡＭは、４ビットのプリフェッチ機能を有しており、外部クロックとして、内部クロックの２倍のクロックを用いることにより、理論上、同一クロックで動作するＤＤＲ  ＳＤＲＡＭの２倍、ＳＤＲＡＭの４倍のデータ転送速度が得られる。起動用ＲＯＭ１８は、ローカルバスｌｂを介してマイクロプロセッサ１０に結合される。起動用ＲＯＭ１８には、ブートローダ１８１や起動時機能用プログラム１８２が格納されている。この起動用ＲＯＭ１８にはＮＯＲ型フラッシュメモリを適用することができる。ストレージデバイス１９は、ローカルバスｌｂを介してマイクロプロセッサ１０に結合される。ストレージデバイス１９には、通常機能用ＯＳイメージファイル１９１及びデータ領域１９２が形成される。ストレージデバイス１９にはＮＡＮＤ型フラッシュメモリを適用することができる。液晶パネル２０は、マイクロプロセッサ１０から伝達された画像データを可視化する。カメラモジュール２１は、例えば自動車の後方をモニタするために設けられる。カメラモジュール２１によって得られた動画や静止画は、必要に応じて液晶パネル２０に表示することができる。外部接続部品群２２には、カー・ナビゲーションシステム１の操作パネルに設けられた各種スイッチ、ＬＥＤ（発光ダイオード）や、マルチプロセッサ１０に動作用電源を供給するための電源回路、マルチプロセッサ１０の周囲温度を検出するためのセンサー、時計機能モジュールなどを挙げることができる。
【００２７】
マイクロプロセッサ１０は次のように構成される。
【００２８】
マイクロプロセッサ１０は、公知の半導体集積回路製造技術により単結晶シリコン基板などの一つの半導体基板に形成され、ＣＰＵコア部１１、画像入出力コントローラ（ＣＥＵ−ＬＣＤＣ）１２、割り込みコントローラ（ＩＮＴＣ）１３、外部バスコントローラ（ＢＳＣ）１４、タイマユニット（Ｔｉｍｅｒ）１５、汎用入出力コントローラ（ＧＰＩＯ）１６を含んで成る。
【００２９】
ＣＰＵコア部１１は、ＳＭＰ（対称型マルチプロセッシング）に対応している。ＣＰＵコア部１１は、ＣＰＵコア（ｍａｓｔｅｒ）１１０、ＣＰＵコア（ｓｌａｖｅ）１１１、ＣＰＵコア（ｓｌａｖｅ）１１２を含む。さらにＣＰＵコア部１１は、メモリ管理ユニット（ＭＭＵ０）１１３、一次キャッシュメモリ（Ｌ１Ｃ０）１１４、メモリ管理ユニット（ＭＭＵ１）１１５、一次キャッシュメモリ（Ｌ１Ｃ１）１１６、メモリ管理ユニット（ＭＭＵ２）１１７、一次キャッシュメモリ（Ｌ１Ｃ２）１１８、キャッシュ整合性判定回路（ＣＣ）１１９、二次キャッシュメモリ（Ｌ２Ｃ）１２０を含む。メモリ管理ユニット１１３及び一次キャッシュメモリ１１４は、ＣＰＵコア１１０に対応して配置され、メモリ管理ユニット１１５及び一次キャッシュメモリ１１６はＣＰＵコア１１１に対応して配置され、メモリ管理ユニット１１７及び一次キャッシュメモリ１１８はＣＰＵコア１１２に対応して配置される。キャッシュ整合性判定回路１１９は、キャッシュの整合性を判定する。各ＣＰＵコア１１０，１１１，１１２は、それぞれ対応するメモリ管理ユニット１１３，１１５，１１７と一次キャッシュメモリ１１４，１１６，１１８を経由してＣＰＵコア内部バスｃｂに接続されており、このＣＰＵコア内部バスｃｂに接続された二次キャッシュメモリ１２０を共有する。また、コア内部バスｃｂは、マイクロプロセッサ内部バスｉｂに接続されており、必要に応じて、マイクロプロセッサ内部バスｉｂを経由して、画像入出力コントローラ１２、割り込みコントローラ１３、外部バスコントローラ１４、タイマユニット１５、汎用入出力コントローラ１６にアクセス可能とされる。
【００３０】
画像入出力コントローラ１２は、マイクロプロセッサ内部バスｉｂに接続されている。画像入出力コントローラ１２は、ＣＰＵコア部１１によって設定可能なレジスタを内蔵し、このレジスタに設定された条件に従って、メインＲＡＭ１７上の所定のアドレスに格納された画面データを液晶パネル２０に出力すると共に、カメラモジュール２１から入力された動画および静止画のデータをメインＲＡＭ１７上の所定のアドレスに書き込む。尚、これらの機能は、機能自体のオン・オフのほか、入出力画像のサイズや画像データ形式、画像データの格納アドレス、拡大、縮小のソフトウェアによる設定が可能である。また、液晶パネル２０への所定単位分の画像出力終了や、カメラモジュールからの所定単位分の画像入力終了を条件として、割り込み要求信号ｉｎｔｌをアサートする。この割り込み要求信号ｉｎｔｌは割り込みコントローラ１３に伝達される。
【００３１】
割り込みコントローラ１３は、マイクロプロセッサ内部バスｉｂに接続されている。割り込みコントローラ１３は、ＣＰＵコア部１１によって設定可能なレジスタを内蔵し、このレジスタに設定された割り込みの許可状態と優先順位に従って、画像入出力コントローラ１２、タイマユニット１５、汎用入出力コントローラ１６の各モジュールからの割り込み要求信号ｉｎｔｌ，ｉｎｔｔ，ｉｎｔｇを調停して、ＣＰＵコア１１０，１１１，１１２毎に独立した割り込み要求信号を生成する。また、割り込みコントローラ１３には、各ＣＰＵコア１１０，１１１，１１２の個別のリセット機能や、ＣＰＵコア部からのレジスタ設定によって直接指定したＣＰＵコアに対する割り込み要求を発生する機能がある。この機能は、ＳＭＰ対応オペレーティングシステム（ＯＳ）を使用する場合に必要となるＣＰＵコアのオン・オフ制御や、ＣＰＵコア間の同期のために利用可能である。
【００３２】
外部バスコントローラ１４は、マイクロプロセッサ内部バスｉｂに接続されている。外部バスコントローラ１４は、ＣＰＵコア部１１によって設定可能なレジスタを内蔵し、このレジスタに設定されたアクセス方法に従って、メインＲＡＭ１７や、起動用ＲＯＭ１８、ストレージデバイス１９へのアクセスを制御する。尚、マイクロプロセッサ１０がリセット解除後に最初に実行するプログラムを起動用ＲＯＭ１８から読み出すことを可能にするため、外部バスコントローラ１４においてはリセット解除後の初期状態において、ＣＰＵコア部１１が最初にアクセスするアドレスを含んだ一定の範囲のアドレスに対してＮＯＲ型フラッシュメモリに応じた設定が行われる。メインＲＡＭ１７と、起動用ＲＯＭ１８や、ストレージデバイス１９とは、バスの電気的な仕様が異なっており、同一の信号線を共用することができないため、本例では、外部バスコントローラ１４が、メインＲＡＭ１７に対応するＤＤＲバスｄｂと、一般的なＮＯＲ型フラッシュメモリやＮＡＮＤ型フラッシュメモリに対応するローカルバスｌｂとの二組の外部バスが設けられている。これにより、例えばＣＰＵコア部１１がローカルバスｌｂに接続されたストレージデバイス１９にアクセス中でも、画像入出力コントローラ１２は、ＤＤＲバスｄｂを経由してメインＲＡＭ１７にアクセスすることが可能となり、処理効率の向上を図ることができる。
【００３３】
タイマユニット１５は、ローカルバスｌｂに接続されている。タイマユニット１５は、ＣＰＵコア部１１によって設定可能なレジスタを内蔵し、このレジスタに設定された条件に応じた方法で計時を行うタイマ機能を提供する。また、このタイマユニット１５は、割り込みコントローラ１３に対して、タイマによる割り込み要求信号ｉｎｔｔを出力する。
【００３４】
汎用入出力コントローラ１６は、ローカルバスｌｂに接続されている。汎用入出力コントローラ１６は、ＣＰＵコア部１１によって設定可能なレジスタを内蔵し、このレジスタに設定された条件に従ってマイクロプロセッサ１０の所定の入出力端子を用いた入出力機能を提供する。マイクロプロセッサ１０と外部接続部品群２２との間での各種信号のやり取りは、この汎用入出力コントローラ１６を介して行われる。また、汎用入出力コントローラ１６は、割り込みコントローラ１３に対しては、マイクロプロセッサ１０の端子状態の変化による割り込み要求を通知するための割り込み要求信号ｉｎｔｇを出力する。
【００３５】
上記の構成において、通常の稼動中に使用するためのソフトウェアの本体は、ストレージデバイス１９に通常機能用ＯＳイメージファイル１９１として格納されており、システム起動時に起動用ＲＯＭ１８に格納されたブートローダ１８１がＣＰＵコア１１０で実行されることによってメインＲＡＭ１７の所定の領域に転送された後に実行される。尚、通常の稼動中の状態で使用するためのソフトウェアはＳＭＰに対応し、仮想アドレス空間を用いたマルチプロセス、マルチスレッド機能を有するＯＳを用いて構成されている。これにより、複数のＣＰＵコア１１０，１１１，１１２を効率的に利用した多数のアプリケーションの同時実行が可能となると共に、ＯＳによる保護機能によりアプリケーションの開発容易性と耐障害性も確保できる。ただし、この通常機能用ソフトウェアは高機能なＯＳと、その上で稼動する多数のアプリケーションによって構成されているためソフトウェアのサイズ自体が大きく、システム起動時にブートローダによってストレージデバイス１９からメインＲＡＭ１７に転送されるまでの時間や、メインＲＡＭ１７に転送されたＯＳを起動し、製品機能を実現するアプリケーションがＯＳ上で動作を開始するまでの時間が長くなりやすい。
【００３６】
そこで本例では、以下のような手法により、電源投入からアプリケーションを利用可能になるまでの待ち時間の短縮を図っている。
【００３７】
まず、システムの電源投入や再起動に伴うリセット状態が解除されると、マイクロプロセッサ１０は、ＣＰＵコア１１０を起動用ＲＯＭ１８上の所定のアドレスから命令を実行するように設定し、それ以外のＣＰＵコア１１１，１１２についてのリセット状態を維持する。起動用ＲＯＭ１８上の所定のアドレスにはブートローダ１８１が配置されており、ＣＰＵコア１１０がブートローダ１８１の実行を開始すると、最初に必要なハードウェアの初期化が行われ、その後、ＣＰＵコア１１１のリセットが解除される。その後ブートローダ１８１の残りの処理がＣＰＵコア１１０によって実行され、ストレージデバイス１９から通常起動用ＯＳイメージファイル１９１をメインＲＡＭ１７上の所定のアドレス範囲に転送した後、通常起動用ＯＳイメージファイル１９１の実行開始アドレスに分岐してＯＳの処理に切り替えられる。
【００３８】
尚、ブートローダ１８１の先頭部分には、ソフトウェアが自分自身を実行しているＣＰＵコアの番号を取得するための処理プログラムが入っており、ブートローダ１８１がＣＰＵコア１１０で実行された場合にブートローダ１８１の処理を継続するが、ブートローダ１８１がＣＰＵコア１１１で実行された場合には後述の起動時機能用プログラム１８２の処理に遷移される。
【００３９】
起動用ＲＯＭ１８内の起動時機能用プログラム１８２は、ＣＰＵコア１１０がＯＳを起動し、カー・ナビゲーションシステム１の機能を実現するアプリケーションが利用可能となるまでの間、ＣＰＵコア１１１によって実行される。それによって本例におけるカー・ナビゲーションシステム１の主要な機能の一部を先行して提供することができる。主要な機能の一部として、例えばカメラモジュール２１の映像を液晶パネル２０に表示する機能、及びその表示状態の調整機能を挙げることができる。また、液晶パネル２０に表示された映像の調整機能は、次のように実現することができる。
【００４０】
先ず、画像入出力コントローラ１２が設定されて画面の所定の位置に所定の方式で、カメラモジュール２１で得られた映像が表示されるように設定を行った後、汎用入出力コントローラ１６において、外部接続部品群２２におけるスイッチに接続された端子を監視してシステム利用者のスイッチ操作の有無が監視される。スイッチ操作があった場合は、対応する画像表示の設定変更を行う。尚、起動時機能用プログラム１８２で対応しない機能に対応する操作が行われた場合は、「該当操作は現在不可能であり、所定時間経過後に可能となる」旨のメッセージが液晶パネル２０に表示される。
【００４１】
ＣＰＵコア１１０が通常機能用ＯＳイメージファイル１９１の実行開始アドレスに分岐すると、ＯＳの起動処理が開始される。ＯＳの起動処理では、使用するＣＰＵコアに対応するキャッシュメモリやメモリ管理ユニットの初期化の後、ＯＳが管理するメモリの管理構造体や、プロセスやスレッドの管理情報、イベントオブジェクトが初期化され、続いてＯＳが使用するデバイスドライバや、ＯＳが提供する各種の機能を実現するための常駐型プロセスが起動される。
【００４２】
本例では、ＳＭＰに対応するＯＳを使用していることから、ＯＳの起動処理においてはＣＰＵコア１１０，１１１に対応するキャッシュメモリとメモリ管理ユニットが初期化される。この時点ではＣＰＵコア１１１は起動時機能用プログラム１８２を実行しているため、初期化は行われない。ＯＳの起動処理が進行してＯＳカーネルによるプロセスとスレッドのスケジューリングが可能になる時点でＳＭＰが構成されるが、この時点でＳＭＰに参加するのはＣＰＵコア１１０とＣＰＵコア１１２の２個だけである。ＣＰＵコア部１１に内蔵されているキャッシュ整合性判定回路１１９は、この時点では一次キャッシュメモリ１１４と一次キャッシュメモリ１１８との整合性を確保するように設定される。
【００４３】
ＯＳの起動処理が完了してアプリケーションの実行が可能になると、製品機能を実現するためのアプリケーションが起動される。このアプリケーションは起動されるとメインＲＡＭ１７の所定のアドレスを参照してＣＰＵコア１１１が起動時機能用プログラム１８２を実行中であることを確認すると、同様にメインＲＡＭ１７の所定のアドレスから起動時機能に関する設定情報をアプリケーション内部に取り込んだ後、割り込みコントローラ１３を用いてＣＰＵコア１１１に対して特定の割り込みを要求する。ＣＰＵコア１１１はこの割り込みに応答すると、メインＲＡＭ１７上の特定のアドレスに分岐して、ＯＳの初期化処理部分の内部にあるスレーブＣＰＵとしての初期化処理を呼び出して実行する。その後、アプリケーションからＯＳに対して該当ＣＰＵコア１１１をオンにするＡＰＩ（Application Programming Interface）が発行されると、ＯＳは、一次キャッシュメモリ１１４，１１６，１１８の整合性を確保するようにキャッシュ整合性判定回路（ＣＣ）１１９の設定を変更すると共に、ＯＳ内部の管理情報に新たにＣＰＵコア１１１を追加する。これによってＣＰＵコア１１１もＯＳから利用可能な資源となり、ＣＰＵコア１１０，１１１，１１２の全てをＳＭＰで利用可能となる。
【００４４】
実施の形態１によれば以下の作用効果が得られる。
【００４５】
（１）カー・ナビゲーションシステム１の電源投入後において、起動用ＲＯＭ１８内の起動時機能用プログラム１８２は、ＣＰＵコア１１０がＯＳを起動し、カー・ナビゲーションシステム１の機能を実現するアプリケーションが利用可能となるまでの間、ＣＰＵコア１１１によって実行される。それによって本例におけるカー・ナビゲーションシステム１の主要な機能の一部を先行して提供することができるので、電源投入からカー・ナビゲーションシステム１の機能が利用可能になるまでの時間短縮が達成される。
【００４６】
（２）カー・ナビゲーションシステム１の主要な機能の一部としては、例えばカメラモジュール２１の映像を液晶パネル２０に表示する機能、及びその表示状態の調整機能を挙げることができる。この場合において、カー・ナビゲーションシステム１の電源投入後、カメラモジュール２１の映像を速やかに液晶パネル２０に表示されることができる。
【００４７】
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
【００４８】
例えば、図１の構成例では、想定する情報機器にＣＰＵコアを複数個必要とする程度の処理負荷が存在することを想定しているが、ＣＰＵに対する処理負荷がそれほど大きくなく、１個のＣＰＵコアで対応可能である場合、別のＣＰＵコアに代えてＧＰＵ（Graphics Processing Unit）やＤＳＰ（Digital Signal Processor）を適応することができる。つまりＧＰＵやＤＳＰなどの専用プロセッサに専用プログラムを実行させて起動時機能を実現することができる。このようにシステムにＣＰＵコアを複数個搭載する必要が無い場合には、１個のＣＰＵコアと、ＧＰＵやＤＳＰなどの専用プロセッサとを用いることでシステムの回路規模を削減可能である。ＧＰＵやＤＳＰは、起動処理の終了後には当初目的のグラフィックス描画や画像処理、オーディオ処理などに利用可能である。
【符号の説明】
【００４９】
１  カー・ナビゲーションシステム
１０  マイクロプロセッサ
１１  ＣＰＵコア部
１２  画像入出力コントローラ
１３  割り込みコントローラ
１４  外部バスコントローラ
１５  タイマユニット
１６  汎用入出力コントローラ
１７  メインＲＡＭ
１８  起動用ＲＯＭ
１９  ストレージデバイス
２０  液晶パネル
２１  カメラモジュール
２２  外部接続部品群
１１０，１１１，１１２  ＣＰＵコア
１１３，１１５，１１７  メモリ管理ユニット
１１４，１１６，１１８  一次キャッシュメモリ
１１９  キャッシュ整合性判定回路
１２０  二次キャッシュメモリ
１８１  ブートローダ
１８２  起動時機能用プログラム
１９１  通常機能用ＯＳイメージファイル
１９２  データ領域
【図１】
0005710424.tif 000002