JPH1049482A - ピア・ツー・ピア・サポートを有する2重ホスト・ブリッジ - Google Patents
ピア・ツー・ピア・サポートを有する2重ホスト・ブリッジInfo
- Publication number
- JPH1049482A JPH1049482A JP9084205A JP8420597A JPH1049482A JP H1049482 A JPH1049482 A JP H1049482A JP 9084205 A JP9084205 A JP 9084205A JP 8420597 A JP8420597 A JP 8420597A JP H1049482 A JPH1049482 A JP H1049482A
- Authority
- JP
- Japan
- Prior art keywords
- bus
- transaction
- secondary bus
- bridge
- buses
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4027—Coupling 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)
Abstract
辺装置を有し、プロセッサ、メモリ、周辺装置、及びネ
ットワークのような他のホストまたは周辺装置を接続す
る1つ以上のブリッジを有する、データ処理システムを
提供する。 【解決手段】 PCIホスト・ブリッジのようなブリッ
ジは1次バス(例えば、システム・バス)と2次バスを
接続する。ホスト・ブリッジは2つの2次バス・インタ
フェースを生成する2重ホスト・ブリッジ機能を提供す
る。これにより、通常のホスト・ブリッジで使用される
数が少ないスロットに比べ1つの2重ホスト・ブリッジ
でロード能力を増加できる。また、アービトレーション
制御をもたらし、及びトランザクションを適切なバス・
インタフェースにステアする、制御ロジックが付加され
ている。更に、2つの2次バス・インタフェースをピア
・ツー・ピア・サポートする機能も備わる。
Description
に関し、特にホスト・ブリッジの機能的な能力を効率的
に提供するメカニズムを有し、及び周辺機器相互接続
(PCI)バスのような2次バスとしての2重(2つ
の)バス・インタフェースを提供する、データ処理シス
テムに関する。
どのデータ処理システムで使用される標準バス・アーキ
テクチャの多くは、トランザクションの順序規則を有す
る。トランザクションはバス−バス・ブリッジをトラバ
ースするが、これは同じバス・プロトコルを有する少な
くとも2つのバスを接続することになる。このようなト
ランザクションの例は、ホスト・プロセッサから周辺装
置にアウトバウンドする読込み要求、ホスト・プロセッ
サにインバウンドする周辺装置からのデータを格納する
読込み応答(読込み要求への応答)、またはホスト・プ
ロセッサが他の処理を進めることを可能にするバス−バ
ス・ブリッジ内のバッファに書込みコマンドが後回しに
される、ポスト書込みである。ここでのポスト書込みと
は、開始バスでの書込みは完了したが、後で宛先バスで
書込みを完了させるためにホスト・ブリッジで後回しさ
れることを意味する。現在のバス−バス・ブリッジ・ア
ーキテクチャは、バス−バス・ブリッジをトラバースす
る読取りトランザクションの完了以前にアウトバウンド
(ホスト・プロセッサから)及びインバウンド(ホスト
・プロセッサへ)の両方向でフラッシュ・アウトされ
る、書込みバッファを必要とするか、またはPCIバス
・アーキテクチャのPCIローカル・バス仕様、バージ
ョン2.1で定められた特定のバス−バス順序規則を定
義するか、のどちらかである。バッファをフラッシュす
る要求は、ブリッジ・バッファにポスト書込みがある場
合に再試行が実行されるため、プロセッサ読取りアクセ
スが中断させられることにより、使用中のサーバにとっ
て性能問題が生じることになる。ここでの再試行は、マ
スタによってアドレス指定されたターゲット・デバイス
がアクセスを認識するが、使用中である信号を発信し、
トランザクションを終了させることを意味する。マスタ
はしばらくしてから再びアクセスを試みる。
キテクチャは、通常、1つの1次インタフェースと1つ
の2次インタフェースを提供する。そのためPCIバス
・アーキテクチャは、僅か10本のバス・ロードに限定
されたバス・ロード能力となる。はんだ付けされたデバ
イス(アダプタ)は1本のロード、及びスロット・タイ
プのアダプタは2本のロードと見なされる。従ってPC
Iホスト・ブリッジは自らの2次バスに直接接続された
最大4個だけのスロットを有することができる。取り付
けられたスロット数が少なければ、多くのはんだ付けさ
れたデバイスが接続できる。また、ホスト・ブリッジは
2次バスで10本のロードの1つとして数えられる。こ
れにより、複数のスロットを必要とするシステム内で、
複数のホスト・ブリッジ、または複数のPCI−PCI
ブリッジのどちらかまたは両方を提供して、スロットを
生成する必要性が生じる。
続するバス−バス・ブリッジは、ここではPCI−PC
Iブリッジと呼ぶ。PCI−PCIブリッジをトラバー
スするトランザクションの順序規則は、PCIローカル
・バス仕様、バージョン2.1に定められる。ホスト・
プロセッサ、システム・バス、または他のシステム相互
接続部をPCIバスに接続するブリッジは、ここではP
CIホスト・ブリッジ(PHB)またはホスト・ブリッ
ジと称する。
ッジで必要とされる以上の特有の必要条件を有するが、
PCI−PCIブリッジと全く同様の制約条件を有する
わけではない。これはホスト・ブリッジの場合、ホスト
・ブリッジ・インタフェースの1次(システム)側に存
在するほとんどのトランザクションのソースはI/Oデ
バイスではなくホスト・プロセッサで開始されるからで
ある。
nsparent Bridges"(IBM TecnicalDisclosure Bulleti
n、July、1992、page 233)、は、ブリッジ内部を一様
に制御し、読取りまたは書込みであってもデータの転送
を保証するバッファリング・コンポーネントを含む、多
重ポート・ブリッジ相互接続ネットワークを有する高性
能ブリッジのアーキテクチャを示す。
べているが、バス・ローディング制限の問題及びこれら
の制限の軽減策を解決しない。
for Transferring Messages Between Source and Dest
ination Users Through a Shared Memory(共有メモリ
のソース/宛先ユーザ間のメッセージ転送方法及び装
置)"は多数の独立したバッファを有するメモリ、メモ
リ・インタフェース及び中央制御装置が接続される共通
バスを教示する。メモリ・インタフェースはソース・ユ
ーザからメッセージを受信し、選択されたバッファにメ
ッセージを記憶し、バッファを一緒に連鎖する。制御装
置はメモリ・インタフェースから受信する命令に答え
て、インバウンド・メッセージ・キュー及びアウトバウ
ンド・メッセージ・キューを生成する。
テクチャに幾らかの類似性があるが、制限されたバス・
ロード能力の問題に対する説明も解決策も提示していな
い。
paratus with an Address Check Circuit for Intercon
necting Networks(ネットワーク相互接続のためのアド
レス・チェック回路を有するブリッジ装置)"は、情報
をプロセッサから周辺装置に読出す、及びネットワーク
環境でブリッジングする、複数のインバウンド・バッフ
ァ及びアウトバウンド・バッファを教示する。
るバス−バス・ブリッジが示されているが、複数のホス
トや複数のPCI−PCIブリッジ等の必要性を排除す
る、バス−バス・ブリッジのバス・ロード能力を改良す
るメカニズムの教示及び提示をしていない。
能力を処理する多重ブリッジを減らす方法を教示及び提
示していない。
のPCIバスに最大4つのスロットなど)よりも多くの
2次バス・スロット、及び効率的なピア・ツー・ピア・
オペレーションを必要とする場合に、特定の問題が発生
する。この問題に対処するコンピュータ産業の現在の解
決策は、更にホスト・ブリッジを付加するか、或いは複
数のPCI−PCIブリッジを提供し、1つのホスト・
ブリッジに4つのスロットである通常の容量を上回るス
ロット能力を追加させるか、である。これらの従来技術
はスロットの増加に対する解決を試みているが、しかし
ホスト及びバス−バス・ブリッジの数を最小にする一方
で、効率的なピア・ツー・ピア・サポートの必要性を解
決していない。
ト・ブリッジにおけるインバウンド及びアウトバウンド
の両方向の複数の混合トランザクションを効率的に処理
することである。また、本発明はファンアウト(ロー
ド)能力を増強する2重2次バス・インタフェースを提
供し、及び2つの2次バス・インタフェースでのピア・
ツー・ピア・サポートを改良する基本的な内部バス−バ
ス・ブリッジ能力を提供する、制御メカニズムを提供す
ることである。
を生成する2重ホスト・ブリッジを提供することによっ
て、ホスト・ブリッジの2次バス・インタフェースのス
ロット・ファンアウト能力をかなり高めることができ
る。例えば、PCIバスの場合では、通常は10本のバ
ス・ロードの代わりに1つのPCIホスト・ブリッジで
20本のバス・ロードを提供する。
ス(アービトレーションの観点から)として扱う適切な
内部制御論理、及び2つの2次PCIバス・インタフェ
ースにピア・ツー・ピア・サポートを提供する。
の付加された特徴と利点を達成できる。
部(1次システム・バス・インタフェースの下)に僅か
1つのホスト・ブリッジ機能を提供して簡略化し、バス
ステア論理と他の制御機能を加えた2重2次バス・イン
タフェースを生成する。
スト書込み及び読取りトランザクションが行われるバス
−バス・ブリッジに適用できる。
ンバウンド及びアウトバウンドの両方向において複数の
混合トランザクションを効率的に処理し、2倍のファン
アウト(ロード)能力をもたらす2重2次PCIインタ
フェースを提供する制御メカニズムを有し、2つの2次
バス・インタフェース間に改良されたピア・ツー・ピア
・サポートを提供する基本内部PCI−PCIブリッジ
能力を提供できる。
及び多数の周辺装置を有し、更に1つ以上のホスト・プ
ロセッサと、周辺装置、及びネットワークのような相互
接続された周辺装置を有する他のホスト・プロセッサと
を連結する1つ以上のブリッジを有する。ホスト・バス
−バス・ブリッジは、1次バス(例えばシステム・バ
ス)と2重2次バス(例、PCIバスのようなI/Oバ
ス)とを接続する。尚、説明の簡略化のために1次バス
はアウトバウンド・トランザクションのソース、且つイ
ンバウンド・トランザクションの宛先としてみなし、2
次バスはアウトバウンド・トランザクションの宛先、且
つインバウンド・トランザクションのソースとしてみな
す。実施形態次第では2次バスのトランザクションとは
異なるトランザクションが1次バスで同時に発生する場
合もある。各ホスト・ブリッジは、アウトバウンド・デ
ータパス、インバウンド・データパス及び制御メカニズ
ムを有する。アウトバウンド・データパスは、1次バス
からの受信順(または他の順序)にトランザクションを
記憶するキュー待機されたバッファを有し、キュー待機
バッファ内にある要求は読取り要求と書込みトランザク
ションとで混合される。またアウトバウンド・データ・
パスは、読取り応答データ及びアドレス情報を記憶する
多数の他のバッファを有する。
スの鏡像のようなもので、読取り要求及び書込み要求は
トランザクション・バッファに記憶され、読取り応答は
多数の他のバッファに記憶される。ホスト・ブリッジの
インバウンド・パスとアウトバウンド・パスは状態マシ
ンによって制御される。状態マシンは両方向のアクティ
ビティを判断してトランザクションのバイパスを許可ま
たは禁止する。ここでのバイパスの意味は、前のトラン
ザクションが後からのトランザクションよりも早くキュ
ー待機に入っていたとしても、後からのトランザクショ
ンが前のトランザクションよりも早く処理され得ること
を意味する。
ンドのトランザクションは、特定の種類のトランザクシ
ョン及び定義された順序規則にもとづいて予め設定され
た状態マシンの制御によって順次及び非順次で処理され
る。更に、ホスト・ブリッジのインバウンド及びアウト
バウンドのトランザクションは、フラッシュ・アウトさ
れるバッファを必要とせずに読取りトランザクションが
書込みトランザクションの後に続くことができるメカニ
ズムによって効率的に処理される。
する異なるトランザクションに対応して正しいデータ整
合性を維持する。読取り要求などの他のトランザクショ
ンは、開始バスで完了する前に宛先バスで完了(データ
取り出し)しなければならない。例えば、ホスト・プロ
セッサはデータをI/Oバスの周辺装置に要求し得る。
データは宛先バスの周辺装置から取り出され、トランザ
クションが終了したとみなされる前にホスト・ブリッジ
を介して開始バスのホスト・プロセッサに渡さなければ
ならない。本発明の特徴として、読取りアクセスなどの
トランザクションの処理は、ポスト書込みをフラッシュ
することなしに行える。
バイスがアクセスを認識し、使用中の信号を発信し、再
試行制御信号でアクセスを終了することを意味する。後
で再度、マスタ(要求しているデバイス)はアクセスを
実行する。次に本発明のホスト・ブリッジは、後で処理
するために読取り要求を後回しにし、マスタがふたたび
後でアクセスを試みる場合、使用可能な読取りデータが
得られるようにする。ホスト・ブリッジが要求データを
獲得する前にマスタが再び試みるならば、ブリッジはふ
たたび再試行の信号を送るが、アクセス要求の第2のコ
ピーをバッファしない。ホスト・ブリッジは、プロセッ
サからの読取り要求にタグ付けし、プロセッサに再試行
を要求しない。
の簡素化のためにロード・オペレーション(ホスト・プ
ロセッサに対する読取りオペレーション)・パスとスト
ア(ホスト・プロセッサに対する書込みオペレーショ
ン)・パスは、周辺装置とシステム・メモリ間の直接記
憶アクセス(DMA)・パスから独立させなければなら
ない。ロード・オペレーション及びストア・オペレーシ
ョンは、ロードはデータをホスト・プロセッサにロード
させ、ストアはデータをホスト・プロセッサから周辺装
置に記憶させるトランザクションの流れを考慮すること
に注意されたい。
ペースまたは周辺I/Oスペース(I/O出力バッフ
ァ)へのロード要求は、同じホスト・ブリッジの周辺メ
モリ・スペース(メモリ出力バッファ)または周辺I/
Oスペースへの前のロードが行われる前に、両方のロー
ドが同じアドレスに行く場合は、I/Oバスに渡しては
ならない。このことによりアドレスが異なる場合は性能
が改良される(通過可能になる)が、一方または両方の
プロセッサが同じアドレスに書込みする場合に、一方の
プロセッサが他方のプロセッサのデータを盗む(すなわ
ち、旧データを獲得する)問題を解決しない。
はホスト・ブリッジにバッファされた前のロード・トラ
ンザクション及びストア・トランザクションをバイパス
できるので、デッドロックを回避できる。これはバス−
バス・ブリッジの場合とは異なる必要条件であり、性能
を改良するために、ホスト・ブリッジとPCIバス間で
正しい対話が要求される。更に、ホスト・ブリッジの周
辺メモリ・スペースまたは周辺I/Oスペースへのロー
ドまたはストアは、同じホスト・ブリッジの周辺メモリ
・スペースまたは周辺I/Oスペースへの前のストアが
行われる前に、I/Oバスに対して行ってはならない
(すなわち1つのホスト・ブリッジによって生成された
I/Oバスへの複数のストアは順番に行われなければな
らず、且つロードはストアを渡してはいけない)。
フェースを生成するPCI2重ホスト・ブリッジ(図5
参照)を提供することにより、PCIホスト・ブリッジ
の2次バス・インタフェースのスロット・ファンアウト
能力が非常に高まる手段を提供する。これは、1つのP
CIホスト・ブリッジでは通常は10本のバス・ロード
であるが、代わって20本のバス・ロードを提供する。
適切な内部制御ロジックが2つの2次PCIバスを1つ
の論理バス(アービトレーション観点から)として処理
するために提供される。更に、本発明は、適切な内部制
御ロジックを提供することによって、2つの2次PCI
バス・インタフェースにピア・ツー・ピア・サポートを
提供する。
ェアの衝突なしで提供できる。
・ブリッジの上部(1次システム・バス・インタフェー
スの下)に唯一1つのPCIホスト・ブリッジ機能を含
めさせ、本質的にバス・ステア論理と他の制御機能を有
する2重2次PCIバス・インタフェースを生成する。
スト書込み及び読取りトランザクションを行うバス−バ
ス・ブリッジに適用できる。
するデータ処理システムが説明される。
テムによって使用可能なシステム・バスのような、第1
のバス14に接続された少なくとも1つのホスト・プロ
セッサ12を有する。図1の点線で示される他のホスト
・プロセッサ12もまた第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バスである。
第2のバス16及び第3のバス18はそれぞれ標準規格
であるPCIバスであり得る。
図である。少なくとも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を単一の論理バス(アービトレ
ーション観点から)として処理できる。
ジ20aが詳細に示されている。本発明の好適な実施例
の記述で使用される用語において、アウトバウンドはホ
スト・プロセッサ12から出されるトランザクションを
意味し、インバウンドはホスト・プロセッサ12に向か
うトランザクションを意味する。
・パス202とインバウンド・パス204の2つのデー
タ・パスを有する。インバウンド及びアウトバウンドの
すべてのトランザクションは状態マシン206によって
制御される。
トバウンド・トランザクション・ルータ208によって
受信されると、トランザクション・フォーマットが調べ
られ、トランザクションが読取り要求(データの要求)
か、読取り応答(読取り要求に応答しデータを提供す
る)か、または書込み要求(データを特定のデバイスに
置く要求)かどうか判断される。
ォーマットを有する。読取り応答は、アドレス、制御情
報、並びに要求され元の要求者に送られるデータを含む
フォーマットを有する。
/O書込み(I/O WR)のような書込みトランザク
ションは、アドレス、制御情報、及び選択されたアドレ
スに書込まれるデータを有する。
ン・ルータ208で現在アクティブであるトランザクシ
ョンが読取り要求である場合、トランザクションは多数
の順次バッファ210、212、214の1つに転送さ
れる。順次バッファ210、212、214のエントリ
は、ホスト・ブリッジ20aで保留が予測されるトラン
ザクションのスタックを処理するのに十分な長さのバッ
ファ・エントリの適切な任意の数である。また、トラン
ザクションが、I/O書込みまたはポスト・メモリ書込
みのような書込みトランザクションである場合、トラン
ザクションは順次バッファ210、212、214の1
つへ転送される。
タ208で保留しているトランザクションが読取り応答
(RRP)の場合、読取り応答トランザクションは並列
バッファ216、218のエントリの1つに伝送され
る。
選択され、2次バスに渡されるトランザクションは常
時、状態マシン206によって制御される。従って、順
番でなくても順次バッファ210、212或いは214
に記憶されたトランザクションへのアクセス、または並
列バッファ216、218の読取り応答トランザクショ
ンへのアクセスができる。
されている素子を除いてアウトバウンド・パス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の
いずれからのトランザクションの伝送を制御する。
る状態マシン論理テーブルによって定義されるプロトコ
ルに従って動作し、アウトバウンド、インバウンドまた
は両方向への複数のトランザクションの流れを制御す
る。
06を制御する論理テーブルが示されている。図3の論
理テーブルの上部はアウトバウンド・トランザクション
を表すトランザクションであり、便利上、第1のトラン
ザクションと呼ぶ。図3の論理テーブルの左側に沿って
アウトバウンド・トランザクションが示されており、便
利上、第2のトランザクションと呼ぶ。同様に図4の論
理テーブルの上部はインバウンド・トランザクションを
表すトランザクションであり、便利上、第1のトランザ
クションと呼ぶ。図4の論理テーブルの左側に沿ってイ
ンバウンド・トランザクションが示されており、便利
上、第2のトランザクションと呼ぶ。
て"0"エントリは、後の(第2の)トランザクションが
前の(第1の)トランザクションをバイパスしてはいけ
ないことを意味する。"1"エントリは、後のトランザク
ションがブリッジに入らなければならず、これはトラン
ザクションを処理するために前のトランザクションをバ
イパスする必要がある場合で、そうでなければデッドロ
ックが生じることを意味する。"0/l"エントリは、後
のトランザクションが前のトランザクションをバイパス
できるが、しかし、そうすることは要求されない(順次
要求はなく(すなわち順序にこだわらない)、性能及び
実施の費用を配慮する実施形態仕様で決まる)ことを意
味する。"0/l"は、バイパスを許可する場合もしない
場合もあるが、これは特定の状況或いは実施形態によ
る。
ジにバッファされている、前のロード・トランザクショ
ン及びストア・トランザクションをバイパスできるの
で、デッドロックを回避できる。これは、バス−バス
(例えばPCI−PCI)・ブリッジとは異なる必要条
件であり、ホスト・ブリッジとPCIバス間での正しい
対話が求められる。このことが性能を改良する。
トバウンドの第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と競合する場合などである。
置における0は、トランザクションのバイパス禁止を示
す。従って、第1のトランザクションとしてのアウトバ
ウンド書込みオペレーション、後に続く第2のトランザ
クションとしてのアウトバウンド読取り要求は、第2の
トランザクションによってバイパスできない。ここで使
用される用語"バイパス"とは、宛先バスにおいて第1の
要求が完了する前に第2の要求が完了することを意味す
る。しかしながら、例えば第1のトランザクションがア
ウトバウンド書込みトランザクションである場合、アウ
トバウンド読取り応答トランザクションのバイパスは許
されなければならない。
ずれの0の表示は、書込みトランザクションを含むトラ
ンザクションのバイパス禁止であることに注意された
い。例えば、第2のトランザクションとしてのアウトバ
ウンド読取り要求は、第1のトランザクションとしての
アウトバウンド書込みをバイパスできない。図4におい
てもインバウンド・トランザクションの場合は同じ原則
が当てはまることが理解できよう。従って、図4で示さ
れるようにインバウンド読取り要求(RRQ)、読取り
応答(RRP)或いは書込みトランザクション(PM
W)は、第1のトランザクションとしての前のインバウ
ンド書込み(PMW)をバイパスできない。状態マシン
206のオペレーションを管理する図3及び図4の論理
テーブルは、アウトバウンド・トランザクション・ルー
タ208、インバウンド・トランザクション・ルータ2
22、トランザクション選択回路220及び230のそ
れぞれのトランザクションの仕切りを制御する。当業者
は図3及び図4のテーブルに示された論理がどのように
して制御論理回路で実施され、状態マシン206に取り
込まれるかを理解できよう。
(PHB)は特有の特性を有するマイクロプロセッサを
使用してPCIバスをI/Oバスとしてコンピュータ・
システムのシステム・バスに接続する。このマイクロプ
ロセッサにはIBMから入手できるPowerPC604マイクロ
プロセッサ(PowerPC及びPowerPC604はIBMの商標で
ある)などがあるが、その説明には考慮すべき点があ
る。一般にホスト・プロセッサ12に対するロード(R
RQ)及びストア(PMW、I/O WR)・パスは、
性能の改良及び簡単な実施形態の実現ために周辺装置に
対するDMAパス(例えばRRP)から独立していなけ
ればならない。また、図3及び図4のテーブルの"0/
1"エントリにおいて、これらのトランザクションはバ
イパスできる可能性はあるが、バイパスすることを要求
されない。バイパスするか否かは、いずれの公正な規
則、性能問題或いは実施形態(以下のパラグラフで記述
される場合を除いて)の簡素化次第である。
ブリッジの周辺メモリ・スペース或いは周辺I/Oスペ
ースのどちらかに対するロード(RRQトランザクショ
ンなど)は、これらの両方のロードが全く同じアドレス
に送られる場合、同じホスト・ブリッジの周辺メモリ・
スペース、或いは周辺I/Oスペースに対する、前のロ
ードが行われる前にI/Oバスにしてはならない。図3
を参照すると"0/l"は第1のトランザクションとして
のRRQ(ロード)オペレーションと、第2のトランザ
クションとしてのRRQ(ロード)オペレーションの交
差部に存在することが分かる。この場合、ターゲット・
アドレスが同じでない場合はバイパスが許される。しか
しながら、状態マシン206が有する比較器が、アドレ
スが同じであると判定した場合、第2のRRQトランザ
クションは第1のRRQトランザクションをバイパスで
きない。従ってこの場合の"0/1"は、アドレスの比較
結果などの付加の要素にもとづいて、第2のトランザク
ションによって第1のトランザクションのバイパスが生
じる得ることを示す。これはアドレスが異なる場合には
性能が改良される(通過可能になる)が、一方または両
方のデバイスが同じアドレスのデータをアクセスする場
合に、一方のデバイスが他のデバイスのデータを盗む
(旧データの獲得する)問題を解決しない。これらのト
ランザクションが異なるアドレスを有する場合はバイパ
スできる。この場合、アドレスが異なるときには性能の
改良となるが、一方または両方のデバイスが同じアドレ
スに書込む場合、一方のデバイスが他のデバイスの読取
りデータを盗む(旧データの獲得する)問題を解決しな
い。これはデバイスが、異なるアドレスのデータをアク
セスしており、そこに競合が存在しないからである。
ロセッサ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"が存在することから理解されよ
う。
ザクションは、前のインバウンド・ポスト・メモリ書込
み(PMW)をバイパスしてはならないことに注目され
たい。図4を参照すると、すべての第2のトランザクシ
ョン(適用不可なのでI/OWRを除く)と第1のトラ
ンザクションとしてのPMWとの間の交差部に"0"が示
されている。また、第2のトランザクションとしての後
のインバウンド・ポスト・メモリ書込み(PMW)は、
第1のトランザクションとしての前の読取り要求(RR
Q)及び読取り応答(RRP)をバイパスできる。これ
は図4に示されるようにこれらのトランザクションの交
差部に"1"が示されている。
対インバウンド・トランザクション、及びインバウンド
・トランザクション対アウトバウンド・トランザクショ
ンがテーブルにアドレス指定されていないことに注目さ
れたい。これらの場合では、トランザクションが反対方
向に、及び異なるアドレス・スペースに向かうので、こ
れらのトランザクションは独立していなければならず、
また互いの順序付けを要求しない。いずれのアウトバウ
ンド・トランザクション対インバウンド・トランザクシ
ョン、或いはいずれのインバウンド・トランザクション
対アウトバウンド・トランザクションは順序を必要と
し、これは本発明の有効範囲以外のソフトウェア・プロ
トコルによって扱われる。
ある点に注意されたい。この場合は"適用不可"である。
これはインバウンドI/O WRトランザクションがPo
werPCマイクロプロセッサを利用するシステムの場合を
説明する好適な実施例において定義されていないからで
ある。
れる以外に、PowerPCマイクロプロセッサなどのマイク
ロプロセッサを使用したシステムのPCIホスト・ブリ
ッジに対するトランザクション順位付け要求は、PCI
−PCIブリッジの場合と同じである(PCIローカル
・バス仕様、バージョン2.1参照)。
タは、アクセスが完了するまでアクセスを定期的に試み
なければならない。
Iバス・インタフェース408及び410を提供する能
力を有する本発明の2重PCIホスト・ブリッジ400
と、改良されたピア・ツー・ピア・サポートが述べられ
ている。
電気特性を定義する。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つの論理バスとして扱うこと
ができ、またこれらの両方のバスにピア・ツー・ピア・
サポートが提供できる。
つの2次PCIバス402及び404を生成するPCI
2重ホスト・ブリッジ400が示されている。この2重
バス・チップ内の内部データ・パスは、方向制御ロジッ
ク(制御ロジック406内)によって制御され、PCI
2次インタフェース408及び410、並びに制御モジ
ュール406に内蔵された制御の要となる中央ホストブ
リッジ間のトランザクションをステアし、その結果、2
重チップはアウトバウンド・トランザクション・バッフ
ァ412とインバウンド・トランザクション・バッファ
414の1組のホスト・ブリッジとなり、基本的に"1
つ"のホスト・ブリッジとして機能する。制御ロジック
406は、コンフィグレーションに必要な構成レジスタ
と同様に、必要な制御を、アドレス・デコード、バッフ
ァ制御、トランザクション順序規則、方向制御(一定の
方向にステアする)、アービトレーション、インタフェ
ース制御、ピア・ツー・ピア制御、及びシステム・クロ
ックに提供し、トランザクションがピア・ツー・ピアだ
と考えられるときを判断する。
御論理回路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組の共通なバッファを有する。
ファ412とインバウンド・トランザクション・バッフ
ァ414は、システム一貫性規則(図2参照)のトラン
ザクション順位付け必要条件にPCIバス順位付け必要
条件を加えた適切な組み合わせにもとづいて、制御ロジ
ック406によって管理される。ピア・ツー・ピア・ブ
リッジ機能制御論理回路416を、制御ロジック406
のアービタと協動する単純なパス・スルー機能として保
持することにより、機能はシステム・コヒーレンシ・ド
メインのもとに保たれ、2つの物理PCI2次バス40
2及び404にてピア・ツー・ピア・オペレーションを
サポートできる。
アービトレーション・サイクルを獲得する制御マスタ・
デバイスの位置にもとづき、情報を適切な内部データ・
バス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バス間のこのタイプのピ
ア・ツー・ピア・トランザクションは、アドレスがシス
テムのアドレスでないのでシステムによって無視される
(すなわち、アドレスはホスト・ブリッジのアドレス
を"下回る")。
御408及び410のそれぞれは、独立したSERR#及びP
ERR#信号を有する(PCIバス仕様で定義)。他の制御
信号も同様に、拡張エラー回復能力を提供することがで
き、ホット・プラグ制御の物理バスの休止を可能にす
る。
の事項を開示する。
ロセッサを接続するシステム・バスと、各々が予め設定
された数の周辺装置をサポートする第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)記載の方法。
ック図である。
れる基本ホスト・ブリッジの特徴を説明するホスト・ブ
リッジ(PCIホスト・ブリッジなど)のブロック図で
ある。
での各種のトランザクションにおいて、図2のホスト・
ブリッジのトランザクションを制御する論理テーブルを
示す図である。
での各種のトランザクションにおいて、図2のホスト・
ブリッジのトランザクションを制御する論理テーブルを
示す図である。
及びピア・ツー・ピア・サポートをもたらすステア論理
のセットと他の制御デバイスを有するホスト・ブリッジ
を拡大したブロック図である。
ポートする本発明の他の好適な実施例を示すブロック図
である。
Claims (18)
- 【請求項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次バスと前記シス
テム・バスとでステアするステップを有する、請求項1
4記載の方法。 - 【請求項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記載の方法。
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 true JPH1049482A (ja) | 1998-02-20 |
JP3476174B2 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) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7002537B1 (en) | 1999-09-27 | 2006-02-21 | Seiko Epson Corporation | Method of driving electrooptic device, driving circuit, electrooptic device, and electronic apparatus |
JP2007334772A (ja) * | 2006-06-16 | 2007-12-27 | Canon Inc | データ転送装置及びその制御方法 |
US8200880B2 (en) | 2006-09-20 | 2012-06-12 | Nec Corporation | Shared system of I/O equipment, shared system of information processing apparatus, and method used thereto |
Families Citing this family (23)
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 |
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 |
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)
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 |
-
1996
- 1996-04-10 US US08/627,810 patent/US6175888B1/en not_active Expired - Lifetime
- 1996-06-22 TW TW085107512A patent/TW311191B/zh active
-
1997
- 1997-02-28 KR KR1019970006790A patent/KR100271203B1/ko not_active IP Right Cessation
- 1997-03-20 DE DE69736872T patent/DE69736872T2/de not_active Expired - Lifetime
- 1997-03-20 EP EP97301904A patent/EP0801352B1/en not_active Expired - Lifetime
- 1997-04-02 JP JP08420597A patent/JP3476174B2/ja not_active Expired - Lifetime
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7002537B1 (en) | 1999-09-27 | 2006-02-21 | Seiko Epson Corporation | Method of driving electrooptic device, driving circuit, electrooptic device, and electronic apparatus |
JP2007334772A (ja) * | 2006-06-16 | 2007-12-27 | Canon Inc | データ転送装置及びその制御方法 |
US8200880B2 (en) | 2006-09-20 | 2012-06-12 | Nec Corporation | Shared system of I/O equipment, shared system of information processing apparatus, and method used thereto |
US8417865B2 (en) | 2006-09-20 | 2013-04-09 | Nec Corporation | Shared system of I/O equipment, shared system of information processing apparatus, and method used thereto |
Also Published As
Publication number | Publication date |
---|---|
KR970071311A (ko) | 1997-11-07 |
EP0801352A3 (en) | 1998-10-14 |
EP0801352B1 (en) | 2006-11-02 |
EP0801352A2 (en) | 1997-10-15 |
KR100271203B1 (ko) | 2000-11-01 |
TW311191B (en) | 1997-07-21 |
JP3476174B2 (ja) | 2003-12-10 |
DE69736872T2 (de) | 2007-04-26 |
US6175888B1 (en) | 2001-01-16 |
DE69736872D1 (de) | 2006-12-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3476174B2 (ja) | ピア・ツー・ピア・サポートを有する2重ホスト・ブリッジ | |
JP3579198B2 (ja) | データ処理システム及びデータ処理方法 | |
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 | |
US6557069B1 (en) | Processor-memory bus architecture for supporting multiple processors | |
US6526469B1 (en) | Bus architecture employing varying width uni-directional command bus | |
US5682512A (en) | Use of deferred bus access for address translation in a shared memory clustered computer system | |
US6128711A (en) | Performance optimization and system bus duty cycle reduction by I/O bridge partial cache line writes | |
US6070209A (en) | Delivering transactions between data buses in a computer system | |
US6401174B1 (en) | Multiprocessing computer system employing a cluster communication error reporting mechanism | |
US5953538A (en) | Method and apparatus providing DMA transfers between devices coupled to different host bus bridges | |
KR19980063416A (ko) | 데이터 처리 시스템 내의 다수의 주변 구성요소 내부접속(pci) 호스트 브리지를 통한 pci 피어-투-피어 액세스를지원하는 방법 및 시스템 | |
US7007126B2 (en) | Accessing a primary bus messaging unit from a secondary bus through a PCI bridge | |
KR100419679B1 (ko) | 트랜잭션 요청 라우팅 방법 | |
US6480917B1 (en) | Device arbitration including peer-to-peer access arbitration | |
US6480923B1 (en) | Information routing for transfer buffers | |
US5906659A (en) | Computer system buffers for providing concurrency between CPU accesses, local bus accesses, and memory accesses | |
US6418503B1 (en) | Buffer re-ordering system | |
US6377581B1 (en) | Optimized CPU-memory high bandwidth multibus structure simultaneously supporting design reusable blocks | |
JPH0973429A (ja) | コンピュータシステム及びバス間制御回路 | |
EP0537898B1 (en) | Computer system including video subsystem | |
JP2001075826A (ja) | 並列計算機における高効率セマフォ処理方式 | |
JP2000250712A (ja) | ディスクアレイ制御装置 | |
JPS633350A (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 |