JPH0519172B2 - - Google Patents

Info

Publication number
JPH0519172B2
JPH0519172B2 JP60287702A JP28770285A JPH0519172B2 JP H0519172 B2 JPH0519172 B2 JP H0519172B2 JP 60287702 A JP60287702 A JP 60287702A JP 28770285 A JP28770285 A JP 28770285A JP H0519172 B2 JPH0519172 B2 JP H0519172B2
Authority
JP
Japan
Prior art keywords
instruction
branch
register
instruction field
field
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
JP60287702A
Other languages
Japanese (ja)
Other versions
JPS62147530A (en
Inventor
Yoshiichi Mori
Shigeo Sawada
Mitsuharu Nagai
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 JP28770285A priority Critical patent/JPS62147530A/en
Publication of JPS62147530A publication Critical patent/JPS62147530A/en
Publication of JPH0519172B2 publication Critical patent/JPH0519172B2/ja
Granted legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明は、マイクロプログラム制御方式に関
し、特にマイクロプログラム制御方式を採用する
情報処理装置等において、分岐を伴うマイクロ命
令の分岐制御方式に関するものである。
[Detailed Description of the Invention] [Field of Application of the Invention] The present invention relates to a microprogram control method, and more particularly to a branch control method for microinstructions that involve branching in an information processing device that employs a microprogram control method. .

〔発明の背景〕[Background of the invention]

マイクロプログラム制御方式をとる情報処理装
置において、マイクロ命令(以下、単に命令と略
称する)の高速化処理が要求される場合、命令の
読み出し、命令のデコード等の命令実行における
前処理と命令実行とを独立に行うパイプライン処
理が用いられる。
In an information processing device that uses a microprogram control method, when high-speed processing of microinstructions (hereinafter simply referred to as instructions) is required, preprocessing and instruction execution during instruction execution such as instruction reading and instruction decoding are required. Pipeline processing is used to perform these independently.

かかるパイプライン処理により、1命令の実行
における前処理と1命令の実行とを同一マシンサ
イクルで行うことが可能であれば、見かけ上前処
理の時間をゼロとすることができる。しかし、マ
イクロプログラム(格納用)制御記憶に安価で低
速な記憶素子を使用し、演算処理部に高速の理論
素子を使用するような装置においては、第3図に
示すように、命令の実行サイクルに比べて命令の
読み出しサイクルが長くなる。このため、1つの
命令の実行終了後、次の命令の実行開始までに命
令の読み出しにかかる時間が表面上現われ、命令
の実行に関して余分な時間を必要とする。
If it is possible to perform preprocessing in the execution of one instruction and execution of one instruction in the same machine cycle by such pipeline processing, the time required for preprocessing can be made to appear to be zero. However, in a device that uses an inexpensive, low-speed storage element for microprogram (storage) control memory and a high-speed theoretical element for the arithmetic processing section, the instruction execution cycle is The instruction read cycle is longer than the previous one. For this reason, the time it takes to read an instruction after the execution of one instruction ends and the start of execution of the next instruction appears, and extra time is required for the execution of the instruction.

この問題を解決する一方法として、制御記憶よ
り、複数の命令を同時に読み出す方法が知られて
いる。この方法によれば、1命令の実行サイクル
に比べて、1命令の読み出しサイクルが長い場合
であつても、複数命令の実行サイクルで1回の制
御記憶アクセスが可能であれば、命令実行上無効
サイクルの発生を防ぐことができる。ただし、同
時に読み出す命令の数は、マシンサイクル、制御
記憶のアクセスタイム、命令読み出しレジスタの
容量等に応じて決められるが、ここでは、連続す
る実行単位である2命令を同時に読み出す場合を
対象とする。その一例を第4図に示す。この例で
は、マシンサイクル1,2において連続した実行
単位である命令A、Bの組を制御記憶より読み出
し、3サイクル目において命令Aの実行、4サイ
クル目において命令Bの実行を行う。以後、命令
A、Bの実行とオバーラツプして命令C・Dの組
の読み出しを行い、さらに命令Cの実行、命令D
の実行により命令実行サイクル上の無効サイクル
をなくすことができる。
As one method for solving this problem, a method is known in which a plurality of instructions are simultaneously read from the control memory. According to this method, even if the read cycle of one instruction is longer than the execution cycle of one instruction, as long as one control memory access is possible in the execution cycle of multiple instructions, it is invalid for instruction execution. Cycles can be prevented from occurring. However, the number of instructions to be read at the same time is determined depending on the machine cycle, access time of control memory, capacity of the instruction read register, etc., but here, we will consider the case where two instructions, which are consecutive execution units, are read at the same time. . An example is shown in FIG. In this example, a set of instructions A and B, which are consecutive execution units, are read from the control memory in machine cycles 1 and 2, and instruction A is executed in the third cycle and instruction B is executed in the fourth cycle. After that, the set of instructions C and D is read out, overlapping with the execution of instructions A and B, and then the execution of instruction C and the instruction D are executed.
By executing , invalid cycles in the instruction execution cycle can be eliminated.

この方法における命令先読みは、命令の実行が
遂次的に処理される場合を予測して行われている
ため、分岐命令による分岐発生時にはその高速実
行が問題となる。これは、分岐条件判定後の実行
すべき命令が先読みの対象となつていない場合
に、命令実行サイクルがとぎれ(無効サイクルの
発生)、実効性能が低下することによる。第4図
の例をもとに分岐発生時の処理について以下で説
明する。
In this method, instruction prefetching is performed in anticipation of a case in which instructions will be executed sequentially, so when a branch occurs due to a branch instruction, high-speed execution becomes a problem. This is because if the instruction to be executed after branch condition determination is not subject to prefetching, the instruction execution cycle is interrupted (occurrence of invalid cycles) and effective performance is degraded. Processing when a branch occurs will be described below based on the example shown in FIG.

第5図はそのフローチヤートを、第6図はその
タイムチヤートをそれぞれ示している。命令Aは
2方向の分岐命令であり、この命令の条件判定に
より分岐を行う。分岐条件の判定後、条件成立時
は、条件成立側の次命令の組E・Fの読み出しを
開始するが、読み出しサイクルが、1マシンサイ
クルより長いため、命令Aの実行後、命令Eの開
始までに1マシンサイクルの無効サイクルが生じ
る。逆に、条件不成立時は、条件不成立順の次命
令に組C・Dの読み出しを開始する。この時、命
令C・Dの読み出しが終了するのは、条件成立時
と同様、1マシンサイクル以上後であるが、命令
Aと同時に読み出された命令Bの実行が可能であ
るため、見かけ上の無効サイクルは、発生しな
い。また、命令Bが分岐命令である場合、同様
に、分岐命令成立時のみ1マシンサイクルの無効
サイクルが生じる。このように、分岐成立時、無
効サイクルの生じる分岐を以降ダミー分岐と呼
ぶ。
FIG. 5 shows its flow chart, and FIG. 6 shows its time chart. Instruction A is a two-way branch instruction, and branching is performed based on condition determination of this instruction. After determining the branch condition, when the condition is met, reading of the next set of instructions E and F on the side where the condition is met is started, but since the read cycle is longer than one machine cycle, instruction E is started after execution of instruction A. Until then, one machine cycle of invalid cycles occurs. Conversely, when the condition is not met, reading of sets C and D is started at the next instruction in the order in which the condition is not met. At this time, the reading of instructions C and D ends after one machine cycle or more, just as when the conditions are satisfied, but since instruction B, which was read at the same time as instruction A, can be executed, it appears that No invalid cycles occur. Furthermore, when instruction B is a branch instruction, similarly, one machine cycle is invalidated only when the branch instruction is established. In this way, a branch in which an invalid cycle occurs when a branch is taken is hereinafter referred to as a dummy branch.

この問題の解決としては、例えば、デイレイド
分岐方式の採用が挙げられる。この方式は、分岐
条件確定後に分岐成立側、分岐不成立側とも一定
サイクルの動作を行い、動作終了分岐を行うとい
うものである。
As a solution to this problem, for example, a delayed branching method can be adopted. In this method, after the branch condition is established, a certain cycle of operations is performed on both the branch taken side and the branch untaken side, and then an operation-end branch is performed.

第5図に示した分岐にデイレイド分岐方式を採
用した例を第7図に示す。また、第7図のタイム
チヤートを第8図に示す。第7図と第5図との相
違は、命令Aの分岐成立後、命令Bの動作を実行
し分岐を行う点である。これは、命令Bを分岐成
立・不成立にかかわらず共通に実行し、先読みさ
れた命令Bを常に有効に利用するためである。こ
のため、実際に動作の区別が行われるのは、それ
ぞれ命令Cおよび命令E以降である。ただし、マ
イクロプログラムの実行手順の操作により命令B
を分岐条件に無関係な演算とすれば、一連の命令
実行が、分岐成立時にも、無効サイクルなしで行
える。ただし、第7図に示した例において、命令
Bが分岐命令であり、分岐が成立した場合は、第
5図と同様に無効サイクルが生じる。これは、命
令Eが、先読みの対象となつていないことによ
る。
FIG. 7 shows an example in which the delayed branching method is adopted for the branching shown in FIG. 5. Moreover, the time chart of FIG. 7 is shown in FIG. The difference between FIG. 7 and FIG. 5 is that after the branch of instruction A is established, the operation of instruction B is executed and the branch is taken. This is to execute instruction B in common regardless of whether the branch is taken or not, and to always effectively utilize the prefetched instruction B. Therefore, the operations are actually distinguished after instructions C and E, respectively. However, due to the operation of the microprogram execution procedure, the instruction B
If is an operation unrelated to the branch condition, a series of instructions can be executed without invalid cycles even when a branch is taken. However, in the example shown in FIG. 7, if instruction B is a branch instruction and the branch is taken, an invalid cycle occurs as in FIG. 5. This is because instruction E is not subject to prefetching.

以上述べたように、連続する実行単位である2
命令を同時に読み出す形式のマイクロプログラム
制御方式においては、分岐命令の実行時に以下の
ような問題がある。
As mentioned above, 2
In a microprogram control system in which instructions are read simultaneously, the following problems occur when branch instructions are executed.

まず、第5図で示したダミー分岐を行う場合
は、分岐成立により先読みされた命令が無効とな
り、分岐成立時の実効性能が低下するという問題
があるが、分岐命令直後の動作はそれぞれ独立と
なる。
First, when performing the dummy branch shown in Figure 5, there is a problem that the prefetched instruction becomes invalid when the branch is taken, and the effective performance at the time of the branch is taken is reduced.However, the actions immediately after the branch instruction are independent of each other. Become.

一方、第7図で示したデイレイド分岐が可能な
場合には、分岐成立時にも、無効サイクルの発生
を無くすことができるが、分岐後も一定サイクル
の共通動作が実行されるという問題があり、これ
はプログラミング上の大きな制約となる。
On the other hand, if the delayed branch shown in FIG. 7 is possible, it is possible to eliminate the occurrence of invalid cycles even when the branch is established, but there is a problem that a common operation of a certain number of cycles is executed even after the branch is taken. This is a major programming constraint.

このように、上記2つの分岐方法は、それぞれ
長所・短所を有しており、本来プログラミングに
よつて、使いわけられることが望ましい。しか
し、命令実行制御を行うハードウエアは、制御理
論の簡易化のため、どちらか一方に固定されてお
り、分岐命令単位に自由に上記分岐方法を選択す
ることができないという問題がある。
As described above, each of the above two branching methods has its own advantages and disadvantages, and it is desirable that they can be selectively used depending on programming. However, the hardware that controls instruction execution is fixed to one or the other in order to simplify the control theory, and there is a problem in that the above-mentioned branch method cannot be freely selected for each branch instruction.

なお、関連する技術の例としては、日経コンピ
ユータ「ミニコン汎用機領域に進出する32ビツト
スパーマイクロ」p.77、1985.5.27日号が挙げられ
る。
An example of related technology is Nikkei Computer, ``32-bit Super Micro Expanding into General-purpose Mini Computers,'' p. 77, May 27, 1985 issue.

〔発明の目的〕[Purpose of the invention]

本発明の目的は、このような従来の問題を解決
し、連続する実行単位である2命令を同時に読み
出す形式のマイクロプログラム制御方式におい
て、条件付き分岐命令の分岐成立時における分岐
方法を、マイクロプログラムにより制御可能と
し、分岐命令実行時の自由度を向上させるマイク
ロプログラム制御方式を提供することにある。
SUMMARY OF THE INVENTION An object of the present invention is to solve such conventional problems and to improve a branching method when a branch of a conditional branch instruction is established in a microprogram control system in which two instructions, which are consecutive execution units, are read simultaneously. It is an object of the present invention to provide a microprogram control method that improves the degree of freedom when executing branch instructions.

〔発明の概要〕[Summary of the invention]

上記目的を達成するために、本発明のマイクロ
プログラム制御装置は、マイクロ命令を格納した
制御記憶より1アクセス単位で読み出した複数個
のマイクロ命令を保持する第1のレジスタと、該
第1のレジスタから1マイクロ命令を選択する手
段と、該選択手段により選択された1マイクロ命
令を保持する第2のレジスタを有し、1アクセス
単位で読み出した複数のマイクロ命令を遂次実行
する間に該第2のレジスタに保持されたマイクロ
命令の指定により、次の複数命令を上記制御記憶
より読み出し、順次実行を行うマイクロプログラ
ム制御方式において、上記マイクロ命令のフイー
ルド内に分岐方法識別フラグを設け、上記第2の
レジスタに保持されたマイクロ命令が分岐を有す
る場合は、上記第2のレジスタに保持されたマイ
クロ命令の分岐判別結果と上記分岐方法識別フラ
グにより、上記第2のレジスタに保持されたマイ
クロ命令の実行後、遂次に実行されるべき上記第
1のレジスタに保持された複数個の命令の実行を
行うことに特徴がある。
In order to achieve the above object, a microprogram control device of the present invention includes a first register that holds a plurality of microinstructions read in one access unit from a control memory storing microinstructions, and It has means for selecting one micro-instruction from the micro-instructions, and a second register for holding the one micro-instruction selected by the selecting means. In a microprogram control method in which the next multiple instructions are read from the control memory and executed sequentially according to the specification of the microinstruction held in the register No. 2, a branch method identification flag is provided in the field of the microinstruction, and the If the microinstruction held in the second register has a branch, the microinstruction held in the second register is determined based on the branch determination result of the microinstruction held in the second register and the branch method identification flag. After the execution of , a plurality of instructions held in the first register to be executed sequentially are executed.

〔発明の実施例〕[Embodiments of the invention]

以下、本発明の一実施例を、図面により詳細に
説明する。
Hereinafter, one embodiment of the present invention will be described in detail with reference to the drawings.

第2図は、本発明で用いられるマイクロ命令の
構成例を示す図である。
FIG. 2 is a diagram showing an example of the configuration of microinstructions used in the present invention.

マイクロ命令20は、連続した実行単位である
2つの命令を1語として扱う。1語内のフイール
ドはそれぞれ偶数(EVEN)フイールド21、
奇数(ODD)フイールド22、共通
(COMMON)フイールド23に分けられる。制
御記憶からは1語単位で読み出しが行われ、その
後、EVENフイールド21で指定する命令
(EVEN命令)の実行を1マシンサイクルで、さ
らに、ODDフイールド22で指定する命令
(ODD命令)の実行を1マシンサイクルで順次行
う。EVENフイールド21、ODDフイールド2
2はマイクロ命令の演算等を指定し、それぞれ独
立である。COMMONフイールド23は、
EVENフイールド21、ODDフイールド22の
どちらか一方に有効なフイールドであり、このフ
イールド23内にその有効フラグEおよび分岐制
御フラグB0,B1および分岐条件、分岐先アド
レス(図示せず)を有する。ここで、E=“0”
のときはCOMMONフイールド23はEVEN命
令で有効であることを示し、E=“1”のときは、
ODD命令で有効であることを示す。また、BO=
“0”のときは分岐条件成立後ダミー分岐を行い、
BO=“1”のときは、分岐条件成立後、デイレ
イド分岐を行うことを示し、B1=“0”のとき
は、分岐条件不成立後、次命令を無効とし、B1
=“1”のときは、分岐条件不成立後次命令を有
効とすることをそれぞれ示す。
The microinstruction 20 treats two instructions, which are consecutive execution units, as one word. Each field within one word is an even number (EVEN) field 21,
It is divided into an odd number (ODD) field 22 and a common (COMMON) field 23. The control memory is read word by word, and then the instruction specified in the EVEN field 21 (EVEN instruction) is executed in one machine cycle, and the instruction specified in the ODD field 22 (ODD instruction) is executed in one machine cycle. This is done sequentially in one machine cycle. EVEN field 21, ODD field 2
2 specifies the operation of the microinstruction, and each is independent. COMMON field 23 is
This field is valid for either the EVEN field 21 or the ODD field 22, and this field 23 contains the valid flag E, branch control flags B0 and B1, branch conditions, and branch destination address (not shown). Here, E="0"
When , it indicates that COMMON field 23 is valid for EVEN command, and when E="1",
Indicates that it is valid for ODD instructions. Also, BO=
When it is “0”, a dummy branch is executed after the branch condition is met,
When BO="1", it indicates that a delayed branch is executed after the branch condition is met, and when B1="0", after the branch condition is not met, the next instruction is invalidated, and B1
="1" indicates that the next instruction is valid after the branch condition is not met.

第1図は、本発明の一実施例を示すマイクロプ
ログラム制御装置の構成図である。
FIG. 1 is a block diagram of a microprogram control device showing one embodiment of the present invention.

レジスタ2は、物理的に1語の命令(マイクロ
命令)のアドレスを保持するアトレスレジスタ
(以下、アドレスレジスタという)であり、この
アドレスで制御記憶(CS)1より読み出された
1語の命令(2命令)がエラー検出・訂正回路
(ECC回路)8を通過した後、データバツフアレ
ジスタ(CSDR)3へロードされる。データバツ
フアレジスタ3にロードされた1語の命令は、先
ずEVEN命令の実行に必要なフイールド21が
データレジスタ(MPDR)4にロードされて命
令実行回路9で実行され、次にEVEN命令の実
行終了と共にODD命令の実行に必要なフイール
ド22がデータレジスタ4にロードされ、同様に
実行される。データ線103はEVEN命令がデ
ータレジスタ4へロードされた時点で、データレ
ジスタ4に保持された分岐フイールドの1語の次
命令アドレスをアドレスレジスタ2へ送る。よつ
て、1語の次命令読み出しは、EVEN命令がデ
ータレジスタ4にロードされた時点で開始され
る。データ線105,106はそれぞれデータバ
ツフアレジスタ3に保持された命令の
COMMONフイールド23内にあるCOMMON
フイールド有効フラグE、分岐制御フラグB0,
B1の値に示すものである。線107は、データ
レジスタ4に保持された命令が分岐を有する命令
であり、その分岐条件が成立した時“1”となる
信号線である。線108は、AND回路5のAND
条件が成立した時“1”を示し、線109は、
AND回路6のAND条件が成立した時“1”を示
す。線110は、AND回路5あるいはAND回路
6のAND条件が成立した時“1”を示し、命令
実行回路9に対し、ODD命令の実行を無効とす
る信号線である。
Register 2 is an address register (hereinafter referred to as address register) that physically holds the address of a one-word instruction (microinstruction). After the instructions (two instructions) pass through the error detection/correction circuit (ECC circuit) 8, they are loaded into the data buffer register (CSDR) 3. The one-word instruction loaded into the data buffer register 3 is first loaded with the field 21 necessary for the execution of the EVEN instruction into the data register (MPDR) 4 and executed by the instruction execution circuit 9, and then executed by the instruction execution circuit 9. Upon completion, the fields 22 necessary for executing the ODD instruction are loaded into the data register 4 and executed in the same manner. The data line 103 sends the next instruction address of one word of the branch field held in the data register 4 to the address register 2 when the EVEN instruction is loaded into the data register 4. Therefore, reading of the next instruction of one word is started at the time when the EVEN instruction is loaded into the data register 4. Data lines 105 and 106 are connected to the instructions held in the data buffer register 3, respectively.
COMMON in COMMON field 23
Field valid flag E, branch control flag B0,
This is shown in the value of B1. The line 107 is a signal line that is set to "1" when the instruction held in the data register 4 is an instruction having a branch, and the branch condition is satisfied. The line 108 is the AND of the AND circuit 5.
When the condition is met, it indicates "1", and the line 109 is
Indicates "1" when the AND condition of the AND circuit 6 is satisfied. The line 110 is a signal line that indicates "1" when the AND condition of the AND circuit 5 or 6 is satisfied, and disables the instruction execution circuit 9 from executing the ODD instruction.

次に、本発明の特徴である分岐制御方式につい
て分岐条件成立の場合について説明する。
Next, a description will be given of a case where a branching condition is satisfied regarding the branching control method that is a feature of the present invention.

まず、第1図において、データバツフアレジス
タ3へロードされた1語の命令のうちEVEN命
令が分岐を有すると、信号線104は“0”を示
す。さらに分岐制御フラグがダミー分岐を指示し
ていれば、信号線105は“0”を示す。そし
て、データバツフアレジスタ3からデータレジス
タ4へロードされたEVEN命令が命令実行回路
9で実行され、その結果分岐が成立すると、信号
線107は“1”となる。以上よりAND回路5
の出力が“1”となり、信号線108、および信
号線110によりODD命令の実行がダミーとな
る。
First, in FIG. 1, when the EVEN instruction among the one-word instructions loaded into the data buffer register 3 has a branch, the signal line 104 indicates "0". Further, if the branch control flag indicates a dummy branch, the signal line 105 indicates "0". Then, the EVEN instruction loaded from the data buffer register 3 to the data register 4 is executed by the instruction execution circuit 9, and when a branch is established as a result, the signal line 107 becomes "1". From the above, AND circuit 5
output becomes "1", and the execution of the ODD instruction becomes dummy due to the signal line 108 and the signal line 110.

この結果、第6図に示した条件成立時のダミー
分岐動作が行われる。一方、分岐制御フラグがデ
イレイド分岐を指示していれば、信号線105は
“1”を示し、EVEN命令の実行の結果分岐が成
立してもAND回路5の出力、およびAND回路6
の出力は、“0”となり、ODD命令は実行され
る。これにより、第7図に示した条件成立時のデ
イレイド分岐動作が行われる。
As a result, a dummy branch operation is performed when the condition shown in FIG. 6 is satisfied. On the other hand, if the branch control flag indicates a delayed branch, the signal line 105 indicates "1", and even if a branch is established as a result of execution of the EVEN instruction, the output of the AND circuit 5 and the AND circuit 6
The output becomes "0" and the ODD instruction is executed. As a result, the delayed branch operation when the condition shown in FIG. 7 is satisfied is performed.

次に、データバツフアレジスタ3へロードされ
た1語の命令のうちODD命令が分岐を有する場
合であるが、ODD命令の分岐成立時には、デー
タバツフアレジスタ3に有効な先読みデータが存
在しないため、全てダミー分岐となる。また、分
岐条件不成立時の場合も分岐条件成立時と同様の
条件でAND回路6の出力が制御される。ただし、
分岐条件不成立時は、AND回路6の入力線10
7の逆の値をAND条件の入力とする。この結果、
分岐条件不成立時は、AND回路6のAND条件に
よりODD命令が抑止あるいは実行される。
Next, there is a case where the ODD instruction among the one-word instructions loaded into the data buffer register 3 has a branch. , all become dummy branches. Furthermore, even when the branch condition is not met, the output of the AND circuit 6 is controlled under the same conditions as when the branch condition is met. however,
When the branch condition is not satisfied, the input line 10 of the AND circuit 6
The opposite value of 7 is input to the AND condition. As a result,
When the branch condition is not satisfied, the ODD instruction is suppressed or executed according to the AND condition of the AND circuit 6.

このように、本実施例においては、分岐を有す
る命令の分岐制御を各分岐命令ごとに指定できる
ので、制御記憶に安価で低速な記憶素子を使用
し、演算処理部に高速の理論素子を使用するよう
な装置におけるマイクロプログラミング上の自由
度が向上し、ダミー分岐、デイレイド分岐をプロ
グラムの構成に応じて使用することでマイクロプ
ログラムトータルの性能が向上する。また、制御
記憶にアクセス時間の増加をまねく、障害訂正機
能の付加も容易となり、信頼性の向上も実現でき
る。
In this way, in this embodiment, branch control for instructions with branches can be specified for each branch instruction, so an inexpensive and slow memory element is used for control memory, and a high-speed theoretical element is used for the arithmetic processing section. The degree of freedom in microprogramming is improved in such devices, and the overall performance of the microprogram is improved by using dummy branches and delayed branches according to the program configuration. Furthermore, it becomes easy to add a fault correction function, which increases the access time to the control memory, and improves reliability.

本実施例では、制御記憶より連続する2命令を
同時に読み出す場合の分岐制御方法について説明
を行つたが、制御記憶より2命令以上の複数命令
を同時に読み出す場合についても本分岐制御方法
は適用可能である。ただし、この場合は、同時に
読み出した複数命令の実行制御を可能とするた
め、それに応じた複数個の分岐制御フラグを必要
とする。
In this embodiment, we have explained the branch control method when two consecutive instructions are simultaneously read from the control memory, but this branch control method is also applicable to the case where two or more instructions are simultaneously read from the control memory. be. However, in this case, in order to enable execution control of multiple instructions read simultaneously, a plurality of corresponding branch control flags are required.

〔発明の効果〕〔Effect of the invention〕

以上説明したように、本発明によれば、連続す
る実行単位である2命令を同時に読み出す形式の
マイクロプログラム制御方式において、条件付き
分岐命令の分岐成立時における分岐方法を、マイ
クロプログラムにより制御可能となり、分岐命令
実行時の自由度を向上できる。
As explained above, according to the present invention, in a microprogram control system in which two instructions, which are consecutive execution units, are read simultaneously, the branching method when a branch of a conditional branch instruction is taken can be controlled by the microprogram. , the degree of freedom when executing branch instructions can be improved.

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

第1図は本発明の一実施例を示すマイクロプロ
グラム制御装置の概略構成図、第2図は本実施例
によるマイクロ命令の構成図、第3図は命令の読
み出し時間によつてマシンサイクルが決定される
場合のタイムチヤート、第4図は2命令を同時に
読み出す場合のタイムチヤート、第5図、第7図
は分岐命令実行時のフローチヤート、第6図、第
8図は分岐命令実行時のタイムチヤートである。 1:制御記憶、2〜4:レジスタ、5,6:
AND回路、7:OR回路、8:エラー検出・訂正
回路、9:命令実行回路。
Figure 1 is a schematic configuration diagram of a microprogram control device showing an embodiment of the present invention, Figure 2 is a diagram of the configuration of a microinstruction according to this embodiment, and Figure 3 shows that the machine cycle is determined by the instruction read time. Figure 4 is a time chart when two instructions are read simultaneously. Figures 5 and 7 are flowcharts when executing a branch instruction. Figures 6 and 8 are flowcharts when executing a branch instruction. It is a time chart. 1: Control memory, 2 to 4: Registers, 5, 6:
AND circuit, 7: OR circuit, 8: error detection/correction circuit, 9: instruction execution circuit.

Claims (1)

【特許請求の範囲】[Claims] 1 偶数命令フイールド、奇数命令フイールドお
よび共通分岐フイールドからなるマイクロ命令を
複数個格納した制御記憶と、該制御記憶より1ア
クセス単位で読み出した1マイクロ命令を保持す
る第1のレジスタと、該第1のレジスタの保持さ
れた前記1マイクロ命令の偶数命令フイールドと
奇数命令フイールドの一方の命令フイールドを順
次選択する手段と、該選択手段により選択された
命令フイールドを保持する第2のレジスタと、該
第2のレジスタに保持された前記命令フイールド
を実行する命令実行手段と、前記第2のレジスタ
に保持された前記命令フイールドの指定により次
の1アクセス単位の1マイクロ命令を前記制御記
憶より読み出す手段とからなるマイクロプログラ
ム制御装置において、前記マイクロ命令の前記共
通フイールドに分岐方法識別フラグを設け、前記
第2のレジスタに保持された前記命令フイールド
が偶数命令フイールドであつて分岐機能を有する
場合に、該偶数命令フイールドの分岐判別結果と
前記第1のレジスタに保持されている前記1マイ
クロ命令の分岐方法識別フラグとにより、前記第
1のレジスタに保持されている奇数命令フイール
ドの実行の可否を決定することを特徴とするマイ
クロプログラム制御方式。
1. A control memory storing a plurality of microinstructions including an even instruction field, an odd instruction field, and a common branch field; a first register holding one microinstruction read out in one access unit from the control memory; means for sequentially selecting one of an even instruction field and an odd instruction field of the one microinstruction held in the register; a second register holding the instruction field selected by the selecting means; instruction execution means for executing the instruction field held in the second register; and means for reading one microinstruction of the next one access unit from the control memory according to the specification of the instruction field held in the second register; A microprogram control device comprising a branch method identification flag is provided in the common field of the microinstruction, and when the instruction field held in the second register is an even instruction field and has a branch function, Based on the branch determination result of the even instruction field and the branch method identification flag of the one microinstruction held in the first register, it is determined whether or not the odd instruction field held in the first register can be executed. A microprogram control method characterized by:
JP28770285A 1985-12-23 1985-12-23 Microprogram control system Granted JPS62147530A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP28770285A JPS62147530A (en) 1985-12-23 1985-12-23 Microprogram control system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP28770285A JPS62147530A (en) 1985-12-23 1985-12-23 Microprogram control system

Publications (2)

Publication Number Publication Date
JPS62147530A JPS62147530A (en) 1987-07-01
JPH0519172B2 true JPH0519172B2 (en) 1993-03-16

Family

ID=17720631

Family Applications (1)

Application Number Title Priority Date Filing Date
JP28770285A Granted JPS62147530A (en) 1985-12-23 1985-12-23 Microprogram control system

Country Status (1)

Country Link
JP (1) JPS62147530A (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69728081T2 (en) * 1996-05-30 2004-08-19 Matsushita Electric Industrial Co., Ltd., Kadoma Method and circuit for controlling delayed branch instructions

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS4983342A (en) * 1972-12-14 1974-08-10
JPS6043750A (en) * 1983-08-18 1985-03-08 Fuji Xerox Co Ltd Microprogram controller

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS4983342A (en) * 1972-12-14 1974-08-10
JPS6043750A (en) * 1983-08-18 1985-03-08 Fuji Xerox Co Ltd Microprogram controller

Also Published As

Publication number Publication date
JPS62147530A (en) 1987-07-01

Similar Documents

Publication Publication Date Title
JP2810068B2 (en) Processor system, computer system, and instruction processing method
US5293500A (en) Parallel processing method and apparatus
JPH0581935B2 (en)
JPS58501560A (en) microprocessor
KR100210205B1 (en) Apparatus and method for providing a stall cache
JPH03233630A (en) Information processor
US4969117A (en) Chaining and hazard apparatus and method
US5287483A (en) Prefetched operand storing system for an information processor
EP0279953A2 (en) Computer system having mixed macrocode and microcode instruction execution
JP2798121B2 (en) Data processing device
JPH0519172B2 (en)
JPS61110238A (en) Microprogram type parallel processor
US4935849A (en) Chaining and hazard apparatus and method
JP3102399B2 (en) Data processing apparatus and method
JP2824484B2 (en) Pipeline processing computer
JP2636821B2 (en) Parallel processing unit
JPH0769825B2 (en) Parallel processor
JPH0740226B2 (en) Branch instruction control method
JP2924004B2 (en) Instruction code transfer method
JP3147884B2 (en) Storage device and information processing device
JPS61194566A (en) Vector data reference control system
JPS6221130B2 (en)
JPS63157235A (en) Controller for computer system
JPH0564373B2 (en)
JPH0412860B2 (en)