米国特許情報 | 欧州特許情報 | 国際公開(PCT)情報 | Google の米国特許検索
 
     特許分類
A 農業
B 衣類
C 家具
D 医学
E スポ−ツ;娯楽
F 加工処理操作
G 机上付属具
H 装飾
I 車両
J 包装;運搬
L 化学;冶金
M 繊維;紙;印刷
N 固定構造物
O 機械工学
P 武器
Q 照明
R 測定; 光学
S 写真;映画
T 計算機;電気通信
U 核技術
V 電気素子
W 発電
X 楽器;音響


  ホーム -> 計算機;電気通信 -> 日本電気株式会社

発明の名称 マイクロプログラム制御装置
発行国 日本国特許庁(JP)
公報種別 公開特許公報(A)
公開番号 特開平9−16395
公開日 平成9年(1997)1月17日
出願番号 特願平7−191152
出願日 平成7年(1995)7月4日
代理人 【弁理士】
【氏名又は名称】松本 正夫
発明者 東出 朋史
要約 目的
ハードウェアの増加を極力抑えつつ、各ユーザの仕様に合わせた命令を提供することができるマイクロプログラム制御装置を提供する。

構成
マイクロ命令にマイクロROM101とマイクロROM102の切り換えを行うためのデータビットを少なくとも2個設け、第1のデータビットの内容によりマイクロROM101とマイクロROM102の切り換えを行う手段と、第2のデータビットの内容により、マイクロROM102の開始アドレスを指定する手段と、マイクロROMを切り換えるか否かを設定する手段とから構成される。
特許請求の範囲
【請求項1】 マイクロ命令記憶手段にあらかじめ記憶されたマイクロ命令により演算処理を制御するマイクロコンピュータのマイクロプログラム制御装置において、マイクロ命令の切り換えを指定する少なくとも2つのデータビットを設けられた第一のマイクロ命令を記憶する第一のマイクロ命令記憶手段と、前記第一のマイクロ命令と異なる部分のみ記述された第二のマイクロ命令を記憶する第二のマイクロ命令記憶手段と、第一及び第二のマイクロ命令記憶手段のアドレスを指定する第一のアドレス指定手段と、前記データビットの内容により前記第一と第二のマイクロ命令記憶手段の切り換えを行う第一の切換手段と、前記データビットの内容により前記第二のマイクロ命令記憶手段の開始アドレスを指定する第二のアドレス指定手段と、前記第一と第二のマイクロ命令記憶手段の切り換えを行うか否かを設定する第二の切換手段と、切り換え後の前記第一または第二のマイクロ命令記憶手段の内容を格納する手段とを具備することを特徴としたマイクロプログラム制御装置。
【請求項2】 前記第二の切換手段は、入力端子を通して外部から入力された信号によって、第一と第二のマイクロ命令記憶手段の切り換えを行うことを特徴とする請求項1に記載のマイクロプログラム制御装置。
【請求項3】 前記第二のマイクロ命令を制御信号群のみによって構成すると共に、第二のアドレス指定手段により指定された開始アドレスより順次インクリメントして第二のマイクロ命令に対するアドレスを設定する手段を具備することを特徴とする請求項1または請求項2に記載のマイクロプログラム制御装置。
発明の詳細な説明
【0001】
【産業上の利用分野】本発明は、マイクロ命令により演算処理を制御するマイクロコンピュータのマイクロプログラム制御装置に関し、特にユーザごとに設定されたマイクロ命令をマイクロROMに格納して搭載するマイクロプログラム制御装置に関する。
【0002】
【従来の技術】マイクロコンピュータの命令の中には、レジスタ間のデータの転送等を行う一般的な命令の他に、特殊な用途、例えばFAXの画像データの圧縮、伸張等に用いられる命令がある。後者の命令の中には、それを使用するユーザによって命令の仕様が多少異なることがあり、単一の仕様の命令ではすべてのユーザを満足させることができない。
【0003】一方、すべてのユーザの仕様に対応して必要なすべての命令を設けることも考えられるが、すべてのユーザの仕様に対応しようとするとマイクロ命令が増えることとなり、その分マイクロ命令を格納するマイクロROMの面積が増大し、ハードウェアが増加してしまう。そのため、ユーザごとに仕様を対応させたマイクロ命令を格納したマイクロROMを用意し、各ユーザ毎にマイクロROMを入れ換えて対応する必要がある。
【0004】しかし、各ユーザに対応してマイクロROMごとすべてのマイクロ命令を入れ換えるとすると、共通に使用することができるマイクロ命令に何等かの機能の追加、変更が入った場合、1つ1つのマイクロROMに対して機能の追加、変更を行わなければならず経済的負担が大きい。このような課題を解決する方法として、仕様の異なるマイクロ命令のみを変更するものがある。マイクロ命令の一部のみを変更する技術として、例えば、特開平4−369723号公報に記載された技術がある。同公報に開示されているマイクロプログラム制御装置の構成を図6に示す。
【0005】図6に示すマイクロプログラム制御装置は、マイクロ命令を予め記憶した第一のマイクロ命令記憶手段としてのマイクロROM601と、機能の追加したマイクロ命令や変更したマイクロ命令を格納する第二のマイクロ命令記憶手段としてのマイクロROM602と、マイクロROM601から読みだされたマイクロ命令603を保持するマイクロ命令レジスタ604と、マイクロ命令603のうち演算器を制御する演算制御マイクロ命令605をデコードするマイクロデコーダ606と、マイクロ命令603が格納されているエントリを指定するマイクロアドレス608を格納するマイクロポインタ609と、マイクロポインタ609に格納されているマイクロアドレスを+1するインクリメンタ610と、マイクロ命令603のうち次のマイクロアドレスを指定するマイクロ次アドレス611を格納するマイクロ次アドレスレジスタ612と、マイクロ命令でサブルーチンを実行する場合の戻り先のマイクロアドレスを格納するマイクロスタックレジスタ613と、上記機能の追加したマイクロ命令や変更したマイクロ命令をマスクするためのマスクアドレスを格納するマスクアドレスレジスタ614と、マスクアドレスに対応するマイクロアドレスを格納するマイクロアドレスレジスタ615と、マスクアドレスレジスタ614のマスクアドレスとマイクロアドレスバス620に出力されたマイクロアドレスとを比較する比較回路616と、マイクロ命令を切り換えるか否かを設定するための制御信号を格納する制御レジスタ617と、一致信号621とマイクロ命令切り換えイネーブル信号622との論理積をとるANDゲート618と、マイクロアドレス選択信号(以下、選択信号という)623によりマイクロアドレスレジスタ615のマイクロアドレスまたはマイクロアドレスバス620のマイクロアドレスを選択してマイクロポインタ609に入力する選択回路619とから構成されている。
【0006】図7は制御レジスタ617の構成を示す図である。図7において、701はマイクロ命令を切り換えるか否かを設定するマイクロ命令切り換えイネーブルビット(以下、切り換えイネーブルビットという)である。この切り換えイネーブルビット701の出力は、マイクロ命令切り換えイネーブル信号622に接続している。
【0007】次に、上記従来のマイクロプログラム制御装置の動作について説明する。まず、切り換えイネーブルビット701がマイクロ命令を切り換えるように設定されている場合の動作について説明する。
【0008】命令コードは図示していない外部メモリからフェッチされ、図示していない命令デコーダにより解読される。デコード結果によってその命令のマイクロアドレスが生成され、マイクロアドレスバス620に出力される。このマイクロアドレスとマスクアドレスレジスタ614の内容が比較回路616で比較される。
【0009】一致信号621とマイクロ命令切り換え信号622のANDがとられ、一致信号621が発生していれば切り換えイネーブルビット701はマイクロ命令を切り換えるように設定されているので、選択回路619は選択信号623によりマイクロアドレスレジスタ615の出力を選択してマイクロポインタ609に入力する。この時のマイクロポインタ609に格納されたマイクロアドレス608によってマイクロRAM602がアクセスされ、マイクロアドレス608に対応するマイクロ命令603がマイクロRAM602から出力されマイクロ命令レジスタ604に格納される。
【0010】一致信号621が発生していなければ選択信号623によりマイクロアドレスバス620のマイクロアドレスを選択しマイクロポインタ609に入力する。この時のマイクロポインタ609に格納されたマイクロアドレス608によってマイクロROM601がアクセスされ、マイクロアドレス608に対応するマイクロ命令603がマイクロROM601から出力されマイクロ命令レジスタ604に格納される。
【0011】続いて、切り換えイネーブルビット701がマイクロ命令を切り換えないように設定されている場合の動作について説明する。命令コードは図示していない外部メモリからフェッチされ、図示していない命令デコーダにより解読される。デコード結果によってその命令のマイクロアドレスが生成され、マイクロアドレス620に出力される。このマイクロアドレスとマイクロアドレスレジスタ614の内容が比較回路616で比較される。
【0012】一致信号621とマイクロ命令切り換え信号622のANDがとられ、切り換えイネーブルビット701はマイクロ命令を切り換えないように設定されているので、一致信号621が発生しているか否かに拘らず、選択回路619は選択信号623によりマイクロアドレスバス620のマイクロアドレスを選択してマイクロポインタ609に入力する。この時のマイクロポインタ609に格納されたマイクロアドレス608によってマイクロROM601がアクセスされ、マイクロアドレス608に対応するマイクロ命令603がマイクロROM601から出力されマイクロ命令レジスタ604に格納される。
【0013】
【発明が解決しようとする課題】上述したように、従来の一種類のマイクロプログラムしか持たないマイクロコンピュータでは、各ユーザごとに仕様の異なる命令のすべてに対応することができない。
【0014】また、すべてのユーザの仕様に対応して必要なすべての命令を設けることも考えられるが、すべてのユーザの仕様に対応しようとするとマイクロ命令が増えることとなり、その分マイクロ命令を格納するマイクロROMの面積が増大し、ハードウェアが増加してしまう。また、ユーザごとに仕様を対応させたマイクロ命令を格納したマイクロROMを用意し、各ユーザ毎にマイクロROMを入れ換えて対応する従来のマイクロ命令の変更方式では、一部のマイクロ命令のみを変更する場合にすべてのマイクロROMを更新しなければならず、手間がかかる。
【0015】また、仕様の異なるマイクロ命令のみを変更する従来のマイクロプログラム制御装置では、変更したいマイクロ命令のアドレスを比較して一致した時に切り換えているので、変更するマイクロ命令が複数ある場合、マスクアドレスレジスタ、マイクロアドレスレジスタ、比較回路がその個数分必要となりハードウェアが大きくなってしまう。
【0016】本発明は、これらの課題を解決するためなされたもので、ハードウェアの増加を極力抑えつつ、各ユーザの仕様に合わせた命令を提供することができるマイクロプログラム制御装置を提供することを目的とする。
【0017】
【課題を解決するための手段】上記の目的を達成するため、本発明のマイクロプログラム制御装置は、マイクロ命令記憶手段にあらかじめ記憶されたマイクロ命令により演算処理を制御するマイクロコンピュータのマイクロプログラム制御装置において、マイクロ命令の切り換えを指定する少なくとも2つのデータビットを設けられた第一のマイクロ命令を記憶する第一のマイクロ命令記憶手段と、前記第一のマイクロ命令と異なる部分のみ記述された第二のマイクロ命令を記憶する第二のマイクロ命令記憶手段と、第一及び第二のマイクロ命令記憶手段のアドレスを指定する第一のアドレス指定手段と、前記データビットの内容により前記第一と第二のマイクロ命令記憶手段の切り換えを行う第一の切換手段と、前記データビットの内容により前記第二のマイクロ命令記憶手段の開始アドレスを指定する第二のアドレス指定手段と、前記第一と第二のマイクロ命令記憶手段の切り換えを行うか否かを設定する第二の切換手段と、切り換え後の前記第一または第二のマイクロ命令記憶手段の内容を格納する手段とを備える構成としている。
【0018】また、他の態様では、前記第二の切換手段は、入力端子を通して外部から入力された信号によって、第一と第二のマイクロ命令記憶手段の切り換えを行うように構成している。
【0019】また、他の態様では、前記第二のマイクロ命令を制御信号群だけで構成すると共に、第二のアドレス指定手段により指定された開始アドレスより順次インクリメントして第二のマイクロ命令に対するアドレスを設定する手段を備える構成としている。
【0020】
【作用】本発明では、第一のマイクロ命令に第一と第二のマイクロ命令記憶手段の切り換えを行うためのデータビットを少なくとも2個設け、第1のデータビットの内容により第一と第二のマイクロ命令記憶手段の切り換えを行うとともに、第2のデータビットの内容により、第二のマイクロ命令記憶手段の開始アドレスを指定そている。従って、従来のマイクロ命令の切り換え方式に較べて、マスクアドレスレジスタ、マイクロアドレスレジスタ、比較回路が不要となり、変更するマイクロ命令が複数ある場合にも、ハードウェアの増加を削減することができる。
【0021】
【実施例】以下、本発明の実施例の詳細を図面に基づき説明する。図1は、本発明の第1の実施例によるマイクロプログラム制御装置を示す図である。
【0022】図1に示す装置は、マイクロ命令の記憶手段としてのマイクロROM101、マイクロROM102と、マイクロROM101、マイクロROM102から読みだされたマイクロ命令103、113を格納するMSTL104と、デコーダ105と、ANDゲート106と、フリップフロップ107と、ORゲート108と、インストラクションデコーダ109と、割り込み発生時のマイクロアドレスを指定するアドレス指定回路110と、マイクロアドレスを格納するMIR111と、マイクロROM切り換えイネーブルビット(以下、イネーブルビットという)112と、選択回路125、126、127とから構成されており、インストラクションデコーダ109はマイクロ開始アドレス114を、割り込み発生時のマイクロアドレスを指定する回路110はマイクロ開始アドレス115を出力する。
【0023】図2にマイクロROM101の構成を示す。同図に示すように、マイクロROM101の1ワードは、制御信号群CNTL、ネクストアドレスNXTA、切り換えビットP131、P132で構成されている。切り換えビットP131の出力は切り換え信号123に接続している。切り換えビットP132の出力はアドレス指定信号124に接続している。
【0024】図3にマイクロROM102の構成を示す。マイクロROM102の1ワードは、制御信号群CNTL、ネクストアドレスNXTAで構成されている。
【0025】デコーダ105は、入力されたアドレス指定信号124の値によりアドレス信号119、120のどちらかを有効にする。
【0026】イネーブルビット112の出力はイネーブル信号118に接続されている。
【0027】ANDゲート106には、イネーブル信号118と切り換え信号123とが入力されており、選択セット信号122を出力する。ORゲート108は、リセット信号reset128とMEND129とが入力され選択リセット信号121を出力する。フリップフロップ107は、選択信号117を出力し、選択セット信号122が“1”の場合に選択信号117は“1”に、選択リセット信号121が“1”の場合に選択信号117は“0”となる。リセットがかかるとreset128が“1”となるため選択リセット信号121が“1”となり選択信号117は“0”となる。選択回路127は、選択信号117が“0”の時に入力信号であるマイクロ命令103を、選択信号117が“1”の時にはマイクロ命令113を、MSTL104に入力する。選択回路126は、選択信号117が“0”の場合マイクロアドレスをマイクロROM101に、“1”の場合マイクロアドレスをマイクロROM102に受け渡す。選択回路125は、インストラクションデコーダ109の出力であるマイクロ開始アドレス114と、割り込み発生時のマイクロアドレスを指定するアドレス指定回路110の出力であるマイクロ開始アドレス115とネクストアドレス116のうちどれか1つを選択してMIR111に出力する。
【0028】まず、イネーブルビット112がマイクロROMを切り換えるように設定されている場合、すなわちイネーブル信号118=“1”の場合の動作について説明する。
【0029】命令コードは図示していない外部メモリからフェッチされ、インストラクションデコーダ109により解読される。デコード結果によってその命令のマイクロアドレスが生成されマイクロ開始アドレス114が出力され、選択回路125により選択されMIR111に格納される。MIR111は、マイクロ開始アドレス114をマイクロアドレス130として出力する。選択信号117が“0”であるため選択回路126はマイクロアドレス130をマイクロROM101に受け渡す。
【0030】この時、このマイクロアドレスに格納されたマイクロROM101の内容の切り換えビットP131が“1”の場合、イネーブル信号118は“1”であるのでANDゲート106の出力である選択セット信号122は“1”となる。よって選択信号117が“1”となり、選択回路127によりマイクロROM102の出力であるマイクロ命令113がMSTL104に格納され、その内容により演算処理が行われる。マイクロROM102の開始アドレスは、切り換えビットP132の内容によりアドレス信号119、120のどちらかが有効になりそれによって指定される。マイクロ命令113がMSTL104に格納されるのと同時に次のマイクロ命令のアドレスとしてネクストアドレス116が出力される。ネクストアドレス116は、選択回路125により選択されMIR111に格納される。MIR111は、ネクストアドレス116をマイクロアドレス130として出力する。選択信号117は“1”になっているので選択回路126はマイクロアドレス130をマイクロROM102に受け渡し、マイクロアドレス130に格納されたマイクロ命令113がMSTL104に格納される。以下、現在実行している命令の最終ステップ(以下、単に最終ステップという)まで上記動作が繰り返される。
【0031】最終ステップの演算処理が実行されると、MEND129が“1”となる。MEND129が“1”となると、選択リセット信号121が“1”となり、選択信号117は“0”となる。選択信号117が“0”となると選択回路126、127はマイクロROM101側を選択する。P131が“0”の場合は、ANDゲート106の出力である選択セット信号122が“0”となるため、選択信号117は“0”のままであり、選択回路127によりマイクロROM101の出力であるマイクロ命令103がMSTL104に格納され、同時にネクストアドレス116が出力される。ネクストアドレス116は選択回路125により選択されMIR111に格納される。MIR111はネクストアドレス116をマイクロアドレス130として出力する。選択信号117は“0”なので選択回路126はマイクロアドレス130をマイクロROM101に受け渡し、マイクロアドレス130に格納されたマイクロ命令130がMSTL104に格納される。以下、最終ステップまで繰り返される。
【0032】次に、イネーブルビット112がマイクロROMを切り換えないように設定されている場合、すなわちイネーブル信号118=“0”の場合の動作について説明する。
【0033】命令コードがインストラクションデコーダ109により解読され、マイクロROM101のマイクロアドレスが指定されるまではイネーブルビット112がマイクロROMを切り換えるように設定されている場合と同様である。イネーブル信号118は“0”であるので、ANDゲート106の出力である選択セット信号122は“0”であり、選択信号117は“0”のままである。よって、切り換えビットP131の値にかかわらずマイクロROM101側が選択される。
【0034】割り込みが発生した場合、割り込み発生時のマイクロアドレスを指定する回路110はマイクロ開始アドレス115を出力する。マイクロ開始アドレス115は、選択回路125により選択され、MIR111に格納される。MIR111は、マイクロ開始アドレス115をマイクロアドレス130として出力する。選択信号117が“0”であるため選択回路126はマイクロアドレス130をマイクロROM101に受け渡す。
【0035】この時、このマイクロアドレスに格納されたマイクロROM101の内容の切り換えビットP131が“1”の場合、イネーブル信号118が“1”ならばANDゲート106の出力である選択セット信号122は“1”となる。よって、選択信号117が“1”となり、選択回路127によりマイクロROM102の出力であるマイクロ命令113がMSTL104に格納され、その内容により演算処理が行われる。マイクロROM102の開始アドレスは、切り換えビットP132の内容によりアドレス信号119、120のどちらかが有効になりそれによって指定される。マイクロ命令113がMSTL104に格納されるのと同時に、次のマイクロ命令のアドレスとネクストアドレス116が出力される。ネクストアドレス116は、選択回路125により選択され、MIR111に格納される。MIR111は、ネクストアドレス116をマイクロアドレス130として出力する。選択信号117は“1”になっているので選択回路126はマイクロアドレス130をマイクロROM102に受け渡し、マイクロアドレス130に格納されたマイクロ命令113がMSTL104に格納される。以下、最終ステップまで上記動作が繰り返される。
【0036】最終ステップの演算処理が実行されると、MEND129が“1”となる。MEND129が“1”となると、選択リセット信号121が“1”となり、選択信号117は“0”となる。選択信号117が“0”となると選択回路126、127はマイクロROM101側を選択する。切り換えビットP131が“0”の場合は、ANDゲート106の出力である選択セット信号122が“0”となるため、選択信号117は“0”のままであり、選択回路127によりマイクロROM101の出力であるマイクロ命令103がMSTL104に格納され、同時にネクストアドレス116が出力される。ネクストアドレス116は選択回路125により選択されMIR111に格納される。MIR111はネクストアドレス116をマイクロアドレス130として出力する。選択信号117は“0”なので選択回路126はマイクロアドレス130をマイクロROM101に受け渡し、マイクロアドレス130に格納されたマイクロ命令103がMSTL104に格納される。以下、最終ステップまで繰り返される。
【0037】イネーブル信号118が“0”の場合は、ANDゲート106の出力である選択セット信号122は“0”であり、選択信号117は“0”のままである。よって、切り換えビットP131の値にかかわらずマイクロROM101側が選択される。
【0038】次に、本発明の第2の実施例を図4を用いて説明する。同図に示す第2の実施例では、マイクロROM102の構成を変えることにより第1の実施例よりハードウエアの増加分を少なくしている。なお、実施例2の構成は実施例1とほぼ同様の構成であるのでここでは実施例1と異なる部分についてのみ説明する。
【0039】図1に示した装置に対し図4に示す装置では、イネーブルビット112、デコーダ105がなく、代わりに入力端子ENBL305、マイクロアドレスレジスタ301、インクリメンタ303となっている。また、図1の選択回路125の入力にマイクロアドレスレジスタ301からの出力であるマイクロアドレス304が追加され、選択回路306になっている。入力端子ENBL305の入力はイネーブル信号118に接続されている。
【0040】図5はマイクロROM302の構成を示す。マイクロROM302の1ワードは、制御信号群CNTLだけで構成されており、ネクストアドレスNXTAは削除されている。これにより、実施例1のマイクロROM102より面積が小さくなっている。
【0041】入力端子ENBL305の入力が“1”の場合、つまりマイクロROMを切り換える場合で切り換えビットP131が“0”の場合と、入力端子ENBL305の入力が“0”の場合、つまりマイクロROMを切り換えない場合の動作については実施例1と同様であるので、入力端子ENBL305の入力が“1”で、切り換えビットP131が“1”の場合について説明する。
【0042】命令コードがフェッチされてからマイクロROM101に受け渡されるまでは、選択回路126が選択回路306に変わっていることを除き、第1の実施例と同様である。このマイクロアドレスに格納されたマイクロROM101の内容の切り換えビットP131が“1”であり、イネーブル信号118は“1”であるから、ANDゲート106の出力である選択セット信号122は“1”となる。よって、選択信号117が“1”となり、選択回路127によりマイクロROM302が選択される。
【0043】マイクロROM302は、マイクロ命令113としてDMMYを出力する。このマイクロ命令113がMSTL104に格納され、その内容により演算処理が行われる。マイクロアドレスレジスタ301は、切り換えビットP132の値によって対応しているビットがセット/リセットされ、次のマイクロ命令のアドレスであるマイクロアドレス304を生成し、出力する。マイクロアドレス304は、選択回路306により選択され、MIR111に格納される。MIR111は、マイクロアドレス304をマイクロアドレス130として出力する。選択信号117は“1”になっているので、選択回路126はマイクロアドレス130をマイクロROM302に受け渡し、マイクロアドレス130に格納されたマイクロ命令113がMSTL104に格納される。マイクロROM302に受け渡されたマイクロアドレス130は、インクリメンタ303に入力され、1インクリメントされた値がマイクロアドレスレジスタ301に格納され、ネクストアドレスとして出力される。以下、最終ステップまで上記動作が繰り返される。最終ステップ時の動作は第1の実施例と同様である。
【0044】
【発明の効果】以上説明したように、本発明のマイクロプログラム制御装置では、仕様の異なる命令のマイクロプログラムを切り換えることにより、各ユーザの仕様に合わせた命令を提供することができる。
【0045】また、従来のマイクロ命令の切り換え方式に較べて、マスクアドレスレジスタ、マイクロアドレスレジスタ、比較回路を用いてないことにより、変更するマイクロ命令が複数ある場合にも、ハードウェアの増加を削減することができる。




 

 


     NEWS
会社検索順位 特許の出願数の順位が発表

URL変更
平成6年
平成7年
平成8年
平成9年
平成10年
平成11年
平成12年
平成13年


 
   お問い合わせ info@patentjp.com patentjp.com   Copyright 2007-2013