JP5035227B2 - 情報処理装置、プログラムの起動制御方法、及び起動制御プログラム - Google Patents

情報処理装置、プログラムの起動制御方法、及び起動制御プログラム Download PDF

Info

Publication number
JP5035227B2
JP5035227B2 JP2008320528A JP2008320528A JP5035227B2 JP 5035227 B2 JP5035227 B2 JP 5035227B2 JP 2008320528 A JP2008320528 A JP 2008320528A JP 2008320528 A JP2008320528 A JP 2008320528A JP 5035227 B2 JP5035227 B2 JP 5035227B2
Authority
JP
Japan
Prior art keywords
memory
processor
program
preparation process
information processing
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.)
Expired - Fee Related
Application number
JP2008320528A
Other languages
English (en)
Other versions
JP2010146142A (ja
Inventor
達彦 空井
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2008320528A priority Critical patent/JP5035227B2/ja
Publication of JP2010146142A publication Critical patent/JP2010146142A/ja
Application granted granted Critical
Publication of JP5035227B2 publication Critical patent/JP5035227B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Description

本発明は、複数のプロセッサを有する情報処理装置におけるプログラムの起動制御に関する。
本明細書で定義して使用されるプロセッサの用語は、メモリから命令を読み出し、命令をデコードし、デコードされた命令に応じた処理、例えば、算術演算及び論理演算等の演算処理、並びにメモリに対するリードアクセス及びライトアクセスを実行する装置を意味する。プロセッサの具体例は、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、マイクロコントローラ、DSP(Digital Signal Processor)等である。
また、OSは、上述のプロセッサによって実行されることにより、プロセッサ及びメモリ等のハードウェア資源を利用して、タスク管理、メモリ管理、時間管理、デバイス管理等を実行する。最近のOSの多くは、マルチプログラミング環境を実現する。マルチプログラミング環境とは、複数のアプリケーションプログラムを定期的に切り替えて実行したり、あるイベントの発生に応じて実行するアプリケーションプログラムを切り替えたりすることによって、複数のアプリケーションプログラムがあたかも並列実行されているような環境を意味する。マルチプログラミング環境は、マルチタスク環境とも呼ばれる。タスクとは、マルチプログラミング環境で並列実行されるプログラム単位を意味する。
少なくとも1つのプロセッサを有する情報処理装置は、システム電源が投入された後にメモリに格納されているカーネルイメージを読み出すことによってオペレーティングシステム(OS)の起動処理を開始する。ここで、カーネルイメージとは、OSの基本機能に関する命令群を含むプログラムである。
情報処理装置の一般的な構成では、カーネルイメージは、不揮発性の低速メモリ(例えば、フラッシュメモリ)に格納されている。システム電源が投入されると、始めにプロセッサは、低速メモリに格納されたカーネルイメージを揮発性の高速メモリ(例えばDRAM:Dynamic Random Access Memory)にコピーする。そして、プロセッサは、高速メモリからカーネルイメージを読み出すことによりOSの起動処理を行う。しかし、近年ではOSの高機能化に伴ってカーネルイメージのサイズが増大している。このため、不揮発性の低速メモリから揮発性の高速メモリにカーネルイメージをコピーする処理に要する時間の増加が問題となっていた。
上記の問題に対応する技術として、DRAMの記憶内容を保持するためのバックアップ電源を使用することが知られている(例えば特許文献1を参照)。バックアップ電源からDRAMに電力を供給することで、システム電源がOFFされている場合にもDRAMの記憶内容を保持しておくことができる。これにより、フラッシュメモリ(不揮発性の低速メモリ)からDRAMへのカーネルイメージのロードを行うことなく、システム電源投入時のOS起動処理を開始できる。
しかしながら、バックアップ電源の電圧低下などの何らかの原因によってDRAM内でデータ化け(メモリ化け)が発生する可能性がある。このため、バックアップ電源を用いる情報処理装置では、DRAMに保持されているカーネルイメージを使用してOSを起動する前に、DRAM内のカーネルイメージの正常性(妥当性)をチェックする必要がある。正常性のチェックは、チェックサム、CRC(Cyclic Redundancy Check)、ハッシュ値、パリティ等の誤り検出技術を用いて行われる。つまり、バックアップ電源を使用する情報処理装置は、OSの起動処理の開始をデータの整合性が確認されるまで待つ必要があるため、システム電源の投入からOSの起動処理を開始するまでに時間を要する。さらに、DRAM内のカーネルイメージにデータ化けが生じていた場合には、フラッシュメモリに保持されているカーネルイメージをDRAMにコピーする必要がある。この場合には、バックアップ電源を使用しない場合と同様に、OSの起動処理の開始をコピーが完了するまで待たなければならない。
なお、特許文献2は、バックアップ電源を使用せずにプログラム起動時間の短縮化を図る情報処理装置を開示している。特許文献2の情報処理装置は、ブートローダ(IPL(Initial Program Loader)とも呼ばれる)の実行後に、フラッシュメモリに格納されたOSを読み出して実行し、マルチタスク動作を開始する。さらに、マルチタスク環境下でプログラムコピー用のタスクを起動する。マルチタスク環境下で実行されるプログラムコピー用のタスクは、フラッシュメモリからDRAMへのプログラムコピーを実行し、コピー完了後にOSを含むプログラムをRAM上で実行するためのメモリリマップを行う。
特開2003−131880号公報 特開2008−15725号公報
上述したように、従来の情報処理装置の1つは、不揮発性の低速メモリ(例えばフラッシュメモリ)から揮発性の高速メモリ(例えばDRAM)にカーネルイメージをコピーした後にOSの起動を開始するため、OSの起動処理の開始が遅れる。このため、システム電源が投入されてからOSの起動完了までに長時間を要するという問題がある。また、バックアップ電源を使用する改良された情報処理装置であっても、システム電源の投入後に揮発性の高速メモリ(DRAM)に保持されたOSの正常性チェックを行った後にOSの起動を開始するため、OSの起動処理に要する時間を十分に短縮することができない。
なお、特許文献2に開示された技術では、マルチタスク環境(マルチプログラミング環境)を提供するOSの起動処理(実行開始&初期化処理)が終わってマルチタスク環境が得られた後でなければ、OS(カーネルイメージ)をDRAMへコピーをすることができない。よって、OSの起動処理の全てをフラッシュメモリ上で行う特許文献2の技術では、OSの起動処理を高速化することは困難であると考えられる。
本発明は上述した知見に基づいてなされたものであって、情報処理装置においてOS等のプログラムを起動する処理に要する時間を削減することを目的とする。
本発明の第1の態様にかかる情報処理装置は、第1及び第2のプロセッサを有する。前記第2のプロセッサは、前記第1のプロセッサが第1のメモリからプログラムに関する命令群を読み出して実行可能となるための準備処理を実行する。一方、前記第1のプロセッサは、前記第2のプロセッサによる前記準備処理の実行と時間的に並行して、前記第1のメモリとは異なる第2のメモリから前記プログラムに関する命令群を読み出して実行する。さらに、前記第1のプロセッサは、前記準備処理の完了に応じて命令群の取得先を前記第2のメモリから前記第1のメモリに切り替えて、前記プログラムを継続的に実行する。
本発明により、情報処理装置におけるOS等のプログラムを起動する処理に要する時間を削減することができる。
以下では、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。各図面において、同一要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略される。
<発明の実施の形態1>
図1は、本実施の形態にかかる情報処理装置1の構成例を示すブロック図である。情報処理装置1は、少なくとも2つのプロセッサ10及び11を有するマルチプロセッサシステムである。情報処理装置1の具体例の1つは、複数のプロセッサコア(プロセッサ10及び11に相当)が1つの半導体チップに集積されたマルチコアプロセッサ(マルチコアCPU)を有するコンピュータシステムである。また、情報処理装置1は、複数のCPUを有するマルチCPU構成のコンピュータシステムであってもよい。
図1において、アクセス先変更部12は、プロセッサ10による物理アドレス空間に対するアクセス(すなわちメモリアクセス)を制御する。より詳細に述べると、アクセス先変更部12は、プロセッサ10が要求する物理アドレスに対応付けられるアクセス先(すなわち記憶デバイス内の記憶領域)を変更できる。アクセス先変更部12の具体的な動作、アクセス先の変更条件の具体例などについては後述する。
揮発性メモリ13は、DRAM、SRAM(Static Random Access Memory)等の揮発性の記憶デバイスである。揮発性メモリ13は、プロセッサ10及び11に読み出されて実行されるOSやアプリケーションプログラムの格納領域、及びOSやアプリケーションプログラムによって使用されるデータの格納領域として使用される。図1のカーネルイメージ131は、後述する不揮発性メモリ14から揮発性メモリ13にロードされたOSプログラムである。なお、図1の揮発性メモリ13は、論理的な構成単位を示している。すなわち、揮発性メモリ13は、例えば、複数のDRAMデバイスの組み合わせ、又はSRAMデバイスとDRAMデバイスの組み合わせ等でもよい。以下の説明では、揮発性メモリ13がDRAMデバイスである場合を例にとって説明する。
不揮発性メモリ14は、電力の供給を受けることなく、揮発性メモリ13に比べて安定的に記憶内容を維持することが可能なメモリデバイスである。例えば、不揮発性メモリ14は、ROM(Read Only Memory)、フラッシュメモリ若しくはハードディスクドライブ、又はこれらの組み合わせである。以下の説明では、不揮発性メモリ14がフラッシュメモリである場合を例にとって説明する。
フラッシュメモリ14は、ブートローダ140、カーネルイメージ141等のプログラムを格納する。ブートローダ140は、OS起動制御用のプログラムであり、システム電源15が投入された後にOSの起動を開始するために実行される。
システム電源15は、図1に示した情報処理装置1に含まれる各構成要素の動作に必要な電力を供給する。バックアップ電源16は、システム電源15による電力供給が停止されている場合に、DRAM13の記憶内容を保持するために必要な電力をDRAM13に供給する。
次に、アクセス先変更部12の動作例について図2を参照して説明する。図2は、本実施の形態における物理アドレス空間のメモリマップの具体例とアクセス先変更部12の動作を模式的に示している。図2に示す物理アドレス空間100のメモリマップは、システム電源15が投入された直後の状態を示している。物理アドレス空間100の0番地(0x0000_0000)からフラッシュメモリ14のサイズ分のアドレス領域は、フラッシュメモリ14にマッピングされている。よって、図2に示すように、フラッシュメモリ14の先頭アドレス部分にブートローダ140を格納しておけば、プロセッサ10が0番地にジャンプすることでブートローダ140の実行を開始できる。
アクセス先変更部12は、プロセッサ10からアクセス先の物理アドレスを含むメモリアクセス要求(具体的にはリード要求又はライト要求)を受信する。アクセス先変更部12は、カーネルイメージの格納領域を示す物理アドレスを受信した場合に、当該物理アドレスに対応する実際のアクセス先をDRAM13内のカーネルイメージ格納領域(カーネルイメージ131)とするか、フラッシュメモリ14内のカーネルイメージ格納領域(カーネルイメージ141)とするかを決定する。
例えば、プロセッサ10がカーネルイメージ取得のために生成する物理アドレスがフラッシュメモリ14のアドレス範囲である場合を考える。この場合、アクセス先変更部12は、フラッシュメモリ14をアクセスする際に物理アドレスの変換を行わなければよい。一方、DRAM13をアクセスする際には、アクセス先変更部12は、プロセッサ10によって生成された物理アドレスをDRAM13のアドレス範囲に対応した別のアドレスに変換する。
続いて以下では、情報処理装置1におけるOS起動手順について説明する。図3は、OS起動手順に関するプロセッサ10及び11のシーケンス図である。
図3のステップS100では、システム電源15がONされ、情報処理装置1内の各構成要素に対する電力供給が開始される。ステップS101では、プロセッサ10は、予め定められた物理アドレスにジャンプする。具体的には、図2に示したように、物理アドレス空間の0番地をブートローダ140に対応させておき、プロセッサ10は0番地にジャンプすればよい。
ステップS102では、プロセッサ10がブートローダ140を実行する。ブートローダ140の実行によって、フラッシュメモリ14内のカーネルイメージ141が呼び出される。具体的には、プロセッサ10のプログラムカウンタ(不図示)をカーネルイメージ141のエントリポイントを示す値によって更新すればよい。エントリポイントとは、カーネルイメージ141の実行開始位置を示すアドレスである。また、このとき、アクセス先変更部12は、カーネルイメージ参照のためにプロセッサ10により生成される物理アドレスをフラッシュメモリ14内のカーネルイメージ141の格納領域に対応付ければよい。
さらに、ステップS102において、ブートローダ140は、DRAM13内に保持されたカーネルイメージ131の正常性チェックをもう一方のプロセッサ11に開始させる。具体的には、ブートローダ140を実行するプロセッサ10が、プロセッサ11を起動するとともに、正常性チェック用のプログラムのエントリポイントをプロセッサ11に供給すればよい。正常性チェック用のプログラムは、フラッシュメモリ14に格納されていてもよいし、プロセッサ11がアクセス可能なその他の不揮発性メモリデバイス(不図示)に保持されていてもよい。また、電源投入されたプロセッサ11が最初にアクセスする予め定められた記憶領域に正常性チェック用のプログラムを配置してもよい。この場合、ブートローダ140を実行するプロセッサ10は、プロセッサ11の起動指示のみを行えばよい。また、プロセッサ11は、プロセッサ10からの起動指示に依存せず、システム電源15の投入後に自律的にDRAM13の正常性チェックを開始してもよい。
ステップS103では、プロセッサ10が、フラッシュメモリ14からカーネルイメージ141を直接的に読み出して実行することにより、OSの起動処理を開始する。
ステップS111では、フラッシュメモリ14内に格納されたカーネルイメージ141を用いたOSの起動処理(ステップS103)と時間的に並行して、プロセッサ11がDRAM13内のカーネルイメージ131の正常性をチェックする。正常性のチェックは、チェックサム、CRC、ハッシュ値、パリティ等の誤り検出技術を用いて行えばよい。
図4Aは、プロセッサ10によるOSの起動処理と、プロセッサ11によるDRAM13の正常性チェックが同時に行われる様子を示す概念図である。プロセッサ10は、アクセス先変更部12を介してフラッシュメモリ14にアクセスし、カーネルイメージ141を読み出して実行する。一方、プロセッサ11は、DRAM13にアクセスし、DRAM13内の少なくともカーネルイメージ131が格納された領域について正常性チェックを行う。
図3に戻り説明を続ける。ステップS112では、プロセッサ11は、正常性チェックの結果を判定する。正常性チェック結果の判定がOKであった場合、つまりデータ誤りが検出されなかった場合又は全ての誤りを修復できた場合、プロセッサ11は、ステップS114に進む。ステップS114では、プロセッサ11は、アクセス先変更部12に対してアクセス先の変更を要求する。
プロセッサ11による要求に応じて、アクセス先変更部12は、プロセッサ10により生成されるカーネルイメージの読み出しアドレスに対応したアクセス先をフラッシュメモリ14からDRAM13に変更する。これにより、プロセッサ10により生成される物理アドレスによるアクセス先が低速なフラッシュメモリ14から高速なDRAM13に切り替えられ、プロセッサ10によるOSの起動処理が継続される。
図4Bは、プロセッサ11によるアクセス先の変更要求(図3のS114)が行われた後のプロセッサ10によるOS起動処理の様子を示す概念図である。プロセッサ11は、アクセス先変更部12にアクセス先の変更要求を通知する。プロセッサ10は、アクセス先変更部12を介してDRAM13にアクセスし、カーネルイメージ131を読み出して実行する。
図3に戻り説明を続ける。ステップS112における正常性チェック結果の判定がNGであった場合、つまり、修復不可能なデータ誤りが検出された場合、プロセッサ11は、フラッシュメモリ14からDRAM13へカーネルイメージのコピーを行う。コピーが行われている間、プロセッサ10は、フラッシュメモリ14に格納されたカーネルイメージ141を実行することにより、OSの起動処理を継続できる。DRAM13へのカーネルイメージのコピーが完了した場合、既に述べた正常性チェック結果の判定がOKであった場合と同様に、プロセッサ11はアクセス先変更部12に対してアクセス先の変更を要求する(ステップS114)。
上述したように、本実施の形態にかかる情報処理装置1は、マルチプロセッサ構成を有している。そして、1つのプロセッサ10は、システム電源15がONされた後に、不揮発性メモリ14に格納されたカーネルイメージを読み出してOSの起動処理を開始する。もう1つのプロセッサ11は、プロセッサ10によるOS起動処理と並行して、揮発性メモリ13からOSを起動するための準備処理を行う。ここでの準備処理は、揮発性メモリ13に保持されたOSプログラム(カーネルイメージ)の正常性をチェックと、データ誤りを検知した場合の不揮発性メモリ14から揮発性メモリ13へのOSプログラムのロードを含む。
これにより、情報処理装置1は、不揮発性メモリ14から揮発性メモリ13へのOSプログラムのロード処理や、揮発性メモリ13にバックアップされたOSプログラムの正常性チェックの完了を待つことなく、これらの処理と並行して速やかにOS起動処理を開始することができる。なお、情報処理装置1は、揮発性メモリ13内のOSプログラムの正常性チェック結果がOKであるかNGであるかに関わらず、OS起動処理の開始タイミングを早期化できる。
さらに、情報処理装置1は、プロセッサ11の準備処理によって揮発性メモリ13内のOSプログラム(カーネルイメージ131)が使用可能と判断されたことに応じて、プロセッサ10のOS起動処理に関するアクセス先を不揮発性メモリ14からアクセス速度が高速な揮発性メモリ13に変更する。
つまり、情報処理装置1は、不揮発性メモリ14にアクセスしていち早くOSの起動処理を開始するとともに、揮発性メモリ13内のOSプログラムが使用可能となったことに応じてアクセス先を揮発性メモリ13に変更してOSの起動処理を継続する。このため、情報処理装置1は、システム電源15が投入されてからOSの起動が完了するまでに要する時間を短縮できる。
<発明の実施の形態2>
本実施の形態にかかる情報処理装置2の構成を図5に示す。情報処理装置2は、第3のプロセッサ22を有する点において、上述した情報処理装置1と構成上相違する。プロセッサ22は、プロセッサ11が行う準備処理、即ちDRAM13に保持されたカーネルイメージ131の正常性チェック処理とフラッシュメモリ14からDRAM13へのカーネルイメージのロード処理の一部を分担して実行する。
なお、2つのプロセッサ11及び21にカーネルイメージ131の正常性チェック処理を分担させるためには、カーネルイメージ131を少なくとも2つのブロックに区切り、ブロック毎のチェックサムを保持しておけばよい。そして、プロセッサ11及び21にブロック単位で処理を分担させればよい。
本実施の形態によれば、プロセッサ10が不揮発性メモリ14からOSプログラムを読み出して実行可能となるための準備処理を複数のプロセッサ11及び22により分担して実行できる。このため、準備処理に要する時間が短縮され、OS起動処理の完了までに要する時間を短縮することができる。
なお、図5には、合計3つのプロセッサを配置し、1つのプロセッサが不揮発性メモリ14からOS起動を開始するとともに、残りの2つのプロセッサが準備処理を分担する場合について説明した。ここでの準備処理は、揮発性メモリ13の正常性チェック、及び必要に応じて行われる不揮発性メモリ14から揮発性メモリ13へのOSプログラム(カーネルイメージ)のコピーを含む。しかしながら、準備処理を分担するプロセッサの数は、2つに限られない。つまり、情報処理装置2は、4つ以上のプロセッサを有し、3つ以上のプロセッサが準備処理を分担してもよい。
<発明の実施の形態3>
上述した発明の実施の形態1及び2では、揮発性メモリ13の記憶内容を保持するためのバックアップ電源16を有する情報処理装置に関して説明した。本実施の形態では、バックアップ電源16を持たない情報処理装置に本発明を適用した場合について説明する。図6は、本実施の形態にかかる情報処理装置3の構成を示すブロック図である。情報処理装置3は、バックアップ電源16を有していないため、システム電源15の投入後にフラッシュメモリ14からDRAM13にカーネルイメージをロードする必要がある。
情報処理装置3は、2つのプロセッサ10及び31を有する。このうち、プロセッサ10は、フラッシュメモリ14からカーネルイメージ141を読み出して実行することによりOSの起動処理を開始する。当該処理は、上述した発明の実施の形態1及び2と同様である。一方、プロセッサ31は、プロセッサ10がDRAM13からカーネルイメージを読み出して実行可能となるための準備処理を実行する。ここでの準備処理は、フラッシュメモリ14からDRAM13へのカーネルイメージのコピーを含む。
図7は、情報処理装置3におけるOS起動手順を示すプロセッサ10及び31のシーケンス図である。図7のシーケンス図は、ステップS111及びS112を含まない点が図3に示した発明の実施の形態のシーケンス図と異なる。図7の例では、ブートローダ140は、フラッシュメモリ14からDRAM13へのカーネルイメージのコピーをプロセッサ31に開始させる。なお、プロセッサ31は、プロセッサ10からの起動指示に依存せず、システム電源15の投入後に自律的にカーネルイメージのコピーを開始してもよい。なお、図7に示した各ステップの処理内容は、図3に示したシーケンス図の対応するステップと同様であるため、ここでは重複説明を省略する。
本実施の形態によれば、不揮発性メモリ14から揮発性メモリ13へのOSプログラム(カーネルイメージ)をコピー処理の完了を待つことなく、当該処理と並行してOSの起動処理を開始することができ、システム電源15の投入後からOS起動処理の完了までに要する時間を短縮できる。
<その他の実施の形態>
発明の実施の形態3は、発明の実施の形態1又は2と組み合わせてもよい。つまり、情報処理装置1及び2が初めて起動される場合など、揮発性メモリ13にOSプログラムがバックアップされていない場合に、図7に示したOS起動手順を実行すればよい。
さらに、本発明は上述した実施の形態のみに限定されるものではなく、既に述べた本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。
本発明の実施の形態1にかかる情報処理装置のブロック図である。 本発明の実施の形態1における物理アドレス空間のメモリマップとアクセス先変更部の動作を示す概念図である。 本発明の実施の形態1におけるOS起動手順を示すシーケンス図である。 本発明の実施の形態1における物理アドレス空間のメモリマップと各構成要素の動作を示す概念図である。 本発明の実施の形態1における物理アドレス空間のメモリマップと各構成要素の動作を示す概念図である。 本発明の実施の形態2にかかる情報処理装置のブロック図である。 本発明の実施の形態3にかかる情報処理装置のブロック図である。 本発明の実施の形態3におけるOS起動手順を示すシーケンス図である。
符号の説明
1、2、3 情報処理装置
10、11、22、31 プロセッサ
12 アクセス先変更部
13 揮発性メモリ(DRAM)
14 不揮発性メモリ(フラッシュメモリ)
15 システム電源
16 バックアップ電源
100 物理アドレス空間
131 カーネルイメージ
140 ブートローダ
141 カーネルイメージ

Claims (10)

  1. 第1及び第2のプロセッサを備え、
    前記第2のプロセッサは、前記第1のプロセッサが第1のメモリからプログラムに関する命令群を読み出して実行可能となるための準備処理を実行し、
    前記第1のプロセッサは、前記第2のプロセッサによる前記準備処理の実行と時間的に並行して、前記第1のメモリとは異なる第2のメモリから前記プログラムに関する命令群を読み出して実行し、
    前記第1のプロセッサは、前記準備処理の完了に応じて命令群の取得先を前記第2のメモリから前記第1のメモリに切り替えて、前記プログラムを継続的に実行し、
    前記準備処理は、前記第1のメモリに記憶された命令群の正常性チェックを含み、
    前記第2のプロセッサは、前記正常性チェックの結果が異常であった場合、前記プログラムを前記第2のメモリから前記第1のメモリへコピーする
    情報処理装置。
  2. 前記第1のプロセッサと前記第1及び第2のメモリとの間に配置され、前記プロセッサが前記プログラムに関する命令群の取得のために生成する物理アドレスを受信する変更部をさらに備え、
    前記変更部は、前記準備処理の完了前には前記第2のメモリがアクセスされ、前記準備処理の完了後には前記第1のメモリがアクセスされるように、前記物理アドレスによるアクセス先を変更する、請求項1に記載の情報処理装置。
  3. 前記第1のプロセッサは、前記準備処理の完了前後に関わらず、前記第1のメモリに対応したアドレスを前記物理アドレスとして生成し、
    前記変更部は、前記準備処理の完了前において、前記物理アドレスを前記第2のメモリに対応する別アドレスに変換する、請求項2に記載の情報処理装置。
  4. 前記第1及び第2のプロセッサと時間的に並行して動作し、前記準備処理の一部を分担して実行する第3のプロセッサをさらに備える、請求項1〜3のいずれか1項に記載の情報処理装置。
  5. 前記第1のメモリは、前記第2のメモリに比べてアクセス速度が高速である、請求項1〜のいずれか1項に記載の情報処理装置。
  6. 第1のプロセッサが第1のメモリからプログラムに関する命令群を読み出して実行可能となるための準備処理を、第2のプロセッサに実行させるステップ(a)と、
    前記第2のプロセッサによる前記準備処理の実行と時間的に並行して、前記第1のプロセッサに、前記第1のメモリとは異なる第2のメモリから前記プログラムに関する命令群を読み出して実行させるステップ(b)と、
    前記準備処理の完了に応じて、前記第1のプロセッサによる前記プログラムに関する命令群の取得先を前記第2のメモリから前記第1のメモリに切り替えるステップ(c)と、
    を備え
    前記ステップ(a)において、
    前記準備処理は、前記第1のメモリに記憶された命令群の正常性チェックを含み、
    前記第2のプロセッサは、前記正常性チェックの結果が異常であった場合、前記プログラムを前記第2のメモリから前記第1のメモリへコピーする
    プログラムの起動制御方法。
  7. 前記第1のプロセッサによる前記プログラムに関する命令群の取得先の切り替えは、前記プロセッサが生成する物理アドレスによるアクセス先を前記第1及び第2のメモリの間で変更することにより行われる、請求項に記載の方法。
  8. 前記物理アドレスによるアクセス先の変更は、前記第1のプロセッサと前記第1及び第2のメモリとの間に配置された変更部を制御することにより行う、請求項に記載の方法。
  9. 前記物理アドレスは、前記準備処理の完了前後に関わらず、前記第1のメモリに対応したアドレスとして生成され、
    前記ステップ(b)では、前記物理アドレスが前記第2のメモリに対応する別アドレスに変換されるよう前記変更部を制御する、請求項に記載の方法。
  10. 第1及び第2のプロセッサを備える情報処理装置に実行されることにより、特定プログラムの起動制御を実現する起動制御プログラムであって、
    前記第1のプロセッサが第1のメモリから前記特定プログラムに関する命令群を読み出して実行可能となるための準備処理を、前記第2のプロセッサに実行させるプログラムコードと、
    前記第2のプロセッサによる前記準備処理の実行と時間的に並行して、前記第1のプロセッサに、前記第1のメモリとは異なる第2のメモリから前記プログラムに関する命令群を読み出して実行させるプログラムコードと、
    前記準備処理の完了に応じて、前記第1のプロセッサによる前記プログラムに関する命令群の取得先を前記第2のメモリから前記第1のメモリに切り替える処理を実行させるプログラムコードと、
    を含
    前記準備処理は、前記第1のメモリに記憶された命令群の正常性チェックを含み、
    前記第2のプロセッサは、前記正常性チェックの結果が異常であった場合、前記プログラムを前記第2のメモリから前記第1のメモリへコピーする
    起動制御プログラム。
JP2008320528A 2008-12-17 2008-12-17 情報処理装置、プログラムの起動制御方法、及び起動制御プログラム Expired - Fee Related JP5035227B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008320528A JP5035227B2 (ja) 2008-12-17 2008-12-17 情報処理装置、プログラムの起動制御方法、及び起動制御プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008320528A JP5035227B2 (ja) 2008-12-17 2008-12-17 情報処理装置、プログラムの起動制御方法、及び起動制御プログラム

Publications (2)

Publication Number Publication Date
JP2010146142A JP2010146142A (ja) 2010-07-01
JP5035227B2 true JP5035227B2 (ja) 2012-09-26

Family

ID=42566549

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008320528A Expired - Fee Related JP5035227B2 (ja) 2008-12-17 2008-12-17 情報処理装置、プログラムの起動制御方法、及び起動制御プログラム

Country Status (1)

Country Link
JP (1) JP5035227B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013097715A (ja) * 2011-11-04 2013-05-20 Nikon Corp 電子機器およびプログラム
JP2013117932A (ja) * 2011-12-05 2013-06-13 Canon Inc コントローラ、記録装置及びその処理方法
JP6048020B2 (ja) 2012-09-13 2016-12-21 株式会社リコー 情報処理装置
JP2014229209A (ja) * 2013-05-24 2014-12-08 株式会社ケーヒン マルチコアシステム
JP6250447B2 (ja) 2014-03-20 2017-12-20 株式会社メガチップス 半導体装置及び命令読み出し制御方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0764938A (ja) * 1993-08-23 1995-03-10 Sharp Corp マルチcpuシステムの起動装置
JP2004295874A (ja) * 2003-03-07 2004-10-21 Matsushita Electric Ind Co Ltd マイコン応用システムおよびマイコン、並びに、信号処理システムおよび信号処理lsi
JP4901538B2 (ja) * 2007-03-06 2012-03-21 株式会社リコー データ転送方法,データ転送装置,電子機器および画像形成装置

Also Published As

Publication number Publication date
JP2010146142A (ja) 2010-07-01

Similar Documents

Publication Publication Date Title
JP5161696B2 (ja) 仮想計算機システムおよび仮想計算機システムにおけるエラー回復方法ならびに仮想計算機制御プログラム
JP5783809B2 (ja) 情報処理装置、起動方法およびプログラム
JP6399916B2 (ja) 情報処理装置およびその制御方法
JP5427245B2 (ja) マルチコアプロセッサを有する要求処理システム
US7711941B2 (en) Method and apparatus for booting independent operating systems in a multi-processor core integrated circuit
KR20120061938A (ko) 시스템 관리 모드의 프로세서에 상태 스토리지를 제공하기 위한 장치, 방법 및 시스템
JP5778296B2 (ja) 仮想計算機システム、仮想化機構、及びデータ管理方法
JP2007206885A (ja) コンピュータシステム及びシステム起動方法
JP5035227B2 (ja) 情報処理装置、プログラムの起動制御方法、及び起動制御プログラム
JP2008097105A (ja) 記憶装置及び起動方法
TW200935246A (en) Optimizing execution of single-threaded programs on a multiprocessor managed by compilation
JP2010500682A (ja) フラッシュメモリアクセス回路
JP2008102850A (ja) 情報処理装置及び情報処理方法
JP2013225208A (ja) 情報処理装置、情報処理方法、及びプログラム
JP2005071303A (ja) プログラム起動装置
JP2005157528A (ja) メモリ装置
US9361124B2 (en) Computer system and startup method
US20180011636A1 (en) Information processing apparatus and method of accessing a memory
US20220318053A1 (en) Method of supporting persistence and computing device
JP5996110B2 (ja) 計算機システム及び制御方法
WO2013136457A1 (ja) 仮想計算機システム、情報保存処理プログラム及び情報保存処理方法
WO2010116405A1 (ja) 不揮発性の主記憶を備えた計算機システム
KR101888781B1 (ko) 비휘발성 메모리를 이용하는 영속적 dram 스토리지 및 그 작동 방법
JP6973856B2 (ja) 情報処理装置、実行方法及びプログラムの修正方法
US20160266960A1 (en) Information processing apparatus and kernel dump method

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120208

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120221

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120420

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: 20120605

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120618

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150713

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5035227

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees