JPH09146878A - データ処理システム及びデータ処理方法 - Google Patents
データ処理システム及びデータ処理方法Info
- Publication number
- JPH09146878A JPH09146878A JP8263160A JP26316096A JPH09146878A JP H09146878 A JPH09146878 A JP H09146878A JP 8263160 A JP8263160 A JP 8263160A JP 26316096 A JP26316096 A JP 26316096A JP H09146878 A JPH09146878 A JP H09146878A
- Authority
- JP
- Japan
- Prior art keywords
- transaction
- data
- bus
- data transfer
- transactions
- 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/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
クションをインバウンドおよびアウトバウンドの両方向
に効率的に扱う。 【解決手段】データ処理システムは、ホスト・プロセッ
サと、多数の周辺装置と、ホスト、周辺装置および他の
ホストもしくは周辺装置をネットワークに接続する一つ
以上のブリッジとを含む。各ブリッジが、一次バス(例
えばシステム・バス)と二次バスとを接続する。ホスト
・ブリッジは、アウトバウンド・データ経路と、インバ
ウンド・データ経路と、制御機構とを含む。アウトバウ
ンド・データ経路は、トランザクションを一次バスから
の受け取り順に記憶する待ち行列バッファと読み出し返
答データおよびアドレス情報を記憶する多数の並列バッ
ファを含む。読み出し要求および書き込み要求が逐次バ
ッファに記憶され、読み出し返答が多数の並列バッファ
に記憶されている。ホスト・ブリッジ中のインバウンド
経路およびアウトバウンド経路はいずれも、両方向への
活動を考慮し、バイパス・トランザクションを許可また
は禁止する状態機械によって制御される。
Description
ムに関し、より詳細には、ホストと周辺装置との間のイ
ンバウンドおよびアウトバウンドの読み出しおよび転記
された書き込みを効率的に扱うための機構を含むデータ
処理システムに関する。
仕様のようなデータ処理システムに使用するための多く
の標準バス・アーキテクチャは、同じバス・プロトコル
を有する少なくとも二つのバスを接続するバス間ブリッ
ジを横切るトランザクションのための順序づけ規則を含
む。そのようなトランザクションの例は、ホスト・プロ
セッサからアウトバンドに周辺装置に至る読み出し要
求、周辺装置からインバウンドにホスト・プロセッサに
至るデータを含む読み出し返答(読み出し要求に対す
る)または書き込みコマンドがバス間ブリッジ中のバッ
ファに転記されて、ホストが他の処理を進めることを許
可する転記された書き込みである。本明細書中、「転記
された書き込み」とは、開始側のバスにおいて書き込み
が完了し、その書き込みが、行き先バスにおける将来の
完了に備えてホスト・ブリッジ中に転記されているもの
をいう。現在のバス間アーキテクチャは、バス間ブリッ
ジを横切る読み出しトランザクションを完了する前に、
アウトバウンド(ホスト・プロセッサから離れる)およ
びインバウンド(ホスト・プロセッサに向かう)の両方
向の書き込みバッファをフラッシュ消去することを要す
るか、特定のバス間順序づけ規則、例えば相互参照した
特許出願AA9−95−012に前記し、PCIバス・
アーキテクチャのPCIローカル・バス仕様バージョン
2.1に述べられたものを定義するかのいずれかであ
る。バッファをフラッシュ消去する必要性は、プロセッ
サの読み出しアクセスを待機させ、ブリッジ・バッファ
中に転記された書き込みがあるならば、そのようなアク
セスが再試行されることにより、使用中のサーバの場合
に性能の問題を生じさせるおそれがある。本明細書中、
「再試行」とは、マスタによってアクセスされている標
的装置がそのアクセスを認識するが、その装置が使用中
であり、トランザクションを停止するということを合図
することに関していう。そして、マスタは後で再びアク
セスを試みる。
するバス間ブリッジを、本明細書中、「PCI−PCI
ブリッジ」と呼ぶ。PCI−PCIブリッジを横切るト
ランザクションのための順序づけ規則が、PCIローカ
ルバス仕様改訂2.1に包含されている。ホスト・プロ
セッサ、システム・バスまたは他のシステム相互接続を
PCIバスに接続するブリッジを、本明細書中、「PC
Iホスト・ブリッジ(PHB)」または単に「ホスト・
ブリッジ」と呼ぶ。
リッジに要求されるものの他に独自の要件があるが、ま
た、ホスト・ブリッジの場合、ホスト・ブリッジ・イン
タフェースの一次(システム)側の大部分のトランザク
ションのソースがI/O装置よりもホスト・プロセッサ
によって開始されるため、PCI−PCIブリッジと同
じ制約のすべてがあるわけではない。
クチャが、性能を改善し、処理能力の遅延を解消するこ
とを試みている。
するマルチポート・ブリッジをもち、データを、読み出
しか書き込みかを問わず、ブリッジ内での一様な扱いに
よって転送することを保証する緩衝部品を含む高性能ブ
リッジのアーキテクチャがある。
改善に関するが、システムの性能を下げる読み出しトラ
ンザクションを完了する前にバッファをフラッシュ消去
しなければならない問題に取り組んではいない。
立バッファ、メモリ・インタフェースおよび中央制御ユ
ニットが接続されている共通のバスにより、メモリ・イ
ンタフェースがソース・ユーザからメッセージを受け、
そのメッセージを選択されたバッファに記憶し、それら
のバッファを連鎖する。制御装置が、それがメモリ・イ
ンタフェースから受けるコマンドに応答して、インバウ
ンド・メッセージ・キューおよびアウトバウンド・メッ
セージ・キューを生成する。
キテクチャに対して類似点をいくつか有するが、転記さ
れた書き込みのトランザクションに続く読み出しトラン
ザクションを完了する前にバッファをフラッシュ消去す
る必要性の問題に対する解決方法を扱ってもいないし示
唆してもいない。
周辺装置に情報を読み出し、ネットワーク環境において
ブリッジングを行うための多数のインバウンドおよびア
ウトバウンドのバッファがある。
間ブリッジを有しているが、書き込みトランザクション
と読み出しトランザクションとの間でバッファをフラッ
シュ消去する必要性を解消するバス間ブリッジにおける
性能を改善するための機構を有していない。
に続く読み出し動作のためにバッファをフラッシュ消去
する必要性を解消する性能の改善を教示してもいないし
示唆してもいない。
バウンドおよびアウトバウンドのトランザクションを処
理する問題を適切に扱っていない。加えて、従来技術
は、異なるプロトコルを有するバスどうし、例えばシス
テム・バスとI/Oバスとをインタフェースさせて、シ
ステム干渉性定義域要件、I/Oバス要件、デッドロッ
ク回避および性能の観点を考慮しながら、トランザクシ
ョン順序づけ要件を合わせなければならないホスト・ブ
リッジ独自の要件に対処していない。
ンザクションを、データを要求/提供している装置に対
してタグ付けする能力を有するため、システム・バスを
I/Oバスと相互接続する場合、特定の問題が生じる。
しかし、I/Oバス(特にPCIバス)は、装置に対し
てトランザクションをタグ付けする能力を有さず、アド
レスに基づいてデータにアクセスするだけであり、これ
がデータ・コヒーレンシーに関して問題を引き起こしか
ねない。すなわち、最初の装置が特定のアドレスからデ
ータを要求すると、ブリッジがこの最初の装置に対して
再試行を実施し、それに対し、後でデータを取りに戻っ
てくるように伝えることができる。そして、ブリッジ
は、特定のアドレスからデータを取得し、そのデータを
ブリッジ中のバッファなどに記憶して、第一の装置がそ
のデータを再び要求してくるのを待つ。第一の装置がデ
ータを再び要求してくる前に、第二の装置が他のデータ
をこの特定のアドレスに書き込み、それを読み出そうと
するかもしれない。第一の装置によって要求されるデー
タは今やブリッジ中のバッファの中にあり、通常のバス
間ブリッジは、特定の装置に関してデータをタグ付けす
る能力を有さず、ただ、特定のアドレスからデータが要
求されたことを知るだけであるため、そのデータは第二
の装置に提供される。したがって、異なる装置によって
同じアドレスからデータが要求されるとき、第一の装置
のためのデータが第二の装置に提供されることになるた
め、問題が起きるということが理解されよう。このよう
に、第二の装置が第一の装置からデータを「奪った」こ
とになり、それが誤った結果を招くおそれがある。装置
が、別の装置に向けられた違うデータを取得してしまう
ことを防ぎ、かつ、トランザクションの順序外処理を可
能にするブリッジが必要であることが理解されよう。
ッファ中で保留状態にある同じときに特定のI/O周辺
装置がシステム・メモリに対して直接メモリ・アクセス
(DMA)を試みるとき、もう一つの問題が生じる。こ
れは、記憶がDMA動作の完了を待ち、DMAトランザ
クションが記憶の終了を待つところのデッドロック状態
を引き起こす。より具体的には、多くのタイプのI/O
バスおよびそれらの対応する周辺装置は「再試行」能力
をもたない。したがって、ある周辺装置がバスにアクセ
スするとき、その装置は、そのトランザクションが完了
するまでバスの制御を維持する。例えば、周辺装置は、
システム・バスに接続されたシステム・メモリからデー
タを要求するかもしれない。この場合、読み出し要求が
ブリッジのトランザクション待ち行列中に配される。続
いて、メモリからの要求されたデータを含む読み出し返
答動作がブリッジに提供される。しかし、その間に、シ
ステム・バスに接続されたプロセッサが記憶動作を実施
して、先にDAMデータをシステム・メモリから要求し
ていた周辺装置にデータを配置してしまうかもしれな
い。この記憶動作がブリッジ待ち行列中のDMAデータ
返答トランザクションよりも先に起こるならば、デッド
ロック状態が起こる。すなわち、周辺装置が、DMAデ
ータを受けるまで、他の動作を進めることができず、記
憶トランザクションがブリッジ待ち行列中のDMAデー
タ返答トランザクションよりも先に起こるため、要求を
出した周辺装置に向けられる記憶トランザクションは完
了することができない。したがって、このデッドロック
状態を解消し、データ処理システム中で改善されたデー
タ転送動作を可能にするブリッジが必要であることが理
解されよう。
目的は、システムの高い性能水準を維持しながらも、読
み出し要求、読み出し返答、I/O書き込みおよび転記
されたメモリ書き込みを効率的な方法で制御し、適切な
ホスト・ブリッジ・トランザクション順序づけを提供
し、デッドロックを回避するための制御機構を有して、
ホスト・ブリッジ中で多数の混在するトランザクション
をインバウンドおよびアウトバウンドの両方向に効率的
に扱うことにある。
システムは、ホスト・プロセッサと、多数の周辺装置
と、一つ以上のホスト・プロセッサ、周辺装置および相
互接続された周辺装置をもつ他のホスト・プロセッサを
ネットワークにおけるように接続することができる一つ
以上のブリッジとを含む。ホスト・ブリッジが、一次バ
ス(例えばシステム・バス)と二次バス(例えばPCI
バスのようなI/Oバス)とを接続する。ここで、理解
しやすいよう、一次バスを、アウトバウンド・トランザ
クションのソースおよびインバウンド・トランザクショ
ンの行き先とみなし、二次バスを、アウトバンド・トラ
ンザクションの行き先およびインバウンド・トランザク
ションのソースとみなす。具現態様に依存して、一次バ
ス上の種々のトランザクションが二次バス上の他のトラ
ンザクションと同時に起こることもあるし起こらないこ
ともある。各ホスト・ブリッジは、アウトバウンド・デ
ータ経路と、インバウンド・データ経路と、制御機構と
を含む。アウトバウンド・データ経路は、トランザクシ
ョンを一次バスからの受け取り順(または他の順序)に
記憶するための待ち行列バッファであって、待ち行列バ
ッファ中の要求が、読み出し要求と書き込み要求との間
で混在していてもよいところの待ち行列バッファを含
み、また、読み出し返答データおよびアドレス情報を記
憶するための多数の他のバッファを含む。
鏡像的に対照するものであり、読み出し要求および書き
込み要求がトランザクション・バッファに記憶され、読
み出し返答が多数の他のバッファに記憶される。ホスト
・ブリッジ中のインバウンド経路およびアウトバウンド
経路はいずれも、両方向への活動を考慮し、バイパス・
トランザクションを許可または禁止する状態機械によっ
て制御される。本明細書中、「バイパス」とは、あるト
ランザクションがその後続のトランザクションよりも先
に待ち行列に加わったとしても、先行のトランザクショ
ンの前に後続のトランザクションを処理することが許可
されることをいう。
トバウンドのトランザクション要求を、所定の状態機械
の制御の下で、特定のタイプのトランザクションおよび
定義された順序づけ規則に基づき、順次または非順次の
いずれにも扱うことができることにある。
ラッシュ消去することなく読み出しトランザクションが
書き込みトランザクションの後に続くことを許可する機
構により、ホスト・ブリッジ中のインバウンドおよびア
ウトバウンドのトランザクションを効率的に扱うことが
できることにある。
ザクションがホスト・ブリッジを横切るとき、それらの
トランザクションに関して適切なデータ整合性が維持さ
れることにある。
求は、開始側のバス上で完了する前に行き先バス上で完
了して(データが取り出されて)いなければならない。
例えば、ホスト・プロセッサは、I/Oバス上の周辺装
置からデータを要求するかもしれない。そのデータは、
トランザクションが完了したとみなされる前に、行き先
バス上の周辺装置から取り出され、ホスト・ブリッジを
介して開始側のバス上のホスト・プロセッサに提供され
なければならない。本発明を特徴を用いると、転記され
た書き込みをフラッシュ消去することなく、トランザク
ション、例えば読み出しアクセスの処理を進めることが
できる。
は、標的装置がアクセスを認識し、それが使用中であ
り、再試行制御信号によってアクセスを終了することを
合図するものをいう。マスタ(要求側の装置)は後で再
びアクセスを試みる。そして、本発明のホスト・ブリッ
ジが後続の処理に備えて読み出し要求を転記して、マス
タが後で再びアクセスを試みるとき、読み出されたデー
タを利用可能にできるようにする。ホスト・ブリッジが
要求されたデータを取得する前にマスタが再び試行する
ならば、ブリッジは再び再試行を合図するが、アクセス
要求の第二のコピーを緩衝記憶しない。ホスト・ブリッ
ジの場合、プロセッサからの読み出し要求がタグ付けさ
れてもよく、プロセッサが再試行されることを要しな
い。
の改善および具現化しやすさのため、ロード動作(ホス
ト・プロセッサに対する読み出し動作)経路および記憶
(ホスト・プロセッサに対する書き込み動作)が、周辺
装置とシステム・メモリとの間の直接メモリ・アクセス
(DMA)経路から独立していることにある。ロードお
よび記憶動作は、ロードがホスト・プロセッサへのデー
タのロードを生じさせ、記憶がホスト・プロセッサから
周辺装置へのデータの記憶を生じさせるというトランザ
クションの流れを考慮していることに注目すべきであ
る。
ッジの周辺メモリ空間または周辺I/O空間(I/O出
力バッファ)のいずれかへのロード要求が、同じホスト
・ブリッジの周辺メモリ空間(メモリ出力バッファ)ま
たは周辺I/O空間のいずれかへの先行のロードの前に
は、両方のロードが同じアドレスに向かう場合、絶対に
I/Oバスに通されてはならないということにある。ア
ドレスが異なるとき、これは性能の改善を可能にする
(通過を許す)が、一方または両方のプロセッサがその
同じアドレスに書き込むとき、一方のプロセッサがもう
一方のプロセッサのデータを奪う(すなわち無効データ
を得る)問題を回避する。
を回避するため、DMA読み出し返答データが、ホスト
・ブリッジ中に緩衝記憶された先行のロードおよび記憶
トランザクションをバイパスすることを許可されること
にある。これは、バス間ブリッジの場合とは異なる要件
であり、性能を改善するためにホスト・ブリッジとPC
Iバスとの間の適切な相互作用のために求められる。
ッジの周辺メモリ空間または周辺I/O空間のいずれか
へのロードまたは記憶が、同じホスト・ブリッジの周辺
メモリ空間または周辺I/O空間のいずれかへの先行の
記憶の前には、絶対にI/Oバスに通されてはならない
ということにある。すなわち、一つのホスト・ブリッジ
によって生成された、I/Oバスに対する多数の記憶
は、順序どおり維持されなければならず、ロードが記憶
をバイパスしてはならない。
み出しトランザクションを転記するホスト・ブリッジ、
一般にはバス間ブリッジに応用することができる。
説明をよりよく理解することができるよう、本発明の特
徴および技術的利点を概説したものである。以下、本発
明の請求の範囲の主題を構成する本発明のさらなる特徴
および利点を記載する。
明を具現化するデータ処理システムを説明する。
マルチプロセッサシステムによって使用することができ
るシステム・バス(例えばIBM社から販売されている
6XXバス)に接続された少なくとも一つのホスト・プ
ロセッサ12を含む。また、図1に点線で示す他のプロ
セッサ12がバス14に接続されていてもよい。
バス14と第二のバス16とを接続するホスト・ブリッ
ジ20aが接続されている。また、システム・メモリ1
5がシステム・バス14に接続されている。他の装置3
0、40が同様にバス16に接続されていてもよい。非
限定的な一例として、装置40は、PCIバス(例えば
バス16)を別のI/Oバス17、例えばIBM社から
市販されているMicrochannelバス(MicrochannelはIB
M社の商標である)に接続するための別のブリッジ・チ
ップであってもよい。また、Microchannel(MC)周辺
装置19が図示のとおりMCバス17に接続されてい
る。したがって、MCデバイスは、PCI−MCブリッ
ジ40およびホスト・ブリッジ20aを介してホスト・
システム上の部品、例えばメモリ15、プロセッサ12
などと通信することができる。本明細書にはMCを例と
して使用するが、本発明の範囲は、他のタイプのブリッ
ジ・チップ40および周辺装置19をI/Oバス、例え
ばISA、ESA、VMEなどとともに使用することを
も考慮していることを記すべきである。さらには、別の
ブリッジ20がバス16および第三のバス18に接続さ
れている。同様に、バス18には、多数のステーション
または周辺装置22a、22b、22cおよび22dが
接続されていてもよい。好ましい実施態様においては、
ブリッジ20は、同一のプロトコルを有するバスどう
し、すなわち、いずれもPCIバスであるバス16と1
8とを接続するバス間ブリッジである。ブリッジ20お
よび20a以外、図1に関して上記に参照した各要素は
すべて当該技術において周知であり、本明細書でさらに
詳細に説明する必要はない。
一例として、バス16および18はそれぞれ工業規格と
なったPCIバスであってもよい。
ッジ20aをさらに詳細に説明する。本発明の好ましい
実施態様の説明に使用する際、「アウトバウンド」と
は、プロセッサ12から離れるトランザクションに関し
ていい、「インバウンド」とは、プロセッサ12に向か
うトランザクションに関していう。
なわちアウトバウンド経路202およびインバウンド経
路204を有している。すべてのトランザクションは、
インバウンドおよびアウトバウンドとも、状態機械20
6によって制御される。
ンザクション・ルータ208によって受け取られると、
トランザクション・フォーマットが審査されて、トラン
ザクションが、読み出し要求(データの要求)、読み出
し返答(データを提供する読み出し要求に対する応答)
または書き込み要求(データを特定の装置に配置する要
求)のいずれであるかが判定される。
のフォーマットを有している。読み出し返答は、アドレ
スと、制御情報と、すでに要求され、今や要求元に送ら
れようとしているデータとを含むフォーマットを有して
いる。
れたメモリ書き込み(PMW)またはI/O書き込み
(I/O WR)は、アドレスと、制御情報と、選択さ
れたアドレスに書き込まれるデータとを含む。
08中で活動中であるトランザクションが読み出し要求
であると仮定すると、そのトランザクションは、多数の
直列バッファ210、212、214の一つに転送され
る。直列バッファ・エントリ210、212、214
は、ブリッジ20a中に保留中であると予想されるトラ
ンザクションのスタックを扱うのに十分な長さであれ
ば、いかなる適当な数のバッファ・エントリであっても
よい。また、トランザクションが書き込みトランザクシ
ョン、例えばI/O書き込みまたは転記されたメモリ書
き込みであるならば、そのトランザクションは、直列バ
ッファ210、212、214の一つに転送される。
中であるトランザクションが読み出し返答(RRP)で
あるならば、その読み出し返答トランザクションは、並
列バッファ・エントリ216、218の一つに伝送され
る。
回路220によって選択され、二次バスに通されるトラ
ンザクションは、状態機械206によって制御される。
これが、例えば、直列バッファ210、212もしくは
214中に記憶されたトランザクションまたは並列バッ
ファ216、218中に記憶された読み出し返答トラン
ザクションに対する順序外アクセスを可能にする。
順序に接続されていることを除き、アウトバウンド経路
202と同じ要素を含む。すなわち、トランザクション
・ルータ222が二次バス16に接続されている(図1
を参照)。アウトバウンド・トランザクション・ルータ
208を参照しながら上記に説明したように、インバウ
ンド・トランザクション・ルータ222は、状態機械2
06によって制御される。各トランザクションは、読み
出し要求(RRQ)および書き込みトランザクション
(I/O書き込みおよびPMW)の場合には、直列イン
バウンド・バッファ224、226および228の一つ
に経路指定される。読み出し返答トランザクションは、
並列バッファ232、234に伝送される。インバウン
ド選択回路230が、状態機械206の制御の下で、直
列バッファ224、226もしくは228または並列バ
ッファ232もしくは234のいずれかからのトランザ
クションの伝送を制御する。
態機械論理表によって定義されるプロトコルの下で動作
して、アウトバウンドまたはインバウンドのいずれかま
たは両方に流れる多数のトランザクションを制御する。
機械206を制御する論理表を説明する。図3の論理表
の頂部にかけては、アウトバウンド・トランザクション
を表す、便宜上「第一のトランザクション」と呼ぶトラ
ンザクションが並んでいる。図3の論理表の左側に沿っ
ては、便宜上「第二のトランザクション」と呼ぶアウト
バウンド・トランザクションが並んでいる。同様に、図
4の論理表の頂部にかけては、インバウンド・トランザ
クションを表す、便宜上「第一のトランザクション」と
呼ぶトランザクションが並んでいる。図4の論理表の左
側に沿っては、便宜上「第二のトランザクション」と呼
ぶインバウンド・トランザクションが並んでいる。
項目は、後続の(第二の)トランザクションをして先行
の(第一の)トランザクションをバイパスさせてはなら
ないことを意味する。「1」項目は、後続のトランザク
ションをブリッジに入らせて、必要ならば、トランザク
ションを進行させるため、先行のトランザクションをバ
イパスさせなければならず、さもなければ、デッドロッ
クが起こりうることを意味する。「0/1」項目は、後
続のトランザクションをして先行のトランザクションを
バイパスさせてもよいが、そうする必要もないことを意
味する(順序づけ要件はない。つまり、どちらでもよ
く、性能および具現化コストの考慮に基づき、具現態様
特定的であることができる)。すなわち、特定の状況ま
たは具現態様に依存して、「0/1」は、ある場合には
バイパスを許可してもよく、他の場合にはバイパスを許
可してはならない。
出し返答データには、ホスト・ブリッジ中に緩衝記憶さ
れた先行のロードおよび記憶トランザクションをバイパ
スすることを許可しなければならない。これは、バス間
(例えばPCI−PCI)ブリッジの場合とは異なる要
件であり、ホスト・ブリッジとPCIバスとの間の適切
な相互作用のために必要である。これはまた、性能を改
善することができる。
ウトバウンドの第一のトランザクションおよび読み出し
返答(RRP)であるアウトバウンドの第二のトランザ
クションがあるならば、図3の論理表の縦列と横列との
交差点が1を示す。1は、論理表のどの位置にあろう
と、後続のトランザクションをして先行のトランザクシ
ョンをバイパスさせなければならないことを示す。した
がって、DMAデータをもつ読み出し返答(RRP)を
して読み出し要求をバイパスさせなければならない。ま
た、RRPをして書き込み動作、例えばPMWまたはI
/O書き込みをもバイパスさせなければならないことが
見てとれる。DMAデータ(RRP)動作をしてプロセ
ッサのロードおよび記憶動作をバイパスさせることによ
り、デッドロック状態を引き起こすおそれのある前述の
問題が解消される。例として、MC装置19がDMA要
求によってシステム・メモリ15からデータを要求して
いると仮定する。すると、RRQトランザクションが直
列バッファ224、226、228の一つに配置される
(これがインバウンド動作であるため)。この場合、R
RQはバッファ228中にあると仮定される。DMAデ
ータがシステム・メモリ15から戻される前に、プロセ
ッサ12がMC装置19に対して書き込み動作を開始す
る。したがって、例えば、I/O書き込みトランザクシ
ョンが直列バッファ210、212、214の一つに配
置される(これがアウトバウンド・トランザクションで
あるため)。この場合、I/O書き込みがバッファ21
4中に配置されると仮定する。続いて、システム・メモ
リ15が、MC装置19からのRRQ(要求されたDM
Aデータを含む)に応答して、RRPを並列バッファ2
16または218の一方、例えばバッファ216に配置
する。先に記したように、ある種のI/O装置、例えば
MC装置19のプロトコルは、各トランザクションが完
了するまで、バス17の制御を維持することをそれらに
要求する。したがって、MC装置19が並列バッファ2
16中のDMAデータに仕えているためにバッファ21
4中のI/O書き込み動作が完了できず、潜在的なデッ
ドロック状態が存在する。本発明は、バッファ216中
のRRPトランザクション(DMAデータを含む)をし
てバッファ214中のI/O書き込みトランザクション
をバイパスさせて、MC装置19によるDMA要求を完
了させることにより、このデッドロック状態の発生を防
ぐ。当然、本発明は、他のデッドロック状態、例えばP
MWまたはRRQトランザクションが直列バッファ21
4中にあり、バッファ216中のRRPと競合する状態
の発生をも防止する。
あろうと、バイパス・トランザクションの禁止を示す。
したがって、第一のトランザクションとしてのアウトバ
ウンド書き込み動作であって、第二のトランザクション
としてのアウトバウンド読み出し要求が後続するもの
が、その第二のトランザクションによってバイパスされ
てはならない。本明細書に使用する「バイパス」とは、
第一の要求の完了の前に第二の要求を行き先バス上で完
了させることをいう。しかし、第一のトランザクション
が例えばアウトバウンド書き込みトランザクションであ
るならば、アウトバウンド読み出し返答トランザクショ
ンのバイパスを許可しなければならない。
ンザクションの禁止を示す0が存在するすべての位置が
書き込みトランザクションに関与することに注目すべき
である。例えば、第二のトランザクションとしてのアウ
トバウンド読み出し要求は、第一のトランザクションと
してのアウトバウンド書き込みをバイパスすることはで
きない。図4から、インバウンド・トランザクションに
関しても同じ原則が当てはまることが見てとれる。した
がって、図4に示すように、インバウンド読み出し要求
(RRQ)、読み出し返答(RRP)または書き込みト
ランザクション(PMW)が、第一のトランザクション
としての先行のインバウンド書き込み(PMW)をバイ
パスしてはならない。状態機械206の動作を制御する
図3および4の論理表が、トランザクション・ルータ2
08および222ならびにトランザクション選択回路2
20および230それぞれにおけるトランザクションの
ゲート動作を制御する。当業者であれば、いかにして図
3および4の表に表す論理を制御論理回路中に具現化
し、状態機械206内に含めることができるかを理解す
るであろう。
/OバスとしてのPCIバスを、独自の特徴を有するマ
イクロプロセッサ、例えばIBM社から市販されている
PowerPC604マイクロプロセッサ(PowerPC およびPowerP
C604はIBM社の商標である)を使用するコンピュータ
・システム中のシステム・バスと接続する好ましい実施
態様の場合には、取り組まなければならない問題点がい
くつかある。一般に、性能を改善し、具現化を容易にす
るため、プロセッサ12に対するロード(RRQ)およ
び記憶(PMW、I/O WR)経路は、周辺装置に対
するDMA経路(例えばRRP)から独立しているべき
である。また、図3および4の表における「0/1」項
目に関して、これらのトランザクションは、バイパスを
行ってもよいが、バイパスを行う必要もない。バイパス
を行うか行わないかは、公平さの規則、性能の考慮また
は具現しやすさに基づいて決めることができる(以下の
段落に記載する場合は除く)。
ブリッジの周辺メモリ空間または周辺I/O空間のいず
れかに対するロード(例えばRRQトランザクション)
は、同じホスト・ブリッジの周辺メモリ空間または周辺
I/O空間のいずれかに対する先行のロードの前には、
それらのロード両方が完全に同じアドレスに行く場合、
絶対にI/Oバスに通してはならない。図3から、第一
のトランザクションとしてのRRQ(ロード)動作と、
第二のトランザクションとしてのRRQ(ロード)動作
との交差点には「0/1」が存在することが見てとれ
る。この場合、すなわち標的のアドレスが同じではない
場合、バイパスが許可される。しかし、状態機械206
に含まれるコンパレータが、両アドレスが同じであると
判定するならば、第二のRRQトランザクションが第一
のRRQトランザクションをバイパスすることはできな
い。したがって、「0/1」(この場合)は、さらなる
要因に依存して、例えばアドレス比較の結果に依存し
て、第二のトランザクションによる第一のトランザクシ
ョンのバイパスが起こりうることを示す。これが、両ア
ドレスが異なる場合には、性能の改善(追い越しを許可
すること)を可能にするが、一方または両方の装置が同
じアドレスでデータにアクセスしている場合には、一方
の装置がもう一方の装置のデータを奪う(無効データを
得る)問題を回避する。これらのトランザクションが異
なるアドレスを有するならば、これらはバイパスするこ
とができる。これが、両アドレスが異なる場合には、性
能の改善を可能にするが、一方または両方の装置が同じ
アドレスに書き込む場合には、両方の装置が異なるアド
レスでデータにアクセスしており、競合が存在しないた
め、一方の装置がもう一方の装置の読み出しデータを奪
う(無効データを得る)問題を回避する。
械206がコンパレータを含んで、要求側の装置(例え
ばプロセッサ12)によって標的にされるアドレスが同
一であるかどうかを判定することができるかを理解する
であろう。他に考慮すべきことには、PHBの周辺メモ
リ空間または周辺I/O空間は、その同じPHBの周辺
メモリ空間または周辺I/O空間のいずれかに対する先
行の記憶の前には、絶対にI/Oバスに通してはならな
い場合がある。すなわち、一つのPHBによって生成さ
れるI/Oバスに対する多数の記憶は順序どおりに維持
されなければならず、ロードが記憶を追い越してはなら
ない。例えば、図3から、第二のトランザクションとし
てのロード(RRQ)と記憶(PMWまたはI/O W
R)との交差点には「0」が存在するため、第二のトラ
ンザクションが記憶を追い越すことができないことが見
てとれる。さらに、図3の第一トランザクションと第二
のトランザクションとの交差点の「0」から見てとれる
ように、第二のトランザクションとしての記憶(例えば
PMW)が第一のトランザクションとしての別の記憶
(PMWまたはI/O WR)を追い越すことはできな
い。
ションをして先行のインバウンドの転記されたメモリ書
き込み(PMW)をバイパスさせてはならないことに注
意すること。図4は、すべての第二のトランザクション
(I/O WRは当てはまらないため、これは除く)
と、第一のトランザクションとしてのPMWとの交差点
に「0」を示す。また、図4の第一のトランザクション
と第二のトランザクションとの交差点の「1」によって
示されるように、第二のトランザクションとしての後続
のインバウンド転記されたメモリ書き込みをして第一の
トランザクションとしての先行の読み出し要求(RR
Q)および読み出し返答(RRP)をバイパスさせなけ
ればならない。
対インバウンド・トランザクションおよびインバウンド
・トランザクション対アウトバウンド・トランザクショ
ンを取り扱う表がないことに注目すること。これらの場
合、トランザクションは反対方向に移動し、異なるアド
レス空間に向かっているため、これらのトランザクショ
ンは独立しており、互いに対して順序づけ要件をもたな
い。アウトバウンド・トランザクション対インバウンド
・トランザクションまたはインバウンド・トランザクシ
ョン対アウトバウンド・トランザクションが順序づけを
要する場合には、それは、本発明の範囲を超えたソフト
ウェア・プロトコルによって扱われる。
ことが注目されよう。これらのケースでは、PowerPCマ
イクロプロセッサを用いるシステムの場合を取り扱う本
発明の好ましい実施態様ではインバウンドI/O WR
トランザクションが定義されていないため、「当てはま
らない」のである。
用例として含めるIBM社の特許出願第08/473,
603号に挙げられた考察事項の他では、マイクロプロ
セッサ、例えばPowerPCマイクロプロセッサを用いるシ
ステムにおけるPCIホスト・ブリッジに関するトラン
ザクション順序づけ要件は、PCI−PCIブリッジの
場合と同じである(PCIローカル・バス仕様バージョ
ン2.1を参照)。
スタは、アクセスが完了するまで再び定期的にアクセス
を試行しなければならない。
の事項を開示する。 (1)少なくとも一つのプロセッサをメモリと接続する
システム・バスと、前記システム・バスとは異なるプロ
トコルを有するI/Oバスと、前記I/Oバスに接続さ
れた、前記メモリおよび前記少なくとも一つのプロセッ
サとでデータを共用する少なくとも一つの周辺装置と、
前記I/Oバスを前記システム・バスに相互接続し、前
記少なくとも一つの周辺装置と前記メモリとの間の第一
のデータ転送を、前記少なくとも一つのプロセッサと前
記少なくとも一つの周辺装置との間の第二のデータ転送
が完了する前に完了させることにより、トランザクショ
ンの順序を制御してデッドロック状態を防ぐブリッジ
と、を含むことを特徴とするデータ処理システム。 (2)前記第一のデータ転送が完了するまで、前記少な
くとも一つの周辺装置が処理活動を一時停止する上記
(1)記載のシステム。 (3)前記ブリッジが、前記少なくとも一つの周辺装置
から前記メモリへの、前記第一のデータ転送に相当する
要求を記憶する第一のバッファと、前記少なくとも一つ
のプロセッサから前記少なくとも一つの周辺装置への、
前記第二のデータ転送に相当する要求を記憶する第二の
バッファと、前記第二のバッファに対して並列である、
前記第一のデータ転送に相当するデータを含む前記メモ
リからの返答を記憶する第三のバッファと、前記メモリ
からの前記返答をして前記少なくとも一つのプロセッサ
からの前記要求をバイパスさせて、前記少なくとも一つ
の周辺装置が処理活動を継続することができるようにす
る手段とを含む上記(2)記載のシステム。 (4)前記第一のデータ転送が、前記少なくとも一つの
周辺装置による前記メモリの直接メモリ・アクセスであ
る上記(3)記載のシステム。 (5)前記第二のデータ転送が、前記少なくとも一つの
プロセッサによるロードまたは記憶動作である上記
(4)記載のシステム。 (6)前記ブリッジが、トランザクションを前記I/O
バスから前記システム・バスに伝送する第一のデータ経
路を含む上記(1)記載のシステム。 (7)前記第一のデータ経路および前記第二のデータ経
路が、前記ブリッジへの入力に接続された、前記第一の
データ経路中でバッファへのトランザクションをゲート
する第一のトランザクション・ルータ回路と、前記第一
のトランザクション・ルータ回路に接続された、読み出
し返答トランザクションを記憶する少なくとも一つの並
列バッファと、前記第一のトランザクション・ルータ回
路に接続された、読み出し要求トランザクションおよび
書き込みトランザクションを記憶する少なくとも一つの
直列バッファと、前記並列バッファおよび直列バッファ
の出力に接続された、状態機械の制御の下で前記第一の
データ経路から出力される一つ以上のトランザクション
を選択する第一のトランザクション選択回路とを含む上
記(6)記載のシステム。 (8)前記ブリッジが、トランザクションを前記システ
ム・バスから前記I/Oバスに伝送する第二のデータ経
路をさらに含む上記(7)記載のシステム。 (9)前記第二のデータ経路が、前記ブリッジへの入力
に接続された、前記第一のデータ経路中でバッファへの
トランザクションをゲートする第二のトランザクション
・ルータ回路と、前記第二のトランザクション・ルータ
回路に接続された、読み出し返答トランザクションを記
憶する少なくとも一つの並列バッファと、前記第二のト
ランザクション・ルータ回路に接続された、読み出し要
求トランザクションおよび書き込みトランザクションを
記憶する少なくとも一つの直列バッファと、前記並列バ
ッファおよび直列バッファの出力に接続された、前記状
態機械の制御の下で前記第二のデータ経路から出力され
る一つ以上のトランザクションを選択する第二のトラン
ザクション選択回路とを含む上記(8)記載のシステ
ム。 (10)前記状態機械が、所定の論理構造にしたがっ
て、前記第一および第二のデータ経路中のトランザクシ
ョンのゲート動作を制御する上記(9)記載のシステ
ム。 (11)少なくとも一つのプロセッサをメモリと接続す
るシステム・バスと、前記システム・バスとは異なるプ
ロトコルを有するI/Oバスと、前記I/Oバスに接続
された、それぞれが前記メモリおよび前記少なくとも一
つのプロセッサとの間でデータを転送することができる
複数の周辺装置と、前記I/Oバスを前記システム・バ
スに相互接続し、前記I/Oバス上の前記複数の周辺装
置と、前記システム・バス上の前記少なくとも一つのプ
ロセッサおよびメモリとの間の複数のデータ転送トラン
ザクションを処理するブリッジとを含み、第一のデータ
転送トランザクションが、後続のデータ転送トランザク
ションとは異なるアドレスでデータにアクセスすると
き、前記複数のデータ転送トランザクションが非順序的
に処理されることを特徴とするデータ処理システム。 (12)前記ブリッジが、前記複数のデータ転送トラン
ザクションのうち、どの特定のデータ転送トランザクシ
ョンを非順序的に処理するかを決定する状態機械を含む
上記(11)記載のシステム。 (13)前記状態機械が、前記第一のデータ転送トラン
ザクションによってアクセスされるデータを含む第一の
アドレスが、前記後続のデータ転送トランザクションに
よってアクセスされるデータを含む第二のアドレスと一
致するかどうかを判定するコンパレータを含む上記(1
2)記載のシステム。 (14)前記状態機械が、前記第一のアドレスと前記第
二のアドレスとが一致したとき、前記後続のトランザク
ションが前記第一のデータ転送トランザクションをバイ
パスすることを防ぐため、前記後続のデータ転送トラン
ザクションをゲートする手段をさらに含む上記(13)
記載のシステム。 (15)少なくとも一つのプロセッサとメモリとをシス
テム・バスによって接続するステップと、前記システム
・バスとは異なるプロトコルを有するI/Oバスを設け
るステップと、前記メモリおよび前記少なくとも一つの
プロセッサとでデータを共用する複数の周辺装置を前記
I/Oバスによって接続するステップと、前記I/Oバ
スを前記システム・バスに相互接続し、前記複数の周辺
装置の一つと前記メモリとの間の第一のデータ転送を、
前記少なくとも一つのプロセッサと前記複数の周辺装置
の前記一つとの間の第二のデータ転送が完了する前に完
了させることにより、トランザクションの順序を制御し
てデッドロック状態を防ぐステップと、を含むことを特
徴とするデータ処理システムにおけるデータ処理方法。 (16)前記複数の周辺装置の前記一つを、前記第一の
データ転送が完了するまでデータ処理活動が一時停止さ
れる状態に維持するステップをさらに含む上記(15)
記載の方法。 (17)前記相互接続ステップが、前記複数の周辺装置
の前記一つから前記メモリへの、前記第一のデータ転送
に相当する要求を第一のバッファに記憶するステップ
と、前記少なくとも一つのプロセッサから前記複数の周
辺装置の前記一つへの、前記第二のデータ転送に相当す
る要求を第二のバッファに記憶するステップと、前記第
一のデータ転送に相当するデータを含む前記メモリから
の返答を、前記第二のバッファに対して並列である第三
のバッファに記憶するステップと、前記メモリからの前
記返答をして前記少なくとも一つのプロセッサからの前
記要求をバイパスさせて、前記複数の周辺装置の前記一
つが処理活動を再開することができるようにするステッ
プとを含む上記(16)記載の方法。 (18)前記第一のデータ転送が、前記複数の周辺装置
の前記一つによる前記メモリの直接メモリ・アクセスで
あり、前記第二のデータ転送が、前記少なくとも一つの
プロセッサによるロードまたは記憶動作である上記(1
7)記載の方法。
ック図である。
ト・ブリッジ(例えばPCIホスト・ブリッジ)のブロ
ック図である。
ョンの制御を、アウトバウンド経路のトランザクション
に関して示す論理表である。
ョンの制御を、インバウンド経路のトランザクションに
関して示す論理表である。
ジ
Claims (18)
- 【請求項1】少なくとも一つのプロセッサをメモリと接
続するシステム・バスと、 前記システム・バスとは異なるプロトコルを有するI/
Oバスと、 前記I/Oバスに接続された、前記メモリおよび前記少
なくとも一つのプロセッサとでデータを共用する少なく
とも一つの周辺装置と、 前記I/Oバスを前記システム・バスに相互接続し、前
記少なくとも一つの周辺装置と前記メモリとの間の第一
のデータ転送を、前記少なくとも一つのプロセッサと前
記少なくとも一つの周辺装置との間の第二のデータ転送
が完了する前に完了させることにより、トランザクショ
ンの順序を制御してデッドロック状態を防ぐブリッジ
と、を含むことを特徴とするデータ処理システム。 - 【請求項2】前記第一のデータ転送が完了するまで、前
記少なくとも一つの周辺装置が処理活動を一時停止する
請求項1記載のシステム。 - 【請求項3】前記ブリッジが、 前記少なくとも一つの周辺装置から前記メモリへの、前
記第一のデータ転送に相当する要求を記憶する第一のバ
ッファと、 前記少なくとも一つのプロセッサから前記少なくとも一
つの周辺装置への、前記第二のデータ転送に相当する要
求を記憶する第二のバッファと、 前記第二のバッファに対して並列である、前記第一のデ
ータ転送に相当するデータを含む前記メモリからの返答
を記憶する第三のバッファと、 前記メモリからの前記返答をして前記少なくとも一つの
プロセッサからの前記要求をバイパスさせて、前記少な
くとも一つの周辺装置が処理活動を継続することができ
るようにする手段とを含む請求項2記載のシステム。 - 【請求項4】前記第一のデータ転送が、前記少なくとも
一つの周辺装置による前記メモリの直接メモリ・アクセ
スである請求項3記載のシステム。 - 【請求項5】前記第二のデータ転送が、前記少なくとも
一つのプロセッサによるロードまたは記憶動作である請
求項4記載のシステム。 - 【請求項6】前記ブリッジが、トランザクションを前記
I/Oバスから前記システム・バスに伝送する第一のデ
ータ経路を含む請求項1記載のシステム。 - 【請求項7】前記第一のデータ経路および前記第二のデ
ータ経路が、 前記ブリッジへの入力に接続された、前記第一のデータ
経路中でバッファへのトランザクションをゲートする第
一のトランザクション・ルータ回路と、 前記第一のトランザクション・ルータ回路に接続され
た、読み出し返答トランザクションを記憶する少なくと
も一つの並列バッファと、 前記第一のトランザクション・ルータ回路に接続され
た、読み出し要求トランザクションおよび書き込みトラ
ンザクションを記憶する少なくとも一つの直列バッファ
と、 前記並列バッファおよび直列バッファの出力に接続され
た、状態機械の制御の下で前記第一のデータ経路から出
力される一つ以上のトランザクションを選択する第一の
トランザクション選択回路とを含む請求項6記載のシス
テム。 - 【請求項8】前記ブリッジが、トランザクションを前記
システム・バスから前記I/Oバスに伝送する第二のデ
ータ経路をさらに含む請求項7記載のシステム。 - 【請求項9】前記第二のデータ経路が、 前記ブリッジへの入力に接続された、前記第一のデータ
経路中でバッファへのトランザクションをゲートする第
二のトランザクション・ルータ回路と、 前記第二のトランザクション・ルータ回路に接続され
た、読み出し返答トランザクションを記憶する少なくと
も一つの並列バッファと、 前記第二のトランザクション・ルータ回路に接続され
た、読み出し要求トランザクションおよび書き込みトラ
ンザクションを記憶する少なくとも一つの直列バッファ
と、 前記並列バッファおよび直列バッファの出力に接続され
た、前記状態機械の制御の下で前記第二のデータ経路か
ら出力される一つ以上のトランザクションを選択する第
二のトランザクション選択回路とを含む請求項8記載の
システム。 - 【請求項10】前記状態機械が、所定の論理構造にした
がって、前記第一および第二のデータ経路中のトランザ
クションのゲート動作を制御する請求項9記載のシステ
ム。 - 【請求項11】少なくとも一つのプロセッサをメモリと
接続するシステム・バスと、 前記システム・バスとは異なるプロトコルを有するI/
Oバスと、 前記I/Oバスに接続された、それぞれが前記メモリお
よび前記少なくとも一つのプロセッサとの間でデータを
転送することができる複数の周辺装置と、 前記I/Oバスを前記システム・バスに相互接続し、前
記I/Oバス上の前記複数の周辺装置と、前記システム
・バス上の前記少なくとも一つのプロセッサおよびメモ
リとの間の複数のデータ転送トランザクションを処理す
るブリッジとを含み、 第一のデータ転送トランザクションが、後続のデータ転
送トランザクションとは異なるアドレスでデータにアク
セスするとき、前記複数のデータ転送トランザクション
が非順序的に処理されることを特徴とするデータ処理シ
ステム。 - 【請求項12】前記ブリッジが、前記複数のデータ転送
トランザクションのうち、どの特定のデータ転送トラン
ザクションを非順序的に処理するかを決定する状態機械
を含む請求項11記載のシステム。 - 【請求項13】前記状態機械が、前記第一のデータ転送
トランザクションによってアクセスされるデータを含む
第一のアドレスが、前記後続のデータ転送トランザクシ
ョンによってアクセスされるデータを含む第二のアドレ
スと一致するかどうかを判定するコンパレータを含む請
求項12記載のシステム。 - 【請求項14】前記状態機械が、前記第一のアドレスと
前記第二のアドレスとが一致したとき、前記後続のトラ
ンザクションが前記第一のデータ転送トランザクション
をバイパスすることを防ぐため、前記後続のデータ転送
トランザクションをゲートする手段をさらに含む請求項
13記載のシステム。 - 【請求項15】少なくとも一つのプロセッサとメモリと
をシステム・バスによって接続するステップと、 前記システム・バスとは異なるプロトコルを有するI/
Oバスを設けるステップと、 前記メモリおよび前記少なくとも一つのプロセッサとで
データを共用する複数の周辺装置を前記I/Oバスによ
って接続するステップと、 前記I/Oバスを前記システム・バスに相互接続し、前
記複数の周辺装置の一つと前記メモリとの間の第一のデ
ータ転送を、前記少なくとも一つのプロセッサと前記複
数の周辺装置の前記一つとの間の第二のデータ転送が完
了する前に完了させることにより、トランザクションの
順序を制御してデッドロック状態を防ぐステップと、を
含むことを特徴とするデータ処理システムにおけるデー
タ処理方法。 - 【請求項16】前記複数の周辺装置の前記一つを、前記
第一のデータ転送が完了するまでデータ処理活動が一時
停止される状態に維持するステップをさらに含む請求項
15記載の方法。 - 【請求項17】前記相互接続ステップが、 前記複数の周辺装置の前記一つから前記メモリへの、前
記第一のデータ転送に相当する要求を第一のバッファに
記憶するステップと、 前記少なくとも一つのプロセッサから前記複数の周辺装
置の前記一つへの、前記第二のデータ転送に相当する要
求を第二のバッファに記憶するステップと、 前記第一のデータ転送に相当するデータを含む前記メモ
リからの返答を、前記第二のバッファに対して並列であ
る第三のバッファに記憶するステップと、 前記メモリからの前記返答をして前記少なくとも一つの
プロセッサからの前記要求をバイパスさせて、前記複数
の周辺装置の前記一つが処理活動を再開することができ
るようにするステップとを含む請求項16記載の方法。 - 【請求項18】前記第一のデータ転送が、前記複数の周
辺装置の前記一つによる前記メモリの直接メモリ・アク
セスであり、前記第二のデータ転送が、前記少なくとも
一つのプロセッサによるロードまたは記憶動作である請
求項17記載の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/552,034 US5673399A (en) | 1995-11-02 | 1995-11-02 | System and method for enhancement of system bus to mezzanine bus transactions |
US08/552034 | 1995-11-02 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH09146878A true JPH09146878A (ja) | 1997-06-06 |
JP3579198B2 JP3579198B2 (ja) | 2004-10-20 |
Family
ID=24203684
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP26316096A Expired - Fee Related JP3579198B2 (ja) | 1995-11-02 | 1996-10-03 | データ処理システム及びデータ処理方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US5673399A (ja) |
JP (1) | JP3579198B2 (ja) |
KR (1) | KR100207887B1 (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007334772A (ja) * | 2006-06-16 | 2007-12-27 | Canon Inc | データ転送装置及びその制御方法 |
US7644014B2 (en) * | 2001-10-17 | 2010-01-05 | Sun Microsystems, Inc. | Document exchange framework for automated extensible markup language data in an e-procurement system and method |
JP2012027577A (ja) * | 2010-07-21 | 2012-02-09 | Kyocera Mita Corp | バス間接続装置,画像処理装置 |
JP2015508193A (ja) * | 2012-01-23 | 2015-03-16 | クアルコム,インコーポレイテッド | バスデッドロックを回避するためのトランザクション順序付け |
US10621125B2 (en) | 2016-06-28 | 2020-04-14 | Nec Corporation | Identifier-based packet request processing |
Families Citing this family (47)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6330629B1 (en) * | 1993-02-11 | 2001-12-11 | Hitachi, Ltd. | Information processing system |
US5664152A (en) * | 1995-06-06 | 1997-09-02 | Hewlett-Packard Company | Multiple segmenting of main memory to streamline data paths in a computing system |
US6055590A (en) * | 1996-06-05 | 2000-04-25 | Compaq Computer Corporation | Bridge circuit comprising independent transaction buffers with control logic adapted to store overflow data in second buffer when transaction size exceeds the first buffer size |
US6035362A (en) * | 1996-06-05 | 2000-03-07 | Goodrum; Alan L. | Storing data associated with one request while continuing to store data associated with a previous request from the same device |
US5872939A (en) * | 1996-06-05 | 1999-02-16 | Compaq Computer Corporation | Bus arbitration |
US6021480A (en) * | 1996-06-05 | 2000-02-01 | Compaq Computer Corporation | Aligning a memory read request with a cache line boundary when the request is for data beginning at a location in the middle of the cache line |
US6052513A (en) * | 1996-06-05 | 2000-04-18 | Compaq Computer Corporation | Multi-threaded bus master |
US6108741A (en) * | 1996-06-05 | 2000-08-22 | Maclaren; John M. | Ordering transactions |
US5903906A (en) * | 1996-06-05 | 1999-05-11 | Compaq Computer Corporation | Receiving a write request that allows less than one cache line of data to be written and issuing a subsequent write request that requires at least one cache line of data to be written |
US5987539A (en) * | 1996-06-05 | 1999-11-16 | Compaq Computer Corporation | Method and apparatus for flushing a bridge device read buffer |
US6075929A (en) * | 1996-06-05 | 2000-06-13 | Compaq Computer Corporation | Prefetching data in response to a read transaction for which the requesting device relinquishes control of the data bus while awaiting data requested in the transaction |
US5872941A (en) * | 1996-06-05 | 1999-02-16 | Compaq Computer Corp. | Providing data from a bridge to a requesting device while the bridge is receiving the data |
US5764925A (en) * | 1996-06-27 | 1998-06-09 | Compaq Computer Corporation | Multiple long bus architecture having a non-terminal termination arrangement |
US6343086B1 (en) * | 1996-09-09 | 2002-01-29 | Natural Microsystems Corporation | Global packet-switched computer network telephony server |
US6092141A (en) * | 1996-09-26 | 2000-07-18 | Vlsi Technology, Inc. | Selective data read-ahead in bus-to-bus bridge architecture |
US5774683A (en) * | 1996-10-21 | 1998-06-30 | Advanced Micro Devices, Inc. | Interconnect bus configured to implement multiple transfer protocols |
US5832245A (en) * | 1996-10-21 | 1998-11-03 | Advanced Micro Devices, Inc. | Method for isochronous flow control across an inter-chip bus |
US6119190A (en) * | 1996-11-06 | 2000-09-12 | Intel Corporation | Method to reduce system bus load due to USB bandwidth reclamation |
US5953538A (en) * | 1996-11-12 | 1999-09-14 | Digital Equipment Corporation | Method and apparatus providing DMA transfers between devices coupled to different host bus bridges |
US5832246A (en) * | 1996-12-03 | 1998-11-03 | Toshiba America Information Systems, Inc. | Virtualization of the ISA bus on PCI with the existence of a PCI to ISA bridge |
US5761462A (en) * | 1996-12-13 | 1998-06-02 | International Business Machines Corporation | Method and system for supporting peripheral component interconnect (PCI) peer-to-peer access across multiple PCI host bridges within a data-processing system |
US5761461A (en) * | 1996-12-13 | 1998-06-02 | International Business Machines Corporation | Method and system for preventing peripheral component interconnect (PCI) peer-to-peer access across multiple PCI host bridges within a data processing system |
US5898888A (en) * | 1996-12-13 | 1999-04-27 | International Business Machines Corporation | Method and system for translating peripheral component interconnect (PCI) peer-to-peer access across multiple PCI host bridges within a computer system |
US5838932A (en) * | 1996-12-23 | 1998-11-17 | Compaq Computer Corporation | Transparent PCI to PCI bridge with dynamic memory and I/O map programming |
US5802324A (en) * | 1996-12-23 | 1998-09-01 | Compaq Computer Corporation | Computer system with PCI repeater between primary bus and second bus |
US6138192A (en) * | 1996-12-31 | 2000-10-24 | Compaq Computer Corporation | Delivering a request to write or read data before delivering an earlier write request |
US5915104A (en) * | 1997-01-09 | 1999-06-22 | Silicon Graphics, Inc. | High bandwidth PCI to packet switched router bridge having minimized memory latency |
US5875308A (en) * | 1997-06-18 | 1999-02-23 | International Business Machines Corporation | Peripheral component interconnect (PCI) architecture having hot-plugging capability for a data-processing system |
US6286072B1 (en) * | 1997-08-19 | 2001-09-04 | International Business Machines Corporation | System and method for synchronizing data communication between asynchronous buses |
US6014721A (en) * | 1998-01-07 | 2000-01-11 | International Business Machines Corporation | Method and system for transferring data between buses having differing ordering policies |
US6065085A (en) * | 1998-01-27 | 2000-05-16 | Lsi Logic Corporation | Bus bridge architecture for a data processing system capable of sharing processing load among a plurality of devices |
US6076130A (en) * | 1998-03-19 | 2000-06-13 | Hewlett-Packard Company | System and method for efficient communication between buses |
US6178308B1 (en) * | 1998-10-16 | 2001-01-23 | Xerox Corporation | Paper based intermedium for providing interactive educational services |
US6219737B1 (en) | 1998-12-10 | 2001-04-17 | International Business Machines Corporation | Read request performance of a multiple set buffer pool bus bridge |
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 |
US6714994B1 (en) * | 1998-12-23 | 2004-03-30 | Advanced Micro Devices, Inc. | Host bridge translating non-coherent packets from non-coherent link to coherent packets on conherent link and vice versa |
US6449678B1 (en) | 1999-03-24 | 2002-09-10 | International Business Machines Corporation | Method and system for multiple read/write transactions across a bridge system |
US6286074B1 (en) | 1999-03-24 | 2001-09-04 | International Business Machines Corporation | Method and system for reading prefetched data across a bridge system |
US6502157B1 (en) | 1999-03-24 | 2002-12-31 | International Business Machines Corporation | Method and system for perfetching data in a bridge system |
US6425023B1 (en) | 1999-03-24 | 2002-07-23 | International Business Machines Corporation | Method and system for gathering and buffering sequential data for a transaction comprising multiple data access requests |
US6301632B1 (en) * | 1999-03-26 | 2001-10-09 | Vlsi Technology, Inc. | Direct memory access system and method to bridge PCI bus protocols and hitachi SH4 protocols |
EP1091302B1 (en) * | 1999-10-08 | 2006-05-03 | Hewlett-Packard Company, A Delaware Corporation | Device for processing SONET or SDH frames on a PCI bus |
EP1091289B1 (en) | 1999-10-08 | 2004-05-26 | Hewlett-Packard Company, A Delaware Corporation | Device for processing sonet or SDH frames-DS0 to channel mapping |
US6785759B1 (en) | 2000-05-10 | 2004-08-31 | International Business Machines Corporation | System and method for sharing I/O address translation caching across multiple host bridges |
WO2006004196A1 (ja) * | 2004-07-02 | 2006-01-12 | Nec Corporation | マルチプロセッサシステムおよびメモリアクセス処理方法 |
US20080282072A1 (en) * | 2007-05-08 | 2008-11-13 | Leonard Todd E | Executing Software Within Real-Time Hardware Constraints Using Functionally Programmable Branch Table |
KR102496994B1 (ko) * | 2021-03-23 | 2023-02-09 | 에스케이하이닉스 주식회사 | PCIe 인터페이스 장치 및 그 동작 방법 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5379386A (en) * | 1991-09-05 | 1995-01-03 | International Business Machines Corp. | Micro channel interface controller |
US5542055A (en) * | 1993-05-28 | 1996-07-30 | International Business Machines Corp. | System for counting the number of peripheral buses in each hierarch connected to primary bus for creating map of peripheral buses to locate peripheral devices |
US5455915A (en) * | 1993-12-16 | 1995-10-03 | Intel Corporation | Computer system with bridge circuitry having input/output multiplexers and third direct unidirectional path for data transfer between buses operating at different rates |
US5546546A (en) * | 1994-05-20 | 1996-08-13 | Intel Corporation | Method and apparatus for maintaining transaction ordering and arbitrating in a bus bridge |
-
1995
- 1995-11-02 US US08/552,034 patent/US5673399A/en not_active Expired - Fee Related
-
1996
- 1996-09-25 KR KR1019960042509A patent/KR100207887B1/ko not_active IP Right Cessation
- 1996-10-03 JP JP26316096A patent/JP3579198B2/ja not_active Expired - Fee Related
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7644014B2 (en) * | 2001-10-17 | 2010-01-05 | Sun Microsystems, Inc. | Document exchange framework for automated extensible markup language data in an e-procurement system and method |
JP2007334772A (ja) * | 2006-06-16 | 2007-12-27 | Canon Inc | データ転送装置及びその制御方法 |
JP2012027577A (ja) * | 2010-07-21 | 2012-02-09 | Kyocera Mita Corp | バス間接続装置,画像処理装置 |
JP2015508193A (ja) * | 2012-01-23 | 2015-03-16 | クアルコム,インコーポレイテッド | バスデッドロックを回避するためのトランザクション順序付け |
US10621125B2 (en) | 2016-06-28 | 2020-04-14 | Nec Corporation | Identifier-based packet request processing |
Also Published As
Publication number | Publication date |
---|---|
KR970029014A (ko) | 1997-06-26 |
US5673399A (en) | 1997-09-30 |
KR100207887B1 (ko) | 1999-07-15 |
JP3579198B2 (ja) | 2004-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3579198B2 (ja) | データ処理システム及びデータ処理方法 | |
US5694556A (en) | Data processing system including buffering mechanism for inbound and outbound reads and posted writes | |
JP3476174B2 (ja) | ピア・ツー・ピア・サポートを有する2重ホスト・ブリッジ | |
US5682512A (en) | Use of deferred bus access for address translation in a shared memory clustered computer system | |
US5850530A (en) | Method and apparatus for improving bus efficiency by enabling arbitration based upon availability of completion data | |
US5632021A (en) | Computer system with cascaded peripheral component interconnect (PCI) buses | |
US5935233A (en) | Computer system with a switch interconnector for computer devices | |
US5761462A (en) | Method and system for supporting peripheral component interconnect (PCI) peer-to-peer access across multiple PCI host bridges within a data-processing system | |
US6014709A (en) | Message flow protocol for avoiding deadlocks | |
US6223238B1 (en) | Method of peer-to-peer mastering over a computer bus | |
US5764929A (en) | Method and apparatus for improving bus bandwidth by reducing redundant access attempts | |
JP2821534B2 (ja) | デュアルポートランダムアクセスメモリ装置 | |
US6694397B2 (en) | Request queuing system for a PCI bridge | |
US20040024943A1 (en) | Generic bridge core | |
US5664152A (en) | Multiple segmenting of main memory to streamline data paths in a computing system | |
US7007126B2 (en) | Accessing a primary bus messaging unit from a secondary bus through a PCI bridge | |
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 | |
JP3600536B2 (ja) | 書き込みデータの破壊を制限する方法及びシステムとpciバス・システム | |
US6301627B1 (en) | 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 | |
US6073198A (en) | System for peer-to-peer mastering over a computer bus | |
US5761461A (en) | Method and system for preventing peripheral component interconnect (PCI) peer-to-peer access across multiple PCI host bridges within a data processing system | |
US6502150B1 (en) | Method and apparatus for resource sharing in a multi-processor system | |
JPS63175962A (ja) | 直接メモリアクセス制御装置とマルチマイクロコンピュータシステム内におけるデータ転送方法 | |
US5666556A (en) | Method and apparatus for redirecting register access requests wherein the register set is separate from a central processing unit | |
JP4642531B2 (ja) | データ要求のアービトレーション |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040507 |
|
RD14 | Notification of resignation of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7434 Effective date: 20040714 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040715 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20070723 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080723 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |