(57)【特許請求の範囲】
【請求項１】
同一ベクタ番号で割り込みバスコマンドを発生する複数の割り込み発生装置が接続されたシステムバスと、
前記システムバスに接続され、前記同一ベクタ番号で前記割り込みバスコマンドを発生する前記割り込み発生装置の数だけ第１のフラグを有する割り込み集約手段と、
前記システムバスに接続され、割り込み処理する割り込み発生装置用の前記ベクタ番号の数だけ第２のフラグを有し、前記割り込み発生装置及び前記割り込み集約手段をプログラム制御する中央処理装置とを備え、
前記割り込み集約手段は、前記割り込み発生装置から前記システムバスへ前記割り込みバスコマンドが出力された場合には、該システムバス上の割り込みバスコマンドを取り込んで該割り込み発生装置に対応する前記第１のフラグをセットすると共に、前記同一ベクタ番号の他の前記割り込み発生装置に対応する他の前記第１のフラグがセットされていないときには、割り込みバスコマンドを新たに発生して前記システムバスへ出力した後に前記プログラム制御によって該セットされた第１のフラグがクリアされ、他の前記第１のフラグがセットされているときには、新たな割り込みバスコマンドを発生せず、さらに前記プログラム制御によって該セットされた第１のフラグがクリアされてもまだセットされている同一ベクタ番号の他の前記第１のフラグが存在する場合には、新たな割り込みバスコマンドを前記システムバスへ出力する構成にし、
前記中央処理装置は、前記割り込み集約手段から前記システムバスへ新たな割り込みバスコマンドが出力された場合には、該システムバス上の新たな割り込みバスコマンドを取り込み、該当するベクタ番号に対応する前記第２のフラグをセットして割り込み処理を行い、前記プログラム制御によって該当する前記第１及び第２のフラグをクリアする構成にしたことを特徴とする割り込み処理システム。
【請求項２】
請求項１のシステムバス及び中央処理装置と、
複数の割り込み発生装置が接続された拡張システムバスと前記システムバスとの間に接続され、これら両システムバス間のインタフェース制御を行うバス拡張制御装置とを、備えたシステムにおいて、
請求項１の割り込み集約手段を前記バス拡張制御装置に設けたことを特徴とする割り込み処理システム。
【請求項３】
請求項１または２記載の割り込み処理システムにおいて、前記中央処理装置の制御によって前記割り込み集約手段内の第１のフラグをセットするフラグセット手段を設けたことを特徴とする割り込み処理システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、情報処理装置や各種のコンピュータ制御装置等における割り込み処理システムに関するものである。
【０００２】
【従来の技術】
一般に、情報処理装置や各種のコンピュータ制御装置等の割り込み処理システムでは、システム全体をプログラム制御する中央処理装置（以下、「ＭＰＵ」と呼ぶ）と、該ＭＰＵにより制御される入出力装置等の装置とを備えている。ＭＰＵにより制御される入出力装置等の装置は、該ＭＰＵへ処理を要求するために割り込みを発生するので、この明細書では割り込み発生装置と呼ぶことにする。ＭＰＵには、割り込みを受け付けることが可能な割り込み発生装置（以下、「ＩＵ」と呼ぶ）の数に制限があるため、１つの割り込み処理システムに接続できるＩＵの数は制限される。
ＭＰＵの割り込み処理について、該ＭＰＵは割り込み発生時に処理すべきプログラムの先頭アドレスを格納したテーブル（以下、「ベクタテーブル」と呼ぶ）を持っている。ＩＵはＭＰＵへ割り込む際、そのベクタテーブルの何番目で示されるプログラムが自身に対応しているかの番号（これを「ベクタ番号」と呼ぶ）を該ＭＰＵへ通知することにより、適切なプログラムの実行をＭＰＵに要求できる。
【０００３】
ＩＵの数が少ない場合、ＭＰＵと各ＩＵとを１対１で信号線で接続し、該ＭＰＵはどの線から割り込みが来たかにより、ベクタ番号を認識することが可能である。しかし、ＩＵの数が増えると信号線の本数も多くなるため、バスコマンド割り込みと言われる方式により、ＩＵからＭＰＵに割り込みを通知することが行われている。バスコマンド割り込み方式とは、ＩＵからＭＰＵ内のある特定番地へのライトアクセス等のバスコマンドを行うと割り込みが発生する方式である。その際、ベクタ番号は、ライトアクセス時のデータ部分等で指定する。
このようなバスコマンド割り込み方式を採用している割り込み処理システムにおいて、ＭＰＵが割り込みを受け付けることが可能なＩＵの制限数以上のＩＵを接続する（即ち、ＩＵ数がベクタ番号より多くなる）場合のハードウェア構成方式として、従来、例えば図２のようなものがある。
【０００４】
図２は、従来の割り込み処理システムの一例を示す構成図である。
この割り込み処理システムは、システムバス１を有し、このシステムバス１に、同一のベクタ番号で割り込みを発生するＩＵ１１，１２が接続されている。なお、図２ではＩＵ１１，１２の数が２台のみ示されているが、一般には数十台以上のＩＵが接続される。システムバス１には、ＩＵ１１，１２をプログラム制御するＭＰＵ２０が接続されている。
ＭＰＵ２０は、ソフトウェアが走行するプロセッサ（以下、「ＰＲ」と呼ぶ）２１、及び割り込み要因レジスタ（以下、「ＩＲＲ」と呼ぶ）２４を有している。ＩＲＲ２４は、ＰＲ２１でサポートするＩＵ用のベクタ番号の数だけフラグ２４−１，２４−２を備えている。図２では、ベクタ番号１用の割り込み要因フラグ２４−１、及びベクタ番号２用の割り込み要因フラグ２４−２のみが示されている。ＰＲ２１及びＩＲＲ２４は、ＭＰＵ内部バス２２によってシステムバス１に接続され、さらに該ＰＲ２１とＩＲＲ２４とが、割り込み線２３によって接続されている。
【０００５】
ＩＵ１１またはＩＵ１２からＭＰＵ２０に対する割り込みは、システムバス１及びＭＰＵ内部バス２２を経由したＩＲＲ２４へのライトアクセスとして実現される。ＩＲＲ２４には、該当するベクタ番号に対応するフラグ２４−１，２４−２をセットすると共に、ＰＲ２１に対して割り込み線２３をオンにすることによって割り込み処理を要求する。割り込みを受信したＰＲ２１は、ＭＰＵ内部バス２２を通してＩＲＲ２４よりベクタ番号を読み、ソフトウェア（以下、単に「ソフト」と呼ぶ）に対して割り込み処理を要求する。ソフトは、ＭＰＵ内部バス２２からシステムバス１を経由して、ＩＵ１１，１２を制御する。
図３は、図２の割り込み処理システムにおいて、同一ベクタ番号でＩＵ１１と１２よりＭＰＵ２０に対する割り込みが発生した場合の割り込み処理を示すフローチャートである。なお、説明を簡単にするために、ＩＲＲ２４は２つのフラグ２４−１，２４−２のみが示されている。
【０００６】
この割り込み処理は、次のステップＳ１〜Ｓ９の順に実行されていく。
ステップＳ１；  ＩＵ１１よりＭＰＵ２０（ＩＲＲ２４）に対して割り込みバスコマンド発生
ＩＵ１１よりＩＲＲ２４へのライトアクセスとして伝わる。このライトアクセスのデータとして、ベクタ番号１が転送される。
ステップＳ２；  ベクタ番号１用ＩＲＲセット及びＰＲ２１に対して割り込みＩＵ１１よりベクタ番号１の割り込みバスコマンドを受信したＩＲＲ２４は、ベクタ番号１に対応するＩＲＲ２４のフラグ２４−１を“０”から“１”にセットすると共に、該ＩＲＲ２４からＰＲ２１に対する割り込み線２３をオンにし、ＰＲ２１に通知する。
ステップＳ３；  ＰＲソフトのベクタ番号１用割り込み処理開始
割り込まれたＰＲ２１は、ＩＲＲ２４より割り込みベクタ番号１を入手し、ベクタ番号１用割り込み処理を開始する。
ステップＳ４；  ＩＵ１２よりＭＰＵ２０（ＩＲＲ２４）に対して割り込みバスコマンド発生
ＰＲ２１が上記ステップＳ２及びＳ３の処理を行っている間に、ＩＵ１２よりベクタ番号１の割り込みが発生した場合が図３に示されている。この場合、ＩＲＲ２４は、同じベクタ番号１であるため、同じフラグ２４−１が“１”から“１”にセットされるだけで値が変わらない。
【０００７】
ステップＳ５；  ＰＲソフトによるＩＲＲクリア
ＰＲ２１のソフトは、ＩＵ１１の割り込みを受け付けたため、現在処理中のベクタ番号１に対応するＩＲＲ２４のフラグ２４−１を“１”から“０”にクリアする。
ステップＳ６；  ＰＲソフトによる割り込み発生元確認
ＰＲ２１上のソフトは、今の割り込みがＩＵ１１または１２から来たかを確認するために、ベクタ番号１を持っているＩＵ１１，１２を検索する。
ステップＳ７；  ＰＲソフトによるＩＵ１１用割り込み処理
ＩＵ１１に割り込み発生要因があるため、ＰＲソフトはＩＵ１１用割り込み処理を実行する。
ステップＳ８；  ＰＲソフトによるＩＵ１２用割り込み処理
ＩＵ１２にも割り込み発生要因があるため、ＰＲソフトはＩＵ１２用割り込み処理を実行する。
ステップＳ９；  ＰＲソフトの割り込み処理の終了
ＰＲソフトは、リターン命令（ＲＥＴ）により、割り込み処理を終了する。
【０００８】
【発明が解決しようとする課題】
しかしながら、従来の割り込み処理システムでは、次の（１）〜（４）のような課題があった。
（１）  ステップＳ４のＩＵ１２からの割り込みバスコマンドと、ステップＳ５のＰＲ２１からのＩＲＲクリアの順序が逆転した場合、ステップＳ９の割り込み処理終了後にもＩＲＲ２４のフラグ２４−１が“１”にセットされている状態となっているため、もう一度ＰＲ２１の割り込み処理が実行されることになる。この結果、割り込み発生要因は処理済みとなっているため、ソフトの処理とハードの状態との矛盾が発生する。
（２）  前記課題（１）の解決のため、ステップＳ８のＩＵ１２用割り込み処理を行わなくすると、図３においてステップＳ４とＳ５の順序が逆転した場合にはうまくいくが、ステップＳ４，Ｓ５の順番が図３のフローチャートの通りであると、ＩＵ１２に対する割り込みがなくなることとなる。
このような矛盾は、ソフトの処理をＩＲＲ２４のクリアと割り込み処理の順序を変えても発生する。例えば、ステップＳ５のＩＲＲクリア処理をステップＳ９の処理の直前に行ったとすると、ステップＳ４のＩＵ１２からのバスコマンド割り込みがステップＳ６の割り込み発生元ＩＵ確認以降に発生すると、矛盾が発生する。
【０００９】
（３）  図３のフローチャートの手順では、１回の割り込み処理の中でＩＵ１１用とＩＵ１２用の複数のＩＵ１１，１２に対する割り込みを実行する必要があり、ソフト処理が統一できない。ある時には割り込み開始からリターン処理までの間に１つのＩＵ１１に対する割り込み処理を行い、ある時には同じ処理中に複数のＩＵ１１，１２に対する割り込み処理を行うこととなる。
（４）  図３のフローチャートでは、ステップＳ６で示すように、同一ベクタ番号１を持った全ＩＵ１１，１２を検索する必要があり、割り込み処理時間が長くなる。
本発明は、前記従来技術が持っていた課題（１）〜（４）を解決し、ソフトの処理とハードの状態との矛盾をなくし、ソフト処理を統一し、及び割り込み処理時間を短くした割り込み処理システムを提供することを目的とする。
【００１０】
【課題を解決するための手段】
前記課題を解決するために、本発明のうちの請求項１の発明は、割り込み処理システムにおいて、同一ベクタ番号で割り込みバスコマンドを発生する複数のＩＵが接続されたシステムバスと、前記システムバスに接続され、前記同一ベクタ番号で前記割り込みバスコマンドを発生する前記ＩＵの数だけ第１のフラグを有する割り込み集約手段（以下、「ＩＮＴＵ」と呼ぶ）と、前記システムバスに接続され、割り込み処理するＩＵ用の前記ベクタ番号の数だけ第２のフラグを有し、前記ＩＵ及びＩＮＴＵをプログラム制御するＭＰＵとを備えている。
【００１１】
前記ＩＮＴＵは、前記ＩＵから前記システムバスへ前記割り込みバスコマンドが出力された場合には、該システムバス上の割り込みバスコマンドを取り込んで該ＩＵに対応する前記第１のフラグをセットすると共に、前記同一ベクタ番号の他の前記ＩＵに対応する他の前記第１のフラグがセットされていないときには、割り込みバスコマンドを新たに発生して前記システムバスへ出力した後に前記プログラム制御によって該セットされた第１のフラグがクリアされ、他の前記第１のフラグがセットされているときには、新たな割り込みバスコマンドを発生せず、さらに前記プログラム制御によって該セットされた第１のフラグがクリアされてもまだセットされている同一ベクタ番号の他の前記第１のフラグが存在する場合には、新たな割り込みバスコマンドを前記システムバスへ出力する構成にしている。
前記ＭＰＵは、前記ＩＮＴＵから前記システムバスへ新たな割り込みバスコマンドが出力された場合には、該システムバス上の新たな割り込みバスコマンドを取り込み、該当するベクタ番号に対応する前記第２のフラグをセットして割り込み処理を行い、前記プログラム制御によって該当する前記第１及び第２のフラグをクリアする構成にしている。
【００１２】
請求項２の発明は、請求項１のシステムバス及びＭＰＵと、複数のＩＵが接続された拡張システムバスと前記システムバスとの間に接続され、これら両システムバス間のインタフェース制御を行うバス拡張制御装置（以下、「ＢＥＸＵ」と呼ぶ）とを、備えたシステムにおいて、請求項１のＩＮＴＵを前記ＢＥＸＵに設けている。
請求項３の発明は、請求項１または２の割り込み処理システムにおいて、前記ＭＰＵの制御にとって前記ＩＮＴＵ内の第１のフラグをセットするフラグセット手段を設けている。
【００１３】
本発明によれば、以上のように割り込み処理システムを構成したので、同一ベクタ番号を有する複数のＩＵのうちの１つまたは複数から割り込みが発生した場合には、ＩＮＴＵで割り込みを受信して割り込みが発生したＩＵに対応する該ＩＮＴＵ内の第１のフラグをセットすると共に、他のＩＵに対応する第１のフラグがセットされていない場合には、ＭＰＵに対する割り込みを実行し、他のＩＵに対応する第１のフラグがセットされている場合には、ＭＰＵに対する割り込みを実行しない。また、ＭＰＵのプログラム制御により第１のフラグをクリアする命令が実行された際に、クリアしてもまだセットされている同一ベクタ番号の他の第１のフラグが存在する場合には、ＩＮＴＵからＭＰＵに対して新たな割り込みを発生する。
【００１４】
【発明の実施の形態】
第１の実施形態
図１は、本発明の第１の実施形態を示す割り込み処理システムの構成図である。
この割り込み処理システムは、データ線、アドレス線及び制御線を有する基本のシステムバス３０を有し、このシステムバス３０に、同一ベクタ番号で割り込みを発生する複数のＩＵ４１，４２（一般には数十台以上のＩＵが接続されるが、説明を簡単にするために２台のみ示されている）、ＩＮＴＵ５０、及びＭＰＵ６０が接続されている。なお、ＩＮＴＵ５０とＭＰＵ６０は、同一ボード上で構成してもよい。  ＩＮＴＵ５０は、補助割り込み要因レジスタ（以下、「ＳＩＲＲ」と呼ぶ）５１を有している。ＳＩＲＲ５１には、同一ベクタ番号で割り込む個々のＩＵ４１，４２に対応して第１のフラグが設けられている。図１では説明を簡単にするために、第１のフラグとして、ＩＵ４１用割り込み要因フラグ５１−１と、ＩＵ４２用割り込み要因フラグ５１−２とが示されている。一般に、ＩＵ４１，４２から出力される割り込みバスコマンドの中には、送り元と送り先の番号が付与されている。この番号は割り込み処理システムの中でＭＰＵ６０、ＩＵ４１、ＩＵ４２といった装置を区別するために付与された番号である。ＳＩＲＲ５１のどのフラグ５１−１，５１−２にセットするかは、この送り主番号により区別する。
【００１５】
ＭＰＵ６０は、ＩＵ４１，４２及びＩＮＴＵ５０をプログラム制御するもので、ソフトが走行するＰＲ６１とＩＲＲ６４とを有し、これらのＰＲ６１及びＩＲＲ６４がＭＰＵ内部バス６２によってシステムバス３０に接続され、さらに該ＰＲ６１とＩＲＲ６４とが割り込み線６３によって接続されている。ＩＲＲ６４は、ＰＲ６１でサポートするＩＵ用のベクタ番号の数だけ第２のフラグを有している。図１では説明を簡単にするために、第２のフラグとして、ベクタ番号１用割り込み要因フラグ６４−１と、ベクタ番号２用割り込み要因フラグ６４−２とが示されている。ＰＲソフトは、ＭＰＵ内部バス６２及びシステムバス３０を経由して、ＩＵ４１，４２及びＩＮＴＵ５０を制御するようになっている。
【００１６】
ここで、ＩＮＴＵ５０及びＭＰＵ６０の機能を説明する。
ＩＵ４１または４２からＭＰＵ６０に対する割り込みは、システムバス３０を経由した該ＭＰＵ６０内のＩＲＲ６４へのライトアクセスとして実現されるが、ＩＮＴＵ５０はそのライトアクセスを横取りし、ＳＩＲＲ５１をセットすると共に、ＩＵ４１または４２からの割り込みのライトアクセスをＭＰＵ６０に伝えることを禁止する働きを持つ。ＩＮＴＵ５０は、ＳＩＲＲ５１のフラグ（例えば、５１−１）がセットされた際に、もし他のＳＩＲＲ５１のフラグ５１−２がセットされていなければ、該ＩＮＴＵ５０からＭＰＵ６０に対してベクタ番号１の割り込みバスコマンドを発生し、もし他のＳＩＲＲ５１のフラグ５１−２がセットされていれば、ＭＰＵ６０に対する割り込みサイクルを発生しない機能を持つ。
また、ＩＮＴＵ５０は、ＭＰＵ６０の制御によってＳＩＲＲ５１をフラグ５１−１，５１−２毎にクリアする機能を持ち、該ＭＰＵ６０の制御によってクリアされた時、クリアされてもＳＩＲＲ５１の他のフラグ５１−２がセットされていれば、該ＩＮＴＵ５０からＭＰＵ６０に対して新たなバスコマンド割り込みサイクルを発生する機能を持つ。
【００１７】
ＭＰＵ６０内のＩＲＲ６４は、システムバス３０からの割り込みバスコマンドを受信すると、該当するベクタ番号に対応するフラグ６４−１または６４−２をセットすると共に、ＰＲ６１に対して割り込み線６３をオンにすることによって割り込み処理を要求する。割り込みを受信したＰＲ６１は、ＭＰＵ内部バス６２を通してＩＲＲ６４よりベクタ番号を読み、ＰＲソフトに対して割り込み処理を要求する。これにより、ＰＲソフトは、ＭＰＵ内部バス６２及びシステムバス３０を経由して、ＩＵ４１，４２及びＩＮＴＵ５０を制御する。
【００１８】
図４は、図１の割り込み処理システムにおいて、同一ベクタ番号でＩＵ４１と４２よりＭＰＵ６０に対する割り込みが発生した場合の割り込み処理を示すフローチャートである。
この割り込み処理は、次のステップＳ１１〜Ｓ２４の順に実行されていく。
ステップＳ１１；  ＩＵ４１より割り込み発生
ＩＵ４１よりの割り込み要求は、ＩＲＲ６４へのライトアクセスとしてシステムバス３０上を伝送される。ＩＮＴＵ５０は、このシステムバス３０上の割り込みライトコマンドを取り込み、ＳＩＲＲ５１のＩＵ４１に対応するフラグ５１−１を“０”から“１”にセットする。また、ＩＮＴＵ５０は、この割り込みバスコマンドがＭＰＵ６０に伝わるのを禁止する。
ＩＮＴＵ５０は、ＳＩＲＲ５１の他のフラグ５１−２がセットされていないため、ＭＰＵ６０に対する割り込みバスコマンドを新たに発生する。これにより、ＭＰＵ６０内のＩＲＲ６４のベクタ番号１に対応するフラグ６４−１が“０”から“１”にセットされる。
【００１９】
ステップＳ１２；  ベクタ番号１用割り込み要因フラグセットとＰＲ６１に対する割り込み
ＩＲＲ６４からＰＲ６１に対する割り込み線６３をオンにし、該ＰＲ６１に通知する。
ステップＳ１３；  ベクタ番号１用割り込み処理開始
割り込まれたＰＲ６１は、ＩＲＲ６４より割り込みベクタ番号１を入手し、このベクタ番号１用割り込み処理を開始する。
ステップＳ１４；  ＩＵ４２よりの割り込み
図４では、ＰＲ６１が上記ステップＳ１２及びＳ１３の処理を行っている間に、ＩＵ４２よりベクタ番号１の割り込みが発生した場合が示されている。
ステップＳ１１と同様に、ＩＮＴＵ５０はＩＵ４２からＭＰＵ６０への割り込みコマンドを取り込み、ＳＩＲＲ５１のＩＵ４２に対応するフラグ５１−２を“０”から“１”にセットする。また、ＭＰＵ６０に、この割り込みバスコマンドが伝わるのを禁止する。
ＩＮＴＵ５０は、ＳＩＲＲ５１の他のフラグ５１−１がセットされているため、ＭＰＵ６０に対する新たな割り込みバスコマンドを発生しない。
【００２０】
ステップＳ１５；  ＰＲソフトによるＩＲＲクリア
ＰＲ６１のソフトは、ベクタ番号１の割り込みを受け付けたため、現在処理中のベクタ番号１に対応するＩＲＲ６４のフラグ６４−１を“１”から“０”にクリアする。
ステップＳ１６；  ＰＲソフトによる割り込み発生元確認
ＰＲ６１上のソフトは、今の割り込みがどのＩＵ４１または４２から来たかを確認するために、ＩＮＴＵ５０内のＳＩＲＲ５１を読み、どのＩＵ４１または４２からの割り込みが発生しているかを確認する。図４では、ＩＵ４１に対応するフラグ５１−１と、ＩＵ４２に対応するフラグ５１−２とが共にセットされているが、この場合、ＩＵ４１からの割り込みが発生したものと判断する。即ち、複数のフラグ５１−１，５１−２がセットされている場合には、最初のフラグを有効とし、それ以降のフラグを無視する。
ＰＲ６１のソフトは、ＩＵ４１からの割り込み要求が発生しているものと認識し、ＳＩＲＲ５１のＩＵ４１に対応するフラグ５１−１を“１”から“０”にクリアする。
【００２１】
ステップＳ１７；  ＩＮＴＵ５０によるＳＩＲＲリセット処理
ＩＮＴＵ５０は、ＳＩＲＲ５１のフラグ５１−１がクリアされた時、他にセットされているフラグ５１−２が存在するため、ＭＰＵ６０に対する割り込みバスコマンドを発生する。
ステップＳ１８；  ＰＲソフトによるＩＵ４１用割り込み処理
ＰＲ６１のソフトは、ＩＵ４１に割り込み発生要因があるため、ＩＵ４１用割り込み処理を実行する。
ステップＳ１９；  ＰＲソフトのＩＵ４１用割り込み処理の終了
ＰＲ６１のソフトは、リターン命令（ＲＥＴ）によって割り込み処理を終了する。
ステップＳ２０；  ベクタ番号１用割り込みの再発生
ＩＵ４１用の割り込み処理の終了後、ステップＳ１７によってＩＲＲ６４のフラグ６４−１が再セットされているため、ＰＲ６１に対して再度割り込みが発生する。
ステップＳ２１〜Ｓ２４；  ＩＵ４２に対する割り込み処理
ＩＵ４２に対する割り込み処理のソフト処理理論は、上記ステップＳ１５，Ｓ１６，Ｓ１８，Ｓ１９と同一の処理により、今度はＩＵ４２に対する割り込み処理が実行される。
【００２２】
以上のように、この第１の実施形態では、次の（ｉ）〜（ｉｉｉ）のような効果がある。
（ｉ）  １つのＩＵ４１または４２からの割り込みに対して必ず１回の割り込みが発生する。そのため、ＩＵ４１または４２からの割り込み発生と、ＰＲ６１からの割り込み発生要因フラグＩＲＲ６４のクリアのタイミングとが、どのようになっても矛盾が発生しない。即ち、割り込み要求のＩＵ４１または４２があるにもかかわらず、ＰＲ６１に割り込みが発生しない状態や、割り込み要求のＩＵ４１または４２がないにもかかわらず、該ＰＲ６１に割り込みが発生するといった矛盾が発生しない。
（ｉｉ）  図４のフローチャートに示すように、ＰＲ６１上のソフトは、必ず１回の割り込みに対して１つのＩＵ４１または４２に対する処理を行うだけでよく、ソフト処理を同一のものとすることができる。
（ｉｉｉ）  ＩＮＴＵ５０のＳＩＲＲ５１を設けたので、どのＩＵ４１または４２から割り込みが発生しているかを検索する時間が短くなる。
【００２３】
第２の実施形態
図５は、本発明の第２の実施形態を示す割り込み処理システムの構成図であり、第１の実施形態を示す図１中の要素と共通の要素には共通の符号が付されている。
一般に、図１のＭＰＵ６０でサポートするＩＵ用のベクタ番号は１００程度である。この数が不足するぐらいＩＵ４１，４２を物理的に接続するには、１つのユニットでは不可能である。そのため、基本のシステムバス３０を拡張する装置を設けるのが一般的である。
この第２の実施形態では、図１の基本のシステムバス３０に対し、ＢＥＸＵ７０を設けて拡張システムバス３１を接続することにより、基本のシステムバス３０を拡張している。そして、ＢＥＸＵ７０内に図１のＩＮＴＵ５０を設けている。
基本のシステムバス３０にはＩＵ４１及び４２が接続され、さらに拡張システムバス３１にはＩＵ４３及び４４が接続されている。基本のシステムバス３０に接続されているＩＵ４１及び４２には、それぞれベクタ番号１及びベクタ番号２と独立にベクタ番号を割り付け、拡張システムバス３１に接続されているＩＵ４３と４４には同一のベクタ番号３が割り付けられている。なお、一般にはＩＵの数は数十台以上であるが、説明を簡単にするために、図５では４台のＩＵ４１〜４４のみが示されている。
【００２４】
ＢＥＸＵ７０は、バス拡張制御手段７１及びＩＮＴＵ５０を有している。バス拡張制御手段７１は、ＭＰＵ６０が搭載されている基本のシステムバス３０と、該ＭＰＵ６０が搭載されていない側の拡張システムバス３１とのシステムバスコマンドの中継機能を持つ。これにより、構造的または電気的に１つのシステムバス３０内に収容できない装置をシステムに収容することが可能となる。
ＢＥＸＵ７０内に設けられたＩＮＴＵ５０は、ＳＩＲＲ５１を有し、このＳＩＲＲ５１内に、同一ベクタ番号３で割り込む各々のＩＵ４３，４４に対応して第１のフラグが設けられている。図５では第１のフラグとして、ＩＵ４３用割り込み要因フラグ５１−３と、ＩＵ４４用割り込み要因フラグ５１−４とが示されている。また、バスの拡張により、図５のＩＲＲ６４には、ベクタ番号１用割り込み要因フラグ６４−１と、ベクタ番号２用割り込み要因フラグ６４−２と、ベクタ番号３用割り込み要因フラグ６４−３とが示されている。
【００２５】
このような構成の割り込み処理システムでは、ＩＵ４１，４２からの割り込み発生に対しては直接ＭＰＵ６０で割り込み処理が行われる。ＩＵ４３，４４からの割り込み発生に対しては、ＢＥＸＵ７０内のＩＮＴＵ５０を介して、ＭＰＵ６０へ伝えられ、割り込み処理が実行される。これにより、拡張システムバス３１配下のＩＵ４３，４４は、ＢＥＸＵ７０内のＩＮＴＵ５０によって同一ベクタ番号３での割り込みを矛盾なく行うことができる。しかも、基本のシステムバス３０上のＩＵ４１，４２は、ＩＵ４３，４４とはベクタ番号が異なることにより、ＭＰＵ６０内のＰＲ６１での割り込み処理を矛盾なく行うことができる。
以上のように、この第２の実施形態の割り込みシステムでは、第１の実施形態とほぼ同様の効果を有する上に、次のような効果がある。
図１のようにＩＮＴＵ５０用に新たに回路基板を設けることに比べれば、ＢＥＸＵ７０内にＩＮＴＵ５０を設けるので、ＩＮＴＵ５０用に新たな回路基板の設置の必要がなく、ハード量を削減できる。さらに、ベクタ番号１，２，３の割り付けが物理的な配置にあったものとなり、管理が容易となる。
【００２６】
第３の実施形態
図１または図５の割り込み処理システムにおいて、ＭＰＵ６０内のＰＲ６１からＩＮＴＵ５０内のＳＩＲＲ５１のフラグ５１−１〜５１−４をセットするフラグセット手段を設けてもよい。このフラグセット手段は、ＰＲ６１のソフトとＳＩＲＲ５１のセット機構とによって構成される。
このようなフラグセット手段を設ければ、ＰＲ６１からＳＩＲＲ５１のフラグ５１−１〜５１−４をセットした場合にも、ＩＵ４１，…からＳＩＲＲ５１にセットした場合と同様に、論理判定を行ってＭＰＵ６０に対する割り込み発生を行う。
そのため、例えば、ＩＮＴＵ５０の回路の試験を行う場合、この試験時にＩＵ４１，…をＳＩＲＲ５１のフラグ５１−１，…の数だけ用意することなく、ソフトによるＰＲ６１からのアクセスだけで、ＩＮＴＵ５０の回路試験が可能となる。また、ＰＲ６１のソフトの処理上、疑似的に割り込みを発生させたい場合が生じた時には、ＰＲソフトによってＳＩＲＲ５１をセットすることにより可能となる。
なお、本発明は上記実施形態に限定されず、例えば、図４の割り込み処理の手順を他の処理手順に変える等、種々の変形が可能である。
【００２７】
【発明の効果】
以上詳細に説明したように、請求項１の発明によれば、ＩＵから割り込みを処理するＭＰＵとの間にＩＮＴＵを設けたので、次の（ａ）〜（ｃ）のような効果がある。
（ａ）  １つのＩＵからの割り込みに対して必ず１回の割り込みが発生する。そのため、ＩＵからの割り込み発生と第２のフラグクリアのタイミングとがどのようになっても、割り込み要求ＩＵがあるにもかかわらず、ＭＰＵに割り込みが発生しない状態や、割り込み要求ＩＵがないにもかかわらず、ＭＰＵに割り込みが発生する状態等の矛盾が発生しない。
（ｂ）  ＭＰＵ内のソフトは必ず１回の割り込みに対して１つのＩＵに対する処理を行うだけでよく、ソフト処理を同一のものとすることができる。
（ｃ）  第１のフラグを有するＩＮＴＵを設けたので、どのＩＵから割り込みが発生しているかを検索する時間を短くできる。
【００２８】
請求項２の発明によれば、ＢＥＸＵ内にＩＮＴＵを設けたので、拡張システムバス配下のＩＵはＢＥＸＵ内のＩＮＴＵによって同一ベクタ番号での割り込みを矛盾なく行うことができ、基本のシステムバス上のＩＵはベクタ番号が異なることにより、ＭＰＵでの割り込み処理を矛盾なく行うことができる。従って、請求項１の発明とほぼ同様の効果がある上に、請求項１のようにＩＮＴＵ用に新たに回路基板を設けることに比べ、新たな回路基板の設置の必要がなく、ハード量を削減できる。しかも、ベクタ番号の割り付けが物理的な配置にあったものとなり、管理が容易となる。
請求項３の発明によれば、ＭＰＵの制御によってＩＮＴＵ内の第１のフラグをセットするフラグセット手段を設けたので、ＩＮＴＵの回路の試験を行うため、この試験時にＩＵを第１のフラグの数だけ用意することなく、ソフトによってＭＰＵからのアクセスだけで、ＩＮＴＵの回路試験が容易に行える。しかも、ＭＰＵのソフトの処理上、疑似的に割り込みを発生させたい場合が生じた時には、該ＭＰＵのソフトによって第１のフラグをセットすることにより容易に可能となる。
【図面の簡単な説明】
【図１】本発明の第１の実施形態を示す割り込み処理システムの構成図である。
【図２】従来の割り込み処理システムの構成図である。
【図３】図２の割り込み処理のフローチャートである。
【図４】図１の割り込み処理のフローチャートである。
【図５】本発明の第２の実施形態を示す割り込み処理システムの構成図である。
【符号の説明】
３０                        基本のシステムバス
３１                        拡張システムバス
４１〜４４                  ＩＵ（割り込み発生装置）
５０                        ＩＮＴＵ（割り込み集約手段）
５１                        ＳＩＲＲ（補助割り込み要因レジスタ）
５１−１〜５１−４          割り込み要因フラグ
６０                        ＭＰＵ（中央処理装置）
６１                        ＰＲ（プロセッサ）
６４                        ＩＲＲ（割り込み要因レジスタ）
６４−１〜６４−３          割り込み要因フラグ
７０                        ＢＥＸＵ（バス拡張制御装置）
７１                        バス拡張制御手段
【図１】
0003549703.tif 000002
【図２】
0003549703.tif 000003
【図３】
0003549703.tif 000004
【図４】
0003549703.tif 000005
【図５】
0003549703.tif 000006