(57)【要約】【課題】システム管理要求に速やかに対応して処理時間を短縮できる情報処理装置を提供する。【解決手段】複数のプロセッサまたは複数のプロセッサコアを含むプロセッサと、少なくとも１つのプロセッサまたはプロセッサコアをＯＳから隠蔽して予備コアとする設定を行うＯＳ隠蔽手段と、ＢＩＯＳによる処理に予備コアを使用するための設定を行うＢＩＯＳ処理設定手段と、受付けられた割込がＢＩＯＳに付加価値機能の処理を要求するものであるかを判定し、判定結果が付加価値機能の処理要求であれば付加価値機能の処理を指示する付加価値機能処理指示手段と、指示に基づいてＢＩＯＳによる付加価値機能の処理を予備コアに行わせる付加価値機能処理手段を備える。【選択図】      図１
2016151917.tif 000002
【特許請求の範囲】
【請求項１】
複数のプロセッサまたは複数のプロセッサコアを含むプロセッサと、
少なくとも１つの前記プロセッサまたは前記プロセッサコアをＯＳから隠蔽して予備コアとする設定を行うＯＳ隠蔽手段と、
ＢＩＯＳによる処理に前記予備コアを使用するための設定を行うＢＩＯＳ処理設定手段と、
受付けられた割込が前記ＢＩＯＳに付加価値機能の処理を要求するものであるかを判定し、前記判定結果が前記付加価値機能の処理要求であれば前記付加価値機能の処理を指示する付加価値機能処理指示手段と、
前記指示に基づいて前記ＢＩＯＳによる前記付加価値機能の処理を前記予備コアに行わせる付加価値機能処理手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記予備コアは、スリープモードに遷移して待機し、前記指示に基づいて前記付加価値機能の処理を行う
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記予備コアは、前記付加価値機能の処理後に前記スリープモードに遷移する
ことを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記付加価値機能が、プロセッサ、プロセッサコア、または、メモリのオンライン増設である
ことを特徴とする請求項１から４のいずれかに記載の情報処理装置。
【請求項５】
複数のプロセッサまたは複数のプロセッサコアを含むプロセッサの少なくとも１つの前記プロセッサまたは前記プロセッサコアをＯＳから隠蔽して予備コアとする設定を行い、ＢＩＯＳによる処理に前記予備コアを使用するための設定を行って、受付けられた割込が前記ＢＩＯＳに付加価値機能の処理を要求するものであるかを判定し、前記判定結果が前記付加価値機能の処理要求であれば前記付加価値機能の処理を指示し、前記指示に基づいて前記ＢＩＯＳによる前記付加価値機能の処理を前記予備コアに行わせる、
ことを特徴とする情報処理制御方法。
【請求項６】
複数のプロセッサまたは複数のプロセッサコアを含むプロセッサを備える情報処理装置のコンピュータを、
少なくとも１つの前記プロセッサまたはプロセッサコアをＯＳから隠蔽して予備コアとする設定を行うＯＳ隠蔽手段と、
ＢＩＯＳによる処理に前記予備コアを使用するための設定を行うＢＩＯＳ処理設定手段と、
受付けられた割込が前記ＢＩＯＳに付加価値機能の処理を要求するものであるかを判定し、前記判定結果が前記付加価値機能の処理要求であれば前記付加価値機能の処理を指示する付加価値機能処理指示手段と、
前記指示に基づいて前記ＢＩＯＳによる前記付加価値機能の処理を前記予備コアに行わせる付加価値機能処理手段として動作させる、
ことを特徴とする情報処理装置制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理制御方法および情報処理装置制御プログラムに関する。
【背景技術】
【０００２】
近年、情報処理システムに使用されるＣＰＵ（Central Processing Unit）は、マルチＣＰＵ化、マルチコア化が進展している。また、情報処理システムの高ＲＡＳ（Reliability Availability and Serviceability）化のために、ＢＩＯＳ（Basic Input/Output System）が提供する機能は、ＣＰＵやメモリのオンライン増設を行うなど高付加価値化している。これらの機能を実行するには、ＢＩＯＳは、ＳＭＭ（System Management Mode、システム管理モード）と呼ばれる動作モードに遷移したＣＰＵを用いてＢＩＯＳ処理を実行する必要がある。
【０００３】
ＳＭＭで動作するＣＰＵは、ＯＳ（Operating System）のスケジュール管理外となる。そのため、１つのＣＰＵのみをＳＭＭに遷移させると、ＯＳは、ＳＭＭで動作中のＣＰＵがストールしたと判断して、ＯＳパニックを引き起こす可能性がある。パニックを避けるため、マルチＣＰＵの環境下では、システム内の全ＣＰＵがＳＭＭに遷移させられる。ただし、システム内の全ＣＰＵをＳＭＭに遷移させることは、ＯＳの動作が停止した状態であるため、長時間ＳＭＭに遷移させておくことは、ＯＳ運用に影響を与えてしまう。すなわち、ＳＭＭに遷移している間、ＯＳは一時停止されて、全ＣＰＵのそれまでの処理が停止される。さらに、ＳＭＭへの遷移がいつ終了するかも予測できないため、ＯＳのスケジュール管理や動作に不確定性が生じてしまう。
【０００４】
また、情報処理システムのユーザは、ＳＭＭに遷移している間、情報処理システムでの処理が各ＣＰＵで適切に行われているかを示すステータス情報を取得できない。そのため、ユーザを動揺させることがある。
【０００５】
上述の影響を避けるため、ＳＭＭでのＢＩＯＳ処理は、細分化して、細切れに実行される。しかし、この方法では、ＢＩＯＳ処理に掛かるＣＰＵ時間が短いため、ＢＩＯＳ処理が完了するまでに長時間掛かることがある。
【０００６】
特許文献１には、仮想高特権ドメインを設けてＳＭＭの機能を処理するシステムが開示されている。具体的には、特許文献１の技術では、仮想高特権ドメインとそれを管理する仮想マシンモニタを設けて、ＳＭＭの機能を仮想高特権ドメインに移す。そのため、特許文献１の技術では、システム管理要求を仮想マシンモニタで管理して仮想高特権ドメインにリダイレクトして、仮想高特権モードでＳＭＭの機能を処理するので、ＣＰＵおよびＣＰＵコアがＳＭＭに入ることを抑制することができる。
【０００７】
特許文献２には、１回のＳＭＭでのＢＩＯＳ処理を長くする方法が開示されている。具体的には、特許文献２の技術では、ＣＰＵがＳＭＭに遷移する直前にスリープモードであるか否かを判定し、スリープモードであればＢＩＯＳ処理を実行する時間を、スリープモードでなかった場合より長くする。すなわち、特許文献２の技術では、直前にスリープモードであった処理負荷の低いＣＰＵでの１回のＢＩＯＳ処理時間を長くすることで、ＢＩＯＳ処理に掛かる全体の処理時間を短縮することができる。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特表２０１４−５２７６７４号公報（第３−９頁、図１−４）
【特許文献２】特開２０１４−０８９６２２号公報（第５−９頁、図１、２）
【発明の概要】
【発明が解決しようとする課題】
【０００９】
特許文献１の技術では、システム管理要求によりＣＰＵおよびＣＰＵコアがＳＭＭに遷移することは抑制される。しかし、特許技術１の技術では、ＣＰＵおよびＣＰＵコアが高負荷で処理を行っている時に、仮想モニタを経由して仮想高特権ドメインにリダイレクトされて、仮想化されたリソースを基にシステム管理要求への対応処理を行う。そのため、特許文献１の技術では、システム管理要求への対応が遅れる可能性がある。すなわち、特許文献１の技術では、システム管理要求への対応処理の開始が待たされることがある。
【００１０】
特許文献２の技術では、直前のＣＰＵ負荷を判定して、低負荷時からＳＭＭに遷移した時には、１回のＳＭＭのＢＩＯＳ処理時間を長くして、全体としてのＢＩＯＳ処理時間を短縮できる。しかし、特許文献２の技術では、直前のＣＰＵ負荷が低負荷でなければ、全体としてのＢＩＯＳ処理時間は改善されない。
【００１１】
本発明は、かかる課題に鑑みてなされたものである。本発明は、システム管理要求に速やかに対応して処理時間を短縮できる情報処理装置、情報処理方法および情報処理装置制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明の情報処理装置は、複数のプロセッサまたは複数のプロセッサコアを含むプロセッサと、少なくとも１つのプロセッサまたはプロセッサコアをＯＳから隠蔽して予備コアとする設定を行うＯＳ隠蔽手段と、ＢＩＯＳによる処理に予備コアを使用するための設定を行うＢＩＯＳ処理設定手段と、受付けられた割込がＢＩＯＳに付加価値機能の処理を要求するものであるかを判定し、判定結果が付加価値機能の処理要求であれば付加価値機能の処理を指示する付加価値機能処理指示手段と、指示に基づいてＢＩＯＳによる付加価値機能の処理を予備コアに行わせる付加価値機能処理手段を備えることを特徴とする。
【００１３】
本発明の情報処理制御方法は、複数のプロセッサまたは複数のプロセッサコアを含むプロセッサの少なくとも１つのプロセッサまたはプロセッサコアをＯＳから隠蔽して予備コアとする設定を行い、ＢＩＯＳによる処理に予備コアを使用するための設定を行って、受付けられた割込がＢＩＯＳに付加価値機能の処理を要求するものであるかを判定し、判定結果が付加価値機能の処理要求であれば付加価値機能の処理を指示し、指示に基づいてＢＩＯＳによる付加価値機能の処理を予備コアに行わせることを特徴とする。
【００１４】
本発明の情報処理装置制御プログラムは、複数のプロセッサまたは複数のプロセッサコアを含むプロセッサを備える情報処理装置のコンピュータを、少なくとも１つのプロセッサまたはプロセッサコアをＯＳから隠蔽して予備コアとする設定を行うＯＳ隠蔽手段と、ＢＩＯＳによる処理に予備コアを使用するための設定を行うＢＩＯＳ処理設定手段と、受付けられた割込がＢＩＯＳに付加価値機能の処理を要求するものであるかを判定し、判定結果が付加価値機能の処理要求であれば付加価値機能の処理を指示する付加価値機能処理指示手段と、指示に基づいてＢＩＯＳによる付加価値機能の処理を予備コアに行わせる付加価値機能処理手段として動作させることを特徴とする。
【発明の効果】
【００１５】
本発明によれば、システム管理要求に速やかに対応して処理時間を短縮できる。
【図面の簡単な説明】
【００１６】
【図１】本発明の第１の実施形態の情報処理装置の構成例を示したブロック図である。
【図２】本発明の第１の実施形態の情報処理装置の動作例を示したフローチャートである。
【図３】本発明の第２の実施形態の情報処理装置の構成例を示したブロック図である。
【図４】本発明の第２の実施形態の情報処理装置の設定例を示した説明図である。
【図５】本発明の第２の実施形態の情報処理装置の動作例を示したシーケンス図である。
【発明を実施するための形態】
【００１７】
以下に、本発明の実施形態について図面を参照して詳細に説明する。
（第１の実施形態）
本発明の第１の実施形態について説明する。図１に本実施形態の情報処理装置１の構成例を示したブロック図である。図２は、本実施形態の情報処理装置１の動作例を示したフローチャートである。図１、２を参照して、本実施形態の情報処理装置１の構成と動作について説明する。
【００１８】
情報処理装置１は、ＣＰＵ１１を有するＨＷ１０、ＢＩＯＳ２０、ＯＳ３０を備える。ＣＰＵ１１は、ＣＰＵコア１２、ＣＰＵコア１３とＣＰＵコア１４を有するマルチコアＣＰＵである。ＢＩＯＳ２０は、ＯＳ隠蔽手段２１、ＢＩＯＳ処理設定手段２２、付加価値機能処理指示手段２３と付加価値機能処理手段２４を備える。ここで、付加価値機能とは、例えば、ＣＰＵやＣＰＵコア、メモリのオンライン増設などの機能であり、前述したＳＭＭでＢＩＯＳによって処理される機能である。
【００１９】
ＯＳ隠蔽手段２１は、ＢＩＯＳ起動時にＣＰＵ１１が有する複数のＣＰＵコアの内で、ＯＳ３０から隠蔽するＣＰＵコアを選定して予備コアとする設定を行う（ステップＳ１０１）。ここでは、ＯＳ隠蔽手段２１は、ＣＰＵコア１４を予備コアに設定したとして説明する。なお、予備コアに設定されるＣＰＵコアは、ＣＰＵコア１２、またはＣＰＵコア１３でもよい。
【００２０】
ＢＩＯＳ処理設定手段２２は、予備コアとして設定されたＣＰＵコア１４をＢＩＯＳで使用するための設定を行う（ステップＳ１０２）。
【００２１】
上述の設定を行うことにより、ＣＰＵコア１４は、ＯＳから隠蔽されてＢＩＯＳ処理を行うことができる。なお、予備コアの設定については後述する。
【００２２】
ＣＰＵ１１は、割込を受付ける（Ｓ１０３）。付加価値機能処理指示手段２３は、受付けられた割込の要因を解析して、割込が付加価値機能の処理要求であるかいなかを判定する（Ｓ１０４）。付加価値機能処理指示手段２３は、割込が付加価値機能の処理要求であれば（Ｓ１０４：Ｙｅｓ）、付加価値機能処理指示を付加価値機能処理手段２４に出力する。付加価値機能処理手段２４は、予備コア１４で付加価値機能処理を実行する（Ｓ１０５）。
【００２３】
一方、付加価値機能処理手段２３は、割込が付加価値機能の処理要求でなければ（Ｓ１０４：Ｎｏ）、付加価値機能処理指示を出力しない。そのため、付加価値機能の処理が行われず、ＣＰＵ１１は、割込に対応する処理を実行する（Ｓ１０６）。
【００２４】
このように、情報処理装置１は、ＢＩＯＳ起動時に自身が有するＣＰＵコアの１つをＯＳから隠蔽された予備コアとする設定と、予備コアでＢＩＯＳ処理するための設定を行う。情報処理装置１は、受付けられた割込がＢＩＯＳの付加価値機能の処理要求であれば、付加価値機能の処理指示に基づいて速やかに予備コアで付加価値機能の処理を開始することができる。このとき、予備コアが行う付加価値機能の処理は、予備コアがＯＳから隠蔽されているので、ＯＳ運用を妨げることがない。さらに、付加価値機能の処理は、予備コアを占有して行われ、処理を細分化せずに連続して行えるので、短時間で行うことができる。また、他のＣＰＵコアは、ＯＳ運用下において所定の処理を行うことができる。そのため、情報処理装置１は、ＢＩＯＳの付加価値機能の処理要求であるシステム管理要求に対して、複数のＣＰＵコアを有効に活用して、ＢＩＯＳの付加価値機能の処理を速やかに開始して短時間で行うことができる。
【００２５】
以上、本実施形態の情報処理装置は、システム管理要求に速やかに対応して処理時間を短縮できる。さらに、情報処理装置が備えるＣＰＵを有効に活用することができる。
【００２６】
なお、本実施形態では、情報処理装置が有するＣＰＵ数は１つ、ＣＰＵが有するＣＰＵコア数は３つとして説明した。しかし、ＣＰＵ数およびＣＰＵ当たりのＣＰＵコア数は、説明した１つと３つに限定されない。ＣＰＵ数は、２つ以上でもよいし、ＣＰＵ当たりのＣＰＵコア数は、１つや２つ、または４つ以上でもよい。すなわち、ＯＳから隠蔽されるＣＰＵまたはＣＰＵコアが１つあって、ＯＳ運用下に置かれるＣＰＵまたはＣＰＵコアが１つ以上あればよい。なお、予備コアに設定されるのは、情報処理装置が有する複数のＣＰＵの１つであってもよい。
【００２７】
なお、本実施形態では、付加価値機能は、ＣＰＵやＣＰＵコア、メモリのオンライン増設の機能などと説明した。しかし、付加価値機能は、前述のものに限定されない。すなわち、付加価値機能は、ＣＰＵおよびＣＰＵコアがＳＭＭに遷移し、予備ＣＰＵまたは予備ＣＰＵコアがＢＩＯＳに基づいて処理する機能であればよい。例えば、付加価値機能は、通信機能を担うパッケージやモジュールの追加に対応する機能であってもよい。
【００２８】
また、本実施形態では、予備コアをＣＰＵコア１４として説明したが、予備コアは、ＣＰＵコア１４に限定されない。例えば、予備コアに設定されるのは、ＣＰＵコア１２でもよいし、ＣＰＵコア１３でもよい。
【００２９】
また、図２に示したフローチャートは、本発明に関わる情報処理装置１の動作例として例示したものであって、本発明の情報処理装置の動作はこのフローチャートで示されたものに限定されない。
（第２の実施形態）
本発明の第２の実施形態について説明する。図３に本実施形態の情報処理装置２の構成例を示したブロック図である。図３を参照して、本実施形態の情報処理装置２の構成と動作について説明する。
【００３０】
情報処理装置２は、ＨＷ１００、ＢＩＯＳ２００、ＯＳ３００を備える。ＨＷ１００は、ＣＰＵ１１０、ＣＰＵ１２０とメモリ１３０を備える。ＣＰＵ１１０は、ＣＰＵコア１１１、ＣＰＵコア１１２、ＣＰＵコア１１ｎ（ｎは３以上の整数）を有するマルチコアＣＰＵである。ＣＰＵ１２０は、ＣＰＵコア１２１、ＣＰＵコア１２２、ＣＰＵコア１２ｎを有するマルチコアＣＰＵである。
【００３１】
ＢＩＯＳ２００は、ＢＩＯＳ割込／例外ハンドラ２１０、ＢＩＯＳ  ＳＭＭ処理２２０、付加価値機能処理指示部２３０、付加価値機能処理２４０、ＣＰＵコアＯＳ隠蔽部２５０とＢＩＯＳ処理設定部２６０を備える。付加価値機能処理指示部２３０は、ＳＭＩ（System Management Interrupt）要因解析機能２３１とＢＩＯＳ付加価値機能指示処理２３２を備える。ＣＰＵコアＯＳ隠蔽部２５０は、ＡＣＰＩ（Advanced Configuration and Power Interface）  Ｔａｂｌｅ生成機能２５１、ＡＣＰＩ  Ｎａｍｅｓｐａｃｅ生成機能２５２とＳＭＢＩＯＳ（System Management BIOS）生成機能２５３を備える。ＢＩＯＳ処理設定部２６０は、Ｐａｇｅ  Ｔａｂｌｅ設定機能２６１とＩＤＴ（Interrupt Descriptor Table）設定機能２６２を備える。
【００３２】
ＳＭＩ割込要因解析機能２３１は、割込要因を解析し、ＣＰＵやメモリのオンライン増設などのＢＩＯＳ付加価値機能の処理要求であるかどうかを判定する。ＢＩＯＳ付加価値機能指示処理２３２は、判定結果が付加価値機能の処理要求であれば、付加価値機能を行うためにメモリ１３０にフラグを設定して、付加価値機能処理を指示する。ＢＩＯＳ付加価値処理２４０は、ＢＩＯＳ付加価値機能指示処理２３１により設定されたフラグに基づいて、付加価値処理を行う。
【００３３】
また、ＣＰＵコアＯＳ隠蔽部２５０は、ＡＣＰＩ  Ｔａｂｌｅ生成機能２５１、ＡＣＰＩ  Ｎａｍｅｓｐａｃｅ生成機能２５２とＳＭＢＩＯＳ生成機能２５３により、例えば、ＣＰＵコア１２１を選定して、ＯＳから隠蔽された予備コア１２１として設定する。ＢＩＯＳ処理設定部２６０は、Ｐａｇｅ  Ｔａｂｌｅ設定機能２６１とＩＤＴ設定機能２６２により、予備コア１２１をＯＳ３００の運用に影響を与えることなくＢＩＯＳで使用するための設定を行う。
【００３４】
ＯＳ３００は、ＯＳ割込処理を行うＯＳ割込／例外ハンドラ３１０と、ＢＩＯＳの指示に基づいてＣＰＵコアをＣｘＳｔａｔｅのスリープ状態に遷移させるＣｘＳｔａｔｅ遷移機能３２０を備える。ＣｘＳｔａｔｅとは、ＣＰＵがサポートする最も深いスリープ状態を示す。なお、ＡＣＰＩのＣ１レベルでは、ＣＰＵコアのクロックを停止する、Ｃ２では、ＣＰＵコアとバスのクロックを停止する、Ｃ３では、クロック生成回路自体の動作も停止するなどのスリープモードがある。
【００３５】
図３を参照して、本実施形態の情報処理装置２の動作について説明する。ＢＩＯＳ２００は、システム起動時に、情報処理装置２内に存在するＣＰＵコア１１１からＣＰＵコア１２ｎの中からＢＩＯＳ付加価値機能処理２４０を動作させるための予備コアとしてＣＰＵコア１２１を選定する。なお、予備コアに選定するＣＰＵコアは、ＣＰＵコア１２１に限定されない。例えば、予備コアに選定されるＣＰＵコアは、ＣＰＵコア１２２でもよいし、ＣＰＵ１１１でもよい。（ＣＰＵコア１２１を以降、予備コア１２１という。）
ＢＩＯＳ２００は、予備コア１２１をＯＳ３００から隠蔽するための設定を行う。具体的には、ＢＩＯＳ２００は、次に説明する設定を行う。
【００３６】
ＢＩＯＳ２００は、情報処理装置２に組込むＣＰＵコア１１１から１２ｎ、および、今後情報処理装置２に組込む可能性のあるＣＰＵコア１１１から１２ｎに対して次のStructureを生成する。ここで、Structureは、予め定められたフォーマットに基づいて構造化された、種々のパラメータや設定が記載されたデータの集まりである。ＢＩＯＳ２００は、ＡＣＰＩ  Ｔａｂｌｅ生成機能２５１を用いて、ＡＣＰＩ  ＭＡＤＴ（Multiple APIC Description Table）内のProcessor Local APIC Structure、Local APIC NMI Structureを生成する。さらに、ＢＩＯＳ２００は、ＳＲＡＴ（Static Resource Affinity Table）内のProcessor Local APIC/SAPIC Affinity Structureを生成する。これらの設定がなされた個々のＣＰＵコアは、ＯＳ３００が主導する電源やリソースの管理が行われる。しかし、ＢＩＯＳ２００は、予備コア１２１としてＢＩＯＳ  ＳＭＭ処理２２０を行うＣＰＵコア１２１に対する上述のStructureを生成しない。すなわち、予備コア１２１には、上述の設定が行われないので、ＯＳ３００が予備コア１２１を自身の管理下のリソースとして設定されないため、ＯＳ３００が主導する電源やリソースの管理が行われない。
【００３７】
また、ＢＩＯＳ２００は、ＯＳ３００に対して情報処理装置２のリソースとして使用可能な最大構成を通知するためのテーブルであるＭＳＣＴ（Maximum System Characteristics Table）についても予備コア１２１を除いた数を設定する。
【００３８】
次に、予備コア１２１をＯＳ３００に対して隠蔽するために必要なＡＣＰＩ  Ｎａｍｅｓｐａｃｅの設定について説明する。ＢＩＯＳ２００は、ＡＣＰＩ  Ｎａｍｅｓｐａｃｅ生成機能２５２を用いて、予備コア１２１に対するProcessor Object配下_STA（Status）の返却値が_DS_NOT_PRESENTとなるように設定する。この設定により、予備コア１２１は、ＯＳ３００が主導して行うＡＣＰＩの管理枠組みには存在しないものとなる。
【００３９】
さらに、ＢＩＯＳ２００は、ＡＣＰＩだけではなく、ＳＭＢＩＯＳのＴｙｐｅ４、Ｔｙｐａ７についても予備コア１２１を考慮した設定を行う。具体的には、ＢＩＯＳ２００は、ＳＭＢＩＯＳ生成機能２５３を用いてＴｙｐｅ４（Processor Information）のCore Enabled数とThread Count数に対して、予備コア１２１を除いた数を設定する。さらに、ＢＩＯＳ２００は、ＳＭＢＩＯＳ生成機能２５３を用いてＴｙｐｅ７（Cache Information）に対して、予備コア１２１を考慮したキャッシュサイズを設定する。ＳＭＢＩＯＳへの設定により、予備コア１２１は、ＯＳ３００が管理するＣＰＵコアから除外される。
【００４０】
以上の設定により、ＢＩＯＳ２００は、ＢＩＯＳ付加価値機能処理２４０を行わせる予備コア１２１をＯＳ３００に対して隠蔽することができる。
【００４１】
ここで、ＢＩＯＳ２００は、ＯＳ３００から隠蔽した予備コア１２１を、ＢＩＯＳ付加価値機能処理２４０を行う場合を除き、ＣｘＳｔａｔｅ遷移機能３２０を用いてスリープ状態に遷移させる。予備コアをＣｘＳｔａｔｅに遷移させてスリープさせることで、情報処理装置２は、消費電力を低減することができる。
【００４２】
予備コア１２１は、ＯＳ３００から隠蔽されるので、ＯＳ３００のスケジュール対象外となる。そのため、ＯＳ３００は、予備コア１２１で発生した割込をハンドリングできない。
【００４３】
ＢＩＯＳ２００は、予備コア１２１を使用してＢＩＯＳ付加価値機能を処理できるようにするだけでなく、予備コア１２１で発生した障害をＯＳ３００に見せないようにする。これらを実現するために、ＢＩＯＳ２００は、次の設定とＩＤＴの設定変更を行う。
【００４４】
ＢＩＯＳ２００がＯＳ３００から隠蔽した予備コア１２１を使用するには、ＯＳ３００のブート以降もＢＩＯＳ２００が利用可能なメモリ３４０領域に予備コア１２１のＰａｇｅ  Ｔａｂｌｅを存在させる。そのため、ＢＩＯＳ２００は、Ｐａｇｅ  Ｔａｂｌｅ設定機能２６１を用いて次の設定を行う。ＢＩＯＳ２００は、予備コア１２１のＰａｇｅ  ＴａｂｌｅをＯＳ３００のブート以降もＢＩＯＳ２００が利用可能なメモリ３４０領域である、論理＝物理のアドレスマッピングのＰａｇｅ  Ｔａｂｌｅへと設定する。
【００４５】
図４は、本実施形態の情報処理装置２のＩＤＴの設定の説明図である。図４を参照して、予備コア１２１用のＩＤＴの設定変更について説明する。
【００４６】
ＩＤＴは、割込と割込ハンドラを結びつけたテーブルであり、発生した割込に対する割込ハンドラのエントリポイントが登録される。例えば、ＯＳ割込により動作する割込ハンドラのエントリポイントを0x100、0x300、0x500、ＢＩＯＳ割込ハンドラ２１０のエントリポイントを0x200、0x400、0x600とする。ＯＳ３００をブートしたとき、ＩＤＴに登録されたエントリポイントは、ＯＳ割込ハンドラ３１０のエントリポイントの0x100、0x300、0x500である。ＢＩＯＳ２００は、ＩＤＴ設定機能２６２を用いて予備コア１２１のＩＤＴに登録されたＯＳ割込ハンドラ３１０のエントリポイントである0x100、0x300、0x500を、ＢＩＯＳ割込ハンドラ２１０のエントリポイントである0x200、0x400、0x600へと設定変更する。
【００４７】
以上の設定により、ＢＩＯＳ２００は、ＯＳ３００の運用に影響を与えることなく、予備コア１２１でＢＩＯＳ付加価値機能処理２４０を動作させることができる。
【００４８】
図５は、本実施形態の情報処理装置２の動作例を示したシーケンス図である。図５を参照して、情報処理装置２の動作について説明する。
【００４９】
ＣＰＵコア１は、情報処理装置２のＣＰＵコアで、予備コア１２１以外のＣＰＵコアを示し、ＯＳ３００の運用下にある。ＣＰＵコア２は、情報処理装置２のＣＰＵコアで、前述の設定が行われた予備コア１２１である。ここでは、ＣＰＵコア１と予備コアであるＣＰＵコア２を用いて説明する。ＣＰＵコア２は、ＯＳ３００をブートしたときに、ＢＩＯＳ２００からの設定によりＣｘＳｔａｔｅ遷移機能３２０によってＣｘＳｔａｔｅでのスリープ状態にある。
【００５０】
ＢＩＯＳ付加価値機能処理２４０を実行する場合、情報処理装置２内の全ＣＰＵコアは、ＯＳ３００処理からＢＩＯＳ  ＳＭＭ処理２２０へ遷移する（ステップＳ４００）。
【００５１】
ＢＩＯＳ２００は、ＢＩＯＳ  ＳＭＭ処理２２０の中で、ＳＭＩ要因解析機能２３１を用いて、ＳＭＩ要因を確認し、ＢＩＯＳ付加価値機能の処理を要求するためのＳＭＩであるか否かを判定する（ステップＳ４１０）。
【００５２】
ＢＩＯＳ２００は、ＳＭＩがＢＩＯＳ付加価値機能処理を要求するものであれば、ＢＩＯＳ  ＳＭＭ処理２２０を抜ける前に、ＢＩＯＳ付加価値機能指示処理２３２を用いて、次のフラグを立てる。すなわち、ＢＩＯＳ２００は、ＣＰＵコア２（予備コア）に対してＢＩＯＳ  ＳＭＭ処理２２０後にＢＩＯＳ付加価値機能処理２４０を行うことを指示するフラグを立てる（ステップＳ４２０）。
【００５３】
ＣＰＵコア２（予備コア）は、ＢＩＯＳ  ＳＭＭ処理２２０後で、ＣｘＳｔａｔｅ状態に遷移する処理の先頭で、前述のフラグを参照して、処理すべきＢＩＯＳ付加価値機能があるか否かを判定する（ステップＳ４３０）。ＣＰＵコア２は、判定結果に基づいて、処理すべきＢＩＯＳ付加価値機能処理があれば、ＣｘＳｔａｔｅに遷移せず、フラグによって指定されたＢＩＯＳ付加価値機能処理２４０を開始する(ステップＳ４４０)。
【００５４】
ＣＰＵコア２は、全てのＢＩＯＳ処理を完了後、ＣｘＳｔａｔｅに遷移して再びスリープする(ステップＳ４５０)。なお、ＣＰＵコア２は、処理すべきＢＩＯＳ付加価値機能がなければ、ＣｘＳｔａｔｅに遷移して再びスリープする。
【００５５】
このように、情報処理装置２は、実施形態１と同様に、ＯＳをブートしたときに自身が有するＣＰＵコアの１つをＯＳから隠蔽された予備コアとする設定と、予備コアでＢＩＯＳ処理するための設定を行う。情報処理装置２は、受付けられた割込がＢＩＯＳの付加価値機能の処理要求であるかを判定する。情報処理装置２は、判定結果に基づいて、付加価値機能の処理の要求であれば、付加価値機能の処理を予備コアに指示する。予備コアは、付加価値機能の処理指示に基づいて速やかに付加価値機能の処理を開始することができる。このとき、予備コアが行う付加価値機能の処理は、予備コアがＯＳから隠蔽されているので、ＯＳ運用を妨げることがない。さらに、付加価値機能の処理は、予備コアを占有して行い、処理を細分化せずに連続して行えるので、短時間で行うことができる。また、他のＣＰＵコアは、ＯＳ運用下において所定の処理を行うことができる。そのため、情報処理装置２は、システム管理要求に対して、複数のＣＰＵコアを有効に活用して、ＢＩＯＳの付加価値機能の処理を速やかに開始して短時間で行うことができる。さらに、予備コアは、ＯＳをブートしたときに、ＯＳのＣｘＳｔａｔｅ遷移機能によりＣＰＵが備える最も深いスリープ状態に遷移する。予備コアは、ＢＩＯＳの付加価値機能の処理後、再びＣｘＳｔａｔｅに戻る。そのため、情報処理装置２の消費電力は、低減される。
【００５６】
以上、本実施形態の情報処理装置は、第１の実施形態と同様に、システム管理要求に速やかに対応して処理時間を短縮でき、情報処理装置が備えるＣＰＵを有効に活用することができる。さらに、本実施形態の情報処理装置は、予備コアに設定されたＣＰＵコアをＢＩＯＳ付加価値機能の処理時のみ、スリープ状態から遷移させるので、消費電力を低減することができる。
【００５７】
なお、本実施形態では、情報処理装置が有するＣＰＵ数は２つ、ＣＰＵが有するＣＰＵコア数はｎ個（ｎは３以上の整数）として説明した。しかし、ＣＰＵ数およびＣＰＵ当たりのＣＰＵコア数は、説明した数に限定されない。すなわち、ＯＳから隠蔽されるＣＰＵまたはＣＰＵコアが１つあって、ＯＳ運用下に置かれるＣＰＵまたはＣＰＵコアが１つ以上あればよい。なお、予備コアに設定されるのは、情報処理装置が有する複数のＣＰＵの１つであってもよい。
【００５８】
また、本実施形態では、予備コアをＣＰＵコア１２１として説明したが、予備コアは、ＣＰＵコア１２１に限定されない。例えば、予備コアに設定されるのは、ＣＰＵコア１２２でもよいし、ＣＰＵコア１１ｎでもよい。
【００５９】
なお、本実施形態では、付加価値機能は、ＣＰＵやＣＰＵコア、メモリのオンライン増設の機能などと説明した。しかし、付加価値機能は、前述のものに限定されない。すなわち、付加価値機能は、ＣＰＵおよびＣＰＵコアがＳＭＭに遷移し、予備ＣＰＵまたは予備ＣＰＵコアがＢＩＯＳに基づいて処理する機能であればよい。例えば、付加価値機能は、通信機能を担うパッケージやモジュールの追加に対応する機能であってもよい。
【００６０】
また、図５に示したシーケンス図は、本発明に関わる情報処理装置２の動作例として例示したものであって、本発明の情報処理装置の動作はこのシーケンス図で示されたものに限定されない。
【００６１】
なお、本願発明は、上述の各実施形態に限定されるものではなく、本願発明の要旨を逸脱しない範囲で種々変更、変形して実施することができる。
【００６２】
また、上述の各実施形態の情報処理装置は、サーバ、ストレージ装置、パーソナルコンピュータ、ＰＤＡ（Personal Digital Assistant）、タブレット端末、スマートフォンなどの装置でもよい。また、情報処理装置は、これらには限定されるわけではなく、外部と情報をやり取りする機能を備えたその他の類似装置であってもよい。
【００６３】
また、上述の各実施形態の情報処理装置によるシステム管理要求に対応するＢＩＯＳ処理は、情報処理装置が備えるコンピュータ（図示なし）を用いたソフトウェアによって実行されてもよい。すなわち、ＢＩＯＳ処理を行うコンピュータプログラムが、ＣＰＵによって読み込まれ、実行されることによって実現されてもよい。
【００６４】
なお、プログラムは、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）、フラッシュメモリ等の半導体記憶装置、光ディスク、磁気ディスク、光磁気ディスク等、非一時的な媒体に格納されてもよい。
【符号の説明】
【００６５】
１、２    情報処理装置
１０、１００    ＨＷ
１１、１１０、１２０    ＣＰＵ
１２、１３、１４、１１１、１１２、１１ｎ、１２１、１２２、１２ｎ    ＣＰＵコア
２０、２００    ＢＩＯＳ
２１    ＯＳ隠蔽手段
２２    ＢＩＯＳ処理設定手段
２３    付加価値機能処理指示手段
２４    付加価値機能処理手段
３０、３００    ＯＳ
１３０    メモリ
２１０    ＢＩＯＳ割込／例外ハンドラ
２２０    ＢＩＯＳ  ＳＭＭ処理
２３０    付加価値機能処理指示部
２３１    ＳＭＩ要因解析機能
２３２    ＢＩＯＳ付加価値機能指示処理
２４０    ＢＩＯＳ付加価値機能処理
２５０    ＯＳ隠蔽部
２５１    ＡＣＰＩ  Ｔａｂｌｅ生成機能
２５２    ＡＣＰＩ  Ｎａｍｅｓｐａｃｅ生成機能
２５３    ＳＭＢＩＯＳ生成機能
２６０    ＢＩＯＳ処理設定部
２６１    Ｐａｇｅ  Ｔａｂｌｅ設定機能
２６２    ＩＤＴ設定機能
３１０    ＯＳ割込／例外ハンドラ
３２０    ＣｘＳｔａｔｅ遷移機能
【図１】
2016151917.tif 000003
【図２】
2016151917.tif 000004
【図３】
2016151917.tif 000005
【図４】
2016151917.tif 000006
【図５】
2016151917.tif 000007