JPH04117526A - Microprogram controller - Google Patents
Microprogram controllerInfo
- Publication number
- JPH04117526A JPH04117526A JP23736690A JP23736690A JPH04117526A JP H04117526 A JPH04117526 A JP H04117526A JP 23736690 A JP23736690 A JP 23736690A JP 23736690 A JP23736690 A JP 23736690A JP H04117526 A JPH04117526 A JP H04117526A
- Authority
- JP
- Japan
- Prior art keywords
- register
- word
- read
- words
- branch
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000004044 response Effects 0.000 claims description 2
- 230000003111 delayed effect Effects 0.000 abstract description 5
- 230000006866 deterioration Effects 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 3
- 230000010365 information processing Effects 0.000 description 2
- 238000000034 method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 1
Abstract
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明はマイクロプログラム制御装置に関し、特にマイ
クロプログラムの条件分岐方式を伴うマイクロプログラ
ム制御装置に関する。DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to a microprogram control device, and more particularly to a microprogram control device with a conditional branching method for microprograms.
次に従来のマイクロプログラム制御装置(以下μP制御
装置°′という)について説明する。Next, a conventional microprogram control device (hereinafter referred to as μP control device °') will be explained.
複数のμP語を同時に読み出し分岐条件に従ってこのう
ちの一つを選択し、実行することによってマイクロプロ
グラムの条件分岐を行う従来の技術によるμP制御装置
の構成の一例を示すブロック図を第3図に示す。FIG. 3 is a block diagram showing an example of the configuration of a conventional μP control device that performs conditional branching of a microprogram by simultaneously reading multiple μP words, selecting and executing one of them according to branch conditions. show.
第3図のμP制御装置は2方向の条件分岐を行う、この
ために制御記憶2は一度に2語のμP語を同時に読み出
させるように構成されている。アドレスレジスタ1の出
力に、最下位の1ビツトを除いたものが制御記憶部2に
与えられる。従って制御記憶部2からは、偶数アドレス
のμP語と奇数アドレスのμP語が同時に読み出される
。制御記憶部2から読み出されたこの2語のμP語は選
択回路4に入力される。選択回路4は、分岐条件判定回
路3の指示によって前記2語のうちから1語を選択して
次に実行するμP語として読出しレジスタ5に供給する
と共に、このμP語内の次に実行するμP語のアドレス
をアドレスレジスタ1に供給する。The .mu.P control device shown in FIG. 3 performs conditional branching in two directions, and for this purpose the control memory 2 is constructed to read out two .mu.P words at a time. The output of the address register 1, excluding the least significant one bit, is given to the control storage section 2. Therefore, μP words at even addresses and μP words at odd addresses are read out from the control storage unit 2 at the same time. These two μP words read from the control storage section 2 are input to the selection circuit 4. The selection circuit 4 selects one word from the two words according to instructions from the branch condition determination circuit 3 and supplies it to the read register 5 as the μP word to be executed next, and also selects one word from the two words and supplies it to the read register 5 as the μP word to be executed next. The address of the word is supplied to address register 1.
読み出しレジスタ5に読み出されなμP!!は第4図に
示すように、μPの実行順序制御を行う工SQフィール
ドと、演算回路等の被制御装置を制御するCTLフィー
ルドと、次に実行するμP語のアドレスを指示するNA
フィールドとからなる。μP not read to read register 5! ! As shown in FIG. 4, there is an SQ field that controls the execution order of μP, a CTL field that controls controlled devices such as arithmetic circuits, and an NA that specifies the address of the next μP word to be executed.
It consists of a field.
NAフィールドの値は前述のようにμP語が読み出しレ
ジスタに読み出されると同時に、アドレスレジスタ1に
セットされ、次のμP語の読み出しにそなえる。As described above, the value of the NA field is set in address register 1 at the same time as the μP word is read out to the read register, in preparation for reading the next μP word.
CTLフィールドは、第3図の演算回路8の各部、例え
ばレジスタAR、BR−DR−CARRY(キャリー)
および加算回路等を制御する。The CTL field is stored in each part of the arithmetic circuit 8 in FIG. 3, such as register AR, BR-DR-CARRY (carry).
and controls the adder circuit, etc.
ここに、AR−BRは加算回路の入力レジスタ、DRは
加算回路による加算結果を格納するレジスタ、CARR
Yは加算回路の桁あぶれを格納するレジスタである。Here, AR-BR is an input register of the adder circuit, DR is a register that stores the addition result by the adder circuit, and CARR is
Y is a register that stores the digit error of the adder circuit.
ISQフィールドは、本μP制御装置の各部を制御する
が、おもに分岐条件判定回路3を制御することによって
μPの実行順序制御を行う、この動作を第5図(b)を
用いて説明する。但し、第3図の中に破線で示す中継レ
ジスタ10はない場合とする。第5図(b)はマイクロ
プログラムの実行フローを示すフローチャートであり、
1つの枠が1つのμP語を表わしている。その各部の左
上にそのμP語のアドレスを示す、各μP語は矢印に従
って上から下に向かって実行されていく。The ISQ field controls each part of the present μP control device, and mainly controls the execution order of μP by controlling the branch condition determination circuit 3. This operation will be explained using FIG. 5(b). However, it is assumed that there is no relay register 10 shown by a broken line in FIG. FIG. 5(b) is a flowchart showing the execution flow of the microprogram,
One frame represents one μP word. The address of the μP word is shown at the top left of each part, and each μP word is executed from top to bottom according to the arrow.
各部の上下に分割した上段にはISQフィールドとNA
フィールドとの内容を下段にはCTLフィールドの内容
を示す0例えば、アドレスAのμP語の上段の°’Br
anch to B ”は無条件分岐を示し、次に実行
するμP語をアドレスBのμP語にすることを示す、こ
のために、分岐条件判定回路3には、制御回路2から同
時に読み出された2つのμP語のうちアドレスがBのμ
P語が選択されるように、選択回路4に指示する。下段
の“’DR←AR+BR″と“CA RRY −C”と
は演算回路8を制御して、レジスタARとBHの内容を
加算して結果をレジスタDRに入れ、そのときの桁あぶ
れをレジスタCARRYに入れることを示す、アドレス
BのμP語の上段の” ConditionalBra
nch to C”とTe5t CARRY″は条件分
岐を示し、アドレスCの最下位ビットをCARRYの出
力で置換したアドレスのμP語を次に実行するμP語と
することを示す。このために分岐条件判定回路3は、レ
ジスタCARRYの値によって制御回路2から同時に読
み出されたアドレスCのμP語とアドレスC+1のμP
語とから1つを選択するように選択回路4に指示する。The upper part of each part is divided into upper and lower parts, and the ISQ field and NA
For example, °'Br in the upper row of the μP word at address A.
``anch to B'' indicates an unconditional branch and indicates that the next μP word to be executed is the μP word at address B. For this purpose, the branch condition determination circuit 3 contains the information that is simultaneously read out from the control circuit 2. The μ whose address is B among the two μP words
The selection circuit 4 is instructed to select the P word. "'DR←AR+BR" and "CARRY -C" in the lower row control the arithmetic circuit 8, add the contents of registers AR and BH, put the result in register DR, and store the digit error at that time in register CARRY. "ConditionalBra" in the upper row of the μP word at address B, indicating that the
nch to C" and Te5t CARRY" indicate conditional branching, and indicate that the μP word at the address in which the least significant bit of address C is replaced with the output of CARRY is the μP word to be executed next. For this purpose, the branch condition determination circuit 3 uses the μP word at address C and the μP word at address C+1 read out simultaneously from the control circuit 2 according to the value of the register CARRY.
The selection circuit 4 is instructed to select one of the words.
すなわち、レジスタCARRYの値が0のときにはアド
レスCのμP語を、レジスタCARRYの値が1のとき
にはアドレスC+1のμP語を選択するように制御する
。レジスタCARRYのように条件分岐を行うときに参
照されるレジスタにはこの外にも多数ある。”Te5t
XXX (”例えばレジスタCARRYの試験”〉は
この参照すべきレジスタの選択を指示し、ISQフィー
ルド内で指示される。That is, when the value of register CARRY is 0, the μP word at address C is selected, and when the value of register CARRY is 1, the μP word at address C+1 is selected. There are many other registers such as register CARRY that are referenced when performing a conditional branch. “Te5t
XXX (“Test for example register CARRY”) indicates the selection of this register to refer to and is indicated in the ISQ field.
上述した従来のμP制御装置は、次のような欠点を有し
ている。The conventional μP control device described above has the following drawbacks.
近年の情報処理装置のマシンサイクルは非常に高速にな
ってきている。このような情報処理装置において、第3
図のようなμP制御装置を使用しようとすると制御装置
の容量も大きくなってきていることとあいまってレジス
タCARRYのようにμPの条件分岐のときに参照する
レジスタの出力から分岐条件判定回路を経て、複数のμ
P語の中から1つを選択してこれを読出し、レジスタに
読み出すまでのデイレ−タイムが1マシンサイクル内に
おさまらない事態が生じる。The machine cycles of recent information processing devices have become extremely fast. In such an information processing device, the third
When trying to use a μP control device like the one shown in the figure, the capacity of the control device is becoming larger, and the output of a register such as register CARRY, which is referenced during a μP conditional branch, is passed through a branch condition judgment circuit. , multiple μ
A situation may arise in which the delay time from selecting one of the P words and reading it to the register does not fit within one machine cycle.
そのなめに第3図の破線に示すような中継のレジスタ6
が必要になる。すると、条件分岐で参照する情報の確定
が1マシンサイクル遅れるために、第5図(C)に示す
ように条件レジスタを設定するコマンド(°“アドレス
AのCARRY→C′°)を発行したあと、条件分岐指
示(アドレスCのConditional Branc
h to D″とTe5t CARRY” )を発行す
るのを1ステップ遅らさなければならない。そのために
、全体の処理速度が遅くなるという欠点があった。For this purpose, a relay register 6 as shown by the broken line in Fig. 3 is used.
is required. Then, since the determination of the information referenced by the conditional branch is delayed by one machine cycle, as shown in Figure 5 (C), after issuing the command to set the condition register (°"CARRY of address A→C'°), , conditional branch instruction (Conditional Branch at address C)
h to D'' and Te5t CARRY'') must be delayed by one step. Therefore, there was a drawback that the overall processing speed became slow.
本発明のマイクロプログラム(μP)制御装置は、
複数のμP語を同時に読み出せるように構成された制御
記憶部と、該制御記憶部から読み出された複数のμP語
を保持する複数のバッファレジスタと、前記制御記憶部
から読み出された複数のμP語のうち実行すべきμP語
を保持する読み出しレジスタと、条件分岐の場合に前記
制御記憶部から読みされた複数のμP Xiのうち、ど
れを実行するかを決定する分岐条件判定回路とを有し、
前記読み出しレジスタに読み出された現μP語が無条件
分岐を指示している場合には、前記制御記憶部から読み
出された複数のμP語の中からアドレスレジスタで指定
されるμP語を次に実行するμP語として前記読み出し
レジスタから読み出しを実行し、現μP語が条件分岐を
指示している場合には前記複数のμP語の中からアドレ
スレジスタで指定されるμP語を分岐先として予測した
μP語として前記読み出しレジスタに読み出し、前記分
岐条件判定回路によって前記予測が正しいと判定される
場合にはそのままこの予測されたμP語を実行し、一方
予測が誤っていると判定される場合にはこの予測された
μP語を前記バッファレジスタに保持される複数のμP
語の中の1つを実行すると共に、更にその次に実行する
μP語として前記バッファレジスタに保持される複数の
μP語の中から分岐条件に応答して分岐判定回路によっ
て指定されるμP語を読み出しレジスタに読み出し実行
して構成される。A microprogram (μP) control device of the present invention includes a control storage section configured to read a plurality of μP words at the same time, and a plurality of buffer registers that hold the plurality of μP words read from the control storage section. , a read register that holds the μP word to be executed among the multiple μP words read from the control storage, and which one of the multiple μP Xi read from the control storage in the case of a conditional branch. and a branch condition determination circuit that determines whether to execute the
If the current μP word read out to the read register instructs an unconditional branch, the next μP word specified by the address register is selected from among the multiple μP words read out from the control storage section. Executes reading from the read register as a μP word to be executed at the current μP word, and if the current μP word instructs a conditional branch, predicts the μP word specified by the address register from among the multiple μP words as the branch destination. If the prediction is determined to be correct by the branch condition determination circuit, the predicted μP word is executed as it is; on the other hand, if the prediction is determined to be incorrect, transfers this predicted μP word to multiple μPs held in the buffer register.
In addition to executing one of the words, a μP word specified by the branch judgment circuit in response to a branch condition is selected from among a plurality of μP words held in the buffer register as the next μP word to be executed. It is configured by executing a read to the read register.
次に、本発明について図面を参照して説明する。 Next, the present invention will be explained with reference to the drawings.
第1図は本発明の一実施例の構成を示すブロック図であ
る。FIG. 1 is a block diagram showing the configuration of an embodiment of the present invention.
第3図で破線で示したレジスタCARRYの中継レジス
タ6は第1図では読出しレジスタ5に対応して設けられ
ている。中継レジスタが必要な理由は、μP制御装置と
被制御装置である演算回路との間の距離が離れているた
めに、デイレ−タイムが1マシンサイクル内に収まらな
いからであり、第1図のように中継レジスタを読出しレ
ジスタ側に設けても第5図(b)に示すフローチャート
は変わらないので、以後の説明は第1図のμP制御装置
を用いて、第3図と異なる部分のみを説明する。The relay register 6 of the register CARRY shown by a broken line in FIG. 3 is provided corresponding to the read register 5 in FIG. The reason why the relay register is necessary is that the delay time cannot be accommodated within one machine cycle due to the distance between the μP control device and the arithmetic circuit that is the controlled device. Since the flowchart shown in FIG. 5(b) does not change even if the relay register is provided on the read register side as shown in FIG. do.
第1図において、バッファレジスタ71〜74は制御記
憶部2から同時に読み出された4語のμP語をそれぞれ
格納する。バッファレジスタ71には4の倍数のアドレ
スのμP語が、バッファレジスタ72には4の倍数+1
のアドレスのμP語が、バッファレジスタ73には4の
倍数+2のアドレスのμP語が、バッファレジスタ74
には4の倍数+3のアドレスのμP語が格納される。In FIG. 1, buffer registers 71 to 74 each store four μP words read simultaneously from control storage section 2. In FIG. The buffer register 71 contains μP words with addresses that are multiples of 4, and the buffer register 72 contains μP words with addresses that are multiples of 4 + 1.
The μP word at the address of is stored in the buffer register 73, and the μP word at the address of a multiple of 4 + 2 is stored in the buffer register 74.
The μP word at the address of multiple of 4+3 is stored in .
読出しレジスタ5に読み出されている現μP語が無条件
分岐を指示しているときには、第3図で説明したように
現μP話内のNAフィールドで指定されるアドレスのμ
P語を、次に実行するμP語として次のサイクルで選択
回路41を経由して読出しレジスタ5に読み出し、選択
口Fl@42と中継レジスタ6とを経て演算回路8でこ
れを実行する。When the current μP word read into the read register 5 instructs an unconditional branch, the μP word at the address specified by the NA field in the current μP word, as explained in FIG.
The P word is read out to the read register 5 via the selection circuit 41 in the next cycle as the μP word to be executed next, and is executed by the arithmetic circuit 8 via the selection port Fl@42 and the relay register 6.
現μP語がレジスタCARRYを参照する条件分岐を指
示しているときには、先ず上述の無条件分岐と同じよう
に現μP語内のNAフィールドで指定するアドレスのμ
P語を次に実行するμp BBと見なして読出しレジス
タ5に読み出す。そしてこのμP語が読出しレジスタ5
から中継レジスタ6に送られるときにこのμP語がレジ
スタCARRYの値に対応した正しい分岐先かどうかを
分り条件判定回路3によって判定する。When the current μP word indicates a conditional branch that refers to the register CARRY, first, as with the unconditional branch described above, the μ of the address specified by the NA field in the current μP word is
The P word is regarded as μp BB to be executed next and is read into the read register 5. And this μP word is read register 5
When the μP word is sent to the relay register 6, the condition determining circuit 3 determines whether this μP word is the correct branch destination corresponding to the value of the register CARRY.
分岐条件判定回路3はアドレスレジスタの最下位ビット
の1サイクル遅れの信号と選択された勿岐条件(この場
合レジスタCARRYの値)とを比較することによって
、この正誤を判定する。この比較が一致していれば正”
′であり不一致ならば誤”である。“正”の場合は以後
、前述の素条件分岐の場合と同じように動作する。The branch condition determination circuit 3 determines whether this condition is correct or not by comparing the one-cycle delayed signal of the least significant bit of the address register with the selected branch condition (in this case, the value of the register CARRY). If this comparison matches, it is correct.”
′, and if it does not match, it is incorrect.If it is “correct”, the operation is the same as in the case of the elementary conditional branch described above.
その動作を示したものが、第2図(a>のタイムチャー
トであり、これは第5図(a)のフローチャートのアド
レスBのμP語の条件分岐の予測が成功したケースであ
る。同タイムチャートにおいて、アドレスA、B、C・
・・のμP語はアドレスレジスタト読出しレジスタ5・
中継レジスタ6の順に転送され実行される。中継レジス
タ6内のアドレスAのμP語が実行されるとき、加算回
路の桁あぶれがないので次のサイクルでCARRYに“
0″がセットされる。次に中継レジスタ6内のアドレス
BのμP語が実行されるとき、アドレスレジスタ1の最
下位ビットの1サイクル遅れの信号(この場合アドレス
Cの最下位ビットでありその値はO°°)とCARRY
との値とを比較し、一致しているときは条件分岐は“正
“と判断し次のサイクルで読出しレジスタ5に読出され
ているアドレスCのμP語を中継レジスタ6にセットす
るとともに、読出しレジスタにはアドレスEのμP語を
読み出す。このようにして第5図(a)のフローチャー
ト(予測が成功するケース)で示す順序で中継レジスタ
にμP語が供給されこれが実行される。The time chart in Figure 2 (a) shows this operation, and this is a case in which the prediction of the conditional branch of the μP word at address B in the flow chart in Figure 5 (a) is successful. In the chart, addresses A, B, C.
The μP word of ... is the address register read register 5.
The data is transferred and executed in the order of relay register 6. When the μP word at address A in relay register 6 is executed, there is no digit shift in the adder circuit, so CARRY is set to “” in the next cycle.
0'' is set.Next, when the μP word at address B in relay register 6 is executed, a one-cycle delayed signal of the least significant bit of address register 1 (in this case, the least significant bit of address C and its The value is O°°) and CARRY
If they match, the conditional branch is determined to be "correct", and in the next cycle, the μP word of address C read out in the readout register 5 is set in the relay register 6, and the readout The μP word at address E is read into the register. In this way, the μP words are supplied to the relay register and executed in the order shown in the flowchart of FIG. 5(a) (case where prediction is successful).
一方、分岐条件判定回路3によって分岐がパ誤゛と判定
された場合は読み出しレジスタ5内の誤ったμP語が選
択回路42によってバッファレジスタ73に保持されて
いるμP語にさし換えられて中継レジスタ6に転送され
ると同時にバッファレジスタ71あるいは72に保持す
る予測された分岐先とは反対側のμP語を選択回路41
によって読み出しレジスタ5に読み出す6例えば予測し
た分岐先が偶数アドレスのときくアドレスレジスタの最
下位ビットが“O”のとき)にはバッファレジスタ72
内のμP語が予測反対側のμP語であり、予測分岐先が
奇数のとき(アドレスレジスタの最下位ビットが1″の
とき)にはバッファレジスタ71内のμP語が予測反対
側のμP語である。本実施例においては、条件分岐の分
岐先(予測光)アドレスは4の倍数が4の倍数+1であ
り、4の倍数+2のアドレスのμPh1(バッファレジ
スタ73内のμP話)は上述したように予測が誤ったと
きに誤ったμP語とさし換えられるべきμP語として準
備されている。第1図の制御記憶部2が第3図のそれに
対して同時に読み出されるμP語の数が多いのはこのた
めである。On the other hand, if the branch condition determination circuit 3 determines that the branch is an error, the erroneous μP word in the read register 5 is replaced by the μP word held in the buffer register 73 by the selection circuit 42 and relayed. A selection circuit 41 selects a μP word on the opposite side of the predicted branch destination to be transferred to the register 6 and held in the buffer register 71 or 72 at the same time.
For example, when the predicted branch destination is an even address and the least significant bit of the address register is "O"), the buffer register 72 is read out to the read register 5 by
The μP word in the buffer register 71 is the μP word on the opposite side of the prediction, and when the predicted branch destination is an odd number (when the least significant bit of the address register is 1''), the μP word in the buffer register 71 is the μP word on the opposite side of the prediction. In this embodiment, the branch destination (prediction light) address of the conditional branch is a multiple of 4 + 1, and μPh1 (μP story in the buffer register 73) at the address of multiple of 4 + 2 is as described above. The number of μP words that are read out simultaneously by the control storage unit 2 in FIG. 1 compared to the one in FIG. This is why there are so many.
上記の動作を示したものが、第2図(b)のタイムチャ
ートであり、これは第5図(a)のフローチャートのア
ドレスBのμP語の条件分岐の予測が失敗したケースで
ある。同タイムチャートにおいて、CARRYに°“1
”がセットされることを除いてアドレスBのμP語が中
継レジスタにセットされるまでは第2図(a>と同じで
ある。この場合、CARRYが“1”のためにアドレス
BのμP語の条件分岐が“′誤”と判定される。すると
次のサイクルでバッファレジスタ72内のμP語(C+
1)が読出しレジスタ5にセットされるとともに、バッ
ファレジスタ73内のμP語(C+2)が中継レジスタ
6にセットされる。更に次のサイクルでは中継レジスタ
6内のμP語(C+2)が実行されるとともに、先に読
出しレジスタ5にセットしたμPI(C+1)が中継レ
ジスタ6にセットされる。このようにして第5図(a)
のフローチャート(予測が失敗するケース)で示す順序
で中継レジスタ6にμP語が供給され、これが実行され
る。The above operation is shown in the time chart of FIG. 2(b), which is a case in which prediction of the conditional branch of the μP word at address B in the flowchart of FIG. 5(a) fails. In the same time chart, CARRY is “1”.
” is set in the relay register until the μP word at address B is set to the relay register. The conditional branch is determined to be "'erroneous".Then, in the next cycle, the μP word (C+
1) is set in the read register 5, and the μP word (C+2) in the buffer register 73 is set in the relay register 6. Furthermore, in the next cycle, the μP word (C+2) in the relay register 6 is executed, and the μPI (C+1) previously set in the read register 5 is set in the relay register 6. In this way, Figure 5(a)
The μP words are supplied to the relay register 6 in the order shown in the flowchart (case where prediction fails) and are executed.
以下説明するように、第5図(a)においてアドレスC
はアドレスBのμP語によって発行される条件分岐命令
の予測先アドレスであり、分岐条件のレジスタCARR
Yの値が′″0°′の場合には予測成功として実行され
るアドレスである。アドレスC+2とC+1とはレジス
タCARRYの値が1”であることによって予測が失敗
したとき実行されるアドレスである。As will be explained below, in FIG. 5(a), address C
is the predicted address of the conditional branch instruction issued by the μP word at address B, and is the branch condition register CARR.
If the value of Y is ``0°'', these are the addresses that are executed as a prediction success.Addresses C+2 and C+1 are the addresses that are executed when the prediction fails because the value of the register CARRY is 1''. be.
第5図(a)と(c)を較べると明らかなように分岐条
件(CARRY)をセットしてからこれを参照して分岐
するまでに要する時間は第5図<a)の方が少ない。Comparing FIGS. 5(a) and 5(c), it is clear that the time required from setting the branch condition (CARRY) to referencing it and branching is shorter in FIG. 5<a).
以上説明したように本発明は、マイクロプログラムにお
ける条件分岐に予測方式をとり入れることにより、第5
図(c)のように条件分岐の全ての分岐方向に対して条
件分岐の性能(分岐条件をセットしてからこれを参照し
て分岐するまでの時間)を落すことなく、トータルの処
理性能に影響の少ない方向の分岐性能のみを落すことに
より全体の処理速度の低下の少ないμP制御装置を提供
できるという効果がある。As explained above, the present invention incorporates a prediction method into conditional branching in a microprogram.
As shown in figure (c), the total processing performance can be improved without reducing the performance of conditional branching (the time from setting the branching condition to referring to it and branching) for all branching directions of conditional branching. By reducing only the branching performance in directions that are less affected, it is possible to provide a μP control device with less reduction in overall processing speed.
行う場合のタイムチャート、第3図は従来技術によるμ
P制御装置の構成の一例を示すブロック図、第4図は第
1図および第3図のμP制御装置のμP語のフォーマッ
ト、第5図(a)は本実施例のμP制御装置のマイクロ
プログラムのフローチャートの一例、第5図(b)およ
び(c)は第3図のμP制御装置のマイクロプログラム
のフローチャートの一例である。
1・・・アドレスレジスタ、2・・・制御記憶部、3・
・・分岐条件判定回路、4・41・42・・・選択回路
、5・・・読出しレジスタ、6・・・中継レジスタ、7
・71〜74・・・バッファレジスタ、8・・・演算回
路。Figure 3 shows the time chart for when μ is calculated using the conventional technology.
A block diagram showing an example of the configuration of the P control device, FIG. 4 is the format of the μP word of the μP control device of FIGS. 1 and 3, and FIG. 5(a) is a microprogram of the μP control device of this embodiment. FIGS. 5(b) and 5(c) are examples of flowcharts of the microprogram of the μP control device shown in FIG. 1...Address register, 2...Control storage section, 3.
... Branch condition determination circuit, 4, 41, 42... Selection circuit, 5... Read register, 6... Relay register, 7
・71 to 74...Buffer register, 8...Arithmetic circuit.
Claims (1)
を同時に読み出せるように構成された制御記憶部と、該
制御記憶部から読み出された複数のμP語を保持する複
数のバッファレジスタと、前記制御記憶部から読み出さ
れた複数のμP語のうち実行すべきμP語を保持する読
み出しレジスタと、条件分岐の場合に前記制御記憶部か
ら読みされた複数のμP語のうち、どれを実行するかを
決定する分岐条件判定回路とを有し、前記読み出しレジ
スタに読み出された現μP語が無条件分岐を指示してい
る場合には、前記制御記憶部から読み出された複数のμ
P語の中からアドレスレジスタで指定されるμP語を次
に実行するμP語として前記読み出しレジスタから読み
出しを実行し、現μP語が条件分岐を指示している場合
には前記複数のμP語の中からアドレスレジスタで指定
されるμP語を分岐先として予測したμP語として前記
読み出しレジスタに読み出し、前記分岐条件判定回路に
よって前記予測が正しいと判定される場合にはそのまま
この予測されたμP語を実行し、一方予測が誤っている
と判定される場合にはこの予測されたμP語を前記バッ
ファレジスタに保持される複数のμP語の中の1つを実
行すると共に、更にその次に実行するμP語として前記
バッファレジスタに保持される複数のμP語の中から分
岐条件に応答して分岐判定回路によって指定されるμP
語を読み出しレジスタに読み出し実行して成ることを特
徴とするマイクロプログラム制御装置。Multiple microprogram words (hereinafter referred to as “μP words”)
a control storage section configured to be able to simultaneously read out a plurality of .mu.P words; a plurality of buffer registers that hold a plurality of .mu.P words read from the control storage section; a read register that holds a μP word to be executed, and a branch condition determination circuit that determines which μP word to execute among the plurality of μP words read from the control storage unit in the case of a conditional branch; If the current μP word read into the read register indicates an unconditional branch, the multiple μP words read from the control storage
The μP word specified by the address register from among the P words is read from the read register as the μP word to be executed next, and if the current μP word instructs a conditional branch, the μP words of the plurality of μP words are The μP word specified by the address register is read into the read register as a predicted μP word as a branch destination, and if the branch condition determination circuit determines that the prediction is correct, the predicted μP word is read as is. If it is determined that the prediction is incorrect, execute one of the plurality of μP words held in the buffer register and execute the predicted μP word next. A μP specified by a branch judgment circuit in response to a branch condition from among a plurality of μP words held in the buffer register as a μP word.
A microprogram control device characterized in that it reads a word into a read register and executes it.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP23736690A JPH04117526A (en) | 1990-09-07 | 1990-09-07 | Microprogram controller |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP23736690A JPH04117526A (en) | 1990-09-07 | 1990-09-07 | Microprogram controller |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH04117526A true JPH04117526A (en) | 1992-04-17 |
Family
ID=17014326
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP23736690A Pending JPH04117526A (en) | 1990-09-07 | 1990-09-07 | Microprogram controller |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH04117526A (en) |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5092652A (en) * | 1973-12-14 | 1975-07-24 | ||
| JPS5173848A (en) * | 1974-12-23 | 1976-06-26 | Fujitsu Ltd | |
| JPS54127648A (en) * | 1978-03-28 | 1979-10-03 | Mitsubishi Electric Corp | Reading system for fixed memory unit |
| JPS5769457A (en) * | 1980-10-17 | 1982-04-28 | Nec Corp | Microprogram controller |
| JPS6388640A (en) * | 1986-10-01 | 1988-04-19 | Nec Corp | Micro-instruction controller |
-
1990
- 1990-09-07 JP JP23736690A patent/JPH04117526A/en active Pending
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5092652A (en) * | 1973-12-14 | 1975-07-24 | ||
| JPS5173848A (en) * | 1974-12-23 | 1976-06-26 | Fujitsu Ltd | |
| JPS54127648A (en) * | 1978-03-28 | 1979-10-03 | Mitsubishi Electric Corp | Reading system for fixed memory unit |
| JPS5769457A (en) * | 1980-10-17 | 1982-04-28 | Nec Corp | Microprogram controller |
| JPS6388640A (en) * | 1986-10-01 | 1988-04-19 | Nec Corp | Micro-instruction controller |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3036754B2 (en) | Micro program controller | |
| JPS63141131A (en) | Pipeline control system | |
| JPH06230963A (en) | Memory access controller | |
| JPH0731596B2 (en) | Conditional subroutine call method | |
| JPH0290324A (en) | Microprogram controller | |
| JPS6031646A (en) | Data processor | |
| JP2883489B2 (en) | Instruction processing unit | |
| JPS5935239A (en) | Microprogram control system | |
| JPH058451B2 (en) | ||
| JPH0218732B2 (en) | ||
| JPS61182135A (en) | Process selecting system | |
| JPS61122754A (en) | Microprocessor | |
| JPS59127155A (en) | Program reading control circuit | |
| JPS6398735A (en) | Microcontroller | |
| JPH0338613B2 (en) | ||
| JPH0531170B2 (en) | ||
| JPH0810429B2 (en) | Micro program controller | |
| JPH0553791A (en) | Control information reader | |
| JPS6260034A (en) | Stored program system controller | |
| JPH0258127A (en) | Instruction precedence control system | |
| JPS5882342A (en) | Microprogram controller | |
| JPS5849897B2 (en) | program control device | |
| JPS59186048A (en) | Microprogram control system | |
| JPH02110631A (en) | Microprogram control method | |
| JPS62105239A (en) | Microbranch system |