JPH03212732A - メモリコマンド処理装置 - Google Patents
メモリコマンド処理装置Info
- Publication number
- JPH03212732A JPH03212732A JP887390A JP887390A JPH03212732A JP H03212732 A JPH03212732 A JP H03212732A JP 887390 A JP887390 A JP 887390A JP 887390 A JP887390 A JP 887390A JP H03212732 A JPH03212732 A JP H03212732A
- Authority
- JP
- Japan
- Prior art keywords
- microaddress
- processing
- latch
- memory command
- loop
- 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
Links
- 238000001514 detection method Methods 0.000 claims description 2
- 238000000034 method Methods 0.000 description 33
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 2
- 239000000284 extract Substances 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔発明の目的〕
(産業上の利用分野)
本発明は、メモリコマンド処理装置に関し、特に、マイ
クロコンピュータ等においてマイクロプログラム実行時
のループ処理先のメモリコマンド処理に用いて好適なメ
モリコマンド処理装置に関する。
クロコンピュータ等においてマイクロプログラム実行時
のループ処理先のメモリコマンド処理に用いて好適なメ
モリコマンド処理装置に関する。
(従来の技術)
マイクロプログラム(ファームウェア)によってメモリ
リードする場合、メモリデータについては、メモリリー
ドを命令した次のステップでロドされるのが一般的であ
る。ところか、これては処理時間がかかり過ぎる。これ
に着目し、メモリコマンド処理を行なう先行処理装置に
より、現在実行中のマイクロアドレスnよりも先行する
マイクロアドレスn十1のコマンドの先行処理を行ない
、次の処理ではメモリデータのリード/ライトたけを実
行するようなシステムか考えられる。
リードする場合、メモリデータについては、メモリリー
ドを命令した次のステップでロドされるのが一般的であ
る。ところか、これては処理時間がかかり過ぎる。これ
に着目し、メモリコマンド処理を行なう先行処理装置に
より、現在実行中のマイクロアドレスnよりも先行する
マイクロアドレスn十1のコマンドの先行処理を行ない
、次の処理ではメモリデータのリード/ライトたけを実
行するようなシステムか考えられる。
今、第2図の説明図に示すような処理フローを考える。
第2図に示すように、処理の流れは処理Aから処理Eま
てか直列に実行されるようになっている。処理りの判断
処理でループが実行されると、処理の流れは処理りから
処理Bに移る。ここで、処理A、Cにはメモリコマンド
か含まれておらず、処理B、Eにはメモリリートコマン
ドが含まれているものとする。一方、処理りはある条件
が成立するまで処理Bにブランチして処理をループする
ものとする。
てか直列に実行されるようになっている。処理りの判断
処理でループが実行されると、処理の流れは処理りから
処理Bに移る。ここで、処理A、Cにはメモリコマンド
か含まれておらず、処理B、Eにはメモリリートコマン
ドが含まれているものとする。一方、処理りはある条件
が成立するまで処理Bにブランチして処理をループする
ものとする。
さて、処理Aの時点で、先行処理されるのは処理Bのメ
モリコマンドである。この先行処理により、実際の処理
が処理Bに進んだ時点ではメモリデータを直ちにロード
することができる。更に、処理Cが終了し処理りに進む
と、この時点て先行処理されるメモリコマンドは処理E
に対応するものである。つまり、ここから処理が処理B
にループするとしても、処理Cてのメモリコマンドの先
行処理はループ先の処理Bに対応するものではない。こ
のため、例えば数千回のループ処理が行なわれるような
場合、処理Cにおけるメモリコマンドの先行処理は全く
生かされないことになる。このような場合においては、
各ループ毎に、1ステップ分のハードウェアによるダミ
ーステップを挿入する必要があった。
モリコマンドである。この先行処理により、実際の処理
が処理Bに進んだ時点ではメモリデータを直ちにロード
することができる。更に、処理Cが終了し処理りに進む
と、この時点て先行処理されるメモリコマンドは処理E
に対応するものである。つまり、ここから処理が処理B
にループするとしても、処理Cてのメモリコマンドの先
行処理はループ先の処理Bに対応するものではない。こ
のため、例えば数千回のループ処理が行なわれるような
場合、処理Cにおけるメモリコマンドの先行処理は全く
生かされないことになる。このような場合においては、
各ループ毎に、1ステップ分のハードウェアによるダミ
ーステップを挿入する必要があった。
(発明が解決しようとする課題)
上述のメモリコマンド処理装置では、ループ処理時にメ
モリコマンドの先行処理が十分に生かされず、ループ処
理毎にダミーステップが挿入されてしまい、CPUの処
理能力や性能に少なからぬ影響を与えており、ループ処
理時のメモリコマンド先行処理を効果的に行なうことか
大きな課題となっていた。
モリコマンドの先行処理が十分に生かされず、ループ処
理毎にダミーステップが挿入されてしまい、CPUの処
理能力や性能に少なからぬ影響を与えており、ループ処
理時のメモリコマンド先行処理を効果的に行なうことか
大きな課題となっていた。
本発明は、上記に鑑みてなされたもので、その目的は、
ループ処理の含まれるフローにおいては、ループ先に対
応するメモリコマンドの先行処理を行なわせることによ
り、ループ処理時間を短縮するようにしたメモリコマン
ド処理装置を提供することにある。
ループ処理の含まれるフローにおいては、ループ先に対
応するメモリコマンドの先行処理を行なわせることによ
り、ループ処理時間を短縮するようにしたメモリコマン
ド処理装置を提供することにある。
(課題を角q決するだめの手段)
本発明のメモリコマンド処理装置は、現在実行中のマイ
クロアドレス及び次に実行すべきマイクロアドレスを出
力するシーケンサと、前記シーケンサからの次に実行す
べきマイクロアドレスを保持する第1のラッチと、ブラ
ンチ発生時にブランチ先のマイクロアドレスを保持する
第2のラッチと、処理フローがループ処理になったこと
を検出するループ処理検出手段と、前記ループ処理検出
手段の出力に基づいてループ処理でない場合には前記第
1のランチに格納されているマイクロアドレスを選択し
、ループ処理の場合には前記第2のラッチに格納されて
いるマイクロアドレスを選択するセレクタと、前記セレ
クタで選択されたマイクロアドレスに基づいてメモリコ
マンドコードを引き比し、メモリコマンドの先行処理を
実行する制御手段と、を備えるものとして構成される。
クロアドレス及び次に実行すべきマイクロアドレスを出
力するシーケンサと、前記シーケンサからの次に実行す
べきマイクロアドレスを保持する第1のラッチと、ブラ
ンチ発生時にブランチ先のマイクロアドレスを保持する
第2のラッチと、処理フローがループ処理になったこと
を検出するループ処理検出手段と、前記ループ処理検出
手段の出力に基づいてループ処理でない場合には前記第
1のランチに格納されているマイクロアドレスを選択し
、ループ処理の場合には前記第2のラッチに格納されて
いるマイクロアドレスを選択するセレクタと、前記セレ
クタで選択されたマイクロアドレスに基づいてメモリコ
マンドコードを引き比し、メモリコマンドの先行処理を
実行する制御手段と、を備えるものとして構成される。
(作 用)
現在実行中のマイクロアドレス及び次に実行すべきマイ
クロアドレスを出力するシーケンサから、次に実行すべ
きマイクロアドレスを第1のラッチ手段に保持させると
共に、ブランチ発生時にはブランチ先のマイクロアドレ
スを第2のラッチに保持させておく。処理フローがルー
プ処理になっていない場合には、セレクタに前記第1の
ラッチに格納されているマイクロアドレスを選択させる
。
クロアドレスを出力するシーケンサから、次に実行すべ
きマイクロアドレスを第1のラッチ手段に保持させると
共に、ブランチ発生時にはブランチ先のマイクロアドレ
スを第2のラッチに保持させておく。処理フローがルー
プ処理になっていない場合には、セレクタに前記第1の
ラッチに格納されているマイクロアドレスを選択させる
。
ループ処理検出手段により処理フローがループ処理にな
ったことが検出された場合には、セレクタに前記第2の
ラッチに格納されているマイクロアドレスを選択させ、
制御手段では前記セレクタで選択されたマイクロアドレ
スに基づいてメモリコマンドコードを引き出して、メモ
リコマンドの先行処理を実行する。
ったことが検出された場合には、セレクタに前記第2の
ラッチに格納されているマイクロアドレスを選択させ、
制御手段では前記セレクタで選択されたマイクロアドレ
スに基づいてメモリコマンドコードを引き出して、メモ
リコマンドの先行処理を実行する。
(実施例)
以下、図面を参照しながら本発明の詳細な説明する。
第1図は、本発明の一実施例に係るメモリコマンド処理
装置のブロック図である。第1図において、シーケンサ
1は、現在実行中のマイクロアドレスnと次に実行すべ
きマイクロアドレスn+1を出力する。ラッチ3は次に
実行すべきマイクロアドレスn+1を保持する。ラッチ
2はラッチ3に保持されているマイクロアドレスをブラ
ンチ発生時に取り込み保持する。ブランチ制御部7は、
ブランチ発生時に、ラッチ2にラッチ3のマイクロアド
レスを取り込むように指示すると共に、シーケンサ1か
らのブランチ先のマイクロアドレスをラッチ8に保持す
るように制御する。コンパレータ4は、ラッチ2に保持
されたマイクロアドレスと、ラッチ3に保持されたマイ
クロアドレスを比較して、処理がループ処理になってい
るか否かを判定する。セレクタ5は、コンパレータ4の
比較結果に基づいて、比較不一致の場合はループ処理で
はないと判断してラッチ3に保持されたマイクロアドレ
スを選択し、比較一致の場合はループ処理になっている
と判断してラッチ8に保持されたマイクロアドレスを選
択する。先行処理制御部6は、セレクタ5で選択された
マイクロアドレスから、メモリコマンドコード制御部1
0のメモリコマンドを参照して、メモリ部11に対する
メモリコマンドの先行処理を実施する。メモリコマンド
コード制御部10は、先行処理制御部6からのマイクロ
アドレスに基づいて次に実行すべき命令コードを発生し
、先行処理制御部6に与える。
装置のブロック図である。第1図において、シーケンサ
1は、現在実行中のマイクロアドレスnと次に実行すべ
きマイクロアドレスn+1を出力する。ラッチ3は次に
実行すべきマイクロアドレスn+1を保持する。ラッチ
2はラッチ3に保持されているマイクロアドレスをブラ
ンチ発生時に取り込み保持する。ブランチ制御部7は、
ブランチ発生時に、ラッチ2にラッチ3のマイクロアド
レスを取り込むように指示すると共に、シーケンサ1か
らのブランチ先のマイクロアドレスをラッチ8に保持す
るように制御する。コンパレータ4は、ラッチ2に保持
されたマイクロアドレスと、ラッチ3に保持されたマイ
クロアドレスを比較して、処理がループ処理になってい
るか否かを判定する。セレクタ5は、コンパレータ4の
比較結果に基づいて、比較不一致の場合はループ処理で
はないと判断してラッチ3に保持されたマイクロアドレ
スを選択し、比較一致の場合はループ処理になっている
と判断してラッチ8に保持されたマイクロアドレスを選
択する。先行処理制御部6は、セレクタ5で選択された
マイクロアドレスから、メモリコマンドコード制御部1
0のメモリコマンドを参照して、メモリ部11に対する
メモリコマンドの先行処理を実施する。メモリコマンド
コード制御部10は、先行処理制御部6からのマイクロ
アドレスに基づいて次に実行すべき命令コードを発生し
、先行処理制御部6に与える。
方、命令コード制御部9は、シーケンサ1から出力され
る現在実行すべきマイクロアドレスに基づいて、現在実
行すべき命令コードをCPU部12に出力し、制御する
ものである。
る現在実行すべきマイクロアドレスに基づいて、現在実
行すべき命令コードをCPU部12に出力し、制御する
ものである。
以上のような構成において、次にその動作を、第2図の
処理フローに適用した場合を例にとって説明する。
処理フローに適用した場合を例にとって説明する。
今、シーケンサ1が処理りのマイクロアドレスを命令コ
ード制御部9に出力すると、命令コード制御部9は実行
すべき命令コードをCPU部12に出力し、その命令コ
ードに従ってCPU部12は所定の処理を行なう。この
時に、シーケンサ1は、ラッチ3に対して次に実行すべ
きマイクロアドレス、つまり処理Eのマイクロアドレス
を出力し、ラッチ3はこれを保持する。コンパレータ4
は、ラッチ3に保持されたマイクロアドレスと、ラッチ
2に保持されたマイクロアドレスを比較する。ちなみに
、ラッチ2は、ブランチ制御部7からの指令に基づいて
、先のループ処理開始時にラッチ3に保持されていたマ
イクロアドレスを保持する作用を有するが、最初はルー
プ処理が行なわれていないので当然″0#が保持されて
いる。従って、1回目のループ処理の開始時は当然コン
パレータ4の比較結果は不一致である。そのため、セレ
クタ5は、ラッチ3のマイクロアドレスを選択して先行
処理制御部6に出力する。先行処理制御部6は、与えら
れたマイクロアドレスによってメモリコマンドコード制
御部10よりメモリ命令コードを受取り、先行処理を行
なう。当然この先行処理は無効な処理とされる。
ード制御部9に出力すると、命令コード制御部9は実行
すべき命令コードをCPU部12に出力し、その命令コ
ードに従ってCPU部12は所定の処理を行なう。この
時に、シーケンサ1は、ラッチ3に対して次に実行すべ
きマイクロアドレス、つまり処理Eのマイクロアドレス
を出力し、ラッチ3はこれを保持する。コンパレータ4
は、ラッチ3に保持されたマイクロアドレスと、ラッチ
2に保持されたマイクロアドレスを比較する。ちなみに
、ラッチ2は、ブランチ制御部7からの指令に基づいて
、先のループ処理開始時にラッチ3に保持されていたマ
イクロアドレスを保持する作用を有するが、最初はルー
プ処理が行なわれていないので当然″0#が保持されて
いる。従って、1回目のループ処理の開始時は当然コン
パレータ4の比較結果は不一致である。そのため、セレ
クタ5は、ラッチ3のマイクロアドレスを選択して先行
処理制御部6に出力する。先行処理制御部6は、与えら
れたマイクロアドレスによってメモリコマンドコード制
御部10よりメモリ命令コードを受取り、先行処理を行
なう。当然この先行処理は無効な処理とされる。
さて、処理の流れが処理りから処理Bに戻るループ処理
となり、処理りの次に実行すべき命令が処理Bになると
、ブランチ制御部7によって、ラッチ3の保持内容、つ
まり処理Eのメモリコマンドに対応するマイクロアドレ
スかラッチ2に転送保持される。一方、ブランチ制御部
7の指令に基づいて、ラッチ8には、シーケンサ1から
ブランチ先である処理Bのマイクロコマンドに対応する
マイクロアドレスが保持される。
となり、処理りの次に実行すべき命令が処理Bになると
、ブランチ制御部7によって、ラッチ3の保持内容、つ
まり処理Eのメモリコマンドに対応するマイクロアドレ
スかラッチ2に転送保持される。一方、ブランチ制御部
7の指令に基づいて、ラッチ8には、シーケンサ1から
ブランチ先である処理Bのマイクロコマンドに対応する
マイクロアドレスが保持される。
次に、シーケンサ1が、命令コード制御部9に、処理り
のマイクロアドレスを出力すると共に、ラッチ3に処理
Eのマイクロアドレスを出力すると、1回目のループ処
理時にラッチ2には処理Eのマイクロコマンドに対応す
るマイクロアドレスか保持されているため、コンパレー
タ4は、ラッチ2とラッチ3に保持されている各マイク
ロアドレスの一致を検出することになる。その結果、セ
レクタ5は、ラッチ8に保持されているマイクロアドレ
ス、つまりループ先の処理Bのマイクロコマンドに対応
するマイクロアドレスを選択して先行処理制御部6に出
力する。その結果、先行処理制御部6は、処理Bのマイ
クロアドレスを次に実行すべきマイクロアドレスとして
メモリコマンド先行処理の命令を実行することになる。
のマイクロアドレスを出力すると共に、ラッチ3に処理
Eのマイクロアドレスを出力すると、1回目のループ処
理時にラッチ2には処理Eのマイクロコマンドに対応す
るマイクロアドレスか保持されているため、コンパレー
タ4は、ラッチ2とラッチ3に保持されている各マイク
ロアドレスの一致を検出することになる。その結果、セ
レクタ5は、ラッチ8に保持されているマイクロアドレ
ス、つまりループ先の処理Bのマイクロコマンドに対応
するマイクロアドレスを選択して先行処理制御部6に出
力する。その結果、先行処理制御部6は、処理Bのマイ
クロアドレスを次に実行すべきマイクロアドレスとして
メモリコマンド先行処理の命令を実行することになる。
これは、先行処理制御部6が、与えられたマイクロアド
レスによって、メモリコマンドコード制御部10からメ
モリ命令コードを受取り、これに基づいてメモリ部11
に対する先行処理を実行するという手順で実施される。
レスによって、メモリコマンドコード制御部10からメ
モリ命令コードを受取り、これに基づいてメモリ部11
に対する先行処理を実行するという手順で実施される。
以上のような動作の結果、ループ処理時には、ループ先
のメモリコマンドの先行処理を効率よく実行させること
かできるので、多数回繰り返し実行されることの多いル
ープ処理時の処理時間を大幅に低減することかできる。
のメモリコマンドの先行処理を効率よく実行させること
かできるので、多数回繰り返し実行されることの多いル
ープ処理時の処理時間を大幅に低減することかできる。
以上述べたように、本発明によれば、メモリコマンドの
先行処理を行なうようなシステムにおいて、ループ処理
か入った場合でも、ループ先のマイクロアドレスに話づ
くマイクロコマンドの先行処理を行なうこととなり、マ
イクロコマンドの実行時間の短縮とCPUの処理能力の
向上という効果か17られる。
先行処理を行なうようなシステムにおいて、ループ処理
か入った場合でも、ループ先のマイクロアドレスに話づ
くマイクロコマンドの先行処理を行なうこととなり、マ
イクロコマンドの実行時間の短縮とCPUの処理能力の
向上という効果か17られる。
第1図は本発明の一実施例に係るメモリコマンド処理装
置のブロック図、第2図はマイクロアドレスによる一般
的な処理フローの一例を示す説明図である。 1・・・シーケンサ、2+ 3+ 8・・・ラッチ
、4・・・コンパレータ、5・・・セレクタ、6・・・
先行処理制御部、7・・・ブランチ制御部、9・・・命
令コード制御部、10・・・メモリコマンドコード制御
部、11・・・メモリ部、12・・・CPU部。
置のブロック図、第2図はマイクロアドレスによる一般
的な処理フローの一例を示す説明図である。 1・・・シーケンサ、2+ 3+ 8・・・ラッチ
、4・・・コンパレータ、5・・・セレクタ、6・・・
先行処理制御部、7・・・ブランチ制御部、9・・・命
令コード制御部、10・・・メモリコマンドコード制御
部、11・・・メモリ部、12・・・CPU部。
Claims (1)
- 【特許請求の範囲】 現在実行中のマイクロアドレス及び次に実行すべきマイ
クロアドレスを出力するシーケンサと、前記シーケンサ
からの次に実行すべきマイクロアドレスを保持する第1
のラッチと、 ブランチ発生時にブランチ先のマイクロアドレスを保持
する第2のラッチと、 処理フローがループ処理になったことを検出するループ
処理検出手段と、 前記ループ処理検出手段の出力に基づいてループ処理で
ない場合には前記第1のラッチに格納されているマイク
ロアドレスを選択し、ループ処理の場合には前記第2の
ラッチに格納されているマイクロアドレスを選択するセ
レクタと、 前記セレクタで選択されたマイクロアドレスに基づいて
メモリコマンドコードを引き出し、メモリコマンドの先
行処理を実行する制御手段と、を備えることを特徴とす
るメモリコマンド処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP887390A JPH03212732A (ja) | 1990-01-18 | 1990-01-18 | メモリコマンド処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP887390A JPH03212732A (ja) | 1990-01-18 | 1990-01-18 | メモリコマンド処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH03212732A true JPH03212732A (ja) | 1991-09-18 |
Family
ID=11704804
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP887390A Pending JPH03212732A (ja) | 1990-01-18 | 1990-01-18 | メモリコマンド処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH03212732A (ja) |
-
1990
- 1990-01-18 JP JP887390A patent/JPH03212732A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5581776A (en) | Branch control system for rom-programmed processor | |
US5301198A (en) | Method for debugging a program by executing a block mode run | |
JPS63250702A (ja) | シ−ケンスコントロ−ラ | |
US4764869A (en) | Method and apparatus for controlling interruption in the course of instruction execution in a processor | |
US5390306A (en) | Pipeline processing system and microprocessor using the system | |
JPH03212732A (ja) | メモリコマンド処理装置 | |
US4807178A (en) | Programmable sequence controller having indirect and direct input/output apparatus | |
KR0179919B1 (ko) | 내장 테스트 프로그램을 이용한 엠씨유의 테스트 방법 | |
JP2000194556A (ja) | 命令ルックアヘッドシステムおよびハ―ドウェア | |
JPS6022768B2 (ja) | デ−タ処理方法 | |
JPS595354A (ja) | デ−タ処理装置 | |
KR0128511B1 (ko) | 분기제어장치 및 그 제어방법 | |
JP3013619B2 (ja) | プログラマブル・コントローラ | |
JPS5829051A (ja) | 演算処理装置 | |
JPH0237450A (ja) | チャネル装置 | |
JP2860395B2 (ja) | チャネルコマンド先取り制御装置 | |
JP3331599B2 (ja) | マイクロプログラム制御装置 | |
JPH0628183A (ja) | 情報処理装置のパイプライン処理機構 | |
JPS58149571A (ja) | 情報処理装置のベクトル演算処理方式 | |
JPH07160352A (ja) | プログラム実行方式 | |
JPS6234204A (ja) | 制御装置 | |
JP2001134431A (ja) | 関数の再入可能性判定方法 | |
JPH0877037A (ja) | ジャミング装置 | |
JPH0353348A (ja) | マイクロプログラムのデバッグ方式 | |
JPS63163543A (ja) | 情報処理装置 |