(57)【特許請求の範囲】
【請求項１】
複数の割込入力からの割込要求を記憶するとともに、割込処理が開始されると対応するビットの値がリセットされるＩＲＲレジスタと、
現在処理中の割込処理に対応する割込入力を記憶するＩＳＲレジスタと、
割込処理が開始された時点のＩＲＲレジスタの値を記憶するＩＬＲレジスタと、
現在処理中の割込処理が終了する毎に、前記ＩＲＲレジスタ、前記ＩＳＲレジスタおよび前記ＩＬＲレジスタの値に基づき、複数の前記割込入力のうち、前記ＩＬＲレジスタに割込要求が記憶された第１の割込入力に対して、前記ＩＬＲレジスタに割込要求が記憶されていないものの、現在処理中の割込処理が開始された後に割込要求がなされたことによって、前記ＩＲＲレジスタに割込要求が記憶された第２の割込入力に比較して高い優先順位を与える優先順位の割り当てし直しを行い、次に処理すべき最も優先順位の高い割込入力からの割込要求を判定する優先順位割当回路と、
全体の動作を制御するとともに、マイクロプロセッサとのインタフェースをとる制御回路とを備えていることを特徴とする割込処理回路。
【請求項２】
前記優先順位割当回路が、さらに、前記第２の割込入力に対して、前記ＩＲＲレジスタに割込要求が記憶されていない第３の割込入力に比較して高い優先順位を与えることを特徴とする請求項１記載の割込処理回路。
【請求項３】
前記優先順位割当回路が、さらに、前記ＩＳＲレジスタに記憶されている割込入力に対して一番低い優先順位を与えることを特徴とする請求項１または２記載の割込処理回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、同等の重要度を持つ複数の割込入力からの割込要求を優先順位に従って順次処理する割込処理回路に関するものである。
【０００２】
【従来の技術】
割込処理回路は、外的要因からの割込要求を受け付けて処理するもので、割込処理が開始されると、現在実行中の処理は中断されて割込処理が実行され、割込終了後に中断された元の処理が再開される。従来の割込処理回路は、例えばインテル社製の型番８２５９という割込コントローラに代表されるように、複数の割込入力を持ち、各割込入力についてハードウェア的にあらかじめ決定された優先順位を与えられている。
【０００３】
型番８２５９の割込コントローラはオートマチック・ローテーションという手法を採用している。この手法は、例えば特開平４−３６３７４８号公報に開示されているように、現在割込処理が実施されている割込入力の優先順位を、その処理の終了時すなわちマイクロプロセッサ（以下、ＣＰＵという）からＥＯＩ（End Of Interrupt）を受け取った際に最下位とし、その他の割込入力にはあらかじめ決定されている優先順位を順次割り当てるという方法である。
【０００４】
この場合、優先順位を変更することはある程度ソフトウェアにより可能であるが、一般的に、その時々で状況に応じて動的に変更することは困難である。特に、割込入力が同程度の重要度を持つ場合にあらかじめ優先順位が決定されていると、高順位の割込入力からの割込要求に対する割込処理から順次実施されるため、低順位の割込入力からの割込要求に対する処理が滞るという状況が発生し、不都合が生じる原因となっていた。
【０００５】
以下、前述のオートマチック・ローテーションを採用する割込処理回路を例に挙げて、従来の割込処理回路とその問題点について説明する。
図８は、従来の割込処理回路の内部構造を表す一例のブロック図である。
同図に示す割込処理回路３６は、オートマチック・ローテーションを採用するもので、ＩＲＲレジスタ１２と、優先順位割当回路１６と、ＩＳＲレジスタ１８と、制御回路２０とから構成されている。
【０００６】
割込処理回路３６において、まず、ＩＲＲレジスタ１２は割込要求レジスタである。ＩＲＲレジスタ１２は、図示例の場合、割込入力ＩＲ０〜５から割込要求が発生すると、これに各々対応するＩＲＲレジスタ１２のビットが‘１’にセットされ、割込処理回路３６によって割込処理が開始されると、これに対応するビットが‘０’にリセットされる。ＩＲＲレジスタ１２からの出力は優先順位割当回路１６に入力されている。
【０００７】
続いて、優先順位割当回路１６は、ＣＰＵからの信号ＥＯＩを受け取った時点で各割込入力ＩＲ０〜５に対して優先順位を割り当てる。
ＩＳＲレジスタ１８はイン・サービス・レジスタであって、上記優先順位割当回路１６と双方向に接続されている。ＩＳＲレジスタ１８は、割込処理回路３６が現在処理中の割込処理に対応するビットが‘１’にセットされ、処理が終了すると対応するビットが‘０’にリセットされる。
【０００８】
最後に、制御回路２０は、割込処理回路３６全体の動作を制御するとともに、割込処理回路３６とＣＰＵとのインタフェースをとるもので、制御回路２０とＩＲＲレジスタ１２および優先順位割当回路１６とは双方向に接続され、ＩＳＲレジスタ１８には、制御回路２０からの制御信号が入力されている。制御回路２０からＣＰＵへは割込要求信号ＩＮＴが入力され、これに対して、ＣＰＵから割込処理回路３６へは割込許可信号ＩＮＴＡ￣が入力される。
【０００９】
割込入力ＩＲ５〜０は、図９（ａ）の信号ＰＲＩの値で示すように、小さい数字を与えられている割込入力ほど高い優先順位を持つものとする。ここで、同図（ｂ）に示すように、割込入力ＩＲ０，３，５から同時に割込要求がなされ、各々対応するＩＲＲレジスタのビット０，３，５の値が‘１’になったとする。この時の優先順位は割込入力ＩＲ０が最も高いため、割込処理回路３６は、まず、割込入力ＩＲ０からの割込要求を受け付ける。
【００１０】
割込入力ＩＲ０を受け付けると、割込処理回路３６は、ＩＳＲレジスタの割込入力ＩＲ０に対応するビットの値を‘１’とし、制御回路２０により、ＣＰＵに対して割込要求信号ＩＮＴを介して割込要求を行う。それがＣＰＵに承認されると、ＣＰＵからは割込許可信号ＩＮＴＡ￣が与えられ、割込処理回路３６は、割り込みベクタ等をＣＰＵに対して発行する。これを受けて、ＣＰＵは現在実行中の処理を中断し、割込入力ＩＲ０に対応する割込処理を実行する。
【００１１】
ここで、この割込入力ＩＲ０に対応する割込処理中にさらに割込入力ＩＲ２が入力されたとする。この時のＩＲＲレジスタ１２の値は、図９（ｃ）に示すように、割込入力２，３，５に各々対応するビット２，３，５の値が‘１’となる。この時、割込入力ＩＲ２は同ＩＲ０よりも優先順位が低いので、現在処理中の割込入力ＩＲ０に対応する割込処理を中断して同ＩＲ２に対応する処理に移行することはない。
【００１２】
その後、割込入力ＩＲ０に対応する割込処理が終了し、ＣＰＵの発行する信号ＥＯＩを割込処理回路３６が受け取ると、オートマチック・ローテーション方式により、割込入力ＩＲ０に対応する優先順位が最下位となり、その他の割込入力ＩＲ１〜５の優先順位は１つずつ高くなる。すなわち、同図（ｄ）に示すように、割込入力ＩＲ１の優先順位が最も高く、次いでＩＲ２〜５の優先順位となり、ＩＲ０の優先順位が最も低く変更される。
【００１３】
従って、割込入力ＩＲ２よりも先に、同程度の重要度を持つ割込入力ＩＲ３，５からの割込要求がなされているのにも係わらず、割込処理回路３６によって次に受け付けられるのは、図１０のタイミングチャートに示すように割込入力ＩＲ２からの割込要求となる。このことは、特に最も優先順位の低い割込入力ＩＲ５が、最悪の場合、今後ＩＲ２，３，４の３つの処理が終了する間の時間だけ待たされる可能性があることを意味する。
【００１４】
また、割込処理回路３６の受け付け可能な割込入力（割込要因）が上記例のように６本という少数ではなく、より多くの本数である場合には、待たなければならない時間がその分だけ長くなる可能性がある。従って、従来の割込処理回路３６では、このような最悪の場合を考えてソフトウェアを作らなければならなかったので、それがソフトウェアのコーディング時の制約となってしまうという問題点があった。
【００１５】
これに対し、上記問題の解決を図る別の方法もある。図１１に示すように、ＩＲＲレジスタ１２の前段にＯＲゲート３８を挿入し、例えば２つの割込入力ＩＲ００，ＩＲ０１を１つの割込入力ＩＲ０として、それを処理するソフトウェアで解決する。この場合、割込入力の対象となる割込処理の先頭で、どちらの割込入力からの要求であるのかを調べ、前回処理した割込要因を前もって記憶させておいたメモリやレジスタを読み出して判断した上で処理を分岐する。
【００１６】
しかし、この方法では、ＯＲゲート３８を追加するために、ハードウェアとソフトウェアの両方を変更しなければならず手間がかかるし、ソフトウェアでどちらの割込入力からの割込要求であるのかを調べる必要があるため、割込応答時間が長くなるなどの欠点があった。
【００１７】
【発明が解決しようとする課題】
本発明の目的は、前記従来技術に基づく問題点を解消し、同等の優先順位を持つ複数の割込入力から割込要求がなされた場合に、割込要求がなされた順序とその優先順位とに応じて割込入力に優先順位を割り当て直すことができる割込処理回路を提供することにある。
【００１８】
【課題を解決するための手段】
上記目的を達成するために、本発明は、複数の割込入力からの割込要求を記憶するとともに、割込処理が開始されると対応するビットの値がリセットされるＩＲＲレジスタと、
現在処理中の割込処理に対応する割込入力を記憶するＩＳＲレジスタと、
割込処理が開始された時点のＩＲＲレジスタの値を記憶するＩＬＲレジスタと、
現在処理中の割込処理が終了する毎に、前記ＩＲＲレジスタ、前記ＩＳＲレジスタおよび前記ＩＬＲレジスタの値に基づき、複数の前記割込入力のうち、前記ＩＬＲレジスタに割込要求が記憶された第１の割込入力に対して、前記ＩＬＲレジスタに割込要求が記憶されていないものの、現在処理中の割込処理が開始された後に割込要求がなされたことによって、前記ＩＲＲレジスタに割込要求が記憶された第２の割込入力に比較して高い優先順位を与える優先順位の割り当てし直しを行い、次に処理すべき最も優先順位の高い割込入力からの割込要求を判定する優先順位割当回路と、
全体の動作を制御するとともに、マイクロプロセッサとのインタフェースをとる制御回路とを備えていることを特徴とする割込処理回路を提供するものである。
ここで、前記優先順位割当回路が、さらに、前記第２の割込入力に対して、前記ＩＲＲレジスタに割込要求が記憶されていない第３の割込入力に比較して高い優先順位を与えることが好ましい。
前記優先順位割当回路が、さらに、前記ＩＳＲレジスタに記憶されている割込入力に対して一番低い優先順位を与えることが好ましい。
【００１９】
【発明の実施の形態】
以下に、添付の図面に示す好適実施例に基づいて、本発明の割込処理回路を詳細に説明する。
【００２０】
図１は、本発明の割込処理回路の一実施例のブロック構成図である。
図示例の割込処理回路１０は、割込処理発生時の割込要求の状態を記憶しておき、割込処理終了時に、割込処理発生時に割込要求があった割込入力に対して優先的に高い優先順位を割り当てるように動作するもので、ＩＲＲレジスタ１２と、ＩＬＲレジスタ１４と、優先順位割当回路１６’と、ＩＳＲレジスタ１８と、制御回路２０とを備えている。
【００２１】
同図に示す本発明の割込処理回路１０は、図８に示す従来の割込処理回路３６との対比が容易となるように６本の割込入力ＩＲ０〜５を持つもので、ＩＬＲレジスタ１４を備えている点と、優先順位割当回路１６’の機能が多少異なる点を除いて、他の部分は従来の割込処理回路３６と同じであるから、同一の機能を備える構成要素であるＩＲＲレジスタ１２、ＩＳＲレジスタ１８および制御回路２０には同一の符号を付して、その詳細な説明は省略する。
【００２２】
割込処理回路１０において、ＩＬＲレジスタ１４は割込要求記憶レジスタであって、ＩＬＲレジスタ１４には、ＩＲＲレジスタ１２からの出力が入力されている。既に述べたように、ＩＲＲレジスタ１２は、割込処理が開始されると、これに対応するビットの値が‘０’にリセットされる。ＩＬＲレジスタ１４には、本実施例では、開始された割込処理に対応するビットの値が‘０’にリセットされた後のＩＲＲレジスタ１２の値が記憶される。
【００２３】
ＩＬＲレジスタ１４からの出力は、ＩＲＲレジスタ１２からの出力とともに優先順位割当回路１６’に入力されている。優先順位割当回路１６’は、後述する優先順位レジスタを用いて、各割込処理が終了し、図示していないマイクロプロセッサ（以下、ＣＰＵという）から、割込処理の終了を意味する信号ＥＯＩ（End Of Interrupt）が入力される毎に、各割込入力ＩＲ０〜５に対して優先順位の割り当てをし直す。
【００２４】
続いて、図２に、本発明の割込処理回路で用いられる優先順位割当回路の一実施例のブロック構成図を示す。
同図に示すように、優先順位割当回路１６’は、優先順位レジスタ２２と、優先順位判定回路２４と、優先順位変更回路２６とを備えている。なお、同図には、ＩＲＲレジスタ１２からの出力ＩＲＲ０〜ｎとＩＬＲレジスタ１４からの出力ＩＬＲ０〜ｎとの論理積をとるＡＮＤゲート２８も合わせて示してある。
【００２５】
まず、優先順位レジスタ２２は、割込入力ＩＲ０〜５の優先順位を割り当てる信号ＰＲＩを記憶する。信号ＰＲＩの状態は、割込入力の本数をｎ本とすると、その順列であるｎ！通り、本実施例の場合にはｎ＝６であるから、信号ＰＲＩの順列の個数は６！＝７２０通りとなる。従って、信号ＰＲＩとして、割り当てられた優先順位をそのままの形で記憶してもよいが、回路が大型化するのを防止するために信号ＰＲＩをエンコードするのが好ましい。
【００２６】
なお、図示例では、割込入力の本数ｎ＝６の場合の一例を示しているが、実際には、割込入力の本数がさらに多い場合もあり得る。この場合、上述するように回路規模が大型化するため、これを防止するために、信号ＰＲＩをエンコードするだけでなく、全割込入力に対して、２〜３個の割込入力を１つのグループとしてまとめ、各々のグループに対して本発明を適用するようにすることで、実用上十分な効果を得るようにすることができる。
【００２７】
続いて、優先順位判定回路２４は、優先順位レジスタ２２からの信号ＰＲＩに基づいて、ＡＮＤゲート２８からの出力が‘１’、すなわち、現在処理中の割込処理とほぼ同時に割込要求され、もしくは、前回の割込処理が開始されてから、終了されるまでの間に割込要求がなされ、まだ割込処理が開始されていない最も優先順位の高い割込入力ＩＲ０〜５を判定する。その判定結果は、判定出力信号としてＩＳＲレジスタ１８および優先順位変更回路２６へ入力される。
【００２８】
優先順位変更回路２６は、上記優先順位判定回路２４から出力され、ＩＳＲレジスタ１８へ入力される判定出力信号と、ＩＲＲレジスタ１２およびＩＬＲレジスタ１４の値と、優先順位レジスタ２２から出力される信号ＰＲＩの値とを用いて、以下に示す手順に従って新しい優先順位を決定する。この新しい優先順位は、ＣＰＵから信号ＥＯＩが入力されるタイミングで優先順位レジスタ２２に記憶され、次の割込処理の優先順位を判定するために使用される。
【００２９】
以下に、上記優先順位変更回路２６が優先順位を決定する手順を示す。
手順１）ＩＳＲレジスタ１８に‘１’がセットされているビット、すなわち、現在処理中の割込処理に対応する割込入力の優先順位を一番低くする。
手順２）ＩＬＲレジスタ１４に‘１’がセットされているビットの内、現在の優先順位レジスタ２２によって高い優先順位を割り当てられているビットから順に高い優先順位を割り当てる。
【００３０】
なお、ＩＬＲレジスタ１４に‘１’がセットされているビットに対応するＩＲＲレジスタ１２のビットには‘１’がセットされている。従って、上記手順２）では、ＡＮＤゲート２８により、両者に‘１’がセットされているビット、すなわち、現在処理中の割込処理とほぼ同時に割込要求がなされ、もしくは、前回の割込処理が開始されてから、終了されるまでの間に割込要求がなされ、まだ割込処理が開始されていない割込入力に対応するビットを検出する。
【００３１】
手順３）ＩＲＲレジスタ１２に‘１’がセットされていて、かつ、上記手順２）の対象外のビット（ＩＲＲレジスタ１２の値が‘１’で、かつ、ＩＬＲレジスタ１４の値が‘０’のビット）の内、すなわち、現在処理中の割込処理が開始された後に割込要求がなされた割込入力に対応するビットの内、現在の優先順位レジスタ２２によって高い優先順位を割り当てられているビットから順に高い優先順位を割り当てる。
【００３２】
手順４）上記手順１）〜３）の対象外のビット（ＩＲＲレジスタ１２の値が‘０’で、かつ、ＩＬＲレジスタ１４の値が‘０’のビット）、すなわち、割込要求がなされていない割込要求に対応するビットに、あらかじめ決められている優先順位、例えば割込入力ＩＲ０〜５の添字の数値の小さい順もしくは大きい順に、あるいは、現在の優先順位レジスタ２２によって高い優先順位を割り当てられているビットから順に高い優先順位を順次割り当てる。
【００３３】
手順５）最後に、上記手順１）〜４）に従って割り当てた優先順位、もしくは、これをエンコードした値を優先順位レジスタ２２に記憶する。
【００３４】
本発明の割込処理回路１０の構成は、基本的に以上のようなものである。
次に、本発明の割込処理回路１０の動作について説明する。
【００３５】
割込入力ＩＲ５〜０は、図３（ａ）の信号ＰＲＩの値で示すように、同じく小さい数字を与えられている割込入力ほど高い優先順位を持つものとする。ここで、同図（ｂ）に示すように、割込入力ＩＲ０，３，５から同時に割込要求がなされ、各々対応するＩＲＲレジスタ１２のビット０，３，５の値が‘１’になったとする。この時の優先順位は割込入力ＩＲ０が最も高いため、割込処理回路１０は、まず、割込入力ＩＲ０からの割込要求を受け付ける。
【００３６】
割込入力ＩＲ０を受け付けると、割込処理回路１０は、ＩＲＲレジスタ１２の割込入力ＩＲ０に対応するビットを‘０’にリセットし、ＩＳＲレジスタ１８の割込入力ＩＲ０に対応するビットの値を‘１’にセットする。図３（ｃ）に示すように、リセット後のＩＲＲレジスタ１２の値はこの時点でＩＬＲレジスタ１４に記憶される。そして、制御回路２０によってＣＰＵに対して割込要求を行う。これ以後の動作は既に述べた通りである。
【００３７】
ここで、この割込入力ＩＲ０に対応する割込処理中にさらに割込入力ＩＲ２が入力されたとする。図３（ｄ）に示すように、この時のＩＲＲレジスタ１２の値は、割込入力２，３，５に各々対応するビット２，３，５の値が‘１’となるが、ＩＬＲレジスタ１４のビット２の値は‘０’のままである。なお、割込入力ＩＲ２は同ＩＲ０よりも優先順位が低いので、現在処理中の割込入力ＩＲ０に対応する割込処理を中断して同ＩＲ２に対応する処理には移行しない。
【００３８】
その後、割込入力ＩＲ０に対応する割込処理が終了し、ＣＰＵの発行する信号ＥＯＩを割込処理回路１０が受け取ると、優先順位割当回路１６’は、図３（ｅ）に示すように、まず、手順１）に従って割込入力ＩＲ０に対応する優先順位を最下位の‘５’とし、手順２）に従って、ＩＬＲレジスタ１４の値と信号ＰＲＩの状態から割込入力ＩＲ３に最上位の優先順位‘０’を、割込入力ＩＲ５に第２位の優先順位‘１’をそれぞれ割り当てる。
【００３９】
続いて、手順３）に従って、ＩＲＲレジスタ１２の値と信号ＰＲＩの状態から、割込入力ＩＲ２に第３位の優先順位‘２’を割り当て、手順４）に従って、信号ＰＲＩによって割り当てられている優先順位の順序で割込入力ＩＲ１に第４位の優先順位‘３’を、また、割込入力ＩＲ４に第５位の優先順位‘４’をそれぞれ割り当てる。そして、割り当てられた優先順位は、手順５）に従って優先順位レジスタ２２に記憶される。
【００４０】
同じようにして、割込処理回路１０は、割込入力ＩＲ３を受け付けて、図４（ｆ）に示すように、同じくＩＲＲレジスタ１２の割込入力ＩＲ３に対応するビットを‘０’にリセットし、ＩＳＲレジスタ１８の割込入力ＩＲ３に対応するビットの値を‘１’にセットする。リセット後のＩＲＲレジスタ１２の値はこの時点でＩＬＲレジスタ１４に記憶される。そして、制御回路２０によってＣＰＵに対して割込要求を行う。これ以後の動作は同じである。
【００４１】
ここで、この割込入力ＩＲ３に対応する割込処理中にさらに割込入力ＩＲ１が入力されると、図４（ｇ）に示すように、この時のＩＲＲレジスタ１２の値は、割込入力１，２，５に各々対応するビット１，２，５の値が‘１’となるが、ＩＬＲレジスタ１４のビット１の値は‘０’のままである。なお、割込入力ＩＲ１は同ＩＲ３よりも優先順位が低いので、現在処理中の割込入力ＩＲ３に対応する割込処理を中断して同ＩＲ１に対応する処理には移行しない。
【００４２】
その後、割込入力ＩＲ０に対応する割込処理が終了し、ＣＰＵの発行する信号ＥＯＩを割込処理回路１０が受け取ると、優先順位割当回路１６’は、手順１）〜５）に従って、割込入力ＩＲ０〜５に対して優先順位をそれぞれ割り当てる。すなわち、図４（ｈ）に示すように、割込入力ＩＲ５に最上位の優先順位を割り当て、以下同様にして、割込入力ＩＲ２，１，４，０，３の順に優先順位を割り当てる。
【００４３】
このように、本発明の割込処理回路１０では、同時に複数の割込入力から割込要求がなされた場合には、優先順位レジスタにあらかじめ記憶されている優先順位に従って、また異なるタイミングで複数の割込入力から割込要求がなされた場合には割込要求がなされた順序に従って、優先順位を割り当てし直すことによって、図５のタイミングチャートに示すように、割込入力ＩＲ０，３，５，２，１の順に割込処理が開始される。
【００４４】
続いて、図６に、優先順位判定回路の一実施例の構成回路図を示す。
まず、同図は、割込入力が２本の場合の本発明の割込処理回路１０で用いられる優先順位判定回路２４であって、ＡＮＤゲート３０と、２つのＡＮＤ−ＯＲゲート３２とから構成されている。なお、同図に示すＡＮＤゲート２８は、図２に示すＡＮＤゲート２８であり、各々ビット０，１に対応するＡＮＤゲート２８の出力を信号ＩＮ０，１としてある。
【００４５】
同図において、信号ＰＲＩは優先順位レジスタ２２からの出力であり、優先順位を示す値をエンコードしたものである。従って、信号ＰＲＩが‘０’の場合には割込入力ＩＲ０が優先され、信号ＰＲＩが‘１’の場合には割込入力ＩＲ１が優先される。また、信号ＩＳ０，１は、ＩＳＲレジスタ１８に入力される判定出力信号であって、信号ＰＲＩおよび信号ＩＮ０，１の状態に応じて図７の真理値表に示す通りに決定される。
【００４６】
既に述べたように、従来の割込処理回路では、各割込入力に対してある程度優先順位が固定されている。これに対し、本発明の割込処理回路１０では、割込処理発生時の割込要求の状態を記憶しておき、割込処理終了時に、割込処理発生時に割込要求があった割込入力に対して優先的に高い優先順位を割り当てるように動作するため、低順位の割込入力からの割込要求が必要以上に待たされることがないという利点がある。
【００４７】
本発明の割込処理回路は、基本的に以上のようなものである。
以上、本発明の割込処理回路について詳細に説明したが、本発明は上記実施例に限定されず、本発明の主旨を逸脱しない範囲において、種々の改良や変更をしてもよいのはもちろんである。
【００４８】
【発明の効果】
以上詳細に説明した様に、本発明の割込処理回路は、現在処理中の割込処理が終了する毎に、ＩＲＲレジスタ、ＩＳＲレジスタおよびＩＬＲレジスタの値に基づき、複数の割込入力に対して優先順位の割り当てをし直し、次に処理すべき最も優先順位の高い割込入力からの割込要求を判定するようにしたものである。
これにより、本発明の割込処理回路によれば、同等の優先順位を持つ複数の割込入力から割込要求がなされた場合に、割込要求がなされた順序とその優先順位とに従って割込処理を行わせることができ、低順位の割込入力からの割込要求に対する処理が滞るという不都合の発生を防止することができる。
【図面の簡単な説明】
【図１】  本発明の割込処理回路の一実施例のブロック構成図である。
【図２】  本発明の割込処理回路で用いられる優先順位割当回路の一実施例のブロック構成図である。
【図３】  （ａ）〜（ｅ）は、図１に示す本発明の割込処理回路の動作に対応する一実施例の表である。
【図４】  （ｆ）〜（ｈ）は、図１に示す本発明の割込処理回路の続きの動作に対応する一実施例の表である。
【図５】  本発明の割込処理回路の動作を表す一実施例のタイミングチャートである。
【図６】  本発明の割込処理回路で用いられる優先順位判定回路の一実施例の構成回路図である。
【図７】  図６に示す優先順位判定回路の動作を表す一実施例の真理値表である。
【図８】  従来の割込処理回路の一例のブロック構成図である。
【図９】  （ａ）〜（ｄ）は、図８に示す従来の割込処理回路の動作に対応する一実施例の表である。
【図１０】  従来の割込処理回路の動作を表す一例のタイミングチャートである。
【図１１】  従来の割込処理回路の別の例のブロック構成図である。
【符号の説明】
１０，３６  割込処理回路
１２  ＩＲＲレジスタ
１４  ＩＬＲレジスタ
１６，１６’  優先順位割当回路
１８  ＩＳＲレジスタ
２０  制御回路
２２  優先順位レジスタ
２４  優先順位判定回路
２６  優先順位変更回路
２８，３０  ＡＮＤゲート
３２  ＡＮＤ−ＯＲゲート
３８  ＯＲゲート
【図１】
0004250283.tif 000002
【図２】
0004250283.tif 000003
【図３】
0004250283.tif 000004
【図４】
0004250283.tif 000005
【図５】
0004250283.tif 000006
【図６】
0004250283.tif 000007
【図７】
0004250283.tif 000008
【図８】
0004250283.tif 000009
【図９】
0004250283.tif 000010
【図１０】
0004250283.tif 000011
【図１１】
0004250283.tif 000012