JPH0115094B2 - - Google Patents
Info
- Publication number
- JPH0115094B2 JPH0115094B2 JP56046928A JP4692881A JPH0115094B2 JP H0115094 B2 JPH0115094 B2 JP H0115094B2 JP 56046928 A JP56046928 A JP 56046928A JP 4692881 A JP4692881 A JP 4692881A JP H0115094 B2 JPH0115094 B2 JP H0115094B2
- Authority
- JP
- Japan
- Prior art keywords
- interrupt
- level
- microprogram
- interrupts
- mpc
- 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
- 238000000034 method Methods 0.000 claims description 11
- 230000000873 masking effect Effects 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 5
- 239000003795 chemical substances by application Substances 0.000 description 3
- 101100446506 Mus musculus Fgf3 gene Proteins 0.000 description 2
- 101100348848 Mus musculus Notch4 gene Proteins 0.000 description 2
- 101000767160 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) Intracellular protein transport protein USO1 Proteins 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
- G06F9/4831—Task transfer initiation or dispatching by interrupt, e.g. masked with variable priority
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
Description
【発明の詳細な説明】
本発明は、マイクロプログラム制御方式特に割
込み制御に関する。
込み制御に関する。
割込みには種々の種類があるが、高いレベルで
割込んだものが処理に長時間を要すると、この間
低いレベルの割込みは待たされ、オーバランが発
生することがある。そこで余り長時間になる場合
は当該高レベルの割込みを低レベルに格下げして
待機中の中、低レベルの割込みを先に処理し、然
るのち格下げした高レベルの割込みを処理するこ
とが行なわれる。かゝる制御をマイクロプログラ
ムで実行しようとすると、走行中の処理に関する
ワークレジスタの内容をCS(コントロールスタツ
ク)などへ一旦セーブしなければならず、また待
機中の低レベル割込みがあり格下げした高レベル
割込みが該待機中低レベル割込みと同じレベルに
なる場合は後者もセーブしなければならず(しな
いと両者混合して破壊されてしまう)、プログラ
ム負荷が増大する。
割込んだものが処理に長時間を要すると、この間
低いレベルの割込みは待たされ、オーバランが発
生することがある。そこで余り長時間になる場合
は当該高レベルの割込みを低レベルに格下げして
待機中の中、低レベルの割込みを先に処理し、然
るのち格下げした高レベルの割込みを処理するこ
とが行なわれる。かゝる制御をマイクロプログラ
ムで実行しようとすると、走行中の処理に関する
ワークレジスタの内容をCS(コントロールスタツ
ク)などへ一旦セーブしなければならず、また待
機中の低レベル割込みがあり格下げした高レベル
割込みが該待機中低レベル割込みと同じレベルに
なる場合は後者もセーブしなければならず(しな
いと両者混合して破壊されてしまう)、プログラ
ム負荷が増大する。
本発明はかゝる点を改善しようとするものであ
り、マイクロプログラムへ外部より割込む手段、
各割込み要因毎の割込み先頭番地を修飾する割込
ベクトル、該割込ベクトルを要因別にマスクする
割込ベクトルマスク、マイクロプログラムが指示
してマイクロプログラム自身へ割込みを発生する
割込み要因フラグ、および前記の全ての割込みを
マスクする手段を有し、通常はマイクロプログラ
ムへ外部より割込む手段により、対応する割込み
ベクトルマスクで割込みベクトルを修飾して割込
み処理を行ない、割込みのレベルが高くかつ長時
間処理が必要な場合は該高レベルの割込みの処理
を中断し、その割込み情報を、処理待ちの下位割
込みレベルのレジスタ情報が退避しているレジス
タとは別のコントロールスタツクへセーブしかつ
前記割込み要因フラグをセツトし、然るのち他の
割込みの処理を行ない、終了後、前記割込み要因
フラグとセーブ情報によりマイクロプログラム自
身が割込みを発生し、中断した前記高レベルの割
込みの処理を続行し、最後に全ての割込みをマス
クして該中断、続行した割込についての割込み要
因フラグ及びセーブ情報をクリヤするようにし
て、プログラム負荷を増大することなく、マイク
ロプログラム自身で割込みレベルの優先順位を任
意に変えられるようにしたことを特徴としてい
る。次に図面を参照しながらこれを詳細に説明す
る。
り、マイクロプログラムへ外部より割込む手段、
各割込み要因毎の割込み先頭番地を修飾する割込
ベクトル、該割込ベクトルを要因別にマスクする
割込ベクトルマスク、マイクロプログラムが指示
してマイクロプログラム自身へ割込みを発生する
割込み要因フラグ、および前記の全ての割込みを
マスクする手段を有し、通常はマイクロプログラ
ムへ外部より割込む手段により、対応する割込み
ベクトルマスクで割込みベクトルを修飾して割込
み処理を行ない、割込みのレベルが高くかつ長時
間処理が必要な場合は該高レベルの割込みの処理
を中断し、その割込み情報を、処理待ちの下位割
込みレベルのレジスタ情報が退避しているレジス
タとは別のコントロールスタツクへセーブしかつ
前記割込み要因フラグをセツトし、然るのち他の
割込みの処理を行ない、終了後、前記割込み要因
フラグとセーブ情報によりマイクロプログラム自
身が割込みを発生し、中断した前記高レベルの割
込みの処理を続行し、最後に全ての割込みをマス
クして該中断、続行した割込についての割込み要
因フラグ及びセーブ情報をクリヤするようにし
て、プログラム負荷を増大することなく、マイク
ロプログラム自身で割込みレベルの優先順位を任
意に変えられるようにしたことを特徴としてい
る。次に図面を参照しながらこれを詳細に説明す
る。
第1図は既知の割込み制御態様を説明する図
で、レベル4は割込みが発生しなくて処理装置が
所謂アイドリングの状態にあるレベルを示す。時
点t1,t2,t3で順次高い優先レベルの外部割込み
A,B,Cが発生したとすると、図示のように優
先レベルの高いものが低いものの処理を中断して
優先処理され、割込みCの処理が終つて割込みB
の残部B′が処理され、それが終つて割込みAの
残部A′が処理される。処理所要時間が余り長く
ない場合は上記でよいが、例えば優先レベルの最
も高い割込みCの処理所要時間が長期間に亘るも
のであると、割込みB,Aの残部B′,A′の処理
が中々実行できず、オーバランが発生したりす
る。このような場合は適当な時点t4で割込みCの
優先レベルをレベル3へ落とす(走行レベルと割
込みレベルが同じならば割込みは発生しない)。
このようにすればオーバランを生じることなく割
込みB,Aの残部を実行することができる。チヤ
ネルの起動,終結などは、レベル自体は高いがオ
ーバランを生じる恐れは少ないので、レベルを下
げて他のものを先に処理しても問題は少ない。こ
の第1図では割込みCはt4でレベルを下げ、割込
みB,Aの残部を先に実行する。またこの図の例
では割込みAの残部A′の処理が終了しない時点t5
でレベル2の割込みDが発生しその処理に切換つ
たが割込みDの処理所要時間も長いのでこれはレ
ベル3へ落し、割込みAの残部A′の残部A″の処
理を済ませている。この処理終了時点t6ではレベ
ル4に復帰する。その後、レベルを落した割込み
の残部C′,D′の処理が行なわれる。
で、レベル4は割込みが発生しなくて処理装置が
所謂アイドリングの状態にあるレベルを示す。時
点t1,t2,t3で順次高い優先レベルの外部割込み
A,B,Cが発生したとすると、図示のように優
先レベルの高いものが低いものの処理を中断して
優先処理され、割込みCの処理が終つて割込みB
の残部B′が処理され、それが終つて割込みAの
残部A′が処理される。処理所要時間が余り長く
ない場合は上記でよいが、例えば優先レベルの最
も高い割込みCの処理所要時間が長期間に亘るも
のであると、割込みB,Aの残部B′,A′の処理
が中々実行できず、オーバランが発生したりす
る。このような場合は適当な時点t4で割込みCの
優先レベルをレベル3へ落とす(走行レベルと割
込みレベルが同じならば割込みは発生しない)。
このようにすればオーバランを生じることなく割
込みB,Aの残部を実行することができる。チヤ
ネルの起動,終結などは、レベル自体は高いがオ
ーバランを生じる恐れは少ないので、レベルを下
げて他のものを先に処理しても問題は少ない。こ
の第1図では割込みCはt4でレベルを下げ、割込
みB,Aの残部を先に実行する。またこの図の例
では割込みAの残部A′の処理が終了しない時点t5
でレベル2の割込みDが発生しその処理に切換つ
たが割込みDの処理所要時間も長いのでこれはレ
ベル3へ落し、割込みAの残部A′の残部A″の処
理を済ませている。この処理終了時点t6ではレベ
ル4に復帰する。その後、レベルを落した割込み
の残部C′,D′の処理が行なわれる。
割込みレベルをレベル1からレベル2または3
へ下げると、以前割込んだレベル2,3の割込み
のレジスタ情報等は上記のレベルを下げた割込み
により破壊されてしまうのでこれを避けるべく、
該レジスタ情報なども同時にセーブし、処理再開
時にはそれをリストアする必要があり、マイクロ
プログラムの負担が大きい。
へ下げると、以前割込んだレベル2,3の割込み
のレジスタ情報等は上記のレベルを下げた割込み
により破壊されてしまうのでこれを避けるべく、
該レジスタ情報なども同時にセーブし、処理再開
時にはそれをリストアする必要があり、マイクロ
プログラムの負担が大きい。
なお割込み中断に際して行なつた低優先レベル
への受け渡し、CSへの情報セーブ、割込みフラ
グセツトなどは残部の処理が終つた段階で解除さ
れなければならない。これは第1図では時点t7,
t8で行なう。この解除処理は、該処理中に割込み
が発生してそれに処理が移行してはならないの
で、最高の優先レベルで行なうか(これをEで示
す)又は全割込みをマスクして(これをFで示
す)行なう。
への受け渡し、CSへの情報セーブ、割込みフラ
グセツトなどは残部の処理が終つた段階で解除さ
れなければならない。これは第1図では時点t7,
t8で行なう。この解除処理は、該処理中に割込み
が発生してそれに処理が移行してはならないの
で、最高の優先レベルで行なうか(これをEで示
す)又は全割込みをマスクして(これをFで示
す)行なう。
本発明の割込み制御のハードウエアを第2図に
示す。10は割込み優先順位決定回路で、該回路
へはオアゲート群OGを通してマイクロプログラ
ムへの割込み(外部割込)MPIおよび割込み要
因フラグIFFのレジスタ12からの各種内部割込
み(これはマイクロプログラム自身が発生する)
が入力し、優先レベル及び現在の走行レベル等に
従つて実行すべき割込みを決定する。レジスタ1
2は割込み要因毎に複数個のフラグを持ち、任意
にマイクロプログラムが意味付けを行なうことが
出来る。書込まれると同時にその要因の割込みを
発生する。14は割込みベクトルIVのレジスタ
で、ベクトル情報が書き込まれる。MPCは現在
実行中のプログラムのアドレスを出力するマイク
ロプログラムカウンタ、MPC′は割込毎に実行さ
れるべきプログラムのアドレスを収容するレジス
タ群である。マイクロプログラムのアドレスの上
位ビツト群はIA(インストラクシヨンアドレス)
で構成され、下位ビツト群が切換えられることに
より被実行割込み(内部又は外部割込み)の切換
えが行なわれる。MPXがこの切換えを行なうマ
ルチプレクサで、MPC′の下位ビツト群又はレジ
スタ14からのベクトル情報をMPCの下位ビツ
ト群として取込む。MPC′の下位ビツト部は常に
ベクトルテーブルの先頭を指しここにはマイクロ
プログラム自身が発生する内部割込みの行頭アド
レスが書き込まれている。これらの上,下位ビツ
ト群は例えばそれぞれ8ビツトからなる。16は
割込みベクトルマスクIVMを記憶するレジスタ
で、割込みベクトルIVの使用、不使用を決定す
る。即ち、レジスタ14には割込みベクトル(ベ
クトル情報)が蓄えられているが、それがMPC
下位ビツト部へ送られる。送られないは、アンド
ゲート群AGの出力があるか、ないかにより決定
され、該AGの出力は外部割込みMPIおよびレジ
スタ16の内容と回路10により受付けられた割
込み(iNT1,iNT2,iNT3)のいずれかにより
定まる。従つて上記3つの条件が成立すると、レ
ジスタ14の内容がMPCの下位に送られ、ベク
トルテーブルを参照し、外部割込みが受付けられ
たことを意味する。iNT1,iNT2,iNT3は、
割込み優先順位により決定されたレベル情報で、
これによりレジスタ14、MPC′及びMPC″の選
択を行なう。
示す。10は割込み優先順位決定回路で、該回路
へはオアゲート群OGを通してマイクロプログラ
ムへの割込み(外部割込)MPIおよび割込み要
因フラグIFFのレジスタ12からの各種内部割込
み(これはマイクロプログラム自身が発生する)
が入力し、優先レベル及び現在の走行レベル等に
従つて実行すべき割込みを決定する。レジスタ1
2は割込み要因毎に複数個のフラグを持ち、任意
にマイクロプログラムが意味付けを行なうことが
出来る。書込まれると同時にその要因の割込みを
発生する。14は割込みベクトルIVのレジスタ
で、ベクトル情報が書き込まれる。MPCは現在
実行中のプログラムのアドレスを出力するマイク
ロプログラムカウンタ、MPC′は割込毎に実行さ
れるべきプログラムのアドレスを収容するレジス
タ群である。マイクロプログラムのアドレスの上
位ビツト群はIA(インストラクシヨンアドレス)
で構成され、下位ビツト群が切換えられることに
より被実行割込み(内部又は外部割込み)の切換
えが行なわれる。MPXがこの切換えを行なうマ
ルチプレクサで、MPC′の下位ビツト群又はレジ
スタ14からのベクトル情報をMPCの下位ビツ
ト群として取込む。MPC′の下位ビツト部は常に
ベクトルテーブルの先頭を指しここにはマイクロ
プログラム自身が発生する内部割込みの行頭アド
レスが書き込まれている。これらの上,下位ビツ
ト群は例えばそれぞれ8ビツトからなる。16は
割込みベクトルマスクIVMを記憶するレジスタ
で、割込みベクトルIVの使用、不使用を決定す
る。即ち、レジスタ14には割込みベクトル(ベ
クトル情報)が蓄えられているが、それがMPC
下位ビツト部へ送られる。送られないは、アンド
ゲート群AGの出力があるか、ないかにより決定
され、該AGの出力は外部割込みMPIおよびレジ
スタ16の内容と回路10により受付けられた割
込み(iNT1,iNT2,iNT3)のいずれかにより
定まる。従つて上記3つの条件が成立すると、レ
ジスタ14の内容がMPCの下位に送られ、ベク
トルテーブルを参照し、外部割込みが受付けられ
たことを意味する。iNT1,iNT2,iNT3は、
割込み優先順位により決定されたレベル情報で、
これによりレジスタ14、MPC′及びMPC″の選
択を行なう。
割込み優先順位決定回路10はMPIはIFFかを
問わず単に優先レベルの高低により被実行割込み
を決定するから、同じ優先レベルのIFFおよび
MPIがあるとどちらを先に実行すべきか分らな
くなる。IVMはこの切り分けを行なうもので、
割込みベクトルマスクがなければ(これはレジス
タ16の当該ビツトを“1”にすることにより指
示される)外部割込みMPIが優先処理され、マ
スクがあれば(前記ビツトが“0”であれば)内
部割込みが処理されることになる。
問わず単に優先レベルの高低により被実行割込み
を決定するから、同じ優先レベルのIFFおよび
MPIがあるとどちらを先に実行すべきか分らな
くなる。IVMはこの切り分けを行なうもので、
割込みベクトルマスクがなければ(これはレジス
タ16の当該ビツトを“1”にすることにより指
示される)外部割込みMPIが優先処理され、マ
スクがあれば(前記ビツトが“0”であれば)内
部割込みが処理されることになる。
割込みが行なわれるときMPCの下位ビツト部
へは当該割込みのベクトル情報が入力するが、そ
れに先立ち現在実行中のプログラムのアドレスす
なわちMPCの内容をMPC″に退避し、処理中断
後の処理再開が可能なようにする。以上の操作の
為MPC′及びMPC″は割込みレベル毎に設ける必
要がある。
へは当該割込みのベクトル情報が入力するが、そ
れに先立ち現在実行中のプログラムのアドレスす
なわちMPCの内容をMPC″に退避し、処理中断
後の処理再開が可能なようにする。以上の操作の
為MPC′及びMPC″は割込みレベル毎に設ける必
要がある。
第3図はMPC′,MPX、およびレジスタ14
を構成する割込みベクトルテーブルを示す。この
テーブルのアドレス(IA+0)はMPC′に相当
し、マイクロプログラム自身が発生する割込み
(内部割込み)の先頭番地が書込まれる。内部割
込みが発生すると(IA+0)がアクセスされ、
そこに書込まれている命令(ジヤンプ命令など)
が読出され、それにより内部割込みの処理ルーチ
ングがアクセスされ、実行される。
を構成する割込みベクトルテーブルを示す。この
テーブルのアドレス(IA+0)はMPC′に相当
し、マイクロプログラム自身が発生する割込み
(内部割込み)の先頭番地が書込まれる。内部割
込みが発生すると(IA+0)がアクセスされ、
そこに書込まれている命令(ジヤンプ命令など)
が読出され、それにより内部割込みの処理ルーチ
ングがアクセスされ、実行される。
割込みベクトルテーブルの他の領域は外部割込
みの先頭命令が書込まれる。
みの先頭命令が書込まれる。
また第2図で、18は全割込みマスクレジスタ
(フリツプフロツプ)IMであつて、該IMに“0”
を書込むと、アンドゲートGは閉じて割込みフラ
グIFを発生しなくなる。これは全割込みをマス
クしたことになる。
(フリツプフロツプ)IMであつて、該IMに“0”
を書込むと、アンドゲートGは閉じて割込みフラ
グIFを発生しなくなる。これは全割込みをマス
クしたことになる。
第4図に示した割込み制御を例にして第2図の
動作を説明すると、外部割込みAが発生し、その
ベクトル情報がレジスタ14に書込まれ、かつレ
ジスタ16,18のIVM,IMはマスクすること
を指示していないとすると、割込み優先順位決定
回路10は当該割込みを受けてアンドゲートGよ
り割込みフラグIFを上げる。またMPXはレジス
タ14の出力をMPCの下位ビツト部に書込む。
これにより上記外部割込みの実行が開始され、そ
のプログラムステツプが1つ終わる毎にMPCは
+1されてゆく。かゝる状態で外部割込みBが入
るとMPCの内容をMPC″へ退避(のちに割込み
Bが終了すると、MPC″の内容をMPCに戻すこ
とで割込みAが再開する)し、MPC′の上位+ベ
クトル情報をMPCへ移す。これにより割込みB
の実行が開始される。
動作を説明すると、外部割込みAが発生し、その
ベクトル情報がレジスタ14に書込まれ、かつレ
ジスタ16,18のIVM,IMはマスクすること
を指示していないとすると、割込み優先順位決定
回路10は当該割込みを受けてアンドゲートGよ
り割込みフラグIFを上げる。またMPXはレジス
タ14の出力をMPCの下位ビツト部に書込む。
これにより上記外部割込みの実行が開始され、そ
のプログラムステツプが1つ終わる毎にMPCは
+1されてゆく。かゝる状態で外部割込みBが入
るとMPCの内容をMPC″へ退避(のちに割込み
Bが終了すると、MPC″の内容をMPCに戻すこ
とで割込みAが再開する)し、MPC′の上位+ベ
クトル情報をMPCへ移す。これにより割込みB
の実行が開始される。
かゝる状態で割込みCが発生すると同様にして
MPCの内容退避、先頭アドレスの書込み、割込
みCの実行が行なわれる。この処理時間が長くな
るときマイクロプログラムは割込みCのレベルを
下げ、代つて割込みA,Bを実行するが、これは
レジスタ12のレベル3の割込要因へフラグを立
て、割込み再開情報をCS等へ退避し、割込みC
の再開準備終了と同時に割込Cで退避した割込B
の処理情報がMPC″よりMPCへ移され、該割込
みBの残部B′の実行が開始される。残部B′が処
理済みとなると割込みBは消去され、同時に割込
Bで退避した割込Aの処理情報をMPC″をMPC
へ移し割込みAが有効になつてその残部A′の処
理が行なわれる。こうして本方式では割込みCの
処理中断に当つてはそのレジスタ情報をCSへセ
ーブし、処理待ちの下位割込みレベルのレジスタ
情報が退避しているレジスタMPC″へはセーブし
ないので、従来方式のように該下位レベルの割込
みのレジスタ情報をCSへセーブする必要はなく、
プログラムの負担が軽くなる。
MPCの内容退避、先頭アドレスの書込み、割込
みCの実行が行なわれる。この処理時間が長くな
るときマイクロプログラムは割込みCのレベルを
下げ、代つて割込みA,Bを実行するが、これは
レジスタ12のレベル3の割込要因へフラグを立
て、割込み再開情報をCS等へ退避し、割込みC
の再開準備終了と同時に割込Cで退避した割込B
の処理情報がMPC″よりMPCへ移され、該割込
みBの残部B′の実行が開始される。残部B′が処
理済みとなると割込みBは消去され、同時に割込
Bで退避した割込Aの処理情報をMPC″をMPC
へ移し割込みAが有効になつてその残部A′の処
理が行なわれる。こうして本方式では割込みCの
処理中断に当つてはそのレジスタ情報をCSへセ
ーブし、処理待ちの下位割込みレベルのレジスタ
情報が退避しているレジスタMPC″へはセーブし
ないので、従来方式のように該下位レベルの割込
みのレジスタ情報をCSへセーブする必要はなく、
プログラムの負担が軽くなる。
割込みB,Aが処理済みとなると外部割込みは
なくなつたことになり、今度は割込みCの残部
C′が内部割込みとして受付けられる。即ち
MPC′の内容がMPCへ移され、退避した割込み再
開情報をリストアし、格下げされて処理中断とな
つた割込みCの残部処理が行なわれる。この処理
末期において、マスタ18により全割込みを禁
止、割込みCでの要因フラグ及びCS上の再開情
報をマイクロプログラムがクリアすることにより
レベル3での割込Cが完了する。更に説明を加え
ると、マイクロプログラムへ割込む要因として
は、プロセツサの外部から割込まれる要因(第2
図のMPI)とプログラム自身が命令によりセツ
トする割込み要因フラグ12の2種類が存在す
る。又、そのどちらからの割込みを優先するかを
指定するために、割込みベクトルマスク16が存
在する。
なくなつたことになり、今度は割込みCの残部
C′が内部割込みとして受付けられる。即ち
MPC′の内容がMPCへ移され、退避した割込み再
開情報をリストアし、格下げされて処理中断とな
つた割込みCの残部処理が行なわれる。この処理
末期において、マスタ18により全割込みを禁
止、割込みCでの要因フラグ及びCS上の再開情
報をマイクロプログラムがクリアすることにより
レベル3での割込Cが完了する。更に説明を加え
ると、マイクロプログラムへ割込む要因として
は、プロセツサの外部から割込まれる要因(第2
図のMPI)とプログラム自身が命令によりセツ
トする割込み要因フラグ12の2種類が存在す
る。又、そのどちらからの割込みを優先するかを
指定するために、割込みベクトルマスク16が存
在する。
例を2つ上げる。1つの例は、あるレベルの外
部からの割込み要因が発生して、その時そのレベ
ルのベクトルマスクが“1”(外部要因が優先す
る)の時、である。このとき外部要因MPIはオ
アゲートOGに入り無条件に割込み優先順位回路
10に入力される。この時プロセツサ自身の走行
レベルと割込み要因の高低により割込みが可能で
あると、割込みレベル信号iNToが出力される。
その時該当する割込みベクトルマスクが“1”で
あると、そのレベルのアンドゲートAGが有効に
なり、割込みベクトルがレジスタ14にセツトさ
れ、MPXも該レジスタ14側を選択する。その
結果、セツトされた割込みベクトルとMPC′の上
位ビツトが新たにMPCにセツトされ、所定の処
理ルーチンへブランチする。
部からの割込み要因が発生して、その時そのレベ
ルのベクトルマスクが“1”(外部要因が優先す
る)の時、である。このとき外部要因MPIはオ
アゲートOGに入り無条件に割込み優先順位回路
10に入力される。この時プロセツサ自身の走行
レベルと割込み要因の高低により割込みが可能で
あると、割込みレベル信号iNToが出力される。
その時該当する割込みベクトルマスクが“1”で
あると、そのレベルのアンドゲートAGが有効に
なり、割込みベクトルがレジスタ14にセツトさ
れ、MPXも該レジスタ14側を選択する。その
結果、セツトされた割込みベクトルとMPC′の上
位ビツトが新たにMPCにセツトされ、所定の処
理ルーチンへブランチする。
2つ目の例は、あるレベルの割込み要因フラグ
と外部割込みMPIが同時に発生して、その時に
そのレベルのベクトルマスクが“0”(割込み要
因フラグ優先)の時である。MPI又はIFFの出力
はオアゲートOGに入り、そのまま割込み優先順
位回路10に入り、前例のロジツクでiNTo信号
が出力される。ただしこの時、このレベルのベク
トルマスクが“0”のため、IVにセツトされず、
MPXもMPC′の方を選択する。その結果新たに
MPCのセツトされる情報はMPC′の情報そのもの
で、従つて下位ビツトは全て“0”のため、内部
割込み要因(マイクロプログラム自身からの割込
み要因)処理ルーチンへブランチすることにな
る。
と外部割込みMPIが同時に発生して、その時に
そのレベルのベクトルマスクが“0”(割込み要
因フラグ優先)の時である。MPI又はIFFの出力
はオアゲートOGに入り、そのまま割込み優先順
位回路10に入り、前例のロジツクでiNTo信号
が出力される。ただしこの時、このレベルのベク
トルマスクが“0”のため、IVにセツトされず、
MPXもMPC′の方を選択する。その結果新たに
MPCのセツトされる情報はMPC′の情報そのもの
で、従つて下位ビツトは全て“0”のため、内部
割込み要因(マイクロプログラム自身からの割込
み要因)処理ルーチンへブランチすることにな
る。
以上の説明から明らかなように本発明によれ
ば、多数の種々のレベルの外部割込みを受けて優
先順にそれを処理し、処理未了があれば高レベル
のものの処理が終つたときそれを処理し、高レベ
ルでも処理所要時間の長いものは処理を中断して
低レベルのものの処理を先に行ない、その後に該
高レベルの割込みの処理を行なうことができ、し
かも該操作を極めて簡単に、つまりマイクロプロ
グラムによるレジスタ情報等のセーブ、リストア
量が可及的に少なくて済みプログラムへの負担を
少なくして実行できる利点が得られる。
ば、多数の種々のレベルの外部割込みを受けて優
先順にそれを処理し、処理未了があれば高レベル
のものの処理が終つたときそれを処理し、高レベ
ルでも処理所要時間の長いものは処理を中断して
低レベルのものの処理を先に行ない、その後に該
高レベルの割込みの処理を行なうことができ、し
かも該操作を極めて簡単に、つまりマイクロプロ
グラムによるレジスタ情報等のセーブ、リストア
量が可及的に少なくて済みプログラムへの負担を
少なくして実行できる利点が得られる。
第1図は従来方式の説明図、第2図は本発明の
実施例を示すブロツク図、第3図は第2図の一部
の詳細を示すブロツク図、第4図は割込み制御の
説明図である。 図面でMPIはマイクロプログラムへの割込み、
14は割込みベクトルを収容するレジスタ、16
は割込みベクトルマスクを収容するレジスタ、1
2は割込み要因フラグを収容するレジスタ、18
は全割込みのマスク、MPCはマイクロプログラ
ムカウンタである。
実施例を示すブロツク図、第3図は第2図の一部
の詳細を示すブロツク図、第4図は割込み制御の
説明図である。 図面でMPIはマイクロプログラムへの割込み、
14は割込みベクトルを収容するレジスタ、16
は割込みベクトルマスクを収容するレジスタ、1
2は割込み要因フラグを収容するレジスタ、18
は全割込みのマスク、MPCはマイクロプログラ
ムカウンタである。
Claims (1)
- 【特許請求の範囲】 1 マイクロプログラムへ外部より割込む手段、
各割込み要因毎の割込み先頭番地を修飾する割込
ベクトル、該割込ベクトルを要因別にマスクする
割込ベクトルマスク、マイクロプログラムが指示
してマイクロプログラム自身へ割込みを発生する
割込み要因フラグ、および前記の全ての割込みを
マスクする手段を有し、 通常はマイクロプログラムへ外部より割込む手
段により、対応する割込みベクトルマスクで割込
みベクトルを修飾して割込み処理を行ない、 割込みのレベルが高くかつ長時間処理が必要な
場合は該高レベルの割込みの処理を中断し、その
割込み情報を、処理待ちの下位割込みレベルのレ
ジスタ情報が退避しているレジスタとは別のコン
トロールスタツクへセーブしかつ前記割込み要因
フラグをセツトし、然るのち他の割込みの処理を
行ない、終了後、前記割込み要因フラグとセーブ
情報によりマイクロプログラム自身が割込みを発
生し、中断した前記高レベルの割込みの処理を続
行し、最後に全ての割込みをマスクして該中断、
続行した割込についての割込み要因フラグ及びセ
ーブ情報をクリヤすることを特徴としたマイクロ
プログラム制御方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4692881A JPS57161934A (en) | 1981-03-30 | 1981-03-30 | Microprogram controlling system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4692881A JPS57161934A (en) | 1981-03-30 | 1981-03-30 | Microprogram controlling system |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS57161934A JPS57161934A (en) | 1982-10-05 |
JPH0115094B2 true JPH0115094B2 (ja) | 1989-03-15 |
Family
ID=12760988
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP4692881A Granted JPS57161934A (en) | 1981-03-30 | 1981-03-30 | Microprogram controlling system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS57161934A (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS59103150A (ja) * | 1982-12-06 | 1984-06-14 | Hitachi Ltd | マイクロプログラム制御方式 |
JPS61166631A (ja) * | 1985-01-18 | 1986-07-28 | Oki Electric Ind Co Ltd | マイクロプログラム制御処理方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5063856A (ja) * | 1973-10-08 | 1975-05-30 | ||
JPS5189362A (ja) * | 1975-02-03 | 1976-08-05 | ||
JPS5559555A (en) * | 1978-10-27 | 1980-05-06 | Nec Corp | High-speed level switching device |
JPS5576448A (en) * | 1978-12-05 | 1980-06-09 | Nippon Telegr & Teleph Corp <Ntt> | Multi-group register control system |
-
1981
- 1981-03-30 JP JP4692881A patent/JPS57161934A/ja active Granted
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5063856A (ja) * | 1973-10-08 | 1975-05-30 | ||
JPS5189362A (ja) * | 1975-02-03 | 1976-08-05 | ||
JPS5559555A (en) * | 1978-10-27 | 1980-05-06 | Nec Corp | High-speed level switching device |
JPS5576448A (en) * | 1978-12-05 | 1980-06-09 | Nippon Telegr & Teleph Corp <Ntt> | Multi-group register control system |
Also Published As
Publication number | Publication date |
---|---|
JPS57161934A (en) | 1982-10-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5161226A (en) | Microprocessor inverse processor state usage | |
JP3771273B2 (ja) | 述語レジスタ・セットをレストアする方法および装置 | |
JPS6239780B2 (ja) | ||
JPH0430053B2 (ja) | ||
JPH077379B2 (ja) | 多重処理システムの割込み選択方式 | |
JPH05250305A (ja) | データ転送制御方式 | |
JPH0115094B2 (ja) | ||
US6535943B1 (en) | Information processing device enabling floating interrupt to be pending and a method executing an interrupt condition change instruction | |
JP2643931B2 (ja) | 情報処理装置 | |
JP3055139B2 (ja) | マイクロプログラム制御方式 | |
JPS59144955A (ja) | 情報処理装置 | |
JPS6159539A (ja) | サブプロセツサのレジスタ退避/復帰方式 | |
JP2001075778A (ja) | 演算装置および方法 | |
JPH0198023A (ja) | 条件付きサブルーチン呼出し方式 | |
JPS617940A (ja) | マイクロプログラム制御装置 | |
JPS61166631A (ja) | マイクロプログラム制御処理方法 | |
JPS62217326A (ja) | 複数os格納切替可能コンピユ−タ | |
JPS59200356A (ja) | プログラムトレ−ス方式 | |
JPS61133440A (ja) | デ−タ処理装置 | |
JPS6149695B2 (ja) | ||
JPH09106344A (ja) | パイプライン処理装置 | |
JPS61143850A (ja) | 処理装置 | |
JPS59103150A (ja) | マイクロプログラム制御方式 | |
JPH08212083A (ja) | 割り込み処理装置 | |
JPH0417530B2 (ja) |