(57)【要約】【課題】揮発性メモリを備えた機器において、起動処理中の間、機器を利用できない。また、起動後に予定された処理しか実行されない場合でも全ての情報を読み出して起動処理を実行する必要がある。【解決手段】マイクロプロセッサと、揮発性メモリと、不揮発性メモリと、メモリ配置管理装置と、を備える機器におけるメモリ配置管理装置であって、機器は、揮発性メモリへの電力が遮断された第１状態と、揮発性メモリへの電力が供給された第２状態とを含み、マイクロプロセッサは、休止状態と稼動状態とを選択可能であって、メモリ配置管理装置は、第２状態かつ稼動状態から、第１状態かつ休止状態に遷移する前に、第１状態かつ稼動状態に遷移する場合に必要となる情報を不揮発性メモリ上に格納することを特徴とする。【選択図】図１
2011013836.tif 000002
【特許請求の範囲】
【請求項１】
マイクロプロセッサと、前記マイクロプロセッサに接続される揮発性メモリと、前記マイクロプロセッサに接続される不揮発性メモリと、前記マイクロプロセッサに接続されるメモリ配置管理装置と、を備える機器におけるメモリ配置管理装置であって、
前記マイクロプロセッサは、前記マイクロプロセッサの演算処理を実行する演算装置と、前記マイクロプロセッサの電源を管理する電源管理部と、外部の装置と接続するためのインタフェースと、を備え、
前記機器は、前記揮発性メモリへの電力が遮断された第１状態と、前記揮発性メモリへの電力が供給された第２状態とを含み、
前記マイクロプロセッサは、休止状態と稼動状態とを選択可能であって、
前記メモリ配置管理装置は、
前記第２状態かつ前記稼動状態から、前記第１状態かつ前記休止状態に遷移する前に、前記第１状態かつ前記稼動状態に遷移する場合に必要となる情報を前記不揮発性メモリ上に格納することを特徴とするメモリ配置管理装置。
【請求項２】
前記第１状態かつ前記休止状態に遷移する前に、前記第１状態かつ前記稼動状態に遷移する場合に必要となる情報を特定し、
前記特定された情報を前記不揮発性メモリ上に格納することを特徴とする請求項１に記載のメモリ配置管理装置。
【請求項３】
前記第２状態かつ前記稼動状態であるときに実行されるプログラムから、前記第１状態かつ前記稼動状態に遷移する場合に必要となる情報を取得し、
前記取得された情報が前記揮発性メモリ上に格納されている場合、前記取得された情報を前記不揮発メモリ上に転送することを特徴とする請求項２に記載のメモリ配置管理装置。
【請求項４】
前記取得された情報を前記揮発性メモリから前記不揮発性メモリに転送する場合に、前記取得された情報が前記揮発性メモリ上に格納されている場合にアクセスするためのアドレスと、前記取得された情報が前記不揮発性メモリ上に格納されている場合にアクセスするためのアドレスとが同一になるよう設定することを特徴とする請求項３に記載のメモリ配置管理装置。
【請求項５】
マイクロプロセッサと、前記マイクロプロセッサに接続される揮発性メモリと、前記マイクロプロセッサに接続される不揮発性メモリと、を備える機器におけるマイクロプロセッサであって、
前記マイクロプロセッサは、前記マイクロプロセッサの演算処理を実行する演算装置と、前記マイクロプロセッサの電源を管理する電源管理部と、外部の装置と接続するためのインタフェースと、前記揮発性メモリ及び前記不揮発性メモリ上の情報の配置を管理するメモリ配置管理装置と、を備え、
前記機器は、前記揮発性メモリへの電力が遮断された第１状態と、前記揮発性メモリへの電力が供給された第２状態とを含み、
前記マイクロプロセッサは、休止状態と稼動状態とを選択可能であって、
前記マイクロプロセッサは、
前記第２状態かつ前記稼動状態から、前記第１状態かつ前記休止状態に遷移する前に、前記第１状態かつ前記稼動状態に遷移する場合に必要となる情報を前記不揮発性メモリ上に格納し、
前記第１状態かつ前記休止状態から、前記第１状態かつ前記稼動状態に遷移した場合、前記不揮発性メモリに格納される情報のみを用いて起動処理を実行し、
前記起動処理が終了した後に、前記第２状態かつ前記稼動状態に遷移することを特徴とするマイクロプロセッサ。
【請求項６】
前記起動処理が終了した後に、前記第１状態かつ前記休止状態に遷移することを特徴とする請求項５に記載のマイクロプロセッサ。
【請求項７】
前記機器は、前記機器が各種処理を実行するために必要となる情報を格納する不揮発性記憶装置と接続され、
前記マイクロプロセッサは、前記起動処理実行時に、前記起動処理と並列して、前記不揮発性記憶装置から前記揮発性メモリ上に情報を書き出し、前記書き出された情報を用いて処理を実行するバックグラウンド起動処理を実行することを特徴とする請求項５に記載のマイクロプロセッサ。
【請求項８】
前記バックグランド処理が実行された場合、前記起動処理を一時停止し、
前記バックグランド処理が完了した後に前記起動処理を再開することを特徴とする請求項７に記載のマイクロプロセッサ。
【請求項９】
前記機器は、前記機器に電力を供給する主電力供給部と、前記主電力供給部による電力供給が停止した場合に前記機器に電力を供給する副電力供給部とを備え、
前記マイクロプロセッサは、前記主電力供給部を監視する電力供給監視部を備え、
前記マイクロプロセッサは、
前記電力供給監視部が前記主電力供給部からの電力供給が停止したことを検出した場合、前記副電力供給部を起動させ、前記第１状態かつ前記稼動状態に遷移する場合に必要となる情報を前記不揮発性メモリ上に格納することを特徴とする請求項５に記載のマイクロプロセッサ。
【請求項１０】
前記第１状態かつ前記稼動状態に遷移する場合に必要となる情報は、割り込み処理に必要となる情報であることを特徴とする請求項５に記載のマイクロプロセッサ。
【請求項１１】
前記第１状態かつ前記稼動状態に遷移する場合に必要となる情報は、予め設定された時刻に実行される処理に必要となる情報であることを特徴とする請求項５に記載のマイクロプロセッサ。
【請求項１２】
前記第１状態かつ前記稼動状態に遷移する場合に必要となる情報は、前記機器に予め設定された情報であることを特徴とする請求項５に記載のマイクロプロセッサ。
【請求項１３】
前記第１状態かつ前記稼動状態に遷移する場合に必要となる情報は、前記機器に入力される位置情報及び時刻情報に対応する情報であることを特徴とする請求項５に記載のマイクロプロセッサ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリ配置管理装置及びマイクロプロセッサに係り、特に不揮発性記憶領域を使ってソフトウェアを実行する技術に関する。
【背景技術】
【０００２】
マイクロプロセッサは、大型コンピュータだけでなく、携帯電話や薄型テレビ等、身近な家電機器にも組込まれ、広く利用されている。機器が高機能化するにつれ、マイクロプロセッサが実行するプログラムも大きくなっている。
【０００３】
マイクロプロセッサは、各種起動処理を実行しながら、利用者が電源を投入してから機器の機能を利用開始できるようにするために揮発性メモリへ前述したプログラムを読み出す必要があり、当該プログラムが大きくなるにつれて読み出し時間が長くなってきている。つまり、機器の起動時間が長くかかってしまう。
【０００４】
起動時間を短くするため、揮発性メモリだけでなく、ＮＯＲ型フラッシュメモリ等、不揮発性記憶領域を備える不揮発性メモリを機器に組み入れる工夫が行われている。
【０００５】
また、起動処理にかかる時間を短縮するため、起動が完了した段階における揮発性メモリ上に格納された内容を不揮発性メモリに保存しておき、再度、機器が起動される時に、マイクロプロセッサが、保存されている内容を連続的に読み出すことによって短時間で起動できるような工夫も行われている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平９−３１９６６７号
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかし、前述したような方法では、マイクロプロセッサは、電源を投入してから機器の利用を開始するために、揮発性メモリの記憶領域に実行するプログラムを読み出す必要があり、その読み出しには時間がかかるという問題があった。
【０００８】
また、前述したような方法では、起動後に特定の処理のみが実行され、すぐに終了してしまう場合でも、揮発性メモリに全てのプログラムが読み出される必要があり、余分な時間がかかるという問題がある。
【課題を解決するための手段】
【０００９】
本発明の代表的な一例を示せば、以下の通りである。すなわち、マイクロプロセッサと、前記マイクロプロセッサに接続される揮発性メモリと、前記マイクロプロセッサに接続される不揮発性メモリと、前記マイクロプロセッサに接続されるメモリ配置管理装置と、を備える機器におけるメモリ配置管理装置であって、前記マイクロプロセッサは、前記マイクロプロセッサの演算処理を実行する演算装置と、前記マイクロプロセッサの電源を管理する電源管理部と、外部の装置と接続するためのインタフェースと、を備え、前記機器は、前記揮発性メモリへの電力が遮断された第１状態と、前記揮発性メモリへの電力が供給された第２状態とを含み、前記マイクロプロセッサは、休止状態と稼動状態とを選択可能であって、前記メモリ配置管理装置は、前記第２状態かつ前記稼動状態から、前記第１状態かつ前記休止状態に遷移する前に、前記第１状態かつ前記稼動状態に遷移する場合に必要となる情報を前記不揮発性メモリ上に格納することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、起動処理にかかる時間を短縮できる。また、消費電力を低減することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の第１の実施形態におけるマイクロプロセッサを備える機器の構成例を示すブロック図である。
【図２】本発明の第１の実施形態の設定レジスタを示す説明図である。
【図３】本発明の第１の実施形態の高速起動処理プログラムの処理を説明するフローチャートである。
【図４】本発明の第２の実施形態におけるマイクロプロセッサをそなえる機器の装置例を示すブロック図である。
【図５】従来のマイクロプロセッサを備える機器の構成例を示すブロック図である。
【図６】従来の起動処理プログラムの処理の一例を説明するフローチャートである。
【発明を実施するための形態】
【００１２】
まず、図５及び図６を用いて従来の技術について説明する。
【００１３】
図５は、従来のマイクロプロセッサを備える機器の構成例を示すブロック図である。
【００１４】
機器５０３は、揮発性メモリ１０２、ストレージ１０５、ストレージ制御部１０７、不揮発性メモリ１０８、読出専用メモリ１０９、及びマイクロプロセッサ５０４を備える。前述の各構成は、バス１２６を介して相互に接続され、相互に必要なデータをやりとりできる。なお、機器５０３が機能するために必要なプログラムは、ストレージ１０５に格納される。
【００１５】
揮発性メモリ１０２は、高速に読み出し及び書き込みが可能な記憶領域である。なお、機器５０３の電源が切られた場合、揮発性メモリ１０２に格納される内容は、消去される。
【００１６】
ストレージ１０５は、機器５０３が機能するために必要なプログラムを格納する。ストレージ１０５は、読み出し及び書き込みは遅いが、大容量の記憶領域を備える。なお、機器５０３の電源が切られた場合であっても、ストレージ１０５に格納される内容は、保持される。
【００１７】
不揮発性メモリ１０８は、高速に読み出し及び書き込みが可能な記憶領域である。なお、機器５０３の電源が切られた場合であっても、不揮発性メモリ１０８に格納されている内容は、保持される。
【００１８】
揮発性メモリ１０２及び不揮発性メモリ１０８上には、マイクロプロセッサ５０４が処理を実行するために必要となるプログラム等を展開するための主記憶領域１１０が割り当てられている。
【００１９】
読出専用メモリ１０９は、高速に読み出しが可能だが、書き込みができない又は書き込みが遅い記憶領域である。
【００２０】
マイクロプロセッサ５０４は、バスＩ／Ｆ１０６、演算コア１１６、及び電源管理部１１７を備える。
【００２１】
演算コア１１６は、マイクロプロセッサ５０４が行う演算処理を実行する演算回路である。演算コア１１６は、バスＩ／Ｆ１０６を介して揮発性メモリ１０２、不揮発性メモリ１０８、読出専用メモリ１０９、及びストレージ１０５に対する読み出し又は書き込みと並列して各種処理を実行する。
【００２２】
また、演算コア１１６はキャッシュ１０１を備え、キャッシュ１０１には揮発性メモリ１０２又は不揮発性メモリ１０８から読み出された内容の一部が格納される。
【００２３】
起動時において、読出専用メモリ１０９に格納された起動処理プログラム５１２が実行され、機器５０３が機能するために必要なプログラムが、揮発性メモリ１０２及び不揮発性メモリ１０８上に割り当てられた主記憶領域１１０に読み出されて、起動処理が実行される。
【００２４】
図５に示す例では、不揮発性メモリ１０８上の主記憶領域１１０にプログラムＡ１１４が読み出され、揮発性メモリ１０２上の主記憶領域１１０にプログラムＢ１１３が読み出され、マイクロプロセッサ５０４がそれぞれのプログラムを実行する。
【００２５】
電源管理部１１７は、マイクロプロセッサ１０４内の電源を管理し、演算コア１１６とバスＩ／Ｆ１０６の機能を維持する。
【００２６】
図６は、従来の起動処理プログラム５１２の処理の一例を説明するフローチャートである。
【００２７】
マイクロプロセッサ５０４は、主記憶領域１１０に退避領域１１９から実行プログラムを読み出す（ステップ６０１）。
【００２８】
ステップ６０１において、機器５０３の電源が切れた後、図５に示す状態で処理を開始するためには、揮発性メモリ１０２に格納されていたプログラムＢ１１３が読出される必要がある。
【００２９】
マイクロプロセッサ５０４は、読み出された実行プログラムを実行する（ステップ６０２）。
【００３０】
前述した起動処理において、マイクロプロセッサ５０４は、揮発性メモリ１０２と不揮発性メモリ１０８とを一括して取り扱っているため、機器５０３への電源投入後、プログラムＢ１１３を実行するか否かによらず、ステップ６０１においてプログラムＢ１１３を読み出さなければならない。したがって、機器５０３が処理を開始するまでに時間がかかる。
【００３１】
［第１の実施形態］
図１、図２及び図３を用いて、本発明の第１の実施形態を説明する。
【００３２】
図１は、本発明の第１の実施形態におけるマイクロプロセッサを備える機器の構成例を示すブロック図である。
【００３３】
以下、図５に示す従来の機器の構成との差異を中心に説明する。
【００３４】
マイクロプロセッサ１０４は、従来のマイクロプロセッサ５０４と比較して、メモリ配置管理部１１１をさらに備える。
【００３５】
メモリ配置管理部１１１は、設定レジスタ１１５を備え、マイクロプロセッサ１０４の指示によって揮発性メモリ１０２及び不揮発性メモリ１０８に格納された内容を管理する機能を備える。
【００３６】
また、メモリ配置管理部１１１は、電源断時に、揮発性メモリ１０２及び不揮発性メモリ１０８に格納された内容をストレージ１０５内に確保された退避領域１１９に退避させる機能を備える。
【００３７】
なお、本実施形態において、電源断には、機器１０３の全ての構成要素への電源供給を遮断して状態と、少なくとも揮発性メモリ１０２への電源供給を遮断している状態（省電力状態）とを含む。また、マイクロプロセッサ１０４の状態としては、稼動状態と休止状態とを含む。
【００３８】
また、メモリ配置管理部１１１は、揮発性メモリ１０２及び不揮発性メモリ１０８に割り当てられた物理アドレスと、プログラム等に割り当てられた仮想アドレスとを管理し、マイクロプロセッサ５０４が揮発性メモリ１０２及び不揮発性メモリ１０８にアクセスするための仮想アドレスを書き換える機能を備える。
【００３９】
当該機能によって、揮発性メモリ１０２及び不揮発性メモリ１０８に対する読み出し又は書き込み時に、演算コア１１６自身がどちらの記憶領域（揮発性メモリ１０２又は不揮発性メモリ１０８）に対する読み出し又は書き込みであるかを意識させることなく、記憶領域を移動、又は置き換えることができる。
【００４０】
なお、メモリ配置管理部１１１は、各物理アドレスに対する読み出し又は書き込みの応答速度等から、揮発性メモリ１０２に割り当てられた物理アドレスと不揮発性メモリ１０８に割り当てられた物理アドレスとを区別して管理する。
【００４１】
読出専用メモリ１０９は、高速起動処理プログラム１１２を格納する。なお、高速起動処理プログラム１１２の詳細については、図３を用いて後述する。
【００４２】
主記憶領域１１０は、起動時情報取得アプリ１１８を格納する。起動時情報取得アプリ１１８は、演算コア１１６上で実行されるプログラムである。
【００４３】
具体的には、起動時情報取得アプリ１１８は、稼動している機器１０３の電源断後、再度電源投入された後に必要となるプログラムを特定し、特定されたプログラムを実行するために必要なメモリ領域を、起動時情報テーブル１２０及び設定レジスタ１１５に書き込むプログラムである。
【００４４】
設定レジスタ１１５に書き込まれるプログラムは、機器１０３が実行する処理によって異なる。機器１０３の特性に応じて予め設定する場合、ユーザ要求に応じて設定する場合、又は、プログラムの使用頻度によって設定する場合等様々考えられる。
【００４５】
例えば、起動時情報取得アプリ１１８によって、設定レジスタ１１５に書き込まれるプログラムとしては以下の４つが考えられる。
【００４６】
（１）ハードウェアないしソフトウェア割込に対応して即座に実行される必要のあるプログラム。例えば、携帯電話における通話着信割込に対応して実行される必要のある通話プログラムが考えられる。
【００４７】
（２）一定周期、利用者によって指定された時刻、又は前回の起動時刻から算出された時刻等、指定時刻に起動処理を実行するために必要のあるプログラム。
例えば、ＨＤＤレコーダにおいて実行される時刻合わせプログラムや、予約録画プログラムなど、一定の処理を行ったのち、また電源断処理を行うものが考えられる。
【００４８】
（３）利用者の操作に対応した一連のプログラム。
例えば、利用者によって、実行されていたプログラムと、当該プログラムと関連するプログラムが考えられる。
【００４９】
（４）時刻情報や位置情報等、センサから入力される情報に対応したプログラム。
例えば、ナビゲーションシステムにおける、場所や時刻に応じたプログラムが考えられる。
【００５０】
起動時情報テーブル１２０は、機器１０３の電源が切られた後においても、設定レジスタ１１５に書き込まれる内容と同一の内容を保持するための記憶領域であり、不揮発性メモリ１０８上に配置される。なお、起動時情報テーブル１２０の構造は、設定レジスタ１１５と同一であるため省略する。
【００５１】
図２は、本発明の第１の実施形態の設定レジスタ１１５を示す説明図である。
【００５２】
行２０４及び行２０５は、それぞれプログラムによって確保されているメモリ領域を表す。図２で示す例では行数は２行のみであるが、行数は設定レジスタ１１５の仕様に依存し、行数はこれに限定されるものではない。設定レジスタ１１５は、２行以外の行数であってもよい。
【００５３】
各行のメモリ領域は、起動時必要メモリ領域アドレス２０１、起動時必要メモリ領域サイズ２０２、及び優先度２０３から構成される。
【００５４】
起動時必要メモリ領域アドレス２０１は、起動時情報取得アプリ１１８によって特定されたプログラムが格納されるメモリ領域の先頭アドレスを格納する。図２に示す例において、行２０４の起動時必要メモリ領域アドレス２０１が「０ｘ１２３４５６７８」であることを示し、行２０５の起動時必要メモリ領域アドレス２０１が「０ｘ２３４５６７８９」であることを示している。
【００５５】
起動時必要メモリ領域サイズ２０２は、メモリ領域のサイズを格納する。
【００５６】
優先度２０３は、起動時必要メモリ領域アドレス２０１に格納されるプログラムが、機器１０３の起動後、必要になるまでの予測時間を格納する。
【００５７】
例えば、起動時必要メモリ領域アドレス２０１が「０ｘ１２３４５６７８」であるメモリ領域の優先度２０３は「０ｘ１５」であり、機器１０３の起動後、「０ｘ１５」時間単位後に当該メモリ領域に格納されるプログラムが必要になることを示している。
【００５８】
また、起動時必要メモリ領域アドレス２０１が「０ｘ２３４５６７８９」であるメロリ領域の優先度２０３は「０ｘ１０」であり、機器１０３の起動後、「０ｘ１０」時間単位後に当該メモリ領域に格納されるプログラムが必要になることを示している。
【００５９】
図２に示す例では、起動時必要メモリ領域アドレス２０１が「０ｘ２３４５６７８９」であるメロリ領域が、「０ｘ１２３４５６７８」であるメモリ領域より優先度が高いことを示している。
【００６０】
図３は、本発明の第１の実施形態の高速起動処理プログラム１１２の処理を説明するフローチャートである。
【００６１】
マイクロプロセッサ１０４は、不揮発性メモリ１０８上に任意の処理を実行するために必要となるプログラム（以下、指定プログラムとも記載する。）があるか否かを判定する（ステップ３０１）。
【００６２】
不揮発性メモリ１０８上に指定プログラムがあると判定された場合、マイクロプロセッサ１０４は、実行される処理が、電源断が予定された処理であり、電源断までに必要となるプログラムが不揮発性メモリ１０８に格納されているか否かを判定する（ステップ３０２）。当該判定は、起動時情報テーブル１２０を参照することによって実行される。
【００６３】
ステップ３０２の判定条件を満たすと判定された場合、マイクロプロセッサ１０４は、指定プログラムの実行を開始する（ステップ３０３）。
【００６４】
指定プログラムの実行が完了された後（ステップ３０４）、マイクロプロセッサ１０４は、起動時情報取得アプリ１１８を介して、メモリ配置管理部１１１に、次回の機器１０３の起動時に必要となるプログラムを指示する（ステップ３０５）。
【００６５】
メモリ配置管理部１１１から、次回の機器１０３の起動時に必要となるプログラムの不揮発性メモリ１０８への配置の完了通知を受信したマイクロプロセッサ１０４は、機器１０３の電源を遮断し（ステップ３０６）、処理を終了する。
【００６６】
ステップ３０２において、ステップ３０２の判定条件を満たさないと判定された場合、マイクロプロセッサ１０４は、バックグランドでの起動処理を開始する（ステップ３０７）。また、マイクロプロセッサ１０４は、バックグランドでの起動処理と並行して、プログラムの実行を開始する。
【００６７】
具体的には、マイクロプロセッサ１０４は、起動処理に必要となるプログラムをストレージ１０５から揮発性メモリ１０２に読み出し、読み出されたプログラムを実行する。
【００６８】
プログラムの実行が完了した後、マイクロプロセッサ１０４は、ステップ３１２に進む。
【００６９】
ステップ３０１において、不揮発性メモリ１０８上に指定プログラムがないと判定された場合、マイクロプロセッサ１０４は、退避領域１１９から指定プログラムを読み出し（ステップ３１０）、読み出された指定プログラムを実行する（ステップ３１１）。
【００７０】
指定プログラムの実行が完了した後、マイクロプロセッサ１０４は、機器１０３の電源断が予定されているか否かを判定する（ステップ３１２）。
【００７１】
機器１０３の電源断が予定されていないと判定された場合、マイクロプロセッサ１０４は、処理を終了する。
【００７２】
機器１０３の電源断が予定されていると判定された場合、マイクロプロセッサ１０４は、起動時情報取得アプリ１１８を介して、メモリ配置管理部１１１に、次回の機器１０３の起動時に必要となるプログラムを指示する（ステップ３１３）。
【００７３】
メモリ配置管理部１１１から、次回の機器１０３の起動時に必要となるプログラムの不揮発性メモリ１０８への配置の完了通知を受信したマイクロプロセッサ１０４は、機器１０３の電源を遮断し（ステップ３１４）、処理を終了する。
【００７４】
本発明の第１の実施形態によれば、マイクロプロセッサ１０４は、揮発性メモリ１０２への指定プログラムの読み出しを待つことなく、起動処理を開始できる。また、機器１０３の起動後に実行されるプログラムが特定されているため、マイクロプロセッサ１０４は、余分な起動処理の実行を除くことができる。
【００７５】
なお、本発明は、前述した場合に限定されず、機器１０３、プログラム、又はアプリケーション等の特性に応じて変更可能である。
【００７６】
例えば、前記実施形態では、起動時情報テーブル１２０を不揮発性メモリ１０８上に配置したが、不揮発性メモリに設定レジスタ１１５を構成し、設定レジスタ１１５が起動時情報テーブル１２０と同一の機能を実施することができる。
【００７７】
［第２の実施形態］
次に、本発明の第２の実施形態について説明する。
【００７８】
図４は、本発明の第２の実施形態におけるマイクロプロセッサ１０４をそなえる機器の装置例を示すブロック図である。以下、第１の実施形態との差異を中心に説明する。
【００７９】
機器４０３は、揮発性メモリ１０２、ストレージ１０５、ストレージ制御部１０７、不揮発性メモリ１０８、読出専用メモリ１０９、マイクロプロセッサ４０４、副電源供給部４１９、及び主電源供給部４２０を備える。前述の各構成は、バス１２６を介して相互に接続され、相互に必要なデータをやりとりできる。
【００８０】
主電源供給部４２０は、バス１２６を介して、マイクロプロセッサ４０４及びメモリ配置管理部４１１と接続され、信号をやりとりしている。
【００８１】
副電源供給部４１９も同様に、バス１２６を介して、マイクロプロセッサ４０４及びメモリ配置管理部４１１と接続され、信号をやりとりしている。また、副電源供給部４１９は、主電源供給部４２０が電源を供給しているか否かを監視している。
【００８２】
マイクロプロセッサ４０４は、副電源供給部４１９と連携することによって、主電源供給部４２０からの電力供給の遮断を検出することができる。
【００８３】
具体的には、副電源供給部４１９が、主電源供給部４２０が電源供給を中断したことを検出すると、主電源供給部４２０に代わって一時的にバス１２６、マイクロプロセッサ４０４、揮発性メモリ１０２、及び不揮発性メモリ１０８に対して電源を供給すると同時に、メモリ配置管理部４１１に対して主電源供給部４２０が電源供給を中断したことを伝える信号を送信する。
【００８４】
メモリ配置管理部４１１は、副電源供給部４１９から前述の信号を受信すると、主電源供給部４２０からの電力供給が遮断されたことを判定し、稼動している機器４０３の電源断後、再度電源投入された後に必要となるプログラムを不揮発性メモリ１０８に移動させる。
【００８５】
本発明の第２の実施形態によれば、主電源供給部４２０が電源の供給をできなくなっても、機器４０３の電源投入後に必要となるプログラムが不揮発性メモリ１０８に配置されているため、マイクロプロセッサ４０４は、揮発性メモリ１０２にプログラムを読み出す待ち時間が削減され、素早く起動することができる。
【符号の説明】
【００８６】
１０１  キャッシュ
１０２  揮発性メモリ
１０３  機器
１０４  マイクロプロセッサ
１０５  ストレージ
１０６  バスＩ／Ｆ
１０７  ストレージ制御部
１０８  不揮発性メモリ
１０９  読出専用メモリ
１１０  主記憶領域
１１１  メモリ配置管理部
１１２  高速起動処理プログラム
１１３  プログラムＢ
１１４  プログラムＡ
１１５  設定レジスタ
１１６  演算コア
１１７  電源管理部
１１８  起動時情報取得アプリ
１１９  退避領域
１２０  起動時情報テーブル
１２６  バス
２０１  起動時必要メモリ領域アドレス
２０２  起動時必要メモリ領域サイズ
２０３  優先度
２０４  行
２０５  行
４０３  機器
４０４  マイクロプロセッサ
４１１  メモリ配置管理部
４１９  副電源供給部
４２０  主電源供給部
５０３  機器
５０４  マイクロプロセッサ
５１２  起動処理プログラム
【図１】
2011013836.tif 000003
【図２】
2011013836.tif 000004
【図３】
2011013836.tif 000005
【図４】
2011013836.tif 000006
【図５】
2011013836.tif 000007
【図６】
2011013836.tif 000008