(57)【特許請求の範囲】
【請求項１】
第１の装置と、
前記第１の装置に結合されるバスと、
前記バスに結合されるバスコントローラとを含み、
前記バスは前記第１の装置に対応する第１の割込みラインを含み、前記第１の装置は前記第１の割込みラインを用いて前記バスコントローラへ第１の割込み優先度レベルに対応する第１の割込み信号を伝送するよう構成され、前記第１の装置は前記第１の割込みラインを用いて前記バスコントローラへ第２の割込み優先度レベルに対応する第２の割込み信号を伝送するよう構成され、前記第１の割込み信号は第１のデューティサイクルを有し、前記第２の割込み信号は第２のデューティサイクルを有し、前記第１のデューティサイクルは前記第２のデューティサイクルとは異なる、システム。
【請求項２】
前記バスに結合される第２の装置をさらに含み、
前記バスは前記第２の装置に対応する第２の割込みラインを含み、前記第２の装置は前記第２の割込みラインを用いて前記バスコントローラに前記第１の割込み優先度レベルに対応する第３の割込み信号を伝送するよう構成され、前記第２の装置は前記第２の割込みラインを用いて前記バスコントローラに前記第２の割込み優先度レベルに対応する第４の割込み信号を伝送するよう構成される、請求項１に記載のシステム。
【請求項３】
前記第１の装置は第１の期間の間に前記第１の割込み信号を伝送するよう構成され、前記第２の装置は前記第１の期間の間に前記第４の割込み信号を伝送するよう構成され、前記バスコントローラは前記第１の期間の間の前記第１の割込み信号および前記第４の割込み信号の受信に応答して、前記第１の装置に対して第１の割込みを認可するよう構成される、請求項２に記載のシステム。
【請求項４】
前記第１の装置は第２の期間の間に前記第２の割込み信号を伝送するよう構成され、前記第２の装置は前記第２の期間の間に前記第３の割込み信号を伝送するよう構成され、前記バスコントローラは前記第２の期間の間の前記第２の割込み信号および前記第３の割込み信号の受信に応答して、前記第２の装置に対して第３の割込みを認可するよう構成される、請求項３に記載のシステム。
【請求項５】
前記第１の割込み優先度レベルは、前記第２の割込み優先度レベルよりも高い割込み優先度に対応する、請求項２に記載のシステム。
【請求項６】
第１の装置が、第１の割込み優先度レベルに対応する第１の割込み信号を伝送するステップと、
第２の装置が、第２の割込み優先度レベルに対応する第２の割込み信号を伝送するステップと、
バスコントローラが、前記第１の割込み信号および前記第２の割込み信号を受信するステップと、
バスコントローラが、前記第１の割込み信号および前記第２の割込み信号を受信する前記ステップならびに前記第１の割込み優先度レベルが前記第２の割込み優先度レベルよりも高いことに応答して、前記第１の装置に対して第１の割込みを認可するステップとを含み、前記第１の割込み信号は第１のデューティサイクルを有し、前記第２の割込み信号は第２のデューティサイクルを有し、前記第１のデューティサイクルは前記第２のデューティサイクルとは異なる、方法。
【請求項７】
バスコントローラが、前記第１の割込み信号および前記第２の割込み信号を受信する前記ステップならびに前記第２の割込み優先度レベルが前記第１の割込み優先度レベルよりも高いことに応答して、前記第２の装置に対して第２の割込みを認可するステップをさらに含む、請求項６に記載の方法。
【請求項８】
バスコントローラが、前記第１の割込み信号および前記第２の割込み信号を受信する前記ステップならびに前記第１の割込み優先度レベルが前記第２の割込み優先度レベルに等しいことに応答して、アービトレーション方式に従って前記第１の装置に対して第１の割込みを許可するか、または前記第２の装置に対して第２の割込みを許可するステップをさらに含む、請求項７に記載の方法。
【請求項９】
第１の装置が、第２の割込み優先度レベルに対応する第３の割込み信号を伝送するステップと、
第２の装置が、第１の割込み優先度レベルに対応する第４の割込み信号を伝送するステップと、
バスコントローラが、前記第３の割込み信号および前記第４の割込み信号を受信するステップと、
バスコントローラが、前記第３の割込み信号および前記第４の割込み信号を受信する前記ステップならびに前記第１の割込み優先度レベルが前記第２の割込み優先度レベルよりも高いことに応答して、前記第２の装置に対して第４の割込みを認可するステップとをさらに含む、請求項６に記載の方法。
【請求項１０】
プロセッサと、
前記プロセッサに結合されるチップセットと、
前記チップセットに結合される第１のバス装置と、
前記チップセットに結合される第２のバス装置とを含み、
前記第１のバス装置は、前記チップセットへ第１の割込み優先度レベルに対応する第１の割込み信号を伝送するよう構成され、
前記第２のバス装置は、前記チップセットへ第２の割込み優先度レベルに対応する第２の割込み信号を伝送するよう構成され、
前記チップセットは、前記第１の割込み優先度レベルが前記第２の割込み優先度レベルよりも高いことに応答して、前記第１のバス装置に対して割込みを認可するよう構成され、
前記第１の割込み信号は第１のデューティサイクルを有し、前記第２の割込み信号は第２のデューティサイクルを有し、前記第１のデューティサイクルは前記第２のデューティサイクルとは異なる、システム。
【請求項１１】
前記チップセットは、前記第２の割込み優先度レベルが前記第１の割込み優先度レベルよりも高いことに応答して、前記第２のバス装置に対して前記割込みを認可するよう構成される、請求項１０に記載のシステム。
【請求項１２】
前記チップセットは、前記第１の割込み優先度レベルが前記第２の割込み優先度レベルに等しいことに応答して、割込みアービトレーション方式に従って前記割込みを認可するよう構成される、請求項１１に記載のシステム。
【請求項１３】
前記チップセットは、ノースブリッジとサウスブリッジとを含む、請求項１０に記載のシステム。
【請求項１４】
前記第１のバス装置はソフトウェアモデムを含む、請求項１０に記載のシステム。
【発明の詳細な説明】
【０００１】
発明の背景
１．技術分野
この発明は一般的にコンピュータシステムの分野に関し、より特定的にはコンピュータシステムにおけるバス割込みシステムに関する。
【０００２】
２．背景技術
コンピュータシステムは、異なった機能を果たす多くの装置を含み得る。各装置は、装置およびシステムの種類に依存して、一般的な機能または特定の機能を果たし得る。装置は典型的には、システム内の中央処理装置（ＣＰＵ）と対話する。これを行なうために、装置の多くはＣＰＵと結合され得るバスに結合され得る。これらの装置を、バス装置と称し得る。バスは直接ＣＰＵに結合されるか、またはバスブリッジを用いてＣＰＵに結合され得る。バスの例は、ＰＣＩバス、ＥＩＳＡ／ＩＳＡバス、およびＵＳＢバスを含み得る。これらのバスの各々は、バス規格に記載されるであろうバスプロトコルに適合し得る。バス装置は、バスプロトコルに適合するためのハードウェアまたはソフトウェアを含み得る。
【０００３】
あるバスアーキテクチャにおいては、バス装置はＣＰＵと通信する必要性を割込みを用いて合図する。バス装置は、そのバス装置に専用の割込みラインを用いてバスコントローラに割込み信号を伝送し得る。バス装置は、単にその割込みラインをアサートすることにより割込み信号を伝送し得る。バスコントローラはバス装置から割込み信号を受信して、コンフリクトする割込み要求の場合には、割込み要求をアービトレーションして、コンフリクトしている割込み要求の１つに対応するバス装置の１つに割込みを認可する。バスコントローラがコンフリクトしている割込み要求の間でアービトレーションを行なう態様は、バスコントローラによって用いられるアービトレーション方式に従ってコンピュータシステムの間で異なり得る。アービトレーション方式は、ラウンドロビンシステム、またはたとえばあるバス装置が他の種類のバス装置に勝る優先権が与えられるシステムであり得る。割込み要求が認可されたバス装置はＣＰＵと通信し得る。
【０００４】
ソフトウェアモデムのような最近のバス装置は、ますます時間の影響が重大になっており割込み要求に対してより速い応答を必要とする動作を行ない得る。しかしながら、バスコントローラによって用いられるアービトレーション方式は、これらの高まっている必要性に敏感ではないおそれがある。割込み要求がコンフリクトした場合、バスコントローラが、別のバス装置よりも要求が時間に敏感ではない可能性のあるバス装置に割込みを認可するという問題が生じ得る。たとえばソフトウェアモデムの場合、もしモデムの割込み要求が、別の装置のコンフリクトする割込み要求を制して認可されなければ、接続は切断されるおそれがある。この種の状況は、割込み要求がコンフリクトした場合に、バスコントローラが１つのバス装置が別のものよりも時間に敏感な割込み要求を有することを判断できれば、避けられるものである。バス装置が、バスコントローラに対して割込み優先度レベルを示すことを可能にするシステムおよび方法が必要である。さらに、既存のバスアーキテクチャに組み入れることのできる、バス装置がバスコントローラに対して割込み優先度レベルを示すことを可能にするシステムおよび方法が必要である。
【０００５】
ＵＳ−Ａ−４，７８８，６３９は、ホストコンピュータへの入力／出力制御装置のアクセスを制御するために用いられるマルチレベル優先度割込みシステムを開示する。動作の間に、各入力／出力制御装置はホストコンピュータに送られるべき割込みのレベルによって決定される周波数の割込み信号を出力する。割込み信号の受信の際に、ホストコンピュータは信号周波数から割込みの優先度を判断し、次いで対応の割込みルーチンを実行する。
上に概略を述べた問題は、ここに記載のシステムおよび方法を用いることにより大きく解決される。一般的には、コンピュータシステムにおけるマルチレベルの割込み方式を実現するためのシステムおよび方法が提供される。バス装置およびバスコントローラは、コンピュータシステムにおいて共用バスに結合され得る。バスは、バスに結合されるバス装置ごとの割込みラインを含み得る。バス装置は、その指定割込みラインを用いて割込みを伝送するよう構成され得る。各バス装置は、所与の割込みの割込み優先度レベルに依存して、その割込みライン上で異なった種類の割込み信号を伝送するよう構成され得る。バスコントローラは、バスに結合される各バス装置からの割込み信号を受けて、各割込み信号の割込み優先度レベルに基づいて割込み信号の間でアービトレーションを行なうよう構成され得る。バスコントローラは、最高優先度レベルに対応する割込みを認可し得る。もし多数の割込みが、割込み群の中の同じ最高優先度レベルに対応すれば、バスコントローラは何らかの好適なアービトレーション方式を用いて割込みを認可し得る。
【０００６】
この発明の一局面に従うと、以下を含むシステムが提供される。すなわち、システムであって、第１の装置と；第１の装置に結合されるバスと；バスに結合されるバスコントローラとを含み；バスは前記第１の装置に対応する第１の割込みラインを含み、第１の装置は第１の割込みラインを用いてバスコントローラへ第１の割込み優先度レベルに対応する第１の割込み信号を伝送するよう構成され、第１の装置は第１の割込みラインを用いてバスコントローラへ第２の割込み優先度レベルに対応する第２の割込み信号を伝送するよう構成され、第１の割込み信号は第１のデューティサイクルを有し、第２の割込み信号は第２のデューティサイクルを有し、第１のデューティサイクルは第２のデューティサイクルとは異なる。
ここに記載のシステムおよび方法は、他のシステムおよび方法に勝る性能上の利点をもたらし得る。マルチレベルの割込み方式を用いると、各割込み要求の優先度を判断することにより、バスコントローラがコンフリクトする割込み要求の群の間でより適切に割込みを認可することが可能になる。割込み要求の群の各々の優先度を判断することにより、バスコントローラはバス装置がその割込みのタイムリーなサービスを受けることを確実にする。ここに記載されるシステムおよび方法はまた、既存のバスハードウェアを用いても実現可能である。バス装置は、既存の割込みライン上のバスコントローラへ異なった信号を伝送することにより、異なった割込み優先度レベルを示唆し得る。従って、ここに記載のシステムおよび方法は、既存のバスシステムに組み入れることができる。
【０００８】
この発明の他の目的および利点は、以下の詳細な説明を読み、かつ添付の図面を参照すると、明らかになるであろう。
【０００９】
この発明はさまざまな変形例および代替例が可能であるが、その特定の実施例を例示のためにのみ図面に示し、ここに詳細に説明する。しかしながら、図面とその詳細な説明とは発明を開示される特定の形式に限定することを意図せず、反対に、意図は、すべての変形例、等価物、および代替例を、前掲の特許請求の範囲によって定義されるこの発明の精神および範囲内に包含することと理解されたい。
【００１０】
実施例の詳細な説明
図１を参照すると、マルチレベル割込み方式を実現するように構成されるコンピュータシステムの一実施例を表すブロック図が示される。図１は、ノースブリッジ１１０およびサウスブリッジ１２０に結合されるＣＰＵ１００を示す。サウスブリッジ１２０はバス１２４に結合され、バス装置１３０ａ〜１３０（ｎ）もまた結合される。バス装置１３０ａ〜１３０（ｎ）は、ソフトウェアモデムを含む何らかの好適な装置であり、総称的に「バス装置１３０」と称しても、個々に「バス装置１３０」と称してもよい。バス装置１３０ａと１３０（ｎ）との間に点で示されるように、バス１２４のバスプロトコルに一致する任意の数のバス装置１３０がバス１２４に結合され得る。ノースブリッジ１１０およびサウスブリッジ１２０は、チップセットを含み得る。図１に示されるように、ノースブリッジ１１０はまた、ビデオサブシステム、メモリサブシステム、およびキャッシュに結合され、サウスブリッジ１２０はオーディオサブシステム、ディスクコントローラ、および別のバスに結合され得る。
【００１１】
図１は、コンピュータシステムにおけるマルチレベル割込み方式が実現され得るシステムを示す。バス１２４は、ＰＣＩバスのような共用バスまたは他の種類の共用バスであり、かつバスに結合されるバス装置１３０ごとの割込みラインを含み得る。各バス装置１３０は、その指定割込みラインを用いて割込みを伝送するよう構成され得る。各バス装置１３０は、所与の割込みの割込み優先度レベルに依存して、それぞれの割込みラインで異なった種類の割込み信号を伝送するよう構成され得る。サウスブリッジ１２０に位置するバスコントローラは、バスに結合される各バス装置から割込み信号を受けて、各割込み信号の割込み優先度レベルに基づいてコンフリクトする割込み信号をアービトレーションするよう構成され得る。バスコントローラは、最高優先度レベルに対応する割込みを認可し得る。もし多数の割込み要求が、割込み要求群の中の同じ最高優先度レベルに対応すれば、バスコントローラは何らかの好適なアービトレーション方式を用いて割込みを認可し得る。
【００１２】
図２を参照すると、マルチレベル割込み方式を実現するよう構成されるコンピュータシステムの一実施例を表すブロック図が示される。図２は、サウスブリッジ１２０がバス１２４を介してバス装置１３０ａ〜１３０（ｎ）に結合されるのを示す。サウスブリッジ１２０はバスコントローラ２００を含み、該バスコントローラ２００は割込みコントローラ２１０を含む。バス１２４は、示されるように割込みライン２１２ａ〜２１２（ｎ）を含む。割込みライン２１２ａ〜２１２（ｎ）はそれぞれバス装置１３０ａ〜１３０（ｎ）に対応し得る。割込みライン２１２ａ〜２１２（ｎ）は総称的に「割込みライン２１２」と称しても、個々に「割込みライン２１２」と称してもよい。
【００１３】
割込みを要求するために、バス装置１３０はそれぞれの割込みライン２１２上で割込み信号を伝送するよう構成され得る。各バス装置１３０は、割込み優先度レベルに依存して、その割込みライン２１２で異なった信号を伝送するよう構成される。割込みコントローラ２１０は、割込みライン２１２上の各バス装置１３０からの割込み信号を受け、各割込み信号が表現する割込み優先度レベルに基づいてコンフリクトする割り込み要求をアービトレーションするよう構成され得る。割込みコントローラ２１０は最高優先度レベルに対応する割り込みを認可し得る。もし多数の割込み要求が、割込み要求群の中の同じ最高優先度レベルに対応すれば、割込みコントローラ２１０は何らかの好適なアービトレーション方式を用いて割込みを認可し得る。
【００１４】
図２に記載のマルチレベル割込み方式は、他のシステムに勝る性能上の利点をもたらし得る。マルチレベルの割込み方式を用いると、各割込み要求の優先度を判断することにより、バスコントローラ２００内の割込みコントローラ２１０が、バス装置１３０からのコンフリクトする割込み要求の群の間でより適切に割込みを認可することが可能になる。割込み要求の群の各々の優先度を判断することにより、割込みコントローラ２１０はバス装置１３０がその割込みのタイムリーなサービスを受けることを確実にする。
【００１５】
図２のシステムは、既存のバスハードウェアを用いて実現可能である。バス装置１３０は、既存の割込みライン２１２上のバスコントローラへ異なった信号を伝送することにより、異なった割込み優先度レベルを示唆し得る。従って、ここに記載のシステムおよび方法は、バス規格によってバス装置ごとの割込みラインが要求されるＰＣＩバスのような既存のバスシステムに組み入れることができる。
【００１６】
一実施例においては、バス装置１３０は異なった周波数の割込み信号を伝送して割込み優先度レベルを示唆し得る。図３ａは、異なった周波数を用いて異なった優先度レベルを示唆するマルチレベル割込み方式の実施例を表すタイミング図を示す。図３ａの例においては、３つの割込み優先度レベル、すなわち割込みレベル２  ３１０、割込みレベル１  ３１２、および割込みレベル０  ３１４が示される。割込みレベル２  ３１０は最高優先度割込みに、割込みレベル１  ３１２はその次に高い優先度割込みに、割込みレベル０  ３１４は最低優先度割込みに対応し得る。他の実施例は、他の数の割込み優先度レベルを含み得る。示されるように、割込みレベル０  ３１４は第１の周波数ｆに、割込みレベル１  ３１２は第２の周波数２×ｆに、割込みレベル２  ３１０は第３の周波数４×ｆに対応し得る。
【００１７】
この実施例において、割込みコントローラ２１０は、受取った各コンフリクトする割込み信号の周波数を用いて、バス装置１３０からのコンフリクトする割込み要求の間で割込みを認可するよう構成され得る。たとえば、もしバス装置１３０ａが周波数ｆで割込み信号を伝送し、かつバス装置１３０（ｎ）が周波数４×ｆでコンフリクトする割込み信号を伝送すれば、割込みコントローラ２１０はバス装置１３０（ｎ）の割込みを認可するよう構成され得る。なぜならば、周波数４×ｆでの割込み信号が周波数ｆでの割込み信号よりも、すなわち割込みレベル２  ３１０が割込みレベル０  ３１４に対して、高い割込み優先度レベルに対応するからである。もし２つ以上のバス装置１３０が同じ優先度レベルに対応する、すなわち同じ周波数でコンフリクトする割込み信号を伝送すれば、割込みコントローラ２１０はラウンドロビンアービトレーション方式のようなアービトレーション方式に基づいてバス装置１３０のうちの１つに割込みを認可するよう構成され得る。
【００１８】
別の実施例においては、バス装置１３０は異なったデューティサイクルの割込み信号を伝送して割込み優先度レベルを示唆し得る。図３ｂは、異なったデューティサイクルを用いて異なった優先度レベルを示唆するマルチレベル割込み方式の実施例を表すタイミング図を示す。図３ｂの実施例においては、３つの割込み優先度レベル、すなわち割込みレベル２  ３２０、割込みレベル１  ３２２、および割込みレベル０  ３２４が示される。割込みレベル２  ３２０は最高優先度割込みに、割込みレベル１  ３２２はその次に高い優先度割込みに、割込みレベル０  ３２４は最低優先度割込みに対応し得る。他の実施例は、他の数の割込み優先度レベルを含み得る。示されるように、割込みレベル２  ３２０は５０％のデューティサイクル、割込みレベル１  ３２２は２５％のデューティサイクル、および割込みレベル０  ３２４は７５％のデューティサイクルに対応し得る。
【００１９】
この実施例において、割込みコントローラ２１０は、受取った各コンフリクトする割込み信号のデューティサイクルを用いて、バス装置１３０からのコンフリクトする割込み要求の間で割込みを認可するよう構成され得る。たとえば、もしバス装置１３０ａが７５％のデューティサイクルで割込み信号を伝送し、バス装置１３０（ｎ）が５０％のデューティサイクルでコンフリクトする割込み信号を伝送すれば、割込みコントローラ２１０はバス装置１３０（ｎ）に割込みを認可するよう構成される。なぜならば、５０％のデューティサイクルでの割込み信号が７５％のデューティサイクルでの割込み信号よりも、すなわち割込みレベル２  ３２０が割込みレベル０  ３２４に対して、高い割込み優先度レベルに対応するからである。もし２つ以上のバス装置１３０が同じ優先度レベルに対応する、すなわち同じデューティサイクルの、コンフリクトする割込み信号を伝送すれば、割込みコントローラ２１０はラウンドロビンアービトレーション方式のようなアービトレーション方式に基づいてバス装置１３０のうちの１つに割込みを認可するよう構成され得る。
【００２０】
図４を参照すると、マルチレベル割込み方式を実現する方法を表すフローチャートが示される。方法の展開例が可能であり、企図される。ブロック４０２に示されるように、第１の装置からの第１の割込み信号が伝送され得る。ブロック４０４に示されるように、第２の装置からの第２の割込み信号が伝送され得る。ブロック４０６に示されるように、第１の割込み信号および第２の割込み信号が受信され得る。ブロック４０８において、第１の割込み信号が第２の割込み信号よりも高い優先度に対応するか否かが判断され得る。もし第１の割込み信号が第２の割込み信号よりも高い優先度に対応すれば、ブロック４１０に示すように第１の装置に対して割込みが認可される。
【００２１】
もし第１の割込み信号が第２の割込み信号よりも高い優先度に対応しなければ、ブロック４１２に示すように、第２の割込み信号が第１の割込み信号よりも高い優先度に対応するか否かが判断され得る。もし第２の割込み信号が第１の割込み信号よりも高い優先度に対応すれば、ブロック４１４に示すように第１の装置に対して割込みが認可される。もし第２の割込み信号が第１の割込み信号よりも高い優先度に対応しなければ、ブロック４１６に示すように、アービトレーション方式に従って第１の装置または第２の装置のいずれかに対して割込みが認可される。
【００２２】
上述の実施例を非常に詳細に説明してきたが、他の例も可能である。当業者には、上の開示を完全に理解すればさまざまな展開例および変形例が明らかとなるであろう。前掲の特許請求の範囲はそのような展開例および変形例のすべてを包含すると解釈されることが意図される。
【００２３】
産業上の利用可能性
この発明はコンピュータシステムに適用可能である。
【図面の簡単な説明】
【図１】  マルチレベル割込み方式を実現するよう構成されるコンピュータシステムの一実施例を示すブロック図である。
【図２】  マルチレベル割込み方式を実現するよう構成されるコンピュータシステムの一実施例を示すブロック図である。
【図３ａ】  マルチレベル割込み方式の一実施例を示すタイミング図である。
【図３ｂ】  マルチレベル割込み方式の一実施例を示すタイミング図である。
【図４】  マルチレベル割込み方式を実現する方法を示すフローチャートである。
【図１】
0004837235.tif 000002
【図２】
0004837235.tif 000003
【図３ａ】
0004837235.tif 000004
【図３ｂ】
0004837235.tif 000005
【図４】
0004837235.tif 000006