JP2923918B2 - Trace data search method - Google Patents

Trace data search method

Info

Publication number
JP2923918B2
JP2923918B2 JP4229503A JP22950392A JP2923918B2 JP 2923918 B2 JP2923918 B2 JP 2923918B2 JP 4229503 A JP4229503 A JP 4229503A JP 22950392 A JP22950392 A JP 22950392A JP 2923918 B2 JP2923918 B2 JP 2923918B2
Authority
JP
Japan
Prior art keywords
processing
address
trace
value
trace data
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.)
Expired - Lifetime
Application number
JP4229503A
Other languages
Japanese (ja)
Other versions
JPH0675832A (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.)
Efu Efu Shii Kk
Fuji Electric Co Ltd
Original Assignee
Efu Efu Shii Kk
Fuji Electric Co 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 Efu Efu Shii Kk, Fuji Electric Co Ltd filed Critical Efu Efu Shii Kk
Priority to JP4229503A priority Critical patent/JP2923918B2/en
Publication of JPH0675832A publication Critical patent/JPH0675832A/en
Application granted granted Critical
Publication of JP2923918B2 publication Critical patent/JP2923918B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【産業上の利用分野】本発明は、トレースデータの検索
方式に関するものであり、詳しくは、種々の制御演算装
置におけるプログラムの実行過程を逐次モニタして収集
したトレースデータのなかから、システム内の表示装置
に表示すべき所定の処理データを抽出するためのトレー
スデータの検索方式に係わるものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a method for searching trace data, and more particularly, to a system for monitoring the execution of a program in various control arithmetic devices, which is obtained by sequentially monitoring the program execution process. The present invention relates to a trace data search method for extracting predetermined processing data to be displayed on a display device.

【0002】[0002]

【従来の技術】一般に、コンピュータやコントローラ等
に代表される制御演算装置を対象として作成されたプロ
グラムが正常に機能するか否かを知るためには、少なく
とも、そのプログラムにおける個々の命令の実行結果を
個々に表示する機能が必要とされる。このため、従来の
制御演算装置の多くには、プログラムの実行過程を逐次
モニタしてトレースデータを収集し、さらに、その収集
したトレースデータに含まれる処理データをシステム内
のおけるCRT(cathode ray tube) 等の表示装置に表
示するトレース機能が予め用意されている。
2. Description of the Related Art Generally, in order to know whether or not a program created for a control arithmetic unit represented by a computer, a controller or the like functions normally, at least the execution result of each instruction in the program must be determined. Are required to be displayed individually. For this reason, many conventional control arithmetic devices sequentially monitor the execution process of a program to collect trace data, and further process data included in the collected trace data into a CRT (cathode ray tube) in the system. ), Etc., a trace function for displaying on a display device is prepared in advance.

【0003】以下、その制御演算装置による実際のトレ
ース機能の詳細を説明する。図5は、トレース機能を有
する制御演算装置の一般的なシステム構成を示すブロッ
ク図である。
Hereinafter, details of an actual trace function by the control arithmetic unit will be described. FIG. 5 is a block diagram showing a general system configuration of a control arithmetic device having a trace function.

【0004】同図に示すように、コンピュータやコント
ローラ等の制御演算装置1は、演算実行部11と、プロ
グラムメモリ12と、プログラムカウンタ13と、デー
タメモリ14と、トレースメモリ15と、トレースメモ
リ制御部16とを有して構成されている。また、システ
ム内には、以上のように構成される制御演算装置1のほ
かに、CRT等の表示装置2が用意されている。
As shown in FIG. 1, a control arithmetic unit 1 such as a computer or a controller includes an arithmetic execution unit 11, a program memory 12, a program counter 13, a data memory 14, a trace memory 15, and a trace memory control unit. And a section 16. Further, in the system, a display device 2 such as a CRT is prepared in addition to the control operation device 1 configured as described above.

【0005】このうち、演算実行部11は、プログラム
メモリ12に格納されているプログラム、すなわち、制
御演算装置1を対象として作成されたプログラムの個々
の命令をプログラムカウンタ13のアドレッシングに従
って1命令ずつ順に演算実行し、そのための作業領域と
してデータメモリ14を使用するようになっている。ま
た、このプログラムの個々の命令の演算実行と同時に、
そのとき演算実行中の命令のアドレス及びその命令の演
算実行の結果としてのデータが、それぞれ、処理アドレ
ス及び処理データとしてトレースメモリ15に順に格納
されるようになっている。そして、トレースメモリ制御
部16は、トレースメモリ15に順に格納された処理ア
ドレス及び処理データをトレースデータとして表示装置
2に対して順に出力し、この表示装置2において、所定
の処理データが順に表示されるようになっている。
[0005] Among them, the operation execution unit 11 sequentially executes individual instructions of a program stored in the program memory 12, that is, a program created for the control operation device 1, one by one according to the addressing of the program counter 13. The calculation is executed, and the data memory 14 is used as a work area therefor. Simultaneously with the execution of the operation of each instruction of this program,
At this time, the address of the instruction being executed and the data resulting from the execution of the instruction are sequentially stored in the trace memory 15 as a processing address and processing data, respectively. Then, the trace memory control unit 16 sequentially outputs the processing addresses and the processing data sequentially stored in the trace memory 15 to the display device 2 as trace data, and on the display device 2, predetermined processing data is sequentially displayed. It has become so.

【0006】以下、簡単なプログラムの一例を挙げなが
ら、以上のように構成された制御演算装置1による実際
のトレースの様子を説明する。図6は、FB(function
block) 図で書かれたソースプログラムの一例を示す図
である。また、図7は、図6に示したソースプログラム
をコンパイルして得られたオブジェクトプログラムの一
例を示す図である。
Hereinafter, an actual tracing by the control arithmetic unit 1 configured as described above will be described with reference to an example of a simple program. FIG. 6 shows FB (function
block) is a diagram illustrating an example of a source program written in the diagram. FIG. 7 is a diagram showing an example of an object program obtained by compiling the source program shown in FIG.

【0007】両図に示すように、この一連のプログラム
には、3回のループ処理が含まれている。すなわち、そ
の3回のループ処理は、図6のソースプログラムにおい
ては、「LOOP3」及び「LOOPEND」によって
示されており、図7のオブジェクトプログラムにおいて
は、プログラムメモリアドレス(プログラムメモリ12
におけるアドレス、すなわち、トレースメモリ15に順
に格納された処理アドレス)の0002番地における
「L1: LD ACC,MEM1」及び0005番地
における「LOOP L1,3」によって示されてい
る。なお、図中において、MEM1、MEM2及びME
M3はデータメモリ14を使用した変数を表しており、
また、ACCはシステム内のアキュームレータを表して
いる。そして、制御演算装置1は、以上のような図7の
オブジェクトプログラムをプログラムメモリアドレスの
0000番地の命令から順に演算実行していき、そのと
き演算実行中の命令のアドレス及びその命令の演算実行
の結果としてのデータが、処理アドレス及び処理データ
から成るトレースデータ列としてトレースメモリ15に
順に格納されるようになる。
[0007] As shown in both figures, this series of programs includes three loop processes. That is, the three loop processes are indicated by “LOOP3” and “LOOPEND” in the source program of FIG. 6, and in the object program of FIG.
(L1, LD ACC, MEM1) at address 0002 and "LOOP L1, 3" at address 0005. In the figure, MEM1, MEM2 and ME
M3 represents a variable using the data memory 14,
ACC represents an accumulator in the system. Then, the control operation device 1 executes the object program of FIG. 7 as described above in order from the instruction at the address 0000 of the program memory address, and then executes the address of the instruction being executed and the execution of the operation of the instruction. The resulting data is sequentially stored in the trace memory 15 as a trace data string including a processing address and processing data.

【0008】以下、そのトレースデータ列がトレースメ
モリ15に格納された状態を説明する。図8は、図7に
示したオブジェクトプログラムの演算実行に伴ってトレ
ースメモリ15に格納されたトレースデータ列の状態を
示す図である。
Hereinafter, a state where the trace data string is stored in the trace memory 15 will be described. FIG. 8 is a diagram showing a state of the trace data string stored in the trace memory 15 in accordance with the execution of the operation of the object program shown in FIG.

【0009】同図に示すように、トレースメモリ15に
格納されたトレースデータ列は、処理アドレスと処理デ
ータとが一つの命令の演算実行の結果として2ワードに
割り当てられており、かつ、この処理アドレスと処理デ
ータとの組み合わせが、図7のオブジェクトプログラム
の演算実行の順に書き込まれたものとなっている。ま
た、トレースメモリ15には、トレースデータ列のなか
で処理アドレスが書き込まれている個々の格納アドレス
のうち先頭アドレスを示すトレース開始ポインタと、同
じく末尾を示すトレース終了ポインタとが設定されてお
り、さらに、これらトレース開始ポインタとトレース終
了ポインタとの間に存在する個々のトレースデータを検
索するために+2ずつ更新されるトレースデータ検索ポ
インタが設定されている。
As shown in FIG. 1, in the trace data string stored in the trace memory 15, a processing address and processing data are assigned to two words as a result of execution of an operation of one instruction. The combination of the address and the processing data is written in the order of execution of the operation of the object program in FIG. Further, in the trace memory 15, a trace start pointer indicating a start address and a trace end pointer indicating the end are set among individual storage addresses in which a processing address is written in a trace data string. Further, a trace data search pointer that is updated by +2 is set to search for individual trace data existing between the trace start pointer and the trace end pointer.

【0010】すなわち、図7のオブジェクトプログラム
によれば、それが3回のループ処理を含んでおり、実際
には13命令分のトレースデータがトレースメモリ15
に存在しているので、前述のトレース開始ポインタは、
トレースメモリ15における格納アドレスの1000H
(「H」は16進表記であることを示す。以下同じ)番
地となり、トレース終了ポインタは、最後の13命令目
の1018H番地となる。そして、トレースメモリ制御
部16は、以上のように設定されたトレース開始ポイン
タ、トレース終了ポインタ及びトレースデータ検索ポイ
ンタに基づき、トレースメモリ15に格納されたトレー
スデータ列のなかの個々の処理アドレスを順に検索し、
その検索した個々の処理アドレスと、それに対応する個
々の処理データとを表示装置2に対して順に出力し、そ
の出力された個々の処理データが表示装置2の画面上に
順に表示されるようになる。
[0010] That is, according to the object program of FIG. 7, it includes three loop processes, and in practice, trace data for 13 instructions is stored in the trace memory 15.
, So the above trace start pointer is
1000H of storage address in trace memory 15
("H" indicates hexadecimal notation; the same applies hereinafter), and the trace end pointer is 1018H of the last thirteenth instruction. Then, based on the trace start pointer, the trace end pointer, and the trace data search pointer set as described above, the trace memory control unit 16 sequentially processes the individual processing addresses in the trace data sequence stored in the trace memory 15. Search and
The retrieved individual processing addresses and the corresponding individual processing data are sequentially output to the display device 2 so that the output individual processing data is sequentially displayed on the screen of the display device 2. Become.

【0011】以下、その処理データが表示装置2に表示
された状態を説明する。図9は、図8に示したトレース
データ列のうち所定の処理データが表示装置2の画面上
に表示された状態を示す図である。
Hereinafter, a state in which the processed data is displayed on the display device 2 will be described. FIG. 9 is a diagram illustrating a state where predetermined processing data in the trace data string illustrated in FIG. 8 is displayed on the screen of the display device 2.

【0012】同図に示すように、表示装置2の画面上に
は、図8に示したトレースデータ列に含まれる個々の処
理データのうち、トレースメモリ15における格納アド
レスの1001H、1003H、1011H、1013
H、1015H、1017H及び1019Hのそれぞれ
の番地に書き込まれている処理データである「0」、
「3」、「6」、「3」、「9」、「9」及び「9」の
みが対応箇所に表示されている。
As shown in FIG. 1, on the screen of the display device 2, the storage addresses 1001H, 1003H, 1011H, and 1003H stored in the trace memory 15 among the individual processing data included in the trace data string shown in FIG. 1013
H, 1015H, 1017H, and 1019H, which are the processing data written at the respective addresses “0”,
Only “3”, “6”, “3”, “9”, “9” and “9” are displayed at the corresponding locations.

【0013】詳しくは、システム内の表示装置2には、
制御演算装置1を対象として作成されたプログラムと同
一のプログラムが用意されており、この表示装置2にお
けるプログラムにより、トレースメモリ制御部16から
順に出力されてきた処理データが表示装置2の画面上の
対応箇所(表示装置2におけるプログラム中の個々の処
理アドレスが示す画面上の特定領域)に順に表示され
る。ただし、トレースメモリ15における格納アドレス
の1005H、1007H、1009H、100BH、
100DH及び100FHのそれぞれの番地に書き込ま
れている処理データは、それがループ処理内に存在する
ものであることから、トレースメモリ制御部16から表
示装置2に対して出力された順に画面上の対応箇所に上
書き表示されて画面上から消去され、最終的に、図示の
演算子「+」の前後の領域には、トレースメモリ15に
おける格納アドレスの1011H、1013H及び10
15Hのそれぞれの番地に書き込まれている処理デー
タ、すなわち、最後のループ処理に係わる処理データの
「6」、「3」及び「9」が表示されることになる。
Specifically, the display device 2 in the system includes:
The same program as the program created for the control operation device 1 is prepared, and the processing data sequentially output from the trace memory control unit 16 is displayed on the screen of the display device 2 by the program on the display device 2. They are sequentially displayed at corresponding locations (specific areas on the screen indicated by individual processing addresses in the program on the display device 2). However, the storage addresses 1005H, 1007H, 1009H, 100BH,
Since the processing data written in the respective addresses of 100DH and 100FH exists in the loop processing, the processing data on the screen is output in order from the trace memory control unit 16 to the display device 2 because the processing data exists in the loop processing. The location is overwritten and erased from the screen, and finally, in the area before and after the operator “+” shown in the figure, the storage addresses 1011H, 1013H, and 1010 in the trace memory 15 are stored.
The processing data written at each address of 15H, that is, “6”, “3”, and “9” of the processing data related to the last loop processing are displayed.

【0014】以上の結果、制御演算装置1を対象として
作成されたプログラムの個々の命令の実行結果を個々に
表示するトレース機能が実現され、そのプログラムが正
常に機能するか否かを知ることが可能となる。
As a result, a trace function for individually displaying execution results of individual instructions of a program created for the control arithmetic unit 1 is realized, and it is possible to know whether or not the program functions normally. It becomes possible.

【0015】[0015]

【発明が解決しようとする課題】ところで、上述した従
来のトレース機能によるトレースデータの検索方式にお
いては、制御演算装置1を対象として作成されたプログ
ラム中に例示したようなループ処理が含まれている場合
でも、トレースメモリ制御部16がトレースメモリ15
に格納されたトレースデータ列における全てのトレース
データを表示装置2に対して出力するため、そのループ
処理に応じてトレースメモリ15に重複して格納された
同一の処理データさえも表示装置2の画面上に何度も上
書き表示されている。これでは、プログラム中に多くの
ループ処理が存在している場合に、表示装置2に出力さ
れるトレースデータの量が必然的に多くなってしまい、
その結果、表示装置2への処理データの出力時間の総計
が長くなり、所定の処理データの表示が完了するまでの
時間が遅くなってしまう。
By the way, in the above-described conventional trace data search method using the trace function, a loop process as exemplified in a program created for the control arithmetic unit 1 is included. Even in this case, the trace memory control unit 16
In order to output all trace data in the trace data string stored in the display device 2 to the display device 2, even the same processing data redundantly stored in the trace memory 15 in accordance with the loop processing is displayed on the screen of the display device 2. It is overwritten many times above. In this case, when many loop processes exist in the program, the amount of trace data output to the display device 2 inevitably increases,
As a result, the total output time of the processing data to the display device 2 becomes longer, and the time until the display of the predetermined processing data is completed is delayed.

【0016】また、制御演算装置1のなかには、トレー
スメモリ15に格納されたトレースデータ列における処
理アドレスの値が予め設定した期待値と一致したことを
検出する条件一致検出機能を有するものがあるが、こう
した制御演算装置1によるトレースデータの検索方式に
おいても、上述の方式と同様に、プログラム中のループ
処理内の処理データは上書き表示によって表示装置2の
画面上から順に消去され、最後のループ処理に係わる処
理データが表示されている。このため、プログラム中の
ループ処理内に条件の一致を検出すべき箇所が存在して
いる場合には、その条件の一致が発生したループの処理
に係わる処理データを表示装置2の画面上に定常的に表
示させることはできない。
Some of the control arithmetic units 1 have a condition match detection function for detecting that the value of the processing address in the trace data string stored in the trace memory 15 matches a preset expected value. In the trace data search method by the control arithmetic unit 1, similarly to the above-described method, the processing data in the loop processing in the program is sequentially deleted from the screen of the display device 2 by overwriting display, and the last loop processing is performed. Is displayed. For this reason, if there is a portion in the loop process in the program in which the matching of the condition is to be detected, the processing data relating to the processing of the loop in which the matching of the condition occurs is displayed on the screen of the display device 2 in a regular manner. Cannot be displayed on the screen.

【0017】本発明は、こうした実情に鑑みて為された
ものであり、その第1の目的は、プログラム中に多くの
ループ処理が存在している場合でも、表示装置への所定
の処理データの表示を最小限の時間で完了させることが
可能なトレースデータの検索方式を提供することにあ
り、また、第2の目的は、プログラム中のループ処理内
に条件の一致を検出すべき箇所が存在している場合で
も、その条件の一致が発生したループ処理に係わる処理
データを表示装置に定常的に表示させることの可能なト
レースデータの検索方式を提供することにある。
The present invention has been made in view of such circumstances, and a first object of the present invention is to provide a display device with predetermined processing data even when many loop processes exist in a program. It is another object of the present invention to provide a trace data search method capable of completing display in a minimum amount of time. A second object is that there is a portion where a condition match should be detected in a loop process in a program. It is therefore an object of the present invention to provide a trace data search method capable of constantly displaying, on a display device, processing data relating to a loop processing in which the condition is met even when the condition is met.

【0018】[0018]

【課題を解決するための手段】まず、請求項1記載の第
1の発明は、トレースメモリに格納されているトレース
データ列に含まれる個々の処理アドレスをトレースデー
タ列の末尾から先頭に向かって順に検索する処理アドレ
ス検索手段と、この処理アドレス検索手段による個々の
処理アドレスの検索過程において、現在検索中の所定の
処理アドレスの値が既に検索された任意の処理アドレス
の値よりも小さい場合に限り、先の所定の処理アドレス
に対応する所定の処理データをトレースデータ列から抽
出する処理データ抽出手段とを有することを特徴とする
ものである。
According to a first aspect of the present invention, each processing address included in a trace data string stored in a trace memory is shifted from the end of the trace data string to the head. Processing address search means for sequentially searching, and in the process of searching for individual processing addresses by the processing address search means, when the value of a predetermined processing address currently being searched for is smaller than the value of any processing address already searched for. And processing data extracting means for extracting predetermined processing data corresponding to the predetermined processing address from the trace data sequence.

【0019】また、請求項2記載の第2の発明は、トレ
ースメモリに格納されているトレースデータ列において
条件の一致を検出すべき箇所がループ処理内に存在して
いる場合に、そのループ処理の最後に位置するループエ
ンド処理を検索するループエンド処理検索手段と、この
ループエンド処理検索手段によって検索されたループエ
ンド処理が格納されているトレースメモリの特定の格納
アドレスとこの特定の格納アドレスに書き込まれている
特定の処理アドレスとを記憶するアドレス記憶手段とを
さらに有しており、請求項1記載の処理アドレス検索手
段が、個々の処理アドレスの検索過程における所定の処
理アドレスの値が先のアドレス記憶手段に記憶されてい
る特定の処理アドレスの値と初めて等しくなったとき
に、そのアドレス記憶手段に記憶されている特定の格納
アドレスから個々の処理アドレスの検索を続行すること
を特徴とするものである。
According to a second aspect of the present invention, in the case where there is a place in the trace data sequence stored in the trace memory where a condition match is to be detected in the loop processing, the loop processing is performed. Loop-end processing searching means for searching for the loop-end processing located at the end of the loop, a specific storage address of the trace memory storing the loop-end processing searched by the loop-end processing searching means, and a specific storage address. 2. An address storage means for storing a written specific processing address, wherein the processing address search means according to claim 1 stores a predetermined processing address value in a search process of each processing address. When the value becomes equal to the value of a specific processing address stored in the address storage means for the first time, that address It is characterized in that the search continues for individual processing address from a particular storage address stored in the unit.

【0020】[0020]

【作用】まず、請求項1記載の第1の発明においては、
処理アドレス検索手段により、トレースメモリに格納さ
れているトレースデータ列に含まれる個々の処理アドレ
スがトレースデータ列の末尾から先頭に向かって順に検
索され、処理データ抽出手段により、先の処理アドレス
検索手段による個々の処理アドレスの検索過程におい
て、現在検索中の所定の処理アドレスの値が既に検索さ
れた任意の処理アドレスの値よりも小さい場合に限り、
先の所定の処理アドレスに対応する所定の処理データが
トレースデータ列から抽出され、その結果、制御演算装
置を対象として作成されたプログラム中のループ処理に
応じてトレースメモリに重複して格納された同一の処理
データは表示装置に対して一度だけ出力されるようにな
る。
First, in the first aspect of the present invention,
Each processing address included in the trace data string stored in the trace memory is searched in order from the end to the top of the trace data string by the processing address search means. In the process of searching for individual processing addresses according to the above, only when the value of the predetermined processing address currently being searched is smaller than the value of any processing address already searched for,
The predetermined processing data corresponding to the previous predetermined processing address is extracted from the trace data string, and as a result, is redundantly stored in the trace memory according to the loop processing in the program created for the control operation device. The same processing data is output only once to the display device.

【0021】また、請求項2記載の第2の発明において
は、ループエンド処理検索手段により、トレースメモリ
に格納されているトレースデータ列において条件の一致
を検出すべき箇所がループ処理内に存在している場合
に、そのループ処理の最後に位置するループエンド処理
が検索され、アドレス記憶手段に、先のループエンド処
理検索手段によって検索されたループエンド処理が格納
されているトレースメモリの特定の格納アドレスとこの
特定の格納アドレスに書き込まれている特定の処理アド
レスとが記憶される。そして、処理アドレス検索手段に
より、個々の処理アドレスの検索過程における所定の処
理アドレスの値が先のアドレス記憶手段に記憶されてい
る特定の処理アドレスの値と初めて等しくなったとき
に、そのアドレス記憶手段に記憶されている特定の格納
アドレスから個々の処理アドレスの検索が続行され、そ
の結果、制御演算装置を対象として作成されたプログラ
ム中のループ処理に応じてトレースメモリに重複して格
納された同一の処理データのうち、条件の一致を検出す
べき箇所が存在しているループ処理内の処理データのみ
が表示装置に対して出力されるようになる。
[0021] In the second aspect of the present invention, the loop end processing retrieving means exists in the loop processing at a location where a condition match is to be detected in the trace data string stored in the trace memory. If the loop end process located at the end of the loop process is searched, the loop storage process searched by the previous loop end process search unit is stored in the address storage unit. An address and a specific processing address written in the specific storage address are stored. When the value of a predetermined processing address in the process of searching for an individual processing address first becomes equal to the value of a specific processing address stored in the previous address storage means by the processing address search means, the address storage is performed. The search for the individual processing address is continued from the specific storage address stored in the means, and as a result, the data is redundantly stored in the trace memory in accordance with the loop processing in the program created for the control operation device. Of the same processing data, only the processing data in the loop processing in which the part where the condition matching should be detected exists is output to the display device.

【0022】[0022]

【実施例】以下、本発明の実施例について図面を参照し
ながら詳細に説明する。なお、本実施例では、初めに、
請求項1に記載の第1の発明を説明するために第1の実
施例を示し、続いて、請求項2に記載の第2の発明を説
明するために第2の実施例を示すものとする。また、本
発明は、既に図5に示した制御演算装置1のシステム構
成をそのまま適用することが可能であり、その関係上、
第1及び第2の双方の実施例の説明は、図5のシステム
構成も基づいて行うものとする。
Embodiments of the present invention will be described below in detail with reference to the drawings. In this embodiment, first,
A first embodiment will be described to explain the first invention described in claim 1, and then a second embodiment will be described to describe the second invention described in claim 2. I do. Further, in the present invention, the system configuration of the control operation device 1 already shown in FIG. 5 can be applied as it is.
The description of both the first and second embodiments is based on the system configuration of FIG.

【0023】初めに、条件一致検出機能のない制御演算
装置1に適用されるトレースデータの検索方式である第
1の実施例を説明する。図1は、本発明の第1の実施例
に係わるトレースデータの検索方式のプログラム処理を
示すフローチャートである。
First, a description will be given of a first embodiment, which is a trace data search method applied to the control arithmetic unit 1 having no condition match detection function. FIG. 1 is a flowchart showing the program processing of the trace data search method according to the first embodiment of the present invention.

【0024】同図に示すように、まず、演算実行部11
は、トレースメモリ15に格納されたトレースデータ列
の末尾からトレースデータの検索を始めるために、トレ
ースメモリ15のトレース終了ポインタの値をトレース
データ検索ポインタにセットするとともに、プログラム
メモリ12のアドレスの最大値(任意の値)を初期値と
して変数AD MAXにセットする(S21)。ただ
し、この変数AD MAXは、トレースメモリ制御部1
6の制御によって表示装置2に出力される処理アドレス
の最小値(出力済最小処理アドレス)を示すものであ
り、特に、このプログラム処理の過程で検索した処理ア
ドレスが表示装置2に対して既に出力されたものである
か否かを判別するために使用される。
As shown in FIG.
Sets the value of the trace end pointer of the trace memory 15 to the trace data search pointer in order to start the trace data search from the end of the trace data string stored in the trace memory 15, and sets the maximum address of the program memory 12 The value (arbitrary value) is set to a variable AD MAX as an initial value (S21). However, this variable AD MAX is stored in the trace memory control unit 1
6 shows the minimum value of the processing address (outputted minimum processing address) output to the display device 2 under the control of 6. In particular, the processing address retrieved in the course of this program processing is already output to the display device 2. It is used to determine whether or not it has been performed.

【0025】次に、演算実行部11は、現在のトレース
データ検索ポインタの指すトレースメモリ15の格納ア
ドレスに書き込まれている処理アドレスを変数ADにセ
ットし(S22)、さらに、その変数ADの値が変数A
D MAXの値以上であるか否かを判別する(S2
3)。そして、この判別の結果、変数ADの示す現在の
処理アドレスの値が変数AD MAXの示す現在の出力
済最小処理アドレスの値よりも小さい場合には、演算実
行部11は、トレースメモリ制御部16を制御すること
により、現在のトレースデータ検索ポインタの指すトレ
ースメモリ15のトレースデータを表示装置2に対して
出力させるとともに、現在のトレースデータ検索ポイン
タの指す処理アドレス、すなわち、S22において変数
ADにセットされた現在の処理アドレスを変数AD M
AXにセットする(S24)。一方、変数ADの示す現
在の処理アドレスの値が変数AD MAXの示す現在の
出力済最小処理アドレスの値以上である場合には、演算
実行部11は、現在の処理アドレスが表示装置2に対し
て既に出力されたものであるとしてS24に係わるトレ
ースデータの出力処理は行わない。
Next, the operation execution unit 11 sets the processing address written in the storage address of the trace memory 15 pointed to by the current trace data search pointer to the variable AD (S22), and further sets the value of the variable AD. Is the variable A
It is determined whether or not the value is greater than or equal to D MAX (S2).
3). As a result of this determination, when the value of the current processing address indicated by the variable AD is smaller than the value of the current output minimum processing address indicated by the variable AD MAX, the arithmetic execution unit 11 sets the trace memory control unit 16 Control, the trace data of the trace memory 15 pointed to by the current trace data search pointer is output to the display device 2 and the processing address pointed to by the current trace data search pointer, that is, set to the variable AD in S22. The current processing address that has been
AX is set (S24). On the other hand, if the value of the current processing address indicated by the variable AD is equal to or greater than the value of the current output minimum processing address indicated by the variable AD MAX, the arithmetic execution unit 11 sends the current processing address to the display device 2. As a result, the output processing of the trace data relating to S24 is not performed.

【0026】次に、演算実行部11は、現在のトレース
データ検索ポインタの値を−2だけ更新(ポインタ・デ
クリメント)することにより、そのトレースデータ検索
ポインタの値を次に検索すべきトレースデータが存在す
るトレースメモリ15の格納アドレスにセットしてから
(S25)、全てのトレースデータの検索が終了したか
否かを判別する(S26)。そして、演算実行部11
は、トレースメモリ15における全てのトレースデータ
について検索を行うためにS22以降の処理を繰り返し
実行し、検索すべきトレースデータがトレースメモリ1
5に存在しなくなった時点でこのプログラム処理を終了
する。
Next, the arithmetic execution unit 11 updates the value of the current trace data search pointer by -2 (pointer decrement), so that the trace data to be searched next for the value of the trace data search pointer is updated. After setting to the storage address of the existing trace memory 15 (S25), it is determined whether or not the search of all the trace data has been completed (S26). And the arithmetic execution unit 11
Repeats the processing from S22 to search all the trace data in the trace memory 15, and the trace data to be searched is stored in the trace memory 1.
This program processing ends when it no longer exists in 5.

【0027】ここで、以上に説明した図1のプログラム
処理によって実際にトレースデータを検索する様子につ
いて、既に図8に示したトレースデータ列の場合を例に
挙げながら説明する。
The manner in which trace data is actually retrieved by the above-described program processing of FIG. 1 will now be described with reference to the trace data sequence shown in FIG. 8 as an example.

【0028】まず、このプログラム処理によるトレース
データの検索方式においては、トレースデータ列の末尾
からトレースデータの検索を始めるため、トレース終了
ポインタの値である1018H番地がトレースデータ検
索ポインタに最初にセットされ(S21)、さらに、そ
のトレースデータ検索ポインタの指す格納アドレスの1
018H番地に書き込まれている処理アドレスの「00
07H」が変数ADにセットされる(S22)。そし
て、この変数ADの値と変数AD MAXの値との大小
が続いて判別されるが(S23)、この時点では、変数
AD MAXの示す出力済最小処理アドレスにはプログ
ラムメモリ12のアドレスの最小値がセットされてお
り、変数ADの示す処理アドレスの「0007H」の方
が勿論小さいので、トレースデータ検索ポインタの指す
トレースデータが表示装置2に出力されるとともに、そ
のときの処理アドレスである「0007H」が変数AD
MAXにセットされ(S24)、以上により、表示装
置2には、まず、格納アドレスの1018H番地の処理
アドレスである「0007H」と、それに対応する10
19H番地の処理データである「9」とが出力される。
First, in the trace data search method by this program processing, to start the search of the trace data from the end of the trace data sequence, the address 1018H which is the value of the trace end pointer is first set in the trace data search pointer. (S21) Further, 1 of the storage address indicated by the trace data search pointer
"00" of the processing address written at address 018H
“07H” is set in the variable AD (S22). Then, the magnitude of the value of the variable AD and the value of the variable AD MAX are successively determined (S23). At this time, the output minimum processing address indicated by the variable AD MAX is the minimum address of the program memory 12 Since the value is set and the processing address “0007H” indicated by the variable AD is of course smaller, the trace data pointed by the trace data search pointer is output to the display device 2 and the processing address at that time is “ 0007H ”is the variable AD
MAX (S24). Thus, the display device 2 first displays "0007H", which is the processing address of the storage address 1018H, and the corresponding 10th address.
"9" which is the processing data of the address 19H is output.

【0029】次に、格納アドレスの1018H番地のト
レースデータの出力処理が完了すると、トレースデータ
検索ポインタの値が1016H番地にセットされて処理
がS22に戻され(S25,S26)、今度は、格納ア
ドレスの1016H番地における処理アドレスの「00
06H」が変数ADにセットされるが、このとき変数A
D MAXの示す出力済最小処理アドレスは「0007
H」であり、処理アドレスの方が出力済最小処理アドレ
スよりも小さいので、表示装置2には、格納アドレスの
1016H番地の処理アドレスである「0006H」
と、それに対応する1017H番地の処理データである
「9」とが出力される。そして、このトレースデータの
出力処理は、変数ADの示す処理アドレスの値の方が変
数AD MAXの示す出力済最小処理アドレスの値より
も小さいという関係が保たれる間は継続されることにな
り、これにより、表示装置2には、格納アドレスの10
14H、1012H及び1010Hのそれぞれの番地の
処理アドレスである「0004H」、「0003H」及
び「0002H」と、それらに対応する1015H、1
013H及び1011Hのそれぞれの番地の処理データ
である「9」、「3」及び「6」とが順に出力され、変
数AD MAXには、その最後に出力された処理アドレ
スである「0002H」がセットされる。
Next, when the output processing of the trace data at the storage address 1018H is completed, the value of the trace data search pointer is set to the address 1016H, and the processing returns to S22 (S25, S26). The processing address “00” at address 1016H
06H ”is set in the variable AD.
The output minimum processing address indicated by D MAX is “0007
H ", and the processing address is smaller than the output minimum processing address. Therefore, the display device 2 displays" 0006H "which is the processing address of the storage address 1016H.
And "9", which is the processing data at the address 1017H, is output. The output processing of the trace data is continued as long as the relationship that the value of the processing address indicated by the variable AD is smaller than the value of the output minimum processing address indicated by the variable AD MAX is maintained. Thereby, the display device 2 displays the storage address of 10
The processing addresses of the addresses 14H, 1012H, and 1010H are “0004H”, “0003H”, and “0002H”, and 1015H, 1
The processing data "9", "3", and "6" at the addresses 013H and 1011H are sequentially output, and the variable AD MAX is set to "0002H", which is the processing address output last. Is done.

【0030】次に、格納アドレスの1010H番地まで
のトレースデータの出力処理が完了すると、今度は、格
納アドレスの100EH番地における処理アドレスの
「0004H」が変数ADにセットされるが、このとき
変数AD MAXの示す出力済最小処理アドレスは「0
002H」であり、処理アドレスの方が出力済最小処理
アドレスよりも大きくなるので、格納アドレスの100
E番地の処理アドレスである「0004H」と、それに
対応する100F番地の処理データである「6」とは表
示装置2には出力されない。そして、変数ADの示す処
理アドレスの値が変数AD MAXの示す出力済最小処
理アドレスの値以上という関係が保たれる間は、表示装
置2にはトレースデータが出力されないようになり、そ
の結果、格納アドレスの100CH、100AH、10
08H、1006H及び1004Hのそれぞれの番地の
処理アドレスである「0003H」、「0002H」、
「0004H」、「0003H」及び「0002H」
と、それらに対応する100DH、100BH、100
9H、1007H及び1005Hのそれぞれの番地の処
理データである「3」、「3」、「3」、「3」及び
「0」とは表示装置2には出力されない。
Next, when the output processing of the trace data up to the storage address 1010H is completed, the processing address "0004H" at the storage address 100EH is set to the variable AD. The output minimum processing address indicated by MAX is “0”.
002H ”, and the processing address is larger than the output minimum processing address.
The processing address “0004H” of the address E and the corresponding processing data “6” of the address 100F are not output to the display device 2. Then, while the relationship that the value of the processing address indicated by the variable AD is equal to or more than the value of the output minimum processing address indicated by the variable AD MAX is maintained, the trace data is not output to the display device 2, and as a result, Storage addresses 100CH, 100AH, 10
The processing addresses of the addresses 08H, 1006H and 1004H are “0003H”, “0002H”,
"0004H", "0003H" and "0002H"
And the corresponding 100DH, 100BH, 100
The processed data “3”, “3”, “3”, “3”, and “0” at the addresses 9H, 1007H, and 1005H are not output to the display device 2.

【0031】次に、格納アドレスの1004H番地まで
の処理が完了すると、今度は、格納アドレスの1002
H番地における処理アドレスの「0001H」が変数A
Dにセットされるが、このとき変数AD MAXの示す
出力済最小処理アドレスは「0002H」であり、再
び、処理アドレスの方が出力済最小処理アドレスよりも
小さくなるので、表示装置2には、格納アドレスの10
02H番地の処理アドレスである「0001H」と、そ
れに対応する1003H番地の処理データである「3」
とが出力される。そして、以下同様に、変数AD MA
Xには「0001H」が、変数ADには「0000H」
がそれぞれセットされ、その大小関係により、表示装置
2には、格納アドレスの1000H番地の処理アドレス
である「0000H」と、それに対応する1001H番
地の処理データである「0」とが出力され、この時点
で、検索すべきトレースデータがトレースメモリ15に
存在しなくなってプログラム処理が終了する。
Next, when the processing up to the storage address 1004H is completed, the storage address 1002H
The processing address “0001H” at address H is a variable A
At this time, the output minimum processing address indicated by the variable AD MAX is “0002H”, and the processing address is again smaller than the output minimum processing address. Storage address 10
"0001H" which is the processing address of the address 02H, and "3" which is the processing data of the address 1003H corresponding thereto.
Is output. Then, similarly, the variable AD MA
"0001H" for X and "0000H" for variable AD
Are set, and the display device 2 outputs “0000H” which is the processing address of the storage address 1000H and “0” which is the processing data of the address 1001H corresponding to the storage address. At this point, the trace processing to be searched no longer exists in the trace memory 15 and the program processing ends.

【0032】以上の結果、図9に示すように、表示装置
2の画面上における演算子「+」の前後の領域には、ト
レースメモリ15における格納アドレスの1011H、
1013H及び1015Hのそれぞれの番地に書き込ま
れている最後のループ処理に係わる処理データの
「6」、「3」及び「9」が、従来のような上書き表示
によることなく、しかも、従来と同様な状態で表示さ
れ、これにより、制御演算装置1を対象として作成され
たプログラム中に多くのループ処理が存在している場合
でも、表示装置2への所定の処理データの表示を最小限
の時間で完了させることが可能となる。
As a result, as shown in FIG. 9, in the area before and after the operator "+" on the screen of the display device 2, the storage addresses 1011H and 1011H in the trace memory 15 are stored.
The processing data “6”, “3” and “9” related to the last loop processing written at the respective addresses 1013H and 1015H are not overwritten and displayed as in the related art, and are similar to the related art. In this way, even when a lot of loop processing is present in a program created for the control operation device 1, display of predetermined processing data on the display device 2 can be performed in a minimum time. It can be completed.

【0033】続いて、条件一致検出機能のある制御演算
装置1に適用されるトレースデータの検索方式である第
2の実施例を説明する。図2は、本発明の第2の実施例
に係わるトレースデータの検索方式のプログラム処理を
示すフローチャートである。
Next, a description will be given of a second embodiment which is a trace data search method applied to the control arithmetic unit 1 having a condition match detection function. FIG. 2 is a flowchart showing the program processing of the trace data search method according to the second embodiment of the present invention.

【0034】同図に示すように、まず、演算実行部11
は、条件の一致を検出すべき箇所が制御演算装置1を対
象として作成されたプログラム中のループ処理内に存在
している場合が想定されることから、特に、その条件の
一致を検出すべき箇所が存在しているループ処理の最後
に位置するループエンド処理を検索するため、条件一致
ポインタの値をトレースデータ検索ポインタにセットす
る(S31)。なお、この条件一致ポインタは、トレー
ス開始ポインタやトレース終了ポインタと同様にトレー
スメモリ15に設定され、そのトレースメモリ15にお
いて条件の一致を検出すべき箇所である格納アドレスを
指定するものである。そして、演算制御部11は、現在
のトレースデータ検索ポインタの指すトレースメモリ1
5の格納アドレスに書き込まれている処理アドレスを変
数ADにセットし(S32)、さらに、その変数ADの
値を変数AD MINにセットする(S33)。ただ
し、この変数AD MINは、上述したループエンド処
理の検索用の変数であり、実際には、前回のトレースデ
ータ検索ポインタの指すトレースメモリ15の格納アド
レスに書き込まれている処理アドレスが格納される。
As shown in FIG.
Since it is assumed that a location where a condition match should be detected exists in a loop process in a program created for the control operation device 1, it is particularly necessary to detect the condition match. The value of the condition matching pointer is set in the trace data search pointer in order to search for the loop end process located at the end of the loop process in which the part exists (S31). The condition matching pointer is set in the trace memory 15 in the same manner as the trace start pointer and the trace end pointer, and designates a storage address in the trace memory 15 where a condition match is to be detected. The arithmetic control unit 11 then stores the trace memory 1 pointed to by the current trace data search pointer.
The processing address written in the storage address of No. 5 is set in a variable AD (S32), and the value of the variable AD is set in a variable AD MIN (S33). However, this variable AD MIN is a variable for searching the above-mentioned loop end processing, and actually stores the processing address written in the storage address of the trace memory 15 pointed to by the previous trace data search pointer. .

【0035】次に、演算実行部11は、現在のトレース
データ検索ポインタの値を+2だけ更新して次のトレー
スデータにポインタさせた後に(S34)、その更新後
のトレースデータ検索ポインタの値がトレースメモリ1
5のトレース終了ポインタの値と等しいか否かを判別し
(S35)、その判別の結果、トレースデータ検索ポイ
ンタの値がトレース終了ポインタの値と等しくない場合
には、そのトレースデータ検索ポインタの指すトレース
メモリ15の格納アドレスに書き込まれている処理アド
レスを変数ADにセットし(S36)、さらに、その変
数ADの値が変数AD MINの値以上であるか否かを
判別する(S37)。そして、演算実行部11は、変数
ADの示す現在の処理アドレスの値が変数AD MIN
の示す前回の処理アドレスの値以上である限りはS33
以降の処理を繰り返し実行する。なお、S35におい
て、更新後のトレースデータ検索ポインタの値がトレー
ス終了ポインタの値と等しくなった場合、演算実行部1
1は、ループエンド処理が存在しないとして整数の最大
値(プログラムメモリ12のアドレスの任意の値。以下
同じ)をレジスタLOOPE A(詳細は後述)にセッ
トし(S38)、後述するS42以降の出力処理を実行
する。
Next, the arithmetic execution unit 11 updates the value of the current trace data search pointer by +2 to point to the next trace data (S34), and then updates the value of the updated trace data search pointer. Trace memory 1
It is determined whether or not the value of the trace data search pointer is equal to the value of the trace data search pointer (S35). The processing address written in the storage address of the trace memory 15 is set in the variable AD (S36), and it is determined whether or not the value of the variable AD is equal to or larger than the value of the variable AD MIN (S37). Then, the arithmetic execution unit 11 determines that the value of the current processing address indicated by the variable AD is the variable AD MIN
As long as the value is equal to or more than the value of the previous processing address indicated by S33,
Repeat the subsequent processing. In S35, if the updated value of the trace data search pointer becomes equal to the value of the trace end pointer, the arithmetic execution unit 1
1 sets the maximum value of the integer (arbitrary value of the address of the program memory 12; the same applies hereinafter) to a register LOOPA A (details will be described later) assuming that loop end processing does not exist (S38), and outputs S42 and subsequent steps described later. Execute the process.

【0036】次に、S37において、変数ADの示す現
在の処理アドレスの値が変数ADMINの示す前回の処
理アドレスの値よりも小さくなると、演算実行部11
は、ループエンド処理が検索できたとして、現在のトレ
ースデータ検索ポインタの値を一つ前のトレースデータ
における値にセット(ポインタ・デクリメント)する
(S39)。そして、演算実行部11は、その一つ前の
トレースデータ検索ポインタの指すトレースメモリ15
の格納アドレスをレジスタLOOPE Pに退避させる
とともに(S40)、同じく、その一つ前のトレースデ
ータ検索ポインタの指すトレースメモリ15の格納アド
レスに書き込まれている処理アドレスをレジスタLOO
PE Aに退避させる(S41)。なお、これらのう
ち、レジスタLOOPE Pは、条件一致検出時のルー
プエンド処理の格納アドレスを記憶するものであり、レ
ジスタLOOPE Aは、条件一致検出時のループエン
ド処理の処理アドレスを記憶するものである。
Next, in S37, when the value of the current processing address indicated by the variable AD becomes smaller than the value of the previous processing address indicated by the variable ADMIN, the operation execution unit 11
Sets the value of the current trace data search pointer to the value in the immediately preceding trace data (pointer decrement), assuming that the loop end processing can be searched (S39). Then, the arithmetic execution unit 11 stores the trace memory 15 pointed to by the previous trace data search pointer.
Is saved in the register LOOPEP (S40), and similarly, the processing address written in the storage address of the trace memory 15 pointed to by the previous trace data search pointer is stored in the register LOOP.
It is evacuated to PE A (S41). Of these, the register LOOPEP stores the storage address of the loop end processing at the time of detecting the condition match, and the register LOOPA A stores the processing address of the loop end processing at the time of detecting the condition match. is there.

【0037】次に、演算実行部11は、先の第1の実施
例と同様に、トレースメモリ15に格納されたトレース
データ列の末尾からトレースデータの検索を始めるため
に、トレースメモリ15のトレース終了ポインタの値を
トレースデータ検索ポインタにセットするとともに、整
数の最大値を初期値として変数AD MAX(第1の実
施例における変数AD MAXと同義)にセットし(S
42)、さらに、現在のトレースデータ検索ポインタの
指すトレースメモリ15の格納アドレスに書き込まれて
いる処理アドレスを変数ADにセットする(S43)。
そして、演算実行部11は、その変数ADの値がレジス
タLOOPE Aの値と等しいか否かを判別し(S4
4)、その結果、変数ADの示す現在の処理アドレスの
値がレジスタLOOPE Aの示す条件一致検出時のル
ープエンド処理の処理アドレスの値と等しくない場合に
は、さらに、その変数ADの値が変数AD MAXの値
以上であるか否かを判別し(S45)、その結果、変数
ADの示す現在の処理アドレスの値が変数AD MAX
の示す現在の出力済最小処理アドレスの値よりも小さい
場合には、現在のトレースデータ検索ポインタの指すト
レースメモリ15のトレースデータを表示装置2に対し
て出力させるとともに、現在のトレースデータ検索ポイ
ンタの指す処理アドレスを変数AD MAXにセットす
る(S46)。一方、変数ADの示す現在の処理アドレ
スの値が変数AD MAXの示す現在の出力済最小処理
アドレスの値以上である場合には、演算実行部11は、
現在の処理アドレスが表示装置2に対して既に出力され
たものであるとしてS46に係わるトレースデータの出
力処理は行わない。
Next, as in the first embodiment, the arithmetic execution unit 11 starts the trace data search in the trace memory 15 in order to start searching for the trace data from the end of the trace data string stored in the trace memory 15. The value of the end pointer is set in the trace data search pointer, and the maximum value of the integer is set as an initial value in a variable AD MAX (synonymous with the variable AD MAX in the first embodiment) (S
42) Further, the processing address written in the storage address of the trace memory 15 pointed to by the current trace data search pointer is set in the variable AD (S43).
Then, the arithmetic execution unit 11 determines whether or not the value of the variable AD is equal to the value of the register LOOP A (S4).
4) As a result, when the value of the current processing address indicated by the variable AD is not equal to the value of the processing address of the loop end processing at the time of detecting the condition match indicated by the register LOOPA A, the value of the variable AD is further increased. It is determined whether or not the value of the variable AD MAX is equal to or more than the value of the variable AD MAX (S45). As a result, the value of the current processing address indicated by the variable AD is changed to the variable AD MAX.
Is smaller than the value of the current output minimum processing address indicated by, the trace data in the trace memory 15 pointed to by the current trace data search pointer is output to the display device 2 and the current trace data search pointer is The processing address to be pointed is set in the variable AD MAX (S46). On the other hand, if the value of the current processing address indicated by the variable AD is equal to or greater than the value of the current output minimum processing address indicated by the variable AD MAX, the operation execution unit 11
Assuming that the current processing address has already been output to the display device 2, the trace data output process relating to S46 is not performed.

【0038】次に、演算実行部11は、現在のトレース
データ検索ポインタの値を−2だけ更新(ポインタ・デ
クリメント)することにより、そのトレースデータ検索
ポインタの値を次に検索すべきトレースデータが存在す
るトレースメモリ15の格納アドレスにセットしてから
(S47)、全てのトレースデータの検索が終了したか
否かを判別する(S48)。そして、演算実行部11
は、トレースメモリ15における全てのトレースデータ
について検索を行うためにS43以降の処理を繰り返し
実行し、S44において、変数ADの示す現在の処理ア
ドレスの値がレジスタLOOPE Aの示す条件一致検
出時のループエンド処理の処理アドレスの値と初めて等
しくなった時点で、整数の最大値をレジスタLOOPE
Aにセットするとともに、レジスタLOOPE Pの
示す条件一致検出時のループエンド処理の格納アドレス
の値をトレースデータ検索ポインタにセットしてから処
理を続行し(S49)、以下、検索すべきトレースデー
タがトレースメモリ15に存在しなくなった時点でこの
プログラム処理を終了する。
Next, the arithmetic execution unit 11 updates the value of the current trace data search pointer by −2 (pointer decrement), so that the trace data to be searched next is updated by the trace data search pointer value. After setting to the storage address of the existing trace memory 15 (S47), it is determined whether or not the search of all the trace data has been completed (S48). And the arithmetic execution unit 11
Repeatedly executes the processing after S43 in order to search all the trace data in the trace memory 15, and in S44, the value of the current processing address indicated by the variable AD indicates a loop when the condition match indicated by the register LOOPA A is detected. When the value becomes equal to the value of the processing address of the end processing for the first time, the maximum value of the integer is stored in the register LOOPE.
A, and the value of the storage address of the loop end process at the time of detecting the condition match indicated by the register LOOPEP is set in the trace data search pointer and the process is continued (S49). This program processing ends when the trace memory 15 no longer exists.

【0039】ここで、以上に説明した図2のプログラム
処理によって実際にトレースデータを検索する様子を図
3及び図4に基づいて説明する。図3は、図7に示した
オブジェクトプログラムの演算実行に伴ってトレースメ
モリ15に格納されたトレースデータ列の状態及び条件
一致ポインタの値を示す図である。また、図4は、図3
に示したトレースデータ列のうち所定の処理データが表
示装置2の画面上に表示された状態を示す図である。
The manner in which trace data is actually searched by the above-described program processing of FIG. 2 will be described with reference to FIGS. 3 and 4. FIG. 3 is a diagram showing the state of the trace data string stored in the trace memory 15 and the value of the condition matching pointer stored in the trace memory 15 in accordance with the execution of the operation of the object program shown in FIG. FIG. 4 is similar to FIG.
FIG. 7 is a diagram showing a state where predetermined processing data in the trace data sequence shown in FIG.

【0040】まず、図3に示すように、このプログラム
処理によるトレースデータの検索方式においては、条件
の一致が発生したループ処理におけるループエンド処理
を検索するため、条件一致ポインタの値である100C
H番地がトレースデータ検索ポインタに最初にセットさ
れる(S31)。そして、トレースデータ検索ポインタ
の指す格納アドレスの100CH番地に書き込まれてい
る処理アドレスの「0003H」が変数ADにセットさ
れ(S32)、さらに、その変数ADの示す処理アドレ
スの「0003H」が変数AD MINにセットされる
(S33)。
First, as shown in FIG. 3, in the trace data search method by this program processing, the value of the condition matching pointer 100C, which is the value of the condition matching pointer, is searched in order to search for a loop end process in a loop process in which a condition match has occurred.
Address H is set first in the trace data search pointer (S31). Then, the processing address “0003H” written at the storage address 100CH indicated by the trace data search pointer is set to the variable AD (S32), and the processing address “0003H” indicated by the variable AD is set to the variable AD. It is set to MIN (S33).

【0041】次に、変数ADの示す処理アドレスの「0
003H」が変数AD MINにセットされると、トレ
ースデータ検索ポインタの値である100CH番地が+
2だけ更新されて100EH番地となり(S34)、さ
らに、その更新後のトレースデータ検索ポインタの値が
トレース終了ポインタの値と等しいか否かが続いて判別
される(S35)。このとき、更新後のトレースデータ
検索ポインタの値は100EH番地であり、勿論、トレ
ース終了ポインタの値と等しくないので、そのトレース
データ検索ポインタの指す格納アドレスに書き込まれて
いる処理アドレスである「0004H」が変数ADにセ
ットされる(S36)。そして、この変数ADの値であ
る「0004H」が変数AD MINの値以上であるか
否かが続いて判別されるが(S37)、現在の変数AD
MINの示す前回の処理アドレスの値は「0003
H」であるので、この場合は、上述したS33以降の処
理が繰り返し実行される。
Next, the processing address "0" indicated by the variable AD
003H ”is set in the variable AD MIN, the address 100CH, which is the value of the trace data search pointer, is +
It is updated by 2 to become the address 100EH (S34), and it is subsequently determined whether or not the updated trace data search pointer value is equal to the trace end pointer value (S35). At this time, the value of the updated trace data search pointer is address 100EH and, of course, is not equal to the value of the trace end pointer. Therefore, the processing address "0004H" written in the storage address indicated by the trace data search pointer is used. Is set to the variable AD (S36). Then, it is subsequently determined whether or not “0004H” which is the value of the variable AD is greater than or equal to the value of the variable AD MIN (S37).
The value of the previous processing address indicated by MIN is “0003
H ”, in this case, the above-described processing after S33 is repeatedly executed.

【0042】次に、このS33以降の処理が繰り返し実
行され、S34においてトレースデータ検索ポインタの
値が更新されて1010H番地となり、さらに、S36
においてトレースデータ検索ポインタの指す処理アドレ
スの「0002H」が変数ADにセットされると、S3
7において変数ADの値と変数AD MINの値との大
小が続いて判別されるが、現在の変数AD MINの値
は前回の処理アドレスの「0004H」(格納アドレス
の100EH番地における処理アドレスの値)となって
いることから、格納アドレスの100EH番地がループ
エンド処理であることが検索される。そして、このルー
プエンド処理時のトレースデータを確保するために、ト
レースデータ検索ポインタの値が現在の1010H番地
から前回の100EH番地に戻され(S39)、そのト
レースデータ検索ポインタの値の100EH番地がレジ
スタLOOPE Pに記憶されるとともに(S40)、
その100EH番地に書き込まれている処理アドレスの
「0004H」がレジスタLOOPE Aに記憶される
(S41)。
Next, the processing after S33 is repeatedly executed, and the value of the trace data search pointer is updated to S1010H in S34.
When "0002H" of the processing address indicated by the trace data search pointer is set in the variable AD in S3,
7, the magnitude of the value of the variable AD and the value of the variable AD MIN are successively determined, but the current value of the variable AD MIN is “0004H” of the previous processing address (the value of the processing address at the storage address 100EH). ), It is searched that the storage address 100EH is a loop end process. Then, in order to secure the trace data at the time of this loop end processing, the value of the trace data search pointer is returned from the current address 1010H to the previous address 100EH (S39), and the value of the trace data search pointer 100EH is changed. While being stored in the register LOOPEP (S40),
The processing address “0004H” written at the address 100EH is stored in the register LOOPA (S41).

【0043】次に、条件一致検出時のループエンド処理
の格納アドレスがLOOPE Pに記憶され、同じく、
条件一致検出時のループエンド処理の処理アドレスがレ
ジスタLOOPE Aに記憶されると、今度は、表示装
置2へのトレースデータの出力処理のため、第1の実施
例と同様、トレース終了ポインタの値である1018H
番地がトレースデータ検索ポインタにセットされ(S4
2)、さらに、そのトレースデータ検索ポインタの指す
格納アドレスの1018H番地に書き込まれている処理
アドレスである「0007H」が変数ADにセットされ
る(S43)。そして、この変数ADの値がレジスタL
OOPE Aの値と等しいか否かが続いて判別されるが
(S44)、この時点で変数ADの示す処理アドレスは
「0007H」であり、レジスタLOOPE Aの示す
条件一致検出時のループエンド処理の処理アドレスは
「0004H」であるので、変数ADの値と変数AD
MAXの値との大小が続いて判別される(S45)。こ
のとき、変数AD MAXの示す出力済最小処理アドレ
スにはプログラムメモリ12のアドレスの最大値がセッ
トされており、変数ADの示す処理アドレスの「000
7H」の方が勿論小さいので、トレースデータ検索ポイ
ンタの指すトレースデータが表示装置2に出力されると
ともに、そのときの処理アドレスである「0007H」
が変数AD MAXにセットされ(S46)、以上によ
り、表示装置2には、まず、格納アドレスの1018H
番地の処理アドレスである「0007H」と、それに対
応する1019H番地の処理データである「9」とが出
力される。
Next, the storage address of the loop end processing at the time of detecting a condition match is stored in LOOPEP.
When the processing address of the loop end processing at the time of detecting the condition match is stored in the register LOOP A, the value of the trace end pointer is output to the display device 2 in the same manner as in the first embodiment for the output processing of the trace data. 1018H
The address is set in the trace data search pointer (S4
2) Further, the processing address “0007H” written at the storage address 1018H indicated by the trace data search pointer is set in the variable AD (S43). The value of the variable AD is stored in the register L
It is subsequently determined whether or not the value is equal to the value of OOPE A (S44). At this point, the processing address indicated by the variable AD is “0007H”, and the loop end processing at the time of detecting the condition match indicated by the register LOOPA A is performed. Since the processing address is “0004H”, the value of the variable AD and the variable AD
The magnitude with the value of MAX is subsequently determined (S45). At this time, the maximum value of the address of the program memory 12 is set in the output minimum processing address indicated by the variable AD MAX, and “000” of the processing address indicated by the variable AD is set.
7H ”is of course smaller, so that the trace data pointed to by the trace data search pointer is output to the display device 2 and the processing address at that time is“ 0007H ”.
Is set to the variable AD MAX (S46), and the display device 2 first stores the storage address 1018H
The address “0007H”, which is the processing address of the address, and the corresponding processing data “9”, which is the processing data of the address 1019H, are output.

【0044】次に、格納アドレスの1018H番地のト
レースデータの出力処理が完了すると、トレースデータ
検索ポインタの値が1016H番地にセットされて処理
がS43に戻され(S47,S48)、その結果、表示
装置2には、格納アドレスの1016H番地の処理アド
レスである「0006H」と、それに対応する1017
H番地の処理データである「9」とが出力される。そし
て、再度のS43以降の処理により、現在のトレースデ
ータ検索ポインタの値である1014番地に書き込まれ
ている処理アドレスの「0004H」が変数ADにセッ
トされるが、次のS44において、その変数ADの値が
レジスタLOOPE Aの示す条件一致検出時のループ
エンド処理の処理アドレスの「0004H」と初めて等
しくなるので、整数の最大値がレジスタLOOPE A
にセットされるとともに、レジスタLOOPE Pの示
す条件一致検出時のループエンド処理の格納アドレスで
ある100EH番地がトレースデータ検索ポインタにセ
ットされ(S49)、その結果、S46において、表示
装置2に対し、格納アドレスの100EH番地の処理ア
ドレスである「0004H」と、それに対応する100
FH番地の処理データである「6」とが出力される。
Next, when the output processing of the trace data at the storage address 1018H is completed, the value of the trace data search pointer is set to the address 1016H, and the processing returns to S43 (S47, S48). The device 2 stores “0006H”, which is the processing address of the storage address 1016H, and 1017 corresponding to the processing address.
"9" which is the processing data of the address H is output. Then, the processing address “0004H” written at address 1014, which is the current value of the trace data search pointer, is set in the variable AD by the processing after S43 again. In the next S44, the variable AD Becomes equal to the processing address “0004H” of the loop end processing at the time of detecting the condition match indicated by the register LOOPA A for the first time, so that the maximum value of the integer becomes the register LOOPA A.
At the same time, the address 100EH, which is the storage address of the loop end processing at the time of detecting the condition match indicated by the register LOOPEP, is set in the trace data search pointer (S49). As a result, in S46, the display device 2 “0004H” which is the processing address of the storage address 100EH and the corresponding 100
"6" which is the processing data of the address FH is output.

【0045】次に、格納アドレスの100EH番地まで
の処理が完了すると、以下、第1の実施例と同様な原理
により、表示装置2には、格納アドレスの100CH、
100AH、1002H及び1000Hのそれぞれの番
地の処理アドレスである「0003H」、「0002
H」、「0001H」及び「0000H」と、それらに
対応する100DH、100BH、1003H及び10
01Hのそれぞれの番地の処理データである「3」、
「3」、「3」及び「0」とが順に出力され、この時点
で、検索すべきトレースデータがトレースメモリ15に
存在しなくなってプログラム処理が終了する。以上の結
果、図4に示すように、表示装置2の画面上における演
算子「+」の前後の領域には、最後のループ処理に係わ
る処理データではなく、トレースメモリ15における格
納アドレスの100BH、100DH及び100FHの
それぞれの番地に書き込まれている条件の一致が発生し
たループ処理に係わる処理データの「3」、「3」及び
「6」を定常的に表示させることが可能となる。
Next, when the processing up to the storage address 100EH is completed, the display device 2 displays the storage addresses 100CH and 100CH according to the same principle as in the first embodiment.
Processing addresses of respective addresses of 100AH, 1002H and 1000H are “0003H” and “0002”.
H, "0001H" and "0000H" and their corresponding 100DH, 100BH, 1003H and 10
"3" which is the processing data of each address of 01H,
"3", "3", and "0" are sequentially output. At this point, the trace data to be searched for no longer exists in the trace memory 15, and the program processing ends. As a result, as shown in FIG. 4, the area before and after the operator “+” on the screen of the display device 2 is not the processing data related to the last loop processing but the storage address 100BH in the trace memory 15. Processing data "3", "3", and "6" relating to the loop processing in which the matching of the conditions written in the respective addresses of 100DH and 100FH has occurred can be constantly displayed.

【0046】[0046]

【発明の効果】以上、詳細に説明したように、まず、第
1の発明によれば、制御演算装置を対象として作成され
たプログラム中のループ処理に応じてトレースメモリに
重複して格納された同一の処理データが表示装置に対し
て出力されるのは一度だけであることから、表示装置の
画面上には、従来のような上書き表示によることなく、
しかも、従来と同様な状態で所定の処理データのみが表
示され、これにより、プログラム中に多くのループ処理
が存在している場合でも、表示装置への所定の処理デー
タの表示を最小限の時間で完了させることが可能とな
る。
As described above in detail, according to the first aspect, the data is stored in the trace memory in an overlapping manner in accordance with the loop processing in the program created for the control arithmetic unit. Since the same processing data is output only once to the display device, the display data is not displayed on the screen of the display device without the conventional overwriting display.
In addition, only predetermined processing data is displayed in the same state as in the related art, so that even when a lot of loop processing is present in the program, the display of the predetermined processing data on the display device can be performed in a minimum time. Can be completed.

【0047】また、第2の発明によれば、制御演算装置
を対象として作成されたプログラム中のループ処理に応
じてトレースメモリに重複して格納された同一の処理デ
ータのうち、表示装置に対して出力されるのは条件の一
致を検出すべき箇所が存在しているループ処理内の処理
データのみであることから、表示装置の画面上には、プ
ログラム中の最後のループ処理に係わる処理データでは
なく、条件の一致が発生したループ処理に係わる処理デ
ータを定常的に表示させることが可能となる。
According to the second aspect of the present invention, of the same processing data redundantly stored in the trace memory in accordance with the loop processing in the program created for the control operation device, Is output only for the processing data in the loop processing in which the location where the condition matching should be detected exists, so the processing data for the last loop processing in the program is displayed on the screen of the display device. Instead, it is possible to constantly display the processing data relating to the loop processing in which the condition is matched.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の第1の実施例に係わるトレースデータ
の検索方式のプログラム処理を示すフローチャートであ
る。
FIG. 1 is a flowchart showing a program processing of a trace data search method according to a first embodiment of the present invention.

【図2】本発明の第2の実施例に係わるトレースデータ
の検索方式のプログラム処理を示すフローチャートであ
る。
FIG. 2 is a flowchart showing a program process of a trace data search method according to a second embodiment of the present invention.

【図3】図7に示したオブジェクトプログラムの演算実
行に伴ってトレースメモリに格納されたトレースデータ
列の状態及び一致ポインタの値を示す図である。
FIG. 3 is a diagram showing a state of a trace data string stored in a trace memory and a value of a coincidence pointer stored in the trace memory in accordance with the execution of the operation of the object program shown in FIG. 7;

【図4】図3に示したトレースデータ列のうち所定の処
理データが表示装置の画面上に表示された状態を示す図
である。
FIG. 4 is a diagram showing a state in which predetermined processing data in the trace data string shown in FIG. 3 is displayed on a screen of a display device.

【図5】トレース機能を有する制御演算装置の一般的な
システム構成を示すブロック図である。
FIG. 5 is a block diagram showing a general system configuration of a control arithmetic device having a trace function.

【図6】FB図で書かれたソースプログラムの一例を示
す図である。
FIG. 6 is a diagram showing an example of a source program written in an FB diagram.

【図7】図6に示したソースプログラムをコンパイルし
て得られたオブジェクトプログラムの一例を示す図であ
る。
FIG. 7 is a diagram showing an example of an object program obtained by compiling the source program shown in FIG. 6;

【図8】図7に示したオブジェクトプログラムの演算実
行に伴ってトレースメモリに格納されたトレースデータ
列の状態を示す図である。
8 is a diagram showing a state of a trace data string stored in a trace memory in accordance with the execution of the operation of the object program shown in FIG. 7;

【図9】図8に示したトレースデータ列のうち所定の処
理データが表示装置の画面上に表示された状態を示す図
である。
9 is a diagram showing a state in which predetermined processing data of the trace data string shown in FIG. 8 is displayed on a screen of a display device.

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

1 制御演算装置 2 表示装置 11 演算実行部 12 プログラムメモリ 13 プログラムカウンタ 14 データメモリ 15 トレースメモリ 16 トレースメモリ制御部 REFERENCE SIGNS LIST 1 control arithmetic unit 2 display device 11 arithmetic execution unit 12 program memory 13 program counter 14 data memory 15 trace memory 16 trace memory control unit

───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.6,DB名) G06F 11/28 - 11/34 ──────────────────────────────────────────────────続 き Continued on the front page (58) Field surveyed (Int.Cl. 6 , DB name) G06F 11/28-11/34

Claims (2)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 トレースメモリに格納されているトレー
スデータ列に含まれる個々の処理アドレスを前記トレー
スデータ列の末尾から先頭に向かって順に検索する処理
アドレス検索手段と、 該処理アドレス検索手段による前記個々の処理アドレス
の検索過程において、現在検索中の所定の処理アドレス
の値が既に検索された任意の処理アドレスの値よりも小
さい場合に限り、前記所定の処理アドレスに対応する所
定の処理データを前記トレースデータ列から抽出する処
理データ抽出手段と、 を有することを特徴とするトレースデータの検索方式。
1. A processing address search means for sequentially searching individual processing addresses included in a trace data string stored in a trace memory from the end to the beginning of the trace data string; In the process of searching for individual processing addresses, only when the value of the predetermined processing address currently being searched is smaller than the value of any previously searched processing address, predetermined processing data corresponding to the predetermined processing address is deleted. A trace data search method, comprising: processing data extraction means for extracting from the trace data sequence.
【請求項2】 前記トレースメモリに格納されている前
記トレースデータ列において条件の一致を検出すべき箇
所がループ処理内に存在している場合に、前記ループ処
理の最後に位置するループエンド処理を検索するループ
エンド処理検索手段と、 該ループエンド処理検索手段によって検索された前記ル
ープエンド処理が格納されている前記トレースメモリの
特定の格納アドレスと該所定の格納アドレスに書き込ま
れている特定の処理アドレスとを記憶するアドレス記憶
手段とをさらに有しており、 前記処理アドレス検索手段は、前記個々の処理アドレス
の検索過程における前記所定の処理アドレスの値が前記
アドレス記憶手段に記憶されている前記特定の処理アド
レスの値と初めて等しくなったときに、前記アドレス記
憶手段に記憶されている前記特定の格納アドレスから前
記個々の処理アドレスの検索を続行することを特徴とす
る請求項1記載のトレースデータの検索方式。
2. A method according to claim 1, further comprising the step of: executing a loop end process located at the end of the loop process when a location where a condition match is to be detected exists in the loop process in the trace data string stored in the trace memory. Loop end processing searching means for searching; a specific storage address of the trace memory in which the loop end processing searched by the loop end processing searching means is stored; and a specific processing written at the predetermined storage address Address processing means for storing an address and the processing address search means, wherein the processing address search means stores the value of the predetermined processing address in the process of searching for the individual processing address in the address storage means. When the value becomes equal to the value of the specific processing address for the first time, it is stored in the address storage means. The particular search method trace data according to claim 1, wherein the storage address, characterized in that the search continues for the individual processing addresses that.
JP4229503A 1992-08-28 1992-08-28 Trace data search method Expired - Lifetime JP2923918B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4229503A JP2923918B2 (en) 1992-08-28 1992-08-28 Trace data search method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4229503A JP2923918B2 (en) 1992-08-28 1992-08-28 Trace data search method

Publications (2)

Publication Number Publication Date
JPH0675832A JPH0675832A (en) 1994-03-18
JP2923918B2 true JP2923918B2 (en) 1999-07-26

Family

ID=16893196

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4229503A Expired - Lifetime JP2923918B2 (en) 1992-08-28 1992-08-28 Trace data search method

Country Status (1)

Country Link
JP (1) JP2923918B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3841457A1 (en) * 1988-12-09 1990-06-13 Schoeller F Jun Gmbh Co Kg PLASTIC CONCENTRATE FOR THE PRODUCTION OF A COATING MASS FOR PHOTOGRAPHIC LAYER CARRIER
JP5488883B2 (en) 2009-10-16 2014-05-14 トヨタ紡織株式会社 Interior materials for vehicles

Also Published As

Publication number Publication date
JPH0675832A (en) 1994-03-18

Similar Documents

Publication Publication Date Title
JP3059664B2 (en) Data search method and apparatus
JPH06242990A (en) Memory patching device
US20030009650A1 (en) Parallel processing apparatus, systems, and methods
CN112667212A (en) Buried point data visualization method and device, terminal and storage medium
JP2001125702A (en) Display control method
JP2923918B2 (en) Trace data search method
JP2658439B2 (en) Image search method
JP3109572B2 (en) Failure recovery device, failure recovery method, and storage medium storing failure recovery program
JPH0667838A (en) Display processor
JP2864979B2 (en) Software debugger
US8069193B2 (en) Method and system for utilizing a generic scalar function to allow a column function to operate on row data
JP2977951B2 (en) Arithmetic unit
JPH0588652A (en) Plant operation monitor and display device
JP2747164B2 (en) Software simulator
JP2002251295A (en) Information processor, method for coping with program fault, medium and program for the method
JP3355660B2 (en) Program conversion method
JP2520485B2 (en) Dragging and rubber band independent display system
JPS61279906A (en) Programmable controller
JPH0324639A (en) Method for supporting program understanding
JP2845694B2 (en) Data processing device
JPS62152032A (en) Information processor
JPH06131202A (en) Event control system
JP2727996B2 (en) Program execution monitoring method and program execution monitoring system
JPH07295814A (en) Data input address management method
JPH06295247A (en) Real time processing realizing method

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19990413