JPH0145650B2 - - Google Patents

Info

Publication number
JPH0145650B2
JPH0145650B2 JP7448883A JP7448883A JPH0145650B2 JP H0145650 B2 JPH0145650 B2 JP H0145650B2 JP 7448883 A JP7448883 A JP 7448883A JP 7448883 A JP7448883 A JP 7448883A JP H0145650 B2 JPH0145650 B2 JP H0145650B2
Authority
JP
Japan
Prior art keywords
microinstruction
storage means
interrupt
output
address
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
Application number
JP7448883A
Other languages
English (en)
Other versions
JPS59200343A (ja
Inventor
Shinji Ooga
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.)
NEC Corp
Original Assignee
Nippon Electric 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 Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP7448883A priority Critical patent/JPS59200343A/ja
Publication of JPS59200343A publication Critical patent/JPS59200343A/ja
Publication of JPH0145650B2 publication Critical patent/JPH0145650B2/ja
Granted legal-status Critical Current

Links

Description

【発明の詳細な説明】 本発明はマイクロプログラム制御装置に関す
る。
マイクロプログラムを用いた情報処理装置が、
マイクロ命令を実行中に、例えば主記憶からのエ
ラーの報告、他プロセツサからの通信要求等の非
同期事象(フアームウエア割込み)が発生し、現
在実行中のマイクロ命令シーケンスを変更(中
断)する必要がある場合には、一般にハードウエ
アにより強制的に次に実行すべきマイクロ命令を
格納している特定のアドレスを発生させてそのア
ドレスにトラツプさせる。
この特定のアドレスには、非同期事象を処理す
るためのマイクロ命令群すなわち割込処理ルーチ
ンの先頭のマイクロ命令が格納されている。この
割込処理ルーチンは、割込原因レジスタの内容を
読取つてその内容を解析し、必要な処理を行な
う。割込処理が終ると別のルーチンに制御を渡す
かまたは非同期事象を検出たルーチンに戻る。
このような非同期事象の割込処理を行なうため
に、従来装置においては、前述のようにハードウ
エアによる割込用トラツプアドレス発生回路を用
いて特定のトラツプアドレスにトラツプさせてい
る。
しかし、このトラツプアドレスはハードウエア
により直接発生されるので固定しており、そのた
めマイクロプログラムを作成する上で柔軟性に欠
けるという欠点を有している。
本発明の目的は、割込用トラツプアドレス発生
回路を用いないで、非同期事象の割込み処理する
柔軟性に富んだマイクロプログラム制御装置を提
供することにある。
本発明の装置は、マイクロプログラムを記憶す
る制御記憶手段と、前記制御記憶手段から読出さ
れたマイクロ命令を格納するマイクロ命令格納手
段と、マイクロ命令実行ごとに前記マイクロ命令
格納手段内の次に実行すべきマイクロ命令アドレ
スを含む第1のフイールドの内容に1を加算する
加算手段と、前記加算手段の加算結果を格納する
加算結果格納手段と、非同期事象の原因情報を格
納保持する事象原因格納手段と、前記マイクロ命
令格納手段内の前記非同期事象の割込の受付を制
御する情報を含む第2のフイールドが所定の値で
しかも前記事象原因格納手段の内容が所定の値で
あるときは前記加算結果格納手段の出力を選択し
前記マイクロ命令格納手段内の前記第2のフイー
ルドが所定の値でないときまたは前記事象原因格
納手段の内容が所定の値でないときには前記マイ
クロ命令格納手段内の前記第1のフイールドの出
力を選択する選択手段とを有し、前記選択手段の
出力を用いて前記制御記憶手段内に記憶されてい
るマイクロ命令のアドレスを指定して次に実行す
べきマイクロ命令を前記マイクロ命令格納手段に
読出す。
次に、図面を参照して本発明を詳細に説明す
る。
情報処理システムの中には一般に、第1図に示
すように、複数のプロセツサP0,P1,P2……が
含まれており、今プロセツサP0を例にとると、
このプロセツサP0に対しては他のプロセツサP1
P2……がそれぞれラインl1,l2……を介して通信
要求を出す。これらは必要に応じて非同期割込み
として処理される。そればかりでなく、プロセツ
サP0は、その内部に例えばデータレジスタのパ
リテイエラー等に対する非同期事象検出回路を含
みそれが検出されると同様に非同期割込みとして
処理される。
本発明はかゝる非同期割込みを柔軟に処理する
装置を提供する。
第2図を参照すると、本発明の一実施例は、制
御記憶(CS)1、マイクロ命令レジスタ(MIR)
2、1加算回路3、アドレスレジスタ(AR)
4、選択回路5、割込原因レジスタ回路
(INTR)6およびアンドゲート7を含んでいる。
本実施例の動作は下記の通りである。
実行すべきマイクロ命令は制御記憶(CS)1
から読出され、マイクロ命令レジスタ(MIR)
2にロードされる。
各マイクロ命令には、次に実行すべきマイクロ
命令の制御記憶(CS)1中におけるアドレスを
指示するネクストアドレスフイールド(NA)
と、非同期割込みの許可/不許可を制御する割込
制御フイールド(T)とを含む。
マイクロ命令レジスタ(MIR)2のネクスト
アドレスフイールド(NA)の部分の出力は、選
択回路5の一方の入力および1加算回路3の入力
に供給される。
1加算回路3は供給されたネクストアドレスフ
イールド(NA)の内容に1を加算し、これをア
ドレスレジスタ(AR)4に格納し、これを選択
回路5のもう一方の入力に供給する。
一方、割込制御フイールド(T)(本実施例に
おいては1ビツトとする)の部分の出力(Tビツ
ト出力)は、割込原因レジスタ回路(INTR)6
の出力とともに、アンドゲート7に供給される。
このアンドゲート7の出力は選択制御信号として
選択回路5に供給されている。
選択回路5は、アンドゲート7の出力が“1”
の場合にはアドレスレジスタ(AR)4の出力を
選択し、“0”の場合にはマイクロ命令レジスタ
(MIR)2のネクストアドレスフイールド(NA)
の部分の出力を選択する。そして選択して出力を
制御記憶(CS)1へ、読出しアドレス指定情報
として供給し、これにより、次に実行すべきマイ
クロ命令をマイクロ命令レジスタ(MIR)2に
読出す。
さて、今割込原因レジスタ回路(INTR)6の
中に非同期事象原因による割込要求が全くない場
合には、回路(INTR)6の出力は“0”にな
る。
従つて、割込制御フイルド(T)の内容が割込
不許可を表わす“0”であるか、または、非同期
事象による割込要求が全くない場合には、選択回
路5は現在マイクロ命令レジスタ(MIR)2に
読出されているマイクロ命令のネクストアドレス
フイールド(NA)の内容を選択し、これにより
次に実行すべきマイクロ命令のアドレスを決定す
る。
こうして、この場合には従来と同様に、各マイ
クロ命令のネクストアドレスフイールド(NA)
で指定される制御記憶(CS)1のアドレスにあ
るマイクロ命令がつぎつぎに読出されて実行さ
れ、かくしてマイクロプログラムによつて指定さ
れたシーケンスに従つて処理が進行する。
さて、割込原因レジスタ回路(INTR)6の中
に非同期原因に対応する割込要求が登録され、か
つ、マイクロ命令レジスタ(MIR)2に読出さ
れたマイクロ命令の割込制御フイールド(T)が
“1”で割込許可を指示している場合には、アン
ドゲート7の出力は“1”となり、選択回路5は
アドレスレジスタ(AR)4の出力を選択し、こ
の結果、次に実行すべきマイクロ命令として現在
実行中のマイクロ命令の次のアドレスにあるマイ
クロ命令が読出される。従つて、このマイクロ命
令を非同期割込を処理するマイクロプログラムル
ーチンの最初のマイクロ命令(または処理ルーチ
ンの開始番地にジヤンプするジヤンプ命令)とし
ておくことにより、通常のマイクロプログラムシ
ーケンスが中断され、この非同期割込みを処理す
るルーチンを開始させるようにすることができ
る。
すなわち、本実施例によると、マイクロプログ
ラム中において非同期割込みを受付けるのに都合
のよいマイクロ命令ごとに、その割込制御フイー
ルド(T)を“1”としておき、制御記憶(CS)
1にマイクロプログラムを格納する際に、この割
込制御フイールド(T)が“1”になつているマ
イクロ命令の次のアドレスを割込処理マイクロプ
ログラムルーチンの開始番地とすることにより、
割込要求がある場合に、このマイクロ命令実行後
直ちに割込を受付け、割込処理を開始させるよう
にすることができる。この場合に、割込みの受付
けを許可するマイクロ命令の選び方はマイクロプ
ログラムを作成するときに自由に決定することが
できるので柔軟性に富んだ非同期割込みの処理を
可能にする。
第3図は前記実施例をさらに詳細に示す図であ
る。
割込原因レジスタ回路6は割込原因レジスタ6
0およびオアゲート61を有し、前述の各非同期
事象原因による割込要求はレジスタ60の予め定
めた対応するビツトに登録される。
レジスタ60の各ビツトの出力はオアゲート6
1でそのすべての論理和がとられ、アンドゲート
7の一方の入力に供給される。
また、選択回路5はインバータ50、アンドゲ
ート51−1,51−2,……51−N,51−
1′,51−2′,……,51−N′およびオアゲ
ート52−1,52−2,……52−N(但しN,
N′はネクストアドレスフイールド(NA)のビツ
ト幅)を含み、第3図で明らかなように、アンド
ゲート7の出力が“0”の場合には、マイクロ命
令レジスタ(MIR)2のネクストアドレスフイ
ールド(NA)の部分のビツトを選択して出力
し、また、アンドゲート7の出力が“1”の場合
にはアドレスレジスタ(AR)4の各ビツトを選
択して出力し、これを制御記憶(CS)1のアド
レス指定情報として制御記憶(CS)1に供給し
ている。
次に第4図Aおよび第4図Bに本実施例の動作
をタイムチヤートとして示す。
第4図Aは割込要求がない場合(第3図オアゲ
ート61の出力が“0”の場合)の動作を示す。
第3図には図示されていないがマイクロ命令レ
ジスタ(MIR)2およびアドレスレジスタ
(AR)4にはマシンクロツクが供給されており
これらのレジスタに対するデータのラツチは第4
図に示すマシンクロツクの立ち上り前縁で行なわ
れる。
今、t0の時点でマイクロ命令レジスタ(MIR)
2にAというマイクロ命令(マイクロ命令を指定
するAは制御記憶(CS)1中のマイクロ命令が
格納されているメモリアドレスを用いるものとす
る)が読出され、この命令Aのネクストアドレス
フイールドNAの内容がBであつたとする。
割込要求が存在しないためオアゲート61の出
力“0”、従がつてアンドゲート7の出力も“0”
となり、選択回路5はマイクロ命令レジスタ
(MIR)2のネクストアドレスフイールド(NA)
の内容を選択し、t0よりも少し遅れた時点でこの
値Bを出力する。この結果、制御記憶(CS)1
の出力としてメモリアドレスBのマイクロ命令が
出力され、これは次のマシンクロツク立上り時点
t1でマイクロ命令レジスタ(MIR)2にラツチさ
れる。マイクロ命令Bのネクストアドレスフイー
ルド(NA)の内容がCとすると、上述と全く同
様にしてマシンクロツクの次の立上り時点t2でマ
イクロ命令Cが制御記憶(CS)1から読出され
てマイクロ命令レジスタMIR2にラツチされる。
例えばマイクロ命令Cのネクストアドレスフイー
ルド(NA)の内容をDとし、またマイクロ命令
A、B、C、Dの中でCのみがその割込制御フイ
ールド(T)に“1”を有するとすると、時点t2
から1マシンクロツク間Tビツト出力は“1”に
なるが、アンドゲート7の出力“0”は変化せ
ず、上述と全く同様にして、次のマシンクロツク
の立ち上り時点t3でマイクロ命令Cのネクストア
ドレスフイールド(NA)で指定されたマイクロ
命令Dが制御記憶(CS)1から読出されてマイ
クロ命令レジスタ(MIR)2にラツチされる。
こうして割込要求が存在しない場合には、たとえ
割込制御フイールド(T)が“1”であつても各
マイクロ命令で指定されるシーケンスに従つてマ
イクロプログラムが実行される。
なお、アドレスレジスタ(AR)4の内容は、
マイクロ命令レジスタ(MIR)2に読出された
ネクストアドレスフイールド(NA)の内容に1
を加算されたものが次のマシンクロツクでラツチ
されるので、例えば第4図Aより明らかなよう
に、マイクロ命令レジスタ(MIR)2にマイク
ロ命令Cが読出されるマシンサイクルにおいて
は、アドレスレジスタ(AR)4の内容はC+1
の値が保持されていることになる。
次に、第4図Bのタイムチヤートは割込要求が
発生した場合(第3図オアゲート61の出力が
“1”になつた場合)の動作を示す。
マシンクロツクt2の時点まではオアゲート61
の出力を除いて、第4図Aの場合と全く同様であ
るが、t2から始るマシンサイクルにおいて、マイ
クロ命令Cがマイクロ命令レジスタ(MIR)2
に読出され、この命令の割込制御フイールド
(T)が“1”であるため、アンドゲート7の出
力が“1”となり、この結果、選択回路5はアド
レスレジスタ(AR)4の出力C+1を選択する
ため、制御記憶(CS)1のメモリアドレスC+
1にあるマイクロ命令が読出され、これはt3の時
点でマイクロ命令レジスタ(MIR)2にラツチ
される。このマイクロ命令C+1のネクストアド
レスフイールド(NA)をT0とし、また割込制御
フイールドTを“0”とすると、次のマシンサイ
クルt4においてはマイクロ命令T0がマイクロ命令
レジスタ2に読出され、かくしてマイクロプログ
ラムはC+1を開始アドレスとする割込処理ルー
チンに分岐する。
すなわち、マイクロ命令Cのネクストアドレス
フイールド(NA)はDであり、割込要求がない
場合には、第4図Aで説明したように、マイクロ
プログラムはマイクロ命令A、B、C、D……の
ように進行するが、割込要求がある場合には第4
図Bで示すようにマイクロプログラムはマイクロ
命令A、B、C、C+1、T0……のように進行
し、C+1≠Dであるように選んでおくことによ
り、マイクロプログラムはC+1を開始アドレス
とする割込処理ルーチンに分岐したことになる。
以上述べたように、本発明によるとハードウエ
アによる割込用のトラツプアドレス発生回路を用
いることなく、非同期事象の割込みを制御記憶中
におけるマイクロ命令の特定の構成を用いて自由
に処理できる柔軟なマイクロプログラム制御装置
を提供できる。
本発明によると、割込みを検出するタイミング
をマイクロ命令の中に設けた割込制御フイールド
の内容で制御できるため、特別なハードウエアを
用いることなく必要に応じて割込みを自由にマス
クすることができ、またマイクロプログラム中に
おけるその検出位置により予めどの種類の割込み
が発生するかをある程度予測するようにすること
もでき、この場合には割込処理ルーチンにおける
原因の解析を容易にすることもできる。
さらにまた、本発明に用いる1加算回路はサブ
ルーチンコールの戻りアドレスを発生するための
1加算回路と共用することによりハードウエアの
節減をはかることができる。
【図面の簡単な説明】
第1図は非同期事象の発生を説明するためのブ
ロツク図、第2図は本発明の一実施例を示すブロ
ツク図、第3図は前記実施例をさらに詳細に示す
図、第4図Aおよび第4図Bは本実施例の動作を
説明するためのタイムチヤートである。 図において、1……制御記憶(CS)、2……マ
イクロ命令レジスタ(MIR)、3……1加算回
路、4……アドレスレジスタ(AR)、5……選
択回路、6……割込原因レジスタ回路(INTR)、
7……アンドゲート、50……インバータ、51
−1〜51−N,51−1′〜51−N′……アン
ドゲート、52−1〜52−N……オアゲート、
60……割込原因レジスタ、61……オアゲー
ト。

Claims (1)

  1. 【特許請求の範囲】 1 マイクロプログラムを記憶する制御記憶手段
    と、前記制御記憶手段から読出されたマイクロ命
    令を格納するマイクロ命令格納手段と、 マイクロ命令実行ごとに前記マイクロ命令格納
    手段内の次に実行すべきマイクロ命令アドレスを
    含む第1のフイールドの内容に1を加算する加算
    手段と、 前記加算手段の加算結果を格納する加算結果格
    納手段と、 非同期事象の原因情報を格納保持する事象原因
    格納手段と、 前記マイクロ命令格納手段内の前記非同期事象
    による割込の受付を制御する情報を含む第2のフ
    イールドが所定の値でしかも前記事象原因格納手
    段の内容が所定の値であるときには前記加算結果
    格納手段の出力を選択し前記マイクロ命令格納手
    段内の前記第2のフイールドが所定の値でないと
    きまたは前記事象原因格納手段の内容が所定の値
    でないときには前記マイクロ命令格納手段内の前
    記第1のフイールドの出力を選択する選択手段と
    を有し、 前記選択手段の出力を用いて前記制御記憶手段
    内に記憶されているマイクロ命令のアドレスを指
    定して次に実行すべきマイクロ命令を前記マイク
    ロ命令格納手段に読出すようにしたことを特徴と
    するマイクロプログラム制御装置。
JP7448883A 1983-04-27 1983-04-27 マイクロプログラム制御装置 Granted JPS59200343A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7448883A JPS59200343A (ja) 1983-04-27 1983-04-27 マイクロプログラム制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7448883A JPS59200343A (ja) 1983-04-27 1983-04-27 マイクロプログラム制御装置

Publications (2)

Publication Number Publication Date
JPS59200343A JPS59200343A (ja) 1984-11-13
JPH0145650B2 true JPH0145650B2 (ja) 1989-10-04

Family

ID=13548720

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7448883A Granted JPS59200343A (ja) 1983-04-27 1983-04-27 マイクロプログラム制御装置

Country Status (1)

Country Link
JP (1) JPS59200343A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03209530A (ja) * 1990-01-12 1991-09-12 Matsushita Electric Ind Co Ltd 時分割マルチタスク実行装置

Also Published As

Publication number Publication date
JPS59200343A (ja) 1984-11-13

Similar Documents

Publication Publication Date Title
US4430706A (en) Branch prediction apparatus and method for a data processing system
EP0213842A2 (en) Mechanism for performing data references to storage in parallel with instruction execution on a reduced instruction-set processor
JPH07104842B2 (ja) 外部記憶装置の割込み制御方式
JPH01310441A (ja) データ処理装置
JPS62115542A (ja) 情報処理装置
JPH0145650B2 (ja)
JPS6049337B2 (ja) パイプライン制御方式
JPH0222413B2 (ja)
JP2814683B2 (ja) 命令処理装置
JPH0561660B2 (ja)
SU608160A1 (ru) Центральный процессор
JPS5842891B2 (ja) メイレイセイギヨホウシキ
JPS61143848A (ja) マイクロプログラム制御装置
JPS5971542A (ja) 演算処理装置
JPS61143850A (ja) 処理装置
JPS60193046A (ja) 命令例外検出方式
JPH02133833A (ja) インサーキツトエミユレータ制御装置
JPH0243626A (ja) コンピュータ・プロセッサの実行速度を制御する装置
JPS6028014B2 (ja) マイクロプロセツサ
JPH04256039A (ja) 命令カウント可能な情報処理装置
JPH0227694B2 (ja)
JPS6330938A (ja) マイクロプログラム制御装置
JPH02242445A (ja) 情報処理装置のデバッグ機構
JPH06295252A (ja) 計算機
JPH0738157B2 (ja) レジスタ選択方式