JPH04264635A - Measuring system for cpu occupied rate of program - Google Patents

Measuring system for cpu occupied rate of program

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
Application number
JP3024980A
Other languages
Japanese (ja)
Inventor
Mikio Inmaki
印牧 幹雄
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 Solution Innovators Ltd
Original Assignee
NEC Software Chubu Ltd
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 Software Chubu Ltd filed Critical NEC Software Chubu Ltd
Priority to JP3024980A priority Critical patent/JPH04264635A/en
Publication of JPH04264635A publication Critical patent/JPH04264635A/en
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

PURPOSE:To calculate the CPU occupied rate of a measured program which is considerably easily fixed to a specified execution level without the need of learning the load address of the measured program and without increasing the over head of an OS kernel part. CONSTITUTION:A counter 240 is provided in correspondence with the CPU execution level of the program and the counter corresponding to the execution level of an interrupted program fetched by an occupied rate measuring program which externally makes interruption at every interval is updated. Then, the corresponding CPU occupied rate of the program is obtained from a rate between the sum of the values of all the counters whose number is equal to that of the execution levels, and one value of the counter.

Description

【発明の詳細な説明】[Detailed description of the invention]

【0001】0001

【産業上の利用分野】本発明は特定プログラムのCPU
占有率の算出技術に関し、特にCPUの保護機能として
複数の命令実行権を区別して利用するシステムにおける
特定実行権レベルのプログラムのCPU占有率の算出技
術に関する。
[Industrial Application Field] The present invention is directed to a CPU for a specific program.
The present invention relates to a technique for calculating the occupancy rate, and in particular to a technique for calculating the CPU occupancy rate of a program with a specific execution right level in a system that distinguishes and uses a plurality of instruction execution rights as a CPU protection function.

【0002】0002

【従来の技術】従来、この種のCPU占有率算出方式は
、測定対象プログラムのメモリ占有アドレスを予め知り
、CPUが生成する実行アドレスを外部よりモニタし一
定時間中に測定対象プログラムの占有アドレスを通過す
る比率を求めることにより算出していた。あるいはシス
テムの中核部(スケジューラ)に測定対象プログラムに
割当てたCPU実行時間の絶対値を累積しておき一定時
間中に占める比率を算出する方式が一般的であった。
[Prior Art] Conventionally, this type of CPU occupancy calculation method involves knowing in advance the memory occupied address of the program to be measured, monitoring the execution address generated by the CPU externally, and calculating the occupied address of the program to be measured within a certain period of time. It was calculated by finding the passing ratio. Alternatively, it has been common practice to accumulate the absolute value of the CPU execution time allocated to the program to be measured in the core part (scheduler) of the system and calculate the proportion of the CPU execution time in a certain period of time.

【0003】0003

【発明が解決しようとする課題】上述した従来のCPU
占有率算出方式は、前者の場合測定対象プログラムのロ
ードアドレスを何らかの手段で知る必要があるが、リロ
ケータブルなシステムではプログラムのロードアドレス
を予め知ることが不可能であるという欠点がある。又後
者の場合スケジューラ部に測定対象プログラムに制御を
渡す時点と制御を取る時点とで実時間タイマを読取りそ
の差分を求め累計する機能を付加する必要があるためス
ケジューラの性能を低下させる欠点がある。
[Problem to be solved by the invention] The above-mentioned conventional CPU
In the former case, the occupancy rate calculation method requires knowing the load address of the program to be measured by some means, but in a relocatable system, it is impossible to know the load address of the program in advance. In the latter case, it is necessary to add a function to the scheduler section that reads the real-time timer between the time when control is passed to the program to be measured and the time when control is taken, calculates the difference, and adds up the difference, which has the disadvantage of reducing the performance of the scheduler. .

【0004】0004

【課題を解決するための手段】本発明は、プログラムの
CPU実行レベルが複数の実行レベルのいずれかである
計算機でのプログラムのCPU占有率測定方式において
、実行レベルと同数のカウンタを設け、一定間隔毎に外
部割込によりCPUに占有率測定プログラムを起動し、
この占有率測定プログラムが被割込プログラムの実行レ
ベルを取り出し、この取り出した実行レベルに対応する
前記カウンタの一つを更新し、前記カウンタ全ての値の
総和と前記カウンタの一つの値の比率から対応するプロ
グラムのCPU占有率を得ることを特徴とする。
[Means for Solving the Problems] The present invention provides a method for measuring the CPU occupancy rate of a program in a computer in which the CPU execution level of the program is one of a plurality of execution levels. The occupancy measurement program is started on the CPU by an external interrupt at every interval.
This occupancy measurement program retrieves the execution level of the interrupted program, updates one of the counters corresponding to the retrieved execution level, and calculates the ratio between the sum of all the values of the counters and the value of one of the counters. It is characterized by obtaining the CPU occupancy rate of the corresponding program.

【0005】[0005]

【実施例】次に、本発明について図面を参照して説明す
る。
DESCRIPTION OF THE PREFERRED EMBODIMENTS Next, the present invention will be explained with reference to the drawings.

【0006】図1および図2は本発明の一実施例の全体
構成図を示し、それぞれ割込処理終了の状態を示す図お
よび割込処理開始の状態を示す図である。
FIGS. 1 and 2 are diagrams showing the overall configuration of an embodiment of the present invention, and are a diagram showing a state in which interrupt processing ends and a diagram showing a state in which interrupt processing starts, respectively.

【0007】測定対象プログラムはその命令部(CS1
)100とデータ部(DS1)110とスタック部(S
S1)120から構成され各部のメモリ開始アドレスが
タスク状態表(TSS1)130に格納され、かつ現在
のCPUの実行権を有するタスク状態のアドレスを指示
するCPU内HWレジスタの一種であるタスクレジスタ
(TR)10によりTSS1(130)がポイントされ
ている。
[0007] The program to be measured consists of its instruction section (CS1
) 100, data section (DS1) 110, and stack section (S
The task register (S1) is a type of HW register in the CPU, in which the memory start address of each part is stored in the task state table (TSS1) 130, and which indicates the address of the task state that the CPU is currently authorized to execute. TR)10 points to TSS1 (130).

【0008】又、本システム内にはCPUの外部割込が
発生した場合の起動プログラム(命令部200,データ
部210,スタック部220から構成される)用のタス
ク状態表(TSS0)230が用意されている。本TS
S0(230)はCPUの外部割込種別毎に準備された
割込処理プログラムのタスク状態表群を格納した割込記
述テーブル(IDT)30内でインタバルタイマ40の
割込相当のエントリ301からポイントされている。更
にIDT30はCPU内のHWレジスタの一種であるI
DTアドレスレジスタ(IDTR)20によりポイント
されている。
[0008] Also, in this system, a task status table (TSS0) 230 is prepared for a startup program (composed of an instruction section 200, a data section 210, and a stack section 220) when an external CPU interrupt occurs. has been done. Book TS
S0 (230) points from the entry 301 corresponding to the interrupt of the interval timer 40 in the interrupt description table (IDT) 30 that stores the task status table group of the interrupt processing program prepared for each type of external interrupt of the CPU. has been done. Furthermore, the IDT30 is a type of HW register in the CPU.
It is pointed to by the DT address register (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部は後述するタスク状態表のネ
スティング情報を示し被割込タスク状態表をポイントす
るものである。
The counter table (CNT) 240 is an area accessed by the instruction unit 200 and has entries for each type of CPU execution level possessed by the CPU. T.S.
According to FIG. 3, which details the information stored in S0 (230) or TSS1 (130), the offset is “2”.
The information from to "42" is a program-visible HW register value storage area of the CPU, and stores the HW register value set by the program having the current execution right of the CPU. Among these, the CS selector at offset "36" (details shown in FIG. 4) indicates the address of the instruction section, and a part of its contents (2 bits of the RPL section) indicates the CPU execution level. Therefore, in this example, C
There are four types of PU execution levels: "0" to "3". The BLP section with offset "0" indicates nesting information of a task status table, which will be described later, and points to the interrupted task status table.

【0010】次に、図2を用いて本実施例のインタバル
タイマ割込の発生時の動作を説明する。
Next, the operation of this embodiment when an interval timer interrupt occurs will be explained using FIG.

【0011】予め極めて短い一定間隔で割込を発生する
様に設定されたインタバルタイマ40が時刻を重ね、指
定時間(一般的には10ms程度)を経過するとIDT
30内のインタバルタイマ割込エントリ301に登録さ
れてあるタスク状態表TSS0(230)がHWにより
活性化される。即ち今まで動作していた測定対象プログ
ラム(TSS1(130)がポイントする諸資源より成
る)のHWレジスタの使用状況は全てTSS1(130
)内部に図3に示す形式で格納され、TR10がTSS
0(230)をポイントする。
[0011] The interval timer 40, which is set in advance to generate an interrupt at extremely short regular intervals, keeps clocking in, and when the specified time (generally about 10 ms) has elapsed, the IDT is activated.
The task status table TSS0 (230) registered in the interval timer interrupt entry 301 in 30 is activated by the HW. In other words, the usage status of the HW register of the measurement target program (consisting of various resources pointed to by TSS1 (130)) that has been running up until now is all based on TSS1 (130).
) is stored internally in the format shown in Figure 3, and TR10 is the TSS
Point to 0 (230).

【0012】この時、TSS0(230)内のBLPは
被割込プログラムのTSS1(130)をポイントし、
更にCPUのHWレジスタにはTSS0(230)内の
対応エリアに格納される値が設定される。これにより予
めインタバルタイマ割込処理用に準備された占有率測定
プログラム(命令部200,データ部210,スタック
部220)が起動されることになる。
At this time, the BLP in TSS0 (230) points to TSS1 (130) of the interrupted program,
Furthermore, the value stored in the corresponding area in TSS0 (230) is set in the HW register of the CPU. As a result, the occupancy measurement program (instruction section 200, data section 210, stack section 220) prepared in advance for interval timer interrupt processing is activated.

【0013】占有率測定プログラムはTSS0(230
)内のBLP部を参照して被割込プログラムのタスク状
態表TSS1(130)にアクセスし図3の形式に従い
TSS1(130)内部よりCSセレクタのRPL部2
ビットの値“N”を得て被割込プログラムの実行レベル
を“N”と知ることができる。この後占有率測定プログ
ラムはCNTテーブル240内のRPL2ビットが示す
レベル“N”に相当するエリアの値を更新する。これで
インタバルタイマ40の割込発生時点で動作していたプ
ログラムの実行レベルのカウンタを更新したことになる
[0013] The occupancy rate measurement program is TSS0 (230
), the task status table TSS1 (130) of the interrupted program is accessed, and the RPL section 2 of the CS selector is accessed from inside TSS1 (130) according to the format shown in FIG.
By obtaining the bit value "N", the execution level of the interrupted program can be known as "N". Thereafter, the occupancy measurement program updates the value of the area corresponding to the level "N" indicated by the RPL2 bit in the CNT table 240. This means that the counter of the execution level of the program that was running at the time of occurrence of the interrupt of the interval timer 40 has been updated.

【0014】この後、占有率測定プログラムが割込処理
を終了するCPU命令を発行するとTSS0(230)
内にHWレジスタ値を格納後TSS0BLPが示すTS
S1(130)をポイントする様にTR10が更新され
CPUのHWレジスタは全てTSS1より回復されCP
U実行権は被割込プログラム(TSS1がポイントする
諸資源)へ戻ることになる。
After this, when the occupancy measurement program issues a CPU command to end the interrupt processing, TSS0 (230)
After storing the HW register value in the TS indicated by TSS0BLP
TR10 is updated to point to S1 (130), all CPU HW registers are recovered from TSS1, and the CPU
The U execution right will be returned to the interrupted program (the resources pointed to by TSS1).

【0015】以上説明した様に占有率測定プログラムは
単純に起動される都度TSS0230内のBLPを使っ
て被割込プログラムのタスク状態表(TSS)にアクセ
スしその内部のCSセレクタ値のRPL部から被割込プ
ログラムのCPU実行レベルを得て対応するCNTテー
ブル240内の値を更新する。
As explained above, each time the occupancy rate measurement program is started, it simply accesses the task status table (TSS) of the interrupted program using the BLP in TSS0230 and uses the RPL part of the internal CS selector value. The CPU execution level of the interrupted program is obtained and the corresponding value in the CNT table 240 is updated.

【0016】従って任意の時点で、CNTテーブル24
0内の全カウンタ値の総和に占める特定レベルのカウン
ト値の比率を出せばその特定レベルのCPU実行権を有
するプログラムのCPU占有率に近似な値を得ることが
できる。
Therefore, at any point in time, the CNT table 24
By calculating the ratio of the count value of a specific level to the sum of all counter values within 0, it is possible to obtain a value approximate to the CPU occupancy rate of the program having the CPU execution right of that specific level.

【0017】一般にカーネルプログラム(OS)とアプ
リケーションプログラムは実行レベルを保護機能の観点
より区別して使用するからこの特定レベルの値としてア
プリケーション用実行レベルあるいはOS部の実行レベ
ルを指定すると極めて容易にアプリケーションプログラ
ムのCPU占有率あるいはOSのCPU占有率(システ
ムオーバヘッド)を計測することが可能となる。
Generally, kernel programs (OS) and application programs use different execution levels from the viewpoint of protection functions, so if the execution level for applications or the execution level of the OS part is specified as the value of this specific level, it is extremely easy to use execution levels for application programs. It becomes possible to measure the CPU occupancy rate of the OS or the CPU occupancy rate (system overhead) of the OS.

【0018】[0018]

【発明の効果】以上説明したように本発明は、極めて短
い一定間隔毎その時のCPUの実行権を有していたプロ
グラムの実行レベルを計測することにより各実行レベル
毎のプログラムのCPU占有率を近似して得る方式を提
供できる。従来技術が抱えていた欠点、即ち被測定プロ
グラムのロードアドレスを知らなければならない点、あ
るいはOSカーネル部(スケジューラ部)のオーバヘッ
ドを増加させる欠点を回避し極めて容易に特定実行レベ
ルに固定される被測定プログラムのCPU占有率を算出
できる効果がある。OSのオーバヘッド量を知る程度で
あるならば充分実用的なCPU占有率測定方式となり得
る効果がある。
Effects of the Invention As explained above, the present invention measures the CPU occupancy rate of the program at each execution level by measuring the execution level of the program that has the right to execute the CPU at that time at extremely short regular intervals. It is possible to provide a method for obtaining an approximation. It avoids the drawbacks of the conventional technology, such as the need to know the load address of the program under test, or the increase in overhead of the OS kernel (scheduler), and makes it easy to fix the target to a specific execution level. This has the effect of being able to calculate the CPU occupancy rate of the measurement program. As long as the amount of overhead of the OS is known, this method has the effect of being a sufficiently practical CPU occupancy measurement method.

【図面の簡単な説明】[Brief explanation of the drawing]

【図1】本発明の一実施例の割込処理終了の状態を示す
ブロック図である。
FIG. 1 is a block diagram showing the state of termination of interrupt processing according to an embodiment of the present invention.

【図2】図1に示す実施例の割込処理開始の状態を示す
ブロック図である。
FIG. 2 is a block diagram showing a state of starting interrupt processing in the embodiment shown in FIG. 1;

【図3】TSS0(230)またはTSS1(130)
を示す図である。
[Figure 3] TSS0 (230) or TSS1 (130)
FIG.

【図4】図3のオフセット“36”のCSセレクタの詳
細を示す図である。
FIG. 4 is a diagram showing details of the CS selector at offset “36” in FIG. 3;

【符号の説明】[Explanation of symbols]

10    タスクレジスタ(CPU実行権を有するT
SSをポイントするHWレジスタ) 20    IDTアドレスレジスタ(HWレジスタの
一種) 30    割込記述テーブル(IDT)40    
インタバルタイマ
10 Task register (T with CPU execution right)
(HW register pointing to SS) 20 IDT address register (a type of HW register) 30 Interrupt description table (IDT) 40
interval timer

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】  プログラムのCPU実行レベルが複数
の実行レベルのいずれかである計算機でのプログラムの
CPU占有率測定方式において、実行レベルと同数のカ
ウンタを設け、一定間隔毎に外部割込によりCPUに占
有率測定プログラムを起動し、この占有率測定プログラ
ムが被割込プログラムの実行レベルを取り出し、この取
り出した実行レベルに対応する前記カウンタの一つを更
新し、前記カウンタ全ての値の総和と前記カウンタの一
つの値の比率から対応するプログラムのCPU占有率を
得ることを特徴とするプログラムのCPU占有率測定方
式。
Claim 1: In a method for measuring the CPU occupancy rate of a program in a computer in which the CPU execution level of the program is one of a plurality of execution levels, counters are provided in the same number as the execution levels, and the CPU occupancy rate is measured by an external interrupt at regular intervals. , the occupancy measurement program retrieves the execution level of the interrupted program, updates one of the counters corresponding to the retrieved execution level, and calculates the sum of the values of all the counters. A method for measuring a CPU occupancy rate of a program, characterized in that the CPU occupancy rate of a corresponding program is obtained from the ratio of one value of the counter.
JP3024980A 1991-02-20 1991-02-20 Measuring system for cpu occupied rate of program Pending JPH04264635A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3024980A JPH04264635A (en) 1991-02-20 1991-02-20 Measuring system for cpu occupied rate of program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3024980A JPH04264635A (en) 1991-02-20 1991-02-20 Measuring system for cpu occupied rate of program

Publications (1)

Publication Number Publication Date
JPH04264635A true JPH04264635A (en) 1992-09-21

Family

ID=12153129

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3024980A Pending JPH04264635A (en) 1991-02-20 1991-02-20 Measuring system for cpu occupied rate of program

Country Status (1)

Country Link
JP (1) JPH04264635A (en)

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
JPH07182209A (en) Method and system for monitoring of performance of operating system-based program
EP0443557B1 (en) Interrupt controller capable of realizing interrupt nesting function
JP3605978B2 (en) Microcomputer
KR860003552A (en) Micro programmable system
JPH0810437B2 (en) Guest execution control method for virtual machine system
JPH04264635A (en) Measuring system for cpu occupied rate of program
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
JP3071210B2 (en) Task management control method
JPS63120336A (en) Switching system for memory access mode
JP2775830B2 (en) Instruction frequency measurement method
JPS6029403B2 (en) Timed circuit control method
JPH0357970A (en) Pulse input apparatus
JPS63269239A (en) Processor load measuring system
JPS633328B2 (en)
JPH10161908A (en) Detection of run-away of microcomputer
JPS6229813B2 (en)
JPH0531775B2 (en)
JPH0436420B2 (en)
JPH02252032A (en) Computer
JPS6232509B2 (en)
JPS5953955A (en) Performance measuring system
JPS6263346A (en) Method for measuring idle time of processor