JPH031231A - マイクロプログラム制御装置 - Google Patents

マイクロプログラム制御装置

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
English (en)
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/ja
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

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はマイクロプログラムに関し、特にマイクロプロ
グラムで制御されるマイクロプロセッサ(以下、マイク
ロプログラム制御装置という)におけるマイクロプログ
ラムの条件分岐命令の制御方式に関する。
〔従来の技術〕
マイクロプログラム制御装置においては、プログラムメ
モリに格納されユーザーがプログラムできる各命令はマ
イクロ命令として読み出され、対応する一連のマイクロ
命令を実行することにより処理される。、各マイクロ命
令に対応する一連のマイクロ命令はマイクロ命令メモリ
に格納されている。マイクロ命令はマイクロ命令メモリ
のアドレス情報を有しており、実行すべきマイクロ命令
が供給されると、そのアドレス情報によって対応する一
連のマイクロ命令の先頭アドレスが指定され一般に、マ
イクロ命令には条件分岐命令(以後、マイクロ分岐命令
という)が用意されており、マイクロ分岐命令の分岐条
件(以後、マイクロ分岐条件という)はマイクロフログ
ラム制御装置の各内部資源の値や状態をデコードして生
成される。
マイクロ命令をマイクロ命令で実現するためには、各マ
イクロ命令の機能に応じてマイクロプログラム制御装置
の特定の内部資源の値や状態を参照する必要がある。こ
のため、マイクロ分岐条件としては、マイクロフログラ
ム制御装置が供給する全てのマイクロ命令を実現するだ
けの種類が必要であり、マイクロ分岐命令もマイクロ分
岐条件と同じだけの種類が必要となる。ところが、マイ
クロ命令メモリに格納されているマイクロ命令の語長は
有限であり、語長で識別できるよりも多くの種類のマイ
クロ命令分岐命令を持つことはできない。
マイクロ命令の語長はマイクロプログラム制御装置のハ
ードウェア上の制限から決定され、このため、必要なマ
イクロ分岐命令を識別するのに十分な語長を確保するこ
とはできない。しかも、1語のマイクロ分岐命令は分岐
条件情報だけでなく、オペコードや分岐先アドレス情報
も有するため、実際はマイクロ分岐命令の語長の1部分
のみが分岐条件情報の識別に割り当てられるに過ぎない
(以後、マイクロ分岐命令の分岐条件情報識別に割り当
てられている部分をマイクロ分岐命令識別フィールドと
いう)。
そこで、マイクロ分岐命令識別フィールドで識別できる
マイクロ分岐命令の数よりも多くの種類ノマイクロ分岐
命令を実現するために、多数のマイクロ分岐条件を、所
定の数のマイクロ分岐条件を一組として複数組に分割し
〔以後、このように分割されたマイクロ分岐条件の1つ
の組をマイクロ分岐条件バンクという)、さらに、専用
のマイクロ命令によってその内容が設定されるバンク選
択レジスタを設けて同レジスタの内容に従ってマイクロ
分岐条件バンクの1つを指定するようになし、このバン
ク選択レジスタで指定されたマイクロ分岐条件バンクが
保持するマイクロ分岐条件の1つをマイクロ分岐命令識
別フィールドの内容で選択するという方式が採られてい
る。
〔発明が解決しようとする課題〕
近年のマイクロフログラム制御方式のマイクロプロセッ
サは、算術論理演算命令や転送命令等の基本命令のほか
に特権命令や文字より転送命令といった高度な命令を実
行することが要求されており、その結果、多数のマイク
ロ分岐条件を必要とする複雑なアリゴリズムを有するマ
イクロ・プログラムを記述する必要がある。一つのマイ
クロ分岐命令識別フィールドの内容で識別できる分岐条
件は一つのマイクロ分岐条件バンクが有する一つのマイ
クロ分岐条件だけであるため、多数のマイクロ条件分岐
を必要とすることは、頻繁にマイクロ分岐条件バンクを
切替えなければならないことを意味する。マイクロ分岐
条件バンクを切替えるためには、バンク選択レジスタに
値を設定するためのマイクロ命令を実行しなければなら
ない。すなわち、マイクロ条件分岐バンクを切替えるた
めのマイクロ命令の数も多くなり、マイクロプログラム
のステップ数が増加する。マイクロプログラムのステッ
プ数の増加はマイクロ命令によって実現されるマイクロ
命令の処理速度を低下させることになり、マイクロプロ
グラム制御装置の性能劣化となる。
したがって、本発明の目的は、マイクロ命令の処理速度
を向上したマイクロプログラム制御装置を提供すること
にある。
本発明の他の目的は、マイクロプログラムのステップ数
を増加させることなく多数のマイクロ条件分岐に対処し
得るマイクロプログラム制御装置を提供することにある
〔課題を解決するための手段〕
本発明によるマイクロプログラム制御装置は、それぞれ
が複数の分岐条件成立/不成立信号を受ける複数の第1
セレクタであって、マイクロ分岐命令内の所定フィール
ドの内容に応答して一つの分岐条件成立/不成立信号を
選択し出力する複数の第1セレクタであって、これら第
1セレクタの中の一つのセレクタを選択するための選択
情報を−時ストアするレジスタと、複数の第1セレクタ
の各々から出力された分岐条件成立/不成立信号を受け
その中の一つを上記選択情報に応答して選択し出力する
第2セレクタとを備え、上記複数の第1セレクタの各々
に1つ以上の分岐条件成立/不成立信号を共通に供給し
、上記第2セレクタから出力される分岐条件成立/不成
立信号を実行すべきマイクロ分岐命令で指令された条件
分岐の成立/不成立情報とすることを特徴としている。
このように、1つ以上の条件分岐成立/不成立信号を各
第1セレクタに共通に供給しているので、当該信号を頻
繁に使用されるマイクロ分岐命令のための分岐条件情報
とすることで、その分条件分岐バンクを切替える必要が
なくなり、マイクロプログラムのステップ数を削減する
ことができる。
〔実施例〕
以下、本発明を図面により詳細に説明する。
第1図は本発明の一実施例を示すブロック図である。プ
ログラムメモリ(図示せず)から読み出されたマイクロ
命令が有する、同命令を実現するだめの一連のマイクロ
プログラムの先頭アドレスはレジスタ(STADQ)1
00に転送され、そのマイクロプログラムの実行が終了
するまで保持される。レジスタ100にストアされた先
頭アドレスは、マイクロ命令の実行開始(BEGINE
)信号112によって、マルチプレクサ(MPX)10
1を介してレジスタ(MAR)l O2にストアされる
。104はマルチプレクサ(MPX)であり、分岐制御
ユニツ)111からの分岐条件成立/不成立信号(MT
AKENE)l 110によって制御され、分岐不成立
の次はMAR102を選択し、分岐成立のときは、先頭
先アドレス発生器(TARGET)l 09からの出力
を選択する。
MPX104の出力はレジスタ(MA)105にストア
されるとともに、インクリメンタ103によって1だけ
更新されMPXIOIに供給される。
一つのマイクロ命令のための一連のマイクロプログラム
実行中はMPXIOIはインクリメンタ103の出力を
選択する。したがって、MA105の内容は一連のマイ
クロプログラム実行中分岐条件が成立しない限り1つず
つ更新される。MA105の内容はマイクロプログラム
をストアしているマイクロ命令メモリ106にアドレス
情報トして供給され、当該アドレスによって指定された
番地のマイクロ命令がメモ47106から読み出され、
マイクロ命令レジスタ(MI)107に転送される。M
I 107にストアされたマイクロ命令はデコーダ10
8によって解読されるとともに、同命令がマイクロ分岐
命令の場合その中に含まれる分岐先アドレス情報はTA
RGETI O9に供給される。TABGETl 09
は当該情報とともにMAR102のストアアドレス情報
を参照して分岐先アドレスを生成しMPX104に供給
する。
デコーダ108からのデフード情報はバス1081を介
して命令実行部110に供給され所定の演算処理が実行
される。一方、デコーダ108からの条件分岐情報はバ
ス1082を介して分岐制御ユニット111に供給され
る。このユニツ)111は、実行部110の各内部資源
の値や状態を示す情報をバス1101を介して受けてお
り、バス1082からの情報に応答して条件分岐成立/
不成立信号(MTAKENE)1110を発生する。
かくして、マイクロ命令メモ!J106に記述されたマ
イクロプログラムが実行される。
第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は多数の分岐条件成立/不成立信号を発生する。
一方、マイクロ分岐命令においては、前述のように、マ
イクロ分岐命令識別フィールドのビット数は少なく、こ
のため同フィールドの情報のみですべての分岐条件成立
/不成立信号C0NDOO〜C0ND42を指定するこ
とはできない。
本実施例では、上記識別フィールドは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本の信号の中から一つを選択し出力する。
BASEL215には、バンク選択(切替)マイクロ命
令がメモ!J106から読み出され実行されることで、
3ビツトの選択情報がストアされる。
セレクタ214の出力は指定された条件分岐成立/不成
立信号MTAKENとして取り出されANDゲート21
6の一方の入力に供給される。ゲート216の他方の入
力には、バス1082を介して、マイクロ分岐命令であ
ることを示す信号1112が供給される。したがって、
メモリ106から読出された命令がマイクロ分岐命令で
あって、同命令の分岐条件が成立の場合、信号MTAK
ENE1110はアクティブレベルとなり、MPXIO
!!TRAGET109からの分岐先アドレスをMA1
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で制御できるの
で、マイクロ分岐命令の識別フィールドのビット長は全
く増加しない。
第3図は本発明の他の実施例による分岐制御ユニット1
11を示しており、第2図と異なるところは、BASE
L215に信号BEGINが供給されて初期化されるこ
とである。すなわち、BASEL215は各マイクロ命
令のための一連のマイクロ命令ルーチンの実行開始時に
初期化され、セレクタ213−0のバンクを指定する。
したがって、第1セレクタ213−0に供給すべき条件
分岐成立/不成立信号C0NDO3乃至C0ND15と
して信号C0ND00乃至C0ND O2の次によく参
照されるものを使用するか又は、マイクロ命令をカテゴ
リー別に分けよく用いられ得るカテゴリーのマイクロ命
令を実行するためのマイクロ分岐命令のための条件分岐
成立/不成立信号とすることにより、マイクロフログラ
ムのステップ数をさらに削減することができる。
〔発明の効果〕
以上のとおり、本発明によれば、各マイクロ分岐条件バ
ンクに1つ以上の条件分岐成立/不成立信号を共通にも
たせているので、マイクロ命令の実現のためのマイクロ
命令のステップ数を削減することができ、マイクロ命令
の実行時間を短縮することができる。
【図面の簡単な説明】
第1図は本発明の一実施例を示すブロック図、第2図は
第1図で示した分岐制御ユニットのブロック図、第3図
は本発明の他の実施例による分岐制御ユニットのブロッ
ク図である。 代理人 弁理士  内 原   晋

Claims (1)

    【特許請求の範囲】
  1. それぞれが複数の分岐条件成立/不成立信号を受ける複
    数の第1セレクタであって、マイクロ分岐命令内の所定
    フィールドの内容に応答して一つの条件分岐成立/不成
    立信号を選択し出力する複数の第1セレクタと、これら
    第1セレクタの一つを選択するための選択情報を一時ス
    トアするレジスタと、前記複数の第1セレクタの各々か
    ら出力された信号から前記選択情報に応答して1つの分
    岐条件成立/不成立を選択し出力する第2のセレクタと
    を備え、前記複数の第1セレクタの各々に1つ以上の分
    岐条件成立/不成立信号を共通に入力し、前記第2セレ
    クタから出力される信号をマイクロ分岐命令で指定され
    た条件分岐命令の成立/不成立情報とすることを特徴と
    するマイクロプログラム制御装置。
JP2023692A 1989-02-09 1990-02-02 マイクロプログラム制御装置 Pending JPH031231A (ja)

Applications Claiming Priority (2)

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

Publications (1)

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

Family

ID=12331846

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2023692A Pending JPH031231A (ja) 1989-02-09 1990-02-02 マイクロプログラム制御装置

Country Status (3)

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

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 (ja) * 2000-10-04 2005-06-29 インターナショナル・ビジネス・マシーンズ・コーポレーション プログラムの最適化方法及びこれを用いたコンパイラ
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
EP0382235A2 (en) 1990-08-16
EP0382235A3 (en) 1992-12-30
US5124910A (en) 1992-06-23

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 (ja)
US3958221A (en) Method and apparatus for locating effective operand of an instruction
US5097407A (en) Artificial intelligence processor
US4388682A (en) Microprogrammable instruction translator
JPS62197830A (ja) デ−タ処理システム
KR19980069757A (ko) 마이크로프로세서 및 멀티프로세서 시스템
EP0126125B1 (en) Multiple control stores for a pipelined microcontroller
EP0126124B1 (en) Multiple control stores in a pipelined microcontroller for handling nested subroutines
JPH01310441A (ja) データ処理装置
JPH031231A (ja) マイクロプログラム制御装置
JPS645330B2 (ja)
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 (ja) マイクロプログラム制御回路
JP3564517B2 (ja) データ処理システム
JPS6221131B2 (ja)
JPH0922307A (ja) シーケンサ
JPH0557614B2 (ja)