Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JPH0625966B2 - Micro program controller - Google Patents
[go: Go Back, main page]

JPH0625966B2 - Micro program controller - Google Patents

Micro program controller

Info

Publication number
JPH0625966B2
JPH0625966B2 JP14235686A JP14235686A JPH0625966B2 JP H0625966 B2 JPH0625966 B2 JP H0625966B2 JP 14235686 A JP14235686 A JP 14235686A JP 14235686 A JP14235686 A JP 14235686A JP H0625966 B2 JPH0625966 B2 JP H0625966B2
Authority
JP
Japan
Prior art keywords
field
bit
instruction
micro
register
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.)
Expired - Lifetime
Application number
JP14235686A
Other languages
Japanese (ja)
Other versions
JPS62297938A (en
Inventor
博昭 金子
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
Nippon Electric 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 Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP14235686A priority Critical patent/JPH0625966B2/en
Publication of JPS62297938A publication Critical patent/JPS62297938A/en
Publication of JPH0625966B2 publication Critical patent/JPH0625966B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、マイクロプログラム制御装置に関し、特にマ
イクロプログラム内で使用する定数の発生手段に関す
る。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a microprogram controller, and more particularly to a constant generating means used in a microprogram.

〔従来の技術〕[Conventional technology]

一般にマイクロプログラム制御装置において、一連のマ
イクロ命令からなるマイクロプログラムは、第2図に示
すように制御記憶201に格納されており、それが順次
マイクロ命令サイクル毎に読み出されて、マイクロ命令
レジスタ202に一時的に格納された後、このマイクロ
命令レジスタの出力をマイクロ命令デコーダ203によ
ってデコードすることによって、マイクロ操作命令が指
定する情報(マイクロオーダー)aaa〜zzzを発生させレ
ジスタ・ファイル204や算術論理演算装置205等の
各制御点に与えられる。
Generally, in a microprogram control device, a microprogram consisting of a series of microinstructions is stored in a control memory 201 as shown in FIG. After being temporarily stored in the micro instruction register, the output of the micro instruction register is decoded by the micro instruction decoder 203 to generate the information (micro order) aaa to zzz designated by the micro operation instruction to generate the register file 204 and the arithmetic logic. It is given to each control point such as the arithmetic unit 205.

レジスタ・ファイル204と算術論理演算装置205間
をデータ・バス206を介してデータを転送するための
マイクロ命令を転送マイクロ命令、算術論理演算装置に
おける演算の種類を指定するためのマイクロ命令を演算
マイクロ命令、マイクロプログラムのシーケンスを決定
するために次に実行するマイクロ命令を制御記憶201
に対して指定するマイクロ命令を分岐マイクロ命令、さ
らにこれらのマイクロ命令で制御できない制御点を制御
するためのマイクロ命令を制御マイクロ命令と呼ぶ。
A microinstruction for transferring data between the register file 204 and the arithmetic logic unit 205 via the data bus 206 is a microinstruction, and a microinstruction for designating the type of operation in the arithmetic logic unit is an operation micro. The instruction, the micro instruction to be executed next to determine the sequence of the micro program is stored in the control memory 201.
The microinstructions designated for are called branch microinstructions, and the microinstructions for controlling control points that cannot be controlled by these microinstructions are called control microinstructions.

マイクロ命令の形式として第3図aに示すように、転
送、演算、分岐および制御マイクロ命令は一語のマイク
ロ命令の特定のビットあるいはビット列の状態(このビ
ットあるいはビット列を識別子IDと呼ぶ)によって識
別されるものがある。各命令の機能は、その他のビット
列(機能フィールドFUNCと呼ぶ)この命令形式では、命
令語長が短くてすむために制御記憶の容量が少ないかわ
りに、一マイクロ命令サイクルで制御可能な制御点の種
類が限定されるために高速な処理には不向であるという
欠点を持つ。
As shown in FIG. 3A as a microinstruction format, transfer, operation, branch and control microinstructions are identified by the state of a specific bit or bit string of one word microinstruction (this bit or bit string is called an identifier ID). There is something to be done. The function of each instruction is other bit string (called a function field FUNC) In this instruction format, the command word length is short, so the capacity of the control memory is small, but the type of control points that can be controlled in one micro instruction cycle Has a drawback that it is unsuitable for high-speed processing because it is limited.

一方、第3図bに示すように一命令のなかに転送、演
算、分岐および制御機能に関する情報をすべて持たせる
(それぞれのフィールドを転送フィールドTRN、演算
フィールドop、分岐フィールドBR、制御フィールド
CNTと呼ぶ)命令形式では、一マイクロ命令サイクル
において複数の制御点を制御することができるが、すべ
てのマイクロ命令において転送、演算、分岐および制御
機能を必要とすることは稀であるため、不必要な情報が
マイクロ命令に含まれていることが多く、一命令の語長
が長くなる割には有効に使用される情報が少なくなると
いう欠点がある。
On the other hand, as shown in FIG. 3b, all the information relating to the transfer, operation, branch and control functions is provided in one instruction (the respective fields are transfer field TRN, operation field op, branch field BR and control field CNT. In the instruction format, multiple control points can be controlled in one microinstruction cycle, but since it is rare that all microinstructions require transfer, operation, branch and control functions, it is unnecessary. Since information is often included in microinstructions, the word length of one instruction is long, but there is a drawback in that less information is used effectively.

一般には、第3図cに示すように一命令を専用のフィー
ルド(ここでは転送命令用のTRNを割り当てている)
と機能可変のフィールドを持たせることによって、フレ
キシブルにマイクロ命令の機能を変化させることで、語
長が短くしかも一マイクロ命令サイクルで制御可能な制
御点を複数個得られるようなマイクロ命令の形式が選択
することが多い。
Generally, as shown in FIG. 3c, one instruction is used as a dedicated field (here, TRN for transfer instruction is assigned).
And the function variable field allows the function of the microinstruction to be changed flexibly, resulting in a microinstruction format with a short word length and multiple control points that can be controlled in one microinstruction cycle. Often selected.

転送マイクロ命令では、レジスタ・ファイルや算術論演
算装置などのソース・オペランドと呼ばれるデータ転送
の送り元のレジスタ資源を指定し、デスティネーション
・オペランドと呼ばれる送り先のレジスタ資源を指定す
る。ただし、ソース・オペランド資源としてはレジスタ
資源だけではなくマイクロプログラム中で必要とされる
定数を選択する場合がある。
In the transfer microinstruction, the source register resource called a source operand such as a register file or arithmetic logic unit is specified, and the destination register resource called a destination operand is specified. However, not only the register resource but also a constant required in the microprogram may be selected as the source operand resource.

これらの定数は、マイクロプログラム中で使用される種
類が少ない場合は、あらかじめ定数を定数レジスタに固
定しておき、レジスタ資源としてソース・オペランドと
して指定する方法が取られる。しかしながら、この方法
では一度設定された定数を変化させることができないた
め、融通性を極めて欠くという欠点がある。
When there are few types of these constants used in a microprogram, a method is used in which the constants are fixed in advance in a constant register and designated as a source operand as a register resource. However, this method has a drawback that flexibility is extremely lacking because the constant once set cannot be changed.

定数を発生させる別の方法としてマイクロ命令の一部に
定数フィールドと呼ぶフィールドを設け、転送マイクロ
命令によってソース・オペランドとして定数が指定され
た場合、このフィールドの情報を定数として転送するこ
とが用いられる。定数フィールドをマイクロ命令の特定
の部分に専用に割り当てると、転送命令のソース・オペ
ランドとして定数が指定されない場合、無駄な情報を含
むことになるため演算、分岐あるいは制御用のフィール
ドを定数フィールドの代替として用いることが考えられ
る。
As another method of generating a constant, a field called a constant field is provided as part of the microinstruction, and when the transfer microinstruction specifies a constant as a source operand, it is used to transfer the information in this field as a constant. . If a constant field is dedicated to a specific part of a microinstruction, it will contain useless information if a constant is not specified as the source operand of the transfer instruction, so the operation, branch, or control field will replace the constant field. Can be used as.

このために定数フィールドのビット数は、データ処理の
基本語長(内部バス幅で16〜32ビット)より比較的
小さく(基本語長16〜32に対して8ビット程度)、
表現できる定数の範囲も限定される(8ビットの場合0
〜255の範囲)。
Therefore, the number of bits of the constant field is relatively smaller than the basic word length of data processing (16 to 32 bits in the internal bus width) (about 8 bits for the basic word length of 16 to 32).
The range of constants that can be expressed is also limited (0 for 8 bits)
~ 255 range).

次に従来のマイクロ命令形式、特に定数フィールドの構
成について、一例を図面を参照しつつ説明する。
Next, an example of a conventional microinstruction format, particularly the configuration of a constant field will be described with reference to the drawings.

第4図は、マイクロ命令形式の一例で、転送フィールド
401、演算、分岐または制御を指定する命令フィール
ド402で構成される。転送フィールド401は、ソー
ス・オペランドを指定するフィールド403(以下SR
Cフィールドと呼ぶ)とデスティネーション・オペラン
ドを指定するフィールド404(以下DSTフィール
ド)に分かれている。さらに命令フィールド402は、
識別子405と機能フィールド406から構成され、識
別子405の値によって機能フィールド406の持つ意
味が演算、分岐または制御用のフィールドに変化する。
ただしSRCフィールド403として定数が選択された
場合、識別子405および機能フィールド406(すな
わち命令フィールド402)は従来の意味として無効に
なり、定数フィールドとして用いられる。
FIG. 4 shows an example of a microinstruction format, which is composed of a transfer field 401 and an instruction field 402 for designating operation, branch or control. A transfer field 401 is a field 403 that specifies a source operand (hereinafter SR
It is divided into a C field) and a field 404 (hereinafter DST field) for designating a destination operand. In addition, the command field 402
It is composed of an identifier 405 and a function field 406. Depending on the value of the identifier 405, the meaning of the function field 406 changes to a field for calculation, branching or control.
However, when a constant is selected as the SRC field 403, the identifier 405 and the function field 406 (that is, the instruction field 402) become invalid in the conventional sense and are used as the constant field.

第5図は、前記従来の命令形式を有したマイクロ命令を
採用したマイクロプログラム制御装置の構成を示す図で
ある。本図面を参照して、マイクロプログラム制御装置
におけるデータ転送、特に定数の転送動作について説明
する。マイクロ・アドレス・レジスタ501で指定され
る制御記憶502に格納されたマイクロ命令は、マイク
ロ命令レジスタ503に格納される。マイクロ命令レジ
スタ503の出力は、マイクロ命令デコーダ504に接
続され、転送フィールドならびに命令フィールドの内容
(特にSRCフィールドおよび識別子IDに対応する出
力srcおよびid)にしたがってマイクロオーダIMD,
OPR,BR,CNIを発生させる。マイクロオーダI
MDは、SRCフィールド403においてソース・オペ
ランドとして定数が指定されたことを示す。マイクロ・
オーダOPR,BR,CNIは識別子405において演
算、分岐、制御機能が指定されたことをそれぞれ示すも
のである。ただし、SRCフィールド403においてソ
ース・オペランドとして定数が指定された場合、OP
R,BR,CNTのそれぞれのマイクロ・オーダは発生
しない。機能フィールド402に相当するマイクロ命令
レジスタ503の出力funcは、それぞれ演算制御装置5
05、分岐制御装置506、制御装置507に接続さ
れ、それぞれの制御装置はマイクロオーダOPR,B
R,CNTがアクティブになった場合、funcの内容を解
釈しさらに細分化されたマイクロオーダを発生させる。
SRCフィールド403およびDSTフィールド404
に相当するマイクロ命令レジスタ503の出力srcなら
びにdstは、ソース・オペランド・バス523およびデ
スティネーション・オペランド・バス524を経由して
それぞれソース・オペランド・デコーダ510およびデ
スティネーション・オペランド・デコーダ511に接続
される。ソース・オペランド・デコーダ510は、src
の内容に従ってデータ・バス520に接続されたレジス
タ・ファイル521に対する読出し選択信号RDnを発
生する。読出し選択信号RDnに対応するレジスタ・フ
ァイル521内のレジスタRnのデータがデータ・バス
520に読み出される。
FIG. 5 is a diagram showing a configuration of a micro program control device adopting the micro instruction having the conventional instruction format. Data transfer, particularly a constant transfer operation, in the microprogram controller will be described with reference to the drawings. The microinstruction stored in the control memory 502 designated by the micro address register 501 is stored in the microinstruction register 503. The output of the microinstruction register 503 is connected to the microinstruction decoder 504, and according to the contents of the transfer field and the instruction field (in particular, the output src and id corresponding to the SRC field and the identifier ID), the microorder IMD,
Generates OPR, BR, CNI. Micro Order I
MD indicates that a constant is specified as the source operand in the SRC field 403. micro·
The orders OPR, BR, and CNI respectively indicate that the arithmetic, branch, and control functions have been designated in the identifier 405. However, when a constant is specified as the source operand in the SRC field 403, OP
The respective micro orders of R, BR and CNT do not occur. The output func of the micro instruction register 503 corresponding to the function field 402 is the operation control device 5 respectively.
05, a branch control device 506, and a control device 507, and each control device is a micro-order OPR, B.
When R and CNT become active, the contents of func are interpreted and a subdivided micro-order is generated.
SRC field 403 and DST field 404
The outputs src and dst of the microinstruction register 503 corresponding to the above are connected to the source operand decoder 510 and the destination operand decoder 511 via the source operand bus 523 and the destination operand bus 524, respectively. It The source operand decoder 510 is src
The read select signal RDn for the register file 521 connected to the data bus 520 is generated according to the contents of the above. The data of the register Rn in the register file 521 corresponding to the read selection signal RDn is read to the data bus 520.

一方デスティネーション・オペランド・デコーダ511
は、dstの内容に従ってレジスタ・ファイル521に対
する書込み選択信号WRnを発生する。書込み選択信号
WRnに対応するレジスタ・ファイル521内のレジス
タRnには、データ・バス520上のデータが書き込ま
れる。ソース・オペランド・デコーダ510およびデス
ティネーション・オペランド・デコーダ511は、レジ
スタ・ファイル520に対する読出し選択信号RDn、
書込み選択信号WRnの他に、データ・バス520に接
続された他のレジスタ資源522に対する読出し選択信
号READnおよび書込み選択信号WRITEnを発生
し、同様の方法でデータ・バス520を介したレジスタ
資源間でのデータ転送を制御する。SRCオペランド・
フィールド403で定数が指定され、マイクロ命令デコ
ーダ504によってマイクロオーダIMDが発生する
と、命令フィールド402に対応するマイクロ命令レジ
スタ503の出力opが接続される定数バッファ512
が選択され、opがデータ・バス520の下位に出力さ
れる。この時、定数バッファ512の上位側は複数の0
をデータ・バス520の上位に出力し、opの内容をゼ
ロ拡張する。
Meanwhile, the destination operand decoder 511
Generates a write selection signal WRn for the register file 521 according to the contents of dst. The data on the data bus 520 is written in the register Rn in the register file 521 corresponding to the write selection signal WRn. The source operand decoder 510 and the destination operand decoder 511 have read select signals RDn for the register file 520,
In addition to the write select signal WRn, a read select signal READn and a write select signal WRITEn for other register resources 522 connected to the data bus 520 are generated, and in the same manner between the register resources via the data bus 520. Control the data transfer of. SRC operand
When a constant is specified in the field 403 and the micro-order IMD is generated by the micro-instruction decoder 504, the constant buffer 512 to which the output op of the micro-instruction register 503 corresponding to the instruction field 402 is connected.
Is selected and op is output to the lower side of the data bus 520. At this time, the upper side of the constant buffer 512 has a plurality of 0s.
Is output to the upper side of the data bus 520 and the contents of op are zero-extended.

〔本発明が解決しようとする問題点〕[Problems to be Solved by the Present Invention]

前記従来の定数転送時には、命令フィールド402で表
現可能な値より大きな定数(以下ロング・イミディェー
トと言い、命令フィールド402で表現可能な定数をイ
ミディェートと呼ぶことにする)を発生させる場合、イ
ミディェート転送と多ビット・シフトや論理和等の演算
命令を用いて、ロング・イミディェートを生成しなけれ
ばならず、ロング・イミディェート生成に多くのマイク
ロ命令を必要とすることになる。
In the conventional constant transfer, when a constant larger than a value expressible in the instruction field 402 (hereinafter referred to as a long immediate, a constant expressible in the instruction field 402 is called an immediate) is generated, an immediate transfer is performed. A long immediate must be generated by using an operation instruction such as a multi-bit shift or a logical sum, and many micro instructions are required for the long immediate generation.

一例としてデータ・バス520が32ビット幅を持ち、
命令フィールド402のビット幅が8ビットである場
合、イミディェートとして表現可能な値は、0〜255
(0〜28−1)の範囲であり、32ビットのロング・
イミィェートを得ようとするならば、以下示すようなマ
イクロ命令の実行が必要である。
As an example, the data bus 520 has a width of 32 bits,
When the bit width of the instruction field 402 is 8 bits, the values that can be expressed as immediate are 0 to 255.
It is in the range of (0 to 28-1) and has a long length of 32 bits.
If you want to get an immediate, you need to execute the following micro-instructions.

8ビット・イミディェートをレジスタRに転送す
る。
Transfer the 8-bit immediate to register R 1 .

の内容を左に8ビット・シフトする。Shift the contents of R 1 to the left by 8 bits.

新しい8ビット・イミディェートをレジスタRに転
送する。
Transfer the new 8-bit immediate to register R 2 .

とRの論理和に格納する。It is stored in the logical sum of R 1 and R 2 .

〜のステップを2回繰り返す。Repeat steps ~ twice.

このように、32ビットのロング・イミディェートをレ
ジスタRに得るまでに10ステップのマイクロ命令の
実行と、演算用に1本余分なレジスタ(R)を必要に
なることになる。
As described above, it is necessary to execute the micro-instruction of 10 steps and one extra register (R 2 ) for calculation before obtaining the 32-bit long immediate in the register R 1 .

〔問題点を解決するための手段〕[Means for solving problems]

本発明は、マイクロ命令を一時的に保持する手段、前記
保持手段の第一のフィールドのビット・パターンを検出
する手段、およびあらかじめ決められたデータあるいは
前記保持手段の第二のフィールドの内容を選択的に出力
する複数のデータ発生手段を有し、前記検出手段によっ
て検出されたビット・パターンにしたがって、前記複数
のデータ発生手段の内一つのみに前記保持手段の第二の
フィールドの内容を選択的に出力し、その他の前記複数
のデータ発生手段が選択する前記あらかじめ決められた
データの出力を、独立したビット位置に連結して定数デ
ータとして使用することを特徴とする。
The present invention selects means for temporarily holding a microinstruction, means for detecting a bit pattern of the first field of the holding means, and predetermined data or contents of the second field of the holding means. A plurality of data generating means for selectively outputting the contents of the second field of the holding means to only one of the plurality of data generating means according to the bit pattern detected by the detecting means. And outputting the predetermined data selected by the other plurality of data generating means are connected to independent bit positions and used as constant data.

〔実施例〕〔Example〕

次に図面を参照して、本発明の構成ならびに動作につい
て詳細に説明する。
Next, the configuration and operation of the present invention will be described in detail with reference to the drawings.

第1図は、本発明の一実施例であり、命令レジスタ10
0のSRCフィールドに対応する出力srcおよび識別子
IDに対応する出力idを入力しマイクロオーダIM
D,OPR,BR,CNTを発生するマイクロ命令デコ
ーダ102、選択信号SEL0〜SEL3がアクティブ
の時マイクロ命令レジスタ100の命令フィールドの下
位8ビットfuncを選択し、そうでない時には8ビットの
ゼロ・データを発生する手段110〜113、前記4つ
の8ビット・データ発生手段110〜113の出力を読
出し信号IMDがアクティブな時に32ビット・データ
・バス101に接続する32ビット・データ・バッファ
114、バイト位置情報BYT0/1の内容にしたがっ
て選択信号SEL0〜SEL3を発生させる2ビット・
デコーダ115から構成される。バイト位置情報BYT
0/1が00ならば選択信号SEL0が、01ならば選
択信号SEL1が、10ならば選択信号SEL2が、1
1ならば選択信号SEL3がアクティブになる。選択信
号SEL0〜SEL3で選択された8ビット・データ発
生手段110〜113の出力には命令フィールドの下位
8ビットimdが出力されるが、2ビット・デコーダ11
5は選択信号SEL0〜SEL3を排他的にアクティブ
になるように発生させるため、選択されなかった前記8
ビット・データ発生手段110〜113のうちの3組の
出力には8ビットのゼロ・データが出力される。したが
って、読出し信号IMDがアクティブになった時、バイ
ト位置情報BYT0/1の内容により、32ビット・デ
ータ・バッファ114が32ビット・データ・バス10
1に出力するデータは、以下に示すようになる。
FIG. 1 shows an embodiment of the present invention, which is an instruction register 10
Input the output src corresponding to the SRC field of 0 and the output id corresponding to the identifier ID to the micro order IM
The microinstruction decoder 102 for generating D, OPR, BR, CNT selects the lower 8 bits func of the instruction field of the microinstruction register 100 when the selection signals SEL0 to SEL3 are active, and otherwise outputs 8 bits of zero data. Means 110-113 for generating, a 32-bit data buffer 114 for connecting the outputs of the four 8-bit data generating means 110-113 to the 32-bit data bus 101 when the read signal IMD is active, byte position information 2 bits for generating selection signals SEL0 to SEL3 according to the contents of BYT0 / 1
It is composed of a decoder 115. Byte position information BYT
If 0/1 is 00, the selection signal SEL0 is 1, if 01, the selection signal SEL1 is 10, and if it is 10, the selection signal SEL2 is 1
If 1, the selection signal SEL3 becomes active. The lower 8 bits imd of the instruction field are output to the outputs of the 8-bit data generating means 110 to 113 selected by the selection signals SEL0 to SEL3, but the 2-bit decoder 11 is used.
5 generates the selection signals SEL0 to SEL3 so as to be exclusively activated, and therefore, the above-mentioned non-selected 8
8-bit zero data is output to the outputs of three sets of the bit data generating means 110 to 113. Therefore, when the read signal IMD becomes active, the contents of the byte position information BYT0 / 1 causes the 32-bit data buffer 114 to move to the 32-bit data bus 10.
The data output to 1 is as shown below.

ただし、ここでbus.〔x..y〕なる表現は、32ビット・
データ・バス101のビットxからビットyまでの範囲
を示し、nnnnnnnnは命令フィールドの下位8ビットfunc
の内容を示す。
However, the expression bus. [X..y] here is 32 bits.
Indicates the range from bit x to bit y of data bus 101, where nnnnnnnn is the lower 8 bits of the instruction field func
Indicates the contents of.

第6図aは、本実施例に適用するマイクロ命令の命令形
式の一例である。本命令形式は、6ビットのSRCフィ
ールド、6ビットのDSTフィールド、3ビットのID
フィールドおよび8ビットのFUNCフィールドで構成
される。SRCフィールドが101010の時、定数をソース
・オペランドとして指定する。IDフィールドは、0x
x(xは0または1)の時分岐機能を、100の時演算
機能を、101の時制御機能をFUNCフィールドが有
していることを指定するが、SRCフィールドが101010
の場合すなわち定数を転送することが指定された場合
は、FUNCフィールドが指定する0〜255までの値
を持つ任意の8ビット・データを32ビット・データと
して構成するためにどのバイト位置に置くかを指定する
ために用いる。すなわちIDフィールドがX00の場合
は最下位の8ビット・データとして、X01の場合は次
のバイトの8ビット・データとして、X10の場合はさ
らに次のバイトの8ビット・データとして、X11の場
合は最上位のバイトの8ビット・データとして用いるこ
とを指定するために用いられる。
FIG. 6a is an example of the instruction format of the microinstruction applied to this embodiment. The instruction format is 6-bit SRC field, 6-bit DST field, 3-bit ID
It consists of a field and an 8-bit FUNC field. When the SRC field is 101010, a constant is designated as the source operand. ID field is 0x
It is specified that the FUNC field has a time branch function of x (x is 0 or 1), a time calculation function of 100, and a time control function of 101, but the SRC field is 101010.
, Ie if a constant is specified to be transferred, at which byte position is to arrange any 8-bit data having a value of 0 to 255 specified by the FUNC field to be configured as 32-bit data? Used to specify. That is, as the least significant 8-bit data if the ID field is X00, as 8-bit data of the next bytes for X01, as 8-bit data following additional bytes for X 10, the X 11 If used, it is used to specify that the most significant byte is used as 8-bit data.

次に、本実施例の動作について説明する。Next, the operation of this embodiment will be described.

23ビット幅のマイクロ命令レジスタ100に格納され
たマイクロ命令の出力のうちSRCフィールドに対応す
るビットsrcおよびIDフィールドに対応するビットi
dは、マイクロ命令デコーダ102に接続され、転送フ
ィールドならびに命令フィールドの内容にしたがってマ
イクロオーダIMD,OPR,BR,CNTを発生させ
る。マイクロ命令レジスタ100の出力と、マイクロ・
オーダIMD,OPR,BR,CNTの関係は、以下に
示すとうりである。
Of the outputs of the microinstruction stored in the 23-bit wide microinstruction register 100, the bit src corresponding to the SRC field and the bit i corresponding to the ID field
The d is connected to the microinstruction decoder 102 and generates the microorder IMD, OPR, BR, CNT according to the contents of the transfer field and the instruction field. The output of the micro instruction register 100
The relationship among the orders IMD, OPR, BR and CNT is as shown below.

ただし、ここで-----は101010以外の値であることを示
す。
However, ----- here indicates a value other than 101010.

マイクロオーダIMDは、32ビット・データ・バッフ
ァ114の読出し信号として接続され、またマイクロ命
令レジスタ100のビット8(bit.〔8〕)およびビット
9(bit.〔9〕)はバイト位置情報BYT0/1としてそ
れぞれ2ビット・デコーダ115に接続され、さらにマ
イクロ命令レジスタ100のビット0〜7(func)は前記
8ビット・データ発生手段110〜113に接続され
る。
The micro order IMD is connected as a read signal of the 32-bit data buffer 114, and bit 8 (bit. [8]) and bit 9 (bit. [9]) of the micro instruction register 100 are byte position information BYT0 /. 1 is connected to the 2-bit decoder 115, and bits 0 to 7 (func) of the micro instruction register 100 are connected to the 8-bit data generating means 110 to 113.

次に本マイクロプログラム制御装置における定数発生の
動作について説明する。
Next, the operation of constant generation in this microprogram controller will be described.

今、マイクロ命令レジスタ100に101010010101 010 0
1111010なるデータがマイクロ命令として保持されてい
るとすると、マイクロ命令デコーダ102はsrcに10101
0のパターンがあるため、マイクロオーダIMDをアク
ティブに、その他のマイクロ・オーダOPR,BR,C
NTをインアクティブにする。マイクロ命令レジスタ1
00のbit〔8..9〕が10であるために2ビット・デコ
ーダ115はSEL2のみをアクティブに、SEL0,
SEL1,SEL3をインアクティブにする。このため
8ビット・データ生成手段110〜113の内112の
みがfuncと同一の値すなわち01111010を、その他の8ビ
ット・データ生成手段110,111,113は00000000を発生さ
せる。マイクロオーダIMDにより32ビット・データ
・バッファ114が32ビット・データ・バス101に
接続されているために、32ビット・データ・バス10
1には00000000 01111010 00000000 00000000を得るこ
とができる。
Now, in the micro instruction register 100, 101010010101 010 0
If the data 1111010 is stored as a microinstruction, the microinstruction decoder 102 stores 10101 in src.
Since there is a pattern of 0, the micro-order IMD is activated and other micro-orders OPR, BR, C
Inactivate NT. Micro instruction register 1
Since the bit [8..9] of 00 is 10, the 2-bit decoder 115 activates only SEL2, SEL0,
Inactivate SEL1 and SEL3. Therefore, only 112 of the 8-bit data generating means 110 to 113 generates the same value as func, that is, 01111010, and the other 8-bit data generating means 110, 111, 113 generate 00000000. Since the 32-bit data buffer 114 is connected to the 32-bit data bus 101 by the micro-order IMD, the 32-bit data bus 10
1 can get 00000000 01111010 00000000 00000000.

以上説明したように本実施例を用いることによって8ビ
ット・データを任意のバイト位置に置いた32ビット定
数、すなわちm(256n))(mは0〜255、nは0
〜3)を得ることができる。
As described above, by using the present embodiment, a 32-bit constant in which 8-bit data is placed at an arbitrary byte position, that is, m * ( 256∧n ) (m is 0 to 255, n is 0)
~ 3) can be obtained.

本実施例では、0から255*(2563)までの値を表現でき
るが値の精度としては8ビットのみであるため任意の3
2ビット・データを得ることはできないが、マイクロプ
ログラムの中で使用される定数は特定のビット列を抜き
出したり、特定のバイト・データに対して集中したビッ
トに重みのないデータを用いることが多いため、応用の
多くにはそのまま利用することができる。
In this embodiment, a value from 0 to 255 * (256 3) can be expressed, but since the precision of the value is only 8 bits, any 3
Although it is not possible to obtain 2-bit data, the constants used in microprograms often extract a specific bit string or use data with no weight in the bits concentrated for a specific byte data. , Can be used as is for many applications.

また任意の32ビット・データを得るにも、従来の定数
発生のためのマイクロ命令実行に比べ、8ビット・シフ
ト動作を必要としないため以下のように簡略化すること
ができる。
Further, in order to obtain arbitrary 32-bit data, the 8-bit shift operation is not necessary as compared with the conventional microinstruction execution for generating a constant, and therefore the following simplification can be performed.

32ビット・イミディェートをレジスタRに転送す
る。
Transfer the 32-bit immediate to register R 1 .

次の32ビット・イミディェートをレジスタRに転
送する。
Transfer the next 32-bit immediate to register R 2 .

とRの論理和をRに格納する。The logical sum of R 1 and R 2 is stored in R 1 .

次の32ビット・イミディェートをレジスタRに転
送する。
Transfer the next 32-bit immediate to register R 2 .

とRの論理和をRに格納する。The logical sum of R 1 and R 2 is stored in R 1 .

次の32ビット・イミディェートをレジスタRに転
送する。
Transfer the next 32-bit immediate to register R 2 .

とRの論理和をRに格納する。The logical sum of R 1 and R 2 is stored in R 1 .

前述した従来の任意の32ビット・データ生成のための
マイクロ命令が10ステップを要していたのに対して、
本実施例では7ステップに短縮できることが解る。
Whereas the conventional micro instruction for generating arbitrary 32-bit data described above requires 10 steps,
It is understood that the number of steps can be shortened to 7 in this embodiment.

次に、本発明の他の実施例について説明する。第7図
は、本発明の他の実施例であり、選択信号SEL0〜S
EL3がアクティブの時マイクロ命令レジスタ100の
命令フィールドの下位8ビットfuncを選択し、そうでな
い時には出力選択信号ZEROによって8ビットのゼロ
・データあるいは8ビットのオール1データを発生する
手段810〜813を持つことが特徴である。
Next, another embodiment of the present invention will be described. FIG. 7 shows another embodiment of the present invention, in which selection signals SEL0-S0.
Means 810-813 for selecting the lower 8 bits func of the instruction field of the microinstruction register 100 when EL3 is active, and otherwise generating 8-bit zero data or 8-bit all-1 data by the output selection signal ZERO. The characteristic is to have.

前記実施例と同様に、バイト位置情報BYT0/1が0
0ならば選択信号SEL0が、01ならば選択信号SE
L1が、10ならば選択信号SEL2が、11ならば選
択信号SEL3がアクティブになる。選択信号SEL0
〜SEL3で選択された8ビット・データ発生手段10
0〜113の出力には命令フィールドの下位8ビットfu
ncが出力されるが、2ビット・デコーダ115は選択信
号SEL0〜SEL3を排他的にアクティブになるよう
に発生させるため、選択されなかった前記8ビット・デ
ータ発生手段110〜113のうちの3組の出力には出
力選択信号ZEROによって8ビットのゼロ・データあ
るいはオール1が出力される。
As in the above embodiment, the byte position information BYT0 / 1 is 0.
If it is 0, the selection signal SEL0 is set.
If L1 is 10, the selection signal SEL2 is active, and if L1 is 11, the selection signal SEL3 is active. Select signal SEL0
~ 8-bit data generating means 10 selected by SEL3
The lower 8 bits fu of the instruction field are output to 0 to 113
Although nc is output, the 2-bit decoder 115 generates the selection signals SEL0 to SEL3 so as to be exclusively activated, so that three sets of the unselected 8-bit data generation means 110 to 113 are output. 8-bit zero data or all 1's are output to the output of the output signal ZERO by the output selection signal ZERO.

したがって、読出し信号IMDがアクティブになった
時、バイト位置情報BYT0/1の内容により、32ビ
ット・データバッファ114が32ビット・データ・バ
ス101に出力するデータは、以下に示すようになる。
Therefore, when the read signal IMD becomes active, the data output from the 32-bit data buffer 114 to the 32-bit data bus 101 according to the contents of the byte position information BYT0 / 1 is as follows.

たたし、ここでbus.〔x..y〕なる表現は、32ビット・
データ・バス101のビットxからビットyまでの範囲
を示し、nnnnnnnnは命令フィールドの下位8ビットimd
の内容を示し、zzzzzzzzは出力選択信号ZEROが1な
らば11111111、0ならば00000000である。
However, the expression bus. [X..y] here is 32 bits.
Indicates the range from bit x to bit y of data bus 101, where nnnnnnnn is the lower 8 bits of the instruction field imd
Zzzzzzzz is 111111111 if the output selection signal ZERO is 1, and 00000000 if it is 0.

第6図bは、本実施例に適用するマイクロ命令の命令形
式の一例であり、第6図aの命令形式に対して、SRC
フィールドで定数を選択した場合IDフィールドの最上
位ビットに32ビット・イミディェートに対して有効バ
イトとならない24ビットのデータを0にするか1にす
るかを指定する意味を持たせていることが特徴である。
すなわちIDフィールドが0XXならばオール・ゼロ
を、1XXならばオール1が選択される。
FIG. 6B is an example of the instruction format of the microinstruction applied to the present embodiment. SRC for the instruction format of FIG.
When a constant is selected in the field, the most significant bit of the ID field has a meaning to specify whether the 24-bit data that is not a valid byte for the 32-bit immediate is set to 0 or 1. Is.
That is, if the ID field is 0XX, all zeros are selected, and if 1XX, all 1s are selected.

次に、本実施例における定数発生の動作について説明す
る。今、マイクロ命令レジスタ100に101010 010101
100 10100110なるデータがマイクロ命令として保持され
ているとすると、マイクロ命令デコーダ102はsrc101
010のパターンがあるため、マイクロオーダIMDをア
クティブに、その他のマイクロオーダOPR,BR,C
NTをインアクティブにする。マイクロ命令レジスタ1
00のbit.〔8..9〕が00であるために2ビット・デコ
ーダ115はSEL0のみをアクティブに、SEL1,
SEL2,SEL3をインアクティブにする。このため
8ビット・データ生成手段810〜813の内810の
みがfuncと同一の値すなわち10100110を、その他の8ビ
ット・データ生成手段811,812,813は出力選
択信号ZEROが1のため11111111を発生させる。マイ
クロオーダIMDにより32ビット・データバッファ1
14が32ビット・データ・バス101には11111111 1
1111111 11111111 10100110 を得ることができる。こ
の32ビット・データは00000000 00000000 00000000 0
111010なる32ビット・データの二の補数になってい
る。
Next, the operation of generating a constant in this embodiment will be described. Now, 101010 010101 in the micro instruction register 100
If the data 100 10 100 110 is stored as a microinstruction, the microinstruction decoder 102 outputs src101
Since there is a pattern of 010, the micro-order IMD is activated and other micro-orders OPR, BR, C
Inactivate NT. Micro instruction register 1
Since the bit. [8..9] of 00 is 00, the 2-bit decoder 115 activates only SEL0, SEL1,
Inactivate SEL2 and SEL3. Therefore, only 810 of the 8-bit data generating means 810 to 813 generates the same value as func, that is, 10100110, and the other 8-bit data generating means 811, 812 and 813 generate 11111111 because the output selection signal ZERO is 1. Let 32-bit data buffer 1 by micro-order IMD
14 on the 32-bit data bus 101 11111111 1
1111111 11111111 10100110 can be obtained. This 32-bit data is 00000000 00000000 00000000 0
It is the two's complement of 32-bit data such as 111010.

本実施例では、表現できる値の範囲が0から232-1ま
でに拡張される。さらに整数の定数を必要とするマイク
ロプログラムでは、簡単に負の数を表現できることがで
きる。
In this embodiment, the range of expressible values is expanded from 0 to 2 32-1. Furthermore, microprograms that require integer constants can easily express negative numbers.

第8図aは、第1図で用いた8ビット・データ発生手段
をより詳細に説明する図面であり、8組の2入力AND
ゲート1030〜1037および前記2入力ANDゲート1030〜
1037の出力を一方の入力とする2入力ORゲート1040〜
1047と、2入力ANDゲート1038、インバータ1050で構
成され、2入力ANDゲート1030〜1037のもう一方の入
力は選択信号SELに接続され、2入力ORゲート1040
〜1047のもう一方の入力は2入力ANDゲート1038の出
力に接続される。2入力ANDゲート1038の一方の入力
は入力を選択信号SELとするインバータ1050の出力
に、もう一方の入力は出力選択信号ZEROに接続され
る。選択信号SELがアクティブ(1)ならば、2入力A
NDゲート1030〜1037の出力は入力IN0〜7と同一に
なる。一方2入力ANDゲート1038の出力は0となるた
め、2入力ORゲート1040〜1047の出力は、2入力AN
Dゲート1030〜1037の出力と同一である。したがって出
力OUT0〜7には、入力IN0〜7と同一のデータが
現われる。
FIG. 8a is a drawing for explaining the 8-bit data generating means used in FIG. 1 in more detail.
Gates 1030 to 1037 and the 2-input AND gate 1030 to
Two-input OR gate 1040 which uses the output of 1037 as one input
1047, a 2-input AND gate 1038, and an inverter 1050. The other inputs of the 2-input AND gates 1030 to 1037 are connected to the selection signal SEL, and the 2-input OR gate 1040 is connected.
The other input of ~ 1047 is connected to the output of a 2-input AND gate 1038. One input of the 2-input AND gate 1038 is connected to the output of the inverter 1050 whose input is the selection signal SEL, and the other input is connected to the output selection signal ZERO. If the selection signal SEL is active (1), 2 inputs A
The outputs of the ND gates 1030 to 1037 are the same as the inputs IN0 to 7. On the other hand, since the output of the 2-input AND gate 1038 becomes 0, the output of the 2-input OR gates 1040 to 1047 is the 2-input AN.
It is the same as the output of the D gates 1030 to 1037. Therefore, the same data as the inputs IN0 to 7 appears at the outputs OUT0 to OUT7.

また選択信号SELがインアクティブ(0)であり、かつ
出力選択信号ZEROが0の時、2入力ANDゲート10
30〜1037の出力は入力IN0〜7の値にかかわらずすべ
て0になる。一方2入力ANDゲート1048は、一方の入
力ZEROが0であるために0であり、2入力ORゲー
ト1040〜1047の出力は、2入力ANDゲート1030〜1037
の出力と同一である。したがって出力OUT0〜7はす
べて0になる。さらに選択信号SELがインアクティブ
(0)であり、かつ出力選択信号ZEROが0の時、2入
力ANDゲート1048の出力は1となり、2入力ORゲー
ト1040〜1047の出力は、2入力ANDゲート1030〜1037
の出力にかかわらずすべて1になる。したがって出力O
UT0〜7はすべて1になる。
When the selection signal SEL is inactive (0) and the output selection signal ZERO is 0, the 2-input AND gate 10
The outputs of 30 to 1037 are all 0 regardless of the values of the inputs IN0 to 7. On the other hand, the 2-input AND gate 1048 is 0 because one input ZERO is 0, and the outputs of the 2-input OR gates 1040 to 1047 are 2-input AND gates 1030 to 1037.
Is the same as the output of. Therefore, the outputs OUT0 to OUT7 are all zero. Furthermore, the selection signal SEL is inactive
When it is (0) and the output selection signal ZERO is 0, the output of the 2-input AND gate 1048 becomes 1, and the outputs of the 2-input OR gates 1040 to 1047 become 2 input AND gates 1030 to 1037.
Becomes 1 regardless of the output of. Therefore the output O
UT0 to 7 are all 1.

〔発明の効果〕〔The invention's effect〕

以上説明したように、本発明を用いることでマイクロ命
令のビット幅を増加することなしに、大きな表現範囲を
持った定数を一つのマイクロ命令の実行によって得るこ
とができる。さらに任意の値を有した定数を、高速に得
ることができる。
As described above, by using the present invention, a constant having a large expression range can be obtained by executing one microinstruction without increasing the bit width of the microinstruction. Further, a constant having an arbitrary value can be obtained at high speed.

【図面の簡単な説明】[Brief description of drawings]

第1図は本発明の一実施例を示すブロック図、第2図は
従来のマイクロプログラム制御装置の構成を示すブロッ
ク図、第3図a,b,cは従来のマイクロ命令の形式の
種類を示すフォーマット図、第4図は従来のマイクロ命
令の形式を示すフォーマット図、第5図は従来のマイク
ロプログラム制御装置を用いた定数発生の回路ブロック
図、第6図a,bは本発明において使用するマイクロ命
令の形式を示すフォーマット図、第7図は本発明の他の
実施例を示すブロック図、第8図a,bは本発明の実施
例で用いた8ビット・データ発生手段の詳細を示す回路
ブロック図である。 100……23ビット・マイクロ命令レジスタ、101
……32ビット・データ・バス、102……マイクロ命
令デコーダ、110〜113……8ビット・データ発生
手段、114……32ビット・データ・バッファ、11
5……2ビット・デコーダ、201……制御記憶、20
2……マイクロ命令レジスタ、203……マイクロ命令
デコーダ、204……レジスタ・ファイル、205……
算術論理演算装置、206……データ・バス、401…
…転送フィールド、402……命令フィールド、403
……SRCフィールド、404……DSTフィールド、
405……識別子、406……機能フィールド、501
……マイクロ・アドレス・レジスタ、502……制御記
憶、503……マイクロ命令レジスタ、504……マイ
クロ命令デコーダ、505……演算制御装置、506…
…分岐制御装置、507……制御装置、510……ソー
ス・オペランド・デコーダ、511……デスティネーシ
ョン・オペランド・デコーダ、512……定数バッフ
ァ、520……データ・バス、521……レジスタ・フ
ァイル、522……その他のレジスタ資源、523……
ソース・オペランド・バス、524……デスティネーシ
ョン・オペランド・バス、1000〜1007……2入力AND
ゲート、1030〜1038……2入力ANDゲート、1040〜10
47……2入力ORゲート、1050……インバータ。
FIG. 1 is a block diagram showing an embodiment of the present invention, FIG. 2 is a block diagram showing the configuration of a conventional micro program control device, and FIGS. 3 a, b, and c are conventional micro instruction types. FIG. 4 is a format diagram showing a conventional microinstruction format, FIG. 5 is a circuit block diagram of constant generation using a conventional microprogram controller, and FIGS. 6a and 6b are used in the present invention. FIG. 7 is a block diagram showing another embodiment of the present invention, and FIG. 8A and FIG. 8B show details of the 8-bit data generating means used in the embodiment of the present invention. It is a circuit block diagram shown. 100: 23-bit micro instruction register, 101
32 bit data bus 102 micro instruction decoder 110-113 8 bit data generation means 114 32 bit data buffer 11
5 ... 2-bit decoder, 201 ... Control memory, 20
2 ... Micro instruction register, 203 ... Micro instruction decoder, 204 ... Register file, 205 ...
Arithmetic and logic unit, 206 ... Data bus, 401 ...
Transfer field, 402 Command field, 403
...... SRC field, 404 ...... DST field,
405 ... Identifier, 406 ... Function field, 501
...... Micro address register, 502 ... Control memory, 503 ... Micro instruction register, 504 ... Micro instruction decoder, 505 ... Operation control unit, 506 ...
... Branch controller, 507 ... Controller, 510 ... Source operand decoder, 511 ... Destination operand decoder, 512 ... Constant buffer, 520 ... Data bus, 521 ... Register file, 522 ... Other register resources, 523 ...
Source operand bus, 524 ... Destination operand bus, 1000 to 1007 ... 2-input AND
Gate, 1030 to 1038 ...... 2-input AND gate, 1040 to 10
47 …… 2-input OR gate, 1050 …… Inverter.

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】マイクロ命令を一時的に保持する手段、前
記保持手段の第一のフィールドのビット・パターンを検
出する手段、およびあらかじめ決められたデータあるい
は前記保持手段の第二のフィールドの内容を選択的に出
力する複数のデータ発生手段を有し、前記検出手段によ
って検出されたビット・パターンにしたがって、前記複
数のデータ発生手段の内一つのみに前記保持手段の第二
のフィールドの内容を選択的に出力し、その他の前記複
数のデータ発生手段が選択する前記あらかじめ決められ
たデータの出力を、独立したビット位置に連結して定数
データとして使用することを特徴とするマイクロプログ
ラム制御装置。
1. A means for temporarily holding a microinstruction, a means for detecting a bit pattern of a first field of said holding means, and a predetermined data or contents of a second field of said holding means. It has a plurality of data generating means for selectively outputting, and according to the bit pattern detected by the detecting means, only one of the plurality of data generating means is provided with the contents of the second field of the holding means. A microprogram control device, characterized in that outputs of the predetermined data selectively output and selected by the other plurality of data generating means are linked to independent bit positions and used as constant data.
JP14235686A 1986-06-17 1986-06-17 Micro program controller Expired - Lifetime JPH0625966B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP14235686A JPH0625966B2 (en) 1986-06-17 1986-06-17 Micro program controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP14235686A JPH0625966B2 (en) 1986-06-17 1986-06-17 Micro program controller

Publications (2)

Publication Number Publication Date
JPS62297938A JPS62297938A (en) 1987-12-25
JPH0625966B2 true JPH0625966B2 (en) 1994-04-06

Family

ID=15313471

Family Applications (1)

Application Number Title Priority Date Filing Date
JP14235686A Expired - Lifetime JPH0625966B2 (en) 1986-06-17 1986-06-17 Micro program controller

Country Status (1)

Country Link
JP (1) JPH0625966B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6484957B2 (en) * 2014-08-25 2019-03-20 サンケン電気株式会社 Arithmetic processing unit

Also Published As

Publication number Publication date
JPS62297938A (en) 1987-12-25

Similar Documents

Publication Publication Date Title
US4825355A (en) Instruction format for program control type data processing systems
JP3954171B2 (en) How to fill a vector with scalar values on a computer
US4467415A (en) High-speed microprogram control apparatus with decreased control storage requirements
JPH0374434B2 (en)
JPH0248931B2 (en)
JP2551167B2 (en) Microcomputer
US5077659A (en) Data processor employing the same microprograms for data having different bit lengths
JPH034936B2 (en)
JPH0625966B2 (en) Micro program controller
JPS59114677A (en) vector processing device
JPH0192851A (en) Address space switching device
JPS623332A (en) Information processor having instruction containing direct value field
JPH0522935B2 (en)
US5978957A (en) Very fast pipelined shifter element with parity prediction
KR960016401B1 (en) Page selecting circuit of register pages using register page pointer
JPS63251835A (en) Vector processing device
JPS60157635A (en) Microprogram controller
JPH0778722B2 (en) Register file method
JP2667810B2 (en) Vector processing equipment
JPH0239325A (en) Microsequence control system
JPS63155328A (en) Information processor
JPH01290049A (en) Memory access control system
JPS6029842A (en) Control storage device
JPS62226336A (en) Microprogram control system
JPH0644066A (en) Information processor