JPH01106140A - Branching control system for microprogram - Google Patents

Branching control system for microprogram

Info

Publication number
JPH01106140A
JPH01106140A JP62262886A JP26288687A JPH01106140A JP H01106140 A JPH01106140 A JP H01106140A JP 62262886 A JP62262886 A JP 62262886A JP 26288687 A JP26288687 A JP 26288687A JP H01106140 A JPH01106140 A JP H01106140A
Authority
JP
Japan
Prior art keywords
branch
address
microprogram
memory
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.)
Granted
Application number
JP62262886A
Other languages
Japanese (ja)
Other versions
JPH0585048B2 (en
Inventor
Masanori Sugita
杉田 正憲
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP62262886A priority Critical patent/JPH01106140A/en
Publication of JPH01106140A publication Critical patent/JPH01106140A/en
Publication of JPH0585048B2 publication Critical patent/JPH0585048B2/ja
Granted legal-status Critical Current

Links

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02EREDUCTION OF GREENHOUSE GAS [GHG] EMISSIONS, RELATED TO ENERGY GENERATION, TRANSMISSION OR DISTRIBUTION
    • Y02E60/00Enabling technologies; Technologies with a potential or indirect contribution to GHG emissions mitigation
    • Y02E60/30Hydrogen technology
    • Y02E60/50Fuel cells

Abstract

PURPOSE:To improve the memory availability by calculating a branch destination address from the address under execution and the relative address shown in a branch number field and selecting the output of a branch address memory via a branch address selecting circuit. CONSTITUTION:In case a short-distance branching instruction is stored in an address a1 of a microprogram memory 1, a program counter 6 is set at the a1 and said branch instruction is delivered to a pipeline 3. Under such conditions, an adder/subtractor 4 calculates an absolute address from the address under execution and the relative address of the branch destination designated by a branch number field BNO. While a branch address selecting circuit 5 selects the output of the adder/subtractor 4. At the same time, the branching conditions are delivered to a branch condition selecting circuit 9 and compared with the contents of a branch form type instruction field BOP by a comparator 8 to be loaded when the branching conditions are satisfied. In the case of a long-distance branching instruction, the circuit 5 selects the output of a branch address memory 2A.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 この発明は、マイクロプログラム制御方式採用制御装a
において、マイクロ命令により指示されたマイクロプロ
グラム上のアドレスへジャンプあるいはブランチする際
のマイクロプログラム分岐制御方式に関するものである
[Detailed Description of the Invention] [Industrial Application Field] The present invention provides a control device a that employs a microprogram control method.
The present invention relates to a microprogram branch control system when jumping or branching to an address on a microprogram specified by a microinstruction.

〔従来の技術〕[Conventional technology]

従来のこの種のマイクロプログラム分岐制御方式として
は、一般に水平型マイクロプログラムによる分岐方式と
、垂直型マイクロプログラムによる分岐方式とが知られ
ている。
As conventional microprogram branch control systems of this type, there are generally known branching systems using horizontal microprograms and branching systems using vertical microprograms.

前者の水平型分岐方式は、演算やシフト機能等と分岐機
能が一つのマイクロ命令で記述できるので、実効速度が
速いという利点がある反面、一つのマイクロ命令のビッ
ト巾が長くなシ、マイクロプログラムメモリの容量が大
きくなるという欠点がある。
The former horizontal branching method has the advantage of high effective speed because calculations, shift functions, etc. and branching functions can be written in one microinstruction, but on the other hand, the bit width of one microinstruction is long and the microprogram The disadvantage is that the memory capacity increases.

又、後者の垂直型分岐方式は、演算やシフト機能用また
は分岐機能用に各々別の型のマイクロ命令を作り、1命
令で記述できる機能を制限することにより、メモリの使
用効率が上がり、マイクロプログラムメモリ容量を節約
できるという利点がある反面、演算やシフト機能と分岐
機能が一つのマイクロ命令で記述できないので、実効速
度が遅いという欠点がある。
In addition, the latter vertical branching method creates separate types of microinstructions for calculations, shift functions, and branching functions, and by limiting the functions that can be described with one instruction, memory usage efficiency is improved and microinstructions are Although it has the advantage of saving program memory capacity, it has the disadvantage of slow effective speed because calculations, shift functions, and branch functions cannot be written in one microinstruction.

これらの利点を生かし、欠点を補う方式として、各種の
改良方式が提案されている。第3図は例えば特開昭56
−201147号公報に示された従来のマイクロプログ
ラム分岐制御方式の説明図である。図において、1はマ
イクロプログラムを格納して置く高速読み出し可能なマ
イクロプログラム格納メモリ、2は高速読み出し可能な
分岐情報格納メモリである。
Various improved methods have been proposed to take advantage of these advantages and compensate for their drawbacks. Figure 3 shows, for example, JP-A-56
FIG. 2 is an explanatory diagram of a conventional microprogram branch control method disclosed in Japanese Patent No. 201147. In the figure, 1 is a high-speed readable microprogram storage memory in which a microprogram is stored, and 2 is a high-speed readable branch information storage memory.

又、図中のMは演算種類やシフト操作、対像となるレジ
スタ番号等を指定する情報用のフィールド、BSELは
このマイクロ命令の分岐制御機能を有効とするか無効と
するかを示す1ビツト幅の分岐支持フィールド、BNO
は分岐制御の種類を指示する分岐番号フィールドである
Furthermore, M in the figure is a field for information that specifies the type of operation, shift operation, register number to be matched, etc., and BSEL is a 1-bit indicating whether the branch control function of this microinstruction is enabled or disabled. Width branch support field, BNO
is a branch number field indicating the type of branch control.

次に動作について説明する。分岐制御が不必要なマイク
ロ命令では、BSELフィールドを「無効」と記述して
おく。このような命令実行時は、次のマイクロプログラ
ムアドレスは自動的に+1される。
Next, the operation will be explained. For microinstructions that do not require branch control, the BSEL field is written as "invalid". When such an instruction is executed, the next microprogram address is automatically incremented by 1.

分岐制御が必要なマイクロ命令では、BESEフィール
ドを「有効」と記述しておくとともに、分岐形式の種類
BOPや分岐条件BCCおよび分岐先アドレスBADを
分岐情報格納メモリ2に格納しておき、さらに、この格
納アドレスをマイクロプログラム格納メモリ10BNO
フイールドに記述する。
For microinstructions that require branch control, the BESE field is written as "valid," and the branch format type BOP, branch condition BCC, and branch destination address BAD are stored in the branch information storage memory 2, and further, Set this storage address to microprogram storage memory 10BNO.
Write in the field.

マイクロ命令実行時、BSELフィールドが「有効」な
時には、この分岐情報格納メモリ2の内容に基づき、H
/W(ハードウェア)で分岐条件の成立、不成立が判断
され、条件成立時には、BADフィールドに記述された
マイクロプログラムアドレスが次命令のアドレスとなる
When the microinstruction is executed, when the BSEL field is "valid", the H
/W (hardware) determines whether the branch condition is met or not, and when the condition is met, the microprogram address written in the BAD field becomes the address of the next instruction.

従って、この方式によれば、マイクロ命令内の分岐情報
に関するフィールドの代わりに、分岐情報の種類に対応
した論理番号(分岐情報格納メモリ2のアドレス)と、
分岐支持フィールド(7ビツト)のみを格納すればよい
Therefore, according to this method, instead of a field related to branch information in a microinstruction, a logical number (address of branch information storage memory 2) corresponding to the type of branch information,
Only the branch support field (7 bits) needs to be stored.

分岐情報の種類がn個あるとすると、分岐機能記述フィ
ールドの巾はn 1 + 1ビツト(n=2)で済み、
マイクロプログラム格納メモリ1のアドレス空間を2′
とした場合、一般にn+ l(tとなって、マイクロプ
ログラム格納メモリ1の容量を縮小することができる。
Assuming that there are n types of branch information, the width of the branch function description field is n 1 + 1 bits (n = 2),
The address space of microprogram storage memory 1 is set to 2'
In this case, generally n+l(t), and the capacity of the microprogram storage memory 1 can be reduced.

〔発明が解決しようとする問題点〕[Problem that the invention seeks to solve]

従来のマイクロプログラム分岐制御方式は以上のように
構成されているので、マイクロプログラム内で使用して
いる分岐形式の種類や、分岐条件や、分岐先アドレスの
すべての組合わせを分岐情報格納メモリ2に記述する必
要があり、マイクロプログラム格納メモリ1の容量が減
っても、分岐情報格納メモリ2の容量が増してしまうと
いう問題点があった。
Since the conventional microprogram branch control system is configured as described above, all combinations of branch formats, branch conditions, and branch destination addresses used in the microprogram are stored in the branch information storage memory 2. Therefore, even if the capacity of the microprogram storage memory 1 is reduced, the capacity of the branch information storage memory 2 increases.

さらに、全部の分岐命令と分岐情報格納アドレスとの対
応の管理が煩雑となってしまうなどの問題点があった。
Furthermore, there is a problem that managing the correspondence between all branch instructions and branch information storage addresses becomes complicated.

この発明は上記のような問題点を解消するためになされ
たもので、水平型分岐方式の利点を損うことなく、さら
にメモリの使用効率を高めることができるマイクロプロ
グラム分岐制御方式を得ることを目的とする。
This invention was made to solve the above-mentioned problems, and aims to provide a microprogram branch control method that can further improve memory usage efficiency without sacrificing the advantages of the horizontal branch method. purpose.

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

この発明に係るマイクロプログラム分岐制御方式は、マ
イクロ命令列を格納するマイクロプログラム格納メモリ
と、分岐先の絶対アドレスを記憶する分岐アドレスメモ
リと、相対アドレスと現実行アドレスから分岐先アドレ
スを計算する加減算器と、分岐アドレスメモリの出力値
と加算減器の出力値のいずれかを分岐制御を行うための
分岐先アドレスとして選択する分岐アドレス選択回路と
を設けたものである。
The microprogram branch control method according to the present invention includes a microprogram storage memory that stores a sequence of microinstructions, a branch address memory that stores an absolute address of a branch destination, and an addition/subtraction operation that calculates a branch destination address from a relative address and an actual row address. and a branch address selection circuit that selects either the output value of the branch address memory or the output value of the adder/subtractor as a branch destination address for performing branch control.

〔作用〕[Effect]

この発明におけるマイクロプログラム格納メモリに格納
するマイクロ命令列に含まれる分岐番号フィールドに示
された相対アドレスと現実行アドレスとから加減算器で
分岐先アドレスを計算し、分岐アドレス選択回路でこの
加減算器で計算された分岐先アドレスと分岐アドレスメ
モリの出力値とを選択し、その選択した値を分岐先アド
レスとして分岐制御を行うように作用する。
In this invention, an adder/subtractor calculates a branch destination address from the relative address indicated in the branch number field included in the microinstruction string stored in the microprogram storage memory and the actual row address, and the branch address selection circuit calculates the branch destination address using the adder/subtractor. The calculated branch destination address and the output value of the branch address memory are selected, and branch control is performed using the selected value as the branch destination address.

〔実施例〕〔Example〕

以下、この発明の一実施例を図について説明する。第1
図において、1はマイクロプログラムを格納する高速読
み出し可能なマイクロプログラム格納メモリである。
An embodiment of the present invention will be described below with reference to the drawings. 1st
In the figure, reference numeral 1 denotes a microprogram storage memory that stores microprograms and can be read at high speed.

このマイクロプログラム格納メモリ1に格納するマイク
ロ命令列の構造例は第2図に示されている。この第2図
において、Mは演算種類やシフト操作、対象となるレジ
スタ番号等を指定するフィールド、BOPは分岐形式の
種類を指定する分岐形式種類指定フィールドであシ、分
岐が不必要な場合はその旨を示すコードを記述する。
An example of the structure of a microinstruction string stored in the microprogram storage memory 1 is shown in FIG. In this Figure 2, M is a field for specifying the operation type, shift operation, target register number, etc., BOP is a branch format type specification field for specifying the type of branch format, and if branching is unnecessary, Write code to indicate this.

又、BCCは分岐条件指定フィールド、BTYPは分岐
型フィールドで、マイクロ命令で行なう分岐が近距離分
岐か、遠距離分岐かを指示する1ビツトのフィールドで
あり、例えば、近距離分岐のとき「0」、遠距離分岐の
とき「1」とすれば、「0」が指定された場合には、次
の分岐番号フィールドBNOは分岐先の相対アドレス(
正又は負)と解釈され、「1」が指定され念場合には、
分岐先の絶対アドレスを格納した後述する分岐アドレス
メモリのアドレスと解釈される。
Also, BCC is a branch condition specification field, and BTYP is a branch type field, which is a 1-bit field that indicates whether a branch performed by a microinstruction is a short-distance branch or a long-distance branch. '', if "1" is specified for a long-distance branch, if "0" is specified, the next branch number field BNO will be the relative address of the branch destination (
positive or negative), and in case "1" is specified,
This is interpreted as the address of a branch address memory, which will be described later, that stores the absolute address of the branch destination.

ここでいう上記近距離分岐とは、一般に多用される比較
的近いアドレスへの分岐をいうものであり、又、遠距離
分岐とは、発生頻度の少ない離れたアドレスへの分岐を
いうものである。
The above-mentioned short-distance branch here refers to a branch to a relatively close address that is commonly used, and long-distance branch refers to a branch to a distant address that occurs less frequently. .

再び説明を第1図に戻す。第1図において、ハは上述の
分岐アドレスメモリで、分岐先の絶対アドレスを格納し
ておく高速読み出し可能なものである。
The explanation returns to FIG. 1 again. In FIG. 1, C is the branch address memory mentioned above, which stores the absolute address of the branch destination and can be read out at high speed.

又、3はマイクロプログラム格納メモリ1の出力がセッ
トされて、そのマイクロ命令により指定された制御信号
を出力するパイプラインレジスタ、4は上記BNOフィ
ールドで指定された分岐先相対アドレスと現在の実行ア
ドレスから絶対アドレスを算出するための加減算器であ
る。
Further, 3 is a pipeline register to which the output of microprogram storage memory 1 is set and outputs a control signal specified by the microinstruction, and 4 is a branch target relative address specified by the BNO field and the current execution address. This is an adder/subtractor for calculating an absolute address from .

5は上記BTYPフィールドの指定により、分岐アドレ
スメモリ2人の出力と加減算器4の出力のどちらかを選
択する分岐アドレス選択回路であり、6は実行すべきマ
イクロ命令のアドレスを示すプログラムカウンタである
5 is a branch address selection circuit that selects either the output of the two branch address memories or the output of the adder/subtractor 4 according to the specification of the BTYP field, and 6 is a program counter that indicates the address of the microinstruction to be executed. .

Tはデコーダで、上記パイプラインレジスタ3から出力
される制御信号をデコードするものであり、8は比較器
で、デコーダ7の出力と分岐条件選択回路9の出力とを
比較し、分岐条件成立、不成立の判定を行うものである
T is a decoder that decodes the control signal output from the pipeline register 3, and 8 is a comparator that compares the output of the decoder 7 and the output of the branch condition selection circuit 9, and determines whether the branch condition is satisfied or not. This is to determine whether the condition holds true.

この分岐条件選択回路9は制御装置の実行状態を示す信
号C1〜Cnが入力されるようになっている。
This branch condition selection circuit 9 is configured to receive signals C1 to Cn indicating the execution state of the control device.

次に動作について説明する。この発明では、上記近距離
分岐では、相対アドレスを指定することによシ、分岐制
御を行ない、遠距離分岐では分岐アドレスメモリを参照
して分岐制御を行うものである。
Next, the operation will be explained. In the present invention, the short-distance branch is controlled by specifying a relative address, and the long-distance branch is controlled by referring to the branch address memory.

ただし、ここでいう近距離、遠距離とはこの発明を適用
するシステムにより異なり、各システムで最も効率よい
近距離分岐の範囲を決定し、その範囲外を遠距離とする
ものである。
However, the term "short distance" or "long distance" as used herein differs depending on the system to which this invention is applied, and the most efficient short distance branching range is determined for each system, and the area outside that range is defined as long distance.

今、第2図のBNOフィールドのビット巾をWとすれば
、分岐アドレスメモリ2人には 2VI種類の分岐先絶
対アドレスが記述でき、又、分岐台令から±2  のア
ドレス範囲への分岐が近距離分岐、それ以外の分岐が遠
距離分岐となる。
Now, if the bit width of the BNO field in Figure 2 is W, then 2 VI types of branch destination absolute addresses can be written in the two branch address memories, and a branch to an address range of ±2 from the branch command is possible. Short-distance branches and other branches are long-distance branches.

例えば、マイクロプログラム格納メモリ1のアドレスa
1にBTYPフィールドが「0」であり、BNQフィー
ルドがrであるような近距離分岐命令m1が格納されて
いる場合、このマイクロ命令の実行は次のようにして行
われる。
For example, address a of microprogram storage memory 1
1 stores a short-distance branch instruction m1 in which the BTYP field is "0" and the BNQ field is r, the execution of this microinstruction is performed as follows.

すなわち、プログラムカウンタ6にアドレスa1がセッ
トされると、マイクロプログラム格納メモリ10マイク
ロ命令m1がパイプライン3に取り出され、その内容に
応じた制御信号が各部に出力されるとともに°、プログ
ラムカウンタ6は+1カウントアツプされる0 この場合、マイクロ命令m1のBNOフィールドの内容
はrであるから、加減算器4では、(a1十1)+r−
1の演算が行われ、結果として、a1+rのアドレスが
加減算器4の出力端に現われる。
That is, when the address a1 is set in the program counter 6, the microinstruction m1 of the microprogram storage memory 10 is taken out to the pipeline 3, and control signals according to the contents are output to each part, and the program counter 6 is +1 count up 0 In this case, since the content of the BNO field of microinstruction m1 is r, the adder/subtractor 4 calculates (a1 + 1) + r-
1 is performed, and as a result, the address a1+r appears at the output end of the adder/subtractor 4.

又、マイクロ命令m1のBTYPフィールドの値は「0
」であるので、分岐アドレス選択回路5は加減算器4の
出力を選択する。
Also, the value of the BTYP field of microinstruction m1 is "0".
”, the branch address selection circuit 5 selects the output of the adder/subtractor 4.

一方、分岐条件選択回路9には、例えば、演算結果のキ
ャリ等の制御装置の実行状態を示す信号C工〜Cnが入
力されており、この信号の中から分岐条件指定フィール
ドBCCの内容で指定される所定の状態信号が選択され
、比較器8に出力される。
On the other hand, the branch condition selection circuit 9 receives signals C~Cn indicating the execution state of the control device, such as carry of calculation results, and is specified from among these signals by the contents of the branch condition specification field BCC. A predetermined state signal is selected and outputted to the comparator 8.

又、分岐形式種類指示フィールドBOPの内容がデコー
ダ7でデコードされ、その信号と先の分岐条件選択回路
9の出力とにより、比較器8で比較して、分岐条件成立
、不成立の判定が行われる。
Further, the content of the branch format type indication field BOP is decoded by the decoder 7, and the signal is compared with the output of the previous branch condition selection circuit 9 by the comparator 8 to determine whether the branch condition is met or not. .

この比較器8は分岐条件が成立した時、例えばrlJを
プログラムカウンタ6のロード信号として出力し、分岐
アドレス選択回路5の出力、すなわち、a1+rの値が
プログラムカウンタ6にロードされる。従って、マイク
ロプログラム格納メモリ1のアドレスa 1 + rに
格納されているマイクロ命令が次に実行される。
When the branch condition is met, the comparator 8 outputs, for example, rlJ as a load signal for the program counter 6, and the output of the branch address selection circuit 5, that is, the value of a1+r, is loaded into the program counter 6. Therefore, the microinstruction stored at address a 1 +r of microprogram storage memory 1 is executed next.

一方、比較器8が分岐条件不成立と判定した場合は、比
較器8の出力は「0」であるから、プログラムカウンタ
6に分岐アドレスa 1 + rはロードされず、現在
のプログラムカラ/り6の値、すなわち、jL1+1の
アドレスが次に実行される。
On the other hand, if the comparator 8 determines that the branch condition is not satisfied, the output of the comparator 8 is "0", so the branch address a 1 + r is not loaded into the program counter 6, and the current program color / 6 , i.e., the address of jL1+1 is executed next.

BTYPフィールドが「1」であり、BNOフィールド
がblであるような遠距離分岐命令m2がマイクロプロ
グラム格納メモリ1のアドレスa2に格納されている場
合には、この遠距離分岐命令m2、すなわち、マイクロ
命令m2の実行は次のようになる。
If a long distance branch instruction m2 in which the BTYP field is "1" and the BNO field is bl is stored at address a2 of the microprogram storage memory 1, this long distance branch instruction m2, that is, the micro The execution of instruction m2 is as follows.

パイプラインレジスタ3にマイクロ命令m2がセットさ
れるまでは、マイクロ命令m1の実行時と同様であるが
、マイクロ命令m2の場合、BTYPフィールドの値が
「1」であるため、分岐アドレス選択回路5は、分岐ア
ドレスメモリ2人の出力を選択する。
The process until the microinstruction m2 is set in the pipeline register 3 is the same as the execution of the microinstruction m1, but in the case of the microinstruction m2, since the value of the BTYP field is "1", the branch address selection circuit 5 selects the output of two branch address memories.

ここで、分岐アドレスメモリ2人のアドレスb1にデー
タXがあらかじめ格納されているとし、マイクロ命令m
1の場合と同様にして、分岐条件が成立し、比較器8の
出力が「1」となった場合には、プログラムカウンタ6
にはアドレスXがロードされる。従って、マイクロプロ
グラム格納メモリ1のアドレスXに格納されているマイ
クロ命令が次に実行される。
Here, suppose that data X is stored in advance at address b1 of two branch address memories, and microinstruction m
1, if the branch condition is satisfied and the output of the comparator 8 becomes "1", the program counter 6
is loaded with address X. Therefore, the microinstruction stored at address X in microprogram storage memory 1 is executed next.

なお、上記実施例では、分岐命令、すなわち、マイクロ
命令m1.m2でそれずれ分岐相対アドレス、分岐アド
レスメモリ2人のアドレスを記述したものを示し九が、
パイプラインレジスタ3にマイクロ命令をセットしてか
ら次の実行アドレスがプログラムカラ/り6の出力端に
現われるまでの時間を短くするために分岐命令、すなわ
ち、マイクロ命令m 1 * m 2の直前に実行され
る命令でBTYPフィールド、BNOフィールドの値を
記述しておき、分岐アドレス選択回路5内で分岐先アド
レスをラッチしておく構造としてもよい。
Note that in the above embodiment, the branch instruction, that is, the microinstruction m1. m2 indicates the branch relative address and the address of the two branch address memories, and 9 indicates,
In order to shorten the time from when a microinstruction is set in the pipeline register 3 until the next execution address appears at the output end of the program register 6, a branch instruction, that is, immediately before the microinstruction m 1 * m 2 The structure may be such that the values of the BTYP field and the BNO field are written in the instruction to be executed, and the branch destination address is latched in the branch address selection circuit 5.

ただし、この際の分岐先相対アドレスは分岐命令の直前
に実行される命令に対する相対アドレスでなければなら
ない。
However, the branch destination relative address at this time must be a relative address to the instruction executed immediately before the branch instruction.

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

以上のように、この発明によれば、分岐番号フィールド
に示された相対アドレスと現実行アドレスから加減算器
で分岐先アドレスを計算し、この計算された分岐先アド
レスと分岐アドレスメモリの出力値とを分岐アドレス選
択回路で選択し、その選択し念値を分岐先アドレスとす
るように構成したので、比較的多用される近接し九アド
レスへの分岐は相対アドレス指定による分岐を行い、離
れたアドレスへの分岐は分岐アドレスメモリを参照して
分岐を行うようにでき、従って、マイクロプログラム格
納メモリには、ビット巾の小さい相対アドレスおよび分
岐アドレスメモリのアドレスを格納し、さらに小数の分
岐先アドレスのみを分岐アドレスメモリに格納すればよ
いことになる。
As described above, according to the present invention, the branch destination address is calculated by the adder/subtractor from the relative address indicated in the branch number field and the actual row address, and the calculated branch destination address and the output value of the branch address memory are is selected by the branch address selection circuit, and the selected value is used as the branch destination address. Therefore, branching to the nearest nine addresses, which is relatively frequently used, is performed by specifying a relative address, and branching to a distant address is performed. Branching to can be performed by referring to the branch address memory. Therefore, the microprogram storage memory stores a relative address with a small bit width and the address of the branch address memory, and furthermore, only a decimal branch destination address is stored. It is sufficient to store it in the branch address memory.

これにともない、水平型マイクロプログラムによる分岐
方式の利点を損うことなく、さらにメモリ使用効率を高
められる効果がある。
This has the effect of further increasing memory usage efficiency without sacrificing the advantages of the branching method using horizontal microprograms.

【図面の簡単な説明】 第1図はこの発明の一実施例によるマイクロプログラム
分岐制御方式のブロック図、第2図は同上実施例に適用
するマイクロ命令の構造を示す説明図、第3図は従来の
マイクロプログラム分岐制御方式のブロック図である。 1はマイクロプログラム格納メモリ、2人は分岐アドレ
スメモリ、4は加減算器、5は分岐アドレス選択回路。 なお、図中、同一符号は同一、又は相当部分を示す。 特許出願人  三菱電機株式会社 (外2名) 手続補正書(自発)
[BRIEF DESCRIPTION OF THE DRAWINGS] FIG. 1 is a block diagram of a microprogram branch control system according to an embodiment of the present invention, FIG. 2 is an explanatory diagram showing the structure of a microinstruction applied to the embodiment, and FIG. FIG. 2 is a block diagram of a conventional microprogram branch control method. 1 is a microprogram storage memory, 2 is a branch address memory, 4 is an adder/subtractor, and 5 is a branch address selection circuit. In addition, in the figures, the same reference numerals indicate the same or equivalent parts. Patent applicant: Mitsubishi Electric Corporation (2 others) Procedural amendment (voluntary)

Claims (1)

【特許請求の範囲】[Claims] 分岐先を指定する分岐番号フィールドが分岐先相対アド
レスを示すのかあるいは別に記録した分岐先絶対アドレ
スを示すのかを指示する分岐型フィールドとを含むマイ
クロ命令列を格納するマイクロプログラム格納メモリと
、前記分岐番号フィールドの内容をアドレスとしてアク
セスされ前記分岐先絶対アドレスを記憶する分岐アドレ
スメモリと、前記分岐番号フィールドに示された相対ア
ドレスと現実行アドレスから分岐先アドレスを計算する
加減算器と、前記分岐型フィールドの値により前記分岐
アドレスメモリの出力値と前記加減算器の出力値のいず
れかを分岐制御のための分岐先アドレスとして選択する
分岐アドレス選択回路とを備えたマイクロプログラム分
岐制御方式。
a microprogram storage memory that stores a microinstruction sequence including a branch type field that indicates whether a branch number field that specifies a branch destination indicates a branch destination relative address or a separately recorded branch destination absolute address; a branch address memory that is accessed using the content of the number field as an address and stores the absolute address of the branch destination; an adder/subtractor that calculates the branch destination address from the relative address indicated in the branch number field and the actual row address; and the branch type A microprogram branch control system comprising a branch address selection circuit that selects either the output value of the branch address memory or the output value of the adder/subtractor as a branch destination address for branch control according to a field value.
JP62262886A 1987-10-20 1987-10-20 Branching control system for microprogram Granted JPH01106140A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62262886A JPH01106140A (en) 1987-10-20 1987-10-20 Branching control system for microprogram

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62262886A JPH01106140A (en) 1987-10-20 1987-10-20 Branching control system for microprogram

Publications (2)

Publication Number Publication Date
JPH01106140A true JPH01106140A (en) 1989-04-24
JPH0585048B2 JPH0585048B2 (en) 1993-12-06

Family

ID=17381987

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62262886A Granted JPH01106140A (en) 1987-10-20 1987-10-20 Branching control system for microprogram

Country Status (1)

Country Link
JP (1) JPH01106140A (en)

Also Published As

Publication number Publication date
JPH0585048B2 (en) 1993-12-06

Similar Documents

Publication Publication Date Title
US4679140A (en) Data processor with control of the significant bit lengths of general purpose registers
EP0213842A2 (en) Mechanism for performing data references to storage in parallel with instruction execution on a reduced instruction-set processor
EP0030463B1 (en) Buffer memory control system
EP0240606B1 (en) Pipe-line processing system and microprocessor using the system
JPS6112289B2 (en)
JPH027097B2 (en)
JPH01106140A (en) Branching control system for microprogram
US5151993A (en) Data processor performing operation on data having length shorter than one-word length
US4901222A (en) Method and apparatus for backing out of a software instruction after execution has begun
US4775933A (en) Address generation system
JPS5814260A (en) Data transfer system
JPS6051947A (en) Instruction prefetching system in virtual storage computer
JPH01255933A (en) Sweeping-out control system
JP2511063B2 (en) Pipeline control method
JPS6031646A (en) Data processor
JPH03288228A (en) Information processor
JPS6047618B2 (en) information processing equipment
EP0502206A1 (en) System equipped with processor and cache memory, and method of controlling said cache memory
JP3124361B2 (en) Memory data loading device
JPH0233173B2 (en)
JPH04130932A (en) Address tracing memory
JP2597744B2 (en) Branch control method
JPH02278428A (en) Branch control system
JPH05120080A (en) Firmware execution history storage system
JPH0234059B2 (en)