JPH04330554A - 並列プロセッサ - Google Patents

並列プロセッサ

Info

Publication number
JPH04330554A
JPH04330554A JP3129361A JP12936191A JPH04330554A JP H04330554 A JPH04330554 A JP H04330554A JP 3129361 A JP3129361 A JP 3129361A JP 12936191 A JP12936191 A JP 12936191A JP H04330554 A JPH04330554 A JP H04330554A
Authority
JP
Japan
Prior art keywords
data
register
signal
circuit
processor
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP3129361A
Other languages
English (en)
Inventor
Danieru Hirisu Daburiyuu
ダブリュー.ダニエル ヒリス
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
Priority to JP3129361A priority Critical patent/JPH04330554A/ja
Publication of JPH04330554A publication Critical patent/JPH04330554A/ja
Pending legal-status Critical Current

Links

Abstract

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

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、並列プロセッサを用い
るコンピュータ、特に、従来よりも非常に数多くの並列
プロセッサを用いるコンピュータに関する。
【0002】
【従来の技術】典型的なデジタルコンピュータは、中央
処理装置(CPU)、データを記憶するメモリ及びコン
ピュータを制御するためのプログラム、そして、種々の
入出力装置とを持つ。記憶されたプログラムは、CPU
が、コンピュータに入力されるデータに基づいて、計算
、転送、または論理演算を行なうようにするための一連
の指令となる。このようなデータは、究極的には入力装
置からコンピュータに入れられ、CPU演算の結果は、
出力装置に供給される。典型的なコンピュータでは、こ
の一連の指令は、一時に一つずつ直列的に行なわれる。
【0003】デジタルコンピュータが用いられてきた4
0年余りの間に、コンピュータ及びそれを動かすプログ
ラムはより複雑になってきた。直列式コンピュータにお
ける複雑さは、そのメモリ及びそこに記憶されるプログ
ラム及び/又はデータの規模が大きくなってきたことで
増してきている。しかし、ある意味では、これらのより
複雑化した直列式コンピュータは、より効率の悪いもの
になってきている。どの時間にも、直列式コンピュータ
のごくわずかな部分が利用されているだけである。何故
ならCPUによって実行される命令は、二,三のメモリ
ロケーションからしか得られず、また、データを二,三
の他のロケーションに向けるのみである。さらに、コン
ピュータが、そのメモリの規模において機能が良くなる
につれ、メモリから出力を発生する能力の点では、にぶ
くなってきている。何故なら、メモリからデータを検索
するのに要する時間は、メモリに記憶したデータの量と
共に増加するからである。
【0004】直列式コンピュータにおけるこれらの問題
点は、直列式コンピュータの初期における発達に多大な
貢献をしたジョン・フォンニューマンの名前をとって、
フォンニューマン障害と呼ばれてきた。J.バッカスに
よる論文「プログラミングをフォンニューマン形式から
開放出来るか?」(ACMの通信第21巻第8号、第6
13ページ、1978年8月)を参照されたい。
【0005】これらの問題点は、コンピュータを用いて
意味結合ネットワークとよばれる相互関係ネットワーク
に記憶された知識を検索することの多い人工知能の分野
において、特に深刻である。この知識を検索するために
、ネットワーク全体を探査することもあり得る。また、
他の記憶された情報から、希望する事実を推論しなけれ
ばならないこともあるだろう。このような検索を行なう
ために、二,三の単純な演算を、プログラムの演算時間
の大部分にわたって何回も繰り返すことになる。この演
算は下記のことを含む。
【0006】1.大きさ又は数字的順序といったパラメ
ータに従って一組のデータを分類する。
【0007】2.特定の構造を持つサブセット又はサブ
グラフのためにデータ又はグラフの指定された組み合わ
せを探索する。
【0008】3.提言の組み合わせに対してパターンの
突き合わせをする。
【0009】4.記憶されている情報の意味結合ネット
ワークから事実を推論する。
【0010】このような演算を一時に一つずつ行なうこ
とは、コンピュータの時間及び機能という点で非常な浪
費となる。その結果、人工知能における多数の問題が、
現在入手可能な直列式コンピュータでは、アドレスされ
ないでいる。しかし、これらの問題は解決策を緊急に要
する。例えば、画像処理のような基本的な問題なのであ
る。
【0011】換言すると、このような演算を並行して行
なうことが出来れば、演算に要する時間を減少させるこ
とが出来る。このようなことの有利さは良く認識されて
いる。例えば、『VLSI方式の導入』第8章における
C.ミード及びL.コンウェイの「高度兼用方式」(ア
ヂソンウェズレー、1980年)、及びその中に引用さ
れた参考文献、W.D.ヒリスによる「結合装置」(マ
サチュセッツ工科大学人工知能研究室メモ、第646番
、1981年9月)、及びその中に引用されている参考
文献、そして、A.ローゼンフェルドによる論文「細胞
状アレイを用いる並行画像処理」(『コンピュータ』第
16巻、第1号、第14ページ、1983年1月)を参
照すると良い。
【0012】程度の差はあるが、これらの文献では、デ
ータの並行演算を行なうための装置についての一般概念
を述べている。例えば、ヒリスとローゼンフェルドは、
同一のプロセッサ/メモリのアレイで、それぞれがデー
タを記憶するに必要なハードウェアと、それを処理する
ハードウェアとを持つものを考えている。しかし、プロ
セッサ/メモリとその制御との相互結合を含む完全演算
コンピュータについて明確な詳細を述べることがこれら
の論文の目的ではない。
【0013】
【発明の要約】我々は、プロセッサ/メモリのアレイ、
及び、データをアレイ内の1つのプロセッサ/メモリか
ら他のプロセッサ/メモリへ送るための少なくとも2n
 個のノードを持つn−次元パターンで、それらのプロ
セッサ/メモリを相互結合させる手段からなる並行プロ
セッサアレイを考案した。都合の良いことに、n−次元
パターンは、15次元のブール立方体である。
【0014】各プロセッサ/メモリは、読み出し/書き
込みメモリと、少なくとも一部は読み出し/書き込みメ
モリで読んだデータ及び命令情報とに基づく出力を作る
プロセッサとからなる。相互結合手段は、メッセージパ
ケット内のアドレス情報に従って、1つのプロセッサ/
メモリから他のプロセッサ/メモリへ径路指定されるア
ドレスされたメッセージパケットを生成する手段と、パ
ケット内のアドレス情報に従ってメッセージパケットを
径路指定するためにn−次元パターン内の各ノードにあ
る径路指定回路とからなる。
【0015】本発明の好ましい実施例では、プロセッサ
/メモリは、2次元パターンでも相互結合され、その場
合は、各プロセッサ/メモリは、2次元パターンで隣り
合わせているプロセッサ/メモリと直接相互結合される
【0016】現在可能な技術では、そのようなプロセッ
サ/メモリは、これらの相互結合手段で結合されると、
100万個以上も並行して操作できる。
【0017】メッセージパケット内のアドレス情報は、
メッセージパケットが送られるノードに対して相対であ
り、アドレスの各数字が、メッセージパケットの、メッ
セージパケットが送られるノードからの1次元における
相対変位を意味していることが望ましい。n−次元の各
次元に対して、径路指定回路が、メッセージパケットが
その次元内の行き先に到達したかどうかを決め、もし到
達せず、また、その次元内の他のノードが使用出来る場
合には、そのノードへ径路指定するための論理を作る。 最初の行き先決定論理から他のノードへの結合が不可能
な時、または、最初の行き先決定論理が、メッセージパ
ケットがその次元内の行き先に到達したと決定した時に
は、径路指定回路が、メッセージパケットが、第2の次
元での行き先に到達したかどうかを決定するための似た
ような論理にメッセージパケットを導く。さらに、径路
指定回路は、行き先ノードに到達したメッセージパケッ
トをそのノードのプロセッサ/メモリに導く論理と、接
続抵触によって径路指定出来なかったメッセージパケッ
トを記憶する手段とを含む。
【0018】好都合なことに行き先決定論理及び各次元
の径路指定論理は、n−次元パターンの全てのノードに
わたって同時に演算される。その結果、メッセージパケ
ットは、単一の径路指定サイクルの間にn−次元パター
ン全体に径路指定される。加えて、各径路指定回路は小
さいので、数個のプロセッサ/メモリと共に1個の集積
回路チップ上に組み立てられる。
【0019】すなわち、本発明処理チップは、複数の処
理チップを含む処理アレイからなるデジタル・コンピュ
ータ・システムで使用されることを目的とした処理チッ
プ(35)であって、該処理チップは複数のプロセッサ
/メモリ回路を含んでおり、各プロセッサ/メモリ回路
はプロセッサ回路(図9) とメモリ回路(図10)を
含んでいて、該プロセッサ回路はそれに関連するメモリ
回路から受け取ったデータを、該プロセッサ回路のすべ
てに並列に受信されたプロセッサ制御信号に従って処理
して、処理データを出力し、該メモリ回路はデータを格
納するための複数のレジスタを備えており(各レジスタ
は1ビット線255 に接続されたセル252 の集合
である)、該メモリ回路の各レジスタは、メモリ回路の
すべてに並列に受信されたレジスタ・アドレス信号(線
152、 154に現われる)を固有にコード化するこ
とによって定義されたアドレスによって識別され、該メ
モリ回路はメモリ制御信号を受けると、これに応えて、
該レジスタ・アドレス信号によって識別されたレジスタ
から格納データを並列に、処理のためにその関連プロセ
ッサに送ると共に、その関連プロセッサから受け取った
処理データを該レジスタ・アドレス信号によって識別さ
れたレジスタに格納するようにしたことを特徴とする。
【0020】ここで、各々の該レジスタは、少なくとも
1つのデータ記憶セル(252) を含み、各データ記
憶セルは、データ・ビットを記憶するための少なくとも
1つの動的メモリ・データ・ビット格納手段からなるこ
とを特徴とする。
【0021】あるいはまた、各プロセッサ/メモリ回路
ごとに、各レジスタは、各々に少なくとも1つのデータ
・ビットを格納する複数の個別的にアドレス指定可能な
データ記憶セル(252) と、レジスタ・データ転送
通路(255) と、該メモリ回路のすべてにおける該
レジスタのすべてに並列に受信されたセル・アドレス信
号を受けて、該データ記憶セルのうち選択したものと該
レジスタ・データ転送通路との間のデータ転送を制御す
るためのセル読み書き制御回路(261、 267)と
を備えており、該メモリ回路は、該レジスタのすべての
レジスタ・データ転送通路に接続されて、該レジスタ・
アドレス信号を受けると、それに応えて、該レジスタ・
データ転送通路と該プロセッサ回路との間のデータと処
理データの転送を選択的に制御するためのレジスタ・セ
レクタ回路(275、 276)を含んでいることを特
徴とする。
【0022】ここで、各レジスタは、該レジスタ・セレ
クタ回路に接続されて、読取りフェーズ期間に該レジス
タ・データ転送通路からのデータをバッファに入れ、処
理フェーズ期間に該レジスタ・セレクタ回路からのデー
タをバッファに入れるためのデータ・バッファ回路(2
64) を含み、該データ・バッファは書込みフェーズ
期間にバッファに入れたデータを結合して該レジスタ・
データ転送通路上に送出するようになっており、該セル
読み書き制御回路は、各々がセルと関連づけられた複数
のセル転送回路(261、 267)から構成され、セ
ル・アドレス信号を受けたとき、それに応えて、読取り
フェーズ期間にその関連レジスタから該レジスタ・デー
タ転送通路へのデータ転送を制御し、書込みフェーズ期
間に該レジスタ・データ転送通路からその関連セルへの
データ転送を制御してそこにデータを格納するようにし
たことを特徴とする。
【0023】ここで、各々の該データ・バッファ回路は
、該レジスタ・セレクタ回路に接続されたデータ記憶手
段(266) であって、該レジスタ・アドレス信号を
受けて該レジスタ・セレクタ回路から転送されるデータ
を受け入れて記憶するためのデータ記憶手段と、該読取
りフェーズを定義する読取り信号を受けて、レジスタ転
送データ通路(265) からのデータを該データ記憶
手段と該レジスタ・セレクタ回路に結合するための読取
りゲート(267) と、該書込みフェーズを定義する
書込み信号を受けて、該データ記憶手段からのデータを
該レジスタ転送データ通路と結合してセルに記憶するた
めの書込みゲート(267) とを含むことを特徴とす
る。
【0024】ここで、各レジスタは、該レジスタのすべ
てのプリ・チャージ回路に並列に受信されたプリ・チャ
ージ信号(”PC”)を受けて、該読取りフェーズの前
に該レジスタ・データ転送通路をプリ・チャージ状態に
するためのプリ・チャージ回路(271) をさらに含
むことを特徴とする。
【0025】さらにまた、該処理チップは、該プロセッ
サ制御信号を受けて、デコード化したプロセッサ制御信
号を発生するプロセッサ制御信号デコード回路(150
) をさらに含み、各々の該プロセッサ回路は該データ
信号と該デコード化したプロセッサ制御信号を受けて該
処理データを生成することを特徴とする。
【0026】ここで、各々の該プロセッサ回路は、その
関連メモリ回路から送られてきたデータを受けて、デコ
ード化データ信号を発生するデータ信号デコーダと、該
デコード化データ信号と該デコード化プロセッサ制御信
号を受けて該処理データを生成する処理データ生成回路
とを含むことを特徴とする。
【0027】ここで、該処理データ信号生成回路は、デ
ータをコード化した形で表わしたデータ信号をメモリ回
路から受け取り、デコード化プロセッサ制御信号を該プ
ロセッサ制御信号デコード化回路から受け取ると、各々
が選択的に励起される複数の一致ゲートから構成され、
該データ信号デコーダは、メモリ回路から受け取ったデ
ータのさまざまなコード化に対応する該データ信号を生
成することを特徴とする。
【0028】ここで、該処理データ信号生成回路は、和
信号生成回路(284) とキャリ信号生成回路(28
6) とを含み、各々は複数の一致ゲート(284、 
286に示すトランジスタ)から構成され、該デコード
化プロセッサ制御信号は該和信号生成回路の一致ゲート
の励起を制御するための和デコード化プロセッサ制御信
号と、該キャリ信号生成回路の一致ゲートの励起を制御
するためのキャリ・デコード化プロセッサ制御信号を含
んでいることを特徴とする。
【0029】さらにまた、該制御回路から経路指定制御
信号を受けると、それに応えて、該プロセッサ回路で生
成されたメッセージ・パケットを選択的に受信して相互
接続手段を経由して転送し、宛先IDが該処理チップの
プロセッサ/メモリ回路を示しているパケットをそのプ
ロセッサ/メモリ回路に送るためのグローバル経路指定
インタフェース回路(200) をさらに含んでいるこ
とを特徴とする。
【0030】さらにまた、本発明は、以下の諸項目に記
載の発明をも要旨とするものである。
【0031】(A)並列処理アレイ (1)複数の通信リンク(38、 39)を介して相互
に接続された複数の通信ノード(180、 200)か
らなり、該通信リンクは該通信リンクを利用して、アド
レス情報に従って他の該通信ノードとの間でメッセージ
(図5)の受け渡しを行なうようにした通信ネットワー
クと、各々が通信ノードに接続された複数のプロセッサ
(36)から構成され、各プロセッサはコマンドを受け
ると、それに応えてデータを処理し、そこに接続された
通信ノードに転送すべきメッセージを生成することによ
り、該通信ネットワークを利用してメッセージを転送す
ることを開始し、さらに各プロセッサは、その中で選択
された状態を表わす状況信号(”GLOBAL”)を生
成するようにしたプロセッサ・アレイ(30)と、該プ
ロセッサに接続され、選択された状態をもつ合成状況信
号を、該プロセッサによって生成された状況信号の状態
に応じて生成するための状況信号合成回路(124) 
とから構成されていることを特徴とする並列処理アレイ
【0032】(2)(1)の記載において、該通信ノー
ドの少なくとも一部は、各々が複数の該プロセッサに接
続され、該通信ノードの該一部の各々は、そこに接続さ
れたプロセッサによって転送のために生成されたメッセ
ージの1つひとつを複数の転送サイクルの間に反復的に
選択するための選択回路を備えていることを特徴とする
並列処理アレイ。
【0033】(3)(2)の記載において、該通信ノー
ドの各々は、そこに接続された他の該通信ノードの回線
割当て回路からと、その選択回路からメッセージを受信
する通信リンク割当て回路(205、 220)を備え
、各々の該通信リンク割当て回路は、各々がメッセージ
を選択された他の通信ノードに転送するための複数の通
信リンクに接続され、各々の該通信リンク割当て回路は
、各メッセージに含まれるアドレス情報からそこに接続
された通信リンクの1つを識別し、識別された通信リン
クを利用してメッセージを送信するようにしたことを特
徴とする並列処理アレイ。
【0034】(4)(3)の記載において、各通信ノー
ドは、そのノードの通信リンク割当て回路に接続された
バッファ(215) をさらに備えており、転送サイク
ル期間に、複数の受信メッセージが同じ通信リンクに割
り当てられたかどうかを通信リンク割当て回路が判定し
、もし割り当てられていれば、該複数の受信メッセージ
の1つを該通信リンクを利用して転送し、該複数の受信
メッセージの残りを該バッファに入れておくようにした
ことを特徴とする並列処理アレイ。
【0035】(5)(4)の記載において、各々の該転
送サイクル期間に、ある通信ノードのバッファが1つま
たは2つ以上のメッセージを受け入れている場合には、
その通信ノードの通信リンク割り当て回路はさらに、バ
ッファに入っているメッセージの少なくとも1つを該バ
ッファから受信して、それを転送サイクル期間に使用す
るようにしたことを特徴とする並列処理アレイ。
【0036】(6)(3)の記載において、各々の回線
割当て回路はさらに、受信したメッセージに含まれるア
ドレス情報から、回線割当て回路の通信ノードが宛先ノ
ードであるどうかを判定し、そうであれば、そのメッセ
ージをメッセージ・イジェクタ(210) に転送し、
そこからそのメッセージを該通信ノードに接続されたプ
ロセッサの1つに転送するようにしたことを特徴とする
並列処理アレイ。
【0037】(7)(6)の記載において、該メッセー
ジ・イジェクタはプロセッサ識別回路を備えており、該
プロセッサ識別回路は、そこに接続された回線割当て回
路からメッセージを受信するとそれを受けて、そのメッ
セージに含まれるプロセッサIDに応じて、該通信ノー
ドに接続されたプロセッサの1つを識別し、該メッセー
ジ・イジェクタからそのメッセージを識別したプロセッ
サに転送するようにしたことを特徴とする並列処理アレ
イ。
【0038】(8)(2)の記載において、各プロセッ
サは、そのメッセージが転送されたあと、メッセージが
転送されたことを示す状態にその状況信号をセットし、
該状況信号合成回路は、該プロセッサからの状況信号を
受けて、該プロセッサのすべてがそれぞれのメッセージ
を転送したことを示す状態にセットされた合成状況信号
を生成するようにしたことを特徴とする並列処理アレイ
【0039】(9)(8)の記載において、該状況信号
合成回路は、該合成状況信号を該プロセッサからの該状
況信号の論理機能として生成し、該論理機能はブール代
数のOR機能からなることを特徴とする並列処理アレイ
【0040】(10)(1)の記載において、さらに、
該プロセッサによる制御演算と並行に、コマンドを該プ
ロセッサに送るための制御プロセッサ(10、20)を
備えており、該制御プロセッサは、該状況信号合成回路
から受信した合成状況信号の状態に応じて動作するよう
にしたことを特徴とする並列処理アレイ。
【0041】(11)複数の通信リンク(38、 39
)を介して相互に接続された複数の通信ノード(180
、 200)からなり、該通信リンクは該通信リンクを
利用して、アドレス情報に従って他の該通信ノードとの
間でメッセージ(図5)の受け渡しを行ない、各通信ノ
ードはさらに、その中で選択された状態を表わす状況信
号(”GLOBAL”)を生成するようにした通信ネッ
トワークと、各々が通信ノードに接続された複数のプロ
セッサ(36)から構成され、各プロセッサはコマンド
を受けると、それに応えてデータを処理し、そこに接続
された通信ノードに転送すべきメッセージを生成するこ
とにより、該通信ネットワークを利用してメッセージを
転送することを開始するようにしたプロセッサ・アレイ
(30)と、該通信ノードに接続され、選択された状態
をもつ合成状況信号を、該通信ノードによって生成され
た状況信号の状態に応じて生成するための状況信号合成
回路(24)とから構成されていることを特徴とする並
列処理アレイ。
【0042】(B)経路指定装置 (1)並列コンピュータを構成する複数のプロセッサと
接続するための経路指定装置であって、複数の経路指定
ノード(180、 200)からなり、そのうちの少な
くとも一部は少なくとも1つのプロセッサに接続され、
該経路指定ノードは複数の通信リンクによって相互接続
されて、各メッセージに含まれるアドレス情報に従って
メッセージの経路を指定することを容易化し、各メッセ
ージはさらに少なくとも1つのプロトコル・ビットを含
み、各経路指定ノードは、該プロトコル・ビットの存在
を検出するためのプロトコル・ビット検出回路(610
) と、アドレスを検査して、経路指定ノードがメッセ
ージの宛先ノードであるかどうかを判定するアドレス検
出回路(620、 612)と、プロトコル検出回路が
プロトコル・ビットの存在を検出し、アドレス検出回路
がその経路指定ルードが宛先であると判定したとき、メ
ッセージを接続されたプロセッサに結合するためのメッ
セージ送出回路(220、 180)とからなる経路指
定装置。
【0043】(C)経路指定装置 (1)コンピュータ・システムを構成する複数の処理エ
レメント(36)と接続するための経路指定装置であっ
て、該複数の処理エレメントはメッセージを生成し(図
5)、各メッセージはアドレス・エレメントと少なくと
も1つのデータ・エレメントを含む一連のメッセージ・
エレメントから構成され、各々の処理エレメントはメッ
セージ・エレメントを直列に送信する手段(123) 
とメッセージ・エレメントを直列に受信する手段(12
2) とを備えており、該経路指定装置は、メッセージ
のそれぞれのアドレス部分の内容に従って、該処理エレ
メントからメッセージ・エレメントを直列に受信すると
共に、メッセージ・エレメントを該処理エレメントに直
列に送信するように接続されており、さらに、該経路指
定装置は複数の通信リンク(38、 39)によって相
互に接続された複数の経路指定ノード(180、 20
0)から構成され、該経路指定ノードの少なくとも一部
は同じく該処理エレメントに接続され、該経路指定ノー
ドは各々は、各々が通信リンクまたは処理エレメントか
らメッセージのメッセージ・エレメントを直列に受信す
るように接続された複数の入力回路(405) と、各
々がメッセージのメッセージ・エレメントを通信リンク
または処理エレメントに直列に結合するように接続され
た複数の出力回路(415) と、該入力回路に接続さ
れ、該入力回路に受信されたメッセージの該直列に受信
されたアドレス・エレメントを直列にデコードして、各
メッセージごとに出力回路を識別するためのスイッチ(
400) であって、該スイッチは該入力回路の少なく
とも一部と、該入力回路に受信されたメッセージのため
に識別された出力回路とを結ぶ経路を確立し、該スイッ
チは、メッセージの直列に受信したメッセージ・エレメ
ントのすべてが転送されるまでその経路を維持するよう
にしたスイッチとを備えていることを特徴とする経路指
定装置。
【0044】(2)(1)の記載において、メッセージ
・エレメントの各々はビットである経路指定装置。
【0045】(3)(1)の記載において、各経路指定
ノードは、該スイッチに接続されたメッセージ・バッフ
ァ(215) をさらに備え、該スイッチは、そこで同
時にデコードされた複数のメッセージからのアドレス・
エレメントが同じ出力回路を表わしているかどうかを判
定し、もしそうならば該メッセージの1つのメッセージ
・エレメントを受信した入力回路と該バッファとを結ぶ
経路を確立し、該バッファに該メッセージを入れ、バッ
ファに入れたメッセージを入力回路と結合するようにし
た経路指定装置。
【0046】(4)(1)の記載において、該通信リン
クは、該経路指定ノードを多次元に相互接続することを
特徴とするコンピュータ・システム。
【0047】(D) 配列 (1)ある特定の個数の経路指定ノードをもつ経路指定
装置で使用されることを目的とし、各ノードは所定数の
通信リンクを通して複数の他のノードに接続されて、各
メッセージに含まれるアドレス指定情報に従って、ある
ノードのメッセージを別のノードに結合し、該経路指定
ノードはロジック・セルの配列から構成され、該ロジッ
ク・セルは通信リンクの個数に対応する複数の列と少な
くとも1つの列からなる配列に配置され、該ロジック・
セル(400) は各々が、隣接の行のセルからメッセ
ージを受信するための隣接行メッセージ受信回路(L 
IN信号とLP IN 信号を送るためのライン)と、
隣接の列のセルからメッセージを受信するための隣接列
メッセージ受信回路(450、 452)と、隣接の列
のセルからのメッセージを送信するための隣接列メッセ
ージ送信回路(492、 494)と、隣接の行のセル
にメッセージを送信するための隣接行メッセージ送信回
路(U OUT 信号とUP OUT信号を送るための
ライン)と、該メッセージ出力の1つにメッセージを送
信するためのメッセージ出力回路(500) と、該連
接行メッセージ受信回路と該隣接列メッセージ受信回路
に受信されたメッセージを、該隣接行メッセージ送信回
路、該隣接列メッセージ送信回路または該メッセージ出
力回路に選択的に送るためのロジック回路(480、4
90、502、470、472、460、462、46
4、466、476、478)とを備えていることを特
徴とする配列。
【0048】(2)(1)の記載において、該ロジック
・セルは複数の行に配列され、該配列はさらに、配列の
一方の縁を構成する列に沿ったロジック・セルからメッ
セージを受信し、配列の他方の縁を構成する列に沿った
ロジック・セルにメッセージを送信するように各々が接
続された複数の記憶回路と処理回路を含んでいることを
特徴とする配列。
【0049】(3)(2)の記載において、各々が該通
信リンクの1つに接続された複数の受信回路(405)
 をさらに含んでおり、各々の該メッセージ受信手段は
、配列の一方の縁を構成する行に沿ったロジック・セル
の隣接行メッセージ受信手段に接続されて、該ノードの
他のメッセージ受信手段からのメッセージをそのメッセ
ージ受信手段に結合するようにしたことを特徴とする配
列。
【0050】(4)(3)の記載において、各々の該ロ
ジック手段は、該隣接行メッセージ受信手段に接続され
て、該隣接列メッセージ受信手段がメッセージを受信し
ているかどうかを判断するメッセージ存在検出回路(4
80、 490)と、該隣接行メッセージ受信手段と該
隣接列メッセージ受信手段に受信されたメッセージを、
該隣接列メッセージ送信手段または該隣接行メッセージ
送信手段に選択的に結合し、それによって該メッセージ
を隣接のセルにまたは該メッセージ出力回路に送信し、
該メッセージ存在検出回路が行なった判断に応じて該メ
ッセージを別のノードに送るようにしたことを特徴とす
る配列。
【0051】(5)(4)の記載において、各メッセー
ジ存在検出回路は、該隣接列メッセージ受信回路がメッ
セージを受信しているかどうかを示す隣接行メッセージ
存在信号(”AF”)を、隣接行のセルと結合し、各メ
ッセージ送り先ロジック回路は、メッセージを該隣接列
メッセージ送信手段、隣接行メッセージ送信手段または
該メッセージ出力回路に送ることを制御する際に該隣接
行メッセージ存在信号を使用することを特徴とする配列
【0052】(6)(5)の記載において、メッセージ
送り先ロジック回路は、該隣接列メッセージ受信回路と
該隣接行メッセージ受信回路に接続されて、そこからの
メッセージを該隣接列メッセージ受信回路に選択的に結
合するためのマルチプレクサ回路(460、462、4
76) と、該隣接行メッセージ存在信号と該隣接メッ
セージ受信回路がメッセージと受信したことを受けて該
マルチプレクサ回路を制御するためのマルチプレクサ制
御回路(470、 472)を含むことを特徴とする配
列。
【0053】(7)(2)の記載において、該記憶回路
と処理回路の各々は、バッファ回路と、該配列の一方の
側に沿ったロジック・セルの隣接列メッセージ送信回路
に接続されて、そこからメッセージを受信し、それを該
バッファと結合してバッファに入れるためのメッセージ
結合回路と、メッセージ・ソースに接続されて、バッフ
ァ回路かメッセージ結合回路のどちらかからのメッセー
ジを該配列の他方の側に沿ったロジック・セルの輪れつ
列メッセージ受信回路に選択的に結合するためのソース
・セレクタとを含むことを特徴とする配列。
【0054】(E)並列コンピュータ (1)複数のプロセッサ(36)からなり、各プロセッ
サはアレイ内の他のプロセッサに送るためのデータを生
成するようにしたプロセッサ・アレイ(30)と、該プ
ロセッサ・アレイ内の該プロセッサに接続されて、アレ
イ内の任意の対の該プロセッサ間でデータをメッセージ
の形体で転送することを可能にする経路指定手段(18
0、200、38、39) と、該プロセッサの各々を
アレイ内の近接のプロセッサと相互に接続して、各プロ
セッサと該近接のプロセッサの少なくとも1つとの間で
データを同時に転送することを可能にする通信リンク(
286、 287、290)と、該経路指定手段を経由
してデータをメッセージ形体で送信し、該近接プロセッ
サとのデータを該通信リンクを経由して送信するように
該プロセッサを選択的にイネーブルするための制御回路
(20)とを備えていることを特徴とする並列コンピュ
ータ。
【0055】(2)(1)の記載において、各通信リン
クは、各プロセッサに関連する伝送回線(287) と
、該制御回路による制御を受けて、そこで生成されたデ
ータを該伝送回線上に送出するようにプロセッサをイネ
ーブルするための送信ゲート(286) と、各々が近
接プロセッサに関連する伝送回線に接続されて、そこに
接続された伝送回線からのデータを、該制御回路の制御
のもとで受信することを可能にする複数の受信ゲート(
290) とを含むことを特徴とする並列コンピュータ
【0056】(3)(2)の記載において、複数の集積
回路チップ(35)からなり、各チップは少なくとも1
つのプロセッサを構成し、各チップのプロセッサの1つ
の送信ゲートに接続された通信リンクはデータ転送端子
(113、114、115) に接続されて、他の2つ
のチップのプロセッサの受信ゲート(104、106、
110) にデータを送信し、該他の2つのチップとの
データを通信リンクを経由して転送するようにしたこと
を特徴とする並列コンピュータ。
【0057】(4)(3)の記載において、各チップは
、各々が該送信ゲートと該データ転送端子との間に接続
された複数のゲート・ドライバ(117、118、11
9) をさらに含んでおり、該ゲート・ドライバは、該
プロセッサで生成されたデータを、該制御回路からの方
向制御信号を受けて該データ転送端子の各々に転送する
ことを選択的に制御するようにしたことを特徴とする並
列コンピュータ。
【0058】(5)(4)の記載において、各々の該プ
ロセッサは、和信号とキャリ信号を発生する算術論理演
算機構(280) を含んでおり、該キャリ信号はそれ
ぞれのプロセッサによって生成されたデータを構成して
いることを特徴とする並列コンピュータ。
【0059】(6)(1)の記載において、該経路指定
手段は複数のノード(200、180) を含み、各ノ
ードはメッセージ転送ネットワーク内の他のノードにつ
ながる経路指定通信リンク(38、39) に接続され
、各メッセージ(図5)は複数のアドレス桁をもつアド
レス(「セル・アドレス」)を含み、各アドレスは選択
された状態をもち、該経路指定通信リンクの1つと関連
づけられており、各々の該ノードは、メッセージを受信
する受信回路(405)と、受信したメッセージのアド
レス桁の少なくとも一部の状態を判別し、選択された状
態をもつその経路指定通信リンクに関連するアドレス桁
に応じて、該経路指定通信リンクの1つをそのメッセー
ジと関連づけるための通信リンク関連付け回路(400
) と、メッセージを関連の経路指定通信リンクを利用
して送信するためのメッセージ送信回路(415) と
を備えていることを特徴とする並列コンピュータ。
【0060】(7)(6)の記載において、該メッセー
ジ送信回路は、そこを経由してメッセージが送信される
経路指定通信リンクのアドレス桁を補数化することを特
徴とする並列コンピュータ。
【0061】(8)(6)の記載において、該通信リン
ク関連付け回路に接続されたメッセージ記憶手段(42
0) を備え、該通信リンク関連付け回路は、同時に受
信した複数のメッセージが1つの経路指定通信リンクと
関連づけられいるかどうかを判別し、もし関連があれば
、少なくとも1つを該メッセージ記憶手段と結合し、そ
のあと該メッセージ記憶手段は記憶されたメッセージを
該通信リンク関連付け回路に戻すように転送することを
特徴とする並列コンピュータ。
【0062】(9)(7)の記載において、該通信リン
ク関連付け回路は、メッセージが経路指定通信リンクの
どれとも関連づけられていないかどうかをさらに判別す
ることでき、該ノードは、それらのメッセージを受信し
、それらを関連づけられているプロセッサと結合するた
めのメッセージ抽出手段(210) をさらに含んでい
ることを特徴とする並列コンピュータ。
【0063】(10)(6)の記載において、該通信リ
ンク関連付け回路は、所定のメッセージ転送状態を検出
するためのメッセージ転送状態検出手段を備えており、
該通信リンク関連付け回路は、経路指定通信リンクのう
ち、そのアドレス桁が選択した状態になっていない通信
リンクとそのメッセージを関連づけ、該メッセージ送信
回路はそこを経由してメッセージが送信される経路指定
通信リンクに関連するアドレス桁を補数化することを特
徴とする並列コンピュータ。
【0064】
【実施例】読者の便宜のため、本発明の好ましい実施例
の説明を、下記の区分に分ける。
【0065】A.システムの全体的説明B.並行処理I
Cの全体的説明 C.プロセッサ/メモリの説明 D.通信インタフェース装置の説明 E.径路指定回路の説明 F.例 G.代替案 A.システムの全体的説明 図1に示されるように、本発明は、本体コンピュータ1
0,マイクロコントローラ20,並行処理集積回路35
のアレイ30,データソース40,第1バッファ及びマ
クチプレクサ/デマルチプレクサ50、第1,第2,第
3及び第4の双方向バス制御回路60,65,70,7
5,第2バッファ及びマルチプレクサ/デマルチプレク
サ80、及び、データシンク90を含むコンピュータシ
ステムにおいて実行される。本体コンピュータ10は、
デジタル  エクイップメント  コーポレーション(
Digital  Equipment  Corp.
)製造のVAXコンピュータのような、適合するように
プログラムされ、市販されている汎用コンピュータでよ
い。マイクロコントローラ20は、32ビット並列バス
22によってアレイ30に与えられる命令の順序付けを
するための従来からあるデザインの命令シーケンサであ
る。バス22中の32回線の1回線は、アレイ30にR
ESET信号を与え、3回線はタイミング信号を出し、
他の28回線は、命令の伝送に使われる。アレイ30の
各並行処理IC35をアドレス指定するための追加のア
ドレス指定信号は、バス24上のアレイに与えられる。 マイクロコントローラ20は、アレイ30から回線26
上の信号を受け取る。この信号は、データ出力及び状態
情報として用いることの出来る一般目的または大域的信
号である。バス22及び回線26は、各IC35に並列
に接続される。その結果、マイクロコントローラ20か
らの信号は、アレイ30内の各IC35に同時に与えら
れ、回線26上のマイクロコントローラ20に与えられ
る信号は、アレイのIC35の全てからの信号出力を統
合して形成される。
【0066】アレイ30は、32,768(=215)
個の同一なIC35を持ち、各IC35は32(=25
 )個の同一プロセッサ/メモリ36を持つ。このよう
にして全体のアレイ30は1,048,576(=22
0)個の同一プロセッサ/メモリ36を含む。
【0067】プロセッサ/メモリ36は、2つの形状寸
法に構成され、相互結合される。一番目のものは、従来
からある2次元の格子パターンで、プロセッサ/メモリ
は方形アレイ内に構成され、アレイ内の最も近くにある
4個のプロセッサ/メモリに接続される。第2のものは
、15次元のブールn−次元立方体である。2次元の格
子パターンのプロセッサ/メモリを接続するには、アレ
イ30のIC35を256(=28 )行と128(=
23 )列の長方形アレイに構成し、各ICの32のプ
ロセッサ/メモリは、4(=22 )行で8(=23 
)列の長方形アレイ内に接続される。その結果、アレイ
30の1,048,576個のプロセッサ/メモリ36
が、1024(210)行と1024列の正方形内で接
続される。便宜上、この正方形のアレイの側面を、北、
東、南及び西とする。各プロセッサ/メモリをその最も
近くにある4個のプロセッサ/メモリに接続するには、
各プロセッサ/メモリを、各行、各列の隣接するプロセ
ッサ/メモリとの間を電気導体で接続すれば、アレイの
端にあるもの以外のICの最も近くにある4個のICを
、それぞれ北、東、南及び西の隣接する4個のICであ
ると認識されるようになる。
【0068】2次元アレイの列及び行にある各プロセッ
サ/メモリは、第1次元での列番号又は位置を表わすた
めに最初の数字を、また、2次元での行番号又は位置を
表わすために二番目の数字を用いて系統的に番号付けを
することによって識別しても良い。例えば、もし、左端
又は最西端の列をゼロとして列に番号付けし、底部又は
最南端の行をゼロとして行の番号付けをすると、底部左
端又は南西の角に近い9個のプロセッサ/メモリは、0
,2      1,2      2,20,1  
    1,1      2,10,0      
1,0      2,0と識別又はアドレス指定され
、上部右端又は北東角にあるプロセッサ/メモリは、1
023,1023の数字で識別される。このような数字
の組の各々は、連想プロセッサ/メモリのアドレスと言
われるようになる。
【0069】この番号付けのため、2次元アレイ内のい
ずれかのプロセッサ/メモリの最も近い4個は、そのア
ドレスを作る2つの数の1個だけが、そのプロセッサ/
メモリのアドレスと1だけ違うアドレスを持つというこ
とが認識されるだろう。例えば、アドレス1,1を持つ
プロセッサ/メモリの最も近い4個は、それぞれ北、東
、南及び西にアドレス1,2;2,1;1,0;0,1
の4個のプロセッサ/メモリである。
【0070】図1に図式的に示されるように、アレイ3
0の2次元格子パターンは、第1,第2,−3及び第4
の双方向バス制御回路60,65,70,75に向かっ
て、アレイ30の北,東,南及び西の端を越えて、第1
,第2バッファ50,80まで伸びている。特に、アレ
イの4端の各々にある1024個のプロセッサ/メモリ
36の各々は、1024個の双方向導線61,66,7
1,76のうちの1本で、バス制御回路60,65,7
0,75にそれぞれ、接続されている。
【0071】データソース40は、高速データバス41
を経てバッファ及びマルチプレクサ/デマルチプレクサ
50に入力データを送る。データソース40は、コンピ
ュータ端子、通信回線、視覚、聴覚又は触角入力、レー
ダー又はソナー装置、ディスクファイル又はその組合わ
せ等のどのようなデータ源でもよい。実例をあげると、
データバス41は、32ビット幅のバスで、バッファ5
0は、各々32ビット容量を持つ32個の直列入力、並
列出力シフトレジスタでよい。このような構成において
、バス41の各回線は、別個の直列入力シフトレジスタ
に供給するので、従来からの多重化又は多重分離の必要
がない。バス41内の回線数が、シフトレジスタの数と
異なる場合は、多重化又は多重分離回路が、バス41の
個々のデータ回線からバッファ50内のシフトレジスタ
の直列入力にデータを分散するために用いられる。
【0072】バッファ50は、1024個の回線バス5
1上の並列データを、バス制御回路60,65,70,
75のうちの1つに入れ、それが、バス61,66,7
1又は76を経て接続されている側のアレイの外端にあ
るプロセッサ/メモリに、それらのデータを与える。
【0073】アレイ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は、コンピュータ端子、通信回線
、ディスプレー、プリンタ、プロッタ、音声シクセサイ
ザ、機械的装置、ロボット、ディスクファイル、または
それらの組合わせのようなデータ源のどれでも良い。
【0074】アレイ30を通るデータの流れの方向は、
マイクロコンピュータ20及びバス制御回路60,65
,70,75によって制御され、東から西へ、北から南
、又は、その逆であってもよい。図2に示すように、各
バッファ60,65,70又は75は、1024個のセ
レクタ10,001、10,002、10,003……
11,024を持つ。各セレクタへの信号入力のうちの
1つは、バス50からのデータバス51の回線のうちの
1本である。他の2本の信号入力は、アレイ30からの
出力である。ある場合には、入力はセレクタと同じ行又
は列にあるアレイからの出力である。他の場合には、入
力はセレクタのすぐ隣の行又は列のアレイからの出力で
ある。最下部のセレクタの場合には、セレクタへの入力
のうち2本は接地している。4本の入力セレクタ回線の
各々は、4本の信号入力のうちの1本を選び、各セレク
タからの出力になる。4本の入力セレクタ回線上の信号
は、マイクロコントローラ20によって生成される。
【0075】この配置の結果として、各バッファは、4
組の信号、即ち、バッファ50からのデータ入力、アレ
イ30からの再循環データ、アレイ30内の隣接する行
又は列からの再循環データ、そして、全てのゼロの4組
の信号のうちの1組をアレイに送ることもある。隣接す
る行又は列からの再循環データの場合には、バッファは
、実際に、アレイの全ての個別プロセッサ/メモリを、
アレイの1024行又は列を螺旋状に通る1本の回線に
相互結合させてしまっている。
【0076】上記の相互結合の2次元格子は、例えば計
算の初期段階のように、アレイ30に大量のデータを書
き込むため、また、例えば、処理を中断し、アレイの状
態を記憶させる必要のある場合に、アレイの内容を読み
出すためには、役立つ。しかし、この相互結合アレイは
、2次元アレイ中のプロセッサ/メモリ36間の任意の
方向への敏速なデータ中継は行なえない。その上、アレ
イの端と特定のプロセッサ/メモリとの間にデータを移
動させるには、その端と問題のプロセッサ/メモリとの
間にある全てのプロセッサ/メモリにデータをシフト移
動する必要があり、500個以上ものプロセッサ/メモ
リにシフト移動を行なう必要も出てくる。非常に高速で
このようなシフト移動を行なえる場合でも、500回以
上もこうしたシフトを行なう必要があると、全操作を非
常に遅いものにしてしまう。こうしたシフトを、同時に
無作為でばらばらな方向で大量のプロセッサ/メモリに
ついて行なうことも煩雑さも加わって、妥当な費用でそ
のように大きなプロセッサ/メモリの2次元格子を運転
することは不可能になる。
【0077】本発明においては、第2形状寸法に従って
プロセッサ/メモリ36を作り、相互結合することによ
って、この問題点を緩和している。特にIC35は、1
5次元のブールn−立方体の形に作られ、相互結合され
ている。各ICは論理経路系を持ち、その相互結合網を
通るメッセージの径路指定を制御しており、また各IC
内では、32プロセッサ/メモリにバス接続が用意され
、100万個以上のプロセッサ/メモリのどれもが、他
のどれに対してもメッセージを送ることが出来る。その
上、大量のメッセージがいつでも送られ、無作為の方向
へ径路指定出来る。
【0078】IC35のこの接続パターンを理解するた
めに、0から32,767番までICに番号を付け、表
Iのように15個の2進数字を用いる2進法で、これら
の数字又はアドレスを表わすのが良い。
【0079】
【表I】
【0080】2次元格子の相互結合に関して上に述べた
概念は、15次元格子の相互結合に関しても充分通用す
るものである。各プロセッサ/メモリ36を、2つの数
字を用いて、その1つが2次元格子の第1次元での位置
を示し、他の1つが第2次元での位置を示したように、
ブール15−立方体の15次元のそれぞれにおけるIC
の位置を識別するために、番号を使うことが出来る。し
かしn−立方体ではICは、各次元において2つのみの
異なる位置、0および1のうちのどちらかをとることが
出来る。このように、表Iに書かれたような2進法での
15個の数字によるICアドレスは、n−立方体の15
次元でのICの位置も示すのである。便宜状、15個の
2進数字の最左端の数字を、第1次元のICの位置を示
すものとして用い、その順番で、最右端の数字が、第1
5次元でのICの位置を示すものとする。
【0081】その上、2進数字が0又は1の2つの値し
か持つことが出来ず、各ICは15個の2進数字によっ
て独自に識別されるので、各ICには、自分のアドレス
と1個の数字が違うだけの2進アドレスを持つ他のIC
が15個あることになる。我々はこれらの数字が一字し
か違わない15個のICを、最初のICの最も近い隣接
者と呼ぶ。ハミング距離の数学的定義を知っている人々
は、最初のICがその15個の最も近い隣接者の各々か
ら、ハミング距離1だけ離れていることに気づくだろう
。1個のICとそれに最も近い15個の隣接者のアドレ
スの2例を表IIに示す。
【0082】
【表II】
【0083】ブール15−立方体の形にIC35を接続
するには、各ICをそれに最も近い15個の隣接ICに
接続する。図1および図2では、この接続が15本の入
力回線38及び15本の出力回線39で図式的に示され
ているが、実際の接続径路は、図がますます複雑になる
ので描かれてはいない。各IC35へのこれら15本の
入力回線38のそれぞれは、ブール15−立方体の15
次元のうちの異なる1つと関連しており、同様に、各I
C35からの15本の出力回線39のそれぞれは、違う
次元と関連している。
【0084】ブールn−立方体の相互結合パターンを正
しく認識するには、3次元及び4次元のブールn−立方
体内のIC35′のアレイに用いられる相互結合を考え
ると良い。図3は、3次元のブールn−立方体の図式的
描写である。8個の頂点又はノードと12のへりを持つ
従来からある立方体とみなされるであろう。この立方体
の3次元はローマ数字I,II,III で識別される
。頂点のそれぞれに、IC35′があり、各ICからは
3本の出力回路39′が出て、立方体の3次元に沿って
、そのICの3個の最も近い隣接ICまで伸びている。 後に明らかになるように、各IC35′にはそれに最も
近い3個の隣接ICからの出力回線である3本の入力回
線38′もある。下部左端の頂点は、このシステムの原
点と仮定され、従って、この頂点のICが図3の3次元
立方体の第1,第2及び第3次元中の0ポジション又は
アドレスを持つことになる。このアドレス000と書か
れる。各ICは、各次元内の2つだけのポジションのう
ちの1つにあるので、他のICは、図3に示されるよう
に0及び1の3桁の数字の他の組み合わせから成るアド
レスを持つ。
【0085】図4は、4次元のブールn−立方体を示す
。このような立方体には、16個の頂点と32個の稜が
ある。ここでも、1個のIC35′は各頂点又はノード
に置かれ、入力回線38′及び出力回線39′によって
最も近い隣接ICに接続される。しかしこの場合には各
ICには4個の最も近い隣接ICがあり、従って、4−
立方体の4次元に沿って伸びる4本の入力回線と4本の
出力回線を持つことになる。ブール4−立方体内の各I
Cの位置は、図4に示したように4桁の2進数字で識別
され、この4立方体の4次元は、図4に示されるように
、ローマ数字のI,II,III,IVで識別される。
【0086】より高次元の立方体へのこのパターンの外
挿法も明らかにされる。どの場合にも、次に高い次元で
は、頂点の数が2倍になり、各ICは1個余分な最も近
い隣接ICを持つことになる。従って、ブール15−立
方体は、32,768の頂点を持ち、各頂点にICを1
個持つことになり、15個の最も近い隣接ICを持つよ
うになる。
【0087】ブール15−立方体の相互結合パターンに
通信を行なわせるには、コンピュータシステムが、処理
サイクルと径路指定サイクルの両方を持つように操作す
る。計算は処理サイクルの間に行なわれる。径路指定サ
イクルの間に、計算の結果がメッセージパケットの形に
編成され、これらのメッセイージパケットは、パケット
の一部となっているアドレス情報に従って、各IC中の
回路系を径路指定することによって、1つのICから次
のICへ径路指定されて行く。メッセージパケットの様
式は図5に描かれているが、それは、ICアドレス15
ビット、書式ビットが1ビット、ICアドレスを複写す
る他の15ビット、IC中のプロセッサ/メモリへのア
ドレスが5ビット、メッセージの32ビットと誤り検出
の1ビットの合計73ビットから成り立つことがわかる
。誤り訂正のために追加のビットを加えても良い。実例
として、各ビットの持続時間は、1から10メガヘルツ
(MHz)の周波数に応じて、0.1から1マイクロ秒
である。図5には、システムに用いられる基本的クロッ
ク信号PHI1及びPHI2も示されている。これらの
信号は、各々がメッセージパケットの1ビットと同じ周
期と周波数を持つ、非重複2相クロックである。
【0088】メッセージパケット内では、ICアドレス
情報は、行き先ICのアドレスに対して相対である。最
初は、メッセージ源であるICのアドレスとその行き先
のアドレスとの相違又は変位である。例えば、原始IC
のアドレス010101010  101  010で
あり、行き先ICのアドレスが111  111111
  111  111であると、原始ICで生成された
相対アドレスは、101010  101  010 
 101となる。この相対アドレスが、原始及び行き先
のアドレスの排他的論理和(XOR)になることが明ら
かになる。相対アドレス中の1−ビットが、メッセージ
パケットが正しい位置にない次元を識別し、従って、行
き先ICに到達しようとメッセージパケットが移動する
次元を識別することも明らかになる。このように、偶数
番号の次元において、原始及び行き先ICのアドレスが
同じであるような上記の例においては、メッセージはそ
れらの次元の正しい位置にすでに置かれている。しかし
、原始及び行き先ICのアドレスが違う奇数番号の次元
では、それらの次元のための相対アドレス内に1−ビッ
トが存在することは、その次元において、メッセージパ
ケットを1つのICから他のICへ移動させる必要があ
ることを意味する。
【0089】メッセージが1つのICから他のICへ径
路指定される時に、相対アドレスは各移動を考慮に入れ
るため更新される。このことは、メッセージパケットが
移動される次元と関連する2重ICアドレス中のビット
を考えると都合良く行なわれる。その結果、メッセージ
パケットが行き先ICへ到着すると2重ICアドレス中
のビットは全てゼロになる。
【0090】全てのIC中の径路指定回路系は、同一に
なっていて、同じ径路指定サイクルを用いて同期的に操
作される。ICアドレスは15ビット持つ73ビットの
メッセージパケットの図5の例として、径路指定サイク
ルの長さは基礎的クロック信号PHI1の88サイクル
である。各径路指定サイクルの1回目の間に、各ICに
おける径路指定回路系が径路指定回路系内の各メッセー
ジパケットのICアドレスの最初のコピーの先行ビット
をテストして、そのレベルを決める。この位置に1−ビ
ットがあり、第1次元に関連しているICからの出力回
線がふさがっていない場合、メッセージパケットは、第
1次元出力回線から、第1次元内でそのICに最も近い
隣接ICまで径路ICまで径路指定される。メッセージ
パケットアドレスの先行ビットが0−ビットであると、
メッセージパケットは、第1次元内の正しい位置にある
ので、同じIC内にとどまる。その結果、1回目の間に
、ICの径路指定回路間のメッセージの流れは第1次元
に沿ったものになる。
【0091】メッセージパケット内のICアドレスの最
初のコピーの先行ビットは、その後で破棄される。メッ
セージパケットが他のICに径路指定されたとすると、
2重ICアドレス内の対応するアドレスビットが、そう
した動きを償うために補足される。
【0092】2回目のアドレス時間には、各ICの径路
指定回路系は、再び、ICに存在するメッセージパケッ
トの先行ビットをテストする。しかし、このビットは、
メッセージパケットが、第2次元の正しい位置にあるか
どうかを表示するビットである。もし、このビットが1
−ビットで、第2次元出力回路がふさがっていなければ
、メッセージパケットは、第2次元出力回線上を、第2
次元中のそのICに最も近い隣接ICに向かって径路指
定される。もし、最初のビットが0−ビットであると、
メッセージパケットはIC内にとどまる。
【0093】この過程は、15回のアドレス時間の間続
き、その最後に、メッセージパケットの最初の15のア
ドレスビットが使い切られる。しかし、必要とされる出
力回線が利用出来れば、ブール15−立方体を通る径路
が確立され、メッセージパケットの残りを転送すること
が出来る。
【0094】この径路指定機構の実例は、図4のブール
4−立方体を参考にして示される。メッセージが、アド
レス1111を持つ原始IC35′から、アドレス00
10を持つ行き先IC35′へ送られる。装置アドレス
又は行き先ICの変位は、原始および行き先ICのアド
レスの排他的論理和を取ることによって得られる。従っ
て、相対アドレスは、メッセージパケットを第1,第2
,第4次元で移動させ、第3次元では移動してはならな
いことを表わす1101になる。それから、原始ICに
ある径路指定回路は、相対アドレスの最初のコピーの最
初のビットを調べて1−ビットを識別し、もしこの出力
回路が利用出来れば、メッセージを第1次元に沿ってI
C0111に径路指定し、ICアドレスの最初のコピー
の最初のビットを破棄し、複製ICアドレス内の最初の
1−ビットを補充する。2回目のアドレス時間内に、ア
ドレスが0111のICにある径路指定回路が、残りの
3個のアドレスビットの最初のものを調べて、再び1−
ビットを見つけ出す。従って、出力回線が利用出来れば
、径路指定回路はメッセージパケットをアドレスが00
11であるICに送り、第2次元での動きを表示するI
Cアドレスの最初のコピー内の1−ビットを破棄し、そ
の動きが起きたことを示すために複製ICアドレス内に
1−ビットを補充する。
【0095】3回目のアドレス時間中に、アドレス00
11にある径路指定回路が、残りの2個のアドレスビッ
トの最初のものを調べて0−ビットを識別する。このI
Cにメッセージパケットを保持し0−ビットを破棄する
。4回目のアドレス時間には、アドレス0011にある
径路指定回路が残りのアドレスビットを調べて1−ビッ
トを識別する。従って、それはメッセージパケットを出
力回線に沿ってIC0010まで径路指定し、ICアド
レスの最初のコピーの最後のビットを破棄し、複製IC
アドレスの最後のビットを補充する。
【0096】IC0010に到達すると、径路指定回路
は、テストする複製ICアドレス内のどの1−ビットで
も無ければそれを察知し、従って、メッセージパケット
がその行き先に到達したことがわかる。それからメッセ
ージパケットは、アドレスがメッセージパケット内に明
記されているプロセッサ/メモリに運ばれる。径路指定
過程についての詳細は、図14〜図19を参照して下記
で述べられる。
【0097】B.並行処理ICの全体的説明各ICは非
常に大きい規格の集積回路(超LSI)として単一のシ
リコンチップ上に組み立てられる。図6に示すように、
これらのチップの64(=26 )個が各チップパッケ
ージ100に入れられ、各印刷配線回路(PC)板13
0上に取り付けられ、相互結合される。このような32
,768個のICにそなえて、512(=29 )枚の
印刷配線回路板が、適当な枠体内に取り付けられる。従
来からある配線取り付け具132が、2次元格子及びブ
ール15−立方体構造の双方において、これらの配線板
を相互結合する。図6に示した構成では、ICの最も近
い隣接ICのうち6個が、それと共に同じPC板に取り
付けられ、他の9個は違うPC板に取り付けられる。
【0098】97本のピン102がそれぞれのパッケー
ジ上に付けられ、そのチップをPC板上の他のチップと
システムの他の部分に接続している。これらの97本の
ピンが運ぶ信号を表III に示す。IO−I27,リ
セット,PHI1,PHI2及びKシンクと名付けられ
たピンはバス22に接続され、命令信号,リセット信号
及びタイミング信号,PHI1,PHI2及びKシンク
をマイクロコントローラ20から受ける。CS0及びC
S1ピンは、両方のピンでの信号が低い時にチップをア
ドレス付けするチップ選択ピンである。これらのピンを
選択する信号はバス24によってアレイ30に与えられ
る。 N0−7、SW0−7及びE0−7ピンは、北,南,西
及び東の隣接するチップ上の最も近いプロセッサ/メモ
リへの接続を行なう。Cube In 0−14及びC
ube Out0−14ピンは、ブール15立方体内の
最も近い隣接プロセッサ/メモリへの接続を行なう。グ
ローバルピンは、回線26を越えてマイクロコントロー
ラ20に接続される。LEDピンは、活性化されている
時に発光ダイオードを駆動してチップに視覚信号を生成
させる出力を提供する。この信号を用いてテストや監視
を行い、また計算の結果を表示したりすることも出来る
。6本の接地及び電源ピンは、チップに接地及び電源接
続をする。
【0099】
【表III】
【0100】図7及び図8は、アレイ30の32,76
8個の同一のIC35のうちの1個をブロック図で描い
ている。図7に示すように、1個のICの32のプロセ
ッサ/メモリ36は、8列で4行のアレイ内で接続され
ている。そして、便宜上、このアレイの稜は、北,東,
南及び西と識別されている。図7には個別のプロセッサ
/メモリの空間関係が描かれていないが、図20のチッ
プ配置図に見られるように、それらの空間関係は異なっ
ている。図7にもどると、各プロセッサは、N,E,S
及びWとラベルを付けた入出端子を通じて、北,東,南
及び西の最も近い隣接者と接続されている。また、各プ
ロセッサはデイジーとラベルを付けた入力端子を通じて
1つの回線内にデイジーチェーンにつながれている。各
プロセッサからこれら5個の入力端子への出力は、最も
近い隣接者のN,E,S及びW入力端子と、チェーン内
に次のプロセッサ/メモリのデイジー入力端子とに接続
されている出力端子キャリー上にある。後に明らかにな
るように、デイジーチェーンは下部左端角に始まり、第
1列目を上へ行き、2列目は下行し、3列目は上へ行き
というように進んで、アレイの下部右端角に達する。
【0101】8本の双方向回線104が、このプロセッ
サ/メモリアレイから北のN0−7チップピンに伸び、
さらに8本の双方向回線106がプロセッサアレイから
南のSW0−7に伸びる。これらの8本の回線106の
うち4本は、西からの4本の双方向回線108と多重化
される。さらに4本の双方向回線110が、アレイから
東のE0−3チプピンへ伸びる。これらの回線の読み取
り/書き取り機能は、書き取り回線113,114,1
15によって制御され、それらは回線励振器117,1
18,119をそれぞれ制御し、データを北,東又は南
/西に書き込む。南と西の導線の多重化は、2次元格子
アレイ内のデータの流れが一時的に一方向(例えば、東
から西)にしか流れないので、可能である。
【0102】格子及びデイジーチェーン接続に加えて、
各プロセッサ/メモリは共通してアドレス及び出力信号
バス121、メッセージパケット入力信号回線122、
メッセージパケット出力信号回線123、及びグローバ
ス出力信号回線124に接続されている。これらの回線
とバスへの接続は、最東端の4個のプロセッサ/メモリ
についてのみ図7に示されているが、32個全てのプロ
セッサ/メモリにも同じ接続がなされることが理解出来
るだろう。
【0103】図8に示すように、各IC35はタイミン
グ発生器140、プログラム可能な論理アレイ(PLA
)150、通信インタフェース装置(CIU)180、
径路指定回路200及び32個のプロセッサ/メモリ3
6から成る。タイミング発生器140はシフトレジスタ
145で、システムクロック信号PHI1及びPHI2
によってパルスがきざまれる。この発生器はマイクロコ
ントローラ20からのタイミング信号、Kシンクによっ
てリセットされる。よく知られる技術によって、このレ
ジスタは図12,図13,図17及び図19に示される
型のタイミング波形を作り出し、通信インタフェース装
置180及び径路指定回路200の動作を制御する。
【0104】プログラム可能な論理アレイ(PLA)1
50は、マイクロコントローラ20から回線22上の命
令を受け、これらの命令をアドレス及び出力信号バス1
21の信号に復号化する復号化マトリックスである。命
令は、表IIIに識別されている28本のピンの上にあ
るチップパッケージ100で受け取られる。I5−8及
び27ピンの信号は例外であるが、これらの信号はPL
A入力ラッチ151に直接送られPLA150によって
復号され、プロセッサ/メモリ36によって使われる間
、そこに記憶されている。I5−8ピン上の信号は、4
個のANDゲート165に送られ、そこで、ピン127
上の信号が高くなった時にメッセージパケット入力信号
回線122に受けた信号の最後の4ビットに従って変更
される。ピン127は、否定回路166によって、これ
ら最後の4個のビットを記憶する直列−入力、並列−出
力ラッチ167、及び、ピン127上の否定信号とラッ
チ167の並列出力との論理和を形成する4個のORゲ
ート168に接続される。
【0105】図8に示されるように、バス121は2個
の16回線バス152,154及び各プロセッサ/メモ
リ36内のRAMレジスタ250に接続されている2個
の32回線バス156,158,ALU270に接続さ
れている2個の8回線バス162,64,8回線バス1
72,2個の16回線バス174,176、そして、各
プロセッサ/メモリ内のフラグコントローラ290に接
続されている1本の回線178を含む。バス152,1
54,156,158,172,174及び176上の
信号は、RAMレジスタ250及びフラグコントローラ
290内の特定の場所から又はそこへの情報を読み出す
か書き込むために使われる復号アドレス信号である。こ
のアドレス指定を完成するには、バスの1回線が1個の
2進信号、例えば、高信号又は1−ビットを送り、他の
回線全てが他の2進信号、例えば低信号又は0−ビット
を送る。ALU270へのバス162,164上の信号
は、ALU270の違う可能性のある出力である。これ
らの信号についての詳細は、図9と図10を用いて下記
に述べる。
【0106】通信インタフェース装置(CIU)180
はICのプロセッサ/メモリとそのICに関連する径路
指定回路との間で出入りするメッセージパケットの流れ
を制御する。CIU180は否定回路181,ラッチ1
82,タップされたシフトレジスタ184,第1,第2
セレクタ186,188及び第1,第2パリティ論理回
路190,192とを含む。図8に示すように、ICの
プロセッサ/メモリ36からのメッセージパケット出力
信号回線123は、否定回路181によって、ラッチ1
82への入力、シフトレジスタ184、セレクタ186
、及びパリティ論理回路190に接続される。ラッチ1
82の出力は、回線194上を径路指定回路200へ送
られ、プロセッサ/メモリ36のうちの1個からメッセ
ージパケットが利用出来る時を指示する。メッセージパ
ケット自体は、セレクタ186から回線196上の径路
指定回路に送られる。CIU180で受け取られた時の
状態では、出て行くメッセージパケットは、行き先IC
の相対ICアドレスのコピーを1つだけ持っている。 タイミング発生器140からのタイミング信号の制御の
もとで、セレクタ186及びシフトレジスタ184が相
対ICアドレスのコピーを生成し、メッセージパケット
の前端部に挿入する。パリティ論理回路190がメッセ
ージパケットの正しいパリティビットを計算し、それを
メッセージパケットの一部として径路指定回路に供給す
る。
【0107】径路指定回路からの信号は、回線197,
198及び199上セレクタ188に送られる。これら
の信号回線は、それぞれ、入ってくるメッセージパケッ
トが径路指定回路から来るかどうかの指示、入ってくる
メッセージパケット自体、そして、回線196上の出て
行くメッセージパケットが首尾よく径路指定回路に受け
取られたかどうかの指示を出す。セレクタ188の出力
は、メッセージパケット入力回線122上のプロセッサ
/メモリ36に送られるメッセージパケットである。パ
リティ計算はパリティ論理192によって行なわれる。 これらの回線の動作についての詳細は、下記の図11の
説明中で述べる。
【0108】径路指定回路200は、ブールn−立方体
中の最も近い隣接ICから又はそれらへのメッセージパ
ケットの径路指定を制御する。回路200は、回線割り
当て器205、メッセージ検知器、バッファ及びアドレ
ス復元器215、及びメッセージインジェクタ220と
から成る。回線割り当て器205は、その特殊なICの
15個の最も近い隣接ICからの15本の入力回線38
及び同じ15個の最も近い隣接ICへの15本の出力回
線39とを持つ。回線割り当て器205には、メッセー
ジ検知器210への15本のメッセージ出力回線206
及びメッセージインジェクタ220からの15本のメッ
セージ入力回線207も持つ。加えて、各メッセージ入
力回線207には、関連するメッセージ入力回線207
上にメッセージがあることを表示するもう1本の回線が
208がある。回線割り当て器205は、入って来る回
線38上に受けるメッセージパケットのアドレスを分析
し、それらがこの特殊なICに向けられたものか、ある
いは他のIC向けのものかを決め、可能であれば、メッ
セージパケットをその行き先まで径路指定し、このIC
あてのメッセージパケット、そして、回路割り付けの障
害のために径路指定出来なくなったメッセージパケット
を記憶しておく。
【0109】メッセージ検知器210はメッセージパケ
ットの受け取りをチェックし、回線割り当て器205か
ら回線207上に受けたメッセージパケットのアドレス
を調べ、このICあてのメッセージパケットを回線19
8上のCIU80へ供給する。図8に示された回路内で
、回線198は、メッセージパケットを一度に1個しか
転送出来ない。このICに1個以上のメッセージパケッ
トがアドレス指定されている場合には、1個のパケット
がCIU180に提供され、他のパケットは、違うIC
にアドレス指定されている他のメッセージパケットとと
もにバッファ215に提供される。
【0110】バッファ及びアドレス復元器215は、タ
ップされたシフトレジスタ184と構造と機能において
似ているタップされたシフトレジスタから成る。バッフ
ァ215はメッセージパケットの初めにおいてメッセー
ジパケット内にある複製アドレス情報からメッセージパ
ケットのアドレスのコピーを再生する。バッファ及びア
ドレス復元器の出力はメッセージパケットインジェクタ
220に加えられる。
【0111】メッセージパケットインジェクタ220は
、CIUから径路指定回路を循環しているメッセージパ
ケットのグループの中に、一度に1つずつメッセージパ
ケットを注入する。径路指定回路の詳細は図14〜図1
9を参照して説明する。
【0112】IC35のチップ配置図は、図20に描か
れてる。この配置図中でPLA150は右側のチップの
上部を下部のふちに位置する2つのアレイ内に入られて
いる。個別のプロセッサ/メモリ35は、PLA150
の間のスペースにバス励振器を間に挟んで4つのグルー
プに分けて形成される。個別プロセッサ/メモリについ
ての下記の記述から明らかになるように、各プロセッサ
/メモリは、動的読み−書き記憶装置、このような記憶
装置へのアドレス指定回路系、ALU、フラグレジスタ
、フラグレジスタへのアドレス指定回路系及び他の励振
器回路の38ビットを持つ。CIU180はチップの上
部中央に置かれ、タイミング発生路140及び径路指定
回路200は、チップの左側部分を占める。この配置で
は、PLA150から個別のプロセッサ/メモリ36へ
のアドレス及び出力信号バス121は、個別プロセッサ
/メモリとバス励振器を通る垂直な回線のアレイである
。プロセッサ/メモリからCIU180への出力回線も
、同様に、本質的には垂直な回線である。1個のプロセ
ッサ/メモリの展開図に示されるように、プロセッサ/
メモリ内の信号の流れは、本質的には、バス121に対
して直角になる。
【0113】その結果、回線の交差は最小限になり、回
路配置が簡素化される。
【0114】1個のプロセッサ/メモリ36を超LSI
設計内におさめるのに要するトランジスタの概数は、1
800個であり、PLA150,32プロセッサ/メモ
リ及びバス励振器のトランジスタの数は約60,000
個である。タイミング発生器,径路指定回路系及びCI
Uには約24,000個のトランジスタが必要である。 1個のシリコンチップ上に100,000以下のトラン
ジスタの集積回路を構成することは、現在の技術で充分
行なえることであり、約7mm×8mmの1個のシリコ
ンチップ上に集積回路35の大量生産も、今日の技術で
可能と思われる。
【0115】C.プロセッサ/メモリの説明プロセッサ
/メモリが、図9と図10により詳細に開示されている
。図9に示されるように、プロセッサ/メモリは、ラン
ダムアクセスメモリ(RAM)250、演算論理装置(
ALU)280及びフラグコントローラ290から成る
。ALUは、3送信源、即ちRAM内の2つのレジスタ
及び1個のフラグ入力からのデータで動き、2出力、即
ちRAMレジスタの1個に書き込まれた合計出力及び、
フラグコントローラ内のいくつかのレジスタと他のいく
つかのプロセッサ/メモリにも利用出来るキャリ出力と
を発生する。ALUの動作は、読み出しサイクル及び条
件つき書き込みサイクルで行なわれる。書き込みサイク
ルの間に、特定の条件が満たされていればこれらの結果
がRAM及びフラグレジスタに書き込まれる。ALUの
タイミングは、合計及びキャリ出力の新しく計算された
値が書込サイクルの前に利用出来るようにする。このこ
とによって、合計出力信号が書き込みサイクルの間にR
AMレジスタの1つに書きもどすことができ、キャリ出
力が、1回の命令サイクルの間に同じチップ上の多数の
プロセッサ/メモリを通って伝播することが出来る。
【0116】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はデータシ
ンクとして働く。
【0117】RAM250への入力は、バス152,1
54,156,158,ALU270からの合計出力回
線285,CIU180からのメッセージパケット入力
回線122、及び、フラグコントローラ290からの書
き込み許可回線298である。RAM250からの出力
は、回線256,257である。回線256,257上
の信号は、RAM250内の2つの異なるレジスタの同
じ列から得られ、そのレジスタの1つはレジスタAと呼
ばれ、他はレジスタBと呼ばれる。バス152,154
,156,158はこれらのレジスタとその中の列を、
マイクロコントローラ20からの命令語に従ってアドレ
ス指定する。
【0118】実例をあげると、表III を参考にして
、回線I5−8はPLA150で復号され、レジスタA
を選択又はアドレス指令するバス121の16本の回線
152のうちの1本に高い信号を送り、回線I9−12
は復号されてレジスタBを選択する16本の回線154
のうちの1本に高い信号を送り、回線I13−17は復
号されて、RAM250内の32列のうちの1個を選択
する32本の書き込み回線156のうちの1本又は32
本の読み取り回線158のうちの1本のどちらかに高い
信号を送る。このようにして回線152−158が、1
2×32ビットRAM内の2個のセルを特定し動作が読
み出しか書き込みかを特定する。
【0119】RAM250の詳細は、RAM250の上
部左隅の4個のセルと関連する回路系とを描いている図
10に示される。各セル252は、図示されるように接
続されている3個のパストランジスタ261,262,
263を含み、トランジスタ263内に情報の1ビット
を記憶する。データ1ビットは、読み出し選択回線の1
つ及びパストランジスタ262の1つの上の信号の制御
のもとに、トランジスタ263から読み出される。
【0120】32個のセル252の各レジスタ254も
、ビット回線255,リフレッシュ回路264及びプレ
チャージトランジスタ271を含む。加えて、回線12
2は1組のパストランジスタ273,274に接続され
、他の1組のパストランジスタ273,274には接地
接続がなされ、0−ビットの送信側となり、レジスタ1
5としてデータシンクとなる。16個のパストランジス
タ273はレジスタA選択275を構成し、各パストラ
ンジスタは、ANDゲートとして機能し、それは16本
の回線のうちの異なる1本によって使用可能になり、R
AM250内の16ものレジスタのうちの1個からレジ
スタAを選択する。同様に、16個のパストランジスタ
274はレジスタBセレクタ276を構成し、各トラン
ジスタは、これら16個のレジスタからレジスタBを選
択する16本の回線154の異なる1本に接続される。 どのような時も、パストランジスタ273のうちの1個
のみ、そしてパストランジスタ274のうちの1個のみ
が、レジスタA及びレジスタBの出力を選択するために
導通している。
【0121】各トランジスタ273の出力は一緒に接続
され、回線256上にレジスタA信号を出し、各トラン
ジスタ272の出力は一緒に接続され、回線257上に
レジスタB信号を送る。回線256上の信号が、双方向
ドライバ258によってALU280への入力に送られ
る回線257上の信号は、ドライバ259によってAL
U280への他の入力へ送られる。
【0122】ALUの書き込みサイクルの間、合計出力
信号はレジスタAに書きもどされる。好都合なことに、
この信号は、双方向ドライバ258,回線256及び信
号を導通しているパストランジスタ273を経てレジス
タAのトランジスタ266へ送られる。
【0123】RAM250は4相クロック信号で動くが
、その信号のうちの2個は基本的クロック信号PHI1
及びPHI2であり、他のPHI1P 及びPHI2P
 はPHI1及びPHI2のプレカーソルである。クロ
ック信号PHI1P 及びPHI2P はプレチャージ
回線272に与えらえれ、クロックサイクルPHI1の
間の各読み出し動作及びクロックサイクルPHI2の間
の各書き込み動作の前にビット回線255をプレチャー
ジする。クロックサイクルPHI1P 及びPHI2P
 の間、プレチャージ回線272の信号は高く、プレチ
ャージトランジスタ271を導通させ、正電圧源VDD
及び各ビット回線との間の接続を行なう。クロックサイ
クルPHI1P の間に、この接続によって各ビット回
線255を、高い信号又は1−ビットに充電する。
【0124】クロックサイクルPHI1の間、前回の書
き込みサイクルの間にパストランジスタ263に記憶さ
れた信号が反転された形でRAM250の各レジスタの
ビット回線255で読み出される。記憶された信号が高
い信号又は1−ビットであると、パストランジスタ26
3は導通され、接地径路を形成する。その結果、読み出
し選択回線158上にパストランジスタ262への高い
信号が与えられると、接地点への径路が出来て、それが
ビット回線255を低いものにする。従って、前回の書
き込みサイクルの間にトランジスタ263に書き込まれ
た1−ビットは0−ビットに変換される。逆に0−ビッ
トがトランジスタ263に書き込まれていると、接地径
路が出来ないため、ビット回線255は高いままになる
。その結果、トランジスタ263上に書き込まれたビッ
トは、再び反転され、この場合は1−ビットになる。 反転されたビットは、次のクロックサイクルであるリフ
レッシュサイクルの間に、再反転される。
【0125】クロックサイクルPHI1の間、読み出し
回線286上の信号も高く、各トランジスタ265を導
通させる。その結果、各ビット回線255上の信号は、
リフレッシュ回路264内のトランジスタ266に書き
込まれる。同時に、レジスタAセレクタのトランジスタ
273によって選択されたビット回線上の信号、及び、
レジスタBセレクタのトランジスタ274によって選択
されたビット回線上の信号とは、ドライバ258,25
9に送られる。これらのドライバが、回線298上の書
き込み使用可能信号によって使用可能になると、レジス
タA及びレジスタB信号はそれぞれ、出力回線256及
び257上のALU280に送られる。
【0126】クロックサイクルPHI2P の間、プレ
チャージ回線272及びリフレッシュ/書き込み回線2
69は高く、各トランジスタ267及び271を導通さ
せる。クロックサイクルPHI1の間にトランジスタ2
66上に1−ビットが書き込まれると、そのトランジス
タも導通され、ビット回線255を低くする接地径路が
形成される。その結果、クロックサイクルPHI1の間
にトランジスタ266上に書き込まれた1−ビットは、
0−ビットに変換される。逆に、0−ビットがトランジ
スタ266に書き込まれていたとすると、リフレッシュ
回路264には接地径路がなく、ビット回線255は、
正電圧VDDとビット回線255間に導電径路を作るプ
レチャージトランジスタ271によって高くされる。そ
の結果、トランジスタ266に書き込まれた0−ビット
は1−ビットに反転される。
【0127】クロックサイクルPHI2の間、各ビット
回線上の信号は、書き込み選択回線156の1本によっ
て選択された列内のセルの各トランジスタ263に書き
込まれる。特に、書き込み選択回線156の1本に高い
信号が加えられると、それが加えられたトランジスタ2
61は導通され、ビット回線255とトランジスタ26
3との間に径路が出来て、各ビット回線上の信号がトラ
ンジスタ263上に書き込まれる。この信号はクロック
サイクルPHI1の間にトランジスタ263から読み出
された時に一度、又、クロックサイクルPHI2P の
間にトランジスタ266から読み出された時に一度、反
転されているので、トランジスタ263へ書きもどされ
た信号は、最初に読み出された信号と同じであり、トラ
ンジスタはリフレッシュされる。
【0128】しかし、レジスタA出力を作るビット回線
255の場合は、クロックサイクルPHI2の間にトラ
ンジスタ263に書き込まれた信号は、ALU280の
合計出力であり、トランジスタ263から最初に読み出
された信号ではない。合計出力信号は、クロックサイク
ルPHI2P の間に、回線285上の双方向ドライバ
258に使えるようになる。この信号が低いと、ドライ
バ258は、クロックサイクルPHI1の間にトランジ
スタ266上に記憶された信号の状態に関係なく、レジ
スタA内のトランジスタ266上に0−ビットを書き込
む。同様に、合計出力信号が高いと、ドライバ258が
、クロックサイクルPHI2P の間にトランジスタ2
66上に記憶された信号に関係なく、トランジスタ26
6上に1−ビットを書き込む正電圧源VDDに径路を作
る。ここでも、トランジスタ266上の1−ビットがビ
ット回線255を低くし、0−ビットが回線255を高
くする。その結果、クロックサイクルPHI2の間、レ
ジスタAのビット回線255の状態は合計出力信号の逆
であり、あのレジスタのセルのトランジスタ263上に
書き込まれた信号になる。
【0129】フラグコントローラ290図9に示すよう
に、フラグコントローラ290は、8個の1−ビットD
−タイプフリップ−フロップ292,16から2を取り
出すセレクタ294及びいくつかの論理ゲートのアレイ
である。フリップ−フロップ292への入力は、ALU
280からキャリ出力信号、セレクタ294からの回線
298上の書き込み使用可能信号、及びPLA160か
らのバス172の8本の回線である。回線172はアド
レス回数であり、その各々はフリップ−フロップ292
の他の1つに接続され、フラグビットが書き込まれるフ
リップ−フロップを選択する。実例をあげると、フリッ
プ−フロップはそのフリップ−フロップに接続されてい
る回線上の高い信号によって選択され、低い信号は、他
の7個のフリップ−フロップに接続された他の7本の回
線上におかれる。フリップ−フロップ292の出力は、
セレクタ294に加えられる。これらのフリップ−フロ
ップのうちの1つ、グローバルフリップ−フロップの出
力は、パストランジスタ124′によってグローバル出
力信号回線124に加えられ、他のフリップ−フロップ
、ComEフリップ−フロップの出力は、NANDゲー
ト293に加えられ、NANDゲートの出力は、パスト
ランジスタ123′によってメッセージパケット出力信
号回線123に送られる。
【0130】セレクタ294への入力は16のフラグ信
号回線295にもなり、そのうち8本はフリップ−フロ
ップ292からのもので、バス174,176の各々か
ら16本の回線が来る。回線174,176はアドレス
回線であり、出力又はそれより先の処理のためのフラグ
シグナル回線の1つを選択する。セレクタ294は回線
296及び297の出力を与え、それらの回線は、それ
ぞれアドレス回線174及び176によって選択された
フラグのどちらかになる。回線296上のフラグはフラ
グアウト信号である。回線297上のフラグは、排他的
ORゲート299によってPLA150からの回線17
8上の信号と比較され、書き込み使用可能信号を回線2
98上に作り出す。
【0131】セレクタ294は、RAM250内のアレ
イ275,276に似た、各々16のパストランジスタ
の2本のアレイによって助けられる。16本の回線17
4の各々が最初のアレイの1個のパストランジスタを制
御し、16本の回線176の各々は、2番目のアレイの
1個のパストランジスタを制御する。パストランジスタ
の各々は、回線174,176上の適切な信号によって
使用可能にされるANDゲートを構成する。個別のフラ
グ入力は、各アレイに1個ずつ、2個の異なるパストラ
ンジスタに送られる。回線196上のFLAG  OU
T信号は、最初のアレイの16個のパストランジスタの
出力の単なる論理ORである。回線198上の書き込み
使用可能信号は、2番目のアレイの16個のパストラン
ジスタの出力の論理ORを回線178上の信号と比較す
ることによってえられる。
【0132】フラグの名称、アドレス及び機能を表IV
に示す。
【0133】
【表IV】
【0134】8個のフラグレジスタ292(アドレス0
−7)は、ALU280のキャリ出力回線からのデータ
を書き込んでもよい。これらの値は、プロセッサ/メモ
リの内部動作に用いてもよい。フラググローバス及びC
omEは、特別な機能を持っている。チップ上の全ての
プロセッサ/メモリからのグローバルフラグの出力は、
一緒に反転及びORされ、チップ上のグローバルピン(
表III 参照)に、バス124上に加えられる。32
,768個のチップアレイ内の全てのグローバルピンの
出力は、ともにORされ、回線26上でマイクロコント
ローラ20に加えられる。ComEフラグはALU28
0のキャリ出力を、CIU180へのメッセージパケッ
ト出力信号回線123へ送る。チップ上の数個のプロセ
ッサ/メモリが同時に回線123に出力を与えると、径
路指定回路200への回線196上のCIU180の出
力が、その時に回線123に出力を与えている全てのプ
ロセッサ/メモリのキャリ出力の論理和になる。
【0135】北,東,南及び西フラグは、北,東,南及
び西の最も近い隣接プロセッサ/メモリのキャリ出力回
線からのプロセッサ/メモリへの入力となる。同様に、
デイジーフラグは、デイジーチェーンで隣にあるプロセ
ッサ/メモリのキャリ出力回線からの入力である。通信
インタフェース装置(CIU)180からのメッセージ
は、メッセージパケット入力信号回線122により、フ
ラグコントローラ290とRAM250への入力に送ら
れる。プロセッサ/メモリからのメッセージは、メッセ
ージパケット出力信号回線123上のCIU180に与
えられる。ゼロフラグは常にゼロ出力を提供する。
【0136】前述のように、プロセッサの動作には読み
出しサイクル及び書き込みサイクルが含まれる。読み出
しサイクルの間に、チップのピンI18−21上の信号
が読み出されるフラグのアドレスを特定する。これらの
信号はPLA160によって復号化され、16本回線バ
ス174上のセレクタ294に送られる。書き込みサイ
クルの間に、チップのピンI18−21上の信号が、キ
ャリ出力が読み出されようとしているフラグレジスタ2
92のアドレスを特定する。ピンI18−21上の信号
は、読み出し及び書き込みサイクルの間を変化すること
もあり、送信側と行き先フラグが違うことがある。
【0137】チップ上の全てのプロセッサ/メモリがア
ドレス及び出力信号バス121に並列に接続されている
ので、全てのプロセッサ/メモリはピンI0−27から
同じ命令を受ける。しかし、各命令の実行は、コントロ
ーラ290のフラグの1個の状態によって条件付けされ
る。チップのピンI22−25上の信号は、実行が条件
付けされているフラグのアドレスを特定し、ピンI26
上の信号が、テストがゼロのためであるか、それとも1
のためであるかどうかを特定する。これらのアドレス信
号はPLA150で復号化され、16本回線バス176
上の16から2とるセレクタ294へ送られる。ピンI
26上の信号は、回線178上のXORゲート299に
送られる。XORゲート299は、回線178上の信号
をバス17616本回線の1本上の信号によって特定さ
れたアドレスのフラグと比較される。2つの信号が同じ
ものであると、書き込み使用可能信号が、書き込みサイ
クルの間に回線298上に発生され、これにより、読み
出しサイクルの間に決定された合計とキャリ出力とが、
RAMレジスタA及びバス172上の信号によって特定
されたフラグレジスタ292内に書き込まれる。
【0138】ALU280 ALU280は、8から1をとる復号器282,合計出
力セレクタ284及びキャリ出力セレクタ286を含む
【0139】ALU280は、一時に3個のビット上で
動作する。そのうちの2個はRAM250内のレジスタ
AとBからの回線256,257上に、1個はフラグコ
ントローラ290からの回線296上にある。ALUは
、2個の出力を持ち、それらはRAM250のレジスタ
内に書き込まれる回線285上の合計、及び、フラグレ
ジスタ292に書き込まれ、このプロセッサ/メモリが
接続されている他のプロセッサ/メモリ36の北,東,
南,西及びデイジーチェーンに加えられる回線287上
のキャリとである。レジスタAをアドレスするピンI5
−8上の信号は、読み出しと書き込みの間で変化するこ
ともあり、読み出しサイクルの間に特定されたレジスタ
Aは、書き込みサイクルの間に特定されたものとは異な
ることもある。
【0140】ALUは、5種の基本動作ADD,OR,
AND,MOVE及びSWAPの変形の全てである32
個の機能の合計及びキャリ出力を発生することが出来る
。特定の機能が、ピンI0,I1及びI2(表III 
)上の信号によって選択される。基本動作は、命令語中
の適当なビットを決めることによってALUへの3つの
入力のいずれかを選択的に補充することによって修正さ
れる。これらのビットは、ピンI2−14上のチップに
用いる。基本動作、チップ入力及び合計とキャリ出力の
要約を表Vに示す。
【0141】
【表V】
【0142】ここで、A,BとFはそれぞれ、レジスタ
A,レジスタB及びフラグコントローラからの出力であ
り、Vは包含的OR動作、+は排他的OR動作、出力の
組の間に記号がないものはAND動作を表わす。上記の
表に示されるように、I2ビットは、MOVEとSWA
P動作の区別をするために用いられる。MOVE機能の
合計出力とSWAP機能の両出力は、A入力からは独立
しており、結果として、レジスタAからの入力の反転は
、これらの動作にとって意味がない。MOVE機能のキ
ャリ出力に対してレジスタAの内容は反転されない。
【0143】単一のチップ上の32個のプサ/メモリ内
にこの能力を持たせるために、PLA180は、ALU
への入力の全ての可能な組合わせに対してピンI0から
I4までの異なる命令の各々のための合計及びキャリ出
力テーブルを発生するようプログラムされている。AL
Uは。ALUに加えられた入力の実際の組合わせのため
適切な合計出力及びキャリ出力を選択するだけである。 ALU280には、3本しか入力がないので、これらの
入力上の信号の可能な組合わせは8組しかない。即ち、
000,001,010,011,100,101,1
10,111である。これら8組の組合わせに対して、
PLA180は、表V中の式で特定されているように合
計出力及びキャリ出力を発生する。従って、ピンI0−
I4上の命令によって特定された32個の命令の各々に
対して、PLA180は、バス164の8本の回線上に
可能な合計出力とバス166の8本の回線上に可能なキ
ャリ出力信号と発生する。これら2組の信号は、それぞ
れ、チップ上の各ALUの合計出力セレクタ284及び
キャリ出力セレクタ286にあたえられる。
【0144】図9に示すように、これらのセレクタの各
々はパストランジスタのアレイであり、パストランジス
タの各々は、復号器282の出力上の適切な信号によっ
て使用可能になるANDゲートを構成する。これらの出
力のそれぞれは、出力回線に隣接する桁の数字によって
表示されるようにその入力で受けた信号の8組の可能な
組合わせの一つに相当する。それ故、回線285上の合
計出力及び回線287上のキャリ出力とは、2個の信号
となり、1個は回線162の1本上にあり、他の1個は
回線164上にあり、復号器272への入力の特定の組
合わせのために表Vの式で定義された出力である。
【0145】例えば、AND機能を考えてみると、表V
に特定されているように、この機能のための合計出力と
キャリ出力は、復号器282への少なくとも1個の出力
が0−ビットの時は0−ビットであり、出力は、復号器
282への入力全てが1−ビットの時のみ1−ビットに
なる。復号器282への入力の8組の可能な組合わせの
うちの1組のみが全て1−ビットなので、8本の回線1
62のうちの1本のみ、そしてPLA180からALU
280への8本の回線のうちの1本のみが、AND機能
がピンI0上の1−ビット及びI1上の0−ビットによ
って特定された時に1−ビットを出す。従って、セレク
タ284及び286内のゲートによって送られる信号は
、復号器282への全ての入力が1−ビットの時以外は
0−ビットである。
【0146】ピンI0−14上に特定された32個の機
能のための回線162及び164上の出力回線の完全な
表が表VIに示される。
【0147】
【表VI】
【0148】これらの32機能、及びRAMレジスタ1
5とフラグコントローラ双方のゼロのソースは、下記の
動作の全てを実行することが出来る。
【0149】整列したフィールドの加算または減算、定
数の加算又は減算、フラグレジスタ及び/またはレジス
タAへの出力を持つ2つのレジスタのブール(または論
理)機能の計算、フラグレジスタ及び/またはレジスタ
Aへの出力を持つレジスタA及びフラグのブール機能の
計算、1つのRAMレジスタから他へ、レジスタからフ
ラグレジスタへ、または、フラグレジスタからRAMレ
ジスタへの移動、レジスタの桁移動または置換、整列し
たフィールドを比較して1つが他と等しいか、他より大
きいか、あるいはまた、小さいかということの決定、フ
ィールを定数と比較して一方が他と等しいか、他より大
きいか、または小さいかということの決定、均等性を求
めるため、一時に2ビットの定数を持つ欄の比較。
【0150】例えば、レジスタA及びBの内容を加算す
るためには、レジスタA及びBを識別するピンI5−I
8,I9−I12上の信号、及び、ADD命令が実行さ
れるレジスタ内の列を識別するピンI13−I17上の
信号とともに、ADD命令00000を、チップパッケ
ージ100のピンI0−I4へ32回与える。その上、
ピンI18−I21上の信号は、各ADD動作への第3
の入力とキャリ出力が書き込まれるフラグレジスタを構
成するフラグを識別する。ピンI22−I25上の信号
は書き込み段階が条件付けられようとするフラグを特定
し、ピンI26上の信号が、テストの条件を特定する。 32個の命令の実行過程を通じて、ADD命令及びレジ
スタA及びBの識別が一定なので、ピンI0からI12
上の信号は同じままである。ピンI13−I17上の信
号によって示される列数は、ADD命令が実行される度
に1つずつ増加し、レジスタA及びB内の異なる組のビ
ットを呼び出す。ADD命令を最初に実行するには、読
み出しサイクルの間にピンI18−I21上の信号は1
111となり、ゼロフラグをアドレス指定し、それによ
ってキャリ入力をゼロで初期値を設定する。ADD動作
の残りの32回の実行の最初の書き込みサイクル及び読
み出し書き込みサイクルのために、ピンI18−I21
上の信号が、フラグレジスタ292のうちの1つをアド
レス指定し、キャリ出力がそこに記憶され、そこから読
み出されるようにする。回線285上の合計出力は、レ
ジスタA内に書きもどされる。
【0151】減算は、減数であるレジスタ入力の相補を
伴うADD命令によって実行される。乗算及び除算は、
種々な加算及び減算算法を用いて実行することができる
【0152】ブール機能は、同じような方式で、一度に
1列ずつ実行される。AND及びOR機能の場合は、結
果は合計出力を経てレジスタAに与えられる。結果は、
キャリ出力を経てフラグレジスタにも与えてもよい。排
他的OR(XOR)機能は、フラグがAおよびB入力の
いずれかの組が同じではないかどうかを記録するために
用いられるMOVE機能のキャリ出力によって与えられ
る。NAND及びNOR機能は、全ての入力が相補され
た時、それぞれ、OR機能及びAND機能から、周知の
論理式に従って与えられる。レジスタ転送動作も、一度
に1例ずつ、レジスタBと指示されたレジスタの内容を
、レジスタAと指示されたレジスタへ転送するMOVE
機能を用いて、同様に行なわれる。
【0153】データ桁移動動作は、SWAP機能及びフ
ラグレジスタを用いて行なわれる。桁移動されるデータ
の各ビットは、先ず、レジスタBと指示されたRAMレ
ジスタ内のその列から読み出され、指示されたフラグレ
ジスタに記憶される。次のSWAP命令の実行に際して
、フラグレジスタ内のデータビットは、RAMレジスタ
内の隣接する列内に書き込まれ、RAMレジスタB内の
その列中のデータビットは、フラグレジスタに書き込ま
れる。桁移動の方向は、RAMレジスタB内のデータが
最も有意性の少ないビットから最も有意性のあるビット
へ、あるいはその逆にアドレス指定されたかどうかによ
って決まる。
【0154】SWAP機能は、レジスタBからキャリ出
力回線へデータを与え、北,東,南,西またはデイジー
チェーンのいずれかからレジスタBへデータを書き込む
ことによって、データが1つのプロセッサから他へ送ら
れるようにもする。
【0155】比較演算の実現のための算法は、この技術
に通じた人々にとっては前述の説明で明らかであろう。 例えば、2ビット間の違いは、それらを合計しキャリを
無視することによって識別出来る。その場合の合計が0
−ビットならば、違いはない。1−ビットであれば、違
いがある。プロセッサ/メモリによる異なる命令の各々
を実行することからくるキャリ出力は、チップ上の最も
近い隣接プロセッサ/メモリの北,東,南及び西入力へ
の回線287上で使用可能である。これはデイジーチェ
ーン内の次のプロセッサ/メモリのデイジー入力にも使
用出来る。これら隣接するプロセッサ/メモリへの入力
を経て、キャリ出力は、チップ上の他の離れているプロ
セッサ/メモリにも使用可能にさせることも出来る。
【0156】NANDゲート293が動作可能になると
、キャリ出力は、通信インタフェース装置180及び径
路指定回路200へのメッセージパケット出力信号回線
123へも使用出来るようになる。この手段によりキャ
リ出力はメッセージパケット内で、アレイ30中の他の
どのプロセッサ/メモリにも送達される。
【0157】PLA160,RAM250,ALU28
0及びフラグコントローラ290についての前述の説明
から、ここに説明されたコンピュータシステムの並行処
理能力を利用したあらゆる種類のコンピュータプログラ
ムを案出することが可能であろう。これらの処理動作は
、通常は、処理されているデータに適するよう選んだ基
本的クロックサイクルPHI1の持続時間を持つ処理サ
イクルで実行される。アレイ30の異なるプロセッサ/
メモリ36内の相互作用を改善するには、個々のプロセ
ッサ/メモリが径路指定回路200を通じて互いに通信
することも出来る。このような径路指定について討議す
る前回路に、CIU180及び径路指定回路200の動
作の理解が望ましい。
【0158】D.通信インタフェース装置の説明図8及
び図11に示すように、CIU180は否定回路181
,ラッチ182,タップされたシフトレジスタ184,
第1及び第2セレクタ186,188,及び第1と第2
パリティ論理回路190,192を含み、これらの要素
の各々は、各図中に同じ番号で識別されている。 図11に示すように、ラッチ182は第1と第2のD−
型フリップ−フロップ312,314から形、シフトレ
ジスタ184は73ビットのシフトレジスタで、入力端
子に続く、16番と17番のシフト位置の間に、入力端
子、出力端子及び出力タップを持つ。第1のセレクタ1
86は、5個のゲート320,322,324,326
,328及びNORゲート330を含む。そして第1の
パリティ論理190は、第1と第2のD−型フリップ−
フロップ332,334、及びNORゲート336,3
38から成る。これらの要素は、チップ上のプロセッサ
/メモリからの回線123上のメッセージパケットを受
け取り、それらを、下記のいくつかのタイミング及びデ
ータ処理動作の後に径路指定回路200に送信する。 第2のセレクタ188は、否定回路340、4個のAN
Dゲート342,344,346,348及びNORゲ
ート352を含む。そして、第2のパリティ論理は、D
−型フリップ−フロップ356及びNORゲート358
を含む。これらの要素は、径路指定回路200からメッ
セージパケットのビットを受け取り、同様に下記に述べ
るいくつかのタイミング及びデータ処理動作の後で、チ
ップ上のプロセッサ/メモリのうちの1つに伝送する。
【0159】メッセージパケットが径路指定回路200
に伝送される時は。CIU180では、径路指定サイク
ル中の指示された時点でプロセッサ/メモリから下記の
情報を、否定回路181への入力で受け取る用意がある
【0160】 クロックサイクル                 
   情    報    53          
        メッセージパケットが送られてくるI
Cの絶対アド                   
       レスのためのパリティビット    5
4                  メッセージパ
ケットが次のサイクルへ送信される場        
                  合、1−ビット
    55−86            つぎのサ
イクルへ送信されるメッセージパケットの      
                    データ  
                         
                 87      
            メッセージパケットのための
パリティビット    0−14          
    メッセージパケットが送信されるICアドレス
    15−19            メッセー
ジパケットが伝送されるIC中のプロセッ      
                    サ/メモリ
のアドレス                    
          20−23          
  メッセージパケットが伝送されるICのプロセッサ
                         
 /メモリ内のレジスタのアドレスこれらの信号の全て
は、シフトレジスタ184に与えられ、レジスタからセ
レクタ186へシフトされる。しかし、これらの信号の
あるものは、ラッチ182,セレクタ186及びパリテ
ィ論理190にも与えられる。
【0161】径路指定回路200は、メッセージパケッ
トが送られる径路指定サイクルの最初のクロックサイク
ルで始まる回線194上の低い信号を受け取ることにな
っている。径路指定回路200は、指定された基本クロ
ックサイクルで回線196上に下記の情報も受け取るこ
とになっている。
【0162】 クロックサイクル                 
   情    報    0−14        
      メッセージパケットがあるとき、メッセー
ジパケッ                     
     トの転送先のICアドレス15      
            送信すべきメッセージパケッ
トがあるとき、1−ビット 16−30            メッセージパケッ
トが送信されるべきICアドレスの複製 31−35            メッセージパケッ
トが送信されるべきIC中のプロセッサ/メモリのアド
レス 36−39            メッセージパケッ
トが送信されるべきICプロセッサ/メモリ内のレジス
タのアドレス 40−71            メッセージパケッ
トのデータ72                  
パリティビットこのメッセージパケットの様式は図5に
描かれている。 回線割り当て装置205によって導入される15クロッ
クサイクルにもなる時間の遅れのために、メッセージパ
ケットが完全に処理され、1個又はそれ以上の径路指定
回路によって伝達されるには、少なくとも合計88クロ
ックサイクルを要する。従って、径路指定サイクルの長
さは、図12に示すように88本の基本クロックサイク
ルになる。
【0163】CIU180から径路指定回路200への
信号の流れを制御するには、タイミング発生器140が
、図12に示すタイミング信号を発生する。回線123
上にCIU180が受け取ったメッセージパケットは図
12の上部近くの2本の線内に描かれている。メッセー
ジパケットに関連するCIU180で受け取られた最初
のビットは、クロックサイクル53で受け取られたパリ
ティビットである。このパリティビットは、信号TOC
IU−PARITY−inが、クロックサイクル53の
間に、フリップ−フロップ332のセット端子に与えら
れた時に、このフリップ−フロップ内にセットされる。 このビットは、送信側ICの絶対値中のアドレスパリテ
ィである。 フリップ−フロップ334及びXORゲート336は、
クロックサイクル15での様式ビットで始まり、クロッ
クサイクル72のメッセージの終りまで続くメッセージ
パケットのパリティを計算する。このパリティビット及
びフリップ−フロップ332内に記憶されたビットは、
それからXORゲート338によって比較され、その結
果のビットはセレクタ186へ送られ、そこで反転され
径路指定回路200に送り出される。
【0164】パリティビットは、メッセージパケットが
その行き先に径路指定されるにつれて相対アドレス中に
出来る変化を償うためにこの方式で計算される。メッセ
ージパケットの相対アドレスは、メッセージパケットが
、信号回線123へプロセッサ/メモリから読み出され
る時に計算される。そして、この相対アドレスのコピー
1個を含めてメッセージパケット用のパリティビットは
、フリップ−フロップ334及びXORゲート336に
よって計算される。相対アドレスが、1−ビットの奇数
を持っていると、このメッセージパケット用のパリティ
ビットは、メッセージパケットがその行き先で受け取ら
れた時に間違っているであろう。これを補正するために
、もし送信側のICアドレスのためのパリティビットが
1−ビットならば、CIU180がXORゲート内の計
算されたパリティビットを変える。行き先では、CIU
180が、受け取ったメッセージパケットのパリティビ
ットを再度計算し、メッセージパケットで受け取ったパ
リティビットが1−ビットならば、それを変える。最後
に、結果として出たパリティは、行き先ICのアドレス
とパリティビットと比較される。これら2個のビットが
同じならば、パリティエラーはなかったことが分かるは
ずである。
【0165】クロックサイクル54の間に、メッセージ
パケットを次の径路指定サイクルに送信しなければなら
ない時は、CIU180に1−ビット与えられる。この
ビットは、否定回路181によって反転させられ、信号
TOCIU−MP−inが、クロックサイクル54の間
にこのフリップ−フロップのセット端子に伝えられた時
に、フリップ−フロップ312内にセットされる。その
結果、メッセージパケットが送信されなければならない
と、フリップ−フロップ312のQ出力端子は、クロッ
クサイクル54につれて低くなる。クロックサイクル5
5から86の間に、メッセージデータは、シフトレジス
タ184の入力端子に入れられ、それを通ってシフトさ
れる。レジスタは73ビットの長さなので、メッセージ
データは、次の径路指定サイクルのクロックサイクル4
0の間にシフトレジスタの出力に現われはじめる。クロ
ックサイクル87の間、フリップ−フロップ312のQ
端子の出力信号は、信号TLASTがフリップ−フロッ
プ314のセット端子に入った時に、フリップ−フロッ
プ314内にセットされる。その結果、メッセージが送
られる時は、径路指定サイクルの始まる前から、Q端子
には低い信号が、そして、フリップ−フロップ314の
Q端子には高い信号が存在する。図11に示すように、
フリップ−フロップ314のQ端子は、ANDゲート3
28への1つの入力に接続され、Q端子は回線194に
接続される。 従って、もしメッセージが送られるとすると、回線19
4上の信号は図12に示すようになる。
【0166】クロックサイクル0−14の間、メッセー
ジパケットの行き先のICアドレスが、シフトレジスタ
184及びANDゲート326への回線123に送られ
る。これらのクロックサイクルの間、ANDゲート32
6は信号TOCIU−Addによって動作可能になり、
そのためICアドレスは、NORゲート330を通って
径路指定回路200への回線196へ送られる。クロッ
クサイクル15の間に、ANDゲートは信号TOCIU
−MP−out ′によって使用可能になり、フリップ
−フロップ314のQ端子からNORゲート330及び
回線196へ信号を送る。メッセージを送ろうとすると
、Q端子の信号は低い信号であるがそれがNORゲート
330によって反転され、メッセージパケットの様式ビ
ットのための高い信号を発生する。
【0167】クロックサイクル15−19の間では、行
き先IC内の特定のプロセッサ/メモリのアドレスがC
IU180に送られ、シフトレジスタ184にシフトさ
れ、クロックサイクル20−23の間に、行き先プロセ
ッサ/メモリ内のレジスタのアドレスが、シフトレジス
タにシフトされる。
【0168】クロックサイクル16−39の間に、AN
Dゲート322が、信号TOCIU−TAPによって動
作可能になる。これらのクロックサイクルの間、行き先
ICアドレスの15ビット、プロセッサ/メモリアドレ
スの5ビット及びレジスタアドレスの4ビットが、16
番目と17番目のシフト位置の間に連続して現われ、A
NDゲート322及びNORゲート330によって回線
196へ送られる。
【0169】クロックサイクル40−71の間では、前
回の径路指定サイクルの間にシフトレジスタ184内に
挿入されたメッセージデータが、シフトレジスタの出力
端子から現われはじめる。これらのクロックサイクルの
間、ANDゲート324は信号TOCIU−DATA 
によって動作可能になり、メッセージデータはNORゲ
ート330を通って径路指定回路200への回線196
へ送られる。ゲート324は、どのクロックサイクルの
間にも動作可能にされないので、前回のサイクルのクロ
ックサイクルの55−86の他の時にシフトレジスタ1
84に送られたデータは、いずれも否定される。
【0170】最後に、クロックサイクル72の間は、A
NDゲート320は信号TOCIU−PARITY に
よって動作可能になり、パリティビットはNORゲート
330を通って径路指定回路200への回線196へ送
られる。結果として、径路指定サイクルの間の回線19
6上の信号は図12に示すようになる。
【0171】メッセージパケットが径路指定回路200
から受け取られると、回線197上の信号はクロックサ
イクル45間に低くなり、次の径路指定サイクルが始ま
るまで低いままでいる。加えて、CIU180は、表示
された基本クロックサイクルで回線198上の径路指定
回路200から下記の情報を受け取ることになる。
【0172】 クロックサイクル                 
   情    報    46−50       
     入ってくるメッセージパケットが送られて行
くプロ                      
    セッサ/メモリのアドレス    51−54
            入ってくるメッセージパケッ
トが送られて行くプロ               
           セッサ/メモリ内のレジスタの
アドレス    55−86            
入ってくるメッセージパケットのデータ    87 
                 メッセージパケッ
ト用のパリティビット回線199上の信号は径路指定サ
イクルの終りに低くなり、回線194上の信号が代わる
まで低いままでいる。
【0173】入ってくるメッセージパケットがCIU1
80で受け取られている時に、CIUは表示されている
基本クロックサイクルでメッセージデータ入力信号回線
122へ下記の信号を送る。
【0174】 クロックサイクル                 
   情    報    0−44        
      CIU180からのメッセージパケットが
径路指定                     
     回路200によって受け取られ送り出される
場合の                      
    1−ビット                
                        4
5                  入ってくるメ
ッセージパケットが送られて行くプロ        
                  セッサ/メモリ
へ送達される場合の1−ビット    46−50  
          入ってくるメッセージパケットが
送られて行くプロ                 
         セッサ/メモリのアドレス    
51−54            入ってくるメッセ
ージパケットが送られて行くプロ          
                セッサ/メモリ内の
レジスタのアドレス    55−86       
     入ってくるメッセージパケットのデータ  
  87                  メッセ
ージパケット用のパリティビットこの信号の流れを制御
するには、タイミング発生器140も図13に示されて
いる信号を発生する。CIU180からのメッセージパ
ケットが径路指定回路200によって受け取られ送り出
されている場合は、回線199上の信号は、径路指定サ
イクルの初めから低い。クロックサイクル0−44の間
にANDゲート346は信号TICIU−MWIN に
よって動作可能になり、この信号をNORゲート352
へ通し、そこで半減されて信号回路122へ1−ビット
として送られる。
【0175】入ってくるメッセージパケットがあるとい
う事実は、回線197上の信号が、クロックサイクル4
5の間に低くなる時に、確実なものになる。この信号は
、クロックサイクル45の間に信号TICIU−MP−
inによって動作可能にされているANDゲート342
に送られる。その結果、低い信号がNORゲート352
を通って送られ、クロックサイクル45の間に、メッセ
ージゲート入力回線122上に高い信号を加える。
【0176】クロックサイクル46−50の間に、セレ
クタ188は入ってくるメッセージパケットが送られて
行くプロセッサ/メモリのアドレスを回線198上に受
け取る。この信号は、否定回路340によって反転され
、クロックサイクル46から86の間に信号TICIU
−M−in によって動作可能となっているANDゲー
トに送られる。その結果、プロセッサ/メモリのアドレ
スはNORゲート352を経て信号回線122に通され
る。
【0177】同じような方式で、クロックサイクル51
−54及び55−86の間に、セレクタ188は回線1
98上に入ってくるメッセージパケットが送られている
レジスタアドレスとメッセージパケットのデータを受け
取る。これらの信号も否定回路340によって反転され
、ANDゲート348及びNORゲート352を通って
プロセッサ/メモリ36への信号回線122へ通される
。回線198上に受け取られる信号も、受け取られたメ
ッセージパケットのパリティビットの計算のためにXO
Rゲート358及びフリップ−フロップ356へ送られ
る。
【0178】クロックサイクル87の間に、メッセージ
パケットのパリティビットは、回線198上に受け取ら
れる。それは計算されたパリティビットとXORゲート
358で比較され、結果として出たパリティビットがA
NDゲート344に与えられる。クロックサイクル87
の間に、ANDゲート344が動作可能になり、パリテ
ィビットがNORゲート352を経てメッセージデータ
入力信号回線122に与えられる。
【0179】その結果、径路指定サイクルの間にプロセ
ッサ/メモリに送られる信号は図13に示す通りである
【0180】E.径路指定回路の説明 序論 図8に示すように、径路指定回路200は回路割り当て
装置205,メッセージ検出器210,バッファ及びア
ドレス復元器215,及びメッセージ注入器220を含
む。回線割り当て装置205は、実質的には同一の径路
指定論理セルの15×15のアレイを含む。このアレイ
の各列が、ブール15−立方体の1次元中のメッセージ
パケットの出力を制御する。このアレイの各行は、径路
指定回路200中の1メッセージパケットの記憶を制御
する。9個のそのような径路指定セル400が図14に
描かれているが、左側の列中の3個は、第1次元に関連
し、中間の列の3個は第2次元と関連し、右側の列中の
3個は、第15次元と関連している。セルの各列は、そ
の次元に関連する出力回線39に接続する出力バス41
0を持つ。行については、下の3個がアレイ内で最も低
いセルで、入力回線38から入力を受ける。上部3個の
セルがアレイ内の最上部のセルである。中間の3個のセ
ルは、底低部と上部の間のどのセルの代理をするもので
あるが、図示されているように、最下行に接続されてい
る。
【0181】同じく図14に示されているのは、3個の
処理及び記憶手段420で、回線割り当て器205中の
対応する3行のセルからのメッセージを処理し記憶する
径路指定回路200のメッセージ検出器210バッファ
及びアドレス復元器215及びメッセージ注入器220
の部分を表わしている。12個の似たような処理及び記
憶手段(図示されず)が、他の行からのメッセージを処
理し記憶するために使用される。手段420は、図18
においてより詳細に説明される。
【0182】径路指定において何の矛盾もおきなければ
、メッセージパケットは、第1次元の径路指定セルへの
入力から、プロセッサ/メモリ内のレジスタへ径路指定
され、プロセッサ/メモリへは、88個の基本クロック
信号の1回のメッセージサイクルの間にアドレス指定さ
れる。径路指定に矛盾があると、メッセージパケットは
、1ケ所又はそれ以上の中間地点で径路指定回路の処理
及び記憶手段内に一時的に記憶され、このメッセージパ
ケットをその行き先へ径路指定するには、1つ以上の径
路指定サイクルが必要となる。
【0183】図14は、各径路指定セル400の入力及
び出力端子の便利な概略図になっている。下の行に沿っ
ている3個のセル400が示すように、ブール15−立
方体の違う次元からのメッセージパケットは、NAND
ゲート405に送られる。これらのゲートは、リセット
状態の間でなければいつでも動作可能である。各NAN
Dゲート405の出力は、反転されたメッセージパケッ
トであるが、最下行のセル400の1個の入力端子Li
nに送られる。端子Linにメッセージパケットが存在
することを表示する信号も、同じセルの入力端子LPi
nに送られる。下段の各セルのために、このメッセージ
の存在する信号は接地され、このことは、セルで受け取
ったメッセージパケットをさらに処理するために、下行
の隣の列中のセルを条件付けする効果を持つ。後に明ら
かになるが、セルへの入力にメッセージパケットの存在
を示すこのようなメッセージの存在する信号が、径路指
定回路200全体に用いられ、メッセージパケットのた
めの回路200を通るデータ径路を確立する。
【0184】回路38の1本から受け取られたメッセー
ジパケットは、端子M−OUTから1つの列内の最下部
のセル400外へ径路指定され、そのすぐ右の列内のセ
ル400の端子M−INに印加される。同時に、メッセ
ージの存在する信号は、端子MP−OUTからすぐ右の
セルの端子MP−INへ径路指定される。
【0185】いずれかのセル400のM−IN端子で受
け取られる信号は、他にどんな信号がそのネットワーク
中にあるかによってBUS端子、Uout端子又はM−
OUT端子のいずれか1つの上にあるセルの外へ径路指
定してもよい。1つの列中の全てのセル400のBUS
端子は、共通の出力バス410に接続され、共通出力バ
ス410はXORゲート415を経て、ブールn−立方
体のその次元中の最も近い隣接セルへの出力回線39に
接続される。XORゲート415への他の入力は、タイ
ミング信号t−INV−OUTn であり、ここのnは
次元の数である。このタイミング信号は、メッセージパ
ケット内の複製アドレス内の適切なアドレスビットを相
補し、メッセージパケットがブール15−立方体を通っ
て移動するにつれ、このアドレスを更新する。
【0186】Uout 端子からセルを出るメッセージ
は、列内でそのすぐ上方にあるセルのLin端子に送ら
れ、Lin端子に受け取られる信号と同じ方式でそのセ
ルによって処理される。メッセージのある信号は、同じ
方式で、UPout 端子から、すぐその上方のLPi
n端子へ転送される。
【0187】各列のセル400内の回路系は、各列(ま
たは次元)の出力バス上で、上部に最も近い行内を循環
している次元にアドレスされたメッセージを置き、全て
の行を上部の行に向かって詰めるように設計されている
。この目的のために、制御信号グラント(G)及びオー
ルフル(AF)が各列に用意され、列の個々のセルに、
同じ列内でそれらの上方にあるセルの状態を知らせる。 特に、グラント(G)信号は、各列又は次元の出力バス
410へのアクセスを、Gin及びGout 端子を通
ってセルの各列へ送られる信号によって制御する。この
信号を伝播する回路系は、その次元へアドレス指定され
ている各列の最上部のメッセージパケットへバスアクセ
スを与え、その桁の下方のセルのいずれかにあるメッセ
ージが、出力バスの上に径路指定されるのを防ぐ。オー
ルフル(AF)信号は、あるセル400から同じ桁内の
すぐ上のセルへのメッセージの転送を、AFout 及
びAFin端子を通じて各セルへ、列内の上方にある各
セル内にメッセージがあるかどうかを知らせることによ
って制御する。上部のいずれかのセルが空であると、下
方の各セル内のメッセージが、列内の1セル上へ移動す
る。
【0188】セル内にあるフリップ−フロップの動作は
、タイミング信号t=COLn によって制御される。 このnは次元の数である。一方、他のフリップ−フロッ
プは、基本クロック信号PHI1によってクロックされ
る。下記の説明から明らかになるように、各列内の径路
指定セルは、アレイ30内の全ての径路指定回路の同じ
列内の他の回路指定セルと同期して動作する。
【0189】頂上の行のセルには、AFin端子への入
力が常に高い。これらのセルにとって、Gin端子への
入力信号は、リセット信号の補数であり、それ故に、リ
セットの間以外は高くなる。その結果、列内の上部セル
中のメッセージパケットは、その次元向けにアドレス指
定されていれば、通常は出力バス420への呼び出しを
持っている。しかし、もし出力回線39が故障するよう
なことがあると、その回線に関連する次元の上部セルの
Gin端子に低い信号を送ることにより、相互接続され
ている15−立方体のネットワークからこの回線を取り
除くことが出来る。セル400の下行では、Gout 
端子からのグラント信号が、出力バスに接地を与えるこ
との出来るパストランジスタ425を制御するために用
いられる。 特に、その出力回線上に送り出されるメッセージがない
場合は、0−ビットが、その次元の出力回線に書き込ま
れる。
【0190】回線割り当て装置205 回線割り当て装置205の論理回路系の詳細が図15に
示されている。この図は、例示的に最下部の2行及び第
1と第2の次元に関連する列内にあげた4個のセルを示
す。回路は、下記に説明されるように、ORゲート48
0を除いて、ほぼ同じである。各回路は、図14に関し
て説明したように、入力回線又は端子Lin、LPin
、M−IN及びMP−INを持つ。各回路は出力回線又
は端子Uout、UPout 、バス、M−OUT及び
MP−OUTを持つ。制御信号は、端子Gin及びAF
inで各セルに与えられ、最下部のセルを除いて、これ
らの制御信号は、端子Gout 、及びAFout を
経て列内の、次に下方のセルへ送られる。
【0191】論理回路系は、2個のNANDゲート45
0及び452、端子M−OUT及びMP−OUTへの出
力信号の選択を制御する4個のANDゲート460,4
62,464及び466、NANDゲート470及び、
ANDゲート460及び464の組、またはANDゲー
ト462及び466の組のどちらかを動作可能にする否
定回路472、ANDゲート460と462の出力を結
合させるNORゲート467、そして、ANDゲート4
64と466の出力を結合させるNORゲート478と
を含む。否定回路472の出力は、端子AFout に
よって、列内の、次に下方のセルに与えられ、M−IN
とMP−IN回線からUout とUPout 回線へ
の信号の桁移動を制御するオールフル(AF)信号でも
ある。さらに、最下行のセルは、その入力がAFinと
M−IN端子に接続されているORゲート480を含む
。各セルは、3個のD−型フリップ−フロップ490,
492及び494、バス駆動500そして、バス駆動と
グラント信号を制御するための論理回路502も持つ。
【0192】フリップ−フロップ490は、列クロック
信号t−COLnを受け取るとメッセージパケットの先
頭ビットを記録し、88個の基本クロックサイクルあと
で次の列クロック信号を受け取るまで、この信号を保持
する。先頭ビットが1−ビットの場合、および、出力バ
ス410が、列内でより高いセルにグラントされていな
い場合には、論理回路502はバス駆動に低い信号を送
る。バス駆動500への回線上の低い出力は、バス駆動
を動作可能にし、NANDゲート450,452及び4
70を動作不可能にする。その結果、入力端子M−IN
上のメッセージはバス410上を、その列又は次元に関
連する出力回線39へ径路指定される。NANDゲート
470が動作不可能な時は、その出力は高く、ANDゲ
ート462,466を動作可能にし、否定回路472か
らの出力を低くさせ、それによってANDゲート460
,464を動作不可能にする。その結果、次に下方のセ
ルに送られたオールフル(AF)信号は低く、列内の上
に空のセルがあるということをそのセルに知らせ、AN
Dゲート462,466は動作可能になって入力端子L
inとLPinで受け取った信号を通すようになる。
【0193】メッセージパケットの先頭ビットが0−ビ
ットである場合、または、径路指定セルのM−IN端子
にメッセージパケットがない場合には、バス駆動500
への論理回路502の出力は高くなる。バス駆動への高
い信号は、NANDゲート450,452及び470に
も送られ、ゲート450及び452を動作可能にする。 端子AFinにおけるオールフル信号も高い場合は、そ
の列内の上方のセルの各々にメッセージがあることを知
らせており、NANDゲート470も動作可能になる。
【0194】ゲート470が動作可能の時に、MP−I
N端子の信号が高いと、その高い信号は否定回路472
を経て、ANDゲート460と464に送られ、それら
のゲートを動作可能にし、近い信号がANDゲート46
2と466に送られ、これらのゲートを動作不可能にす
る。その結果、M−IN及びMP−IN端子における信
号は、NANDゲート450,452,ANDゲート4
60,464、そして、NORゲート466,468を
通って、フリップ−フロップ492,494への入力へ
送られる。フリップ−フロップ492は、全ての基本ク
ロックサイクルPHI1でセットされる。その結果、フ
リップ−フロップ492を通って送信されるメッセージ
パケットの最初の出力ビットは、フリップ−フロップ4
90に送られる先頭ビットのすぐ後に続くビットであり
、メッセージパケットのもとの先頭ビットは破棄される
。さらに、新しい先頭ビットは、径路指定セルの出力端
子M−OUTで利用出来るようになる前に、1回の基本
クロックサイクル分、遅くなる。そこで、メッセージパ
ケットの各後続ビットは、このフリップ−フロップを通
じてクロックされ、端子M−OUTで、次のセルのM−
IN端子に利用出来るようにされる。フリップ−フロッ
プ494も、同様にすべてのクロック信号PHI1でセ
ットされるが、このフリップ−フロップの出力は、メッ
セージパケットの持続時間中は一定になっている。その
結果、フリップ−フロップ494への入力に送られる高
い信号MP−INは、メッセージパケットの新しい先頭
ビットが出力端子MOUTで利用出来るようになると同
時に、回路指定セルの出力端子MP−OUTで利用出来
るようになる。MP−OUT端子での信号は、それから
、次のセルのMP−IN端子へ送られ、M−IN端子で
受け取られたメッセージパケットのために、そのセルを
通るデータ通路を確立するために用いられる。
【0195】フリップ−フロップ492,494が、回
線割り当て装置205の15列の各々のセル400に存
在することから、メッセージパケットが、1個又はそれ
以上の回線割り当て装置の15列又は次元を通って行く
うちに、15個の基本クロックサイクル分遅くなる。
【0196】NANDゲート470が動作可能になった
時にMP−IN端子の信号が低いと、ゲート470の出
力は高くなり、ANDゲート462,466を動作可能
にし、否定回路472からの出力を低くする。その結果
、次に低いセルに送られたオールフル(AF)信号は低
くなり、そのセルに、列内の上に空のセルがあることを
知らせ、ANDゲート462,466は動作可能になり
、入力端子Lin及びLPinで受け取られた信号を通
すようになる。
【0197】セルで受け取られたオールフルが低い時、
NANDゲート470は動作不可能になり、ANDゲー
ト460及び464も動作不可能になる。このようにし
て、M−IN端子のいずれのメッセージパケットもM−
OUT端子に径路指定されなくなる。しかし、もしメッ
セージパケットの先頭ビットが0−ビットであれば、A
NDゲート450,452は、セット信号t−COLn
 がフリップ−フロップ490に送られた後に、動作可
能になる。さらに、ANDゲート462,466は、そ
の列内のそのセルの上方の次のセル内で動作可能になる
。 その結果、M−IN及びMPIN端子は、Uout 及
びUPout 端子を経て、その列内の次に高いセルの
Lin及びLPin端子へ送られ、ANDゲート462
,466及びNORゲート476,478を通って、そ
の次の高いセル内のフリップ−フロップ492,496
へ送られる。 これらのフリップ−フロップは、径路指定セルのその列
内の他のフリップ−フロップ全てと同じように、そして
、同期して動作し、メッセージパケット及びメッセージ
のある信号を、そのセルの出力端子M−OUT及びMP
−OUT端子に与える。
【0198】セルの最下行内の各セルのORゲート48
0は出力バス410上に、M−IN端子を通ってセルの
最下行のセルに入るか、さもなければ、列内のそれより
上にあるセルが全て満たされているので、M−OUT端
子を通ってそのセルから出て行く。このことは、メッセ
ージパケットのアドレスに関係なく、セルのその列に関
連のある次元上に、入ってくるメッセージパケットのた
めに径路指定回路内に場所があることを確かめるために
行なわれる。オールフル信号は、列内の上方セルの全て
が満たされている時に高くなり、そのような状況のもと
で、出力バスが利用出来るようになる。従って、メッセ
ージパケットの最初のアドレスビットの状態に関係なく
、ORゲート480の出力は高くなり、フリップ−フロ
ップ490への入力は、メッセージパケットの先頭ビッ
トが1−ビットの時と同じになる。このビットが、フリ
ップ−フロップ490にセットされた時、論理回路50
2の出力はバス500への低い信号となり、それがバス
駆動を使用可能にし、M−INからのメッセージパケッ
トを、そのメッセージパケットのアドレスに関りなくバ
ス420に送る。
【0199】各列又は次元のXPRゲート415は、ビ
ット位置16から30においてメッセージパケットの相
対アドレスを更新する。このゲートへの1個の入力は、
出力バス410上を回線39向けに送り出されるメッセ
ージパケットである。他の入力は、信号t−INV−o
utnであり、ここでnは次元の数であり、メッセージ
パケットの第2のアドレス内のその次元のためのアドレ
スビットと同時に、各次元のXORゲートに送られる。 その結果、相対アドレスビットは、メッセージパケット
が、その次元上に径路指定されたことを示して、相補さ
れる。メッセージパケットが、出力バス410上に押し
出されない時は、メッセージパケット内の第2のアドレ
ス内の関連のあるビットは0−ビットになり、このビッ
トが1−ビットに相補され、メッセージパケットが、そ
の次元の希望するアドレスから径路指定されて離れたこ
とを知らせる。後に、この次元内の希望するアドレスに
メッセージパケットを径路指定してもどすことが必要に
なる。
【0200】論理回路502の詳細は図16に示される
。ある列内のセルの論理回路502を通しての伝播遅延
を最小限にするために、グラント信号が、列内の全ての
セル内で反転される。その結果、奇数行内の論理回路5
02の内部回路は、列内の偶数行のものとは異なる。 図16において、上部行は、ゼロ行と考えられ偶数であ
る。偶数行内の論理回路は502″で、奇数行は502
′で識別される。各偶数論理回路502″は第1及び第
2のNANDゲート520,525を含む。各奇数論理
回路522は、NANDゲート530,NORゲート5
35及び否定回路540を含む。NANDゲート520
及び530はバスアクセスのグラントを制御する。これ
らのゲートへの両方の入力が高いと、ゲートは、出力バ
ス410へのアクセスをグラントする低い出力信号を出
す。もしバスアクセスが、偶数番のセル502″によっ
てグラントされると、NANDゲート525の出力は高
くなる。バスアクセス奇数番のセル502′によってグ
ラントされると、NORゲートの出力は低くなる。さら
に、もし高い信号が、列内で上方にある偶数番のセルか
ら奇数番のセルに受け取られると、NANDゲート53
0の出力は高くなり、NORゲート535の出力は低く
なる。また、低い信号が、列内で上方にある奇数番のセ
ルから偶数番のセルに受け取られると、NANDゲート
520及び525の出力は高くなる。その結果、1個の
セルが出力バス420にアクセスをグラントする時はい
つでも列内でその下方にあるセルはいずれも出力バスに
アクセスすることが出来なくなる。逆にバスアクセスが
グラントされないと、各セルは、そのすぐ下方のセルに
、もしアクセスが要求されているならば、そのセルがバ
スアクセスをグラント出来るようにする信号を送る。
【0201】違う列内のセル400が、メッセージパケ
ットのアドレスビットを処理するようにタイミング信号
t−COLn によって調時される。径路指定サイクル
の初めに、径路指定されるべき全てのメッセージパケッ
トは、異なるIC35内の回線割り当て装置205のセ
ル400への入力M−INに出される。15個のアドレ
スビットの各々は、それから一度に1個ずつ、2回の基
本クロックサイクルの15アドレス時間に分析される。 図17に示すように、タイミング信号t−COL1 は
、基本クロックサイクル0の間に、全ての回線割り当て
装置の最初の列のフリップ−フロップ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端子に
クロックされる。上記のように、フリップ−フロップ4
92は、1回のクロックサイクル分、メッセージパケッ
トを送らせ、フリップ−フロップ490へ出された先頭
ビットは破棄される。
【0202】タイミング信号t−COL2 が、クロッ
クサイクル2の間に、回線割り当て装置内のセルの2番
目の列のフリップ−フロップに送られると、これらのフ
リップ−フロップが、各メッセージパケットの新しい先
頭ビットを記録する。再び、各回線割り当て装置の2番
目の列内の論理回路502が、各回線割り当て装置の2
番目の列の最上行内に先頭1−ビットを持つメッセージ
パケットへ、第2次元のバス410へのアクセスをグラ
ントする。そして、他のメッセージパケットは、セルの
2番目の列内で上へ向って詰められ、1回のクロックサ
イクル分の遅れの後で各セルのM−OUT端子へ送られ
る。再び、最も近い隣接ICへ第2次元のバス410を
径路指定されているメッセージパケットは、そのセルの
回線割り当て装置の2番目の列の最下部のセルで受け取
られ、それらセルのフリップ−フロップ492を通って
M−OUT端子にクロックされる。メッセージパケット
の先頭ビットも破棄される。
【0203】同じような方式で、各メッセージパケット
は、回線割り当て装置の残りの13次元を通って進み、
各列内で先頭ビットはテストされ破棄され、また、メッ
セージパケットは1回のクロックサイクル分、遅延され
る。この処理が進行している間にメッセージパケットは
、1個のICの回線割り当て装置から他のICの装置へ
、そのアドレスビットによって特定されているが希望す
る出力回線39が利用出来ることが条件の径路指定に従
って、進んで行く。その結果、クロックサイクル29の
後、各メッセージパケットの最初の15ビットは破棄さ
れているが、各メッセージパケットの書式ビットは、回
線割り当て装置の15番目の列内のセルの1個中のフリ
ップ−フロップ492の出力に達している。もし、何の
径路指定障害も起きなければ、この回線割り当て装置は
、行き先に置かれ、メッセージパケットはその行き先プ
ロセッサ/メモリに与えられる。もし径路指定障害が起
きるようならば、メッセージパケットは中間地点にいて
、その度を終えるまでにさらに少なくとも1回径路指定
サイクルを持たねければならない。クロックサイクル2
9の完了時には、メッセージパケットの残りは、書式ビ
ットの後に連なり、メッセージパケットの最初の29ビ
ットは、1個又はそれ以上のICの回線割り当て装置内
に、最後の27ビットは、メッセージパケットが始まっ
たICのCIU180のシフトレジスタ184内にまだ
置かれている。
【0204】例えば、メッセージパケットがIC000
  000  000  000  111から始まり
、IC110  000  000  000  01
0へアドレスされるとすると、メッセージパケットによ
って特定された相対アドレスは、110  000  
000  000  101になる。もし、径路指定障
害がなければ、このメッセージパケットは、IC000
  000  000  000  111内のプロセ
ッサ/メモリの1個によって作成され、処理及び記憶手
段420へ送られる。径路指定サイクルのクロックサイ
クル0から始まり、このメッセージパケットのビットは
、このICの回線割り当て装置の最初の列内のセル40
0の1つのM−IN端子に一度に1個ずつ出される。ア
ドレスタイム1中のクロックサイクル0の間に、タイミ
ング信号COL1 が、各回線割り当て装置の最初の列
のフリップ−フロップ490に送られる。IC000 
 000  000  000  111では、これが
フリップ−フロップ490内のアドレスの先頭ビットを
記録する。このビットは1−ビットであり、径路指定障
害もないと仮定しているので、論理回路502がメッセ
ージパケットを、第1次元のバス410へ径路指定する
。従って、メッセージパケットは第1次元のアドレス回
線39から下へ径路指定され、IC100  000 
 000  000  111へ行き、そこで、セルの
最初の列内の最下部のセルのフリップ−フロップに送ら
れる。そこで、メッセージパケットは、1回のクロック
サイクル分遅延される。2回目のアドレス時間のクロッ
クサイクル2の間に、メッセージパケットの新しい先頭
ビットがテストされ、再び1−ビットであることがわか
る。従って、メッセージパケットは、今回は、アドレス
110  000  000  000  111を持
つICへ、第2次元の出力回線39を下へ径路指定され
る。次の10回のアドレス時間のクロックサイクル4,
6…22の間に、ICアドレスのその時の先頭ビットが
、IC110  000  000  000  11
1の回線割り当て装置の3−12の各列内の論理回路5
02によってテストされる。いずれの場合も、論理回路
が0−ビットを識別し、メッセージパケットを回線割り
当て装置の中を上へ向って詰め、先頭ビットを破棄し、
1回のクロックサイクル分の遅れの後に次の列上へメッ
セージパケットを径路指定する。
【0205】13番目のアドレス時間内のクロックサイ
クル24の間に、論理回路502がその時のICアドレ
スの先頭ビットをテストし、1−ビットを識別する。径
路指定に何の障害もないと仮定して、メッセージパケッ
トをIC110  000  000  000  0
11へ径路指定し、そこで、回線割り当て装置の13番
目の列内の最下部のセルによって受け取られ、1回のク
ロックサイクル分遅延される。
【0206】14番目のアドレス時間のクロックサイク
ル26の間に、タイミング信号t=COL14が、各回
線割り当て装置の14番目の列のフリップ−フロップ4
90に送られる。IC110  000  000  
000  011において0−ビットは、14番目の列
内で最下部のセルのフリップ−フロップ490内に記録
される。その結果、メッセージパケットはそのIC内に
留められ、1回部のクロックサイクルの遅延の後にセル
の15番目の列に送られる。
【0207】15番目のアドレス時間のクロックサイク
ル28の間に、タイミング信号t=COL15が、各回
線割り当て装置の15番目の列のフリップ−フロップ4
90に送られる。セルアドレス110  000  0
00  000011でこれらのフリップ−フロップの
一つが、メッセージパケットのアドレス内の残りの1−
ビットを記録する。径路指定に何の障害もないと仮定す
ると、論理回路502はメッセージパケットへのバスア
クセスをグラントし、メッセージパケットをアドレス1
10  000  000  000  010の回線
割り当て装置内の最下部のセルのフリップ−フロップへ
径路指定する。クロックサイクル30の初めに、メッセ
ージパケットの書式ビットが、アドレス110  00
0  000  000  010の径路指定回路の記
憶及び処理手段に出される。
【0208】メッセージパケットの径路指定の間に、信
号t−INVn が、回線割り当て装置の異なる列また
は次元のXORゲート415へ、メッセージパケットの
複製アドレス内のその次元のためのアドレスと同時に送
られる。これらの信号は、その時にメッセージパケット
が径路指定されている複製ICアドレスのその次元のた
めのアドレスビットを相補する。これらの信号の数個を
図17に示す。上記のメッセージパケット径路指定の例
として、クロックサイクル16,18,40及び44で
の信号が、メッセージパケットの複製相対アドレスの4
個の1−ビットを反転する。その結果、メッセージパケ
ットが、記憶及び処理手段に出される時、複製アドレス
の全てのビットが0−ビットである。
【0209】記憶及び処理手段420 記憶及び処理手段420は、メッセージパケットをチッ
プ上のプロセッサ/メモリへ径路指定し、プロセッサ/
メモリからメッセージパケットを送り出し、特殊な出力
回線39が先に配置されているために、受け取ってすぐ
にセルから送り出させないメッセージパケットを記憶す
る。図14に示すように、径路指定回路の回線割り当て
装置205内のセル400の各行に、ブロック420で
識別される個別の処理及び記憶装置がある。各ブロック
への入力端子は、回線割り当て装置の15番目の列内の
対応するセルの出力端子M−OUTに接続されているD
−IN、用意されたメッセージパケットを、CIU18
0からの回線196上の径路指定回路へ供給するD−E
XTin、それに、CIU180からの回線194上の
径路指定回路へ、送られてきた信号を供給するDP−E
XTinとである。DP−EXTinへ送られてきた信
号は、最上部で利用可能な処理及び記憶手段420を位
置づけ、メッセージパケットをCIU180からその手
段420へ供給するために用いられる。各処理及び記憶
手段へのもう1つの入力は最上部の処理及び記憶装置4
20内に位置する特殊なセルにアドレス指定されたメッ
セージパケットを抽出するために用いられるグラント信
号である。各処理及び記憶手段420からの出力端子は
、D−OUT及びDP−OUTであり、それらは、回線
割り当て装置及び、CIU180へ、回線回線198上
をメッセージパケットを供給する局域内バス端子内の同
じ行のセル400のM−IN及びMP−IN端子に接続
されている。さらに、各処理及び記憶手段420は、す
ぐに下の行の処理及び記憶手段の対応する端子DP−E
XTin及びGinに接続されている出力端子DP−E
XTout 及びGout を持つ。最下部の処理及び
記憶手段420の端子DP−EXTout 及びGou
t における信号は、それぞれ、回線199及び197
上を、CIU180へ信号を提供する。特に、メッセー
ジパケットが回線198越しにCIU180へ提供され
ると、回線198にアクセスを提供するグラント信号が
、回線197上に、そうしたアクセスを提供する時に低
くなるような信号を出す。 そして、もしCIU180からのメッセージパケットが
処理及び記憶手段420に受け入れられると、端子DP
−EXTout及び回線199上の信号は低くなる。
【0210】各処理及び記憶手段410は、メッセージ
検出器210、バッファおよびアドレス復元器215及
びメッセージ注入器220から成り、それらの詳細は図
18に示す。図5のメッセージパケットを処理するこの
回路と共に使用される信号のタイミング図表が図19に
示される。各メッセージ検出器は、3個のラッチ610
,612,616及び否定回路618,3個のNAND
ゲート620,622,624、1個のANDゲート6
30、論理回路640、そして、バス駆動650を含む
。ラッチ610は、メッセージパケットのアドレスの2
枚のコピーの間を送信される書式ビットをチェックする
。このビットは、どのメッセージからも区別のつかない
メッセージの存在を知らせる。ラッチは、基本クロック
サイクル30の間に、信号t−MSGPがセット端子で
受け取られた時だけセットされる。もし、書式ビットが
このクロックサイクルで識別されると、高い信号が出力
端子Qに、低い信号がラッチ610の端子Qにセットさ
れる。NANDゲート620及びラッチ612は、もし
全てのビットが0−ビットであるかを決めるメッセージ
パケットの複製アドレスをチェックする。ラッチ612
は、クロックサイクル0の間にセットされ、Q端子での
出力は、低い信号がNANDゲート620に受け取られ
なければ、また、受け取られるまでは、低いままでいる
。ゲート620は、基本クロックサイクル31−45の
間にメッセージパケットの第2のアドレスの受け取りの
間だけ、信号t−ADDR2によって動作可能になる。 もし、全てのアドレスビットが0−ビットであると、メ
ッセージパケットはアレイ内の正しいセルに達し、CI
U180に径路指定されるであろう。そして、NAND
ゲート620の出力は高いままである。ラッチ612は
、従って、ラッチ612の出力端子Qで低い信号を出す
。都合の良いことに、過渡状態からの干渉を最小限にす
るため信号t−ADDR2は、クロック信号PHI1で
ANDされ、NANDゲート620が各クロックサイク
ルのPHI1相の間だけ動作可能になる。
【0211】ラッチ610及び620のQ端子からの低
い信号が、ANDゲート630を動作可能にする。クロ
ックサイクル44の間と、メッセージパケットの非アド
レス部分がD−IN端子で利用出来るクロックサイクル
45−87の全体を通じて、信号t−DATAが低くな
り、それによってANDゲート630の出力で高い信号
を作る。この高い信号はCIU180への回線198へ
のアクセスの要求となる。否定回路618によって作り
出される高い信号と低い信号が論理回路640及びバス
駆動650へ送られ、バスアクセスをシークする最上行
へバスアクセスをグラントし、他の全ての行のへのアク
セスを否定する。論理回路640及びバス駆動650は
、実例としては  図15及び図16の論理回路502
及びバス駆動500のような装置と同じ型であり、同じ
方式で作動する。そして、ANDゲート630及び否定
回路618からの信号は、それぞれQ及びQ端子からの
信号と同じ方式で機能する。その結果、径路指定回路2
00の最下行内の処理及び記憶手段からの回線197上
のGout 信号は、バス198へアクセスがグラント
されるとすぐ低くなる。
【0212】ラッチ610のQ端子からの出力及び論理
回路640からバスアクセス出力とはNANDゲート6
24へ送られる。回路640のバスアクセス出力は、バ
スアクセスが、入力端子D−INでメッセージパケット
にグラントされた時だけ、低くなる。そのような時、N
ANDゲート624は高くなる。この出力はラッチ61
6の入力へ送られ、信号t−LASTが、メッセージサ
イクルの最後のクロックサイクル87の間にラッチへ送
られる時に、この高い信号は、ラッチ内に記憶される。 NANDゲート624の出力も、径路指定回路のこの行
の中を循環しているメッセージがないと高くなる。この
ような状況のもとで、ラッチ610は、クロックサイク
ル30の間にセットされ、ラッチ610のQ端子での信
号は低くなり、NANDゲート624の出力を高くする
。ラッチ616の出力は、バッファ及びアドレス復元器
215とメッセージ注入器220の双方に送られる。
【0213】ラッチ616のQ出力もD−IN端子から
の信号とともに、NANDゲート622に送られる。そ
の結果、NANDゲートは、メッセージ書式ビットが検
出された時に反転され、そのゲートはD−IN端子で受
け取られたメッセージパケットを、それがバッファ−復
元器に送られている時に反転する。
【0214】メッセージ注入器220は、セレクタ67
0、否定回路680、ORゲート682、ANDゲート
684及びNANDゲート686を含む。回線194上
の信号は、処理及び記憶手段410の上の行内の端子D
P−EXTinへ送られ、そこで、NANDゲート68
6とORゲート682及びNANDゲート684に接続
される。NANDゲート686の出力は、セレクタ67
0の選択端子に送られる。この信号が高いと、セレクタ
の端子Aにおける信号が、D−OUT端子へ供給される
。 信号が、低いと、端子Bでの信号は、出力端子D−OU
Tへ供給される。
【0215】図11と関連してCIU180の説明で述
べたように、フリップ−フロップ314が、基本クロッ
クサイクル87の間に信号t−LASTによってセット
される。その結果、端子DP−EXTinへの回線19
4上の信号は、メッセージ注入器220へ送達されるこ
とになっているメッセージパケットがCIU180にあ
る時はいつもメッセージサイクルが始まる前から高くな
る。ラッチ616も、基本クロックサイクル87の間に
信号t−LASTによってセットされる。その結果、N
ANDゲート624の出力が、メッセージパケットがC
IU180へのバス198へ送達されている時と同じ位
高いと、ラッチ616の出力も、メッセージサイクルの
開始以前から高くなる。ラッチ616及び端子DP−E
XTinからの高い信号は、NANDゲート686の出
力を低くする。その結果、セレクタ670の端子Bは、
メッセージ注入器220の端子D−OUTへ接続され、
CIU180からの回線196上のメッセージパケット
はメッセージ注入器220で受け入れられ、D−OUT
端子へ供給される。
【0216】同時に、ラッチ616からの高い信号が否
定回路680へおくられ、ANDゲート684を使用不
可能にしDP−EXTout 端子に低い信号を提供す
る。 この信号は、他の全ての低い行中のNANDゲート68
4を動作不可能にし、これらの行の各々のDP−EXT
out において低い信号を提供する。これらの低い信
号も、全ての低い行中のラッチ670の選択端子に高い
信号を提供する。その結果、回線196上のメッセージ
は、注入器220の一行に送達されるだけになる。さら
にまた、径路指定回路の最下行のためのメッセージ注入
器の出力端子DP−EXTout からの低い信号はC
IU180への回線199上に送られ、外へ出て行くメ
ッセージパケットが、回線割り当て装置205への応用
のためにメッセージを注入器220によって受け入れら
れたことを知らせる。回線196上に信号を受けるメッ
セージ注入器の行のORゲート682へ端子DP−EX
Tin端子から送られる高い信号も端子DP−OUTに
おいて高い信号を提供し、端子D−OUTにメッセージ
が存在することを知らせる。
【0217】これとは別に、この行に循環するメッセー
ジはないこともあるし、または、メッセージはこのセル
にアドレス指定されていないこともある。もし、循環し
ているメッセージがないと、ラッチ610のQ端子から
NANDゲート624への入力は低くなり、ラッチ61
6の出力は、次のメッセージサイクルの間高くなる。こ
れらの状況のもとで、回線196からのメッセージパケ
ットは、メッセージパケットをバス198に書き込むこ
とによって行が空になった場合と同じようにメッセージ
注入器によって受け入れられる。
【0218】もし、メッセージが行に存在していてもそ
のセルにアドレス指定されていなければ、NANDゲー
トへの両方の入力は高くなり、その結果、NANDゲー
トの出力は低くなり、ラッチ616の出力は、メッセー
ジサイクルの開始より前から低くなる。結果として、N
ANDゲート686の出力及びセレクタ670の選択端
子が高くなりセレクタの端子Aに送られた信号は、D−
OUT端子へ送られる。さらに、低い信号は否定回路6
80によって反転され、DP−OUT端子で高い信号を
提供し、メッセージが行中にあることを知らせる。否定
回路680の出力も、ゲート684を使用可能にする。 その結果、回線194上のCIU180から、行の1つ
にメッセージを入れるよう要求があると、この信号は、
ANDゲート684及びDP−EXTout 端子端子
によって、次に低い行へ送られる。
【0219】セレクタ670の端子Aに供給されたメッ
セージパケットは、第1及び第2相対セルアドレスを持
つメッセージパケットである。このメッセージパケット
は、D−IN端子で受け取ったメッセージパケットを記
憶し、第2の相対セルアドレスから第1の相対セルアド
レスを再構成するバッファ復元器210によって供給さ
れる。
【0220】バッファ復元器210は、シフトレジスタ
700,ANDゲート710,712,と714,そし
て、NORゲート720を含む。メッセージパケットは
、D−IN端子に到着すると、シフトレジスタ700中
にシフトされる。このレジスタは、第2の相対セルアド
レスの初めから最後の誤り訂正ビットまでの、全メッセ
ージパケットを記憶するに充分な長さを持つ。図17に
示すように、レジスタ700は、その出力端子から16
のシフト位置にあるタップ702を持つ。その結果、メ
ッセージパケットがシフトレジスタを通ってシフトされ
ると、メッセージパケットの最初の16ビットが、これ
らのビットがシフトレジスタの出力端に達する前に、A
NDゲート714の入力で利用可能になる。これらビッ
トの最初の15個は、相対セルアドレスである。
【0221】第1の相対セルアドレスを再構築するため
に、ゲート714が、これらビットがタップ702にあ
る基本クロックサイクル0−14の間に信号SEL−T
APによって動作可能になり、ゲート714の出力は、
NORゲート720を通って、セレクタ670の端子A
に送られる。クロックサイクル15の間に、ANDゲー
ト710が、信号SEL−MSGPによって動作可能に
なり、書式ビットを発生する。このビットは、ラッチ6
16の出力から得られ、ANDゲート710の出力はN
ORゲート720を通ってセレクタ670の端子Aへ送
られる。クロックサイクル15の間、ラッチ616の出
力は、メッセージパケットがバス198に転送されてい
るところか、または、そのメッセージサイクルの間にD
−IN端子で、メッセージパケットが受け取られていな
い場合は高くなる。これらの場合、ANDゲート710
によって送られる信号は高い信号で、NORゲート72
0によって反転され、バッファ及び復元器215の出力
に、有効なメッセージパケットがないことを知らせる。 他の全ての場合には、ラッチ616の出力が低くなり、
この信号はNORゲート720によって反転され、バッ
ファ及び復元器215からのメッセージパケットが有効
であることを知らせる。これら16サイクルの後で、シ
フトレジスタ700を通ってシフトされているメッセー
ジパケットが、出力端子へ達し、また、ANDゲート7
12の入力に達する。その時と、基本クロックサイクル
16−72全体で、ゲート712は信号SEL−END
によって動作可能になり、第2の相対セルアドレス及び
メッセージパケットの残りをセレクタ670の端子Aへ
提供する。
【0222】F.例 プロセッサ/メモリのレジスタでのメッセージパケット
の発生及び受け取りの例は次の通りである。表VII 
は、この例で取り上げているプロセッサ/メモリの下記
のレジスタ及びフラグで利用出来る情報を明記している
【0223】
【表VII】
【0224】局地アドレス情報は、レジスタアドレスの
4ビットを列0いあら3、局地プロセッサ/メモリを識
別するアドレスの5ビットを列4から8に、列9から2
3のICアドレスの15ビットは絶対値のICのアドレ
スを明記し、ICアドレスにパリティを提供する列24
には1−ビットを持つレジスタ2内に記憶される。メッ
セージが送られてもよくなると、メッセージデータがレ
ジスタ4内に記憶され、ICチップ、プロセッサ/メモ
リ及びレジスタを含めたその行き先のアドレスは、レジ
スタ2内の局地アドレス情報と同じ順序でレジスタ1内
にあり、ビットを送れという要求は、状態レジスタ3の
列0内の1−ビットとしてセットされ、フラグを送れと
いう要求は、グローバルフラグレジスタ6内の1−ビッ
トととしてセットされる。この例として、メッセージパ
ケットは、偶数受け取りレジスタ6(レジスタアドレス
が1110ならば)か、奇数受け取りレジスタ7(レジ
スタアドレスが1111ならば)のどちらかで受け取ら
れる。
【0225】これらの地点で記憶された情報について、
表VIIIが、レジスタ1内のアドレスによって特定さ
れたICへ、レジスタ4内のデータを送り出すメッセー
ジパケットを発生し、メッセージパケットのデータを受
け取るに必要な命令を示す。
【0226】
【表VIII】
【0227】サイクル51の間に、局地プロセッサ/メ
モリがメッセージを送ろうとしていて、デイジーチェー
ン内で、高い所のプロセッサ/メモリが、送れと要求を
出していなければ、ComEビットがセットされる。こ
の時にこのプロセッサ/メモリから送る要求は、グロー
バルフラグレジスタ6内の1−ビットとして記憶され、
より高いプロセッサ/メモリからの送れの要求のいずれ
もが、状態レジスタ3の0列内の1−ビットとして記憶
されている。このプロセッサ/メモリが、送れるかどう
かは、状態ビットを相補し、この相補されたビットとグ
ローバルフラグレジスタ6の内容のANDをとることに
よって計算される。結果は、ComEグラグレジスタに
書き込まれる。ComEビットがセットされると、NA
NDゲート293は動作可能になり、それによって、キ
ャリ出力回線287上の信号をCIU180への信号回
線123へ提供する。サイクル52の間にグローバルレ
ジスタ6内に1−ビットが、SWAP動作によって状態
レジスタの0列に書き込まれる。
【0228】サイクル53の間に、プロセッサ/メモリ
は、CIU180への回線123へ、ICアドレスのた
めのパリティビットを提供する。上記のように、このパ
リティビットはレジスタ2の列24内に記憶される。そ
れは、0フラグから得た0−ビットとともに、レジスタ
2のこの桁の内容のORをとることによって読み出しサ
イクルの間に読み出される。この動作の結果は、キャリ
出力回線上を、フラグレジスタ2内のデータシンクとN
ANDゲート293へ提供され、そこから回線123へ
送られる。
【0229】サイクル53の間に、もしメッセージパケ
ットを送り出すのならこの1−ビットが送りだされる。 この1−ビットは、ComEフラグレジスタ7内にセッ
トされる。ゼロを含むレジスタ及びグラグレジスタの内
容のORをとることによって読み出される。この動作の
結果はNANDゲート293を通って回線123へ送ら
れる。
【0230】サイクル55から86の間に、データは、
一度に1列ずつ、レジスタ4から読み出され、“フラグ
を受け取るな”が低いと、データは、一度に1列ずつ、
受け取りレジスタ6,7の1つに書き込まれる。メッセ
ージパケットの同時送りと受け取りは、レジスタBの出
力をキャリ出力回線287へ提供し、フラグからレジス
タAへ入力を提供するSWAP動作によって達成される
。レジスタBはレジスタ4として特定され、この例とし
てレジスタAがレジスタ7として特定される。CIU1
80からの回線122からの入力は、フラグ13である
データインフラグへ送られる。これらのサイクルの各々
の読み出し部分の間に、レジスタ4の1列の信号と、デ
ータイン端子の信号が読み出される。これらの動作の書
き込み部分の間に、キャリ出力回線上の信号がNAND
ゲート293を通って、出力回線123へ提供される。 同時に、CIU180からデータインフラグ13へ送ら
れた信号はレジスタ7の列に書き込まれる。
【0231】上述のごとく、レジスタ6又は7へのデー
タの書き込みは、“受け取るな”フラグ1の状態で条件
付けされる。この状態は、回線176及びセレクタ29
4を用いてフラグ1を読み出し、XORゲート299内
で、“受け取るな”フラグと回線178上の信号とを比
較することによって決定される。読み出しフラグ1のた
めの信号はピンI22−25上の0001である。
【0232】サイクル87の間、受け取られたメッセー
ジパケットのパリティビットは、レジスタ2内の絶対I
Cアドレスのパリティビットと比較される。これはレジ
スタ2の桁24のパリティビットで、データインフラグ
入力の信号の排他的ORを実行するためにMOVE動作
を用いてなされる。もしパリティ誤りがないと、この動
作の結果は、グローバルフラグレジスタ6に書き込まれ
る低い信号でなければならない。マイクロコントローラ
20が、パリティ誤りを見張るために、この回線をチェ
ックする。
【0233】サイクル0から14の間に、メッセージパ
ケットのための相対ICアドレスが発生され、CIU1
80に提供される。このことは、MOVE動作を用いて
、送信側のICアドレスの絶対値と、行き先のICアド
レスの絶対値の排他的ORを作り、それをキャリ出力回
線へ提供することによって達成される。
【0234】サイクル15から19の間に、IC内の特
定のプロセッサ/メモリのアドレスが、レジスタ1から
読み取られ、MOVE動作によってキャリ出力回線へ提
供される。サイクル20の間に、1つのビットが行き先
レジスタが奇数かまたは偶数であるべきかを特定して送
られ、サイクル21から23の間に、追加のビットが、
行き先レジスタのアドレスを特定しながら送られる。こ
の例の中で、サイクル21から23の間に送られたビッ
トの状態は、サイクル20の間に発生されたビットの状
態によって、レジスタ6又はレジスタ7のみにデータが
書き込まれるため、不適切である。便宜上、サイクル2
1から23の間に送り出されたビットは、ゼロレジスタ
15の出力とゼロフラグ入力15を反転し、それらの値
のORをとることによって得られた1−ビットである。
【0235】サイクル24の間に、メッセージパケット
が、径路指定回路がメッセージパケットを受け入れたか
どうかを決めるための回線123に、送られているかど
うかのテストが行なわれる。受け取りは、NORゲート
352によって反転され、サイクル0−44の間にデー
タインフラグに送られた回線199上の低い信号によっ
て知らされる。サイクル24の間に、この信号は再び反
転されて、SWAP動作によって状態レジスタ3の0列
に書き込まれる。
【0236】サイクル25から38は自由で、これらの
サイクルへの命令は、MOVE動作による0−ビット転
送の非動作(NOP)を提供する。
【0237】サイクル39の間に、プロセッサ/メモリ
は、メッセージパケットを次に径路指定サイクルで送る
許可を要求するかどうかを計算する。この情報は状態レ
ジスタから得られ、OR動作によって回線124上の出
力を提供しているグローバルフラグレジスタ6に提供さ
れる。サイクル40−43の間に、送れの要求は、状態
レジスタから読み出され、キャリ出力回線を経て、チッ
プ上のデイジーチェーン内の局地プロセッサ/メモリの
下にあるプロセッサ/メモリのデイジー入力へ送られる
。同時に、デイジーチェーン内で高い所にあるプロセッ
サ/メモリからの入力は、デイジー入力から読み出され
、キャリ出力によって、デイジーチェーンの下の方のプ
ロセッサ/メモリに提供される。4つのサイクルが、プ
ロセッサ/メモリからの送れの要求がチェーンの下方へ
伝播されるのを確かめるためにある。サイクル44の間
に、チェーン内の高い所のプロセッサ/メモリのいずれ
からの送れの要求が、キャリ出力回線へ書き込まれ、こ
の情報は、状態レジスタにも書き込まれる。
【0238】サイクル45に間に、もしメッセージがこ
のICに送達されようとしているならば、1個の1−ビ
ットが、データインフラグへの回線122上に提供され
る。このビットは、“受け取るな”フラグレジスタ1を
、ComEIn での入力の状態の反対である0−ビッ
トでセットすることにより、このレジスタの状態を計算
するのに用いられる。このことは、OR動作によって、
データイン入力を相補し、それをフラグレジスタ1へ書
き込むことによって行なわれる。
【0239】サイクル46から50の間に、プロセッサ
/アドレスが、CIU180からの回線122上に送達
される。各プロセッサ/メモリは、このアドレスを自分
のアドレスと、これら2つのアドレスの排他的ORをと
り、フラグレジスタ1内で見られた相違を積み重ねるた
めにMOVE動作を用いて、比較する。もし、違いが見
られない場合は、フラグレジスタ1は、局地プロセッサ
/メモリがメッセージパケットの行き先であることを知
らせる0−ビットを保持する。
【0240】その後、径路指定サイクルは、全てのメッ
セージパケットが送達され終るまで続く。
【0241】G.代替案 この技術に熟練する人々には明らかであるように、本発
明の精神と範囲内で、上述のシステムには数多くの変更
が可能である。本体コンピュータ10,マイクロコンピ
ュータ30及びプロセッサ/メモリの直線のアレイの使
用、及び、データソース40及びデータシンク90及び
関連するバッファによるプロセッサ/メモリへ、そして
、それらからのデータの提供はほんの一例である。例え
ば、もし本体コンピュータが充分速ければ、命令シーケ
ンス発生は、マイクロコントローラの代わりにコンピュ
ータで行なうことも出来る。もしくは、多くの応用にお
いて、マイクロコントローラ及びプロセッサ/メモリの
アレイの動作に本体コンピュータを用いる必要がない。 データソース40,バッファ50,60,65,70,
75,80、とデータシンク90の他の配置も可能であ
る。プロセッサ/メモリの直線状のアレイは、比較的簡
単な組織と厳密な並行動作の迅速な実行という長所をも
っているが、この組織は、本発明の実行には必要ではな
い。個別のプロセッサ/メモリは厳密に線型アレイ内に
、図2の螺旋型接続に代表されるように接続出来るが、
2次元的8角形もしくは10角形又は他の形態、3次元
的アレイで接続させることも出来る。ある応用では、チ
ップの径路指定回路を通る接続を除いて、違うチップ上
のプロセッサ/メモリ間のどのような接続も使わないこ
とも出来る。
【0242】プロセッサ/メモリの数、位置、個別の機
能も変化させられる。本発明のコンピュータシステムは
プロセッサ/メモリの数が、これより多くても少なくて
も良い。本発明の利点は、約10,000個のプロセッ
サ/メモリを使用した時にはっきりしてくる。各チップ
上に32のプロセッサ/メモリ、各PC板上に64チッ
プという220プロセッサ/メモリの配置は、単なる一
例である。現在の技術では、この配置は、妥当な費用と
思えるもので実現出来る。将来は、各チップ上にもっと
多くのプロセッサ/メモリを置けるであろう。n−立方
体の次元の数も、相互結合させるプロセッサ/メモリの
数にあわせて変化させられる。ある応用では、径路指定
回路を、プロセッサ/メモリが取り付けられているIC
とは違うICに作る方が有利になるだろう。ある場合に
は、2つ以上のタイプのプロセッサ/メモリを使用する
のが良いこともある。例えば、特別な算術的機能を持つ
プロセッサ/メモリが、汎用プロセッサ/メモリと共に
有用であることもある。設計変化も、ICの回路におい
て行なわれるだろう。例えば、ピン計数は、命令ピンの
時分割多重方式によって、変わってくるだろう。
【0243】立方体の各次元でICチップに2つの可能
な配置のあるブールn−立方体の径路指定回路を説明し
てきたが、本発明を、各チップが、n−立方体の1次元
以上の3つ以上の位置に配置されてもよい。このような
配置では、各チップを接続するには、いくつかの可能性
がある。径路指定回路200の一般的形態を保つ配置で
は、各セルの各次元の出力回線39を、同じ次元内の他
の1つだけのセルの入力回線38へ接続する。図6の各
チップ100の入力及び出力回線38,39の接続パタ
ーンを一般化するため、1次元内の1アドレスにチップ
が位置する場合に、その出力回線は0アドレスに位置す
る最も近い隣接チップに接続され、そのアドレスは1単
位だけ小さく、また、ある次元でチップが0アドレスに
位置する場合は、その出力回線は、その次元において最
高のアドレスである1アドレスに置かれたチップに接続
される。このパターンを、ある次元の3つ以上のアドレ
スにチップが置かれる場合に応用するには、最高アドレ
スにあるチップの出力回線を、次に高いアドレスその他
にあるチップの入力に接続するだけで良い。そして、0
アドレスにあるチップの出力回線を、最高アドレスにあ
るアドレスの入力回線に接続する。例えば、チップがあ
る次元の4アドレスに置くことが出来るとすると、アド
レス3のチップの出力回線を、アドレス2にあるチップ
の入力回線に接続し、アドレス2チップの出力回線を、
アドレス1のチップの入力回線に、アドレス1のチップ
の出力回線をアドレス0の入力回線に、そしてアドレス
0の出力回線をアドレス3の入力回線に接続する。ある
いは、接続を反対の方向に行なうことも出来る。
【0244】相対アドレス発生及び径路指定回路におい
ても修正が必要になるだろう。しかし、これらの修正は
これらの機能の汎用化から明らかになる。このように、
各次元に2つだけICアドレスがある場合は、相対アド
レスは、2つのアドレスの排他的ORをとることによっ
て決められる。しかし、これは、他のアドレスから1つ
のアドレスを減じ、負数を補数として表わすことの等価
である。同様に、先頭アドレスビットを調べて、メッセ
ージパケットが行き先へ着いたかどうかを決める径路決
定機能は、一般的には、先頭アドレスビットが0−数字
かどうでないかを決めることである。それが、0−数字
であれば、メッセージパケットは、その次元内の行き先
に到達している。さもなければ、その次元の他のアドレ
スへ径路指定されなければならない。ある次元に2アド
レス以上ある場合、相対アドレスの発生と、そのアドレ
スによって特定されたメッセージパケットの径路指定は
似たものになる。相対アドレスは、行き先ICのアドレ
スを開始ICのアドレスから減算し、メッセージパケッ
トが行き先に達するために、その次元内で横切らねばな
らないノードの数を得ることによって決められる。負数
は、その補数に変換することによって簡単に取り扱える
。回路割り当て装置の各列のバスアクセス論理内の径路
指定回路は、メッセージパケットの先頭アドレスビット
内に0−数字があるかどうかをテストするだけである。 もし、0−数字があると、メッセージパケットは、その
次元内でアドレス指定されているアドレスに達しており
、その次元内の異なるアドレスへ径路指定する必要がな
い。先頭ビットが0−数字でない場合は、メッセージパ
ケットは正しいアドレスになく、その次元内でのアドレ
スが1単位小さい最も近い隣接ノードに径路指定するこ
とが出来る。複製アドレスが径路指定された場合、その
次元の相対アドレス数字は、1だけ減ずることにより更
新出来る。
【0245】1次元内にICチップに2アドレス以上あ
る回路のこの例を考えると、このようなスキーマは上記
のブールn−立方体のICチップの同数を相互接続させ
るために用いられる入力及び出力回線38,39の数を
減少させ、従って、径路指定障害の可能性を増すことが
わかる。しかし、チップ間の相互通信が低い応用におい
ては、このような代替案は実用的であると分かるであろ
う。
【0246】上述の各構成要素についても、単なる一例
である。RAM250及びフラグコントローラ290の
特定の大きさは、実例にすぎない。ある応用においては
、もっと大型のRAM及びコントローラの方が良いかも
知れない。もちろん、もっと小型のものを用いても良い
。ビット−直列ALU280は、並列ALUと入れかえ
ることも出来るし、ALUへの入力の数及び/又はそれ
からの入力の数が違っていても良い。プロセッサ/メモ
リの開示された実施例は、全てのアドレスデコーディン
グをPLA150内で行なうが、ある場合には、デコー
ディングのいくらかを、各プロセッサ/メモリで行なう
方が有利であろう。各プロセッサ/メモリのALU,R
AM及びフラグコントローラは、上記の実施例では、他
のプロセッサ/メモリのそれらとは独立して作動してい
るが、そうではない組合わせも可能である。例えば、各
ALUは、ICアドレスがICチップ上の全てのプロセ
ッサ/メモリに記憶される単一のレジスタのように1つ
又はそれ以上の同じレジスタへのアクセスを持つことも
出来る。AND,OR,ADD,SWAP及びMOVE
の5個の基本動作の命令セットの使用が好ましいが、追
加の動作を用いてこの発明を実施しても良い。加えて、
表VIの32の命令から異なる数の命令を用いて、発明
を実施しても良い。
【0247】径路指定回路200においても、数多くの
変更が出来るだろう。回路割り当て装置205の列の数
はn−立方体内の次元の数によって決まる。行数は、径
路指定回路の記憶要求量によって異なる。このような要
求量は、どのくらいのメッセージパケット径路指定がシ
ステムで用いられているかによって、1つ1つのシステ
ムによって変る。ある応用では、メッセージ注入器22
0へ複数の出力回線194,196を、また/もしくは
、メッセージ検出器210及び注入器220から複数の
出力回線197,198,199を備えた方が良いこと
もある。メッセージパケットが径路指定されねばならな
い次元の数によって、バッファ及びアドレス復元器21
5内のメッセージパケットを分類することが望ましいこ
ともある。
【0248】命令の処理において数多くの変更も行なえ
る。前のメッセージパケットが完全に送達されないうち
に、続きのメッセージパケットが発生されるように、径
路指定サイクルを重複させると有利であることもある。 追加の誤り検知及び訂正は、追加のパリティビットを使
うことによって行なえる。条件的動作は1個以上のフラ
グに基づいていても良い。間接アドレス指定が望ましい
こともある。
【0249】性能を強化するために上記のシステムに、
数多くの機構を組み合わせることも出来る。例えば、各
チップに、チップ上の各プロセッサ/メモリの個別のダ
イナミックRAMの内容の状態を保存するために、外部
メモリを追加しても良い。各プロセッサ/メモリのアド
レスは、各アドレスを動作の開始時に装填する必要をな
くすために、ハード配線で供給することも出来る。入力
は、データソース40を通さず、イメージセンサを通し
て直接各プロセッサ/メモリに行なうことも出来る。も
しくは、コンピュータ10に、各プロセッサ/メモリの
個別のレジスタへの直接アクセスを持たせても良い。最
後に、シリコンに作り込まれ従来からある電線で接続さ
れた超LSI回路の現在の技術の点から、発明を説明し
てきたが、本発明の概念は、他の技術にも転用出来ると
いうことも認識されるべきである。シリコンIC35を
、例えばガリウム砒素のようなもので作られていてしか
も同じ機能を持つ他の回路で代替しても良く、従来から
の電線を、例えば、光ファイバで代替しても良い。
【図面の簡単な説明】
【図1】本発明による並列処理集積回路(IC)のアレ
イを用いるコンピュータシステムの概略説明図である。
【図2】本発明による並列処理集積回路(IC)のアレ
イを用いるコンピュータシステムの概略説明図である。
【図3】並列処理IC間の相互接続パターンのいくらか
を理解する上に有用な概略説明図である。
【図4】並列処理IC間の相互接続パターンのいくらか
を理解する上に有用な概略説明図である。
【図5】図1および図2のアレイ内で1つのICから他
のICへ送られるメッセージの書式と、図1および図2
に描かれたコンピュータシステムの動作を理解するのに
有用なクロック信号波形のいくつかを示す波形図である
【図6】並列処理ICを持ついくつかの超LSIパッケ
ージを取り付ける印刷配線板の概略説明図である。
【図7】図1および図2のアレイの1個の並列処理IC
の実施例のブロック図である。
【図8】図1および図2のアレイの1個の並列処理IC
の実施例のブロック図である。
【図9】図7のブロック図中に描かれたプロセッサ/メ
モリの1つのブロック図である。
【図10】図7のブロック図中に描かれたプロセッサ/
メモリの1つのブロック図である。
【図11】図8のブロック図中に描かれたインタフェー
ス装置の論理図である。
【図12】図11の回路の動作を理解するのに有用ない
くつかの波形図である。
【図13】図11の回路の動作を理解するのに有用ない
くつかの波形図である。
【図14】図8のブロック図に描かれた径路指定回路の
ブロック図である。
【図15】図14の径路指定回路中の回線割り当て機構
の例示的実施例の論理図である。
【図16】図15の回線割り当て機構の一部分の論理図
である。
【図17】図14〜図16の回路動作を理解する上に有
用ないくつかの波形図である。
【図18】図14に描かれた径路指定回路の追加部分の
例示的実施例の論理図である。
【図19】図17に描かれた回路の動作を理解する上に
有用ないくつかの波形図である。
【図20】図7及び図8に描かれた回路の超LSI回路
の配置図である。
【符号の説明】
10  コンピュータ 20  マイクロプロセッサ 30  アレイ 40  データソース 50,60,65,70,75,80  バッファ90
  データシンク

Claims (11)

    【特許請求の範囲】
  1. 【請求項1】  複数の処理チップを含む処理アレイか
    らなるデジタル・コンピュータ・システムで使用される
    ことを目的とした処理チップ(35)であって、該処理
    チップは複数のプロセッサ/メモリ回路を含んでおり、
    各プロセッサ/メモリ回路はプロセッサ回路(図9) 
    とメモリ回路(図10)を含んでいて、該プロセッサ回
    路はそれに関連するメモリ回路から受け取ったデータを
    、該プロセッサ回路のすべてに並列に受信されたプロセ
    ッサ制御信号に従って処理して、処理データを出力し、
    該メモリ回路はデータを格納するための複数のレジスタ
    を備えており(各レジスタは1ビット線255 に接続
    されたセル252 の集合である)、該メモリ回路の各
    レジスタは、メモリ回路のすべてに並列に受信されたレ
    ジスタ・アドレス信号(線152、 154に現われる
    )を固有にコード化することによって定義されたアドレ
    スによって識別され、該メモリ回路はメモリ制御信号を
    受けると、これに応えて、該レジスタ・アドレス信号に
    よって識別されたレジスタから格納データを並列に、処
    理のためにその関連プロセッサに送ると共に、その関連
    プロセッサから受け取った処理データを該レジスタ・ア
    ドレス信号によって識別されたレジスタに格納するよう
    にしたことを特徴とする処理チップ。
  2. 【請求項2】  特許請求の範囲第1項の記載において
    、各々の該レジスタは、少なくとも1つのデータ記憶セ
    ル(252) を含み、各データ記憶セルは、データ・
    ビットを記憶するための少なくとも1つの動的メモリ・
    データ・ビット格納手段からなることを特徴とする処理
    チップ。
  3. 【請求項3】  特許請求の範囲第1項の記載において
    、各プロセッサ/メモリ回路ごとに、各レジスタは、各
    々に少なくとも1つのデータ・ビットを格納する複数の
    個別的にアドレス指定可能なデータ記憶セル(252)
     と、レジスタ・データ転送通路(255) と、該メ
    モリ回路のすべてにおける該レジスタのすべてに並列に
    受信されたセル・アドレス信号を受けて、該データ記憶
    セルのうち選択したものと該レジスタ・データ転送通路
    との間のデータ転送を制御するためのセル読み書き制御
    回路(261、 267)とを備えており、該メモリ回
    路は、該レジスタのすべてのレジスタ・データ転送通路
    に接続されて、該レジスタ・アドレス信号を受けると、
    それに応えて、該レジスタ・データ転送通路と該プロセ
    ッサ回路との間のデータと処理データの転送を選択的に
    制御するためのレジスタ・セレクタ回路(275、 2
    76)を含んでいることを特徴とする処理チップ。
  4. 【請求項4】  特許請求の範囲第3項の記載において
    、各レジスタは、該レジスタ・セレクタ回路に接続され
    て、読取りフェーズ期間に該レジスタ・データ転送通路
    からのデータをバッファに入れ、処理フェーズ期間に該
    レジスタ・セレクタ回路からのデータをバッファに入れ
    るためのデータ・バッファ回路(264)を含み、該デ
    ータ・バッファは書込みフェーズ期間にバッファに入れ
    たデータを結合して該レジスタ・データ転送通路上に送
    出するようになっており、該セル読み書き制御回路は、
    各々がセルと関連づけられた複数のセル転送回路(26
    1、 267)から構成され、セル・アドレス信号を受
    けたとき、それに応えて、読取りフェーズ期間にその関
    連レジスタから該レジスタ・データ転送通路へのデータ
    転送を制御し、書込みフェーズ期間に該レジスタ・デー
    タ転送通路からその関連セルへのデータ転送を制御して
    そこにデータを格納するようにしたことを特徴とする処
    理チップ。
  5. 【請求項5】  特許請求の範囲第4項の記載において
    、各々の該データ・バッファ回路は、該レジスタ・セレ
    クタ回路に接続されたデータ記憶手段(266)であっ
    て、該レジスタ・アドレス信号を受けて該レジスタ・セ
    レクタ回路から転送されるデータを受け入れて記憶する
    ためのデータ記憶手段と、該読取りフェーズを定義する
    読取り信号を受けて、レジスタ転送データ通路(265
    ) からのデータを該データ記憶手段と該レジスタ・セ
    レクタ回路に結合するための読取りゲート(267) 
    と、該書込みフェーズを定義する書込み信号を受けて、
    該データ記憶手段からのデータを該レジスタ転送データ
    通路と結合してセルに記憶するための書込みゲート(2
    67) とを含むことを特徴とする処理チップ。
  6. 【請求項6】  特許請求の範囲第5項の記載において
    、各レジスタは、該レジスタのすべてのプリ・チャージ
    回路に並列に受信されたプリ・チャージ信号(”PC”
    )を受けて、該読取りフェーズの前に該レジスタ・デー
    タ転送通路をプリ・チャージ状態にするためのプリ・チ
    ャージ回路(271) をさらに含むことを特徴とする
    処理チップ。
  7. 【請求項7】  特許請求の範囲第1項の記載において
    、該処理チップは、該プロセッサ制御信号を受けて、デ
    コード化したプロセッサ制御信号を発生するプロセッサ
    制御信号デコード回路(150) をさらに含み、各々
    の該プロセッサ回路は該データ信号と該デコード化した
    プロセッサ制御信号を受けて該処理データを生成するこ
    とを特徴とする処理チップ。
  8. 【請求項8】  特許請求の範囲第7項の記載において
    、各々の該プロセッサ回路は、その関連メモリ回路から
    送られてきたデータを受けて、デコード化データ信号を
    発生するデータ信号デコーダと、該デコード化データ信
    号と該デコード化プロセッサ制御信号を受けて該処理デ
    ータを生成する処理データ生成回路とを含むことを特徴
    とする処理チップ。
  9. 【請求項9】  特許請求の範囲第8項の記載において
    、該処理データ信号生成回路は、データをコード化した
    形で表わしたデータ信号をメモリ回路から受け取り、デ
    コード化プロセッサ制御信号を該プロセッサ制御信号デ
    コード化回路から受け取ると、各々が選択的に励起され
    る複数の一致ゲートから構成され、該データ信号デコー
    ダは、メモリ回路から受け取ったデータのさまざまなコ
    ード化に対応する該データ信号を生成することを特徴と
    する処理チップ。
  10. 【請求項10】  特許請求の範囲第9項の記載におい
    て、該処理データ信号生成回路は、和信号生成回路(2
    84) とキャリ信号生成回路(286) とを含み、
    各々は複数の一致ゲート(284、 286に示すトラ
    ンジスタ)から構成され、該デコード化プロセッサ制御
    信号は該和信号生成回路の一致ゲートの励起を制御する
    ための和デコード化プロセッサ制御信号と、該キャリ信
    号生成回路の一致ゲートの励起を制御するためのキャリ
    ・デコード化プロセッサ制御信号を含んでいることを特
    徴とする処理チップ。
  11. 【請求項11】  特許請求の範囲第1項の記載におい
    て、該制御回路から経路指定制御信号を受けると、それ
    に応えて、該プロセッサ回路で生成されたメッセージ・
    パケットを選択的に受信して相互接続手段を経由して転
    送し、宛先IDが該処理チップのプロセッサ/メモリ回
    路を示しているパケットをそのプロセッサ/メモリ回路
    に送るためのグローバル経路指定インタフェース回路(
    200) をさらに含んでいることを特徴とする処理チ
    ップ。
JP3129361A 1991-05-31 1991-05-31 並列プロセッサ Pending JPH04330554A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3129361A JPH04330554A (ja) 1991-05-31 1991-05-31 並列プロセッサ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3129361A JPH04330554A (ja) 1991-05-31 1991-05-31 並列プロセッサ

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP59109776A Division JPH0797362B2 (ja) 1983-05-31 1984-05-31 経路指定装置

Publications (1)

Publication Number Publication Date
JPH04330554A true JPH04330554A (ja) 1992-11-18

Family

ID=15007690

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3129361A Pending JPH04330554A (ja) 1991-05-31 1991-05-31 並列プロセッサ

Country Status (1)

Country Link
JP (1) JPH04330554A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7848078B2 (en) 2007-02-16 2010-12-07 Orica Explosives Technology Pty Ltd Method of communication at a blast site, and corresponding blasting apparatus

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7848078B2 (en) 2007-02-16 2010-12-07 Orica Explosives Technology Pty Ltd Method of communication at a blast site, and corresponding blasting apparatus

Similar Documents

Publication Publication Date Title
US4598400A (en) Method and apparatus for routing message packets
US4814973A (en) Parallel processor
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
US5146608A (en) Parallel processor array system controlled in response to composition status signal
US5151996A (en) Multi-dimensional message transfer router
Akl Parallel sorting algorithms
Sutherland Micropipelines
US6470441B1 (en) Methods and apparatus for manifold array processing
US5276895A (en) Massively parallel array processing system
US5117420A (en) Method and apparatus for routing message packets
Cypher et al. The SIMD model of parallel computation
US10185699B2 (en) Reconfigurable data interface unit for compute systems
JPH0425586B2 (ja)
US3858183A (en) Data processing system and method therefor
JPH04330554A (ja) 並列プロセッサ
JPS62138936A (ja) セルアレイプロセツサチツプの試験方法と装置
US5153521A (en) Broken wire detector for use in a massively parallel array processing system
EP0270198A1 (en) Parallel processor
JPWO2004061722A1 (ja) 論理シミュレーション装置
US5913070A (en) Inter-connector for use with a partitionable massively parallel processing system
CN117421274A (zh) 用于可重构并行处理器的片上存储系统