(57)【特許請求の範囲】
【請求項１】
バス調停機構を備えるバス・システムであって、該バス・システムは、バスと、該バスに接続されたクライアント・モジュールおよびホスト・モジュールを有しており、
前記クライアント・モジュールおよびホスト・モジュールは複数の優先順位クラスを有しており、該ホスト・モジュールは最高の優先順位クラスに属しており、
前記クライアント・モジュールおよびホスト・モジュールは、前記バスを介して情報を他のモジュールに送ることができ、該クライアント・モジュールおよびホスト・モジュールのうちの１つのモジュールのみが、任意の所与の時に前記バスに情報を送る資格があり、前記バスに情報を送る資格があるクライアント・モジュールまたはホスト・モジュールは、サイクルを規定する最小期間の間、バスの制御を取得し、
前記クライアント・モジュールのそれぞれは、前記バスに情報を送ろうとするとき、該クライアント・モジュールの優先順位クラスにあるすべてのクライアント・モジュールおよび該クライアント・モジュールの優先順位クラスよりも低い優先順位クラスにあるすべてのクライアント・モジュールに伝達される調停信号を生成し、
前記ホスト・モジュールは、前記バスに情報を送ろうとするとき、クライアント・オプション線を制御して、トランザクションの開始を禁止する第１のクライアント・オプション信号を前記クライアント・モジュールに送り、さらに、前記バスに情報を送ろうとしないとき、前記クライアント・オプション線を制御して、許可されるトランザクションのタイプを示す第２のクライアント・オプション信号を該クライアント・モジュールに送り、
前記クライアント・モジュールのそれぞれは調停信号プロセッサを有し、該調停信号プロセッサは、前記調停信号に応答して、選択された将来のサイクル中に該クライアント・モジュールが前記バスに情報を送る資格があるかどうかを判定し、
前記調停プロセッサは、さらに、前記第１のクライアント・オプション信号を受け取ったならば、前記バスに情報を送る資格がないと判定し、該判定により、前記バスに情報を送る資格が前記ホスト・モジュールに与えられ、
前記調停プロセッサは、さらに、前記バスに情報を送る資格があると判定するとき、前記第２のクライアント・オプション信号に従って、前記バスに送るトランザクションのタイプを決定する、
バス・システム。
【請求項２】
選択されたサイクルの間に前記バスに情報が送られ、
前記選択されたサイクルの間、前記調停信号プロセッサのそれぞれは、選択された第１の将来のサイクル中にモジュールが前記バスに情報を送る資格があるかどうかを判定し、
前記選択されたサイクルの間、選択された第２の将来のサイクル中にどのモジュールが前記バスに情報を送る資格があるかを判定する調停信号が生成される、
請求項１に記載のバス・システム。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、バスに関し、詳細には、コンピュータ・システムのプロセッサとメモリと入出力モジュールの間で情報を運ぶことができる共用バス用の調停機構に関する。
【０００２】
【従来の技術】
コンピュータ・システムは一般に、プロセッサ、メモリ、入出力装置など複数の構成要素と、２つ以上の構成要素の間で情報を送るための共用バスを備える。構成要素は一般に、構成要素モジュールの形でバスに結合される。この構成要素のそれぞれは、１つ以上のプロセッサ、メモリ、および／または入出力装置を含む。情報は、バスの「サイクル」中に構成要素モジュール間をバスで送られる。各バスサイクルはモジュールがバスの制御を保持し、限られた量の情報をバス上で送り、あるいドライブすることが許される期間である。
【０００３】
共用バスは一般に、各組が、特定のタイプの情報を運ぶように専用化された、電気経路（たとえば、プリント回路ボード上のトレース）の組から成る。各組の電気経路（またはハードウェア線）は、その組のハードウェア線上で運ばれる情報を提供し、および／または使用する選択された構成要素モジュールに結合される。バスは一般に、データを運ぶための１組のハードウェア線と、データを識別するアドレスを運ぶための１組のハードウェア線と、構成要素モジュールがバスを競合なしで制御できるようにする制御信号を運ぶための他の組のハードウェア線とを備える。また、同じ組のハードウェア線を複数の目的に使用することができる。たとえば、データおよびアドレスを同じ組のハードウェア線上で順次に運ぶことができる。共用バス内の数組の専用ハードウェア線もバスと呼ぶ。たとえば、共用バスは、データ・バスと、アドレス・バスと、その他のバスとを含むことができる。
【０００４】
モジュールは、「読取り」トランザクションや「書込み」トランザクションなど、完了するのに１サイクル以上かかる「トランザクション」の形で共用バスを介して相互に通信する。典型的な読取りトランザクションでは、モジュールが、それ自体が他のモジュールから読み取る必要があるデータを識別して、識別されたデータを前記モジュール自体に送ることを要求する情報を、１サイクル以上の間にバス上で送る。次いで、応答側モジュールは、要求を処理してデータを返す。
【０００５】
多数の従来型のバス・システムでは、読取りトランザクションの開始と、要求されたデータのリターンの間に、バスを他の目的に使用することはできない。メモリの待ち時間が数バス・サイクルである場合、待ち時間の間バス上で情報が運ばれないため、多数のバス・サイクルが「むだになる」ことがある。これに対し、「分割トランザクション」バスでは、要求の直後に応答が続く必要はない。たとえば、モジュールが読取りトランザクションを開始した後、そのモジュールがバスの制御を放棄し、応答側モジュールがトランザクションを処理する間、バスを任意の他の目的に使用することができる。応答側モジュールは、要求されたデータを返す準備ができると、バスの制御を得て、要求されたデータを要求側モジュールに送る。したがって、分割トランザクション・バスは、要求が処理されている間バス・サイクルを「むだにする」必要をなくす。しかし、分割トランザクション・バスでは、読取りトランザクションごとに、読取り要求を送るためにバスの制御を得るための１回と、要求されたデータを返すためにバスの制御を得るための１回の２回だけ調停を行う必要がある。
【０００６】
書込みトランザクションは、データが既にバス速度で読み出すことができる高速メモリにあるため、より軽微な待ち時間問題を有する。典型的な「書込み」トランザクションでは、モジュールが、１サイクル以上の間にバス上で予め決められた情報を送り、次いでただちに以降のサイクル中に他のモジュールにデータを送ることによって、「書込み」を開始する。したがって、通常、書込みトランザクションではサイクルがむだにされず、書込みトランザクションを分割する必要はない。したがって、分割トランザクション・バスは一般に、２回目の調停を不要にするために、分割読取りトランザクションと共に従来型の（すなわち、分割されない）書込みトランザクションに適応する。
【０００７】
通常、所与のサイクル中に共用バス上で情報を送り、あるいはドライブすることができるのは１つのモジュールだけである。したがって、どんな共用バス・システムでも、どのモジュールが、特定のサイクル中にバス上で情報をドライブする資格があるかを決定するためのバス「調停」機構を持たなければならない。多数の従来型のバス調停機構が利用可能である。大部分の調停機構では、共用バス・システム中の各モジュールが、バスをドライブしたいことを伝達し、１つまたは複数のプロセッサ上で実施される調停アルゴリズムが、どの要求側モジュールが所与のサイクル中にバスをドライブする資格があるかを決定する。中央調停と分散調停の２つの基本高性能バス調停手法がある。
【０００８】
中央調停機構では、バスの使用を求める各モジュールが、中央アービタ回路に調停信号を送る。中央アービタ回路は、調停信号を処理して、そのモジュールが次の利用可能なサイクル中にバスを使用する資格がある（すなわち、次の所有者）と判定する。中央アービタは次いで、各モジュールがバスを使用する資格があることをそのモジュール自体に通知する調停応答信号を各モジュールに送り返す。次いで、調停に「勝利した」モジュールは、バス上で情報をドライブする。各調停時には複数の通信が必要なので、中央調停では通常、調停信号が送られる時間と調停の勝利者がバスをドライブする時間の間の待ち時間が望ましくないほど長い。
【０００９】
分散調停機構では、各モジュールがその調停信号をシステム中の他の各モジュールに送る。各モジュールは、調停アルゴリズムを実行し、このような調停信号に基づいて次のバス所有者を決定するための論理回路を備える。各モジュールは、調停信号を受け取ると、次のバス所有者を決定する。次いで、調停に勝利したモジュールはそのモジュール自体の情報をバス上でドライブする。分散調停は、各調停時に１回の通信しか必要とされないので、一般に、中央調停よりも短い待ち時間を持つ。しかし、分散調停は、各モジュール内で調停アルゴリズムを実行するための別の論理回路を必要とし、さらに各モジュールから他の各モジュールへ調停信号を伝達するための余分のハードウェア線を必要とするので、一般に、中央調停よりもコストがかかる。
【００１０】
上記の制限の他に、大部分の従来型調停機構および分散調停機構では、それらの機構における様々な非効率のためにトランザクション間でバス・サイクルがむだになることが多い。たとえば、バス所有者があるモジュールにトランザクションを送り、そのモジュールがビジー過ぎてそのトランザクションを処理できない場合、そのトランザクションは中止され、サイクルがむだになる。また、調停とバスの制御の間の待ち時間を有する調停機構では、バスをドライブすることを許可されるモジュールがない状況で調停の待ち時間中にサイクルがむだになることが多い。これらの問題のそれぞれの結果、帯域幅が減少する。
【００１１】
多数の手法を使用して、バスの性能特性が改善され、あるいは修正されている。ある種の中央調停バスおよび分散調停バスでは、たとえば、従来型のパイプライン化、すなわち、将来のサイクル中のバス所有権のための１つ以上の調停段階を、現在のバス所有者がバス上でデータをドライブするサイクル中に発生させることによって、バス上でデータが送られる周波数を増加することができる。したがって、調停だけに費やされるバス時間が短縮され、データをバスを介してより高い速度で送ることができる。これによってバスを介してデータを送る速度が向上するが、上述の分散バスのハードウェア効率問題も中央バスの待ち時間制限も解消されない。他のタイプのバスでは、調停信号が、送られるのと同じサイクル中に処理され、そのため、調停によって、次のバス・サイクルのバス所有権が決定される。この手法は、調停と調停勝利者によるバス制御の間のサイクルの数を最小限に抑えるが、各サイクル中に必要な最小時間を増加し、それによって最大バス周波数を低減する。高周波数では一般に高帯域幅が可能になるので、一般に高周波数が望ましい。
【００１２】
したがって、ハードウェア効率、待ち時間、最高周波数、および／または帯域幅の点で既存のバスに勝る改良を有する共用バス調停機構が必要である。
【００１３】
【発明が解決しようとする課題】
したがって、本発明の一つの目的は、改良されたバス調停機構を備えたバス・システムを提供することである。
【００１４】
本発明の他の目的は、ハードウェアの点で効率的なバス調停機構を備えたバス・システムを提供することである。
【００１５】
本発明の他の目的は、中央調停機構よりも短い待ち時間を有するバス調停機構を備えたバス・システムを提供することである。
【００１６】
本発明の他の目的は、高周波数および高帯域幅を可能にするバス調停機構を備えたバス・システムを提供することである。
【００１７】
本発明のこれらおよび他の目的は、以下の本発明および好ましい実施例の詳細な説明、添付の図面、および特許請求の範囲から当業者に明らかになろう。
【００１８】
【課題を解決するための手段】
おおざっぱに言えば、本発明は、パイプライン式バス調停機構を有するバス・システムである。このバス・システムは、バスと、バスに結合された複数のクライアント・モジュールとを備える。各クライアント・モジュールは、バス上で他のクライアント・モジュールに情報を送ることができ、どんな時でもバス上で情報を送る資格のあるクライアント・モジュールは１つだけである。バス上で情報を送る資格のあるモジュールは、サイクルを定義する最小期間の間バスの制御を有する。
【００１９】
どのモジュールがバスを使用する資格があるかを決定するために、各クライアント・モジュールは、バス上で情報を送りたいときに他のモジュールに送る調停信号を発生する。各クライアント・モジュールは、調停信号に応答して、そのモジュールが前記バス上で情報を送る資格があるかどうかを決定するための調停信号プロセッサを有する。
【００２０】
システムは、所与のサイクル中にバス上でどんなタイプのトランザクションが許可されるかをクライアント・モジュールに通知するホスト・モジュールも含むことが好ましい。各調停信号プロセッサは、最初のサイクル中にホスト・モジュールによって送られたクライアント・オプション信号にも応答することが好ましい。
【００２１】
クライアント・モジュールは、高優先順位モジュールと低優先順位モジュールに分割されることが好ましい。高優先順位モジュールは入出力モジュールであることが好ましく、低優先順位モジュールはプロセッサ・モジュールであることが好ましい。調停信号は、各クライアント・モジュールから、その優先順位グループ内の他のクライアント・モジュールに送られる。加えて、調停信号は各入出力モジュールから各プロセッサ・モジュールにも送られる。しかし、入出力モジュールがより高い優先順位を有するので、プロセッサ・モジュールから入出力モジュールに調停信号が送られることはない。
【００２２】
バスを使用するための優先順位は、現在のバス所有者、ホスト・モジュール、入出力モジュール、プロセッサ・モジュールの優先順位の降順の優先順位機構に従って決定することが好ましい。
【００２３】
【実施例】
本発明は、高性能共用バス用の調停機構を包含する。この調停機構は、共用バスとこのバスを使用して相互に通信する１組の構成要素モジュールとを備えるコンピュータ・システムに関係して記述される。モジュールは、バスの制御のために相互の調停も行う。
【００２４】
この調停機構は分散型である。すなわち、各構成要素モジュールは他の構成要素モジュールに調停信号を送り、各モジュールは、それが次のバス所有者であるかどうかを判定するためのプロセッサを備える。所与のサイクル中に行われる調停では通常、将来のバスの２サイクルの所有権が決定される。この調停機構はパイプライン式である。すなわち、調停プロセッサは、任意の所与のバス・サイクルｔ中に、ｔ−１で受け取られる調停信号に基づいて、ｔ＋１のバス所有者を計算する。加えて、調停プロセッサは、サイクルｔ＋２でのバス所有権を決定する調停信号も送り、かつ受け取る。サイクルｔでは、サイクルｔ−１中に決定されたバス所有者がバスをドライブする。
【００２５】
本発明の好ましい実施例での調停のために、１つのモジュールは「ホスト」モジュールとして働き、残りのモジュールは「クライアント」モジュールとみなされる。調停時に、クライアント・モジュールは、バスの制御を求めているかどうかを示す調停信号を他のクライアント・モジュールに送る。ホスト・モジュールは、次の利用可能なバス・サイクル中にどんなタイプのトランザクションを開始できるかを示す「クライアント・オプション」信号をクライアント・モジュールに送る。各モジュールは、クライアント・オプション信号および調停信号に基づいて、そのモジュール自体が次のバス所有者であるかどうかを判定する。
【００２６】
具体的には、この調停機構は、調停状態、評価状態、およびドライブ状態と呼ばれる３つの段階または「状態」を備える。これら３つの状態は、３連続バス・サイクル中に発生することが好ましい。調停状態では、ホスト・モジュールが、次の利用可能なサイクルで許可されるトランザクション・タイプを示すクライアント・オプション信号をクライアント・モジュールに送り、クライアント・モジュールが、それ自体が次の利用可能なサイクルのバスの所有権を求めているかどうかを示す調停信号を他のクライアント・モジュールに送る。評価状態では、クライアント・モジュールおよびホスト・モジュールがそれぞれ、得られる情報を評価して、そのモジュール自体が次のバス所有者であるかどうかを判定する。ドライブ状態では、調停に勝利したモジュールがバスの制御を保持し、クライアント・オプション信号に従ってバスを使用することができる。この調停機構を以下で更に詳細に説明する。
【００２７】
本発明による調停機構を使用する典型的なコンピュータのブロック図を図１に示す。コンピュータ・システムは、バス１２と、バス１２に結合された複数の構成要素とを備えるマルチプロセッサ・コンピュータである。これらの構成要素は、メイン・メモリ制御装置１４と、入出力モジュール１６および１８と、プロセッサ・モジュール２０、２２、２４、２６とを備える。各構成要素は、情報を送るための１組の複数のハードウェア線によってバス１２に個別に結合されている。以下で詳細に説明するように、メイン・メモリ制御装置１４は「ホスト」モジュールであり、残りの構成要素はバスの「クライアント」である。
【００２８】
プロセッサ・モジュール２０、２２、２４、２６は、コンピュータ・システム１０用のメイン・プロセッサであり、システム用のソフトウェアはすべてのプロセッサ上で同時に実行する。各プロセッサ・モジュールは、それを残りのプロセッサ・モジュールに結合する調停信号送信線（本明細書ではＡＲＢ線と呼ぶこともある）を制御する。プロセッサ・モジュール２０、２２、２４、２６はそれぞれ、調停信号送信線２８、３０、３２、３４を制御する。プロセッサは、バス１２を使用したいとき、そのプロセッサ用のＡＲＢ線上で、他のプロセッサ・モジュールに予め決められた信号を送る。上述のように、ＡＲＢ線は一般に、将来のバス１２の２サイクルの制御に関する調停に使用される。
【００２９】
入出力モジュール１６および１８は、コンピュータ・システム１０と入出力装置（図示せず）の間のインタフェースとして働く。入出力モジュール１６および１８はそれぞれ、入出力アダプタを備える。各入出力モジュールは、それを残りの入出力モジュールと各プロセッサ・モジュールに結合する調停信号送信線、すなわちＡＲＢ線を制御する。入出力モジュール１６および１８はそれぞれ、調停信号送信線３６および３８を制御する。入出力モジュールは、バス１２を使用したいとき、その入出力モジュール自体のＡＲＢ線上の残りのクライアント・モジュールに予め決められた信号を送る。
【００３０】
メイン・メモリ制御装置１４は、従来型の方法で、メイン・メモリ（図示せず）から情報を読み取り、メイン・メモリに情報を記憶する責任を負う。メイン・メモリ制御装置１４は、直接、あるいは従来型のバスを介して、メモリとのインタフェースをとる。上述のように、メイン・メモリ制御装置１４は、バス制御のためのホスト・モジュールとしても働くことが好ましく、かつ以下で詳細に説明するように、最高優先順位のバス・アクセスを有する。メイン・メモリ制御装置１４は、直接、各クライアント・モジュールに結合された、ＣＬＩＥＮＴ＿ＯＰ線４０を制御する。メイン・メモリ制御装置１４は、次の利用可能なサイクル中にどんなタイプのトランザクションをバス１２上に置けるかを示すための信号をＣＬＩＥＮＴ＿ＯＰ線４０上の各クライアント・モジュールに送る。ＣＬＩＥＮＴ＿ＯＰ信号は一般に、将来のバス１２の２サイクル（すなわち、調停が行われるサイクル）の状態に関係する。
【００３１】
図１に示したように、メイン・メモリ制御装置１４はどんなクライアント・モジュールからも調停信号を受け取らず、入出力モジュールはプロセッサ・モジュールから調停信号を受け取らない。以下で詳細に説明するように、ホスト（メイン・メモリ制御装置）は、どんなクライアント・モジュールよりも高い優先順位のバス・アクセスを有し、入出力モジュールは、プロセッサ・モジュールよりも高い優先順位のバス・アクセスを有する。各モジュールは、本発明による調停機構を使用して、より低い優先順位のモジュールからの調停信号を検討せずに、そのモジュール自体がバスを使用する資格があるかどうかを決定することができる。ホストは、ＣＬＩＥＮＴ＿ＯＰ線を介してホスト自体の優先順位をアサートする。
【００３２】
調停プロセスを詳細に論じる前に、バス１２を簡単に説明する。バス１２は、高性能プロセッサ・メモリ入出力相互接続バスである。バス１２は分割トランザクション・バスである。たとえば、バス１２上で読み取りトランザクションが発行された後、読み取りを発行したモジュールは、バスを放棄して、他のモジュールが他のトランザクションのためにバスを使用できるようにする。要求されたデータが得られるとき、読み取りに関する応答側モジュールはバスの調停を行い、次いでデータを送る。書き込みトランザクションは分割されず、したがってマスタはアドレス・サイクルの直後に書き込みデータを送る。
【００３３】
バス１２は、主としてデータを送ることに関係する、ＡＤＤＲ＿ＤＡＴＡバス、ＭＡＳＴＥＲ＿ＩＤバス、およびＴＲＡＮＳ＿ＩＤバスの少なくとも３本のバスを備えることが好ましい。バス１２は、その制御に関する調停に関係付けられたＬＯＮＧ＿ＴＲＡＮＳバスも含む。
【００３４】
ＡＤＤＲ＿ＤＡＴＡバスは、アドレス情報およびデータを送るために使用される。ＡＤＤＲ＿ＤＡＴＡバスがアドレス関連情報を運ぶサイクルをアドレス・サイクルと呼び、ＡＤＤＲ＿ＤＡＴＡバスがデータを運ぶサイクルをデータ・サイクルと呼ぶ。たとえば、書込みトランザクションは一般に、単一のアドレス・サイクルと、その直後に続く１サイクル以上のデータ・サイクルとを備える。バス所有者は、データの書き込を希望するアドレスを示す書込みトランザクションを開始して、後続のサイクル中にデータを送る。読取りトランザクションは一般に、読み取るためにシークされるアドレスを示すためにバス所有者によって使用される単一のアドレス・サイクルを備える。このアドレス・サイクルの後、少ししてから、要求に応答するモジュールによって要求側モジュールにデータが送られる１サイクル以上のデータ・サイクルが続く。アドレス関連情報やデータが送られない遊休サイクルも発生する。
【００３５】
ＭＡＳＴＥＲ＿ＩＤバスとＴＲＡＮＳ＿ＩＤバスは、分割トランザクションのリターン・データを最初のトランザクションに固有に関連付けられるように一緒に使用される。各分割トランザクションは、それぞれ、トランザクションを発行しているモジュールを識別し、かつそのモジュールによって送られた他のトランザクションと前記トランザクションを区別する、ＭＡＳＴＥＲ＿ＩＤバス上のＭＡＳＴＥＲ＿ＩＤ信号およびＴＲＡＮＳ＿ＩＤバス上のＴＲＡＮＳ＿ＩＤ信号によって識別される。たとえば、分割トランザクション「読取り」は、ＭＡＳＴＥＲ＿ＩＤ信号とＴＲＡＮＳ＿ＩＤ信号の固有の組合せと共に送られる。ＭＡＳＴＥＲ＿ＩＤとＴＲＡＮＳ＿ＩＤは次いで、要求されたデータのリターン時に一緒に送られ、そのため、要求されたデータが要求側モジュールによって受け取られて、適当なトランザクションと相関付けされる。この機構によって、トランザクション・リターンは、トランザクションが発行された順序以外の順序で戻ることができる。なぜなら、トランザクションの順序はトランザクションの識別にとって重大ではないからである。固有の識別を可能にするには、所与の時間におけるあるモジュールの未処理のトランザクションが、所与のトランザクションＩＤをもつ１つのトランザクションだけになるようにすることができる。しかし、トランザクションはＭＡＳＴＥＲ＿ＩＤによって区別できるので、同じトランザクションＩＤを２つ以上の別々のモジュールによって同時に使用することができる。
【００３６】
ＬＯＮＧ＿ＴＲＡＮＳは、長いトランザクションが完了するまでバス１２の制御を保持するために現在のバス所有者によって使用される。たとえば、モジュールが一連のサイクル中に多量のデータを書き込む必要が生じることがある。ＬＯＮＧ＿ＴＲＡＮＳがアサートされると、以下で詳細に説明するように、より高い優先順位のクライアントまたはホストによってデータの中央に他のトランザクションを挿入することはできなくなる。
【００３７】
次に、バス１２の調停を行うプロセスに移る。調停プロセスは、調停状態、評価状態、およびドライブ状態の３つの状態を備える。調停状態では、すべてのクライアント・モジュールがそのＡＲＢ線をドライブし、ホスト・モジュールがＣＬＩＥＮＴ＿ＯＰバスをドライブし、現在のバス所有者がＬＯＮＧ＿ＴＲＡＮＳをドライブする。評価状態では、クライアントおよびホストがそれぞれ、ＡＲＢ信号、ＣＬＩＥＮＴ＿ＯＰ信号、およびＬＯＮＧ＿ＴＲＡＮＳ信号を評価して、クライアントまたはホスト自体が次の利用可能なバス・サイクルをドライブするかどうかを決定する。ドライブ状態では、調停が事実上、完了した後、調停に勝利したモジュールがバスをドライブする。所与のバス・サイクルでのバス１２の制御に関する３つの状態は、３連続バス・サイクル中に発生することが好ましい。
【００３８】
調停は、パイプライン式であることが好ましい。所与のサイクル中に３つの動作が実行される。第１に、現在のバス所有者がバス１２をドライブする。第２に、クライアントが、前のサイクル（ｔ−１）中に送られた調停関連信号を評価して、次のサイクル（ｔ＋１）中のバス所有者を決定する。最後に、ＡＲＢ線、ＣＬＩＥＮＴ＿ＯＰバス、およびＬＯＮＧ＿ＴＲＡＮＳバス上で調停関連信号がドライブされて、将来の２サイクル（ｔ＋２）のバス所有者が決定される。
【００３９】
サイクルｔ＋２でのバス１２の所有権は、（１）現在のバス所有者、（２）メイン・メモリ制御装置１４、（３）入出力モジュール１６および１８、（４）プロセッサ・モジュール２０、２２、２４、２６の最高優先順位から最低優先順位への４段階優先順位方法に従って決定される。同じ優先順位を有する２つ以上のモジュールがバスの制御に関する調停を行うときは、任意の従来型の調停プロトコルを使用して、どのモジュールがバス所有者になるかを決定することができる。たとえば、モジュールが、バス・アクセスを得るために待ち行列で事実上、待機して、最後にバスを制御したモジュールが待ち行列の終りに移動される、従来型のラウンド・ロビン・プロトコルを使用することができる。
【００４０】
同じ優先順位を有するモジュールのうちの１つを選択するための調停プロトコルに関しては、調停に勝利したモジュールが、同じ優先順位の他のモジュールがバスの制御を得る前に、少なくとも２連続サイクルの間バスを制御する権利を得ることが好ましい。この結果、調停とバス所有権の間に２サイクルの遅延が発生し、調停に勝利したモジュールは、同じ優先順位の他のモジュールがバスの制御を許可される前に、必要に応じてＬＯＮＧ＿ＴＲＡＮＳをアサートできるようになる。ある種の実施例では、同じ優先順位のモジュールだけが調停を行うとき、それらのモジュールは自動的に、少なくとも２サイクルの間だけバスを得る。他の実施例では、あるモジュールが、単一サイクルの間だけバスを得て、次の利用可能なサイクルで同じ優先順位の他のモジュールよりも優先され、そのモジュールが第２のサイクルの調停を行う場合、そのモジュールはそのサイクルを得ることができる。
【００４１】
現在のバス所有者は、長いトランザクションを効率的に送れるように、バスを使用するための最高優先順位を有する。すなわち、したがって、バス所有者がトランザクションの途中でバスの制御を放棄し、次いでバスの制御の調停を行い、後で前記トランザクションを完了する必要はない。現在のバス所有者は、調停状態でＬＯＮＧ＿ＴＲＡＮＳをアサートした場合、調停に勝利してドライブ状態フェーズで再びバスをドライブする資格を得る。多サイクル・トランザクションを送るバス所有者は、その多サイクル・トランザクションの最後の２サイクルを除くすべてのサイクル中にＬＯＮＧ＿ＴＲＡＮＳをアサートしなければならない。最後の２サイクル中にＬＯＮＧ＿ＴＲＡＮＳをアサートすることは、調停状態とドライブ状態の間の遅延のために必要とされない。モジュールは、他のモジュールが首尾良く調停を行えるように、トランザクションの終りにＬＯＮＧ＿ＴＲＡＮＳをアサート解除しなければならない。ホストは、ＣＬＩＥＮＴ＿ＯＰバスの制御を有するので、ＬＯＮＧ＿ＴＲＡＮＳを使用してバス１２の制御を保持する必要はない。というのは、以下で詳細に説明するように、ホストは、クライアントによる新しいトランザクションを許可しないＣＬＩＥＮＴ＿ＯＰ信号を送ることができるからである。したがって、ホストは、バス１２の制御を有するとき、ＬＯＮＧ＿ＴＲＡＮＳをアサート解除する。
【００４２】
ホスト・モジュールは、バスを使用するための２番目に高い優先順位を有する。ＣＬＩＥＮＴ＿ＯＰバスは、次の利用可能なバス・サイクル中にどんなタイプのトランザクションが許可されるかをクライアント・モジュールに通知すると共に、新しいトランザクションを開始することを許可しないことによってホスト・モジュール自体のためにバスの制御を得るためにホスト・モジュールによって使用される。
【００４３】
好ましい実施例では、ＣＬＩＥＮＴ＿ＯＰバスは、表１に示した信号をサポートする。
【００４４】
0003641003.tif 000002
【００４５】
バスの制御を得ることに直接関係付けられたＣＬＩＥＮＴ＿ＯＰ信号を以下で説明する。この信号は、本発明の調停機構中で重要である。表１の他のＣＬＩＥＮＴ＿ＯＰ信号は、コンピュータ・システム１０の調停機構にとって重大なものではなく、ＣＬＩＥＮＴ＿ＯＰバスを使用して、所与のサイクル中に許可されるトランザクションを制限することができる、１つの方法を示すために例示のために含められている。これらの他のＣＬＩＥＮＴ＿ＯＰ信号も簡単に説明する。
【００４６】
ＡＮＹ＿ＴＲＡＮＳクライアント・オプション信号およびＨＯＳＴ＿ＣＯＮＴＲＯＬクライアント・オプション信号は比較的簡単である。ＡＮＹ＿ＴＲＡＮＳのＣＬＩＥＮＴ＿ＯＰは、サイクルｔ＋２中にあらゆるトランザクションが許可されることを示す。ＨＯＳＴ＿ＣＯＮＴＲＯＬのＣＬＩＥＮＴ＿ＯＰは、ホストがｔ＋２でバスの制御を求めることを示す。
【００４７】
ＯＮＥ＿ＣＹＣＬＥクライアント・オプション信号は主として、クライアントからホストへの所有権切替えに使用される。ＣＬＩＥＮＴ＿ＯＰがＯＮＥ＿ＣＹＣＬＥである場合、サイクルｔ＋２では１サイクル・トランザクションしか許可されない。典型的なケースでは、ホストは、バス１２の制御を求めるとき、連続サイクル中に、ＯＮＥ＿ＣＹＣＬＥを発行し、次いでＨＯＳＴ＿ＣＯＮＴＲＯＬを発行する。ＯＮＥ＿ＣＹＣＬＥクライアント・オプション信号は、ホストが制御を求めるサイクルの直前のサイクル中にクライアントがＬＯＮＧ＿ＴＲＡＮＳをアサートするのを妨げる。
【００４８】
ＯＮＥ＿ＣＹＣＬＥ信号は、本調停機構の調停状態とドライブ状態の間の上述の遅延のために必要である。サイクルｔでは、ホスト・モジュールには、サイクルｔ＋１中にどのクライアントがバスを制御するかも、そのクライアントがＬＯＮＧ＿ＴＲＡＮＳをアサートするかどうかも分からない。あるクライアントがサイクルｔ＋１中にＬＯＮＧ＿ＴＲＡＮＳをアサートすることを許可された場合、ホストが、それ自体とＬＯＮＧ＿ＴＲＡＮＳをアサートするクライアントとの間のサイクルｔ＋２でのバス所有権を求める要求の競合を避けるためにこの情報を丁度よいときに評価することはできなくなる。したがって、ホストは、サイクルｔ−１中にＯＮＥ＿ＣＹＣＬＥ信号を送り、それによってサイクルｔ＋１でのバス所有者がＬＯＮＧ＿ＴＲＡＮＳをアサートするのを妨げる。もちろん、ＬＯＮＧ＿ＴＲＡＮＳはサイクルｔでアサートすることができる。しかし、ＬＯＮＧ＿ＴＲＡＮＳがサイクルｔでアサートされた場合、ホストは、この情報を丁度よいときに処理して、ホスト自体がｔ＋２でバスをドライブすることはできないことを知ることができる。
【００４９】
現在のバス所有者がＬＯＮＧ＿ＴＲＡＮＳをアサートしておらず、あらゆるクライアントがバスを制御できるようにするクライアント・オプション信号をホスト・モジュールがドライブしており、かつ入出力モジュールはバスの調停を行っていないと仮定すると、プロセッサ・モジュールが調停に勝利する。勝利者は、ＣＬＩＥＮＴ＿ＯＰに基づいて任意のトランザクションまたはリターンを開始することを許可される。トランザクションが３サイクル以上のものである場合、新しい所有者は、トランザクションの継続時間中だけバスの所有権を保持するためにＬＯＮＧ＿ＴＲＡＮＳをアサートしなければならない。もちろん、勝利者は、新しいトランザクションを開始する代わりに遊休サイクルをドライブすることを許可される。これが必要になるのはたとえば、新しい所有者が長いトランザクションを送る必要があり、ＣＬＩＥＮＴ＿ＯＰがＯＮＥ＿ＣＹＣＬＥである場合である。
【００５０】
高優先順位モジュールは、低優先順位モジュールから調停信号を受け取らないことを考慮に入れて調停に勝利するために、余分のサイクルの調停を行わなければならない。高優先順位モジュールが調停を行う第１のサイクルでは、（ＬＯＮＧ＿ＴＲＡＮＳがアサートされておらず、クライアント制御が許可されていると仮定すると）依然としてプロセッサ・モジュールが調停に勝利する。このプロセッサ・モジュールは次いで、新しいトランザクションは単一サイクル・トランザクションでなければならないという追加制限を含むＣＬＩＥＮＴ＿ＯＰによって許可された新しいトランザクションを開始する。したがって、プロセッサ・モジュールに関する限り、「有効な」ＣＬＩＥＮＴ＿ＯＰはＯＮＥ＿ＣＹＣＬＥである。この遷移方法は、プロセッサ・モジュールがサイクルｔ＋１中にＬＯＮＧ＿ＴＲＡＮＳをアサートするのを妨げる。
【００５１】
高優先順位モジュールが調停を行う第２のサイクルでは、ホスト・モジュールも現在のバス所有者も次の利用可能なサイクル中にバスを制御する資格がないと仮定すると、前記高優先順位モジュールが調停に勝利する。複数の入出力モジュールが調停を行う場合、従来型の調停プロトコル（ラウンド・ロビン・プロトコルなど）を使用して、どのモジュールが勝利するかが決定される。調停に勝利した入出力モジュールは、ＣＬＩＥＮＴ＿ＯＰ符号化に基づいて許可された任意のトランザクションまたはリターンを開始することができ、プロセッサ・クライアントに関して上記で説明したようにＬＯＮＧ＿ＴＲＡＮＳをアサートすることができる。
【００５２】
上述のように、プロセッサ・モジュールしか調停を行わないときは、プロセッサ・モジュールが調停に勝利して、バス１２をドライブする。どのクライアントも調停を行わず、ホストがクライアントにバス１２を許可する場合、それにもかかわらずプロセッサ・モジュールが調停に勝利してバス１２をドライブする。この場合、通常、遊休サイクルを伴う。
【００５３】
以下の表２は、典型的な一連の１０連続バス・サイクル中の調停プロセスを示す。表２の第１の列はサイクル１ないし１０をリストしたものである。表２の残りの列は、各サイクル中に、ＣＬＩＥＮＴ＿ＯＰバス、ＬＯＮＧ＿ＴＲＡＮＳバス、プロセッサ・モジュールＡＲＢ線、および入出力モジュールＡＲＢ線上でドライブされる信号を示す。表２の最後の列は、１０サイクル中の各サイクルにおける現在のバス所有者をリストしたものである。ＬＯＮＧ＿ＴＲＡＮＳ線列およびＡＲＢ線列中の「１」はそれぞれ、ＬＯＮＧ＿ＴＲＡＮＳがアサートされており、あるいは示されたＡＲＢ線を制御するモジュールが次の利用可能なバス・サイクル中のバス所有権を求めていることを示す。
【００５４】
0003641003.tif 000003
【００５５】
表２に示したように、サイクル１では、プロセッサ・モジュール２０がバス１２を所有しており、ＬＯＮＧ＿ＴＲＡＮＳをアサートしていない。プロセッサ・モジュール２４および２６はそれぞれ、ＡＲＢ線３２および３４のそれぞれをアサートすることによって、バス１２の制御に関する調停を行う。ホストはＡＮＹ＿ＴＲＡＮＳクライアント・オプション信号を発行し、入出力モジュールはバス１２の制御に関する調停を行っていない。サイクル１中に送られる信号がサイクル２中に評価され、この信号に基づいて、プロセッサ・モジュール２４が、サイクル３、すなわち次の利用可能なバス・サイクル中のバス所有者になる。
【００５６】
サイクル２では、ホストがＯＮＥ＿ＣＹＣＬＥクライアント・オプション信号を発行することを除き、ほとんど同じ信号が送られる。したがって、プロセッサ・モジュール２４はサイクル４のバスの制御にも勝利する。
【００５７】
サイクル３ないし６では、プロセッサ・モジュール２４がＬＯＮＧ＿ＴＲＡＮＳをアサートする。したがって、プロセッサ・モジュール２４はサイクル３からサイクル８までバス１２の制御を保持する。
【００５８】
サイクル７中の調停によって、サイクル９中の所有権が決定される。プロセッサ・モジュール２４がサイクル７中にＬＯＮＧ＿ＴＲＡＮＳをアサートせず、ホストがＨＯＳＴ＿ＣＯＮＴＲＯＬをアサートするので、ホストは調停に勝利して、サイクル９中にバス１２を制御する。ホストは、サイクル８中にＨＯＳＴ＿ＣＯＮＴＲＯＬをアサートし続けることによって、サイクル１０中のバス１２の制御を保持する。
【００５９】
次に、表１に示した他の典型的なクライアント・オプション信号を簡単に説明する。いくつかのＣＬＩＥＮＴ＿ＯＰ信号は入出力モジュール１６および１８に関係付けられている。図１に示したように、入出力モジュール１６および１８はそれぞれ、モジュールがもはや入出力トランザクションを受け入れられないことを示す信号をメモリ制御装置１４に送るためのＳＴＯＰ＿ＩＯ線５８および６０を制御することが好ましい。入出力モジュール１６および１８は、メモリ・システムの有効な制御を得るための信号をメモリ制御装置１４に送り、かつ相互に送り合うためのＳＴＯＰ＿ＭＯＳＴ線６２および６４を制御することが好ましい。
【００６０】
ＳＴＯＰ＿ＩＯ線は、入出力モジュールがいつ、新しい入出力トランザクションに応答できなくなるかをホストに通知するために、各入出力モジュールによって使用される。ＳＴＯＰ＿ＩＯ線を使用して、入出力モジュールはホストに通知し、ホストは続いて、新しい入出力トランザクションを許可しないＣＬＩＥＮＴ＿ＯＰだけを発行する。
【００６１】
したがって、入出力モジュールは、ビジー状況である場合、モジュール自体のＳＴＯＰ＿ＩＯ線をアサートする。次いで、ホストはＮＯ＿ＩＯ信号をアサートする。ＣＬＩＥＮＴ＿ＯＰがＮＯ＿ＩＯである場合、入出力トランザクションを除くすべてのトランザクションが許可される。
【００６２】
ＲＥＴ＿ＯＮＬＹクライアント・オプション信号は、以前に保持された専用ダーティ・キャッシュ線のリターン（書直し）、または以前のトランザクションに対する応答しか許可されないことを示す。たとえば、プロセッサ２４が、プロセッサ２０のキャッシュで専用ダーティであるキャッシュ線のコヒーレント読取りを発行した場合、プロセッサ２０は、そのキャッシュ線をキャッシュ間コピーで供給することができる。そのキャッシュ間コピー・トランザクションは、ＲＥＴ＿ＯＮＬＹクライアント・オプション信号の影響下で開始することができる。なぜなら、キャッシュ間コピーはコヒーレント読取りに対する応答だからである。同様に、データ・リターンは入出力読取りトランザクションに対する応答なので、入出力モジュール１６は、ＲＥＴ＿ＯＮＬＹクライアント・オプション信号の影響下で、最初の入出力読取りトランザクションから得たデータを返すことができる。
【００６３】
ＳＴＯＰ＿ＭＯＳＴ線は、メモリ・システムの有効な制御を得るために使用される。これは、たとえば、他のモジュールが、関連するメモリ・アドレスからデータを読み取ることも、前記メモリ・アドレスにデータを書き込むこともなしに、あるモジュールによっていくつかのメモリ動作を実行しなければならないときに有用である。入出力モジュールがＳＴＯＰ＿ＭＯＳＴをアサートすると、その入出力モジュールは「アトミック所有者」になり、アトミック所有者だけが、新しいトランザクションを発行することを許可される。他のモジュールは、リターン・タイプ・トランザクションまたは応答タイプ・トランザクションだけを発行することが許可される。複数の入出力モジュールが同時にＳＴＯＰ＿ＭＯＳＴをアサートした場合、任意の従来型の調停アルゴリズムを使用して、どの入出力モジュールがアトミック所有者になるかを決定することができる。当業者には、ＳＴＯＰ＿ＭＯＳＴ線およびＳＴＯＰ＿ＭＯＳＴ信号が本発明に必要なものでないことが理解されよう。
【００６４】
フロー制御では通常ＡＮＹ＿ＴＲＡＮＳが許可されると仮定すると、ＡＴＯＭＩＣ  ＣＬＩＥＮＴ＿ＯＰはＳＴＯＰ＿ＭＯＳＴをアサートするクライアントに直接応答して生成される。  ＡＴＯＭＩＣ  ＣＬＩＥＮＴ＿ＯＰによって、ＳＴＯＰ＿ＭＯＳＴをアサートするクライアントは、いくつかの連続トランザクションをバス１２上で実行することができる。他のすべてのクライアントは、ＡＴＯＭＩＣがアサートされる何らかのサイクル中にバスを得た場合、最初に送られたトランザクション、または以前に保持された専用ダーティ・キャッシュ線の書直しに応答することしか許可されない。ホストは通常、ＲＥＴ＿ＯＮＬＹクライアント・オプション信号を使用してすべてのクライアントを応答タイプ・トランザクションに制限することもできる。したがって、アトミック所有者があるとき、そのアトミック所有者の有効クライアント・オプション信号はＡＮＹ＿ＴＲＡＮＳであり、他のすべてのクライアントの有効クライアント・オプション信号がＲＥＴ＿ＯＮＬＹである。
【００６５】
ＮＯＮＥ＿ＡＬＬＯＷＥＤクライアント・オプション信号は、サイクルｔ＋２ではトランザクションが許可されないことを示すために使用される。ＮＯＮＥ＿ＡＬＬＯＷＥＤは、ＯＮＥ＿ＣＹＣＬＥクライアント・オプション信号の使用と同様に、ＲＥＴ＿ＯＮＬＹの後の所有権切替えに使用することができる。典型的なケースは、ホストが、バス１２の制御を得るために、連続サイクル上で、ＲＥＴ＿ＯＮＬＹ、ＮＯＮＥ＿ＡＬＬＯＷＥＤ、次いでＨＯＳＴ＿ＣＯＮＴＲＯＬを発行する場合である。
【００６６】
上述の調停機構に必要なことではないが、あらゆるまたはすべてのモジュール（プロセッサ・モジュールと入出力モジュールの両方）は従来型のキャッシュ・メモリを有することができる。当技術分野で周知のように、コンピュータ・システムは、頻繁に使用されるデータを記憶するためのキャッシュ・メモリと、すべてのプロセッサによって使用される共用メイン・メモリとを有する複数のプロセッサ・モジュールを有することができる。キャッシュ・メモリは通常、頻繁に使用されるデータと、メイン・メモリでデータ項目が記憶されるアドレスを共に記憶する。プロセッサは、メモリ中のアドレスのデータをシークするとき、そのデータ用のアドレスを使用してプロセッサ自体のキャッシュ・メモリにそのデータを要求する。プロセッサのキャッシュ・メモリは、それ自体がそのアドレスを保持しているかどうかを調べるための検査を行い、そうである場合、データが直接、プロセッサに返される。キャッシュ・メモリが所望の情報を含んでいない場合、正規のメモリ・アクセスが行われる。キャッシュ・メモリは通常、メイン・メモリ（一般にＲＡＭ）アクセスがマイクロプロセッサ速度と比較して低速であるときに有用である。
【００６７】
一般に、プロセッサ上で実行するソフトウェアは、特定のアドレスに記憶されているデータに最新の値を使用する必要がある。各プロセッサがキャッシュ・メモリを有する、コンピュータ・システム１０など共用メモリ・マルチプロセッサ・コンピュータでは、１つまたは複数のキャッシュ・メモリまたはメイン・メモリに最新のデータを記憶することができる。したがって、あるプロセッサが、他のプロセッサによって使用された可能性があるデータをシークするときは必ず、「コヒーレンシ機構」を実施して、そのプロセッサが得られるデータが現行のものであることを確認する必要がある。典型的なコヒーレンシ機構では、各モジュールは、そのキャッシュ・メモリのコヒーレンシ検査を実行して、キャッシュ・メモリが、要求されたアドレスに関連するデータを有しているかどうかを判定し、コヒーレンシ検査の結果を報告する。各モジュールによって実行されたコヒーレンシ検査の結果は分析され、データを要求したモジュールによって最新のデータが使用される。
【００６８】
コンピュータ・システム１０の場合、キャッシュ・メモリを有する各モジュールは、メモリ制御装置１４が、１つまたは複数のキャッシュ・メモリに記憶できるデータの読取りまたは書込みを含むトランザクションの調和をはかれるようにする信号を直接、メモリ制御装置１４に送信するための少なくとも１本のコヒーレント・トランザクション信号送信線（すなわち、ＣＯＨ線）を制御する。そのようなトランザクションをコヒーレント・トランザクションと呼ぶ。コヒーレント・トランザクションは、マルチプロセッサ・コンピュータにとって慣習的な任意の方法で調和をはかることができる。プロセッサ・モジュール２０、２２、２４、２６はそれぞれ、ＣＯＨ線４２、４４、４６、４８を制御する。入出力モジュール１６および１８は、ＣＯＨ線５０および５４を制御する。
【００６９】
図１に示した好ましい実施例では、入出力モジュール１６および１８はそれぞれ、別々のキャッシュ・メモリを備えた２つの別々の入出力アダプタを備える。したがって、入出力モジュール１６および１８は、ＣＯＨ線５０および５４を制御するだけでなく、各入出力アダプタが別々のＣＯＨ線を制御するように、ＣＯＨ線５２および５６も制御する。
【００７０】
ＣＬＩＥＮＴ＿ＯＰバスを使用して、特定のトランザクションに関するコヒーレンシ状況を、データを要求しているモジュールに送り返すことができる。ホストは、ＳＨＡＲ＿ＲＴＮクライアント・オプション信号を使用して、従来型の共用コヒーレンシ状況を含む任意のデータ・リターンのための調停を行う。その他の場合、クライアント・モジュールは、読取りリターンが従来型の専用状況を有すると仮定することが好ましい。
【００７１】
当業者には、メモリ制御装置１４が便利のためだけにホストとして働いており、かつホスト機能とメモリ制御機能を２つ以上のモジュールとして分離できることが理解されよう。
【００７２】
「バス」および「線」の用語は共に、この詳細な説明では、上記で詳細に説明したさまざまな組の１つまたは複数の電気経路を示すために使用した。当業者には、「バス」および「線」の用語が相互に排他的なものでも、その他の点でそれら自体を制限するものでもないことを理解されよう。たとえば、「ＬＯＮＧ＿ＴＲＡＮＳバス」の用語を使用したが、ＬＯＮＧ＿ＴＲＡＮＳバスが従来型の共用線、すなわち、複数のモジュールによって信号を送ることのできる単一の電気経路から成ることは明らかである。同様に、「ＣＬＩＥＮＴ＿ＯＰバス」および「ＣＬＩＥＮＴ＿ＯＰ線」の用語は、上記で詳細に説明したように、ホストだけによってドライブされる１組のハードウェア線を示すために使用した。
【００７３】
当業者には、前記の説明および添付の図面から、本発明の様々な修正が明らかになろう。したがって、本発明は、特許請求の範囲によってのみ制限されるものである。
【００７４】
以上、本発明の実施例について詳述したが、以下、本発明を各実施態様毎に列挙する。
（１）．  バス調停機構を備えるバス・システムにおいて、
バスと、
前記バスに結合された複数のモジュールと
を有し、
前記各モジュールは、
前記バス上で他の前記モジュールに情報を送ることができ、
所与の期間に前記バス上で情報を送る資格が与えられるのが前記モジュールの１つだけであり、
前記各モジュールが、前記バス上で情報を送ることを試みるとき、前記モジュールと等しい優先順位クラスを持つすべてのモジュールと、より低い優先順位クラスのすべてのモジュールとに伝達される調停信号を生成し、
任意の所与の期間に前記バス上で情報を送る資格のあるモジュールが、サイクルを形成する最小期間中だけ前記バスの制御を保持し、
ここで前記各モジュールは、少なくとも１つの前記調停信号に応答して選択された将来のサイクル中に前記モジュールが前記バス上で情報を送る資格があるかどうかを決定するための調停信号プロセッサを有する、
ことを特徴とするバス・システム。
（２）．  前記優先順位クラスの１つが、ホスト・モジュールから成り、前記ホスト・モジュールが、最高優先順位を有し、前記ホスト・モジュールが、クライアント・オプション信号を各前記モジュールに送るためのクライアント・オプション線を制御し、前記調停信号プロセッサがさらに、前記クライアント・オプション信号に応答して、次の利用可能なバス・サイクルで前記バス上に置くことができるトランザクションのタイプを決定することを特徴とする（１）に記載のバス・システム。
（３）．  各前記モジュールが、その優先順位クラス中の他の各前記モジュールと、前記優先順位クラスよりも低い優先順位を有する優先順位クラス中の他の各前記モジュールだけに調停信号を送ることを特徴とする（１）に記載のバス・システム。
（４）．  前記バス上で情報を送る資格のあるモジュールが、長トランザクション信号を各前記モジュールに送るための長トランザクション線を制御し、前記調停信号プロセッサがさらに、前記長トランザクション信号に応答することを特徴とする（１）に記載のバス・システム。
（５）．  選択されたサイクル中に前記バス上で情報が送られ、前記選択されたサイクル中に、あるモジュールが、選択された第１の将来のサイクル中に前記バス上で情報を送る資格があるかどうかを各調停信号プロセッサが判定し、前記選択されたサイクル中に、どのモジュールが、選択された第２の将来のサイクル中に前記バス上で情報を送る資格があるかを判定する調停信号が生成されることを特徴とする（１）に記載のバス・システム。
（６）．  選択されたサイクル中に前記バス上で情報が送られ、前記選択されたサイクル中に、あるモジュールが、選択された第１の将来のサイクル中に前記バス上で情報を送る資格があるかどうかを各調停信号プロセッサが判定し、前記選択されたサイクル中に、どのモジュールが、選択された第２の将来のサイクル中に前記バス上で情報を送る資格があるかを判定する調停信号が生成されることを特徴とする（２）に記載のバス・システム。
【００７５】
【発明の効果】
以上のように、本発明を用いると、ハードウェアの点で調停信号プロセッサを備えているため、効率的な調停機構を備えたバス・システムを提供することできる。分散調停機構を取り入れているので、中央調停機構よりも短い待ち時間を有する調停機構を備えたバス・システムを提供することができる。パイプライン化した調停機構を備えるので、高周波数および高帯域幅を可能にする調停機構を備えたバス・システムをバス・システムを提供することができる。
【図面の簡単な説明】
【図１】本発明による調停機構を使用するコンピュータ・システムの一実施例を示すブロック図である。
【符号の説明】
１２：バス
１４：メイン・メモリ制御装置
１６、１８：入出力モジュール
２０、２２、２４、２６：プロセッサ・モジュール
２８、３０、３２、３４：調停信号送信線
３６、３８：調停信号送信線
４０：ＣＬＩＥＮＴ＿ＯＰ線
４２、４４、４６、４８、５０、５２、５４、５６：ＣＯＨ線
５８、６０：ＳＴＯＰ＿ＩＯ線
６２、６４：ＳＴＯＰ＿ＭＯＳＴ線
【図１】
0003641003.tif 000004