JP3476174B2 - ピア・ツー・ピア・サポートを有する2重ホスト・ブリッジ - Google Patents

ピア・ツー・ピア・サポートを有する2重ホスト・ブリッジ

Info

Publication number
JP3476174B2
JP3476174B2 JP08420597A JP8420597A JP3476174B2 JP 3476174 B2 JP3476174 B2 JP 3476174B2 JP 08420597 A JP08420597 A JP 08420597A JP 8420597 A JP8420597 A JP 8420597A JP 3476174 B2 JP3476174 B2 JP 3476174B2
Authority
JP
Japan
Prior art keywords
bus
transaction
secondary bus
bridge
participants
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 - Lifetime
Application number
JP08420597A
Other languages
English (en)
Other versions
JPH1049482A (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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH1049482A publication Critical patent/JPH1049482A/ja
Application granted granted Critical
Publication of JP3476174B2 publication Critical patent/JP3476174B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • G06F13/40Bus structure
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges

Landscapes

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

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はデータ処理システム
に関し、特にホスト・ブリッジの機能的な能力を効率的
に提供するメカニズムを有し、及び周辺機器相互接続
(PCI)バスのような2次バスとしての2重(2つ
の)バス・インタフェースを提供する、データ処理シス
テムに関する。
【0002】
【従来の技術】周辺機器相互接続(PCI)バス仕様な
どのデータ処理システムで使用される標準バス・アーキ
テクチャの多くは、トランザクションの順序規則を有す
る。トランザクションはバス−バス・ブリッジをトラバ
ースするが、これは同じバス・プロトコルを有する少な
くとも2つのバスを接続することになる。このようなト
ランザクションの例は、ホスト・プロセッサから周辺装
置にアウトバウンドする読込み要求、ホスト・プロセッ
サにインバウンドする周辺装置からのデータを格納する
読込み応答(読込み要求への応答)、またはホスト・プ
ロセッサが他の処理を進めることを可能にするバス−バ
ス・ブリッジ内のバッファに書込みコマンドが後回しに
される、ポスト書込みである。ここでのポスト書込みと
は、開始バスでの書込みは完了したが、後で宛先バスで
書込みを完了させるためにホスト・ブリッジで後回しさ
れることを意味する。現在のバス−バス・ブリッジ・ア
ーキテクチャは、バス−バス・ブリッジをトラバースす
る読取りトランザクションの完了以前にアウトバウンド
(ホスト・プロセッサから)及びインバウンド(ホスト
・プロセッサへ)の両方向でフラッシュ・アウトされ
る、書込みバッファを必要とするか、またはPCIバス
・アーキテクチャのPCIローカル・バス仕様、バージ
ョン2.1で定められた特定のバス−バス順序規則を定
義するか、のどちらかである。バッファをフラッシュす
る要求は、ブリッジ・バッファにポスト書込みがある場
合に再試行が実行されるため、プロセッサ読取りアクセ
スが中断させられることにより、使用中のサーバにとっ
て性能問題が生じることになる。ここでの再試行は、マ
スタによってアドレス指定されたターゲット・デバイス
がアクセスを認識するが、使用中である信号を発信し、
トランザクションを終了させることを意味する。マスタ
はしばらくしてから再びアクセスを試みる。
【0003】また、現在のバス−バス・ブリッジ・アー
キテクチャは、通常、1つの1次インタフェースと1つ
の2次インタフェースを提供する。そのためPCIバス
・アーキテクチャは、僅か10本のバス・ロードに限定
されたバス・ロード能力となる。はんだ付けされたデバ
イス(アダプタ)は1本のロード、及びスロット・タイ
プのアダプタは2本のロードと見なされる。従ってPC
Iホスト・ブリッジは自らの2次バスに直接接続された
最大4個だけのスロットを有することができる。取り付
けられたスロット数が少なければ、多くのはんだ付けさ
れたデバイスが接続できる。また、ホスト・ブリッジは
2次バスで10本のロードの1つとして数えられる。こ
れにより、複数のスロットを必要とするシステム内で、
複数のホスト・ブリッジ、または複数のPCI−PCI
ブリッジのどちらかまたは両方を提供して、スロットを
生成する必要性が生じる。
【0004】一方のPCIバスを他方のPCIバスに接
続するバス−バス・ブリッジは、ここではPCI−PC
Iブリッジと呼ぶ。PCI−PCIブリッジをトラバー
スするトランザクションの順序規則は、PCIローカル
・バス仕様、バージョン2.1に定められる。ホスト・
プロセッサ、システム・バス、または他のシステム相互
接続部をPCIバスに接続するブリッジは、ここではP
CIホスト・ブリッジ(PHB)またはホスト・ブリッ
ジと称する。
【0005】ホスト・ブリッジは、PCI−PCIブリ
ッジで必要とされる以上の特有の必要条件を有するが、
PCI−PCIブリッジと全く同様の制約条件を有する
わけではない。これはホスト・ブリッジの場合、ホスト
・ブリッジ・インタフェースの1次(システム)側に存
在するほとんどのトランザクションのソースはI/Oデ
バイスではなくホスト・プロセッサで開始されるからで
ある。
【0006】"Architecture for High Performance Tra
nsparent Bridges"(IBM TecnicalDisclosure Bulleti
n、July、1992、page 233)、は、ブリッジ内部を一様
に制御し、読取りまたは書込みであってもデータの転送
を保証するバッファリング・コンポーネントを含む、多
重ポート・ブリッジ相互接続ネットワークを有する高性
能ブリッジのアーキテクチャを示す。
【0007】この論文は一般にブリッジ性能の改良を述
べているが、バス・ローディング制限の問題及びこれら
の制限の軽減策を解決しない。
【0008】米国特許第5333269号、"Mechanism
for Transferring Messages Between Source and Dest
ination Users Through a Shared Memory(共有メモリ
のソース/宛先ユーザ間のメッセージ転送方法及び装
置)"は多数の独立したバッファを有するメモリ、メモ
リ・インタフェース及び中央制御装置が接続される共通
バスを教示する。メモリ・インタフェースはソース・ユ
ーザからメッセージを受信し、選択されたバッファにメ
ッセージを記憶し、バッファを一緒に連鎖する。制御装
置はメモリ・インタフェースから受信する命令に答え
て、インバウンド・メッセージ・キュー及びアウトバウ
ンド・メッセージ・キューを生成する。
【0009】この特許は高性能バス・ブリッジ・アーキ
テクチャに幾らかの類似性があるが、制限されたバス・
ロード能力の問題に対する説明も解決策も提示していな
い。
【0010】米国特許第5247620号、"Bridge Ap
paratus with an Address Check Circuit for Intercon
necting Networks(ネットワーク相互接続のためのアド
レス・チェック回路を有するブリッジ装置)"は、情報
をプロセッサから周辺装置に読出す、及びネットワーク
環境でブリッジングする、複数のインバウンド・バッフ
ァ及びアウトバウンド・バッファを教示する。
【0011】前記特許の図1にバッファ・メモリを有す
るバス−バス・ブリッジが示されているが、複数のホス
トや複数のPCI−PCIブリッジ等の必要性を排除す
る、バス−バス・ブリッジのバス・ロード能力を改良す
るメカニズムの教示及び提示をしていない。
【0012】従来技術のどれもファンアウト(ロード)
能力を処理する多重ブリッジを減らす方法を教示及び提
示していない。
【0013】特にシステムが、通常可能な(例えば1つ
のPCIバスに最大4つのスロットなど)よりも多くの
2次バス・スロット、及び効率的なピア・ツー・ピア・
オペレーションを必要とする場合に、特定の問題が発生
する。この問題に対処するコンピュータ産業の現在の解
決策は、更にホスト・ブリッジを付加するか、或いは複
数のPCI−PCIブリッジを提供し、1つのホスト・
ブリッジに4つのスロットである通常の容量を上回るス
ロット能力を追加させるか、である。これらの従来技術
はスロットの増加に対する解決を試みているが、しかし
ホスト及びバス−バス・ブリッジの数を最小にする一方
で、効率的なピア・ツー・ピア・サポートの必要性を解
決していない。
【0014】
【発明が解決しようとする課題】本発明の目的は、ホス
ト・ブリッジにおけるインバウンド及びアウトバウンド
の両方向の複数の混合トランザクションを効率的に処理
することである。また、本発明はファンアウト(ロー
ド)能力を増強する2重2次バス・インタフェースを提
供し、及び2つの2次バス・インタフェースでのピア・
ツー・ピア・サポートを改良する基本的な内部バス−バ
ス・ブリッジ能力を提供する、制御メカニズムを提供す
ることである。
【0015】本発明は2つの2次バス・インタフェース
を生成する2重ホスト・ブリッジを提供することによっ
て、ホスト・ブリッジの2次バス・インタフェースのス
ロット・ファンアウト能力をかなり高めることができ
る。例えば、PCIバスの場合では、通常は10本のバ
ス・ロードの代わりに1つのPCIホスト・ブリッジで
20本のバス・ロードを提供する。
【0016】本発明は、2つの2次バスを1つの論理バ
ス(アービトレーションの観点から)として扱う適切な
内部制御論理、及び2つの2次PCIバス・インタフェ
ースにピア・ツー・ピア・サポートを提供する。
【0017】本発明はソフトウェアの衝突なしでこれら
の付加された特徴と利点を達成できる。
【0018】更に、本発明は2重ホスト・ブリッジの上
部(1次システム・バス・インタフェースの下)に僅か
1つのホスト・ブリッジ機能を提供して簡略化し、バス
ステア論理と他の制御機能を加えた2重2次バス・イン
タフェースを生成する。
【0019】これらの技術はホスト・ブリッジ、更にポ
スト書込み及び読取りトランザクションが行われるバス
−バス・ブリッジに適用できる。
【0020】
【発明の実施の形態】本発明は、ホスト・ブリッジのイ
ンバウンド及びアウトバウンドの両方向において複数の
混合トランザクションを効率的に処理し、2倍のファン
アウト(ロード)能力をもたらす2重2次PCIインタ
フェースを提供する制御メカニズムを有し、2つの2次
バス・インタフェース間に改良されたピア・ツー・ピア
・サポートを提供する基本内部PCI−PCIブリッジ
能力を提供できる。
【0021】データ処理システムはホスト・プロセッサ
及び多数の周辺装置を有し、更に1つ以上のホスト・プ
ロセッサと、周辺装置、及びネットワークのような相互
接続された周辺装置を有する他のホスト・プロセッサと
を連結する1つ以上のブリッジを有する。ホスト・バス
−バス・ブリッジは、1次バス(例えばシステム・バ
ス)と2重2次バス(例、PCIバスのようなI/Oバ
ス)とを接続する。尚、説明の簡略化のために1次バス
はアウトバウンド・トランザクションのソース、且つイ
ンバウンド・トランザクションの宛先としてみなし、2
次バスはアウトバウンド・トランザクションの宛先、且
つインバウンド・トランザクションのソースとしてみな
す。実施形態次第では2次バスのトランザクションとは
異なるトランザクションが1次バスで同時に発生する場
合もある。各ホスト・ブリッジは、アウトバウンド・デ
ータパス、インバウンド・データパス及び制御メカニズ
ムを有する。アウトバウンド・データパスは、1次バス
からの受信順(または他の順序)にトランザクションを
記憶するキュー待機されたバッファを有し、キュー待機
バッファ内にある要求は読取り要求と書込みトランザク
ションとで混合される。またアウトバウンド・データ・
パスは、読取り応答データ及びアドレス情報を記憶する
多数の他のバッファを有する。
【0022】インバウンド・パスはアウトバウンド・パ
スの鏡像のようなもので、読取り要求及び書込み要求は
トランザクション・バッファに記憶され、読取り応答は
多数の他のバッファに記憶される。ホスト・ブリッジの
インバウンド・パスとアウトバウンド・パスは状態マシ
ンによって制御される。状態マシンは両方向のアクティ
ビティを判断してトランザクションのバイパスを許可ま
たは禁止する。ここでのバイパスの意味は、前のトラン
ザクションが後からのトランザクションよりも早くキュ
ー待機に入っていたとしても、後からのトランザクショ
ンが前のトランザクションよりも早く処理され得ること
を意味する。
【0023】本発明では、インバウンド及びアウトバウ
ンドのトランザクションは、特定の種類のトランザクシ
ョン及び定義された順序規則にもとづいて予め設定され
た状態マシンの制御によって順次及び非順次で処理され
る。更に、ホスト・ブリッジのインバウンド及びアウト
バウンドのトランザクションは、フラッシュ・アウトさ
れるバッファを必要とせずに読取りトランザクションが
書込みトランザクションの後に続くことができるメカニ
ズムによって効率的に処理される。
【0024】本発明は、ホスト・ブリッジをトラバース
する異なるトランザクションに対応して正しいデータ整
合性を維持する。読取り要求などの他のトランザクショ
ンは、開始バスで完了する前に宛先バスで完了(データ
取り出し)しなければならない。例えば、ホスト・プロ
セッサはデータをI/Oバスの周辺装置に要求し得る。
データは宛先バスの周辺装置から取り出され、トランザ
クションが終了したとみなされる前にホスト・ブリッジ
を介して開始バスのホスト・プロセッサに渡さなければ
ならない。本発明の特徴として、読取りアクセスなどの
トランザクションの処理は、ポスト書込みをフラッシュ
することなしに行える。
【0025】ここでのポスト読取りは、ターゲット・デ
バイスがアクセスを認識し、使用中の信号を発信し、再
試行制御信号でアクセスを終了することを意味する。後
で再度、マスタ(要求しているデバイス)はアクセスを
実行する。次に本発明のホスト・ブリッジは、後で処理
するために読取り要求を後回しにし、マスタがふたたび
後でアクセスを試みる場合、使用可能な読取りデータが
得られるようにする。ホスト・ブリッジが要求データを
獲得する前にマスタが再び試みるならば、ブリッジはふ
たたび再試行の信号を送るが、アクセス要求の第2のコ
ピーをバッファしない。ホスト・ブリッジは、プロセッ
サからの読取り要求にタグ付けし、プロセッサに再試行
を要求しない。
【0026】一般に、本発明では性能改良及び実施形態
の簡素化のためにロード・オペレーション(ホスト・プ
ロセッサに対する読取りオペレーション)・パスとスト
ア(ホスト・プロセッサに対する書込みオペレーショ
ン)・パスは、周辺装置とシステム・メモリ間の直接記
憶アクセス(DMA)・パスから独立させなければなら
ない。ロード・オペレーション及びストア・オペレーシ
ョンは、ロードはデータをホスト・プロセッサにロード
させ、ストアはデータをホスト・プロセッサから周辺装
置に記憶させるトランザクションの流れを考慮すること
に注意されたい。
【0027】また、ホスト・ブリッジの周辺メモリ・ス
ペースまたは周辺I/Oスペース(I/O出力バッフ
ァ)へのロード要求は、同じホスト・ブリッジの周辺メ
モリ・スペース(メモリ出力バッファ)または周辺I/
Oスペースへの前のロードが行われる前に、両方のロー
ドが同じアドレスに行く場合は、I/Oバスに渡しては
ならない。このことによりアドレスが異なる場合は性能
が改良される(通過可能になる)が、一方または両方の
プロセッサが同じアドレスに書込みする場合に、一方の
プロセッサが他方のプロセッサのデータを盗む(すなわ
ち、旧データを獲得する)問題を解決しない。
【0028】本発明によれば、DMA読取り応答データ
はホスト・ブリッジにバッファされた前のロード・トラ
ンザクション及びストア・トランザクションをバイパス
できるので、デッドロックを回避できる。これはバス−
バス・ブリッジの場合とは異なる必要条件であり、性能
を改良するために、ホスト・ブリッジとPCIバス間で
正しい対話が要求される。更に、ホスト・ブリッジの周
辺メモリ・スペースまたは周辺I/Oスペースへのロー
ドまたはストアは、同じホスト・ブリッジの周辺メモリ
・スペースまたは周辺I/Oスペースへの前のストアが
行われる前に、I/Oバスに対して行ってはならない
(すなわち1つのホスト・ブリッジによって生成された
I/Oバスへの複数のストアは順番に行われなければな
らず、且つロードはストアを渡してはいけない)。
【0029】本発明は、2つのPCI2次バス・インタ
フェースを生成するPCI2重ホスト・ブリッジ(図5
参照)を提供することにより、PCIホスト・ブリッジ
の2次バス・インタフェースのスロット・ファンアウト
能力が非常に高まる手段を提供する。これは、1つのP
CIホスト・ブリッジでは通常は10本のバス・ロード
であるが、代わって20本のバス・ロードを提供する。
適切な内部制御ロジックが2つの2次PCIバスを1つ
の論理バス(アービトレーション観点から)として処理
するために提供される。更に、本発明は、適切な内部制
御ロジックを提供することによって、2つの2次PCI
バス・インタフェースにピア・ツー・ピア・サポートを
提供する。
【0030】前述の付加された特徴と利点は、ソフトウ
ェアの衝突なしで提供できる。
【0031】本発明はシステムを簡素化し、2重ホスト
・ブリッジの上部(1次システム・バス・インタフェー
スの下)に唯一1つのPCIホスト・ブリッジ機能を含
めさせ、本質的にバス・ステア論理と他の制御機能を有
する2重2次PCIバス・インタフェースを生成する。
【0032】これらの技術はホスト・ブリッジ、更にポ
スト書込み及び読取りトランザクションを行うバス−バ
ス・ブリッジに適用できる。
【0033】ここで図1を参照すると、本発明を具体化
するデータ処理システムが説明される。
【0034】システム10は、マルチプロセッサ・シス
テムによって使用可能なシステム・バスのような、第1
のバス14に接続された少なくとも1つのホスト・プロ
セッサ12を有する。図1の点線で示される他のホスト
・プロセッサ12もまた第1のバス14に接続できる。
【0035】システム・バスである第1のバス14には
ホスト・ブリッジ20aが接続され、第1のバス14と
第2のバス16とを結ぶ。また、システム・メモリ15
が第1のバス14に接続されている。他のデバイスであ
る30及び40が同様に第2のバス16に接続されてい
る。制限ではないが1例として、デバイスの40は、P
CIバス(例えば第2のバス16)を、IBMから入手
できるマイクロチャネル・バスなどの他のI/Oバス1
7と接続する他のブリッジ・チップであり得る(マイク
ロチャネルはIBMの商標)。MC(マイクロチャネ
ル)周辺デバイスであるMCデバイス19がMCバス1
7に接続されているのが示されている。このようにMC
デバイスは、PCI−MCブリッジ40及びホスト・ブ
リッジ20aを介してシステム・メモリ15、ホスト・
プロセッサ12のようなホスト・システムの構成装置と
通信できる。マイクロチャネルが例としてここで使用さ
れているが、本発明の有効範囲内で他の種類のブリッジ
・チップ及び周辺デバイスがISA、ESA、VMEの
ようなI/Oバスと使用できることに留意されたい。更
に、他のブリッジ20は、第2のバス16と第3のバス
18に接続されている。第3のバス18には多数のステ
ーション或いは周辺装置22a、22b、22c及び2
2dが接続できる。好適な実施例では、ブリッジ20は
全く同じプロトコルを有するバスを接続するバス−バス
・ブリッジであり、ここで第2のバス16及び第3のバ
ス18は両方ともPCIバスである。
【0036】本発明の有効範囲内ではないが例として、
第2のバス16及び第3のバス18はそれぞれ標準規格
であるPCIバスであり得る。
【0037】図6は本発明の構成を詳細に示すブロック
図である。少なくとも1つのCPU12が第1のバス1
4によってシステム・メモリ15に接続されている。2
重ホスト・ブリッジ400は、第1のバス14(図5参
照)に接続されている。ホスト・ブリッジ400は制御
ロジック406を有する。制御ロジック406は2つの
2次バス402及び404がホスト・ブリッジ400に
よって制御できる機能(透過的なピア・ツー・ピア・サ
ポート、及びトランザクション・ステアなど)を提供す
る。I/Oデバイス401及び403はバス402及び
404にそれぞれ接続されている。好適な実施例では2
次バス402及び404はPCIバスである。前述のよ
うに従来のPCIバスに接続できるデバイス(スロッ
ト、或いははんだ付けされた構成装置)の数には制限が
ある。本発明は、単一のホスト・ブリッジ400によっ
てサポートできる周辺装置の数を増すために、区別可能
なバス402及び404を単一の論理バス(アービトレ
ーション観点から)として処理できる。
【0038】ここで図2を参照すると、ホスト・ブリッ
ジ20aが詳細に示されている。本発明の好適な実施例
の記述で使用される用語において、アウトバウンドはホ
スト・プロセッサ12から出されるトランザクションを
意味し、インバウンドはホスト・プロセッサ12に向か
うトランザクションを意味する。
【0039】ホスト・ブリッジ20aはアウトバウンド
・パス202とインバウンド・パス204の2つのデー
タ・パスを有する。インバウンド及びアウトバウンドの
すべてのトランザクションは状態マシン206によって
制御される。
【0040】アウトバウンド・トランザクションがアウ
トバウンド・トランザクション・ルータ208によって
受信されると、トランザクション・フォーマットが調べ
られ、トランザクションが読取り要求(データの要求)
か、読取り応答(読取り要求に応答しデータを提供す
る)か、または書込み要求(データを特定のデバイスに
置く要求)かどうか判断される。
【0041】読取り要求は、アドレス及び制御情報のフ
ォーマットを有する。読取り応答は、アドレス、制御情
報、並びに要求され元の要求者に送られるデータを含む
フォーマットを有する。
【0042】ポスト・メモリ書込み(PMW)或いはI
/O書込み(I/O WR)のような書込みトランザク
ションは、アドレス、制御情報、及び選択されたアドレ
スに書込まれるデータを有する。
【0043】例えば、アウトバウンド・トランザクショ
ン・ルータ208で現在アクティブであるトランザクシ
ョンが読取り要求である場合、トランザクションは多数
の順次バッファ210、212、214の1つに転送さ
れる。順次バッファ210、212、214のエントリ
は、ホスト・ブリッジ20aで保留が予測されるトラン
ザクションのスタックを処理するのに十分な長さのバッ
ファ・エントリの適切な任意の数である。また、トラン
ザクションが、I/O書込みまたはポスト・メモリ書込
みのような書込みトランザクションである場合、トラン
ザクションは順次バッファ210、212、214の1
つへ転送される。
【0044】アウトバウンド・トランザクション・ルー
タ208で保留しているトランザクションが読取り応答
(RRP)の場合、読取り応答トランザクションは並列
バッファ216、218のエントリの1つに伝送され
る。
【0045】トランザクション選択回路220によって
選択され、2次バスに渡されるトランザクションは常
時、状態マシン206によって制御される。従って、順
番でなくても順次バッファ210、212或いは214
に記憶されたトランザクションへのアクセス、または並
列バッファ216、218の読取り応答トランザクショ
ンへのアクセスができる。
【0046】インバウンド・パス204は、逆順に接続
されている素子を除いてアウトバウンド・パス202と
同じ素子を有する。すなわち、インバウンド・トランザ
クション・ルータ222は、2次バス16(図1参照)
に接続されている。アウトバウンド・トランザクション
・ルータ208で説明したように、インバウンド・トラ
ンザクション・ルータ222は状態マシン206によっ
て制御される。各トランザクションは読取り要求(RR
Q)及び書込みトランザクション(I/O書込み及びP
MW)において順次インバウンド・バッファ224、2
26及び228の1つにステアされる。読取り応答トラ
ンザクションは、並列バッファ232、234に伝送さ
れる。状態マシン206の制御下のインバウンド選択回
路230は、順次インバウンド・バッファ224、22
6及び228、または並列バッファ232及び234の
いずれからのトランザクションの伝送を制御する。
【0047】状態マシン206は図3及び図4で示され
る状態マシン論理テーブルによって定義されるプロトコ
ルに従って動作し、アウトバウンド、インバウンドまた
は両方向への複数のトランザクションの流れを制御す
る。
【0048】図3及び図4を参照すると、状態マシン2
06を制御する論理テーブルが示されている。図3の論
理テーブルの上部はアウトバウンド・トランザクション
を表すトランザクションであり、便利上、第1のトラン
ザクションと呼ぶ。図3の論理テーブルの左側に沿って
アウトバウンド・トランザクションが示されており、便
利上、第2のトランザクションと呼ぶ。同様に図4の論
理テーブルの上部はインバウンド・トランザクションを
表すトランザクションであり、便利上、第1のトランザ
クションと呼ぶ。図4の論理テーブルの左側に沿ってイ
ンバウンド・トランザクションが示されており、便利
上、第2のトランザクションと呼ぶ。
【0049】図3及び図4のテーブルのエントリにおい
て"0"エントリは、後の(第2の)トランザクションが
前の(第1の)トランザクションをバイパスしてはいけ
ないことを意味する。"1"エントリは、後のトランザク
ションがブリッジに入らなければならず、これはトラン
ザクションを処理するために前のトランザクションをバ
イパスする必要がある場合で、そうでなければデッドロ
ックが生じることを意味する。"0/l"エントリは、後
のトランザクションが前のトランザクションをバイパス
できるが、しかし、そうすることは要求されない(順次
要求はなく(すなわち順序にこだわらない)、性能及び
実施の費用を配慮する実施形態仕様で決まる)ことを意
味する。"0/l"は、バイパスを許可する場合もしない
場合もあるが、これは特定の状況或いは実施形態によ
る。
【0050】DMA読取り応答データはホスト・ブリッ
ジにバッファされている、前のロード・トランザクショ
ン及びストア・トランザクションをバイパスできるの
で、デッドロックを回避できる。これは、バス−バス
(例えばPCI−PCI)・ブリッジとは異なる必要条
件であり、ホスト・ブリッジとPCIバス間での正しい
対話が求められる。このことが性能を改良する。
【0051】例えば、読取り要求(RRQ)であるアウ
トバウンドの第1のトランザクションがあり、読取り応
答(RRP)であるアウトバウンドの第2のトランザク
ションがある場合、図3の論理テーブルの縦列と横列の
交差部は"1"を示す。論理テーブルのいずれの位置であ
っても"1"は後のトランザクションが前のトランザクシ
ョンをバイパスできることを示す。従って、DMAデー
タを有する読取り応答(RRP)は、読取り要求をバイ
パスできる。また、RRPがPMW或いはI/O書込み
などの書込みオペレーションをバイパスできることが理
解できよう。DMAデータ(RRP)・オペレーション
がプロセッサのロード・オペレーション及びストア・オ
ペレーションをバイパスできることにより、デッドロッ
ク条件を生じさせる前述の問題が排除される。MCデバ
イス19はDMA要求によってシステム・メモリ15に
データを要求していると仮定する。RRQトランザクシ
ョンは、順次バッファ224、226及び228の1つ
に置かれる(これはインバウンド・オペレーションのた
め)。この場合では、RRQはバッファ228にあると
仮定する。DMAデータがシステム・メモリ15から戻
る前に、ホスト・プロセッサ12はMCデバイス19に
対して書込みオペレーションを開始する。このようにI
/O書込みトランザクションは順次バッファ210、2
12及び214の1つに置かれる(これはアウトバウン
ド・トランザクションなので)。この場合では、I/O
書込みはバッファ214に置かれると仮定する。続いて
システム・メモリ15はMCデバイス19(要求された
DMAデータを有する)からのRRQに応答してRRP
を並列バッファ216または218の1つ(例えば、バ
ッファ216)に置く。前にも述べた通り、MCデバイ
ス19などのあるI/OデバイスのプロトコルはRRP
を要求して、各トランザクションが完了するまでMCバ
ス17の制御を管理する。MCデバイス19がDMAデ
ータがある並列バッファ216で待機しているので、バ
ッファ214のI/O書込みオペレーションが完了する
ことができず、潜在的デッドロックが存在する。本発明
は並列バッファ216のRRPトランザクション(DM
Aデータを有する)がバッファ214のI/O書込みト
ランザクションをバイパスさせ、MCデバイス19によ
ってDMA要求を完了させることによりデッドロック状
態が生じるのを防ぐ。本発明はまた、他のデッドロック
が生じるのを防止する。例えは、PMW或いはRRQト
ランザクションが順次バッファ214に存在し、バッフ
ァ216のRRPと競合する場合などである。
【0052】図3及び図4の論理テーブルのいずれの位
置における0は、トランザクションのバイパス禁止を示
す。従って、第1のトランザクションとしてのアウトバ
ウンド書込みオペレーション、後に続く第2のトランザ
クションとしてのアウトバウンド読取り要求は、第2の
トランザクションによってバイパスできない。ここで使
用される用語"バイパス"とは、宛先バスにおいて第1の
要求が完了する前に第2の要求が完了することを意味す
る。しかしながら、例えば第1のトランザクションがア
ウトバウンド書込みトランザクションである場合、アウ
トバウンド読取り応答トランザクションのバイパスは許
されなければならない。
【0053】図3及び図4の論理テーブルに存在するい
ずれの0の表示は、書込みトランザクションを含むトラ
ンザクションのバイパス禁止であることに注意された
い。例えば、第2のトランザクションとしてのアウトバ
ウンド読取り要求は、第1のトランザクションとしての
アウトバウンド書込みをバイパスできない。図4におい
てもインバウンド・トランザクションの場合は同じ原則
が当てはまることが理解できよう。従って、図4で示さ
れるようにインバウンド読取り要求(RRQ)、読取り
応答(RRP)或いは書込みトランザクション(PM
W)は、第1のトランザクションとしての前のインバウ
ンド書込み(PMW)をバイパスできない。状態マシン
206のオペレーションを管理する図3及び図4の論理
テーブルは、アウトバウンド・トランザクション・ルー
タ208、インバウンド・トランザクション・ルータ2
22、トランザクション選択回路220及び230のそ
れぞれのトランザクションの仕切りを制御する。当業者
は図3及び図4のテーブルに示された論理がどのように
して制御論理回路で実施され、状態マシン206に取り
込まれるかを理解できよう。
【0054】好適な実施例ではPCIホスト・ブリッジ
(PHB)は特有の特性を有するマイクロプロセッサを
使用してPCIバスをI/Oバスとしてコンピュータ・
システムのシステム・バスに接続する。このマイクロプ
ロセッサにはIBMから入手できるPowerPC604マイクロ
プロセッサ(PowerPC及びPowerPC604はIBMの商標で
ある)などがあるが、その説明には考慮すべき点があ
る。一般にホスト・プロセッサ12に対するロード(R
RQ)及びストア(PMW、I/O WR)・パスは、
性能の改良及び簡単な実施形態の実現ために周辺装置に
対するDMAパス(例えばRRP)から独立していなけ
ればならない。また、図3及び図4のテーブルの"0/
1"エントリにおいて、これらのトランザクションはバ
イパスできる可能性はあるが、バイパスすることを要求
されない。バイパスするか否かは、いずれの公正な規
則、性能問題或いは実施形態(以下のパラグラフで記述
される場合を除いて)の簡素化次第である。
【0055】PCIホスト・ブリッジの場合、ホスト・
ブリッジの周辺メモリ・スペース或いは周辺I/Oスペ
ースのどちらかに対するロード(RRQトランザクショ
ンなど)は、これらの両方のロードが全く同じアドレス
に送られる場合、同じホスト・ブリッジの周辺メモリ・
スペース、或いは周辺I/Oスペースに対する、前のロ
ードが行われる前にI/Oバスにしてはならない。図3
を参照すると"0/l"は第1のトランザクションとして
のRRQ(ロード)オペレーションと、第2のトランザ
クションとしてのRRQ(ロード)オペレーションの交
差部に存在することが分かる。この場合、ターゲット・
アドレスが同じでない場合はバイパスが許される。しか
しながら、状態マシン206が有する比較器が、アドレ
スが同じであると判定した場合、第2のRRQトランザ
クションは第1のRRQトランザクションをバイパスで
きない。従ってこの場合の"0/1"は、アドレスの比較
結果などの付加の要素にもとづいて、第2のトランザク
ションによって第1のトランザクションのバイパスが生
じる得ることを示す。これはアドレスが異なる場合には
性能が改良される(通過可能になる)が、一方または両
方のデバイスが同じアドレスのデータをアクセスする場
合に、一方のデバイスが他のデバイスのデータを盗む
(旧データの獲得する)問題を解決しない。これらのト
ランザクションが異なるアドレスを有する場合はバイパ
スできる。この場合、アドレスが異なるときには性能の
改良となるが、一方または両方のデバイスが同じアドレ
スに書込む場合、一方のデバイスが他のデバイスの読取
りデータを盗む(旧データの獲得する)問題を解決しな
い。これはデバイスが、異なるアドレスのデータをアク
セスしており、そこに競合が存在しないからである。
【0056】当業者は要求デバイス(例えばホスト・プ
ロセッサ12)によってターゲットされたアドレスが同
一であるかどうかを判定するために、どのように状態マ
シン206が比較器を動作させるかが理解できよう。他
の考慮すべき問題は、PHBの周辺メモリ・スペース或
いは周辺I/Oスペースに対するロードまたはストア
は、同じPHBの周辺メモリ・スペースまたは周辺I/
Oスペースへの、前のストアが行われる前に、I/Oバ
スに対して行ってはならない(すなわち1つのPHBに
よって生成されたI/Oバスへの複数のストアは順序を
保たなければならず且つロードはストアをパスしてはな
らない)、という場合を含む。例えば、図3から第2の
トランザクションとしてのロード(RRQ)はストア
(PMW、或いはI/O WR)をパスできないことが
わかる。これは"0"がこれらのトランザクションの交差
部に存在するからである。更に、第2のトランザクショ
ン(例えばPMW)としてのストアは、第1のトランザ
クション(PMW、或いはI/O WR)として他のス
トアをことはできない。これは図3のこれらのトランザ
クションの交差部に"0"が存在することから理解されよ
う。
【0057】すべての、後からのインバウンド・トラン
ザクションは、前のインバウンド・ポスト・メモリ書込
み(PMW)をバイパスしてはならないことに注目され
たい。図4を参照すると、すべての第2のトランザクシ
ョン(適用不可なのでI/OWRを除く)と第1のトラ
ンザクションとしてのPMWとの間の交差部に"0"が示
されている。また、第2のトランザクションとしての後
のインバウンド・ポスト・メモリ書込み(PMW)は、
第1のトランザクションとしての前の読取り要求(RR
Q)及び読取り応答(RRP)をバイパスできる。これ
は図4に示されるようにこれらのトランザクションの交
差部に"1"が示されている。
【0058】また、アウトバウンド・トランザクション
対インバウンド・トランザクション、及びインバウンド
・トランザクション対アウトバウンド・トランザクショ
ンがテーブルにアドレス指定されていないことに注目さ
れたい。これらの場合では、トランザクションが反対方
向に、及び異なるアドレス・スペースに向かうので、こ
れらのトランザクションは独立していなければならず、
また互いの順序付けを要求しない。いずれのアウトバウ
ンド・トランザクション対インバウンド・トランザクシ
ョン、或いはいずれのインバウンド・トランザクション
対アウトバウンド・トランザクションは順序を必要と
し、これは本発明の有効範囲以外のソフトウェア・プロ
トコルによって扱われる。
【0059】図4のあるテーブル・エントリが"na"で
ある点に注意されたい。この場合は"適用不可"である。
これはインバウンドI/O WRトランザクションがPo
werPCマイクロプロセッサを利用するシステムの場合を
説明する好適な実施例において定義されていないからで
ある。
【0060】前記及び関連するIBM特許明細で考えら
れる以外に、PowerPCマイクロプロセッサなどのマイク
ロプロセッサを使用したシステムのPCIホスト・ブリ
ッジに対するトランザクション順位付け要求は、PCI
−PCIブリッジの場合と同じである(PCIローカル
・バス仕様、バージョン2.1参照)。
【0061】読取りアクセス及びその再試行を行うマス
タは、アクセスが完了するまでアクセスを定期的に試み
なければならない。
【0062】ここで図5を参照すると、2つの2次PC
Iバス・インタフェース408及び410を提供する能
力を有する本発明の2重PCIホスト・ブリッジ400
と、改良されたピア・ツー・ピア・サポートが述べられ
ている。
【0063】PCIローカル・バス仕様はPCIバスの
電気特性を定義する。PCI電気定義の容量性負荷では
タイミング予算が可能であり、バス・タイミング定義で
は最悪な場合の10本のロードのバス・ローディングが
可能である。本発明はPCIバスのスロット・ファンア
ウト能力を非常に高める。これはシステム・インタフェ
ース420によりシステム・バスの第1のバス14に接
続されたPCI2重ホスト・ブリッジ400(図5参
照)を提供し、実施される様々なバス・プロトコルにも
とづくデータ及びアドレス情報などの制御情報をやりと
りするためである。ホスト・ブリッジ400は2つのP
CIバス・インタフェース408及び410を生成し、
PCIバス・インタフェース408及び410(最大合
計8スロット)において全体で20本のバス・ロードを
使用可能にする。また、適切な内部制御論理を提供する
ことによって、この2重バス・チップは、2つのPCI
バス402及び404を1つの論理バスとして扱うこと
ができ、またこれらの両方のバスにピア・ツー・ピア・
サポートが提供できる。
【0064】図5は本発明で述べられる能力を示す。2
つの2次PCIバス402及び404を生成するPCI
2重ホスト・ブリッジ400が示されている。この2重
バス・チップ内の内部データ・パスは、方向制御ロジッ
ク(制御ロジック406内)によって制御され、PCI
2次インタフェース408及び410、並びに制御モジ
ュール406に内蔵された制御の要となる中央ホストブ
リッジ間のトランザクションをステアし、その結果、2
重チップはアウトバウンド・トランザクション・バッフ
ァ412とインバウンド・トランザクション・バッファ
414の1組のホスト・ブリッジとなり、基本的に"1
つ"のホスト・ブリッジとして機能する。制御ロジック
406は、コンフィグレーションに必要な構成レジスタ
と同様に、必要な制御を、アドレス・デコード、バッフ
ァ制御、トランザクション順序規則、方向制御(一定の
方向にステアする)、アービトレーション、インタフェ
ース制御、ピア・ツー・ピア制御、及びシステム・クロ
ックに提供し、トランザクションがピア・ツー・ピアだ
と考えられるときを判断する。
【0065】また、ピア・ツー・ピア・ブリッジ機能制
御論理回路416が図5で示されている。この回路は、
2つの2次PCIバス402及び404間でピア・ツー
・ピア・オペレーションのサポートをするために2重バ
ス・チップのホスト・ブリッジ400内で単純なパス・
スルー(バッファ機能なし)のPCI−PCIブリッジ
機能を提供する。制御ロジック406内にある1つのア
ービタは、2次PCIバス402及び404の両方の制
御に使用でき、2つのPCIバスはアービトレーション
観点から1つの論理バスとして動作する。しかし、構成
観点からは2つの物理及び論理バスである。2つのバス
402及び404を2つの独立した論理及び物理バスに
させるには、ホスト・ブリッジは、制御ロジック406
が有する独立した2組のホスト・ブリッジ構成レジスタ
を提供する。しかしながら、2重ホスト・ブリッジ40
0は、1つの全体的ホスト・ブリッジとしての役割を行
うブリッジをトラバースするデータとトランザクション
のための1組の共通なバッファを有する。
【0066】アウトバウンド・トランザクション・バッ
ファ412とインバウンド・トランザクション・バッフ
ァ414は、システム一貫性規則(図2参照)のトラン
ザクション順位付け必要条件にPCIバス順位付け必要
条件を加えた適切な組み合わせにもとづいて、制御ロジ
ック406によって管理される。ピア・ツー・ピア・ブ
リッジ機能制御論理回路416を、制御ロジック406
のアービタと協動する単純なパス・スルー機能として保
持することにより、機能はシステム・コヒーレンシ・ド
メインのもとに保たれ、2つの物理PCI2次バス40
2及び404にてピア・ツー・ピア・オペレーションを
サポートできる。
【0067】制御ロジック406の方向制御は、最後の
アービトレーション・サイクルを獲得する制御マスタ・
デバイスの位置にもとづき、情報を適切な内部データ・
バス422、424及び426において正しい方向にス
テアするために必要である。トランザクションが内部デ
ータ・バス422でプロセッサからアウトバウンドされ
る場合、トランザクション制御情報が内部データ・バス
424及び426に置かれ、情報を内部データ・バス4
24及び426を介して2次PCIバス・インタフェー
ス408及び410の両方のそれぞれに送ることにより
両方のPCIバス(1つの論理バスとして動作する)に
提供できる。更にトランザクションは、ターゲット・デ
バイスのアドレスにもとづいて、適切なPCIバス40
2または404へステアされる。トランザクションがバ
ス402及び404にステアされた場合、実際にターゲ
ット・デバイス(例えば404)を持たないバスへのデ
バイス選択(DEVSEL#)信号は、トランザクション制御
情報の応答からバス404において減法デコードを回避
するために、バス404で再駆動させねばらなない。こ
れは、できるだけ長い時間、減法デコードを設定する必
要がある。このDEVSEL#信号は、トランザクションへの
応答を示すための現トランザクションのターゲットによ
って駆動されるPCIバス・オペレーション信号であ
る。1つの論理バスとして動作するには、バス402及
び404のバスのいずれかがターゲット・デバイスを有
する場合、両方のバスがDEVSEL#信号を発信する必要が
ある。内部データ・バス424または426の1つの物
理PCIバスからシステムへのインバウンド・トランザ
クションは、内部データ・バス424を介してシステム
・バス14に送られるだけで、他の物理的なPCIバス
へのアウトバウンド・パスをとらない。例えば、バス4
04からのインバウンドPCIトランザクションは、内
部データ・バス426及び422を介してシステムにス
テアされるが、内部データ・バス424を介してPCI
バス402にはステアされない。PCIピア・ツー・ピ
ア・トランザクションはアドレスにもとづいて検知され
る。I/O装置のアドレスが、ホスト・ブリッジのアド
レスを下回るように設計されたアドレス範囲内にある場
合(すなわち、I/O装置のアドレスがホスト・ブリッ
ジのアドレスを下回ることを指摘する制御ロジック40
6内にあるホスト・ブリッジ構成レジスタの2組の内の
1組の範囲)、これがピア・ツー・ピア機能である。ホ
スト・ブリッジのアドレスを下回るアドレス範囲のアド
レスは2重ホスト・ブリッジ400によって制御される
I/Oバスに接続された周辺装置の1つに対応するアド
レスであることに注目されたい。図5に示されている場
合では、バス402及び404のどちらかに接続された
ターゲット・デバイスは、ホスト・ブリッジのアドレス
を下回るとみなされるアドレスを持つ。オペレーション
がピア・ツー・ピア・オペレーションであり、アドレス
が、トランザクションを実施しているデバイスを有する
特定のブリッジの構成レジスタのアドレス範囲である場
合、オペレーションはホスト・ブリッジ・チップによっ
て完全に無視される。この場合、ホスト・ブリッジ・チ
ップは例えばマスタ・デバイスとターゲット・デバイス
であり、両方共バス404にある。オペレーションがピ
ア・ツー・ピア・オペレーションであり、ターゲット・
デバイスが2重ホスト・ブリッジ(他のブリッジ構成レ
ジスタによって指示される)の他のブリッジ下にある場
合、制御は、パス・スルー論理416で実現される、ピ
ア・ツー・ピア・ブリッジ・パス・スルー機能を仕切
る。例えば、マスタ・デバイスがバス404に接続され
且つターゲット・デバイスがバス402に接続されてい
る場合、両方のアドレスは"ホスト・ブリッジのアドレ
スを下回る"。そのためトランザクションはピア・ツー
・ピアとなり、パス・スルー制御機能は、マスタ・デバ
イスとターゲット・デバイスが異なるPCIバスにある
ので呼び出される。これは2組のホスト・ブリッジ構成
レジスタが制御ロジック406によって提供できるので
可能である。異なる物理PCIバス間のこのタイプのピ
ア・ツー・ピア・トランザクションは、アドレスがシス
テムのアドレスでないのでシステムによって無視される
(すなわち、アドレスはホスト・ブリッジのアドレス
を"下回る")。
【0068】バス402及び404のインタフェース制
御408及び410のそれぞれは、独立したSERR#及びP
ERR#信号を有する(PCIバス仕様で定義)。他の制御
信号も同様に、拡張エラー回復能力を提供することがで
き、ホット・プラグ制御の物理バスの休止を可能にす
る。
【0069】まとめとして、本発明の構成に関して以下
の事項を開示する。
【0070】(1)メモリを有する少なくとも1つのプ
ロセッサを接続するシステム・バスと、各々が予め設定
された数の周辺装置をサポートする第1及び第2の2次
バスと、前記第1の2次バスと第2の2次バスを結合
し、前記予め設定された数より多い、多数の周辺装置を
サポートする1つの論理バスを生成する、前記システム
・バスに接続されたブリッジと、を有する、データ処理
システム。 (2)前記ブリッジは、前記第1の2次バスと第2の2
次バス間、及び前記第1及び第2の2次バスと前記シス
テム・バス間のトランザクションを制御する手段を含
む、前記(1)記載のデータ処理システム。 (3)前記制御する手段は、前記第1の2次バス、第2
の2次バス、またはシステム・バス上の周辺装置、プロ
セッサ及びメモリを含む、前記トランザクションの参加
者の位置を判断する手段を有する、前記(2)記載のデ
ータ処理システム。 (4)前記ブリッジは、前記第1の2次バスに接続され
た周辺装置の一方と、前記第2の2次バスに接続された
周辺装置の他方との間に透過的トランザクション処理を
提供する手段を更に有する、前記(3)記載のデータ処
理システム。 (5)前記トランザクションを提供する手段は、前記ト
ランザクションの参加者の一方が、前記第1の2次バス
にあると判定され、及び前記参加者の他方が前記第2の
2次バスにあると判定された場合、前記第1の2次バス
から前記第2の2次バスにトランザクション情報を転送
する手段を有する、前記(4)記載のデータ処理システ
ム。 (6)前記制御を行う手段は、前記トランザクション情
報を前記第1及び第2の2次バスと前記システム・バス
とにステアする手段を更に有する、前記(5)記載のデ
ータ処理システム。 (7)前記情報をステアする手段が、前記トランザクシ
ョン情報の元が前記システム・バスにある場合、前記ト
ランザクション情報を前記第1及び第2の2次バスの両
方に供給する手段と、前記トランザクション情報の元が
前記第1の2次バスまたは前記第2の2次バスのどちら
かにあり、及び前記参加者のターゲットされた1つが前
記システム・バスにある場合、前記トランザクション情
報を前記システム・バスだけに供給する手段と、前記参
加者のターゲットされた1つが前記第1の2次バスまた
は前記第2の2次バスの一方にある場合、前記トランザ
クション情報を前記第1の2次バスまたは前記第2の2
次バスの一方だけに供給する手段と、を有する、前記
(6)記載のデータ処理システム。 (8)前記参加者のターゲットされた1つが前記第1の
2次バスまたは前記第2の2次バスの一方にある場合、
前記トランザクション情報を前記第1の2次バスまたは
前記第2の2次バスの一方だけに供給する手段が、前記
ターゲットされた参加者のアドレスにもとづく、前記
(7)記載のデータ処理システム。 (9)判定を行う前記手段は、前記トランザクションの
参加者のアドレスを記憶する複数の構成レジスタと、前
記参加者が、前記第1の2次バス、前記第2の2次バス
または前記システムにあるかどうか判断するための前記
アドレスをデコードする手段と、を有する、前記(8)
記載のデータ処理システム。 (10)データ処理システムの複数のバスを相互接続す
る方法であって、メモリを有する少なくとも1つのプロ
セッサをシステム・バスに接続するステップと、予め設
定された数の周辺装置をサポートする第1及び第2の2
次バスを提供するステップと、ブリッジを前記システム
・バスに接続し、前記第1の2次バスと前記第2の2次
バスとを結合させ、前記予め設定された数より多い多数
の周辺装置をサポートする1つの論理バスを生成する、
ステップと、を有する、方法。 (11)前記接続するステップは、前記第1の2次バス
と前記第2の2次バス間、及び前記第1及び第2の2次
バスと前記システム・バス間のトランザクションを制御
するステップを更に有する、前記(10)記載の方法。 (12)前記制御するステップは、前記第1の2次バ
ス、第2の2次バス、またはシステム・バス上の周辺装
置、プロセッサ及びメモリを含む、前記トランザクショ
ンの参加者の位置を判断するステップを有する、前記
(11)記載の方法。 (13)前記ステップは、前記第1の2次バスに接続さ
れた周辺装置の一方と、前記第2の2次バスに接続され
た周辺装置の他方との間に透過的トランザクション処理
を提供するステップを更に有する、前記(12)記載の
方法。 (14)前記提供するステップは、前記トランザクショ
ンの参加者の一方が、前記第1の2次バスにあると判定
され、及び前記参加者の他方が前記第2の2次バスにあ
ると判定された場合、前記第1の2次バスから前記第2
の2次バスにトランザクション情報を転送するステップ
を有する、前記(13)記載の方法。 (15)前記転送するステップは、前記トランザクショ
ン情報を前記第1及び第2の2次バスと前記システム・
バスとでステアするステップを有する、前記(14)記
載の方法。 (16)前記ステアするステップは、前記トランザクシ
ョン情報の元が前記システム・バスにある場合、前記ト
ランザクション情報を前記第1の2次バス及び前記第2
の2次バスの両方に供給するステップと、前記トランザ
クション情報の元が前記第1の2次バスまたは前記第2
の2次バスのどちらかにあり、及び前記参加者のターゲ
ットされた1つが前記システム・バスにある場合、前記
トランザクション情報を前記システム・バスだけに供給
するステップと、前記参加者のターゲットされた1つが
前記第1の2次バスまたは前記第2の2次バスの一方に
ある場合、前記トランザクション情報を前記第1の2次
バスまたは前記第2の2次バスの一方だけに供給するス
テップと、を有する、方法。 (17)前記参加者のターゲットされた1つが前記第1
の2次バスまたは前記第2の2次バスの一方にある場
合、前記トランザクション情報を前記第1の2次バスま
たは前記第2の2次バスの一方だけに供給するステップ
が、前記ターゲットされた参加者のアドレスにもとづ
く、前記(16)記載の方法。 (18)判定を行う前記ステップは、前記トランザクシ
ョンの参加者のアドレスを記憶する複数の構成レジスタ
を提供するステップと、前記参加者が前記第1の2次バ
ス、前記第2の2次バスまたは前記システム・バスにあ
るかどうかを求める前記アドレスをデコードするステッ
プと、を有する前記(17)記載の方法。
【図面の簡単な説明】
【図1】本発明を具体化するデータ処理システムのブロ
ック図である。
【図2】図1のシステムに従い、本発明によって利用さ
れる基本ホスト・ブリッジの特徴を説明するホスト・ブ
リッジ(PCIホスト・ブリッジなど)のブロック図で
ある。
【図3】アウトバウンド・パス及びインバウンド・パス
での各種のトランザクションにおいて、図2のホスト・
ブリッジのトランザクションを制御する論理テーブルを
示す図である。
【図4】アウトバウンド・パス及びインバウンド・パス
での各種のトランザクションにおいて、図2のホスト・
ブリッジのトランザクションを制御する論理テーブルを
示す図である。
【図5】本発明の2重2次I/Oバス・インタフェース
及びピア・ツー・ピア・サポートをもたらすステア論理
のセットと他の制御デバイスを有するホスト・ブリッジ
を拡大したブロック図である。
【図6】単一のホスト・ブリッジが複数の2次バスをサ
ポートする本発明の他の好適な実施例を示すブロック図
である。
【符号の説明】
10 システム 12 ホスト・プロセッサ 14 第1のバス 15 システム・メモリ 16 第2のバス 17 MCバス 18 第3のバス 19 MCデバイス 20 ブリッジ 20a ホスト・ブリッジ 30 デバイス 40 PCI−MCブリッジ 202 アウトバウンド・パス 204 インバウンド・パス 206 状態マシン 208 アウトバウンド・トランザクション・ルータ 210、212、214 順次バッファ 216、218 並列バッファ 220 トランザクション選択回路 222 インバウンド・トランザクション・ルータ 224、226、228 順次インバウンド・バッファ 230 インバウンド選択回路 232、234 並列バッファ 400 ホスト・ブリッジ 401、403 I/Oデバイス 402、404 バス 406 制御ロジック 408、410 2次PCIバス・インタフェース 412 アウトバウンド・トラザクション・バッファ 414 インバウンド・トラザクション・バッファ 416 ピア・ツー・ピア・ブリッジ機能制御 420 システム・インタフェース 422、424、426 内部データ・バス
───────────────────────────────────────────────────── フロントページの続き (72)発明者 リチャード・アレン・ケリィ アメリカ合衆国27502、ノース・カロラ イナ州アペックス、ブルーク・クリー ク・ドライブ 200 (72)発明者 ダニー・マービン・ニール アメリカ合衆国78681、テキサス州ラウ ンド・ロック、ハイタワー・ドライブ 4604 (72)発明者 スティーブン・マーク・サーバー アメリカ合衆国78717、テキサス州オー スティン、エファライム・ロード 8308 (56)参考文献 特開 平4−178751(JP,A) 特開 平6−274638(JP,A) 特開 平6−83761(JP,A) 特開 平5−265931(JP,A) 特開 平6−52095(JP,A) 国際公開97/02533(WO,A1) (58)調査した分野(Int.Cl.7,DB名) G06F 13/20 - 13/378

Claims (14)

    (57)【特許請求の範囲】
  1. 【請求項1】メモリを有する少なくとも1つのプロセッ
    サを接続するシステム・バスと、周辺装置をサポートす
    る第1及び第2の2次バスと、 前記第1の2次バス及び第2の2次バスを結合して前記
    システム・バスに接続するブリッジとを有し、 前記ブリッジは、前記第1の2次バスと第2の2次バス
    間、及び、前記第1又は第2の2次バスと前記システム
    ・バス間のトランザクションを制御する手段を含み、 前記制御する手段は、前記第1の2次バスと第2の2次
    バス間のトランザクションは、バッファ機能の無いパス
    ・スルー論理により制御し、 前記第1又は第2の2次バスと前記システム・バス間の
    トランザクションは、前記プロセッサに対する読取り又
    は書込み要求が完了する前に、前記周辺装置と前記メモ
    リとの間の直接記憶アクセス要求を完了させるプロトコ
    ルに従い制御し、 それによりデッドロックを回避することを特徴とするデ
    ータ処理システム。
  2. 【請求項2】前記ブリッジは、前記第1の2次バス、第
    2の2次バス、またはシステム・バス上の周辺装置、プ
    ロセッサ及びメモリを含む、前記トランザクションの参
    加者の位置を判断する手段を更に有する、請求項1記載
    のデータ処理システム。
  3. 【請求項3】トランザクションの参加者の一方が、前記
    第1の2次バスにあると判断され、及び前記参加者の他
    方が前記第2の2次バスにあると判定された場合、前記
    第1の2次バスから前記第2の2次バスにトランザクシ
    ョン情報がバッファ機能の無いパス・スルー論理により
    転送される、請求項記載のデータ処理システム。
  4. 【請求項4】前記ブリッジは、前記トランザクション情
    報を前記第1の2次バス、第2の2次バス又は前記シス
    テム・バスに方向制御する手段を更に有する、請求項
    〜3のいずれか1項記載のデータ処理システム。
  5. 【請求項5】前記方向制御する手段が、 前記トランザクション情報の元が前記システム・バスに
    ある場合、前記トランザクション情報を前記第1及び第
    2の2次バスの両方に供給する手段と、 前記トランザクション情報の元が前記第1の2次バスま
    たは前記第2の2次バスのどちらかにあり、及び前記参
    加者のターゲットされた1つが前記システム・バスにあ
    る場合、前記トランザクション情報を前記システム・バ
    スだけに供給する手段と、 前記参加者のターゲットされた1つが前記第1の2次バ
    スまたは前記第2の2次バスの一方にある場合、前記ト
    ランザクション情報を前記第1の2次バスまたは前記第
    2の2次バスの一方だけに供給する手段と、 を有する、請求項記載のデータ処理システム。
  6. 【請求項6】前記参加者のターゲットされた1つが前記
    第1の2次バスまたは前記第2の2次バスの一方にある
    場合、前記トランザクション情報を前記第1の2次バス
    または前記第2の2次バスの一方だけに供給する手段
    が、前記ターゲットされた参加者のアドレスにもとづき
    供給する、請求項5記載のシステム。
  7. 【請求項7】前記位置を判断する手段は、 前記トランザクションの参加者のアドレスを記憶する複
    数の構成レジスタと、 前記参加者が、前記第1の2次バス、前記第2の2次バ
    スまたは前記システムにあるかどうか判断するための前
    記アドレスをデコードする手段と、 を有する、請求項2記載のデータ処理システム。
  8. 【請求項8】メモリを有する少なくとも1つのプロセッ
    サ、前記プロセッサに接続されたシステム・バス、周辺
    装置、前記周辺装置に接続された第1及び第2の2次バ
    ス、及び、前記第1の2次バス及び第2の2次バスを結
    合して前記システム・バスに接続するブリッジを含むデ
    ータ処理システムにおいてバスのトランザクションを制
    御する方法であって、 前記プロセッサに対する読取り又は書込み要求が完了す
    る前に、前記周辺装置と前記メモリの間の直接記憶アク
    セス要求を完了させるステップと、前記第1の2次バスに接続された周辺装置と前記第2の
    2次バスに接続された周辺装置との間のピア・ツー・ピ
    ア・オペレーションを、バッファ機能の無いパス・スル
    ー論理に従い行うステップと、 を含むことによって、デッドロックを回避することを特
    徴とする方法。
  9. 【請求項9】前記第1の2次バス、第2の2次バス、ま
    たはシステム・バス上の周辺装置、プロセッサ及びメモ
    リを含む、前記トランザクションの参加者の位置を判断
    するステップを更に含む、請求項記載の方法。
  10. 【請求項10】前記ピア・ツー・ピア・オペレーション
    を行うステップは、トランザクションの参加者の一方
    が、前記第1の2次バスにあると判定され、及び前記参
    加者の他方が前記第2の2次バスにあると判断された場
    に行われる、請求項記載の方法。
  11. 【請求項11】前記ピア・ツー・ピア・オペレーション
    を行うステップは、前記トランザクション情報を前記第
    1の2次バス、第2の2次バス又は前記システム・バス
    に方向制御するステップを更に含む、請求項10記載の
    方法。
  12. 【請求項12】前記方向制御するステップは、 前記トランザクション情報の元が前記システム・バスに
    ある場合、前記トランザクション情報を前記第1の2次
    バス及び前記第2の2次バスの両方に供給するステップ
    と、 前記トランザクション情報の元が前記第1の2次バスま
    たは前記第2の2次バスのどちらかにあり、及び前記参
    加者のターゲットされた1つが前記システム・バスにあ
    る場合、前記トランザクション情報を前記システム・バ
    スだけに供給するステップと、 前記参加者のターゲットされた1つが前記第1の2次バ
    スまたは前記第2の2次バスの一方にある場合、前記ト
    ランザクション情報を前記第1の2次バスまたは前記第
    2の2次バスの一方だけに供給するステップと、 を有する、請求項11記載の方法。
  13. 【請求項13】前記参加者のターゲットされた1つが前
    記第1の2次バスまたは前記第2の2次バスの一方にあ
    る場合、前記トランザクション情報を前記第1の2次バ
    スまたは前記第2の2次バスの一方だけに供給するステ
    ップが、前記ターゲットされた参加者のアドレスを判断
    するステップを更に含み、前記判断されたアドレスに基
    いて供給が行われる、請求項12記載の方法。
  14. 【請求項14】前記参加者の位置を判断するステップ
    は、 前記参加者のアドレスをデコードするステップ、 を含む請求項記載の方法。
JP08420597A 1996-04-10 1997-04-02 ピア・ツー・ピア・サポートを有する2重ホスト・ブリッジ Expired - Lifetime JP3476174B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/627810 1996-04-10
US08/627,810 US6175888B1 (en) 1996-04-10 1996-04-10 Dual host bridge with peer to peer support

Publications (2)

Publication Number Publication Date
JPH1049482A JPH1049482A (ja) 1998-02-20
JP3476174B2 true JP3476174B2 (ja) 2003-12-10

Family

ID=24516227

Family Applications (1)

Application Number Title Priority Date Filing Date
JP08420597A Expired - Lifetime JP3476174B2 (ja) 1996-04-10 1997-04-02 ピア・ツー・ピア・サポートを有する2重ホスト・ブリッジ

Country Status (6)

Country Link
US (1) US6175888B1 (ja)
EP (1) EP0801352B1 (ja)
JP (1) JP3476174B2 (ja)
KR (1) KR100271203B1 (ja)
DE (1) DE69736872T2 (ja)
TW (1) TW311191B (ja)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6338107B1 (en) * 1998-12-16 2002-01-08 International Business Machines Corporation Method and system for providing hot plug of adapter cards in an expanded slot environment
US6301627B1 (en) * 1998-12-18 2001-10-09 International Business Machines Corporation Method/system for identifying delayed predetermined information transfer request as bypassable by subsequently-generated information transfer request using bypass enable bit in bridge translation control entry
US6529991B1 (en) * 1999-05-12 2003-03-04 International Business Machines Corporation Ordering mechanism, ordering method and computer program product for implementing PCI peer to functions
US6581141B1 (en) * 1999-05-18 2003-06-17 International Business Machines Corporation Toggle for split transaction mode of PCI-X bridge buffer
US6469703B1 (en) * 1999-07-02 2002-10-22 Ati International Srl System of accessing data in a graphics system and method thereof
US6480917B1 (en) * 1999-08-19 2002-11-12 International Business Machines Corporation Device arbitration including peer-to-peer access arbitration
TW528906B (en) 1999-09-27 2003-04-21 Seiko Epson Corp Driving method and driving circuit for electro-optical device, electro-optical device and electronic apparatus
JP3391315B2 (ja) * 1999-10-20 2003-03-31 日本電気株式会社 バス制御装置
JP2001256176A (ja) * 2000-03-13 2001-09-21 Mitsubishi Electric Corp ブリッジ装置
US6678775B1 (en) * 2000-12-29 2004-01-13 Hewlett-Packard Development Company, L.P. System enabling automatic error detection in response to removal of bus adapter
JP2002207688A (ja) * 2001-01-05 2002-07-26 Mitsubishi Electric Corp コンフィギュレーションアクセスを複数個のセカンダリポートに経路制御するための方法および装置
US6813667B2 (en) * 2001-09-05 2004-11-02 Hewlett-Packard Development Company, L.P. Bus extender and formatter apparatus and methods
US6836813B1 (en) 2001-11-30 2004-12-28 Advanced Micro Devices, Inc. Switching I/O node for connection in a multiprocessor computer system
US6754737B2 (en) * 2001-12-24 2004-06-22 Hewlett-Packard Development Company, L.P. Method and apparatus to allow dynamic variation of ordering enforcement between transactions in a strongly ordered computer interconnect
US6883057B2 (en) * 2002-02-15 2005-04-19 International Business Machines Corporation Method and apparatus embedding PCI-to-PCI bridge functions in PCI devices using PCI configuration header type 0
US6976115B2 (en) * 2002-03-28 2005-12-13 Intel Corporation Peer-to-peer bus segment bridging
JP2004334410A (ja) 2003-05-06 2004-11-25 Hitachi Ltd 情報処理装置及びプロセッサ
US20040243757A1 (en) * 2003-05-29 2004-12-02 Oliver Brett Douglas Connecting PCI buses
US7284082B2 (en) * 2004-08-19 2007-10-16 Lsi Corporation Controller apparatus and method for improved data transfer
US20070005865A1 (en) * 2005-06-29 2007-01-04 Spry Bryan L Enforcing global ordering using an inter-queue ordering mechanism
JP4785637B2 (ja) * 2006-06-16 2011-10-05 キヤノン株式会社 データ転送装置及びその制御方法
JP4501916B2 (ja) 2006-09-20 2010-07-14 日本電気株式会社 I/o機器の共有システムと情報処理装置共有システム及びそれらに用いる方法
US7711888B2 (en) * 2006-12-31 2010-05-04 Texas Instruments Incorporated Systems and methods for improving data transfer between devices
KR100873010B1 (ko) 2007-05-17 2008-12-09 한국과학기술원 논블록킹 마스터, 버스 중재장치, 버스 시스템, 및 버스중재 방법
US8244951B2 (en) 2008-09-25 2012-08-14 Intel Corporation Method and apparatus to facilitate system to system protocol exchange in back to back non-transparent bridges
US9424219B2 (en) 2013-03-12 2016-08-23 Avago Technologies General Ip (Singapore) Pte. Ltd. Direct routing between address spaces through a nontransparent peripheral component interconnect express bridge

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5574869A (en) * 1992-03-30 1996-11-12 Intel Corporation Bus bridge circuit having configuration space enable register for controlling transition between various modes by writing the bridge identifier into CSE register
CA2092631C (en) 1992-06-19 1997-04-08 Don Steven Keener Physical partitioning of logically continuous bus
US5566345A (en) * 1994-08-31 1996-10-15 Ostrowski; Carl L. SCSI bus capacity expansion controller using gating circuits to arbitrate DMA requests from a plurality of disk drives
US5621902A (en) * 1994-11-30 1997-04-15 International Business Machines Corporation Computer system having a bridge between two buses with a direct memory access controller and an alternative memory access controller
US5594873A (en) * 1994-12-08 1997-01-14 Dell Usa, L.P. System and method for identifying expansion devices in a computer system
US5734850A (en) 1995-07-05 1998-03-31 National Semiconductor Corporation Transparent bridge between of a computer system and a method of interfacing the buses to operate as a single logical bus
US5859988A (en) * 1995-09-29 1999-01-12 Intel Corporation Triple-port bus bridge
US5632021A (en) * 1995-10-25 1997-05-20 Cisco Systems Inc. Computer system with cascaded peripheral component interconnect (PCI) buses

Also Published As

Publication number Publication date
JPH1049482A (ja) 1998-02-20
KR100271203B1 (ko) 2000-11-01
US6175888B1 (en) 2001-01-16
TW311191B (en) 1997-07-21
EP0801352A3 (en) 1998-10-14
DE69736872T2 (de) 2007-04-26
EP0801352B1 (en) 2006-11-02
KR970071311A (ko) 1997-11-07
DE69736872D1 (de) 2006-12-14
EP0801352A2 (en) 1997-10-15

Similar Documents

Publication Publication Date Title
JP3476174B2 (ja) ピア・ツー・ピア・サポートを有する2重ホスト・ブリッジ
JP3579198B2 (ja) データ処理システム及びデータ処理方法
US5682512A (en) Use of deferred bus access for address translation in a shared memory clustered computer system
US5694556A (en) Data processing system including buffering mechanism for inbound and outbound reads and posted writes
US5935233A (en) Computer system with a switch interconnector for computer devices
KR100239814B1 (ko) 데이터 처리 시스템 내의 다수의 주변 구성요소 내부접속(pci) 호스트 브리지를 통한 pci 피어-투-피어 액세스를지원하는 방법 및 시스템
KR970000842B1 (ko) 정보 처리 시스템 및 컴퓨터 시스템
US6070209A (en) Delivering transactions between data buses in a computer system
US20100005247A1 (en) Method and Apparatus for Global Ordering to Insure Latency Independent Coherence
US20090024688A1 (en) Accessing Memory And Processor Caches Of Nodes In Multi-Node Configurations
US7007126B2 (en) Accessing a primary bus messaging unit from a secondary bus through a PCI bridge
KR100419679B1 (ko) 트랜잭션 요청 라우팅 방법
US7096290B2 (en) On-chip high speed data interface
US6347349B1 (en) System for determining whether a subsequent transaction may be allowed or must be allowed or must not be allowed to bypass a preceding transaction
US6480917B1 (en) Device arbitration including peer-to-peer access arbitration
US6480923B1 (en) Information routing for transfer buffers
US6418503B1 (en) Buffer re-ordering system
US6377581B1 (en) Optimized CPU-memory high bandwidth multibus structure simultaneously supporting design reusable blocks
JPH0973429A (ja) コンピュータシステム及びバス間制御回路
Finkelstein et al. Microprocessor system buses: A case study
EP0537898B1 (en) Computer system including video subsystem
Dahlen et al. The 82460GX server/workstation chip set
JP2001075826A (ja) 並列計算機における高効率セマフォ処理方式
MXPA97005035A (es) Subsistema de procesador para uso con arquitectura de computadora universal

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080926

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20080926

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20090926

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20090926

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20100926

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20100926

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20110926

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20120926

Year of fee payment: 9