JPS63197245A - Microprogram controller - Google Patents

Microprogram controller

Info

Publication number
JPS63197245A
JPS63197245A JP62030447A JP3044787A JPS63197245A JP S63197245 A JPS63197245 A JP S63197245A JP 62030447 A JP62030447 A JP 62030447A JP 3044787 A JP3044787 A JP 3044787A JP S63197245 A JPS63197245 A JP S63197245A
Authority
JP
Japan
Prior art keywords
microprogram
value
register
microinstruction
execution
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
JP62030447A
Other languages
Japanese (ja)
Inventor
Masaru Ito
勝 伊藤
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 JP62030447A priority Critical patent/JPS63197245A/en
Publication of JPS63197245A publication Critical patent/JPS63197245A/en
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

PURPOSE:To omit the addition of a debug-only routine by stopping the run of a microprogram in the case of setting an optional register at the prescribed value and then at the target value in the form of a hardware operation while each microinstruction of the microprogram is executed. CONSTITUTION:The run of a microprogram is stopped when an optional register is set at the value designated previously and then at the target value designated separately. In other words, it is supposed that a certain register is usually set at a prescribed value X1 and then at a target value X2. Under such conditions, the abnormality of the microprogram is detected after a considerable period of time passed from occurrence of said abnormality even though the value X1 is not changed to the value X2 due to a program bug, etc., and changed to other value X3. Thus the analysis of the abnormality is sometimes difficult. In such a case, the run of the microprogram is stopped when the value X1 is changed to the value X3 so that the abnormality can be easily analyzed.

Description

【発明の詳細な説明】 技術分野 本発明はマイクロプログラム制御装置に関し、特にデパ
ック機能を有するマイクロプログラム制i装置に関する
TECHNICAL FIELD The present invention relates to a microprogram control device, and more particularly to a microprogram control device having a depacking function.

従来技術 一般にマイクロプログラム制御装置は、マイクロプログ
ラムのデバッグを行いやすくするために、マイクロプロ
グラムが格納されている制御記憶の中の予め指定された
任意のアドレスでプログラムの実行を一時停止できるよ
うにした機能を備えている。
BACKGROUND OF THE INVENTION In general, microprogram control devices are capable of suspending the execution of a program at any pre-designated address in a control memory where the microprogram is stored, in order to facilitate debugging of the microprogram. It has functions.

すなわち、一般に制御記憶に供給する1IllJ111
記憶アドレスと比較するためのアドレスデータを格納す
る比較アドレスレジスタを備え、マイクロプログラムの
実行毎にこの比較アドレスレジスタの内容と1lJt[
]記憶に供給する制御記憶アドレスとを比較して、両名
の一致が検出された場合にマイクロプログラムの実行を
停止できるようにした機能を備えている。
That is, 1IllJ111 that generally supplies control memory.
A comparison address register is provided to store address data for comparison with a storage address, and the contents of this comparison address register and 1lJt[
] The control memory address supplied to the memory is compared with the control memory address, and if a match is detected, the execution of the microprogram can be stopped.

デバッグに際しては、マイクロプログラムの実行を一時
停止すべきマイクロ命令の格納されている4111m記
憶アドレスを、例えばコンソール等から入力し、比較ア
ドレスレジスタに格納してからマイクロプログラムをス
タートさせる。そして、上述の榔能によりマイクプログ
ラムがこの指定された命令(制御記憶アドレス)で停止
すると、この状態で各種のレジスタの内容やその他の内
部状態等をチェックすることによりマイクロプログラム
による処理がここまで所望通りに動作しているか否かを
確認する。この確認処理が演むと、必要に応じて再び次
の停止すべきアドレスを指定して現在の停止しているア
ドレス(またはその他の任意のアドレス)からプログラ
ムを再スタートできるようにしている。このようなII
能は、デバッグを行う場合のtj力な手段となる。
When debugging, the 4111m storage address where the microinstruction whose execution of the microprogram should be temporarily stopped is input from, for example, a console, stored in the comparison address register, and then the microprogram is started. Then, when the microphone program stops at this specified instruction (control memory address) due to the above-mentioned function, the processing by the microprogram is completed by checking the contents of various registers and other internal states in this state. Check whether it is working as desired. When this confirmation process is completed, the next address to be stopped is specified again as needed, and the program can be restarted from the current stopped address (or any other arbitrary address). II like this
This function provides a powerful means for debugging.

上述した従来のマイクロプログラム制御装置は、例えば
あるレジスタが指定した値になった以後に別に指定した
値になったというような条件下での特定ルーチンのデバ
ッグを行う場合に、予め何回目にその条件になるかが分
かつていれば特定のルーチンのアドレスで停止可能であ
る。しかしながら、一般にマイクロプログラムはソフト
・ウェア命令の順番あるいは外部要因(入出力装置から
の割込み等)により複雑な動作を1−るために予測が不
可能であり、実際はそのような条件での停止はできない
The above-mentioned conventional microprogram control device has a method for debugging a specific routine under conditions such as when a certain register reaches a specified value and then changes to another specified value. It is possible to stop at a specific routine address if you know whether the condition is met. However, in general, microprograms cannot be predicted because they perform complex operations depending on the order of software instructions or external factors (interrupts from input/output devices, etc.), and in reality, stopping under such conditions is impossible. Can not.

そこで、従来のマイクロプログラム制御l装置では、特
定ルーチン中にあるレジスタが指定1ノだ値になった以
後に別に指定した値になったらユニークなアドレスに分
岐(あるいはマイクロプログラムを停止させるような命
令実行)するようなデバッグ専用のルーチンを追加する
ことにより同等の機能を実現している。
Therefore, in conventional microprogram control devices, if a certain register in a specific routine reaches a specified value and then reaches another specified value, a command is issued to branch to a unique address (or to stop the microprogram). Equivalent functionality is achieved by adding debugging-specific routines such as (execution).

しかし、以上はあくまでもマイクロプログラム実行の全
てのタイミングで平等に行われるものではなく、最小限
必要と思われる箇所にその都度デバッグ専用ルーチンを
追加する必要があるという欠点がある。
However, the above method is not performed equally at all timings of microprogram execution, and has the disadvantage that a dedicated debugging routine must be added each time where it is considered to be minimally necessary.

発明の1週 本発明の目的は、デバッグ専用ルーチンの追加を不要と
するとともにマイクロプログラムの実行の全てのタイミ
ングで平等にマイクロプログラムの停止が行えるマイク
ロプログラム制御装置を提供することである。
An object of the present invention is to provide a microprogram control device that does not require the addition of a debugging routine and is capable of stopping a microprogram equally at all timings of execution of the microprogram.

gJyす1メ 本発明によれば、υ1ill記憶部から読出されたマイ
クロ命令を格納するマイクロ命令レジスタと、前記マイ
クロ命令に応じて実行制御を行うマイクロ命令実行手段
とを含む情報処理装δにおけるマイクロプログラム制御
装置であって、前記マイクロ命令実行手段内の所定レジ
スタの内容を内部バスへ導出するためのマイクロ命令を
格納するバス出力命令レジスタと、前記マイクロ命令レ
ジスタと前記バス出力命令レジスタとの一方を交互に選
択して前記マイクロ命令実行手段へマイクロ命令を供給
する選択手段と、前記内部バス上のデータが予め定めら
れた第1の期待値と一致したことを検出する第1の検出
手段と、前記内部バス上のデータが予め定められた第2
の期待値と一致したことを検出する第2の検出手段と、
前記第1の検出手段により一致が検出された後に前記第
2の検出手段により一致が検出されたときに前記マイク
ロ命令実行手段の実行を停止せしめる1llt[1手段
とを有することを特徴とするマイクロプログラム制御装
置が得られる。
According to the present invention, a micro-instruction register in an information processing device δ includes a micro-instruction register that stores micro-instructions read from the υill storage unit, and micro-instruction execution means that controls execution according to the micro-instructions. The program control device includes a bus output instruction register that stores a microinstruction for deriving the contents of a predetermined register in the microinstruction execution means to an internal bus, and one of the microinstruction register and the bus output instruction register. a first detection means for detecting that the data on the internal bus matches a predetermined first expected value; , the data on the internal bus is a predetermined second
a second detection means for detecting that the value matches the expected value;
1llt [1 means] for stopping execution of the microinstruction execution means when a match is detected by the second detection means after a match is detected by the first detection means. A program control device is obtained.

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

第1図は本発明の一実施例を示ずブロック図である。本
実施例のマイクロプログラムI、11御装置は、制御記
憶1.命令レジスタ2.バス出力命令レジスタ31選択
回路4.実行制御部5.フリップ70ツブ(以下、F/
Fと略記する)6.比較データレジスタ7および8.比
較回路9および10゜アンドゲート11.F/F12お
よびアンドゲート13〜14を有している。
FIG. 1 is a block diagram showing one embodiment of the present invention. The microprogram I, 11 control device of this embodiment has a control memory 1. Instruction register 2. Bus output instruction register 31 selection circuit 4. Execution control unit 5. Flip 70 Tsubu (hereinafter referred to as F/
(abbreviated as F)6. Comparison data registers 7 and 8. Comparison circuit 9 and 10° AND gate 11. It has an F/F 12 and AND gates 13 and 14.

次に、このように構成された本実施例のマイクロプログ
ラム制御装置の動作について説明する。
Next, the operation of the microprogram control device of this embodiment configured as described above will be explained.

制御記憶1に格納されたマイクロプログラムは、命令レ
ジスタ2に読出され選択回路4で選択されて実行制御部
5に供給され実行される。この場合、F/F6は論理“
0″となっており、選択回路4は命令レジスタ2に格納
されたマイクロ命令を選択している。F/F6は第2図
のタイムチャートに示す如く1クロツクサイクル毎にす
なわらマイクロ命令実行毎に値が反転する機能を有づる
。したがって命令レジスタ2内のマイクロ命令が実行制
御部5において実行された後には、F/F6は論理″1
″となり、選択回路4はバス出力命令レジスタ3の内容
を選択して任意のレジスタを内部バスへ出力するための
マイクロ命令が実行υ制御部5に供給され実行されるこ
とになる。
The microprogram stored in the control memory 1 is read into the instruction register 2, selected by the selection circuit 4, and supplied to the execution control section 5 for execution. In this case, F/F6 is logic “
0'', and the selection circuit 4 selects the microinstruction stored in the instruction register 2.The F/F 6 selects the microinstruction stored in the instruction register 2 every clock cycle, that is, the microinstruction is selected. It has a function of inverting the value every time it is executed. Therefore, after the microinstruction in the instruction register 2 is executed by the execution control unit 5, the F/F 6 becomes a logic "1".
'', the selection circuit 4 selects the contents of the bus output instruction register 3, and a microinstruction for outputting an arbitrary register to the internal bus is supplied to the execution υ control unit 5 and executed.

一方、命令レジスタ2は、F/F6が論理“1”の場合
に保持され、論理1401%の場合にのみ制御記憶1か
らのマイクロ命令が格納される。
On the other hand, the instruction register 2 is held when the F/F 6 is logic "1", and the microinstruction from the control memory 1 is stored only when the logic is 1401%.

以上の動作を第2図に示すタイミングチャートを参照し
ながら説明すると、F/F6が論理“0′″で命令レジ
スタ2にマイクロ命令へが格納された状態では、実行制
御部5へはマイクロ命令Aが供給されて実行される。そ
の結果、命令レジスタ2には、次に実行すべきマイクロ
命令Bが制御記憶1から読出されて格納される。また、
これと同時に、F/F6が論理″1sに反転することに
より、次に実行制御部5はバス出力命令レジスタ3に格
納されていたマイクロ命令Zが供給されて実行される。
The above operation will be explained with reference to the timing chart shown in FIG. A is supplied and executed. As a result, the microinstruction B to be executed next is read out from the control memory 1 and stored in the instruction register 2. Also,
At the same time, the F/F 6 is inverted to logic "1s," and the execution control section 5 is then supplied with the microinstruction Z stored in the bus output instruction register 3 and executed.

以後、同様な動作が繰返されることによって、通常のマ
イクロプログラムのA−8−+Cという本来の実行の代
りに、それぞれのマイクロ命令の門にバス出力命令2が
挿入されてA→z−+8−+Z→Cのような実行が実現
される。ただ1ノ、バス出力命令2は任意レジスタをバ
ス出力するのみで一切のハードウェア状態は変えないこ
ととする。
Thereafter, by repeating the same operation, bus output instruction 2 is inserted at the gate of each microinstruction instead of the original execution of A-8-+C of a normal microprogram, and A→z-+8- An execution like +Z→C is realized. However, No. 1, bus output instruction 2 only outputs an arbitrary register to the bus and does not change any hardware state.

さて、本発明の目的とする特有な機能は、任意のレジス
タが予め指定された前提値になった以後に別に指定され
た目標値になった時点でマイクロプログラムの実行を停
止させることである。
Now, the unique function aimed at by the present invention is to stop the execution of a microprogram when an arbitrary register reaches a pre-designated prerequisite value and then reaches a separately designated target value.

すなわち、例えばあるレジスタの値が前提値×1になっ
た債には目標値×2になるのが通常であったとする。し
かしマイクロプログラムのバグ等で目標値×2にならず
に他の値X3になっていたとしても、マイクロプログラ
ムとしてその異常が検出されるのは異常動作実行後かな
り過ぎ去った箇所となり解析が困難となることがしばし
ばである。このような場合に、×1となった以後にx3
になった時点でマイクロプログラムを停止すれば解析が
容易となる。
That is, for example, assume that for a bond whose value in a certain register has become the prerequisite value x 1, the value has normally become the target value x 2. However, even if due to a bug in the microprogram, the target value is not x2 and instead becomes another value x3, the microprogram will detect the abnormality long after the abnormal operation has been executed, making it difficult to analyze. It often happens. In such a case, after becoming x1, x3
Analysis will be easier if the microprogram is stopped when this happens.

このような要求に対して本実施例は以下のように対処す
る。
This embodiment deals with such requests as follows.

前提値×1および目的1ix3は予めコンソール(図示
しない)からそれぞれ比較レジスタ8および7に格納さ
れる。また、F/F12も0”にリセットされる。この
状態において、マイクロプログラムの実行ごとにバス出
力データは信号線105を介して比較回路9および10
に供給されてそれぞれ比較データレジスタ7および8の
データと比較される。比較回路9および10はバス出力
データとそれぞれの比較データが一致した場合に1″を
出力する。
Prerequisite value x1 and objective 1ix3 are stored in advance in comparison registers 8 and 7, respectively, from a console (not shown). Furthermore, the F/F 12 is also reset to 0''. In this state, the bus output data is sent to the comparison circuits 9 and 10 via the signal line 105 every time the microprogram is executed.
and are compared with data in comparison data registers 7 and 8, respectively. Comparing circuits 9 and 10 output 1'' when the bus output data and the respective comparison data match.

比較回路10の出力はさらに、アンドゲート11でF/
F6と論理積処理されることによりF/F12には、バ
ス出力命令Zによるバス出力すなわち指定レジスタが目
的[x3になったことが記憶される。比較回路9の出力
はアンドゲート13でF/F12と論理積処理され、ざ
らにF/F6とも論理積処理されることにより信号線1
14には指定レジスタが前提値×1になった後に目的値
×3になった場合にのみ“1′′が出力されることにな
る。信号線114はマイクロプログラム停止要因信号と
して実行a、II御部5へ供給される。
The output of the comparator circuit 10 is further processed by an AND gate 11 as F/
By performing a logical AND process with F6, F/F12 stores that the bus output by bus output command Z, that is, the specified register has become the target [x3. The output of the comparator circuit 9 is logically ANDed with F/F12 by the AND gate 13, and also roughly logically ANDed with F/F6, so that the output is connected to the signal line 1.
14, "1'' is output only when the specified register becomes the target value x 3 after becoming the prerequisite value x 1. The signal line 114 is used as the microprogram stop factor signal for execution a, II. It is supplied to the control section 5.

以上の動作により、マイクロプログラムを希望通り、指
定レジスタが前提値×1の後に目的値x3になった時点
で停止させることができる。
With the above operation, the microprogram can be stopped as desired when the specified register reaches the target value x3 after the prerequisite value x1.

尚、バス出力命令レジスタ3へは、予めコンソールから
比較対象レジスタのバス出力を指示′i′Iるマイクロ
命令が供給されて格納されるものとする。
It is assumed that the bus output instruction register 3 is supplied with a microinstruction 'i'I instructing the bus output of the comparison target register from the console in advance and stored therein.

R1目と江J 以上説明したように本発明によれば、マイクロプログラ
ムのそれぞれのマイクロ命令実行の間にハードウェア動
作として任意のレジスタが所定の前提値になった後に目
的値になった場合にマイクロプログラムを停止すること
により、従来のデバッグ専用ルーチンの追加を不要とし
、さらにマイクロプログラムの実行の全てのタイミング
で平等にマイクロプログラムの停止が行える強力なデバ
ッグ手段の提供が可能となり、デバッグの効率化が達成
されるという効果がある。
As explained above, according to the present invention, when an arbitrary register reaches a predetermined predetermined value and then becomes a target value as a hardware operation during the execution of each microinstruction of a microprogram, By stopping the microprogram, it is not necessary to add a conventional debugging routine, and it also becomes possible to provide a powerful debugging method that can equally stop the microprogram at all timings of microprogram execution, improving debugging efficiency. This has the effect of achieving

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

第1図は本発明の実施例のブロック図、第2図は第1図
のブロックの動作を示すタイムチャートである。 主要部分の符りの説明 1・・・・・・tiI1wJ記憶部 2・・・・・・命令レジスタ 3・・・・・・バス出力命令レジスタ 4・・・・・・選択回路 5・・・・・・実行制御部
FIG. 1 is a block diagram of an embodiment of the present invention, and FIG. 2 is a time chart showing the operation of the blocks in FIG. Explanation of numbers for main parts 1...tiI1wJ storage section 2...Instruction register 3...Bus output instruction register 4...Selection circuit 5... ...Execution control section

Claims (1)

【特許請求の範囲】[Claims] 制御記憶部から読出されたマイクロ命令を格納するマイ
クロ命令レジスタと、前記マイクロ命令に応じて実行制
御を行うマイクロ命令実行手段とを含む情報処理装置に
おけるマイクロプログラム制御装置であって、前記マイ
クロ命令実行手段内の所定レジスタの内容を内部バスへ
導出するためのマイクロ命令を格納するバス出力命令レ
ジスタと、前記マイクロ命令レジスタと前記バス出力命
令レジスタとの一方を交互に選択して前記マイクロ命令
実行手段へマイクロ命令を供給する選択手段と、前記内
部バス上のデータが予め定められた第1の期待値と一致
したことを検出する第1の検出手段と、前記内部バス上
のデータが予め定められた第2の期待値と一致したこと
を検出する第2の検出手段と、前記第1の検出手段によ
り一致が検出された後に前記第2の検出手段により一致
が検出されたときに前記マイクロ命令実行手段の実行を
停止せしめる制御手段とを有することを特徴とするマイ
クロプログラム制御装置。
A microprogram control device for an information processing device, comprising a microinstruction register that stores microinstructions read from a control storage unit, and microinstruction execution means that controls execution according to the microinstructions, the microinstruction execution means a bus output instruction register for storing a microinstruction for deriving the contents of a predetermined register in the means to an internal bus; and the microinstruction execution means by alternately selecting one of the microinstruction register and the bus output instruction register. a first detection means for detecting that the data on the internal bus matches a predetermined first expected value; a second detection means for detecting a match with a second expected value; and a second detection means for detecting a match with a second expected value; A microprogram control device comprising: control means for stopping execution of the execution means.
JP62030447A 1987-02-12 1987-02-12 Microprogram controller Pending JPS63197245A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62030447A JPS63197245A (en) 1987-02-12 1987-02-12 Microprogram controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62030447A JPS63197245A (en) 1987-02-12 1987-02-12 Microprogram controller

Publications (1)

Publication Number Publication Date
JPS63197245A true JPS63197245A (en) 1988-08-16

Family

ID=12304170

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62030447A Pending JPS63197245A (en) 1987-02-12 1987-02-12 Microprogram controller

Country Status (1)

Country Link
JP (1) JPS63197245A (en)

Similar Documents

Publication Publication Date Title
JPS63197245A (en) Microprogram controller
JPS63197247A (en) Microprogram controller
JPS62197834A (en) Microprogram controller
JPH07248939A (en) Processor and processor system
JP2967741B2 (en) CPU compatibility test equipment
JPS63197246A (en) Microprogram controller
JPS63155330A (en) Microprogram controller
JPH0331940A (en) Microprogram controller
JPH03171335A (en) Address comparison device
JPH04181334A (en) Interruption generating circuit for debugging
JPH08263324A (en) Debug facilitation device
JPS61240341A (en) Microprogram controller
JPH04344947A (en) Program controller
JPS6232509B2 (en)
JPS58165148A (en) Instruction stop circuit
JPS63229532A (en) Debug circuit
JPS63223842A (en) Microprogram controller
JPH02217935A (en) Interruption generating circuit for debugging
JPH0581052A (en) Microprocessor runaway check circuit
JPS62111336A (en) Debugging system
JPS58195961A (en) Microprogram controlling system
JPH05108402A (en) Debugging device
JPS61240342A (en) Microprogram controller
JPS61240340A (en) Microprogram controller
JPH06259283A (en) Program development supporting device