JPH01166220A - Microprogram controller - Google Patents
Microprogram controllerInfo
- Publication number
- JPH01166220A JPH01166220A JP62326055A JP32605587A JPH01166220A JP H01166220 A JPH01166220 A JP H01166220A JP 62326055 A JP62326055 A JP 62326055A JP 32605587 A JP32605587 A JP 32605587A JP H01166220 A JPH01166220 A JP H01166220A
- Authority
- JP
- Japan
- Prior art keywords
- address
- execution
- microinstruction
- subroutine
- processing
- 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
Links
- 238000000034 method Methods 0.000 claims abstract description 31
- 238000012545 processing Methods 0.000 claims abstract description 31
- 230000001143 conditioned effect Effects 0.000 abstract 1
- 238000007796 conventional method Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
Landscapes
- Executing Machine-Instructions (AREA)
Abstract
Description
【発明の詳細な説明】
反度豆ヱ
本発明はマイクロプログラム制御装置に関し、特にマイ
クロプログラムにおけるサブルーチンの戻りアドレスの
作成に関する。DETAILED DESCRIPTION OF THE INVENTION The present invention relates to a microprogram control device, and more particularly to creating a return address for a subroutine in a microprogram.
藍水盈韮
従来、マイクロプログラム制御装置においては、複数の
事象に対する夫々の処理において共通処理を含む場合に
は、その共通処理の部分をサブルーチン化し、このサブ
ルーチンを夫々の処理において呼出して使用する方法、
あるいはメインルーチンを共用化して処理の興なる部分
のみ予め条件フリップフロップにセットされた値を判定
して条件分岐を行い、この条件分岐により異なる処理を
行う方法が一般に採用されている。Traditionally, in microprogram control devices, when processing for multiple events includes common processing, the common processing is made into a subroutine, and this subroutine is called and used in each processing. ,
Alternatively, a method is generally adopted in which the main routine is shared and only the relevant part of the process performs a conditional branch by determining the value set in a conditional flip-flop, and the conditional branch performs a different process.
すなわち、第3図に示すように1条件分岐して条件分岐
先で夫々共通処理を行ってから異なる処理を行う方法と
、第4図に示すように、共通処理を行ってから条件分岐
により異なる処理を行う方法とがある。In other words, as shown in Figure 3, there is a method in which one condition is branched and a common process is performed at each conditional branch destination, and then different processes are performed.As shown in Figure 4, a common process is performed and then different processes are performed depending on the conditional branch. There are several methods for processing.
第3図に示すような方法では、内部あるいは外部の状態
をマイクロプログラムにより読込み、共通処理を行った
後にその読込んだ状態を判定し、条件に応じて異なる処
理に分岐させる場合には、その読込んだ状態を条件フリ
ップフロップにセットし、条件フリップフロップにセッ
トされた内容を判定して分岐を行う(第3図ステップ3
0〜32)。In the method shown in Figure 3, the internal or external state is read by a microprogram, the read state is determined after common processing is performed, and when branching to a different process depending on the condition, the The read state is set in the conditional flip-flop, the content set in the conditional flip-flop is judged, and branching is performed (Step 3 in Figure 3).
0-32).
条件フリップフロップにセットされた内容がA〜Cのと
きには夫々他の処理(第3図ステップ33.37.41
)を行った後に、共通処理のための同一サブルーチンを
コールして(第3図ステップ34,38,4.2>共通
処理のための同一サブルーチンを実行した後に(第3図
ステップ35゜39.43)、夫々異なる処理を行い(
第3図ステップ36,40.44)、条件フリップフロ
ップにセットされた内容がDのときには共通処理のため
の同一サブルーチンをコールして(第3図ステップ45
)共通処理のための同一サブルーチンを実行した後に(
第3図ステップ46)、異なる処理を行っている(第3
図ステップ47)。When the contents set in the conditional flip-flops are A to C, other processing is performed (Steps 33, 37, and 41 in Figure 3).
), the same subroutine for common processing is called (steps 34, 38, 4.2 in FIG. 3), and after executing the same subroutine for common processing (steps 35 to 39 in FIG. 3). 43) and perform different processing for each (
Steps 36, 40 and 44 in Figure 3), and when the content set in the conditional flip-flop is D, the same subroutine for common processing is called (Step 45 in Figure 3).
) After executing the same subroutine for common processing (
(Step 46 in Figure 3), different processing is being performed (Step 46 in Figure 3).
Figure step 47).
また、第4図に示すような方法では、内部あるいは外部
の状態をマイクロプログラムにより読込み、共通処理を
行った後にその読込んだ状態を判定し、条件に応じて異
なる処理に分岐させる場合には、その読込んだ状態を条
件フリップフロップにセットしく第4図ステップ50)
、共通処理を行ってから(第4図ステップ51)、条件
フリップフロップにセットされた内容を判定して分岐を
行い(第4図ステップ52.53)、条件フリップフロ
ップにセットされた内容A〜Dに応じて夫々異なる処理
を行っている(第4図ステップ54〜57)。In addition, in the method shown in Figure 4, the internal or external state is read by a microprogram, the read state is judged after common processing is performed, and when branching to a different process depending on the condition, , set the read state to the conditional flip-flop (step 50 in Figure 4).
, after performing common processing (step 51 in FIG. 4), determines the contents set in the conditional flip-flop and branches (steps 52 and 53 in FIG. 4), and then determines the contents set in the conditional flip-flops A to A. Different processes are performed depending on D (steps 54 to 57 in FIG. 4).
このとき、条件フリップフロップにセットされた内容(
条件判定の元となる読込み値)は共通処理が終了するま
でホールドされている。At this time, the contents set in the conditional flip-flop (
The read value (which is the basis for condition determination) is held until the common processing is completed.
このような従来の条件分岐の方法では、条件分岐してか
ら条件分岐先で夫々共通処理を行って異なる処理を行う
場合には、条件分岐後に同一サブルーチンをコールする
ためのマイクロプログラムのステップを条件分岐先夫々
に設けなければならないので、マイクロプログラムのス
テップ数が増大し、性能的にも直ちにサブルーチンを実
行できないという欠点がある。In conventional conditional branching methods like this, when a conditional branch is executed and a common process is performed at each conditional branch destination to perform different processing, the microprogram step to call the same subroutine after the conditional branch is set as a condition. Since it must be provided at each branch destination, the number of steps in the microprogram increases, and there is a drawback in terms of performance that the subroutine cannot be executed immediately.
また、共通処理を行ってから条件分岐により異なる処理
を行う場合には、共通処理実行中に条件フリップフロッ
プにセットされた内容(条件判定のための読込み値)を
ホールドしておかなければならないという制約がある。In addition, when performing a common process and then performing a different process by conditional branching, it is necessary to hold the contents set in the conditional flip-flop (the read value for condition judgment) while the common process is being executed. There are restrictions.
及匪立亘工
本発明は上記のような従来のものの欠点を除去すべくな
されたもので、共通処理実行中に条件判定のための読込
み値をホールドすることなく、サブルーチンからの復帰
後直ちに予め設定された条件に応じて異なる処理を実行
することができるマイクロプログラム制御装置の提供を
目的とする。SUMMARY OF THE INVENTION The present invention has been made in order to eliminate the drawbacks of the conventional methods as described above.The present invention has been made in order to eliminate the drawbacks of the conventional methods as described above. The object of the present invention is to provide a microprogram control device that can execute different processes depending on the specified conditions.
発明の構成
本発明によるマイクロプログラム制御装置は、共通部分
を含む複数のマイクロプログラムを実行し、かつ前記共
通部分以外の処理を前記複数のマイクロプログラム夫々
に付与された条件選択情報に応じて実行するマイクロプ
ログラム制御装置であって、前記共通部分の処理の実行
を指示するマイクロ命令のアドレスに予め定められた定
数を加算する加算手段と、前記加算手段の加算結果と前
記条件選択情報に対応して予め設定された条件値とによ
り前記共通部分の処理実行後の戻りアドレスを生成する
生成手段とを有することを特徴とする。Structure of the Invention A microprogram control device according to the present invention executes a plurality of microprograms including a common part, and executes processing other than the common part according to condition selection information given to each of the plurality of microprograms. A microprogram control device, comprising an addition means for adding a predetermined constant to an address of a microinstruction that instructs execution of processing of the common part, and an addition means corresponding to the addition result of the addition means and the condition selection information. The present invention is characterized by comprising a generating means for generating a return address after execution of the processing of the common portion based on a preset condition value.
艮1重
次に、本発明の一実施例について図面を参照して説明す
る。艮1 Next, one embodiment of the present invention will be described with reference to the drawings.
第1図は本発明の一実施例の構成を示すブロック図であ
る9図において、本発明の一実施例によるマイクロプロ
グラム制御装置は、制御用記憶装置1と、マイクロ命令
読出しレジスタ2と、順序制御回路3と、選択器4.8
と、マイクロ命令アドレスレジスタ5と、アドレス加算
器6と、戻りアドレスレジスタ7とにより構成されてい
る。FIG. 1 is a block diagram showing the configuration of an embodiment of the present invention. In FIG. Control circuit 3 and selector 4.8
, a microinstruction address register 5 , an address adder 6 , and a return address register 7 .
マイクロ命令レジスタ2に格納されるマイクロ命令は条
件選択フィールド21と、順序制御フィールド22と、
演算およ′びその他の制御フィールド23と、次実行ア
ドレスフィールド24とを含んで構成されている。The microinstruction stored in the microinstruction register 2 has a condition selection field 21, an order control field 22,
It is configured to include an operation and other control field 23 and a next execution address field 24.
順序制御回路3はマイクロ命令レジスタ2に格納された
マイクロ命令の順序制御フィールド22の内容にしたが
って次実行アドレスの制御を行うため、条件選択フィー
ルド21の内容により選択される図示せぬ条件フリップ
フロップからの条件値9が1ビツトかまたは2ビツトか
によりr2゜または「4」を定数値としてアドレス加算
器6に出力する。The order control circuit 3 controls the next execution address according to the contents of the order control field 22 of the microinstruction stored in the microinstruction register 2, so that the sequence control circuit 3 controls the next execution address from a condition flip-flop (not shown) selected according to the contents of the condition selection field 21. Depending on whether the condition value 9 is 1 bit or 2 bits, r2° or "4" is output to the address adder 6 as a constant value.
選択器4は通常の分岐命令ではマイクロ命令レジスタ2
に格納されたマイクロ命令の次実行アドレスフィールド
24の次実行アドレスを選択し、サブルーチン中のリタ
ーン命令実行時には戻りアドレスレジスタ7に格納され
た戻りアドレスを選択する。Selector 4 is microinstruction register 2 for normal branch instructions.
The next execution address in the next execution address field 24 of the microinstruction stored in the subroutine is selected, and the return address stored in the return address register 7 is selected when a return instruction is executed in a subroutine.
マイクロ命令アドレスレジスタ5は選択器4からのマイ
クロ命令アドレス(次実行アドレスまたは戻りアドレス
)を格納し、このマイクロ命令アドレスを制御用記憶装
置1とアドレス加算器6とに出力する。The microinstruction address register 5 stores the microinstruction address (next execution address or return address) from the selector 4 and outputs this microinstruction address to the control storage device 1 and the address adder 6.
アドレス加算器6はマイクロ命令アドレスレジスタ5か
らのマイクロ命令アドレスに順序制御回路3からの定数
値を加算して戻りアドレスレジスタ7に出力する。Address adder 6 adds the constant value from sequence control circuit 3 to the microinstruction address from microinstruction address register 5 and outputs the result to return address register 7.
選択器8はマイクロ命令レジスタ12に格納されたマイ
クロ命令の条件選択フィールド21の内容に応じて条件
フリップフロップからの条件値9の中から1つを選択し
て戻りアドレスレジスタ7に出力する。The selector 8 selects one of the condition values 9 from the condition flip-flop according to the contents of the condition selection field 21 of the microinstruction stored in the microinstruction register 12 and outputs it to the return address register 7.
尚、第1図はマイクロプログラム制御に必要な機能を全
て図示したものではなく、従来のマイクロプログラム制
御装置で用いられている条件分岐や、通常のサブルーチ
ンコールで実行中のマイクロ命令アドレスに1を加算し
た内容を戻りアドレスレジスタ7にセットする機能など
は省略しである。Note that Figure 1 does not illustrate all the functions necessary for microprogram control, and may include conditional branching used in conventional microprogram control devices, or setting 1 to the address of a microinstruction being executed in a normal subroutine call. The function of setting the added contents in the return address register 7 is omitted.
第2図は本発明の一実施例の動作を説明するためのマイ
クロプログラムのフローチャートである。FIG. 2 is a flowchart of a microprogram for explaining the operation of one embodiment of the present invention.
図においては、外部からの信号を読込んで(第2図ステ
ップ10)、共通処理を実行した後に(第2図ステップ
11〜13)、読込んだ外部からの信号のうちの2ビツ
トの状fiA〜Dにより4つの異なる処理を行うマイク
ロプログラムを示している。In the figure, after reading an external signal (step 10 in FIG. 2) and executing common processing (steps 11 to 13 in FIG. 2), the state fiA of 2 bits of the read external signal is ~D shows a microprogram that performs four different processes.
これら第1図と第2図とを用いて本発明の一実施例の動
作について説明する。The operation of one embodiment of the present invention will be explained using FIG. 1 and FIG. 2.
まず、100番地では外部信号を条件フリップフロッグ
にセットするマイクロ命令を発行して101番地に進む
(第2図ステップ10)。ここで、条件フリップフロッ
プへのセット命令は、マイクロ命令読出しレジスタ2に
格納されたマイクロ命令の演算およびその他の制御フィ
ールド23により指示される。First, at address 100, a microinstruction is issued to set an external signal to the conditional flip-flop, and the process proceeds to address 101 (step 10 in FIG. 2). Here, the set instruction to the conditional flip-flop is instructed by the operation and other control field 23 of the microinstruction stored in the microinstruction read register 2.
次の101番地では条件フリップフロッグにセットされ
た条件値9のうち2ビツトを指定し、条件付きリターン
アドレスセット命令(RAR旺■)とサブルーチン“s
ua s”を読出すサブルーチンコール命令(CへLL
5t18 S)とが記述されている(第2図ステップ
11)。At the next address 101, 2 bits of the condition value 9 set in the conditional flip-flop are specified, and a conditional return address set instruction (RAR option) and subroutine "s" are specified.
Subroutine call instruction to read ua s” (LL to C
5t18S) is described (step 11 in FIG. 2).
条件付きリターンアドレスセット命令は順序制御フィー
ルド22によって指示され、マイクロ命令アドレスレジ
スタ5に格納されたマイクロ命令アドレスと順序制御回
路3からの定数値としての「4」とがアドレス加算器6
によって加算され[101+4 =105 (011
01001″)]、その加加算器が戻りアドレスレジス
タ7に出力される。The conditional return address set instruction is specified by the order control field 22, and the microinstruction address stored in the microinstruction address register 5 and "4" as a constant value from the order control circuit 3 are added to the address adder 6.
[101+4 = 105 (011
01001″)], the adder is output to the return address register 7.
一方、条件選択フィールド21の内容にしたがって選択
器8で選択された条件フリップフロップからの2ビツト
の条件値9[“00′、“01”。On the other hand, the 2-bit condition value 9 from the condition flip-flop selected by the selector 8 according to the contents of the condition selection field 21 [“00′, “01”.
“io” 、 “11″のうちいずれか]が戻りアド
レスレジスタ7の下位2ビツトにセットされる。また、
戻りアドレスレジスタ7の上位ビットにはアドレス加算
器6からの出力のうち下位2ビツトを除いた値[“01
1010” ]がセセラされ、結果的には選択器8で選
択された条件フリップフロップからの2ビツトの条件値
により104番地〜107番地のうち[“011010
00″、 ”01101001″、“01101010
”。“io” or “11”] is set in the lower two bits of the return address register 7. Also,
The upper bits of the return address register 7 contain the value of the output from the address adder 6 excluding the lower 2 bits [“01
1010"] is selected, and as a result, the 2-bit condition value from the condition flip-flop selected by the selector 8 results in selecting ["011010" among addresses 104 to 107.
00", "01101001", "01101010
”.
”01101011’”のうち]いずれかのアドレスが
戻りアドレスレジスタ7にセントされる(第2図ステッ
プ12)。Any address among "01101011'" is sent to the return address register 7 (step 12 in FIG. 2).
サブルーチンコール命令によりサブルーチンの先頭アド
レスが次実行アドレスフィールド24によって指示され
、選択器4で選択されてマイクロ命令アドレスレジスタ
5から制御用記憶装置1に供給されることによりこのサ
ブルーチンが実行される(第2図ステップ13)。By the subroutine call instruction, the start address of the subroutine is specified by the next execution address field 24, selected by the selector 4, and supplied from the microinstruction address register 5 to the control storage device 1, so that this subroutine is executed (the subroutine is executed). Figure 2 Step 13).
サブルーチンの終了時にリターン命令が順序制御フィー
ルド22により指示されると、選択器4では戻りアドレ
スレジスタ7からの出力が選択されて104番地〜10
7番地のアドレスのうちいずれかのマイクロ命令処理ス
テップ、すなわち共通処理°の実行後の異なる処理が状
態A〜Dにしたがって実行開始される(第2図ステップ
14〜17)。When a return instruction is specified by the order control field 22 at the end of the subroutine, the output from the return address register 7 is selected by the selector 4 and addresses 104 to 10 are selected.
After the execution of the microinstruction processing step of any one of the microinstruction processing steps at the address No. 7, that is, the common process °, execution is started according to states A to D (steps 14 to 17 in FIG. 2).
このように、マイクロ命令アドレスレジスタ5に格納さ
れたサブルーチンコール命令のアドレス100番地に、
選択器8で選択された条件フリップ70ツブからの条件
fM9のビット数に応じた定数値(「2」または「4」
)をアドレス加算器6で加算し、この加算結果と選択器
8で選択された条件フリップフロップからの条件fi!
!9とによりサブルーチン実行後の戻りアドレスを設定
することにより、共通処理実行中に条件フリツプフロツ
プの内容(条件判定のための読込み値)のホールドを行
うことなく、サブルーチンからの復帰後、すなわちリタ
ーン命令の指示により直ちに共通処理実行後の異なる処
理を状態A〜Dにしたがって実行することができる。In this way, at address 100 of the subroutine call instruction stored in the microinstruction address register 5,
A constant value (“2” or “4”) corresponding to the number of bits of condition fM9 from condition flip 70 selected by selector 8.
) is added by the address adder 6, and this addition result is combined with the condition fi! from the condition flip-flop selected by the selector 8.
! By setting the return address after subroutine execution using 9 and 9, the contents of the conditional flip-flop (read value for condition judgment) are not held during common processing, and the return address can be set after returning from the subroutine, that is, when the return instruction is executed. Upon instruction, different processes can be executed immediately after the common process according to states A to D.
1肌Ω左り
以上説明したように本発明によれば、複数のマイクロプ
ログラムに含まれる共通部分の処理の実行を指示するマ
イクロ命令のアドレスに予め定められた定数を加算し、
その加算結果と複数のマイクロプログラム夫々に付与さ
れた条件選択情報に対応して予め設定された条件値とに
より、この共通部分の処理実行後の戻りアドレスを生成
するようにすることによって、共通部分の処理実行中に
条件判定のための読込み値をホールドすることなく、サ
ブルーチンからの復帰後直ちに予め設定された条件に応
じて異なる処理を実行することができるという効果があ
る。As described above, according to the present invention, a predetermined constant is added to the address of a microinstruction that instructs the execution of processing of a common part included in a plurality of microprograms,
By generating the return address after executing the processing of the common part using the addition result and the condition value set in advance corresponding to the condition selection information given to each of the plurality of microprograms, the common part This has the advantage that different processes can be executed in accordance with preset conditions immediately after returning from the subroutine without holding read values for condition determination during execution of the process.
第1図は本発明の一実施例の構成を示すブロック図、第
2図は本発明の一実施例の動作を説明するためのマイク
ロプログラムのフローチャート、第3図と第4図とは従
来例のマイクロプログラムのフローチャートである。
主要部分の符号の説明
1・・・・・・制御用記憶装置
2・・・・・・マイクロ命令読出しレジスタ3・・・・
・・順序制御回路
4.8・・・・・・選択器
5・・・・・・マイクロ命令アドレスレジスタ6・・・
・・・加算器
7・・・・・・戻りアドレスレジスタ
9・・・・・・条件値
21・・・・・・条件選択フィールド
22・・・・・・順序制御フィールドFIG. 1 is a block diagram showing the configuration of an embodiment of the present invention, FIG. 2 is a flowchart of a microprogram for explaining the operation of an embodiment of the present invention, and FIGS. 3 and 4 are conventional examples. 2 is a flowchart of a microprogram. Explanation of symbols of main parts 1... Control storage device 2... Micro instruction read register 3...
... Sequence control circuit 4.8 ... Selector 5 ... Microinstruction address register 6 ...
... Adder 7 ... Return address register 9 ... Condition value 21 ... Condition selection field 22 ... Order control field
Claims (1)
つ前記共通部分以外の処理を前記複数のマイクロプログ
ラム夫々に付与された条件選択情報に応じて実行するマ
イクロプログラム制御装置であって、前記共通部分の処
理の実行を指示するマイクロ命令のアドレスに予め定め
られた定数を加算する加算手段と、前記加算手段の加算
結果と前記条件選択情報に対応して予め設定された条件
値とにより前記共通部分の処理実行後の戻りアドレスを
生成する生成手段とを有することを特徴とするマイクロ
プログラム制御装置。A microprogram control device that executes a plurality of microprograms including a common part and executes processing other than the common part according to condition selection information given to each of the plurality of microprograms, an addition means for adding a predetermined constant to the address of a microinstruction that instructs execution of a process, and a condition value set in advance corresponding to the addition result of the addition means and the condition selection information to determine the common part. A microprogram control device comprising: generating means for generating a return address after execution of a process.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP62326055A JPH01166220A (en) | 1987-12-23 | 1987-12-23 | Microprogram controller |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP62326055A JPH01166220A (en) | 1987-12-23 | 1987-12-23 | Microprogram controller |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH01166220A true JPH01166220A (en) | 1989-06-30 |
Family
ID=18183602
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP62326055A Pending JPH01166220A (en) | 1987-12-23 | 1987-12-23 | Microprogram controller |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH01166220A (en) |
-
1987
- 1987-12-23 JP JP62326055A patent/JPH01166220A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH04245324A (en) | Arithmetic unit | |
JPH01166220A (en) | Microprogram controller | |
JPS63142431A (en) | Pipeline control system | |
JPS6378231A (en) | Partial program combining system | |
JPH03288228A (en) | Information processor | |
JPS61282946A (en) | Programmable controller | |
KR910003014B1 (en) | Arithmetic logic unit processing apparatus | |
JPH04251331A (en) | Information processor | |
JPS6232500B2 (en) | ||
JPH0527911A (en) | Command executing order deciding method for disk device | |
JPH05181671A (en) | Emulation system for software instruction | |
JPS60110043A (en) | Information processor | |
JPS58214930A (en) | Data processor | |
JP2541940B2 (en) | Micro program controller | |
JPH07104996A (en) | Microprogram controller | |
JPS6113258B2 (en) | ||
JPS60237536A (en) | Microprogram control data processor | |
JPS6015969B2 (en) | Microinstruction address generation method | |
JPH01140232A (en) | Microprogram control system | |
JPH05233379A (en) | Execution history storage device | |
JPH0146889B2 (en) | ||
JPH01224838A (en) | Register selection controlling system | |
JPH0399338A (en) | Microprocessor | |
JPS63229526A (en) | Information processor | |
JPH04358227A (en) | Microprocessor |