(57)【特許請求の範囲】
【請求項１】
所定の割込要因に起因する割込要求を制御する制御手段を備える割込制御装置であって、
前記制御手段は、
少なくとも２つ以上の割込要因を複数のグループに分類し、
ある割込要因がアサートされたときに、当該割込要因が属するグループに対応する割込要求を、前記割込制御装置に接続された割込処理手段に発行し、
前記割込要因が属するグループに含まれる当該割込要因よりも優先順位の低い割込要因を全てマスクし、
前記割込要求に基づき前記割込処理手段により割込処理が行われて前記割込要因がクリアされた後に、前記マスクを解除し、
前記マスクが解除された割込要因を含む前記グループに属する全ての割込要因がネゲートされているか否かを判断し、当該グループに属する全ての割込要因がネゲートされている場合に処理を終了する一方、当該グループに属するいずれかの割込要因がアサートされている場合に当該グループに対応する割込要求を前記割込処理手段に発行し、
前記制御手段は、ある割込要因に起因する割込要求に係る割込処理中に、当該割込要因が属するグループと同じグループに属し、当該割込要因よりも優先度の高い割込要因がアサートされた場合に、当該グループに対応する割込要求を再度発行する
ことを特徴とする割込制御装置。
【請求項２】
前記制御手段は、複数の割込要因が同時にアサートされた場合に、割込要因が属するグループの優先順位又は割込要因の優先順位に従った順番で割込要求を発行することを特徴とする請求項１に記載の割込制御装置。
【請求項３】
前記制御手段は、各記憶領域に割込要因が割り当てられた記憶手段を備え、当該記憶手段を参照することにより、割込要因がアサートされているか否かを判断することを特徴とする請求項１又は２に記載の割込制御装置。
【請求項４】
前記割込処理はＰＣＩ−Ｅｘｐｒｅｓｓ規格のバス同士、ＰＣＩ規格のバス同士またはＰＣＩ−Ｅｘｐｒｅｓｓ規格のバスとＰＣＩ規格のバスとで接続されたデバイス間における割込処理であり、
前記複数のグループの各々はＭＳＩメッセージナンバーにより識別され、
前記割込要求はＭＳＩパケットの発行によって行われることを特徴とする請求項１〜３のいずれか一つに記載の割込制御装置。
【請求項５】
請求項１〜４のいずれか一つに記載の割込制御装置と、画像処理手段とを備えたことを特徴とする画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ＰＣＩ−Ｅｘｐｒｅｓｓ（以下、「ＰＣＩｅ」という）など、割込通知がパケット転送またはエッジ割り込みによっておこなわれるシステムにおける割込制御装置、バスブリッジ、バススイッチ、画像処理装置、および割込制御方法に関する。
【背景技術】
【０００２】
従来、複数のＰＣＩバスを持つデバイスにおいて、割込入力線を共用することによって端子数を削減する技術が提案されている（たとえば、下記特許文献１参照）。また、割込制御ユニットが、割り込みを上位のデバイスに伝達する際に選択し、リセット中の入出力割込パケットを無効として破棄する技術が提案されている（たとえば、下記特許文献２参照）。
【０００３】
ここで、ＰＣＩｅバスの割込制御方法について説明する。ＰＣＩｅバスは、専用の割込信号を持たず、割り込みをパケットによって要求する。割込用のパケットは、ＭＳＩ（Ｍｅｓｓａｇｅ  Ｓｉｇｎａｌｅｄ  Ｉｎｔｅｒｒｕｐｔ）パケットと呼ばれ、ＭＳＩパケットに埋め込むメッセージナンバーにより、割り込みの要因を最大３２種類に区別して通知することができる。
【０００４】
ＭＳＩパケットに埋め込むことのできるメッセージナンバーの数（ＭＳＩメッセージ数）は、システム起動時にＰＣＩｅコンフィギュレーションサイクルによって設定される。ＰＣＩｅ規格では、ＭＳＩメッセージ数は３２，１６，８，４，２，１の６通りあり、どれを選択するかはシステムで決定する。たとえば、ＭＳＩメッセージ数＝３２が選択された場合、ＭＳＩメッセージ数＝３２でＭＳＩパケットを送出可能なデバイスは、独立した３２通り（０〜３１）のメッセージナンバーを埋め込んだＭＳＩパケットを送出できる。
【０００５】
また、ＭＳＩメッセージ数＝１６が選択された場合、ＭＳＩメッセージ数＝３２でＭＳＩパケットを送出可能なデバイスは、２つの要因に同一のメッセージナンバーを割り当ててＭＳＩパケットとして送出する。また、ＭＳＩメッセージ数＝８が選択された場合、ＭＳＩメッセージ数＝３２でＭＳＩパケットを送出可能なデバイスは、４つの要因に同一のメッセージナンバーを割り当ててＭＳＩパケットとして送出する。
【０００６】
また、ＭＳＩメッセージ数＝４が選択された場合、ＭＳＩメッセージ数＝３２でＭＳＩパケットを送出可能なデバイスは、８つの要因に同一のメッセージナンバーを割り当ててＭＳＩパケットとして送出する。また、ＭＳＩメッセージ数＝２が選択された場合、ＭＳＩメッセージ数＝３２でＭＳＩパケットを送出可能なデバイスは、１６の要因に同一のメッセージナンバーを割り当ててＭＳＩパケットとして送出する。また、ＭＳＩメッセージ数＝１が選択された場合、ＭＳＩメッセージ数＝３２でＭＳＩパケットを送出可能なデバイスは、すべて（３２種類）の要因に同一のメッセージナンバー（たとえば、メッセージナンバー０）を割り当ててＭＳＩパケットを送出する。
【特許文献１】特開２００５−０９２７７０号公報
【特許文献２】特開平１０−１４９２９３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、上述した従来技術にかかるＰＣＩｅバスの割込制御方法では、ＭＳＩメッセージ数＝１６，８，４，２，１が選択された場合、複数の割込要因に同一のメッセージナンバーが割り当てられることとなる。同一のメッセージナンバーが埋め込まれたＭＳＩパケットが何回も発行されると、ＰＣＩｅバスのトラフィックが増大し、デバイスのパフォーマンスが低下してしまう可能性があるという問題点がある。
【０００８】
この発明は、上述した従来技術による問題点を解消するため、冗長な割込処理（ＭＳＩパケットの送出）を抑制することができる割込制御装置および画像処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上述した課題を解決し、目的を達成するため、請求項１の発明にかかる割込制御装置は、所定の割込要因に起因する割込要求を制御する制御手段を備える割込制御装置であって、前記制御手段は、少なくとも２つ以上の割込要因を複数のグループに分類し、ある割込要因がアサートされたときに、当該割込要因が属するグループに対応する割込要求を、前記割込制御装置に接続された割込処理手段に発行し、前記割込要因が属するグループに含まれる当該割込要因よりも優先順位の低い割込要因を全てマスクし、前記割込要求に基づき前記割込処理手段により割込処理が行われて前記割込要因がクリアされた後に、前記マスクを解除し、前記マスクが解除された割込要因を含む前記グループに属する全ての割込要因がネゲートされているか否かを判断し、当該グループに属する全ての割込要因がネゲートされている場合に処理を終了する一方、当該グループに属するいずれかの割込要因がアサートされている場合に当該グループに対応する割込要求を前記割込処理手段に発行し、前記制御手段は、ある割込要因に起因する割込要求に係る割込処理中に、当該割込要因が属するグループと同じグループに属し、当該割込要因よりも優先度の高い割込要因がアサートされた場合に、当該グループに対応する割込要求を再度発行することを特徴とする。
【００１０】
この請求項１の発明によれば、冗長な割込処理の実行を抑制し、デバイスのパフォーマンスを向上させることができる。
【００１１】
また、請求項２の発明にかかる割込制御装置は、請求項１に記載の発明において、前記制御手段は、複数の割込要因が同時にアサートされた場合に、割込要因が属するグループの優先順位又は割込要因の優先順位に従った順番で割込要求を発行することを特徴とする。
【００１３】
また、請求項３の発明にかかる割込制御装置は、請求項１又は２に記載の発明において、前記制御手段は、各記憶領域に割込要因が割り当てられた記憶手段を備え、当該記憶手段を参照することにより、割込要因がアサートされているか否かを判断することを特徴とする。
【００１４】
また、請求項４の発明にかかる割り込み制御装置は、請求項１〜３のいずれか一つに記載の発明において、前記割込処理はＰＣＩ−Ｅｘｐｒｅｓｓ規格のバス同士、ＰＣＩ規格のバス同士またはＰＣＩ−Ｅｘｐｒｅｓｓ規格のバスとＰＣＩ規格のバスとで接続されたデバイス間における割込処理であり、前記複数のグループの各々はＭＳＩメッセージナンバーにより識別され、前記割込要求はＭＳＩパケットの発行によって行われることを特徴とする。
【００１５】
この請求項４の発明によれば、ＰＣＩ−Ｅｘｐｒｅｓｓ規格のバス同士、ＰＣＩ規格のバス同士、またはＰＣＩ−Ｅｘｐｒｅｓｓ規格のバスとＰＣＩ規格のバスとで接続されたデバイス間において、冗長な割込処理の実行を抑制し、デバイスのパフォーマンスを向上させることができる。
【００１６】
また、請求項５にかかる発明は、請求項１〜４のいずれか一つに記載の割り込み制御装置と、画像処理手段とを備えたことを特徴とする画像処理装置である。
【発明の効果】
【００１９】
本発明にかかる割込制御装置および画像処理装置によれば、冗長な割込処理（ＭＳＩパケットの送出）を抑制し、デバイスのパフォーマンスが低下するのを防止することができるという効果を奏する。
【発明を実施するための最良の形態】
【００２０】
以下に添付図面を参照して、この発明にかかる割込制御装置、バスブリッジ、バススイッチ、画像処理装置および割込制御方法の好適な実施の形態を詳細に説明する。なお、以下の説明では、割込パケットの種類をＭＳＩパケットに限定して説明するが、割り込みをパケット（広義にはエッジ割り込みも含む）で伝達するシステムであれば、本発明を適用することができる。
（実施の形態）
はじめに、実施の形態にかかるブリッジチップが搭載されたシステムの構成例について説明する。図１は、実施の形態にかかるブリッジチップが搭載されたシステム構成の一例を示すブロック図である。システム１００は、ブリッジチップ１０１、デバイス１０２、ＭＣＨ（Ｍｅｍｏｒｙ  Ｃｏｎｔｒｏｌｌｅｒ  Ｈｕｂ）１０３、ＣＰＵ１０４、ＩＣＨ（Ｉ／Ｏ  Ｃｏｎｔｒｏｌｌｅｒ  Ｈｕｂ）１０５、システムメモリ１０６によって構成される。
【００２１】
ブリッジチップ１０１は、たとえば、各種機能（圧縮伸長器、編集器、回転器など）を内蔵するプリンタコントローラである。デバイス１０２は、たとえばプリンタ用エンジンあり、ブリッジチップ１０１のＰＣＩｅ下位デバイスである。また、ＭＣＨ１０３は、ｘ８６システムのノースブリッジチップであり、ブリッジチップ１０１のＰＣＩｅ上位デバイスである。また、ＩＣＨ１０５は、ｘ８６システムのサウスブリッジチップである。
【００２２】
デバイス１０２とブリッジチップ１０１、ＭＣＨ１０３とブリッジチップ１０１とは、それぞれＰＣＩｅバス１１０ａ，１１０ｂによって接続されている。以下、デバイス１０２とブリッジチップ１０１とをつなぐＰＣＩｅバス１１０を、デバイスＩ／Ｆ１１０ａという。また、ＭＣＨ１０３とブリッジチップ１０１とをつなぐＰＣＩｅバス１１０を、ＭＣＨＩ／Ｆ１１０ｂという。
【００２３】
次に、実施の形態にかかるバスブリッジが搭載されたシステムの他の例としての画像処理装置１５０の構成例を図２を参照して説明する。
【００２４】
図２に示すように、この画像処理装置１５０は、バスブリッジ１５１、画像処理部１５２、ＭＣＨ（Ｍｅｍｏｒｙ  Ｃｏｎｔｒｏｌｌｅｒ  Ｈｕｂ）１５３、ＣＰＵ１５４、ＩＣＨ（Ｉ／Ｏ  Ｃｏｎｔｒｏｌｌｅｒ  Ｈｕｂ）１５５、システムメモリ１５６、プロッタ１５７、スキャナ１５８、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）１５９、ＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）１６０を有する。図２に示す例では、画像処理装置１５０は、ＬＡＮ１７０に接続されている。また、ＬＡＮ１７０にはホストＰＣ１７１、ホストＰＣ１７２が接続されている。
【００２５】
バスブリッジ１５１は、図１に示す構成におけるブリッジチップ１０１と同様の装置であり、本発明に係る割込み制御部（ＩＮＴＣ）に加えて、圧縮伸長モジュール、ＨＤＤ  Ｉ／Ｆモジュール、画像処理部１５２とのＩ／ＦとＭＣＨとのＩ／Ｆとを仲介するブリッジ機能等を有する装置である。
【００２６】
例えば、バスブリッジ１５１は、画像処理部１５２からスキャナデータを入力し、当該スキャナデータをＭＣＨ１５３を介してシステムメモリ１５６へ転送したり、ＭＣＨ１５３を介してシステムメモリ１５６から読み出したプロッタデータを画像処理部１５２に転送する。
【００２７】
画像処理部１５２は、スキャンデータの画像処理、及びプロッタデータの画像処理を行うとともに、各種データをバスブリッジ１５１に転送する。ＨＤＤ１５９は画像データを蓄積する。プロッタ１５７は画像データを印刷するための装置であり、スキャナ１５８は画像を読み取り、画像データを生成する装置である。ＮＩＣ１６０は、ＬＡＮ１７０と画像処理装置１５０とのインタフェース機能を有する装置である。ＣＰＵ１５４、ＭＣＨ１５３、ＩＣＨ１５５、システムメモリ１５６は、それぞれ図１に示すＣＰＵ１０４、ＭＣＨ１０３、ＩＣＨ１０５、システムメモリ１０６に対応する装置である。
【００２８】
画像処理装置１５０の動作を次に説明する。
【００２９】
まず、ホストＰＣ（１７１または１７２）からＰＤＬ（Page Description Language）データが画像処理装置１５０に入力される。当該ＰＤＬデータは、ＮＩＣ１６０、ＩＣＨ１５５、ＭＣＨ１５３を経由してシステムメモリ１５６に転送される。そして、ＣＰＵ１５４がＰＤＬデータを画像データに展開し、再びシステムメモリ１５６に格納する。
【００３０】
システムメモリ１５６が全部の画像データを格納できない場合、もしくは、画像データを蓄積し再利用する場合には、画像データはＭＣＨ１５３及びバスブリッジ１５１を介してＨＤＤ１５９に転送される。ここでは、バスブリッジ１５１により画像データが圧縮され、圧縮された画像データがＨＤＤ１５９に蓄積される。
【００３１】
ＨＤＤ１５９に蓄積された画像データは、バスブリッジ１５１により伸長され、システムメモリ１５６へ転送される。そして、バスブリッジ１５１は、システムメモリ１５６から画像データを読み出し、それを画像処理部１５２に転送する。画像処理部１５２は、プロッタ１５７に画像データを送り、プロッタが紙に画像を印刷する。
【００３２】
これら一連の処理の中で、バスブリッジ１５１は、圧縮モジュール、伸長モジュール、画像処理部１５２等の割り込みを束ね、ＭＣＨ１５３を介してＣＰＵ１５４へ割り込みを通知する。例えば、バスブリッジ１５１が、圧縮／伸長が終了したことをＣＰＵ１５４に割り込みで通知することにより、ＣＰＵ１５４は、次の画像データの圧縮／伸長指示を行うことができる。更に、バスブリッジ１５１と画像処理部１５２との間のデータ転送も、バスブリッジ１５１からの割り込みでタイミングを調整することができる。
【００３３】
以下、図１の構成に基づいて本実施の形態に係る割込制御に係る構成、及び処理内容を詳細に説明するが、下記で説明する構成及び処理内容は、図２で説明した構成にも同様に適用されるものである。
【００３４】
つぎに、ブリッジチップ１０１およびその周辺部の詳細な構成について説明する。図３は、ブリッジチップおよびその周辺部の構成を示すブロック図である。ブリッジチップ１０１は、ＲＯＯＴ２１１、ＩＮＴＣ２１２、ＥＮＤＰ２１３、機能モジュール２１４によって構成される。
【００３５】
ＲＯＯＴ２１１は、下位デバイスとのインターフェースを司るルートコンプレックス（ＲｏｏｔＣｏｐｍｐｌｅｘ）機能モジュールである。ＩＮＴＣ２１２は、割込コントローラであり、機能モジュール２１４、およびＲＯＯＴ２１１からの割込要因を束ねて、ＥＮＤＰ２１３へＭＳＩパケットの発行要求をおこなう。ＥＮＤＰ２１３は、上位デバイスとのＩ／Ｆを司るエンドポイント（Ｅｎｄｐｏｉｎｔ）機能モジュールである。機能モジュール２１４は、ＲＯＯＴ２１１以外の割込要因となるモジュール群であり、たとえば、ＣＥＰ、ＥＤＩＴ、ＲＯＴなどである。
【００３６】
ＥＮＤＰ２１３にはＰＣＩｅ  Ｉ／Ｆ２２１が設けられており、ＭＣＨ  Ｉ／Ｆ１１０ｂを介してＭＣＨ１０３と接続されている。また、デバイス１０２にもＰＣＩｅ  Ｉ／Ｆ２２２が設けられており、デバイスＩ／Ｆ１１０ａを介してＲＯＯＴ２１１と接続されている。
【００３７】
デバイスＩ／Ｆ１１０ａは、デバイス１０２からブリッジチップ１０１に送信される割込要求の送信方式として、ＭＳＩとＩＴＮｘ  ｍｅｓｓａｇｅ（以下、「ＩＴＮｘ」という）の両方をサポートする。割込要求の送出方法には、ＭＳＩとＩＴＮｘとがあり、どちらの方式とするかは、システム起動時にデバイス１０２のＰＣＩｅコンフィギュレーションによって設定する。また、ＭＳＩメッセージ数についても、システム起動時にデバイス１０２のＰＣＩｅコンフィギュレーションによって設定する。ＭＳＩメッセージ数は、１，２，４，８，１６，３２の６通りから選択される。
【００３８】
また、ＭＣＨ  Ｉ／Ｆ１１０ｂについても、ブリッジチップ１０１からＭＣＨ１０３に送信される割込要求の送信方式として、ＭＳＩとＩＴＮｘの両方をサポートする。どちらの送信方式とするかは、システム起動時にＥＮＤＰ２１３のＰＣＩｅコンフィギュレーションにより設定する。また、ＭＳＩメッセージ数についてもシステム起動時にデバイス１０２のＰＣＩｅコンフィギュレーションによって設定する。ＭＳＩメッセージ数は、１，２，４，８，１６，３２の６通りから選択される。
【００３９】
つづいて、ブリッジチップ１０１内の割込コントローラであるＩＮＴＣ２１２の構成について説明する。図４は、ＩＮＴＣの構成を示すブロック図である。図４では、割込要因が３２種類の場合について例示している。レジスタＩ／Ｆ３０１は、ＩＮＴＣ２１２の各モジュール内のレジスタへのアクセスを仲介する。ペンディングレジスタ（ＩＲＣ＿ＰＥＮＤ）３０２は、ＩＮＴＣ２１２へ入力される各割込要因（ｉｎｔ［３１：０］）の状態を表示するためのレジスタ群である。マスクレジスタ（ＩＲＣ＿ＭＳＫ）３０３は、各割込要因（ｉｎｔ［３１：０］）の割り込みをマスクするためのレジスタ群である。
【００４０】
ステータスレジスタ（ＩＲＣ＿ＳＴＡＴ）３０４は、マスクレジスタ３０３によってマスクされた後の割込要因の状態を表示するためのレジスタ群である。図５にステータスレジスタ３０４の構成例を示す。図５は、ステータスレジスタの構成例を示す説明図である。ステータスレジスタ３０４は、３２ビット幅であり、それぞれのビットに割込要因（図５中、Ａ，Ｂなど）が割り当てられている。なお、要因が割り当てられていないビットがあってもよい。
【００４１】
図４の説明に戻り、ＭＳＩ要求部（ＭＳＩ＿ＲＥＱ）３０５は、ＥＮＤＰ２１３に設けられたＭＣＨ１０３側のＰＣＩｅ  Ｉ／Ｆ２２１（図３参照）へＭＳＩパケットの発行要求をおこなうモジュールである。ＭＳＩ要求部３０５には、ＰＣＩｅ  Ｉ／Ｆ２２１から許容されるメッセージナンバーの数（ＭＳＩメッセージ数）が入力される。ＭＳＩ要求部３０５は、ＭＣＨ  Ｉ／Ｆ１１０ｂにＭＳＩの発行要求をおこなう。
【００４２】
（ＩＮＴＣ２１２周辺における割込信号の流れ）
つぎに、ＩＮＴＣ２１２の周辺における割込信号の流れについて説明する。なお、以下の説明では、ブリッジチップ１０１とＭＣＨ１０３との間の処理（ＭＣＨ  Ｉ／Ｆ１１０ｂ間の処理）に着目して説明を進めるが、ブリッジチップ１０１とデバイス１０２との間の処理（デバイスＩ／Ｆ１１０ａ間の処理）についても同様に適用することができる。
【００４３】
図６は、ＩＮＴＣ周辺における割込信号の流れを説明するための説明図である。図６において、信号は左から右へと流れるものとする。また、図６は、ＭＳＩメッセージ数＝８の場合について図示している。図６では、マスクレジスタ３０３は図示されていないが、ペンディングレジスタ３０２とステータスレジスタとの間にマスクゲートの一部が図示されている。まず、レジスタＩ／Ｆ３０１（図４参照）を介してＲＯＯＴ２１１または機能モジュール２１４から信号が入力される。Ｈイネーブルの場合、割り込みが発生すると、ペンディングレジスタ３０２の対応するビットがＨとなる。
【００４４】
マスクレジスタ３０３（図４参照）の対応するビットに１が書き込まれている場合、ペンディングレジスタ３０２のＨがステータスレジスタ３０４に伝わるのが、マスクゲートによって阻止される（割込マスク）。一方、マスクレジスタ３０３の対応するビットに０が書き込まれている場合、マスクゲートを通ってペンディングレジスタ３０２のＨがステータスレジスタ３０４に伝わる（割込非マスク）。ステータスレジスタ３０４の状態は、ＭＳＩ要求部３０５に伝わる。
【００４５】
ＭＳＩ要求部３０５は、ステータスレジスタ３０４の状態と、ＥＮＤＰ２１３のＰＣＩｅ  Ｉ／Ｆ２２１から入力されるＭＳＩメッセージ数にしたがって、ＥＮＤＰ２１３のＰＣＩｅ  Ｉ／Ｆ２２１に対してＭＳＩパケットの発行を要求する。ＭＳＩメッセージ数は５ビットの信号であり、マルチプル・メッセージ・イネーブル（Ｍｕｌｔｉｐｌｅ  Ｍｅｓｓａｇｅ  Ｅｎａｂｌｅ：詳細はＰＣＩ  Ｌｏｃａｌ  Ｂｕｓ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ参照）の結果をＩＮＴＣ２１２に伝達する。
【００４６】
ＭＳＩ要求部３０５は、たとえば、ＭＳＩメッセージ数＝３２の場合、ステータスレジスタ３０４の各ビットから出力された信号（図６中Ａ）が"Ｈ"の時、対応するビット番号のメッセージナンバーが埋め込まれたＭＳＩパケットの発行をＥＮＤＰ２１３に要求する。また、図６に示すように、ＭＳＩメッセージ数＝８の場合、ＭＳＩ要求部３０５は、ステータスレジスタ３０４の各ビットから出力された信号（図６中Ａ）を８つのグループとみなし、８種類のメッセージナンバーのいずれかが埋め込まれたＭＳＩパケットの発行をＥＮＤＰ２１３に要求する。
【００４７】
この場合、ＭＳＩ要求部３０５は、たとえば、各信号を以下のようにグルーピングする。｛ｂｉｔ３１、ｂｉｔ２３、ｂｉｔ１５、ｂｉｔ７｝：ＭＳＩメッセージナンバー７のグループ、｛ｂｉｔ３０、ｂｉｔ２２、ｂｉｔ１４、ｂｉｔ６｝：ＭＳＩメッセージナンバー６のグループ、｛ｂｉｔ２９、ｂｉｔ２１、ｂｉｔ１３、ｂｉｔ５｝：ＭＳＩメッセージナンバー５のグループ、｛ｂｉｔ２８、ｂｉｔ２０、ｂｉｔ１２、ｂｉｔ４｝：ＭＳＩメッセージナンバー４のグループ、｛ｂｉｔ２７、ｂｉｔ１９、ｂｉｔ１１、ｂｉｔ３｝：ＭＳＩメッセージナンバー３のグループ、｛ｂｉｔ２６、ｂｉｔ１８、ｂｉｔ１０、ｂｉｔ２｝：ＭＳＩメッセージナンバー２のグループ、｛ｂｉｔ２５、ｂｉｔ１７、ｂｉｔ９、  ｂｉｔ１｝：ＭＳＩメッセージナンバー１のグループ、｛ｂｉｔ２４、ｂｉｔ１６、ｂｉｔ８、  ｂｉｔ０｝：ＭＳＩメッセージナンバー０のグループ。ＭＳＩメッセージ数が１６、４、２、１の場合も同様にグルーピングする。
【００４８】
図７は、ＭＳＩパケットの発行要求時のタイミングチャートである。図７のタイミングチャートにおいて、タイミングチャートＡはステータスレジスタ３０４からの出力（図６中Ａ）、タイミングチャートＢはＭＳＩ要求部３０５からの出力をそれぞれ示す（図６中Ｂ）。上述したように、ステータスレジスタ３０４からの出力のうち｛ｂｉｔ２４、ｂｉｔ１６、ｂｉｔ８、ｂｉｔ０｝の信号がＭＳＩメッセージナンバー０を共用する。以下、ｂｉｔｘ（ｘは０から３２までの数）からの割込要求をＩｎｔｅｒｒｕｐｔｘと表記する。
【００４９】
図７のタイミングチャートＡに示すように、まず、Ｉｎｔｅｒｒｕｐｔ０がＣＬＫ４でアサートされる。つづいて、ＣＬＫ６でＩｎｔｅｒｒｕｐｔ８がアサート、ＣＬＫ７でＩｎｔｅｒｒｕｐｔ１６がアサートされる。Ｉｎｔｅｒｒｕｐｔ０がＣＬＫ４でアサートされると、タイミングチャートＢに示すように、ＭＳＩ要求部３０５はＥＮＤＰ２１３に対してメッセージナンバー０を埋め込んだＭＳＩパケットの発行を要求する。ＭＳＩ要求部３０５は、Ｉｎｔｅｒｒｕｐｔ０がネゲートする前に同じグループの他のＩｎｔｅｒｒｕｐｔ（Ｉｎｔｅｒｒｕｐｔ８、Ｉｎｔｅｒｒｕｐｔ１６など）がアサートされても、ＭＳＩパケットの発行要求をおこなわない（タイミングチャートＢ参照）。
【００５０】
つぎに、図７のタイミングチャートＡにおいて、ＣＬＫ１１でＩｎｔｅｒｒｕｐｔ０とＩｎｔｅｒｒｕｐｔ１６が同時にネゲートしている。このときＩｎｔｅｒｒｕｐｔ８はアサートされたままであるため、ＭＳＩ要求部３０５は、所定の時間の後に、ＭＳＩパケットの発行要求を再度おこなう（タイミングチャートＢ参照）。つまり、同一グループ内のいずれかのＩｎｔｅｒｒｕｐｔがネゲートされたタイミングで、同一グループ中のいずれかのＩｎｔｅｒｒｕｐｔがアサートされている場合、ＭＳＩ要求部３０５は再度ＭＳＩパケットの発行を要求する。
【００５１】
上記のように、ＭＳＩ要求部３０５は、Ｉｎｔｅｒｒｕｐｔ０が無効となるまで（つまり、Ｉｎｔｅｒｒｕｐｔ０がクリアされるまで）、当該Ｉｎｔｅｒｒｕｐｔ０の割込要因と同じグループの割込要因（Ｉｎｔｅｒｒｕｐｔ８）に起因する割込処理を実行しないよう制御を行う。この処理において、Ｉｎｔｅｒｒｕｐｔ０の"Ｈ"（ステータスレジスタの値）がクリアされる場合としては、割込要因自体がクリアされる場合の他、Ｉｎｔｅｒｒｕｐｔ０に対応するペンディングレジスタの値が、マスクレジスタの値によりマスクされる場合も含まれる（割り込みのマスクは、割込要因のネゲートと等価である）。
【００５２】
つまり、ＭＳＩ要求部３０５は、Ｉｎｔｅｒｒｕｐｔ０の値がマスクされるまで、当該Ｉｎｔｅｒｒｕｐｔ０の割込要因と同じグループの割込要因（Ｉｎｔｅｒｒｕｐｔ８）に起因する割込処理を実行しないよう制御を行うこともできる。
【００５３】
上記のような構成とすることにより、冗長なＭＳＩパケットの発行を抑制し、ＰＣＩｅバスの処理効率を向上させることができる。
【００５４】
しかし、上記の制御方法を用いても、以下のような不都合を生じる場合がある。
【００５５】
第１に、複数の要因がアサートされている場合において、割込処理の中で複数の要因を一斉にクリアしたい場合、要因をクリアするタイミングが少しでもずれると、１つの要因がネゲートされたタイミングでＭＳＩパケットが再発行されてしまう。例えば、Ｉｎｔｅｒｒｕｐｔ０、８、１６が同時にアサートされた場合において、上記のようにＩｎｔｅｒｒｕｐｔ０に基づく割込処理（ＭＳＩ発行）を行った後に、Ｉｎｔｅｒｒｕｐｔ０、８、１６を一斉にクリアする必要が生じたと想定する。この場合、例えばＩｎｔｅｒｒｕｐｔ８だけクリアのタイミングがずれてしまうと、メッセージナンバー０を埋め込んだＭＳＩパケットの発行の要求が再度行われてしまう。
【００５６】
第２に、割込処理の中で、ある要因をクリアした直後に同じ要因がアサートされる場合、割込信号が一旦ネゲートされずに必要なＭＳＩが発行されない可能性がある。例えば、図７の例において、Ｉｎｔｅｒｒｕｐｔ０がクリアされた直後にＩｎｔｅｒｒｕｐｔ０がアサートされた場合、ＭＳＩ要求部３０５は、ＭＳＩパケット送出に係る要因であるＩｎｔｅｒｒｕｐｔ０がクリア(ネゲート）されたことを認識せずに、Ｉｎｔｅｒｒｕｐｔ８に対するＭＳＩ発行の抑止を継続してしまう可能性がある。この場合、Ｉｎｔｅｒｒｕｐｔ８に対するＭＳＩ発行が行われない可能性がある。
【００５７】
そこで、ＩＮＣＴ２１２は、最初に割込処理対象とした要因と同じグループに属する他の要因を全てマスクした後の割込要求をＭＳＩ要求部３０５に入力する構成を採ることとしている。そして、マスクをせずに処理対象となった要因がクリアされた後にマスクを解除する。
【００５８】
上記の第１の問題に関し、上記のように複数の要因を一斉にクリアしたい場合には、それをマスクをしている中で行えばよい。これにより、要因のクリアのタイミングがずれたとしても、マスクされているので余計なＭＳＩ発行がなされることはなくなる。したがって、無駄なＭＳＩパケットの発行を抑制することができる。
【００５９】
また、第２の問題に関しては、マスクを解除した後に、アサートされている要因に基づいてＭＳＩパケット発行処理を行えばよい。これにより、必要なＭＳＩパケットの発行漏れを防止することができる。マスクを解除した後に、複数の要因（例えばＩｎｔｅｒｒｕｐｔ０とＩｎｔｅｒｒｕｐｔ８）がアサートされている場合には、より割込処理の必要性の高い要因に対するＭＳＩ発行を行えばよい。例えば、後述するように、要因間に優先順位を設けておき、優先順位の高い要因に対するＭＳＩ発行を優先的に行う。
【００６０】
なお、このマスクに関わる処理については後に図９〜１１を参照してより詳細に説明する。
【００６１】
（ブリッジチップ１０１の初期化処理手順）
つぎに、ブリッジチップ１０１の初期化処理手順について説明する。図８は、ブリッジチップの初期化処理手順を示すシーケンス図である。なお、図８のシーケンス図では、ＭＣＨ１０３がレジスタにアクセスするかのように記載されているが、ＭＣＨ１０３はＣＰＵ１０４内蔵のチップのこともあれば、ＭＣＨ１０３のさらに上位にＣＰＵ１０４が接続される場合もある。
【００６２】
まず、ＭＣＨ１０３によってＥＮＤＰ２１３のコンフィギュレーションを実施する（ステップＳ７０１）。ＥＮＤＰ２１３のコンフィギュレーションとは、たとえばＭＳＩ関連（特にメッセージナンバー数）の設定などである。つぎに、ＭＣＨ１０３からブリッジチップ１０１へのレジスタアクセスによって、ＲＯＯＴ２１１のコンフィギュレーションを実行する（ステップＳ７０２）。ＲＯＯＴ２１１のコンフィギュレーションとは、たとえばＰＣＩｅとしてのベースアドレスの設定などである。
【００６３】
つづいて、ＭＣＨ１０３によってＲＯＯＴ２１１の内部レジスタを初期設定する（ステップＳ７０３）。ＲＯＯＴ２１１の内部レジスタ設定とは、たとえばデバイス１０２からＭＳＩパケットを受信するための設定などである。そして、ＭＣＨ１０３によってデバイス１０２のコンフィギュレーションを実施する（ステップＳ７０４）。デバイス１０２のコンフィギュレーションとは、たとえばＰＣＩｅとしてのベースアドレスの設定などである。以上のような手順によって、ブリッジチップ１０１が初期化される。
【００６４】
（ブリッジチップ１０１の割込制御処理手順）
つづいて、ブリッジチップ１０１による割込制御処理手順について説明する。ここでは、機能モジュール２１４からの割込要求が発生した場合の割込制御処理手順と、デバイス１０２からの割込要求が発生した場合の割込処理制御手順とをそれぞれ説明する。図９は、機能モジュールからの割り込みが発生した場合の割込制御処理手順を示すシーケンス図である。ここでは、図８に示したブリッジチップ１０１の初期化処理において、ＥＮＤＰ２１３のコンフィギュレーションにより、ＭＳＩメッセージ数が８に設定されたものとして説明する。
【００６５】
まず、機能モジュール２１４の一例であるＣＥＰが割込要求をＩＮＴＣ２１２にアサートする（ステップＳ８０１）。ＣＥＰからの割込要求を受けたＩＮＴＣ２１２は、ＭＳＩメッセージ数とメッセージナンバーとの対応表を参照して、ＣＥＰ２１４に対応するメッセージナンバーを検索する。
【００６６】
図１０は、ＭＳＩ要因名とメッセージナンバーとの対応を示す図表である。図１０の表中の値はメッセージナンバーである。図１０に示す例では、ＭＳＩメッセージ数８の場合、ＣＥＰ２１４（図１０では要因名Ｚとする）にはメッセージナンバー３が割り当てられている。よって、ＩＮＴＣ２１２は、ＥＮＤＰ２１３にメッセージナンバー３のＭＳＩパケットの発行を要求する（ステップＳ８０２）。
【００６７】
ＩＮＴＣ２１２からのＭＳＩ要求を受け、ＥＮＤＰ２１３は、ＰＣＩｅバス上にＭＳＩパケットを発行する（ステップＳ８０３）。このＭＳＩパケットをＭＣＨ１０３が受信することにより、割り込みが受け付けられる。ＭＳＩパケットを受信したＭＣＨ１０３は、ＩＮＴＣ２１２のステータスレジスタ３０４をリードし（ステップＳ８０４）、割込要因がＣＥＰと特定する。つづいて、ＭＣＨ１０３は、ＣＥＰのステータスレジスタをリードし（ステップＳ８０５）、割込要因の詳細（たとえば、割り込みの発生原因など）を特定する。割り込みの発生原因には、たとえば転送終了やエラーの発生などが挙げられる。
【００６８】
そして、ＭＣＨ１０３は、ＣＥＰと同じメッセージナンバーにグルーピングされたＣＥＰ以外の要因をすべてマスクする（ステップＳ８０６）。たとえば、ＭＳＩメッセージ数が８の場合、同一のメッセージナンバーの要因は４つある。図１０の表では、要因Ｚ（＝ＣＥＰ）はステータスレジスタ３０４のｂｉｔ２７、メッセージナンバー３なので、ＭＣＨ１０３は同じメッセージナンバー３にグルーピングされている要因（ｂｉｔ１９、ｂｉｔ１１、ｂｉｔ３）をすべてマスクする。
【００６９】
つづいて、ＭＣＨ１０３は、ＣＥＰの割込処理をおこなうとともに、ＣＥＰの割込要因をクリアする（ステップＳ８０７）。そして、ＭＣＨ１０３は、ステップＳ８０６でマスクしたｂｉｔ１９、ｂｉｔ１１、ｂｉｔ３のマスクをすべて解除する（ステップＳ８０８）。つぎに、ＩＮＴＣ２１２は、ステータスレジスタ３０４を参照し、メッセージナンバー３にグルーピングされている要因（ｂｉｔ２７、ｂｉｔ１９、ｂｉｔ１１、ｂｉｔ３）がすべてネゲートされているか否かを判断する。
【００７０】
メッセージナンバー３にグルーピングされている要因がすべてネゲートされている場合（図９中Ｃ）、ＭＳＩパケットの発行要求をおこなわず、処理を終了する。一方、メッセージナンバー３にグルーピングされている要因のいずれかがアサートされている場合（図９中Ｄ）、ＩＮＴＣ２１２は、メッセージナンバー３のＭＳＩパケットの発行を再要求する（ステップＳ８０９）。ＩＮＴＣ２１２からのＭＳＩ要求を受け、ＥＮＤＰ２１３は、ＰＣＩｅバス上にＭＳＩパケットを発行する（ステップＳ８１０）。この後は、ステップＳ８０４以降の処理を繰り返す。以上のような処理によって、ブリッジチップ１０１は機能モジュール２１４からの割り込みを制御する。
【００７１】
このように、ＭＣＨ１０３は割込処理開始時、同一のメッセージナンバーの割り込みを同時にマスクする。そして、割込要因がネゲートされた後、全てのマスクを解除する。そのときに、同一メッセージナンバーの他の要因がアサートされている場合にはＭＳＩパケットの発行が自動的に再要求される。
【００７２】
つぎに、デバイス１０２からの割込要求に対する制御処理について説明する。図１１は、デバイスからの割り込みが発生した場合の割込制御処理手順を示すシーケンス図である。まず、デバイス１０２からＭＳＩパケットが発行され、ＲＯＯＴ２１１がＩＮＴＣ２１２に割込要求（ＲＯＯＴ＿ＭＳＩ）をアサートする（ステップＳ１００１）。デバイスからの割込要求を受けたＩＮＴＣ２１２は、ＭＳＩメッセージ数とメッセージナンバーとの対応表を参照して、ＲＯＯＴ＿ＭＳＩ（図１０では要因Ｔとする）に対応するメッセージナンバーを検索する。前述の図１０に示す例では、ＭＳＩメッセージ数８の場合、要因Ｔはメッセージナンバー４が割り当てられている。よって、ＩＮＴＣ２１２は、ＥＮＤＰ２１３にメッセージナンバー４のＭＳＩパケットの発行を要求する（ステップＳ１００２）。
【００７３】
ＩＮＴＣ２１２からのＭＳＩ要求を受け、ＥＮＤＰ２１３は、ＰＣＩｅバス上にＭＳＩパケットを発行する（ステップＳ１００３）。このＭＳＩパケットをＭＣＨ１０３が受信することにより、割り込みが受け付けられる。ＭＳＩパケットを受信したＭＣＨ１０３は、ＩＮＴＣ２１２のステータスレジスタ３０４をリードし（ステップＳ１００４）、割込要因がＲＯＯＴ２１１の下位モジュール（デバイス１０２）であると特定する。つづいて、ＭＣＨ１０３は、デバイス１０２のステータスレジスタおよびＲＯＯＴ２１１のステータスレジスタをリードし（ステップＳ１００５，Ｓ１００６）、割込要因の詳細を特定する。
【００７４】
そして、ＭＣＨ１０３は、ＲＯＯＴ＿ＭＳＩと同じメッセージナンバーにグルーピングされた要因をすべてマスクする（ステップＳ１００７）。たとえば、ＭＳＩメッセージ数が８の場合、同一のメッセージナンバーの要因は４つある。図１０の表では、要因Ｔ（＝ＲＯＯＴ＿ＭＳＩ）はステータスレジスタ３０４のｂｉｔ２０、メッセージナンバー４なので、ＭＣＨ１０３は同じメッセージナンバー４にグルーピングされている他の要因（ｂｉｔ２８、ｂｉｔ１２、ｂｉｔ４）をマスクする。つぎに、ＭＣＨ１０３は、ＲＯＯＴ２１１のＲＯＯＴ＿ＭＳＩ要因をクリアする（ステップＳ１００８）。つづいて、ＲＯＯＴ２１１は、ＩＮＴＣ２１２に割込要求（ＲＯＯＴ＿ＭＳＩ）をネゲートする（ステップＳ１００９）。
【００７５】
つづいて、ＭＣＨ１０３は、デバイス１０２の割込処理をおこなうとともに、デバイス１０２の割込要因をクリアする（ステップＳ１０１０）。そして、ＭＣＨ１０３は、ステップＳ１００６でマスクしたｂｉｔ２８、ｂｉｔ１２、ｂｉｔ４のマスクをすべて解除する（ステップＳ１０１１）。つぎに、ＩＮＴＣ２１２は、ステータスレジスタ３０４を参照し、メッセージナンバー４にグルーピングされている要因（ｂｉｔ２８、ｂｉｔ２０、ｂｉｔ１２、ｂｉｔ４）がすべてネゲートされているか否かを判断する。
【００７６】
メッセージナンバー４にグルーピングされている要因がすべてネゲートされている場合（図１１中Ｅ）、ＭＳＩパケットの発行要求をおこなわず、処理を終了する。一方、メッセージナンバー４にグルーピングされている要因のいずれかがアサートされている場合（図１１中Ｆ）、ＩＮＴＣ２１２は、メッセージナンバー４のＭＳＩパケットの発行を再要求する（ステップＳ１０１２）。ＩＮＴＣ２１２からのＭＳＩ要求を受け、ＥＮＤＰ２１３は、ＰＣＩｅバス上にＭＳＩパケットを発行する（ステップＳ１０１３）。この後は、ステップＳ１００４以降の処理を繰り返す。以上のような処理によって、ブリッジチップ１０１はデバイス１０２からの割り込みを制御する。
【００７７】
このように、ＭＣＨ１０３は、ある要因による割込要求があった場合、その要因と同じメッセージナンバーにグルーピングされているすべての要因をマスクする。たとえば、同じメッセージナンバーにグルーピングされている要因のうち、１つの要因のみマスクした後、割込処理をおこなう制御では、マスクした時点で同一グループの要因がアサートされている場合に再度ＭＳＩパケットの発行を要求してしまう。また、同時に複数の要因をクリアする割込処理をおこなう場合、要因をクリアするタイミングが少しでもずれると、マスクしていない方の要因について、ＭＳＩパケットの再発行が要求されてしまう。本実施の形態のように、同じメッセージナンバーにグルーピングされているすべての要因をマスクすれば、冗長なＭＳＩパケットの発行を抑制し、ＰＣＩｅバスの処理効率を向上させることができる。
【００７８】
なお、ＩＮＣＴ２１２は、複数の割込要求が同時に検出された場合、あらかじめ定められた優先順位にしたがった順番でＭＳＩパケットの発行を要求することとしてもよい。この場合、優先順位は、たとえば、割込要求のメッセージナンバーやステータスレジスタ３０４のビット番号によって定めることができる。優先順位の設定に、メッセージナンバーまたはステータスレジスタ３０４のビット番号のいずれを用いるかは、たとえば、メッセージナンバーのグルーピングの方法によって判断する。
【００７９】
割込要求に優先順位を設けた場合、ＩＮＣＴ２１２は、受け付けた割込要求のうち最も優先順位が高い割込要求を実行する。このとき、ＩＮＣＴ２１２は、実行している割込要因と同じメッセージナンバーが割り当てられた割込要因のうち、実行している割込要因よりも優先順位の低い割込要因からの割込要求をマスクする。
【００８０】
メッセージナンバーによって優先順位を定める場合、たとえば、メッセージナンバー７の優先順位を最も高く、メッセージナンバー０の優先順位を最も低く設定する。この場合、すべての要因がネゲートされている状態から、Ｉｎｔｅｒｒｕｐｔ１２（メッセージナンバー４）とＩｎｔｅｒｒｕｐｔ２４（メッセージナンバー０）がＭＳＩ要求部３０５で同時に検出されると、ＭＳＩ要求部３０５は、まずメッセージナンバー４のＭＳＩパケットをＥＮＤＰ２１３に要求し、つづいてメッセージナンバー０のＭＳＩパケットをＥＮＤＰ２１３に要求する。
【００８１】
また、ステータスレジスタ３０４のビット番号によって優先順位を定める場合、たとえば、ビット番号３１の優先順位を最も高く、ビット番号０の優先順位を最も低く設定する。この場合、すべての要因がネゲートされている状態から、Ｉｎｔｅｒｒｕｐｔ１２（メッセージナンバー４）とＩｎｔｅｒｒｕｐｔ２４（メッセージナンバー０）がＭＳＩ要求部３０５で同時に検出されると、ＭＳＩ要求部３０５は、まずメッセージナンバー０のＭＳＩパケットをＥＮＤＰ２１３に要求し、つづいてメッセージナンバー４のＭＳＩパケットをＥＮＤＰ２１３に要求する。
【００８２】
また、ＩＮＣＴ２１２は、同一のメッセージナンバーが割り当てられた要因間に対しても優先度を設定できる構成としてもよい。ＩＮＣＴ２１２が同一グループ内の要因に対して優先度を設定できない場合、同一のメッセージナンバーのＭＳＩパケットはいずれかの要因がクリアされるまで一度しか発行されない。つまり、割込ハンドラの最初にステータスレジスタ３０４の要因をリードした後、同一メッセージナンバー内での割り込みが発生しても、ＣＰＵ１０４はその割り込みを検出することができないという問題がある。
【００８３】
ＩＮＣＴ２１２が同一グループ内の要因に対して優先順位を設定できる構成とした場合、ＭＳＩ要求部３０５は、現在要求中の割り込みよりも優先度の高い割込要因があると、同じメッセージナンバーのＭＳＩパケットを再度発行する。このことにより、割込要因数に対してメッセージナンバーの数が少ない場合でも、多重割込制御をおこなうことができる。たとえば、下位デバイスの割込要因が３２種類あるにも関わらず、ＭＣＨ１０３（上位チップ）の制約によってメッセージナンバーが８種類しか使えない場合であっても、多重割込制御によって効率的に処理をおこなうことができる。
【００８４】
以上説明したように、実施の形態にかかるブリッジチップ１０１は、所定のメッセージナンバーを含むＭＳＩパケットによる割込処理がおこなわれている間は、所定のメッセージナンバーを含む他のＭＳＩパケットを発行しない。これにより、冗長なＭＳＩパケットの発行を抑制し、デバイスのパフォーマンスを向上させることができる。
【００８５】
また、実施の形態にかかるブリッジチップ１０１では、マスクレジスタ３０３によってマスクされた後の割込要求信号がＭＳＩ要求部３０５に入力される。これにより、処理対象の割り込みをマスクした後に割込処理の中で各要因をクリアし、対象のマスクを解除することができる。したがって、実施の形態にかかるブリッジチップ１０１によれば、無駄なＭＳＩパケットの発行を抑制することができるとともに、必要なＭＳＩパケットの発行漏れを防止することができる。
【００８６】
また、実施の形態にかかるブリッジチップ１０１によれば、ある要因による割込要求があった場合、その要因と同じメッセージナンバーにグルーピングされているすべての要因をマスクする。これにより、冗長なＭＳＩパケットの発行を抑制し、ＰＣＩｅバスの処理効率を向上させることができる。
【００８７】
また、実施の形態にかかるブリッジチップ１０１によれば、優先順位の高い割込要因に起因する割込処理を優先的に実行することができるため、システムのパフォーマンスを向上させることができる。また、実施の形態にかかるブリッジチップ１０１によれば、同一のメッセージナンバーに対応づけられた割込要因間の多重割込処理をおこなうことができる。
【００８８】
本実施の形態ではＰＣＩｅ規格のバス同士を接続した例（ＰＣＩｅ−ＰＣＩｅバススイッチ）を示したが、本発明はＰＣＩ規格のバス同士を接続する場合にも適応できる。また、本発明は、異なる規格のバス、たとえばＰＣＩｅ規格のバスとＰＣＩ規格のバスとを接続する（ＰＣＩｅ−ＰＣＩバスブリッジ）場合であっても適用は可能である。
【００８９】
なお、本実施の形態で説明した割込制御方法は、あらかじめ用意されたプログラムをパーソナル・コンピュータやワークステーションなどのコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネットなどのネットワークを介して配布することが可能な伝送媒体であってもよい。
【産業上の利用可能性】
【００９０】
以上のように、本発明にかかる割込制御装置、バスブリッジおよび割込制御方法は、割込要求をパケット（広義にはエッジ割り込みも含む）で伝達するシステムに有用であり、特に、ＰＣＩｅバスを有するチップセットや、ＰＣＩｅ−ＰＣＩｅバススイッチ、ＰＣＩｅ−ＰＣＩバスブリッジ、前記バススイッチまたはバスブリッジ機能を有する多機能チップセット、プリンタコントローラ、Ｉ／Ｏチップなどに適している。
【図面の簡単な説明】
【００９１】
【図１】実施の形態にかかるブリッジチップが搭載されたシステム構成の一例を示すブロック図である。
【図２】実施の形態にかかるバスブリッジが搭載された画像処理装置の一例を示すブロック図である。
【図３】ブリッジチップおよびその周辺部の構成を示すブロック図である。
【図４】ＩＮＴＣの構成を示すブロック図である。
【図５】ステータスレジスタの構成例を示す説明図である。
【図６】ＩＮＴＣ周辺における割込信号の流れを説明するための説明図である。
【図７】ＭＳＩパケットの発行要求時のタイミングチャートである。
【図８】ブリッジチップの初期化処理手順を示すシーケンス図である。
【図９】機能モジュールからの割り込みが発生した場合の割込制御処理手順を示すシーケンス図である。
【図１０】ＭＳＩ要因数とメッセージナンバーとの対応を示す図表である。
【図１１】デバイスからの割り込みが発生した場合の割込制御処理手順を示すシーケンス図である。
【符号の説明】
【００９２】
１００  システム
１０１  ブリッジチップ
１０２  デバイス
１０３、１５３  ＭＣＨ
１０４、１５４  ＣＰＵ
１０５、１５５  ＩＣＨ
１０６、１５６  システムメモリ
１１０ａ  デバイスＩ／Ｆ
１１０ｂ  ＭＣＨ  Ｉ／Ｆ
１５０  画像処理装置
１５１  バスブリッジ
１５２  画像処理部
１５７  プロッタ
１５８  スキャナ
１５９  ＨＤＤ
１６０  ＮＩＣ
１７０  ＬＡＮ
１７１、１７２  ホストＰＣ
２１１  ＲＯＯＴ
２１２  ＩＮＴＣ
２１３  ＥＮＤＰ
２１４  機能モジュール
２２１，２２２  ＰＣＩｅ  Ｉ／Ｆ
３０１  レジスタＩ／Ｆ
３０２  ペンディングレジスタ
３０３  マスクレジスタ
３０４  ステータスレジスタ
３０５  ＭＳＩ要求部
【図１】
0005200646.tif 000002
【図２】
0005200646.tif 000003
【図３】
0005200646.tif 000004
【図４】
0005200646.tif 000005
【図５】
0005200646.tif 000006
【図６】
0005200646.tif 000007
【図７】
0005200646.tif 000008
【図８】
0005200646.tif 000009
【図９】
0005200646.tif 000010
【図１０】
0005200646.tif 000011
【図１１】
0005200646.tif 000012