JPH03167641A - プログラムソースの性能解析方式 - Google Patents

プログラムソースの性能解析方式

Info

Publication number
JPH03167641A
JPH03167641A JP1310181A JP31018189A JPH03167641A JP H03167641 A JPH03167641 A JP H03167641A JP 1310181 A JP1310181 A JP 1310181A JP 31018189 A JP31018189 A JP 31018189A JP H03167641 A JPH03167641 A JP H03167641A
Authority
JP
Japan
Prior art keywords
trace
program source
instruction
waiting time
input
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
JP1310181A
Other languages
English (en)
Inventor
▲じょう▼徳 恵美子
Emiko Jiyoutoku
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 Solution Innovators 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 Solution Innovators Ltd filed Critical NEC Solution Innovators Ltd
Priority to JP1310181A priority Critical patent/JPH03167641A/ja
Publication of JPH03167641A publication Critical patent/JPH03167641A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)
  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はプログラムソースの性能解析方式に関し,特に
パイプライン制御方式の情報処理装置におけるプログラ
ムソースの性能解析方式に関する。
〔従来の技術〕
従来のプログラムソースの性能解析方式は、実データを
入力してシミュレーションを行い、その結果から実行待
ち時間を求めていた。
〔発明が解決しようとする課題〕
上述した従来のプログラムソースの性能解析方式は、一
回の実行で求められる実行待ち時間が実データが通る経
路に限られていたので、プログラムかすべての経路を網
羅するように多くのデータを作成し何度もシミヱレーシ
ョンを実行しなげればならないという問題点がある。
本発明の目的は、多くのデータを作成し何度もシミュレ
ーションを実行しなくてもプログラムソースのすべての
経路を網羅した性能解析を行うことができるプログラム
ソースの性能解析方式を提供することにある。
〔課題を解決するための手段〕
本発明のプログラムソースの性能解析方式は、性能解析
を行うプログラムソースを記憶する第1の手段と、性能
解析を行う経路のトレース開始条件およびトレース終了
条件を記憶する第2の手段と、各命令種類毎の実行待ち
時間発生規則を複数記憶する第3の手段と、前記プログ
ラムソースが実行されるハードウェアの構戒条件を記憶
する第4の手段と、前記第1の手段から前記プログラム
ソースを入力する第5の手段と、前記第2の手段から前
記トレース開始条件および航記トレース終了条件を入力
する第6の手段と、前記第3の手段から前記実行待ち時
間発生規則を入力する第7の手段と、前記第4の手段か
ら前記ハードウエアの構成条件を入力する第8の手段と
、前記第5の手段に記憶されている前記プログラムソー
スから前記プログラムソースを構成している命令および
前2命令間の分岐関係を検出し記憶する第9の手段と、
前記第6の手段により入力された前記トレース開始条件
および前記トレース終了条件を記憶する第10の手段と
、前記第7の手段により入力された前記実行待ち時間発
生規則を記憶する第11の手段と、前記第8の手段によ
り入力された前記ハードウェアの構成条件を記憶する第
12の手段と、前記第9の手段に記憶されている前記命
令および前記命令間の分岐関係と前記第10の手段に記
憶されているif 配}−レース開始条件および前記ト
レース終了条件とから前記トレース開始条件および前記
トレース終了条件に合致したトレース開始命令およびト
レース終了命令を検出する第13の手段と、前記第11
の手段に記憶されている実行待ち時間発生規則と前記第
12の手段に記憶されているハード9エア構成条件と前
記第13の手段により検出された前記トレース開始命令
および前記トレース終了命令とから各命令の実行待ち時
間を算出する第14の手段と、前記第14の手段により
算出された結果を出力する第15の手段とを有して構成
されている, 〔実施例〕 次に、本発明の実施例について図面を参照し説明する。
第1図は本発明の一実施例のクレーム対応図である。同
実施例は性能解析を行うプログラムソースを記憶するプ
ログラムソース記憶手段1と、性能解析を行う経路のト
レース開始条件およびトレース終了条件を記憶するトレ
ース開始・終了条件記憶手段2と、各命令種類毎の実行
待ち時間発生規則を複数記憶する実行待ち時間発生規則
記憶千段3と、プログラムソースが実行されるハードウ
ェアのi戒条件を記憶するハードウェア構成条件記憶千
段4と、プログラムソース記憶手段■からプログラムソ
ースを入力するプログラムソース入力手段5と、トレー
ス開始・終了条件記憶千段2からトレース開始条件およ
びトレース終了条件を入力するトレース閘始・終了条件
入力千段6と、実行待ち時間発生規則記憶手段3から実
行待ち時間発生規則を入力する実行待ち時間発生規削入
力千段7と、ハードウェア構成条件記憶千段4からハー
ドウェアの構成条件を入力するハードウエア構成条件入
力千段8と、プログラムソース入力千段5に記憶されて
いるプログラムソースからプログラムソースを構成して
いる命令および命令間の分岐関係を検出し記憶する命令
・命令間分岐関係検出記憶手段9と、トレース開始・終
了条件入力千段6により入力されたトレース開始条件お
よびトレース終了条件を記憶する入力トレース開始・終
了条件記憶手段lOと、実行待ち時間発生規則入力千段
7により入力された実行待ち時間発生規則を記憶する入
力実行待ち時間発生規則記憶手段1lと、ハードウェア
構成条件入力千段8により入力されたハードウェアの構
成条件を記憶する入力ハードウェア構成条件記憶千段1
2と、命令・命令間分岐関係検出記憶手段9に記憶され
ている命令および命令間の分岐関係と入力トレース開始
・終了条件記憶千段10に記憶されているトレース開始
条件およびトレース終了条件とからトレース開始条件お
よびトレース終了条件に合致したトレース開始命令およ
びトレース終了命令を検出するトレース開始・終了命令
検出千段13と、入力実行待ち時間発生規則記憶手段1
1に記憶されている実行待ち時間発生規則と入力ハード
ウェア構戒条件記憶手段12に記憶されているハードウ
ェア構成条件とトレース開始・終了命令検出千段13に
より検出されたトレース開始命令およびトレース終了命
令とから各命令の実行待ち時間を算出する実行待ち時間
算出手段■4と、実行待ち時間算出千段14により算出
された結果を出力する算出結果出力千段l5とから構成
されている。
第2図は第1図の実行待ち時間算出手段14の流れ図で
ある2パイプライン処理においては、パイプラインの最
終段階で命令の実行が終了する。
これは、その結果が書込まれるレジスタである更新レジ
スタが確定されたことをも意味している。
更新レジスタは他のレジスタである参照レジスタの値に
よって確定が左右される場合があり、その場合は参照レ
ジスタの読み出しが可能でなければ更新レジスタは確定
されない。参照レジスタの読み出しが可能かどうかの情
報は、レジスタの待ち行列情報を記憶するエリア(以後
、キューと記す)より求められる。参照レジスタの待ち
行列情報がキスー内に存在する場合は、この参照レジス
タを更新する命令がまだパイプライン内にあり、この参
照レジスタは確定されていないことになる,蓼照レジス
タがキュー内に存在しない時は、この参照レジスタを更
新する命令はパイプラインを出たことになり、この参照
レジスタは確定されたことになる。
上記のことから実行待ち時間を算出するには、次のよう
に処理を行う。第1図のトレース開始・終了命令検出千
段13よりトレース開始命令を取り出すくステップ20
1)。次に、トレース開始命令からトレース終了命令ま
でのすべての経路を網羅するため、経路を構成するすべ
ての命令を個々に記憶する分岐スタックの領域を確保し
、取り出した命令をその分岐スタックに格納するくステ
ップ202)。初期設定として算出結果を記憶する出力
作業エリアの頂域を確保しブランククリアする(ステッ
プ203〉。第1図の入力ハード今エア構成条件記憶千
段12に記憶されているハードウエア構成条件によりキ
ヱーの段数を決定する(ステップ204〉。次に、分岐
スタソクか空かどうか検索する(ステップ205),空
でない場合は、分岐スタックに格納した最新の命令を分
岐スタックから取り出す(ステップ206),第1図の
トレース開始・終了命令検出手段■3により、取り出し
た命令がトレース終了命令がどうかを判定する〈ステッ
プ207)。トレース終了命令の場合は、出力作業エリ
アに記憶されている内容を第1図の算出結果出力手段1
5で出力ずるくステップ209)。出力完了後、出力作
業エリアをブランククリアする(ステ・ソブ210>,
ステップ207の結果、分岐スタックから取り出した命
令がトレース終了命令ではない場合番よ、次の命令の飛
び先命令をすべて分岐スタックに格納する(ステップ2
08〉。ステップ206で取り出された命令から参照レ
ジスタおよび更新レジスタを取り出しくステップ211
);取り出された参照レジスタがキュー内に登録されて
いるかどうかを検索する(ステップ212)。
ステップ212で検索の結果(ステップ213)、キエ
ー内に参照レジスタが存在している場合は、実行待ち時
間発生規則記憶手段11より命令種類毎の実行サイクル
時間を求め、その時間だけキューをシフトさせる〈ステ
・ソブ214〉。シフトした結果、参照レジスタがキュ
ーの外に出ているかどうかを判定し(ステップ216)
.キューの外に出ていれば、キューをシフトさせた時間
が分岐スタックから取り出した命令の実行待ち時間にな
る(ステップ218)。
ステップ214でシフトさせ、ステップ216で判定し
た結果、参照レジスタがまだキュー内にある場合は、参
照レジスタがキューの外に出るまでキューをシフトさせ
る(ステップ217)。この場合は、ステップ214で
シフトさせた時間とステップ217でシフトさせた時間
の合計が、分岐スタックから取り出した命令の実行待ち
時間になる(ステップ218)。
ステップ212で検索の結果、キ二−内に参照レジスタ
が存在していない場合はくステ・ソプ213〉、第1図
の入力実行持ち時間発生規則記憶千段11より命令種類
毎の実行サイクル時間を求めその時間だけキューをシフ
トさせる(ステ・ソブ215〉。キューをシフトさせた
時間が分岐スタ・7クから取り出した命令の実行持ち時
間になる(ステップ218)。ステップ218で求めら
れた実行待ち時間は出力作業エリアに記憶させる(ステ
ップ219)。ステップ218までで参照レジスタはす
べて確定しているので、更新レジスタをキューに格納す
る(ステップ220)。その後、分岐スタックが空かど
うか検索し、空の場合は処理を終了する(ステップ20
5)。
〔発明の効果〕
以上説明したように本発明は、プログラムソースすべて
の経路を網羅する静的な性能解析を行うために、多くの
データを作成し何度もシミュレーションを実行しなくて
もプログラムソースのすべての経路を網羅した性能解析
を行うことができる効果を有する。
【図面の簡単な説明】
第1図は本発明の一実施例のクレーム対応図、第2図は
第1図の実行待ち時間算出千段14の流れ図である。 ]一・・・・ プログラムソース記憶手段、2・−・・
・・トレース開始・終了条件記憶手段、3・・・・・・
実行待ち時間発生規則記憶手段、4・・・・・・ハード
ウェア構成条件記憶手段、5・−・・・・プログラムソ
ース入力手段、6・・・・・・トレース開始・終了条件
入力手段,7・・・・・・実行待ち時間発生規則入力手
段、8・・・・・−ハードウェア構成条件入力手段、9
・・・・・・命令・命令間分岐関係検出記憶手段、10
・・・・・・入カトレース開始・終了条件記憶手段、1
1・・・・・・入力実行待ち時間発生規則記憶手段、1
2・・・・・入力ハードウェア構成条件記憶手段、13
・・・・・・トレース開始・終了命令検出手段、14・
・・・・・実行待ち時間算出手段、l5・−・・・〜算
出結果出力手段。

Claims (1)

    【特許請求の範囲】
  1. 性能解析を行うプログラムソースを記憶する第1の手段
    と、性能解析を行う経路のトレース開始条件およびトレ
    ース終了条件を記憶する第2の手段と、各命令種類毎の
    実行待ち時間発生規則を複数記憶する第3の手段と、前
    記プログラムソースが実行されるハードウェアの構成条
    件を記憶する第4の手段と、前記第1の手段から前記プ
    ログラムソースを入力する第5の手段と、前記第2の手
    段から前記トレース開始条件および前記トレース終了条
    件を入力する第6の手段と、前記第3の手段から前記実
    行待ち時間発生規則を入力する第7の手段と、前記第4
    の手段から前記ハードウェアの構成条件を入力する第8
    の手段と、前記第5の手段に記憶されている前記プログ
    ラムソースから前記プログラムソースを構成している命
    令および前記命令間の分岐関係を検出し記憶する第9の
    手段と、前記第6の手段により入力された前記トレース
    開始条件および前記トレース終了条件を記憶する第10
    の手段と、前記第7の手段により入力された前記実行待
    ち時間発生規則を記憶する第11の手段と、前記第8の
    手段により入力された前記ハードウェアの構成条件を記
    憶する第12の手段と、前記第9の手段に記憶されてい
    る前記命令および前記命令間の分岐関係と前記第10の
    手段に記憶されている前記トレース開始条件および前記
    トレース終了条件とから前記トレース開始条件および前
    記トレース終了条件に合致したトレース開始命令および
    トレース終了命令を検出する第13の手段と、前記第1
    1の手段に記憶されている実行待ち時間発生規則と前記
    第12の手段に記憶されているハードウェア構成条件と
    前記第13の手段により検出された前記トレース開始命
    令および前記トレース終了命令とから各命令の実行待ち
    時間を算出する第14の手段と、前記第14の手段によ
    り算出された結果を出力する第15の手段とを有するこ
    とを特徴とするプログラムソースの性能解析方式。
JP1310181A 1989-11-28 1989-11-28 プログラムソースの性能解析方式 Pending JPH03167641A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1310181A JPH03167641A (ja) 1989-11-28 1989-11-28 プログラムソースの性能解析方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1310181A JPH03167641A (ja) 1989-11-28 1989-11-28 プログラムソースの性能解析方式

Publications (1)

Publication Number Publication Date
JPH03167641A true JPH03167641A (ja) 1991-07-19

Family

ID=18002146

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1310181A Pending JPH03167641A (ja) 1989-11-28 1989-11-28 プログラムソースの性能解析方式

Country Status (1)

Country Link
JP (1) JPH03167641A (ja)

Similar Documents

Publication Publication Date Title
US5596732A (en) Method of optimizing instruction sequence of compiler
JP3130446B2 (ja) プログラム変換装置及びプロセッサ
JP2008176453A (ja) シミュレーション装置
KR100253655B1 (ko) 프로세서및번역장치
US20040083088A1 (en) Analysis of the performance of a portion of a data processing system
JPH03167641A (ja) プログラムソースの性能解析方式
Hosabettu et al. Formal verification of a complex pipelined processor
JP2653880B2 (ja) プログラム内容解析装置
JPH0793144A (ja) プログラム解析装置
JPH08314706A (ja) ソフトウェアの開発支援システム
JP2001290857A (ja) タイミングシミュレータ
JP3367438B2 (ja) 条件実行処理装置
JPS616722A (ja) 文の実行費用の計算方式
JPH0575841U (ja) プログラム変換装置
JPS5971542A (ja) 演算処理装置
JP2000305808A (ja) マイクロコンピュータ組み込みシステムにおけるイベント検出方法ならびに装置
JPH04147342A (ja) 宣言子解析方法
JPS62202264A (ja) ベクトル演算処理方式
JPH0769855B2 (ja) プログラム内容解析装置
JPH07295832A (ja) 計算機シミュレータ
JPH08171554A (ja) ベクトル演算の最適化コンパイラ
JPS6214243A (ja) プログラムコスト見積方式
JPS62204341A (ja) デ−タ処理装置
JPH0769856B2 (ja) プログラム内容解析装置
JPH0236488A (ja) データフローコンピュータの実行検知方式