JP2982129B2 - Micro program controller - Google Patents

Micro program controller

Info

Publication number
JP2982129B2
JP2982129B2 JP63176440A JP17644088A JP2982129B2 JP 2982129 B2 JP2982129 B2 JP 2982129B2 JP 63176440 A JP63176440 A JP 63176440A JP 17644088 A JP17644088 A JP 17644088A JP 2982129 B2 JP2982129 B2 JP 2982129B2
Authority
JP
Japan
Prior art keywords
control
execution
field
branch
cycle
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
JP63176440A
Other languages
Japanese (ja)
Other versions
JPH0225931A (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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP63176440A priority Critical patent/JP2982129B2/en
Publication of JPH0225931A publication Critical patent/JPH0225931A/en
Application granted granted Critical
Publication of JP2982129B2 publication Critical patent/JP2982129B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、マイクロプログラム制御装置に関し、特
に、制御記憶より1アクセス単位で読出した命令制御ワ
ードにより複数の実行サイクルのマイクロ命令の処理の
制御を行うマイクロプログラム制御装置に関するもので
ある。
Description: BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a microprogram controller, and more particularly, to controlling the processing of microinstructions in a plurality of execution cycles by an instruction control word read from a control storage in one access unit. The present invention relates to a microprogram control device for performing

〔従来の技術〕[Conventional technology]

マイクロプログラム制御方式の処理装置においては、
制御記憶に格納されているマイクロ命令を1命令ずつ読
出し、このマイクロ命令に基づいて処理装置内の各命令
実行ユニットを動作させることを繰返している。処理装
置の動作速度は、この繰返し動作時間となるため、動作
速度を高めるため、繰返し動作を高速に行う。
In a microprogram control type processing device,
The micro-instructions stored in the control memory are read one by one, and the operation of each instruction execution unit in the processing device based on the micro-instructions is repeated. Since the operation speed of the processing device is the repetition operation time, the repetition operation is performed at high speed in order to increase the operation speed.

このため、マイクロプログラム制御方式の処理装置に
おいては、マイクロ命令の読出しと、命令処理の実行を
独立に動作させるようにして、あるマイクロ命令の実行
中に次に実行すべきマイクロ命令の読出しを行うこと
で、見かけ上のマイクロ命令の読出し時間をゼロとする
読出し制御が行われている。しかし、制御記憶に用いる
メモリのアクセスタイムが、命令実行ユニットの動作時
間より遅い場合、1つのマイクロ命令の実行終了から次
のマイクロ命令の実行開始までの間、マイクロ命令の読
出し時間が表面上に現われ、実行サイクル時間が余分に
必要となり、命令処理の処理速度が遅くなるという問題
がある。
For this reason, in the processing device of the microprogram control system, the reading of the microinstruction to be executed next is performed during the execution of a certain microinstruction by operating the reading of the microinstruction and the execution of the instruction processing independently. As a result, read control is performed such that the apparent micro instruction read time is zero. However, if the access time of the memory used for the control storage is later than the operation time of the instruction execution unit, the read time of the microinstruction will be on the surface from the end of execution of one microinstruction to the start of execution of the next microinstruction. As a result, there is a problem that an extra execution cycle time is required and the processing speed of instruction processing is reduced.

この問題を解決する一手法として、制御記憶より複数
実行サイクル分のマイクロ命令を同時に読出すようにし
たマイクロプログラム制御方式の手法が知られている。
この手法によれば、1マイクロ命令の実行サイクルに比
べてマイクロ命令の読出しサイクルが長い場合であって
も、複数マイクロ命令の実行サイクルで1回の制御記憶
アクセスが可能であれば、マイクロ命令の実行上、無効
サイクルの発生を防ぐことができる。ただし、同時に読
出すマイクロ命令数は、マシンサイクル,制御記憶のア
クセスタイム等に応じて決められる。
As one method for solving this problem, there is known a method of a microprogram control system in which microinstructions for a plurality of execution cycles are simultaneously read from control storage.
According to this method, even if the read cycle of the microinstruction is longer than the execution cycle of one microinstruction, if one control storage access is possible in the execution cycle of a plurality of microinstructions, the microinstruction In execution, invalid cycles can be prevented from occurring. However, the number of microinstructions to be read at the same time is determined according to the machine cycle, the access time of the control storage, and the like.

第4図は、このような複数実行サイクル分のマイクロ
命令を同時に読出すマイクロプログラム制御方式の一例
を説明するタイムチャートである。第4図のタイムチャ
ートは、2つのマイクロ命令を1アクセス単位で読出し
て命令処理の実行を行う場合の例を示している。第4図
を参照して、このような連続する実行単位である2マイ
クロ命令を同時に読出し、マイクロ命令の処理実行を行
う場合の例の説明を続けると、ここでは、マシンサイク
ル1,2において連続した実行単位であるマイクロ命令A
およびマイクロ命令Bの組を制御記憶より読出し、3マ
シンサイクル目でマイクロ命令Aの実行を、次の4マシ
ンサイクル目でマイクロ命令Bの実行を行う。この時、
マイクロ命令Aおよびマイクロ命令Bの実行とオーバー
ラップして、次の連続する2つのマイクロ命令Cおよび
マイクロ命令Dの読出しを行う。そして、4マシンサイ
クル目のマイクロ命令Bが終了した時の次の5マシンサ
イクル目には、既に読出されているマイクロ命令Cを実
行し、続いてマイクロ命令Dの実行を行う。また、この
時、マイクロ命令Cおよびマイクロ命令Dの実行とオー
バーラップして、次の連続する2つのマイクロ命令Eお
よびマイクロ命令Fの読出しを行う。このようにして、
各々のマイクロ命令を連続して実行することができ、命
令実行サイクル上の無効サイクルをなくすことができ
る。このような手法では、1回のアクセスで2実行サイ
クル分のマイクロ命令を制御記憶より同時に読出す必要
があるため、命令制御ワードのビット幅が大きくなり、
制御記憶の記憶容量や、制御記憶データレジスタの容量
等が増大するという問題が生じる。
FIG. 4 is a time chart for explaining an example of a microprogram control system for simultaneously reading such microinstructions for a plurality of execution cycles. The time chart of FIG. 4 shows an example in which two micro-instructions are read in one access unit to execute the instruction processing. Referring to FIG. 4, description of an example in which two micro-instructions, which are such continuous execution units, are simultaneously read and the processing of the micro-instructions is performed will be continued. Micro instruction A, which is the execution unit
Then, a set of microinstructions B is read from the control storage, and the microinstruction A is executed in the third machine cycle, and the microinstruction B is executed in the next fourth machine cycle. At this time,
The next two consecutive micro-instructions C and D are read out, overlapping with the execution of the micro-instructions A and B. Then, in the next fifth machine cycle after the completion of the microinstruction B in the fourth machine cycle, the microinstruction C already read is executed, and then the microinstruction D is executed. At this time, the execution of the microinstruction C and the microinstruction D is overlapped, and the next two consecutive microinstructions E and F are read. In this way,
Each microinstruction can be executed successively, and invalid cycles on the instruction execution cycle can be eliminated. In such a method, the micro-instructions for two execution cycles must be read simultaneously from the control storage by one access, so that the bit width of the instruction control word becomes large,
There is a problem that the storage capacity of the control storage, the capacity of the control storage data register, and the like increase.

このような問題に対しては、例えば、マイクロ命令の
特定フィールドに2重の意味を持たせて、他のフィール
ドの指示データにより2重の意味を持つフィールドのど
ちらか一方の意味を用いるようにして、フィールド数を
減少させたマイクロプログラム制御方式が提案されてい
る。特開昭57−161940号公報に記載されている中央処理
装置が、このようなマイクロプログラム制御方式の一例
である。このマイクロプログラム制御方式の中央処理装
置においては、マイクロ命令の制御ワードに分岐制御フ
ィールドと、演算制御/分岐アドレスフィールドを設
け、分岐制御フィールド指示データにより、分岐が行わ
れる場合には演算制御/分岐アドレスフィールドの情報
を分岐アドレスとして使用し、分岐以外の場合には、演
算制御情報として使用するようにしている。これによ
り、マイクロ命令の制御ワードを有効利用し、制御記憶
のビット幅を縮少させている。
To solve such a problem, for example, a specific field of the microinstruction is given a double meaning, and one of the fields having a double meaning is used according to the instruction data of the other field. Thus, a microprogram control method in which the number of fields is reduced has been proposed. The central processing unit described in Japanese Patent Application Laid-Open No. 57-161940 is an example of such a microprogram control method. In this microprogram control type central processing unit, a control word of a microinstruction is provided with a branch control field and an operation control / branch address field. The information in the address field is used as a branch address, and in cases other than branching, it is used as operation control information. Thereby, the control word of the microinstruction is effectively used, and the bit width of the control storage is reduced.

〔発明が解決しようとする課題〕[Problems to be solved by the invention]

ところで、上述のようなマイクロプログラム制御方式
においては、マイクロ命令の制御ワードに分岐制御フィ
ールドと、演算制御/分岐アドレスフィールドが設けら
れ、分岐制御フィールド指示データにより、分岐を行う
場合には演算制御/分岐アドレスフィールドの情報を分
岐アドレスとして使用し、分岐以外の場合には演算制御
情報として使用する。このため、マイクロ命令の制御ワ
ードを有効利用でき、制御記憶のビット幅を減少させる
ことができる。
By the way, in the microprogram control method as described above, a control word of a microinstruction is provided with a branch control field and an operation control / branch address field. The information in the branch address field is used as a branch address, and in cases other than a branch, it is used as operation control information. Therefore, the control word of the microinstruction can be effectively used, and the bit width of the control storage can be reduced.

しかしながら、ここでは、1つのアクセス単位のマイ
クロ命令の制御ワードの演算制御/分岐アドレスフィー
ルド上の情報を分岐アドレス情報または演算制御情報に
兼用するため、マイクロ命令の実行制御で分岐を行う場
合には演算制御を行うことができず、また、同様に演算
制御を行う場合には分岐する実行制御を行うことができ
ず、マイクロ命令を実行する上での実行効率が低下する
という問題があった。
However, in this case, the information in the operation control / branch address field of the control word of the microinstruction of one access unit is also used as the branch address information or the operation control information. The arithmetic control cannot be performed, and when the arithmetic control is similarly performed, the execution control for branching cannot be performed, and there is a problem that the execution efficiency in executing the microinstruction is reduced.

本発明は、上記問題点を解決するためになされたもの
である。
The present invention has been made to solve the above problems.

本発明の目的は、マイクロプログラム制御装置におい
て、マイクロ命令の実行制御の実行効率の低下を最小限
におさえ、かつマイクロ命令の制御ワードのビット幅を
減少させることにある。
SUMMARY OF THE INVENTION It is an object of the present invention to provide a microprogram control device that minimizes a decrease in execution efficiency of microinstruction execution control and reduces a bit width of a control word of a microinstruction.

本発明の前記ならびにその他の目的と新規な特徴は、
本明細書の記述及び添付図面によって明らかになるであ
ろう。
The above and other objects and novel features of the present invention are as follows.
It will become apparent from the description of the present specification and the accompanying drawings.

〔課題を解決するための手段〕[Means for solving the problem]

上記目的を達成するため、本発明においては、制御記
憶に格納されたマイクロ命令の制御ワードを読出して、
マイクロ命令の制御を行うマイクロプログラム制御方式
により処理を行う処理装置において、フィールド制御部
と複数の制御フィールド部を設けた制御ワードを制御記
憶より1アクセス単位で読出し、制御ワードにより複数
の実行サイクルを制御する制御回路と、各実行サイクル
毎に動作可能な複数の実行ユニットとを備え、制御ワー
ドのフィールド制御部の内容に基づいて、各制御フィー
ルド部で作用させる実行ユニットを選択すると共に、各
実行ユニットの実行サイクル指示を行うことを特徴とす
る。
To achieve the above object, in the present invention, a control word of a microinstruction stored in a control memory is read,
In a processing device which performs processing by a microprogram control method for controlling a microinstruction, a control word provided with a field control unit and a plurality of control field units is read from a control storage in one access unit, and a plurality of execution cycles are executed by the control word. A control circuit for controlling, and a plurality of execution units operable for each execution cycle, selecting an execution unit to be operated in each control field unit based on the contents of a field control unit of a control word, and executing each execution unit. It is characterized in that a unit execution cycle instruction is issued.

詳しくは、制御記憶より1アクセス単位で読出した制
御ワードにより2マシンサイクルの実行サイクルを制御
する制御回路と、各実行サイクル毎に動作可能な複数の
実行ユニットを備え、制御ワードに1個のフィールド制
御部と、複数の制御フィールド部を設け、制御フィール
ド部は、第1実行サイクルで動作する1つ以上の制御フ
ィールドと、第2実行サイクルで動作する1つ以上の制
御フィールドに分割され、第2実行サイクルで動作する
制御フィールドのうち、あらかじめ決められた特定フィ
ールドは、フィールド制御部により分岐が指示されてい
る場合は第1実行サイクルにおいて分岐制御情報,分岐
アドレス情報として使用する制御を行い、分岐が指示さ
れていない場合は、第2実行サイクルでの制御フィール
ドとして使用する制御を行うことを特徴とする。
More specifically, the control word includes a control circuit for controlling an execution cycle of two machine cycles by a control word read in one access unit from a control memory, and a plurality of execution units operable for each execution cycle. A control unit and a plurality of control field units, wherein the control field unit is divided into one or more control fields operating in a first execution cycle and one or more control fields operating in a second execution cycle; Of the control fields operating in two execution cycles, a predetermined specific field performs control to be used as branch control information and branch address information in the first execution cycle when branching is instructed by the field control unit, If the branch is not instructed, the control used as the control field in the second execution cycle And performing.

また、フィールド制御部により分岐が指示されている
場合で、かつ分岐が不成立の場合は第2実行サイクル用
の制御フィールドのうち特定フィールドを除く残りの制
御フィールドに従う制御を第2実行サイクルで行うこと
を特徴とする。
Further, when the branch is instructed by the field control unit and the branch is not taken, the control according to the remaining control fields other than the specific field among the control fields for the second execution cycle is performed in the second execution cycle. It is characterized by.

〔作用〕[Action]

前記手段によれば、制御記憶より1アクセス単位で読
出した制御ワードにより複数の実行サイクルを制御する
制御回路と、各実行サイクル毎に動作可能な複数の実行
ユニットとを備えられる。マイクロ命令の制御ワードに
は、フィールド制御部と、複数の制御フィールド部が設
けられる。制御フィールド部は、例えば、第1の実行サ
イクルで動作する1つ以上の制御フィールドと、第2の
実行サイクルで動作する1つ以上の制御フィールドに分
割され、フィールド制御部の内容に基づいて、各制御フ
ィールド部で作用される実行ユニットが選択されると共
に、各実行ユニットの実行サイクル指示が行われる。
According to the above means, there are provided a control circuit for controlling a plurality of execution cycles by a control word read from the control storage in one access unit, and a plurality of execution units operable for each execution cycle. The control word of the microinstruction is provided with a field control unit and a plurality of control field units. The control field unit is divided into, for example, one or more control fields operating in a first execution cycle and one or more control fields operating in a second execution cycle, and based on the contents of the field control unit, An execution unit operated in each control field unit is selected, and an execution cycle instruction of each execution unit is issued.

これにより、マイクロ命令の実行制御においては、フ
ィールド制御部の内容に基づいて、各制御フィールド部
で作用させる実行ユニットを任意に選択して、実行ユニ
ットの実行サイクル指示を行うので、マイクロ命令の実
行制御を効率よく行うことができる。また、制御フィー
ルド部をフィールド制御部に内容により選択して用いる
ことができるので、マイクロ命令の制御ワードのビット
幅を減少させることができる。
Thus, in the execution control of the microinstruction, the execution unit to be operated in each control field unit is arbitrarily selected and the execution cycle of the execution unit is instructed based on the contents of the field control unit. Control can be performed efficiently. Further, since the control field portion can be selectively used for the field control portion depending on the content, the bit width of the control word of the microinstruction can be reduced.

例えば、制御フィールド部は、第2の実行サイクルで
動作する制御フィールドのうち、あらかじめ決められた
特定フィールドが、フィールド制御部の指示により分岐
を行う場合は分岐制御情報,分岐アドレス情報として使
用する制御を行い、分岐を行わない場合は、第2実行サ
イクルでは制御フィールドとして使用する制御を行う。
For example, when the predetermined specific field among the control fields operating in the second execution cycle performs a branch according to the instruction of the field control unit, the control field unit controls the control field to use as branch control information and branch address information. When no branch is performed, control is performed in the second execution cycle to use the control field.

すなわち、好適な実施態様では、制御記憶より1アク
セス単位で読出した制御ワードにより2マシンサイクル
の実行サイクルを制御する制御回路と、各実行サイクル
毎に動作可能な複数の実行ユニットが備えられる。制御
ワードに1個のフィールド制御部と、複数の制御フィー
ルド部を設けられる。制御フィールド部は、第1の実行
サイクルで動作する1つ以上の制御フィールドと、第2
の実行サイクルで動作する1つ以上の制御フィールドに
分割される。そして、第2の実行サイクルで動作する制
御フィールドのうち、あらかじめ決められた特定フィー
ルドは、フィールド制御部の指示により分岐を行う場合
は分岐制御情報,分岐アドレス情報として使用するよう
に制御される。また、分岐が行われない場合は、第2の
実行サイクルでの制御フィールドとして使用するよう制
御される。
That is, in a preferred embodiment, a control circuit for controlling an execution cycle of two machine cycles by a control word read from the control storage in one access unit, and a plurality of execution units operable in each execution cycle are provided. One field control unit and a plurality of control field units are provided for the control word. The control field unit includes one or more control fields operating in a first execution cycle and a second control field.
Is divided into one or more control fields that operate in the execution cycle. Then, among the control fields operating in the second execution cycle, a predetermined specific field is controlled to be used as branch control information and branch address information when branching is performed according to an instruction of the field control unit. When the branch is not performed, the control is performed so as to be used as a control field in the second execution cycle.

このように、マイクロ命令が分岐を伴わない場合、制
御記憶より読出された制御フィールドはそれぞれ第1の
実行サイクル、第2の実行サイクルで実行ユニットによ
り動作され、次アドレスとしては現在の制御記憶アドレ
スの次の値が選択される。実行制御としては逐次処理に
より各々の実行ユニットを選択して処理を行う制御で、
処理が進行する。
Thus, when the microinstruction does not involve a branch, the control fields read from the control storage are operated by the execution unit in the first execution cycle and the second execution cycle, respectively, and the next address is the current control storage address. The next value of is selected. Execution control is a control that selects each execution unit by sequential processing and performs processing.
Processing proceeds.

分岐を伴う場合、第1の実行サイクルは第1実行サイ
クル用の制御フィールドの情報に従って動作すると共
に、フィールド制御部の指示により第2実行サイクル用
の制御フィールドの定められた特定のフィールドで示さ
れる分岐制御情報と分岐アドレス情報により分岐制御が
行われる。分岐が成立した場合、分岐アドレス情報によ
り示されるアドレスより制御記憶が読出されて、処理が
続行される実行制御が行われる。また、分岐が不成立の
場合、第2の実行サイクル用の制御フィールドのうち分
岐制御情報と分岐アドレス情報に用いられなかった残り
のフィールドが第2の実行サイクルで実行ユニットによ
り動作される。
When a branch is involved, the first execution cycle operates according to the information in the control field for the first execution cycle, and is indicated by a specific field defined in the control field for the second execution cycle according to an instruction of the field control unit. Branch control is performed based on the branch control information and the branch address information. When the branch is taken, the control storage is read from the address indicated by the branch address information, and execution control for continuing the processing is performed. When the branch is not taken, the remaining fields not used for the branch control information and the branch address information among the control fields for the second execution cycle are operated by the execution unit in the second execution cycle.

このような実行制御の動作が行われるため、分岐不成
立時には第2の実行サイクルで制御フィールドの制御が
生ずるが、分岐成立時には制御フィールドの制限が生じ
ないので、マイクロ命令の実行制御の実行効率を低下さ
せることなく分岐することができる。これにより、分岐
を含むマイクロ命令の実行効率の低下を最小限におさえ
て制御ワードのビット幅を減少することが可能となる。
Since such an execution control operation is performed, the control field is controlled in the second execution cycle when the branch is not taken, but the control field is not restricted when the branch is taken, so that the execution efficiency of the microinstruction execution control is reduced. It can branch without lowering. As a result, it is possible to reduce the bit width of the control word while minimizing the decrease in the execution efficiency of the microinstruction including the branch.

〔実施例〕〔Example〕

以下、本発明の一実施例を図面を用いて具体的に説明
する。
Hereinafter, an embodiment of the present invention will be specifically described with reference to the drawings.

第1図は、本発明の一実施例にかかるマイクロプログ
ラム制御装置による処理装置のブロック図である。第1
図において、1は制御記憶部、2は制御記憶データレジ
スタ、3はフィールド制御回路部、4は実行サイクル制
御部、5〜7はセレクタである。8〜10は各フィールド
のマイクロ命令を実行する実行ユニット、11〜12は切替
器、13は分岐制御部である。また、14はセレクタ、15は
制御記憶アドレスレジスタ、16はインクリメンタであ
る。
FIG. 1 is a block diagram of a processing device by a microprogram control device according to one embodiment of the present invention. First
In the figure, 1 is a control storage unit, 2 is a control storage data register, 3 is a field control circuit unit, 4 is an execution cycle control unit, and 5 to 7 are selectors. Reference numerals 8 to 10 denote execution units for executing microinstructions in each field, 11 to 12 denote switchers, and 13 denotes a branch control unit. 14 is a selector, 15 is a control storage address register, and 16 is an incrementer.

制御記憶部1の1アクセス単位である1つの制御ワー
ドは、制御記憶データレジスタ2において各々のフィー
ルドが分割されて用いられる。すなわち、フィールド制
御部である1個のXフィールドと、制御フィールド部で
ある6個の制御フィールド、すなわち、第1実行サイク
ル用マイクロ命令のC0フィールド,F0フィールド,およ
びL0フィールドと、第2実行サイクル用マイクロ命令の
C1フィールド,F1フィールド,およびL1フィールドに分
割され用いられる。制御記憶部1から1アクセス単位で
読出され、制御記憶データレジスタ2にラッチされた制
御ワードは、実行サイクルが第1実行サイクル時には、
実行サイクル制御部4の指示により、制御記憶データレ
ジスタ2のC0フィールド,F0フィールド,L0フィールドが
それぞれセレクタ5,6,7で選択され、各フィールドの実
行ユニット8,9,10に送られる。同様にして、第2実行サ
イクル時には、実行サイクル制御部4の指示でそれぞれ
セレクタ5,6,7により、C1フィールド,F1フィールド,L1
フィールドが選択され、実行ユニット8,9,10に送られ
る。
One control word, which is one access unit of the control storage unit 1, is used by dividing each field in the control storage data register 2. That is, one X field which is a field control unit, and six control fields which are a control field unit, that is, a C0 field, a F0 field, and an L0 field of a micro instruction for the first execution cycle, and a second execution cycle For micro instruction
It is divided into C1 field, F1 field and L1 field for use. The control word read out from the control storage unit 1 in units of one access and latched in the control storage data register 2 is used when the execution cycle is the first execution cycle.
According to the instruction from the execution cycle control unit 4, the C0 field, F0 field, and L0 field of the control storage data register 2 are selected by the selectors 5, 6, and 7, respectively, and sent to the execution units 8, 9, and 10 of each field. Similarly, in the second execution cycle, the selectors 5, 6, and 7 respectively specify the C1 field, the F1 field, and the L1
The field is selected and sent to the execution units 8, 9, 10.

マイクロ命令が分岐を含まず逐次処理される場合は、
制御記憶アドレスレジスタ15に格納される制御記憶アド
レスは、インクリメンタ16により逐次増加され、この制
御記憶アドレスレジスタ15の制御記憶アドレスに従って
次の制御ワードが制御記憶部1より読み出される。
If micro-instructions are processed sequentially without branching,
The control storage address stored in the control storage address register 15 is sequentially increased by the incrementer 16, and the next control word is read from the control storage unit 1 in accordance with the control storage address of the control storage address register 15.

マイクロ命令が分岐を含む場合は、制御記憶データレ
ジスタ2のXフィールド情報によりフィールド制御回路
3が動作し、このフィールド制御回路部3の指示により
F1フィールドの情報は分岐制御情報(Tフィールド)と
して切替器11を通じて分岐制御部13に取り込まれる。分
岐が成立した場合には、L1フィールドの情報が分岐アド
レス(Bフィールド)として切替器12,セレクタ14を介
して制御記憶アドレスレジスタ15に取込まれる。これに
より、次の制御ワードの読出しアドレスデータがBフィ
ールドの分岐アドレスとなり、このアドレスデータで制
御記憶部1の制御ワードが読出され、分岐が行われる。
分岐が不成立の場合には、Bフィールドの分岐アドレス
は制御記憶アドレスレジスタ15に取込まれず、セレクタ
14を介してインクリメンタ16から増加した次のアドレス
データが制御記憶アドレスレジスタ15に取込まれる。こ
の場合には、次に第2実行サイクルが動作し、第2実行
サイクル用制御フィールドのうちのC1フィールドのみが
実行ユニット8へ送出される。
When the microinstruction includes a branch, the field control circuit 3 operates according to the X field information of the control storage data register 2,
The information in the F1 field is taken into the branch control unit 13 through the switch 11 as branch control information (T field). When the branch is taken, the information of the L1 field is taken into the control storage address register 15 via the switch 12 and the selector 14 as the branch address (B field). As a result, the read address data of the next control word becomes the branch address of the B field, and the control word of the control storage unit 1 is read with this address data, and the branch is performed.
If the branch is not taken, the branch address of the B field is not taken into the control storage address register 15 and the selector
The next address data incremented from the incrementer 16 via 14 is taken into the control storage address register 15. In this case, the second execution cycle operates next, and only the C1 field of the second execution cycle control field is sent to the execution unit 8.

第2図は、分岐制御を伴うマイクロ命令の実行制御を
説明するための制御ワードの一例を示す図である。ま
た、第3a図および第3b図は、分岐制御を伴うマイクロ命
令の実行制御を説明するためのタイムチャートである。
FIG. 2 is a diagram showing an example of a control word for explaining execution control of a microinstruction accompanied by branch control. FIGS. 3a and 3b are time charts for explaining execution control of a microinstruction accompanied by branch control.

マイクロ命令の制御ワードが、第2図に示すように、
制御記憶部1のアドレスN0〜N2,N5〜N6,B0〜B1に、記憶
されており、これらの制御ワードにより、マイクロ命令
処理の実行制御を行う場合を例にして説明する。
The control word of the microinstruction is as shown in FIG.
An example in which the execution of microinstruction processing is controlled by these control words stored in addresses N0 to N2, N5 to N6, and B0 to B1 of the control storage unit 1 will be described.

第3a図を参照する。マシンサイクル1,2において、制
御記憶アドレスレジスタ15のアドレスデータN0により、
制御記憶部1からの読出し動作が行われ、読出された制
御ワードC0F0L0C1F1L1の実行制御が、マシンサイクル3,
4において行われる。マシンサイクル3においては、実
行サイクル制御部4が論理“0"信号を出力し、マシンサ
イクル3が第1実行サイクルであることを指示し、セレ
クタ5,6,7を制御して第1実行サイクルの制御フィール
ドC0F0L0の実行を実行ユニット8,9,10で行う。次のマシ
ンサイクル4では、実行サイクル制御部4が論理“1"信
号を出力し、マシンサイクル4が第2実行サイクルであ
ることを指示するため、セレクタ5,6,7の制御により第
2実行サイクルの各制御フィールドC1F1L1の実行を実行
ユニット8,9,10で行う。マシンサイクル3,4において
は、この時、制御記憶アドレスレジスタ15のアドレスデ
ータがアドレスN1に更新され、このアドレスデータN1に
より、次の制御ワードの制御記憶部1からの読出し動作
が行われる。この読出し動作で読出された第2の制御ワ
ードC2F2L2C3T0B0の実行制御は、次のマシンサイクル5,
6で行われる。
Please refer to FIG. 3a. In machine cycles 1 and 2, the address data N0 of the control storage address register 15
The read operation from the control storage unit 1 is performed, and the execution control of the read control word C0F0L0C1F1L1 is controlled by the machine cycle 3,
Done at 4. In the machine cycle 3, the execution cycle control unit 4 outputs a logical "0" signal to indicate that the machine cycle 3 is the first execution cycle, and controls the selectors 5, 6, and 7 to execute the first execution cycle. The execution units 8, 9, and 10 execute the control field C0F0L0. In the next machine cycle 4, the execution cycle control unit 4 outputs a logical "1" signal to indicate that the machine cycle 4 is the second execution cycle. Therefore, the second execution cycle is controlled by the selectors 5, 6, and 7. Execution of each control field C1F1L1 of the cycle is performed by the execution units 8, 9, and 10. At this time, in the machine cycles 3 and 4, the address data of the control storage address register 15 is updated to the address N1, and the next control word is read from the control storage unit 1 by this address data N1. The execution control of the second control word C2F2L2C3T0B0 read in this read operation is performed in the next machine cycle 5,
Done at 6.

第2の制御ワードC2F2L2C3T0B0は分岐を含むものであ
ることが、フィールド制御を指示するXフィールドの論
理“1"により指示されているので、マシンサイクル5,6
においては、フィールド制御回路部3が論理“1"信号を
出力し、分岐を含む第2の制御ワードC2F2L2C3T0B0の実
行制御を行う。
Since the fact that the second control word C2F2L2C3T0B0 includes a branch is indicated by the logic "1" of the X field indicating the field control, the machine cycles 5, 6
In, the field control circuit section 3 outputs a logical "1" signal and controls the execution of the second control word C2F2L2C3T0B0 including the branch.

マシンサイクル5においては、実行サイクル制御部4
が論理“0"信号を出力し、マシンサイクル5が第1実行
サイクルであることを指示している。この場合、セレク
タ5,6,7が制御され、第1実行サイクルの制御フィール
ドC2F2L2の実行制御が実行ユニット8,9,10により行われ
る。一方、この時、マシンサイクル5が第1実行サイク
ルであることを指示しているが、フィールド制御回路部
3が論理“1"信号を出力しており、第2実行サイクルの
制御フィールドT0の情報が、分岐制御を行う情報とし
て、切替器11を介して分岐制御部13に加えられる。そし
て、このマシンサイクル5で分岐制御部13の動作が行わ
れる。この場合、分岐は不成立であるので、制御記憶ア
ドレスレジスタ15はアドレスN2に更新され、このアドレ
スデータN2により、次の制御ワードの制御記憶部1から
の読出し動作が行われることになる。次のマシンサイク
ル6では、実行サイクル制御部4が論理“1"信号を出力
し、マシンサイクル6が第2実行サイクルであることを
指示し、セレクタ5,6,7を制御するが、この場合、セレ
クタ6,7には第2実行サイクルの制御フィールドの情報
が加えられておらず、実行ユニット8のみが、制御フィ
ールドC3の実行を行う。マシンサイクル6の終了時に
は、この時、上述のように既に制御記憶アドレスレジス
タ15がアドレスN2に更新されて、このアドレスデータN2
により、次の制御ワードC4F4L4C5F5L5がの制御記憶部1
から読出されており、図示しないが、次のマシンサイク
ル7,8において、マシンサイクル3,4と同様な実行制御の
動作が行われることになる。
In the machine cycle 5, the execution cycle control unit 4
Outputs a logic "0" signal, indicating that machine cycle 5 is the first execution cycle. In this case, the selectors 5, 6, and 7 are controlled, and the execution units 8, 9, and 10 control the execution of the control field C2F2L2 in the first execution cycle. On the other hand, at this time, although the machine cycle 5 indicates that it is the first execution cycle, the field control circuit unit 3 outputs a logic "1" signal, and the information of the control field T0 of the second execution cycle is output. Is added to the branch control unit 13 via the switch 11 as information for performing branch control. Then, in the machine cycle 5, the operation of the branch control unit 13 is performed. In this case, since the branch is not taken, the control storage address register 15 is updated to the address N2, and a read operation of the next control word from the control storage unit 1 is performed by the address data N2. In the next machine cycle 6, the execution cycle control unit 4 outputs a logical "1" signal, instructs that the machine cycle 6 is the second execution cycle, and controls the selectors 5, 6, and 7. In this case, The information of the control field of the second execution cycle is not added to the selectors 6 and 7, and only the execution unit 8 executes the control field C3. At the end of the machine cycle 6, at this time, the control storage address register 15 has already been updated to the address N2 as described above, and this address data N2
The next control word C4F4L4C5F5L5 is stored in the control storage unit 1
Although not shown, in the next machine cycles 7 and 8, the same execution control operation as in the machine cycles 3 and 4 is performed.

次に、分岐を含む制御ワードによるマイクロ命令の実
行制御で、分岐が成立する場合を、第3b図を参照して説
明する。
Next, a case where a branch is taken by execution control of a microinstruction by a control word including a branch will be described with reference to FIG. 3b.

マシンサイクル10,11において、制御記憶アドレスレ
ジスタ15のアドレスデータN5により、制御記憶部1から
の読出し動作が行われ、読出された制御ワードC6F6L6C7
T1B0の実行制御が、マシンサイクル12,13において行わ
れる。マシンサイクル12においては、実行サイクル制御
部4が論理“0"信号を出力し、マシンサイクル12が第1
実行サイクルであることを指示している。この場合、セ
レクタ5,6,7が制御され、第1実行サイクルの制御フィ
ールドC6F6L6の実行制御が実行ユニット8,9,10により行
われる。この時、マシンサイクル12が第1実行サイクル
であることを指示しているが、フィールド制御回路部3
が論理“1"信号を出力しており、第2実行サイクルの制
御フィールドT1の情報が、分岐制御を行う情報として、
切替器11を介して分岐制御部13に加えられる。そして、
マシンサイクル12で分岐制御部13の動作が行われて、こ
の場合、分岐は成立と判定されると、分岐制御部13の動
作により切替器12,セレクタ14を介して、制御記憶アド
レスレジスタ15には、第2実行サイクルの制御フィール
ド(L1)からの情報のアドレスデータが読込まれ、アド
レスB0に更新される。このアドレスデータB0により、次
の制御ワードの制御記憶部1からの読出し動作が行われ
ることになる。この場合、次のマシンサイクル13では、
実行サイクル制御部4が論理“1"信号を出力し、マシン
サイクル6が第2実行サイクルであることを指示する
が、この第2実行サイクルで行う制御フィールドの実行
制御は分岐制御であって、既に処理が終了しているの
で、セレクタ5を介して第2実行サイクルの制御フィー
ルドC7が実行ユニット8に加えられるが、この制御フィ
ールドC7の実行は無効とされる。
In the machine cycles 10 and 11, a read operation from the control storage unit 1 is performed by the address data N5 of the control storage address register 15, and the read control word C6F6L6C7
Execution control of T1B0 is performed in machine cycles 12 and 13. In the machine cycle 12, the execution cycle control unit 4 outputs a logical "0" signal, and the machine cycle 12
Indicates that this is an execution cycle. In this case, the selectors 5, 6, and 7 are controlled, and the execution control of the control field C6F6L6 in the first execution cycle is performed by the execution units 8, 9, and 10. At this time, although the machine cycle 12 indicates that it is the first execution cycle, the field control circuit unit 3
Outputs a logic "1" signal, and information in the control field T1 of the second execution cycle is
It is added to the branch control unit 13 via the switch 11. And
The operation of the branch control unit 13 is performed in the machine cycle 12, and in this case, when it is determined that the branch is taken, the operation of the branch control unit 13 causes the control storage address register 15 to be stored in the control storage address register 15 via the switch 12 and the selector 14. The address data of the information from the control field (L1) of the second execution cycle is read and updated to the address B0. With this address data B0, a read operation of the next control word from the control storage unit 1 is performed. In this case, in the next machine cycle 13,
The execution cycle control unit 4 outputs a logical "1" signal to indicate that the machine cycle 6 is the second execution cycle. The execution control of the control field performed in the second execution cycle is a branch control. Since the processing has already been completed, the control field C7 of the second execution cycle is added to the execution unit 8 via the selector 5, but the execution of the control field C7 is invalidated.

マシンサイクル13の終了時には、この時、上述のよう
に既に制御記憶アドレスレジスタ15が分岐先アドレスの
アドレスB0に更新されて、このアドレスデータB0によ
り、次の制御ワードC10F10L10C11F11L11がの制御記憶部
1から読出されており、次のマシンサイクル14,15にお
いて、マシンサイクル3,4と同様な実行制御の動作が行
われることになる。
At the end of the machine cycle 13, at this time, as described above, the control storage address register 15 has already been updated to the address B0 of the branch destination address, and the address data B0 causes the next control word C10F10L10C11F11L11 to be read from the control storage unit 1. The read has been performed, and in the next machine cycles 14 and 15, the same execution control operation as in the machine cycles 3 and 4 is performed.

このように、本実施例のマイクロプログラム制御装置
では、マイクロ命令の実行制御で分岐を行う場合にも演
算制御を行うことができ、また、演算制御を行う場合に
も分岐する実行制御を行うことができるので、マイクロ
命令を実行する上での実行効率が低下することはない。
また、フィールド制御回路部3の制御により、F1フィー
ルドを分岐制御のTフィールドとして用い、L1フィール
ドを分岐アドレス情報のBフィールドとして兼用して用
いる構成としているので、制御ワードの幅を減少させる
ことができる。
As described above, in the microprogram control device of the present embodiment, it is possible to perform arithmetic control even when branching is performed by microinstruction execution control, and to perform branching execution control even when performing arithmetic control. Therefore, the execution efficiency in executing the microinstruction does not decrease.
Also, under the control of the field control circuit unit 3, the F1 field is used as the T field for branch control, and the L1 field is also used as the B field for branch address information, so that the width of the control word can be reduced. it can.

以上、本発明を実施例にもとづき具体的に説明した
が、本発明は、前記実施例に限定されるものではなく、
その要旨を逸脱しない範囲において種々変更可能である
ことは言うまでもない。
As mentioned above, although the present invention was explained concretely based on an example, the present invention is not limited to the above-mentioned example.
It goes without saying that various changes can be made without departing from the scope of the invention.

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

以上、説明したように、本発明によれば、マイクロ命
令の実行制御を行う場合に、分岐を含むマイクロ命令の
実行制御の実行効率の低下を最小限におさえ、かつ制御
記憶ワードのビット幅を減少することができるので、シ
ステムを経済的に構築できるという効果がある。
As described above, according to the present invention, when controlling the execution of a microinstruction, a decrease in the execution efficiency of the execution control of a microinstruction including a branch is minimized, and the bit width of the control storage word is reduced. Since it can be reduced, there is an effect that the system can be constructed economically.

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

第1図は、本発明の一実施例にかかるマイクロプログラ
ム制御装置による処理装置のブロック図、 第2図は、分岐制御を伴うマイクロ命令の実行制御を説
明するための制御ワードの一例を示す図、 第3a図および第3b図は、分岐制御を伴うマイクロ命令の
実行制御を説明するためのタイムチャート、 第4図は、従来の複数実行サイクル分のマイクロ命令を
同時に読出すマイクロプログラム制御方式の一例を説明
するタイムチャートである。 図中、1……制御記憶部、2……制御記憶データレジス
タ、3……フィールド制御回路部、4……実行サイクル
制御部、5〜7,14……セレクタ、8〜10……実行ユニッ
ト、11〜12……切替器、13……分岐制御部、15……制御
記憶アドレスレジスタ、16……インクリメンタ。
FIG. 1 is a block diagram of a processing device by a microprogram control device according to one embodiment of the present invention. FIG. 2 is a diagram showing an example of a control word for explaining execution control of a microinstruction accompanied by branch control. 3a and 3b are time charts for explaining the execution control of a microinstruction accompanied by branch control. FIG. 4 is a conventional microprogram control method for simultaneously reading microinstructions for a plurality of execution cycles. It is a time chart explaining an example. In the figure, 1... Control storage unit, 2... Control storage data register, 3... Field control circuit unit, 4... Execution cycle control unit, 5 to 7, 14. .., 11-12... Switch, 13... Branch control unit, 15... Control storage address register, 16.

フロントページの続き (58)調査した分野(Int.Cl.6,DB名) G06F 9/26 320 G06F 9/28 320 Continuation of the front page (58) Field surveyed (Int.Cl. 6 , DB name) G06F 9/26 320 G06F 9/28 320

Claims (2)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】制御記憶より1アクセス単位で読出した制
御ワードにより2マシンサイクルの実行サイクルを制御
する制御回路と、前記2マシンサイクルの各実行サイク
ル毎に前記制御ワードの情報で指示された動作を実行す
る複数の実行ユニットを備えたマイクロプログラム制御
装置であって、 前記制御ワードを、1個のフィールド制御部と、第1実
行サイクルで使用する1つ以上の制御フィールドと第2
実行サイクルで使用する1つ以上の制御フィールドに分
割された複数の制御フィールド部とで構成し、かつ前記
制御記憶より読出した制御ワード中の前記フィールド制
御部により分岐が指示されている場合は、前記第2実行
サイクルで使用する制御フィールドのうち、あらかじめ
決められた特定フィールドを第1実行サイクルにおいて
分岐制御情報,分岐アドレス情報として使用する制御行
い、分岐が指示されていない場合は、第2実行サイクル
での制御フィールドとして使用する制御を行うフィール
ド制御回路を備えたことを特徴とするマイクロプログラ
ム制御装置。
A control circuit for controlling an execution cycle of two machine cycles by a control word read from a control storage in one access unit, and an operation designated by information of the control word for each execution cycle of the two machine cycles A plurality of execution units for executing the control word, wherein the control word includes one field control unit, one or more control fields used in a first execution cycle, and a second control unit.
A plurality of control field parts divided into one or more control fields used in an execution cycle, and when a branch is instructed by the field control part in a control word read from the control storage, Of the control fields used in the second execution cycle, control is performed using a predetermined specific field as branch control information and branch address information in the first execution cycle. If no branch is specified, the second execution is performed. A microprogram control device comprising a field control circuit for performing control for use as a control field in a cycle.
【請求項2】前記フィールド制御回路は、前記フィール
ド制御部により分岐が指示されている場合で、かつ分岐
が不成立の場合は第2実行サイクル用の制御フィールド
のうち特定フィールドを除く残りの制御フィールドに従
う制御を第2実行サイクルで実行することを特徴とする
請求項1記載のマイクロプログラム制御装置。
2. The field control circuit according to claim 1, wherein, when a branch is instructed by said field control unit, and when the branch is not taken, a control field other than a specific field among control fields for a second execution cycle. 2. The microprogram control device according to claim 1, wherein control according to the following is executed in a second execution cycle.
JP63176440A 1988-07-14 1988-07-14 Micro program controller Expired - Lifetime JP2982129B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63176440A JP2982129B2 (en) 1988-07-14 1988-07-14 Micro program controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63176440A JP2982129B2 (en) 1988-07-14 1988-07-14 Micro program controller

Publications (2)

Publication Number Publication Date
JPH0225931A JPH0225931A (en) 1990-01-29
JP2982129B2 true JP2982129B2 (en) 1999-11-22

Family

ID=16013743

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63176440A Expired - Lifetime JP2982129B2 (en) 1988-07-14 1988-07-14 Micro program controller

Country Status (1)

Country Link
JP (1) JP2982129B2 (en)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57161940A (en) * 1981-03-31 1982-10-05 Fujitsu Ltd Central processing device
JPS62143139A (en) * 1985-12-17 1987-06-26 Nec Corp Microprogram controller

Also Published As

Publication number Publication date
JPH0225931A (en) 1990-01-29

Similar Documents

Publication Publication Date Title
EP0114304B1 (en) Vector processing hardware assist and method
JPH06105429B2 (en) Micro program controller
JP3237858B2 (en) Arithmetic unit
EP0377976A2 (en) Microcode control apparatus utilizing programmable logic array circuits
EP0164418B1 (en) Microprogram control system
JP2982129B2 (en) Micro program controller
JP2929980B2 (en) Information processing device
JPH0218732B2 (en)
JP2504974B2 (en) Sequencer high-speed processing method
JPS6028014B2 (en) microprocessor
JPS63141131A (en) Pipeline control system
JP3117214B2 (en) Sequencer microprogram control method
JPS61282946A (en) Programmable controller
JP2583614B2 (en) Vector arithmetic unit
JP3088956B2 (en) Arithmetic unit
JPH0338613B2 (en)
JPS6015969B2 (en) Microinstruction address generation method
JPS60247742A (en) Pipeline arithmetic controller
JPS61182135A (en) Process selecting system
JPS58114250A (en) Common microprocessor
JPS5875250A (en) Digital information processor
JPS6065343A (en) Instruction processor
JPS60144830A (en) Information processor
JPS60247743A (en) Pipeline arithmetic controller
JPS6128140B2 (en)

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20070924

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080924

Year of fee payment: 9

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080924

Year of fee payment: 9