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

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

Info

Publication number
JPH04278636A
JPH04278636A JP6564891A JP6564891A JPH04278636A JP H04278636 A JPH04278636 A JP H04278636A JP 6564891 A JP6564891 A JP 6564891A JP 6564891 A JP6564891 A JP 6564891A JP H04278636 A JPH04278636 A JP H04278636A
Authority
JP
Japan
Prior art keywords
multiplexer
address
loop
register
microprogram
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
JP6564891A
Other languages
English (en)
Inventor
Shinya Makita
牧 田 信 也
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox 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 Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP6564891A priority Critical patent/JPH04278636A/ja
Publication of JPH04278636A publication Critical patent/JPH04278636A/ja
Pending legal-status Critical Current

Links

Abstract

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

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、マイクロコードを格納
するメモリを節約し、且つ処理速度を向上させたマイク
ロプログラム制御装置に関するものである。
【0002】
【従来の技術】マイクロプログラム制御は、シーケンス
制御の1方式として広く知られている。図2に、従来の
マイクロプログラム制御装置を示す。図2において、1
はマルチプレクサ、2はコンピュータ・コントロール・
ユニット、3はレジスタ、4はマルチプレクサ、5はマ
イクロプログラム・メモリ、6はパイプライン・レジス
タ、7はマイクロプログラム・カウンタ、8はインクリ
メンタ、S1〜S13は各種の信号である。
【0003】マイクロプログラムの各ステップでの処理
内容を表すマイクロコードは、マイクロプログラム・メ
モリ5に格納されている。そのマイクロコードは、マル
チプレクサ4から出力されるアドレス信号S12によっ
て読み出される。そのアドレス信号S12は、マルチプ
レクサ4に入力されるアドレス信号S8〜S11の中よ
り、コンピュータ・コントロール・ユニット2からの選
択信号S7に基づいて選択されたものである。マイクロ
プログラム・メモリ5から読み出されたマイクロコード
S13は、パイプライン・レジスタ6にラッチされる。 マイクロコードのデータ内容にはいろいろな種類のもの
があるが、その種類に応じて、マルチプレクサ1,コン
ピュータ・コントロール・ユニット2,レジスタ3ある
いはマルチプレクサ4へ送られる。
【0004】マルチプレクサ1に入力される複数の信号
S1は、マイクロプログラム制御装置の制御対象となっ
ている各種の装置,回路等が現在どのような動作状態で
あるかを表す信号(コンディション信号)である。コン
ディション信号は、或る特定の動作状態であることを表
す場合(「真」)と、そうでない場合(「偽」)とがあ
り、それぞれ「1」,「0」等の信号で表される。マル
チプレクサ1に対する選択信号S2は、いまマイクロプ
ログラム制御装置による制御を加えようとしている或る
特定の装置(あるいは回路等)に対応した信号であり、
その選択信号S2により、複数のコンディション信号S
1の中から該装置の動作状態を示しているものが選択さ
れる。それが、コンディション信号S3である。
【0005】コンピュータ・コントロール・ユニット2
は、パイプライン・レジスタ6から送られて来る信号S
4(マイクロコード)に基づき、レジスタ3,マルチプ
レクサ4等を制御する。マルチプレクサ4に対する信号
S7は、マルチプレクサ4に入力される複数個のアドレ
スS8〜S11の中から、1つを選択する作用をする。
【0006】レジスタ3は、ステップ数の管理をするこ
との外に、プログラムの途中でループ動作(同じステッ
プに留まるという動作。この動作については、後で詳し
く説明する)をするためにも用いられる。従って、レジ
スタ3に対する信号S5は、ループ動作をするためのア
ドレス信号S6(パイプライン・レジスタ6から送られ
て来る)を格納したりする際の指示であったりする。ル
ープ動作のためのアドレス信号は、S9としてマルチプ
レクサ4へ入力され、マルチプレクサ4での選択の候補
とされる。即ち、ループ動作を行えという場合には、S
9が選択される。なお、或るステップにてループ動作を
行うか否かは、コンディション信号S3が「真」か「偽
」かに依存するように定められる。例えば、「偽」の時
にループ動作を行うとか定める。
【0007】マイクロコードによっては、次にアクセス
するアドレスを直接指示するもの(イミィーディエイト
,IM)がある。S8はそのようなアドレス信号であり
、パイプライン・レジスタ6から直接マルチプレクサ4
に入力される。このアドレスが次々に選ばれ、そのアド
レスへのアクセスがなされる。
【0008】S11は、マルチプレクサ4から出力され
たアドレス信号S12に、プラス1した値のアドレス信
号である。これは、アドレス信号S12がインクリメン
タ8でプラス1された値にされ、それをマイクロプログ
ラム・カウンタ7にラッチし、しかる後、マルチプレク
サ4へ提供される。プログラムのステップが、ループ動
作により停滞するのではなく、次のステップへ進めとい
う場合には、マルチプレクサ4でアドレス信号S11が
選択される。なお、S10は、コマンドによって与えら
れる場合のアドレス信号である。
【0009】図3は、プログラムの進行過程の一部を示
す図である。K,L,Mはステップであり、プログラム
は矢印方向にK→L→Mと進む。ステップKの前の点線
およびステップMの後の点線は、そこに幾つかのステッ
プが続いていることを示している。ステップLは、コン
ディション信号S3によって(つまり条件によって)ル
ープ動作を行うか、行わずに次のステップへ進むかする
ステップである。ループ動作とは、次のステップへ進ま
ず同じステップに留まる動作のことであるから、自分よ
り発して自分に帰る図3のループ経路ロで表される。次
のステップMに進む動作は、直進経路イで表されている
【0010】図5は、マイクロプログラム・メモリ5に
格納されている従来のマイクロコードの例を示す図であ
る。左欄の「A」等は、それらが格納されているアドレ
スを示す。「CONT」は先へ進むという意味を持つマ
イクロコードであり、「CNDLOOP」はコンディシ
ョン信号の値によっては(例えば、「偽」の時)ループ
動作するというマイクロコードである。「LOOPSE
T,…,A,…」は、ループ動作を設定するマイクロコ
ードである。即ち、条件によってはループ動作をすると
いう意味のマイクロコードが格納してあるアドレス「A
」を、レジスタ3にセットするマイクロコードである。
【0011】通常、マイクロプログラム・メモリ5では
、プログラムの進行順に沿ったマイクロコードが、順に
大きくなるアドレスに格納される。図5の左欄のアドレ
スも、「A−2」→「A−1」→「A」→「A+1」と
順に大きくなっている。
【0012】プログラムの進行過程において、図3に示
したループ経路ロのようなループ動作を行わせるために
は、ループ動作の準備をする「LOOPSET」とルー
プ動作を実行する「CNDLOOP」の2つのマイクロ
コードを必要とする。
【0013】
【発明が解決しようとする課題】(問題点)しかしなが
ら、前記した従来のマイクロプログラム制御装置には、
次のような問題点があった。第1の問題点は、ループ動
作を実現するのに「LOOPSET」と「CNDLOO
P」の2つのマイクロコードを必要とするので、マイク
ロプログラム・メモリ5の中に、それらを格納する領域
を確保しなければならず、広い領域を消費してしまうと
いう点である。
【0014】第2の問題点は、処理速度が低下するとい
う点である。なぜなら、ループ動作するかしないかを決
めるステップの前に、そのループ動作の準備のための「
LOOPSET」のステップを、必ず経て来なければな
らないからである。もしループ動作が行われれば準備を
した甲斐があるが、ループ動作が行われなかったならば
1ステップ無駄に時間を費やしたことになる。例えば、
図3のステップLで、コンディション信号S3として最
初に「真」の信号が来れば、ループ経路ロを回ることな
く直進経路イを進んで行ってしまうから、時間をかけて
「LOOPSET」のステップを実行したことは、結局
無駄に時間を消費したことと同様になり、処理速度は低
下する。
【0015】本発明は、以上のような問題点を解決する
ことを課題とするものである。
【0016】
【課題を解決するための手段】前記課題を解決するため
、本発明のマイクロプログラム制御装置では、マイクロ
プログラム・メモリをアクセスするアドレスを選択する
マルチプレクサと、該選択されたアドレスをラッチし且
つ前記マルチプレクサにそれを出力するループ・レジス
タと、該選択されたアドレスによりマイクロプログラム
・メモリから読み出されたデータが所定の条件でループ
動作を行うものである場合に、該条件になった時にルー
プ・レジスタより出力されているアドレスを選択するよ
う前記マルチプレクサを制御するコンピュータ・コント
ロール・ユニットとを具えることとした。
【0017】
【作    用】マイクロプログラム・メモリをアクセ
スするのに使うアドレスは、マルチプレクサにて決める
が、決めたアドレスをループ・レジスタにラッチしてお
き、それを次にアクセスするアドレスを決める際に、候
補としてマルチプレクサに提供する。そして、ループ動
作をする(即ち、プログラムのステップを先に進めず、
同じステップに留まる)という時には、前記のようにし
て提供されているアドレスを選択する。
【0018】上記のようにすれば、ループ動作のための
アドレスの候補はループ・レジスタというハードウエア
により常にマルチプレクサに提供されているので、ルー
プ動作の準備のためにそのアドレスをレジスタ3にセッ
トするというマイクロコード「LOOPSET」を、マ
イクロプログラム・メモリ内に用意しておく必要がなく
なる。また、プログラム内で「LOOPSET」のステ
ップを実行する時間も不用となる。その結果、マイクロ
プログラム・メモリの容量を少なくすることが可能にな
ると共に、処理速度を速くすることが可能となる。
【0019】
【実施例】以下、本発明の実施例を図面に基づいて詳細
に説明する。図1に、本発明のマイクロプログラム制御
装置を示す。符号は図2のものに対応し、9はループ・
レジスタである。図2と対応する部分の動作は、従来と
略同様であるので、説明は省略する。構成上図2の従来
例と異なる点は、ループ・レジスタ9を追加した点にあ
る。
【0020】ループ・レジスタ9は、マルチプレクサ4
から出力されるアドレス信号S12を各ステップ毎にラ
ッチし、常にマルチプレクサ4に提供している(アドレ
ス信号S14)。仮に、或る時点でマルチプレクサ4か
ら出力されたアドレス信号S12を「A」とすると、「
A」はループ・レジスタ9にラッチされる。一方、アド
レス「A」によりアクセスされてマイクロプログラム・
メモリ5より読み出されたデータ(マイクロコード)は
、パイプライン・レジスタ6にラッチされる。
【0021】次に、そのデータはパイプライン・レジス
タ6より出力されるが、その時に合わせてループ・レジ
スタ9は、ラッチしていたアドレス「A」を、マルチプ
レクサ4へ出力する。ループ・レジスタ9より提供して
いるアドレスが、マルチプレクサ4にて選択されるのは
、ループ動作をする時である。逆に言うならば、ループ
動作に備えて、ループ・レジスタ9より常に所要のアド
レスが提供されている。
【0022】図4は、本発明でのマイクロコードを示す
図であり、符号は図5のものに対応している。図5と異
なる点は、「LOOPSET」というマイクロコードが
無い点である。それが無くても、本発明では次のように
してループ動作が行われる。
【0023】アドレス「A」に格納されているデータ(
マイクロコード)は「CNDLOOP」であり、コンデ
ィション信号S3が「偽」であった場合には、コンピュ
ータ・コントロール・ユニット2からの選択信号S7に
より、マルチプレクサ4にてアドレス信号S14が選択
される。ところが、その時のアドレス信号S14として
は、前記したように先のアドレス「A」が来ている。 これが選択されることにより、再び同じアドレスがアク
セスされるから、同じステップに留まることになる。即
ち、ループ動作が行われる。「真」であった場合には「
A」は選択されず、ステップを先へ進めるアドレスの方
(例、アドレス信号S11)が選択される。
【0024】なお、レジスタ3は、本発明ではループ動
作をするアドレス(A)のラッチには用いず、本来の目
的であるステップ数の管理に用いられる。レジスタ3に
余裕が出来るから、更に複雑なシーケンスを組むことが
可能となる。
【0025】
【発明の効果】以上述べた如く、本発明のマイクロプロ
グラム制御装置によれば、次のような効果を奏する。 ■  マイクロプログラム・メモリの容量が少なくて済
む。図4と図5との対比から分かるように、本発明では
、「LOOPSET」というマイクロコードを必要とし
ないので、その分だけマイクロプログラム・メモリの容
量が少なくて済む。 ■  処理速度が速くなる。ループ動作をさせるには、
従来は「LOOPSET」というステップを必ず経る必
要があったが、本発明では不用となる。従って、そのス
テップに要する時間だけ処理速度が速くなる。
【図面の簡単な説明】
【図1】本発明のマイクロプログラム制御装置
【図2】
従来のマイクロプログラム制御装置
【図3】プログラム
の進行過程の一部を示す図
【図4】本発明でのマイクロ
コードを示す図
【図5】従来のマイクロコードの例を示
す図
【符号の説明】
1    マルチプレクサ 2    コンピュータ・コントロール・ユニット3 
   レジスタ 4    マルチプレクサ 5    マイクロプログラム・メモリ6    パイ
プライン・レジスタ 7    マイクロプログラム・カウンタ8    イ
ンクリメンタ 9    ループ・レジスタ

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】  マイクロプログラム・メモリをアクセ
    スするアドレスを選択するマルチプレクサと、該選択さ
    れたアドレスをラッチし且つ前記マルチプレクサにそれ
    を出力するループ・レジスタと、該選択されたアドレス
    によりマイクロプログラム・メモリから読み出されたデ
    ータが所定の条件でループ動作を行うものである場合に
    、該条件になった時にループ・レジスタより出力されて
    いるアドレスを選択するよう前記マルチプレクサを制御
    するコンピュータ・コントロール・ユニットとを具えて
    いることを特徴とするマイクロプログラム制御装置。
JP6564891A 1991-03-06 1991-03-06 マイクロプログラム制御装置 Pending JPH04278636A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6564891A JPH04278636A (ja) 1991-03-06 1991-03-06 マイクロプログラム制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6564891A JPH04278636A (ja) 1991-03-06 1991-03-06 マイクロプログラム制御装置

Publications (1)

Publication Number Publication Date
JPH04278636A true JPH04278636A (ja) 1992-10-05

Family

ID=13293039

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6564891A Pending JPH04278636A (ja) 1991-03-06 1991-03-06 マイクロプログラム制御装置

Country Status (1)

Country Link
JP (1) JPH04278636A (ja)

Similar Documents

Publication Publication Date Title
JP3237858B2 (ja) 演算装置
JPH06162228A (ja) データフロープロセッサ装置
US4812970A (en) Microprogram control system
KR100237642B1 (ko) 파이프라인 정지회로를 구비한 프로세서
JPH04278636A (ja) マイクロプログラム制御装置
JPH04287125A (ja) 情報処理装置
JPH06274408A (ja) メモリインタフェイス装置
KR880000994B1 (ko) 마이크로 프로그램 제어방식
JPS58201138A (ja) デイジタル信号処理回路
EP1251431A2 (en) Reduction of bank switching instructions in main memory of data processing apparatus having main memory and plural memory banks
JPH01273132A (ja) マイクロプロセッサ
JPH0644389A (ja) データ駆動型情報処理装置
JPH04184535A (ja) 並列演算装置
JPH0644066A (ja) 情報処理装置
JPS6116334A (ja) デ−タ処理装置
JP2747353B2 (ja) アドレス発生装置
JPS6398735A (ja) マイクロ制御装置
JPH0239325A (ja) マイクロ・シーケンス制御方式
JPS619728A (ja) マイクロプログラム制御装置
JPH01175633A (ja) データ処理装置
JPH04245537A (ja) 情報処理装置
JPS6375834A (ja) マイクロ命令選択装置
JPH0812600B2 (ja) 並列データ処理制御方法
JPH01142938A (ja) マイクロプログラム装置
JPH0895781A (ja) プロセッサの算術論理装置