JP2016151917A - Information processing apparatus, information processing control method, and information processing apparatus control program - Google Patents
Information processing apparatus, information processing control method, and information processing apparatus control program Download PDFInfo
- Publication number
- JP2016151917A JP2016151917A JP2015029383A JP2015029383A JP2016151917A JP 2016151917 A JP2016151917 A JP 2016151917A JP 2015029383 A JP2015029383 A JP 2015029383A JP 2015029383 A JP2015029383 A JP 2015029383A JP 2016151917 A JP2016151917 A JP 2016151917A
- Authority
- JP
- Japan
- Prior art keywords
- bios
- value
- processing
- core
- added function
- 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.)
- Pending
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
Description
本発明は、情報処理装置、情報処理制御方法および情報処理装置制御プログラムに関する。 The present invention relates to an information processing apparatus, an information processing control method, and an information processing apparatus control program.
近年、情報処理システムに使用されるCPU(Central Processing Unit)は、マルチCPU化、マルチコア化が進展している。また、情報処理システムの高RAS(Reliability Availability and Serviceability)化のために、BIOS(Basic Input/Output System)が提供する機能は、CPUやメモリのオンライン増設を行うなど高付加価値化している。これらの機能を実行するには、BIOSは、SMM(System Management Mode、システム管理モード)と呼ばれる動作モードに遷移したCPUを用いてBIOS処理を実行する必要がある。 In recent years, CPUs (Central Processing Units) used in information processing systems have become multi-CPU and multi-core. In addition, in order to increase the RAS (Reliability Availability and Serviceability) of the information processing system, the functions provided by the BIOS (Basic Input / Output System) are highly value-added such as online addition of CPUs and memories. In order to execute these functions, the BIOS needs to execute a BIOS process using a CPU that has transitioned to an operation mode called SMM (System Management Mode).
SMMで動作するCPUは、OS(Operating System)のスケジュール管理外となる。そのため、1つのCPUのみをSMMに遷移させると、OSは、SMMで動作中のCPUがストールしたと判断して、OSパニックを引き起こす可能性がある。パニックを避けるため、マルチCPUの環境下では、システム内の全CPUがSMMに遷移させられる。ただし、システム内の全CPUをSMMに遷移させることは、OSの動作が停止した状態であるため、長時間SMMに遷移させておくことは、OS運用に影響を与えてしまう。すなわち、SMMに遷移している間、OSは一時停止されて、全CPUのそれまでの処理が停止される。さらに、SMMへの遷移がいつ終了するかも予測できないため、OSのスケジュール管理や動作に不確定性が生じてしまう。 The CPU operating in the SMM is out of OS (Operating System) schedule management. Therefore, when only one CPU is changed to SMM, the OS may determine that the CPU operating in the SMM has stalled and cause an OS panic. To avoid panic, all CPUs in the system are transitioned to SMM in a multi-CPU environment. However, since the transition of all CPUs in the system to the SMM is a state in which the operation of the OS is stopped, the transition to the SMM for a long time affects the OS operation. In other words, the OS is temporarily stopped during the transition to the SMM, and the processes so far of all the CPUs are stopped. Furthermore, since it is impossible to predict when the transition to the SMM will end, uncertainty in the OS schedule management and operation will occur.
また、情報処理システムのユーザは、SMMに遷移している間、情報処理システムでの処理が各CPUで適切に行われているかを示すステータス情報を取得できない。そのため、ユーザを動揺させることがある。 Further, the user of the information processing system cannot acquire status information indicating whether the processing in the information processing system is appropriately performed by each CPU during the transition to the SMM. This may upset the user.
上述の影響を避けるため、SMMでのBIOS処理は、細分化して、細切れに実行される。しかし、この方法では、BIOS処理に掛かるCPU時間が短いため、BIOS処理が完了するまでに長時間掛かることがある。 In order to avoid the influence described above, the BIOS processing in the SMM is subdivided and executed in pieces. However, in this method, since the CPU time required for the BIOS processing is short, it may take a long time to complete the BIOS processing.
特許文献1には、仮想高特権ドメインを設けてSMMの機能を処理するシステムが開示されている。具体的には、特許文献1の技術では、仮想高特権ドメインとそれを管理する仮想マシンモニタを設けて、SMMの機能を仮想高特権ドメインに移す。そのため、特許文献1の技術では、システム管理要求を仮想マシンモニタで管理して仮想高特権ドメインにリダイレクトして、仮想高特権モードでSMMの機能を処理するので、CPUおよびCPUコアがSMMに入ることを抑制することができる。
特許文献2には、1回のSMMでのBIOS処理を長くする方法が開示されている。具体的には、特許文献2の技術では、CPUがSMMに遷移する直前にスリープモードであるか否かを判定し、スリープモードであればBIOS処理を実行する時間を、スリープモードでなかった場合より長くする。すなわち、特許文献2の技術では、直前にスリープモードであった処理負荷の低いCPUでの1回のBIOS処理時間を長くすることで、BIOS処理に掛かる全体の処理時間を短縮することができる。
特許文献1の技術では、システム管理要求によりCPUおよびCPUコアがSMMに遷移することは抑制される。しかし、特許技術1の技術では、CPUおよびCPUコアが高負荷で処理を行っている時に、仮想モニタを経由して仮想高特権ドメインにリダイレクトされて、仮想化されたリソースを基にシステム管理要求への対応処理を行う。そのため、特許文献1の技術では、システム管理要求への対応が遅れる可能性がある。すなわち、特許文献1の技術では、システム管理要求への対応処理の開始が待たされることがある。
In the technique of
特許文献2の技術では、直前のCPU負荷を判定して、低負荷時からSMMに遷移した時には、1回のSMMのBIOS処理時間を長くして、全体としてのBIOS処理時間を短縮できる。しかし、特許文献2の技術では、直前のCPU負荷が低負荷でなければ、全体としてのBIOS処理時間は改善されない。
In the technique of
本発明は、かかる課題に鑑みてなされたものである。本発明は、システム管理要求に速やかに対応して処理時間を短縮できる情報処理装置、情報処理方法および情報処理装置制御プログラムを提供することを目的とする。 The present invention has been made in view of such problems. An object of the present invention is to provide an information processing apparatus, an information processing method, and an information processing apparatus control program that can quickly respond to a system management request and reduce processing time.
本発明の情報処理装置は、複数のプロセッサまたは複数のプロセッサコアを含むプロセッサと、少なくとも1つのプロセッサまたはプロセッサコアをOSから隠蔽して予備コアとする設定を行うOS隠蔽手段と、BIOSによる処理に予備コアを使用するための設定を行うBIOS処理設定手段と、受付けられた割込がBIOSに付加価値機能の処理を要求するものであるかを判定し、判定結果が付加価値機能の処理要求であれば付加価値機能の処理を指示する付加価値機能処理指示手段と、指示に基づいてBIOSによる付加価値機能の処理を予備コアに行わせる付加価値機能処理手段を備えることを特徴とする。 The information processing apparatus according to the present invention includes a processor including a plurality of processors or a plurality of processor cores, an OS concealing unit configured to conceal at least one processor or processor core from the OS and set as a spare core, and a process performed by the BIOS. It is determined whether the BIOS processing setting means for setting to use the spare core, and whether the accepted interrupt requests processing of the value-added function from the BIOS, and the determination result is a processing request of the value-added function. If there is a value-added function processing instruction means for instructing processing of the value-added function if there is, a value-added function processing means for causing the spare core to perform processing of the value-added function by the BIOS based on the instruction is provided.
本発明の情報処理制御方法は、複数のプロセッサまたは複数のプロセッサコアを含むプロセッサの少なくとも1つのプロセッサまたはプロセッサコアをOSから隠蔽して予備コアとする設定を行い、BIOSによる処理に予備コアを使用するための設定を行って、受付けられた割込がBIOSに付加価値機能の処理を要求するものであるかを判定し、判定結果が付加価値機能の処理要求であれば付加価値機能の処理を指示し、指示に基づいてBIOSによる付加価値機能の処理を予備コアに行わせることを特徴とする。 In the information processing control method of the present invention, at least one processor or processor core of a processor including a plurality of processors or a plurality of processor cores is set as a spare core by hiding it from the OS, and the spare core is used for processing by the BIOS. To determine whether the accepted interrupt is a request for processing of the value-added function from the BIOS. If the determination result is a processing request for the value-added function, the processing of the value-added function is performed. It is characterized in that the spare core performs processing of the value-added function by BIOS based on the instruction.
本発明の情報処理装置制御プログラムは、複数のプロセッサまたは複数のプロセッサコアを含むプロセッサを備える情報処理装置のコンピュータを、少なくとも1つのプロセッサまたはプロセッサコアをOSから隠蔽して予備コアとする設定を行うOS隠蔽手段と、BIOSによる処理に予備コアを使用するための設定を行うBIOS処理設定手段と、受付けられた割込がBIOSに付加価値機能の処理を要求するものであるかを判定し、判定結果が付加価値機能の処理要求であれば付加価値機能の処理を指示する付加価値機能処理指示手段と、指示に基づいてBIOSによる付加価値機能の処理を予備コアに行わせる付加価値機能処理手段として動作させることを特徴とする。 The information processing apparatus control program according to the present invention sets a computer of an information processing apparatus including a plurality of processors or a processor including a plurality of processor cores as a spare core by hiding at least one processor or processor core from the OS. The OS concealing means, the BIOS processing setting means for setting to use the spare core for processing by the BIOS, and whether the accepted interrupt requests processing of the value-added function from the BIOS are determined. If the result is a processing request for a value-added function, value-added function processing instructing means for instructing processing of the value-added function, and value-added function processing means for causing the spare core to perform processing of the value-added function based on the instruction It is characterized by operating.
本発明によれば、システム管理要求に速やかに対応して処理時間を短縮できる。 According to the present invention, processing time can be shortened by promptly responding to a system management request.
以下に、本発明の実施形態について図面を参照して詳細に説明する。
(第1の実施形態)
本発明の第1の実施形態について説明する。図1に本実施形態の情報処理装置1の構成例を示したブロック図である。図2は、本実施形態の情報処理装置1の動作例を示したフローチャートである。図1、2を参照して、本実施形態の情報処理装置1の構成と動作について説明する。
Embodiments of the present invention will be described below in detail with reference to the drawings.
(First embodiment)
A first embodiment of the present invention will be described. FIG. 1 is a block diagram illustrating a configuration example of the
情報処理装置1は、CPU11を有するHW10、BIOS20、OS30を備える。CPU11は、CPUコア12、CPUコア13とCPUコア14を有するマルチコアCPUである。BIOS20は、OS隠蔽手段21、BIOS処理設定手段22、付加価値機能処理指示手段23と付加価値機能処理手段24を備える。ここで、付加価値機能とは、例えば、CPUやCPUコア、メモリのオンライン増設などの機能であり、前述したSMMでBIOSによって処理される機能である。
The
OS隠蔽手段21は、BIOS起動時にCPU11が有する複数のCPUコアの内で、OS30から隠蔽するCPUコアを選定して予備コアとする設定を行う(ステップS101)。ここでは、OS隠蔽手段21は、CPUコア14を予備コアに設定したとして説明する。なお、予備コアに設定されるCPUコアは、CPUコア12、またはCPUコア13でもよい。
The OS concealment unit 21 selects a CPU core to be concealed from the
BIOS処理設定手段22は、予備コアとして設定されたCPUコア14をBIOSで使用するための設定を行う(ステップS102)。
The BIOS process setting means 22 performs setting for using the
上述の設定を行うことにより、CPUコア14は、OSから隠蔽されてBIOS処理を行うことができる。なお、予備コアの設定については後述する。
By performing the above setting, the
CPU11は、割込を受付ける(S103)。付加価値機能処理指示手段23は、受付けられた割込の要因を解析して、割込が付加価値機能の処理要求であるかいなかを判定する(S104)。付加価値機能処理指示手段23は、割込が付加価値機能の処理要求であれば(S104:Yes)、付加価値機能処理指示を付加価値機能処理手段24に出力する。付加価値機能処理手段24は、予備コア14で付加価値機能処理を実行する(S105)。
The
一方、付加価値機能処理手段23は、割込が付加価値機能の処理要求でなければ(S104:No)、付加価値機能処理指示を出力しない。そのため、付加価値機能の処理が行われず、CPU11は、割込に対応する処理を実行する(S106)。
On the other hand, the value-added function processing means 23 does not output the value-added function processing instruction unless the interrupt is a processing request for the value-added function (S104: No). Therefore, the value-added function process is not performed, and the
このように、情報処理装置1は、BIOS起動時に自身が有するCPUコアの1つをOSから隠蔽された予備コアとする設定と、予備コアでBIOS処理するための設定を行う。情報処理装置1は、受付けられた割込がBIOSの付加価値機能の処理要求であれば、付加価値機能の処理指示に基づいて速やかに予備コアで付加価値機能の処理を開始することができる。このとき、予備コアが行う付加価値機能の処理は、予備コアがOSから隠蔽されているので、OS運用を妨げることがない。さらに、付加価値機能の処理は、予備コアを占有して行われ、処理を細分化せずに連続して行えるので、短時間で行うことができる。また、他のCPUコアは、OS運用下において所定の処理を行うことができる。そのため、情報処理装置1は、BIOSの付加価値機能の処理要求であるシステム管理要求に対して、複数のCPUコアを有効に活用して、BIOSの付加価値機能の処理を速やかに開始して短時間で行うことができる。
As described above, the
以上、本実施形態の情報処理装置は、システム管理要求に速やかに対応して処理時間を短縮できる。さらに、情報処理装置が備えるCPUを有効に活用することができる。 As described above, the information processing apparatus according to the present embodiment can shorten the processing time by quickly responding to the system management request. Furthermore, the CPU provided in the information processing apparatus can be used effectively.
なお、本実施形態では、情報処理装置が有するCPU数は1つ、CPUが有するCPUコア数は3つとして説明した。しかし、CPU数およびCPU当たりのCPUコア数は、説明した1つと3つに限定されない。CPU数は、2つ以上でもよいし、CPU当たりのCPUコア数は、1つや2つ、または4つ以上でもよい。すなわち、OSから隠蔽されるCPUまたはCPUコアが1つあって、OS運用下に置かれるCPUまたはCPUコアが1つ以上あればよい。なお、予備コアに設定されるのは、情報処理装置が有する複数のCPUの1つであってもよい。 In the present embodiment, the information processing apparatus has one CPU and the CPU has three CPU cores. However, the number of CPUs and the number of CPU cores per CPU are not limited to one and three as described. The number of CPUs may be two or more, and the number of CPU cores per CPU may be one, two, or four or more. That is, it is sufficient that there is one CPU or CPU core hidden from the OS and one or more CPUs or CPU cores placed under the OS operation. The spare core may be set to one of a plurality of CPUs included in the information processing apparatus.
なお、本実施形態では、付加価値機能は、CPUやCPUコア、メモリのオンライン増設の機能などと説明した。しかし、付加価値機能は、前述のものに限定されない。すなわち、付加価値機能は、CPUおよびCPUコアがSMMに遷移し、予備CPUまたは予備CPUコアがBIOSに基づいて処理する機能であればよい。例えば、付加価値機能は、通信機能を担うパッケージやモジュールの追加に対応する機能であってもよい。 In the present embodiment, the value-added function has been described as a function of online addition of a CPU, a CPU core, and a memory. However, the value-added functions are not limited to those described above. That is, the value-added function may be a function in which the CPU and the CPU core transition to the SMM and the spare CPU or the spare CPU core processes based on the BIOS. For example, the value-added function may be a function corresponding to the addition of a package or module that bears a communication function.
また、本実施形態では、予備コアをCPUコア14として説明したが、予備コアは、CPUコア14に限定されない。例えば、予備コアに設定されるのは、CPUコア12でもよいし、CPUコア13でもよい。
In the present embodiment, the spare core is described as the
また、図2に示したフローチャートは、本発明に関わる情報処理装置1の動作例として例示したものであって、本発明の情報処理装置の動作はこのフローチャートで示されたものに限定されない。
(第2の実施形態)
本発明の第2の実施形態について説明する。図3に本実施形態の情報処理装置2の構成例を示したブロック図である。図3を参照して、本実施形態の情報処理装置2の構成と動作について説明する。
2 is illustrated as an example of the operation of the
(Second Embodiment)
A second embodiment of the present invention will be described. FIG. 3 is a block diagram illustrating a configuration example of the
情報処理装置2は、HW100、BIOS200、OS300を備える。HW100は、CPU110、CPU120とメモリ130を備える。CPU110は、CPUコア111、CPUコア112、CPUコア11n(nは3以上の整数)を有するマルチコアCPUである。CPU120は、CPUコア121、CPUコア122、CPUコア12nを有するマルチコアCPUである。
The
BIOS200は、BIOS割込/例外ハンドラ210、BIOS SMM処理220、付加価値機能処理指示部230、付加価値機能処理240、CPUコアOS隠蔽部250とBIOS処理設定部260を備える。付加価値機能処理指示部230は、SMI(System Management Interrupt)要因解析機能231とBIOS付加価値機能指示処理232を備える。CPUコアOS隠蔽部250は、ACPI(Advanced Configuration and Power Interface) Table生成機能251、ACPI Namespace生成機能252とSMBIOS(System Management BIOS)生成機能253を備える。BIOS処理設定部260は、Page Table設定機能261とIDT(Interrupt Descriptor Table)設定機能262を備える。
The
SMI割込要因解析機能231は、割込要因を解析し、CPUやメモリのオンライン増設などのBIOS付加価値機能の処理要求であるかどうかを判定する。BIOS付加価値機能指示処理232は、判定結果が付加価値機能の処理要求であれば、付加価値機能を行うためにメモリ130にフラグを設定して、付加価値機能処理を指示する。BIOS付加価値処理240は、BIOS付加価値機能指示処理231により設定されたフラグに基づいて、付加価値処理を行う。
The SMI interrupt
また、CPUコアOS隠蔽部250は、ACPI Table生成機能251、ACPI Namespace生成機能252とSMBIOS生成機能253により、例えば、CPUコア121を選定して、OSから隠蔽された予備コア121として設定する。BIOS処理設定部260は、Page Table設定機能261とIDT設定機能262により、予備コア121をOS300の運用に影響を与えることなくBIOSで使用するための設定を行う。
Further, the CPU core
OS300は、OS割込処理を行うOS割込/例外ハンドラ310と、BIOSの指示に基づいてCPUコアをCxStateのスリープ状態に遷移させるCxState遷移機能320を備える。CxStateとは、CPUがサポートする最も深いスリープ状態を示す。なお、ACPIのC1レベルでは、CPUコアのクロックを停止する、C2では、CPUコアとバスのクロックを停止する、C3では、クロック生成回路自体の動作も停止するなどのスリープモードがある。
The
図3を参照して、本実施形態の情報処理装置2の動作について説明する。BIOS200は、システム起動時に、情報処理装置2内に存在するCPUコア111からCPUコア12nの中からBIOS付加価値機能処理240を動作させるための予備コアとしてCPUコア121を選定する。なお、予備コアに選定するCPUコアは、CPUコア121に限定されない。例えば、予備コアに選定されるCPUコアは、CPUコア122でもよいし、CPU111でもよい。(CPUコア121を以降、予備コア121という。)
BIOS200は、予備コア121をOS300から隠蔽するための設定を行う。具体的には、BIOS200は、次に説明する設定を行う。
With reference to FIG. 3, the operation of the
The
BIOS200は、情報処理装置2に組込むCPUコア111から12n、および、今後情報処理装置2に組込む可能性のあるCPUコア111から12nに対して次のStructureを生成する。ここで、Structureは、予め定められたフォーマットに基づいて構造化された、種々のパラメータや設定が記載されたデータの集まりである。BIOS200は、ACPI Table生成機能251を用いて、ACPI MADT(Multiple APIC Description Table)内のProcessor Local APIC Structure、Local APIC NMI Structureを生成する。さらに、BIOS200は、SRAT(Static Resource Affinity Table)内のProcessor Local APIC/SAPIC Affinity Structureを生成する。これらの設定がなされた個々のCPUコアは、OS300が主導する電源やリソースの管理が行われる。しかし、BIOS200は、予備コア121としてBIOS SMM処理220を行うCPUコア121に対する上述のStructureを生成しない。すなわち、予備コア121には、上述の設定が行われないので、OS300が予備コア121を自身の管理下のリソースとして設定されないため、OS300が主導する電源やリソースの管理が行われない。
The
また、BIOS200は、OS300に対して情報処理装置2のリソースとして使用可能な最大構成を通知するためのテーブルであるMSCT(Maximum System Characteristics Table)についても予備コア121を除いた数を設定する。
The
次に、予備コア121をOS300に対して隠蔽するために必要なACPI Namespaceの設定について説明する。BIOS200は、ACPI Namespace生成機能252を用いて、予備コア121に対するProcessor Object配下_STA(Status)の返却値が_DS_NOT_PRESENTとなるように設定する。この設定により、予備コア121は、OS300が主導して行うACPIの管理枠組みには存在しないものとなる。
Next, the setting of ACPI Namespace necessary for concealing the
さらに、BIOS200は、ACPIだけではなく、SMBIOSのType4、Typa7についても予備コア121を考慮した設定を行う。具体的には、BIOS200は、SMBIOS生成機能253を用いてType4(Processor Information)のCore Enabled数とThread Count数に対して、予備コア121を除いた数を設定する。さらに、BIOS200は、SMBIOS生成機能253を用いてType7(Cache Information)に対して、予備コア121を考慮したキャッシュサイズを設定する。SMBIOSへの設定により、予備コア121は、OS300が管理するCPUコアから除外される。
Furthermore, the
以上の設定により、BIOS200は、BIOS付加価値機能処理240を行わせる予備コア121をOS300に対して隠蔽することができる。
With the above settings, the
ここで、BIOS200は、OS300から隠蔽した予備コア121を、BIOS付加価値機能処理240を行う場合を除き、CxState遷移機能320を用いてスリープ状態に遷移させる。予備コアをCxStateに遷移させてスリープさせることで、情報処理装置2は、消費電力を低減することができる。
Here, the
予備コア121は、OS300から隠蔽されるので、OS300のスケジュール対象外となる。そのため、OS300は、予備コア121で発生した割込をハンドリングできない。
Since the
BIOS200は、予備コア121を使用してBIOS付加価値機能を処理できるようにするだけでなく、予備コア121で発生した障害をOS300に見せないようにする。これらを実現するために、BIOS200は、次の設定とIDTの設定変更を行う。
The
BIOS200がOS300から隠蔽した予備コア121を使用するには、OS300のブート以降もBIOS200が利用可能なメモリ340領域に予備コア121のPage Tableを存在させる。そのため、BIOS200は、Page Table設定機能261を用いて次の設定を行う。BIOS200は、予備コア121のPage TableをOS300のブート以降もBIOS200が利用可能なメモリ340領域である、論理=物理のアドレスマッピングのPage Tableへと設定する。
In order to use the
図4は、本実施形態の情報処理装置2のIDTの設定の説明図である。図4を参照して、予備コア121用のIDTの設定変更について説明する。
FIG. 4 is an explanatory diagram of the IDT setting of the
IDTは、割込と割込ハンドラを結びつけたテーブルであり、発生した割込に対する割込ハンドラのエントリポイントが登録される。例えば、OS割込により動作する割込ハンドラのエントリポイントを0x100、0x300、0x500、BIOS割込ハンドラ210のエントリポイントを0x200、0x400、0x600とする。OS300をブートしたとき、IDTに登録されたエントリポイントは、OS割込ハンドラ310のエントリポイントの0x100、0x300、0x500である。BIOS200は、IDT設定機能262を用いて予備コア121のIDTに登録されたOS割込ハンドラ310のエントリポイントである0x100、0x300、0x500を、BIOS割込ハンドラ210のエントリポイントである0x200、0x400、0x600へと設定変更する。
The IDT is a table in which interrupts are associated with interrupt handlers, and entry points of interrupt handlers for the generated interrupts are registered. For example, the entry points of the interrupt handler that operates by OS interruption are set to 0x100, 0x300, 0x500, and the entry points of the BIOS interrupt
以上の設定により、BIOS200は、OS300の運用に影響を与えることなく、予備コア121でBIOS付加価値機能処理240を動作させることができる。
With the above settings, the
図5は、本実施形態の情報処理装置2の動作例を示したシーケンス図である。図5を参照して、情報処理装置2の動作について説明する。
FIG. 5 is a sequence diagram illustrating an operation example of the
CPUコア1は、情報処理装置2のCPUコアで、予備コア121以外のCPUコアを示し、OS300の運用下にある。CPUコア2は、情報処理装置2のCPUコアで、前述の設定が行われた予備コア121である。ここでは、CPUコア1と予備コアであるCPUコア2を用いて説明する。CPUコア2は、OS300をブートしたときに、BIOS200からの設定によりCxState遷移機能320によってCxStateでのスリープ状態にある。
The
BIOS付加価値機能処理240を実行する場合、情報処理装置2内の全CPUコアは、OS300処理からBIOS SMM処理220へ遷移する(ステップS400)。
When the BIOS value added
BIOS200は、BIOS SMM処理220の中で、SMI要因解析機能231を用いて、SMI要因を確認し、BIOS付加価値機能の処理を要求するためのSMIであるか否かを判定する(ステップS410)。
The
BIOS200は、SMIがBIOS付加価値機能処理を要求するものであれば、BIOS SMM処理220を抜ける前に、BIOS付加価値機能指示処理232を用いて、次のフラグを立てる。すなわち、BIOS200は、CPUコア2(予備コア)に対してBIOS SMM処理220後にBIOS付加価値機能処理240を行うことを指示するフラグを立てる(ステップS420)。
If the SMI requests BIOS value-added function processing, the
CPUコア2(予備コア)は、BIOS SMM処理220後で、CxState状態に遷移する処理の先頭で、前述のフラグを参照して、処理すべきBIOS付加価値機能があるか否かを判定する(ステップS430)。CPUコア2は、判定結果に基づいて、処理すべきBIOS付加価値機能処理があれば、CxStateに遷移せず、フラグによって指定されたBIOS付加価値機能処理240を開始する(ステップS440)。
The CPU core 2 (reserve core) determines whether or not there is a BIOS value added function to be processed by referring to the above-mentioned flag at the head of the process of transitioning to the CxState state after the BIOS SMM process 220 ( Step S430). Based on the determination result, if there is a BIOS value-added function process to be processed, the
CPUコア2は、全てのBIOS処理を完了後、CxStateに遷移して再びスリープする(ステップS450)。なお、CPUコア2は、処理すべきBIOS付加価値機能がなければ、CxStateに遷移して再びスリープする。
After completing all the BIOS processing, the
このように、情報処理装置2は、実施形態1と同様に、OSをブートしたときに自身が有するCPUコアの1つをOSから隠蔽された予備コアとする設定と、予備コアでBIOS処理するための設定を行う。情報処理装置2は、受付けられた割込がBIOSの付加価値機能の処理要求であるかを判定する。情報処理装置2は、判定結果に基づいて、付加価値機能の処理の要求であれば、付加価値機能の処理を予備コアに指示する。予備コアは、付加価値機能の処理指示に基づいて速やかに付加価値機能の処理を開始することができる。このとき、予備コアが行う付加価値機能の処理は、予備コアがOSから隠蔽されているので、OS運用を妨げることがない。さらに、付加価値機能の処理は、予備コアを占有して行い、処理を細分化せずに連続して行えるので、短時間で行うことができる。また、他のCPUコアは、OS運用下において所定の処理を行うことができる。そのため、情報処理装置2は、システム管理要求に対して、複数のCPUコアを有効に活用して、BIOSの付加価値機能の処理を速やかに開始して短時間で行うことができる。さらに、予備コアは、OSをブートしたときに、OSのCxState遷移機能によりCPUが備える最も深いスリープ状態に遷移する。予備コアは、BIOSの付加価値機能の処理後、再びCxStateに戻る。そのため、情報処理装置2の消費電力は、低減される。
As described above, the
以上、本実施形態の情報処理装置は、第1の実施形態と同様に、システム管理要求に速やかに対応して処理時間を短縮でき、情報処理装置が備えるCPUを有効に活用することができる。さらに、本実施形態の情報処理装置は、予備コアに設定されたCPUコアをBIOS付加価値機能の処理時のみ、スリープ状態から遷移させるので、消費電力を低減することができる。 As described above, the information processing apparatus according to the present embodiment can shorten the processing time in response to the system management request promptly and can effectively use the CPU included in the information processing apparatus, as in the first embodiment. Furthermore, since the information processing apparatus according to the present embodiment shifts the CPU core set as the spare core from the sleep state only when the BIOS value-added function is processed, power consumption can be reduced.
なお、本実施形態では、情報処理装置が有するCPU数は2つ、CPUが有するCPUコア数はn個(nは3以上の整数)として説明した。しかし、CPU数およびCPU当たりのCPUコア数は、説明した数に限定されない。すなわち、OSから隠蔽されるCPUまたはCPUコアが1つあって、OS運用下に置かれるCPUまたはCPUコアが1つ以上あればよい。なお、予備コアに設定されるのは、情報処理装置が有する複数のCPUの1つであってもよい。 In the present embodiment, the information processing apparatus has two CPUs, and the CPU has n CPU cores (n is an integer of 3 or more). However, the number of CPUs and the number of CPU cores per CPU are not limited to the numbers described. That is, it is sufficient that there is one CPU or CPU core hidden from the OS and one or more CPUs or CPU cores placed under the OS operation. The spare core may be set to one of a plurality of CPUs included in the information processing apparatus.
また、本実施形態では、予備コアをCPUコア121として説明したが、予備コアは、CPUコア121に限定されない。例えば、予備コアに設定されるのは、CPUコア122でもよいし、CPUコア11nでもよい。
In the present embodiment, the spare core is described as the
なお、本実施形態では、付加価値機能は、CPUやCPUコア、メモリのオンライン増設の機能などと説明した。しかし、付加価値機能は、前述のものに限定されない。すなわち、付加価値機能は、CPUおよびCPUコアがSMMに遷移し、予備CPUまたは予備CPUコアがBIOSに基づいて処理する機能であればよい。例えば、付加価値機能は、通信機能を担うパッケージやモジュールの追加に対応する機能であってもよい。 In the present embodiment, the value-added function has been described as a function of online addition of a CPU, a CPU core, and a memory. However, the value-added functions are not limited to those described above. That is, the value-added function may be a function in which the CPU and the CPU core transition to the SMM and the spare CPU or the spare CPU core processes based on the BIOS. For example, the value-added function may be a function corresponding to the addition of a package or module that bears a communication function.
また、図5に示したシーケンス図は、本発明に関わる情報処理装置2の動作例として例示したものであって、本発明の情報処理装置の動作はこのシーケンス図で示されたものに限定されない。
The sequence diagram shown in FIG. 5 is an example of the operation of the
なお、本願発明は、上述の各実施形態に限定されるものではなく、本願発明の要旨を逸脱しない範囲で種々変更、変形して実施することができる。 Note that the present invention is not limited to the above-described embodiments, and various modifications and changes can be made without departing from the spirit of the present invention.
また、上述の各実施形態の情報処理装置は、サーバ、ストレージ装置、パーソナルコンピュータ、PDA(Personal Digital Assistant)、タブレット端末、スマートフォンなどの装置でもよい。また、情報処理装置は、これらには限定されるわけではなく、外部と情報をやり取りする機能を備えたその他の類似装置であってもよい。 The information processing apparatus according to each of the above embodiments may be a server, a storage apparatus, a personal computer, a PDA (Personal Digital Assistant), a tablet terminal, a smartphone, or the like. The information processing apparatus is not limited to these, and may be other similar apparatuses having a function of exchanging information with the outside.
また、上述の各実施形態の情報処理装置によるシステム管理要求に対応するBIOS処理は、情報処理装置が備えるコンピュータ(図示なし)を用いたソフトウェアによって実行されてもよい。すなわち、BIOS処理を行うコンピュータプログラムが、CPUによって読み込まれ、実行されることによって実現されてもよい。 Further, the BIOS processing corresponding to the system management request by the information processing apparatus of each of the above-described embodiments may be executed by software using a computer (not shown) provided in the information processing apparatus. That is, a computer program that performs BIOS processing may be realized by being read and executed by the CPU.
なお、プログラムは、ROM(Read Only Memory)、RAM(Random Access Memory)、フラッシュメモリ等の半導体記憶装置、光ディスク、磁気ディスク、光磁気ディスク等、非一時的な媒体に格納されてもよい。 Note that the program may be stored in a non-transitory medium such as a ROM (Read Only Memory), a RAM (Random Access Memory), a semiconductor memory device such as a flash memory, an optical disk, a magnetic disk, or a magneto-optical disk.
1、2 情報処理装置
10、100 HW
11、110、120 CPU
12、13、14、111、112、11n、121、122、12n CPUコア
20、200 BIOS
21 OS隠蔽手段
22 BIOS処理設定手段
23 付加価値機能処理指示手段
24 付加価値機能処理手段
30、300 OS
130 メモリ
210 BIOS割込/例外ハンドラ
220 BIOS SMM処理
230 付加価値機能処理指示部
231 SMI要因解析機能
232 BIOS付加価値機能指示処理
240 BIOS付加価値機能処理
250 OS隠蔽部
251 ACPI Table生成機能
252 ACPI Namespace生成機能
253 SMBIOS生成機能
260 BIOS処理設定部
261 Page Table設定機能
262 IDT設定機能
310 OS割込/例外ハンドラ
320 CxState遷移機能
1, 2,
11, 110, 120 CPU
12, 13, 14, 111, 112, 11n, 121, 122,
21 OS concealing means 22 BIOS processing setting means 23 Value-added function processing instructing means 24 Value-added function processing means 30, 300 OS
130
Claims (6)
少なくとも1つの前記プロセッサまたは前記プロセッサコアをOSから隠蔽して予備コアとする設定を行うOS隠蔽手段と、
BIOSによる処理に前記予備コアを使用するための設定を行うBIOS処理設定手段と、
受付けられた割込が前記BIOSに付加価値機能の処理を要求するものであるかを判定し、前記判定結果が前記付加価値機能の処理要求であれば前記付加価値機能の処理を指示する付加価値機能処理指示手段と、
前記指示に基づいて前記BIOSによる前記付加価値機能の処理を前記予備コアに行わせる付加価値機能処理手段と、
を備えることを特徴とする情報処理装置。 A processor including multiple processors or multiple processor cores;
An OS concealing unit configured to conceal at least one of the processors or the processor core from the OS and set as a spare core;
BIOS processing setting means for performing setting for using the spare core for processing by the BIOS;
It is determined whether the accepted interrupt is a request for processing of the value-added function to the BIOS. If the determination result is a processing request for the value-added function, the value-added function is instructed to process the value-added function. A function processing instruction means;
Value added function processing means for causing the spare core to process the value added function by the BIOS based on the instruction;
An information processing apparatus comprising:
ことを特徴とする請求項1に記載の情報処理装置。 The information processing apparatus according to claim 1, wherein the spare core transitions to a sleep mode and stands by, and performs processing of the value-added function based on the instruction.
ことを特徴とする請求項1または2に記載の情報処理装置。 The information processing apparatus according to claim 1, wherein the spare core transitions to the sleep mode after processing the value-added function.
ことを特徴とする請求項1から4のいずれかに記載の情報処理装置。 5. The information processing apparatus according to claim 1, wherein the value-added function is an on-line expansion of a processor, a processor core, or a memory.
ことを特徴とする情報処理制御方法。 A setting is made so that at least one of the plurality of processors or a processor including a plurality of processor cores is concealed from the OS as a spare core, and the spare core is used for processing by the BIOS. Determining whether the accepted interrupt requests processing of the value-added function from the BIOS, and if the determination result is a processing request for the value-added function, instructs the processing of the value-added function. , Causing the spare core to process the value-added function by the BIOS based on the instruction.
An information processing control method characterized by the above.
少なくとも1つの前記プロセッサまたはプロセッサコアをOSから隠蔽して予備コアとする設定を行うOS隠蔽手段と、
BIOSによる処理に前記予備コアを使用するための設定を行うBIOS処理設定手段と、
受付けられた割込が前記BIOSに付加価値機能の処理を要求するものであるかを判定し、前記判定結果が前記付加価値機能の処理要求であれば前記付加価値機能の処理を指示する付加価値機能処理指示手段と、
前記指示に基づいて前記BIOSによる前記付加価値機能の処理を前記予備コアに行わせる付加価値機能処理手段として動作させる、
ことを特徴とする情報処理装置制御プログラム。 A computer of an information processing apparatus including a processor including a plurality of processors or a plurality of processor cores,
An OS concealment unit configured to conceal at least one of the processors or processor cores from the OS and set as a spare core;
BIOS processing setting means for performing setting for using the spare core for processing by the BIOS;
It is determined whether the accepted interrupt is a request for processing of the value-added function to the BIOS. If the determination result is a processing request for the value-added function, the value-added function is instructed to process the value-added function. A function processing instruction means;
Operating as a value-added function processing means for causing the spare core to perform processing of the value-added function by the BIOS based on the instruction;
An information processing apparatus control program.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015029383A JP2016151917A (en) | 2015-02-18 | 2015-02-18 | Information processing apparatus, information processing control method, and information processing apparatus control program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015029383A JP2016151917A (en) | 2015-02-18 | 2015-02-18 | Information processing apparatus, information processing control method, and information processing apparatus control program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2016151917A true JP2016151917A (en) | 2016-08-22 |
Family
ID=56696533
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015029383A Pending JP2016151917A (en) | 2015-02-18 | 2015-02-18 | Information processing apparatus, information processing control method, and information processing apparatus control program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2016151917A (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012114463A1 (en) * | 2011-02-23 | 2012-08-30 | 株式会社日立製作所 | Computer and firmware execution method |
JP2013093045A (en) * | 2009-04-08 | 2013-05-16 | Intel Corp | Reorientation for inter-processor interrupt in system management mode |
-
2015
- 2015-02-18 JP JP2015029383A patent/JP2016151917A/en active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013093045A (en) * | 2009-04-08 | 2013-05-16 | Intel Corp | Reorientation for inter-processor interrupt in system management mode |
WO2012114463A1 (en) * | 2011-02-23 | 2012-08-30 | 株式会社日立製作所 | Computer and firmware execution method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10649935B2 (en) | Deferred inter-processor interrupts | |
JP7087029B2 (en) | Improved functional callback mechanism between the central processing unit (CPU) and the auxiliary processor | |
US8943505B2 (en) | Hardware assisted real-time scheduler using memory monitoring | |
TW202207024A (en) | Methods, apparatus, and instructions for user-level thread suspension | |
JP2009093665A (en) | Apparatus and method for multi-threaded processors performance control | |
JP5673672B2 (en) | Multi-core processor system, control program, and control method | |
JP5972981B2 (en) | A constrained boot method on multi-core platforms | |
JP2018534675A (en) | Task subgraph acceleration by remapping synchronization | |
JP4457047B2 (en) | Multiprocessor system | |
US10459771B2 (en) | Lightweight thread synchronization using shared memory state | |
US20180267829A1 (en) | Method for configuring an it system, corresponding computer program and it system | |
JP2014215833A (en) | Memory access control system and image forming apparatus | |
JP5195408B2 (en) | Multi-core system | |
US20150143089A1 (en) | System performance enhancement with smi on multi-core systems | |
JPWO2011104812A1 (en) | Multi-core processor system, interrupt program, and interrupt method | |
JPWO2012014287A1 (en) | Multi-core processor system, control program, and control method | |
JP2009175960A (en) | Virtual multiprocessor system | |
US10884477B2 (en) | Coordinating accesses of shared resources by clients in a computing device | |
JP2016151917A (en) | Information processing apparatus, information processing control method, and information processing apparatus control program | |
WO2019188177A1 (en) | Information processing device | |
JP2010092101A (en) | Information processor | |
JP2010140319A (en) | Semiconductor device | |
JP5867630B2 (en) | Multi-core processor system, multi-core processor system control method, and multi-core processor system control program | |
JP6206524B2 (en) | Data transfer device, data transfer method, and program | |
JP5621896B2 (en) | Multiprocessor system, control program, and control method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160517 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20161115 |