(57)【特許請求の範囲】
【請求項１】
コンピュータ・システムであって：
割込み未処理信号に応答して割込みサービス・ルーチンを実行する中央演算処理装置（ＣＰＵ）と；
複数の可能な割込み要求信号のうちの１つに応答して前記割込み未処理信号を前記ＣＰＵへ送るように結合された第１の割込みコントローラと；
受け取った直列割込み要求信号に対応する前記複数の可能な割込み要求信号のうちの適当な１つの信号を生成して前記第１の割込みコントローラに提供するために、前記第１の割込みコントローラに結合された直列割込みコントローラと；
デイジー・チェーン状に相互接続され、前記直列割込みコントローラと通信でき、それぞれが、前記複数の可能な割込み要求信号のうちの１つまたは複数を前記直列割込みコントローラによって生成されることを要求することができ、かつ、それぞれが、前記直列割込み要求信号を前記直列割込みコントローラへ直列に伝播するように構成されたプロトコル論理機構を有する第１の複数の直列割込み周辺装置と、；
を有し、
前記第１の複数の直列割込み周辺装置のそれぞれは１クロック・サイクル毎に割り込み状態を変化させそして所望の割り込み状態に対応するクロック・サイクルに直列割り込み要求信号を出力する、
ことを特徴とするコンピュータ・システム。
【請求項２】
コンピュータ・システムで使用される周辺装置であって、前記コンピュータ・システムが、中央演算処理装置（ＣＰＵ）と、複数の可能な割込み要求信号のうちの１つに応答して前記ＣＰＵに未処理の割込みを知らせる第１の割込みコントローラと、受け取った直列割込み要求信号に応答して前記割込み要求信号を前記第１の割込みコントローラへ送る直列割込みコントローラとを含み、１クロック・サイクル毎に割り込み状態を変化させそして所望の割り込み状態に対応するクロック・サイクルに直列割り込み要求信号を出力する、前記周辺装置は：
直列割込みバスと通信する直列割込みプロトコル論理機構と；
直列割込み要求信号を受け取るように前記周辺装置を前記直列割込みバスに結合する、前記直列割込みプロトコル論理機構に結合された直列割込み入力と；
前記直列割込みバスを介して直列割込み要求信号を搬送するように前記周辺装置を前記直列割込みバスに結合する、前記直列割込みプロトコル論理機構に結合された直列割込み出力とを備え、
前記直列割込みプロトコル論理機構は、前記複数の可能な割込み要求のうちの１つに対応する直列割込み要求信号を前記直列割込み入力で受信し、前記直列割込み出力を通じて直列に伝播できるように前記直列割込み出力を制御することを特徴とする周辺装置。
【請求項３】
請求項２に記載の周辺装置において、前記直列割込みバス上で実施され、１クロック・サイクル毎に割り込み状態を変化させる前記周辺装置による割込みを処理する方法であって、：
第１のクロック・サイクル中に直列割込み入力上で直列割込み要求信号を受け取るステップと；
第２のクロック・サイクル中に直列割込み出力を通じて前記直列割込み要求信号を直列に伝播するステップと；
所望の割込み状態に対応するクロック・サイクル中に前記直列割込み出力上で活動状態信号をアサートするステップと
を含むことを特徴とする方法。
【発明の詳細な説明】
発明の背景
１．発明の分野
本発明は、コンピュータ・システム周辺装置の接続に関する。詳細には、本発明は、直列周辺装置割込みバスを使用するコンピュータ・システム内の複数の可能な割込みの処理に関する。
２．背景技術
コンピュータ業界で、パーソナル・コンピュータ向けに広く受け入れられている１つのシステム・アーキテクチャはＡＴシステム設計である。このアーキテクチャを組み込んだ従来のシステムは、ＩＳＡバス・プロトコルを実施するシステム・バスを含み、後にはＥＩＳＡバス・プロトコルを実施するシステムを含んでいた。このプロトコルは、システム内の様々な構成要素によって使用される１５の異なるシステム割込みを決めている。これらの割込みは、ＩＲＱ０ないしＩＲＱ１５として指定され、そのうちのＩＲＱ２など１つのＩＲＱ信号は、システムのプログラム可能割込みコントローラ（ＰＩＣ）機構内で専用に使用される。
ＩＳＡバス・プロトコル割込み機構またはＥＩＳＡバス・プロトコル割込み機構を実施する前述のコンピュータ・システムは一般に、様々なＩＲＱ信号を受け取り、それに応答して、未処理の割込みが存在することを示す信号をシステムの中央演算処理装置（ＣＰＵ）へ送る割込みコントローラを組み込んでいる。ＣＰＵは、活動状態割込み信号に応答して、割込みコントローラに対して割込み信号に肯定応答し、それによって割込みコントローラは、適当な割込みサービス・ルーチン（ＩＳＲ）を実行するためのコード・ベクトルをＣＰＵへ送る。現在よく知られているそのような１つの割込みコントローラは、Ｉｎｔｅｌ８２５９周辺装置割込みコントローラ（ＰＩＣ）である。一実施形態では、その割込みコントローラは、８つの異なるＩＲＱ信号を受け取ることができる。フルレンジのＩＲＱ信号［０：１５］をサポートするために、第１のＰＩＣはＩＲＱ８ないし１５を受け取り、それに対する応答として割込み信号出力を生成する。次いで、第１のＰＩＣの出力は、他の構成要素からの他の７つの入力と共にＩＲＱ２として第２のＰＩＣへ送られる。第２のＰＩＣは出力をＣＰＵに供給する。このように、システム内の１５の可能なＩＲＱ信号に対処するために２つの８ＩＲＱ入力ＰＩＣが連鎖される。
前述の割込み信号プロトコルにはいくつかの欠点がある。いくつかのコンピュータ・システム構成要素は、特定のＩＲＱ出力をシステムＰＩＣへ送るように指定されるが、他の構成要素は、複数の可能なＩＲＱ信号に対して自由に構成することができる。従来型の周辺装置設計方法の下では、この場合、装置が使用できる各割込みごとに別々のピンが必要であり、場合によっては、１５の可能なＩＳＡ  ＩＲＱ割込み信号を送るために最大で１５本のピンが必要になる。これらのピンはそれぞれ、割込みを実行する必要があるときにそれをＣＰＵに知らせるためにシステムＰＩＣへの別々の信号線をドライブする。この場合、周辺装置を実施するコストが増加するだけでなく、周辺装置の相互接続の複雑さおよび寸法も増大する。これは最近、コンピュータ・システム、特にポータブル・システムおよびノートブック・クラス・システムの小型化に対して大きな問題となっている。したがって、本発明の目的は、ピン要件を低減し、かつ複数の割込み構成とすることができる周辺装置の実施に伴う複雑さを低減することである。
発明の概要
前述のことから、複数ピン割込みプロトコルに従いながら、周辺装置を実施するコストを低減させると共に、周辺装置のピン要件を軽減させようにコンピュータ・システムのアーキテクチャを強化することが望ましい。したがって、本発明の目的は、可能な各割込み信号ごとの専用ピンを必要とせずに所定の割込み信号を生成するようにシステム周辺装置または構成要素を構成できるようにする直列バス・プロトコルを実施する方法および装置を提供することである。特に、本発明の目的は、本発明のプロトコルに従って信号を伝搬する２本のピンを使用してＩＲＱ信号を伝搬させるように直列割込みバス上で実施される、周辺装置用のプロトコルを提供することである。
本発明の一実施態様では、一次直列割込みバスと二次直列割込みバスの両方を有するコンピュータ・システムが実施される。直列割込みバスは、バスに取り付けられた周辺装置へクロック信号を送ると共に、バス上で実施されている周辺装置のチェーンを通じて、伝搬された割込み信号を送る。一次直列割込みバスおよび二次直列割込みバスは、一実施態様では、本発明が、場合によってはドッキング・ステーションを通じてドッキングすることができるノートブック・コンピュータで使用するのに適していることを強調するように示されている。一次直列割込みバスは、この実施態様では、ポータブル・コンピュータに結合された周辺装置のために使用され、それに対して、二次直列割込みバスに結合された周辺装置はドッキング・ステーションに結合される。これは、二次割込みバスの周辺装置を後述の直列割込み周辺装置チェーンに含める、直列割込みブリッジ構成要素の機能を示す働きもする。
前述の実施態様のコンピュータ・アーキテクチャは、未処理の割込みを実行する必要があるときにそれをシステム処理装置に知らせる周辺装置割込みコントローラ（ＰＩＣ）機構を含む。周辺装置割込みコントローラ機構は、ＩＳＡバス割込みプロトコルまたはＥＩＳＡバス割込みプロトコルに従って１５個の可能なＩＲＱ信号を入力として受け取る。ＰＩＣ機構は、直列割込みバスをドライブする直列割込みコントローラ（ＳＩＣ）からこれらのＩＲＱ信号を受け取る。
本発明の実施態様によれば、コンピュータ・システムの各周辺装置は、２本のピンを割込み信号専用に使用するだけでよい。各周辺装置は、直列出力ピン（Ｓout）と直列入力ピン（Ｓin）とを有する。直列割込みコントローラは、直列バスに接続された第１の周辺装置のＳinピン（あるいは、ドッキングのために実施する場合には直列割込みブリッジ（ＳＩＢ））に結合されたＳoutピンも有する。第１の周辺装置（またはＳＩＢ）のＳoutピンは、直列周辺装置チェーン内の次の周辺装置のＳinに結合される。次の周辺装置のＳoutピンは次いで、次のＳinピンに結合され、以下、直列バス上で実施されている周辺装置のラインに沿って同様である。チェーン内の最後の周辺装置のＳoutピンは直列割込みコントローラのＳinピンに結合される。
ブリッジを使用するコンピュータ・システムの一実施態様では、ＳＩＢは４本のピンを使用する。ＳＩＢは、ＳＩＣからＳoutピンの出力を受け取る第１のＳinピンを有する。ＳＩＢは、２本のＳoutピンも有する。ブリッジの第１のＳoutピンは、二次直列割込みバス上で実施される第１の周辺装置のＳinピンに信号をドライブする。二次バスの周辺装置は、前述の一次直列割込みバスの周辺装置と同様に、ＳoutピンおよびＳinピンを通じて連鎖される。二次バスの最後の周辺装置のＳoutピンは、ＳＩＢへの第２のＳin入力をドライブする。ＳＩＢは次いで、一次バスの第１の周辺装置のＳinピンに第２のＳout信号をドライブし、それによって実際上、システム内の一次バス周辺装置のデイジー・チェーンに二次バス周辺装置を付加する。
二次バスがドッキング・ステーション周辺装置バスとして働く本発明の一実施態様では、二次バスが活動状態になるのは、システムがドッキングされるときだけであり、そうでない場合は一次バスが使用される。後者の場合、ブリッジは、直列割込み信号を一次バスの第１の周辺装置へ送る。
直列割込みバス上で使用できるように実施される各周辺装置は、内部に直列割込み周辺装置（ＳＩＰ）論理機構を組み込んでいる。各ＳＩＰ論理機構とＳＩＣは、同じクロックでクロックされる。各ＳＩＰ論理機構は、１クロック・サイクルにわたって可能な各ＩＲＱ割込み状態を循環する状態図に追従する論理機構を有する。直列チェーン内の各周辺装置は常に、その後方の周辺装置よりも１つだけ進んだ状態になる。ある周辺装置が特定のＩＲＱ信号をシステムＰＩＣへ送る必要があるとき、その周辺装置は、ＳＩＰ論理機構状態マシンの対応するＩＲＱ状態のときにのみＳinピンを通じて活動状態信号を送る。チェーン内の各周辺装置は、Ｓin上で受け取った信号を出力Ｓoutを通じて送る。ＳＩＣは、一実施形態では入出力コントローラに存在し、ＳＩＰ論理機構と同じ状態マシンを実行する状態マシン論理機構を含む。したがって、直列チェーン内の最後の周辺装置からＳＩＣへ活動状態信号が送られると、ＳＩＣは、どのＩＲＱ信号をシステムＰＩＣへ送る必要があるかを知る。これによって、コンピュータ・システム内の任意の数の周辺装置が、各信号ごとの専用ピンを必要とせずに可能なシステムＩＲＱ割込み信号を生成する機構が与えられる。さらに、複数の周辺装置が、同じＩＲＱ状態で活動状態信号を送ることができ、そのため、ＳＩＣが確実に、適当なＩＲＱ信号をシステムＰＩＣへ送るので、ＩＲＱを共用することができる。
本発明の一実施態様によれば、ＳＩＣは、システムＣＰＵへの直接的なシステム管理割込み（ＳＭＩ）を行い、システムのＰＩＣをバイパスすることもできる。各周辺装置のＳＩＰ論理機構およびＳＩＣ論理機構はそれぞれ、システム管理割込み（ＳＭＩ）を生成する状態を含む。
【図面の簡単な説明】
本発明の目的、特徴、利点は、下記の詳細な説明から明らかになろう。
第１図は、本発明の一実施形態による直列割込みバス・プロトコルを実施するコンピュータ・システム・アーキテクチャのブロック図である。
第２図は、本発明による直列割込みバス上で実施される各周辺装置に結合された直列割込み論理機構によって実施すべき状態図を示す図である。
第３図は、直列割込みチェーンを通じて状態を知らせる割込みピンを示すタイミング図である。
第４図は、周辺装置またはブリッジが割込みを送るためにバス・クロックを開始する場合のタイミング図である。
第５図は、本発明による直列割込み周辺装置に関する汎用状態図である。
発明の詳細な説明
直列割込みバスを実施するコンピュータ・システムにおける割込み信号プロトコルに関する方法および装置を提供する。この詳細な説明では、ドッキング可能なポータブル・コンピュータと、ポータブル・コンピュータとドッキング・ステーションの両方に結合された周辺構成要素に整合する一次直列割込みバスと二次直列割込みバスの両方を含むコンピュータ・システムの一実施形態について説明する。直列割込みバスを実施することが望ましい他のコンピュータ・システムと共に本発明を実施して本発明の利点を達成することができるので、この実施形態が、例示のためのものであり、制限として与えられたものではないことを理解されたい。
この詳細な説明全体にわたって、本発明を完全に理解するために特定の信号名、バス・プロトコル、コンピュータ・アーキテクチャ・タイプなど多数の特定の詳細について述べる。当業者には、そのような特定の詳細なしで本発明を実施できることが理解されよう。他の例では、本発明の主題を暖昧にするのを回避するために周知の構成要素、構造、技術については詳しく説明しない。特に、本発明の機能の大部分については、様々なタイプの論理回路によって実施すべき状態図論理およびタイミングに関して説明する。当業者には、特定用途向け集積回路（ＡＳＩＣ）、またはＰＡＬやＰＬＤなどプログラム可能な論理装置、または専用論理回路の使用を含むがこれらに限らない様々な技法によって本発明の機能を実施できることが理解されよう。また、この詳細な説明で識別される信号名は、いくつかのケースで、ある状態では活動状態であり他の状態では非活動状態であるように記載されている。本発明の教示はもちろん、逆のケースにも適用することができる。
次に、第１図を参照すると、本発明を組み込むことができるコンピュータ・システム・アーキテクチャが示されている。第１図のコンピュータ・システム・アーキテクチャは、アーキテクチャの階層割込み構成を強調するように示されている。本発明の影響を受けず、あるいは本発明に関与しないコンピュータ・システムの多数の構成要素は図示されていない。このコンピュータ・システムは、コンピュータ・システムのメモリ・システム（図示せず）と通信できるようにメモリ・バス１５に結合された中央演算処理装置（ＣＰＵ）１０を含むことが理解されよう。図のＣＰＵ１０は、システム入出力コントローラ２０から２つの制御信号を受け取るようにも示されている。これらの信号は、ＣＰＵへのＩＮＴＲ割込み信号およびシステム管理割込み（ＳＭＩ）として識別される。下記で詳しく説明するように、ＣＰＵへのＩＮＴＲ信号は、周辺装置割込みコントローラ機構（ＰＩＣ）２２からの従来型の信号であり、システム構成要素がＣＰＵに割込みサービス・ルーチン（ＩＳＲ）を実行させる必要があるときにそれをＣＰＵ１０に知らせる。
本発明の一実施形態では、ＣＰＵ１０は、インテル・マイクロプロセッサ・アーキテクチャ（Intel Microprocessor Architecture）に従って設計されたマイクロプロセッサである。このアーキテクチャは、システム管理モード（ＳＭＭ）と呼ばれる動作モードをサポートする。ＣＰＵは、システム管理モードをサポートするために、ある種の状況では、システムの様々な周辺装置から、システム管理割込み（ＳＭＩ）と呼ばれる特殊な割込みを受け取らなければならない。したがって、図のコンピュータ・アーキテクチャのＣＰＵ１０は、システム管理割込み処理のためのＳＭＩ割込みならびに従来型のＩＮＴＲ割込み信号を受け取るように示されている。
システム入出力コントローラ２０は、コンピュータ・システム用の周辺装置割込みコントローラ（ＰＩＣ）機構２２を含む。前述のように、これは、様々な構成要素から１５個の可能なＩＲＱ信号を受け取り、これに応答してＩＮＴＲ信号をＣＰＵ１０へ送るように構成された２つのインテル（Ｉｎｔｅｌ）８２５９ＰＩＣでよい。代替実施形態では、同じ機能を実行する他のＰＩＣ機構を実施することができる。システム入出力コントローラ２０は、本発明の直列割込みコントローラ（ＳＩＣ）２５も含む。下記で詳しく説明するように、ＳＩＣ２５は、システム周辺装置からの特定のＩＲＱ要件を検出し、適当なＩＲＱ入力信号をシステムＰＩＣ２２へ送る本発明の直列割込みプロトコルを実施する。ＳＩＣ２５はさらに、本発明のプロトコルを実施する１つのシステム周辺装置が、システム管理割込みが必要であることを示したときに、ＳＭＩ割込み信号をＣＰＵ１０へ送る。ＰＩＣ２２は、コンピュータ・システムのマザーボード上で、あるいは直列割込みバスとは独立の他の機構を通じて実施されるシステム構成要素など他のシステム構成要素からもＩＲＱ信号を受け取るように結合される。
本発明の図の実施形態によれば、直列割込みバスは、コンピュータ・システムの周辺装置３０、３１、３２を結合する一次直列割込みバスとして示されている。周辺装置４１および４２を結合する二次直列割込みバスもある。本発明は、ドック４５として示したドッキング・ステーションを通じて「ドッキング」できるポータブル計算システムで使用するのに適していると考えられる。本発明の直列割込みプロトコルは、周辺装置３０、３１、３２などポータブル計算システムに搭載された周辺装置と、周辺装置４１および４２などドッキング・ステーションに結合された周辺装置の両方によって生成された割込み信号を処理するように働く。第１図に示した一次直列割込みバスおよび二次直列割込みバスに関しては、それらのバスが直列割込みブリッジ４０を通じて組み合わされることが理解されよう。このことについては、下記で詳しく説明する。
直列割込みバス・プロトコルに関連付けられた各周辺装置、ならびに直列割込みコントローラおよび割込みブリッジは、クロック信号ＰＣＩＣＬＫおよびＣＬＫＲＵＮ＃を受け取る。本発明の一実施形態による信号伝搬の実際のタイミングについては、第３図および第４図のタイミングに関して下記で詳しく説明する。
本発明の直列割込みバス・プロトコルを実施するシステム周辺装置は、２本のピンを直列バス・プロトコルの動作専用に使用するだけでよい。これらはＳoutおよびＳinとして指定される。これは、直列割込みコントローラ２５にも当てはまる。本発明の周辺装置は、ＳＩＣ２５からのＳout信号が直列割込みチェーンの第１の周辺装置（またはブリッジ）へのＳin信号として送られるように連鎖される。チェーン内の最後の周辺装置３２は、チェーン内の最後から２番目の周辺装置３１のＳoutピンからＳin信号を受け取る。チェーン内の最後の周辺装置はＳoutピンをＳＩＣ２５のＳinピンにドライブする。
直列割込みブリッジ（ＳＩＢ）４０は、実施される際、２本のＳinピンと２本のＳoutピンとを含む。直列割込みブリッジのＳin1ピンは、ＳＩＣ２５のＳoutから信号を受け取る。コンピュータ・システムをドッキング・ステーション４５を通じてドッキングすると、直列割込みブリッジは、二次直列割込みバスの第１の周辺装置４１のＳin入力へＳout1信号を送る。二次割込みバス上の周辺装置は、一次直列割込みバス上の周辺装置と同様に連鎖される。二次直列割込みバスの最後の周辺装置４２は、そのＳout信号をＳＩＢ４０のＳin2ピンにドライブする。その場合、ＳＩＢ４０は、一次直列割込みバス上の第１の周辺装置３０のＳin入力に信号をドライブするために結合されたＳout2ピンを有する。システムにブリッジが存在するが、システムがドッキングされていないとき、ＳＩＢ４０は、Ｓin1ピン上で受け取った信号をＳout2ピンを通じて送り、ドッキングされれば二次直列割込みバスに結合されるピンを無視する。
第１図で、様々な周辺装置３０、３１、３２、４１、４２は、そのタイプに関しては識別されていない。どんな周辺構成要素でも、本発明を直列割込みバス上で実施できるように組み込むことができる。図では、各周辺装置内に組み込まれる直列割込み周辺装置（ＳＩＰ）論理機構のみが示されている。システム内の各周辺装置が、割込みの実行を必要とする際に異なるＩＲＱを指定できることが理解されよう。さらに、ある種の周辺装置は、それぞれの異なるＩＲＱ入力をシステムＰＩＣ２２へ送ることを要求するように構成できることが理解されよう。各周辺装置のＳＩＰ論理機構、ＳＩＢ４０、ＳＩＣ２５は、第２図に示した状態図に追従する状態マシン論理機構を組み込んでいる。本発明のプロトコルによれば、各周辺装置のＳＩＰ論理機構は、前のクロック・サイクルにＳinピン上で受け取った信号値をＳoutピンを通じて送る。本発明の一実施形態によれば、Ｓin信号がロー論理状態で活動状態であると仮定される。もちろん、代替実施形態ではこれを逆転することができる。
直列割込みバス上の周辺装置が割込みを実行する必要がないとき、各Ｓoutピンはハイ状態にプルされる。所与の周辺装置用の状態マシン論理機構は最初、停止状態２２０である。周辺装置３２などの周辺装置のＳＩＰ論理機構は、入力ピンＳin上に活動状態値を見る（Ｓinがローにプルされる）と、開始メッセージ状態２００へ遷移する。周辺装置は次いで、Ｓoutピンを通じて、チェーン内の次の周辺装置のＳinピンへ活動状態信号を送る。周辺装置２の場合は、活動状態Ｓin信号をＳＩＣ２５へ伝搬する。これによって、ＳＩＣ２５は、その状態マシン論理機構において開始メッセージ状態２００へ遷移する。その時点で、直列チェーン内の周辺装置２の後方の周辺装置は、状態マシンにおいて１つの前のＳＭＩ状態２０１に進んでいる。
周辺装置３２、すなわち直列割込みチェーン内の最後の周辺装置は、ＳＭＩ状態２０１のときに入力ピンＳin上で活動状態値を受け取った場合、その活動状態信号を次のクロック・サイクルの立ち上がりでＳＩＣ２５のＳinピンへ送る。ＳＩＣ２５は、その状態マシン論理機構がＳＭＩ状態２０１のときにＳinピン上で活動状態信号を受け取った場合、ＣＰＵ１０のシステム管理割込み（ＳＭＩ）入力に割込み信号を伝搬する。これによって、ＣＰＵ１０はただちにシステム管理割りを処理することができる。
上記で指摘したように、直列割込みバス上の周辺装置チェーン内の各周辺装置は、第２図に示した状態図に追従する状態マシン論理機構を含む。各周辺装置ごとの状態マシンは、停止状態２００でないときは、１クロック・サイクルにわたって状態図の各状態のままである。停止状態２２０から開始メッセージ状態２００への遷移は、周辺装置のＳinピン上で活動状態値を初めて受け取ったときに行われる。各周辺装置は、活動状態割込みをドライブしたい状態のときを除いて、前のクロック・サイクルにＳinピン上で受け取った信号をＳoutピンを通じて送り続ける。したがって、各周辺装置のＳＩＰ論理機構は、直列割込みチェーン内ですぐ前の周辺装置よりも１つだけ進んだ状態であることが理解されよう。
周辺装置は、特定のＩＲＱ信号を発信したいときには、単に、第２図の状態図の対応するＩＲＱ状態のときにＳoutピンを通じて活動状態信号を送ることによってそうする。周辺装置によるＳoutピン上の他のすべての出力は、その周辺装置のＳinピン上で受け取った値である。たとえば、第１図に示した周辺装置３０は、ＣＰＵ１０によって実行すべきＩＲＱ１２を発信する必要がある場合、状態マシンがＩＲＱ１２状態２１３であるときにＳoutピンを通じて活動状態信号を伝搬する。その時点で、周辺装置３１はＩＲＱ１１状態２１２であり、それに対して周辺装置３２はＩＲＱ１０状態２１１である。同様に、その時点で、ＳＩＣ２５はＩＲＱ９状態２１０である。ＳＩＰ論理機構３０がＳoutピンを通じて活動状態信号を伝搬してから１クロック・サイクル後に、ＳＩＰ論理機構３１が、ＩＲＱ１２状態２１３になり、Ｓinピンを通じて活動状態信号を受け取る。この場合も、周辺装置３２は、周辺装置３１よりも１つだけ遅れた状態、すなわちＩＲＱ１１状態２１２であり、それに対してＳＩＣ２５はＩＲＱ１０状態２１１である。この信号は引き続きこのように伝搬し、ＳＩＣ２５によって受け取られると、ＳＩＣ２５はＩＲＱ１２状態２１３になる。したがって、ＳＩＣ２５は、３クロック・サイクル前にＳＩＰ論理機構３０のＳoutピンを通じて出力された活動状態信号に基づいて、どのＩＲＱ信号（ＩＲＱ１２）をシステムＰＩＣ２２へ送るべきかを検出することができる。このように、コンピュータ・システム内で任意の数の可能なＩＲＱ割込みを伝搬するために直列割りバス上の各周辺装置に必要なピンは２本だけである。
前述の割込み発信原則は、ドッキング装置４５を通じてドッキングされるポータブル・コンピュータ・システムにも同様に作用する。この状況では、直列割込みブリッジ（ＳＩＢ）４０が使用される。ＳＩＢ４０は、やはり第２図の状態図によって示した同じ状態マシンに追従する状態マシン論理機構を含む。ＳＩＢ４０は、Ｓinを通じて第１の活動状態信号を受け取ると、停止状態２２０から開始メッセージ状態２００に遷移する。次いで、ブリッジが現在、二次直列割込みバスにドッキングされていると仮定すると、ブリッジは、次のクロック・サイクルで、活動状態信号をＳout1ピンを通じて二次直列割込みバス・チェーン上の第１の周辺装置、この場合はＳＩＰ論理機構４１を有する周辺装置へ伝搬する。ＳＩＢ４０は次いで、ＳＭＩ状態２０１へ遷移する。ＳＩＢ４０がＳＭＩ状態２０１のとき、第１の周辺装置は開始メッセージ状態２００へ遷移している。
開始メッセージ状態２００から、周辺装置４１は、二次直列割込みバス上の次の周辺装置のＳＩＰ論理機構４２へ開始メッセージ活動状態信号を伝搬する。前述のように、二次直列割込みバス内の最後の周辺装置は、ＳＩＢ４０の第２のＳin2入力を通じてＳout出力を送り、Ｓout出力は次いで、ＳＩＢ４０のＳout2出力ピンを通じて一次直列割込みバス上の第１の周辺装置３０の第１のＳin入力ピンへ送られる。このように、本発明の直列割込みバス・プロトコルは、複数のレベルの連鎖直列割込みバスにスケーリングすることができ、各バスには、一連の直列割込みブリッジを通じて複数の直列割込み周辺装置を結合することができる。
直列割込み周辺装置は、適当な状態の転送された割込みが、対応する状態のＳＩＣ２５によって検出され、システムＰＩＣ２２に知らせることができるように１つの論理機構チェーンを形成する。これは、システムに組み込まれている周辺装置およびブリッジの数にかかわらずにそうである。さらに、本発明のプロトコルでは、複数の周辺装置を同じＩＲＱ信号を生成するように構成することもできることが理解されよう。したがって、ある周辺装置が活動状態ＩＲＱ１３を発信したいが、チェーン内で前方にある他の周辺装置がすでにそれを行っている場合、第２の周辺装置によって実際上同じ処置がとられる。すなわち、第２の周辺装置は、ＩＲＱ１３状態２１４になったときにＳoutピンを通じて活動状態信号を送る。
第３図は、直列割込みブリッジのないシステムにおける前述のプロトコルを示すタイミング図を示す。第１の周辺装置が、第１の時間間隔で停止状態から開始メッセージ状態へ遷移し、次いで、対応するクロック・サイクル数後に直列割込みコントローラ２５に達するまで、チェーン内の残りの周辺装置が順次、遷移する。本発明の他の利点は、ＳＩＣが、周辺装置によって生成された割込みがエッジ・トリガ割込みであるか、それともレベル対応割込みであるかを知らなくても、周辺装置のＳＩＰ論理機構による割込み信号のエッジ・レベル変換が可能であることである。
本発明の特定の実施形態では、周辺装置が自動的に、ＰＣＩＣＬＫ信号のクロックに応じて動作するように設計され、活動状態ＣＬＫＲＵＮ＃信号が送られたときにＰＣＩＣＬＫが停止している場合にはその信号に応答してＰＣＩＣＬＫを再開する。したがって、本発明の直列割込みバス・プロトコルをサポートするには適当なピンが２本あればよい。図の実施形態の状態図およびＳＩＰ論理機構では、ＩＲＱ１状態とＩＲＱ３状態との間のＩＲＱ２状態が省略されていることに留意されたい。これは、従来型のＩＲＱ実施態様において、ＩＲＱ２は、前節で説明したように、２つの８入力割込みコントローラを結合する縦続接続チャネルとしてしか使用されないからである。これはもちろん変更することができ、本発明の代替実施形態にはＩＲＱ２状態を含めることができる。
状態図内の各状態は、１クロック・シーケンスを表し、ＰＣＩＣＬＫ信号に同期する。したがって、状態マシン全体が同期する。しかし、１つの状態、すなわち停止状態２２０は、非同期事象、すなわちＳinの活動状態への第１の遷移に依存する。これによって、すべての周辺装置を同じクロック・サイクルに同期させることができる。停止状態は、１）開始ビット（開始メッセージ活動状態信号）を生成することによって直列割込みバス・プロトコル・シーケンスを同期させることと、２）活動状態割込みが判定されたときに、直列割込みエージェントに、停止解除事象（ＣＬＫＲＵＮ＃）を同期的に生成させ、ＰＣＩＣＬＫを再開させる（停止されている場合）ことの２つの主要な機能を有する。
あらゆる装置は、プロトコル状態マシンを通過した後、停止状態で終了し、開始メッセージ状態に遷移する前に、Ｓin入力上で次の活動状態が示されるのを待つ。バスが直列なので、各周辺装置のＳＩＰ論理機構が、前のＳＩＰ論理機構が開始シーケンスを受け取ってから１サイクル後に開始シーケンスを受け取ることに留意されたい。したがって、開始遷移は、すべての装置で同じ瞬間に行われるわけではなく、周辺装置チェーンに沿ってさざ波状に行われる。
第４図は、ＰＣＩＣＬＫが停止されたときに直列割込み要求がどのように開始されるかを示す。この場合、周辺装置は、ＰＣＩＣＬＫ信号が停止されたことをサンプリングしたときにＣＬＫＲＵＮ＃をドライブすることによってサイクルを開始する。周辺装置は、従来型のＣＬＫＲＵＮ＃仕様に従って２つのＰＣＩＣＬＫを見るまでＣＬＫＲＵＮ＃信号をローに保持する。この仕様によれば、ＣＬＫＲＵＮ＃信号はその場合、クロックが停止するまでクロック制御論理機構によってローに保持される。Ｓinデータ・ピンが活動状態としてサンプリングされた後、開始状態に入る。すべての直列割込み周辺装置が停止状態２２０になるまでＰＣＩＣＬＫが停止されないようにするのはＳＩＣ２５の責任であることに留意されたい。ＳＩＣ２５は、単に、すべての装置が確実に停止状態になるときにＣＬＫＲＵＮ＃を４クロックにわたってハイのままにすることによって、これを行うことができる。ＳＩＣが停止状態であり、新しいメッセージを開始していないとき、すべての装置は確実に停止状態である。
本発明に１つの追加機能を加えることによって、レベル割込み要求によって偽割込み要求が生成される可能性をなくすることができる。これは、入出力装置内の割込み要求をクリアし、次いでシステムＰＩＣに割込みの終わり（ＥＯＩ）を発行することによって行うことができる。しかし、ＩＲＱが直列バス・チェーンを通じて直列化されるていので、ＩＲＱが更新される前にＥＯＩが発生した場合、偽割込みが生成される。これは、ＰＩＣが、ＥＯＩが発生したときにレベル対応ＩＲＱがまだ活動状態であることに基づいてプロセッサへの割込みを生成するために生成されるが、最終的に直列メッセージが到着しＩＲＱをアサート解除するので、後にアサート解除される。この場合、ＰＩＣは、偽割込みを示す割込みベクトルをプロセッサに返す。これは致命的なものではないが、毎秒４０００回程度発生する場合には性能に影響を及ぼすことがある。
この問題を回避するために、ＳＩＣ２５は、もはやその特定のＩＲＱを発信すべきでないことを示す更新をＳＩＰから得るまで、ＥＯＩサイクル（特定または非特定）に割り込み、割込みサービス・ルーチンにおける割込み信号のリセットを遅延させる。これには、直列チェーンを１回だけ完全に通過し、ＳＩＣが、次にその特定のＩＲＱ状態に達したときに活動状態信号を受け取らないようにする必要がある。ＥＯＩサイクルが生成されたときには、ＳＩＣはサイクルを終了し、バス・プロトコル状態マシンを追跡すべきである。これによって、要求側周辺装置が実際にＩＲＱをアサート解除したときにＰＩＣがそのＩＲＱを発信することが防止される。
第５図は、本発明を実施するために一般に適用できる汎用状態図を示す。これは、第２図の状態マシン図を一般化したものである。この状態マシン論理機構の最初の状態は、停止状態５００であり、状態マシン論理機構は、関連するＳＩＰ論理機構のＳinがアサートされないかぎりこの状態のままである。ＳＩＰ論理機構が活動状態Ｓin信号を受け取った後、ＳＩＰ論理機構状態マシンは開始メッセージ状態５０１へ遷移し、１クロック・サイクルにわたってこの状態のままになる。状態マシン論理機構は、開始メッセージ状態５０１からＩＮＴ−１割込み状態５０１へ遷移し、特定の割込みプロトコルに関連する所定の数の割込みの後にＩＮＴ−Ｎ状態５１０で終了する。状態マシン論理機構は次いで、再び停止状態５００へ遷移し、次に活動状態Ｓin信号がアサートされるまでこの状態のままになる。
したがって、周辺装置が、所与の割込みプロトコルに関連する所定の数の可能な割込みのうちの１つを発信することができる直列割込みバスを実施する機構について説明した。本発明を様々な実施形態に関して説明したが、当業者には、本発明の趣旨および範囲から逸脱せずに様々な修正および変更を加えることができることが理解されよう。したがって、本発明は、下記の請求の範囲に関して評価することができる。
【図１】
0003860209.tif 000002
【図２】
0003860209.tif 000003
【図３】
0003860209.tif 000004
【図４】
0003860209.tif 000005
【図５】
0003860209.tif 000006