JPH10301893A - コンピュータシステムにおけるデータバス間の送達トランザクション - Google Patents
コンピュータシステムにおけるデータバス間の送達トランザクションInfo
- Publication number
- JPH10301893A JPH10301893A JP9370468A JP37046897A JPH10301893A JP H10301893 A JPH10301893 A JP H10301893A JP 9370468 A JP9370468 A JP 9370468A JP 37046897 A JP37046897 A JP 37046897A JP H10301893 A JPH10301893 A JP H10301893A
- Authority
- JP
- Japan
- Prior art keywords
- transaction
- pci
- devices
- computer system
- bus
- 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.)
- Pending
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
- G06F13/4004—Coupling between buses
- G06F13/4027—Coupling between buses using bus bridges
- G06F13/405—Coupling between buses using bus bridges where the bridge performs a synchronising function
- G06F13/4059—Coupling between buses using bus bridges where the bridge performs a synchronising function where the synchronisation uses buffers, e.g. for speed matching between buses
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
Abstract
つのデバイス間の他のトランザクションに関してのみ厳
格に順序付けされるようにするためにトランザクション
順序規則を緩和する。 【解決手段】ブリッジデバイス50を介して処理し得る
各対のデバイス60,62に対して、この対のデバイス
間のトランザクションを完了するのを助ける専用記憶領
域64,66を含んでいるコンピュータシステムにおけ
る2つのデータバス上のデバイス間のデータトランザク
ションの送達のためのブリッジデバイス。ブリッジデバ
イスは、また、ある専用記憶領域におけるトランザクシ
ョンが、別の専用記憶領域における前に発行されたトラ
ンザクションの完了に拘わりなく完了出来るようにする
コントローラを含む。
Description
におけるデータバス間の送達トランザクションに関する
ものである。
ステムの諸成分どうしが通信出来るようにする1つ又は
それ以上のデータバスを含んでいることが多い。例え
ば、1つの共通型のデータバスは、コンピュータシステ
ムのCPU/主メモりと周辺成分間で特別な通信プロト
コルを行う周辺成分インターフェース(PCI)バスで
あり、該PCIには小コンピュータシステムインターフ
ェース(SCSI)デバイスやネットワークインターフ
ェースカード(NICs)が含まれる。システムメモり
及びこの周辺成分(例えば、PCIデバイス)が別々の
バス上に常駐している時は、これら2つのバス間のデー
タトランザクションの流れを管理するのにブリッジが必
要となる。通常、システムメモリとPCIデバイスは各
々、PCI−PCIブリッジによって結合されているP
CIバス上に、少なくとも間接的に常駐している。PC
Iバスアーキテクチャは、参照として含まれている、オ
レゴン州ポートランド在のPCIスペシャルインタリス
トグループによる1995年6月発行のPCI局所的バ
ス仕様(改定版2.1)(”PCI仕様2.1)によって
定義されている。PCI−PCIブリッジアーキテクチ
ャは、これも参照として含まれている、PCIスペシャ
ルインタリストグループによる1994年4月発行のP
CIーPCIブリッジアーキテクチャ仕様(改定版1.
0(”PCIブリッジ仕様1.0)によって定義されて
いる。
1.0規格の下では、PCIブリッジは2つの型のトラ
ンザクションを支持している。即ち、目標バス(tar
getbus)上で完了する前に開始バス(initi
ating bus)上で完了するポストされたトラン
ザクション(全てのメモり書込みサイクルを含む)、及
び開始バス上で完了する前に目標バス上で完了する遅延
トランザクション(メモリ読出し要求及びI/O及び構
成読出し/書込み要求を含む)である。PCI仕様2.
1によると、PCIーPCIブリッジは諸トランザクシ
ョンが目標バス上で実行される順番を決定する時にポス
トされた書込みトランザクションを強く優先しなければ
ならない。PCI仕様2.1は、ロック・アップ状態
(lock−up)を防ぐために、コンピュータシステ
ムはポストされた書込みサイクルに前に初期化された遅
延要求サイクルを迂回させなければならないし、かつ遅
延要求サイクルが前に初期化されたポストされた書込み
サイクルを迂回しないように防がなければならないよう
に要求している。この要求は、ポストされた書込みトラ
ンザクションと遅延された要求トランザクションが2つ
の異なった対のデバイスの間で生じても保持される。
タシステムは、ホストバス14に接続されている中央処
理装置(CPU)10及び主メモリデバイス12(メモ
リ制御装置を含む)を含んでいる。ホストバス14はホ
ストーPCIブリッジデバイス18を通してPCIバス
16と通信している。PCIバス16はPCI−PCI
ブリッジ20を通して別のPCIバス19と交互に通信
している。PCIバス16は”一次”PCIバスとして
知られており、PCIバス19は”二次”PCIバスと
して知られているが、これはPCIバス16がPCIバ
ス19よりもホストバス14に階層的に近接しているか
らである。
Iオプションカード26を含む幾つかの周辺デバイスは
二次PCIバス19に接続されている。各デバイスは二
次PCIバス19上の“スロット”に差し込まれてつな
がる。PCIオプションカード26は、PCI−PCI
ブリッジデバイス28及びそれ自身のPCIバス30を
含んでおり、このPCIバス30によって付加的なPC
Iデバイスが二次PCIバス19上のシングルスロット
(single slot)に差し込まれてつながる。
1つ又はそれ以上のPCIデバイス、例えばSCSIデ
バイス32がPCIオプションカード26上に常駐し得
る。PCIオプションカード26は、2つ以上のPCI
デバイスがその局所的PCIバス30に接続されている
時、“多条(multi−threaded)”デバイ
ス(即ち、多数の遅延されたトランザクションを同時に
維持することが出来るデバイス)として作動する。
ン及び二次PCIバス19上のデバイスを目標とするこ
とは“ダウンストリーム”トランザクションとして知ら
れており、二次バス19上のデバイスによって開始され
たトランザクション及び主メモリ12を目標とすること
は”“アップストリーム”トランザクションとして知ら
れている。二次バス19上のデバイスによって開始され
るトランザクション及び二次バス19上の別のデバイス
を目標とすることは”対等”トランザクションとして知
られている。対等トランザクションは本明細書では扱わ
ない。
ると、一次又は二次PCIバス上で開始された且つPC
I−PCIブリッジデバイス20においてポストされた
如何なる書込みトランザクションも、次に発行されたト
ランザクションのどれかが目標バス上で完了され得る前
に目標バス上で完了されなければならない。加うるに、
遅延された読出しトランザクションがバス上で開始され
る前に開始バス上で完了する任意のトランザクション
も、その遅延された読出しトランザクションが目標バス
上で完了される前に目標バス上で完了されなければなら
ない。同様に、遅延された読出しトランザクションが開
始バス上で完了した後で開始バス上で完了される任意の
トランザクションも、目標バス上の遅延された読出しト
ランザクションの後に完了されなければならない。それ
故、SCSIデバイス22によってPCI−PCIブリ
ッジ20においてポストされたメモリ書込みトランザク
ションは、NIC24からの後に発行される遅延された
読出し要求が完了される前に一次PCIバス16上で完
了されなければならないし、ポストされたメモリ書込み
トランザクションは、NIC24からの任意の前に発行
された遅延された読出しトランザクションに関連した事
前取出しデータを無効にしなければならない(即ち、メ
モリ書込みトランザクションがポストされた時、事前取
出しデータはPCI−PCIブリッジ20から流れなけ
ればならない)。
発明は、第一データバス上の第一デバイス、第二データ
バス上の第二及び第三デバイス、第一及び第二データバ
ス間に介在されたブリッジデバイスであって第一デバイ
スと第三デバイスとの間のトランザクションの前或いは
後にトランザクションがブリッジデバイスにエンターし
たかに拘わらず第一デバイスと第二デバイスとの間のト
ランザクションを完了するように構成されているブリッ
ジデバイスを有するコンピュータシステムを特徴として
いる。
それ以上を含んでいる。ブリッジデバイスは、第一デバ
イスと第二デバイスとの間のトランザクションの発生順
順序を保存し得る。ブリッジデバイスは、遅延されたト
ランザクションが第一及び第二デバイスとの間の別のト
ランザクション(例えば、CPUからのダウンストリー
ム読出しトランザクション)の完了を防いでいる時に第
一及び第二デバイス間の遅延されたトランザクションの
完了を加速するように試み得る。コンピュータシステム
は、第二データバス上のどのデバイスが第一デバイスに
よって開始されたトランザクションの目標であるかを決
定することを助けるゴーストベースアドレスレジスタ
(ghost base address regist
er )を含み得る。
第三デバイスのどちらかへの第二データバスの制御を許
可する許可信号を含み得る。そして、ブリッジデバイス
は第二或いは第三デバイスが第二データバス上のトラン
ザクションを開始したかを決定するのにこの許可信号を
使用するように構成されている。これらのデータバスの
一方または両方はPCIバスであり得る。
を取り扱うブリッジデバイスを通る第一データバス上の
デバイスと第二データバス上の2つの他のデバイスの各
々間の2つのトランザクションの送達を制御するのに用
いられる方法を特徴とする。これらのトランザクション
は先ず、ブリッジデバイスに記憶され、次に、これらの
トランザクションの一方が、これらのトランザクション
がブリッジデバイスに記憶された発生順順序に拘わらず
送達される。次に他方のトランザクションが送達され得
る。
それ以上を含み得る。第一データバス上のデバイスと他
方のデバイスの1つとの間で送達されるトランザクショ
ンの発生順順序は保存され得る。第一データバス上のデ
バイスと他方のデバイスの1つとの間の遅延されたトラ
ンザクションの送達は、遅延されたトランザクションが
別のトランザクション(即ち、CPUからのダウンスト
リーム読出しトランザクション)がこれらのデバイス間
で送達されないように防いでいる時に加速され得る。こ
れらのバスの一方又は両方はPCIバスであり得る。
バス上のCPU、第二PCIバス上の2つのPCIデバ
イス、及び一次及び二次バス間に介在するPCI−PC
Iブリッジデバイスを有するコンピュータシステムを特
徴とする。このブリッジデバイスは、一方がCPUとP
CIデバイスの各々間で送達される2つのトランザクシ
ョンを記憶する記憶領域、並びにこれらのトランザクシ
ョンが記憶領域に記憶された発生順順序に拘わらずこれ
らのトランザクションの1つを送達用に選択する仲介回
路を含んでいる。
それ以上を含み得る。仲介回路は1つのトランザクショ
ンを選択した後に他方のトランザクションを選択するよ
うに構成され得る。記憶領域は、その一方がCPUとP
CIデバイスの1つとの間に生じるトランザクションを
記憶し、他方がCPUと他方のPCIデバイスとの間に
生じるトランザクションを記憶する2つの待ち行列を含
み得る。記憶領域は、CPUからPCIデバイスの第一
の1つに流れるデータを記憶する1つのバッファ並びに
第一PCIデバイスからCPUに流れるデータを記憶す
る別のバッファを有する第一組のバッファを含み得る。
記憶領域はまた、CPUからPCIデバイスの第二の1
つに流れるデータを記憶する1つのバッファ並びに第二
PCIデバイスからCPUに流れるデータを記憶する別
のバッファを有する第二組のバッファを含み得る。
タシステムにおける2つのデータバス上のデバイス間で
データトランザクションを送達するためのブリッジデバ
イスを特徴とする。
の対のデバイスに関して、ブリッジデバイスは、この対
のデバイス間のトランザクションを完了することを助け
る専用の記憶領域を含んでいる。ブリッジデバイスは
又、1つの専用記憶領域が前に発行されたトランザクシ
ョンの別の専用記憶領域における完了に拘わらず完了せ
しめる制御装置を含んでいる。
それ以上を含み得る。各専用記憶領域は、ブリッジデバ
イスを介した特定の方向に流れるデータに割り当てられ
た部分を含み得る。そして、各専用記憶領域は又、ブリ
ッジデバイスを介した反対方向に流れるデータに割り当
てられた部分を含み得る。この専用記憶領域はブリッジ
を交差し得る各種のトランザクションに対する専用バッ
ファを含み得る。これらのトランザクション種類は、ポ
ストされた書込み、遅延された要求、及び遅延された完
了を含み得る。
含まれる。2つのデバイス間のトランザクションが同じ
2つのデバイス間の他のトランザクションに関してのみ
厳格に順序付けされるようにするためにトランザクショ
ン順序規則を緩和し得る。例えば、遅延されたトランザ
クションアーキテクチャにおいて、CPUと第一PCI
デバイスとの間の遅延された読出しトランザクションを
CPUと別のPCIデバイスとの間の前に発行されたポ
ストされた書込みトランザクションの前に完了され得
る。加うるに、CPUと第一PCIデバイスとの間の前
に発行された遅延された読出しトランザクションに関連
した事前取出しデータは、CPUと他方のPCIデバイ
スがポストされた時には無効にする必要がない。それ
故、PCIブリッジに依存するコンピュータシステムは
より効率的に作動し得る。何となれば、遅延されたトラ
ンザクション中に送達されるデータは頻繁に破棄されな
いからである。
ム50は、緩和されたトランザクション順序付け規則に
従う一次及び二次PCIバス52及び54にそれぞれ接
続しているPCI−PCIブリッジデバイス50(PP
B又は“ブリッジ”)を含む。特に、ブリッジ50は、
CPU58とPCIデバイス60(“デバイスA”)と
の間のトランザクションが、これらのトランザクション
とCPU58とPCIデバイス62(“デバイスB”)
との間で生じるトランザクションとの間の発生順関係に
拘わらず、これら2つのデバイス間の他方のトランザク
ションに関してのみ順序付けされるように作動する。
ァ64及び66、即ち、ブリッジ50を介して処理し得
る各PCIデバイス“対”に対して“待ち行列ブロッ
ク”を維持することによって緩和されたトランザクショ
ン順序付けを達成する。例えば、待ち行列ブロック64
は一時的にCPU58とデバイスA60との間に生じる
トランザクションを記憶し、待ち行列ブロック66はC
PU58とデバイスB62間に生じるトランザクション
を一時的に記憶する。ブリッジ50は二次PCIバス5
4上の各々の他のPCIデバイスに対する付加的な待ち
行列ブロックを含む。ブリッジデバイス50は、CPU
58及びメモリ59を一次PCIバス52上の唯1つの
デバイスとして処理する。待ち行列ブロック64及び6
6におけるバッファは、二次PCIスロットに永久的に
割り当てられる必要がないが、その代わり、動的に、例
えば、システム開始に割り当てられ得る。
PCIバス52と二次PCIバス54上のデバイス60
及び62間に流れるトランザクションを管理する。待ち
行列ブロック64及び66は同様であり、待ち行列ブロ
ック64のみを以下に説明する。待ち行列ブロック66
(及びブリッジデバイス52に存在し得る他の何らかの
待ち行列ブロック)も同様に機能する。各待ち行列ブロ
ックは、John Marclaren とAlan
Goodrumtとにより、1996年6月5日に出願
されれ、本願発明の参照とされる、米国特許第08/6
55、254号に開示され記載されている待ち行列に類
似している。
バス54上の対応するPCIデバイス60からCPU5
8に)アップストリームに流れる情報を記憶する3つの
アップストリーム待ち行列(upstream queue)70、7
2、及び74、並びに、(CPU58から対応するPC
Iデバイス60に)ダウンストリームに流れる情報を記
憶する3つのダウンストリーム待ち行列(downstream qu
eue )76、78、及び80を含んでいる。待ち行列ブ
ロック64は又、以下に述べるように、アップストリー
ム又はダウンストリーム待ち行列のどちらからか出る情
報の流れを支配する2つのサイクルアービタ82及び8
4並びに2つの待ち行列ブロックーPCI(QPIF)
インターフェース86及び89を含んでいる。
トされたメモリ書込み待ち行列76は、二次バス54上
の各サイクルを実施するのに必要な全ての情報と共に一
次バス52上のCPU58によって発行されるポストさ
れたメモリ書込みサイクルを記憶する。PMWQ76
は、各々が8本までのキャッシュライン(256バイ
ト)のデータを含む1つのポストされたメモリ書込みト
ランザクションを保持する4つのトランザクションバッ
ファを有する。ダウンストリームPMWQ70は二次バ
ス54上のPCIデバイス60によって発行されたポス
トされたメモリ書込みサイクルを記憶し、ダウンストリ
ームPMWQ76と同様に機能する。これらのPMWQ
70及び76は、1996年6月に出願された米国特許
出願第08/655、254号により詳細に記載されて
いる。
延された要求待ち行列(DRQ)78は、二次バス54
上の各トランザクションを実施するのに必要な全ての情
報と共に、一次バス52上のCPU58によって発行さ
れた遅延された要求トランザクション〔即ち、メモリ読
出し(MR)、メモリ読出しライン(MRL)、及びメ
モリ読出し多重(MRM)要求等の遅延された読出し要
求(DRR)、並びに入力/出力(I/O)読出し/書
込み及び構成(config)読出し/書込み〕を記憶
する。DRQ78は、それぞれが遅延された書込みに対
するデータの1つの二重ワード、即ち“dword”を
保持することが出来る3つのトランザクションバッファ
を有している。同様にして、アップストリームDRQ7
2は、二次バス64上のPCIデバイス60によって発
行された遅延された要求トランザクションを記憶し、ダ
ウンストリームと同様に機能する。DRQ72及び78
は、1996年6月5日に出願された米国特許出願第0
8/655、254号により詳細に記載されている。
延された完了待ち行列(DCQ)80は、PCIデバイ
ス60によって発生された遅延された要求トランザクシ
ョンに応答してCPU58によって与えられた遅延され
た完了情報を記憶する。遅延された読出し要求に対して
は、対応する完了情報は、開始デバイスによって要求さ
れた読出しデータ及び読出し状態〔 即ち、パリティエ
ラー或いは目標アボート(target abort)のどちらかが
生じたかの指示 〕を含んでいる。遅延された書込みト
ランザクションに対して帰還した遅延された完了情報
は、遅延された書込みに対してデータが何も帰還されな
いこと以外、遅延された読出し要求に対して帰還したそ
れと同じである。
れた要求に対して8本までのキャッシュラインの完了ラ
インを保持することが出来る8個の完了バッファを有す
る。完了情報に加えて、各完了バッファは又、その情報
を発生した遅延された要求の複写を記憶する。この遅延
された要求の複写は、発行PCIデバイスによる後続の
要求が記憶された要求の再試行となる時を決定するのに
用いられる。後続の要求が記憶された要求に一致し、完
了バッファが要求されたデータを含む場合、DCQ80
は完了データを要求デバイスに与える。
は、CPU58からの遅延された要求に応答してPCI
デバイス60によって与えられる遅延された完了情報を
記憶する。I/O及びconfig読出し/書込みがダ
ウンストリームバス上にのみ生じるため、アップストリ
ームDCQ74のみが、これらのトランザクションの1
つに対応する遅延された完了情報を含み得る。
ァの1つが要求デバイスに対して意図されているが、現
在のトランザクションにおいて要求されるデータとは異
なるデータを含むことを決定する場合、バッファがフラ
ッシュされて要求マスタが古いデータ(stale dat
a)を受けないように防ぐことが出来る。バッファは、
それが事前取出しデータ(即ち、要求デバイスがデータ
の幾つかを取り出した後にバッファに残されたデータ、
或いはデバイスによって特別に要求されなかったデー
タ)を含んでいる時にはフラッシュ(flush)され
るが、それが完了データ(即ち、それを取り出すために
未だ帰還してないデバイスによって特別に要求されたデ
ータ)を含んでいる時にはフラッシュされない。バッフ
ァが完了データを含み且つ要求デバイスがバッファを
“ヒット(hit)”しないことの要求を発行している
場合、DCQ144はこのデバイスを“多条”デバイス
(即ち、一度に2つ以上のトランザクションを維持する
ことが出来るデバイス)として標識を与え、この新しい
要求に別の完了バッファを割り当てる。
データが通過すると幾つかの状態を通して進行する。バ
ッファは、それがデータを何も含んでいない時は“空”
状態にあり、それが開始デバイスによって特別に要求さ
れたデータを含んでいる時は“完了”状態にあり、且
つ、それが(例えば、開始デバイスがバッファから全て
の要求されたデータを取り出し且つその“フレーム”信
号を主張し続けて、それがデータをもっと希望している
ことを指示した後)ブリッジデバイス52によって特別
に要求されなかったが事前取出しされたデータを含んで
いる時は“事前取出し”状態にある。このDCQ74及
び80は、1996年6月5日に出願された米国特許出
願第08/655、254号により詳細に記載されてい
る。
イクルアービタ(MCA)82及び84は、ダウンスト
リーム待ち行列或いはアップストリーム待ち行列のどち
らかにおけるポストされたメモリ書込み、遅延された要
求、及び遅延された完了トランザクション間の順序付け
制約を維持する。緩和された順序付け制約は、厳格な順
序付けが同じ対のデバイスを伴うトランザクション間の
みで維持される(即ち、CPU58とPCIデバイス6
0間のトランザクションがこれら2つのデバイス間の他
方のトランザクションについてのみ順序付けされる)こ
とを除いて、PCIブリッジアーキテクチャ仕様の2.
1版に記載されているものと同様である。これらの順序
付け制約は、バスサイクルが強い書込み順序付けを維持
すること及びデッドロックが生じないことを要求する。
それ故、各MCA82又は84は、対応するPMWQ7
0又は76におけるポストされたメモリ書込みトランザ
クション並びに対応するDRQ72又は78における遅
延された要求トランザクションが対応するPCIバス5
2又は54上の実行される順序を決定する。各MCA8
2又は84は又、対応するDCQ74又は80に記憶さ
れた遅延された完了情報の使用可能度を制御する。これ
らの規則との追従を確実にするために、ダウンストリー
ムMCA84は各ポストされたメモリ書込みサイクルに
前に発行された遅延された要求サイクルを迂回する機会
を与え、一方、ダウンストリーム及びアップストリーム
MCA84及び82は両方ともそれぞれ、遅延された要
求及び遅延された完了サイクルに前に発行されたポスト
されたメモリ書込みサイクルを迂回させない。
は84は、2つのトランザクション待ち行列、即ち、ト
ランザクション実行待ち行列(TRQ)(即ち、トラン
ザクション実施待ち行列)200及びトランザクション
命令待ち行列(TOQ)202を用いて、対応するPM
WQ、DRQ、及びDCQにおいて待ち行列されるサイ
クルを管理する。MCA制御ブロック204はPMW
Q、DRQ、及びDCQからトランザクションを受け、
実行命令を出力する。これらのトランザクションは、そ
れぞれ、TRQ制御ブロック206及びTOQ制御ブロ
ック208によってTRQ200及びと202に出入り
する。
ン実施命令を決定する時の待ち行列である。TRQ20
0におけるトランザクションは、トランザクション順序
付け規則を犯すことなく任意の順序でも実施され得る
が、一旦、ポストされたメモリ書込みサイクルがTRQ
200に置かれると、ポストされたメモリ書込みが取り
除かれるまで、他のサイクルは何もTRQ200に置か
れ得ない。TRQ200におけるトランザクションは循
環順序で試行され、全体的に、それらが受けられる順序
で完了される。しかしながら、TRQ200におけるト
ランザクションがPCIバス上で再試される場合、MC
A82又は84はPCIバス上で試行されるTRQ20
0における次のトランザクションを選択し得る。遅延さ
れた完了トランザクションは、これらがマスタサイクル
でなくスレーブサイクルであるためにTRQ200に決
して置かれることがない。更に、遅延された完了情報
が、PMWQにおいてポストされたメモリ書込みサイク
ルが保留中である場合にそれがDCQにエンタするとす
ぐに要求デバイスに対して得られるようになるため、遅
延された完了トランザクションは、ポストされたメモリ
書込みサイクルがTRQ200において保留中の時にの
みTOQ202に置かれる。
クションを保持する循環待ち行列である。MCAは常に
少なくとも1つのポストされたメモリ書込みトランザク
ションを実行させて所要順序付け制約を保存することが
出来なければならないため、TRQ200は一度に3つ
以上の遅延された要求トランザクションを保持すること
が決して出来ない。更に、TRQは一度に1つだけのポ
ストされた書込みトランザクションを保持出来ないが、
これは、ポストされた書込みは、他のポストされた書込
みを含む何らかの後に開始されたトランザクションにパ
スされることがないからである。
みトランザクションがTRQ200に置かれた後にブリ
ッジによって受けられたトランザクションの履歴的順序
を保持する先入れ先だし(FIFO)待ち行列である。
全てのトランザクションが実行するには前に発行された
ポストされたメモリ書込みを待機しなければならないた
め、ポストされたメモリ書込み、遅延された要求、及び
遅延された完了トランザクションを含む全てのトランザ
クションは、ポストされたメモリ書込みがTRQ200
において待ち行列される時にTOQ202に置かれる。
TOQ202におけるトランザクションは、ポストされ
たメモリ書込みトランザクションがTRQ200から取
り除かれるまでTOQ202に保持されなければならな
い。TOQ202は3個までのポストされたメモリ書込
みトランザクション(4個目はTRQ200に記憶され
る)、3個の遅延された要求トランザクション、及び遅
延された完了トランザクションを保持し得る。TRQ2
00、TOQ202、並びに制御ブロック204、20
6、及び208を含むMCA82及び84は、1996
年6月5日出願の米国特許出願第08/655、254
号により詳細に記載されている。
ーフェース(QPIF)86は、アップストリーム待ち
行列70、72、及び74から一次PCIバス52に且
つ一次PCIバス52からダウンストリームDCQ80
に流れるトランザクションを管理する。QPIF86
は、“マスタ”モードに入って、一次バス52上のPM
WQ70及びDRQ72からポストされたメモリ書込み
及び遅延された要求トランザクションを実行する。QP
IF86は“スレーブ”モードに入り、アップストリー
ムDCQ74からのデータをCPU58に与え、一次P
CIバス52からのトランザクションをダウンストリー
ムDCQ80に送る。
書込みトランザクションを受けると、一群のトランザク
ション計数器88の対応する1つがダウンストリームP
MWQ76が一杯でないことを指示している場合、この
トランザクションをダウンストリームPMWQ76に送
る。QPIF86が遅延された要求を受けると、それは
先ず、この要求をDCQ74に送り、このトランザクシ
ョンが既にアップストリームDCQ74に置かれている
か否かを、そうである場合、対応する遅延された完了情
報がPCIデバイス60によって帰還されているか否か
を決定する。遅延された完了情報がアップストリームD
CQ74にある場合、情報はCPU58に与えられ、こ
のトランザクションが終了する。この要求が既に待ち行
列されているが、遅延された完了情報が帰還されていな
い場合、CPU58は再試され、このトランザクション
は一次PCIバス52上で終了する。このトランザクシ
ョンが未だ待ち行列されていなく、トランザクション計
数器88の対応する1つがダウンストリームDRQ78
が一杯でないことを指示する限り、アップストリームD
CQ74はトランザクションに対する完了バッファを保
存し、QPIF86はこのトランザクションをダウンス
トリームDRQ78に送る。ダウンストリームQPIF
89はアップストリームQPIF86と同様に機能す
る。QPIF86及び89は1996ね6月5日に出願
された米国特許出願第08/655、254号により詳
細に記載されている。
トリーム及びダウンストリーム待ち行列にそれぞれ待ち
行列されているトランザクションの数の計数を維持す
る。ポストされたメモリ書込み(PMW)計数器は、対
応するポストされたメモリ書込み待ち行列に保持された
PMWトランザクションの数を指示する。このPMW計
数器は、PMWトランザクションが対応するPMWQに
送られる度に増分する。この計数器は、PMWサイクル
が対応PCIバス上で完了される度に減分する。同様
に、遅延された要求(DR)計数器は対応する遅延され
た要求待ち行列に保持されたDRトランザクションの数
を計数する。遅延された完了(DC)計数器は対応する
マスタサイクルアービタにおいて待ち行列されている遅
延された完了の数を計数する。これらのトランザクショ
ン計数器は、1996年6月5日に出願された米国特許
出願第08/655、254号により詳細に記載されて
いる。
ムPCIインターフェースデバイス90及びダウンスト
リームPCIインターフェースデバイス92を含んでい
る。アップストリームPCIインターフェース90は、
ブリッジデバイス50を一次バス52上のデバイス(即
ち、CPU58及び主メモリ59)と通信せしめ、ダウ
ンストリームPCIインターフェース92は、ブリッジ
デバイス50を二次バス54上のデバイス(即ち、デバ
イスA60及びデバイスB60)と通信せしめる。
ザクションを開始する時に、アップストリームPCIイ
ンターフェース90はPCIスレーブデバイスとなる。
インターフェース90はPCI命令、アドレス、及びデ
ータをデータ及びアドレスラッチ94及び95にラッチ
する。そしてインターフェース90はダウンストリーム
PCIデバイス60及び62のどちらかがトランザクシ
ョンの目標となるかを決定する。このようにするため
に、インターフェースはCPU58によって与えられた
メモリアドレスをブリッジデバイス50におけるゴース
トベースアドレスレジスタ(ゴーストBAR)96にお
けるアドレスと比較する〔ゴーストBAR96は、開始
におけるPOSTによって形成されるベースアドレスレ
ジスタ(BAR)を詮索することによって形成される。
各対のBARはPCIスロットをメモリのブロックにマ
ッピングし、ゴーストBARはこれらのマッピングの複
写を含んでいる〕。
8は全てのダウンストリームトランザクションのマスタ
であることを仮定する。
ームサイクルアービタ100は、“レベルI”ラウンド
ロビン・スキーム105を用いて、アップストリームト
ランザクションが一次バス52上で実行されるべき待ち
行列ブロック64又は66を選択する。アービタ(ar
biter)100は先ず、デバイスA60(状態10
2)に対応する待ち行列ブロック64を選択する。アー
ビタ100は次に、デバイスB62に対応する待ち行列
66を選択し、他の任意のPCIデバイスが二次バス5
4に接続されている場合、アービタ100は、これらの
デバイスに対応する待ち行列を漸次に選択する。待ち行
列ブロック64及び66の一方が実行すべきトランザク
ションを含んでいない場合、アービタ100はそのラウ
ンドロビン・スキーム105において対応する状態をス
キップする。選択された待ち行列ブロックからのトラン
ザクションが再試される場合、アービタ100は、ラウ
ンドロビン・スキーム105において次の状態に移行す
る。
1は一次及び二次バスが両方ともトランザクションを同
時に開始すると、アービタ100はダウンストリームト
ランザクションに優先順位を与えなければならないこと
を規定する“ブリッジインターフェース優先”規則を含
んでいる。しかし、書込みポストを可能にする幾つかの
ブリッジにおいては、この要求は、ダウンストリームデ
バイスがCPUがダウンストリームデバイスに読出し要
求を発行するのと同時に書込みをポストする場合にデッ
ドロックに至り得る。この状態において、ブリッジ50
は、同じデバイスに対する任意の遅延された要求を完了
する前にポストされた書込みを完了し且つダウンストリ
ームマスタによって同時に発行された任意のトランザク
ションを完了する前にダウンストリーム読出しを完了す
ることの両方を指示される。
つかの実施態様におけるアップストリームサイクルアー
ビタは、この条件が生じた場合、“レベルII”調停スキ
ーム108に切り替わる必要があり得る。レベルIIス
キーム108において、アービタ100は、このトラン
ザクションをより迅速に完了しようとして、同時に発行
されたポストされた書込みトランザクションの優先順位
を上げる(状態110)。アップストリームインターフ
ェース90が、一次バス52上のポストされた書込みト
ランザクションを実行することを試行した後、アービタ
100は図4Aの“レベルI”調停スキーム105に帰
還して次に実行するトランザクションを選択する。ポス
トされた書込みトランザクションが一次バス52上で首
尾良く実行しなかった場合、アービタ100は、レベル
Iスキーム105からのトランザクションを選択した
後、レベルII調停スキーム108に帰還する(即ち、
ポストされた書込みトランザクションが首尾良く完了す
るまで、アービタ100はレベルIIスキーム108に
継続する)。
ームPCIインターフェース92は、幾つかの例外はあ
るが、アップストリームPCIインターフェース90と
同様に作動する。第一に、アップストリームサイクルア
ービタ100と異なり、ダウンストリームサイクルアー
ビタ116は2レベル調停スキームを用いる必要は絶対
にない。これは、ダウンストリームPCIインターフェ
ース92が、”ブリッジインターフェース優先”規則に
従わないからである。第二に、ダウンストリームインタ
ーフェース92は常に、CPU58は目標デバイスであ
り且つPCIデバイス60又は62のどちらがマスタで
あるかを決定するのにゴーストBAR96に依存する必
要がないと仮定している。その代わり、ダウンストリー
ムインターフェース92はPCIアービタ114におけ
るREQ及びGNTラインを監視して、二次PCIバス
54上のデバイス60及び62のどちらがマスタである
かを、即ち、待ち行列ブロック64又は66のどちらが
トランザクションを受けるかを決定する。
る。例えば、図5を参照すると、PCI−PCIブリッ
ジデバイスは、対当たり2組の単一方向待ち行列の代わ
りに、各々のPCIデバイス対に対して1組の双方向ト
ランザクション待ち行列120a、120bを含み得
る。本発明は又、非PCIアーキテクチャ及びPCI仕
様2.1a或いはPCIブリッジ仕様1.0に従わない
PCIアーキテクチャの形で実施され得る。
ある。
を実施するブリッジによってデータバスが接続されるコ
ンピュータシステムのブロック図である。
確実にするマスタサイクルアービタのブロック図であ
る。
図4Bは調停スキームの状態遷移図である。
ク図である。
Claims (25)
- 【請求項1】 コンピュータシステムにおいて、第一デ
ータバス上の第一デバイス、第二データバス上の第二及
び第三デバイス、及び上記第一及び第二データバス間に
介在しているブリッジデバイスであって、上記第一及び
第三デバイス間のトランザクションの前或いは後で上記
第一デバイスと上記第二デバイス間のトランザクション
が上記ブリッジデバイスにエンタしたか否かに拘わらず
上記トランザクションを完了するように構成されている
ブリッジデバイスを含むことを特徴とするコンピュータ
システム。 - 【請求項2】 上記ブリッジデバイスが上記第一及び上
記第二デバイス間のトランザクションの発生順順序を保
存することを特徴とする請求項1のコンピュータシステ
ム。 - 【請求項3】 上記ブリッジデバイスが上記第一デバイ
スと上記第二デバイス間の遅延されたトランザクション
を、それが上記第一及び第二デバイス間の別のトランザ
クションの完了を妨げている時に、完了を加速すること
を試みることを特徴とする請求項1のコンピュータシス
テム。 - 【請求項4】 上記の別のトランザクションがCPUか
らのダウンストリーム読出しトランザクションを含むこ
とを特徴とする請求項3のコンピュータシステム。 - 【請求項5】 上記第二データバス上のデバイスのどれ
が上記第一デバイスによって開始されたトランザクショ
ンの目標となるかを決定することを助けるゴーストベー
スアドレスレジスタを更に含むことを特徴とする請求項
1のコンピュータシステム。 - 【請求項6】 上記第二又は第三デバイスのどちらかへ
の上記第二データバスの制御を許可する許可信号を更に
含むことを特徴とする請求項1のコンピュータシステ
ム。 - 【請求項7】 上記ブリッジデバイスが、上記第二又は
第三デバイスが上記第二データバス上のトランザクショ
ンを開始したか否かを上記許可信号を用いて決定するよ
うに構成されていることを特徴とする請求項6のコンピ
ュータシステム。 - 【請求項8】 上記データバスの1つがPCIバスを含
むことを特徴とする請求項1のコンピュータシステム。 - 【請求項9】 上記データバスの各々がPCIバスを含
むことを特徴とする請求項1のコンピュータシステム。 - 【請求項10】 第一データバス上のデバイスと第二デ
ータバス上の他の2つのデバイスの各々との間での上記
データバスを扱うブリッジデバイスを介しての2つのト
ランザクションの送達を制御するのに用いられる方法に
おいて、上記ブリッジデバイスに上記トランザクション
を記憶する段階、及び上記トランザクションが上記ブリ
ッジデバイスに記憶された発生順順序に拘わらず上記ト
ランザクションの一方を送達する段階を含むことを特徴
とする方法。 - 【請求項11】 その後、他方のトランザクションを送
達する段階を更に含むことを特徴とする請求項10の方
法。 - 【請求項12】 上記第一データバス上のデバイスと上
記他方のデバイスの一方との間で送達されるトランザク
ションの発生順順序を保存する段階を更に含むことを特
徴とする請求項10の方法。 - 【請求項13】 上記第一データバス上のデバイスと上
記他方デバイスの一方との間の遅延されたトランザクシ
ョンの送達を、該遅延されたトランクザンクションが別
のトランザクションを上記デバイス間で送達されないよ
うに妨げている時に、加速することを試みる段階を更に
含むことを特徴とする請求項10の方法。 - 【請求項14】 上記他方のトランザクションがCPU
からのダウンストリーム読出しトランザクションを含む
ことを特徴とする請求項13の方法。 - 【請求項15】 上記バスの一つがPCIバスを含むこ
とを特徴とする請求項10の方法。 - 【請求項16】 上記バスの各々がPCIバスを含むこ
とを特徴とする請求項10の方法。 - 【請求項17】 コンピュータシステムにおいて、一次
PCIバス上のCPUと、二次PCIバス上の2つのP
CIデバイスと、上記一次及び二次バス間に介在してい
るPCI−PCIブリッジデバイスと、一方が上記CP
Uと上記PCIデバイスの各々との間で送達される2つ
のトランザクションを記憶する記憶領域と、上記トラン
ザクションが上記記憶領域に記憶された発生順順序に拘
わらず上記トランザクションの一方を送達のために選択
する調停回路と、を含むPCI−PCIブリッジデバイ
スを含むことを特徴とするコンピュータシステム。 - 【請求項18】 上記調停回路が、上記一方のトランザ
クションを選択した後に他方のトランザクションを選択
するように構成されていることを特徴とする請求項17
のコンピュータシステム。 - 【請求項19】 上記記憶領域が、一方が上記CPUと
上記PCIデバイスの1つとの間で生じたトランザクシ
ョンを記憶し、他方が上記CPUと他方のPCIデバイ
ス間で生じたトランザクションを記憶する2つの待ち行
列ブロックを含むことを特徴とする請求項17のコンピ
ュータシステム。 - 【請求項20】 上記記憶領域が、上記CPUから上記
PCIデバイスの第一のものに流れるデータを記憶する
1つのバッファ並びに上記第一PCIデバイスから上記
CPUに流れるデータを記憶する別のバッファを有する
第一組のバッファ、及び上記CPUから上記PCIデバ
イスの第二のものに流れるデータを記憶する1つのバッ
ファ並びに上記第二PCIデバイスから上記CPUに流
れるデータを記憶する別のバッファを有する第二組のバ
ッファを含むことを特徴とする請求項17のコンピュー
タシステム。 - 【請求項21】 コンピュータシステムにおける2つの
データバス上のデバイス間でデータトランザクションを
送達するためのブリッジデバイスにおいて、上記ブリッ
ジデバイスを介して処理し得る各対のデバイスに対し
て、上記対のデバイス間のトランザクションを完了する
のを助ける専用記憶領域、及び1つの専用記憶領域にお
けるトランザクションを別の専用記憶領域における前に
発行されたトランザクションの完了に拘わらず完了せし
める制御装置を含むことを特徴とするブリッジデバイ
ス。 - 【請求項22】 各々の専用記憶領域が上記ブリッジデ
バイスを介して特定の方向に流れるデータに割り当てら
れた部分を含むことを特徴とする請求項21のブリッジ
デバイス。 - 【請求項23】 各々の専用記憶領域が上記ブリッジデ
バイスを介して上記と反対の方向に流れるデータに割り
当てられた別の部分を含むことを特徴とする請求項22
のブリッジデバイス。 - 【請求項24】 上記専用記憶領域が上記ブリッジを交
差し得る各々の種類のトランザクションのための専用バ
ッファを含むことを特徴とする請求項21のブリッジデ
バイス。 - 【請求項25】 上記トランザクションのタイプが、ポ
ストされた書込み、遅延された要求、及び遅延された完
了を含むことを特徴とする請求項24のブリッジデバイ
ス。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US777575 | 1996-12-31 | ||
US08/777,575 US6138192A (en) | 1996-12-31 | 1996-12-31 | Delivering a request to write or read data before delivering an earlier write request |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH10301893A true JPH10301893A (ja) | 1998-11-13 |
Family
ID=25110625
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP9370468A Pending JPH10301893A (ja) | 1996-12-31 | 1997-12-26 | コンピュータシステムにおけるデータバス間の送達トランザクション |
Country Status (4)
Country | Link |
---|---|
US (2) | US6138192A (ja) |
EP (1) | EP0851361B1 (ja) |
JP (1) | JPH10301893A (ja) |
DE (1) | DE69725687T2 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006004196A1 (ja) * | 2004-07-02 | 2006-01-12 | Nec Corporation | マルチプロセッサシステムおよびメモリアクセス処理方法 |
US8386670B2 (en) | 2007-01-15 | 2013-02-26 | Ricoh Company, Ltd. | System controlling device and image processing system |
JP2014017006A (ja) * | 2009-05-29 | 2014-01-30 | Intel Corp | PCIExpressでのIDベースストリームを可能にする方法及び装置 |
Families Citing this family (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6230219B1 (en) * | 1997-11-10 | 2001-05-08 | International Business Machines Corporation | High performance multichannel DMA controller for a PCI host bridge with a built-in cache |
US6243781B1 (en) * | 1998-12-03 | 2001-06-05 | Intel Corporation | Avoiding deadlock by storing non-posted transactions in an auxiliary buffer when performing posted and non-posted bus transactions from an outbound pipe |
US6324612B1 (en) * | 1998-12-10 | 2001-11-27 | International Business Machines Corporation | Associating buffers in a bus bridge with corresponding peripheral devices to facilitate transaction merging |
US6405276B1 (en) * | 1998-12-10 | 2002-06-11 | International Business Machines Corporation | Selectively flushing buffered transactions in a bus bridge |
US6209054B1 (en) * | 1998-12-15 | 2001-03-27 | Cisco Technology, Inc. | Reliable interrupt reception over buffered bus |
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 |
US6240458B1 (en) * | 1998-12-22 | 2001-05-29 | Unisys Corporation | System and method for programmably controlling data transfer request rates between data sources and destinations in a data processing system |
US6351784B1 (en) * | 1998-12-28 | 2002-02-26 | International Business Machines Corp. | System for determining whether a subsequent transaction may be allowed or must be allowed or must not be allowed to bypass a preceding transaction |
US6347349B1 (en) * | 1998-12-28 | 2002-02-12 | International Business Machines Corp. | System for determining whether a subsequent transaction may be allowed or must be allowed or must not be allowed to bypass a preceding transaction |
US6330630B1 (en) * | 1999-03-12 | 2001-12-11 | Intel Corporation | Computer system having improved data transfer across a bus bridge |
US6286074B1 (en) * | 1999-03-24 | 2001-09-04 | International Business Machines Corporation | Method and system for reading prefetched data across a bridge system |
US6363452B1 (en) * | 1999-03-29 | 2002-03-26 | Sun Microsystems, Inc. | Method and apparatus for adding and removing components without powering down computer system |
US6460108B1 (en) | 1999-03-31 | 2002-10-01 | Intel Corporation | Low cost data streaming mechanism |
US6230228B1 (en) * | 1999-04-01 | 2001-05-08 | Intel Corporation | Efficient bridge architecture for handling multiple write transactions simultaneously |
TW523672B (en) * | 1999-04-23 | 2003-03-11 | Via Tech Inc | Bus system delayed transaction method and device applying the method |
US6567871B2 (en) * | 1999-07-26 | 2003-05-20 | Intel Corporation | Method and apparatus for repeating (extending) transactions on a bus without clock delay |
US6742074B2 (en) * | 1999-08-31 | 2004-05-25 | Micron Technology, Inc. | Bus to system memory delayed read processing |
US6557048B1 (en) * | 1999-11-01 | 2003-04-29 | Advanced Micro Devices, Inc. | Computer system implementing a system and method for ordering input/output (IO) memory operations within a coherent portion thereof |
US6529990B1 (en) * | 1999-11-08 | 2003-03-04 | International Business Machines Corporation | Method and apparatus to eliminate failed snoops of transactions caused by bus timing conflicts in a distributed symmetric multiprocessor system |
US6779061B1 (en) * | 2000-05-09 | 2004-08-17 | Cypress Semiconductor Corp. | Method and apparatus implementing a FIFO with discrete blocks |
US6654818B1 (en) * | 2000-06-22 | 2003-11-25 | International Business Machines Corporation | DMA access authorization for 64-bit I/O adapters on PCI bus |
US6636947B1 (en) * | 2000-08-24 | 2003-10-21 | International Business Machines Corporation | Coherency for DMA read cached data |
US6721813B2 (en) * | 2001-01-30 | 2004-04-13 | Advanced Micro Devices, Inc. | Computer system implementing a system and method for tracking the progress of posted write transactions |
TW514791B (en) * | 2001-05-28 | 2002-12-21 | Via Tech Inc | Structure, method and related control chip for accessing device of computer system with system management bus |
US20030131175A1 (en) * | 2001-12-24 | 2003-07-10 | Heynemann Tom A. | Method and apparatus for ensuring multi-threaded transaction ordering in a strongly ordered computer interconnect |
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 |
US7111105B2 (en) * | 2001-12-31 | 2006-09-19 | Hewlett-Packard Development Company, L.P. | System to optimally order cycles originating from a single physical link |
US6970978B1 (en) * | 2002-04-03 | 2005-11-29 | Advanced Micro Devices, Inc. | System and method for providing a pre-fetch memory controller |
US7286548B1 (en) * | 2002-08-14 | 2007-10-23 | Redback Networks Inc. | Method and apparatus for multicast multiple prefetch |
US7043593B1 (en) * | 2003-04-29 | 2006-05-09 | Advanced Micro Devices, Inc. | Apparatus and method for sending in order data and out of order data on a data bus |
US7062590B2 (en) * | 2003-08-29 | 2006-06-13 | Lsi Logic Corporation | Methods and structure for PCI bus broadcast using device ID messaging |
US7644197B1 (en) * | 2003-10-15 | 2010-01-05 | Sun Microsystems, Inc. | Queue management by multiple processors |
US7549004B1 (en) * | 2004-08-20 | 2009-06-16 | Altera Corporation | Split filtering in multilayer systems |
US7412555B2 (en) * | 2005-09-29 | 2008-08-12 | P.A. Semi, Inc. | Ordering rule and fairness implementation |
US8566496B2 (en) * | 2010-12-03 | 2013-10-22 | Lsi Corporation | Data prefetch in SAS expanders |
US9229896B2 (en) | 2012-12-21 | 2016-01-05 | Apple Inc. | Systems and methods for maintaining an order of read and write transactions in a computing system |
US10362109B2 (en) | 2016-03-30 | 2019-07-23 | Task Performance Group, Inc. | Cloud operating system and method |
Family Cites Families (61)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5569830A (en) * | 1978-11-20 | 1980-05-26 | Toshiba Corp | Intelligent terminal |
EP0334627A3 (en) * | 1988-03-23 | 1991-06-12 | Du Pont Pixel Systems Limited | Multiprocessor architecture |
US6038584A (en) * | 1989-11-17 | 2000-03-14 | Texas Instruments Incorporated | Synchronized MIMD multi-processing system and method of operation |
JPH03188546A (ja) * | 1989-12-18 | 1991-08-16 | Fujitsu Ltd | バスインターフェイス制御方式 |
US5438509A (en) * | 1991-02-07 | 1995-08-01 | Heffron; Donald J. | Transaction processing in a distributed data processing system |
US5454093A (en) * | 1991-02-25 | 1995-09-26 | International Business Machines Corporation | Buffer bypass for quick data access |
GB9116044D0 (en) * | 1991-07-24 | 1991-09-11 | Nat Res Dev | Probes |
US5483641A (en) * | 1991-12-17 | 1996-01-09 | Dell Usa, L.P. | System for scheduling readahead operations if new request is within a proximity of N last read requests wherein N is dependent on independent activities |
CA2080210C (en) * | 1992-01-02 | 1998-10-27 | Nader Amini | Bidirectional data storage facility for bus interface unit |
JPH0789340B2 (ja) * | 1992-01-02 | 1995-09-27 | インターナショナル・ビジネス・マシーンズ・コーポレイション | バス間インターフェースにおいてアドレス・ロケーションの判定を行なう方法及び装置 |
US5491811A (en) * | 1992-04-20 | 1996-02-13 | International Business Machines Corporation | Cache system using mask bits to recorder the sequences for transfers of data through cache to system memory |
US5579530A (en) * | 1992-06-11 | 1996-11-26 | Intel Corporation | Method and apparatus for dynamically allocating access time to a resource shared between a peripheral bus and a host bus by dynamically controlling the size of burst data transfers on the peripheral bus |
JP2531903B2 (ja) * | 1992-06-22 | 1996-09-04 | インターナショナル・ビジネス・マシーンズ・コーポレイション | コンピュ―タ・システムおよびシステム拡張装置 |
US5463753A (en) * | 1992-10-02 | 1995-10-31 | Compaq Computer Corp. | Method and apparatus for reducing non-snoop window of a cache controller by delaying host bus grant signal to the cache controller |
US5535395A (en) * | 1992-10-02 | 1996-07-09 | Compaq Computer Corporation | Prioritization of microprocessors in multiprocessor computer systems |
US5519839A (en) * | 1992-10-02 | 1996-05-21 | Compaq Computer Corp. | Double buffering operations between the memory bus and the expansion bus of a computer system |
US5381528A (en) * | 1992-10-15 | 1995-01-10 | Maxtor Corporation | Demand allocation of read/write buffer partitions favoring sequential read cache |
US5448702A (en) * | 1993-03-02 | 1995-09-05 | International Business Machines Corporation | Adapters with descriptor queue management capability |
US5522050A (en) * | 1993-05-28 | 1996-05-28 | International Business Machines Corporation | Bus-to-bus bridge for a multiple bus information handling system that optimizes data transfers between a system bus and a peripheral bus |
US5396602A (en) * | 1993-05-28 | 1995-03-07 | International Business Machines Corp. | Arbitration logic for multiple bus computer system |
US5623633A (en) * | 1993-07-27 | 1997-04-22 | Dell Usa, L.P. | Cache-based computer system employing a snoop control circuit with write-back suppression |
US5613075A (en) * | 1993-11-12 | 1997-03-18 | Intel Corporation | Method and apparatus for providing deterministic read access to main memory in a computer system |
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 |
US5434996A (en) * | 1993-12-28 | 1995-07-18 | Intel Corporation | Synchronous/asynchronous clock net with autosense |
US5559800A (en) * | 1994-01-19 | 1996-09-24 | Research In Motion Limited | Remote control of gateway functions in a wireless data communication network |
US5471590A (en) * | 1994-01-28 | 1995-11-28 | Compaq Computer Corp. | Bus master arbitration circuitry having improved prioritization |
US5535341A (en) * | 1994-02-24 | 1996-07-09 | Intel Corporation | Apparatus and method for determining the status of data buffers in a bridge between two buses during a flush operation |
US5530933A (en) * | 1994-02-24 | 1996-06-25 | Hewlett-Packard Company | Multiprocessor system for maintaining cache coherency by checking the coherency in the order of the transactions being issued on the bus |
SG47015A1 (en) * | 1994-02-24 | 1998-03-20 | Intel Corp | Apparatus and method for prefetching data to load buffers in a bridge between two buses in a computer |
TW400483B (en) * | 1994-03-01 | 2000-08-01 | Intel Corp | High performance symmetric arbitration protocol with support for I/O requirements |
US5586297A (en) * | 1994-03-24 | 1996-12-17 | Hewlett-Packard Company | Partial cache line write transactions in a computing system with a write back cache |
US5528766A (en) * | 1994-03-24 | 1996-06-18 | Hewlett-Packard Company | Multiple arbitration scheme |
US5623700A (en) * | 1994-04-06 | 1997-04-22 | Dell, Usa L.P. | Interface circuit having zero latency buffer memory and cache memory information transfer |
US5535340A (en) * | 1994-05-20 | 1996-07-09 | Intel Corporation | Method and apparatus for maintaining transaction ordering and supporting deferred replies in a bus bridge |
US5546546A (en) * | 1994-05-20 | 1996-08-13 | Intel Corporation | Method and apparatus for maintaining transaction ordering and arbitrating in a bus bridge |
US5687347A (en) * | 1994-09-19 | 1997-11-11 | Matsushita Electric Industrial Co., Ltd. | Data providing device, file server device, and data transfer control method |
US5548730A (en) * | 1994-09-20 | 1996-08-20 | Intel Corporation | Intelligent bus bridge for input/output subsystems in a computer system |
US5524235A (en) * | 1994-10-14 | 1996-06-04 | Compaq Computer Corporation | System for arbitrating access to memory with dynamic priority assignment |
US5553265A (en) * | 1994-10-21 | 1996-09-03 | International Business Machines Corporation | Methods and system for merging data during cache checking and write-back cycles for memory reads and writes |
US5555383A (en) * | 1994-11-07 | 1996-09-10 | International Business Machines Corporation | Peripheral component interconnect bus system having latency and shadow timers |
US5664124A (en) * | 1994-11-30 | 1997-09-02 | International Business Machines Corporation | Bridge between two buses of a computer system that latches signals from the bus for use on the bridge and responds according to the bus protocols |
US5625779A (en) * | 1994-12-30 | 1997-04-29 | Intel Corporation | Arbitration signaling mechanism to prevent deadlock guarantee access latency, and guarantee acquisition latency for an expansion bridge |
US5594882A (en) * | 1995-01-04 | 1997-01-14 | Intel Corporation | PCI split transactions utilizing dual address cycle |
US5568619A (en) * | 1995-01-05 | 1996-10-22 | International Business Machines Corporation | Method and apparatus for configuring a bus-to-bus bridge |
US5630094A (en) * | 1995-01-20 | 1997-05-13 | Intel Corporation | Integrated bus bridge and memory controller that enables data streaming to a shared memory of a computer system using snoop ahead transactions |
US5778196A (en) * | 1995-02-24 | 1998-07-07 | Acar Laboratories, Incorporated | Method and device for identifying a bus memory region |
US5596729A (en) * | 1995-03-03 | 1997-01-21 | Compaq Computer Corporation | First arbiter coupled to a first bus receiving requests from devices coupled to a second bus and controlled by a second arbiter on said second bus |
US5664150A (en) * | 1995-03-21 | 1997-09-02 | International Business Machines Corporation | Computer system with a device for selectively blocking writebacks of data from a writeback cache to memory |
US5619661A (en) * | 1995-06-05 | 1997-04-08 | Vlsi Technology, Inc. | Dynamic arbitration system and method |
US5634138A (en) * | 1995-06-07 | 1997-05-27 | Emulex Corporation | Burst broadcasting on a peripheral component interconnect bus |
US5694556A (en) * | 1995-06-07 | 1997-12-02 | International Business Machines Corporation | Data processing system including buffering mechanism for inbound and outbound reads and posted writes |
US5710906A (en) * | 1995-07-07 | 1998-01-20 | Opti Inc. | Predictive snooping of cache memory for master-initiated accesses |
US5649175A (en) * | 1995-08-10 | 1997-07-15 | Cirrus Logic, Inc. | Method and apparatus for acquiring bus transaction address and command information with no more than zero-hold-time and with fast device acknowledgement |
US5632021A (en) * | 1995-10-25 | 1997-05-20 | Cisco Systems Inc. | Computer system with cascaded peripheral component interconnect (PCI) buses |
US5673399A (en) * | 1995-11-02 | 1997-09-30 | International Business Machines, Corporation | System and method for enhancement of system bus to mezzanine bus transactions |
US5724529A (en) * | 1995-11-22 | 1998-03-03 | Cirrus Logic, Inc. | Computer system with multiple PC card controllers and a method of controlling I/O transfers in the system |
US5717876A (en) * | 1996-02-26 | 1998-02-10 | International Business Machines Corporation | Method for avoiding livelock on bus bridge receiving multiple requests |
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 |
US6108741A (en) * | 1996-06-05 | 2000-08-22 | Maclaren; John M. | Ordering transactions |
US5781748A (en) * | 1996-07-19 | 1998-07-14 | Compaq Computer Corporation | Computer system utilizing two ISA busses coupled to a mezzanine bus |
US5894563A (en) * | 1996-11-20 | 1999-04-13 | Apple Computer, Inc. | Method and apparatus for providing a PCI bridge between multiple PCI environments |
-
1996
- 1996-12-31 US US08/777,575 patent/US6138192A/en not_active Expired - Lifetime
-
1997
- 1997-12-26 JP JP9370468A patent/JPH10301893A/ja active Pending
- 1997-12-31 EP EP97310689A patent/EP0851361B1/en not_active Expired - Lifetime
- 1997-12-31 DE DE69725687T patent/DE69725687T2/de not_active Expired - Lifetime
-
1998
- 1998-11-19 US US09/196,373 patent/US6070209A/en not_active Expired - Lifetime
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006004196A1 (ja) * | 2004-07-02 | 2006-01-12 | Nec Corporation | マルチプロセッサシステムおよびメモリアクセス処理方法 |
US7664900B2 (en) | 2004-07-02 | 2010-02-16 | Nec Corporation | Multiprocessor system and method for processing memory access |
US8386670B2 (en) | 2007-01-15 | 2013-02-26 | Ricoh Company, Ltd. | System controlling device and image processing system |
US8606977B2 (en) | 2007-01-15 | 2013-12-10 | Ricoh Company, Ltd. | System controlling device and image processing system |
JP2014017006A (ja) * | 2009-05-29 | 2014-01-30 | Intel Corp | PCIExpressでのIDベースストリームを可能にする方法及び装置 |
Also Published As
Publication number | Publication date |
---|---|
US6070209A (en) | 2000-05-30 |
DE69725687D1 (de) | 2003-11-27 |
EP0851361A1 (en) | 1998-07-01 |
DE69725687T2 (de) | 2004-05-13 |
US6138192A (en) | 2000-10-24 |
EP0851361B1 (en) | 2003-10-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH10301893A (ja) | コンピュータシステムにおけるデータバス間の送達トランザクション | |
US6199131B1 (en) | Computer system employing optimized delayed transaction arbitration technique | |
US6279087B1 (en) | System and method for maintaining coherency and improving performance in a bus bridge supporting write posting operations | |
US5987555A (en) | Dynamic delayed transaction discard counter in a bus bridge of a computer system | |
KR100207887B1 (ko) | 데이타 프로세싱 시스템 및 방법 | |
US5996036A (en) | Bus transaction reordering in a computer system having unordered slaves | |
US6212590B1 (en) | Computer system having integrated bus bridge design with delayed transaction arbitration mechanism employed within laptop computer docked to expansion base | |
US5870567A (en) | Delayed transaction protocol for computer system bus | |
US5535340A (en) | Method and apparatus for maintaining transaction ordering and supporting deferred replies in a bus bridge | |
US5835741A (en) | Bus-to-bus bridge in computer system, with fast burst memory range | |
US6134619A (en) | Method and apparatus for transporting messages between processors in a multiple processor system | |
US5850530A (en) | Method and apparatus for improving bus efficiency by enabling arbitration based upon availability of completion data | |
US6098134A (en) | Lock protocol for PCI bus using an additional "superlock" signal on the system bus | |
JP3391315B2 (ja) | バス制御装置 | |
US6012118A (en) | Method and apparatus for performing bus operations in a computer system using deferred replies returned without using the address bus | |
JPH05216811A (ja) | 二バス間のトランザクションを制御する再試行方法 | |
US5930485A (en) | Deadlock avoidance in a computer system having unordered slaves | |
JP3641003B2 (ja) | 調停機構付きバス・システム | |
US5933612A (en) | Deadlock avoidance in a split-bus computer system | |
USRE44688E1 (en) | Bus transaction reordering in a computer system having unordered slaves | |
US7054987B1 (en) | Apparatus, system, and method for avoiding data writes that stall transactions in a bus interface | |
KR100419679B1 (ko) | 트랜잭션 요청 라우팅 방법 | |
US5991855A (en) | Low latency memory read with concurrent pipe lined snoops | |
US6425023B1 (en) | Method and system for gathering and buffering sequential data for a transaction comprising multiple data access requests | |
US5768545A (en) | Collect all transfers buffering mechanism utilizing passive release for a multiple bus environment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041227 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20041227 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070425 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070510 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20070809 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20070814 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071109 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080409 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20081107 |