(57)【要約】      （修正有）【課題】マルチコアプロセッサを有する情報処理装置において、カーネル機能によるハイバネーション起動の高速化を図る。【解決手段】情報処理装置で稼働するシステムの中断要求が発生すると、メモリ103の記憶状態、周辺機器のレジスタ値、および、CPU101のレジスタ値を表すデータがハイバネーションイメージ202として不揮発性記憶装置105に格納される。システムの起動要求が発生すると、不揮発性記憶装置105において、有効なハイバネーションイメージ202が利用可能か否かが判定される。利用可能と判定されると、ブートコアは複数のスレーブコアの一部を初期化し、ブートコアおよび/またはスレーブコアは周辺機器の初期化を行うことで、システムのカーネル初期化を行う。カーネル初期化後、有効なハイバネーションイメージ202に基づき、メモリ103の記憶状態、周辺機器のレジスタ値、および、CPU101のレジスタ値が復元される。【選択図】図２
2015156205.tif 000002
【特許請求の範囲】
【請求項１】
ハイバネーションが可能な情報処理装置であって、
ブートコアと複数のスレーブコアを有するプロセッサと、
揮発性メモリと、
不揮発性メモリと、
前記装置で稼働するシステムの中断要求が発生すると、前記揮発性メモリの記憶状態、前記装置の少なくとも一つの周辺機器のレジスタ値、および、前記プロセッサのレジスタ値を表すデータをハイバネーションイメージとして前記不揮発性メモリに格納する保持制御手段と、
前記システムの起動要求が発生すると、前記不揮発性メモリにおいて、有効なハイバネーションイメージが利用可能か否かを判定する復帰制御手段とを有し、
前記有効なハイバネーションイメージが利用可能と判定された場合、前記ブートコアは前記複数のスレーブコアの一部を初期化し、前記ブートコアおよび/または前記初期化されたスレーブコアは前記少なくとも一つの周辺機器の初期化を行うことで、前記システムのカーネル初期化を行い、
前記カーネル初期化の後、前記復帰制御手段は、前記有効なハイバネーションイメージに基づき前記揮発性メモリの記憶状態、前記少なくとも一つの周辺機器のレジスタ値、および、前記プロセッサのレジスタ値を復元する情報処理装置。
【請求項２】
前記有効なハイバネーションイメージが利用できないと判定された場合、前記ブートコアは前記複数のスレーブコアを初期化し、前記ブートコアおよび/または前記初期化されたスレーブコアは前記少なくとも一つの周辺機器の初期化を行うことで、前記カーネル初期化を行う請求項1に記載された情報処理装置。
【請求項３】
前記復帰制御手段は、前記有効なハイバネーションイメージに基づき、前記中断要求に応じて前記複数のスレーブコアを停止した前の、前記メモリの記憶状態、前記少なくとも一つの周辺機器のレジスタ値、および、前記プロセッサのレジスタ値を復元する請求項1または請求項2に記載された情報処理装置。
【請求項４】
さらに、前記ブートコアが初期化する前記スレーブコアの数を制御する初期化制御手段を有する請求項1から請求項3の何れか一項に記載された情報処理装置。
【請求項５】
さらに、前記初期化するスレーブコアの数を示すユーザ指示を入力する入力手段を有し、
前記初期化制御手段は、前記ユーザ指示が示す数のスレーブコアが初期化されるように、前記ブートコアを制御する請求項4に記載された情報処理装置。
【請求項６】
前記ハイバネーションイメージは、当該ハイバネーションイメージが有効であるか否かを示す識別情報を含み、前記復帰制御手段は、前記不揮発性メモリから読み出した前記ハイバネーションイメージの識別情報に基づき前記判定を行う請求項1から請求項5の何れか一項に記載された情報処理装置。
【請求項７】
さらに、前記揮発性メモリと前記不揮発性メモリにアクセスするダイレクトメモリアクセスコントローラを有し、
前記ブートコアは、前記復帰制御手段による前記判定の前に、前記ダイレクトメモリアクセスコントローラを初期化する請求項6に記載された情報処理装置。
【請求項８】
前記復帰制御手段は、前記ダイレクトメモリアクセスコントローラを介して前記識別情報にアクセスし、前記判定を行う請求項7に記載された情報処理装置。
【請求項９】
前記復帰制御手段は、前記カーネル初期化と並行して、前記有効なハイバネーションイメージを前記揮発性メモリにロードする能力を有する請求項4または請求項5に記載された情報処理装置。
【請求項１０】
前記揮発性メモリにロードされたハイバネーションイメージがデータ圧縮されている場合、前記初期化制御手段は、前記少なくとも一つの周辺機器の初期化と前記圧縮されたハイバネーションイメージの伸長に必要なスレーブコアの数を前記初期化するスレーブコアの数として設定する請求項9に記載された情報処理装置。
【請求項１１】
前記復帰制御手段は、前記初期化されたスレーブコアを制御して、前記少なくとも一つの周辺機器の初期化と並行して前記圧縮されたハイバネーションイメージの伸長を行う請求項10に記載された情報処理装置。
【請求項１２】
前記システムの中断要求が発生すると、前記ブートコアは、前記少なくとも一つの周辺機器のレジスタ値および前記プロセッサのレジスタ値を前記揮発性メモリに格納し、
前記保持制御手段は、前記揮発性メモリの記憶状態を表すデータを前記ハイバネーションイメージとして前記不揮発性メモリに格納する請求項1から請求項11の何れか一項に記載された情報処理装置。
【請求項１３】
ハイバネーションが可能であり、ブートコアと複数のスレーブコアを有するプロセッサ、揮発性メモリ、および、不揮発性メモリを有する情報処理装置の制御方法であって、
前記装置で稼働するシステムの中断要求が発生すると、保持制御手段が、前記揮発性メモリの記憶状態、前記装置の少なくとも一つの周辺機器のレジスタ値、および、前記プロセッサのレジスタ値を表すデータをハイバネーションイメージとして前記不揮発性メモリに格納し、
前記システムの起動要求が発生すると、復帰制御手段が、前記不揮発性メモリにおいて、有効なハイバネーションイメージが利用可能か否かを判定し、
前記有効なハイバネーションイメージが利用可能と判定された場合、前記ブートコアが前記複数のスレーブコアの一部を初期化し、前記ブートコアおよび/または前記初期化されたスレーブコアが前記少なくとも一つの周辺機器の初期化を行うことで、前記システムのカーネル初期化が行われ、
前記カーネル初期化の後、前記復帰制御手段が、前記有効なハイバネーションイメージに基づき前記揮発性メモリの記憶状態、前記少なくとも一つの周辺機器のレジスタ値、および、前記プロセッサのレジスタ値を復元する制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ハイバネーションが可能な情報処理装置およびその制御方法に関する。
【背景技術】
【０００２】
近年、情報処理装置の待機状態における消費電力を低減するハイバネーションが注目されている。ハイバネーションは、システムの中断・再開を行うための機能である。例えば、情報処理装置のシステムが稼働している状態で、メモリ、マイクロプロセッサのレジスタ、周辺機器などのデバイスに記憶された情報を、ハードディスクなどの不揮発性記憶装置に退避する。退避された情報は「ハイバネーションイメージ」と呼ばれる。この退避後、情報処理装置の電源が切られる。次回、情報処理装置の電源がオンされた際は、不揮発性記憶装置に退避させたハイバネーションイメージを読み込み、前記メモリ、レジスタ、周辺機器の情報を復帰することで、システムを情報処理装置の電源オフ前と同じ状態に復帰させる。以下、このようなハイバネーションによってシステムの起動を行うことを「ハイバネーション起動」と称する。また、ハイバネーションは、システムの起動時間5の短縮を目的として用いられることもある。
【０００３】
ハイバネーション起動の方式は、大きく以下の二種類に分類される。BIOS (basic IO system)機能もしくはブートローダ機能によりハイバネーション起動を行う方式と、オペレーティングシステム(OS)のカーネル機能によりハイバネーション起動を行う方式である。
【０００４】
カーネル機能によるハイバネーション起動は、カーネル初期化を行った後に、不揮発性記憶装置に記憶されたハイバネーションイメージを読み込むことで、電源オフ前のシステムの状態を復元する。カーネル機能によるハイバネーション起動は、BIOS機能によるハイバネーション起動と比較すると、通常の起動シーケンスが実行されて周辺機器が初期化されるため、汎用性に優れる。
【０００５】
しかし、カーネル機能によるハイバネーション起動は、BIOS機能やブートローダ機能によるハイバネーション起動と比較すると、起動シーケンスの実行に伴う処理時間を必要とし、起動時間が長くなる。
【０００６】
また、近年の情報処理装置には、複数のコアから成るマルチコアプロセッサを用いたマルチコア・システムや、複数のプロセッサを有するマルチプロセッサ・システムが用いられる。以下では、マルチコアプロセッサ・システムにおいて、BIOSやUEFI (unified extensible firmware interface)によって初期化されるコアを「ブートコア」、その他のコアを「スレーブコア」と称する。マルチコアプロセッサ・システムにおいて、システム起動時にスレーブコアを用いてプログラムの実行を行うことで、起動時間の短縮を図る方法が提案されている。
【０００７】
しかし、マルチコアプロセッサ・システムのスレーブコアを用いる起動方法は、コア数がある程度多くなると初期化部の並列度に限界が生じて、起動時間を短縮するにも限界がある。さらに、スレーブコア自体の初期化にも時間を要するため、コア数が多いほど起動時間を短縮することが難しくなる。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開2009-301319号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
本発明は、マルチコアプロセッサを有する情報処理装置において、カーネル機能によるハイバネーション起動の高速化を目的とする。
【課題を解決するための手段】
【００１０】
本発明は、前記の目的を達成する一手段として、以下の構成を備える。
【００１１】
本発明にかかる情報処理装置は、ハイバネーションが可能な情報処理装置であって、ブートコアと複数のスレーブコアを有するプロセッサと、揮発性メモリと、不揮発性メモリと、前記装置で稼働するシステムの中断要求が発生すると、前記揮発性メモリの記憶状態、前記装置の少なくとも一つの周辺機器のレジスタ値、および、前記プロセッサのレジスタ値を表すデータをハイバネーションイメージとして前記不揮発性メモリに格納する保持制御手段と、前記システムの起動要求が発生すると、前記不揮発性メモリにおいて、有効なハイバネーションイメージが利用可能か否かを判定する復帰制御手段とを有し、前記有効なハイバネーションイメージが利用可能と判定された場合、前記ブートコアは前記複数のスレーブコアの一部を初期化し、前記ブートコアおよび/または前記初期化されたスレーブコアは前記少なくとも一つの周辺機器の初期化を行うことで、前記システムのカーネル初期化を行い、前記カーネル初期化の後、前記復帰制御手段は、前記有効なハイバネーションイメージに基づき前記揮発性メモリの記憶状態、前記少なくとも一つの周辺機器のレジスタ値、および、前記プロセッサのレジスタ値を復元する。
【発明の効果】
【００１２】
本発明によれば、マルチコアプロセッサを有する情報処理装置において、カーネル機能によるハイバネーション起動を高速に行うことが可能となる。
【図面の簡単な説明】
【００１３】
【図１】実施例の情報処理装置の構成例を示すブロック図。
【図２】ハイバネーション機能の構成例を示すブロック図。
【図３】システム中断処理とハイバネーションイメージの生成処理を示すフローチャート。
【図４】システム復帰にかかる、カーネル処理を示すフローチャート。
【図５】ハイバネーション起動処理を示すフローチャート。
【発明を実施するための形態】
【００１４】
以下、添付の図面を参照して、本発明をその好適な実施例に基づいて詳細に説明する。なお、以下の実施例において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
【００１５】
［装置構成］
図1に実施例における情報処理装置100の構成例を示す。マイクロプロセッサ(CPU)101や、ダイレクトメモリアクセスコントローラ(DMAC)102は、ダイナミックランダムアクセスメモリ(DRAM)によって構成される揮発性のメモリ103に対してデータの読み書きを行う。なお、メモリ103を構成するDRAMには、DDR SDRAM (Double-Data-Rate Synchronous Dynamic Random Access Memory)などが含まれる。また、DMAC102は、ダイレクトメモリアクセスによってメモリ103、不揮発性記憶装置105、周辺機器108、109のレジスタなどにアクセスすることができる。
【００１６】
入出力(I/O)コントローラ104は、CPU101やDMAC102などの要求に基づいて、シリアルATAなどのインタフェイスを介して、不揮発性メモリである不揮発性記憶装置105に対する読み書きを行う。なお、不揮発性記憶装置105は、フラッシュメモリ、ハードディスクドライブ(HDD)、ソリッドステートドライブ(SSD)などである。
【００１７】
情報処理装置100は、PCIバス106を介して接続されるグラフィックアクセラレータカードなどの周辺機器108や、USB107を介して接続されるスキャナ、プリンタなどの周辺機器109を利用することができる。これら周辺機器108、109は、CPU101によって初期化され、それぞれ、自身の状態を保持するステータスレジスタや処理に用いる値（処理パラメータや処理モードを示す値）を保持するコンフィギュレーションレジスタを備える。もちろん、周辺機器は二台に限らず、一台でも、三台以上あってもよい。
【００１８】
グラフィックアクセラレータカードなどの周辺機器108にはモニタ110が接続され、CPU101によってユーザインタフェイス(UI)などがモニタ110に表示される。また、USB107には、さらにキーボード、ポインティングデバイスなどの入力装置111が接続され、入力装置111を介して様々なユーザ指示がCPU101に入力される。なお、情報処理装置100は、モニタ110と入力装置111を積層したタッチパネルを備えるタブレットデバイスやスマートフィンとして構成されていてもよい。
【００１９】
CPU101は、不揮発性記憶装置105に格納されたプログラムコードをメモリ103にロードし、メモリ103からプログラムコードをフェッチして後述の処理を実行する。CPU101は、複数のプロセッサコアから成るマルチコアプロセッサである。情報処理装置100において稼働するシステムのカーネルの初期化は、BIOSまたはUEFIによって初期化される特定のプロセッサコア（ブートコア101a）を主に用いて行われる。なお、ブートコア101aを除くその他のプロセッサコアがスレーブコア101bである。
【００２０】
［ハイバネーション］
本実施例の情報処理装置100はハイバネーション機能を有する。上述したようにハイバネーションは、情報処理装置100の電源オフ前に情報処理装置100で稼働するシステムの実行時のシステム状態9を保存し、情報処理装置100の電源が次にオンされると、該保存したシステム状態を復元する技術である。保存・復元されるシステム状態を示すデータがハイバネーションイメージである。なお、ハイバネーションイメージは不揮発性記憶装置105に保存される。
【００２１】
ここで、図1に示す情報処理装置100における一般的なハイバネーション処理の流れについて説明する。ユーザが入力部111などを介して、または、ユーザアプリケーションが、システムの中断要求10を発行することで、ハイバネーション処理が開始される。
【００２２】
ハイバネーション処理が開始されると、CPU101は、メモリ103に書き込まれたデータ、周辺機器のステータスレジスタやコンフィギュレーションレジスタのデータ、CPU101のレジスタ値を基にハイバネーションイメージを生成する。なお、周辺機器のステータスレジスタやコンフィギュレーションレジスタを以下では単に「レジスタ」と呼ぶ。CPU101は、生成したハイバネーションイメージを不揮発性記憶装置105に格納する。
【００２３】
そして、情報処理装置100の電源がオフされた後、再びオンされると、システムのカーネル初期化が開始される。カーネル初期化直後、ハイバネーションイメージが不揮発性記憶装置105からメモリ103へロードされ、メモリ103のデータ、周辺機器のレジスタのデータ、CPU101のレジスタ値をシステム中断直前の状態に戻すハイバネーション処理が実行される。
【００２４】
図2は実施例の情報処理装置100におけるハイバネーション機能の構成例を示すブロック図であり、中断要求の発生と情報処理装置100の電源オンにより、カーネル機能によって実現される機能構成を示す。
【００２５】
保持制御部203は、システムの中断要求に基づき生成されるハイバネーションイメージ202を不揮発性記憶装置105に格納する。初期化制御部204は、ハイバネーション起動時に、CPU101のスレーブコア101bのうち、初期化対象となるコアの数を制御する。復帰制御部205は、ハイバネーション起動時に、不揮発性記憶装置105に格納されたハイバネーションイメージ202をメモリ103にロードする。また、復帰制御部205は、メモリ103にロードしたハイバネーションイメージ202に基づき、CPUレジスタの記憶状態（以下、CPUレジスタ値）を復元する。
【００２６】
なお、保持制御部203、初期化制御部204、復帰制御部205は、CPU101のブートコア101aが不揮発性記憶装置105に格納されたOSの一部であるカーネルを実行することで実現される。
【００２７】
●ハイバネーションイメージの生成
図3により本実施例におけるシステム中断処理とハイバネーションイメージの生成処理を説明する。図3は、ユーザ（またはユーザアプリケーション）がシステムの中断要求を発行した後、システムが停止するまでの、CPU101における処理を示すフローチャートである。
【００２８】
電源切断のユーザ指示等に基づくシステムの中断要求を検出すると、CPU101は、プロセススケジューラを停止する(S300)。そして、周辺機器による割り込みを禁止し、周辺機器のレジスタの記憶状態を示すデータ（以下、レジスタ値）をメモリ103に退避する(S301)。CPU101のブートコア101aは、CPU101のスレーブコア101bを停止し(S302)、CPUレジスタ値をメモリ103に退避する(S303)。これにより、メモリ103にハイバネーションイメージが生成され、不揮発性記憶装置105に格納される(S304)。その後、システムの停止が行われる(S305)。なお、生成されたハイバネーションイメージは、保持制御部203によって、DMAC102とI/Oコントローラ104を介して不揮発性記憶装置105に格納される。
【００２９】
上記のステップS300〜S303の処理を「システム中断処理」と称する。このシステム中断処理について、さらに詳細に説明する。
【００３０】
CPU101が全てのプロセスを停止すると(S300)、これ以降はプロセスによるメモリ内容の変更が発生しない。次に、CPU101が周辺機器のレジスタ値をメモリ103に保存し、以降、周辺機器のアクセスを無効にする(S301)。CPU101のブートコア101aが、CPU101の全てのスレーブコア101bを停止し(S302)、CPUレジスタ値をメモリ103に保存する(S303)。
【００３１】
システム中断処理の後、保持制御部203は、メモリ103に保持されたシステム中断前のシステム状態を示すハイバネーションイメージを不揮発性記憶装置105に退避する(S304)。なお、ハイバネーションイメージのヘッダ部には、有効なハイバネーションイメージであるか否かを示す識別情報などが含まれる。また、ハイバネーションイメージを格納する充分な空きスペースが不揮発性記憶装置105にない場合などはデータ圧縮したハイバネーションイメージを不揮発性記憶装置105に退避してもよい。勿論、データ圧縮されたハイバネーションイメージか否かは識別情報によって判定可能である。
【００３２】
このように、システム中断処理により、システム状態を表す全ての情報がメモリ103に記憶される。このメモリ103の記憶状態を示すデータをハイバネーションイメージとして、保持制御部203により不揮発性記憶装置105に保存しておき、必要に応じて、復帰制御部205により当該データをメモリ103にロードする。そして、復帰制御部205によりCPUレジスタ値を復元し、スレーブコア101bを再開させ、周辺機器のレジスタ値を復元して、周辺機器による割り込み及びプロセススケジューラを再開することで、システムを復帰させることができる。
【００３３】
●カーネル機能によるハイバネーション起動
電源ONのユーザ指示等に基づくシステムの起動要求11を検出すると、情報処理装置100は、システム起動状態となり、ブートコア101aがBIOS（またはUEFI）及び必要に応じブートローダの処理を行って、カーネル初期化を開始する。
【００３４】
以下、本実施例におけるカーネル機能によるハイバネーション起動処理、すなわちカーネル初期化の開始からシステム復帰までの処理について、図4のフローチャートを用いて説明する。図4は、システム復帰にかかる、ブートコア101aによるカーネル処理を示すフローチャートである。
【００３５】
カーネルは、DMAC102を初期化し(S400)、DMAC102を介して不揮発性記憶装置105からハイバネーションイメージのヘッダ部を読み込む。そして、揮発性記憶装置105に有効なハイバネーションイメージが格納されているか否かにより、有効なハイバネーションイメージが利用可能か否かを判定する(S401)。なお、ハイバネーションイメージのヘッダ部に含まれる識別情報に基づき有効なハイバネーションイメージか否かが判定される。また、ステップS401の判定は復帰制御部205の処理に相当する。
【００３６】
有効なハイバネーションイメージが利用可能な場合、カーネルは、スレーブコア101bの一部を初期化し(S402)、周辺機器を初期化する(S403)ことで、カーネル初期化が完了する。ステップS402で初期化されるスレーブコア101bの数は、初期化制御部204によって制御される。また、初期化すべき周辺機器が一つの場合の初期化は、ブートコア101aまたは初期化された少なくとも一つのスレーブコア101bによって行われる。また、初期化すべき周辺機器が複数ある場合の初期化は、ブートコア101aおよび初期化された少なくとも一つのスレーブコア101bあるいは初期化された複数のスレーブコア101bによって行われる。
【００３７】
そして、詳細は後述するが、ハイバネーション起動が行われる(S404)。このように、有効なハイバネーションイメージが利用可能と判定された場合は、ステップS402からS404においてカーネル初期化とハイバネーション起動が行われる。
【００３８】
一方、有効なハイバネーションイメージが利用不可と判定された場合、ステップS405からS406でハイバネーション起動ではない通常のシステム起動（カーネル初期化）が行われる。すなわち、カーネルは、初期化制御部204による数の制限なしに、全てのスレーブコア101bを初期化し(S405)、周辺機器を初期化する(S406)。
【００３９】
図4に示す処理によれば、ハイバネーション起動を行う場合、ハイバネーション起動の前に周辺機器の初期化(S403)を行うため、それ以前に不揮発性記憶装置105に格納されたハイバネーションイメージを取得することは難しい。そのため、DMAC102のみを事前に初期化して(S400)、不揮発性記憶装置105に格納されたハイバネーションイメージの識別情報を取得して、有効なハイバネーションイメージの利用可否を判定する(S401)。
【００４０】
また、スレーブコア101bの初期化(S402)の際には、初期化対象となるスレーブコア101bの数がより少なくなるように制限した方が、初期化に要する時間が短くなる。反面、ステップS402で初期化するスレーブコア101bの数が少なくなると、ステップS403における複数の周辺機器の初期化の際に、初期化の並列度が低くなるため、初期化に要する時間が増加する。従って、初期化すべき周辺機器の数に応じて初期化対象となるスレーブコア101bの数を設定することが好ましい。そのため、初期化制御部204は、例えばユーザ（またはユーザアプリケーション）の事前の指示入力に従い初期化するスレーブコア101bの数を設定する。なお、全てのスレーブコア101bの初期化が禁止されている場合、スレーブコア101bの初期化(S402)は行われず、周辺機器の初期化(S403)はブートコア101aによって行われる。
【００４１】
図5は、ハイバネーション起動処理(S404)の詳細を示すフローチャートである。カーネルは、プロセススケジューラを停止し(S500)、周辺機器を停止し(S501)、ステップS402で初期化済みのスレーブコア101bを停止する(S502)。そして、以下のようにハイバネーションイメージによるシステムの復帰を行う(S503)。
【００４２】
カーネルは、DMAC102に不揮発性記憶装置105に格納されたハイバネーションイメージをメモリ103にロードさせる(S5031)。これにより、メモリ103の記憶状態が、図3に示すステップS302におけるスレーブコア101b停止直後と同様の記憶状態に復帰する。その後、メモリ103の記憶状態に基づきCPUレジスタ値の復帰(S5032)、周辺機器のレジスタ値の復帰(S5033)を行う。ステップS5031からS5033の処理は復帰制御部205の処理に相当する。
【００４３】
続いて、カーネルは、周辺機器による割り込みの再開(S5034)、プロセススケジューラの再開(S5035)を行って、ハイバネーション起動を完了する。ハイバネーション起動時の数の制限により、ステップS402で初期化されないスレーブコア101bがある。しかし、ハイバネーションイメージの生成時に初期化されていたものであれば、メモリ103の記憶状態およびCPUレジスタ値の復帰後から利用可能になる。
【００４４】
このように、ハイバネーション起動を行う前に、初期化対象となるスレーブコア101bの数を制限することで、従来のハイバネーション起動と比べて高速にシステムを復帰することができる。
【００４５】
［変形例］
復帰制御部205は、カーネル初期化中に、ハイバネーションイメージをメモリ103にロードすること、すなわちカーネル初期化とハイバネーションイメージのロードを並行して行う能力を有する。つまり、ブートコア101aは、初期化したスレーブコア101bに周辺機器を初期化させ(S403)、かつ、復帰制御部205としての動作によりハイバネーションイメージのロード(S5031)を実行することが可能である。
【００４６】
さらに、ハイバネーションイメージがデータ圧縮されていれば、その伸長も並行して行うことが可能である。例えば、ハイバネーションイメージの識別情報がデータ圧縮を示す場合、初期化制御部204は、ハイバネーションイメージの伸長に必要なスレーブコア101bの数を考慮して、初期化対象となるスレーブコア101bの数を設定する。ブートプロセッサ101aは、初期化制御部204によって設定された数のスレーブコア101bを初期化する(S402)。さらに、ブートコア101aは、復帰制御部205としての動作により、初期化したスレーブコア101bに周辺機器の初期化(S403)と並行してハイバネーションイメージの伸長を行わせる。
【００４７】
また、情報処理装置100のCPU101がブートコア101aおよび複数のスレーブコア101bを有するマルチコアプロセッサの形態例を説明したが、複数のCPUによるマルチプロセッサシステムが稼働する場合に対しても本発明は同様に適用可能である。すなわち複数のプロセッサを、上記実施例おけるブートコアとスレーブコアのそれぞれに対応するブートプロセッサとスレーブプロセッサとして、上記の処理を適用すればよい。
【００４８】
［その他の実施例］
本発明は、上述の実施形態の一以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける一以上のプロセッサがプログラムを読み出し実行する処理でも実現可能である。また、一以上の機能を実現する回路（例えば、ASIC）によっても実現可能である。
【符号の説明】
【００４９】
101 … CPU、103 … メモリ、105 … 不揮発性記憶装置、203 … 保持制御部、205 … 復帰制御部
【図１】
2015156205.tif 000003
【図２】
2015156205.tif 000004
【図３】
2015156205.tif 000005
【図４】
2015156205.tif 000006
【図５】
2015156205.tif 000007