JPH02148221A - Microcontroller - Google Patents

Microcontroller

Info

Publication number
JPH02148221A
JPH02148221A JP63302901A JP30290188A JPH02148221A JP H02148221 A JPH02148221 A JP H02148221A JP 63302901 A JP63302901 A JP 63302901A JP 30290188 A JP30290188 A JP 30290188A JP H02148221 A JPH02148221 A JP H02148221A
Authority
JP
Japan
Prior art keywords
instruction
microinstruction
output
additional information
micro
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
JP63302901A
Other languages
Japanese (ja)
Other versions
JPH0682321B2 (en
Inventor
Makoto Tazumi
田積 誠
Tokuzo Kiyohara
督三 清原
Kozo Kimura
浩三 木村
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP63302901A priority Critical patent/JPH0682321B2/en
Publication of JPH02148221A publication Critical patent/JPH02148221A/en
Publication of JPH0682321B2 publication Critical patent/JPH0682321B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

PURPOSE:To constitute the microcontroller so that a preceding instruction can be executed without decoding it again after the succeeding instruction is executed prior to the execution of the preceding instruction by saving information required for executing the instruction of a microprogram to the microprogram. CONSTITUTION:When it is designated to execute the succeeding instruction first, the present microaddress and information required for executing other instruction are saved to microstacks 6, 10 as they are, a micro-instruction output part 3 generates the outputs a specific micro-instruction, and the execution of the succeeding instruction is started. Subsequently, by instructing read-out of the microstacks 6, 10 in the micro-instruction outputted in the end of a microprogram of the succeeding instruction required for being executed first, the start address of the microprogram of the preceding saved instruction and information required for executing the instruction are read out of the microstacks 6, 10 and the preceding instruction is executed. In such a manner, after the succeeding instruction is executed, the preceding instruction can be executed easily.

Description

【発明の詳細な説明】 産業上の利用分野 本発明は、マイクロプログラム制御方式の計算機のマイ
クロ制御装置に関するものである。
DETAILED DESCRIPTION OF THE INVENTION Field of the Invention The present invention relates to a microcontroller for a microprogram-controlled computer.

従来の技術 従来のマイクロ制御装置としては、例えば超LSIシス
テム入門(培風館 1981年)pp。
BACKGROUND OF THE INVENTION Conventional microcontrollers include, for example, Introduction to Ultra LSI Systems (Baifukan 1981) pp.

227〜231に示されている。227-231.

第2図はこの従来のマイクロ制御装置の構成図を示すも
のであり、1は機械語命令を保持する命令レジスタ、2
は命令レジスタ1に保持されている機械語命令を解読し
てマイクロプログラムの開始アドレスを決定する命令デ
コーダ、3はマイクロプログラムを記憶する制御メモリ
、4は制御メモリ3からマイクロ命令を読み出すアドレ
スを保持する第1レジスタ、5は第2レジスタ4に保持
されているマイクロアドレスに+1加算するインクリメ
ンタ、6はインクリメンタ5の出力するマイクロアドレ
スを退避する第1マイクロスタック、7はマイクロアド
レスを選択しマイクロ命令で指定されるマイクロ分岐の
ディスプレイスメント等で修飾して次のマイクロアドレ
スを決定しマイクロプログラムの流れを制御するアドレ
ス選択部、8はマイクロ命令の実行に必要な付加情報を
保持する第2レジスタ、9は第2レジスタ8の出力する
付加情報を次のマイクロ命令実行のために変更または修
飾する付加情報修飾部、10は付加情報修飾部9の出力
する付加情報を退避する第2マイクロスタック、11は
マイクロプログラムの流れに合わせて第2レジスタ8に
保持する付加情報を選択する付加情報選択部である。こ
こで付加情報とは、機械語命令で指定されるレジスタ番
号・データサイズやブレークポイントに関する情報など
のマイクロ命令実行に必要な各種の情報を示し、マイク
ロ命令の一部に埋め込む等の方法で実行部に送られ命令
実行を制御する。
FIG. 2 shows a configuration diagram of this conventional microcontroller, in which 1 is an instruction register that holds machine language instructions;
is an instruction decoder that decodes the machine language instruction held in instruction register 1 and determines the start address of the microprogram; 3 is a control memory that stores the microprogram; and 4 holds an address for reading the microinstruction from control memory 3. 5 is an incrementer that adds +1 to the microaddress held in the second register 4, 6 is the first microstack that saves the microaddress output from incrementer 5, and 7 is a microaddress selector. An address selection section 8 controls the flow of the microprogram by determining the next microaddress by modifying the microbranch displacement specified by the microinstruction, and 8 is a second address selection section that holds additional information necessary for executing the microinstruction. 9 is an additional information modification unit that changes or modifies the additional information output from the second register 8 for execution of the next microinstruction; 10 is a second micro stack that saves the additional information output from the additional information modification unit 9; , 11 is an additional information selection unit that selects additional information to be held in the second register 8 in accordance with the flow of the microprogram. Here, additional information refers to various information necessary for microinstruction execution, such as register numbers, data sizes, and breakpoint information specified in machine language instructions, and is executed by embedding it in a part of the microinstruction. control the execution of instructions.

以上のように構成された従来のマイクロ制御装置におい
て、A11B110という機械語命令が順に与えられた
時を例としてその動作を説明する。
The operation of the conventional microcontroller configured as described above will be explained by taking as an example the case where machine language instructions A11B110 are sequentially applied.

まず、機械語命令AがAl−A2・A3というマイクロ
命令を順に発行し、機械語命令BがB1−82というマ
イクロ命令を順に発行することによって実行される場合
について第3図を用いて説明する。第3図において第1
・第2レジスタに書かれているA1とは、機械語命令A
を実行するためのマイクロプログラムの1番目に出力さ
れるマイクロ命令の状態(マイクロアドレスおよびそれ
に対応する付加情報)を表している。
First, the case where machine language instruction A is executed by sequentially issuing microinstructions Al-A2 and A3, and machine language instruction B is executed by sequentially issuing microinstructions B1-82 will be explained using FIG. . In Figure 3, the first
・A1 written in the second register is machine language instruction A
It represents the state of the first microinstruction (microaddress and corresponding additional information) of the microprogram for executing the microinstruction.

クロック1で命令レジスタ1に機械語命令Aが入力され
ると命令デコーダ2はそれを解読してマイクロ命令A1
のマイクロアドレスおよび付加情報を出力する。クロッ
ク1でA以前の機械語命令を実行するマイクロプログラ
ムが終了したとすると、クロック2でマイクロ命令A1
のマイクロアドレスと付加情報が第1レジスタ4・第2
レジスタ8に入力され、制御メモリ3からマイクロ命令
A1が読み出されて付加情報と組み合わされて実行部に
送られる。それに伴って命令レジスタ1に機械語命令B
が入力される。
When machine language instruction A is input to instruction register 1 at clock 1, instruction decoder 2 decodes it and outputs microinstruction A1.
Outputs the micro address and additional information. If the microprogram that executes the machine language instruction before A ends at clock 1, then the microprogram A1 executes at clock 2.
The micro address and additional information are stored in the first register 4 and the second register.
The microinstruction A1 is input to the register 8, read out from the control memory 3, combined with additional information, and sent to the execution unit. Accordingly, machine language instruction B is stored in instruction register 1.
is input.

このマイクロ命令A1は機械語命令Aを実行するマイク
ロプログラムの最終命令でないのでアドレス選択部7は
インクリメンタ5の出力するマイクロアドレスを選択し
、インクリメンタ5で+1加算されたマイクロアドレス
(マイクロ命令A2のマイクロアドレス)がクロック3
で第1レジスタ4に入力される。同様に付加情報選択部
11は付加情報修飾部9で修飾された付加情報(マイク
ロ命令A2に対応する付加情報)を選択し、クロック3
で第2レジスタ8に入力される。このようにして制御メ
モリ3に記憶されているマイクロ命令A1・A2φA3
が順に最終命令A3まで出力される。そしてクロック4
で制御メモリ3から読み出されるマイクロ命令が最終命
令A3になった時に、アドレス選択部7・付加情報選択
部11は命令デコーダ2の出力する機械語命令Bの解読
結果を選択し、第1レジスタ4および第2レジスタ8に
マイクロ命令B1の状態入力されて新しい命令の処理が
開始される。
Since this microinstruction A1 is not the final instruction of the microprogram that executes the machine language instruction A, the address selection unit 7 selects the microaddress output from the incrementer 5, and the microaddress added by +1 by the incrementer 5 (microinstruction A2 micro address) is clock 3
is input to the first register 4. Similarly, the additional information selection unit 11 selects the additional information modified by the additional information modification unit 9 (additional information corresponding to microinstruction A2), and
is input into the second register 8. Microinstructions A1 and A2φA3 stored in the control memory 3 in this way
are sequentially output up to the final instruction A3. and clock 4
When the microinstruction read from the control memory 3 becomes the final instruction A3, the address selection section 7/additional information selection section 11 selects the decoding result of the machine language instruction B output from the instruction decoder 2, and selects the result of decoding the machine language instruction B output from the instruction decoder 2. Then, the state of microinstruction B1 is input to the second register 8, and processing of the new instruction is started.

次に、マイクロ命令A1がマイクロサブルーチンコール
命令でAll・A12というマイクロ命令を呼び出す場
合について、第4図を用いて説明する。
Next, the case where the microinstruction A1 calls the microinstruction All.A12 by the microsubroutine call instruction will be described with reference to FIG.

クロック1で命令レジスタ1に機械語命令Aが入力され
ると、先程の例と同様にクロック2でマイクロ命令A1
が出力される。このマイ・クロ命令A1がマイクロスタ
ンク退避を指定するので、第1マイクロスタック6にイ
ンクリメンタ5の出力するマイクロアドレスA2(マイ
クロ命令A2のマイクロアドレス)が退避され、第2マ
イクロスタック10に付加情報修飾部9の出力する付加
情報A2(マイクロ命令A2に対応する付加情報)が退
避される。そしてアドレス選択部7でマイクロサブルー
チンの先頭アドレス(マイクロ命令A11のマイクロア
ドレス)が選択(例えば、マイクロアドレスA2にマイ
クロ命令A1の一部に記述されているディスプレイスメ
ントを加算して作成)され、クロック3で第1レジスタ
4に入力されマイクロサブルーチンが実行される。
When machine language instruction A is input to instruction register 1 at clock 1, microinstruction A1 is input at clock 2 as in the previous example.
is output. Since this micro-instruction A1 specifies micro-stack saving, the micro-address A2 (micro-address of micro-instruction A2) output from the incrementer 5 is saved in the first micro-stack 6, and the additional information is transferred to the second micro-stack 10. Additional information A2 (additional information corresponding to microinstruction A2) output by the modifier 9 is saved. Then, the address selection unit 7 selects the start address of the micro subroutine (micro address of micro instruction A11) (created by adding the displacement described in a part of micro instruction A1 to micro address A2, for example), and clocks 3, it is input to the first register 4 and the micro subroutine is executed.

クロック4でマイクロ命令A12が出力されると、この
マイクロ命令A12がマイクロスタック復帰を指定する
ので、第1マイクロスタック6からマイクロ命令A2の
マイクロアドレスが読み出され、第2マイクロスタック
10からマイクロ命令A2に対応する付加情報が読み出
される。この時、アドレス選択部7・付加情報選択部1
1は第1マイクロスタック・第2マイクロスタックの出
力を選択し、クロック5で第1レジスタ4および第2レ
ジスタ8にマイクロ命令A2の状態が入力されマイクロ
サブルーチンコール命令の次のマイクロ命令から処理が
再開される。以後は先程の説明と同様である。
When microinstruction A12 is output at clock 4, this microinstruction A12 specifies microstack return, so the microaddress of microinstruction A2 is read out from the first microstack 6, and the microinstruction is read out from the second microstack 10. Additional information corresponding to A2 is read. At this time, address selection section 7/additional information selection section 1
1 selects the output of the first microstack and the second microstack, and at clock 5, the state of microinstruction A2 is input to the first register 4 and second register 8, and processing starts from the next microinstruction after the microsubroutine call instruction. It will be restarted. The rest is the same as the previous explanation.

発明が解決しようとする課題 しかしながら上記のような構成では、マイクロサブルー
チンコールのマイクロ命令が実行された時に現在のマイ
クロアドレスがインクリメントされてマイクロスタック
に退避され、付加情報も変更されてからマイクロスタッ
クに退避されるので、機械語命令を実行するマイクロプ
ログラムを出力せずに開始アドレスおよび付加情報をマ
イクロスタックに退避し、他のマイクロ命令を実行した
後に元のマイクロプログラムの開始アドレスから実行す
ることはできない。つまり、マイクロスタックに退避さ
れる情報は必ず実行したマイクロ命令の次の状態につい
ての情報となるので、マイクロプログラムの最初の状態
についての情報を退避しておいて後続命令を実行してか
ら元の退避した状態からの実行を再開することができな
いという問題点を有していた。
Problem to be Solved by the Invention However, in the above configuration, when the microinstruction of the micro subroutine call is executed, the current microaddress is incremented and saved in the microstack, and the additional information is also changed before being stored in the microstack. Therefore, it is not possible to save the start address and additional information to the microstack without outputting the microprogram that executes the machine language instruction, and then execute it from the start address of the original microprogram after executing other microinstructions. Can not. In other words, the information saved to the microstack is always information about the next state of the executed microinstruction, so it is necessary to save information about the initial state of the microprogram and then return it to the original state after executing the subsequent instruction. There was a problem in that execution could not be resumed from the saved state.

このように解読した機械語命令をすぐ実行せずに、後続
する機械語命令を実行した後で実行するという処理は、
例えばトロンチップ(TRONCHIP)で採用されて
いる多段間接モードなどにを効である。多段間接モード
は機械語命令で使用されるアドレッシングモードの一種
で、後続する命令で指定されるディスプレイスメント値
会インデックスレジスタを用いてメモリからデータを読
み出し、読み出したデータをアドレスとして先行する命
令で指定される演算を実行する。つまり、後続する命令
は演算を指定している先行命令のデータアドレス指定の
拡張部分である。後続命令は複数個続けることが可能で
、その場合はメモリから読み出したデータをベース値と
して後続する命令で指定されるディスプレイスメント値
・インデックスレジスタを加えた値をアドレスとしてメ
モリロードを繰返すため、複雑な構造体変数などのアク
セスに有効なアドレッシングモードである。
The process of not executing the decoded machine language instruction immediately, but after executing the subsequent machine language instruction, is
For example, it is effective in the multi-stage indirect mode adopted in TRONCHIP. Multi-stage indirect mode is a type of addressing mode used in machine language instructions, in which data is read from memory using the displacement value index register specified by the subsequent instruction, and the read data is specified as an address by the preceding instruction. Execute the operation to be performed. In other words, the subsequent instruction is an extension of the data addressing of the preceding instruction specifying the operation. Multiple subsequent instructions can be followed, and in that case, the memory load is repeated using the data read from memory as the base value and the value added to the displacement value and index register specified by the subsequent instruction as the address, resulting in a complicated process. This addressing mode is effective for accessing structural variables.

本発明はかかる点に鑑み、先行する機械語命令を解読し
た結果、後続する命令を先に実行する必要があると判っ
た場合、後続する命令を実行した後に先行命令を実行す
るマイクロ1lilJ御装置を提供することを目的とす
る。
In view of this, the present invention provides a micro 1lilJ control device that executes the preceding instruction after executing the subsequent instruction when it is determined that the subsequent instruction needs to be executed first as a result of decoding the preceding machine language instruction. The purpose is to provide

課題を解決するための手段 本発明は、後続命令を実行した後でないと実行できない
命令の場合に退避が指示されそれ以外の場合には退避が
指示されない退避信号を入力とし前記退避信号が退避を
指示する場合は特定のマイクロ命令を出力しそれ以外の
場合はマイクロ命令の読出しアドレスに記憶しているマ
イクロ命令を出力するマイクロ命令出力部と、前記マイ
クロ命令読出しアドレスを保持する第1レジスタと、前
記第1レジスタの出力するマイクロアドレスを入力して
+1加算して出力するインクリメンタと、前記第1レジ
スタの出力するマイクロアドレスと前記インクリメンタ
の出力するマイクロアドレスを入力とし前記退避信号が
退避を指示する場合は前記第1レジスタの出力するマイ
クロアドレスを出力しそれ以外の場合は前記インクリメ
ンタの出力するマイクロアドレスを出力する第1セレク
タと、前記第1セレクタの出力するマイクロアドレスを
入力とし前記退避信号が退避を指示するかまたは前記マ
イクロ命令出力部の出力するマイクロ命令が退避命令の
場合は前記第1セレクタの出力するマイクロアドレスを
スタックに書き込んで保存し前記マイクロ命令が復帰命
令の場合は前記スタックから最後に保存したマイクロア
ドレスを読み出して出力する第1マイクロスタックと機
械語命令を実行するマイクロプログラムの開始アドレス
と111j記インクリメンタの出力するマイクロアドレ
スと前記第1マイクロスタックの出力するマイクロアド
レスとこれらのアドレスの一部分を修飾するマイクロア
ドレス修飾情報を入力とし前記第1レジスタが次に保持
するマイクロアドレスを出力するアドレス選択部と、マ
イクロ命令を実行するために必要な情報(以後、付加情
報と呼ぶ)を保持する第2レジスタと、前記第2レジス
タの出力する付加情報を入力して次のマイクロ命令実行
に必要な形に修飾して出力する付加情報修飾部と、前記
第2レジスタの出力する付加情報と前記付加情報修飾部
の出力する付加情報を入力とし前記退避信号が退避を指
示する場合は前記第2レジスタの出力する付加情報を出
力しそれ以外の場合は前記付加情報修飾部の出力する付
加情報を出力する第2セレクタと、前記第2セレクタの
出力する付加情報を入力とし前記退避信号が退避を指示
するかまたは前記マイクロ命令出力部の出力するマイク
ロ命令が退避命令の場合は前記第2セレクタの出力する
付加情報をスタックに書き込んで保存し前記マイクロ命
令が復帰命令の場合は前記スタックから最後に保存した
付加情報を読み出して出力する第2マイクロスタックと
機械語命令を解読して得られる付加情報の初期値と前記
付加情報修飾部の出力する付加情報と前記第2マイクロ
スタックの出力する付加情報を入力とし前記第2レジス
タが次に保持する付加情報を出力する付加情報選択部と
を備えたマイクロ制御装置である。
Means for Solving the Problems The present invention provides a method for inputting an evacuation signal that instructs evacuation in the case of an instruction that cannot be executed until after the execution of a subsequent instruction, and does not instruct evacuation in other cases. a micro-instruction output unit that outputs a specific micro-instruction when the instruction is given, and otherwise outputs the micro-instruction stored in the micro-instruction read address; a first register that holds the micro-instruction read address; an incrementer that inputs the microaddress output from the first register, adds +1 and outputs the result; and an incrementer that inputs the microaddress outputted from the first register and the microaddress outputted from the incrementer, and the evacuation signal outputs the evacuation signal. A first selector that outputs the microaddress outputted from the first register when the instruction is given, and a microaddress outputted from the incrementer otherwise, and a first selector that outputs the microaddress outputted from the first selector; If the save signal instructs save or if the microinstruction output by the microinstruction output section is a save instruction, write the microaddress output by the first selector to the stack and save it; if the microinstruction is a return instruction, A first micro stack that reads and outputs the last saved micro address from the stack, a start address of a micro program that executes a machine language instruction, a micro address output by the incrementer 111j, and a micro address output by the first micro stack. an address selection section that receives addresses and microaddress modification information that modifies parts of these addresses and outputs the next microaddress held by the first register; an additional information modification unit that inputs the additional information output from the second register, modifies it in a form necessary for the execution of the next microinstruction, and outputs it; and the second register. The additional information output by the second register and the additional information output by the additional information modification unit are input, and if the save signal instructs saving, the additional information output by the second register is output, and otherwise, the additional information is modified. a second selector that outputs additional information outputted by the microinstruction unit; and a second selector that receives the additional information outputted from the second selector, and receives the additional information outputted by the second selector, and the save signal instructs saving or the microinstruction outputted by the microinstruction output unit is a save instruction. If the microinstruction is a return instruction, the additional information output from the second selector is written to the stack and saved, and if the microinstruction is a return instruction, the second microstack and machine language instruction are read out and outputted from the stack. Addition that takes as input the initial value of the additional information obtained by decoding, the additional information outputted by the additional information modification section, and the additional information outputted by the second micro stack, and outputs the additional information held next by the second register. This is a microcontroller equipped with an information selection section.

作   用 本発明は前記した構成により、後続する命令を先に実行
するように指定された場合、現在のマイクロアドレスと
その他の命令実行に必要な情報をそのままマイクロスタ
ックに退避し、現在のマイクロアドレスに記憶されてい
るマイクロ命令の代りに特定のマイクロ命令を生成して
出力する。この生成するマイクロ命令をマイクロプログ
ラムの最終命令と同じ形式にしておくと、このマイクロ
命令を実行することによりマイクロプログラムの実行は
終了したと認識され、後続命令の実行が開始される。そ
して、先に実行する必要がある後続命令のマイクロプロ
グラムの最後に出力されるマイクロ命令においてマイク
ロスタックの読出しを指示することにより、マイクロス
タックに退避されていた先行命令のマイクロプログラム
の開始アドレスと命令実行に必要な情報がマイクロスタ
ックから読み出されて先行命令が実行される。
According to the above-described configuration, when the following instruction is specified to be executed first, the present invention saves the current microaddress and other information necessary for executing the instruction as is to the microstack, and stores the current microaddress. Generates and outputs a specific microinstruction in place of the microinstruction stored in the microinstruction. If the generated microinstruction is in the same format as the final instruction of the microprogram, by executing this microinstruction, the execution of the microprogram will be recognized as having ended, and the execution of subsequent instructions will begin. Then, by instructing the reading of the microstack in the microinstruction output at the end of the microprogram of the subsequent instruction that needs to be executed first, the start address of the microprogram of the preceding instruction saved in the microstack and the instruction Information necessary for execution is read from the microstack and the preceding instruction is executed.

実施例 第1図は本発明の第1の実施例におけるマイクロ制御装
置の構成図を示すものである。第1図において、1は機
械語命令を保持する命令レジスタ、2は命令レジスタ1
に保持されている機械語命令を解読する命令デコーダ、
3はマイクロ命令を出力するマイクロ命令出力部、4は
マイクロアドレスを保持する第2レジスタ、5は第2レ
ジスタ4に保持されているマイクロアドレスを+1加算
するインクリメンタ、6はマイクロアドレスを退避する
第1マイクロスタック、7はマイクロアドレスを選択し
マイクロ命令で指定されるマイクロ分岐のディスプレイ
スメント等で修飾して次のマイクロアドレスを決定しマ
イクロプログラムの流れを制御するアドレス選択部、8
はマイクロ命令の実行に必要な付加情報を保持する第2
レジスタ、9は第2レジスタ8の出力する付加情報を次
のマイクロ命令実行のために変更または修飾する付加情
報修飾部、10は付加情報を退避する第2マイクロスタ
ック、11はマイクロプログラムの流れに合わせて第2
レジスタ8に保持する付加情報を選択する付加情報選択
部、12は後続命令を実行した後でないと実行できない
命令の場合に退避が指示されそれ以外の場合には退避が
指示されない退避信号を保持する第3レジスタ、13は
第1マイクロスタック6に退避するマイクロアドレスを
選択する第1セレクタ、14は第2マイクロスタック1
0に退避する付加情報を選択する第2セレクタである。
Embodiment FIG. 1 shows a configuration diagram of a microcontroller in a first embodiment of the present invention. In FIG. 1, 1 is an instruction register that holds machine language instructions, and 2 is an instruction register 1.
an instruction decoder that decodes machine language instructions stored in
3 is a microinstruction output unit that outputs a microinstruction, 4 is a second register that holds a microaddress, 5 is an incrementer that adds +1 to the microaddress held in the second register 4, and 6 is a saver of the microaddress. a first micro stack; 7 is an address selection section that selects a micro address, modifies it with micro branch displacement specified by a micro instruction, determines the next micro address, and controls the flow of the micro program; 8;
is the second one that holds additional information necessary to execute the microinstruction
9 is an additional information modification unit that changes or modifies the additional information output from the second register 8 for execution of the next microinstruction; 10 is a second micro stack that saves the additional information; 11 is an additional information modifying unit for the flow of the microprogram; 2nd in total
Additional information selection unit 12 selects additional information to be held in register 8, and 12 holds an evacuation signal that instructs evacuation in the case of an instruction that cannot be executed until after executing a subsequent instruction, and does not instruct evacuation in other cases. 3rd register, 13 is a first selector that selects the microaddress to be saved to the first microstack 6, 14 is the second microstack 1
This is a second selector for selecting additional information to be saved to 0.

以上のように構成された本実施例のマイクロ制御装置に
おいて、以下A・B・Cという機械語命令が順に与えら
れた時を例としてその動作を説明する。
The operation of the microcontroller of this embodiment configured as described above will be described below, taking as an example the case where machine language instructions A, B, and C are sequentially given.

機械語命令Aが通常の機械語命令(後続する機械語命令
を先に実行する必要がない命令)でA111A2・A3
というマイクロ命令を順に発行し、機械語命令BがB1
・82というマイクロ命令を順に発行することによって
実行される場合は、第3図に示した従来のマイクロ制御
装置と全く同じである。
Machine language instruction A is a normal machine language instruction (instruction that does not require the subsequent machine language instruction to be executed first) and A111A2/A3
are issued in order, and machine language instruction B becomes B1.
- When executed by sequentially issuing microinstructions 82, it is exactly the same as the conventional microcontroller shown in FIG.

クロック1で命令デコーダ2が機械語命令Aを解読した
時には退避信号に退避は指示せず、その退避信号がクロ
ック2で第3レジスタ12に入力される。第3レジスタ
12は第1レジスタ4舎第2レジスタ8が命令デコーダ
2の出力を入力した時に同時に退避信号を入力する。
When the instruction decoder 2 decodes the machine language instruction A at clock 1, it does not instruct the save signal to save, and the save signal is input to the third register 12 at clock 2. The third register 12 inputs the save signal simultaneously when the first register 4 and the second register 8 input the output of the instruction decoder 2.

次に、マイクロ命令A1がマイクロサブルーチンコール
命令でAll・A12というマイクロ命令を呼び出す場
合も、各レジスタおよびマイクロスタックの動作は第4
図に示した従来のマイクロ制御装置と同じで、クロック
2でマイクロサブルーチンコール命令A1が出力された
時には第1セレクタ13はインクリメンタ5の出力を選
択し、第2セレクタ14は付加情報修飾部9の出力を選
択シて、各マイクロスタックにはコール命令Atの次の
マイクロ命令A2の状態が退避される。
Next, even when microinstruction A1 calls microinstruction All・A12 with a microsubroutine call instruction, the operation of each register and microstack is
Same as the conventional microcontroller shown in the figure, when the micro subroutine call instruction A1 is output at clock 2, the first selector 13 selects the output of the incrementer 5, and the second selector 14 selects the output of the additional information modification unit 9. By selecting the output of , the state of the microinstruction A2 following the call instruction At is saved in each microstack.

次に、機械語命令Aが後続する機械語命令Bを先に実行
する必要がある場合(例えば、命令Bが命令Aのアドレ
ス指定の拡張部で、命令AのjW fする演算が命令B
を実行して得られるデータをアドレスとしてメモリから
データを読み出して用いる場合)について第5図を用い
て説明する。
Next, if machine language instruction A needs to execute the following machine language instruction B first (for example, if instruction B is an extension of the addressing of instruction A, then the jW f operation of instruction A is
A case in which data is read out from the memory using the data obtained by executing the above as an address will be described with reference to FIG.

クロック1で命令レジスタ1に機械語命令Aが入力され
ると命令デコーダ2はそれを解読してマイクロ命令A1
のマイクロアドレスおよび付加情報を出力し、退避信号
に退避を指示する。クロック1でA以前の機械語命令を
実行するマイクロプログラムが終了したとすると、クロ
ック2でマイクロ命令A1のマイクロアドレスと付加情
報が第1レジスタ4・第2レジスタ8に入力され、退避
信号が第3レジスタ12に入力される。
When machine language instruction A is input to instruction register 1 at clock 1, instruction decoder 2 decodes it and outputs microinstruction A1.
The micro address and additional information of the micro address and additional information are output, and the save signal is instructed to save. Assuming that the microprogram that executes the machine language instruction before A ends at clock 1, the microaddress and additional information of microinstruction A1 are input to the first register 4 and second register 8 at clock 2, and the save signal is input to the second register 8. 3 register 12.

今回は、第3レジスタ12に入力された退避信号が退避
を指示しているので、第1セレクタ13はインクリメン
タ5の出力するマイクロアドレスではなく第1レジスタ
4の出力するマイクロアドレスを直接選択し第1マイク
ロスタック6に退避し、第2セレクタ14は付加情報修
飾部9の出力する付加情報ではな(第2レジスタ8の出
力する付加情報を直接選択し第2マイクロスタック10
に退避する。このようにして、今回は退避信号で退避を
指示することにより、マイクロ命令A2ではなくマイク
ロ命令A1の状態を退避することができる。
This time, since the save signal input to the third register 12 instructs saving, the first selector 13 directly selects the micro address output by the first register 4 instead of the micro address output by the incrementer 5. The second selector 14 directly selects the additional information output from the second register 8 instead of the additional information output from the additional information modification unit 9, and the second selector 14 directly selects the additional information output from the second register 8
evacuate to. In this way, the state of the microinstruction A1 instead of the microinstruction A2 can be saved by instructing the saving with the save signal this time.

この時退避信号が退避を指示しているので、マイクロ命
令出力部は第1レジスタ4が指定するマイクロアドレス
に記憶しているマイクロ命令A1を出力せずに、特定の
マイクロ命令AOを生成して出力する。このマイクロ命
令AOはマイクロプログラムの最終命令であるA3やB
2と同じ形式(例えば、最終マイクロ命令であることを
示すビットが1になっている)を持つように定めておく
ので、アドレス選択部7・付加情報選択部11は命令デ
コーダ2の出力を選択して、機械語命令Bのマイクロプ
ログラムの最初のマイクロ命令B1の開始アドレスφ付
加情報・退避信号が各レジスタに入力され、命令Bのマ
イクロプログラムの実行が開始される。
At this time, since the save signal instructs saving, the microinstruction output section does not output the microinstruction A1 stored in the microaddress specified by the first register 4, but generates a specific microinstruction AO. Output. This microinstruction AO is the final instruction of the microprogram, such as A3 or B.
2 (for example, the bit indicating that it is the final microinstruction is 1), the address selection section 7 and additional information selection section 11 select the output of the instruction decoder 2. Then, the start address φ additional information/save signal of the first microinstruction B1 of the microprogram of machine language instruction B is input to each register, and execution of the microprogram of instruction B is started.

機械語命令Bが機械語命令Aより先に実行すべき後続命
令の最後だとすると、命令Bのマイクロプログラムの最
後のマイクロ命令B2は最終命令の形式ではなく、第1
マイクロスタック6・第2マイクロスタック10から退
避情報を読み出す命令になっている。クロック4でこの
マイクロ命令B2が実行されると第1マイクロスタック
611第2マイクロスタック10に退避されていたマイ
クロ命令A1の状態が読み出され、アドレス選択部7・
付加情報選択部11はそれぞれのマイクロスタックの出
力を選択して第2レジスタ8・第2レジスタ8にマイク
ロスタックから読み出されたマイクロ命令A1のマイク
ロアドレス会付加情報が入力され、機械語命令Aの実行
が開始される。
If machine language instruction B is the last of the subsequent instructions to be executed before machine language instruction A, then the last microinstruction B2 in the microprogram of instruction B is not in the form of the final instruction, but in the form of the first instruction.
This is an instruction to read saved information from the micro stack 6 and the second micro stack 10. When this microinstruction B2 is executed at clock 4, the state of microinstruction A1 saved in the first microstack 611 and second microstack 10 is read out, and the state of the microinstruction A1 saved in the first microstack 611 and second microstack 10 is read out, and the state of the microinstruction A1 is read out from the address selection unit 7.
The additional information selection unit 11 selects the output of each microstack, and the microaddress group additional information of the microinstruction A1 read from the microstack is input into the second register 8. execution begins.

以上のように本実施例によれば、マイクロプログラムの
開始アドレスやその他の命令実行に必要な情報を選択し
てマイクロスタックに退避する機能を設けることにより
、先行する機械語命令の実行に先立って後続命令を実行
してから先行命令を再び解読せずに実行することができ
る。
As described above, according to this embodiment, by providing a function to select the start address of a microprogram and other information necessary for instruction execution and save it to the micro stack, the information can be saved in the micro stack prior to execution of the preceding machine language instruction. After the subsequent instruction is executed, the preceding instruction can be executed without having to decode it again.

なお、第1の実施例において付加情報は命令デコーダか
ら出力されるとしたが、命令レジスタに入力された機械
語命令や機械語命令読出し都から得られた情報を命令デ
コーダを通さずに付加情報としてもよい。また、本実施
例では命令デコーダはマイクロアドレスと付加情報のみ
を出力するとしたが、マイクロ命令の一部(例えば、オ
ペランドのアドレス計算を制御する命令など)を命令デ
コーダから出力してもよい。ただし、命令デコーダから
出力できるマイクロ命令は後続命令の実行後に実行する
必要の無い命令に限られる。
In the first embodiment, the additional information is output from the instruction decoder, but the additional information is output from the machine language instruction input to the instruction register and the information obtained from the machine language instruction read capital without passing through the instruction decoder. You can also use it as Further, in this embodiment, the instruction decoder outputs only the microaddress and additional information, but a part of the microinstruction (for example, an instruction for controlling address calculation of an operand, etc.) may be outputted from the instruction decoder. However, the microinstructions that can be output from the instruction decoder are limited to instructions that do not need to be executed after the subsequent instruction is executed.

第6図は本発明の第2の実施例におけるマイクロ制御装
置の構成図を示すものである。第6図において、5は退
避信号が退避を指示した時に第1レジスタ4の出力をそ
のまま出力しそれ以外の時は+1加算して出力する11
0加算部であり、これ以外の構成と動作は第1図に示す
第1の実施例の同じ番号の要素と同じである。
FIG. 6 shows a configuration diagram of a microcontroller in a second embodiment of the present invention. In FIG. 6, 5 indicates 11 which outputs the output of the first register 4 as is when the save signal instructs saving, and otherwise adds +1 and outputs the output.
This is a 0 adder, and the configuration and operation other than this are the same as the elements with the same numbers in the first embodiment shown in FIG.

以上のように構成された本実施例のマイクロ制御装置に
おいては、第3レジスタ12に保持される退避信号が退
避を指示する場合、110加算部は第1レジスタ4の出
力するマイクロアドレスをそのまま(+0)出力し、第
1マイクロスタック6がそのマイクロアドレスをスタッ
クに退避することによって、第1の実施例と同じ機能を
実現する。
In the microcontroller of this embodiment configured as described above, when the save signal held in the third register 12 instructs saving, the adder 110 converts the micro address output from the first register 4 as is ( +0) and the first micro stack 6 saves the micro address to the stack, thereby realizing the same function as the first embodiment.

第3の実施例として第1図のマイクロ命令出力部3を第
7図に示す要素で構成したものを示す。
As a third embodiment, the microinstruction output section 3 of FIG. 1 is constructed from the elements shown in FIG. 7.

第7図において、31はマイクロプログラムを記憶する
制御メモリ、32は制御メモリ31の出力するマイクロ
命令をそのまま出力するかもしくは特定のマイクロ命令
を生成して出力するマイクロ命令生成部で、これ以外の
構成と動作は第1図に示す第1の実施例と同じである。
In FIG. 7, 31 is a control memory that stores a microprogram, and 32 is a microinstruction generator that outputs the microinstructions output from the control memory 31 as is or generates and outputs specific microinstructions. The configuration and operation are the same as the first embodiment shown in FIG.

以上のように構成された本実施例のマイクロ制御装置に
おいては、第3レジスタ12に保持される退避信号が退
避を指示する場合、制御メモリ31からは第1レジスタ
4の出力するマイクロアドレスに記憶しているマイクロ
命令が出力されるが、マイクロ命令生成部32において
特定のマイクロ命令を生成して出力することによりマイ
クロ命令出力部3の機能を実現する。
In the microcontroller of this embodiment configured as described above, when the save signal held in the third register 12 instructs saving, the control memory 31 stores the data in the micro address output from the first register 4. The functions of the microinstruction output unit 3 are realized by generating and outputting specific microinstructions in the microinstruction generation unit 32.

第4の実施例として第1図のマイクロ命令出力部3を第
8図に示す要素で構成したものを示す。
As a fourth embodiment, the microinstruction output section 3 of FIG. 1 is constructed from the elements shown in FIG. 8.

第8図において、31は第ルンスタ4の出力するマイク
ロアドレスをそのまま出力するがもしくは特定のマイク
ロアドレスを生成して出力するマイクロアドレス生成部
、32はマイクロプログラムを記憶する制御メモリであ
り、これ以外の(14成と動作は第1図に示す第1の実
施例と同じである。
In FIG. 8, 31 is a microaddress generator that outputs the microaddress outputted by Runster 4 as it is, or generates and outputs a specific microaddress, and 32 is a control memory that stores a microprogram. (14) The structure and operation are the same as in the first embodiment shown in FIG.

以上のように構成された本実施例のマイクロ制御装置に
おいては、第3レジスタ12に保持される退避信号が退
避を指示する場合、マイクロアドレス生成部31が特定
のマイクロアドレスを生成して制御メそす32に出力す
る。制御メモリ32のそのアドレスにあらかじめ出力す
べきマイクロ命令(第3の実施例ではマイクロ命令生成
部が生成した特定のマイクロ命令)を記憶しておくこと
により、特定のマイクロ命令を出力できる。
In the microcontroller of this embodiment configured as described above, when the save signal held in the third register 12 instructs saving, the micro-address generation unit 31 generates a specific micro-address to control the control message. Output to Sosu 32. A specific microinstruction can be output by storing in advance a microinstruction to be output (in the third embodiment, a specific microinstruction generated by the microinstruction generation section) at that address in the control memory 32.

通常、制御メモリ32から出力されるマイクロ命令より
も制御メモリ32の読出しアドレスの方がビット数が少
ないので、本実施例では特定のビットハターンを生成す
るためのハードウニアラ少なくすることができる。
Normally, the read address of the control memory 32 has fewer bits than the microinstruction output from the control memory 32, so in this embodiment, the number of hardware required to generate a specific bit pattern can be reduced.

第5の実施例として第6図の110加算部5を第9図に
示す要素で構成したものを示す。第9図において、51
は第1レジスタ4の出力するマイクロアドレスを+1増
加させて出力するインクリメンタ、52はインクリメン
タ51の出力するマイクロアドレスの最下位ビットをO
にマスクして出力するマスク生成部である。本実施例に
おいて、110加算部5以外の構成は第6図に示す第2
の実施例と同じである。
As a fifth embodiment, the 110 addition section 5 of FIG. 6 is constructed from the elements shown in FIG. 9. In Figure 9, 51
52 is an incrementer that increments the microaddress output from the first register 4 by +1, and 52 increments the least significant bit of the microaddress output from the incrementer 51.
This is a mask generation unit that masks and outputs the data. In this embodiment, the configuration other than the 110 adding section 5 is the second section shown in FIG.
This is the same as the embodiment.

以上のように構成された本実施例のマイクロ制御装置に
おいては、第3レジスタ12に保持される退避信号が退
避を指示していない場合、マスク生成部52はインクリ
メンタ51の出力するマイクロアドレスをマスクせずそ
のまま出力する。第3レジスタ12に保持される退避信
号が退避を指示している場合、マスク生成部52はイン
クリメンタ51の出力するマイクロアドレスをマスクし
て最下位ビットをOにする。あらかじめマイクロプログ
ラムの開始アドレスを偶数番地に制限しておくと、第1
レジスタ4に入力されるマイクロプログラムの開始アド
レスの最下位ビットは必ず0となり、インクリメンタ5
1の出力するマイクロアドレスの最下位ビットは1とな
る。その時、退避信号が退避を指示していれば、マスク
生成部S2の出力するマイクロアドレスの最下位ビット
は0に戻るため、110加算部5の+0の機能が実現で
きる。
In the microcontroller of this embodiment configured as described above, when the save signal held in the third register 12 does not instruct saving, the mask generation unit 52 converts the micro address output from the incrementer 51 into Output as is without masking. When the save signal held in the third register 12 instructs saving, the mask generation unit 52 masks the microaddress output from the incrementer 51 and sets the least significant bit to O. If you limit the start address of the microprogram to an even address in advance, the first
The least significant bit of the microprogram start address input to register 4 is always 0, and incrementer 5
The least significant bit of the microaddress outputted by 1 is 1. At that time, if the save signal instructs saving, the least significant bit of the microaddress output from the mask generation section S2 returns to 0, so that the +0 function of the 110 addition section 5 can be realized.

以上のように本実施例によれば、110加算、B((5
に用いる加算器の機能を+1のみに限定できるため、ハ
ードウェア量を減らし高速に実現できる。
As described above, according to this embodiment, 110 additions, B((5
Since the function of the adder used for this can be limited to only +1, the amount of hardware can be reduced and high speed implementation can be achieved.

なお第5の実施例においては、アドレス選択部7に入力
するマイクロアドレスも第1マイクロスタックへの入力
と同じくマスク生成部52の出力から取っているが、こ
れはインクリメンタ51の出力を直接入力してもよい。
Note that in the fifth embodiment, the microaddress input to the address selection unit 7 is also taken from the output of the mask generation unit 52 as well as the input to the first microstack, but this is done by directly inputting the output of the incrementer 51. You may.

発明の詳細 な説明したように、本発明によれば、特別なハードウェ
アを追加することなく、解読した機械語命令の実行を一
時的に取り消して後続する機械語命令を実行し、後続命
令の実行終了後に取り消した命令の実行を開始すること
が容易にできる。
As described in detail, according to the present invention, the execution of a decoded machine language instruction is temporarily canceled and the subsequent machine language instruction is executed, without adding any special hardware, and the subsequent machine language instruction is executed. It is possible to easily start executing a canceled instruction after the execution is completed.

複雑な構造体変数のアクセスに仔効な多段間接モードを
使用する場合の、後続する複数の命令で指定されるメモ
リ読出しを繰り返し実行して最終的なメモリアドレスが
確定してから先行命令で指定される演算を実行するとい
う処理が、通常のマイクロプログラム制御方式で使用さ
れるマイクロスタックの機構を用いて実現することがで
き、その実用的効果は大きい。
When using the multi-stage indirect mode, which is effective for accessing complex structure variables, the final memory address is determined by repeatedly executing memory reads specified by multiple subsequent instructions, and then specified by the preceding instruction. The process of executing the calculations performed can be realized using the microstack mechanism used in a normal microprogram control system, and its practical effects are great.

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

第1図は本発明における第1の実施例のマイクロ制御装
置の構成図、第2図は従来のマイクロ制御装置の構成図
、第3図は従来のマイクロ制御装置の動作説明図、第4
図は従来のマイクロ制御装置の動作説明図、第5図は本
発明における第1の実施例のマイクロ制御装置の動作説
明図、第6図は本発明における第2の実施例のマイクロ
制御装置の構成図、第7図は本発明における第3の実施
例のマイクロ制御装置のマイクロ命令出力部の構成図、
第8図は本発明における第4の実施例のマイクロ制御装
置のマイクロ命令出力部の構成図、第9図は本発明にお
ける第5の実施例の加算部の構成図である。 1・・・命令レジスタ、2・・・命令デコーダ、3・・
・マイクロ命令出力部、4・・・第2レジスタ、5・・
・インクリメンタ、6・・・第1マイクロスタック、7
・・・アドレス選択部、8・・・第2レジスタ、9・・
・付加情報修飾部、10・・・第2マイクロスタック、
11・・・付加情報選択部、12・・・第3レジスタ、
13・・・第1セレクタ、14・・・第2セレクタ。 代理人の氏名 弁理士 粟野重孝 はか1名1 図 凛  9  「で 第 図 嘉 図 456 ロ 第 図 錫 口 弔 ビ[
FIG. 1 is a block diagram of a microcontroller according to a first embodiment of the present invention, FIG. 2 is a block diagram of a conventional microcontroller, FIG. 3 is an explanatory diagram of the operation of a conventional microcontroller, and FIG.
5 is an explanatory diagram of the operation of a conventional microcontroller, FIG. 5 is an explanatory diagram of the operation of the microcontroller according to the first embodiment of the present invention, and FIG. 6 is an explanatory diagram of the microcontroller according to the second embodiment of the present invention. FIG. 7 is a configuration diagram of a microinstruction output section of a microcontroller according to a third embodiment of the present invention;
FIG. 8 is a block diagram of a microinstruction output section of a microcontroller according to a fourth embodiment of the present invention, and FIG. 9 is a block diagram of an adder section of a fifth embodiment of the present invention. 1...Instruction register, 2...Instruction decoder, 3...
・Microinstruction output section, 4...Second register, 5...
・Incrementer, 6...first micro stack, 7
... Address selection section, 8... Second register, 9...
・Additional information modification section, 10... second micro stack,
11... Additional information selection section, 12... Third register,
13...first selector, 14...second selector. Name of agent Patent attorney Shigetaka Awano Haka 1 person 1 Zurin 9

Claims (4)

【特許請求の範囲】[Claims] (1)後続命令を実行した後でないと実行できない命令
の場合に退避が指示され、それ以外の場合には退避が指
示されない退避信号とマイクロ命令の読出しアドレスを
入力とし前記退避信号が退避を指示する場合は特定のマ
イクロ命令を出力しそれ以外の場合は前記マイクロ命令
読出しアドレスに記憶しているマイクロ命令を出力する
マイクロ命令出力部と、前記マイクロ命令読出しアドレ
スを保持する第1レジスタと、前記第1レジスタの出力
するマイクロアドレスを入力して+1加算して出力する
インクリメンタと、前記第1レジスタの出力するマイク
ロアドレスと前記インクリメンタの出力するマイクロア
ドレスを入力とし前記退避信号が退避を指示する場合は
前記第1レジスタの出力するマイクロアドレスを出力し
それ以外の場合は前記インクリメンタの出力するマイク
ロアドレスを出力する第1セレクタと、前記第1セレク
タの出力するマイクロアドレスを入力とし前記退避信号
が退避を指示するかまたは前記マイクロ命令出力部の出
力するマイクロ命令が退避命令の場合は前記第1セレク
タの出力するマイクロアドレスをスタック形式の記憶領
域に書き込んで保存し前記マイクロ命令が復帰命令の場
合は最後に保存したマイクロアドレスを読み出して出力
する第1マイクロスタックと、機械語命令を実行するマ
イクロプログラムの開始アドレスと前記インクリメンタ
の出力するマイクロアドレスと前記第1マイクロスタッ
クの出力するマイクロアドレスとこれらのアドレスの一
部分を修飾するマイクロアドレス修飾情報を入力とし前
記第1レジスタが次に保持するマイクロアドレスを出力
するアドレス選択部と、マイクロ命令を実行するために
必要な情報(以後、付加情報と呼ぶ)を保持する第2レ
ジスタと、前記第2レジスタの出力する付加情報を入力
して次のマイクロ命令実行に必要な形に修飾して出力す
る付加情報修飾部と、前記第2レジスタの出力する付加
情報と前記付加情報修飾部の出力する付加情報を入力と
し前記退避信号が退避を指示する場合は前記第2レジス
タの出力する付加情報を出力しそれ以外の場合は前記付
加情報修飾部の出力する付加情報を出力する第2セレク
タと、前記第2セレクタの出力する付加情報を入力とし
前記退避信号が退避を指示するかまたは前記マイクロ命
令出力部の出力するマイクロ命令が退避命令の場合は前
記第2セレクタの出力する付加情報をスタック形式の記
憶領域に書き込んで保存し前記マイクロ命令が復帰命令
の場合は最後に保存した付加情報を読み出して出力する
第2マイクロスタックと、機械語命令を解読して得られ
る付加情報の初期値と前記付加情報修飾部の出力する付
加情報と前記第2マイクロスタックの出力する付加情報
を入力とし前記第2レジスタが次に保持する付加情報を
出力する付加情報選択部とを備えたことを特徴とするマ
イクロ制御装置。
(1) Saving is instructed in the case of an instruction that can only be executed after executing a subsequent instruction, and saving is not instructed in other cases.Input the save signal and the read address of the microinstruction, and the save signal instructs saving. a microinstruction output section that outputs a specific microinstruction when the microinstruction is to be read, and outputs the microinstruction stored in the microinstruction read address in other cases; a first register that holds the microinstruction readout address; an incrementer that inputs the microaddress output from the first register, adds +1 to it, and outputs the result; and an incrementer that inputs the microaddress outputted from the first register and the microaddress outputted from the incrementer, and the evacuation signal instructs evacuation. If the micro address is output from the first register, the first selector outputs the micro address output from the first register; otherwise, the first selector outputs the micro address output from the incrementer. If the signal instructs evacuation or the microinstruction outputted by the microinstruction output section is an evacuation instruction, the microaddress outputted by the first selector is written and saved in a stack-format storage area, and the microinstruction is used as a return instruction. In the case of , the first micro stack reads and outputs the last saved micro address, the start address of the micro program that executes the machine language instruction, the micro address output by the incrementer, and the micro stack output by the first micro stack. an address selection section that receives addresses and microaddress modification information that modifies parts of these addresses and outputs the next microaddress held by the first register; an additional information modification unit that inputs the additional information output from the second register, modifies it in a form necessary for the execution of the next microinstruction, and outputs it; and the second register. The additional information output by the second register and the additional information output by the additional information modification unit are input, and if the save signal instructs saving, the additional information output by the second register is output, and otherwise, the additional information is modified. a second selector that outputs additional information outputted by the microinstruction unit; and a second selector that receives the additional information outputted from the second selector, and receives the additional information outputted by the second selector, and the save signal instructs saving or the microinstruction outputted by the microinstruction output unit is a save instruction. If the microinstruction is a return instruction, the additional information output from the second selector is written and saved in a stack-format storage area, and if the microinstruction is a return instruction, the second microstack reads and outputs the additional information saved last; The initial value of the additional information obtained by decoding the instruction, the additional information output by the additional information modification unit, and the additional information output by the second micro stack are input, and the second register outputs the additional information held next. 1. A microcontroller comprising: an additional information selection unit that selects additional information.
(2)インクリメンタと第1セレクタを、第1レジスタ
の出力するマイクロアドレスを入力とし退避情報が退避
を指示する場合は前記マイクロアドレスをそのまま出力
しそれ以外の場合は前記マイクロアドレスを+1加算し
て出力する1/0加算部を用いて構成した請求項1記載
のマイクロ制御装置。
(2) Input the microaddress output from the first register into the incrementer and first selector, and if the save information instructs saving, output the microaddress as is; otherwise, add +1 to the microaddress. 2. The microcontroller according to claim 1, further comprising a 1/0 adder that outputs a 1/0 adder.
(3)マイクロ命令出力部を、第1レジスタの出力する
マイクロアドレスを入力とし前記マイクロアドレスに記
憶しているマイクロ命令を出力する制御メモリと、前記
制御メモリの出力するマイクロ命令を入力とし退避信号
が退避を指示する場合は特定のマイクロ命令を生成して
出力しそれ以外の場合は前記制御メモリの出力するマイ
クロ命令をそのまま出力するマイクロ命令生成部とを用
いて構成した請求項1記載のマイクロ制御装置。
(3) The microinstruction output section is connected to a control memory that receives the microaddress output from the first register as an input and outputs the microinstruction stored in the microaddress, and a control memory that receives the microinstruction output from the control memory as an input and outputs a save signal. 2. The micro-instruction generator according to claim 1, further comprising: a micro-instruction generating section that generates and outputs a specific micro-instruction when the control memory instructs saving, and otherwise outputs the micro-instruction outputted from the control memory as it is. Control device.
(4)マイクロ命令出力部を、第1レジスタの出力する
マイクロアドレスを入力とし退避信号が退避を指示する
場合は特定のマイクロアドレスを生成して出力しそれ以
外の場合は前記第1レジスタの出力するマイクロアドレ
スをそのまま出力するアドレス生成部と、前記アドレス
生成部の出力するマイクロアドレスに記憶しているマイ
クロ命令を出力する制御メモリとを用いて構成した請求
項1記載のマイクロ制御装置。
(4) The micro-instruction output section is input with the micro-address output from the first register, and when the save signal instructs saving, it generates and outputs a specific micro-address; otherwise, it outputs the micro-address from the first register. 2. The microcontroller according to claim 1, wherein the microcontroller is configured using an address generation section that outputs the microaddress as it is, and a control memory that outputs the microinstruction stored in the microaddress outputted by the address generation section.
JP63302901A 1988-11-30 1988-11-30 Micro controller Expired - Lifetime JPH0682321B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63302901A JPH0682321B2 (en) 1988-11-30 1988-11-30 Micro controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63302901A JPH0682321B2 (en) 1988-11-30 1988-11-30 Micro controller

Publications (2)

Publication Number Publication Date
JPH02148221A true JPH02148221A (en) 1990-06-07
JPH0682321B2 JPH0682321B2 (en) 1994-10-19

Family

ID=17914471

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63302901A Expired - Lifetime JPH0682321B2 (en) 1988-11-30 1988-11-30 Micro controller

Country Status (1)

Country Link
JP (1) JPH0682321B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7287150B2 (en) 2002-07-05 2007-10-23 Fujitsu Limited Processor and instruction control method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7287150B2 (en) 2002-07-05 2007-10-23 Fujitsu Limited Processor and instruction control method

Also Published As

Publication number Publication date
JPH0682321B2 (en) 1994-10-19

Similar Documents

Publication Publication Date Title
CA1176757A (en) Data processing system for parallel processings
JP2571757B2 (en) Signal processing device and use of the device
JPS6239780B2 (en)
JPH06332792A (en) Data processor, data reading control circuit thereof and data writing control circuit
JPS62197830A (en) Data processing system
JPH0248931B2 (en)
JP3237858B2 (en) Arithmetic unit
US5390306A (en) Pipeline processing system and microprocessor using the system
US8200943B2 (en) Microprocessor
JP2000284964A (en) Efficient sub-instruction emulation in a VLIW processor
JPH0682321B2 (en) Micro controller
JPS58200349A (en) Microprogram controller
JPH05298088A (en) Microcomputer
JP2743947B2 (en) Micro program control method
JPS6220032A (en) Information processor
JPH05265746A (en) Microprocessor
JPH0452986B2 (en)
JP2583614B2 (en) Vector arithmetic unit
JPS6375833A (en) Information processor
JPH05250156A (en) RISC processor
JPS6149695B2 (en)
JPH0221331A (en) Program control system for microcomputer
JPS6028014B2 (en) microprocessor
JPH036735A (en) Data processor
JPH08297583A (en) Interrupt handling apparatus and method thereof