(57)【特許請求の範囲】
【請求項１】
ロジックを含む機器であって、前記ロジックは、
特定のトランザクションのパケットを１またはそれ以上のポイント・ツー・ポイントのシリアル・リンクからなるインターコネクトを介して受信し、前記特定のトランザクションは、リード・トランザクションを含み、前記特定のトランザクションは、特定の装置に関連し、かつ前記パケットは、リクエスタを認識するための要求パケットを含み、
リラックス・オーダリングが前記特定のトランザクションに適用することを示すために、オーダリング属性が前記要求パケット中に設定されたかどうかを認識し、
前記特定の装置がルート・コンプレックスの集積化されたエンドポイントであるかどうかに基づいて、リラックス・オーダリングを前記特定のトランザクションの完了に適用する機会を決定する、
ことを特徴とする機器。
【請求項２】
前記ロジックは、リラックス・オーダリングが前記完了に適用されることを示すために、オーダリング属性を完了パケット内に設定することを特徴とする請求項１記載の機器。
【請求項３】
前記インターコネクトは、ペリフェラル・コンポーネント・インターコネクト・エクスプレス(Peripheral Component Interconnect Express: ＰＣＩｅ)のプロトコルをサポートするための物理層、および、１またはそれ以上の他のプロトコルを含む物理層の少なくとも１つからなることを特徴とする請求項１記載の機器。
【請求項４】
前記ロジックは、前記オーダリング属性を設定するためにさらに構成されることを特徴とする請求項１記載の機器。
【請求項５】
前記特定のトランザクションは、システム内の複数のトランザクションの１つであり、前記オーダリング属性を設定するに先立って、前記複数のトランザクションは、第１オーダに従って完了され、前記特定のトランザクションは、前記第１オーダに従って前記複数のトランザクション中の第２トランザクション後に完了し、リラックス・オーダリングを前記特定のトランザクションに適用することによって、前記特定のトランザクションが前記第２トランザクション前に完了することを特徴とする請求項４記載の機器。
【請求項６】
前記特定のトランザクションはリード・トランザクションを含み、また前記第２トランザクションはライト・トランザクションを含むことを特徴とする請求項５記載の機器。
【請求項７】
前記特定のトランザクションは、第１装置のメモリのリードに対応し、かつ異なるＩＯ装置のメモリのライトに対応することを特徴とする請求項６記載の機器。
【請求項８】
前記特定のトランザクションは第１の集積されたエンドポイントによって完了され、かつ前記第２トランザクションは第２の集積されたエンドポイントによって完了されることを特徴とする請求項５記載の機器。
【請求項９】
前記オーダリング属性は、前記パケットのヘッダ中に含められるフィールドを含むことを特徴とする請求項１記載の機器。
【請求項１０】
前記オーダリング属性のフィールドは、少なくとも２ビットからなることを特徴とする請求項９記載の機器。
【請求項１１】
前記要求パケットは、前記リラックス・オーダリングが設定されていないことを示す場合があることを特徴とする請求項１記載の機器。
【請求項１２】
前記ロジックは、
リラックス・オーダリングが前記特定のトランザクションの前記完了に適用することを示すために設定される前記オーダリング属性を備える完了パケットを生成し、
前記完了パケットを前記インターコネクトを介して前記リクエスタへ送信する、
ためにさらに構成されることを特徴とする請求項１記載の機器。
【請求項１３】
前記完了パケットは、リラックス・オーダリングの属性フィールドを備えるヘッダを含むことを特徴とする請求項１２記載の機器。
【請求項１４】
前記完了パケットのヘッダは、前記リクエスタを認識するルーティング識別子フィールドを含むことを特徴とする請求項１３記載の機器。
【請求項１５】
前記ルーティング識別子フィールドの値は、前記要求パケットのヘッダ中に含められる値に一致することを特徴とする請求項１４記載の機器。
【請求項１６】
前記完了パケットのヘッダは、前記装置に対応するコンプリータ識別子および完了ステータス識別子を含むことを特徴とする請求項１３記載の機器。
【請求項１７】
前記特定のトランザクションは、システム内の複数のトランザクションの１つであり、前記オーダリング属性を設定するための機会の決定は、前記特定のトランザクションの完了が前記複数のトランザクション中の他のトランザクションの完了と衝突しないであろうことの決定を含むことを特徴とする請求項１記載の機器。
【請求項１８】
ＩＯロジックからなる機器であって、
前記ＩＯロジックは、
リラックス・オーダリングのフィールド、コンプリータ識別子フィールド、および、完了ステータスのフィールドを含むパケットのヘッダを含めるために、装置に関連付けられたリクエストに対応する、トランザクション層の完了パケットを組み立て、
前記装置がルート・コンプレックスの集積化されたエンドポイントであるかどうかに基づいて、前記リラックス・オーダリングのフィールドに符号化されるべき値を決定し、
前記完了パケットをインターコネクトを介して前記装置に送る、
ことを特徴とする機器。
【請求項１９】
前記インターコネクトは、ペリフェラル・コンポーネント・インターコネクト・エクスプレス(Peripheral Component Interconnect Express: ＰＣＩｅ)のプロトコル層、および、１またはそれ以上の他のプロトコルを含む物理層をサポートするための少なくとも１つの物理層からなることを特徴とする請求項１８記載の機器。
【請求項２０】
第１のルート・コンプレックスの集積化されたエンドポイント（Root Complex Integrated Endpoint: ＲＣＩＥ）を含む機器において、前記第１のルート・コンプレックスの集積化されたエンドポイントは、
特定のトランザクションのパケットをインターコネクトを介して受信し、前記パケットはリクエスタの要求パケットを含み、かつ前記要求はＩＯリード要求を含み、
リラックス・オーダリングが前記要求の完了に適用しないことを前記要求パケットのパケット・ヘッダのオーダリング属性フィールドから認識し、および
前記特定のトランザクションのための完了パケットを生成し、前記完了パケットは、リラックス・オーダリングが前記第１のルート・コンプレックスの集積化されたエンドポイントに基づいて前記完了に適用することを示すために設定されるオーダリング属性のフィールドを含む完了ヘッダを含み、前記完了は、コンプリータ識別子、完了ステータス識別子、および、ルーティング識別子をさらに含み、
前記特定のトランザクションは複数のトランザクションに対応し、リラックス・オーダリングを前記特定のトランザクションの完了に適用することにより、前記特定のトランザクションの完了が前記複数のトランザクション中に含められる少なくとも１つのメモリ・リード・トランザクションに先立って完了される、
ことを特徴とする機器。
【請求項２１】
特定のトランザクションの要求パケットをインターコネクトを介して受信する段階であって、前記特定のトランザクションは、リード・トランザクションを含み、前記特定のトランザクションは、特定の装置に関連し、前記特定のトランザクションは、要求、および、完了を含み、前記パケットは、リクエスタからの前記要求に対応する、段階と、
前記要求パケット中のオーダリング属性は、リラックス・オーダリングが前記特定のトランザクションに適用しないことを示していることを、前記要求パケットから認識する段階と、
前記特定の装置がルート・コンプレックスの集積化されたエンドポイントであるかどうかに基づいて、リラックス・オーダリングを前記特定のトランザクションに適用するために、前記オーダリング属性を設定するための機会を決定する段階と、
リラックス・オーダリングが前記機会に少なくとも部分的に基づいて前記特定のトランザクションに適用することを示すために設定された前記オーダリング属性を備える完了パケットを生成する段階と、
を含むことを特徴とする方法。
【請求項２２】
前記特定のトランザクションは、システム中の複数のトランザクションの１つであり、前記オーダリング属性を設定するための機会を決定する段階は、前記特定のトランザクションの完了が前記複数のトランザクション中の他のトランザクションの完了と衝突しないであろうことを決定する段階を含むことを特徴とする請求項２１記載の方法。
【請求項２３】
前記完了パケットを生成する段階は、リラックス・オーダリングが前記特定のトランザクションに適用することを示すために設定されたオーダリング属性のフィールドを含むパケット・ヘッダを組み立てる段階を含むことを特徴とする請求項２１記載の方法。
【請求項２４】
第１装置と、
少なくとも１つのプロセッサによって動作させられるＩＯモジュールを含む、第２装置と、を含むシステムであって、
前記第１装置からの要求に対応する要求パケットをインターコネクトを介して受信し、
リラックス・オーダリングが前記要求の完了に適用することを示すために、前記要求パケット中に設定されていたかどうかを、前記要求パケットから認識し、
前記完了に対応する完了パケットを生成し、前記完了パケットは、前記第１装置が第１のルート・ポートの集積化されたエンドポイント装置であることの決定に基づいて、リラックス・オーダリングが前記完了に適用することを示すために設定されたオーダリング属性を含み、
前記完了パケットを前記インターコネクトを介して前記第１装置に送信する、
ことを特徴とするシステム。
【請求項２５】
前記第２装置は第２のルート・ポートの集積化されたエンドポイント装置からなることを特徴とする請求項２４記載のシステム。
【請求項２６】
ルート・コンプレックスをさらに含むことを特徴とする請求項２４記載のシステム。
【請求項２７】
特定のトランザクションのパケットを１またはそれ以上のポイント・ツー・ポイントのシリアル・リンクからなるインターコネクトを介して受信する手段であって、前記特定のトランザクションは、リード・トランザクションを含み、前記特定のトランザクションは、特定の装置に関連し、かつ前記パケットは、リクエスタを認識するための要求パケットを含む、手段と、
リラックス・オーダリングが前記特定のトランザクションに適用することを示すために、オーダリング属性が前記要求パケット中に設定されたかどうかを認識する手段と、
前記特定の装置がルート・コンプレックスの集積化されたエンドポイントであるかどうかに基づいて、リラックス・オーダリングを前記特定のトランザクションの完了に適用する機会を決定する手段と、
からなること特徴とする機器。
【請求項２８】
リラックス・オーダリングのフィールド、コンプリータ識別子フィールド、および、完了ステータス・フィールドを含むパケット・ヘッダを含めるために、装置に関連付けられたリクエストに対応する、トランザクション層の完了パケットを組み立てるための手段と、
前記装置がルート・コンプレックスの集積化されたエンドポイントであるかどうかに基づいて、前記リラックス・オーダリングのフィールドに符号化されるべき値を決定するための手段と、
前記完了パケットをインターコネクトを介して前記装置に送信するための手段と、
からなること特徴とする機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施例は、一般にトランザクションのオーダリングに関し、特に、ストリクト・オーダリングの修正を許可するシステムおよび方法に関する。
【背景技術】
【０００２】
ペリフェラル・コンポーネント・インターコネクト(Peripheral Component Interconnect)（ＰＣＩ）は、インダストリー・スタンダード・アーキテクチャ(Industry Standard Architecture)（ＩＳＡ）バスの代替として１９９２年に開発された、第２世代のパラレル・バス・アーキテクチャである。ＰＣＩにおいて、全ての装置は、同一の双方向３２ビット（または６４ビット）パラレル信号パスを共有する。ＰＣＩバスは、ＩＳＡバスと比べて、プロセッサの独立、バッファによる分離、バスマスタ、および真のプラグ・アンド・プレイ動作を含む多くの利点をもたらした。ＰＣＩ Ｅｘｐｒｅｓｓ（ＰＣＩｅ）は、ＰＣＩバスの代替として設計された第３世代の汎用シリアル出力／入力（Ｉ／Ｏ）インターコネクトである。ＰＣＩｅは、バスというよりも、むしろレーンと呼ばれる２点間シリアル・リンクの周囲に構築される。
【０００３】
ＰＣＩ Ｅｘｐｒｅｓｓの２点間シリアル・リンク・アーキテクチャは、分散型マルチプロセッサ構造モデルを経由する分散処理に好適である。分散型プロセッサは、一般に、データ・パケット処理機能を実行するために最適化される。パフォーマンスを改善するために、キャッシングに極度に依存する汎用ＣＰＵとは異なり、分散型プロセッサは、パケット処理におけるローカリティが無く、さらに、パケットを高速のデータ速度で処理しつつ処理遅延を低減するための革新的構造を設計者に創作させる後押しをしてきた、高性能Ｉ／Ｏのために必要である。
【０００４】
現在、ＰＣＩｅおよび類似のインターコネクト内のトランザクション・オーダリング属性は、リクエスタによって設定されなければならない。ホストＣＰＵは一般的な資源であるので、それらは、典型的には、実行しているアクティビティの特定の要求に従ってオーダリング属性を設定するための能力を有さず、最低の共通レベルまで落とさなければならず、それによってパフォーマンスが低くなる。ＣＰＵからＩＯへの読み取り(リード：read)は、ＣＰＵコアが結果を待つために機能停止（ストール）する可能性があるので、多くの場合、パフォーマンスが最も重視されるシステム・トランザクションである。したがって、このような読み取りのパフォーマンスの改善は、ＣＰＵ資源を解放することによって他のより有用な作業のためにシステム全体のパフォーマンスを改善することに直結する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】米国特許出願公開第２００７／０１３０３７２号明細書
【図面の簡単な説明】
【０００６】
本発明は、以下の記述および本発明の実施例を示すために使用される添付図面を参照することにより、最もよく理解されるであろう。
【図１】リラックス・オーダリング属性を示すＰＣＩｅ要求ヘッダの概要図である。
【図２】リラックス・オーダリング属性を示すＰＣＩｅ完了ヘッダの概要図である。
【図３】本発明の一実施例の概要図である。
【図４】本発明の他の実施例の概要図である。
【発明を実施するための最良の形態】
【０００７】
本明細書および特許請求の範囲において使用されるように、英文において単数を示す「ａ」、「ａｎ」および「ｔｈｅ」は、文脈において明らかに示されない限り、複数も含む。「ルート・コンプレックス」(root complex)（「ＲＣ」）は、中央処理装置（「ＣＰＵ」または「プロセッサ」）およびメモリをＰＣＩ Ｅｘｐｒｅｓｓのスイッチ構造に結合するためのＰＣＩ Ｅｘｐｒｅｓｓ装置である。ルート・コンプレックスは、プロセッサに代わってトランザクション要求を生成する。「リクエスタ」(requester)は、要求を出すあらゆる装置である。「コンプリータ」(completer)は、要求を処理するあらゆるエンティティ（実体）である。「中間装置」(intermediate)は、リクエスタとコンプリータとの間にある、スイッチのようなあらゆる装置である。典型的には、中間装置は単に要求を転送させるだけである。本明細書および特許請求の範囲において使用されるように、「上流」(upstream)とは、ルート・コンプレックスに向かう流れを示す。「下流」(downstream)とは、ルート・コンプレックスから遠ざかる流れを示す。「領域」(region)は、アドレスまたはアドレスの範囲によって定義されたメモリの一部である。例えば、ある領域はその装置に対する命令を格納するために使用され、他の領域はその装置によって生成されまたは使用されるデータのために用いるというように、装置は異なる動きを要求することもできる。
【０００８】
本発明の実施例は、装置がトランザクション特定要求(transaction-specific request)を認識することに基づいて、ＩＯ装置に完了(complete)のオーダリング属性を修正させることによって、ＣＰＵからＩＯ装置への読み取りのために、不必要に厳格なオーダリングのために失われたパフォーマンスのいくらかをどのように回復することができるかについて説明する。ストリクト・オーダリング(strict ordering)における課題の一例として、最初は完了までに２μｓを要した読み取りが１μｓに改善された場合、この１μｓの差を、有用な仕事をするためにコアへ「返還」できると考えると、それは、コアが何千もの命令を実行するのに十分な時間となる。現行システムでは、しばしば、ＣＰＵからＩＯ装置への読み取りに０．６μｓから数μｓの遅延を生じる。大規模システムでは、従来のオーダリングはＣＰＵからＩＯ装置への読み取りにおいて４μｓの遅延が生じる。この遅延の多くは、完了に書き込み(ライト：write)の迂回を禁じている従来のオーダリング要求によって引き起こされる。ＩＯ装置からメイン・メモリへ書き込むトラフィックは多量である場合が多いので、ＣＰＵへのリード完了は、単にこれらの多量の書き込みによって引き起こされたキューイング遅延によってしばしば遅延する。
【０００９】
ＰＣＩｅおよび類似のインターコネクトは、最適化されたハンドリングを可能とするために、オーダリング属性をトランザクションに関連させる。例えば、ＰＣＩ／ＰＣＩｅにおいて、デフォルトのオーダリング・ルールは、ＰＣＩプロデューサ／コンシューマ・オーダリング・モデルの正確性要求として、リード完了が同一方向に流れる、以前に送出された全ての書き込みのために待機することを要求する。しかしながら、このモデルは、ほとんどの場合、過度に保守的である。例えば、ＩＯ装置の状態を記述するデータ構造を読み取る前に、ＩＯ装置の書き込みをメイン・メモリにフラッシングすることが通常必要である。装置の書き込みをフラッシングすることは、ＣＰＵに装置から読み取らせることによりしばしば行われる。しかしながら、一旦フラッシングの読み取りが完了すると、典型的には、装置状態の追加の読み取りは、上流の書き込みに対してオーダされる必要はない。さらに、ＰＣＩ／ＰＣＩｅのデフォルト・オーダリング・ルールがこの行動を要求したとしても、無関係な装置からの上流の書き込みに対して、ＣＰＵの読み取りをオーダすることは通常必要ではない。
【００１０】
典型的には、要求されるオーダリング属性を示すために、ホストＣＰＵがどのようにリード要求をマークすべきかを知る方法はない。しかしながら、ＩＯ装置は、一般に、どの領域が従来のオーダリングを要求するか、および、どの領域が従来のオーダリングを要求しないかを認識している。オーダリング要求は、ある装置と他の装置、装置内のあるレジスタと同一装置内の他のレジスタ、および、レジスタがどのようにアクセスされるかに基づいて１つのレジスタに対してさえ、非常に多様である。オーダリング要求に関する知識は、理論上、ホスト上で実行されているデバイス・ドライバのソフトウェアによって通信することが可能であるが、最近のアーキテクチャＣＰＵは、これを行なうためのメカニズムを提供していない。しかしながら、一般に、ＩＯ装置自体は、オーダリング要求に関する知識を有している。しかしながら、ＩＯ装置は、ＣＰＵを装置の要求にタグ付けすることができない−このトランザクションの一部は、いくつかの他のメカニズムが示すために使用されない限り、最も保守的なオーダリング要求が該当するものと仮定して処理されなければならない。
【００１１】
多くの場合、完了で配置されたオーダリング要求は、著しい機能停止（ストール）を引き起こす。しかしながら、本発明のシステムおよび方法によって、オーダリング要求は、適切な箇所で、オーダリング要求を緩和するためにＩＯ装置によってタグを付すことができる。オーダリング要求は、実行中のアーキテクチャに依存する。本発明の１つの実施例では、そのアーキテクチャはＰＣＩｅである。ＰＣＩｅ装置は、既に、リラックス・オーダリング（ＲＯ：Relaxed Ordering）と呼ばれるオーダリング属性へのアクセスを有する。
【００１２】
図１は、ＰＣＩｅ要求ヘッダ内のＲＯビットの位置を示す。典型的には、ＣＰＵがどの要求によってＲＯビットを設定することができるかを知るための情報を提供するメカニズムが無い限り、ＲＯビットは要求内で０に設定される。既存のＰＣＩｅルールに従って、ＲＯビット（および関連するオーダリング・インプリケーション）は、コンプリータによって、要求から完了へ単純にコピーされる。図２は、ＰＣＩｅ完了ヘッダ内の対応するリラックス・オーダリング（ＲＯ）ビットを示す。
【００１３】
今日のＰＣＩ−ｘ／ＰＣＩｅにおいて、ＲＯビットは、それが対応する要求内で設定された場合にのみ、完了ヘッダ内に設定される。どの要求がＲＯであるとマークすることができるか、またはどれができないかを装置が「知っている」と仮定されるので、このポリシーは、メイン・メモリへの装置リードのために意味をなす。本発明の実施例は、装置からのＣＰＵリードが、装置によって戻された完了のためにＲＯとマークすることができることを認識する。これによって、完了は、メモリへの無関係な装置ライトを迂回することができる。
【００１４】
図３は、リラックス・オーダリング属性（この場合、ＰＣＩ／ＰＣＩｅ完了のＲＯビット）が、ＩＯ装置によってどのように設定されるのかという一例を示す。この例において、システム１００は、３つのＰＣＩ／ＰＣＩｅエンドポイント１，２，３を含む。しかしながら、システム１００は、任意の数のＰＣＩ／ＰＣＩｅエンドポイントを有することができる。最初の２つのＰＣＩ／ＰＣＩｅエンドポイント１，２は、ＰＣＩｅインターコネクト１２２を経由してスイッチ１０８に接続される。スイッチ１０８は、他のＰＣＩｅインターコネクト１２２を経由してルート・コンプレックス１１０に接続される。第３のＰＣＩ／ＰＣＩｅエンドポイント３は、ＰＣＩｅインターコネクト１２２を経由してルート・コンプレックス１１０に直接接続される。ルート・コンプレックス１１０は、出力／入力コントローラ・ハブ・コントローラ（ＩＣＨ）１１２、メモリ・コントローラ・ハブ（ＭＣＨ）１１４、メイン・メモリ１１６、およびＣＰＵ１１８を含む。入力／出力コントローラ・ハブ・コントローラ（ＩＣＨ）１１２は、デスクトップ・マネジメント・インターフェイス（ＤＭＩ）１２０を経由してメモリ・コントローラ・ハブ（ＭＣＨ）１１４に接続される。
【００１５】
本実施例では、エンドポイント２，３は、メイン・メモリ１１６にデータを書き込んでいる。これらの書き込みは、エンドポイント１のアクティビティとは無関係である。ＣＰＵコア１１８は、エンドポイント１から読み取りを行っている。従来のＰＣＩオーダリング・ルールは、それらの書き込みが、読み取りデータと関係するであろうという（過度に保守的な）仮定の下に、メモリへのその書き込みの迂回を完了することを禁止する。この行動は、ＰＣＩプロダクタ／コンシューマ・モデルによって要求される。典型的には、エンドポイント１は、ＣＰＵによって読み取られるデータが、メモリへの未処理の書き込みに関係しているかどうかを「知って」おり、そして、未処理の書き込みと関係がある場合は、リード完了に対してＲＯを示さないであろう。しかしながら、ほとんどの場合は、エンドポイント１は、その読み取りはいずれの未処理の書き込みにも関係しないことを「知って」おり、そして、その場合は、エンドポイント１は、ＲＯのための完了を差し支えなくマークすることができる。
【００１６】
図４は、アドレス指定装置がルート・コンプレックス１１０に集積されている、本発明の別の実施例を示す。システム２００は、入力／出力コントローラ・ハブ・コントローラ（ＩＣＨ）１１２に接続された、２つの集積されたエンドポイント１２４，１２６を含む。入力／出力コントローラ・ハブ・コントローラ（ＩＣＨ）１１２は、デスクトップ・マネジメント・インターフェイス（ＤＭＩ）１２０を経由してメモリ・コントローラ・ハブ（ＭＣＨ）１１４に接続される。メモリ・コントローラ・ハブ（ＭＣＨ）１１４は、ＣＰＵ１１８およびメイン・メモリ１１６に接続される。本実施例は、単一のＰＣＩ／ＰＣＩｅエンドポイント１を含む。しかしながら、システム２００は、任意の数の集積されたアドレス指定装置１２４，１２６またはＰＣＩ／ＰＣＩｅエンドポイント１を有することができる。
【００１７】
多くの場合、集積されたアドレス指定装置１２４，１２６は、非常によく定義された方法で使用され、そして、完了オーダリング・リラクゼーションがいつ受理可能であるかを決定するために使用されるメカニズムを単純化することができる。完了オーダリングの特定の処理は、ＰＣＩｅのＲＯ要求にならう必要はないことに注意すべきである。すなわち、本発明の他の実施例は、所望のコスト／利益に従って、より単純化またはより複雑化することができる。
【００１８】
図４は、完了オーダリング・リラクゼーション・スキームに関係するルート・コンプレックスの集積装置を具備するシステムを示す。図４に示されたシステムでは、以下のポリシーまたは他の類似のポリシーを実行することができる。
・集積装置からのＣＰＵリードは、他の集積装置からメイン・メモリへの書き込みに対するオーダリング要求を有しないことを認識すること。
・集積装置からのＣＰＵリードは、非集積装置からメイン・メモリへの書き込みに対するオーダリング要求を有しないことを認識すること。
・非集積装置からのＣＰＵリードは、他の集積装置からメイン・メモリへの書き込みに対するオーダリング要求を有しないことを認識すること。
・非集積装置からのＣＰＵリードは、他の非集積装置からメイン・メモリへの書き込みに対するオーダリング要求を有しないことを認識すること。
【００１９】
上記の例は、ＰＣＩ／ＰＣＩｅのＲＯ属性によって示された。しかしながら、本発明はＰＣＩ／ＰＣＩｅのＲＯに制限されない。より一般的な場合には、オーダリング属性がＲＯと異なってもよい。さらに、オーダリング属性の表現方法が変わってもよい。完了オーダリングがデフォルトの行動から安全に修正されることができるかどうかを決定するための知識をコンプリータが有することで十分である。加えて、上記の例は、上流の書き込みに対するオーダリングに関して示された。しかしながら、システムは対称的である。すなわち、オーダリング属性は、下流の書き込みに対しても同様に、緩和させるように変更することができる。
【００２０】
本発明の実施例は、コンピュータ・システムの広範な配列に望ましいパフォーマンスの向上を提供する。旧資産のハードウェアおよびソフトウェアに対するサポートに関連する要求は、オーダリング・リラクゼーションの実行を非常に困難にさせるので、ＰＣコンパチブルのアーキテクチャ・システムは、特に制約される。しかしながら、上述のメカニズムは、ＰＣ環境内でよく動作する。
【００２１】
本発明がいくつかの実施例に関して記述されたが、当業者であれば、本発明は、記載された本発明の実施例に制限されていないことを理解し、また、本発明は、添付された請求項の精神および範囲内で修正および変更して実行することができることを認識するであろう。したがって、本記述は、制限するものではなく、例示であるとみなされる。
【符号の説明】
【００２２】
１００，２００  システム
１０８  スイッチ
１１０  ルート・コンプレックス
１１４  メモリ・コントローラ・ハブ（ＭＣＨ）
１１６  メイン・メモリ
１１８  ＣＰＵ
１２０  デスクトップ・マネジメント・インターフェイス（ＤＭＩ）
１２２  ＰＣＩｅインターコネクト
１２４，１２６  アドレス指定装置
【図１】
0005824488.tif 000002
【図２】
0005824488.tif 000003
【図３】
0005824488.tif 000004
【図４】
0005824488.tif 000005