[go: up one dir, main page]

JPH10228445A - リングバス入出力制御装置 - Google Patents

リングバス入出力制御装置

Info

Publication number
JPH10228445A
JPH10228445A JP9028851A JP2885197A JPH10228445A JP H10228445 A JPH10228445 A JP H10228445A JP 9028851 A JP9028851 A JP 9028851A JP 2885197 A JP2885197 A JP 2885197A JP H10228445 A JPH10228445 A JP H10228445A
Authority
JP
Japan
Prior art keywords
packet
fifo memory
processor node
received
source
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
JP9028851A
Other languages
English (en)
Inventor
Tomomi Kaneko
智巳 金子
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP9028851A priority Critical patent/JPH10228445A/ja
Publication of JPH10228445A publication Critical patent/JPH10228445A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)
  • Bus Control (AREA)

Abstract

(57)【要約】 【課題】 従来装置において、資源予約方式の場合は、
リングバスを一周分パケットを回した後でないとデータ
転送が開始できず、リトライ方式の場合は、再度パケッ
ト生成から行う必要があり、いずれもデータ転送の遅延
が増大するという課題があった。また、バイパスFIF
Oメモリの容量は、最大パケット長以上の容量が必要で
あった。 【解決手段】 リジェクトされたパケットを周回させる
手段を備えた。また、再読み出し可能なFIFOメモリ
を用いた。また、パケット送出中にバイパスパケットが
到着した場合、これをリジェクトする手段を備えた。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、複数のCPUに
対し、演算対象となる処理を分散して並列処理を実行す
る、いわゆるマルチプロセッサ計算機システムの演算性
能向上に関する技術である。さらに詳しく述べれば、環
状に接続されたCPU間のデータ転送を制御するリング
バス入出力制御装置のデータ転送の高速化に関するもの
である。
【0002】
【従来の技術】従来より、単一CPUの演算性能限界を
打破する有力な解決策の1つとしてマルチプロセッサ構
成による計算機システムが提案されている。マルチプロ
セッサ構成による計算機システムでは、個々の単一CP
U間のデータ通信性能が計算機全体の演算性能に大きな
影響を及ぼす。すなわち、個々のCPU、主メモリをど
のように配置し、接続するかが重要な課題になってい
る。その代表的なアプローチの一つに、単一バス上に複
数のCPU、主メモリを配置し、接続する方法がある。
このバス接続のマルチプロセッサ計算機システムでは、
単一バスが本質的に抱える電気的な制約から、同時にバ
スを使用できるCPUは1つに限られ、接続距離と接続
可能なCPU数に上限があり、CPU数に対し性能向上
が直線的でないという特徴がある。現実的にこの種のマ
ルチプロセッサ計算機システムでは、4〜32個程度が
接続可能なCPU数としての上限値であることが指摘さ
れている。一方、CPU間をリングバス入出力制御装置
によって環状に接続したマルチプロセッサ計算機システ
ムには、本質的にバス接続で構成されたマルチプロセッ
サ計算機システムよりも接続可能なCPU数を多くとれ
る特徴がある。また、複数の伝送路上で同時にデータ転
送することが可能であるため、データ転送性能の向上が
比較的容易であるという特徴がある。従来のこの種の計
算機システムを構成するためのリングバス入出力制御装
置がいくつか提案されている。ナショナルセミコンダク
タ社が製造及び販売しているQuickRing(Qu
ickRingは、Apple Computer社の
登録商標)コントローラLSI,QR0001は、その
1つである。図7は、文書番号QR OPB94(19
94年4月22日、ナショナルセミコンダクタージャパ
ン社発行)第6ページに掲載されたナショナルセミコン
ダクタ社の前記コントローラLSI,QR0001の内
部ブロック図であり、各ブロックの名称を日本語に置き
換えたものである。図7において、1はLSI化された
リングバス入出力制御装置、2は前段プロセッサノード
からのパケットが入力されるレシーバ、3はレシーバか
ら入力されるクロック信号を元に安定した転送クロック
を生成するPLL(Phase Lock Loop)
回路、4はパケットを解析しパケットの送出先を決定す
るアップストリームポート、5は次段のプロセッサノー
ドへ発行するパケットを一時的に保持するバイパスFI
FO(First in First out)メモ
リ、6は次段のプロセッサノードへ送出するパケットを
選択するダウンストリームポート、7は次段のプロセッ
サノードへパケットを送出するドライバ、8は受信パケ
ットを一時的に保持するターゲットFIFOメモリ、9
は受信パケットをターゲットFIFOメモリ8より取り
出し内部ローカルバス上に送出するレシーブポート、1
0は内部ローカルバスから送出された転送データをパケ
ット変換するトランスミットポート、11は次段へ送出
する送信パケットを一時的に保持するソースFIFOメ
モリである。
【0003】次に動作について説明する。従来のリング
バス入出力制御装置である前記コントローラLSI,Q
R0001は、最大パケットサイズが規定されており、
パケットはヘッドデータと転送データから構成されてい
る。ヘッドデータには、転送要求先プロセッサノードア
ドレス及び転送要求プロセッサノードアドレス情報があ
る。内部ローカルバスから入力されたパケットは、トラ
ンスミットポート10によってパケット生成され、ソー
スFIFOメモリ11に一時的に格納される。バイパス
FIFOメモリ5に送信すべきパケットがない場合は、
ダウンストリームポート6により、ソースFIFOメモ
リ11に一時的に格納されている送信パケットが、ドラ
イバ7を介して次段のプロセッサノードへ送出される。
一方、受信パケットは、レシーバ2を介してPLL回路
3により転送クロックに同期化されて、リングバス入出
力制御装置1に取り込まれる。すなわち、従来のリング
バス入出力制御装置1であるコントローラLSI,QR
0001を用いてリングバスを構成した場合、全てのコ
ントローラLSI,QR0001は、単一のクロックに
よって制御されている。アップストリームポート4は、
受信パケットのヘッドデータを解析し、転送要求先プロ
セッサノードアドレスを調べ、本リングバス入出力制御
装置1が固有にもつプロセッサノードアドレスが一致し
ない場合は、バイパスFIFOメモリ5に受信パケット
を送出する。バイパスFIFOメモリ5に一時的に格納
された受信パケットは、ダウンストリームポート6によ
って、ソースFIFOメモリ11からの送信パケットと
選択された後、送信パケットとしてドライバ7より、次
段のプロセッサノードに送出される。一方、アップスト
リームポート4が受信パケットのヘッドデータを解析
し、転送要求先プロセッサノードアドレスを調べ、本リ
ングバス入出力制御装置1が固有にもつプロセッサノー
ドアドレスと一致した場合は、受信パケットをターゲッ
トFIFOメモリ8に送出し、レシーブポート9を介し
て内部ローカルバスに送出される。一般的に、リングバ
ス入出力制御装置では、ターゲットFIFOメモリ8及
びバイパスFIFOメモリ5に空き領域がない場合のブ
ロッキングによる性能低下という課題がある。従来のリ
ングバス入出力制御装置1であるコントローラLSI,
QR0001は、ターゲットFIFOメモリ8に、空き
領域がない場合のパケット破壊を回避する手段として、
資源予約方式を採用している。すなわち、転送データを
含むパケットを発行する前に、バウチャと呼ばれるパケ
ットを転送要求先プロセッサノードに送出し、転送要求
先のターゲットFIFOメモリ8に十分な空きがない場
合、そのまま、バウチャのパケットを転送要求元プロセ
ッサノードにリングバスを介して返却する。この場合、
転送要求元プロセッサノードのリングバス入出力制御装
置1は、ある時間を経過したのち、再度バウチャのパケ
ットを同様にして発行する。転送要求先のターゲットF
IFOメモリ8に十分な空きがあった場合は、チケット
と呼ぶパケットを転送要求元プロセッサノードにリング
バスを介して送り返す。転送要求元プロセッサノード
は、この後、初めてソースFIFOメモリ11からの転
送データを含んだ送信パケットをドライバ7より、次段
のプロセッサノードに送出し、送出されたパケットは、
順次途中のプロセッサノードを伝搬したのち、転送要求
先プロセッサノードのターゲットFIFOメモリ8に事
前に確保されている領域に格納される。一方、バイパス
FIFOメモリ5に十分な空き領域がない場合のパケッ
ト破壊を回避する手段として、従来のリングバス入出力
制御装置1であるコントローラLSI,QR0001
は、バイパスFIFOメモリ5の空き領域が1パケット
分の空き領域がない場合は、ソースFIFOメモリ11
からのパケット送出が待たされるように制御する手段を
有している。すなわち、ソースFIFOメモリ11から
のパケットを送出中に、バイパスFIFOメモリ5に受
信パケットが到着しても、バイパスFIFOメモリ5の
空き領域があるため、ここに受信パケットを蓄積する。
パケット長が規定されているため、ソースFIFOメモ
リ11からのパケット送出が完了した時点では、バイパ
スFIFOメモリ5は、全領域が受信パケットで埋め尽
くされている可能性がある。次の時点で、さらに後続の
パケットが到着する場合、従来のリングバス入出力制御
装置1であるコントローラLSI,QR0001は、単
一クロックによって全てのプロセッサノードのリングバ
ス入出力制御装置1内の制御タイミングが同期化されて
いるため、バイパスFIFOメモリ5への受信パケット
の書き込みと読み出しが同一タイミングで実行され、バ
イパスFIFOメモリ5でのパケット破壊は発生しな
い。
【0004】また、IEEE規格1596−1992で
提案されているSCI(Scalable Coher
ent Interface)も、従来のリングバス入
出力制御装置の1つである。図8は、文書番号1−55
937−222−2、文書名IEEE STANDAR
D FOR SCALABLE COHERENTIN
TERFACE(SCI)、(IEEE−Std−15
96−1992)の1.4.3項(17ページ)に掲載
された、SCIの一構成例を示すブロック図であり、各
ブロックの名称を日本語に置き換えたものである。図8
において、12はリングバス入出力装置、13は受信パ
ケットのヘッドデータの中の転送要求先プロセッサノー
ドアドレスを判別するアドレスデコーダ、14は次段の
プロセッサノードへ発行するパケットを一時的に保持す
るバイパスFIFOメモリ、15は次段のプロセッサノ
ードへ送出するパケットを選択する出力マルチプレク
サ、16は受信したレスポンスパケットとリクエストパ
ケットを一時的に格納するターゲットFIFOメモリ、
17は受信したパケットの処理の優先順位を判定し、バ
ッファリングしておくインプットキュー、18は出力す
る転送データを一時的に格納するアウトプットキュー、
19はリングバスへ出力するレスポンスパケットとリク
エストパケットを一時的に格納するソースFIFOメモ
リである。
【0005】次に動作について説明する。従来のリング
バス入出力制御装置12であるSCIの一構成例では、
最大パケットサイズが規定されており、パケットはヘッ
ドデータと転送データから構成されている。ヘッドデー
タには、転送要求先プロセッサノードアドレス及び転送
要求プロセッサノードアドレス情報があり、内部ローカ
ルバスから入力された転送データは、アウトプットキュ
ー18に格納され、パケット生成した後、ソースFIF
Oメモリ19にリクエストパケットとして一時的に格納
される。バイパスFIFOメモリ14に送信すべきパケ
ットがない場合は、出力マルチプレクサ15により、ソ
ースFIFOメモリ19に一時的に格納されているリク
エストパケットが次段のプロセッサノードへ送出され
る。一方、受信パケットは、アドレスデコーダ13を介
してリングバス入出力制御装置12に取り込まれる。ア
ドレスデコーダ13は、リクエストパケットのヘッドデ
ータを解析し、転送要求先プロセッサノードアドレスを
調べ、本リングバス入出力制御装置12が固有にもつプ
ロセッサノードアドレスと一致しない場合は、バイパス
FIFOメモリ14にリクエストパケットを送出する。
バイパスFIFOメモリ14に一時的に格納されたリク
エストパケットは、出力マルチプレクサ15によって、
ソースFIFOメモリ19からの送信パケットと選択さ
れた後、次段のプロセッサノードに送出される。一方、
アドレスデコーダ13がリクエストパケットのヘッドデ
ータを解析し、転送要求先プロセッサノードアドレスを
調べ、本リングバス入出力制御装置12が固有にもつプ
ロセッサノードアドレスと一致した場合は、リクエスト
パケットをターゲットFIFOメモリ16に送出し、さ
らに、インプットキュー17に転送する。リングバス入
出力制御装置12は、このインプットキュー17を解析
する。書き込み要求であった場合はパケットに付随した
書き込みデータを内部ローカルバスへ送出し、書き込み
完了を示すエコーパケットを生成しソースFIFOメモ
リ19に投入する。読み出し要求であった場合は、読み
出し要求を認識したことを転送要求元のプロセッサノー
ドに通知するためのエコーパケットを生成しソースFI
FOメモリ19に投入し、転送要求元のプロセッサノー
ドに転送する。その後、読み出し要求先のプロセッサノ
ード内のリングバス入出力制御装置12は、内部ローカ
ルバスより転送データを読み出し、アウトプットキュー
18に投入する。次に、読み出しデータを含むレスポン
スパケットを生成後、ソースFIFOメモリ19に投入
する。ソースFIFOメモリ19に投入されたレスポン
スパケットは、順次リングバス上に送出されていく。さ
らに、読み出し要求であった場合は、レスポンスパケッ
トに対するエコーパケットを受信した後、アウトプット
キュー18からレスポンスパケットを削除する。従来の
リングバス入出力制御装置であるSCIのリングバス入
出力制御装置12は、ターゲットFIFOメモリ16
に、空き領域がない場合のパケット破壊を回避する手段
として、リトライ方式を採用している。すなわち、パケ
ットを受信した時点でターゲットFIFOメモリ16や
インプットキュー17に十分な空きがなかった場合は、
リトライパケットを生成し、転送要求元プロセッサノー
ドにこのリトライパケットを返送する。リトライパケッ
トを受け取った転送要求元プロセッサノードは、再度転
送要求パケットを発行するため、アウトプットキュー1
8に保持している転送データから再度パケットを生成す
る。転送要求先プロセッサノードのターゲットFIFO
メモリ16やインプットキュー17に十分な空きができ
たときに、正常終了を示すエコーパケットが返送される
ため、転送要求元プロセッサノードはこのときアウトプ
ットキュー18に保持している転送データを削除するこ
とができる。一方、バイパスFIFOメモリ14に十分
な空き領域がない場合のパケット破壊を回避する手段と
して、従来のリングバス入出力制御装置であるSCIの
リングバス入出力制御装置12は、従来のリングバス入
出力制御装置であるQuickRingコントローラL
SI,QR0001と同様に、バイパスFIFOメモリ
14の空き領域が1パケット分の空き領域がない場合
は、ソースFIFOメモリ19からのパケット送出が待
たせるように制御する手段を有している。すなわち、ソ
ースFIFOメモリ19からのパケットを送出中に、バ
イパスFIFOメモリ14に受信パケットが到着して
も、バイパスFIFOメモリ14の空き領域があるた
め、ここに受信パケットを蓄積する。パケット長が規定
されているため、ソースFIFOメモリ19からのパケ
ット送出が完了した時点では、バイパスFIFOメモリ
14は、全領域が受信パケットで埋め尽くされている可
能性がある。次の時点で、さらに後続のパケットが到着
する場合、従来のリングバス入出力制御装置であるSC
Iのリングバス入出力制御装置12は、全てのプロセッ
サノードのリングバス入出力制御装置12がほぼ同一の
周波数を持つ転送クロックによって制御タイミングが同
期化されているため、バイパスFIFOメモリ14への
受信パケットの書き込みと読み出しがほぼ同一タイミン
グで実行される、さらに、アドレスデコーダ13内部の
エラスティックバッファが、この周波数の違いを吸収す
るようにパケット間のアイドル時間を調整(伸長、圧
縮)することにより、結果的にバイパスFIFOメモリ
14でのパケット破壊は発生しない。
【0006】
【発明が解決しようとする課題】従来のリングバス入出
力制御装置であるQuickRingコントローラLS
I,QR0001は、資源予約方式を採用しているた
め、バウチャと呼ばれるパケットを転送要求先プロセッ
サノードに送出し、チケットが返送されるまで、データ
転送がブロッキングされる。したがって、ターゲットF
IFOメモリに空き領域があった場合でも、必ずリング
バスを一周分パケットを回した後でないとデータ転送が
開始できず、プロセッサノード間のデータ転送の遅延が
増大するという課題があった。
【0007】また、従来のリングバス入出力制御装置で
あるSCIの一構成例では、リトライ方式を採用してい
るため、リトライパケットを受信した場合は、アウトプ
ットキューに保持している転送データを再度読み出し、
転送要求パケットを生成し、ソースFIFOメモリに書
き込みを行う必要があり、この場合も、プロセッサノー
ド間のデータ転送の遅延が増大するという課題があっ
た。
【0008】また、従来のリングバス入出力制御装置で
あるQuickRingコントローラLSI,QR00
01やSCIの一構成例では、最低でも最大パケット長
の深さを持つバイパスFIFOメモリを有する必要があ
り、高価な大容量FIFOメモリを有したことによるコ
スト増や、パケット長が短いため転送データを分割する
必要があり、それらを複数回転送することにより、トー
タルなスループット性能が低減するという課題があっ
た。
【0009】この発明はかかる問題を解決するためにな
されたものであり、プロセッサノード間のデータ転送の
遅延を最小限に抑えるリングバス入出力制御装置を得る
ことを目的としている。
【0010】また、バイパスFIFOメモリの容量を劇
的に削減可能であり、かつ最大パケット長を長くするこ
とが可能なリングバス入出力制御装置を得ることを目的
としている。
【0011】
【課題を解決するための手段】第1の発明によるリング
バス入出力制御装置は、転送要求先プロセッサノードの
ターゲットFIFOメモリに受信パケットが詰まってい
た場合は、ターゲットFIFOの受信パケットが全て取
り出されるまで、後続の全ての受信パケットを前記バイ
パスFIFOメモリに送出する手段を有する。
【0012】また、第2の発明によるリングバス入出力
制御装置は、パケットフォーマット体系の要素として、
リトライパケットを有する。また、再読み出し可能なソ
ースFIFOメモリを有する。また、入力ポートにリト
ライパケットを受信した場合は、再度ソースFIFOメ
モリより書き込み要求パケットを読み出し、再度転送要
求先プロセッサノードに送出する手段を有する。また、
ターゲットFIFOメモリに受信パケットが存在すると
判断された場合は、入力ポートより転送されてきた書き
込み要求ヘッドデータをリトライパケットに変換し、バ
イパスFIFOメモリにリトライパケットを送出するリ
ジェクト手段を有する。
【0013】また、第3の発明によるリングバス入出力
制御装置は、パケットフォーマット体系の要素として、
リトライパケットを有する。また、再読み出し可能なソ
ースFIFOメモリを有する。また、入力ポートにリト
ライパケットを受信した場合は、再度ソースFIFOメ
モリより書き込み要求パケットを読み出し、再度転送要
求先プロセッサノードに送出する手段を有する。また、
バイパスFIFOメモリにリトライパケットを送出する
リジェクト手段を有する。受信パケットがリジェクトさ
れたことを示す情報を保持するターゲットリジェクトフ
ラグを有する。また、リジェクトが発生した場合にリジ
ェクトされたパケットの要求元プロセッサノードに対応
するターゲットリジェクトフラグをセットする手段を有
する。また、受信されたパケットにおいて要求元プロセ
ッサノードの対応するターゲットリジェクトフラグがセ
ットされていなかった場合は、このパケットを再度リジ
ェクトする手段を有する。また、受信されたパケットに
おいて要求元プロセッサノードの対応するターゲットリ
ジェクトフラグがセットされ、かつ、ターゲットFIF
Oメモリに受信パケットが存在しない場合は、この受信
パケットをターゲットFIFOメモリに取り込む手段を
有する。また、対応するターゲットリジェクトフラグを
リセットする手段を有する。
【0014】また、第4の発明によるリングバス入出力
制御装置は、パケットフォーマット体系の要素として、
リトライパケットを有する。また、再読み出し可能なソ
ースFIFOメモリを有する。また、入力ポートにリト
ライパケットを受信した場合は、再度ソースFIFOメ
モリより書き込み要求パケットを読み出し、再度転送要
求先プロセッサノードに送出する手段を有する。また、
ソースFIFOメモリがリングバス上に送出パケットを
送出中であることの有無を監視する手段を有する。ま
た、ソースFIFOメモリがリングバス上に送出パケッ
トを送出中であると判断された場合は、入力ポートより
転送されてきた書き込み要求ヘッドデータをリトライパ
ケットに変換しバイパスFIFOメモリにリトライパケ
ットを送出するリジェクト手段を有する。
【0015】また、第5の発明によるリングバス入出力
制御装置は、パケットフォーマット体系の要素として、
リトライパケットを有する。また、再読み出し可能なソ
ースFIFOメモリを有する。また、入力ポートにリト
ライパケットを受信した場合は、再度ソースFIFOメ
モリより書き込み要求パケットを読み出し、再度転送要
求先プロセッサノードに送出する手段を有する。また、
ソースFIFOメモリがリングバス上に送出パケットを
送出中であることの有無を監視する手段を有する。ま
た、ソースFIFOメモリがリングバス上に送出パケッ
トを送出中であると判断された場合は、入力ポートより
転送されてきた書き込み要求ヘッドデータをリトライパ
ケットに変換しバイパスFIFOメモリにリトライパケ
ットを送出するリジェクト手段を有する。また、受信パ
ケットがリジェクトされたことを示す情報を保持するバ
イパスリジェクトフラグを有する。また、リジェクトが
発生した場合にリジェクトされたパケットの転送要求元
プロセッサノードに対応するバイパスリジェクトフラグ
をセットする手段を有する。また、受信されたパケット
において転送要求元プロセッサノードの対応するバイパ
スリジェクトフラグがセットされていなかった場合は、
このパケットを再度リジェクトする手段を有する。ま
た、受信されたパケットにおいて転送要求元プロセッサ
ノードの対応するバイパスリジェクトフラグがセットさ
れ、かつ、前記ソースFIFOメモリからのリングバス
への出力がなされていない場合は、この受信パケットを
前記バイパスFIFOメモリに取り込み、対応するバイ
パスリジェクトフラグをリセットする手段を有する。
【0016】
【発明の実施の形態】
実施の形態1 図1はこの発明の実施の形態1を示すブロック図であ
り、図において20はプロセッサノード、21はプロセ
ッサノード20間を接続するリングバス、22はCP
U、23は転送データが格納されている主メモリ、24
はプロセッサノード内でデータ転送するための内部ロー
カルバス、25はリングバス入出力制御装置、26はリ
ングバス21上に伝送されるパケットを取り込み受信パ
ケットのヘッドデータの中の転送要求先プロセッサノー
ドアドレスを判別する入力ポート、27はリングバス2
1上にパケットを送出するための出力ポート、28は内
部ローカルバス24を介してCPU22と主メモリ23
とリングバス入出力制御装置25の間のデータ転送を制
御するチャネルコントローラ、29は受信パケットを一
時的に保持するターゲットFIFOメモリ、30は次段
のプロセッサノードへ発行するバイパスパケットを一時
的に保持するバイパスFIFOメモリ、31は次段へ送
出する送信パケットを一時的に保持するソースFIFO
メモリ、32は次段のプロセッサノードへ送出するパケ
ットを選択する出力マルチプレクサである。また、従来
装置と同様に、リングバス21上に伝送される転送デー
タは、決められたパケットフォーマット体系を有し、図
2に示すように、そのフォーマット体系には、転送要求
先プロセッサノードアドレス、転送要求元プロセッサノ
ードアドレス、転送要求先内部ローカルバスアドレス、
転送要求元内部ローカルバスアドレス、及び転送要求デ
ータ長の情報からなるヘッドデータと書き込みデータか
らなるパケットを要素として含んでいる。さらに、従来
装置と同様にパケットフォーマット体系においては、最
大パケット長が規定されている。
【0017】前記のように構成されたリングバス入出力
制御装置25においては次のように動作する。まず、転
送要求元プロセッサノード20からリングバス21上に
送信パケットを送出するまでの過程について説明する。
転送要求元プロセッサノード20のCPU22に、デー
タ転送要求が発生した場合、CPU22は、リングバス
入出力制御装置25の使用権フラグを調べ、使用可能状
態であった場合は、転送要求先プロセッサノードアドレ
ス、転送要求元内部ローカルバスアドレス、転送要求デ
ータ長及び、転送起動指令の各情報をチャネルコントロ
ーラ28に転送する。チャネルコントローラ28は、リ
ングバス入出力制御装置25の使用権フラグを使用不可
能状態に設定した後、転送要求先プロセッサノードアド
レス、転送要求元プロセッサノードアドレス、転送要求
先内部ローカルバスアドレス、転送要求元内部ローカル
バスアドレス、及び転送要求データ長の各情報からなる
ヘッドデータを生成し、さらに主メモリ23より転送デ
ータを読み出し、図2に示す送信パケットとして、ソー
スFIFOメモリ31に転送する。送信パケットがソー
スFIFOメモリ31中に格納された時点で、バイパス
FIFOメモリ30が空の状態であった場合は、この送
信パケットが出力マルチプレクサ32、出力ポート27
を介してリングバス21に送出され、次段のプロセッサ
ノード20へ前記パケットが送出される。送信パケット
がソースFIFOメモリ31中に格納された時点で、バ
イパスFIFOメモリ30に前段のプロセッサノード2
0から受信した受信パケットを送出中であるか、また
は、前段のプロセッサノード20から受信した受信パケ
ットが格納されていた場合は、このバイパスFIFOメ
モリ30中のパケットを全て送出し、バイパスFIFO
メモリ30が空になった後、ソースFIFOメモリ31
中の送信パケットが出力マルチプレクサ32、出力ポー
ト27を介してリングバス21に送出され、次段のプロ
セッサノード20へ送出される。また、ソースFIFO
メモリ中31に格納された送信パケットをリングバス2
1に送出中に、バイパスFIFOメモリ30に受信パケ
ットが到着した場合は、バイパスFIFOメモリ30に
受信パケットを蓄積しておき、ソースFIFOメモリ3
1中に格納された送信パケットが送出完了した時点で、
バイパスFIFOメモリ30内に蓄積されていた受信パ
ケットをリングバス21に送出する。バイパスFIFO
メモリ30は、従来装置と同様に、最大パケット長と同
一サイズ以上の容量を持っており、従来装置と同様にし
て、リングバス21上の全てのリングバス入出力制御装
置25は単一の転送クロックで制御されているか、また
は、近時的な周波数を持つクロックで動作し、かつ、入
力ポート26内部にあるアイドルパケットを挿入/削除
するエラスティックバッファが周波数誤差を吸収してい
ることから、受信パケットの取りこぼしによるパケット
破壊は発生しない。次に、リングバス21を介して受信
パケットを受信した場合の動作について、説明する。次
段のプロセッサノード20においては、前段のプロセッ
サノード20からリングバス21を介して受信パケット
は入力ポート26に到着すると、受信パケットの中の転
送要求先プロセッサノードアドレスを判定し、ターゲッ
トFIFOメモリ29またはバイパスFIFOメモリ3
0に分配する。受信パケットの中の転送要求先プロセッ
サノードアドレスが各プロセッサノード固有に設定され
ているアドレスと一致し、しかもターゲットFIFOメ
モリ29に受信パケットが存在しない場合には、受信パ
ケットはターゲットFIFOメモリ29に格納される。
ターゲットFIFOメモリ29は、最大パケット長と同
一サイズ以上の容量を持っているため、1つの受信パケ
ットは全てターゲットFIFOメモリ29に取り込むこ
とができる。その後、ターゲットFIFOメモリ29よ
り取り出した受信パケットから書き込みデータを生成
し、内部ローカルバスへ送出し、結果的に転送データ
は、主メモリ23に書き込まれる。その後、転送要求元
プロセッサノード20に転送完了情報を含んだ図3に示
す1ワード長のレスポンスパケットを返送し、転送要求
元プロセッサノード20はこのレスポンスパケットを受
信し、解読することによって、ソースFIFOメモリ3
1内の送信パケットを破棄すると同時に、転送要求元プ
ロセッサノードのCPU22に一連の転送要求が完了し
たことを通知し、入出力制御装置の使用権フラグを使用
可能状態に戻す。CPU22は次の転送要求があった時
点で、再度転送要求をリングバス入出力制御装置に一連
の手順で発行する。受信パケットの中の転送要求先プロ
セッサノードアドレスが各プロセッサノード固有に設定
されているアドレスと一致しないか、または、ターゲッ
トFIFOメモリ29に受信パケットが存在する場合
は、次段のプロセッサノード20へ転送するパケットを
一時的にバッファリングするためのバイパスFIFOメ
モリ30へ受信パケットは格納される。すなわち、受信
パケットが、プロセッサノード固有に設定されているア
ドレスと一致したにも関わらず、ターゲットFIFOメ
モリ29に先行する受信パケットが存在した場合は、受
信パケットはターゲットFIFOメモリ29が空になる
までリングバス上を周回する。
【0018】実施の形態2 図1はこの発明の実施の形態1と同様に、実施の形態2
を示すブロック図である。また、従来装置と同様に、リ
ングバス21上に伝送される転送データは、決められた
パケットフォーマット体系を有している。そのフォーマ
ット体系には、図2に示すように転送要求先プロセッサ
ノードアドレス、転送要求元プロセッサノードアドレ
ス、転送要求先内部ローカルバスアドレス、転送要求元
内部ローカルバスアドレス、及び転送要求データ長の情
報からなるヘッドデータと書き込みデータからなるパケ
ットを要素として含んでいる。さらに、パケットフォー
マット体系の要素として、図4に示す1ワード長のリト
ライパケットを含んでいる。また、従来装置と同様にパ
ケットフォーマット体系においては、最大パケット長が
規定されている。また、この発明の実施の形態2におけ
るソースFIFOメモリ31は、再読み出し可能なFI
FOメモリである。入力ポート21にリトライパケット
を受信した場合は、再度前記ソースFIFOメモリ31
より書き込み要求パケットを読み出し、転送要求先プロ
セッサノード20に送出する手段を備えている。
【0019】上記のリングバス入出力制御装置は次のよ
うに動作する。まず、転送要求元プロセッサノード20
からリングバス21上に送信パケットを送出するまでの
過程については、この発明の実施の形態1におけるリン
グバス入出力制御装置25と同様の動作をとる。次に、
リングバス21を介して受信パケットを受信した場合の
動作について説明する。次段のプロセッサノード20に
おいては、前段のプロセッサノード20からリングバス
21を介して受信パケットは入力ポート26に到着する
と、受信パケットの中の転送要求先プロセッサノードア
ドレスを判定し、ターゲットFIFOメモリ29または
バイパスFIFOメモリ30に分配する。受信パケット
の中の転送要求先プロセッサノードアドレスが各プロセ
ッサノード固有に設定されているアドレスと一致し、し
かもターゲットFIFOメモリ29に受信パケットが存
在しない場合には、この発明の実施の形態1におけるリ
ングバス入出力制御装置25と同様の動作をとる。受信
パケットの中の転送要求先プロセッサノードアドレスが
各プロセッサノード固有に設定されているアドレスと一
致しない場合は、次段のプロセッサノード20へ転送す
るパケットを一時的にバッファリングするためのバイパ
スFIFOメモリ30へ受信パケットは格納される。受
信パケットが、プロセッサノード固有に設定されている
アドレスと一致したにも関わらず、ターゲットFIFO
メモリ29に先行する受信パケットが存在した場合は、
受信パケット中の書き込み要求ヘッドデータを図4に示
すリトライパケットに変換し、受信パケット中の転送デ
ータ部を廃棄するとともに、バイパスFIFOメモリ3
0にリトライパケットを送出する。この操作をリジェク
トという。バイパスFIFOメモリ30に格納されたリ
トライパケットは、リングバス21を介して転送要求元
プロセッサノード20へ帰着する。転送要求元プロセッ
サノード20は、リトライパケットを受信するとただち
に、リジェクトされたパケットの再送信の動作を行う。
すなわち、ソースFIFOメモリ31は、再読み出し可
能なFIFOメモリであるため、入力ポート26にリト
ライパケットを受信した場合は、再度ソースFIFOメ
モリ31より書き込み要求パケットを読み出し、読み出
し要求プロセッサノード20に送出する。以降、転送要
求先プロセッサノード20のターゲットFIFOメモリ
29が空き状態になるまで、リジェクトとパケットの再
送信の動作を繰り返す。
【0020】実施の形態3 図5はこの発明の実施の形態3を示すブロック図であ
り、図において20から32は、この発明の実施の形態
1と同様のものである。33は、受信パケットがリジェ
クトされたことを示す情報を保持するターゲットリジェ
クトフラグである。また、従来装置と同様に、リングバ
ス上に伝送される転送データは、決められたパケットフ
ォーマット体系を有している。そのフォーマット体系に
は、図2に示すように転送要求先プロセッサノードアド
レス、転送要求元プロセッサノードアドレス、転送要求
先内部ローカルバスアドレス、転送要求元内部ローカル
バスアドレス、及び転送要求データ長の情報からなるヘ
ッドデータと書き込みデータからなるパケットを要素と
して含んでいる。さらに、パケットフォーマット体系の
要素として、図4に示すように1ワード長のリトライパ
ケットを含んでいる。また、従来装置と同様にパケット
フォーマット体系においては、最大パケット長が規定さ
れている。また、この発明の実施の形態3におけるソー
スFIFOメモリ31は、再読み出し可能なFIFOメ
モリである。入力ポート26にリトライパケットを受信
した場合は、再度ソースFIFOメモリ31より書き込
み要求パケットを読み出し、転送要求先プロセッサノー
ド20に送出する手段を備えている。
【0021】上記のリングバス入出力制御装置25は次
のように動作する。まず、転送要求元プロセッサノード
20からリングバス21上に送信パケットを送出するま
での過程については、この発明の実施の形態1における
リングバス入出力制御装置25と同様の動作をとる。次
に、リングバス21を介して受信パケットを受信した場
合の動作については、受信パケットが、プロセッサノー
ド固有に設定されているアドレスと一致したにも関わら
ず、ターゲットFIFOメモリ29に先行する受信パケ
ットが存在した場合以外は、この発明の実施の形態2に
おけるリングバス入出力制御装置25と同様の動作をと
る。受信パケットが、プロセッサノード固有に設定され
ているアドレスと一致したにも関わらず、ターゲットF
IFOメモリ29に先行する受信パケットが存在した場
合、この発明の実施の形態2におけるリングバス入出力
制御装置25と同様にリジェクト操作を行い、転送要求
元プロセッサノード20は、図4に示すリトライパケッ
トを受信するとただちに、リジェクトされたパケットの
再送信の動作を行う。このとき、この発明の実施の形態
3におけるリングバス入出力制御装置25は、転送要求
元プロセッサノード20に対応するターゲットリジェク
トフラグ33をセットし、受信パケットがリジェクトさ
れたことを示す情報を保持する。以降に受信されたパケ
ットにおいては、受信パケット中のヘッドデータで示さ
れる転送要求先プロセッサノードアドレスがプロセッサ
ノード固有に設定されているアドレスと一致し、転送要
求元プロセッサノードに対応するターゲットリジェクト
フラグ33がセットされ、かつ、ターゲットFIFOメ
モリ29に受信パケットが存在しない場合のみ、この受
信パケットをターゲットFIFOメモリ29に取り込
み、対応するターゲットリジェクトフラグ33をリセッ
トする。ターゲットFIFOメモリ29に受信パケット
が存在せず、受信パケット中のヘッドデータで示される
転送要求先プロセッサノードアドレスがプロセッサノー
ド固有に設定されているアドレスと一致した場合であっ
ても、対応するターゲットリジェクトフラグ33がセッ
トされていなければ、受信パケットをリジェクトし、対
応するターゲットリジェクトフラグ33をセットする。
このようにして、再送信されたパケットがターゲットF
IFOメモリ29に取り込まれるまでは、新たに受信し
たパケットは全てリジェクトされ、転送要求元プロセッ
サノード20へ再送信を促す。以降、転送要求先プロセ
ッサノード20のターゲットFIFOメモリ29が空き
状態になる毎に、一度リジェクトされたパケットのみが
順次消化されていく。
【0022】実施の形態4 図1はこの発明の実施の形態1と同様に、実施の形態4
を示すブロック図である。また、従来装置と同様に、リ
ングバス21上に伝送される転送データは、決められた
パケットフォーマット体系を有している。そのフォーマ
ット体系には、図2に示すように転送要求先プロセッサ
ノードアドレス、転送要求元プロセッサノードアドレ
ス、転送要求先内部ローカルバスアドレス、転送要求元
内部ローカルバスアドレス、及び転送要求データ長の情
報からなるヘッドデータと書き込みデータからなるパケ
ットを要素として含んでいる。さらに、パケットフォー
マット体系の要素として、図4に示すように1ワード長
のリトライパケットを含んでいる。また、従来装置と同
様にパケットフォーマット体系においては、最大パケッ
ト長が規定されている。また、この発明の実施の形態4
におけるソースFIFOメモリ31は、再読み出し可能
なFIFOメモリである。入力ポート26にリトライパ
ケットを受信した場合は、再度前記ソースFIFOメモ
リ31より書き込み要求パケットを読み出し、転送要求
先プロセッサノード20に送出する手段を備えている。
【0023】上記のリングバス入出力制御装置25は次
のように動作する。まず、転送要求元プロセッサノード
20からリングバス21上に送信パケットを送出するま
での過程については、この発明の実施の形態1における
リングバス入出力制御装置25と同様の動作をとる。次
に、リングバス21を介して受信パケットを受信した場
合の動作について、説明する。次段のプロセッサノード
20においては、前段のプロセッサノード20からリン
グバス21を介して受信パケットは入力ポート26に到
着すると、受信パケットの中の転送要求先プロセッサノ
ードアドレスを判定し、ターゲットFIFOメモリ29
またはバイパスFIFOメモリ30に分配する。受信パ
ケットの中の転送要求先プロセッサノードアドレスが各
プロセッサノード固有に設定されているアドレスと一致
した場合には、この発明の実施の形態1、実施の形態
2、及び実施の形態3のいずれかにおけるリングバス入
出力制御装置25と同様の動作をとる。受信パケットの
中の転送要求先プロセッサノードアドレスが各プロセッ
サノード固有に設定されているアドレスと一致せず、か
つ、ソースFIFOメモリ31中の送信パケットをリン
グバス21上に送出中でなかった場合は、バイパスFI
FOメモリ30に受信パケットを送出し、リングバス2
1上に送出する。受信パケットの中の転送要求先プロセ
ッサノードアドレスが各プロセッサノード固有に設定さ
れているアドレスと一致せず、かつ、ソースFIFOメ
モリ31中の送信パケットをリングバス21上に送出中
であった場合は、受信パケット中の書き込み要求ヘッド
データを図4に示すリトライパケットに変換し、受信パ
ケット中の転送データ部を廃棄するとともに、バイパス
FIFOメモリ30にリトライパケットを送出する。こ
の操作をリジェクトという。バイパスFIFOメモリ3
0に格納されたリトライパケットは、ソースFIFOメ
モリ31中の送信パケットが全て送出された後、リング
バス21を介して転送要求元プロセッサノード20へ帰
着する。転送要求元プロセッサノード20は、リトライ
パケットを受信するとただちに、リジェクトされたパケ
ットの再送信の動作を行う。すなわち、ソースFIFO
メモリ31は、再読み出し可能なFIFOメモリである
ため、入力ポート26にリトライパケットを受信した場
合は、再度ソースFIFOメモリ31より書き込み要求
パケットを読み出し、転送要求先プロセッサノード20
に送出する。以降、転送要求先プロセッサノード20の
ターゲットFIFOメモリ29に送信パケットが格納さ
れるまで、リジェクトとパケットの再送信の動作を繰り
返す。
【0024】実施の形態5 図6はこの発明の実施の形態5を示すブロック図で有
り、図において20から32は、この発明の実施の形態
1と同様のものである。34は、受信パケットがリジェ
クトされたことを示す情報を保持するバイパスリジェク
トフラグである。また、従来装置と同様に、リングバス
21上に伝送される転送データは、決められたパケット
フォーマット体系を有している。そのフォーマット体系
には、図2に示すように転送要求先プロセッサノードア
ドレス、転送要求元プロセッサノードアドレス、転送要
求先内部ローカルバスアドレス、転送要求元内部ローカ
ルバスアドレス、及び転送要求データ長の情報からなる
ヘッドデータと書き込みデータからなるパケットを要素
として含んでいる。さらに、パケットフォーマット体系
の要素として、図4に示す1ワード長のリトライパケッ
トを含んでいる。また、従来装置と同様にパケットフォ
ーマット体系においては、最大パケット長が規定されて
いる。また、この発明の実施の形態5におけるソースF
IFOメモリ31は、再読み出し可能なFIFOメモリ
である。入力ポート26にリトライパケットを受信した
場合は、再度ソースFIFOメモリ31より書き込み要
求パケットを読み出し、転送要求先プロセッサノード2
0に送出する手段を備えている。
【0025】上記のリングバス入出力制御装置25は次
のように動作する。まず、転送要求元プロセッサノード
20からリングバス21上に送信パケットを送出するま
での過程については、この発明の実施の形態1における
リングバス入出力制御装置25と同様の動作をとる。次
に、リングバス21を介して受信パケットを受信した場
合の動作について、説明する。次段のプロセッサノード
20においては、前段のプロセッサノード20からリン
グバス21を介して受信パケットは入力ポート26に到
着すると、受信パケットの中の転送要求先プロセッサノ
ードアドレスを判定し、ターゲットFIFOメモリ29
またはバイパスFIFOメモリ30に分配する。受信パ
ケットの中の転送要求先プロセッサノードアドレスが各
プロセッサノード固有に設定されているアドレスと一致
した場合には、この発明の実施の形態1、実施の形態
2、及び実施の形態3のいずれかにおけるリングバス入
出力制御装置25と同様の動作をとる。受信パケットの
中の転送要求先プロセッサノードアドレスが各プロセッ
サノード固有に設定されているアドレスと一致せず、か
つ、ソースFIFOメモリ31中の送信パケットをリン
グバス21上に送出中でなかった場合は、バイパスFI
FOメモリ30に受信パケットを送出し、リングバス2
1上に送出する。受信パケットの中の転送要求先プロセ
ッサノードアドレスが各プロセッサノード固有に設定さ
れているアドレスと一致せず、かつ、ソースFIFOメ
モリ31中の送信パケットをリングバス21上に送出中
であった場合は、この発明の実施の形態4におけるリン
グバス入出力制御装置25と同様にリジェクト操作を行
い、転送要求元プロセッサノード20は、リトライパケ
ットを受信するとただちに、リジェクトされたパケット
の再送信の動作を行う。このとき、この発明の実施の形
態5におけるリングバス入出力制御装置25は、転送要
求元プロセッサノード20に対応するバイパスリジェク
トフラグ34をセットし、受信パケットがリジェクトさ
れたことを示す情報を保持する。以降に受信されたパケ
ットにおいては、受信パケット中のヘッドデータで示さ
れる転送要求先プロセッサノードアドレスがプロセッサ
ノード固有に設定されているアドレスと一致せず、転送
要求元プロセッサノード20に対応するバイパスリジェ
クトフラグ34がセットされ、かつ、ソースFIFOメ
モリ31から送信パケットが出力中でない場合のみ、こ
の受信パケットをバイパスFIFOメモリ30に取り込
み、対応するバイパスリジェクトフラグ34をリセット
する。受信パケット中のヘッドデータで示される転送要
求先プロセッサノードアドレスがプロセッサノード固有
に設定されているアドレスと一致せず、かつ、ソースF
IFOメモリ31から送信パケットを出力中でなくて
も、対応するバイパスリジェクトフラグ34がセットさ
れていなければ、受信パケットをリジェクトし、対応す
るバイパスリジェクトフラグ34をセットする。このよ
うにして、再送信されたパケットがターゲットFIFO
メモリ29に取り込まれるまでは、新たにバイパスする
パケットは全てリジェクトされ、転送要求元プロセッサ
ノード20へ再送信を促す。
【0026】
【発明の効果】第1、第2、第3、第4及び第5の発明
によれば、ターゲットFIFOメモリ29に先行する受
信パケットが存在しない場合は、従来装置であるQui
ckRingコントローラLSIのようにチケットパケ
ットの到着を待つこと無く、転送要求先プロセッサノー
ド20にデータ転送が完了するため、ターゲットFIF
Oメモリ29への転送遅延が短くなるという効果があ
る。
【0027】また、第1の発明によれば、ターゲットF
IFOメモリ29に先行する受信パケットが存在する場
合は、リングバス21上をパケットが周回することで、
ターゲットFIFOメモリ29が空き状態になるのを待
つため、アウトプットキュー18より再度パケットを生
成する従来装置であるSCIの実施例に比べ、ターゲッ
トFIFOメモリ29への転送遅延が短くなるという効
果がある。また、従来装置の資源予約方式やリトライ方
式と異なり、パケットがリングバス21上を周回する方
式なので、バウチャおよびチケットの送出/検出、及び
リトライパケットの送出/検出に伴うハードウェア資源
を必要としないリングバス入出力制御装置25を提供で
きる。
【0028】また、第2及び第3の発明によれば、ター
ゲットFIFOメモリ29に先行する受信パケットが存
在する場合は、転送要求元プロセッサノード20のソー
スFIFOメモリ31より既に生成されているパケット
を再度読み出すため、アウトプットキュー18より再度
パケットを生成し直す従来装置であるSCIの実施例に
比べ、ターゲットFIFOメモリ29への転送遅延が短
くなるという効果がある。
【0029】また、第3の発明によれば、ターゲットF
IFOメモリ29に先行する受信パケットが存在する場
合は、リジェクト操作が行われる。このとき、ターゲッ
トリジェクトフラグ33を用いて、一度リジェクトされ
たパケットを優先的にターゲットFIFOメモリ29に
取り込むため、結果的に、古く転送要求を出したパケッ
トから最初に転送要求先プロセッサノード20のターゲ
ットFIFOメモリ29に取り込まれる傾向を保つこと
が可能になる。
【0030】また、第4及び第5の発明によれば、バイ
パスパケットをバイパスFIFOメモリ30に取り込む
際、ソースFIFOメモリ31中の送信パケットを送出
中であった場合は、1ワードのリトライパケットに変換
するとともに、転送データを破棄する。このため、従来
装置では最大パケットワード長の容量を必要とするバイ
パスFIFOメモリ30を必要としたが、プロセッサノ
ード数と等しいワード数のバイパスFIFOメモリ30
を用意すればよい。したがって、従来装置に比べ劇的に
バイパスFIFOメモリ30の容量を削減することが可
能であり、結果的に、高額な大容量のFIFOメモリを
用意する必要がなくなり、コスト低減が可能になる。ま
た、最大パケット長を従来よりも長く設定することが可
能になるため、転送データを分割する必要が少なくな
り、分解した転送データを複数回転送する回数が減るこ
とにより、トータルなスループット性能が向上するとい
う効果がある。
【0031】また、第5の発明によれば、バイパスパケ
ットをバイパスFIFOメモリ30に取り込む際、ソー
スFIFOメモリ31中の送信パケットを送出中であっ
た場合は、リジェクト操作が行われる。このとき、バイ
パスリジェクトフラグ34を用いて、一度リジェクトさ
れたパケットを優先的にバイパスFIFOメモリ29に
取り込むため、結果的に、古く転送要求を出したパケッ
トから最初に転送要求先プロセッサノード20のターゲ
ットFIFOメモリ29に取り込まれる傾向を保つこと
が可能になる。
【図面の簡単な説明】
【図1】この発明によるリングバス入出力制御装置の実
施の形態1、実施の形態2及び実施の形態4を示す図で
ある。
【図2】この発明によるリングバス入出力制御装置の実
施の形態1、実施の形態2、実施の形態3、実施の形態
4及び実施の形態5が使用する送信/受信パケットのフ
ォーマットを示す図である。
【図3】この発明によるリングバス入出力制御装置の実
施の形態1、実施の形態2、実施の形態3、実施の形態
4及び実施の形態5が使用するレスポンスパケットのフ
ォーマットを示す図である。
【図4】この発明によるリングバス入出力制御装置の実
施の形態2、実施の形態3、実施の形態4及び実施の形
態5が使用するリトライパケットのフォーマットを示す
図である。
【図5】この発明によるリングバス入出力制御装置の実
施の形態3を示す図である。
【図6】この発明によるリングバス入出力制御装置の実
施の形態5を示す図である。
【図7】従来のリングバス入出力制御装置であるナショ
ナルセミコンダクタ社の前記コントローラLSI,QR
0001の内部ブロックを示す図である。
【図8】従来のリングバス入出力制御装置であるIEE
E規格1596−1992のSCIの一構成例を示す図
である。
【符号の説明】
1 リングバス入出力制御装置 2 レシーバ 3 PLL回路 4 アップストリームポート 5 バイパスFIFOメモリ 6 ダウンストリームポート 7 ドライバ 8 ターゲットFIFOメモリ 9 レシーバポート 10 トランスミットポート 11 ソースFIFOメモリ 12 リングバス入出力制御装置 13 アドレスデコーダ 14 バイパスFIFOメモリ 15 出力マルチプレクサ 16 ターゲットFIFOメモリ 17 インプットキュー 18 アウトプットキュー 19 ソースFIFOメモリ 20 プロセッサノード 21 リングバス 22 CPU 23 主メモリ 24 内部ローカルバス 25 リングバス入出力制御装置 26 入力ポート 27 出力ポート 28 チャネルコントローラ 29 ターゲットFIFOメモリ 30 バイパスFIFOメモリ 31 ソースFIFOメモリ 32 出力マルチプレクサ 33 ターゲットリジェクトフラグ 34 バイパスリジェクトフラグ

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 CPU、主メモリ、内部ローカルバスを
    有する複数のプロセッサノードを環状に接続するために
    上記プロセッサノード内に設けられたリングバス入出力
    制御装置において、前記内部ローカルバスを介して前記
    CPUより発行された書き込みデータに対し、転送要求
    先プロセッサノードアドレス、転送要求元プロセッサノ
    ードアドレス、転送要求先内部ローカルバスアドレス、
    転送要求元内部ローカルバスアドレス、及び転送要求デ
    ータ長の各情報からなるヘッドデータを付加したデータ
    のブロックであるパケットを生成する手段、及び、前記
    パケットより書き込みデータを取り出し、前記主メモリ
    へ転送する手段を有するチャネルコントローラと、環状
    に接続された他の前記プロセッサノードへ送信する前記
    パケットを送出するための出力ポートと、環状に接続さ
    れた他の前記プロセッサノードから受信した前記パケッ
    トを受け取る入力ポートと、前記チャネルコントローラ
    によって生成された前記パケットを一時的に蓄積するた
    めのソースFIFO(First in First
    out)メモリと、前記入力ポートから受信した前記パ
    ケットを一時的に蓄積するための最大パケット長と同一
    サイズ以上の容量を持つターゲットFIFOメモリと、
    前記入力ポートからの受信した前記パケットを他の前記
    プロセッサノードへ転送する前記パケットを一時的に蓄
    積するバイパスFIFOメモリと、受信した前記パケッ
    トの中の前記転送要求先プロセッサノードアドレスを判
    定し前記ターゲットFIFOメモリまたは前記バイパス
    FIFOメモリに分配する手段と、前記バイパスFIF
    Oメモリと前記ソースFIFOメモリの出力を選択する
    出力マルチプレクサと、転送要求元である前記プロセッ
    サノードから送出する前記パケットが転送要求先である
    前記プロセッサノードの前記ターゲットFIFOメモリ
    から取り出された時点で転送要求元である前記プロセッ
    サノードに転送完了情報を含んだレスポンスパケットを
    返送する手段と、前記レスポンスパケットを受信するま
    でのあいだ前記CPUから前記チャネルコントローラへ
    の前記書き込みデータの発行を抑制する手段と、前記タ
    ーゲットFIFOメモリ内の前記パケットの有無を監視
    する手段と、前記ターゲットFIFOに前記パケットが
    存在すると判断された場合は、前記ターゲットFIFO
    の前記パケットが全て前記チャネルコントローラにより
    取り出されるまで、後続の全ての受信した前記パケット
    を前記バイパスFIFOメモリに送出する手段を有する
    ことを特徴とするリングバス入出力制御装置。
  2. 【請求項2】 前記ソースFIFOメモリは、再読み出
    し可能なFIFOメモリであり、前記ターゲットFIF
    Oメモリに受信パケットが存在すると判断された場合
    は、前記入力ポートより転送されてきた前記パケットを
    再送要求パケットに変換し、前記バイパスFIFOメモ
    リに再送要求パケットを送出する手段(この操作をリジ
    ェクトという)を有し、前記入力ポートに前記再送要求
    パケットを受信した場合は、再度前記ソースFIFOメ
    モリより保持している前記パケットを読み出し、再度前
    記パケットを前記プロセッサノードに送出する手段を有
    することを特徴とする請求項1記載のリングバス入出力
    制御装置。
  3. 【請求項3】 前記ソースFIFOメモリは、再読み出
    し可能なFIFOメモリであり、前記ターゲットFIF
    Oメモリに受信パケットが存在すると判断された場合
    は、前記入力ポートより転送されてきた前記パケットを
    再送要求パケットに変換し、前記バイパスFIFOメモ
    リに前記再送要求パケットを送出する手段(この操作を
    リジェクトという)を有し、前記入力ポートに前記再送
    要求パケットを受信した場合は、再度前記ソースFIF
    Oメモリより保持している前記パケットを読み出し、再
    度前記パケットを前記プロセッサノードに送出する手段
    と、受信した前記パケットがリジェクトされたことを示
    す情報を保持するターゲットリジェクトフラグを有し、
    リジェクトが発生した場合にリジェクトされた前記パケ
    ットの要求元である前記プロセッサノードに対応する前
    記ターゲットリジェクトフラグをセットする手段と、以
    降に受信された前記パケットにおいて、要求元である前
    記プロセッサノードに対応する前記ターゲットリジェク
    トフラグがセットされていなかった場合は、この前記パ
    ケットを再度リジェクトする手段と、以降に受信された
    前記パケットにおいて、要求元である前記プロセッサノ
    ードに対応する前記ターゲットリジェクトフラグがセッ
    トされ、かつ前記ターゲットFIFOメモリに受信した
    前記パケットが存在しない場合は、この受信した前記パ
    ケットを前記ターゲットFIFOメモリに取り込み、対
    応する前記ターゲットリジェクトフラグをリセットする
    手段を有することを特徴とする請求項1記載のリングバ
    ス入出力制御装置。
  4. 【請求項4】 前記ソースFIFOメモリは、再読み出
    し可能なFIFOメモリであり、前記ターゲットFIF
    Oメモリに受信パケットが存在すると判断された場合
    は、前記入力ポートより転送されてきた前記パケットを
    再送要求パケットに変換し、前記バイパスFIFOメモ
    リに前記再送要求パケットを送出する手段(この操作を
    リジェクトという)を有し、前記入力ポートに前記再送
    要求パケットを受信した場合は、再度前記ソースFIF
    Oメモリより保持している前記パケットを読み出し、再
    度前記パケットを前記プロセッサノードに送出する手段
    と、前記ソースFIFOメモリから前記1対1単方向伝
    送路上に前記パケットを送出中であることの有無を監視
    する手段と、前記ソースFIFOメモリから前記1対1
    単方向伝送路上に前記パケットを送出中であると判断さ
    れた場合は、前記入力ポートより転送されてきた前記パ
    ケットを前記再送要求パケットに変換し前記バイパスF
    IFOメモリに前記再送要求パケットを送出する手段を
    有することを特徴とする請求項1記載のリングバス入出
    力制御装置。
  5. 【請求項5】 前記ソースFIFOメモリは、再読み出
    し可能なFIFOメモリであり、前記ターゲットFIF
    Oメモリに受信パケットが存在すると判断された場合
    は、前記入力ポートより転送されてきた前記パケットを
    再送要求パケットに変換し、前記バイパスFIFOメモ
    リに前記再送要求パケットを送出する手段(この操作を
    リジェクトという)を有し、前記入力ポートに前記再送
    要求パケットを受信した場合は、再度前記ソースFIF
    Oメモリより保持している前記パケットを読み出し、再
    度前記パケットを前記プロセッサノードに送出する手段
    と、前記ソースFIFOメモリから前記1対1単方向伝
    送路上に前記パケットを送出中であることの有無を監視
    する手段と、前記ソースFIFOメモリから前記1対1
    単方向伝送路上に前記パケットを送出中であると判断さ
    れた場合は、前記入力ポートより転送されてきた前記パ
    ケットを前記再送要求パケットに変換し前記バイパスF
    IFOメモリに前記再送要求パケットを送出する手段
    と、受信した前記パケットがリジェクトされたことを示
    す情報を保持するバイパスリジェクトフラグを有し、リ
    ジェクトが発生した場合にリジェクトされた前記パケッ
    トの転送要求元である前記プロセッサノードに対応する
    前記バイパスリジェクトフラグをセットする手段と、以
    降に受信された前記パケットにおいて転送要求元である
    前記プロセッサノードに対応する前記バイパスリジェク
    トフラグがセットされていなかった場合は、このパケッ
    トを再度リジェクトする手段と、以降に受信された前記
    パケットにおいて転送要求元である前記プロセッサノー
    ドに対応する前記バイパスリジェクトフラグがセットさ
    れ、かつ、前記ソースFIFOメモリからの前記1対1
    単方向伝送路上への出力がなされていない場合は、この
    受信した前記パケットを前記バイパスFIFOメモリに
    取り込み、対応する前記バイパスリジェクトフラグをリ
    セットする手段を有することを特徴とする請求項1記載
    のリングバス入出力制御装置。
JP9028851A 1997-02-13 1997-02-13 リングバス入出力制御装置 Pending JPH10228445A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9028851A JPH10228445A (ja) 1997-02-13 1997-02-13 リングバス入出力制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9028851A JPH10228445A (ja) 1997-02-13 1997-02-13 リングバス入出力制御装置

Publications (1)

Publication Number Publication Date
JPH10228445A true JPH10228445A (ja) 1998-08-25

Family

ID=12259892

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9028851A Pending JPH10228445A (ja) 1997-02-13 1997-02-13 リングバス入出力制御装置

Country Status (1)

Country Link
JP (1) JPH10228445A (ja)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2377138A (en) * 2001-06-28 2002-12-31 Ericsson Telefon Ab L M Ring Bus Structure For System On Chip Integrated Circuits
US6772269B1 (en) 1999-11-05 2004-08-03 Nec Corporation Bus switch and bus switch system for increased data transfer
JP2009069974A (ja) * 2007-09-11 2009-04-02 Fuji Xerox Co Ltd バスインターフェース回路および情報処理装置
JP2010262439A (ja) * 2009-05-01 2010-11-18 Canon Inc 情報処理装置、情報処理方法およびプログラム
JP2010277429A (ja) * 2009-05-29 2010-12-09 Canon Inc リングバスを用いたデータ処理装置、データ処理方法およびプログラム
JP2011008541A (ja) * 2009-06-25 2011-01-13 Canon Inc データ処理装置、データ処理方法およびプログラム
JP2011022714A (ja) * 2009-07-14 2011-02-03 Canon Inc データ処理装置
JP2011128989A (ja) * 2009-12-18 2011-06-30 Canon Inc データ処理装置、データ処理方法、及びプログラム
JP2012043153A (ja) * 2010-08-18 2012-03-01 Canon Inc 情報処理装置、情報処理方法、およびプログラム
US8300535B2 (en) 2009-02-24 2012-10-30 Canon Kabushiki Kaisha Information processing apparatus, method thereof, and storage medium
JP2012243162A (ja) * 2011-05-20 2012-12-10 Canon Inc 情報処理装置、通信方法、及びプログラム

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6772269B1 (en) 1999-11-05 2004-08-03 Nec Corporation Bus switch and bus switch system for increased data transfer
GB2377138A (en) * 2001-06-28 2002-12-31 Ericsson Telefon Ab L M Ring Bus Structure For System On Chip Integrated Circuits
JP2009069974A (ja) * 2007-09-11 2009-04-02 Fuji Xerox Co Ltd バスインターフェース回路および情報処理装置
US8300535B2 (en) 2009-02-24 2012-10-30 Canon Kabushiki Kaisha Information processing apparatus, method thereof, and storage medium
JP2010262439A (ja) * 2009-05-01 2010-11-18 Canon Inc 情報処理装置、情報処理方法およびプログラム
JP2010277429A (ja) * 2009-05-29 2010-12-09 Canon Inc リングバスを用いたデータ処理装置、データ処理方法およびプログラム
US8774234B2 (en) 2009-06-25 2014-07-08 Canon Kabushiki Kaisha Data processing apparatus, data processing method, and computer-readable storage medium
JP2011008541A (ja) * 2009-06-25 2011-01-13 Canon Inc データ処理装置、データ処理方法およびプログラム
US8995476B2 (en) * 2009-06-25 2015-03-31 Canon Kabushiki Kaisha Data processing apparatus, data processing method, and computer-readable storage medium
US20140254601A1 (en) * 2009-06-25 2014-09-11 Canon Kabushiki Kaisha Data processing apparatus, data processing method, and computer-readable storage medium
JP2011022714A (ja) * 2009-07-14 2011-02-03 Canon Inc データ処理装置
US9239811B2 (en) 2009-07-14 2016-01-19 Canon Kabushiki Kaisha Data processing apparatus and data processing method
CN102147776A (zh) * 2009-12-18 2011-08-10 佳能株式会社 数据处理装置和数据处理方法
CN102147776B (zh) * 2009-12-18 2014-04-09 佳能株式会社 数据处理装置和数据处理方法
JP2011128989A (ja) * 2009-12-18 2011-06-30 Canon Inc データ処理装置、データ処理方法、及びプログラム
JP2012043153A (ja) * 2010-08-18 2012-03-01 Canon Inc 情報処理装置、情報処理方法、およびプログラム
JP2012243162A (ja) * 2011-05-20 2012-12-10 Canon Inc 情報処理装置、通信方法、及びプログラム

Similar Documents

Publication Publication Date Title
US5020020A (en) Computer interconnect system with transmit-abort function
EP0753817B1 (en) Method and apparatus for data communication
US5187780A (en) Dual-path computer interconnect system with zone manager for packet memory
US7882278B2 (en) Utilizing programmable channels for allocation of buffer space and transaction control in data communications
US6836808B2 (en) Pipelined packet processing
US6615282B1 (en) Adaptive messaging
JP2004530197A (ja) 非ブロック化共有インターフェイスを持つ通信システム及び方法
JPH09505713A (ja) 広帯域ネットワークにおけるデータ伝送の並列アセンブリのためのシステム
US20040062244A1 (en) Handling and discarding packets in a switching subnetwork
JPH07202932A (ja) ブリッジ
US7447872B2 (en) Inter-chip processor control plane communication
JPH10228445A (ja) リングバス入出力制御装置
US7613849B2 (en) Integrated circuit and method for transaction abortion
US7249207B2 (en) Internal data bus interconnection mechanism utilizing central interconnection module converting data in different alignment domains
JPH07262151A (ja) 並列プロセッサシステムおよびそれに適したパケット廃棄方法
US8762603B2 (en) Addressable FIFO
US20060174050A1 (en) Internal data bus interconnection mechanism utilizing shared buffers supporting communication among multiple functional components of an integrated circuit chip
RU175049U9 (ru) УСТРОЙСТВО КОММУНИКАЦИОННЫХ ИНТЕРФЕЙСОВ SpaceWire
KR20220135562A (ko) 메모리 액세스를 위한 직렬 통신 방법 및 시스템
JP3115801B2 (ja) 並列計算機システム
US6499080B1 (en) Post write buffer for a dual clock system
KR20010095103A (ko) 데이터 블록 전송 방법 및 장치
KR20060009292A (ko) 분할 프로토콜 전송 방법 및 프로세싱 시스템
JPH08265366A (ja) パケット転送システム
US7447205B2 (en) Systems and methods to insert broadcast transactions into a fast data stream of transactions