(57)【特許請求の範囲】
【請求項１】
システムバスとＩ／Ｏバスとの間に装備された割り込み処理装置であって、
前記Ｉ／Ｏバスから入力された、Ｉ／Ｏバストランザクションとしての割り込みをデコードするコマンドデコーダと、
前記コマンドデコーダによりデコードされた割り込みと、割り込み線から入力された割り込みと、を処理するとともに、前記割り込みのいずれか一方をマスクする割り込み受信部と、
前記割り込み受信部によってマスクされなかった割り込みのトランザクションを前記システムバスに対して発行するトランザクション発行部と、
を有し、
前記マスクされなかった割り込みのトランザクションを、前記システムバスを介してＣＰＵへ通知することを特徴とする割り込み処理装置。
【請求項２】
前記割り込み処理装置は、
前記割り込み受信部で認識された割り込み情報／割り込み要因を保持する要因保持部と、
Ｉ／Ｏデバイス側からの割り込み処理の通知に対してＣＰＵ側の処理が完了した場合に、次の新しい割り込み処理を受け付けることができるように、前記要因保持部により保持された前記割り込み情報／割り込み要因をクリアする割り込みクリア指示部と、
を有することを特徴とする請求項１記載の割り込み処理装置。
【請求項３】
前記割り込み処理装置は、
複数の割り込み線からの割り込み入力や複数のＩ／Ｏデバイスからの割り込みトランザクションによる割り込み要因が存在しているときに、相互間の上位ＣＰＵへの割り込み通知の優先順位を決めるための優先順位処理部と、
前記優先順位処理部で順序化され決定された優先順位に基づいて前記割り込み通知の要求を一般化して割り込みトランザクションとして通知するための前処理を行う通知処理部と、
を有することを特徴とする請求項１または２記載の割り込み処理装置。
【請求項４】
システムバスとＩ／Ｏバスとの間に装備された割り込み処理装置で行う割り込み通知方法であって、
前記割り込み処理装置は、
前記Ｉ／Ｏバスから入力された、Ｉ／Ｏバストランザクションとしての割り込みををデコードするコマンドデコード工程と、
前記コマンドデコーダによりデコードされた割り込みと、割り込み線から入力された割り込みと、を処理するとともに、前記割り込みのいずれか一方をマスクするマスク工程と、
前記割り込み受信部によってマスクされなかった割り込みのトランザクションを前記システムバスに対して発行するトランザクション発行工程と、
前記マスクされなかった割り込みのトランザクションを、前記システムバスを介してＣＰＵへ通知する工程と、
を行うことを特徴とする割り込み通知方法。
【請求項５】
前記割り込み処理装置は、
前記割り込み受信工程で認識された割り込み情報／割り込み要因を保持する要因保持工程と、
Ｉ／Ｏデバイス側からの割り込み処理の通知に対してＣＰＵ側の処理が完了した場合に、次の新しい割り込み処理を受け付けることができるように、前記要因保持工程により保持された前記割り込み情報／割り込み要因をクリアする割り込みクリア指示工程と、
を行うことを特徴とする請求項４記載の割り込み通知方法。
【請求項６】
前記割り込み処理装置は、
複数の割り込み線からの割り込み入力や複数のＩ／Ｏデバイスからの割り込みトランザクションによる割り込み要因が存在しているときに、相互間の上位ＣＰＵへの割り込み通知の優先順位を決めるための優先順位処理工程と、
前記優先順位処理工程で順序化され決定された優先順位に基づいて前記割り込み通知の要求を一般化して割り込みトランザクションとして通知するための前処理を行う通知処理工程と、
を行うことを特徴とする請求項４または５記載の割り込み通知方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、迅速処理を可能とした割り込み処理装置および割り込み通知方法に関する。
【０００２】
【従来の技術】
従来、割り込み処理装置および割り込み通知方法は一般に、割り込みが専用線を介して直接バスブリッジに伝えられる方式を取る。この方式において、ＤＭＡライト自身は、Ｉ／Ｏバス上のトランザクションで他のＩ／Ｏデバイス間との調停を経てからバスブリッジ内の処理後にシステムバスへ通知される。なお、前記バスブリッジ内での処理の内容は、システムバスの構成に依存するものであり、キャッシュ・コヒーレンシ処理や、バッファ処理等のことを指す。
【０００３】
例えば、従来例１の特開平７−１０５０３１号公報によれば、「多重プロセッサ・コンピュータ・システム内で割り込み情報を伝えるための方法および装置」について開示されている。これによれば、割り込みサブシステム内に２つの層を設けることによって、割り込みのタイプまたは割り込みのソースから独立であり、基礎となるシステム・ハードウェア構造からも独立なアプリケーション・ソフトウェアが記述可能であるとしている。また、割り込みは、アドレス・バスを介して転送されるので、他の割り込みや他のシステム動作と共にシーケンス化するとしている。
【０００４】
また従来例２の特開平９−９７１８４号公報によれば、「効率的な割り込み処理を含む情報処理システム」について開示されている。これによれば、データ管理ユニットが割り込み経路指定論理を含み、割り込みパケットをスヌープし、情報をレジスタに記憶し、特定の割り込みが受諾または拒否されたかを示す信号を生成することで、効率化を図ることが可能となる。
【０００５】
【発明が解決しようとする課題】
しかしながら、上記従来例のように構成された１ビット線での情報では、割り込みがあったかなかったかしか解らない。さらに、それを受けるバスブリッジ等の割り込みコントローラとしての構成部への割り込み線入力の本数以上に、Ｉ／Ｏデバイスが接続されているような構成が一般的であるため、割り込み分解能が荒く、また割り込み処理に時間がかかるという問題を伴う。
【０００６】
本発明は、上記事情に鑑みなされたもので、割り込み発生の種別、通知元、通知先ＣＰＵの識別等の情報を割り込み処理装置に記憶し、割り込みの迅速処理を可能とする、割り込み処理装置および割り込み通知方法を提供することを目的とする。
【０００７】
【課題を解決するための手段】
かかる目的を達成するため、請求項１記載の発明は、システムバスとＩ／Ｏバスとの間に装備された割り込み処理装置であって、Ｉ／Ｏバスから入力された、Ｉ／Ｏバストランザクションとしての割り込みをデコードするコマンドデコーダと、コマンドデコーダによりデコードされた割り込みと、割り込み線から入力された割り込みと、を処理するとともに、割り込みのいずれか一方をマスクする割り込み受信部と、割り込み受信部によってマスクされなかった割り込みのトランザクションをシステムバスに対して発行するトランザクション発行部と、を有し、マスクされなかった割り込みのトランザクションを、システムバスを介してＣＰＵへ通知することを特徴とする。
【０００８】
請求項２記載の発明は、請求項１記載の発明において、割り込み処理装置は、割り込み受信部で認識された割り込み情報／割り込み要因を保持する要因保持部と、Ｉ／Ｏデバイス側からの割り込み処理の通知に対してＣＰＵ側の処理が完了した場合に、次の新しい割り込み処理を受け付けることができるように、要因保持部により保持された割り込み情報／割り込み要因をクリアする割り込みクリア指示部と、を有することを特徴とする。
【０００９】
請求項３記載の発明は、請求項１または２記載の発明において、割り込み処理装置は、複数の割り込み線からの割り込み入力や複数のＩ／Ｏデバイスからの割り込みトランザクションによる割り込み要因が存在しているときに、相互間の上位ＣＰＵへの割り込み通知の優先順位を決めるための優先順位処理部と、優先順位処理部で順序化され決定された優先順位に基づいて割り込み通知の要求を一般化して割り込みトランザクションとして通知するための前処理を行う通知処理部と、を有することを特徴とする。
【００１０】
請求項４記載の発明は、システムバスとＩ／Ｏバスとの間に装備された割り込み処理装置で行う割り込み通知方法であって、割り込み処理装置は、Ｉ／Ｏバスから入力された、Ｉ／Ｏバストランザクションとしての割り込みををデコードするコマンドデコード工程と、コマンドデコーダによりデコードされた割り込みと、割り込み線から入力された割り込みと、を処理するとともに、割り込みのいずれか一方をマスクするマスク工程と、割り込み受信部によってマスクされなかった割り込みのトランザクションをシステムバスに対して発行するトランザクション発行工程と、マスクされなかった割り込みのトランザクションを、システムバスを介してＣＰＵへ通知する工程と、を行うことを特徴とする。
【００１１】
請求項５記載の発明は、請求項４記載の発明において、割り込み処理装置は、割り込み受信工程で認識された割り込み情報／割り込み要因を保持する要因保持工程と、Ｉ／Ｏデバイス側からの割り込み処理の通知に対してＣＰＵ側の処理が完了した場合に、次の新しい割り込み処理を受け付けることができるように、要因保持工程により保持された割り込み情報／割り込み要因をクリアする割り込みクリア指示工程と、を行うことを特徴とする。
【００１２】
請求項６記載の発明は、請求項４または５記載の発明において、割り込み処理装置は、複数の割り込み線からの割り込み入力や複数のＩ／Ｏデバイスからの割り込みトランザクションによる割り込み要因が存在しているときに、相互間の上位ＣＰＵへの割り込み通知の優先順位を決めるための優先順位処理工程と、優先順位処理工程で順序化され決定された優先順位に基づいて割り込み通知の要求を一般化して割り込みトランザクションとして通知するための前処理を行う通知処理工程と、を行うことを特徴とする。
【００１３】
【発明の実施の形態】
次に、添付図面を参照して本発明による割り込み処理装置および割り込み通知方法の実施の形態を詳細に説明する。図１から図６を参照すると、本発明の割り込み処理装置および割り込み通知方法の一実施形態が示されている。
【００１４】
図１は、本実施形態による割り込み処理装置および割り込み通知方法の基本的な構成を示すブロック図である。図１においては、上位のシステムバス５と下位のＩ／Ｏバス８との間を接続するため、ＣＰＵ→Ｉ／Ｏ処理部１７と割り込み処理部１８とからなるバスブリッジ２０として適用した内部構成例を示している。
【００１５】
ＣＰＵ→Ｉ／Ｏ処理部１７は、後述されるキャッシュ／バスコントローラ２を介して接続されるＣＰＵ１からのトランザクションを受信してデコードするためのトランザクション受信・デコード部１６を備えている。
【００１６】
割り込み処理部１８の構成は、本発明に従って、下位のＩ／Ｏバス８からの割り込みを意味するトランザクションをデコードするコマンドデコーダ９を設けており、下位のＩ／Ｏバス８からの通常のトランザクションをＩ／Ｏ割り込みとして解釈し、通常の割り込み線からの割り込み通知を処理する割り込み受信部１０で両者の割り込み指示を等しく処理することを可能としている。
【００１７】
従って、通常の割り込み線入力以外に、下位のＩ／Ｏバス８からの通常のトランザクションを使用して割り込み通知が可能となる。このことから、Ｉ／Ｏデバイス６，７からのＤＭＡ処理と、その通知処理のための割り込みとの順序性の確保が容易にとれる。また、物理的な割り込み線数に制限が無いことから、種々の情報をこのトランザクション中に載せることが可能となる。このため、割り込みを処理するＣＰＵ１および図示されないＯＳドライバに対し、割り込み分解能を上げて通知されることになる。この結果、割り込み処理の高速化という効果が得られる。上記の内容を、図１を参照しながら本ブロック図の各構成部分について以下に詳述する。
【００１８】
図１においては、バスブリッジ２０の構成の内、本発明に関係する割り込み処理部１８をクローズアップしたブロック図として示されている。それ以外のデータ受け渡しとしてのバスブリッジ機能は、本発明とは直接関係しないので説明を省略する。
【００１９】
割り込み処理機能におけるＣＰＵ１への割り込み通知は、直接各割り込み発生元のデバイスからの信号を入力するのではなく、バスやチップセットを通じてＣＰＵ１の割り込み端子へ入力されることが一般的である。本実施形態では、その意味でＣＰＵ１とシステムバス５の間に設けられたチップセットであるキャッシュ／バスコントローラ２で一旦処理された割り込み情報が、ＣＰＵ１に伝えられる形態を有する構成例である。
【００２０】
また、メモリ／バスコントローラ４は、システムバス５とメモリ３との間でインタフェースの役割を果たし、メモリアクセスのコントロールとシステムバスアクセスの処理を行う。通常、このメモリ／バスコントローラ４には、プログラムやデータ以外に割り込み処理のためのテーブル、あるいはフラグ領域等が置かれることが一般的である。なお、この割り込み処理の見地からのメモリ領域の使われ方は、本発明とは直接関係が無いので、これらに関しては説明を省略する。
【００２１】
Ｉ／Ｏデバイス６，７は、Ｉ／Ｏバス８に接続されたＩ／Ｏデバイスである。このＩ／Ｏデバイス６，７の形態は、本実施形態のために特別な使用法を必要としない。また、通常のＰＣＩやＩＳＡ等のＩ／Ｏバスに代表されるＰＣＩカードやＩＳＡカードにおいて想定されるように、特別なハードウェアを必要としない。但し、これらのＩ／Ｏデバイス６，７を制御するカード上のＲＯＭに格納されているファームウエアやオペレーティングシステム上で動作し、これらのＩ／Ｏデバイス６，７を制御するドライバに関しては、本実施形態の割り込み方法を実現するために対応している必要がある。
【００２２】
バスブリッジ２０は、本割り込み通知方法を実現する割り込み処理装置の構成例を示している。つまり、割り込み処理装置は、一般的なバスブリッジから本実施形態の割り込み処理に関係する部分だけをクローズアップして示されたバスブリッジである。
【００２３】
割り込み受信部１０は、Ｉ／Ｏデバイス６，７からの割り込み線入力を介して入力される割り込み情報を受信処理する装置である。この割り込み線は、一般的にはＩ／Ｏバスとしてピンアサインされており、デバイスからの割り込み線は従来の通り１ビット線であることが一般的である。
【００２４】
本実施形態では、Ｉ／Ｏバス８におけるバストランザクションを利用する。なお、上述のバストランザクションとは、メモリリード・サイクル、メモリライト・サイクル、Ｉ／Ｏライト・サイクル等のバスサイクルのことを言う。これらにより、割り込み通知機能として機能可能なこと、またバスサイクルであることから、どのような種別の割り込みが発生したか、あるいは、誰が通知した割り込みで、どのＣＰＵに通知したいか等の情報をバストランザクションに載せることが可能となるので、割り込みの分解能を上げた形で、ＣＰＵ１に対して通知することが可能となる。
【００２５】
また、割り込みをＩ／Ｏバストランザクションとしたことによって、特に、ＤＭＡ（ダイレクトメモリアクセス）による割り込みと、ＤＭＡとの順序性、同期性における問題を回避し易くなる効果も期待できる。これは、例えば、Ｉ／Ｏデバイスがシステムメモリに対してライトを実行するＤＭＡライトの終了の通知手段として割り込みを使用する場合、従来方法では、割り込みは専用線でバスブリッジに直接伝えられる。しかしながら、本発明では、ＤＭＡライト自身が、Ｉ／Ｏバス８上のトランザクションで他のＩ／Ｏデバイス間との調停行い、その後、バスブリッジ２０内の処理を経て、システムバス５へ通知される。
【００２６】
ところが、Ｉ／Ｏバス８上のトランザクションが混んでいたり、バスブリッジ２０内部のＤＭＡデータ処理で時間がかかったりする場合、ＤＭＡ終了通知としての割り込みがＤＭＡ完了を待たずに、ＣＰＵやチップセットに伝えられてしまい、順序性の保証がとれなくなって不具合が起こるケースがあり得る。
【００２７】
勿論、このようなケースはドライバの作りに依存するが、Ｉ／Ｏデバイス６，７から送られてくるトランザクションがハードウェアとして通常の割り込みなのか、ＤＭＡ終了通知としての割り込みなのかを識別する手段は、割り込み線を使用する限り持てないので、常にこの問題を内包することになる。
【００２８】
コマンドデコーダ９は、上述のようにＩ／Ｏバストランザクションとして割り当てられた割り込みトランザクションを認識し、割り込み通知が来たことを割り込み受信部１０に通知する機能を備える。
【００２９】
割り込み受信部１０は、割り込み線入力からの割り込みやＩ／Ｏバストランザクションとしての割り込みを認識する以外に、この受信した割り込みをマスクするかしないかを決める機能も備える。例えば、受信した割り込みをマスクする場合には、割り込み入力があっても上位のＣＰＵ１へは通知せず、無視することができる。
【００３０】
要因保持部１１は、割り込み受信部１０で認識された割り込み情報（要因）を保持する機能を備える。ここでどのような情報を保持するかは、本実施形態の範囲外であるが、通常の割り込み線からの入力では入力割り込み線番号と当該入力割り込み線番号に対する割り込みの有無を保持することが一般的である。
【００３１】
割り込みクリア指示部１２は、ＣＰＵ１による割り込み処理の終了に伴って、割り込み処理の通知に対してＣＰＵ１側の処理が完了した場合に、バスブリッジ２０の要因保持部１１における割り込み情報（要因）の保持をクリアする。これにより、次の新しい割り込み処理を受け付けることができるように備えることが可能となる。
【００３２】
優先順位処理部１３は、複数の割り込み線からの割り込み入力や複数のＩ／Ｏデバイス６，７等からの割り込みトランザクションによる割り込み要因が存在しているときに、相互間の上位ＣＰＵ１への割り込み通知の優先順位を決めるための機構である。
【００３３】
通知処理部１４は、優先順位処理部１３で順序化され決定された優先順位に基づいて割り込み通知要求を一般化し、システムバス５に対してトランザクション発行部１５を通じて、割り込みトランザクションとして通知するための前処理を行う部分である。実際にシステムバス５経由で割り込みトランザクションが通知されたかどうかの情報も、併せて記憶しておく機能を有する。
【００３４】
（動作の説明）
本実施形態の動作例に関して、図２、３、４、５、６を参照しながら以下に説明する。
【００３５】
図２は、本発明のＩ／Ｏバストランザクションをどのように割り込み通知として認識するかを説明するためのアドレスマップの一構成例である。図２における各アドレスマップは、本実施形態の説明の都合上、一例として挙げたものであり、全てのコンピュータシステムに当てはまるものではなく、ハードウェアの構成、オペレーティングシステムのアーキテクチャに依存するものである。
【００３６】
アドレスマップＡは、一般的なアドレスマップの構成例を示したものである。アドレスマップＡにおいて、“Ｌｏｃａｌ  Ｉ／Ｏ空間”と呼ばれるものは、Ｉ／Ｏバス上の資源としてマッピングされる領域であり、Ｉ／Ｏバス上のＩ／Ｏデバイスの内部レジスタ等へのアクセスや、バスブリッジの内部資源をＩ／Ｏバス上からアクセスする場合に使用される空間であると仮定する。
【００３７】
アドレスマップＡにおいて、“Ｌｏｃａｌ  Ｍｅｍｏｒｙ空間”と呼ばれるものは、Ｉ／Ｏバス上のメモリ空間（例えば、ビデオメモリ空間や、そのデバイス上のＲＡＭ、ＲＯＭ空間）であると仮定する。
【００３８】
アドレスマップＡにおいて、“Ｓｙｓｔｅｍ  Ｍｅｍｏｒｙ空間”とは、オペレーティングシステムがおかれたり、各種データの格納領域や、ＤＭＡで使用されるメモリ空間であると仮定する。
【００３９】
アドレスマップＡにおいて、“Ｓｙｓｔｅｍ  Ｉ／Ｏ空間”とは、ＣＰＵからのみアクセスされる空間で、各チップセットに対する設定を行ったり、ステータス情報が格納されていたりする領域であると仮定する。
【００４０】
アドレスマップＡにおいて、Ｉ／Ｏバス上のデバイスからアクセスされる領域の内、例えば、“Ｌｏｃａｌ  Ｉ／Ｏ空間”の使われていない領域（例えば、アドレスマップＢの“Ｒｅｓｅｒｖｅｄ  ｏｒ  空き領域”）の一部を本実施形態のために使用することで、割り込み通知領域としてマッピングすることができる。
【００４１】
この部分をさらに詳しく説明したのが、アドレスマップＢである。例えば、ＰＣＩ−バスのように、アドレスマップに関して動的なコンフィギュレーションが可能である場合、アドレスマップＢには、“Ｒｅｓｅｒｖｅｄ  ｏｒ  空き領域”をアドレスマップＣのように再定義し、割り込み通知領域として動的に確保することが可能である。この領域は、どのＩ／Ｏデバイスからもトランザクションを発行可能な領域として確保することができる。
【００４２】
従って、この割り込み領域へのアドレスを含んだトランザクションを割り込みとして認識できる機構を予めバスブリッジに装備しておき、さらに割り込み領域におけるアドレス位置毎に種々の情報を載せることが可能である。さらに、割り込みトランザクションが、この領域へのライトアクセスとして定義される場合、ライトデータに対して意味を持たせることにより、種々の情報をのせることも可能である。
【００４３】
このように、ハードウェア的には、バスブリッジに対して僅かの物量の変更および追加により、Ｉ／Ｏデバイス側のハードウェアには変更を加えることなく、一般的に、非常に処理時間がかかる割り込み処理を軽減することが可能な割り込み情報を割り込み通知と同時に発行することが可能となる。さらに、従来の割り込み方式と共存することも可能である。このため、ＯＳあるいは、ドライバへの影響を考慮しながら、既存方式と本実施形態の方式とを併用して、柔軟な割り込み処理方式を実現することが可能である。
【００４４】
具体的なフロー図を通して、本発明の動作について説明する。
図３および図４に示されるのは、時系列で記載した割り込み処理フローの一例である。これらのフロー図を参照しながら、動作例を以下に説明する。
【００４５】
まず、割り込みはＩ／Ｏデバイスから発行されるが、本実施形態の場合、Ｉ／Ｏバス上のトランザクション１００であるため、図３に示されるように、通常のバスアクセスが開始される。
【００４６】
これを受けて、バスブリッジ側では、図３のコマンドデコーダ１０１〜割り込み処理開始１０８のように割り込みが処理される。このフロー図で、図３のコマンドデコーダ１０１〜通知処理１０５に関しては、バスブリッジ内部の実施形態の割り込み処理を行う主要構成要素となっており、図３のトランザクション発行１０６でＣＰＵへ通知する。このために、上位のシステムバスにトランザクションとして通知される形態を想定している。なお、バスブリッジを経て、割り込みが上位バス（システムバス）に対して通知される方法には種々の方法があり、図３のトランザクション発行１０６から割り込み処理開始１０８までの流れは、一実施例である。なお、コンピュータシステムの構成によって種々の構成方法があることは言うまでもない。
【００４７】
さらに、上位バス（システムバス）を経由して割り込みをＣＰＵが認識した場合について、図４のフロー図を参照しながら割り込み処理を説明していく。
【００４８】
まずＣＰＵが割り込みを認識し、一般的に予め決められた処理ルーチンに従って動作していく。しかし、その場合、どのＩ／Ｏデバイスが発行した割り込みなのか、どのような種別の割り込みだったのかを、割り込み発行元を逆に辿って調べていくことが一般的である。
【００４９】
本実施形態においては、Ｉ／Ｏデバイスからの割り込みトランザクションは、バスブリッジがトランザクションとしての割り込みとして認識し、これを上位バス（システムバス）を経由してＣＰＵに対して通知を行っているので、この割り込み情報を保持しているバスブリッジの内部資源（例えば、内部レジスタ等）を参照することになる。従って、図４のトランザクション発生２００で発生したシステムバス上のトランザクションは、図４の内部資源アクセストランザクション２０１のバスブリッジへのトランザクションとして発生し、バスブリッジにおいてコマンドデータ２０２としてデコードされた後、バスブリッジは、ＣＰＵの要求に従って割り込み要因等の割り込み情報をＣＰＵに対してレスポンスとして返す。例えば、リードトランザクションに対する割り込み要因引き渡し２０３に伴うリードデータである。
【００５０】
これを受け取った後、ＣＰＵは、コンピュータシステムやオペレーティングシステム、ドライバの構造に依存した形で、割り込みトランザクションの送り主であるＩ／Ｏデバイスに対してアクセスを行って、さらに詳細な割り込みの原因を探ろうとする。そのためのトリガの情報は、上述されるようにコンピュータシステム等の構造に依存しているため、この構造に適する形で、これを手がかりにバスブリッジ配下に対してリードアクセス等を実行する。例えば、バスブリッジからの要因（ステータス）の読み出しである（図４の２０４）。
【００５１】
以降、割り込み処理＃１（２０５）〜Ｉ／Ｏバスからの要因情報引き取り２０９のように割り込み発生の原因を辿って行きながら、必要に応じて、バスブリッジからの要因受信２０４〜Ｉ／Ｏバスからの要因引き取り２０９のアクセスを繰り返していくことが一般的である。
【００５２】
この繰り返しの回数は、主に割り込み処理開始２００〜バスブリッジからの要因受信２０４にかけての処理で、どの程度の分解能で割り込み内容、要因を把握できたかに依存している。従って、このフローの部分でできるだけ詳細な割り込み発生原因を把握できれば、割り込み処理の高速化が図れることになる。
【００５３】
この割り込み分解能に関して、具体的に説明したのが図５である。
図５において、「３００」（ケース１）、「３０１」（ケース２）、「３０３」（ケース３）と３種類のケースに関して説明する。
【００５４】
ケース１は、本発明で提案している割り込みトランザクションによる方法である。従って、すでに詳細に説明しているので、ここでは説明を省くが、このＩ／Ｏデバイス＃１は、既述の説明で明らかなように、従来の割り込み線とは全く別の方式で割り込みを通知することができる。このため、従来の方式と併用できる。
【００５５】
ケース２は、ＰＣ／ＡＴ互換機等で一般的であるように、複数のＩ／Ｏデバイスで割り込み線を共有する方法である。これは、主に割り込み線の物理的な本数に制限があり、その本数以上にＩ／Ｏデバイスが接続されている場合には、割り込み線を共有するような結線をハードウェア的に行うことになる。これは、今までの議論から明らかなように、割り込み通知が行われて割り込み線の特定ができたとしても、どのデバイスによる割り込みであるかどうかは知る手段がない。どのＩ／Ｏデバイスからの割り込みであったかどうかを知るためには、共有結線となっている割り込みに接続された全てのＩ／Ｏデバイスのステータスを読み出しに行くといった必要がある。
【００５６】
ケース３は、Ｉ／Ｏバス配下にさらにＩ／Ｏバスブリッジ（過去の資産を受け継ぐためのレガシーバスブリッジと呼ぶ）があり、この配下にＩ／Ｏデバイスが接続されている例である。この場合も、割り込み線による割り込み通知であることが一般的である。このため、レガシーＩ／Ｏバス配下のどのＩ／Ｏデバイスから割り込みできるか否かを判定することは、ケース２と同じように処理時間がかかることは明白である。図６は、これらの関係を分かり易く具体的に表している。
【００５７】
このように、Ｉ／Ｏバスからの割り込み通知をトランザクションで行うことによって、割り込み分解能を向上させることができ、割り込み処理時間の短縮に貢献すると共に、割り込みとＤＭＡの順序性を保証することができる。
【００５８】
上記の実施形態によれば、コンピュータにおけるバスシステムにおける割り込み処理装置および割り込み通知方法の部分に関して、通常の割り込み通知線による通知方式以外に、ＩＯデバイスからのバストランザクションによる特定のアドレス領域へのアクセスによって、割り込み実行と解釈されるような機構をバスブリッジ内に設けている。特に、割り込みトランザクションとして割り込み通知を処理できるようにしたため、割り込み分解能が悪いことに起因する多数のＩ／Ｏデバイスが同時動作した場合の性能劣化や、複数のＤＭＡが同時に発生している場合の割り込み順序性を改善することが可能となる。
【００５９】
尚、上述の実施形態は本発明の好適な実施の一例である。但し、これに限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変形実施が可能である。
【００６０】
【発明の効果】
以上の説明より明かなように、本発明の割り込み処理装置および割り込み通知方法は、Ｉ／Ｏバスからの割り込みを意味するトランザクションをデコードし、Ｉ／Ｏバスからの通常のトランザクションをＩ／Ｏ割り込みとして解釈して処理する。この構成で、システムバスとＩ／Ｏバスとの間において、Ｉ／Ｏバスからの通常のトランザクションを通常の割り込み線からの割り込み通知の処理と等しく処理を可能としている。
【００６１】
従って、割り込み情報から、どのような種別の割り込みが発生したか、あるいは、どのＩ／Ｏデバイスが通知した割り込みであり、どのＣＰＵに対する通知か等の情報を載せることができ、割り込みを迅速に処理することが可能となる。
【図面の簡単な説明】
【図１】本発明の割り込み処理装置の実施形態の構成例をバスブリッジとして示した図である。
【図２】Ｉ／Ｏバストランザクションをどのように割り込み通知として認識するかを説明するためのアドレスマップの一構成例である。
【図３】時系列で記載した第１の割り込み処理フローである。
【図４】時系列で記載した第２の割り込み処理フローである。
【図５】割り込み分解能に関して実際の接続形態において説明するための図である。
【図６】図５における割り込み要因分解能の差異の例を示した図である。
【符号の説明】
１  ＣＰＵ
２  キャッシュ／バスコントローラ
３  メモリ
４  メモリ／バスコントローラ
５  システムバス
６、７  Ｉ／Ｏデバイス
８  ＩＯバス
９  コマンドデコーダ
１０  割り込み受信部
１１  要因保持部
１２  割り込みクリア指示部
１３  優先順位処理部
１４  通知処理部
１５  トランザクション発行部
１６  トランザクション受信・デコード部
１７  ＣＰＵ→Ｉ／Ｏ処理部
１８  割り込み処理部
２０  バスブリッジ
【図１】
0003661478.tif 000002
【図２】
0003661478.tif 000003
【図３】
0003661478.tif 000004
【図４】
0003661478.tif 000005
【図５】
0003661478.tif 000006
【図６】
0003661478.tif 000007