JP2000298657A - トランザクション転送方法、装置及びこれを用いた情報処理装置 - Google Patents

トランザクション転送方法、装置及びこれを用いた情報処理装置

Info

Publication number
JP2000298657A
JP2000298657A JP11106194A JP10619499A JP2000298657A JP 2000298657 A JP2000298657 A JP 2000298657A JP 11106194 A JP11106194 A JP 11106194A JP 10619499 A JP10619499 A JP 10619499A JP 2000298657 A JP2000298657 A JP 2000298657A
Authority
JP
Japan
Prior art keywords
transaction
response
request
transfer
requesting
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
JP11106194A
Other languages
English (en)
Inventor
Hideya Akashi
英也 明石
Yuji Tsushima
雄次 對馬
Keitaro Uehara
敬太郎 上原
Naoki Hamanaka
直樹 濱中
Toru Shonai
亨 庄内
Tetsuhiko Okada
哲彦 岡田
Masamori Kashiyama
正守 柏山
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP11106194A priority Critical patent/JP2000298657A/ja
Priority to US09/547,392 priority patent/US6591325B1/en
Publication of JP2000298657A publication Critical patent/JP2000298657A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】 (修正有) 【課題】 要求側装置と応答側装置の間のトランザクシ
ョン転送において、、トランザクション識別子の授受に
伴うオーバーヘッドを削減する。 【解決手段】 要求側トランザクション転送装置110
に、発行した要求トランザクションの順序を記憶し、要
求側キューポインタ130により次に受付ける応答トラ
ンザクションに対応するエントリを指示される要求ID
キューを設け、応答側トランザクション転送装置150
に、受付けた要求トランザクションの順序を記憶し、応
答側キューポインタ155により次に発行する応答トラ
ンザクションに対応するエントリを指示される応答キュ
ーを設け、応答側コマンドに要求トランザクションの応
答順序を変更するポインタ制御トランザクションを追加
して、トランザクションの識別子を授受することなく、
要求トランザクションの発行順序と異なる順序で応答ト
ランザクションを返送可能とする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、計算機や通信機器
等の情報処理装置に関し、特にスプリットトランザクシ
ョン方式を用いたトランザクション転送方法、装置及び
それを用いた情報処理装置に関する。
【0002】
【従来の技術】計算機や通信機器等の情報処理装置の多
くは、要求側装置が応答側装置からデータを読み出す、
又は、応答側装置へデータを書込む等のトランザクショ
ン転送方式を採用している。この様なトランザクション
転送方式では、要求側装置が応答側装置に要求トランザ
クション(要求する処理内容)を送信し、応答側装置が
要求側装置に応答トランザクション(要求対象のデータ
やトランザクション処理結果等)を返送するスプリット
トランザクション方式が主に使用される。
【0003】スプリットトランザクション方式では、要
求側装置は要求トランザクションを発行すると、転送経
路を解放する。応答側装置は、応答トランザクション返
送準備が完了すると転送経路を確保し応答トランザクシ
ョンを発行する。本方式では、先行する要求トランザク
ションが転送経路を確保したまま応答を待つことがな
く、応答側装置で複数の要求トランザクションを同時に
処理可能となる。なお、要求トランザクションと応答ト
ランザクションは、異なる転送経路を使用する方法も採
用されている。
【0004】要求側装置の要求トランザクション発行順
に応答側装置が応答トランザクションを返送する方式と
した場合、応答に長時間を要する要求トランザクション
が発行されると全ての後続トランザクションの応答が待
たされるという問題が生じる。
【0005】この問題を解決する従来技術は、例えば特
開平6−149730公報に開示されている。上記特開
平6−149730では、要求側装置から応答側装置へ
の転送経路、及び、応答側装置から要求側装置への転送
経路にトランザクションの識別子を転送する専用信号を
設ける。この信号を用い、要求側装置は要求トランザク
ションに要求側装置で決定した識別子を付加し、応答側
装置は応答トランザクションに要求側装置から受けた識
別子を付加して返送する。これにより、要求側装置は応
答トランザクションに付加された識別子を用いて要求ト
ランザクションとの対応付けが可能となるため、応答側
装置は任意の順序で応答トランザクションを返送しても
構わない。従って、ある要求トランザクションの応答が
待たされている場合でも、後続の要求トランザクション
に対する応答を返送できる。
【0006】
【発明が解決しようとする課題】上記従来技術では、要
求側装置と応答側装置の間で識別子の授受が必要とな
る。このため、識別子の授受に専用信号線を設けた場
合、トランザクション転送経路の信号線数が増加する。
また、識別子を他の信号線を用いて転送する場合、転送
経路を通過するトランザクション長が長くなり、転送性
能が低下する。
【0007】特に、要求側装置複数を応答側装置に接続
する情報処理装置、又は、要求側装置を複数の応答側装
置に接続する情報処理装置において識別子専用信号線を
設けた場合、前者は応答側装置、後者は要求側装置に複
数の識別子専用信号線が接続される。
【0008】例えば、プロセッサ、メモリ、I/Oから
なるノード8個をクロスバスイッチで接続するシステム
の場合、ノードとクロスバスイッチ間で要求トランザク
ション、応答トランザクションが各々双方向に転送され
る。ここで、トランザクション識別子を8ビットと仮定
すると、クロスバスイッチの識別子専用信号線は、12
8本(8ビット×8ノード×2[要求、応答])とな
り、多数の信号線が必要となる。
【0009】本発明の目的は、要求側装置と応答側装置
でトランザクション識別子を授受すること無しに、応答
側装置が要求トランザクションと異なる順序で応答トラ
ンザクションを発行可能とすることにある。
【0010】
【課題を解決するための手段】上記目的を達成するた
め、本発明は1以上の要求側装置と1以上の応答側装置
との間でトランザクションの授受を行う場合に、前記要
求側装置が前記応答側装置に対して要求トランザクショ
ンを発行し、これを受けて前記応答側装置が前記要求側
装置に対して応答トランザクションを発行するトランザ
クション転送方式であって、前記要求側装置と前記応答
側装置の間でトランザクションの識別子を授受すること
なく要求トランザクションの順序と異なる順序で応答ト
ランザクションを転送可能としている。
【0011】また、前記応答側装置から前記要求側装置
へ返送する応答トランザクションに、トランザクション
の順序を制御するトランザクション種が含まれることと
している。
【0012】また、前記要求側装置と前記応答側装置は
それぞれ独立に要求トランザクションの発行順を記憶す
ることとしている。
【0013】また、前記要求側装置は次に応答される要
求トランザクションを指示する要求側ポインタを有し、
前記応答側装置は次に応答すべき要求トランザクション
を指示する応答側ポインタを有し、前記要求側ポインタ
で指示するトランザクションとは異なる要求トランザク
ションに対する応答トランザクションを前記応答側装置
が発行する場合に、前記応答側装置から前記要求側装置
に対して前記要求側ポインタの変更を指示するトランザ
クションを発行し、前記要求側装置は前記トランザクシ
ョンを受けて前記要求側ポインタを変更し、前記応答側
装置は前記トランザクションの発行後に前記応答側ポイ
ンタを変更し、変更の結果前記要求側ポインタ及び前記
応答側ポインタが同一の要求トランザクションを指示す
る様に制御して、トランザクションの順序を変更するこ
ととしている。
【0014】また、前記応答側装置から前記要求側装置
に対して発行するトランザクション種類に、要求側ポイ
ンタを正数N進めることを指示する応答トランザクショ
ンを有することとしている。
【0015】また、前記応答側装置から前記要求側装置
に対して発行するトランザクション種類に、要求側ポイ
ンタを正数N戻すことを指示する応答トランザクション
を有することとしている。
【0016】また、前記応答側装置から前記要求側装置
に対して発行するトランザクション種類に、要求側ポイ
ンタを未応答である要求トランザクションの正数N番目
に設定する様指示する応答トランザクションを有するこ
ととしている。
【0017】また、前記応答側装置から前記要求側装置
に対して発行するトランザクション種類に、応答を処理
した後、又は、応答を処理する前に要求側ポインタを制
御する様指示する応答トランザクションを有することと
している。
【0018】あるいは、本発明は、1以上の要求側装置
と1以上の応答側装置との間でトランザクションの授受
を行う場合に、前記要求側装置が前記応答側装置に対し
て要求トランザクションを発行し、これを受けて前記応
答側装置が前記要求側装置に対して応答トランザクショ
ンを発行するトランザクション転送装置であって、前記
要求側装置は発行した要求トランザクションを発行順に
記憶する要求側キュー及び次に応答される要求トランザ
クションを指示する要求側ポインタを有し、前記応答側
装置は受付けた要求トランザクションを受付順に記憶す
る応答側キュー及び次に応答すべき要求トランザクショ
ンを指示する応答側ポインタを有し、要求側装置と応答
側装置間のトランザクション転送に前記トランザクショ
ン転送方式を採用することとしている。
【0019】また、1以上のプロセッサと1以上のメモ
リ又は1以上のI/Oをシステム制御回路を用いて接続
する計算機であって、前記プロセッサと前記システム制
御回路間、前記メモリと前記システム制御回路間、前記
I/Oと前記システム制御回路間のいずれかの転送経路
で前記トランザクション転送方式又はトランザクション
転送装置を使用する。
【0020】また、1以上のプロセッサ、1以上のメモ
リ、1以上のI/Oの中から任意の組み合わせで構成さ
れるノード複数をネットワークを介して接続する並列計
算機であって、各ノードとネットワークを接続するいず
れかの転送経路で前記トランザクション転送方式又はト
ランザクション転送装置を使用する。
【0021】
【発明の実施の形態】以下、図面を用いて本発明の実施
の形態を説明する。
【0022】<実施の形態例1>本発明の実施の形態例
1を図1〜2を用いて説明する。
【0023】本実施の形態例では、要求側装置100と
応答側装置105の間を、本発明によるトランザクショ
ン転送装置を用いて接続する。要求側装置100には要
求側トランザクション転送装置110(詳細は後述)、
応答側装置105には応答側トランザクション転送装置
150(詳細は後述)が付加される。要求側装置100
と応答側装置105の間のトランザクションは、要求側
トランザクション転送装置110、応答側トランザクシ
ョン転送装置150を介して任意の順序で転送可能とす
る。
【0024】本実施の形態例では、説明の便宜上図1で
処理されるトランザクションは、要求側装置100が応
答側装置105に対して発行するデータ読み出しトラン
ザクションのみとする。本発明は、前記読み出しトラン
ザクションに限定されず、一般のトランザクションに関
して適用できる。
【0025】トランザクション転送処理の概略は以下の
通りである。
【0026】(1)要求側装置100は、要求コマンドと
要求側識別子からなる要求トランザクションを要求側ト
ランザクション転送装置110に送出する。
【0027】(2)要求側トランザクション転送装置11
0は、要求側識別子を要求トランザクション発行順に記
憶すると共に、要求コマンドのみを応答側トランザクシ
ョン転送装置150に転送する。
【0028】(3)応答側トランザクション転送装置15
0は、受付けた要求トランザクションに応答側識別子を
付加し、応答側装置105に要求コマンド及び付加した
応答側識別子を転送する。また、応答側識別子を要求ト
ランザクション発行順に記憶する。
【0029】(4)応答側装置105は、応答側トランザ
クション転送装置150から受けた要求トランザクショ
ンを任意の順序で処理する。読み出したデータは、応答
トランザクション(応答コマンド、応答データ、応答側
識別子)として応答側トランザクション転送装置150
に任意の順序で返送する。
【0030】(5)応答側トランザクション転送装置15
0は、応答側装置105から応答トランザクションを受
付ける。その後、応答トランザクションの応答コマン
ド、応答データのみを任意の順序で要求側トランザクシ
ョン転送装置110に返送する。
【0031】(6)要求側トランザクション転送装置11
0は、応答トランザクションに対応する要求側識別子を
付加し、応答コマンド、応答データ、要求側識別子の組
として応答トランザクションを要求側装置100に返送
する。
【0032】本実施の形態例では、識別子を授受するこ
となく要求側装置100が発行した要求トランザクショ
ンの順序と異なる順で、応答側トランザクション転送装
置150が応答トランザクションを返送可能とする。
【0033】これを実現するため、要求側トランザクシ
ョン転送装置110と応答側トランザクション転送装置
150は、各々独立に要求側装置100が応答側装置1
05に発行する要求トランザクションの順序を記憶す
る。応答側トランザクション転送装置150は、基本的
には要求トランザクション順に基づき要求側トランザク
ション転送装置110へ応答トランザクションを返答す
る。そして応答トランザクションの順序を変更する場合
には、以下に示す”SKIP”、”BACK”の2種類
のポインタ制御トランザクションを要求側トランザクシ
ョン転送装置110へ転送し、要求側トランザクション
転送装置110が識別子無しに次に返送される応答トラ
ンザクションを識別できる様に動作する。
【0034】・”SKIP”ポインタ制御トランザクシ
ョン 応答側トランザクション転送装置150は、これから応
答されるべき要求トランザクションの応答を先送りし、
次の要求トランザクションの応答に移行することを示
す。
【0035】応答側トランザクション転送装置150
は、本トランザクションの発行と共に、これから応答す
る要求トランザクションを示すポインタ(応答側キュー
ポインタ155、詳細は後述)を1進め、次に応答すべ
き要求トランザクションを指すようにする。要求側トラ
ンザクション転送装置110は、本トランザクションを
受けると、これから応答される要求トランザクションを
示すポインタ(要求側キューポインタ130、詳細は後
述)を1進め、次に応答される要求トランザクションを
指すようにする。
【0036】・”BACK”ポインタ制御トランザクシ
ョン 応答側トランザクション転送装置150は、応答を先送
りした要求トランザクションの内、最も古いトランザク
ションの返送に移行することを示す。
【0037】応答側トランザクション転送装置150
は、本トランザクションの発行と共に、応答側キューポ
インタ155を0とし、最も古い要求トランザクション
を指すように設定する。
【0038】要求側トランザクション転送装置110
は、本トランザクションを受けると、要求側キューポイ
ンタ130を0とし、最も古い要求トランザクションを
指すように設定する。
【0039】この”SKIP”、”BACK”ポインタ
制御トランザクションを適宜用いることで、任意の順序
で応答トランザクションを返送できる。
【0040】なお、本実施の形態例では、ポインタ制御
トランザクションの一例として上記”SKIP”、”B
ACK”トランザクションによる動作を示しているが、
本発明はポインタ制御トランザクションの処理方式に係
らず有効である。
【0041】以下に、他のポインタ制御トランザクショ
ンの例を示す。
【0042】・”SKIP X”、”BACK X”ト
ランザクション 要求側キューポインタ130及び応答側キューポインタ
155をX進める、又は、X戻すことを示すトランザク
ション。
【0043】E=hSKIP (X)&応答”、”BAC
K (X)&応答”トランザクション 要求側キューポインタ130及び応答側キューポインタ
155を(X)進める、又は、(X)戻した後、応答ト
ランザクションを転送する。
【0044】・”応答&SKIP(X)”、”応答&B
ACK(X)”トランザクション 応答トランザクションの転送後、要求側キューポインタ
130及び応答側キューポインタ155を(X)進め
る、又は、(X)戻す。
【0045】図2は、要求側装置100の発行する要求
トランザクション(図2内の”Rx”)が、要求側トラ
ンザクション転送装置110及び応答側トランザクショ
ン転送装置150を介して応答側装置105へ転送さ
れ、要求トランザクションと異なる順で応答データが返
送される様子を各サイクル毎に示す。
【0046】図2中の要求側キュー状態は、要求側トラ
ンザクション転送装置110内の要求IDキュー140
−0〜140−3(詳細は後述)を図示したものであ
り、要求側識別子を発行順に登録する。
【0047】図2中の応答側キュー状態は、応答側トラ
ンザクション転送装置150内の応答キュー165−0
〜165−3(詳細は後述)を図示したものであり、要
求トランザクションを受付順(すなわち、要求側装置1
00の発行順と同一)に登録する。
【0048】以下、図1、図2を用いて各サイクル毎の
トランザクション動作を示す。
【0049】(第1サイクル) ・R1の要求発行処理 要求側装置100は、要求トランザクションR1を、要
求側トランザクション転送装置110に発行する。この
時、要求コマンドは”データ読み出し”コマンド及び読
み出し対象のアドレスを含む。要求側識別子(要求側I
D)には要求側装置100で付加したR1の識別子が転
送される。
【0050】要求側トランザクション転送装置110
は、要求IDキュー140−0〜140−3にR1の要
求側IDを格納すると共に、要求トランザクションを要
求発行バッファ113へ格納する。
【0051】以後、本処理を要求発行処理と呼ぶ。
【0052】(第2サイクル) ・R1の要求転送処理 要求トランザクション転送装置110は、要求発行バッ
ファ113内の要求トランザクション(ただし、要求側
IDは除く)を応答側トランザクション転送装置150
へ転送する。
【0053】応答側トランザクション転送装置150
は、要求トランザクションを要求受付バッファ153へ
格納する。
【0054】以後、本処理を要求転送処理と呼ぶ。
【0055】(第3サイクル) ・R1の要求受付&読み出し発行処理 応答側トランザクション転送装置150は、R1に応答
側識別子(応答側ID)を付加し、応答側装置105に
転送する。
【0056】また、応答キュー165−0〜3にR1の
応答側IDを格納する。
【0057】以後、本処理を要求受付&読み出し発行処
理と呼ぶ。
【0058】・R2の要求発行処理(R1と同様) (第4サイクル) ・R2の要求転送処理(R1と同様) (第5サイクル) ・R1の応答データ発行処理 応答側装置105はR1の読み出し処理を終えて、応答
側トランザクション転送装置150に応答トランザクシ
ョンを送付する。応答トランザクションは、応答コマン
ドが”読み出しデータ返送”、応答側識別子に応答側ト
ランザクション転送装置150で付加したR1の応答側
識別子、応答データからなる。
【0059】応答側トランザクション転送装置150
は、応答側装置105からR1の応答トランザクション
を受けて、応答キュー165−0〜165−3の対応す
るエントリ(応答側IDにより検索)に応答コマンド及
び応答データを格納する。そして、応答キュー165−
0〜165−3のデータ有効ビットVを1とする。
【0060】以後、本処理を応答データ発行処理と呼
ぶ。
【0061】・R2の要求受付&読み出し発行処理(R
1と同様) ・R3の要求発行処理(R1と同様) (第6サイクル) ・R1の応答転送処理 応答側トランザクション転送装置150は、次に応答す
べきトランザクション(応答側キューポインタで指定さ
れる)であるR1の応答トランザクションを要求側トラ
ンザクション転送装置110に返送する。応答トランザ
クションは、応答コマンドが”読み出しデータ返送”、
応答データからなる。
【0062】応答キュー内のR1は、応答トランザクシ
ョンの発行後デキューされる。
【0063】要求側トランザクション転送装置110は
応答トランザクションを受けると、応答受付バッファ1
17に格納する。
【0064】以後、本処理を応答転送処理と呼ぶ。
【0065】・R3の要求転送処理(R1と同様) ・R4の要求発行処理(R1と同様) (第7サイクル) ・R1の応答受付処理 要求トランザクション転送装置110は、応答受付バッ
ファ117内の応答トランザクションに対応する要求I
Dを要求IDキュー140−0〜3から選択(要求側キ
ューポインタで指定される)し、応答トランザクション
に付加して要求側装置100に返送する。
【0066】要求キュー内のR1は、応答トランザクシ
ョンの返送後デキューされる。
【0067】以後、本処理を応答受付処理と呼ぶ。
【0068】・R2のSKIP転送処理 応答側トランザクション転送装置150は、R2の処理
に時間がかかることを検出し、R2の応答を先送りする
ことを決定する。
【0069】そこで、要求側トランザクション転送装置
110に”SKIP”特殊トランザクションを発行す
る。”SKIP”特殊トランザクションは、応答コマン
ドが”SKIP”であるトランザクションである。
【0070】応答側トランザクション転送装置150
は、前サイクルで要求側トランザクション転送装置11
0に”SKIP”を発行したため、応答側キューポイン
タを1進める。
【0071】要求側トランザクション転送装置110
は、応答受付バッファ117に”SKIP”特殊トラン
ザクションを格納する。
【0072】以後、本処理をSKIP転送処理と呼ぶ。
【0073】・R3の要求受付&読み出し発行処理(R
1と同様) ・R4の要求転送処理(R1と同様) (第8サイクル) ・R2のSKIP受付処理 要求側トランザクション転送装置110は、応答受付バ
ッファ117から”SKIP”を受け取り、次サイクル
に要求側キューポインタを1進める。
【0074】これにより、要求側トランザクション転送
装置110及び応答側トランザクション転送装置150
の双方でR2の応答が先送りされ、次はR3の応答であ
ることが認識される。
【0075】以後、本処理をSKIP受付処理と呼ぶ。
【0076】・R3の応答データ発行処理(R1と同
様) ・R4の要求受付&読み出し発行処理(R1と同様) ・R5の要求発行処理(R1と同様) (第9サイクル) ・R3の応答転送処理(R1と同様) ・R5の要求転送処理(R1と同様) (第10サイクル) ・R3の応答受付処理(R1と同様) ・R4のSKIP転送処理(R2と同様) ・R5の要求受付&読み出し発行処理(R1と同様) ・R5の応答データ発行処理(R1と同様) ・R6の要求発行処理(R1と同様) (第11サイクル) ・R4のSKIP受付処理(R2と同様) ・R5の応答転送処理(R1と同様) ・R6の要求転送処理(R1と同様) (第12サイクル) ・R2の応答データ発行処理(R1と同様) ・R5の応答受付処理(R1と同様) ・R6の要求受付&読み出し発行処理(R1と同様) (第13サイクル) ・R2のBACK転送処理 応答側トランザクション転送装置150は、応答側装置
105からR2のデータ読み出し結果を受けて、R2の
応答転送処理が可能となる。R2はSKIPにより先送
りされているため、要求側及び応答側キューポインタを
R2に戻す必要がある。
【0077】そこで、応答側トランザクション転送装置
150は、要求側トランザクション転送装置110に”
BACK”特殊トランザクションを発行する。”BAC
K”特殊トランザクションは、応答コマンドが”BAC
K”であるトランザクションである。
【0078】応答側トランザクション転送装置150
は”BACK”発行後、応答側キューポインタ155を
未処理トランザクションの先頭であるR2を指示する様
に設定する。
【0079】要求側トランザクション転送装置110
は、応答受付バッファ117に”BACK”特殊トラン
ザクションを格納する。
【0080】以後、本処理をBACK発行処理と呼ぶ。
【0081】・R7の要求発行処理(R1と同様) (第14サイクル) ・R2のBACK受付処理 要求側トランザクション転送装置110は、応答受付バ
ッファ117から”BACK”を受け、要求側キューポ
インタ130を未処理トランザクションの先頭であるR
2を指示する様に設定する。これにより、要求側トラン
ザクション転送装置110及び応答側トランザクション
転送装置150の双方で次はR2の応答であることが認
識される。
【0082】以後、本処理をBACK受付処理と呼ぶ。
【0083】・R2の応答転送処理(R1と同様) ・R6の応答データ発行処理(R1と同様) ・R7の要求転送処理(R1と同様) (第15サイクル) ・R2の応答受付処理(R1と同様) ・R4のSKIP転送処理 応答側トランザクション転送装置150は、前の第14
サイクルでR4の応答データではなくR6の応答データ
が発行されたことを受けて、まずR4の応答を再び先送
りする必要があると決定する。そこで応答側トランザク
ション装置150から要求側トランザクション装置11
0へ”SKIP”特殊トランザクションを発行するとと
もに応答側キューポインタを1進め、一方、要求側トラ
ンザクション転送装置110では応答受付バッファ11
7に”SKIP”特殊トランザクションを格納するとい
うSKIP転送処理(先に第7サイクルでR2のSKI
P転送処理を説明したのと同様)を行う。
【0084】・R7の要求受付&読み出し発行処理(R
1と同様) (第16サイクル) ・R4の応答データ発行処理(R1と同様) ・R4のSKIP受付処理(R2と同様) ・R6の応答転送処理(R1と同様) (第17サイクル) ・R4のBACK転送処理(R2と同様) ・R6の応答受付処理(R1と同様) ・R7の応答データ発行処理(R1と同様) (第18サイクル) ・R4のBACK受付処理(R2と同様) ・R4の応答転送処理(R1と同様) (第19サイクル) ・R4の応答受付処理(R1と同様) ・R7の応答転送処理(R1と同様) (第20サイクル) ・R7の応答受付処理(R1と同様) 図2のトランザクション動作では、要求側トランザクシ
ョン転送装置110がR1、R2、R3、R4、R5、
R6、R7の順で要求トランザクションを発行したのに
対し、応答側トランザクション転送装置150はR1、
R3、R5、R2、R6、R4、R7の順で応答トラン
ザクションを返送している。
【0085】このように本実施の形態例では、要求側ト
ランザクション転送装置110に、発行した要求トラン
ザクションの順序を記憶し、要求側キューポインタ13
0により次に受付ける応答トランザクションに対応する
エントリを指示される要求IDキュー140−0〜3を
設け、応答側トランザクション転送装置150に、受付
けた要求トランザクションの順序を記憶し、応答側キュ
ーポインタ155により次に発行する応答トランザクシ
ョンに対応するエントリを指示される応答キュー165
−0〜3を設け、応答側コマンドに要求トランザクショ
ンの応答順序を変更するポインタ制御トランザクション
を”SKIP”、”BACK”の2種類追加すること
で、要求側トランザクション転送装置110と応答側ト
ランザクション転送装置150の間でトランザクション
の識別子を授受することなく、要求トランザクションの
発行順序と異なる順序で応答トランザクションを返送可
能としている点に特徴がある。
【0086】以下、要求側トランザクション転送装置1
10及び応答側トランザクション転送装置150の動作
の詳細を示す。
【0087】(要求側トランザクション転送装置)要求
側トランザクション転送装置110は、要求側キュー管
理回路120、要求側キューポインタ130、要求ID
キュー140−0〜3、要求IDセレクタ145からな
る。
【0088】要求側キュー管理回路120は、要求側装
置100からの要求トランザクション発行時、及び、応
答側トランザクション転送装置150からの応答トラン
ザクション受付時に、要求側キューポインタ130及び
要求IDキュー140−0〜3の制御を行う。
【0089】要求側キューポインタ130は、応答側ト
ランザクション転送装置150から次に受付ける応答ト
ランザクションに対応する要求IDキューエントリを指
示する。
【0090】要求IDキュー140−0〜3は、要求側
装置100からの要求トランザクション発行時に要求ト
ランザクションの要求IDを発行順に格納する。また、
応答側トランザクション転送装置150からの応答トラ
ンザクション受付時に、対応する要求IDを要求IDセ
レクタ145により選択し、応答トランザクションに付
加する。
【0091】要求IDキュー140−0〜3の各エント
リは、要求IDキューエントリ#0から#3の順に、ト
ランザクションの発行順となるよう制御される。
【0092】要求側トランザクション転送装置110
は、以下に示す動作により要求トランザクション及び応
答トランザクションの処理を行う。
【0093】・要求トランザクション発行時 要求側キュー管理回路120は、エントリ番号が最小の
空きエントリを示すポインタ(要求側空きエントリポイ
ンタ)を有する。要求トランザクションを受けると、要
求側空きエントリポインタの指す要求IDエントリに当
該要求トランザクションの要求ID格納を指示する。そ
の後、要求側空きエントリポインタをインクリメントす
る。
【0094】・応答トランザクション受付時 応答トランザクションの受付時、要求IDキューエント
リ140−0〜3から対応する要求ID(要求側キュー
ポインタ130により指示される)が要求IDセレクタ
145により選択され、応答トランザクションに付加さ
れて要求側装置100に転送される。
【0095】その後、要求側キュー管理回路120は、
応答トランザクションに付加した要求IDキューエント
リ140−0〜3を削除し、当該エントリより番号が大
きい要求IDキューエントリ140−0〜3を1段シフ
トする。すなわち、必要に応じてエントリ140−1は
エントリ140―0へ、エントリ140−2はエントリ
140−1へ、エントリ140―3はエントリ140―
2へと移動させる。
【0096】この後、要求側空きエントリポインタを1
減らす。
【0097】以上の動作により、要求IDキュー140
―0〜3の順序は保たれる。
【0098】・”SKIP”トランザクション受付時 ”SKIP”トランザクション受付時、要求側キュー管
理回路120は要求側キューポインタ130をインクリ
メントする。これにより、現在の要求側キューポインタ
130で指示されるトランザクションの転送を先送りす
ることができる。
【0099】・”BACK”トランザクション受付時 ”BACK”トランザクション受付時、要求側キュー管
理回路120は要求側キューポインタ130を0とす
る。これにより、要求側キューポインタ130を先送り
したトランザクションの先頭に戻すことができる。
【0100】(応答側トランザクション転送装置)応答
側トランザクション転送装置150は、応答側キュー管
理回路190、応答側キューポインタ155、システム
ID管理回路160、応答キュー165−0〜3、比較
器170−0〜3、応答トランザクションセレクタA1
80、応答トランザクションセレクタB185からな
る。
【0101】応答側キュー管理回路190は、要求側ト
ランザクション転送装置110からの要求トランザクシ
ョン受付時、及び、応答側装置105からの応答トラン
ザクション受付時に、応答側キューポインタ155、シ
ステムID管理回路160、応答キュー165−0〜
3、応答トランザクションセレクタB185の制御を行
う。
【0102】応答側キューポインタ155は、要求側ト
ランザクション転送装置110へ次に発行する応答トラ
ンザクションに対応する応答キューエントリ165−0
〜3を指示する。
【0103】システムID管理回路160は、要求側ト
ランザクション転送装置110から受付けた要求トラン
ザクションに応答側IDを付加する。
【0104】応答キュー165−0〜3は、要求側トラ
ンザクション転送装置110から要求トランザクション
に、システムID管理回路160で付加した応答側ID
を受付順に格納する。
【0105】応答側装置105からの応答トランザクシ
ョン受付時、応答トランザクションに対応する応答キュ
ーエントリ165−0〜3を比較器170−0〜3を用
いて検索し、このエントリに応答トランザクションを格
納する。
【0106】そして、応答キューエントリ165−0〜
3に格納された応答トランザクションは、順次要求側ト
ランザクション転送装置110に返送される。
【0107】応答キュー165−0〜3の各エントリ
は、要求IDキューエントリ#0から#3の順に、トラ
ンザクションの発行順となるよう制御される。
【0108】応答側トランザクション転送装置150
は、以下に示す動作により要求トランザクション及び応
答トランザクションの処理を行う。
【0109】・要求トランザクション受付時 応答側キュー管理回路190は、エントリ番号が最小の
空きエントリを示すポインタ(応答側空きエントリポイ
ンタ)を有する。応答トランザクションを受けると、応
答側空きエントリポインタの指す応答エントリにシステ
ムID管理回路160で生成した当該要求トランザクシ
ョンの応答側ID格納を指示する。その後、応答側空き
エントリポインタをインクリメントする。
【0110】要求トランザクションには、応答側IDが
付加されて応答側装置105に発行される。
【0111】・応答トランザクション受付時 応答トランザクションの受付時、応答キュー165−0
〜3の各々に格納された応答側IDと、応答トランザク
ションの応答側IDが比較器170−0〜3により比較
される。応答トランザクションの応答コマンド及び応答
データは、応答側IDが一致したエントリに格納され
る。この時、当該エントリのVビットを1とし、応答ト
ランザクション格納済を示す。
【0112】・応答トランザクション発行時 応答側キュー管理回路190は、応答側キューポインタ
155と応答キューエントリ165−0〜3のVビット
をチェックし、応答側キューポインタ155が指示する
応答キューエントリ165―0〜3が応答トランザクシ
ョン格納済であることを知る。
【0113】この時、応答側キュー管理回路190は応
答トランザクションセレクタB185を制御し、応答ト
ランザクション(応答側IDを除く)を要求側トランザ
クション転送装置110へ返送する。
【0114】その後、応答側キュー管理回路120は、
当該応答キューエントリ165−0〜3を削除し、当該
エントリより番号が大きい応答キューエントリ165−
0〜3を1段シフトする。すなわち、必要ならエントリ
165−1はエントリ165―0へ、エントリ165−
2はエントリ165−1へ、エントリ165―3はエン
トリ165―2へと移動させる。
【0115】この後、応答側空きエントリポインタを1
減らす。
【0116】以上の動作により、応答キュー165―0
〜3の順序は保たれる。
【0117】・”SKIP”トランザクション発行時 応答側キュー管理回路190は、応答側キューポインタ
155と各応答キューエントリ165−0〜3のVビッ
トをチェックし、応答側キューポインタ155が指示す
る応答キューエントリ165―0〜3が応答トランザク
ション格納未であることを知る。
【0118】この時、応答側キュー管理回路190は、
応答トランザクションセレクタB185を制御し”SK
IP”トランザクションを要求側トランザクション転送
装置110へ返送する。
【0119】その後、応答側キュー管理回路190は応
答側キューポインタ155をインクリメントする。これ
により、現在の応答側キューポインタ155で指示され
るトランザクションの転送を先送りすることができる。
【0120】・”BACK”トランザクション発行時 応答側キュー管理回路190は、応答キューポインタ1
55及び応答キューエントリ165−0のVビットをチ
ェックし、応答キューポインタが0でなく、応答キュー
エントリ165―0が応答トランザクション格納済であ
ることを知る。
【0121】この時、応答側キュー管理回路190は、
応答トランザクションセレクタB185を制御し”BA
CK”トランザクションを要求側トランザクション転送
装置110へ返送する。
【0122】その後、応答側キュー管理回路190は応
答側キューポインタ155を0とする。これにより、”
SKIP”トランザクションにより先送りしたトランザ
クションの転送を開始することができる。
【0123】以上が本発明の第1の実施の形態例であ
る。
【0124】このように本実施の形態例では、要求側ト
ランザクション転送装置110に、発行した要求トラン
ザクションの順序を記憶し、要求側キューポインタ13
0により次に受付ける応答トランザクションに対応する
エントリを指示される要求IDキュー140−0〜3を
設け、応答側トランザクション転送装置150に、受付
けた要求トランザクションの順序を記憶し、応答側キュ
ーポインタ155により次に発行する応答トランザクシ
ョンに対応するエントリを指示される応答キュー165
−0〜3を設け、応答側コマンドに要求トランザクショ
ンの応答順序を変更するポインタ制御トランザクション
を”SKIP”、”BACK”の2種類追加すること
で、要求側トランザクション転送装置110と応答側ト
ランザクション転送装置150の間でトランザクション
の識別子を授受することなく、要求トランザクションの
発行順序と異なる順序で応答トランザクションを返送可
能としている点に特徴がある。
【0125】これにより、要求側装置と応答側装置間の
インターフェイスに識別子を設けたり、トランザクショ
ン長を長くして識別子フィールドを設ける必要が無くな
り、効率良いインターフェイスが実現できる。
【0126】<実施の形態例2>本発明の実施の形態例
2を図3を用いて説明する。
【0127】本実施の形態例では、計算機におけるプロ
セッサと、メモリ・I/Oを制御するシステム制御回路
間の接続に、本発明のトランザクション転送方式を適用
している。
【0128】図3の計算機は、プロセッサ300、メモ
リ360、I/O370をシステム制御回路330で接
続した構成をとる。本実施の形態例では説明の便宜上、
図3の計算機で処理されるトランザクションは、プロセ
ッサ300がメモリ360又はI/O370に対して発
行する読み出しトランザクションのみとする。本発明
は、前記読み出しトランザクションに限定されず、計算
機で処理される全てのトランザクション及び計算機内に
存在する全てのトランザクション転送経路に適用でき
る。
【0129】プロセッサ300は、プロセッサコア31
0及び要求側トランザクション転送装置320から構成
される。要求側トランザクション転送装置320は、実
施の形態例1の要求側トランザクション転送装置と同様
の構成である。
【0130】プロセッサ300は、システム制御回路3
30に対して発行した要求トランザクションの識別子
を、要求トランザクションの発行時にシステム制御回路
330には転送せず、要求トランザクションの発行順通
りに要求側トランザクション転送装置320内で管理す
る。
【0131】システム制御回路330は、応答側トラン
ザクション転送装置340、メモリ・I/O制御回路3
50から構成される。応答側トランザクション転送装置
340は、実施の形態例1の応答側トランザクション転
送装置と同様の構成である。
【0132】システム制御回路330は、応答側トラン
ザクション転送装置340によりプロセッサ300から
受けた要求トランザクションにシステム側でのID(応
答側ID)を付加する。応答側IDはプロセッサ300
内の要求IDとは独立に決定される。
【0133】応答側トランザクション転送装置340
は、プロセッサ100から受付けた要求トランザクショ
ンを、要求トランザクションの発行順通りに応答キュー
で管理する。
【0134】プロセッサ300とシステム制御回路33
0間は、スプリットトランザクション方式のインターフ
ェイスを採用する。すなわち、プロセッサ300は、シ
ステム制御回路330に対して、メモリ360の読み出
し要求トランザクション、及び、I/O370の読み出
し要求トランザクションを発行する。システム制御回路
330は、要求トランザクションを受けてメモリ360
又はI/O370の読み出しを行い、読み出したデータ
をメモリデータ応答トランザクション又はI/Oデータ
応答トランザクションとしてプロセッサ300に返送す
る。
【0135】本実施の形態例では、識別子を授受するこ
となくプロセッサ300が発行した要求トランザクショ
ンの順序と異なる順でシステム制御回路330が応答ト
ランザクションを返送可能とする。
【0136】これを実現するため、プロセッサ300と
システム制御回路330は、各々独立にプロセッサ30
0がシステム制御回路330に発行する要求トランザク
ションの順序を記憶する。システム制御回路330は、
基本的には要求トランザクション順に基づきプロセッサ
300へ応答トランザクションを返答する。そして応答
トランザクションの順序を変更する場合には、実施の形
態例1で示した”SKIP”、”BACK”の2種類の
ポインタ制御トランザクションをプロセッサ300へ転
送し、プロセッサ300が識別子無しに次に返送される
応答トランザクションを識別できる様に動作する。
【0137】このように本実施の形態例では、プロセッ
サ300とシステム制御回路330の双方で要求トラン
ザクションの発行順序を記憶し、応答側コマンドに要求
トランザクションの応答順序を変更するポインタ制御ト
ランザクションを”SKIP”、”BACK”の2種類
追加することで、プロセッサ300とシステム側制御回
路330の間でトランザクションの識別子を授受するこ
となく、要求トランザクションの発行順序と異なる順序
で応答トランザクションを返送可能としている点に特徴
がある。
【0138】これにより、プロセッサ300とシステム
側制御回路330間のインターフェイスに識別子を設け
たり、トランザクション長を長くして識別子フィールド
を設ける必要が無くなり、効率良いインターフェイスが
実現できる。
【0139】<実施の形態例3>本発明の実施の形態例
3を図4を用いて説明する。
【0140】本実施の形態例では、並列計算機における
プロセッサノード、メモリノードとこれらを接続する相
互結合網の間の接続に、本発明のトランザクション転送
方式を適用している。
【0141】図4の並列計算機は、プロセッサノード4
00a、400b、メモリノード400cを相互結合網
490で接続した構成をとる。プロセッサノード400
a(400b)は、キャッシュメモリ420a(420
b)を持つプロセッサ410a(410b)、プロセッ
サ410a(410b)が相互結合網490へ発行する
トランザクションの授受を行う要求側トランザクション
転送装置430a(430b)、及び相互結合網490
がプロセッサ410a(410b)に対して発行するト
ランザクションの授受を行う応答側トランザクション転
送装置440a(440b)からなる。
【0142】メモリノード400cは、メモリ410
c、及び、相互結合網490がメモリ410cに対して
発行するトランザクションの授受を行う応答側トランザ
クション転送装置440cからなる。
【0143】相互結合網490は、プロセッサ410
a、410bが相互結合網490に対して発行するトラ
ンザクションの授受を行う応答側トランザクション転送
装置450a、450b、相互結合網490がプロセッ
サ410a、410b及びメモリ410cへ発行するト
ランザクションの授受を行う要求側トランザクション転
送装置460a〜460c、プロサッサ410a、41
0bが発行して応答側トランザクション転送装置450
a、450bで受けた要求トランザクションをプロセッ
サ410a、410b及びメモり装置へ転送するために
要求側トランザクション転送装置460a、460b、
460cに転送する要求転送ネットワーク470、及び
各プロセッサノード400a、400b及びメモリノー
ド400cが発行する応答トランザクションを転送する
応答転送ネットワーク480からなる。
【0144】各プロセッサ(例えば410a)は、メモ
リ410cをアクセスしながら処理を進める。この時、
他プロセッサ(410a以外)が当該メモリラインをキ
ャッシングしている可能性があるため、メモリ410c
のアクセスと共に他プロセッサノード(400a以外)
のキャッシュ一致制御を行う必要がある。
【0145】本実施の形態例では、説明の便宜上並列計
算機内で転送されるトランザクションは、各プロセッサ
410a、410bのメモリ読み出し時に発行されるメ
モリ読み出しトランザクション、及び、キャッシュ一致
制御トランザクションのみとする。本発明は、これらの
トランザクションに限定されず、並列計算機内で転送さ
れる全てのトランザクションに適用できる。
【0146】また、本実施の形態例では、説明の便宜上
プロセッサノード400a、400bは各々1プロセッ
サ410a、410bを有し、メモリノード400cは
1つであるとする。本発明は、この条件を満たす並列計
算機に限定されず、あらゆる構成の並列計算機で適用で
きる。
【0147】図4の並列計算機におけるプロセッサ41
0aのメモリ読み出し処理は以下の通りである。
【0148】(1)プロセッサ410aは、要求側トラン
ザクション転送装置430aにメモリ読み出し要求トラ
ンザクションを発行する。メモリ読み出し要求トランザ
クションは、要求コマンド、要求アドレス、及び、要求
IDからなる。
【0149】(2)要求側トランザクション転送装置43
0aは、相互結合網490内の応答側トランザクション
転送装置450aにメモリ読み出し要求トランザクショ
ンの要求コマンド、及び、要求アドレスを転送する。こ
こで、要求側トランザクション転送装置430a及び応
答側トランザクション転送装置450aは実施の形態例
1と同様の構成をとる。したがって、上記要求コマンド
と要求アドレスの転送に際して、要求側トランザクショ
ン転送装置430aは転送する要求コマンド、要求アド
レスに対応する要求IDを応答待ちの要求側キューに保
存する。
【0150】(3)応答側トランザクション転送装置45
0aは、転送されたメモリ読み出し要求トランザクショ
ンに450aに独自の要求IDを対応付け、この要求I
Dを応答側キューに記憶する。さらに、そのメモリ読み
出し要求トランザクションと相互結合網内IDを、要求
転送ネットワーク470を介して要求側トランザクショ
ン転送装置460cに転送する。また、キャッシュ一致
制御要求トランザクションを作成して上記相互結合網内
IDとともに要求転送ネットワーク470を介して要求
側トランザクション転送装置460bに転送する。
【0151】ここで、相互結合網内IDとは相互結合網
490の全体で応答待ちのメモリ読み出し要求トランザ
クションを一意に識別するための識別子で、上記450
aに独自の要求IDに要求元のプロセッサノード番号を
付加したものである。なお図4中では、要求トランザク
ションとともに転送される相互結合網内IDを単に要求
IDと略記している。
【0152】(4)要求側トランザクション転送装置46
0bは、プロセッサノード400b内の応答側トランザ
クション転送装置440bにキャッシュ一致制御要求ト
ランザクションのを転送する。ここでも、要求側トラン
ザクション転送装置460b及び応答側トランザクショ
ン転送装置440bは実施の形態例1と同様の構成をと
る。したがって、応答側トランザクション転送装置44
0bは上記転送に先立ち転送する要求コマンド及び要求
アドレスに対応する相互結合網内IDを440b内の要
求側キューに記憶する。
【0153】(5)応答側トランザクション転送装置44
0bは、転送されたキャッシュ一致制御要求トランザク
ションにプロセッサノード400bに独自の要求IDを
対応づけ、この要求IDを応答側キューに記憶する。ま
たその要求IDとともにキャッシュ一致制御要求トラン
ザクションをプロセッサ410bに転送する。
【0154】(6)プロセッサ410bは、キャッシュ4
20bの一致制御を行い、キャッシュ一致制御結果をキ
ャッシュ一致制御応答トランザクションとして応答側ト
ランザクション転送装置440bに返送する。ここで、
キャッシュ420bが最新データを保持していない場
合、キャッシュ一致制御結果はキャッシュ状態のみであ
る。一方、キャッシュ420bが最新データを保持して
いた場合、キャッシュ一致制御結果はキャッシュ状態、
及び、最新データとなる。
【0155】(7)応答側トランザクション転送装置44
0bは、キャッシュ一致制御応答トランザクションを受
け、そのデータ部分(上記キャシュ一致制御結果、図4
では応答データと略記)を要求側トランザクション転送
装置460bに返送する。ただし、応答側トランザクシ
ョン転送装置440bはキャッシュ一致制御応答トラン
ザクションの受信ごとに応答IDと応答側キューに記憶
されている要求IDとの比較を行い、もし応答順序に変
化が起こっていたら、実施の形態例1で詳述した”SK
IP”,”BACK”などのポインタ制御トランザクシ
ョンを応答コマンドとして上記応答データの返送に先立
って要求側トランザクション転送装置460bに送る。
つまり、この応答順序変化を予め伝達する。
【0156】(8)要求側トランザクション転送装置46
0bは、返送された応答データ(キャシュ一致制御結
果)に、対応する相互結合内IDを付加し、要求元に返
すために応答転送ネットワーク480に送出する。返送
された応答データと相互結合内IDとの対応は実施の形
態1で詳述した要求側キューポインタで指示される。つ
まり、要求側キューポインタの値は、伝達されるポイン
タ制御トランザクションで制御され、常に次に伝達され
る応答データに対応するキューエントリを示している。
なお、図4中では、応答トランザクションとともに転送
されるIDは全て応答IDと記述されている。
【0157】(9)上記(4)、(5)、(6)、(7)と並行して、
要求側トランザクション転送装置460cは、メモリノ
ード400c内の応答側トランザクション転送装置44
0cにメモリ読み出し要求トランザクションの要求コマ
ンド及び要求アドレスを転送する。ここでも、要求側ト
ランザクション転送装置460c及び応答側トランザク
ション転送装置440cは実施の形態例1と同様の構成
をとる。したがって、転送に際し要求側トランザクショ
ン転送装置460cは転送する要求コマンド、要求アド
レスに対応する相互結合網内IDを応答待ちの要求側キ
ューに保存する。
【0158】なお、複数のプロセッサノード400a、
400bはメモリ読み出し要求トランザクションを独自
にそれぞれ送出するので、この要求側トランザクション
転送装置460cで形成される応答待ちの要求側キュー
には複数のプロセッサノードからのメモリ読み出し要求
トランザクションを示す相互結合網内IDが混在するこ
とになる。
【0159】(10)応答側トランザクション転送装置44
0cは、転送されたメモリ読み出し要求トランザクショ
ンにメモリノード400c内に独自の要求IDを対応づ
け、この要求IDを応答側キューに記憶する。またその
要求IDとともにメモリ読み出し要求トランザクション
をメモリ410cに転送する。
【0160】(11)メモリ410cは、読み出したメモリ
データに対応する上記メモリノモード400c内独自の
要求IDを応答IDとして付加し、メモリ読み出し応答
トランザクションとして応答側トランザクション転送装
置440cに返送する。
【0161】(12)応答側トランザクション転送装置44
0cは、メモリ読み出し応答トランザクションの内のメ
モリデータを要求側トランザクション転送装置460c
に返送する。ただし、ここでも応答順序に変化がある場
合は、ポインタ制御トランザクションを予め応答コマン
ドとして伝達することにより、その応答順序の変化を要
求側トランザクション転送装置460cに伝達してお
く。
【0162】(13)要求側トランザクション転送装置46
0cは、返送されたメモリデータに、対応する相互結合
内IDを付加し、メモリ読み出し応答トランザクション
として要求元に転送するために応答転送ネットワーク4
80に送出する。ここでも返送されたメモリデータとこ
の相互結合内IDとの対応は要求側トランザクション転
送装置460c内の要求側キューポインタで指示され
る。
【0163】(14)応答転送ネットワーク480は、応答
側トランザクション転送装置460b、460cからキ
ャッシュ一致制御応答トランザクション、メモリ読み出
し応答トランザクションを受け、それぞれに付された応
答ID(相互結合網内ID)に含まれるプロセッサノー
ド番号から応答先を知って、プロセッサノード400a
に対するメモリ読み出し応答トランザクションを生成す
る。すなわち、キャッシュ一致制御応答トランザクショ
ンにプロセッサ400bが出力した最新データが含まれ
る場合、メモリ読み出し結果のデータを破棄し、最新デ
ータを応答側トランザクション転送装置450aへ返送
する。キャッシュ一致制御応答トランザクションにプロ
セッサ400bが出力した最新データが含まれない場
合、メモリ読み出し結果のデータを応答側トランザクシ
ョン転送装置450aへ返送する。
【0164】(15)応答側トランザクション転送装置45
0aは、返送送されたメモリ読み出し応答トランザクシ
ョンのうちの応答データ(メモリ読み出しデータまたは
キャシュからのデータ)を要求側トランザクション転送
装置430aに返送する。ただし、ここでも応答順序に
変化がある場合は、ポインタ制御トランザクションを予
め応答コマンドとして伝達することにより、その応答順
序の変化を要求側トランザクション転送装置430aに
伝達しておく。
【0165】(16)要求側トランザクション転送装置43
0aは、メモリ読み出し応答トランザクションに対応す
る応答IDを付加し、プロセッサ410aへ返送する。
ここでも、返送されたメモリ応答トランザクションと応
答IDとの対応は要求側トランザクション転送装置43
0a内の要求側キューポインタで指示される。
【0166】以上に示した様に、本実施の形態例の並列
計算機では、各ノードと相互結合網間の転送にそれぞれ
実施の形態1で説明したのと同様なトランザクション転
送装置を用いている。つまり、アクセス要求元の各プロ
セッサノードと相互結合網との間の要求トランザクショ
ンとその応答の転送、結合装置網とメモリノード400
cとの間の要求トランザクションとその応答の転送、さ
らにはキャシュ一致制御のためにアクセス要求元以外の
プロセッサノードに向けて相互結合網から転送される要
求トランザクションとその応答の転送のそれぞれにおい
て、要求側と応答側の双方で要求トランザクションの発
行順序を記憶し、応答順序に変更がある場合に、ポイン
タ制御トランザクションを転送することにより応答側か
ら要求側へその応答順序の変更を伝達する構成をとる。
これにより、上記のどの転送ステージおいても、要求ト
ランザクション個々を識別する識別子を授受することな
く応答順序を入れ換えることが可能である。ここで、図
4の並列計算機内におけるトランザクション転送経路は
合計10個である。従って図4の並列計算機で応答順序
を入れ換えるために識別子を授受する方式を採用した場
合と比較し、識別子のビット数×10本の信号線を削減
できる。あるいは、トランザクション長を長くして識別
子フィールドを設ける必要が無くなり、効率良いインタ
ーフェイスが実現できる。
【0167】
【発明の効果】本発明によれば、要求側トランザクショ
ン転送装置に、発行した要求トランザクションの順序を
記憶し、要求側キューポインタにより次に受付ける応答
トランザクションに対応するエントリを指示される要求
IDキューを設け、応答側トランザクション転送装置
に、受付けた要求トランザクションの順序を記憶し、応
答側キューポインタにより次に発行する応答トランザク
ションに対応するエントリを指示される応答キューを設
け、応答側コマンドに要求トランザクションの応答順序
を変更するポインタ制御トランザクションを追加して、
要求側トランザクション転送装置と応答側トランザクシ
ョン転送装置の間でトランザクションの識別子を授受す
ることなく、要求トランザクションの発行順序と異なる
順序で応答トランザクションを返送可能としている。
【0168】これにより、任意の順序で応答トランザク
ションを発行するために、要求側装置と応答側装置間の
インターフェイスに識別子を設けたり、トランザクショ
ン長を長くして識別子フィールドを設ける必要が無くな
り、効率良いインターフェイスが実現できる。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態例に係るトランザク
ション転送装置を示す図である。
【図2】本発明の第1の実施の形態例に係るトランザク
ション転送処理の流れを示す図である。
【図3】本発明の第2の実施の形態例に係る計算機の構
成を示す図である。
【図4】本発明の第3の実施の形態例に係る並列計算機
の構成を示す図である。
【符号の説明】
100…要求側装置、 105…応答側装置、 110…要求側トランザクション転送装置、 113…要求発行バッファ、 117…応答受付バッファ、 120…要求側キュー制御回路、 130…要求側キューポインタ、 140−0〜3…要求IDキュー、 145…要求IDセレクタ、 150…応答側トランザクション転送装置、 155…応答側キューポインタ、 160…システムID管理回路、 165−0〜3…応答キュー、 170−0〜3…比較器、 180…応答トランザクションセレクタA、 185…応答トランザクションセレクタB、 190…応答側キュー制御回路、 300…プロセッサ、 310…プロセッサコア、 320…要求側トランザクション転送装置、 330…システム制御回路、 340…応答側トランザクション転送装置、 350…メモリ・I/O制御回路、 360…メモリ、370…I/O、 400a、400b…プロセッサノード、 410a、410b…プロセッサ、 420a、420b…キャッシュ、 430a、430b…要求側トランザクション転送装
置、 440a、440b…応答側トランザクション転送装
置、 400c…メモリノード、 410c…メモリ、 440c…応答側トランザクション転送装置、 490…相互結合網、 470…要求転送ネットワーク、 480…応答転送ネットワーク、 450a、450b…応答側トランザクション転送装
置、 460a〜460c…要求側トランザクション転送装
置。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 上原 敬太郎 東京都国分寺市東恋ケ窪一丁目280番地 株式会社日立製作所中央研究所内 (72)発明者 濱中 直樹 東京都国分寺市東恋ケ窪一丁目280番地 株式会社日立製作所中央研究所内 (72)発明者 庄内 亨 東京都国分寺市東恋ケ窪一丁目280番地 株式会社日立製作所中央研究所内 (72)発明者 岡田 哲彦 神奈川県海老名市下今泉810番地 株式会 社日立製作所サーバ開発本部内 (72)発明者 柏山 正守 神奈川県海老名市下今泉810番地 株式会 社日立製作所サーバ開発本部内 Fターム(参考) 5B045 BB44 CC07 FF09 GG06

Claims (11)

    【特許請求の範囲】
  1. 【請求項1】1以上の要求側装置と1以上の応答側装置
    との間でトランザクションの授受を行うトランザクショ
    ン転送方法において、前記要求側装置では発行順序を記
    憶しながら前記応答側装置に対して要求トランザクショ
    ンを発行し、前記応答側装置では受け付けた前記要求ト
    ランザクションの受付順序を記憶し、前記受付順序と異
    なる要求トランザクションに対する応答を返送する場合
    には、順序変更を前記要求側装置に伝達することを特徴
    とするトランザクション転送方法。
  2. 【請求項2】請求項1に記載のトランザクション転送方
    法において、前記応答側装置から前記要求側装置への順
    序変更の伝達は、前記応答側装置で発行するように準備
    されたトランザクション種に含まれるトランザクション
    の順序を制御する応答トランザクションの発行により実
    行することを特徴とするトランザクション転送方法。
  3. 【請求項3】請求項1に記載のトランザクション転送方
    法において、前記要求側装置と前記応答側装置との間の
    前記要求トランザクション及び前記応答の転送はいずれ
    もトランザクションを識別する識別子の転送を伴わない
    ことを特徴とするトランザクション転送方法。
  4. 【請求項4】要求側装置と、応答側装置と、前記要求側
    装置と前記応答側装置の間の情報転送を行う転送手段を
    含み、前記要求側装置は前記答側装置に応答を要求する
    要求トランザクションを発行し、前記応答側装置は前記
    要求トランザクションへの応答を前記転送手段を介して
    返送するよう構成されたトランザクション転送装置であ
    って、前記要求側装置には、発行した要求トランザクシ
    ョンの発行順序を記憶する記憶手段と、次に応答される
    要求トランザクションを前記記憶手段に記憶された発行
    順序の上で示す要求側ポインタとを備え、前記応答側装
    置には、受け付けた要求トランザクションの受付順序を
    記憶する記憶手段と、次に応答すべき要求トランザクシ
    ョンを前記受付順序の上で示す応答側ポインタと、前記
    応答側ポインタの示す要求トランザクションと異なる要
    求トランザクションに応答する場合には、前記要求側ポ
    インタの変更を指示する応答トランザクションを発行す
    る手段とを備え、前記要求側装置では伝達される前記応
    答トランザクションにより前記要求側ポインタを制御す
    ることを特徴とするトランザクション転送装置。
  5. 【請求項5】請求項4のトランザクション転送装置にお
    いて、 前記応答側装置から前記要求側装置に対して発行する応
    答トランザクションに、要求側ポインタを正数N進める
    ことを指示する応答トランザクションを有することを特
    徴とするトランザクション転送装置。
  6. 【請求項6】請求項4のトランザクション転送装置にお
    いて、 前記応答側装置から前記要求側装置に対して発行する応
    答トランザクションに、要求側ポインタを正数N戻すこ
    とを指示する応答トランザクションを有することを特徴
    とするトランザクション転送装置。
  7. 【請求項7】請求項4のトランザクション転送装置にお
    いて、 前記応答側装置から前記要求側装置に対して発行する応
    答トランザクションに、要求側ポインタを未応答である
    要求トランザクションの正数N番目に設定する様指示す
    る応答トランザクションを有することを特徴とするトラ
    ンザクション転送装置。
  8. 【請求項8】請求項4に記載のトランザクション転送装
    置において、 前記応答側装置から前記要求側装置に対して発行する応
    答トランザクションに、前記要求トランザクションに対
    する応答を処理した後、又は、処理する前に要求側ポイ
    ンタを制御する様指示する応答トランザクションを有す
    ることを特徴とするトランザクション転送装置。
  9. 【請求項9】要求側装置と、応答側装置と、前記要求側
    装置と前記応答側装置の間の情報転送を行う転送手段を
    含み、前記要求側装置は前記答側装置に応答を要求する
    要求トランザクションを発行し、前記応答側装置は前記
    要求トランザクションへの応答を前記転送手段を介して
    返送するよう構成されたトランザクション転送装置であ
    って、前記要求側装置には、発行して応答待ちである要
    求トランザクションを要求側キューに記録・管理する要
    求側キュー管理手段と、次に応答される要求トランザク
    ションを前記要求側キューの上で示す要求側ポインタと
    を備え、前記応答側装置には、受け付けて応答待ちであ
    る要求トランザクションを受付側キューに記録・管理す
    るの受付側キュー管理手段と、次に応答すべき要求トラ
    ンザクションを前記受付側キューの上で示す応答側ポイ
    ンタと、前記応答側ポインタの示す要求トランザクショ
    ンと異なる要求トランザクションに応答する場合には、
    該応答する要求トランザクションを示すように前記応答
    側ポインタを変更するとともに、前記要求側装置に対し
    要求側ポインタの変更を指示する応答トランザクション
    を発行する手段とを備え、 前記要求側装置では伝達される前記応答トランザクショ
    ンにより前記要求側ポインタを制御することを特徴とす
    るトランザクション転送装置。
  10. 【請求項10】1以上のプロセッサと、1以上のメモリ
    又は1以上のI/Oがシステム制御回路を用いて接続さ
    れた情報処理装置であって、 前記プロセッサと前記システム制御回路間、前記メモリ
    と前記システム制御回路間、前記I/Oと前記システム
    制御回路間のいずれかの転送経路で請求項1乃至請求項
    9のいずれかに記載のトランザクション転送方法又はト
    ランザクション転送装置を使用することを特徴とする情
    報処理装置。
  11. 【請求項11】1以上のプロセッサ、1以上のメモリ、
    1以上のI/Oの中から任意の組み合わせで構成される
    ノードを複数備え、それらがネットワークを介して接続
    される情報処理装置であって、各ノードとネットワーク
    を接続するいずれかの転送経路で請求項1乃至請求項9
    のいずれかに記載のトランザクション転送方法又はトラ
    ンザクション転送装置を使用することを特徴とする情報
    処理装置。
JP11106194A 1999-04-14 1999-04-14 トランザクション転送方法、装置及びこれを用いた情報処理装置 Pending JP2000298657A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP11106194A JP2000298657A (ja) 1999-04-14 1999-04-14 トランザクション転送方法、装置及びこれを用いた情報処理装置
US09/547,392 US6591325B1 (en) 1999-04-14 2000-04-11 Method and apparatus of out-of-order transaction processing using request side queue pointer and response side queue pointer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11106194A JP2000298657A (ja) 1999-04-14 1999-04-14 トランザクション転送方法、装置及びこれを用いた情報処理装置

Publications (1)

Publication Number Publication Date
JP2000298657A true JP2000298657A (ja) 2000-10-24

Family

ID=14427383

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11106194A Pending JP2000298657A (ja) 1999-04-14 1999-04-14 トランザクション転送方法、装置及びこれを用いた情報処理装置

Country Status (2)

Country Link
US (1) US6591325B1 (ja)
JP (1) JP2000298657A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012123437A (ja) * 2010-12-06 2012-06-28 Sony Corp 相互接続装置、および、その制御方法

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6820140B2 (en) * 2002-07-24 2004-11-16 Intel Corporation Method, system, and program for returning data to read requests received over a bus
US20050155011A1 (en) * 2004-01-12 2005-07-14 Stephan Heik Method and system for restricting access in a distributed job environment
US20080320192A1 (en) * 2007-06-19 2008-12-25 Sundaram Chinthamani Front side bus performance using an early defer-reply mechanism
US8145805B2 (en) * 2008-06-09 2012-03-27 Emulex Design & Manufacturing Corporation Method for re-sequencing commands and data between a master and target devices utilizing parallel processing
US8090892B2 (en) * 2009-06-12 2012-01-03 Freescale Semiconductor, Inc. Ordered queue and methods therefor
US9473424B2 (en) * 2011-09-19 2016-10-18 Fujitsu Limited Address table flushing in distributed switching systems
US11853236B2 (en) * 2020-11-05 2023-12-26 Synopsys, Inc. Enriched auto command feature for I3C host controller
US11775467B2 (en) * 2021-01-14 2023-10-03 Nxp Usa, Inc. System and method for ordering transactions in system-on-chips

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3466214B2 (ja) 1992-11-13 2003-11-10 株式会社日立製作所 情報処理装置
US5778434A (en) * 1995-06-07 1998-07-07 Seiko Epson Corporation System and method for processing multiple requests and out of order returns
US5696910A (en) * 1995-09-26 1997-12-09 Intel Corporation Method and apparatus for tracking transactions in a pipelined bus
US6073190A (en) * 1997-07-18 2000-06-06 Micron Electronics, Inc. System for dynamic buffer allocation comprising control logic for controlling a first address buffer and a first data buffer as a matched pair
US6195722B1 (en) * 1998-01-26 2001-02-27 Intel Corporation Method and apparatus for deferring transactions on a host bus having a third party agent
US6205506B1 (en) * 1998-08-25 2001-03-20 Stmicroelectronics, Inc. Bus interface unit having multipurpose transaction buffer
US6101568A (en) * 1998-08-25 2000-08-08 Stmicroelectronics, Inc. Bus interface unit having dual purpose transaction buffer
US6202101B1 (en) * 1998-09-30 2001-03-13 Compaq Computer Corporation System and method for concurrently requesting input/output and memory address space while maintaining order of data sent and returned therefrom

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012123437A (ja) * 2010-12-06 2012-06-28 Sony Corp 相互接続装置、および、その制御方法

Also Published As

Publication number Publication date
US6591325B1 (en) 2003-07-08

Similar Documents

Publication Publication Date Title
JP3697831B2 (ja) コンピュータシステム
JP4881052B2 (ja) タグ情報を使用してコマンドバッファから廃棄されたエントリを除去するシステム及び方法
JP2809961B2 (ja) マルチプロセッサ
US5673413A (en) Method and apparatus for coherency reporting in a multiprocessing system
US4930069A (en) Mechanism and method for transferring data between bus units having varying master and slave DMA capabilities
JPH0833857B2 (ja) システム間デ−タベ−ス共用システムジヤ−ナルマ−ジ方式
JP2006309755A5 (ja)
JP2501737B2 (ja) デ―タ転送方法及び装置
EP0317481B1 (en) Remote storage management mechanism and method
JP2000298657A (ja) トランザクション転送方法、装置及びこれを用いた情報処理装置
US5204954A (en) Remote storage management mechanism and method
JP2587190B2 (ja) システム間チャネルページング機構
CN100504824C (zh) 用于处理读取请求的方法、设备和系统
JPH07210519A (ja) データ転送制御方法および送受信制御装置
US6195722B1 (en) Method and apparatus for deferring transactions on a host bus having a third party agent
US20040059734A1 (en) Data access control
JP2896394B2 (ja) ファイルサーバ装置
JPS63289657A (ja) 共用ファイルアクセス方式
JPH04317118A (ja) ネットワークプリンタ制御装置およびネットワークシステム
CN116257479B (zh) 重排序缓冲器、系统、装置、设备及传输方法
JP3799741B2 (ja) バスコントローラ
JP2798558B2 (ja) プリンタ装置制御方式
US6681260B1 (en) Data transfer method in function expansion system
JP3183250B2 (ja) キュー管理システム
JPH0926911A (ja) ページ情報転送処理装置