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

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

Info

Publication number
JPS63163531A
JPS63163531A JP30976686A JP30976686A JPS63163531A JP S63163531 A JPS63163531 A JP S63163531A JP 30976686 A JP30976686 A JP 30976686A JP 30976686 A JP30976686 A JP 30976686A JP S63163531 A JPS63163531 A JP S63163531A
Authority
JP
Japan
Prior art keywords
microprogram
microinstruction
execution
address
signal
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
JP30976686A
Other languages
English (en)
Other versions
JPH0782434B2 (ja
Inventor
Hiroaki Kaneko
金子 博昭
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
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP61309766A priority Critical patent/JPH0782434B2/ja
Publication of JPS63163531A publication Critical patent/JPS63163531A/ja
Publication of JPH0782434B2 publication Critical patent/JPH0782434B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Abstract

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

Description

【発明の詳細な説明】 〈産業上の利用分野〉 本発明はマイクロプログラム制御装置に関し、特にマイ
クロプログラムの実行開始を待ち合せる制御に関する。
〈従来の技術〉 マイクロプログラム制御装置を用いた制御には、あらか
じめ制御内容を定義したマイクロプログラムを複数用意
しておき、必要に応じであるマイクロプログラムを実行
するような応用がある。このような応用では、実行が開
始されたマイクロプログラムが一連の処理を終了すると
、マイクロプログラム制御装置は次のマイクロプログラ
ムの実行開始指定を待ち合せる状態に入る。
情報処理装置の命令実行ユニットにマイクロプログラム
制御装置を用いた場合、情報処理装置の命令(以下、マ
クロ命令と呼ぶ)の一つ一つに対応して異なったマイク
ロプログラムを用意しておき、マクロ命令の解読を行な
う命令デコード・ユニットがマイクロプログラムの指定
ならびにマイクロプログラムのデコード終了時にマイク
ロプログラムの実行開始を指定する。
起動されたマイクロプログラムがマクロ命令として規定
された処理を終了すると、次のマイクロプログラムの指
定と実行開始指定とを待ち合せる。
この時、命令デコード・ユニットが次のマクロ命令のデ
コードを完了していれば、直ちに対応するマイクロプロ
グラムの実行を開始することができる。
かかるシーケンスを繰り返すことによって、マクロ命令
のシーケンスを次々に実行することができる。
第4図は前記命令実行ユニットにおいて使用される従来
のマイクロプログラム制御装置の構成を示すブロック図
である。
マイクロ命令アドレス・レジスタ(以下、MARと呼ぶ
)400は1次に実行すべきMビットのマイクロ命令の
アドレスを格納するレジスタである。保持信号HOLD
がoの時、MAR400にはmビットのインクリメンタ
(以下INCと呼ぶ)401によって現在のMARの値
に1を加えた内容がロードされる。シーケンシャルにマ
イクロ命令を実行する際にこの動作が行なわれる。また
ロード信号LDSTARTが1の時、MAR400には
次のマイクロプログラムのmビットの実行開始アドレス
(スタートアドレス)がロードされる。保持信号HOL
 Dが1で、かつロード信号LDSTARTがOの間は
、MAR400の内容は変化しない。
マイクロプログラム・メモリ(以下、MMEMと呼ぶ)
402は、複数のマイクロプログラムを構成するnビッ
ト幅のマイクロ命令の列を格納する記憶装置であり、M
AR400の内容が指定するアドレスに対応するマイク
ロ命令が出力される。
マイクロ命令レジスタ(以下、MDRと呼ぶ)403は
、保持人力STBが1の期間、MMEM402に出力さ
れたマイクロ命令を保持するnビットのラッチである。
2人力ANDゲート410.411.412.413・
・・は、禁1ヒ信号INHIBITが1の時、MDR4
03の出力を無効化するものである。
2人力ANDゲート411,412,413・・・の出
力、+1.n21.3・・・は、命令実行ユニットの各
部を制御するための信号−m−マイクロオーダである。
2人力ANDゲート410の出力ENDは、マイクロプ
ログラムの実行終了を示すマイクロオーダである。
マイクロプログラム・シーケンサ(以下、MSEQと呼
ぶ)404は、マイクロプログラムの実行終了を示すマ
イクロオーダENDM、実行開始アドレス(スタートア
ドレス)の有効性を示す状態信号Vを入力し、マイクロ
プログラム制御装置を制御するためのロード信号LDS
TART、保持信号HOLD、禁!ヒ信号INHIBI
Tを発生する回路であり、MSEQ404の状態を示す
状態信号ENDM、BSYを同時に発生する。ここで状
態信号ENDMは、マイクロプログラムの実行開始タイ
ミングを示すもので、ロード信号LDSTARTと等価
である。状態信号BSYは、MSEQ404が実行開始
アドレス(スタートアドレス)の有効状態を待ち合せて
いることを示す。
本従来例で使用されているマイクロ命令は、第5図に示
すようにnビットで構成されている。さらに、制御対象
に応じて複数のビット列(以下、フィールドと呼ぶ)に
分割される。第5図では、演算の制御に係わるOPRフ
ィールド、マイクロプログラムの分岐に係わるBRAN
CHフィールド、マイクロプログラムの終了に係わるE
フィールド(マイクロオーダENDに対応する)、転送
を含むその他の制御に係わるC0NTR0Lフイールド
に分割される。
高速な実行速度を目的として同時に多くの制御を行なう
ためには、各フィールドは1ビツト1ビツトが意味を持
つように設計される。このため。
マイクロ命令のビット幅nは100を超えるような場合
もある。
第6図は、本従来のマイクロプログラム制御装置の基本
動作タイミングを示す図である。ロード信号LD−−−
は、新しいマイクロプログラムの実行開始アドレス(新
アドレス)をMAR400に格納するための信号である
。第6図において、サイクル1のタイミングでロード信
号LD−−−が発生すると、実行開始アドレス(新アド
レス)の値Nがサイクル2のタイミングでMAR400
にロードされる。
MMEM402は、アドレスNが指定されてから対応す
るデータn出力されるまでに大きな遅れを伴うので、サ
イクル3でMDR403にラッチされる。
すなわち、同一のタイミングで比較した場合。
MAR400が格納しているマイクロ命令の格納アドレ
スは、MMEM402またはMDR403が出力するマ
イクロ命令よりも、1サイクル分先行している。このよ
うなマイクロ命令の格納アドレスと格納されたマイクロ
命令のずれを考慮した制御は、しばしばマイクロ命令の
パイプ2イン制御と呼ばれる。
次に第7図を用いて、本従来のマイクロプログラム制御
装置の動作について説明する。
第7図は1本従来例において複数のマイクロプログラム
を順次実行させた場合のタイミングを示すものである。
いまマイクロオーダENDを含むマイクロ命令mが実行
されると、マイクロオーダENDが出力される。この時
、すでに実行開始アドレス(スタートアドレス)は有効
であり、Xを有している。
さらに、実行開始アドレス(スタートアドレス)が有効
であることを、状態信号Vが1であることで示している
この状態ではロード信号LDSTARTは直ちに発行さ
れ、ロード信号LDSTARTから1クロツク遅れてM
AR400にXがロードされる。
このタイミングでは、マイクロ命令のパイプライン制御
によって、マイクロオーダENDを含むマイクロ命令m
の次のマイクロ命令m + 1が実行されている。
さらに1クロツク経過すると、ロード信号LDS T 
A R’1’ 、保持信号HOLDが共にOであるため
、MAR400にはI NC401によって1インクリ
メントされた値X+1がロードされる。このタイミング
で、Xなるアドレスから格納され始めている新しいマイ
クロプログラムの最初のマイクロ命令Xが実行される。
以下、順次マイクロ命令の実行が進行し、マイクロオー
ダENDを含むマイクロ命令x+nが実行されると、再
びマイクロオーダENDが出力される。この時、実行開
始アドレス(スタートアドレス)は無効であり、Xを有
しているままである。
さらに、実行開始アドレス(スタートアドレス)が無効
であることを、状態信号VがOであることで示している
。MSEQ404は、実行開始アドレス(スタートアド
レス)が有効であることを待ち合せる状態であることを
示すため、状態信号BSYを1にする。
MAR400がX + n + 2、MDR403が1
クロック期間出力されたタイミングで、出力されている
マイクロ命令のアドレスならびにマイクロ命令を保持す
るために、保持信号HOLDが出力される。保持信号H
OLDは、状態信号BSYがOに戻るまで1のままであ
る。
MMEM402またはMDR403の出力は保持された
ままであるが、MDR403に出力されているマイクロ
命令X+n+1は、ただ1回実行されればよいので、禁
止信号INHIBITが出力される。
M1ヒ信号INHIBITは、状態信号BSYを2クロ
ツク遅延させたものである。
禁1h信号INHIBITが1になると、2人力AND
ゲート410,411,412.413・・・・の出力
であるマイクロオーダEND、、1、。
2、 n3.  ・・・・は、すべて0になる。
上記の待ち合せ状態で、状態信号Vが1になると、保留
されていたロード信号LDSTARTが出力される。新
しいマイクロプログラムの先頭アドレスYが、1クロツ
ク後にMAR400にロードされるとともに、マイクロ
命令y、y+1、・・・と順次実行される。この時、状
態信号BSYはOに戻り、保持信号HOLDもOに戻り
、2クロツク後に禁止信号INHIBIT−IJOに戻
る。
以上説明したように、本従来のマイクロプログラム制御
装置では、新たに実行すべきマイクロプログラム指定が
確定するまで、直前に実行したマイクロ命令を保持する
とともに、このマイクロ命令を禁1#−,信号によって
無効化することで、不正なマイクロ命令が実行されるこ
とを禁止していた。
前述のように、高速な性能を得るために、ビット幅の大
きなマイクロ命令を採用すると、MDR403のビット
幅およびマイクロ命令を禁止する2人力ANDゲート4
10.411.412,413、・・・の数も、これに
つれて増加する。すなわち、マイクロ命令のビット幅に
比例したハードウェアを必要とすることになる。
〈発明の解決しようとする問題点〉 以上説明したように、従来のマイクロプログラム制御装
置では、新しいマイクロプログラムの実行開始のための
指定を待ち合せるために、マイクロ命令のビット幅に比
例したハードウェアを必要とするという欠点を有してい
た。
本発明は上記欠点を解決することを目的としている。
〈問題点を解決するための手段〉 本発明はマイクロプログラムの実行終了時に。
次に実行すべきマイクロプログラムの実行開始アドレス
を外部から供給するマイクロプログラム制御装置におい
て、マイクロプログラムの実行開始が待ち合せ状態にあ
ることを検知する手段と、無効なマイクロ命令を格納す
る手段と、前記格納手段に格納された無効なマイクロ命
令をアドレスする手段とで構成され、前記検知手段はマ
イクロプログラムの実行開始が待ち合せ状態にあること
を検知した場合、前記マイクロプログラムの実行開始ア
ドレスの代りに、前記アドレス手段によって。
前記格納手段に格納されている無効なマイクロ命令をア
ドレスし、該アドレス内の無効命令を実行することを特
徴としている。
〈作用〉 上述した従来のマイクロプログラム制御装置に対し1本
発明は使用するマイクロ命令のビット幅に比例せず、し
かも最小限のハードウェアによって、新しいマイクロプ
ログラムの実行開始のための指定を待ち合せるための制
御が可能であるという独創的内容を有する。
すなわち、上記構成に係るマイクロプログラム制御装置
では、マイクロプログラムの実行終了時に次に実行すべ
きマイクロプログラムの実行開始アドレスを外部から供
給するに際し、マイクロプログラムの実行開始が待ち合
せ状態にあることが検知される無効なマイクロ命令を格
納する手段に格納された無効なマイクロ命令をアドレス
指定する。
〈実施例〉 次に図面を参照して、本発明の実施例の構成ならびに動
作について詳細に説明する。
第1図は、本発明の第1実施例の構成を示す図面である
MARlooは、前記従来のマイクロプログラム制御装
置で使用しているMAR400に対して、ロード信号L
DENDが1の時mビットの定数Mをロードする点、お
よび保持信号HOLDが1゜ロード信号LDSTART
がOlかつロード信号LDENDが0の間は、MAR4
00の内容は変化しないという点を除けば同等である。
MROM402のアドレスMに対応する領域には、マイ
クロプログラム制w装置にとって意味のないノー・オペ
レーション(以下、nopと呼ぶ)命令を格納しておく
また、MROM402のnビット出力は、直接にマイク
ロオーダEND、、1、。2、。3、・・・・に対応す
る。
MSEQIOlは、マイクロオーダEND、状態信号■
を入力し、ロード信号LDSTARTならびニL D 
E N D、保持信号HOLD、禁1ヒ信号INHIB
ITを発生する回路であり、同時に状態信号END、B
SYを発生する。
次に、第3図を参照して本実施例の動作について説明す
る。@3図は、本実施例における動作のタイミングを示
す図である。
マイクロオーダENDを含むマイクロ命令X+nがMM
EM402に出力されると、状態信号VがOlすなわち
新しいマイクロプログラムの実行開始アドレス(スター
トアドレス)が無効であるため、状態信号BSYが1に
なる。
この時ロード信号LDENDが発行され、1クロツク後
に定数MがMARlooにロードされる。
このタイミングで、マイクロオーダENDを含むマイク
ロ命令の次のマイクロ命令x+n+1が1クロック期間
MMEM402に出力される。
さらに1クロツク経過すると、マイクロ命令アドレスM
に対応するMMEM402の内容、すなわちnop命令
が実行される9 以後、状態44号VがOになるまで保持信号HOLDが
1になるので、MARlooの内容はMに保持されると
ともに、MMEM402の出力にもnop命令が保持さ
れる。
前記本発明の動作タイミングにおいて、状態信号Vが1
でロード信号LDSTARTが発生する場合については
、前記従来のマイクロプログラム制御装置における動作
タイミングと等価である。
以上説明したように1本実施例では新しいマイクロプロ
グラムの実行開始を待ち合せている期間    ′中、
マイクロ命令の実行を禁1hすることなく、不要なマイ
クロ命令の実行を避けることができる。
また、本実施例ではMMEM402におけるアドレスM
に対応するデータとして、nop命令を格納しておくこ
とを前提としたが、MMEM402に対応しないアドレ
スに対してnop命令と同等のデータが出力されるよう
なマイクロ命令のコード定義を行なうことで、nop命
令を格納する領域を省くことが可能であり、さらに少な
いハードウェアで実現することが可能である。
次に1本発明の第2実施例について説明する。
第2図は、本発明の第2実施例であり、前記第1の実施
例に対してMAR200として前記従来のマイクロプロ
グラム制御装置におけるMAR400と同様に、2系統
の入力を有することが特徴である。
MAR200は、2人力ORゲート210の出力が1の
時mビットのマルチプレクサ(以後、MPXと呼ぶ)2
01の出力をロードする。
2人力ORゲート210には、ロード信号LDS T 
A RTおよびLDENDが接続される。
MPX201は、ロード信号LDENDがOの時はマイ
クロプログラムの実行開始アドレス(スタートアドレス
)を、ロード信号LDENDが1の時はMMEM402
にnop命令が格納されているアドレスMを出力する。
本実施例では、MAR200の構造として前記本発明の
第1実施例と比較して、より単純なものを利用すること
が可能であり、従来のマイクロプログラム制御装置から
の移行も簡単に行なうことができる。
〈発明の効果〉 以上説明したように、本発明を用いることでマイクロプ
ログラムの実行開始を待ち合せる制御に関して、マイク
ロ命令の保持機構や、マイクロ命令の無効化回路を省略
することができるので、少ないハードウェアで実現でき
るマイクロプログラム制御装置を提供することが可能で
ある。
また、高速なマイクロプログラムの実行のために、より
大きなビット幅のマイクロ命令を採用する場合、マイク
ロ命令アドレスのビット幅は相対的に小さくなるので、
より効果は大きくなる。
【図面の簡単な説明】
第1図は本発明の第1実施例の構成を示すブロック図、 第2図は本発明の第2実施例の構成を示すブロック図、 第3図は第1実施例の動作タイミングを示すタミング図
、 第4図は従来のマイクロプログラム制御装置の構成を示
すブロック図。 第5図はマイクロ命令のフォーマットの一例を示すブロ
ック図、 第6図はマイクロプログラム制御装置の基本的な動作タ
イミングを示すタイミング図、第7図は往来のマイクロ
プログラム制御装置の動作タイミングを示すタイミング
図である。 100.200.400 ・・・・・マイクロ命令アドレス・レジスタ、101.
404 ・・・・・マイクロプログラム・シーケンサ、201・
・・マルチプレクサ、 210・・・2人力ORゲート、 401・・・インクリメンタ、 402・・・マイクロプログラム・メモリ。 403・・・マイクロ命令レジスタ、 410.411.412.413 ・・・・・2人力ANDゲート、 420・・・インバータ。 特許出願人     日本電気株式会社代理人  弁理
士  桑 井 清 − ■                  スタートアド
レス第1図 ■             スタートアドレス第2図 V            5tart addres
s0102  田 第4図

Claims (1)

    【特許請求の範囲】
  1. マイクロプログラムの実行終了時に次に実行すべきマイ
    クロプログラムの実行開始アドレスを外部から供給する
    マイクロプログラム制御装置において、マイクロプログ
    ラムの実行開始が待ち合せ状態にあることを検知する手
    段と、無効なマイクロ命令を格納する手段と、前記格納
    手段に格納された無効なマイクロ命令をアドレスする手
    段とで構成され、前記検知手段はマイクロプログラムの
    実行開始が待ち合せ状態にあることを検知した場合には
    、前記マイクロプログラムの実行開始アドレスの代りに
    前記アドレス手段によって前記格納手段に格納されてい
    る無効なマイクロ命令をアドレスし、該アドレス内の無
    効命令を実行することを特徴とするマイクロプログラム
    制御装置。
JP61309766A 1986-12-25 1986-12-25 マイクロプログラム制御装置 Expired - Lifetime JPH0782434B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP61309766A JPH0782434B2 (ja) 1986-12-25 1986-12-25 マイクロプログラム制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61309766A JPH0782434B2 (ja) 1986-12-25 1986-12-25 マイクロプログラム制御装置

Publications (2)

Publication Number Publication Date
JPS63163531A true JPS63163531A (ja) 1988-07-07
JPH0782434B2 JPH0782434B2 (ja) 1995-09-06

Family

ID=17997008

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61309766A Expired - Lifetime JPH0782434B2 (ja) 1986-12-25 1986-12-25 マイクロプログラム制御装置

Country Status (1)

Country Link
JP (1) JPH0782434B2 (ja)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60103450A (ja) * 1983-11-10 1985-06-07 Fujitsu Ltd マイクロプログラム制御方式

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60103450A (ja) * 1983-11-10 1985-06-07 Fujitsu Ltd マイクロプログラム制御方式

Also Published As

Publication number Publication date
JPH0782434B2 (ja) 1995-09-06

Similar Documents

Publication Publication Date Title
US5283874A (en) Cross coupling mechanisms for simultaneously completing consecutive pipeline instructions even if they begin to process at the same microprocessor of the issue fee
EP1241567B1 (en) Method and apparatus for executing coprocessor instructions
JPS6239780B2 (ja)
JPH04275628A (ja) 演算処理装置
JPH04367936A (ja) スーパースカラープロセッサ
KR930005768B1 (ko) 마이크로 프로세서
JPH0248732A (ja) 命令パイプライン方式のマイクロプロセッサ
KR880001418B1 (ko) 데이터 처리장치
JP2548428B2 (ja) タイミング発生装置
JPH03233630A (ja) 情報処理装置
US5276822A (en) System with enhanced execution of address-conflicting instructions using immediate data latch for holding immediate data of a preceding instruction
EP0279953A2 (en) Computer system having mixed macrocode and microcode instruction execution
JPS63163531A (ja) マイクロプログラム制御装置
EP0573071A2 (en) A microprocessor
US5621909A (en) Specialized millicode instruction for range checking
JP2721611B2 (ja) プログラマブルコントローラ
JP2721610B2 (ja) プログラマブルコントローラ
JPH05233283A (ja) 並列命令実行方式
JPS6221131B2 (ja)
JPH02249029A (ja) マイクロプログラム制御装置
JPH02277130A (ja) マイクロプロセッサ
JPH0228724A (ja) 分岐命令制御方式
JPH07210384A (ja) 浮動小数点演算装置
JPH06230968A (ja) 分岐制御装置
JPH03164945A (ja) データ処理装置