JP5153724B2 - Processing time estimation device and processing time estimation program - Google Patents
Processing time estimation device and processing time estimation program Download PDFInfo
- Publication number
- JP5153724B2 JP5153724B2 JP2009138271A JP2009138271A JP5153724B2 JP 5153724 B2 JP5153724 B2 JP 5153724B2 JP 2009138271 A JP2009138271 A JP 2009138271A JP 2009138271 A JP2009138271 A JP 2009138271A JP 5153724 B2 JP5153724 B2 JP 5153724B2
- Authority
- JP
- Japan
- Prior art keywords
- program
- time
- execution
- processing time
- access
- 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.)
- Active
Links
- 238000004364 calculation method Methods 0.000 claims description 107
- 238000000034 method Methods 0.000 claims description 56
- 230000004044 response Effects 0.000 claims description 15
- 239000000284 extract Substances 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 9
- 230000003252 repetitive effect Effects 0.000 description 9
- 101100311277 Arabidopsis thaliana STP10 gene Proteins 0.000 description 3
- 238000011156 evaluation Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000009795 derivation Methods 0.000 description 2
- 101100311279 Arabidopsis thaliana STP12 gene Proteins 0.000 description 1
- 101100478693 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) STP22 gene Proteins 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
Images
Landscapes
- Stored Programmes (AREA)
Description
本発明は、プログラムを実行装置上で動作させたときの処理時間を見積もる処理時間見積り装置およびそのプログラムに関するものである。 The present invention relates to a processing time estimation device that estimates a processing time when a program is operated on an execution device, and the program.
近年、制御用コントローラに代表される定周期のシーケンス動作によりリアルタイム性を実現するシステムにおいて、複数のプログラム実行装置を利用したシステム構築がなされている。このようなシステム上でソフトウェアを評価する際には、実機またはシミュレータを利用して処理性能を見積もる必要があり、性能評価のための工数を要していた。 2. Description of the Related Art In recent years, a system that uses a plurality of program execution devices has been constructed in a system that realizes real-time performance by a sequence operation of a fixed cycle represented by a control controller. When evaluating software on such a system, it is necessary to estimate the processing performance using an actual machine or a simulator, which requires man-hours for performance evaluation.
シミュレータを利用して処理性能を見積もる場合、例えば特許文献1のソフトウェアの移植評価装置では、プログラム全体を第一処理装置から第二処理装置へ移植したときの処理時間評価をするために、所定のプログラムの第一処理装置と第二処理装置とにおける処理性能から求められる処理性能評価係数を、プログラム内各モジュール種別の比率により重み付けして得られる処理性能換算係数に基づいて処理性能を算出していた。
When estimating the processing performance using a simulator, for example, in the software porting evaluation apparatus of
特許文献2のプログラムシミュレーション装置では、プログラムの動作を1命令ずつクロック単位で正確にシミュレーションすることで、処理性能を見積もっていた。また、レジスタ、メモリ、キャッシュへのアクセス時間の統計量として、命令の実行回数、キャッシュヒット率、メモリの読み書き回数を考慮して算出していた。
In the program simulation apparatus of
特許文献3のプログラム開発支援装置では、プログラムを実行したときに、マイクロコンピュータ内でロードしたデータをすぐに演算に使えず一定サイクル間マイクロコンピュータがストールすることがあり、そのストールペナルティを考慮して処理時間を算出していた。
In the program development support apparatus of
従来の処理時間見積り装置は以上のように構成されているので、特許文献1の装置ではプログラム全体を別の処理装置へ移植したときの処理時間評価はできるが、処理装置内の一部プログラムのみを別の処理装置へ移植したときの処理時間評価ができなかった。また、第一処理装置から第二処理装置へプログラム全体を移植したときの処理性能を算出した換算係数を用いて第二処理装置の処理性能を見積もるため、演算時間および多種多様なI/Oアドレスへのアクセス時間が考慮されていなかった。
さらに、特許文献2,3の装置では、複数の実行装置で同時にプログラムを実行する場合のアクセス競合は考慮されておらず、複数の実行装置からのアクセス競合率を反映したプログラム処理時間を評価することはできなかった。
Since the conventional processing time estimation apparatus is configured as described above, the apparatus of
Further, in the devices of
また、従来の処理時間見積り装置では、複数の実行装置からのアクセス競合を考慮して処理性能を見積もる際、高精度に見積もるためにはサイクルレベルのシミュレーションを行う必要があることから結果導出までに時間を要したり、全てのアクセス競合を最悪ケースで見積もることで非現実的な処理時間を算出したりする課題もあった。 Also, with the conventional processing time estimation device, when processing performance is estimated in consideration of access competition from multiple execution devices, it is necessary to perform cycle level simulation to estimate with high accuracy. There are also problems such as taking time and calculating unrealistic processing time by estimating all access conflicts in the worst case.
この発明は、上記のような課題を解決するためになされたもので、シミュレータを用いることなく高速に複数のプログラム実行装置上で動作するプログラムの処理時間を算出することを目的とする。 The present invention has been made to solve the above-described problems, and an object of the present invention is to calculate the processing time of a program that operates on a plurality of program execution devices at high speed without using a simulator.
この発明に係る処理時間見積り装置は、プログラムを構成する複数の一部プログラム毎に、各デバイスへのアクセスについての入力アドレスと出力アドレス、その入力回数と出力回数、および発行命令数を抽出するプログラム解析部と、プログラム解析部が抽出した発行命令数と、各一部プログラムを実行する各プログラム実行装置から各デバイスへのアクセス時間の情報と、各デバイスへのアクセス時の競合率の情報とから、各一部プログラムの実行時間を算出する処理時間算出部と、各一部プログラムと各一部プログラムを実行するプログラム実行装置との対応付けおよび実行順序を示すプログラム動作パラメータと、処理時間算出部が算出した各一部プログラムの実行時間とから、各一部プログラムの実行時刻を算出するプログラム動作タイミング作成部と、プログラム動作タイミング作成部が算出したプログラム実行装置毎の各一部プログラムの実行時刻と、プログラム解析部が抽出した各一部プログラムの各デバイスへのアクセスの情報とから、時刻毎の各デバイスのアクセス競合数を算出するアクセス先毎情報作成部と、アクセス先毎情報作成部が算出した時刻毎の各デバイスのアクセス競合数から、各デバイスの競合率を算出して処理時間算出部へ出力するアクセス競合率算出部とを備えるようにしたものである。 The processing time estimating apparatus according to the present invention extracts, for each of a plurality of partial programs constituting a program, an input address and an output address for accessing each device, an input count and an output count, and an issued instruction count From the analysis unit, the number of issued instructions extracted by the program analysis unit, information on the access time from each program execution device that executes each partial program to each device, and information on the contention rate when accessing each device A processing time calculation unit that calculates an execution time of each partial program, a program operation parameter that indicates an association and execution order between each partial program and a program execution device that executes each partial program, and a processing time calculation unit The program operation that calculates the execution time of each partial program from the execution time of each partial program calculated by From the timing creation unit, the execution time of each partial program for each program execution device calculated by the program operation timing creation unit, and the information of access to each device of each partial program extracted by the program analysis unit, for each time Calculates the processing time by calculating the contention rate of each device from the access contention number of each device calculated by the access destination information creation unit that calculates the number of access contention of each device and the access destination information creation unit And an access contention rate calculation unit for outputting to the unit.
この発明に係る処理時間見積りプログラムは、コンピュータを、プログラムを構成する複数の一部プログラム毎に、各デバイスへのアクセスについての入力アドレスと出力アドレス、その入力回数と出力回数、および発行命令数を抽出するプログラム解析手段と、プログラム解析手段が抽出した発行命令数と、各一部プログラムを実行する各プログラム実行装置から各デバイスへのアクセス時間の情報と、各デバイスへのアクセス時の前回競合率の情報とから、各一部プログラムの実行時間を算出する処理時間算出手段と、各一部プログラムと各一部プログラムを実行するプログラム実行装置との対応付けおよび実行順序を示すプログラム動作パラメータと、処理時間算出手段が算出した各一部プログラムの実行時間とから、各一部プログラムの実行時刻を算出するプログラム動作タイミング作成手段と、プログラム動作タイミング作成手段が算出したプログラム実行装置毎の各一部プログラムの実行時刻と、プログラム解析手段が抽出した各一部プログラムの各デバイスへのアクセスの情報とから、時刻毎の各デバイスのアクセス競合数を算出するアクセス先毎情報作成手段と、アクセス先毎情報作成手段が算出した時刻毎の各デバイスのアクセス競合数から、各デバイスの今回競合率を算出し、当該今回競合率を前回競合率として処理時間算出手段へ出力するアクセス競合率算出手段と、処理時間算出手段が実行時間の算出に用いた前回競合率と、この前回競合率を利用して算出された今回競合率とを比較して、一致していなければ当該今回競合率を前回競合率として利用して新たな今回競合率を算出させ、一致していれば当該今回競合率算出の過程で算出された実行時間をプログラムの処理時間として出力する処理時間繰返し算出手段として機能させるようにしたものである。 The processing time estimation program according to the present invention provides a computer with an input address and an output address for accessing each device, an input count and an output count, and an issued instruction count for each of a plurality of partial programs constituting the program. The program analysis means to be extracted, the number of issued instructions extracted by the program analysis means, the information on the access time to each device from each program execution device that executes each partial program, and the previous contention rate at the time of accessing each device A processing time calculation means for calculating the execution time of each partial program from the information, a program operation parameter indicating an association and execution order of each partial program and a program execution device for executing each partial program, Each partial program is calculated from the execution time of each partial program calculated by the processing time calculation means. Program operation timing creation means for calculating the execution time of the program, the execution time of each partial program for each program execution device calculated by the program operation timing creation means, and each partial program extracted by the program analysis means to each device From the access information, the access destination information creation means for calculating the number of access conflicts for each device for each time, and the current time of each device from the number of access conflicts for each device for each time calculated by the access destination information creation means The contention rate is calculated and the current contention rate is output to the processing time calculation means as the previous contention rate, the previous contention rate used by the processing time calculation device to calculate the execution time, and the previous contention rate Compared to the current competition rate calculated using, if this does not match, use the current competition rate as the previous competition rate. Shelf This contention is calculated, in which if the match was to function as a processing time repeating calculation means for outputting the execution time calculated in the course of this competition factor calculated as the processing time of the program.
この発明によれば、プログラムから各デバイスへのアクセス仕様を解析した情報に基づくアクセス競合率を用いて各一部プログラムの実行時間を算出するようにしたので、複数のプログラム実行装置上で動作するプログラムについて、シミュレータを用いることなく高速に各一部プログラムの処理時間を算出することができる。 According to the present invention, since the execution time of each partial program is calculated using the access contention rate based on information obtained by analyzing the access specifications from the program to each device, it operates on a plurality of program execution devices. The processing time of each partial program can be calculated at high speed without using a simulator.
実施の形態1.
図1は、この発明の実施の形態1に係る処理時間見積り装置の構成を示すブロック図である。この処理時間見積り装置は、複数のプログラム実行装置(以下、単に実行装置とも称す)を持つ制御システムにおいて、一部プログラムを別のプログラム実行装置上で動作させたときの処理性能を、シミュレータを用いることなくプログラム解析の情報を用いて高速に見積もるものである。
FIG. 1 is a block diagram showing a configuration of a processing time estimation apparatus according to
この処理時間見積り装置は、複数のプログラム101を解析してロード(LD)/ストア(ST)アクセスするアドレス範囲(即ちデバイス)、アクセス回数および発行命令数を抽出してプログラム毎処理性能データベース(以下、DB)105を作成するプログラム解析部103と、これらの情報を用いてプログラム101の各実行装置での実行時間を導出する繰返しプログラム実行時間導出部104からなる。
This processing time estimation apparatus analyzes a plurality of programs 101, extracts an address range (that is, a device) for load (LD) / store (ST) access, the number of accesses and the number of issued instructions, and obtains a per-program processing performance database (hereinafter referred to as a program performance database). DB) 105, and a program execution
繰返しプログラム実行時間導出部104は、アクセス競合情報114と予めパラメータ化してあるハードウェア仕様パラメータ113を用いて各プログラム101の実行時間を算出する処理時間算出部106、予めパラメータ化してあるプログラム動作パラメータ115を用いてプログラム実行装置毎時刻情報108を作成するプログラム動作タイミング作成部107、アクセス競合の可能性がある実行装置を示すアクセス先毎情報110を作成するアクセス先毎情報作成部109、アクセス先毎情報110からアクセス競合率を算出するアクセス競合率算出部111、繰返しプログラム実行時間導出部104各部による一連のプログラム実行時間導出処理をアクセス競合率が収束するまで繰返し実行させる処理時間繰返し算出部112を備える。
The repetitive program execution
先ず、プログラム解析部103の詳細を説明する。図2は、前記プログラム解析部103の動作を示すフローチャートである。プログラム解析部103はステップSTP1〜STP9からなる一連のループ処理を、処理時間見積り対象のプログラム101の全個数分(N回)繰返して、各該当プログラム(一部プログラム)について解析を行う。先ずステップSTP2のプログラム読取処理にて、プログラム解析部103がプログラム101からプログラムファイルを取得する。プログラム解析部103は、ステップSTP2で読み取ったプログラムファイル順にプログラムIDを設定してプログラム毎処理性能DB105へ登録する。
First, details of the
図3は、図1に示すプログラム毎処理性能DB105の構成を示す説明図である。プログラム毎処理性能DB105には、N個分のプログラムがプログラムID105aを「1」〜「N」まで順に設定されて格納されている。また、プログラムID105a毎に、各アドレス範囲105bのLD回数105cおよびST回数105d、プログラム列数である命令数105e、ならびに実行時間105fの情報が格納されている。なお、図3では、1命令を1サイクルですると仮定しているため、命令数105eと実行時間105fが「1270」の同一値となっている。また、図3ではアクセス対象となるデバイスを4種としている為、アドレスIDの種類を1、2、3、4の4種、つまりアドレス範囲数を4(A、B、C、D)として例示している。
FIG. 3 is an explanatory diagram showing the configuration of the per-program
ステップSTP3では、プログラム毎の合計実行時間の初期化処理を行う。ステップSTP4〜STP10のプログラム列数分ループ処理では、ステップSTP2で読み取った該当するプログラムにおいて、1行ずつファイルの最終行であるM行目まで解析する。ここでの1行は1列の実行命令として扱う。先ずステップSTP5のLD/STチェック処理にて、プログラム解析部103は、プログラムの解析対象列がLD/ST命令であれば、続くステップSTP6のアクセスアドレス取得へ進む。LD/ST命令以外であればステップSTP9,STP10を経由してステップSTP4へ戻り次行の解析を行う。
In step STP3, the total execution time for each program is initialized. In the loop processing for the number of program columns in steps STP4 to STP10, the corresponding program read in step STP2 is analyzed line by line up to the Mth line which is the last line of the file. One row here is treated as an execution instruction of one column. First, in the LD / ST check process in step STP5, if the program analysis target column is an LD / ST instruction, the
ステップSTP5のアドレス取得処理では、プログラム解析部103が、LD/ST命令のアクセスアドレスを取得する。続くステップSTP6のアドレス範囲比較処理では、先ず、ステップSTP5で取得したアクセスアドレスをキーに用いて、後述するアドレス範囲情報102に含まれるアドレス範囲と照合して、合致するアドレス範囲のアドレスIDを取得する。
In the address acquisition process at step STP5, the
図4は、図1に示すアドレス範囲情報102の構成を示す説明図である。アドレス範囲情報102は、処理時間見積り対象のデバイスの開始アドレスおよび終了アドレスからなるアドレス範囲102aと、そのアドレス範囲102aをプログラム毎処理性能DB105のアドレス範囲105bにリンクするためのアドレスID102bとを格納するテーブルである。なお、図3のアドレス範囲105bが図4のアドレスID102bと対応しており、アドレス範囲105bからアドレス範囲102aを取得することができる。
FIG. 4 is an explanatory diagram showing the configuration of the
ステップSTP7で、プログラム解析部103が、アドレス範囲102aとLD/ST命令のアクセスアドレスを比較して、アクセスアドレスがアドレス範囲102a内であれば(ステップSTP7“有”)、続くステップSTP8のアクセス回数インクリメント処理へ進む。アドレス範囲102a外であれば(ステップSTP7“無”)、処理はステップSTP9,STP10を経由してステップSTP4へ戻り、次の行の解析を開始する。ステップSTP8のアクセス回数インクリメント処理では、プログラム解析部103がプログラム毎処理性能DB105にアクセスして、該当するプログラムID105aのうちの、アドレスID102bに相当するアドレス範囲105bのLD回数105cまたはST回数105dをインクリメントする。
In step STP7, the
ステップSTP9では、プログラムの解析対象列の命令をキーに、命令サイクルテーブル116から当該命令の実行サイクル数を取得する。プログラム解析部103は、取得した実行サイクル数と実行時間の和を実行時間へ格納する。図5に、命令サイクルテーブル116の一例を示す。プログラム解析部103は、命令116aと当該命令実行に必要なサイクル数116bからなる命令サイクルテーブル116を利用することにより、正確な実行時間を計算する。ステップSTP9では命令116aの種別をキーに取得したサイクル数116bを実行時間へ加算する。
In step STP9, the number of execution cycles of the instruction is acquired from the instruction cycle table 116 using the instruction in the analysis target column of the program as a key. The
次に、繰返しプログラム実行時間導出部104のプログラム動作タイミング作成部107の詳細を説明する。図6は、図1に示すプログラム動作タイミング作成部107の動作を示すフローチャートであり、プログラムの実行時間および実行順序から実行装置毎のプログラム動作時刻情報を作成する動作を示す。先ず、ステップSTP11の現在時刻配列クリア処理では、プログラム実行装置毎時刻情報108に含まれる、実行装置毎のプログラム開始時刻をクリアする。図7は、図1に示すプログラム実行装置毎時刻情報108の構成を示す説明図である。プログラム実行装置毎時刻情報108は、実行装置のIDを示す実行装置ID108aと、各実行装置が実行するプログラムIDと当該プログラムの実行時間108bとを、プログラム実行順に格納するテーブルであり、実行装置ID108a毎にプログラムとプログラムの実行時刻を管理する。
Next, details of the program operation
続いて、プログラム動作タイミング作成部107は、ステップSTP12〜STP16からなる一連のループ処理をN回行う。先ず、ステップSTP13のプログラム実行装置ID取得処理では、プログラム動作タイミング作成部107が上述のプログラムIDをキーに用いて、プログラム動作パラメータ115から当該プログラムIDに対応する実行装置のIDを取得する。図8は、図1に示すプログラム動作パラメータ115の構成を示す説明図である。図8に示すプログラム動作パラメータ115は、プログラムを実行する実行装置ID115aと、各実行装置が実行するプログラムを示すプログラムID115bとを格納するテーブルである。なお、プログラムID115bは、上述のプログラムID105aに相当し、プログラムID115bの順序が実行装置でのプログラム実行順を表す。
Subsequently, the program operation
ステップSTP14のプログラム実行時間取得処理では、プログラム動作タイミング作成部107がプログラム毎処理性能DB105を参照して、プログラムID115bに相当するプログラムID105aの実行時間105fを取得する。例えば図3のプログラムID105a「1」が図8のプログラムID115b「1」に相当する。
ステップSTP15のプログラムIDとプログラム実行時間を格納する処理では、プログラム動作タイミング作成部107が、プログラムID105aと実行時間105fをプログラム実行装置毎時刻情報108へ格納する。ステップSTP15では、各実行装置ID108aのもっともインデックス値が小さい、かつ、空き状態となっているレコードへプログラムIDとプログラムの実行時間を格納する。
In the program execution time acquisition process of step STP14, the program operation
In the process of storing the program ID and the program execution time in step STP15, the program operation
次に、繰返しプログラム実行時間導出部104のアクセス先毎情報作成部109の詳細を説明する。図9は、図1に示すアクセス先毎情報作成部109の動作を示すフローチャートであり、プログラム実行装置毎時刻情報108を基に時刻毎に各アドレス範囲のアクセス数(即ち競合数)を計算し、アクセス先毎情報110へ格納するための動作を示す。図10は、図1に示すアクセス先毎情報110の構成を示す説明図である。アクセス先毎情報110は、時刻110a毎にアドレスID110bへのアクセス可能性があるアクセス回数110cと、各アドレスID110bへの最終アクセス時刻110dとを格納するテーブルである。例えば、時刻110a「1」のアドレスID110b「1」に格納されたアクセス回数110c「4」は、4つの実行装置からアクセス可能性があることを示す。また、このアドレスID110bは、図4に示すアドレスID102bと対応している。
Next, details of the access destination
アクセス先毎情報作成部109は、図9に示すステップSTP21〜STP34からなる一連の時刻数分(K回)ループ処理で時刻110a毎に、ステップSTP22〜STP33のアドレスID数分(L回)ループ処理でアドレスID110b毎に格納するアクセス回数110cを作成する。
先ず、ステップSTP23のアクセス回数カウンタクリア処理では、アクセス先毎情報作成部109が、アクセス先毎情報110のアクセス回数110cをクリアする。
The access destination
First, in the access count counter clear process in step STP23, the access destination
ステップSTP24〜STP29のプログラム実行装置数個数分(I回)ループ処理では、アクセス先毎情報作成部109が、各プログラム実行装置からのアクセス有無を取得する。先ず、ステップSTP25のプログラムID取得処理では、アクセス先毎情報作成部109が、時刻数ループカウンタ値およびプログラム実行装置ループカウンタ値をキーとして、プログラム実行装置毎時刻情報108から当該時刻に実行している実行装置ID108aのプログラムID108bを取得する。
In the loop processing for the number of program execution devices in steps STP24 to STP29 (I times), the access destination
ステップSTP26のLD/ST回数取得処理では、アクセス先毎情報作成部109が、ステップSTP25で取得したプログラムID108bおよびアドレス範囲数ループカウンタ値をキーとして、プログラム毎処理性能DB105から該当するプログラムID105aのアドレス範囲105bのLD回数105cおよびST回数105dを取得する。
In the LD / ST number acquisition process in step STP26, the access destination
ステップSTP27のLD+ST回数比較処理では、アクセス先毎情報作成部109が、ステップSTP26で取得したLD回数105cおよびST回数105dの合計回数が1以上か否か判断する。1以上であれば実行装置のアクセス可能性があるため(ステップSTP27“!=0”)、続くステップSTP28のアクセス回数カウンタインクリメント処理にてアクセス先毎情報作成部109がアクセス回数をインクリメントする。合計回数が0であればアクセスの可能性はないので(ステップSTP27“==0”)、アクセス先毎情報作成部109はプログラム実行装置数個数分(I回)ループ処理を終了する。
In the LD + ST number comparison process in step STP27, the access destination
ステップSTP30のアクセス回数取得処理では、アクセス先毎情報作成部109が、時刻数ループカウンタ値およびアドレス範囲ループカウンタ値をキーとして、アクセス先毎情報110の該当する時刻数の当該アドレスIDへアクセス回数110cを格納する。
In the access count acquisition process at step STP30, the access destination
ステップSTP31のアクセス回数比較処理では、アクセス先毎情報作成部109が、ループ処理中のアドレスID110bのアクセス回数110cが「0」か「0以上(非0)」かを判定して、「0以上」であればアクセスがあると判断して、当該アドレスID110bの最終アクセス時刻110dへ時刻ループカウンタ値をセットする(ステップSTP32)。アクセス回数110cが「0」であればそのままアドレスID数分(L回)ループ処理を終了して、一連の処理を終了する。
In the access count comparison process at step STP31, the access destination
次に、繰返しプログラム実行時間導出部104のアクセス競合率算出部111の詳細を説明する。図11は、図1に示すアクセス競合率算出部111の動作を示すフローチャートであり、各プログラム実行装置に割り当てられたプログラムの実行時刻とアクセス数に基づいて、アドレス範囲毎のプログラム競合率を算出するための動作を示す。図12は、図1に示すアクセス競合情報114の構成を示す説明図である。アクセス競合情報114は、アドレスID114aおよび競合率114bを格納するテーブルである。
Next, details of the access contention
先ず、ステップSTP41の内部使用配列クリア処理では、アクセス競合率算出部111が、アクセス競合情報114の競合率114bをクリアする。
First, in the internal use array clear process in step STP41, the access contention
アクセス競合率算出部111は、ステップSTP42〜STP49からなる一連のアドレスID数分(L回)ループ処理では、競合率114bをアドレスID毎に算出するためにアドレスID数分のループ処理を行う。先ず、ステップSTP43のアクセス競合数クリア処理では、アクセス競合率算出部111が有するアドレスID毎のアクセス競合数をセットするための変数をクリアする。
In a series of address ID number (L times) loop processing including steps STP42 to STP49, the access contention
ステップSTP44〜STP47からなる時刻数分(K回)ループ処理では、アクセス競合率算出部111が、時刻毎のアクセス競合数を取得するためのループ処理を行う。先ずステップSTP45のアクセス回数取得処理では、アクセス競合率算出部111が、アドレス範囲ループカウンタ値および時刻ループカウンタ値をキーに用いて、アクセス先毎情報110から当該アドレスID110bおよび時刻110aのアクセス回数110cを取得する。ステップSTP46のアクセス競合数カウントアップ処理では、アクセス競合率算出部111が、ステップSTP45で取得したアクセス回数110cをアクセス競合数の変数へ加算する。
In the loop processing for the number of times (K times) consisting of steps STP44 to STP47, the access contention
時刻数分(K回)ループ処理終了後、ステップSTP48のアクセス競合率算出処理では、アクセス競合率算出部111がループ処理中のアドレス範囲の競合率を算出して、アクセス競合情報114の競合率114bへ格納する。この競合率は、変数としてカウントしてきた(アクセス競合数−1)/(最終アクセス時刻110d)とする。(アクセス競合数−1)とは、即ち当該アドレス範囲の全時刻のアクセス競合待ち回数であり、(最終アクセス時刻110d)とは、即ち当該アドレス範囲へ最後にアクセスがあった時刻である。
After the completion of the loop processing for several times (K times), in the access contention rate calculation process in step STP48, the access contention
次に、繰返しプログラム実行時間導出部104の処理時間算出部106の詳細を説明する。図13は、図1に示す処理時間算出部106の動作を示すフローチャートである。図14は、図1に示すハードウェア仕様パラメータ113の構成を示す説明図である。ハードウェア仕様パラメータ113は、プログラム実行装置毎に、実行装置から各アドレスID113aのLD時間113bおよびST時間113cと、そのアドレスIDへアクセスするときに発生する競合待ち時間113dとを格納するテーブルである。このテーブルには、LD時間113bおよびST時間113cとして、ハードウェア仕様情報から取得した規定値を設定し、競合待ち時間113dとして、2つのアクセスが同時に発生してアクセス待ちとなる規定時間を設定しておく。
Next, details of the processing
処理時間算出部106の動作を、図3のプログラム毎処理性能DB105、図12のアクセス競合情報114および図14のハードウェア仕様パラメータ113を用いて説明する。処理時間算出部106は、ステップSTP51〜STP57からなる一連のプログラム個数分(N回)ループ処理を、処理時間見積り対象のプログラム101の全個数分(N個)繰返して、各プログラムについて処理時間を算出する。先ず、ステップSTP52のアクセス時間クリア処理では、ループ処理中のプログラムのデバイスアクセス時間をクリアする。
The operation of the processing
続いて、処理時間算出部106は、ステップSTP53〜STP55からなるアドレスID数分(L回)ループ処理をアドレス範囲105bの全個数分(L個)繰返して、アドレス範囲105b毎のアクセス時間を算出する。ステップSTP54のアクセス時間算出処理では、処理時間算出部106がアドレスIDをキーに用いて、ハードウェア仕様パラメータ113からLD時間113b、ST時間113cおよび競合待ち時間113dを取得し、アクセス競合情報114から競合率114bを取得し、プログラム毎処理性能DB105からLD回数105cとST回数105dを取得して、ループ処理中のアドレス範囲のアクセス時間を算出する。このアクセス時間は、{(LD回数105c×LD時間113b)+(ST回数105d×ST時間113c)+競合待ち時間113d}×競合率114bとする。
Subsequently, the processing
アドレスID数分(L回)ループ処理終了後、ステップSTP56のアクセス時間算出処理では、処理時間算出部106がアクセス時間と命令数の和をプログラムの実行時間として算出して、繰返しプログラム実行時間導出部104へ格納する。
After the loop processing for the number of address IDs (L times), in the access time calculation processing in step STP56, the processing
次に、処理時間見積り装置がプログラム処理時間を算出するための全体動作を、図1〜図15を用いて説明する。初めに、オフラインでプログラム解析部103がプログラム101を解析し、プログラム毎のLD/ST回数およびLD/STのアドレス範囲を抽出してプログラム毎処理性能DB105へ格納する。
処理時間繰返し算出部112は、図12に示すようなアドレス範囲毎の前回競合率と今回競合率を比較して、ステップSTP61〜STP66からなるループ処理を繰返すか否かの判定を行う。処理時間繰返し算出部112は前回競合率と今回競合率とに差があればこの差を誤差と判断して、再度プログラム実行時間を算出し直し、前回競合率と今回競合率とが一致すれば誤差なしと判断してその時の実行時間をプログラム処理時間に決定して、処理を終了する。なお、本処理では、実行開始時は前回競合率がないため、最小2回はループ内処理を実行する。
Next, the overall operation for the processing time estimation device to calculate the program processing time will be described with reference to FIGS. First, the
The processing time repetition calculation unit 112 compares the previous competition rate and the current competition rate for each address range as shown in FIG. 12, and determines whether or not to repeat the loop process composed of steps STP61 to STP66. If there is a difference between the previous competition rate and the current competition rate, the processing time repetition calculation unit 112 determines this difference as an error, recalculates the program execution time, and if the previous competition rate and the current competition rate match. It is determined that there is no error, the execution time at that time is determined as the program processing time, and the process is terminated. In this process, since there is no previous competition rate at the start of execution, the in-loop process is executed at least twice.
ループ処理を行う場合、ステップSTP62において、処理時間算出部106が図13に示す処理時間算出処理を行う。具体的には、上述のように処理時間算出部106が、アドレスID毎に計算したアクセス時間を用いて各プログラムの実行時間を算出して、プログラム毎処理性能DB105へ格納する。
続いて、ステップSTP63において、プログラム動作タイミング作成部107が図6に示すプログラム動作タイミング作成処理を行う。具体的には、上述のようにプログラム動作タイミング作成部107が、処理時間算出部106が算出した各プログラムの実行時間と、プログラム動作パラメータ115から取得した各プログラムの実行順序とから、各実行装置上で各プログラムが実行される時刻を算出して、プログラム実行装置毎時刻情報108へ格納する。
続いて、ステップSTP64において、アクセス先毎情報作成部109が図9に示すアクセス先毎情報作成処理を行う。具体的には、上述のようにアクセス先毎情報作成部109が、プログラム実行装置毎時刻情報108から時刻毎に各実行装置で実行するプログラム群の情報を取得し、時刻毎およびアドレスID(デバイス)毎にプログラム群からのアクセス回数を算出し、この回数を時刻毎の各デバイスへのアクセス競合数とする。
続いて、ステップSTP65において、アクセス競合率算出部111が図11に示すアクセス競合率算出処理を行う。具体的には、上述のようにアクセス競合率算出部111が、アクセス先毎情報110からデバイス毎のアクセス回数110cと最終アクセス時刻110dとを用いて、デバイス毎のアクセス競合平均回数と実行装置毎のプログラム実行時間の商から競合率を算出して、アクセス競合情報114へ格納する。
続いて、ステップSTP66において、処理時間繰返し算出部112が、今回のループ処理で算出した今回競合率と前回のループ処理で算出した前回競合率とを比較する。その結果、今回と前回の競合率が全てのアドレスIDにおいて同じであれば、処理時間繰返し算出部112はループ処理を終了させ、今回のループ処理で算出・格納されたプログラム毎処理性能DB105の実行時間105fを各プログラムの処理時間とする。
一方、ステップSTP66において、今回と前回の競合率が全てのアドレスIDにおいて同じでなければ、処理時間繰返し算出部112がステップSTP62で今回のループ処理で算出した競合率を利用して、各プログラムの実行時間を算出する処理を開始して、一連のループ処理を実行する。このループ処理は、前回と今回のループ処理で算出した競合率が同じになるまで繰返す。
When performing the loop processing, in step STP62, the processing
Subsequently, in step STP63, the program operation
Subsequently, in step STP64, the access destination
Subsequently, in step STP65, the access contention
Subsequently, in step STP66, the processing time repetition calculation unit 112 compares the current competition rate calculated in the current loop process with the previous competition rate calculated in the previous loop process. As a result, if the current and previous competition rates are the same for all address IDs, the processing time repetition calculation unit 112 ends the loop processing and executes the per-program
On the other hand, in step STP66, if the current and previous competition rates are not the same for all address IDs, the processing time repetition calculation unit 112 uses the competition rate calculated in the current loop processing in step STP62, and uses the contention rate of each program. A process for calculating the execution time is started and a series of loop processes are executed. This loop processing is repeated until the competition rate calculated in the previous and current loop processing is the same.
例えば、初回のループ処理実行時は前回競合率がないため、繰返しプログラム実行時間導出部104の各部は前回競合率に「0」を用いて初回のステップSTP61〜STP66を行って、競合率「A」を算出する。2回目のループ処理実行時は、初回に算出した競合率「A」×アクセス時間をプログラム実行時間に加算するため、新たな競合ポイントが発生し、今回競合率が「B」となる。2回目のループ処理実行時に、初回の競合率「A」と2回目の競合率「B」を比較し、同一であれば収束したと判断して処理終了となるが、同一でなければ2回目の競合率「B」を利用して競合率「B」×アクセス時間をプログラム実行時間として競合率「C」を計算することとなる。
For example, since there is no previous competition rate when the loop processing is executed for the first time, each unit of the repetitive program execution
以上のように、実施の形態1によれば、処理時間見積り装置を、プログラム101を構成するN個の一部プログラム毎に、各デバイスへのアクセスについてのアドレス範囲105b毎のLD回数105c、ST回数105d、および命令数105eを抽出してプログラム毎処理性能DB105とするプログラム解析部103と、プログラム解析部103が抽出した命令数105eと、各一部プログラムを実行する各プログラム実行装置から各デバイスへのLD/ST時間の情報であるハードウェア仕様パラメータ113と、各デバイスへのアクセス時の競合率の情報であるアクセス競合情報114とから、各一部プログラムの実行時間105fを算出する処理時間算出部106と、各一部プログラムと各一部プログラムを実行するプログラム実行装置との対応付けおよび実行順序を示すプログラム動作パラメータ115と、処理時間算出部106が算出した各一部プログラムの実行時間105fとから、各一部プログラムの実行時刻を算出してプログラム実行装置毎時刻情報108を作成するプログラム動作タイミング作成部107と、プログラム動作タイミング作成部107が算出したプログラム実行装置毎の各一部プログラムの実行時刻と、プログラム解析部103が抽出したプログラム毎処理性能DB105の情報とから、時刻毎の各デバイスのアクセス競合数を算出してアクセス先毎情報110を作成するアクセス先毎情報作成部109と、アクセス先毎情報作成部109が算出したアクセス先毎情報110から、各デバイスの競合率を算出してアクセス競合情報114として処理時間算出部106へ出力するアクセス競合率算出部111とを備えるように構成した。このため、オフラインで解析したプログラム固有の情報とハードウェアのパラメータからプログラムを実行またはシミュレーションすることなくアクセス競合の見積りを行って、高速にプログラムの処理時間(実行時間105f)を算出することができる。
As described above, according to the first embodiment, the processing time estimation apparatus performs the LD count 105c for each address range 105b for access to each device for each of N partial programs constituting the program 101, ST The program analysis unit 103 that extracts the number of times 105d and the number of instructions 105e to obtain the per-program processing performance DB 105, the number of instructions 105e extracted by the program analysis unit 103, and each device from each program execution device that executes each partial program Processing time for calculating the execution time 105f of each partial program from the hardware specification parameter 113 that is information on the LD / ST time to the device and the access contention information 114 that is information on the contention rate when accessing each device Calculation unit 106, each partial program, and program for executing each partial program The program execution device calculates the execution time of each partial program from the program operation parameter 115 indicating the association with the row device and the execution order and the execution time 105f of each partial program calculated by the processing time calculation unit 106 A program operation timing creation unit 107 that creates hourly information 108, an execution time of each partial program for each program execution device calculated by the program operation timing creation unit 107, and a per-program processing performance DB 105 extracted by the program analysis unit 103 Information for each access destination is generated by calculating the number of access conflicts of each device for each time and the information for each access destination 110 calculated by the information generation unit for each access destination 109. From the contention rate of each device, the
また、実施の形態1によれば、処理時間算出部106が実行時間105fの算出に用いた前回競合率と、この前回競合率を利用して算出された今回競合率とを比較して、一致していなければ当該今回競合率を前回競合率として利用して処理時間算出部106、プログラム動作タイミング作成部107、アクセス先毎情報作成部109およびアクセス競合率算出部111に繰返し処理を行わせて新たな今回競合率を算出させ、一致していれば当該今回競合率算出の過程で算出された実行時間105fをプログラム101の処理時間として出力する処理時間繰返し算出部112を備えるように構成した。このため、前回競合率と今回競合率が一致したときの実行時間105fをプログラム101の処理時間とすることで、高精度な処理時間の見積りを行うことができる。
Further, according to the first embodiment, the processing
実施の形態2.
上記実施の形態1では、処理時間繰返し算出部112が算出した前回競合率と今回競合率とが一致した場合に、繰返しプログラム実行時間導出部104の一連の処理を終了するように構成したが、本実施の形態では、前回競合率と今回競合率の差が競合率計算終了パラメータより小さい場合に、許容範囲内の誤差と判断して一連の処理を終了するように構成する。なお、本実施の形態の処理時間見積り装置は、図1に示す上記実施の形態1の処理時間見積り装置と図面上では同様の構成であるため、以下では図1を援用して説明すると共に、同一の部分については説明を省略する。
In the first embodiment, when the previous competition rate calculated by the processing time repetition calculation unit 112 matches the current competition rate, the series of processes of the repeated program execution
図16は、この発明の実施の形態2に係る処理時間見積り装置の、繰返しプログラム実行時間導出部104の動作を示すフローチャートである。
処理時間繰返し算出部112は、前回競合率と今回競合率との差を競合率計算終了パラメータと比較して、ステップSTP61a〜STP66aからなるループ処理を繰返すか否かの判定を行う。なお、本処理では、上記実施の形態1と同様に、実行開始時は前回競合率がないため、最小2回はループ内処理を実行する。
処理時間繰返し算出部112は、アクセス競合率算出部111が算出したアドレスID毎の競合率と、前回ループ処理で算出した競合率との誤差が競合率計算終了パラメータ以上の場合に続くステップSTP62〜STP65の処理を行い、誤差が競合率計算終了パラメータより小さい場合に処理を終了する。ステップSTP62〜STP65については、図15と同様であるため説明を省略する。
FIG. 16 is a flowchart showing the operation of the repetitive program execution
The processing time repetition calculation unit 112 compares the difference between the previous competition rate and the current competition rate with the competition rate calculation end parameter, and determines whether or not to repeat the loop process including steps STP61a to STP66a. In this process, as in the first embodiment, since there is no previous competition rate at the start of execution, the in-loop process is executed at least twice.
The processing time repetition calculation unit 112 performs steps STP62 to STP62 when the error between the contention rate for each address ID calculated by the access contention
以上より、実施の形態2によれば、処理時間繰返し算出部112を、処理時間算出部106が実行時間105fの算出に用いた前回競合率と、この前回競合率を利用して算出された今回競合率とを比較して、その差分が、競合率計算終了パラメータより大きければ当該今回競合率を前回競合率として利用して処理時間算出部106、プログラム動作タイミング作成部107、アクセス先毎情報作成部109およびアクセス競合率算出部111に繰返し処理を行わせて新たな今回競合率を算出させ、競合率計算終了パラメータ以下であれば当該今回競合率算出の過程で算出された実行時間105fをプログラム101の処理時間として出力するように構成した。このため、前回競合率と今回競合率の差分が競合率計算終了パラメータ以下になったときの実行時間105fをプログラム101の処理時間とすることで、上記実施の形態1より高速に処理時間の見積りを行うことができる。
As described above, according to the second embodiment, the processing time repetition calculation unit 112 is calculated using the previous competition rate used by the processing
実施の形態3.
本実施の形態3では、上記実施の形態1,2により作成したプログラム毎処理性能DB105およびプログラム動作パラメータ115を用いて、実行装置毎のプログラム実行終了時刻を算出し、最も終了時刻が遅い実行装置のプログラム実行時間、即ち最悪実行時間を導出する動作周期算出部を備える。なお、本実施の形態の処理時間見積り装置は、動作周期算出部を追加する以外、図1に示す上記実施の形態1の処理時間見積り装置と図面上では同様の構成であるため、以下では図1を援用して説明すると共に、同一の部分については説明を省略する。
In the third embodiment, the program execution end time for each execution device is calculated using the per-program
図17は、この発明の実施の形態3に係る処理時間見積り装置の、動作周期算出部の動作を示すフローチャートである。なお、動作周期算出部が図17に示す処理を開始する以前に、繰返しプログラム実行時間導出部104の各部による一連の処理が終了し、プログラム毎処理性能DB105に処理時間算出部106が算出した最終的な処理時間が実行時間105fに格納されているものとする。
FIG. 17 is a flowchart showing the operation of the operation cycle calculation unit of the processing time estimation apparatus according to
ステップSTP71〜STP80のプログラム実行装置数分(I回)ループ処理では、動作周期算出部が、プログラム実行装置毎にプログラム実行時間の合計を計算する。先ず、ステップSTP72の変数クリア処理では、動作周期算出部が、プログラム実行装置毎の処理時間の積算値を格納する変数である応答時間と、最も積算値が大きい応答時間を格納する変数である動作周期をクリアする。
続くステップSTP73のプログラムID取得処理では、動作周期算出部が、プログラム実行装置ループカウンタ値をキーに用いて、プログラム動作パラメータ115から当該実行装置ID115aで動作する全てのプログラムID115bを取得する。
In the loop processing for the number of program execution devices in steps STP71 to STP80 (I times), the operation cycle calculation unit calculates the total program execution time for each program execution device. First, in the variable clear process of step STP72, the operation cycle calculation unit is an operation that is a variable that stores a response time that is a variable that stores an integrated value of the processing time for each program execution device and a response time that has the largest integrated value Clear the cycle.
In the program ID acquisition process in the subsequent step STP73, the operation cycle calculation unit acquires all
ステップSTP74〜STP77の取得プログラムID数分ループ処理では、ステップSTP73で取得したプログラムID115bの個数分、ループ処理を行い、各プログラムIDの応答時間を算出する。先ず、ステップSTP75の実行時間取得処理で、動作周期算出部が、プログラムIDをキーに用いて、プログラム毎処理性能DB105から実行時間105fを取得する。続くステップSTP76の応答時間積算処理で、動作周期算出部が、ステップSTP75で取得した実行時間105fを応答時間の変数に加算して、応答時間を更新する。
In the loop processing for the number of acquired program IDs in steps STP74 to STP77, the loop processing is performed for the number of
ステップSTP78の動作周期・応答時間比較処理では、動作周期算出部が、動作周期とステップSTP74〜STP77で実行時間105fを積算して得た応答時間とを比較する。動作周期算出部は、動作周期より応答時間が大きければ(ステップSTP78“<”)、動作周期の変数を応答時間に置き換えて(ステップSTP79)、動作周期より応答時間が小さいか同じであれば(ステップSTP78“>=”)、そのままプログラム実行装置数分(I回)ループ処理を終了して、一連の動作周期算出処理を終了する。
In the operation cycle / response time comparison process in step STP78, the operation cycle calculation unit compares the operation cycle with the response time obtained by integrating the
以上より、実施の形態3によれば、処理時間算出部106が算出した各一部プログラムの実行時間105fと、各一部プログラムを実行するプログラム実行装置の実行順序を示すプログラム動作パラメータ115とから、プログラム実行装置毎の応答時間を算出し、当該応答時間から制御システムの動作可能周期を算出する動作周期算出部を備えるように構成した。このため、上記実施の形態1,2において処理時間算出部106が算出したプログラム毎の処理時間から、実行装置の動作周期を自動的に算出することができる。
As described above, according to the third embodiment, from the
また、上記実施の形態1〜3によれば、プログラム毎処理性能DB105、ハードウェア仕様パラメータ113、およびプログラム動作パラメータ115は、繰返し計算する必要がなく、最初に一度値を作成すればその後の繰返し処理時に流用することができ、演算量を軽減できる。
Further, according to the first to third embodiments, the per-program
なお、上記実施の形態1〜3の処理時間見積り装置をコンピュータで構成する場合、プログラム解析部103および繰返しプログラム実行時間導出部104各部の処理内容を記述している処理時間見積りプログラムをコンピュータのメモリに格納し、コンピュータのCPUがメモリに格納されているこのプログラムを実行するようにしてもよい。
When the processing time estimation devices of the first to third embodiments are configured by a computer, the processing time estimation program describing the processing contents of the
101 プログラム、102 アドレス範囲情報、102a アドレス範囲、102b アドレスID、103 プログラム解析部、104 繰返しプログラム実行時間導出部、105 プログラム毎処理性能DB、105a プログラムID、105b アドレス範囲、105c LD回数、105d ST回数、105e 命令数、105d 実行時間、106 処理時間算出部、107 プログラム動作タイミング作成部、108 プログラム実行装置毎時刻情報、108a 実行装置ID、108b プログラムIDとその実行時間、109 アクセス先毎情報作成部、110 アクセス先毎情報、110a 時刻、110b アドレスID、110c アクセス回数、110d 最終アクセス時刻、111 アクセス競合率算出部、112 処理時間繰返し算出部、113 ハードウェア仕様パラメータ、113a アドレスID、113b LD時間、113c ST時間、 113d 競合待ち時間、114 アクセス競合情報、114a アドレスID、114b 競合率、115 プログラム動作パラメータ、115a 実行装置ID、115b プログラムID、116 命令サイクルテーブル、116a 命令、 116b サイクル数。
101 program, 102 address range information, 102a address range, 102b address ID, 103 program analysis unit, 104 repetitive program execution time deriving unit, 105 program performance DB, 105a program ID, 105b address range, 105c LD count, 105d ST Number of times, 105e Number of instructions, 105d Execution time, 106 Processing time calculation unit, 107 Program operation timing creation unit, 108 Program execution device time information, 108a Execution device ID, 108b Program ID and its execution time, 109 Access
Claims (5)
前記プログラムを構成する複数の一部プログラム毎に、各デバイスへのアクセスについての入力アドレスと出力アドレス、その入力回数と出力回数、および発行命令数を抽出するプログラム解析部と、
前記プログラム解析部が抽出した発行命令数と、前記各一部プログラムを実行する各プログラム実行装置から前記各デバイスへのアクセス時間の情報と、前記各デバイスへのアクセス時の前回競合率の情報とから、前記各一部プログラムの実行時間を算出する処理時間算出部と、
前記各一部プログラムと各一部プログラムを実行するプログラム実行装置との対応付けおよび実行順序を示すプログラム動作パラメータと、前記処理時間算出部が算出した前記各一部プログラムの実行時間とから、前記各一部プログラムの実行時刻を算出するプログラム動作タイミング作成部と、
前記プログラム動作タイミング作成部が算出したプログラム実行装置毎の前記各一部プログラムの実行時刻と、前記プログラム解析部が抽出した前記各一部プログラムの前記各デバイスへのアクセスの情報とから、時刻毎の前記各デバイスのアクセス競合数を算出するアクセス先毎情報作成部と、
前記アクセス先毎情報作成部が算出した時刻毎の前記各デバイスのアクセス競合数から、前記各デバイスの今回競合率を算出し、当該今回競合率を前回競合率として前記処理時間算出部へ出力するアクセス競合率算出部とを備えることを特徴とする処理時間見積り装置。 A processing time estimation device for estimating the processing time of a program operating on a control system having a plurality of program execution devices,
For each of a plurality of partial programs constituting the program, a program analysis unit that extracts an input address and an output address for accessing each device, an input count and an output count, and an issued instruction count;
The number of issued instructions extracted by the program analysis unit, information on the access time to each device from each program execution device that executes each partial program, and information on the previous contention rate when accessing each device, From the processing time calculation unit for calculating the execution time of each partial program,
Correspondence between each partial program and a program execution device that executes each partial program and a program operation parameter indicating an execution order, and an execution time of each partial program calculated by the processing time calculation unit, A program operation timing creation unit for calculating the execution time of each partial program;
From the execution time of each partial program for each program execution device calculated by the program operation timing creation unit and the access information to each device of each partial program extracted by the program analysis unit, for each time An access destination information creation unit that calculates the number of access conflicts of each of the devices,
The current competition rate of each device is calculated from the number of access competitions of each device for each time calculated by the access destination information creation unit, and the current competition rate is output to the processing time calculation unit as the previous competition rate. A processing time estimation device comprising: an access contention rate calculation unit.
コンピュータを、前記プログラムを構成する複数の一部プログラム毎に、各デバイスへのアクセスについての入力アドレスと出力アドレス、その入力回数と出力回数、および発行命令数を抽出するプログラム解析手段と、
前記プログラム解析手段が抽出した発行命令数と、前記各一部プログラムを実行する各プログラム実行装置から前記各デバイスへのアクセス時間の情報と、前記各デバイスへのアクセス時の前回競合率の情報とから、前記各一部プログラムの実行時間を算出する処理時間算出手段と、
前記各一部プログラムと各一部プログラムを実行するプログラム実行装置との対応付けおよび実行順序を示すプログラム動作パラメータと、前記処理時間算出手段が算出した前記各一部プログラムの実行時間とから、前記各一部プログラムの実行時刻を算出するプログラム動作タイミング作成手段と、
前記プログラム動作タイミング作成手段が算出したプログラム実行装置毎の前記各一部プログラムの実行時刻と、前記プログラム解析手段が抽出した前記各一部プログラムの前記各デバイスへのアクセスの情報とから、時刻毎の前記各デバイスのアクセス競合数を算出するアクセス先毎情報作成手段と、
前記アクセス先毎情報作成手段が算出した時刻毎の前記各デバイスのアクセス競合数から、前記各デバイスの今回競合率を算出し、当該今回競合率を前回競合率として前記処理時間算出手段へ出力するアクセス競合率算出手段と、
前記処理時間算出手段が実行時間の算出に用いた前回競合率と、この前回競合率を利用して算出された今回競合率とを比較して、一致していなければ当該今回競合率を前回競合率として利用して新たな今回競合率を算出させ、一致していれば当該今回競合率算出の過程で算出された実行時間を前記プログラムの処理時間として出力する処理時間繰返し算出手段として機能させるための処理時間見積りプログラム。 A processing time estimation program for estimating the processing time of a program operating on a control system having a plurality of program execution devices,
A program analyzing means for extracting, for each of a plurality of partial programs constituting the program, an input address and an output address for accessing each device, an input count and an output count, and an issued instruction count;
The number of issued instructions extracted by the program analysis means, information on the access time to each device from each program execution device that executes each partial program, and information on the previous contention rate when accessing each device, From the processing time calculation means for calculating the execution time of each partial program,
Correspondence between each partial program and a program execution device that executes each partial program and a program operation parameter indicating an execution order, and an execution time of each partial program calculated by the processing time calculation unit, Program operation timing creation means for calculating the execution time of each partial program;
From the execution time of each partial program for each program execution device calculated by the program operation timing creation means and the access information to each device of each partial program extracted by the program analysis means, for each time Access destination information creation means for calculating the number of access conflicts of each of the devices,
The current competition rate of each device is calculated from the number of access competitions of each device for each time calculated by the access destination information creation unit, and the current competition rate is output to the processing time calculation unit as the previous competition rate. Access competition rate calculation means,
The previous competition rate used for calculating the execution time by the processing time calculation means is compared with the current competition rate calculated by using the previous competition rate. In order to function as a processing time iterative calculation means for outputting the execution time calculated in the process of calculating the current competition rate as the processing time of the program if a new current competition rate is calculated using the rate Processing time estimation program.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009138271A JP5153724B2 (en) | 2009-06-09 | 2009-06-09 | Processing time estimation device and processing time estimation program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009138271A JP5153724B2 (en) | 2009-06-09 | 2009-06-09 | Processing time estimation device and processing time estimation program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010286892A JP2010286892A (en) | 2010-12-24 |
JP5153724B2 true JP5153724B2 (en) | 2013-02-27 |
Family
ID=43542571
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009138271A Active JP5153724B2 (en) | 2009-06-09 | 2009-06-09 | Processing time estimation device and processing time estimation program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5153724B2 (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5153904B2 (en) | 2010-09-22 | 2013-02-27 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Program operation estimation method and program |
JP5589748B2 (en) * | 2010-10-15 | 2014-09-17 | 新日鐵住金株式会社 | Program diagnostic apparatus and program diagnostic method |
JP6045986B2 (en) * | 2013-06-27 | 2016-12-14 | 富士電機株式会社 | Software development support apparatus, software development support method, and software development support program |
CN116882335B (en) * | 2023-09-06 | 2023-12-22 | 上海芯存天下电子科技有限公司 | Operation time simulation acquisition method and device, electronic equipment and storage medium |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05108369A (en) * | 1991-10-18 | 1993-04-30 | Nec Software Kansai Ltd | System for managing program area resident priority |
JPH06259245A (en) * | 1993-03-05 | 1994-09-16 | Hitachi Ltd | Instrument and method for measuring performance of program |
JPH096646A (en) * | 1995-06-14 | 1997-01-10 | Oki Electric Ind Co Ltd | Program simulation device |
JPH09167003A (en) * | 1995-12-14 | 1997-06-24 | Nissan Motor Co Ltd | Operation device for operation confirmation |
JPH11163899A (en) * | 1997-11-25 | 1999-06-18 | Hitachi Ltd | Communication control method |
JP2000242529A (en) * | 1999-02-23 | 2000-09-08 | Matsushita Electric Ind Co Ltd | Device and system for assisting program development and recording medium |
JP2007299212A (en) * | 2006-04-28 | 2007-11-15 | Fujitsu Ten Ltd | Apparatus and method for evaluating porting of software |
-
2009
- 2009-06-09 JP JP2009138271A patent/JP5153724B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2010286892A (en) | 2010-12-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20170228645A1 (en) | Accelerating deep neural network training with inconsistent stochastic gradient descent | |
David et al. | On time with minimal expected cost! | |
EP1835426A1 (en) | Estimating software power consumption | |
Ballarini et al. | COSMOS: a statistical model checker for the hybrid automata stochastic logic | |
US20060130029A1 (en) | Programming language model generating apparatus for hardware verification, programming language model generating method for hardware verification, computer system, hardware simulation method, control program and computer-readable storage medium | |
JP5153724B2 (en) | Processing time estimation device and processing time estimation program | |
Aspnes et al. | Approximate shared-memory counting despite a strong adversary | |
CN116362168B (en) | Modeling method and device for GPGPU offline clock and storage medium | |
US10564992B2 (en) | Simulation apparatus and storage medium | |
CN114428748B (en) | Simulation test method and system for real service scene | |
CN108875810B (en) | Method and device for sampling negative examples from word frequency table aiming at training corpus | |
CN102520984B (en) | Computing method for worst time of object software in specified hardware environment | |
CN108845927B (en) | Test case screening method and device | |
US20080244583A1 (en) | Conflicting sub-process identification method, apparatus and computer program | |
CN107769987B (en) | Message forwarding performance evaluation method and device | |
CN116204396A (en) | Test method and device for performance of analytical database | |
CN108008999B (en) | Index evaluation method and device | |
Wolf et al. | Execution cost interval refinement in static software analysis | |
CN113254084B (en) | Time and time sequence calibration method and device based on processor pipeline analysis | |
Paulin et al. | Method for Constructing the Model of Computing Processbased on Petri net | |
CN114239445A (en) | Signal acquisition method and chip verification platform | |
RU2679225C2 (en) | Method and device for ascertaining gradient of data-based function model | |
US20070010982A1 (en) | Automatic time warp for electronic system simulation | |
CN108664368B (en) | Processor performance index evaluation method and device | |
Nozdrzykowski et al. | Testing the significance of parameters of models estimating execution time of parallel program loops according to the Open MPI Standard |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20111011 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20121030 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20121106 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20121204 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20151214 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5153724 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |