JP2000285068A - データ処理システムにおけるデータ・トランザクション実行方法および装置 - Google Patents

データ処理システムにおけるデータ・トランザクション実行方法および装置

Info

Publication number
JP2000285068A
JP2000285068A JP11216930A JP21693099A JP2000285068A JP 2000285068 A JP2000285068 A JP 2000285068A JP 11216930 A JP11216930 A JP 11216930A JP 21693099 A JP21693099 A JP 21693099A JP 2000285068 A JP2000285068 A JP 2000285068A
Authority
JP
Japan
Prior art keywords
transaction
data
queue
address
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
Application number
JP11216930A
Other languages
English (en)
Inventor
Michael Dean Snyder
マイケル・ディーン・スナイダー
David William Todd
デイビッド・ウィリアム・トッド
Brian Keith Reynolds
ブライアン・キース・レイノルズ
Michael Julio Garcia
マイケル・ジュリオ・ガーシア
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Motorola Solutions Inc
Original Assignee
Motorola Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Motorola Inc filed Critical Motorola Inc
Publication of JP2000285068A publication Critical patent/JP2000285068A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • G06F13/364Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using independent requests or grants, e.g. using separated request and grant lines

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Bus Control (AREA)
  • Small-Scale Networks (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】 【課題】 タグ情報を必要とせずにアドレスおよびデー
タを識別する方法を提供する。 【解決手段】 分割バスに結合されている各デバイス
は、保留中のトランザクションの時間基準キューを有す
る。トランザクションの実行毎にキューを更新する。ア
ービタは、各デバイスのキューのコピーを有し、アービ
タ内のキュー全ての中から優先トランザクションを決定
する。データ保有期間に、データ・トランザクション・
インデックスを全デバイスに提供し、次のトランザクシ
ョンのキュー内における位置を示す。このインデックス
は、アドレス保有期間にスタティック・タグなしで、順
序不問のデータ転送を可能とする。キューは、保留中の
トランザクションの履歴を維持する。各デバイスは、別
個のデータ・バス付与を受信することにより、ソースお
よびシンク・デバイス双方に単一のインデックス供給を
可能にする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、一般的に、データ
処理システムにおけるデータ・トランザクションの実行
に関する。
【0002】
【従来の技術】多くのデータ処理システムは、多数のマ
イクロプロセッサ,デバイス,およびメモリを含み、各
々が共通のバス集合を用いてトランザクションを実行す
る。アドレス・バスおよびデータ・バスが分割されてい
る場合、データの構成を再構築して、データ・バスの使
用を最大化することが可能である。このような分割トラ
ンザクション・バス(split transaction bus)におい
て、アドレス保有期間(address tenure)は、所与のトラ
ンザクションに対するアドレスがアドレス・バス上で有
効である時間期間であり、データ保有期間は、所与のト
ランザクションに対するデータがデータ・バス上で有効
な時間期間である。アドレス保有期間は、第1の順序で
与えられ、一方データ保有期間は、データの伝送を最適
化するために順序を変えることが可能である。例えば、
長いトランザクション(即ち、多数のサイクルの実行を
必要とするトランザクション)の後に、より短い数個の
トランザクションが続く場合に、これは有用である。デ
ータの受信側は常に順序変更方式(reordering scheme)
にアクセスできる訳ではないので、データをその対応す
るアドレスで識別する機構を備える必要がある。
【0003】分割トランザクション・バス・システムに
は、スタティック・タギング機構(static tagging mech
anism)を用いるものがある。この場合、各アドレスに識
別子を添付し、次いで対応する識別子を各データに添付
する。かかるスタティック・タギング方法は、アドレス
保有期間において、一意のタグをアドレスと共に提供す
る必要がある。次いで、トランザクションにおけるター
ゲットに指定されたデバイスに、タグを格納する。シス
テムによっては、タグをシステム調停コントローラにも
格納する場合がある。対応するデータが選択されると、
データ保有期間に、そのタグをデータと共に再度提供す
る。この場合、アドレス・バスおよびデータ・バスは双
方共、タグ情報の提供のために拡張しなければならな
い。タグ情報は、単一のトランザクション毎に、データ
・ソース(即ち、データを与えるデバイス)およびデー
タ・シンク(即ち、データを受信するデバイス)双方に
与えなければならない。
【0004】
【発明が解決しようとする課題】アドレス保有期間にタ
グ情報を与える追加のオーバヘッドを必要とせずに、ア
ドレスおよびデータの組み合わせを識別する方法が必要
とされている。
【0005】
【課題を解決するための手段】本発明の一態様では、デ
ータ処理システムにおけるトランザクション実行方法
は、複数のトランザクションを表す複数のトランザクシ
ョン・インディケータを受信する段階と、複数のトラン
ザクション・インディケータの各々に一意のトランザク
ション・インデックス値を割り当てる段階と、複数のト
ランザクションの内第1トランザクションを実行する段
階であって、複数のトランザクションの内第2トランザ
クションが、複数のトランザクションの内第1トランザ
クションよりも長く保留にされている、段階と、一意の
トランザクション・インデックス値の少なくとも1つを
割り当てし直す段階とを含む。
【0006】本発明の別の態様によれば、データ処理シ
ステムは、複数のトランザクションを表す複数のトラン
ザクション・インディケータを受信可能な第1回路と、
複数のトランザクション・インディケータの各々に一意
のトランザクション・インデックス値を割り当て可能な
第2回路と、複数のトランザクションの内第1トランザ
クションを実行可能な第3回路であって、複数のトラン
ザクションの内第2トランザクションが、複数のトラン
ザクションの内第1トランザクションよりも古い、第3
回路と、一意のトランザクション・インデックス値の少
なくとも1つを割り当てし直すことが可能な第4回路と
を含む。
【0007】本発明の別の実施例によれば、データ処理
システムにおけるデータ・トランザクション実行方法
は、第1トランザクションの第1識別子および第2トラ
ンザクションの第2識別子を、第1デバイスに対応する
第1デバイス・キューに格納する段階を含み、その際第
1識別子を第1デバイス・キュー内の第1位置に格納
し、第2識別子を第1デバイス・キュー内の第2位置に
格納し、第1位置は第2位置とは異なる。本方法は、続
いて、第1時点において、第1データ・トランザクショ
ン・インデックス信号および第1データ・バス付与信号
を第1デバイスに発生し、ここで第1データ・トランザ
クション・インデックス信号は、第1位置に対応する。
次に、第1デバイスの順序を変更し、第2識別子を第2
位置から第1デバイス・キュー内の第3位置に移動させ
る。この場合第3位置は第2位置とは異なる。最後に、
本方法は、続いて、第1時点の後の第2時点において、
第2データ・トランザクション信号および第2データ・
バス付与信号を第2デバイスに発生する。この場合、第
2データ・トランザクション・インデックス信号は、第
3位置に対応する。
【0008】
【発明の実施の形態】これより、添付図面を参照しなが
ら、限定を意図することなく本発明の一例について説明
する。尚、図面において、同様の参照符号は同様のエレ
メントを示すものとする。
【0009】図1は、共通通信バスに結合された多数の
デバイスを含む、データ処理システム5を有する本発明
の一実施例を示す。この通信バスは、分割バスであり、
アドレス・バス60と称するアドレス部分,およびデー
タ・バス50と称するデータ部分を有する。また、デー
タ部分は、順序変更情報の伝達にも用いられる。
【0010】データ処理システム5は、デバイス10,
デバイス20ないし30,およびアービタ(arbiter)4
0を含む。これらのデバイスには、1からnまでの番号
を付してある。デバイス10,デバイス20およびデバ
イス30までの全ては、双方向的にデータ・バス50お
よびアドレス・バス60に結合されている。アドレス・
バス60は、データ処理システム5内部においてアドレ
ス情報を転送するために用いられる。データ・バス50
は、データ処理システム5内部において、データ情報お
よび「DTI:data transaction index」と呼ぶデータ
・トランザクション・インデックスの転送に用いられ
る。
【0011】アービタ40は、アドレス・バス60およ
びデータ・バス50に双方向的に結合されている。アー
ビタ40は、データ転送キュー(DTQ:data transfe
r queue )44のコピーをn個含み、その1つずつが共
通分割通信バスに結合されている各デバイスに対応す
る。トランザクション情報は、キュー内に格納され、履
歴リストを形成する。最も古い保留中のトランザクショ
ンがキューの最下位にあり、最新のトランザクションが
最上位にある。トランザクションは、古い順にキューか
ら取り出す必要はないが、トランザクションをキューか
ら取り出す毎に、時間基準リスト(age-based list)を規
則正しく維持する。アービタ40は、デバイス10,デ
バイス20ないしデバイス30の各々に、データ・バス
付与信号を与える。アービタ40は、デバイス自体がタ
ーゲットであることを認識する毎に、当該デバイスの各
々からターゲット指示を受信する。データ処理システム
5内部では、データ・バス50およびアドレス・バス6
0に結合されているデバイスの各々は、マスタとしてま
たはスレーブとして、あるいは双方として動作可能であ
る。マスタは、バスを制御するデバイスを示す。マスタ
は、データ・ソースまたはデータ・シンクである場合も
ある。更に、データ・バス50およびアドレス・バス6
0上の個々のあらゆるトランザクションに対して、いず
れのデバイスでもデータのソースまたはシンクとなるこ
とができる。
【0012】図1に示すデータ処理システムでは、共通
バスに接続されるデバイスはあらゆる数または種類を含
むことも可能である。この場合、全てのデバイスがバス
・プロトコルを利用するように構成されている。アービ
タは、他の論理ブロックまたは機能ユニットを含むこと
も可能である。
【0013】図2は、図1のアービタ40を更に詳細に
示す。アービタは、ブロック44,マスタ認識ユニット
70,ターゲット認識ユニット72,ならびにデータ・
バス付与(GDB)およびDTI値発生ユニット74を
含む。ブロック44は、1,2ないしnまで付番した多
数のキューを収容し、各々図1のデバイス10,2
0,...,30に対応する。キュー1,2,...,
nの各々は、対応するデバイス10,20,...,3
0内に常駐するキュー12,24,...,34のコピ
ーである。キューは、アドレス・バス60およびデータ
・バス50上のトランザクションを追跡するために用い
られる。アドレスがバス上に与えられると、キュー内に
識別子が置かれる。これによって、各アドレス毎に順序
変更したデータの識別が可能となる。各デバイス毎に保
留中のトランザクションのキューを備えることによっ
て、アービタは、アドレスと共にタグ情報を置く必要な
く、効率的にトランザクションを順序付けることが可能
となる。
【0014】アービタは、データ保有期間において、デ
ータ・トランザクション・インデックス(DTI)を用
いる。DTIは、所与のマスタまたはスレーブに対し
て、未決のデータ・トランザクションのキュー内へのポ
インタとして作用する。キュー内の情報は、続くデータ
保有期間にどのトランザクションを処理する(serve)か
を示す。一実施例によれば、DTI値が小さい程、古い
トランザクション、即ち、長期間保留にされているトラ
ンザクションを示す。同様に、DTI値が大きい程、新
しいトランザクションを示す。例えば、3ビットのイン
デックスDTI[0:2]では、DTI=000は最も
古いトランザクションを選択し、DTI=111は8番
目に古いトランザクションを選択する。所与のデータ・
バス保有期間に対するDTI信号は、関連するデータ・
バス付与(DBG)に関係する時点において、システム
によって駆動される。
【0015】また、アービタ40には、マスタ認識ユニ
ット70およびターゲット認識ユニット72も含まれて
おり、各々ブロック44に結合されている。再び図1を
参照すると、分割バスに結合されているデバイスの各々
は、バスを監視し、それらのアドレスの1つを有するト
ランザクション、即ち、当該デバイスをターゲットとす
るトランザクションを求める。あるデバイスが、トラン
ザクションのターゲットであることを検出した場合、こ
のデバイスは、ターゲット指示信号をターゲット認識ユ
ニット72に送る。すると、ターゲット認識ユニット7
2は、トランザクション・ターゲット情報をブロック4
4に与え、ターゲットとしたデバイス,およびユニット
44におけるその対応するキューを識別する。例えば、
デバイス10は、ブロック44のキュー1に対応する。
デバイス10がターゲットに指定されたデバイスである
場合、デバイス10はターゲット指示信号をアービタ4
0に与える。デバイス10からのターゲット指示信号の
受信時に、ターゲット認識ユニット72は、情報をブロ
ック44に供給し、ブロック44は、キュー1,即ち、
デバイス10に対応するキューを選択する。
【0016】マスタ認識ユニット70は、マスタが実行
するアドレス保有期間のために必要とされるデータ・ト
ランザクションを識別する。マスタ認識ユニット70
は、アドレス・バス60に結合されており、ここから、
データ・バス50上で実行するトランザクションに対応
するアドレス情報を受信する。アドレス情報は、データ
・アクセスのアドレスを含み、更に、アクセスするデー
タのサイズ等のような、トランザクションの種別に関す
る情報も含むことができる。マスタ認識ユニット70
は、アドレス・バス60から受信したトランザクション
情報をブロック44に供給する。マスタ認識ユニット7
0からの情報は、選択したキーの内容を与えるために用
いられる。
【0017】また、アービタ40は、DBGおよびDT
I値発生ユニット74も含み、これはブロック44に双
方向的に結合されている。DBGおよびDTI値発生ユ
ニット74は、個々のデータ・バス付与信号DBG1,
DBG2ないしDBGnを発生し、更にDTI値も発生
して、バスに結合されているデバイスの各々に供給す
る。所与のトランザクションに対して、DBGおよびD
TI値発生ユニット74は、ブロック44内のどのキュ
ーからのどのトランザクション・インディケータが次の
トランザクションに対応するかについて判定を行う。次
のトランザクションに対応するDTI値は、適切なDB
Gによって駆動され、そのトランザクションのデータ保
有期間を実行する。
【0018】図3は、図1のデバイス10を詳細な形態
で示す。デバイス10は、マスタ制御ユニット90,タ
ーゲット判定ユニット92,DBGおよびDTI値認識
ユニット94,ならびにデータ・トランザクション・キ
ュー(DTQ)12を含む。データ転送ユニット96
は、データ・バス50に双方向的に結合されており、デ
ータ転送ユニット96は、データ・バス50からデータ
およびトランザクション情報を受信する。データ転送ユ
ニット96は、データ・トランザクション・キュー(D
TQ)12にも双方向的に結合されている。DTQ12
は、0ないしmまでのインデックスされたエントリを収
容する。エントリの各々は、アービタ40に与えられた
マスタ・トランザクションまたはスレーブ・トランザク
ションを表す。データ転送ユニット96は、DTQ12
内にデータ・トランザクション情報を格納し、データ保
有期間に必要とされる機能を実行する。
【0019】DBGおよびD対値認識ユニット94は、
アービタ40から、個々のデータ・バス付与信号DBG
1およびDTI値を受信する。尚、一実施例によれば、
DTI信号はバス上の全デバイスに提供され、一方DB
G1はデバイス10にのみ通知される。別の実施例で
は、各デバイスは、システム内の他のいずれのデバイス
とも接続されていない、専用のDTI信号をアービタ4
0から有することができる。次に、DBGおよびDTI
値認識ユニット94は、次のトランザクションに対応す
るエントリをDTQ12内から選択するために、DTQ
12に情報を与える。
【0020】マスタ制御ユニット90は、アドレス・バ
ス60に双方向的に結合されており、トランザクション
情報がマスタ制御ユニット90によって与えられる。マ
スタ制御ユニット90はDTQ12に結合され、デバイ
ス10についてのトランザクション情報をDTQ12に
与える。ターゲット判定ユニット92も、アドレス・バ
ス60に双方向的に結合されている。ターゲット判定ユ
ニット92は、アドレス・バス60から受信したアドレ
ス情報を用いて、ターゲット・インディケータをいつア
サートするかについて判定を行う。デバイス10が、ト
ランザクションのターゲットであることを検出した場
合、ターゲット判定ユニット92は、それ自体を識別す
るターゲット指示をアービタ40に供給する。デバイス
10は、バス10を探索し、そのアドレス(群)を含む
全てのトランザクションを求める。
【0021】図4は、図1のデータ処理システム5の動
作をタイミング図形態で示す。横軸は時間を表し、t
1,t2,t3,t4,t5,t6,t7において時間
分割されている。縦軸は、データ処理システム5内部に
おける種々の信号の二進電圧レベルを示すために用いら
れる。指定した時間期間の各々の下に、デバイス10内
にあるキューの例を示す。キューの状態は、サイクルの
終了時におけるものである。この情報は、各時間期間毎
にその間のDTQ12の状態を与える。
【0022】アドレス情報はアドレス・バス60上に与
えられ、0からt1までの第1時間期間において、アド
レスA0がバス上でアクティブとなる。アドレスA0
は、バス上に常駐するデバイスの1つから与えられる。
また、縦軸は、データ・バス付与信号,データ・トラン
ザクション・インデックス(DTI)およびデータ・信
号も示す。データはデータ・バス50上に与えられる。
t1で終了する時間期間において、アドレスA0はアド
レス・バス上でアクティブとなっており、時間期間t1
の下に与えるキュー内に示すように、A0が与える情報
は、DTQ12のQ0エントリ内に格納される。一実施
例によれば、DTQ12は、アドレスA0としてブロー
ドキャストされる情報全体を格納するのではなく、アド
レスA0に対応するトランザクションの指示を格納す
る。
【0023】t1ないしt2にわたる次の時間期間にお
いて、アドレスA1がアドレス・バス上でアクティブと
なる。この時間期間の終端において、DTQ12は、キ
ューのエントリQ1内に格納されているアドレスA1に
対応するアドレス・インディケータを有する。尚、DT
Q12のエントリQ0は、A0を保持することを注記し
ておく。同様に、t2から開始しt3で終了する時間期
間では、アドレスA2がアドレス・バス上でアクティブ
となる。時点t3におけるDTQ12の情報は、エント
リQ2内のアドレスA2に対応するトランザクション・
インディケータ,エントリQ1内のA1に対応するトラ
ンザクション・インディケータ,およびエントリQ0内
のA0に対応するトランザクション・インディケータを
有する。t3からt4までの時間期間において、データ
付与がデバイス10に与えられる。また、この時間期間
において、アービタ40が与えるDTIは、1の値を有
する。これは、DTQ12内のQ1エントリに対応す
る。この結果、時点t4ないしt5の間DATA1がデ
ータ・バス上に与えられる。DATA1は、アドレスA
1に対応する。
【0024】時点t5において、A1に対応するトラン
ザクション・インディケータをキューから取り出し、A
2に対応するトランザクション・インディケータにキュ
ーのエントリQ1に移動する。同様に、A0に対応する
トランザクション・インディケータは、エントリQ0内
にある。また、この時間期間において、データ・バス付
与信号DBG1が、デバイス10に与えられる。尚、D
TIは再度、DTQ12内のQ1エントリに対応する、
1の値を有することを注記しておく。
【0025】t5から開始しt6で終了する次のサイク
ルの間、DATA2がデータ・バス50上に与えられ
る。DATA2は、キューのエントリQ1にあるアドレ
スA2に対応する。ここで、位置Q1からA2を取り出
す際にキューを更新し、A0に対応するインディケータ
が、残っている唯一のエントリとなる。これは、キュー
のエントリQ0である。また、この時間期間において、
付与信号が再度デバイス10に対してアサートされ、値
が0のDTIが与えられる。
【0026】図4に示す最後のサイクルの間、付与信号
はデバイス10に対してアサートされず、したがってデ
バイス10は、システム上で発生するDTI値に応答し
ない。最後のサイクルに対するDTIに対応するDAT
A0が、バス上に与えられる。尚、データの供給は、図
4において1サイクルだけ、付与信号のアサートを遅ら
せることを注記しておく。別の実施例では、データがデ
ータ・バス付与信号のアサートを遅らせる時間量は、様
々である。ここで、時間期間t6〜t7では、デバイス
10のキューに格納されているトランザクション・イン
ディケータはない。
【0027】図5は、本発明の一実施例によるデータ処
理システム5の動作の一例を、タイミング図形態で示
す。ここでは、少なくとも1回のトランザクションに、
デバイス10およびデバイス20が関与する。図5の横
軸は時間を表し、t1,t2,t3,t4,t5,t
6,t7,t8で示す時間期間を含む。縦軸は、データ
処理システム5内部の種々の信号を表す。信号は、デバ
イス10マスタリング・アドレスを含み、アドレス情報
がデバイス10によってアドレス・バス60上に与えら
れる。また、信号は、デバイス20マスタリング・アド
レスも含み、これは、デバイス20によってアドレス・
バス60に与えられるアドレス情報を示す。
【0028】更に、デバイス10およびデバイス20の
ターゲット・インディケータも示されており、デバイス
・ターゲット・インディケータは、各デバイスからアー
ビタ40に与えられる。DBG1,DBG2も、図5に
示す信号に含まれている。DBG1は、アービタ40が
デバイス10に与えるデータ・バス付与信号であり、D
BG2は、アービタ40からデバイス20に与えるデー
タ・バス付与信号である。更に、データ・トランザクシ
ョン・インデックス情報(DTI)も、図5には示され
ている。一実施例によれば、DTIは、アービタ40に
よって、システム内部にある全てのデバイスに与えられ
ることを注記しておく。
【0029】最後に、縦軸に沿って、DATAが示され
ている。これは、データ・バス50上でアクティブなデ
ータ情報を示す。各時間期間の下に、2つのキューが示
されている。左側に位置する第1キューは、デバイス1
0のデータ・トランザクション・キューであるDTQ1
2を表す。右側に位置する第2キューは、デバイス20
のデータ・トランザクション・キューであるDTQ24
を表す。t1で終了する時間期間において、DTQ12
は、エントリQ0内にアドレスA0に対応するトランザ
クション・インディケータを有し、その他のエントリは
全て空である。また、この時間期間において、DTQ2
4は、その全てのエントリが空である。この第1時間期
間に示すように、デバイス10はマスタであり、アドレ
ス・バス60上のアドレスA0に対応するアドレス情報
を与えている。アドレスA0は、実行すべき具体的なト
ランザクションを示し、この場合トランザクション・イ
ンディケータはDTQ12に格納されている情報であ
る。トランザクション・インディケータは、典型的に、
アドレスおよびトランザクション種別を含む。トランザ
クション種別は、リード,ライト,または修正を意図す
るリードとすることができる。別の実施例では、バース
ト型トランザクションにおける転送するバイト数、即
ち、トランザクションのサイズを含むことも可能であ
る。
【0030】t1から開始しt2で終了する第2時間期
間では、デバイス10が再度アドレス・バスのマスタと
なり、このときは、アドレス・バス60上にアドレスA
1を与える。アドレスA1も対応するトランザクション
を有し、アドレスA1に対応するトランザクション情報
は、TDQ12のエントリQ1に格納されている。デバ
イス10がアドレス・バス60上にアドレスA1を与え
ると、デバイス20は、アドレス・バスを探索し、それ
が関与するトランザクションを監視する。また、この時
間期間において、デバイス20は、それがアドレスA1
によって示されるトランザクションのターゲットである
と判断し、したがってアービタ40に対するそのターゲ
ット・インディケータをアサートする。このようにし
て、デバイス20は、アービタ40に、それがこのトラ
ンザクションに関与するターゲット・デバイスであるこ
とを承認する。デバイス20は、このトランザクション
におけるシンクでもソースでもよい。尚、これは、アー
ビタ40に、アドレスA1に関連するトランザクション
指示情報は、DTQ12のみに格納するのではなく、デ
バイス20のデータ・トランザクション・キューである
DTQ24にも格納すべきことを示すという点を注記し
ておく。
【0031】t2から開始しt3で終了する次の時間期
間では、アドレスA2に関連するトランザクションに対
して、デバイス20がここではアドレス・バスのマスタ
となる。デバイス2は、アドレスA2をアドレス・バス
60上に与える。この時間期間において、デバイス10
はアドレス・バスを探索し、アドレスA2が示すトラン
ザクションのターゲットであることを発見する。これに
応答して、デバイス10は、アービタ40に対するその
ターゲット・インディケータをアサートする。時点t3
において、DTQ12は、アドレスA2に対応するトラ
ンザクション・インディケータをエントリQ2に収容
し、アドレスA1に対応するトランザクション・インデ
ィケータをエントリQ1に収容し、アドレスA0に対応
するアドレス・インディケータをエントリQ0に収容す
る。同様に、DTQ24は、アドレスA2に対応するト
ランザクション・インディケータをエントリQ1に含
み、アドレスA1に対応するトランザクション・インデ
ィケータをエントリQ0に含む。尚、t1からt2まで
のサイクルおよびt2からt3までのサイクルでは、こ
れらのキューは同一トランザクション・インディケータ
を収容するが、位置が異なることを注記しておく。t1
からt2までの第1時間期間では、アドレスA1に対応
するトランザクション・インディケータは、DTQ12
ではエントリQ1内に位置するが、DTQ24ではエン
トリQ0に位置する。同様に、t2からt3までの時間
期間では、アドレスA2に対応するトランザクション・
インディケータは、DTQ12ではエントリQ2に格納
されるが、DTQ24ではエントリQ1に格納される。
本発明の別の実施例では、アドレス保有期間と関連する
ターゲット・インディケータとの間には遅延があり得る
ことを注記しておく。
【0032】t3からt4までの次のサイクルの間、ア
ービタ40は、デバイス10にデータ・バスを付与する
データ・バス付与信号DBG1をアサートし、デバイス
10が次のトランザクションに関与することを示す。同
時に、値が1のDTI信号を与え、DTQ12のエント
リ1にあるトランザクションが次のデータ・トランザク
ションであることを示す。DTQ12のエントリ1内に
ある情報は、次のトランザクションがアドレスA1に対
応するデータを伴うことを示す。
【0033】デバイス10は、アドレスA1に対応する
データを与える場合も、あるいはアドレスA1に対応す
るデータを受信する場合もあり得る。トランザクション
識別子は、デバイス10がこのトランザクションのソー
スかあるいはシンクかに関する情報を与える。この場
合、デバイス10はデータを供給しているが、アドレス
A1に対応するトランザクション・インディケータがD
TQ12およびDTQ24において異なる位置にあるの
で、異なるサイクルにおいてデータ・バスをソースおよ
びシンクに付与する必要がある。
【0034】このように、t4からt5までの次のサイ
クルの間、アービタ40は、デバイス20に対するDB
G2をアサートして、データ・バスをデバイス20に付
与する。尚、このトランザクションでは、デバイス10
がソースであり、デバイス20がシンクであるが、同様
のトランザクションにおいて、デバイス10がシンクと
なり、デバイス20がソースとなる可能性もあることを
注記しておく。また、DBG1,DBG2の供給順序
は、必ずしもどちらがソースでどちらがシンクかを示す
訳ではない。t4から開始するサイクルの間、アービタ
40はDBG2をデバイス20に与える。また、この時
間中、値が0のDTIが与えられる。これが必要なの
は、アドレスA1が、DBG2に対応するDTQ24の
エントリ0にあるからである。このように、データ・バ
ス付与信号の供給に、DTIの値を結合することによっ
て、各デバイス毎に、使用するトランザクション・イン
ディケータの指示を与える。
【0035】時点t5から開始しt6で終了する時間期
間では、アドレスA1に対応するトランザクションに対
応するDATA1が、データ・バス50上に与えられ
る。このサイクルの間、DBG2がアービタ40によっ
てデバイス20に与えられ、値が0のDTIがアービタ
40によって与えられる。これは、次のトランザクショ
ンがアドレスA2に対応することを示す。尚、この時間
期間において、DTQ12は、アドレスA2に対応する
トランザクション・インディケータをエントリQ1に収
容し、アドレスA0に対応するトランザクション・イン
ディケータをエントリQ0に収容することを注記してお
く。一方、DTQ24は、アドレスA2に対応するトラ
ンザクション・インディケータを、エントリQ0に収容
する。
【0036】t6から開始する次のサイクルでは、アー
ビタ40はDBG1をアサートし、デバイス10にデー
タ・バスを付与する。同時に、値が1のDTIが与えら
れる。これは、DTQ12内の最初のエントリがトラン
ザクションを表すことを示。ここでは、トランザクショ
ンはアドレスA2に対応する。t7から開始する次の時
間期間では、アドレスA2に対応するDATA2が、デ
ータ・バス50上に与えられる。ここでは、DTQ12
の状態は、エントリQ1ないしQ3が空であり、アドレ
スA0に対応するトランザクション・インディケータが
エントリQ0に収容されている。DTQ24のエントリ
は全て空である。
【0037】アービタ40の動作を、図6に更に詳細に
示す。ここでは、フロー・チャートを用いて、アービタ
40内の各モジュールの動作を追跡する。図2を参照す
ると、アービタ40の詳細が示されており、アービタ4
0は、マスタ認識ユニット70,ターゲット認識ユニッ
ト72,ならびにDBGおよびDTI発生ユニット74
を含む。図6は、マスタ認識ユニット70の動作を示
す。図6を参照すると、プロセス・フローは、判断ダイ
アモンド100から開始し、ここで新たなトランザクシ
ョンが検出されたか否かについて判定を行う。尚、図6
ないし図11で用いる表記法では、トランザクションを
「XN」で示すことを注記しておく。判断ダイアモンド
100に続いて、新たなトランザクションが検出されな
い場合、プロセス・フローは判断ダイアモンド100に
戻り、新たなトランザクションを監視し続ける。新たな
トランザクションが検出された場合、プロセス・フロー
はブロック102に進む。ここで、デバイス「X」がト
ランザクションのマスタとして識別される。プロセス・
フローはブロック104に進み、デバイスXに対応する
キューのコピーに、トランザクション情報を入力する。
デバイスXに対応するキューのコピーは、図1および図
2に示すように、データ処理システム5のアービタ40
のブロック44内に常駐する。プロセス・フローはブロ
ック106に進み、現トランザクションに対するターゲ
ット・インディケータを監視し始める。監視は、ターゲ
ット認識ユニット72が行う。マスタ認識ユニット70
は、ターゲット認識ユニット72に情報を与え、アドレ
ス・バス60の監視を開始する。次に、マスタ認識ユニ
ット70内部におけるプロセス・フローは、判断ダイア
モンド100に戻り、次のトランザクションを待つ。
【0038】ターゲット認識ユニット72内部における
フローを更に図7に示す。ブロック106は、ターゲッ
ト認識ユニット72の動作を起動し、ブロック110に
て開始する。プロセス・フローは判断ダイアモンド11
2に進み、このトランザクションに対してターゲット・
インディケータが検出されたか否かについて判定を行
う。インディケータが検出されない場合、プロセス・フ
ローは判断ダイアモンド112に戻る。ターゲット・イ
ンディケータが検出された場合、プロセス・フローはブ
ロック114に進み、ターゲット・インディケータ情報
に基づいて、このトランザクションに対してターゲット
・デバイス「Y」を識別する。プロセス・フローはブロ
ック116に進み、このトランザクションに対応するト
ランザクション識別子を、アービタ40内に位置するデ
バイスYのキューのコピーにも入力する。尚、デバイス
Yに対応するキューは、図2に示したブロック44の多
数のキュー内にも収容されることを注記しておく。一旦
トランザクション識別子がYのキューのコピーに格納さ
れたなら、ターゲット認識ユニット72のプロセス・フ
ローは完了する。
【0039】図8は、DBGおよびDTI値発生ユニッ
ト74の動作を示す。プロセス・フローはブロック12
0にて開始し、アービタ40のブロック44内に収容さ
れているデータ・トランザクション・キュー(DTQ)
の全てを検索する。ブロック44を検索し、次に実行す
るべき優先トランザクション(priority transaction)を
見つけ出す。これは、最も高い優先度とすればよく、あ
るいは他の何らかの優先順方式にしたがって選択するこ
とも可能である。典型的に、次のトランザクションの選
択は、データ・バスの利用度を最大に高めるように考慮
することを基準とする。このようにして、データ・バス
上で長い待ち時間を必要とするトランザクションの順序
を変更し、これらの待ち時間に、順序通りではないトラ
ンザクションのためのデータ転送を満たす。
【0040】次に、プロセス・フローはブロック122
に進み、このトランザクションに対するデータ・ソース
・デバイスXに対応するデータ・トランザクション・イ
ンデックス(DTI)値「A」,およびこのトランザク
ションに対するデータ・シンク・デバイスYに対応する
DTI値「B」を決定する。ここでは、デバイスXがデ
ータを与え、デバイスYがデータを受信する。尚、ソー
スおよびシンクの指示は、マスタおよび/またはスレー
ブの指示ではなく、むしろデータ処理システム5内部に
おけるデータ・フローの方向を示すことを注記してお
く。シンクおよびソースの指示は、DTQ内に格納され
ているトランザクション・インディケータ内に収容され
る。
【0041】次に、プロセス・フローは判断ダイアモン
ド124に進み、デバイスXに対応するDTI値が、デ
バイスYに対応するDTI値に等しいか否か、即ち、A
=Bか否かについて判定を行う。本発明の一実施例によ
るDTI値は、それぞれのキューにおける位置であるこ
とを注記しておく。したがって、デバイスXに対するD
TI値は、デバイスXに対応するキューのコピー内部に
おけるこのトランザクションに対するトランザクション
・インディケータの位置となる。同様に、デバイスYの
DTI値は、このトランザクションに対応するトランザ
クション・インディケータが格納されている、デバイス
Yに対応するキューのコピー内における位置となる。
【0042】双方のDTI値が等しい場合、プロセス・
フローはブロック126に進み、DTI導体上のデータ
・バス50に、そのDTI値を与える。次に、プロセス
・フローはブロック130に進み、アービタ40はデバ
イスXおよびデバイスYに同時にデータ・バスを付与す
る。これを行う際、デバイスX,Yに向かうDBG信号
を同時にアサートする。次に、データ・フローはブロッ
ク134に進む。ブロック134において、このトラン
ザクションに対応するトランザクション・インディケー
タを、アービタ40のブロック44内部にある関連する
キューの各々から除去する。次に、プロセス・フローは
ブロック120に戻り、ブロック44のキューから次の
優先トランザクションを検索する。
【0043】判断ダイアモンド124に戻り、デバイス
XおよびデバイスYに対応するDTI値が等しくない場
合、プロセス・フローはブロック128に進む。この時
点において、デバイスXに対するこのトランザクション
に対応するトランザクション・インデックスを、DTI
導体上のデータ・バスに与える。このように、データ処
理システム5内部においてDTI値を提供する。同時
に、1つのDBG信号をデバイスに与える。この時点で
は、デバイスYにバス付与信号を与えない。次いで、プ
ロセス・フローはブロック132に進み、後の時点にお
いて、デバイスYに対するトランザクションに対応する
DTI値をデータ・バス50上に与え、同時に、デバイ
スYに対するDBG信号をデバイスYに与える。このよ
うに、第1時間期間では、DTIおよびDBGの組み合
わせは、デバイスXのDTQ内におけるトランザクショ
ン・インディケータの位置を示す。後の時点において、
DBGおよびDTIの組み合わせは、デバイスYのDT
Qにおけるトランザクション・インディケータの位置に
関する情報を与える。これが必要なのは、アービタ40
のブロック44はデバイスの各々に常駐するキューのコ
ピーを収容するからである。所与のトランザクションに
対して、トランザクション・インディケータの位置が、
デバイスXおよびデバイスYでは異なる場合、一方のみ
の位置を与えるだけでは十分ではない。むしろ、デバイ
スXおよびデバイスYのDTQ内におけるトランザクシ
ョン・インディケータの位置が、トランザクションに影
響を与えると判断される。この情報を時間的にシフトす
ることによって、各デバイスは、データ・バス付与信号
を受信したときに、トランザクション・インディケータ
を突き止めることが可能となる。尚、DTI値は処理シ
ステム5内部にある全てのデバイスに付与されるが、各
デバイスは個々のデータ・バス付与信号を有することを
注記しておく。別の実施例では、各デバイスがそれ自体
のDTI信号をアービタから受信する場合、DTIが同
一でなくとも、トランザクションに同時に関与するデバ
イス双方に、DBG信号およびDTI信号を発行するこ
とができる。
【0044】処理フローはブロック134に進む。ブロ
ック134において、このトランザクションに対応する
トランザクション・インディケータを、アービタ40の
ブロック44内部にある、関連するDTQの各々から除
去する。次いで、プロセス・フローはブロック120に
戻り、ブロック44内部のDTQのコピーを検索して、
次の優先トランザクションを求める。
【0045】図3を参照すると、デバイス10が詳細に
示されている。デバイス10の動作を図9に示す。デバ
イス10は、マスタ制御ユニット90,ターゲット判定
ユニット92,ならびにDBGおよびDTI値認識ユニ
ット94を含む。処理フローは、判断ダイアモンド20
0にて開始し、このデバイスが新たなトランザクション
のマスタであるか否かについて判定を行う。この判断に
より、デバイス10がアドレス・バス60上に情報を与
えることになるか否かについて判定を行う。このデバイ
スがアドレス保有期間のマスタでない場合、プロセス・
フローは判断ダイアモンド200に戻る。このデバイス
がマスタである場合、プロセス・フローはブロック20
2に進み、アドレス・バス60上にアドレス値を置く。
次に、プロセス・フローはブロック204に進み、デー
タ・トランザクション・キュー12の最初に使用可能な
エントリ、即ち、末尾にトランザクション識別子を入力
する。マスタは、各トランザクションの開始毎に、デー
タ保有期間を必要とするトランザクションのために、そ
のDTQの末尾に新たなトランザクションを追加する。
次に、プロセス・フローは判断ダイアモンド200に戻
る。
【0046】図10は、デバイス10内部にあるターゲ
ット判定ユニット92のプロセス・フローを示す。ここ
では、プロセス・フローはブロック206にて開始し、
デバイス10はアドレス・バス60を探索する。探索を
行い、デバイス10が、アドレス・バス60上で指定さ
れているいずれかのトランザクションのターゲットであ
るか否かについて判定を行う。次に、プロセスは判断ダ
イアモンド208に進み、デバイス10がトランザクシ
ョンのターゲットであるか否かについて判定を行う。タ
ーゲットでない場合、プロセス・フローはブロック20
6に戻り、探索を継続する。デバイスがトランザクショ
ンのターゲットである場合、プロセス・フローはブロッ
ク210に進み、ターゲット・インディケータをアサー
トし、このデバイスが次のトランザクションに関与する
ことの指示を、アービタ40に与える。アービタ40が
ターゲット・インディケータを受信すると、このデバイ
スに関連するキューにトランザクション・インディケー
タ情報を格納することがわかる。次に、プロセス・フロ
ーはブロック212に進み、デバイスのDTQ内で最初
に使用可能なエントリに、トランザクション識別子を入
力する。次いで、ブロック206に戻ることによって、
プロセス・フローは継続する。
【0047】図11は、デバイス10のDBGおよびD
TI値認識ユニットの動作を示す。ここでは、プロセス
・フローは判断ダイアモンド214にて開始し、DBG
信号がこのデバイスに与えられたか否かについて判定を
行う。データ・バス付与が受信されていない場合、プロ
セス・フローは判断ダイアモンド214に戻る。DBG
信号が受信されている場合、プロセス・フローはブロッ
ク216に進む。ここで、DTI信号値を用いて、デー
タ・トランザクション・キュー12からトランザクショ
ン識別子を選択する。次に、プロセス・フローはブロッ
ク218に進み、DTQ12からトランザクション識別
子を除去し、DTQ12を更新する。次いで、プロセス
・フローは判断ダイアモンド214に戻る。
【0048】以上、具体的な実施例を参照しながら本発
明を説明しかつ例示したが、本発明をこれら例示の実施
例に限定することを意図するものではない。本発明の精
神および範囲から逸脱することなく、変更や変形が可能
であることを当業者は認めよう。したがって、本発明
は、特許請求の範囲に該当する変形や変更全てを包含す
ることを意図するものである。
【0049】本発明は、トランザクションのアドレス部
分と共にタグ情報を含ませるという必要性を排除しつ
つ、分割通信バス上においてデータ・トランザクション
の順序変更を可能にする。これは、時間基準データ・ト
ランザクション・インデックスを用いることによって、
完全な順序不問のデータ転送を可能にするものである。
このインデックスは、データ保有期間においてのみ用い
られる。許される保留トランザクションの最大数が、最
小サイズのインデックスを決定する。
【0050】一実施例によれば、バスに結合されている
各デバイス内にデータ・トランザクション・キューを維
持し、かつ中央の調停ユニット内に各キューのコピーを
維持することによって、キュー条件の異なる2つのデバ
イス間の単一のトランザクションを調整することが可能
となる。データ・トランザクション・インデックスを用
いて、次のトランザクションのキュー内の位置を突き止
め、データ・トランザクション・インデックスをシステ
ム内の全てのデバイスに提供する。各デバイスに個々の
データ・バス付与信号を与え、それらの間で区別する。
本発明の一実施例は、単一トランザクションのソース・
デバイスおよびシンク・デバイス双方に、1組の信号の
みを用いて、これらのデバイスに異なるトランザクショ
ン情報を与える。これは、デバイスへの情報を時間多重
化することによって行う。これは、各デバイスの状態を
調整し、1組のバス信号(bussed signal)のみを用い
て、同一トランザクションに対して多数のトランザクシ
ョン情報を生成するという利点が得られる。
【図面の簡単な説明】
【図1】本発明の一実施例によるデータ処理システムを
示すブロック図。
【図2】本発明の一実施例による、図1のデータ処理シ
ステムのアービタを示すブロック図。
【図3】本発明の一実施例による、図1のデータ処理シ
ステムのデバイスを示すブロック図。
【図4】本発明の一実施例の動作を示すタイミング図。
【図5】本発明の一実施例の動作を示すタイミング図。
【図6】本発明の一実施例におけるアービタの動作を示
すフロー・チャート。
【図7】本発明の一実施例におけるターゲット認識ユニ
ットの動作を示すフロー・チャート。
【図8】本発明の一実施例におけるDBGおよびDTI
値発生ユニットの動作を示すフロー・チャート。
【図9】本発明の一実施例におけるデバイスの動作を示
すフロー・チャート。
【図10】本発明の一実施例におけるターゲット判定ユ
ニットの動作を示すフロー・チャート。
【図11】本発明の一実施例におけるDBGおよびDT
I値認識ユニットの動作を示すフロー・チャート。
【符号の説明】
5 データ処理システム 10,20,30 デバイス 12,24,34 データ・トランザクション・キュ
ー(DTQ) 40 アービタ 44 データ転送キュー 50 データ・バス 60 アドレス・バス 70 マスタ認識ユニット 72 ターゲット認識ユニット 74 データ・バス付与(GDB)およびDTI値発
生ユニット 90 マスタ制御ユニット 92 ターゲット判定ユニット 94 DBGおよびDTI値認識ユニット 96 データ転送ユニット
───────────────────────────────────────────────────── フロントページの続き (72)発明者 デイビッド・ウィリアム・トッド アメリカ合衆国テキサス州オースチン、バ ック・ベイ・レーン6203 (72)発明者 ブライアン・キース・レイノルズ アメリカ合衆国テキサス州ラウンド・ロッ ク、ボブキャット・ドライブ8710 (72)発明者 マイケル・ジュリオ・ガーシア アメリカ合衆国テキサス州オースチン、ケ イビュー・ドライブ5803

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】データ処理システムにおけるトランザクシ
    ョン実行方法であって:複数のトランザクションを表す
    複数のトランザクション・インディケータを受信する段
    階;前記複数のトランザクション・インディケータの各
    々に、一意のトランザクション・インデックス値を割り
    当てる段階;前記複数のトランザクションの内第1トラ
    ンザクションを実行する段階であって、前記複数のトラ
    ンザクションの内第2トランザクションが、前記複数の
    トランザクションの内前記第1トランザクションよりも
    長く保留にされている、段階;および前記一意のトラン
    ザクション・インデックス値の少なくとも1つを割り当
    てし直す段階;から成ることを特徴とする方法。
  2. 【請求項2】データ処理システムであって:複数のトラ
    ンザクションを表す複数のトランザクション・インディ
    ケータを受信可能な第1回路;前記複数のトランザクシ
    ョン・インディケータの各々に一意のトランザクション
    ・インデックス値を割り当て可能な第2回路;前記複数
    のトランザクションの内第1トランザクションを実行可
    能な第3回路であって、前記複数のトランザクションの
    内第2トランザクションが、前記複数のトランザクショ
    ンの内前記第1トランザクションより古い、第3回路;
    およびおよび前記一意のトランザクション・インデック
    ス値の少なくとも1つを割り当てし直すことが可能な第
    4回路;から成ることを特徴とするデータ処理システ
    ム。
  3. 【請求項3】データ処理システムであって:データ信号
    部分およびデータ・インデックス信号部分を有する分割
    トランザクション・バス(50,60);前記分割トラ
    ンザクション・バスに結合された第1デバイス;および
    前記分割トランザクション・バスに結合されたアービタ
    (40);から成り、前記アービタが:前記第1デバイ
    ス(10,20,...,30)に対応する第1トラン
    ザクション・キュー(1,2,...,n)であって、
    第1トランザクションを伴う第1位置,および第2トラ
    ンザクションを伴う第2位置を有する、第1トランザク
    ション・キュー;第2トランザクションを実行する際
    に、前記第1トランザクションを前記第1位置から前記
    第2位置に変更可能な第1回路(74);第1データ・
    バス付与信号を前記第1デバイスに与えることが可能な
    第2回路(74);およびトランザクション・インデッ
    クス信号を前記第1デバイスに与えることが可能な第3
    回路(74)であって、前記第1トランザクション・イ
    ンデックス信号が、前記第1トランザクション・キュー
    内の第2位置に対応する、第3回路;を備え、前記第1
    デバイスは、当該第1デバイスが前記アービタから前記
    第1データ・バス付与信号を受信し、かつ前記トランザ
    クション・インデックス信号を受信したことに応答し
    て、前記分割トランザクション・バスの前記データ部分
    にアクセス可能であることを特徴とするデータ処理シス
    テム。
  4. 【請求項4】データ処理システムにおけるデータ・トラ
    ンザクション実行方法であって:第1トランザクション
    の第1識別子および第2トランザクションの第2識別子
    を、第1デバイスに対応する第1デバイス・キューに格
    納し、その際前記第1識別子を前記第1デバイス・キュ
    ー内の第1位置に格納し、前記第2識別子を前記第1デ
    バイス・キュー内の第2位置に格納する段階、前記第1
    位置が前記第2位置とは異なる、段階;第1時点におい
    て、第1データ・トランザクション・インデックス信号
    および第1データ・バス付与信号を前記第1デバイスに
    発生する段階であって、前記第1データ・トランザクシ
    ョン・インデックス信号が前記第1位置に対応する、段
    階;前記第1デバイス・キューの順序を変更し、前記第
    2識別子を前記第2位置から前記第1デバイス・キュー
    内の第3位置に移動する段階であって、前記第3位置が
    前記第2位置とは異なる、段階;および前記第1時点後
    の第2時点において、第2データ・トランザクション信
    号および第2データ・バス付与信号を前記第2デバイス
    に発生する段階であって、前記第2データ・トランザク
    ション・インデックス信号が前記第3位置に対応する、
    段階;から成ることを特徴とするトランザクション実行
    方法。
  5. 【請求項5】データ処理方法であって:アービタ内部に
    おいて第1ターゲット・インディケータを受信する段階
    であって、前記アービタが第1デバイス・キューおよび
    第2デバイス・キューを有し、前記第1ターゲット・イ
    ンディケータが第1デバイスを識別する、段階;第1ト
    ランアクションの第1識別子を、前記第1デバイスに対
    応する前記第1デバイス・キューに格納する段階であっ
    て、前記第1識別子を前記第1デバイス・キュー内の第
    1位置に格納する段階;前記第1トランザクションの前
    記第1識別子を、前記第2デバイスに対応する前記第2
    デバイス・キューに格納する段階であって、前記第1識
    別子を前記第2デバイス・キュー内の第2位置に格納
    し、前記第2位置が前記第1位置と異なる、段階;第1
    時点において、第1データ・トランザクション・インデ
    ックス値および第1データ・バス付与信号を前記第1デ
    バイスに発生する段階;および前記第1時点後の第2時
    点において、第2データ・トランザクション・インデッ
    クス値および第2データ・バス付与信号を前記第2デバ
    イスに発生する段階;から成ることを特徴とするデータ
    処理方法。
JP11216930A 1998-07-31 1999-07-30 データ処理システムにおけるデータ・トランザクション実行方法および装置 Pending JP2000285068A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/127,459 US6240479B1 (en) 1998-07-31 1998-07-31 Method and apparatus for transferring data on a split bus in a data processing system
US127459 1998-07-31

Publications (1)

Publication Number Publication Date
JP2000285068A true JP2000285068A (ja) 2000-10-13

Family

ID=22430233

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11216930A Pending JP2000285068A (ja) 1998-07-31 1999-07-30 データ処理システムにおけるデータ・トランザクション実行方法および装置

Country Status (6)

Country Link
US (1) US6240479B1 (ja)
EP (1) EP0981093A3 (ja)
JP (1) JP2000285068A (ja)
KR (1) KR100596947B1 (ja)
CN (1) CN1191521C (ja)
TW (1) TW518470B (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020030223A (ko) * 2000-10-16 2002-04-24 주식회사 알라딘소프트 주기억장치 데이터베이스 시스템에서 고성능 트랜잭션을지원하기 위한 로깅 및 회복 방법
JP2006331426A (ja) * 2005-05-26 2006-12-07 Arm Ltd データ処理装置用相互接続論理

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6816934B2 (en) * 2000-12-22 2004-11-09 Hewlett-Packard Development Company, L.P. Computer system with registered peripheral component interconnect device for processing extended commands and attributes according to a registered peripheral component interconnect protocol
DE19854178A1 (de) * 1998-11-24 2000-05-31 Siemens Ag Bus für hochskalierbares Multiprozessorsystem, dazugehöriges redundantes Bussystem, sowie Verfahren zum Übertragen von Information in einem derartigen Bussystem
US6513084B1 (en) * 1999-06-29 2003-01-28 Microsoft Corporation Arbitration of state changes
US6801954B1 (en) * 2000-02-25 2004-10-05 Hewlett-Packard Development Company, L.P. Method and apparatus to concurrently operate on multiple data movement transactions in a disk array subsystem
US6594722B1 (en) * 2000-06-29 2003-07-15 Intel Corporation Mechanism for managing multiple out-of-order packet streams in a PCI host bridge
US6845115B2 (en) * 2002-12-05 2005-01-18 Agilent Technologies, Inc. Coupled resonant cavity surface-emitting laser
US7111001B2 (en) * 2003-01-27 2006-09-19 Seiko Epson Corporation Event driven transaction state management with single cache for persistent framework
US7062582B1 (en) * 2003-03-14 2006-06-13 Marvell International Ltd. Method and apparatus for bus arbitration dynamic priority based on waiting period
US6993619B2 (en) * 2003-03-28 2006-01-31 International Business Machines Corporation Single request data transfer regardless of size and alignment
US20050091306A1 (en) 2003-10-02 2005-04-28 Charbel Khawand Interprocessor communication protocol with high level service composition
US7203780B2 (en) 2005-02-22 2007-04-10 Kabushiki Kaisha Toshiba System and method for facilitating communication between devices on a bus using tags
US7290074B2 (en) * 2005-04-06 2007-10-30 Kabushiki Kaisha Toshiba Back-off timing mechanism
US7373444B2 (en) * 2005-04-15 2008-05-13 Kabushiki Kaisha Toshiba Systems and methods for manipulating entries in a command buffer using tag information
US7865684B2 (en) * 2005-06-27 2011-01-04 Ab Initio Technology Llc Managing message queues
CN100410884C (zh) * 2005-09-06 2008-08-13 大连海事大学 一种基于pid思想的小组协同处理事务的事务分配方法
US7738483B2 (en) * 2005-09-08 2010-06-15 Kabushiki Kaisha Toshiba Systems and methods for managing communication between master and slave devices
KR100873010B1 (ko) 2007-05-17 2008-12-09 한국과학기술원 논블록킹 마스터, 버스 중재장치, 버스 시스템, 및 버스중재 방법
US7613859B2 (en) * 2007-09-12 2009-11-03 Kabushiki Kaisha Toshiba Back-off timing mechanism in a digital signal processor
US20100325327A1 (en) * 2009-06-17 2010-12-23 Freescale Semiconductor, Inc. Programmable arbitration device and method therefor
US10255103B2 (en) * 2017-04-04 2019-04-09 Arm Limited Transaction handling

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5036456A (en) * 1987-02-13 1991-07-30 Honeywell Information Systems Inc. Apparatus for controlling concurrent operations of a system control unit including activity register circuitry
US6182176B1 (en) * 1994-02-24 2001-01-30 Hewlett-Packard Company Queue-based predictive flow control mechanism
US5394351A (en) * 1994-03-11 1995-02-28 Nexgen, Inc. Optimized binary adder and comparator having an implicit constant for an input
US5548795A (en) * 1994-03-28 1996-08-20 Quantum Corporation Method for determining command execution dependencies within command queue reordering process
US5659707A (en) * 1994-10-07 1997-08-19 Industrial Technology Research Institute Transfer labeling mechanism for multiple outstanding read requests on a split transaction bus
US5699516A (en) 1994-12-22 1997-12-16 Motorola, Inc. Method and apparatus for implementing a in-order termination bus protocol within a data processing system
US5890222A (en) * 1995-01-04 1999-03-30 International Business Machines Corporation Method and system for addressing registers in a data processing unit in an indirect addressing mode
US5638538A (en) * 1995-01-13 1997-06-10 Digital Equipment Corporation Turbotable: apparatus for directing address and commands between multiple consumers on a node coupled to a pipelined system bus
US5901295A (en) * 1995-04-28 1999-05-04 Apple Computer, Inc. Address and data bus arbiter for pipelined transactions on a split bus
US5778434A (en) * 1995-06-07 1998-07-07 Seiko Epson Corporation System and method for processing multiple requests and out of order returns
JPH09128325A (ja) * 1995-11-06 1997-05-16 Mitsubishi Electric Corp 階層バス制御方式及びバスブリッジ
US5790813A (en) * 1996-01-05 1998-08-04 Unisys Corporation Pre-arbitration system allowing look-around and bypass for significant operations
US5805595A (en) * 1996-10-23 1998-09-08 Cisco Systems, Inc. System and method for communicating packetized data over a channel bank
KR100253192B1 (ko) * 1997-09-05 2000-04-15 구자홍 분산 공유 메모리 구조에서의 시스템 버스 제어방법

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020030223A (ko) * 2000-10-16 2002-04-24 주식회사 알라딘소프트 주기억장치 데이터베이스 시스템에서 고성능 트랜잭션을지원하기 위한 로깅 및 회복 방법
JP2006331426A (ja) * 2005-05-26 2006-12-07 Arm Ltd データ処理装置用相互接続論理
JP4696024B2 (ja) * 2005-05-26 2011-06-08 エイアールエム リミテッド データ処理装置用相互接続論理
US8190801B2 (en) 2005-05-26 2012-05-29 Arm Limited Interconnect logic for a data processing apparatus

Also Published As

Publication number Publication date
KR100596947B1 (ko) 2006-07-07
EP0981093A2 (en) 2000-02-23
CN1191521C (zh) 2005-03-02
EP0981093A3 (en) 2002-12-11
US6240479B1 (en) 2001-05-29
CN1245920A (zh) 2000-03-01
TW518470B (en) 2003-01-21
KR20000012128A (ko) 2000-02-25

Similar Documents

Publication Publication Date Title
JP2000285068A (ja) データ処理システムにおけるデータ・トランザクション実行方法および装置
US7941584B2 (en) Data processing apparatus and method for performing hazard detection
US5377332A (en) Bus arbitration algorithm and apparatus
US5664117A (en) Apparatus and method for prefetching data to load buffers in a bridge between two buses in a computer
KR100524575B1 (ko) 데이타 처리시스템에서 복수개의 메모리 억세스 리퀘스트신호를리오더링하는 방법
US5901295A (en) Address and data bus arbiter for pipelined transactions on a split bus
US5574868A (en) Bus grant prediction technique for a split transaction bus in a multiprocessor computer system
US20170004097A1 (en) System bus transaction queue reallocation
KR100387541B1 (ko) 멀티프로세서 시스템에서 캐쉬 코히어런시 유지 방법, 멀티프로세서 시스템 및 노드 제어기
JP4414096B2 (ja) 多重プロセッサ・コンピュータ・システム用の順序外れスヌーピング
JP5576030B2 (ja) データ応答を順序変更するためのシステム
AU1716888A (en) Computer systems
US20060277349A1 (en) Method of accessing information and system therefor
US7107367B1 (en) Method for efficient buffer tag allocation
US6907502B2 (en) Method for moving snoop pushes to the front of a request queue
US6901467B2 (en) Enhancing a PCI-X split completion transaction by aligning cachelines with an allowable disconnect boundary's ending address
SE519920C2 (sv) Förfarande och anordning för genomförande av busstransaktioner i ett datorsystem
US6493802B1 (en) Method and apparatus for performing speculative memory fills into a microprocessor
US6560664B1 (en) Method and apparatus for translation lookaside buffers to access a common hardware page walker
US7130946B2 (en) Configuration and method having a first device and a second device connected to the first device through a cross bar
JPH08161254A (ja) 情報処理システムおよびそのバス調停方式
US5708783A (en) Data bus arbiter for pipelined transactions on a split bus
JPH0581178A (ja) パイプラインバス
US5872937A (en) System for optimizing bus arbitration latency and method therefor
US5815676A (en) Address bus arbiter for pipelined transactions on a split bus

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20041217

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20060117