JPH01145736A - Dynamic performance measuring system - Google Patents

Dynamic performance measuring system

Info

Publication number
JPH01145736A
JPH01145736A JP62304030A JP30403087A JPH01145736A JP H01145736 A JPH01145736 A JP H01145736A JP 62304030 A JP62304030 A JP 62304030A JP 30403087 A JP30403087 A JP 30403087A JP H01145736 A JPH01145736 A JP H01145736A
Authority
JP
Japan
Prior art keywords
performance
performance measurement
measurement
program
firmware
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
JP62304030A
Other languages
Japanese (ja)
Inventor
Haruhiko Ueno
治彦 上埜
Motokazu Kato
加藤 元計
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP62304030A priority Critical patent/JPH01145736A/en
Publication of JPH01145736A publication Critical patent/JPH01145736A/en
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

PURPOSE:To arbitrarily set and change a collection item by measuring the performance of a program by setting the performance measuring environment. CONSTITUTION:The title system is constituted of a program 1 of a performance measuring object, a performance measuring environment 2 of the program 1, a performance measuring part 3 of a firmware, a log area 4, a performance measurement control part 5 of the firmware and a timer 6. The firmware for executing a dynamic performance evaluation is prepared, and whenever one instruction is executed from the program 1 for running in a VM state, this firmware is allowed to generate an interruption, performance information is collected by simulating an executing state of its instruction by the firmware, and thereafter, the control is returned to the program 1. Also, a period for collecting the performance information is determined by a sampling system, and a sampling interval for prescribing a sampling period therefor and the measurement frequency can be changed arbitrarily. In such a way, in accordance with a state, the performance measurement item and the sampling period can be designated elastically and the performance can efficiently be measured.

Description

【発明の詳細な説明】 〔概要〕 データ処理装置におけるプログラムの動的性能測定方式
に関し。
DETAILED DESCRIPTION OF THE INVENTION [Summary] This invention relates to a method for measuring the dynamic performance of a program in a data processing device.

本発明は、ハードウェアによる専用回路を用いることな
く、多量のハードウェアを付加せずにプログラムの実行
時に収集する性能評価情報を多様化するとともに収集項
目を任意に設定変更可能とすることを目的とし。
An object of the present invention is to diversify the performance evaluation information collected during program execution without using a dedicated hardware circuit or adding a large amount of hardware, and to make it possible to arbitrarily change the settings of collection items. year.

データ処理装置におけるプログラムの性能測定システム
において。
In a system for measuring the performance of a program in a data processing device.

サンプリングのタイミングを制御するタイマと。and a timer that controls sampling timing.

タイマによる割り込みに応じてプログラムの性能測定の
ための全体的な実行制御を行なう性能測定制御部と。
and a performance measurement control unit that performs overall execution control for measuring program performance in response to timer interrupts.

性能測定を実施するサンプリング期間や性能測定項目な
どの測定制御情報を管理する測定制御テーブルと、プロ
グラムの命令について、実行時の状態をシミュレーショ
ンし、測定制御テーブルに設定されている性能測定項目
にしたがって性能測定データを収集する機能をもつファ
ームウェアで構成された性能測定部と、性能測定部が収
集した性能測定データを格納するログ領域とをそなえ。
The measurement control table manages measurement control information such as the sampling period for performing performance measurement and performance measurement items, and the execution state of program instructions is simulated according to the performance measurement items set in the measurement control table. It is equipped with a performance measurement section composed of firmware that has a function of collecting performance measurement data, and a log area that stores the performance measurement data collected by the performance measurement section.

少なくとも前記サンプリング期間と性能測定項目等の測
定制御情報を一定の範囲内で任意に指定あるいは指定解
除可能に構成する。
At least measurement control information such as the sampling period and performance measurement items can be arbitrarily specified or canceled within a certain range.

〔産業上の利用分野〕[Industrial application field]

本発明は、データ処理装置におけるプログラムの動的性
能測定方式に関する。
The present invention relates to a method for measuring the dynamic performance of a program in a data processing device.

VM状態で実行されるプログラムについて、命令の実行
頻度やパイプラインのコンフリクト回数。
Instruction execution frequency and number of pipeline conflicts for programs executed in VM state.

キャッシュミス回数などの性能情報をファームウェアに
より実時間で収集し、プログラムあるいはデータ処理装
置自体の動的性能の評価を可能にするシステムである。
This system uses firmware to collect performance information such as the number of cache misses in real time, making it possible to evaluate the dynamic performance of a program or data processing device itself.

〔従来の技術と本発明が解決しようとする問題点〕性能
評価を行なおうとするプログラム(目的プログラム)の
動作中に性能情軸を収集する方法としては、従来、ハー
ドウェアによるものとソフトウェアによるものとが主な
ものであった。
[Prior art and problems to be solved by the present invention] Conventionally, there are two methods for collecting performance information during the operation of a program (target program) for which performance evaluation is to be performed: one using hardware and the other using software. Things were the main thing.

ハードウェアによる方法は、データ処理装置内に性能測
定専用の回路、たとえば性能測定対象ポイントの信号を
選択するセレクタと信号の持続時間や回数を測定するカ
ウンタなどを設けるもので。
In the hardware method, a circuit dedicated to performance measurement is provided within the data processing device, such as a selector that selects a signal at a point to be measured, and a counter that measures the duration and number of times the signal is measured.

測定項目を多くすると、ハードウェア量が増大し。If you increase the number of measurement items, the amount of hardware will increase.

また性能測定項目がハードウェア上で固定されるため融
通性に欠けるという問題があった。
Furthermore, there is a problem in that flexibility is lacking because the performance measurement items are fixed on the hardware.

またソフトウェアによる方法は、たとえばO8を用いて
行なわれるものであるが、この場合、プログラムの動作
状態が、性能評価を行なったときと性能評価を行なわな
かったときとで異なってしまい、またOS自身による性
能評価情報の収集が非常に困難であるという問題があっ
た。
In addition, the software method is performed using O8, for example, but in this case, the operating state of the program differs between when performance evaluation is performed and when performance evaluation is not performed, and the OS itself There was a problem in that it was extremely difficult to collect performance evaluation information.

また上述した方法の他に、ファームウェアを用いて性能
評価情報を収集する方法もあったが、実行命令の出現頻
度の測定など、測定対象が限定的なものであった。
In addition to the above-mentioned method, there was also a method of collecting performance evaluation information using firmware, but the measurement target was limited, such as measuring the appearance frequency of execution instructions.

本発明は、ハードウェアによる専用回路を用いることな
く、プログラムの実行時に収集する性能評価情報を多様
化するとともに収集項目を任意に設定変更可能とし、命
令の実行回数のほかに、命令ごとのバイブラインコンフ
リクト回数やキャッシュミス回数などの動的状態につい
ての性能情報を、高い信頬性をもって実時間で収集でき
るようにすることを目的としている。
The present invention diversifies the performance evaluation information collected during program execution without using a dedicated hardware circuit, and allows collection items to be changed arbitrarily. The objective is to be able to collect performance information about dynamic states, such as the number of line conflicts and cache misses, in real time with high reliability.

〔問題点を解決するための手段〕[Means for solving problems]

本発明は、動的性能評価を行なうファームウェアを用意
し、VM状態で走行するプログラムからl命令実行する
ごとにこのファームウェアに割り込みを発生させ、ファ
ームウェアでその命令の実行状態をシミュレートするこ
とにより性能情報を収集した後、プログラムに制御を戻
す°ようにしたもので、また性能情報を収集する期間は
サンプリング方式で決定し、そのためのサンプリング期
間を規定するためのサンプリング間隔と測定頻度(測定
率)とは任意に変更可能にする。
The present invention provides firmware that performs dynamic performance evaluation, generates an interrupt to this firmware every time an instruction is executed from a program running in a VM state, and simulates the execution state of that instruction using the firmware. After collecting information, control is returned to the program.The period for collecting performance information is determined by a sampling method, and the sampling interval and measurement frequency (measurement rate) are used to define the sampling period. and can be changed arbitrarily.

第1図は本発明の原理説明図である。FIG. 1 is a diagram explaining the principle of the present invention.

図において、1は性能測定対象のプログラム。In the figure, 1 is the program whose performance is to be measured.

2はプログラム1の性能測定環境、3はファームウェア
の性能測定部、4は性能測定結果のデータを格納するロ
グ領域、5はファームウェアの性能測定制御部、6はサ
ンプリング制御に用いるタイマ、12は性能測定条件や
性能測定項目を管理する測定制御テーブルである。
2 is a performance measurement environment for the program 1, 3 is a firmware performance measurement section, 4 is a log area for storing performance measurement result data, 5 is a firmware performance measurement control section, 6 is a timer used for sampling control, and 12 is a performance This is a measurement control table that manages measurement conditions and performance measurement items.

性能測定環境2が設定されている場合、プログラム1の
1つの命令が実行されるとき、性能測定部3に割り込み
を上げ、所定の性能測定を実行させる。性能測定部3は
、HPV (ハイパーバイザー)状態で動作するファー
ムウェアで構成され。
When the performance measurement environment 2 is set, when one instruction of the program 1 is executed, the performance measurement unit 3 raises an interrupt and causes the performance measurement unit 3 to execute a predetermined performance measurement. The performance measurement unit 3 is composed of firmware that operates in an HPV (hypervisor) state.

プログラム1について実行命令出現回数の統計を作成し
たり、命令の実行をシミュレーションする機能などを含
む。命令実行のシミュレーションでは、測定制御テーブ
ル12の情報にしたがってパイプラインコンフリクトや
キャッシュミスの発生などを検出し、性能測定データを
収集し、ログ領域4に格納する。
It includes functions such as creating statistics on the number of times execution instructions appear for the program 1 and simulating the execution of instructions. In the instruction execution simulation, occurrences of pipeline conflicts and cache misses are detected according to information in the measurement control table 12, performance measurement data is collected, and stored in the log area 4.

性能測定制御部5は、測定制御テーブル12に。The performance measurement control section 5 stores the measurement control table 12 in the measurement control table 12.

サンプリング期間を規定するサンプリング周期や測定頻
度、および性能測定項目などを設定あるいは設定解除す
る機能と、タイマ6から割り込みを用いて供給される定
周期のサンプリングパルスおよび測定制御テーブル(1
2)内の測定頻度指定に応じて性能測定を実施するサン
プリング期間を生成する機能と、サンプリング期間の開
始時にプログラム1の性能測定環境2を設定し、またサ
ンプリング期間の終了時に性能測定環境2を解除する機
能と、測定制御テーブル12に予め指定されている性能
測定項目などの制御情報にしたがって性能測定部3を動
作させる制御機能とをもつ。
A function to set or cancel the sampling period, measurement frequency, and performance measurement items that define the sampling period, as well as fixed-cycle sampling pulses and measurement control table (1) supplied using interrupts from timer 6.
2) A function that generates a sampling period for performing performance measurement according to the measurement frequency specified in It has a control function to operate the performance measurement unit 3 according to control information such as performance measurement items specified in advance in the measurement control table 12.

〔作用〕[Effect]

第1図において、性能測定制御部5は、連続モードとサ
ンプリングモードとのいずれかのモードで動作し、サン
プリングモードが指示されている場合、タイマ6からの
タイミングパルスに基づいて、指定されたサンプリング
間隔と頻度に基づいてサンプリング期間を生成し、性能
測定実行を制御する。
In FIG. 1, the performance measurement control unit 5 operates in either the continuous mode or the sampling mode, and when the sampling mode is instructed, the performance measurement control unit 5 performs the specified sampling based on the timing pulse from the timer 6. Generate sampling periods based on interval and frequency to control performance measurement execution.

性能測定制御部5は、まずサンプリング期間が開始され
るとき、この性能測定環境2の設定状態では、プログラ
ム1の各命令が実行される際、1つの命令の実行終了ご
とに、性能測定部3にハードウェア割り込みが上げられ
る。
When the sampling period starts, the performance measurement control unit 5 first controls the performance measurement unit 3 when each instruction of the program 1 is executed and the execution of one instruction is completed in the setting state of the performance measurement environment 2. A hardware interrupt is raised.

性能測定部3は割り込みを解析し、ファームウェアの性
能測定機能により、指定された性能測定項目にしたがっ
て、命令実行のシミュレーション等を行ない、所定の性
能測定データを収集し、ログ領域中に格納する。その後
プログラム1に制御を戻し2次の命令を実行させる。
The performance measurement unit 3 analyzes the interrupt, uses the performance measurement function of the firmware to perform a simulation of instruction execution, etc. according to specified performance measurement items, collects predetermined performance measurement data, and stores it in the log area. After that, control is returned to program 1 to execute the second instruction.

性能測定制御部5は、サンプリング期間が終了したとき
、プログラム1に対する性能測定環境2を解除する。こ
れにより、プログラム1は2次に性能測定環境2が設定
されるまで1通常の実行環境下で命令を実行する。
The performance measurement control unit 5 releases the performance measurement environment 2 for the program 1 when the sampling period ends. As a result, the program 1 executes instructions under the normal execution environment until the secondary performance measurement environment 2 is set.

サンプリング間隔および測定頻度と性能測定項目とは、
予め定められた範囲内で任意に指定することができ、状
況に応じて性能測定を効率的に行なうことを可能にする
What is the sampling interval, measurement frequency, and performance measurement items?
It can be specified arbitrarily within a predetermined range, making it possible to efficiently measure performance depending on the situation.

前述したように性能測定部3は、ファームウェアで構成
されている。ファームウェアは1通常。
As described above, the performance measurement unit 3 is configured by firmware. Firmware is 1 normal.

強い実行権をもったHPV (ハイパーバイザ)モード
で走行させられるため、O8を用いて性能測定を行なう
場合にくらべて、データ処理装置の動作状態に影響され
る度合が少なく、VMモードで走行しているプログラム
の動的性能について安定で信顛性の高いデータが得られ
る。
Because it runs in HPV (hypervisor) mode with strong execution rights, it is less affected by the operating status of the data processing device than when measuring performance using O8, and runs in VM mode. This provides stable and reliable data on the dynamic performance of programs running.

〔実施例〕〔Example〕

第2図に本発明の1実施例の構成を示す。 FIG. 2 shows the configuration of one embodiment of the present invention.

図において、lは性能測定対象のプログラム。In the figure, l is the program whose performance is to be measured.

2は性能測定環境、3はファームウェアで構成された性
能測定部、4はログ領域、5はファームウェアで構成さ
れた性能測定制御部、6はタイマ。
2 is a performance measurement environment, 3 is a performance measurement section configured with firmware, 4 is a log area, 5 is a performance measurement control section configured with firmware, and 6 is a timer.

7は性能測定指示部、8−1ないし8−4は性能測定設
定用命令であり、このうち8−1はMODE−3ET 
(モード・セント)命令、8−2は5TART(7,タ
ート)命令、8−3はSTOP(ストップ)命令、8−
4はMODE−RESET(モード・リセット)命令で
ある。9はPSW(プログラム状態語)、10はプログ
ラム割り込み処理部、11は外部割り込み処理部、12
は測定制御テーブル、13は状態制御情報設定域、14
は性能測定項目設定域、15は命令測定回数設定域を表
わす。
7 is a performance measurement instruction unit, 8-1 to 8-4 are performance measurement setting commands, and 8-1 is a MODE-3ET
(mode cent) instruction, 8-2 is 5TART (7, start) instruction, 8-3 is STOP instruction, 8-
4 is a MODE-RESET (mode reset) command. 9 is a PSW (program status word), 10 is a program interrupt processing section, 11 is an external interrupt processing section, 12
13 is a measurement control table, 13 is a state control information setting area, and 14 is a measurement control table.
15 represents a performance measurement item setting area, and 15 represents an instruction measurement frequency setting area.

性能測定指示部7は、性能測定を指示する機械語命令群
からなるものであって、特に8−1ないし8−4の各性
能測定設定用命令を発行することによって、後述するフ
ァームウェアの性能測定部を動作させる。MODE−3
ET命令8−1は性能測定の詳細1例えば性能測定項目
やサンプリング方法などの条件を設定する命令である。
The performance measurement instructing unit 7 consists of a group of machine language instructions for instructing performance measurement, and in particular issues performance measurement setting instructions 8-1 to 8-4 to perform firmware performance measurement, which will be described later. operate the section. MODE-3
The ET command 8-1 is a command for setting details 1 of performance measurement, such as performance measurement items and sampling method.

5TART命令8−2は、性能測定の開始を指示する命
令である。5TOP命令8−3は、性能測定の終了を指
示する命令である。MODE−RESET命令8−4は
、性能測定項目等の設定を解除する命令である。
The 5TART command 8-2 is a command for instructing the start of performance measurement. 5TOP command 8-3 is a command to instruct the end of performance measurement. The MODE-RESET command 8-4 is a command for canceling settings of performance measurement items and the like.

上記性能測定設定用命令8−1ないし8−4を実行する
と、命令チエツクによりファームウェアへの割り込みが
発生する。
When the performance measurement setting instructions 8-1 to 8-4 are executed, an interrupt to the firmware occurs due to an instruction check.

ファームウェア割り込みが性能測定設定用命令8−1な
いし8−4の実行によって生じた場合には、ファームウ
ェアによって構成された性能測定制御部5が起動される
When a firmware interrupt occurs due to execution of the performance measurement setting instructions 8-1 to 8-4, the performance measurement control unit 5 configured by firmware is activated.

性能測定制御部5は、測定制御テーブル12に。The performance measurement control section 5 stores the measurement control table 12 in the measurement control table 12.

MODE−3ET命令8−1で指定された制御情報を設
定し、5TART命令8−2を契機にクイマロをセット
し、測定開始の制御等の処理を行なう。詳しい処理につ
いては後述する。
The control information specified by the MODE-3ET command 8-1 is set, and the 5TART command 8-2 is used as a trigger to set the Kuimaro, and processes such as controlling the start of measurement are performed. Detailed processing will be described later.

タイマ6は、一般のCPUタイマと同等の(妨きを有す
るものであって、前もって設定された時間が経過したと
きに、外部割り込みを生じさせるものである。性能測定
用に新たに設けてもよいが。
Timer 6 is similar to a general CPU timer and generates an external interrupt when a preset time has elapsed. Good but.

例えば仮想計算機のディスパッチに用いられるいわゆる
RVMタイマ等、既存のタイマを利用してもよい。
For example, an existing timer such as a so-called RVM timer used for dispatching virtual machines may be used.

外部割り込みが発生すると、外部割り込み処理部11が
起動される。外部割り込み処理部11は。
When an external interrupt occurs, the external interrupt processing section 11 is activated. The external interrupt processing unit 11 is.

割り込みコードにより2割り込みがタイマ6によるもの
であることを検知した場合に、性能測定部3を起動する
When it is detected from the interrupt code that the second interrupt is caused by the timer 6, the performance measurement unit 3 is activated.

性能測定部3は、HPV状態で動作する強い実行権をも
ったファームウェアで構成され、後述する如く、測定制
御テーブル12に設定された内容に基づいて、性能測定
情報を収集し、ログ領域4に格納する処理を行なう。
The performance measurement unit 3 is composed of firmware with strong execution rights that operates in the HPV state, and as described later, collects performance measurement information based on the contents set in the measurement control table 12 and stores it in the log area 4. Perform the storage process.

タイマ6による外部割り込みは、MODE−3ET命令
8−1で任意に指定した周期で発生するようにされる。
External interrupts by the timer 6 are generated at intervals arbitrarily specified by the MODE-3ET instruction 8-1.

従って性能測定部3は、その外部割り込みをトリガとし
て、性能測定情報をサンプリング収集することとなる。
Therefore, the performance measurement unit 3 uses the external interrupt as a trigger to sample and collect performance measurement information.

第3図に、ログ領域4の構成を示す。ログ領域4は、性
能測定項目の種別ごとに区分されたマツプデータ形式の
データ部分と、実行命令順にPSW、命令、ハード情報
を格納するトレースデータ形式のデータ部分とを含み、
VMのメモリ内に。
FIG. 3 shows the configuration of the log area 4. The log area 4 includes a data part in a map data format divided by type of performance measurement item, and a data part in a trace data format that stores PSW, instructions, and hardware information in the order of execution instructions,
in the VM's memory.

VMによって参照可能なように設定できる(図示省略)
Can be set so that it can be referenced by VM (not shown)
.

第3図中のマツプデータ形式のデータ部分に示されてい
るように、この実施例での性能測定項目は、SPV (
スーパーバイザ)モードにおける命令実行回数、レジス
タコンフリクションを生じたサイクル数■、ストア・フ
ェフチでインクロックをかけたサイクル数■、メモリコ
ンフリクションを生じたサイクル数■などと、FRB 
(プロブレム)モードにおける命令実行回数、レジスタ
コンフリクションを生じたサイクル数■、さらにたとえ
ば256個の命令の列を単位として9図中■〜■の各種
パイプラインコンフリクトを最も多く生じたワースト命
令列や、バッファヒント率などが指定可能である。
As shown in the data part of the map data format in Fig. 3, the performance measurement items in this example are SPV (
The number of instruction executions in supervisor) mode, the number of cycles that caused register conflict (■), the number of cycles that applied the ink clock in store/feft, (■) the number of cycles that caused memory conflict, etc.
(problem) mode, the number of cycles in which register conflicts occurred (■), and the worst instruction sequence that caused the most pipeline conflicts (■ to ■) in Figure 9, for example, in units of 256 instruction sequences. , buffer hint rate, etc. can be specified.

これらの性能測定項目が指定されたとき、ログ領域内の
それぞれに定められた位置に格納され。
When these performance measurement items are specified, they are stored in their respective designated positions within the log area.

プログラムの実行途中あるいは終了時等の任意の時点に
出力して参照可能にされる。
It can be output and referenced at any time, such as during program execution or at the end of the program.

次に、測定制御テーブル12の詳細を説明する。Next, details of the measurement control table 12 will be explained.

第4図に、測定制御テーブル12の中の状態制御情報設
定域13の構成例を示す。
FIG. 4 shows a configuration example of the state control information setting area 13 in the measurement control table 12.

図示の状態制御情報設定域13には、MODE−3ET
命令8−1によって°1”にされ、MODE−RESE
T命令8−4によってO″にされる状態フラグ13−1
や、5TART命令8−2によって“1″にされ、5T
OP命令8−3によって“0”に戻される状態フラグ1
3−2が設けられる。
In the illustrated state control information setting area 13, MODE-3ET
It is set to °1" by instruction 8-1, and MODE-RESE
Status flag 13-1 set to O'' by T instruction 8-4
It is set to “1” by the 5TART instruction 8-2, and the 5T
Status flag 1 returned to “0” by OP instruction 8-3
3-2 is provided.

また、サンプリング制御用ビット群13−3゜13−4
が設けられる。本実施例においては、ビット群13−3
の4ビツトによってたとえば1.0製から1,000m
5までの間の4種類のサンプリング周期が選択でき、ま
たビット群13−4の4ビツトによって、指定されたサ
ンプリング周期のもとて性能測定データを採取する頻度
を、16段階で選択できる。
In addition, sampling control bit group 13-3゜13-4
is provided. In this embodiment, bit group 13-3
For example, from 1.0 to 1,000 m by the 4 bits of
Four types of sampling periods up to 5 can be selected, and the frequency at which performance measurement data is collected in the specified sampling period can be selected in 16 steps using the four bits of bit group 13-4.

第5図に、サンプリング周期が1.0 msで、測定顛
度が174の場合の制御例を示す。この場合は。
FIG. 5 shows an example of control when the sampling period is 1.0 ms and the measurement frequency is 174. in this case.

タイマにより1.0 tuの周期で発生されるサンプリ
ングパルスの4回に1回の割合いで繰り返し測定を実行
する。すなわち、ある連続する2つのサンプリングパル
スの間を測定期間(すなわちサンプリング期間)とし、
続く3つのサンプリングパルスの間の期間は休止期間と
する。
Repeated measurements are performed once every four sampling pulses generated by the timer at a period of 1.0 tu. That is, the period between two consecutive sampling pulses is defined as a measurement period (i.e., sampling period),
The period between the following three sampling pulses is a rest period.

第6図に、測定制御テーブル12中の性能測定項目設定
域14の構成例を示す。
FIG. 6 shows a configuration example of the performance measurement item setting area 14 in the measurement control table 12.

図示の性能測定項目設定域14は16ビソトからなり、
それぞれのビットで、命令実行回数(頻度)、レジスタ
コンフリクション、ストア・フェッチインタロック、メ
モリコンフリクション、バッファヒント率、ワースト命
令列などが指定できるようになっている。
The illustrated performance measurement item setting area 14 consists of 16 bits,
Each bit can specify the number of instruction executions (frequency), register conflict, store/fetch interlock, memory conflict, buffer hint rate, worst instruction sequence, etc.

各ビットは、“1”を設定されたとき有効となり、複数
のビットが“1”であれば、それぞれ対応する項目の測
定を並行して行なう。
Each bit becomes valid when set to "1", and if a plurality of bits are "1", measurements of the corresponding items are performed in parallel.

第7図に、測定制御テーブル12中の命令測定回数設定
域15の構成例を示す。
FIG. 7 shows an example of the structure of the instruction measurement number setting area 15 in the measurement control table 12.

図示の命令測定回数設定域15は16ビソトからなり、
ビット位置Oでこの設定域の情報の有効性を表示し、ま
たビット位置1〜15で0〜2+s−1の値を表わし、
サンプリング期間内で連続する命令の測定回数上限を指
定する。
The illustrated command measurement number setting area 15 consists of 16 bits,
The bit position O indicates the validity of the information in this setting area, and the bit positions 1 to 15 represent the value of 0 to 2+s-1,
Specifies the upper limit for the number of measurements of consecutive instructions within the sampling period.

第8図fat、 (blに、命令測定回数設定による効
果を例示する。
FIG. 8 fat, (bl) illustrates the effect of setting the number of instruction measurement times.

第8図[alは、サンプリング周期が10都、測定頻度
が1/2でサンプリング期間がl0m5の場合に5サン
プリング期間(測定期間)Ions内で連続する命令数
nの測定を指示したとき、10肥内に実行された命令数
がnに達しなかった状態を示し、サンプリング期間10
醜全部が測定に使用される。
FIG. 8 [al] indicates that when the sampling period is 10, the measurement frequency is 1/2, and the sampling period is 10m5, when the number of consecutive instructions n is instructed to be measured within 5 sampling periods (measurement periods) Ions, 10 Indicates a state in which the number of instructions executed within Hiuchi has not reached n, and the sampling period is 10.
The whole ugly part is used for measurement.

第8図(ト))は、第8図(alと同一の条件で測定を
行なったとき、サンプリング期間の10哨内で連続して
実行された命令の数が、nよりも多い場合を示す。この
場合には、実行命令数がnに達したところで測定データ
のログ領域への格納が打ち切られ、残りのデータは無視
される。
Figure 8 (g)) shows the case where the number of consecutively executed instructions within 10 cycles of the sampling period is greater than n when measurements are performed under the same conditions as in Figure 8 (al). In this case, when the number of executed commands reaches n, storage of measurement data in the log area is discontinued, and the remaining data is ignored.

第9図に、性能測定部3の構成例を示す。図において、
最後に実行した命令16の実行終了によりハードウェア
割り込みが上がると9図示された性能測定部の各機能が
起動される。
FIG. 9 shows an example of the configuration of the performance measuring section 3. In the figure,
When the hardware interrupt is raised due to the completion of execution of the last executed instruction 16, each function of the performance measurement unit shown in FIG. 9 is activated.

命令実行回数測定ルーチン17は、最後に実行した命令
16を第2図のPSW9から識別し、命令種別ごとの実
行回数をカウントし、ログアウト域の命令実行回数18
の値を更新記録する。
The instruction execution count measurement routine 17 identifies the last executed instruction 16 from the PSW 9 in FIG. 2, counts the number of executions for each instruction type, and calculates the instruction execution count 18 in the logout area.
Update and record the value of .

パイプラインシミュレーションルーチン19は。Pipeline simulation routine 19.

シミュレーテッドパイプライン(疑似パイプライン)2
0を働かせ、命令実行のシミュレーションを行う。シミ
ュレーションが終了した命令は、命令列バッファ21に
256命令だけ蓄積される。
Simulated pipeline (pseudo pipeline) 2
0 and performs a simulation of instruction execution. 256 instructions for which simulation has been completed are stored in the instruction string buffer 21.

パイプラインシミュレーンヨンの過程で得られる主要な
動的性能は、レジスフコンフリクション測定ルーチン2
2.ストアフェッチインタロック測定ルーチン23.メ
モリコンフリクション測定ルーチン24.バッファシミ
ュレーションルーチン25.バッファヒント率測定ルー
チン27によって測定される。
The main dynamic performance obtained during the pipeline simulation process is the Regisf Conflict Measurement Routine 2.
2. Store fetch interlock measurement routine 23. Memory conflict measurement routine 24. Buffer simulation routine 25. It is measured by the buffer hint rate measurement routine 27.

バッフアジミュージョンは、バッファシミュレーション
ルーチン25がシミュレーテソドバソファ (疑似バッ
ファ)26を用いて行い、その際のバッファヒツト率ヲ
、バンファヒソl測定ル−チン27が測定する。
The buffer simulation routine 25 performs the buffer simulation using a simulated buffer (pseudo buffer) 26, and the buffer hit ratio at that time is measured by the buffer simulation routine 27.

またワースト命令列測定ルーチン28は、命令列バッフ
ァ21に蓄積された256の命令ごとにそれらがワース
トの命令グループであるかどうかを判定する。
Furthermore, the worst instruction sequence measurement routine 28 determines whether each of the 256 instructions accumulated in the instruction sequence buffer 21 is the worst instruction group.

このようにして命令実行をシミュレーションすることに
より測定された各性能測定項目のデータは、ログアウト
域29に記録される。
The data of each performance measurement item measured by simulating instruction execution in this manner is recorded in the logout area 29.

〔発明の効果〕〔Effect of the invention〕

本発明は、大幅なハードウェアの追加なしに。 The present invention does not require the addition of significant hardware.

データ処理装置において、プログラムの実行時に生じる
各種のコンフリクションやインターロック。
Various conflicts and interlocks that occur during program execution in data processing equipment.

あるいはバッファミスなどの動的状態を示す細部の詳細
な性能測定データを実時間で収集することを可能にし、
しかも状況に応じて性能測定項目やサンプリング期間を
弾力的に指定することができるため、無駄のない効率的
な性能測定を可能にする。
Alternatively, it is possible to collect detailed performance measurement data showing dynamic conditions such as buffer misses in real time.
In addition, performance measurement items and sampling periods can be flexibly specified depending on the situation, making efficient performance measurement possible.

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

第1図は1本発明の原理説明図。 第2図は1本発明の1実施例構成図。 第3図は、ログ領域の構成例説明図。 第4図は、状態制御情報設定域の構成例説明図。 第5図は、サンプリング制御例の説明図。 第6図は、性能測定項目設定域の構成例説明図。 第7図は、命令測定回数設定域の構成例説明図。 第8図は、命令測定回数設定効果の説明図。 第9図は、性能測定部の構成例説明図である。 第1図中。 lは性能測定対象のプログラム。 2はプログラムlの性能測定環境。 3はファームウェアの性能測定部。 4は性能測定結果のデータを格納するログ領域5はファ
ームウェアの性能測定制御部。 6はサンプリング制御に用いるタイマ。 12は性能測定条件や性能測定項目を管理する測定制御
テーブル。 出力 材θnI)+、馴[8九明しn $IU!J 443明の1実社を1溝A゛図 $ 2 図 第 4 図 Yン7”Iン7’1llaブii /l ift、 a
pt rzt名 5 図 ←10句−− qンy”をンrlfl’lRto”  、;tlaHA
    h今全唄り送回数頷え効果つt兇明図 茶 8 図
FIG. 1 is a diagram explaining the principle of the present invention. FIG. 2 is a configuration diagram of one embodiment of the present invention. FIG. 3 is an explanatory diagram of a configuration example of a log area. FIG. 4 is an explanatory diagram of a configuration example of a state control information setting area. FIG. 5 is an explanatory diagram of an example of sampling control. FIG. 6 is an explanatory diagram of a configuration example of a performance measurement item setting area. FIG. 7 is an explanatory diagram of a configuration example of a command measurement number setting area. FIG. 8 is an explanatory diagram of the effect of setting the number of command measurements. FIG. 9 is an explanatory diagram of a configuration example of the performance measuring section. In Figure 1. l is the program whose performance is to be measured. 2 is the performance measurement environment for program l. 3 is the firmware performance measurement section. 4 is a log area 5 for storing performance measurement result data; 5 is a firmware performance measurement control section; 6 is a timer used for sampling control. 12 is a measurement control table for managing performance measurement conditions and performance measurement items; Output material θnI) +, familiarity [89min $IU! J 443 Ming's 1st company 1 groove A゛ Figure $ 2 Figure 4 Figure Y 7"I 7'1llabu ii /l ift, a
pt rzt name 5 Figure ← Clause 10 -- qny" ni rlfl'lRto",;tlaHA
The effect of the number of times the entire song has been sent is impressive. Figure 8.

Claims (1)

【特許請求の範囲】 データ処理装置におけるプログラム(1)の性能測定シ
ステムにおいて、 サンプリングのタイミングを制御するタイマ(6)と、 タイマ(6)による割り込みに応じてプログラム(1)
の性能測定のための全体的な実行制御を行なう性能測定
制御部(5)と、 性能測定を実施するサンプリング期間や性能測定項目な
どの測定制御情報を管理する測定制御テーブル(12)
と、 プログラム(1)の命令について、実行時の状態をシミ
ュレーションし、測定制御テーブル(12)に設定され
ている性能測定項目にしたがって性能測定データを収集
する性能をもつファームウェアで構成された性能測定部
(3)と、 性能測定部(3)が収集した性能測定データを格納する
ログ領域(4)とをそなえ、 少なくとも前記サンプリング期間と性能測定項目等の測
定制御情報を一定の範囲内で任意に指定あるいは指定解
除可能とし、 性能測定制御部(5)は、前記サンプリング期間および
性能測定項目等の制御情報の指定あるいは指定解除に応
じて測定制御テーブル(12)上に当該測定制御情報を
設定あるいは設定解除し、プログラム(1)の実行中、
タイマ(6)からの割り込みがあったとき、測定制御テ
ーブル(12)に設定されているサンプリング期間の制
御情報にしたがって性能測定環境(2)を設定し、性能
測定部(3)によるプログラム(1)の性能測定を実行
させることを特徴とする動的性能測定方式。
[Claims] A system for measuring the performance of a program (1) in a data processing device, comprising: a timer (6) for controlling sampling timing; and a program (1) in response to an interrupt by the timer (6).
a performance measurement control unit (5) that performs overall execution control for performance measurement; and a measurement control table (12) that manages measurement control information such as the sampling period for performance measurement and performance measurement items.
and a performance measurement system configured with firmware that has the ability to simulate the execution state of the program (1) instructions and collect performance measurement data according to the performance measurement items set in the measurement control table (12). (3) and a log area (4) for storing performance measurement data collected by the performance measurement unit (3), and at least measurement control information such as the sampling period and performance measurement items can be arbitrarily set within a certain range. The performance measurement control unit (5) sets the measurement control information on the measurement control table (12) in accordance with the specification or cancellation of the control information such as the sampling period and performance measurement items. Or, cancel the setting and while program (1) is running,
When there is an interrupt from the timer (6), the performance measurement environment (2) is set according to the sampling period control information set in the measurement control table (12), and the performance measurement section (3) executes the program (1). ) is a dynamic performance measurement method characterized by performing performance measurement.
JP62304030A 1987-12-01 1987-12-01 Dynamic performance measuring system Pending JPH01145736A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62304030A JPH01145736A (en) 1987-12-01 1987-12-01 Dynamic performance measuring system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62304030A JPH01145736A (en) 1987-12-01 1987-12-01 Dynamic performance measuring system

Publications (1)

Publication Number Publication Date
JPH01145736A true JPH01145736A (en) 1989-06-07

Family

ID=17928219

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62304030A Pending JPH01145736A (en) 1987-12-01 1987-12-01 Dynamic performance measuring system

Country Status (1)

Country Link
JP (1) JPH01145736A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013136704A1 (en) * 2012-03-16 2013-09-19 International Business Machines Corporation Controlling operation of a run-time instrumentation facility from a lesser-privileged state
US8543989B2 (en) 2008-10-07 2013-09-24 Fujitsu Limited Program evaluation apparatus and program evaluation method

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8543989B2 (en) 2008-10-07 2013-09-24 Fujitsu Limited Program evaluation apparatus and program evaluation method
WO2013136704A1 (en) * 2012-03-16 2013-09-19 International Business Machines Corporation Controlling operation of a run-time instrumentation facility from a lesser-privileged state
JP2015510154A (en) * 2012-03-16 2015-04-02 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation Control runtime instrumentation facility behavior from low privilege state

Similar Documents

Publication Publication Date Title
EP0189848B1 (en) Method and apparatus for software debugging
KR870000115B1 (en) Data processing system
US5103394A (en) Software performance analyzer
US4845615A (en) Software performance analyzer
CN108664380A (en) Software debugging system and adjustment method after a kind of execution shown with performance
US20110289373A1 (en) Electornic Design Emulation Display Tool
JP3901417B2 (en) PLC simulator
CN103198002B (en) Measurement method and simulator for program running time
JP2007334812A (en) Simulator and simulation method
US20080010555A1 (en) Method and Apparatus for Measuring the Cost of a Pipeline Event and for Displaying Images Which Permit the Visualization orf Said Cost
JPH01145736A (en) Dynamic performance measuring system
CN107423206A (en) A kind of method and device for weighing the system management interrupt time
JP6218645B2 (en) Program analysis apparatus, program analysis method, and program
Flanagan et al. Incomplete trace data and trace driven simulation
CN110688289B (en) Processor performance event dynamic monitoring method based on simulation
JPH08328905A (en) Method and device for simulation
KR101423634B1 (en) Method of Employing Time-Triggered Architecture for Real-time Embedded System
Povazan et al. A profiling tool for heterogeneous multi-core systems
JPH09198275A (en) Recommendatory system for improving computer performance
JPH10171682A (en) Generating method for program operation information
JPS5833631B2 (en) data processing system
JPH10207737A (en) Emulator and emulation system
JP3638505B2 (en) Simulation apparatus and software simulation method for microprocessor
JPH02195448A (en) Device for tracing instruction
JPH0458303A (en) Programmable controller