(57)【特許請求の範囲】
【請求項１】
少なくとも２つのインタラプトソースを受信し、少なくとも一つの選択信号に応答して任意に調整可能な優先順位によってｍ（ｍは自然数）個のインタラプトソースを外部に出力するインタラプトソース割当て部と、
前記インタラプトソース割当て部から出力されるｍ個のインタラプトソースに対応するビットをセットするインタラプトペンディングレジスタと、
前記セットされたビットに対応するインタラプトソースを制御して伝送する制御レジスタと、
前記制御レジスタから入力されるインタラプトソースの優先順位を決定して優先順位によって出力する優先順位レジスタと、
前記優先順位レジスタから出力されるインタラプトソースに応答してインタラプト要請信号を出力するインタラプト要請信号発生器と、を備え、
前記インタラプトソース割当て部から出力されるｍ個のインタラプトソースの優先順位は、前記インタラプトペンディングレジスタの対応するビットの位置によって異なることを特徴とするインタラプトコントローラ。
【請求項２】
前記インタラプトソース割当て部は、
対応する選択信号に応答して、前記ｍ個のインタラプトソースのうち、何れか１つのインタラプトソースを選択して出力する第１ないし第ｍ選択部を備えることを特徴とする請求項１に記載のインタラプトコントローラ。
【請求項３】
前記第１選択部から出力されるインタラプトソースが最上位の優先順位を有し、第２ないし第ｍ選択部は、インタラプトソースの優先順位によって対応するインタラプトソースを出力することを特徴とする請求項２に記載のインタラプトコントローラ。
【請求項４】
前記選択信号は、
中央処理装置によって制御され、
前記第１ないし第ｍ選択信号は、インタラプトソースの優先順位によって対応するインタラプトソースを選択することを特徴とする請求項３に記載のインタラプトコントローラ。
【請求項５】
前記選択信号を発生させる選択レジスタをさらに備えることを特徴とする請求項４に記載のインタラプトコントローラ。
【請求項６】
前記インタラプトソースの数がｍ個を超える場合、超過するインタラプトソースを保存するインタラプトソース拡張部をさらに備えることを特徴とする請求項１に記載のインタラプトコントローラ。
【請求項７】
前記超過するインタラプトソースは、
サブインタラプトソースとして保存されることを特徴とする請求項６に記載のインタラプトコントローラ。
【請求項８】
前記インタラプトソース拡張部は、
少なくとも２つの前記サブインタラプトソースを保存する拡張レジスタと、
前記サブインタラプトソースを反転論理積する反転論理積手段と、
前記サブインタラプトソースを反転論理和する反転論理和手段と、
極性信号に応答して前記反転論理積手段及び前記反転論理和手段の出力のうち、何れか１つを選択して出力する選択手段と、を備えることを特徴とする請求項７に記載のインタラプトコントローラ。
【請求項９】
前記選択手段は、
前記極性信号が第１レベルである場合、前記反転論理和手段の出力を出力し、前記極性信号が第２レベルである場合、前記反転論理積手段の出力を出力することを特徴とする請求項８に記載のインタラプトコントローラ。
【請求項１０】
前記インタラプトソース拡張部は、
ｍ個のインタラプトソースを発生させるｍ個のモジュールに各々対応するようにｍ個が存在できることを特徴とする請求項６に記載のインタラプトコントローラ。
【請求項１１】
前記少なくとも２つのサブインタラプトソースが活性化される場合の論理レベルは相等しいことを特徴とする請求項９に記載のインタラプトコントローラ。
【請求項１２】
少なくとも２つのインタラプトソースを受信する段階と、
少なくとも一つの選択信号に応答して任意に調整可能な優先順位によってｍ（ｍは自然数）個のインタラプトソースを外部に出力する段階と、
前記ｍ個のインタラプトソースに対応するビットをセットする段階と、
前記セットされたビットに対応するインタラプトソースを伝送する段階と、
入力されるインタラプトソースの優先順位を決定する段階と、
決定された優先順位によって前記インタラプトソースを出力する段階と、
前記インタラプトソースに応答してインタラプト要請信号を出力する段階と、を備え、
前記外部に出力されたインタラプトソースの優先順位は、前記セットされたビットの位置によって異なることを特徴とするインタラプト制御方法。
【請求項１３】
ｍ（ｍは２より大きな自然数）個のインタラプトソース及び少なくとも１つの選択信号を受信し、受信された前記少なくとも１つの選択信号に応答して任意に調整可能な優先順位によって前記ｍ個のインタラプトソースのうち、何れか１つのインタラプトソースを各々出力するｍ個の選択部を備えるインタラプトソース割当て部と、
前記インタラプトソース割当て部から出力されるｍ個のインタラプトソースに対応するビットをセットするインタラプトペンディングレジスタと、
前記ｍ個のインタラプトソースの優先順位によって前記ｍ個のインタラプトソースのうち、少なくとも１つを選択する前記少なくとも１つの選択信号を発生させる選択レジスターと、を備え、
前記インタラプトソース割当て部から出力されるｍ個のインタラプトソースの優先順位は、前記インタラプトペンディングレジスタの対応するビットの位置によって異なることを特徴とするインタラプトコントローラ。
【請求項１４】
中央処理装置をさらに備え、ユーザは印加を用いて前記ｍ個のインタラプトソースの優先順位を変化させることを特徴とする請求項１３に記載のインタラプトコントローラ。
【請求項１５】
前記ｍ個のインタラプトソースの優先順位は、循環方式または固定方式によって決定されることを特徴とする請求項１３に記載のインタラプトコントローラ。
【請求項１６】
前記ｍ個のインタラプトソースに対応するビットをセットするインタラプトペンディングレジスタと、
前記セットされたビットに対応するインタラプトソースを制御して伝送する制御レジスタと、  入力されるインタラプトソースの優先順位を決定して優先順位によって出力する優先順位レジスタと、
前記優先順位レジスタから出力されるインタラプトソースに応答してインタラプト要請信号を出力するインタラプト要請信号発生器と、をさらに備えることを特徴とする請求項１３に記載のインタラプトコントローラ。
【請求項１７】
ｍ（ｍは、２より大きな自然数）個のインタラプトソースの優先順位によって、前記ｍ個のインタラプトソースのうち、少なくとも１つを選択する段階と、
少なくとも１個の前記インタラプトソースに対応して、少なくとも１つの選択信号を発生させる段階と、
前記ｍ個のインタラプトソース及び前記少なくとも１つの選択信号を受信する段階と、
受信された前記少なくとも１つの選択信号に応答して、任意に調整可能な優先順位によって前記少なくとも１つのインタラプトソースを出力する段階と、
前記出力されたインタラプトソースに対応するビットをセットする段階と、を備え、
前記外部に出力されたインタラプトソースの優先順位は、前記セットされたビットの位置によって異なることを特徴とするインタラプト制御方法。
【請求項１８】
前記ｍ個のインタラプトソースに対応するビットをセットする段階と、
前記セットされたビットに対応するインタラプトソースを伝送する段階と、
入力されるインタラプトソースの優先順位を決定する段階と、
前記決定された優先順位によって、前記ｍ個のインタラプトソースのうち少なくとも１つを出力する段階と、
前記ｍ個のインタラプトソースのうちから受信された少なくとも１つのインタラプトソースに応答して、インタラプト要請信号を出力する段階と、をさらに備えることを特徴とする請求項１７に記載のインタラプト制御方法。
【請求項１９】
ｍ（ｍは、２より大きな自然数）個のインタラプトソースを受信するｍ個の選択部を備え、前記ｍ個の選択部のうち、少なくとも１つの選択部は受信された少なくとも１つの選択信号に応答して、任意に調整可能な優先順位によって前記ｍ個のインタラプトソースのうち、何れか１つのインタラプトソースを出力するインタラプトソース割当て部と、
前記インタラプトソース割当て部から出力されるｍ個のインタラプトソースに対応するビットをセットするインタラプトペンディングレジスタと、
少なくとも２つのレジスタを備える優先順位レジスタであって、前記少なくとも２つのレジスタのうち、少なくとも１つは、前記インタラプトソース割当て部から出力されるｍ個のインタラプトソースのうち、少なくとも１つに応答して１つまたはそれ以上のビットを保存する前記優先順位レジスタと、を備え、
前記インタラプトソース割当て部から出力されるｍ個のインタラプトソースの優先順位は、前記インタラプトペンディングレジスタの対応するビットの位置によって異なることを特徴とするインタラプトコントローラ。
【請求項２０】
前記優先順位レジスタは、
前記２つのレジスタのうち、何れか１つのレジスタの最上位ビット位置に最上位の優先順位を有するインタラプトソースを保存し、前記レジスタの最下位ビット位置に最下位優先順位を有するインタラプトソースを保存することを特徴とする請求項１９に記載のインタラプトコントローラ。
【請求項２１】
ｍ（ｍは、２より大きな自然数）個のインタラプトソースを受信するｍ個の選択部を備え、前記ｍ個の選択部のうち、少なくとも１つの選択部は、受信された少なくとも１つの選択信号に応答して任意に調整可能な優先順位によって前記ｍ個のインタラプトソースのうち、何れか１つのインタラプトソースを出力するインタラプトソース割当て部と、
前記インタラプトソース割当て部から出力されるｍ個のインタラプトソースに対応するビットをセットするインタラプトペンディングレジスタと、
前記インタラプトソースの数がｍ個を超える場合、超過するインタラプトソースを保存し、前記超過するインタラプトソースは、インタラプト要請信号に応答して前記インタラプトソース割当て部に出力される拡張部と、を備え、
前記インタラプトソース割当て部から出力されるｍ個のインタラプトソースの優先順位は、前記インタラプトペンディングレジスタの対応するビットの位置によって異なることを特徴とするインタラプトコントローラ。
【請求項２２】
中央処理装置と、
前記インタラプト要請信号を前記中央処理装置に出力するインタラプト要請信号発生器とをさらに備え、
前記中央処理装置は、
前記拡張部の内容を読出し、前記超過されたインタラプトソースのうち何れかが前記インタラプトソース割当部に出力されるかを決定することを特徴とする請求項２１に記載のインタラプトコントローラ。
【請求項２３】
前記少なくとも１つの超過するインタラプトソースは、出力される前に活性化されることを特徴とする請求項２２に記載のインタラプトコントローラ。
【請求項２４】
前記拡張部は、
前記超過されたインタラプトソースを保存する少なくとも１つの拡張レジスタと、
反転論理積手段と、
反転論理和手段と、
前記反転論理積手段及び前記反転論理和手段の出力に応答して選択信号を出力する選択手段と、を備え、
前記選択信号は、前記少なくとも１つの超過されたインタラプトソースに対応することを特徴とする請求項２１に記載のインタラプトコントローラ。
【請求項２５】
請求項１７に記載の方法を行うインタラプトコントローラ。
【請求項２６】
請求項１２に記載の方法を行うインタラプトコントローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、インタラプトコントローラに係り、特にインタラプトソースを優先順位レジスタに自由に割り当て、一回で処理できるインタラプトソースの数より多くのインタラプトソースが入力されても、インタラプト動作を行えるインタラプトコントローラに関する。
【背景技術】
【０００２】
一般的なマイクロプロセッサは、インタラプト処理のためのインタラプトコントローラを備える。インタラプトの優先順位は、複数のインタラプトが同時に発生した場合、先に行うインタラプト動作を決定するために各インタラプトソースに優先順位を与えることをいう。
【０００３】
インタラプトの優先順位を決定する方法は、複数のモジュールで発生するインタラプトソースに対応するビットがセットされうるレジスタを用いる。優先順位は、このレジスタのビットの位置によって決定される。インタラプトコントローラについては特許文献１に開示されている。
【０００４】
図１は、一般的なインタラプトコントローラの構造を説明するブロック図である。
図１を参照すれば、インタラプトコントローラ１００は、インタラプトペンディングレジスタ１０、制御レジスタ２０、優先順位レジスタ３０及びインタラプト要請信号発生器４０を備える。中央処理装置５０は、インタラプトコントローラ１００の構成要素ではないが、インタラプトコントローラ１００の動作説明のためにインタラプトコントローラ１００と共に示される。
【０００５】
インタラプトペンディングレジスタ１０は、インタラプトソースＩＳが入力されれば、対応するビットがセットされる。インタラプトペンディングレジスタ１０は、２つ以上のインタラプト要請が同時に発生した場合、高い優先順位を有するインタラプトソースに優先権を与えるためのレジスタであって、インタラプトソースに対応するビットがセットされる。
【０００６】
制御レジスタ２０は、入力されるインタラプトソースＩＳについてのマスキング動作を行うか否か、インタラプトコントローラ１００に関するベクトル機能を支援するか否かなどの制御動作を行ってインタラプトペンディングレジスタ１０にセットされたビットに対応するインタラプトソースＩＳを優先順位レジスタ３０に伝送する。
【０００７】
優先順位レジスタ３０は、インタラプトソースＩＳの優先順位を決定するロジックであって、入力されるインタラプトソースＩＳを複数のグループに分け、複数のグループを制御するマスターブロックで各グループについての優先順位を固定方式で行う、あるいは循環方式で行うかを決定する。優先順位レジスタ３０については図２でさらに詳細に説明する。
【０００８】
インタラプト要請信号発生器４０は、優先順位レジスタ３０から出力されるインタラプトソースＩＳに応答してインタラプト要請信号ＩＲＱを発生させる。中央処理装置（（ＣｅｎｔｒａｌＰｒｏｃｅｓｓｉｎｇＵｎｉｔ：ＣＰＵ））５０は、インタラプト要請信号ＩＲＱが受信されれば、如何なるインタラプトが発生したかを把握し、また同時に複数のインタラプトが発生した場合、どんなモジュールに対応するインタラプト動作を行うかも決定する。
【０００９】
図２は、図１の優先順位レジスタの構造を説明する図面である。
図２を参照すれば、優先順位レジスタ３０は、５個のレジスタＲＥＧ１、ＲＥＧ２、ＲＥＧ３、ＲＥＧ４、ＲＥＧ５を備える。図１のインタラプトコントローラ１００が一回に３２個のインタラプト動作を行える３２ビットバスを備えると仮定する。
これにより、第１ないし第４レジスタＲＥＧ１、ＲＥＧ２、ＲＥＧ３、ＲＥＧ４は各々８個のインタラプトソースＩＳ１〜ＩＳ７、ＩＳ８〜ＩＳ１６、ＩＳ１７〜ＩＳ２４、ＩＳ２５〜ＩＳ３２を受信して各々８個のインタラプトソースに対して優先順位を決定し、優先順位の高い１つのインタラプトソースを第５レジスタＲＥＧ５に出力する。
【００１０】
次いで、第５レジスタＲＥＧ５は、受信される４個のインタラプトソースのうち、優先順位の高い１つのインタラプトソースを出力する。
インタラプトソースＩＳの増加につれて、各インタラプトソースＩＳ間の優先順位をどのように定めるかによって、インタラプトコントローラ１００が内蔵されるシステムの性能に多くの影響を与える。
【００１１】
頻繁に発生するインタラプトソースの優先順位を高く決定して迅速処理させれば、システム性能は高まるが、一方、優先順位の高い特定インタラプトソースがあまりにも多発すれば、相対的に優先順位の低い他のインタラプトソースを処理できなくなる。これにより、必ず処理しなければならない作業が処理できず、システムが誤動作を起こす可能性もある。
【００１２】
そこで、一般的に各インタラプトソースについて優先順位を調整できるように、インタラプトコントローラ１００の設計時に、図２のようにインタラプトソースを複数のグループに分けて各グループ間にインタラプトソースの優先順位を調整する。
そして、各グループ内のインタラプトソース間にも優先順位を調整可能にする。優先順位を調整する方式としては、固定方式と循環方式とがある。
【００１３】
各グループ間の優先順位を固定方式で決定する場合、各グループ間の優先順位が決まっいて、上位優先順位グループのインタラプトソースが頻繁に発生する場合、下位優先順位グループのインタラプトソースは処理できない場合が発生するという問題点がある。
【００１４】
また、図２の第４レジスタＲＥＧ４に入力されるインタラプトソースＩＳ２５を第１レジスタＲＥＧ１に入力して迅速に処理しようとする場合、固定方式ではインタラプトソースＩＳ２５のみを第１レジスタＲＥＧ１に移すことができず、第４レジスタＲＥＧ４に入力されるあらゆるインタラプトソースＩＳ２５〜ＩＳ３２を共に移さねばならない。したがって、固定方式の場合、任意のインタラプトソースを先に処理するようにユーザが任意に制御できないという問題がある。
【００１５】
各グループ間の優先順位を循環方式で決定する場合、各インタラプトソースの優先順位が固定されず、先に処理されたインタラプトソースの優先順位は、もっとも低い優先順位になり、その次の優先順位のインタラプトソースが最も高い優先順位を有するようになる。
【００１６】
しかし、循環方式でインタラプトソースの優先順位を変えれば、実時間で動作するシステムで、次に発生するインタラプトソースがどんな種類か予測し難い場合が多いので、システム動作のためのソフトウェアを開発し難くなる。したがって、実時間で動作するシステムのプロセッサでは循環方式優先順位インタラプトコントローラは適さないという問題点がある。
【００１７】
また、図１のインタラプトコントローラ１００が３２ビットバスを用いるシステムに装着される場合、ＣＰＵ５０が一回で読み込めるインタラプトコントローラ１００のレジスターは３２ビットである。３２ビットのレジスタには最大３２個のインタラプトソースが割当てられる。しかし、システムに内蔵される機能モジュールが多くて、３２個以上のインタラプトソースが発生する場合、これらを処理できないという問題がある。
【特許文献１】特開平１０−２６０９３０号公報
【発明の開示】
【発明が解決しようとする課題】
【００１８】
本発明が解決しようとする技術的課題は、固定方式または循環方式によってインタラプトソースの優先順位が決定される前にインタラプトソースをユーザが任意に優先順位レジスタに割り当てて処理できるインタラプトソースの数を拡張できるインタラプトコントローラを提供するところにある。
【課題を解決するための手段】
【００１９】
前記技術的課題を達成するための本発明の実施例によるインタラプトコントローラは、インタラプトソース割当て部、インタラプトペンディングレジスタ、制御レジスタ、優先順位レジスタ及びインタラプト要請信号発生器を備える。
【００２０】
インタラプトソース割当て部は、少なくとも２つのインタラプトソースを受信し、優先順位によってｍ（ｍは、自然数）個のインタラプトソースを外部に出力する。インタラプトペンディングレジスタは、インタラプトソース割当て部から出力されるインタラプトソースに対応するビットをセットする。
【００２１】
制御レジスタは、セットされたビットに対応するインタラプトソースを制御して伝送する。優先順位レジスタは、入力されるインタラプトソースの優先順位を決定して優先順位によって出力する。インタラプト要請信号発生器は、優先順位レジスタから出力されるインタラプトソースに応答してインタラプト要請信号を出力する。
【００２２】
技術的課題を達成するための本発明の他の実施例によるインタラプト制御方法は、少なくとも２つのインタラプトソースを受信する段階、優先順位によってｍ（ｍは、自然数）個のインタラプトソースを外部に出力する段階、ｍ個のインタラプトソースに対応するビットをセットする段階、セットされたビットに対応するインタラプトソースを伝送する段階、入力されるインタラプトソースの優先順位を決定する段階、決定された優先順位によってインタラプトソースを出力する段階、及びインタラプトソースに応答してインタラプト要請信号を出力する段階を備える。
【００２３】
前記技術的課題を達成するための本発明の他の実施例によるインタラプトコントローラは、ｍ（ｍは、２より大きな自然数）個のインタラプトソース及び少なくとも１つの選択信号を受信し、受信された少なくとも１つの選択信号に応答してｍ個のインタラプトソースのうち、何れか１つのインタラプトソースを各々出力するｍ個の選択部を備えるインタラプトソース割当て部及びｍ個のインタラプトソースの優先順位によってｍ個のインタラプトソースのうち、少なくとも１つを選択して少なくとも１つの選択信号を発生させる選択レジスタを備える。
【００２４】
前記技術的課題を達成するための本発明の他の実施例によるインタラプト制御方法は、ｍ（ｍは、２より大きな自然数）個のインタラプトソースの優先順位によってｍ個のインタラプトソースのうち、少なくとも１つを選択する段階、少なくとも１つのインタラプトソースに応答して少なくとも１つの選択信号を発生させる段階、ｍ個のインタラプトソース及び少なくとも１つの選択信号を受信する段階、及び受信された少なくとも１つの選択信号に応答して少なくとも１つのインタラプトソースを出力する段階を備える。
【００２５】
前記技術的課題を達成するための本発明の他の実施例によるインタラプトコントローラはｍ（ｍは、２より大きな自然数）個のインタラプトソースを受信するｍ個の選択部を備え、ｍ個の選択部のうち、少なくとも１つの選択部は受信された少なくとも１つの選択信号に応答してｍ個のインタラプトソースのうち、何れか１つのインタラプトソースを出力するインタラプトソース割当て部、及び少なくとも２つのレジスタを備える優先順位レジスタであって、少なくとも２つのレジスタのうち、少なくとも１つは、インタラプトソース割当て部から出力されるｍ個のインタラプトソースのうち、少なくとも１つに応答して１つまたはそれ以上のビットを保存する前記優先順位レジスタを備える。
【００２６】
前記技術的課題を達成するための本発明の他の実施例によるインタラプトコントローラはｍ（ｍは、２より大きな自然数）個のインタラプトソースを受信するｍ個の選択部を備え、ｍ個の選択部のうち、少なくとも１つの選択部は、受信された少なくとも１つの選択信号に応答してｍ個のインタラプトソースのうち、何れか１つのインタラプトソースを出力するインタラプトソース割当て部、及び前記インタラプトソースの数がｍ個を超える場合、超過するインタラプトソースを保存し、超過するインタラプトソースはインタラプト要請信号に応答して、インタラプトソース割当て部に出力される拡張部を備える。
【発明の効果】
【００２７】
本発明によるインタラプトコントローラは、固定方式または循環方式によってインタラプトソースの優先順位が決定される前にインタラプトソースをユーザが任意に優先順位レジスタに割り当てられ、処理可能なインタラプトソースの数を拡張しうる。
【発明を実施するための最良の形態】
【００２８】
本発明と本発明の動作上の利点及び本発明の実施によって達成される目的を十分に理解するためには、本発明の望ましい実施例を例示する添付図面及び図面に記載された内容を参照しなければならない。
以下、添付した図面を参照して本発明の望ましい実施例を説明することによって、本発明を詳細に説明する。各図面に付された同一参照符号は同一部材を示す。
【００２９】
図３は、本発明の実施例によるインタラプトコントローラの構造を説明するブロック図である。
図３を参照すると、本発明の実施例によるインタラプトコントローラ３００は、インタラプトソース割当て部３２０、インタラプトペンディングレジスタ３３０、制御レジスタ３４０、優先順位レジスタ３５０及びインタラプト要請信号発生器３６０を備える。図３では説明の便宜上、ＣＰＵ３７０をさらに示す。
【００３０】
インタラプトソース割当て部３２０は、入力されるｍ（ｍは、自然数）個のインタラプトソースＩＳ１〜ＩＳ３２を任意の優先順位によって外部に出力する。インタラプトペンディングレジスタ３３０は、インタラプトソース割当て部３２０から出力されるインタラプトソースに対応するビットをセットする。
【００３１】
制御レジスタ３４０は、セットされたビットに対応するインタラプトソースを制御して伝送する。優先順位レジスタ３５０は、入力されるインタラプトソースの優先順位を決定して優先順位によって出力する。
インタラプト要請信号発生器３６０は、優先順位レジスタ３５０から出力されるインタラプトソースに応答してインタラプト要請信号を出力する。
【００３２】
図４は、図３のインタラプトソース割当部及び優先順位レジスタの構造を説明する図である。
図４を参照すると、インタラプトソース割当て部３２０は対応する選択信号ＳＥＬ１〜ＳＥＬ３２に応答してｍ個のインタラプトソースＩＳ１〜ＩＳ３２のうち何れか１つのインタラプトソースを選択して出力する第１ないし第ｍ選択部ＭＵＸ１〜ＭＵＸ３２を備える。
【００３３】
以下、図３及び図４を用いて本発明の実施例によるインタラプトコントローラ３００の動作を詳細に説明する。
インタラプトペンディングレジスタ３３０と制御レジスタ３４０の機能は、図１に開示された従来のインタラプトペンディングレジスタ１０及び制御レジスタ２０と同一なので、その説明を省略する。
【００３４】
インタラプトソース割当て部３２０は、入力されるｍ（ｍは、自然数）個のインタラプトソースＩＳ１〜ＩＳ３２を任意の優先順位によって外部に出力する。ｍは任意の自然数であるが、説明の便宜上、３２と仮定する。図３及び図４には、３２個のインタラプトソースＩＳ１〜ＩＳ３２が図示される。
【００３５】
インタラプトソース割当て部３２０は、３２個のインタラプトソースＩＳ１〜ＩＳ３２をインタラプトペンディングレジスタ３３０の最初のビットから３２番目のビット間の任意のビットに割り当てるスイッチ機能を行うレジスタである。任意のビットで割当されたインタラプトソースＩＳ１〜ＩＳ３２は制御レジスタ３４０によって優先順位レジスタ３５０に印加される。
【００３６】
インタラプトペンディングレジスタ３３０と制御レジスタ３４０との動作説明を省略し、図４を用いてインタラプトソース割当て部３２０と優先順位レジスタ３５０の動作を説明する。
前述した従来のインタラプトコントローラ１００は、ユーザが図２の第４レジスタＲＥＧ４に入力されるインタラプトソースＩＳ２５を第１レジスタＲＥＧ１に入力して迅速に処理しようとする場合、第４レジスタＲＥＧ４に入力されるあらゆるインタラプトソースＩＳ２５〜ＩＳ３２を何れも第１レジスタＲＥＧ１に入力させなければならない。すなわち、任意のインタラプトソースを先に処理するようにユーザが任意に制御できない。
【００３７】
しかし、本発明のインタラプトソース割当て部３２０は、ユーザが所望のインタラプトソースＩＳ２５だけ選択して優先順位レジスタ３５０の第１レジスタＲＥＧ１に入力することができる。
【００３８】
インタラプトソースＩＳ２５を含むインタラプトソースＩＳ１〜ＩＳ３２は、既存の方式通り４個のグループに分けられて優先順位レジスタ３５０のそれぞれのレジスタＲＥＧ１、ＲＥＧ２、ＲＥＧ３、ＲＥＧ４に入力され、各レジスタＲＥＧ１、ＲＥＧ２、ＲＥＧ３、ＲＥＧ４の間、またはレジスタＲＥＧ１、ＲＥＧ２、ＲＥＧ３、ＲＥＧ４内でのインタラプトソースの優先順位は、固定方式または循環方式で決定される。
【００３９】
インタラプトソース割当て部３２０は、対応する選択信号ＳＥＬ１〜ＳＥＬ３２に応答してｍ個のインタラプトソースＩＳ１〜ＩＳ３２のうち何れか１つのインタラプトソースを選択して出力する第１ないし第ｍ選択部ＭＵＸ１〜ＭＵＸ３２を備える。ｍは３２と仮定したので、インタラプトソース割当て部３２０は第１ないし第３２選択部ＭＵＸ１〜ＭＵＸ３２を備える。
【００４０】
それぞれの選択部ＭＵＸ１〜ＭＵＸ３２に３２個のインタラプトソースＩＳ１〜ＩＳ３２が各々入力される。それぞれの選択部ＭＵＸ１〜ＭＵＸ３２は対応する選択信号ＳＥＬ１〜ＳＥＬ３２に応答して１つのインタラプトソースを出力する。
優先順位レジスタ３５０から入力されるインタラプトソースの優先順位を決定する方式が固定方式であると仮定する。これにより、第１レジスタＲＥＧ１に入力されるインタラプトソースが第２レジスタＲＥＧ２に入力されるインタラプトソースより高い優先順位を持って出力される。
【００４１】
また、第１レジスタＲＥＧ１に入力される８個のインタラプトソースのうち、最も高い優先順位を有するインタラプトソースが第１レジスタＲＥＧ１の最初のビットに保存され、最も低い優先順位を有するインタラプトソースが第１レジスタＲＥＧ１の８番目のビットに保存されると仮定する。
【００４２】
インタラプトソース割当て部３２０に入力される３２個のインタラプトソースＩＳ１〜ＩＳ３２のうち、２５番目のインタラプトソースＩＳ２５が最も早く処理されねばならないとするなら、第１選択部ＭＵＸ１は、第１選択信号ＳＥＬ１に応答して３２個のインタラプトソースＩＳ１〜ＩＳ３２のうち、インタラプトソースＩＳ２５を第１レジスタＲＥＧ１の最初のビットに印加する。
【００４３】
第１選択信号ＳＥＬ１は、第１選択部ＭＵＸ１がインタラプトソースＩＳ２５を選択するように制御する。
選択信号ＳＥＬ１〜ＳＥＬ３２は、ＣＰＵ３７０によって制御され、第１ないし第ｍ選択信号ＳＥＬ１〜ＳＥＬ３２は、インタラプトソースの優先順位によって対応するインタラプトソースを選択する。
【００４４】
図５は、図４の選択信号を発生させる選択レジスタの構造を説明する図である。
インタラプトコントローラ３００は、選択信号ＳＥＬ１〜ＳＥＬ３２を発生させる選択レジスタ５００をさらに具備することができる。
選択レジスタ５００は、８個のレジスタＳＥＬＲＥＧ１〜ＳＥＬＲＥＧ８を備え、それぞれのレジスタＳＥＬＲＥＧ１〜ＳＥＬＲＥＧ８は、３２ビットサイズを有する。１つのレジスターは、８ビットずつ４等分される。ＣＰＵ３７０は、レジスタの８ビットのうち、５ビットにデータを書き込み、書き込まれたデータが選択信号として出力される。残りの３ビットＲは使用しないビットである。
【００４５】
ＣＰＵ３７０が選択レジスタ５００の最初のレジスタＳＥＬＲＥＧ１の下位８ビットのうち、５ビットに“１１００１”を書き込めば、“１１００１”が第１選択信号ＳＥＬ１として第１選択部ＭＵＸ１に印加される。これにより、第１選択部ＭＵＸ１は第１選択信号ＳＥＬ１に応答してインタラプトソースＩＩＳ２５を選択して出力する。
【００４６】
このような方法で、ＣＰＵ３７０は、選択レジスタ５００の７個のレジスタＳＥＬＲＥＧ１〜ＳＥＬＲＥＧ８に、第１ないし第３２選択信号ＳＥＬ１〜ＳＥＬ３２を発生させるためのデータを書き込む。
インタラプトソース割当て部３２０は、第１ないし第３２選択信号ＳＥＬ１〜ＳＥＬ３２に応答してインタラプトソースＩＳ１〜ＩＳ３２を優先順位レジスタ３５０に任意に割り当てる３２個の選択部ＭＵＸ１〜ＭＵＸ３２を備えるので、入力されるインタラプトソースＩＳ１〜ＩＳ３２をユーザが所望の順序で割り当てうる。
【００４７】
優先順位レジスタ３５０で、優先順位を決定する方式を固定方式とする場合、基本的に第１レジスタＲＥＧ１の最初のビットに入力されるインタラプトソースが最も早く処理され、第４レジスタＲＥＧ４の最後のビットに入力されるインタラプトソースが最も遅く処理される。
【００４８】
したがって、インタラプトソース割当て部３２０に入力される３２個のインタラプトソースＩＳ１〜ＩＳ３２をインタラプトソース割当て部３２０が任意の順序で優先順位レジスタ３５０に割り当てれば、それが直ちにインタラプトソースＩＳ１〜ＩＳ３２の優先順位となる。ユーザは、何時でもＣＰＵ３７０及びインタラプトソース割当て部３２０を用いることによって、インタラプトソースＩＳ１〜ＩＳ３２の優先順位を調整することができる。
【００４９】
優先順位レジスター３５０で優先順位を決定する方式が循環方式であっても、インタラプトソース割当て部３２０を用いてインタラプトソースＩＳ１〜ＩＳ３２の優先順位を調整することができるということは言うまでもない。
【００５０】
図６は、図３のインタラプトソース拡張部３１０の構造を説明する図である。
インタラプトコントローラ３００は、インタラプトソースＩＳ１〜ＩＳ３２の数がｍ個を超える場合、超過するインタラプトソースをサブインタラプトソースＩＳ＿ＳＵＢ１〜ＩＳ＿ＳＵＢｎとして受信して保存するインタラプトソース拡張部３１０をさらに具備することができる。
【００５１】
ｍを３２に仮定するならば、インタラプトソース拡張部３１０はインタラプトソースの数が３２個を超える場合、インタラプトコントローラ３００内のレジスタ３２０、３３０、３４０、３５０が収容可能なインタラプトソースの数を超えるために、超過されたインタラプトソースを処理するためのものである。
【００５２】
図６を参照すれば、インタラプトソース拡張部３１０は、拡張レジスタ６１０、反転論理積手段６２０、反転論理和手段６３０及び選択手段６４０を備える。
拡張レジスタ６１０は、サブインタラプトソースＩＳ＿ＳＵＢ１〜ＩＳ＿ＳＵＢｎを保存する。反転論理積手段６２０は、サブインタラプトソースＩＳ＿ＳＵＢ１〜ＩＳ＿ＳＵＢｎを反転論理積する。反転論理和手段６３０は、サブインタラプトソースＩＳ＿ＳＵＢ１〜ＩＳ＿ＳＵＢｎを反転論理和する。
【００５３】
選択手段６４０は、極性信号ＰＯＬに応答して反転論理積手段６２０及び反転論理和手段６３０の出力のうち、何れか１つを選択して出力する。選択手段６４０は、極性信号ＰＯＬが第１レベルである場合、反転論理和手段６３０の出力を出力し、極性信号ＰＯＬが第２レベルである場合、反転論理積手段６２０の出力を出力する。
【００５４】
例えば、一回に３２個のインタラプトソースＩＳ１〜ＩＳ３２を処理できるインタラプトコントローラ３００に３６個のインタラプトソースが入力されれば、４個のインタラプトソースを処理するためのインタラプトコントローラ３００のレジスタのビット数が足りない。
【００５５】
この際、インタラプトソース拡張部３１０が超過された４個のインタラプトソースをサブインタラプトソースＩＳ＿ＳＵＢ１〜ＩＳ＿ＳＵＢ４として受信し、これらのうち、アクティブされたインタラプトソースをインタラプトソース割当て部３２０に印加する。
サブインタラプトソースＩＳ＿ＳＵＢ１〜ＩＳ＿ＳＵＢ４が活性化される場合の論理レベルは相互同一でなければならない。すなわち、サブインタラプトソースが活性化される論理レベルをハイレベルと仮定するならば、超過された４個のサブインタラプトソースＩＳ＿ＳＵＢ１〜ＩＳ＿ＳＵＢ４は何れもハイレベルである時に活性化されるインタラプトソースでなければならない。
【００５６】
拡張レジスタ６１０は、４個のサブインタラプトソースＩＳ＿ＳＵＢ１〜ＩＳ＿ＳＵＢ４を保存する。４個のサブインタラプトソースＩＳ＿ＳＵＢ１〜ＩＳ＿ＳＵＢ４のうち何れか１つに応答してインタラプト要請信号がＣＰＵ３７０に印加されれば、ＣＰＵ３７０は拡張レジスタ６１０を読取って如何なるモジュール（図示せず）からインタラプト動作が要請されたかが分かる。
【００５７】
４個のサブインタラプトソースＩＳ＿ＳＵＢ１〜ＩＳ＿ＳＵＢ４のうち最初のサブインタラプトソースＩＳ＿ＳＵＢ１がアクティブされて残りのサブインタラプトソースＩＳ＿ＳＵＢ２〜ＩＳ＿ＳＵＢ４は非活性化されると仮定する。
これにより、反転論理積手段６２０は、サブインタラプトソースＩＳ＿ＳＵＢ１〜ＩＳ＿ＳＵＢ４を反転論理積して出力をハイレベルとして発生させる。反転論理和手段６３０は、サブインタラプトソースＩＳ＿ＳＵＢ１〜ＩＳ＿ＳＵＢ４を反転論理和して出力をローレベルとして発生させる。
【００５８】
サブインタラプトソースが活性化される論理レベルをハイレベルと仮定するならば、極性信号ＰＯＬもハイレベルとして発生する。したがって、選択手段６４０は極性信号ＰＯＬに応答して反転論理積手段６２０の出力を選択して出力する。
選択手段６４０の出力がハイレベルに発生してインタラプトソースＩＳ３２としてインタラプトソース割当て部３２０に印加される。選択手段６４０の出力がハイレベルとして発生するということは、サブインタラプトソースＩＳ＿ＳＵＢ１〜ＩＳ＿ＳＵＢ４のうち何れか１つが活性化されるという意味であり、これは処理せねばならないインタラプトが発生したのである。
【００５９】
ＣＰＵ３７０が拡張レジスタ６１０を読み取れば、如何なるモジュールからインタラプトが発生したかが分かる。このように、インタラプトソース拡張部３１０をおけば、インタラプトコントローラ３００が処理できるインタラプトの数を超えてインタラプトソースが発生しても、インタラプト処理が可能である。
【００６０】
入力される３２個のインタラプトソースＩＳ１〜ＩＳ３２それぞれにインタラプトソース拡張部を備えてインタラプト処理能力を拡張し、各インタラプトソース拡張部が最大３２個のサブインタラプトソースを受信できるならば、図３のインタラプトコントローラ３００で最大に拡張可能なインタラプトソースの数は３２ｘ３２個となる。
【００６１】
前述したように、図面及び明細書で最適の実施例が開示された。ここで、特定の用語が使われたが、これは単に本発明を説明するための目的として使われたものであって、意味限定や特許請求の範囲に記載された本発明の範囲を制限するために使われたものではない。したがって、当業者ならば、これより多様な変形及び均等な他実施例が可能であるという点を理解できるであろう。したがって、本発明の真の技術的保護範囲は、特許請求の範囲の技術的思想によって決まるべきである。
【産業上の利用可能性】
【００６２】
本発明は、インタラプト制御装置を備えるマイクロプロセッサを装着した集積回路装置関連の技術分野に好適に適用されうる。
【図面の簡単な説明】
【００６３】
【図１】一般的なインタラプトコントローラの構造を説明するブロック図である。
【図２】図１の優先順位レジスタの構造を説明する図である。
【図３】本発明の実施例によるインタラプトコントローラの構造を説明するブロック図である。
【図４】図３のインタラプトソース割当部と優先順位レジスタの構造を説明する図である。
【図５】図４の選択信号を発生させる選択レジスタの構造を説明する図である。
【図６】図３のインタラプトソース拡張部の構造を説明する図である。
【符号の説明】
【００６４】
３１０        インタラプトソース拡張部
３２０        インタラプトソース割当て部
３３０        インタラプトペンディングレジスタ
３４０        制御レジスタ
３５０        優先順位レジスタ
３６０        インタラプト要請信号発生器
３７０        ＣＰＵ
【図１】
0004741256.tif 000002
【図２】
0004741256.tif 000003
【図３】
0004741256.tif 000004
【図４】
0004741256.tif 000005
【図５】
0004741256.tif 000006
【図６】
0004741256.tif 000007