(57)【要約】【課題】演算処理用のメモリ領域の断片化を抑制できるようにする。【解決手段】情報処理装置１の起動処理において、メモリ２０の記憶領域に、記憶領域よりも小さい第１記憶領域２０ａおよび第２記憶領域２０ｂを設定する設定部１０８と、第２記憶領域２０ｂが使用不可能であり且つ第１記憶領域２０ａが使用可能であることを通知する第１通知情報を作成する作成部１０５と、第１通知情報に基づき、第１記憶領域２０ａに領域を確保してＯＳを起動する起動処理部１０４と、起動されたオペレーティングシステムから発行されるメモリ情報通知要求に応じて、第２記憶領域２０ｂを使用可能であることを通知する第２通知情報を応答する応答部１０６とを備える。【選択図】図４
2019204403.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサとメモリとを備えた情報処理装置であって、
当該情報処理装置の起動処理において、
前記メモリの記憶領域に、前記記憶領域よりも小さい第１記憶領域および第２記憶領域を設定する設定部と、
前記第２記憶領域が使用不可能であり且つ前記第１記憶領域が使用可能であることを通知する第１通知情報を作成する作成部と、
前記第１通知情報に基づき、前記第１記憶領域に領域を確保してオペレーティングシステムを起動する起動処理部と、
起動された前記オペレーティングシステムから発行されるメモリ情報通知要求に応じて、前記第２記憶領域を使用可能であることを通知する第２通知情報を応答する応答部と
を備えることを特徴とする、情報処理装置。
【請求項２】
前記作成部が、作成した前記第１通知情報を前記第１記憶領域に格納し、
前記起動処理部が、前記第１記憶領域から前記第１通知情報を読み出す
ことを特徴とする、請求項１記載の情報処理装置。
【請求項３】
プロセッサとメモリとを備えた情報処理装置の起動時においてオペレーティングシステムをロードさせるロードプログラムであって、
前記メモリの記憶領域に、前記記憶領域よりも小さい第１記憶領域および第２記憶領域を設定し、
前記第２記憶領域が使用不可能であり且つ前記第１記憶領域が使用可能であることを通知する第１通知情報を作成し、
前記第１通知情報に基づき、前記第１記憶領域に領域を確保してオペレーティングシステムを起動し、
起動された前記オペレーティングシステムから発行されるメモリ情報通知要求に応じて、前記第２記憶領域を使用可能であることを通知する第２通知情報を応答する
処理を前記プロセッサに実行させることを特徴とする、ロードプログラム。
【請求項４】
プロセッサとメモリとを備えた情報処理装置の起動時において、
前記メモリの記憶領域に、前記記憶領域よりも小さい第１記憶領域および第２記憶領域を設定する処理と、
前記第２記憶領域が使用不可能であり且つ前記第１記憶領域が使用可能であることを通知する第１通知情報を作成する処理と、
前記第１通知情報に基づき、前記第１記憶領域に領域を確保してオペレーティングシステムを起動する処理と、
起動された前記オペレーティングシステムから発行されるメモリ情報通知要求に応じて、前記第２記憶領域を使用可能であることを通知する第２通知情報を応答する処理と
を備えることを特徴とする、ロード方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置，ロードプログラムおよびロード方法に関する。
【背景技術】
【０００２】
例えば、ＨＰＣ（High Performance Computing）におけるＯＳ（Operating System）ジッタ対策として、複数のＣＰＵ（Central Processing Unit）コアのうち特定のＣＰＵコアにＯＳの処理を割り当て、その他のＣＰＵコアで演算処理を行なうことが知られている。また、演算処理用に最大限メモリを割り当て、且つメモリの断片化を防ぐために、メモリ領域をＯＳ処理用のメモリ領域と演算処理用のメモリ領域とに分割して用いることも行なわれている。このようなＯＳ処理用のメモリ領域と演算処理用のメモリ領域との分割は、ＯＳの機能によって実現される。
【０００３】
ＵＥＦＩ（Unified Extensible Firmware Interface）は、ＣＰＵ上のＯＳとファームウェアのインタフェース仕様およびその仕様に準拠したファームウェアプログラム本体を指す。なお、以下、特に記載のない場合は、ＵＥＦＩはファームウェアプログラム本体を指すものとする。
【０００４】
ＵＥＦＩはＣＰＵが起動された後、ＯＳを起動するために最小限のハードウェアの初期化を行なった後、ＵＥＦＩ内部のドライバ（以降、ＵＥＦＩドライバという）等をメモリ領域に配置する。そして、ＵＥＦＩは、ＵＥＦＩドライバによりＨＤＤ（Hard Disk Drive）などの記憶装置に対してディスクアクセスを行なったり、外部サーバに対するネットワークアクセスを行なったりすることで、ＯＳイメージをＤＲＡＭ（Dynamic Random Access Memory）などのメモリにロードし起動する。
【０００５】
ＯＳ起動後はＵＥＦＩ内部の一部のプログラムがメモリ上に常駐し、ＯＳからの呼び出しを受けて動作する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００３−２４２０２６号公報
【特許文献２】特開２００８−１５８９６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上述の如く、ＯＳ起動前にＵＥＦＩもメモリ領域を使用する。また、従来においては、メモリをＯＳ処理用の領域と演算処理用の領域とに分割することはＯＳの機能により実現している。従って、ＯＳの起動前においてＵＥＦＩは、ＯＳ処理用／演算処理用といった領域を認識することなくメモリ領域を使用する。
【０００８】
また使用されたメモリ領域の一部には、ＵＥＦＩのプログラムおよびデータが常駐し、ＯＳ処理及び演算処理のどちらの処理も使用できない領域となる。
【０００９】
これにより、演算処理用に設けたメモリ領域の途中にＵＥＦＩのプログラムおよびデータが存在することで、演算処理用のメモリ領域の断片化（フラグメンテーション）が生じ、性能低下を生じさせるという課題がある。
【００１０】
１つの側面では、本発明は、演算処理用のメモリ領域の断片化を抑制できるようにすることを目的とする。
【課題を解決するための手段】
【００１１】
このため、この情報処理装置は、プロセッサとメモリとを備えた情報処理装置であって、当該情報処理装置の起動処理において、前記メモリの記憶領域に、前記記憶領域よりも小さい第１記憶領域および第２記憶領域を設定する設定部と、前記第２記憶領域が使用不可能であり且つ前記第１記憶領域が使用可能であることを通知する第１通知情報を作成する作成部と、前記第１通知情報に基づき、前記第１記憶領域に領域を確保してオペレーティングシステムを起動する起動処理部と、起動された前記オペレーティングシステムから発行されるメモリ情報通知要求に応じて、前記第２記憶領域を使用可能であることを通知する第２通知情報を応答する応答部とを備える。
【発明の効果】
【００１２】
一実施形態によれば、演算処理用のメモリ領域の断片化を抑制できる。
【図面の簡単な説明】
【００１３】
【図１】実施形態の一例としての情報処理装置のハードウェア構成を模式的に示す図である。
【図２】実施形態の一例としての情報処理装置におけるメモリの記憶領域の使用方法を説明するための図である。
【図３】実施形態の一例としての情報処理装置における設定パラメータを例示する図である。
【図４】実施形態の一例としての情報処理装置の機能構成を示す図である。
【図５】実施形態の一例としての情報処理装置におけるメモリ領域通知用ＨＯＢの設定値を説明するための図である。
【図６】実施形態の一例としての情報処理装置におけるMemory Space Mapエントリの設定値を説明するための図である。
【図７】実施形態の一例としての情報処理装置におけるMemory Mapエントリの設定値を説明するための図である。
【図８】実施形態の一例としての情報処理装置におけるMemory Descriptorエントリの設定値を説明するための図である。
【図９】実施形態の一例としての情報処理装置におけるＳＥＣ処理部，ＰＥＩ処理部，ＤＸＥ処理部およびＯＳにおいてそれぞれ使用されるデータの関係を示す図である。
【図１０】実施形態の一例としての情報処理装置におけるＵＥＦＩ処理部によるＯＳ起動処理を説明するためのシーケンス図である。
【図１１】実施形態の一例としての情報処理装置におけるＰＥＩ処理部による処理を説明するためのフローチャートである。
【図１２】実施形態の一例としての情報処理装置におけるＤＸＥ処理部によるＯＳ起動処理を説明するためのフローチャートである。
【図１３】実施形態の一例としての情報処理装置におけるＤＸＥ処理部によるメモリ情報の通知処理を説明するためのフローチャートである。
【発明を実施するための形態】
【００１４】
以下、図面を参照して本情報処理装置，ロードプログラムおよびロード方法に係る実施の形態を説明する。ただし、以下に示す実施形態はあくまでも例示に過ぎず、実施形態で明示しない種々の変形例や技術の適用を排除する意図はない。すなわち、本実施形態を、その趣旨を逸脱しない範囲で種々変形（実施形態および各変形例を組み合わせる等）して実施することができる。また、各図は、図中に示す構成要素のみを備えるという趣旨ではなく、他の機能等を含むことができる。
【００１５】
（Ａ）構成
図１は実施形態の一例としての情報処理装置１のハードウェア構成を模式的に示す図である。
【００１６】
本情報処理装置１は、図１に示すように、ＣＰＵ１０，主記憶装置２０，ＲＯＭ（Read Only Memory）２１および記憶装置２２を備えたコンピュータである。情報処理装置１の構成要素は、図１に例示したものに限定されるものではなく、例えば、ディスプレイ，キーボード，マウス等の他の構成要素を備えてもよい。
【００１７】
例えば、オペレータはこれらのキーボードやマウスを操作して、本情報処理装置１の再起動指示を含む種々の指示や情報の入力操作を行なってもよい。又、この情報処理装置１は、図示しない電源スイッチをそなえ、オペレータがこの電源スイッチを操作することにより電力投入が行なわれる。
【００１８】
記憶装置２２は、例えば、ＨＤＤ（Hard Disk Drive），ＳＳＤ（Solid State Drive）等の記憶装置であって、ＣＰＵ１０が実行するＯＳや種々のプログラムやデータを格納するものである。
【００１９】
図１に示す例においては、記憶装置２２にＯＳ命令コード２１４が格納されている。
【００２０】
ＯＳ命令コード２１４は、ＯＳを構成する命令コード群であり、ＣＰＵ１０のコア１１−１〜１１−ｎに実行されることでＯＳとしての機能が実現される。
【００２１】
ＲＯＭ２１は、ＣＰＵ１０が実行するプログラムやデータを格納する半導体記憶装置である。
【００２２】
図１に示す例においては、ＲＯＭ２１にＵＥＦＩ命令コード２１０および設定パラメータ２２０が格納されている。
【００２３】
ＵＥＦＩにおいては、ＯＳが起動するまでに、主に、ＳＥＣ（Security）、ＰＥＩ（Pre-EFI Initialization）、ＤＸＥ（Driver Execution Environment）及びＢＤＳ（Boot Device Selection）の４つのフェーズをそなえ、各フェーズの処理オーダは、ＳＥＣ、ＰＥＩ、ＤＸＥ、ＢＤＳの順となる。
【００２４】
ＵＥＦＩ命令コード２１０は、プラットフォーム・ファームウェアであるＵＥＦＩを構成する命令コード群であり、ＣＰＵ１０のコア１１に実行されることで、本情報処理装置１のハードウェアにＯＳを読み込む（ロードする）準備を実現させる。すなわち、ＵＥＦＩ命令コード２１０はＯＳをロードさせるロードプログラムに相当する。
【００２５】
図１に示す例においては、ＵＥＦＩ命令コード２１０は、上述した各フェーズのうち、ＳＥＣ，ＰＥＩおよびＤＸＥをそれぞれ実現するためのＵＥＦＩ（ＳＥＣ）２１１，ＵＥＦＩ（ＰＥＩ）２１２およびＵＥＦＩ（ＤＸＥ）２１３の各モジュールを備えている。
【００２６】
主記憶装置２０は、種々のデータやプログラムを一時的に格納する記憶装置であって、ＣＰＵ１０がプログラムを実行する際に、データやプログラムを一時的に格納・展開して用いる。主記憶装置２０は、例えば、ＲＡＭ（Random Access Memory）である。以下、主記憶装置２０をメモリ２０という場合がある。また、以下、メモリ２０の記憶領域をメモリ領域という場合がある。
【００２７】
図２は実施形態の一例としての情報処理装置１におけるメモリ２０の記憶領域の使用方法を説明するための図である。
【００２８】
この図２に例示するように、本情報処理装置１においては、メモリ２０の記憶領域を、ＯＳ処理用メモリ領域２０ａと演算処理用メモリ領域２０ｂとに区分して用いる。
【００２９】
すなわち、ＯＳ処理用メモリ領域２０ａは、ＯＳによる処理（ＯＳ処理）とＵＥＦＩによる処理（ＵＥＦＩ処理）とに用いられ、演算処理用メモリ領域２０ｂは演算処理に用いられる。図２に示す例においては、演算処理用メモリ領域２０ｂは演算処理Ａと演算処理Ｂとに用いられている状態を示している。演算処理用メモリ領域２０ｂはＯＳ処理およびＵＥＦＩ処理に用いられることはない。
【００３０】
これにより、演算処理用メモリ領域２０ｂにおいて、ＵＥＦＩが使用する領域による断片化を防止することができる。
【００３１】
以下、ＯＳ処理用メモリ領域２０ａおよび演算処理用メモリ領域２０ｂに対して、区分されていないメモリ２０全体の記憶領域を実メモリ領域という場合がある。
【００３２】
ＯＳ処理用メモリ領域２０ａおよび演算処理用メモリ領域２０ｂは、設定パラメータ２２０を参照することで把握することができる。
【００３３】
設定パラメータ２２０はＵＥＦＩ処理部１００による処理において用いられる各種パラメータの設定値を格納する。
【００３４】
図３は実施形態の一例としての情報処理装置１における設定パラメータ２２０を例示する図である。
【００３５】
図３に例示する設定パラメータ２２０は、設定パラメータ名として、メモリ領域のサイズ，メモリ領域のベースアドレスおよび演算処理用メモリ領域のサイズを備える。
【００３６】
メモリ領域のサイズは、主記憶装置２０のメモリ領域の全サイズであり、図３に示す例においては、“4GB”が設定されている。
【００３７】
メモリ領域のベースアドレスは、例えば、メモリ領域の先頭アドレスであり、図３に示す例においては、“0x0000_0000”が設定されている。
【００３８】
演算処理用メモリ領域のサイズは、メモリ領域における演算処理用メモリ領域２０ｂのサイズであり、図３に示す例においては、“3GB”が設定されている。従って、メモリ２０においては、メモリ領域のサイズ（4GB）から演算処理用メモリ領域２０ｂのサイズ（3GB）を減算することで、ＯＳ処理用メモリ領域２０ａのサイズ（1GB）を求めることができる。
【００３９】
なお、設定パラメータ２２０は図３に示す例に限定されるものではなく、種々変形して実施することができる。例えば、図３に示す例においては、設定パラメータ２２０に演算処理用メモリ領域のサイズが備えられているが、これに限定されるものではない。すなわち、演算処理用メモリ領域のサイズに代えてＯＳ処理用メモリ領域のサイズを備えてもよく、また、演算処理用メモリ領域のサイズとともにＯＳ処理用メモリ領域のサイズを備えてもよい。また、設定パラメータ２２０には、図３に例示した以外の情報を備えてもよい。
【００４０】
設定パラメータ２２０は、後述するＵＥＦＩ処理部１００による処理の切り替えに用いられる。
【００４１】
ＣＰＵ（プロセッサ）１０は、種々の制御や演算を行なう処理装置であり、ＲＯＭ２１や記憶装置２２等に格納されたプログラムを実行することにより、種々の機能を実現する。
【００４２】
ＣＰＵ１０は、ｎ個（ｎは１以上の自然数）のコア（ＣＰＵコア）１１−１〜１１−ｎと、ｍ個（ｍは１以上の自然数）のＭＡＣ（Memory Access Controller）１２−１〜１２−ｍを備える。
【００４３】
なお、以下、コアを示す符号としては、複数のコアのうち１つを特定する必要があるときには符号１１−１〜１１−ｎを用いるが、任意のコアを指すときには符号１１を用いる。また、以下、ＭＡＣを示す符号としては、複数のＭＡＣのうち１つを特定する必要があるときには符号１２−１〜１２−ｍを用いるが、任意のＭＡＣを指すときには符号１２を用いる。
【００４４】
ＭＡＣ１２は各コア１１からメモリ２０の記憶領域に対するデータアクセスを制御する。各コア１１はＭＡＣ１２を介してメモリ領域にアクセスする。メモリ領域はＣＰＵ１０（コア１１）に対して物理アドレスが連続な一塊の領域としてマッピングされる。
【００４５】
そして、本情報処理装置１においてはＣＰＵ１０に備えられた複数のコア１１のうちプライマリに設定されたコア１１（例えば、コア１１−１）が、ＵＥＦＩ命令コード２１０（ロードプログラム）を実行することにより、図４に示すように、ＵＥＦＩ処理部１００およびＯＳ処理部１０７として機能する。
【００４６】
なお、これらのＵＥＦＩ処理部１００およびＯＳ処理部１０７としての機能を実現するためのプログラム（ロードプログラム）は、例えばフレキシブルディスク，ＣＤ（ＣＤ−ＲＯＭ，ＣＤ−Ｒ，ＣＤ−ＲＷ等），ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−ＲＡＭ，ＤＶＤ−Ｒ，ＤＶＤ＋Ｒ，ＤＶＤ−ＲＷ，ＤＶＤ＋ＲＷ，ＨＤ  ＤＶＤ等），ブルーレイディスク，磁気ディスク，光ディスク，光磁気ディスク等の、コンピュータ読取可能な記録媒体に記録された形態で提供される。そして、コンピュータはその記録媒体からプログラムを読み取って内部記憶装置または外部記憶装置に転送し格納して用いる。また、そのプログラムを、例えば磁気ディスク，光ディスク，光磁気ディスク等の記憶装置（記録媒体）に記録しておき、その記憶装置から通信経路を介してコンピュータに提供するようにしてもよい。
【００４７】
ＵＥＦＩ処理部１００およびＯＳ処理部１０７としての機能を実現する際には、内部記憶装置（本実施形態ではＲＯＭ２１）に格納されたプログラムがコンピュータのマイクロプロセッサ（本実施形態ではコア１１）によって実行される。このとき、記録媒体に記録されたプログラムをコンピュータが読み取って実行するようにしてもよい。
【００４８】
図４は実施形態の一例としての情報処理装置１の機能構成を示す図である。
【００４９】
この図４に示すように、本情報処理装置１は、ＵＥＦＩ処理部１００およびＯＳ処理部１０７としての機能を備える。
【００５０】
例えば、コア１１がＯＳ命令コード２１４を実行することで、ＯＳ処理部１０７としての機能が実現される。
【００５１】
ＯＳ処理部１０７は、ＯＳとしての機能を実現する。なお、ＯＳとしての機能は既知であり、その説明は省略する。
【００５２】
ＯＳ処理部１０７は、メモリ２０のＯＳ処理用メモリ領域２０ａを用いてその機能を実現する。
【００５３】
ＵＥＦＩ処理部１００は、メモリ管理部１０１，ＳＥＣ処理部１０２，ＰＥＩ処理部１０３およびＤＸＥ処理部１０４としての機能を備える。
【００５４】
また、例えば、ＣＰＵ１０に備えられた複数のコア１１のうちプライマリに設定されたコア１１（例えば、コア１１−１）がＵＥＦＩ命令コード２１０を実行することで、ＵＥＦＩ処理部１００としての機能が実現される。
【００５５】
ＵＥＦＩ処理部１００は、本情報処理装置１のハードウェアにＯＳを読み込む準備を実現させる。
【００５６】
例えば、コア１１−１がＵＥＦＩ命令コード２１０に含まれる図示しないメモリ管理プログラムを実行することで、メモリ管理部１０１としての機能を実現してもよい。
【００５７】
メモリ管理部１０１は、メモリ２０を管理する。例えば、メモリ管理部１０１は、本情報処理装置１の起動時において、メモリ２０にＯＳ処理用メモリ領域２０ａおよび演算処理用メモリ領域２０ｂを設定する。
【００５８】
メモリ管理部１０１は、その起動時において実メモリ（メモリ２０）のメモリ容量よりも小さい値をＯＳ処理用メモリ領域２０ａのサイズとして、例えば、設定パラメータ２２０や図示しないレジスタ等に格納（設定）してもよい。本実施形態においては、メモリ管理部１０１は、実メモリ（メモリ２０）のメモリ容量よりも小さい値である演算処理用メモリ領域２０ｂのサイズを設定パラメータ２２０に設定する。その後、メモリ管理部１０１は、ドライバープログラムを起動する。
【００５９】
ドライバープログラムは、小さいメモリ領域（ＯＳ処理用メモリ領域２０ａや演算処理用メモリ領域２０ｂ）が設定されたメモリ管理プログラムを通じてメモリ２０を獲得する。ＵＥＦＩ処理部１００（ＤＸＥ処理部１０４；詳細は後述）は、ＯＳを起動する際に実メモリ領域を通知する。
【００６０】
また、ＣＰＵ１０に備えられた複数のコア１１のうちプライマリに設定されたコア１１（例えば、コア１１−１）がＵＥＦＩ命令コード２１０のＵＥＦＩ（ＳＥＣ）２１１を実行することでＳＥＣ処理部１０２としての機能が実現される。また、コア１１−１がＵＥＦＩ（ＰＥＩ）２１２を実行することでＰＥＩ処理部１０３としての機能が実現され、コア１１がＵＥＦＩ（ＤＸＥ）２１３を実行することでＤＸＥ処理部１０４としての機能が実現される。
【００６１】
ＳＥＣ処理部１０２は、ＵＥＦＩにおけるＳＥＣフェーズを実現する。ＳＥＣ処理部１０２は、ＣＰＵ１０の初期化を行なう。例えば、ＳＥＣ処理部１０２は、各部のリセット処理（Reset Event）を行なう。
【００６２】
その後、ＳＥＣ処理部１０２は、ＵＥＦＩ（ＰＥＩ）２１２をコア１１−１に実行させることで、ＰＥＩ処理部１０３を起動する。
【００６３】
ＰＥＩ処理部１０３は、ＵＥＦＩにおけるＰＥＩフェーズを実現する。ＰＥＩフェーズにおいては、ＣＰＵ１０の初期化が終了し、メモリ２０が検出される。
【００６４】
また、ＰＥＩ処理部１０３は、設定パラメータ２２０を参照して、この設定パラメータ２２０に登録された情報に基づき、ＯＳ処理用メモリ領域２０ａおよび演算処理用メモリ領域２０ｂを認識する。
【００６５】
そして、ＰＥＩ処理部１０３は、全メモリ領域を初期化する。
【００６６】
また、ＰＥＩ処理部１０３は、メモリ領域設定部１０８およびメモリ領域通知用ＨＯＢ（Hand-Off-Block）作成部１０５としての機能を有する。
【００６７】
メモリ領域設定部１０８は、メモリ２０の記憶領域においてＯＳ処理用メモリ領域２０ａおよび演算処理用メモリ領域２０ｂを設定（認識）する。
【００６８】
メモリ領域設定部１０８は、設定パラメータ２２０に設定された各値を読み出し、これらの値に基づいてＯＳ処理用メモリ領域２０ａおよび演算処理用メモリ領域２０ｂを認識する。
【００６９】
メモリ領域通知用ＨＯＢ作成部１０５は、ＯＳ処理用メモリ領域２０ａを使用可能、且つ、演算処理用メモリ領域２０ｂを使用不可能と設定した、メモリ領域通知用ＨＯＢを作成する。
【００７０】
このメモリ領域通知用ＨＯＢは、演算処理用メモリ領域２０ｂが使用不可能であり且つＯＳ処理用メモリ領域２０ａが使用可能であることを通知する第１通知情報に相当する。
【００７１】
そして、メモリ領域通知用ＨＯＢ作成部１０５は、作成したメモリ領域通知用ＨＯＢをＯＳ処理用メモリ領域２０ａに格納する。ＰＥＩ処理部１０３は、このＯＳ処理用メモリ領域２０ａを介してメモリ領域通知用ＨＯＢをＤＸＥ処理部１０４に通知する。
【００７２】
本情報処理装置１において、メモリ領域通知用ＨＯＢは属性情報が同じ物理連続なメモリ領域に対して１つ作成される。すなわち、メモリ領域通知用ＨＯＢ作成部１０５は、メモリ２０に対して、ＯＳ処理用メモリ領域２０ａ用のメモリ領域通知用ＨＯＢと、演算処理用メモリ領域２０ｂ用のメモリ領域通知用ＨＯＢとの２つのメモリ領域通知用ＨＯＢを作成する。
【００７３】
以下、ＯＳ処理用メモリ領域２０ａ用のメモリ領域通知用ＨＯＢをＯＳ処理用メモリ領域通知用ＨＯＢという場合がある。また、演算処理用メモリ領域２０ｂ用のメモリ領域通知用ＨＯＢを演算処理用メモリ領域通知用ＨＯＢという場合がある。
【００７４】
また、以下、メモリ領域通知用ＨＯＢを単にＨＯＢという場合がある。
【００７５】
図５は実施形態の一例としての情報処理装置１におけるメモリ領域通知用ＨＯＢの設定値を説明するための図であり、メモリ領域通知用ＨＯＢに備えられる項目（field）とその値（value）とを対応付けて示す。
【００７６】
この図５に示す例においては、メモリ領域通知用ＨＯＢに備えられる項目（field）として、Header，Owner，ResourceType，ResourceAttribute，PhysicalStartおよびResourceLengthを示している。これらの項目は、メモリ領域通知用ＨＯＢに備えられる項目の少なくとも一部を示す。
【００７７】
メモリ領域通知用ＨＯＢ作成部１０５は、設定パラメータ２２０の値を用いてメモリ領域通知用ＨＯＢを作成する。
【００７８】
例えば、メモリ領域通知用ＨＯＢ作成部１０５は、設定パラメータ２２０から読み出したメモリ領域のベースアドレス（例えば、0x0000_0000）をPhysicalStartに設定する。また、メモリ領域通知用ＨＯＢ作成部１０５は、設定パラメータ２２０から読み出したメモリ領域のサイズ（例えば1GB）をResourceLengthに設定する。例えば、図３に例示する設定パラメータ２２０においては、1GBと3GBとをReourceLengthに設定した２つのＨＯＢが作成される。
【００７９】
メモリ領域通知用ＨＯＢ作成部１０５は、以下に示すように、ＯＳ処理用メモリ領域通知用ＨＯＢと演算処理用メモリ領域通知用ＨＯＢとにおいて、項目ResourceAttributeの値において違いを設ける。
【００８０】
すなわち、ＯＳ処理用メモリ領域通知用ＨＯＢにおいては、ResourceAttributeにおいて、以下の５つのフラグの値のＯＲ値が備えられる。
【００８１】
EFI_RESOURCE_ATTRIBUTE_PRESENT
EFI_RESOURCE_ATTRIBUTE_INITIALIZED
EFI_RESOURCE_ATTRIBUTE_TESTED
EFI_RESOURCE_ATTRIBUTE_SINGLE_BIT_ECC
EFI_RESOURCE_ATTRIBUTE_WRITE_BACK_CACHEABLE
ここで、フラグEFI_RESOURCE_ATTRIBUTE_PRESENTはＯＳ処理用メモリ領域２０ａが存在する（PRESENT）ことを示す。また、フラグEFI_RESOURCE_ATTRIBUTE_INITIALIZEDはＯＳ処理用メモリ領域２０ａが初期化済み（INITIALIZED）であることを示す。さらに、フラグEFI_RESOURCE_ATTRIBUTE_TESTEDは、ＯＳ処理用メモリ領域２０ａがテスト済み（TESTED）であることを示す。
【００８２】
従って、ＯＳ処理用メモリ領域２０ａに関しては、これらのフラグEFI_RESOURCE_ATTRIBUTE_PRESENTEFI_RESOURCE_ATTRIBUTE_INITIALIZEDおよびEFI_RESOURCE_ATTRIBUTE_TESTEDが設定されることで、このメモリ領域通知用ＨＯＢを受信したＤＸＥ処理部１０４において、存在し（PRESENT）、初期化済み（INITIALIZED）であり、且つテスト済み（TESTED）であり、使用可能な領域として取り扱われる。
【００８３】
従って、ＯＳ処理用メモリ領域通知用ＨＯＢは、ＯＳ処理用メモリ領域２０ａが使用可能であることを通知する通知情報として機能する。
【００８４】
一方、演算処理用メモリ領域通知用ＨＯＢにおいては、ResourceAttributeにおいて、以下の４種類のフラグのＯＲ値が備えられる。
【００８５】
EFI_RESOURCE_ATTRIBUTE_PRESENT
EFI_RESOURCE_ATTRIBUTE_INITIALIZED
EFI_RESOURCE_ATTRIBUTE_SINGLE_BIT_ECC
EFI_RESOURCE_ATTRIBUTE_WRITE_BACK_CACHEABLE
このように、演算処理用メモリ領域２０ｂに関しては、フラグEFI_RESOURCE_ATTRIBUTE_PRESENTおよびEFI_RESOURCE_ATTRIBUTE_INITIALIZEDが設定されているので、存在し（PRESENT）、且つ、初期化済み（INITIALIZED）であるが、テスト済（TESTED）であることが設定されていない。
【００８６】
これにより、演算処理用メモリ領域通知用ＨＯＢを受信したＤＸＥ処理部１０４において、演算処理用メモリ領域２０ｂは、「未テストの状態」＝「使用できるか不明な状態」と判断され、その結果「使用しない（使用不可能）領域」として取り扱われる。
【００８７】
従って、演算処理用メモリ領域通知用ＨＯＢは、演算処理用メモリ領域２０ｂが使用不可能であることを通知する通知情報として機能する。
【００８８】
このように、ＰＥＩ処理部１０３においてメモリ領域通知用ＨＯＢ作成部１０５が演算処理用メモリ領域２０ｂを使用不可能と設定したメモリ領域通知用ＨＯＢ（演算処理用メモリ領域通知用ＨＯＢ）をＤＸＥ処理部１０４に通知する。これにより、ＤＸＥ処理部１０４は、メモリ２０におけるＯＳ処理用メモリ領域２０ａのみを使用可能な領域として認識する。すなわち、ＵＥＦＩ処理部１００がメモリ２０における演算処理用メモリ領域２０ｂを使用することを阻止する。
【００８９】
ＰＥＩ処理部１０３は、ＵＥＦＩ（ＤＸＥ）２１３のイメージをＯＳ処理用メモリ領域２０ａにコピーした後、このＵＥＦＩ（ＤＸＥ）２１３をコア１１−１に実行させることで、ＤＸＥ処理部１０４を起動させる。
【００９０】
ＤＸＥ処理部１０４は、ＵＥＦＩにおけるＤＸＥフェーズを実現する。
【００９１】
ＤＸＥ処理部１０４は、メモリ領域通知用ＨＯＢによって使用可能と通知されたメモリ領域、すなわち、ＯＳ処理用メモリ領域２０ａにおいて適宜使用するメモリを確保した後、ＯＳを起動させる。
【００９２】
従って、ＤＸＥ処理部１０４は、メモリ領域通知用ＨＯＢに基づき、ＯＳ処理用メモリ領域２０ａに領域を確保してＯＳを起動する起動処理部として機能する。
【００９３】
また、ＤＸＥ処理部１０４は、メモリ領域情報通知部１０６としての機能を有する。
【００９４】
メモリ領域情報通知部１０６は、ＯＳからメモリ情報通知要求を受信すると、メモリ領域通知用ＨＯＢで使用可能と通知されたメモリ領域（ＯＳ処理用メモリ領域２０ａ）のうち、ＤＸＥ処理部１０４ですでに使用済みの領域と未使用の領域との情報をＯＳに通知する。
【００９５】
メモリ情報通知要求は、ＯＳの起動処理の過程において、ＯＳからＤＸＥ処理部１０４に対して発行される問合せ通知であり、ＯＳが使用できるメモリ領域を問い合わせる。
【００９６】
さらに、メモリ領域情報通知部１０６は、メモリ領域通知用ＨＯＢによって使用不可能と通知されたメモリ領域、すなわち演算処理用メモリ領域２０ｂを、使用可能、且つ、未使用領域としてＯＳに通知する。この通知が、演算処理用メモリ領域２０ｂを使用可能であることを通知する第２通知情報に相当する。
【００９７】
この第２通知情報により、本情報処理装置１において、ＯＳがメモリ２０における演算処理用メモリ領域２０ｂを使用することができるようになる。すなわち、ＤＸＥ処理部１０４は、演算処理用メモリ領域２０ｂを使用不可能な状態から解放して使用可能な状態に移行させる。
【００９８】
従って、メモリ領域情報通知部１０６は、ＯＳから発行されるメモリ情報通知要求に応じて、演算処理用メモリ領域２０ｂを使用可能であることを通知する第２通知情報を応答する応答部として機能する。
【００９９】
ＤＸＥ処理部１０４は、メモリ領域通知用ＨＯＢを用いてメモリスペースマップ（Memory Space Map）を作成する。Memory Space Mapは、ＤＸＥ処理部１０４で認識するメモリ２０の構成情報であり、Memory Space Mapエントリと呼ばれるデータ構造の集合である。
【０１００】
図６は実施形態の一例としての情報処理装置１におけるMemory Space Mapエントリの設定値を説明するための図であり、Memory Space Mapに備えられる項目（field）とその値（value）とを対応付けて示す。
【０１０１】
この図６に示す例においては、Memory Space Mapに備えられる項目（field）として、BaseAddress，EndAddress， AttributesおよびGcdMemoryTypeを示している。これらの項目は、Memory Space Mapに備えられる項目の少なくとも一部を示す。
【０１０２】
GcdMemoryTypeには、ハードウェアとしてのメモリ領域の種別を示す値が設定される。
【０１０３】
すなわち、GcdMemoryTypeには、対応するメモリ領域通知用ＨＯＢのResourceAttributeの情報を基に設定されるメモリ領域の種別が設定される。
【０１０４】
例えば、(i)メモリ領域通知用ＨＯＢのResourceAttributeにEFI_RESOURCE_ATTRIBUTE_TESTEDが設定されている場合、ＤＸＥ処理部１０４は、GcdMemoryTypeにEfiGcdMemoryTypeSystemMemoryを設定する。このEfiGcdMemoryTypeSystemMemoryはＯＳ処理用メモリ領域２０ａであることを示す。
【０１０５】
また、(ii)メモリ領域通知用ＨＯＢのResourceAttributeにEFI_RESOURCE_ATTRIBUTE_TESTEDが設定されておらず、且つEFI_RESOURCE_ATTRIBUTE_INITIALIZEDもしくはEFI_RESOURCE_ATTRIBUTE_PRESENTのどちらかが設定されている場合は、ＤＸＥ処理部１０４はGcdMemoryTypeにEfiGcdMemoryTypeReservedを設定する。このEfiGcdMemoryTypeReservedは、演算処理用メモリ領域２０ｂであることを示す。
【０１０６】
また、上記(i)，(ii)のいずれにも該当しない場合には、ＤＸＥ処理部１０４は、GcdMemoryTypeにEfiGcdMemoryTypeNonExistentを設定する。
【０１０７】
従って、ＯＳ処理用メモリ領域２０ａに対してはEfiGcdMemoryTypeSystemMemoryが設定され、演算処理用メモリ領域２０ｂに対してはEfiGcdMemoryTypeReservedが、それぞれ設定される。
【０１０８】
ＤＸＥ処理部１０４のメモリ領域情報通知部１０６は、メモリマップ（Memory Map）を作成する。Memory Mapは、メモリ２０の管理に用いられ、現時点でメモリ２０がどのように使用されているかを表す。Memory Mapは、Memory Mapエントリと呼ばれるデータ構造の集合である。
【０１０９】
メモリ領域情報通知部１０６は、ＯＳからメモリ情報通知要求を受信するとMemory Mapのエントリを作成する。
【０１１０】
図７は実施形態の一例としての情報処理装置１におけるMemory Mapエントリの設定値を説明するための図であり、Memory Space Mapに備えられる項目（field）とその値（value）とを対応付けて示す。
【０１１１】
この図７に示す例においては、Memory Mapに備えられる項目（field）として、Type，Start，EndおよびAttributeを示している。これらの項目は、Memory Mapに備えられる項目の少なくとも一部を示す。
【０１１２】
Typeは、本エントリで表現するメモリ領域の種別を表し、プログラムによる使用用途を示す。
【０１１３】
Typeのvalueには、ＵＥＦＩ仕様のEFI_MEMORY_TYPEにおいて規定される値が用いられる。
【０１１４】
例えば、メモリ領域情報通知部１０６は、このTypeにおいて、エントリを新規作成（追加も含む）する際は、全てEfiConventionalMemoryを設定する。
【０１１５】
MemoryMapを初期化する際に、MemoryMapの各エントリは、MemorySpaceMapのGcdMemoryTypeがEfiGcdMemoryTypeSystemMemoryとなっているエントリに記載されている領域にのみ作成される。
【０１１６】
メモリ領域情報通知部１０６は、ＯＳからメモリ情報の通知要求（メモリ情報通知要求）を受けった場合に、MemorySpaceMapのGcdMemoryTypeがEfiGcdMemoryTypeReservedとなっている領域に対応するエントリを追加する。
【０１１７】
また、メモリ領域情報通知部１０６は、ＵＥＦＩが動作中にメモリが枯渇した場合にも、MemorySpaceMapのGcdMemoryTypeがEfiGcdMemoryTypeReservedとなっている領域に対応するエントリを追加する。これにより、メモリ２０のメモリ領域が不足した場合に、演算処理用メモリ領域２０ｂを使用することを可能にし、本情報処理装置１の起動処理を確実に実行することができる。
【０１１８】
さらに、メモリ領域情報通知部１０６は、メモリディスクリプタ（Memory Descriptor）の作成を行なう。Memory DescriptorはＵＥＦＩ処理部１００からＯＳに対して通知される情報であり、例えば、MemoryMapに基づいて作成される。Memory Descriptorは、Memory Descriptorエントリと呼ばれるデータ構造の集合である。
【０１１９】
図８は実施形態の一例としての情報処理装置１におけるMemory Descriptorエントリの設定値を説明するための図であり、Memory Descriptorに備えられる項目（field）とその値（value）とを対応付けて示す。
【０１２０】
この図８に示す例においては、Memory Descriptorに備えられる項目（field）として、Type，PhysicalStart，VirtualStartおよびNumberOfPagesを示している。これらの項目は、Memory Descriptorに備えられる項目の少なくとも一部を示す。
【０１２１】
Typeは、本エントリで表現するメモリ領域の種別を表し、プログラムによる使用用途を示す。
【０１２２】
Typeのvalueには、ＵＥＦＩ仕様のEFI_MEMORY_TYPEにおいて規定される値が用いられる。例えば、演算処理用メモリ領域２０ｂに対して、EfiConventionalMemoryが設定される。これにより、ＯＳが演算処理用メモリ領域２０ｂを使用することが可能となる。なお、ＯＳ処理用メモリ領域２０ａに対しては、メモリ２０の確保方法に対応した値が設定される。
【０１２３】
図９は実施形態の一例としての情報処理装置１におけるＳＥＣ処理部１０２，ＰＥＩ処理部１０３，ＤＸＥ処理部１０４およびＯＳにおいてそれぞれ使用されるデータの関係を示す図である。
【０１２４】
設定パラメータ２２０は、事前に作成されＲＯＭ２１に格納される。この設定パラメータ２２０はメモリ領域通知用ＨＯＢの作成に用いられる。
【０１２５】
メモリ領域通知用ＨＯＢは、ＰＥＩ処理部１０３（メモリ領域通知用ＨＯＢ作成部１０５）によって作成され、メモリ２０のＯＳ処理用メモリ領域２０ａに格納される。メモリ領域通知用ＨＯＢは、ＯＳ処理用メモリ領域２０ａを介してＤＸＥ処理部１０４に通知される。
【０１２６】
メモリ領域通知用ＨＯＢは、Memory Space Mapの作成に用いられる。Memory Space Mapは、ＤＸＥ処理部１０４で認識するメモリ２０の構成情報であって、ＤＸＥ処理部１０４によって生成される。Memory Space Mapは、メモリ２０のＯＳ処理用メモリ領域２０ａに格納される。
【０１２７】
Memory Space Mapは、Memory Mapの作成に用いられる。Memory Mapはメモリ２０の管理に用いられ、その時点において（現時点で）メモリ２０９がどのように使用されているかを表す。このMemory Mapは、ＤＸＥ処理部１０４（メモリ領域情報通知部１０６）によってMemory Space Mapに基づき作成される。
【０１２８】
Memory MapはMemory Descriptorの作成に用いられる。Memory Descriptorは、ＯＳに通知されるメモリ情報である。Memory Descriptorは、ＵＥＦＩ仕様にて規定されるEFI_MEMORY_DESCRIPTORに従った構造を有する。
【０１２９】
（Ｂ）動作
上述の如く構成された実施形態の一例としての情報処理装置１において、ＣＰＵ１０に電力が供給されると、各コア１１はＲＯＭ２１に格納されたＵＥＦＩ命令コード２１０を読み込み、読み込んだ命令コードの実行を開始する。すなわち、ＵＥＦＩとしての機能が実行される。
【０１３０】
ＵＥＦＩは、起動されると任意の１つのコア１１（例えば、コア１１−１）のみを使用してＯＳ起動処理を行なう。本情報処理装置１においては、ＯＳ起動処理用コアであるコア１１−１がＯＳ処理を担当し、その他のコア１１−２〜１１−ｎが演算処理を行なうものとする。
【０１３１】
実施形態の一例としての情報処理装置１におけるＵＥＦＩ処理部１００によるＯＳ起動処理を、図１０に示すシーケンス図に従って説明する。
【０１３２】
ＳＥＣ処理部１０２は、リセット処理（Reset Event）をハンドリングした後に、ＰＥＩ処理部１０３を起動する（矢印Ａ１参照）。
【０１３３】
ＰＥＩ処理部１０３においてメモリ領域設定部１０８は、設定パラメータ２２０を参照して、この設定パラメータ２２０に登録された情報に基づき、ＯＳ処理用メモリ領域２０ａおよび演算処理用メモリ領域２０ｂを認識する。そして、ＰＥＩ処理部１０３は、全メモリ領域を初期化する（矢印Ａ２参照）。
【０１３４】
ＰＥＩ処理部１０３においてメモリ領域通知用ＨＯＢ作成部１０５は、ＯＳ処理用メモリ領域２０ａを使用可能、且つ、演算処理用メモリ領域２０ｂを使用不可能と設定した、メモリ領域通知用ＨＯＢ（第１通知情報）を作成する（矢印Ａ３参照）。メモリ領域通知用ＨＯＢ作成部１０５は、作成したメモリ領域通知用ＨＯＢをＯＳ処理用メモリ領域２０ａに格納する。
【０１３５】
ＰＥＩ処理部１０３は、ＵＥＦＩ（ＤＸＥ）２１３のイメージをＯＳ処理用メモリ領域２０ａにコピーする（矢印Ａ４参照）。
【０１３６】
このように、ＰＥＩ処理部１０３は、ＯＳ処理用メモリ領域通知用ＨＯＢやＵＥＦＩ（ＤＸＥ）２１３のイメージの格納にはＯＳ処理用メモリ領域２０ａを用い、演算処理用メモリ領域通知用ＨＯＢは用いない。
【０１３７】
その後、ＰＥＩ処理部１０３は、ＵＥＦＩ（ＤＸＥ）２１３をコア１１−１に実行させることで、ＤＸＥ処理部１０４を起動する（矢印Ａ５参照）。
【０１３８】
ＤＸＥ処理部１０４は、メモリ領域通知用ＨＯＢで使用可能と通知されたメモリ領域（ＯＳ処理用メモリ領域２０ａ）から、適宜、使用する領域を確保する（矢印Ａ６参照）。その後、ＤＸＥ処理部１０４はＯＳをロードさせて起動する（矢印Ａ７参照）。
【０１３９】
ＯＳは、ＤＸＥ処理部１０４に対して、メモリ情報通知要求を送信する（矢印Ａ８参照）。このメモリ情報通知要求に対して、ＤＸＥ処理部１０４のメモリ領域情報通知部１０６は、メモリ領域通知用ＨＯＢで使用可能と通知されたメモリ領域（ＯＳ処理用メモリ領域２０ａ）のうち、ＤＸＥ処理部１０４で既に使用済みの領域と未使用の領域とを通知する。さらに、メモリ領域情報通知部１０６は、メモリ領域通知用ＨＯＢで使用不可能と通知されたメモリ領域（演算処理用メモリ領域２０ｂ）を、使用可能、且つ、未使用領域としてＯＳに通知する（矢印Ａ９参照）。
【０１４０】
この演算処理用メモリ領域２０ｂを、使用可能、且つ、未使用領域として示す情報が第２通知情報に相当する。
【０１４１】
ＯＳは、適宜、ＯＳ処理用メモリ領域２０ａを確保して処理を行なう（矢印Ａ１０参照）。また、ＯＳは、例えば、演算処理を行なう各コア１１−２〜１１−ｎに対して、演算処理の起動を指示する（矢印Ａ１１参照）。演算処理プロセスにおいては、演算処理用メモリ領域２０ｂにおける領域の確保をＯＳに対して要求する（矢印Ａ１２）。
【０１４２】
ＯＳはこの要求に応じて演算処理用メモリ領域２０ｂにおける領域を確保し、演算処理プロセスに応答する（矢印Ａ１３参照）。
【０１４３】
次に、実施形態の一例としての情報処理装置１におけるＰＥＩ処理部１０３による処理を、図１１に示すフローチャート（ステップＢ１〜Ｂ５）に従って説明する。
【０１４４】
ステップＢ１において、ＰＥＩ処理部１０３のメモリ領域通知用ＨＯＢ作成部１０５は設定パラメータ２２０の値を取得する。
【０１４５】
ステップＢ２において、メモリ領域通知用ＨＯＢ作成部１０５は、ＯＳ処理用メモリ領域２０ａに対応するメモリ領域通知用ＨＯＢ（ＯＳ処理用メモリ領域通知用ＨＯＢ）を作成する。作成したＯＳ処理用メモリ領域通知用ＨＯＢはＯＳ処理用メモリ領域２０ａに格納する。
【０１４６】
ステップＢ３において、メモリ領域通知用ＨＯＢ作成部１０５は、演算処理用メモリ領域２０ｂに対応するメモリ領域通知用ＨＯＢ（演算処理用メモリ領域通知用ＨＯＢ）を作成する。作成した演算処理用メモリ領域通知用ＨＯＢはＯＳ処理用メモリ領域２０ａに格納する。
【０１４７】
ステップＢ４において、ＰＥＩ処理部１０３は、ＵＥＦＩ（ＤＸＥ）２１３をＯＳ処理用メモリ領域２０ａにロードする。
【０１４８】
ステップＢ５において、ＰＥＩ処理部１０３は、ＵＥＦＩ（ＤＸＥ）２１３をコア１１−１に実行させることで、ＤＸＥ処理部１０４を起動させる。
【０１４９】
また、ＰＥＩ処理部１０３は、ステップＢ２，Ｂ３において作成し、ＯＳ処理用メモリ領域２０ａに格納したメモリ領域通知用ＨＯＢの先頭アドレスをＤＸＥ処理部１０４に通知し、処理を終了する。
【０１５０】
次に、実施形態の一例としての情報処理装置１におけるＤＸＥ処理部１０４によるＯＳ起動処理を、図１２に示すフローチャート（ステップＣ１〜Ｃ４）に従って説明する。
【０１５１】
ステップＣ１において、ＤＸＥ処理部１０４は、ＯＳ処理用メモリ領域２０ａに格納されたメモリ領域通知用ＨＯＢを取得する。
【０１５２】
ステップＣ２において、ＤＸＥ処理部１０４は、メモリ領域通知用ＨＯＢの情報に基づき、Memory Space MapおよびMemory Mapを作成する。
【０１５３】
ステップＣ３において、ＤＸＥ処理部１０４は、ＯＳのロード処理を行なう。この処理にはＵＥＦＩドライバのロードも含まれる。ＤＸＥ処理部１０４は、Memory Mapの情報に基づいて適宜メモリ領域を確保する。メモリ領域が枯渇すると、ＤＸＥ処理部１０４は、Memory Space MapのReserved領域をMemory Mapに追加し、そこからメモリ領域を確保する。
【０１５４】
その後、ステップＣ４において、ＤＸＥ処理部１０４はＯＳを起動する。これによりＯＳの起動処理が終了する。
【０１５５】
次に、実施形態の一例としての情報処理装置１におけるＤＸＥ処理部１０４によるメモリ情報の通知処理を、図１３に示すフローチャート（ステップＤ１〜Ｄ３）に従って説明する。
【０１５６】
ステップＤ１において、ＤＸＥ処理部１０４のメモリ領域情報通知部１０６は、Memory Space MapのReserved領域をMemory Mapに追加することでエントリを作成する。
【０１５７】
ステップＤ２において、メモリ領域情報通知部１０６は、Memory Mapの情報に基づき、Memory Descriptorを作成する。
【０１５８】
ステップＤ３において、メモリ領域情報通知部１０６は、Memory Descriptorの先頭アドレスをＯＳに通知する。これによりＤＸＥ処理部１０４（メモリ領域情報通知部１０６）によるメモリ情報の通知処理は終了する。
【０１５９】
（Ｃ）効果
このように、実施形態の一例としての情報処理装置１によれば、本情報処理装置１の起動プロセスにおいて、ＰＥＩフェーズにおいてメモリ領域通知用ＨＯＢ作成部１０５が演算処理用メモリ領域２０ｂを使用不可能と設定したメモリ領域通知用ＨＯＢ（演算処理用メモリ領域通知用ＨＯＢ）をＤＸＥ処理部１０４に通知する。
【０１６０】
これにより、ＤＸＥフェーズにおいて、ＤＸＥ処理部１０４は、メモリ２０におけるＯＳ処理用メモリ領域２０ａのみを使用可能な領域として認識する。すなわち、ＵＥＦＩ処理部１００が、情報処理装置１の起動時において、ＯＳ処理用メモリ領域２０ａのみを用いてＯＳのロードを実現する。
【０１６１】
従って、ＵＥＦＩ処理部１００がメモリ２０における演算処理用メモリ領域２０ｂを使用することを阻止することができ、メモリ２０の演算処理用メモリ領域２０ｂにＵＥＦＩ処理部１００の使用による断片化の発生を抑制することができる。
【０１６２】
また、ＤＸＥフェーズにおいて、メモリ領域情報通知部１０６は、メモリ領域通知用ＨＯＢによって使用不可能と通知されたメモリ領域、すなわち演算処理用メモリ領域２０ｂを、使用可能、且つ、未使用領域としてＯＳに通知する。これにより、ＯＳがメモリ２０における演算処理用メモリ領域２０ｂを使用することができるようになる。すなわち、メモリ領域情報通知部１０６は、ＣＰＵ１０に演算処理用メモリ領域２０ｂを解放して使用可能な状態にする。これにより、ＯＳや演算処理に影響を与えることがない。
【０１６３】
（Ｄ）その他
開示の技術は上述した実施形態に限定されるものではなく、本実施形態の趣旨を逸脱しない範囲で種々変形して実施することができる。本実施形態の各構成および各処理は、必要に応じて取捨選択することができ、あるいは適宜組み合わせてもよい。
【０１６４】
また、上述した開示により本実施形態を当業者によって実施・製造することが可能である。
【０１６５】
（Ｅ）付記
以上の実施形態に関し、さらに以下の付記を開示する。
【０１６６】
（付記１）
プロセッサとメモリとを備えた情報処理装置であって、
当該情報処理装置の起動処理において、
前記メモリの記憶領域に、前記記憶領域よりも小さい第１記憶領域および第２記憶領域を設定する設定部と、
前記第２記憶領域が使用不可能であり且つ前記第１記憶領域が使用可能であることを通知する第１通知情報を作成する作成部と、
前記第１通知情報に基づき、前記第１記憶領域に領域を確保してオペレーティングシステムを起動する起動処理部と、
起動された前記オペレーティングシステムから発行されるメモリ情報通知要求に応じて、前記第２記憶領域を使用可能であることを通知する第２通知情報を応答する応答部と
を備えることを特徴とする、情報処理装置。
【０１６７】
（付記２）
前記作成部が、作成した前記第１通知情報を前記第１記憶領域に格納し、
前記起動処理部が、前記第１記憶領域から前記第１通知情報を読み出す
ことを特徴とする、付記１記載の情報処理装置。
【０１６８】
（付記３）
プロセッサとメモリとを備えた情報処理装置の起動時においてオペレーティングシステムをロードさせるロードプログラムであって、
前記メモリの記憶領域に、前記記憶領域よりも小さい第１記憶領域および第２記憶領域を設定し、
前記第２記憶領域が使用不可能であり且つ前記第１記憶領域が使用可能であることを通知する第１通知情報を作成し、
前記第１通知情報に基づき、前記第１記憶領域に領域を確保してオペレーティングシステムを起動し、
起動された前記オペレーティングシステムから発行されるメモリ情報通知要求に応じて、前記第２記憶領域を使用可能であることを通知する第２通知情報を応答する
処理を前記プロセッサに実行させることを特徴とする、ロードプログラム。
【０１６９】
（付記４）
作成した前記第１通知情報を前記第１記憶領域に格納し、
前記第１記憶領域から読み出した前記第１通知情報に基づき、前記第１記憶領域に領域を確保してオペレーティングシステムを起動を読み出す
ことを特徴とする、付記３記載のロードプログラム。
【０１７０】
（付記５）
プロセッサとメモリとを備えた情報処理装置の起動時において、
前記メモリの記憶領域に、前記記憶領域よりも小さい第１記憶領域および第２記憶領域を設定する処理と、
前記第２記憶領域が使用不可能であり且つ前記第１記憶領域が使用可能であることを通知する第１通知情報を作成する処理と、
前記第１通知情報に基づき、前記第１記憶領域に領域を確保してオペレーティングシステムを起動する処理と、
起動された前記オペレーティングシステムから発行されるメモリ情報通知要求に応じて、前記第２記憶領域を使用可能であることを通知する第２通知情報を応答する処理と
を備えることを特徴とする、ロード方法。
【０１７１】
（付記６）
作成した前記第１通知情報を前記第１記憶領域に格納する処理を備え、
前記第１記憶領域から読み出した前記第１通知情報に基づき、前記第１記憶領域に領域を確保してオペレーティングシステムを起動を読み出す
ことを特徴とする、付記５記載のロード方法。
【符号の説明】
【０１７２】
１    情報処理装置
１０    ＣＰＵ
１１−１〜１１−ｎ，１１    コア
１２−１〜１２−ｍ，１２    ＭＡＣ
２０    主記憶装置，メモリ
２０ａ    ＯＳ処理用メモリ領域
２０ｂ    演算処理用メモリ領域
２１    ＲＯＭ
２２    記憶装置
１００    ＵＥＦＩ処理部
１０１    メモリ管理部
１０２    ＳＥＣ処理部
１０３    ＰＥＩ処理部
１０４    ＤＸＥ処理部
１０５    メモリ領域通知用ＨＯＢ作成部
１０６    メモリ領域情報通知部
１０７    ＯＳ処理部
１０８    メモリ領域設定部
２１０    ＵＥＦＩ命令コード
２１１    ＵＥＦＩ（ＳＥＣ）
２１２    ＵＥＦＩ（ＰＥＩ）
２１３    ＵＥＦＩ（ＤＸＥ）
２１４    ＯＳ命令コード
２２０    設定パラメータ
【図１】
2019204403.tif 000003
【図２】
2019204403.tif 000004
【図３】
2019204403.tif 000005
【図４】
2019204403.tif 000006
【図５】
2019204403.tif 000007
【図６】
2019204403.tif 000008
【図７】
2019204403.tif 000009
【図８】
2019204403.tif 000010
【図９】
2019204403.tif 000011
【図１０】
2019204403.tif 000012
【図１１】
2019204403.tif 000013
【図１２】
2019204403.tif 000014
【図１３】
2019204403.tif 000015