JPS6084661A - 経路指定装置 - Google Patents

経路指定装置

Info

Publication number
JPS6084661A
JPS6084661A JP59109776A JP10977684A JPS6084661A JP S6084661 A JPS6084661 A JP S6084661A JP 59109776 A JP59109776 A JP 59109776A JP 10977684 A JP10977684 A JP 10977684A JP S6084661 A JPS6084661 A JP S6084661A
Authority
JP
Japan
Prior art keywords
message
message packet
address
routing
memory
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.)
Granted
Application number
JP59109776A
Other languages
English (en)
Other versions
JPH0797362B2 (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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Publication of JPS6084661A publication Critical patent/JPS6084661A/ja
Publication of JPH0797362B2 publication Critical patent/JPH0797362B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8007Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors
    • G06F15/8023Two dimensional arrays, e.g. mesh, torus
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8007Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors
    • G06F15/803Three-dimensional arrays or hypercubes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Multi Processors (AREA)
  • Microcomputers (AREA)
  • Image Processing (AREA)
  • Small-Scale Networks (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔発明の背景〕 本発明は、並列プロセッサを用いるコンピュータ、特に
、従来よりも非常に数多くの並列プロセッサを用いるコ
ンピュータに関する。
典型的なデジタルコンピュータは、中央処理装置(CP
U)、データを記憶するメモリ及びコンピュータを制御
するためのプログラム、そして、種々の入出力装置とを
持つ。記憶されたプロクラムは、CPUが、コンピュー
タに入力されるデータに基づいて、計算、転送、または
論理演算を行なうようにするための一連の指令となる。
このようなデータは、究極的には入力装置からコンピュ
ータに入れられ、CPU演算の結果は、出方装置に供給
される。典型的なコンピュータでは、この一連の指令は
、一時に一つずつ直列的に行なわれる。
デジタルコンピュータか用いられてきた40年余りの間
に、コンピュータ及びそれを動かすプログラムはより複
雑になってきた。直列式コンピュータにおける複雑さは
、そのメモリ及びそこに記憶されるプログラム及び/又
はデータの規模が大きくなってきたことで増してきてい
る。しかし、ある意味では、これらのより複雑化した直
列式コンピュータは、より効率の悪いものになってきて
いる。どの時間にも、直列式コンピュータのごくわずか
な部分が利用されているたけである。何故なら、CPU
によって実行される命令は、二、三のメモリロゲーショ
ンからしが得られず、また、データを二、三の他のロゲ
ーションに向けるのみである。さらに、コンピュータが
、そのメモリの規模において機能が良くなるにつれ、メ
モリがら出力を発生する能力の点では、にぶくなってぎ
ている。何故なら、メモリからデータを検索するのに要
する時間は、メモリに記憶したデータの量と共に増加す
るからである。。
直列式コンピュータにおけるこれらの問題点は、直列式
コンピュータの初期における発達に多大な貢献をしたジ
ョン・フォンニューマンの名前をとって、フォンニュー
マン障害と呼ばれてきた。J.バッカスによる論文「プ
ログラミングをフォンニューマン形式がら開放出来るか
?」(ACMの通信第21巻第8号、第613ベージ、
1978年8月)を参照されたい。
これらの問題点は、コンピュータを用いて、意味結合ネ
ットワークとよばれる相互関係ネットワークに記憶され
た知識を検索することの多い人工知能の分野において、
特に深刻である。この知識を検索するために、ネットワ
ーク全体を探査することもあり得る。また、他の記憶さ
れた情報から、希望する事実を推論しなげれはならない
こともあるだろう。このような検索を行なうために、二
、三の単純な演算を、プログラムの演算時間の大部分に
わたって何回も繰り返すことになる。この演算は下記の
ことを含む。
1、大きさ又は数学的順序といったパラ−メータに従っ
て一組のデータを分類する。
2、特定の構造を持つサブセット又はサブグラフのため
にデータ又はグラフの指定された絹み合わせを探索する
3、捉言の組み合わせに対してパターンの突き合わせを
する。
4、記憶されている情報の意味結合ネットワークから事
実を推論する。
このような演算を一時に一つすつ行なうことは、コンピ
ュータの時間及び機能という点て非常な浪費となる。そ
の結果、人工知能における多数の問題か、現在入手可能
な直列式コンピュータでは、アドレスされないでいる。
しかし、これらの問題は、解決策を緊急に要する、例え
ば、画像処理のような基本的な問題なのである。
換言すると、このような演算を並行して行なうことが出
来れば、演算に要する時間を減少させることが出来る。
このようなことの有利さは良く認識されている。例えば
、[VLSI方式の導入]第8章におけるC.ミード及
びL.コンウェイの「高度兼用方式」(アヂソンウエズ
レー、1980年)、及びその中に引用された参考文献
、W.D.ヒリスによる「結合装置」(マサチュセッッ
工科大学人工知能研究室メモ、第646番、1981年
9月)、及びその中に引用されている参考文献、そして
、A.ローゼンフェルドによる論文「細胞状アレイを用
いる並行画像処理」(「コンピュータ」第16巻、第1
号、第14ページ、1983年1月)を参照すると良い
程度の差はあるが、これらの文献では、データの並行演
算を行なうための装置についての一般概念を述へている
。例えば、ヒリスとローゼンフエルドは、同一のプロセ
ッサ/メモリのアレイで、それぞれがデータを記憶する
に必要なハードウェアと、それを処理摺るハードウェア
とを持つものを考えている。しかし、プロセッサ/メモ
リとその制御との相互結合を含む完全演算コンピュータ
について明確な詳細を述べることがこれらの論文の目的
ではない。
〔発明の要約〕
我々は、プロセッサ/メモリのアレイ、及び、データを
アレイ内の1つのプロセッサ/メモリから他のプロセッ
サ/メモリへ送るための少なくとも2°個のノードを持
つn−次元パターンで、それらのプロセッサ/メモリを
相互結合させる手段からなる並行プロセッサアレイを考
案した。都合の良いことに、n−次元パターンは、15
次元のプール立方体である。
各プロセッサ/メモリは、読み出し/書き込みメモリと
、少なくとも一部は読み出し/書き込みメモリで読んだ
データ及び命令情報とに基づく出力を作るプロセッサと
からなる。相互結合手段は、メッセージパケット内のア
ドレス情報に従って、1つのプロセッサ/メモリから他
のプロセッサ/メモリへ径路指定されるアドレスされた
メソセージパケットを生成する手段と、パケット内のア
ドレス情報に従ってメッセージパケットを径路指定する
ためにn−次元パターン内の各ノードにある径路指定回
路とからなる。
本発明の好ましい実施例では、プロセッサ/メモリは、
2次元パターンでも相互結合され、その場合は、各プロ
セッサ/メモリは、2次元パターンで隣り合わせている
プロセッサ/メモリと直接相互結合される。
現在可能な技術では、そのようなプロセッサ/メモリは
、これらの相互結合手段で結合させると、100万個以
上も並行して操作できる。
メッセージパケット内のアドレス情報は、メッセージパ
ケットが送られるノードに対して相対であり、アドレス
の各数字が、メッセージパケットの、メッセージパケッ
トが送られるノードからの1次元における相対変位を意
味していることが望ましい。n−次元の各次元に対して
、径路指定回路が、メッセージパケットがその次元内の
行き先に到達したかどうかを決め、もし到達せず、また
、その次元内の他のノードが使用出来る場合には、その
ノードへ径路指定するための論理を作る。最初の行き先
決穴論理から他のノードへの結合が不可能な時、または
、最初の行き先決穴論理が、メッセージパケットがその
次元内の行き先に到達したと決定した時には、径路指定
回路が、メッセージパケットが、第2の次元での行き先
に到達したかどうかを決定するための似たような論理に
メッセージパケットを導く。さらに、径路指定回路は、
行き先ノードに到達したメッセージパケットをそのノー
ドのプロセッサ/メモリに導く論理と、接続抵触によっ
て径路指定出来なかったメッセージパケットを記憶する
手段とを含む。
好都合なことに行き先決定論理及び各次元の径路指定論
理は、n−次元パターンの全てのノードにわたって同時
に演算される。その結果、メッセージパケットは、単一
の径路指定サイクルの間にn−次元パターン全体に径路
指定される。加えて、各径路指定回路は小さいので、数
個のプロセッサ/メモリと共に1個の非積回路チップ上
に組み立てられる。
〔好適実施例の説明〕
読者の便宜のため、本発明の好ましい実施例の説明を、
下記の区分に分ける。
A、システムの全体的説明 B、並行処理ICの全体的説明 C,プロセッサ/メモリの説明 D、通信インタフェース装置の説明 E、径路指定回路の説明 F、例 G、代替案 A、システムの全体的説明 第1A図に示されるように、本発明は、本体コンピュー
タ10、マイクロコントローラ20、並行処理集積回路
35のアレイ30、データソース40、第1バッフア及
びマッチプレクサ/デマルチプレクサ50、第1、第2
、第3及び第4の双方向パス制御回路60.55、70
.75、第2バッファ及びマッチプレクサ/デマルチプ
レクサ80、及び、データシンク90を含むコンピュー
タシステムにおいて実行される。本体コンピュータ10
は、デジタル装置会社(Digital Equipm
ent Corp.)製造のVAXコンピュータのよう
な、適合するようにプログラムされ、市販されている汎
用コンピュータでよい。
マイクロコントローラ20は、32ビット並列バス22
によってアレイ30に与えられる命令の順序付けをする
ための従来からあるデザインの命令シーケンサである。
バス22中の32回線の1回線は、アレイ30にRES
ET信号を与え、3回線はタイミング信号を出し、他の
28回線は、命令の伝送に使われる。アレイ30の各並
行処理IC35をアドレス指定するための追加のアドレ
ス指定信号は、バス24上のアレイに与えられる。マイ
クロコントローラ20は、アレイ30から回線26上の
信号を受け取る。この信号は、データ出力及び状態情報
として用いることの出来る一般目的または大域的信号で
ある。
バス22及び回線26は、各IC35に並列に接続され
る。その結果、マイクロコントローラ20からの信号は
、アレイ30内の各IC35に同時に与えられ、回線2
6上のマイクロコントローラ20に与えられる信号は、
アレイのIC35の全てからの信号出力を統合して形成
される。
アレイ30は、32,768(=215)個の同一なI
C35を持ち、各IC35は32(=25)個の同一プ
ロセッサ/メモリ36を持つ。このようにして全体のア
レイ30は1,048,576(=220)個の同一プ
ロセッサ/メモリ36を含む。
プロセッサ/メモリ36は、2つの形状寸法に構成され
、相互結合される。一番のものは、従来からある2次元
の格子パターンで、プロセッサ/メモリは方形アレイ内
に構成され、アレイ内の最も近くにある4個のプロセッ
サ/メモリに接続される。第2のものは、15次元のプ
ールn−次元立方体である。2次元の格子パターンのプ
ロセッサ/メモリを接続するには、アレイ30のIC3
5を256(=28)行と128(=23)列の長方形
アレイに構成し、各ICの32のプロセッサ/メモリは
、4(=22)行で8(=23)列の長刀形アレイ内に
接続される。その結果、アレイ30の1,048,57
6個のプロセッサ/メモリ36が、1024(=210
)行と1024列の正方形内で接続される。便宜上、こ
の出力形のアレイの側面を、北、東、南及び西とする。
各プロセッサ/メモリをその最も近くにある4個のプロ
セッサ/メモリに接続するには、各プロセッサ/メモリ
を、各行、各列の隣接するプロセッサ/メモリとの間を
電気感体で接続すれば、アレイの端にあるもの以外のI
Cの最も近くにある4個のICを、それぞれ北、東、南
及び西の隣接する4個のICであると認識されるように
なる。
2次元アレイの列及び行にある各プロセッサ/メモリは
、第1次元での列番号又は位置を表わすために最初の数
字を、また、2次元での行番号又は位置を表わすために
二番目の数字を用いて系統的に番号付けをすることによ
って識別しても良い。
例えば、もし、左端又は最西端の列をゼロとして列に番
号付けし、底部又は最南端の行をゼロとして行の番号付
けをすると、底部左端又は南西の角に近い9個のプロセ
ッサ/メモリは、 0、2 1,2 2、2 0、1 1,1 2、1 0.0 1,0 2,0 と識別又はアドレス指定され、上部右端又は北東角にあ
るプロセッサ/メモリは、1023、1023の数字で
識別される。このような数字の組の各々は、連想プロセ
ッサ/メモリのアドレスと言われるようになる。
この番号付けのため、2次元アレイ内のいずれかのプロ
セッサ/メモリの最も近い4個は、そのアドレスを作る
2つの数の1個だけが、そのプロセッサ/メモリのアド
レスと1だけ違うアドレスを持つということが認識され
るだろう。例えば、アドレス1,1を持つプロセッサ/
メモリの最も近い4個は、それぞれ北、東、南及び西に
アドレス1、2;2,1;1,0;O,1の4個のプロ
セッサ/メモリである。
第1A図に図式的に示されるように、アレイ30の2次
元格子パターンは、第1、第2、第3及び第4の双方向
バス制御回路60.65.70、75に向かって、アレ
イ30の北、東、南及び西の端を越えて、第1、第2バ
ッファ50.80まで伸びている。特に。
アレイの4端の各々にある1024個のプロセッサ/メ
モリ36の各々は、1024個の双方向導線61.66
.71.76のうちの1本で、バス制御回路60.65
.70.75にそれぞれ、接続されている。
データソース40は、高速データバス41を経てバッフ
ァ及びマルチプレクサ/デマルチプレクサ50に入力デ
ータを送る。データソース40は、コンピュータ端子、
通信回線、視覚、聴覚又は触覚入力、レーダー又はソナ
ー装置、ディスクファイル又はその組合わせ等のどのよ
うなデータ源でもよい。
実例をあげると、データバス41は、32ビット幅のバ
スで、バッファ50は、各々32ビット容量を持つ32
個の直列入力、並列出力シフトレジスタでよい。
このような構成において、バス41の各回線は、別個の
直列入力シフトレジスタに供給するので、従来からの多
重化又は多重分離の必要がない。バス41内の回線数が
、シフトレジスタの数と異なる場合は、多重化又は多重
分離回路が、バス41の個々のデータ回線からバッファ
50内のシフトレジスタの直列入力にデータを分散する
ために用いられる。
バッファ50は、1024個の回線バス51上の並列デ
ータを、バス制御回路60.65.70、75のうちの
1つに入れ、それが、バス61.65、71又は76を
経て接続されている側のアレイの外端にあるプロセッサ
/メモリに、それらのデータを与える。
アレイ30からのデータは、アレイの一端に治っている
プロセッサ/メモリからバス制御回路60.65.70
.75のうちの1つに、バス61、66、71又は76
のうちの1本に並列に与えられ、バス制御回路は、バッ
ファ80への入力に接続されているバス81へ向けてデ
ータを切り換える。バッファ80の出力は、データシン
ク90に接続されている高速データバス86である。実
例をあげると、バッファ80は、各々が32ビット容量
を持つ32の並列入力、直列出力シフトレジスタのアレ
イで、データバス86は32ビット幅のバスでよい。こ
の構造では、従来からの多重化又は多重分離の必要がな
い、、バス86内のデータ回線の数が、バッファ80内
のシフトレジスタの数と異なる場合は、多重化又は多重
分離回路が、シフトレジスタの直列出力から、バス86
の各データ回線へデータを送るために用いられる。デー
タシンク90は、コンピュータ端子、通信回線、ディス
プレー、プリンタ、プロッタ、音声シンセサイザ、機械
的装置、ロボット、ディスクファイル、またはそれらの
組合わせのようなデータ源のどれでも良い。
アレイ30を通るデータの流れの方向は、マイクロコン
ピュータ20及びハス制御回路60.65.70.75
によって制御され、東から西へ、北から南、又は、その
逆であってもよい。第1B図に示すように、各バッファ
60.65.70又は75は、1024個のセレクタ1
0,001.10,002.10,003・・11,0
24を持つ。
各セレクタへの信号入力のうちの1つは、バス50から
のデータバス51の回線のうちの1本である。
他の2本の信号入力は、アレイ30からの出力である。
ある場合には、入力はセレクタと同じ行又は列にあるア
レイからの出力である。他の場合には、入力はセレクタ
のすぐ隣の行又は列のアレイからの出力である。最下部
のセレクタの場合には、セレクタへの入力のうち2本は
接地している。4本の人力セレクタ回線の各々は、4本
の信号入力のうちの1本を選び、各セレクタからの出力
になる。
4本の入力セレクタ回線上の信号は、マイクロコントロ
ーラ20によって生成される。
この配置の結果として、各バッファは、4組の信け、即
ち、バッファ50からのデータ入力、アレイ30からの
再循環データ、アレイ30内の隣接する行又は列からの
再循環データ、そして、全てのゼロの4組の信号のうち
の1組をアレイに送ることもある。隣接する行又は列か
らの再循環データの場合には、バッファは、実際に、ア
レイの全ての個別プロセッサ/メモリを、アレイの10
24行又は列を螺旋状に通る1本の回線に相互結合させ
てしまっている。
上記の相互結合の2次元格子は、例えば計算の初期段階
のように、アレイ30に大量のデータを俳き込むため、
また、例えば、処理を中断し、アレイの状態を記憶させ
る必要のある場合に、アレイの内容を読み出すためには
、役立つ。しかし、この相互結合アレイは、2次元アレ
イ中のプロセッサ/メモリ36間の任意の方向への敏速
なデータ中継は行なえない。その上、アレイの端と特定
のプロセッサ/メモリとの間にデータを移動させるには
、その端と問題のプロセッサ/メモリとの間にある全て
のプロセッサ/メモリにデータをシフト移動する必要が
あり、500個以上ものプロセッサ/メモリにシフト移
動を行なう必要も出てくる。
非常に高速でこのようなシフト移動を行なえる場合でも
、500回以上もこうしたシフトを行なう必要があると
、全操作を非常に遅いものにしてしまう。こうしたシフ
トを、同時に無作為でばらばらな方向で大量のプロセッ
サ/メモリについて行なうことの煩雑さも加わって、妥
当な費用でそのように太きなプロセッサ/メモリの2次
元格子を運転することは不可能になる。
本発明においては、第2形状寸法に従ってプロセッサ/
メモリ36詮作り、相互結合することに十って、この問
題点を緩和している。特に、IC35は、15次元のブ
ールn−立方体の形に作られ、相互結合されている。各
ICは論理回路系を持ち、その相互結合網を通るメッセ
ージの径路指定を制御しており、また、各IC内では、
32プロセッサ/メモリにバス接続が用意され、100
万個以上のプロセッサ/メモリのどれもが、他のとれに
対してもメッセージを送ることが出来る5、その上、大
量のメッセージがいつでも送られ、無作為の方向へ径路
指定出来る。
IC35のこの接続パターンを理解するために、Oから
32,767番までICに番号を付け、表1のように1
5個の2進数字を用いる2進法で、これらの数字又はア
ドレスを表わすのが良い。
2次元格子の相互結合に関して上に述べた概念は、15
次元格子の相互結合に関しても充分通用するものである
。各プロセッサ/メモリ36を、2つの数字を用いて、
その1つが2次元格子の第1次元での位置を示し、他の
1つが第2次元での位置を示したように、ブール15−
立方体の15次元のそれぞれにおけるICの位置を識別
するために、番号を使うことが出来る。しかし、n−立
方体ではICは、各数元において2つのみの異なる位置
0及び1のうちのどちらかをとることが出来る。
このように、表1に書かれたような2進法での15個の
数字によるICアドレスは、n−立方体の15次元での
ICの位置も示すのである。便宜上、15個の2進数字
の最左端の数字を、第1次元のICの位置を示すものと
して用い、その順番で、最右端の数字が、第15次元で
のICの位置を示すものとする。
その上、2進数字が0又は1の2つの値しか持つことが
出来す、各ICは15個の2進数字によって独自に識別
されるので、各ICには、自分のアドレスと1個の数字
が違うだけの2進アドレスを持つ他のICが15個ある
ことになる。我々はこれらの数字が一字しか違わない1
5個のICを、最初のICの最も近い隣接者と呼ぶ。ハ
ミング距離の数学的定義を知っている人々は、最初のI
Cかその15個の最も近い隣接者の各々から、ハミング
距離だけ離れていることに気づくだろう。1個のICと
それに最も近い15個の隣接者のアドレスの2例を表1
1に示す。
ブール15−立方体の形に1C35を接続するには、各
ICをそれに最も近い15個の隣接ICに接続する。第
1図では、この接続が15本の入力回線38及び15本
の出力回線39で図式的に示されているが、実際の接続
径路は、図がますます複雑になるので描かれてはいない
。各IC35へのこれら15本の入力回線38のそれぞ
れは、ブール15−立方体の15次元のうちの異なる」
っと関連しており、同様に、各IC35からの15木の
出力回線39のそれぞれは、違う次元と関連している。
ブールn−立方体の相互結合パターンを正しく認識する
には、3次元及び4次元のブールn−立方体内のIC3
5′のアレイに用いられる相互結合を考えると良い。第
2図は、3次元のブールn−立方体の図式的描写である
。8個の頂点又はノードと12のへりを持つ従来がらあ
る立方体とみなされるであろう。この立方体の3次元は
ローマ数字I、II、IIIで識別される。頂点のそれ
ぞれに、IC35′があり、各ICからは3本の出力回
路39′が出て、立方体の3次元に沿って、そのICの
3個の最も近い隣接ICまで伸びている。後に明らかに
なるように、各IC35′にはそれに最も近い3個の隣
接ICからの出力回線である23本の入力回線38′も
ある。下部左端の頂点は、このシステムの原点と仮定さ
れ、従って、この頂点のICが第2図の3次元立方体の
第1、第2及び第3次元中のOポジション又はアドレス
に持つことになる。
このアドレスが000と書かれる3、各ICは、各次元
内の2つだけのポジションのうちの1つにあるので、他
のICは、第2図に示されるように0及び1の3桁の数
字の他の組み合わせから成るアドレスを持つ。
第3図は、4次元のプールn−立方体を示す。
このような立方体には、16個の頂点と32個の稜があ
る。ここでも、1個のIC35′は各頂点又はノードに
置かれ、入力回線38′及び出力回線;39′によって
最も近い隣接ICに接続される。しかしこの場合には各
ICには4個の最も近い隣接ICがあり、従って、4−
立方体の4次元に沿って伸びる4本の入力回線と4本の
出力回線を持つことになる。ブール4−立方体内の各I
Cの位置は、第3図に示したように4桁の2進数字で識
別され、この4−立方体の4次元は、第3図に示される
ように、ローマ数字のI、■、III、IVで識別され
る。
より高次元の立方体へのこのパターンの外挿法も明らか
にされる。どの場合にも、次に高い次元では、頂点の数
が2倍になり、各ICは1個余分な最も近い隣接ICを
持つことになる。従って、プール15−立方体は、32
,768の頂点を持ち、各頂点にICを1個持つことに
なり、15個の最も近い隣接ICを持つようになる。
ブール15−立方体の相互結合パターンに通信を行なわ
せるには、コンピュータシステムか、処理サイクルと径
路指定サイクルの両方を持つように操作する。計算は処
理サイクルの間に行なわれる。
径路指定サイクルの間に、計算の結果がメッセージパケ
ットの形に編成され、これらのメッセージパケットは、
パケットの一部となっているアドレス情報に従って、各
IC中の回路系を径路指定することによって、1つのI
Cから次のICへ径路指定されて行く。メッセージパケ
ットの様式は第4図に描かれているが、それは、ICア
ドレス15ビット、書式ビットが1ビット、ICアドレ
スを複写する他の15ビット、IC中のプロセッサ/メ
モリへのアドレスが5ビット、メッセージの32ビット
と誤り検出の1ピットの合計73ビットがら成り立つこ
とかわかる。誤り訂正のために追加のビットを加えても
良い。実例として、各ビットの持続時間は、1から10
メガヘルッ(MHz)の周波数に応じて、0.1から1
マイクロ秒である。第4図には、システムに用いられる
基本的クロック信号PHI1及び1PHI22も示され
ている。これらの信号は、各々がメッセージパケットの
1ビットと同じ周期と周波数を持つ、非重複2相クロッ
クである。
メッセージパケット内では、ICアドレス情報は、行き
先ICのアドレスに対して相対である。
最初は、メッセージ源であるICのアドレスとその行き
先のアドレスとの相違又は変位である。例えば、原始I
Cのアドレスが010 101 010010であり、
行き先ICのアドレスが111 111111 111
 111であると、原始ICで生成サレタ相対アドレス
は、101 010 101 010 101となる。
この相対アドレスか、原始及び行き先のアドレスの排他
的論理和(XOR)になることが明らかになる。相対ア
ドレス中の1−ビットトが、メッセージパケットが正し
い位置にない次元を識別し。
従って、行き先ICに到達しようとメッセージパケット
が移動する次元を識別することも明らかになる。このよ
うに、偶数番号の次元において、原始及び行き先ICの
アドレスが同じであるような上記の例においては、メッ
セージはそれらの次元の正しい位置にすでに置かれてい
る。しかし、原始及び行き先ICのアドレスが違う術数
番号の次元では、それらの次元のための相対アドレス内
に1−ビットが存在することは、その次元において、メ
ッセージパケットを1つのICから他のICへ移動させ
る必要があることを意味する。
メッセージが1つのICから他のICへ径路指定される
時に、相対アドレスは各移動を考慮に入れるため更新さ
れる。このことば、メッセージバケットが移動される次
元と関連する2重ICアドレス中のビットを考えると都
合良く行なわれる。
その結果、メッセージパケットが行き先ICへ到着する
と2重ICアドレス中のビットは全てゼロになる。
全てのIC中の径路指定回路系は、同一になっていて、
同じ径路指定サイクルを用いて同期的に操作される。I
Cアドレスを15ビット持つ73ビットのメッセージパ
ケットの第4図の例として、径路指定サイクルの長さは
基礎的クロック信号PHI1の88サイクルである。各
径路指定サイクルの1回目の間に、各ICにおける径路
指定回路系が径路指定回路系内の各メッセーシパケット
のICアドレスの最初のコピーの先行ビットをテストし
て、そのレベルを決める。この位置にトピットがあり、
第1次元に関連している10からの出力回線がふさがっ
ていない場合、メッセージパケットは、第1次元出力回
線から、第1次元内でそのICに最も近い隣接ICまで
径路指定される。
メッセージパケットアドレスの先行ビットが0−ビット
であると、メッセージパケットは、第1次元内の正しい
位置にあるので、同じIC内にとどまる。その結果、1
回目の間に、ICの径路指定回路間のメッセージの流れ
は第1次元に沿ったものになる。
メッセージパケット内のICアドレスの最初のコピーの
先行ビットは、その後で破棄される。メッセージパケッ
トが他のICに径路指定されたとすると、2重ICアド
レス内の対応するアドレスビットが、そうした動きを償
うために補足される。
2回目のアドレス時間には、各ICの径路指定回路系は
、再び、ICに存在するメッセージバケットの先行ビッ
トをテストする。しかし、このビットは、メッセージパ
ケットが、第2次元の正しい位置にあるかどうかを表示
するビットである。
もし、このビットが1−ビットで、第2次元出力回路が
ふさがっていなければ、メッセージパケットは、第2次
元出力回線上を、第2次元中のそのICに最も近い隣接
ICに向かって径路指定される。もし、最初のビットが
0−ビットであると、メッセージパケットはIC内にと
どまる。
この過程は、15回のアドレス時間の間続き、その最後
に、メッセージパケットの最初の15のアドレスビット
が使い切られる。しかし、必要とされる出力回線が利用
出来れば、ブール15−立方体を通る径路が確立され、
メッセージパケットの残りを転送することが出来る。
この径路指定機構の実例は、第;3図のフール4−立方
体を参考にして示される。メッセージが、アドレス11
11を持つ原始IC35′から、アドレス0010を持
つ行き先IC35′へ送られる。、相対アドドレス又は
行き先ICの変位は、原始および行き先ICのアドレス
の排他的論理和を取ることによって得られる。従って、
相対アドレスは、メッセージパケットを第1、第2、第
4次元で移動させ、第3次元では移動してはならないこ
とを表わす1101になる。それから、原始ICにある
径路指定回路は、相対アドレスの最初のコピーの最初の
ビットを調べて1−ビットを識別し、もしこの出力回路
が利用出来れば、メッセージを第1次元に沿ってIC0
111に径路指定し、ICアドレスの最初のコピーの最
初のビットを破棄し、複製ICアドレス内の最初の1−
ビットを補充する。2回目のアドレス時間内に、アドレ
スが0111のICにある径路指定回路が、残りの3個
のアドレスビットの最初のものを調べて、再び1−ビッ
トを見つけ出す。従って、出力回線が利用出来れば、径
路指定回路はメッセージパケットをアドレスが0011
であるICに送り、第2次元での動きを表示するICア
ドレスの最初のコピー内の1−ビットを破棄し、その動
きが起きたことを示すために複製ICアドレス内に1−
ビットを補充する。
3回目のアドレス時間中に、アドレス0011にある径
路指定回路が、残りの2個のアドレスビットの最初のも
のを調べて0−ビットを識別する。このICにメッセー
ジパケットを保持し0−ビットを破棄する。4回目のア
ドレス時間には、アドレス0011にある径路指定回路
が残りのアドレスビットを調べて1−ビットを識別する
。従って、それはメッセージパケットを出力回線に沿っ
てIC0010まで径路指定し、ICアドレスの最初の
コピーの最後のビットを破棄し、複製ICアドレスの最
後のビットを補充する。
IC0010に到着すると、径路指定回路は、テストす
る複製ICアドレス内のどの1−ビットでも無ければそ
れを察知し、従って、メッは−ジパケットがその行き先
に到着したことがわかる。それからメッセージパケット
は、アドレスがメッセージパケット内に明記されている
プロセッサ/メモリに運ばれる。径路指定過程について
の詳細は、第11図〜第16図を参照して下記て述へら
れる。
B、並行処理ICの統括説明 各ICは非常に大きい規格の集積回路(超LSI)とし
て単一のシリコンチップ上に組み立てられる。第5図に
示すように、これらのチップの64(=26)個が各チ
ップパッケージ100に入れられ、各印刷配線回路(P
C)板130上に取り付けられ、相互結合される。この
ような32,768個のICにそなえて、512(=2
9)枚の印刷配線回路板が、適当な枠体内に取り付けら
れる。従来からある配線取り付は具132が、2次元格
子及びブール15−立方体構造の双力において、これら
の配線板を相互結合する。第5図に示した構成では、I
Cの最も近い隣接ICのうち6個が、それと共に同じP
C板に取り付けられ、他の9個は違うPC板に取り付け
られる。
97本のビン102かそれぞれのパッケージ上に付けら
れ、そのチップをPC板上の他のチップとシステムの他
の部分に接続している。これらの97本のビンが運ぶ信
号を表IIIに示す。■○−I27、リセット、PHI
1、PHI2及びにシンクと名付けられたピンはバス2
2に接続され、命令信号、リセット信号及びタイミンク
信号、PHI1、PHI2及びにシンクをマイクロコン
トローラ20から受ける。CS0及びCS1ビンは、両
方のピンでの信号が低い時にチップをアドレス付けする
チップ選択ピンである。これらのピンを選択する信号は
バス24によってアレイ30に与えられる。
N0−7,SW0−7及びE0−7ビンは、北、南、西
及び東の隣接するチップ上の最も近いプロセッサ/メモ
リへの接続を行なう。Cube in0−14及びCu
be Out0−14ピンは、ブール15−立方体内の
最も近い隣接プロセッサ/メモリへの接続を行なう。グ
ローバルピンは、回線26を越えてマイクロコントロー
ラ20に接続される。LEDピンは、活性化されている
時に発光ダイオードを駆動してチップに視覚信号を生成
させる出力を提供する。この信号を用いてテストや監視
を行い、また計算の結果を表示したりすることも出来る
。6本の接地及び電源ピンは、チップに接地及び電源接
続をする。
第6A図及び第6B図は、アレイ30の32,768個
の同一のIC35のうちの1個をブロック図で構いてい
る。第6A図に示すように、1個のICの;32のプロ
セッサ/メモリ36は、8列で4行のアレイ内で接続さ
れている。そして便宜上、このアレイの稜は、北、東、
南及び西と識別されている。第6A図には個別のプロセ
ッサ/メモリの空間関係が描かれていないが、第17図
のチップ配置図に見られるように、それらの空間関係は
異なっている。
第6A図にもどると、各プロセッサは、N,E,S及び
Wとラベルを付けた入出端子を通じて、北、東、南及び
西の最も近い隣接者と接続されている。
また、各プロセッサはデイジーとラベルを付けた入力端
子を通じて1つの回線内にデイジーチェーンにつながれ
ている。各プロセッサからこれら5個の入力端子への出
力は、最も近い隣接者のN、E,S及びW入力端子と、
チェーン内に次のプロセッサ/メモリのディジー入力端
子とに接続されている出力端子キャリー上にある。後に
明らかになるように、ディジーチェーンは13部左端角
に始まり、第1列目を上へ行き、2列11は下行し、2
3列11は上へ行きというように進んで、アレイの下部
右端角に達する。
8本の双方向回線104か、このプロセッサ/メモリア
レイから北のN0−7チップピンに伸び、さらに8本の
双方向回線106かプロセッサアレイから南のSWO−
7に伸びる。これらの8本の回線106のうち4本は、
西からの4本の双方向回線108と多重化される。さら
に34本の双方向回線110が、アレイから東のEO−
3チップピンへ伸びる。
これらの回線の読み取り/書き取り機能は、書き取り回
線113.114.115によって制御され、それらは
回線励振器117.118.119をそれぞれ制御し、
データを北、東又は南/西に書き込む。南と西の導線の
多重化は、2次元格子アレイ内のデータの流れか一時的
に一方向(例えば、東から西)にしか流れないので、可
能である。
格子及びティジ−チェーン接続に加えて、各プロセッサ
/メモリは共通してアドレス及び出力伝号バス121、
メンセージパケット入力信号回線122、メッセージパ
ケット出力信号回線123、及びグローバル出力信号回
線124に接続されている。これらの回線とバスへの接
続は、最東端の4個のプロセッサ/メモリについてのみ
第6A図に示されているが、32個全てのプロセッサ/
メモリにも同じ接続がなされることが理解出来るだろう
第6B図に示すように、各ICはタイミング発生器14
0、プログラム可能な論理アレイ(PLA)150、通
信インタフェース装置(CIU)180、及び径路指定
回路200から成る。タイミング発生器はシフトレジス
タ145で、システムクロック信号PHI1及びPHI
2によってパルスがきざまれる。この発生器はマイクロ
コントローラ20からのタイミング信号、Kシンクによ
ってリセットされる。よく知られる技術によって、この
レジスタは第9図、第10図、第14図及び第16図に
示される型のタイミング波形を作り出し、通信インタフ
ェース装置180及び径路指定回路200の動作を制御
する。
プログラム可能な論理アレイ(PLA)150は、マイ
クロコントローラ20から回線22上の命令を受け、こ
れらの命令をアドレス及び出力信号バス121の信号に
復号化する復号化マトリックスである。命令は、表■に
識別されている28本のピンの上にあるチップパッケー
ジ100で受け取られる。
15−8及び27ピンの信号は例外であるが、これらの
信号はPLA入力ラッチ151に直接送られPLA15
0によって復号され、プロセッサ/メモリ:36によっ
て使われる間、そこに記憶されている。
15−8ピン上の信号は、4個のANDゲート165に
送られ、そこで、ピン127上の信号が高くなった時に
メンセージパケット入力信号回線122に受けた信号の
最後の4ビットに従って変更される。
ピン127は、否定回路166によって、これら最後の
4個のビットを記憶する直列−入力、並列−出力ラッチ
167、及び、ピン127上の否定信号とラッチ167
の並列出力との論理和を形成する4個のORゲート16
8に接続される。
第6B図に示されるように、バス121は、2個の16
6回線バス152154及び各プロセッサ/メモリ内の
RAMレジスタ250に接続されている2個の32回線
バス156.158、ALU270に接続されている2
個の8回線バス162,164.8回線バス172、2
個の16回線バス174,176、そして、各プロセッ
サ/メモリ内のフラグコントローラ290に接続されて
いる1本の回線178を含む。バス152.154.1
56.158.172.174及び176上の信号は、
RAMレジスタ250及びフラグコントローラ290内
の特定の場所から又はそこへの情報を読み出すか書き込
むために使われる復号アドレス信号である。このアドレ
ス指定を完成するには、バスの1回線が1個の2進信号
、例えば、高信号又は1−ビットを送り、他の回線全て
が他の2進信号、例えば低信号又は0−ビットを送る。
ALU270へのバス162164上の信号は、ALU
270の違う可能性のある出力である。これらの信号に
ついての詳細は、第7A図と第7B図を用いて下記に述
へる。
通信インタフェース装置(CIU)180は、ICのプ
ロセッサ/メモリとそのICに関連する径路指定回路と
の間で出入りするメッセーシパケットの流れを制御する
。CIU180は否定回路181、ラッチ182、タッ
プされたシフトレジスタ184、第1、第2セレクタ1
86,188及び第1、第2パリテイ論理回路190,
192とを含む。第6B図に示すように、ICのプロセ
ッサ/メモリ36からのメッセージパケット出力信号回
線123は、否定回路181によって、ラッチ182へ
の入力、シフトレジスタ184、セレクタ186、及び
パリティ論理回路190に接続される。
ラッチ182の出力は、回線194上を径路指定回路2
00へ送られ、プロセッサ/メモリ36のうちの1個か
らメッセージパケットが利用出来る時を指示する。メッ
セージパケット自体は、セレクタ186から回線196
上の径路指定回路に送られる。
CIU180で受け取られた時の状態では、出て行くメ
ッセージパケットは、行き先ICの相対ICアドレスの
コピーを1つだけ持っている。タイミング発生器140
からのタイミング信号の制御のもとで、セレクタ186
及びシフトレジスタ184が相対ICアドレスのコピー
を生成し、メッセージパケットの前端部に挿入する。パ
リティ論理回路190がメッセージパケットの正しいパ
リティビットを計算し、それをメッセージパケットの一
部として径路指定回路に供給する。
径路指定回路からの信号は、回線197、198及び1
99上セレクタ188に送られる。これらの信号回線は
、それぞれ、入ってくるメッセージパケットが径路指定
回路から来るかどうかの指示、入ってくるメッセージパ
ケット自体、そして、回線196上の出て行くメッセー
ジパケットが首尾よく径路指定回路に受け取られたかど
うかの指示を出す。セレクタ188の出力は、メッセー
ジパケット入力回線122上のプロセッサ/メモリ36
に送られるメッセージ検知器192である。パリティ計
算はパリティ論理192によって行なわれる。これらの
回線の動作についての詳細は、下記の第8図の説明中で
述べる。
径路指定回路200は、ブールn−立方体中の最も近い
隣接ICから又はそれらへのメッセージパケットの径路
指定を制御する。回路200は、回線割り当て器205
、メッセージ検知器、バッファ及びアドレス復元器21
5、及びメッセージインジェクタ220とから成る。回
線割り当て器205は、その特殊なICの15個の最も
近い隣接ICからの15本の入力回線38及び同じ15
個の最も近い隣接ICへの15本の出力回線39とを持
つ。回線割り当て器205には、メッセージ検知器21
0への15本のメッセージ出力回線206及びメッセー
ジインジェクタ220からの15本のメッセージ入力回
線207も持つ。加えて、各メッセージ入力回線207
には、関連するメッセージ入力回線207上にメッセー
ジがあることを表示するもう1本の回線208がある。
回線割り当て器205は、入って来る回線38上に受け
るメッセージパケットのアドレスを分析し、それらがこ
の特殊なICに向けられたものか、あるいは他のIC向
けのものかを決め、可能であれば、メッセージパケット
をその行き先まで径路指定し、このICあてのメッセー
ジパケット、そして、回路割り付けの障害のために径路
指定出来なくなったメッセージパケットを記憶しておく
メッセージ検知器210はメッセージパケットの受け取
りをチェックし、回線割り当て器205から回線207
上に受けたメッセージパケットのアドレスを調べ、この
ICあてのメッセージパケットを回線198上のCIU
180へ供給する。第6B図に示された回路内で、回線
198は、メッセージパケットを一度に1個しか転送出
来ない。このICに1個以上のメッセージパケットがア
ドレス指定されている場合には、1個のバケットがC1
U180に提供され、他のバケットは、違うICにアド
レス指定されている他のメッセージバケットとともにバ
ッファ215に提供される。
バッファ及びアドレス復元器215ば、タップされたシ
フトレジスタ184と構造と機能において似ているタッ
プされたシフトレジスタから成る。バッファ215はメ
ッセージバケットの初めにおいてメッセージパケット内
にある複製アドレス情報からメッセージパケットのアド
レスのコピーを再生する。バッファ及びアドレス復元器
の出力はメッセージパケットインジェクタ220に加え
られる。
メッセージパケットインジェクタ220は、CIUから
、径路指定回路を循環しているメッセージパケットのグ
ループの中に、一度に1つずつメッセージパケットを注
入する。径路指定回路の詳細は第11図〜第16図を参
照して説明される。
IC35のチップ配置図は、第17図に描かれている。
この配置図中でPLA150は右側のチップの上部を下
部のふちに位置する2つのアレイ内に入れられている。
個別のプロセッサ/メモリ35は、PLA150の間の
スペースにバス励振器を間に挾んで4つのグループに分
けて形成される。個別プロセッサ/メモリについての下
記の記述から明らかになるように、各プロセッサ/メモ
リは、動的読み−書き記憶装置、このような記憶装置へ
のアドレス指定回路系、ALU、フラグレジスタ、フラ
グレジスタへのアドレス指定回路系及び他の励振器回路
の38ビットを持つ。CIU180はチップの上部中央
に置かれ、タイミング発生器140及び径路指定回路2
00は、チップの左側部分を占める。
この配置では−PLA150から個別のプロセッサ/メ
モリ36へのアドレス及び出力信号バス121は。
個別プロセッサ/メモリとバス励振器を通る垂直な回線
のアレイである。プロセッサ/メモリからCIU180
への出力回線も、同様に、本質的には垂直な回線である
。1個のプロセッサ/メモリの展開図に示されるように
、プロセッサ/メモリ内の信号の流れは、本質的には、
バス121に対して直角になる。その結果、回線の交差
は最小限になり1回路配置が簡素化される。
1個のプロセッサ/メモリ36を超LSI設計内におさ
めるのに要するトランジスタの概数は、1800個であ
り、PLA150.32プロセッサ/メモリ及びバス励
振器のトランジスタの数は約60,000個である。タ
イミンク発生器、径路指定回路系及びCIUには約24
、000個のトランジスタが必要である。1個のシリコ
ンチップ上に100,000以下のトランジスタの集積
回路を構成することは、現在の技術で充分行なえること
であり、約7mm×8mmの1個のシリコンチップ上に
集積回路350大量生産も、今日の技術で可能と思われ
る。
C,プロセッサ/メモリの説明 プロセッサ/メモリが、第7A図と第7B図により詳細
に開示されている。第7A図に示されるように、プロセ
ッサ/メモリは、ランダムアクセスメモリ(RAM)2
50、演算論理装置(ALU)280及びフラグコント
ローラ290から成る。ALUは、3送信源、即ちRA
M内の2つのレジスタ及び1個のフラグ入力からのデー
タで動き、2出力、即ちRAMレジスタの1個に書き込
まれた合計出力及び、フラグコントローラ内のいくつか
のレジスタと他のいくつかのプロセッサ/メモリにも利
用出来るキャリ出力とを発生する。ALUの動作は、読
み出しサイクル及び条件つき書き込みサイクルで行なわ
れる。書き込みサイクルの間に、特定の条件が満たされ
ていればこれらの結果がRAM及びフラグレジスタに書
き込まれる。
ALUのタイミングは、合計及びキャリ出力の新しく計
算された値が書き込みサイクルの前に利用出来るように
する。このことによって、合計出力信号が書込サイクル
の間にRAMレジスタの1つに書きもどすことができ、
キャリ出力が、1回の命令サイクルの間に同じチップ上
の多数のプロセッサ/メモリを通って伝播することが出
来る。
RAM250 RAM250は、各々が32ビットの12個のレジスタ
254の形に配置された動的読み/書きメモリIC25
2のアレイから成る。32ビットの各々は列0から32
において個別にアドレス指定することができる。レジス
タには0から15まで番号が付けられ、アドレス回線が
16のレジスタを呼び出せるように準備される。しかし
、レジスタ12及び13は使用されず、レジスタ14及
び15は、RAM250内に記憶されない信号を出す。
0から11までのレジスタは汎用レジスタである。レジ
スタ14及び15は、特別の機能を持つ。レジスタ14
の全てのビット位置はその時回線122上にあるビット
と回じ値を持ち、レジスタ15のすべてのビット位置は
ゼロになる。このように、レジスタ15はデータシンク
として働く。
RAM250ヘの入力は、バスI52.154.156
.158、ALU270からの合計出力回線285.C
IU180からのメッセージパケット入力回線122、
及びフラグコントローラ290からの書き込み許可回線
298である。RAM250からの出力は、回線256
、257である。回線256,257上の信号は、RA
M250内の2つの異なるレジスタの同じ列から得られ
、そのレジスタの1つはレジスタAと呼ばれ、他はレジ
スタBと呼ばれる。ハス152.154.156.15
8はこれらのレジスタとその中の列を、マイクロコント
ローラ20からの命令語に従ってアドレス指定する。
実例をあげると、表IIIを参考にして、回線15−8
はPLA150で復号され、レジスタAを選択又はアド
レス指令するバス121の16本の回線152のうちの
1本に高い信号を送り、回線l9−12は復号されてレ
ジスタBを選択する16本の回線154のうちの1本に
高い信号を送り、回線I13−17は復号されて、RA
M250内の32列のうちの1個を選択する32本の書
き込み回線156のうちの1本又は32本の読み取り回
線158のうちの1本のどちらかに高い信号を送る。こ
のようにして回線152−158か、12×32ビット
RAM内の2個のセルを特定し動作が読み出しか書き込
みかを特定する。
RAM250の詳細は、RAM250の上部左隅の4個
のセルと関連する回路系とを描いている第7B図に示さ
れる。各セル252は、図示されるように接続されてい
る3個のパストランジスタ261、262.263を含
み、トランジスタ263内に情報の1ビットを記憶する
。データ1ビットは、読み出し選択回線の1つ及びパス
トランジスタ252の1つの上の信号の制御のもとに、
トランジスタ263がら読み出される。
32個のセル252の各レジスタ254も、ビット回線
255、リフレッシュ回路264及びプレチャージ1、
ランジスタ271を含む。加えて、回線122は1組の
パストランジスタ273,274に接続され、他の1組
のパストランジスタ273.274には接地接続がなさ
れ、0−ビットの送信側となり、レジスタ15としてデ
ータシンクとなる。16個のパストランジスタ273は
レジスタA選択275を構成し、各パストランジスタは
、ANDゲートとして機能し、それは16本の回線のう
ちの異なる1本によって使用可能になり、RAM250
内の16ものレジスタのうちの1個カラレジスタAを選
択する。同様に、16個のバストランジスタ274はレ
ジスタBセレクタ276を構成し、各トランジスタは、
これら16個のレジスタからレジスタBを選択する16
本の回線154の異なる1本に接続される。どのような
時も、パストランジスタ273のうちの1個のみ、そし
てパストランジスタ274のうちの1個のみが、レジス
タA及びレジスタBの出力を選択するために導通してい
る。
各トランジスタ273の出力は一緒に接続され、回線2
56上にレジスタA信号を出し、各トランジスタ272
の出力は一緒に接続され、回線257上にレジスタB信
号を送る。回線2561の信号が、双方向ドライバ25
8によってALU21110への入力に送られる回線2
57上の信号は、ドライバ259によってALU280
への他の入力へ送られる。
ALUの書き込みサイクルの間、合計出力信号はレジス
タAに書きもどされる。好都合なことに、この信号は、
双方向ドライバ258、回線256及び信号を導通して
いるパストランジスタ273を経てレジスタAのトラン
ジスタ266へ送られる。
RAM250は4相りロック信号で動くが、その信号の
うちの2個は基本的クロック信号PHI1及びPHI2
であり、他のPHI1p及びPHI2PはPHII及び
PHI2のプレカーソルである。クロック信号PH11
p及びPHI2Pはプレチャージ回線272に与えられ
、クロックサイクルPHIlの間の各読み出し動作及び
クロックサイクルPHI2の間の各書き込み動作の前に
ビント回線255をプレチャージする。クロンクサイク
ルPHI1p及びPHI2pの間、プレチャージ回線2
72の信号は高く、プレチャージトランシスタ271を
導通させ、正電圧源VDD及び各ビット回線との間の接
続を行なう。クロックサイクルPHI1pの間に、この
接続によって各ビット回線255を、高い信号又は1−
ビットに充電する。
タロックサイクルPHIIの間、1前回の書き込みサイ
クルの間にバストランジスタ263に記憶された信号が
反転された形でRAM250の各レジスタのビット回線
255で読み出される。記憶された信号が高い信号又は
1−ビットであると、バストランジスタ263は導通さ
れ、接地径路を形成する。
その結果、読み出し選択回線158上にパストランジス
タ262への高い信号が与えられると、接地点への径路
が出来て、それがビット回線255を低いものにする。
従って、前回の書き込みサイクルの間にトランジスタ2
63に告、き込まれた1−ビットへはO−ビットに変換
される。逆に、0−ビットかトランジスタ263に書き
込まれていると、接地径路か出来ないため、ビット回線
255は高いままになる。
その結果、トランジスタ263上に書き込まれたビノト
は、再び反転され、この場合は1−ビッI−になる。反
転されたビットは、次のクロックサイクルであるリフレ
ッシュサイクルの間に、再反転される。
タロックサイクルPHI1の間、読み出し回線258上
の信号も高く、各トランシスタ265を導通させる。そ
の結果、各ビット回線255上の信号は、リフレッシュ
回路264内のトランジスタ260に書き込まれる。同
時に、レジスタAセレクタのトランジスタ273によっ
て選択されたビット回線1の信号、及び、レジスタBセ
レクタのトランジスタ274によって選択されたビット
回線上の信号とは、トライバ258.259に送られる
。これらのドライバが、回線298上の書き込み使用可
能信号によって使用可能になると、レジスタA及びレジ
スタB信号はそれぞれ、出力回線256及び25アドの
ALU280に送られる。
クロックサイクルPHI2Pの間、プレチャージ回線2
72及びリフレッシュ/書き込み回線269は高く、各
トランジスタ267及び271を導通させる。
クロックサイクルPHI1の間にトランシスタ266上
に1−ビットが書き込まれると、そのトランジスタも導
通され、ビット回線255を低くする接地径路か形成さ
れる。その結果、クロックサイクルPHI1の間にトラ
ンジスタ266上に書き込まれた1−ビットは、0−ビ
ットに変換される。逆に、0−ビットトランジスタ26
6に書き込まれていたとすると、リフレッシユ回路26
4には接地径路かなく、ビット回線255は、正電圧源
VDDとビット回線255間に導電径路を作るプレチャ
ージトランジスタ271によって高くされる。その結果
、トランジスタ266に書き込まれた0−ビットは1−
ビットに反転される。
クロックサイクルPHI2の間、各ビット回線上の信号
は、書き込み選択回線156の1本によって選択された
列内のセルの各トランジスタ263に書き込まれる。特
に、書き込み選択回線156の1本に高い信号が加えら
れると、それが加えられたトランジスタ261は導通さ
れ、ビット回線255とトランジスタ263との間に径
路が出来て、各ビット回線上の信号がトランジスタ26
3上に書き込まれる。この信号は、クロックサイクルP
HI1の間にトランジスタ263から読み出された時に
一度、又、クロックサイクルPHI2pの間にトランジ
スタ266から読み出された時に一度、反転されている
ので、トランジスタ263へ書きもどされた信号は、最
初に読み出された信号と同じであり、トランジスタはリ
フレッシュされる。
しかし、レジスタA出力を作るビット回線255の場合
は、クロックサイクルPHI2の間にトランジスタ26
3に書き込まれた信号は、ALU280の合計出力であ
り、トランジスタ263から最初に読み出された信号で
はない。合計出力信号は、クロックサイクルPHI2P
の間に、回線285上の双方向ドライバ258に使える
ようになる。この信号が低いと、ドライバ258は、ク
ロックサイクルPHI1の間にトランジスタ266上に
記憶された信号の状態に関係なく、レジスタA内のトラ
ンジスタ265上に0−ビットを書き込む。同様に、合
計出力信号が高いと、ドライバ258が、クロックサイ
クルPHI2pの間にトランジスタ266に上に記憶さ
れた信号に関係なく、トランジスタ266上に1−ビッ
トを書き込む正電圧源VDDに径路を作る。ここでも、
トランジスタ266上の1−ビットがビット回線255
を低くし、0−ビットか回線255を高くする。その結
果、クロックサイクルPHI2の間、レジスタAのビッ
ト回線255の状態は合計出力信号の逆であり、あのレ
ジスタのセルのトランジスタ263上に書き込まれた信
号になる。
フラグコントローラ290 第7A図に示すように、フラグコントローラ290は、
8個の1−ビットD−タイプフリップーフロップ292
.15から2を取り出すセレクタ294及びいくつかの
論理ゲートのアレイである。フリップ−フロップ292
への入力は、ALU280からのキャリ出力信号、セレ
クタ294からの回線298上の再き込み使用可能信号
、及びPLA160からのバス172の8本の回線であ
る。回線172はアドレス回数であり、その各々はフリ
ップ−フロップ292の他の1つに接続され、フラグビ
ットが書き込まれるフリップ−フロップを選択する。実
例をあげると、フリップ−フロップはそのフリップ−フ
ロップに接続されている回線上の高い信号によって選択
され、低い信号は、他の7個のフリップ−フロップに接
続された他の7本の回線上におかれる。フリップ−フロ
ップ292の出力は、セレクタ294に加えられる。
これらのフリップ−フロップのうちの1つ、グローバル
フリップ−フロッブの出力は、パストランシスタ124
′によってグローバル出力信号回線124に加えられ、
他のフリップ−フロップ、ComEフリップ−フロップ
の出力は、NANDゲート203に加えられ、NAND
ゲートの出力は、パストランジスタ123′によってメ
ッセージバケット出力信号回線123に送られる。
セレクタ294への入力は16のフラグ借り回線295
にもなり、そのうち8本はフリップ−フロップ292か
らのもので、バス174.176の各々から16本の回
線が来る。回線174.176はアドレス回線であり、
出力又はそれより先の処理のためのフラグシグナル回線
の1つを選択する。セレクタ294は回線296及び2
97の出力を与え、それらの回線は、それぞれアドレス
回線174及び176によって選択されたフラグのどち
らかになる。回線296上のフラグはフラグアウト信号
である。回線297上のフラグは、排他的ORゲート2
99によってPLA150からの回線178上の信号と
比較され、書き込み使用可能信号を回線298上に作り
出す。
セレクタ294は、RAM250内のアレイ275.2
76に似た、各々16のバストランジスタの2本のアレ
イによって助けられる。16本の回線174の各々が最
初のアレイの1個のバストランジスタを制御し、16本
の回線176の各々は、2番目のアレイの1個のバスト
ランシスタを制御する。バストランジスタの各々は、回
線174,176上の適すな信号によって使用可能にさ
れるANDゲートを構成する。個別のフラグ入力は、各
アレイに1個ずつ、2個の異なるバストランシスタに送
られる。回線196上のFLAG OUT信号は、最初
のアレイの16個のパストランジスタの出力の単なる論
理ORである。回線198上の書き込み使用可能信号は
、2番目のアレイの16個のパストランジスタの出力の
論理ORを回線178上の信号と比較することによって
えられる。
フラグの名称、アドレス及び機能を表■に示す。
8個のフラグレジスタ292(アドレス0−7)は、A
LU280のキャリ出力回線からのデータを書き込んで
もよい。これらの値は、プロセッサ/メモリの内部動作
に用いてもよい。フラングローバル及びComEは、特
別な機能を持っている。チップ上の全てのプロセッサ/
メモリからのグローバルフラグの出力は、一緒に反転及
びORされ、チップ上のグローバルビン(表■参照)に
、バス124上に加えられる。32,768個のチップ
のアレイ内の全てのグローバルビンの出力は、ともにO
Rされ、回線26上でマイクロコントローラ20に加え
られる。
ComEフラグはALU280のキャリ出力を、CIU
180へのメッセージバケット出力信号回線123へ送
る。チップ上の数個のプロセッサ/メモリが同時に回線
123に出力を与えると、径路指定回路200への回線
196上のCIU180の出力が、その時に回線123
に出力を与えている全てのプロセッサ/メモリのキャリ
出力の論理和になる。
北、東、南及び西フラグは、北、東、南及び西の最も近
い隣接プロセッサ/メモリのキャリ出力回線からのプロ
セッサ/メモリへの入力となる。
同様に、ディジーフラグは、ディジーチェーンで隣にあ
るプロセッサ/メモリのキャリ出力回線からの入力であ
る。通信インタフェース装置(CIU180からのメッ
セージは、メッセージパケット入力信号回線122によ
り、フラグコントローラ290とRAM250への入力
に送られる。プロセッサ/メモリからのメッセージは、
メッセージパケット出力信号回線123のCIU180
に与えられる。ゼロフラグは常にゼロ出力を提供する。
前述のように、プロセッサの動作には読み出しサイクル
及び書き込みサイクルが含まれる。読み出しサイクルの
間に、チップのピン118−21上の信号が読み出され
るフラグのアドレスを特定する。
これらの信号はPLA160によって復号化され、16
本回線バス174上のセレクタ294に送られる。書き
込みサイクルの間に、チップのピン118−21上の信
号が、キャリ出力が読み出されにうとしているフラグレ
ジスタ292のアドレスを特定する。ビンI18−21
上の信号は、読み出し及び書き込みサイクルの間を変化
することもあり、送信側と行き先フラグが違うことがあ
る。
チップ上の全てのプロセッサ/メモリかアドレス及び出
力信号パス121に並列に接続されてるので、全てのプ
ロセッサ/メモリはピン10−27から同じ命令を受け
る。しかし、名命令の実行はコントローラ290のフラ
グの1個の状態によって条件付けされる。チップのピン
I22−25上の信号は、実行が条件付けられているフ
ラグのアドレスを特定し、ピンI26上の信号が、テス
トがゼロのためであるか、それともの1のためであるか
どうかを特定する。これらのアドレス信号はPLA15
0で復号化され、16本回線パス176上の16から2
とるセレクタ294へ送られる。ピン126上の信号は
、回線178上のXORゲート299に送られる。
XORゲートへ299は、回線178上の信号をパス1
7616本回線の1本上の信号によって特定されたアド
レスのフラグと比較される。2つの信号が同じものであ
ると、書き込み使用可能信号が、書き込みサイクルの間
に回線298上に発生され、これにより、読み出しサイ
クルの間に決定された合計とキャリ出力とが、RAMレ
ジスタA及びバス172上の信号によって特定されたフ
ラグレジスタ292内に書き込まれる。
ALU280 ALU280は、8から1をとる復号器282、合計出
力セレクタ284及びキャリ出力セレクタ286を含む
AL0280は、一時に3個のビット上で動作する。そ
のうちの2個はRAM250内のレジスタAと13から
の回線256.257上に、1個はフラグコントローラ
290からの回線296上にある。ALUは、2個の出
力を持ち、それらはRAM250のレジスタA内に書き
込まれる回線285上の合計、及び、フラグレジスタ2
92に書き込まれ、このプロセッサ/メモリが接続され
ている他のプロセッサ/メモリ36の北、東、南、西及
びディジーチェーンに加えられる回線287上のキャリ
とである。レジスタAをアドレスするピン15−8上の
信号は、読み出しと書き込みの間で変化することもあり
、読み出しサイクルの間に特定されたレジスタAは、書
き込みサイクルの間に特定されたものとは異なることも
ある。
ALUは、5種の基本動作ADD、OR、AND、MO
VE及びSWAPの変形の全てである32個の機能の合
計及びキャリ出力を発生することが出来る。特定の機能
が、ビン10、11及び12(表III)上の信号によ
って選択される。基本動作は、命令語中の適当なビット
を決めることによってALUへの3つの入力のいずれか
を選択的に補充することによって修正される。これらの
ビットは、ビンI2−14上のチップに用いる。基本動
作、チップ入力及び合計とキャリ出力の要約を表Vに示
す。
ここで、A、BとFはそれぞれ、レジスタA、レジスタ
B及びフラグコントローラからの出力であり、Vは包含
的OR動作、+は排他的OR動作、出力の組の間に記号
がないものはAND動作を表わす。上記の表に示される
ように、■2ビットは、MOVEと5WAP動作の区別
をするために用いられる。MOVE機能の合計出力とS
WAP機能の両出力は、A入力からは独立しており、結
果として、レジスタAからの入力の反転は、これらの動
作にとって意味がない、、MOVE機能のキャリ出力に
刻してレジスタAの内容は反転されない。
単一のチップ上の32個のプロセッサ/メモリ内にこの
能力を持たせるために、PLA180は、ALUへの入
力の全ての可能な組合わせに列してピンI0からI4ま
での異なる命令の各々のための合計及びキャリ出力テー
ブルを発生ずるようプログラムされている。ALUは、
ALUに加えられた入力の実際の組合わせのため適切な
合計出力及びキャリ出力を選択するたけである。ALU
280には、3本しか入力がないので、これらの入力上
の信号の可能な組合わせは8組しかない。即ち、000
,001,010、011、110.111である。こ
れら8組の組合わせに対して、PLA180は、表V中
の式で特定されているように合計出力及びキャリ出力を
発生する。従って、ビン10−I4上の命令によって特
定された132個の命令の各々に対して、PLA180
は、バス164の8本の回線上に可能な合計出力とバス
166の8本の回線上に可能なキャリ出力信号とを発生
する。これら2組の信号は、それぞれ、チップ上の各A
LUの合計出力セレクタ284及びキャリ出力セレクタ
286にあたえられる。
第7A図に示すように、これらのセレクタの各々はパス
トランジスタのアレイであり、パストランジスタの各々
は、復号器282の出力上の適切な信号によって使用可
能になるANDゲートを構成する。これらの出力のそれ
ぞれは、出力回線に隣接する桁の数字によって表示され
るようにその入力で受けた信号の8組の可能な組合わせ
の一つに相当する。それ故、回線285上の合計を出力
及び回線287上のキャリ出力とは、2個の信号となり
、1個は回線162の1本上にあり、他の1個は回線1
64上にあり、復号器272への入力の特定の組合わせ
のために表Vの式で定義された出力である。
例えは、AND機能を考えてみると、表Vに特定されて
いるように、この機能のための合計出力とキャリ出力は
、復号器282への少なくとも1個の出力が0−ビット
の時は0−ビットであり、出力は、復号器282への入
力全てが1−ビットの時のみ1−ビットレこなる。復号
器282への入力の8組の可能な組合わせのうちの1組
のみか全て1−ビットなので、8本の回線162のうち
の1本のみ、そしてPLA180からALU280への
8本の回線のうちの1本のみが、AND機能がピン10
上のI−ビット及びピン11上のO−ビットによって特
定された時に1−ビットを出す。従って、セレクタ28
4及び286内のゲートによって送られる帰りは、復号
器282への全ての入力が1−ビットの時以外は0−ビ
ットである。
ピン10−14上に特定された32個の機能のための回
線162及び164上の出力回線の完全な表が、表■に
示される。
これらの32機能、及びRAMレジスタ15とフラグコ
ントローラ双方のゼロのソースは、下記の動作の全てを
実行することが出来る。。
整列したフィールトの加勢または減算、定数の加算また
は減算、 フラグレジスタ及び/またはレジスタAへの出力を持つ
2つのレジスタのノール(または論理)機能の計算、 フラグレジスタ及び/またはレジスタAへの出力を持つ
レジスタA及びフラグのフール機能の計算、 1つのRAMレジスタから他へ、レジスタからフラグレ
ジスタへ、または、フラグレジスタからRAMレジスタ
への移動、 レジスタの桁移動または置換、 整列したフィールドを比較して1つか他と等しいか、他
より大きいか、あるいはまた、小さいかということの決
定、 フィールを定数と比較して一方が他と等しいか、他より
大きいか、または小さいがということの決定、 均等性をめるため、一時に2ビットの定数を持つ欄の比
較。
例えば、レジスタA及びBの内容を加算するためには、
レジスタA及びBを識別するビン15−18、19−I
12上の信号、及び、ADD命令が実行されるレジスタ
内の列を識別するピン13、−117上の信号とともに
、ADD命令00000を、チップパッケージ100の
ピンI0−14へ32回与える。
その上、ピンI18−121上の信号は、各ADD動作
への第3の入力とキャリ出力が書き込まれるフラグレジ
スタを構成するフラグを識別する。ビン122−I25
上の信号は書き込み段階か条件付けられようとするフラ
グを特定し、ピンI26上の信号が、テストの条件を特
定する。32個の命令の実行過程を通して、ADD命令
及びレジスタA及びBの識別が一定なので、ピンIOか
らI12上の信号は同しままである。ピンI13−I1
7上の信号によって示される列数は、ADD命令が実行
される度に1つずつ増加し、レジスタA及びB内の異な
る組のビットを呼び出す。ADDつ命令を最初に実行す
るには、読み出しサイクルの間にピン118−I21上
の信号は1111となり、ゼロフラグをアドレス指定し
、それによってキャリ入力をゼロで初期値を設定する。
ADD動作の残りの32回の実行の最初の書き込みサイ
クル及び読み出し書き込みサイクルのために、ビンI1
8−I21上の信号が、フラグレジスタ292のうちの
1つをアドレス指定し、キャリ出力がそこに記憶され、
そこから読み込み出されるようにする。回線285上の
合計出力は、レジスタ入力に書きもどされる。
減算は、減数であるレジスタ人力の相補を伴うA I)
 D命令によって実行される。乗算及び除算は、種々な
加算及び減算算法を用いて実11することかできる。
プール機能は、同じような方式で、一度に1列ずつ実行
される。AND及びOR機能の場合は、結果は合計出力
を経てレジスタAに与えられる。
結果は、キャリ出力を経てフラグレジスタにも与えても
よい。排他的OR(XOR)機能は、フラグがA及びB
入力のいずれかの組が同じではないかどうかを記録する
ために用いられるMOVE機能のキャリ出力によって与
えられる。NAND及びNOR機能は、全ての入力が相
補された時、それぞれ、OR機能及びAND機能から、
周知の論理式に従って与えられる。レジスタ転送動作も
、一度に1列ずつ、レジスタBと指示されたレジスタの
内容を、レジスタAと指示されたレジスタへ転送するM
OVE機能を用いて、同様に行なわれる。
データ桁移動動作は、SWAP機能及びフラグレジスタ
を用いて行なわれる。桁移動されるデータの各ビットは
、先ず、レジスタBと指示されたRAMレジスタ内のそ
の列から読み出され、指示されたフラグレジスタに記憶
される。次のSWAP命令の実行に際して、フラグレジ
スタ内のデータビットは、RAMレジスタ内の隣接する
列内に書き込まれ、RAMレジスタB内のその列中のデ
ータビットはは、フラグレジスタに書き込まれる。桁移
動の方向は、RAMレジスタ13内のデータが最も有意
性の少ないビットから最も有意性のあるビットへ、ある
いはその逆にアドレス指定されたかどうかによって決ま
る。。
SWAP機能は、レジスタBからキャリ出力回線へデー
タを与え、北、東、南、西またはデージーチェーンのい
ずれかからレジスタBヘデータを書き込むことによって
、データが1つのプロセッサから他へ送られるようにも
する。
比較演算の実現のための算法は、この技術に通した人々
にとっては前述の説明で明らかであろう。
例えば、2ビット間の違いは、それらを合計しキャリを
無視することによって識別出来る、その場合の合計が0
−ビットならば、違いはない。1−ビットであれば、違
いがある。プロセッサ/メモリーによる異なる命令の各
々を実行することからくるキャリ出力は、チップ上の最
も近い隣接プロセッサ/メモリの北、東、南及び西入力
への回線287上で使用可能である。これは、ディジー
チェーン内の次のプロセッサ/メモリのディジー入力に
も使用出来る。これら隣接するプロセンサ/メモリへの
入力を経て、キャリ出力は、チップ上の他の離れている
プロセッサ/メモリにも使用可能にさせることも出来る
NANDゲート293が動作可能になると、キャリ出力
は、通信インタフェース装置180及び径路指定回路2
00へのメッセージパケット出力信号回線123へも使
用出来るようになる。この手段によりキャリ出力はメッ
セージバケット内で、アレイ30中の他のどのプロセッ
サ/メモリにも送達される。
PLA160、RAM250、ALU280及びフラグ
コントローラ290についての前述の説明から、ここに
説明されたコンピュータシステムの並行処理能力を利用
したあらゆる種類のコンピュータプログラムを案出する
ことが可能であろう。これらの処理動作は、通常は、処
理されているデータに適するよう選んだ基本的クロック
サイクルPHIIの持続時間を持つ処理サイクルで実行
される。アレイ30の異なるプロセッサ/メモ136間
の相互作用を改善するには1個々のプロセッサ/メモリ
が径路指定回路200を通じて互いに通信することも出
来る。このような径路指定について討議する前に、CI
U180及び径路指定回路200の動作の理解が望まし
い。
D.通信インターフェース装置の説明 第6B図及び第8図に示すように、CIU180は否定
回路181、ラッチ182、タップされたシフトレジス
タ184、第1及び第2セレクタ186、188及び第
1と第2パリテイ論理回路190,192を含み、これ
らの要素の各々は、各図中に同じ番号で識別されている
。第8図に示すように、ラッチ182は第1と第2のD
−型フリップ−フロッブ312,314がら形、シフト
レジスタ184は73ビットのシフトレジスタで、入力
端子に続く、15番と17番のシフト位置の間に、入力
端子、出力端子及び出カタップを持つ。第1のセレクタ
186は、5個のデート320.322.324.32
6,328及びNORゲート330を含む。
そして第1のパリティ論理196は、第1と第2のD−
型フリップ−フロップ332.334、及びNORゲー
ト336.338から成る。これらの要素は、チップ上
のプロセッサ/メモリからの回線123上のメッセージ
パケットを受け取り、それらを、下記のいくつかのタイ
ミング及びデータ処理動作の後に径路指定回路200に
送信する。第2のセレクタ188は、否定回路340.
4個のANDゲート342.344.346.348及
びNORゲート352を含む。そして、第2のパリティ
論理は、D−型フリップ−フロップ356及びNORゲ
ート358を含む。これらの要素は、径路指定回路20
0からメッセージバケットのビットを受け取り、同様に
下記に述べるいくつかのタイミング及びデータ処理動作
の後で、チップ上のプロセッサ/メモリのうちの1つに
伝送する。
メッセージパケットが径路指定回路200に伝送される
時は、CIU180ては、径路指定サイクル中の指示さ
れた時点でプロセッサ/メモリから下記の情報を、否定
回路181への入力で受け取る用意がある。
これらの信号の全ては、シフトレジスタ184に与えら
れ、レジスタからセレクタ186へシフトされる。しか
し、これらの信号のあるものは、ラッチ182、セレク
タ186及びパリティ論理190にも与えられる。
径路指定回路200は、メッセーシバケットが送られる
径路指定サイクルの最初のクロックサイクルで始まる回
線194上の低い信号を受け取ることになっている。径
路指定回路200は、指定された基本クロックサイクル
で回線196に下記の情報も受け取ることになっている
このメッセージパケットの様式は第4図に描かれている
。回線割り当て装置205によって導入される15クロ
ックサイクルにもなる時間の遅れのために、メッセージ
パケットが完全に処理され、1個又はそれ以上の径路指
定回路によって伝達されるには、少なくとも合計88ク
ロックサイクルを要する。従って、径路指定サイクルの
長さは、第9図に示すように88本の基本クロックサイ
クルになる。
CIU180から径路指定回路200への信号の流れを
制御するには、タイミング発生器140が、第9図に示
すタイミング信号を発生する。回線123上のCIU1
80が受け取ったメッセージバケットは第9図の上部近
くの2本の線内に描かれている。
メッセージパケットに関連するCIU180で受け取ら
れた最初のビットは、クロックサイクル53で受け取ら
れたパリティビットである。このパリティビットは、信
号TOCIU−PARITY−Inが、クロックサイク
ル53の間に、フリップ−フロップ332のセラト端子
に与えられた時に、このフリップ−フロップ内にセット
される。このビットは、送信側ICの絶対値中のアドレ
スのパリティである。、フリップ−フロップ334及び
XORゲート336は、タロックサイクル15での様式
ビットで始まり、クロックサイクル72のメッセージの
終りまで続くメッセージパケットのパリティを計算する
、このパリティビット及びフリップ−フロップ332内
に記憶されたビントは、それからXORゲート338に
よって比較され、その結果のビットはセレクタ186へ
送られ、そこで反転され径路指定回路200に送り出さ
れる。
パリティビットは、メッセージパケットがその行き先に
径路指定されるにつれて相対アドレス中に出来る変化を
償うためにこの方式で計算される。
メッセージパケットの相対アドレスは、メッセーシパケ
ットが、信号回線123ヘプロセッサ/メモリから読み
出される時に計算される。そしで、この相対アドレスの
コピート個を含めてメッセージパケット用のパリティビ
ットは、フリップ−フロップ334及びXORゲート3
36によって計算される。
相対アドレスが、1−ビットの奇数を持っていると、こ
のメッセージパケット用のパリティビットは、メッセー
ジパケットがその行き先で受け取られた時に間違ってい
るであろう。これを補正するために、もし送信側のIC
アドレスのためのパリティビットが1−ビットならば、
CIU180がXORゲート内の計算されたパリティビ
ットを変える。行き先では、CIU180が、受は取っ
たメッセージパケットのパリティビットを再度計算し、
メソセージパケットで受け取ったパリティビットが1−
ビットならば、それを変える。最後に、結果として出た
パリティは、行き先ICのアドレスのパリティビットと
比較される。これら2個のビットが同じならば、パリテ
ィエラーはなかったことが分かるはずである。
クロックサイクル54の間に、メッセージパケットを次
の径路指定サイクルに送信しなければならない時は、C
IU180に1−ビット与えられる。このビットは、否
定回路181によって反転させられ、信号TOCIU−
MP−inが、クロックサイクル54の間にこのフリッ
プ−フロップのセット端子に伝えられた時に、フリップ
−プロップ312内にセットされる。
その結果、メッセージパケットが送信されなけれがなら
ないと、フリップ−フロップ312のQ出力端子は、ク
ロックサイクル54につれて低くなる。グロックサイク
ル55から86の間に、メッセージデータは、シフトレ
ジスタ184の入力端子に入れられ、それを通ってシフ
トされる。レジスタは73ビットの長さなので、メッセ
ージデータは、次の径路指定サイクルのクロックサイク
ル40の間にシフトレジスタの出力に現われはじめる。
クロックサイクル87の間、フリップ−フロップ312
のQ端子の出力信号は、信号TLASTがフリップ−フ
ロップ314のセット端子に入った時に、フリップ−フ
ロップ314内にセットされる。その結果、メッセージ
が送られる時は、径路指定サイクルの始まる前から、Q
端子には低い信号が、そして、フリップ−フロップ31
4のQ端子には高い信号か存在する。第8図に示すよう
に、フリップ−フロップ314のQ端子は、ANDゲー
ト328への1つの入力に接続され、Q端子は回線19
4に接続される。従って、もしメッセージが送られると
すると、回線194上の信号は第9図に示すようになる
クロックサイクルO−14の間、メッセージデーットの
行き先のICアドレスが、シフトレジスタ184及びA
NDゲート326への回線123に送られる。
これらのクロックサイクルの間、ANDゲート326は
信号TOCIU−Addによって動作可能になり、その
ためICアドレスは、NORゲート330を通って径路
指定回路200への回線196へ送られる。タロックサ
イクル15の間に、ANDゲートは信号TOCIU−M
P−OUT′によって使用可能になり、フリップ−フロ
ップ314のQ端子からNORゲート330及び回線1
96へ信号を送る。メッセージを送ろうとすると、Q端
子の信号は低い信号であるがそれがNORゲーグー33
0によって反転され、メッセージパケットの様式ビット
のための高い信号を発生する。
クロックサイクル15−19の間では、行き先IC内の
特定のプロセッサ/メモリのアドレスがCIU180に
送られ、シフトレジスタ184にシフトされ、クロック
サイクル20−23の間に、行き先プロセッサ/メモリ
内のレジスタのアドレスが、シフトレジスタにシフトさ
れる。
クロックサイクル16−39の間に、ANDゲート32
2が、信号TOCIU−TAPによって動作可能になる
これらのクロックサイクルの間、行き先ICアドレスの
15ビット、プロセッサ/メモリアドレスの5ビット及
びレジスタアドレスの4ビットが、16番目と17番目
シフト位置の間に連続して現われ、ANDゲート322
及びNORゲート330によって回線196へ送られる
クロックサイクル40−71の間では、前回の径路指定
サイクルの間にシフトレジスタ184内に挿入されたメ
ッセージデータが、シフトレジスタの出力端子から現わ
れはじめる。これらのクロックサイクルの間、ANDゲ
ート124は信号TOCIU−DATAによって動作可
能になり、メッセージデータはNORゲート330を通
って径路指定回路200への回線196へ送られる。ゲ
ート324は、どのクロックサイクルの間にも動作可能
にされないので、前回のサイクルのクロックサイクル5
5−86の他の時にシフトレジスタ184に送られたデ
ータは、いずれも否定される。
最後に、タロックサイクル72の間は、ANDゲ−ト3
20は信号ToclU−PARITYによって動作可能
になり、パリティビットはNORゲート330を通って
径路指定回路200への回線196へ送られる。結果と
して、径路指定サイクルの間の回線196上の信号は第
9図に示すようになる。
メッセー■パケットが径路指定回路200から受け取ら
れると、回線197上の信号はクロックサイクル45間
に低くなり、次の径路指定サイクルが始まるまで低いま
までいる。加えて、CIU180は、表示された基本ク
ロックサイクルで回線198上の径路指定回路200か
ら下記の情報を受け取ることになる。
回線199上の信号は径路指定サイクルの終りに低くな
り、回線194上の信号が代わるまで低いままでいる。
入ってくるメッセーパケットがCIU180で受け取ら
れている時に、CIUは表示されている基本クロックサ
イクルでメッセージデータ入力信号回線122へ下記の
信号を送る。
この信号の流れを制御するには、タイミング発生器14
0も第10図に示されている信号を発生する。
CIU180からのメッセージ注入器トが径路指定回路
200によって受け取られ送り出されている場合は、回
線199上の信号は、径路指定サイクルの初めから低い
。クロックサイクル0−44の間にANDゲート346
は信号T:ciu−MWINによって動作可能になり、
この信号をNORゲート352へ通し、そこで半減され
て信号回路122へ1ビットとして送られる。
入ってくるメッセージバケットがあるという事実は、回
線197上の信号か、クロックサイクル45の間に低く
なる時に、確実なものになる。この信号は、クロックサ
イクル45の間に信号TICIU−MP−inによって
動作可能にされてしするANDゲート342に送られる
。その結果、低い信号がNORゲート352を通って送
られ、クロッタサイクル45の間に、メッセージデータ
入力回線122上に高い信号を加える。
クロックサイクル46−50の間に、セレクタ188は
入ってくるメッセージパケットが送られて行くプロセッ
サ/メモリのアドレスを回線198上に受け取る。この
信号は、否定回路340によって反転され、クロックサ
イクル46から86の間に信号TICIU−M−inに
よって動作可能になっているANDゲートに送られる。
その結果、プロセッサ/メモリのアドレスはNORゲー
ト352を経て信号回線122に通される。
同じような方式で、クロックサイクル51−54及び5
5−86の間に、セレクタ188は回線198上に入っ
てくるメッセージバケットが送られているレジスタアド
レスとメッセージパケットのデータを受け取る。これら
の信号も否定回路340によって反転され、ANDゲー
グー348及びNORゲート352を通ってプロセッサ
/メモリ36への信号回線122へ通される。回線19
8上に受け取られる信号も、受け取られたメッセージパ
ケットのパリティビットへの計算のためにXORゲート
58及びフリップ−フロップ356へ送られる。
タロックサイクル87の間に、メッセージ検出器トのパ
リティビットは、回線198上に受け取られる。それは
計算されたパリティビットとXORゲート358で比較
され、結果として出たパリティビットがANDゲート3
44に与えられる。クロックサイクル87の間に、AN
Dゲート344が動作可能になり、パリティビットかN
ORゲート352を経てメッセージデータ入力信号回線
122に与えられる。
その結果、径路指定サイクルの間にプロセッサ/メモリ
に送られる信号は第10図に示す通りである。
E.径路指定回路の説明 序論 第6B図に示すように、径路指定回路200は回路割り
当て装置205、メッセージ検出器210、バッファ及
びアドレス復元器215、及びメッセージ注入器220
を含む。回線割り当て装置205は、実質的には同一の
径路指定論理セルの15×15のアレイを含む。このア
レイの各列が、ブール15−立方体の1次元中のメッセ
ージパケットの出力を制御する。
このアレイの各行は、径路指定回路200中の1メッセ
ージパケットの記憶を制御する。9個のそのような径路
指定セル400が第11図に描かれているが、左側の列
中の3個は、第1次元に関連し、中間の列の3個は第2
次元と関連し、右側の列中の73個は、第15次元と関
連している。セルの各列は、その次元に関連する出力回
線39に接続する出力バス410を持つ。行については
、下の3個がアレイ内で最も低いセルで、入力回線38
から入力を受ける。上部3個のセルがアレイ内の最上部
のセルである。中間の3個のセルは、底部と上部の間の
どのセルの代理をするものであるが、図示されているよ
うに、最下行に接続されている。
同じく第11図に示されているのは、3個の処理及び記
憶手段420で、回線割り当て器205中の対応する3
行のセルからのメッセージを処理し記憶する径路指定回
路200のメッセージ検出器210バッフア及びアドレ
ス復元器215及びメッセージ注入器220の部分を表
わしている。12個の似たような処理及び記憶手段(図
示されず)が、他の行からのメッセージを処理し記憶す
るために使用される。手段420は、第15図において
より詳細に説明される。
径路指定において何の矛盾もおきなければ、メッセージ
パケットは、第1次元の径路指定セルへの入力から、プ
ロセッサ/メモリ内のレジスタへ径路指定され、プロセ
ッサ/メモリへは、88個の基本クロック信号の1回の
メッセージサイクルの間にアドレス指定される。径路指
定に矛盾があると、メッセージパケットは、1ケ所又は
それ以上の中間地点で径路指定回路の処理及び記憶手段
内に一時的に記憶され、このメッセージパケットをその
行き先へ径路指定するには、1つ以上の径路指定サイク
ルが必要となる。
第11図は、各径路指定セル400の入力及び出力端子
の便利な概略図になっている。下の行に沿っている3個
のセル400が示すように、ブール15−立方体の違う
次元からのメッセージパケットは、NANDゲート40
5に送られる。これらのゲートは、リセット状態の間で
なけれはいっても動作可能である。各NANDゲート4
05の出力は、反転されたメッセージパケットであるが
、最下行のセル400の1個の入力端子Linに送られ
る。端子Linにメッセージパケットが存在することを
表示する信号も、同じセルの入力端LPinに送られる
。下段の各セルのために、このメッセージの存在する信
号は接地され、このことは、セルで受け取ったメッセー
ジパケットをさらに処理するために、下行の隣の列中の
セルを条件付けする効果を持つ。後に明らかになるが、
セルへの入力にメッセージパケットの存在を示すこのよ
うなメッセージの存在する信号が、径路指定回路200
全体に用いられ、メッセージパケットのための回路20
0を通るデータ径路を確立する。
回路38の1本から受け取られたメッセーシパケットは
、端子M−OUTからの1つの列内の最下部のセル40
0の外へ径路指定され、そのJぐ右の列内のセル400
の端子M−INに印加される。同時に、メッセージの存
在する信号は、端子MP−OUTからすぐ右のセルの端
子MP−INへ径路指定される。
いずれかのセル400のM−IN端子で受け取られる信
号は、他にどんな信号がそのネットワーク中にあるかに
よってBUS端子、Uout端子又はM−OUT端子の
いずれか1つの上にあるセルの外へ径路指定してもよい
。1つの列中の全てのセル400のBUS端子は、共通
の出力バス410に接続され、共通出力バス410はX
ORゲート415を経て、ブールn−立方体のその次元
中の最も近い隣接セルへの出力回線39に接続される。
XORゲート415への他の入力は、タイミング信号t
−INV−OUTnであり、ここのnは次元の数である
。このタイミング信号は、メッセージバケット内の複製
アドレス内の適切なアドレスビットを相補し、メッセー
ジパケットがブール15−立方体を通って移動するにつ
れ、このアドレスを更新する。
Uout端子からセルを出るメッセージは、列内でその
すぐ上方にあるセルのLin端子に送られ、Lin端子
に受け取られる信号と同し方式でそのセルによって処理
される。メッセージのある信号は、同じ方式で、UPo
ut端子から、そのすぐ上方のセルのLPin端子へ転
送される。
各列のセル400内の回路系は、各列(または次元)の
出力バス上で、上部に最も近い行内を循環している次元
にアドレスされたメッセージを置き、全ての行を上部の
行に向かって詰めるように設計されている。この目的の
ために、制御信号グレント(G)及びオールフル(AF
)が各列に用意され、列の個々のセルに、同じ列内でそ
れらの上方にあるセルの状態を知らせる。特に、グラン
ト(G)信号は、各列又は次元の出力バス410へのア
クセスを、Gin及びGout端子を通ってセルの各列
へ送られる信号によって制御する。この信号を伝播する
回路系は、その次元へアドレス指定されている各列の最
上部のメッセージパケットへバスアクセスを与え、その
桁の下方のセルのいずれかにあるメッセージが、出力バ
スの上に径路指定されるのを防ぐ。オールフル(AF)
信号は、あるセル400から同じ桁内のすぐ上のセルへ
のメッセージの転送を、AFout及びAFin端子を
通じて各セルへ、列内の上方にある各セル内にメッセー
ジがあるかどうかを知らせることによって制御する。
上部のいずれかのセルが空であると、下方の各セル内の
メッセージが1列内の1セル上へ移動する。
セル内のあるフリップ−フロップの動作は、タイミング
信号t=COLnによって制御される。
この立は次元の数である。一方、他のフリップ−フロッ
プは、基本クロック信号PHI1によってクロックされ
る。下記の説明から明らかになるように、各列内の径路
指定セルは、アレイ30内の全ての径路指定回路の同じ
列内の他の径路指定セルと同期して動作する。
頂上の行のセルには、AFin端子への入力が常に高い
。これらのセルにとって、Gin端子への入力信号は、
リセット信号の補数であり、それ故に、リセットの間以
外は高くなる。その結果、列内の上部セル中のメッセー
ジパケットは、その次元向けにアドレス指定されていれ
ば、通常は出力バス420への呼び出しを持っている。
しかし、もし出力回線39が故障するようなことがある
と、その回線に関連する次元の上部セルのGin端子に
低い信号を送ることにより、相互接続されている15−
立方体のネットワークからこの回線を取り除くことが出
来る。セル400の下行では、Gout端子からのグラ
ント信号が、出力バスに接地を与えることの出来るパス
トランジスタ425を制御するために用いられる。特に
、その出力回線上に送り出されるメッセージがない場合
は、0−ビットが、その次元の出力回線に書き込まれる
回線割り当て装置205 回線割り当て装置205の論理回路系の詳細が第12図
に示されている。この図は、例示的に最下部の2行及び
第1と第2の次元に関連する列内にあげた4個のセルを
示す。回路は、下記に説明されるように、ORゲート4
80を除いて、はぼ同じである。各回路は、第11図に
関して説明したように、入力回線又は端子Lin、LP
in、M−IN及びMP−INを持つ。各回路は出力回
線又は端子Uout、UPout、バス、M−OUT及
びMP−OUTも持つ。制御信号は、端子Gin及びA
Finで各セルに与えられ、最下部のセルを除いて、こ
れらの制御信号は、端子Gout、及びAFoutを経
て列内の、次に下方のセルへ送られる。
論理回路系は、2個のNANDゲート450及び452
、端子M−OUT及びMP−OUTへの出力信号の選択
を制御する4個のANDゲート460.462.464
及び466、NANDゲート470及び、ANDゲート
460及び464の組、またはANDゲート462及び
466の組のどちらかを動作可能にする否定回路472
、ANDゲート460と462の出力を結合させるNO
Rゲート476、そして、ANDゲート464と466
の出力を結合させるNORゲート478とを含む。
否定回路472の出力は、端子AFoutによって、列
内の、次に下方のセルに与えられ、M−INとMP−I
N回線からUoutとUPout回線への信号の桁移動
を制御するオールフル(AF)信号でもある。さらに、
最下行のセルは、その入力がAFinとM−IN端子に
接続されているORゲート480を含む。各セルは、3
個のD−型フリップ−フロップ490.492及び49
4.バス駆動500そして、バス駆動とグラント信号を
制御するための論理回路502も持つ。
フリップ−フロップ490は、列クロック信号t−CO
Lnを受け取るとメッセージパケットの先頭ビットを記
録し、88個の基本クロックサイクルあとで次の列クロ
ック信号を受け取るまで、この信号を保持する。先頭ビ
ットが1−ビットの場合、および、出力パス410が、
列内でより高いセルにグランドされていない場合には、
論理回路502はバス駆動に低い信号を送る。バス駆動
500への回線上の低い出力は、パス駆動を動作可能に
し、NANDゲート450、452及び470を動作不
可能する。その結果、入力端子M−IN−上のメッセー
ジはパス410上を、その列又は次元に関連する出力回
線39へ径路指定される。NANDゲート470が動作
不可能な時は、その出力は高く、ANDゲート462,
466を動作可能にし、否定回路472がらの出力を低
くさせ、それによってANDゲート460.464を動
作不可能にする。その結果、次に下方のセルに送られた
オールフル(AF)信号は低く、列内の上に空のセルが
あるということをそのセルに知らせ、ANDゲート46
2.466は動作可能になって入力端子LinとLPi
nで受け取った信号を通すようになる。
メッセージパケットの先頭ビットが0−ビットである場
合、または、径路指定セルのM−IN端子にメッセージ
パケットがない場合には、バス駆動500への論理回路
502の出力は高くなる。バス駆動への高い信号は、N
ANDゲート450.452及び470にも送られ、ゲ
ート450及び452を動作可能にする。端子AFin
におけるオールフル信号も高い場合は、その列内の上刃
のセルの各々にメッセージかあることを知らせており、
NANDゲート470も動作可能になる。
ゲート470が動作可能の時に、MP−IN端子の信号
が高いと、その高い信号は否定回路472を経て、AN
Dゲート460と464に送られ、それらのケートを動
作可能にし、近い信号がANDゲーゲート462と46
6に送られ、これらのゲートを動作不可能にする。その
結果、M−IN及びMP−IN端子における信号は、N
ANDゲート450.452、ANDゲート460.4
64、そしてNORゲート466.468を通って、フ
リップ−フロップ492、494への入力へ送られる。
フリップ−フロップ492は、全ての基本クロックサイ
クルPH1でセットされる。その結果、フリップ−フロ
ップ492を通って送信されるメッセージパケットの最
初の出力ビットは、フリップ−フロップ490に送られ
る先頭ビットのすぐ後に続くビットであり、メッセージ
パケットのもとの先頭ビットは破棄される。さらに、新
しい先頭ビットは、径路指定セルの出力端子M−OUT
で利用出来るようになる前に、1回の基本クロッタサイ
クル分、遅くなる。そこで、メッセージパケットの各後
続ビットは、このフリップ−フロップを通じてクロック
され、端子M−OUTで、次のセルのM−IN端子に利
用出来るようにされる。
フリップーフロップ494も、同様にすべてのクロック
信号PHI1でセットされるか、このフリッブ−フロッ
プの出力は、メッセージパケットの持続時間中は一定に
なっている。その結果、フリップ−フロップ494への
入力に送られる高い信号MP−INは、メッセージパケ
ットの新しい先頭ビントが出力端子M−OU Tで利用
出来るようになるのと同時に、径路指定セルの出力端子
MP−OU Tで利用出来るようになる。MP−OUT
端子での信号は、それから、次のセルのMP−IN端子
へ送られ、M−IN端子で受け取られたメンセージバケ
ットのために、そのセルに通るデータ通路を確立するた
めに用いられる。
フリップ−フロップ492.494が、回線割り当て装
置205の15列の各々のセル400に存在することか
ら、メッセージパケットか、1個又はそれ以上の回線割
り当て装置の15列又は次元を通って行くうちに、]5
個の基本クロックサイクル分近くなる。
NANDゲート470が動作可能になった時にMP−I
N端子の信号が低いと、ゲート470の出力は高くなり
、ANDゲート462,466を動作可能にし、否定回
路472からの出力を低くする。その結果、次に低いセ
ルに送られたオールフル(AF)信号は低くなり、その
セルに、列内の上に空のセルがあることを知らせ、AN
Dゲート462,466は動作可能になり、入力端子L
in及びL、Pinで受け取られた信号を通すようにな
る。
セルで受け取られたオールフルが低い時、NANDゲー
ト470は動作不可能になり、ANDゲート460及び
464も動作不可能になる。このようにして、M−IN
端子のいずれのメッセージバケットもM−OUT端子に
径路指定されなくなる。
しかし、もしメッセージパヶットの先頭ビットが0−ビ
ットであれば、ANDゲート450,452は、セット
信号t−COLnがフリップーフロップ490に送られ
た後に、動作可能になる。さらに、ANDゲート462
,466は、その列内のそのセルの上方の次のセル内で
動作可能になる。その結果、M−IN及びMP−IN端
子は、UOUT及びUPOUT端子を経て、その列内の
次に高いセルの17.。及びLPin端子へ送られ、A
NDケ−ト462.466及びNORゲート476.4
78を通って、その次の高いセル内のフリップ−フロッ
プ492.496にへ送られる。
これらのフリップ−フロップは、径路指定セルのその列
内の他のフリップ−フロップ全てと同じょうに、そして
、同期して動作し、メッセージバケットへ及びメッセー
ジのある信号を、そのセルの出力端子M−ouT及びM
P−○UT端子に与える。
セルの最下行内の各セルのORゲート480は出力バス
4]Ofに、M−IN端子を通ってセルの最下行のセル
に入るか、さもなけれは、列内のそれより上にあるセル
が全て満たされているので、M−OUT端子を通ってそ
のセルから出て行く。このことは、メッセージパケット
のアドレスに関係なく、セルのその列に関連のある次元
上に、入ってくるメンセージパケットのために径路指定
回路内に場所があることを確かめるために行なわれる。
オールフル信号は、列内の上方セルの全てが満たされて
いる時に高くなり、そのような状況のもとで、出力ハス
が利用出来るようになる。従って、メノセージパケット
の最初のアドレスビットの状態に関係なく、ORゲート
480の出力は高くなり、フリップ−プロップ490へ
の入力は、メッセージパケットの先頭ビッl−が1−ビ
ントの時と同じになる。このビットが、フリップ−フロ
ップ490にセットされた時、論理回路502の出力は
、バス500への低い信号となり、それがバス駆動を使
用可能にし、M−INからのメッセージパケットを、そ
のメッセージパケットのアドレスに関りなくバス420
に送る。
各列又は次元のXORゲート415は、ヒット位置16
から30においてメッセーシバケットの相対アドレスを
更新する。このグートへの1個の入力は出力バス410
上を回線39向けに送り出されるメッセージバケットで
ある。他の入力は、信号t−INV−outnであり、
ここでnは次元の数であり、メッセージパケットの第2
のアドレス内のその次元のためのアドレスビットと同時
に、各次元のXORゲートに送られる。その結果、相対
アドレスビットは、メッセージパケットが、その次元上
に径路指定されたことを示して、相補されろ。メッセー
ジパケットが、出力バス410上に押し出されない時は
、メッセージバケット内の第2のアシレス内の関連のあ
るビットはO−ビットになり、このビットが1−ビット
に相補され、メッセージパケットが、その次元の希望す
るアドレスから径路指定されて離れたことを知らせる。
後に、この次元内の希望するアドレスにメッセージパケ
ットを径路指定してもどすことが必要になる。
論理回路502の詳細は第13図に示される。ある列内
のセルの論理回路502を通しての伝播遅延を最小限に
するために、グラント信号が、列内の全てのセル内で反
転される。その結果、奇数行内の論理回路502の内部
回路は、列内の偶数行のものとは異なる。第13図にお
いて、」二部行は、ゼロ行と考えられ偶数である。偶数
行内の論理回路は502″で、奇数行は502′で識別
される。各偶数論理回路502“は第1及び第2のNA
NDゲートグー20.525を含む。各奇数論理回路5
22は、NANDゲーート、NORケ−ト535及び否
定回路540を含む。
NANDゲート20及び530はバスアクセスのクラン
トを制御する。これらのゲートの両方の入力が高いと、
ゲートは、出力ハス410へのアクセスをグラントする
低い出力信号を出す。もしハスアクセスが、偶数番のセ
ル502″によってグラントされると、NANDゲート
5の出力は高くなる。
バスアクセスが奇数番のセル5o2′によってグランド
されると、NORゲートへの出力は低くなる。
さらに、もし高い信号が、列内で上方にある偶数番のセ
ルから奇数番のセルに受け取られると、NANDゲート
530の出力は高くなり、NORゲート535の出力は
低くなる。また、低い信号が、列内で上方にある奇数番
のセルがら偶数番のセルに受け取られると、NANDゲ
ート520及び525の出力は高くなる。その結果、1
個のセルが出力バス420にアクセスをグラントする時
はい−)でも列内でその下方にあるセルはいずれb出方
ハスにアクスすることが出来なくなる。逆に、バスアク
セスがグランドされないと、各セルは、そのすく下方の
セルに、もしアクセスが要求されているならば、そのセ
ルがバスアクスをクランド出来るようにする信号を送る
違う列内のセル400が、メッセージバヶノトのアドレ
スビットを処理するようにタイミング信号t−COLn
によって調時される。径路指定サイクルの初めに、径路
指定されるべき全てのメッセージバケットは、異なるI
C35内の回線割り当て装置205のセル400への入
力M−INに出される。15個のアドレスビットの各々
は、それから一度に1個ずつ、2回の基本クロックサイ
クルの15アドレス時間に分析される。第14図に示す
ように、タイミング信号t、−COL□は、基本クロッ
クサイクルOの間に、全ての回線割り当て装置の最初の
列のフリップ−フロップ490に送られる。その結果、
各メッセージパケットの第1ビットは、フリップ−フロ
ップ490によって記録され、1−ビットのための論理
回路502によってテストされる。各回線割り当て装置
の最初の列内の論理回路502は、各回線割り当て装置
における頂部に最も近い行内に位置する先頭1−ビット
を持つメッセージパケットへの第1次元のバス410へ
のアクセスをグランドする。その結果、先頭1−ビット
を持つメッセージパケットの少なくともいくつかは、第
1次元の出力バス上へ径路指定され、出力回線:39ト
を、最も近い隣接IC内の回線割り当て装置の最初の列
内の最下部の径路指定セル400へ送り出される。
全ての回線割り当て装置の第1次元のセルのM−IN端
子にある他のメッセージパケットは、最初の列のセル内
で上方へ詰められフリップ−フロップ492を通ってセ
ルの最初の列のM−OUT端子にクロックされる。同時
に、最も近い隣接ICへ径路指定されたメッセージバケ
ットは、それらのICの回線割り当て装置の最初の列内
の最下部のセルによって受け取られ、それらのセルのフ
リップ−フロップ492を通ってM−OUT端子にクロ
ックされる。上記のように、フリップ−フロップ492
は、1回のクロックサイクル分、メッセージバケットを
送らせ、フリップ−フロップ490へ出された先頭ビッ
トは破棄される。
タイミング信号t−COL2が、クロックサイクル2の
間に、回線割り当て装置内のセルの2番目の列のフリッ
プ−フロップに送らAしると、これらのフリップ−フロ
ップが、各メッセージパケットの新しい先頭ビットを記
録する。再び、各回線割り当て装置の2番目の列内の論
理回路502が、各回線割り当て装置の2番目の列の最
上行内に先頭1−ビットを持つメッセージパケットへ、
第2次元のバス410へのアクセスをグランドする。そ
して、他のメッセージパケットは、セルの2番目の列内
で上へ向って詰められ、1回のクロックサイクル分の遅
れの後で各セルのM−OUT端子へ送られる。再び、最
も近い隣接ICへ第2次元のバス410を径路指定され
ているメッセージバケットは、そのセルの回線割り当て
装置の2番目の列の最下部のセルで受け取られ、それら
セルのフリップ−フロップ492を通ってM−OUT端
子にクロックされる。メッセージパケットの先頭ビット
も破棄される。
同じような方式で、各メッセージバケットは、回線割り
当て装置の残りの13次元を通って進み、各列内で先頭
ビットはテストされ破棄され、また、メッセージパケッ
トは1回のクロックサイクル分、遅延される。この処理
が進行している間にメッセージパケットは、1個のIC
の回線割り当て装置から他のiCの装置へ、そのアドレ
スビットによって特定されているが希望する出力回線:
39が利用出来ることが条件の径路指定に従って、進ん
で行く。その結果、クロックサイクルz9の後、各メッ
セージパケットの最初の15ビットは破棄されているが
、各メッセージバケットの書式ビットは、回線割り当て
装置の15番目の列内のセルの1個中のフリップ−フロ
ップ492の出力に達している。もし、何の径路指定障
害も起きなければ、この回線割り当て装置は、行き先に
置かれ、メッセージパケットはその行き先プロセッサ/
メモリにJjえられる。
もし径路指定障害が起きるようならば、メッセージパケ
ットは中間地点にいて、その旅を終えるまでにさらに少
なくとも1回径路指定ザイクルを持たなければならない
。クロックサイクル21)の完了時には、メッセージバ
ケットの残りは、古°式ビノトの後に連なり、メッセー
ジへ′ケットの最初の29ビットは、1個又はそれ以上
のICの同線割り当て装置内に、最後の27ビットは、
メッセージバケットが始まったICのCIU180のシ
フトレジスタ184内にまだ置かれている。
例えば、メッセージパケットがIC00O000000
000111から始まり、IC11000000000
0010ヘアドレスされるとすると、メッセージパケッ
トによって特定された相対アドレスは、1100000
00000101になる。もし、径路指定障害がなけれ
ば、このメッセージパケットは、IC00000000
0000111内のプロセッサ/メモリの1個によって
作成され、処理及び記憶手段420へ送られる。径路指
定サイクルのタロックサイクルOから始まり、このメッ
セージパケットのビットは、このICの回線割り当て装
置の最初の列内のセル400の1つのM−IN端子に一
度に1個ずつ出される。アドレスタイム1中のタロック
サイクルOの間に、タイミング信号t−COL1が、各
回線割り当て装置の最初の列のフリップ−フロップ49
0に送られる。IC000000000000111で
は、これがフリップ−フロップ490内のアドレスの先
頭ビットを記録する。このビットは1−ビットであり、
径路指定障害もないと仮定しているので、論理回路50
2がメッセージバケットを、第1次元のバス410へ径
路指定する。従って、メッセージパケットは第1次元の
アドレス回線39から1ζへ径路指定され、I C10
0000000000111へ行き、そこで、セルのm
初の列内の最下部のセルのフリップ−フロップに送られ
る。そこで、メッセージバケットは、1回のクロックサ
イクル分遅延される。2回目のアドレス時間のクロック
サイクル2の間に、メッセージパケットの新しい先頭ビ
ットがテストされ、再び1−ビットであることがわかる
。従って、メッセージバケットは、今回は、アドレス1
10000000000111を持つICへ、第2次元
の出力回線39を下へ径路指定される。次の10回のア
ドレス時間のクロックサイクル4,6・・・22の間に
、ICアドレスのその時の先頭ビットが、IC1100
00000000111の回線割り当て装置の3−12
の各列内の論理回路502によってテストされる。いず
れの場合も、論理回路が0−ビットを識別し、メッセー
ジバケットを回線割り当て装置の中を上へ向って詰め、
先頭ビットを破棄し、1回のクロックサイクル分の遅れ
の後に次の列上メッセージパケットを径路指定する。
13番目のアドレス時間内のクロックサイクル24の間
に、論理回路502がその時のICC10レスの先頭ビ
ットをテストし、1−ビットを識別する。
径路指定に何の障害もないと仮定して、メッセージパケ
ットをIC110000000000011へ径路指定
し、そこで、回線割り当て装置の13番目の列内の最下
部のセルによって受け取られ、1回のクロックサイクル
分遅延される。
14番目のアドレス時間のクロックサイクル26の間に
、タイミング信号t=cOL14か、各回線割り当て装
置の14番目の列のフリップ−フロップ490に送られ
る。I Cll0000000000011においてO
−ビットは、14番目の列内で最下部のセルのフリップ
−フロップ490内に記録される。その結果、メッセー
ジパケットはそのIC内に留められ、1回分のタロック
サイクルの遅延の後にセルの15番目の列に送られる。
15番目のアドレス時間のクロックサイクル28の間に
、タイミング信号t=COL15が、各回線割り当て装
置の15番目の列のフリップ−フロップ490に送られ
る。セルアドレス110000000000011でこ
れらのフリップ−フロップの一つが、メッセージバケッ
トのアドレス内の残りの1−ビットを記録する。径路指
定に何の障害もないと仮定すると、論理回路502はメ
ッセージパケットのバスアクセスをグラントし、メッセ
ージパケットをアドレス11000000000001
0の回線割り当て装置内の最下部のセルのフリップ−フ
ロップへ径路指定する。タロックサイクル30の初めし
こ、メッセージパケットの書式ビットが、アドレス1.
10000000000010の径路指定回路の記憶及
び処理手段に出される・ メッセージパケットの径路指定の間に、信号t−INV
nが、回線割り当て装置の異なる列または次元のXOR
ゲート415へ、メッセージバケットの複製アドレス内
のその込元のためのアドレスと同時に送られる。これら
の信号は、その時にメッセージバケットが径路指定され
ている複製1Cアドレスのその次元のためのアドレスビ
ットを相補する。こわらの信号の数個を第14図に示す
。上記のメッセージパケット径路指定の例として、クロ
ックサイクル16.18.40及び44での信号が、メ
ッセージパケットの複製相対アドレスの4個の1−ビッ
トを反転する。その結果、メッセージパケットか、記憶
及び処理手段に出される時、複製アドレスの全てのビッ
トへかO−ビットである。
記憶及び処理手段420 記憶及び処理手段420は、メッセージパケットをチッ
プ上のプロセッサ/メモリへ径路指定し、プロセッサ/
メモリからメッセージパケットを送り出し、特殊な出力
回線39か先に配置されてしするために、受は取ってす
ぐにセルから送り出せな6>メッセージパケットを記憶
する。第11図に示すように、経路指定回路の回線割り
当て装置205内のセル400の各行に、ブロック42
0で識別される個別の処理及び記憶装置がある。各ブロ
ックへの入力端子は、回線割り当て装置の15番目の列
内の対応するセルの出力端子M−OUTに接続されてい
るD−IN、用意されたメッセージバケットを、CIU
180からの回線196上の径路指定回路へ供給するD
−EXTinそれに、CIU180からの回線194上
の径路指定回路へ、送られてきた信号を供給するDP−
EXTinとである。DP−EXTinへ送られてきた
信号は、最上部で利用可能な処理及び記憶手段420を
位置づけ、メッセージパケットを、CIU180からそ
の手段420へ提供するために用いられる。各処理及び
記憶手段へのもう1つの人力は、最上部の処理及び記憶
装置420内に位置する特殊なセルにアドレス指定され
たメッセージバケットを抽出するために用いらAしろグ
ラント信号である。各処理及び記憶手段/120からの
出力端fは、D−OUT及びDP−OUTであり、それ
らは、回線割り当て装置及び、CIU180へ、回線1
98をメッセージパケットを供給する局域内ハス端子内
の同じ行のセル400のM−IN及びMP−IN端子に
接続されている。さらに、各処理及び記憶手段420は
、すぐ下の行の処理及び記憶手段の対応する端子DP−
EXTin及びGinに接続されている出力端子DP−
EXTout及びGoutを持つ。最下部の処理及び記
憶手段420の端子DP−EXTout及びG out
における信号は、それぞれ、回線199及び197上を
、CIU180へ信号を提供する。特に、メッセージパ
ケットが回線198越しにCIU180へ提供されると
、回線198にアクセスを提供するグランド信号が、回
線197上に、そうしたアクセスを提供する時しこ低く
なるような信号を出す。そして、もしCI U180か
らのメッセージパケットが処理及び記憶手段420に受
け入れられると、端子DP−EXTout及び回線19
9上の信号は低くなる。
各処理及び記憶手段410は、メッセージ検出器2]0
、バッファ及びアドレス復元器215及びメッセージ注
入器220から成り、それらの詳細は第15図に示す。
第4図のメッセージ検出器トを処理するこの回路と共に
使用される信号のタイミング図表が第161Aに示され
る。各メッセージ検出器は、3個のラッチ610.61
2,616及び否定回路618.3個のNANDゲート
グー20.622.624、」個のANDゲーグー63
0、論理回路640、そして、バス駆動650を含む。
ランチ610は、メッセージバケットのアンレスの2枚
のコビーの間を送イ11さJしる。!)式ビッi〜をチ
ェックする。このビットは、とのメッセージからも区別
のつがないメッセージのイfl+4rケ11らせる。ラ
ッチは、基本りロソクザイクル;3()の間に、信−’
5t−MSGPがセット端子で受け取られた時だけセッ
トされる。もし、書1式ビットがこのクロックサイクル
で識別されると、高い信号が出力端子Qに、低い信号が
ラッチ旧0の端子Qにセットさ九る。NANDゲート6
20及びラッチ612は、もし全てのビットが0−ビッ
トであるかを決めるメッセージ注入器トの複製アドレス
をチェックする。
ラッチ612は、クロックサイクルOの間にセットされ
、Q端子での出力は、低い信号がNANDゲート620
に受け取られなければ、また、受け取られるまでは、低
いままでいる。ゲート620は、基本タロックサイクル
31−45の間にメッセージパケットの第2アドレスの
受り取りの間たり、信号t−ADDR2によって動作可
能になる。もし、全てのアドレスビットがO−ビットで
あると、メッセージパケットはアレイ内の正しいセルに
達し、CIU180に径路指定されるだろう。そして、
NANDゲート620の出力は高いままである。ラッチ
612は、従って、ラッチ612の出力端子Qて低い信
号を出す。都合の良いことに、過渡状態からの干渉を最
小限にするため信号t−ADDR2は、クロック信号P
HI1でANDされ、NANDゲ−ト620が各クロッ
クサイクルのPHI1札の間だけ動作可能になる。
ラッチ610及び612のQ端子からの低い信号か、A
NDゲート630を動作可能にする。クロックサイクル
44の間と、メッセージ注入器トの非アドレス部分かD
−IN端子で利用出来るタロックサイクル45−87の
全体を通して、信号t−DATAが低くなり、それによ
ってANDゲーh630の出力で高い信号を作る。この
高い信号はCIU180への回線198へのアクセスの
要求となる。否定回路618によって作り出される高い
信号と低い信号−が論理回路640及びバス駆動650
へ送られ、バスアクセスをシークする最上行へバスアク
セスをグラントシ、他の全ての行のへのアクセスを否定
する。、論理回路640及びバス駆動650は、実例と
しては、第12図及び第13図の論理回路502及びバ
ス駆動500のような装置と同じ型であり、同じ方式で
作動する。そして、ANDゲート630及び否定回路6
18からの信号は、それぞれQ及びQ端子からの信号と
同し方式で機能する。その結果、径路指定回路20oの
最下行内の処理及び記憶手段がらの回線19アドのGo
ut信号は、バス198へアクセスがグラントされると
すぐ低くなる。
ラッチ610のQ端子がらの出力及び論理回路640か
らのバスアクセス出方とは、NANDゲート624へ送
られる。回路640のバスアクセス出方は、バスアクセ
スが、入力端子D−INでメッセージ注入器トにグラン
トされた時だけ、低くなる。そのような時、NANDゲ
ート624は高くなる。この出力はラッチ616の久方
へ送られ、信号t−LASTが、メッセージサイクルの
最後のクロックサイクル87の間にラッチへ送られる時
に、この高い信号は、ラッチ内に記憶される。NAND
ゲート624の出力も、径路指定回路のこの行の中を循
環しているメッセージがないと高くなる。このような状
況のもとで、ラッチ610は、タロックサイクル30の
間にセットされ、ラッチ610の。端子での信号は低く
なり、NANDゲートグー24の出方を高くする。ラッ
チ616の出力は、バッファ及びアドレス復元器215
とメッセージ注入器220の双方に送られる。
ラッチ616のQ出力も、D−IN端子からの信号とと
もに、NANDゲート622に送られる。その結果、N
ANDゲートは、メッセージ書式ビットが検出された時
に反転され、そのゲートはD−IN端子で受け取られた
メッセージバケットへを、それがバッファー復元器に送
られている時に反転する。
メッセージ注入器220は、セレクタ670、否定回路
680、ORゲート682、ANDゲート684及びN
ANDゲート86を含む。回線194上の信号は、処理
及び記憶手段410の上の行内の端子DP−EXTin
へ送られ、そこで、NANDゲート686とORゲート
682及びANDゲート684に接続される。NAND
ゲート686の出力は、セレクタ670の選択端子に送
られる。この信号が高いと、セレクタの端子Aにおける
信号が、D−OUT端子へ供給される。信号が、低いと
、端子Bでの信号は、出力端子D−OUTへ供給される
第8図と関連してCIU180の説明で述べたように、
フリップ−フロップ314が、基本クロックサイクル8
7の間に信号t−LASTによってセットされる。その
結果、端子DP−EXTinへの回線194上の信号は
、メッセージ注入器220へ送達されることになってい
るメッセージバケットがCITU180にある時はいつ
もメッセージサイクルが始まる前から高くなる。ラッチ
616も、基本クロックサイクル87の間に信号t−L
ASTによってセラトされる。その結果、NANDゲー
ト624の出力が、メッセージパケットがCIU180
へのバス198へ送達されている時と同じ位高いと、ラ
ンチ616の出力も、メッセージサイクルの開始以前か
ら高くなる。ラッチ616及び端子DP−EXTinか
らの高い信号は、NANDゲート686の出力を低くす
る。その結果、セレクタ670の端子Bは、メッセージ
注入器220の端子D−OUTへ接続され、CIU18
0からの回線196上のメッセージパケットはメッセー
ジ注入器220で受け入れられ、D−OUT端子へ供給
される。
同時に、ラッチ616からの高い信号が否定回路680
へおくられ、ANDゲート684を使用不可能にしD 
p=Ex TOut端子に低い信号を提供する。この信
号は、他の全ての低い行中のANDゲート684を動作
不可能にし、これらの行の各々のDP−ExTo、It
において低い信号を提供する。これらの低い信号も、全
ての低い行中のラッチ670の選択端子に高い信号を提
供する。その結果、回線196上のメッセージは、注入
器220の一行に送達されるだけになる。さらにまた、
径路指定回路の最下行のためのメッセージ注入器の出力
端子DI)−EXTo、Lからの低い信号は、CIU1
80への回線199上に送られ、外へ出て行くメッセー
ジパケットが、回線割り当て装置205への応用のため
にメッセージ注入器220によって受け入れられたこと
を知らせる。回線196上に信−じを受tづろメッセー
ジ注入器の行のORゲ−ト682へ端子DP−EXTi
nから送られる高い信号も端子P−OUTにおいて高い
信号を提供し、端子D−OUTにメッセージが存在する
ことを知らせる。
これとは別に、この行に循環するメッセージはないこと
もあるし、または、メッセージはこのセルにアドレス指
定されていないこともある。もし。
循環しているメッセージがないと、ラッチ610のQ端
子からNANDゲート624への入力は低くなり、ラッ
チ616の出力は、次のメッセージサイクルの間高くな
る。これらの状況のもとで、回線196からのメッセー
ジパケットは、メッセージ注入器トをバス198に書き
込むことによって行が空になった場合と同じようにメッ
セージ注入器によって受け入れられる。
もし、メッセージが行に存在していてもそのセルにアド
レス指定されていなけhば、NANDゲーIグーの両方
の入力は高くなり、その結果、NANDゲートの出力は
゛低くなり、ラッチ616の出力は、メッセージサイク
ルの開始より前から低くなる。結果として、NANDゲ
ート686の出力及びセレクタ670の選択端子が高く
なりセレクタの端子Aに送られた信号は、D−OUT端
子へ送られる。さらに、低い信号は否定回路680によ
って反転され、DP−OUT端子で高い信号を提供し、
メッセージが行中にあることを知らせる。否定回路68
0の出力も、ゲート684を使用可能にする。
その結果、回線194上のCI U180から、行の1
つにメッセージを入れるよう要求があると、この信号は
、ANDゲート684及びDP−EXTout端子によ
って、次に低い行へ送られる。
セレクタ670の端子Aに供給されたメッセージ注入器
トは、第1及び第2相対セルアドレスを持つメッセージ
パケットである。このメッセージパケットは、D−IN
端子で受け取ったメッセージバケットを記憶し、第2の
相対セルアドレスから第1の相対セルアドレスを再構成
するバッファ復元器210によって供給される。
バッファ復元器210は、シフトレジスタ700、AN
Dゲート710.712、と714、そして、NORゲ
ート720を含む。メッセージパケットは、D−IN端
子に到着すると、シフトレジスタ700中にシフトされ
る。このレジスタは、第2の相対セルアドレスの初めか
ら最後の誤り訂正ビットまでの、全メッセージパケット
を記憶するに充分な長さを持つ。第14図に示すように
、レジスタ700は、その出力端子から16のシフト位
置にあるタップ702を持つ。その結果、メッセージバ
ケットがシフトレジスタを通ってシフトされると、メル
−ジバケットの最初の16ビットが、これらのビットが
シフトレジスタの出力端に達する前に、ANDゲート7
14の入力で利用可能になる。これらビットの最初の1
5個は、相対セルアドレスである。
第1の相対セルアドレスを再構築するために、ゲート7
14が、これらビットがタップ702にある基本クロッ
クサイクル0−14の間に信号SEL−TAPによって
動作可能になり、ゲート714の出力は、NORゲート
720を通って、セレクタ670の端子Aに送られる。
クロックサイクル15の間に、ANDゲート720が、
信号SEL−MSGPによって動作可能になり、書式ビ
ットを発生する。このビットは、ラッチ616の出力か
ら得られ、ANDゲート710の出力はNORゲート7
20を通ってセレクタ670の端子Aへ送られる。クロ
ックサイクル15の間、ラッチ616の出力は、メッセ
ージパケソトがバス198に転送されているところか、
または、そのメッセージサイクルの間にD−IN端子で
、メッセージパケットが受け取られていない場合は高く
なる。これらの場合、ANDゲーグー710によって送
られる信号は高い信号で、NORケ−ト720によって
反転され、バッファ及び復元器215の出力に、有効な
メッセージパケントがないことを知らせる。他の全ての
場合には、ラッチ616の出力が低くなり、この信号は
NORゲート720によって反転され、バッファ及び復
元器215からのメッセージパケットが有効であること
を知らせる。
これら16サイクルの後で、シフトレジスタ700を通
ってシフトされているメッセーシバケットが、出力端子
へ達し、また、ANDゲート712の入力に達する。そ
の時と、基本クロックシイクル16−72全体で、ゲー
ト712は信号SEL−ENDによって動作可能になり
、第2の相対セルアドレス及びメッセージパケットの残
りをセレクタ670の端子Aへ提供する。
F.例 プロセッサ/メモリのレジスタでのメッセージパケット
の発生及び受け取りの例は次の通りである。表■は、こ
の例で取り+ばているプロセッサ/メモリの下記のレジ
スタ及びフラグで利用出来る情報を明記している。
局地アドレス情報は、レジスメアドレスの4ビットを列
0から3、局地プロセッサ/メモリを識別するアドレス
の5ビットを列4から8に、列9がら23のICアドレ
スの15ビントは絶対値のICのアドレスを明記し、I
Cアドレスにパリティを提供する列z4には」、−ビッ
トを持つレジスタ2内に記憶される。メッセージが送ら
れてもよくなると、メッセージデ“−夕かレジスタ4内
に記憶され、ICチップ、プロセッサ/メモリ及びレジ
スタを含めたその行き先のアドレスは、レジスタ2内の
局地アドレス情報と同し順序でレジスタ1内にあり、ビ
ノI〜を送れという要求は、状態レジスタ3の列0内の
1−ビットとしてセラトされ、フラグを送れという要求
は、クローバルフラグレジスタ6内の1−ビットへとし
てヤットされる。この例として、メッセーシバケットは
、偶数受U取りレジスタ6(レジスタアドレスが111
10ならば)か、奇数受は取りレジスタ7(レジスタア
ドレスか1111ならば)のどちらかで受け取られる。
これらの地点で記憶された情報について、表■が、レジ
スタ1内のアドレスによって特定されたICへ、レジス
タ4内のデータを送り出ずメッセージバケットを発生し
、メッセーシパケットのデータを受け取るに必要な命令
を示す。
サイクル51の間に、局地プロセッサ/メモリがメッセ
ージを送ろうとしていて、ティジ−チェーン内で、高い
所のプロセッサ/メモリが、送Aしという要求を出して
いなければ、ComEビットかセラトされる。この時に
、このゾロセッサ/メモリから送る要求は、グローバル
フラグレジスタ6内の1−ビットとして記憶され、より
高いプロセッサ/メモリからの送れの要求のいずれもか
、状態レジスタ3の0列内の1−ビットとして記憶され
ている。このゾロセッサ/メモリか、送られるかどうか
は、状態ビットを相補し、この相補されたビノトとグロ
ーバルフラグレジスタ6の内容のANDをとることによ
って計算される。結果は、ComEフラグレジスタに書
き込まれる。ComEビットかセットされると、NAN
Dゲート293は動作可能になり、それによって、キャ
リ出力回線287上の信号をCIU180への信号回線
123へ提供する。サイクル52の間に、グローバルレ
ジスタ6内に1−ビットが、SWAP動作によって状態
レジスタの0列に居き込まれる。
サイクル53の間に、ブロセットノ/メモリは。
CIU180への回線123へ、ICアドレスのための
バリティビットを提供する。上記のように、このパリテ
ィビットはレジスタ2の列24内に記憶される。それは
、Oフラグから得たO−ビントとともに、レジスタ2の
この桁の内容の0丁くをとることによって読み出しサイ
クルの間に読み出される。
この動作の結果は、キャリ出力回線上を、フラグ1ノシ
スタ2内のデータシンクとNANDゲート293へ提供
され、そこから回線123へ送られる。
サイクル53の間に、もしメッセージパケソトを送り出
すのならこの1−ビットが送りだされる。
この1−ビットは、ComEフラグレジスタ7内にセラ
トされる。ゼロを含むレジスタ及びComEフラグレジ
スタの内容のORをとることによって読み出されるdこ
の動作の結果は、NANDゲート293を通って回線1
23へ送られる。
サイクル55から86の間に、データは、一度に1列ず
つ、レジスタ4から読み出され、″フラグを受けとるな
″か低いと、データは、一度に1列ずつ、受は取りレジ
スタ6.7の1つに書き込まれる。メッセージパケット
の同時送りと受け取りは、レジスタ■3の出力をキャリ
出力回線287へ提供し、フラグからレジスタAへ入力
を提供するSWAP動作によって達成される。レジスタ
13はレジスタ4として特定され、この例としてレジス
タ八がレジスタ7として特定される。CIU180から
の回線122からの入力は、フラグ13であるデータイ
ンフラグへ送られる。これらのサイクルのに々の読み出
し部分の間に、レジスタ4の1列の信号と、データイン
端子の信号が読み出される。これらの動作の書き込み部
分の間に、キャリ出力回線上の信号がNANDゲート2
93を通って、出力回粕冒23へ提供される。同時に、
CIU180からデータインフラグ13へ送られた信ゆ
は、レジスタ7の列に吉・き込まれる。
上述のごとく、レジスタ6又は′7へのデータの古、き
込みは、受は取るな″フラグ1の状態で条件付けされる
。この状態は、回線17I)及びセレクタ294を用い
てフラグ1を読み出し、XORゲート299内で、受は
取るな″フラグど回線178北の信号とを比較すること
によって決定される。読み出しフラグ1のための信号は
ビン122−25上の0001である。
サイクル87の間、受は取られたメッセーシバケットへ
のパリティビットは、レジスタ2内の絶対】Cアドレス
のパリティビッI−と比較される。これは、レジスタ2
の桁24のパリティビットで、データインフラグ人力の
信号の排他的01くを実行するためにMOVE動作を用
いてなされる。もしパリティ誤りがないと、この動作の
結果は、クローバルフラグレジスタ6に書き込まれる低
い信号でなければならない。マイクロコンI−ローラ2
0か、パリティ誤りを見張るために、この回線をチェッ
クする。
サイクルOから14の間に、メッセージパケソトのため
の相対ICア1くレスが発生され、C’ I U180
に提供さ汎る。このことは、MOVIE動作を用いて、
送信側のICアドレスの絶対値と、行き先のICアドレ
スの絶対値の排他的ORを作り、それをキャリ出力回線
へ提供することによって達成される。
サイクル15から19の間に、IC内の特定のプロセッ
サ/メモリのアドレスが、レジスタ」から読み取られ、
MOVE動作によってギ−Vり出力回線へ提供される。
サイクル20の間に、1つのビットが行き先レジスタが
奇数かまたは偶数であるべぎかを特定して送られ、サイ
クル21かI;2;lの間に、追加のビットが、行き先
レジスタの)′1クレスを特定しなから送られる。この
例の中で、サイクル21から23の間に送られたビット
の状JIMは、勺イクル2(+の間に発生されたビット
の状態によって、レジスタ6又はレジスタ7のみにデー
タが11:き込まれるため、不適切である。便宜」−、
サイクル21がら73の間に送り出されたビットへは、
ルロレシスタ15の出力とゼロフラグ人力15を反転し
、それらの値のORをとることによって得られた1−ビ
ットである。
サイクル24の間に、メンセージパケットが、径路指定
回路がメッセージバケットを受け入れしたかどうかを決
めるための回線123に、送られているかどうかのテス
トが行なわれる。5受は取りは、N ORグート352
によって反転され、サイクル0−44の間にデータイン
フラグに送られた回線199上の低い信号によって知ら
される。サイクル24の間に、この信号は再び反転され
て、5WAI’動作によって状態レジスタ3の0列に書
き込まれる。
サイクル25から38は自由で、これらのサイクルへの
命令は、MOVE動作によるO−ビント転送の非動作(
NOI))を提供する。
サイクル39の間に、プロセッサ/メモリは、メソセー
ジパケットを次に径路指定サイクルで送る許可を要求す
るかどうかを計算する。この情報は状態レジスタから得
られ、OR動作によって回線124上の出力を提供して
いるクローバルフラグレジスタ6に提供される。サイク
ル40−43の間に、送れの要求は、状態レジスタから
読み出され、キャリ出力回線を経て、チップ」二のディ
ジーチェーン内の局地プロセッサ/メモリの下にあるプ
ロセッサ/メモリのディジー人カへ送られる。同時に、
ディジーチェーン内で高い所にあるプロセッサ/メモリ
からの入力は、ディジー人力から読み出され、キャリ出
力によって、デイジーナエーンの下の方のプロセッサ/
メモリに提供される。4つのサイクルが、プロセッサ/
メモリからの送れの要求が、チェーンの下方へ伝播され
るのを確かめるためにある。サイクル44の間に、チェ
ーン内の高い所のプロセッサ/メモリのいずれかj′、
の送れの要求が、キャリ出力回線へ占き込まれ、この情
報は、状態レジスタにも書き込まれる、1サイクル45
に間に、もしメッセージがこのICに送達されようとし
ているな−らば、1個の1−ビットが、データインフラ
グへの回線122J二に提供される。このビットは、′
受は取るな″フラグレジスタ1を、ComIΣInでの
人力の状態の反対であるO−ビットでセラトすることに
にす、このレジスタの状態を計算するのに用いら4Lる
。このことは、OR動作によって、データイン人力を相
補し、それをフラグレジスタ1へ−)・き込むことによ
って行なわれる。
サイクル46から50の間に、プロセ、フサ/アドレス
が、CIUl、80からの回線122に送達される。
各プロセッサ/メモリはこのアドレジを自分のアドレス
と、これら2つのアドレスの排他的ORをとり、フラグ
レジスタ1内で見られた相違を積み重ねるためにMOV
E動作を用いて、比較する。
もし、違いが見られない場合は、フラグレジスタ1は、
局地プロセッサ/メモリがメッセージバケットの行き先
であることを知らせるO−ビットを保持する。
その後、径路指定サイクルは、全てのメッセージパケッ
トが送達され終るまで続く。
G、代替案 この技術に熟練する人々には明らかであるように9本発
明の精神と範囲内で、上述のシステムには数多くの変更
が可能である。本体コンピュータ10、マイクロコンピ
ュータ30及びプロセッサ/メモリの直線のアレイの使
用、及び、データソース40及びデータシンク90及び
関連するバッファによるプロセッサ/メモリへ、そして
、それらからのデータの提供はほんの一例である。例え
ば、もし本体コンピュータが充分速ければ、命令シーケ
ンス発生は、マイクロコントローラの代わりにコンピュ
ータで行なうことも出来る。もしくは、多くの応用にお
いて、マイクロコントローラ及びプロセッサ/メモリの
アレイの動作に本体コンピュータを用いる必要がない。
データソース40、バッファ50.60.65.70.
75.80、とデータシンク9Oの他の配置も可能であ
る。プロセッサ/メモリの直線状のアレイは、比較的簡
単な組織と厳密な並行動作の迅速な実行という長所を楯
っているが、この組織は、本発明の実行には必要ではな
い。個別のプロセッサ/メモリは厳密に線型アレイ内に
、第1B図の螺旋型接続に代表されるよ−)に接続出来
るが、2次元的8角形もしくはH1角形又は他の形態、
3次元的アレイで接続させることも出来る。
ある応用では、チップの径路指定回路を通る接続を除い
て、違うチップ上のプロセッサ/メモ9間のどのような
接続も使わないことも出来ろ1゜プロセッサ/メモリの
数、位「1i、個別の機能も変化させられる。本発明の
コンピュータシステムはプロセッサ/メモリの数が、こ
れより多くても少なくても良い。本発明の利点は、約1
0,000個のプロセッサ/メモリを使用した時にはつ
きりしてくる。各チップ上に32のプロセッサ/メモリ
、各PC板上に64チップという220プロセッサ/メ
モリの配置は、単なる一例である。現在の技術では、こ
の配置は、妥当な費用と思えるもので実現出来る。将来
は、各チップ上にもつと多くのプロセッサ/メモリを置
けるであろう。n−立方体の次元の数も、相互結合させ
るプロセッサ/メモリの数に合わせて変化させられる。
ある応用では、径路指定回路を、プロセッサ/メモリが
取り付けられているICとは違うICに作る方が有利に
なるだろう。ある場合には、2つ以上のタイプのプロセ
ッサ/メモリを使用するのが良いこともある。例えは、
特別な算術的機能を持つプロセッサ/メモリが、汎用プ
ロセッサ/メモリと共に有用であることもある。設計変
化も、ICの回路におし1て行なわれるだろう。例えば
、ビン開数は、命令ビンの時分割多重方式化によって、
変わってくるだろう。
立方体の各次元でICチップに2つの可能な配置のある
ブールn−立方体の径路指定回路を説明してきたが、本
発明を、各チップが、n−立方体の1次元以上の3つ以
上の位置に配置されてもよい。このような配置では、各
チップを接続するには、いくつかの可能性がある。、径
路4H定回路200の一般的形態を保つ配置では、各セ
ルの各次元の出力回線39を、同じ次元内の他の1つだ
けのセルの入力回線38へ接続する。第5図の各チップ
100の人力及び出力回線38.39の接続パターンを
一般化するため、1次元内の1アドレスにチップが位置
する場合に、その出力回線は0アドレスに位置する最も
近い隣接チップに接続さAし、そのアドレスは1単位だ
け小さく、また、ある次元でチップが0アドレスに位置
する場合は、その出力回線は、その次元において最高の
アドレスであるlアドレスに置かれたチップに接続され
る。このパターンを、ある次元の3つ以上のアド1ノス
にチップが買かれる場合に応用するには、最高アドレス
にあるチップの出力回線を、次に高いアドレスその他に
あるチップの入力に接続するだけで良−い。そして、O
アドレスにあるチップの出力回線を、最高アドレスにあ
るアドレスの入力回線に接続する。例えば、チップがあ
る次元の4アドレスに置くことが出来るとすると、アド
レス3のチップの出力回線を、71ヘレス2にあるチッ
プの入力回線に接続し、アドレス2チップの出力回線を
、アドレス1のチップの入力回線に、アドレス1のチッ
プの出力回線をアドレス0の入力回線に、そしてアドレ
スOの出力回線をアドレス3の入力回線に接続する。
あるいは、接続を反対の方向に行なうことも出来る。
411対アドレス発生及び径路指定回路においても修正
が必要になるだろう。しかし、これらの修正はこれらの
機能の汎用化から明らかになる。このように、各次元に
2つだけICアドレスがある場合は、相対アドレスは、
2つのアドレスの排他的ORをとることによって決めら
れる。しかし、これは、他のアドレスから1つのアドレ
スを減じ。
負数を補数として表わすことの等価である。同様に、先
頭アドレスビットを調べて、メッ芋−ジパケノトが行き
先へ着いたかどうかに決める径路決定機能は、一般的に
は、先頭アドレスビットがO−数字かそうでないかを決
めることである3、それが、〇−数字であれば、メッセ
ージバケットは、その次元内の行き先に到達している1
、さもなければ、その次元の他のアドレスへ径;酪指定
されなければならない。ある次元に2アドレス以上ある
場合、相対アドレスの発生と、そのアドレスLこよって
特定されたメッセージバケットの径路指定は似たものに
なる。相対アドレスは、行き先ICのアドレスを開始I
Cのアドレスから減算し、メッセージパケットが行き先
に達するために、その次元内で横切らねばならないノー
ドの数を得ることによって決められる。負数は、その補
数に変換することによって佃単に取り扱える。回路割り
当て装置の各列のバスアクセス論理内の径路指定回路は
メッセージバケッI−の先頭アドレスビノト内にO−数
字があるかどうかをテストするたりである。
もし、〇−数字があると、メッセージバケットへは、そ
の次元内でアドレス指定されているアドレスに達してお
り、その次元内の異なるアドレスへ径路指定する必要が
ない。先頭ビットが〇−数字でない場合は、メッセージ
パケットは、正しいアドレスになく、その次元内でのア
ドレスが1単位小さい最も近い隣接ノードに径路指定す
ることが出来る。複製アドレスが径路指定された場合、
その次元の相対アドレス数字は、1だけ減することによ
り更新出来る。
1次元内にICチップに2アドレス以−ヒある回路のこ
の例を考えると、このようなスキーマは上記のブールロ
ー立方体内のICチップの同数を相互接続させるために
用いられる入力及び出力回線38.39の数を減少させ
、従って、径路指定障害の可能性を増すことがわかる。
しかし、チップ間の相互通信が低い応用においては、こ
のような代替案は実用的であると分かるであろう。
上述の各構成要素についても、単なる一例である。RA
M250及びフラグコントローラ290の特定の大きさ
は、実例にすぎない。ある応用においては、もっと大型
のRAM及びコントローラの方が良いかも知れない。も
ちろん、もっと小型のものを用いても良い。ビットル直
列ALU280は、並列ALUと入れかえることも出来
るし、ALUへの人力の数及び/又はそれからの人力の
敬か違っていても良い。プロセッサ/メモリの間車され
た実施例は、全てのアドレスデコーデインクをPLA1
50内で行なうが、ある場合には、デコーディングのい
くらかを、各プロセッサ/メモリで行なう方が有利であ
ろう。各ブロセッサ/メモリのALU−RAM及びフラ
グコントローラは、上記の実施例では、他のプロセッサ
/メモリのそれらとは独立して作動しているが、そうで
はない組合わせも可能である。例えば、各ALUは、I
Cアドレスが、ICチップ上二の全てのプロセッサ/メ
モリに記憶される単一のレジスタのようにト)又はそれ
以」二の同じレジスタへのアクセスを持つことも出来る
。AND、OR,AAD、SWAP及びMOVEの5個
の基本動作の命令セットの使用が好ましいが、追加の動
作を用いてこの発明を実施しても良い。加えて、表■の
:I2の命令から異なる数の命令を用いて、発明を実施
しても良い。
径路指定回路200においても、数多くの変更が出来る
だろう。回路割り当て装置205の列の数はr)−立方
体内の次元の数によって決まる。行数は、径路指定回路
の記憶要求量によって異なる。このような要求量は、ど
のくらいのメッセージパケット径路指定がシステムで用
いられているかによって、1つ1つのシステムによって
変る。ある応用では、メッセージ注入器220へ複数の
出力回線194゜196を、また/もしくは、メッセー
ジ検出器210及び注入器220から複数の出力回線1
97.198,199を備えた方が良いこともある。メ
ッセージパケットが径路指定されねばならない次元の数
によって、バッファ及びアドレス復元器215内のメッ
セージ注入器トを分類することが望ましいこともある。
命令の処理において数多くの変更も行なえる。
前のメッセージ注入器I−が完全に送達されないうちに
、続きのメンセーシパケソトが発生されるように、径路
指定サイクルを重複させると有利であることもある。追
加の誤り検知及び訂正は、追加のパリティビットを使う
ことによ−、てtiなえる。。
条件的動作は1個以上のフラグにノ、ヒへ1てぃても良
い。間接アドレス指定が望ましいこともある。
性能を強化するために上記のシステ11に、数多くの機
構を組み合わせることも出来る12例えば、各チップに
、チップ上の各プロセッサ/メモリの個別のダイナミッ
クRAMの内容の状態を保存するために、外部メモリを
追加して1ノ良い。各プロセッサ/メモリのアドレスは
、各アドレスを動作の開始時に装填する必要をなくすノ
ーめに、ハード配線で供給することも出来る。入力いデ
ータソース40を通さず、イメージセンサを通して直接
各プロセッサ/メモ1ノーに行なうことも出来る。もし
くは、コンピュータ10に、各プロセッサ/メモリの個
別のレジスタへの直接アクセスを持たせても良い。最後
に、シリコン作られ従来からある電線で接続された超L
SI回路の現在の技術の点から、発明を説明してきたが
、本発明の概念は、他の技術にも転用出来るということ
も認識されるべきである。シリコンIC35を、例えば
ガリウム砒素のようなもので作られていてしかも同し機
能を持つ他の回路で代替しても良く、従来からの電線を
、例えば、任意の繊維で代替しても良い。
【図面の簡単な説明】
第1A図及び第1B図は、本発明による並列処理集積回
路(IC)のアレイを用いるコンピュータシステムの概
略説明図、第2図及び第3図は、並列処理IC間の相互
接続パターンのいくらかを理解する上に有用な概略説明
図、第4図は、第1図のアレイ内で1つのICから他の
ICへ送られるメッセージの書式と、第1図に描かれた
コンピュータシステムの動作を理解するのに有用なりロ
ック信号波形のいくつかを示す波形図、第5図は、並列
処理ICを持ついくつかの超り、SIパッケージを取り
付ける印刷配線板のW、略説明図、第6A図及び第6B
図は、第1図のアレイの1個の並列処理ICの実施例の
ブロック図、第7A図及び第7B図は、第6A図のブロ
ック図中に描かれたプロセッサ/メモリの1つのブロッ
ク図、第8図は、第6B図のブロック図中に描かれたイ
ンタフエース装置の論理図、第9図及び第01図は、第
8図の回路の動作を理解するのに有用ないくつかの波形
1〆1、第11図は、第6B図のブロック図に描かれた
径路指定回路のブロック図、第12図は、第11図の径
路指定回路中の回線割り当て機構の例示的実施例の論理
図、第13図は、第12図の回線割り当て機構の一部分
の論理図、第14図は、第11図〜第13図の回路動作
を理解する上に有用ないくつかの波形図、第15図は、
第11図に描か汎だ径路指定回路の追加部分の例示的実
施例の論理図、第16図は、第14図に描かれた回路の
動作を理解する上に有用ないくつかの波形図、第17図
は、第6A図及び第613図に描かれた回路の超LS1
回路の配置図である。 符号の説明 10・コンピュータ 20・マイタロゾロセッサ30・
・アレイ 40・データソース 50.60.65.70.75.80・・バッファ90
・データシンク 代理人弁理士 中 刊 純之助 手続補正書彷幻 昭和59年11月29日 1、事件の表示 昭和59年特許願第109776号2
、発明の名称 並列プロセッサ 3、補正をする者 事件との関係 特許出願人

Claims (11)

    【特許請求の範囲】
  1. (1)プロセッサ/メモリのアレイであって、プロセッ
    サ/メモリの各々が、データがそこに書き込まれ、また
    そこから読み出されるメモリ手段と、少なくとも一部は
    該メモリ手段から読み出されるデータおよび命令情報に
    依存して出力を発生するためのプロセッサとを含むプロ
    セッサ/メモリアレイと、 nを2より大きい数としたときに、データが前記アレイ
    内のいずれかのプロセッサ/メモリから、他のいずれか
    のプロセッサ/メモリへとそhを介して径路指定される
    少なくとも2nノードを持つn−次元パターンに、前記
    アレイ内のプロセッサ/メモリを相互接続するための手
    段と、を含む並列コンピュータ処理のためのプロセッサ
    アレイであって、前記相互接続手段は、アートレス指定
    されたメッセージパケットに入れられたアドレス情報に
    従って前記n−次元パターンにおける1つのプロセッサ
    /メモリから他のプロセッサ/メモリへ径路指定される
    ようにしたアドレス指定されたメッセージパケットを発
    生する手段と、 前記n−次元パターンの各ノードにおいて、前記メッセ
    ージパケット内のアドレス情報に従って該メッセージパ
    ケットへを径路指定するための手段を含むよう構成して
    成るプロセッサアレイ。
  2. (2)特許請求の範囲第1項の記載において、mを少な
    くとも1としたときに、m−次元パターンに、前記アレ
    イのプロセッサ/メモリを相互接続するための手段であ
    って、そのパターン内で個々のプロセッサ/メモリは、
    そのm−次元パターン内で隣接する少なくともいくつか
    のプロセッサ/メモリと接続されているようにする手段
    をさらに含み、該手段は、個々のプロセッサ/メモリと
    、それらが接続される隣接するプロセッサ/メモリの間
    の直接接続を含む、ことを特徴とするプロセッサアレイ
  3. (3)特許請求の範囲第1項の記載において、前記アド
    レス情報は、前記n−次元パターン内での開始プロセッ
    サ/メモリ及び行き先プロセッサ/メモリの相対的変位
    であり、前記相互接続手段は更に、それを介してメッセ
    ージパケットが径路指定される各ノードにおいて相対変
    位を更新させる手段を含むことを特徴とするプロセッサ
    アレイ。
  4. (4)特許請求の範囲第3項の記載において、前記相対
    変位の2つのコピーが開始プロセッサ/メモリで発生さ
    れ、1つめコピー内の変位が、それを介してメッセージ
    パケットが径路指定される各ノードで更新される一方で
    、相対変位の他方のコピー内の個々のビットはメッセー
    ジパケットの径路指定を制御するために前記径路指定手
    段によって用いられるようにしたことを特徴とするプロ
    セッサアレイ。
  5. (5)特許請求の範囲第1項の記載において、前記アド
    レス情報は、次元と同じ数の桁から成る相対アドレスで
    あり、各桁は、メッセージパケットがアドレス指定され
    ているノードからのメッセージパケットの相対変位を表
    わしており、また前記径路指定手段が、 各次元に関連づけられ、ノードで受け取られたメッセー
    ジパケットのアドレスの桁を調べて、その次元内の変位
    がゼロであるかどうかを決めるための検査手段と、 各次元に関連づけられ、もし調べた桁が、メッセージパ
    ケットが行き先に到着していないことを示し、また、そ
    のノードへの接続が利用可能であれば、同じ次元内の他
    のノードへ該メッセージパケットを径路指定するための
    手段と、 メッセージパケットが、同じ次元内の他のノードへ径路
    指定されない時に、メッセージパケットを、1つの検査
    手段から他の検査手段へ送るための手段と、 行き先に到達したメッセージパケットをメッセージシン
    クへ径路指定し、行き先に径路指定されなかったメッセ
    ージパケットを一時的に記憶し、記憶されたメッセージ
    パケットをさらに径路指定するために前記検査手段へ再
    循環させるための記憶/処理手段とを含むようにしたこ
    とを特徴とするパッケージアレイ。
  6. (6)特許請求の範囲第1項の記載において、面記アド
    レス情報は、次元と同数の桁からなる相対アドレスであ
    り、各桁は、メッセージパケットがアドレス指定されて
    いるノードからのメッセージパケットの相対変位を表わ
    し、各ノードにおける前記径路指定手段は、 ノードで受け取られる前記メッセージパケットのアドレ
    スの第1、第2、第3の桁をそれぞれ調べて、その次元
    での変位がゼロであるかどうかを決めるための、少なく
    とも、第1、第2、第3の検査手段と、 もし、検査した桁が、メッセージパケットが行き先に到
    達していないことを示し、そのノードへの接続が利用可
    能である場合に、該メッセージパケットを、それぞれ第
    1、第2、第3次元内の他のノードへ径路指定するため
    の少なくとも第1、第2、第3の径路指定手段と、 前記第1の接続が利用出来ない時、または前記第1の桁
    が、メッセージパケットがその次元内の行き先に到達し
    ていることを表わしている時に、アドレス情報の第2の
    桁を調べるためにメッセージパケットを前記第2の検査
    手段に提供するための第1の提供手段と、 接続が利用出来ないか、あるいは前記第2の桁が、メッ
    セージパケットがその次元内の行き先に到達しているこ
    とを示している時に、メッセージパケットを、アドレス
    情報の第3の桁を調べるための前記第3の検査手段に提
    供するための第2の提供手段と、 接続が利用出来ない時、または、前記第3の桁が、メッ
    セージパケットがその次元内の行き先に到達したことを
    示す時に、メッセージパケットを追加の検査手段又は記
    憶/処理手段に提供するための第3の提供手段と、 行き先に到達したメッセージパケットをメッセージシン
    クへ径路指定し、行き先に径路指定されなかったメッセ
    ージパケットへを一時的に記憶し、記憶したメッセージ
    パケットを、さらに径路指定するために前記第1の検査
    手段へ再循環するための記憶/処理手段とを含むように
    したことを特徴とするパッケージアレイ。
  7. (7)2あるいはそれ以上の次元パターン内で相互接続
    されるノードのネットワークを通ってメッセージパケッ
    トを径路指定するための装量において、 メッセージパケット内に含まれている相対アドレス情報
    に従って、前記パターン内の1つのノートから他のノー
    ドへ径路指定されるメンセージパケットを発生するため
    の手段であって、該相対アドレスは次元と同じ数の桁か
    ら成り、名指はメッセージパケットがアドレス指定され
    ているノードからのメッセージパケットの相対変位を表
    わすようにしたメッセージパケット発生手段と、その次
    元での変位がゼロであるかどうかを決めるために、ノー
    ドで受け取る前記メッセージパケットのアドレスの第1
    および第2の桁をそれぞれ調べるための少なくとも第1
    と第2の検査手段と、もし、調べた桁がメッセージパケ
    ットが、行き先に到達していないことを示し、かつその
    ノードへの接続が利用可能の場合に、第1と第2の次元
    内の他のノードへそれぞれ該メッセージパケットを径路
    指定するための少なくとも第1と第2の径路指定手段と
    、 前記第1の接続が利用出来ず、または前記第1の桁かメ
    ッセージパケットがその次元内の行き先に到達している
    ことを示す時に、アドレス情報の第2の桁を調へるため
    に、メッセージパケットを前記第2の検査手段に提供す
    るための第1の提供手段と、 接続が利用出来ない時、または前記第2の桁が、メッセ
    ージパケットがその次元内の行き先に到達したことを示
    す時に、メッセージパケットを、追加の検査手段または
    記憶/処理手段に提供するための第2の提供手段と、 行き先に到達したメッセージをメッセージシンクへ径路
    指定し、行き先に径路指定されなかったメッセージを一
    時的に記憶し、さらに径路指定をするために、記憶され
    たメッセージを前記検査手段へ再循環するための記憶/
    処理手段と、を含むことを特徴とするメッセージパケッ
    ト径路指定装置。
  8. (8)特許請求の範囲第7項の記載において、それを介
    してメッセージパケットが径路指定される各ノードにお
    ける相対変位を更新するための手段をさらに含むことを
    特徴とするメッセージパケット径路指定装置。
  9. (9)特許請求の範囲第7項の記載において、相対変位
    の2つのコピーが開始ノードで発生され、1つのコピー
    中の変位は、それを介してメッセージパケットが径路指
    定される各ノードで更新される一方で、相対変位の他の
    コピー内の個々のヒソトが、メッセージパケットの径路
    指定を制御するために前記径路指定手段によって調べら
    れることを特徴とするメッセージパケット径路指定装置
  10. (10)特許請求の範囲第9項の記載において、各ノー
    トにおける前記第1の検査手段、第1の径路指定手段、
    および第1の提供手段が、前記ネットワークの他のノー
    ドの第1の検査手段、第1の径路指定手段、および第1
    の提供手段と同期して作動し、各ノードにおける前記第
    2の検査手段、第2の径路指定手段および第2の提供手
    段は、前記ネットワークの他のノードの第2の検査手段
    、第2の径路指定手段および第2の提供手段と同期して
    作動するようにしたことを特徴とするメッセージパケッ
    ト径路指定装置。
  11. (11)プロセッサ/メモリのアレイを含み、各プロセ
    ッサ/メモリが、そこにデータが書き込まれ、そこから
    データが読み出されるメモリ手段と該メモリ手段から読
    み出されるデータおよび命令情報の少なくとも一部に依
    存して出力を発生するためのプロセッサとを含むよう描
    成した並行コンピュータ処理のためのプロセッサアレイ
    において、nを2より大きい数としたときに、前記アレ
    イ内のいずれかのプロセッサ/メモリから他のいずれが
    のプロセッサ/メモリへ、それを介してデータが径路指
    定される少なくとも2n個のノードを持つn−次元パタ
    ーン内のプロセッサ/メモリを内部接続する方法であっ
    て、 前記メッセージパケット内に含まれるアドレス情報に従
    って、前記n−次元パターン内で1つのプロセッサ/メ
    モリから他のプロセッサ/メモリ径路指定されるアドレ
    ス指定されたメッセージパケットを発生するステップと
    、 前記n−次元パターン内の各ノードにおいて、面記パケ
    ット内のアドレス情報に従って該メッセージパケットを
    径路指定するステップと、を含むことを特徴とする方法
JP59109776A 1983-05-31 1984-05-31 経路指定装置 Expired - Lifetime JPH0797362B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US499474 1983-05-31
US06/499,474 US4814973A (en) 1983-05-31 1983-05-31 Parallel processor

Related Child Applications (2)

Application Number Title Priority Date Filing Date
JP3129361A Division JPH04330554A (ja) 1991-05-31 1991-05-31 並列プロセッサ
JP5289349A Division JP2538185B2 (ja) 1983-05-31 1993-11-18 並列コンピュ―タシステム

Publications (2)

Publication Number Publication Date
JPS6084661A true JPS6084661A (ja) 1985-05-14
JPH0797362B2 JPH0797362B2 (ja) 1995-10-18

Family

ID=23985391

Family Applications (2)

Application Number Title Priority Date Filing Date
JP59109776A Expired - Lifetime JPH0797362B2 (ja) 1983-05-31 1984-05-31 経路指定装置
JP5289349A Expired - Lifetime JP2538185B2 (ja) 1983-05-31 1993-11-18 並列コンピュ―タシステム

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP5289349A Expired - Lifetime JP2538185B2 (ja) 1983-05-31 1993-11-18 並列コンピュ―タシステム

Country Status (5)

Country Link
US (1) US4814973A (ja)
EP (4) EP0495537A3 (ja)
JP (2) JPH0797362B2 (ja)
CA (1) CA1212480A (ja)
DE (1) DE3486141T2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01206751A (ja) * 1988-02-15 1989-08-18 Agency Of Ind Science & Technol データ伝送方式
JPH02501066A (ja) * 1986-12-09 1990-04-12 ハーン,ガリー・スコット IgE非関与型疾病の治療方法および治療用ペプチド
JPH04265033A (ja) * 1990-10-24 1992-09-21 American Teleph & Telegr Co <Att> データ通信網とその制御方法
JP2010521731A (ja) * 2007-03-14 2010-06-24 エックスモス リミテッド メッセージルーティング構造

Families Citing this family (119)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA1253912A (en) * 1984-11-08 1989-05-09 Masao Hosaka System for controlling image formation
JPS61264470A (ja) * 1985-05-03 1986-11-22 アドバンスト・マイクロ・デイバイシズ・インコ−ポレ−テツド モノリシツク集積回路装置
US5113523A (en) * 1985-05-06 1992-05-12 Ncube Corporation High performance computer system
DE3607241A1 (de) * 1986-03-05 1987-09-10 Gerhard G Thomas Rechner
CA1293819C (en) * 1986-08-29 1991-12-31 Thinking Machines Corporation Very large scale computer
CA1289671C (en) * 1986-10-28 1991-09-24 Thinking Machines Corporation Massively parallel processor
US5175865A (en) * 1986-10-28 1992-12-29 Thinking Machines Corporation Partitioning the processors of a massively parallel single array processor into sub-arrays selectively controlled by host computers
WO1988004077A1 (en) * 1986-11-24 1988-06-02 Thinking Machines Corporation Pipelining technique and pipelined processes
GB2201817A (en) * 1987-02-27 1988-09-07 Massachusetts Inst Technology Geometry-defining processors
GB2203574A (en) * 1987-04-03 1988-10-19 Univ Southampton Parallel processor arrays
GB2206428A (en) * 1987-06-15 1989-01-05 Texas Instruments Ltd Computer
WO1989001665A1 (en) * 1987-08-14 1989-02-23 Regents Of The University Of Minnesota Hypercube topology for multiprocessor systems with added communication paths between nodes or substituted corner topologies
US5170482A (en) * 1987-08-14 1992-12-08 Regents Of The University Of Minnesota Improved hypercube topology for multiprocessor computer systems
US4908751A (en) * 1987-10-15 1990-03-13 Smith Harry F Parallel data processor
US5644497A (en) * 1988-03-15 1997-07-01 Hyman; Edward Method and apparatus for compiling and implementing state-machine states and outputs for a universal cellular sequential logic array
US5377123A (en) * 1992-06-08 1994-12-27 Hyman; Edward Programmable logic device
US5253363A (en) * 1988-03-15 1993-10-12 Edward Hyman Method and apparatus for compiling and implementing state-machine states and outputs for a universal cellular sequential local array
US5212778A (en) * 1988-05-27 1993-05-18 Massachusetts Institute Of Technology Message-driven processor in a concurrent computer
US5088048A (en) * 1988-06-10 1992-02-11 Xerox Corporation Massively parallel propositional reasoning
US5583506A (en) * 1988-07-22 1996-12-10 Northrop Grumman Corporation Signal processing system and method
GB2223867A (en) * 1988-09-09 1990-04-18 Univ City Multiprocessor data processing system
US5159690A (en) * 1988-09-30 1992-10-27 Massachusetts Institute Of Technology Multidimensional cellular data array processing system which separately permutes stored data elements and applies transformation rules to permuted elements
GB2227341A (en) * 1989-01-18 1990-07-25 Intel Corp Message routing in a multiprocessor computer system
US5594866A (en) * 1989-01-18 1997-01-14 Intel Corporation Message routing in a multi-processor computer system with alternate edge strobe regeneration
US5276893A (en) * 1989-02-08 1994-01-04 Yvon Savaria Parallel microprocessor architecture
GB2232512A (en) * 1989-05-31 1990-12-12 Plessey Telecomm Processor unit networks
US5345578A (en) * 1989-06-30 1994-09-06 Digital Equipment Corporation Competitive snoopy caching for large-scale multiprocessors
US5218709A (en) * 1989-12-28 1993-06-08 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Special purpose parallel computer architecture for real-time control and simulation in robotic applications
US5187801A (en) * 1990-04-11 1993-02-16 Thinking Machines Corporation Massively-parallel computer system for generating paths in a binomial lattice
US5367677A (en) * 1990-05-11 1994-11-22 Thinking Machines Corporation System for iterated generation from an array of records of a posting file with row segments based on column entry value ranges
US5133073A (en) * 1990-05-29 1992-07-21 Wavetracer, Inc. Processor array of N-dimensions which is physically reconfigurable into N-1
US5193202A (en) * 1990-05-29 1993-03-09 Wavetracer, Inc. Processor array with relocated operand physical address generator capable of data transfer to distant physical processor for each virtual processor while simulating dimensionally larger array processor
US5157785A (en) * 1990-05-29 1992-10-20 Wavetracer, Inc. Process cell for an n-dimensional processor array having a single input element with 2n data inputs, memory, and full function arithmetic logic unit
US5625836A (en) 1990-11-13 1997-04-29 International Business Machines Corporation SIMD/MIMD processing memory element (PME)
US5966528A (en) 1990-11-13 1999-10-12 International Business Machines Corporation SIMD/MIMD array processor with vector processing
US5809292A (en) 1990-11-13 1998-09-15 International Business Machines Corporation Floating point for simid array machine
US5794059A (en) 1990-11-13 1998-08-11 International Business Machines Corporation N-dimensional modified hypercube
US5765012A (en) 1990-11-13 1998-06-09 International Business Machines Corporation Controller for a SIMD/MIMD array having an instruction sequencer utilizing a canned routine library
US5617577A (en) 1990-11-13 1997-04-01 International Business Machines Corporation Advanced parallel array processor I/O connection
US5828894A (en) 1990-11-13 1998-10-27 International Business Machines Corporation Array processor having grouping of SIMD pickets
ATE180586T1 (de) 1990-11-13 1999-06-15 Ibm Paralleles assoziativprozessor-system
US5734921A (en) 1990-11-13 1998-03-31 International Business Machines Corporation Advanced parallel array processor computer package
US5963746A (en) 1990-11-13 1999-10-05 International Business Machines Corporation Fully distributed processing memory element
US5588152A (en) 1990-11-13 1996-12-24 International Business Machines Corporation Advanced parallel processor including advanced support hardware
US5765015A (en) 1990-11-13 1998-06-09 International Business Machines Corporation Slide network for an array processor
US5713037A (en) 1990-11-13 1998-01-27 International Business Machines Corporation Slide bus communication functions for SIMD/MIMD array processor
US5630162A (en) 1990-11-13 1997-05-13 International Business Machines Corporation Array processor dotted communication network based on H-DOTs
US5590345A (en) 1990-11-13 1996-12-31 International Business Machines Corporation Advanced parallel array processor(APAP)
US5963745A (en) 1990-11-13 1999-10-05 International Business Machines Corporation APAP I/O programmable router
US5765011A (en) 1990-11-13 1998-06-09 International Business Machines Corporation Parallel processing system having a synchronous SIMD processing with processing elements emulating SIMD operation using individual instruction streams
US5815723A (en) 1990-11-13 1998-09-29 International Business Machines Corporation Picket autonomy on a SIMD machine
JPH04193033A (ja) * 1990-11-26 1992-07-13 Hitachi Ltd バッテリシステム
US5379438A (en) * 1990-12-14 1995-01-03 Xerox Corporation Transferring a processing unit's data between substrates in a parallel processor
GB2251320A (en) * 1990-12-20 1992-07-01 Motorola Ltd Parallel processor
US5131054A (en) * 1991-01-09 1992-07-14 Thinking Machines Corporation Character recognition system using massively parallel computer that identifies a query character using degree of similarity with plurality of training characters of known identity
IE920032A1 (en) * 1991-01-11 1992-07-15 Marconi Gec Ltd Parallel processing apparatus
US5301310A (en) * 1991-02-07 1994-04-05 Thinking Machines Corporation Parallel disk storage array system with independent drive operation mode
US5321813A (en) * 1991-05-01 1994-06-14 Teradata Corporation Reconfigurable, fault tolerant, multistage interconnect network and protocol
US5594918A (en) 1991-05-13 1997-01-14 International Business Machines Corporation Parallel computer system providing multi-ported intelligent memory
US5151900A (en) * 1991-06-14 1992-09-29 Washington Research Foundation Chaos router system
US5251131A (en) * 1991-07-31 1993-10-05 Thinking Machines Corporation Classification of data records by comparison of records to a training database using probability weights
CA2076293A1 (en) * 1991-10-11 1993-04-12 Prathima Agrawal Multiprocessor computer for solving sets of equations
US5715391A (en) * 1991-11-15 1998-02-03 International Business Machines Corporation Modular and infinitely extendable three dimensional torus packaging scheme for parallel processing
US5442797A (en) * 1991-12-04 1995-08-15 Casavant; Thomas L. Latency tolerant risc-based multiple processor with event driven locality managers resulting from variable tagging
EP0570729A3 (en) * 1992-05-22 1994-07-20 Ibm Apap i/o programmable router
JP2620487B2 (ja) * 1992-05-22 1997-06-11 インターナショナル・ビジネス・マシーンズ・コーポレイション コンピュータ・パッケージ
JP2642039B2 (ja) 1992-05-22 1997-08-20 インターナショナル・ビジネス・マシーンズ・コーポレイション アレイ・プロセッサ
US5561805A (en) * 1992-10-22 1996-10-01 International Business Machines Corporation System for selectively packing together datablocks and efficiently routing independent of network topology in a parallel computer system in accordance with a selected numbering system
US5355364A (en) * 1992-10-30 1994-10-11 International Business Machines Corporation Method of routing electronic messages
US5533198A (en) * 1992-11-30 1996-07-02 Cray Research, Inc. Direction order priority routing of packets between nodes in a networked system
US5450603A (en) * 1992-12-18 1995-09-12 Xerox Corporation SIMD architecture with transfer register or value source circuitry connected to bus
US5655131A (en) * 1992-12-18 1997-08-05 Xerox Corporation SIMD architecture for connection to host processor's bus
US5717947A (en) * 1993-03-31 1998-02-10 Motorola, Inc. Data processing system and method thereof
US5835492A (en) * 1993-09-08 1998-11-10 Hitachi, Ltd. Network for mutually connecting computers and communicating method using such network
US5583990A (en) * 1993-12-10 1996-12-10 Cray Research, Inc. System for allocating messages between virtual channels to avoid deadlock and to optimize the amount of message traffic on each type of virtual channel
US5987622A (en) * 1993-12-10 1999-11-16 Tm Patents, Lp Parallel computer system including parallel storage subsystem including facility for correction of data in the event of failure of a storage device in parallel storage subsystem
US5581705A (en) * 1993-12-13 1996-12-03 Cray Research, Inc. Messaging facility with hardware tail pointer and software implemented head pointer message queue for distributed memory massively parallel processing system
US5659686A (en) * 1994-09-22 1997-08-19 Unisys Corporation Method of routing a message to multiple data processing nodes along a tree-shaped path
US5701416A (en) * 1995-04-13 1997-12-23 Cray Research, Inc. Adaptive routing mechanism for torus interconnection network
US6055618A (en) * 1995-10-31 2000-04-25 Cray Research, Inc. Virtual maintenance network in multiprocessing system having a non-flow controlled virtual maintenance channel
US5913070A (en) * 1996-01-16 1999-06-15 Tm Patents, L.P. Inter-connector for use with a partitionable massively parallel processing system
US5841973A (en) * 1996-03-13 1998-11-24 Cray Research, Inc. Messaging in distributed memory multiprocessing system having shell circuitry for atomic control of message storage queue's tail pointer structure in local memory
US5835925A (en) * 1996-03-13 1998-11-10 Cray Research, Inc. Using external registers to extend memory reference capabilities of a microprocessor
US5864738A (en) * 1996-03-13 1999-01-26 Cray Research, Inc. Massively parallel processing system using two data paths: one connecting router circuit to the interconnect network and the other connecting router circuit to I/O controller
JPH09330304A (ja) * 1996-06-05 1997-12-22 Internatl Business Mach Corp <Ibm> プロセッサ間の通信スケジュールを決定する方法
WO1996035997A1 (fr) * 1996-05-22 1996-11-14 Yalestown Corporation N.V. Processeur parallele
US6101181A (en) * 1997-11-17 2000-08-08 Cray Research Inc. Virtual channel assignment in large torus systems
US5970232A (en) * 1997-11-17 1999-10-19 Cray Research, Inc. Router table lookup mechanism
US6230252B1 (en) 1997-11-17 2001-05-08 Silicon Graphics, Inc. Hybrid hypercube/torus architecture
US6216174B1 (en) 1998-09-29 2001-04-10 Silicon Graphics, Inc. System and method for fast barrier synchronization
US6751698B1 (en) 1999-09-29 2004-06-15 Silicon Graphics, Inc. Multiprocessor node controller circuit and method
US6674720B1 (en) 1999-09-29 2004-01-06 Silicon Graphics, Inc. Age-based network arbitration system and method
US6418526B1 (en) 1999-11-15 2002-07-09 Ncr Corporation Method and apparatus for synchronizing nodes in massively parallel systems
US6745240B1 (en) 1999-11-15 2004-06-01 Ncr Corporation Method and apparatus for configuring massively parallel systems
US6412002B1 (en) 1999-11-15 2002-06-25 Ncr Corporation Method and apparatus for selecting nodes in configuring massively parallel systems
US6519697B1 (en) 1999-11-15 2003-02-11 Ncr Corporation Method and apparatus for coordinating the configuration of massively parallel systems
US7415594B2 (en) * 2002-06-26 2008-08-19 Coherent Logix, Incorporated Processing system with interspersed stall propagating processors and communication elements
AU2003256699A1 (en) * 2002-07-23 2004-02-09 Gatechange Technologies, Inc. Self-configuring processing element
US7577816B2 (en) 2003-08-18 2009-08-18 Cray Inc. Remote translation mechanism for a multinode system
US7673118B2 (en) 2003-02-12 2010-03-02 Swarztrauber Paul N System and method for vector-parallel multiprocessor communication
US7334110B1 (en) 2003-08-18 2008-02-19 Cray Inc. Decoupled scalar/vector computer architecture system and method
US8307194B1 (en) 2003-08-18 2012-11-06 Cray Inc. Relaxed memory consistency model
US7437521B1 (en) 2003-08-18 2008-10-14 Cray Inc. Multistream processing memory-and barrier-synchronization method and apparatus
US7735088B1 (en) 2003-08-18 2010-06-08 Cray Inc. Scheduling synchronization of programs running as streams on multiple processors
US7743223B2 (en) 2003-08-18 2010-06-22 Cray Inc. Decoupling of write address from its associated write data in a store to a shared memory in a multiprocessor system
US7421565B1 (en) 2003-08-18 2008-09-02 Cray Inc. Method and apparatus for indirectly addressed vector load-add -store across multi-processors
US7519771B1 (en) 2003-08-18 2009-04-14 Cray Inc. System and method for processing memory instructions using a forced order queue
US7543133B1 (en) 2003-08-18 2009-06-02 Cray Inc. Latency tolerant distributed shared memory multiprocessor computer
US7379424B1 (en) 2003-08-18 2008-05-27 Cray Inc. Systems and methods for routing packets in multiprocessor computer systems
US7366873B1 (en) 2003-08-18 2008-04-29 Cray, Inc. Indirectly addressed vector load-operate-store method and apparatus
US7503048B1 (en) 2003-08-18 2009-03-10 Cray Incorporated Scheduling synchronization of programs running as streams on multiple processors
US7363393B2 (en) * 2003-12-30 2008-04-22 Intel Corporation Chipset feature detection and configuration by an I/O device
US7478769B1 (en) 2005-03-09 2009-01-20 Cray Inc. Method and apparatus for cooling electronic components
JP5540609B2 (ja) * 2009-09-01 2014-07-02 富士通株式会社 並列計算システムおよび通信制御プログラム
JP2012048573A (ja) * 2010-08-27 2012-03-08 Canon Inc 半導体集積回路、データ処理装置
GB2516288B (en) * 2013-07-18 2015-04-08 Imagination Tech Ltd Image processing system
EP3079073A1 (en) * 2015-04-10 2016-10-12 Politechnika Lodzka A parallel machine having operational cells located at nodes of a face centered lattice
US10437743B1 (en) * 2016-04-01 2019-10-08 Altera Corporation Interface circuitry for parallel computing architecture circuits
WO2023275610A1 (en) * 2021-06-28 2023-01-05 Synthara Ag Neural network accelerator

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3287703A (en) * 1962-12-04 1966-11-22 Westinghouse Electric Corp Computer
US3979728A (en) * 1973-04-13 1976-09-07 International Computers Limited Array processors
US3970993A (en) * 1974-01-02 1976-07-20 Hughes Aircraft Company Cooperative-word linear array parallel processor
US4270170A (en) * 1978-05-03 1981-05-26 International Computers Limited Array processor
US4247892A (en) * 1978-10-12 1981-01-27 Lawrence Patrick N Arrays of machines such as computers
US4229790A (en) * 1978-10-16 1980-10-21 Denelcor, Inc. Concurrent task and instruction processor and method
JPS55115155A (en) * 1979-02-27 1980-09-04 Matsushita Electric Ind Co Ltd One chip multi-microcomputer
US4380046A (en) * 1979-05-21 1983-04-12 Nasa Massively parallel processor computer
US4314349A (en) * 1979-12-31 1982-02-02 Goodyear Aerospace Corporation Processing element for parallel array processors
EP0054187B1 (en) * 1980-12-15 1988-09-07 Texas Instruments Incorporated Multiple digital processor system
US4445171A (en) * 1981-04-01 1984-04-24 Teradata Corporation Data processing systems and methods
US4523273A (en) * 1982-12-23 1985-06-11 Purdue Research Foundation Extra stage cube

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
COMPUTER=1981 *
IEEE TRANSACTION ON COMPUTER=1977 *
IEEE TRANSACTION ON COMPUTER=1981 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02501066A (ja) * 1986-12-09 1990-04-12 ハーン,ガリー・スコット IgE非関与型疾病の治療方法および治療用ペプチド
JPH01206751A (ja) * 1988-02-15 1989-08-18 Agency Of Ind Science & Technol データ伝送方式
JPH04265033A (ja) * 1990-10-24 1992-09-21 American Teleph & Telegr Co <Att> データ通信網とその制御方法
JP2010521731A (ja) * 2007-03-14 2010-06-24 エックスモス リミテッド メッセージルーティング構造

Also Published As

Publication number Publication date
EP0501525A2 (en) 1992-09-02
EP0132926A3 (en) 1987-07-01
EP0132926B1 (en) 1993-05-05
EP0495537A3 (en) 1993-06-16
EP0501525A3 (en) 1993-06-23
DE3486141T2 (de) 1993-08-19
US4814973A (en) 1989-03-21
EP0495537A2 (en) 1992-07-22
JP2538185B2 (ja) 1996-09-25
EP0132926A2 (en) 1985-02-13
EP0501524A2 (en) 1992-09-02
DE3486141D1 (de) 1993-06-09
JPH0797362B2 (ja) 1995-10-18
EP0501524A3 (en) 1993-06-16
CA1212480A (en) 1986-10-07
JPH06223045A (ja) 1994-08-12

Similar Documents

Publication Publication Date Title
JPS6084661A (ja) 経路指定装置
US4598400A (en) Method and apparatus for routing message packets
US4709327A (en) Parallel processor/memory circuit
US5152000A (en) Array communications arrangement for parallel processor
US5212773A (en) Wormhole communications arrangement for massively parallel processor
US5123109A (en) Parallel processor including a processor array with plural data transfer arrangements including (1) a global router and (2) a proximate-neighbor transfer system
US5008815A (en) Parallel processor
US5151996A (en) Multi-dimensional message transfer router
US5146608A (en) Parallel processor array system controlled in response to composition status signal
US5548785A (en) Interface for logic simulation using parallel bus for concurrent transfers and having fifo buffers for sending data to receiving units when ready
WO1988008652A1 (en) Method and apparatus for routing message packets
GB2252185A (en) Process-in-memory integrated circuit
US20070156380A1 (en) Logic event simulation
Zhu Job scheduling on a hypercube
Agrawal et al. Architecture and design of the MARS hardware accelerator
Thacker et al. The alpha demonstration unit: A high-performance multiprocessor for software and chip development
Koike et al. HAL: A high-speed logic simulation machine
JPH04330554A (ja) 並列プロセッサ
Davis Synthesizing asynchronous circuits: Practice and experience
EP0270198B1 (en) Parallel processor
Jacobs Self-timed integrated circuits for digital signal processing
JPH0636060A (ja) スライド・ネットワークに使用するアレイ・プロセッサ
Shaw et al. Active memory chips: A brief survey and case study
Lou Integrated Circuit Array Processor for a Hardware Router
Gopalakrishnan et al. Case studies in symbolic model checking