JPS63197246A - Microprogram controller - Google Patents

Microprogram controller

Info

Publication number
JPS63197246A
JPS63197246A JP62030448A JP3044887A JPS63197246A JP S63197246 A JPS63197246 A JP S63197246A JP 62030448 A JP62030448 A JP 62030448A JP 3044887 A JP3044887 A JP 3044887A JP S63197246 A JPS63197246 A JP S63197246A
Authority
JP
Japan
Prior art keywords
microprogram
microinstruction
register
bus
comparison
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
JP62030448A
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 JP62030448A priority Critical patent/JPS63197246A/en
Publication of JPS63197246A publication Critical patent/JPS63197246A/en
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

PURPOSE:To omit the addition of a debug-only routine by checking whether an optional register is set at the expected value or not in the form of a hardware operation while each microinstruction of a microprogram is executed and then stopping the run of the microprogram when the register is set at the expected value. CONSTITUTION:The original executing order A B C of a microprogram is changed into another order A Z B Z C when the bus output instructions Z are put between microinstructions. These instructions Z, however, just function to output an optional register to a bus and does not change the overall hardware state. Under such conditions, an arithmetic circuit 11 compares the bus outputs with each other in a mode designated by a console. Furthermore the AND processing is performed by an AND gate with an F/F 6. Thus logic 1 is outputted to a signal line 113 only when the bus output obtained by the instruction Z serves as a comparison object and satisfies the designated comparison conditions. The logic 1 is supplied to an execution control part 5 as a microprogram stop signal.

Description

【発明の詳細な説明】 胆!且1 本発明はマイクロプログラム1IJIIl装置に関し、
特にデパック機能を右するマイクロプログラム制御装置
に関する。
[Detailed description of the invention] Bold! [1] The present invention relates to a microprogram 1IJIIl device,
In particular, it relates to a microprogram controller that performs depacking functions.

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

すなわち、一般にi、IItll記憶に供給する制御記
憶アドレスと比較するためのアドレスデータを格納する
比較アドレスレジスタを備え、マイクロプログラムの実
行毎にこの比較アドレスレジスタの内容とvll記憶に
供給する制御記憶アドレスとを比較して、両者の一致が
検出された場合にマイクロプログラムの実行を停止でき
るようにした機能を備えている。
That is, it generally includes a comparison address register that stores address data for comparison with the control memory address supplied to the i, IItll memory, and each time a microprogram is executed, the contents of this comparison address register and the control memory address supplied to the vll memory are compared. It has a function that can compare the two and stop the execution of the microprogram if a match is detected.

デバッグに際しては、マイクロプログラムの実行を一時
停止すべきマイクロ命令の格納されている1lJltl
記憶アドレスを、例えばコンソール等から入力し、比較
アドレスレジスタに格納してからマイクロプログラムを
スタートさせる。そして、上述の機能によりマイクプロ
グラムがこの指定された命令(1,!I tall記憶
アドレス)で停止すると、この状態で各種のレジスタの
内容やその他の内部状態等をチェックすることによりマ
イクロプログラムによる処理がここまで所望通りに動作
しているか否かを確認する。この確認処理が演むと、必
要に応じて再び次の停止すべきアドレスを指定して現在
の停止しているアドレス(またはその他の任意のアドレ
ス)からプログラムを再スタートできるようにしている
。このような機能は、デバッグを行う場合の有力な手段
となる。
When debugging, 1lJltl, which stores the microinstructions that should temporarily suspend the execution of the microprogram.
A storage address is input from, for example, a console, stored in a comparison address register, and then the microprogram is started. Then, when the microphone program stops at this specified instruction (1,!I tall storage address) using the above function, the microprogram processes by checking the contents of various registers and other internal states in this state. Check whether it is working as desired so far. 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). Such a function is an effective means for debugging.

上述した従来のマイクロプログラム制御装置は、例えば
あるレジスタの値がある範囲の値となるというような条
件下での特定ルーチンのデバッグを行う場合に、予め何
回目にその値になるかが分かつていれば特定のルーチン
のアドレス【停止可能である。しかしながら、一般にマ
イクロプログラムはラフ1−ウェア命令の順番あるいは
外部要因(入出力装置からのv1込み等)により複雑な
動作をするために予測が不可能であり、実際はそのよう
な条件での停止はできない。
The conventional microprogram control device described above, for example, when debugging a specific routine under conditions where the value of a certain register becomes a value within a certain range, it is necessary to know in advance how many times the value will reach that value. If there is, the address of a specific routine [can be stopped]. However, in general, microprograms cannot be predicted because they perform complex operations depending on the order of rough 1-ware instructions or external factors (including v1 from input/output devices, etc.), and in reality, stopping under such conditions is impossible. Can not.

そこで、従来のマイクロプログラム制御装置では、特定
ルーチン中にある1ノジスタの値がある範■の値になっ
たらユニークなアドレスに分岐(あるいはマイクロプロ
グラムを停止させるような命令実行)するようなデバッ
グ専用のルーチンを追加することにより同等の機能を実
現している。
Therefore, conventional microprogram control devices are designed specifically for debugging, such as branching to a unique address (or executing an instruction that stops the microprogram) when the value of one register in a specific routine reaches a certain range. Equivalent functionality is achieved by adding the following routine.

しかし、以上はあくまでもマイクロブ[1グラム実行の
全てのタイミングで平等に行われるものCはなく、最小
限必要と思われる箇所にその都度デバッグ専用ルーチン
を追加1゛る必要があるという欠点がある。
However, the above is just a microb [C that is not executed equally at all timings of 1-gram execution, and has the disadvantage that it is necessary to add debugging routines each time where it is considered to be the minimum necessary.

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

発明の構成 本発明によれば、υItlll記憶部から読出されたマ
イクロ命令を格納するマイクロ命令レジスタと、前記マ
イクロ命令に応じて実行υ1111を行うマイクロ命令
実行手段とを含む情報処理装置におけるマイクロプログ
ラム&制御装置であって、前記マイクロ命令実行手段内
の所定レジスタの内容を内部バスへ導出するためのマイ
クロ命令を格納するバス出力命令レジスタと、前記マイ
クロ命令レジスタと前記バス出力命令レジスタとの一方
を交互に選択して前記マイクロ命令実行手段へマイクロ
命令を供給する選択手段と、前記内部バス上のデータと
予め定められた第1の値とを比較する第1の比較手段と
、前記内部バス上のデータと予め定められた第2の値と
を比較する第2の比較手段と、前記第1及び第2の比較
手段の両比較結果に応じて前記マイロ命令実行手段の実
行を停止11.めるI制御手段とを有することを特徴と
するマイクロプログラム1llI ill装置が得られ
る。
Structure of the Invention According to the present invention, a microprogram & The control device includes a bus output instruction register for storing 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. selection means for alternately selecting and supplying microinstructions to the microinstruction execution means; first comparison means for comparing data on the internal bus with a predetermined first value; 11. A second comparing means for comparing the data of 1 with a predetermined second value; and stopping the execution of the microinstruction executing means in accordance with the comparison results of both the first and second comparing means.11. A microprogram device is obtained, which is characterized in that it has a microprogram IllI control means for controlling the microprogram.

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

第1図tよ本発明の一実施例を示す1日ツク図である。FIG. 1 is a daily schedule showing an embodiment of the present invention.

本実施例のマイクDプログラムυ1611装置は、制御
記憶1.命令レジスタ2.バス出力命令レジスケ31選
択回路4.実行u制御部5.フリップフロップ(以下、
F/Fと略記する)6.比較データレジスタ7および8
.比較回路9および10゜演紳回路11.制御回路12
およびアンドゲート13を有している。
The microphone D program υ1611 device of this embodiment has control memory 1. Instruction register 2. Bus output instruction register 31 selection circuit 4. Execution u control unit 5. flip-flop (hereinafter referred to as
(abbreviated as F/F)6. Comparison data registers 7 and 8
.. Comparison circuit 9 and 10° performance circuit 11. Control circuit 12
and an AND gate 13.

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

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

さて、本実施例は三つの特有なデバッグ用モードを有し
ている。1i111!1回路12はコンソール(図示せ
ず)からの指定により比較回路9.比較回路10および
演算回路11を以下に示すように¥Alflする。
Now, this embodiment has three unique debugging modes. 1i111!1 circuit 12 is connected to comparison circuit 9.1 by designation from a console (not shown). The comparator circuit 10 and the arithmetic circuit 11 are ¥Alfl as shown below.

まず比較回路9は、ライン105を介してのバス出力デ
ータ(これをBLJSとする)と比較データレジスタ7
の内容(これをDlとする)とを比較し、この比較結末
に従って1″または“Onを出力するが、この結果の与
え方は11t[1回路12からのυJilt信号112
により第3図に示すように変化する。すなわち、第1モ
ードではBtJS−Dlのときに論理レベル″111を
出力し、BUS≠01のときに“0゛′を出力する。ま
た、第2モードおよび第3モードでは、BUS≧D1の
ときに論理レベル“1′″を出力し、BLIS<DIの
ときに“0”を出力する。
First, the comparison circuit 9 compares the bus output data (this is referred to as BLJS) via the line 105 with the comparison data register 7.
(this is set as Dl) and outputs 1" or "On according to the result of this comparison, but the method of giving this result is as follows:
Accordingly, it changes as shown in FIG. That is, in the first mode, the logic level "111" is output when BtJS-Dl, and "0" is output when BUS≠01. Furthermore, in the second mode and the third mode, a logic level "1'" is output when BUS≧D1, and a logic level "0" is output when BLIS<DI.

同様に比較回路10は、BUSと比較データレジスタ8
の内容(これをDlとする)とを比較し、第1モードで
はBtJS=02のときに論理レベル“1″を出力し、
BUS+D2のときに“0″を出力する。また、第2モ
ードおよび第3モードでは、Bus’;Dlのときに論
理レベル111 IIを出力し、Bus>Dlのときに
“0″′を出力する。
Similarly, the comparison circuit 10 connects the BUS and the comparison data register 8.
(this is set as Dl), and in the first mode, when BtJS=02, a logic level "1" is output,
Outputs “0” when BUS+D2. Further, in the second mode and the third mode, the logic level 111 II is output when Bus';Dl, and "0"' is output when Bus>Dl.

次に演算回路11は、比較回路9の出力(これをPとす
る)と比較回路10の出力(これをQとする)とを論理
合成してプログラム停止要因信号110を生成するが、
その論理合成の仕方は制御回路12からの1llltI
l信号212により第3図に示すように変化覆る。すな
わら、第1モードではP orQ 。
Next, the arithmetic circuit 11 logically synthesizes the output of the comparison circuit 9 (this is designated as P) and the output of the comparison circuit 10 (this is designated as Q) to generate the program stop factor signal 110.
The method of logic synthesis is 1llltI from the control circuit 12.
1 signal 212 causes a change as shown in FIG. That is, P orQ in the first mode.

第2モードではPandQおよび第3モードではPna
ndQが出力される。
PandQ in the second mode and Pna in the third mode
ndQ is output.

以上により明らかなように、本実施例によると、コンソ
ールから第1モードが指定されるとBtJS−[)1ま
たはBus−Dlの場合にプログラム停止要因信号11
0が1”となる。同様に第2モードが指定されると、D
1≦BtJS≦D2の場合に、また第3モードが指定さ
れるとBUSくDlまたはBus>Dlの場合に夫々プ
ログラム停止要因信号110が“1″となる。
As is clear from the above, according to this embodiment, when the first mode is specified from the console, the program stop cause signal 11 is set to BtJS-[)1 or Bus-Dl.
0 becomes 1”. Similarly, when the second mode is specified, D
When 1≦BtJS≦D2, or when the third mode is specified, the program stop factor signal 110 becomes “1”.

一方、命令レジスタ2は、F/F6が論理“1”の場合
に保持され、論理u Onの場合にのみυl′m記憶1
からのマイクロ命令が格納される。
On the other hand, instruction register 2 is held when F/F6 is logic "1", and υl'm memory 1 is held only when logic u On.
Stores microinstructions from

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

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

以上の動作中、演算回路11はコンソールから指定され
たモード下でバス出力を比較するが、さらにアンドゲー
ト13によりF/F6とアンド処理されるために信号線
113にはバス出力命令Zによるバス出力が比較対家と
なって指定された比較条件を満足する場合にのみ論理“
1″が出力され、実行制御部5にマイクロプログラム停
止信号として供給される。
During the above operation, the arithmetic circuit 11 compares the bus output under the mode specified from the console, but since the AND gate 13 performs AND processing with F/F6, the signal line 113 is connected to the bus output by the bus output command Z. Logical only if the output is a comparison pair and satisfies the specified comparison condition.
1'' is output and supplied to the execution control section 5 as a microprogram stop signal.

尚、バス出力命令レジスタ3.比較データレジスタ7お
よび比較データレジスタ8へは予めコンソール(図示せ
ず)から比較対象レジスタのバス出力を指示するマイク
ロ命°令および比較データが供給されて格納されるもの
とする。
Note that the bus output command register 3. It is assumed that the comparison data register 7 and the comparison data register 8 are supplied in advance from a console (not shown) with a microinstruction for instructing the bus output of the comparison target register and comparison data and stored therein.

11立lユ 以上説明したように本発明によれば、マイクロプログラ
ムのそれぞれのマイクロ命令実行の間にハードウェア動
作として任意のレジスタが期待する値になったか否かを
チェックし期待値になった場合にマイクロブロクグラム
を停止することにより、従来のデバッグ専用ルーチンの
追加を不要とし、さらにマイクロプログラムの実行の全
てのタイミングで平等にマイクロプログラムの停止が行
える強力なデバッグ手段の提供が可能となり、デバッグ
の効率化が達成されるという効果がある。
As explained above, according to the present invention, during the execution of each microinstruction of a microprogram, it is checked as a hardware operation whether or not an arbitrary register has reached the expected value. By stopping the microblock program when the microprogram is running, it becomes unnecessary to add a conventional debugging routine, and furthermore, it becomes possible to provide a powerful debugging method that can equally stop the microprogram at all timings of microprogram execution. This has the effect of making debugging more efficient.

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

第1図は本発明の実施例のブロック図、第2図は第1図
のブロックの動作を示すタイムチャート、第3図は第1
因のブロックにおけるプログラム停止モードと各回路の
出力関係を示す図である。 主要部分の符号の説明 1・・・・・・制御記憶部 2・・・・・・命令レジスタ 3・・・・・・バス出力命令レジスタ 4・・・・・・選択回路 5・・・・・・実行制御部 7.8・・・・・・比較データレジスタ9.10・・・
・・・比較回路 11・・・・・・演算回路 12・・・・・・制御回路
FIG. 1 is a block diagram of an embodiment of the present invention, FIG. 2 is a time chart showing the operation of the blocks in FIG. 1, and FIG.
FIG. 3 is a diagram showing the relationship between the program stop mode and the output of each circuit in the cause block. Explanation of symbols of main parts 1... Control storage unit 2... Instruction register 3... Bus output instruction register 4... Selection circuit 5... ...Execution control unit 7.8...Comparison data register 9.10...
... Comparison circuit 11 ... Arithmetic circuit 12 ... Control circuit

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. selection means for supplying a microinstruction to a predetermined second value; first comparison means for comparing data on the internal bus with a predetermined first value; A microprogram characterized in that it has a second comparison means for comparing a value with a value, and a control means for stopping execution of the microinstruction execution means according to the comparison results of the first and second comparison means. Control device.
JP62030448A 1987-02-12 1987-02-12 Microprogram controller Pending JPS63197246A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62030448A JPS63197246A (en) 1987-02-12 1987-02-12 Microprogram controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62030448A JPS63197246A (en) 1987-02-12 1987-02-12 Microprogram controller

Publications (1)

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

Family

ID=12304194

Family Applications (1)

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

Country Status (1)

Country Link
JP (1) JPS63197246A (en)

Similar Documents

Publication Publication Date Title
US4870562A (en) Microcomputer capable of accessing internal memory at a desired variable access time
EP0025087A2 (en) Pipeline Control apparatus for generating Instructions in a Digital Computer
JPH02140831A (en) Data processor
US5361348A (en) Debug circuit of a signal processor
EP0652514A2 (en) Data processing apparatus handling plural divided interruption
US5253349A (en) Decreasing processing time for type 1 dyadic instructions
JPS63250702A (en) Sequence controller
JPS63197246A (en) Microprogram controller
JP2904172B2 (en) Logic circuit simulator
JPS6049337B2 (en) Pipeline control method
US5611068A (en) Apparatus and method for controlling pipelined data transfer scheme between stages employing shift register and associated addressing mechanism
JPS63197247A (en) Microprogram controller
JPH02103643A (en) Interruption generation circuit for debug
JPS62197834A (en) Microprogram controller
JPS63197245A (en) Microprogram controller
JPH04344947A (en) Program controller
JPH04181334A (en) Interruption generating circuit for debugging
EP0332849A2 (en) Sequence controller for controlling next operating state with a short delay
JPS608938A (en) Debugging system of microprogram
JPH0331940A (en) Microprogram controller
JPH04251331A (en) Information processor
JPH05250161A (en) Microcomputer device
JPS62249239A (en) Simulation system for actual parts interlocking logic
JPH09319579A (en) Branch control circuit
JPS63226778A (en) Memory device