JP2001022711A - クロスバースイッチの制御方法及び並列計算機システム - Google Patents

クロスバースイッチの制御方法及び並列計算機システム

Info

Publication number
JP2001022711A
JP2001022711A JP11194986A JP19498699A JP2001022711A JP 2001022711 A JP2001022711 A JP 2001022711A JP 11194986 A JP11194986 A JP 11194986A JP 19498699 A JP19498699 A JP 19498699A JP 2001022711 A JP2001022711 A JP 2001022711A
Authority
JP
Japan
Prior art keywords
signal
crossbar switch
port
message
selector gate
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
JP11194986A
Other languages
English (en)
Inventor
Hiroo Fujisaki
博夫 藤崎
Hideo Suzuki
英雄 鈴木
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 JP11194986A priority Critical patent/JP2001022711A/ja
Publication of JP2001022711A publication Critical patent/JP2001022711A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【課題】 メッセージ転送におけるロスサイクルをなく
し、セレクタゲートでのボディデータの衝突を回避する
ことのできるクロスバスイッチの制御方法。 【解決手段】 計算機等の機能ユニット相互間を接続す
るクロスバスイッチ10を次のように制御する。 1:セレクタゲートをボデイデータ到着信号で切り替え
る。 2:ボデイデータ転送信号の間隔をボデイ長サイクル数
分空ける。 3:出力ポートの調停をリクエストの到着順とポート順
の2段階で行う。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、クロスバースイッ
チの制御方法及び並列計算機システムに係り、特に、複
数のプロセッサ、メモリ、IOバスユニット等を相互に
接続して並列計算機システムを構成するクロスバースイ
ッチの制御方法及び並列計算機システムに関する。
【0002】
【従来技術】プロセッサ相互間等を接続するクロスバー
スイッチに関する従来技術として、例えば、特開平10
−105530号公報等に記載された技術が知られてい
る。この従来技術は、計算機相互間を接続するネットワ
ーク接続型のクロスバースイッチに関するもので、入力
バッファと出力バッファとを備えて構成されたクロスバ
ースイッチに関するものであり、プロセッサとクロスバ
ースイッチとを高速のビットシリアルインタフェース等
のネットワークにより接続している。
【0003】一般に、クロスバースイッチは、1つの独
立した装置であり、そのため、この従来技術によるクロ
スバースイッチは、入力ポートと出力ポートとにメッセ
ージバッファが装備されている。また、一般に、メッセ
ージは、1個の転送単位でありヘッダとボデイとよりな
る。このメッセージを複数個格納しておくのがメッセー
ジバッファである。ヘッダは、宛先プロセッサ番号、ボ
デイ長等からなりクロスバースイッチの制御に使用され
る。また、ボデイあるいはボデイデータとは、アドレス
情報、読み出しデータまたは書き込みデータからなる。
【0004】そして、この従来技術によるクロスバース
イッチは、ヘッダとボデイとが一括してクロスバースイ
ッチに転送されてきて、クロスバースイッチ内のメッセ
ージバッファに格納されるものである。
【0005】また、この種のクロスバースイッチに関す
る他の従来技術として、例えば、特開平5−23350
5公報等に記載された技術が知られている。この従来技
術は、メッセージバッファを持たない無緩衝型のクロス
バースイッチに関するものである。すなわち、この従来
技術によるクロスバースイッチは、ヘッダとボデイとを
格納するメッセージバッファを備えておらず、マルチプ
レクサ(セレクタゲート)のみで構成されている。そし
て、この従来技術は、クロスバースイッチの外にFIF
Oのメッセージバッファが用意されている。
【0006】
【発明が解決しようとする課題】前述した従来技術によ
るメッセージバッファを備えるクロスバースイッチは、
メッセージの転送性能の向上のために大きなハードウェ
アを要するという問題点を有している。また、前述した
従来技術によるメッセージバッファを持たない無緩衝型
のクロスバースイッチは、性能には注意が払われていな
いという問題点を有している。
【0007】本発明の目的は、前述した従来技術の問題
点を解決したクロスバースイッチの制御方法を提供する
ことにある。そして、本発明は、以下のような前提のク
ロスバースイッチに適用されるものである。
【0008】すなわち、本発明が前提とするクロスバー
スイッチは、メッセージバッファを備えず、スイッチに
より接続される各ユニットとは同期化されているとす
る。また、メッセージバッファは、ユニット側に装備さ
れているものとし、さらに、クロスバースイッチから配
布先のユニットに送付するデータには、ヘッダを含まず
ボデイのみを配布するものとする。
【0009】また、本発明が対象とするクロスバースイ
ッチは、ブロードキャストメッセージ(BC)のため
に、1つの入力ポートが全出力ポートを確保してメッセ
ージを同時配送することと、通常メッセージ(SD)の
ために、指定された出力ポートのみを確保してメッセー
ジを配送することとが可能なものであるとし、この区別
をヘッダで指示するものとする。
【0010】本発明の第1の目的は、前述のような前提
において、クロスバースイッチのセレクタゲートの切り
替えロス時間をゼロにする、すなわち、バス制御の場合
と同じように、出力ポートの経路を確保し次にデータを
転送し最後にその出力ポートを開放するという手順によ
る制御を行うことなく、ボデイデータの到着と同時にセ
レクタゲートを切り替えるようにしたクロスバースイッ
チの制御方法を提供することにある。
【0011】一般に、転送先出力ポートのセレクタゲー
トを切り替え、転送経路を確保してからボデイの転送を
行うと、数サイクルであっても経路確保からデータが到
着するまでにロスサイクルがある。そのため、セレクタ
ゲート及び出力線の使用効率が落ちる。例えば、ボデイ
データ待ちが3サイクルで平均のセレクタゲート使用時
間が9サイクルなら使用率は75%となる。
【0012】すなわち、本発明の第1の目的は、前述し
たようなロスサイクルをなくし、競れ区端末ゲートの使
用効率を向上させることである。
【0013】本発明の第2の目的は、出力ポートのセレ
クタゲート予約許可信号を適切な間隔で出すことによ
り、ロスサイクルなしにセレクタゲートを使用すること
を可能特するクロスバースイッチの制御方法を提供する
ことにある。
【0014】一般に、入力ポートへの予約許可信号を返
すと、入力ポートはこれを契機に機能ユニットにボデイ
転送開始指示信号を出す。これに応答して機能ユニット
はボデイデータを転送してくる。このため、出力ポート
の予約許可信号が異なるポートに同時に出されると、ボ
デイデータがセレクタゲートに到着したときぶつかるこ
とになる。また、逆に予約許可信号の間隔を空けすぎる
とロスサイクルを生じることになる。
【0015】すなわち、本発明の第2の目的は、前述し
たようなセレクタゲートでのボディデータの衝突、ある
いは、ロスサイクルの発生を防止することができるよう
に、セレクタゲート予約許可信号の間隔をボデイ長を考
慮したものにすることである。
【0016】本発明の第3の目的は、出力ポートにおけ
るセレクタゲート予約許可信号を作成する調停回路を、
ブロードキャストメッセージに合うように制御するクロ
スバースイッチの制御方法を提供することにある。
【0017】従来、同時に複数のブロードキャストメッ
セージBCが入力ポートに来ている場合、BCを受信し
た入力ポートは、共通の専用ブロードキャストアービタ
回路でBCを1つに絞ってから出力ポートにリクエスト
を出していた。これは次の事情による。
【0018】いま、2つの入力ポート0と1が同時にB
Cを出力ポートに出したとする。そのとき、出力ポート
0の調停回路の優先度と出力ポート1の調停回路の優先
度とは、それぞれのポートの事情で異なるから、出力ポ
ート0は入力ポート1を選択、出力ポート1は入力ポー
ト0を選択することがある。このため、互いに一部の経
路を確保したままでデッドロックになる。ポートによっ
て優先度が異なるのは、ラウンドロビン方式の巡回優先
度回路であるためで、一度選択されたポートの優先度は
一番低くなるからである。
【0019】すなわち、本発明の第3の目的は、前述し
たようなデッドロックになることを防止することであ
る。
【0020】本発明の第4の目的は、前述したような制
御方法により制御されるクロスバースイッチにより、複
数の計算機、メモリ、IOバスユニットを相互に接続し
て構成した並列計算機システムを提供することにある。
【0021】
【課題を解決するための手段】本発明によれば、前記目
的は、内部に備えられる複数個の入力ポートと出力ポー
トとの間の経路を切り替えるセレクタゲートを有し、複
数の機能ユニットと、これらの機能ユニット相互間をス
ター接続するクロスバースイッチの制御方法において、
前記機能ユニットとクロスバースイッチとの間のメッセ
ージ転送を、ヘッダ送付信号とボデイ送付信号とに分
け、前記セレクタゲート切り替えを、前記ボデイ送付信
号が入力ポート経由で出力ポートに伝えられる時点で行
うことにより達成される。
【0022】また、前記目的は、ボデイデータの転送開
始を機能ユニットに指示する制御信号を設け、このボデ
イデータ転送開始指示信号を、ヘッダに示される転送先
出力ポートからのセレクタゲート予約許可信号がきたと
き発行し、次のセレクタゲート予約許可信号を、許可し
た転送メッセージのヘッダに示されるボデイ長に対応す
るサイクルが経過した後に発行することにより達成され
る。
【0023】また、前記目的は、前記セレクタゲート予
約許可信号の返送先入力ポートを決める調停を、入力ポ
ートからのセレクタゲート予約リクエスト信号の到着順
による選択と、ポート番号順による選択との2段階で行
うことにより達成される。
【0024】さらに、前記目的は、前述したような制御
方法により制御されるクロスバースイッチにより、複数
の計算機、メモリ、IOバスユニットを相互に接続して
並列計算機システムを構成することにより達成される。
【0025】具体的に言えば、前記第1の目的は、機能
ユニットからクロスバースイッチに送付されるメッセー
ジ送付信号をヘッダ送付信号とボデイ送付信号に分け、
セレクタゲート切り替えを、前記ボデイ送付信号が入力
ポート経由で出力ポートに到着した時点で行うようにし
たことにより達成することができる。これにより、セレ
クタゲートを切り替えた後にデータを通過させるのでは
ないからデータ待ちによるセレクタゲートの未使用ロス
時間のないものとすることができ、セレクタゲートを、
切り替えが行われる直前までは他のポートの転送で使用
することが加納となる。また、ボデイデータは、クロス
バースイッチに滞留することなくノンストップでクロス
バースイッチを通過でき、介在するラッチが2段で済
む。すなわち、ボデイデータは、入力ポートの入力レジ
スタにラッチされ、出力ポートのセレクタゲートを通過
し出力レジスタにラッチされて配布先の機能ユニットに
送られる。
【0026】前記第2の目的は、出力ポートのセレクタ
ゲート予約許可信号を、その前に許可したしたメッセー
ジ送付先のポートのヘッダに示されるボデイ長に対応す
るサイクル数が経過したのち発行するようにしたことに
より達成される。ボデイ転送開始指示信号は、出力ポー
トからのセレクタゲート予約許可信号を契機に作られる
ので、この許可信号を適切な間隔で出す限りセレクタゲ
ートでのロス時間を発生させず、また、異なる入力ポー
トからのボデイデータがセレクタゲートで重なるような
ことも発生させない。
【0027】いま、出力ポートの優先度により予約が取
れてボデイの転送を指示した後ボデイデータが到着する
までの応答時間が固定でr(単位はサイクル)であると
し、ボデイの長さをkとする。すなわち、ボデイ長が例
えば4であれば4サイクル転送とする。出力ポートの調
停回路で予約が取れて、その結果のボデイデータが転送
されて、セレクタゲートが使用されるのはrサイクル後
である。また、セレクタゲートの使用が終了するのは
(r+k)サイクル後である。このため、予約が取れた
後ボデイ長のkサイクル目に優先度を取れば、丁度ボデ
イの転送中であってrサイクルを残す時である。次のボ
デイデータは、rサイクル後に到着するから、現在実行
中の転送に引き続いてセレクタゲートが使用されること
になり、セレクタゲートは、前のデータともぶつからず
また空きサイクルも生じることなく使用される。
【0028】前記第3の目的は、各出力ポートに各入力
ポートからのリクエスト信号を到着時刻順にバッファリ
ングし、このバッファに書き込んだ順で読み出し、読み
出したデータを予め決められたポート番号順に見て、リ
クエスト信号が上がっている入力ポートを選択するよう
にしたことにより達成される。入力ポートの選択を、リ
クエスト信号の到着時刻順と、固定のポート番号順とで
選択を行う2段階選択としたので、メッセージをブロー
ドキャスト転送する場合のデッドロックを発生させるこ
とはない。また、同時刻のリクエストに通常メッセージ
(SD)が混じっている場合、2つの出力ポートで異な
る入力ポートが選択されることはあるが、SDは複数経
路を確保しないから、数サイクル後には次の入力ポート
が選択される。そして、ブロードキャストのように全出
力ポートにリクエストを出しているものは必ずポート番
号順で選択される。
【0029】
【発明の実施の形態】以下、本発明によるのクロスバー
スイッチの制御方法の実施形態を図面により詳細に説明
する。
【0030】図1は本発明の制御方法が適用されるクロ
スバースイッチを使用して構成される並列計算機システ
ムの構成を示すブロック図、図5は出力ポートに設けら
れるリクエスト調停回路の構成を示すブロック図であ
る。図1、図5において、10はクロスバースイッチ、
21〜24は入力レジスタ、31〜34はセレクタ、4
1〜44は出力レジスタ、51〜54はメッセージ転送
線、61〜64は機能ユニット、70はリクエスト信号
受信ラッチ、71はリクエスト信号到着順記憶バッフ
ァ、72はバッファ書き込みポインタ、73はバッファ
読み出しポインタ、74、75はバッファ読み出しレジ
スタ、76は優先度回路、77は優先度回路出力信号の
ディレイラッチ、78はand回路、79は予約許可信
号ラッチ、80〜84はボディ長カウント制御部であ
る。
【0031】図1に示す並列計算機システムは、4×4
のクロスバースイッチ10と、このクロスバースイッチ
10により相互に接続される機能ユニット61〜64と
により構成される。図1において、クロスバースイッチ
10は、そのデータ部分にのみ着目して示している。機
能ユニット61〜64は、具体的にはプロセッサ、メモ
リあるいはIOバスユニットであり、図1に示すシステ
ムの例では、機能ユニット61、62がプロッセッサユ
ニット、機能ユニット63がメモリユニット、機能ユニ
ット64がIOバスユニットである。なお、図1では、
機能ユニット61〜64をそれぞれユニット0〜3とし
て示している。また、IOバスユニットの配下には、い
くつかのIOバスアダプタを接続することができ、その
バスの下にIOデバイスが接続される。
【0032】クロスバースイッチ10は、データ線と制
御線とを含むメッセージ転送線51〜54を介して、4
つの機能ユニット61〜64の相互間をスター接続して
いる。各機能ユニット61〜64は、複数の送信用、受
信用のメッセージバッファを備えており、クロスバース
イッチ10との間でのヘッダとボデイデータとによるメ
ッセージの送受信をメッセージ転送線51〜54を介し
て行う。ボデイデータは、例えば、メモリの読み出しメ
ッセージの場合、アドレスデータのみで構成され、メモ
リへの書き込みデータであれば、アドレスデータと書き
込みデータとで構成される。
【0033】プロセッサユニット61、62は、複数の
メッセージを格納できる送信用のメッセージバッファ
と、受信用のメッセージバッファとを備える。受信用メ
ッセージバッファには、他のプロセッサユニットからの
問い合わせメッセージやメモリユニットからの読み出し
データが格納される。また、送信用メッセージは、プロ
グラムの命令をメモリから読み出す場合の読み出しアク
セス、メモリデータの読み出しアクセス、プロセッサが
所有するキャッシュデータを更新してメモリユニットへ
の書き戻すアクセスなどがある。
【0034】メモリユニット63にも、受信用のメッセ
ージバッファと送信用のメッセージバッファとが備えら
れる。受信用メッセージバッファには、プロセッサやI
Oバスユニットからのアクセスメッセージが格納され
る。また、送信用メッセージバッファには、メモリから
読み出したデータが格納され、ヘッダを付けて読み出し
要求を出してきた機能ユニットにクロスバースイッチを
経由して送付される。
【0035】IOバスユニット64の受信用メッセージ
バッファには、IO機器への書き込みデータあるいは制
御データが格納される。また、送信メッセージバッファ
には、IO機器からの読み出しデータが格納され、ヘッ
ダを付けて読み出し要求を出してきた機能ユニットにク
ロスバースイッチを経由して送付される。
【0036】クロスバースイッチを採用した並列計算機
システムは、1つのプロセッサユニットがメモリユニッ
トのデータを読み出すような場合、そのメッセージが全
ユニットに通知されるブロードキャストメッセージとな
ることに特徴がある。これは、そのデータを他のプロセ
ッサがキャッシュに保持してないかの問合せを通知する
ために行うものである。同様に、メモリユニットへのデ
ータ書き戻しもブロードキャストメッセージとしてプロ
セッサから発行される。
【0037】図1に示すクロスバースイッチ10には、
4つの入力ポートが備えられる。これらの入力ポート
は、0〜3の4つであり、図1のクロスバースイッチ1
0の上側に対応する。その境界は破線で示している。下
側半分は、出力ポートであり、左側から出力ポート0、
1、2、3となる。入力ポート0〜3には、それぞれヘ
ッダあるいはボデイデータがラッチされる入力レジスタ
21〜24が備えられ、また、出力ポート0〜3には、
どの入力ポートの入力レジスタと接続するかのセレクタ
ゲート31〜34と、セレクタゲート31〜34の出力
がラッチされる出力レジスタ41〜44が備えられる。
出力レジスタ41〜44にラッチされたデータは、メッ
セージ転送線51〜54の戻り線を介して、各ユニット
に戻されている。データ線の幅は、各8バイト(72ビ
ット)であり、送信と受信との2組が備えられる。
【0038】また、図示していないが、入力レジスタ2
1〜24のそれぞれには、ヘッダレジスタと、該ヘッダ
レジスタに取り込まれたデータをデコードするデコーダ
とが接続されており、デコードの結果が、出力ポート部
のそれぞれに設けられる図5により後述するリクエスト
調停回路に渡される。
【0039】入力ポート0から出力ポート1へ、入力ポ
ート1から出力ポート0へ、入力ポート2から出力ポー
ト3へ、入力ポート3から出力ポート2へデータを同時
に転送するような場合、各ボデイデータは、入力レジス
タ21から出力レジスタ42へ、入力レジスタ22から
出力レジスタ41へ、入力レジスタ23から出力レジス
タ44へ、入力レジスタ24から出力レジスタ43へそ
れぞれ転送されるので、セレクタゲート31〜34は、
それぞれ、前述の各転送で取り合いが生じることはな
い。
【0040】複数の入力ポートが、同一の出力ポートへ
データを転送するような場合、セレクタゲート相互で競
合が生じる。セレクタゲート31〜34の形は、同一で
ありどの入力ポートのデータ線(経路)を選択するかに
より制御されるゲートである。このセレクタゲートのそ
れぞれがどの入力ポートを選択するかは、ボデイデータ
がこのセレクタポートに到着したときに行われる。すな
わち、セレクタゲートの入力ポートの切り替えは、入力
ポートからボディデータ転送信号Bsynci がきたとき、
その信号がきた入力ポートに対応するセレクタゲートを
開くことにより行われる。
【0041】クロスバースイッチ10は、入力ポート制
御と出力ポート制御とにより制御される。入力ポート制
御は、入力ポート0〜3に共通の制御であり、出力ポー
ト制御は、出力ポート0〜3に共通の制御である。
【0042】出力ポートのそれぞに備えられるリクエス
ト調停回路は、図5にその詳細を示すように、ヘッダの
データをデコードした結果のボディ長信号bgを受け取
るボディ長カウント制御部81〜84と、入力ポートか
らのリクエスト信号wをラッチするリクエスト信号受信
ラッチ(In)71と、リクエスト信号を2ビットのバ
ッファ書き込みポインタ72の制御の下に到着順に記憶
するリクエスト信号到着順記憶バッファ(Arrv)7
1と、このバッファの読み出しを制御する2ビットのバ
ッファ読み出しポインタ73と、読み出された領域リク
エスト信号を格納するバッファ読み出しレジスタ74、
75と、リクエストの優先順序を決定する優先度回路7
6と、優先度回路からの出力信号を一時的にラッチする
ディレイラッチ(Td)77と、優先度回路76とディ
レイラッチ77との論理積をとるand回路78と、a
nd回路78の出力を予約許可信号gとしてラッチし、
入力ポートに送付する予約許可信号ラッチ(Rs)79
とにより構成される。
【0043】なお、前述したリクエスト調停回路におい
て、信号bg、w、gのそれぞれに付与されている0〜
3の数字は、入力ポート番号である。従って、信号b
g、wは、付与されているポート番号を持つ入力ポート
から送付されてくるものであり、信号gは、付与されて
いるポート番号を持つ入力ポートに送付するものであ
る。なお、この回路の詳細な動作については後述する。
【0044】図2は入力ポートの制御動作を説明するフ
ローチャート、図3は出力ポートの制御動作を説明する
フローチャートであり、以下、これらのフローについて
説明する。なお、これらの制御フロ−チャートに記述す
るカウンタやFFや優先度回路などはよく知られている
のでそれらの詳細は省略する。
【0045】まず、図2に示すフローを参照して入力ポ
ートの制御動作におけるヘッダ実行受信制御について説
明する。
【0046】(1)機能ユニットから制御線を介してヘ
ッダ送付信号Hreq 信号がきたか監視し、ヘッダ送付信
号Hreq 信号が機能ユニットからきたことを検出する
と、このとき、すでに入力レジスタにヘッダが格納され
ているので、このヘッダをヘッダレジスタに待避してデ
コーダにより解読し、この結果を後述するリクエスト調
停回路に送る(ステップ201、202)。
【0047】(2)ヘッダの種別には、すでに説明した
ように、メッセージの配布先が1つのSDと配布先が全
機能ユニットに配布するBCがあり、ヘッダの種別がS
Dであるか否かを判定する(ステップ203)。
【0048】(3)ステップ203で、ヘッダの種別が
SDであると判定した場合、ヘッダに含まれる送付先の
機能ユニットに対応する出力ポートにリクエストwとボ
ディ長とを送付し、送付先の出力ポートからの返事gが
帰るのを待つ(ステップ204、205)。
【0049】(4)ステップ203で、ヘッダの種別が
SDでない、すなわち、BCであると判定した場合、全
出力ポートにリクエストwとボディ長とを送付し、送付
先の全出力ポートからの返事gが帰るのを待つ。全出力
ポートからの返事gが揃ったら、全出力ポートに、ボデ
ィ長カウンタのカウントダウンをを許可するcd信号を
出力する(ステップ206〜208)。
【0050】(5)ステップ205で、メッセージの配
布先が1つの機能ユニットであって、対応する出力ポー
トから返事gが得られた場合、また、メッセージの配布
先が全ての機能ユニットであって、全ての出力ポートか
ら返事gが得られ、ステップ208の処理後、メッセー
ジを送信しようとしている機能ユニットに、ボデイ転送
の指示信号であるadv信号を送信する(ステップ20
9)。
【0051】(6)その後、数サイクルの固定サイクル
が経つと機能ユニットからボデイ送付信号Bsync信号と
共にボデイデータ送信されてくるので、このボデイ送付
信号Bsync信号を検出して、ボディデータを毎サイクル
毎に入力レジスタにラッチし、ヘッダ種別がSDの場
合、指定の出力ポートに、ヘッダ種別がBCの場合、全
出力ポートにボデイデータを送付する。その際、ボディ
データはBsynci と共に送付される(ステップ210〜
212)。
【0052】なお、機能ユニットは、adv信号を受信
してボデイデータの転送が終了すれば、直ちに次のメッ
セージのヘッダをクロスバースイッチにデータ線で通知
してくる。
【0053】次に、図3に示すフローを参照して、出力
ポートおける入力ポートからのリクエスト信号wの調停
制御の処理動作を説明する。
【0054】(1)入力ポートからリクエストwがくる
と、図5に示すリクエスト調停回路は、どの入力ポート
からのリクエストを選択するかを決定し、選択した入力
ポートの1つに返事であるセレクタゲート予約許可信号
gを返し、ボディ長のデータをボディ長カウンタにセッ
トする(ステップ301、302)。
【0055】(2)ヘッダ種別がSDか否か判定し、ヘ
ッダ種別がSDであれば、そのヘッダ示されるボデイ長
のサイクルをカウントし、すなわち、ボディ長カウンタ
をカウントダウンして、その値が“0”になったら、ス
テップ301の処理に戻り、次の調停処理を続ける(ス
テップ303〜305)。
【0056】(3)ステップ303で、ヘッダ種別がS
Dでなく、BCであった場合、入力ポートからボディ長
カウンタのカウントダウンをを許可するcd信号が送付
されてきたことを確認して、ボディ長カウンタをカウン
トダウンして、その値が“0”になったら、ステップ3
01の処理に戻り、次の調停処理を続ける(ステップ3
06〜308)。
【0057】前述したステップ304、305の処理、
ステップ306〜308の処理により、セレクタゲート
の予約許可信号の発行間隔は、そのボデイ長で決まる間
隔に制御されることになる。
【0058】次に、セレクタゲートの制御について説明
する。
【0059】セレクタゲートは、入力ポート0〜3のど
れかからボディ転送信号Bsynci 信号がボデイデータと
共に送付されてくると、セレクタゲートの対応するポー
トを開く。そして、4つのBsynci 信号をオアすること
により、ボデイデータの送付信号Dsyncを作り機能ユニ
ットに通知する。このDsync信号は、データ線にボデイ
データの先頭が確定しているという意味の信号である。
出力レジスタは、フリーのクロックで常時たたいておき
セレクタゲートの選択結果でそのデータがラッチされる
ようにされている。このため、ボデイデータは、セレク
タゲートが切り替えられれば、機能ユニットへのデータ
線に接続される出力レジスタに確定していることにな
り、機能ユニットへ送信される。
【0060】図4はポート0がボデイ長5の通常メッセ
ージSDをポート0に、ポート1がボデイ長5のSDを
ポート0に、ポート2がボデイ長7のSDをポート0に
送付した場合のタイムチャートを示す図であり、以下、
これについて説明する。
【0061】図4に示す例は、ヘッダがクロスバースイ
ッチにきたサイクル時刻が、ポート0では時刻2、ポー
ト1では時刻3、ポート2では時刻5としており、従っ
て、これらの各ポートからのHreq の信号がこれらの時
刻で“1”となっている。メッセージを送付する3つの
ポートは、共に出力ポート0の制御部にリクエスト信号
wを出す。各ポートのgは、ポート0の出力調停回路か
らのセレクタ予約許可信号が返ってくるサイクル時刻を
表している。
【0062】出力ポート0の調停回路は、最初に、入力
ポート0にセレクタ予約許可信号gを返答すると、*印
の5サイクルの間、返事を出さず、次のポート1へのセ
レクタ予約許可信号gを返答する時刻を%印の先頭とす
る。同様に、入力ポート2にセレクタ予約許可信号gが
返答されるのは#印の先頭になる。従って、信号gにて
より、入力ポート0、1、2のボデイ転送開始サイクル
が決まり、ポート0へ送付されるポート0、1、2から
の出力ボデイデータは、Data(U→X)に示すようなサ
イクルで開始される。また、ポート0のセレクタゲート
切り替えが信号Bsynci で行われるので、ポート0への
ポート0、1、2からの出力ボデイデータは、Data(X
→U)に示すように空きなしで送付されることになる。
なお、ポート0からのData(U→X)に示すボディデー
タの送信の最後に示されるHは、次のヘッダがある場合
に、ヘッダが送信されることを示している。
【0063】図5に示す出力ポートのリクエスト調停回
路において、入力ポートからのリクエスト信号は、すで
に説明したように、w0〜w3であり、最終的な入力ポ
ートへの予約許可信号は、予約許可信号g0〜g3とし
て入力ポートに返送される。また、ボデイ長情報bg1
〜bg3は、リクエスト信号w信号と一緒に送付されて
きて、カウンタ制御部80〜83にラッチされて、予約
許可信号の間隔制御に使用される。
【0064】以下、図5に示すリクエスト調停回路の詳
細な動作について説明する。
【0065】図5において、ラッチIn70は、入力ポー
トからのリクエスト信号w(1サイクル信号)を常にラ
ッチしている。このラッチは、1サイクルだけしか行わ
れないので、ラッチされたリクエストは、リクエストを
到着順に記憶するバッファArrv71にすぐ書き込まれ
る。
【0066】バッファArrv71の段数は4段である。こ
れは、各入力ポートがリクエスト信号wを1個出すと予
約許可信号がきてかつボデイ転送が終了するまで次のリ
クエストwを出さないからである。従って、4つの入力
ポートから1サイクルおきにリクエスト信号wがくると
すれば4段が必要となる。バッファArrv71の書き込み
ポインタW72、読み出しポインタR73は、それぞれ
2ビットである。これにより、リクエストの到着順に調
停処理を行うことが可能になる。
【0067】バッファArrv71への書き込みは、Wポイ
ンタ72が示す先に常に書き込まれており、ラッチIn7
0に何もない場合、バッファArrv71へ0が書き込まれ
ている。ラッチIn70のどこかにビットがあればWポイ
ンタ72が+1される。
【0068】バッファArrv71からの読み出しは、Rポ
インタ73により常に実行されている。バッファArrv7
1は、Rポインタ73の示すポインタ先から読み出され
る。読み出し先の読み出しレジスタは、74(T0)と
75(T1)との2つが用意されており、どちらのレジ
スタに読み出すかはRポインタ73のポインタ2ビット
の下位ビットR(1)の値による。すなわち、R(1)
が0であればT0に読み出され、R(1)が1であれば
T1に読み出される。
【0069】また、バッファArrv71に有効なデータが
格納されているか否かは、W−Rの計算を行って判定す
ることができる。すなわち、W−R>0であれば有効な
データが格納されていると判定することができ、それ以
外では、有効なデータは格納されていないと判定する。
また、読み出しレジスタT0またはT1は、R(1)が
0でT0の出力がオール0であれば、T0が空きと判定
され、R(1)が1でT1の出力がオール0であればT
1が空きと判定される。この2つの条件が検出されたら
R+1を行う。また、レジスタT0とT1とに対するク
ロックは常に出しておき前述の条件が成立したとき、レ
ジスタに書き込まれたとみなされる。
【0070】読み出しレジスタとして、レジスタT0と
T1との2つが用意されるのは、ボデイ長1のリクエス
トが2サイクルに渡って連続してくる場合の処理を連続
して行うことを可能にするためである。そして、レジス
タT0またはT1には、同時刻にきたリクエストが格納
される。そのなかから優先度回路76により、1つのリ
クエストが選択され、そのボデイ長が1になるまで、こ
のレジスタ値を変化させないようにしておく。ボディ長
カウンタが1となれば、個別にリクエストビットをリセ
ットして次の予約許可信号を生成する。
【0071】読み出しレジスタ74(T0)、75(T
1)に格納される同時刻に到着したリクエストの中から
1つを選択する優先度回路76は、Rポインタ73の下
位ビットR(1)の値が0であれば、読み出しレジスタ
T1を使用し、Rポインタ73の下位ビットR(1)の
値が1であれば、読み出しレジスタT0を使用して優先
度を取る。優先度回路76は、リクエストの1つを選択
すると、信号cret0、1、2、3を出力する。この信号
は、このなかのどれか1つり信号が1となっている信号
であり、and回路78に入力されると共に、デイレイ
ラッチTd77にラッチされる。
【0072】and回路78は、前述の信号cret0、
1、2、3と、信号とデイレイラッチTdに格納された
信号の否定信号とのそれぞれとををandし、これによ
り、信号cret0、1、2、3をパルス信号である信号ar
et0、1、2、3として出力する。この、信号aret0、
1、2、3は、予約許可信号を出す予約許可信号ラッチ
Rs79にラッチされる。信号aretは、パルス(1サイ
クル)信号であるため、ラッチされた後の信号も1サイ
クルである。これにより、入力ポートへ予約許可信号g
が1サイクルのパルスとして返送される。
【0073】カウンタ制御部80〜83は、すでに説明
したように、そのボディ長カウンタに、転送するボディ
データのボディ長をセットしており、メッセージがSD
の場合、優先度回路76からの信号cretを受けたとき、
また、メッセージがBCの場合、前述で説明した入力ポ
ートからの信号cdを受けたとき、対応する入力ポート
のボデイ長カウンタをカウントダウンしてゆく。そし
て、カウンタ値が1(転送するボディ長が1)の場合、
直ちに、また、カウンタ値が1でない場合、カウントダ
ウンによりカウント値が1になったとき、使用中のレジ
スタT0またはT1をリセットする。
【0074】前述した本発明の実施形態によれば、メッ
セージ送付信号をヘッダ送付信号とボデイ送付信号とに
分け、出力ポートのセレクタゲート切り替えを、前記ボ
デイ送付信号の到着と同時に行うようにしたので、切り
替えロス時間をゼロにすることができる。
【0075】また、本発明の実施形態によれば、出力ポ
ートのセレクタゲートの予約許可信号の優先度判定の間
隔を、優先度回路で選択されたポートのヘッダに指示さ
れるボデイ長に対応するサイクル分あけるように制御し
ているので、異なるポート間でのボデイデータがセレク
タゲートでぶつかることがないように、また、リクエス
トが競合しているときに、転送間に空きができないよう
に制御することができる。
【0076】さらに、本発明の実施形態によれば、出力
ポートにおけるセレクタゲート予約許可信号の返送先入
力ポートを決める調停を、入力ポートからのセレクタゲ
ート予約リクエスト信号の到着順による選択と、ポート
番号順による選択の2段階としているので、ブロードキ
ャストメッセージが複数入力ポートにきた場合にも、こ
れを1つに絞ることなく個別の出力ポートの調停回路で
1つに絞ることができる。
【0077】
【発明の効果】以上説明したように本発明によれば、メ
ッセージ転送におけるロスサイクルをなくし、セレクタ
ゲートの使用効率を向上させることができ、また、セレ
クタゲートでのボディデータの衝突、あるいは、ロスサ
イクルの発生を防止することができ、さらに、出力ポー
トにおけるセレクタゲート予約許可信号を作成する調停
回路を、ブロードキャストメッセージに合うように制御
することができる。
【図面の簡単な説明】
【図1】本発明の制御方法が適用されるクロスバースイ
ッチを使用して構成される並列計算機システムの構成を
示すブロック図である。
【図2】入力ポートの制御動作を説明するフローチャー
トである。
【図3】出力ポートの制御動作を説明するフローチャー
トである。
【図4】複数のポート同一のポートに通常メッセージを
場合のタイムチャートを示す図である。
【図5】出力ポートに設けられるリクエスト調停回路の
構成を示すブロック図である。
【符号の説明】
10 クロスバースイッチ 21〜24 入力レジスタ 31〜34 セレクタ 41〜44 出力レジスタ 51〜54 メッセージ転送線 61〜64 機能ユニット 70 リクエスト信号受信ラッチ 71 リクエスト信号到着順記憶バッファ 72 バッファ書き込みポインタ 73 バッファ読み出しポインタ 74、75 バッファ読み出しレジスタ 76 優先度回路 77 優先度回路出力信号のディレイラッチ 78 and回路 79 予約許可信号ラッチ 80〜84 ボディ長カウント制御部

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 複数の機能ユニットと、内部に備えられ
    る複数個の入力ポートと出力ポートとの間の経路を切り
    替えるセレクタゲートを有し、前記複数の機能ユニット
    相互間をスター接続するクロスバースイッチの制御方法
    において、前記機能ユニットとクロスバースイッチとの
    間のメッセージ転送を、ヘッダ送付信号とボデイ送付信
    号とに分け、前記セレクタゲート切り替えを、前記ボデ
    イ送付信号が入力ポート経由で出力ポートに伝えられた
    時点で行うことを特徴とするクロスバースイッチの制御
    方法。
  2. 【請求項2】 ボデイデータの転送開始を前記機能ユニ
    ットに指示する制御信号を設け、このボデイデータ転送
    開始を指示する制御信号は、ヘッダに示される転送先出
    力ポートからのセレクタゲート予約許可信号がきたとき
    発行され、次のセレクタゲート予約許可信号は、許可し
    た転送メッセージのヘッダに示されるボデイ長に対応す
    るサイクルが経過した後に発行されることを特徴とする
    請求項1記載のクロスバースイッチの制御方法。
  3. 【請求項3】 前記セレクタゲート予約許可信号の返送
    先入力ポートを決める調停は、入力ポートからのセレク
    タゲート予約リクエスト信号の到着順による選択と、ポ
    ート番号順による選択との2段階で行われることを特徴
    とする請求項1または2記載のクロスバースイッチの制
    御方法。
  4. 【請求項4】 請求項1、2または3記載の制御方法に
    より制御されるクロスバースイッチにより、複数の計算
    機、メモリ、IOバスユニットを相互に接続して構成し
    たことを特徴とする並列計算機システム。
JP11194986A 1999-07-08 1999-07-08 クロスバースイッチの制御方法及び並列計算機システム Pending JP2001022711A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11194986A JP2001022711A (ja) 1999-07-08 1999-07-08 クロスバースイッチの制御方法及び並列計算機システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11194986A JP2001022711A (ja) 1999-07-08 1999-07-08 クロスバースイッチの制御方法及び並列計算機システム

Publications (1)

Publication Number Publication Date
JP2001022711A true JP2001022711A (ja) 2001-01-26

Family

ID=16333651

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11194986A Pending JP2001022711A (ja) 1999-07-08 1999-07-08 クロスバースイッチの制御方法及び並列計算機システム

Country Status (1)

Country Link
JP (1) JP2001022711A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010113262A1 (ja) 2009-03-31 2010-10-07 富士通株式会社 調停方法、調停回路、及び調停回路を備えた装置
JP2012094081A (ja) * 2010-10-29 2012-05-17 Nec Engineering Ltd バス調停回路及びバス調停方法
JP2014035696A (ja) * 2012-08-09 2014-02-24 Fujitsu Ltd 並列計算機システム、クロスバスイッチ及び並列計算機システムの制御方法
JP2014038497A (ja) * 2012-08-16 2014-02-27 Fujitsu Ltd 並列計算機システム、データ転送装置及び並列計算機システムの制御方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010113262A1 (ja) 2009-03-31 2010-10-07 富士通株式会社 調停方法、調停回路、及び調停回路を備えた装置
US8837505B2 (en) 2009-03-31 2014-09-16 Fujitsu Limited Arbitration method, arbiter circuit, and apparatus provided with arbiter circuit
JP2012094081A (ja) * 2010-10-29 2012-05-17 Nec Engineering Ltd バス調停回路及びバス調停方法
JP2014035696A (ja) * 2012-08-09 2014-02-24 Fujitsu Ltd 並列計算機システム、クロスバスイッチ及び並列計算機システムの制御方法
US9342473B2 (en) 2012-08-09 2016-05-17 Fujitsu Limited Parallel computer system, crossbar switch, and method of controlling parallel computer system according to selective transmission of data via ports of the crossbar switch
JP2014038497A (ja) * 2012-08-16 2014-02-27 Fujitsu Ltd 並列計算機システム、データ転送装置及び並列計算機システムの制御方法
US9336172B2 (en) 2012-08-16 2016-05-10 Fujitsu Limited Parallel computer system, data transfer device, and method for controlling parallel computer system for performing arbitration

Similar Documents

Publication Publication Date Title
US6314487B1 (en) Adaptive routing controller of a crossbar core module used in a crossbar routing switch
US6674720B1 (en) Age-based network arbitration system and method
CN105005546B (zh) 一种内置交点队列的异步axi总线结构
JP4124491B2 (ja) 異なるデータ転送速度での共用メモリへのアクセスを制御するパケット・ルーティング・スイッチ
EP0198010B1 (en) Packet switched multiport memory nxm switch node and processing method
US6715023B1 (en) PCI bus switch architecture
JP4024875B2 (ja) 異なるデータ・レートで動作するネットワーク・ポートに関して、共用メモリへのアクセスを調停する方法および装置
US7143221B2 (en) Method of arbitrating between a plurality of transfers to be routed over a corresponding plurality of paths provided by an interconnect circuit of a data processing apparatus
KR100962769B1 (ko) 수퍼차지 메시지 교환기
Frazier et al. The design and implementation of a multi-queue buffer for VLSI communication switches.
JPH09172460A (ja) パケット交換コンピュータ・システムにおける高速転送スレーブ要求の方法および装置
US20050265238A1 (en) Flow control method and apparatus for single packet arrival on a bidirectional ring interconnect
US5918055A (en) Apparatus and method for managing digital resources by passing digital resource tokens between queues
JPH0775016B2 (ja) データ処理システム及びデータ通信バス・システム
EP0892352B1 (en) Computer system with a bus having a segmented structure
JPH04218861A (ja) 多重クラスタ信号プロセッサ
JPH05242019A (ja) 先読み優先調停システム及び方法
US20040199705A1 (en) Apparatus for use in a computer systems
US7039750B1 (en) On-chip switch fabric
JP2001160815A (ja) 集積回路における相互接続モジュール用の接続ポート
JP2001022711A (ja) クロスバースイッチの制御方法及び並列計算機システム
US6701407B1 (en) Multiprocessor system with system modules each having processors, and a data transfer method therefor
JPH0818565A (ja) データ処理装置
RU175049U1 (ru) УСТРОЙСТВО КОММУНИКАЦИОННЫХ ИНТЕРФЕЙСОВ SpaceWire
JP2882304B2 (ja) マルチプロセッサシステム