説明

電子機器およびプログラム

【課題】プログラムの実行時間を短縮しつつ、プログラムの実行開始までの時間を短縮すること。
【解決手段】電子機器は、プログラムを格納する不揮発性メモリと、不揮発性メモリよりも読み出し速度が速い揮発性メモリと、動作を開始した場合に、プログラムに含まれる命令を不揮発性メモリから逐次に読み出して実行するプロセッサ部とを備え、プロセッサ部は、不揮発性メモリから読み出した命令の実行に並行して不揮発性メモリから揮発性メモリへプログラムを転送し、不揮発性メモリへの転送が完了した場合に、実行すべき命令の読み出し先を、不揮発性メモリから揮発性メモリに切り替える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、電子機器およびプログラムに関する。
【背景技術】
【0002】
ハイバネートしたメモリイメージの一部をシステムRAMに先行転送してからオペレーティングシステムの実行を開始し、オペレーティングシステムの実行と並行して、先行転送されなかったメモリイメージを転送する情報処理装置が知られている(例えば、特許文献1参照)。
[先行技術文献]
[特許文献]
[特許文献1]特開2007−334383号公報
【発明の概要】
【発明が解決しようとする課題】
【0003】
プログラムをRAMに転送してからプログラムを実行することで、プログラムの実行時間を短縮することができる。しかし、RAMへの転送完了を待たなければ、RAM上に転送したプログラムを実行することができない。従来、プログラムの実行時間を短縮しつつ、プログラムの実行を開始するまでの時間を短縮することができないという課題があった。
【課題を解決するための手段】
【0004】
本発明の第1の態様においては、電子機器は、プログラムを格納する不揮発性メモリと、不揮発性メモリよりも読み出し速度が速い揮発性メモリと、動作を開始した場合に、プログラムに含まれる命令を不揮発性メモリから逐次に読み出して実行するプロセッサ部とを備え、プロセッサ部は、不揮発性メモリから読み出した命令の実行に並行して不揮発性メモリから揮発性メモリへプログラムを転送し、不揮発性メモリへの転送が完了した場合に、実行すべき命令の読み出し先を、不揮発性メモリから揮発性メモリに切り替える。
【0005】
本発明の第2の態様においては、プログラムは、動作を開始した場合に、不揮発性メモリに格納されたコンピュータプログラムに含まれる命令を、不揮発性メモリから逐次に読み出して実行するステップと、不揮発性メモリから読み出した命令の実行に並行して、不揮発性メモリよりも読み出し速度が速い揮発性メモリへ不揮発性メモリからコンピュータプログラムを転送するステップと、不揮発性メモリへの転送が完了した場合に、実行すべき命令の読み出し先を、不揮発性メモリから揮発性メモリに切り替えるステップとをコンピュータに実行させる。
【0006】
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【図面の簡単な説明】
【0007】
【図1】撮像装置10の要部の模式断面を示す。
【図2】撮像装置10のシステム構成を概略的に示す。
【図3】制御ユニット52のブロック構成の一例を示す。
【図4】論理アドレス空間にマッピングされる物理アドレス空間の一例を示す。
【図5】論理アドレス空間にマッピングされる物理アドレス空間の一例を示す。
【図6】制御ユニット52における動作シーケンスの一例を示す。
【図7】初期化コード実行時の第1プロセッサ310の動作フローの一例を示す。
【図8】撮像装置10の起動から終了までの処理フローを示す。
【図9】OSをSDRAM58へ転送する動作フローの他の一例を示す。
【発明を実施するための形態】
【0008】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【0009】
図1は、撮像装置10の要部の模式断面を示す。撮像装置10は、レンズ交換式カメラの一例としての一眼レフレックスカメラである。撮像装置10は、カメラユニット30、一眼レンズユニット20および発光ユニット60を備える。一眼レンズユニット20および発光ユニット60は、カメラユニット30に装着される。
【0010】
カメラユニット30には、焦点距離、開放F値等の異なる複数のレンズユニット20が、交換レンズとして交換可能に装着される。レンズユニット20は、光軸11に沿って配列され鏡筒26に支持されたレンズ系21を備える。撮像レンズの一例としてのレンズ系21は、入射される被写体光束をカメラユニット30へ導く。図においては、レンズ系21を構成するレンズとして、前玉22と、フォーカスおよびズームを担うレンズ群23とを含む。レンズ群23は、焦点調整、画角調整の指示に応じて、レンズ群23に含まれる1以上のレンズが光軸方向に移動できるように構成されている。カメラユニット30は、焦点調整および画角調整の指示をレンズユニット20に送信することができる。
【0011】
鏡筒26は、レンズ回路基板27を支持する。レンズ回路基板27は、レンズユニット20を制御する各種回路、電子素子等を搭載している。レンズユニット20は、カメラユニット30との接続部にレンズマウント29を備え、カメラユニット30が備えるカメラマウント31と係合して、カメラユニット30と一体化する。レンズマウント29とカメラマウント31とはそれぞれ通信端子を備えており、マウント同士が係合したときに互いの通信端子が接続される。これにより、レンズ回路基板27に搭載された各種回路、電子素子等は、カメラユニット30側と電気的に接続される。
【0012】
カメラユニット30は、レンズユニット20から入射される被写体光束を反射するメインミラー32と、メインミラー32で反射された被写体光束が結像するピント板33を備える。メインミラー32は、ミラーボックス内でメインミラー回転軸34周りに揺動して、光軸11を中心とする被写体光束中に斜設される斜設状態と、被写体光束から退避する退避状態を取り得る。サブミラー40は、メインミラー32が被写体光束から退避する場合は、メインミラー32に連動して被写体光束から退避する。メインミラー回転軸34は、ミラーボックスの側壁に支持される。
【0013】
ライブビューボタンが押し下げられた場合、または、レリーズボタンが最下部まで押し下げられた場合、破線で示した退避状態を取る。例えば、メインミラー32が被写体光束中に斜設された状態で、ライブビューボタンが押し下げられた場合またはレリーズボタンが最下部まで押し下げられた場合、メインミラー32は破線で示した退避位置に移動する。ライブビューボタンが押し下げられた場合、メインミラー32は再度ライブビューボタンが押し下げられるまで退避位置に留まる。一方、レリーズボタンが押し下げられた場合は、所定の撮像動作を終えると、メインミラー32はダウンされ元の斜設状態の位置に戻される。
【0014】
フォーカルプレーンシャッタ43および撮像素子36は、光軸11に沿って配列されている。メインミラー32およびサブミラー40が退避状態である場合に、被写体光束は、レンズ系21を透過してカメラユニット30へ入射し、ミラーボックス内部と開放状態のフォーカルプレーンシャッタ43を通過して、撮像素子36の受光面で結像する。
【0015】
撮像素子36は、撮像素子36は、受光面で結像した被写体像を電気信号として出力する複数の光電変換素子を有する。光電変換素子としては、例えばCMOSセンサ、CCDセンサ等を例示することができる。撮像素子36は、カメラ処理部50と接続される。カメラ処理部50には、撮像素子36で光電変換された電気信号を処理するASIC、カメラユニット30の全体を制御するプロセッサ等の電気素子が搭載されている。
【0016】
カメラユニット30の背面には液晶モニタ等による表示ユニット53が配設されている。表示ユニット53は、撮像素子36に含まれる光電変換素子が出力した画像信号から生成された画像を表示する。表示ユニット53は、カメラ処理部50内のASICによって被写体像の電気信号から生成された表示用画像データを用いて、被写体像を表示する。表示ユニット53は、撮像後の静止画像に限らず、各種メニュー情報、撮像情報、告知情報等を表示する。ライブビュー時には、被写体に対して焦点調節をしながら、撮像素子36の受光面に結像した被写体像の電気信号からカメラ処理部50内のASICによって表示用画像データが生成され、生成された表示用画像データを用いて表示ユニット53が被写体像を表示する。
【0017】
ピント板33は、撮像素子36の受光面と共役の位置に配置されている。ピント板33で結像した被写体像は、ペンタプリズム37で正立像に変換され、接眼光学系38を介してユーザに観察される。ペンタプリズム37の射出面上方には、測光素子39が配置される。測光素子39は、測光光学系35を介して、被写体像の輝度分布を検出するための光電変換素子である。測光素子39により検出された被写体像の輝度分布は、シャッタスピード、絞り値等を決定するためにカメラ処理部50において使用される。また、測光素子39により検出された被写体像の輝度分布は、人物の顔等を検出するためにカメラ処理部50内のASIC等において使用される。
【0018】
斜設状態におけるメインミラー32の光軸11の近傍領域は、ハーフミラーとして形成されており、入射される被写体光束の一部が透過する。透過した被写体光束は、メインミラー32と連動して揺動するサブミラー40で反射されて、合焦ユニット42へ導かれる。合焦ユニット42に導かれた被写体光束は、合焦光学系を通じて合焦センサへ入射される。合焦センサは、複数の焦点調整領域のそれぞれにおいて合焦状態、前ピン状態、後ピン状態を示す位相差検出信号を出力する。前ピン状態、後ピン状態の場合には、位相差検出信号は合焦状態からのずれ量も示す。カメラ処理部50は、位相差検出方式による位相差AF(自動フォーカス)によって、レンズユニット20の焦点調節を行う。
【0019】
カメラユニット30には着脱可能な二次電池54が収容される。二次電池54は、カメラユニット30に限らず、レンズユニット20にも電力を供給する。電源がONされた場合に、二次電池54から電力がカメラ処理部50等に供給される。
【0020】
発光ユニット60は、被写体を照明する照明光を発光する。発光ユニット60とカメラユニット30とは、発光ユニット60が有するマウント部69とカメラユニット30が有するマウント部41とを介して接続される。発光ユニット60は、キセノンランプ等の発光部61、反射板62、フレネルレンズ63、電池等のバッテリ65、および、発光ユニット制御部66を有する。発光ユニット制御部66は、バッテリ65から電力を供給して発光部61を発光させることにより、反射板62およびフレネルレンズ63を介して照明光を閃光させる。発光ユニット制御部66は、カメラ処理部50からの発光指示信号に基づき発光等の制御を行う。
【0021】
図2は、撮像装置10のシステム構成を概略的に示すブロック図である。撮像装置10におけるシステムは、レンズユニット20、カメラユニット30および発光ユニット60のそれぞれに対応して、レンズシステム制御部71を中心とするレンズ制御系と、制御ユニット52を中心とするカメラ制御系と、発光ユニット制御部66を中心とする発光制御系とにより構成される。レンズ制御系とカメラ制御系とは、レンズマウント29とカメラマウント31とによって接続される通信端子を介して、相互に各種データ、制御信号の授受を行う。発光制御系とカメラ制御系とは、マウント部69とマウント部41とによって接続される通信端子を介して、相互に各種データ、制御信号の授受を行う。
【0022】
カメラ制御系に含まれる画像処理部51は、例えばASICにより実現される。画像処理部51は、制御ユニット52からの指令に従って、撮像素子36から出力された被写体像の電気信号を処理して画像データを生成する。生成された画像データは、表示制御部55へ送られて、例えば撮像後の一定時間の間、表示ユニット53に表示される。これに並行して、画像処理部51は、生成した画像データを、予め定められた画像フォーマットに加工する。例えば、画像処理部51は、静止画用の画像フォーマットとしてのJPEGファイル、動画用の画像フォーマットとしてのMPEGファイル等に画像データを加工する。
【0023】
外部接続IF56は、記録媒体とのデータ伝送を担う記録媒体IFと、外部接続IF56のうち外部機器との間の通信を担う外部機器IFとを有する。画像処理部51において生成された画像データは、記録媒体IFを介して記録媒体に記録される。また、画像データは、外部機器IFを介して外部機器に伝送され、外部機器において記録または処理される。外部機器としては、パーソナルコンピュータ、デジタルフォトスタンド等を例示することができる。外部機器が映像機器である場合、映像データとしての画像データは、外部機器IFを介して映像信号として送信される。
【0024】
また、画像処理部51は、制御ユニット52からの指令に従って、撮像素子36から出力された被写体像の電気信号を処理して、被写体像のコントラスト量を示すコントラスト評価値を生成する。制御ユニット52は、コントラスト評価値および合焦ユニット42から出力された位相差検出信号の少なくとも一方に基づき、焦点調節用の制御信号を生成して、レンズシステム制御部71に供給する。
【0025】
システムメモリ57は、例えばフラッシュメモリである。システムメモリ57は、NOR型フラッシュメモリであってよい。システムメモリ57は、不揮発性メモリの一例であり、撮像装置10を制御するプログラム、各種パラメータなどを格納する役割を担う。プログラムには、オペレーティングシステム(OS)を含む。OSは、カーネルイメージの他、各種の基本的なアプリケーション等のソフトウェアコンポーネントを含んでよい。
【0026】
SDRAM58は、揮発性メモリの一例である。SDRAM58は、システムメモリ57よりも、高速にアクセスできるメモリである。例えば、SDRAM58は、システムメモリ57よりも読み出し速度が速い。制御ユニット52は、システムメモリ57に格納された情報よりも、SDRAM58に記憶された情報に短時間でアクセスすることができる。SDRAM58は、システムメモリ57から転送されたOSを記憶する。SDRAM58は、画像処理部51による処理中の画像データを一時的に保管するワークメモリとしての役割も担う。
【0027】
駆動制御部59は、制御ユニット52からの指令に従って、メインミラー32、サブミラー40、フォーカルプレーンシャッタ43等を駆動する。操作入力部47は、レリーズボタン、ライブビューボタン、撮像モードスイッチ、動画撮影ボタン、電源ボタン等を含む。制御ユニット52は、操作入力部47に対するユーザ操作を示す信号を取得する。
【0028】
レンズシステム制御部71は、制御ユニット52からの制御信号を受けて、レンズユニット20における各種動作を制御する。レンズメモリ72は、レンズ固有情報およびレンズシステム制御部71が実行するプログラム等を記憶している。レンズ駆動部73は、レンズシステム制御部71が制御ユニット52から受け取った制御信号に従って、フォーカスレンズ、ズームレンズ、絞り28等を駆動する。また、レンズシステム制御部71は、制御ユニット52からの要求に応じて、レンズ固有情報を制御ユニット52に送信する。
【0029】
発光ユニット制御部66は、制御ユニット52からの制御信号を受けて、発光ユニット60の全体を制御する。発光ユニット制御部66は、制御ユニット52から受け取った制御信号に従って発光部61を駆動する。また、66は、レンズシステム制御部71は、制御ユニット52からの要求に応じて、発光ユニット60の固有情報を制御ユニット52に送信する。
【0030】
図3は、制御ユニット52のブロック構成の一例を示す。本例において、制御ユニット52は、プロセッサの論理アドレス空間を物理メモリアドレス空間にマッピングするメモリ管理ユニットを有する。物理アドレスとしては、システムメモリ57のアドレス、SDRAM58のアドレスを例示することができる。
【0031】
本例において、制御ユニット52はマルチプロセッサユニットである。制御ユニット52は、第1プロセッサ310および第2プロセッサ320を有する。第1プロセッサ310および第2プロセッサ320は、割り込みライン330を介して相互に割り込みを行う。第1プロセッサ310および第2プロセッサ320は、SDRAM58の少なくとも一部のメモリ領域を共有する。
【0032】
第1プロセッサ310は、命令を実行する実行部314と、メモリ管理ユニット312と、キャッシュ316とを有する。メモリ管理ユニット312は、第1プロセッサ310の論理アドレス空間を物理メモリ空間にマッピングする。メモリ管理ユニット312は、第1プロセッサ310の論理アドレスを物理アドレスに変換する。実行部314は、論理アドレスを通じて、メモリ管理ユニット312がマッピングしたシステムメモリ57またはSDRAM58のアドレスにアクセスすることができる。キャッシュ316は、システムメモリ57またはSDRAM58から転送された命令およびデータをキャッシュする。また、キャッシュ316は、実行部314から転送されたデータをキャッシュする。実行部314が要求した論理アドレスに対応する命令およびデータがキャッシュ316に存在する場合、実行部314は、キャッシュ316に対してアクセスする。
【0033】
第2プロセッサ320は、実行部324と、メモリ管理ユニット322と、キャッシュ326とを有する。実行部324、メモリ管理ユニット322およびキャッシュ326は、それぞれ実行部314、メモリ管理ユニット312およびキャッシュ316と同様の機能および構成を有するので、動作の詳細について説明を省略する。
【0034】
第1プロセッサ310は、動作を開始した場合に、システムメモリ57に格納されたOSに含まれる命令を、システムメモリ57から逐次に読み出して実行する。具体的には、操作入力部47の一部としての電源ボタンがONされた場合に、命令をシステムメモリ57から逐次に読み出して実行する。具体的には、実行部314が、システムメモリ57から読み出した命令を実行する。電源ボタンがONされた場合に、実行部314がシステムメモリ57から命令を読み出して実行するので、撮像装置10を制御するための動作を速やかに開始することができる。
【0035】
なお、命令をシステムメモリ57から逐次に読み出して実行するとは、実行部314がシステムメモリ57のアドレスを指定して読み出しを行うことを示す。したがって、実行部314が要求した命令がキャッシュ316に存在する場合に、実行部314がキャッシュ316から提供された命令を実行することも、命令をシステムメモリ57から逐次に読み出して実行することに該当する。命令をSDRAM58から逐次に読み出して実行することについても同様である。
【0036】
第2プロセッサ320は、第1プロセッサ310における命令の実行に並行して、システムメモリ57からSDRAM58へOSを転送する。第1プロセッサ310は、第2プロセッサ320によるシステムメモリ57への転送が完了した場合に、実行すべき命令の読み出し先を、システムメモリ57からSDRAM58に切り替える。具体的には、第1プロセッサ310は、SDRAM58へのOSの転送が完了した場合に、第1プロセッサ310のメモリ空間のうち、OSが格納されているシステムメモリ57に対応するメモリ空間を、SDRAM58内のOSが転送されたメモリ空間に切り替える。より具体的には、SDRAM58へのOSの転送が完了した場合に、メモリ管理ユニット312が、プロセッサにマッピングされた論理的なアドレス空間のうち、OSが格納されているシステムメモリ57に対応するアドレス空間を、SDRAM58内のOSが転送されたアドレス空間にアドレス変換する。
このように、制御ユニット52は、動作を開始した場合に、システムメモリ57に格納されたOSに含まれる命令を、システムメモリ57から逐次に読み出して実行する。制御ユニット52は、システムメモリ57から読み出した命令の実行に並行してシステムメモリ57からSDRAM58へOSを転送し、システムメモリ57への転送が完了した場合に、実行すべき命令の読み出し先を、システムメモリ57からSDRAM58に切り替える。具体的には、制御ユニット52は、SDRAM58への転送が完了した場合に、制御ユニット52のメモリ空間のうち、OSが格納されているシステムメモリ57に対応するメモリ空間を、SDRAM58内のOSが転送されたメモリ空間に切り替える。より具体的には、メモリ管理ユニットが、SDRAM58へのOSの転送が完了した場合に、制御ユニット52にマッピングされた論理的なアドレス空間のうち、OSが格納されているシステムメモリ57に対応するアドレス空間を、SDRAM58内のOSが転送されたアドレス空間にアドレス変換する。
【0037】
以上に説明した制御により、第1プロセッサ310は、撮像装置10の起動時にシステムメモリ57上でOSの実行を開始するので、速やかに撮像装置10の制御を開始することができる。そして、第1プロセッサ310がシステムメモリ57上でOSの命令を実行している間に、第2プロセッサ320がバックグランドでOSをSDRAM58に転送することができる。そして、SDRAM58への転送が完了した場合に、第1プロセッサ310の論理的なアドレス空間が、システムメモリ57からSDRAM58のOSがロードされたアドレス空間へ切り替わる。このため、第1プロセッサ310は、切り替え前に実行した命令に引き続き、当該命令の次に実行すべき命令をSDRAM58から読み出して実行することができる。例えば、第1プロセッサ310は、切り替え前後でプログラムカウンタの値を変化させることなく、単に動作を再開するだけでよい。したがって、第1プロセッサ310は、システムメモリ57上での実行からSDRAM58上での実行へと、いわばシームレスに切り替えることができる。
【0038】
図4は、論理アドレス空間にマッピングされる物理アドレス空間の一例を模式的に示す。本例において、論理アドレス空間400は、第1プロセッサ310の論理アドレス空間である。本例は、第1プロセッサ310がシステムメモリ57上でOSを実行している場合におけるマッピング例である。
【0039】
システムメモリ57の物理アドレス空間450には、第1プロセッサ310および第2プロセッサ320が実行する初期化コード、OSイメージ等が格納されている。第1プロセッサ310の論理アドレス空間410は、システムメモリ57の物理アドレス空間450にマッピングされている。したがって、第1プロセッサ310は、論理アドレス空間410に含まれるページにアクセスした場合、システムメモリ57の物理アドレス空間450の対応するページがアクセスされる。第1プロセッサ310の論理アドレス空間420は、SDRAM58の物理アドレス空間460にマッピングされている。したがって、第1プロセッサ310は、論理アドレス空間420に含まれるページにアクセスした場合、SDRAM58の物理アドレス空間460の対応するページがアクセスされる。
【0040】
OSイメージには、機械語の命令を格納するテキストセクション、初期値を持つ変数を格納するデータセクション、初期値を持たない変数の情報が格納されるBSSセクション等が含まれる。テキストセクションは、システムメモリ57内の物理アドレス空間452に格納されている。第1プロセッサ310は、物理アドレス空間452に対応する論理アドレス空間412にアクセスすることで、OSの命令を物理アドレス空間452から読み出すことができる。
【0041】
データセクションは、起動時にシステムメモリ57からSDRAM58に転送される。また、BSSセクションの情報に基づいて、OSで使用される変数がSDRAM58に展開される。SDRAM58の変数セクションには、これらOSの実行によって値が変更される可能性がある変数が格納される。変数セクションはSDRAM58の物理アドレス空間462に記憶される。第1プロセッサ310は、物理アドレス空間462に対応する論理アドレス空間422のページにアクセスすることで、変数にアクセスすることができる。
【0042】
第1プロセッサ310は、論理アドレス空間412から機械語の命令を逐次に読み出して実行する。第1プロセッサ310は、カーネルを実行中に変数等のデータの読み書きをする場合に、論理アドレス422を介して、SDRAM58の物理アドレス空間462に対して読み書きを行う。
【0043】
図5は、論理アドレス空間にマッピングされる物理アドレス空間の一例を模式的に示す。本例は、第1プロセッサ310がSDRAM58上でOSを実行している場合におけるマッピング例である。
【0044】
第2プロセッサ320がシステムメモリ57からSDRAM58に転送したテキストセクションは、SDRAM58の物理アドレス空間464に記憶されている。そして、第1プロセッサ310の論理アドレス空間412は、メモリ管理ユニット312によるアドレス変換によって、物理アドレス空間464にマッピングされる。したがって、第1プロセッサ310は、論理アドレス空間412のページを介して、SDRAM58の物理アドレス空間464の対応するページから命令を読み出すことができる。
【0045】
このため、第1プロセッサ310は、SDRAM58上でOSを実行している場合でも、論理アドレス空間412を指定して命令を読み出すことができる。このため、メモリ管理ユニット312がマッピングを切り替えることで、命令の読み出し先をシステムメモリ57からSDRAM58へとシームレスに切り替えることができる。
【0046】
なお、物理アドレス空間464および物理アドレス空間462は、第1プロセッサ310および第2プロセッサ320に共有されるアドレス空間である。したがって、第2プロセッサ320も、第1プロセッサ310と同一のOSを実行することができる。OSがSMP(Symmetric Multiprocessing)型のOSである場合、制御ユニット52は並列してOSを実行することができる。
【0047】
図6は、制御ユニット52における動作シーケンスの一例を示す。本フローは、操作入力部47の一部としての電源ボタンがONされた場合に、開始される。
【0048】
第1プロセッサ310は、システムメモリ57から初期化コードを読み出して実行する(ステップS602)。具体的には、第1プロセッサ310は、電源ONされた場合にハードウェアリセットされ、リセットが解除されると、システムメモリ57の予め定められたアドレス、例えば初期化コードの先頭アドレスが、第1プロセッサ310のプログラムカウンタに設定される。第1プロセッサ310は、当該アドレスから命令の読み出しを開始して、初期化コードの命令をシステムメモリ57から逐次に読み出して実行する。第1プロセッサ310は、初期化コードに従って、ハードウェアの初期化、スタックポインタの設定等を実行する。
【0049】
また、第1プロセッサ310は、初期化コードに従って、OSイメージのデータセクションおよびBSSセクションから、変数セクションをSDRAM58に生成して、初期化する。第1プロセッサ310は、OSの実行によって値が変更されない部分は、SDRAM58には転送しない。例えば、テキストセクションはSDRAM58に転送しない。
【0050】
なお、第1プロセッサ310は、上記の処理を実行する間、第2プロセッサ320に対してリセット信号を出力することで、第2プロセッサ320のリセット状態に維持してよい。第1プロセッサ310は、上記の初期化処理を実行後に、第2プロセッサ320のリセット状態を解除してよい。第2プロセッサ320のリセット状態を解除する動作については、後述する。
【0051】
続いて、第1プロセッサ310は、OSのスタートアップルーチンが格納されたシステムメモリ57内のアドレスにジャンプして、OSの実行を開始する(ステップS604)。具体的には、第1プロセッサ310は、システムメモリ57から逐次にOSの命令を読み出して、OSの実行を開始する。
【0052】
第1プロセッサ310がOSを実行することで、カメラユニット30、レンズユニット20および発光ユニット60の各部が動作する。例えば、ユーザがレリーズボタンを押し込むと、静止画の撮像動作を実行する。また、動画撮影ボタンを操作すると、動画像の撮像動作を実行する。また、ユーザが再生ボタンを押し込むと、静止画像データまたは動画像データを再生する動作を実行する。また、ユーザが設定ボタンを押し込むと、撮像装置10を設定する動作を実行する。
【0053】
第2プロセッサ320の動作について説明する。第2プロセッサ320のリセットが解除されると、第2プロセッサ320は、第1プロセッサ310と同様に、システムメモリ57から第2プロセッサ320用の初期化コードを読み出して実行する(ステップS622)。なお、第2プロセッサ320のリセット解除は、第1プロセッサ310によって制御されてよい。第2プロセッサ320は、第2プロセッサ320用の初期化コードに従って、ハードウェアの初期化、スタックポインタの設定等を実行する。システムメモリ57から命令を読み出して実行する動作は、第1プロセッサ310と同様であるので、説明を省略する。
【0054】
続いて、第2プロセッサ320は、初期化コードに含まれるOS転送コードに従って、システムメモリ57に格納されたOSをSDRAM58に転送する(ステップS624)。具体的には、第2プロセッサ320は、システムメモリ57に格納されたOSを1ページずつSDRAM58に転送する。より具体的には、第2プロセッサ320は、テキストセクションを1ページずつSDRAM58に転送する。ここで、第2プロセッサ320は、SDRAM58のうち第1プロセッサ310と共有するメモリ領域に、テキストセクションを転送する。
【0055】
このように、第1プロセッサ310は、撮像装置10の起動時に、OSに含まれる命令をシステムメモリ57から逐次に読み出して実行する。一方、第2プロセッサ320は、第1プロセッサ310による命令の実行に並行して、SDRAM58のうち第1プロセッサ310と共有するメモリ領域に、OSを転送する。
【0056】
続いて、第2プロセッサ320は、OSの転送が完了すると、転送が完了した旨を第1プロセッサ310に通知する(ステップS626)。例えば、第2プロセッサ320は、転送完了を割り込みにより通知する。割り込みが完了すると、第2プロセッサ320はアイドル状態に遷移する(ステップS628)。
【0057】
第1プロセッサ310は、第2プロセッサ320から割り込みを受けると、割り込みに対して予め定められたアドレスにジャンプして、物理アドレス空間へのマッピングを切り替える切替コードを実行する(ステップS606)。第1プロセッサ310が切替コードを実行することで、メモリ管理ユニット312のアドレス変換テーブルが変更され、OSの命令がSDRAM58から読み出されるようになる。これにより、第1プロセッサ310の論理アドレス空間412が、SDRAM58の物理アドレス空間464にマッピングされる。
【0058】
続いて、第1プロセッサ310は、第2プロセッサ320がOSを実行できるように制御する(ステップS608)。具体的には、OSがSMP型のOSである場合、第2プロセッサ320をOSのディスパッチャに登録する。これにより、第2プロセッサ320は、タスクの割り当てを待つ状態となる(ステップS630)。
【0059】
続いて、第1プロセッサ310は、OSの実行に戻る(ステップS610)。ステップS610においては、メモリ管理ユニット312によるアドレス変換により、OSの命令はSDRAM58の物理アドレス空間464から読み出される。また、第2プロセッサ320は、OSからタスクが割り当てられると、当該タスクを実行する(ステップS632)。これにより、第1プロセッサ310および第2プロセッサ320は並列にOSの命令を実行することができる。
【0060】
図7は、初期化コード実行時の第1プロセッサ310の動作フローの一例を示す。本図は、ステップS602の一部の処理フローを示す。本処理フローが実行される前に、ハードウェアの初期化、SDRAM58上への変数セクションの生成等の処理が完了しているとする。本処理フローは、例えば初期化の最終段階において実行される。
【0061】
第1プロセッサ310は、第2プロセッサ320のリセット状態を解除する(ステップS702)。図6に関連して説明したように、第2プロセッサ320のリセット状態が解除されると、第2プロセッサ320は、初期化コードの実行を開始して、続いてSDRAM58へOSを転送する処理を開始する。
【0062】
続いて、第1プロセッサ310は、撮像モードを切り替える撮像モードスイッチの位置を示す値を取得する(ステップS704)。例えば、第1プロセッサ310は、撮像モードスイッチの出力に対応するIOアドレスにアクセスして、撮像モードスイッチの位置を示す値を取得する。続いて、第1プロセッサ310は、当該値を判断して、インターバル撮影が指示されているか否かを判断する(ステップS706)。インターバル撮影は、予め設定されたインターバルでの撮像を繰り返す撮像方法である。
【0063】
インターバル撮影が指示されていない場合、OSのスタートアップルーチンを呼び(ステップS712)、初期化コードの実行を終了する。この場合、図6のステップS604において、第1プロセッサ310はシステムメモリ57上でOSを実行するので、撮像装置10は高速に起動することができる。したがって、例えばユーザがシャッタチャンスを逃す可能性を低減することができる。
【0064】
インターバル撮影が指示されている場合、第1プロセッサ310は、OSの実行を開始せずに、OSがSDRAM58に転送されるのを待つ(ステップS708)。第2プロセッサ320から割り込みを受けると、ステップS606と同様に、メモリ空間の割り当てを変更する(ステップS710)。ステップS710の処理が完了すると、OSのスタートアップルーチンを呼び(ステップS712)、初期化コードの実行を終了する。この場合、ステップS604においては、第1プロセッサ310はSDRAM58上でOSを実行するので、命令を高速にフェッチすることができる。したがって、システムメモリ57上で動作させる場合と比較して、OSを高速に動作することができ、撮像装置10を高速に動作させることができる。
【0065】
なお、インターバル撮影とは、通常の動画撮影とは異なり、再生のフレームレートと、表示のフレームレートが異なる画像群を取得する撮像方法である。インターバル撮影では、例えば3分間隔で1フレームの被写体像を撮影して、動画像データが生成される。生成された動画像データは、例えば1秒あたり30フレームなどのように通常のフレームレートで表示される。したがって、動画像データをデフォルトで再生した場合、インターバル撮影を開始してから終了するまでの時間よりも短い時間で再生される。
【0066】
インターバル撮影は、シャッタチャンスよりも、比較的に長期にわたる被写体変化を重視した撮影方法といえる。インターバル撮影では、比較的に長期にわたって被写体を撮影することになるので、撮影インターバル、インターバル撮影を終了するまでの時間、自動露出にするか否か等、多くの撮影パラメータを事前に設定することが多い。したがって、撮像装置10が起動してすぐにインターバル撮影を開始するケースは少ない。一方、ユーザにとっては多くの撮影パラメータをレスポンス良く設定できることが望ましい。本制御によれば、撮像モードがインターバル撮影に設定されている場合、SDRAM58にOSを転送してから実行するので、ユーザが撮影パラメータをレスポンス良く設定できる環境を提供することができる。
【0067】
このように、制御ユニット52は、撮像モードが、予め設定されたインターバルで撮像を繰り返すインターバル撮影を行う撮像モードである場合に、OSに含まれる命令の実行に優先してOSをSDRAM58へ転送し、インターバル撮影を行う撮像モードでない場合に、OSに含まれる命令を、SDRAM58へのプログラムの転送に優先して実行する。なお、SDRAM58へのOSの転送を優先すべき撮像モードとしては、インターバル撮影の他、風景を撮影する風景モード等を例示することができる。すなわち、制御ユニット52は、撮像装置10の起動時に、撮像モードを示す情報を取得し、SDRAM58へのOSの転送を優先させるか否かを取得した撮像モードに基づいて判断し、OSの転送を優先させるべき場合に、プログラムに含まれる命令の実行に優先して、OSをSDRAM58へ転送する。
【0068】
また、SDRAM58へのOSの転送を優先すべきか否かを、動作モードに基づいて決定してもよい。例えば、動作モードの一部としての再生モードにおいては、例えば動画データ等をレスポンス良く再生できることが望ましい。したがって、第1プロセッサ310は、例えば再生ボタンが押し込まれて再生モードで起動した場合、SDRAM58へのOSの転送を優先してよい。すなわち、制御ユニット52は、撮像装置10の起動時に、撮像装置10の動作モードを示す情報を取得し、SDRAM58へのOSの転送を優先させるか否かを取得した動作モードに基づいて判断し、OSの転送を優先させるべき場合に、OSに含まれる命令の実行に優先して、OSをSDRAM58へ転送してよい。
【0069】
なお、本動作フローでは、第1プロセッサ310は、SDRAM58へのOSの転送を優先すべきか否かを、システムメモリ57上でOSを実行する前に判断するとした。しかし、OSの実行コード内に、本動作フローに関する動作を実現するためのコードが含まれていてよい。この場合、第1プロセッサ310がOSを実行することにより、SDRAM58へのOSの転送を優先すべきと判断した場合、第1プロセッサ310よりも、第2プロセッサ320の実行を優先させるようにしてもよい。例えば、第1プロセッサ310における命令の実行を停止してよい。また、第1プロセッサ310における命令の実行を継続しつつ、第1プロセッサ310よりも高い優先度で第2プロセッサ320を動作させてもよい。
【0070】
図8は、撮像装置10の起動から終了までの処理フローを示す。本フローは、操作入力部47の一部としての電源ボタンがONされた場合に、開始される。本フローは、制御ユニット52が主体となって撮像装置10の各部を制御することにより実行される。例えば、OSがSDRAM58に転送されるまでは、第1プロセッサ310が主体となって撮像装置10の各部を制御し、OSがSDRAM58に転送された後は、第1プロセッサ310および第2プロセッサ320が主体となって実行する。したがって、特に断らない限り、制御の主体を制御ユニット52と総称して説明する。
【0071】
ステップS800において、制御ユニット52は、初期設定を開始する。例えば、制御ユニット52は、撮像装置10を制御するための各種パラメータ等を、システムメモリ57からSDRAM58に展開する。そして、制御ユニット52は、例えば撮像モードスイッチ等を含む操作入力部47の状態、および、展開された各種パラメータに基づき、撮像装置10の各部の動作条件を設定する。例えば、撮像モードスイッチの位置に応じて、撮像モードを設定する。また、撮像モードに応じて、撮像条件や画像処理条件を設定する。例えば、撮像モードがポートレートモードの場合、人物が際立つように比較的開放に近い露出値が設定され、柔らかい表情が表現されるように画像処理においてエッジ強調を若干弱く適用するためのエッジ強調パラメータが設定される。また、赤目処理をするための赤目処理パラメータが設定される。
【0072】
続いて、ステップS802において、表示ユニット53への表示を行う。例えば、制御ユニット52は、表示制御部55を制御して、ステップS800で設定した撮像モード、撮像条件および画像処理条件等を識別する設定情報を、表示ユニット53に表示させる。したがって、ユーザは、現在設定されている撮像モード、撮像条件および画像処理条件等を、表示ユニット53を介して一目で理解することができる。ここで、撮像装置10の起動時には、OSはシステムメモリ57からスタートアップするので、OSをSDRAM58に転送してからスタートアップさせる場合と比較して、撮像装置10の設定を速やかにユーザに提示することができる。例えばユーザが現在の設定を単に確認するために電源をONした場合、ユーザは速やかに設定を確認することができる。
【0073】
続いて、ステップS804において、制御ユニット52は、操作入力部47に対するユーザ指示を判断する。ユーザ指示が諸設定を実行する指示である場合、制御ユニット52が主体となって、指示された設定処理を行う(ステップS806)。設定処理としては、撮像モードを設定する処理、撮像条件を設定する処理、画像処理条件を設定する処理等を例示することができる。
【0074】
また、制御ユニット52は、測光素子39の出力に基づいて、撮像時に発光ユニット60から発光させるべきか否かを決定する。その他、絞り値、シャッタスピード等の撮像条件がユーザから指示された場合、ユーザ指示に従って撮像条件の設定を行う。
【0075】
ステップS804において、ユーザ指示が撮影実行に関する指示であると判断された場合、撮像実行に関する処理を行う(ステップS812)。撮影実行に関する指示としては、ライブビューボタン、動画撮影ボタン、レリーズボタンに対する操作等を例示することができる。ステップS804におけるユーザ指示が画像の再生を実行する指示である場合、再生処理を実行する(ステップS822)。再生処理としては、記録媒体に記録された画像をサムネイル表示する処理、ユーザにより指示された画像を表示する処理等を例示することができる。
【0076】
ステップS806、ステップS812、ステップS822の処理が完了すると、ステップS808に進み、電源をOFFするか否かを判断する。例えば、電源ボタンがOFF位置に切り替えられた場合や、電源がONされてから予め定められた期間、ユーザ指示無しの状態が継続した場合等に、電源をOFFすると判断する。電源をOFFすると判断した場合は動作を終了し、電源をOFFしないと判断した場合はステップ804に処理を移行させる。
【0077】
図3から図8に関連して、制御ユニット52が2つのプロセッサを有するとして説明した。しかし、制御ユニット52は3以上のプロセッサを有してよい。すなわち、制御ユニット52は、複数のプロセッサを有してよい。制御ユニット52が3以上のプロセッサを有する場合、1つのプロセッサを、システムメモリ57からSDRAM58へOSを転送するプロセッサとして適用し、他の2以上のプロセッサには、システムメモリ57上でOSの命令を実行させてよい。
【0078】
また、図3から図8において、特に図6において、制御ユニット52がSMP型のOSを動作させる場合を例示した。しかし、OSはAMP型であってもよい。この場合、第2プロセッサ320は、第1プロセッサ310用のOSを転送した後に、第1プロセッサ310が実行するOSとは異なるOSまたはプログラムを実行してよい。例えば、第2プロセッサ320は、画像データの符号化を実行するためのプログラム、外部接続IF56を通じてデータを記録媒体や外部機器等に出力するためのプログラムを実行してよい。
【0079】
一方、第1プロセッサ310は、OSの実行によって、撮像装置10における撮像動作を制御してよい。また、第1プロセッサ310は、表示ユニット53への表示を制御するなど、ユーザIFに関する動作を制御してよい。撮像動作の制御としては、レンズユニット20の制御、駆動制御部59、発光ユニット60の制御等を例示することができる。このように、システムメモリ57からOSを駆動する第1プロセッサ310が、高速なレスポンス性が要求される制御を担当することで、ユーザに対して高速な応答性を提供することができる。
【0080】
図9は、OSをSDRAM58に転送する動作フローの他の一例を示す。本例では、第1プロセッサ310が、OSの実行だけでなく、システムメモリ57からSDRAM58へOSを転送する処理を担う。例えば、OSがマルチタスクOSである場合、SDRAM58の実行をメインタスクとは異なるタスクで実行する。具体的には、第1プロセッサ310は、システムメモリ57上でOSを動作させながら、システムメモリ57からSDRAM58へOSを転送する転送タスクを実行する。第1プロセッサ310は、OSの実行を担当するメインタスクと転送タスクとを切り替えて、両タスクを並行して実行する。
【0081】
本動作フローは、電源ボタンがONされた場合に開始する。まず、第1プロセッサ310が、システムメモリ57から初期化コードを読み出して実行する(ステップS902)。具体的には、第2プロセッサ320のリセットを解除するなど、第2プロセッサ320に対する処理を除いて、ステップS602における動作と同様に動作する。ステップS902では、第1プロセッサ310は、ハードウェアの初期化、スタックポインタの設定、SDRAM58上への変数セクションの生成等の初期化を行う。
【0082】
続いて、第1プロセッサ310は、OSのスタートアップルーチンが格納されたシステムメモリ57内のアドレスにジャンプして、OSの実行を開始する(ステップS904)。具体的には、第1プロセッサ310は、システムメモリ57から逐次にOSの命令を読み出して、OSの実行を開始する。ここではOSの実行をするタスクを、メインタスクと呼ぶ。
【0083】
ここで、ステップS904内の処理として、第1プロセッサ310は転送タスクを生成する。そして、第1プロセッサ310は、転送タスクの動作を開始し(ステップS922)、ステップS904の処理と並行して実行する(ステップS924)。具体的には、第1プロセッサ310は、メインタスクとの間でタスク切り替えをしながら、バックグランドで転送タスクを実行する。
【0084】
続いて、第1プロセッサ310は、転送タスクによるOSの転送が完了すると、転送が完了した旨をメインタスクに通知する(ステップS926)。例えば、転送完了をタスク間通信により通知する。通知が完了すると、転送タスクは停止する(ステップS928)。
【0085】
メインタスクにおいて転送完了の通知を受けた場合に、第1プロセッサ310は、第1プロセッサ310の物理アドレス空間へのマッピングを切り替える切替コードを実行する(ステップS906)。具体的には、ステップS606と同様に、メモリ管理ユニット312のアドレス変換テーブルを変更する。そして、第1プロセッサ310は、ステップS908に進み、OSの実行を継続する。ステップS908においては、メモリ管理ユニット312によるアドレス変換により、OSの命令はSDRAM58の物理アドレス空間464から読み出される。
【0086】
なお、ステップS924において、第1プロセッサ310は、メインタスクよりも低い優先度で転送タスクを実行してよい。しかし、撮像モードがインターバル撮影に設定されている場合には、メインタスクよりも高い優先度で転送タスクを実行してもよい。その他、撮像モードが風景モードの場合等に、メインタスクよりも高い優先度で転送タスクを実行してもよい。このように、撮像装置10の撮像モードに応じた優先度で、転送タスクを実行してよい。なお、OSの転送には、DMA(Direct Memory Access)を適用してよい。
【0087】
本図において第1プロセッサ310がメインタスクおよび転送タスクを実行するとした。しかし、第1プロセッサ310は、メインタスクおよび転送タスク以外の他のタスクを並列に実行してよい。
【0088】
また、第1プロセッサ310が、OSの実行と、SDRAM58へOSを転送する処理とを実行するとした。この場合、第2プロセッサ320は、第1プロセッサ310が実行するOSとは異なるOSを動作してよい。第2プロセッサ320が実行するOSは、第1プロセッサ310が実行するOSとは異なる機能を提供してよい。
【0089】
以上の説明において、制御ユニット52がマルチプロセッサであるとした。しかし、制御ユニット52は、マルチコアプロセッサであってよい。マルチコアプロセッサの第1プロセッサコアが、上述した第1プロセッサ310の処理を実行し、マルチコアプロセッサの第2プロセッサコアが、上述した第2プロセッサ320の処理を実行してよい。
【0090】
また、制御ユニット52は、シングルプロセッサであってよい。例えば制御ユニット52が、OSを実行するプロセッサを一つ有する場合、当該プロセッサは、OSの命令を実行するタスクと、SDRAM58へOSを転送するタスクとを順次に切り替えて実行してよい。
【0091】
以上の説明においては、メモリ管理ユニット312によるアドレス変換によって、制御ユニット52のメモリ空間を切り替えるとした。しかし、メモリ空間を、バンク切り替えによって切り替えてもよい。すなわち、メモリ管理ユニット312は、SDRAM58へのOSの転送が完了した場合に、プロセッサのメモリ空間のうち、OSが格納されているシステムメモリ57に対応するメモリ空間を、バンク切り替えによりSDRAM58内のOSが転送されたメモリ空間に切り替えてよい。
【0092】
また、システムメモリ57も同様に、外部バスに接続された外部メモリであるとした。しかし、システムメモリ57は、制御ユニット52の内部に設けられた内部メモリであってよい。また、SDRAM58へ転送されるOSを格納する不揮発性メモリを、システムメモリ57とは別個に設けてもよい。
【0093】
本実施形態の撮像装置10に関連して説明した処理は、撮像装置10の各部、例えばプロセッサ等が、コンピュータプログラムに従って動作することにより、実現することができる。すなわち、当該処理を、いわゆるコンピュータ装置によって実現することができる。コンピュータ装置は、上述した処理の実行を制御するコンピュータプログラムをロードして、読み込んだコンピュータプログラムに従って動作して、当該処理を実行してよい。コンピュータ装置は、当該コンピュータプログラムを記憶しているコンピュータ読取可能な記録媒体を読み込むことによって、当該コンピュータプログラムをロードすることができる。
【0094】
本実施形態において、撮像装置10を取り上げて電子機器の一例を説明した。撮像装置としては、レンズ交換式の一眼レフレックスカメラ、コンパクトデジタルカメラ、ミラーレス一眼カメラ、ビデオカメラ、撮像機能付きの携帯電話機、撮像機能付きの携帯情報端末、撮像機能付きのゲーム機器等の娯楽装置、スキャナ、ファクシミリ等、撮像機能を有する機器を適用の対象とすることができる。また、電子機器は、例えば、テレビ、ビデオ、デジタルフォトフレーム、プロジェクタ装置、ゲーム機器等の娯楽装置等、画像の表示等を行う電子画像装置として実現されてよい。
【0095】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【0096】
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【符号の説明】
【0097】
10 撮像装置、11 光軸、20 レンズユニット、21 レンズ系、22 前玉、23 レンズ群、26 鏡筒、27 レンズ回路基板、29 レンズマウント、30 カメラユニット、31 カメラマウント、32 メインミラー、33 ピント板、34 メインミラー回転軸、35 測光光学系、36 撮像素子、37 ペンタプリズム、38 接眼光学系、39 測光素子、40 サブミラー、41 マウント部、42 合焦ユニット、43 フォーカルプレーンシャッタ、47 操作入力部、50 カメラ処理部、51 画像処理部、52 制御ユニット、53 表示ユニット、54 二次電池、55 表示制御部、56 外部接続IF、57 システムメモリ、58 SDRAM、59 駆動制御部、60 発光ユニット、61 発光部、62 反射板、63 フレネルレンズ、65 バッテリ、66 発光ユニット制御部、69 マウント部、71 レンズシステム制御部、72 レンズメモリ、73 レンズ駆動部、310 第1プロセッサ、320 第2プロセッサ、312、322 メモリ管理ユニット、314、324 実行部、316、326 キャッシュ、330 割り込みライン、410、412、420、422 論理アドレス空間、450、452、460、462、464 物理アドレス空間

【特許請求の範囲】
【請求項1】
プログラムを格納する不揮発性メモリと、
前記不揮発性メモリよりも読み出し速度が速い揮発性メモリと、
動作を開始した場合に、前記プログラムに含まれる命令を前記不揮発性メモリから逐次に読み出して実行するプロセッサ部と
を備え、
前記プロセッサ部は、前記不揮発性メモリから読み出した前記命令の実行に並行して前記不揮発性メモリから前記揮発性メモリへ前記プログラムを転送し、前記不揮発性メモリへの転送が完了した場合に、実行すべき命令の読み出し先を、前記不揮発性メモリから前記揮発性メモリに切り替える
電子機器。
【請求項2】
前記プロセッサ部は、前記揮発性メモリへの転送が完了した場合に、前記プロセッサ部のメモリ空間のうち、前記プログラムが格納されている前記不揮発性メモリに対応するメモリ空間を、前記揮発性メモリ内の前記プログラムが転送されたメモリ空間に切り替える
請求項1に記載の電子機器。
【請求項3】
前記プロセッサ部は、
前記命令を実行するプロセッサと、
前記揮発性メモリへの前記プログラムの転送が完了した場合に、前記プロセッサにマッピングされた論理的なメモリ空間のうち、前記プログラムが格納されている前記不揮発性メモリに対応するメモリ空間を、前記揮発性メモリ内の前記プログラムが転送されたメモリ空間にアドレス変換するメモリ管理部と
を有する請求項2に記載の電子機器。
【請求項4】
前記プログラムは、オペレーティングシステムであり、
前記プロセッサ部は、前記電子機器の起動時に、前記オペレーティングシステムに含まれる命令を前記不揮発性メモリから逐次に読み出して実行する
請求項1から3のいずれか一項に記載の電子機器。
【請求項5】
撮像部
をさらに備え、
前記プログラムは、前記プロセッサ部が前記撮像部を制御するための命令を含む
請求項4に記載の電子機器。
【請求項6】
レンズ装置
をさらに備え、
前記プログラムは、前記レンズ装置が有する1以上のレンズを前記プロセッサ部が制御するための命令を含む
請求項5に記載の電子機器。
【請求項7】
前記プロセッサ部は、前記電子機器の起動時に、前記電子機器の動作モードを示す情報を取得し、前記揮発性メモリへの前記プログラムの転送を優先させるか否かを取得した前記動作モードに基づいて判断し、前記プログラムの転送を優先させるべき場合に、前記プログラムに含まれる命令の実行に優先して、前記プログラムを前記揮発性メモリへ転送する
請求項5または6に記載の電子機器。
【請求項8】
前記プロセッサ部は、前記電子機器の起動時に、前記撮像部の撮像モードを示す情報を取得し、前記揮発性メモリへの前記プログラムの転送を優先させるか否かを取得した前記撮像モードに基づいて判断し、前記プログラムの転送を優先させるべき場合に、前記プログラムに含まれる命令の実行に優先して、前記プログラムを前記揮発性メモリへ転送する
請求項7に記載の電子機器。
【請求項9】
前記プロセッサ部は、前記撮像部の撮像モードが、予め設定されたインターバルで撮像を繰り返すインターバル撮影を行う撮像モードである場合に、前記プログラムに含まれる命令の実行に優先して前記プログラムを前記揮発性メモリへ転送し、前記インターバル撮影を行う撮像モードでない場合に、前記プログラムに含まれる命令を、前記揮発性メモリへのプログラムの転送に優先して実行する
請求項8に記載の電子機器。
【請求項10】
前記プロセッサ部は、第1プロセッサおよび第2プロセッサを有し、
前記第1プロセッサは、前記電子機器の起動時に、前記オペレーティングシステムに含まれる命令を前記不揮発性メモリから逐次に読み出して実行し、
前記第2プロセッサは、前記第1プロセッサによる前記命令の実行に並行して、前記揮発性メモリのうち前記第1プロセッサと共有するメモリ領域に、前記オペレーティングシステムを転送する
請求項4から9のいずれか一項に記載の電子機器。
【請求項11】
前記プロセッサ部は、マルチコアプロセッサであり、前記第1プロセッサは、前記マルチコアプロセッサの第1プロセッサコアであり、前記第2プロセッサは、前記マルチコアプロセッサの第2プロセッサコアである
請求項10に記載の電子機器。
【請求項12】
前記プロセッサ部は、前記オペレーティングシステムを実行するプロセッサを一つ有し、
前記オペレーティングシステムは、マルチタスク・オペレーティングシステムであり、
前記プロセッサは、前記オペレーティングシステムの命令を実行するタスクと、前記揮発性メモリへ前記オペレーティングシステムを転送するタスクとを順次に切り替えて実行する
請求項4から9のいずれか一項に記載の電子機器。
【請求項13】
前記プロセッサ部は、
プロセッサと、
前記揮発性メモリへの前記プログラムの転送が完了した場合に、前記プロセッサのメモリ空間のうち、前記プログラムが格納されている前記不揮発性メモリに対応するメモリ空間を、バンク切り替えにより前記揮発性メモリ内の前記プログラムが転送されたメモリ空間に切り替えるメモリ管理部と
を有する請求項1から3のいずれか一項に記載の電子機器。
【請求項14】
動作を開始した場合に、不揮発性メモリに格納されたコンピュータプログラムに含まれる命令を、前記不揮発性メモリから逐次に読み出して実行するステップと、
前記不揮発性メモリから読み出した前記命令の実行に並行して、前記不揮発性メモリよりも読み出し速度が速い揮発性メモリへ前記不揮発性メモリから前記コンピュータプログラムを転送するステップと、
前記不揮発性メモリへの転送が完了した場合に、実行すべき命令の読み出し先を、前記不揮発性メモリから前記揮発性メモリに切り替えるステップと
をコンピュータに実行させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2013−97715(P2013−97715A)
【公開日】平成25年5月20日(2013.5.20)
【国際特許分類】
【出願番号】特願2011−242417(P2011−242417)
【出願日】平成23年11月4日(2011.11.4)
【出願人】(000004112)株式会社ニコン (12,601)
【Fターム(参考)】