JPH0423128A - Microprogram controller - Google Patents
Microprogram controllerInfo
- Publication number
- JPH0423128A JPH0423128A JP12839790A JP12839790A JPH0423128A JP H0423128 A JPH0423128 A JP H0423128A JP 12839790 A JP12839790 A JP 12839790A JP 12839790 A JP12839790 A JP 12839790A JP H0423128 A JPH0423128 A JP H0423128A
- Authority
- JP
- Japan
- Prior art keywords
- branch
- address
- field
- microinstruction
- condition
- 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
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。(57) [Summary] This bulletin contains application data before electronic filing, so abstract data is not recorded.
Description
【発明の詳細な説明】
〔目次〕
概要
産業上の利用分野
従来の技術
発明が解決しようとする課題
課題を解決するための手段
作用
実施例
(a)本発明の一実施例(第2図〜第4図)(b)本発
明の他の実施例(第5図)
発明の効果
〔概要〕
コンピュータの命令動作を細分化したマイクロ命令の集
まりであるマイクロプログラムを制御するマイクロプロ
グラム制御装置の改良に関し、複雑な条件分岐を数多く
有するマイクロプログラムであっても、制御記憶部内で
同一内容のステップを設けることを極力抑制し、制御記
憶部の効率的使用及び装置の高機能化を図ることができ
るマイクロプログラム制御装置を提供することを目的と
し、
マイクロプログラムを格納する制御記憶部と、前記制御
記憶部から読出されるマイクロ命令を保持するマイクロ
出力ラッチ回路と、前記マイクロ出力ラッチ回路に条件
分岐を指示する条件分岐マイクロ命令が保持されたとき
に、該条件分岐マイクロ命令の選択指定の内容に基づい
て分岐制御情報を選択する分岐条件選択回路と、前記分
岐条件選択回路で選択された分岐制御情報に基づいて前
記条件分岐マイクロ命令中の第1又は第2のフィールド
を選択する分岐アドレス選択回路と、前記制御記憶部を
アクセスするためのマイクロアドレスを発生するマイク
ロアドレス発生回路とを備え、前記条件分岐マイクロ命
令の前記第1のフィールドには条件成立時の分岐アドレ
スを発生するための第1のベースアドレスが含まれ、第
2のフィールドには条件不成立時の分岐アドレスを発生
するための第2のベースアドレスが含まれており、前記
マイクロアドレス発生回路が前記条件分岐マイクロ命令
が読み出されたアドレスと、前記分岐アドレス選択回路
で選択された第1又は第2のベースアドレスとを用いて
、分岐先のアドレスを発生するようにしたものである。[Detailed Description of the Invention] [Table of Contents] Overview Industrial Field of Application Conventional Technology Problems to be Solved by the Invention Means for Solving the Problems Example (a) An Embodiment of the Present Invention (Figs. 2 to 3) Fig. 4) (b) Other embodiments of the present invention (Fig. 5) Effects of the invention [Summary] Improvement of a microprogram control device that controls a microprogram that is a collection of microinstructions that subdivide the command operations of a computer. Regarding this, even if the microprogram has a large number of complicated conditional branches, it is possible to minimize the provision of steps with the same content in the control storage section, thereby achieving efficient use of the control storage section and higher functionality of the device. The object of the present invention is to provide a microprogram control device, which includes a control storage section that stores a microprogram, a micro output latch circuit that holds micro instructions read from the control storage section, and a conditional branch in the micro output latch circuit. A branch condition selection circuit that selects branch control information based on the selection specification of the conditional branch microinstruction when the instructing conditional branch microinstruction is held; and branch control information selected by the branch condition selection circuit. a branch address selection circuit that selects a first or second field in the conditional branch microinstruction based on the conditional branch microinstruction, and a microaddress generation circuit that generates a microaddress for accessing the control storage section, The first field of the branch microinstruction includes a first base address for generating a branch address when the condition is met, and the second field includes a second base address for generating a branch address when the condition is not met. , and the microaddress generation circuit uses the address from which the conditional branch microinstruction was read and the first or second base address selected by the branch address selection circuit, It is designed to generate a branch destination address.
本発明は、コンピュータの命令動作を細分化したマイク
ロ命令の集まりであるマイクロプログラムを制御するマ
イクロプログラム制御装置の改良に関する。The present invention relates to an improvement in a microprogram control device that controls a microprogram, which is a collection of microinstructions that subdivide the instruction operations of a computer.
近年、コンピュータの高機能化に伴いマイクロコンピュ
ータにおいてもマイクロプログラム方式により動作を制
御する方式が採用される。このマイクロプログラム方式
のコンピュータは構造が単純であるため一般的に安価な
ものとなるが、改良や変更に耐えられるように一般的な
構造を取っているために、必ずしも特定の仕様のために
は最適のハードウェアではない。BACKGROUND ART In recent years, as computers have become more sophisticated, microcomputers have adopted a method of controlling operations using a microprogram method. This microprogram type computer has a simple structure, so it is generally inexpensive, but because it has a general structure that can withstand improvements and changes, it is not necessarily suitable for specific specifications. Not the best hardware.
特に、前記マイクロプログラムが高機能な処理を行なう
ために複雑な条件分岐等が多(なると、制御記憶部に格
納されるマイクロプログラムも膨大なものとなり、制御
記憶部の容量を大きくする必要がある。この大容量の制
御記憶部を必要とすることのないマイクロプログラム制
御装置が要求される。In particular, in order for the microprogram to perform highly functional processing, there are many complex conditional branches, etc. (as a result, the microprogram stored in the control storage unit becomes enormous, and the capacity of the control storage unit must be increased. What is needed is a microprogram controller that does not require this large amount of control storage.
従来、この種のマイクロプログラム制御装置として第6
図に示すものがあった。この第6図は従来装置のアドレ
ス制御部ブロック構成図である。Conventionally, as this type of microprogram control device, the sixth
There was something shown in the figure. FIG. 6 is a block diagram of the address control section of the conventional device.
同図において従来のマイクロプログラム制御装置は、マ
イクロプログラムを格納するマイクロプログラム用のR
OMで形成される制御記憶部1と、該制御記憶部1から
読出されるマイクロプログラムのマイクロ命令を保持す
るマイクロ出力ラッチ回路2と、該マイクロ出力ラッチ
回路2に保持されたマイクロ命令における選択指定のC
Cフィールド(コンデイションフィールド)で示される
内容に基づいて演算制御部側のステータスレジスタ8か
ら出力される分岐制御情報bc −bc7のいずれか
を選択し、該選択された分岐条件入力値be を出力
する分岐条件選択回路3と、前記マイクロ出力ラッチ回
路2のマイクロ命令の一部及び分岐条件選択回路3の分
岐条件入力値bCに基づいてマイクロアドレスを発生す
るマイクロアドレス発生回路5と、該マイクロアドレス
発生回路5のマイクロアドレスを格納するアドレスレジ
スタ6とを備える構成である。In the figure, the conventional microprogram control device has a microprogram R for storing microprograms.
A control storage unit 1 formed of an OM, a micro output latch circuit 2 that holds microinstructions of a microprogram read from the control storage unit 1, and a selection designation in the microinstructions held in the micro output latch circuit 2. C of
Select one of the branch control information bc - bc7 output from the status register 8 on the arithmetic control unit side based on the contents indicated in the C field (condition field), and output the selected branch condition input value be. a microaddress generation circuit 5 that generates a microaddress based on a part of the microinstruction of the microoutput latch circuit 2 and the branching condition input value bC of the branching condition selection circuit 3; The configuration includes an address register 6 that stores the microaddress of the generation circuit 5.
前記制御記憶部1に格納される各マイクロ命令は、条件
分岐か無条件分岐かを示すMDフィールド、選択指定の
内容を示すCCフィールド及び条件分岐時の分岐先アド
レスを示すBAフィールド(ベースアドレスフィールド
)からなる次のマイクロ命令の実行アドレスを制御する
ための部分と、マイクロ命令の各演算制御のためのCT
フィールド(コントロールフィールド)の部分とから形
成される。Each microinstruction stored in the control storage unit 1 includes an MD field indicating whether it is a conditional branch or an unconditional branch, a CC field indicating the contents of the selection specification, and a BA field (base address field) indicating the branch destination address at the time of a conditional branch. ) for controlling the execution address of the next microinstruction, and a CT for controlling each operation of the microinstruction.
field (control field).
次に、前記構成に基づ〈従来装置の動作を第7図(A)
、(B)を参照して説明する。この第7図(A)は次の
マイクロ命令の実行アドレスを制御するためのMD(モ
ード) 、CC,BAの各フィールド(アドレス指定フ
ィールド)を示す。また、同図(B)はマイクロアドレ
ス発生回路5で発生されるマイクロアドレスの8bft
構成例を示す。Next, based on the above configuration, the operation of the conventional device is shown in Fig. 7 (A).
, (B). FIG. 7(A) shows MD (mode), CC, and BA fields (address designation fields) for controlling the execution address of the next microinstruction. In addition, (B) of the same figure shows 8 bft of the microaddress generated by the microaddress generation circuit 5.
A configuration example is shown.
まず、制御記憶部1から読出されるマイクロ命令がラッ
チ回路2に保持される。この保持されたマイクロ命令の
うちMDフィールドの内容により分岐条件回路3及びマ
イクロアドレス発生回路5が各々動作する。First, a microinstruction read from the control storage section 1 is held in the latch circuit 2. The branch condition circuit 3 and the microaddress generation circuit 5 each operate according to the contents of the MD field of this held microinstruction.
前記MDフィールド内容が無条件分岐“1”の場合には
、次のマイクロアドレスを構成する総てのビットを、マ
イクロアドレス特定のためのMDフィールドに指定し、
その内容MA が7イクロアドレス発生回路5でそ
のまま選択され、アドレスレジスタ6に格納される。こ
のアドレスレジスタ6に格納されたマイクロアドレスの
内容に基づいて制御記憶部1から次に実行されるマイク
ロ命令を読出す。If the contents of the MD field are unconditional branch "1", all bits constituting the next microaddress are specified in the MD field for specifying the microaddress,
The content MA is directly selected by the 7-micro address generation circuit 5 and stored in the address register 6. Based on the contents of the microaddress stored in the address register 6, the microinstruction to be executed next is read from the control storage section 1.
また、前記MDフィールドの内容が条件分岐“0”の場
合には、CCフィールドの内容に基づき分岐条件選択回
路3が演算制御部側のステータスレジスタから出力され
る分岐条件を選択して装置の状態を表す分岐条件入力値
bc をマイクロアドレス発生回路5に出力する。When the content of the MD field is conditional branch "0", the branch condition selection circuit 3 selects the branch condition output from the status register on the arithmetic control unit side based on the content of the CC field to state the device. A branch condition input value bc representing the value bc is output to the microaddress generation circuit 5.
なお、上記分岐条件入力値be とは具体的にはステ
ータスレジスタ8に記憶されている1bitのフラグで
ある。CCは3bitなので、ステータスレジスタ8に
は8つのフラグb CO〜bc7があり、このCCの値
に従って8つのフラグのうちの1つが選択される。この
選択された分岐条件入力値bc がマイクロアドレス発
生回路5に入力される。条件分岐の際には、このフラグ
の“1” 10”に応じてジャンプ先がかわる。Note that the branch condition input value be is specifically a 1-bit flag stored in the status register 8. Since CC is 3 bits, there are eight flags bCO to bc7 in status register 8, and one of the eight flags is selected according to the value of CC. This selected branch condition input value bc is input to the microaddress generation circuit 5. At the time of conditional branching, the jump destination changes depending on whether this flag is "1" or "10".
前記マイクロアドレス発生回路5は選択された条件(装
置の状態を表わすキャリー等)の分岐条件入力値bc
とBAフィールドの内容とからマイクロアドレスの一部
を発生し、これをアドレスレジスタ6の一部に格納する
。このアドレスレジスタ6において前回のマイクロアド
レスの内容(MAR)をそのまま利用するビットについ
ては、前回のデータMARをそのまま保持することとな
る。この保持された前回のデータM A Rs−7と前
記マイクロアドレス発生回路5で発生したマイクロアド
レスの一部(分岐先アドレスBA5−。The micro address generation circuit 5 generates a branch condition input value bc of the selected condition (such as a carry indicating the state of the device).
A part of the microaddress is generated from the contents of the BA field and the contents of the BA field, and is stored in a part of the address register 6. For bits in this address register 6 that use the contents (MAR) of the previous microaddress as they are, the previous data MAR is held as is. This held previous data MARs-7 and part of the microaddress generated by the microaddress generation circuit 5 (branch destination address BA5-).
及び分岐条件入力値be )とからなるマイクロアド
レスがアドレスレジスタ6に格納されることとなる。and branch condition input value be) will be stored in the address register 6.
このように条件分岐の場合には、分岐可能なアドレスを
制限して無条件分岐の場合と同じ長さ(8bit)のビ
ット情報で実現していた。このため、8bjtのマイク
ロアドレスは、前回のマイクロアドレスの内容のMAR
フィールドが2bitと、分岐先アドレスを示すBAフ
ィールドの一部が5bitと、装置の状態を表わす分岐
条件入力値bc (ステータスレジスタ内のフラグ)
が1ビツトとで構成されている前記MARフィールド、
BAフィールドの一部及び入力値bc により次の実
行アドレスを生成していた。In this way, in the case of a conditional branch, the addresses at which the branch can be taken are limited and realized using bit information of the same length (8 bits) as in the case of an unconditional branch. Therefore, the microaddress of 8bjt is the MAR of the contents of the previous microaddress.
The field is 2 bits, part of the BA field indicating the branch destination address is 5 bits, and the branch condition input value bc (flag in the status register) indicates the device status.
The MAR field is composed of 1 bit;
The next execution address was generated using part of the BA field and the input value bc.
従来のマイクロプログラム制御装置は以上のように分岐
条件入力値bc (フラグの値)そのものをアドレ
スとするように構成されていたので、条件分岐の場合に
は分岐条件入力値be で指定される条件成立(フラ
グ−“1”に対応)、条件不成立(フラグ=“0”に対
応)の各分岐先アドレスが特定の1bitのみ違う1組
として存在させなければ条件分岐が制限されるという課
題を有していた。このため、い(つかのアドレスから同
一の他のアドレスに条件分岐したい場合でも、条件の成
立、不成立後どちらかの動作を変えたいときは、別のア
ドレスに同一の内容を書いて、その対になるアドレスに
マイクロ命令を配置しなければならない。そのため、マ
イクロプログラムが高機能な処理を行なうために複雑な
条件分岐を数多く使用する場合は、同じ内容のマイクロ
命令がいくつも必要となり、制御記憶部に格納されるマ
イクロプログラムのステップ数が増加して制御記憶部の
格納効率を悪化させるといった課題が生じることになる
。Conventional microprogram control devices are configured to take the branch condition input value bc (flag value) itself as an address as described above, so in the case of conditional branching, the condition specified by the branch condition input value be There is a problem that conditional branching is restricted unless the branch destination addresses for conditions established (corresponding to flag = “1”) and conditions not satisfied (corresponding to flag = “0”) exist as a set that differs by only a specific 1 bit. Was. Therefore, even if you want to conditionally branch from one address to another address, if you want to change the behavior after the condition is satisfied or not, write the same content to another address and Therefore, if a microprogram uses many complex conditional branches to perform sophisticated processing, many microinstructions with the same content are required, and the control memory This poses a problem in that the number of steps of the microprogram stored in the control storage section increases, deteriorating the storage efficiency of the control storage section.
本発明は前記課題を解決するためになされたもので、複
雑な条件分岐を数多く有するマイクロプログラムであっ
ても、制御記憶部内で同一内容のステップを設けること
を極力抑制し、制御記憶部の効率的使用及び装置の高機
能化を図ることができるマイクロプログラム制御装置を
提供することを目的とする。The present invention has been made to solve the above problem, and even in a microprogram having many complex conditional branches, the provision of steps with the same content in the control storage unit is suppressed as much as possible, thereby improving the efficiency of the control storage unit. The object of the present invention is to provide a microprogram control device that can be used for a variety of purposes and improve the functionality of the device.
帽1を解決するための手段〕 第1図は本発明の原理説明図を示す。Means to solve problem 1] FIG. 1 shows a diagram explaining the principle of the present invention.
同図において本発明に係るマイクロプログラム制御装置
は、マイクロプログラムを格納する制御記憶部1と、前
記制御記憶部1から読出されるマイクロ命令を保持する
マイクロ出力ラッチ回路2と、前記マイクロ出力ラッチ
回路2に条件分岐を指示する条件分岐マイクロ命令が保
持されたときに、該条件分岐マイクロ命令の選択指定の
内容に基づいて分岐制御情報bc を選択する分岐条
件皿
選択回路3と、前記分岐条件選択回路3で選択された分
岐制御情報be に基づいて前記条件分岐マイクロ命
令中の第1又は第2のフィールドA又はBを選択する分
岐アドレス選択回路4と、前記制御記憶部1をアクセス
するためのマイクロアドレスを発生するマイクロアドレ
ス発生回路5とを備え、前記条件分岐マイクロ命令の前
記第1のフィールドには条件成立時の分岐アドレスを発
生するための第1のベースアドレスが含まれ、第2のフ
ィールドには条件不成立時の分岐アドレスを発生するた
めの第2のベースアドレスが含まれており、前記マイク
ロアドレス発生回路5が前記条件分岐マイクロ命令が読
み出されたアドレスと、前記分岐アドレス選択回路で選
択された第1又は第2のベースアドレスとを用いて、分
岐先のアドレスを発生するようにしたものである。In the figure, the microprogram control device according to the present invention includes a control storage section 1 that stores a microprogram, a micro output latch circuit 2 that holds micro instructions read from the control storage section 1, and the micro output latch circuit. 2, when a conditional branch microinstruction instructing a conditional branch is held, a branch condition selection circuit 3 that selects branch control information bc based on the selection designation of the conditional branch microinstruction; and the branch condition selection circuit 3. a branch address selection circuit 4 for selecting the first or second field A or B in the conditional branch microinstruction based on the branch control information be selected by the circuit 3; a micro-address generation circuit 5 for generating a micro-address; the first field of the conditional branch micro-instruction includes a first base address for generating a branch address when the condition is met; The field contains a second base address for generating a branch address when the condition is not met, and the microaddress generation circuit 5 selects the address from which the conditional branch microinstruction was read and the branch address selection circuit. The branch destination address is generated using the first or second base address selected in the above.
本発明においては、条件分岐マイクロ命令中に分岐条件
成立時及び条件不成立時の各分岐番地を各複数ビット情
報で指定する第1及び第2のフィールドASBを設け、
条件分岐マイクロ命令の選択指定の内容に基づいて選択
された分岐制御情報bc によって第1のフィールド
Aか、第2のフイールドBかの情報を分岐アドレス選択
回路5で選択し、その情報を次に実行されるマイクロ命
令のアドレスの一部として使用することによって、条件
分岐マイクロ命令の選択指定の内容で選択された分岐制
御情報bc に関わりなく、マイクロ命令で指定した
第1又は第2のフィールドASBにおける分岐番地の任
意の複数ビットの情報が次に実行されるマイクロ命令の
アドレスの一部となる。In the present invention, a conditional branch micro-instruction is provided with first and second fields ASB for specifying each branch address when the branch condition is met and when the condition is not met using multiple bit information,
The branch address selection circuit 5 selects either the first field A or the second field B based on the branch control information bc selected based on the contents of the selection specification of the conditional branch microinstruction, and the information is transferred to the next field. By using it as part of the address of the microinstruction to be executed, the first or second field ASB specified by the microinstruction can be used as part of the address of the microinstruction to be executed, regardless of the branch control information bc selected in the selection specification of the conditional branch microinstruction. The information of any plurality of bits of the branch address becomes part of the address of the next microinstruction to be executed.
これによって、指定したビットの数をNとすると、2N
個のアドレスの中で自由に条件分岐の成立と不成立時と
の分岐先のアドレスを設定できる。As a result, if the specified number of bits is N, then 2N
Within these addresses, you can freely set the branch destination address when the conditional branch is taken or not taken.
従って、任意のアドレスから同一のアドレスに条件分岐
したい場合に条件の成立、不成立後どちらかの動作を変
えた場合には、一つのアドレスに対して2N−1個のア
ドレスと条件分岐の組に出来るため、2ゞ−1個分のマ
イクロ命令が共用可能となる。Therefore, if you want to make a conditional branch from an arbitrary address to the same address, and you change the behavior after the condition is met or not, you will have 2N-1 addresses and conditional branches for one address. Therefore, 2-1 microinstructions can be shared.
(a)本発明の一実施例
以下、本発明の一実施例を第2図ないし第4図に基づい
て説明する。この第2図は本発明の一実施例構成図、第
3図はマイクロ命令のアドレス特定部分態様図、第4図
は第2図記載のマイクロアドレス発生回路の詳細回路構
成図を示す。(a) One Embodiment of the Present Invention An embodiment of the present invention will be described below with reference to FIGS. 2 to 4. FIG. 2 is a block diagram of an embodiment of the present invention, FIG. 3 is a diagram showing an aspect of an address specifying portion of a microinstruction, and FIG. 4 is a detailed circuit diagram of the microaddress generation circuit shown in FIG.
前記各図において本実施例に係るマイクロプログラム制
御装置は、アドレス制御部と演算制御部とからなり、該
アドレス制御部が前記従来装置(第6図に記載)の制御
記憶部1、マイクロ出力ラッチ回路2、分岐条件選択回
路3、マイクロアドレス発生回路5及びアドレスレジス
タ6を共通して備え、該構成に加え、前記分岐条件選択
回路3の分岐条件入力値bc に基づいて前記マイク
ロ出力ラッチ回路2に格納されるマイクロ命令における
条件分岐マイクロ命令中の第1フィールド人(以下、A
フィールド)、第2フイールドB(以下、Bフィールド
)を選択する分岐アドレス選択回路4を備える構成であ
る。In each of the above figures, the microprogram control device according to this embodiment is composed of an address control section and an arithmetic control section, and the address control section is connected to the control storage section 1 and the micro output latch of the conventional device (shown in FIG. 6). A circuit 2, a branch condition selection circuit 3, a micro address generation circuit 5, and an address register 6 are commonly provided, and in addition to this configuration, the micro output latch circuit 2 The first field person (hereinafter referred to as A) in the conditional branch microinstruction stored in the microinstruction
This configuration includes a branch address selection circuit 4 that selects a second field B (hereinafter referred to as B field).
前記制御記憶部1に格納されるマイクロ命令は、MDフ
ィールド、CCフィールド、CTフィールドに加え、条
件分岐の場合に条件成立時の分岐番地を複数ビット情報
で指定するAフィールドと、条件不成立時の分岐番地を
複数ビット情報で指定するBフィールドとを有して形成
される。The microinstruction stored in the control storage unit 1 includes, in addition to the MD field, CC field, and CT field, an A field that specifies the branch address when the condition is met using multi-bit information in the case of a conditional branch, and an A field that specifies the branch address when the condition is met using multi-bit information. It is formed with a B field that specifies a branch address using multiple bit information.
前記分岐アドレス選択回路4は、前記マイクロ出力ラッ
チ回路2に保持されるマイクロ命令の選択指定の内容で
あるCCフィールドに基づいて前記マイクロ出力ラッチ
回路2における条件成立時。The branch address selection circuit 4 determines when a condition is satisfied in the micro output latch circuit 2 based on the CC field which is the content of the selection designation of the micro instruction held in the micro output latch circuit 2.
条件不成立時の分岐番地を指定するA、Bフィールドの
いずれかを選択し、当該選択されたA(又はB)フィー
ルドをマイクロアドレス発生回路5に出力する構成であ
る。The configuration is such that either the A or B field that specifies the branch address when the condition is not met is selected, and the selected A (or B) field is output to the microaddress generation circuit 5.
また、第4図におけるマイクロアドレス発生回路5は、
マイクロ出力ラッチ回路2に保持されるマイクロ命令中
における無条件分岐時の次の実行アドレスを示すマイク
ロアドレス特定のためのMAフィールドMA 及び
マイクロ命令以外からの要因(例えば、ユーザの命令、
演算制御部の状態等)により作成される次の実行アドレ
スを、条件分岐か無条件分岐かを示すMDフィールドの
内容に基づいて選択する第1の選択回路51と、該第1
の選択回路51で選択されたMAフィールールドB
)を前記MDフィールドの内容に基づいて選択する第2
の選択回路52とを備える構成である。Furthermore, the microaddress generation circuit 5 in FIG.
MA field MA for specifying a micro-address indicating the next execution address at the time of an unconditional branch in the micro-instruction held in the micro-output latch circuit 2; and factors other than the micro-instruction (for example, a user's instruction,
a first selection circuit 51 that selects the next execution address created based on the state of the arithmetic control unit, etc., based on the contents of an MD field indicating whether it is a conditional branch or an unconditional branch;
The MA field rule B selected by the selection circuit 51 of
) is selected based on the contents of the MD field.
The configuration includes a selection circuit 52.
次に、前記構成に基づく本実施例の動作について説明す
る。Next, the operation of this embodiment based on the above configuration will be explained.
まず、−のマイクロプログラムにおいてマイクロ命令を
順次読出す通常の動作は、マイクロROMで構成される
制御記憶部1からマイクロ命令を読出してマイクロ出力
ラッチ回路2に保持される。このマイクロ出力ラッチ回
路2のマイクロ命令は、次のマイクロ命令の実行アドレ
スを制御するためのMAフィールド(MDフィールド、
CCフィールド、Aフィールド、Bフィールド)と各演
算制御のためのCTフィールドとから形成され、前記M
AフィールドのMDフィールド、CCフィールド、Aフ
ィールド、Bフィールドがアドレス制御部側へ出力され
、前記CTフィールドが演算制御部側へ出力される。First, in the normal operation of sequentially reading out microinstructions in a microprogram (-), the microinstructions are read out from the control storage section 1 constituted by a micro ROM and held in the micro output latch circuit 2. The micro-instruction of this micro-output latch circuit 2 has an MA field (MD field) for controlling the execution address of the next micro-instruction.
CC field, A field, B field) and a CT field for each calculation control, and the M
The MD field, CC field, A field, and B field of the A field are output to the address control section, and the CT field is output to the arithmetic control section.
前記MAフィールドの内容により無条件分岐か条件分岐
かに分かれ、以下の通り動作する。Depending on the contents of the MA field, the branch is divided into an unconditional branch or a conditional branch, and operates as follows.
■無条件分岐の場合
この無条件分岐(MDフィールドが“1”のとき)は、
前記CCフィールド、Aフィールド、Bフィールドが次
の実行アトイスを指定するMAフィールドとなる(第3
図(A)を参照)。この第3図(A)rMD=IJにお
いて、マイクロ命令の分岐モードより次の実行アドレス
を示しているMAフィールドのMA を選択する。■In the case of an unconditional branch This unconditional branch (when the MD field is "1")
The CC field, A field, and B field become the MA field that specifies the next execution field (the third
(see figure (A)). In FIG. 3(A) rMD=IJ, MA in the MA field indicating the next execution address is selected from the branch mode of the microinstruction.
この選択された次のマイクロ命令の実行アドレスを制御
するためのフィールドとしてアドレス出力レジスタ6に
格納しく第3図(B)を参照)、この格納した内容に基
づき次に実行されるマイクロ命令を制御記憶部1から読
出すこととなる。以後、無条件分岐の場合にはこれを繰
り返す。This is stored in the address output register 6 as a field for controlling the execution address of the selected next microinstruction (see Figure 3 (B)), and the next microinstruction to be executed is controlled based on the stored contents. It will be read from the storage unit 1. After that, this process is repeated for unconditional branches.
■条件分岐の場合
条件分岐(MDフィールドが“0”のとき)は、前記C
Cフィールドに示される選択指定の内容に基づき演算制
御部側のステータスレジスタ8がら出力される分岐制御
情報b c −b C7が分岐条件選択回路3で選択
され、この選択結果が装置(演算制御部)側の状態を表
わす分岐条件入力値be として出力される。この分
岐条件入力値bc が分岐アドレス選択回路4に入力
され、この分岐アドレス選択回路4は分岐条件入力値b
c に基づき条件成立時の3bit情報であるAフィ
ールドA か、条件不成立の3bit情報であるBフ
ィールドB かの情報を選択する。■For conditional branch Conditional branch (when the MD field is “0”)
Branch control information b c -b C7 output from the status register 8 on the arithmetic control unit side based on the selection designation contents shown in the C field is selected by the branch condition selection circuit 3, and this selection result is sent to the device (arithmetic control unit ) is output as a branch condition input value be representing the state on the side. This branch condition input value bc is input to the branch address selection circuit 4, and this branch address selection circuit 4 receives the branch condition input value b
Based on c, select either field A, which is 3-bit information when the condition is met, or field B, which is 3-bit information when the condition is not met.
この選択された情報(AフィールドA 又は−O
BフィールドB )に基づきアドレスレジスタ6の任
意の複数bitのみを書替える。このようにして、現在
のマイクロアドレスから任意の複数bitの値が異なる
アドレスを特定する。この特定されたマイクロアドレス
に基づき次に実行されるマイクロ命令を制御記憶部1か
ら読出してマイクロ出力ラッチ回路2に保持する。条件
分岐の場合には前記動作が繰り返されることとなる。Based on this selected information (A field A or -OB field B), only a plurality of arbitrary bits of the address register 6 are rewritten. In this way, an address with different values of any plurality of bits from the current microaddress is identified. The microinstruction to be executed next based on the specified microaddress is read from the control storage section 1 and held in the microoutput latch circuit 2. In the case of a conditional branch, the above operation will be repeated.
なお、前記無条件分岐、条件分岐の通常の動作が終了し
、マイクロプログラムへ移行する場合には、命令レジス
タ12からの出力がマイクロアドレス発生回路5の第1
の選択回路51に入力され(第4図を参照)、次のマイ
クロプログラムの先頭マイクロアドレスがマイクロアド
レス発生回路5で発生され、この発生したマイクロアド
レスがアドレスレジスタ6に格納された後に制御記憶部
1から読出されることとなる。Note that when the normal operation of the unconditional branch and conditional branch is completed and the transition is made to the microprogram, the output from the instruction register 12 is the first one of the microaddress generation circuit 5.
The first microaddress of the next microprogram is generated by the microaddress generation circuit 5, and after this generated microaddress is stored in the address register 6, it is input to the selection circuit 51 (see FIG. 4). It will be read from 1.
また、マイクロ出力ラッチ回路2に保持されるマイクロ
命令のうち演算制御部のためのCTフィールドの内容は
、演算制御部のAlO2、汎用レジスタ9のデコーダ及
びプログラムカウンタ10へ各々入力される。Furthermore, the contents of the CT field for the arithmetic control unit among the microinstructions held in the micro output latch circuit 2 are input to the AlO2 of the arithmetic control unit, the decoder of the general-purpose register 9, and the program counter 10, respectively.
前記ALU7は、CTフィールドの内容に基づき演算処
理動作を行ない、この演算結果を前記汎用レジスタに格
納すると共に、演算処理の状態等をステータスレジスタ
8に出力する。このステータスレジスタ8の内容例えば
キャリー、オバーフロー等の状態が分岐条件選択回路3
に出力され、この分岐条件選択回路3でCCフィールド
の内容に基づいて選択される。The ALU 7 performs an arithmetic operation based on the contents of the CT field, stores the result of the arithmetic operation in the general-purpose register, and outputs the status of the arithmetic operation to the status register 8. The contents of this status register 8, such as carry, overflow, etc., are determined by the branch condition selection circuit 3.
and is selected by the branch condition selection circuit 3 based on the contents of the CC field.
(b)本発明の他の実施例
第5図は他の実施例装置のマイクロ命令のアドレス特定
部分態様図を示し、同図(A)はアドレスフィールド、
同図(B)はマイクロアドレスを各々示す。(b) Another embodiment of the present invention FIG. 5 shows an aspect diagram of an address specifying part of a microinstruction of a device according to another embodiment, and (A) of the same figure shows an address field,
(B) of the same figure shows each microaddress.
前記−の実施例では、次のマイクロ命令の実行アドレス
を制御するためのマイクロ命令のフィールドとして、条
件分岐か無条件分岐か指定するMDフィールドと、分岐
条件を指定するCCフィールドと、条件成立時の分岐番
地の任意の複数ビットの情報を指定するAフィールド、
条件不成立時の分岐番地の任意の複数ビットの情報を指
定するBフィールドとしているが、これらに加えて、第
5図に示すように構成することもできる。In the embodiment mentioned above, the fields of the microinstruction for controlling the execution address of the next microinstruction include the MD field that specifies whether the branch is conditional or unconditional, the CC field that specifies the branch condition, and the field that specifies the branch condition when the condition is met. an A field that specifies arbitrary multiple bit information of the branch address of;
Although the B field specifies information of a plurality of arbitrary bits of the branch address when the condition is not met, in addition to these, it is also possible to configure as shown in FIG.
即ち、前記−の実施例に加えて条件分岐時に条件の成立
、不成立に関係なく分岐番地の一部のビットの情報を指
定する第3のフィールドABを設ける構成とすることも
できる。この一部の共通するビット情報の第3のフィー
ルドABを設けることにより、条件分岐の場合には条件
に関係なく、第3のフィールドABの情報をアドレスレ
ジスタ6の任意ビットを書き変えるようにしてもよい。That is, in addition to the above embodiment, a third field AB may be provided that specifies information on some bits of the branch address regardless of whether the condition is satisfied or not at the time of conditional branching. By providing a third field AB of this part of common bit information, in the case of a conditional branch, the information in the third field AB can be rewritten to any bit of the address register 6, regardless of the condition. Good too.
この場合のマイクロ命令では第3のフィールドABが無
条件分岐時に分岐番地を示すMAフィールドにおいて共
用させているため、第3のフィールドABのビット位置
に対応するMAフィールドのアドレスのビット情報を同
じビットとすると、ハードウェアの規模としては、前記
−の実施例と同じで、アドレスレジスタ6の書き換える
ビット数を増やすのみで済む。即ち、接続の変更のみで
実現することができることとなる。In this case, in the microinstruction, the third field AB is shared by the MA field indicating the branch address at the time of an unconditional branch, so the bit information of the address of the MA field corresponding to the bit position of the third field AB is the same bit. In this case, the scale of the hardware is the same as in the above-mentioned embodiment, and it is only necessary to increase the number of bits to be rewritten in the address register 6. In other words, this can be achieved only by changing the connections.
以上説明したように本発明においては、条件分岐マイク
ロ命令中に分岐条件成立時及び条件不成立時の各分岐番
地を各複数ビット情報で指定する第1及び第2のフィー
ルドA、Bを設け、条件分岐マイクロ命令の選択指定の
内容に基づいて選択された制御情報bCによって第1フ
ィールドAか第2フイールドBかの情報を分岐アドレス
選択回路で選択し、その情報を次に実行されるマイクロ
命令のアドレスの一部として使用する構成を採ったこと
から、条件分岐マイクロ命令の選択指定の内容で選択さ
れた制御情報bc に関わりなく、マイクロ命令で指
定した第1又は第2のフィールドA、Bにおける分岐番
地の任意の複数ビットの情報が次に実行されるマイクロ
命令のアドレスの一部となり共用できることとなったこ
とから、制御記憶部に格納されるマイクロプログラムに
おける同一内容のステップを作ることを極力制御できる
という効果を有する。As explained above, in the present invention, first and second fields A and B are provided in the conditional branch micro-instruction to specify each branch address when the branch condition is met and when the condition is not met using multiple bit information. The branch address selection circuit selects either the first field A or the second field B information based on the control information bC selected based on the content of the branch microinstruction selection specification, and the information is used in the next microinstruction to be executed. Because it is configured to be used as part of the address, regardless of the control information bc selected in the selection specification of the conditional branch microinstruction, the information in the first or second field A or B specified by the microinstruction is Since the information of any multiple bits of the branch address becomes part of the address of the next microinstruction to be executed and can be shared, it is important to make every effort to create steps with the same content in the microprograms stored in the control memory. It has the effect of being controllable.
また、マイクロプログラムのマイクロ命令数が少なくな
り、制御記憶部の格納効率を向上させると共に、高機能
なマイクロコンピュータを低コストで提供できるという
効果を有する。Furthermore, the number of microinstructions in the microprogram is reduced, which improves the storage efficiency of the control storage unit, and has the effect that a highly functional microcomputer can be provided at low cost.
第1図は本発明の原理説明図、
第2図は本発明の一実施例構成図、
第3図はマイクロ命令のアドレス特定部分態様図であり
、同図(A)はアドレス指定フィールド、同図(B)は
マイクロアドレス、
第4図は第2図記載のアドレス発生回路の詳細回路構成
図、
第5図は他の実施例装置のマイクロアドレス特定部分態
様図であり、同図(A)はアドレス指定フィールド、同
図(B)はマイクロアドレス、第6図は従来装置のアド
レス制御部ブロック構成図、
第7図は従来装置のマイクロ命令のアドレス特定部分態
様図であり、同図(A)はアドレス指定フィールド、同
図(B)はマイクロアドレスを示す図である。
1・・・制御記憶部
2・・・マイクロ出力ラッチ回路
3・・・分岐条件選択回路
4・・・分岐アドレス選択回路
5・・・マイクロアドレス発生回路
6・・・アドレスレジスタ
7・・・ALU
8・・・ステータスレジスタ
1・・・第1の選択回路
2・・・第2の選択回路FIG. 1 is a diagram explaining the principle of the present invention, FIG. 2 is a configuration diagram of an embodiment of the present invention, FIG. FIG. 4 is a detailed circuit configuration diagram of the address generation circuit shown in FIG. 2. FIG. 6 is a block diagram of the address control section of the conventional device. FIG. ) is a diagram showing an address designation field, and (B) of the same figure shows a microaddress. 1... Control storage unit 2... Micro output latch circuit 3... Branch condition selection circuit 4... Branch address selection circuit 5... Micro address generation circuit 6... Address register 7... ALU 8...Status register 1...First selection circuit 2...Second selection circuit
Claims (1)
、 前記制御記憶部(1)から読出されるマイクロ命令を保
持するマイクロ出力ラッチ回路(2)と、前記マイクロ
出力ラッチ回路(2)に条件分岐を指示する条件分岐マ
イクロ命令が保持されたときに、該条件分岐マイクロ命
令の選択指定の内容に基づいて分岐制御情報(bc_n
)を選択する分岐条件選択回路(3)と、 前記分岐条件選択回路(3)で選択された 分岐制御情報(bc_n)に基づいて前記条件分岐マイ
クロ命令中の第1又は第2のフィールド(A又はB)を
選択する分岐アドレス選択回路(4)と、 前記制御記憶部(1)をアクセスするためのマイクロア
ドレスを発生するマイクロアドレス発生回路(5)とを
備え、 前記条件分岐マイクロ命令の前記第1のフィールドには
条件成立時の分岐アドレスを発生するための第1のベー
スアドレスが含まれ、第2のフィールドには条件不成立
時の分岐アドレスを発生するための第2のベースアドレ
スが含まれており、前記マイクロアドレス発生回路(5
)が前記条件分岐マイクロ命令が読み出されたアドレス
と、前記分岐アドレス選択回路で選択された第1又は第
2のベースアドレスとを用いて、分岐先のアドレスを発
生するようにしたことを 特徴とするマイクロプログラム制御装置。 2、前記条件分岐マイクロ命令は、条件成立及び不成立
時の分岐アドレス発生のために共用される第3のベース
アドレスを含む第3のフィールド(AB)を有し、 前記マイクロアドレス発生回路(5)は前記条件分岐マ
イクロ命令が読み出されたアドレスと、前記分岐アドレ
ス選択回路(4)で選択された第1又は第2のベースア
ドレスと、前記第3のベースアドレスとを用いて分岐先
アドレスを発生するようにしたことを 特徴とする請求項1記載のマイクロプログラム制御装置
。 3、上記制御記憶部に格納される条件分岐マイクロ命令
の第1、第2のフィールド(A、B)を複数のビット情
報で指定すること を特徴とする請求項1記載のマイクロプログラム制御装
置。[Claims] 1. A control storage unit (1) that stores a microprogram, a micro output latch circuit (2) that holds micro instructions read from the control storage unit (1), and the micro output latch When a conditional branch microinstruction that instructs circuit (2) to perform a conditional branch is held, branch control information (bc_n
); and a branch condition selection circuit (3) that selects the first or second field (A) in the conditional branch microinstruction based on the branch control information (bc_n) selected by the branch condition selection circuit (3). or B); and a microaddress generation circuit (5) that generates a microaddress for accessing the control storage section (1), The first field contains a first base address for generating a branch address when the condition is met, and the second field contains a second base address for generating a branch address when the condition is not met. The micro address generation circuit (5
) generates a branch destination address using the address from which the conditional branch microinstruction was read and the first or second base address selected by the branch address selection circuit. Microprogram control device. 2. The conditional branch microinstruction has a third field (AB) including a third base address that is shared for generating a branch address when the condition is met or not met, and the microaddress generation circuit (5) determines the branch destination address using the address from which the conditional branch microinstruction was read, the first or second base address selected by the branch address selection circuit (4), and the third base address. 2. The microprogram control device according to claim 1, wherein the microprogram control device generates the program. 3. The microprogram control device according to claim 1, wherein the first and second fields (A, B) of the conditional branch microinstruction stored in the control storage section are specified by a plurality of bit information.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP12839790A JPH0423128A (en) | 1990-05-18 | 1990-05-18 | Microprogram controller |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP12839790A JPH0423128A (en) | 1990-05-18 | 1990-05-18 | Microprogram controller |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0423128A true JPH0423128A (en) | 1992-01-27 |
Family
ID=14983795
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP12839790A Pending JPH0423128A (en) | 1990-05-18 | 1990-05-18 | Microprogram controller |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0423128A (en) |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS60201439A (en) * | 1984-03-26 | 1985-10-11 | Nec Corp | Microprogram controlling system |
| JPS62280934A (en) * | 1986-05-29 | 1987-12-05 | Hitachi Ltd | Bit selection compression method |
-
1990
- 1990-05-18 JP JP12839790A patent/JPH0423128A/en active Pending
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS60201439A (en) * | 1984-03-26 | 1985-10-11 | Nec Corp | Microprogram controlling system |
| JPS62280934A (en) * | 1986-05-29 | 1987-12-05 | Hitachi Ltd | Bit selection compression method |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR101812569B1 (en) | Mapping between registers used by multiple instruction sets | |
| JPH0235523A (en) | Flexible asic microcomputer | |
| KR100227277B1 (en) | Computer methods for writing a sclar value to a vector | |
| JPS62197830A (en) | Data processing system | |
| JPS6254359A (en) | Computer apparatus | |
| JPS6049332B2 (en) | Microprogram control method | |
| US5046040A (en) | Microprogram control apparatus using don't care bits as part of address bits for common instructions and generating variable control bits | |
| JPH01310441A (en) | Data processor | |
| CA2284772A1 (en) | Computer processor and method for data streaming | |
| JP2743947B2 (en) | Micro program control method | |
| JP3392413B2 (en) | Two-level micro control system and method | |
| JPS6043750A (en) | Microprogram controller | |
| JPS5998253A (en) | Microprogram controller | |
| JPS5998249A (en) | Digital information processing device | |
| JPS6031646A (en) | Data processor | |
| JP2004118669A (en) | Control device, control method, and control software | |
| JPH02143328A (en) | Micro-program control device | |
| JPS59186048A (en) | Microprogram control system | |
| JPH052481A (en) | Arithmetic control circuit | |
| JPS6112577B2 (en) | ||
| JPS61220034A (en) | Microprocessor | |
| JPS62191931A (en) | Microprogram control method | |
| JPS6146857B2 (en) | ||
| JPS638938A (en) | Microprogram control device | |
| JPH01253032A (en) | Microprogram control type processor |