JP2502170B2 - 高速網状接続特定区域内情報通信網のための経路指定装置及び方法 - Google Patents

高速網状接続特定区域内情報通信網のための経路指定装置及び方法

Info

Publication number
JP2502170B2
JP2502170B2 JP16397790A JP16397790A JP2502170B2 JP 2502170 B2 JP2502170 B2 JP 2502170B2 JP 16397790 A JP16397790 A JP 16397790A JP 16397790 A JP16397790 A JP 16397790A JP 2502170 B2 JP2502170 B2 JP 2502170B2
Authority
JP
Japan
Prior art keywords
request
routing
resource
broadcast
output
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.)
Expired - Fee Related
Application number
JP16397790A
Other languages
English (en)
Other versions
JPH0332253A (ja
Inventor
ピー タッカー チャールズ
シー スチュワート ローレンス
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.)
Digital Equipment Corp
Original Assignee
Digital Equipment 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 Digital Equipment Corp filed Critical Digital Equipment Corp
Publication of JPH0332253A publication Critical patent/JPH0332253A/ja
Application granted granted Critical
Publication of JP2502170B2 publication Critical patent/JP2502170B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17356Indirect interconnection networks
    • G06F15/17368Indirect interconnection networks non hierarchical topologies
    • G06F15/17381Two dimensional, e.g. mesh, torus

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Multi Processors (AREA)

Description

【発明の詳細な説明】 本発明は、本発明と同時出願された一連番号370,285
号“高速網状接続地域内情報通信網”に関連する。
〔発明の分野〕
本発明は、一般的にはコンピュータを相互接続するた
めのコンピュータ通信回路網に関し、特定的には網状に
接続された地域内情報通信網のための経路指定装置及び
方法に関する。
〔発明の背景〕
地域内情報通信網(LAN)は、比較的近接して位置付
けられているコンピュータ間でメッセージを伝送するた
めに広く用いられている。LANには少なくとも3つの基
本の組織的アーキテクチャの型、即ち線形、環状及び網
状が存在する。例えばイーサネットはコンピュータ ワ
ークステーション、本体及びミニコンピュータを相互接
続するために広く使用されている線形LANである。本発
明は網状に接続されているLANのみに関する。
従来、網状接続LANはコンピュータ科学文献及び幾つ
かの特許において検討されてはいたが、若干の公知の及
び比較的処置しにくい諸問題のために商業的に成功した
例はなかった。これらの問題の1つは、網状接続ネット
ワークを通してメッセージを経路指定する効率的なメカ
ニズムが欠如していたことである。理想的には、経路指
定メカニズムは、スイッチによって受信された各パケッ
トをその宛先により近く運ぶ経路へ迅速に経路指定でき
るべきである。また経路指定メカニズムは、ネットワー
ク処理能力が単一リンクの処理能力を越えるように網状
接続ネットワーク内の数多い経路の有利性を取り入れる
べきである。
第1図において、ネットワーク100内の各スイッチS
は、若干の異なる入力リンクからデータパケットを受信
して1或はそれ以上の出力リンクへ経路指定しなければ
ならない。従ってスイッチは、各パケット毎に正しい出
力リンクを選択するメカニズムを有していなければなら
ない。高い処理能力を達成するために、ネットワークは
種々の入力リンクから異なる出力リンクへ多くのパケッ
トを同時に経路指定できる非閉塞スイッチを使用しなけ
ればならない。更に、スイッチは利用可能な出力リンク
を公平にしかも迅速にデータ パケットに割当てること
が好ましい。公平な経路指定方法とは、一般的にパケッ
トを受信した順序に基いて経路指定優先順位を与える方
法である。
〔発明の概要〕
要約すれば本発明は、高速網状接続LANに使用するた
めのパケット経路指定装置である。網状接続ネットワー
クは、LANのメンバーであるホスト コンピュータに結
合されている相互接続された複数のスイッチからなる。
スイッチは、互に結合された、及び複数の二地点間リン
クによってホストに結合された非閉塞スイッチである。
各スイッチは、受信したメッセージ パケットをその
目的ホストに向けて自動的に経路指定するための経路指
定メカニズムを有する。即ち、本発明の経路指定メカニ
ズムによれば、多くのパケットをネットワークを通して
同時に経路指定することができる。受信した各パケット
毎に、ルータは先ずパケットを再送する即ちパケットを
その宛先に向けて経路指定するために使用できる出力リ
ンクを表わす経路指定マスクを生成する。経路指定マス
クは同報通信ビットを含む。もし同報通信ビットがオン
であれば、パケットは経路指定マスクによって規定され
た全ての出力リンクに同時に経路指定されなければなら
ない。もし同報通信ビットがオフであれば、パケットは
経路指定マスクによって指定されたリンクの何れか一つ
に経路指定され得る。
利用可能な出力リンクの集合は、経路指定されるのを
待機中のパケットのための全ての経路指定マスクと周期
的に比較される。どのパケットもその宛先に向って進行
するのを保証するために、対応経路指定マスクを待ち行
列内に配置することによってパケットはパケットの到着
順に処理される。“先着順配慮”経路指定規律を使用す
ると、利用可能な出力リンクに整合する待ち行列内の先
着経路指定マスクが選択される。次で対応パケットのた
めに経路指定選択が生成され、選択された経路指定マス
クが待ち行列から除去される。
本発明の付加的な目的及び特色は添附図面に基く以下
の説明からより安易に理解されよう。
〔実施例〕
第1図は本発明による網状接続LANの概念図である。
従来の網状ネットワークとは異なり、ノードの特定の階
層は存在せず、またネットワークのノードを如何に相互
接続するかに関する要求も存在しない。ネットワークの
ノードは無作為に相互接続可能であり、しかも適正に機
能する。但し、充分に配慮された相互接続の集合は若干
良好な性能を呈するであろう。
ネットワークを使用するホストコンピュータはHで示
してあり、LANを構成するノードをスイッチと呼びSで
示してある。この概念図では約80のホストを相互接続す
るために16のスイッチを使用している。スイッチSは多
重ポート付きカットスルー非閉塞スイッチであり、多数
の入リンクを種々の選択された出力リンクへ同時に結合
することができる。これらのスイッチは、ネットワーク
を通して多くのデータ パケットを同時に経路指定する
ことができる。
非閉塞スイッチ 第2図のブロック線図を参照する。各スイッチ210の
主成分は非閉塞クロスバ スイッチ212、リンク制御ユ
ニット214とも呼ばれる複数の(好ましい実施例では
2)スイッチ ポート、スイッチ制御プロセッサ(SC
P)216、及び経路指定論理回路とも呼ばれるルータ218
である。またスイッチ制御プロセッサ216と呼ばれるマ
イクロプロセッサをクロスバ212に結合する特別なリン
ク ユニット214aも存在している。
リンク ユニット214aはSCP216をクロスバ212へ結合
するので、SCP216はネットワーク内のホストコンピュー
タと同一の通信メカニズムを使用してクロスバ212を介
してデータ パケットを送り、また受けることができ
る。
各リンク ユニット214はクロスバ212を1つの全二重
リンク215へ結合する。各リンク215は2データ チャネ
ルを有し、従ってデータはリンク215を通して同時に両
方面に送信することができる。従って、各リンク ユニ
ット214は2つの成分、即ち入力リンク ユニット220
(Rx)及び出力リンク ユニット222(Tx)を有する。
スイッチ210が新データ パケットを受信すると、そ
のデータ パケットを受信中の入力リンク ユニット22
0はクロスバ212によって出力リンク ユニット222a(入
力リンクとは異なるリンクのためのユニット)に結合さ
れる。出力リンク ユニット222aは受信したデータ パ
ケットを別のリンクを通して再送信し、それによってそ
のパケットを宛先に向かわせる。クロスバ212は入力リ
ンク ユニット220のどれをも同時に別個の出力リンク
ユニット222aに結合することができる。この理由から
スイッチ210を非閉塞スイッチと呼ぶのである。
ルータ218の目的は、どの出力リンク ユニット222を
各入力リンク ユニット220へ結合すべきかを決定する
ことである。入力リンク ユニット220は新データ パ
ケットを受信すると経路指定要求をルータ218へ送る。
経路指定要求は、パケットの宛先及び入力リンク ユニ
ットの識別を指定する。図示のように、リンク ユニッ
ト 220はバス230を通してパケットの宛先アドレスをル
ータ218へ送る。
パケットの宛先アドレスは各パケットの始めに、最初
の数バイトから入手することに注目されたい。宛先アド
レスは、パケットが送られつつあるネットワーク メン
バーを指定する。
ルータ バス232はリンク マスクを含み、該マスク
は各リンク ユニットに対応する1ビット、プラス4ビ
ットのリンク索引、1同報通信ビット及び有効フラグを
含む。バス232のリンクマスク部分の各ラインは、ルー
タ218とリンクユニット214の1つとの間の単一ビット通
信ラインと考えることができる。可用性フラグが各出力
リンク ユニット222から周期的にルータ218へ送られ
る。可用性フラグは、出力リンクが話中ではなく、“閉
塞されていない”状態にあり、従って新データ パケッ
トを経路指定するために使用できる場合に“オン”とな
る。出力リンク ユニットは、リンク(即ち出力リンク
ユニットが結合されているリンク)の他方の端のスイ
ッチが流れ停止コマンドを送った場合に閉塞される。流
れ停止コマンドは、リンクの他方の側のスイッチがそれ
以上のデータを受信不可であることを表示する。出力リ
ンク ユニット222が話中であるか或は閉塞されると、
その可用性フラグは“オフ”になる。出力リンク ユニ
ット222の13の可用性フラグ ビットはルータ218によっ
て周期的にサンプルされ、経路指定選択を行うために使
用される。
入力リンク ユニット220から送られる情報を使用し
て、ルータ218はどの(単数或は複数の)出力リンク
ユニット222をデータ パケットの再送信のために使用
すべきかを決定する。ルータ218によって行われる経路
指定選択はルータ バス232を介してリンク ユニット2
14及びクロスバ212へ送信され、これらは経路指定選択
を使用して指定された接続を準備する。
入力リンク ユニット220と出力リンク ユニットと
の間の接続は、以下のようにしてクロスバ212によって
なされる。要約すれば、ルータ218が新リンク選択を発
行する度にクロスバ内の2つのマルチプレクサがセット
されて、選択された入力リンク ユニットが選択された
出力リンク ユニットに結合する。一方が入力リンク
ユニットからのデータを出力リンク ユニットへ送信し
ている間に、他方が流れ制御信号を入力リンク ユニッ
トへ送信して戻すために、2つのマルチプレクサが必要
なのである。同報通信パケットが送信される時にリンク
選択信号によって準備されるマルチプレクサの数は、使
用されつつある出力リンクの数に依存する。
初期の好ましい実施例は1ダースのスイッチポート
(即ちリンク ユニット)214しか有していないが、将
来ユニットはより多くのポートを有することになろう。
SCP216は標準マイクロプロセッサ(例えば、好ましい
実施例においてはモトローラ製68010マイクロプロセッ
サが使用されている)であり、スイッチ210が電源投入
された時或はリセットされた時にはルータ218を再ロー
ドするように、及びネットマークのある成分が障害を起
こすか或は新成分がネットワークに付加された時には再
構成を遂行するようにプログラムされている。SCP216は
SCPバス225によって全てのリンク ユニット214にも結
合されているので、SCP216はリンク ユニットのステー
タスを監視することができる。
ルータ回路 ネットワーク内の各スイッチには48ビットのUIDに加
えて独特な7ビットの短IDが割当てられる。短IDはネッ
トワークの構成中に割当てられ、何れの特定スイッチの
短IDもネットワークが再構成される時に変更できる。各
ホスト コンピュータには11ビットの“ネットワーク
アドレス”が割当てられる。ホスト コンピュータのネ
ットワークは、そのスイッチの短IDと、ホストをスイッ
チに結合するリンクポートの4ビット値とを連結するこ
とによって生成する。各スイッチのネットワーク アド
レスは、その短IDプラスSCPリンク ユニットのリンク
番号に対応する予め定められた4ビット値(例えば0)
である。
ネットワーク アドレスは、ネットワークを通して送
信されるパケットの宛先を表示するために使用されるア
ドレス値である。
各ネットワーク メンバーにネットワーク アドレス
並びにUIDが割当てられている理由は、ネットワークを
通るパケットの経路指定を容易にするためにより短い値
が必要であったからである。7ビットの短IDは128まで
のスイッチを準備する。各スイッチは多くとも12の外部
ポートを有しており、その中の少なくとも1つはスイッ
チをネットワーク内の別のスイッチに接続するために使
用しなければならないから、多くとも1408のホストが存
在し得る。これは、予測される本発明の全ての対応に対
して充分以上であると期待される。勿論、ネットワーク
メンバーの許容数は、単に12ビットのネットワーク
アドレスを使用することによって2倍にすることができ
る。
データ パケットを先ず送信する時、データ パケッ
トを送ろうとするネットワーク メンバーのネットワー
ク アドレスがパケットの最初の数バイト内に記憶され
る。ルータ218は、ネットワーク アドレスの値とその
パケットを受けている入力リンクとを使用してどの(単
数或は複数の)出力リンクをデータ パケットの再送信
のために使用すべきかを決定する。
要約すれば、本発明の経路指定メカニズムの目的は、
システム資源(即ち出力リンク)を公平、公正にデータ
パケットに割当てることである。詳細を後述するよう
に、本発明は資源に対する要求と使用可能な資源の集合
とを要求を受けた順序に比較する先着順配慮経路指定を
提供する。使用可能な資源に整合する最初の要求が選択
され、その要求が必要とする資源が割当てられる。次い
でプロセスは繰返される。
先着順配慮経路指定規律を使用すれば、後着要求は、
割当てが先行要求の必要と競合しない限り、先行要求の
前に資源に割当てることができる。この経路指定規律
は、使用可能な資源を資源要求者に割当てることができ
るレートを最大にする。同報通信データ パケットの場
合にはこの経路指定規律は、要求された資源が同報通信
要求によって保留されそれによって後着要求が同報通信
データ パケットの進行を妨害するのを防ぐことを意味
する。
第3図は、好ましい実施例に使用されているルータ回
路218の基本成分を示す。第2図で説明したように、ル
ータ218はバス230からパケット宛先アドレスを受信す
る。経路指定要求信号及び出力リンク可用性信号は、ル
ータ218によるリンク選択値の伝送と共にルータ バス2
32上に時間多重化される。
各“経路指定アドレス”は1ビットのパケットアドレ
ス及び4ビットの入力リンク番号を含む。経路指定アド
レスはレジスタ420内に記憶される。経路指定表422は、
経路指定ドレス値によって索引されるルックアップ テ
ーブルである。経路指定表422は、経路指定アドレスに
対応するパケットを経路指定するために潜在的に使用で
きる出力リンクを指定する考え得る全ての経路指定アド
レス値のためのエントリを含む。
入力リンク ユニットは、その先入れ先出し(FIFO)
バッファの出力に新パケットの受信を検出すると、ルー
タ バス232のリンク マスク部分232A上に要求信号を
送る。
経路指定要求セレクタ回路424はバス232A上に経路指
定要求が発生したか否かを監視している。何れかの経路
指定エンジン サイクル中に1或はそれ以上の経路指定
要求が発生すれば、セレクタ424は要求の1つを選択す
る。選択された要求は、適切な時点に“オン”信号をバ
ス232Aを介して選択されたリンク ユニットへ送ること
によって肯定応答される。この肯定応答信号は信号した
リンク ユニットに該ユニットがその経路指定要求をバ
ス230を介して伝送するように選択されたことを通知
し、次いで選択された入力リンク ユニットはその経路
指定要求に関するパケット宛先アドレスをバス230を介
してバッファ420へ送る。
要求セレクタ回路424は巡回優先順位エンコーダであ
り、要求が選択された最後のリンク ユニットの競合要
求の中から選択するための優先順位を基礎にしている。
これにより全ての要求は短時間中に受入れられ、パケッ
トが枯渇するのを防止する。
各経路指定要求は、ライン230から受ける11ビットの
パケット宛先アドレスと、要求セレクタ回路424によっ
て与えられた関連4ビット入力リンク番号とを含む。経
路指定表アドレスは経路指定表422によって使用される
ようにレジスタ420内に記憶されている。経路指定表422
はランダムアクセス記憶装置(RAM)内に記憶され、レ
ジスタ420内の15ビット値は経路指定表422からのある値
(経路指定マスクと呼ばれる)を検索するためのアドレ
スとして使用される。経路指定表422によって選択され
た経路指定マスク出力は、後述するように次の経路指定
エンジンサイクルの始めに経路指定エンジン430によっ
てラッチされる。
経路指定表422は、考え得る全ての経路指定要求のた
めのエントリを含む。換言すれば、入力リンク番号とパ
ケット宛先アドレスとの全ての考え得る組合せのための
エントリを有する。これらの2つの値は15ビットを占め
るから、表422内のエントリ数は215即ち32,768になる。
各エントリは記憶装置の2バイトを占め、従って表422
は65,536バイトの記憶位置を必要とする。典型的には、
経路指定表内のエントリの中の小さい数だけが“正当
な”経路指定要求を表わし、他の全ては不正な、即ち不
当な要求値を表わすことになろう。不当要求の表エント
リは全てが0である。但し“1"に等しくセットされる
“同報通信ビット”を除く。もしデータ パケットが不
当経路指定要求を生成すれば、そのデータ パケットは
スイッチから追放される。
80のネットワーク メンバーを有するネットワークに
おいては、合計81程度だけの正当なパケット アドレス
が存在しよう。即ち、各ネットワーク メンバーに1つ
宛のアドレスと、パケットをネットワーク上の全ホスト
へ送るための1或はそれ以上の“同報通信”アドレスを
含む。また入力リンク番号とパケット アドレスの若干
の組合せは、それらがパケットを宛先から遠去ける経路
に対応するか、或はデットロックを発生する恐れがある
ために不当であろう。従って、80のメンバーのネットワ
ークにおいては、特定のスイッチのための経路指定表42
2は320乃至750の正当エントリを有することになろう。
経路指定表422内の各エントリは経路指定マスクを含
む。経路指定マスクの例は 経路指定表内の各アドレスは入力リンクから受信し得
る考えられる経路指定要求の1つを表わし、従ってここ
では入力リンク番号及びパケット アドレスを連結して
表わしてある。
各経路指定表エントリ内の経路指定マスクは、SCPを
含むスイッチの各出力リンクに1つ宛の13のマスク ビ
ットを含む。各マスク ビットは“オン”である時(即
ち“1"に等しい時)に、パケットを経路指定するために
使用できる出力リンクを表わす。経路指定マスクは、そ
のパケット アドレスが同報通信であるか或は通常アド
レスであるかを表わす同報通信ビットBCをも含む。経路
指定マスクの例を第4図に示す。第4図には経路指定マ
スクの上に有効ビットを、また経路指定マスクの下にリ
ンク番号も示してあるが、その理由は後述する。
同報通信ビットBCが“オン”(即ち“1"に等しい)で
あれば、そのパケットは同報通信パケットと呼ばれる。
同報通信パケットは、経路指定マスクによって指定され
た全ての出力リンクに同時に経路指定しなければならな
い。
もし同報通信ビットが“オフ”(即ち“0"に等しい)
であれば、そのパケットは非同報通信パケットと呼ばれ
る。非同報通信パケットの場合には、経路指定マスクは
パケットをその宛先に経路指定するために使用できる各
出力リンク毎に“1"に等しいマスクビットを有する(即
ち、パケットは経路指定マスクによって指定される出力
リンクの何れか1つに経路指定できる)。多くの場合、
若干の異なる出力リンクを交互にパケットをその宛先に
向けて経路指定するために使用することができ、これが
網状接続ネットワークの長所の1つである。経路指定エ
ンジン430はパケットを経路指定する経路指定マスクに
よって指定された出力リンクの特に1つを選択する。
第4図は、経路指定エンジン430内へ入力される時の
経路指定要求425の正確な書式を示す。有効フラグと呼
ばれる上部ビットは、経路指定要求が経路指定エンジン
430内へロードされると“1"にセットされ、経路指定エ
ンジン430内へロードする新しい経路指定要求が存在し
ない時に“0"にリセットされる。次の14ビットは前述の
ように、経路指定表422による経路指定マスク及び同報
通信ビット出力である。最後の4ビットは、経路指定中
のパケットの入力リンク番号である。
経路指定エンジン430は、現在使用可能な出力リンク
を表わすリンク可用性マスクと経路指定要求とを比較す
る。詳述すれば、経路指定エンジン430の目的は、各新
パケットの出力リンク要望とスイッチの使用可能な出力
リンクとを整合させることである。経路指定エンジン43
0によって生成された経路指定選択値は、クロスバ212
(第2図)がそのマルチプレクサを準備し、それによっ
て指定された入力リンクを1或はそれ以上の指定された
出力リンクに接続するために使用する。
第2図に関して説明したように、各出力リンク ユニ
ット222はその出力リンクが経路指定のために使用可能
であるか、或は既に使用中或は閉塞されているの何れか
であることを表わす“リンク使用可能”信号を伝送す
る。バス232は全ての出力リンクからのリンク使用可能
信号ラインを含む。ルータ218はバス232上のリンク使用
可能信号を周期的にサンプルし、それらを内部に記憶す
る(第5図に列465で示す)。経路指定エンジン430は経
路指定選択を行う時に使用可能リンクマスクを使用す
る。
経路指定エンジン430は経路指定要求と1或はそれ以
上の使用可能リンクとを整合させることができると、経
路指定選択値を生成してバス232上へ出力する。経路指
定選択値は4ビットの入力リンク番号、同報通信ビット
及び満足された経路指定要求からの有効ビット、及び入
力リンクに結合される単数の或は複数のリンクを識別す
る出力リンクマスクからなる。入力リンク番号、同報通
信ビット及び有効ビットは232Bと名付けたルータ バス
の部分に伝送され、出力リンクマスクは232Aと名付けた
ルータ バスの部分に伝送される。ルータ バス232に
伝送された経路指定選択値は、指定された入力リンクを
1或はそれ以上の指定された出力リンクに接続するため
に入力リンク ユニット220、出力リンク ユニット222
及びクロスバ212(第2図)によって使用される。
“有効”出力ビットは経路指定エンジン430が新経路
指定選択を出力サイクル中のみ“オン”となる。即ち経
路指定エンジン430から出力される“有効”ビットは、
経路指定エンジン430が懸案の経路指定要求の何れかと
使用可能出力リンクとを整合させ得ないサイクル中では
“オフ”である。
制御回路435は経路指定エンジン430及び要求選択回路
424のためのクロック信号を生成する。これらのクロッ
ク信号はパケット アドレス バス230及びルータ バ
ス232の使用も制御する。そのタイミング プロトコル
は第6図を参照して後述する。
経路指定エンジン 第5図は、経路指定エンジン430の好ましい実施例を
示す。この実施例においては、経路指定エンジンは計算
成分のアレイ450から形成され、各成分は第5図に箱で
示されている。図示のアレイはシリンクス(Xilinx)社
が製造しているシリンクス3090アレイと呼ばれるプログ
ラマブル ゲート アレイを表わす。シリンクス3090は
16の列を含み、各列は20の組合せ理論ブロック(CLB)
を有する。CLBは種々の理論及び記憶機能を遂行するよ
うに電気的にプログラムすることができる。各CLBは、
2つのフリップフロップ及び2つの機能単位を含む。各
機能単位は4入力変数までのどのブール関数も計算する
ことができる。CLBは、機能単位から或はフリップフロ
ップから直接得ることができる2つの出力を発生する。
また各CLB附近には2つのトライステート ドライバも
存在する。これらのドライバはチップを横切る水平金属
トレースに接続可能であり、バスを構成することができ
る。プログラム可能な論理を提供する他に、シンリクス
3090アレイは近隣CLB間の、及びアレイの外側の回路へ
のインタフェースを提供する複数の埋込みセル間のプロ
グラム可能な相互接続をも提供する。即ち、アレイの挙
動及び機能は、外部源(例えば各スイッチ内のSCP)か
らアレイ内にロードされる制御ビットのパターンによっ
て決定される。チップ製造の一部としてのカストマイズ
は行われない。
経路指定エンジン アレイ450は、それぞれが19論理
ブロックを有する13の列451〜463を使用している。これ
らの各列451〜463は単一の経路指定要求を記憶し、処理
する。更に、チップの右側には13の作動可能信号発生器
(RG)の列465、及び17の出力信号発生器(0及び
0′)の列468が存在する。アレイ内の各論理ブロック
に関して以下に説明する。
しかし、先ず第5図に示すアレイ450の総合動作方法
を説明することが有用であろう。経路指定要求はアレイ
の左側から受信される。アレイの左側に示す信号記号
は、第4図に示す経路指定要求の書式に一致する。
信号RDY0乃至RDY12によって表わされている出力リン
ク可用性マスクはアレイ450の右側から受信される。
経路指定エンジンによって行われた経路指定選択であ
るアレイ450からの出力は、アレイの右側から出力バス4
70上に現われる。第3図に関して説明したように、経路
指定選択は19ビット、即ち経路指定選択が行われたこと
を表わす1つの有効ビット、13ビットの出力マスク、1
つの同報通信ビット、及び経路指定要求からの4ビット
の入力リンク番号を含む。
アレイの13の列451〜463は、本発明の先着順経路指定
規律を実現する待ち行列として作用する。待ち行列の右
側の列は最も古い満たされていない経路指定要求を保持
し、左側の列はより最新の要求を保持している。
アレイ全体は周期的なクロック サイクルで動作す
る。経路指定エンジンは6クロック サイクルの各期間
中に1経路指定要求を受入れ、この6クロックサイクル
期間中に1回の経路指定選択を試みる。
第6図に示すように、各経路指定エンジンは、T0乃至
T5と名付けた6つの相を有する。各相の持続時間は80ナ
ノ秒であり、従って合計経路指定エンジン サイクルは
480ナノ秒である。経路指定エンジン サイクルは、ク
ロック信号 T03によって表わされている1つの主要副
相を有する。第1の副相中はT03=1であり、第2の副
相中はT03=0である。
以下に説明するように、ルータ218へ経路指定要求を
送り、その要求を処理し、そしてリンク ユニット及び
クロスバへ経路指定選択を送るためには3経路指定エン
ジン サイクルを必要とする。
経路指定要求は以下のようにしてルータ218へ送られ
る。T4中に、ルータへ送る必要がある経路指定要求を有
する各入力リンク ユニットはルータ バス232の対応
ライン上に“オン”信号を供給する。経路指定セレクタ
回路424はT4中にルータ バス232を監視し、経路指定要
求が供給されているか否かを見出す。もし1つの要求だ
けが供給されていれば、それは肯定応答される。何れか
1つの経路指定エンジン サイクル中に、1つよりも多
い経路指定要求が供給されていれば、経路指定セレクタ
回路424は前述のようにして1つの要求だけを選択す
る。
選択された要求は、次の経路指定エンジン サイクル
のT2中に、選択されたリンク ユニットバス232を介し
て“オン”信号を送ることによって肯定応答される。こ
の肯定応答信号は選択された信号されたリンク ユニッ
トにその経路指定要求をバス230を介して伝送するよう
に命令する。クロック相T3乃至T5中に、選択された入力
リンク ユニットはその経路指定要求に関連するパケッ
ト アドレスをバッファ420を介して経路指定表422へ送
る。経路指定表422がアクセスされ、その経路指定要求
に対応するリンク ベクトルがT5の終りによってその出
力において作動可能になる。
相T5中に全てのリンク ユニットはそれらの可用性フ
ラグ値をルータ バス232上へ供給するので、これらの
信号は次の経路指定エンジン サイクルの始めに経路指
定エンジンのための準備が整うことになる。
T0の始めに経路指定エンジン430は、ルータ バス232
からのリンク可用性フラグと、もしあれば現経路指定要
求とをラッチする。現経路指定要求は、経路指定表422
によるリンク ベクトル出力、要求選択回路424による
リンク番号及び有効ビット出力とからなる。
経路指定エンジン サイクルT0乃至T5の残余の間、経
路指定エンジン430はラッチしたリンク可用性データ
と、経路指定エンジン430のデータ列内に記憶されてい
る満たされていない経路指定要求とを比較する。この比
較の結果はT5の終りに経路指定エンジンの出力列内にラ
ッチされる。しかし、経路指定エンジンによって生成さ
れる経路指定選択は、後続する経路指定エンジン サイ
クルT1までルータ バス232上に供給されない。このル
ータ サイクルのT1乃至T5中、もし経路指定選択の有効
ビットが“オン”であれば、リンク ユニット及びクロ
スバは指定された入力リンクを指定された(単数或は複
数の)出力リンク ユニットに結合するように経路指定
選択出力を処理する。
要約すれば、ルータ218の各部分は各経路指定サイク
ル中に異質のタスクを遂行する。更に、ルータ バス23
2は経路指定要求を経路指定要求セレクタ424へ送るため
と、経路指定選択をリンク ユニットへ送るために時間
多重化されている。
6×80nSのクロック サイクル/段を有する3段パイ
プラインとして使用されているルータ218は毎秒200万パ
ケットよりやや多いパケットを経路指定することがで
き、各パケットの通路に約1.44マイクロ秒/スイッチの
待ち時間を付加する。ルータ パイプラインの3段と
は、(1)経路指定要求マスクを生成するための入力ラ
イン選択及び経路指定表探索、(2)経路指定エンジン
サイクル、及び(3)経路指定選択をクロスバ212及び
リンク ユニットへ伝送する。
以下に経路指定エンジン サイクルの各相中の経路指
定エンジンの動作を詳細に説明する。各経路指定エンジ
ン サイクルの始めに、即ちT0の始めに、経路指定要求
及び使用可能な出力リンク マスクが読み込まれる。経
路指定要求はアレイ451の最左列内にラッチされ、リン
ク可用性マスク(RDY0〜RDY12)は作動可能信号列465内
へラッチされる。更に、既にアレイ内に記憶されている
が満たされていない各経路指定要求は、もし満たされな
い要求によって占有されていない少なくとも1つの列が
アレイの右に存在していれば、アレイの右へ1列移動さ
せられる。
経路指定エンジン サイクルの第1副相中、数組の信
号がアレイを横切って伝播する。第1に、リンク可用性
マスクがアレイを右から左へ横切って伝播する。各要求
ハンドリング列451〜463内の回路は、それらの列内に記
憶されている経路指定要求とリンク可用性マスクとを比
較する。非同報通信要求を記憶している列(BC=0の
列)において、もし少なくとも1つの可能化された“マ
スク”ビットが可能化されたRDYビットと一致すれば、
突き合わせ(以下、“整合”と称する)信号を生成す
る。即ち、RDY=1の値によって表わされる各使用可能
なリンクはアレイ450内に記憶されている経路指定マス
クの対応ビットと比較される。使用可能なリンクのため
のRDY信号が、その経路指定マスクの対応ビットが“オ
ン”である経路指定要求に遭遇すると、その列のための
“整合”信号が生成される。
同報通信要求を記憶している列(BC=1の列)におい
ては、全ての可能化された“マスク”ビットが対応RDY
ビットに一致する場合に限り(即ち、要求によって必要
とされる全出力リンクが使用可能である場合に限り)
“整合”信号が生成される。
同報通信要求を記憶している(BC=1)列は、同報通
信要求の“マスク”ビットと一致するRDY信号の伝播を
阻止する。実際には、同報通信要求は、その要求によっ
て必要となった使用可能出力リンクを“反転”させる。
もしこれが行われなければ、同報通信パケットによって
必要とされる個々の出力リンクと一致し、これらを使用
する爾後の要求によって同報通信パケットは恒久的に阻
止されることになる。
“整合”信号は、一致が見出された列を上方に伝播す
る。即ち、“整合”信号は経路指定エンジン サイクル
の第1副相中に伝播する第2組の信号である。
2或はそれ以上の列が“整合”信号を生成する可能性
は極めて高い。従って、最古の要求に最優先順位を与え
るためには、一致を見出した最も右に列を選択する必要
がある。このようにするために、“応答済み”と呼ぶ信
号がアレイの頂部のC1セルを右側から左側へ伝播する。
“応答済み”信号は、使用可能整合信号を有する有効列
(即ち有効=1)に出逢うまでその値が“0"であり、有
効列に出逢うと値が“1"になる。
“応答済み”信号は第3の型の信号であり、経路指定
エンジン サイクルの第1副相中に伝播される。
T4及びT5中に出力可能化信号(ND可能化)が、右隣り
から“0"の応答済み信号を受け且つ可能化された整合信
号を有する最右列に関して生成される。勿論、多くの経
路指定エンジン サイクル中はどの列も使用可能リンク
マスクと一致せず、 出力可能化信号は生成されない。暫時、出力可能化信号
が1つの選択された列のために生成される場合を考え
る。
何れか1つの経路指定エンジン サイクル中に多くと
も1つの列が可能化されたND可能化信号を有することに
なろう。もしどの列も可能化されたND可能化信号を有し
ていなければ、これは経路指定エンジンが利用可能な出
力リンクと一致した経路指定要求を見出すことに失敗し
たことを意味する。
T4及びT5中に、一致した全ての経路指定マスク ビッ
ト(即ち利用可能な出力リンクが存在して可能化された
マスク ビット)、及び選択された列の同報通信ビッ
ト、リンク番号及び有効ビットが右へ伝播して出力処理
列468へ入る。同報通信ビットが“オフ”であれば、ア
レイ内の最も下の可能化されたマスク ビットのみが出
力され、他の全てのマスク ビットは不能化される。
得られる経路指定選択値は、可能化された有効ビッ
ト、1つの可能化されたマスクビット(同報通信パケッ
トである場合を除く)、及び経路指定要求の同報通信ビ
ット及び入力リンク番号を有することになろう。
この分野に精通していれば、パケットが必要とする単
一の或は複数の出力リンクが話中であるかも知れないた
めに、若干のパケットは直ちに経路指定されないであろ
うことは明白である。従って、経路指定エンジン アレ
イ450の列451〜463は満たされていない経路指定要求が
記憶され使用可能な出力リンクと周期的に比較される待
ち行列として作用する。
経路指定エンジンが使用可能な出力リンクと未決経路
指定要求との一致に失敗すると、アレイによって出力さ
れるデータは不能化された“有効”ビットを有する。リ
ンク ユニット及びスイッチ内のクロスバ回路は、“有
効”ビットが不能化されているサイクル中の経路指定エ
ンジンの出力を無視する。
以下に第5図のアレイ内の各論理ブロックが如何に作
動するかを詳述する。
論理ブロック:RQ 第7図は、第5図にRQとして示されている組合せ論理
ブロック(CLB)520を示す。任意の回路ブロックが如何
に作動するかを理解するためには、先ず各ブロック毎の
入力信号が何処から到来するか、及び各回路ブロックの
出力が如何に伝送されるかを考えなければならない。
各論理ブロックの入力ラインは、各ブロックの4つの
最寄り隣接ブロック、即ち上及び下のCLB、及び左及び
右のCLB内の信号ラインに結合することができる。例え
ば、第7図においてフリップフロップ522へのデータ入
力はこのセルの左のセル内のRDY信号(RDY(左)で示
す)から得ている。
同一CLBのアレイにおいて1つのセルの出力が隣接セ
ルの入力となり、従って各セルにおいて入力信号及び出
力信号の両方に同一信号名が現われることに注目するこ
とは重要である。信号を表わすために、隣接セルから発
せられた信号には“(右)”、“(左)”或は
“(下)”のように括弧内に源の識別名を記してある。
図示CLBが生成する信号は空括弧“( )”によって示
してある。
更に、各列のCLBを2つの水平データ バスが通過し
ている。これらのデータ バスは信号を列468(第5図
参照)内の出力セルへ伝送するために使用される。これ
らのラインは、CLBのためのデータ ラインの一方だけ
が使用される場合には“データ”と名付けられ、両方が
使用される場合には“データ1"及び“データ2"と名付け
られる。第7図においてはRQセル520は一方の“デー
タ”バス ライン524だけが使用されている。データ
バス ラインはトライステート バッファ528によって
論理回路526のRDY( )出力に接続されている。後述す
るように、RDY( )信号は経路選択信号“ND可能化”
が可能化された時に限ってデータ バス上に伝送され
る。“ND可能化”は可能化された時に“0"の値を有する
負論理信号である。
回路ブロック520の動作の詳細は以下の通りである。
この回路520の左のセルからのRDY(左)信号は、もし
“COL可能化”が可能化されていれば(即ち“1"に等し
ければ)T5の終りにフリップフロップ522内へラッチさ
れる。明白なように、“RDY(左)”は回路520が位置す
る列の左の列内に記憶されている経路指定マスク ビッ
トに等しい。もし回路ブロック520が第1列451内にあれ
ば、RDY(左)は読み込まれている経路指定要求からの
“マスクx”信号の1つに等しい。この理由から、フリ
ップフロップ522の出力ライン530は“マスク( )”と
名付けてある。
整合論理回路532のブール式は 整合( )=同報通信*整合(下)*(マスク
( )+RDY(右))+同報通信*(整合(下)+マ
スク( )*RDY(右)) である。但し、“*”はブールAND関数を表わし、
“+”はブールOR関数を示し、“〜”はブールNOT関数
を意味する。上式は、もし(1)この列に記憶されてい
る要求が同報通信パケットのためのものであり、且つ、
“整合信号”が下の隣接セルによって生成されたもので
あり、且つマスク ビット“マスク( )”がオフであ
るか可用可能な出力リンク信号“RDY(右)”がオンの
何れかであれば、或は(2)この要求が非同報通信のた
めのものであり、且つ“整合”信号が下に隣接するセル
によって生成されたものであるか或はマスク ビット
“マスク( )”及び使用可能は出力リンク信号“RDY
(右)”が共にオン(即ちRDYビントがマスク ビット
に一致)であれば可能化された“整合( )”信号が出
力されることを意味する。
整合信号は制御論理セルC1及びC2に至るまで各列を上
方へ伝播する。整合条件は同報通信と非同報通信とでは
異なる。非同報通信の場合には、何れかのビットが整合
すればその列が可能化された“整合( )”信号を生成
するのに充分である。同報通信の場合には、可能化され
た真“マスク( )”ビットを有する全てのセル520
が、満たすべき要求の到来“RDY(右)”ビットと生成
すべき可能化された“整合( )”信号とに整合しなけ
ればならない。
第5図のアレイ450内の列の頂部のRQセルの場合に
は、“整合”出力信号に与えられる信号名は“整合”で
はなく“完全整合”である。アレイ内の各列の最も下の
RQセルの場合には下のセルからの入力との整合はないか
ら、“整合”論理回路のブール式は 整合(最下セル)=同報通信*(マスク( )+RD
Y(右))+同報通信*マスク( )*RDY(右) である。即ち、各列の最下RQセルの場合には、経路指定
マスク ビット“マスク( )”が使用可能ラインRDY
(右)に一致すれば非同報通信要求に対して、或は経路
指定マスク ビット“マスク( )”がオンではないか
或は対応するRDYビットがオン(即ちRDY(右)に対応す
る出力リンクが使用可能)の何れかであれば同報通信要
求に対して“整合”信号を生成する。
RDY理論回路526のブール式は RDY( )=T3*RDY*(右)(同報通信*マスク
( ))+T03*マスク( ) である。この式は、各経路指定エンジン サイクルの第
1副相中に、同報通信要求が処理中でなく且つ右側セル
のマスク ビットがオンでなければ、T03=1の時にはR
DY( )が右側セルからのRDY信号に等しいことを意味
する。換言すれば、第1クロック副相中に、同報通信要
求が要求マスク ビットがオンである行内のRDYの伝播
を禁止している場合を除いて、RDY信号はアレイの右側
から左へ伝播することが可能である。
各経路指定エンジン サイクルの第2副相中にT03=
0である場合は、RDY( )はマスクビット“マスク
( )”に等しい。即ち、第2クロック副相中に、RDY
( )信号は要求マスク ビットを1つのセルから右へ
伝播させるために使用される。
RQ論理ブロック520の動作は、他の論理ブロックの動
作を説明すれば、より明白になるであろう。
ラッチ ブロック:LN,BC,V 第8図に示す論理ブロック540は、第5図に“LN"と名
付けたブロックに対応する。この回路は、経路指定要求
に伴う入力リンク番号を構成している4ビットの中の2
つを記憶するために使用される。これらの2ビット値
は、次に左の列から、或は左端列451の場合には要求選
択回路424(第3図)から、ライン1(左)及びライン
2(左)と名付けたラインを介して受ける。その列のCO
L可能化がオンであれば、ライン1(左)及びライン2
(左)上のビット値はT5の終りに2つのフリップフロッ
プ542及び544内にラッチされる。
第1クロック副相の終り(即ちT03の終り)に“ND可
能化”が可能化(即ち“0"にセット)されていれば、フ
リップフロップ出力ライン546及び548上の信号はトライ
ステート バッファ550及び552によってデータ バス
“データ1"及び“データ2"へ結合される。換言すれば、
入力リンク番号が出力列468へ伝送される。
第9図は、第5図に“V"で示すブロックに対応する論
理ブロック560である。この回路は、経路指定要求に伴
なう“有効ビット”を記憶するために使用される。未決
経路指定要求を含む列のみが可能化された有効ビットを
有する。有効ビットは次に左の列から“有効(左)”ラ
インを通して供給される。経路指定エンジンの左端列45
1内の回路の場合には、有効(左)入力は要求選択回路4
24(第3図)から到来する。
もしその列のCOL可能化がオンであれば、ND可能化
(左)と論理的にANDされた時の有効(左)の値がT0の
始めにフリップフロップ562内へラッチされる。ANDゲー
ト 563の目的は以下の通りである。各列内のND可能化
信号は通常は“1"に等しく、従って有効(左)信号は変
化せずにANDゲート563を通過する。しかしND可能化信号
は、ある列において経路指定要求が出力されるように選
択されると“0"に等しくセットされる。爾後のサイクル
中に要求が供給してしまわないようにするために、同報
通信及び有効信号のためのシフトレジスタの入力はND可
能化(左)とANDされる。これは、ある列がある結果を
供給し、同一サイクル中に移動させるのであればその要
求は無効化され、次に右の列へ移動する時に同報通信ビ
ットがクリヤされることを意味する。
左端列451内の回路560の場合には、経路指定要求セレ
クタ424からの有効ビットはフリップフロップ562の入力
へ直接印加される。
もし第1クロック副相の終り(即ちT03の終り)にND
可能化信号が可能化(即ち“0"にセット)されれば、フ
リップフロップ出力ライン 564上の信号はトライステ
ート バッファ568によってデータ バス566へ伝送され
る。
第10図の論理ブロック570は第5図の“BC"で示すブロ
ックに対応する。この回路は経路指定要求に対応付けら
れた同報通信ビットを記憶するために使用される。同報
通信ビットは同報通信要求に対して“1"に等しく、非同
報通信要求に対して“0"に等しい。同報通信ビットは、
次に左の列から“同報通信(左)”ラインを通して印加
される。左端列451内の回路570の場合には、“同報通信
(左)”入力は経路指定表422(第3図)から印加され
る。
もしその列のCOL可能化信号がオンであれば、同報通
信(左)のビット値はND可能化(左)信号と論理的にAN
Dされ、T0の始めにフリップフロップ572内にラッチされ
る。その結果、COL可能化信号がオンであり、左からの
列内のデータが右へ移動し、且つその列内のその経路指
定要求が出力として選択されれば、その要求内の同報通
信ビットはフリップフロップ572内へ記憶される時にオ
フになる。可能化された同報通信ビットは、RDY信号が
要求内のマスク ビットがオンである行を横切って伝播
することを停止させるので、無効要求内の同報通信ビッ
トをオフならしめることは重要である。しかし同報通信
ビットがオフであれば、RDY信号はオンであるマスク
ビットによって停止されることはない。
左端列451内の回路570の場合には、経路指定表422か
らの同報通信ビットはフリップフロップ572の入力に直
接印加される。
同報通信ビットは次に右の列及び該ビットが記憶され
ている列の上方の両者へ伝送される。第7図に示すよう
に、同報通信回路570の上の各RQ論理ブロック520は同報
通信ビットをその整合回路532及びRDY回路526への入力
の1つとして使用している。
もし第1クロック副相の終り(即ちT03の終り)にND
可能化信号が可能化(即ち“0"にセット)されれば、フ
リップフロップ出力ライン 574上の信号はトライステ
ート バッファ578を通して同報通信データ バスへ伝
送される。
論理ブロック:C1 各列の頂部にある論理制御回路C1及びC2は各経路指定
エンジン サイクルの第1副相の終り(即ちT03の終
り)に2つの判断を行う。即ち(1)列に含まれている
要求が満たされたか否か、及び(2)左の列からの(或
は第1列451の場合には経路指定表422からの)データを
列にロードするか否かを判断する。もし要求が満たさ
れ、可能化されたND可能性信号によって表わされるよう
に出力として選択されれば、列のマスクが水平データ
バスを通して経路指定エンジンの出力段(第5図の列46
8)へ送られる。
第11図の論理ブロック600は第5図のブロック“C1"に
対応する。この回路は、この回路600を含む列が満たさ
れた要求を含むか否か、及びこの列のマスクをデータ
バスによって出力段へ伝送すべきか否かを判定する。1
つの列は、もしそのマスクが有効であれば、もしその内
容がRDYラインと一致していれば、及びもし右側のどの
列もマスクをデータ バスに供給していなければ、その
マスクをデータ バスに供給する。マスクを出力段へ供
給する列は経路指定要求が満たされたことを表わし、経
路指定待ち行列から除かれる。
“応答済み”論理回路602のブール式は 応答済み( )=応答済み(右)+有効( )*完全
整合 である。
信号“応答済み( )”はC1セルを通して右から左へ
伝播して、右の列が現経路指定エンジン サイクル中に
経路指定選択を供給することを表わす。もし受信した応
答済み(右)信号がオンであれば、応答済み論理回路60
2は自動的にその信号を複製する。もし受信した応答済
み(右)信号がオンでなければ、その列が有効要求を含
み且つ完全整合信号がその列のRQセルによって生成され
ている場合に限って応答済み( )がオンにセットされ
る。
ND可能化論理回路604のブール式は ND可能化:=(有効( )*完全整合*応答済み
(右)) である。但し“:=”操作は、この項がT3の終りにフリ
ップフロップ606内にラッチされることを表わす。
上式は、有効要求がRDYリンク使用可能信号と一致し
てはいるが、右の列からの応答済み(右)信号がオフで
ある場合に限ってND可能化信号が“低”になることを意
味する。ND可能化信号が“低”になると第7図乃至第10
図に示す全てのトライステート バッファが使用可能と
なるので、この列の経路指定要求は水平データ バスを
介して列468内の出力回路へ伝達されるようになる。
NVALIDRQ信号はアレイ内の何れかの列がND可能化信号
を供給するとトライステート ドライバ608によって
“低”くされる。NVALIDRQ信号は、アレイ内のどの列も
ND可能化信号を発生していない場合には、プルアップ抵
抗によって“高”へ引き上げられる。NVALIDRQ信号は、
後述するように経路指定エンジンの最終出力を生成する
論理回路によって使用される。
論理ブロック:C2 第12図の論理ブロック610は第5図の“C2"ブロックに
対応する。この回路は、この回路610を含む列が左の列
からデータをロードされているか否かを判断するために
使用される。
COL可能化論理回路612のブール式は ロード済み( )=有効+ロード済み(右)+
答済み(右)*完全整合 である。
ロード済み( )信号はフリップフロップ614内に記
憶され、その出力はANDゲート616によってクロック信号
T4とANDされてフリップフロップ618内へ記憶される。フ
リップフロップ618の出力が列可能化信号“COL可能化”
であり、これはT5中のみロード済み( )信号に等し
い。COL可能化信号はクロック相T5の間だけ可能化され
るから、データはT5の終りに、即ち現経路指定エンジン
サイクルの終りで且つ次の経路指定エンジン サイク
ルの始めに左の列からロードされる。
新要求をアレイ450内に挿入する際、満たされていな
い或は無効要求を含む列はこの経路指定要求を受入れる
ために右へ移動させなければならない。ロード済み信号
はアレイ450のC2制御区分を通して右から左へ伝播す
る。一般的に言えば全ての列は各サイクル中に右に移動
するが、アレイの右側にあって満たされていない要求を
保持する列を除く。
詳述すれば、各列は若干の条件が満たされればその左
の列からのデータがロードされる(最左端の列は経路指
定表422からロードされる)。即ち、 (1)有効:もしその列が無効要求を含んでいれば、
その列は左の列からのデータで重ね書きされる。或は (2)ロード済み(右):右のある列はその左の列か
らデータをロードされよう。或は (3)応答済み(右)*完全整合:列内の経路指定
要求は満たされ、出力として選択されている。
もし1つの列が結果を供給し、その右側の列が移動し
なければ、要求はその左の列の内容によって重ね書きさ
れる。一方もしアレイが、結果を供給している列の右の
列への無効要求を含んでいれば、即ち満たされた要求は
1列だけ右へ移動し、アレイ内に留まる。
この要求が爾後のサイクル中に結果を供給しないよう
にするために、第9図及び第10図に示すように同報通信
及び有効甲シフトレジスタの入力はND可能化(左)信号
とANDされるのである。これは、もしある列が同一サイ
クル中に結果を供給して移動すれば、この結果は無効化
され、その同報通信ビットは次に右の列内へ移動する時
にクリヤされる。
論理ブロック:0,0′及びRG 第13図及び第14図に示されているアレイ右端の論理ブ
ロック630(0),640(0′)及び650(RG)は経路指定
エンジンの最終出力を発生し、スイッチの出力リンク
ユニットからRDYマスク(即ちリンク可用性マスク)を
受ける。アレイの各行内の機能ブロック630はその行の
最終出力を生成する。機能ブロック630は、選択された
出力リンクを指定する出力を供給する第1行から出力機
能ブロックの列を上方へ伝播する“禁止”信号も生成す
る。禁止信号の目的は、非同報通信要求に応答して1つ
のマスク ビットのみが出力されるようにすることであ
る。
VALIDBC信号は全ての出力ブロック630へ供給される。
この信号は、有効同報通信要求がアレイの出力に存在す
ることを表わす。VALIDBCは、ANDゲート(図示せず)に
よって生成され、次のブール式によって表わされる。
VALIDBC=NVALIDRQ*同報通信データ “出力”論理ブロック632のブール式は 出力:=(禁止(下)+VALIDBC)*RDYデータ である。但し“:=”操作は出力信号がT5の終りにフリ
ップフロップ634内にラッチされることを表わす。
“禁止”論理ブロック636のブール式は 禁止=禁止(下)+RDY*データ である。
アレイ内のある列が有効同報通信要求の結果としてそ
のマスクを供給する場合、経路指定要求内の全てのビッ
トがRDYマスク内のビットと一致しているので、これら
のビットは出力バス470へ引渡される。従って有効同報
通信要求に対しては出力論理ブロック632によって“禁
止”信号は無視される。
非同報通信の場合には、経路指定要求マスク(デー
タ)はRDYマスクとANDしなければならず、得られたビッ
トの1つのみを最終経路指定選択値の一部として供給し
なければならない。これを達成するために、RDYマスク
と一致する経路指定マスク ビットを有するアレイの最
下部から始まる第1行によって禁止信号が生成される。
禁止信号を発生する第1行の上の全ての行は、出力を発
生することを禁止される。
アレイのどの列も結果を発生していない場合に経路指
定エンジンが不正確に出力を引渡すことがないように、
ブロック600(C1)が生成した信号“NVALIDRQ"が禁止
(下)信号として出力列(468)の第1(最下)セル630
へ供給される。NVALIDRQは、アレイが結果を発生しない
時に限り“高”である。この禁止信号は出力セルの列を
上方へ伝播し、全ての出力の生成を禁止する。
最終出力は各経路指定エンジン サイクルの終り(即
ちクロックT5の終り)にフリップフロップ634内にラッ
チされ、次の経路指定エンジン サイクルの相T1中に出
力ライン ドライバ638によって経路指定エンジンの出
力ライン470上へ供給される。
第14図を参照する。リンク番号、同報通信データ及び
経路指定エンジンの有効ビット行のための出力セル640
(0′)は、これらの各信号のためのラッチ即ちフリッ
プフロップ642及び出力ライン ドライバ644を有する。
有効ビット行の場合には、ラッチ642内にラッチされる
信号はブロックC1(600)内のトライステート ドライ
バ608により生成されたNVALIDRQ信号である。これらの
各行内の最終出力は各経路指定エンジン サイクルの終
り(即ちクロックT5の終り)にフリップフロップ642内
にラッチされ、次の経路指定エンジン サイクル中のT1
中に出力ライン ドライバ644によって経路指定エンジ
ンの出力ライン470上へ供給される。
第13図に示す出力リンク ユニットによって供給され
るRDY信号(即ち可用性マスク)は、経路指定エンジン
が直接使用することはできない。これは、ルータ218が
パイプライン化された回路の故である。もし経路指定エ
ンジンが特定出力リンクを使用して出力を供給すれば、
その出力リンクは次の経路指定エンジン サイクル中に
使用する準備が整っていない(即ち使用不能)と見做さ
れるようにしなければならない。これは、経路指定エン
ジンの列451〜463内の経路指定要求の待ち行列に引渡す
前に入RDYマスクを出力マスクの補数とANDすることによ
って達成する。
RDY信号回路(RG論理ブロック)650のためのブール式
は RDY=RDY(ラッチ済み)*出力 である。但しRDY(ラッチ済み)は各経路指定エンジン
サイクルの始め(即ち、T0の始め)にフリップフロッ
プ652内にラッチされるRDYリンク可用性値である。
経路指定エンジン性能 好ましい実施例においては、経路指定エンジンの動作
の第1副相のための最長組合せ通路は約270ナノ秒であ
る。これは、RDY信号がアレイを横切って伝播するため
に、整合信号がアレイを上方に伝播するために、応答済
み信号がアレイがアレイを横切って左方へ伝播するため
に、及びCOL可能化信号及びND可能化信号を生成するた
めに要する最大時間量が約270ナノ秒であることを意味
する。
第2副相のための最長組合せ通路は約150ナノ秒であ
る。
好ましい実施例は、結果がラッチされる前に全ての信
号が整定するための時間を有するようにする伝統的な設
計を使用している。その結果、第1副相は4×80nSのク
ロック サイクル(T0乃至T3)の合計320nSを使用し、
第2副相は2×80nSのクロック サイクル(T4乃至T5)
の合計160nSを使用する。従って経路指定エンジンの合
計クロック サイクル時間は480nSである。第6図のタ
イミング図を参照されたい。
変形実施例 経路指定エンジンを実現するために使用したシリンク
ス3090アレイは比較的高価な集積回路である。本発明を
大量生産する場合、経路指定エンジン430はカストマイ
ズされた集積回路を使用して実現されるものと考えられ
る。カストマイズされた集積回路は経路指定エンジンの
価格は、特注回路の設計及びツーリング(即ち集積回路
マスク製造用)のための初期技術費用を無視すれば、90
%以上低下するものと推定される。
特注集積回路を使用する他の長所は、より高い動作速
度、12より多い外部リンク ポートを有するスイッチの
取扱い能力、及び回路に付加的な特色を付加する能力を
含む。シリンクス アレイは比較的低速の論理回路を使
用している。経路指定エンジンが毎秒約200万の経路指
定選択を行い得るにも拘わらず、ネットワーク伝送速度
が毎秒100万ビットを超えるまで増大した時にはより高
速な性能を望む可能性さえある。
本実施例に使用したシリンクス アレイは20論理ブロ
ックの16列を有する。その結果、経路指定エンジン430
がSCPのためのポートを含む14ポートを有するスイッチ
を取扱い得るように、第5図に示すアレイに1以上の列
及び1以上の行を付加することが可能である。(好まし
い実施例においてはスイッチは13ポートを有する。特注
回路を使用すれば、より多くのポートを有するスイッチ
を取扱うように論理要素のアレイを更に拡張することが
できよう。
以上に本発明を若干の特定実施例に関して説明した
が、この説明は本発明を例示するためになされたもので
あり、本発明を限定するものではない。当業者ならば本
発明の思想及び範囲から逸脱することなく種々の変更を
考案し得よう。
【図面の簡単な説明】
第1図は本発明により小さい網状に接続されたネットワ
ークのブロック線図であり、 第2図は好ましい実施例に使用されているスイッチのブ
ロック線図であり、 第3図は第2図のスイッチに使用されているルータ装置
のブロック線図であり、 第4図は経路指定要求を表わすデータを示し、 第5図はパケット経路指定選択を行う経路指定エンジン
の好ましい実施例のブロック線図であり、 第6図は第5図及び第7図乃至第13図のためのタイミン
グ図であり、 第7図は経路指定要求の一部とリンク可用性データとの
一致を検出する回路セルのブロック線図であり、 第8図乃至第10図はそれぞれ入力リンク番号、有効ビッ
ト及び同報通信ビットを記憶し移動させるために使用さ
れているラッチ回路のブロック線図であり、 第11図及び第12図は特定バス要求に対して経路指定選択
を行うことが可能であるか否かを判定するための2つの
論理回路のブロック線図であり、 第13図は出力回路のブロック線図であり、 第14図は第2の出力回路のブロック線図である。 100……ネットワーク、210……スイッチ、212……非閉
塞クロスバ スイッチ、214……リンク制御ユニット
(スイッチ ポート)、214a……リンク ユニット、21
5……全二重リンク、216……スイッチ制御プロセッサ
(SCP)、218……ルーク(経路指定論理回路)、220…
…入力リンク ユニット(Rx)、222……出力リンク
ユニット(Tx)、420……レジスタ、422……経路指定
表、424……経路指定要求セレクタ、430……経路指定エ
ンジン、435……制御回路、450……経路指定エンジン
アレイ、520……RQ論理ブロック、522,542,544,572,60
6,614,634,642,652……フリップフロップ、526……RDY
論理回路、528,550,552,568,578,608……トライステー
ト バッファ(ドライバ)、532……整合論理回路、540
……LN論理ブロック、560……V論理ブロック、563,616
……ANDゲート、570……BC論理ブロック、600……C1論
理ブロック、602……応答済み論理回路、604……ND可能
化論理回路、610……C2論理ブロック、612……COL可能
化論理回路、630……0論理ブロック、632……出力論理
回路、636……禁止論理回路、638,644……ライン ドラ
イバ、640……0′論理ブロック、650……RG論理ブロッ
ク。
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平1−141445(JP,A) 特開 昭63−229941(JP,A) 特開 昭62−104241(JP,A)

Claims (9)

    (57)【特許請求の範囲】
  1. 【請求項1】共有システム資源の予め定められた組を受
    信した資源要求に割当てる資源割当て装置であって、各
    資源要求が前記共有システム資源の予め定められた組の
    部分集合を示しており、少なくとも前記受信した資源要
    求のいずれかにおいて、前記示された部分集合が複数の
    前記共有システム資源からなる、資源要求を受信する要
    求受信手段と、割当てに利用可能な共有システム資源の
    予め定められた組のものからなる一組の利用可能資源を
    示す可用性手段と、前記要求受信手段に結合されてお
    り、該要求受信手段によって受信された順番で該要求受
    信手段により受信した該資源要求を記憶する待ち行列手
    段と、前記待ち行列手段及び前記可用性手段に結合され
    ており、前記待ち行列手段に記憶された前記資源要求を
    前記利用可能資源の組と順次比較し、前記比較の結果に
    より前記利用可能資源の組を突き合わせるべく前記資源
    要求の最初の資源要求を選択し、先着順配慮に基づいて
    前記利用可能資源の組を前記資源要求に割当てるように
    前記資源要求が選択された後に前記待ち行列から資源要
    求を削除する選択手段とを備えることを特徴とする資源
    割当て装置。
  2. 【請求項2】前記選択手段は、同報通信要求によって示
    された前記資源を予約し、かつ同報通信要求に続く資源
    要求を前記同報通信要求によって示された前記資源のい
    ずれにも突き合わせることから阻止する資源予約手段を
    含むことを特徴とする請求項1に記載の資源割当て装
    置。
  3. 【請求項3】前記資源要求のそれぞれは、前記資源要求
    は、前記資源要求によって示された共有システム資源の
    前記予め定められた組の前記部分集合の全ての使用を要
    求する同報通信要求であることを示す手段を含み、当該
    手段は、更に、前記資源要求が、前記要求によって示さ
    れた共有システム資源の前記予め定められた組の前記部
    分集合の一つだけの使用を要求する非同報通信要求であ
    ることを示すことができることを特徴とする請求項1に
    記載の資源割当て装置。
  4. 【請求項4】予め定められた共有システム資源の一組を
    受信した資源要求に割当てる資源割当て方法であって、
    少なくとも前記受信した資源要求のいずれかにおいて、
    示された部分集合が複数の共有システム資源からなり、
    それぞれが該共有システム資源の予め定められた組の部
    分集合を示す資源要求を受信して、割当てに利用可能な
    共有システム資源の予め定められた組を含んでいる利用
    可能資源の一組を示し、前記資源要求が受信された順序
    で前記受信された資源要求を記憶し、前記記憶された資
    源要求を前記利用可能資源の組と順次比較し、前記比較
    の結果により前記利用可能資源の組を突き合わせるべく
    前記記憶された資源要求の最初の資源要求を選択し、先
    着順配慮に基づいて前記利用可能資源の組を前記資源要
    求に割当てるように、前記資源要求が選択された後に前
    記待ち行列手段から資源要求を削除する段階を具備する
    ことを特徴とする資源割当て方法。
  5. 【請求項5】前記方法は、更に、同報通信要求によって
    示された前記資源を予約し、同報通信要求に続く資源要
    求を前記同報通信要求によって示された前記資源のいず
    れにも突き合わせることから阻止する段階を具備するこ
    とを特徴とする請求項4に記載の資源割当て方法。
  6. 【請求項6】前記方法は、前記資源要求が、前記資源要
    求によって示された共有システム資源の前記予め定めら
    れた組の前記部分集合の全ての使用を要求する同報通信
    要求であることを示し、前記資源要求が、前記要求によ
    って示された共有システム資源の前記予め定められた組
    の前記部分集合の一つだけの使用を要求する非同報通信
    要求であることを示す段階を具備することを特徴とする
    請求項4に記載の資源割当て方法。
  7. 【請求項7】各スイッチがデータパケットを受信するた
    めの多数の入力リンク及びデータパケットを送信するた
    めの多数の出力リンクを有しており、網状に接続された
    ネットワークの該スイッチのそれぞれで使用する経路指
    定装置であって、データパケット経路指定要求のそれぞ
    れが対応するデータパケットを送信するための一組の出
    力リンクを示し、少なくとも前記受信した資源要求のい
    ずれかにおいて、前記示された組が複数の前記出力リン
    クからなる、データパケット経路指定要求を受信する要
    求受信手段と、データパケットを経路指定するために利
    用可能な前記出力リンクの一組を示す可用性手段と、前
    記要求受信手段に結合されており、当該要求受信手段に
    よって受信された順序で前記データパケット経路指定要
    求を記憶する待ち行列手段と、前記待ち行列手段及び前
    記可用性手段に結合されており、前記データパケット経
    路指定要求を前記使用可能出力リンクの組と順次比較
    し、前記比較の結果により前記利用可能出力リンクの組
    を突き合わせるべく前記データパケット経路指定要求の
    最初のものを選択し、先着順配慮に基づいて利用可能出
    力リンクを経路指定要求に割当てるように前記データパ
    ケット経路指定要求が選択された後に前記待ち行列手段
    からデータパケット経路指定要求を削除する選択手段と
    を備えることを特徴とする経路指定装置。
  8. 【請求項8】前記選択手段は、更に、同報通信要求によ
    って示された前記出力リンクを予約し、かつ同報通信要
    求に続くデータパケット経路指定要求を前記同報通信要
    求によって示された前記出力リンクのいずれにも突き合
    わせることから阻止する資源予約手段を含むことを特徴
    とする請求項7に記載の経路指定装置。
  9. 【請求項9】前記データパケット経路指定要求のそれぞ
    れは、前記データパケット経路指定要求が、前記データ
    パケット経路指定要求によって示された前記出力リンク
    の組の全ての使用を要求する同報通信要求であるかどう
    かを示し、かつ前記データパケット経路指定要求が、前
    記データパケット経路指定要求によって示された前記出
    力リンクの組の一つだけの使用を要求する非同報通信要
    求であるかどうかを示すことを特徴とする請求項7に記
    載の経路指定装置。
JP16397790A 1989-06-22 1990-06-21 高速網状接続特定区域内情報通信網のための経路指定装置及び方法 Expired - Fee Related JP2502170B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US370248 1982-04-20
US37024889A 1989-06-22 1989-06-22

Publications (2)

Publication Number Publication Date
JPH0332253A JPH0332253A (ja) 1991-02-12
JP2502170B2 true JP2502170B2 (ja) 1996-05-29

Family

ID=23458846

Family Applications (1)

Application Number Title Priority Date Filing Date
JP16397790A Expired - Fee Related JP2502170B2 (ja) 1989-06-22 1990-06-21 高速網状接続特定区域内情報通信網のための経路指定装置及び方法

Country Status (5)

Country Link
EP (1) EP0404339B1 (ja)
JP (1) JP2502170B2 (ja)
AT (1) ATE161982T1 (ja)
CA (1) CA2011399C (ja)
DE (1) DE69031885T2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5309433A (en) * 1992-06-18 1994-05-03 International Business Machines Corp. Methods and apparatus for routing packets in packet transmission networks
DE4232652C2 (de) * 1992-09-29 1994-06-09 Siemens Ag Verfahren zur Zuteilung von vermittlungstechnischen Ressourcen in einem im Asynchron-Transfer-Modus wirkenden Kommunikationssystem
ATE210907T1 (de) * 1992-11-19 2001-12-15 Ibm Funktionsverteilung im paketvermittlungsnetz
US5453978A (en) * 1994-04-04 1995-09-26 International Business Machines Corporation Technique for accomplishing deadlock free routing through a multi-stage cross-point packet switch
AUPQ128699A0 (en) 1999-06-30 1999-07-22 Telefonaktiebolaget Lm Ericsson (Publ) A scalable computer system
US9749220B2 (en) * 2014-09-19 2017-08-29 Telefonaktiebolaget L M Ericsson (Publ) Automated determination of tree attributes and assignment of receiver identifiers by distributed election in multicast architectures relying on packets identifying intended receivers

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4742511A (en) * 1985-06-13 1988-05-03 Texas Instruments Incorporated Method and apparatus for routing packets in a multinode computer interconnect network
JPH0691532B2 (ja) * 1985-10-31 1994-11-14 日本電信電話株式会社 同報通信用のル−テイングテ−ブル作成方式
US4679189A (en) * 1985-11-27 1987-07-07 American Telephone And Telegraph Company Alternate routing arrangement
JP2518264B2 (ja) * 1987-03-18 1996-07-24 日本電気株式会社 ネットワ−ク回線割当方式
JPH01141445A (ja) * 1987-11-27 1989-06-02 Canon Inc データ伝送方式

Also Published As

Publication number Publication date
EP0404339A3 (en) 1994-08-03
EP0404339B1 (en) 1998-01-07
CA2011399A1 (en) 1990-12-22
ATE161982T1 (de) 1998-01-15
CA2011399C (en) 1998-05-19
EP0404339A2 (en) 1990-12-27
JPH0332253A (ja) 1991-02-12
DE69031885D1 (de) 1998-02-12
DE69031885T2 (de) 1998-06-10

Similar Documents

Publication Publication Date Title
US5179558A (en) Routing apparatus and method for high-speed mesh connected local area network
EP0404337B1 (en) High-speed mesh connected local area network
EP0405989B1 (en) Message routing
EP0405990B1 (en) Message routing
US7366190B2 (en) Fibre channel arbitrated loop bufferless switch circuitry to increase bandwidth without significant increase in cost
US7385972B2 (en) Fibre channel arbitrated loop bufferless switch circuitry to increase bandwidth without significant increase in cost
JP6556450B2 (ja) 複数の処理エンジンを相互接続するオンチップルータのマトリックスおよびこれを用いるルーティング方法
US6633580B1 (en) N×N crossbar packet switch
US5418781A (en) Architecture for maintaining the sequence of packet cells transmitted over a multicast, cell-switched network
US20040160970A1 (en) Methods and apparatus for event-driven routing
US20060039370A1 (en) Low latency switch architecture for high-performance packet-switched networks
JPH0653996A (ja) パケットスイッチ
US9667564B2 (en) Implementing hierarchical high radix switch with timesliced crossbar
JPH10190710A (ja) アクセス調停方法
US5422881A (en) Message encoding
KR100905802B1 (ko) 컴퓨터 시스템의 입력/출력 노드에서 태깅 및 중재 매카니즘
JPH05241947A (ja) 分散クロスバー・スイッチ・アーキテクチャにおける交換接続の配列。
JP2502170B2 (ja) 高速網状接続特定区域内情報通信網のための経路指定装置及び方法
US7085913B2 (en) Hub/router for communication between cores using cartesian coordinates
CN114185841A (zh) 一种片上网络信用饥饿控制装置
JPH0638608B2 (ja) パケット・スイッチング・多重キュ−n×mスイッチ・ノ−ド及び処理方法

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees