(57)【要約】　　　（修正有）【課題】コンピュータシステムにおける割り込み制御方法、コンピュータシステム、半導体回路、およびプログラムを提供する。【解決手段】ホストプロセッサと、ホストプロセッサとシステムバスを介して接続するホストブリッジと、ホストブリッジとＩ／Ｏバスを介して接続する少なくとも１以上のＩ／Ｏデバイスとを備えて構成されるコンピュータシステムにおける割り込み制御方法において、Ｉ／Ｏデバイスが、Ｉ／Ｏバスとは独立して設けられた第１の経路を介して割り込み信号をホストブリッジに入力し、ホストブリッジが、前記割り込み信号に基づく割り込み要因を記憶し、ホストプロセッサが、前記割り込み要因をシステムバスを介してホストブリッジから取得するようにする。【選択図】　　　図１
2004030161.tif 000002
【特許請求の範囲】
【請求項１】
ホストプロセッサと、ホストプロセッサとシステムバスを介して接続するホストブリッジと、ホストブリッジとＩ／Ｏバスを介して接続する少なくとも１以上のＩ／Ｏデバイスとを備えて構成されるコンピュータシステムにおける割り込み制御方法において、
Ｉ／Ｏデバイスが、Ｉ／Ｏバスとは独立して設けられた第１の経路を介して割り込み信号をホストブリッジに入力し、
ホストブリッジが、前記割り込み信号に基づく割り込み要因を記憶し、
ホストプロセッサが、前記割り込み要因をシステムバスを介してホストブリッジから取得すること、
を特徴とするコンピュータシステムにおける割り込み制御方法。
【請求項２】
ホストプロセッサと、ホストプロセッサとシステムバスを介して接続するホストブリッジと、ホストブリッジとＩ／Ｏバスを介して接続する割り込みコントローラと、Ｉ／Ｏバスに接続する少なくとも１以上のＩ／Ｏデバイスとを備えて構成されるコンピュータシステムにおける割り込み制御方法において、
Ｉ／Ｏデバイスが、Ｉ／Ｏバスとは独立して設けられた第１の経路を介して割り込み信号をホストブリッジおよび割り込みコントローラに入力し、
ホストブリッジが、前記割り込み信号に基づく割り込み要因を記憶し、
割り込みコントローラが、前記割り込み信号が入力された場合にその旨をホストプロセッサに通知し、
ホストプロセッサが、前記通知があった場合に前記割り込み要因を前記システムバスを介してホストブリッジから取得すること、
を特徴とするコンピュータシステムにおける割り込み制御方法。
【請求項３】
請求項１に記載のコンピュータシステムにおける割り込み制御方法において、前記通知は、前記システムバスおよび前記Ｉ／Ｏバスとは独立して設けられた第２の経路を介して行われることを特徴とするコンピュータシステムにおける割り込み制御方法。
【請求項４】
請求項１に記載のコンピュータシステムにおける割り込み制御方法において、
前記Ｉ／Ｏバスには複数の前記Ｉ／Ｏデバイスが接続し、
前記割り込み要因は、前記ホストブリッジに入力された前記割り込み信号がいずれの前記Ｉ／Ｏデバイスから入力されたものであるかを示す情報であることを特徴とするコンピュータシステムにおける割り込み制御方法。
【請求項５】
請求項１に記載のコンピュータシステムにおける割り込み制御方法において、前記割り込み要因は、前記ホストブリッジが有する汎用レジスタに記憶されることを特徴とするコンピュータシステムにおける割り込み制御方法。
【請求項６】
請求項１に記載のコンピュータシステムにおける割り込み制御方法において、前記Ｉ／ＯバスはＰＣＩバスであり、前記Ｉ／Ｏデバイスは、ＰＣＩデバイスであることを特徴とするコンピュータシステムにおける割り込み制御方法。
【請求項７】
ホストプロセッサと、ホストプロセッサとシステムバスを介して接続するホストブリッジと、ホストブリッジとＩ／Ｏバスを介して接続する割り込みコントローラと、Ｉ／Ｏバスに接続する少なくとも１以上のＩ／Ｏデバイスとを備えて構成されるコンピュータシステムであって、
Ｉ／Ｏデバイスが、Ｉ／Ｏバスとは独立して設けられた第１の経路を介して割り込み信号をホストブリッジおよび割り込みコントローラに入力する機能と、
ホストブリッジが、前記割り込み信号に基づく割り込み要因を記憶する機能と、
割り込みコントローラが、前記割り込み信号が入力された場合にその旨をホストプロセッサに通知する機能と、
ホストプロセッサが、前記通知があった場合に前記割り込み要因を前記システムバスを介してホストブリッジから取得する機能と、
を備えることを特徴とするコンピュータシステム。
【請求項８】
請求項７に記載のコンピュータシステムにおける前記ホストブリッジの機能を有する半導体集積回路であって、
前記第１の経路を介して入力される前記割り込み信号に基づく前記割り込み要因を記憶し、前記システムバスを介して前記ホストプロセッサに前記割り込み要因を提供する機能を有する半導体集積回路。
【請求項９】
ホストプロセッサと、ホストプロセッサとシステムバスを介して接続するホストブリッジと、ホストブリッジとＩ／Ｏバスを介して接続する割り込みコントローラと、Ｉ／Ｏバスに接続する少なくとも１以上のＩ／Ｏデバイスとを備えて構成されるコンピュータシステムに、
Ｉ／Ｏデバイスが、Ｉ／Ｏバスとは独立して設けられた第１の経路を介して割り込み信号をホストブリッジおよび割り込みコントローラに入力する機能、
ホストブリッジが、前記割り込み信号に基づく割り込み要因を記憶する機能、
割り込みコントローラが、前記割り込み信号が入力された場合にその旨をホストプロセッサに通知する機能、及び、
ホストプロセッサが、前記通知があった場合に前記割り込み要因を前記システムバスを介してホストブリッジから取得する機能、
を実現させるためのプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、コンピュータシステムにおける割り込み制御方法、コンピュータシステム、半導体集積回路、及びプログラムに関する。
【０００２】
【背景技術】
図４にＰＣＩバス（Ｐｅｒｉｐｈｅｒａｌ　Ｃｏｍｐｏｎｅｎｔ　Ｉｎｔｅｒｃｏｎｎｅｃｔ　Ｂｕｓ）などのＩ／Ｏバス（Ｉｎｐｕｔ　Ｏｕｔｐｕｔ　Ｂｕｓ）を用いて構成されるコンピュータシステムのブロック構成を示す。マイクロプロセッサであるホストプロセッサ１０が、アドレスバスやデータバスなどからなるシステムバス２０を介してホストブリッジ１１に接続する。ホストブリッジ１１はＩ／Ｏバス３０に接続する。Ｉ／Ｏバス３０には複数のＩ／Ｏデバイス１２および割り込みコントローラ１３が接続する。
【０００３】
割り込みコントローラ１３は、複数の割り込み信号入力線１３１を有しており、これら割り込み信号入力線１３１には、Ｉ／Ｏデバイス１２の割り込み信号出力線１２１が、システムバス２０やＩ／Ｏバス３０とは独立した接続ラインである第１の接続ライン４０を介して接続する。また、割り込みコントローラ１３は、割り込み信号出力線１３２を有しており、この割り込み信号出力線１３２は、システムバス２０やＩ／Ｏバス３０とは独立した接続ラインである第２の接続ライン５０を介してホストプロセッサ１０が有する割り込み信号入力線１０１に接続する。
【０００４】
割り込みコントローラ１３は、例えば、Ｉ／Ｏデバイス１２の割り込み信号出力線１２１から出力された割り込み信号が、自身の割り込み信号入力線１３１に入力されると、自身の割り込み信号出力線１３２からホストプロセッサ１０に割り込み信号を出力する。また、割り込みコントローラ１３は、内部レジスタ１３３を有しており、Ｉ／Ｏデバイス１２から割り込み信号が入力されると、その割り込み信号がいずれのＩ／Ｏデバイス１２から入力されたのかを示す情報（以下、「割り込み要因」と称する）を内部レジスタ１３３に記憶する。
【０００５】
あるＩ／Ｏデバイス１２から割り込み信号が出力され、この割り込み信号に対応した処理（以下、「割り込み処理」と称する）がホストプロセッサ１０で実行されるまでの処理の流れを、図５のフローチャートに示す。Ｉ／Ｏデバイス１２から割り込み信号が出力され、その割り込み信号が割り込みコントローラ１３の割り込み信号入力線１３１に入力されると（Ｓ５１１）、割り込みコントローラ１３は、自身の割り込み信号出力線１３２から割り込み信号を出力し、ホストプロセッサ１０に割り込み信号を入力する（Ｓ５１２）。割り込みコントローラ１３から割り込み信号が入力されると、ホストプロセッサ１０は、ホストプロセッサ１０→システムバス２０→ホストブリッジ１１→Ｉ／Ｏバス３０→割り込みコントローラ１３→Ｉ／Ｏバス３０→ホストブリッジ１１→システムバス２０→ホストプロセッサ１０、の経路で割り込みコントローラ１３の内部レジスタ１３３に記憶されている割り込み要因を取得する（Ｓ５１３）。ホストプロセッサ１０は、割り込み要因を取得すると、その割り込み要因に対応して用意されている割り込み処理を実行する（Ｓ５１４）。
【０００６】
【発明が解決しようとする課題】
ところで、Ｉ／Ｏデバイス１２から割り込み信号が入力された場合に、ホストプロセッサ１０が割り込みコントローラ１３から割り込み要因を取得する際の前述の経路による通信は、システムバス２０に比べて動作周波数が低く通信手順も複雑なＩ／Ｏバス３０を経由しなければならず、処理に時間がかかるという問題があり、この処理時間が、割り込み信号が出力されてから割り込み処理が開始されるまでの時間の短縮化を図る上で問題となっている。
【０００７】
この発明は、コンピュータシステムにおける割り込み制御方法、コンピュータシステム、半導体集積回路、及びプログラムを提供することを目的とする。
【０００８】
【課題を解決するための手段】
この目的を達成するための本発明の主たる発明は、ホストプロセッサと、ホストプロセッサとシステムバスを介して接続するホストブリッジと、ホストブリッジとＩ／Ｏバスを介して接続する少なくとも１以上のＩ／Ｏデバイスとを備えて構成されるコンピュータシステムにおける割り込み制御方法において、
Ｉ／Ｏデバイスが、Ｉ／Ｏバスとは独立して設けられた第１の経路を介して割り込み信号をホストブリッジに入力し、
ホストブリッジが、前記割り込み信号に基づく割り込み要因を記憶し、
ホストプロセッサが、前記割り込み要因を前記システムバスを介してホストブリッジから取得することを特徴とする。
【０００９】
本発明の他の特徴については、本明細書及び添付図面の記載により明らかにする。
【００１０】
【発明の実施の形態】
＝＝＝開示の概要＝＝＝
本明細書及び添付図面の記載により、少なくとも、以下の事項が明らかとなる。
【００１１】
ホストプロセッサと、ホストプロセッサとシステムバスを介して接続するホストブリッジと、ホストブリッジとＩ／Ｏバスを介して接続する少なくとも１以上のＩ／Ｏデバイスとを備えて構成されるコンピュータシステムにおける割り込み制御方法において、Ｉ／Ｏデバイスが、Ｉ／Ｏバスとは独立して設けられた第１の経路を介して割り込み信号をホストブリッジに入力し、ホストブリッジが、前記割り込み信号に基づく割り込み要因を記憶し、ホストプロセッサが、前記割り込み要因を前記システムバスを介してホストブリッジから取得すること、を特徴とするコンピュータシステムにおける割り込み制御方法。
【００１２】
この制御方法では、Ｉ／Ｏデバイスからの割り込み信号に基づく割り込み要因をホストプロセッサとシステムバスを介して接続するホストブリッジが記憶しており、ホストプロセッサは、処理速度の遅いＩ／Ｏバスを介さずに割り込み要因をシステムバスを介してホストブリッジから取得することができる。このため、ホストプロセッサは、割り込み信号が入力された場合に割り込み要因を迅速に取得することができ、割り込み信号が出力されてから割り込み処理が開始されるまでの時間の短縮化が図られる。
【００１３】
Ｉ／Ｏデバイスから割り込み信号が出力されたことは、例えば、割り込みコントローラからホストプロセッサに通知され、ホストプロセッサは、この通知があった場合にホストブリッジから割り込み要因を取得する。また、前記通知は、例えば、システムバスおよびＩ／Ｏバスとは独立して設けられた第２の経路を介して行われるため、システムバスやＩ／Ｏバスの状態に関わらず迅速に行われる。なお、この制御方法は、例えば、前記コンピュータシステムにおいて実効されるプログラムにより実現される。
【００１４】
前記の割り込み要因とは、例えば、ホストブリッジに入力された前記割り込み信号がいずれの前記Ｉ／Ｏデバイスから入力されたものであるかを示す情報である。また、割り込み要因は、例えば、ホストブリッジが有する汎用レジスタに記憶される。ホストプロセッサは、具体的には、マイクロプロセッサやＣＰＵである。ホストブリッジはＰＣＩバスの場合、例えば、ＣＰＵ−ＰＣＩブリッジと通称されるものが相当し、割り込みコントローラはＰＣＩ割り込みコントローラと通称されるものが相当する。Ｉ／Ｏバスは、例えば、ＰＣＩバスであり、Ｉ／Ｏデバイスは、例えば、ＰＣＩデバイスである。第１の経路とは、後述する第１の接続ラインである。ホストブリッジは、割り込み要因を、例えば、後述する汎用レジスタに記憶する。また、第２の経路とは、例えば、後述する第２の接続ラインである。
【００１５】
＝＝＝装置構成＝＝＝
図１は、本発明の一実施例として説明するコンピュータシステムのブロック図である。
【００１６】
ホストプロセッサ１０が、システムバスを介してホストブリッジ１１に接続する。ホストブリッジ１１は、例えば、「ノースブリッジ」と通称される半導体集積回路（以下、「ＬＳＩ」と称する）に実装される。パーソナルコンピュータなどに適用されるノースブリッジには、通常、ホストブリッジ１１以外にも、例えば、メインメモリやキャッシュメモリ、グラフィックデバイスなどの制御機能が実装される。また、冗長構成のコンピュータシステムの場合、システムバス２０には、複数のホストプロセッサ１０が接続される場合もある。また、システムバス２０には、ＲＡＭやＲＯＭなどのメモリが接続されることもある。
【００１７】
ホストブリッジ１１は、Ｉ／Ｏバス３０に接続し、Ｉ／Ｏバス３０には複数のＩ／Ｏデバイス１２が接続している。Ｉ／Ｏデバイス１２は、例えば、Ｉ／Ｏバス３０がＰＣＩバスである場合は、ＰＣＩバスのバススロットなどに装着されるＰＣＩデバイスや、複数のＩ／Ｏバス間を接続するＰＣＩ−ＰＣＩブリッジやＰＣＩ−ＩＳＡブリッジなどバスブリッジなどであり、通常は、ＰＣＩカードなどの形で提供される。
【００１８】
割り込みコントローラ１３は、例えば、「サウスブリッジ」と通称されるＬＳＩに実装される。割り込みコントローラ１３の割り込み信号入力線１３１には、Ｉ／Ｏバス３０に接続するＩ／Ｏデバイスの割り込み信号出力線がシステムバス２０やＩ／Ｏバス３０とは独立した接続ラインである第１の接続ライン４０を介して接続する。また、割り込みコントローラ１３の割り込み信号出力線１３２は、システムバス２０やＩ／Ｏバス３０とは独立した接続ラインである第２の接続ライン５０を介してホストプロセッサ１０が有する割り込み信号入力線１０１に接続する。
【００１９】
割り込みコントローラ１３は、例えば、Ｉ／Ｏデバイス１２の割り込み信号出力線１２１から出力された割り込み信号が、自身の割り込み信号入力線１３１に入力されると、優先制御や多重化制御、マスク制御などの制御を行い、これらの制御に応じて自身の割り込み信号出力線１３２から割り込み信号を出力し、ホストプロセッサ１０に割り込み信号を入力する。なお、優先制御とは、例えば、複数の割り込み信号入力線１３１に対して同時に割り込み信号が入力された場合などに、ホストプロセッサ１０に割り込み信号を通知する順序を制御することであり、多重化制御とは、例えば、ＰＣＩバスのように一の割り込み信号入力線１３１を複数のＩ／Ｏデバイス１２の割り込み信号出力線１２１で共用することが可能な場合に割り込み要因の取扱を制御することであり、また、マスク制御とは、割り込み信号が入力された場合にホストプロセッサ１０に割り込み信号を出力するかどうかを制御することである。
【００２０】
また、割り込みコントローラ１３は、内部レジスタ１３３を有しており、内部レジスタ１３３の各ビットに対応させて、割り込み信号がどのＩ／Ｏデバイス１２から出力されたものであるかを記憶している。
【００２１】
図２（ａ）に内部レジスタ１３３のビットとＩ／Ｏデバイス１２との対応づけの一例を示す。すなわち、割り込みコントローラ１３は、例えば、ある割り込み信号入力線１３１に、Ｉ／Ｏデバイス１２からの割り込み信号が入力されると、その割り込み信号入力線１３１（図２（ａ）では、各割り込み信号入力線に「ＩＲＱ０」〜「ＩＲＱ３」というＩＤを付与して各割り込み信号入力線を区別している）に対応づけられている、内部レジスタ１３３の該当ビットをオンにする（以下、この動作を「割り込み要因の書き込み」という）。
【００２２】
一方、本実施例のコンピュータシステムにおいては、ホストブリッジ１１も割り込み信号入力線１１１を有している。これら割り込み信号入力線１１１には、割り込みコントローラ１３の場合と同様に、各Ｉ／Ｏデバイス１２の割り込み信号出力線１２１が第１の接続ライン４０を介して接続している。つまり、Ｉ／Ｏデバイス１２から割り込み信号が出力されると、その割り込み信号は、割り込みコントローラ１３とホストブリッジ１１の双方の割り込み信号入力線１３１，１１１に入力されることになる。
【００２３】
また、ホストブリッジ１１は、汎用レジスタ１１３を有しており、汎用レジスタ１１３の各ビットに対応させて、割り込み信号がどのＩ／Ｏデバイス１２から出力されたものであるかを記憶している。図２（ｂ）に汎用レジスタ１１３のビットとＩ／Ｏデバイス１２との対応づけの一例を示す。すなわち、ホストブリッジ１１は、例えば、自身のある割り込み信号入力線１１１にＩ／Ｏデバイス１２から割り込み信号が入力されると、その割り込み信号入力線１１１（図２（ｂ）では、各割り込み信号入力線に「ＩＲＱ０」〜「ＩＲＱ３」というＩＤを付与して各割り込み信号入力線を区別している）に対応づけられている、汎用レジスタ１１３の該当ビットをオンにする。
【００２４】
＝＝＝割り込み処理＝＝＝
つぎに、本実施例のコンピュータシステムにおいて、Ｉ／Ｏデバイス１２が割り込み信号を出力し、これに対応する割り込み処理をホストプロセッサ１０が開始するまでの一連の処理を、図３に示すフローチャートとともに説明する。
【００２５】
Ｉ／Ｏデバイス１２から割り込み信号が出力されると、その割り込み信号が第１の経路４０を介してホストブリッジ１１および割り込みコントローラ１３の割り込み信号入力線１１１，１３１に入力される（Ｓ３１１）。割り込みコントローラ１３は、割り込み信号が入力されると、その割り込み信号を入力したＩ／Ｏデバイス１２に対応する内部レジスタ１３３の該当ビットをオンにする（割り込み要因の書き込み）。一方、ホストブリッジ１１も、割り込み信号入力線１１１に割り込み信号が入力されると、その割り込み信号を入力してきたＩ／Ｏデバイス１２に対応する汎用レジスタ１１３の該当ビットをオンにする（割り込み要因の書き込み）（Ｓ３１２）。
【００２６】
割り込みコントローラ１３は、割り込み信号が入力されると、割り込み要因の優先制御等の制御を行い、これらの制御に応じて自身の割り込み信号出力線１３２から割り込み信号を出力し、ホストプロセッサ１０に割り込み信号を入力する。これによりホストプロセッサ１０の割り込み信号入力線１０１に割り込み信号が入力され、ホストプロセッサ１０は、いずれかのＩ／Ｏデバイス１２において割り込みが発生したこをと認知する（Ｓ３１３）。
【００２７】
つぎに、ホストプロセッサ１０は、Ｉ／Ｏデバイス１２から割り込み信号が出力されたことを認知すると、ホストブリッジ１１に対し、割り込み要因、すなわち、その割り込みがどのＩ／Ｏデバイス１２において発生したのかを、システムバス２０を介して問い合わせる。ここでこの問い合わせは、Ｉ／Ｏバス３０を経由しない経路、すなわち、ホストプロセッサ１０→システムバス２０→ホストブリッジ１１→システムバス２０→ホストプロセッサ１０の経路で行われる。
【００２８】
具体的には、まず、ホストブリッジ１１が、前記問い合わせに応じて汎用レジスタ１１３を参照して割り込み要因を調べ、その結果をホストプロセッサ１０に通知する。ホストプロセッサ１０は、以上のようにして割り込み要因を取得する（Ｓ３１４）と、その割り込み要因に対応して用意されている割り込み処理を実行する（Ｓ３１５）。
【００２９】
なお、ホストブリッジ１１の汎用レジスタ１１３への割り込み要因の書き込みは、ホストブリッジ１１がＩ／Ｏデバイス１２から割り込み信号を受信した後に直ちに行われる。従って、ホストブリッジ１１が、ホストプロセッサ１０に割り込み要因を問い合わせるタイミングにおいては、既に汎用レジスタ１１３に割り込み要因が書き込まれていることになる。
【００３０】
ところで、以上に説明したように、ホストプロセッサ１０は、Ｉ／Ｏバス３０に比べて動作クロックが早いシステムバス２０を介してホストブリッジ１１から割り込み要因を取得するため、Ｉ／Ｏバス３０を介して割り込みコントローラ１３から割り込み要因を取得する場合に比べ処理速度が向上する。これにより割り込みコントローラ１３から割り込み信号が入力された場合、ホストプロセッサ１０は、迅速に割り込み要因を取得することができ、割り込み信号が出力されてから割り込み処理が開始されるまでの時間の短縮化が図られる。
【００３１】
なお、本発明のコンピュータシステムは、既製のホストブリッジ１１に必要数分以上の割り込み入力線１１１を設け、ホストブリッジ１１内部の汎用レジスタ１１３を利用してホストブリッジ１１に割り込み要因を記憶させるようにすることで容易に構成することが可能であり、コストパフォーマンスや量産性にも優れる。
【００３２】
また、以上の実施例では、割り込み要因が、割り込み信号がいずれのＩ／Ｏデバイス１２から入力されたのかを示す情報である場合について説明したが、割り込み要因はこれに限られるわけではない。
【００３３】
また、本発明は、パーソナルコンピュータや汎用コンピュータだけでなく、ディスクアレイ装置などの記憶装置の制御用など、割り込み信号が出力されてから割り込み処理が開始されるまでの時間の短縮化が要請される様々なコンピュータシステムに広く適用することができる。
【００３４】
【発明の効果】
本発明によれば、ホストプロセッサが割り込み要因を迅速に取得することができる。
【図面の簡単な説明】
【図１】本発明の一実施例として説明するコンピュータシステムのブロック図を示す図である。
【図２】（ａ）は本発明の一実施例として説明する内部レジスタの一例を示す図であり、（ｂ）は本発明の一実施例として説明する汎用レジスタの一例を示す図である。
【図３】本発明の一実施例による、Ｉ／Ｏデバイスが割り込み信号を出力しこれに対応する割り込み処理をホストプロセッサが開始するまでの一連の処理を説明するフローチャートを示す図である。
【図４】ＰＣＩバスなどのＩ／Ｏバスを用いて構成されるコンピュータシステムのブロック構成を示す図である。
【図５】Ｉ／Ｏデバイスから割り込み信号が出力され、この割り込み信号に対応した処理がホストプロセッサで実行されるまでの処理の流れを説明するフローチャートを示す図である。
【符号の説明】
１０　ホストプロセッサ
１１　ホストブリッジ
１２　Ｉ／Ｏデバイス
１３　割り込みコントローラ
２０　システムバス
３０　Ｉ／Ｏバス
４０　第１の接続ライン
５０　第２の接続ライン
１１３　汎用レジスタ
１２１　割り込み信号出力線
１３１　割り込み信号入力線
１３２　割り込み信号出力線
１３３　内部レジスタ
【図１】
2004030161.tif 000003
【図２】
2004030161.tif 000004
【図３】
2004030161.tif 000005
【図４】
2004030161.tif 000006
【図５】
2004030161.tif 000007