JP2014089622A - システム管理モード処理時間最適化装置、システム管理モード処理時間最適化システム、システム管理モード処理時間最適化方法、及び、システム管理モード処理時間最適化プログラム - Google Patents

システム管理モード処理時間最適化装置、システム管理モード処理時間最適化システム、システム管理モード処理時間最適化方法、及び、システム管理モード処理時間最適化プログラム Download PDF

Info

Publication number
JP2014089622A
JP2014089622A JP2012239781A JP2012239781A JP2014089622A JP 2014089622 A JP2014089622 A JP 2014089622A JP 2012239781 A JP2012239781 A JP 2012239781A JP 2012239781 A JP2012239781 A JP 2012239781A JP 2014089622 A JP2014089622 A JP 2014089622A
Authority
JP
Japan
Prior art keywords
processor
system management
management mode
program
mode
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
Application number
JP2012239781A
Other languages
English (en)
Inventor
Yasuo Miyabe
保雄 宮部
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 JP2012239781A priority Critical patent/JP2014089622A/ja
Publication of JP2014089622A publication Critical patent/JP2014089622A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Power Sources (AREA)

Abstract

【課題】OS運用に悪影響を与えずに、OS運用中におけるシステム管理モードのプログラム処理時間を最適化できるシステム管理モード処理時間最適化装置を提供する。
【解決手段】本願発明のシステム管理モード処理時間最適化装置は、プロセッサがスリープモードの状態であるかを判定する判定手段と、プロセッサが、システム管理モードで実行するプログラムを記憶する記憶手段と、プロセッサがOS実行中に、当該プロセッサをシステム管理モードへ移行させ、プログラムの一部を実行させた後、システム管理モードを終了させることを、プログラムの実行が完了するまで、1サイクル以上繰り返し行い、システム管理モードへの移行直前の判定手段の判定結果を参照し、スリープモードであるときは、スリープモードでないときと比較して、1サイクルあたりのプログラムの実行時間を長くして、プログラムをプロセッサに実行させる実行指示手段と、を備える。
【選択図】 図1

Description

本願発明は、OS運用中におけるシステム管理モードのプログラム処理時間を最適化するための、システム管理モード処理時間最適化装置、システム管理モード処理時間最適化システム、システム管理モード処理時間最適化方法、及び、システム管理モード処理時間最適化プログラムに関する。
コンピュータシステムにおいては、OS(Operating System)運用中に、システム管理に関わる様々な割り込みが発生する。近年、BIOS(Basic Input/Output System)が提供する機能の高度化に伴い、OS運用中にシステム管理モードに移行して、プロセッサやメモリ等を増設、初期化することなども可能となってきている。
このような高度なシステム管理機能は処理に時間がかかるが、システム管理モードを長時間継続させることにより、OSの実行を長時間一時停止させることは、OS運用上あまり好ましいことではない。したがって、割り込み処理の実行を適切に管理して、OS運用に支障をきたさないようにシステム管理を行うことが求められている。
このような適切なシステム管理に関連する技術として、特許文献1には、システム管理ルーチンのためにプロセッサの状態情報を格納するメモリ領域を予めに定義しておき、プロセッサは、システム管理割り込みを受けた場合、システム管理ルーチン実行により影響を受ける状態情報を格納し、その他の状態情報は、時間的オーバーヘッドが最小となるように格納するようにしたシステムが公開されている。
また、特許文献2には、システムの初期化時に、CPUステートマップ情報をメモリ上に保存し、OS起動中にシステム管理割り込み要求を受けた場合、CPUの動作モードをシステム管理モードから割り込み可能なモードへ変更し、割り込み制御処理を割り込み可能なモードで実行することにより、割り込み制御処理中で必要な処理を並列実行するようにしたシステムが公開されている。
特開平6-230979号公報 特開平11-73330号公報
前述の特許文献1、及び、特許文献2のシステムは、システム管理割り込み処理の実行を適切に管理して、OS運用に支障をきたさないようにするための機能を備えているが、OS運用中のプロセッサの状態を動的に監視して、システム管理を適切に行うことは実施していない。OS運用中のプロセッサの状態を基に、システム管理モードでの処理実行を管理することができれば、さらにOS運用上好ましいシステム管理を行うことが可能となる。
本願発明の目的は、上述の課題を解決したシステム管理モード処理時間最適化装置、システム管理モード処理時間最適化システム、システム管理モード処理時間最適化方法、及び、システム管理モード処理時間最適化プログラムを提供することである。
本願発明の一実施形態のシステム管理モード処理時間最適化装置は、プロセッサがスリープモードの状態であるかを判定する判定手段と、前記プロセッサが、システム管理モードで実行するプログラムを記憶する記憶手段と、前記プロセッサがOS実行中に、当該プロセッサを前記システム管理モードへ移行させ、前記プログラムの一部を実行させた後、システム管理モードを終了させることを、前記プログラムの実行が完了するまで、1サイクル以上繰り返し行う手段であって、前記システム管理モードへの移行直前の前記判定手段の判定結果を参照し、前記判定結果が前記スリープモードであるときは、前記スリープモードでないときと比較して、前記1サイクルあたりの前記プログラムの実行時間を長くして、前記プログラムを前記プロセッサに実行させる実行指示手段と、を備える。
本願発明の一実施形態のシステム管理モード処理時間最適化方法は、プロセッサがスリープモードの状態であるかを判定し、前記プロセッサが、システム管理モードで実行するプログラムを記憶域に記憶し、前記プロセッサがOS実行中に、当該プロセッサを前記システム管理モードへ移行させ、前記プログラムの一部を実行させた後、システム管理モードを終了させることを、前記プログラムの実行が完了するまで、1サイクル以上繰り返し行う際に、前記システム管理モードへの移行直前の前記プロセッサの前記スリープモードの判定結果を参照し、前記判定結果が前記スリープモードであるときは、前記スリープモードでないときと比較して、前記1サイクルあたりの前記プログラムの実行時間を長くして、前記プログラムを前記プロセッサに実行させる。
本願発明の一実施形態のシステム管理モード処理時間最適化プログラムは、プロセッサがスリープモードの状態であるかを判定する判定処理と、前記プロセッサが、システム管理モードで実行するプログラムを記憶域に記憶する記憶処理と、前記プロセッサがOS実行中に、当該プロセッサを前記システム管理モードへ移行させ、前記プログラムの一部を実行させた後、システム管理モードを終了させることを、前記プログラムの実行が完了するまで、1サイクル以上繰り返し行う処理であって、前記システム管理モードへの移行直前の前記判定処理の判定結果を参照し、前記判定結果が前記スリープモードであるときは、前記スリープモードでないときと比較して、前記1サイクルあたりの前記プログラムの実行時間を長くして、前記プログラムを前記プロセッサに実行させる実行指示処理と、をコンピュータに実行させる。
本願発明は、OS運用に悪影響を与えずに、OS運用中におけるシステム管理モードのプログラム処理時間を最適化することができるようにする。
本願発明の第1の実施形態のシステム管理モード処理時間最適化システムの構成を示すブロック図である。 本願発明の第1の実施形態の動作を示すフローチャートである。 本願発明の第1の実施形態における、プロセッサの負荷平均値と、プロセッサのシステム管理モードの最大時間との関係例である。 本願発明の第2の実施形態のシステム管理モード処理時間最適化システムの構成を示すブロック図である。 本願発明の第2の実施形態におけるシステム管理割り込み発生の優先設定の例である。 本願発明の第3の実施形態のシステム管理モード処理時間最適化装置の構成を示すブロック図である。
本願発明の第1の実施の形態について図面を参照して詳細に説明する。
図1は本実施形態のシステム管理モード処理時間最適化システムの構成を示すブロック図である。
本実施形態のシステム管理モード処理時間最適化システム1は、システム管理モード処理時間最適化システム10と、プロセッサ20と、OS記憶部30と、メモリ40とを包含している。
プロセッサ20は、OS記憶部30からOSを読み出して、OSを実行する。プロセッサ20は、OS実行中にシステム管理割り込みが発生すると、OSの実行を一時停止して、システム管理モードへ移行し、BIOS処理を実行する。プロセッサ20は、所定のBIOS処理を実行した後、システム管理モードを終了して、OSの実行を再開する。
プロセッサ20は、ACPI(Advanced Configuration Power Interface) C1乃至C3の3つのレベルのスリープモードを有している。ACPI C1は、プロセッサ20におけるコアのクロックが停止したスリープモードである。ACPI C2は、プロセッサ20におけるコアとバスのクロックが停止したスリープモードである。ACPI C3は、クロック生成回路自体の動作も停止したスリープモードである。したがって、ACPI C3のスリープモードが、最も深いスリープ状態である。尚、プロセッサ20が、ACPI以外の仕様のスリープモードを有する場合もある。
メモリ40は、プロセッサ20のメモリ空間上にマップされたRAM(Random Access Memory)である。メモリ40は、プロセッサ20がシステム管理モードへ移行する際に、移行前のプロセッサ20のレジスタ情報等の内部状態情報を記憶する。
プロセッサ20は、システム管理モードから通常動作に復帰するときに、メモリ40に記憶された内部状態情報を読み出すことで、システム管理モードへの移行前の状態に復帰する。
システム管理モード処理時間最適化装置10は、BIOS記憶部11と、判定部12と、実行指示部13と、測定部14と、最大時間決定部15とを包含している。BIOS記憶部11と、判定部12と、実行指示部13と、測定部14と、最大時間決定部15は、電子回路である場合もあれば、コンピュータプログラムである場合もある。
BIOS記憶部11は、分割プログラム110を包含している。分割プログラム110は、システムに追加されたプロセッサやメモリの初期化などの様々なBIOS処理の各々について、複数の分割されたプログラムであり、システム管理モードにおいて、プロセッサ20により1つずつ読み出されて実行される。
判定部12は、プロセッサ20がシステム管理モードへ移行する際にメモリ40に保存したコンテキスト情報を参照して、プロセッサ20がシステム管理モードへの移行直前に実行していた主記憶上の命令アドレスを入手する。判定部12は、当該命令アドレスに、プロセッサ20をスリープモードに遷移させる命令が存在する場合に、プロセッサ20がスリープモードの状態であると判定して、判定結果を実行指示部13へ送信する。
判定部12は、ACPI C1乃至C3の3つのレベルのスリープモードのうち、最もスリープ状態のレベルが高いACPI C3の状態であることをもって、プロセッサ20がスリープモードの状態であると判定する。尚、スリープモードの状態であると判定するレベルはC3に限定されるわけではなく、C1乃至C2のいずれかの場合もある。
測定部14は、常時カウント動作するタイムスタンプカウンタ(図示せず)と、プロセッサ20がACPI C3の状態である場合にカウント動作するACPI C3状態カウンタ(図示せず)を包含している。
測定部14は、プロセッサ20でシステム管理割り込みが発生するたびに、タイムスタンプカウンタとACPI C3状態カウンタのカウント値を、内部メモリ(図示せず)に記憶する。測定部14は、プロセッサ20でシステム管理割り込みが発生すると、現在のタイムスタンプカウンタとACPI C3状態カウンタのカウント値と、内部メモリに記憶した前回のシステム管理割り込み時の、それぞれのカウンタのカウント値の差分を算出する。
測定部14はさらに、前述で算出した値から、前回のシステム管理割り込みから今回のシステム管理割り込みまでの間で、プロセッサ20がACPI C3の状態でない時間の割合を算出して、プロセッサ20の負荷平均値として、最大時間決定部15へ送信する。尚、測定部14は、前回のシステム管理割り込みから今回のシステム管理割り込みまでの間以外の時間で、プロセッサ20の負荷平均値を算出する場合もある。
最大時間決定部15は、測定部14から受信したプロセッサ20の負荷平均値をもとに、1つのシステム管理割り込みあたりの、プロセッサ20がシステム管理モードを継続する最大継続時間を算出する。図3に、プロセッサの負荷平均値と、プロセッサのシステム管理モードの最大継続時間との対応関係100のグラフの一例を示す。最大時間決定部15は、負荷平均値と負の相関関係を有し、かつ、分割プログラム110のプログラム1つあたりの実行時間以上である値を、最大継続時間として算出して、実行指示部13へ送信する。
実行指示部13は、OSやシステム内のハードウェア(図示せず)等からの指示により、OS実行中のプロセッサ20に対してシステム管理割り込みをかけ、プロセッサ20をシステム管理モードへ移行させる。実行指示部13は、システム管理割り込みをかけたことを、判定部12と測定部14へ送信する。実行指示部13は、プロセッサ20をシステム管理モードに移行させた後、BIOS記憶部11の分割プログラム110を実行させて、システム管理モードを終了させることを、BIOS処理が完了するまで1サイクル以上繰り返し実行する。
実行指示部13は、判定部12から受信した判定結果がACPI C3の状態でない場合は、BIOS記憶部11から、分割プログラム110のプログラムを1つ読み出して実行するようにプロセッサ20に指示し、プロセッサ20が当該プログラムの実行が完了すると、プロセッサ20のシステム管理モードを終了させる。
実行指示部13は、判定部12から受信した判定結果がACPI C3の状態である場合は、システム管理モードの終了を指示するまで、BIOS記憶部11から、分割プログラム110のプログラムを連続して読み出して実行するようにプロセッサ20に指示する。
実行指示部13は、プロセッサ20が、分割プログラム110の1つのプログラムの実行を完了した時点で、プロセッサ20がシステム管理モードへ移行してからの経過時間を確認する。実行指示部13は、経過時間が、最大時間決定部15から受信した最大継続時間に達していない場合は、BIOS記憶部11から、引き続き次の分割プログラム110のプログラムを読み出して実行するようにプロセッサ20に指示する。実行指示部13は、経過時間が、最大時間決定部13から受信した最大継続時間に達した場合は、プロセッサ20のシステム管理モードを終了させる。
実行指示部13は、プロセッサ20に上述の1サイクルの処理を実行させた後、所定のBIOS処理が全て完了したかを確認し、BIOS処理がまだ完了していない場合は、所定の時間待機した後、プロセッサ20に対して再びシステム管理割り込みをかけ、続きの分割プログラム110を実行させる。
実行指示部13は、また、OSが、プロセッサ20を、通常動作の状態からACPI C3の状態へ移行させるか否かを判断するときに、プロセッサ20がACPI C3の状態から通常動作の状態に復帰するのに要する時間に、最大時間決定部15から受信した最大継続時間を加算した値を、ACPI C3の状態から通常動作の状態への最大復帰時間として、OSに報告する。
次に図2のフローチャートを参照して、本実施形態の動作について詳細に説明する。
実行指示部13は、OS実行中のプロセッサ20に対してシステム管理割り込みをかけ、システム管理割り込みをかけたことを、判定部12と測定部14へ送信する(S101)。プロセッサ20は、内部状態情報をメモリ40に格納した後、システム管理モードへ移行する(S102)。判定部12は、プロセッサ20がメモリ40に格納した内部状態情報から、プロセッサ20のシステム管理モードへの移行直前の状態を確認する(S103)。
プロセッサ20がACPI C3の状態の場合(S104でYes)、測定部14は、プロセッサ20がシステム管理モードへ移行する前の所定の時間内のACPI C3の状態でない時間の割合から、プロセッサ20の負荷平均値を算出し、最大時間決定部15へ送信する(S105)。
最大時間決定部15は、測定部14から受信したプロセッサ20の負荷平均値を基に、プロセッサ20がシステム管理モードの状態を継続する最大継続時間を算出し、実行指示部13へ送信する(S106)。実行指示部13は、プロセッサ20に、BIOS記憶部11から分割プログラム110を読み出して実行することを指示する(S107)。
プロセッサ20は、BIOS記憶部11から分割プログラム110を1つ読み出して実行する(S108)。実行指示部13は、プロセッサ20がシステム管理モードへ移行してからの経過時間を確認する(S109)。経過時間が最大継続時間未満の場合(S110でYes)、実行指示部13は、プロセッサ20に、引き続きBIOS記憶部11から次の分割プログラム110を読み出して実行することを指示し(S111)、処理はS108へ戻る。経過時間が最大継続時間以上の場合(S110でNo)、処理はS114へ進む。
S103の確認結果で、プロセッサ20がACPI C3の状態でない場合(S104でNo)、実行指示部13は、プロセッサ20に、BIOS記憶部11から分割プログラム110を1つ読み出して実行することを指示する(S112)。プロセッサ20は、BIOS記憶部11から分割プログラム110を1つ読み出して実行する(S113)。実行指示部13は、プロセッサ20に、システム管理モードを終了させることを指示する(S114)。
プロセッサ20は、メモリ40に格納した内部状態情報を読み込んで、システム管理モードから復帰し、OSの実行を再開する(S115)。実行指示部13は、BIOS処理が全て完了したか確認する(S116)。BIOS処理が全て完了している場合(S117でYes)、全体の処理は終了する。BIOS処理が全て完了していない場合(S117でNo)、実行指示部13は、所定の時間待機した後(S118)、処理はS101へ戻る。
本実施形態には、OS運用に悪影響を与えずに、OS運用中におけるシステム管理モードのBIOS処理時間を最適化することができる効果がある。その理由は、実行指示部13が、プロセッサ20のシステム管理モードへの移行直前の状態が、スリープモードでない場合は、プロセッサ20にBIOSの分割プログラム110のプログラムを1つ実行させた後にシステム管理モードを終了させ、スリープモードの場合は、システム管理モードに移行してからの経過時間が所定の最大継続時間に達するまでは、プロセッサ20に分割プログラム110のプログラムを連続実行させるからである。
システム管理割り込みの発生により、プロセッサ20が長時間システム管理モードでBIOS処理を行うことは、OS上で実行されているアプリケーションが長時間一時停止することになるため、OS運用上好ましいことではない。BIOSのプログラムを予め分割しておき、プロセッサ20が、分割されたBIOSプログラムを1つ実行した後、システム管理モードを一旦終了することで、システム管理モードが長時間継続することを回避することができる。
しかしながら、上述の方式では、BIOS処理が完了するまでの時間が長くなるため、システムメンテナンス上問題となる。したがって、OS運用に悪影響を与えずに、OS運用中におけるシステム管理モードのBIOS処理時間を最適化することが、システム運用上重要となる。
例えば、夜間等のシステムの負荷が軽い時間帯では、BIOS処理を継続して実行する時間を長くすることで、OSが一時停止する時間が多少長くなったとしても、OS運用上での影響は小さい。システムの負荷の重さの指標の1つとして、プロセッサがスリープモードの状態であるかどうかということがある。
本実施形態では、判定部12が、システム管理モードへの移行直前のプロセッサ20のスリープ状態を確認して実行指示部13へ報告し、実行指示部13が、報告結果を基に、1つのシステム管理割り込みでプロセッサ20に実行させる分割プログラム110のプログラムの数を制御することで、OS運用に悪影響を与えずに、OS運用中におけるシステム管理モードのBIOS処理時間を最適化することが可能となる。
本実施形態では、また、測定部14が、プロセッサ20がスリープモードの状態にある時間の割合からシステムの負荷平均値を算出し、最大時間決定部15が、負荷平均値を基に1つのシステム管理割り込みあたりのシステム管理モードの最大継続時間を決定することで、システム管理モードのBIOS処理時間を、きめ細かく最適化することが可能となる。
さらに、本実施形態では、実行指示部13が、プロセッサ20がスリープ状態から通常動作の状態に復帰するのに要する時間に最大時間決定部15が決定した最大継続時間を加算した値を、スリープ状態からの最大復帰時間として、OSに報告する。
OSは、報告を受けた最大復帰時間をもとに、プロセッサ20を通常動作の状態からスリープ状態へ移行させるか否かを判断するため、プロセッサ20のスリープ状態からの復帰が、前述の最大復帰時間内であれば、仕様上の問題は生じない。本実施形態では、実行指示部13の前述の報告動作により、1回のシステム管理割り込みで、プロセッサ20が最大継続時間の間、BIOS処理を実行したとしても、OSからは前述の最大復帰時間内であると見えるため、システム管理モードのBIOS処理時間が、OS運用に悪影響を与えないことを保障することが可能となる。
<第2の実施形態>
次に、本願発明の第2の実施形態について図面を参照して詳細に説明する。
図4は本願発明の第2の実施形態のシステム管理モード処理時間最適化システムの構成を示すブロック図である。
本実施形態のシステム管理モード処理時間最適化システム1の構成は、プロセッサ21を包含していることを除いて、第1の実施形態と同様である。システム管理モード処理時間最適化システム1に包含される各構成要素の動作も、第1の実施形態とほぼ同様である。
実行指示部13は、プロセッサ20乃至21の何れかにおいて、1回のシステム管理割り込みによるBIOS処理が終了した時点で、所定のBIOS処理が全て完了していない場合、当該プロセッサのシステム管理モードへの移行直前の状態が、ACPI C3の状態である場合、次のシステム管理割り込みを、当該プロセッサで優先的に発生させる。
図5に、本実施形態における、システム管理割り込み優先設定一覧200の一例を示す。プロセッサ20がACPI C3の状態であり、プロセッサ21がACPI C3の状態でない場合、実行指示部13は、次のシステム管理割り込みの発生に関し、プロセッサ20を優先させる。プロセッサ20がACPI C3の状態でなく、プロセッサ21がACPI C3の状態である場合、実行指示部13は、次のシステム管理割り込みの発生に関し、プロセッサ21を優先させる。
プロセッサ20乃至21がいずれもACPI C3の状態である場合、あるいは、プロセッサ20乃至21がいずれもACPI C3の状態でない場合、実行指示部13は、次のシステム管理割り込みの発生に関する優先設定は行わずに、時系列にしたがって、次のシステム管理割り込みを発生させる。
本実施形態には、第1の実施形態の効果に加えて、マルチプロセッサシステムにおけるOS運用中のBIOS処理のスケジューリングを最適化することができる効果がある。その理由は、実行指示部13が、プロセッサ20乃至21のシステム管理モードへの移行直前の状態がスリープモードである方を、次のシステム管理割り込みの発生に関して優先させるからである。
マルチプロセッサシステムにおいて、スリープモードであるプロセッサと、通常動作モードであるプロセッサが混在する場合、負荷の低いスリープモードのプロセッサのBIOS処理を優先的に実行させた方が、OS運用への影響をより小さくすることが可能となる。
尚、本実施形態は、便宜上、プロセッサ数を2個としているが、プロセッサ数が3個以上の場合もあり、その場合も同様に、実行指示部13は、次のシステム管理割り込みの発生に関し、システム管理モードへの移行直前の状態がスリープモードであるプロセッサを優先させる。
また、実行指示部13は、プロセッサ20乃至21がACPI C3の状態であるか否かを前述の優先設定の基準としているが、ACPI C1乃至C2のいずれかを優先設定の基準とする場合もある。
<第3の実施形態>
次に、本願発明の第3の実施形態について図面を参照して詳細に説明する。
図6は本願発明の第3の実施形態のシステム管理モード処理時間最適化装置の構成を示すブロック図である。
本実施形態のシステム管理モード処理時間最適化装置10は、プログラム記憶部16と、判定部12と、実行指示部13とを包含している。
判定部12は、プロセッサ20がスリープモードの状態であるかを判定する。プログラム記憶部16は、プロセッサ20が、システム管理モードで実行するBIOS等のプログラム160を記憶する。
実行指示部13は、プロセッサ20がOS実行中に、プロセッサ20をシステム管理モードへ移行させ、プログラム160を実行させた後、システム管理モードを終了させることを、プログラム実行が完了するまで、1サイクル以上繰り返し行う。実行指示部13は、システム管理モードへの移行直前の判定部12の判定結果を参照し、判定結果がスリープモードであるときは、スリープモードでないときと比較して、1サイクルあたりのプログラム160の実行時間を長くして、プログラム160をプロセッサ20に実行させる。
本実施形態には、第1の実施形態と同様、OS運用に悪影響を与えずに、OS運用中におけるシステム管理モードのプログラム処理時間を最適化することができる効果がある。その理由は、実行指示部13が、プロセッサ20のシステム管理モードへの移行直前の状態が、スリープモードの場合は、スリープモードでない場合と比較して、上述の1サイクルにおける、プロセッサ20がプログラム160を実行するための時間を長くとるからである。
実行指示部13が上述の制御を行うために、ブログラム160が、第1の実施形態における分割プログラム110と同様に、処理を分割したプログラムの形をとる場合がある。あるいは、プログラム160が分割された形を取らずに、実行指示部13が、プロセッサ20がスリープモードであるか否かによって個別に設定された1サイクルあたりのBIOS処理の最大継続時間に達すると、プロセッサ20によるプログラム111の実行処理を一時停止させる場合もある。
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されたものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
1 システム管理モード処理時間最適化システム
10 システム管理モード処理時間最適化装置
11 BIOS記憶部
110 分割プログラム
12 判定部
13 実行指示部
14 測定部
15 最大時間決定部
16 プログラム記憶部
160 プログラム
20乃至21 プロセッサ
30 OS記憶部
40 メモリ
100 プロセッサの負荷平均値と、プロセッサのシステム管理モードの最大継続時間との対応関係
200 システム管理割り込み優先設定一覧

Claims (10)

  1. プロセッサがスリープモードの状態であるかを判定する判定手段と、
    前記プロセッサが、システム管理モードで実行するプログラムを記憶する記憶手段と、
    前記プロセッサがOS実行中に、当該プロセッサを前記システム管理モードへ移行させ、前記プログラムの一部を実行させた後、システム管理モードを終了させることを、前記プログラムの実行が完了するまで、1サイクル以上繰り返し行う手段であって、前記システム管理モードへの移行直前の前記判定手段の判定結果を参照し、前記判定結果が前記スリープモードであるときは、前記スリープモードでないときと比較して、前記1サイクルあたりの前記プログラムの実行時間を長くして、前記プログラムを前記プロセッサに実行させる実行指示手段と、
    を備えるシステム管理モード処理時間最適化装置。
  2. 前記記憶手段は、前記プログラムを分割した分割プログラムを記憶し、
    前記実行手段は、前記判定結果が前記スリープモードでないときは、前記プロセッサに実行させる前記分割プログラムを、前記1サイクルあたり1つとし、前記判定結果が前記スリープモードであるときは、前記1サイクル内で複数の前記分割プログラムを連続して前記プロセッサに実行させる
    請求項1のシステム管理モード処理時間最適化装置。
  3. 前記実行手段は、前記判定結果が前記スリープモードであるときは、前記システム管理モードへ移行した時からの経過時間が、所定の最大時間に達するまで、前記1サイクル内で前記プログラムを前記プロセッサに実行させる
    請求項1乃至2のシステム管理モード処理時間最適化装置。
  4. 前記プロセッサの、所定の時間の負荷平均値を算出する測定手段と、
    前記プロセッサが前記システム管理モードへ移行する直前の、前記プロセッサの前記負荷平均値を前記測定手段から受信して、前記負荷平均値と負の相関関係を有し、かつ、1つの前記分割プログラムの実行時間以上である値を、前記最大時間として決定する最大時間決定手段と、
    をさらに備える請求項2乃至3のシステム管理モード処理時間最適化装置。
  5. 前記測定手段は、前記判定手段の前記判定結果から、前記プロセッサが前記スリープモードの状態でない時間を測定し、前記所定の時間における、前記プロセッサが前記スリープモードの状態でない時間の割合を、前記負荷平均値とする
    請求項2乃至4のシステム管理モード処理時間最適化装置。
  6. 前記判定手段は、複数のスリープ状態のレベルの前記スリープモードを有する前記プロセッサについて、前記プロセッサの前記スリープモードの前記レベルが、所定の値以上であることをもって、前記プロセッサが前記スリープモードの状態であると判定する
    請求項1乃至5のシステム管理モード処理時間最適化装置。
  7. 前記実行指示手段は、前記OSが、前記プロセッサを、通常動作モードから前記スリープモードへ移行させるか否かを判断するときに、前記プロセッサの前記スリープモードから前記通常動作モードへの移行に要する時間に、前記最大時間を加算した値を、前記スリープモードから前記通常動作モードへの最大復帰時間として、前記OSへ報告する
    請求項1乃至6のシステム管理モード処理時間最適化装置。
  8. 前記実行指示手段は、複数の前記プロセッサの何れかが、前記1サイクルの前記プログラムの実行を終了した時点で、実行すべき前記プログラムの実行が完了していない場合、前記システム管理モードへの移行直前の当該プロセッサの前記判定結果が、前記スリープモードのときは、次の前記1サイクルを当該プロセッサで優先的に実行させる
    請求項1乃至7のシステム管理モード処理時間最適化装置。
  9. プロセッサがスリープモードの状態であるかを判定し、
    前記プロセッサが、システム管理モードで実行するプログラムを記憶域に記憶し、
    前記プロセッサがOS実行中に、当該プロセッサを前記システム管理モードへ移行させ、前記プログラムの一部を実行させた後、システム管理モードを終了させることを、前記プログラムの実行が完了するまで、1サイクル以上繰り返し行う際に、前記システム管理モードへの移行直前の前記プロセッサの前記スリープモードの判定結果を参照し、前記判定結果が前記スリープモードであるときは、前記スリープモードでないときと比較して、前記1サイクルあたりの前記プログラムの実行時間を長くして、前記プログラムを前記プロセッサに実行させる
    システム管理モード処理時間最適化方法。
  10. プロセッサがスリープモードの状態であるかを判定する判定処理と、
    前記プロセッサが、システム管理モードで実行するプログラムを記憶域に記憶する記憶処理と、
    前記プロセッサがOS実行中に、当該プロセッサを前記システム管理モードへ移行させ、前記プログラムの一部を実行させた後、システム管理モードを終了させることを、前記プログラムの実行が完了するまで、1サイクル以上繰り返し行う処理であって、前記システム管理モードへの移行直前の前記判定処理の判定結果を参照し、前記判定結果が前記スリープモードであるときは、前記スリープモードでないときと比較して、前記1サイクルあたりの前記プログラムの実行時間を長くして、前記プログラムを前記プロセッサに実行させる実行指示処理と、
    をコンピュータに実行させるシステム管理モード処理時間最適化プログラム。
JP2012239781A 2012-10-31 2012-10-31 システム管理モード処理時間最適化装置、システム管理モード処理時間最適化システム、システム管理モード処理時間最適化方法、及び、システム管理モード処理時間最適化プログラム Pending JP2014089622A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012239781A JP2014089622A (ja) 2012-10-31 2012-10-31 システム管理モード処理時間最適化装置、システム管理モード処理時間最適化システム、システム管理モード処理時間最適化方法、及び、システム管理モード処理時間最適化プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012239781A JP2014089622A (ja) 2012-10-31 2012-10-31 システム管理モード処理時間最適化装置、システム管理モード処理時間最適化システム、システム管理モード処理時間最適化方法、及び、システム管理モード処理時間最適化プログラム

Publications (1)

Publication Number Publication Date
JP2014089622A true JP2014089622A (ja) 2014-05-15

Family

ID=50791473

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012239781A Pending JP2014089622A (ja) 2012-10-31 2012-10-31 システム管理モード処理時間最適化装置、システム管理モード処理時間最適化システム、システム管理モード処理時間最適化方法、及び、システム管理モード処理時間最適化プログラム

Country Status (1)

Country Link
JP (1) JP2014089622A (ja)

Similar Documents

Publication Publication Date Title
US9223674B2 (en) Computer system and method for runtime control of parallelism in program execution
EP3428801B1 (en) Scheduling method and electronic device
US20120137295A1 (en) Method for displaying cpu utilization in a multi-processing system
TW201413594A (zh) 多核心裝置以及其多執行緒排程方法
US20210334228A1 (en) Managing network interface controller-generated interrupts
WO2011116841A1 (en) Power management in a multi-processor computer system
US9244733B2 (en) Apparatus and method for scheduling kernel execution order
US10402232B2 (en) Method and system for deterministic multicore execution
US20120297216A1 (en) Dynamically selecting active polling or timed waits
US8892819B2 (en) Multi-core system and external input/output bus control method
US20140006666A1 (en) Task scheduling method and multi-core system
JP5542700B2 (ja) Smtプロセッサにおけるプロセッサ使用率の算出方法
US20230127112A1 (en) Sub-idle thread priority class
JPWO2009150815A1 (ja) マルチプロセッサシステム
WO2012113232A1 (zh) 调整时钟中断周期的方法和装置
JP6424590B2 (ja) 同期方法
US9223615B2 (en) Apparatus and method for thread progress tracking
US8943503B2 (en) Apparatus and method for thread progress tracking using deterministic progress index
JP2014089622A (ja) システム管理モード処理時間最適化装置、システム管理モード処理時間最適化システム、システム管理モード処理時間最適化方法、及び、システム管理モード処理時間最適化プログラム
JP2016184315A (ja) 電子制御装置
JP4798445B2 (ja) 省電力制御方法、画像形成装置およびプログラム
JP7124592B2 (ja) ジョブ実行システムおよびジョブ実行方法
JPWO2013129061A1 (ja) 同時接続数制御システム、同時接続数制御サーバ、同時接続数制御方法および同時接続数制御プログラム
JP5299681B2 (ja) プログラム検査方法
JP2013167945A (ja) 情報処理装置、タスク起床制御方法、及びタスク起動制御プログラム