(57)【特許請求の範囲】
【請求項１】
対称多重処理環境において資源を管理するリモート資源管理システムであって、
対称マルチプロセッサ・システムのクラスタ・ノード間のインタフェースを行なうためのインタフェース・ユニットを有する、対称マルチプロセッサの複数のクラスタと、
クラスタ間のデータ転送に使用されるローカル−リモート間データ・バスと、
を含み、
前記インタフェース・ユニットは、
ローカル・インタフェース及びローカル・インタフェース制御装置（１１）と、
１つ以上のリモート記憶制御装置（１２）と、
複数のプロセッサ、共用キャッシュ・メモリ、複数のＩ／Ｏアダプタ及び主メモリをそれぞれ含む前記対称マルチプロセッサの２つの前記クラスタ間のインタフェースを管理する資源レジスタ（２４）を含むリモート資源マネージャ（１０）と、
を含んで構成され、
前記１つ以上のリモート記憶制御装置（１２）のそれぞれが前記リモート資源マネージャにより制御され、
前記リモート資源マネージャ（１０）がリモート記憶制御装置（１２）を介してリモート制御装置を含むリモート資源を管理し、ローカル側の前記ローカル・インタフェース制御装置による作業要求をリモート側に通知させると共に、前記リモート側のフェッチ／ストア制御装置を管理することにより、新たな作業要求を、前記作業要求のリクエスタを識別させる情報をリモート資源の管理のために使用することなく使用可能な前記リモート制御装置に即時経路指定させており、
前記リモート資源マネージャは、資源レジスタに格納されたローカル側における全てのリモート資源の利用状況を追跡し、前記リモート資源が作業処理のために使用可能な場合にだけ、前記ローカル・インタフェース制御装置が前記リモート制御装置をエージェントとして利用するべく前記作業要求を前記リモート側に転送することにより、リモート制御装置に作業を分配する、リモート資源管理システム。
【請求項２】
前記リモート資源マネージャは、待ち行列化された要求を優先順位付けし、新たな作業要求を前記リモート記憶制御装置を介して送信させ、リモート側からの返却応答を処理すると共に、前記クラスタ間の全てのデータの転送を監視するインタフェース・タスクを制御する、請求項１記載のリモート資源管理システム。
【請求項３】
幾つかのローカル側における指令を、リモート側における１つのアトミック・オペレーションと結合させる、コマンド再マップ化処理を有する、請求項２記載のリモート資源管理システム。
【請求項４】
データの読出し専用コピーのためのプロセッサ・フェッチ要求、及び記憶保護キーを含む読出し専用データのためのフェッチ要求が、前記リモート・クラスタ上の前記フェッチ制御装置が同一の状態図及びキャッシュ管理処理を使用することを要求するものであり、前記リモート資源マネージャは、リモート記憶クラスタ（ＲＳＣ）・インタフェース制御装置であり、前記ＲＳＣインタフェース制御装置が前記両方の要求を、読出し専用ライン・フェッチとして知られる、１つの単純化されたＲＳＣインタフェース制御装置コマンドに再マップすることにより、前記ＲＳＣインタフェース制御装置（ＲＳＣ  ＩＣ）により処理されなければならないオペレーションの数を低減する、請求項３記載のリモート資源管理システム。
【請求項５】
前記リモート資源マネージャは、リモート側に対するローカル・キャッシュにおけるデータの存在の問い合わせに際して、ディレクトリ・ステータスにもとづき、コマンド変換を使用して、転送コマンドを“強制追放”コマンドまたは“読出し専用無効”コマンドに再マップすることにより、ストア・データの転送によるデータ・バスの拘束を生じさせない、請求項４記載のリモート資源管理システム。
【請求項６】
前記インタフェース・ユニットは、１つ以上のパイプライン階層レベル・キャッシュをサービスする多数のリモート・フェッチ制御装置及びリモート・ストア制御装置を含む、ハイエンド記憶サブシステムを有するインタフェースを有し、前記リモート資源マネージャは、一連の優先ステーションを含み、前記一連の優先ステーションが前記インタフェースを介して送信される要求を選択し、複数のパイプが関わる場合、各パイプ内の事前優先ステーションが、前記リモート資源マネージャに転送されるフェッチ要求またはストア要求を選択し同一のサイクルの間、優先オペレーション処理によりコマンド・タイプ及び資源可用性にもとづき、資源が使用可能である限り、新たな作業要求をリモート側に転送させる、請求項１記載のリモート資源管理システム。
【請求項７】
前記優先オペレーション処理は、前記複数のパイプが任意の所与のサイクルにおいて、前記インタフェースの使用を要求できるので、リモート・フェッチ制御装置が使用可能な限り、前記オペレーションがストアよりもフェッチを優先し、それ以外では、リモート・ストア制御装置が使用可能な限り、ストアが実行され、データ経路を要求するこれらのストア・オペレーションのために前記データ経路が使用可能となり、両方の要求がフェッチで、両者が使用可能な資源を有する場合、ラウンド・ロビンが優遇される方の要求を決定し、両方の要求がストアの場合、どちらのパイプが使用可能な資源を有するかにより勝者が決定され、両方の要求が全て使用可能な資源を有する場合、ラウンド・ロビンが使用される、請求項６記載のリモート資源管理システム。
【請求項８】
前記リモート資源マネージャは、各ローカル・インタフェース制御装置内に含まれ、資源レジスタを参照して、リモート側で待ち行列化される作業の送信のために、インタフェース・サイクルが浪費されないように保証する、請求項６記載のリモート資源管理システム。
【請求項９】
各リモート記憶制御装置の前記ローカル・インタフェース制御装置が、同期応答バス及び非同期応答バスの両方を用いて、キャッシュ・コヒーレンスを維持させ、非同期応答バスが、前記リモート・オペレーションの公式な終了を示し、オリジナル・リクエスタに転送される全ての最終応答のために使用され、前記最終応答が、ローカル・ディレクトリを適切な最終状態により更新することを可能にする変更ライン情報によりタグ付けされる、請求項６記載のリモート資源管理システム。
【請求項１０】
前記リモート記憶制御装置の前記インタフェース制御装置が、相互クラスタ・デッドロックを生じ得るオペレーション・シーケンスをモニタするために設計されたデッドロック回避機構を管理し、こうした状況を検出すると、前記リモート記憶制御装置の前記インタフェース制御装置が、特殊な拒絶応答を発信元クラスタに返却することにより、保留のオペレーションを拒絶し、前記リモート記憶制御装置の前記インタフェース制御装置が前記拒絶を発信元フェッチ／ストア制御装置に転送し、それにより前記オペレーションが再試行され、デッドロック・ウィンドウが消滅するまで連続的に拒絶され、再試行される、請求項９記載のリモート資源管理システム。
【請求項１１】
新たなリモート記憶制御装置に対する作業を伴う任意の制御情報において、インタフェース・パリティ・エラーが検出されるとき、同期インタフェースを用いコマンドが送信された後、固定サイクル数以内にインタフェース・エラー・ステータスを送信し、エラーの場合、発信元フェッチ／ストア制御装置がそれを通知され、続いて回復の適格性を決定し、前記リモート記憶制御装置の前記インタフェース制御装置が自動的に対応するリモート記憶制御装置の資源をリセットし、前記作業が再度要求されることを可能にする、請求項９記載のリモート資源管理システム。
【請求項１２】
前記システムが、オリジナルのコマンドが入力されフリップ・ビット列を生成させるためのフリップ・ビット発生器により発生されるフリップ・ビットに基づくコマンドのスーパセットのより小さなアトミック・オペレーションのサブセットへの再マップのためのコマンド再マップ化機構を含む、請求項１記載のリモート資源管理システム。
【請求項１３】
前記コマンド再マップ化機構が、前記フリップ・ビット発生器により発生されたフリップ・ビットと、前記オリジナルのコマンドとの排他的論理和を用いて、ＲＳＣコマンドを生成させる、請求項１２記載のリモート資源管理システム。
【請求項１４】
前記優先オペレーションが、前記要求及び前記リモート記憶制御装置の資源を毎サイクルごとに動的に分析し、フェッチ要求をストア要求に優先させ、ローカル側において開始された要求及びリモート側において開始された指令への応答の両方、及びデータ経路を要求するオペレーションのデータ経路可用性を、資源レジスタを参照することにより判断し、対応する資源が使用可能な場合にだけ、指令が前記インタフェースを介して送信される、請求項６記載のリモート資源管理システム。
【請求項１５】
前記リモート資源管理マネージャが、１つのクロスポイント制御装置により、４ウェイ同時データ転送が可能な４つのデータ経路を管理し、各前記データ経路が、局所的に開始されるオペレーション及び遠隔的に開始されるオペレーションを多重化することにより、前記データ経路の可用性が、次のディスパッチ・オペレーションを決定するために優先オペレーション処理機構に伝送される、請求項１記載のリモート資源管理システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はコンピュータ・システムに関して、特に、高速リモート記憶クラスタ・インタフェース制御装置に関する。
【０００２】
【従来の技術】
歴史的に、システム設計者は、大規模な密結合対称マルチプロセッサ（ＳＭＰ）・コンピュータ・システムにおいて、高性能を達成するために、様々な手段を使用してきた。そうした手段は、個々のプロセッサまたはプロセッサ・クラスタを、１つの共用システム・バスを介して結合するものから、プロセッサをクラスタとして一緒に結合し、クラスタがクラスタ−クラスタ間インタフェースを用いて通信するもの、更に、多数（すなわち３２乃至１０２４）のプロセッサから構成される並列システムが、中央スイッチ（すなわちクロスバー・スイッチ）を介して相互接続される、集中的に相互接続されたネットワークに及ぶ。
【０００３】
共用バス方法は、通常、最も廉価なシステム設計を提供する。なぜなら、単一バス・プロトコルが、複数のタイプの資源をサービスするからである。更に、追加のプロセッサ、クラスタまたは周辺装置が経済的にバスに接続され、システムを発展させる。しかしながら、大規模なシステムでは、調停オーバヘッドと結合されるシステム・バス上の輻輳（ｃｏｎｇｅｓｔｉｏｎ）が、全体システム性能を劣化させ、低ＳＭＰ効率を生成する傾向がある。これらの問題は、５００ＭＨｚを超える周波数で実行されるプロセッサを使用する対称マルチプロセッサ・システムでは侮り難い。
【０００４】
集中的に相互接続されるシステムは通常、システム内の全てのプロセッサに対して、共用資源に対する等しい待ち時間の利点を提供する。理想的なシステムでは、等しい待ち時間は、システム構造またはメモリ階層の事前知識無しに、複数のアプリケーション、またはアプリケーション内の並列スレッドが、使用可能なプロセッサ間で分散されることを可能にする。これらのタイプのシステムは一般に、１つ以上の大規模クロスバー・スイッチを用いて実現され、データをプロセッサとメモリの間で転送する。基礎を成す設計はしばしば、大規模ピン・パッケージング要求、及び高価なコンポーネント・パッケージングの必要性を生じ得る。更に、有効な共用キャッシュ構造を実現することは困難である。
【０００５】
密結合クラスタ化方法は、妥協策として作用する。本願では、用語”クラスタ”は、１つの主メモリを共用するプロセッサの集合を指し示し、従って、特定のクラスタへの親和性に関係なく、システム内の任意のプロセッサが、主メモリの任意の部分をアクセスすることができる。非一様メモリ・アクセス（ＮＵＭＡ）・アーキテクチャと異なり、ここでの例で参照されるクラスタは、メモリと各クラスタ内に配置される第２レベル・キャッシュ間のデータ・コヒーレンスを維持するために、専用のハードウェアを使用し、それにより、メモリ階層またはメモリ・バンク・インタリーブなどの物理区分の無い、統一された１つのイメージをソフトウェアに提供する。これらのシステムの１つの利点は、クラスタ内の密結合プロセッサの性質が、データがそれを必要とするプロセッサの近くに存在するとき、優れた性能を提供することである。例えば、データがクラスタの第２レベル・キャッシュ内、またはそのクラスタに接続されるメモリ・バンク・インタリーブ内に存在する場合である。更に、通常、中央相互接続システム内で見い出される大規模Ｎウェイ・クロスバー・スイッチと比較し、よりコスト効率の良いパッケージングを実現する。しかしながら、クラスタ化方法は、プロセッサが頻繁に他のクラスタからデータを要求する場合、低性能を生じ得、続く待ち時間が増大したり帯域幅が不十分になる。
【０００６】
中央相互接続システムに関連する多くの高価な問題が廉価に解決されるまで、市場は共用バスまたはクラスタ設計にもとづく経済的なシステムとして存在し続けることであろう。本発明は従来のインタフェース設計の多くの欠点を除去し、高価なハイ・レベル・パッケージまたは過度なオンボード・キャッシュの必要無しに、システムがプロセッサ性能を最大化するものである。本発明に関連する分野の従来技術は、廉価な高周波記憶制御装置を設計する全体的な問題の、孤立した側面だけを解決する様々なアプローチを教示する。しかしながら、以下の例で示されるように、それらは本発明で掲げられる目的を満足する完全な解決策を提供するには及ばない。
【０００７】
対称マルチプロセッサの２つのクラスタからなるシステムが、Ｋｒｙｇｏｗｓｋｉらによる１９８５年３月５日付けの米国特許第４５０３４９７号で述べられている。この発明は、専用のストアイン・キャッシュを有するプロセッサ間の、キャッシュ・コヒーレンスを維持する改善された方法を教示する。しかしながら、これはクラスタ内に存在し、そのクラスタに接続される全てのプロセッサにより共用される、ストアイン・パイプライン化レベル２（Ｌ２）キャッシュに関連する様々な問題を解決しない。この方法はまた、全てのタイプのオペレーション（プロセッサ、Ｉ／Ｏ、メモリ、同報通信、相互クラスタ同期など）に対して、クラスタ・インタフェースの総効率を最大化することに着目していない。
【０００８】
超大規模ＳＭＰシステムの例が、Ｍｉｌｌｅｒらによる１９９２年１２月１日付けの米国特許第５１６８５４７号、及びＣｈｅｎらによる１９９３年３月２３日付けの米国特許第５１９７１３０号で開示されている。両者は多数のクラスタを含むコンピュータ・システムについて述べており、各々のクラスタが、多数の（すなわち３２個の）プロセッサ及び外部インタフェース手段を有する。各プロセッサは、全てのクラスタ内の全ての共用資源に対して対称アクセスを有する。コンピュータ・システムは、大規模クロスバー・スイッチと、高度インタリーブド共用主メモリと、出所と宛先間の経路が使用可能になるまでトランザクションをステージするための、一連のインバウンド・キュー及びアウトバウンド・キューと、データの同期及び共用のために使用される、クラスタ調停手段内の大域資源のセットとの組み合わせに頼ることにより、その性能目標を達成する。この開示はまた、階層メモリ・システム（第２レベル・キャッシュを含む）を使用すること無く、複数の並列プロセッサ間でジョブを区分する、より効率的な手段を実現するアーキテクチャを教示する。
【０００９】
複数のＩ／Ｏ装置をクラスタ化し、それらを高機能制御装置により管理することにより、全体システム性能を向上するための幾つかの方法が考案された。Ｒａｗｌｉｎｇｓらによる１９７９年５月２９日付けの米国特許第４１５６９０７号、同じくＲａｗｌｉｎｇｓらによる１９８０年４月２９日付けの米国特許第４２００９３０号は、ホスト・システムからのデータ転送及びメッセージ転送をオフロードするための、ファームウェアにより使用可能になるＩ／Ｏプロセッサを含む、改善されたアダプタ・クラスタ・モジュール及びデータ通信サブシステムを教示する。この発明は無数の伝送プロトコルを用いて、様々なリモート周辺装置とのインタフェースを可能にする。アダプタ・クラスタ・モジュールは主に、プロトコルが不一致の下で作用する”バイト”・トラフィックを、単一プロトコルを用いて、より効率的にホスト・システムに伝送される全メッセージに変換することに関わる。この発明はまた、ホスト・システムが機能停止を生じるときでも、通信サブシステムがリモート周辺伝送を処理し続けることを可能にする、幾つかの信頼性機構及び可用性機構を使用する。そこで開示される技術は、確かにＩ／Ｏサブシステム・レベルにおける性能問題を改善するが、それらはホスト・コンピュータ・システム内の２つのプロセッサ間の、または１つのプロセッサと主メモリ間の高速データ転送の必要性を解決しない。
【００１０】
本発明により解決される全体的な問題の断片を解決する幾つかの発明が存在するが、どれも全ての側面を解決しない。より重要な点は、これらの発明で開示される概念の集結が、本発明により提供される全体効率の度合いを与えないことである。例えば、Ｂａｒｕｃｃｈｉらによる１９９５年２月２１日付けの米国特許第５３９２４０１号は、２つのプロセッサ間でデータを転送する改善された方法を教示する。しかしながら、この発明はクロスバー・スイッチの使用に頼り、共用第２レベル・キャッシュのキャッシュ・コヒーレンスを教示しない。Ｆｌｅｔｃｈｅｒによる１９８４年４月２４日付けの米国特許第４４４５１７４号は、専用キャッシュ及び共用レベル２（Ｌ２）キャッシュによりプロセッサをインタロックする手段を教示するが、クラスタ−クラスタ間インタフェースに関連する帯域幅及び待ち時間の問題を解決しない。Ｃｈｉｎｎａｓｗａｍｙらによる１９９３年２月９日付けの米国特許第５１８５８７５号は、データをキャッシュにロードするのと同時に、データを被要求プロセッサに転送することにより、記憶制御ユニット間のデータ転送待ち時間を低減する方法を教示する。類似の技術が今日、コンピュータ・システム設計において広く使用されているが、この発明は、記憶制御ユニットがキャッシュへのアクセスを要求する各システム資源（Ｉ／Ｏ及びメモリを含む）に対して、専用ピン・インタフェースを提供できない場合に生じる問題を解決しない。Ｋｅｅｌｅｙによる１９８８年１１月１５日付けの米国特許第４７８５３９５号は、少なくとも１対のプロセッサの間でキャッシュを共用する方法を教示する。しかしながら、この特許は、全てのプロセッサがキャッシュを等しい待ち時間でアクセスすることを仮定する。
【００１１】
幾つかの発明が、共用バス・システムにおいてトラフィックを調停する技術について述べており、そこでは、個々のプロセッサまたはプロセッサのクラスタが、共用バスを介して、主メモリ及び外部Ｉ／Ｏ装置と通信する。例えば、Ｆｉｓｃｈｅｒによる１９８８年１１月１５日付けの米国特許第４７８５３９４号は、共用バスの使用を調停する方法について述べている。その技術は、応答者にイニシエータよりも高い優先権を与え、たとえ受信モジュールが使用中であっても、要求が受信モジュールに対して開始されることを可能にする。本発明は、リモート側の資源が作業に順応できる場合にだけ、クラスタ−クラスタ間インタフェースを使用中にすることにより、この調停オペレーションを改善する。更に、応答者とイニシエータ間の調停が、各サイクル毎に固定の優先権無しに動的に実行される。Ｔｅｔｒｉｃｋらによる１９８６年２月１１日付けの米国特許第４５７０２２０号は、シリアル・バス及びパラレル・バスの組み合わせによりシステム・バスを構成する。バスが幾つかの”エージェント”により共用され、エージェントはハンドシェーク・シーケンスに従事し、バスの使用権を獲得しなければならない。本発明は任意のタイプのバス交渉を実行する必要無しに、１クロック・サイクルで新たな要求を動的に開始できるように、リモート資源を追跡する。
【００１２】
【発明が解決しようとする課題】
本発明の目的は、対称マルチプロセッサ・システムにおける、高速リモート記憶クラスタ・インタフェース制御装置を提供することである。
【００１３】
【課題を解決するための手段】
本発明は、双節（ｂｉ−ｎｏｄａｌ）ＳＭＰシステム内の２つのクラスタ間のインタフェースを管理する手段について述べる。好適な実施例が、複数の中央プロセッサを含む対称多重処理システム内に組み込まれる。各中央プロセッサは、専用Ｌ１キャッシュ、複数のＩ／Ｏアダプタ、及び主メモリを有し、任意のプロセッサまたはＩ／Ｏアダプタが、メモリの任意の部分をアクセスできる。プロセッサ及びＩ／Ｏアダプタの総数は、２つのクラスタに等しく分割される。更に、主メモリがバンクまたはインタリーブから構成され、その半分が各クラスタに接続される。
【００１４】
各クラスタ内には記憶制御装置が存在し、これは共用第２レベル・キャッシュ、様々な制御装置、及びあらゆるプロセッサ、Ｉ／Ｏアダプタ、及び主メモリとの個別のインタフェース（またはポート）を含む。本実施例で表されるキャッシュは、複数のバンクまたはインタリーブからなり、その内容が８ウェイ・アソシアティブ・ディレクトリにより管理される。図１に示される記憶制御装置は、主要機能要素を表し、更に好適な実施例に関連して詳述される。しかしながら、１クラスタ内の記憶制御装置の概要は、本発明の側面を理解する上で有益である。
【００１５】
記憶制御装置の主要機能は、プロセッサ及びＩ／Ｏアダプタからの、主メモリに対するデータ・フェッチ要求及びストア要求を処理することである。記憶制御装置は、ソフトウェア及びオペレーティング・システムからは体系的に見えない共用第２レベル・キャッシュを含むので、記憶制御装置はディレクトリ・アクセス及びキャッシュ・アクセスを実行する役目をする。全ての入来要求が記憶制御装置上のポートに入力し、そこで中央プロセッサ（ＣＦＡＲ）またはＩ／Ｏ制御装置により受信される。これらの制御装置は中央優先ユニットに要求を生成し、中央優先ユニットが要求を調停し、リクエスタの１つをそのアドレスにもとづき選択し、２つのマルチステージ・パイプラインの１つに入力する。パイプラインの各ステージの間、リクエスタはキャッシュ、ローカル・キャッシュ・フェッチ／ストア制御装置、データ経路制御、データ経路ＦＩＦＯバッファ、リモート・キャッシュ・フェッチ／ストア制御装置などの、様々な資源をアクセスし、それらを予約する。
【００１６】
要求がパイプラインから出力するとき、ローカル・フェッチ／ストア制御装置の１つが、完了を通じてオペレーションを管理する役目をする。しばしばこれは、パイプラインを通じる追加の経路を要求し、それによりローカル・フェッチ／ストア制御装置は、中央優先調停にも参加しなければならず、リクエスタとも見なされる。本実施例では、ローカル・フェッチ／ストア制御装置の一部として、キャッシュ制御装置及び主メモリ制御装置を含み、それらの間で、次のオペレーション、すなわち、キャッシュ・インタリーブからのデータのアクセス、キャッシュ・ミス発生時における主メモリへのデータ・アクセスの処理、キャッシュ・インタリーブへのストア・オペレーションの実行、及び主メモリ・アクセスからの入来データのための空間を確保するために、（最長未使用法による）キャッシュから主メモリへの時効データの追放のために必要な全ての資源（ＦＩＦＯバッファ及びクロスポイント・スイッチなどのデータ経路要素）を含む。
【００１７】
前述のように、主メモリ・バンクは双節ＳＭＰシステムの２つのクラスタ間で物理的に分散される。しかしながら、主メモリは、ＳＭＰシステム内のどこかに配置される任意のプロセッサまたはＩ／Ｏアダプタにとって、１つの統一されたエンティティとして現れる。従って、本実施例は、リモート・フェッチ／ストア制御装置として知られる、追加の制御装置のセットを組み込む。記憶制御装置は、各クラスタ上で、メモリ・バンクに割当てられる主メモリ・アドレスを追跡する。データ・アクセス（フェッチ要求）が、ローカル・クラスタ上でキャッシュ・ミスを発生する度に（ここで用語”ローカル”は、発信元プロセッサまたはＩ／Ｏアダプタが接続されるクラスタを指し示す）、ローカル・フェッチ／ストア制御装置はリモート（または”他の”）・クラスタに、データがそのキャッシュ内に存在するか否かを問い合わさなければならない。これらのリモート問い合わせは、リモート・フェッチ制御装置により処理され、それらはローカル・フェッチ／ストア制御装置と同様に、要求を中央優先ユニットに発行し、資源をアクセスする。
【００１８】
更に、データ・アクセスがリモート・キャッシュにおいてミスするが、アドレスがそのアドレスがリモート・クラスタに接続されるメモリ・バンクに属することを示す場合、リモート・フェッチ／ストア制御装置がまた、主メモリ制御装置と相互作用し、主メモリ・アクセスを開始する。メモリへのデータの記憶を必要とするオペレーション（時効データのキャッシュからの追放など）のために、アドレスが再度、ローカル・フェッチ／ストア制御装置がオペレーション全体を処理できるか否か、或いはリモート・ストア・オペレーションが双節インタフェースを介して開始されなければならないかを判断する。この状況では、リモート・ストア・オペレーションがリモート・ストア制御装置により処理され、後者が主メモリ制御装置と相互作用し、データを主メモリ・インタリーブに記憶する。ローカル・フェッチ／ストア制御装置同様、リモート・フェッチ／ストア制御装置も、クラスタ間オペレーションを処理するために必要な全ての資源（データ経路、ＦＩＦＯバッファ、及びクロスポイント・スイッチを含む）を含む。
【００１９】
本発明は、前述のリモート・フェッチ／ストア制御装置を含む資源を管理し、これらのリモート・フェッチ／ストア制御装置に作業を分配するリモート管理システムに関する。リモート・フェッチ／ストア制御装置は、エージェントとして動作し、作業要求を開始したリクエスタに関する知識を要求すること無く、所望のオペレーションを実行する。対称マルチプロセッサの複数のクラスタ間の絶え間の無い通信の必要無しに、作業を処理するためにリモート資源が使用可能なときにだけ作業が分配される。従って、最小のインタフェース通信信号が使用される。
【００２０】
本発明のリモート資源管理システムは、対称マルチプロセッサの２つのクラスタ間のインタフェースを、少ない数の入出力ピンを用いて、効率的に管理する。ピン制限を克服し、その上、Ｓ／３９０エンタープライズ・サーバなどの非常に複雑なコンピュータ・システム内に統合することを可能にするため、幾つかの技術が使用される。ここでＳ／３９０サーバでは、１クラスタが複数の超高速プロセッサ、共用Ｌ２キャッシュ、複数のＩ／Ｏアダプタ手段、及び主メモリを含み得る。こうしたシステムでは、性能が際だって優れ、キャッシュ・ミスに関連付けられる待ち時間が最小化されなければならない。従って、本発明はパッケージング・コストを最小化する一方で、全体システム性能を最大化することを探究する。
【００２１】
まず第１に、各クラスタ上の１つのインタフェース・ユニットが、インタフェースの完全な制御を担う。こうした制御には、待ち行列化された要求を優先順位付けするステップ、インタフェースを通じて新たなオペレーションを送信するステップ、他の側からの返却応答を処理するステップ、及びクラスタ間の全てのデータの転送を監視するステップが含まれる。制御Ｉ／Ｏの数の制限により、本発明はリモート資源管理と、コマンド再マップ化との新たな組み合わせにより、伝送される必要がある情報の量を最小化する。ローカル・インタフェース制御装置は、作業要求をリモート側に開始するだけでなく、リモート側のフェッチ／ストア制御装置を管理し、それにより新たなオペレーションを使用可能な制御装置に即時経路指定する。リモート・フェッチ／ストア制御装置は単に、ローカル・インタフェース制御装置のために作業するエージェントとなり、ローカル・インタフェース制御装置がリクエスタのために作業する。このように活動することにより、オペレーションの所有者を識別する情報を送信する必要性を排除する。なぜなら、リモート側はそれを知る必要性を有さないからである。
【００２２】
リモート制御装置の更なる単純化が、コマンド再マップ化オペレーションを通じて達成され、それにより幾つかのローカル・オペレーションが、１つのアトミック・リモート・オペレーションに結合される。例えば、データの読出し専用コピーに対するプロセッサ・フェッチ要求、及び記憶保護キーを含む読出し専用データに対するフェッチ要求が、リモート・クラスタ上のフェッチ制御装置が、同一の状態図及びキャッシュ管理オペレーションを使用することを要求する。従って、インタフェース制御装置はこれらの両方を、読出し専用ライン・フェッチとして知られる、１つの単純化されたリモート記憶クラスタ（ＲＳＣ）・インタフェース制御装置コマンドに再マップし、それによりリモート記憶クラスタ・インタフェース制御装置（ＲＳＣ）により処理されなければならないオペレーションの数を低減する。
【００２３】
この再マップ化オペレーションの追加の利点は、不要なデータ転送を除去することにより、インタフェース・データ経路をより効率的に管理する能力である。６４バイトのＩ／Ｏストアについて鑑みると、入来する６４バイトが主メモリに記憶される以前に、同一のデータ・ラインの最も最近のコピーと併合されることが要求される。このオペレーションは、ターゲット主記憶アドレス及び現キャッシュ状態に依存して、次の３つの異なる状況を生じ得る。
１．データがリモート側の主メモリをターゲットとし、ローカル・キャッシュにおいてミスする場合、Ｉ／Ｏストア・データが他の側に送信され、併合されなければならない。このことはＲＳＣインタフェース制御装置（ＲＳＣ  ＩＣ）が、ローカル・クラスタからリモート・クラスタにストア・オペレーションを実行することを必要とする。
２．データがローカル・メモリをターゲットとするが、リモート・キャッシュにおいてヒットする場合、リモート側からラインが検索され、ローカル・クラスタ上で併合が実行される必要がある。このことは可能なデータ・フェッチと共に、リモート側との相互問い合わせを必要とする。
３．ラインのコピーが両方のキャッシュ内に存在する場合、リモート側のラインを無効にするアクションだけが要求される。なぜなら、入来する６４バイトは、ローカル・キャッシュ内のコピーと併合されるからである。
【００２４】
より単純な設計は、インタフェースを介して、Ｉ／Ｏストア・コマンドを無条件に６４バイトのデータと一緒に送信することである。すると、他の側のリモート・フェッチ／ストア制御装置が、ディレクトリ・ステータスにもとづき、必要なアクションを実行する。しかしながら、３つのケースの内の２つにおいて、ストア・データの転送は、不必要にローカル−リモート間データ・バスを拘束する。ディレクトリ情報を送信するために、追加の制御ラインも要求され得る。本発明は、最後の２つのケースを、それぞれ”強制追放（ｆｏｒｃｅ  ｃａｓｔ  ｏｕｔ）”コマンド及び”読出し専用無効（ｒｅａｄ−ｏｎｌｙ  ｉｎｖａｌｉｄａｔｅ）”コマンドに再マップする、高機能インタフェース制御装置を使用する。
【００２５】
コマンド再マップ化は幾つかの利点を提供する。第１に、それはリモート・フェッチ／ストア制御装置の設計を単純化する。なぜなら、多くのオペレーションが、単純なアトミック・インタフェース・オペレーションのサブセットにマップされるからである。第２に、クラスタ間でディレクトリ情報を送信するために、追加の制御Ｉ／Ｏが要求されない。第３に、待ち時間の増加を防止するために、コマンド再マップ化が、新たなコマンドがインタフェースを横断するための優先順位が発行されるのと同一サイクル内に実行される。
【００２６】
リモート管理システムは、１つのまたは複数のパイプライン化レベル２キャッシュをサービスするための、多数のフェッチ制御装置及びストア制御装置を含む、ハイエンド記憶サブシステムとインタフェースするように設計される。一連の優先ステーションが、インタフェースを介して送信される要求を究極的に選択するために使用される。複数のパイプが関与するが、各パイプ内の優先ステーションは、フェッチ要求またはストア要求の１つを選択し、ＲＳＣ  ＩＣに転送する。同一のサイクルの間、ＲＳＣ  ＩＣは高性能優先オペレーションを使用し、コマンド・タイプ及び資源可用性にもとづき、最適な要求を選択する。複数のパイプが任意の所与のサイクルにおいて、インタフェースの使用を要求できるので、リモート・フェッチ制御装置が使用可能である限り、オペレーションはストアよりもフェッチを優先する。それ以外では、リモート・ストア制御装置が使用可能である限り、ストアが実行され、データ経路がそれらのストア・オペレーションにとって使用可能になる。両方の要求がフェッチであり、両方が使用可能な資源を有する場合、単純なラウンド・ロビンが優遇される方の要求を決定する。両方の要求がストアの場合、どちらのパイプが使用可能な資源を有するかにより、勝者が決定される。再度、両方共に使用可能な資源を有する場合、単純なラウンド・ロビンが使用される。この方法は事実上、作業要求及び使用可能な資源が存在する限り、コマンドが伝送されることを保証する。更に、プロセッサ・フェッチに与えられる優先処置が、全体システム性能を向上させる。最後に、ローカル・インタフェース制御装置内のリモート資源の管理により、インタフェース・サイクルがリモート側で結局、待ち行列化される作業の伝送のために浪費されないように保証される。
【００２７】
更に、Ｌ１キャッシュ・ミスによるプロセッサのデータ・アクセス待ち時間を低減するために、ＲＳＣ  ＩＣは、フェッチ制御装置またはストア制御装置がインタフェースの使用を要求していないサイクルの間、”高速路指定（ｆａｓｔ−ｐａｔｈｉｎｇ）”技術を使用する。これらのサイクルの間、全てのパイプが有効なＣＰフェッチのためにモニタされる。もしそれが見い出されると、即時リモート側にディスパッチされ、その間、ローカル・キャッシュ・フェッチ制御装置が並列にロードされる。これはフェッチ要求が、リモート側への１サイクルのヘッド開始を獲得することを可能にし、それにより返却データの待ち時間を低減する。
【００２８】
リモート・キャッシュをヒットするデータ・フェッチの最良の待ち時間と、ローカル主メモリからのデータ・アクセスとの間には、大きな相違が存在するので、ＲＳＣ  ＩＣは、リモート・キャッシュ・ヒットをローカル・フェッチ制御装置に伝達する能力を有し、それにより、主記憶アクセスの取り消しを可能にする。このことは別の要求のためにメモリ・バンクを解放することにより、システム性能全体に寄与する。
【００２９】
ＲＳＣ  ＩＣは同期応答バス及び非同期応答バスの両方を使用し、キャッシュ・コヒーレンスを維持する一方、性能を最大化する。要求がリモート側のキャッシュ状態をテストする以前に、オペレーションを完了するための正確なパイプ・サイクル数を決定することは不可能であるので、非同期応答バスが全ての最終応答に対して使用される。これらの応答は、リモート・オペレーションの公式の終りをマークし、しばしばオリジナル・リクエスタに転送される。更に、最終応答はデータ変更情報（ライン変更ステータス）によりタグ付けされ、これがローカル・ディレクトリが適切な最終状態により更新されることを可能にする。最終応答は、単一の最終応答インタフェース・バスの競合により遅延され得るので、初期リモート・キャッシュ相互問い合わせ（ＸＩ：ｃｒｏｓｓ  ｉｎｔｅｒｒｏｇａｔｉｏｎ）の結果を、それが知れるや否や報告することにより性能が改善され得る。ＲＳＣは常に、このＸＩ結果を同期ＸＩ応答バスを用いて、最小の時間フレーム内に報告できる。これが可能な理由は、記憶クラスタ（ＳＣ）の中央優先ステーションが、リモート側から受信される新たな要求が、即時適切なパイプラインに受け入れられるように保証するからである。初期ディレクトリ検索が固定パイプ・サイクル内に実行され、結果がＸＩ応答バスを介して返送される。オペレーションを開始したインタフェース制御装置は、ＸＩ応答が将来の固定サイクル数以内に使用可能であることを知り、従って、単純なステージング機構が、ヒット／ミス結果を要求フェッチ／ストア制御装置に転送するために使用される。
【００３０】
制御インタフェースを管理することに加え、ＲＳＣ  ＩＣは全てのクラスタ−クラスタ間データ・フローを管理する。本発明は、各パイプが双方向に１サイクル当たり１６バイトを転送することを可能にする、十分なデータ・フローＩ／Ｏを含み、ＲＳＣ  ＩＣは潜在的に、１サイクル当たり６４バイトの最大スループットを使用することができる。２つの単方向データ経路が存在するが、所与のデータ経路が、クラスタＡからクラスタＢに転送されるストア・データ、及びクラスタＢからクラスタＡに返却されるフェッチ・データのための、コンジット（ｃｏｎｄｕｉｔ）として作用しなければならない。ＲＳＣ  ＩＣは衝突を回避するだけでなく、予めバスを予約すること無くそれを実行する。このことはＲＳＣ  ＩＣが、ローカル・ストア制御装置からの要求を、常駐リモート・フェッチ制御装置からの要求と比較し、フェッチ・データを返却することを可能にする。両者がデータ経路を競合するサイクルの間、優先権が返却フェッチ・データに与えられる。再度、これは全体システム性能を支援する。更に、フェッチ・データがリモート主メモリから獲得される場合、データがメモリ・バンクからアクセスされるとき、ＲＳＣ  ＩＣが対応するデータ経路をモニタする。ＲＳＣデータ経路が使用可能な場合、データがリモート・フェッチ・バッファをバイパスし、それにより、データの一時的バッファリングに関連付けられる正規の待ち時間を低減する。
【００３１】
本発明は、全体システム・スループットを改善するために複製される、リモート記憶制御装置の資源の管理を改善する方法を証明した。例えば、リモート・キャッシュをヒットする、連続的フェッチ要求の効率を最大化するために使用される１つの技術は、複製のリモート・フェッチ資源の間で、作業要求を交互することである。全てのフェッチが、転送されるデータの最初の１６バイトに相当する最終応答により終了する。これに関する利点は、リモート・フェッチ制御装置のバッファがまだ空の間に、リモート・フェッチ資源が即時新たな作業に割当てられることである。逆に欠点は、新たな作業の一部が、リモート・キャッシュをヒットするデータ・フェッチである場合に生じる。バッファはまだ空であろうから、リモート・フェッチ制御装置はバッファが使用可能になるまで、要求をパイプを通じてリサイクルしなければならない。ＲＳＣ  ＩＣは、複製のリモート・フェッチ制御装置が使用可能であれば、第２のフェッチ要求をその複製のリモート・フェッチ制御装置に送信することにより、この状況を緩和する。それにより、第１のバッファがまだそのデータ転送を完了している間、第２のリモート・フェッチ制御装置が、そのバッファのロードを開始できる。このことは、第１のバッファの転送の完了時に、第２のバッファが即時、そのデータをインタフェースを介して転送することを可能にする。
【００３２】
リモート・インタフェースはまた、オペレーションがリモート側で成功裡に完了し得ない場合に、多くのオペレーションが再試行されるようにすることにより、高い信頼性及び可用性を示す。これらのタイプの問題は、２つの主なカテゴリ、すなわち拒絶とインタフェース・エラーとに分類される。オペレーションは、潜在的な相互クラスタ・デッドロックを回避するため、リモート・クラスタにより拒絶され得る。これらのデッドロックは、記憶サブシステム・フェッチ制御装置及びストア制御装置の数が、それらにサービスするＲＳＣ資源の数よりも多い場合に発生し得る。リモート・フェッチ制御装置及びストア制御装置は、相互クラスタ・デッドロックを生じ得るオペレーション・シーケンスをモニタするように設計される、デッドロック回避機構を含む。こうした状況の検出に際して、制御装置は特殊な拒絶応答を開始クラスタに返却することにより、保留のオペレーションを拒絶する。ＲＳＣ  ＩＣが次に、拒絶を発信元フェッチ／ストア制御装置に転送し、オペレーションが再試行される。デッドロック窓が消えるまで、オペレーションは連続的に拒絶され、再試行される。新たなＲＳＣオペレーションに付随する任意の制御情報に対して、インタフェース・パリティ・エラーが検出されるとき、他のタイプの回復が発生する。コマンドが送信された後、固定サイクル数以内にインタフェース・エラー・ステータスを伝送するために、同期インタフェースが使用される。エラーの場合、発信元フェッチ／ストア制御装置がそれを通知され、実質的に回復の適格性を決定する。ＲＳＣ  ＩＣは自動的に対応するＲＳＣ資源をリセットし、オペレーションが再度要求されることを可能にする。これらの及び他の改善が、以下で詳述される。本発明の利点及び特徴をより理解するため、以下の説明及び図面を参照されたい。
【００３３】
本発明は好適な実施例に関連して述べられるが、当業者であれば、ここで開示される概念が３つ以上のクラスタを含み、本実施例とは異なる記憶クラスタを使用するシステムにも適用可能であることが理解できよう。更に、本発明は、異なる数及び構成の機能ユニットを有する、代替の記憶制御装置の実施例についても考慮する。これらには、キャッシュ構造、主メモリ構成、データ経路資源（バッファ、制御バスなど）の数及びサイズ、様々な制御装置の構成、及びパイプラインの数及びサイズなどが含まれる。
【００３４】
【発明の実施の形態】
図１は、双節対称マルチプロセッサ・システムの１つの記憶制御装置クラスタを示す。本発明はリモート記憶クラスタ・インタフェース制御装置（ＲＳＣ  ＩＣ）１０として表され、これは１対のローカル・フェッチ／ストア制御装置１１、リモート・フェッチ／ストア制御装置１２、及び集中型マルチステージ・パイプライン１３のセットと相互作用する。これらのパイプラインは、中央優先１４ステーションにより供給され、これはＮ個の中央処理ユニット制御装置１５またはＮ個のＩ／Ｏアダプタ制御装置１６から発生する非同期の作業要求を優先順位付けする。各ＣＰＵ制御装置は、ＳＭＰシステム内の特定の中央プロセッサ（ＣＰＵ）と親和性を有する。パイプラインは共用レベル２ストアイン・キャッシュを含み、それに対して、全ての中央処理ユニット、Ｉ／Ｏアダプタ及びローカル・フェッチ／ストア制御装置及びリモート・フェッチ／ストア制御装置が、読出しアクセス及び書込みアクセスを有する。好適な実施例で使用されるキャッシュ・コヒーレンス・オペレーションは、データが読出し専用状態または排他的所有状態でキャッシュ内に存在することを可能にする。ここで読出し専用状態では、両方のクラスタ上の全てのプロセッサ及びＩ／Ｏアダプタが、データのコピーをアクセスすることができ、排他的所有状態では、１つのプロセッサだけが任意の時刻にデータを所有できる。たとえ別のプロセッサが現在所与のデータを所有していようと、任意のクラスタ上の任意のプロセッサが、任意の時刻にそのデータの所有権を要求し得る。
【００３５】
好適な実施例はデュアル・パイプライン設計を使用し、そこでは中央パイプライン１３、リモート・フェッチ／ストア制御装置１２、及びローカル・フェッチ／ストア制御装置１１が全て重複される。本発明で開示される概念は、記憶制御装置（ＳＣ）の周囲の構造に独立であり、３つ以上のパイプラインを使用する従来的または新たな単一パイプラインＳＣ設計により効果的に実現され得る。当業者であれば、ＲＳＣ  ＩＣ１０のインタフェース方法、及び内部機能ブロック図が、ほとんどのＳＣ構造に当てはまるように、容易にスケーリングされ得ることが理解できよう。
【００３６】
ＲＳＣインタフェース制御装置１０は、様々なＳＣ機能ユニットと相互作用する幾つかのサブユニットから構成される。パイプライン１３及びフェッチ／ストア制御装置１１、１２の１対のセットからの要求をサービスする、１つのリモート記憶クラスタ・インタフェースだけしか存在しないので、唯一のＲＳＣ  ＩＣが、複数のローカル・インタフェース、及びクラスタ−クラスタ間インタフェースに順応しなければならない。更に、ＲＳＣ  ＩＣは、ローカル・クラスタからリモート・クラスタへの、及びその逆のトラフィック・フローを管理しなければならない。図２は、詳細なインタフェースと、ＲＳＣ  ＩＣ１０を含むサブユニットを示す。
【００３７】
好適な実施例の記憶制御装置の性質により、大半の要求はローカル・フェッチ／ストア制御装置１１から到来する。これらの要求は、ＬＦＡＲ要求として知られるフェッチ要求と、ＬＳＡＲ要求として知られるストア要求とに分けられる。好適な実施例では、各パイプラインに対して、４つのＬＦＡＲ要求及び４つのＬＳＡＲ要求が存在し、従って、ＲＳＣインタフェースの使用を競合する、合計１６の可能なＬＦＳＡＲ要求が存在する。ＬＦＳＡＲ制御装置内の事前優先（ｐｒｅ−ｐｒｉｏｒｉｔｙ）ステーションは、各パイプから１つのリクエスタを選択し、高々２つの要求を１クロック・サイクルでＲＳＣ  ＩＣに転送する。再度、本発明の趣旨は、任意の数のＬＦＡＲリクエスタ及びＬＳＡＲリクエスタが、任意の数のパイプラインの間で分配されることを可能にする。更に、ＬＦＳＡＲ制御装置１１内の事前優先ステーションが、ＲＳＣ  ＩＣ内のコマンド優先ユニットに直接組み込まれ得る。
【００３８】
ＬＦＳＡＲ制御装置１１とＲＳＣ  ＩＣ１０間のインタフェースに注意を向けると、１パイプラインに関連付けられる制御装置の各セットに対して、１つのインタフェースが存在する。各インタフェースは、要求バス、Ｃ３コマンド・バス、Ｃ３リクエスタＩＤバス、及びＣ３アドレス・バスを含む。８ビット要求バスは、ＬＦＡＲリクエスタ及びＬＳＡＲリクエスタの各々に対して１ビットを含み、１ビットだけが任意のサイクルで活動化され得る。このビットは、事前優先ステーションによりそのサイクルにおいて選択される、ＬＦＡＲ制御装置またはＬＳＡＲ制御装置のＩＤを示す。対応するバスが、パイプラインにコマンドを開始したＣＰＵ、Ｉ／ＯアダプタまたはＳＣ制御装置の、コマンド、アドレス及びＩＤを伝達する。この情報の全てが、パイプラインの第３ステージに相当するＣ３サイクルで、ＲＳＣ  ＩＣに提供される。ＲＳＣ  ＩＣがＬＦＳＡＲ要求を、それが提供されるサイクルにおいて優遇することができない場合、ＬＦＳＡＲ制御装置は同一の要求を提供し続けるか、次のサイクルで新たな要求を動的に選択し得る。
【００３９】
ＬＦＳＡＲ制御装置に加え、パイプライン１３自身もまた、高速路指定と呼ばれるオペレーションを可能にするリクエスタとして作用する。高速路指定は、フェッチが要求され、いずれのＬＦＳＡＲ制御装置１１からも保留の作業が存在しない場合、ＲＳＣが両方のパイプをモニタし、リモート・フェッチ・オペレーションを発行することを可能にする。Ｃ１コマンド、Ｃ１アドレス、及びＣ１リクエスタＩＤが、各パイプの第１ステージ（Ｃ１サイクル）から獲得され、ＲＳＣＩＣのＲＳＣ優先２１サブユニット内の事前優先ステーションに送信される。事前優先ステーションの出力が、主優先ステーション（同様にＲＳＣ優先２１サブユニット内に配置される）に転送され、そこでＬＦＳＡＲ制御装置１１からの要求と競合する。
【００４０】
各サイクルごとに、ＲＳＣ優先２１ステーションは保留の作業要求を調査し、高性能オペレーションにより、インタフェースを横断することを許可される要求を決定する。要求の選択に際して、選択されたオペレーションのパイプラインに対応するＬＦＳＡＲ制御装置１１に、グラント（許可）が送信される。グラントは選択されたオペレーションが、ＬＦＳＡＲ制御装置１１からの保留の要求であったか、或いはパイプライン１３から開始された高速路オペレーションであったかを示す。グラントがＬＦＳＡＲ制御装置に発行されている間、選択されたコマンドが、その関連アドレス、リクエスタＩＤ、及びＲＳＣ資源を示すタグ・ラインと共に、ＲＳＣインタフェースを介して、リモート・クラスタに送信される。
【００４１】
全てのＲＳＣオペレーションが、リモート・クラスタから特定のタイプの完了応答を要求する。更に、データ・フェッチは、要求されたデータがリモート・キャッシュ内に存在するか否かを示す相互問い合わせ（ＸＩ）応答を要求する。全ての応答がＲＳＣ  ＩＣ１０を通じて処理され、オリジナル・リクエスタに直接的に、または間接的に転送される。大半の時間、応答が復号され、適切なステータス、解放及びキャッシュ・コヒーレンス情報が、ＬＦＡＲ制御装置またはＬＳＡＲ制御装置に転送される。しかしながら、多くのオペレーションが、応答をオリジナルＣＰＵ制御装置（ＣＦＡＲ）１５に返送することに携わる。応答の最終的な宛先に関わらず、ＲＳＣ  ＩＣはあらゆるオペレーションにとって必要な全ての情報を追跡し、それにより、全てのＲＳＣオペレーションにおける応答情報が、１つの符号化応答バス上で多重化され得る。ＲＳＣ  ＩＣは、応答ハンドラ２２への入来応答を受信する。応答ハンドラのジョブは、応答を復号し、適切な情報をＬＦＳＡＲ制御装置１１またはＣＰＵ制御装置１５に伝送することである。
【００４２】
図２はまた、リモート・フェッチ／ストア制御装置１２とＲＳＣ  ＩＣとの間のインタフェースを示す。リモート・フェッチ／ストア制御装置は、別々のリモート・フェッチ制御装置（ＲＦＡＲ）１２ａ及びリモート・ストア制御装置（ＲＳＡＲ）１２ｂに分けられる。リモート・フェッチ制御装置１２ａは、他のクラスタからフェッチ要求を受信し、それらをパイプライン１３を通じて処理し、（可能であれば）データを必要な応答情報と一緒に返却する役目をする。リモート・ストア制御装置１２ｂは、入来ストア・オペレーション（及び任意の付随データ）を受信し、それらをパイプライン１３を通じて処理し、必要な応答情報を返却する。各パイプラインは、自身に関連付けられるＲＦＡＲ１２ａ制御装置及びＲＳＡＲ１２ｂ制御装置を有する。従って、所与のサイクル内に最大４つの要求がＲＳＣ  ＩＣに提供され、情報が符号化応答バス上に返却される。ＲＳＣ  ＩＣ内の応答優先２３サブユニットが、これらの要求を調停し、符号化応答バス上のトラフィックを管理する。ＲＦＡＲ制御装置がフェッチ・データを返却する必要がある場合、応答優先２３ステーションがＲＳＣ優先２１ステーション及びクロスポイント（ＸＰＴ）制御装置２５と通信し、データ経路が使用可能になるように保証する。
【００４３】
本発明の重要な側面の１つは、資源レジスタ２４を使用し、ローカル側の全てのリモート活動を追跡することである。インタフェースＩ／Ｏを最小化し、スループットを最大化するために、ＲＳＣ  ＩＣは、ローカル側のオリジナル・リクエスタのためのエージェントとして作用する。ＲＳＣ  ＩＣはリモート側のＲＦＡＲ資源及びＲＳＡＲ資源を追跡し、絶え間の無いクラスタ−クラスタ間通信の必要性を除去する。資源レジスタ２４はＲＳＣ優先２１ステーションと相互作用し、ＲＳＣ資源が使用可能な場合にだけ、オペレーションが開始されるように保証する。オペレーションの開始に際して、ＲＳＣ  ＩＣは選択されたＲＦＡＲまたはＲＳＡＲを”使用中（ｉｎ  ｕｓｅ）”とマークし、その資源は、オペレーションの完了を示す応答が受信されるまで使用中であり続ける。これらの応答は次に、資源をリセットし、それを新たなオペレーションのために使用可能にするために使用される。
【００４４】
好適な実施例では、合計８つのＲＳＣ資源レジスタ２４が存在し、各パイプラインに対して、２つのＲＦＡＲ及び２つのＲＳＡＲが存在する。２つのＲＦＡＲ／ＲＳＡＲの各々は、互いに同一であり、複数のリモート・フェッチ及びストア・オペレーションが、各パイプにより同時に処理されることを可能にすることにより、主に性能を向上するために存在する。再度、本発明は１パイプ当たり、２つのＲＦＡＲ及び２つのＲＳＡＲを要求したり、それに制限されるものではない。全てのリモート資源は、存在する数に関係無しに、同様に追跡される。
【００４５】
オペレーションの選択に先立ち、オリジナル・パイプライン・コマンドがＲＳＣコマンドに変換される。多くの場合、結果のＲＳＣコマンドはオリジナル・コマンドと同一であるが、特定の場合では、コマンド・コード・ポイントが再マップされ、類似のオペレーションが１つのＲＳＣコード・ポイントを共用することを可能にする。このステップは、全てのＲＳＣフェッチ・コマンドが連続範囲内（好適な実施例では’０１’ｘ乃至’１Ｆ’ｘ）に収まる一方、全てのストア・コマンドが、異なる連続範囲内（好適な実施例では’２０’ｘ乃至’３Ｆ’ｘ）に収まることを保証する。オペレーションの開始に際して、ＲＳＣ  ＩＣは２つの選択ビットを使用し、他の側に対して８つの資源の内で、新たに選択されたオペレーションをサービスする資源を示す。２つのビットは、パイプラインと、そのパイプライン内の１対の資源の内で、コマンドを処理すべき方の資源を示す。コマンドのビット０は、コマンドがフェッチ・タイプ（ビット０＝０）か、ストア・タイプ（ビット０＝１）かを決定する。全てのフェッチ・コマンドはＲＦＡＲによりサービスされ、ストア・コマンドはＲＳＡＲにより処理される。コマンド及びアドレスが常に伝送されなければならないので、このアプローチは両方の側を同期するために、２つの追加のインタフェース制御ビットが１度だけ伝送されることを必要とする。ここで好適な実施例は、コマンド、アドレス及び選択ラインに加え、要求ＩＤを伝送するためのＲＳＣインタフェース・バスを示す。この要求ＩＤは純粋に、ＲＳＣインタフェースを通じて、リモート側のＣＰＵ制御装置またはＩ／Ｏアダプタ制御装置などのリクエスタに転送される情報である。本発明が使用する技術は、その目的を達成するために、オリジナル・リクエスタのＩＤの知識を必要としない。
【００４６】
最後のサブユニットは、クロスポイント（ＸＰＴ）制御装置２５であり、これはクラスタを接続する４つのデータ経路を管理する役目をする。好適な実施例では、各パイプに対して、２つの単方向データ経路が存在し、同時に４つのデータ転送が発生することを可能にする。各データ経路は、４つのオペレーションが同時に発生し得るように、それ自身のＸＰＴバスを有する。データ経路は１６バイト幅であり、各サイクルにつき４倍長ワード（１６バイト）を転送することができる。
【００４７】
ＲＳＣコマンド変換：
本発明の目的の１つは、リモート資源管理を用い、クラスタ−クラスタ間インタフェースを介して交換されなければならない情報の量の他に、リモート・フェッチ／ストア制御装置１２のサイズ及び複雑度を最小化することである。複雑な記憶制御装置を有するハイエンドＳＭＰシステムでは、事実上、ローカル・クラスタ内で開始され得るあらゆるコマンドが、リモート・クラスタ上で処理されるために、インタフェースを介して送信され得る。これらのコマンドが一連のアトミック・オペレーションに分解されるとき、リモート側のＲＳＣフェッチ／ストア制御装置１２が、同一の状態マシンを用い、幾つかの類似のコマンドを処理することができる。従って、ＲＳＣ設計を単純化するために、ローカル側のオリジナル・コマンドのあるものは、等価な”基本（ｂａｓｅ）”ＲＳＣコマンドに再マップされる。例えば、”記憶保護キーを有する排他的フェッチ”は、”キーの無い排他的フェッチ”と同一のパイプライン・シーケンス及びディレクトリ更新アクションを生じる。従って、ＲＳＣインタフェース制御装置は、キーを有する排他的フェッチ・コマンド（’０６’ｘ）を、それをインタフェースを介して送信する以前に、単純な排他的フェッチ・コマンド（’０２’ｘ）に再マップする。
【００４８】
好適な実施例は、図３に示されるハードウェアにより、コマンド変換を実現する。オリジナル・コマンドが、フリップ・ビット発生器２６に入力する。ここでフリップ・ビット発生器は、コマンド変換テーブル２８のフリップ・ビット列を実現するために要求される論理ゲートから構成される。オリジナル・コマンドがディレクトリ・ステータス及びターゲットＬ３と結合され、フリップされる必要があるビットを決定する。結果のフリップ・ビットがＸＬＡＴ２７ブロックにおいて、オリジナル・コマンドと排他的論理和され、コマンド変換テーブル２８のＲＳＣコマンド列内に示される所望のＲＳＣ基本コマンドを生成する。ＲＳＣコマンド変換器は、１クロック・サイクル内に変換を実行するように設計される、独立な機能ユニットである。従って、当業者であれば、これが使用され得る柔軟性を理解することができよう。例えば、コマンド変換器は物理的に、ＲＳＣインタフェース制御装置１０の一部として実現されるか、或いはＲＳＣに作業要求を開始する制御装置内に含まれ得る。更に、コマンド変換器は、ＲＳＣコマンド優先ステーションと同一の論理サイクルに統合されるか、オリジナル・コマンドが使用可能な場合、前のサイクルで実行されてもよい。例えば、好適な実施例では、パイプライン高速路コマンドが第２のパイプライン・ステージ（Ｃ２）で使用可能であり、従って、ＲＳＣコマンド優先サイクル以前に変換され得る。
【００４９】
コマンド変換の使用は、幾つかの点でインタフェース効率を向上する。まず第１に、多くのオペレーションがリモート側に、所望のデータがローカル・キャッシュ内に存在するか否かを問い合わせる必要がない。従って、コマンド変換器はディレクトリ・ステータスを用い、これらのタイプのオペレーションを、ＲＳＣインタフェースの使用を要求するものから除外する。第２に、コマンド変換は、データが１度転送され、処理され、次にオリジナル側に返却されるのではなく、データ転送が１方向にだけ送信されればよいことを保証する。例えば、Ｉ／Ｏストア６４バイト（コマンド２８）は、変換が無い場合、たとえデータの最終的な宛先がローカルＬ３メモリであっても、６４バイトのデータの無条件伝送を生じる。このことは、６４バイトがリモート側に転送され、ターゲット・ラインに併合され、更新されたラインがインタフェースを介して再度返却され、ローカル・クラスタに接続されるＬ３メモリに記憶されなければならないことを意味する。本発明は、宛先アドレスがリモートＬ３メモリであり、データがキャッシュ内に存在しない場合、ローカルＬ３及びディレクトリ・ステータスを用いて、インタフェースを介して６４バイトを送信するだけにより、データ転送を最適化する。データがキャッシュ・ミスを生じ、ターゲットＬ３がローカル側であり、更にデータがリモート・キャッシュ内でヒットする場合、それをリモート・キャッシュから転送するように要求する問い合わせが、他の側に送信される。この状況では、初期データ転送は発生せず、ターゲット・ラインがリモート・キャッシュ内に保持されている場合、データがインタフェースを介して戻されるだけである。たとえデータがリモート・キャッシュ内に存在しても、オペレーション全体は、リモート側からローカル側への１度のデータ転送を必要とするだけであり、ローカル側でデータがＩ／Ｏストア・データと併合され、ローカルＬ３メモリ内に記憶される。最後に、Ｉ／Ｏストアの第３の可能な状況は、ターゲット・データが両方のキャッシュ内に読出し専用状態で存在する場合である。再度、この場合、Ｉ／Ｏストア・データがデータのローカル・コピーと併合され、インタフェースを介してデータを転送する必要がない。代わりに、オリジナル・コマンドが読出し専用無効コマンドに変換され、それがリモート・フェッチ制御装置１２ａに転送され、リモート・キャッシュ内のデータのコピーが無効とマークされる。
【００５０】
ＲＳＣ優先ステーション：
作業要求をできるだけ効率的且つ好都合に処理するために、ＲＳＣインタフェース制御装置１０が多重レベル高機能優先ステーションを使用する。図４は、全体的な優先ステーションを示し、これは主コマンド優先ステーション３３と、それに供給するパイプライン事前優先ステーション３２とを含む。パイプライン事前優先ステーションは、両方のパイプラインの第１ステージ（Ｃ１）をモニタし、高速路候補を探索する。任意のＣＰＵフェッチ・コマンド（’０１’ｘ乃至’０７’ｘ）が、高速路指定の候補と見なされる。いずれかのパイプ・コマンドが候補の場合、それが事前優先ステーション３２に入力し、他のパイプライン・コマンドと共に、Ｃ２ステージング・エリアへの選択を競合する。１つのパイプだけがそのサイクルにおいて有効な候補を有する場合、それが自動的に選択される。両方のパイプが有効な候補を有する場合、単純なラウンド・ロビンが次の順番のものを決定する。
【００５１】
パイプ・コマンドがＣ２ステージング・エリアに選択されると、それが第２パイプライン・ステージ（Ｃ２）に関連付けられる様々なインタフェース信号と比較される。これらのＣ２拒絶信号には、様々なＣＰＵ制御装置１５からのディレクトリ・ステータス、拒絶信号、及びＬＦＳＡＲ制御装置１１からの高速路阻止信号が含まれる。これらの信号の組み合わせが、Ｃ２ステージング・エリア内の現オペレーションが、完全に拒絶されるべきか、或いは主コマンド優先ステーション３３に転送されるべきかを決定する。オペレーションを拒絶する可能な原因には、次のものが含まれる。
○リモート側にデータを問い合わす必要性を否定する適切な状態を有する、ローカル・ディレクトリをヒットするＣＰＵフェッチ
○任意のＣＰＵ  ＣＦＡＲ制御装置１５からの拒絶信号
○Ｃ２パイプライン有効のリセット
○ＬＦＳＡＲ制御装置１１からの高速路阻止信号
○Ｌ３メモリ構成アレイからの無効アドレス指示
【００５２】
拒絶条件が存在しない場合、コマンドは主コマンド優先ステーション３３に転送され、そこで両方のＬＦＳＡＲ制御装置１１からの要求と競合する。
【００５３】
図４に示されるように、コマンド優先ステーション３３は、パイプライン事前優先ステーション３２から転送されるパイプライン高速路情報の他に、各ＬＦＳＡＲ制御装置１１から信号のセットを受信する。更に、コマンド優先ステーションは、８つの資源レジスタ２４及びＸＰＴ制御装置２５とインタフェースし、知能的に好適なオペレーションを選択する。
【００５４】
基本的に、オペレーションは、ＬＦＳＡＲオペレーションが保留でＲＳＣ資源が使用可能な場合、常にＬＦＳＡＲオペレーションを選択しようとする。１つのＬＦＳＡＲ制御装置１１だけが要求しており、ＲＳＣ資源が使用可能な場合、そのＬＦＳＡＲが選択される。両方のＬＦＳＡＲ制御装置１１が要求しており、一方だけが使用可能な資源を有する場合、そのＬＦＳＡＲが選択される。両方のＬＦＳＡＲ制御装置１１が要求しており、両方が使用可能な資源を有する場合、フェッチ・タイプのオペレーションがストア・タイプよりも優先される。両方の要求が同一のタイプの場合、単純なラウンド・ロビンが次の順番を決定する。最後に、ＬＦＳＡＲ制御装置１１が要求していない場合、或いはＬＦＳＡＲ要求を優遇する資源が使用可能でない場合、高速路要求が選択される。
【００５５】
資源の可用性は、オペレーションのタイプに依存して変化する。フェッチは最も単純な場合である。なぜなら、要求される資源が、フェッチ・オペレーションを処理するパイプラインに対応するリモート・フェッチ制御装置（ＲＦＡＲ）１２ａだけであるからである。ＲＦＡＲは、それらが他のフェッチ・オペレーションを処理するために使用中であるか、或いは、資源ディセーブル・スイッチが活動化され得るために使用不能であり得る。コマンド優先ステーション３３は、各ＲＳＣ資源のディセーブル・スイッチ及び有効ビットをモニタし可用性を判断する。
【００５６】
システム性能を更に向上させるために、優先オペレーションが応答ハンドラ２２と協働し、リモート・フェッチの効率を最大化する。通常、フェッチは次の使用可能なＲＦＡＲ制御装置１２ａにディスパッチされる。リモート・クラスタ上のＲＦＡＲが、パイプライン内のフェッチ要求を処理し、そのデータ・バッファのロードを開始する。同時に、それはインタフェースを介してリモート側のＲＳＣ  ＩＣ１０に、最終応答及びデータを返却するように要求を発行する。最終応答が伝送されるや否や、そのＲＦＡＲ資源が使用可能と見なされ、新たな作業を受諾することが可能になる。新たな非データ・オペレーションがそのＲＦＡＲに送信される場合、ＲＦＡＲはそれを、以前のフェッチからの後続バイトがまだデータ・バッファから読出されている間に処理することができる。しかしながら、新たなオペレーションが第２のデータ・フェッチの場合、そのオペレーションはバッファが使用可能になるまで、リモート側のパイプラインを通じて、連続的にリサイクルされる。
【００５７】
本発明は、第２のフェッチ要求が到来するとき、両方の資源が使用可能であれば、連続的なデータ・フェッチが交互のＲＦＡＲ制御装置に送信されるように保証することにより、この状況を回避する。例えば、ＲＦＡＲ  Ａ０が第１のフェッチを処理しており、ＲＦＡＲ  Ａ０がまだ使用中の間に、第２のフェッチが到来する場合、（ＲＦＡＲ  Ａ１が使用可能と仮定して、）第２のフェッチがＲＦＡＲ  Ａ１に経路指定される。更に、最終応答が伝送され、ＲＦＡＲ  Ａ０が使用可能になり、第２のフェッチが到来する場合にも、（ＲＦＡＲ  Ａ０バッファがまだデータを転送しているので、）第２のフェッチはＲＦＡＲ  Ａ１に経路指定される。しかしながら、ＲＦＡＲ  Ａ０がまだ使用中の間に、読出し専用無効のような非データ・オペレーションが到来した場合、それはＲＦＡＲ  Ａ１に経路指定される。これにデータ・フェッチに相当する第３のオペレーションが続く場合、ＲＦＡＲ  Ａ０が使用可能であれば、たとえバッファがまだ後続バイトの転送のために使用中であっても、この新たなデータ・フェッチがＲＦＡＲ  Ａ０に送信される。換言すると、要求を異なるＲＦＡＲに交互に渡す機構は、１対のいずれかの資源の可用性に従う。
【００５８】
図５は、前述の機構と、ＲＳＣ優先ステーション２１との間の相互作用を示す論理ブロック図である。ＲＳＣ資源２４の各対に対して、資源トグル機能がＲＳＣ  ＩＣ内に存在する。パイプラインＡに対するＲＦＡＲ対を表す１つの資源トグル器３５が、図５に示される。これは各ＲＦＡＲ資源（Ａ０及びＡ１）から可用性信号を受信する。これらの可用性信号は、他の６つのＲＳＣ資源からのそれらと一緒に、ＲＳＣ優先ステーション２１にも供給される。更に、パイプＡフェッチ・グラント信号が、ＲＳＣ優先ステーションにより生成され、資源トグル器３５に供給される。最後に、適切な条件が存在する場合、資源トグル器がトグル保持ラッチ３６を介して、次のオペレーションに割当てられる資源対の一方を制御する。資源トグル器は１つの選択信号を生成し、これがフェッチ・グラント信号と２度論理積され、ロードＲＦＡＲ  Ａ０信号及びロードＲＦＡＲ  Ａ１信号が生成される。そして、これらがＲＦＡＲ  Ａ０資源レジスタ及びＡ１資源レジスタに転送される。
【００５９】
図５に示されるトグル器真理値表３７は、選択信号及びトグル保持ラッチ３６が更新される様子を示す。２つの資源の一方だけが使用可能な場合、選択信号はトグル保持ラッチ３６の状態に関係無しに、使用可能な資源をデフォルト指定する。両方の資源が使用可能で、フェッチ・グラントがこのパイプラインに対して発行された場合、トグル保持ラッチの現状態が選択信号を駆動する。更に、トグル保持ラッチが次のサイクルで、”他の”資源に仕向けられる続くフェッチを見越して更新される（但し、他の資源が使用可能な場合）。トグル器真理値表３７の最下部に示されるように、使用可能信号は資源有効ビット５９ａと、ディセーブル・ビット５９ｆと、最終応答がこの資源に対して受信済みで、それがこのサイクルで”使用可能”と見なされることを示すＲＳＴ＿ＲＦＡＲ＿Ａ０ラッチとの関数である。
【００６０】
ストア・タイプ・オペレーションは、コマンドを伴う初期データ転送を含み得るので、フェッチよりも複雑である。コマンド優先ステーション３３が、ディセーブル・スイッチ及び有効ビットをテストすることにより、ＲＦＡＲと同様に、リモート・ストア制御装置（ＲＳＡＲ）１２ｂの可用性の一部を決定する。コマンド優先ステーション３３がＲＳＣ基本コマンドを復号し、それがデータ転送を要求するか否かを見分ける。コマンドがデータ転送を要求する場合、データ・バスの可用性がテストされなければならない。このテストを合格するためには、次の２つの条件が満たされなければならない。
１．ストアを発行するパイプラインに対応するデータ・バスが、データ転送のために使用中でないこと。
２．対応するＲＦＡＲ制御装置１２ａが、他のクラスタから発行されたフェッチ・オペレーションに対するデータの返却のために、データ経路の使用を要求していないこと。
【００６１】
両方の条件が満たされる場合、またはＩＳＫオペレーション（コマンド３０）など、ストア・コマンドがデータ経路の使用を要求しない場合、ストア・オペレーションの資源基準が満足される。
【００６２】
前述の優先オペレーションは、資源が使用可能である限り、新たなオペレーションがリモート側に転送されることを保証する。更に、ＬＦＳＡＲ制御装置１１を優先化することにより、ＬＦＳＡＲ資源のスループットを向上し、それにより、互いに競合のために待機し、インタロックされる資源により引き起こされる資源輻輳及びデッドロックを低減する。一旦オペレーションが選択されると、コマンド（そのオリジナルのまたは再マップされたコードポイントによる）がＲＳＣインタフェースを介して、２７ビットのフル・アドレスと一緒に送信される。リモート側のＲＳＣコマンド・ディストリビュータが、Ｃ０＿Ｃ１＿ＣＭＤコマンド・バスのビット０の値に従い、コマンドをＲＦＡＲまたはＲＳＡＲに経路指定する。更に、Ｃ０＿Ｃ１＿ＰＩＰＥ＿ＳＥＬ及びＣ０＿Ｃ１＿ＲＥＱ＿ＲＥＧ＿ＳＥＬが、コマンドをオペレーションを処理するパイプラインに関連付けられる選択ＲＦＳＡＲ制御装置１２ａまたは１２ｂに仕向けるために使用される。このリモート資源管理技術は、複数のパイプライン間で広がる非常に多数の記憶制御装置の資源が、限られた数のＩ／Ｏを用いて、共用ＲＳＣインタフェースを使用することを可能にする。
【００６３】
前述したように、Ｃ０＿Ｃ１＿ＲＥＱＩＤは、インタフェースを介して送信される発信元リクエスタのＩＤであるが、リモート管理オペレーションには参加しない。このＩＤは純粋に、リモート側に転送され、それを必要とする記憶制御装置の資源に渡される情報として扱われる。
【００６４】
新たなＲＳＣオペレーションを発行するとき、コマンド優先ステーション３３はグラントを対応するＬＦＳＡＲ制御装置１１に発行する。好適な実施例では、このグラントを１サイクル遅延することにより、クリティカルなタイミング経路を緩和する。しかしながら、この遅延は、ＬＦＳＡＲ制御装置からの要求ラインが、必要とされるよりも１サイクル長く活動状態であることを意味する。ＲＳＣ優先ステーションはこれを考慮して、次のオペレーションのために要求を分析し、その同一のオペレーションを再度選択してサイクルを浪費しないように保証する。２つのタイプのグラントが各ＬＦＳＡＲ制御装置１１に発行され、それらは何がＲＳＣ優先ステーション内で生じたかを明示する。正規のグラントはＬＦＳＡＲ要求が選択されるとき発行され、特殊な高速路グラントは、パイプライン高速路コマンドが選択されるとき発行される。
【００６５】
ＲＳＣ資源レジスタ：
一旦ＲＳＣ優先ステーション２１が、インタフェースを介して送信するコマンドを選択すると、コマンド及びその関連情報（ＬＦＳＡＲ  ＩＤ、リクエスタＩＤ、及びＬＦＳＡＲバッファＩＤ）が、適切なＲＳＣ資源レジスタにロードされる。図６は、コマンドが適切な保持レジスタにステージされる様子を示す。ＣＬＣコマンド４２及びＣ３パイプ・コマンド４３ステージング・レジスタの目的は、図６の右上の３ウェイ多重化４１を通じて、クリティカル経路上のタイミングを緩和することである。全てのＣＬＣコマンドがＬＦＳＡＲ制御装置１１から発生し、タイミング的にクリティカルである。全体システム性能を向上するために、リモート・オペレーションがインタフェースを介して、１サイクルで送信される。この同一のコマンドは、優先論理及び小さなクロスポイント・スイッチを横断し、適切なＲＳＣ資源レジスタに達しなければならないので、これは困難な経路を提供する。好適な実施例は、入来するＣＬＣコマンド及びパイプ・コマンドをクロスポイント・スイッチを介して送信する前にステージングすることにより、これを解決する。
【００６６】
図６を再度参照すると、各ＬＦＳＡＲ制御装置１１要求に関連付けられるコマンドは、ＣＬＣコマンド・ステージング・レジスタ４２にステージされる。それと並列に、パイプライン事前優先ステーション３２により選択されるＣ２パイプライン・コマンドが、Ｃ３パイプ・コマンド・ステージング・レジスタ４３にステージされる。更に並列に、ＣＬＣ及びパイプ・コマンド・フローが、３ウェイ多重化４１を介して転送される。この多重化は、コマンド優先ステーション３３から来るグラント・ラインにより制御される。各ＣＬＣコマンドは、ＣＬＣパイプラインに関連付けられる２つのＲＦＡＲコマンド４５レジスタまたはＲＳＡＲコマンド４７レジスタのいずれかにロードされる。このことは、各ＣＬＣコマンドが４つの可能な宛先を有することを意味する。高速路コマンドはＣＰＵフェッチ・オペレーションに制限されるので、それらは２つのＲＦＡＲコマンド４５レジスタだけにロードされ得る。コマンドは、２ウェイ多重化４４及びゲートウェイ４６から成るクロスポイント・スイッチを介して経路指定される。２ウェイ多重化は、ＣＬＣコマンド４２及びＣ３パイプ・コマンド４３レジスタ間を選択する信号により制御される。ゲートウェイ４６は、ＣＬＣコマンド４２の通過を許可する信号ゲート・ラインにより制御される。これらの全ての制御信号は直交し、選択ＲＳＣオペレーションのグラントを、次の使用可能な資源を選択する優先論理に結合することにより生じる。
【００６７】
ＲＳＣは８つの資源レジスタ２４を含み、これらが全ての相互クラスタ・オペレーションを処理する。このことは、各パイプラインに対する２つのフェッチ及び２つのストア・オペレーションが、同時に発生することを可能にする。オペレーション全体は、ローカルＲＳＣインタフェース制御装置１０により追跡されるので、オペレーションを完了するために要求される全ての情報は、資源レジスタ２４内に保持されなければならない。図７は、１セットの資源レジスタ５９の詳細図を示し、これはディセーブル・ビット、有効ビット、コマンド・レジスタ、オリジナル・リクエスタＩＤレジスタ、ＬＦＳＡＲ制御装置ＩＤレジスタ、及びＬＦＳＡＲバッファ・レジスタを含む。好適な実施例では、ＬＦＳＡＲ制御装置１１内の各パイプに対して、２つのＬＦＡＲ及び２つのＬＳＡＲが存在するが、各パイプに対して、２つのＬＦＳＡＲバッファだけしか存在しない。従って、ＬＦＳＡＲ制御装置１１は新たなオペレーションの度に、２つのバッファの一方を各ＬＦＳＡＲ  ＩＤに動的に割当てなければならない。従って、バッファＩＤが各新たな要求と共に、ＲＳＣ  ＩＣ１０に伝達されなければならない。
【００６８】
当業者であれば、ＬＦＳＡＲ資源、バッファの総数、及びそれらのお互いの関係が本発明に影響を及ぼさないことが理解できよう。バッファの数がＬＦＳＡＲ資源の数に等しく、固定の関係に従う場合、ＲＳＣ  ＩＣはこの情報を追跡するために余分な資源レジスタを要求しない。しかしながら、ＲＳＣ  ＩＣが、好適な実施例で示される以外の追加の情報を追跡する必要がある他の実施例も存在し得る。資源レジスタ内で追跡されなければならない情報の量に関係無しに、ここで開示される原理は当てはまるものである。
【００６９】
図７に戻り、この図は多少より複雑なＲＦＡＲ資源の詳細を示す。なぜなら、ＲＦＡＲが、Ｃ３高速路ステージング・レジスタ５５ａ及びＣＬＣステージング・レジスタ５５ｂの両方を含むからである。図６は、資源レジスタのコマンド部分だけを示したが、８つの全ての資源レジスタを示した。それに対して図７は、１つの資源だけを示すが、所与のＲＳＣオペレーションを追跡するために要求される全ての情報が、資源レジスタにロードされる様子を示す。全ての制御信号はコマンド優先ステーション３３から発生する。この図では、優先グラント（実際に使用される信号のサブセット）だけを用い、様々な資源レジスタをロードする論理タイミングを示す。
【００７０】
まず第１に、オペレーションがグラントを発行された後のサイクルで、有効ビット５９ａがロードされる。ＯＲゲート５４が、オペレーションが正規のＣＬＣオペレーションか、パイプライン高速路オペレーションかに関わらず、有効ビットがロードされるように保証する。有効ビットは、資源が使用可能か否かを決定する上で重要な役割をするので、これは資源が次の優先サイクルにおいて、使用不能とマークされることを保証する。グラントを資源レジスタ５９のセット全体にファンアウトすることにより生じる、タイミング・クリティカル経路を緩和するために、本発明は、残りの情報がロード以前に遅延可能である事実を利用する。
【００７１】
ＬＦＳＡＲ制御装置１１から発行されるＣＬＣオペレーションは、論理タイミングに関して最も単純である。これらのオペレーションのために、ステージされたＣＬＣグラント５３が、ＯＲゲート５４を介して、２ウェイ多重化５６及びゲートウェイ５８を制御する。それにより、このグラントが活動状態のとき、ＣＬＣステージング・レジスタ５５ｂを含む全ての情報が、有効ビット５９ａのロードに続くサイクルで、資源レジスタの残りのセット５９ｂ乃至５９ｄにロードされる。
【００７２】
パイプライン高速路オペレーションは、Ｃ３高速路ステージング・レジスタ５５ａにステージされ、そこにはＣ３コマンド及びリクエスタＩＤレジスタだけが存在する。この状況では、ステージされた高速路グラントＬＣ５２ａが、２ウェイ多重化５６を介して、Ｃ３パイプライン・コマンド及びリクエスタＩＤを選択し、それらをコマンド５９ｂ及びリクエスタＩＤ５９ｃ資源レジスタにロードする。これらの高速路オペレーションがパイプラインの第３ステージに達すると、それらがＬＦＡＲ資源にロードされ、ＬＦＡＲバッファに割当てられる。これは多くのＣＰＵフェッチ・オペレーションが複数のパイプライン・パスを要求し、ＬＦＡＲがフェッチ・オペレーション全体を管理することが要求されるために必要である。従って、一旦この割当てが知れると、ＬＦＳＡＲ制御装置１１が、パイプライン高速路オペレーションの直後のサイクルで、特殊な要求をＲＳＣ  ＩＣ１０に提示する。要求と一緒に、ＬＦＳＡＲインタフェースは、ＬＦＡＲ  ＩＤ及びＬＦＡＲバッファＩＤを含む。ＲＳＣ  ＩＣは高速路グラントＬＣ２トリガにより、情報がＣＬＣ  ＢＦＲレジスタ及びＣＬＣ  ＲＥＱレジスタ５５ｂ内で使用可能になるタイミングを示す。これによりコマンド５９ｂ及びリクエスタＩＤ５９ｃレジスタに続くサイクルで、この情報がゲートウェイ５８を介してゲートされ、ＬＦＳＡＲバッファ５９ｄ及びＬＦＳＡＲ  ＩＤ５９ｅレジスタにロードされる。
【００７３】
好適な実施例は更に、エンコーダ５７の使用を示し、これはＣＬＣ  ＲＥＱレジスタ内に存在する８つの要求信号の８対３符号化を実行し、ＩＤを３ビット値として、ＬＦＳＡＲ  ＩＤレジスタ５９ｅに記憶する。更に、ディセーブル・レジスタ５９ｆとして示される追加の１ビットが、完全性のために含まれる。この１ビット・レジスタは走査可能なレジスタであり、好適な実施例のＵＢＵＳを介してロードされ得る。各ＲＳＣ資源レジスタは、こうしたディセーブル・ビットを有し、これはマイクロコードやファームウェア・ロード、またはシステム・リセットなどを通じて、資源が永久にまたは一時的に使用禁止になることを可能にする。このビットは、ＲＳＣ  ＩＣ１０の通常のシステム・オペレーションでは何の役割も演じないが、エンジニアリング・デバッグ及びインタフェース性能分析において有用である。
【００７４】
応答処理：
図２に示される応答ハンドラ２２は、リモート・クラスタから返却される全ての応答トラフィックを処理し、適切な完了信号をイニシエータに送信する役目をする。ＲＳＣ  ＩＣ１０により受信される、２つの主な応答のタイプが存在する。ＲＳＣオペレーションの多くは、データがリモート・キャッシュ内に存在するか否かを決定するための、リモート相互問い合わせ（ＸＩ）を含む。これらのオペレーションの１つが呼び出されると、コマンドが他の側で受信され、保証された優先レベルによりリモート・パイプに入力する。パイプへのこの保証付きのエントリは、オペレーションがインタフェースを介して発せられる時点と、ヒット／ミス結果が知れる時点との間に、同期関係が存在することを可能にする。本実施例では、コマンドがＲＳＣインタフェースに提供されてから４サイクル後に、ＸＩ応答が返却される。
【００７５】
ＲＳＣ優先２１サイクルで始まり、応答ハンドラ２２は図８に示されるステージング機構を用いて、ＸＩ応答を追跡する。ローカル・キャッシュでミスを発生する特定のタイプのフェッチの性能を向上するために、ＲＳＣ  ＩＣは、同期インタフェースに結合され、フェッチがローカルＬ３メモリまたはリモートＬ３メモリのいずれをターゲットとするかを示すアドレス・ビットにより、自動的にオペレーションを退けるか否かを決定する。例えば、フェッチがリモートＬ３メモリをターゲットとする場合、ＲＳＣ資源はオペレーションが完了するまで、有効に維持されなければならない。なぜなら、所望のデータがリモート・キャッシュまたはリモートＬ３メモリのいずれかから到来するからである。しかしながら、アドレスがローカルＬ３メモリをターゲットとし、データがリモート・キャッシュ内に存在しない場合には、データ・フェッチがローカルＬＦＡＲ制御装置により処理されるので、資源が新たなオペレーションのために解放され得る。
【００７６】
毎サイクルごとに、ＣＬＣコマンド・レジスタ５５ｂの各々がデコーダ６１により分析され、それが相互問い合わせ（ＸＩ）を要求するフェッチ・コマンドの１つであるか否かが見分けられる。この結果が、ＣＬＣローカルＬ３ビット６０と、このＣＬＣオペレーションがグラントを発行されたことを示すＲＳＣ優先ステーション２１からの信号と結合される。並列に、Ｃ３パイプ・ローカルＬ３ビットが、高速路オペレーションがグラントを発行されたことを示す、ＲＳＣ優先ステーション２１からの類似の信号と結合される。定義上、全ての高速路オペレーションは、相互問い合わせを要求する。グラントは相互に排他的なので、１つの分岐だけが任意のサイクルにおいて活動化され得る。これらの信号が、２ウェイＡＮＤ／ＯＲ多重化６３内で図示のように結合され、条件が真であれば、４ビットＬ３ステージング・パイプライン６４の１ビットをロードする。このパイプラインは、各サイクルに対して、４ビット・ステージング・レジスタを含み、ステージ２から開始し、ステージ６で終了する。４ビットの各々は、ＲＦＡＲ資源１２ａの１つを表す。図８では示されていないが、前述した機能を成す全ての要素が、４回複製され、結果の出力がステージ２のビットの各々に供給される。再度、これらのＲＦＡＲ資源の１つだけが、任意の所与のサイクルでロードされるので、Ｌ３ステージング・パイプライン６４内の各ステージの４ビットは直交する。パイプラインのステージ６は、ＸＩ応答が応答ハンドラ２２により受信されるときのサイクルに対応する。４ビットのいずれかが活動状態で、ＸＩ応答がミスの場合、有効ビット５９ａをオフにすることにより、対応するＲＳＣ資源レジスタがリセットされる。
【００７７】
データ・フェッチのサブセットの間にだけロードされる特殊Ｌ３ステージング・パイプライン６４に加え、図８はＲＦＳＡＲステージング・パイプライン６７を示し、これは新たに開始されたあらゆるＲＳＣオペレーションによりロードされる。各ＲＳＣ資源レジスタ２４は、資源が最後のサイクルでロードされたことを示す１ビット・ラッチを含む。これらの８つの資源ロード・ラッチ６５は直交する。なぜなら、各サイクルにおいて、１資源だけが新たなオペレーションによりロードされ得るからである。これらの８つのレジスタの出力は、８対３エンコーダ６６により符号化され、３ビット符号化値が、ＲＦＳＡＲステージング・パイプ６７内に記憶される。このパイプラインもまたステージ２から開始し、ステージ６で終了する。３ビットＲＳＣ資源ＩＤは有効ビットと結合され、ステージ６に達するまで、各サイクルごとにステージを通じてパイプライン処理される。論理タイミングに関しては、このＩＤは、ＸＩ応答及びリモート・インタフェース・エラー信号が受信されるのと同一サイクルのステージ６に到来する。
【００７８】
インタフェース・エラーの場合、３ビットＲＦＳＡＲ  ＩＤが復号され、オペレーションに関わるＲＳＣ資源レジスタ２１をリセットするために使用される。更に、ハードウェア・ルックアップ・テーブル６８を用いて、３ビットＲＳＣ  ＩＤにより、資源レジスタのＬＦＳＡＲ  ＩＤ５９ｅレジスタを指標化する。ＬＦＳＡＲ  ＩＤレジスタの内容が更に復号され、インタフェース・エラー信号を適切なＬＦＡＲ制御装置またはＬＳＡＲ制御装置に送信するために使用される。例えば、ＲＦＳＡＲステージング・パイプライン６７のステージ６が、値”０１０”を含む場合、これはパイプＡのＲＳＡＲ０がＲＳＣ資源であることを示す。ルックアップ・テーブル６８はこの時、パイプＡ  ＲＳＡＲ０資源内のＬＦＳＡＲ  ＩＤレジスタを復号し、その値がこの特定のオペレーションに関連付けられるＬＳＡＲを指し示す。所与のオペレーションを、対応するローカルＬＦＡＲ制御装置またはＬＳＡＲ制御装置に関連付ける能力は、多くのＲＳＣオペレーションの再試行を可能にする。しばしば、インタフェース・エラーは断続的に発生し、従ってオペレーションを再試行する能力が、不要なシステム機能停止を阻止する。
【００７９】
ＲＦＳＡＲステージング・パイプライン６７を使用する追加のシステム性能改善は、高速読出し専用無効（ＦＡＳＴ  ＲＥＡＤ−ＯＮＬＹ  ＩＮＶＡＬＩＤＡＴＥ）である。ＲＳＣオペレーションの１つは読出し専用無効であり、キャッシュ内に存在するデータの読出し専用コピーが、リモート側で無効にされなければならない。これは例えば、ＣＰＵが排他的所有権により、データのフェッチを希望し、他のＣＰＵがデータの読出し専用コピーを有するときに発生する。他のＣＰＵがリモート側に存在する場合、ＲＳＣ  ＩＣは読出し専用無効コマンドを送信し、他のクラスタ上のリモート・フェッチ制御装置１２ａがそれを処理する。通常、これはディレクトリ・エントリを無効にする単純なパイプライン・パスを生じる。時々、これらの初期パイプライン・パスは、リモートＣＰＵのために同一のラインのアクセスを試みる別の制御装置とのアドレス比較を生成する。これらの衝突が発生するとき、衝突を完全に解決する以前に、排他的所有権を要求しているＣＰＵにデータを所有させることが安全な場合がある。本発明におけるリモート・フェッチ制御装置１２ａは、初期パイプライン・パスの間に、これらの”安全な”状況を検出し、同期ＸＩ応答バスを介して、ＲＳＣ  ＩＣに安全に進行可能であることを知らせる能力を有する。
【００８０】
図９は、読出し専用無効ステージング・パイプライン７５を示し、これは前述の他の２つのステージング・パイプラインと同様に作用する。両方のパイプラインのＣＬＣコマンド・レジスタ５５ｂが、読出し専用無効オペレーションを除外するＲＯＩデコーダ７３により復号される。これがＣＬＣグラント５３と結合され、有効な読出し専用オペレーションが開始されたことを示す。再度、これらの内の１つだけが、任意の所与のサイクルで開始され得る。結果がＲＯＩ多重化７４に供給され、読出し専用無効ステージング・パイプライン７５のステージ２をセットするために使用される。このビットは下流のステージ６にパイプライン処理され、そこで応答ハンドラ２２に受信されたＸＩ応答と提携する。ＲＯ無効ステージ６ビットが活動状態で、ＸＩ応答がミスの場合、ＲＦＳＡＲステージ６レジスタ６７及びＬＦＳＡＲルックアップ・テーブル６８が、関連するＬＦＡＲ制御装置を解放するために使用され、初期オペレーションの完了を可能にする。リモート・フェッチ制御装置は読出し専用無効を処理し続け、従ってＲＳＣ資源有効ビットが活動状態に維持される。一旦リモート・フェッチ制御装置１２ａがオペレーションを完了すると、それは最終応答を返却し、これがオペレーションを退け、資源が新たな作業を受諾することを可能にする。その間、読出し専用無効に関連付けられるＬＦＡＲが、新たなオペレーションを開始したかもしれない。読出し専用無効に対する最終応答が、新たなＬＦＡＲオペレーションに対する最終応答と間違えられないようにするため、ＲＳＣ  ＩＣは各ＲＦＡＲ資源に対する保持レジスタを含む。高速読出し専用無効機構がＬＦＡＲを解放するために使用される都度、適切な保持レジスタがセットされ、今度の最終応答がそのＬＦＡＲに知らされることを防止する。一旦最終応答が受信され、オペレーションが公式に完了されると、保持レジスタが残りの資源レジスタと一緒にリセットされる。
【００８１】
相互問い合わせ以外の、リモート・オペレーションに関わる本発明の全てのオペレーションは、符号化最終応答により終了する。応答ハンドラ２２が符号化応答ＩＤバスを用い、応答をオペレーションを開始したＬＦＳＡＲ  ＩＤと突き合わせる。最低限、ＲＳＣ  ＩＣ１０は発信元ＬＦＳＡＲ制御装置に、オペレーションが完了したことを知らせ、後者は資源を解放することができる。データがリモート側からフェッチされる場合、データ・アドバンス（ａｄｖａｎｃｅ）が対応するローカルＬＦＡＲ制御装置に送信され、ＬＦＡＲ制御装置はローカル・ディレクトリ・ステータスを更新できる。更に、ＲＳＣ  ＸＰＴコードポイントがデータ・フロー・チップに送信されるように、信号がＸＰＴ制御措置２５に送信される。
【００８２】
リモート・オペレーションのサブセットはまた、全応答コードがＣＦＡＲ制御装置１５に転送されるように要求する。例えば、ＣＦＡＲ制御装置はこの信号応答により、早期応答及び最終応答を中央処理ユニットに返送しなければならない。本発明で定義される７つの応答ビットの内、ビット０及びビット１は、実際の応答値内に含まれない。代わりに、それらは次の特殊な意味を有する。
○ビット０は、通常、デッドロック状況を回避するために、リモート・オペレーションが拒絶されたことを示す。このビットにより、再試行信号が適切なＬＦＳＡＲに送信される。ＬＦＳＡＲはオペレーションを後に再試行しようとする。○ビット１は、ラインが変更状態のリモート・キャッシュをヒットしたことを示す。この情報は、データ・フェッチの間にＬＦＡＲにより、ローカル・ディレクトリの最終状態を計算するために使用される。
【００８３】
残りのビットは、開始オペレーションに依存して、様々な完了コードを示すために符号化される。
【００８４】
応答優先：
リモート側から返却される応答を処理することに加え、ＲＳＣ  ＩＣは応答優先機能を用い、応答をリモート側に送信する。これらの応答は相互問い合わせ（ＸＩ）形式であり、リモート・クラスタから開始され、ローカル・クラスタ上で処理されるオペレーションの最終応答である。（合計４つのリクエスタに対する）各パイプラインからのローカルＲＦＡＲ１２ａ制御装置及びＲＳＡＲ１２ｂ制御装置が、最終応答をＲＳＣ  ＩＣ１０に送信するためのＸＩ応答及び要求を提示する。相互問い合わせはフェッチ・オペレーションだけに関与するので、ＲＦＡＲ制御装置１２ａだけがＸＩ応答を提示できる。更に、１つの相互問い合わせだけがリモート側により１度に開始され得、それらがパイプラインを通じて、固定サイクル数で処理されることが保証されているので、４つの可能なＲＦＡＲ  ＸＩ応答の１つだけが、任意の所与のサイクルにおいて活動状態であり得る。従って、応答優先２３論理は単に４つのＸＩ応答を一緒に論理和し、出力をインタフェースに転送する。
【００８５】
最終応答要求は、ＲＦＡＲ１２ａ制御装置及びＲＳＡＲ１２ｂ制御装置から生じ得、リモート・オペレーションが長さ的に大きく変化するので、応答は非同期に発生する。応答優先２３論理がＲＳＣ優先ステーション２１と相互作用し、いずれかの最終応答要求が優遇され得るかを判断する。データ・フェッチ以外のオペレーションでは、応答論理は単純な優先オペレーションを用い、４つのＲＦＳＡＲの１つを選択し、応答をインタフェースを介して転送する。２つ以上のＲＦＳＡＲが要求を同一のサイクルに発行する場合、オペレーションはＲＦＡＲをＲＳＡＲよりも優先する。このことは、ＣＰＵにより要求されるフェッチ・データが、不必要にＲＳＡＲ応答トラフィックにより遅延されないように保証することにより、システム性能を向上させる。両方のＲＦＡＲが同一サイクルにおいて要求を提示する場合、オペレーションはラウンド・ロビンを用い、ＲＦＡＲの一方を選択する。優遇されるＲＦＡＲが存在せず、２つ以上のＲＳＡＲが要求している場合、単純なラウンド・ロビンがＲＳＡＲを選択する。
【００８６】
本発明の新規の側面の１つは、共用データ・バスの効率を最大化するための、応答優先機能２３とＲＳＣ優先ステーション２１間の相互作用である。（遠隔的に開始されたフェッチに関する）フェッチ・データの返却は、局所的に開始されたストア・オペレーションと同一のデータ経路を共用しなければならないので、ストア転送の完了を待機している間に、フェッチが遅延される潜在性が存在する。応答優先は、フェッチ・データを返却しようとする最終応答要求のために、次のステップを実行することにより、この潜在性を低減する。
１．要求元ＲＦＡＲのパイプラインに対応するデータ経路が、使用可能か否かをチェックする。使用可能でない場合、ＲＳＡＲ要求が保留であれば、優先論理が即時そのＲＳＡＲ要求を選択する。
２．データ経路が使用可能な場合、優先論理がＲＦＡＲを選択し、ＲＳＣ優先ステーションに、データ転送を含む保留のＬＳＡＲストア・オペレーションの選択を阻止するように伝える。
【００８７】
両方の優先機能２１及び２３内のオペレーションは、周期的に動的であり、これはそれらが各サイクルごとに現環境を評価し、１サイクル内に全ての判断を下すことを意味する。従って、データ経路が使用不能なために、要求が遅延される場合、その要求は自身がサービスされ得る最初のサイクルにおいてサービスされる。インタフェースを介する伝送のための要求が選択される都度、グラントが要求元ＲＦＳＡＲに送信され、要求元ＲＦＳＡＲは現要求を取り下げ、新たな要求を次のサイクルで発行できる。実際の応答に加え、ＲＳＣ  ＩＣはまた、応答を返却しているＲＦＳＡＲを示す３ビット符号化応答ＩＤバスを送信する。他の側の応答ハンドラ２２がこの３ビットのＩＤを復号し、リセットされる必要のあるＲＳＣ資源レジスタを解析する。
【００８８】
全ての応答がＲＳＣインタフェースを１サイクル内に横断するが、２つのオペレーションは追加の情報のために応答バスを使用する。キー・オペレーションの間、実際のキーが応答の直後に続く。テスト・バイト・アブソリュート（ＴＢＡ）・オペレーションの間には、更にＴＢＡステータスが次のサイクルで応答に続く。いずれの場合も、ＲＦＳＡＲ制御装置が、応答要求に付随して、これが２サイクル・オペレーションであることを示す特殊な信号を、ＲＳＣ  ＩＣに送信する。それにより応答優先２３は、第２のサイクルの間に、新たなＲＦＳＡＲ最終応答を選択するのを回避する。
【００８９】
クロスポイント（ＸＰＴ）制御装置：
好適な実施例のＲＳＣインタフェースは、合計４つの４倍長ワード（ＱＷ）・データ経路をサポートする。各パイプに対して、各方向（ローカルからリモート、及びリモートからローカルの方向）に１つのデータ経路が存在する。物理的に、各データ経路はその実現に２つのＳＣＤチップを要求し、各データ・チップがダブル・ワード（ＤＷ）を伝搬する。この設計は共用バス構造と、真に専用のポイント−ポイント間データ・フローとの間の妥協案である。各方向において、単方向データ経路が存在するが、各データ経路は、インタフェースの両側から開始されたデータを多重化しなければならない。例えば、リモートＳＣをローカルＳＣに接続するデータ経路は、局所的に開始されたフェッチ要求に応答して、データを返却するためにいつでも使用されるか、或いはリモート側により開始されたストア・オペレーションに伴うストア・データを伝送するために使用され得る。理想的には、これらのオペレーションは別々のデータ経路により分離されるべきであるが、パッケージ化制限がこれを阻む。しかしながら、各パイプに対して、単方向バスが両方向に存在する事実が、１サイクルにつき４つのＱＷ（すなわち６４バイト）の同時移動を可能にする。
【００９０】
ＲＳＣ  ＩＣは、４つの全てのデータ経路を監視するクロスポイント（ＸＰＴ）制御装置２５を含む。実際、各データ経路の半分が、各クラスタ上のＸＰＴ制御装置により制御される。例えば、ローカルＳＣからリモートＳＣに転送されるデータは、ローカルＲＳＣ  ＩＣにより駆動され、リモートＲＳＣ  ＩＣにより受信される。従って、ＸＰＴバスの駆動部分はローカルＲＳＣ  ＩＣから発生する一方、受信部分はリモートＲＳＣ  ＩＣから到来する。４つの全てのデータ経路が１１ビット制御バスにより制御され、ここでビット（０：５）は受信側を制御し、ビット（６：１０）は駆動側を制御する。これらの部分的ＸＰＴバスは、以下では、受信ＸＰＴ（ＲＣＶ  ＸＰＴ）及び駆動ＸＰＴ（ＤＲＶ＿ＸＰＴ）と呼ばれる。
【００９１】
図１０は、１つのＲＳＣ  ＩＣ内の１パイプラインの受信ＸＰＴ及び駆動ＸＰＴの内部論理を示す。クリティカル・タイミング経路を緩和するために、ＸＰＴ情報が可能であれば事前にセット・アップされる。ＸＰＴ発生器８１ａ論理の役割は、ＲＳＣ資源情報と外部信号との組み合わせを用い、適切なデータ経路制御をセット・アップすることである。トリガ８２ａ及び８２ｂは、転送データに関して、ＸＰＴ情報を正に正確な時間にＲＳＣ  ＸＰＴバス上に解放するゲートとして作用する。ＲＳＣ  ＸＰＴバスのビットは、データ・チップ上の様々なバッファ制御装置及びクロスポイント・スイッチにより受信される。この論理は単純なデコーダを含み、これらがバッファ・アドレス及び書込み制御、更にセレクタを活動化する。データ・チップは、データ転送の背後の論理オペレーションの知識を有さないので、ＲＳＣ  ＸＰＴバスが、各ＱＷの転送に対して１度、”パルス駆動”されなければならない。従って、データのラインが転送を要求する場合、ＲＳＣ  ＩＣは適切な値を１６連続サイクルの間、ＲＳＣ  ＸＰＴバス上に保持しなければならない。
【００９２】
ＸＰＴ制御装置２５のＲＣＶ＿ＸＰＴ部分に注目すると、ＲＣＶ  ＸＰＴ発生器８１ａ論理が、ＲＦＡＲ資源レジスタ、ブロックＸＰＴ信号、及びＲＳＣ＿ＣＭＤにより供給されるように示される。前述のように、データは２つの理由のために、すなわち、局所的に開始された要求からの返却フェッチ・データ、または遠隔的に開始されたストア・オペレーションからの入来ストア・データのために、このＳＣにより受信され得る。前者の場合、このＲＳＣ  ＩＣがフェッチ・オペレーションを担当し、ＲＦＡＲ資源レジスタのセット内に全ての情報を有する。ＸＰＴ発生器論理は、コマンド５９ｂ、要求ＩＤ５９ｃ、ＬＦＡＲバッファ５９ｄ、及びＬＦＡＲ  ＩＤ５９ｅレジスタ内の情報を使用し、ＲＣＶ＿ＸＰＴの値を計算し、データ転送長を決定する。長さが１ＱＷよりも大きい場合、ＸＰＴ制御装置８３が適切なサイクル数によりロードされる。これは全て、コマンドがインタフェースを介してディスパッチされた少し後で発生する。データが返却されるとき、第１のＱＷは常に、符号化応答’０３’ｘ、’２３’ｘ、’０５’ｘ、または’１８’ｘ乃至’１Ｂ’ｘを伴う。（マッチングｅｎｃ＿ｒｅｓｐ＿ｉｄを有する）これらの応答の１つをトリガ論理８２ａに受信すると、ＲＣＶ＿ＸＰＴがＲＳＣ＿ＸＰＴバス上に解放される。複数のＱＷが含まれる場合、ＸＰＴ制御装置はカウントが尽きるまで、ＲＣＶ＿ＸＰＴ値を供給し続ける。ＲＣＶ＿ＸＰＴはオペレーションに従い、データを適切なＣＰＵポート、Ｉ／Ｏポート、ＬＳＡＲバッファ、またはＬＦＡＲバッファ（後にキャッシュに含むため）に仕向ける。特定の状況の下では、ローカルＣＰＵに仕向けられるデータが、最後の瞬間、ＣＰＵに送信されるのを阻止しなければならない。ＲＳＣ  ＩＣは、各ＬＦＡＲ１１制御装置及びＣＦＡＲ１５制御装置から、トリガを抑制するために使用される幾つかの阻止信号を受信する。
【００９３】
ＲＣＶ＿ＸＰＴバスの使用に関する第２の状況は、リモート・クラスタから開始されたストア・データの受信に関わる。これは完全に非同期な事象であるので、ＸＰＴ発生器８１ａ及びトリガ論理８２ａが同時に呼び出される。ＲＳＣ  ＩＣは、ローカルＲＳＡＲ制御装置１２ｂからのデータ・アドバンス・トリガと同様に、入来ＲＳＣ＿ＣＭＤバスの一部をモニタする。ＲＳＡＲ＿ＤＡＤＶが活動状態で、コマンドのサブセットが適切な値に復号される場合、ＲＣＶ＿ＸＰＴがセット・アップされて、ＲＳＣ＿ＸＰＴバスに提供され、それによりローカル・データ経路チップが入来データを受諾し、それをＲＳＡＲバッファに経路指定するように指示される。
【００９４】
駆動ＸＰＴ（ＤＲＶ＿ＸＰＴ）は類似に作用する。再度、２つの状況がこのデータ経路の使用を要求する。第１の状況は、局所的に開始されたストア・オペレーションに関わる。この場合、ＲＳＡＲ資源レジスタが、必要に応じてＤＲＶ＿ＸＰＴをセット・アップし、ＸＰＴ制御装置８３をロードするために必要な全ての情報を保持する。トリガ論理８２ｂにより受信されるＲＳＡＲ＿ＳＴ＿ＯＰ信号が、インタフェースを介するコマンドの発行に関して、データが転送され始めるタイミングを制御する。他の側のＲＳＡＲがリモートＲＳＣ  ＩＣにＲＳＡＲ＿ＤＡＤＶを活動化し、後者が”起動（ｗａｋｅ  ｕｐ）”し、ストア・データを受諾し得る。ＲＳＡＲ＿ＳＴ＿ＯＰ信号は、単にＲＳＡＲコマンド５９ｂレジスタの復号であり、現オペレーションがストア・データ転送を要求するか否かを判断する。全てのストア・データはローカル側のＬＳＡＲバッファから発生し、ＤＲＶ＿ＸＰＴがこれらのバッファの読出しを制御する。
【００９５】
他の状況は、他の側により要求されたフェッチ・データの返却に関わる。このデータの源はＲＦＡＲバッファ、ＰＭＡインタフェースまたは任意のＣＰＵリモート・センス・レジスタであるので、ＸＰＴ発生器８１ｂ論理が、ＭＢＡ＿ＩＤに加え、ＲＦＡＲ制御装置１２ａからの信号の組み合わせを使用する。非０のＭＢＡ＿ＩＤは、データがそのＩＤに対応するリモート・センス・レジスタから到来することを示す。ＩＤが０の場合、データがＲＦＡＲバッファまたはＰＭＡインタフェースのいずれから到来するかを決定するために、様々なＲＦＡＲ信号が使用される。これらの信号の１つであるＰＭＡ＿ＤＡＴＡ＿ＲＤＹ信号は、データがＬ３メモリから記憶制御装置に転送されている時間窓の間に、ＲＦＡＲ制御装置１２ａにより生成される。この窓の間に、応答優先２３がＲＦＡＲ符号化応答要求を処理できる場合、データがＲＦＡＲバッファをバイパスし、直接ＲＳＣインタフェースに転送され得る。他方、応答優先２３がグラントを要求元ＲＦＡＲに発行する以前に窓の終りに達する場合、ＰＭＡ＿ＤＡＴＡ＿ＲＤＹ信号が取り下げられる。この時、ＸＰＴ発生器８１ｂ論理が、ＲＳＣインタフェースが使用可能になり、データをバッファからインタフェースに転送できるようになるまで、データをバッファに経路指定する。本発明のこの側面は、リモート・クラスタへのＣＰフェッチの間、不要なバッファ・ロード及びアンロードを排除することにより、一層システム性能を向上させる。
【００９６】
ＤＲＶ＿ＸＰＴのセット・アップに加え、ＲＦＡＲ制御装置１２ａからの幾つかの信号が、データ転送長の導出を可能にするＣＲＦ＿ＸＦＲ＿ＬＥＮバスを構成する。返却データの場合、トリガ論理８２ｂが、”返却フェッチ・データ”を示すＥＮＣ＿ＲＥＳＰ値に結合される、応答優先ステーションからのＲＦＡＲグラントにより活動化される。これはＤＲＶ＿ＸＰＴが、ＲＳＣ＿ＸＰＴバスの別の半分上に解放されることを可能にする。再度、転送長が１ＱＷよりも大きい場合、ＸＰＴ制御装置８３はカウンタが尽きるまで、連続的にＲＳＣ＿ＸＰＴを活動化する。
【００９７】
ここでＲＳＣの非同期の性質は、頻繁な衝突を導く点に注意を要する。こうした衝突は例えば、ローカルＲＳＣがストア・オペレーションを開始しようとする一方で、リモート・フェッチ・オペレーションのために、同時にデータを返却しようとするなどである。データ経路上で衝突を回避する一方、性能を最大化するために、ＸＰＴ制御装置２５は優先ステーションと密接に相互作用し、常に可能であれば、返却フェッチ・データが優先権を有するように保証する。また、一旦データ経路が使用中になると、優先ステーションは即時、データ経路を要求しない新たなオペレーションの開始に集中し、常に作業がクラスタ間で転送され続けるように努力する。
【００９８】
ディセーブル・スイッチ：
ＲＳＣ資源レジスタの各々は、図７に示される１ビットのディセーブル・ラッチ５９ｆを含む。このラッチが’１’に走査されると、資源のあらゆる組み合わせが永久に禁止される。更に、これらのラッチはＵＢＵＳレジスタ内の４つのビットを用いてセットされ得る。好適な実施例で示される記憶制御装置は、一連のこれらのＵＢＵＳレジスタを含み、それらはファームウェア及びＣＰミリコードを通じて、読出され、書込まれ、変更され得る。ディセーブル・ラッチは、これらのミリコード制御式ＵＢＵＳレジスタの１つを介して制御されるので、ＲＳＣ資源の動的なディセーブル化（すなわち使用不能にすること）が、ミリコード・ルーチンまたは一時的パッチの一部として達成され得る。こうした用途の１つは、様々な作業負荷に対する複製資源の効果を決定する比較性能分析である。
【００９９】
下位のコード・ポイント’１’ｘ乃至’６’ｘは、コード・ポイント’８’ｘ乃至’Ｆ’ｘとは異なって作用する。コード・ポイント’８’ｘ乃至’Ｆ’ｘの呼び出しは、ＲＳＣ  ＩＣ内の関連ディセーブル・ビットを活動化することにより、単に選択資源をディセーブルする。複数の資源の任意の所望の組み合わせの使用を禁止するため、連続的なＵＢＵＳ書込みオペレーションが使用され得る。下位コード・ポイントはディセーブル状況を生じ、それによりＲＳＣ  ＩＣ内の優先論理がディセーブル・モードをモニタし、インタフェース活動を適宜制限する。例えば、モード’２’ｘが選択される場合、優先論理は、第１のオペレーションが完了するまで、第２のオペレーションが開始されないように保証する。
【０１００】
まとめとして、本発明の構成に関して以下の事項を開示する。
【０１０１】
（１）対称多重処理環境において資源を管理するリモート資源管理システムであって、
対称マルチプロセッサ・システムのクラスタ・ノード間のインタフェースを有する、対称マルチプロセッサの複数のクラスタと、
ローカル・インタフェース及びローカル・インタフェース制御装置と、
それぞれが前記ローカル・インタフェース制御装置を有する１つ以上のリモート記憶制御装置と、
ローカル−リモート間データ・バスと、
複数のプロセッサ、共用キャッシュ・メモリ、複数のＩ／Ｏアダプタ及び主メモリをそれぞれが有する、前記対称マルチプロセッサの２つの前記クラスタ間のインタフェースを管理するリモート資源マネージャと
を含み、前記リモート資源マネージャがリモート記憶制御装置により資源を管理し、作業要求を開始したリクエスタの知識を必要とすること無く、所望のオペレーションを実行するエージェントとして作用する前記リモート制御装置に前記作業を分配し、前記対称マルチプロセッサの前記クラスタ間の絶え間の無い通信の必要無しに、リモート・リクエスタが作業処理のために使用可能な場合にだけ、前記作業が転送される、リモート資源管理システム。
（２）待ち行列化された要求を優先順位付けするステップと、新たなオペレーションを前記インタフェースを介して送信するステップと、他の側からの返却応答を処理するステップと、前記クラスタ間の全てのデータの転送を監視するステップとを含む、インタフェース・タスクの制御を担う各クラスタ上の１つのインタフェース・マクロを有し、前記ローカル・インタフェース制御装置が、前記作業要求を前記リモート側に開始するだけでなく、前記リモート側のフェッチ／ストア制御装置を管理することにより、新たなオペレーションを使用可能な前記リモート制御装置に即時経路指定し、それにより前記リモート制御装置が、前記ローカル・インタフェース制御装置のために作用するエージェントとなり、前記ローカル・インタフェース制御装置がリクエスタのために作用し、オペレーションの所有者を識別する情報を送信する必要性を排除する、前記（１）記載のリモート資源管理システム。
（３）幾つかのローカル・オペレーションが１つのアトミック・リモート・オペレーションと結合されることを可能にする、コマンド再マップ化オペレーションを有する、前記（２）記載のリモート資源管理システム。
（４）データの読出し専用コピーのためのプロセッサ・フェッチ要求、及び記憶保護キーを含む読出し専用データのためのフェッチ要求が、前記リモート・クラスタ上の前記フェッチ制御装置が、同一の状態図及びキャッシュ管理オペレーションを使用するように要求し、前記インタフェース制御装置が前記両方の要求を、読出し専用ライン・フェッチとして知られる、１つの単純化されたリモート記憶クラスタ（ＲＳＣ）・インタフェース制御装置コマンドに再マップすることにより、前記ＲＳＣインタフェース制御装置（ＲＳＣ  ＩＣ）により処理されなければならないオペレーションの数を低減する、前記（３）記載のリモート資源管理システム。
（５）ストア・データの転送が不必要にローカル−リモート間データ・バスを拘束し、ディレクトリ情報を送信するために追加の制御ラインが要求される場合、前記インタフェース制御装置がディレクトリ・ステータスにもとづき、転送コマンドを”強制追放”コマンドまたは”読出し専用無効”コマンドに再マップする、前記（４）記載のリモート資源管理システム。
（６）１つ以上のパイプライン階層レベル・キャッシュをサービスする多数のフェッチ・リモート制御装置及びストア・リモート制御装置を含む、ハイエンド記憶サブシステムを有するインタフェースを有し、一連の優先ステーションがインタフェースを介して送信される要求を選択し、複数のパイプが関わる場合、各パイプ内の事前優先ステーションが、ＲＳＣ  ＩＣに転送されるフェッチ要求またはストア要求を選択し、同一のサイクルの間、前記リモート記憶制御装置の前記インタフェース制御装置が、優先オペレーションを用い、コマンド・タイプ及び資源可用性にもとづき、最適な要求を選択する、前記（１）記載のリモート資源管理システム。
（７）前記優先オペレーションにおいて、前記複数のパイプが任意の所与のサイクルにおいて、前記インタフェースの使用を要求できるので、リモート・フェッチ制御装置が使用可能な限り、前記オペレーションがストアよりもフェッチを優先し、それ以外では、リモート・ストア制御装置が使用可能な限り、ストアが実行され、データ経路を要求するこれらのストア・オペレーションのために前記データ経路が使用可能となり、両方の要求がフェッチで、両者が使用可能な資源を有する場合、ラウンド・ロビンが優遇される方の要求を決定し、両方の要求がストアの場合、どちらのパイプが使用可能な資源を有するかにより勝者が決定され、両方の要求が全て使用可能な資源を有する場合、ラウンド・ロビンが使用される、前記（６）記載のリモート資源管理システム。
（８）各ローカル・インタフェース制御装置内に、リモート側で待ち行列化される作業の送信のために、インタフェース・サイクルが浪費されないように保証する、リモート資源のマネージャを有する、前記（６）記載のリモート資源管理システム。
（９）各リモート記憶制御装置の前記ローカル・インタフェース制御装置が、同期応答バス及び非同期応答バスの両方を用いて、キャッシュ・コヒーレンスを維持する一方、性能を最大化し、非同期応答バスが、前記リモート・オペレーションの公式な終了を示し、しばしばオリジナル・リクエスタに転送される全ての最終応答のために使用され、前記最終応答が、ローカル・ディレクトリを適切な最終状態により更新することを可能にする変更ライン情報によりタグ付けされる、前記（６）記載のリモート資源管理システム。
（１０）前記リモート制御装置のインタフェース制御装置マネージャが、全てのクラスタ−クラスタ間データ・フローを管理し、前記ローカル・ストア制御装置からの要求を、フェッチ・データを返却しようとする常駐リモート・フェッチ制御装置からの要求と比較し、両者が前記データ経路を競合するサイクルの間、優先権が返却フェッチ・データに与えられ、フェッチ・データが前記リモート主メモリから獲得される場合、前記リモート制御装置の前記インタフェース制御装置マネージャが、データがメモリ・バンクからアクセスされるとき、対応する前記データ経路をモニタ及び管理し、前記リモート記憶制御装置のデータ経路が使用可能なとき、データが前記リモート・フェッチ・バッファをバイパスし、データの一時的バッファリングに関連付けられる正規の待ち時間を低減する、前記（９）記載のリモート資源管理システム。
（１１）全体システム・スループットを向上するために複製されたリモート記憶制御装置の資源の管理を向上するために、前記リモート制御装置の前記インタフェース制御装置マネージャが、前記複製のリモート・フェッチ資源の間の交互の作業要求により、リモート・キャッシュをヒットする連続フェッチ要求を管理し、第２のフェッチ要求を複製のリモート制御装置に、もしそれが使用可能であれば送信し、前記複製のリモート制御装置がそのバッファのロードを開始することを可能にし、その間、第１のリモート制御装置のバッファはまだそのデータ転送を完了中であり、前記第１のバッファ転送の完了時に、第２のバッファが即時そのデータをインタフェースを介して転送することを可能にする、前記（９）記載のリモート資源管理システム。
（１２）前記リモート制御装置の前記インタフェース制御装置マネージャが、相互クラスタ・デッドロックを生じ得るオペレーション・シーケンスをモニタするために設計されたデッドロック回避機構を管理し、こうした状況を検出すると、前記リモート制御装置の前記インタフェース制御装置マネージャが、特殊な拒絶応答を発信元クラスタに返却することにより、保留のオペレーションを拒絶し、前記リモート制御装置の前記インタフェース制御装置が前記拒絶を発信元フェッチ／ストア制御装置に転送し、それにより前記オペレーションが再試行され、前記デッドロック窓が消滅するまで連続的に拒絶され、再試行される、前記（９）記載のリモート資源管理システム。
（１３）新たなリモート記憶制御装置オペレーションを伴う任意の制御情報において、インタフェース・パリティ・エラーが検出されるとき、同期インタフェースを用いコマンドが送信された後、固定サイクル数以内にインタフェース・エラー・ステータスを送信し、エラーの場合、発信元フェッチ／ストア制御装置がそれを通知され、続いて回復の適格性を決定し、前記リモート記憶制御装置の前記インタフェース制御装置が自動的に対応するリモート記憶制御装置の資源をリセットし、前記オペレーションが再度要求されることを可能にする、前記（９）記載のリモート資源管理システム。
（１４）前記システムが、コマンドのスーパセットをより小さく効率的なサブセットに再マップすることにより、前記リモート制御装置の複雑度を軽減し、不要なデータ転送を回避することにより、インタフェース効率を向上させる、コマンド再マップ化機構を含む、前記（１）記載のリモート資源管理システム。
（１５）前記コマンド再マップ化がフリップ・ビットを用いて、要求されるゲート数を低減し、更に機能が１論理サイクル内に実行されるようにすることにより、システム性能を向上させる、前記（１４）記載のリモート資源管理システム。
（１６）局所的に開始されたオペレーションと、アウトバウンド・データ及びインバウンド・データが前記データ・バスを共用することを可能にするリモート・リターンを処理する統一制御を提供することにより、インタフェースＩ／Ｏを低減する一方、全体システム性能に関して、前記バスが高効率に管理されることを可能にする、前記（６）記載のリモート資源管理システム。
（１７）前記優先オペレーションが、前記要求及び前記リモート記憶制御装置の資源を毎サイクルごとに動的に分析し、フェッチ要求をストア要求に優先させ、局所的に開始された要求及び遠隔的に開始されたオペレーションへの応答の両方、及びデータ経路を要求するオペレーションのデータ経路可用性を考慮し、適切な資源が使用可能な場合にだけ、オペレーションが前記インタフェースを介して送信されるようにすることにより、システム性能とインタフェース利用とを効率的に均衡させる、前記（６）記載のリモート資源管理システム。
（１８）前記リモート資源管理マネージャが、リモート・キャッシュ内のディレクトリ・ミスに際して、資源を固定時間内に自動的に解放するための同期相互問い合わせと、ＲＳＣ  ＩＣがＣＰフェッチを探索中のパイプラインをモニタするための、前記ＣＰフェッチのためのパイプ高速路指定とを提供し、前記ＣＰフェッチの発見に際して、該フェッチが前記ＲＳＣ  ＩＣに提供される以前に、ＬＦＡＲ制御装置にロードされなければならない正規の場合よりも、前記フェッチを１サイクル前に開始し、前記相互問い合わせが前記インタフェースを介して送信されるのと同時に、ローカルＰＭＡがデータのフェッチを開始する早期ＰＭＡフェッチ／取り消しをサポートし、前記リモート・キャッシュ内のヒットに際して、前記ＲＳＣ  ＩＣが前記ローカルＬＦＡＲ制御装置に、前記早期ＰＭＡフェッチを取り消し、メモリ・インタリーブを解放するように指示し、前記フェッチ・バッファが階層キャッシュ・アクセスをバイパスし、データが前記階層キャッシュ（ＰＭＡ）から受信されている間、前記ＲＳＣ  ＩＣがクラスタ−クラスタ間データ経路をモニタし、前記データ経路が使用可能な場合、データが自動的に前記フェッチ・バッファをバイパスし、前記ＰＭＡ受信ポートから直接ＲＳＣインタフェースに転送される、前記（１）記載のリモート資源管理システム。
（１９）前記リモート資源管理マネージャが、１つのクロスポイント制御装置により、４ウェイ同時データ転送が可能な４つのデータ経路を管理し、各前記データ経路が、局所的に開始されるオペレーション及び遠隔的に開始されるオペレーションを多重化することにより、前記データ経路の可用性が、次のディスパッチ・オペレーションを決定するために優先機構に伝送される、前記（１）記載のリモート資源管理システム。
（２０）前記リモート資源管理マネージャが、
前記リモート側が読出し専用無効において要求される全てのステップを完了する以前に、前記ローカルＬＦＡＲ制御装置を解放し、前記ＬＦＡＲ制御装置が、リモート・オペレーション及び続く読出し専用無効の送信を含む、新たなオペレーションを開始できるようにする加速読出し専用無効オペレーションと、
インタフェース・パリティ・エラーの場合、ＲＳＣ資源を自動的にリセットし、関連するＬＦＡＲ制御装置またはＬＳＡＲ制御装置がオペレーションを再試行できるように前記制御装置へ通知する、同期インタフェース・チェックの使用と、
前記リモートＲＦＡＲ制御装置またはＲＳＡＲ制御装置が潜在的デッドロックを検出し、対応するＬＦＡＲ制御装置またはＬＳＡＲ制御装置に拒絶応答を送信し、前記制御装置がオペレーションを再試行することを可能にする、相互クラスタ・デッドロック回避手段と、
連続的なデータ・フェッチが、ＲＦＡＲ資源またはＲＳＡＲ資源対の交互の資源に分配されるようにし、前記資源対の両方のメンバが使用可能な場合、先のフェッチの後続バイトがまだ他のバッファ内で処理されている間に、後のフェッチがロードを開始するためのリモート・バッファを有することを保証する、ＲＳＣ資源対の使用と
を提供する、前記（１）記載のリモート資源管理システム。
【図面の簡単な説明】
【図１】双節対称マルチプロセッサ・システムの１つの記憶制御装置クラスタを示す図である。
【図２】リモート・クラスタから返却される全ての応答トラフィックを処理する応答ハンドラ、詳細なインタフェース、及びリモート記憶制御装置ＲＳＣ  ＩＣ１０を含むサブユニットと、リモート・フェッチ／ストア制御装置１２とＲＳＣ  ＩＣ間のインタフェースを示す図である。
【図３】コマンド変換のハードウェアの好適な実施例を示す図である。
【図４】主コマンド優先ステーション３３と、それに供給するパイプライン優先ステーション３２を含む、全体優先ステーションを示す図である。
【図５】前述の機構とＲＳＣ優先ステーション２１との相互作用を示す論理ブロック図である。
【図６】コマンドが適切な資源保持レジスタにステージされる様子を示す図である。
【図７】ディセーブル・ビット、有効ビット、コマンド・レジスタ、オリジナル・リクエスタＩＤレジスタ、ＬＦＳＡＲ制御装置ＩＤレジスタ、及びＬＦＳＡＲバッファ・レジスタを提供する、資源レジスタ５９の１つのセットの詳細図である。
【図８】ステージング機構と、応答ハンドラ２２がステージング機構を用い、ＸＩ応答を追跡する様子を示す図である。
【図９】他のステージング・パイプラインと同様に作用する、読出し専用無効ステージング・パイプライン７５を示す図である。
【図１０】ＲＳＣ  ＩＣ内のクロスポイントを受信及び駆動する１パイプラインの内部論理図である。
【符号の説明】
１０  リモート記憶クラスタ・インタフェース制御装置（ＲＳＣ  ＩＣ）
１１  ローカル・フェッチ／ストア制御装置
１２  リモート・フェッチ／ストア制御装置
１５  中央処理ユニット制御装置
１６  Ｉ／Ｏアダプタ制御装置
２２  応答ハンドラ
２３  応答優先
２４、５９  資源レジスタ
２５  クロスポイント（ＸＰＴ）制御装置
２６  フリップ・ビット発生器
３２  パイプライン事前優先ステーション
３３  コマンド優先ステーション
３５  資源トグル器
４１  ３ウェイ多重化
４４、５６  ２ウェイ多重化
４６、５８  ゲートウェイ
５３  ＣＬＣグラント
５４  ＯＲゲート
６５  資源ロード・ラッチ
７４  ＲＯＩ多重化
【図１】
0003589394.tif 000002
【図２】
0003589394.tif 000003
【図３】
0003589394.tif 000004
【図４】
0003589394.tif 000005
【図５】
0003589394.tif 000006
【図６】
0003589394.tif 000007
【図７】
0003589394.tif 000008
【図８】
0003589394.tif 000009
【図９】
0003589394.tif 000010
【図１０】
0003589394.tif 000011