JP2015156205A - 情報処理装置およびその制御方法 - Google Patents

情報処理装置およびその制御方法 Download PDF

Info

Publication number
JP2015156205A
JP2015156205A JP2014249199A JP2014249199A JP2015156205A JP 2015156205 A JP2015156205 A JP 2015156205A JP 2014249199 A JP2014249199 A JP 2014249199A JP 2014249199 A JP2014249199 A JP 2014249199A JP 2015156205 A JP2015156205 A JP 2015156205A
Authority
JP
Japan
Prior art keywords
information processing
hibernation
hibernation image
core
processing apparatus
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2014249199A
Other languages
English (en)
Other versions
JP2015156205A5 (ja
JP6399916B2 (ja
Inventor
加藤 謙介
Kensuke Kato
謙介 加藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2014249199A priority Critical patent/JP6399916B2/ja
Priority to US14/594,214 priority patent/US9658863B2/en
Publication of JP2015156205A publication Critical patent/JP2015156205A/ja
Publication of JP2015156205A5 publication Critical patent/JP2015156205A5/ja
Application granted granted Critical
Publication of JP6399916B2 publication Critical patent/JP6399916B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4418Suspend and resume; Hibernate and awake
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】マルチコアプロセッサを有する情報処理装置において、カーネル機能によるハイバネーション起動の高速化を図る。
【解決手段】情報処理装置で稼働するシステムの中断要求が発生すると、メモリ103の記憶状態、周辺機器のレジスタ値、および、CPU101のレジスタ値を表すデータがハイバネーションイメージ202として不揮発性記憶装置105に格納される。システムの起動要求が発生すると、不揮発性記憶装置105において、有効なハイバネーションイメージ202が利用可能か否かが判定される。利用可能と判定されると、ブートコアは複数のスレーブコアの一部を初期化し、ブートコアおよび/またはスレーブコアは周辺機器の初期化を行うことで、システムのカーネル初期化を行う。カーネル初期化後、有効なハイバネーションイメージ202に基づき、メモリ103の記憶状態、周辺機器のレジスタ値、および、CPU101のレジスタ値が復元される。
【選択図】図2

Description

本発明は、ハイバネーションが可能な情報処理装置およびその制御方法に関する。
近年、情報処理装置の待機状態における消費電力を低減するハイバネーションが注目されている。ハイバネーションは、システムの中断・再開を行うための機能である。例えば、情報処理装置のシステムが稼働している状態で、メモリ、マイクロプロセッサのレジスタ、周辺機器などのデバイスに記憶された情報を、ハードディスクなどの不揮発性記憶装置に退避する。退避された情報は「ハイバネーションイメージ」と呼ばれる。この退避後、情報処理装置の電源が切られる。次回、情報処理装置の電源がオンされた際は、不揮発性記憶装置に退避させたハイバネーションイメージを読み込み、前記メモリ、レジスタ、周辺機器の情報を復帰することで、システムを情報処理装置の電源オフ前と同じ状態に復帰させる。以下、このようなハイバネーションによってシステムの起動を行うことを「ハイバネーション起動」と称する。また、ハイバネーションは、システムの起動時間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 … 復帰制御部

Claims (13)

  1. ハイバネーションが可能な情報処理装置であって、
    ブートコアと複数のスレーブコアを有するプロセッサと、
    揮発性メモリと、
    不揮発性メモリと、
    前記装置で稼働するシステムの中断要求が発生すると、前記揮発性メモリの記憶状態、前記装置の少なくとも一つの周辺機器のレジスタ値、および、前記プロセッサのレジスタ値を表すデータをハイバネーションイメージとして前記不揮発性メモリに格納する保持制御手段と、
    前記システムの起動要求が発生すると、前記不揮発性メモリにおいて、有効なハイバネーションイメージが利用可能か否かを判定する復帰制御手段とを有し、
    前記有効なハイバネーションイメージが利用可能と判定された場合、前記ブートコアは前記複数のスレーブコアの一部を初期化し、前記ブートコアおよび/または前記初期化されたスレーブコアは前記少なくとも一つの周辺機器の初期化を行うことで、前記システムのカーネル初期化を行い、
    前記カーネル初期化の後、前記復帰制御手段は、前記有効なハイバネーションイメージに基づき前記揮発性メモリの記憶状態、前記少なくとも一つの周辺機器のレジスタ値、および、前記プロセッサのレジスタ値を復元する情報処理装置。
  2. 前記有効なハイバネーションイメージが利用できないと判定された場合、前記ブートコアは前記複数のスレーブコアを初期化し、前記ブートコアおよび/または前記初期化されたスレーブコアは前記少なくとも一つの周辺機器の初期化を行うことで、前記カーネル初期化を行う請求項1に記載された情報処理装置。
  3. 前記復帰制御手段は、前記有効なハイバネーションイメージに基づき、前記中断要求に応じて前記複数のスレーブコアを停止した前の、前記メモリの記憶状態、前記少なくとも一つの周辺機器のレジスタ値、および、前記プロセッサのレジスタ値を復元する請求項1または請求項2に記載された情報処理装置。
  4. さらに、前記ブートコアが初期化する前記スレーブコアの数を制御する初期化制御手段を有する請求項1から請求項3の何れか一項に記載された情報処理装置。
  5. さらに、前記初期化するスレーブコアの数を示すユーザ指示を入力する入力手段を有し、
    前記初期化制御手段は、前記ユーザ指示が示す数のスレーブコアが初期化されるように、前記ブートコアを制御する請求項4に記載された情報処理装置。
  6. 前記ハイバネーションイメージは、当該ハイバネーションイメージが有効であるか否かを示す識別情報を含み、前記復帰制御手段は、前記不揮発性メモリから読み出した前記ハイバネーションイメージの識別情報に基づき前記判定を行う請求項1から請求項5の何れか一項に記載された情報処理装置。
  7. さらに、前記揮発性メモリと前記不揮発性メモリにアクセスするダイレクトメモリアクセスコントローラを有し、
    前記ブートコアは、前記復帰制御手段による前記判定の前に、前記ダイレクトメモリアクセスコントローラを初期化する請求項6に記載された情報処理装置。
  8. 前記復帰制御手段は、前記ダイレクトメモリアクセスコントローラを介して前記識別情報にアクセスし、前記判定を行う請求項7に記載された情報処理装置。
  9. 前記復帰制御手段は、前記カーネル初期化と並行して、前記有効なハイバネーションイメージを前記揮発性メモリにロードする能力を有する請求項4または請求項5に記載された情報処理装置。
  10. 前記揮発性メモリにロードされたハイバネーションイメージがデータ圧縮されている場合、前記初期化制御手段は、前記少なくとも一つの周辺機器の初期化と前記圧縮されたハイバネーションイメージの伸長に必要なスレーブコアの数を前記初期化するスレーブコアの数として設定する請求項9に記載された情報処理装置。
  11. 前記復帰制御手段は、前記初期化されたスレーブコアを制御して、前記少なくとも一つの周辺機器の初期化と並行して前記圧縮されたハイバネーションイメージの伸長を行う請求項10に記載された情報処理装置。
  12. 前記システムの中断要求が発生すると、前記ブートコアは、前記少なくとも一つの周辺機器のレジスタ値および前記プロセッサのレジスタ値を前記揮発性メモリに格納し、
    前記保持制御手段は、前記揮発性メモリの記憶状態を表すデータを前記ハイバネーションイメージとして前記不揮発性メモリに格納する請求項1から請求項11の何れか一項に記載された情報処理装置。
  13. ハイバネーションが可能であり、ブートコアと複数のスレーブコアを有するプロセッサ、揮発性メモリ、および、不揮発性メモリを有する情報処理装置の制御方法であって、
    前記装置で稼働するシステムの中断要求が発生すると、保持制御手段が、前記揮発性メモリの記憶状態、前記装置の少なくとも一つの周辺機器のレジスタ値、および、前記プロセッサのレジスタ値を表すデータをハイバネーションイメージとして前記不揮発性メモリに格納し、
    前記システムの起動要求が発生すると、復帰制御手段が、前記不揮発性メモリにおいて、有効なハイバネーションイメージが利用可能か否かを判定し、
    前記有効なハイバネーションイメージが利用可能と判定された場合、前記ブートコアが前記複数のスレーブコアの一部を初期化し、前記ブートコアおよび/または前記初期化されたスレーブコアが前記少なくとも一つの周辺機器の初期化を行うことで、前記システムのカーネル初期化が行われ、
    前記カーネル初期化の後、前記復帰制御手段が、前記有効なハイバネーションイメージに基づき前記揮発性メモリの記憶状態、前記少なくとも一つの周辺機器のレジスタ値、および、前記プロセッサのレジスタ値を復元する制御方法。
JP2014249199A 2014-01-20 2014-12-09 情報処理装置およびその制御方法 Active JP6399916B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014249199A JP6399916B2 (ja) 2014-01-20 2014-12-09 情報処理装置およびその制御方法
US14/594,214 US9658863B2 (en) 2014-01-20 2015-01-12 Information processing apparatus and control method therefor

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2014008073 2014-01-20
JP2014008073 2014-01-20
JP2014249199A JP6399916B2 (ja) 2014-01-20 2014-12-09 情報処理装置およびその制御方法

Publications (3)

Publication Number Publication Date
JP2015156205A true JP2015156205A (ja) 2015-08-27
JP2015156205A5 JP2015156205A5 (ja) 2018-01-25
JP6399916B2 JP6399916B2 (ja) 2018-10-03

Family

ID=53544888

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014249199A Active JP6399916B2 (ja) 2014-01-20 2014-12-09 情報処理装置およびその制御方法

Country Status (2)

Country Link
US (1) US9658863B2 (ja)
JP (1) JP6399916B2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017111788A (ja) * 2015-12-14 2017-06-22 財團法人工業技術研究院Industrial Technology Research Institute 周辺機器の初期化方法およびそれを用いる電子機器
WO2019087294A1 (ja) * 2017-10-31 2019-05-09 三菱重工機械システム株式会社 情報処理システム、情報処理方法及びプログラム
WO2019097693A1 (ja) * 2017-11-17 2019-05-23 三菱重工機械システム株式会社 情報処理システム及び情報処理システムによる情報処理方法
KR20200058477A (ko) 2017-10-31 2020-05-27 미츠비시 쥬고 기카이 시스템 가부시키가이샤 차량 탑재 기기, 제어 방법, 및 프로그램
KR20200060434A (ko) 2017-10-31 2020-05-29 미츠비시 쥬고 기카이 시스템 가부시키가이샤 정보 처리 장치, 정보 처리 장치의 제어 방법 및 프로그램

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9622182B2 (en) * 2015-04-17 2017-04-11 Suunto Oy Embedded computing device
US11204778B2 (en) * 2017-01-23 2021-12-21 Carl Zeiss Ag Efficient hibernation apparatus and method for digital devices
US10860332B2 (en) * 2017-09-25 2020-12-08 Qualcomm Incorporated Multicore framework for use in pre-boot environment of a system-on-chip
CN113467923A (zh) * 2020-03-31 2021-10-01 华为技术有限公司 一种设备休眠方法及计算设备
CN114691406A (zh) * 2022-03-29 2022-07-01 深圳市广和通无线股份有限公司 外围设备的交互方法、外围设备、主控制器和存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100058045A1 (en) * 2008-08-27 2010-03-04 Wireless Silicon Group, Llc Method and apparatus for fast booting a portable computing device allowing for immediate operation
JP2013045382A (ja) * 2011-08-26 2013-03-04 Renesas Electronics Corp 情報機器
JP2014506708A (ja) * 2011-02-24 2014-03-17 マイクロソフト コーポレーション ハイバネイトからの多段レジューム

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR0139985B1 (ko) * 1995-01-06 1998-07-01 김광호 옵션 카드의 하이버네이션 시스템
US6883037B2 (en) * 2001-03-21 2005-04-19 Microsoft Corporation Fast data decoder that operates with reduced output buffer bounds checking
US7225448B2 (en) * 2003-08-14 2007-05-29 Lenovo (Singapore) Pte. Ltd. System and method for hibernating application state data on removable module
US20060212677A1 (en) * 2005-03-15 2006-09-21 Intel Corporation Multicore processor having active and inactive execution cores
US7519808B2 (en) * 2006-04-25 2009-04-14 Apple Inc. Method and apparatus for quickly reanimating devices from hibernation
US7900074B2 (en) * 2006-06-02 2011-03-01 Apple Inc. Method and apparatus for quickly reanimating devices from hibernation
JP2007334383A (ja) * 2006-06-12 2007-12-27 Sony Corp 情報処理装置とその起動方法およびプログラム
JP2009301319A (ja) 2008-06-13 2009-12-24 Panasonic Corp マルチプロセッサシステム
US8977879B2 (en) * 2012-03-30 2015-03-10 Motorola Solutions, Inc. Method and apparatus for enhancing a multi-stage hibernate and resume process

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100058045A1 (en) * 2008-08-27 2010-03-04 Wireless Silicon Group, Llc Method and apparatus for fast booting a portable computing device allowing for immediate operation
JP2014506708A (ja) * 2011-02-24 2014-03-17 マイクロソフト コーポレーション ハイバネイトからの多段レジューム
JP2013045382A (ja) * 2011-08-26 2013-03-04 Renesas Electronics Corp 情報機器

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017111788A (ja) * 2015-12-14 2017-06-22 財團法人工業技術研究院Industrial Technology Research Institute 周辺機器の初期化方法およびそれを用いる電子機器
JP7018067B2 (ja) 2017-10-31 2022-02-09 三菱重工機械システム株式会社 情報処理システム、情報処理方法及びプログラム
KR102345086B1 (ko) 2017-10-31 2021-12-29 미츠비시 쥬고 기카이 시스템 가부시키가이샤 차량 탑재 기기, 제어 방법, 및 프로그램
JPWO2019087294A1 (ja) * 2017-10-31 2020-11-12 三菱重工機械システム株式会社 情報処理システム、情報処理方法及びプログラム
KR20200060434A (ko) 2017-10-31 2020-05-29 미츠비시 쥬고 기카이 시스템 가부시키가이샤 정보 처리 장치, 정보 처리 장치의 제어 방법 및 프로그램
KR20200060474A (ko) 2017-10-31 2020-05-29 미츠비시 쥬고 기카이 시스템 가부시키가이샤 정보 처리 시스템, 정보 처리 방법 및 프로그램
US11288374B2 (en) 2017-10-31 2022-03-29 Mitsubishi Heavy Industries Machinery Systems. Ltd. Information processing device, method for controlling information processing device, and program
WO2019087294A1 (ja) * 2017-10-31 2019-05-09 三菱重工機械システム株式会社 情報処理システム、情報処理方法及びプログラム
GB2581665A (en) * 2017-10-31 2020-08-26 Mitsubishi Heavy Ind Mach Systems Ltd Information processing system, information processing method and program
KR20200058477A (ko) 2017-10-31 2020-05-27 미츠비시 쥬고 기카이 시스템 가부시키가이샤 차량 탑재 기기, 제어 방법, 및 프로그램
GB2581665B (en) * 2017-10-31 2022-05-25 Mitsubishi Heavy Ind Mach Systems Ltd Information processing system, information processing method and program
US11126569B2 (en) 2017-10-31 2021-09-21 Mitsubishi Heavy Industries Machinery Systems, Ltd. Information processing system, information processing method, and program
US11037383B2 (en) 2017-10-31 2021-06-15 Mitsubishi Heavy Industries Machinery Systems, Ltd. Vehicle mounted device, control method, and program
KR102281418B1 (ko) 2017-11-17 2021-07-23 미츠비시 쥬고 기카이 시스템 가부시키가이샤 정보 처리 시스템 및 정보 처리 시스템에 의한 정보 처리 방법
WO2019097693A1 (ja) * 2017-11-17 2019-05-23 三菱重工機械システム株式会社 情報処理システム及び情報処理システムによる情報処理方法
GB2581719A (en) * 2017-11-17 2020-08-26 Mitsubishi Heavy Ind Mach Systems Ltd Information processing system and information processing method to be executed by information processing system
US11249904B2 (en) 2017-11-17 2022-02-15 Mitsubishi Heavy Industries Machinery Systems, Ltd. Information processing system and information processing method to be executed by information processing system
GB2581719B (en) * 2017-11-17 2022-03-09 Mitsubishi Heavy Ind Mach Systems Ltd Information processing system and information processing method to be executed by information processing system
KR20200066698A (ko) 2017-11-17 2020-06-10 미츠비시 쥬고 기카이 시스템 가부시키가이샤 정보 처리 시스템 및 정보 처리 시스템에 의한 정보 처리 방법
JPWO2019097693A1 (ja) * 2017-11-17 2020-11-26 三菱重工機械システム株式会社 情報処理システム及び情報処理システムによる情報処理方法

Also Published As

Publication number Publication date
US20150205619A1 (en) 2015-07-23
US9658863B2 (en) 2017-05-23
JP6399916B2 (ja) 2018-10-03

Similar Documents

Publication Publication Date Title
JP6399916B2 (ja) 情報処理装置およびその制御方法
TWI407300B (zh) 電源管理控制器與方法
JP5860543B2 (ja) ブートデータのロード
US11144455B2 (en) Memory mapping for hibernation
JP2008097105A (ja) 記憶装置及び起動方法
US9721104B2 (en) CPU-based measured boot
TWI412999B (zh) 平行化快速啟動方法及具有多處理單元之電子裝置
JPWO2013088818A1 (ja) 仮想計算機システム、仮想化機構、及びデータ管理方法
TWI546661B (zh) 使用狀態資訊回復系統之技術
US9910677B2 (en) Operating environment switching between a primary and a secondary operating system
KR20080057688A (ko) 비휘발성 메모리를 이용한 운영체계 부팅 방법
KR100994723B1 (ko) 시스템에서 초기 구동시간을 단축시키는 선택적 서스펜드 리쥼 방법 및 그 기록매체
JP2010146142A (ja) 情報処理装置、プログラムの起動制御方法、及び起動制御プログラム
TWI605332B (zh) 使用唯cpu重設的支援先進組態與電力介面(acpi)休眠狀態的方法及裝置
US9904559B2 (en) Information processing apparatus and activation method therefor for processing data of a hibernation image
JP6080492B2 (ja) 情報処理装置、起動方法およびプログラム
US20150317181A1 (en) Operating system switching method
KR20140018134A (ko) 오프 상태로부터의 운영 체제의 고속 부팅이 가능한 임베디드 시스템 및 임베디드 시스템에서의 부팅 방법
JP6080490B2 (ja) 情報処理装置、起動方法およびプログラム
JP6080491B2 (ja) 情報処理装置、起動方法およびプログラム
JP6018537B2 (ja) 画像形成装置
KR20190027460A (ko) 멀티 프로세서를 방식의 정지영상 처리 장치 및 방법
JP2006171987A (ja) コンピュータの快速ブート方法及び装置
JP2011181030A (ja) コンピュータシステム及びその制御方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171205

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171205

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180720

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180806

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180904

R151 Written notification of patent or utility model registration

Ref document number: 6399916

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151