JP5601236B2 - Information extraction program, information extraction method, and information extraction apparatus - Google Patents

Information extraction program, information extraction method, and information extraction apparatus Download PDF

Info

Publication number
JP5601236B2
JP5601236B2 JP2011027948A JP2011027948A JP5601236B2 JP 5601236 B2 JP5601236 B2 JP 5601236B2 JP 2011027948 A JP2011027948 A JP 2011027948A JP 2011027948 A JP2011027948 A JP 2011027948A JP 5601236 B2 JP5601236 B2 JP 5601236B2
Authority
JP
Japan
Prior art keywords
function
clock frequency
program
executed
detection
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
Application number
JP2011027948A
Other languages
Japanese (ja)
Other versions
JP2012168660A (en
Inventor
真弘 三輪
彰 成瀬
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 JP2011027948A priority Critical patent/JP5601236B2/en
Publication of JP2012168660A publication Critical patent/JP2012168660A/en
Application granted granted Critical
Publication of JP5601236B2 publication Critical patent/JP5601236B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、アプリケーションプログラムから情報を抽出する情報抽出プログラム、情報抽出方法、および情報抽出装置に関する。   The present invention relates to an information extraction program, an information extraction method, and an information extraction apparatus that extract information from an application program.

近年、情報機器の分野において、バッテリ持続時間を延長する観点、環境保全の観点、情報機器の発熱を抑えて信頼性を向上させる観点から、情報機器の省電力化が図られている。   In recent years, in the field of information equipment, power saving of information equipment has been attempted from the viewpoint of extending battery duration, from the viewpoint of environmental protection, and from the viewpoint of improving reliability by suppressing heat generation of the information equipment.

情報機器のCPU(Central Processing Unit)の消費電力はクロック周波数を高くするにつれ増大するため、情報機器のCPUのクロック周波数を低くすれば省電力化が可能である。しかしながら、クロック周波数を低くするとクロック周波数に律速される情報機器のパフォーマンスが低下してしまう。   Since the power consumption of a CPU (Central Processing Unit) of an information device increases as the clock frequency is increased, power saving can be achieved by lowering the clock frequency of the CPU of the information device. However, when the clock frequency is lowered, the performance of the information equipment that is rate-controlled by the clock frequency is lowered.

ここで、CPUで実行されるアプリケーションプログラム(以下、単に「プログラム」という)は関数群から構成され、関数ごとにクロック周波数に律速される度合い(CPUクロック周波数依存度、以下、単に「依存度」という)が異なる。従って、クロック周波数に律速される関数(依存度の高い関数)は高いクロック周波数で実行し、クロック周波数に律速されない関数(依存度の低い関数)は低いクロック周波数で実行すれば、情報機器のパフォーマンスを低下させずに省電力化できる。   Here, an application program (hereinafter simply referred to as “program”) executed by the CPU is composed of a group of functions, and the degree of rate-determining the clock frequency for each function (CPU clock frequency dependency, hereinafter simply “dependency”). Is different). Therefore, if a function that is rate-determined by the clock frequency (a highly dependent function) is executed at a high clock frequency and a function that is not rate-determined by a clock frequency (a function that has a low dependency) is executed at a low clock frequency, the performance of the information device It is possible to save power without lowering.

従来、依存度算出の技術として、プログラムのソースコード内の各関数の前後に関数の実行時間を算出する命令を書き込んでおき、CPUのクロック周波数を変更したときの実行時間の変化の割合を調べて、依存度として算出する技術がある(例えば、下記非特許文献1参照)。   Conventionally, as a dependency calculation technique, an instruction for calculating the execution time of a function is written before and after each function in the program source code, and the change rate of the execution time when the CPU clock frequency is changed is examined. Thus, there is a technique for calculating the degree of dependence (see, for example, Non-Patent Document 1 below).

堀田 義彦, 佐藤 三久, 木村 英明, 松岡 聡, 朴 泰祐, 高橋 大介,“PCクラスタにおける電力実行プロファイル情報を用いたDVS制御による電力性能の最適化”,情報処理学会論文誌 コンピューティングシステム, Vol.47, No.SIG12(ACS 15), pp. 272−284, (2006).Yoshihiko Hotta, Mikuhisa Sato, Hideaki Kimura, Satoshi Matsuoka, Taisuke Park, Daisuke Takahashi, “Optimization of Power Performance by DVS Control Using Power Execution Profile Information in PC Clusters”, IPSJ Transactions Computing System, Vol . 47, no. SIG12 (ACS 15), pp. 272-284 (2006).

しかしながら、上述した従来技術では、ソースコードに命令を書き込む必要があるため、ソースコードに手を加えられないプログラムには適用できず、依存度を算出できないという問題があった。ソースコードに手を加えられないプログラムとは、例えば、他者による改変を防ぐためにバイナリ形式で提供されているプログラムである。   However, the above-described conventional technique has a problem in that since it is necessary to write an instruction in the source code, it cannot be applied to a program in which the source code cannot be modified, and the dependency cannot be calculated. A program whose source code cannot be modified is, for example, a program provided in a binary format in order to prevent modification by others.

従って、従来では、プログラム内の関数の依存度が分からず、関数ごとにクロック周波数を変更できないため、一様なクロック周波数でプログラム全体を実行していた。   Therefore, conventionally, the dependence of the functions in the program is not known, and the clock frequency cannot be changed for each function, so the entire program is executed at a uniform clock frequency.

そのため、例えば、低いクロック周波数で実行してもパフォーマンスが下がらない関数がプログラム内に存在するにもかかわらず、一様に高いクロック周波数でプログラム全体を実行してしまい消費電力が多くなるという問題があった。また、例えば、高いクロック周波数で実行しなければパフォーマンスが下がる関数がプログラム内に存在するにもかかわらず、一様に低いクロック周波数でプログラム全体を実行してしまいパフォーマンスが悪くなるという問題があった。   Therefore, for example, even though there are functions in the program that do not decrease in performance even when executed at a low clock frequency, there is a problem that the entire program is executed uniformly at a high clock frequency and power consumption increases. there were. In addition, for example, there is a problem in that the entire program is executed at a low clock frequency and the performance deteriorates even though there is a function in the program that does not perform at a high clock frequency. .

1つの側面では、本発明は、アプリケーションプログラム内の関数ごとにクロック周波数の変化による実行時間の変化の度合い(依存度)を特定することができる情報抽出プログラム、情報抽出方法、および情報抽出装置を提供することを目的とする。   In one aspect, the present invention provides an information extraction program, an information extraction method, and an information extraction device that can specify the degree of change (dependency) in execution time due to a change in clock frequency for each function in an application program. The purpose is to provide.

1つの案では、第1のクロック周波数で動作中のプロセッサによるプログラムの実行中において、所定時間ごとにプログラム内の関数群のうちの実行中の関数を検出し、第1のクロック周波数とは異なる第2のクロック周波数で動作中のプロセッサによるプログラムの実行中において、所定時間ごとに関数群のうちの実行中の関数を検出し、関数群のうちのいずれかの関数について、該関数の第1の検出回数を計測し、該関数の第2の検出回数を計測し、第1の検出回数から第2の検出回数への変化量に基づいて、クロック周波数の変化による該関数の実行時間の変化の度合いを示す依存度を算出し、算出された依存度を出力する情報抽出プログラム、情報抽出方法、および情報抽出装置を用いる。   In one proposal, during execution of a program by a processor operating at a first clock frequency, a function being executed is detected from a group of functions in the program every predetermined time, and is different from the first clock frequency. During execution of the program by the processor operating at the second clock frequency, a function being executed in the function group is detected every predetermined time, and the first function of the function is detected for any function in the function group. The number of detections of the function is measured, the second number of detections of the function is measured, and the change in the execution time of the function due to the change in the clock frequency is based on the amount of change from the first number of detections to the second number of detections An information extraction program, an information extraction method, and an information extraction device that calculate a dependency indicating the degree of the error and output the calculated dependency are used.

本発明にかかる情報抽出プログラム、情報抽出方法、および情報抽出装置によれば、アプリケーションプログラム内の関数ごとにクロック周波数の変化による実行時間の変化の度合い(依存度)を特定することができる。   According to the information extraction program, the information extraction method, and the information extraction apparatus according to the present invention, it is possible to specify the degree of change (dependency) in the execution time due to the change in the clock frequency for each function in the application program.

図1は、関数のクロック周波数依存度の算出の内容を示す説明図である。FIG. 1 is an explanatory diagram showing the contents of calculation of the clock frequency dependency of a function. 図2は、情報抽出装置のハードウェア構成を示すブロック図である。FIG. 2 is a block diagram illustrating a hardware configuration of the information extraction device. 図3は、依存度テーブルの記憶内容を示す説明図である。FIG. 3 is an explanatory diagram showing the contents stored in the dependency table. 図4は、割当テーブルの記憶内容を示す説明図である。FIG. 4 is an explanatory diagram showing the contents stored in the allocation table. 図5は、アドレステーブルの記憶内容を示す説明図である。FIG. 5 is an explanatory diagram showing the contents stored in the address table. 図6は、特定情報テーブルの記憶内容を示す説明図である。FIG. 6 is an explanatory diagram showing the stored contents of the specific information table. 図7は、プロファイルテーブルの記憶内容を示す説明図である。FIG. 7 is an explanatory diagram showing the contents stored in the profile table. 図8は、周波数候補テーブルの記憶内容を示す説明図である。FIG. 8 is an explanatory diagram showing the contents stored in the frequency candidate table. 図9は、情報抽出装置の機能的構成を示す機能ブロック図である。FIG. 9 is a functional block diagram showing a functional configuration of the information extraction device. 図10は、情報抽出装置による依存度の算出の内容を示す説明図である。FIG. 10 is an explanatory diagram showing details of calculation of dependency by the information extracting device. 図11は、特定情報の内容を示す説明図である。FIG. 11 is an explanatory diagram showing the contents of the specific information. 図12は、特定情報を用いてサンプリング回数を計測する具体例を示す説明図である。FIG. 12 is an explanatory diagram illustrating a specific example in which the number of samplings is measured using specific information. 図13は、プログラムの測定の内容を示す説明図である。FIG. 13 is an explanatory diagram showing the contents of program measurement. 図14は、関数実行時のクロック周波数の制御の内容を示す説明図である。FIG. 14 is an explanatory diagram showing the contents of clock frequency control during function execution. 図15は、依存度算出処理の詳細を示すフローチャートである。FIG. 15 is a flowchart showing details of the dependency degree calculation processing. 図16は、プログラム実行処理の詳細を示すフローチャートである。FIG. 16 is a flowchart showing details of the program execution process. 図17は、割当テーブル作成処理の詳細を示すフローチャートである。FIG. 17 is a flowchart showing details of the allocation table creation processing. 図18は、クロック周波数制御処理の詳細を示すフローチャートである。FIG. 18 is a flowchart showing details of the clock frequency control process.

以下に添付図面を参照して、本発明の実施の形態にかかる情報抽出プログラム、情報抽出方法、および情報抽出装置を詳細に説明する。   Hereinafter, an information extraction program, an information extraction method, and an information extraction device according to embodiments of the present invention will be described in detail with reference to the accompanying drawings.

(関数のクロック周波数依存度の算出の内容)
まず、図1を用いて関数のクロック周波数依存度の算出の内容を示す説明図について説明する。図1は、関数のクロック周波数依存度の算出の内容を示す説明図である。ここで、クロック周波数依存度とは、関数がCPU101のクロック周波数によってどの程度律速されるかを示す度合いであり、クロック周波数の変化による関数の実行時間(処理効率)の変化の度合いとして算出される。
(Content of calculation of clock frequency dependency of function)
First, an explanatory diagram showing the content of calculation of the clock frequency dependency of a function will be described with reference to FIG. FIG. 1 is an explanatory diagram showing the contents of calculation of the clock frequency dependency of a function. Here, the clock frequency dependency is a degree indicating how much the function is rate-controlled by the clock frequency of the CPU 101, and is calculated as a degree of change in the function execution time (processing efficiency) due to a change in the clock frequency. .

図1において、情報抽出装置100は、自装置のCPU101のクロック周波数を変更可能な装置である。例えば、CPU101のクロック周波数を変更可能な装置としては、サーバ、PC(Personal Computer)、携帯端末が挙げられる。   In FIG. 1, an information extraction apparatus 100 is an apparatus that can change the clock frequency of the CPU 101 of its own apparatus. For example, a device that can change the clock frequency of the CPU 101 includes a server, a PC (Personal Computer), and a portable terminal.

情報抽出装置100の主記憶装置102には、プログラムXが保持されている。プログラムXとは、依存度の算出対象となる関数を含むプログラムであって、プログラム実行時には、情報抽出装置100がCPU101のクロック周波数を制御することにより省電力化される対象となるプログラムである。ここでは、プログラムXは、例として関数Aおよび関数Bから構成されるプログラムであるとする。   A program X is stored in the main storage device 102 of the information extraction device 100. The program X is a program that includes a function whose dependency is to be calculated, and is a program that is subject to power saving when the information extraction apparatus 100 controls the clock frequency of the CPU 101 when the program is executed. Here, the program X is assumed to be a program composed of a function A and a function B as an example.

さらに、情報抽出装置100の記憶装置103には、閾値が記憶されている。閾値とは、関数の実行時に、低周波数のクロック周波数(以下、「低クロック周波数」という)でCPU101を動作させるか、高周波数のクロック周波数(以下、「高クロック周波数」という)でCPU101を動作させるかを判定する境界となる値である。この閾値は予め情報抽出装置100のユーザによって設定される。   Further, a threshold value is stored in the storage device 103 of the information extraction device 100. The threshold value refers to operating the CPU 101 at a low frequency clock frequency (hereinafter referred to as “low clock frequency”) or operating the CPU 101 at a high frequency clock frequency (hereinafter referred to as “high clock frequency”) when executing a function. It is a value that serves as a boundary for determining whether to execute. This threshold is set in advance by the user of the information extraction apparatus 100.

ただし、情報抽出装置100の記憶装置103には、閾値を記憶せずに、依存度に対応するCPU101のクロック周波数と依存度とを対応付けて保持するテーブル(以下、「周波数候補テーブル」という)を記憶してもよい。周波数候補テーブルでは、高クロック周波数と低クロック周波数だけではなく、依存度に合わせて複数のクロック周波数の候補を保持してもよい。   However, the storage device 103 of the information extraction device 100 does not store the threshold value but stores the clock frequency of the CPU 101 corresponding to the dependency and the dependency in association with each other (hereinafter referred to as “frequency candidate table”). May be stored. In the frequency candidate table, not only a high clock frequency and a low clock frequency but also a plurality of clock frequency candidates may be held according to the degree of dependence.

ここで、情報抽出装置100は、プログラムXのソースコードに変更を加えることなしに、プログラムXを構成する関数Aおよび関数Bのクロック周波数依存度を算出する。まず、情報抽出装置100は、CPU101を2種類のクロック周波数で動作させた場合のそれぞれの場合において、タイムベースサンプリングを用いて関数ごとの実行時間を計測する。   Here, the information extraction apparatus 100 calculates the clock frequency dependency of the function A and the function B constituting the program X without changing the source code of the program X. First, the information extraction apparatus 100 measures the execution time for each function using time-base sampling in each case where the CPU 101 is operated at two clock frequencies.

具体的には、タイムベースサンプリングでは、CPU101が実行している関数を特定する特定情報を所定時間間隔(以下、「サンプリング間隔」という)で取得することにより、実行中の関数を検出する(以下、「サンプリング」という)。そして、関数ごとに検出回数(以下、「サンプリング回数」という)を計測する。サンプリングは所定時間ごとに行われているため、サンプリング回数は、各関数の実行時間(または処理効率)を示す値として採用することができる。従って、情報抽出装置100は、関数ごとの実行時間を間接的に計測することができる。   Specifically, in time-base sampling, a function being executed is detected by acquiring specific information for specifying a function being executed by the CPU 101 at a predetermined time interval (hereinafter referred to as “sampling interval”) (hereinafter referred to as “the function being executed”). , "Sampling"). Then, the number of detections (hereinafter referred to as “sampling number”) is measured for each function. Since sampling is performed every predetermined time, the number of times of sampling can be adopted as a value indicating the execution time (or processing efficiency) of each function. Therefore, the information extraction apparatus 100 can indirectly measure the execution time for each function.

プログラムXを構成する関数Aおよび関数Bのクロック周波数依存度の算出では、情報抽出装置100は、まず任意の周波数1(以下、「サンプリング条件1」という)がCPU101のクロック周波数として設定されている状態において(1)プログラムXを実行する。プログラムXの実行後、情報抽出装置100は、(2)実行中の関数がプログラムX内のどの関数であるかを、所定時間間隔でサンプリングし、関数ごとにサンプリング回数を計測する。ここでは、関数Aは4回サンプリングされ、関数Bは2回サンプリングされたとする。   In calculating the clock frequency dependency of the functions A and B constituting the program X, the information extracting apparatus 100 first sets an arbitrary frequency 1 (hereinafter referred to as “sampling condition 1”) as the clock frequency of the CPU 101. In the state (1) Program X is executed. After the execution of the program X, the information extraction apparatus 100 (2) samples which function in the program X is being executed at a predetermined time interval, and measures the number of times of sampling for each function. Here, it is assumed that the function A is sampled four times and the function B is sampled twice.

次に、情報抽出装置100は、周波数1とは異なる値である周波数2(以下、「サンプリング条件2」という)へとCPU101のクロック周波数を変更した状態において(1)プログラムXを実行する。プログラムXの実行後、情報抽出装置100は、(2)実行中の関数がプログラムX内のどの関数であるかを所定時間間隔でサンプリングし、関数ごとにサンプリング回数を計測する。ここでは、関数Aは2回サンプリングされ、関数Bは2回サンプリングされたとする。   Next, the information extraction apparatus 100 executes (1) the program X in a state where the clock frequency of the CPU 101 is changed to a frequency 2 (hereinafter referred to as “sampling condition 2”) which is a value different from the frequency 1. After the execution of the program X, the information extraction apparatus 100 (2) samples which function in the program X is being executed at a predetermined time interval, and measures the number of times of sampling for each function. Here, it is assumed that the function A is sampled twice and the function B is sampled twice.

クロック周波数を変化させる前後でのサンプリング回数の変化量は、関数の実行時間(処理効率)の変化量を示している。従って、情報抽出装置100は、サンプリング回数の変化量に基づき、クロック周波数の変化による実行時間(処理効率)の変化の度合い(すなわち、上述したクロック周波数依存度、以下では単に「依存度」という)を関数ごとに算出することができる。これにより、情報抽出装置100は、ソースコードに手を加えることなしに依存度を算出することができる。   The amount of change in the number of samplings before and after changing the clock frequency indicates the amount of change in the execution time (processing efficiency) of the function. Therefore, the information extraction apparatus 100 determines the degree of change in the execution time (processing efficiency) due to the change in the clock frequency based on the amount of change in the number of samplings (that is, the above-described clock frequency dependency, hereinafter simply referred to as “dependency”). Can be calculated for each function. Thereby, the information extraction apparatus 100 can calculate the dependency without modifying the source code.

ここで、関数Aは、クロック周波数の変化前後でサンプリング回数が変化したため、依存度の高い関数であると分かる。詳細な算出式は後述するが、ここでは、仮に関数Aの依存度は100%であったとする。一方、関数Bは、クロック周波数の変化前後でサンプリング回数が変化しないため、依存度の低い関数であると分かる。詳細な算出式は後述するが、ここでは、仮に関数Bの依存度は0%であったとする。   Here, the function A is a highly dependent function because the number of samplings has changed before and after the change of the clock frequency. Although a detailed calculation formula will be described later, it is assumed here that the dependence of the function A is 100%. On the other hand, since the number of samplings does not change before and after the change of the clock frequency, the function B is understood to be a function with low dependency. Although a detailed calculation formula will be described later, it is assumed here that the dependency of the function B is 0%.

このように依存度を算出した情報抽出装置100は、(3)関数を実行する際にCPU101のクロック周波数として設定するべき周波数を、関数ごとに割り当てる。割り当てられる周波数は上述した閾値(または周波数候補テーブル)を参照して決定される。   Thus, the information extraction apparatus 100 which calculated the dependence degree allocates the frequency which should be set as a clock frequency of CPU101, for every function, when (3) a function is performed. The frequency to be assigned is determined with reference to the threshold value (or frequency candidate table) described above.

ここでは、図1に示すように閾値が50%であったとする。関数Aは閾値より大きい依存度の関数であるから、関数Aには高クロック周波数が割り当てられる。一方、関数Bは閾値以下の依存度の関数であるから、関数Bには低クロック周波数が割り当てられる。そして、情報抽出装置100は、各関数に割り当てられたクロック周波数(以下、「割当クロック周波数」という)を保持するテーブル(以下、「割当テーブル」という)として主記憶装置102に記憶する。   Here, it is assumed that the threshold is 50% as shown in FIG. Since the function A is a function having a dependency greater than the threshold value, a high clock frequency is assigned to the function A. On the other hand, since the function B is a function having a dependence degree equal to or lower than the threshold value, a low clock frequency is assigned to the function B. The information extraction apparatus 100 stores the clock frequency (hereinafter referred to as “allocation clock frequency”) assigned to each function in the main storage device 102 as a table (hereinafter referred to as “allocation table”).

その後、情報抽出装置100において、あらたにプログラムXを実行する際には、割当テーブルを参照して、実行中の関数に対応する割当クロック周波数へと、CPU101のクロック周波数を動的に変更させる。ここで、情報抽出装置100は、上述した特定情報を取得して実行中の関数を検出するため、ソースコード中の関数部分にクロック周波数を変更する命令を書き込まなくても、実行中の関数に対応したクロック周波数へとCPU101のクロック周波数を変更できる。   Thereafter, when the information extraction apparatus 100 newly executes the program X, the CPU 101 dynamically changes the clock frequency of the CPU 101 to the allocation clock frequency corresponding to the function being executed with reference to the allocation table. Here, since the information extraction apparatus 100 acquires the above-described specific information and detects the function being executed, the information extraction apparatus 100 can execute the function being executed without writing an instruction to change the clock frequency in the function portion of the source code. The clock frequency of the CPU 101 can be changed to a corresponding clock frequency.

このように、情報抽出装置100は、特定情報を取得することにより実行中の関数を検出し、実行中の関数に対応する割当クロック周波数へとCPU101のクロック周波数を変更する。これにより、情報抽出装置100は、プログラムのソースコードに手を加えることなしに、CPU101のクロック周波数を消費電力がより小さくなるクロック周波数へと動的に設定し、クロック周波数を低くすることによる性能の低下を抑えつつ、省電力化を図ることができる。   As described above, the information extraction apparatus 100 detects the function being executed by acquiring the specific information, and changes the clock frequency of the CPU 101 to the assigned clock frequency corresponding to the function being executed. As a result, the information extraction apparatus 100 dynamically sets the clock frequency of the CPU 101 to a clock frequency with lower power consumption without modifying the source code of the program, and performance by lowering the clock frequency. It is possible to save power while suppressing the decrease in the power consumption.

(情報抽出装置のハードウェア構成例)
次に、図2を用いて情報抽出装置のハードウェア構成例について説明する。
(Example of hardware configuration of information extraction device)
Next, a hardware configuration example of the information extraction apparatus will be described with reference to FIG.

図2は、情報抽出装置のハードウェア構成例を示すブロック図である。図2において、情報抽出装置100は、CPU(Central Processing Unit)101と、主記憶装置102と、記憶装置103と、I/F(Interface)104と、を備えている。また、各構成部は、バス110によってそれぞれ接続されている。   FIG. 2 is a block diagram illustrating a hardware configuration example of the information extraction device. In FIG. 2, the information extraction apparatus 100 includes a CPU (Central Processing Unit) 101, a main storage device 102, a storage device 103, and an I / F (Interface) 104. Each component is connected by a bus 110.

CPU101は、情報抽出装置100全体の制御を司る。主記憶装置102は、情報抽出プログラムを保持している。そして、主記憶装置102は、OS(Operating System)を保持している。   The CPU 101 controls the entire information extraction apparatus 100. The main storage device 102 holds an information extraction program. The main storage device 102 holds an OS (Operating System).

また、主記憶装置102は、依存度の算出対象となる関数を含むプログラム(例えば、上述したプログラムX)と割当テーブル102aを保持している。そして、記憶装置103は、依存度テーブル103aと、アドレステーブル103bと、特定情報テーブル103cと、プロファイルテーブル103dと、周波数候補テーブル103eと、を記憶している。記憶装置103としては、不揮発性メモリやフラッシュメモリ、ハードディスクドライブなどを採用することができる。   In addition, the main storage device 102 holds a program (for example, the above-described program X) including a function for which a dependency degree is to be calculated and an allocation table 102a. The storage device 103 stores a dependency table 103a, an address table 103b, a specific information table 103c, a profile table 103d, and a frequency candidate table 103e. As the storage device 103, a nonvolatile memory, a flash memory, a hard disk drive, or the like can be employed.

インターフェース(以下、「I/F」と略する。)104は、通信回線を通じてLAN(Local Area Network)、WAN(Wide Area Network)、インターネットなどのネットワーク120に接続され、このネットワーク120を介して他の装置に接続される。そして、I/F104は、ネットワーク120と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。I/F104には、例えばモデムやLANアダプタなどを採用することができる。   An interface (hereinafter, abbreviated as “I / F”) 104 is connected to a network 120 such as a LAN (Local Area Network), a WAN (Wide Area Network), and the Internet through a communication line, and the other via the network 120. Connected to other devices. The I / F 104 controls an internal interface with the network 120 and controls data input / output from an external device. For example, a modem or a LAN adapter may be employed as the I / F 104.

(依存度テーブルの記憶内容)
次に、図2に示した依存度テーブル103aの記憶内容について説明する。
(Contents stored in dependency table)
Next, the contents stored in the dependency table 103a shown in FIG. 2 will be described.

図3は、依存度テーブルの記憶内容を示す説明図である。図3に示すように、依存度テーブル103aは、関数名項目のそれぞれに対応付けて、CPU動作周波数依存度項目を有し、関数名ごとにレコードを構成する。   FIG. 3 is an explanatory diagram showing the contents stored in the dependency table. As shown in FIG. 3, the dependency table 103a has a CPU operating frequency dependency item associated with each function name item, and constitutes a record for each function name.

関数名項目には、上述したプログラムXを構成する関数群のそれぞれの関数名が記憶される。ただし、関数名はプログラム内で関数に付与されている名称でなくてもよく、情報抽出装置100が関数を一意に特定する名称を任意に付与してもよい。関数名については、以下のテーブルにおいても同様である。CPU動作周波数依存度項目には、関数がCPUのクロック周波数によってどの程度律速されるかを示す度合いである依存度が記憶される。   The function name item stores the function name of each function group constituting the program X described above. However, the function name may not be a name given to the function in the program, and the information extraction apparatus 100 may arbitrarily give a name that uniquely identifies the function. The function name is the same in the following table. The CPU operating frequency dependency item stores a dependency that is a degree indicating how much the function is rate-controlled by the CPU clock frequency.

(割当テーブルの記憶内容)
次に、図2に示した割当テーブル102aの記憶内容について説明する。
(Storage contents of allocation table)
Next, the contents stored in the allocation table 102a shown in FIG. 2 will be described.

図4は、割当テーブルの記憶内容を示す説明図である。図4に示すように、割当テーブル102aは、関数名項目のそれぞれに対応付けて、割当クロック周波数項目を有し、関数名ごとにレコードを構成する。   FIG. 4 is an explanatory diagram showing the contents stored in the allocation table. As shown in FIG. 4, the allocation table 102a has an allocation clock frequency item associated with each function name item, and constitutes a record for each function name.

関数名項目には、上述したプログラムを構成する関数群のそれぞれの関数名が記憶される。割当クロック周波数項目には、関数の実行中にCPUのクロック周波数として設定すべき割当クロック周波数が記憶される。例えば、割当テーブル102aでは、上述の依存度テーブル103aに基づき、依存度の低い関数に対しては低クロック周波数が割当クロック周波数として記憶され、依存度の高い関数に対しては高クロック周波数が割当クロック周波数として記憶される。   In the function name item, each function name of the function group constituting the above-described program is stored. The allocation clock frequency item stores an allocation clock frequency to be set as the CPU clock frequency during execution of the function. For example, in the allocation table 102a, based on the dependency table 103a described above, a low clock frequency is stored as an allocation clock frequency for a function with low dependency, and a high clock frequency is allocated for a function with high dependency. Stored as clock frequency.

(アドレステーブルの記憶内容)
次に、図2に示したアドレステーブル103bの記憶内容について説明する。アドレステーブル103bは情報抽出装置100のユーザによって予め保持されている。
(Address table storage contents)
Next, the contents stored in the address table 103b shown in FIG. 2 will be described. The address table 103b is held in advance by the user of the information extraction apparatus 100.

図5は、アドレステーブルの記憶内容を示す説明図である。図5に示すように、アドレステーブル103bは、関数名項目のそれぞれに対応付けて、関数のアドレス範囲項目を有し、関数名ごとにレコードを構成する。   FIG. 5 is an explanatory diagram showing the contents stored in the address table. As shown in FIG. 5, the address table 103b has function address range items in association with each function name item, and configures a record for each function name.

関数名項目には、上述したプログラムを構成する関数群のそれぞれの関数名が記憶される。関数のアドレス範囲項目には、OSに用意されたコマンドによって特定した関数の命令アドレスの範囲が記憶される。例えば、OSがUNIX(登録商標)であるPCにおいては、nmコマンドを用いることにより関数の命令アドレスの範囲を特定できる。命令アドレスとは、CPU101が実行する命令が主記憶上へロードされた際の主記憶上の格納位置を示す値である。   In the function name item, each function name of the function group constituting the above-described program is stored. The function address range item stores the instruction address range of the function specified by the command prepared in the OS. For example, in a PC whose OS is UNIX (registered trademark), the range of instruction addresses of functions can be specified by using the nm command. The instruction address is a value indicating a storage position on the main memory when an instruction to be executed by the CPU 101 is loaded onto the main memory.

(特定情報テーブルの記憶内容)
次に、図2に示した特定情報テーブル103cの記憶内容について説明する。
(Contents stored in specific information table)
Next, the contents stored in the specific information table 103c shown in FIG. 2 will be described.

図6は、特定情報テーブルの記憶内容を示す説明図である。図6に示すように、特定情報テーブル103cは、時間項目のそれぞれに対応付けて、特定情報項目と、関数名項目と、を有し、サンプリングを行った時間ごとにレコードを構成する。   FIG. 6 is an explanatory diagram showing the stored contents of the specific information table. As shown in FIG. 6, the specific information table 103c has a specific information item and a function name item in association with each time item, and configures a record for each sampling time.

時間項目には、上述したサンプリングを行った時間が記憶される。特定情報項目には、関数名を一意に特定するための特定情報が記憶される。特定情報とは、PID(Process IDentification)および命令アドレスである。関数名項目には、特定情報により特定された関数の関数名が記憶される。   The time item stores the time when the above-described sampling is performed. The specific information item stores specific information for uniquely specifying the function name. The specific information is a PID (Process IDentification) and an instruction address. In the function name item, the function name of the function specified by the specific information is stored.

(プロファイルテーブルの記憶内容)
次に、図2に示したプロファイルテーブル103dの記憶内容について説明する。
(Contents stored in the profile table)
Next, the contents stored in the profile table 103d shown in FIG. 2 will be described.

図7は、プロファイルテーブルの記憶内容を示す説明図である。図7に示すように、プロファイルテーブル103dは、関数名項目のそれぞれに対応付けて、プロファイル結果項目を有し、関数名ごとにレコードを構成する。   FIG. 7 is an explanatory diagram showing the contents stored in the profile table. As shown in FIG. 7, the profile table 103d has a profile result item associated with each function name item, and configures a record for each function name.

関数名項目には、上述したプログラムを構成する関数群のそれぞれの関数名が記憶される。プロファイル結果項目には、関数ごとのサンプリング回数が記憶される。関数ごとのサンプリング回数は、上述した特定情報テーブル103cにおいて、関数ごとのレコードの数を計測することで算出できる。   In the function name item, each function name of the function group constituting the above-described program is stored. In the profile result item, the number of times of sampling for each function is stored. The number of times of sampling for each function can be calculated by measuring the number of records for each function in the specific information table 103c described above.

(周波数候補テーブルの記憶内容)
次に、図2に示した周波数候補テーブル103eの記憶内容について説明する。周波数候補テーブル103eは情報抽出装置100のユーザによって予め保持されている。
(Storage contents of frequency candidate table)
Next, the contents stored in the frequency candidate table 103e shown in FIG. 2 will be described. The frequency candidate table 103e is held in advance by the user of the information extraction apparatus 100.

図8は、周波数候補テーブルの記憶内容を示す説明図である。図8に示すように、周波数候補テーブル103eは、依存度範囲項目のそれぞれに対応付けて、依存度範囲項目と、周波数候補項目と、を有し、依存度範囲ごとにレコードを構成する。   FIG. 8 is an explanatory diagram showing the contents stored in the frequency candidate table. As shown in FIG. 8, the frequency candidate table 103e has a dependency range item and a frequency candidate item in association with each dependency range item, and configures a record for each dependency range.

依存度範囲項目には、上述した依存度の範囲が記憶される。周波数候補項目には、依存度の範囲ごとに、関数に割り当てる割当クロック周波数が記憶される。   The dependency range item stores the above-described dependency range. The frequency candidate item stores the assigned clock frequency assigned to the function for each range of dependence.

(情報抽出装置の機能的構成)
次に、図9を用いて情報抽出装置の機能的構成例について説明する。
(Functional configuration of information extraction device)
Next, a functional configuration example of the information extraction apparatus will be described with reference to FIG.

図9は、情報抽出装置の機能的構成例を示す機能ブロック図である。図9に示すように、情報抽出装置100は、第1の検出部901と、第2の検出部902と、第1の計測部903と、第2の計測部904と、算出部905と、出力部906と、判定部907と、格納部908と、第3の検出部909と、設定部910と、を備える。また、各機能部(第1の検出部901〜設定部910)の処理結果は、特に指定する場合を除いて、例えば、記憶装置103に記憶される。   FIG. 9 is a functional block diagram illustrating a functional configuration example of the information extraction device. As illustrated in FIG. 9, the information extraction device 100 includes a first detection unit 901, a second detection unit 902, a first measurement unit 903, a second measurement unit 904, a calculation unit 905, An output unit 906, a determination unit 907, a storage unit 908, a third detection unit 909, and a setting unit 910 are provided. Further, the processing results of the respective function units (first detection unit 901 to setting unit 910) are stored in, for example, the storage device 103, unless otherwise specified.

第1の検出部901は、第1のクロック周波数で動作中のプロセッサによるプログラムの実行中において、所定時間ごとにプログラム内の関数群のうちの実行中の関数を検出する機能を有する。   The first detection unit 901 has a function of detecting a function being executed from among a group of functions in the program every predetermined time during execution of the program by the processor operating at the first clock frequency.

ここで、プログラムとは、上述したプログラムXである。プロセッサとは、上述したCPU101である。第1のクロック周波数とは、サンプリングの際にCPU101に設定されるクロック周波数であり、例えば、上述したサンプリング条件1である。所定時間とは、上述したサンプリング間隔である。第1のクロック周波数と所定時間は、情報抽出装置100のユーザによって、予め記憶装置103に保持されている。   Here, the program is the program X described above. The processor is the CPU 101 described above. The first clock frequency is a clock frequency set in the CPU 101 at the time of sampling, for example, the sampling condition 1 described above. The predetermined time is the sampling interval described above. The first clock frequency and the predetermined time are stored in advance in the storage device 103 by the user of the information extraction device 100.

具体的には、例えば、第1の検出部901は、周波数1で動作中のCPU101において、上述したPIDおよび命令アドレスを検出する。これにより、第1の検出部901は、検出したPIDおよび命令アドレスを上述したアドレス範囲と比較することにより、実行中の関数がプログラムXを構成する関数群のうちのどの関数であるかを検出できる。   Specifically, for example, the first detection unit 901 detects the above-described PID and instruction address in the CPU 101 operating at the frequency 1. Thus, the first detection unit 901 detects which function in the function group constituting the program X is the function being executed by comparing the detected PID and instruction address with the address range described above. it can.

第1の検出部901は、具体的には、例えば、図2に示した主記憶装置102に保持されたプログラムをCPU101に実行させることにより、その機能を実現する。   Specifically, the first detection unit 901 realizes its function by causing the CPU 101 to execute a program held in the main storage device 102 illustrated in FIG. 2, for example.

第2の検出部902は、第1のクロック周波数とは異なる第2のクロック周波数で動作中のプロセッサによるプログラムの実行中において、所定時間ごとに関数群のうちの実行中の関数を検出する機能を有する。   The second detection unit 902 detects a function being executed from a group of functions at predetermined time intervals during execution of a program by a processor operating at a second clock frequency different from the first clock frequency. Have

ここで、第2のクロック周波数とは、サンプリングの際にCPUに設定されるクロック周波数であり、第1のクロック周波数と異なる周波数である。例えば、上述したサンプリング条件2である。所定時間とは、上述したサンプリング間隔であり、第1の検出部901のサンプリング間隔と同一値である。第2のクロック周波数と所定時間とは、情報抽出装置100のユーザによって、予め記憶装置103に保持されている。   Here, the second clock frequency is a clock frequency set in the CPU at the time of sampling, and is a frequency different from the first clock frequency. For example, the sampling condition 2 described above. The predetermined time is the above-described sampling interval, which is the same value as the sampling interval of the first detection unit 901. The second clock frequency and the predetermined time are stored in the storage device 103 in advance by the user of the information extraction device 100.

具体的には、例えば、第2の検出部902は、周波数2で動作中のCPU101において実行中の関数について、上述したPIDおよび命令アドレスを検出する。これにより、第2の検出部902は、検出したPIDおよび命令アドレスを上述したアドレス範囲と比較することにより、実行中の関数がプログラムXを構成する関数群のうちのどの関数であるかを検出できる。   Specifically, for example, the second detection unit 902 detects the above-described PID and instruction address for a function being executed in the CPU 101 operating at the frequency 2. Thus, the second detection unit 902 detects which function in the function group constituting the program X is the function being executed by comparing the detected PID and instruction address with the address range described above. it can.

第2の検出部902は、具体的には、例えば、図2に示した主記憶装置102に記憶されたプログラムをCPU101に実行させることにより、その機能を実現する。   Specifically, the second detection unit 902 realizes its function by causing the CPU 101 to execute a program stored in the main storage device 102 illustrated in FIG. 2, for example.

第1の計測部903は、関数群のうちのいずれかの関数について、第1の検出部901による該関数の第1の検出回数を計測する機能を有する。ここで、いずれかの関数とは、プログラムX内の関数であって、依存度を算出する対象となる関数である。   The first measurement unit 903 has a function of measuring the first number of times the function is detected by the first detection unit 901 for any function in the function group. Here, one of the functions is a function in the program X and is a function for which the dependency is calculated.

具体的には、例えば、第1の計測部903は、プログラムXの終了までに、プログラムX内の関数群のうちの依存度を算出する対象となる関数を第1の検出部901が検出した回数を計測する。これにより、第1の計測部903は、第1のクロック周波数で動作中のCPU101における依存度を算出する対象となる関数のサンプリング回数を計測することができる。   Specifically, for example, in the first measurement unit 903, the first detection unit 901 detects a function that is a target for calculating the dependency of the function group in the program X by the end of the program X. Count the number of times. Accordingly, the first measurement unit 903 can measure the number of times of sampling of a function that is a target for calculating the dependency in the CPU 101 operating at the first clock frequency.

第1の計測部903は、具体的には、例えば、図2に示した主記憶装置102に保持されたプログラムをCPU101に実行させることにより、その機能を実現する。   Specifically, the first measuring unit 903 realizes its function by causing the CPU 101 to execute a program held in the main storage device 102 illustrated in FIG. 2, for example.

第2の計測部904は、いずれかの関数について、第2の検出部902による該関数の第2の検出回数を計測する機能を有する。ここで、いずれかの関数とは、プログラムX内の関数であって、依存度を算出する対象となる関数である。   The second measuring unit 904 has a function of measuring the second detection count of the function by the second detecting unit 902 for any function. Here, one of the functions is a function in the program X and is a function for which the dependency is calculated.

具体的には、例えば、第2の計測部904は、プログラムXの終了までに、プログラムX内の関数群のうちの依存度を算出する対象となる関数を第2の検出部902が検出した回数を計測する。これにより、第2の計測部904は、第2のクロック周波数で動作中のCPU101における依存度を算出する対象となる関数のサンプリング回数を計測することができる。   Specifically, for example, in the second measurement unit 904, the second detection unit 902 detects a function that is a target for calculating the dependency of the function group in the program X by the end of the program X. Count the number of times. As a result, the second measuring unit 904 can measure the number of times of sampling of a function that is a target for calculating the dependency in the CPU 101 operating at the second clock frequency.

第2の計測部904は、具体的には、例えば、図2に示した主記憶装置102に保持されたプログラムをCPU101に実行させることにより、その機能を実現する。   Specifically, the second measurement unit 904 realizes its function by causing the CPU 101 to execute a program held in the main storage device 102 illustrated in FIG. 2, for example.

算出部905は、第1の検出回数から第2の検出回数への変化量に基づいて、クロック周波数の変化によるいずれかの関数の実行時間の変化の度合いを示す依存度を算出する機能を有する。ここで、依存度とは、関数がCPU101のクロック周波数によってどの程度律速されるかを示す度合いである。   The calculation unit 905 has a function of calculating a dependency indicating the degree of change in the execution time of any function due to the change in the clock frequency, based on the amount of change from the first detection number to the second detection number. . Here, the dependency is a degree indicating how much the function is rate-controlled by the clock frequency of the CPU 101.

具体的には、算出部905は、第1のクロック周波数の逆数を第1のクロック周期として算出し、第2のクロック周波数の逆数を第2のクロック周期として算出しておく。そして、算出部905は、((第1の検出回数−第2の検出回数)/第2の検出回数)/((第1のクロック周期−第2のクロック周期)/第2のクロック周期))×100の式により、依存度を算出する。これにより、算出部905は、依存度を算出する対象となる関数の依存度を算出することができる。   Specifically, the calculation unit 905 calculates the reciprocal of the first clock frequency as the first clock cycle, and calculates the reciprocal of the second clock frequency as the second clock cycle. Then, the calculation unit 905 calculates ((first detection number−second detection number) / second detection number) / ((first clock period−second clock period) / second clock period). ) X 100 is used to calculate the dependence. As a result, the calculation unit 905 can calculate the dependency of the function for which the dependency is calculated.

算出部905は、具体的には、例えば、図2に示した主記憶装置102に保持されたプログラムをCPU101に実行させることにより、その機能を実現する。   Specifically, for example, the calculation unit 905 realizes the function by causing the CPU 101 to execute a program held in the main storage device 102 illustrated in FIG. 2.

出力部906は、算出部905によって算出された依存度を出力する機能を有する。具体的には、出力部906は、関数と依存度とをディスプレイ(不図示)に出力する。これにより、ユーザは、出力された関数と依存度とからプログラムX内の関数の依存度を把握することができる。   The output unit 906 has a function of outputting the dependency calculated by the calculation unit 905. Specifically, the output unit 906 outputs a function and dependency on a display (not shown). Thereby, the user can grasp the dependence degree of the function in the program X from the output function and the dependence degree.

出力部906は、具体的には、例えば、図2に示した主記憶装置102に保持されたプログラムをCPU101に実行させることにより、その機能を実現する。   Specifically, the output unit 906 realizes its function by causing the CPU 101 to execute a program held in the main storage device 102 illustrated in FIG. 2, for example.

判定部907は、算出部905によって算出された依存度が閾値以下であるか否かを判定する機能を有する。ここで、閾値とは、関数の実行時に、低クロック周波数でCPU101を動作させるか、高クロック周波数でCPU101を動作させるかを判定する境界となる値である。閾値は予め記憶装置103に保持されている。   The determination unit 907 has a function of determining whether or not the dependency calculated by the calculation unit 905 is equal to or less than a threshold value. Here, the threshold value is a value that serves as a boundary for determining whether to operate the CPU 101 at a low clock frequency or to operate the CPU 101 at a high clock frequency when executing a function. The threshold value is held in the storage device 103 in advance.

判定部907は、具体的には、例えば、図2に示した主記憶装置102に保持されたプログラムをCPU101に実行させることにより、その機能を実現する。   Specifically, the determination unit 907 realizes the function by causing the CPU 101 to execute a program held in the main storage device 102 illustrated in FIG. 2, for example.

具体的には、例えば、判定部907は、算出部905によって算出された依存度が閾値以下であるか否かを判定する。これにより、判定部907は、関数が、依存度が低いため低クロック周波数でCPU101を動作させても処理効率が大幅に下がらず電力消費を少なくできる関数であるか、依存度が高いため低クロック周波数でCPU101を動作させると処理効率が下がる関数であるか、を判定することができる。   Specifically, for example, the determination unit 907 determines whether or not the dependency calculated by the calculation unit 905 is equal to or less than a threshold value. As a result, the determination unit 907 is a function that can reduce power consumption without significantly reducing processing efficiency even when the CPU 101 is operated at a low clock frequency because the function has low dependency. It can be determined whether or not the CPU 101 operates at a frequency to reduce the processing efficiency.

格納部908は、判定部907によって依存度が閾値以下であると判定された場合に、所定の低周波数の割当周波数をいずれかの関数と関連付けて、割当テーブル102aに格納し、判定部907によって依存度が閾値より大きいと判定された場合に、所定の高周波数の割当周波数をいずれかの関数と関連付けて、割当テーブル102aに格納する機能を有する。   When the determination unit 907 determines that the dependency is equal to or less than the threshold value, the storage unit 908 associates a predetermined low frequency allocation frequency with one of the functions and stores it in the allocation table 102a. When it is determined that the degree of dependence is greater than the threshold value, the function has a function of associating a predetermined high frequency allocation frequency with one of the functions and storing it in the allocation table 102a.

ここで、所定の低周波数の割当クロック周波数とは、依存度の低い関数の実行時にCPU101のクロック周波数として設定する割当クロック周波数である。所定の高周波数の割当クロック周波数とは、依存度の高い関数の実行時にCPU101のクロック周波数として設定する割当クロック周波数である。所定の低クロック周波数および所定の高クロック周波数は予め記憶装置103に保持されている。   Here, the predetermined low-frequency allocation clock frequency is an allocation clock frequency that is set as the clock frequency of the CPU 101 when a function with low dependency is executed. The predetermined high-frequency allocation clock frequency is an allocation clock frequency that is set as the clock frequency of the CPU 101 when a highly dependent function is executed. The predetermined low clock frequency and the predetermined high clock frequency are stored in the storage device 103 in advance.

具体的には、例えば、格納部908は、関数に割り当てるべき割当クロック周波数を関数と関連付けて割当テーブル102aに格納することができる。これにより、格納部908は、高周波数の割当クロック周波数と低周波数の割当クロック周波数とのうち、関数に割り当てるべき割当クロック周波数を関数と関連付けて割当テーブル102aに格納することができる。   Specifically, for example, the storage unit 908 can store the allocation clock frequency to be allocated to the function in the allocation table 102a in association with the function. As a result, the storage unit 908 can store, in the allocation table 102a, the allocation clock frequency to be allocated to the function among the allocation clock frequency of the high frequency and the allocation clock frequency of the low frequency in association with the function.

また、格納部908は、依存度ごとに対応する割当クロック周波数を保持するテーブルに基づいて、算出部905によって算出された依存度に対応する割当クロック周波数を任意の関数と関連付けて割当テーブル102aに格納する機能を有する。依存度ごとに対応する割当クロック周波数を保持するテーブルとは、上述した周波数候補テーブル103eである。   Further, the storage unit 908 associates the allocation clock frequency corresponding to the dependency calculated by the calculation unit 905 with an arbitrary function on the allocation table 102a based on a table holding the allocation clock frequency corresponding to each dependency. Has the function of storing. The table holding the assigned clock frequency corresponding to each dependency is the frequency candidate table 103e described above.

具体的には、例えば、格納部908は、算出部905によって算出された依存度が、テーブルのどの範囲に含まれる依存度であるかに基づき、対応する割当クロック周波数を抽出し、抽出した割当クロック周波数と関数とを関連付けて割当テーブル102aに格納する。これにより、格納部908は、関数に割り当てるべき割当クロック周波数の候補を複数用意しておき、その候補のうちから依存度に基づき抽出した割当クロック周波数を関数と関連付けて割当テーブル102aに格納することができる。   Specifically, for example, the storage unit 908 extracts a corresponding allocation clock frequency based on which range of the table the dependency calculated by the calculation unit 905 is included, and extracts the extracted allocation The clock frequency and the function are associated with each other and stored in the allocation table 102a. As a result, the storage unit 908 prepares a plurality of allocation clock frequency candidates to be allocated to the function, and stores the allocation clock frequency extracted from the candidates based on the dependency level in the allocation table 102a in association with the function. Can do.

格納部908は、具体的には、例えば、図2に示した主記憶装置102に保持されたプログラムをCPU101に実行させることにより、および、記憶装置103により、その機能を実現する。   Specifically, the storage unit 908 realizes its function by causing the CPU 101 to execute a program held in the main storage device 102 illustrated in FIG. 2 and the storage device 103, for example.

第3の検出部909は、プログラムをあらたに実行した場合において、関数群のうちの実行中の関数を検出する機能を有する。ここで、あらたに実行したプログラムとは、上述したサンプリングのためのプログラムXの実行の終了後に、再度実行されたプログラムXである。   The third detection unit 909 has a function of detecting a function being executed in the function group when the program is newly executed. Here, the newly executed program is the program X that is executed again after the above-described execution of the program X for sampling.

具体的には、例えば、第3の検出部909は、実行中の関数について、上述したPIDおよび命令アドレスを検出する。これにより、第3の検出部909は、検出したPIDおよび命令アドレスを上述したアドレス範囲と比較することにより、実行中の関数がプログラムXを構成する関数群のうちのどの関数であるかを検出できる。   Specifically, for example, the third detection unit 909 detects the above-described PID and instruction address for the function being executed. Thus, the third detection unit 909 detects which function in the function group constituting the program X is the function being executed by comparing the detected PID and instruction address with the above-described address range. it can.

第3の検出部909は、具体的には、例えば、図2に示した主記憶装置102に保持されたプログラムをCPU101に実行させることにより、その機能を実現する。   Specifically, the third detection unit 909 implements its function by causing the CPU 101 to execute a program held in the main storage device 102 illustrated in FIG. 2, for example.

設定部910は、前記割当テーブル102aに基づいて、第3の検出部909によって検出された関数に対応する割当クロック周波数をプロセッサのクロック周波数として設定する機能を有する。   The setting unit 910 has a function of setting an allocation clock frequency corresponding to the function detected by the third detection unit 909 as a processor clock frequency based on the allocation table 102a.

具体的には、例えば、設定部910は、割当テーブル102aに基づき、実行中の関数に対応する割当クロック周波数をCPU101のクロック周波数として設定する。これにより、設定部910は、実行中の関数に対して設定すべきクロック周波数をCPU101に設定できる。例えば、設定部910は、依存度の低い関数の実行中は低周波数の割当クロック周波数でCPU101を動作させ、省電力化を図ることができる。   Specifically, for example, the setting unit 910 sets the assigned clock frequency corresponding to the function being executed as the clock frequency of the CPU 101 based on the assignment table 102a. Thereby, the setting unit 910 can set the CPU 101 with the clock frequency to be set for the function being executed. For example, the setting unit 910 can operate the CPU 101 at a low assigned clock frequency during execution of a function having a low dependency degree to save power.

設定部910は、具体的には、例えば、図2に示した主記憶装置102に保持されたプログラムをCPU101に実行させることにより、その機能を実現する。   Specifically, the setting unit 910 realizes its function by causing the CPU 101 to execute a program held in the main storage device 102 illustrated in FIG. 2, for example.

(依存度の算出の内容)
次に、図10〜図13を用いて、情報抽出装置による依存度の算出の内容について説明する。
(Content of calculation of dependency)
Next, content of calculation of dependency by the information extraction device will be described with reference to FIGS.

図10は、情報抽出装置による依存度の算出の内容を示す説明図である。依存度を算出する場合には、情報抽出装置100は、第1の計測部903および第2の計測部904によってサンプリングを行い、特定情報を計測する。次に、情報抽出装置100は、計測された特定情報に基づき、算出部905によって依存度を算出する。そして、算出された依存度が依存度テーブル103aに格納される。   FIG. 10 is an explanatory diagram showing details of calculation of dependency by the information extracting device. When calculating the dependency, the information extraction apparatus 100 performs sampling using the first measurement unit 903 and the second measurement unit 904 to measure specific information. Next, the information extraction apparatus 100 calculates the dependency by the calculation unit 905 based on the measured specific information. The calculated dependency is stored in the dependency table 103a.

図11は、特定情報の内容を示す説明図である。特定情報には、PIDと命令アドレスが含まれている。PIDとは、実行中のプログラムごとにCPU101から一意に割り振られる識別符号であり、例えば、同一のプログラムが同時に複数実行されている場合であってもそれぞれの実行中のプログラムを識別することができる。命令アドレスは、実行中の命令の主記憶上の格納位置を示す値であり、この特定情報を用いて情報抽出装置100はサンプリング回数を計測する。   FIG. 11 is an explanatory diagram showing the contents of the specific information. The specific information includes a PID and an instruction address. The PID is an identification code that is uniquely assigned by the CPU 101 for each program being executed. For example, even when a plurality of the same programs are simultaneously executed, the programs being executed can be identified. . The instruction address is a value indicating the storage position of the instruction being executed on the main memory, and the information extraction apparatus 100 measures the number of samplings using this specific information.

図12は、特定情報を用いてサンプリング回数を計測する具体例を示す説明図である。ここで、情報抽出装置100は、t、t+1、t+2、t+3のそれぞれの時間において特定情報を取得する。また、情報抽出装置100の記憶装置103には、予めプログラムXを構成する関数のアドレス範囲を保持したアドレステーブル103bが記憶されている。   FIG. 12 is an explanatory diagram illustrating a specific example in which the number of samplings is measured using specific information. Here, the information extraction apparatus 100 acquires specific information at each time t, t + 1, t + 2, and t + 3. In addition, the storage device 103 of the information extraction device 100 stores an address table 103b that holds in advance the address range of functions constituting the program X.

ここで、アドレステーブル103bから、特定情報内の命令アドレスに対応する関数を抽出することにより、実行中の関数がどの関数であるかを判別することができる。また、ここでは、実行中のプログラムは1つだけであったが、同時に実行されている他のプログラムがあっても、特定情報内のPIDを用いることによりプログラムごとにサンプリングできるため、他のプログラムのサンプリング回数を誤って合算することを防ぐことができる。   Here, by extracting a function corresponding to the instruction address in the specific information from the address table 103b, it is possible to determine which function is being executed. Here, only one program is being executed, but even if there are other programs being executed at the same time, it can be sampled for each program by using the PID in the specific information. It is possible to prevent the total number of samplings from being mistakenly added.

このように、プログラムXにおいて実行中の関数をサンプリングし、特定情報テーブル103cとして記憶しておくことができる。また、特定情報テーブル103cに基づき関数ごとにサンプリング回数を計測することができる。そして、情報抽出装置100は、このサンプリング回数を関数ごとに保持するプロファイルテーブル103dを作成する。   In this way, the function being executed in the program X can be sampled and stored as the specific information table 103c. In addition, the number of samplings can be measured for each function based on the specific information table 103c. Then, the information extraction apparatus 100 creates a profile table 103d that holds this sampling count for each function.

次に、プロファイルテーブル103dに基づく依存度の算出の内容について説明する。図13は、プログラムの測定の内容を示す説明図である。ここでは、関数Aを5000回、関数Bを5000回実行すると終了するプログラムXを例に挙げる。また、CPU101のクロック周波数を1[GHz](クロック周期は1[ns])および2[GHz](クロック周期は0.5[ns])に変更した場合のサンプリング回数を用いて依存度を算出するとする。   Next, the content of calculation of the dependence degree based on the profile table 103d will be described. FIG. 13 is an explanatory diagram showing the contents of program measurement. Here, an example is given of a program X that ends when function A is executed 5000 times and function B is executed 5000 times. Further, the dependence is calculated using the number of samplings when the clock frequency of the CPU 101 is changed to 1 [GHz] (clock cycle is 1 [ns]) and 2 [GHz] (clock cycle is 0.5 [ns]). Then.

図13において、AおよびBは関数名を示し、関数名の下に記した時間は、関数の1回の実行時間である。従って、1[GHz]時では、このプログラムXの実行時間は150[sec]となり、2[GHz]時では100[sec]となる。   In FIG. 13, A and B indicate function names, and the time indicated below the function name is the execution time of the function once. Therefore, the execution time of the program X is 150 [sec] at 1 [GHz], and 100 [sec] at 2 [GHz].

この例において、各クロック周波数において1[msec]ごとのサンプリングを行う。1[GHz]時においては、約150000回サンプリングが行われ、関数Aは約100000回、関数Bは約50000回サンプリングされる。一方、2[GHz]時においては、約100000回サンプリングが行われ、関数Aは約50000回、関数Bは約50000回サンプリングされる。   In this example, sampling is performed every 1 [msec] at each clock frequency. At 1 [GHz], sampling is performed about 150,000 times, function A is sampled about 100,000 times, and function B is sampled about 50,000 times. On the other hand, at 2 [GHz], sampling is performed about 100,000 times, the function A is sampled about 50,000 times, and the function B is sampled about 50,000 times.

このサンプリング回数を用いて上述した依存度の算出式に基づいて依存度を算出すると、関数Aの依存度は、以下のようになる。   When the dependency is calculated based on the above-described dependency calculation formula using the number of times of sampling, the dependency of the function A is as follows.

[{(100000−50000)/50000}/{(1−0.5)/0.5}]×100=100[%]   [{(100000-50000) / 50000} / {(1-0.5) /0.5}] × 100 = 100 [%]

また、関数Bの依存度は、以下のようになる。   Further, the dependency of the function B is as follows.

[{(50000−50000)/50000}/{(1−0.5)/0.5}]×100=0[%]   [{(50000-50000) / 50000} / {(1-0.5) /0.5}] × 100 = 0 [%]

次に、図14を用いて、作成した依存度テーブル103aに基づき関数実行時のクロック周波数の制御の内容について説明する。   Next, the contents of the control of the clock frequency at the time of function execution will be described using FIG. 14 based on the created dependency table 103a.

図14は、関数実行時のクロック周波数の制御の内容を示す説明図である。情報抽出装置100は、格納部908により、依存度テーブル103aに基づき関数の実行時にCPU101のクロック周波数として設定する割当クロック周波数を決定する。   FIG. 14 is an explanatory diagram showing the contents of clock frequency control during function execution. In the information extraction apparatus 100, the storage unit 908 determines an allocation clock frequency to be set as the clock frequency of the CPU 101 when the function is executed based on the dependency table 103a.

例えば、割当クロック周波数を高割当クロック周波数と低割当クロック周波数とのどちらかとする場合、依存度に対する閾値を設定しておき、閾値以下か否かによって関数に対応する割当クロック周波数を決定する。そして、割当テーブル102aに関数と割当クロック周波数とを関連付けて格納し、割当テーブル102aを作成する。   For example, when the assigned clock frequency is either the high assigned clock frequency or the low assigned clock frequency, a threshold value for the dependency is set, and the assigned clock frequency corresponding to the function is determined depending on whether or not it is equal to or less than the threshold value. Then, the function and the allocated clock frequency are stored in association in the allocation table 102a, and the allocation table 102a is created.

割当テーブル102aの作成後、再度プログラムXを実行する場合には、情報抽出装置100は、第3の検出部909によって実行中の関数を検出する。そして、実行中の関数に対応する割当クロック周波数を割当テーブル102aから抽出し、抽出した割当クロック周波数を設定部910によりCPU101のクロック周波数として設定する。   When the program X is executed again after the allocation table 102a is created, the information extraction apparatus 100 detects the function being executed by the third detection unit 909. Then, the allocated clock frequency corresponding to the function being executed is extracted from the allocation table 102a, and the extracted allocated clock frequency is set as the clock frequency of the CPU 101 by the setting unit 910.

このようにして、情報抽出装置100は、実行中の関数に対応する割当クロック周波数によってCPU101を動作させることができる。また、情報抽出装置100は、一定時間ごとに実行中の関数を検出し、実行中の関数に対応する割当クロック周波数をCPU101のクロック周波数として設定する。従って、関数の実行終了または実行開始に合わせて、クロック周波数を動的に変更していくことができる。   In this way, the information extraction apparatus 100 can operate the CPU 101 with the assigned clock frequency corresponding to the function being executed. Further, the information extraction apparatus 100 detects a function being executed at regular time intervals, and sets an assigned clock frequency corresponding to the function being executed as the clock frequency of the CPU 101. Therefore, the clock frequency can be dynamically changed in accordance with the end of execution of the function or the start of execution.

次に、図15に示した依存度算出処理の詳細について説明する。   Next, details of the dependency degree calculation processing shown in FIG. 15 will be described.

図15は、依存度算出処理の詳細を示すフローチャートである。図15に示すように、CPU101は、クロック周波数を変更する変更前後において、タイムベースサンプリングによって、プログラムX内の関数のサンプリング回数を測定する(ステップS1501)。次に、CPU101は、上述した算出式を用いて、プログラムX内の関数の依存度を算出して(ステップS1502)、依存度算出処理を終了する。   FIG. 15 is a flowchart showing details of the dependency degree calculation processing. As shown in FIG. 15, the CPU 101 measures the number of times the function in the program X is sampled by time-base sampling before and after changing the clock frequency (step S1501). Next, the CPU 101 calculates the dependency of the function in the program X using the above-described calculation formula (step S1502), and ends the dependency calculation processing.

これにより、関数のクロック周波数への依存度が算出され、依存度テーブル103aが作成される。   Thereby, the dependence degree of the function on the clock frequency is calculated, and the dependence degree table 103a is created.

次に、図16に示したプログラム実行処理の詳細について説明する。   Next, the details of the program execution process shown in FIG. 16 will be described.

図16は、プログラム実行処理の詳細を示すフローチャートである。図16に示すように、CPU101は、後述する割当テーブル作成処理によって、関数ごとに対応する割当クロック周波数を保持する割当テーブル102aを作成する(ステップS1601)。次に、CPU101は、プログラムXを開始し(ステップS1602)、後述するクロック周波数制御処理によって、一定時間ごとにCPU101のクロック周波数を制御する(ステップS1603)。そして、プログラム実行処理を終了する。   FIG. 16 is a flowchart showing details of the program execution process. As shown in FIG. 16, the CPU 101 creates an allocation table 102a that holds an allocation clock frequency corresponding to each function by an allocation table creation process described later (step S1601). Next, the CPU 101 starts the program X (step S1602), and controls the clock frequency of the CPU 101 at regular intervals by a clock frequency control process described later (step S1603). Then, the program execution process ends.

これにより、CPU101は、関数ごとに割当クロック周波数を関連付けて保持する割当テーブル102aを作成することができる。また、所定時間ごとに実行中の関数を検出し、割当テーブル102aに基づき、検出した関数に対応付けられた割当クロック周波数をCPU101のクロック周波数として設定することができる。   As a result, the CPU 101 can create an allocation table 102a that holds the allocation clock frequency in association with each function. Further, a function being executed can be detected every predetermined time, and an allocation clock frequency associated with the detected function can be set as a clock frequency of the CPU 101 based on the allocation table 102a.

次に、図17に示した割当テーブル作成処理の詳細について説明する。   Next, details of the allocation table creation process shown in FIG. 17 will be described.

図17は、割当テーブル作成処理の詳細を示すフローチャートである。図17に示すように、まず、CPU101は、依存度が閾値より大きいか否かを判定する(ステップS1701)。依存度が閾値より大きい場合は(ステップS1701:Yes)、CPU101は、割当クロック周波数として高クロック周波数を選択する(ステップS1702)。一方、依存度が閾値以下の場合は(ステップS1701:No)、CPU101は、割当クロック周波数として低クロック周波数を選択する(ステップS1703)。   FIG. 17 is a flowchart showing details of the allocation table creation processing. As shown in FIG. 17, first, the CPU 101 determines whether or not the dependency is greater than a threshold (step S1701). When the dependency is larger than the threshold (step S1701: Yes), the CPU 101 selects a high clock frequency as the assigned clock frequency (step S1702). On the other hand, when the dependency is equal to or less than the threshold (step S1701: No), the CPU 101 selects a low clock frequency as the assigned clock frequency (step S1703).

次に、CPU101は、選択された割当クロック周波数を割当テーブル102aに格納する(ステップS1704)。そして、CPU101は、依存度テーブル103aに依存度が保持されている関数のうち割当クロック周波数が未決定の関数があるか否か判定する(ステップS1705)。割当クロック周波数が未決定の関数がある場合には(ステップS1705:Yes)、CPU101は、ステップS1701に戻り、未決定の関数について割当クロック周波数を決定する。一方、割当クロック周波数が未決定の関数がない場合には(ステップS1705:No)、割当テーブル作成処理を終了する。   Next, the CPU 101 stores the selected allocation clock frequency in the allocation table 102a (step S1704). Then, the CPU 101 determines whether or not there is a function whose assigned clock frequency is undetermined among the functions whose dependence is held in the dependence table 103a (step S1705). If there is a function for which the assigned clock frequency is undetermined (step S1705: YES), the CPU 101 returns to step S1701 and determines the assigned clock frequency for the undetermined function. On the other hand, if there is no function for which the allocation clock frequency has not been determined (step S1705: No), the allocation table creation process is terminated.

これにより、関数ごとに割当クロック周波数を関連付けて保持する割当テーブル102aを作成することができる。   Thereby, it is possible to create the allocation table 102a that holds the allocation clock frequency in association with each function.

次に、図18に示したクロック周波数制御処理の詳細について説明する。   Next, details of the clock frequency control process shown in FIG. 18 will be described.

図18は、クロック周波数制御処理の詳細を示すフローチャートである。図18に示すように、CPU101は、サンプリングした特定情報から実行中の関数を検出する(ステップS1801)。次に、CPU101は、検出した実行中の関数に対応する割当クロック周波数を、割当テーブル102aから抽出する(ステップS1802)。   FIG. 18 is a flowchart showing details of the clock frequency control process. As shown in FIG. 18, the CPU 101 detects a function being executed from the sampled specific information (step S1801). Next, the CPU 101 extracts an allocation clock frequency corresponding to the detected function being executed from the allocation table 102a (step S1802).

そして、CPU101は、CPU101の現在のクロック周波数と、抽出した割当クロック周波数とが異なるか否かを判定する(ステップS1803)。現在のCPU101のクロック周波数と、抽出した割当クロック周波数とが同じ場合(ステップS1803:No)、クロック周波数制御処理を終了する。   Then, the CPU 101 determines whether or not the current clock frequency of the CPU 101 is different from the extracted assigned clock frequency (step S1803). When the current clock frequency of the CPU 101 is the same as the extracted assigned clock frequency (step S1803: No), the clock frequency control process is terminated.

一方、現在のCPU101のクロック周波数と、抽出した割当クロック周波数とが異なる場合(ステップS1803:Yes)、CPU101は、割当クロック周波数をCPU101のクロック周波数として設定して(ステップS1804)、クロック周波数制御処理を終了する。   On the other hand, when the current clock frequency of the CPU 101 is different from the extracted assigned clock frequency (step S1803: Yes), the CPU 101 sets the assigned clock frequency as the clock frequency of the CPU 101 (step S1804), and performs clock frequency control processing. Exit.

これにより、実行中の関数を検出し、割当テーブル102aに基づき、検出した関数に対応付けられた割当クロック周波数をCPU101のクロック周波数として設定することができる。また、一定時間ごとに実行中の関数を検出しているため、実行中の関数が終了し、あらたな関数が実行された場合にも、あらたに実行された関数を検出して、動的にCPU101のクロック周波数を変更していくことができる。   As a result, the function being executed can be detected, and the allocation clock frequency associated with the detected function can be set as the clock frequency of the CPU 101 based on the allocation table 102a. In addition, because the function being executed is detected every certain time, even if the function being executed is terminated and a new function is executed, the newly executed function is detected and dynamically The clock frequency of the CPU 101 can be changed.

このように、上述した実施の形態では、情報抽出装置100は、クロック周波数を変化させ、変化前後での関数の実行時間を測定して、クロック周波数の変化に対する実行時間の変化を調べて関数の依存度を算出する。これにより情報抽出装置100は、ソースコードの不明なプログラム(例えば、他者からの改変を防ぐためにバイナリ形式で提供されるプログラム)に対しても、プログラム内の関数の依存度を算出することができる。   As described above, in the above-described embodiment, the information extraction apparatus 100 changes the clock frequency, measures the execution time of the function before and after the change, examines the change in the execution time with respect to the change in the clock frequency, and Dependency is calculated. As a result, the information extraction apparatus 100 can calculate the dependence of the functions in the program even for a program whose source code is unknown (for example, a program provided in a binary format to prevent modification by others). it can.

一方、ソースコードに手を加えることが可能なプログラムであっても、プログラムのソースコードに手を加えることなしに関数の依存度を算出することができる。そのため、プログラマが手作業でソースコードに命令を書き込む必要がなく、書き込みに要していた時間や手間を削減することができる。また、書き込み時のヒューマンエラーを回避することができる。   On the other hand, even if the program can modify the source code, the dependence of the function can be calculated without modifying the program source code. Therefore, it is not necessary for the programmer to manually write instructions to the source code, and the time and labor required for writing can be reduced. In addition, human error during writing can be avoided.

そして、情報抽出装置100のユーザが記憶装置103に閾値(または周波数候補テーブル103e)を保持しておくことで、情報抽出装置100は、関数に対応付ける割当クロック周波数を自動的に決定し、割当テーブル102aを作成することができる。そのため、割当テーブル102aの作成に要する時間を削減することができる。また、予め閾値(または周波数候補テーブル103e)が保持されていれば、情報抽出装置100のユーザが依存度と割当クロック周波数の対応付けに詳しくなくても、割当テーブル102aを作成することができる。   Then, when the user of the information extraction device 100 holds the threshold value (or frequency candidate table 103e) in the storage device 103, the information extraction device 100 automatically determines the allocation clock frequency to be associated with the function, and the allocation table 102a can be created. Therefore, the time required for creating the allocation table 102a can be reduced. If a threshold (or frequency candidate table 103e) is stored in advance, the allocation table 102a can be created even if the user of the information extraction apparatus 100 is not familiar with the correspondence between the dependency and the allocation clock frequency.

また、情報抽出装置100は、算出した依存度を出力する。そのため、情報抽出装置100のユーザは、一律な基準に基づいて割当クロック周波数を決定するのではなく、出力された関数の依存度に基づいて、各関数の実行に最適な割当クロック周波数を関数ごとに決定することができる。   In addition, the information extraction device 100 outputs the calculated dependency. Therefore, the user of the information extraction apparatus 100 does not determine the allocation clock frequency based on a uniform standard, but determines the optimal allocation clock frequency for each function execution based on the dependency of the output function for each function. Can be determined.

ここで、最適なクロック周波数とは、最も消費電力の少なくなるクロック周波数を採用してもよいし、他のプログラムの処理効率を下げないように高クロック周波数を採用してもよい。   Here, the optimal clock frequency may be a clock frequency that consumes the least amount of power, or a high clock frequency so as not to lower the processing efficiency of other programs.

そして、情報抽出装置100は、特定情報から実行中の関数を検出し、主記憶装置102に保持された割当テーブル102aに基づき、実行中の関数の依存度に対応した割当クロック周波数をCPU101に動的に設定していく。従って、プログラムに対して「関数を実行する際にクロック周波数を変更する」という命令を書き加えることができない場合であっても、情報抽出装置100は、実行中の関数を検出しクロック周波数を変更することができる。   Then, the information extraction device 100 detects the function being executed from the specific information, and moves the assigned clock frequency corresponding to the dependency of the function being executed to the CPU 101 based on the assignment table 102a held in the main storage device 102. Set it up. Therefore, even if the instruction “change the clock frequency when executing the function” cannot be added to the program, the information extraction apparatus 100 detects the function being executed and changes the clock frequency. can do.

さらに、情報抽出装置100は、一定時間ごとに実行中の関数を検出しているため、実行中の関数が終了し、あらたな関数が実行された場合にも、あらたに実行された関数を検出して、動的にCPU101のクロック周波数を変更していくことができる。   Furthermore, since the information extraction apparatus 100 detects a function being executed at regular intervals, even when the function being executed ends and a new function is executed, the newly executed function is detected. Thus, the clock frequency of the CPU 101 can be changed dynamically.

このように、情報抽出装置100は、実行中の関数に対応した割当クロック周波数によってCPU101を動作させるようにしたため、依存度の低い関数の実行時には低クロック周波数でCPU101を動作させて省電力化を図ることができる。一方、依存度の高い関数の実行時には高クロック周波数でCPU101を動作させてパフォーマンスの低下を抑えることができる。   As described above, since the information extraction apparatus 100 operates the CPU 101 with the assigned clock frequency corresponding to the function being executed, the CPU 101 is operated with the low clock frequency when the function with low dependency is executed, thereby saving power. Can be planned. On the other hand, when a function with high dependency is executed, the CPU 101 can be operated at a high clock frequency to suppress a decrease in performance.

上述した実施の形態に関し、さらに以下の付記を開示する。   The following additional notes are disclosed with respect to the embodiment described above.

(付記1)第1のクロック周波数で動作中のプロセッサによるプログラムの実行中において、所定時間ごとに前記プログラム内の関数群のうちの実行中の関数を検出する第1の検出工程と、
前記第1のクロック周波数とは異なる第2のクロック周波数で動作中の前記プロセッサによる前記プログラムの実行中において、前記所定時間ごとに前記関数群のうちの実行中の関数を検出する第2の検出工程と、
前記関数群のうちのいずれかの関数について、前記第1の検出工程による前記いずれかの関数の第1の検出回数を計測する第1の計測工程と、
前記いずれかの関数について、前記第2の検出工程による前記いずれかの関数の第2の検出回数を計測する第2の計測工程と、
前記第1の検出回数から前記第2の検出回数への変化量に基づいて、クロック周波数の変化による前記いずれかの関数の実行時間の変化の度合いを示す依存度を算出する算出工程と、
前記算出工程によって算出された依存度を出力する出力工程と、
をコンピュータに実行させることを特徴とする情報抽出プログラム。
(Supplementary Note 1) A first detection step of detecting a function being executed from among a group of functions in the program every predetermined time during execution of a program by a processor operating at a first clock frequency;
Second detection for detecting a function being executed in the function group at each predetermined time during execution of the program by the processor operating at a second clock frequency different from the first clock frequency Process,
A first measurement step of measuring a first number of times of detection of any of the functions by the first detection step for any one of the functions in the function group;
A second measuring step of measuring the second number of times of detection of any one of the functions by the second detecting step for any one of the functions;
A calculation step of calculating a dependency indicating a degree of change in execution time of any of the functions due to a change in clock frequency, based on a change amount from the first detection number to the second detection number;
An output step of outputting the dependence calculated by the calculation step;
An information extraction program for causing a computer to execute.

(付記2)前記算出工程によって算出された依存度が閾値以下であるか否かを判定する判定工程と、
前記判定工程によって依存度が閾値以下であると判定された場合に、所定の低周波数の割当クロック周波数を前記いずれかの関数と関連付けて、割当テーブルに格納し、前記判定工程によって依存度が閾値より大きいと判定された場合に、所定の高周波数の割当クロック周波数を前記いずれかの関数と関連付けて、前記割当テーブルに格納する格納工程と、
を前記コンピュータに実行させることを特徴とする付記1に記載の情報抽出プログラム。
(Additional remark 2) The determination process which determines whether the dependence calculated by the said calculation process is below a threshold value,
When it is determined by the determination step that the dependency is equal to or less than a threshold, a predetermined low-frequency allocation clock frequency is associated with the one of the functions and stored in the allocation table, and the dependency is determined by the determination step. A storage step of associating a predetermined high-frequency allocation clock frequency with any one of the functions and storing it in the allocation table when it is determined that the allocation frequency is greater than
The information extraction program according to appendix 1, wherein the computer is executed.

(付記3)前記依存度ごとに対応する割当クロック周波数を保持するテーブルに基づいて、前記算出工程によって算出された依存度に対応する割当クロック周波数を前記いずれかの関数と関連付けて割当テーブルに格納する格納工程を前記コンピュータに実行させることを特徴とする付記1に記載の情報抽出プログラム。 (Additional remark 3) Based on the table holding the allocation clock frequency corresponding to each said dependence, the allocation clock frequency corresponding to the dependence calculated by the said calculation process is linked | related with one of the said functions, and it stores in an allocation table The information extraction program according to appendix 1, wherein the storage step is executed by the computer.

(付記4)前記プログラムをあらたに実行した場合において、前記関数群のうちの実行中の関数を検出する第3の検出工程と、
前記割当テーブルに基づいて、前記第3の検出工程によって検出された関数に対応する前記割当クロック周波数を前記プロセッサのクロック周波数として設定する設定工程と、
を前記コンピュータに実行させることを特徴とする付記2または3に記載の情報抽出プログラム。
(Supplementary Note 4) When the program is newly executed, a third detection step of detecting a function being executed in the function group;
A setting step of setting the allocation clock frequency corresponding to the function detected by the third detection step as a clock frequency of the processor based on the allocation table;
The information extraction program according to appendix 2 or 3, wherein the computer is executed.

(付記5)第1の検出手段と、第2の検出手段と、第1の計測手段と、第2の計測手段と、算出手段と、出力手段と、を備えるコンピュータが、
前記第1の検出手段により、第1のクロック周波数で動作中のプロセッサによるプログラムの実行中において、所定時間ごとに前記プログラム内の関数群のうちの実行中の関数を検出する第1の検出工程と、
前記第2の検出手段により、前記第1のクロック周波数とは異なる第2のクロック周波数で動作中の前記プロセッサによる前記プログラムの実行中において、前記所定時間ごとに前記関数群のうちの実行中の関数を検出する第2の検出工程と、
前記第1の計測手段により、前記関数群のうちのいずれかの関数について、前記第1の検出工程による前記いずれかの関数の第1の検出回数を計測する第1の計測工程と、
前記第2の計測手段により、前記いずれかの関数について、前記第2の検出工程による前記いずれかの関数の第2の検出回数を計測する第2の計測工程と、
前記算出手段により、前記第1の検出回数から前記第2の検出回数への変化量に基づいて、クロック周波数の変化による前記いずれかの関数の実行時間の変化の度合いを示す依存度を算出する算出工程と、
前記出力手段により、前記算出工程によって算出された依存度を出力する出力工程と、
を実行することを特徴とする情報抽出方法。
(Supplementary Note 5) A computer including first detection means, second detection means, first measurement means, second measurement means, calculation means, and output means,
A first detection step of detecting a function being executed in a group of functions in the program at predetermined time intervals during execution of a program by a processor operating at a first clock frequency by the first detection means. When,
While the program is being executed by the processor operating at a second clock frequency different from the first clock frequency by the second detection means, the function group being executed is being executed at each predetermined time. A second detection step for detecting a function;
A first measurement step of measuring the first number of times of detection of any one of the functions by the first detection step by the first measurement means;
A second measuring step of measuring the second number of times of detection of any one of the functions by the second detecting step by the second measuring means;
Based on the amount of change from the first number of detections to the second number of detections, the calculation means calculates a dependency indicating the degree of change in the execution time of any one of the functions due to a change in clock frequency. A calculation process;
An output step of outputting the dependence calculated by the calculation step by the output means;
The information extraction method characterized by performing.

(付記6)判定手段と、格納手段と、をさらに備える前記コンピュータが、
前記判定手段により、前記算出工程によって算出された依存度が閾値以下であるか否かを判定する判定工程と、
前記格納手段により、前記判定工程によって依存度が閾値以下であると判定された場合に、所定の低周波数の割当クロック周波数を前記いずれかの関数と関連付けて、割当テーブルに格納し、前記判定工程によって依存度が閾値より大きいと判定された場合に、所定の高周波数の割当クロック周波数を前記いずれかの関数と関連付けて、前記割当テーブルに格納する格納工程と、
を実行することを特徴とする付記5に記載の情報抽出方法。
(Additional remark 6) The said computer further provided with a determination means and a storage means,
A determination step of determining whether or not the dependence calculated by the calculation step is equal to or less than a threshold by the determination unit;
When the storage unit determines that the dependency is less than or equal to a threshold value by the storage unit, a predetermined low frequency allocation clock frequency is associated with the function and stored in the allocation table, and the determination step A storage step of storing a predetermined high-frequency allocation clock frequency in association with any one of the functions and storing it in the allocation table when it is determined that the dependence is greater than a threshold value,
The information extraction method according to appendix 5, wherein:

(付記7)格納手段をさらに備える前記コンピュータが、
前記格納手段により、前記依存度ごとに対応する割当クロック周波数を保持するテーブルに基づいて、前記算出工程によって算出された依存度に対応する割当クロック周波数を前記いずれかの関数と関連付けて割当テーブルに格納する格納工程を実行することを特徴とする付記5に記載の情報抽出方法。
(Supplementary note 7) The computer further comprising storage means,
Based on the table that holds the allocation clock frequency corresponding to each dependency by the storage means, the allocation clock frequency corresponding to the dependency calculated by the calculation step is associated with any one of the functions in the allocation table. The information extracting method according to appendix 5, wherein a storing step of storing is executed.

(付記8)第3の検出手段と、設定手段と、をさらに備える前記コンピュータが、
前記検出手段により、前記プログラムをあらたに実行した場合において、前記関数群のうちの実行中の関数を検出する第3の検出工程と、
前記設定手段により、前記割当テーブルに基づいて、前記第3の検出工程によって検出された関数に対応する前記割当クロック周波数を前記プロセッサのクロック周波数として設定する設定工程と、
を実行することを特徴とする付記6または7に記載の情報抽出方法。
(Supplementary note 8) The computer further comprising third detection means and setting means,
A third detection step of detecting a function being executed in the function group when the program is newly executed by the detection means;
A setting step by which the setting means sets the allocation clock frequency corresponding to the function detected by the third detection step as a clock frequency of the processor based on the allocation table;
The information extracting method according to appendix 6 or 7, characterized in that:

(付記9)第1のクロック周波数で動作中のプロセッサによるプログラムの実行中において、所定時間ごとに前記プログラム内の関数群のうちの実行中の関数を検出する第1の検出手段と、
前記第1のクロック周波数とは異なる第2のクロック周波数で動作中の前記プロセッサによる前記プログラムの実行中において、前記所定時間ごとに前記関数群のうちの実行中の関数を検出する第2の検出手段と、
前記関数群のうちのいずれかの関数について、前記第1の検出手段による前記いずれかの関数の第1の検出回数を計測する第1の計測手段と、
前記いずれかの関数について、前記第2の検出手段による前記いずれかの関数の第2の検出回数を計測する第2の計測手段と、
前記第1の検出回数から前記第2の検出回数への変化量に基づいて、クロック周波数の変化による前記いずれかの関数の実行時間の変化の度合いを示す依存度を算出する算出手段と、
前記算出手段によって算出された依存度を出力する出力手段と、
を備えることを特徴とする情報抽出装置。
(Supplementary note 9) First detection means for detecting a function being executed from among a group of functions in the program every predetermined time during execution of a program by a processor operating at a first clock frequency;
Second detection for detecting a function being executed in the function group at each predetermined time during execution of the program by the processor operating at a second clock frequency different from the first clock frequency Means,
First measuring means for measuring a first number of times of detection of any one of the functions by the first detecting means for any function in the function group;
A second measuring means for measuring the second number of detections of the function by the second detecting means for any one of the functions;
Calculation means for calculating a dependency indicating a degree of change in execution time of any one of the functions due to a change in clock frequency based on an amount of change from the first number of detections to the second number of detections;
Output means for outputting the dependence calculated by the calculation means;
An information extraction device comprising:

(付記10)前記算出手段によって算出された依存度が閾値以下であるか否かを判定する判定手段と、
前記判定手段によって依存度が閾値以下であると判定された場合に、所定の低周波数の割当クロック周波数を前記いずれかの関数と関連付けて、割当テーブルに格納し、前記判定手段によって依存度が閾値より大きいと判定された場合に、所定の高周波数の割当クロック周波数を前記いずれかの関数と関連付けて、前記割当テーブルに格納する格納手段と、
を備えることを特徴とする付記9に記載の情報抽出装置。
(Additional remark 10) The determination means which determines whether the dependence calculated by the said calculation means is below a threshold value,
When the determination means determines that the dependence is less than or equal to the threshold, a predetermined low-frequency allocation clock frequency is stored in the allocation table in association with any one of the functions, and the dependence is determined by the determination means Storage means for associating a predetermined high-frequency allocation clock frequency with any one of the functions and storing it in the allocation table when it is determined that the allocation clock frequency is greater than
The information extraction device according to appendix 9, characterized by comprising:

(付記11)前記依存度ごとに対応する割当クロック周波数を保持するテーブルに基づいて、前記算出手段によって算出された依存度に対応する割当クロック周波数を前記いずれかの関数と関連付けて割当テーブルに格納する格納手段を備えることを特徴とする付記9に記載の情報抽出装置。 (Additional remark 11) Based on the table holding the allocation clock frequency corresponding to each said dependence, the allocation clock frequency corresponding to the dependence calculated by the said calculation means is linked | related with one of the said functions, and it stores in an allocation table The information extraction device according to appendix 9, further comprising storage means for performing

(付記12)前記プログラムをあらたに実行した場合において、前記関数群のうちの実行中の関数を検出する第3の検出手段と、
前記割当テーブルに基づいて、前記第3の検出手段によって検出された関数に対応する前記割当クロック周波数を前記プロセッサのクロック周波数として設定する設定手段と、
を備えることを特徴とする付記10または11に記載の情報抽出装置。
(Supplementary Note 12) Third detection means for detecting a function being executed in the function group when the program is newly executed;
Setting means for setting the assigned clock frequency corresponding to the function detected by the third detecting means as a clock frequency of the processor based on the assignment table;
The information extraction device according to appendix 10 or 11, characterized by comprising:

100 情報抽出装置
X プログラム
901 第1の検出部
902 第2の検出部
903 第1の計測部
904 第2の計測部
905 算出部
906 出力部
907 判定部
908 格納部
909 第3の検出部
910 設定部
DESCRIPTION OF SYMBOLS 100 Information extraction apparatus X Program 901 1st detection part 902 2nd detection part 903 1st measurement part 904 2nd measurement part 905 Calculation part 906 Output part 907 Determination part 908 Storage part 909 3rd detection part 910 Setting Part

Claims (6)

第1のクロック周波数で動作中のプロセッサによるプログラムの実行中において、所定時間ごとに前記プログラム内の関数群のうちの実行中の関数を検出する第1の検出工程と、
前記第1のクロック周波数とは異なる第2のクロック周波数で動作中の前記プロセッサによる前記プログラムの実行中において、前記所定時間ごとに前記関数群のうちの実行中の関数を検出する第2の検出工程と、
前記関数群のうちのいずれかの関数について、前記第1の検出工程による前記いずれかの関数の第1の検出回数を計測する第1の計測工程と、
前記いずれかの関数について、前記第2の検出工程による前記いずれかの関数の第2の検出回数を計測する第2の計測工程と、
前記第1の検出回数から前記第2の検出回数への変化量に基づいて、クロック周波数の変化による前記いずれかの関数の実行時間の変化の度合いを示す依存度を算出する算出工程と、
前記算出工程によって算出された依存度を出力する出力工程と、
をコンピュータに実行させることを特徴とする情報抽出プログラム。
A first detection step of detecting a function being executed from among a group of functions in the program every predetermined time during execution of a program by a processor operating at a first clock frequency;
Second detection for detecting a function being executed in the function group at each predetermined time during execution of the program by the processor operating at a second clock frequency different from the first clock frequency Process,
A first measurement step of measuring a first number of times of detection of any of the functions by the first detection step for any one of the functions in the function group;
A second measuring step of measuring the second number of times of detection of any one of the functions by the second detecting step for any one of the functions;
A calculation step of calculating a dependency indicating a degree of change in execution time of any of the functions due to a change in clock frequency, based on a change amount from the first detection number to the second detection number;
An output step of outputting the dependence calculated by the calculation step;
An information extraction program for causing a computer to execute.
前記算出工程によって算出された依存度が閾値以下であるか否かを判定する判定工程と、
前記判定工程によって依存度が閾値以下であると判定された場合に、所定の低周波数の割当クロック周波数を前記いずれかの関数と関連付けて、割当テーブルに格納し、前記判定工程によって依存度が閾値より大きいと判定された場合に、所定の高周波数の割当クロック周波数を前記いずれかの関数と関連付けて、前記割当テーブルに格納する格納工程と、
を前記コンピュータに実行させることを特徴とする請求項1に記載の情報抽出プログラム。
A determination step of determining whether or not the degree of dependence calculated by the calculation step is equal to or less than a threshold;
When it is determined by the determination step that the dependency is equal to or less than a threshold, a predetermined low-frequency allocation clock frequency is associated with the one of the functions and stored in the allocation table, and the dependency is determined by the determination step. A storage step of associating a predetermined high-frequency allocation clock frequency with any one of the functions and storing it in the allocation table when it is determined that the allocation frequency is greater than
The information extraction program according to claim 1, wherein the computer is executed.
前記依存度ごとに対応する割当クロック周波数を保持するテーブルに基づいて、前記算出工程によって算出された依存度に対応する割当クロック周波数を前記いずれかの関数と関連付けて割当テーブルに格納する格納工程を前記コンピュータに実行させることを特徴とする請求項1に記載の情報抽出プログラム。   A storage step of storing the allocation clock frequency corresponding to the dependency calculated by the calculation step in the allocation table in association with any one of the functions based on a table holding the allocation clock frequency corresponding to each dependency; The information extraction program according to claim 1, which is executed by the computer. 前記プログラムをあらたに実行した場合において、前記関数群のうちの実行中の関数を検出する第3の検出工程と、
前記割当テーブルに基づいて、前記第3の検出工程によって検出された関数に対応する前記割当クロック周波数を前記プロセッサのクロック周波数として設定する設定工程と、
を前記コンピュータに実行させることを特徴とする請求項2または3に記載の情報抽出プログラム。
A third detection step of detecting a function being executed in the function group when the program is newly executed;
A setting step of setting the allocation clock frequency corresponding to the function detected by the third detection step as a clock frequency of the processor based on the allocation table;
The information extraction program according to claim 2, wherein the computer is executed.
第1の検出手段と、第2の検出手段と、第1の計測手段と、第2の計測手段と、算出手段と、出力手段と、を備えるコンピュータが、
前記第1の検出手段により、第1のクロック周波数で動作中のプロセッサによるプログラムの実行中において、所定時間ごとに前記プログラム内の関数群のうちの実行中の関数を検出する第1の検出工程と、
前記第2の検出手段により、前記第1のクロック周波数とは異なる第2のクロック周波数で動作中の前記プロセッサによる前記プログラムの実行中において、前記所定時間ごとに前記関数群のうちの実行中の関数を検出する第2の検出工程と、
前記第1の計測手段により、前記関数群のうちのいずれかの関数について、前記第1の検出工程による前記いずれかの関数の第1の検出回数を計測する第1の計測工程と、
前記第2の計測手段により、前記いずれかの関数について、前記第2の検出工程による前記いずれかの関数の第2の検出回数を計測する第2の計測工程と、
前記算出手段により、前記第1の検出回数から前記第2の検出回数への変化量に基づいて、クロック周波数の変化による前記いずれかの関数の実行時間の変化の度合いを示す依存度を算出する算出工程と、
前記出力手段により、前記算出工程によって算出された依存度を出力する出力工程と、
を実行することを特徴とする情報抽出方法。
A computer comprising a first detection means, a second detection means, a first measurement means, a second measurement means, a calculation means, and an output means,
A first detection step of detecting a function being executed in a group of functions in the program at predetermined time intervals during execution of a program by a processor operating at a first clock frequency by the first detection means. When,
While the program is being executed by the processor operating at a second clock frequency different from the first clock frequency by the second detection means, the function group being executed is being executed at each predetermined time. A second detection step for detecting a function;
A first measurement step of measuring the first number of times of detection of any one of the functions by the first detection step by the first measurement means;
A second measuring step of measuring the second number of times of detection of any one of the functions by the second detecting step by the second measuring means;
Based on the amount of change from the first number of detections to the second number of detections, the calculation means calculates a dependency indicating the degree of change in the execution time of any one of the functions due to a change in clock frequency. A calculation process;
An output step of outputting the dependence calculated by the calculation step by the output means;
The information extraction method characterized by performing.
第1のクロック周波数で動作中のプロセッサによるプログラムの実行中において、所定時間ごとに前記プログラム内の関数群のうちの実行中の関数を検出する第1の検出手段と、
前記第1のクロック周波数とは異なる第2のクロック周波数で動作中の前記プロセッサによる前記プログラムの実行中において、前記所定時間ごとに前記関数群のうちの実行中の関数を検出する第2の検出手段と、
前記関数群のうちのいずれかの関数について、前記第1の検出手段による前記いずれかの関数の第1の検出回数を計測する第1の計測手段と、
前記いずれかの関数について、前記第2の検出手段による前記いずれかの関数の第2の検出回数を計測する第2の計測手段と、
前記第1の検出回数から前記第2の検出回数への変化量に基づいて、クロック周波数の変化による前記いずれかの関数の実行時間の変化の度合いを示す依存度を算出する算出手段と、
前記算出手段によって算出された依存度を出力する出力手段と、
を備えることを特徴とする情報抽出装置。
First detection means for detecting a function being executed from among a group of functions in the program every predetermined time during execution of a program by a processor operating at a first clock frequency;
Second detection for detecting a function being executed in the function group at each predetermined time during execution of the program by the processor operating at a second clock frequency different from the first clock frequency Means,
First measuring means for measuring a first number of times of detection of any one of the functions by the first detecting means for any function in the function group;
A second measuring means for measuring the second number of detections of the function by the second detecting means for any one of the functions;
Calculation means for calculating a dependency indicating a degree of change in execution time of any one of the functions due to a change in clock frequency based on an amount of change from the first number of detections to the second number of detections;
Output means for outputting the dependence calculated by the calculation means;
An information extraction device comprising:
JP2011027948A 2011-02-10 2011-02-10 Information extraction program, information extraction method, and information extraction apparatus Active JP5601236B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011027948A JP5601236B2 (en) 2011-02-10 2011-02-10 Information extraction program, information extraction method, and information extraction apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011027948A JP5601236B2 (en) 2011-02-10 2011-02-10 Information extraction program, information extraction method, and information extraction apparatus

Publications (2)

Publication Number Publication Date
JP2012168660A JP2012168660A (en) 2012-09-06
JP5601236B2 true JP5601236B2 (en) 2014-10-08

Family

ID=46972773

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011027948A Active JP5601236B2 (en) 2011-02-10 2011-02-10 Information extraction program, information extraction method, and information extraction apparatus

Country Status (1)

Country Link
JP (1) JP5601236B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5974856B2 (en) * 2012-11-27 2016-08-23 富士通株式会社 Sampling program, sampling method and information processing apparatus
JP5595571B1 (en) * 2013-09-13 2014-09-24 三菱電機株式会社 Control device
JP6544013B2 (en) * 2015-04-16 2019-07-17 富士通株式会社 Information processing apparatus, power consumption measurement program, and power consumption measurement method
JP6631374B2 (en) * 2016-04-13 2020-01-15 富士通株式会社 Information processing apparatus, operation status collection program, and operation status collection method

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10240581A (en) * 1997-02-28 1998-09-11 Fujitsu Ltd Cpu time measuring instrument
JP3573957B2 (en) * 1998-05-20 2004-10-06 インターナショナル・ビジネス・マシーンズ・コーポレーション Operating speed control method of processor in computer and computer
GB2393294B (en) * 2001-04-27 2005-04-06 Ibm Method and apparatus for controlling operation speed of processor
WO2009125789A1 (en) * 2008-04-09 2009-10-15 日本電気株式会社 Computer system and method for operation of the same
JP5564564B2 (en) * 2009-07-24 2014-07-30 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド Method and apparatus for non-uniformly changing the performance of a computing unit according to performance sensitivity

Also Published As

Publication number Publication date
JP2012168660A (en) 2012-09-06

Similar Documents

Publication Publication Date Title
US7239980B2 (en) Method and apparatus for adaptive tracing with different processor frequencies
US9405575B2 (en) Use of multi-thread hardware for efficient sampling
US20120084028A1 (en) Framework and Methodology for a Real-Time Fine-Grained Power Profiling with Integrated Modeling
JP5601236B2 (en) Information extraction program, information extraction method, and information extraction apparatus
US8091073B2 (en) Scaling instruction intervals to identify collection points for representative instruction traces
US8904351B2 (en) Maintenance of a subroutine repository for an application under test based on subroutine usage information
US9996332B2 (en) Accurately estimating install time
CN105183592B (en) Method and apparatus for supporting performance evaluation
US8798962B2 (en) Virtualized abstraction with built-in data alignment and simultaneous event monitoring in performance counter based application characterization and tuning
CN103714004A (en) JVM online memory leak analysis method and system
US9710289B2 (en) Rapid configuration of software
KR102161192B1 (en) Method and apparatus for data mining from core trace
CN107729227A (en) Application testing range determining method, system, server and storage medium
US8855969B2 (en) Frequency guard band validation of processors
US9086888B2 (en) Using a plurality of tables for improving performance in predicting branches in processor instructions
CN111104104A (en) Method and device for visualizing function call time and statistical result and readable medium
CN103049374A (en) Automatic testing method and device
CN101414304A (en) Method for analyzing Windows system physical internal memory based on K P C R structure
US10409636B2 (en) Apparatus and method to correct an execution time of a program executed by a virtual machine
US9778854B2 (en) Computer system and method for controlling hierarchical storage therefor
CN103593587A (en) Component-based identification method and device of long-chain RNA secondary structures with pseudo knots
US20150154103A1 (en) Method and apparatus for measuring software performance
CN104685473B (en) A kind of method for testing software and device
US10467118B2 (en) Techniques for performance analysis of processor instruction execution
CN115328736A (en) Probe deployment method, device, equipment and storage medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131106

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140704

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: 20140722

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140804

R150 Certificate of patent or registration of utility model

Ref document number: 5601236

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150