JPH031231A - Microprogram controller - Google Patents

Microprogram controller

Info

Publication number
JPH031231A
JPH031231A JP2023692A JP2369290A JPH031231A JP H031231 A JPH031231 A JP H031231A JP 2023692 A JP2023692 A JP 2023692A JP 2369290 A JP2369290 A JP 2369290A JP H031231 A JPH031231 A JP H031231A
Authority
JP
Japan
Prior art keywords
branch
signal
micro
cond
signals
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
Application number
JP2023692A
Other languages
Japanese (ja)
Inventor
Yasuhiko Kawamoto
河本 恭彦
Kei Tokunaga
徳永 系
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.)
NEC Corp
NEC IC Microcomputer Systems Co Ltd
Original Assignee
NEC Corp
NEC IC Microcomputer Systems Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp, NEC IC Microcomputer Systems Co Ltd filed Critical NEC Corp
Publication of JPH031231A publication Critical patent/JPH031231A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/26Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
    • G06F9/262Arrangements for next microinstruction selection
    • G06F9/264Microinstruction selection based on results of processing

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)
  • Advance Control (AREA)

Abstract

PURPOSE:To shorten the effective time of a microinstruction by attaching one or more conditional branch satisfying/unsatisfying signals on every micro branching condition bank. CONSTITUTION:The subject controller is equipped with a second selector 214 which receives the branching condition satisfying/unsatisfying signal outputted from each of plural first selectors 213-0 to 213-7 and selects and outputs one of the signals by replying to selection information. As far as a micro branching instruction to be executed is an instruction in which a signal COND 00, COND 01, or COND 02 are set as the branch satisfying/unsatisfying signal, the condi tional branch satisfying/unsatisfying(MTAKENE) signal 110 goes to the signal COND 00, COND 01, or COND 02 though the selector 214 designates any bank based on the content of a register BASEL 215. Thereby, it is not required to perform the execution of a bank switching microinstruction, and especially, since a branching instruction referring to the signals COND-00-02 is used fre quently, the number of steps of the microprogram can be remarkably reduced.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はマイクロプログラムに関し、特にマイクロプロ
グラムで制御されるマイクロプロセッサ(以下、マイク
ロプログラム制御装置という)におけるマイクロプログ
ラムの条件分岐命令の制御方式に関する。
[Detailed Description of the Invention] [Field of Industrial Application] The present invention relates to microprograms, and particularly to a control method for conditional branch instructions of a microprogram in a microprocessor (hereinafter referred to as a microprogram control device) controlled by a microprogram. .

〔従来の技術〕[Conventional technology]

マイクロプログラム制御装置においては、プログラムメ
モリに格納されユーザーがプログラムできる各命令はマ
イクロ命令として読み出され、対応する一連のマイクロ
命令を実行することにより処理される。、各マイクロ命
令に対応する一連のマイクロ命令はマイクロ命令メモリ
に格納されている。マイクロ命令はマイクロ命令メモリ
のアドレス情報を有しており、実行すべきマイクロ命令
が供給されると、そのアドレス情報によって対応する一
連のマイクロ命令の先頭アドレスが指定され一般に、マ
イクロ命令には条件分岐命令(以後、マイクロ分岐命令
という)が用意されており、マイクロ分岐命令の分岐条
件(以後、マイクロ分岐条件という)はマイクロフログ
ラム制御装置の各内部資源の値や状態をデコードして生
成される。
In a microprogram controller, each instruction stored in a program memory and programmable by a user is read out as a microinstruction and processed by executing a corresponding series of microinstructions. , a series of microinstructions corresponding to each microinstruction is stored in a microinstruction memory. A microinstruction has address information in the microinstruction memory, and when a microinstruction to be executed is supplied, that address information specifies the start address of a series of corresponding microinstructions. Generally, a microinstruction has a conditional branch. Instructions (hereinafter referred to as micro branch instructions) are prepared, and branch conditions of the micro branch instructions (hereinafter referred to as micro branch conditions) are generated by decoding the values and states of each internal resource of the micro program control device.

マイクロ命令をマイクロ命令で実現するためには、各マ
イクロ命令の機能に応じてマイクロプログラム制御装置
の特定の内部資源の値や状態を参照する必要がある。こ
のため、マイクロ分岐条件としては、マイクロフログラ
ム制御装置が供給する全てのマイクロ命令を実現するだ
けの種類が必要であり、マイクロ分岐命令もマイクロ分
岐条件と同じだけの種類が必要となる。ところが、マイ
クロ命令メモリに格納されているマイクロ命令の語長は
有限であり、語長で識別できるよりも多くの種類のマイ
クロ命令分岐命令を持つことはできない。
In order to implement microinstructions using microinstructions, it is necessary to refer to the values and states of specific internal resources of the microprogram control device according to the function of each microinstruction. Therefore, the types of microbranch conditions are required to realize all the microinstructions supplied by the microphrogram control device, and the same number of types of microbranch instructions as the microbranch conditions are required. However, the word length of the microinstructions stored in the microinstruction memory is finite, and it is not possible to have more types of microinstruction branch instructions than can be identified by the word length.

マイクロ命令の語長はマイクロプログラム制御装置のハ
ードウェア上の制限から決定され、このため、必要なマ
イクロ分岐命令を識別するのに十分な語長を確保するこ
とはできない。しかも、1語のマイクロ分岐命令は分岐
条件情報だけでなく、オペコードや分岐先アドレス情報
も有するため、実際はマイクロ分岐命令の語長の1部分
のみが分岐条件情報の識別に割り当てられるに過ぎない
(以後、マイクロ分岐命令の分岐条件情報識別に割り当
てられている部分をマイクロ分岐命令識別フィールドと
いう)。
The word length of a microinstruction is determined by hardware limitations of the microprogram controller, and therefore it is not possible to ensure a sufficient word length to identify the required microbranch instruction. Moreover, since a one-word micro-branch instruction has not only branch condition information but also opcode and branch destination address information, only a portion of the word length of the micro-branch instruction is actually allocated to identifying the branch condition information ( Hereinafter, the portion assigned to identify the branch condition information of the micro branch instruction will be referred to as the micro branch instruction identification field).

そこで、マイクロ分岐命令識別フィールドで識別できる
マイクロ分岐命令の数よりも多くの種類ノマイクロ分岐
命令を実現するために、多数のマイクロ分岐条件を、所
定の数のマイクロ分岐条件を一組として複数組に分割し
〔以後、このように分割されたマイクロ分岐条件の1つ
の組をマイクロ分岐条件バンクという)、さらに、専用
のマイクロ命令によってその内容が設定されるバンク選
択レジスタを設けて同レジスタの内容に従ってマイクロ
分岐条件バンクの1つを指定するようになし、このバン
ク選択レジスタで指定されたマイクロ分岐条件バンクが
保持するマイクロ分岐条件の1つをマイクロ分岐命令識
別フィールドの内容で選択するという方式が採られてい
る。
Therefore, in order to realize more types of micro branch instructions than the number of micro branch instructions that can be identified by the micro branch instruction identification field, multiple sets of a large number of micro branch conditions are set, with a predetermined number of micro branch conditions as one set. (Hereinafter, one set of micro branch conditions divided in this way will be referred to as a micro branch condition bank). Furthermore, a bank selection register whose contents are set by a dedicated micro instruction is provided, and the contents of the register are There is a method in which one of the micro branch condition banks is specified according to the bank selection register, and one of the micro branch conditions held by the micro branch condition bank specified by this bank selection register is selected based on the contents of the micro branch instruction identification field. It is taken.

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

近年のマイクロフログラム制御方式のマイクロプロセッ
サは、算術論理演算命令や転送命令等の基本命令のほか
に特権命令や文字より転送命令といった高度な命令を実
行することが要求されており、その結果、多数のマイク
ロ分岐条件を必要とする複雑なアリゴリズムを有するマ
イクロ・プログラムを記述する必要がある。一つのマイ
クロ分岐命令識別フィールドの内容で識別できる分岐条
件は一つのマイクロ分岐条件バンクが有する一つのマイ
クロ分岐条件だけであるため、多数のマイクロ条件分岐
を必要とすることは、頻繁にマイクロ分岐条件バンクを
切替えなければならないことを意味する。マイクロ分岐
条件バンクを切替えるためには、バンク選択レジスタに
値を設定するためのマイクロ命令を実行しなければなら
ない。すなわち、マイクロ条件分岐バンクを切替えるた
めのマイクロ命令の数も多くなり、マイクロプログラム
のステップ数が増加する。マイクロプログラムのステッ
プ数の増加はマイクロ命令によって実現されるマイクロ
命令の処理速度を低下させることになり、マイクロプロ
グラム制御装置の性能劣化となる。
In recent years, microprocessors using the microprogram control system are required to execute not only basic instructions such as arithmetic and logic operation instructions and transfer instructions, but also advanced instructions such as privileged instructions and transfer instructions rather than characters. It is necessary to write a micro-program with a complex algorithm that requires several micro-branch conditions. Since the only branch condition that can be identified by the contents of one micro-branch instruction identification field is one micro-branch condition that one micro-branch condition bank has, requiring a large number of micro-conditional branches means that frequent micro-branch conditions This means that banks must be switched. To switch micro branch condition banks, a microinstruction must be executed to set a value in the bank selection register. That is, the number of microinstructions for switching micro conditional branch banks also increases, and the number of steps in the microprogram increases. An increase in the number of microprogram steps reduces the processing speed of the microinstructions realized by the microinstructions, resulting in deterioration in the performance of the microprogram control device.

したがって、本発明の目的は、マイクロ命令の処理速度
を向上したマイクロプログラム制御装置を提供すること
にある。
SUMMARY OF THE INVENTION Accordingly, an object of the present invention is to provide a microprogram control device that improves the processing speed of microinstructions.

本発明の他の目的は、マイクロプログラムのステップ数
を増加させることなく多数のマイクロ条件分岐に対処し
得るマイクロプログラム制御装置を提供することにある
Another object of the present invention is to provide a microprogram control device that can handle a large number of microconditional branches without increasing the number of microprogram steps.

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

本発明によるマイクロプログラム制御装置は、それぞれ
が複数の分岐条件成立/不成立信号を受ける複数の第1
セレクタであって、マイクロ分岐命令内の所定フィール
ドの内容に応答して一つの分岐条件成立/不成立信号を
選択し出力する複数の第1セレクタであって、これら第
1セレクタの中の一つのセレクタを選択するための選択
情報を−時ストアするレジスタと、複数の第1セレクタ
の各々から出力された分岐条件成立/不成立信号を受け
その中の一つを上記選択情報に応答して選択し出力する
第2セレクタとを備え、上記複数の第1セレクタの各々
に1つ以上の分岐条件成立/不成立信号を共通に供給し
、上記第2セレクタから出力される分岐条件成立/不成
立信号を実行すべきマイクロ分岐命令で指令された条件
分岐の成立/不成立情報とすることを特徴としている。
The microprogram control device according to the present invention includes a plurality of first branch conditions, each of which receives a plurality of branch condition satisfaction/failure signals.
a plurality of first selectors that select and output one branch condition satisfied/unfulfilled signal in response to the contents of a predetermined field in a micro branch instruction; one selector among these first selectors; A register that stores selection information for selecting the - time, and a register that receives branch condition fulfillment/unfulfillment signals output from each of the plurality of first selectors, selects one of them in response to the selection information, and outputs it. and a second selector that commonly supplies one or more branch condition satisfied/unsatisfied signals to each of the plurality of first selectors, and executes the branch condition satisfied/unsatisfied signal output from the second selector. It is characterized in that it is taken/untaken information of a conditional branch instructed by a micro-branch instruction.

このように、1つ以上の条件分岐成立/不成立信号を各
第1セレクタに共通に供給しているので、当該信号を頻
繁に使用されるマイクロ分岐命令のための分岐条件情報
とすることで、その分条件分岐バンクを切替える必要が
なくなり、マイクロプログラムのステップ数を削減する
ことができる。
In this way, one or more conditional branch taken/untaken signals are commonly supplied to each first selector, so by using this signal as branch condition information for frequently used micro branch instructions, Therefore, there is no need to switch conditional branch banks, and the number of microprogram steps can be reduced.

〔実施例〕〔Example〕

以下、本発明を図面により詳細に説明する。 Hereinafter, the present invention will be explained in detail with reference to the drawings.

第1図は本発明の一実施例を示すブロック図である。プ
ログラムメモリ(図示せず)から読み出されたマイクロ
命令が有する、同命令を実現するだめの一連のマイクロ
プログラムの先頭アドレスはレジスタ(STADQ)1
00に転送され、そのマイクロプログラムの実行が終了
するまで保持される。レジスタ100にストアされた先
頭アドレスは、マイクロ命令の実行開始(BEGINE
)信号112によって、マルチプレクサ(MPX)10
1を介してレジスタ(MAR)l O2にストアされる
。104はマルチプレクサ(MPX)であり、分岐制御
ユニツ)111からの分岐条件成立/不成立信号(MT
AKENE)l 110によって制御され、分岐不成立
の次はMAR102を選択し、分岐成立のときは、先頭
先アドレス発生器(TARGET)l 09からの出力
を選択する。
FIG. 1 is a block diagram showing one embodiment of the present invention. The starting address of a series of microprograms to implement the microinstruction read from the program memory (not shown) is in register (STADQ) 1.
00 and held until the execution of that microprogram ends. The start address stored in the register 100 is the start address of the microinstruction (BEGINE).
) signal 112 causes multiplexer (MPX) 10
1 to the register (MAR) lO2. 104 is a multiplexer (MPX), which receives a branch condition fulfillment/unfulfillment signal (MT
When the branch is not taken, the MAR 102 is selected, and when the branch is taken, the output from the head address generator (TARGET) 109 is selected.

MPX104の出力はレジスタ(MA)105にストア
されるとともに、インクリメンタ103によって1だけ
更新されMPXIOIに供給される。
The output of MPX 104 is stored in register (MA) 105, updated by 1 by incrementer 103, and supplied to MPXIOI.

一つのマイクロ命令のための一連のマイクロプログラム
実行中はMPXIOIはインクリメンタ103の出力を
選択する。したがって、MA105の内容は一連のマイ
クロプログラム実行中分岐条件が成立しない限り1つず
つ更新される。MA105の内容はマイクロプログラム
をストアしているマイクロ命令メモリ106にアドレス
情報トして供給され、当該アドレスによって指定された
番地のマイクロ命令がメモ47106から読み出され、
マイクロ命令レジスタ(MI)107に転送される。M
I 107にストアされたマイクロ命令はデコーダ10
8によって解読されるとともに、同命令がマイクロ分岐
命令の場合その中に含まれる分岐先アドレス情報はTA
RGETI O9に供給される。TABGETl 09
は当該情報とともにMAR102のストアアドレス情報
を参照して分岐先アドレスを生成しMPX104に供給
する。
During execution of a series of microprograms for one microinstruction, the MPXIOI selects the output of the incrementer 103. Therefore, the contents of MA 105 are updated one by one unless a branch condition is satisfied during the execution of a series of microprograms. The contents of the MA 105 are supplied as address information to the microinstruction memory 106 storing the microprogram, and the microinstruction at the address specified by the address is read out from the memo 47106.
It is transferred to the microinstruction register (MI) 107. M
The microinstruction stored in I 107 is sent to decoder 10.
If the instruction is a micro branch instruction, the branch destination address information contained therein is decoded by TA.
Supplied to RGETI O9. TABGETl 09
generates a branch destination address by referring to this information as well as the store address information of the MAR 102, and supplies it to the MPX 104.

デコーダ108からのデフード情報はバス1081を介
して命令実行部110に供給され所定の演算処理が実行
される。一方、デコーダ108からの条件分岐情報はバ
ス1082を介して分岐制御ユニット111に供給され
る。このユニツ)111は、実行部110の各内部資源
の値や状態を示す情報をバス1101を介して受けてお
り、バス1082からの情報に応答して条件分岐成立/
不成立信号(MTAKENE)1110を発生する。
Defood information from the decoder 108 is supplied to the instruction execution unit 110 via the bus 1081, and predetermined arithmetic processing is executed. On the other hand, conditional branch information from decoder 108 is supplied to branch control unit 111 via bus 1082. This unit) 111 receives information indicating the values and states of each internal resource of the execution unit 110 via the bus 1101, and responds to information from the bus 1082 to determine whether a conditional branch is established or not.
A failure signal (MTAKENE) 1110 is generated.

かくして、マイクロ命令メモ!J106に記述されたマ
イクロプログラムが実行される。
Thus, microinstruction memo! The microprogram written in J106 is executed.

第2図を参照すると、分岐制御ユニット111は分岐条
件成立/不成立デコーダ211.8個の第1セレクタ2
13−0乃至213−7、一つの第2セレクタ214、
二つのレジスタ(BRCH3EL、 BASEL) 2
12.215、およびANDゲート216を有する。デ
コーダ211は、実行部110からバス1101を介し
て供給された内部資源の値や状態を示す情報をデコード
し、多数の分岐条件成立/不成立信号C0NDOO乃至
C0ND42を発生する。例えば、C0NDOOは、実
行部110の図示しない算術論理演算ユニット(ALU
)が演算の毎に発生する演算結果ゼロ検出信号に関係す
るもので、同信号が零のときアクティブレベル(すなわ
ち、条件分岐成立)となり、零でないときインアクティ
ブレベル(分岐不成立)となる。したがって、上記ゼロ
検出信号が零のときに分岐を生じるマイクロ分岐命令は
信号C0NDOOが参照される。同様に、C0NDOI
CONDO2はALUが演算の毎に発生するキャリー検
出信号および符号検出信号にそれぞれ関係する分岐条件
成立/不成立信号として参照される。他の信号C0ND
O3乃至C0ND42もALUの他の状態信号やその外
の内部資源の値や状態にそれぞれ関係する分岐条件成立
/不成立信号として参照される。このように、デコーダ
211は多数の分岐条件成立/不成立信号を発生する。
Referring to FIG. 2, the branch control unit 111 includes a branch condition establishment/unestablishment decoder 211, eight first selectors 2,
13-0 to 213-7, one second selector 214,
Two registers (BRCH3EL, BASEL) 2
12.215, and AND gate 216. The decoder 211 decodes information indicating the values and states of internal resources supplied from the execution unit 110 via the bus 1101, and generates a large number of branch condition fulfillment/unfulfillment signals C0NDOO to C0ND42. For example, C0NDOO is an arithmetic logic unit (ALU) of the execution unit 110 (not shown).
) is related to the computation result zero detection signal that is generated every time a computation is performed, and when the signal is zero, it becomes an active level (that is, a conditional branch is established), and when it is not zero, it becomes an inactive level (branch does not take place). Therefore, the micro branch instruction that causes a branch when the zero detection signal is zero refers to the signal C0NDOO. Similarly, C0NDOI
CONDO2 is referred to as a branch condition satisfied/unsatisfied signal related to the carry detection signal and sign detection signal generated each time the ALU performs an operation. Other signal C0ND
O3 to C0ND42 are also referred to as branch condition fulfillment/unfulfillment signals respectively related to other status signals of the ALU and the values and status of other internal resources. In this way, the decoder 211 generates a large number of branch condition establishment/unestablishment signals.

一方、マイクロ分岐命令においては、前述のように、マ
イクロ分岐命令識別フィールドのビット数は少なく、こ
のため同フィールドの情報のみですべての分岐条件成立
/不成立信号C0NDOO〜C0ND42を指定するこ
とはできない。
On the other hand, in a micro branch instruction, as described above, the number of bits in the micro branch instruction identification field is small, and therefore it is not possible to specify all the branch condition fulfillment/unfulfillment signals C0NDOO to C0ND42 using only the information in the field.

本実施例では、上記識別フィールドは4ビツト長を有し
ている。したがって、同フィールドで指定できる信号の
数は16である。この識別フィールドの情報はデコーダ
108からのバス1082を介しさらにバス1111を
介してレジスタ(BRCH8EL)212にロードされ
る。BRCH3EL212の内容は8個の第1セレクタ
213−〇乃至213−7に共通に供給される。したが
って、第1セレクタ213−0乃至213−7の各々は
16の入力端子SIO乃至5I15を有しており、BR
CH8EL212からのデータに対応してその中の一つ
を選択し出力ノードSOから出力する。各セレクタ21
3はデコーダ211から8本の分岐条件成立/不成立信
号C0NDを受けるが、本発明に従って、3つの分岐条
件成立/不成立信号C0NDOO,C0NDO1,C0
NDO2が第1セレクタ213−0乃至213−7の各
々に共通に供給されている。前述のように、信号C0N
DOO,C0NDO1,C0ND O2はそれぞれAL
Uのゼロ、キャリー、符号信号に関係する条件分岐成立
/不成立信号として参照され、これはマイクロ分岐条件
として頻繁に使用されるものである。この結果、BRC
H8EL212に信号C0NDOOを指定する情報がス
トアされるとすべての第1セレクタ213−0乃至21
3−7は信号C0NDOOを選択し出力することになる
。同様に、RRCH8EL212への情報が信号C0N
D01.C0NDO2をそれぞれ指定する場合、すべて
のセレクタ213−0乃至213−7は同信号をそれぞ
れ出力する。各セレクタ13−0乃至213−7から出
力された条件分岐成立/不成立信号は第2セレクタ21
4に供給される。第2セレクタ214はBASEL21
5にストアされたバンク選択情報に応答して、入力され
た8本の信号の中から一つを選択し出力する。
In this embodiment, the identification field has a length of 4 bits. Therefore, the number of signals that can be specified in the same field is 16. This identification field information is loaded into register (BRCH8EL) 212 via bus 1082 from decoder 108 and further via bus 1111. The contents of the BRCH3EL 212 are commonly supplied to eight first selectors 213-0 to 213-7. Therefore, each of the first selectors 213-0 to 213-7 has 16 input terminals SIO to 5I15, and the BR
One of them is selected in accordance with the data from CH8EL212 and outputted from output node SO. Each selector 21
3 receives eight branch condition establishment/non-establishment signals C0ND from the decoder 211, but according to the present invention, three branch condition establishment/unestablishment signals C0NDOO, C0NDO1, C0
NDO2 is commonly supplied to each of the first selectors 213-0 to 213-7. As mentioned above, the signal C0N
DOO, C0NDO1, C0ND O2 are each AL
It is referred to as a conditional branch taken/not taken signal related to U's zero, carry, and sign signals, which are frequently used as micro-branch conditions. As a result, B.R.C.
When the information specifying the signal C0NDOO is stored in the H8EL 212, all the first selectors 213-0 to 213-0
3-7 selects and outputs the signal C0NDOO. Similarly, information to RRCH8EL212 is sent to signal C0N.
D01. When specifying C0NDO2, all selectors 213-0 to 213-7 output the same signal. The conditional branch establishment/unestablishment signal output from each selector 13-0 to 213-7 is sent to the second selector 21.
4. The second selector 214 is BASEL21
In response to the bank selection information stored in 5, one of the eight input signals is selected and output.

BASEL215には、バンク選択(切替)マイクロ命
令がメモ!J106から読み出され実行されることで、
3ビツトの選択情報がストアされる。
BASEL215 has a bank selection (switching) microinstruction memo! By being read from J106 and executed,
3-bit selection information is stored.

セレクタ214の出力は指定された条件分岐成立/不成
立信号MTAKENとして取り出されANDゲート21
6の一方の入力に供給される。ゲート216の他方の入
力には、バス1082を介して、マイクロ分岐命令であ
ることを示す信号1112が供給される。したがって、
メモリ106から読出された命令がマイクロ分岐命令で
あって、同命令の分岐条件が成立の場合、信号MTAK
ENE1110はアクティブレベルとなり、MPXIO
!!TRAGET109からの分岐先アドレスをMA1
05に転送する。
The output of the selector 214 is taken out as the specified conditional branch establishment/unestablishment signal MTAKEN and is sent to the AND gate 21.
6. The other input of gate 216 is provided via bus 1082 with a signal 1112 indicating a micro branch instruction. therefore,
If the instruction read from the memory 106 is a micro branch instruction and the branch condition of the instruction is satisfied, the signal MTAK
ENE1110 becomes active level and MPXIO
! ! MA1 is the branch destination address from TRAGET109.
Transfer to 05.

かかる構成によれば、実行すべきマイクロ分岐命令が信
号C0NDOO,C0NDO1、又はC0NDO2を分
岐成立/不成立信号とする命令である限り、セレクタ2
14がBASEL215の内容によってどのバンクを指
定していようとも、MTAKENE信号1110は信号
C0NDO0゜01又は02となる。したがって、バン
ク切替マイクロ命令の実行は不要となる。特に、信号C
0NDO0,01,02を参照する分岐命令は前述のよ
うに頻繁に使用されるから、マイクロプログラムのステ
ップ数は削減は大きなものとなる。なお、信号C0ND
O0,01,02をすべての第1セレクタ213に共通
に入力した結果、セレクタ213の数がそれらの信号を
一つのセレクタにのみ供給した場合に比して増加する場
合があるが、セレクタの指定、すなわちバンク切替は、
BASEL215.第2セレクタ214で制御できるの
で、マイクロ分岐命令の識別フィールドのビット長は全
く増加しない。
According to this configuration, as long as the micro branch instruction to be executed is an instruction that uses the signal C0NDOO, C0NDO1, or C0NDO2 as the branch taken/untaken signal, the selector 2
No matter which bank is designated by 14 according to the contents of BASEL 215, the MTAKENE signal 1110 becomes the signal C0NDO0°01 or 02. Therefore, execution of the bank switching microinstruction becomes unnecessary. In particular, signal C
Since branch instructions that refer to 0NDO0, 01, and 02 are frequently used as described above, the reduction in the number of microprogram steps is significant. In addition, the signal C0ND
As a result of commonly inputting O0, 01, and 02 to all first selectors 213, the number of selectors 213 may increase compared to when those signals are supplied to only one selector, but the designation of the selector , that is, bank switching is
BASEL215. Since it can be controlled by the second selector 214, the bit length of the identification field of the micro branch instruction does not increase at all.

第3図は本発明の他の実施例による分岐制御ユニット1
11を示しており、第2図と異なるところは、BASE
L215に信号BEGINが供給されて初期化されるこ
とである。すなわち、BASEL215は各マイクロ命
令のための一連のマイクロ命令ルーチンの実行開始時に
初期化され、セレクタ213−0のバンクを指定する。
FIG. 3 shows a branch control unit 1 according to another embodiment of the present invention.
11, and the difference from Fig. 2 is BASE
A signal BEGIN is supplied to L215 to initialize it. That is, BASEL 215 is initialized at the start of execution of a series of microinstruction routines for each microinstruction, and specifies the bank of selector 213-0.

したがって、第1セレクタ213−0に供給すべき条件
分岐成立/不成立信号C0NDO3乃至C0ND15と
して信号C0ND00乃至C0ND O2の次によく参
照されるものを使用するか又は、マイクロ命令をカテゴ
リー別に分けよく用いられ得るカテゴリーのマイクロ命
令を実行するためのマイクロ分岐命令のための条件分岐
成立/不成立信号とすることにより、マイクロフログラ
ムのステップ数をさらに削減することができる。
Therefore, as the conditional branch taken/untaken signals C0NDO3 to C0ND15 to be supplied to the first selector 213-0, the signals that are most frequently referenced next to the signals C0ND00 to C0ND O2 are used, or the microinstructions are divided into categories and are often used. By using a conditional branch take/fail signal for a micro branch instruction for executing a micro instruction of the category to be obtained, the number of steps in the microphrogram can be further reduced.

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

以上のとおり、本発明によれば、各マイクロ分岐条件バ
ンクに1つ以上の条件分岐成立/不成立信号を共通にも
たせているので、マイクロ命令の実現のためのマイクロ
命令のステップ数を削減することができ、マイクロ命令
の実行時間を短縮することができる。
As described above, according to the present invention, since each micro-branch condition bank has one or more conditional branch take/fail signals in common, the number of micro-instruction steps for realizing the micro-instruction can be reduced. can reduce the execution time of microinstructions.

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

第1図は本発明の一実施例を示すブロック図、第2図は
第1図で示した分岐制御ユニットのブロック図、第3図
は本発明の他の実施例による分岐制御ユニットのブロッ
ク図である。 代理人 弁理士  内 原   晋
FIG. 1 is a block diagram showing one embodiment of the present invention, FIG. 2 is a block diagram of the branch control unit shown in FIG. 1, and FIG. 3 is a block diagram of a branch control unit according to another embodiment of the present invention. It is. Agent Patent Attorney Susumu Uchihara

Claims (1)

【特許請求の範囲】[Claims] それぞれが複数の分岐条件成立/不成立信号を受ける複
数の第1セレクタであって、マイクロ分岐命令内の所定
フィールドの内容に応答して一つの条件分岐成立/不成
立信号を選択し出力する複数の第1セレクタと、これら
第1セレクタの一つを選択するための選択情報を一時ス
トアするレジスタと、前記複数の第1セレクタの各々か
ら出力された信号から前記選択情報に応答して1つの分
岐条件成立/不成立を選択し出力する第2のセレクタと
を備え、前記複数の第1セレクタの各々に1つ以上の分
岐条件成立/不成立信号を共通に入力し、前記第2セレ
クタから出力される信号をマイクロ分岐命令で指定され
た条件分岐命令の成立/不成立情報とすることを特徴と
するマイクロプログラム制御装置。
A plurality of first selectors, each of which receives a plurality of branch condition taken/untaken signals, and which select and output one conditional branch taken/untaken signal in response to the contents of a predetermined field in a micro branch instruction. 1 selector, a register that temporarily stores selection information for selecting one of the first selectors, and one branch condition in response to the selection information from the signal output from each of the plurality of first selectors. a second selector that selects and outputs whether the branch condition is true or not, one or more branch condition satisfaction/failure signals are commonly input to each of the plurality of first selectors, and the signal is output from the second selector. A microprogram control device characterized in that: is taken as information on whether or not a conditional branch instruction specified by a micro branch instruction is established.
JP2023692A 1989-02-09 1990-02-02 Microprogram controller Pending JPH031231A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP3145989 1989-02-09
JP1-31459 1989-02-09

Publications (1)

Publication Number Publication Date
JPH031231A true JPH031231A (en) 1991-01-07

Family

ID=12331846

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2023692A Pending JPH031231A (en) 1989-02-09 1990-02-02 Microprogram controller

Country Status (3)

Country Link
US (1) US5124910A (en)
EP (1) EP0382235A3 (en)
JP (1) JPH031231A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10036336B2 (en) 2006-09-08 2018-07-31 Hawar Technologies Limited Apparatus to improve the efficiency of internal combustion engines, and method therefor

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2045735A1 (en) * 1990-06-29 1991-12-30 Richard Lee Sites Computer performance by eliminating branches
US5377335A (en) * 1991-08-30 1994-12-27 Unisys Corporation Multiple alternate path pipelined microsequencer and method for controlling a computer
GB2266606B (en) * 1992-04-27 1996-02-14 Intel Corp A microprocessor with an external command mode
GB2266605B (en) * 1992-04-27 1995-10-11 Intel Corp Microprocessor having a run/stop pin for accessing an idle mode
US5941986A (en) * 1993-04-30 1999-08-24 Intel Corporation Micro-code sequencer with branch-taken and branch-not-taken micro-code vectors sharing common address to eliminate taken branch penalties
US6016539A (en) * 1997-11-03 2000-01-18 Teragen Corporation Datapath control logic for processors having instruction set architectures implemented with hierarchically organized primitive operations
JP3664473B2 (en) * 2000-10-04 2005-06-29 インターナショナル・ビジネス・マシーンズ・コーポレーション Program optimization method and compiler using the same
US20060132449A1 (en) * 2004-12-21 2006-06-22 International Business Machines Corporation System, apparatus, and method for displaying variable legends on key buttons

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4398243A (en) * 1980-04-25 1983-08-09 Data General Corporation Data processing system having a unique instruction processor system
WO1985000453A1 (en) * 1983-07-11 1985-01-31 Prime Computer, Inc. Data processing system
US4685058A (en) * 1983-08-29 1987-08-04 Amdahl Corporation Two-stage pipelined execution unit and control stores
EP0221577B1 (en) * 1985-11-08 1996-01-17 Nec Corporation Microprogram control unit

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10036336B2 (en) 2006-09-08 2018-07-31 Hawar Technologies Limited Apparatus to improve the efficiency of internal combustion engines, and method therefor

Also Published As

Publication number Publication date
US5124910A (en) 1992-06-23
EP0382235A3 (en) 1992-12-30
EP0382235A2 (en) 1990-08-16

Similar Documents

Publication Publication Date Title
EP0114304B1 (en) Vector processing hardware assist and method
US5235686A (en) Computer system having mixed macrocode and microcode
US4546431A (en) Multiple control stores in a pipelined microcontroller for handling jump and return subroutines
US4701842A (en) Method and apparatus for avoiding excessive delay in a pipelined processor during the execution of a microbranch instruction
US3988719A (en) Microprogrammed data processing systems
EP0148478A2 (en) A data processor with control of the significant bit lenghts of general purpose registers
JPS6114535B2 (en)
US3958221A (en) Method and apparatus for locating effective operand of an instruction
US5097407A (en) Artificial intelligence processor
US4388682A (en) Microprogrammable instruction translator
JPS62197830A (en) Data processing system
KR19980069757A (en) Microprocessor and Multiprocessor Systems
EP0126125B1 (en) Multiple control stores for a pipelined microcontroller
EP0126124B1 (en) Multiple control stores in a pipelined microcontroller for handling nested subroutines
JPH01310441A (en) Data processor
JPH031231A (en) Microprogram controller
JPS645330B2 (en)
US4656581A (en) Vector mask control system
US5187782A (en) Data processing system
US5675776A (en) Data processor using FIFO memories for routing operations to parallel operational units
JP3190945B2 (en) Micro program control circuit
JP3564517B2 (en) Data processing system
JPS6221131B2 (en)
JPH0922307A (en) Sequencer
JPH0557614B2 (en)