JPH04264635A - プログラムのcpu占有率測定方式 - Google Patents
プログラムのcpu占有率測定方式Info
- Publication number
- JPH04264635A JPH04264635A JP3024980A JP2498091A JPH04264635A JP H04264635 A JPH04264635 A JP H04264635A JP 3024980 A JP3024980 A JP 3024980A JP 2498091 A JP2498091 A JP 2498091A JP H04264635 A JPH04264635 A JP H04264635A
- Authority
- JP
- Japan
- Prior art keywords
- program
- cpu
- execution
- execution level
- occupancy rate
- 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
- 238000000034 method Methods 0.000 claims description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 101100472041 Arabidopsis thaliana RPL8A gene Proteins 0.000 description 1
- 101100527654 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) RPL4A gene Proteins 0.000 description 1
- 101100527652 Schizosaccharomyces pombe (strain 972 / ATCC 24843) rpl402 gene Proteins 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000000691 measurement method Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 101150112128 mrpl2 gene Proteins 0.000 description 1
- 101150003660 rpl2 gene Proteins 0.000 description 1
- 101150027142 rpl8 gene Proteins 0.000 description 1
- 101150015255 rplB gene Proteins 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Landscapes
- Debugging And Monitoring (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【0001】
【産業上の利用分野】本発明は特定プログラムのCPU
占有率の算出技術に関し、特にCPUの保護機能として
複数の命令実行権を区別して利用するシステムにおける
特定実行権レベルのプログラムのCPU占有率の算出技
術に関する。
占有率の算出技術に関し、特にCPUの保護機能として
複数の命令実行権を区別して利用するシステムにおける
特定実行権レベルのプログラムのCPU占有率の算出技
術に関する。
【0002】
【従来の技術】従来、この種のCPU占有率算出方式は
、測定対象プログラムのメモリ占有アドレスを予め知り
、CPUが生成する実行アドレスを外部よりモニタし一
定時間中に測定対象プログラムの占有アドレスを通過す
る比率を求めることにより算出していた。あるいはシス
テムの中核部(スケジューラ)に測定対象プログラムに
割当てたCPU実行時間の絶対値を累積しておき一定時
間中に占める比率を算出する方式が一般的であった。
、測定対象プログラムのメモリ占有アドレスを予め知り
、CPUが生成する実行アドレスを外部よりモニタし一
定時間中に測定対象プログラムの占有アドレスを通過す
る比率を求めることにより算出していた。あるいはシス
テムの中核部(スケジューラ)に測定対象プログラムに
割当てたCPU実行時間の絶対値を累積しておき一定時
間中に占める比率を算出する方式が一般的であった。
【0003】
【発明が解決しようとする課題】上述した従来のCPU
占有率算出方式は、前者の場合測定対象プログラムのロ
ードアドレスを何らかの手段で知る必要があるが、リロ
ケータブルなシステムではプログラムのロードアドレス
を予め知ることが不可能であるという欠点がある。又後
者の場合スケジューラ部に測定対象プログラムに制御を
渡す時点と制御を取る時点とで実時間タイマを読取りそ
の差分を求め累計する機能を付加する必要があるためス
ケジューラの性能を低下させる欠点がある。
占有率算出方式は、前者の場合測定対象プログラムのロ
ードアドレスを何らかの手段で知る必要があるが、リロ
ケータブルなシステムではプログラムのロードアドレス
を予め知ることが不可能であるという欠点がある。又後
者の場合スケジューラ部に測定対象プログラムに制御を
渡す時点と制御を取る時点とで実時間タイマを読取りそ
の差分を求め累計する機能を付加する必要があるためス
ケジューラの性能を低下させる欠点がある。
【0004】
【課題を解決するための手段】本発明は、プログラムの
CPU実行レベルが複数の実行レベルのいずれかである
計算機でのプログラムのCPU占有率測定方式において
、実行レベルと同数のカウンタを設け、一定間隔毎に外
部割込によりCPUに占有率測定プログラムを起動し、
この占有率測定プログラムが被割込プログラムの実行レ
ベルを取り出し、この取り出した実行レベルに対応する
前記カウンタの一つを更新し、前記カウンタ全ての値の
総和と前記カウンタの一つの値の比率から対応するプロ
グラムのCPU占有率を得ることを特徴とする。
CPU実行レベルが複数の実行レベルのいずれかである
計算機でのプログラムのCPU占有率測定方式において
、実行レベルと同数のカウンタを設け、一定間隔毎に外
部割込によりCPUに占有率測定プログラムを起動し、
この占有率測定プログラムが被割込プログラムの実行レ
ベルを取り出し、この取り出した実行レベルに対応する
前記カウンタの一つを更新し、前記カウンタ全ての値の
総和と前記カウンタの一つの値の比率から対応するプロ
グラムのCPU占有率を得ることを特徴とする。
【0005】
【実施例】次に、本発明について図面を参照して説明す
る。
る。
【0006】図1および図2は本発明の一実施例の全体
構成図を示し、それぞれ割込処理終了の状態を示す図お
よび割込処理開始の状態を示す図である。
構成図を示し、それぞれ割込処理終了の状態を示す図お
よび割込処理開始の状態を示す図である。
【0007】測定対象プログラムはその命令部(CS1
)100とデータ部(DS1)110とスタック部(S
S1)120から構成され各部のメモリ開始アドレスが
タスク状態表(TSS1)130に格納され、かつ現在
のCPUの実行権を有するタスク状態のアドレスを指示
するCPU内HWレジスタの一種であるタスクレジスタ
(TR)10によりTSS1(130)がポイントされ
ている。
)100とデータ部(DS1)110とスタック部(S
S1)120から構成され各部のメモリ開始アドレスが
タスク状態表(TSS1)130に格納され、かつ現在
のCPUの実行権を有するタスク状態のアドレスを指示
するCPU内HWレジスタの一種であるタスクレジスタ
(TR)10によりTSS1(130)がポイントされ
ている。
【0008】又、本システム内にはCPUの外部割込が
発生した場合の起動プログラム(命令部200,データ
部210,スタック部220から構成される)用のタス
ク状態表(TSS0)230が用意されている。本TS
S0(230)はCPUの外部割込種別毎に準備された
割込処理プログラムのタスク状態表群を格納した割込記
述テーブル(IDT)30内でインタバルタイマ40の
割込相当のエントリ301からポイントされている。更
にIDT30はCPU内のHWレジスタの一種であるI
DTアドレスレジスタ(IDTR)20によりポイント
されている。
発生した場合の起動プログラム(命令部200,データ
部210,スタック部220から構成される)用のタス
ク状態表(TSS0)230が用意されている。本TS
S0(230)はCPUの外部割込種別毎に準備された
割込処理プログラムのタスク状態表群を格納した割込記
述テーブル(IDT)30内でインタバルタイマ40の
割込相当のエントリ301からポイントされている。更
にIDT30はCPU内のHWレジスタの一種であるI
DTアドレスレジスタ(IDTR)20によりポイント
されている。
【0009】カウンタテーブル(CNT)240は命令
部200によりアクセスされるエリアでCPUが有する
CPU実行レベルの種類数分だけエントリを持つ。TS
S0(230)またはTSS1(130)内に格納され
る情報を詳細に説明した図3によるとオフセット“2”
〜“42”の情報はCPUが有するプログラムビジブル
なHWレジスタ値の格納域であり、現在のCPUの実行
権を有するプログラムが設定したHWレジスタ値を格納
するものである。この内、オフセット“36”(図4に
詳細を示す)のCSセレクタは命令部のアドレスを示す
が、この内容の一部(RPL部の2ビット)がCPU実
行レベルを表示するものとする。従って本実施例ではC
PUの実行レベルは“0”〜“3”の4種類である。オ
フセット“0”のBLP部は後述するタスク状態表のネ
スティング情報を示し被割込タスク状態表をポイントす
るものである。
部200によりアクセスされるエリアでCPUが有する
CPU実行レベルの種類数分だけエントリを持つ。TS
S0(230)またはTSS1(130)内に格納され
る情報を詳細に説明した図3によるとオフセット“2”
〜“42”の情報はCPUが有するプログラムビジブル
なHWレジスタ値の格納域であり、現在のCPUの実行
権を有するプログラムが設定したHWレジスタ値を格納
するものである。この内、オフセット“36”(図4に
詳細を示す)のCSセレクタは命令部のアドレスを示す
が、この内容の一部(RPL部の2ビット)がCPU実
行レベルを表示するものとする。従って本実施例ではC
PUの実行レベルは“0”〜“3”の4種類である。オ
フセット“0”のBLP部は後述するタスク状態表のネ
スティング情報を示し被割込タスク状態表をポイントす
るものである。
【0010】次に、図2を用いて本実施例のインタバル
タイマ割込の発生時の動作を説明する。
タイマ割込の発生時の動作を説明する。
【0011】予め極めて短い一定間隔で割込を発生する
様に設定されたインタバルタイマ40が時刻を重ね、指
定時間(一般的には10ms程度)を経過するとIDT
30内のインタバルタイマ割込エントリ301に登録さ
れてあるタスク状態表TSS0(230)がHWにより
活性化される。即ち今まで動作していた測定対象プログ
ラム(TSS1(130)がポイントする諸資源より成
る)のHWレジスタの使用状況は全てTSS1(130
)内部に図3に示す形式で格納され、TR10がTSS
0(230)をポイントする。
様に設定されたインタバルタイマ40が時刻を重ね、指
定時間(一般的には10ms程度)を経過するとIDT
30内のインタバルタイマ割込エントリ301に登録さ
れてあるタスク状態表TSS0(230)がHWにより
活性化される。即ち今まで動作していた測定対象プログ
ラム(TSS1(130)がポイントする諸資源より成
る)のHWレジスタの使用状況は全てTSS1(130
)内部に図3に示す形式で格納され、TR10がTSS
0(230)をポイントする。
【0012】この時、TSS0(230)内のBLPは
被割込プログラムのTSS1(130)をポイントし、
更にCPUのHWレジスタにはTSS0(230)内の
対応エリアに格納される値が設定される。これにより予
めインタバルタイマ割込処理用に準備された占有率測定
プログラム(命令部200,データ部210,スタック
部220)が起動されることになる。
被割込プログラムのTSS1(130)をポイントし、
更にCPUのHWレジスタにはTSS0(230)内の
対応エリアに格納される値が設定される。これにより予
めインタバルタイマ割込処理用に準備された占有率測定
プログラム(命令部200,データ部210,スタック
部220)が起動されることになる。
【0013】占有率測定プログラムはTSS0(230
)内のBLP部を参照して被割込プログラムのタスク状
態表TSS1(130)にアクセスし図3の形式に従い
TSS1(130)内部よりCSセレクタのRPL部2
ビットの値“N”を得て被割込プログラムの実行レベル
を“N”と知ることができる。この後占有率測定プログ
ラムはCNTテーブル240内のRPL2ビットが示す
レベル“N”に相当するエリアの値を更新する。これで
インタバルタイマ40の割込発生時点で動作していたプ
ログラムの実行レベルのカウンタを更新したことになる
。
)内のBLP部を参照して被割込プログラムのタスク状
態表TSS1(130)にアクセスし図3の形式に従い
TSS1(130)内部よりCSセレクタのRPL部2
ビットの値“N”を得て被割込プログラムの実行レベル
を“N”と知ることができる。この後占有率測定プログ
ラムはCNTテーブル240内のRPL2ビットが示す
レベル“N”に相当するエリアの値を更新する。これで
インタバルタイマ40の割込発生時点で動作していたプ
ログラムの実行レベルのカウンタを更新したことになる
。
【0014】この後、占有率測定プログラムが割込処理
を終了するCPU命令を発行するとTSS0(230)
内にHWレジスタ値を格納後TSS0BLPが示すTS
S1(130)をポイントする様にTR10が更新され
CPUのHWレジスタは全てTSS1より回復されCP
U実行権は被割込プログラム(TSS1がポイントする
諸資源)へ戻ることになる。
を終了するCPU命令を発行するとTSS0(230)
内にHWレジスタ値を格納後TSS0BLPが示すTS
S1(130)をポイントする様にTR10が更新され
CPUのHWレジスタは全てTSS1より回復されCP
U実行権は被割込プログラム(TSS1がポイントする
諸資源)へ戻ることになる。
【0015】以上説明した様に占有率測定プログラムは
単純に起動される都度TSS0230内のBLPを使っ
て被割込プログラムのタスク状態表(TSS)にアクセ
スしその内部のCSセレクタ値のRPL部から被割込プ
ログラムのCPU実行レベルを得て対応するCNTテー
ブル240内の値を更新する。
単純に起動される都度TSS0230内のBLPを使っ
て被割込プログラムのタスク状態表(TSS)にアクセ
スしその内部のCSセレクタ値のRPL部から被割込プ
ログラムのCPU実行レベルを得て対応するCNTテー
ブル240内の値を更新する。
【0016】従って任意の時点で、CNTテーブル24
0内の全カウンタ値の総和に占める特定レベルのカウン
ト値の比率を出せばその特定レベルのCPU実行権を有
するプログラムのCPU占有率に近似な値を得ることが
できる。
0内の全カウンタ値の総和に占める特定レベルのカウン
ト値の比率を出せばその特定レベルのCPU実行権を有
するプログラムのCPU占有率に近似な値を得ることが
できる。
【0017】一般にカーネルプログラム(OS)とアプ
リケーションプログラムは実行レベルを保護機能の観点
より区別して使用するからこの特定レベルの値としてア
プリケーション用実行レベルあるいはOS部の実行レベ
ルを指定すると極めて容易にアプリケーションプログラ
ムのCPU占有率あるいはOSのCPU占有率(システ
ムオーバヘッド)を計測することが可能となる。
リケーションプログラムは実行レベルを保護機能の観点
より区別して使用するからこの特定レベルの値としてア
プリケーション用実行レベルあるいはOS部の実行レベ
ルを指定すると極めて容易にアプリケーションプログラ
ムのCPU占有率あるいはOSのCPU占有率(システ
ムオーバヘッド)を計測することが可能となる。
【0018】
【発明の効果】以上説明したように本発明は、極めて短
い一定間隔毎その時のCPUの実行権を有していたプロ
グラムの実行レベルを計測することにより各実行レベル
毎のプログラムのCPU占有率を近似して得る方式を提
供できる。従来技術が抱えていた欠点、即ち被測定プロ
グラムのロードアドレスを知らなければならない点、あ
るいはOSカーネル部(スケジューラ部)のオーバヘッ
ドを増加させる欠点を回避し極めて容易に特定実行レベ
ルに固定される被測定プログラムのCPU占有率を算出
できる効果がある。OSのオーバヘッド量を知る程度で
あるならば充分実用的なCPU占有率測定方式となり得
る効果がある。
い一定間隔毎その時のCPUの実行権を有していたプロ
グラムの実行レベルを計測することにより各実行レベル
毎のプログラムのCPU占有率を近似して得る方式を提
供できる。従来技術が抱えていた欠点、即ち被測定プロ
グラムのロードアドレスを知らなければならない点、あ
るいはOSカーネル部(スケジューラ部)のオーバヘッ
ドを増加させる欠点を回避し極めて容易に特定実行レベ
ルに固定される被測定プログラムのCPU占有率を算出
できる効果がある。OSのオーバヘッド量を知る程度で
あるならば充分実用的なCPU占有率測定方式となり得
る効果がある。
【図1】本発明の一実施例の割込処理終了の状態を示す
ブロック図である。
ブロック図である。
【図2】図1に示す実施例の割込処理開始の状態を示す
ブロック図である。
ブロック図である。
【図3】TSS0(230)またはTSS1(130)
を示す図である。
を示す図である。
【図4】図3のオフセット“36”のCSセレクタの詳
細を示す図である。
細を示す図である。
10 タスクレジスタ(CPU実行権を有するT
SSをポイントするHWレジスタ) 20 IDTアドレスレジスタ(HWレジスタの
一種) 30 割込記述テーブル(IDT)40
インタバルタイマ
SSをポイントするHWレジスタ) 20 IDTアドレスレジスタ(HWレジスタの
一種) 30 割込記述テーブル(IDT)40
インタバルタイマ
Claims (1)
- 【請求項1】 プログラムのCPU実行レベルが複数
の実行レベルのいずれかである計算機でのプログラムの
CPU占有率測定方式において、実行レベルと同数のカ
ウンタを設け、一定間隔毎に外部割込によりCPUに占
有率測定プログラムを起動し、この占有率測定プログラ
ムが被割込プログラムの実行レベルを取り出し、この取
り出した実行レベルに対応する前記カウンタの一つを更
新し、前記カウンタ全ての値の総和と前記カウンタの一
つの値の比率から対応するプログラムのCPU占有率を
得ることを特徴とするプログラムのCPU占有率測定方
式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3024980A JPH04264635A (ja) | 1991-02-20 | 1991-02-20 | プログラムのcpu占有率測定方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3024980A JPH04264635A (ja) | 1991-02-20 | 1991-02-20 | プログラムのcpu占有率測定方式 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH04264635A true JPH04264635A (ja) | 1992-09-21 |
Family
ID=12153129
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP3024980A Pending JPH04264635A (ja) | 1991-02-20 | 1991-02-20 | プログラムのcpu占有率測定方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH04264635A (ja) |
-
1991
- 1991-02-20 JP JP3024980A patent/JPH04264635A/ja active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6006032A (en) | System and method for instruction burst performance profiling for single-processor and multi-processor systems | |
| US6401155B1 (en) | Interrupt/software-controlled thread processing | |
| EP0443557B1 (en) | Interrupt controller capable of realizing interrupt nesting function | |
| JPH07182209A (ja) | オペレーティング・システム・ベースのプログラムの性能モニタ方法およびシステム | |
| JP3605978B2 (ja) | マイクロコンピュータ | |
| EP0098172B1 (en) | Register control processing system | |
| KR860003552A (ko) | 마이크로 프로그램 가능 시스템 | |
| JPH0810437B2 (ja) | 仮想計算機システムのゲスト実行制御方式 | |
| US4124892A (en) | Data processing systems | |
| JPH04264635A (ja) | プログラムのcpu占有率測定方式 | |
| JPS59208661A (ja) | 計算機の負荷測定方法 | |
| JP3071210B2 (ja) | タスク管理制御方式 | |
| Zhang et al. | An Improved RTEMS Supporting Real-Time Detection of Stack Overflow | |
| US5497481A (en) | Microcomputer computer system having plural programmable timers and preventing memory access operations from interfering with timer start requests | |
| JPS63120336A (ja) | メモリアクセスモ−ド切替え方式 | |
| US20220156074A1 (en) | Electronic device and multiplexing method of spatial | |
| JP2775830B2 (ja) | 命令頻度測定方式 | |
| JPS6029403B2 (ja) | 時限回路の制御方式 | |
| JPH0357970A (ja) | パルス入力装置 | |
| JPH0531775B2 (ja) | ||
| JPS61294555A (ja) | プログラム暴走検出方法 | |
| JPS5953955A (ja) | 性能測定方式 | |
| JPS6263346A (ja) | 処理装置の空き時間測定方法 | |
| JPS6349946A (ja) | 演算処理装置 | |
| JPH0580691B2 (ja) |