JP3641003B2 - 調停機構付きバス・システム - Google Patents

調停機構付きバス・システム Download PDF

Info

Publication number
JP3641003B2
JP3641003B2 JP05976895A JP5976895A JP3641003B2 JP 3641003 B2 JP3641003 B2 JP 3641003B2 JP 05976895 A JP05976895 A JP 05976895A JP 5976895 A JP5976895 A JP 5976895A JP 3641003 B2 JP3641003 B2 JP 3641003B2
Authority
JP
Japan
Prior art keywords
bus
module
client
arbitration
cycle
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP05976895A
Other languages
English (en)
Other versions
JPH07248998A (ja
Inventor
マイケル・エル・ジーグラー
ロバート・ジェイ・ブックス
ウイリアム・アール・ブライグ
ケニース・ケイ・チャン
トーマス・アール・ホッチキス
ロバート・イー・ナス
ロバート・ディー・オディニール
ブレンダン・エイ・ヴォーグ
ジェイムス・ビー・ウィリアムス
ジョン・エル・ウッド
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
HP Inc
Original Assignee
Hewlett Packard Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of JPH07248998A publication Critical patent/JPH07248998A/ja
Application granted granted Critical
Publication of JP3641003B2 publication Critical patent/JP3641003B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/368Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)

Description

【0001】
【産業上の利用分野】
本発明は、バスに関し、詳細には、コンピュータ・システムのプロセッサとメモリと入出力モジュールの間で情報を運ぶことができる共用バス用の調停機構に関する。
【0002】
【従来の技術】
コンピュータ・システムは一般に、プロセッサ、メモリ、入出力装置など複数の構成要素と、2つ以上の構成要素の間で情報を送るための共用バスを備える。構成要素は一般に、構成要素モジュールの形でバスに結合される。この構成要素のそれぞれは、1つ以上のプロセッサ、メモリ、および/または入出力装置を含む。情報は、バスの「サイクル」中に構成要素モジュール間をバスで送られる。各バスサイクルはモジュールがバスの制御を保持し、限られた量の情報をバス上で送り、あるいドライブすることが許される期間である。
【0003】
共用バスは一般に、各組が、特定のタイプの情報を運ぶように専用化された、電気経路(たとえば、プリント回路ボード上のトレース)の組から成る。各組の電気経路(またはハードウェア線)は、その組のハードウェア線上で運ばれる情報を提供し、および/または使用する選択された構成要素モジュールに結合される。バスは一般に、データを運ぶための1組のハードウェア線と、データを識別するアドレスを運ぶための1組のハードウェア線と、構成要素モジュールがバスを競合なしで制御できるようにする制御信号を運ぶための他の組のハードウェア線とを備える。また、同じ組のハードウェア線を複数の目的に使用することができる。たとえば、データおよびアドレスを同じ組のハードウェア線上で順次に運ぶことができる。共用バス内の数組の専用ハードウェア線もバスと呼ぶ。たとえば、共用バスは、データ・バスと、アドレス・バスと、その他のバスとを含むことができる。
【0004】
モジュールは、「読取り」トランザクションや「書込み」トランザクションなど、完了するのに1サイクル以上かかる「トランザクション」の形で共用バスを介して相互に通信する。典型的な読取りトランザクションでは、モジュールが、それ自体が他のモジュールから読み取る必要があるデータを識別して、識別されたデータを前記モジュール自体に送ることを要求する情報を、1サイクル以上の間にバス上で送る。次いで、応答側モジュールは、要求を処理してデータを返す。
【0005】
多数の従来型のバス・システムでは、読取りトランザクションの開始と、要求されたデータのリターンの間に、バスを他の目的に使用することはできない。メモリの待ち時間が数バス・サイクルである場合、待ち時間の間バス上で情報が運ばれないため、多数のバス・サイクルが「むだになる」ことがある。これに対し、「分割トランザクション」バスでは、要求の直後に応答が続く必要はない。たとえば、モジュールが読取りトランザクションを開始した後、そのモジュールがバスの制御を放棄し、応答側モジュールがトランザクションを処理する間、バスを任意の他の目的に使用することができる。応答側モジュールは、要求されたデータを返す準備ができると、バスの制御を得て、要求されたデータを要求側モジュールに送る。したがって、分割トランザクション・バスは、要求が処理されている間バス・サイクルを「むだにする」必要をなくす。しかし、分割トランザクション・バスでは、読取りトランザクションごとに、読取り要求を送るためにバスの制御を得るための1回と、要求されたデータを返すためにバスの制御を得るための1回の2回だけ調停を行う必要がある。
【0006】
書込みトランザクションは、データが既にバス速度で読み出すことができる高速メモリにあるため、より軽微な待ち時間問題を有する。典型的な「書込み」トランザクションでは、モジュールが、1サイクル以上の間にバス上で予め決められた情報を送り、次いでただちに以降のサイクル中に他のモジュールにデータを送ることによって、「書込み」を開始する。したがって、通常、書込みトランザクションではサイクルがむだにされず、書込みトランザクションを分割する必要はない。したがって、分割トランザクション・バスは一般に、2回目の調停を不要にするために、分割読取りトランザクションと共に従来型の(すなわち、分割されない)書込みトランザクションに適応する。
【0007】
通常、所与のサイクル中に共用バス上で情報を送り、あるいはドライブすることができるのは1つのモジュールだけである。したがって、どんな共用バス・システムでも、どのモジュールが、特定のサイクル中にバス上で情報をドライブする資格があるかを決定するためのバス「調停」機構を持たなければならない。多数の従来型のバス調停機構が利用可能である。大部分の調停機構では、共用バス・システム中の各モジュールが、バスをドライブしたいことを伝達し、1つまたは複数のプロセッサ上で実施される調停アルゴリズムが、どの要求側モジュールが所与のサイクル中にバスをドライブする資格があるかを決定する。中央調停と分散調停の2つの基本高性能バス調停手法がある。
【0008】
中央調停機構では、バスの使用を求める各モジュールが、中央アービタ回路に調停信号を送る。中央アービタ回路は、調停信号を処理して、そのモジュールが次の利用可能なサイクル中にバスを使用する資格がある(すなわち、次の所有者)と判定する。中央アービタは次いで、各モジュールがバスを使用する資格があることをそのモジュール自体に通知する調停応答信号を各モジュールに送り返す。次いで、調停に「勝利した」モジュールは、バス上で情報をドライブする。各調停時には複数の通信が必要なので、中央調停では通常、調停信号が送られる時間と調停の勝利者がバスをドライブする時間の間の待ち時間が望ましくないほど長い。
【0009】
分散調停機構では、各モジュールがその調停信号をシステム中の他の各モジュールに送る。各モジュールは、調停アルゴリズムを実行し、このような調停信号に基づいて次のバス所有者を決定するための論理回路を備える。各モジュールは、調停信号を受け取ると、次のバス所有者を決定する。次いで、調停に勝利したモジュールはそのモジュール自体の情報をバス上でドライブする。分散調停は、各調停時に1回の通信しか必要とされないので、一般に、中央調停よりも短い待ち時間を持つ。しかし、分散調停は、各モジュール内で調停アルゴリズムを実行するための別の論理回路を必要とし、さらに各モジュールから他の各モジュールへ調停信号を伝達するための余分のハードウェア線を必要とするので、一般に、中央調停よりもコストがかかる。
【0010】
上記の制限の他に、大部分の従来型調停機構および分散調停機構では、それらの機構における様々な非効率のためにトランザクション間でバス・サイクルがむだになることが多い。たとえば、バス所有者があるモジュールにトランザクションを送り、そのモジュールがビジー過ぎてそのトランザクションを処理できない場合、そのトランザクションは中止され、サイクルがむだになる。また、調停とバスの制御の間の待ち時間を有する調停機構では、バスをドライブすることを許可されるモジュールがない状況で調停の待ち時間中にサイクルがむだになることが多い。これらの問題のそれぞれの結果、帯域幅が減少する。
【0011】
多数の手法を使用して、バスの性能特性が改善され、あるいは修正されている。ある種の中央調停バスおよび分散調停バスでは、たとえば、従来型のパイプライン化、すなわち、将来のサイクル中のバス所有権のための1つ以上の調停段階を、現在のバス所有者がバス上でデータをドライブするサイクル中に発生させることによって、バス上でデータが送られる周波数を増加することができる。したがって、調停だけに費やされるバス時間が短縮され、データをバスを介してより高い速度で送ることができる。これによってバスを介してデータを送る速度が向上するが、上述の分散バスのハードウェア効率問題も中央バスの待ち時間制限も解消されない。他のタイプのバスでは、調停信号が、送られるのと同じサイクル中に処理され、そのため、調停によって、次のバス・サイクルのバス所有権が決定される。この手法は、調停と調停勝利者によるバス制御の間のサイクルの数を最小限に抑えるが、各サイクル中に必要な最小時間を増加し、それによって最大バス周波数を低減する。高周波数では一般に高帯域幅が可能になるので、一般に高周波数が望ましい。
【0012】
したがって、ハードウェア効率、待ち時間、最高周波数、および/または帯域幅の点で既存のバスに勝る改良を有する共用バス調停機構が必要である。
【0013】
【発明が解決しようとする課題】
したがって、本発明の一つの目的は、改良されたバス調停機構を備えたバス・システムを提供することである。
【0014】
本発明の他の目的は、ハードウェアの点で効率的なバス調停機構を備えたバス・システムを提供することである。
【0015】
本発明の他の目的は、中央調停機構よりも短い待ち時間を有するバス調停機構を備えたバス・システムを提供することである。
【0016】
本発明の他の目的は、高周波数および高帯域幅を可能にするバス調停機構を備えたバス・システムを提供することである。
【0017】
本発明のこれらおよび他の目的は、以下の本発明および好ましい実施例の詳細な説明、添付の図面、および特許請求の範囲から当業者に明らかになろう。
【0018】
【課題を解決するための手段】
おおざっぱに言えば、本発明は、パイプライン式バス調停機構を有するバス・システムである。このバス・システムは、バスと、バスに結合された複数のクライアント・モジュールとを備える。各クライアント・モジュールは、バス上で他のクライアント・モジュールに情報を送ることができ、どんな時でもバス上で情報を送る資格のあるクライアント・モジュールは1つだけである。バス上で情報を送る資格のあるモジュールは、サイクルを定義する最小期間の間バスの制御を有する。
【0019】
どのモジュールがバスを使用する資格があるかを決定するために、各クライアント・モジュールは、バス上で情報を送りたいときに他のモジュールに送る調停信号を発生する。各クライアント・モジュールは、調停信号に応答して、そのモジュールが前記バス上で情報を送る資格があるかどうかを決定するための調停信号プロセッサを有する。
【0020】
システムは、所与のサイクル中にバス上でどんなタイプのトランザクションが許可されるかをクライアント・モジュールに通知するホスト・モジュールも含むことが好ましい。各調停信号プロセッサは、最初のサイクル中にホスト・モジュールによって送られたクライアント・オプション信号にも応答することが好ましい。
【0021】
クライアント・モジュールは、高優先順位モジュールと低優先順位モジュールに分割されることが好ましい。高優先順位モジュールは入出力モジュールであることが好ましく、低優先順位モジュールはプロセッサ・モジュールであることが好ましい。調停信号は、各クライアント・モジュールから、その優先順位グループ内の他のクライアント・モジュールに送られる。加えて、調停信号は各入出力モジュールから各プロセッサ・モジュールにも送られる。しかし、入出力モジュールがより高い優先順位を有するので、プロセッサ・モジュールから入出力モジュールに調停信号が送られることはない。
【0022】
バスを使用するための優先順位は、現在のバス所有者、ホスト・モジュール、入出力モジュール、プロセッサ・モジュールの優先順位の降順の優先順位機構に従って決定することが好ましい。
【0023】
【実施例】
本発明は、高性能共用バス用の調停機構を包含する。この調停機構は、共用バスとこのバスを使用して相互に通信する1組の構成要素モジュールとを備えるコンピュータ・システムに関係して記述される。モジュールは、バスの制御のために相互の調停も行う。
【0024】
この調停機構は分散型である。すなわち、各構成要素モジュールは他の構成要素モジュールに調停信号を送り、各モジュールは、それが次のバス所有者であるかどうかを判定するためのプロセッサを備える。所与のサイクル中に行われる調停では通常、将来のバスの2サイクルの所有権が決定される。この調停機構はパイプライン式である。すなわち、調停プロセッサは、任意の所与のバス・サイクルt中に、t−1で受け取られる調停信号に基づいて、t+1のバス所有者を計算する。加えて、調停プロセッサは、サイクルt+2でのバス所有権を決定する調停信号も送り、かつ受け取る。サイクルtでは、サイクルt−1中に決定されたバス所有者がバスをドライブする。
【0025】
本発明の好ましい実施例での調停のために、1つのモジュールは「ホスト」モジュールとして働き、残りのモジュールは「クライアント」モジュールとみなされる。調停時に、クライアント・モジュールは、バスの制御を求めているかどうかを示す調停信号を他のクライアント・モジュールに送る。ホスト・モジュールは、次の利用可能なバス・サイクル中にどんなタイプのトランザクションを開始できるかを示す「クライアント・オプション」信号をクライアント・モジュールに送る。各モジュールは、クライアント・オプション信号および調停信号に基づいて、そのモジュール自体が次のバス所有者であるかどうかを判定する。
【0026】
具体的には、この調停機構は、調停状態、評価状態、およびドライブ状態と呼ばれる3つの段階または「状態」を備える。これら3つの状態は、3連続バス・サイクル中に発生することが好ましい。調停状態では、ホスト・モジュールが、次の利用可能なサイクルで許可されるトランザクション・タイプを示すクライアント・オプション信号をクライアント・モジュールに送り、クライアント・モジュールが、それ自体が次の利用可能なサイクルのバスの所有権を求めているかどうかを示す調停信号を他のクライアント・モジュールに送る。評価状態では、クライアント・モジュールおよびホスト・モジュールがそれぞれ、得られる情報を評価して、そのモジュール自体が次のバス所有者であるかどうかを判定する。ドライブ状態では、調停に勝利したモジュールがバスの制御を保持し、クライアント・オプション信号に従ってバスを使用することができる。この調停機構を以下で更に詳細に説明する。
【0027】
本発明による調停機構を使用する典型的なコンピュータのブロック図を図1に示す。コンピュータ・システムは、バス12と、バス12に結合された複数の構成要素とを備えるマルチプロセッサ・コンピュータである。これらの構成要素は、メイン・メモリ制御装置14と、入出力モジュール16および18と、プロセッサ・モジュール20、22、24、26とを備える。各構成要素は、情報を送るための1組の複数のハードウェア線によってバス12に個別に結合されている。以下で詳細に説明するように、メイン・メモリ制御装置14は「ホスト」モジュールであり、残りの構成要素はバスの「クライアント」である。
【0028】
プロセッサ・モジュール20、22、24、26は、コンピュータ・システム10用のメイン・プロセッサであり、システム用のソフトウェアはすべてのプロセッサ上で同時に実行する。各プロセッサ・モジュールは、それを残りのプロセッサ・モジュールに結合する調停信号送信線(本明細書ではARB線と呼ぶこともある)を制御する。プロセッサ・モジュール20、22、24、26はそれぞれ、調停信号送信線28、30、32、34を制御する。プロセッサは、バス12を使用したいとき、そのプロセッサ用のARB線上で、他のプロセッサ・モジュールに予め決められた信号を送る。上述のように、ARB線は一般に、将来のバス12の2サイクルの制御に関する調停に使用される。
【0029】
入出力モジュール16および18は、コンピュータ・システム10と入出力装置(図示せず)の間のインタフェースとして働く。入出力モジュール16および18はそれぞれ、入出力アダプタを備える。各入出力モジュールは、それを残りの入出力モジュールと各プロセッサ・モジュールに結合する調停信号送信線、すなわちARB線を制御する。入出力モジュール16および18はそれぞれ、調停信号送信線36および38を制御する。入出力モジュールは、バス12を使用したいとき、その入出力モジュール自体のARB線上の残りのクライアント・モジュールに予め決められた信号を送る。
【0030】
メイン・メモリ制御装置14は、従来型の方法で、メイン・メモリ(図示せず)から情報を読み取り、メイン・メモリに情報を記憶する責任を負う。メイン・メモリ制御装置14は、直接、あるいは従来型のバスを介して、メモリとのインタフェースをとる。上述のように、メイン・メモリ制御装置14は、バス制御のためのホスト・モジュールとしても働くことが好ましく、かつ以下で詳細に説明するように、最高優先順位のバス・アクセスを有する。メイン・メモリ制御装置14は、直接、各クライアント・モジュールに結合された、CLIENT_OP線40を制御する。メイン・メモリ制御装置14は、次の利用可能なサイクル中にどんなタイプのトランザクションをバス12上に置けるかを示すための信号をCLIENT_OP線40上の各クライアント・モジュールに送る。CLIENT_OP信号は一般に、将来のバス12の2サイクル(すなわち、調停が行われるサイクル)の状態に関係する。
【0031】
図1に示したように、メイン・メモリ制御装置14はどんなクライアント・モジュールからも調停信号を受け取らず、入出力モジュールはプロセッサ・モジュールから調停信号を受け取らない。以下で詳細に説明するように、ホスト(メイン・メモリ制御装置)は、どんなクライアント・モジュールよりも高い優先順位のバス・アクセスを有し、入出力モジュールは、プロセッサ・モジュールよりも高い優先順位のバス・アクセスを有する。各モジュールは、本発明による調停機構を使用して、より低い優先順位のモジュールからの調停信号を検討せずに、そのモジュール自体がバスを使用する資格があるかどうかを決定することができる。ホストは、CLIENT_OP線を介してホスト自体の優先順位をアサートする。
【0032】
調停プロセスを詳細に論じる前に、バス12を簡単に説明する。バス12は、高性能プロセッサ・メモリ入出力相互接続バスである。バス12は分割トランザクション・バスである。たとえば、バス12上で読み取りトランザクションが発行された後、読み取りを発行したモジュールは、バスを放棄して、他のモジュールが他のトランザクションのためにバスを使用できるようにする。要求されたデータが得られるとき、読み取りに関する応答側モジュールはバスの調停を行い、次いでデータを送る。書き込みトランザクションは分割されず、したがってマスタはアドレス・サイクルの直後に書き込みデータを送る。
【0033】
バス12は、主としてデータを送ることに関係する、ADDR_DATAバス、MASTER_IDバス、およびTRANS_IDバスの少なくとも3本のバスを備えることが好ましい。バス12は、その制御に関する調停に関係付けられたLONG_TRANSバスも含む。
【0034】
ADDR_DATAバスは、アドレス情報およびデータを送るために使用される。ADDR_DATAバスがアドレス関連情報を運ぶサイクルをアドレス・サイクルと呼び、ADDR_DATAバスがデータを運ぶサイクルをデータ・サイクルと呼ぶ。たとえば、書込みトランザクションは一般に、単一のアドレス・サイクルと、その直後に続く1サイクル以上のデータ・サイクルとを備える。バス所有者は、データの書き込を希望するアドレスを示す書込みトランザクションを開始して、後続のサイクル中にデータを送る。読取りトランザクションは一般に、読み取るためにシークされるアドレスを示すためにバス所有者によって使用される単一のアドレス・サイクルを備える。このアドレス・サイクルの後、少ししてから、要求に応答するモジュールによって要求側モジュールにデータが送られる1サイクル以上のデータ・サイクルが続く。アドレス関連情報やデータが送られない遊休サイクルも発生する。
【0035】
MASTER_IDバスとTRANS_IDバスは、分割トランザクションのリターン・データを最初のトランザクションに固有に関連付けられるように一緒に使用される。各分割トランザクションは、それぞれ、トランザクションを発行しているモジュールを識別し、かつそのモジュールによって送られた他のトランザクションと前記トランザクションを区別する、MASTER_IDバス上のMASTER_ID信号およびTRANS_IDバス上のTRANS_ID信号によって識別される。たとえば、分割トランザクション「読取り」は、MASTER_ID信号とTRANS_ID信号の固有の組合せと共に送られる。MASTER_IDとTRANS_IDは次いで、要求されたデータのリターン時に一緒に送られ、そのため、要求されたデータが要求側モジュールによって受け取られて、適当なトランザクションと相関付けされる。この機構によって、トランザクション・リターンは、トランザクションが発行された順序以外の順序で戻ることができる。なぜなら、トランザクションの順序はトランザクションの識別にとって重大ではないからである。固有の識別を可能にするには、所与の時間におけるあるモジュールの未処理のトランザクションが、所与のトランザクションIDをもつ1つのトランザクションだけになるようにすることができる。しかし、トランザクションはMASTER_IDによって区別できるので、同じトランザクションIDを2つ以上の別々のモジュールによって同時に使用することができる。
【0036】
LONG_TRANSは、長いトランザクションが完了するまでバス12の制御を保持するために現在のバス所有者によって使用される。たとえば、モジュールが一連のサイクル中に多量のデータを書き込む必要が生じることがある。LONG_TRANSがアサートされると、以下で詳細に説明するように、より高い優先順位のクライアントまたはホストによってデータの中央に他のトランザクションを挿入することはできなくなる。
【0037】
次に、バス12の調停を行うプロセスに移る。調停プロセスは、調停状態、評価状態、およびドライブ状態の3つの状態を備える。調停状態では、すべてのクライアント・モジュールがそのARB線をドライブし、ホスト・モジュールがCLIENT_OPバスをドライブし、現在のバス所有者がLONG_TRANSをドライブする。評価状態では、クライアントおよびホストがそれぞれ、ARB信号、CLIENT_OP信号、およびLONG_TRANS信号を評価して、クライアントまたはホスト自体が次の利用可能なバス・サイクルをドライブするかどうかを決定する。ドライブ状態では、調停が事実上、完了した後、調停に勝利したモジュールがバスをドライブする。所与のバス・サイクルでのバス12の制御に関する3つの状態は、3連続バス・サイクル中に発生することが好ましい。
【0038】
調停は、パイプライン式であることが好ましい。所与のサイクル中に3つの動作が実行される。第1に、現在のバス所有者がバス12をドライブする。第2に、クライアントが、前のサイクル(t−1)中に送られた調停関連信号を評価して、次のサイクル(t+1)中のバス所有者を決定する。最後に、ARB線、CLIENT_OPバス、およびLONG_TRANSバス上で調停関連信号がドライブされて、将来の2サイクル(t+2)のバス所有者が決定される。
【0039】
サイクルt+2でのバス12の所有権は、(1)現在のバス所有者、(2)メイン・メモリ制御装置14、(3)入出力モジュール16および18、(4)プロセッサ・モジュール20、22、24、26の最高優先順位から最低優先順位への4段階優先順位方法に従って決定される。同じ優先順位を有する2つ以上のモジュールがバスの制御に関する調停を行うときは、任意の従来型の調停プロトコルを使用して、どのモジュールがバス所有者になるかを決定することができる。たとえば、モジュールが、バス・アクセスを得るために待ち行列で事実上、待機して、最後にバスを制御したモジュールが待ち行列の終りに移動される、従来型のラウンド・ロビン・プロトコルを使用することができる。
【0040】
同じ優先順位を有するモジュールのうちの1つを選択するための調停プロトコルに関しては、調停に勝利したモジュールが、同じ優先順位の他のモジュールがバスの制御を得る前に、少なくとも2連続サイクルの間バスを制御する権利を得ることが好ましい。この結果、調停とバス所有権の間に2サイクルの遅延が発生し、調停に勝利したモジュールは、同じ優先順位の他のモジュールがバスの制御を許可される前に、必要に応じてLONG_TRANSをアサートできるようになる。ある種の実施例では、同じ優先順位のモジュールだけが調停を行うとき、それらのモジュールは自動的に、少なくとも2サイクルの間だけバスを得る。他の実施例では、あるモジュールが、単一サイクルの間だけバスを得て、次の利用可能なサイクルで同じ優先順位の他のモジュールよりも優先され、そのモジュールが第2のサイクルの調停を行う場合、そのモジュールはそのサイクルを得ることができる。
【0041】
現在のバス所有者は、長いトランザクションを効率的に送れるように、バスを使用するための最高優先順位を有する。すなわち、したがって、バス所有者がトランザクションの途中でバスの制御を放棄し、次いでバスの制御の調停を行い、後で前記トランザクションを完了する必要はない。現在のバス所有者は、調停状態でLONG_TRANSをアサートした場合、調停に勝利してドライブ状態フェーズで再びバスをドライブする資格を得る。多サイクル・トランザクションを送るバス所有者は、その多サイクル・トランザクションの最後の2サイクルを除くすべてのサイクル中にLONG_TRANSをアサートしなければならない。最後の2サイクル中にLONG_TRANSをアサートすることは、調停状態とドライブ状態の間の遅延のために必要とされない。モジュールは、他のモジュールが首尾良く調停を行えるように、トランザクションの終りにLONG_TRANSをアサート解除しなければならない。ホストは、CLIENT_OPバスの制御を有するので、LONG_TRANSを使用してバス12の制御を保持する必要はない。というのは、以下で詳細に説明するように、ホストは、クライアントによる新しいトランザクションを許可しないCLIENT_OP信号を送ることができるからである。したがって、ホストは、バス12の制御を有するとき、LONG_TRANSをアサート解除する。
【0042】
ホスト・モジュールは、バスを使用するための2番目に高い優先順位を有する。CLIENT_OPバスは、次の利用可能なバス・サイクル中にどんなタイプのトランザクションが許可されるかをクライアント・モジュールに通知すると共に、新しいトランザクションを開始することを許可しないことによってホスト・モジュール自体のためにバスの制御を得るためにホスト・モジュールによって使用される。
【0043】
好ましい実施例では、CLIENT_OPバスは、表1に示した信号をサポートする。
【0044】
Figure 0003641003
【0045】
バスの制御を得ることに直接関係付けられたCLIENT_OP信号を以下で説明する。この信号は、本発明の調停機構中で重要である。表1の他のCLIENT_OP信号は、コンピュータ・システム10の調停機構にとって重大なものではなく、CLIENT_OPバスを使用して、所与のサイクル中に許可されるトランザクションを制限することができる、1つの方法を示すために例示のために含められている。これらの他のCLIENT_OP信号も簡単に説明する。
【0046】
ANY_TRANSクライアント・オプション信号およびHOST_CONTROLクライアント・オプション信号は比較的簡単である。ANY_TRANSのCLIENT_OPは、サイクルt+2中にあらゆるトランザクションが許可されることを示す。HOST_CONTROLのCLIENT_OPは、ホストがt+2でバスの制御を求めることを示す。
【0047】
ONE_CYCLEクライアント・オプション信号は主として、クライアントからホストへの所有権切替えに使用される。CLIENT_OPがONE_CYCLEである場合、サイクルt+2では1サイクル・トランザクションしか許可されない。典型的なケースでは、ホストは、バス12の制御を求めるとき、連続サイクル中に、ONE_CYCLEを発行し、次いでHOST_CONTROLを発行する。ONE_CYCLEクライアント・オプション信号は、ホストが制御を求めるサイクルの直前のサイクル中にクライアントがLONG_TRANSをアサートするのを妨げる。
【0048】
ONE_CYCLE信号は、本調停機構の調停状態とドライブ状態の間の上述の遅延のために必要である。サイクルtでは、ホスト・モジュールには、サイクルt+1中にどのクライアントがバスを制御するかも、そのクライアントがLONG_TRANSをアサートするかどうかも分からない。あるクライアントがサイクルt+1中にLONG_TRANSをアサートすることを許可された場合、ホストが、それ自体とLONG_TRANSをアサートするクライアントとの間のサイクルt+2でのバス所有権を求める要求の競合を避けるためにこの情報を丁度よいときに評価することはできなくなる。したがって、ホストは、サイクルt−1中にONE_CYCLE信号を送り、それによってサイクルt+1でのバス所有者がLONG_TRANSをアサートするのを妨げる。もちろん、LONG_TRANSはサイクルtでアサートすることができる。しかし、LONG_TRANSがサイクルtでアサートされた場合、ホストは、この情報を丁度よいときに処理して、ホスト自体がt+2でバスをドライブすることはできないことを知ることができる。
【0049】
現在のバス所有者がLONG_TRANSをアサートしておらず、あらゆるクライアントがバスを制御できるようにするクライアント・オプション信号をホスト・モジュールがドライブしており、かつ入出力モジュールはバスの調停を行っていないと仮定すると、プロセッサ・モジュールが調停に勝利する。勝利者は、CLIENT_OPに基づいて任意のトランザクションまたはリターンを開始することを許可される。トランザクションが3サイクル以上のものである場合、新しい所有者は、トランザクションの継続時間中だけバスの所有権を保持するためにLONG_TRANSをアサートしなければならない。もちろん、勝利者は、新しいトランザクションを開始する代わりに遊休サイクルをドライブすることを許可される。これが必要になるのはたとえば、新しい所有者が長いトランザクションを送る必要があり、CLIENT_OPがONE_CYCLEである場合である。
【0050】
高優先順位モジュールは、低優先順位モジュールから調停信号を受け取らないことを考慮に入れて調停に勝利するために、余分のサイクルの調停を行わなければならない。高優先順位モジュールが調停を行う第1のサイクルでは、(LONG_TRANSがアサートされておらず、クライアント制御が許可されていると仮定すると)依然としてプロセッサ・モジュールが調停に勝利する。このプロセッサ・モジュールは次いで、新しいトランザクションは単一サイクル・トランザクションでなければならないという追加制限を含むCLIENT_OPによって許可された新しいトランザクションを開始する。したがって、プロセッサ・モジュールに関する限り、「有効な」CLIENT_OPはONE_CYCLEである。この遷移方法は、プロセッサ・モジュールがサイクルt+1中にLONG_TRANSをアサートするのを妨げる。
【0051】
高優先順位モジュールが調停を行う第2のサイクルでは、ホスト・モジュールも現在のバス所有者も次の利用可能なサイクル中にバスを制御する資格がないと仮定すると、前記高優先順位モジュールが調停に勝利する。複数の入出力モジュールが調停を行う場合、従来型の調停プロトコル(ラウンド・ロビン・プロトコルなど)を使用して、どのモジュールが勝利するかが決定される。調停に勝利した入出力モジュールは、CLIENT_OP符号化に基づいて許可された任意のトランザクションまたはリターンを開始することができ、プロセッサ・クライアントに関して上記で説明したようにLONG_TRANSをアサートすることができる。
【0052】
上述のように、プロセッサ・モジュールしか調停を行わないときは、プロセッサ・モジュールが調停に勝利して、バス12をドライブする。どのクライアントも調停を行わず、ホストがクライアントにバス12を許可する場合、それにもかかわらずプロセッサ・モジュールが調停に勝利してバス12をドライブする。この場合、通常、遊休サイクルを伴う。
【0053】
以下の表2は、典型的な一連の10連続バス・サイクル中の調停プロセスを示す。表2の第1の列はサイクル1ないし10をリストしたものである。表2の残りの列は、各サイクル中に、CLIENT_OPバス、LONG_TRANSバス、プロセッサ・モジュールARB線、および入出力モジュールARB線上でドライブされる信号を示す。表2の最後の列は、10サイクル中の各サイクルにおける現在のバス所有者をリストしたものである。LONG_TRANS線列およびARB線列中の「1」はそれぞれ、LONG_TRANSがアサートされており、あるいは示されたARB線を制御するモジュールが次の利用可能なバス・サイクル中のバス所有権を求めていることを示す。
【0054】
Figure 0003641003
【0055】
表2に示したように、サイクル1では、プロセッサ・モジュール20がバス12を所有しており、LONG_TRANSをアサートしていない。プロセッサ・モジュール24および26はそれぞれ、ARB線32および34のそれぞれをアサートすることによって、バス12の制御に関する調停を行う。ホストはANY_TRANSクライアント・オプション信号を発行し、入出力モジュールはバス12の制御に関する調停を行っていない。サイクル1中に送られる信号がサイクル2中に評価され、この信号に基づいて、プロセッサ・モジュール24が、サイクル3、すなわち次の利用可能なバス・サイクル中のバス所有者になる。
【0056】
サイクル2では、ホストがONE_CYCLEクライアント・オプション信号を発行することを除き、ほとんど同じ信号が送られる。したがって、プロセッサ・モジュール24はサイクル4のバスの制御にも勝利する。
【0057】
サイクル3ないし6では、プロセッサ・モジュール24がLONG_TRANSをアサートする。したがって、プロセッサ・モジュール24はサイクル3からサイクル8までバス12の制御を保持する。
【0058】
サイクル7中の調停によって、サイクル9中の所有権が決定される。プロセッサ・モジュール24がサイクル7中にLONG_TRANSをアサートせず、ホストがHOST_CONTROLをアサートするので、ホストは調停に勝利して、サイクル9中にバス12を制御する。ホストは、サイクル8中にHOST_CONTROLをアサートし続けることによって、サイクル10中のバス12の制御を保持する。
【0059】
次に、表1に示した他の典型的なクライアント・オプション信号を簡単に説明する。いくつかのCLIENT_OP信号は入出力モジュール16および18に関係付けられている。図1に示したように、入出力モジュール16および18はそれぞれ、モジュールがもはや入出力トランザクションを受け入れられないことを示す信号をメモリ制御装置14に送るためのSTOP_IO線58および60を制御することが好ましい。入出力モジュール16および18は、メモリ・システムの有効な制御を得るための信号をメモリ制御装置14に送り、かつ相互に送り合うためのSTOP_MOST線62および64を制御することが好ましい。
【0060】
STOP_IO線は、入出力モジュールがいつ、新しい入出力トランザクションに応答できなくなるかをホストに通知するために、各入出力モジュールによって使用される。STOP_IO線を使用して、入出力モジュールはホストに通知し、ホストは続いて、新しい入出力トランザクションを許可しないCLIENT_OPだけを発行する。
【0061】
したがって、入出力モジュールは、ビジー状況である場合、モジュール自体のSTOP_IO線をアサートする。次いで、ホストはNO_IO信号をアサートする。CLIENT_OPがNO_IOである場合、入出力トランザクションを除くすべてのトランザクションが許可される。
【0062】
RET_ONLYクライアント・オプション信号は、以前に保持された専用ダーティ・キャッシュ線のリターン(書直し)、または以前のトランザクションに対する応答しか許可されないことを示す。たとえば、プロセッサ24が、プロセッサ20のキャッシュで専用ダーティであるキャッシュ線のコヒーレント読取りを発行した場合、プロセッサ20は、そのキャッシュ線をキャッシュ間コピーで供給することができる。そのキャッシュ間コピー・トランザクションは、RET_ONLYクライアント・オプション信号の影響下で開始することができる。なぜなら、キャッシュ間コピーはコヒーレント読取りに対する応答だからである。同様に、データ・リターンは入出力読取りトランザクションに対する応答なので、入出力モジュール16は、RET_ONLYクライアント・オプション信号の影響下で、最初の入出力読取りトランザクションから得たデータを返すことができる。
【0063】
STOP_MOST線は、メモリ・システムの有効な制御を得るために使用される。これは、たとえば、他のモジュールが、関連するメモリ・アドレスからデータを読み取ることも、前記メモリ・アドレスにデータを書き込むこともなしに、あるモジュールによっていくつかのメモリ動作を実行しなければならないときに有用である。入出力モジュールがSTOP_MOSTをアサートすると、その入出力モジュールは「アトミック所有者」になり、アトミック所有者だけが、新しいトランザクションを発行することを許可される。他のモジュールは、リターン・タイプ・トランザクションまたは応答タイプ・トランザクションだけを発行することが許可される。複数の入出力モジュールが同時にSTOP_MOSTをアサートした場合、任意の従来型の調停アルゴリズムを使用して、どの入出力モジュールがアトミック所有者になるかを決定することができる。当業者には、STOP_MOST線およびSTOP_MOST信号が本発明に必要なものでないことが理解されよう。
【0064】
フロー制御では通常ANY_TRANSが許可されると仮定すると、ATOMIC CLIENT_OPはSTOP_MOSTをアサートするクライアントに直接応答して生成される。 ATOMIC CLIENT_OPによって、STOP_MOSTをアサートするクライアントは、いくつかの連続トランザクションをバス12上で実行することができる。他のすべてのクライアントは、ATOMICがアサートされる何らかのサイクル中にバスを得た場合、最初に送られたトランザクション、または以前に保持された専用ダーティ・キャッシュ線の書直しに応答することしか許可されない。ホストは通常、RET_ONLYクライアント・オプション信号を使用してすべてのクライアントを応答タイプ・トランザクションに制限することもできる。したがって、アトミック所有者があるとき、そのアトミック所有者の有効クライアント・オプション信号はANY_TRANSであり、他のすべてのクライアントの有効クライアント・オプション信号がRET_ONLYである。
【0065】
NONE_ALLOWEDクライアント・オプション信号は、サイクルt+2ではトランザクションが許可されないことを示すために使用される。NONE_ALLOWEDは、ONE_CYCLEクライアント・オプション信号の使用と同様に、RET_ONLYの後の所有権切替えに使用することができる。典型的なケースは、ホストが、バス12の制御を得るために、連続サイクル上で、RET_ONLY、NONE_ALLOWED、次いでHOST_CONTROLを発行する場合である。
【0066】
上述の調停機構に必要なことではないが、あらゆるまたはすべてのモジュール(プロセッサ・モジュールと入出力モジュールの両方)は従来型のキャッシュ・メモリを有することができる。当技術分野で周知のように、コンピュータ・システムは、頻繁に使用されるデータを記憶するためのキャッシュ・メモリと、すべてのプロセッサによって使用される共用メイン・メモリとを有する複数のプロセッサ・モジュールを有することができる。キャッシュ・メモリは通常、頻繁に使用されるデータと、メイン・メモリでデータ項目が記憶されるアドレスを共に記憶する。プロセッサは、メモリ中のアドレスのデータをシークするとき、そのデータ用のアドレスを使用してプロセッサ自体のキャッシュ・メモリにそのデータを要求する。プロセッサのキャッシュ・メモリは、それ自体がそのアドレスを保持しているかどうかを調べるための検査を行い、そうである場合、データが直接、プロセッサに返される。キャッシュ・メモリが所望の情報を含んでいない場合、正規のメモリ・アクセスが行われる。キャッシュ・メモリは通常、メイン・メモリ(一般にRAM)アクセスがマイクロプロセッサ速度と比較して低速であるときに有用である。
【0067】
一般に、プロセッサ上で実行するソフトウェアは、特定のアドレスに記憶されているデータに最新の値を使用する必要がある。各プロセッサがキャッシュ・メモリを有する、コンピュータ・システム10など共用メモリ・マルチプロセッサ・コンピュータでは、1つまたは複数のキャッシュ・メモリまたはメイン・メモリに最新のデータを記憶することができる。したがって、あるプロセッサが、他のプロセッサによって使用された可能性があるデータをシークするときは必ず、「コヒーレンシ機構」を実施して、そのプロセッサが得られるデータが現行のものであることを確認する必要がある。典型的なコヒーレンシ機構では、各モジュールは、そのキャッシュ・メモリのコヒーレンシ検査を実行して、キャッシュ・メモリが、要求されたアドレスに関連するデータを有しているかどうかを判定し、コヒーレンシ検査の結果を報告する。各モジュールによって実行されたコヒーレンシ検査の結果は分析され、データを要求したモジュールによって最新のデータが使用される。
【0068】
コンピュータ・システム10の場合、キャッシュ・メモリを有する各モジュールは、メモリ制御装置14が、1つまたは複数のキャッシュ・メモリに記憶できるデータの読取りまたは書込みを含むトランザクションの調和をはかれるようにする信号を直接、メモリ制御装置14に送信するための少なくとも1本のコヒーレント・トランザクション信号送信線(すなわち、COH線)を制御する。そのようなトランザクションをコヒーレント・トランザクションと呼ぶ。コヒーレント・トランザクションは、マルチプロセッサ・コンピュータにとって慣習的な任意の方法で調和をはかることができる。プロセッサ・モジュール20、22、24、26はそれぞれ、COH線42、44、46、48を制御する。入出力モジュール16および18は、COH線50および54を制御する。
【0069】
図1に示した好ましい実施例では、入出力モジュール16および18はそれぞれ、別々のキャッシュ・メモリを備えた2つの別々の入出力アダプタを備える。したがって、入出力モジュール16および18は、COH線50および54を制御するだけでなく、各入出力アダプタが別々のCOH線を制御するように、COH線52および56も制御する。
【0070】
CLIENT_OPバスを使用して、特定のトランザクションに関するコヒーレンシ状況を、データを要求しているモジュールに送り返すことができる。ホストは、SHAR_RTNクライアント・オプション信号を使用して、従来型の共用コヒーレンシ状況を含む任意のデータ・リターンのための調停を行う。その他の場合、クライアント・モジュールは、読取りリターンが従来型の専用状況を有すると仮定することが好ましい。
【0071】
当業者には、メモリ制御装置14が便利のためだけにホストとして働いており、かつホスト機能とメモリ制御機能を2つ以上のモジュールとして分離できることが理解されよう。
【0072】
「バス」および「線」の用語は共に、この詳細な説明では、上記で詳細に説明したさまざまな組の1つまたは複数の電気経路を示すために使用した。当業者には、「バス」および「線」の用語が相互に排他的なものでも、その他の点でそれら自体を制限するものでもないことを理解されよう。たとえば、「LONG_TRANSバス」の用語を使用したが、LONG_TRANSバスが従来型の共用線、すなわち、複数のモジュールによって信号を送ることのできる単一の電気経路から成ることは明らかである。同様に、「CLIENT_OPバス」および「CLIENT_OP線」の用語は、上記で詳細に説明したように、ホストだけによってドライブされる1組のハードウェア線を示すために使用した。
【0073】
当業者には、前記の説明および添付の図面から、本発明の様々な修正が明らかになろう。したがって、本発明は、特許請求の範囲によってのみ制限されるものである。
【0074】
以上、本発明の実施例について詳述したが、以下、本発明を各実施態様毎に列挙する。
(1). バス調停機構を備えるバス・システムにおいて、
バスと、
前記バスに結合された複数のモジュールと
を有し、
前記各モジュールは、
前記バス上で他の前記モジュールに情報を送ることができ、
所与の期間に前記バス上で情報を送る資格が与えられるのが前記モジュールの1つだけであり、
前記各モジュールが、前記バス上で情報を送ることを試みるとき、前記モジュールと等しい優先順位クラスを持つすべてのモジュールと、より低い優先順位クラスのすべてのモジュールとに伝達される調停信号を生成し、
任意の所与の期間に前記バス上で情報を送る資格のあるモジュールが、サイクルを形成する最小期間中だけ前記バスの制御を保持し、
ここで前記各モジュールは、少なくとも1つの前記調停信号に応答して選択された将来のサイクル中に前記モジュールが前記バス上で情報を送る資格があるかどうかを決定するための調停信号プロセッサを有する、
ことを特徴とするバス・システム。
(2). 前記優先順位クラスの1つが、ホスト・モジュールから成り、前記ホスト・モジュールが、最高優先順位を有し、前記ホスト・モジュールが、クライアント・オプション信号を各前記モジュールに送るためのクライアント・オプション線を制御し、前記調停信号プロセッサがさらに、前記クライアント・オプション信号に応答して、次の利用可能なバス・サイクルで前記バス上に置くことができるトランザクションのタイプを決定することを特徴とする(1)に記載のバス・システム。
(3). 各前記モジュールが、その優先順位クラス中の他の各前記モジュールと、前記優先順位クラスよりも低い優先順位を有する優先順位クラス中の他の各前記モジュールだけに調停信号を送ることを特徴とする(1)に記載のバス・システム。
(4). 前記バス上で情報を送る資格のあるモジュールが、長トランザクション信号を各前記モジュールに送るための長トランザクション線を制御し、前記調停信号プロセッサがさらに、前記長トランザクション信号に応答することを特徴とする(1)に記載のバス・システム。
(5). 選択されたサイクル中に前記バス上で情報が送られ、前記選択されたサイクル中に、あるモジュールが、選択された第1の将来のサイクル中に前記バス上で情報を送る資格があるかどうかを各調停信号プロセッサが判定し、前記選択されたサイクル中に、どのモジュールが、選択された第2の将来のサイクル中に前記バス上で情報を送る資格があるかを判定する調停信号が生成されることを特徴とする(1)に記載のバス・システム。
(6). 選択されたサイクル中に前記バス上で情報が送られ、前記選択されたサイクル中に、あるモジュールが、選択された第1の将来のサイクル中に前記バス上で情報を送る資格があるかどうかを各調停信号プロセッサが判定し、前記選択されたサイクル中に、どのモジュールが、選択された第2の将来のサイクル中に前記バス上で情報を送る資格があるかを判定する調停信号が生成されることを特徴とする(2)に記載のバス・システム。
【0075】
【発明の効果】
以上のように、本発明を用いると、ハードウェアの点で調停信号プロセッサを備えているため、効率的な調停機構を備えたバス・システムを提供することできる。分散調停機構を取り入れているので、中央調停機構よりも短い待ち時間を有する調停機構を備えたバス・システムを提供することができる。パイプライン化した調停機構を備えるので、高周波数および高帯域幅を可能にする調停機構を備えたバス・システムをバス・システムを提供することができる。
【図面の簡単な説明】
【図1】本発明による調停機構を使用するコンピュータ・システムの一実施例を示すブロック図である。
【符号の説明】
12:バス
14:メイン・メモリ制御装置
16、18:入出力モジュール
20、22、24、26:プロセッサ・モジュール
28、30、32、34:調停信号送信線
36、38:調停信号送信線
40:CLIENT_OP線
42、44、46、48、50、52、54、56:COH線
58、60:STOP_IO線
62、64:STOP_MOST線

Claims (2)

  1. バス調停機構を備えるバス・システムであって、該バス・システムは、バスと、該バスに接続されたクライアント・モジュールおよびホスト・モジュールを有しており、
    前記クライアント・モジュールおよびホスト・モジュールは複数の優先順位クラスを有しており、該ホスト・モジュールは最高の優先順位クラスに属しており、
    前記クライアント・モジュールおよびホスト・モジュールは、前記バスを介して情報を他のモジュールに送ることができ、該クライアント・モジュールおよびホスト・モジュールのうちの1つのモジュールのみが、任意の所与の時に前記バスに情報を送る資格があり、前記バスに情報を送る資格があるクライアント・モジュールまたはホスト・モジュールは、サイクルを規定する最小期間の間、バスの制御を取得し、
    前記クライアント・モジュールのそれぞれは、前記バスに情報を送ろうとするとき、該クライアント・モジュールの優先順位クラスにあるすべてのクライアント・モジュールおよび該クライアント・モジュールの優先順位クラスよりも低い優先順位クラスにあるすべてのクライアント・モジュールに伝達される調停信号を生成し、
    前記ホスト・モジュールは、前記バスに情報を送ろうとするとき、クライアント・オプション線を制御して、トランザクションの開始を禁止する第1のクライアント・オプション信号を前記クライアント・モジュールに送り、さらに、前記バスに情報を送ろうとしないとき、前記クライアント・オプション線を制御して、許可されるトランザクションのタイプを示す第2のクライアント・オプション信号を該クライアント・モジュールに送り、
    前記クライアント・モジュールのそれぞれは調停信号プロセッサを有し、該調停信号プロセッサは、前記調停信号に応答して、選択された将来のサイクル中に該クライアント・モジュールが前記バスに情報を送る資格があるかどうかを判定し、
    前記調停プロセッサは、さらに、前記第1のクライアント・オプション信号を受け取ったならば、前記バスに情報を送る資格がないと判定し、該判定により、前記バスに情報を送る資格が前記ホスト・モジュールに与えられ、
    前記調停プロセッサは、さらに、前記バスに情報を送る資格があると判定するとき、前記第2のクライアント・オプション信号に従って、前記バスに送るトランザクションのタイプを決定する、
    バス・システム。
  2. 選択されたサイクルの間に前記バスに情報が送られ、
    前記選択されたサイクルの間、前記調停信号プロセッサのそれぞれは、選択された第1の将来のサイクル中にモジュールが前記バスに情報を送る資格があるかどうかを判定し、
    前記選択されたサイクルの間、選択された第2の将来のサイクル中にどのモジュールが前記バスに情報を送る資格があるかを判定する調停信号が生成される、
    請求項1に記載のバス・システム
JP05976895A 1994-02-24 1995-02-23 調停機構付きバス・システム Expired - Fee Related JP3641003B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/201,186 US5519838A (en) 1994-02-24 1994-02-24 Fast pipelined distributed arbitration scheme
US201,186 1994-02-24

Publications (2)

Publication Number Publication Date
JPH07248998A JPH07248998A (ja) 1995-09-26
JP3641003B2 true JP3641003B2 (ja) 2005-04-20

Family

ID=22744828

Family Applications (1)

Application Number Title Priority Date Filing Date
JP05976895A Expired - Fee Related JP3641003B2 (ja) 1994-02-24 1995-02-23 調停機構付きバス・システム

Country Status (5)

Country Link
US (1) US5519838A (ja)
EP (1) EP0671692B1 (ja)
JP (1) JP3641003B2 (ja)
KR (1) KR100347473B1 (ja)
DE (1) DE69513211T2 (ja)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5581713A (en) * 1994-10-25 1996-12-03 Pyramid Technology Corporation Multiprocessor computer backplane bus in which bus transactions are classified into different classes for arbitration
US5625779A (en) * 1994-12-30 1997-04-29 Intel Corporation Arbitration signaling mechanism to prevent deadlock guarantee access latency, and guarantee acquisition latency for an expansion bridge
US6212589B1 (en) * 1995-01-27 2001-04-03 Intel Corporation System resource arbitration mechanism for a host bridge
US5787264A (en) * 1995-05-08 1998-07-28 Apple Computer, Inc. Method and apparatus for arbitrating access to a shared bus
DE69632289T2 (de) * 1995-07-25 2005-05-19 Jin-Young Cho Verteiltes serielles schiedsverfahren
US5835737A (en) * 1996-05-10 1998-11-10 Apple Computer, Inc. Method and apparatus for arbitrating access to selected computer system devices
US5815674A (en) * 1996-07-15 1998-09-29 Micron Electronics, Inc. Method and system for interfacing a plurality of bus requesters with a computer bus
US5896539A (en) * 1997-04-14 1999-04-20 International Business Machines Corporation Method and system for controlling access to a shared resource in a data processing system utilizing dynamically-determined weighted pseudo-random priorities
US6442632B1 (en) 1997-09-05 2002-08-27 Intel Corporation System resource arbitration mechanism for a host bridge
US6189061B1 (en) * 1999-02-01 2001-02-13 Motorola, Inc. Multi-master bus system performing atomic transactions and method of operating same
DE10026730A1 (de) * 2000-05-30 2001-12-06 Bayerische Motoren Werke Ag Ressourcen-Management-Verfahren für ein verteiltes System von Teilnehmern
US6735654B2 (en) * 2001-03-19 2004-05-11 Sun Microsystems, Inc. Method and apparatus for efficiently broadcasting transactions between an address repeater and a client
US6877055B2 (en) 2001-03-19 2005-04-05 Sun Microsystems, Inc. Method and apparatus for efficiently broadcasting transactions between a first address repeater and a second address repeater
US6826643B2 (en) 2001-03-19 2004-11-30 Sun Microsystems, Inc. Method of synchronizing arbiters within a hierarchical computer system
US20020133652A1 (en) * 2001-03-19 2002-09-19 Tai Quan Apparatus for avoiding starvation in hierarchical computer systems that prioritize transactions
US6889343B2 (en) 2001-03-19 2005-05-03 Sun Microsystems, Inc. Method and apparatus for verifying consistency between a first address repeater and a second address repeater
KR100896263B1 (ko) 2003-01-03 2009-05-08 삼성전자주식회사 팬 모터 및 이 팬 모터를 구비한 전자렌지
US7133949B2 (en) * 2003-09-29 2006-11-07 International Business Machines Corporation Distributed switching method and apparatus

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2494010B1 (fr) * 1980-11-07 1986-09-19 Thomson Csf Mat Tel Dispositif d'arbitration decentralisee de plusieurs unites de traitement d'un systeme multiprocesseur
US4604689A (en) * 1983-04-15 1986-08-05 Convergent Technologies, Inc. Bus repeater
US4641266A (en) * 1983-11-28 1987-02-03 At&T Bell Laboratories Access-arbitration scheme
US4745548A (en) * 1984-02-17 1988-05-17 American Telephone And Telegraph Company, At&T Bell Laboratories Decentralized bus arbitration using distributed arbiters having circuitry for latching lockout signals gated from higher priority arbiters
SE445861B (sv) * 1984-12-12 1986-07-21 Ellemtel Utvecklings Ab Prioritetsfordelningsanordning for datorer
US5111424A (en) * 1987-05-01 1992-05-05 Digital Equipment Corporation Lookahead bus arbitration system with override of conditional access grants by bus cycle extensions for multicycle data transfer
US5193194A (en) * 1988-10-18 1993-03-09 Motorola, Inc. Concurrent arbitration system and method for bus control
US5301333A (en) * 1990-06-14 1994-04-05 Bell Communications Research, Inc. Tree structured variable priority arbitration implementing a round-robin scheduling policy
EP0464237A1 (en) * 1990-07-03 1992-01-08 International Business Machines Corporation Bus arbitration scheme
JPH0810445B2 (ja) * 1990-09-21 1996-01-31 インターナショナル・ビジネス・マシーンズ・コーポレイション 動的バス調停方法及び装置
JPH04198356A (ja) * 1990-11-29 1992-07-17 Du Pont Japan Ltd ポリエステル樹脂組成物
CA2051029C (en) * 1990-11-30 1996-11-05 Pradeep S. Sindhu Arbitration of packet switched busses, including busses for shared memory multiprocessors
US5261109A (en) * 1990-12-21 1993-11-09 Intel Corporation Distributed arbitration method and apparatus for a computer bus using arbitration groups

Also Published As

Publication number Publication date
US5519838A (en) 1996-05-21
EP0671692B1 (en) 1999-11-10
EP0671692A1 (en) 1995-09-13
JPH07248998A (ja) 1995-09-26
KR950033878A (ko) 1995-12-26
DE69513211T2 (de) 2000-02-17
DE69513211D1 (de) 1999-12-16
KR100347473B1 (ko) 2002-11-30

Similar Documents

Publication Publication Date Title
JP3641003B2 (ja) 調停機構付きバス・システム
US5530933A (en) Multiprocessor system for maintaining cache coherency by checking the coherency in the order of the transactions being issued on the bus
US5996036A (en) Bus transaction reordering in a computer system having unordered slaves
US6304932B1 (en) Queue-based predictive flow control mechanism with indirect determination of queue fullness
US5987549A (en) Method and apparatus providing short latency round-robin arbitration for access to a shared resource
US5862356A (en) Pipelined distributed bus arbitration system
US5901295A (en) Address and data bus arbiter for pipelined transactions on a split bus
JP3583183B2 (ja) データ処理装置
AU687627B2 (en) Multiprocessor system bus protocol for optimized accessing of interleaved storage modules
US5659708A (en) Cache coherency in a multiprocessing system
US6598104B1 (en) Smart retry system that reduces wasted bus transactions associated with master retries
US5313591A (en) Computer bus arbitration for N processors requiring only N unidirectional signal leads
US5930485A (en) Deadlock avoidance in a computer system having unordered slaves
US5649209A (en) Bus coupling information processing system for multiple access to system bus
USRE38428E1 (en) Bus transaction reordering in a computer system having unordered slaves
US6826644B1 (en) Peripheral component interconnect arbiter implementation with dynamic priority scheme
EP0674273B1 (en) Atomic operation control scheme
US5931931A (en) Method for bus arbitration in a multiprocessor system
US5708783A (en) Data bus arbiter for pipelined transactions on a split bus
WO1997034237A2 (en) Split transaction snooping bus and method of arbitration
JPH0656602B2 (ja) キヤツシユを有するプロセツサのための優先制御システム
US5815676A (en) Address bus arbiter for pipelined transactions on a split bus
US5687327A (en) System and method for allocating bus resources in a data processing system
JPH04335457A (ja) バスアービトレーション・システム
JPH04260956A (ja) デッドロックを回避する方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040127

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20040419

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20040422

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040705

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050118

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050120

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090128

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090128

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100128

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100128

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110128

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees