JPH0221612B2 - - Google Patents
Info
- Publication number
- JPH0221612B2 JPH0221612B2 JP56192933A JP19293381A JPH0221612B2 JP H0221612 B2 JPH0221612 B2 JP H0221612B2 JP 56192933 A JP56192933 A JP 56192933A JP 19293381 A JP19293381 A JP 19293381A JP H0221612 B2 JPH0221612 B2 JP H0221612B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- address
- page
- branch
- cycle
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/22—Microcontrol or microprogram arrangements
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/22—Microcontrol or microprogram arrangements
- G06F9/26—Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
- G06F9/262—Arrangements for next microinstruction selection
- G06F9/264—Microinstruction selection based on results of processing
- G06F9/267—Microinstruction selection based on results of processing by instruction selection on output of storage
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)
Description
【発明の詳細な説明】
〔発明の利用分野〕
本発明はマイクロ命令のアドレスを、その前に
読出されたマイクロ命令内の情報を用いて発生す
る、マイクロ命令制御のデータ処理装置に関す
る。
読出されたマイクロ命令内の情報を用いて発生す
る、マイクロ命令制御のデータ処理装置に関す
る。
読出すべきマイクロ命令のアドレスを指定する
方法として、その直前のマイクロ命令内の情報に
より指定する方法がある。この方法においては、
第1図のようなマイクロ命令列を読出していく場
合、読出された条件付分岐命令2はマイクロ命令
3,4のページアドレスを指定する。マイクロ命
令3,4はこのページアドレスにより指定され、
それと並行して、マイクロ命令2が指定する分岐
条件に従つてページ内アドレスが生成され、読出
されたマイクロ命令3,4の一方をこのページ内
アドレスにより選択する。
方法として、その直前のマイクロ命令内の情報に
より指定する方法がある。この方法においては、
第1図のようなマイクロ命令列を読出していく場
合、読出された条件付分岐命令2はマイクロ命令
3,4のページアドレスを指定する。マイクロ命
令3,4はこのページアドレスにより指定され、
それと並行して、マイクロ命令2が指定する分岐
条件に従つてページ内アドレスが生成され、読出
されたマイクロ命令3,4の一方をこのページ内
アドレスにより選択する。
条件付分岐命令3,4から他のマイクロ命令
5,6および7へ移行することも同様に実行され
る。したがつて、この方法によれば、命令2,3
のごとく、連続する条件付分岐命令も実行でき
る。しかし、読出されたマイクロ命令内に書かれ
たアドレスで次のマイクロ命令を読出さねばなら
ないため、一マシンサイクルをマイクロ命令記憶
装置のサイクルタイムよりかなり大きくしなけれ
ばならなくなる。
5,6および7へ移行することも同様に実行され
る。したがつて、この方法によれば、命令2,3
のごとく、連続する条件付分岐命令も実行でき
る。しかし、読出されたマイクロ命令内に書かれ
たアドレスで次のマイクロ命令を読出さねばなら
ないため、一マシンサイクルをマイクロ命令記憶
装置のサイクルタイムよりかなり大きくしなけれ
ばならなくなる。
本発明はマイクロ命令記憶装置のサイクル時間
に近いマシンサイクルでマイクロ命令を順次読出
しうるデータ処理装置を提供することを目的とす
る。
に近いマシンサイクルでマイクロ命令を順次読出
しうるデータ処理装置を提供することを目的とす
る。
このため本発明では、マイクロ命令記憶装置は
(ROM)は一定サイクルごとに駆動され、入力
されるページアドレスにより複数個のマイクロに
命令を出力し、かつ一般のマイクロ命令は、複数
個先のマイクロ命令のページアドレスとページ内
アドレスを有する。ROMから読出された複数の
マイクロ命令の一つが一回の読出しごとに選択さ
れる。選択されたマイクロ命令内のページアドレ
スとページ内アドレスは、上記複数個先のマイク
ロ命令を読み出すタイミングでアドレスレジスタ
にセツトされる。さらに、ROMから読出した複
数のマイクロ命令の選択のためのページ内アドレ
スの発生回路は、上記複数と同じサイクル数の間
に選択された命令の中に分岐命令があるか否かお
よび分岐命令がある場合には、それらは分岐成功
したか否かにより異なるページ内アドレスを発生
する。
(ROM)は一定サイクルごとに駆動され、入力
されるページアドレスにより複数個のマイクロに
命令を出力し、かつ一般のマイクロ命令は、複数
個先のマイクロ命令のページアドレスとページ内
アドレスを有する。ROMから読出された複数の
マイクロ命令の一つが一回の読出しごとに選択さ
れる。選択されたマイクロ命令内のページアドレ
スとページ内アドレスは、上記複数個先のマイク
ロ命令を読み出すタイミングでアドレスレジスタ
にセツトされる。さらに、ROMから読出した複
数のマイクロ命令の選択のためのページ内アドレ
スの発生回路は、上記複数と同じサイクル数の間
に選択された命令の中に分岐命令があるか否かお
よび分岐命令がある場合には、それらは分岐成功
したか否かにより異なるページ内アドレスを発生
する。
本発明によるマイクロ命令制御のデータプロセ
ツサのブロツク図を第5図に示す。第3図は条件
付分岐のマイクロ命令のフオーマツトで、マイク
ロ命令のページアドレスフイールド60、分岐条
件フイールド62、条件付分岐命令であることを
示す値1を有するBビツトフイールド64、演算
部の実行を制御する制御信号フイールド66によ
り構成されている。第4図は条件付分岐命令でな
い一般命令のフオーマツトで、フイールド62に
はマイクロ命令のページ内アドレスが含まれ、B
ビツトフイールド64には0が含まれる点が第3
図と異なる。本実施例では、各マイクロ命令が有
するページアドレスあるいはページ内アドレスは
各マイクロ命令の二つ先のマイクロ命令のアドレ
スである。
ツサのブロツク図を第5図に示す。第3図は条件
付分岐のマイクロ命令のフオーマツトで、マイク
ロ命令のページアドレスフイールド60、分岐条
件フイールド62、条件付分岐命令であることを
示す値1を有するBビツトフイールド64、演算
部の実行を制御する制御信号フイールド66によ
り構成されている。第4図は条件付分岐命令でな
い一般命令のフオーマツトで、フイールド62に
はマイクロ命令のページ内アドレスが含まれ、B
ビツトフイールド64には0が含まれる点が第3
図と異なる。本実施例では、各マイクロ命令が有
するページアドレスあるいはページ内アドレスは
各マイクロ命令の二つ先のマイクロ命令のアドレ
スである。
第5図において、ROM23はマイクロ命令を
記憶するための4つのバンク(図示せず)を有
し、入力されるページアドレス24に基づき、各
バンクから一つのマイクロ命令を読出すように構
成されている。セレクタ27はこうして読出され
た4つのマイクロ命令の一つを、入力されるペー
ジ内アドレス31により選択する。このため、ペ
ージ内アドレスは2ビツトからなる。
記憶するための4つのバンク(図示せず)を有
し、入力されるページアドレス24に基づき、各
バンクから一つのマイクロ命令を読出すように構
成されている。セレクタ27はこうして読出され
た4つのマイクロ命令の一つを、入力されるペー
ジ内アドレス31により選択する。このため、ペ
ージ内アドレスは2ビツトからなる。
第5図の装置はさらに演算ユニツト46と、セ
レクタ27の出力32をデコードして演算ユニツ
ト46を制御するコントロールユニツト45と、
演算ユニツト46による演算の結果に基づき得ら
れる条件コードを記憶するステータスレジスタ2
9と、複数のアドレス入力を選択するためのセレ
クタ22と、アドレスレジスタ20,21と、ペ
ージ内アドレス生成回路26とを有する。
レクタ27の出力32をデコードして演算ユニツ
ト46を制御するコントロールユニツト45と、
演算ユニツト46による演算の結果に基づき得ら
れる条件コードを記憶するステータスレジスタ2
9と、複数のアドレス入力を選択するためのセレ
クタ22と、アドレスレジスタ20,21と、ペ
ージ内アドレス生成回路26とを有する。
第5図の装置は、第8図に示すクロツクφと、
そのクロツクにより制御される。クロツクは
クロツクφより半マシンサイクル遅れて高レベル
となるものである。
そのクロツクにより制御される。クロツクは
クロツクφより半マシンサイクル遅れて高レベル
となるものである。
セレクタ22の入力は信号18A,18B,1
9である。信号18A,18Bは命令デコーダ7
0により得られる。すなわち、実行すべき機械語
命令内のオペコードを命令デコーダ70が解読
し、この機械語命令に対応するマイクロプログラ
ムの先頭と第2番目のマイクロ命令のアドレス
(ページアドレスとページ内アドレス)18A,
18Bを出力する。命令デコーダ70はANDア
レー72と、ORアレー74とからなる。入力さ
れたオペコードはANDアレー72の複数の出力
ラインの内の、ある一つのライン58のみを
“H”レベルにする。ORアレー74では、ライ
ン58上にあらかじめ書込まれた前述の二つのマ
イクロ命令のページアドレス、ページ内アドレス
が出力ライン59,60等に読出される。
9である。信号18A,18Bは命令デコーダ7
0により得られる。すなわち、実行すべき機械語
命令内のオペコードを命令デコーダ70が解読
し、この機械語命令に対応するマイクロプログラ
ムの先頭と第2番目のマイクロ命令のアドレス
(ページアドレスとページ内アドレス)18A,
18Bを出力する。命令デコーダ70はANDア
レー72と、ORアレー74とからなる。入力さ
れたオペコードはANDアレー72の複数の出力
ラインの内の、ある一つのライン58のみを
“H”レベルにする。ORアレー74では、ライ
ン58上にあらかじめ書込まれた前述の二つのマ
イクロ命令のページアドレス、ページ内アドレス
が出力ライン59,60等に読出される。
信号19はセレクタ27で選択されたマイクロ
命令のフイールド60,62からなる。したがつ
て、信号19は、選択されたマイクロ命令が一般
命令のときには、二つ先のマイクロ命令のページ
アドレスとページ内アドレスとからなり、選択さ
れたマイクロ命令が条件付分岐命令のときには、
二つ先のマイクロ命令のページアドレスと分岐条
件とからなる。このように、信号19の違いにか
かわらず、以下では、この信号19をも単にアド
レスと呼ぶことがある。
命令のフイールド60,62からなる。したがつ
て、信号19は、選択されたマイクロ命令が一般
命令のときには、二つ先のマイクロ命令のページ
アドレスとページ内アドレスとからなり、選択さ
れたマイクロ命令が条件付分岐命令のときには、
二つ先のマイクロ命令のページアドレスと分岐条
件とからなる。このように、信号19の違いにか
かわらず、以下では、この信号19をも単にアド
レスと呼ぶことがある。
セレクタ22の制御はセレクタ27により選択
されたマイクロ命令のコントロールフイールド6
6によりなされる。マイクロプログラムの最後か
ら2番目のマイクロ命令および最後のマイクロ命
令およびこれら以外のマイクロ命令のコントロー
ルフイールド66には、それぞれアドレス18
A,18B,19の選択を指示する情報(図示せ
ず)が含まれていて、これらの情報が線32を介
してセレクタ22に入力される。この結果、セレ
クタ22は、実行中のマイクロプログラムの最後
から2番目のマイクロ命令が読出されたときに、
次に実行すべきマイクロプログラムの先頭のマイ
クロ命令のアドレス18Aの選択を行い、次のサ
イクルで第2番目のマイクロ命令のアドレス18
Bの選択を行ない、その後の複数のサイクルで
は、アドレス19を選択しつづける。
されたマイクロ命令のコントロールフイールド6
6によりなされる。マイクロプログラムの最後か
ら2番目のマイクロ命令および最後のマイクロ命
令およびこれら以外のマイクロ命令のコントロー
ルフイールド66には、それぞれアドレス18
A,18B,19の選択を指示する情報(図示せ
ず)が含まれていて、これらの情報が線32を介
してセレクタ22に入力される。この結果、セレ
クタ22は、実行中のマイクロプログラムの最後
から2番目のマイクロ命令が読出されたときに、
次に実行すべきマイクロプログラムの先頭のマイ
クロ命令のアドレス18Aの選択を行い、次のサ
イクルで第2番目のマイクロ命令のアドレス18
Bの選択を行ない、その後の複数のサイクルで
は、アドレス19を選択しつづける。
セレクタ22で選択されたアドレスはクロツク
φに同期してマスタアドレスレジスタ20にセツ
トされ、次にクロツクに同期してスレーブアド
レスレジスタ21に移動される。スレーブアドレ
スレジスタ21内のページアドレスが線24を介
してROM23に供給されており、ROM23は、
クロツクφに同期して駆動され、駆動時にレジス
タ21内にあるページアドレスを有する4つのマ
イクロ命令が読出される。一方、レジスタ21内
のページ内アドレスは、アドレス生成回路26に
線25を介して供給され、セレクタ27から線2
8を介して入力されるフイールド62,64とと
もにページ内アドレスの生成に利用される。この
生成されたページ内アドレスに基づきROM23
から読出された4つのマイクロ命令の一つがセレ
クタ27により選択される。コントロールユニツ
ト45は、選択されたマイクロ命令を解読して演
算ユニツト46に対して演算を指示する。演算ユ
ニツト46は指定された演算を実行し、演算結果
を、図示しないメモリ等に書込むとともに、必要
があるときには、演算の種類と演算結果に応じて
コンデイシヨンコードを算出し、ステータスレジ
スタ29にセツトする。アドレス生成回路26
は、セレクタ27から現に出力されている命令が
条件付分岐命令のときに、このコンデイシヨンコ
ードに基づき分岐判定を行ない、その判定結果に
応じて、異なるページ内アドレスを生成する。
φに同期してマスタアドレスレジスタ20にセツ
トされ、次にクロツクに同期してスレーブアド
レスレジスタ21に移動される。スレーブアドレ
スレジスタ21内のページアドレスが線24を介
してROM23に供給されており、ROM23は、
クロツクφに同期して駆動され、駆動時にレジス
タ21内にあるページアドレスを有する4つのマ
イクロ命令が読出される。一方、レジスタ21内
のページ内アドレスは、アドレス生成回路26に
線25を介して供給され、セレクタ27から線2
8を介して入力されるフイールド62,64とと
もにページ内アドレスの生成に利用される。この
生成されたページ内アドレスに基づきROM23
から読出された4つのマイクロ命令の一つがセレ
クタ27により選択される。コントロールユニツ
ト45は、選択されたマイクロ命令を解読して演
算ユニツト46に対して演算を指示する。演算ユ
ニツト46は指定された演算を実行し、演算結果
を、図示しないメモリ等に書込むとともに、必要
があるときには、演算の種類と演算結果に応じて
コンデイシヨンコードを算出し、ステータスレジ
スタ29にセツトする。アドレス生成回路26
は、セレクタ27から現に出力されている命令が
条件付分岐命令のときに、このコンデイシヨンコ
ードに基づき分岐判定を行ない、その判定結果に
応じて、異なるページ内アドレスを生成する。
以下では、第5図の装置の動作を、第2図のマ
イクロ命令列について、第8図のタイムチヤート
を参照して、より詳細に説明する。
イクロ命令列について、第8図のタイムチヤート
を参照して、より詳細に説明する。
第2図において、マイクロ命令8〜10が条件
付分岐命令で、それ以外は一般命令である。ま
た、同一サイクルにおいて読出す可能性のある複
数の命令、たとえば、命令9と10、あるいは1
1〜14、あるいは15と16、あるいは17と
18はそれぞれ同一のページアドレスを割りあて
られている。
付分岐命令で、それ以外は一般命令である。ま
た、同一サイクルにおいて読出す可能性のある複
数の命令、たとえば、命令9と10、あるいは1
1〜14、あるいは15と16、あるいは17と
18はそれぞれ同一のページアドレスを割りあて
られている。
第2図では、条件付分岐命令8での分岐判定結
果と条件付分岐命令9又は10での分岐判定結果
により、命令11〜14の一つが選択的に実行さ
れる。したがつて、条件付分岐命令8で指定する
ページアドレスに基づき読出された4つの命令の
一つを選択するためのページ内アドレスはこれら
二つの分岐判定結果に基づいて定める必要があ
る。
果と条件付分岐命令9又は10での分岐判定結果
により、命令11〜14の一つが選択的に実行さ
れる。したがつて、条件付分岐命令8で指定する
ページアドレスに基づき読出された4つの命令の
一つを選択するためのページ内アドレスはこれら
二つの分岐判定結果に基づいて定める必要があ
る。
このため、本実施例では、ページ内アドレスM
1,M0の生成を第6図に即して行う。ここでB
ビツトは現在セレクタ27から出力されている命
令内のBビツトを表わし、BBはそれより一つ前
の命令のBビツトを表わす。またOM0は現在す
でにセレクタ27から読出されている命令の選択
のために生成したページ内アドレスの下位ビツト
である。勿論、現在セレクタ27から読出されて
いる命令のページ内アドレスの下位ビツトにはこ
のOM0をあらかじめ割りあてられる。また、
PM1,PM0は現在セレクタ27から読出され
ている命令の一つ前の命令が一般命令である場合
に、その命令が指定するページ内アドレスの上位
ビツト、下位ビツトそれぞれ表わす。これらはス
レーブアドレスレジスタ21にストアされてい
る。
1,M0の生成を第6図に即して行う。ここでB
ビツトは現在セレクタ27から出力されている命
令内のBビツトを表わし、BBはそれより一つ前
の命令のBビツトを表わす。またOM0は現在す
でにセレクタ27から読出されている命令の選択
のために生成したページ内アドレスの下位ビツト
である。勿論、現在セレクタ27から読出されて
いる命令のページ内アドレスの下位ビツトにはこ
のOM0をあらかじめ割りあてられる。また、
PM1,PM0は現在セレクタ27から読出され
ている命令の一つ前の命令が一般命令である場合
に、その命令が指定するページ内アドレスの上位
ビツト、下位ビツトそれぞれ表わす。これらはス
レーブアドレスレジスタ21にストアされてい
る。
すなわち、現在セレクタ27から読出されてい
る命令が命令37のごとく一般命令であり、さら
に、その前の命令36も一般命令のとき(B=
BB=0)には次の命令8を選択するためのペー
ジ内アドレスM1,M0としては、その一つ前の
命令36が指定するページ内アドレスPM1,
PM0をそのまま出力する。一方、現在の命令が
命令8のごとく条件付分岐命令のとき(B=1)
には分岐判定結果により、M1,M0の特定の一
方、たとえばM0を異ならしめる。本実施例で
は、分岐成功、不成功に応じてM0をそれぞれ
1、0とする。ビツトM1は命令8の一つ前の命
令37が分岐命令でないので任意の値にきめてよ
いが、後述する理由により、M1を命令8のペー
ジ内アドレスの下位ビツトM0にする。すなわ
ち、現在セレクタ27から読出されている命令が
命令9又は10のごとく、分岐命令で、その前の
命令8も分岐命令のときには、命令8が指定する
ページアドレスに基づき読出された4つの命令1
1〜14の一つを、分岐命令9又は10での分岐
判定結果だけでなく、分岐命令8での分岐判定結
果にも基づいて決める必要がある。命令9での分
岐判定結果に応じて次の命令11又は12を区別
するためには、すでに命令8について説明したよ
うに、次の命令11,12のページ内アドレスの
下位ビツトM0をそれぞれ0、1とすればよい。
同様に命令13,14の下位ビツトM0をそれぞ
れ0、1とすればよい。さらに、分岐命令8での
分岐判定結果により、命令11,12を命令1
3,14から区別するためには、命令11,12
のページ内アドレスの上位ビツトM1を命令13
と14の上位ビツトM1と区別すればよい。すな
わち、命令11〜14の上位ビツトM1を命令8
での分岐判定結果に依存してきれればよい。しか
し、すでに述べたごとく、命令9,10のページ
内アドレスの下位ビツトOM0は本実施例ではそ
れぞれ、0、1と定められるので、命令11と1
2および13と14のページ内アドレスの上位ビ
ツトM1として、それぞれ、一つ前の命令9又は
10のページ内アドレスの下位ビツトOM0をそ
のまま用いればよいことが分かる。したがつて、
現在セレクタ27から読出される命令が分岐命令
のときには前に命令8の場合に説明したようにし
て次の命令のページ内アドレスを定めれば、分岐
命令8につづく分岐命令9が現にセレクタ27か
ら読出されているときでも、全く同じようにし
て、次の命令11又は12のページ内アドレスを
決定できる。結局、命令11〜14のページ内ア
ドレスはそれぞれ、00、01、10、11とすればよい
ことになる。さらに、命令15,16のごとく、
それぞれ現にセレクタ27から読出される命令1
1又は12が一般命令(B=0)で、その一つ前
の命令9が条件付分岐命令(BB=1)のときに
は、命令9の分岐判定結果により、命令15又は
16に対するページ内アドレスを発生させる必要
がある。この判定結果は命令11又は12の選択
のために生成したページ内アドレスの下位ビツト
OM0に反映されている。したがつて、B=0、
BB=1の場合には、生成すべきM1又はM2の
一方を一つ前の命令の選択のために生成したOM
0にすればよい。M1又はM2の他方は任意でよ
い。ここではB=1の場合と同じくM1をOM0
にした。またM2は0とした。この生成回路26
の詳細は後述するが、現にセレクタ27から読出
されている命令の一つ前の命令のBビツトBBを
記憶しておくとともにこの一つ前の命令の選択の
ために生成したページ内アドレスの下位ビツト
OM0をストアしておき、線28から入力され
る、現にセレクタ27から読出されている命令の
Bビツトおよびフイールド62にある分岐条件
と、ステータスレジスタ29内のコンデイシヨン
コードおよびスレーブアドレスレジスタ21にあ
るページ内アドレスPM0,PM1に基づき、次
のマイクロ命令のページ内アドレスM1,M0を
第6図に即して発生するように構成されている。
る命令が命令37のごとく一般命令であり、さら
に、その前の命令36も一般命令のとき(B=
BB=0)には次の命令8を選択するためのペー
ジ内アドレスM1,M0としては、その一つ前の
命令36が指定するページ内アドレスPM1,
PM0をそのまま出力する。一方、現在の命令が
命令8のごとく条件付分岐命令のとき(B=1)
には分岐判定結果により、M1,M0の特定の一
方、たとえばM0を異ならしめる。本実施例で
は、分岐成功、不成功に応じてM0をそれぞれ
1、0とする。ビツトM1は命令8の一つ前の命
令37が分岐命令でないので任意の値にきめてよ
いが、後述する理由により、M1を命令8のペー
ジ内アドレスの下位ビツトM0にする。すなわ
ち、現在セレクタ27から読出されている命令が
命令9又は10のごとく、分岐命令で、その前の
命令8も分岐命令のときには、命令8が指定する
ページアドレスに基づき読出された4つの命令1
1〜14の一つを、分岐命令9又は10での分岐
判定結果だけでなく、分岐命令8での分岐判定結
果にも基づいて決める必要がある。命令9での分
岐判定結果に応じて次の命令11又は12を区別
するためには、すでに命令8について説明したよ
うに、次の命令11,12のページ内アドレスの
下位ビツトM0をそれぞれ0、1とすればよい。
同様に命令13,14の下位ビツトM0をそれぞ
れ0、1とすればよい。さらに、分岐命令8での
分岐判定結果により、命令11,12を命令1
3,14から区別するためには、命令11,12
のページ内アドレスの上位ビツトM1を命令13
と14の上位ビツトM1と区別すればよい。すな
わち、命令11〜14の上位ビツトM1を命令8
での分岐判定結果に依存してきれればよい。しか
し、すでに述べたごとく、命令9,10のページ
内アドレスの下位ビツトOM0は本実施例ではそ
れぞれ、0、1と定められるので、命令11と1
2および13と14のページ内アドレスの上位ビ
ツトM1として、それぞれ、一つ前の命令9又は
10のページ内アドレスの下位ビツトOM0をそ
のまま用いればよいことが分かる。したがつて、
現在セレクタ27から読出される命令が分岐命令
のときには前に命令8の場合に説明したようにし
て次の命令のページ内アドレスを定めれば、分岐
命令8につづく分岐命令9が現にセレクタ27か
ら読出されているときでも、全く同じようにし
て、次の命令11又は12のページ内アドレスを
決定できる。結局、命令11〜14のページ内ア
ドレスはそれぞれ、00、01、10、11とすればよい
ことになる。さらに、命令15,16のごとく、
それぞれ現にセレクタ27から読出される命令1
1又は12が一般命令(B=0)で、その一つ前
の命令9が条件付分岐命令(BB=1)のときに
は、命令9の分岐判定結果により、命令15又は
16に対するページ内アドレスを発生させる必要
がある。この判定結果は命令11又は12の選択
のために生成したページ内アドレスの下位ビツト
OM0に反映されている。したがつて、B=0、
BB=1の場合には、生成すべきM1又はM2の
一方を一つ前の命令の選択のために生成したOM
0にすればよい。M1又はM2の他方は任意でよ
い。ここではB=1の場合と同じくM1をOM0
にした。またM2は0とした。この生成回路26
の詳細は後述するが、現にセレクタ27から読出
されている命令の一つ前の命令のBビツトBBを
記憶しておくとともにこの一つ前の命令の選択の
ために生成したページ内アドレスの下位ビツト
OM0をストアしておき、線28から入力され
る、現にセレクタ27から読出されている命令の
Bビツトおよびフイールド62にある分岐条件
と、ステータスレジスタ29内のコンデイシヨン
コードおよびスレーブアドレスレジスタ21にあ
るページ内アドレスPM0,PM1に基づき、次
のマイクロ命令のページ内アドレスM1,M0を
第6図に即して発生するように構成されている。
今、サイクルT1の前において、ROM23か
らマイクロ命令37が読出され、サイクルT1に
おいてクロツクφに応答してセレクタ27がこの
マイクロ命令37が選択されていると仮定する。
セレクタ27は、クロツクφの次の入力時点まで
選択出力を保持するように構成されている。命令
37は次のサイクルT2のクロツクφに同期して
コントロールユニツト45で解読され、演算ユニ
ツト46が演算を実行し、演算の種類とその結果
により定まるコンデイシヨンコードを求め、サイ
クルT2の終りにステータスレジスタ29にセツ
トする。
らマイクロ命令37が読出され、サイクルT1に
おいてクロツクφに応答してセレクタ27がこの
マイクロ命令37が選択されていると仮定する。
セレクタ27は、クロツクφの次の入力時点まで
選択出力を保持するように構成されている。命令
37は次のサイクルT2のクロツクφに同期して
コントロールユニツト45で解読され、演算ユニ
ツト46が演算を実行し、演算の種類とその結果
により定まるコンデイシヨンコードを求め、サイ
クルT2の終りにステータスレジスタ29にセツ
トする。
以上のような命令37の処理と並行して、命令
37内のページアドレスとページ内アドレスが、
セレクタ22により選択され、マスタアドレスレ
ジスタ20にサイクルT1のクロツクφに同期し
てセツトされる。本発明では、各マイクロ命令
は、二つ先のマイクロ命令のアドレスを指定する
ように構成されている。したがつて、命令37
は、命令9又は10のいずれかのアドレスを指定
する。ただし、このアドレスの内、ページ内アド
レスは後述するように、命令9又は10を選択す
るのに用いられない。一方、スレーブアドレスレ
ジスタ21には、命令37の次に実行される命令
8のアドレスがサイクルT1ではすでにセツトさ
れている。このアドレスは、命令37の一つ前の
一般命令36により指定されたものである。スレ
ーブアドレスレジスタ21内の命令8のページア
ドレスに基づきROM23がサイクルT1のクロ
ツクφに同期して読出し動作を開始する。こうし
て、命令8を含む4つの命令がROM23のアク
セス時間を経過して読出される。本実施例では、
命令8は、サイクルT1の終りより少し前に読出
されると仮定している。一方、命令37が一般命
令(B=0)であり、その一つ前の命令36も一
般命令(BB=0)と仮定すると、ROM23で
の読出しと並行して、アドレス生成回路26は、
レジスタ21から与えられた命令8に対するペー
ジ内アドレスをそのままセレクタ27にサイクル
T1で出力する。こうして、次のサイクルT2の
クロツクφに応答して、セレクタ27はマイクロ
命令8を選択する。この命令8は、命令37と同
様に次のサイクルT3で実行され、必要があれ
ば、コンデイシヨンコードをサイクルT3の終り
に書きかえる。一方、ROM23からの命令8の
読出しと並行して、サイクルT1のクロツクφに
同期して、スレーブアドレスレジスタ21に、マ
スタアドレスレジスタ20のそのときの内容(今
の例では、命令9又は10のアドレス)がセツト
される。このアドレスは、次のサイクルT2のク
ロツクφに同期してROM23での読出しに利用
される。その結果、サイクルT2の終り近くに命
令9,10を含む4つのマイクロ命令が読出され
る。これらの読出しと並行して、アドレス生成回
路26は、命令9又は10を選択するためのペー
ジ内アドレスをサイクルT2で生成する。サイク
ルT2ですでにセレクタ27から出力されている
命令8のBビツトが1であるので、アドレス生成
回路26はサイクルT2のクロツクφに同期し
て、そのときのステータスレジスタ29内のコン
デイシヨンコードと線28を介して入力されるフ
イールド62内の分岐条件とに基づき、分岐成功
か不成功かを検出し、検出結果に応じて命令9又
は10のページ内アドレスを発生する。仮りに、
命令8のページ内アドレスの上位、下位ビツトを
A1,A0とすると、アドレス生成回路26は、
分岐不成功又は成功のときにそれぞれページ内ア
ドレスM1,M0として、A0、0およびA0,
1を出力する。したがつて、当然ながら、命令
9,10にはこれらのページ内アドレスがあらか
じめ割りあてられなければならない。なお、第2
図のブロツクの左上の記号は各命令のページ内ア
ドレスを示す。
37内のページアドレスとページ内アドレスが、
セレクタ22により選択され、マスタアドレスレ
ジスタ20にサイクルT1のクロツクφに同期し
てセツトされる。本発明では、各マイクロ命令
は、二つ先のマイクロ命令のアドレスを指定する
ように構成されている。したがつて、命令37
は、命令9又は10のいずれかのアドレスを指定
する。ただし、このアドレスの内、ページ内アド
レスは後述するように、命令9又は10を選択す
るのに用いられない。一方、スレーブアドレスレ
ジスタ21には、命令37の次に実行される命令
8のアドレスがサイクルT1ではすでにセツトさ
れている。このアドレスは、命令37の一つ前の
一般命令36により指定されたものである。スレ
ーブアドレスレジスタ21内の命令8のページア
ドレスに基づきROM23がサイクルT1のクロ
ツクφに同期して読出し動作を開始する。こうし
て、命令8を含む4つの命令がROM23のアク
セス時間を経過して読出される。本実施例では、
命令8は、サイクルT1の終りより少し前に読出
されると仮定している。一方、命令37が一般命
令(B=0)であり、その一つ前の命令36も一
般命令(BB=0)と仮定すると、ROM23で
の読出しと並行して、アドレス生成回路26は、
レジスタ21から与えられた命令8に対するペー
ジ内アドレスをそのままセレクタ27にサイクル
T1で出力する。こうして、次のサイクルT2の
クロツクφに応答して、セレクタ27はマイクロ
命令8を選択する。この命令8は、命令37と同
様に次のサイクルT3で実行され、必要があれ
ば、コンデイシヨンコードをサイクルT3の終り
に書きかえる。一方、ROM23からの命令8の
読出しと並行して、サイクルT1のクロツクφに
同期して、スレーブアドレスレジスタ21に、マ
スタアドレスレジスタ20のそのときの内容(今
の例では、命令9又は10のアドレス)がセツト
される。このアドレスは、次のサイクルT2のク
ロツクφに同期してROM23での読出しに利用
される。その結果、サイクルT2の終り近くに命
令9,10を含む4つのマイクロ命令が読出され
る。これらの読出しと並行して、アドレス生成回
路26は、命令9又は10を選択するためのペー
ジ内アドレスをサイクルT2で生成する。サイク
ルT2ですでにセレクタ27から出力されている
命令8のBビツトが1であるので、アドレス生成
回路26はサイクルT2のクロツクφに同期し
て、そのときのステータスレジスタ29内のコン
デイシヨンコードと線28を介して入力されるフ
イールド62内の分岐条件とに基づき、分岐成功
か不成功かを検出し、検出結果に応じて命令9又
は10のページ内アドレスを発生する。仮りに、
命令8のページ内アドレスの上位、下位ビツトを
A1,A0とすると、アドレス生成回路26は、
分岐不成功又は成功のときにそれぞれページ内ア
ドレスM1,M0として、A0、0およびA0,
1を出力する。したがつて、当然ながら、命令
9,10にはこれらのページ内アドレスがあらか
じめ割りあてられなければならない。なお、第2
図のブロツクの左上の記号は各命令のページ内ア
ドレスを示す。
上述のごとくに生成されたページ内アドレスに
基づきセレクタ27は命令9又は10をサイクル
T3のクロツクφに応答して選択する。ここでは
命令10が選択されたと仮定する。なお、命令8
の分岐の成功、不成功の検出に用いられるコンデ
イシヨンコードはサイクルT1においてステータ
スレジスタ29に書込まれているもので、これは
命令37より前の命令36の演算の結果に依存す
る。したがつて分岐命令8の少くとも二つ前の命
令の演算結果に基づき、分岐の成功又は不成功を
検出することになる。しかし、これは実用上問題
がない。
基づきセレクタ27は命令9又は10をサイクル
T3のクロツクφに応答して選択する。ここでは
命令10が選択されたと仮定する。なお、命令8
の分岐の成功、不成功の検出に用いられるコンデ
イシヨンコードはサイクルT1においてステータ
スレジスタ29に書込まれているもので、これは
命令37より前の命令36の演算の結果に依存す
る。したがつて分岐命令8の少くとも二つ前の命
令の演算結果に基づき、分岐の成功又は不成功を
検出することになる。しかし、これは実用上問題
がない。
分岐命令9,10の読出しと並行して、それら
の前に選択された分岐命令8内のページアドレス
が、サイクルT2のクロツクφに同期してマスタ
アドレスレジスタ20にセレクタ22を介してセ
ツトされる。このページアドレスは、命令8の二
つ次の命令11〜14に共通なページアドレスで
ある。これらのデータはサイクルT2のクロツク
φに同期してスレーブアドレスレジスタ21にセ
ツトされ、このページアドレスに基づき、サイク
ルT3の終り項に命令11〜14がROM23か
ら読出される。一方、アドレス生成回路26はこ
の読出しと並行して、これら4つの命令の一つに
対するページ内アドレスを生成する。
の前に選択された分岐命令8内のページアドレス
が、サイクルT2のクロツクφに同期してマスタ
アドレスレジスタ20にセレクタ22を介してセ
ツトされる。このページアドレスは、命令8の二
つ次の命令11〜14に共通なページアドレスで
ある。これらのデータはサイクルT2のクロツク
φに同期してスレーブアドレスレジスタ21にセ
ツトされ、このページアドレスに基づき、サイク
ルT3の終り項に命令11〜14がROM23か
ら読出される。一方、アドレス生成回路26はこ
の読出しと並行して、これら4つの命令の一つに
対するページ内アドレスを生成する。
すなわち、セレクタ27から線28を介して供
給される命令10のBビツトが1であるので、線
28を介して供給される命令10の分岐条件と、
ステータスレジスタ29内のコンデイシヨンコー
ドとにより分岐成功か否かを判別する。分岐不成
功ならば、命令10の選択のために生成したペー
ジ内アドレス(今の場合、これはA0,1であ
る)の下位ビツト1を上位ビツトM1とし、値0
を下位ビツトM0とすることにより、ページ内ア
ドレス1,0を出力する。こうして命令14のた
めのページ内アドレスが生成される。一方、分岐
成功のときには、M1=1、M0=1からなる命
令13のためのページ内アドレスを生成する。こ
うして、サイクルT4のクロツクφに同期してセ
レクタ27が命令13又は14を選択することが
できる。今、仮りに命令13が選択されたとす
る。このとき、命令10が指定するページアドレ
スに基づきサイクルT3の終りに命令17,18
を含む4つの命令がROM23から読出される。
このとき、アドレス生成回路26は命令17のペ
ージ内アドレスを生成する必要がある。この生成
は第6図に従がい、次のように行なわれる。すな
わち、サイクルT4で現にセレクタ27から読出
されている命令13のBビツトは0でその一つ前
の命令10のBビツト(BB)は1であるので、
生成回路26は命令13のページ内アドレス1,
0の内の下位ビツト0を上位ビツトM1とし、0
を下位ビツトとするアドレス0,0を出力する。
もし、命令10の分岐判定の結果、分岐が成功
し、命令14が選択されたときには、生成回路2
6は、ページ内アドレスとして1,0を出力す
る。したがつて、命令17,18を含む4つの命
令の内、次に実行すべき命令を分岐命令10での
分岐判定結果により指定することができる。
給される命令10のBビツトが1であるので、線
28を介して供給される命令10の分岐条件と、
ステータスレジスタ29内のコンデイシヨンコー
ドとにより分岐成功か否かを判別する。分岐不成
功ならば、命令10の選択のために生成したペー
ジ内アドレス(今の場合、これはA0,1であ
る)の下位ビツト1を上位ビツトM1とし、値0
を下位ビツトM0とすることにより、ページ内ア
ドレス1,0を出力する。こうして命令14のた
めのページ内アドレスが生成される。一方、分岐
成功のときには、M1=1、M0=1からなる命
令13のためのページ内アドレスを生成する。こ
うして、サイクルT4のクロツクφに同期してセ
レクタ27が命令13又は14を選択することが
できる。今、仮りに命令13が選択されたとす
る。このとき、命令10が指定するページアドレ
スに基づきサイクルT3の終りに命令17,18
を含む4つの命令がROM23から読出される。
このとき、アドレス生成回路26は命令17のペ
ージ内アドレスを生成する必要がある。この生成
は第6図に従がい、次のように行なわれる。すな
わち、サイクルT4で現にセレクタ27から読出
されている命令13のBビツトは0でその一つ前
の命令10のBビツト(BB)は1であるので、
生成回路26は命令13のページ内アドレス1,
0の内の下位ビツト0を上位ビツトM1とし、0
を下位ビツトとするアドレス0,0を出力する。
もし、命令10の分岐判定の結果、分岐が成功
し、命令14が選択されたときには、生成回路2
6は、ページ内アドレスとして1,0を出力す
る。したがつて、命令17,18を含む4つの命
令の内、次に実行すべき命令を分岐命令10での
分岐判定結果により指定することができる。
以上のようにして、条件付命令が連続する場合
でも、現在セレクタ27から読出されている命令
より一つ前の命令により、次に読出すべきマイク
ロ命令を指定する方法を適用することができる。
でも、現在セレクタ27から読出されている命令
より一つ前の命令により、次に読出すべきマイク
ロ命令を指定する方法を適用することができる。
なお、以上の説明からも明らかなとおり、
ROM23はクロツクφに同期して駆動され、約
1サイクル後に複数のマイクロ命令が読出され
る。一方、セレクタ27から出力されたマイクロ
命令内のページアドレスがスレーブアドレスレジ
スタ21にセツトされるのはセレクタ27からそ
の命令が出力された後の半サイクル後である。
ROM23は、レジスタ21に新たなアドレスが
セツトされた後半サイクル経過して駆動されるよ
うになつている。したがつて、セレクタ27から
選択された命令が指定する命令がたしかに、二マ
シンサイクル後にセレクタ27から出力されてい
る。このように、セレクタ27から現に選択され
ている命令が指定するページアドレスをスレーブ
アドレスレジスタ21に適当なタイミングでセツ
トすることにより、この指定されたページアドレ
スを有するマイクロ命令が2マシンサイクル後に
読出すようにすることができる。本実施例では
ROM23のサイクルタイムとアクセスタイムが
等しいと仮定している。本実施例ではROM23
のサイクルタイムにほぼ等しい時間長のマシンサ
イクルでROM23をアクセスできる。
ROM23はクロツクφに同期して駆動され、約
1サイクル後に複数のマイクロ命令が読出され
る。一方、セレクタ27から出力されたマイクロ
命令内のページアドレスがスレーブアドレスレジ
スタ21にセツトされるのはセレクタ27からそ
の命令が出力された後の半サイクル後である。
ROM23は、レジスタ21に新たなアドレスが
セツトされた後半サイクル経過して駆動されるよ
うになつている。したがつて、セレクタ27から
選択された命令が指定する命令がたしかに、二マ
シンサイクル後にセレクタ27から出力されてい
る。このように、セレクタ27から現に選択され
ている命令が指定するページアドレスをスレーブ
アドレスレジスタ21に適当なタイミングでセツ
トすることにより、この指定されたページアドレ
スを有するマイクロ命令が2マシンサイクル後に
読出すようにすることができる。本実施例では
ROM23のサイクルタイムとアクセスタイムが
等しいと仮定している。本実施例ではROM23
のサイクルタイムにほぼ等しい時間長のマシンサ
イクルでROM23をアクセスできる。
次に第7図を参照してアドレス生成回路26を
説明する。回路26はアンドアレー35A,35
B、オアアレー35Cからなるプログラムロジツ
クアレとそれへの入出力回路からなる。各アレー
において、入力線と出力線の交点による丸印はス
イツチ素子を示し、ある入力線の電圧が高レベル
になると、その素子を介してこの入力線に交叉す
る出力線は低レベルになる。但し、その入力線に
この素子を介さずに交叉する出力線の電圧は高レ
ベルのままである。アンドアレー35Aには線2
8を介してセレクタ27から入力される分岐条件
BCを適当に反転した信号と線30を介してステ
ータスレジスタ29から入力される条件コード
CCを同じように反転した命令とが特定の値をも
つときのみ、特定の出力線49又は50のレベル
をHレベルに保持する回路である。
説明する。回路26はアンドアレー35A,35
B、オアアレー35Cからなるプログラムロジツ
クアレとそれへの入出力回路からなる。各アレー
において、入力線と出力線の交点による丸印はス
イツチ素子を示し、ある入力線の電圧が高レベル
になると、その素子を介してこの入力線に交叉す
る出力線は低レベルになる。但し、その入力線に
この素子を介さずに交叉する出力線の電圧は高レ
ベルのままである。アンドアレー35Aには線2
8を介してセレクタ27から入力される分岐条件
BCを適当に反転した信号と線30を介してステ
ータスレジスタ29から入力される条件コード
CCを同じように反転した命令とが特定の値をも
つときのみ、特定の出力線49又は50のレベル
をHレベルに保持する回路である。
図ではアンドアレー35Aの一例として2ビツ
トの分岐条件BCと2ビツトの条件コードCCとの
一致を検出する回路の一部を示してある。すなわ
ち、分岐条件BCは二つのインバータを経由して
入力線28A,28Bからアレー35Aに入力さ
れ、これらの入力線28A,28Bと出力線49
との交点にはスイツチ素子が設けられている。同
様に条件コードCCが二つのインバータと線30
A,30Bを介してアレー35Aに入力され、こ
れらの入力線30A,30Bと、出力線49との
交点にスイツチ素子が設けられている。したがつ
て、線49は、分岐条件BC、条件コードがとも
に“00”に等しいときにのみ高レベルである。し
たがつて、線49はこのような分岐条件が満たさ
れたときのみ高レベルのままである。同様に線5
0は分岐条件BCの値が“10”であつて、分岐条
件が満たされたときのみ高レベルのままとなる。
このように線49,50は特定の分岐条件がそれ
ぞれ満たされたときのみ高レベルとなる。同様に
分岐条件BCが他の値のときに分岐が成立したと
きのみ高レベルとなる出力線およびこれに交叉し
た入力線その他を設ける必要があるが簡単化のた
めに図示していない。
トの分岐条件BCと2ビツトの条件コードCCとの
一致を検出する回路の一部を示してある。すなわ
ち、分岐条件BCは二つのインバータを経由して
入力線28A,28Bからアレー35Aに入力さ
れ、これらの入力線28A,28Bと出力線49
との交点にはスイツチ素子が設けられている。同
様に条件コードCCが二つのインバータと線30
A,30Bを介してアレー35Aに入力され、こ
れらの入力線30A,30Bと、出力線49との
交点にスイツチ素子が設けられている。したがつ
て、線49は、分岐条件BC、条件コードがとも
に“00”に等しいときにのみ高レベルである。し
たがつて、線49はこのような分岐条件が満たさ
れたときのみ高レベルのままである。同様に線5
0は分岐条件BCの値が“10”であつて、分岐条
件が満たされたときのみ高レベルのままとなる。
このように線49,50は特定の分岐条件がそれ
ぞれ満たされたときのみ高レベルとなる。同様に
分岐条件BCが他の値のときに分岐が成立したと
きのみ高レベルとなる出力線およびこれに交叉し
た入力線その他を設ける必要があるが簡単化のた
めに図示していない。
以下では簡単化のために、分岐条件BC、条件
コードがともに00の条件で分岐が成立したか否か
を記号BR1が1か0かで表わす。同様に、分岐
条件BC、条件コードがともに01の条件で分岐が
成立したか否かを記号BR2が1か0かにより表
わす。この結果、線49,50の電圧状態S49、
S50は、それぞれ S49=1 (1) S50=2 (2) となる。
コードがともに00の条件で分岐が成立したか否か
を記号BR1が1か0かで表わす。同様に、分岐
条件BC、条件コードがともに01の条件で分岐が
成立したか否かを記号BR2が1か0かにより表
わす。この結果、線49,50の電圧状態S49、
S50は、それぞれ S49=1 (1) S50=2 (2) となる。
アンドレー35Bには、セレクタ27から線2
8を介して与えられるBビツトとその反転信号
がそれぞれ入力線28F,28Eから入力され、
スレーブアドレスレジスタ21から与えられるペ
ージ内アドレスPM0、PM1の反転信号が入力
線25A,25Bより与えられる。すでに説明し
たようにセレクタ27から出力されている命令の
一つ前の命令に含まれていたページ内アドレスが
スレーブアドレスレジスタ21にストアされてい
るので、記号PM0,PM1が用いられる。アレ
ー35Bにはさらに、線34A,34Bを介し
て、以下に説明するように作成された。セレクタ
27から現に出力されている命令の一つ前の命令
に含まれていたBビツトBBとその反転信号BB
が入力される。すなわち、回路52,53は、二
つの直列接続されたインバータと、閉ループ形成
用のトランジスタからなる周知のラツチ回路であ
る。ラツチ52には線28を介してセレクタ27
から入力される、現在すでにセレクタ27から読
出されている命令のBビツトBがクロツクφによ
りスイツチオンされるトランジスタ60を介して
入力される。すでに述べたように、セレクタ27
はクロツクφに同期して動作するので、ラツチ5
2には現にセレクタ27から出力されている命令
のBビツトBがそのままラツチされる。ラツチ5
2の出力はクロツクによりスイツチオンされる
トランジスタ61を介してラツチ53に再びラツ
チされる。このラツチ53の出力はクロツクφに
よりスイツチオンされるトランジスタ62Aを介
して線34の一方34Aに出力される。したがつ
て、線34A上の信号は、線28から1サイクル
前に入力されたBビツト、すなわち、現在セレク
タ27から読出されている命令の一つ前の命令の
BビツトBBを表す。なお、線34の他方34B
には、ラツチ53の二つのインバータの接続点の
電圧がクロツクφによりスイツチオンされる電圧
が与えられる。この線34Bの電圧は信号の
反転信号BBに等しい。
8を介して与えられるBビツトとその反転信号
がそれぞれ入力線28F,28Eから入力され、
スレーブアドレスレジスタ21から与えられるペ
ージ内アドレスPM0、PM1の反転信号が入力
線25A,25Bより与えられる。すでに説明し
たようにセレクタ27から出力されている命令の
一つ前の命令に含まれていたページ内アドレスが
スレーブアドレスレジスタ21にストアされてい
るので、記号PM0,PM1が用いられる。アレ
ー35Bにはさらに、線34A,34Bを介し
て、以下に説明するように作成された。セレクタ
27から現に出力されている命令の一つ前の命令
に含まれていたBビツトBBとその反転信号BB
が入力される。すなわち、回路52,53は、二
つの直列接続されたインバータと、閉ループ形成
用のトランジスタからなる周知のラツチ回路であ
る。ラツチ52には線28を介してセレクタ27
から入力される、現在すでにセレクタ27から読
出されている命令のBビツトBがクロツクφによ
りスイツチオンされるトランジスタ60を介して
入力される。すでに述べたように、セレクタ27
はクロツクφに同期して動作するので、ラツチ5
2には現にセレクタ27から出力されている命令
のBビツトBがそのままラツチされる。ラツチ5
2の出力はクロツクによりスイツチオンされる
トランジスタ61を介してラツチ53に再びラツ
チされる。このラツチ53の出力はクロツクφに
よりスイツチオンされるトランジスタ62Aを介
して線34の一方34Aに出力される。したがつ
て、線34A上の信号は、線28から1サイクル
前に入力されたBビツト、すなわち、現在セレク
タ27から読出されている命令の一つ前の命令の
BビツトBBを表す。なお、線34の他方34B
には、ラツチ53の二つのインバータの接続点の
電圧がクロツクφによりスイツチオンされる電圧
が与えられる。この線34Bの電圧は信号の
反転信号BBに等しい。
アンドアレー35Bには、現在セレクタ27か
ら出力されている命令の選択に用いたページ内ア
ドレスの下位ビツトの反転信号OM0がクロツク
φでスイツチオンされるトランジスタ66を線6
3を介して入力される。
ら出力されている命令の選択に用いたページ内ア
ドレスの下位ビツトの反転信号OM0がクロツク
φでスイツチオンされるトランジスタ66を線6
3を介して入力される。
線45〜48のレベルは、これらにスイツチ素
子を介して接続された複数の入力線の電圧がいず
れも低レベルのときのみ高レベルとなるので、線
45〜48の論理レベルS45〜S48はそれぞ
れ以下のように表わされる。
子を介して接続された複数の入力線の電圧がいず
れも低レベルのときのみ高レベルとなるので、線
45〜48の論理レベルS45〜S48はそれぞ
れ以下のように表わされる。
S45=・・PM1 (3)
S46=・BB・OM0 (4)
S47=・OM0 (5)
S48=・・PM0 (6)
一方、線49,48は、線28Fを介して入力
されるBビツトの反転信号が低レベルでかつ、ア
ンドアレー35Aでの分岐判定の結果、分岐成功
と判定されたときである。したがつて、線48,
49のレベルは、前述の記号BR1,BR2を用
いると、 S49=B・BR1 (7) S50=B・BR2 (8) オアアレー35Cでは線45〜47の電圧がい
ずれかが高レベルのときに出力線56が低レベル
となる。したがつて線56に接続されたインバー
タ65Aの出力OUT1は信号S45〜S47の
論理和で表わされる。
されるBビツトの反転信号が低レベルでかつ、ア
ンドアレー35Aでの分岐判定の結果、分岐成功
と判定されたときである。したがつて、線48,
49のレベルは、前述の記号BR1,BR2を用
いると、 S49=B・BR1 (7) S50=B・BR2 (8) オアアレー35Cでは線45〜47の電圧がい
ずれかが高レベルのときに出力線56が低レベル
となる。したがつて線56に接続されたインバー
タ65Aの出力OUT1は信号S45〜S47の
論理和で表わされる。
OUT1=S45+S46+S47 (9)
同様に線48〜50の電圧のいずれかが高レベ
ルのときには、出力線57が低レベルとなる。し
たがつて、インバータ65Bの出力OUT0は信
号S48〜50の論理和で表わされる。
ルのときには、出力線57が低レベルとなる。し
たがつて、インバータ65Bの出力OUT0は信
号S48〜50の論理和で表わされる。
OUT0=S48+S49+S50 (10)
これらの出力OUT1、OUT0は、クロツクφ
2でスイツチオンされるトランジスタ65A,6
5Bを介して、ラツチ回路55A,55Bにラツ
チされる。これらのラツチ回路の出力M1,M0
はしたがつて、出力OUT1、OUT0を半サイク
ル遅延したものである。
2でスイツチオンされるトランジスタ65A,6
5Bを介して、ラツチ回路55A,55Bにラツ
チされる。これらのラツチ回路の出力M1,M0
はしたがつて、出力OUT1、OUT0を半サイク
ル遅延したものである。
これらのラツチ55A,55Bの出力M1,M
0は次にクロツクがトランジスタ64A,64
Bに入力されるまでラツチされる。したがつて、
ラツチ55Bの第1段のインバータの出力は、現
在セレクタ27から出力されている命令の選択に
用いたページ内アドレスの下位ビツトOM0の反
転信号に相当することが分かる。
0は次にクロツクがトランジスタ64A,64
Bに入力されるまでラツチされる。したがつて、
ラツチ55Bの第1段のインバータの出力は、現
在セレクタ27から出力されている命令の選択に
用いたページ内アドレスの下位ビツトOM0の反
転信号に相当することが分かる。
このように回路26が構成された結果、B=1
のときには信号S47がOM0に等しくなり、式
(9)からM1はOM0に等しくなる。また分岐が成
功すれば、式(7)、(8)により、信号S47,S48
のいずれかが1となるが、分岐不成功のときに
は、いずれも0となるため、式(10)より、M1は分
岐成功か否かにより1又は0となる。
のときには信号S47がOM0に等しくなり、式
(9)からM1はOM0に等しくなる。また分岐が成
功すれば、式(7)、(8)により、信号S47,S48
のいずれかが1となるが、分岐不成功のときに
は、いずれも0となるため、式(10)より、M1は分
岐成功か否かにより1又は0となる。
また、B=0、BB=1のときには式(4)より信
号S46がOM0と等しくなるため式(9)より、M
1はOM0に等しくなる。また、他の信号はすべ
て0のため、M0は0になる。
号S46がOM0と等しくなるため式(9)より、M
1はOM0に等しくなる。また、他の信号はすべ
て0のため、M0は0になる。
また、B=BB=0ときには、式(3)、(6)より、
信号S45,S48がそれぞれPM1,PM0に
等しいため、M1,M0はこれらに等しくなる。
信号S45,S48がそれぞれPM1,PM0に
等しいため、M1,M0はこれらに等しくなる。
以上のごとく、回路26は第6図に示した区分
にしたがつて、次の命令を選択するためのページ
内アドレスM1,M0を出力することができる。
にしたがつて、次の命令を選択するためのページ
内アドレスM1,M0を出力することができる。
なお、以上の実施例においては、各命令は二つ
先の命令のアドレスを指定するこしたが、本発明
はこの場合に限定されるものでない。また、本発
明は分岐数が2より大きい場合にも通用しうるこ
とは明らかである。
先の命令のアドレスを指定するこしたが、本発明
はこの場合に限定されるものでない。また、本発
明は分岐数が2より大きい場合にも通用しうるこ
とは明らかである。
以上のようにして、本発明によれば、各マイク
ロ命令で後続のマイクロ命令のアドレスを指定す
ることができ、かつ、マイクロ命令記憶装置のサ
イクルタイムに近いマシンサイクルで順次複数の
命令を読出すことができる。
ロ命令で後続のマイクロ命令のアドレスを指定す
ることができ、かつ、マイクロ命令記憶装置のサ
イクルタイムに近いマシンサイクルで順次複数の
命令を読出すことができる。
第1図、第2図は条件付分岐命令を含むマイク
ロ命令列の意なる例。第3図は本発明の実施例で
用いる条件付分岐命令のフオーマツト、第4図は
本発明の実施例で用いる一般命令のフオーマツ
ト、第5図は本発明の実施例の概略回路図、第6
図は第5図の実施例で使用される、ページ内アド
レスの発生の仕方を示す図、第7図は第5図の実
施例で用いるアドレス生成回路の具体例である。
第8図は第5図の回路に対するタイムチヤートで
ある。
ロ命令列の意なる例。第3図は本発明の実施例で
用いる条件付分岐命令のフオーマツト、第4図は
本発明の実施例で用いる一般命令のフオーマツ
ト、第5図は本発明の実施例の概略回路図、第6
図は第5図の実施例で使用される、ページ内アド
レスの発生の仕方を示す図、第7図は第5図の実
施例で用いるアドレス生成回路の具体例である。
第8図は第5図の回路に対するタイムチヤートで
ある。
Claims (1)
- 【特許請求の範囲】 1 アドレスレジスタと、一定サイクルごとに駆
動され、該レジスタにストアされたページアドレ
スに基づき所定の複数のマイクロ命令を読出す記
憶手段であつて、各マイクロ命令の第1のフイー
ルドには、該各マイクロ命令の読出しサイクルか
らみて該所定数のサイクルの後に読すべき後続の
マイクロ命令を指定するページアドレスが含ま
れ、条件付分岐命令でない一般命令の第2のフイ
ールドには該後続命令を指定するページ内アドレ
スが含まれ、条件付分岐命令の第2フイールドに
は、分岐条件を指定する情報が含まれているもの
と、 該読出し動作ごとに、該読出された複数のマイ
クロ命令の一つを選択する手段と、 該選択された命令を読出すためのページアドレ
スを該アドレスレジスタにセツトしたタイミング
より、該所定数のサイクルだけ遅延して該選択さ
れた命令の第1、第2フイールドを該レジスタに
セツトする、該選択動作に同期したセツト手段
と、 該選択されたマイクロ命令が分岐命令のとき、
該分岐命令が指定する分岐が成功か否かを該選択
された分岐命令の第2フイールドに基づき検出す
る手段と、 該選択動作の終了ごとに、次のサイクルで選択
すべきマイクロ命令を指定するためのページ内ア
ドレスを発生して該選択手段に送出するためのア
ドレス発生手段であつて、該選択手段により、現
在までの該所定数のサイクルの間の該検出手段の
出力と現在該アドレスレジスタ内にあるページ内
アドレスとに基づき該指定のためのページ内アド
レスを発生するものとからなるマイクロ命令制御
のデータ処理装置。 2 該アドレス発生手段は、該所定数のサイクル
の間に分岐命令がないときには、該アドレスレジ
ス内に現にあるページ内アドレスを該指定のため
のページ内アドレスとして出力し、該所定数のサ
イクルの間に分岐命令があるときには、該所定数
のサイクルの内、該分岐命令が存在したサイクル
と、該分岐命令に対する分岐成功検出結果とによ
り、異なるページ内アドレスを発生するものであ
る第1項のデータ処理装置。 3 該所定数は2であり、該アドレス発生手段
は、現在のサイクルで出力したページ内アドレス
を記憶する手段と、現在より一つ前のサイクルで
選択された命令が分岐命令か否かを示す信号を記
憶する手段と、現在選択された命令が分岐命令で
なく、かつ、現在より一つ前のサイクルで選択さ
れた命令が分岐命令でないときには、該アドレス
レジスタに現在あるページ内アドレスを出力し、
現在選択された命令が分岐命令でなく、一つ前の
サイクルで選択された命令が分岐命令のときに
は、現在のサイクルで出力したページ内アドレス
の一部と、1又は0の内のあらかじめ定めた値か
らなるページ内アドレスを出力し、現在選択され
た命令が分岐命令のときには、現在のサイクルで
出力したページ内アドレスの一部と、分岐成功か
否かに応じて定まる0又は1とからなるページ内
アドレスを出力する手段とからなる第1項のデー
タ処理装置。 4 該ページ内アドレスは2ビツトからなり、該
アドレス発生手段は、現在選択された命令が分岐
命令でなく、かつ、一つ前のサイクルで選択され
た命令が分岐命令のとき、現在のサイクルで出力
された下位ビツトOM0に等しい上位ビツトと、
値0又は1の内あらかじめ定めた一方の値を有す
る上位ビツトからなるページ内アドレスを発生
し、現在選択されている命令が分岐命令のときに
は、現在のサイクルで出力された下位ビツトに等
しい上位ビツトと、分岐成功か否かに応じて1又
は0の値となる下位ビツトからなるページ内アド
レスを生成するものである第3項のデータ処理装
置。
Priority Applications (5)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP56192933A JPS5896349A (ja) | 1981-12-02 | 1981-12-02 | マイクロ命令制御のデータ処理装置 |
| US06/444,711 US4494195A (en) | 1981-12-02 | 1982-11-26 | Microinstruction controlled data processor |
| DE8282111085T DE3276645D1 (en) | 1981-12-02 | 1982-12-01 | Microinstruction controlled data processor |
| EP82111085A EP0080737B1 (en) | 1981-12-02 | 1982-12-01 | Microinstruction controlled data processor |
| KR8205402A KR880000994B1 (ko) | 1981-12-02 | 1982-12-01 | 마이크로 프로그램 제어방식 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP56192933A JPS5896349A (ja) | 1981-12-02 | 1981-12-02 | マイクロ命令制御のデータ処理装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS5896349A JPS5896349A (ja) | 1983-06-08 |
| JPH0221612B2 true JPH0221612B2 (ja) | 1990-05-15 |
Family
ID=16299407
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP56192933A Granted JPS5896349A (ja) | 1981-12-02 | 1981-12-02 | マイクロ命令制御のデータ処理装置 |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US4494195A (ja) |
| EP (1) | EP0080737B1 (ja) |
| JP (1) | JPS5896349A (ja) |
| KR (1) | KR880000994B1 (ja) |
| DE (1) | DE3276645D1 (ja) |
Families Citing this family (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0769818B2 (ja) * | 1984-10-31 | 1995-07-31 | 株式会社日立製作所 | デ−タ処理装置 |
| JPH07104996A (ja) * | 1993-10-05 | 1995-04-21 | Kofu Nippon Denki Kk | マイクロプログラム制御装置 |
| JP2000293371A (ja) | 1999-04-09 | 2000-10-20 | Hitachi Ltd | マイクロプログラム制御方法及び装置 |
| CN106406814B (zh) * | 2016-09-30 | 2019-06-14 | 上海兆芯集成电路有限公司 | 处理器和将架构指令转译成微指令的方法 |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3900835A (en) * | 1973-09-24 | 1975-08-19 | Digital Equipment Corp | Branching circuit for microprogram controlled central processor unit |
| US3958227A (en) * | 1974-09-24 | 1976-05-18 | International Business Machines Corporation | Control store system with flexible control word selection |
| US4338661A (en) * | 1979-05-21 | 1982-07-06 | Motorola, Inc. | Conditional branch unit for microprogrammed data processor |
-
1981
- 1981-12-02 JP JP56192933A patent/JPS5896349A/ja active Granted
-
1982
- 1982-11-26 US US06/444,711 patent/US4494195A/en not_active Expired - Lifetime
- 1982-12-01 KR KR8205402A patent/KR880000994B1/ko not_active Expired
- 1982-12-01 EP EP82111085A patent/EP0080737B1/en not_active Expired
- 1982-12-01 DE DE8282111085T patent/DE3276645D1/de not_active Expired
Also Published As
| Publication number | Publication date |
|---|---|
| JPS5896349A (ja) | 1983-06-08 |
| KR840003081A (ko) | 1984-08-13 |
| EP0080737A1 (en) | 1983-06-08 |
| KR880000994B1 (ko) | 1988-06-10 |
| DE3276645D1 (en) | 1987-07-30 |
| US4494195A (en) | 1985-01-15 |
| EP0080737B1 (en) | 1987-06-24 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4179731A (en) | Microprogrammed control system | |
| JPS6239780B2 (ja) | ||
| JPS60167034A (ja) | Cpuパイプラインの性能向上用補助的制御記憶装置 | |
| US4794518A (en) | Pipeline control system for an execution section of a pipeline computer with multiple selectable control registers in an address control stage | |
| JPS63317828A (ja) | マイクロコ−ド読み出し制御方式 | |
| KR920007253B1 (ko) | 마이크로 프로그램 제어 장치 | |
| JPH0221612B2 (ja) | ||
| US4812970A (en) | Microprogram control system | |
| US5124910A (en) | Microprogram control apparatus for generating a branch condition signal to be designated by a micro-branch instruction | |
| JP2757388B2 (ja) | マイクロプログラム制御装置 | |
| JPH0810429B2 (ja) | マイクロプログラム制御装置 | |
| JPH04251331A (ja) | 情報処理装置 | |
| JPH0348535B2 (ja) | ||
| KR0172910B1 (ko) | 디지탈 신호 처리장치 및 방법 | |
| JPH0290324A (ja) | マイクロプログラム制御装置 | |
| JPH04245537A (ja) | 情報処理装置 | |
| JPH09288506A (ja) | プログラム可能なシーケンス制御回路 | |
| JPH07104996A (ja) | マイクロプログラム制御装置 | |
| JPS6235693B2 (ja) | ||
| JPS6015969B2 (ja) | マイクロ命令アドレス生成方式 | |
| JPS58125147A (ja) | マイクロプログラム記憶装置 | |
| JPH04278636A (ja) | マイクロプログラム制御装置 | |
| JPH0133852B2 (ja) | ||
| JPS6049339B2 (ja) | マイクロプログラム制御方式 | |
| JPH0750437B2 (ja) | データ処理装置 |