JPS62111336A - Debugging system - Google Patents

Debugging system

Info

Publication number
JPS62111336A
JPS62111336A JP60253038A JP25303885A JPS62111336A JP S62111336 A JPS62111336 A JP S62111336A JP 60253038 A JP60253038 A JP 60253038A JP 25303885 A JP25303885 A JP 25303885A JP S62111336 A JPS62111336 A JP S62111336A
Authority
JP
Japan
Prior art keywords
data
instruction
comparison
circuit
comparison 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.)
Pending
Application number
JP60253038A
Other languages
Japanese (ja)
Inventor
Takashi Nishizawa
隆 西沢
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP60253038A priority Critical patent/JPS62111336A/en
Publication of JPS62111336A publication Critical patent/JPS62111336A/en
Pending 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

Abstract

PURPOSE:To easily debug in a sequence having complex conditions by comparing various data obtained from a data processor previously prepared comparing data, successively updating the comparing data every coincidence of both the data, when the inputted data coincide with the final comparing data, stopping an software instruction. CONSTITUTION:Data indicated by a selection code from a storage circuit 12 are selected out of an operand address value, a microinstruction address and a software instruction code inputted from the data processor 11 to a selecting circuit 13 and the selected data are compared with comparing data obtained from the storage circuit 12 by a comparator 14. If a control bit for the storage circuit 12 does not indicate the final word by a control circuit 15 to which a coincidence signal has been inputted, an updating signal is outputted so as to indicate the succeeding word to a register 17. When the control bit is the final word, the stop of the software instruction is indicated to an instruction control circuit 18.

Description

【発明の詳細な説明】 [夕産業上の利用分野〕 本発明はデバッグ方式に関し、データ処理装置に於ける
ソフトウェアのデバッグ方式に関する。
DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to a debugging method, and more particularly to a software debugging method in a data processing device.

〔従来の技術〕[Conventional technology]

従来のデバッグ方式はデータ処理装置において、ソゲI
・ウェアのデバッグを行うに際してデータ採取のために
種々のトレース方式が考えられており、例えば命令アド
レス一致を検出してその命令終了後命令停止状態にする
ことにより、その時点までの内部データを採取すること
ができるが第5図に示す如くA命令乃至F命令がある場
合にD命令で実行後のデータを採取する場合A−B−C
−+Dと実行された場合のデータを採取しようとしても
A−E−C−DあるいはF’−Dと実行された場合のデ
ータが採取され区別出来ないことがあった。
The conventional debugging method is
・Various tracing methods have been considered to collect data when debugging software. For example, by detecting an instruction address match and placing the instruction in a halt state after the instruction completes, internal data up to that point can be collected. However, as shown in Figure 5, when there are A to F instructions and data is collected after execution with D instruction, A-B-C
Even when attempting to collect data when executed as -+D, data obtained when executed as A-E-C-D or F'-D is sometimes collected and cannot be distinguished.

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

上述した従来のデバッグ方式では比較アドレスのソフト
ウェア命令に到るための命令シーケンス、マイクロプロ
グラムシーケンス、その池のハードウェアの条件等を指
定することが出来ないという欠点がある。 ゛ し″問題点を解決するための手段〕 本発明のデバッグ方式はマイクロプログラム制御による
データ処理装置と、複数種類の比較データおよび該比較
データの種類を示すコードお、よび該比較データが最後
のデータか否かを示すと・ソ)を蓄える記憶手段と、前
記データ処理装置から送られる複数種類の内部データを
入力し前記記憶手段hイ、送られる比較データの種類を
示すコードにより示された内部データを選択出力する選
択手段と、該選択手段の出力と前記記憶手段の指示され
た読出し位置の内容を比較する比較手段と比較結果が一
致した場合、その比較データが最後のデータか否かを示
すビットを判断し最後の比較データでなければ前記記憶
手段の次の読出し位置の読出しを指示し、該読出された
コードで示される前記選択手段からの内部データと、該
読出された比較データとの比較を続行し、前記ビットが
最後の比較データを示す場合はシーケンスチェック信号
を出力する制御回路と、前記シーケンスチェ・ツク信号
により現在実行中のソフトウェア命令終了後命令停止状
態にする命令制御回路とを有している。
The conventional debugging method described above has the drawback that it is not possible to specify the instruction sequence, microprogram sequence, hardware conditions, etc. for reaching the software instruction of the comparison address. [Means for Solving the Problems] The debugging method of the present invention includes a data processing device controlled by a microprogram, a plurality of types of comparison data, a code indicating the type of comparison data, and a code indicating that the comparison data is the last one. a storage means for storing a plurality of types of internal data sent from the data processing device, and a storage means for storing a plurality of types of internal data sent from the data processing device; A selection means for selectively outputting internal data and a comparison means for comparing the output of the selection means with the contents of the designated read position of the storage means.If the comparison results match, whether or not the comparison data is the last data. If it is not the last comparison data, it instructs to read the next read position of the storage means, and selects the internal data from the selection means indicated by the read code and the read comparison data. a control circuit that continues comparison with the data and outputs a sequence check signal when the bit indicates the last comparison data; and an instruction control circuit that causes the sequence check signal to cause the instruction to be stopped after the software instruction currently being executed is completed. It has a circuit.

〔実施例〕〔Example〕

次に、本発明の実施例について図面を参照して説明する
Next, embodiments of the present invention will be described with reference to the drawings.

第1図は本発明の一実施例を示す。第1図において、本
実施例はデータ処理装置11と記憶回路12とを有して
おり、このデータ処理装置11はマイクロプログラムに
より制御され、この制御に従って用いられるオペランド
アクセスアドレス値マイクロブロクラムのシーケン′ス
を示すマイクロ命令アトしスおよびソフトウェア命令の
命令コードを送出するように構成されている。記憶回路
12は前記データ処理装置11から送出される3種類の
データのいづれのデータを比較対象とするがを示す選択
コードおよび比較するための比較データを蓄えており、
選択コードは選択回路13へ、比較データは比較回路1
4へ送られるように接続されている。更に記憶回路12
の各ワードにはそのワードの選択コードおよび比較デー
タが最後のデータか否かを示す制御ビットが設けられて
おりその出力は制御回路15へ送られる。選択回路14
はデータ処理装置11から送られたオペランドアドレス
値、マイクロ命令アドレス、ソフトウェア命令コードの
3種類のデータを入力し、記憶回路12の選択コードに
より示されるデータを選択出力し比較回路14へ送出す
る。比較回路14は選択回路13および記憶口i¥81
2の比較データを入力して比較し、比較結果を出力し、
制御回路15に送出する。制御回路15は比較回路14
から一致信号が送られて来ると、記憶回路12の制御ビ
ットか最終のワードを示していなければレジスタ17に
対し次のワードを示すよう更新信号を出力する、また制
御ビ・ソトが最終のワードであることを示していると、
命令制御回路18に対してソフ1へウェア命令の停止を
指示すると共にレジスタ17に対しクリア指示を出し記
憶回路12の先頭のワードを示すようにする。デコーダ
】6はデータ処理装置11のマイクロ命令をデコードし
レジスタ17のクリアを行うマイクロ命令か実行される
とレジスタ17に対しクリア指示を出す。レジスタ17
は記憶回路12のワードを示すアドレスを蓄えデコーダ
16および制御回路15により制御される。命令制御回
路18は制御回路15からの指示信号により 現在実行
中のソフトウェア命令終了後命令停止状態にする制御を
行うように構成されている。
FIG. 1 shows an embodiment of the invention. In FIG. 1, the present embodiment has a data processing device 11 and a storage circuit 12. This data processing device 11 is controlled by a microprogram, and the sequence of operand access address values microprograms used according to this control is controlled by a microprogram. It is configured to send out a microinstruction address and an instruction code of a software instruction. The storage circuit 12 stores a selection code indicating which of the three types of data sent from the data processing device 11 is to be compared, and comparison data for comparison.
The selection code is sent to the selection circuit 13, and the comparison data is sent to the comparison circuit 1.
It is connected so that it is sent to 4. Furthermore, the memory circuit 12
Each word is provided with a control bit indicating whether the selection code and comparison data of that word is the last data, and the output thereof is sent to the control circuit 15. Selection circuit 14
inputs three types of data sent from the data processing device 11: an operand address value, a microinstruction address, and a software instruction code, selects and outputs the data indicated by the selection code of the storage circuit 12, and sends it to the comparison circuit 14. Comparison circuit 14 is connected to selection circuit 13 and memory port i\81
Input and compare the comparison data of 2, output the comparison result,
The signal is sent to the control circuit 15. The control circuit 15 is the comparison circuit 14
When a match signal is sent from the memory circuit 12, if the control bit of the memory circuit 12 does not indicate the last word, it outputs an update signal to the register 17 to indicate the next word. It shows that
The instruction control circuit 18 is instructed to stop the software 1 from issuing the software instruction, and a clear instruction is issued to the register 17 so that the first word of the storage circuit 12 is indicated. The decoder 6 decodes the microinstruction of the data processing device 11 and issues a clearing instruction to the register 17 when the microinstruction for clearing the register 17 is executed. register 17
stores an address indicating a word in the memory circuit 12 and is controlled by a decoder 16 and a control circuit 15. The instruction control circuit 18 is configured to control the instruction signal from the control circuit 15 to stop the instruction after the software instruction currently being executed is completed.

次に本実施例の一実施例の動作について第2図に示すよ
うな処理3例にとり順を追って説明するここでクロック
を停止させる場所の条件が次のような場合を考える。ソ
フトウェア命令がA命令→B命令の順で出現しB命令で
C番地のオペランドをアクセスしたf!&83番地のマ
イクロ命令アドレスを実行した時にトレーサ18のトレ
ース動作を停止する。このとき記憶回路12には第3図
に示すデータすなわち、選択コード(00〜10)、比
較データ(A〜C,B3)および制御ビット(0,1)
をあらかじめ格納しておく。選択コードおよび制御ビッ
トは第4図に示すように各々意味をもっており、選択コ
ード″″00″はソフトウェア命令コードを、選択コー
ド“01゛はオへランドアドレス含、選択コード゛’1
0″“はマイクロ命令アドレスを示し、更に制御ビット
″゛0”は最終ワード以外を示し、制御ビット“1゛°
は最終ワードを示す。
Next, the operation of one embodiment of this embodiment will be explained step by step using three processing examples as shown in FIG. 2. Here, we will consider the case where the conditions of the place where the clock is stopped are as follows. Software instructions appear in the order of A instruction → B instruction, and the B instruction accesses the operand at address C.f! When the microinstruction address at address &83 is executed, the trace operation of the tracer 18 is stopped. At this time, the memory circuit 12 stores the data shown in FIG.
Store in advance. The selection code and control bit each have a meaning as shown in FIG.
0"" indicates the microinstruction address, furthermore, the control bit "0" indicates a word other than the final word, and the control bit "1" indicates the microinstruction address.
indicates the final word.

第2図(a>のシーケンスにおいて命令A−D−E→B
はソフトウェア命令のシーケンスを示し、第2図(b)
のシーケンスにおいて命令B、−B2→B、はB命令に
おけるマイクロ命令シーケンスを示している。
In the sequence shown in Fig. 2 (a>, instructions A-D-E→B
shows the sequence of software instructions, and Fig. 2(b)
In the sequence, instruction B, -B2→B, indicates a microinstruction sequence in the B instruction.

A命令が実行される際、データ処理装置11からはソフ
トウェア命令コード°“A ”が出力され選択回路13
に入力される。記憶回路12からは先頭のワードに格納
されている選択コード″’ o o ”および比較デー
タ゛A°′が出力され選択回路13から出力されるデー
ラダ゛A°゛と共に比較回路14に入力される。
When the A instruction is executed, the data processing device 11 outputs the software instruction code ° “A” and the selection circuit 13
is input. The selection code "'o o" and the comparison data "A°" stored in the first word are outputted from the storage circuit 12 and input to the comparison circuit 14 together with the data data "A°" outputted from the selection circuit 13.

比較回路14からは一致信号が制御回路15に送られさ
らに制御回路15はレジスタ17に更新信号を送り次に
ワードを示すようにする。
Comparison circuit 14 sends a match signal to control circuit 15, which in turn sends an update signal to register 17 to indicate the next word.

次にD命令が実行されるとデータ処理装置11からはソ
フトウェア命令コード°°D゛が出力され前述と同様の
パスを通じて比較回路14に、記憶回路12から送られ
た比較データ゛B゛と共に入力される。このとき比較結
果は不一致となり制御回路15、レジスタ17は動作し
ない9次のl令も同様である。
Next, when the D instruction is executed, the software instruction code °°D' is output from the data processing device 11 and inputted to the comparison circuit 14 along with the comparison data 'B' sent from the storage circuit 12 through the same path as described above. Ru. At this time, the comparison result does not match, and the control circuit 15 and register 17 do not operate.The same is true for the 9th order l instruction.

さらにB命令が実行されると比較回路14で再び一致信
号が送出され制御回路15によりレジスタ7が更新され
次のワードのデータが出力される。
When the B instruction is further executed, the comparison circuit 14 again sends out a match signal, the control circuit 15 updates the register 7, and outputs the next word of data.

このように処理が進みB命令の中のマイクロ命令アI・
レスB2においてオペランドアドレス== CI+の一
致さらにアドレスB3においてマイクロ命令アドレス゛
B3゛°の一致が検出される、このとき記憶回路12か
ら出力されているワードの制御ピッI・は°゛1°′で
あり、従って、制御回路15からは命令制御回路18に
対しソフトウェア命令の停止指示が出される。命令制御
回路18は本指示により現在実行中の命令終了後命令停
止状態にする。これにより命令停止時点までのデータ処
理、に置11の内部データをそのデータ処理装置11に
具備されている保守機能等を用いて採取することができ
る。また命令制御回路18に一命令実行あるいは命令再
開の機能を持たせることによりさらに詳細な調査を行う
ことができる。
Processing progresses in this way and microinstructions A and I in the B instruction are
A match of operand address == CI+ is detected at address B2, and a match of microinstruction address ゛B3゛° is detected at address B3. At this time, the control pitch I of the word output from the memory circuit 12 is ゛1°'. Therefore, the control circuit 15 issues an instruction to the instruction control circuit 18 to stop the software instruction. In response to this instruction, the instruction control circuit 18 places the instruction in an instruction halt state after the currently executed instruction is completed. As a result, the internal data of the data processing device 11 up to the time when the command is stopped can be collected using the maintenance function or the like provided in the data processing device 11. Further, by providing the instruction control circuit 18 with a function of executing one instruction or restarting an instruction, a more detailed investigation can be performed.

このように複雑な条件のシーケンスでも記憶回路12条
件を満たすデータを格納しておくことにより容易に選択
してデバッグに必要なデータを得ることが可能となる。
Even in such a complicated sequence of conditions, by storing data that satisfies the conditions in the memory circuit 12, it becomes possible to easily select and obtain data necessary for debugging.

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

以上説明したように本発明はデータ処理装置かt、得ら
れる各種データをあらかじめ用意した比較データと比較
し一致する毎に比較データを順次更新して最後の比較デ
ータとの間で一致が検出されたときにソフトウェア命令
を停止させることにより複雑な条件を持つシーケンスで
のデバッグを容易にする効果がある。
As explained above, the present invention uses a data processing device to compare obtained various data with comparison data prepared in advance, update the comparison data sequentially each time there is a match, and detect a match with the last comparison data. This has the effect of making it easier to debug sequences with complex conditions by stopping the software instructions when the software instructions occur.

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

第1図は本発明の実施例を示すブロック図、第2図は本
発明の動作説明のためのソフトウェア命令フローおよび
マイクロ命令フローを示す図、第3図は本実施例におけ
る記憶回路のビ・v)−構成を示す図、第4図は第3図
の内選択コードおよび制御ビットの内容を示す図、第5
図は従来技術の説明に用いる命令のフローを示す図であ
る。
FIG. 1 is a block diagram showing an embodiment of the present invention, FIG. 2 is a diagram showing a software instruction flow and a microinstruction flow for explaining the operation of the present invention, and FIG. 3 is a diagram showing a diagram of a memory circuit in this embodiment. v) - A diagram showing the configuration; FIG. 4 is a diagram showing the contents of the selection code and control bits in FIG. 3;
The figure is a diagram showing the flow of instructions used to explain the prior art.

Claims (1)

【特許請求の範囲】[Claims] マイクロプログラム制御によるデータ処理装置と、複数
種類の比較データおよび該比較データの種類を示すコー
ド並びに該比較データが最後のデータか否かを示すビッ
トを蓄える記憶手段と、前記データ処理装置から送られ
る複数種類の内部データを入力し前記記憶手段から送ら
れる比較データの種類を示すコードにより示された内部
データを選択出力する選択手段と、該選択手段の出力と
前記記憶手段の指示された読出し位置の内容を比較する
比較手段と、比較結果が一致した場合、その比較データ
が最後のデータか否かを示すビットを判断し最後の比較
データでなければ前記記憶手段の次の読出し位置の読出
しを指示し、前記読出されたコードで示される前記選択
手段からの内部データと、該読出された比較データとの
比較を続行し、前記ビットが最後の比較データを示す場
合はシーケンスチェック信号を出力する制御回路と、前
記シーケンスチェック信号により現在実行中のソフトウ
ェア命令終了後命令停止状態にする命令制御回路とから
成ることを特徴とするデバッグ方式。
a data processing device controlled by a microprogram; a storage means for storing a plurality of types of comparison data; a code indicating the type of the comparison data; and a bit indicating whether the comparison data is the last data; a selection means for inputting a plurality of types of internal data and selectively outputting the internal data indicated by a code indicating the type of comparison data sent from the storage means; and an output of the selection means and a designated reading position of the storage means. and a comparison means for comparing the contents of the storage means, and when the comparison results match, a bit indicating whether or not the comparison data is the last data is determined, and if it is not the last comparison data, reading of the next read position of the storage means is performed. and continues comparing the internal data from the selection means indicated by the read code with the read comparison data, and outputs a sequence check signal if the bit indicates the last comparison data. A debugging method comprising: a control circuit; and an instruction control circuit that uses the sequence check signal to bring an instruction to a halt state after the currently executed software instruction ends.
JP60253038A 1985-11-11 1985-11-11 Debugging system Pending JPS62111336A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP60253038A JPS62111336A (en) 1985-11-11 1985-11-11 Debugging system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60253038A JPS62111336A (en) 1985-11-11 1985-11-11 Debugging system

Publications (1)

Publication Number Publication Date
JPS62111336A true JPS62111336A (en) 1987-05-22

Family

ID=17245611

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60253038A Pending JPS62111336A (en) 1985-11-11 1985-11-11 Debugging system

Country Status (1)

Country Link
JP (1) JPS62111336A (en)

Similar Documents

Publication Publication Date Title
US3518413A (en) Apparatus for checking the sequencing of a data processing system
US5845064A (en) Method for testing and verification of a CPU using a reference model
JPS62111336A (en) Debugging system
JPS60262251A (en) Backup device for development of microprocessor
JPS61269744A (en) Debugging system
JPS62111335A (en) Tracer system
JPS5829056A (en) Control storage device
JPS59183443A (en) Debug device
JPS6248865B2 (en)
JPS5824951A (en) Error detection system for microprogram
JPH06202907A (en) Debug support device
SU1103238A1 (en) Control device having transition checking
JP2000222243A (en) Device and method for debugging
SU1645960A1 (en) Program run checking device
JPH0831054B2 (en) History information storage method
JPS5936853A (en) Operation processor
JPS626341A (en) Information processor
JPS61269743A (en) Debugging system
JPS63639A (en) Program debugging system
JPH02100145A (en) Computer system for microprogram control system
JPS6231444A (en) Pseudo fault generating system
JPS58195961A (en) Microprogram controlling system
JPH04367902A (en) Programmable controller
JPS6217837A (en) Data processing system
JPH01211134A (en) Program debugging system