(57)【要約】【課題】プログラムの実行時間を短縮しつつ、プログラムの実行開始までの時間を短縮すること。【解決手段】電子機器は、プログラムを格納する不揮発性メモリと、不揮発性メモリよりも読み出し速度が速い揮発性メモリと、動作を開始した場合に、プログラムに含まれる命令を不揮発性メモリから逐次に読み出して実行するプロセッサ部とを備え、プロセッサ部は、不揮発性メモリから読み出した命令の実行に並行して不揮発性メモリから揮発性メモリへプログラムを転送し、不揮発性メモリへの転送が完了した場合に、実行すべき命令の読み出し先を、不揮発性メモリから揮発性メモリに切り替える。【選択図】図６
2013097715.tif 000002
【特許請求の範囲】
【請求項１】
プログラムを格納する不揮発性メモリと、
前記不揮発性メモリよりも読み出し速度が速い揮発性メモリと、
動作を開始した場合に、前記プログラムに含まれる命令を前記不揮発性メモリから逐次に読み出して実行するプロセッサ部と
を備え、
前記プロセッサ部は、前記不揮発性メモリから読み出した前記命令の実行に並行して前記不揮発性メモリから前記揮発性メモリへ前記プログラムを転送し、前記不揮発性メモリへの転送が完了した場合に、実行すべき命令の読み出し先を、前記不揮発性メモリから前記揮発性メモリに切り替える
電子機器。
【請求項２】
前記プロセッサ部は、前記揮発性メモリへの転送が完了した場合に、前記プロセッサ部のメモリ空間のうち、前記プログラムが格納されている前記不揮発性メモリに対応するメモリ空間を、前記揮発性メモリ内の前記プログラムが転送されたメモリ空間に切り替える
請求項１に記載の電子機器。
【請求項３】
前記プロセッサ部は、
前記命令を実行するプロセッサと、
前記揮発性メモリへの前記プログラムの転送が完了した場合に、前記プロセッサにマッピングされた論理的なメモリ空間のうち、前記プログラムが格納されている前記不揮発性メモリに対応するメモリ空間を、前記揮発性メモリ内の前記プログラムが転送されたメモリ空間にアドレス変換するメモリ管理部と
を有する請求項２に記載の電子機器。
【請求項４】
前記プログラムは、オペレーティングシステムであり、
前記プロセッサ部は、前記電子機器の起動時に、前記オペレーティングシステムに含まれる命令を前記不揮発性メモリから逐次に読み出して実行する
請求項１から３のいずれか一項に記載の電子機器。
【請求項５】
撮像部
をさらに備え、
前記プログラムは、前記プロセッサ部が前記撮像部を制御するための命令を含む
請求項４に記載の電子機器。
【請求項６】
レンズ装置
をさらに備え、
前記プログラムは、前記レンズ装置が有する１以上のレンズを前記プロセッサ部が制御するための命令を含む
請求項５に記載の電子機器。
【請求項７】
前記プロセッサ部は、前記電子機器の起動時に、前記電子機器の動作モードを示す情報を取得し、前記揮発性メモリへの前記プログラムの転送を優先させるか否かを取得した前記動作モードに基づいて判断し、前記プログラムの転送を優先させるべき場合に、前記プログラムに含まれる命令の実行に優先して、前記プログラムを前記揮発性メモリへ転送する
請求項５または６に記載の電子機器。
【請求項８】
前記プロセッサ部は、前記電子機器の起動時に、前記撮像部の撮像モードを示す情報を取得し、前記揮発性メモリへの前記プログラムの転送を優先させるか否かを取得した前記撮像モードに基づいて判断し、前記プログラムの転送を優先させるべき場合に、前記プログラムに含まれる命令の実行に優先して、前記プログラムを前記揮発性メモリへ転送する
請求項７に記載の電子機器。
【請求項９】
前記プロセッサ部は、前記撮像部の撮像モードが、予め設定されたインターバルで撮像を繰り返すインターバル撮影を行う撮像モードである場合に、前記プログラムに含まれる命令の実行に優先して前記プログラムを前記揮発性メモリへ転送し、前記インターバル撮影を行う撮像モードでない場合に、前記プログラムに含まれる命令を、前記揮発性メモリへのプログラムの転送に優先して実行する
請求項８に記載の電子機器。
【請求項１０】
前記プロセッサ部は、第１プロセッサおよび第２プロセッサを有し、
前記第１プロセッサは、前記電子機器の起動時に、前記オペレーティングシステムに含まれる命令を前記不揮発性メモリから逐次に読み出して実行し、
前記第２プロセッサは、前記第１プロセッサによる前記命令の実行に並行して、前記揮発性メモリのうち前記第１プロセッサと共有するメモリ領域に、前記オペレーティングシステムを転送する
請求項４から９のいずれか一項に記載の電子機器。
【請求項１１】
前記プロセッサ部は、マルチコアプロセッサであり、前記第１プロセッサは、前記マルチコアプロセッサの第１プロセッサコアであり、前記第２プロセッサは、前記マルチコアプロセッサの第２プロセッサコアである
請求項１０に記載の電子機器。
【請求項１２】
前記プロセッサ部は、前記オペレーティングシステムを実行するプロセッサを一つ有し、
前記オペレーティングシステムは、マルチタスク・オペレーティングシステムであり、
前記プロセッサは、前記オペレーティングシステムの命令を実行するタスクと、前記揮発性メモリへ前記オペレーティングシステムを転送するタスクとを順次に切り替えて実行する
請求項４から９のいずれか一項に記載の電子機器。
【請求項１３】
前記プロセッサ部は、
プロセッサと、
前記揮発性メモリへの前記プログラムの転送が完了した場合に、前記プロセッサのメモリ空間のうち、前記プログラムが格納されている前記不揮発性メモリに対応するメモリ空間を、バンク切り替えにより前記揮発性メモリ内の前記プログラムが転送されたメモリ空間に切り替えるメモリ管理部と
を有する請求項１から３のいずれか一項に記載の電子機器。
【請求項１４】
動作を開始した場合に、不揮発性メモリに格納されたコンピュータプログラムに含まれる命令を、前記不揮発性メモリから逐次に読み出して実行するステップと、
前記不揮発性メモリから読み出した前記命令の実行に並行して、前記不揮発性メモリよりも読み出し速度が速い揮発性メモリへ前記不揮発性メモリから前記コンピュータプログラムを転送するステップと、
前記不揮発性メモリへの転送が完了した場合に、実行すべき命令の読み出し先を、前記不揮発性メモリから前記揮発性メモリに切り替えるステップと
をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子機器およびプログラムに関する。
【背景技術】
【０００２】
ハイバネートしたメモリイメージの一部をシステムＲＡＭに先行転送してからオペレーティングシステムの実行を開始し、オペレーティングシステムの実行と並行して、先行転送されなかったメモリイメージを転送する情報処理装置が知られている（例えば、特許文献１参照）。
［先行技術文献］
［特許文献］
［特許文献１］特開２００７−３３４３８３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００３】
プログラムをＲＡＭに転送してからプログラムを実行することで、プログラムの実行時間を短縮することができる。しかし、ＲＡＭへの転送完了を待たなければ、ＲＡＭ上に転送したプログラムを実行することができない。従来、プログラムの実行時間を短縮しつつ、プログラムの実行を開始するまでの時間を短縮することができないという課題があった。
【課題を解決するための手段】
【０００４】
本発明の第１の態様においては、電子機器は、プログラムを格納する不揮発性メモリと、不揮発性メモリよりも読み出し速度が速い揮発性メモリと、動作を開始した場合に、プログラムに含まれる命令を不揮発性メモリから逐次に読み出して実行するプロセッサ部とを備え、プロセッサ部は、不揮発性メモリから読み出した命令の実行に並行して不揮発性メモリから揮発性メモリへプログラムを転送し、不揮発性メモリへの転送が完了した場合に、実行すべき命令の読み出し先を、不揮発性メモリから揮発性メモリに切り替える。
【０００５】
本発明の第２の態様においては、プログラムは、動作を開始した場合に、不揮発性メモリに格納されたコンピュータプログラムに含まれる命令を、不揮発性メモリから逐次に読み出して実行するステップと、不揮発性メモリから読み出した命令の実行に並行して、不揮発性メモリよりも読み出し速度が速い揮発性メモリへ不揮発性メモリからコンピュータプログラムを転送するステップと、不揮発性メモリへの転送が完了した場合に、実行すべき命令の読み出し先を、不揮発性メモリから揮発性メモリに切り替えるステップとをコンピュータに実行させる。
【０００６】
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【図面の簡単な説明】
【０００７】
【図１】撮像装置１０の要部の模式断面を示す。
【図２】撮像装置１０のシステム構成を概略的に示す。
【図３】制御ユニット５２のブロック構成の一例を示す。
【図４】論理アドレス空間にマッピングされる物理アドレス空間の一例を示す。
【図５】論理アドレス空間にマッピングされる物理アドレス空間の一例を示す。
【図６】制御ユニット５２における動作シーケンスの一例を示す。
【図７】初期化コード実行時の第１プロセッサ３１０の動作フローの一例を示す。
【図８】撮像装置１０の起動から終了までの処理フローを示す。
【図９】ＯＳをＳＤＲＡＭ５８へ転送する動作フローの他の一例を示す。
【発明を実施するための形態】
【０００８】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【０００９】
図１は、撮像装置１０の要部の模式断面を示す。撮像装置１０は、レンズ交換式カメラの一例としての一眼レフレックスカメラである。撮像装置１０は、カメラユニット３０、一眼レンズユニット２０および発光ユニット６０を備える。一眼レンズユニット２０および発光ユニット６０は、カメラユニット３０に装着される。
【００１０】
カメラユニット３０には、焦点距離、開放Ｆ値等の異なる複数のレンズユニット２０が、交換レンズとして交換可能に装着される。レンズユニット２０は、光軸１１に沿って配列され鏡筒２６に支持されたレンズ系２１を備える。撮像レンズの一例としてのレンズ系２１は、入射される被写体光束をカメラユニット３０へ導く。図においては、レンズ系２１を構成するレンズとして、前玉２２と、フォーカスおよびズームを担うレンズ群２３とを含む。レンズ群２３は、焦点調整、画角調整の指示に応じて、レンズ群２３に含まれる１以上のレンズが光軸方向に移動できるように構成されている。カメラユニット３０は、焦点調整および画角調整の指示をレンズユニット２０に送信することができる。
【００１１】
鏡筒２６は、レンズ回路基板２７を支持する。レンズ回路基板２７は、レンズユニット２０を制御する各種回路、電子素子等を搭載している。レンズユニット２０は、カメラユニット３０との接続部にレンズマウント２９を備え、カメラユニット３０が備えるカメラマウント３１と係合して、カメラユニット３０と一体化する。レンズマウント２９とカメラマウント３１とはそれぞれ通信端子を備えており、マウント同士が係合したときに互いの通信端子が接続される。これにより、レンズ回路基板２７に搭載された各種回路、電子素子等は、カメラユニット３０側と電気的に接続される。
【００１２】
カメラユニット３０は、レンズユニット２０から入射される被写体光束を反射するメインミラー３２と、メインミラー３２で反射された被写体光束が結像するピント板３３を備える。メインミラー３２は、ミラーボックス内でメインミラー回転軸３４周りに揺動して、光軸１１を中心とする被写体光束中に斜設される斜設状態と、被写体光束から退避する退避状態を取り得る。サブミラー４０は、メインミラー３２が被写体光束から退避する場合は、メインミラー３２に連動して被写体光束から退避する。メインミラー回転軸３４は、ミラーボックスの側壁に支持される。
【００１３】
ライブビューボタンが押し下げられた場合、または、レリーズボタンが最下部まで押し下げられた場合、破線で示した退避状態を取る。例えば、メインミラー３２が被写体光束中に斜設された状態で、ライブビューボタンが押し下げられた場合またはレリーズボタンが最下部まで押し下げられた場合、メインミラー３２は破線で示した退避位置に移動する。ライブビューボタンが押し下げられた場合、メインミラー３２は再度ライブビューボタンが押し下げられるまで退避位置に留まる。一方、レリーズボタンが押し下げられた場合は、所定の撮像動作を終えると、メインミラー３２はダウンされ元の斜設状態の位置に戻される。
【００１４】
フォーカルプレーンシャッタ４３および撮像素子３６は、光軸１１に沿って配列されている。メインミラー３２およびサブミラー４０が退避状態である場合に、被写体光束は、レンズ系２１を透過してカメラユニット３０へ入射し、ミラーボックス内部と開放状態のフォーカルプレーンシャッタ４３を通過して、撮像素子３６の受光面で結像する。
【００１５】
撮像素子３６は、撮像素子３６は、受光面で結像した被写体像を電気信号として出力する複数の光電変換素子を有する。光電変換素子としては、例えばＣＭＯＳセンサ、ＣＣＤセンサ等を例示することができる。撮像素子３６は、カメラ処理部５０と接続される。カメラ処理部５０には、撮像素子３６で光電変換された電気信号を処理するＡＳＩＣ、カメラユニット３０の全体を制御するプロセッサ等の電気素子が搭載されている。
【００１６】
カメラユニット３０の背面には液晶モニタ等による表示ユニット５３が配設されている。表示ユニット５３は、撮像素子３６に含まれる光電変換素子が出力した画像信号から生成された画像を表示する。表示ユニット５３は、カメラ処理部５０内のＡＳＩＣによって被写体像の電気信号から生成された表示用画像データを用いて、被写体像を表示する。表示ユニット５３は、撮像後の静止画像に限らず、各種メニュー情報、撮像情報、告知情報等を表示する。ライブビュー時には、被写体に対して焦点調節をしながら、撮像素子３６の受光面に結像した被写体像の電気信号からカメラ処理部５０内のＡＳＩＣによって表示用画像データが生成され、生成された表示用画像データを用いて表示ユニット５３が被写体像を表示する。
【００１７】
ピント板３３は、撮像素子３６の受光面と共役の位置に配置されている。ピント板３３で結像した被写体像は、ペンタプリズム３７で正立像に変換され、接眼光学系３８を介してユーザに観察される。ペンタプリズム３７の射出面上方には、測光素子３９が配置される。測光素子３９は、測光光学系３５を介して、被写体像の輝度分布を検出するための光電変換素子である。測光素子３９により検出された被写体像の輝度分布は、シャッタスピード、絞り値等を決定するためにカメラ処理部５０において使用される。また、測光素子３９により検出された被写体像の輝度分布は、人物の顔等を検出するためにカメラ処理部５０内のＡＳＩＣ等において使用される。
【００１８】
斜設状態におけるメインミラー３２の光軸１１の近傍領域は、ハーフミラーとして形成されており、入射される被写体光束の一部が透過する。透過した被写体光束は、メインミラー３２と連動して揺動するサブミラー４０で反射されて、合焦ユニット４２へ導かれる。合焦ユニット４２に導かれた被写体光束は、合焦光学系を通じて合焦センサへ入射される。合焦センサは、複数の焦点調整領域のそれぞれにおいて合焦状態、前ピン状態、後ピン状態を示す位相差検出信号を出力する。前ピン状態、後ピン状態の場合には、位相差検出信号は合焦状態からのずれ量も示す。カメラ処理部５０は、位相差検出方式による位相差ＡＦ（自動フォーカス）によって、レンズユニット２０の焦点調節を行う。
【００１９】
カメラユニット３０には着脱可能な二次電池５４が収容される。二次電池５４は、カメラユニット３０に限らず、レンズユニット２０にも電力を供給する。電源がＯＮされた場合に、二次電池５４から電力がカメラ処理部５０等に供給される。
【００２０】
発光ユニット６０は、被写体を照明する照明光を発光する。発光ユニット６０とカメラユニット３０とは、発光ユニット６０が有するマウント部６９とカメラユニット３０が有するマウント部４１とを介して接続される。発光ユニット６０は、キセノンランプ等の発光部６１、反射板６２、フレネルレンズ６３、電池等のバッテリ６５、および、発光ユニット制御部６６を有する。発光ユニット制御部６６は、バッテリ６５から電力を供給して発光部６１を発光させることにより、反射板６２およびフレネルレンズ６３を介して照明光を閃光させる。発光ユニット制御部６６は、カメラ処理部５０からの発光指示信号に基づき発光等の制御を行う。
【００２１】
図２は、撮像装置１０のシステム構成を概略的に示すブロック図である。撮像装置１０におけるシステムは、レンズユニット２０、カメラユニット３０および発光ユニット６０のそれぞれに対応して、レンズシステム制御部７１を中心とするレンズ制御系と、制御ユニット５２を中心とするカメラ制御系と、発光ユニット制御部６６を中心とする発光制御系とにより構成される。レンズ制御系とカメラ制御系とは、レンズマウント２９とカメラマウント３１とによって接続される通信端子を介して、相互に各種データ、制御信号の授受を行う。発光制御系とカメラ制御系とは、マウント部６９とマウント部４１とによって接続される通信端子を介して、相互に各種データ、制御信号の授受を行う。
【００２２】
カメラ制御系に含まれる画像処理部５１は、例えばＡＳＩＣにより実現される。画像処理部５１は、制御ユニット５２からの指令に従って、撮像素子３６から出力された被写体像の電気信号を処理して画像データを生成する。生成された画像データは、表示制御部５５へ送られて、例えば撮像後の一定時間の間、表示ユニット５３に表示される。これに並行して、画像処理部５１は、生成した画像データを、予め定められた画像フォーマットに加工する。例えば、画像処理部５１は、静止画用の画像フォーマットとしてのＪＰＥＧファイル、動画用の画像フォーマットとしてのＭＰＥＧファイル等に画像データを加工する。
【００２３】
外部接続ＩＦ５６は、記録媒体とのデータ伝送を担う記録媒体ＩＦと、外部接続ＩＦ５６のうち外部機器との間の通信を担う外部機器ＩＦとを有する。画像処理部５１において生成された画像データは、記録媒体ＩＦを介して記録媒体に記録される。また、画像データは、外部機器ＩＦを介して外部機器に伝送され、外部機器において記録または処理される。外部機器としては、パーソナルコンピュータ、デジタルフォトスタンド等を例示することができる。外部機器が映像機器である場合、映像データとしての画像データは、外部機器ＩＦを介して映像信号として送信される。
【００２４】
また、画像処理部５１は、制御ユニット５２からの指令に従って、撮像素子３６から出力された被写体像の電気信号を処理して、被写体像のコントラスト量を示すコントラスト評価値を生成する。制御ユニット５２は、コントラスト評価値および合焦ユニット４２から出力された位相差検出信号の少なくとも一方に基づき、焦点調節用の制御信号を生成して、レンズシステム制御部７１に供給する。
【００２５】
システムメモリ５７は、例えばフラッシュメモリである。システムメモリ５７は、ＮＯＲ型フラッシュメモリであってよい。システムメモリ５７は、不揮発性メモリの一例であり、撮像装置１０を制御するプログラム、各種パラメータなどを格納する役割を担う。プログラムには、オペレーティングシステム（ＯＳ）を含む。ＯＳは、カーネルイメージの他、各種の基本的なアプリケーション等のソフトウェアコンポーネントを含んでよい。
【００２６】
ＳＤＲＡＭ５８は、揮発性メモリの一例である。ＳＤＲＡＭ５８は、システムメモリ５７よりも、高速にアクセスできるメモリである。例えば、ＳＤＲＡＭ５８は、システムメモリ５７よりも読み出し速度が速い。制御ユニット５２は、システムメモリ５７に格納された情報よりも、ＳＤＲＡＭ５８に記憶された情報に短時間でアクセスすることができる。ＳＤＲＡＭ５８は、システムメモリ５７から転送されたＯＳを記憶する。ＳＤＲＡＭ５８は、画像処理部５１による処理中の画像データを一時的に保管するワークメモリとしての役割も担う。
【００２７】
駆動制御部５９は、制御ユニット５２からの指令に従って、メインミラー３２、サブミラー４０、フォーカルプレーンシャッタ４３等を駆動する。操作入力部４７は、レリーズボタン、ライブビューボタン、撮像モードスイッチ、動画撮影ボタン、電源ボタン等を含む。制御ユニット５２は、操作入力部４７に対するユーザ操作を示す信号を取得する。
【００２８】
レンズシステム制御部７１は、制御ユニット５２からの制御信号を受けて、レンズユニット２０における各種動作を制御する。レンズメモリ７２は、レンズ固有情報およびレンズシステム制御部７１が実行するプログラム等を記憶している。レンズ駆動部７３は、レンズシステム制御部７１が制御ユニット５２から受け取った制御信号に従って、フォーカスレンズ、ズームレンズ、絞り２８等を駆動する。また、レンズシステム制御部７１は、制御ユニット５２からの要求に応じて、レンズ固有情報を制御ユニット５２に送信する。
【００２９】
発光ユニット制御部６６は、制御ユニット５２からの制御信号を受けて、発光ユニット６０の全体を制御する。発光ユニット制御部６６は、制御ユニット５２から受け取った制御信号に従って発光部６１を駆動する。また、６６は、レンズシステム制御部７１は、制御ユニット５２からの要求に応じて、発光ユニット６０の固有情報を制御ユニット５２に送信する。
【００３０】
図３は、制御ユニット５２のブロック構成の一例を示す。本例において、制御ユニット５２は、プロセッサの論理アドレス空間を物理メモリアドレス空間にマッピングするメモリ管理ユニットを有する。物理アドレスとしては、システムメモリ５７のアドレス、ＳＤＲＡＭ５８のアドレスを例示することができる。
【００３１】
本例において、制御ユニット５２はマルチプロセッサユニットである。制御ユニット５２は、第１プロセッサ３１０および第２プロセッサ３２０を有する。第１プロセッサ３１０および第２プロセッサ３２０は、割り込みライン３３０を介して相互に割り込みを行う。第１プロセッサ３１０および第２プロセッサ３２０は、ＳＤＲＡＭ５８の少なくとも一部のメモリ領域を共有する。
【００３２】
第１プロセッサ３１０は、命令を実行する実行部３１４と、メモリ管理ユニット３１２と、キャッシュ３１６とを有する。メモリ管理ユニット３１２は、第１プロセッサ３１０の論理アドレス空間を物理メモリ空間にマッピングする。メモリ管理ユニット３１２は、第１プロセッサ３１０の論理アドレスを物理アドレスに変換する。実行部３１４は、論理アドレスを通じて、メモリ管理ユニット３１２がマッピングしたシステムメモリ５７またはＳＤＲＡＭ５８のアドレスにアクセスすることができる。キャッシュ３１６は、システムメモリ５７またはＳＤＲＡＭ５８から転送された命令およびデータをキャッシュする。また、キャッシュ３１６は、実行部３１４から転送されたデータをキャッシュする。実行部３１４が要求した論理アドレスに対応する命令およびデータがキャッシュ３１６に存在する場合、実行部３１４は、キャッシュ３１６に対してアクセスする。
【００３３】
第２プロセッサ３２０は、実行部３２４と、メモリ管理ユニット３２２と、キャッシュ３２６とを有する。実行部３２４、メモリ管理ユニット３２２およびキャッシュ３２６は、それぞれ実行部３１４、メモリ管理ユニット３１２およびキャッシュ３１６と同様の機能および構成を有するので、動作の詳細について説明を省略する。
【００３４】
第１プロセッサ３１０は、動作を開始した場合に、システムメモリ５７に格納されたＯＳに含まれる命令を、システムメモリ５７から逐次に読み出して実行する。具体的には、操作入力部４７の一部としての電源ボタンがＯＮされた場合に、命令をシステムメモリ５７から逐次に読み出して実行する。具体的には、実行部３１４が、システムメモリ５７から読み出した命令を実行する。電源ボタンがＯＮされた場合に、実行部３１４がシステムメモリ５７から命令を読み出して実行するので、撮像装置１０を制御するための動作を速やかに開始することができる。
【００３５】
なお、命令をシステムメモリ５７から逐次に読み出して実行するとは、実行部３１４がシステムメモリ５７のアドレスを指定して読み出しを行うことを示す。したがって、実行部３１４が要求した命令がキャッシュ３１６に存在する場合に、実行部３１４がキャッシュ３１６から提供された命令を実行することも、命令をシステムメモリ５７から逐次に読み出して実行することに該当する。命令をＳＤＲＡＭ５８から逐次に読み出して実行することについても同様である。
【００３６】
第２プロセッサ３２０は、第１プロセッサ３１０における命令の実行に並行して、システムメモリ５７からＳＤＲＡＭ５８へＯＳを転送する。第１プロセッサ３１０は、第２プロセッサ３２０によるシステムメモリ５７への転送が完了した場合に、実行すべき命令の読み出し先を、システムメモリ５７からＳＤＲＡＭ５８に切り替える。具体的には、第１プロセッサ３１０は、ＳＤＲＡＭ５８へのＯＳの転送が完了した場合に、第１プロセッサ３１０のメモリ空間のうち、ＯＳが格納されているシステムメモリ５７に対応するメモリ空間を、ＳＤＲＡＭ５８内のＯＳが転送されたメモリ空間に切り替える。より具体的には、ＳＤＲＡＭ５８へのＯＳの転送が完了した場合に、メモリ管理ユニット３１２が、プロセッサにマッピングされた論理的なアドレス空間のうち、ＯＳが格納されているシステムメモリ５７に対応するアドレス空間を、ＳＤＲＡＭ５８内のＯＳが転送されたアドレス空間にアドレス変換する。
このように、制御ユニット５２は、動作を開始した場合に、システムメモリ５７に格納されたＯＳに含まれる命令を、システムメモリ５７から逐次に読み出して実行する。制御ユニット５２は、システムメモリ５７から読み出した命令の実行に並行してシステムメモリ５７からＳＤＲＡＭ５８へＯＳを転送し、システムメモリ５７への転送が完了した場合に、実行すべき命令の読み出し先を、システムメモリ５７からＳＤＲＡＭ５８に切り替える。具体的には、制御ユニット５２は、ＳＤＲＡＭ５８への転送が完了した場合に、制御ユニット５２のメモリ空間のうち、ＯＳが格納されているシステムメモリ５７に対応するメモリ空間を、ＳＤＲＡＭ５８内のＯＳが転送されたメモリ空間に切り替える。より具体的には、メモリ管理ユニットが、ＳＤＲＡＭ５８へのＯＳの転送が完了した場合に、制御ユニット５２にマッピングされた論理的なアドレス空間のうち、ＯＳが格納されているシステムメモリ５７に対応するアドレス空間を、ＳＤＲＡＭ５８内のＯＳが転送されたアドレス空間にアドレス変換する。
【００３７】
以上に説明した制御により、第１プロセッサ３１０は、撮像装置１０の起動時にシステムメモリ５７上でＯＳの実行を開始するので、速やかに撮像装置１０の制御を開始することができる。そして、第１プロセッサ３１０がシステムメモリ５７上でＯＳの命令を実行している間に、第２プロセッサ３２０がバックグランドでＯＳをＳＤＲＡＭ５８に転送することができる。そして、ＳＤＲＡＭ５８への転送が完了した場合に、第１プロセッサ３１０の論理的なアドレス空間が、システムメモリ５７からＳＤＲＡＭ５８のＯＳがロードされたアドレス空間へ切り替わる。このため、第１プロセッサ３１０は、切り替え前に実行した命令に引き続き、当該命令の次に実行すべき命令をＳＤＲＡＭ５８から読み出して実行することができる。例えば、第１プロセッサ３１０は、切り替え前後でプログラムカウンタの値を変化させることなく、単に動作を再開するだけでよい。したがって、第１プロセッサ３１０は、システムメモリ５７上での実行からＳＤＲＡＭ５８上での実行へと、いわばシームレスに切り替えることができる。
【００３８】
図４は、論理アドレス空間にマッピングされる物理アドレス空間の一例を模式的に示す。本例において、論理アドレス空間４００は、第１プロセッサ３１０の論理アドレス空間である。本例は、第１プロセッサ３１０がシステムメモリ５７上でＯＳを実行している場合におけるマッピング例である。
【００３９】
システムメモリ５７の物理アドレス空間４５０には、第１プロセッサ３１０および第２プロセッサ３２０が実行する初期化コード、ＯＳイメージ等が格納されている。第１プロセッサ３１０の論理アドレス空間４１０は、システムメモリ５７の物理アドレス空間４５０にマッピングされている。したがって、第１プロセッサ３１０は、論理アドレス空間４１０に含まれるページにアクセスした場合、システムメモリ５７の物理アドレス空間４５０の対応するページがアクセスされる。第１プロセッサ３１０の論理アドレス空間４２０は、ＳＤＲＡＭ５８の物理アドレス空間４６０にマッピングされている。したがって、第１プロセッサ３１０は、論理アドレス空間４２０に含まれるページにアクセスした場合、ＳＤＲＡＭ５８の物理アドレス空間４６０の対応するページがアクセスされる。
【００４０】
ＯＳイメージには、機械語の命令を格納するテキストセクション、初期値を持つ変数を格納するデータセクション、初期値を持たない変数の情報が格納されるＢＳＳセクション等が含まれる。テキストセクションは、システムメモリ５７内の物理アドレス空間４５２に格納されている。第１プロセッサ３１０は、物理アドレス空間４５２に対応する論理アドレス空間４１２にアクセスすることで、ＯＳの命令を物理アドレス空間４５２から読み出すことができる。
【００４１】
データセクションは、起動時にシステムメモリ５７からＳＤＲＡＭ５８に転送される。また、ＢＳＳセクションの情報に基づいて、ＯＳで使用される変数がＳＤＲＡＭ５８に展開される。ＳＤＲＡＭ５８の変数セクションには、これらＯＳの実行によって値が変更される可能性がある変数が格納される。変数セクションはＳＤＲＡＭ５８の物理アドレス空間４６２に記憶される。第１プロセッサ３１０は、物理アドレス空間４６２に対応する論理アドレス空間４２２のページにアクセスすることで、変数にアクセスすることができる。
【００４２】
第１プロセッサ３１０は、論理アドレス空間４１２から機械語の命令を逐次に読み出して実行する。第１プロセッサ３１０は、カーネルを実行中に変数等のデータの読み書きをする場合に、論理アドレス４２２を介して、ＳＤＲＡＭ５８の物理アドレス空間４６２に対して読み書きを行う。
【００４３】
図５は、論理アドレス空間にマッピングされる物理アドレス空間の一例を模式的に示す。本例は、第１プロセッサ３１０がＳＤＲＡＭ５８上でＯＳを実行している場合におけるマッピング例である。
【００４４】
第２プロセッサ３２０がシステムメモリ５７からＳＤＲＡＭ５８に転送したテキストセクションは、ＳＤＲＡＭ５８の物理アドレス空間４６４に記憶されている。そして、第１プロセッサ３１０の論理アドレス空間４１２は、メモリ管理ユニット３１２によるアドレス変換によって、物理アドレス空間４６４にマッピングされる。したがって、第１プロセッサ３１０は、論理アドレス空間４１２のページを介して、ＳＤＲＡＭ５８の物理アドレス空間４６４の対応するページから命令を読み出すことができる。
【００４５】
このため、第１プロセッサ３１０は、ＳＤＲＡＭ５８上でＯＳを実行している場合でも、論理アドレス空間４１２を指定して命令を読み出すことができる。このため、メモリ管理ユニット３１２がマッピングを切り替えることで、命令の読み出し先をシステムメモリ５７からＳＤＲＡＭ５８へとシームレスに切り替えることができる。
【００４６】
なお、物理アドレス空間４６４および物理アドレス空間４６２は、第１プロセッサ３１０および第２プロセッサ３２０に共有されるアドレス空間である。したがって、第２プロセッサ３２０も、第１プロセッサ３１０と同一のＯＳを実行することができる。ＯＳがＳＭＰ（Ｓｙｍｍｅｔｒｉｃ  Ｍｕｌｔｉｐｒｏｃｅｓｓｉｎｇ）型のＯＳである場合、制御ユニット５２は並列してＯＳを実行することができる。
【００４７】
図６は、制御ユニット５２における動作シーケンスの一例を示す。本フローは、操作入力部４７の一部としての電源ボタンがＯＮされた場合に、開始される。
【００４８】
第１プロセッサ３１０は、システムメモリ５７から初期化コードを読み出して実行する（ステップＳ６０２）。具体的には、第１プロセッサ３１０は、電源ＯＮされた場合にハードウェアリセットされ、リセットが解除されると、システムメモリ５７の予め定められたアドレス、例えば初期化コードの先頭アドレスが、第１プロセッサ３１０のプログラムカウンタに設定される。第１プロセッサ３１０は、当該アドレスから命令の読み出しを開始して、初期化コードの命令をシステムメモリ５７から逐次に読み出して実行する。第１プロセッサ３１０は、初期化コードに従って、ハードウェアの初期化、スタックポインタの設定等を実行する。
【００４９】
また、第１プロセッサ３１０は、初期化コードに従って、ＯＳイメージのデータセクションおよびＢＳＳセクションから、変数セクションをＳＤＲＡＭ５８に生成して、初期化する。第１プロセッサ３１０は、ＯＳの実行によって値が変更されない部分は、ＳＤＲＡＭ５８には転送しない。例えば、テキストセクションはＳＤＲＡＭ５８に転送しない。
【００５０】
なお、第１プロセッサ３１０は、上記の処理を実行する間、第２プロセッサ３２０に対してリセット信号を出力することで、第２プロセッサ３２０のリセット状態に維持してよい。第１プロセッサ３１０は、上記の初期化処理を実行後に、第２プロセッサ３２０のリセット状態を解除してよい。第２プロセッサ３２０のリセット状態を解除する動作については、後述する。
【００５１】
続いて、第１プロセッサ３１０は、ＯＳのスタートアップルーチンが格納されたシステムメモリ５７内のアドレスにジャンプして、ＯＳの実行を開始する（ステップＳ６０４）。具体的には、第１プロセッサ３１０は、システムメモリ５７から逐次にＯＳの命令を読み出して、ＯＳの実行を開始する。
【００５２】
第１プロセッサ３１０がＯＳを実行することで、カメラユニット３０、レンズユニット２０および発光ユニット６０の各部が動作する。例えば、ユーザがレリーズボタンを押し込むと、静止画の撮像動作を実行する。また、動画撮影ボタンを操作すると、動画像の撮像動作を実行する。また、ユーザが再生ボタンを押し込むと、静止画像データまたは動画像データを再生する動作を実行する。また、ユーザが設定ボタンを押し込むと、撮像装置１０を設定する動作を実行する。
【００５３】
第２プロセッサ３２０の動作について説明する。第２プロセッサ３２０のリセットが解除されると、第２プロセッサ３２０は、第１プロセッサ３１０と同様に、システムメモリ５７から第２プロセッサ３２０用の初期化コードを読み出して実行する（ステップＳ６２２）。なお、第２プロセッサ３２０のリセット解除は、第１プロセッサ３１０によって制御されてよい。第２プロセッサ３２０は、第２プロセッサ３２０用の初期化コードに従って、ハードウェアの初期化、スタックポインタの設定等を実行する。システムメモリ５７から命令を読み出して実行する動作は、第１プロセッサ３１０と同様であるので、説明を省略する。
【００５４】
続いて、第２プロセッサ３２０は、初期化コードに含まれるＯＳ転送コードに従って、システムメモリ５７に格納されたＯＳをＳＤＲＡＭ５８に転送する（ステップＳ６２４）。具体的には、第２プロセッサ３２０は、システムメモリ５７に格納されたＯＳを１ページずつＳＤＲＡＭ５８に転送する。より具体的には、第２プロセッサ３２０は、テキストセクションを１ページずつＳＤＲＡＭ５８に転送する。ここで、第２プロセッサ３２０は、ＳＤＲＡＭ５８のうち第１プロセッサ３１０と共有するメモリ領域に、テキストセクションを転送する。
【００５５】
このように、第１プロセッサ３１０は、撮像装置１０の起動時に、ＯＳに含まれる命令をシステムメモリ５７から逐次に読み出して実行する。一方、第２プロセッサ３２０は、第１プロセッサ３１０による命令の実行に並行して、ＳＤＲＡＭ５８のうち第１プロセッサ３１０と共有するメモリ領域に、ＯＳを転送する。
【００５６】
続いて、第２プロセッサ３２０は、ＯＳの転送が完了すると、転送が完了した旨を第１プロセッサ３１０に通知する（ステップＳ６２６）。例えば、第２プロセッサ３２０は、転送完了を割り込みにより通知する。割り込みが完了すると、第２プロセッサ３２０はアイドル状態に遷移する（ステップＳ６２８）。
【００５７】
第１プロセッサ３１０は、第２プロセッサ３２０から割り込みを受けると、割り込みに対して予め定められたアドレスにジャンプして、物理アドレス空間へのマッピングを切り替える切替コードを実行する（ステップＳ６０６）。第１プロセッサ３１０が切替コードを実行することで、メモリ管理ユニット３１２のアドレス変換テーブルが変更され、ＯＳの命令がＳＤＲＡＭ５８から読み出されるようになる。これにより、第１プロセッサ３１０の論理アドレス空間４１２が、ＳＤＲＡＭ５８の物理アドレス空間４６４にマッピングされる。
【００５８】
続いて、第１プロセッサ３１０は、第２プロセッサ３２０がＯＳを実行できるように制御する（ステップＳ６０８）。具体的には、ＯＳがＳＭＰ型のＯＳである場合、第２プロセッサ３２０をＯＳのディスパッチャに登録する。これにより、第２プロセッサ３２０は、タスクの割り当てを待つ状態となる（ステップＳ６３０）。
【００５９】
続いて、第１プロセッサ３１０は、ＯＳの実行に戻る（ステップＳ６１０）。ステップＳ６１０においては、メモリ管理ユニット３１２によるアドレス変換により、ＯＳの命令はＳＤＲＡＭ５８の物理アドレス空間４６４から読み出される。また、第２プロセッサ３２０は、ＯＳからタスクが割り当てられると、当該タスクを実行する（ステップＳ６３２）。これにより、第１プロセッサ３１０および第２プロセッサ３２０は並列にＯＳの命令を実行することができる。
【００６０】
図７は、初期化コード実行時の第１プロセッサ３１０の動作フローの一例を示す。本図は、ステップＳ６０２の一部の処理フローを示す。本処理フローが実行される前に、ハードウェアの初期化、ＳＤＲＡＭ５８上への変数セクションの生成等の処理が完了しているとする。本処理フローは、例えば初期化の最終段階において実行される。
【００６１】
第１プロセッサ３１０は、第２プロセッサ３２０のリセット状態を解除する（ステップＳ７０２）。図６に関連して説明したように、第２プロセッサ３２０のリセット状態が解除されると、第２プロセッサ３２０は、初期化コードの実行を開始して、続いてＳＤＲＡＭ５８へＯＳを転送する処理を開始する。
【００６２】
続いて、第１プロセッサ３１０は、撮像モードを切り替える撮像モードスイッチの位置を示す値を取得する（ステップＳ７０４）。例えば、第１プロセッサ３１０は、撮像モードスイッチの出力に対応するＩＯアドレスにアクセスして、撮像モードスイッチの位置を示す値を取得する。続いて、第１プロセッサ３１０は、当該値を判断して、インターバル撮影が指示されているか否かを判断する（ステップＳ７０６）。インターバル撮影は、予め設定されたインターバルでの撮像を繰り返す撮像方法である。
【００６３】
インターバル撮影が指示されていない場合、ＯＳのスタートアップルーチンを呼び（ステップＳ７１２）、初期化コードの実行を終了する。この場合、図６のステップＳ６０４において、第１プロセッサ３１０はシステムメモリ５７上でＯＳを実行するので、撮像装置１０は高速に起動することができる。したがって、例えばユーザがシャッタチャンスを逃す可能性を低減することができる。
【００６４】
インターバル撮影が指示されている場合、第１プロセッサ３１０は、ＯＳの実行を開始せずに、ＯＳがＳＤＲＡＭ５８に転送されるのを待つ（ステップＳ７０８）。第２プロセッサ３２０から割り込みを受けると、ステップＳ６０６と同様に、メモリ空間の割り当てを変更する（ステップＳ７１０）。ステップＳ７１０の処理が完了すると、ＯＳのスタートアップルーチンを呼び（ステップＳ７１２）、初期化コードの実行を終了する。この場合、ステップＳ６０４においては、第１プロセッサ３１０はＳＤＲＡＭ５８上でＯＳを実行するので、命令を高速にフェッチすることができる。したがって、システムメモリ５７上で動作させる場合と比較して、ＯＳを高速に動作することができ、撮像装置１０を高速に動作させることができる。
【００６５】
なお、インターバル撮影とは、通常の動画撮影とは異なり、再生のフレームレートと、表示のフレームレートが異なる画像群を取得する撮像方法である。インターバル撮影では、例えば３分間隔で１フレームの被写体像を撮影して、動画像データが生成される。生成された動画像データは、例えば１秒あたり３０フレームなどのように通常のフレームレートで表示される。したがって、動画像データをデフォルトで再生した場合、インターバル撮影を開始してから終了するまでの時間よりも短い時間で再生される。
【００６６】
インターバル撮影は、シャッタチャンスよりも、比較的に長期にわたる被写体変化を重視した撮影方法といえる。インターバル撮影では、比較的に長期にわたって被写体を撮影することになるので、撮影インターバル、インターバル撮影を終了するまでの時間、自動露出にするか否か等、多くの撮影パラメータを事前に設定することが多い。したがって、撮像装置１０が起動してすぐにインターバル撮影を開始するケースは少ない。一方、ユーザにとっては多くの撮影パラメータをレスポンス良く設定できることが望ましい。本制御によれば、撮像モードがインターバル撮影に設定されている場合、ＳＤＲＡＭ５８にＯＳを転送してから実行するので、ユーザが撮影パラメータをレスポンス良く設定できる環境を提供することができる。
【００６７】
このように、制御ユニット５２は、撮像モードが、予め設定されたインターバルで撮像を繰り返すインターバル撮影を行う撮像モードである場合に、ＯＳに含まれる命令の実行に優先してＯＳをＳＤＲＡＭ５８へ転送し、インターバル撮影を行う撮像モードでない場合に、ＯＳに含まれる命令を、ＳＤＲＡＭ５８へのプログラムの転送に優先して実行する。なお、ＳＤＲＡＭ５８へのＯＳの転送を優先すべき撮像モードとしては、インターバル撮影の他、風景を撮影する風景モード等を例示することができる。すなわち、制御ユニット５２は、撮像装置１０の起動時に、撮像モードを示す情報を取得し、ＳＤＲＡＭ５８へのＯＳの転送を優先させるか否かを取得した撮像モードに基づいて判断し、ＯＳの転送を優先させるべき場合に、プログラムに含まれる命令の実行に優先して、ＯＳをＳＤＲＡＭ５８へ転送する。
【００６８】
また、ＳＤＲＡＭ５８へのＯＳの転送を優先すべきか否かを、動作モードに基づいて決定してもよい。例えば、動作モードの一部としての再生モードにおいては、例えば動画データ等をレスポンス良く再生できることが望ましい。したがって、第１プロセッサ３１０は、例えば再生ボタンが押し込まれて再生モードで起動した場合、ＳＤＲＡＭ５８へのＯＳの転送を優先してよい。すなわち、制御ユニット５２は、撮像装置１０の起動時に、撮像装置１０の動作モードを示す情報を取得し、ＳＤＲＡＭ５８へのＯＳの転送を優先させるか否かを取得した動作モードに基づいて判断し、ＯＳの転送を優先させるべき場合に、ＯＳに含まれる命令の実行に優先して、ＯＳをＳＤＲＡＭ５８へ転送してよい。
【００６９】
なお、本動作フローでは、第１プロセッサ３１０は、ＳＤＲＡＭ５８へのＯＳの転送を優先すべきか否かを、システムメモリ５７上でＯＳを実行する前に判断するとした。しかし、ＯＳの実行コード内に、本動作フローに関する動作を実現するためのコードが含まれていてよい。この場合、第１プロセッサ３１０がＯＳを実行することにより、ＳＤＲＡＭ５８へのＯＳの転送を優先すべきと判断した場合、第１プロセッサ３１０よりも、第２プロセッサ３２０の実行を優先させるようにしてもよい。例えば、第１プロセッサ３１０における命令の実行を停止してよい。また、第１プロセッサ３１０における命令の実行を継続しつつ、第１プロセッサ３１０よりも高い優先度で第２プロセッサ３２０を動作させてもよい。
【００７０】
図８は、撮像装置１０の起動から終了までの処理フローを示す。本フローは、操作入力部４７の一部としての電源ボタンがＯＮされた場合に、開始される。本フローは、制御ユニット５２が主体となって撮像装置１０の各部を制御することにより実行される。例えば、ＯＳがＳＤＲＡＭ５８に転送されるまでは、第１プロセッサ３１０が主体となって撮像装置１０の各部を制御し、ＯＳがＳＤＲＡＭ５８に転送された後は、第１プロセッサ３１０および第２プロセッサ３２０が主体となって実行する。したがって、特に断らない限り、制御の主体を制御ユニット５２と総称して説明する。
【００７１】
ステップＳ８００において、制御ユニット５２は、初期設定を開始する。例えば、制御ユニット５２は、撮像装置１０を制御するための各種パラメータ等を、システムメモリ５７からＳＤＲＡＭ５８に展開する。そして、制御ユニット５２は、例えば撮像モードスイッチ等を含む操作入力部４７の状態、および、展開された各種パラメータに基づき、撮像装置１０の各部の動作条件を設定する。例えば、撮像モードスイッチの位置に応じて、撮像モードを設定する。また、撮像モードに応じて、撮像条件や画像処理条件を設定する。例えば、撮像モードがポートレートモードの場合、人物が際立つように比較的開放に近い露出値が設定され、柔らかい表情が表現されるように画像処理においてエッジ強調を若干弱く適用するためのエッジ強調パラメータが設定される。また、赤目処理をするための赤目処理パラメータが設定される。
【００７２】
続いて、ステップＳ８０２において、表示ユニット５３への表示を行う。例えば、制御ユニット５２は、表示制御部５５を制御して、ステップＳ８００で設定した撮像モード、撮像条件および画像処理条件等を識別する設定情報を、表示ユニット５３に表示させる。したがって、ユーザは、現在設定されている撮像モード、撮像条件および画像処理条件等を、表示ユニット５３を介して一目で理解することができる。ここで、撮像装置１０の起動時には、ＯＳはシステムメモリ５７からスタートアップするので、ＯＳをＳＤＲＡＭ５８に転送してからスタートアップさせる場合と比較して、撮像装置１０の設定を速やかにユーザに提示することができる。例えばユーザが現在の設定を単に確認するために電源をＯＮした場合、ユーザは速やかに設定を確認することができる。
【００７３】
続いて、ステップＳ８０４において、制御ユニット５２は、操作入力部４７に対するユーザ指示を判断する。ユーザ指示が諸設定を実行する指示である場合、制御ユニット５２が主体となって、指示された設定処理を行う（ステップＳ８０６）。設定処理としては、撮像モードを設定する処理、撮像条件を設定する処理、画像処理条件を設定する処理等を例示することができる。
【００７４】
また、制御ユニット５２は、測光素子３９の出力に基づいて、撮像時に発光ユニット６０から発光させるべきか否かを決定する。その他、絞り値、シャッタスピード等の撮像条件がユーザから指示された場合、ユーザ指示に従って撮像条件の設定を行う。
【００７５】
ステップＳ８０４において、ユーザ指示が撮影実行に関する指示であると判断された場合、撮像実行に関する処理を行う（ステップＳ８１２）。撮影実行に関する指示としては、ライブビューボタン、動画撮影ボタン、レリーズボタンに対する操作等を例示することができる。ステップＳ８０４におけるユーザ指示が画像の再生を実行する指示である場合、再生処理を実行する（ステップＳ８２２）。再生処理としては、記録媒体に記録された画像をサムネイル表示する処理、ユーザにより指示された画像を表示する処理等を例示することができる。
【００７６】
ステップＳ８０６、ステップＳ８１２、ステップＳ８２２の処理が完了すると、ステップＳ８０８に進み、電源をＯＦＦするか否かを判断する。例えば、電源ボタンがＯＦＦ位置に切り替えられた場合や、電源がＯＮされてから予め定められた期間、ユーザ指示無しの状態が継続した場合等に、電源をＯＦＦすると判断する。電源をＯＦＦすると判断した場合は動作を終了し、電源をＯＦＦしないと判断した場合はステップ８０４に処理を移行させる。
【００７７】
図３から図８に関連して、制御ユニット５２が２つのプロセッサを有するとして説明した。しかし、制御ユニット５２は３以上のプロセッサを有してよい。すなわち、制御ユニット５２は、複数のプロセッサを有してよい。制御ユニット５２が３以上のプロセッサを有する場合、１つのプロセッサを、システムメモリ５７からＳＤＲＡＭ５８へＯＳを転送するプロセッサとして適用し、他の２以上のプロセッサには、システムメモリ５７上でＯＳの命令を実行させてよい。
【００７８】
また、図３から図８において、特に図６において、制御ユニット５２がＳＭＰ型のＯＳを動作させる場合を例示した。しかし、ＯＳはＡＭＰ型であってもよい。この場合、第２プロセッサ３２０は、第１プロセッサ３１０用のＯＳを転送した後に、第１プロセッサ３１０が実行するＯＳとは異なるＯＳまたはプログラムを実行してよい。例えば、第２プロセッサ３２０は、画像データの符号化を実行するためのプログラム、外部接続ＩＦ５６を通じてデータを記録媒体や外部機器等に出力するためのプログラムを実行してよい。
【００７９】
一方、第１プロセッサ３１０は、ＯＳの実行によって、撮像装置１０における撮像動作を制御してよい。また、第１プロセッサ３１０は、表示ユニット５３への表示を制御するなど、ユーザＩＦに関する動作を制御してよい。撮像動作の制御としては、レンズユニット２０の制御、駆動制御部５９、発光ユニット６０の制御等を例示することができる。このように、システムメモリ５７からＯＳを駆動する第１プロセッサ３１０が、高速なレスポンス性が要求される制御を担当することで、ユーザに対して高速な応答性を提供することができる。
【００８０】
図９は、ＯＳをＳＤＲＡＭ５８に転送する動作フローの他の一例を示す。本例では、第１プロセッサ３１０が、ＯＳの実行だけでなく、システムメモリ５７からＳＤＲＡＭ５８へＯＳを転送する処理を担う。例えば、ＯＳがマルチタスクＯＳである場合、ＳＤＲＡＭ５８の実行をメインタスクとは異なるタスクで実行する。具体的には、第１プロセッサ３１０は、システムメモリ５７上でＯＳを動作させながら、システムメモリ５７からＳＤＲＡＭ５８へＯＳを転送する転送タスクを実行する。第１プロセッサ３１０は、ＯＳの実行を担当するメインタスクと転送タスクとを切り替えて、両タスクを並行して実行する。
【００８１】
本動作フローは、電源ボタンがＯＮされた場合に開始する。まず、第１プロセッサ３１０が、システムメモリ５７から初期化コードを読み出して実行する（ステップＳ９０２）。具体的には、第２プロセッサ３２０のリセットを解除するなど、第２プロセッサ３２０に対する処理を除いて、ステップＳ６０２における動作と同様に動作する。ステップＳ９０２では、第１プロセッサ３１０は、ハードウェアの初期化、スタックポインタの設定、ＳＤＲＡＭ５８上への変数セクションの生成等の初期化を行う。
【００８２】
続いて、第１プロセッサ３１０は、ＯＳのスタートアップルーチンが格納されたシステムメモリ５７内のアドレスにジャンプして、ＯＳの実行を開始する（ステップＳ９０４）。具体的には、第１プロセッサ３１０は、システムメモリ５７から逐次にＯＳの命令を読み出して、ＯＳの実行を開始する。ここではＯＳの実行をするタスクを、メインタスクと呼ぶ。
【００８３】
ここで、ステップＳ９０４内の処理として、第１プロセッサ３１０は転送タスクを生成する。そして、第１プロセッサ３１０は、転送タスクの動作を開始し（ステップＳ９２２）、ステップＳ９０４の処理と並行して実行する（ステップＳ９２４）。具体的には、第１プロセッサ３１０は、メインタスクとの間でタスク切り替えをしながら、バックグランドで転送タスクを実行する。
【００８４】
続いて、第１プロセッサ３１０は、転送タスクによるＯＳの転送が完了すると、転送が完了した旨をメインタスクに通知する（ステップＳ９２６）。例えば、転送完了をタスク間通信により通知する。通知が完了すると、転送タスクは停止する（ステップＳ９２８）。
【００８５】
メインタスクにおいて転送完了の通知を受けた場合に、第１プロセッサ３１０は、第１プロセッサ３１０の物理アドレス空間へのマッピングを切り替える切替コードを実行する（ステップＳ９０６）。具体的には、ステップＳ６０６と同様に、メモリ管理ユニット３１２のアドレス変換テーブルを変更する。そして、第１プロセッサ３１０は、ステップＳ９０８に進み、ＯＳの実行を継続する。ステップＳ９０８においては、メモリ管理ユニット３１２によるアドレス変換により、ＯＳの命令はＳＤＲＡＭ５８の物理アドレス空間４６４から読み出される。
【００８６】
なお、ステップＳ９２４において、第１プロセッサ３１０は、メインタスクよりも低い優先度で転送タスクを実行してよい。しかし、撮像モードがインターバル撮影に設定されている場合には、メインタスクよりも高い優先度で転送タスクを実行してもよい。その他、撮像モードが風景モードの場合等に、メインタスクよりも高い優先度で転送タスクを実行してもよい。このように、撮像装置１０の撮像モードに応じた優先度で、転送タスクを実行してよい。なお、ＯＳの転送には、ＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）を適用してよい。
【００８７】
本図において第１プロセッサ３１０がメインタスクおよび転送タスクを実行するとした。しかし、第１プロセッサ３１０は、メインタスクおよび転送タスク以外の他のタスクを並列に実行してよい。
【００８８】
また、第１プロセッサ３１０が、ＯＳの実行と、ＳＤＲＡＭ５８へＯＳを転送する処理とを実行するとした。この場合、第２プロセッサ３２０は、第１プロセッサ３１０が実行するＯＳとは異なるＯＳを動作してよい。第２プロセッサ３２０が実行するＯＳは、第１プロセッサ３１０が実行するＯＳとは異なる機能を提供してよい。
【００８９】
以上の説明において、制御ユニット５２がマルチプロセッサであるとした。しかし、制御ユニット５２は、マルチコアプロセッサであってよい。マルチコアプロセッサの第１プロセッサコアが、上述した第１プロセッサ３１０の処理を実行し、マルチコアプロセッサの第２プロセッサコアが、上述した第２プロセッサ３２０の処理を実行してよい。
【００９０】
また、制御ユニット５２は、シングルプロセッサであってよい。例えば制御ユニット５２が、ＯＳを実行するプロセッサを一つ有する場合、当該プロセッサは、ＯＳの命令を実行するタスクと、ＳＤＲＡＭ５８へＯＳを転送するタスクとを順次に切り替えて実行してよい。
【００９１】
以上の説明においては、メモリ管理ユニット３１２によるアドレス変換によって、制御ユニット５２のメモリ空間を切り替えるとした。しかし、メモリ空間を、バンク切り替えによって切り替えてもよい。すなわち、メモリ管理ユニット３１２は、ＳＤＲＡＭ５８へのＯＳの転送が完了した場合に、プロセッサのメモリ空間のうち、ＯＳが格納されているシステムメモリ５７に対応するメモリ空間を、バンク切り替えによりＳＤＲＡＭ５８内のＯＳが転送されたメモリ空間に切り替えてよい。
【００９２】
また、システムメモリ５７も同様に、外部バスに接続された外部メモリであるとした。しかし、システムメモリ５７は、制御ユニット５２の内部に設けられた内部メモリであってよい。また、ＳＤＲＡＭ５８へ転送されるＯＳを格納する不揮発性メモリを、システムメモリ５７とは別個に設けてもよい。
【００９３】
本実施形態の撮像装置１０に関連して説明した処理は、撮像装置１０の各部、例えばプロセッサ等が、コンピュータプログラムに従って動作することにより、実現することができる。すなわち、当該処理を、いわゆるコンピュータ装置によって実現することができる。コンピュータ装置は、上述した処理の実行を制御するコンピュータプログラムをロードして、読み込んだコンピュータプログラムに従って動作して、当該処理を実行してよい。コンピュータ装置は、当該コンピュータプログラムを記憶しているコンピュータ読取可能な記録媒体を読み込むことによって、当該コンピュータプログラムをロードすることができる。
【００９４】
本実施形態において、撮像装置１０を取り上げて電子機器の一例を説明した。撮像装置としては、レンズ交換式の一眼レフレックスカメラ、コンパクトデジタルカメラ、ミラーレス一眼カメラ、ビデオカメラ、撮像機能付きの携帯電話機、撮像機能付きの携帯情報端末、撮像機能付きのゲーム機器等の娯楽装置、スキャナ、ファクシミリ等、撮像機能を有する機器を適用の対象とすることができる。また、電子機器は、例えば、テレビ、ビデオ、デジタルフォトフレーム、プロジェクタ装置、ゲーム機器等の娯楽装置等、画像の表示等を行う電子画像装置として実現されてよい。
【００９５】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【００９６】
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【符号の説明】
【００９７】
１０  撮像装置、１１  光軸、２０  レンズユニット、２１  レンズ系、２２  前玉、２３  レンズ群、２６  鏡筒、２７  レンズ回路基板、２９  レンズマウント、３０  カメラユニット、３１  カメラマウント、３２  メインミラー、３３  ピント板、３４  メインミラー回転軸、３５  測光光学系、３６  撮像素子、３７  ペンタプリズム、３８  接眼光学系、３９  測光素子、４０  サブミラー、４１  マウント部、４２  合焦ユニット、４３  フォーカルプレーンシャッタ、４７  操作入力部、５０  カメラ処理部、５１  画像処理部、５２  制御ユニット、５３  表示ユニット、５４  二次電池、５５  表示制御部、５６  外部接続ＩＦ、５７  システムメモリ、５８  ＳＤＲＡＭ、５９  駆動制御部、６０  発光ユニット、６１  発光部、６２  反射板、６３  フレネルレンズ、６５  バッテリ、６６  発光ユニット制御部、６９  マウント部、７１  レンズシステム制御部、７２  レンズメモリ、７３  レンズ駆動部、３１０  第１プロセッサ、３２０  第２プロセッサ、３１２、３２２  メモリ管理ユニット、３１４、３２４  実行部、３１６、３２６  キャッシュ、３３０  割り込みライン、４１０、４１２、４２０、４２２  論理アドレス空間、４５０、４５２、４６０、４６２、４６４  物理アドレス空間
【図１】
2013097715.tif 000003
【図２】
2013097715.tif 000004
【図３】
2013097715.tif 000005
【図４】
2013097715.tif 000006
【図５】
2013097715.tif 000007
【図６】
2013097715.tif 000008
【図７】
2013097715.tif 000009
【図８】
2013097715.tif 000010
【図９】
2013097715.tif 000011