(57)【要約】【課題】ひとつの割り込み処理が割り込み優先レベルの異なる部分から構成されている場合にリアルタイム性の度合を向上できる割り込み制御装置及び方法を実現する。【解決手段】割り込み制御装置１００は、割り込み制御回路１０１、割り込み状況レジスタ１０２、割り込みベクタ１０３及びプロセッサデータ処理部１０６を備えている。プロセッサデータ処理部１０６は、優先レベルの高い部分の割り込み処理が終了した時点で、プログラム上の命令コードに従って割り込み状況レジスタ１０２の現在処理中の割り込み動作の割り込み優先レベルを低いレベルに変更する。割り込み制御回路１０１は、割り込み待ち状態となっている割り込み要求の割り込み優先レベルと現在処理中の割り込み動作の割り込み優先レベルとを比較して、低いレベルに変更された現在処理中の割り込み動作の割り込み優先レベルより高い割り込み要求を優先して割り込み処理要求を出す。【選択図】      図１
2004355111.tif 000002
【特許請求の範囲】
【請求項１】
複数の割り込み動作の優先順位を決めるための複数の割り込み優先レベルに基づいて割り込み動作を制御する割り込み制御装置において、現在処理中の前記割り込み動作の前記割り込み優先レベルを変更する割り込み制御手段を具備することを特徴とする割り込み制御装置。
【請求項２】
前記割り込み制御手段は、前記割り込み優先レベルに基づいて前記複数の割り込み動作の処理状況を前記割り込み優先レベルごとに記憶する割り込み状況記憶手段と、前記割り込み状況記憶手段に記憶されている現在処理中の前記割り込み動作の前記割り込み優先レベルを変更する割り込み優先レベル変更手段と、を具備することを特徴とする請求項１記載の割り込み制御装置。
【請求項３】
請求項１又は請求項２記載の割り込み制御装置を具備することを特徴とするプロセッサ。
【請求項４】
複数の割り込み動作の優先順位を決めるための複数の割り込み優先レベルに基づいて割り込み動作を制御する割り込み制御方法において、現在処理中の前記割り込み動作の前記割り込み優先レベルを変更する割り込み制御ステップを具備することを特徴とする割り込み制御方法。
【請求項５】
前記割り込み制御ステップは、前記割り込み優先レベルに基づいて前記複数の割り込み動作の処理状況を前記割り込み優先レベルごとに記憶する割り込み状況記憶ステップと、前記割り込み状況記憶ステップで記憶された現在処理中の前記割り込み動作の前記割り込み優先レベルを変更する割り込み優先レベル変更ステップと、を具備することを特徴とする請求項４記載の割り込み制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、マイクロコンピュータ及びＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）などのプロセッサに用いられ、特にＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）が搭載できない比較的小規模なＦＷ（Ｆｉｒｍｗａｒｅ）を実装するプロセッサに用いられる割り込み制御装置及び方法に関するものである。
【０００２】
【従来の技術】
従来、プロセッサの割り込み制御技術としては、特許文献１、特許文献２及び特許文献３に記載されているものがある。
【０００３】
半導体集積回路からなるマイクロコンピュータ又はＤＳＰといったプロセッサは、機器制御用として広範囲に使用されている。機器制御においては、プロセッサの割り込み動作が使用される。プロセッサは、制御対象又はプロセッサ自身で発生する割り込み要因を割り込み要求として認識し、これに対応した所定のプログラムを実行することにより、所望の制御を実現する。機器制御の実装においては、リアルタイム性は最も重要な要素のひとつになっている。リアルタイム性とは、所望の制御を所定の時間内に実行することをいう。複数の割り込み要求はそれぞれ独立に発生するもので、各割り込み要因の優先順位によって、多重割り込み、または、割り込み待ちの状態が発生する。その制御は、予め決められた優先レベルで示す優先順位によってハードウェアで制御される。
【０００４】
図３は、従来の割り込み制御装置の構成を示すブロック図である。図３に示すように、割り込み制御装置１０は、割り込み制御回路１１、割り込み状況レジスタ１２及び割り込みベクタ１３を備えている。また、割り込み制御回路１１は、ＩＰ（Ｉｎｓｔｒｕｃｔｉｏｎ  Ｐｏｉｎｔｅｒ）制御部１４と接続されている。ＩＰ制御部１４は処理装置１５と接続されている。
【０００５】
割り込み制御回路１１は、プロセッサの外部及び内部からの複数の割り込み要求を受けるようになっている。複数の割り込み要求にはそれぞれ割り込み動作の優先順位を決めるための割り込み優先レベルが決められている。ここでは、割り込み制御回路１１は、７つの割り込み要求Ａ−１、Ａ−２、Ｂ−１、Ｂ−２、Ｂ−３、Ｃ−１、Ｃ−２を受けるようになっている。割り込み要求Ａ−１及びＡ−２が最も割り込み優先レベルの高い優先レベルＡである。割り込み要求Ｂ−１、Ｂ−２及びＢ−３が２番目に割り込み優先レベルの高い優先レベルＢである。割り込み要求Ｃ−１及びＣ−２が最も割り込み優先レベルの低い優先レベルＣである。なお、割り込み制御回路１１は、割り込み優先レベルが同一である割り込み要求が複数同時に発生した場合は、ひとつしか受付しないように構成されている。
【０００６】
割り込み状況レジスタ１２は、割り込み優先レベルごとに割り込み動作の処理状況を記憶しているレジスタであり、優先レベルレジスタ１６Ａ、優先レベルレジスタ１７Ｂ及び優先レベルレジスタ１８Ｃを有している。優先レベルレジスタ１６Ａは、割り込み優先レベルが優先レベルＡの割り込み動作が処理中か否かを保持している。また、優先レベルレジスタ１７Ｂは、割り込み優先レベルが優先レベルＢの割り込み動作が処理中か否かを保持している。また、優先レベルレジスタ１８Ｃは、割り込み優先レベルが優先レベルＣの割り込み動作が処理中か否かを保持している。
【０００７】
割り込み制御回路１１は、割り込み要求を受けるとその割り込み要求に決められている割り込み優先レベルと割り込み状況レジスタ１２の中で処理中を示している優先レベルレジスタの割り込み優先レベルとを比較し、ＩＰ制御部１４に対して割り込み処理要求を出すかどうかを決定する。割り込み制御回路１１は、ＩＰ制御部１４に対して割り込み処理要求を出した場合に、その割り込み動作の割り込み優先レベルに対応する割り込み状況レジスタ１２の優先レベルレジスタの値を処理中を示す値に変更する。また、割り込み制御回路１１は、ＩＰ制御部１４から割り込み処理終了の通知を受け取ると、受け取った割り込み動作の割り込み優先レベルに対応する割り込み状況レジスタ１２の優先レベルレジスタの処理中を示す値をクリアして処理無しとする。
【０００８】
割り込みベクタ１３は、各割り込み動作に対応する割り込み処理プログラムを指定するＩＰアドレス（割り込みベクタ情報）を記憶している。割り込み制御回路１１は、割り込みベクタ１３から割り込みベクタ情報を取り出して割り込み処理要求とともにＩＰ制御部１４に送る。
【０００９】
ＩＰ制御部１４は、割り込み制御回路１１から割り込み処理要求を受けると、以下の割り込み手続き処理を行う。すなわち、ＩＰ制御部１４は、現在処理中のＩＰアドレスを一時退避し、割り込み制御回路１１から受け取ったＩＰアドレス（割り込みベクタ情報）をＩＰレジスタに設定する。処理装置１５は、ＩＰ制御部１４が行った割り込み手続き処理に従って割り込み処理を実行する。ＩＰ制御部１４は、処理装置１５が割り込み処理を終了した時、割り込み制御回路１１に割り込み動作の終了を通知する。
【００１０】
次に、従来の割り込み制御装置１０の動作について、図３とともに図４を参照して説明する。図４は従来の割り込み制御装置の制御例を示すタイミング図である。
【００１１】
割り込み要求Ａ−１を受けると、割り込み制御回路１１は、割り込み状況レジスタ１２の優先レベルレジスタ１６Ａの値を読んで処理中でないことを確認し、割り込み処理要求を出すことを決定する。割り込み制御回路１１は、割り込みベクタ１３から割り込み要求Ａ−１に対応する割り込みベクタ情報を読み出す。次に、割り込み制御回路１１は、割り込み要求Ａ−１についての割り込み処理要求Ａ´−１を読み出した割り込みベクタ情報とともにＩＰ制御部１４に送る。この時、割り込み制御回路１１は、割り込み状況レジスタ１２の優先レベルレジスタ１６Ａの値を処理中を示す値に変更する。ＩＰ制御部１４は、受け取った割り込み処理要求Ａ´−１とその割り込みベクタ情報に基づいて割り込み手続き処理を行う。処理装置１５は、ＩＰ制御部１４が行った割り込み手続き処理に従って、割り込み要求Ａ−１に対応する割り込み処理ａ−１を実行する。
【００１２】
次に、割り込み要求Ｂ−３を受けると、割り込み制御回路１１は、割り込み状況レジスタ１２の優先レベルレジスタ１６Ａの値を読んで優先レベルＢより割り込み優先レベルの高い優先レベルＡの割り込み動作が処理中であることを確認し、その時点では割り込み処理要求をしないことを決定する。この時、割り込み制御回路１１は、割り込み要求Ｂ−３を割り込み待ち状態として保持する。
【００１３】
割り込み処理ａ−１が終了すると、ＩＰ制御部１４は、割り込み制御回路１１に対して割り込み処理ａ−１の終了を通知する。この時点で、割り込み制御回路１１は、割り込み状況レジスタ１２の優先レベルレジスタ１６Ａの処理中を示す値をクリアして処理無しとする。同時に、割り込み制御回路１１は、割り込み待ち状態の中で最も割り込み優先レベルの高い割り込み要求について、割り込み処理要求を出すかどうかを判定する。この時点では、割り込み要求Ｂ−３だけが割り込み待ち状態となっており、割り込み制御回路１１は、割り込み要求Ｂ−３についての割り込み処理要求を出すかどうか判定する。すなわち、割り込み制御回路１１は、割り込み状況レジスタ１２の優先レベルレジスタ１６Ａ及び１７Ｂの値を読んで処理中でないことを確認し、割り込み処理要求を出すことを決定する。
【００１４】
次に、割り込み制御回路１１は、割り込みベクタ１３から割り込み要求Ｂ−３に対応する割り込みベクタ情報を読み出し、割り込み要求Ｂ−３についての割り込み処理要求Ｂ´−３を割り込みベクタ情報とともにＩＰ制御部１４に送る。この時、割り込み制御回路１１は、割り込み状況レジスタ１２の優先レベルレジスタ１７Ｂの値を処理中を示す値に変更する。ＩＰ制御部１４は、受け取った割り込み処理要求Ｂ´−３とその割り込みベクタ情報に基づいて割り込み手続き処理を行う。処理装置１５は、ＩＰ制御部１４が行った割り込み手続き処理に従って、割り込み要求Ｂ−３に対応する割り込み処理ｂ−３を実行する。
【００１５】
同様に、その後の割り込み要求Ｃ−２、Ｂ−１、Ａ−２、Ｃ−１について、図４の後半部分に示すように、各割り込み優先レベルに基づいて割り込み処理が実行される。以下、図４の後半部分の割り込み処理について説明する。
【００１６】
割り込み要求Ｃ−２を受けて割り込み処理ｃ−２が実行されている途中に、割り込み優先レベルが現在処理中の優先レベルＣより高い割り込み要求Ｂ−１を受けたため、割り込み処理ｃ−２が中断されて割り込み処理ｂ−１が開始される。さらに、割り込み処理ｂ−１が実行されている途中に、割り込み優先レベルが現在処理中の優先レベルＢより高い割り込み要求Ａ−２を受けたため、割り込み処理ｂ−１も中断されて割り込み処理ａ−２が開始される。
【００１７】
次に、割り込み処理ａ−２が終了すると割り込み処理ｂ−１の残りの処理が実行される。割り込み制御装置１０は、割り込み処理ｂ−１が実行されている途中に割り込み要求Ｃ−１を受ける。ここで、割り込み要求Ｃ−１の割り込み優先レベルは現在処理中の優先レベルＢより低いためそのまま割り込み処理ｂ−１の残りの処理が実行され、割り込み要求Ｃ−１は割り込み待ち状態となる。割り込み処理ｂ−１が終了すると、割り込み待ち状態の割り込み要求Ｃ−１の割り込み優先レベルと処理中となっている割り込み処理ｃ−２の優先レベルＣとが比較されるが、同等であるため、割り込み処理ｃ−２の残りの処理が実行され、割り込み要求Ｃ−１は割り込み待ち状態が継続する。割り込み処理ｃ−２が終了すると、割り込み待ち状態であった割り込み要求Ｃ−１についての割り込み処理要求Ｃ´−１が出され、割り込み処理ｃ−１が開始される。
【００１８】
この例では、図４に示すように、優先レベルレジスタ１６Ａ、１７Ｂ、１８Ｃの値が全て処理中の時間帯があり、３重の割り込み処理が発生していることを示している。
【００１９】
また、一般に割り込み制御においては、割り込み要因ごとに命令コード上で制御できる割り込みマスク機能が存在し、図３における各割り込み要求信号の元にマスク機能がある。マスク機能を有効にすると、たとえ割り込み要因が発生しても、割り込み制御回路１１には割り込み要求が入力されない。命令コード上でそのマスクを無効にする処理が行われると、それまでマスク機能で止められていた割り込み要求が、割り込み制御回路１１に入力される。すなわち、一時的に割り込み処理を発生させない場合に、このマスク機能が使用される。
【００２０】
このようにして、従来のプロセッサにおいて割り込み制御が行われている。
【００２１】
【特許文献１】
特開平６−３１４２０５号公報
【特許文献２】
特開平１１−７３３３２号公報
【特許文献３】
特開２００２−１５７１３０号公報
【００２２】
【発明が解決しようとする課題】
しかしながら、従来のプロセッサの割り込み制御においては、以下のような場合、リアルタイム性の度合が低いという問題がある。
【００２３】
図４に示した割り込み処理ａ−１では、前半部分の処理は優先レベルＡに相当するが、その後半部分は優先順位が高くなく優先レベルＣ相当である場合を示している。従って、割り込み要求Ａ−１の後に割り込み要求Ｂ−３が来る従来例の場合、リアルタイム性の度合の高い処理としては、割り込み処理ａ−１の前半部分が終了した後に割り込み処理ｂ−３を行い、その後再び割り込み処理ａ−１の後半部分の処理を行うことが理想である。これを、従来の割り込み制御装置１０で行う方法としては、割り込み処理ａ−１の前半部分が終了した段階で、プログラム上で後半部分の割り込み優先レベルに相当する優先レベルＣの割り込みを別途用意して発生させ、割り込み処理ａ−１を終了させる方法がある。しかし、この場合は、割り込み要因の増加及びプログラム上で割り込み要因を発生させる制御が必要となり、制御が複雑になるという問題がある。
【００２４】
本発明は、かかる点に鑑みてなされたものであり、複数の割り込み動作の優先順位を決めるための複数の割り込み優先レベルに基づいて割り込み動作を制御する割り込み制御装置において、簡易な制御で割り込み優先レベルを変更することにより、リアルタイム性の度合を向上させることができる割り込み制御装置を提供することを目的とする。
【００２５】
【課題を解決するための手段】
請求項１記載の割り込み制御装置は、複数の割り込み動作の優先順位を決めるための複数の割り込み優先レベルに基づいて割り込み動作を制御する割り込み制御装置において、現在処理中の前記割り込み動作の前記割り込み優先レベルを変更する割り込み制御手段を具備する構成を採る。
【００２６】
この構成によれば、現在処理中の割り込み動作の割り込み優先レベルを変更するため、簡易な制御でリアルタイム性の度合を向上できる割り込み制御を実現できる。
【００２７】
請求項２記載の割り込み制御装置は、請求項１記載の割り込み制御装置において、前記割り込み制御手段が、前記割り込み優先レベルに基づいて前記複数の割り込み動作の処理状況を前記割り込み優先レベルごとに記憶する割り込み状況記憶手段と、前記割り込み状況記憶手段に記憶されている現在処理中の前記割り込み動作の前記割り込み優先レベルを変更する割り込み優先レベル変更手段と、を具備する構成を採る。
【００２８】
この構成によれば、請求項１記載の発明の効果に加えて、前記割り込み状況記憶手段に記憶されている現在処理中の割り込み動作の割り込み優先レベルを前記割り込み優先レベル変更手段が変更することができるため、簡易な制御でリアルタイム性の度合を向上できる割り込み制御を実現できる。
【００２９】
請求項３記載のプロセッサは、請求項１又は請求項２記載の割り込み制御装置を具備する構成を採る。
【００３０】
この構成によれば、請求項１又は請求項２記載の発明の効果を有するプロセッサを得ることができる。
【００３１】
請求項４記載の割り込み制御方法は、複数の割り込み動作の優先順位を決めるための複数の割り込み優先レベルに基づいて割り込み動作を制御する割り込み制御方法であって、現在処理中の前記割り込み動作の前記割り込み優先レベルを変更する割り込み制御ステップを具備するようにした。
【００３２】
この方法によれば、現在処理中の割り込み動作の割り込み優先レベルを変更するため、簡易な制御でリアルタイム性の度合を向上できる割り込み制御を実現できる。
【００３３】
請求項５記載の割り込み制御方法は、請求項４記載の割り込み制御方法において、前記割り込み制御ステップが、前記割り込み優先レベルに基づいて前記複数の割り込み動作の処理状況を前記割り込み優先レベルごとに記憶する割り込み状況記憶ステップと、前記割り込み状況記憶ステップで記憶された現在処理中の前記割り込み動作の前記割り込み優先レベルを変更する割り込み優先レベル変更ステップと、を具備するようにした。
【００３４】
この方法によれば、請求項４記載の発明の効果に加えて、前記割り込み状況記憶ステップで記憶された現在処理中の割り込み動作の割り込み優先レベルを変更することができるため、簡易な制御でリアルタイム性の度合を向上できる割り込み制御を実現できる。
【００３５】
【発明の実施の形態】
本発明の骨子は、複数の割り込み動作の優先順位を決めるための複数の割り込み優先レベルに基づいて割り込み動作を制御する割り込み制御装置において、現在処理中の割り込み動作の割り込み優先レベルを変更することである。
【００３６】
以下、本発明の実施の形態について、図面を参照して詳細に説明する。
【００３７】
図１は、本発明の一実施の形態に係る割り込み制御装置の構成を示すブロック図である。
【００３８】
図１に示すように、割り込み制御装置１００は、割り込み制御回路１０１、割り込み状況レジスタ１０２、割り込みベクタ１０３及びプロセッサデータ処理部１０６を備えている。また、割り込み制御回路１０１は、ＩＰ（Ｉｎｓｔｒｕｃｔｉｏｎ  Ｐｏｉｎｔｅｒ）制御部１０４と接続されている。ＩＰ制御部１０４は処理装置１０５と接続されている。
【００３９】
割り込み制御回路１０１は、プロセッサの外部及び内部からの複数の割り込み要求を受けるようになっている。複数の割り込み要求にはそれぞれ割り込み動作の優先順位を決めるための割り込み優先レベルが決められている。ここでは、割り込み制御回路１０１は、７つの割り込み要求Ａ−１、Ａ−２、Ｂ−１、Ｂ−２、Ｂ−３、Ｃ−１、Ｃ−２を受けるようになっている。割り込み要求Ａ−１及びＡ−２が最も割り込み優先レベルの高い優先レベルＡである。割り込み要求Ｂ−１、Ｂ−２及びＢ−３が２番目に割り込み優先レベルの高い優先レベルＢである。割り込み要求Ｃ−１及びＣ−２が最も割り込み優先レベルの低い優先レベルＣである。なお、割り込み制御回路１０１は、割り込み優先レベルが同一である割り込み要求が複数同時に発生した場合は、ひとつしか受付しないように構成されている。
【００４０】
割り込み状況レジスタ１０２は、割り込み優先レベルごとに割り込み動作の処理状況を記憶しているレジスタであり、優先レベルレジスタ１０２１Ａ、優先レベルレジスタ１０２２Ｂ及び優先レベルレジスタ１０２３Ｃを有している。優先レベルレジスタ１０２１Ａは、割り込み優先レベルが優先レベルＡの割り込み動作をいくつ処理しているかを保持している。また、優先レベルレジスタ１０２２Ｂは、割り込み優先レベルが優先レベルＢの割り込み動作をいくつ処理しているかを保持している。また、優先レベルレジスタ１０２３Ｃは、割り込み優先レベルが優先レベルＣの割り込み動作をいくつ処理しているかを保持している。
【００４１】
割り込み制御回路１０１は、割り込み要求を受けるとその割り込み要求に決められている割り込み優先レベルと割り込み状況レジスタ１０２の中で現在処理中となっている優先レベルレジスタの割り込み優先レベルとを比較し、ＩＰ制御部１０４に対して割り込み処理要求を出すかどうかを決定する。割り込み制御回路１０１は、ＩＰ制御部１０４に対して割り込み処理要求を出した場合に、その割り込み動作の割り込み優先レベルに対応する割り込み状況レジスタ１０２の優先レベルレジスタの値をインクリメントして処理中の件数を追加する。また、割り込み制御回路１０１は、ＩＰ制御部１０４から割り込み処理終了の通知を受け取ると、受け取った割り込み動作の割り込み優先レベルに対応する割り込み状況レジスタ１０２の優先レベルレジスタの値をデクリメントして処理中の件数を削減する。
【００４２】
割り込みベクタ１０３は、各割り込み動作に対応する割り込み処理プログラムを指定するＩＰアドレス（割り込みベクタ情報）を記憶している。割り込み制御回路１０１は、割り込みベクタ１０３から割り込みベクタ情報を取り出して割り込み処理要求とともにＩＰ制御部１０４に送る。
【００４３】
ＩＰ制御部１０４は、割り込み制御回路１０１から割り込み処理要求を受けると、以下の割り込み手続き処理を行う。すなわち、ＩＰ制御部１０４は、現在処理中のＩＰアドレスを一時退避し、割り込み制御回路１０１から受け取ったＩＰアドレス（割り込みベクタ情報）をＩＰレジスタに設定する。処理装置１０５は、ＩＰ制御部１０４が行った割り込み手続き処理に従って割り込み処理を実行する。ＩＰ制御部１０４は、処理装置１０５が割り込み処理を終了した時、割り込み制御回路１０１に割り込み動作の終了を通知する。
【００４４】
プロセッサデータ処理部１０６は、処理装置１０５が割り込み処理を実行する時に、その割り込み処理プログラムの命令コードに従って現在処理中の割り込み優先レベルを変更するために、処理装置１０５から命令を受け取って割り込み状況レジスタ１０２のそれぞれの優先レベルレジスタの値を書き換える。
【００４５】
次に、本実施の形態の割り込み制御装置１００の動作について、図１とともに図２を参照して説明する。図２は本実施の形態に係る割り込み制御装置の制御例を示すタイミング図である。
【００４６】
割り込み要求Ａ−１を受けると、割り込み制御回路１０１は、割り込み状況レジスタ１０２の優先レベルレジスタ１０２１Ａの値を読んで処理中でない（０件処理中）ことを確認し、割り込み処理要求を出すことを決定する。割り込み制御回路１０１は、割り込みベクタ１０３から割り込み要求Ａ−１に対応する割り込みベクタ情報を読み出す。次に、割り込み制御回路１０１は、割り込み要求Ａ−１についての割り込み処理要求Ａ´−１を読み出した割り込みベクタ情報とともにＩＰ制御部１０４に送る。この時、割り込み制御回路１０１は、割り込み状況レジスタ１０２の優先レベルレジスタ１０２１Ａの値をインクリメントして１件処理中とする。ＩＰ制御部１０４は、割り込み処理要求Ａ´−１とその割り込みベクタ情報に基づいて割り込み手続き処理を行う。処理装置１０５は、ＩＰ制御部１０４が行った割り込み手続き処理に従って、割り込み要求Ａ−１に対応する割り込み処理ａ−１を実行する。
【００４７】
次に、割り込み要求Ｂ−３を受けると、割り込み制御回路１０１は、割り込み状況レジスタ１０２の優先レベルレジスタ１０２１Ａの値を読んで優先レベルＢより割り込み優先レベルの高い優先レベルＡの割り込み動作が１件処理中であることを確認し、その時点では割り込み処理要求をしないことを決定する。この時、割り込み制御回路１０１は、割り込み要求Ｂ−３を割り込み待ち状態として保持する。
【００４８】
割り込み処理ａ−１の前半部分が終了すると、プロセッサデータ処理部１０６が、割り込み優先レベルをＡからＣに変更するプログラム上の命令コードに従って、割り込み状況レジスタ１０２の優先レベルレジスタ１０２１Ａの値をデクリメントして０件処理中とするとともに、優先レベルレジスタ１０２３Ｃの値をインクリメントして１件処理中にする。この時点で、割り込み制御回路１０１は、割り込み待ち状態となっている割り込み要求Ｂ−３の割り込み優先レベルと現在処理中となっている割り込み動作の割り込み優先レベルとを比較して割り込み処理要求を出すかどうかを判定する。この時、割り込み制御回路１０１は、プロセッサデータ処理部１０６による変更によって現在処理中となっているのは優先レベルレジスタ１０２３Ｃであるから、現在処理中の割り込み動作より割り込み優先レベルの高い割り込み要求Ｂ−３についての割り込み処理要求Ｂ´−３をＩＰ制御部１０４に対して出すことを決定する。
【００４９】
従って、割り込み制御回路１０１は、割り込みベクタ１０３から割り込み要求Ｂ−３に対応する割り込みベクタ情報を読み出し、読み出した割り込みベクタ情報とともに割り込み処理要求Ｂ´−３をＩＰ制御部１０４に送る。また、割り込み制御回路１０１は、割り込み状況レジスタ１０２の優先レベルレジスタ１０２２Ｂの値をインクリメントして１件処理中にする。ＩＰ制御部１０４は、割り込み処理要求Ｂ´−３とその割り込みベクタ情報に基づいて割り込み手続き処理を行う。処理装置１０５は、ＩＰ制御部１０４が行った割り込み手続き処理に従って、割り込み要求Ｂ−３に対応する割り込み処理ｂ−３を実行する。
【００５０】
これによって、従来の割り込み制御装置では、図４に示すように割り込み処理ａ−１が全て終了した後でなければ割り込み処理ｂ−３が開始されなかったが、本実施の形態によれば、図２に示すように割り込み処理ａ−１の前半部分が終了した段階で割り込み処理ｂ−３が開始され、かつ、割り込み処理ｂ−３が終了後に再び割り込み処理ａ−１の後半部分の処理が行われる。
【００５１】
このように、本実施の形態の割り込み制御装置によれば、割り込み処理中の処理が割り込み優先レベルの異なる処理部分で構成されている場合、特に、優先順位が高い処理の後に優先順位の低い処理がある場合に、プログラム上で現在処理中の割り込み優先レベルを低いレベルに変更する（優先順位を下げる）ことによって、他の要因の割り込み処理を開始することができ、リアルタイム性の度合を向上できる。なお、本実施の形態においては、割り込み優先レベルを低いレベルに変更する（優先順位を下げる）例を説明した。本発明の別の例として、割り込み優先レベルが低い割り込み動作の途中に部分的に処理の優先順位を上げる必要がある場合には、割り込み状況レジスタの優先レベルを高いレベルに変更するように構成してもよい。これにより、所定部分だけ優先順位を上げて必要な処理を実行することが可能となり、リアルタイム性の度合を向上できる。
【００５２】
【発明の効果】
以上説明したように、本発明の割り込み制御装置によれば、複数の割り込み優先レベルに基づいて割り込み動作を制御する割り込み制御において、簡易な制御で割り込み優先レベルを変更することによりリアルタイム性の度合を向上できる割り込み制御が実現できる。
【図面の簡単な説明】
【図１】本発明の実施の形態に係る割り込み制御装置の構成を示すブロック図
【図２】本実施の形態に係る割り込み制御装置の制御例を示すタイミング図
【図３】従来の割り込み制御装置の構成を示すブロック図
【図４】従来の割り込み制御装置の制御例を示すタイミング図
【符号の説明】
１００  割り込み制御装置
１０１  割り込み制御回路
１０２  割り込み状況レジスタ
１０３  割り込みベクタ
１０４  ＩＰ制御部
１０５  処理装置
１０６  プロセッサデータ処理部
１０２１Ａ  優先レベルレジスタ
１０２２Ｂ  優先レベルレジスタ
１０２３Ｃ  優先レベルレジスタ
１０  割り込み制御装置
１１  割り込み制御回路
１２  割り込み状況レジスタ
１３  割り込みベクタ
１４  ＩＰ制御部
１５  処理装置
１６Ａ  優先レベルレジスタ
１７Ｂ  優先レベルレジスタ
１８Ｃ  優先レベルレジスタ
【図１】
2004355111.tif 000003
【図２】
2004355111.tif 000004
【図３】
2004355111.tif 000005
【図４】
2004355111.tif 000006