JPH0782434B2 - マイクロプログラム制御装置 - Google Patents
マイクロプログラム制御装置Info
- Publication number
- JPH0782434B2 JPH0782434B2 JP61309766A JP30976686A JPH0782434B2 JP H0782434 B2 JPH0782434 B2 JP H0782434B2 JP 61309766 A JP61309766 A JP 61309766A JP 30976686 A JP30976686 A JP 30976686A JP H0782434 B2 JPH0782434 B2 JP H0782434B2
- Authority
- JP
- Japan
- Prior art keywords
- microprogram
- execution
- microinstruction
- address
- micro
- 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.)
- Expired - Lifetime
Links
- 238000010586 diagram Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 2
- 230000010365 information processing Effects 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000005764 inhibitory process Effects 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
Description
【発明の詳細な説明】 <産業上の利用分野> 本発明はマイクロプログラム制御装置に関し、特にマイ
クロプログラムの実行開始を待ち合せる制御に関する。
クロプログラムの実行開始を待ち合せる制御に関する。
<従来の技術> マイクロプログラム制御装置を用いた制御には、あらか
じめ制御内容を定義したマイクロプログラムを複数用意
しておき、必要に応じてあるマイクロプログラムを実行
するような応用がある。このような応用では、実行が開
始されたマイクロプログラムが一連の処理を終了する
と、マイクロプログラム制御装置は次のマイクロプログ
ラムの実行開始指定を待ち合せる状態に入る。
じめ制御内容を定義したマイクロプログラムを複数用意
しておき、必要に応じてあるマイクロプログラムを実行
するような応用がある。このような応用では、実行が開
始されたマイクロプログラムが一連の処理を終了する
と、マイクロプログラム制御装置は次のマイクロプログ
ラムの実行開始指定を待ち合せる状態に入る。
情報処理装置の命令実行ユニットにマイクロプログラム
制御装置を用いた場合、情報処理装置の命令(以下、マ
クロ命令と呼ぶ)の一つ一つに対応して異なったマイク
ロプログラムを用意しておき、マクロ命令の解読を行な
う命令デコード・ユニットがマイクロプログラムの指定
ならびにマイクロプログラムのデコード終了時にマイク
ロプログラムの実行開始を指定する。
制御装置を用いた場合、情報処理装置の命令(以下、マ
クロ命令と呼ぶ)の一つ一つに対応して異なったマイク
ロプログラムを用意しておき、マクロ命令の解読を行な
う命令デコード・ユニットがマイクロプログラムの指定
ならびにマイクロプログラムのデコード終了時にマイク
ロプログラムの実行開始を指定する。
起動されたマイクロプログラムがマクロ命令として規定
された処理を終了すると、次のマイクロプログラムの指
定と実行開始指定とを待ち合せる。この時、命令デコー
ド・ユニットが次のマクロ命令のデコードを終了してい
れば、直ちに対応するマイクロプログラムの実行を開始
することができる。
された処理を終了すると、次のマイクロプログラムの指
定と実行開始指定とを待ち合せる。この時、命令デコー
ド・ユニットが次のマクロ命令のデコードを終了してい
れば、直ちに対応するマイクロプログラムの実行を開始
することができる。
かかるシーケンスを繰り返すことによって、マクロ命令
のシーケンスを次々に実行することができる。
のシーケンスを次々に実行することができる。
第4図は前記命令実行ユニットにおいて使用される従来
のマイクロプログラム制御装置の構成を示すブロック図
である。
のマイクロプログラム制御装置の構成を示すブロック図
である。
マイクロ命令アドレス・レジスタ(以下、MARと呼ぶ)4
00は、次の実行すべきMビットのマイクロ命令のアドレ
スを格納するレジスタである。保持信号HOLDが0の時、
MAR400にはmビットのインクリメンタ(以下INCと呼
ぶ)401によって現在のMARの値に1を加えた内容がロー
ドされる。シーケンシャルにマイクロ命令を実行する際
にこの動作が行なわれる。また、ロード信号LDSTARTが
1の時、MAR400には次のマイクロプログラムのmビット
の実行開始アドレス(スタートアドレス)がロードされ
る。保持信号HOLDが1で、かつロード信号LDSTARTが0
の間は、MAR400の内容は変化しない。
00は、次の実行すべきMビットのマイクロ命令のアドレ
スを格納するレジスタである。保持信号HOLDが0の時、
MAR400にはmビットのインクリメンタ(以下INCと呼
ぶ)401によって現在のMARの値に1を加えた内容がロー
ドされる。シーケンシャルにマイクロ命令を実行する際
にこの動作が行なわれる。また、ロード信号LDSTARTが
1の時、MAR400には次のマイクロプログラムのmビット
の実行開始アドレス(スタートアドレス)がロードされ
る。保持信号HOLDが1で、かつロード信号LDSTARTが0
の間は、MAR400の内容は変化しない。
マイクロプログラム・メモリ(以下、MMEMと呼ぶ)402
は、複数のマイクロプログラムを構成するnビット幅の
マイクロ命令の列を格納する記憶装置であり、MAR400の
内容が指定するアドレスに対応するマイクロ命令が出力
される。マイクロ命令レジスタ(以下、MDRと呼ぶ)403
は、保持入力STBが1の期間、MMEM402に出力されたマイ
クロ命令を保持するnビットのラッチである。
は、複数のマイクロプログラムを構成するnビット幅の
マイクロ命令の列を格納する記憶装置であり、MAR400の
内容が指定するアドレスに対応するマイクロ命令が出力
される。マイクロ命令レジスタ(以下、MDRと呼ぶ)403
は、保持入力STBが1の期間、MMEM402に出力されたマイ
クロ命令を保持するnビットのラッチである。
2入力ANDゲート410、411、412、413・・・は、禁止信
号INHIBITが1の時、MDR403の出力を無効化するもので
ある。2入力ANDゲート411、412、413・・・の出力01、
02、03・・・は、命令実行ユニットの各部を制御するた
めの信号−−−マイクロオーダである。2入力ANDゲー
ト410の出力ENDは、マイクロプログラムの実行終了を示
すマイクロオーダである。
号INHIBITが1の時、MDR403の出力を無効化するもので
ある。2入力ANDゲート411、412、413・・・の出力01、
02、03・・・は、命令実行ユニットの各部を制御するた
めの信号−−−マイクロオーダである。2入力ANDゲー
ト410の出力ENDは、マイクロプログラムの実行終了を示
すマイクロオーダである。
マイクロプログラム・シーケンサ(以下、MSEQと呼ぶ)
404は、マイクロプログラムの実行終了を示すマイクロ
オーダENDM、実行開始アドレス(スタートアドレス)の
有効性を示す状態信号Vを入力し、マイクロプログラム
制御装置を制御するためのロード信号LDSTART、保持信
号HOLD、禁止信号INHIBITを発生する回路であり、MSEQ4
04の状態を示す状態信号ENDM、BSYを同時に発生する。
ここで状態信号ENDMは、マイクロプログラムの実行開始
タイミングを示すもので、ロード信号LDSTARTと等価で
ある。状態信号BSYは、MSEQ404が実行開始アドレス(ス
タートアドレス)の有効状態を待ち合せていることを示
す。
404は、マイクロプログラムの実行終了を示すマイクロ
オーダENDM、実行開始アドレス(スタートアドレス)の
有効性を示す状態信号Vを入力し、マイクロプログラム
制御装置を制御するためのロード信号LDSTART、保持信
号HOLD、禁止信号INHIBITを発生する回路であり、MSEQ4
04の状態を示す状態信号ENDM、BSYを同時に発生する。
ここで状態信号ENDMは、マイクロプログラムの実行開始
タイミングを示すもので、ロード信号LDSTARTと等価で
ある。状態信号BSYは、MSEQ404が実行開始アドレス(ス
タートアドレス)の有効状態を待ち合せていることを示
す。
本従来例で使用されているマイクロ命令は、第5図に示
すようにnビットで構成されている。さらに、制御対象
に応じて複数のビット列(以下、フィールドと呼ぶ)に
分割される。第5図では、演算の制御に係わるOPRフィ
ールド、マイクロプログラムの分岐に係わるBRANCHフィ
ールド、マイクロプログラムの終了に係わるEフィール
ド(マイクロオーダENDに対応する)、転送を含むその
他の制御に係わるCONTROLフィールドに分割される。
すようにnビットで構成されている。さらに、制御対象
に応じて複数のビット列(以下、フィールドと呼ぶ)に
分割される。第5図では、演算の制御に係わるOPRフィ
ールド、マイクロプログラムの分岐に係わるBRANCHフィ
ールド、マイクロプログラムの終了に係わるEフィール
ド(マイクロオーダENDに対応する)、転送を含むその
他の制御に係わるCONTROLフィールドに分割される。
高速な実行速度を目的として同時に多くの制御を行なう
ためには、各フィールドは1ビット1ビットが意味を持
つように設計される。このため、マイクロ命令のビット
幅nは100を超えるような場合もある。
ためには、各フィールドは1ビット1ビットが意味を持
つように設計される。このため、マイクロ命令のビット
幅nは100を超えるような場合もある。
第6図は、本従来のマイクロプログラム制御装置の基本
動作タイミングを示す図である。ロード信号LD−−−
は、新しいマイクロプログラムの実行開始アドレス(新
アドレス)をMAR400に格納するための信号である。第6
図において、サイクル1のタイミングでロード信号LD−
−−が発生すると、実行開始アドレス(新アドレス)の
値Nがサイクル2のタイミングでMAR400にロードされ
る。
動作タイミングを示す図である。ロード信号LD−−−
は、新しいマイクロプログラムの実行開始アドレス(新
アドレス)をMAR400に格納するための信号である。第6
図において、サイクル1のタイミングでロード信号LD−
−−が発生すると、実行開始アドレス(新アドレス)の
値Nがサイクル2のタイミングでMAR400にロードされ
る。
MMEM402は、アドレスNが指定されてから対応するデー
タn出力されるまでに大きな遅れを伴うので、サイクル
3でMDR403にラッチされる。
タn出力されるまでに大きな遅れを伴うので、サイクル
3でMDR403にラッチされる。
すなわち、同一のタイミングで比較した場合、MAR400が
格納しているマイクロ命令の格納アドレスは、MMEM402
またはMDR403が出力するマイクロ命令よりも、1サイク
ル分先行している。このようなマイクロ命令の格納アド
レスと格納されたマイクロ命令のずれを考慮した制御
は、しばしばマイクロ命令のパイプライン制御と呼ばれ
る。
格納しているマイクロ命令の格納アドレスは、MMEM402
またはMDR403が出力するマイクロ命令よりも、1サイク
ル分先行している。このようなマイクロ命令の格納アド
レスと格納されたマイクロ命令のずれを考慮した制御
は、しばしばマイクロ命令のパイプライン制御と呼ばれ
る。
次に第7図を用いて、本従来のマイクロプログラム制御
装置の動作について説明する。
装置の動作について説明する。
第7図は、本従来例において複数のマイクロプログラム
を順次実行させた場合のタイミングを示すものである。
を順次実行させた場合のタイミングを示すものである。
いまマイクロオーダENDを含むマイクロ命令mが実行さ
れると、マイクロオーダENDが出力される。この時、す
でに実行開始アドレス(スタートアドレス)は有効であ
り、Xを有している。さらに、実行開始アドレス(スタ
ートアドレス)が有効であることを、状態信号Vが1で
あることで示している。
れると、マイクロオーダENDが出力される。この時、す
でに実行開始アドレス(スタートアドレス)は有効であ
り、Xを有している。さらに、実行開始アドレス(スタ
ートアドレス)が有効であることを、状態信号Vが1で
あることで示している。
この状態ではロード信号LDSTARTは直ちに発行され、ロ
ード信号LDSTARTから1クロック遅れてMAR400にXがロ
ードされる。このタイミングでは、マイクロ命令のパイ
プライン制御によって、マイクロオーダENDを含むマイ
クロ命令mの次のマイクロ命令m+1が実行されてい
る。
ード信号LDSTARTから1クロック遅れてMAR400にXがロ
ードされる。このタイミングでは、マイクロ命令のパイ
プライン制御によって、マイクロオーダENDを含むマイ
クロ命令mの次のマイクロ命令m+1が実行されてい
る。
さらに1クロック経過すると、ロード信号LDSTART、保
持信号HOLDが共に0であるため、MAR400にはINC401によ
って1インクリメントされた値X+1がロードされる。
このタイミングで、Xなるアドレスから格納され始めて
いる新しいマイクロプログラムの最初のマイクロ命令x
が実行される。
持信号HOLDが共に0であるため、MAR400にはINC401によ
って1インクリメントされた値X+1がロードされる。
このタイミングで、Xなるアドレスから格納され始めて
いる新しいマイクロプログラムの最初のマイクロ命令x
が実行される。
以下、順次マイクロ命令の実行が進行し、マイクロオー
ダENDを含むマイクロ命令x+nが実行されると、再び
マイクロオーダENDが出力される。この時、実行開始ア
ドレス(スタートアドレス)は無効であり、Xを有して
いるままである。さらに、実行開始アドレス(スタート
アドレス)が無効であることを、状態信号Vが0である
ことで示している。MSEQ404は、実行開始アドレス(ス
タートアドレス)が有効であることを待ち合せる状態で
あることを示すため、状態信号BSTを1にする。
ダENDを含むマイクロ命令x+nが実行されると、再び
マイクロオーダENDが出力される。この時、実行開始ア
ドレス(スタートアドレス)は無効であり、Xを有して
いるままである。さらに、実行開始アドレス(スタート
アドレス)が無効であることを、状態信号Vが0である
ことで示している。MSEQ404は、実行開始アドレス(ス
タートアドレス)が有効であることを待ち合せる状態で
あることを示すため、状態信号BSTを1にする。
MAR400がX+n+2、MDR403が1クロック期間出力され
たタイミングで、出力されているマイクロ命令のアドレ
スならびにマイクロ命令を保持するため、保持信号HOLD
が出力される。保持信号HOLDは、状態信号BSYが0に戻
るまで1のままである。
たタイミングで、出力されているマイクロ命令のアドレ
スならびにマイクロ命令を保持するため、保持信号HOLD
が出力される。保持信号HOLDは、状態信号BSYが0に戻
るまで1のままである。
MMEM402またはMDR403の出力は保持されたままである
が、MDR403に出力されているマイクロ命令X+n+1
は、ただ1回実行されればよいので、禁止信号INHIBIT
が出力される。
が、MDR403に出力されているマイクロ命令X+n+1
は、ただ1回実行されればよいので、禁止信号INHIBIT
が出力される。
禁止信号INHIBITは、状態信号BSYを2クロック遅延させ
たものである。
たものである。
禁止信号INHIBITが1になると、2入力ANDゲート410、4
11、412、413・・・・の出力であるマイクロオーダEN
D、01、02、03、・・・・は、すべて0になる。
11、412、413・・・・の出力であるマイクロオーダEN
D、01、02、03、・・・・は、すべて0になる。
上記の待ち合せ状態で、状態信号Vが1になると、保留
されていたロード信号LDSTARTが出力される。新しいマ
イクロプログラムの先頭アドレスYが、1クロック後に
MAR400にロードされるとともに、マイクロ命令y、y+
1、・・・と順次実行される。この時、状態信号BSYは
0に戻り、保持信号HOLDも0に戻り、2クロック後に禁
止信号INHIBITも0に戻る。
されていたロード信号LDSTARTが出力される。新しいマ
イクロプログラムの先頭アドレスYが、1クロック後に
MAR400にロードされるとともに、マイクロ命令y、y+
1、・・・と順次実行される。この時、状態信号BSYは
0に戻り、保持信号HOLDも0に戻り、2クロック後に禁
止信号INHIBITも0に戻る。
以上説明したように、本従来のマイクロプログラム制御
装置では、新たに実行すべきマイクロプログラム指定が
確定するまで、直前に実行したマイクロ命令を保持する
とともに、このマイクロ命令を禁止信号によって無効化
することで、不正なマイクロ命令が実行されることを禁
止していた。
装置では、新たに実行すべきマイクロプログラム指定が
確定するまで、直前に実行したマイクロ命令を保持する
とともに、このマイクロ命令を禁止信号によって無効化
することで、不正なマイクロ命令が実行されることを禁
止していた。
前述のように、高速な性能を得るために、ビット幅の大
きなマイクロ命令を採用すると、MDR403のビット幅およ
びマイクロ命令を禁止する2入力ANDゲート410、411、4
12、413、・・・の数も、これにつれて増加する。すな
わち、マイクロ命令のビット幅に比例したハードウェア
を必要とすることになる。
きなマイクロ命令を採用すると、MDR403のビット幅およ
びマイクロ命令を禁止する2入力ANDゲート410、411、4
12、413、・・・の数も、これにつれて増加する。すな
わち、マイクロ命令のビット幅に比例したハードウェア
を必要とすることになる。
<発明の解決しようとする問題点> 以上説明したように、従来のマイクロプログラム制御装
置では、新しいマイクロプログラムの実行開始のための
指定を待ち合せるために、マイクロ命令のビット幅に比
例したハードウェアを必要とするという欠点を有してい
た。
置では、新しいマイクロプログラムの実行開始のための
指定を待ち合せるために、マイクロ命令のビット幅に比
例したハードウェアを必要とするという欠点を有してい
た。
本発明は上記欠点を解決することを目的としている。
<問題点を解決するための手段> マイクロプログラムの実行終了時に、次に実行すべきマ
イクロプログラムの実行開始アドレスを外部から供給す
るマイクロプログラム制御装置において、マイクロプロ
グラムの実行開始が待ち合わせ状態にあることを検知す
る手段と、少なくとも時間の消費のみを目的とした無効
なマイクロ命令を含むマイクロプログラムを保持する読
み出し専用の格納手段と、前記格納手段に格納された無
効なマイクロ命令をアドレスする手段とで構成され、前
記検知手段はマイクロプログラムの実行開始が待ち合わ
せ状態にあることを検知した場合には、前記マイクロプ
ログラムの実行開始アドレスの代りに前記アドレス手段
によって前記格納手段に格納されている無効なマイクロ
命令をアドレスし、該アドレス内の無効命令を実行する
ことを特徴としている。
イクロプログラムの実行開始アドレスを外部から供給す
るマイクロプログラム制御装置において、マイクロプロ
グラムの実行開始が待ち合わせ状態にあることを検知す
る手段と、少なくとも時間の消費のみを目的とした無効
なマイクロ命令を含むマイクロプログラムを保持する読
み出し専用の格納手段と、前記格納手段に格納された無
効なマイクロ命令をアドレスする手段とで構成され、前
記検知手段はマイクロプログラムの実行開始が待ち合わ
せ状態にあることを検知した場合には、前記マイクロプ
ログラムの実行開始アドレスの代りに前記アドレス手段
によって前記格納手段に格納されている無効なマイクロ
命令をアドレスし、該アドレス内の無効命令を実行する
ことを特徴としている。
<作用> 上述した従来のマイクロプログラム制御装置に対し、本
発明は使用するマイクロ命令のビット幅に比例せず、し
かも最小限のハードウェアによって、新しいマイクロプ
ログラムの実行開始のための指定を待ち合せるための制
御が可能であるという独創的内容を有する。
発明は使用するマイクロ命令のビット幅に比例せず、し
かも最小限のハードウェアによって、新しいマイクロプ
ログラムの実行開始のための指定を待ち合せるための制
御が可能であるという独創的内容を有する。
すなわち、上記構成に係るマイクロプログラム制御装置
では、マイクロプログラムの実行終了時の次に実行すべ
きマイクロプログラムの実行開始アドレスを外部から供
給するに際し、マイクロプログラムの実行開始が待ち合
せ状態にあることが検知される無効なマイクロ命令を格
納する手段に格納された無効なマイクロ命令をアドレス
指定する。
では、マイクロプログラムの実行終了時の次に実行すべ
きマイクロプログラムの実行開始アドレスを外部から供
給するに際し、マイクロプログラムの実行開始が待ち合
せ状態にあることが検知される無効なマイクロ命令を格
納する手段に格納された無効なマイクロ命令をアドレス
指定する。
<実施例> 次に図面を参照して、本発明の実施例の構成ならびに動
作について詳細に説明する。
作について詳細に説明する。
第1図は、本発明の第1実施例の構成を示す図面であ
る。
る。
MAR100は、前記従来のマイクロプログラム制御装置で使
用しているMAR400に対して、ロード信号LDENDが1の時
mビットの定数Mをロードする点、および保持信号HOLD
が1、ロード信号LDSTARTが0、かつロード信号LDENDが
0の間は、MAR400の内容は変化しないという点を除けば
同等である。
用しているMAR400に対して、ロード信号LDENDが1の時
mビットの定数Mをロードする点、および保持信号HOLD
が1、ロード信号LDSTARTが0、かつロード信号LDENDが
0の間は、MAR400の内容は変化しないという点を除けば
同等である。
MROM402のアドレスMに対応する領域には、マイクロプ
ログラム制御装置にとって意味のないノー・オペレーシ
ョン(以下、nopと呼ぶ)命令を格納しておく。
ログラム制御装置にとって意味のないノー・オペレーシ
ョン(以下、nopと呼ぶ)命令を格納しておく。
また、MROM402のnビット出力は、直接にマイクロオー
ダEND、01、02、03、・・・・に対応する。
ダEND、01、02、03、・・・・に対応する。
MSEQ101は、マイクロオーダEND、状態信号Vを入力し、
ロード信号LDSTARTならびにLDEND、保持信号HOLD、禁止
信号INHIBITを発生する回路であり、同時に状態信号EN
D、BSYを発生する。
ロード信号LDSTARTならびにLDEND、保持信号HOLD、禁止
信号INHIBITを発生する回路であり、同時に状態信号EN
D、BSYを発生する。
次に、第3図を参照して本実施例の動作について説明す
る。第3図は、本実施例における動作のタイミングを示
す図である。
る。第3図は、本実施例における動作のタイミングを示
す図である。
マイクロオーダENDを含むマイクロ命令x+nがMMEM402
に出力されると、状態信号Vが0、すなわち新しいマイ
クロプログラムの実行開始アドレス(スタートアドレ
ス)が無効であるため、状態信号BSYが1になる。
に出力されると、状態信号Vが0、すなわち新しいマイ
クロプログラムの実行開始アドレス(スタートアドレ
ス)が無効であるため、状態信号BSYが1になる。
この時ロード信号LDENDが発行され、1クロック後に定
数MがMAR100にロードされる。
数MがMAR100にロードされる。
このタイミングで、マイクロオーダENDを含むマイクロ
命令の次のマイクロ命令x+n+1が1クロック期間MM
EM402に出力される。
命令の次のマイクロ命令x+n+1が1クロック期間MM
EM402に出力される。
さらに1クロック経過すると、マイクロ命令アドレスM
に対応するMMEM402の内容、すなわちnop命令が実行され
る。
に対応するMMEM402の内容、すなわちnop命令が実行され
る。
以後、状態信号Vが0になるまで保持信号HOLDが1にな
るので、MAR100の内容はMに保持されるとともに、MMEM
402の出力にもnop命令が保持される。
るので、MAR100の内容はMに保持されるとともに、MMEM
402の出力にもnop命令が保持される。
前記本発明の動作タイミングにおいて、状態信号Vが1
でロード信号LDSTARTが発生する場合については、前記
従来のマイクロプログラム制御装置における動作タイミ
ングと等価である。
でロード信号LDSTARTが発生する場合については、前記
従来のマイクロプログラム制御装置における動作タイミ
ングと等価である。
以上説明したように、本実施例では新しいマイクロプロ
グラムの実行開始を待ち合せている期間中、マイクロ命
令の実行を禁止することなく、不要なマイクロ命令の実
行を避けることができる。
グラムの実行開始を待ち合せている期間中、マイクロ命
令の実行を禁止することなく、不要なマイクロ命令の実
行を避けることができる。
また、本実施例ではMMEM402におけるアドレスMに対応
するデータとして、nop命令を格納しておくことを前提
としたが、MMEM402に対応しないアドレスに対してnop命
令と同等のデータが出力されるようなマイクロ命令のコ
ード定義を行なうことで、nop命令を格納する領域を省
くことが可能であり、さらに少ないハードウェアで実現
することが可能である。
するデータとして、nop命令を格納しておくことを前提
としたが、MMEM402に対応しないアドレスに対してnop命
令と同等のデータが出力されるようなマイクロ命令のコ
ード定義を行なうことで、nop命令を格納する領域を省
くことが可能であり、さらに少ないハードウェアで実現
することが可能である。
次に、本発明の第2実施例について説明する。第2図
は、本発明の第2実施例であり、前記第1の実施例に対
してMAR200として前記従来のマイクロプログラム制御装
置におけるMAR400と同様に、2系統の入力を有すること
が特徴である。
は、本発明の第2実施例であり、前記第1の実施例に対
してMAR200として前記従来のマイクロプログラム制御装
置におけるMAR400と同様に、2系統の入力を有すること
が特徴である。
MAR200は、2入力ORゲート210の出力が1の時mビット
のマルチプレクサ(以後、MPXと呼ぶ)201の出力をロー
ドする。
のマルチプレクサ(以後、MPXと呼ぶ)201の出力をロー
ドする。
2入力ORゲート210には、ロード信号LDSTARTおよびLDEN
Dが接続される。
Dが接続される。
MPX201は、ロード信号LDENDが0の時はマイクロプログ
ラムの実行開始アドレス(スタートアドレス)を、ロー
ド信号LDENDが1の時はMMEM402にnop命令が格納されて
いるアドレスMを出力する。
ラムの実行開始アドレス(スタートアドレス)を、ロー
ド信号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……インバータ。
図、 第4図は従来のマイクロプログラム制御装置の構成を示
すブロック図、 第5図はマイクロ命令のフォーマットの一例を示すブロ
ック図、 第6図はマイクロプログラム制御装置の基本的な動作タ
イミングを示すタイミング図、 第7図は従来のマイクロプログラム制御装置の動作タイ
ミングを示すタイミング図である。 100、200、400……マイクロ命令アドレス・レジスタ、 101、404……マイクロプログラム・シーケンサ、 201……マルチプレクサ、 210……2入力ORゲート、 401……インクリメンタ、 402……マイクロプログラム・メモリ、 403……マイクロ命令レジスタ、 410、411、412、413……2入力ANDゲート、 420……インバータ。
Claims (1)
- 【請求項1】マイクロプログラムの実行終了時に、次に
実行すべきマイクロプログラムの実行開始アドレスを外
部から供給するマイクロプログラム制御装置において、
マイクロプログラムの実行開始が待ち合わせ状態にある
ことを検知する手段と、少なくとも時間の消費のみを目
的とした無効なマイクロ命令を含むマイクロプログラム
を保持する読み出し専用の格納手段と、前記格納手段に
格納された無効なマイクロ命令をアドレスする手段とで
構成され、前記検知手段はマイクロプログラムの実行開
始が待ち合わせ状態にあることを検知した場合には、前
記マイクロプログラムの実行開始アドレスの代りに前記
アドレス手段によって前記格納手段に格納されている無
効なマイクロ命令をアドレスし、該アドレス内の無効命
令を実行することを特徴とするマイクロプログラム制御
装置。
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 JPS63163531A (ja) | 1988-07-07 |
| JPH0782434B2 true 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) |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS60103450A (ja) * | 1983-11-10 | 1985-06-07 | Fujitsu Ltd | マイクロプログラム制御方式 |
-
1986
- 1986-12-25 JP JP61309766A patent/JPH0782434B2/ja not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| JPS63163531A (ja) | 1988-07-07 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2810068B2 (ja) | プロセッサシステム、コンピュータシステム及び命令処理方法 | |
| US5235686A (en) | Computer system having mixed macrocode and microcode | |
| US4954943A (en) | Data processing system | |
| EP0378415A2 (en) | Multiple instruction dispatch mechanism | |
| KR880001418B1 (ko) | 데이터 처리장치 | |
| JP2548428B2 (ja) | タイミング発生装置 | |
| US5247624A (en) | Microprogram controller including leading microinstruction from a generator executed while succeeding microinstruction from memory is read out | |
| JPH03233630A (ja) | 情報処理装置 | |
| EP0279953B1 (en) | Computer system having mixed macrocode and microcode instruction execution | |
| JPS6232504B2 (ja) | ||
| JPH0782434B2 (ja) | マイクロプログラム制御装置 | |
| JP2680828B2 (ja) | ディジタル装置 | |
| JP2694948B2 (ja) | マイクロプログラム処理装置 | |
| US5187782A (en) | Data processing system | |
| EP0573071A2 (en) | A microprocessor | |
| JP4889235B2 (ja) | プログラム制御プロセッサ | |
| JPS6049337B2 (ja) | パイプライン制御方式 | |
| JP2721611B2 (ja) | プログラマブルコントローラ | |
| JPH087679B2 (ja) | マイクロプロセッサ | |
| JP2721610B2 (ja) | プログラマブルコントローラ | |
| JP2504263B2 (ja) | デ―タ処理装置 | |
| JPS63293638A (ja) | データ処理装置 | |
| JP2636074B2 (ja) | マイクロプロセッサ | |
| US6212624B1 (en) | Selective canonizing on mode transitions | |
| JPS6398735A (ja) | マイクロ制御装置 |