JPS62151947A - Memory address tracing system - Google Patents

Memory address tracing system

Info

Publication number
JPS62151947A
JPS62151947A JP60290854A JP29085485A JPS62151947A JP S62151947 A JPS62151947 A JP S62151947A JP 60290854 A JP60290854 A JP 60290854A JP 29085485 A JP29085485 A JP 29085485A JP S62151947 A JPS62151947 A JP S62151947A
Authority
JP
Japan
Prior art keywords
address
instruction
operand
memory
stack memory
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
JP60290854A
Other languages
Japanese (ja)
Other versions
JPH0412855B2 (en
Inventor
Satoshi Osada
長田 荘十司
Atsushi Fujihira
藤平 淳
Takaharu Kosuge
小菅 隆治
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP60290854A priority Critical patent/JPS62151947A/en
Publication of JPS62151947A publication Critical patent/JPS62151947A/en
Publication of JPH0412855B2 publication Critical patent/JPH0412855B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software

Landscapes

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

Abstract

PURPOSE:To easily debug a software by tracing including an operand address and displaying the presence or absence of the operand address by a flat bit when there is the operand address in an instruction by an instruction fetching address. CONSTITUTION:When there is an operand address in an instruction by an instruction fetching address, a flag bit 3a is set, and the instruction fetching address is accommodated in a stack memory 2 for an instruction fetching address. Into the address of a stack memory 3 for the operand address corresponding to the stack memory address to accommodate the instruction fetching address, the operand address is accommodated. Namely, the presence or absence of the operand address can be displayed by the flag bit 3a. Thus, it can be identified easily and without fail whether or not there is the aperand in the instruction, and debugging can be facilitated.

Description

【発明の詳細な説明】 〔概要〕 指定された範囲の命令フェッチアドレスをトレースする
と共に、その命令フェッチアドレスによる命令内にオペ
ランドアドレスがある場合に、そのオペランドアドレス
を含めてトレースし、■、つフラグビットによりオペラ
ンドアドレスの有無を表示し、ソフトウェアデバッグを
容易にするものである。
[Detailed Description of the Invention] [Summary] In addition to tracing instruction fetch addresses in a specified range, if there is an operand address in an instruction based on the instruction fetch address, tracing includes that operand address. The flag bit indicates the presence or absence of an operand address, making software debugging easier.

〔産業上の利用分野〕[Industrial application field]

本発明は、メインメモリへのアクセスアドレスをトレー
スするメモリアドレストレース方式に関するものである
The present invention relates to a memory address tracing method for tracing access addresses to main memory.

トレース機能を用いてメモリアドレスの所定範囲をトレ
ースし、ストップした時点で、その時のメモリアドレス
から過去に遡って各命令の履歴を調べることにより、デ
バッグを容易にするメモリアドレストレース方式が知ら
れている。
A memory address tracing method is known that facilitates debugging by tracing a predetermined range of memory addresses using the trace function, and when the trace stops, checking the history of each instruction from the memory address at that time. There is.

〔従来の技術〕[Conventional technology]

トレース機能は、デバッグの為に有効な機能であり、例
えば、命令実行毎に、命令フェッチアドレス、命令コー
ド、レジスタ類の内容、メモリの内容等を、スタックメ
モリに書込み、プログラムがスI〜ツブした時点で、そ
の時のアクセスアドレスの命令の実行から過去に遡り、
スタックメモリの内容を読出してCRT (陰極線管)
表示装置に表示するか、プリンタにより印字出力し、各
命令の実行による履歴を追跡するものである。このよう
なトレース機能を用いたメモリアドレストレース方式は
、指定した範囲内の命令フェッチアドレスをスタックメ
モリに格納してトレースするものであり、その命令フェ
ッチアドレスと共にオペランドアドレスをトレースする
為に、命令内でオペランドアドレスが無い場合に、一定
のビットパターンを書込むことが採用されている。
The trace function is an effective function for debugging. For example, each time an instruction is executed, the instruction fetch address, instruction code, register contents, memory contents, etc. are written to the stack memory, and the program is At that point, go back in time from the execution of the instruction at the access address at that time,
Read the contents of the stack memory and display it on a CRT (cathode ray tube)
The information is displayed on a display device or printed out using a printer, and the history of each command execution is tracked. The memory address tracing method using such a trace function stores the instruction fetch address within a specified range in the stack memory and traces it.In order to trace the operand address along with the instruction fetch address, When there is no operand address, writing a fixed bit pattern is adopted.

〔発明が解決しようとする問題点〕[Problem that the invention seeks to solve]

前述の従来例に於いては、命令内でオペランドアドレス
が無い場合に、一定のビットパターンを書込むものであ
るが、どのようなパターンを採用しても、オペランドア
ドレスの有無を確実に判断することは困難であるから、
デバッグ時に、命令の種類を調べなければならないこと
になり、デバッグに要する時間が長くなる欠点があった
In the conventional example described above, when there is no operand address in an instruction, a certain bit pattern is written, but no matter what pattern is adopted, it is impossible to reliably determine the presence or absence of an operand address. Because it is difficult,
When debugging, it is necessary to check the type of instruction, which has the disadvantage of increasing the time required for debugging.

本発明は、オペランドアドレスの有無の識別を容易にし
、それによってデバッグが容易となるようにすることを
目的とするものである。
An object of the present invention is to facilitate identification of the presence or absence of an operand address, thereby facilitating debugging.

〔問題点を解決するための手段〕[Means for solving problems]

本発明のメモリアドレストレース方式は、オペランドア
ドレスの有無をフラグビットで表示するものであり、第
1図を参照して説明する。
The memory address tracing method of the present invention uses flag bits to indicate the presence or absence of an operand address, and will be explained with reference to FIG.

メインメモリ1のメモリアドレスバスにスタックメモリ
が接続され、スタックメモリL;l:、命令フェッチア
ドレス用スタックメモリ2とオペランドアドレス用スタ
ックメモリ3とから構成され、オペランドアドレス用ス
タックメモリ3にフラグビット3aを設け、命令フェッ
チアドレスによる命令内にオペランドアドレスがある場
合は、フラグビット3aをセントして、その命令フェッ
チアドレスを命令フェッチアドレス用スタックメモリ2
に格納すると共に、その命令フェッチアドレスを格納し
たスタックメモリアドレスに対応したオペランドアドレ
ス用スタックメモリ3のアドレスにオペランドアドレス
を格納するものである。
A stack memory is connected to the memory address bus of the main memory 1, and is composed of a stack memory L;l:, a stack memory 2 for instruction fetch addresses, and a stack memory 3 for operand addresses, and a flag bit 3a in the stack memory 3 for operand addresses. If there is an operand address in the instruction using the instruction fetch address, flag bit 3a is set and the instruction fetch address is stored in the instruction fetch address stack memory 2.
At the same time, the operand address is stored at the address in the operand address stack memory 3 corresponding to the stack memory address where the instruction fetch address is stored.

〔作用〕[Effect]

オペランドアドレスの有無をフラグビット3aにより表
示することができるから、命令内でオペランドアドレス
があったか否かを確実に且つ容易に識別することが可能
となり、デバッグが容易となる。
Since the presence or absence of an operand address can be indicated by the flag bit 3a, it becomes possible to reliably and easily identify whether or not an operand address exists in an instruction, making debugging easier.

〔実施例〕〔Example〕

以下図面を参照して本発明の実施例について詳細に説明
する。
Embodiments of the present invention will be described in detail below with reference to the drawings.

第2図は本発明の実施例の概略ブロック図であり、11
.12は中央処理装置(cco、cc。
FIG. 2 is a schematic block diagram of an embodiment of the present invention, and 11
.. 12 is a central processing unit (cco, cc.

)、13.14はメインメモリ (MM o+ MMl
)、15.16はスタックメモリ、17〜20はメモリ
アドレスバス、21.22はメモリアドレスレジスタ(
MAR) 、23.25は命令フェッチアドレス用スタ
ックメモリ (STKA) 、24.26はオペランド
アドレス用スタックメモリ (STKB)である。この
オペランドアドレス用スタックメモリ24.26に図示
を省略したフラグビットが設けられている。
), 13.14 is the main memory (MM o + MMl
), 15.16 is stack memory, 17 to 20 are memory address buses, and 21.22 is memory address register (
MAR), 23.25 is a stack memory for instruction fetch addresses (STKA), and 24.26 is a stack memory for operand addresses (STKB). Flag bits (not shown) are provided in the operand address stack memories 24 and 26.

中央処理装置lL12とメインメモリ13゜14とによ
り二重化構成とした場合を示し、現用系を中央処理装置
11とメインメモリ13とのO系で構成した場合、メモ
リアドレスレジスタ21にセットされたメモリアドレス
によりメインメモリ13.14のアクセスが行われ、デ
ータ書込みの場合は、同一アドレスに同一のデータが書
込まれ、又データ読出しの場合は、現用系のメインメモ
リ13から読出される。そして、現用、予備の構成に拘
わらず、0系のメインメモリ13がO系の中央処理装置
11からアクセスされた時に、スタックメモリ15によ
りトレースされ、1系のメインメモリ14が1系の中央
処理装置12からアクセスされた時に、スタックメモリ
16によりトレースされる。
A case is shown in which a redundant configuration is used with the central processing unit 1L12 and the main memory 13゜14, and when the active system is configured with an O system consisting of the central processing unit 11 and the main memory 13, the memory address set in the memory address register 21 The main memories 13 and 14 are accessed, and in the case of data writing, the same data is written to the same address, and in the case of data reading, it is read from the active main memory 13. Regardless of the current or standby configuration, when the main memory 13 of the 0 system is accessed by the central processing unit 11 of the O system, it is traced by the stack memory 15, and the main memory 14 of the 1 system is accessed by the central processing unit 11 of the 1 system. When accessed by device 12, it is traced by stack memory 16.

そして、命令フェッチアドレスが指定された範囲内のア
ドレスであると、命令フェッチアドレス用スタックメモ
リ23.25に書込まれ、その命令フェッチアドレスに
よる命令内にオペランドアドレスがあると、オペランド
アドレス用スタックメモリ24.26のフラグビットを
セ・ノドし、オペランドアドレスを書込むものである。
If the instruction fetch address is within the specified range, it is written to the instruction fetch address stack memory 23, 25, and if there is an operand address in the instruction by the instruction fetch address, it is written to the operand address stack memory 23.25. It sets the flag bits of 24 and 26 and writes the operand address.

第3図は本発明の実施例のスタックメモリのブロック図
であり、31は命令フェッチアドレス用スタックメモリ
 (STKA) 、32はオペランドアドレス用スタッ
クメモリ (STKB) 、33はスタックポインタ(
SPNT) 、34は制御部、35〜43はアンド回路
、44〜48は信号保持用のフリップフロップ、49.
50は第1のクロック信号(図示せず)で動作するDフ
リップフロップ(1)、51〜53は第1のクロック信
号と位相の異なる第2のクロック信号(図示せず)で動
作するDフリップフロップ(II)である。
FIG. 3 is a block diagram of the stack memory according to the embodiment of the present invention, in which 31 is a stack memory for instruction fetch addresses (STKA), 32 is a stack memory for operand addresses (STKB), and 33 is a stack pointer (
SPNT), 34 is a control unit, 35 to 43 are AND circuits, 44 to 48 are flip-flops for holding signals, 49.
50 is a D flip-flop (1) that operates on a first clock signal (not shown), and 51 to 53 are D flip-flops that operate on a second clock signal (not shown) that has a different phase from the first clock signal. (II).

又D0゜〜D23はデータバスのデータ、PRQはオペ
ランド要求信号、IRQは命令フェッチ要求信号、A 
6 o −A 23はアドレスバスのアドレス信号、A
DMTはトラップ指示信号、lR35は命令終了指示信
号、IR3は次命令開始指示信号、R/Wはリード・ラ
イト信号、FFG5はフリップフロップグループの指定
信号、WEばライトイネーブル信号、RDSGはリード
データセレクI・ゲート信号、WDSGはライ]・デー
タセレクトゲート信号、5PNTGはスタックポインタ
ゲ−1・信号、5PNTIはスタックポインタのインク
リメント信号である。
Also, D0° to D23 are data bus data, PRQ is an operand request signal, IRQ is an instruction fetch request signal, and A
6 o -A 23 is the address signal of the address bus, A
DMT is a trap instruction signal, lR35 is an instruction end instruction signal, IR3 is a next instruction start instruction signal, R/W is a read/write signal, FFG5 is a flip-flop group designation signal, WE is a write enable signal, and RDSG is a read data select signal. 5PNTG is a stack pointer gate signal, 5PNTI is a stack pointer increment signal.

制御部34は、Dフリップフロップ52を介したアドレ
ス信号A。0と、前述の各信号ADMT。
The control unit 34 receives the address signal A via the D flip-flop 52. 0 and each of the aforementioned signals ADMT.

lR35,IR3,R/W、FFG5等が加えられ、各
部に加える前述の各信号WE、RDSG。
lR35, IR3, R/W, FFG5, etc. are added, and the above-mentioned signals WE and RDSG are added to each part.

WDSG、5PNTG、5PNTTを出力するものであ
る。
It outputs WDSG, 5PNTG, and 5PNTT.

スタックメモリ31.32はフリップフロップグループ
(FFG)として使用することができるものであり、指
定信号FFG5によりスタックメモリ31.32として
使用するか、通常のフリップフロップグループとして使
用するかの指定が行われる。スタックメモリ31.32
として使用ずる場合は、スタックポインタ33からのア
ドレス信号がアドレス端子A。−I□にそれぞれ加えら
れ、データ端子110o−zsに加えられたデータが、
ライトイネーブル信号WEによって書込まれ、或いはデ
ータ端子I / Oo−zzから読出される。
The stack memories 31, 32 can be used as a flip-flop group (FFG), and a designation signal FFG5 specifies whether to use them as the stack memories 31, 32 or as a normal flip-flop group. . Stack memory 31.32
When used as an address terminal A, the address signal from the stack pointer 33 is used as an address terminal A. -I□ and the data added to the data terminal 110o-zs,
It is written by the write enable signal WE or read from the data terminal I/Oo-zz.

このスタックポインタ33は、第2のクロック信号(図
示せず)により動作するDフリップフロップ53の出力
信号に従ってデータバスを介して加えられた初期設定デ
ータを設定し、制御部34からのインクリメント信号5
PNTIによって順次歩進され、スタックメモリ31.
32のアドレス端子An−+tにそれぞれアドレス信号
を加えるものである。
This stack pointer 33 sets the initial setting data applied via the data bus according to the output signal of the D flip-flop 53 operated by a second clock signal (not shown), and receives an increment signal 5 from the control section 34.
The stack memory 31 .
Address signals are applied to each of the 32 address terminals An-+t.

又アンド回路35〜37等によりリードデータセレクト
ゲートが構成され、制御部34からのリードデータセレ
クトゲート信号RDSGにより制御され、スタックメモ
リ31.32から読出されたデータがデータバスに送出
される。又アンド回路38,39,40.41等により
ライトデータセレクトゲートが構成され、制御部34か
らのうイトデータセレクトゲート信号WDSGにより制
御され、スタックメモリ31.32にライトデータが加
えられる。
A read data select gate is constituted by AND circuits 35 to 37 and the like, and is controlled by a read data select gate signal RDSG from the control section 34, and data read from the stack memories 31 and 32 is sent to the data bus. A write data select gate is constituted by AND circuits 38, 39, 40.41, etc., and is controlled by a write data select gate signal WDSG from the control section 34, and write data is added to the stack memory 31.32.

アドレスバスのアドレス信号Δ。。〜A Z 3が命令
フェッチアドレス信号で、命令フェッチ要求信号IRQ
−A(Dフリップフロップ49にセットされると、アン
ド回路43を介してその命令フェッチアドレス信号が出
力され、フリップフロップ46〜48、ライトデータセ
レクトートートを構成するアンド回路41等を介してス
タックメモリ31のデータ端子I10゜−23に加えら
れ、スタックポインタ33からアドレス端子A o −
I 2に加えられるアドレス信号に従って、スタックメ
モリ31に命令フェッチアドレス信号が書込まれる。
Address signal Δ of the address bus. . ~A Z 3 is the instruction fetch address signal, and the instruction fetch request signal IRQ
-A (When set in the D flip-flop 49, the instruction fetch address signal is outputted via the AND circuit 43, and stacked via the flip-flops 46 to 48, the AND circuit 41 constituting the write data select tote, etc.) It is added to the data terminal I10°-23 of the memory 31, and from the stack pointer 33 to the address terminal A o -
An instruction fetch address signal is written to stack memory 31 according to the address signal applied to I2.

この命令フェッチアドレスによる命令にオペランドメモ
リアクセスを含まない場合は、オペランド要求信号PR
Qは“0″となるから、アンド回路42は閉じられたま
まとなり、ライトデータセレクトゲートを構成するアン
ド回路39.オア回路を介して出力されるオール“0”
の信号は、オ−ル“1”の信号となって、スタックメモ
リ32のデータ端子1 / Oo−z3に加えられる。
If the instruction based on this instruction fetch address does not include operand memory access, the operand request signal PR
Since Q becomes "0", the AND circuit 42 remains closed, and the AND circuit 39 . All “0” output via OR circuit
The signal becomes an all "1" signal and is applied to the data terminal 1/Oo-z3 of the stack memory 32.

その時にスタックメモリ32のアドレス端子A。−82
に加えられるアドレス信号は、スタックメモリ31のア
ドレス端子A。−1゜に加えられるアドレス信号と同一
であるから、命令フェッチアドレス信号が書込まれたス
タックメモリ31と同一のスタックメモIJ32のアド
レスにオール“1”が書込まれる。
At that time, the address terminal A of the stack memory 32. -82
The address signal applied to address terminal A of the stack memory 31. Since it is the same as the address signal added to -1°, all "1"s are written to the address of the stack memory IJ32 that is the same as the stack memory 31 to which the instruction fetch address signal is written.

即ち、フラグビットを含めてオール“1″が書込まれる
ことになる。
That is, all "1"s are written including the flag bit.

又オペランドメモリアクセスを含む場合は、オペランド
要求信号PRQが“1”となり、Dフリップフロップ5
1の出力によってアンド回路42に開かれるから、アド
レスバスを介したオペランドアドレス信号がアンド回路
42から出力され、フリップフロップ45.アンド回路
39等を介してスタックメモリ32に加えられる。この
時オペランド要求信号PRQがDフリップフロップ50
、フリップフロップ44を介してフラグビットとなり、
インバータにより反転されることにより、スタックメモ
リ32には、“0”のフラグビットとして書込まれる。
In addition, when operand memory access is included, the operand request signal PRQ becomes "1" and the D flip-flop 5
1 is opened to the AND circuit 42, so the operand address signal via the address bus is output from the AND circuit 42, and the flip-flop 45. It is added to the stack memory 32 via an AND circuit 39 and the like. At this time, the operand request signal PRQ is sent to the D flip-flop 50.
, becomes a flag bit via the flip-flop 44,
By being inverted by the inverter, it is written into the stack memory 32 as a flag bit of "0".

第4図はアドレス収集の説明図であり、スタックメモリ
5TKAにはアドレスバッファl−13Fを介して命令
フェッチアドレス信号がライトデータとして加えられ、
スタックメモリS T K BにはアドレスバッファP
−BFを介してオペランドアドレス信号がライトデータ
として加えられる。例えば、EX命令はオペランドアド
レスが発生しないので、そのEX命令アドレスがスタッ
クメモリ5TKAに書込まれるが、スタックメモリS 
T KBにはフラグビットを含めてオール“1”が書込
まれる。
FIG. 4 is an explanatory diagram of address collection, in which an instruction fetch address signal is added as write data to the stack memory 5TKA via the address buffer l-13F.
The stack memory STKB has an address buffer P.
-An operand address signal is added as write data via BF. For example, since the EX instruction does not generate an operand address, the EX instruction address is written to the stack memory 5TKA, but the EX instruction address is written to the stack memory S
All "1"s including flag bits are written to TKB.

又EXN命令のアドレスではオペランドアドレスが発生
しないが、そのEXNXN命令台令アドレス及びオペラ
ンドアドレスについては、スタックメモリ5TKAにE
XN命令アドレスが書込まれると共に、スタックメモリ
S T K Bにフラグビットを含めてオール“1”が
書込まれ、EXN命令先命令アドレスがスタックメモリ
S T KΔに書込まれると共にEXN命令先命令のオ
ペランドアドレスがスタックメモリ5TKBに書込まれ
、フラグビットは“0”となる。又EXNKXN一つい
ては、EXNK命令アドレスがスタックメモリ5TKA
に書込まれ、又オペランドアドレスa2がスタックメモ
リ5TKBに書込まれる。そのEXNK命令先命令アド
レス及びEXNK命令先命令のオペランドアドレスはそ
れぞれスタックメモリ5TKA、5TKBに書込まれる
Also, an operand address does not occur in the address of an EXN instruction, but the EXNXN instruction address and operand address are stored in the stack memory 5TKA.
At the same time as the XN instruction address is written, all "1"s including the flag bit are written to the stack memory STKB, and the EXN instruction destination instruction address is written to the stack memory STKΔ, and the EXN instruction destination instruction The operand address of is written to the stack memory 5TKB, and the flag bit becomes "0". Also, if there is one EXNKXN, the EXNK instruction address is stack memory 5TKA.
The operand address a2 is also written to the stack memory 5TKB. The EXNK instruction destination instruction address and the operand address of the EXNK instruction destination instruction are written to stack memories 5TKA and 5TKB, respectively.

このようなスタックメモリ5TKA、5TKBのアドレ
スが、それぞれ0000〜I FFFの場合、フリップ
フロップグループFFGとして使用する場合は、第5図
に示すように、連続したアドレスが割りつけられ、oo
oo〜3FFFのアドレスにより内部データの書込みが
行われることになる。
When the addresses of such stack memories 5TKA and 5TKB are 0000 to IFFF, respectively, when used as a flip-flop group FFG, consecutive addresses are assigned as shown in FIG.
Internal data will be written using addresses from oo to 3FFF.

第6図はサンプルコントロールレジスタ(SCR)の説
明図であり、IFは命令フェッチ、PFはオペランドフ
ェッチ、PSはオペランドストアを示す。このレジスタ
によって動作の開始や停止が指示され、アドレス範囲の
開始アドレスは、サンプルマッチスタートアドレスレジ
スタ(SMSR)によって指定され、又アドレス範囲の
終了アドレスは、サンプルマツチエンドアドレスレジス
タ(SMER)によって指定される。
FIG. 6 is an explanatory diagram of the sample control register (SCR), where IF indicates instruction fetch, PF indicates operand fetch, and PS indicates operand store. This register instructs to start or stop the operation, the start address of the address range is specified by the sample match start address register (SMSR), and the end address of the address range is specified by the sample match end address register (SMER). Ru.

第7A図及び第7B図は動作フローチャー1・を示し、
命令の先取り制御の場合についてのものである。メモリ
アドレストレースのスタートで、先ずFFG初期初期設
定杆う。即ち、フリソプフロッブグル−ブFFGをスタ
ックメモリS T K八。
7A and 7B show operation flowchart 1.
This is about the case of preemption control of instructions. At the start of memory address tracing, the FFG initialization is first performed. That is, the Fritsop flop groove FFG is stored in the stack memory STK8.

5TKB構成となるように初期設定し、ザンプルマッチ
スタートアドレスレジスタ5M5Hによりアドレス範囲
の開始アドレスを指定し、サンプルマツチエンドアドレ
スレジスタSMERによりアドレス範囲の終了アドレス
を指定し、且つスタックポインタ5PNTによりスタッ
クメモリ5TKA、5TKBの先頭アドレスを指定する
The initial settings are made to have a 5TKB configuration, the start address of the address range is specified using the sample match start address register 5M5H, the end address of the address range is specified using the sample match end address register SMER, and the stack memory is specified using the stack pointer 5PNT. Specify the start address of 5TKA and 5TKB.

次にSCR設定■を行う。即ち、サンプルコントロール
レジスタSCR(第6図参照)の内容の設定を行う。こ
のレジスタSCRの231. 22″′。
Next, perform SCR setting (■). That is, the contents of the sample control register SCR (see FIG. 6) are set. 231 of this register SCR. 22″′.

224ビツトがul”、“0”、“1”か否かを判別す
る■。即ち、トラップ開始(“1”)、トラップ選択(
“0”)且つ命令フェッチトラップ指示に1”)(第6
図参照)であるか否かを判別する。この条件でない場合
は、メモリアドレストレース動作の停止であるから、終
了となる。
■ Determine whether the 224 bits are "ul", "0", or "1". That is, trap start ("1"), trap selection (
“0”) and 1”) (sixth
(see figure). If this condition is not met, the memory address trace operation is stopped and the process ends.

又この条件の場合は、MMアクセス、即ち、メモリアク
セスであるか否か、メモリアクセスが命令フェッチIF
であるか、或いはオペランドフェッチPF又はオペラン
ドストアPSであるかを判別する■。メモリアクセスで
なければステップ0に移行する。又オペランドフェッチ
PF又はオペランドストアPSの場合は、メモリアドレ
スバッファMABの内容をオペランドアドレスバッファ
P−BFにセットしく (MAB)→P−BF)、その
オペランドアドレスバッファP−BFの223ビツトを
“0゛′とし■、MMアクセスの識別ステップ■に移行
する。即ち、フラグビットを0”として、オペランドア
ドレスがあることを表示する。
In addition, in the case of this condition, whether the memory access is a MM access, that is, a memory access, or whether the memory access is an instruction fetch IF
2), or whether it is an operand fetch PF or an operand store PS. If there is no memory access, the process moves to step 0. In the case of operand fetch PF or operand store PS, the contents of memory address buffer MAB should be set to operand address buffer P-BF ((MAB)→P-BF), and the 223 bits of operand address buffer P-BF should be set to “0”. Then, the process proceeds to the MM access identification step (2).That is, the flag bit is set to "0" to indicate that there is an operand address.

又命令フェッチIFの場合は、命令フェッチ要求IRQ
がジャンプ命令フェッチJIFであるか通常の命令フェ
ッチIFであるか判別する■。ilr!常の命令フェッ
チIFの場合は次のステップ■に移行し、ジャンプ命令
フェッチJ T Fの場合は、次命令トラップ指示フラ
グADMTFIを“0”とし■、次のステップ■に移行
する。即ち、次命令トラップ指示フラグADMTFIが
1”でトランプ指示を示していても、ジャンプ命令によ
って他の命令に移行することになるから、0”としてト
ラップ指示を解除するものである。このステップ■では
、メモリアドレスバッファMへBの内容を次々命令アド
レスバッファI −T3 F ]にセセラする( (M
AR)−T−BF 1)。
In the case of instruction fetch IF, instruction fetch request IRQ
Determine whether JIF is a jump instruction fetch JIF or a normal instruction fetch IF. illr! In the case of a normal instruction fetch IF, the process moves to the next step (2), and in the case of a jump instruction fetch JTF, the next instruction trap instruction flag ADMTFI is set to "0", and the process moves to the next step (3). That is, even if the next instruction trap instruction flag ADMTFI is 1'' indicating a trump instruction, since the jump instruction causes a transition to another instruction, the trap instruction is canceled as 0''. In this step (2), the contents of B to memory address buffer M are sequentially transferred to instruction address buffer I-T3F] ((M
AR)-T-BF 1).

次にトラップ指示信号ADMTがトラップ範囲内である
か否かを判別■し、トラップ指示でなりればステップ■
に移行し、トラップ指示であれば次々命令アドレスバッ
ファ1−BFIの内容を次命令アドレスバッファT−B
F2に七ソトシ〔(1−BFI)−1−BF2) 、次
命令トラップ指示フラグADMTFIを1”とする[相
]。
Next, it is determined whether or not the trap instruction signal ADMT is within the trap range, and if it is a trap instruction, step ■
If the instruction is a trap instruction, the contents of the instruction address buffer 1-BFI are transferred to the next instruction address buffer T-B.
Seven steps [(1-BFI)-1-BF2) are made to F2, and the next instruction trap instruction flag ADMTFI is set to 1'' [phase].

そして、命令終了指示信号I R3Sであるか否か判別
0し、命令終了指示でない場合は、ステップ■に移行し
、命令終了指示であれば、第7B図のステップ@に移行
する。このステップ@は、現命令トラップ指示フラグA
DMTF2が“1”であるか“0”であるかを判別する
もので、′0”であればステップ[相]に移行し、′1
”であれば、現命令アドレスバッファl−BF3の内容
をスタックメモリ5TKAに、又オペランドアドレスバ
ッファP−BFの内容をスタックメモリ5TKBにそれ
ぞれ書込む((I−BF3)→5TKA。
Then, it is determined whether or not it is the instruction end instruction signal IR3S. If it is not an instruction end instruction, the process moves to step (2), and if it is an instruction end instruction, the process moves to step @ in FIG. 7B. This step @ is the current instruction trap instruction flag A
This is to determine whether DMTF2 is “1” or “0”. If it is “0”, it moves to step [phase] and goes to “1”.
”, the contents of the current instruction address buffer l-BF3 are written to the stack memory 5TKA, and the contents of the operand address buffer P-BF are written to the stack memory 5TKB ((I-BF3)→5TKA.

(P−BF)→5TKB)@。即ち、スタックポインタ
5PNTによって書込アドレスが指示されて、命令フェ
ッチアドレス信号がスタックメモリ5TKAに書込まれ
、オペランドアドレスがスタックメモリ5TKBに書込
まれる。その時、オペランドアドレス有りを示す“0”
のフラグビットも書込まれることになる。
(P-BF)→5TKB)@. That is, a write address is designated by stack pointer 5PNT, an instruction fetch address signal is written to stack memory 5TKA, and an operand address is written to stack memory 5TKB. At that time, “0” indicates that there is an operand address.
The flag bits of will also be written.

スタックメモリ5TKA、5TKBへの書込み終了によ
りスタックポインタ5PNTの内容を4−1する( (
SPNT)+1 →5PNT) o、次に次命令トラッ
プ指示フラグADMTFIが“1”か“0”かを判別し
、“1”であれば次命令開始指示信号IR3か否かの判
別のステップ[相]に移行し、“0”であれば現命令ト
ラップ指示フラグADMTF2を“0”としO、ステッ
プ[相]に移行する。
Upon completion of writing to stack memories 5TKA and 5TKB, the contents of stack pointer 5PNT are incremented by 4-1 ( (
SPNT) +1 → 5PNT) o Next, it is determined whether the next instruction trap instruction flag ADMTFI is "1" or "0", and if it is "1", the next instruction start instruction signal IR3 is determined in the step [phase ], and if it is "0", the current instruction trap instruction flag ADMTF2 is set to "0" and the process moves to step [phase].

ステップ[相]に於いて次命令開始指示信号IR3を識
別した時は、次命令アドレスバッファ■−BF2の内容
を現命令アドレスパッツァ1−BF3にセットし、オー
ル“1”をオペランドアドレスバッファP−BFにセン
トする((1−BF2)→l−BF3. a 11 ”
 l”→P−BFJ @l。又次命令開始指示信号でな
い場合は、現命令トランプ指示フラグADMTF2を“
0”とし[相]、ステップ■に移行する。
When the next instruction start instruction signal IR3 is identified in step [phase], the contents of the next instruction address buffer ■-BF2 are set to the current instruction address pazza 1-BF3, and all "1" are set to the operand address buffer P-BF2. Cent to BF ((1-BF2) → l-BF3. a 11”
l”→P-BFJ @l.If it is not the next instruction start instruction signal, set the current instruction tramp instruction flag ADMTF2 to “
0” [phase] and move to step ①.

次に、次命令トラップ指示フラグADMTFIが“1”
であるか“0”であるかを判別する[相]。
Next, the next instruction trap instruction flag ADMTFI is “1”
or “0” [phase].

“0”であれば、第7A図に於けるステップ■に移行す
る。又“1”であれば、現命令トラップ指示フラグAD
MTF2を1″とする■。そして、トラップ指示信号A
DMTであるか否か判別Oし、トラップ指示でない場合
は、次命令トラップ指示フラグADMTFIを“0″と
し[相]、ステップ■に移行する。又トラップ指示の場
合は、ステップ■に移行する。
If it is "0", the process moves to step (2) in FIG. 7A. If it is “1”, the current instruction trap instruction flag AD
Set MTF2 to 1''. Then, trap instruction signal A
It is determined whether it is DMT or not. If it is not a trap instruction, the next instruction trap instruction flag ADMTFI is set to "0" [phase] and the process moves to step (2). Further, in the case of a trap instruction, the process moves to step (3).

オペランドアドレス用スタックメモリ5TKBのフラグ
ビットは、0″をオペランドアドレス有りとした場合を
示しているが、“1”とすることも勿論可能である。又
前述の実施例にのみ限定されるものではなく、種々付加
変更することができるものである。
The flag bit of the operand address stack memory 5TKB is shown as 0'' indicating that the operand address is present, but it is of course possible to set it as 1.Also, the flag bit is not limited to the above-mentioned embodiment. However, various additions and changes can be made.

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

以上説明したように、本発明は、命令フェッチアドレス
による命令内にオペランドアドレスがある場合に、フラ
グビット3aをセットして、その命令フェッチアドレス
をスタックメモリ (STKA)2に格納し、オペラン
ドアドレスをスタックメモリ (STKB)3に格納す
るものであり、オペランドアドレスの有無を容易に識別
することができるから、デバッグ時に命令の種別を調べ
る必要がなくなる。従って、ラフ1〜ウエアデバツグが
容易となる利点がある。
As explained above, in the present invention, when there is an operand address in an instruction based on an instruction fetch address, the flag bit 3a is set, the instruction fetch address is stored in the stack memory (STKA) 2, and the operand address is Since it is stored in the stack memory (STKB) 3 and the presence or absence of an operand address can be easily identified, there is no need to check the type of instruction during debugging. Therefore, there is an advantage that rough 1 to wear debugging is facilitated.

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

第1図は本発明の原理ブロック図、第2図は本発明の実
施例の概略ブロック図、第3図は本発明の実施例のスタ
ックメモリのブロック図、第4図はアドレス収集の説明
図、第5図はフリップフロップグループの説明図1.第
6図はザンプルコンI・ロールレジスタの説明図、第7
A図及び第7B図は動作フローチャートである。 1はメインメモリ、2は命令フェッチアドレス用スタッ
クメモリ、3はオペランドアドレス用スタックメモリ、
3aはフラグビット、11.12は中央処理装置(CC
O、CC+ ) 、13. 14はメインメモリ (M
Mo 、  MM +) 、23. 25.31は命令
フェッチアドレス用スタックメモリ(STKA) 、2
4,26.32はオペランドアドレス用スタックメモリ
 (STKB) 、33はスタックポインタ(SPNT
) 、34は制御部である。
Fig. 1 is a block diagram of the principle of the present invention, Fig. 2 is a schematic block diagram of an embodiment of the invention, Fig. 3 is a block diagram of a stack memory of an embodiment of the invention, and Fig. 4 is an explanatory diagram of address collection. , FIG. 5 is an explanatory diagram of the flip-flop group 1. Figure 6 is an explanatory diagram of the sample controller I roll register, Figure 7
Figures A and 7B are operational flowcharts. 1 is main memory, 2 is stack memory for instruction fetch address, 3 is stack memory for operand address,
3a is a flag bit, 11.12 is a central processing unit (CC)
O, CC+), 13. 14 is the main memory (M
Mo, MM+), 23. 25.31 is the stack memory (STKA) for instruction fetch address, 2
4, 26. 32 is the stack memory (STKB) for operand addresses, 33 is the stack pointer (SPNT
), 34 is a control section.

Claims (1)

【特許請求の範囲】 メインメモリ(1)へのアクセスアドレスをトレースす
る方式に於いて、 命令フェッチアドレス用スタックメモリ(2)と、オペ
ランドアドレス用スタックメモリ(3)とを備え、該オ
ペランドアドレス用スタックメモリ(3)にオペランド
アドレスの有無を示すフラグビット(3a)を設け、 前記命令フェッチアドレスによる命令内にオペランドア
ドレスがある場合に、前記フラグビット(3)をセット
して、該命令フェッチアドレスを前記命令フェッチアド
レス用スタックメモリ(2)に格納すると共に、前記オ
ペランドアドレスを前記オペランドアドレス用スタック
メモリ(3)に格納することを特徴とするメモリアドレ
ストレース方式。
[Claims] A method for tracing access addresses to a main memory (1), comprising a stack memory (2) for instruction fetch addresses and a stack memory (3) for operand addresses; A flag bit (3a) is provided in the stack memory (3) to indicate the presence or absence of an operand address, and when there is an operand address in the instruction based on the instruction fetch address, the flag bit (3) is set to indicate the presence or absence of the instruction fetch address. is stored in the instruction fetch address stack memory (2), and the operand address is stored in the operand address stack memory (3).
JP60290854A 1985-12-25 1985-12-25 Memory address tracing system Granted JPS62151947A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP60290854A JPS62151947A (en) 1985-12-25 1985-12-25 Memory address tracing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60290854A JPS62151947A (en) 1985-12-25 1985-12-25 Memory address tracing system

Publications (2)

Publication Number Publication Date
JPS62151947A true JPS62151947A (en) 1987-07-06
JPH0412855B2 JPH0412855B2 (en) 1992-03-05

Family

ID=17761348

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60290854A Granted JPS62151947A (en) 1985-12-25 1985-12-25 Memory address tracing system

Country Status (1)

Country Link
JP (1) JPS62151947A (en)

Also Published As

Publication number Publication date
JPH0412855B2 (en) 1992-03-05

Similar Documents

Publication Publication Date Title
EP0227749B1 (en) Fault tolerant data processing system and method therefor
US4053752A (en) Error recovery and control in a mass storage system
JPS62151947A (en) Memory address tracing system
JPH0789328B2 (en) Data processing device
JPH0581087A (en) Processor monitoring system
JPH0656604B2 (en) Information processing equipment
JPS6240736B2 (en)
JPH1165884A (en) Microcomputer and debugging method therefor
JPH03141444A (en) Data processor
JPS60193046A (en) Detecting system for instruction exception
JPS63197254A (en) Virtual memory controller
JPS63278160A (en) Testing system for buffer invalidation processor
JPS59163653A (en) Debug device
JPS61290585A (en) Testing equipment for ic memory card simple substance
JPH0363848A (en) Cache control system
JPH1027153A (en) Bus transfer device
JPS60225941A (en) Microprogram control device
JPS63144496A (en) Write control system for storage device
JPS60132249A (en) Data processor
JPS63201741A (en) Dump information editing and outputting system
JPS62108333A (en) Semiconductor device
JPH01271844A (en) Tabletop electronic calculator
JPH0833825B2 (en) Microprocessor
JPS63165940A (en) Data processor
JPH02123426A (en) Microprocessor