JPS62109133A - Microprogram controller - Google Patents
Microprogram controllerInfo
- Publication number
- JPS62109133A JPS62109133A JP25005585A JP25005585A JPS62109133A JP S62109133 A JPS62109133 A JP S62109133A JP 25005585 A JP25005585 A JP 25005585A JP 25005585 A JP25005585 A JP 25005585A JP S62109133 A JPS62109133 A JP S62109133A
- Authority
- JP
- Japan
- Prior art keywords
- state
- microinstruction
- selection
- branch
- conditional branch
- 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
Links
- 238000012546 transfer Methods 0.000 abstract description 7
- 238000010586 diagram Methods 0.000 description 9
- 238000012545 processing Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 5
- 230000010365 information processing Effects 0.000 description 5
- 238000000034 method Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 235000015278 beef Nutrition 0.000 description 1
- 239000013256 coordination polymer Substances 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Abstract
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は、マイクロプログラム制御方式を採用した情報
処理装置におけるマイクロプログラムの分岐制御に関す
る。DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to microprogram branch control in an information processing device that employs a microprogram control method.
従来プログラム番カウンタを用いたマイクロプログラム
制御方式を採用した情報処理装置では、制御の流れ(シ
ーケンス)を変更するために、分岐マイクロ命令と呼ば
ねるPFXmのマイクロ命令を実行することで行なって
いる。分岐マイクロ命令は、プログラム番カウンタの現
在の内容の全部あるいは一部を、分岐マイクロ命令がオ
ペランドとして有する分岐先アドレス・フィールドの内
容で置き換えることによって実現し2ている。Conventionally, in an information processing apparatus employing a microprogram control method using a program number counter, the control flow (sequence) is changed by executing a PFXm microinstruction called a branch microinstruction. A branch microinstruction is implemented by replacing all or part of the current contents of a program number counter with the contents of a branch destination address field that the branch microinstruction has as an operand.
この時、分岐マイクロ命令の他のオペランドとして条件
フィールドを持つものけ、条件側き分岐マイクロ命令と
呼ばれ、指定された条件と”14%処理装置内の現在の
状態が一致している場合にのみ分岐動作を行なうもので
ある。At this time, a branch microinstruction that has a condition field as another operand is called a conditional branch microinstruction. Only branch operations are performed.
第4図は、従来のマイクロプログラム<1ilp装置の
構成を示す図である。マイクロ命令レジスタ403には
マイクロ会プログラム・カウンタ401の内容で指定さ
れるマイクロ命令を格納しているマイクロ命令メモl)
402の内容がラッチされる。FIG. 4 is a diagram showing the configuration of a conventional microprogram<1ilp device. The microinstruction register 403 is a microinstruction memory storing microinstructions specified by the contents of the microinstruction program counter 401.
The contents of 402 are latched.
マイクロ命令デコーダ404でマイクロ命令レジスタ4
03にラッチされているマイクロ命令が条件付き分岐マ
イクロ命令であることが検知されると、検出信号CBR
ANCHが発行される。Microinstruction register 4 in microinstruction decoder 404
When it is detected that the microinstruction latched in 03 is a conditional branch microinstruction, the detection signal CBR
ANCH is issued.
この従来例では条件付き分岐マイクロ命令は、第5図f
a)に示すフォーマットを有しており、C0NDはチェ
ックする条件を指定する長さCビットの条件フィールド
、ADR8はアドレス制御に関する情報を含む長さCビ
ットのアドレス・フィールドである。条件セレクタ40
5は、情報処理装置内で発行されている2△C種類の状
態信号STATE(m)(mはO〜2△C)の中から条
件フィールドC0NDの内容nで指定される状態信号5
TATE(n)を選択する。分岐信号発生回路406は
、検出信号CBR,ANCHが発行された時、条件セレ
クタ405で選択された状態信号5TATE(n)が真
であれば分岐制御信号BRANCHを発行する。In this conventional example, the conditional branch microinstruction is as shown in FIG.
It has the format shown in a), where C0ND is a condition field of length C bits specifying the condition to be checked, and ADR8 is an address field of length C bits containing information regarding address control. Condition selector 40
5 is the state signal 5 specified by the content n of the condition field C0ND from among the 2△C types of state signals STATE(m) (m is O to 2△C) issued within the information processing device.
Select TATE(n). The branch signal generation circuit 406 issues a branch control signal BRANCH if the state signal 5TATE(n) selected by the condition selector 405 is true when the detection signals CBR, ANCH are issued.
マイクロ−プログラム・カウンタ401は、通常マイク
ロ命令の実行が終了すると内容が1インクリメントされ
るが、分岐制御信号BRANCHが発行されると、下位
Cビットがアドレス・フィールドADR8の内容 に置
き換えられる。The contents of micro-program counter 401 are normally incremented by one when execution of a microinstruction is completed, but when branch control signal BRANCH is issued, the lower C bits are replaced by the contents of address field ADR8.
すなわち、マイクロ・プログラム・カウンタ401の現
在の内容がMである時、分岐制御信号BRANCHが偽
であればマイクロ命令レジスタ403に格納されている
マイクロ命分の実行の終了時にM+1に更新されるが、
分岐制御信号BRANCHが真であればマイクロ命令の
実行の終了時にir+t(M/2△a−%2△a)+
になり分岐動作が行なわれる( intは、最も近い整
数をとる関数)。That is, when the current content of the micro program counter 401 is M, if the branch control signal BRANCH is false, it will be updated to M+1 at the end of the execution of the micro instruction stored in the micro instruction register 403. ,
If the branch control signal BRANCH is true, ir+t(M/2△a-%2△a)+
(int is a function that takes the nearest integer).
分岐マイクロ命令の性能の一つとしては制御できるアド
レスの範囲が、マイクロプログラムを記述するのに十分
大きいことが挙げられる。すなわち、前記の従来例にお
いてアドレス・フィールドADR8のビット幅aが大き
いことを意味する。One of the performance characteristics of branch microinstructions is that the range of addresses that can be controlled is large enough to write microprograms. That is, in the conventional example described above, the bit width a of the address field ADR8 is large.
また他の性能として条件句き分肢マイクロ命令では、よ
り多くの条件がチェックできることが要求される。この
ことは、条件フィールドC0NDのビット幅Cが大きい
ことを意味する。In addition, as for other performance, conditional branch microinstructions require the ability to check more conditions. This means that the bit width C of the condition field C0ND is large.
ところで、一つのマイクロ命令の長さが固定であるマイ
クロ命令では、アドレス・フィールドADR8と条件フ
ィールドC0NDの長さを加えたもの(a+c )は、
たかがそのマイクロ命令の語長を趙えることはできない
。したがって、実際の条件付き分岐マイクロ命令ではア
ドレス制御範囲あるいは検査条件の数のいずれかが制限
を受けることになる。By the way, in a microinstruction where the length of one microinstruction is fixed, the sum of the lengths of the address field ADR8 and the condition field C0ND (a+c) is:
You just can't change the word length of the microinstruction. Therefore, in actual conditional branch microinstructions, either the address control range or the number of test conditions is limited.
第5図(b)および(clに、前記従来例で用いられた
条件側き分岐マイクロ命令以外の条件付き分岐マイクロ
命令のフォーマットを示す。FIGS. 5(b) and 5(cl) show the format of a conditional branch microinstruction other than the conditional branch microinstruction used in the conventional example.
特に、複雑な機能を実現しなければならないマイクロプ
ログラムでは、プログラムの大きさが増すため、必然的
にアドレス制御範囲が広くなり、制限は検査条件の数が
受けることになる。前述のように、固定された長さCビ
ットの条件フィールドC0NDを持つ条件付き分岐マイ
クロ命令では、検査し得る条件の数ば2△Cに限定され
る。検査される条件の中には、度々参照されるものもめ
るし、全体のマイクロプログラムの中でただ一回しか参
照されないものもある。これら参照の頻度の異なる条件
を、均一に1/2△Cを与えることは、はなはだ無駄で
ある。In particular, in microprograms that must implement complex functions, as the size of the program increases, the address control range inevitably becomes wider, and the number of test conditions is limited. As mentioned above, a conditional branch microinstruction with a condition field C0ND of fixed length C bits is limited to the number of conditions that can be tested, no more than 2ΔC. Some of the conditions to be checked are frequently referenced, while others are referenced only once in the entire microprogram. It would be extremely wasteful to uniformly give 1/2ΔC to these conditions with different reference frequencies.
以上の状況にあって、選択される条件は、全体の条件の
うち必要最小限すなわちマイクロプログラム全体にとっ
て最大公約数となることが必要とされる。例えば、二進
数の大小関係を情報処理装置の状態をプログラムに検知
せしめるプロセッサ・ステータス・ワード(以下PSW
と呼ぶ)中のフラグによって判断することを考える。P
SW内には演算に関して符号フラグ(以下8Eと呼ぶ)
、ゼロ・フラグ(以下ZFと呼ぶ)、オーバ・7゜−・
フラグ(以下OFと呼ぶ)およびキャリ・フラグ(以下
C,Fと呼ぶ)の各フラグがあり、各フラグは減算命令
の演算の結果、次のように変化するものとする。Under the above circumstances, the selected condition needs to be the minimum necessary of all the conditions, that is, the greatest common divisor for the entire microprogram. For example, the Processor Status Word (PSW) allows a program to detect the status of an information processing device based on the magnitude relationship of binary numbers.
Let's consider making a decision based on the flag inside (called ). P
There is a sign flag (hereinafter referred to as 8E) regarding the operation in the SW.
, zero flag (hereinafter referred to as ZF), over 7°-.
It is assumed that there are flags (hereinafter referred to as OF) and carry flags (hereinafter referred to as C and F), and each flag changes as follows as a result of the operation of the subtraction instruction.
・SF・・・・・・演算結果の最大有意ビット(符号ビ
ット)の内容
・ZF・・・・・・演算結果がゼロならばセット、ゼロ
でなけねばクリアされる
・OF・・・・・・演ブ時、最大有意ビットへ桁あふれ
(キャリ)が生じた時、あるいは最
大有意ビットから借り(ボロウ)が
生じればセット、そうでなければク
リアされる
・CF・・・・・・演算時、最大有意ビットから桁あふ
れ(キャリ)が生じた時、または最
大有意ビットへ借り(ポロウ)が生
じればセット、そうでなければクリ
アされる。・SF・・・・・・Contents of the maximum significant bit (sign bit) of the operation result ・ZF・・・・・・Set if the operation result is zero, cleared if it is not zero ・OF・・・・・・・Set when an overflow (carry) occurs to the maximum significant bit or a borrow from the maximum significant bit during performance, otherwise it is cleared ・CF・・・・・・operation It is set when an overflow (carry) occurs from the most significant bit, or a borrow (pollow) occurs from the most significant bit; otherwise, it is cleared.
減算によって変化した上記の演算関連フラグの値によっ
て、二つの二進数の大小関係を知ることができるが、二
進数が符号付きであるか符号なしの二進数であるかによ
ってフラグの持つ意味が異なる。The magnitude relationship between two binary numbers can be determined by the value of the above operation-related flag that changes due to subtraction, but the meaning of the flag differs depending on whether the binary number is signed or unsigned. .
すなわち、二つの符号付き二進数の大小関係には、以下
の種類がある(英字は略称、またカッコ内は記号による
記述であるl
より大きい・・・・・・・・・・・・・・・・・・・・
・・・・・・・・・・GT(>)より大版い、あるいは
等しい・・・・・・GE(≧)等しい・・・・・・・・
・−・・・・・・・・・・・・・・・・・・・・・・・
・・・EQ(=)より小さい、あるいは等しい・・・・
・・LP、(≦)より小さい・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・LT(<)等し
くない・・・・・・・・・・・・・・・・・・・・・・
・・・・・・・・NE(〆)また二つの符号なし二進数
の大小関係には、同様に以下の種類がある(英字は略称
、またカッコ内は記号による記述である)。In other words, there are the following types of magnitude relationships between two signed binary numbers (letters are abbreviations, and numbers in parentheses are symbolic descriptions.・・・・・・
...... Greater than or equal to GT (>) ... GE (≧) equal ...
・-・・・・・・・・・・・・・・・・・・・・・・・・
...Less than or equal to EQ (=)...
・Less than LP, (≦)・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・LT(<)Not equal・・・・・・・・・・・・・・・・・・・・・
・・・・・・・・・NE (〆) There are also the following types of magnitude relationships between two unsigned binary numbers (alphabetic characters are abbreviations, and symbols in parentheses are descriptions).
より大きい・・・・・・・・・・・・・・・・・・・・
・・・・・・・・・・A(〉)より大きい、あるいは等
しい・・・・・・AE(≧)等しい・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・・・・・・
・・E Q、 (= ’)より小さい、あるいは等しい
・・・・・・BE(≦)より小さい・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・・B(〈)
等しくない・・・・・・・・・・・・・・・・・・・・
・・・・・・・・・・NE(7’)さらに、SF 、Z
F 、OF 、CFの各フラグに対してチェック可能で
あることを加えると、上記の関係は、PSW中のフラグ
次の条件を満たす時に成立する。Bigger・・・・・・・・・・・・・・・・・・
・・・・・・・・・Greater than or equal to A(〉)・・・・・・Equal to AE(≧)・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・・・・・
...Less than or equal to E Q, (=')...Less than BE (≦)...
・・・・・・・・・・・・・・・・・・・・・B(〈)
Not equal・・・・・・・・・・・・・・・・・・
・・・・・・・・・NE(7') Furthermore, SF, Z
Adding that the flags F, OF, and CF can be checked, the above relationship is established when the flags in PSW satisfy the following conditions.
0T−−−−・・((SF eor OF )or
ZP )=OGE−・・−(SF eor O
F )=0EQ・・・・・・ZF=1
LE・・−・−((SF eor 0F)or
ZF’)=ILT−=・ (SP eor 0)F
=1NE・・・・・・zp=。0T------...((SF eor OF )or
ZP )=OGE-...-(SF eor O
F)=0EQ...ZF=1 LE...--((SF eor 0F)or
ZF')=ILT-=・(SP eor 0)F
=1NE...zp=.
A−−−−−・−・−(CP or ZF)=OA
E・・・・・・cp=。A-----・--(CP or ZF)=OA
E...cp=.
B E −・−−−−(CF o r ZF )=
1B・・・・・・・・・CF = 1
P・・・・・・・・・S F=O
M・・・・・・・・・S F’ = 1NO・・・・・
・OF二〇
0・・・・・・・・・0F=1
上記のように符号付き二進数および符号なし二進数の大
小関係をすべてチェックするしこば、少なくとも14種
類の条件が選択可能であることが要求される。また選択
した条件に対してさらに真偽の選択が可能であれば、選
択の種類は8に減少することができる。BE −・−−−(CF or ZF )=
1B・・・・・・CF=1 P・・・・・・S F=O M・・・・・・S F'=1NO・・・・・・
・OF200・・・・・・・・・0F=1 As mentioned above, when checking all the magnitude relationships of signed binary numbers and unsigned binary numbers, at least 14 types of conditions can be selected. something is required. Furthermore, if it is possible to further select true or false for the selected condition, the number of selection types can be reduced to eight.
ここでチェックされている条件の最大公約数には、S
F 、 Z F” 、 OF 、 CFの4 %i類の
フラグ条件がなる。仮に、これだけの条件に関する条件
付き分岐マイクロ命令のみで上記のすべての状態をチェ
ックすると、状態の種類によっては複数の分岐マイクロ
命令を用いなければチェックできないことになり、実行
時間が異常に長くなったり、条件によって実行時間がア
ンバランスなものになってしまう。The greatest common divisor of the conditions checked here includes S
There are 4% i-class flag conditions: F, Z F'', OF, and CF.If all of the above states were checked using only conditional branch microinstructions related to these conditions, multiple branches may occur depending on the type of state. This cannot be checked without the use of microinstructions, resulting in an abnormally long execution time or unbalanced execution time depending on the conditions.
一般に、プログラム・カウンタを有したマイクロプログ
ラム制御方式においては、分岐マイクロ命令を実行し、
た場合、シーケンシャルにプログラムが流れた場合に比
べ、実行時間を余計に消費するため、分岐マイクロ命令
が頻繁に実行するとマイクロプログラムの実行効率が著
しく低下する原註となる。Generally, in a microprogram control system with a program counter, a branch microinstruction is executed,
In this case, more execution time is consumed compared to when the program flows sequentially, so if branch microinstructions are executed frequently, the execution efficiency of the microprogram will drop significantly.
例えば、GTをチェックし、より大きい場合PROCG
Tへ、より大きくない場合(こはPROCNGTへ分岐
する処理を考えると以下のようになる。ここでif文は
条件付き分岐マイクロ命令を、goto文は分岐マイク
ロ命令を記述するものである。また、分岐が牛じない2
合名命令けT基本すイクルで実行可畦であるが、分岐が
生じた場合2T基本サイクルで実行することにする。For example, check GT and if greater than PROCG
If it is not larger than T (this is as follows if we consider the process of branching to PROCNGT.Here, the if statement describes a conditional branch microinstruction, and the goto statement describes a branching microinstruction. , the branch is not beef 2
The joint instruction can be executed in T basic cycles, but if a branch occurs, it will be executed in 2T basic cycles.
if ZF=1 then goto P几0CNG
T;if 5F=l then goto TEMP
;if oF=o tllen goto PROC
−NGT;goto PROC−NGT;
TENIP:
if op=1then goto PROC−GT;
PROCNGT:
上記の例の場合、マイクロ命令メモリを5ワード消ド消
費し、さらにSF 、ZFおよびOF状態によっては、
2Tサイクルから5Tサイクルの範囲を有した実行時間
を費やすことになる。if ZF=1 then goto P几0CNG
T;if 5F=l then goto TEMP
;if oF=o tllen goto PROC
-NGT; goto PROC-NGT; TENIP: if op=1then goto PROC-GT;
PROCNGT: In the above example, it consumes 5 words of microinstruction memory, and depending on the SF, ZF and OF states,
It will take an execution time ranging from 2T cycles to 5T cycles.
以上のように、複数の初雑な状態をチェックするために
は、複数の選択条件を要するか、あるいは複数のマイク
ロ命令を用いることにより長い実行時間を必要とする。As described above, in order to check a plurality of complicated conditions, a plurality of selection conditions are required, or a plurality of microinstructions are used, thereby requiring a long execution time.
本発明は、前記従来例の欠点に鑑がみ、頻繁に使用しな
いが複数の組合せの存在する状態を検知するのに、短い
条件フィールドでしかも実行時間の速い条件付き分岐マ
イクロ命令を提供することにある。In view of the drawbacks of the conventional example, the present invention provides a conditional branch microinstruction with a short condition field and fast execution time for detecting a state in which multiple combinations exist although they are not used frequently. It is in.
本発明は、複数の状態により取り得るすべての組合せの
中から、マイクロプログラムが必要とする組合せのみを
前もって発生しておく手段、マイクロ命令の実行によっ
て値を設定できるラッチ、前記ラッチの内容に従って前
記組合せを発生する手段によって発生された複数の組合
せの一つを選択する手段から構成されることを特徴とす
る。The present invention provides means for generating in advance only the combinations required by a microprogram from among all possible combinations of a plurality of states, a latch whose value can be set by executing a microinstruction, and a latch whose value can be set according to the contents of the latch. It is characterized by comprising means for selecting one of the plurality of combinations generated by the means for generating combinations.
本発明は、基本となる状態により必要な組合せ状態を前
もって発生しておき、選択すべき条件を指定するラッチ
に指定条件を設定することで、組合せ状態にのうちから
、ただ一つの条件を選択し、選択された条件を条件付き
分岐マイクロ命令によってチェックすることにより、チ
ェックすべき条条の種類にかかわらず、条件付き分岐マ
イクロ命令が必要とする条件を一つにするものである。The present invention generates necessary combination states in advance based on basic states, and selects only one condition from among the combination states by setting specified conditions in latches that specify the conditions to be selected. However, by checking the selected condition with a conditional branch microinstruction, the conditions required by the conditional branch microinstruction are unified, regardless of the type of clause to be checked.
r実施例〕
以下図面を参照して本発明の構成および動作を詳細に説
明する。Embodiment] The configuration and operation of the present invention will be described in detail below with reference to the drawings.
第1図は、本発明の一実施例を示す図である。FIG. 1 is a diagram showing an embodiment of the present invention.
状態発生回路111は、pswの演算に関連した一yう
f8F 、ZF 、CF 、OFを入力し、表1に示す
ように二つの符号付き二進数1dとISおよび符号なし
二進数UdとUsの減算結果により大小関係およびSF
、ZF、CF、OF自身の内容および反転状態信号GO
〜G15を発生する組合せ回路である。#態選択ラッチ
110は、データ・バス100の下位4ビツトをストロ
ーブ信号5TROBEによってラッチする4ビツトのラ
ッチである。また状態セレクタ112は、状態発生回路
111&ζよって発生された16種類の状態信号Go、
G15の中から、状態選択ラッチ110の内容によって
表2に示す状態信号SELを選択出力するマルチプレク
サである。The state generation circuit 111 inputs the values f8F, ZF, CF, and OF related to the calculation of psw, and generates two signed binary numbers 1d and IS and unsigned binary numbers Ud and Us as shown in Table 1. The magnitude relationship and SF are determined by the subtraction result.
, ZF, CF, the contents of OF itself and the inverted state signal GO
This is a combinational circuit that generates ~G15. # state selection latch 110 is a 4-bit latch that latches the lower 4 bits of data bus 100 in response to strobe signal 5TROBE. The state selector 112 also receives 16 types of state signals Go, which are generated by the state generation circuit 111&ζ.
This is a multiplexer that selects and outputs the status signal SEL shown in Table 2 from among the status signals SEL G15 according to the contents of the status selection latch 110.
まず、データ・バス100を用いて情報処理装置内のデ
ータ転送を制御するマイクロ命令(以下、この種のマイ
クロ命令を転送マイクロ命令と呼ぶ)のデスティネーシ
ョン・レジスタ資源として条件選択ラッチ110が選択
されるとストローブ信号5TROBBが発生し、データ
・バスの下位4ビツトの内容nが条件選択ラッチにラッ
チされる。状態発生回路111ば、状態選択ラッチ11
0への転送動作と無関係に常に入力されるSF 、 Z
F 。First, the condition selection latch 110 is selected as a destination register resource for a microinstruction (hereinafter, this type of microinstruction is referred to as a transfer microinstruction) that controls data transfer within an information processing device using the data bus 100. Then, a strobe signal 5TROBB is generated, and the contents n of the lower 4 bits of the data bus are latched into the condition selection latch. State generation circuit 111, state selection latch 11
SF, Z, which is always input regardless of the transfer operation to 0
F.
CFおよびOFの内容によって16種類の状態信号Go
−015を同時に発生する。状態セレクタ112は状態
選択ラッチ110に格納されている4ビツト・データn
をデコードし、16種類の状態信号C)Q〜G15のう
ち、デコード条件を満足した状態信号Onを選択状態信
号SELとして出力する。状態セレクタ112によって
発生された選択状態信号SELは、条件付き分岐マイク
ロ命令ノー条件として、条件セレクタ105の一人力S
TATEmに接続される。条件付き分岐マイクロ命令の
条件フィールドC0NDの内容がmとすると、選択状態
信号8T’ATEmすなわち選択状態信号SELがチェ
ックされる。There are 16 types of status signals Go depending on the contents of CF and OF.
-015 is generated at the same time. The state selector 112 selects the 4-bit data n stored in the state selection latch 110.
Among the 16 types of state signals C)Q to G15, the state signal On that satisfies the decoding conditions is output as the selected state signal SEL. The selected state signal SEL generated by state selector 112 is used as a conditional branch microinstruction no condition to
Connected to TATEm. When the content of the condition field C0ND of the conditional branch microinstruction is m, the selection state signal 8T'ATEm, that is, the selection state signal SEL is checked.
次に、動作例を示す。演算マイクロ命令によって二つの
符号付き二進数A(OO12h)およびB(0034h
)に対して減算を行なうと、演算結果に応じて演算関連
フラグ8F 、ZF 、CFやよびOFが下記のように
変化する。Next, an example of operation will be shown. Two signed binary numbers A (OO12h) and B (0034h) are generated by the arithmetic microinstruction.
), the calculation-related flags 8F, ZF, CF, and OF change as shown below depending on the calculation result.
二進数人 二進数B 減算後のフラグ状態0012 0
034 8F=1.ZF=O,CF=1,0F=1上記
のフラグ関係は、演算結果がより小さいことを示してい
る。今、結果がより大きいかったかどうかをチェックす
る必要があれば、まず転送マイクロ金的によって12(
1100b)を状態選択ラッチ111ζ転送する。状態
発生回路111は、SF、ZP、CFおよびOFに応じ
て16種類の状態を表3に示すように発生させる。Binary number person Binary number B Flag state after subtraction 0012 0
034 8F=1. ZF=O, CF=1, 0F=1 The above flag relationship indicates that the calculation result is smaller. Now, if you need to check whether the result was greater than 12 (
1100b) is transferred to the state selection latch 111ζ. The state generating circuit 111 generates 16 types of states as shown in Table 3 according to SF, ZP, CF, and OF.
状態セレクタ112は状態選択ラッチ110によって、
選択状態信号SELとして状態G1を選択する。この場
合、より大であることを示す状態信号G1は”1′であ
るため、選択状態信号SELも°0°となる。選択状態
信号SELが“1′であることは、指定された条件が状
態を満足していることを、また選択状態信号SELが1
01であることは、指定された条件が状態を勇足しない
ことを示すため、条件付き分岐マイクロ命令の条件フィ
ールドC0NDがmとなると、条件は満足されていない
ことになるため、分岐制御信号BR,ANCHは発行さ
れず、分岐動作は行なわれないでプログラム・カウンタ
は、条件付き分岐マイクロ命令の格納された次のアドレ
スM+1へと進む。The state selector 112 is configured by the state selection latch 110 to
State G1 is selected as the selection state signal SEL. In this case, since the state signal G1 indicating that the value is larger is "1", the selected state signal SEL is also 0°.The fact that the selected state signal SEL is "1" means that the specified condition is met. It is also confirmed that the selection state signal SEL is 1.
01 indicates that the specified condition does not satisfy the state, so if the condition field C0ND of the conditional branch microinstruction becomes m, it means that the condition is not satisfied, so the branch control signal BR, ANCH is not issued and no branch operation is performed and the program counter advances to the next address M+1 where the conditional branch microinstruction is stored.
また、結果が等しくなかったことをナエックする必要が
あれば、転送マイクロ命令によって5(0101b)を
状態選択ラッチ110に転送する。Further, if it is necessary to confirm that the results are not equal, 5 (0101b) is transferred to the state selection latch 110 by a transfer microinstruction.
結果が等しくないことを示す状態信号G5はこの場合1
11となるので、選択条件信号SELも+ 11となる
。条件付き分岐マイクロ命令の条件フィールドC0ND
がmとなると、条件が満足されているので分岐制御信号
BRANCHが発生し、条件付き分岐マイクロ命令のア
ドレス・フィールドADR8の内容Xがプログラム・カ
ウンタ101の下位aピットにロードされ、マイクロプ
ログラムの制御は、アドレスN(N=int(M/2A
a黄2Aa)+x)に移動する。The status signal G5 indicating that the results are not equal is 1 in this case.
11, so the selection condition signal SEL also becomes +11. Conditional branch microinstruction condition field C0ND
When becomes m, the condition is satisfied, so the branch control signal BRANCH is generated, and the contents is the address N (N=int(M/2A
Move to ayellow2Aa)+x).
このように本発明によって、異なる条件をただ一種類の
条件付き分岐マイクロ命令でチェック可能である。Thus, the present invention allows different conditions to be checked with just one type of conditional branch microinstruction.
第2図は、本発明を用いてアーキテクチャ上ユーザに見
える条件付き分岐命令(この種類の命令をマイクロ命令
と区別するためにマクロ命令と呼ぶ)の処理を実現した
一実施例である。第2図において、マクロ命令コードを
フェッチし、解読(デコード)する処理ユニット(デコ
ード・ユニット>201とマイクロプログラムの実行に
よって実際にマクロ命令全実行する処理するユニット(
実行ユニッl−)205との間にはコミニュケーンヨン
ーレジスタ203を介してユニット間の通信を行なうこ
とが可能になっている。FIG. 2 shows an embodiment in which the present invention is used to realize processing of a conditional branch instruction (this type of instruction is called a macro instruction to distinguish it from a micro instruction) that is architecturally visible to the user. In FIG. 2, there are a processing unit (decode unit > 201) that fetches and decodes the macro instruction code, and a processing unit that actually executes all macro instructions by executing the microprogram (201).
It is possible to communicate with the execution unit 205 via a communication register 203.
コミニュケーション−レジスタ203U主IC1実行ユ
ニット205で必要なデコード情報をデコード・ユニノ
)201から伝えるためしご用いられる0
条件付き分岐マクロ命令は、第6図ンご示すような命令
フォーマットを持っている。ここでOPは命令コード、
CONは条件フィールド、LOWは分岐先の下位アドレ
ス、HI()Hは分岐先の上位アドレスを意味する。条
件付き分岐マクロ命令をデコード・ユニット201がフ
エッチシ、デコードすると、コミニュケーション・レジ
スタ203には条件付き分岐マクロ命令の命令をデコー
ドした結果得られる4ビツトの条件フィールドCONの
内容2がラッチされる。状態セレクタ112の選択信号
すなわち状態選択ランチ110の出力と状態信号GO〜
G15の選択関係を、条件付き分岐マクロ命令の条件フ
ィールドと一致させておけば、条件付き分岐マクロ命令
のためのマイクロプログラムは、条件別にそれぞれ用意
する必要はなく、条件付き分岐マクロ命令全体でただ一
つ用意しておけば事足りる。Communication register 203U The conditional branch macro instruction used in the main IC1 execution unit 205 to convey necessary decode information from the decode unit 201 has an instruction format as shown in FIG. Here OP is the instruction code,
CON means the condition field, LOW means the lower address of the branch destination, and HI()H means the higher address of the branch destination. When the decode unit 201 fetches and decodes the conditional branch macro instruction, the communication register 203 latches the contents 2 of the 4-bit condition field CON obtained as a result of decoding the conditional branch macro instruction. The selection signal of the state selector 112, that is, the output of the state selection lunch 110 and the state signal GO~
If the selection relationship of G15 is matched with the condition field of the conditional branch macro instruction, there is no need to prepare a microprogram for each conditional branch macro instruction, and the entire conditional branch macro instruction can simply be prepared. Having one ready is enough.
すなわち、実行ユニソトセ05における条件付き分岐マ
クロ命令のための処理は、以下のとおりである。That is, the processing for a conditional branch macro instruction in the execution unit 05 is as follows.
■転送マイクロ命令によりコミニュケーション・レジス
タ203の内容を状態選択ラッチ203に転送する。(2) Transfer the contents of the communication register 203 to the state selection latch 203 by a transfer microinstruction.
■条件フィールドC0NDの内容がnである条件付き分
岐マイクロ命令によって、選択状態信号5TATEnを
チェックする。(2) Check the selection state signal 5TATEn by a conditional branch microinstruction whose condition field C0ND contains n.
■選択状態信号SELが111ならば分岐が生じ、マク
ロ命令も実際に分岐動作を必要とするので、分岐処理ル
ーチンへ制御を移す。(2) If the selection state signal SEL is 111, a branch occurs, and since the macro instruction actually requires a branch operation, control is transferred to the branch processing routine.
■選択状態信号SELが111ならば分岐は生じないで
、マクロ命令も実際に分岐動作を行なわないので、条件
付きマクロ分岐命令に対応すル実行ユニット205にお
ける処理を終了する。(2) If the selection state signal SEL is 111, no branch occurs and the macro instruction does not actually perform a branch operation, so the processing in the execution unit 205 corresponding to the conditional macro branch instruction ends.
従来の処理では、指定条件毎に複数のステップで構成さ
れる■および■(■′、■“、■“′・・・・・・およ
び■′、■“、■“′・・・・・・)を必要とした。本
発明を用いれば、条件の数(本実施例では16)によら
ず、マイクロプログラムの種類はただ一つで良いし、条
件の内容によらず条件を満足しているかどうかの判断に
要するマイクロプログラムの差がないことは明らかであ
る。Conventional processing consists of multiple steps for each specified condition.・) was required. By using the present invention, regardless of the number of conditions (16 in this embodiment), only one type of microprogram is required, and regardless of the content of the conditions, the microprogram required to determine whether the conditions are satisfied or not is sufficient. It is clear that there is no difference between the programs.
次に、本発明の別の一実施例を説明する。第3図は、前
記本発明の第一の実施例において状態発生回路111と
状態セレクタ112を一体化して構成を簡略化した不発
明の実施例の構成を示す図である。この実施U]におい
ては、psw中の演算関連フラグSF、ZF’、CF、
OB”および・状態選択ラッチ110の出力はともに選
択条件発生回路600に接続され、遂択灸件発生回路6
00からは直接選択条件信号S E Lが生成されてい
る。Next, another embodiment of the present invention will be described. FIG. 3 is a diagram showing the configuration of a non-inventive embodiment in which the state generating circuit 111 and the state selector 112 are integrated in the first embodiment of the present invention to simplify the structure. In this implementation U], the operation-related flags SF, ZF', CF,
OB" and the outputs of the state selection latch 110 are both connected to the selection condition generation circuit 600, and the outputs of the state selection latch 110 are connected to the selection condition generation circuit 600.
A direct selection condition signal S E L is generated from 00.
選択条件発生回路600は表4に示すような論理を有す
る組合せ論理回路となっている。表4に示した組合せ論
理は積項数18の論理積からのみ構成される論理に対し
て全体の論理和を取ったものである。このような組合せ
論理回路は、組合せ論理回路の実装技術として良く知ら
れているPLA(プログラマブル・ロジック−アレイ)
を用いて実現可能でおる。PLAi用いることで回路構
成は非常に単純化し、巣積回路化した場合も回路の配備
(レイアウト)が簡単になり、設計効果が向上する。The selection condition generation circuit 600 is a combinational logic circuit having the logic shown in Table 4. The combinatorial logic shown in Table 4 is obtained by calculating the logical OR of the entire logic composed only of logical products having 18 product terms. Such combinational logic circuits are implemented using PLA (Programmable Logic Array), which is a well-known implementation technology for combinational logic circuits.
This can be realized using . The use of PLAi greatly simplifies the circuit configuration, and even in the case of stacked circuits, the circuit arrangement (layout) is simplified and the design effectiveness is improved.
以上説明してきたように、本発明を用いることで参照頻
度の異なる多くの組合せ状態を判断する条件付き分岐マ
イクロ命令において、条件フィールドの量を増加きせず
にしかも検査する状態の種類によらず高速に処理させる
ことが可能になる。As explained above, by using the present invention, conditional branch microinstructions that judge many combinational states with different reference frequencies can be used at high speeds without increasing the amount of condition fields and regardless of the type of state being tested. This makes it possible to process
またマイクロプログラムの共通化が可能であるため、マ
イクロプログラムを格納する記憶装置の容量削減を図る
ことができる。さらにPLA技術を用いることで回路構
成を単純化することが可能である。Furthermore, since microprograms can be shared, it is possible to reduce the capacity of a storage device that stores microprograms. Furthermore, by using PLA technology, it is possible to simplify the circuit configuration.
出力信号 論 理
□ コメ
ントGo (not(SF)+0F)4(SF+
noL(OF))+not(ZF) Id)IsGl
(not(8F)+0F)−%(SF+no
t(OF)) Id≧工3G 2
ZF
Id=Is、Ud=tIsG 3 SF’
%not (OF )+ not(SF)+OF+ZP
Id≦X$G 4 SF+
not(OF”)+noj (SF)−1+OF
Id<l5G5 not(
ZF)
Id〆Is、Ud〆hG 6 not (C
F )% not (ZF )
Ud)Us07 not(CF)
[Jd
≧U30RCF+ZF
Ud≦rJsG9 CF
Ud<Us出力信号 論 理
GIOOF
G 11 not(OF)
G12 5F
G13 not(SF)
G14 0
0000 Gll Of)
00001 GIOGl 。Output signal Logic □ Comment Go (not (SF) + 0F) 4 (SF +
noL(OF))+not(ZF) Id)IsGl
(not (8F)+0F)-%(SF+no
t(OF)) Id≧Eng 3G 2
ZF
Id=Is, Ud=tIsG 3 SF'
%not (OF)+not(SF)+OF+ZP
Id≦X$G 4 SF+
not(OF")+noj(SF)-1+OF
Id<l5G5 not(
ZF)
Id〆Is, Ud〆hG 6 not (C
F)% not (ZF)
Ud) Us07 not (CF)
[Jd
≧U30RCF+ZF
Ud≦rJsG9 CF
Ud<Us output signal logic GIOOF G 11 not (OF) G12 5F G13 not (SF) G14 0 0000 Gll Of)
00001 GIOGl.
0010 G9 G2
00011 07 G3
00100 02 G4
00101 G5 ()
5 10110 08
G6 00111 06
G7 01000 G12
G8 11001 G13
G9 11010 G14
GIO11011G15
Gll 01100 01
G12 11101 04
G13 01110 Go
()14 01111 o3
G15 1表 2
表 3(nnnn−()OOOb〕
and OF or〔nnnn−0001bl an
d not(OF) or(nnnn=OX10b)
and CF or(nnnn−()O1lb″’)
and not(CF) or(nnnn−01X
Ob)and ZF or〔nnnn−(1101b
〕and not(ZF) or(nnnn=0111
b’l and not(CF) and not(
ZF) or〔nnnn=1000b1 and
SF〔nnnn=1001bl and not(S
F) or(nnnn=1010b’l and
0Cnnnn”1011b1 and 1[nnnn
=11XOb]and SF and not (OF
) or〔nnnn=11XObl and not
(SF) and OF or[nnnn=1110b
] and ZF or(nnnn=1101b〕a
nd not(SF) and not(OF) or
15(nnnn=1101b’l and
SF and 0FCnnnn”l111b] a
nd not(SF) and not(ZF) an
d not(OF) or(nnnn=1111b〕a
nd SF and not(ZF) and CF表
40010 G9 G2
00011 07 G3
00100 02 G4
00101 G5 ()
5 10110 08
G6 00111 06
G7 01000 G12
G8 11001 G13
G9 11010 G14
GIO11011G15
Gll 01100 01
G12 11101 04
G13 01110 Go
()14 01111 o3
G15 1 table 2
Table 3 (nnnn-()OOOb)
and OF or [nnnn-0001bl an
d not (OF) or (nnnn=OX10b)
and CF or(nnnn-()O1lb″')
and not (CF) or (nnnn-01X
Ob) and ZF or [nnnn-(1101b
]and not(ZF) or(nnnn=0111
b'l and not(CF) and not(
ZF) or [nnnn=1000b1 and
SF [nnnn=1001bl and not (S
F) or(nnnn=1010b'l and
0Cnnnn”1011b1 and 1[nnnn
=11XOb] and SF and not (OF
) or [nnnn=11XObl and not
(SF) and OF or[nnnn=1110b
] and ZF or (nnnn=1101b] a
nd not(SF) and not(OF) or
15 (nnnn=1101b'l and
SF and 0FCnnnn”l111b] a
nd not(SF) and not(ZF) an
d not(OF) or(nnnn=1111b]a
nd SF and not (ZF) and CF table 4
第1図は本発明の一実施例を示すブロック図、第2図は
本発明の別の実施例を示す図、第3図は構成を簡略化し
た本発明の一実施例を示す図、第4図は従来のマイクロ
プログラム制御装置を示すブロック図、第5図は条件付
き分岐マイクロ命令のフォーマット図、第6図は条件付
き分岐マイクロ命令のフォーマット図である。
100・・・・・・データ・パス、101・・・・・・
マイクロ・プログラムΦカウンタ、102・・・・・・
マイクロ命令メモリ、103・・・・・・マイクロ命令
レジスタ、104・・・・・・マイクロ命令デコーダ、
105・・・・・・条件セレクタ、106・・・・・・
分岐信号発生回路、110・・・・・・状態選択ラッチ
、111・・・・・・状態発生回路、112・・・・・
・状態セレクタ、20工・・・・・・デコード・ユニツ
)、202・・・・・・データ会バス、203・・・・
・・コミニュケーション・ラッチ、204・・・・・・
データ・バス、205・・・・・・実行ユニット、40
1・・・・・・マイクロ・プログラム・カウンタ、40
2・・・・・・マイクロ命令メモリ、403・・・・・
・マイクロ命令レジメタ、404・・・・・・マイクロ
命令デコーダ、405・・・・・・条件セレクタ、40
6・・・・・・分岐信号発生回路、600・・・・・・
選択状態発生回路。
代理人 弁胛士 内 原 晋
81 図
第3図 ・
@4区(従来7ダDFIG. 1 is a block diagram showing one embodiment of the invention, FIG. 2 is a diagram showing another embodiment of the invention, FIG. 3 is a diagram showing an embodiment of the invention with a simplified configuration, and FIG. FIG. 4 is a block diagram showing a conventional microprogram control device, FIG. 5 is a format diagram of a conditional branch microinstruction, and FIG. 6 is a format diagram of a conditional branch microinstruction. 100...Data path, 101...
Micro program Φ counter, 102...
Microinstruction memory, 103...Microinstruction register, 104...Microinstruction decoder,
105... Condition selector, 106...
Branch signal generation circuit, 110...state selection latch, 111...state generation circuit, 112...
・Status selector, 20 units...decode unit), 202...data meeting bus, 203...
...Communication latch, 204...
Data bus, 205... Execution unit, 40
1...Micro program counter, 40
2...Micro instruction memory, 403...
- Microinstruction register, 404...Microinstruction decoder, 405...Condition selector, 40
6...Branch signal generation circuit, 600...
Selection state generation circuit. Agent Susumu Uchihara 81 Figure 3 ・@4 Ward (previously 7 da D
Claims (1)
イクロプログラムが必要とする組合せのみを前もって発
生しておく手段、マイクロ命令の実行によって値を設定
できるラッチ、前記ラッチの内容に従って前記組合せを
発生する手段によって発生された複数の組合せの一つを
選択する手段とを含み、前記選択手段によって選択され
た組合せ状態を用いて、条件付き分岐動作の条件判定を
行なうことを特徴とするマイクロプログラム制御装置。Means for generating in advance only the combinations required by a microprogram from among all possible combinations of a plurality of states, a latch whose value can be set by executing a microinstruction, and generating the combination according to the contents of the latch. and a means for selecting one of the plurality of combinations generated by the means, the microprogram control device comprising: means for selecting one of a plurality of combinations generated by the means, and determining a condition for a conditional branch operation using the combination state selected by the selecting means. .
Priority Applications (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP25005585A JPS62109133A (en) | 1985-11-08 | 1985-11-08 | Microprogram controller |
EP86115571A EP0221577B1 (en) | 1985-11-08 | 1986-11-10 | Microprogram control unit |
EP92108451A EP0500151B1 (en) | 1985-11-08 | 1986-11-10 | Microprogram control unit |
DE3650473T DE3650473T2 (en) | 1985-11-08 | 1986-11-10 | Micro program control unit |
US06/928,421 US4907192A (en) | 1985-11-08 | 1986-11-10 | Microprogram control unit having multiway branch |
DE3650740T DE3650740D1 (en) | 1985-11-08 | 1986-11-10 | Micro program control unit |
US07/470,259 US5210833A (en) | 1985-11-08 | 1990-01-25 | System for selectively masking data in a branch address register and replacing the microinstruction address register by the masked data |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP25005585A JPS62109133A (en) | 1985-11-08 | 1985-11-08 | Microprogram controller |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS62109133A true JPS62109133A (en) | 1987-05-20 |
JPH0570860B2 JPH0570860B2 (en) | 1993-10-06 |
Family
ID=17202130
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP25005585A Granted JPS62109133A (en) | 1985-11-08 | 1985-11-08 | Microprogram controller |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS62109133A (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112888776B (en) | 2019-04-12 | 2023-05-26 | 绿色地球研究所株式会社 | Method for producing target substance |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS4984549A (en) * | 1972-12-20 | 1974-08-14 | ||
JPS5674750A (en) * | 1979-11-22 | 1981-06-20 | Nec Corp | Microprogram controlling device |
-
1985
- 1985-11-08 JP JP25005585A patent/JPS62109133A/en active Granted
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS4984549A (en) * | 1972-12-20 | 1974-08-14 | ||
JPS5674750A (en) * | 1979-11-22 | 1981-06-20 | Nec Corp | Microprogram controlling device |
Also Published As
Publication number | Publication date |
---|---|
JPH0570860B2 (en) | 1993-10-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0221577B1 (en) | Microprogram control unit | |
US5404555A (en) | Macro instruction set computer architecture | |
JP3248992B2 (en) | Multiprocessor | |
US4789957A (en) | Status output for a bit slice ALU | |
US5684728A (en) | Data processing system having a saturation arithmetic operation function | |
JPS6254359A (en) | Computer apparatus | |
JPH07219769A (en) | Microprocessor | |
US4677549A (en) | Pipelined data processor system having increased processing speed | |
JPH0773156A (en) | Data driving-type information processor | |
EP0497485A2 (en) | Computer for implementing two-operand instructions | |
JPS62109133A (en) | Microprogram controller | |
US5123096A (en) | Data processor with addressing mode decoding function | |
CA1119307A (en) | Microcomputer having separate bit and word accumulators and separate bit and word instruction sets | |
JP2806075B2 (en) | Microcomputer | |
EP0141752B1 (en) | Microcode control system for digital data processing system | |
US3665409A (en) | Signal translator | |
JP2793357B2 (en) | Parallel processing unit | |
JPH0222413B2 (en) | ||
JPH07110769A (en) | Vliw type computer | |
JPH03204028A (en) | central processing unit | |
JP2782471B2 (en) | Data transfer retry control method | |
JPH087679B2 (en) | Microprocessor | |
JPH0287228A (en) | Microprogram control system | |
Burke | Control schemes for VLSI microprocessors | |
JPH09134288A (en) | Parallel instruction processor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
EXPY | Cancellation because of completion of term |