(57)【特許請求の範囲】
【請求項１】
少なくとも一つのプロセッサをメモリと接続するシステム・バスと、
前記システム・バスとは異なるプロトコルを有するＩ／Ｏバスと、
前記Ｉ／Ｏバスに接続された、前記メモリおよび前記少なくとも一つのプロセッサとでデータを共用する少なくとも一つの周辺装置と、
前記Ｉ／Ｏバスを前記システム・バスに相互接続し、アウトバウンド経路およびインバウンド経路を有し、前記少なくとも一つの周辺装置と前記メモリとの間の第一のデータ転送を、前記少なくとも一つのプロセッサと前記少なくとも一つの周辺装置との間の第二のデータ転送が完了する前に完了させることにより、トランザクションの順序を制御してデッドロック状態を防ぐブリッジとを含み、
前記第一のデータ転送が完了するまで、前記少なくとも一つの周辺装置が処理活動を一時停止し、
前記ブリッジが、
前記少なくとも一つの周辺装置から前記メモリへの、前記第一のデータ転送に相当する要求を記憶する第一のバッファと、
前記少なくとも一つのプロセッサから前記少なくとも一つの周辺装置への、前記第二のデータ転送に相当する要求を記憶する第二のバッファと、
前記第二のバッファに対して並列である、前記第一のデータ転送に相当するデータを含む前記メモリからの返答を記憶する第三のバッファと、
前記メモリからの前記返答に対して前記少なくとも一つのプロセッサからの前記要求をバイパスさせ、前記少なくとも一つの周辺装置が処理活動を継続することができるようにする手段とを含むデータ処理システム。
【請求項２】
前記第一のデータ転送が、前記少なくとも一つの周辺装置による前記メモリの直接メモリ・アクセスである請求項１記載のシステム。
【請求項３】
前記第二のデータ転送が、前記少なくとも一つのプロセッサによるロードまたは記憶動作である請求項２記載のシステム。
【請求項４】
前記ブリッジが、トランザクションを前記Ｉ／Ｏバスから前記システム・バスに伝送するアウトバウンド経路を含む請求項１記載のシステム。
【請求項５】
前記アウトバウンド経路および前記インバウンド経路が、
前記ブリッジへの入力に接続された、前記アウトバウンド経路中でバッファへのトランザクションをゲートする第一のトランザクション・ルータ回路と、
前記第一のトランザクション・ルータ回路に接続された、読み出し返答トランザクションを記憶する少なくとも一つの並列バッファと、
前記第一のトランザクション・ルータ回路に接続された、読み出し要求トランザクションおよび書き込みトランザクションを記憶する少なくとも一つの直列バッファと、
前記並列バッファおよび直列バッファの出力に接続された、状態機械の制御の下で前記アウトバウンド経路から出力される一つ以上のトランザクションを選択する第一のトランザクション選択回路とを含む請求項４記載のシステム。
【請求項６】
前記ブリッジが、トランザクションを前記システム・バスから前記Ｉ／Ｏバスに伝送するインバウンド経路をさらに含む請求項５記載のシステム。
【請求項７】
前記インバウンド経路が、
前記ブリッジへの入力に接続された、前記アウトバウンド経路中でバッファへのトランザクションをゲートする第二のトランザクション・ルータ回路と、
前記第二のトランザクション・ルータ回路に接続された、読み出し返答トランザクションを記憶する少なくとも一つの並列バッファと、
前記第二のトランザクション・ルータ回路に接続された、読み出し要求トランザクションおよび書き込みトランザクションを記憶する少なくとも一つの直列バッファと、
前記並列バッファおよび直列バッファの出力に接続された、前記状態機械の制御の下で前記インバウンド経路から出力される一つ以上のトランザクションを選択する第二のトランザクション選択回路とを含む請求項６記載のシステム。
【請求項８】
前記状態機械が、所定の論理構造にしたがって、前記アウトバウンド経路およびインバウンド経路中のトランザクションのゲート動作を制御する請求項７記載のシステム。
【請求項９】
少なくとも一つのプロセッサをメモリと接続するシステム・バスと、
前記システム・バスとは異なるプロトコルを有するＩ／Ｏバスと、
前記Ｉ／Ｏバスに接続された、それぞれが前記メモリおよび前記少なくとも一つのプロセッサとの間でデータを転送することができる複数の周辺装置と、
前記Ｉ／Ｏバスを前記システム・バスに相互接続し、アウトバウンド経路およびインバウンド経路を有し、前記Ｉ／Ｏバス上の前記複数の周辺装置と、前記システム・バス上の前記少なくとも一つのプロセッサおよびメモリとの間の複数のデータ転送トランザクションを処理するブリッジとを含み、
前記ブリッジは、
前記複数の周辺装置のうちの一つの周辺装置と前記メモリとの間の第一のデータ転送を、前記少なくとも一つのプロセッサと前記複数の周辺装置のうちの一つの周辺装置との間の第二のデータ転送が完了する前に完了させることにより、トランザクションの順序を制御してデッドロック状態を防ぎ、少なくとも一つの周辺装置から前記メモリへの、前記第一のデータ転送に相当する要求を記憶する第一のバッファと、前記少なくとも一つのプロセッサから前記少なくとも一つの周辺装置への、前記第二のデータ転送に相当する要求を記憶する第二のバッファと、前記第二のバッファに対して並列である、前記第一のデータ転送に相当するデータを含む前記メモリからの返答を記憶する第三のバッファと、前記メモリからの返答に対して前記少なくとも一つのプロセッサからの要求をバイパスさせ、少なくとも一つの周辺装置が処理活動を継続することができるようにすることを特徴とするデータ処理システム。
【請求項１０】
前記ブリッジが、前記複数のデータ転送トランザクションのうち、どの特定のデータ転送トランザクションを非順序的に処理するかを決定する状態機械を含む請求項９記載のシステム。
【請求項１１】
前記状態機械が、前記第一のデータ転送トランザクションによってアクセスされるデータを含む第一のアドレスが、前記後続のデータ転送トランザクションによってアクセスされるデータを含む第二のアドレスと一致するかどうかを判定するコンパレータを含む請求項１０記載のシステム。
【請求項１２】
前記状態機械が、前記第一のアドレスと前記第二のアドレスとが一致したとき、前記後続のトランザクションが前記第一のデータ転送トランザクションをバイパスすることを防ぐため、前記後続のデータ転送トランザクションをゲートする手段をさらに含む請求項１１記載のシステム。
【請求項１３】
少なくとも一つのプロセッサとメモリとをシステム・バスによって接続するステップと、
前記システム・バスとは異なるプロトコルを有するＩ／Ｏバスを設けるステップと、
前記メモリおよび前記少なくとも一つのプロセッサとでデータを共用する複数の周辺装置を前記Ｉ／Ｏバスによって接続するステップと、
前記Ｉ／Ｏバスを前記システム・バスにアウトバウンド経路およびインバウンド経路を有するブリッジにより相互接続し、前記複数の周辺装置の一つと前記メモリとの間の第一のデータ転送を、前記少なくとも一つのプロセッサと前記複数の周辺装置の前記一つとの間の第二のデータ転送が完了する前に完了させることにより、トランザクションの順序を制御してデッドロック状態を防ぐステップと、
前記複数の周辺装置の前記一つを、前記第一のデータ転送が完了するまでデータ処理活動が一時停止される状態に維持するステップと含み、
前記ブリッジによる相互接続ステップが、
前記複数の周辺装置の前記一つから前記メモリへの、前記第一のデータ転送に相当する要求を第一のバッファに記憶するステップと、
前記少なくとも一つのプロセッサから前記複数の周辺装置の前記一つへの、前記第二のデータ転送に相当する要求を第二のバッファに記憶するステップと、
前記第一のデータ転送に相当するデータを含む前記メモリからの返答を、前記第二のバッファに対して並列である第三のバッファに記憶するステップと、
前記メモリからの前記返答をして前記少なくとも一つのプロセッサからの前記要求をバイパスさせて、前記複数の周辺装置の前記一つが処理活動を再開することができるようにするステップとを含む
データ処理システムにおけるデータ処理方法。
【請求項１４】
前記第一のデータ転送が、前記複数の周辺装置の前記一つによる前記メモリの直接メモリ・アクセスであり、前記第二のデータ転送が、前記少なくとも一つのプロセッサによるロードまたは記憶動作である請求項１３記載の方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データ処理システムに関し、より詳細には、ホストと周辺装置との間のインバウンドおよびアウトバウンドの読み出しおよび転記された書き込みを効率的に扱うための機構を含むデータ処理システムに関する。
【０００２】
【従来の技術】
周辺部品インタコネクト（ＰＣＩ）バス仕様のようなデータ処理システムに使用するための多くの標準バス・アーキテクチャは、同じバス・プロトコルを有する少なくとも二つのバスを接続するバス間ブリッジを横切るトランザクションのための順序づけ規則を含む。そのようなトランザクションの例は、ホスト・プロセッサからアウトバンドに周辺装置に至る読み出し要求、周辺装置からインバウンドにホスト・プロセッサに至るデータを含む読み出し返答（読み出し要求に対する）または書き込みコマンドがバス間ブリッジ中のバッファに転記されて、ホストが他の処理を進めることを許可する転記された書き込みである。本明細書中、「転記された書き込み」とは、開始側のバスにおいて書き込みが完了し、その書き込みが、行き先バスにおける将来の完了に備えてホスト・ブリッジ中に転記されているものをいう。現在のバス間アーキテクチャは、バス間ブリッジを横切る読み出しトランザクションを完了する前に、アウトバウンド（ホスト・プロセッサから離れる）およびインバウンド（ホスト・プロセッサに向かう）の両方向の書き込みバッファをフラッシュ消去することを要するか、特定のバス間順序づけ規則、例えば相互参照した特許出願ＡＡ９−９５−０１２に前記し、ＰＣＩバス・アーキテクチャのＰＣＩローカル・バス仕様バージョン２．１に述べられたものを定義するかのいずれかである。バッファをフラッシュ消去する必要性は、プロセッサの読み出しアクセスを待機させ、ブリッジ・バッファ中に転記された書き込みがあるならば、そのようなアクセスが再試行されることにより、使用中のサーバの場合に性能の問題を生じさせるおそれがある。本明細書中、「再試行」とは、マスタによってアクセスされている標的装置がそのアクセスを認識するが、その装置が使用中であり、トランザクションを停止するということを合図することに関していう。そして、マスタは後で再びアクセスを試みる。
【０００３】
一つのＰＣＩバスを別のＰＣＩバスに接続するバス間ブリッジを、本明細書中、「ＰＣＩ−ＰＣＩブリッジ」と呼ぶ。ＰＣＩ−ＰＣＩブリッジを横切るトランザクションのための順序づけ規則が、ＰＣＩローカルバス仕様改訂２．１に包含されている。ホスト・プロセッサ、システム・バスまたは他のシステム相互接続をＰＣＩバスに接続するブリッジを、本明細書中、「ＰＣＩホスト・ブリッジ（ＰＨＢ）」または単に「ホスト・ブリッジ」と呼ぶ。
【０００４】
ホスト・ブリッジには、ＰＣＩ−ＰＣＩブリッジに要求されるものの他に独自の要件があるが、また、ホスト・ブリッジの場合、ホスト・ブリッジ・インタフェースの一次（システム）側の大部分のトランザクションのソースがＩ／Ｏ装置よりもホスト・プロセッサによって開始されるため、ＰＣＩ−ＰＣＩブリッジと同じ制約のすべてがあるわけではない。
【０００５】
いくつかの従来技術のブリッジ・アーキテクチャが、性能を改善し、処理能力の遅延を解消することを試みている。
【０００６】
従来技術として、ネットワークを相互接続するマルチポート・ブリッジをもち、データを、読み出しか書き込みかを問わず、ブリッジ内での一様な扱いによって転送することを保証する緩衝部品を含む高性能ブリッジのアーキテクチャがある。
【０００７】
この技術は一般にブリッジの性能における改善に関するが、システムの性能を下げる読み出しトランザクションを完了する前にバッファをフラッシュ消去しなければならない問題に取り組んではいない。
【０００８】
また、他の従来技術においては、多数の独立バッファ、メモリ・インタフェースおよび中央制御ユニットが接続されている共通のバスにより、メモリ・インタフェースがソース・ユーザからメッセージを受け、そのメッセージを選択されたバッファに記憶し、それらのバッファを連鎖する。制御装置が、それがメモリ・インタフェースから受けるコマンドに応答して、インバウンド・メッセージ・キューおよびアウトバウンド・メッセージ・キューを生成する。
【０００９】
この技術は、高性能バス・ブリッジ・アーキテクチャに対して類似点をいくつか有するが、転記された書き込みのトランザクションに続く読み出しトランザクションを完了する前にバッファをフラッシュ消去する必要性の問題に対する解決方法を扱ってもいないし示唆してもいない。
【００１０】
また、他の従来技術には、プロセッサから周辺装置に情報を読み出し、ネットワーク環境においてブリッジングを行うための多数のインバウンドおよびアウトバウンドのバッファがある。
【００１１】
この技術は、バッファ・メモリを含むバス間ブリッジを有しているが、書き込みトランザクションと読み出しトランザクションとの間でバッファをフラッシュ消去する必要性を解消するバス間ブリッジにおける性能を改善するための機構を有していない。
【００１２】
上述の従来技術のいずれも、書き込み動作に続く読み出し動作のためにバッファをフラッシュ消去する必要性を解消する性能の改善を教示してもいないし示唆してもいない。
【００１３】
さらに、従来技術は、混在する多数のインバウンドおよびアウトバウンドのトランザクションを処理する問題を適切に扱っていない。加えて、従来技術は、異なるプロトコルを有するバスどうし、例えばシステム・バスとＩ／Ｏバスとをインタフェースさせて、システム干渉性定義域要件、Ｉ／Ｏバス要件、デッドロック回避および性能の観点を考慮しながら、トランザクション順序づけ要件を合わせなければならないホスト・ブリッジ独自の要件に対処していない。
【００１４】
特に、システム・バスは通常、特定のトランザクションを、データを要求／提供している装置に対してタグ付けする能力を有するため、システム・バスをＩ／Ｏバスと相互接続する場合、特定の問題が生じる。しかし、Ｉ／Ｏバス（特にＰＣＩバス）は、装置に対してトランザクションをタグ付けする能力を有さず、アドレスに基づいてデータにアクセスするだけであり、これがデータ・コヒーレンシーに関して問題を引き起こしかねない。すなわち、最初の装置が特定のアドレスからデータを要求すると、ブリッジがこの最初の装置に対して再試行を実施し、それに対し、後でデータを取りに戻ってくるように伝えることができる。そして、ブリッジは、特定のアドレスからデータを取得し、そのデータをブリッジ中のバッファなどに記憶して、第一の装置がそのデータを再び要求してくるのを待つ。第一の装置がデータを再び要求してくる前に、第二の装置が他のデータをこの特定のアドレスに書き込み、それを読み出そうとするかもしれない。第一の装置によって要求されるデータは今やブリッジ中のバッファの中にあり、通常のバス間ブリッジは、特定の装置に関してデータをタグ付けする能力を有さず、ただ、特定のアドレスからデータが要求されたことを知るだけであるため、そのデータは第二の装置に提供される。したがって、異なる装置によって同じアドレスからデータが要求されるとき、第一の装置のためのデータが第二の装置に提供されることになるため、問題が起きるということが理解されよう。このように、第二の装置が第一の装置からデータを「奪った」ことになり、それが誤った結果を招くおそれがある。装置が、別の装置に向けられた違うデータを取得してしまうことを防ぎ、かつ、トランザクションの順序外処理を可能にするブリッジが必要であることが理解されよう。
【００１５】
記憶トランザクションがブリッジの出力バッファ中で保留状態にある同じときに特定のＩ／Ｏ周辺装置がシステム・メモリに対して直接メモリ・アクセス（ＤＭＡ）を試みるとき、もう一つの問題が生じる。これは、記憶がＤＭＡ動作の完了を待ち、ＤＭＡトランザクションが記憶の終了を待つところのデッドロック状態を引き起こす。より具体的には、多くのタイプのＩ／Ｏバスおよびそれらの対応する周辺装置は「再試行」能力をもたない。したがって、ある周辺装置がバスにアクセスするとき、その装置は、そのトランザクションが完了するまでバスの制御を維持する。例えば、周辺装置は、システム・バスに接続されたシステム・メモリからデータを要求するかもしれない。この場合、読み出し要求がブリッジのトランザクション待ち行列中に配される。続いて、メモリからの要求されたデータを含む読み出し返答動作がブリッジに提供される。しかし、その間に、システム・バスに接続されたプロセッサが記憶動作を実施して、先にＤＡＭデータをシステム・メモリから要求していた周辺装置にデータを配置してしまうかもしれない。この記憶動作がブリッジ待ち行列中のＤＭＡデータ返答トランザクションよりも先に起こるならば、デッドロック状態が起こる。すなわち、周辺装置が、ＤＭＡデータを受けるまで、他の動作を進めることができず、記憶トランザクションがブリッジ待ち行列中のＤＭＡデータ返答トランザクションよりも先に起こるため、要求を出した周辺装置に向けられる記憶トランザクションは完了することができない。したがって、このデッドロック状態を解消し、データ処理システム中で改善されたデータ転送動作を可能にするブリッジが必要であることが理解されよう。
【００１６】
【発明が解決しようとする課題】
したがって、本発明の目的は、システムの高い性能水準を維持しながらも、読み出し要求、読み出し返答、Ｉ／Ｏ書き込みおよび転記されたメモリ書き込みを効率的な方法で制御し、適切なホスト・ブリッジ・トランザクション順序づけを提供し、デッドロックを回避するための制御機構を有して、ホスト・ブリッジ中で多数の混在するトランザクションをインバウンドおよびアウトバウンドの両方向に効率的に扱うことにある。
【００１７】
【課題を解決するための手段】
したがって、データ処理システムは、ホスト・プロセッサと、多数の周辺装置と、一つ以上のホスト・プロセッサ、周辺装置および相互接続された周辺装置をもつ他のホスト・プロセッサをネットワークにおけるように接続することができる一つ以上のブリッジとを含む。ホスト・ブリッジが、一次バス（例えばシステム・バス）と二次バス（例えばＰＣＩバスのようなＩ／Ｏバス）とを接続する。ここで、理解しやすいよう、一次バスを、アウトバウンド・トランザクションのソースおよびインバウンド・トランザクションの行き先とみなし、二次バスを、アウトバンド・トランザクションの行き先およびインバウンド・トランザクションのソースとみなす。具現態様に依存して、一次バス上の種々のトランザクションが二次バス上の他のトランザクションと同時に起こることもあるし起こらないこともある。各ホスト・ブリッジは、アウトバウンド・データ経路と、インバウンド・データ経路と、制御機構とを含む。アウトバウンド・データ経路は、トランザクションを一次バスからの受け取り順（または他の順序）に記憶するための待ち行列バッファであって、待ち行列バッファ中の要求が、読み出し要求と書き込み要求との間で混在していてもよいところの待ち行列バッファを含み、また、読み出し返答データおよびアドレス情報を記憶するための多数の他のバッファを含む。
【００１８】
インバウンド経路はアウトバウンド経路と鏡像的に対照するものであり、読み出し要求および書き込み要求がトランザクション・バッファに記憶され、読み出し返答が多数の他のバッファに記憶される。ホスト・ブリッジ中のインバウンド経路およびアウトバウンド経路はいずれも、両方向への活動を考慮し、バイパス・トランザクションを許可または禁止する状態機械によって制御される。本明細書中、「バイパス」とは、あるトランザクションがその後続のトランザクションよりも先に待ち行列に加わったとしても、先行のトランザクションの前に後続のトランザクションを処理することが許可されることをいう。
【００１９】
本発明の特徴は、インバウンドおよびアウトバウンドのトランザクション要求を、所定の状態機械の制御の下で、特定のタイプのトランザクションおよび定義された順序づけ規則に基づき、順次または非順次のいずれにも扱うことができることにある。
【００２０】
本発明のもう一つの特徴は、バッファをフラッシュ消去することなく読み出しトランザクションが書き込みトランザクションの後に続くことを許可する機構により、ホスト・ブリッジ中のインバウンドおよびアウトバウンドのトランザクションを効率的に扱うことができることにある。
【００２１】
本発明のもう一つの特徴は、種々のトランザクションがホスト・ブリッジを横切るとき、それらのトランザクションに関して適切なデータ整合性が維持されることにある。
【００２２】
他のトランザクション、例えば読み出し要求は、開始側のバス上で完了する前に行き先バス上で完了して（データが取り出されて）いなければならない。例えば、ホスト・プロセッサは、Ｉ／Ｏバス上の周辺装置からデータを要求するかもしれない。そのデータは、トランザクションが完了したとみなされる前に、行き先バス上の周辺装置から取り出され、ホスト・ブリッジを介して開始側のバス上のホスト・プロセッサに提供されなければならない。本発明を特徴を用いると、転記された書き込みをフラッシュ消去することなく、トランザクション、例えば読み出しアクセスの処理を進めることができる。
【００２３】
本明細書中、「転記された読み出し」とは、標的装置がアクセスを認識し、それが使用中であり、再試行制御信号によってアクセスを終了することを合図するものをいう。マスタ（要求側の装置）は後で再びアクセスを試みる。そして、本発明のホスト・ブリッジが後続の処理に備えて読み出し要求を転記して、マスタが後で再びアクセスを試みるとき、読み出されたデータを利用可能にできるようにする。ホスト・ブリッジが要求されたデータを取得する前にマスタが再び試行するならば、ブリッジは再び再試行を合図するが、アクセス要求の第二のコピーを緩衝記憶しない。ホスト・ブリッジの場合、プロセッサからの読み出し要求がタグ付けされてもよく、プロセッサが再試行されることを要しない。
【００２４】
本発明のもう一つの特徴は、一般に、性能の改善および具現化しやすさのため、ロード動作（ホスト・プロセッサに対する読み出し動作）経路および記憶（ホスト・プロセッサに対する書き込み動作）が、周辺装置とシステム・メモリとの間の直接メモリ・アクセス（ＤＭＡ）経路から独立していることにある。ロードおよび記憶動作は、ロードがホスト・プロセッサへのデータのロードを生じさせ、記憶がホスト・プロセッサから周辺装置へのデータの記憶を生じさせるというトランザクションの流れを考慮していることに注目すべきである。
【００２５】
本発明のさらに別の特徴は、ホスト・ブリッジの周辺メモリ空間または周辺Ｉ／Ｏ空間（Ｉ／Ｏ出力バッファ）のいずれかへのロード要求が、同じホスト・ブリッジの周辺メモリ空間（メモリ出力バッファ）または周辺Ｉ／Ｏ空間のいずれかへの先行のロードの前には、両方のロードが同じアドレスに向かう場合、絶対にＩ／Ｏバスに通されてはならないということにある。アドレスが異なるとき、これは性能の改善を可能にする（通過を許す）が、一方または両方のプロセッサがその同じアドレスに書き込むとき、一方のプロセッサがもう一方のプロセッサのデータを奪う（すなわち無効データを得る）問題を回避する。
【００２６】
本発明のもう一つの特徴は、デッドロックを回避するため、ＤＭＡ読み出し返答データが、ホスト・ブリッジ中に緩衝記憶された先行のロードおよび記憶トランザクションをバイパスすることを許可されることにある。これは、バス間ブリッジの場合とは異なる要件であり、性能を改善するためにホスト・ブリッジとＰＣＩバスとの間の適切な相互作用のために求められる。
【００２７】
本発明のさらに別の特徴は、ホスト・ブリッジの周辺メモリ空間または周辺Ｉ／Ｏ空間のいずれかへのロードまたは記憶が、同じホスト・ブリッジの周辺メモリ空間または周辺Ｉ／Ｏ空間のいずれかへの先行の記憶の前には、絶対にＩ／Ｏバスに通されてはならないということにある。すなわち、一つのホスト・ブリッジによって生成された、Ｉ／Ｏバスに対する多数の記憶は、順序どおり維持されなければならず、ロードが記憶をバイパスしてはならない。
【００２８】
これらの技術は、同様に書き込みおよび読み出しトランザクションを転記するホスト・ブリッジ、一般にはバス間ブリッジに応用することができる。
【００２９】
前記の説明は、以下に記す本発明の詳細な説明をよりよく理解することができるよう、本発明の特徴および技術的利点を概説したものである。以下、本発明の請求の範囲の主題を構成する本発明のさらなる特徴および利点を記載する。
【００３０】
【発明の実施の形態】
まず、図１を参照しながら、本発明を具現化するデータ処理システムを説明する。
【００３１】
システム１０は、第一のバス１４、例えばマルチプロセッサシステムによって使用することができるシステム・バス（例えばＩＢＭ社から販売されている６ＸＸバス）に接続された少なくとも一つのホスト・プロセッサ１２を含む。また、図１に点線で示す他のプロセッサ１２がバス１４に接続されていてもよい。
【００３２】
同様に、システム・バス１４には、第一のバス１４と第二のバス１６とを接続するホスト・ブリッジ２０ａが接続されている。また、システム・メモリ１５がシステム・バス１４に接続されている。他の装置３０、４０が同様にバス１６に接続されていてもよい。非限定的な一例として、装置４０は、ＰＣＩバス（例えばバス１６）を別のＩ／Ｏバス１７、例えばＩＢＭ社から市販されているＭｉｃｒｏｃｈａｎｎｅｌバス（ＭｉｃｒｏｃｈａｎｎｅｌはＩＢＭ社の商標である）に接続するための別のブリッジ・チップであってもよい。また、Ｍｉｃｒｏｃｈａｎｎｅｌ（ＭＣ）周辺装置１９が図示のとおりＭＣバス１７に接続されている。したがって、ＭＣデバイスは、ＰＣＩ−ＭＣブリッジ４０およびホスト・ブリッジ２０ａを介してホスト・システム上の部品、例えばメモリ１５、プロセッサ１２などと通信することができる。本明細書にはＭＣを例として使用するが、本発明の範囲は、他のタイプのブリッジ・チップ４０および周辺装置１９をＩ／Ｏバス、例えばＩＳＡ、ＥＳＡ、ＶＭＥなどとともに使用することをも考慮していることを記すべきである。さらには、別のブリッジ２０がバス１６および第三のバス１８に接続されている。同様に、バス１８には、多数のステーションまたは周辺装置２２ａ、２２ｂ、２２ｃおよび２２ｄが接続されていてもよい。好ましい実施態様においては、ブリッジ２０は、同一のプロトコルを有するバスどうし、すなわち、いずれもＰＣＩバスであるバス１６と１８とを接続するバス間ブリッジである。ブリッジ２０および２０ａ以外、図１に関して上記に参照した各要素はすべて当該技術において周知であり、本明細書でさらに詳細に説明する必要はない。
【００３３】
本発明の範囲を決して限定することなく、一例として、バス１６および１８はそれぞれ工業規格となったＰＣＩバスであってもよい。
【００３４】
次に、図２を参照しながら、ホスト・ブリッジ２０ａをさらに詳細に説明する。本発明の好ましい実施態様の説明に使用する際、「アウトバウンド」とは、プロセッサ１２から離れるトランザクションに関していい、「インバウンド」とは、プロセッサ１２に向かうトランザクションに関していう。
【００３５】
ブリッジ２０ａは、二つのデータ経路、すなわちアウトバウンド経路２０２およびインバウンド経路２０４を有している。すべてのトランザクションは、インバウンドおよびアウトバウンドとも、状態機械２０６によって制御される。
【００３６】
アウトバウンド・トランザクションがトランザクション・ルータ２０８によって受け取られると、トランザクション・フォーマットが審査されて、トランザクションが、読み出し要求（データの要求）、読み出し返答（データを提供する読み出し要求に対する応答）または書き込み要求（データを特定の装置に配置する要求）のいずれであるかが判定される。
【００３７】
読み出し要求は、アドレスおよび制御情報のフォーマットを有している。読み出し返答は、アドレスと、制御情報と、すでに要求され、今や要求元に送られようとしているデータとを含むフォーマットを有している。
【００３８】
書き込みトランザクション、例えば転記されたメモリ書き込み（ＰＭＷ）またはＩ／Ｏ書き込み（Ｉ／Ｏ  ＷＲ）は、アドレスと、制御情報と、選択されたアドレスに書き込まれるデータとを含む。
【００３９】
例えば、現在トランザクション・ルータ２０８中で活動中であるトランザクションが読み出し要求であると仮定すると、そのトランザクションは、多数の直列バッファ２１０、２１２、２１４の一つに転送される。直列バッファ・エントリ２１０、２１２、２１４は、ブリッジ２０ａ中に保留中であると予想されるトランザクションのスタックを扱うのに十分な長さであれば、いかなる適当な数のバッファ・エントリであってもよい。また、トランザクションが書き込みトランザクション、例えばＩ／Ｏ書き込みまたは転記されたメモリ書き込みであるならば、そのトランザクションは、直列バッファ２１０、２１２、２１４の一つに転送される。
【００４０】
トランザクション・ルータ２０８中に保留中であるトランザクションが読み出し返答（ＲＲＰ）であるならば、その読み出し返答トランザクションは、並列バッファ・エントリ２１６、２１８の一つに伝送される。
【００４１】
いかなるときにも、トランザクション選択回路２２０によって選択され、二次バスに通されるトランザクションは、状態機械２０６によって制御される。これが、例えば、直列バッファ２１０、２１２もしくは２１４中に記憶されたトランザクションまたは並列バッファ２１６、２１８中に記憶された読み出し返答トランザクションに対する順序外アクセスを可能にする。
【００４２】
インバウンド経路２０４は、各要素が逆の順序に接続されていることを除き、アウトバウンド経路２０２と同じ要素を含む。すなわち、トランザクション・ルータ２２２が二次バス１６に接続されている（図１を参照）。アウトバウンド・トランザクション・ルータ２０８を参照しながら上記に説明したように、インバウンド・トランザクション・ルータ２２２は、状態機械２０６によって制御される。各トランザクションは、読み出し要求（ＲＲＱ）および書き込みトランザクション（Ｉ／Ｏ書き込みおよびＰＭＷ）の場合には、直列インバウンド・バッファ２２４、２２６および２２８の一つに経路指定される。読み出し返答トランザクションは、並列バッファ２３２、２３４に伝送される。インバウンド選択回路２３０が、状態機械２０６の制御の下で、直列バッファ２２４、２２６もしくは２２８または並列バッファ２３２もしくは２３４のいずれかからのトランザクションの伝送を制御する。
【００４３】
状態機械２０６は、図３および４に示す状態機械論理表によって定義されるプロトコルの下で動作して、アウトバウンドまたはインバウンドのいずれかまたは両方に流れる多数のトランザクションを制御する。
【００４４】
次に、図３および４を参照しながら、状態機械２０６を制御する論理表を説明する。図３の論理表の頂部にかけては、アウトバウンド・トランザクションを表す、便宜上「第一のトランザクション」と呼ぶトランザクションが並んでいる。図３の論理表の左側に沿っては、便宜上「第二のトランザクション」と呼ぶアウトバウンド・トランザクションが並んでいる。同様に、図４の論理表の頂部にかけては、インバウンド・トランザクションを表す、便宜上「第一のトランザクション」と呼ぶトランザクションが並んでいる。図４の論理表の左側に沿っては、便宜上「第二のトランザクション」と呼ぶインバウンド・トランザクションが並んでいる。
【００４５】
図３および４の表の項目に関して、「０」項目は、後続の（第二の）トランザクションをして先行の（第一の）トランザクションをバイパスさせてはならないことを意味する。「１」項目は、後続のトランザクションをブリッジに入らせて、必要ならば、トランザクションを進行させるため、先行のトランザクションをバイパスさせなければならず、さもなければ、デッドロックが起こりうることを意味する。「０／１」項目は、後続のトランザクションをして先行のトランザクションをバイパスさせてもよいが、そうする必要もないことを意味する（順序づけ要件はない。つまり、どちらでもよく、性能および具現化コストの考慮に基づき、具現態様特定的であることができる）。すなわち、特定の状況または具現態様に依存して、「０／１」は、ある場合にはバイパスを許可してもよく、他の場合にはバイパスを許可してはならない。
【００４６】
デッドロックを回避するため、ＤＭＡ読み出し返答データには、ホスト・ブリッジ中に緩衝記憶された先行のロードおよび記憶トランザクションをバイパスすることを許可しなければならない。これは、バス間（例えばＰＣＩ−ＰＣＩ）ブリッジの場合とは異なる要件であり、ホスト・ブリッジとＰＣＩバスとの間の適切な相互作用のために必要である。これはまた、性能を改善することができる。
【００４７】
例えば、読み出し要求（ＲＲＱ）であるアウトバウンドの第一のトランザクションおよび読み出し返答（ＲＲＰ）であるアウトバウンドの第二のトランザクションがあるならば、図３の論理表の縦列と横列との交差点が１を示す。１は、論理表のどの位置にあろうと、後続のトランザクションをして先行のトランザクションをバイパスさせなければならないことを示す。したがって、ＤＭＡデータをもつ読み出し返答（ＲＲＰ）をして読み出し要求をバイパスさせなければならない。また、ＲＲＰをして書き込み動作、例えばＰＭＷまたはＩ／Ｏ書き込みをもバイパスさせなければならないことが見てとれる。ＤＭＡデータ（ＲＲＰ）動作をしてプロセッサのロードおよび記憶動作をバイパスさせることにより、デッドロック状態を引き起こすおそれのある前述の問題が解消される。例として、ＭＣ装置１９がＤＭＡ要求によってシステム・メモリ１５からデータを要求していると仮定する。すると、ＲＲＱトランザクションが直列バッファ２２４、２２６、２２８の一つに配置される（これがインバウンド動作であるため）。この場合、ＲＲＱはバッファ２２８中にあると仮定される。ＤＭＡデータがシステム・メモリ１５から戻される前に、プロセッサ１２がＭＣ装置１９に対して書き込み動作を開始する。したがって、例えば、Ｉ／Ｏ書き込みトランザクションが直列バッファ２１０、２１２、２１４の一つに配置される（これがアウトバウンド・トランザクションであるため）。この場合、Ｉ／Ｏ書き込みがバッファ２１４中に配置されると仮定する。続いて、システム・メモリ１５が、ＭＣ装置１９からのＲＲＱ（要求されたＤＭＡデータを含む）に応答して、ＲＲＰを並列バッファ２１６または２１８の一方、例えばバッファ２１６に配置する。先に記したように、ある種のＩ／Ｏ装置、例えばＭＣ装置１９のプロトコルは、各トランザクションが完了するまで、バス１７の制御を維持することをそれらに要求する。したがって、ＭＣ装置１９が並列バッファ２１６中のＤＭＡデータに仕えているためにバッファ２１４中のＩ／Ｏ書き込み動作が完了できず、潜在的なデッドロック状態が存在する。本発明は、バッファ２１６中のＲＲＰトランザクション（ＤＭＡデータを含む）をしてバッファ２１４中のＩ／Ｏ書き込みトランザクションをバイパスさせて、ＭＣ装置１９によるＤＭＡ要求を完了させることにより、このデッドロック状態の発生を防ぐ。当然、本発明は、他のデッドロック状態、例えばＰＭＷまたはＲＲＱトランザクションが直列バッファ２１４中にあり、バッファ２１６中のＲＲＰと競合する状態の発生をも防止する。
【００４８】
０は、図３および４の論理表のどの位置にあろうと、バイパス・トランザクションの禁止を示す。したがって、第一のトランザクションとしてのアウトバウンド書き込み動作であって、第二のトランザクションとしてのアウトバウンド読み出し要求が後続するものが、その第二のトランザクションによってバイパスされてはならない。本明細書に使用する「バイパス」とは、第一の要求の完了の前に第二の要求を行き先バス上で完了させることをいう。しかし、第一のトランザクションが例えばアウトバウンド書き込みトランザクションであるならば、アウトバウンド読み出し返答トランザクションのバイパスを許可しなければならない。
【００４９】
図３および４の論理表の、バイパス・トランザクションの禁止を示す０が存在するすべての位置が書き込みトランザクションに関与することに注目すべきである。例えば、第二のトランザクションとしてのアウトバウンド読み出し要求は、第一のトランザクションとしてのアウトバウンド書き込みをバイパスすることはできない。図４から、インバウンド・トランザクションに関しても同じ原則が当てはまることが見てとれる。したがって、図４に示すように、インバウンド読み出し要求（ＲＲＱ）、読み出し返答（ＲＲＰ）または書き込みトランザクション（ＰＭＷ）が、第一のトランザクションとしての先行のインバウンド書き込み（ＰＭＷ）をバイパスしてはならない。状態機械２０６の動作を制御する図３および４の論理表が、トランザクション・ルータ２０８および２２２ならびにトランザクション選択回路２２０および２３０それぞれにおけるトランザクションのゲート動作を制御する。当業者であれば、いかにして図３および４の表に表す論理を制御論理回路中に具現化し、状態機械２０６内に含めることができるかを理解するであろう。
【００５０】
ＰＣＩホスト・ブリッジ（ＰＨＢ）が、Ｉ／ＯバスとしてのＰＣＩバスを、独自の特徴を有するマイクロプロセッサ、例えばＩＢＭ社から市販されているＰｏｗｅｒＰＣ６０４マイクロプロセッサ（ＰｏｗｅｒＰＣ  およびＰｏｗｅｒＰＣ６０４はＩＢＭ社の商標である）を使用するコンピュータ・システム中のシステム・バスと接続する好ましい実施態様の場合には、取り組まなければならない問題点がいくつかある。一般に、性能を改善し、具現化を容易にするため、プロセッサ１２に対するロード（ＲＲＱ）および記憶（ＰＭＷ、Ｉ／Ｏ    ＷＲ）経路は、周辺装置に対するＤＭＡ経路（例えばＲＲＰ）から独立しているべきである。また、図３および４の表における「０／１」項目に関して、これらのトランザクションは、バイパスを行ってもよいが、バイパスを行う必要もない。バイパスを行うか行わないかは、公平さの規則、性能の考慮または具現しやすさに基づいて決めることができる（以下の段落に記載する場合は除く）。
【００５１】
ＰＣＩホスト・ブリッジの場合、ホスト・ブリッジの周辺メモリ空間または周辺Ｉ／Ｏ空間のいずれかに対するロード（例えばＲＲＱトランザクション）は、同じホスト・ブリッジの周辺メモリ空間または周辺Ｉ／Ｏ空間のいずれかに対する先行のロードの前には、それらのロード両方が完全に同じアドレスに行く場合、絶対にＩ／Ｏバスに通してはならない。図３から、第一のトランザクションとしてのＲＲＱ（ロード）動作と、第二のトランザクションとしてのＲＲＱ（ロード）動作との交差点には「０／１」が存在することが見てとれる。この場合、すなわち標的のアドレスが同じではない場合、バイパスが許可される。しかし、状態機械２０６に含まれるコンパレータが、両アドレスが同じであると判定するならば、第二のＲＲＱトランザクションが第一のＲＲＱトランザクションをバイパスすることはできない。したがって、「０／１」（この場合）は、さらなる要因に依存して、例えばアドレス比較の結果に依存して、第二のトランザクションによる第一のトランザクションのバイパスが起こりうることを示す。これが、両アドレスが異なる場合には、性能の改善（追い越しを許可すること）を可能にするが、一方または両方の装置が同じアドレスでデータにアクセスしている場合には、一方の装置がもう一方の装置のデータを奪う（無効データを得る）問題を回避する。これらのトランザクションが異なるアドレスを有するならば、これらはバイパスすることができる。これが、両アドレスが異なる場合には、性能の改善を可能にするが、一方または両方の装置が同じアドレスに書き込む場合には、両方の装置が異なるアドレスでデータにアクセスしており、競合が存在しないため、一方の装置がもう一方の装置の読み出しデータを奪う（無効データを得る）問題を回避する。
【００５２】
また、当業者であれば、いかにして状態機械２０６がコンパレータを含んで、要求側の装置（例えばプロセッサ１２）によって標的にされるアドレスが同一であるかどうかを判定することができるかを理解するであろう。他に考慮すべきことには、ＰＨＢの周辺メモリ空間または周辺Ｉ／Ｏ空間は、その同じＰＨＢの周辺メモリ空間または周辺Ｉ／Ｏ空間のいずれかに対する先行の記憶の前には、絶対にＩ／Ｏバスに通してはならない場合がある。すなわち、一つのＰＨＢによって生成されるＩ／Ｏバスに対する多数の記憶は順序どおりに維持されなければならず、ロードが記憶を追い越してはならない。例えば、図３から、第二のトランザクションとしてのロード（ＲＲＱ）と記憶（ＰＭＷまたはＩ／Ｏ  ＷＲ）との交差点には「０」が存在するため、第二のトランザクションが記憶を追い越すことができないことが見てとれる。さらに、図３の第一トランザクションと第二のトランザクションとの交差点の「０」から見てとれるように、第二のトランザクションとしての記憶（例えばＰＭＷ）が第一のトランザクションとしての別の記憶（ＰＭＷまたはＩ／Ｏ  ＷＲ）を追い越すことはできない。
【００５３】
すべての後続のインバウンド・トランザクションをして先行のインバウンドの転記されたメモリ書き込み（ＰＭＷ）をバイパスさせてはならないことに注意すること。図４は、すべての第二のトランザクション（Ｉ／Ｏ  ＷＲは当てはまらないため、これは除く）と、第一のトランザクションとしてのＰＭＷとの交差点に「０」を示す。また、図４の第一のトランザクションと第二のトランザクションとの交差点の「１」によって示されるように、第二のトランザクションとしての後続のインバウンド転記されたメモリ書き込みをして第一のトランザクションとしての先行の読み出し要求（ＲＲＱ）および読み出し返答（ＲＲＰ）をバイパスさせなければならない。
【００５４】
また、アウトバウンド・トランザクション対インバウンド・トランザクションおよびインバウンド・トランザクション対アウトバウンド・トランザクションを取り扱う表がないことに注目すること。これらの場合、トランザクションは反対方向に移動し、異なるアドレス空間に向かっているため、これらのトランザクションは独立しており、互いに対して順序づけ要件をもたない。アウトバウンド・トランザクション対インバウンド・トランザクションまたはインバウンド・トランザクション対アウトバウンド・トランザクションが順序づけを要する場合には、それは、本発明の範囲を超えたソフトウェア・プロトコルによって扱われる。
【００５５】
図４のいくつかの表項目が「ｎａ」であることが注目されよう。これらのケースでは、ＰｏｗｅｒＰＣマイクロプロセッサを用いるシステムの場合を取り扱う本発明の好ましい実施態様ではインバウンドＩ／Ｏ  ＷＲトランザクションが定義されていないため、「当てはまらない」のである。
【００５６】
上記に挙げた考察事項および本明細書に引用例として含めるＩＢＭ社の特許出願第０８／４７３，６０３号に挙げられた考察事項の他では、マイクロプロセッサ、例えばＰｏｗｅｒＰＣマイクロプロセッサを用いるシステムにおけるＰＣＩホスト・ブリッジに関するトランザクション順序づけ要件は、ＰＣＩ−ＰＣＩブリッジの場合と同じである（ＰＣＩローカル・バス仕様バージョン２．１を参照）。
【００５７】
読み出しアクセスを試み、再試行されるマスタは、アクセスが完了するまで再び定期的にアクセスを試行しなければならない。
【００５８】
まとめとして、本発明の構成に関して以下の事項を開示する。
（１）少なくとも一つのプロセッサをメモリと接続するシステム・バスと、
前記システム・バスとは異なるプロトコルを有するＩ／Ｏバスと、
前記Ｉ／Ｏバスに接続された、前記メモリおよび前記少なくとも一つのプロセッサとでデータを共用する少なくとも一つの周辺装置と、
前記Ｉ／Ｏバスを前記システム・バスに相互接続し、前記少なくとも一つの周辺装置と前記メモリとの間の第一のデータ転送を、前記少なくとも一つのプロセッサと前記少なくとも一つの周辺装置との間の第二のデータ転送が完了する前に完了させることにより、トランザクションの順序を制御してデッドロック状態を防ぐブリッジと、
を含むことを特徴とするデータ処理システム。
（２）前記第一のデータ転送が完了するまで、前記少なくとも一つの周辺装置が処理活動を一時停止する上記（１）記載のシステム。
（３）前記ブリッジが、
前記少なくとも一つの周辺装置から前記メモリへの、前記第一のデータ転送に相当する要求を記憶する第一のバッファと、
前記少なくとも一つのプロセッサから前記少なくとも一つの周辺装置への、前記第二のデータ転送に相当する要求を記憶する第二のバッファと、
前記第二のバッファに対して並列である、前記第一のデータ転送に相当するデータを含む前記メモリからの返答を記憶する第三のバッファと、
前記メモリからの前記返答をして前記少なくとも一つのプロセッサからの前記要求をバイパスさせて、前記少なくとも一つの周辺装置が処理活動を継続することができるようにする手段とを含む上記（２）記載のシステム。
（４）前記第一のデータ転送が、前記少なくとも一つの周辺装置による前記メモリの直接メモリ・アクセスである上記（３）記載のシステム。
（５）前記第二のデータ転送が、前記少なくとも一つのプロセッサによるロードまたは記憶動作である上記（４）記載のシステム。
（６）前記ブリッジが、トランザクションを前記Ｉ／Ｏバスから前記システム・バスに伝送する第一のデータ経路を含む上記（１）記載のシステム。
（７）前記第一のデータ経路および前記第二のデータ経路が、
前記ブリッジへの入力に接続された、前記第一のデータ経路中でバッファへのトランザクションをゲートする第一のトランザクション・ルータ回路と、
前記第一のトランザクション・ルータ回路に接続された、読み出し返答トランザクションを記憶する少なくとも一つの並列バッファと、
前記第一のトランザクション・ルータ回路に接続された、読み出し要求トランザクションおよび書き込みトランザクションを記憶する少なくとも一つの直列バッファと、
前記並列バッファおよび直列バッファの出力に接続された、状態機械の制御の下で前記第一のデータ経路から出力される一つ以上のトランザクションを選択する第一のトランザクション選択回路とを含む上記（６）記載のシステム。
（８）前記ブリッジが、トランザクションを前記システム・バスから前記Ｉ／Ｏバスに伝送する第二のデータ経路をさらに含む上記（７）記載のシステム。
（９）前記第二のデータ経路が、
前記ブリッジへの入力に接続された、前記第一のデータ経路中でバッファへのトランザクションをゲートする第二のトランザクション・ルータ回路と、
前記第二のトランザクション・ルータ回路に接続された、読み出し返答トランザクションを記憶する少なくとも一つの並列バッファと、
前記第二のトランザクション・ルータ回路に接続された、読み出し要求トランザクションおよび書き込みトランザクションを記憶する少なくとも一つの直列バッファと、
前記並列バッファおよび直列バッファの出力に接続された、前記状態機械の制御の下で前記第二のデータ経路から出力される一つ以上のトランザクションを選択する第二のトランザクション選択回路とを含む上記（８）記載のシステム。
（１０）前記状態機械が、所定の論理構造にしたがって、前記第一および第二のデータ経路中のトランザクションのゲート動作を制御する上記（９）記載のシステム。
（１１）少なくとも一つのプロセッサをメモリと接続するシステム・バスと、
前記システム・バスとは異なるプロトコルを有するＩ／Ｏバスと、
前記Ｉ／Ｏバスに接続された、それぞれが前記メモリおよび前記少なくとも一つのプロセッサとの間でデータを転送することができる複数の周辺装置と、
前記Ｉ／Ｏバスを前記システム・バスに相互接続し、前記Ｉ／Ｏバス上の前記複数の周辺装置と、前記システム・バス上の前記少なくとも一つのプロセッサおよびメモリとの間の複数のデータ転送トランザクションを処理するブリッジとを含み、
第一のデータ転送トランザクションが、後続のデータ転送トランザクションとは異なるアドレスでデータにアクセスするとき、前記複数のデータ転送トランザクションが非順序的に処理されることを特徴とするデータ処理システム。
（１２）前記ブリッジが、前記複数のデータ転送トランザクションのうち、どの特定のデータ転送トランザクションを非順序的に処理するかを決定する状態機械を含む上記（１１）記載のシステム。
（１３）前記状態機械が、前記第一のデータ転送トランザクションによってアクセスされるデータを含む第一のアドレスが、前記後続のデータ転送トランザクションによってアクセスされるデータを含む第二のアドレスと一致するかどうかを判定するコンパレータを含む上記（１２）記載のシステム。
（１４）前記状態機械が、前記第一のアドレスと前記第二のアドレスとが一致したとき、前記後続のトランザクションが前記第一のデータ転送トランザクションをバイパスすることを防ぐため、前記後続のデータ転送トランザクションをゲートする手段をさらに含む上記（１３）記載のシステム。
（１５）少なくとも一つのプロセッサとメモリとをシステム・バスによって接続するステップと、
前記システム・バスとは異なるプロトコルを有するＩ／Ｏバスを設けるステップと、
前記メモリおよび前記少なくとも一つのプロセッサとでデータを共用する複数の周辺装置を前記Ｉ／Ｏバスによって接続するステップと、
前記Ｉ／Ｏバスを前記システム・バスに相互接続し、前記複数の周辺装置の一つと前記メモリとの間の第一のデータ転送を、前記少なくとも一つのプロセッサと前記複数の周辺装置の前記一つとの間の第二のデータ転送が完了する前に完了させることにより、トランザクションの順序を制御してデッドロック状態を防ぐステップと、
を含むことを特徴とするデータ処理システムにおけるデータ処理方法。
（１６）前記複数の周辺装置の前記一つを、前記第一のデータ転送が完了するまでデータ処理活動が一時停止される状態に維持するステップをさらに含む上記（１５）記載の方法。
（１７）前記相互接続ステップが、
前記複数の周辺装置の前記一つから前記メモリへの、前記第一のデータ転送に相当する要求を第一のバッファに記憶するステップと、
前記少なくとも一つのプロセッサから前記複数の周辺装置の前記一つへの、前記第二のデータ転送に相当する要求を第二のバッファに記憶するステップと、
前記第一のデータ転送に相当するデータを含む前記メモリからの返答を、前記第二のバッファに対して並列である第三のバッファに記憶するステップと、
前記メモリからの前記返答をして前記少なくとも一つのプロセッサからの前記要求をバイパスさせて、前記複数の周辺装置の前記一つが処理活動を再開することができるようにするステップとを含む上記（１６）記載の方法。
（１８）前記第一のデータ転送が、前記複数の周辺装置の前記一つによる前記メモリの直接メモリ・アクセスであり、前記第二のデータ転送が、前記少なくとも一つのプロセッサによるロードまたは記憶動作である上記（１７）記載の方法。
【図面の簡単な説明】
【図１】本発明を具現化するデータ処理システムのブロック図である。
【図２】図１のシステムによる本発明の特徴を表すホスト・ブリッジ（例えばＰＣＩホスト・ブリッジ）のブロック図である。
【図３】図２のホスト・ブリッジにおけるトランザクションの制御を、アウトバウンド経路のトランザクションに関して示す論理表である。
【図４】図２のホスト・ブリッジにおけるトランザクションの制御を、インバウンド経路のトランザクションに関して示す論理表である。
【符号の説明】
１０                                データ処理システム
１２                                プロセッサ
１４                                第一のバス
１５                                システム・メモリ
１６                                第二のバス
１７                                Ｉ／Ｏバス
１８                              第三のバス
１９                                周辺装置
２０                                ブリッジ
２０Ａ                            ホスト・ブリッジ
２２ａ、２２ｂ、２２ｃ、２２ｄ    周辺装置
３０                            装置
４０                                ＰＣＩ−ＭＣブリッジ
【図１】
0003579198.tif 000002
【図２】
0003579198.tif 000003
【図３】
0003579198.tif 000004
【図４】
0003579198.tif 000005