JPS603764A - Tracing system of execution state of program - Google Patents

Tracing system of execution state of program

Info

Publication number
JPS603764A
JPS603764A JP58111413A JP11141383A JPS603764A JP S603764 A JPS603764 A JP S603764A JP 58111413 A JP58111413 A JP 58111413A JP 11141383 A JP11141383 A JP 11141383A JP S603764 A JPS603764 A JP S603764A
Authority
JP
Japan
Prior art keywords
program
address
overlay
memory address
trace
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.)
Granted
Application number
JP58111413A
Other languages
Japanese (ja)
Other versions
JPH0318214B2 (en
Inventor
Hiroshi Kadota
門田 博志
Kohei Fukuoka
福岡 浩平
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP58111413A priority Critical patent/JPS603764A/en
Publication of JPS603764A publication Critical patent/JPS603764A/en
Publication of JPH0318214B2 publication Critical patent/JPH0318214B2/ja
Granted legal-status Critical Current

Links

Classifications

    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00—Error detection; Error correction; Monitoring
    • G06F11/30—Monitoring
    • G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

PURPOSE:To trace the execution state of a program having a dynamic overlap structure by providing a conversion buffer to convert an instruction execution address of the program to a corresponding address of a memory for trace. CONSTITUTION:A conversion buffer 10 is prepared which indicates the correspondence between program execution memory addresses of the program loaded to an overlay area of a program execution memory 2, namely, an overlap object program module and memory addresses 12 for trace allocated to the program. The instruction execution address of the program is converted to the corresponding memory address 12 for trace by the conversion buffer 10 to trace the execution state of the program having a dynamic overlay structure without restrictions of the structure of the overlaid area neither the number of overlay object modules. Dynamic overlay means that an optional overlay module is executed in an optional overlay area at an optional time.

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明はプログラム内ノ戚製品におけるプログラムの実
行状態を6己録(トレース)する方式に関し、竹にプロ
グラム実行メモリ内の伐[のオーバレイ・エリアに対し
て時疋多故のプログラム・モジュールが任意にオーバレ
イさ才しる1方、j11動的オーバンイ構遺をイI′1
′−るプログラムを内蔵する製品に最適)よプログラム
火打状11歴トレース方式に閏する。
[Detailed Description of the Invention] [Field of Application of the Invention] The present invention relates to a method for tracing the execution state of a program in a program-related product. On the other hand, when multiple program modules are arbitrarily overlaid, the j11 dynamic overlay structure is I'1
(Ideal for products with built-in programs) The program uses a 11-history trace method.

〔発明の汀吠〕[The birth of invention]

匠米、プログラム内11i 製品において、プログラム
の実行済みとなった部分を足置的に把握する技術は、以
下に示す方式に限定されていた。
In Takumi's 11i program product, the technology for knowing exactly which part of the program has been executed has been limited to the method shown below.

(1) オーバレイ機能を持たない回定プログラムのト
レースを行う方式 (2) オーバレイをイするプログラムについては、各
オーバレイ・エリアの上限、下限′γアドレスよびファ
イル・メモリの上限、下′限アドレスをプログラムのオ
ーバレイ・エリアでの実行として認識するためのテーブ
ルとして登録しておき、Mt−テアドレスをこのテーブ
ルの登録アドレスと比す・父ずろことにより、オーバレ
イ・エリアでのプログラム構造行を認識してトレースす
る方式しかし、これらの方式の場合、前者はオーバレイ
を有ずろプログラムについてのトレースが不可能であり
、I& 乙についてはオーバレイされるエリアの数およ
びプログシム・モジュール数が多くなイ)と蜂録が吠ビ
[に)Lす、また動的オーバレイ檜遺に対l、て効魁を
持た7Iかった。さらに、オーバレイ・エリア内の一部
をオーバラップして使用するようなイN遺を有するグロ
グラドについて全(対処することかできなかった。
(1) A method for tracing rotation programs that do not have an overlay function. (2) For programs that perform overlay, the upper and lower limit 'γ addresses of each overlay area and the upper and lower limit addresses of the file memory are Register it as a table to recognize the program as being executed in the overlay area, and compare the Mt-te address with the registered address in this table. By doing this, the program structure line in the overlay area is recognized. However, in the case of these methods, it is impossible to trace programs that have overlays, and for I and B, the number of overlay areas and the number of program modules are large. The record was also very effective against dynamic overlays. Furthermore, we were unable to fully deal with Grograd, which has features that overlap and use parts of the overlay area.

〔発明の目的〕[Purpose of the invention]

本発明0■的″′・7°°グ″′”内M−映品0) 7
’ O! %ラム実行状態トレース方式において、動的
なプログラム・オーバレイの発生に対してオーバレイさ
れるエリアの1jiG 遺sオーツ(レイ財産グログシ
ム・モジュールの数に1Lfllポリ乞父けることなり
、クロクラムの夫1−f結果をトレースJ−るための方
式?提供−J−ることにある。
M-video product within the scope of the present invention 0) 7°°
'O! In the %RAM execution state tracing method, the number of overlaid areas for dynamic program overlay occurrences is 1JG OUTSU (lay property GLOSSIM module number will be 1Lflll poly begged, 1- The purpose is to provide a method for tracing the results.

〔発明の:gL安〕[Invention: gL low]

本発明の狩偵は、プログラム実行メモリのオーバレイ・
エリアにロードざ才したフ゛ログラム(オーバレイxL
衆プログシム・モジュール)の咳フ゛ロクラム夾ftメ
そり・アドレスと該プログラムに割付けられたトレース
用メモリ・アドレスとの対応を1 不T変侠バッファを用息し、10グラムの命令実何アド
レス’t tJ、に侠バッフ゛アで対応するトレース用
メモリ・アドレスに裳換することにより、オーバレイさ
れるエリアの侮這、オーツくレイズ・」家モジュールの
A文に市1j)勺を父けΦとと7.仁く、%Jll的オ
ーツゝレイ傳造を有するプログラムの夷1丁状態のトレ
ースを01餌にするものである。
The hunter of the present invention has an overlay of program execution memory.
A program that loads into the area (Overlay xL)
The correspondence between the memory address of the program module) and the trace memory address assigned to the program is 1. The immutable memory buffer is saved, and the actual address of the 10-gram instruction is 't'. tJ, by moving to the corresponding trace memory address in the buffer, the area to be overlaid is automatically raised. .. In fact, the trace of the state of a program that has a %Jll-like auto-lay design is used as 01 bait.

〔発明の実施例〕[Embodiments of the invention]

第1図11尤本発明の一実施例のブロック図である。 FIG. 11 is a block diagram of one embodiment of the present invention.

第1図に8いて、ブロック100はプログラム内蔵製品
であり、フッ′イル・メモリ1とプログラム実行メモリ
2とプロセッサ(例えばマ′イク口プロセッサ7.cど
)3で梼成されている。ファイル°メモリ1には盾駐プ
ログラムと多数のオーバレイ・プログラム・モジュール
かあす、′吊“寄主プログ7ムはプログラム夫f−jメ
モリ2の帛、佳エリアに酵旺されるが、オーバレイ・プ
ログラム・モノニールはプログラム実′r丁メモリ2の
オーバレイ・エリアに必をに応じてロードされて用いら
れる。このオーバレイ・プログラム・モジュールは、1
モ意の時刻においてグログラム実子jメモリz内の任意
のオーバレイ・エリアで任意のオーバレイ・モジュール
が太行きれるプログラム構造を有してJ6す、これな動
的オーバレイ構造と称している。
1, a block 100 is a product with a built-in program, and is composed of a file memory 1, a program execution memory 2, and a processor 3 (for example, a microphone processor 7.c). The file memory 1 contains a host program and a large number of overlay program modules, while the host program 7 is a program host program and a large number of overlay program modules are stored in the memory 2 area.・The monoyl is loaded into the overlay area of the program memory 2 as needed and used.
J6 has a program structure that allows any overlay module to move in any overlay area in the programmable child memory z at any desired time, which is called a dynamic overlay structure.

プログラム・オーバレイ動作の発生時、オーバレイを認
識するための茄箭(以下、(J[JT節加令弥す)が実
行される。このOU T(I’6 宙は、マイクロプロ
セッサに候続されている入出力kmに出力動作を行う場
合に発行するのが一般的な使われ方である。、、IN 
2図はOUT命令のフォーマット例で、胡令コード、P
 OIL T 浩号、データ部により結成さ才しる。こ
れのP ORT ar号の何屋の値をオーツ(レイ動作
の実何を示す値として割当て、データ部でオーバレイス
金プログラム・モジュールの識別香g(ID#)を指足
する。
When a program overlay operation occurs, a program (hereinafter referred to as "J") is executed to recognize the overlay. It is generally used to issue when output operation is performed for input/output km.
Figure 2 is an example of the format of the OUT command.
OIL T Hirogo was formed by the data department. Assign the value of this PORT ar number as a value indicating the actual lay operation, and add the identification g (ID#) of the overlay money program module in the data section.

第1図の芙施例では、上記プログラム・オーツ(レイ動
作の56生時に火付されるOUT命令な・炭山して、そ
の加令でボさオするオーツくレイ・プログラム・モノニ
ール鎮別番号から変俣アープルを索引することにより、
オーバレイの先生により鋭化するプログラム]1.¥遺
に対処Jるためのグログラノλ実行メモリ・アドレスと
トレース用メモリ・アドレスを関連づける変換バッファ
を作Xし、こオしによりオーバレイ・プログラムの天性
を着々のモジュールの災イ了アドレスとして正円ににト
レースすることを1−オニ能にしている。以下、第1図
に8リ−るプログラム内蔵製品100以外の6ブロツク
につ(・て説明する。
In the example shown in Fig. 1, the program OAT (the OUT command that is fired at the 56th generation of the lay operation), the OUTSU that is overloaded by the addition of the OUT command, and the lay program monoil number By indexing Henmata Arpur from
A program sharpened by overlay teachers] 1. In order to deal with the problem, we created a conversion buffer that associates the execution memory address with the trace memory address, and thereby corrected the nature of the overlay program as the failed address of the module. It is possible to trace in a circle. Hereinafter, six blocks other than the program built-in product 100 with eight leads shown in FIG. 1 will be explained.

第1図のブロック4はプロセッサ8で実行された命令が
OU T命令か否か判別する66令デコ一ド回路であり
、5はOU T 命令が判別された時、オーバレイ・プ
ログラム・モジュール識別査号(IOt# )を・演出
する■D:IE恢出回路、6は0IJT命令以外の命令
の場合、その節ンδアドレス(プログシム実行メモリ・
アドレス)をセットする醋乍アドレス・レジスタである
。7はプログラム内mN品100のグ【コグラムがオー
バレイ構、+=を持つか占n・を化ホスる1iilJ 
++・1jレジスタであり、1メオーバンイ4v’t 
遁0)汀〕、哄を示ずデータはバス113を遇して外部
から設定するものとする。
Block 4 in FIG. 1 is a 66-instruction decoding circuit that determines whether the instruction executed by the processor 8 is an OUT instruction, and 5 is an overlay program module identification circuit that determines whether an OUT instruction is determined. ■D: IE extraction circuit, 6 is 0. In the case of an instruction other than an IJT instruction, the node δ address (program execution memory
This is the address register that sets the address. 7 is the mN product 100 in the program.
++・1j register, 1 meoban i 4v't
It is assumed that the data is set from outside using the bus 113.

ブロック8はオーバレイさオしるプログラム・モジュー
ルに対応したエントリ数グ持つ変換テーブルであり、6
エントリは当該プログラム・モジュールの大きさ、プロ
グラム−Afjメモリ・アドレス、トレース用メモリ・
アドレスがりll汚成さlし。。ここでは、該テーブル
8の内容はバス116を通じて外部記憶数置あるいは手
操作によりトレース実施前に予め登録しておくものとす
る。第8図は変換 1テーブル8の詳細を示したもので
、■か当該エントリのオーバレイ・プログラム・モジュ
ールの大きさ、■が該オーバレイ・プログラムの実行メ
モリ・アドレス、■が該オーバレイ・プログラムに1刑
当てら下したトレース用メモリ・アドレスである。
Block 8 is a conversion table having the number of entries corresponding to the program modules to be overlaid;
The entry includes the size of the program module, the program-Afj memory address, and the trace memory address.
The address is corrupted. . Here, it is assumed that the contents of the table 8 are registered in advance through the bus 116, either by external memory entry or by manual operation, before the trace is executed. Figure 8 shows the details of conversion 1 table 8, where ■ is the size of the overlay program module of the relevant entry, ■ is the execution memory address of the overlay program, and ■ is the number of entries in the overlay program. This is the trace memory address assigned.

オーバレイ・プログラム・モジュールの火δさψは、オ
ーバレイJ−るプログラム・モジュールの大きさをモジ
ュールの分゛、’jlJ 限界値1モジユラスn”で・
、1つた;1区とし、n1tjはフ゛ログラムの4’+
# 逍により任、啄に設定可能とする。ここで、ゾログ
ラト・:モジュール分割限界11θはオーバレイされる
プログラム・モジュールの主としてロープ・1ング・ア
ドレスかり、そのモジュールτ分割するためのは太11
はで、例えばモジュールが250バイト晩界にロードさ
れる場合は、最大値256と7.C;Ql 0オーツく
レイ・プログラム大モジュール矢「fメモリ・7′ドレ
ス(2)は、オーバレイ・−モジュールかプログラムl
;’i 蔵gR品円のプログラム実に−Iメモリ2 ”
r:尖IT ’i’:れる(プログラム実行メモリ2の
オーツ< l/イ・エリアにロードさ?’シる)先頭ア
ドレスを示し、このアドレスにより鏝述する変換バッフ
ァ10のエントリをポイントずろ。トレース用メモリ・
アドレス■は、オーバレイ・プログラム・モジュールに
対応したトレース用メモリ・アドレスの先頭を示し1、
このアドレス・データを■のオーバレイ・モジュールの
大きさでボす値だVす笈侠バッファ10に4・6納J−
る。
The size δ of the overlay program module is defined as the size of the overlay program module by the module ``jlJ limit value 1 modulus n''.
, one; 1 section, and n1tj is 4'+ of the phrogram.
# Can be set as desired depending on the situation. Here, the Zolograt module division limit 11θ is mainly the rope, single address, and address of the overlaid program module, and the module division limit 11θ is
For example, if a module is loaded 250 bytes late, the maximum value is 256 and 7. C; Ql 0 Autolay program large module arrow "f memory 7' address (2) is overlay module or program l
;'I store gR product circle's program really-I memory 2 ”
r: IT 'i': Indicates the start address (loaded into the OAT<l/I area of the program execution memory 2), and points to the entry of the conversion buffer 10 described by this address. Trace memory
Address ■ indicates the beginning of the trace memory address corresponding to the overlay program module 1,
This address data is the value set by the size of the overlay module.
Ru.

ただし、fIKバッファ10の裡欽エントリに格納する
場合は、トレース用メモリ・アドレスなモジュラスnづ
つ加力、シながら格納1−る。
However, when storing in the last entry of the fIK buffer 10, the trace memory address is stored while applying and changing the modulus n by n.

第1図に戻り、ブロック9は変戻テーブル/変1良バッ
ファtlilJ X1回路であり、プログラノ、・モジ
ュールがオーバレイされた場合、オーバL/イ・モジュ
ール識別査号(I D#) 1j・ら変嗅チーグル8の
該当エントリをポイントし、このエントリ内のオーバレ
イ・モジュール爽rjメモリ・アト【/ス■から変換バ
ッファlOのエントリをポイントし1、トレース用メモ
リ・アドレス■の内容を震洟バッファlOに格納する。
Returning to FIG. 1, block 9 is a variable return table/variable buffer tlilJ Point to the corresponding entry in the odd-smell cheagle 8, point the overlay module refresh rj memory address [/s■ in this entry to the entry in the conversion buffer lO1, and save the contents of the trace memory address ■ to the shock buffer. Store in lO.

この時、笈侠バッファ10の幾つのエントリに浴納する
かはオーバレイ・モジュールの犬ぎさ■で示した値によ
り決ボする。一方、プログラムがオーバレイ構造を持た
ない場合は、バス102を通し゛〔送られてきたID#
は無効とし、変換テーブル8の径照、震侠バッファ10
への登録は行わない。
At this time, the number of entries in the entertainment buffer 10 to be filled is determined by the value indicated by the dot in the overlay module. On the other hand, if the program does not have an overlay structure, the ID# sent via the bus 102
is invalid, and the conversion table 8's guide and trembling buffer 10
No registration will be made.

ブロックIOは変換バッファで、第4図はその詳細を示
したものである。没侠バッファ10はプログラム実行メ
モリ谷型のすべてをカバーするだけのエントリを・げし
、6々のエントリはプログラム来行メモリ2とフログラ
ム・モジュール分割+m IL 値単位(例えば2.5
6ドツト)で対1.i;、 L−Cいる。第4図に示す
ように、変戻バッファ10の谷エントリにはトレース用
メモリ・アドレスがlfr n:I’Jされる。ただし
、このアドレスはオーバレイ・プログラム・モアニール
の分割限界値”モジュラスn ”で割った11ILとす
る。この変換バッファlOのずぺてのエントリは、プロ
グラム実行メモリ・アドレスと同一のトレース用メモリ
・アドレスで初期設定され、動的オーバレイ発生時、制
御回1169により該当エントリの内容が変換テーブル
8のトレース用メモリ・アドレス■の内容で、オーバレ
イ・モジュールの大きさだけ書替えられることになる。
Block IO is a conversion buffer, and FIG. 4 shows its details. The memory buffer 10 has enough entries to cover all of the program execution memory troughs, and the six entries are divided into program execution memory 2 and program module division +m IL value units (e.g. 2.5
6 dots) vs. 1. i;, L-C is there. As shown in FIG. 4, the trace memory address lfr n:I'J is stored in the valley entry of the return buffer 10. However, this address is 11IL, which is divided by the division limit value "modulus n" of the overlay program Moanneal. All entries of this conversion buffer IO are initialized with the same trace memory address as the program execution memory address, and when a dynamic overlay occurs, the contents of the corresponding entry are changed to the trace memory address of the conversion table 8 by the control circuit 1169. The contents of memory address ■ will be rewritten by the size of the overlay module.

ブロック1工はアドレス変換回路を示す。このアドレス
変j笑回路11では、命令アドレスをインテックス部と
変位部に分け、プログラムかオーバレイ構造を付つ嚇什
、命令アドレスのインテックス部で変」央バッフ′rJ
GO)該当エントリをポイントし、そのエントリのデー
タをトレース用メモリ・アドレス・レジスタ12の上位
にセットし、プログラムがオーバレイIi’ff mを
待たない場合は、命令アドレスのインテックス部をその
ままトレース用メモリ・アドレス・レジスタ12の上位
にセット1−る。トレース用メモリ・アドレス・レジス
タ12の下位には、命令アドレスの変位部をそのままセ
ット−3−る。命令アドレスのインテックス部と変位部
の境界は裳侠バッファ10のエントリと四浬かあり、こ
の境界の値1モジュラスn”は元のフログラム・モジュ
ールの分割限界値とし、変戻バッファJOのエントリ佐
又および鰺二41Qテーフ゛ル8のデータとしてボされ
るプログラム・モジュールの大きさくりとは仄の関係と
なる。 λ 変換バッファのエントリ数−変換テーブルのエントリで
示−4−プログラム・モジュールの大きさ=プログラム
実行エリアの容量 トレース用メモリである。トレース用メモリ14は、フ
ァイル・メモリ1にあるずべてのプログラム・モジュー
ルのノミ行状態をそ2t 5れトレース1′るだけの容
−・7遣があり、ファイル・メモリ1のαプログラム・
モジュールと該トレース用メモリ14内のトレース・エ
リアとの対応は笈侠テーブル8で下され、該当プログラ
ム・モジュールの6暗合(砧慴アドレス)トドレース・
エリアの谷’4J也との刈応は変換バッファ10で)f
zされる。トレース月」メモリ14の6査」也は1ビツ
トからなり、トレース月」メモリ:1IIJ御回路13
の制何1により、命令の夾イ〕に対してトレース用メモ
リ14の該当上地に′1′°か↑;tき込まれるとする
。
Block 1 shows an address conversion circuit. In this address modification circuit 11, the instruction address is divided into an intex part and a displacement part, and if the instruction address has an overlay structure, the instruction address is modified in the intex part of the instruction address.
GO) Point to the relevant entry and set the data of that entry in the upper part of the trace memory address register 12. If the program does not wait for the overlay Ii'ff m, the intex part of the instruction address is stored in the trace memory as is. - Set 1 to the upper part of address register 12. The displacement part of the instruction address is directly set in the lower part of the trace memory address register 12. The boundary between the intex part and the displacement part of the instruction address is equal to the entry of the transfer buffer 10, and the value of this boundary, 1 modulus n'', is the division limit value of the original program module, and the entry of the transfer buffer JO is Also, it has a different relationship with the size of the program module written as data in the Ajiji 41Q table 8. λ Number of entries in the conversion buffer - indicated by the entry in the conversion table - 4 - Size of the program module = Capacity trace memory for program execution area.The trace memory 14 stores the line status of all program modules in the file memory 1. There is an α program in file memory 1.
The correspondence between the module and the trace area in the trace memory 14 is determined by the table 8, and the 6-code match (Kitaka address) to trace of the corresponding program module is determined.
The battle with Area Tani'4Jya is in conversion buffer 10) f
z will be done. 6 bits of trace memory 14 also consist of 1 bit;
Assume that due to constraint 1, '1'° or ↑;t is written into the corresponding area of the trace memory 14 in response to the instruction (I).

仄に第1図の全体の動作な訳ゆ]する。プロセッサ8で
実行された命令はパス101を辿って命令デコード回路
4に入る。命令デコード回路4では、該命令がOUT命
令か否かチェックし、OUT命令の場合は、そのデータ
部で7ドすオーバレイ・プログラム・モジ↓−ルGik
別着号(I D#)かI D?出回路5で検出される。
This is a vague translation of the entire operation in Figure 1. Instructions executed by the processor 8 follow a path 101 and enter the instruction decode circuit 4. The instruction decode circuit 4 checks whether the instruction is an OUT instruction or not, and if it is an OUT instruction, the overlay program module ↓ - 7 in the data section is
Separate arrival number (ID#) or ID? It is detected by the output circuit 5.

HD#f莢出回゛11も5で慣用されたr Dltiま
パス102を通って裳挨テーブル/変恨バッファ制御仲
回路υに入る。震侠テーブル/変侠バッファ11flJ
 1il1回Il后9は、パス114乞ス川して化11
11レジスタ7の内容をmみ、該当11111ルジスタ
7にプログラムがオーバレイ構造を持た7、Cいという
データが設定されている場合は、パス102を辿して送
られてきた11)I+−は無効とし、変侠テーブル80
診照、袈侠バッファlO7\の登録は行わない。つまり
、0LIT砧令はプロセッサにづddされている人出力
鉄fRに出力製作を何54合に元1工するのρ・−収約
であり、 :1ill師レジスタ7の内容をチェックす
ることで、OUT防令が発イテされた場合、それがメー
バレイ動作をノJ(すOU T +6令〃・6か判別す
るのである。
The HD#f shell output 11 also enters the greeting table/transformation buffer control intermediate circuit υ through the rDlti path 102 commonly used in 5. Hentai Table/Hentai Buffer 11flJ
1il 1 time Il after 9, pass 114 beg river and become 11
Looking at the contents of the 11 register 7, if the data indicating that the program has an overlay structure is set in the corresponding 11111 register 7, the 11) I+- sent along the path 102 is invalid. Toshi, Henkyo Table 80
Examination and registration of the pedestal buffer lO7\ are not performed. In other words, 0LIT is a ρ-contraction of how many 54 times the output is produced for the human output iron fR that is ddd by the processor, and by checking the contents of register 7, , when an OUT prevention command is issued, it is determined whether the May Valley operation is ノJ(SUOUT +6 command〃・6).

1lflJ−レジスタ7にオーバレイ構造を持つという
データが設定されている場合、変換テーブル/変炭バツ
ンV +1ilJ御回16& 9は、人力したI J)
# >もとにパス104を)QI して変換デープル8
の該当工/トリをポイントし、そのエントリに格納され
ているオーバレイ・プログラム・モジュールの大きさ■
、オーバレイ・プログラム・モジュール笑何メモリ・ア
ドレス■、トレース用メモリ・アドレス■乞ハス105
を辿して入力する。そして、nl、 R侠テーブル/変
撲バッファ制御回路9では、変換テーブル8から入力し
たエントリのオーバレイ・プログラム・モジュール実行
メモリ・アドレス■から変換バッファlOの該当エント
リをポイントし、該エントリから始まるMim (M=
 1 、 2・・・m)のエントリにパス106を通し
て、オーバレイされたプログラム・モジュールの大きさ
分(■)だけトレース用メモリ・アドレス01(■)、
0□(■十七ジュラスn)、・・・On(■+モジュラ
スnX (m −1)を格納1−る。
1lflJ-If the data that has an overlay structure is set in register 7, the conversion table/change coal batn V + 1ilJ conversion 16 & 9 is manually created IJ)
# > Original path 104) QI and convert table 8
Point to the corresponding work/tree and check the size of the overlay program module stored in that entry.
, Overlay program module lol What memory address ■, Memory address for tracing ■ Beg Has 105
Follow and enter. Then, in the nl, R-table/henmo buffer control circuit 9, the overlay program module execution memory address ■ of the entry input from the conversion table 8 points to the corresponding entry in the conversion buffer lO, and the Mim (M=
1, 2...m) through the path 106, trace memory address 01 (■),
0□(■17 modulus n),...On(■+modulus nX (m -1) is stored 1-.

これで、プログラム実行メモリ2の成るオーバレイ:エ
リアに〃「シ<オーバレイされたフログラム・モジュー
ルに対し、そのプログラム実イ了メモリ・アドレスとト
レース用メモリ・アドレスの対応の変換バッファ10へ
の登録が終r−!る。なお、濱駐プログラムに対するプ
ログラム実行メモリ・アドレスとトレース用メモリ・ノ
′ドレスとの対応は、変洟バッファlOのすべてのエン
トリにプログラム実行メモリ・アドレスと同一のトレー
ス用メモリ・アドレスケ籾期股足)^ことでとられで1
dす、以殻、それが<5:+74 fることはない。
Now the overlay area consisting of the program execution memory 2 will be displayed.For the overlaid program module, the correspondence between the program execution end memory address and the trace memory address will be registered in the conversion buffer 10. The correspondence between the program execution memory address and the trace memory address for the parked program is that all entries in the change buffer lO have the same trace memory address as the program execution memory address.・Adleske paddy season leg) ^ Kotore Tore de 1
After that, it will never be <5:+74 f.

プロセラv8で命令が実行され、6r+全テコード1j
JJ 蹟4でオーバレイ動作を示ずOU T f=6 
竹でないことを検出すると、その都度、該当66令の実
行メモリ・アドレス(照合アドレス) jJ’&fi令
アドレス・レジスタ6に設定さ2する。これは、例えは
即今デコード回路・私がプロセッサ8からパス110を
剋して加令に先立ってそのフェッチ・アドレスを人力し
ておf! 、 OU T to令で1よいことを検出し
た時、人力しておいた命令フェッチ・アドレスを命令ア
ドレス・レジスタ6に転送することで実現する。
Instructions are executed in processor v8, 6r + total code 1j
JJ No overlay operation at 4 OUT f=6
Whenever it is detected that it is not bamboo, the execution memory address (verification address) of the corresponding 66 instructions is set in the instruction address register 6. This means, for example, that the decoding circuit immediately removes the path 110 from the processor 8 and manually retrieves the fetch address before adding the command. This is achieved by transferring the manually entered instruction fetch address to the instruction address register 6 when it is detected that the OUT to instruction is 1 good.

アドレス変換回路11は、消令アドレス・レジスタ6に
設定された6δ令アドレスをパス108を通し又人力し
、プログラム・モジュール分割限昇値(モ 1ジユラス
nL&ポイントに当該節令アドレスなインデックス部と
変位部に分ける。モジュラスnによるインデックス部と
変位部の分割は変換パックァ10のエレメント数を決定
するものであり、装置内におけるn値の設定は任意であ
る。
The address conversion circuit 11 manually inputs the 6δ order address set in the erasure address register 6 through the path 108, and converts the program module division limit increase value (modulus nL & point to the index part and displacement of the relevant node address). The division into the index part and the displacement part by the modulus n determines the number of elements in the conversion packer 10, and the n value can be set arbitrarily within the apparatus.

制御レジスタ7の内容はパス115を通してアドレス変
換回路11にも与えられている。アドレス変換回路11
では、制御レジスタ7にプログラムがオーバレイ構造を
持たないというデータが設定されている場合は、部会ア
ドレスのインデックス部をパス108を通してトレース
用メモリ・アドレス・レジスタ12の上位にそのま〜セ
ットする。又、制御レジスタ7にオーバレイ構造を持つ
というデータが設定されている場合は、命令アドレスの
インデックス部をパス10を通して変換バッファ1.0
に入力し、該インデックス部で変換バッファ10の該当
エントリをポイントし、該エントリの内容をパス109
を通してトレース用メモリ・アドレス・レジスタJ2の
上位にセットする。トレース用メモリ・アドレス・レジ
スタ]2の下位には命令アドレスの変位部をパス110
を通してセットする。トレース用メモリ・アドレス・レ
ジスタJ2の内容はパス111によってトレース用メモ
リ制御回路13に入力される。トレース用メモリ制御回
路13では、トレース用メモリ・アドレス・レジスタJ
2で示されるトレース用メモリ14の該当番地に、パス
112を通して論理゛1”を書き込む。トレース用メモ
リ14はファイル・メモリlにあるすべてのプログラム
・モジュールをカバーするだゆの容量かあり、該ファイ
ル・メモリlにある常駐プログラムあるいはオーバレイ
・グログラム・モジュールの任意命令がプロセッサ3で
実行される毎に、トレース用メモリ14の該当番地に1
”が書き込まれていく。したがって、トレース用メモリ
14の内容を読み出すことにより、ファイル・メモリ1
のプログラム・七シュ〜ルが動的にオーバレイされる場
合でも、谷プログラム・モジュール対応に実行/未実行
部分を定員的に把握することができる。
The contents of control register 7 are also provided to address conversion circuit 11 through path 115. Address conversion circuit 11
Now, if data indicating that the program does not have an overlay structure is set in the control register 7, the index part of the group address is directly set in the upper part of the trace memory address register 12 through the path 108. Also, if data indicating that the control register 7 has an overlay structure is set, the index part of the instruction address is sent to the conversion buffer 1.0 through the path 10.
, point the corresponding entry in the conversion buffer 10 in the index field, and transfer the contents of the entry to the path 109.
is set in the upper part of the trace memory address register J2. Tracing memory address register] 2, the displacement part of the instruction address is passed through 110.
Set it through. The contents of the trace memory address register J2 are input to the trace memory control circuit 13 via a path 111. In the trace memory control circuit 13, trace memory address register J
A logical ``1'' is written to the corresponding address of the trace memory 14 indicated by 2 through the path 112.The trace memory 14 has enough capacity to cover all the program modules in the file memory l. Every time an arbitrary instruction of the resident program or overlay program module in the file memory l is executed by the processor 3, 1 is stored at the corresponding address in the trace memory 14.
” is written. Therefore, by reading the contents of the trace memory 14, the file memory 1
Even when programs and programs are dynamically overlaid, it is possible to grasp the executed/unexecuted portions corresponding to valley programs and modules.

本実施例においては、動的オーバレイの実行を特定のp
 o tt ’r番号を持つUU’l’命令により認識
する方式としたが、命令デコード回路4で動的オーバレ
イの実行な開講できるのであれば、他の命令コードを用
いる方式であってもよい。また、本実施例においては、
動的オーバレイ4I?I造を有するプログラムの場合は
、プログラム実行メモリ・アドレスとトレース用メモリ
・アドレスは、非オーバレイ・エリア(常駐エリア)を
含めすべてアドレス変換する方式としたが、オーバレイ
・エリアと非オーバレイ・エリアを認識し、非オーバレ
イ・エリアについては非アドレス変換によりトレース用
メモリ・アドレスをめる方式であってもよい。
In this embodiment, dynamic overlay execution is
Although the method is described in which recognition is performed using the UU'l' command having the ott'r number, other instruction codes may be used as long as the instruction decoding circuit 4 can execute dynamic overlay. Furthermore, in this example,
Dynamic overlay 4I? In the case of a program that has an I structure, the program execution memory address and trace memory address are all address-converted, including non-overlay areas (resident areas); For non-overlay areas, the memory address for tracing may be determined by non-address translation.

更に本実施例においては、プログラム・オーバレイ動作
の発生時に実行さnるU C1i”命令のI D#で変
換テーブル8をポイントして、オーバレイされたプログ
ラム・モジュールの大きさ、オーバレイ・プログラム実
行メモリ・アドレス、トレース用メモリ・アドレスを入
手するとしたが、これらのデータはオーバレイ動作時、
プロセッサ3から入手するようにしてもよく、その場合
には変換テーブル8は不用である。
Furthermore, in this embodiment, the conversion table 8 is pointed to by the ID# of the "U C1i" instruction executed when a program overlay operation occurs, and the size of the overlaid program module and the overlay program execution memory are determined.・I tried to obtain the address and trace memory address, but these data are not available during overlay operation.
It may also be obtained from the processor 3, in which case the conversion table 8 is unnecessary.

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

以上の説明から明らかな如く、本発明によれば、次のよ
うな効果が得られる。
As is clear from the above description, according to the present invention, the following effects can be obtained.

(1)動的オーバレイを有するプログラムに対処するこ
とが可能である。またオーバレイの発生にのトレースを
被トレース製品内蔵プログラムの実動作時間で採取する
ことが可能である。
(1) It is possible to handle programs with dynamic overlays. Furthermore, it is possible to collect traces of the occurrence of overlays using the actual operating time of the internal program of the product to be traced.

(2)従来、対応が困難とされていた、多才−バレイ面
数、多才−バレイ・プログラム・モジュールあるいはオ
ーバレイ・エリアがオーバラッグしているfI写造等を
有する被雑なプログラムに関しても対応可能である。
(2) It is possible to deal with complex programs that have conventionally been difficult to deal with, such as multi-purpose volleyball numbers, multi-purpose volleyball program modules, or fI copying with overlapping overlay areas. be.

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

第1図は本発明の一実施例を示すブロック図、第2図は
オーバレイの発生時に実イIされるυLl 1’命令の
フォーマツトリ′すを示す図、第3図は変換テーブルの
詳細を示す図、第4図は変換バッファの \詳細を示す
図である。 l・・・ファイル・メモリ、2・・・プログラム実行メ
モリ、3・・・プロセッサ、4・・・命令デコード回路
、5・・・I IJ#検出回路、6・・・砧令アドレス
°レジスタ、7・・・制御レジスタ、8・・・変換テー
ブル、9・・・変換テーブル/変換ノ(ツ7アf++l
J御回路、10・・・変換バッファ、11・・・アドレ
ス変換回路、J2・・・トレース用メモリ・アドレス・
レジスタ、13・・・トレース用メモリ制御回路、14
・・・トレース用メモリ。 代理人弁理士 鈴 木 誠 −371− ′#−,,c1本t+4 ・電く\覧り・−ら(
FIG. 1 is a block diagram showing an embodiment of the present invention, FIG. 2 is a diagram showing the formatting of the υLl1' instruction that is executed when an overlay occurs, and FIG. 3 shows details of the conversion table. The figure shown in FIG. 4 is a diagram showing details of the conversion buffer. l...File memory, 2...Program execution memory, 3...Processor, 4...Instruction decoding circuit, 5...I IJ# detection circuit, 6...Kinto address ° register, 7... Control register, 8... Conversion table, 9... Conversion table/conversion
J control circuit, 10... Conversion buffer, 11... Address conversion circuit, J2... Trace memory address.
Register, 13... Trace memory control circuit, 14
...Trace memory. Representative Patent Attorney Makoto Suzuki-371-'#-,,c1 t+4 ・Electronic \ viewing ・-ra (

Claims (1)

【特許請求の範囲】 111プログラム゛実行メモリにオーバレイ・エリアを
有し、前記オーバレイ・エリアに対してa数のプログラ
ム・モジュールから任意のプログラム・モジュールをオ
ーバレイして実行するプログラム内戚製品におけるプロ
グラムの実行状態をトレースづ−る方式であって、内、
峨されている複数のプログラム・モジュールヱ体ヲマツ
ピングする構成のトレース用メモリと、i4iJm己プ
ログラム実行メモリのオーバレイ・エリアにオーバレイ
されたプログラム・モジュールのプログラム実行メモリ
・アドレスとトレース用メモリ・アドレスとの対応を示
す変換バッファとを設け、実何された命令のプログラム
笑イIメモリ・アドレスを前記変換バッファで対応する
トレース用メモリ・アドレスに変換し、該トレース用メ
モリ・アドレスで指示されるトレース用メモリ内の該当
番、L1i!K giJ記鮪令の実行を示すデータを記
録することを特徴とするプログラムの実行状態トレース
方式。 (2) 前り己変俣バッファの内容は、プログラム・オ
ーバレイ動作の発生時、当該プログラム・モジュールの
大きさ、オーバレイされたグログラム実行メモリ・アド
レス及び該プログラム・モジュールに割付けられたトレ
ース用メモリ・アドレスを入手して作成することを特徴
とする特許請求の範囲第1項記載のプログラムの実行状
態トレース方式。 (31f)プログラム・モジュール対応K ′r−ント
リを有し、+にエントリに6亥当プログラム・モジュー
ルの大きさ、プログラム実行メモリ・アドレス及びトレ
ース用メモリ・アドレスを41りした変換バッファを設
け、プログラム・オ・−バレイ動作の発生時に実行され
る特定命令で示されるプログラム・モジュール識別情報
により前記変換バッファの該当エントリをボイ/トシて
、オーバレイされたプログラム・モジュールの大きさ、
プログラム実行メモリ・アドレス及びトレース用メモリ
・アドレスを入手することを特徴とする特許請求の範囲
第2項記載のプログジムの実行状態トレース方式。
[Claims] 111 Program ``Program in a program-related product that has an overlay area in an execution memory and executes an arbitrary program module from a number of program modules by overlaying it on the overlay area. A method for tracing the execution status of
A trace memory configured to map a plurality of program modules, and a program execution memory address and a trace memory address of a program module overlaid in the overlay area of i4iJm's own program execution memory. A conversion buffer indicating the correspondence is provided, and the program memory address of the executed instruction is converted into a corresponding trace memory address by the conversion buffer, and the trace memory address indicated by the trace memory address is Corresponding number in memory, L1i! A method for tracing the execution status of a program, characterized by recording data indicating the execution of a KgiJki order. (2) When a program overlay operation occurs, the contents of the forward self-transforming buffer include the size of the program module, the overlaid program execution memory address, and the trace memory address allocated to the program module. 2. The program execution state tracing method according to claim 1, wherein the program execution state tracing method is created by obtaining an address. (31f) Provide a conversion buffer having a K'r- entry corresponding to a program module, and in which the size of the program module, the program execution memory address, and the trace memory address are set to 41 in the + entry; The size of the overlaid program module is determined by voiding/tossing the corresponding entry in the conversion buffer based on program module identification information indicated by a specific instruction executed when a program overlay operation occurs;
3. The program execution state tracing method according to claim 2, wherein a program execution memory address and a tracing memory address are obtained.
JP58111413A 1983-06-21 1983-06-21 Tracing system of execution state of program Granted JPS603764A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP58111413A JPS603764A (en) 1983-06-21 1983-06-21 Tracing system of execution state of program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP58111413A JPS603764A (en) 1983-06-21 1983-06-21 Tracing system of execution state of program

Publications (2)

Publication Number Publication Date
JPS603764A true JPS603764A (en) 1985-01-10
JPH0318214B2 JPH0318214B2 (en) 1991-03-12

Family

ID=14560531

Family Applications (1)

Application Number Title Priority Date Filing Date
JP58111413A Granted JPS603764A (en) 1983-06-21 1983-06-21 Tracing system of execution state of program

Country Status (1)

Country Link
JP (1) JPS603764A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002193564A (en) * 2000-12-28 2002-07-10 Toshiba It & Control Systems Corp Elevator operation control device
JP2005324890A (en) * 2004-05-12 2005-11-24 Toshiba Elevator Co Ltd Elevator operation control device
JP2008285335A (en) * 2008-09-03 2008-11-27 Mitsubishi Electric Corp Elevator control device and control method

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002193564A (en) * 2000-12-28 2002-07-10 Toshiba It & Control Systems Corp Elevator operation control device
JP2005324890A (en) * 2004-05-12 2005-11-24 Toshiba Elevator Co Ltd Elevator operation control device
JP2008285335A (en) * 2008-09-03 2008-11-27 Mitsubishi Electric Corp Elevator control device and control method

Also Published As

Publication number Publication date
JPH0318214B2 (en) 1991-03-12

Similar Documents

Publication Publication Date Title
US4426682A (en) Fast cache flush mechanism
DE112019002389T5 (en) ARCHITECTURE FOR DYNAMIC CONVERSION OF A MEMORY CONFIGURATION
DE102015222096B4 (en) memory patch circuit and system
JPS5821308B2 (en) Look-ahead control device
WO1987006369A1 (en) Method of assigning a board slot number
CN107290656A (en) A kind of expansible JTAG debugging structures of integrated bi-directional CRC check function
JP2578182B2 (en) Data processing device and data processing system
JPS59743A (en) Diagnosis system of ecc circuit
JPS59104800A (en) Parity check system of picture memory
JPS6349809B2 (en)
JPH0318214B2 (en)
JPS59123913A (en) Dma access system
JPS61214040A (en) Parity circuit of memory
JP3109816B2 (en) Address generator
JP2845746B2 (en) Micro program controller
JPS58211251A (en) Addressing method of storage device
SU809206A1 (en) Device for searching data in memory
JPS58166464A (en) Zap data correction control system
JPS6019811B2 (en) address translation device
JPS6010359B2 (en) Buffer memory control method
JPS6321276B2 (en)
JPH03257643A (en) Information processor
JPH01282667A (en) Memory addressing system
JPS5936398A (en) Storage device
JPS556679A (en) Check system of error control circuit