(57)【特許請求の範囲】
【請求項１】
データ処理コネクティビティであって、
複数の同時並行で動作可能な計算セルであって、各計算セルは、デジタルコードを記憶、配布、および操作するように動作可能であり、各計算セルは、前記コネクティビティにおけるその位置を一意に規定するアドレスをメモリに記憶している、前記多数の同時並行で動作可能な計算セルと、
切り替え可能に選択可能な双方向の信号伝達パスの第１のネットワークであって、各信号伝達パスはそれぞれ前記セルのペアをリンクさせ、前記第１のネットワークにおいて、各セルは、多数のインターフェース回路を有することによって、同様の多数のパスを介した同様の多数の前記セルとのデジタルコードの交換を可能にし、前記多数のセルは、以下、前記各セルの「近傍」と呼ばれる、前記第１のネットワークと、
再帰アルゴリズムに従って規定され、前記複数のセルに全単射でマッピングされる、複数個のパス選択アドレスコードの少なくとも１つのセットであって、各アドレスコードは、場合により末端のセルを除いて、その対応するセルに指示して、単方向信号伝送のためにアドレス選択されたパスのチェーンに沿ったその次の近傍セルへの前記パスを選択させるように構成され、
前記チェーンは、前記セルのそれぞれを１回だけ通過して、
再帰的アルゴリズムに従って規定されたアドレスコードによって、前記チェーンが、その長さに沿って階層的な入れ子のセグメントを再帰的に区切り、それによってその前記入れ子のセグメントのそれぞれに沿ってクラスタ化され、対応して区切られた配列処理サブコネクティビティを形成する、前記複数個のパス選択アドレスコードの少なくとも１つのセットと
を含み、
いくつかの前記サブコネクティビティのそれぞれは、対応するユーザからのデジタルコードのアレイに対して同時並行のアレイ処理を実行するように動作可能な、自律的に動作する通信および処理手段を含む、
データ処理コネクティビティ。
【請求項２】
いくつかのサブコネクティビティのそれぞれは、以下「ピボット」と呼ばれる制御用のデジタル処理セルを有し、
前記ピボットは、その所定のサブコネクティビティの位置およびサイズに対応する制御のスコープを有し、
各ピボットは、ユーザインターフェースへの双方向信号通信ルートを有し、信号伝達チェーンの形態に応じて、前記ピボットおよびそれに対応するセルのセグメントは組み合わさって、前記チェーンに沿って前記ユーザインターフェースから前記対応する所定のサブコネクティビティの前記セルに、順番にデジタルコードを転送する手段を有する、
請求項１に記載のコネクティビティ。
【請求項３】
各ピボットは、ユーザインターフェースと、その対応するサブコネクティビティの制御とに適合された追加の回路を有する、前記セルのセグメントの所定のメンバーセルである、
請求項２に記載のコネクティビティ。
【請求項４】
各ピボットおよびその対応するサブコネクティビティは組み合わさって、前記ピボットから、それに対応する所定のセグメントに沿った全てのセルに、信号を同時並行で共通して配布するブロードキャスト手段を有する、
請求項２または３に記載のコネクティビティ。
【請求項５】
前記サブコネクティビティの各セルは、少なくとも同期信号をその制御ピボットに送信する手段を有し、それによって各セルは、前記共通の信号に応答して自身の動作の完了を通知する、
請求項４に記載のコネクティビティ。
【請求項６】
各ピボットは、信号指向用の階層的に順序付けられた信号伝達パスと、範囲内ノード回路とのツリーの根ノード切り替え回路に接続し、
前記ツリーのリーフレベルの範囲内信号伝達パスのそれぞれは、信号伝送用に、前記各ピボットに対応する所定のセグメントに属する対応するセルに接続される、
請求項４または５に記載のコネクティビティ。
【請求項７】
ノード回路は、部分的に収集された同期信号を組み合わせ、根ノードを介して前記ピボットに送信する手段を有する、
請求項６に記載のコネクティビティ。
【請求項８】
各ピボットは、その対応するセグメントの前記スコープを表すパラメータを保持しており、前記ピボットは、互いに相互接続して、前記ピボットの前記階層的な入れ子のスコープに従って階層的に順序付けられた回路のネットワークを有し、
いくつかのピボットは、前記セグメントのチェーンおよびピボットのスコープの前記階層的な入れ子の構成に従って、下位スコープのピボットを切り替え可能に選択し、プログラムでコーディングする手段を有する、
請求項２から７のいずれか１項に記載のコネクティビティ。
【請求項９】
第２のピボットが関連付けられた下位セグメントよりも大きくかつ前記下位セグメントを包含するスコープを有する上位セグメントを制御する第１のピボットは、前記第２のピボットによる自身の前記下位セグメントへのアクセスを禁止し、とりわけ前記下位セグメント内の前記セルを制御するように動作可能な裁量的手段を有する、
請求項８に記載のコネクティビティ。
【請求項１０】
各ピボットの前記アドレスは、前記スコープを表すパラメータを符号化したものである、
請求項８または９に記載のコネクティビティ。
【請求項１１】
時分割共有データバス回路は、前記第１のネットワークのいくつかの前記信号伝達パスと置きかわり、
前記回路は、データバスを介して順次的な順序で、前記第１のネットワークの前記デジタルコードのシーケンスをルーティングするように構成され、
前記デジタルコードは、それぞれのセルのペア間で切り替え可能に順序付けられ、
データバス回路は、とりわけ、単調に配列された信号伝達チェーンのそれぞれのパスを担当する、
請求項１から１０のいずれか１項に記載のコネクティビティ。
【請求項１２】
各セルは、そのメモリ内のユーザデジタルコードを無効にし、以下「フリー状態」と呼ばれる不使用の動作状態に入り、フリー状態にない場合、さらなるセルへの信号伝達ルートを取得し、前記さらなるセルとデジタルコードを交換するように構成される、以下「呼び出し状態」と呼ばれる動作状態に入ることが少なくとも可能になる手段を含む、切り替え可能な動作状態のシーケンスを有する、
請求項１から１１のいずれか１項に記載のコネクティビティ。
【請求項１３】
セルがフリー状態にある間に、フリー状態信号が前記セルによって前記コネクティビティ内に送信される、
請求項１２に記載のコネクティビティ。
【請求項１４】
前記セルは、所定のコードに応答してフリー状態に戻る手段と、そのフリー状態信号の前記コネクティビティ内への送信をキャンセルする手段とを有する、
請求項１３に記載のコネクティビティ。
【請求項１５】
前記第１のネットワークは、信号開始元のセルが、前記セルのうちのアドレス選択されたセルと、信号伝達パスとのシーケンスにより、以下「ターゲットセル」と呼ばれる、前記複数のセルのうちの他の任意のセルにデータコードを転送することを可能にし、
前記ターゲットセルへのルートに沿った前記シーケンス内の各セルは、前記データコードと共に送信されるセル選択アドレスコードによって切り替え可能に順序付けられる、
請求項１から１４のいずれか１項に記載のコネクティビティ。
【請求項１６】
信号伝達チェーンのパスの軌跡は、本明細書にて「空間充填曲線」と呼ばれた曲線の形を有する、
請求項１から１５のいずれか１項に記載のコネクティビティ。
【請求項１７】
信号伝達チェーンのパスの軌跡は、本明細書にて前述した特徴的なアルゴリズムに従うＨ曲線再帰シーケンスの形を有する、
請求項１から１５のいずれか１項に記載のコネクティビティ。
【請求項１８】
前記セルのアドレスは巡回コード化されたアドレスである、
請求項１から１７のいずれか１項に記載のコネクティビティ。
【請求項１９】
前記巡回コードのアドレスはグレイコード化されたアドレスである、
請求項１８に記載のコネクティビティ。
【請求項２０】
前記第１のネットワークはｋ−ａｒｙ，ｎ−ｔｏｒｕｓであり、各セルはデータ通信のためにその２ｎ個の近傍のそれぞれに接続される、
請求項１から１９のいずれか１項に記載のコネクティビティ。
【請求項２１】
ｋは２であり、各セルはデータ通信のためにそのｎ個の近傍のそれぞれに接続される、
請求項２０に記載のコネクティビティ。
【請求項２２】
共通の制御ピボットの指示の下で、第１のサブコネクティビティは、第１のネットワークの前記信号伝達パスを介して、平行移動の直進の等長写像で、前記デジタルコードのそのアレイを移動させることが可能になり、
前記デジタルコードは、段階的に同期して前記パスのシーケンスを介して転送され、前記デジタルコードの各々は、第２のセルのサブコネクティビティ内に同様のアレイとしてそれぞれ記憶される、
請求項２から２１のいずれか１項に記載のコネクティビティ。
【請求項２３】
第１のサブコネクティビティのいくつかのセルは、前記第１のサブコネクティビティの前記いくつかのセルと合同な、アドレス指定された位置のうちのそれぞれの位置に対応する第２のサブコネクティビティのいくつかのセルへのデータ伝送ルートを同時並行で取得することが可能になる、
請求項２から２２のいずれか１項に記載のコネクティビティ。
【請求項２４】
前記第１および第２のサブコネクティビティは、同時並行データ伝送のために鏡像関係で配置され、接続される、
請求項２３に記載のコネクティビティ。
【請求項２５】
システムクロックは、交互の半サイクルで動作可能であり、まず、一方の半クロックサイクルで前記複数のセルの半分をアクティブにして、前記複数のセルの残りの半分に属する近傍と通信し、次いで、他方の半クロックサイクルで前記残りの半分のセルをアクティブにして通信するように動作可能である、
請求項１から２４のいずれか１項に記載のコネクティビティ。
【請求項２６】
前記システムクロックは、一方の半クロックサイクルで、全ての奇数アドレスのセルをアクティブにして、偶数アドレスを有する近傍と通信し、次いで、他方の半クロックサイクルで、偶数アドレスを有する前記近傍をアクティブにして、奇数アドレスを有する近傍と通信する、
請求項２５に記載のコネクティビティ。
【請求項２７】
共通の命令に応答して、サブコネクティビティにおいて一方の半クロックサイクルでアクティブな各セルは、それらの前記多数の近傍のそれぞれを所定の順次的な順序で選択し、信号を送るための手段を有する、
請求項２５または２６に記載のコネクティビティ。
【請求項２８】
いくつかのユーザインターフェース回路と、切り替え可能に選択可能な切り替えノードおよび信号伝達パスの多重化ネットワークとを含み、
各マルチプレクサノードは、以下「ダイバータ」と呼ばれ、
前記ダイバータによって、前記いくつかの前記ユーザインターフェース回路の一部は、同時並行でそれぞれ、双方向の信号伝送のために、ピボットのうちの対応するユーザ指定のピボットへの信号伝達ルートを選択することが可能になる、
請求項２から２７のいずれか１項に記載のコネクティビティ。
【請求項２９】
各ユーザインターフェース回路は、各ダイバータをある順序で切り替え可能に選択するように動作可能な手段を有し、
各ダイバータは、前記信号伝達ルートの部分ルートを選択するように構成され、
前記信号伝達ルートは、少なくとも１つのダイバータを介して段階的に形成され、信号伝達用にラッチ解除される、
請求項２８に記載のコネクティビティ。
【請求項３０】
ユーザインターフェース回路は、少なくとも探索状態を含む多数の動作状態を有し、探索状態にある場合、前記ユーザインターフェース回路は、探索信号を前記多重化ネットワーク内に送信し、
各前記ダイバータは、前記探索信号と、フリー状態のピボットからのフリー状態信号の存在との両方に応答して、双方向の部分ルートを選択するように構成される、
請求項２９に記載のコネクティビティ。
【請求項３１】
ダイバータは、フリー状態の所定のスコープのピボットへの部分ルートを、前記ユーザ指定のスコープを表す前記ユーザインターフェース回路からの探索信号と、前記ピボットからのフリー状態信号との両方に従って選択するための手段を有する、
請求項３０に記載のコネクティビティ。
【請求項３２】
前記ユーザインターフェース回路は、前記多重化ネットワークと共に、フリー状態の前記ピボットが探索中に別の方法で取得済みになり、そのフリー状態から切り替わった場合に、前記探索の信号伝達ルートを同様のスコープのフリー状態のピボットにリダイレクトするように動作可能なリダイレクト手段を有する、
請求項３１に記載のコネクティビティ。
【請求項３３】
そのようなフリー状態のピボットが使用可能でない場合、ユーザインターフェースは、前記探索状態を一時的に保留する切り替え手段を有する、
請求項３２に記載のコネクティビティ。
【請求項３４】
ユーザインターフェース回路は、呼び出し状態と、以前に取得したピボットの前記アドレスとを含み、呼び出し状態にある場合、呼び出し信号を前記多重化ネットワーク内に送信するための手段を有し、
前記呼び出し信号は、前記ユーザ指定のピボットの前記アドレスに応じて、ダイバータのシーケンスを介して方向切り替え器を設定することにより、前記部分ルートを進行する、
請求項３０から３３のいずれか１項に記載のコネクティビティ。
【請求項３５】
さらなるセルインターフェース回路を介して切り替え可能に選択可能な、双方向信号伝達パスの第２のネットワークと、信号指向ノード切り替え回路とを含み、
前記信号指向ノード切り替え回路は、前記複数のセルのペア間の相互接続を可能にすることにより、呼び出し状態の第１のセルが、第２のセルとの通信を、前記第２のセルの宛先アドレスに順番に対応するルートをたどる、ノード回路のうちの選択可能なノード回路のシーケンスを介して行う手段を有し、
結果的に得られる前記パスの前記シーケンスは、前記第１のセルから隣接ノードを介して段階的に順序付けられ、
各ノードは、セル間の双方向データ伝送のために、前記ノードおよびそれに隣接する信号パスをラッチ解除する手段を有し、
ネットワークは、前記ネットワークを通る複数のそのようなルートが共存可能となるように構成される、
請求項１から３４のいずれか１項に記載のコネクティビティ。
【請求項３６】
前記第２のネットワークは、双方向信号伝達パスの少なくとも１つのラベル付きツリーと、階層的に配置されたラベル付きの信号指向ノードとを含み、
各前記ツリーは、そのリーフレベルで全単射で、複数の範囲内リーフパスを前記複数のセルに接続し、
前記第１のセルは、前記第２のセルの範囲内ツリーノードの前記階層的に順序付けられたラベルコードに一致する宛先アドレスコーディングに従って、ラベル付きノードのシーケンスおよび範囲内リーフパスを介して、前記第２のセルに通信用に切り替え可能に接続する手段を有し、
アドレスで選択されたパスのチェーンと、前記チェーンに沿ったセルアドレスのシーケンスにより、少なくとも１つの前記ツリーの各前記リーフパスは、対応してコード化されたアドレスを保有する対応するセルに接続する、
請求項３５に記載のコネクティビティ。
【請求項３７】
前記複数のセルのそれぞれは、ツリー探索状態を有し、ツリー探索状態にある場合、信号指向ノードのシーケンスを選択するように切り替え可能な探索信号を前記第２のネットワーク内に送信するように動作可能な通信開始手段を有し、
各信号指向ノードは、前記探索信号と、不使用のセルから前記第２のネットワークを介して供給されるフリー状態信号の存在との両方に応答してパスを選択し、前記第２のネットワークを介した信号伝達のためにパスをラッチ解除する切り替え手段を有し、前記ノードおよび信号は組み合わさって、ツリー探索状態のセルから不使用のセルへの完全なルートを形成するように構成され、
そのような完全な各ルートは、前記セルのそれぞれのペアを相互接続し、前記セルのペア間のデジタルコードの交換を可能にする、
請求項３５または３６に記載のコネクティビティ。
【請求項３８】
各前記信号指向ノードは、前記双方向信号伝達パスのうちの３つの間に接合点を形成して、前記ノードを通る６つの単方向パスを提供する３分割切り替え器であり、
上側パスは、ツリーの根に向けられ、
左右の横方向パスは、それぞれ範囲内リーフパスに向けられ、
前記セルからのフリー状態信号は、前記２つの横方向パスを通って前記上側パスに向かって流れ、探索信号がフリー状態信号に遭遇することを可能にして、前記探索信号を不使用のセルへ切り替え可能に差し向け、さらに、２つの呼び出し信号が同時並行で前記ノードを通過することを可能にする、
請求項３６または３７に記載のコネクティビティ。
【請求項３９】
呼び出し状態のセルは、信号伝達チェーンに沿ったピボットの位置に応じて、前記ノードの前記順序付けから構成されるアドレスを有する指定されたスコープのピボットを、信号伝達のために信号指向ノードを介して取得する手段を有する、
請求項３５から３８のいずれか１項に記載のコネクティビティ。
【請求項４０】
第２のネットワークは、いくつかのラベル付きツリーを含み、
各ラベル付きツリーは、そのリーフレベルで全単射で、前記複数の範囲内リーフパスを前記同様の複数のセルに接続し、
任意の範囲内呼び出し元セルは、同時並行の信号伝達のために、いくつかのターゲットセルに切り替え可能に接続可能となる、
請求項３６に記載のコネクティビティ。
【請求項４１】
いくつかのそのようなラベル付きツリーの一部は、各々がそれぞれのセルに、互いに横方向に変位して接続され、
各セルは、前記変位した２分木構成のそれぞれにおいて異なるリーフ位置を占有する、
請求項４０に記載のコネクティビティ。
【請求項４２】
いくつかのそのようなラベル付きツリーの一部は、各々がそれぞれのセルに、互いに回転的に変位するように接続され、
各セルは、前記変位した２分木構成のそれぞれにおいて異なるリーフ位置を占有する、
請求項４０または４１に記載のコネクティビティ。
【請求項４３】
計算コミュニティとして相互通信するための手段を有するいくつかのセルは、ユーザからのデジタルコード化された関数式の記憶および計算を可能にし、
各セルは、少なくとも、関数式を集約するためのルールに従って命令のシーケンスを計算するための、論理および演算処理回路を有し、
前記シーケンスは、前記関数式の計算可能な関数と、前記計算コミュニティ内のセルのうちのさらなるセルの呼び出しアドレスとの両方の評価を可能にし、
前記さらなるセルのそれぞれは、同様にさらなる関数式を計算して、前記デジタルコード化された関数式の前記集約において適用される関数引数の形で結果を返す、
請求項３５から４２のいずれか１項に記載のコネクティビティ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の同時並行で動作するデジタル計算エンジンと、相互接続する信号伝達ネットワークとによって命令およびデータの並列処理を実行するための装置に関する。
【背景技術】
【０００２】
ＩＢＭ社のＢｌｕｅ  Ｇｅｎｅの高性能コンピュータ群、およびその他の多くの類似した最先端の超並列データ処理アーキテクチャなどの複合型計算システムによる複数のユーザアプリケーションの実行において、多数のデジタル計算エンジンのそれぞれは、ユーザアプリケーションの多数のサブタスクを同時に実行するために、互いにある程度の独立性を持って動作する。仮にアプリケーションおよびサブタスク自体が互いに完全に独立しているとすると、デジタル計算エンジンは多くのそのようなタスクに対して、世界中に分散している無数の単位パーソナルコンピュータで実際に発生した場合に、同時並行で作用して、全てを実質的に同じ期限内に完了することができるであろう。明らかに、これらの同じ多数のタスクを順次実行することにより、単一のそのような処理要素は、単一の選択されたタスクを前述と同じ期限の応答で完了し得るが、その他の全てのタスクは各々、自身の完了前に、単一のプロセッサの作業負荷のそれぞれの時間割り当てを、ある優先順位で必ず待たなければならない。
【０００３】
この単純な観察は、指数関数的に増加した単位コンピュータの動作速度に対する要求の原動力となっている。単一の単位計算エンジン（たとえば、Ｉｎｔｅｌ社製のマイクロプロセッサ）の理論速度（または処理能力）を高めるために、並外れて複雑な製造技術が次第に開発されてきた。しかしながら、コンピュータ製造業者によれば、基礎的な工学物理学における予測不可能なブレークスルーなしでは、単位コンピュータの動作速度の大幅なさらなる向上は現在（２００７年時点）不可能であるようである。
【０００４】
１９４３年に早くもＦｅｙｎｍａｎによる報告で示唆されたように、大半が自由に同時並行で動作可能なデジタルコンピュータのグループを相互接続することにより、時分割共有の必要性がおそらく劇的に削減され得るということが長い間示唆されてきた。しかしながら、そのような同時並行で動作するコンピュータを効果的に利用するには、理論速度（またはデータ処理能力）を超えるものが必要とされる。結果を確実に、許容可能なプロジェクト時間枠内に返すために、タスクを編成し、スケジューリングし、制御することは、これまでコンピュータ科学の主要な課題であった。単一のコンピュータで順次処理される場合であっても、タスク相互作用を編成し、スケジューリングし、制御することは、初期にまたは全体的にソフトウェア設計ミスのために失敗した多数のコンピュータプロジェクトによって証明されるように、高次の知的な難題であった。前述の遍在するパーソナルコンピュータへの言及で指摘したように、相互通信するデジタル計算エンジンをほとんどまたはまったく必要としない多くの価値のある独立した世界規模のタスクが存在するが、商業学、経済学、工学および科学において特に重要な他の多くの処理アプリケーションには、密接な相互通信を必要とするタスクの実行が含まれる。多数のタスクを同時に実行するために多数のデジタル計算エンジンが相互接続される場合、そのような同時並行タスクを編成し、スケジューリングし、制御することは、組み合わさって、歴史的なシリアルコンピュータプログラミングによる課題よりもはるかに大きな課題を提示し、現在までこの問題は、慎重に分割されたタスク間の基本的な相互通信という限られた状況を除いて、十分に解決されていない。
【０００５】
たとえば、数百万さらには数億のプリミティブなデジタル計算エンジンがタスクのために採用されれば、複数のデジタル計算エンジンの同時並行動作を使用するアプリケーションのためのコンピュータプログラミングのこの負担が平易になるであろうことは、本特許出願の提案の下での重要な推測である。これは、粗粒度のコンピュータで採用される複雑なタスク同期、データ共有、およびランデブープロトコルを必要とする、はるかに少ないがはるかに強力な個々のデジタル計算エンジンを計算機能に使用することとは区別される。多様なプリミティブなデジタル計算エンジンと、それらに関連する相互接続ネットワークとの構成は、本明細書では「コネクティビティ（ｃｏｎｎｅｃｔｉｖｉｔｙ）」と呼び、大まかに言えば、脳ニューロンの大規模ネットワークに類似したものとみなされ得、脳ニューロンは、個々の反応は鈍いが、個々に発火する全ての細胞の全体の接続性が十分であるために、集合的には迅速な、極めて複雑な応答が可能である。（パーソナルコンピュータなどの強力な汎用の単位プロセッサではなく）プリミティブなデジタル計算エンジンの使用に応じて、以下で詳述する提案するデータ処理構成は、細粒度の超並列計算のサブカテゴリに分類され、通信用のデータ伝送ルートの全体的なコネクティビティパターンによって、本発明の具現化された形式およびその能力が主に決定される。ＨｉｌｌｉｓおよびＩｎｔｅｌ社のＨｙｐｅｒｃｕｂｅを含む、超並列処理のための多くのコネクティビティが提案されており、一定の商業的な成功を収めているが、いずれかがこれまでに、全てのユーザが一緒に協調して行動することにより事前にタスクおよびアレイを選択したデジタル計算エンジンにマッピングすることなしに、複数の独立したユーザに同時に、多様なサイズのタスクおよびアレイの同時並行操作を提供したことは明らかになっていない。１つの提案されたアーキテクチャ（Ｈａｍｌｉｎ、米国特許第５，４３４，９７２号）は、複数のインターフェースから同時並行で複数のタスクの自動的な分配および制御を提供する。
【０００６】
脳活動の詳細なメカニズムは今だに不可解であるので、本発明の下で規定される類似のコネクティビティは、必然的に根本的に異なるデータ処理構成要素の相互接続を採用しなければならず、また、根本的に異なるタスク切り替えパラダイムを採用しなければならない。選択されたコネクティビティパターンおよび関連するプログラミングパラダイムは、組み合わさって、多数の独立したユーザアクセスポートを制御し、同様の多数のユーザソフトウェアタスクおよびデータアレイを分配して実行するための、計算マシンの機能の全体的な統一を定義すべきであると推定される。
【０００７】
そのうえ、最も重要なのは、ハイパフォーマンスコンピューティングマシンを定義する、結果的に得られる論理ルールにより、特に常駐アプリケーションおよびそれらの各部の間の論理的競合の回避に関して、その動作の同時並行性を編成するという知的な難題が最小限に抑えられる必要があるということである。これらの戦略的な設計ドライバ間の複雑な相互作用は、コネクティビティの論理構造における高度な一定水準の新規性を示唆しており、単位的な、さらには粗粒度の並列計算の実践からの直接的な設計の進化を確実に排除する。
【０００８】
超並列処理の大きな期待によって、この技術分野では、特許出願の主題およびその他の開示などの多くの提案があった。すなわち、たとえば、米国特許第５，４３４，９７２号は（その開示は、以下で明らかになる理由により、本特許出願の不可欠な部分を構成するとみなされるべきであり、したがって、本出願の開示と併せて読むべきである）、従来技術の提案および実装の様々な例への参照を含んでおり、その中でも本発明に最も関連し得るものは、処理エンティティの２進超立方体ネットワークが記載された、Ｗ．Ｄ．Ｈｉｌｌｉｓによる米国特許第４，５９８，４００号および第４，８１４，９７３号と、特に、Ｙａｌｅ／ＤＣＳ／ＴＲ３６８という名称で識別される文献の、１９８５年に発行され、「Ｍｕｌｔｉ−ｇｒｉｄ  Ａｌｇｏｒｉｔｈｍｓ  ａｎｄ  ｔｈｅ  Ｈｙｐｅｒｃｕｂｅ  Ｍｕｌｔｉｐｒｏｃｅｓｓｏｒ」と題された、Ｔｏｎｙ  ＣｈａｎおよびＹｏｕｓｅｆ  Ｓａａｄによる研究論文とに文書化されている。アレイ処理用のデジタル計算エンジン（グラフノード）間の通信パスを形成するリンケージ（グラフエッジ）の２進超立方体グラフは、典型的な一例では、１つの可能なプラットフォームを提供し、Ｈｉｌｌｉｓによって、ホストエグゼクティブプロセッサを有するデジタル計算エンジンの大規模アレイとしてだけでなく、場合によりこのアレイを「シックツリー（ｔｈｉｃｋ−ｔｒｅｅ）」の入力ネットワークと組み合わせる提案と共に開発されている。
【０００９】
Ｈｉｌｌｉｓのネットワークは、最も広く離間したプロセッサ間の電気的距離を短くして数千のデジタル計算エンジンを相互接続するために考案された。２進超立方体の例として、３次元は２＾３個のノードエンティティを含み、１５次元の２進超立方体は２＾１５個のノードエンティティを含み、この後者の形式は、各プロセッサに１５個の相互接続リンクを提供する。明らかに、３を超える次元では、空間次元は概念的なものになるので、通信ネットワークとしては、３空間次元で実装されなければならないが、実際には、コネクティビティの相互接続およびプロセッサノードのほとんどは、プロセッサの２次元グリッドに効果的に構造的に崩される。Ｈｉｌｌｉｓは、ネットワーク内の相対的な電気的位置を特定する目的で、整数ではなく、巡回コード化されたグレイコード化されたアドレスを処理エンティティに、役立つように付加していることに留意されたい。
【００１０】
したがって、ＨｉｌｌｉｓおよびＩｎｔｅｌ社のマシンは多数のプロセッサを組み込んでおり、物理的に近い近傍プロセッサと、遠く離れたプロセッサとの両方を惜しげもなく相互接続する。これは、特定の種類の同時並行のアレイ処理タスクを同時に相互接続する際に柔軟性を提供し、特に、いくつかの重要な行列状の操作の形式に適合するように思われる。これらの超立方体の第１の欠点は、数万個のプロセッサの実際的な上限にあり、その理由は、より高次元の超立方体ネットワークによって、多数のインターフェースが要求されるためである。ｎ次元の２進超立方体では、各プロセッサは、ｎ個の相互通信ラインへのインターフェースを組み込まなければならない。以下に示すように、重要なアプリケーションには数百万個のプロセッサが必要となるので、Ｈｉｌｌｉｓの特許開示では、利用可能なプロセッサの数を増やすために、デジタル計算エンジンのさらなるブロックを使用して、各超立方体ノードのデジタル計算エンジンを置き換え得るが、これらの追加のグループはその場合、超立方体トポロジの規則的な相互接続とは適合せず、必然的に、より不透明な混成構造と、それに伴うプログラミングの全ての困難とを生じさせることになる。基本の２進超立方体（すなわち、次数２）のアーキテクチャのトポロジ的な縮小も提案されており、それにより、超立方体が次数ｋに拡張されて、より多数のデジタル計算エンジンが、同じサイズの完全に相互接続された２進超立方体アーキテクチャで必要とされるよりも少ない数の相互接続で組み込まれるようになる。これは、次元あたりｋ個の直線状に相互接続されたプロセッサを有するｎ次元構造、すなわち、全部でｋ＾ｎ個のプロセッサを有するものに関して、ｋ−ａｒｙ  ｎ−ｃｕｂｅと呼ばれる。この場合、巡回リンクにより、ネットワーク相互接続の均質性を完成させて、ｋ−ａｒｙ  ｎ−ｔｏｒｕｓを形成すると有利である。
【００１１】
Ｈｉｌｌｉｓの超立方体の第２の欠点は、一般的な論理タスクの形状および編成をネットワークに適合させること、たとえば、非平衡決定木、同時並行の「ガベージコレクション」、ならびにアレイ処理動作自体の論理構成およびスケジューリングに対して制限があることにある。同時並行の入力および出力の提供の制御と同様に、不規則なデータ構造の複製もまた問題となり、全て、タスクをプロセッサのネットワークにマッピングするために、高度に専門化されたプログラミング技術が必要となる。これにより、超立方体エンティティのデータをスケジューリングするための超立方体のエグゼクティブコントローラとして「シックツリー」のホストプロセッサが提案されることになったが（Ｌｅｉｓｅｒｓｏｎ）、その実装の実現可能性に関しても、成功に関しても情報は得られていない。実際に、”Ｔｈｅ  Ｎｅｔｗｏｒｋ  Ａｒｃｈｉｔｅｃｔｕｒｅ  ｏｆ  ｔｈｅ  Ｃｏｎｎｅｃｔｉｏｎ  Ｍａｃｈｉｎｅ  ＣＭ−５”，Ｌｅｉｓｅｒｓｏｎ  ｅｔ．ａｌ．では、超立方体型のコネクティビティが断念されたことが示唆されている。ＩＢＭ社のＢｌｕｅ  Ｇｅｎｅシリーズも、ツリー構造を使用してプロセッサのアレイへの入力をスケジューリングしており、元々実装されていたメッシュの有用性を拡張するために５次元メッシュが提案されている。ホストプロセッサを使用してアレイプロセッサをスケジューリングし、これに入力することは、ＩＣＬ  ＤＡＰアレイプロセッサの初期の例（米国特許第３、９７９、７２８号）のように、他でもよく知られており、そのような自動計算アプリケーションでアレイ処理動作を実行する前に、タスクを効率的に事前スケジューリングすることの重要性が認識されていた。しかしながら、ＤＡＰはシングルタスクのアレイプロセッサであった。
【００１２】
この全てについて、トランザクションがマシン全体で同時並行で実行される場合、多数のデジタル計算エンジンが必ず多数の相互接続パスを必要とするということは自明のままである。そのような計算の理想的な解決策は、「全対全」の相互接続パターン（別名、「完全グラフ」）を組み込んだものであろう。一般に、ｎノードネットワークには、ｎ×（ｎ−１）／２個の双方向リンクが必要となる。したがって、１０＾６個のプロセッサには、約１０＾１２個のリンクが必要となり、各ノードには、１０＾６個のアクセスポートが必要となる。これは、プログラミングの選択肢の柔軟性のために大変望ましいが、実現不可能であると推定されるので、実際の機械化の選択では、リンク数の極端な妥協が必須であると考えられる。さらに必然的に、より制限されたネットワーク形成パスは、単純な並列プログラミングの原理をソフトウェア設計者に提供しながら、高度な同時並行アプリケーションを何らかの形でなおも満足しなければならない。
【００１３】
プログラミングの有用性および信頼性が超並列コネクティビティ内で将来まで保持される場合、自動リソースリサイクル（グローバルガベージコレクション）も不可欠と思われ、米国特許第５，４３４，９７２号のみが、ネットワークトポロジ自体を多重処理アプリケーションソフトウェアの実際の形態と調和させながら、アーキテクチャ全体にわたるプログラマ非依存の同時並行ガベージコレクションを提供している。
【００１４】
並列計算ネットワークの分野における理論研究の多くは、単一のネットワークトポロジを、考え得る全てのソフトウェアアプリケーションに適合するように一般化して、結果的に得られるマシンが、任意の特定のソフトウェアアプリケーションに対して最短の実現可能な解決時間を改善しながら、ソフトウェア設計者の目的に制限を課さないようにしたいという願望によって動機付けられている。加えて、アクセス可能な処理ノードの最小数は、避けられない商業上の妥協として強調されている。したがって、商用および理論上の超並列計算マシンはいずれも、計算されたソフトウェアスレッドが、ソフトウェア設計者に実質的に無制限のソフトウェアの自由を単独で提供する高機能なユニプロセッサノードまで波及するように促す。その場合、マシンのマクロプログラミングのスケールと、個々のノード（およびそれらのインターフェース）のマイクロプログラミングのスケールとのコーディングの間には、動作概念の矛盾が発生する。その際、市販のシリアルノードがマシンの動作の全体的な同時並行性を制限することを認識して、関連する理論研究の多くは、ローカルの並列プロセッサクラスタ（たとえば、グラフィック処理ユニット）によって個々のノードの能力をさらに高めて、マクロネットワーキングのグローバルな並列性と、ノードでのマイクロネットワーキングの並列性との間の厄介な不一致を解決することに専念している。対照的に、市販の超並列マシンは、パーソナルコンピューティングノードから直接進化しており、これは、それらのハードウェアの信頼性と、プログラマの親しみやすさとによるものである。それらの相互接続および入力／出力ネットワークは、理論的厳密性によってではなく、ヒューリスティックに進化してきた。かなり早い時期の細粒度のソフトウェアに適合したマシン、たとえば、プロトタイプＭａｇｏまたはＨａｍｌｉｎなどは避けられており、その理由は、少なくとも、それらのトポロジの応用空間が、エグゼクティブスタイルのソフトウェアに限定され、大規模な演算処理ブロックには非効率であるためである。チューリング／フォンノイマンユニプロセッサの普遍性に似た、効率的な「全てを満足させる（ａｌｌ−ｔｈｉｎｇｓ−ｔｏ−ａｌｌ−ｍｅｎ）」の超並列マシンもまだ報告されていない。実際には、並列バージョンの様々なコードのスレッドは、本来は動作時にシリアルであり得ることを認識すると、望ましいのは、シリアルに配列されたユニバーサルなチューリングマシンの並列処理バージョンである。Ｃｈｕｒｃｈのラムダ計算は、チューリングの定式化と厳密に等価なものと長い間認識されており、関数型のプログラミングスタイルに代表されるような並列動作の手法を提供する。
【００１５】
それにもかかわらず、多数のプロセッサを相互接続する方法の任意の選択に関連して、アーキテクチャ内には、処理エンティティ間に不可避的に多数の別々のデータパスが依然として存在する。これに関して、最近の専門家による製造技術は、より優れた３次元の柔軟性を提供している。たとえば、“Ｄｅｐｏｓｉｔｉｏｎ  Ｐｒｏｃｅｓｓｅｓ  ｆｏｒ  Ｃｏｍｐｅｔｉｔｉｖｅ  Ｔｈｒｏｕｇｈ  Ｓｉｌｉｃｏｎ  Ｖｉａ  Ｉｎｔｅｒｐｏｓｅｒ  ｆｏｒ  ３Ｄ”，Ｕｚｏｈ  ｅｔ  ａｌ．，ＩＷＬＰＣ，Ｎｏｖ  ２０１２には、シリコンチップから対応する基板までのピンアウト密度の大幅な増加を可能にする「スルーシリコンビア」が記載されており、細粒度の超並列マシン向けにここで検討している密なコネクティビティに貢献するための１つの手段が期待される。コネクティビティの実用範囲を改善するためのさらなる手法が、Ａｓｓｅｆａ  ｅｔ  ａｌ，“Ｒｅｉｎｖｅｎｔｉｎｇ  ｇｅｒｍａｎｉｕｍ  ａｖａｌａｎｃｈｅ  ｐｈｏｔｏｄｅｔｅｃｔｏｒ  ｆｏｒ  ｎａｎｏｐｈｏｔｏｎｉｃ  ｏｎ−ｃｈｉｐ  ｏｐｔｉｃａｌ  ｉｎｔｅｒｃｏｎｎｅｃｔｓ”，Ｎａｔｕｒｅ  ｖｏｌ  ４６４｜４  Ｍａｒｃｈ  ２０１０によって絶賛（ｅｘｔｏｌｌｅｄ）されている。この手法はデジタルＩＣ内の４０Ｇｂ／ｓのビットレートを謳っており、それにより、本来は同時並行で動作するデジタル計算エンジンの複数のペア間でのデータメッセージの共有されたシリアル化を通じて、相互接続の数を少なくとも１桁削減する。これには、共有データバスへの応用がある。これらの技術領域では、多くの提案および開発が公開されてきた。マルチタップのバスアーキテクチャの一例は、各ユーザアクセスポイントでバス空きセンサを使用して新たなメッセージ挿入の可用性を予測するイーサネット規格である。各メッセージは宛先のコーディングがタグ付けされ、これによって目的の宛先によりインターセプトすることができる。
【００１６】
真に汎用的な計算パラダイムの観点から見ると、一番の調和の欠如は、（たとえば、行列乗算での）デカルトデータアレイの空間的に局所的な算術畳み込みと、非常に予測不可能であるが空間的には自由な階層型のツリー分岐のエグゼクティブ処理構造との間にある。その緊張状態は、それぞれのソフトウェア構造を計算するそれら２つの基本的な論理的パラダイム間の形状の違いから生じる。ユニプロセッサの順次処理では、アレイ処理動作には「ｆｏｒループ」が必要であり、エグゼクティブ処理（すなわち、「意思決定」）にはツリー構造の「ｉｆ−ｔｈｅｎ−ｅｌｓｅｓ」が必要である。効率的な動作の同時並行性を得るためには、それぞれが、自身の形状に厳密に一致するデジタル計算エンジンのネットワークにマッピングされる必要がある。階層ツリーパターンのエグゼクティブソフトウェアは、プロセッサのデカルトアレイ（当然ながら、行列の形状に最も一致するもの）の各部にマッピングすることができるが、このマッピングは、実際に超立方体アーキテクチャで不利な経験をしたように、実際の不規則なエグゼクティブ制御構造には非常に非効率的である。同時処理コネクティビティ内の２つのパラダイムを最適に調和させる市販のコンピュータ設計は発表されていない。
【００１７】
該Ｈａｍｌｉｎの特許では、データ処理セルの複数ツリーコネクティビティを含むが、Ｍａｇｏタイプとは大きく異なり、「シックツリー」の実装、たとえばＬｅｉｓｅｒｓｏｎによってＨｉｌｌｉｓアーキテクチャ用に共有されたものなどとも大きく異なるデータ処理コネクティビティがとりわけ検討されている。Ｈａｍｌｉｎパターンは、ＭｅａｄおよびＣｏｎｗａｙ（Ａｄｄｉｓｏｎ−Ｗｅｓｌｅｙ、１９７９）によって最初に公開された原則に従って、デカルト平面形式でレイアウトされた階層的で規則的なツリートポロジ処理構造に従うが、効率的なアレイプロセッサとして接続されていない。
【００１８】
全てのデジタルコンピュータは、命令シーケンスおよびデータのための大量のメモリ位置を組み込んでおり、これらの位置はそれぞれ一義的なアドレス指定を有する。これらの命令は、メモリ全体にわたるポインタとして機能する関連付けられたアドレスフィールドによって、互いに関連付けられ、メモリは通常、整数アドレスを有する位置の「列」として様式化されている。計算エンジンの中央処理装置は、メモリ位置に加えて、様々なポートとインターフェースをとり、それらもまた、中央処理装置がアクセス可能なアドレスで識別される。中央処理装置は、（通常は「Ｃ」およびＬｉｓｐなどの高水準言語のコンパイラによって構成される）様々なアドレスに切り替えられるルートを選択および制御する「マイクロコード化」論理回路において、それぞれが固有のコードで識別されるユーザ命令を解釈および計算する能力を有する。マイクロコーディングは、中央処理装置のハードワイヤード切り替えに具現化されていることを除いて、小規模なソフトウェアアプリケーションに類似した属性を有する。これは、全てのユーザが利用できるようになされた命令およびその形式を定義するが、意図的に柔軟性がなく、通常はユーザによって変更することはできない。超並列マシンは、多数のユニプロセッサのデジタル計算エンジンを有し、これらは、信号のソースおよびターゲットに関連付けられたネットワークポートを一意に識別する専用の、さらに他のアドレス指定方式にアクセスして制御する専門化されたマイクロコード化命令を使用して、相互に信号を送り、また、ユーザとの間で信号を送る。それらのネットワークポートアドレス指定方式の命令およびアドレス指定メッセージは、各単一のユニプロセッサのデジタル計算エンジンにおけるメモリ位置のものに似ているが、区別される。
【００１９】
多次元アレイのデータプロセッサ間のヒルベルト空間充填再帰曲線を表す信号伝達アドレスの構成は、Ｌａｗｄｅｒによって論じられており（“Ｃａｌｃｕｌａｔｉｏｎ  ｏｆ  Ｍａｐｐｉｎｇｓ  ｂｅｔｗｅｅｎ  ｏｎｅ  ａｎｄ  ｎ−Ｄｉｍｅｎｓｉｏｎａｌ  Ｖａｌｕｅｓ  Ｕｓｉｎｇ  ｔｈｅ  Ｈｉｌｂｅｒｔ  Ｓｐａｃｅ−Ｆｉｌｌｉｎｇ  Ｃｕｒｖｅ”；Ｒｅｓ．Ｒｐｔ．ＪＬ１／００，Ｂｉｒｋｂｅｃｋ  Ｃｏｌｌｅｇｅ，２０００）、Ｌａｗｄｅｒは、Ｂｕｔｚにより“Ｓｐａｃｅ  Ｆｉｌｌｉｎｇ  Ｃｕｒｖｅｓ  ａｎｄ  Ｍａｔｈｅｍａｔｉｃａｌ  Ｐｒｏｇｒａｍｍｉｎｇ”，Ｉｎｆｏｒｍａｔｉｏｎ  ａｎｄ  Ｃｏｎｔｒｏｌ，Ｖｏｌ．  １２，１９６８にて導出されたヒルベルト曲線アルゴリズムに従うデータベースアドレスの順次的な順序付けを組み込んでいる。これには、アレイ内のデータの再帰的な空間的局所性が編成されるという望ましい効果がある。その他の（いわゆる）「空間充填曲線」は、ルベーグ（「Ｚ」曲線）と、ムーア（ヒルベルト曲線の変形）とによって論じられており、これらは空間構造においても再帰的である。いくつかの再帰曲線の正式な定義は、Ｍ．Ｂａｄｅｒ，”Ｓｐａｃｅ−Ｆｉｌｌｉｎｇ  Ｃｕｒｖｅｓ”，Ｓｐｒｉｎｇｅｒ−Ｖｅｒｌａｇ  ２０１３に与えられている
【００２０】
Ｂｕｔｚはグレイコードと整数との等価性を使用してアルゴリズムの各部を簡素化しており、Ｈｉｌｌｉｓは超立方体プロセッサノードのアドレス指定のためのグレイコードを明らかにしており、どちらの場合も、その理由は、ｎ次元デカルト座標におけるすぐ隣のノードのデジタルコード化されたアドレスが、単一のビットを切り替えることでリンクされるためである。グレイコードによる算術は、Ｌｕｃａｌ（“Ａｒｉｔｈｍｅｔｉｃ  Ｏｐｅｒａｔｉｏｎｓ  ｆｏｒ  Ｄｉｇｉｔａｌ  Ｃｏｍｐｕｔｅｒｓ  Ｕｓｉｎｇ  ａ  Ｍｏｄｉｆｉｅｄ  Ｒｅｆｌｅｃｔｅｄ  Ｂｉｎａｒｙ  Ｃｏｄｅ”，ＩＥＥＥ，Ｄｅｃ  １９５９）によって説明されており、従来の２進算術よりもわずかにしか入り組んでおらず、“Ｔｈｅ  Ｇｒａｙ  Ｃｏｄｅ”，Ｄｏｒａｎ，ＣＤＭＴＣＳ−３０４，Ｍａｒｃｈ  ２００７にさらなる説明が与えられている。
【発明の概要】
【００２１】
本発明の第１の主要な態様によれば、データ処理コネクティビティであって、
信号伝達パスの第１の通信ネットワークによって相互接続される複数のアドレス保有デジタル計算セルであって、第１の通信ネットワークにおいて、
各デジタル計算セルは、切り替え可能に選択可能な双方向データ通信のために、多数の信号隣接近傍のデジタル計算エンジンに、同様の多数の信号伝達パスを介して接続される、
複数のアドレス保有デジタル計算セルと、
再帰アルゴリズムに従って規定され、該複数のセルに全単射でマッピングされる、該複数個のパス選択コードの少なくとも１つのセットであって、各コードは、場合により末端のセルを除いて、対応するセルに指示して、単方向信号伝送のためにコード選択されたパスのチェーンに沿った次の近傍セルへの該パスを選択させるように構成され、そのチェーンは、該セルのそれぞれを１回だけ通過して、その長さに沿って階層的な入れ子のセグメントを再帰的に区切り、該入れ子のセグメントのそれぞれに沿ってクラスタ化された、対応して区切られたコネクティビティを記述する、該複数個のパス選択コードの少なくとも１つのセットと
を有し、
いくつかの該コネクティビティのそれぞれは、対応するユーザからのデジタルコードのアレイに対して同時並行のアレイ処理を実行するように動作可能な、自律的に動作する通信および処理手段を有する、
データ処理コネクティビティ、が提供される。
【００２２】
本発明の第２の主要な態様によれば、いくつかの該サブコネクティビティを有するデータ処理コネクティビティであって、各サブコネクティビティは、「ピボット」と呼ばれる制御用のデジタル処理セルを有し、ピボットは、その所定のサブコネクティビティの位置およびサイズに対応する制御のスコープを有し、各ピボットは、対応するユーザとの信号通信を有し、ピボットおよび対応するセルのセグメントは組み合わさって、該ユーザから対応する所定のサブコネクティビティのセルにデータを転送する手段を有する、データ処理コネクティビティ、が提供される。
【００２３】
本発明の第３の主要な態様によれば、双方向信号伝達パスの第２のネットワークと、信号指向ノードとを有し、信号指向ノードは、該複数のセルのペア間の相互接続を可能にすることによって、第１のセルが、第２のセルとの通信を、該第２のセルの宛先アドレスに順番に対応する選択可能な該ノードのシーケンスを介して行う手段を有するようにし、結果的に得られる該パスのシーケンスは、該第１のセルから隣接ノードを介して段階的に順序付けられ、各ノードは、セル間の双方向データ伝送のために、そのノードおよび隣接する信号パスをラッチする手段を有し、ネットワークは、そのネットワークを通る複数のそのようなルートが共存可能となるように構成される、データ処理コネクティビティ、が提供される。
【００２４】
本発明のさらなる態様によれば、そのようなピボットの階層であって、広いスコープを有するピボットが、より狭いスコープを有するピボットに対して裁量的制御を有し、それぞれのセルがそれらの制御下にあるような、そのようなピボットの階層が提供される。
【００２５】
本発明の他の態様によれば、該同時並行のアレイ処理動作は、第１のサブコネクティビティからデータのアレイの各メンバーを、段階的に同期して該信号伝達パスのネットワークを介して移動させて、該第２のセルのサブコネクティビティ内に同様のアレイとしてそれぞれ記憶されるようにする手段を含む。
【００２６】
本発明のさらに他の態様によれば、計算コミュニティとして相互通信するための手段を有するいくつかのセルは、ユーザからのデジタルコード化された関数式の記憶および計算を可能にし、各セルは、少なくとも、関数式を集約（ｒｅｄｕｃｅ）するためのルールに従って命令のシーケンスを計算するための、論理および演算処理回路を有し、該シーケンスは、該関数式の計算可能な関数と、計算コミュニティ内のセルのうちのさらなるセルの呼び出しアドレスとの両方の評価を可能にし、該さらなるセルのそれぞれは、さらなる関数式を計算して、該デジタルコード化された関数式の集約において適用される関数引数の形で結果を返す。
【００２７】
以下、本明細書に記載されているとみなされる特許請求の範囲の請求項を参照して、必要に応じて変更を加えて、本発明の前述および他の特徴を説明する。
【００２８】
以下、添付図面を参照して本発明の実施形態を説明する。
【図面の簡単な説明】
【００２９】
【図１】本発明の一実施形態を概略的に表すブロック図であって、ユーザ端末へのインターフェースを有し、多数のデジタル計算エンジンを備えるデジタル処理装置を示すブロック図である。
【図２】デジタル計算エンジンを多数の信号伝送ネットワークにより相互通信するものとして表す、本発明の一実施形態をより詳細に示す概略ブロック図である。
【図３】ヒルベルト空間充填曲線に近似する、デジタル計算エンジンを通る再帰曲線をたどる、図２の一実施形態で具現化される信号伝達ルートの概略図である。
【図４】デジタル計算エンジンを通る第２の形態の再帰曲線を示す信号伝達ルートの概略図である。
【図５】図２の一実施形態におけるデジタル計算エンジンのセグメントに分配され、これらを共有する３人のユーザからの３つの典型的なソフトウェアアプリケーションを概念的に表す概略図である。
【図６】本発明の一実施形態の一部の概略図であって、２つの異なるが相補的な信号伝達ネットワークと、それらのネットワークのうちの一方の一部を形成する再帰曲線リンクとによって相互接続されたデジタル計算エンジン回路を示す図である。
【図７】相補的なネットワークのうちの一方の一部によって相互接続されたデジタル計算エンジンの概略図である。
【図８】ユーザとデジタル計算エンジンとの間の切り替え可能な信号伝達ルートを表すネットワークパスおよび切り替えノードの概略図である。
【図９】図８のネットワークパスおよび切り替えノードを２次元アレイに拡張したさらなる概略図である。
【図１０】図８の典型的な切り替えノードの要素部分の概略ブロック図である。
【図１１】図８の典型的な切り替えノードの第２の要素部分の概略ブロック図である。
【図１２】図８の典型的な第２レベルの切り替えノードの概略図である。
【図１３】図８の典型的な第３レベルの切り替えノードの概略図である。
【図１４】デジタル計算エンジン間の相互接続の概念的な４次元超立方体の概略図であって、再帰曲線を示す図である。
【図１５】２次元ネットワークとしてレイアウトされた、図１４の同じ概念的な４次元の相互接続の概略図であって、同じ再帰曲線を「Ｈ」曲線として示す図である。
【図１６】ｋ−ａｒｙ，ｎ−ｃｕｂｅの相互接続および再帰曲線の概略図であって、「ｋ」は４、「ｎ」は３であり、ｋ−ａｒｙ，ｎ−ｔｏｒｕｓを形成する典型的な巡回リンクを併せて示す図である。
【図１７】デジタル計算エンジンのアドレス指定の一形態を示す、図３の詳細な図である。
【図１８】デジタル計算エンジンのアドレス指定のさらなる形態を示す、図４の詳細な図である。
【図１９】デジタル計算エンジン用のコンパクトな階層アドレス指定方式を示す、図１５を８次元再帰Ｈ曲線に拡張した図である。
【図２０】一部の超立方体接続を示す、図１５のネットワークの第２の視図である。
【図２１】グレイコード形式のｋ−ａｒｙ  ｎ−ｃｕｂｅのデカルトのデジタル計算エンジンアドレス指定座標からＨ曲線の直線状座標を導出する変換アルゴリズムのリストである。
【図２２】２軸グレイコード化２進シーケンスとの関係を示す、コンパクトな階層型アドレスインデックス方式の図である。
【図２３】グレイコード化２進シーケンスとの関係を示す、１０次元超立方体の単一行および単一列のデジタル計算エンジン間の階層的リンケージの図である。
【図２４】デカルトコネクティビティにおけるさらなるリンケージの概略図である。
【図２５】中間のデジタル計算エンジン間の超立方体リンクによって形成される２つのデジタル計算エンジン間の例示的な通信ルートを有する図１９の複製図である。
【図２６】デジタル計算エンジンのクラスタ間の階層的なバシング（ｂｕｓｉｎｇ）構成の概略図である。
【図２７】相互接続リンクおよび相互接続インターフェースを有する、図２の一実施形態におけるデジタル計算エンジンのデカルト構成の概略ブロック図である。
【図２８】デジタル計算エンジンの大きな平面アレイに記憶されるデータの概念的な平面と、異なるスコープのサブアレイに対する権限を有するピボット間の通信パスとの概略図である。
【図２９】図２の一実施形態のピボットとデジタル計算エンジンのグループとの間のブロードキャスト相互通信ネットワークの概略図である。
【図３０】ピボットおよびそれらに関連付けられたデジタル計算エンジンのグループの間のブロードキャスト相互通信ネットワークと、ピボット間の相互接続とのさらなる概略図である。
【図３１】デジタル計算エンジンの構成要素のアレイを制御する高権限ピボットの一部に対するインターフェースの一部を概略的に示すブロック図である。
【図３２】自身のグループのデジタル計算エンジンを制御する最低権限のピボットの一部に対するインターフェースの一部を概略的に示すブロック図である。
【図３３】共有されたデジタル計算エンジンにおけるアレイの概念的な選択を制御する、相互に関係するピボットの構成を概略的に示すブロック図である。
【図３４】「反転Ｚ」再帰曲線を示す図である。
【図３５】「行優先」行列の要素を、反転Ｚ曲線を介して、Ｈ曲線順のプロセッサにトレースすることを示す図である。
【図３６】垂直軸、次いで水平軸の、超立方体リンクを介した行列の要素に対するＳＷＡＰ操作の一例を示す図である。
【図３７】垂直軸の全てのプロセッサ、次いで水平軸の全てのプロセッサの超立方体リンクを介した行列の要素に対する行列加算操作の一例を示す図である。
【図３８】入れ子の反転Ｚ字形で表される行優先行列と、等価な「Ｈ」字形と間の第１レベルの要素スワップ変換を示す図である。
【図３９】行優先行列と、等価な「Ｈ」字形との間の第２および第３レベルの要素スワップ変換を示す図である。
【図４０】要素スワップ変換によるＨ字順の行列の転置の一例を示す図である。
【図４１】要素スワップ変換によるＨ字順の行列の転置の第２の例を示す図である。
【図４２】プロセッサのインデックス付けがコンパクトな階層的アドレス指定方式で与えられる、Ｈ字順の行列の転置の第３の例を示す図である。
【図４３】セルのコミュニティにおいてその場で（ｉｎ  ｓｉｔｕ）行列を転置するための計算手順を示す図である。
【図４４】セルのコミュニティにおいて保存された行列のコピーを転置するための計算手順を示す図である。
【図４５】従来の行優先形式の２つの行列の乗算と、結果もＨ曲線形式となるＨ曲線形式の２つの行列の乗算との関係を示す図である。
【図４６】乗算結果もＨ曲線形式となるような、２つのＨ字順行列のそれぞれのスワップ順序を示す図である。
【図４７】文字列アレイへのＳＯＲＴ操作のための要素操作の一例を示す図である。
【図４８】アービトレータおよびセレクタ構成要素を有する回転対称形の要素的な３切り替えノードの第２の概略ブロック図である。
【図４９】追加のフリースペースリンクを有する３切り替えノードの第２の概略ブロック図である。
【図５０】取得、アドレス、確認応答、およびフリースペースライン接続を示す、要素的な３切り替えノードの第３の概略ブロック図である。
【図５１】上りルートにおけるノードローカルフリースペース取得モードの論理切り替え方式を示す図である。
【図５２】分岐交差ノードにおけるノードローカルフリースペース取得モードの論理切り替え方式を示す図である。
【図５３】下りルートにおけるノードローカルおよびリモートフリースペース取得モードの論理切り替え方式を示す図である。
【図５４】上りルートにおけるノードリモートフリースペース取得モードの論理切り替え方式を示す図である。
【図５５】分岐交差ノードにおけるノードリモートフリースペース取得モードの論理切り替え方式を示す図である。
【図５６】上りルートにおけるノード通常取得モードの論理切り替え方式を示す図である。
【図５７】分岐交差ノードにおけるノード通常取得モードの論理切り替え方式を示す図である。
【図５８】下りルートにおけるノード通常取得モードの論理切り替え方式を示す図である。
【図５９】ノードアービタの回路図である。
【図６０】ノードセレクタの回路図である。
【発明を実施するための形態】
【００３０】
全てが本発明による、特定のデジタル処理コネクティビティの顕著な特徴およびそれらの使用法の、図面を参照した好ましい実施形態の詳細な説明
【００３１】
図１に、本発明を具現化するデジタルデータ処理装置１０をブロック図形式で示す。本明細書では装置１０を「コネクティビティ」と呼ぶ。「コネクティビティ」は、本発明の説明の目的で、多数の同時並行で動作するセル状回路であって、それぞれが、所定の構成の切り替え可能な信号伝送パスへの対応するインターフェースを介して相互接続され、併せて、多数の準拠したメッセージが、少なくとも該セル状回路のペアの間で、同様の多数の切り替え可能に開放される伝送パスを介して同時並行で伝送され、パスは、該セル状回路内の信号伝達シーケンスに応答して選択可能である、セル状回路として解釈されるべきである。したがって、コネクティビティ１０は、デジタル計算エンジンのクラスタ間でデータ要素のアレイを同時並行で送信するようにとりわけ構成される、本明細書で「再帰型コネクティビティ」と呼ぶ、第１のサブコネクティビティ１２によって相互接続されたアドレス指定されるデジタル計算エンジン１１の形態の多数のセル状回路を少なくとも有する。デジタル計算エンジン１１のほとんどは、「標準」デジタル計算エンジン１３である。本明細書で「ピボット」デジタル計算エンジンと呼ぶものは、追加の構造および回路を有する。再帰型コネクティビティ１２は、デジタル計算エンジンのペア間で、命令、アドレス、およびデータを含むデジタルメッセージストリームのルーティングを実行するようにとりわけ構成される多数の同時並行で動作する信号伝達手段を有する。デジタル計算エンジンは、大きく異なる構成の信号伝送パスおよび切り替えノードの第２のサブコネクティビティ１５内に相互接続をさらに有し、これは本明細書では「管理用コネクティビティ」と呼び、多数のユーザインターフェース１６からデジタル計算エンジンのうちの切り替え可能に選択可能なものに、複数の処理アプリケーションを自動的に同時並行で分配し、制御するように構成される。
【００３２】
管理用コネクティビティ１５は、該デジタルメッセージストリームを内部に記憶して処理するための手段によって、複数のユーザアクセスインターフェース１７に別々に応答する手段を有する。各ポート１７は、双方向データ信号伝達ルート１８を介してユーザから受信した、外部で生成されたユーザアプリケーションを受信、記憶および送信し、処理したデータストリームをユーザに送り返すように構成される信号切り替えおよび処理手段を有する。
【００３３】
本明細書では、「独立した」および「同時の」という記述は、同時に動作可能なデバイスに適用される場合、「信号伝達ルートの時間遅延競合がほとんどないもの」と解釈されるべきである。「双方向信号伝達パス」および「双方向信号伝達ルート」は、「２つの回路間で信号を双方向に、必ずしも同時にではないが、伝送可能にする手段」と解釈されるべきである。
【００３４】
デジタル計算エンジン１１は、管理用コネクティビティ内で生成された管理用処理タスクからの、およびユーザポート１７からの命令およびデータに様々に応じた主にアレイ処理動作用に適合されたデータ伝送ルートの通信ネットワークによって、再帰型コネクティビティ１２において相互接続される。
【００３５】
各デジタル計算エンジンは、論理データおよび算術データを記憶および操作し、データストアアドレスにアクセスし、該デジタル計算エンジン自体の位置アドレスを操作して、各ユーザのアプリケーションプログラムの指示に従って、デジタル計算エンジン間で選択可能なメッセージの送信を行う手段を有する。各デジタル計算エンジンは、切り替え可能に選択可能な信号通信インターフェースポートと、命令デコーダおよびメモリを有する少なくとも１つの中央処理装置とを使用した、デジタル計算の実践に典型的な回路機能を有する。命令デコーダは、一般に「プリミティブ」として知られているマイクロコードのセットのいずれか１つを解釈する手段を有し、該マイクロコードに従う算術、論理、記憶、および信号伝達動作のうちの対応するものにおいて、各デジタル計算エンジン内の中央処理装置に指示するように構成される回路を含む。デジタル処理の実践では一般的であるように、該ストア手段は、中央処理装置がユーザプログラムに従ってアクセスする内部の所定のストレージアドレスを有する。加えて、全てのデジタル計算エンジンは所定の一意の位置アドレスを有し、これらの位置アドレスは、ユーザプログラムの要求に応じて、コネクティビティの切り替え回路と共に、各デジタル計算エンジンが他の任意のデジタル計算エンジンを呼び出して、これにメッセージを差し向けることを可能にする。
【００３６】
より詳細には、図２に、多数のデジタル計算エンジン１１との接続を含むように、管理用コネクティビティ１５を示す。各デジタル計算エンジンは複数のインターフェースポートを有し、それぞれ、他のデジタル計算エンジンによる取得に応答するための手段と、他のデジタル計算エンジンからメッセージおよび位置アドレスを受信するための手段と、メッセージおよび位置アドレスの両方に対して算術演算および論理演算を実行するための手段と、再帰型コネクティビティおよび管理用コネクティビティを介してアドレス指定手段により他のデジタル計算エンジンを取得し、これらと通信するための手段とを有する。各ピボットデジタル計算エンジンは、少なくとも追加の、デジタル計算エンジンのグループにそれぞれ制御命令を送信することを可能とする手段と、少なくとも１つのポート１７による取得に応答することを可能とする手段と、ユーザのデータストリームを受信および処理することを可能とする手段と、管理用コネクティビティ１５の選択可能なデータ伝送ルートを介してデータストリームをユーザに送り返すことを可能とする手段と、を有する標準デジタル計算エンジンとして区別される。本明細書では、「リンク」は、ロジックドライバと受信機との間の信号の単一の導体を表すために使用され、「パス」は、２つの回路間でデジタルメッセージを運ぶことが可能な少なくとも１つのリンクを表すために使用され、「ルート」は、信号伝達のために開放された接続されたパスのシーケンスを介した、送信側信号ソースとその目的の信号受信機との間の完全な相互接続を表すために使用される。
【００３７】
コネクティビティおよびそのユーザアクセスの論理制御のための管理用コネクティビティ１５の主な用途と、データアレイの操作のための再帰型コネクティビティ１２の主な用途とを考慮すると、説明の目的で、本発明の１つの好ましい実施形態では、各デジタル計算エンジンは、典型的にはペア１９および２０、ならびにペア２１および２２として示す２つの部分回路を含むと有利である。第１の部分回路１９および２１は、１つの該プリミティブのセットを使用して管理用コネクティビティとインターフェースするように構成され、第２の部分回路２０および２２は、第１の部分回路を補い、これらと通信し、第２の該プリミティブのセットを有し、再帰型コネクティビティとインターフェースする。管理用コネクティビティ１５に関連付けられた各デジタル計算エンジンの部分回路１９は、以降「標準」処理セルと呼び、管理用コネクティビティ１５に関連付けられた各デジタル計算エンジンの部分回路２１は、より複雑な構造および回路を有し、以降「特別」処理セルと呼ぶ。これらは、機能的に適切な管理用コネクティビティ２３によってそれらの間で相互接続され、後ほど詳述する形態の、本明細書で「端末コネクティビティ」と呼ぶコネクティビティ２４によってユーザポート１７にも相互接続される。処理セルとのインターフェースを含むサブコネクティビティ２３は、関数型プログラミングコードなどの宣言スタイルのソフトウェア構造に適合された機能を含むことが望ましいので、以降「宣言型コネクティビティ」と呼ぶ。ユーザおよびデジタル計算エンジンとのインターフェースを含む端末コネクティビティ２４は、少なくともメッセージのストリームを含む各ユーザアプリケーションを選択し、該アプリケーションに適した特性を有するデジタル計算エンジンに差し向ける手段を有する。
【００３８】
各標準デジタル計算エンジンは、再帰型コネクティビティ１２に関連付けられた部分回路２０を有し、以降標準「計算セル」と呼ぶ。同様に、各ピボットデジタル計算エンジンは、再帰型コネクティビティ１２に関連付けられた部分回路２２を有し、以降「ピボット」計算セルと呼ぶ。これらは、後ほど詳述する形態の、機能的に適切なコネクティビティ２５を介した、それらの間のさらなる相互接続を有する。処理およびインターフェース回路２０および２２を介した計算セルとのインターフェースを含む２５は、以降「セグメントコネクティビティ」と呼び、その理由は、２０および２２の処理プリミティブおよびインターフェース、ならびにその通信リンクが、本明細書では「クラスタ」とも呼ぶ、入れ子のアドレス指定可能なデジタル計算エンジンのセグメントを相互接続および制御するように構成される手段を有するためである。
【００３９】
セグメントコネクティビティ２５は、切り替え可能に選択可能な双方向の信号伝達パスのネットワークであり、各々が該計算セルのペアをそれぞれリンクさせ、そのネットワーク内で、各セルは多数のインターフェース回路を有することによって、同様の多数の該パスを介して同様の多数の該セルとデジタルコードを交換することが可能になり、該多数のセルは、以降、該各セルの「近傍」と呼ぶ。
【００４０】
セグメントコネクティビティに接続されたセルと同数の多数のパス選択アドレスコードのセットは、全単射で該複数のセルに記憶され、アドレスコードによって、対応する各セルは、選択可能な該信号伝達パスの所定の再帰的に折り畳まれた（ｆｏｌｄｅｄ）信号伝達チェーンに沿った次の近傍に信号を送ることが可能になり、信号伝達チェーンは、単調なセルアドレスのシーケンスに従って、該複数のセルのそれぞれを１回だけ通過し、階層的な入れ子のサブコネクティビティをその折り畳み内で区切り、各サブコネクティビティは、該チェーンの対応して区切られたセグメントに沿ってクラスタ化される。したがって、チェーンのセグメントに沿ったセルの単調な順序付けにより、セルは、共通のセル命令に応答して、コード信号をセグメントに沿ってバケツリレー方式でシリアルに送信することが可能になる。これは、ユーザインターフェースからセルクラスタへのシリアルデータストリームのロードに適用することができ、いくつかのユーザインターフェースが同時並行で動作して、このようにしてより大きなセルのクラスタを構成するいくつかのクラスタをロードし得ることに留意されたい。セル内のパス選択アドレスコードのさらなるセットにより、反対方向の送信が可能になる。
【００４１】
再帰型コネクティビティ１２は、以降「ブロードキャストコネクティビティ」と呼ぶ、さらなるコネクティビティ２６を含み、ブロードキャストコネクティビティは、インターフェース２７および２８を介した全ての計算セル２０および２２の間の相互接続３２をデジタル計算エンジン内に有し、相互接続３２は、各ピボットデジタル計算エンジンから関連付けられた該クラスタにメッセージを配布するように構成される形態のものであって、該クラスタ内の処理を指示および調整するためのものである。
【００４２】
そして、少なくとも一部のクラスタは、部分的に、セグメントコネクティビティ２５内の該複数のパスによって、対応して記憶されたデジタルコードに対して同時並行のアレイ処理動作を実行するための処理および通信手段を有する。アレイ処理クラスタでの動作は、ピボットからの共通の命令のシーケンスによって調整される。一部のアプリケーションでは、該ピボットのうちの少なくとも一部が、対応するセグメントのメンバーセルであると有利である。
【００４３】
したがって、セル間の相互通信パスに沿って、セルのクラスタは、それらのピボットの制御下でアレイ処理の命令に従って動作し、そのような各クラスタは、他のクラスタとは独立してアレイプロセッサとして機能することが可能になる。セグメントコネクティビティ内のセグメントの入れ子の形式によって、調整される小さなクラスタのグループは、それらの間でサブコネクティビティを形成し、同様に共通の命令に応じて動作し、前述のようにより大きなアレイプロセッサを形成する。いずれの場合も、所定のアレイプロセッサは、そのアレイ専用の適切なスコープのピボットの指揮下にある。そのため、各ピボットの権限は、その制御下にあるセルのアレイの位置およびサイズによって定義され、等価に、そのセルのクラスタを形成する入れ子のセグメントの位置およびサイズによって定義される。したがって、ピボットはそのメモリ内に、本明細書ではピボットの「スコープ」と呼ぶ適切なパラメータを有する。１つの好ましい実施態様では、アドレス指定の統一性のために、ピボットがクラスタのメンバーセルであると有利であり、後続の説明ではその構成を想定する。「スコープ」とは、ユーザアプリケーション内で命令されたアレイ処理タスクを包含するのに十分な大きさの調整される計算セルのクラスタのサイズを意味する。コネクティビティの１つの好ましい実施形態では、セグメントの再帰的クラスタリングおよびアドレス指定により、各制御ピボットは、必然的にそのスコープを宣言するアドレスを、そのアドレスのデジタル符号化の一部として有する。これは、所望のサイズのサブコネクティビティを探索する際に重要である。
【００４４】
本発明の第１の好ましい実施形態では、複数の双方向通信パス２９により、端末コネクティビティ２４を通る選択可能なルートと、同様の複数の特別処理セル２１との間で命令およびデータを交換することが可能になる。したがって、管理用コネクティビティは少なくとも、該複数のインターフェース１７のそれぞれを介してユーザ端末１６から命令を受信し、指示して、ユーザの命令に応じた処理権限を有しているためにユーザのニーズに適しているピボットデジタル計算エンジン２１のそれぞれへのルートを切り替え可能に選択する手段を有する。特別セル回路２１は、関連付けられたピボット回路２２との直接リンケージを有するので、接続がなされると、何人かのユーザはそれぞれ、所定のスコープおよび権限を有するピボットに直接アクセスすることができる。端末コネクティビティ２４は、ユーザが選択したスコープを有するそのようなピボットうちの選択された１つへの制御アクセスをユーザが得ることを可能にする多重化手段を有する。
【００４５】
各ピボットデジタル計算エンジン１４は、管理用コネクティビティ１５と再帰型コネクティビティ１２との間で命令およびデータを交換する手段をさらに有し、これにより、とりわけ、そのピボット計算セルから再帰型コネクティビティ１２のうちのコネクティビティへの複数のポートを介して、各ピボットデジタル計算エンジンは、デジタル計算エンジンのクラスタ間に分配されるデータアレイおよびソフトウェアルーチンに関して実行される命令を送信する。
【００４６】
前述のように、デジタル計算エンジンの大部分は標準デジタル計算エンジン１３であるが、ピボットデジタル計算エンジン１４は、ユーザアプリケーションとインターフェースし、標準デジタル計算エンジンのグループを調整するのに適したより複雑な構成を有する。広範な応用範囲を有するコネクティビティの第１の好ましい実施形態を説明する目的で、ピボットデジタル計算エンジン２１を、それぞれが、それを制御する特別処理セルを介したユーザポート１７との接続を有するものとして説明すると好都合であり、その特別処理セルはとりわけ、必要に応じて、関連付けられたピボット計算セル２２と通信する。アレイ処理しか必要としないアプリケーションの場合、第２の好ましい実施形態では、宣言型コネクティビティ２３と、関連する処理回路１９および２１とを省略する。その場合、ユーザアクセスは、通信パス２９を介して１４の回路２２に直接行われ、回路２２はユーザ入力および出力メッセージを処理するようにさらに構成される。本明細書の残りの部分では、より有能な第１の該好ましい実施形態について説明する。
【００４７】
ピボットデジタル計算エンジンの該それぞれのうちの各々は、ユーザアプリケーションからのデジタルメッセージストリームを解析および解釈し、最終的に計算結果を必要に応じてそれぞれの発信元ポート１７に返すための手段を有する。多数のデジタル計算エンジンにより、多数のユーザアプリケーションはそれぞれ、宣言型コネクティビティ２３を介して、個々のピボットデジタル計算エンジン１４にアクセスすることによって、関連付けられた切り替え可能に選択可能なパターンの他のデジタル計算エンジンにアクセスすることが可能になる。宣言型コネクティビティは、そのような選択可能なデジタル計算エンジンのコミュニティの間でデジタルメッセージストリームを差し向けるための手段を有し、そのコミュニティは、後ほどさらに詳述するように、それらの間の接続パターンへと切り替え可能であり、アプリケーションソフトウェア自体のパターンを反映する。さらに、宣言型コネクティビティを通じた該指向手段は、パス２９により端末コネクティビティ２４に直接接続しない、デジタル計算エンジン３０などのピボットデジタル計算エンジンとの間接通信をユーザに提供する。
【００４８】
複数のユーザアプリケーションをホストするための管理用コネクティビティの手段を補完するように、再帰型コネクティビティ１２は、３１などのデジタル計算エンジンのクラスタ間に多数のユーザデータアレイを分配し、処理命令をコネクティビティ２５および２６を介してそのようなクラスタ内の計算セルに送信するための手段を有する。デジタル計算の実践では一般的であるように、コネクティビティ１０内で評価されるユーザアプリケーションは、コード化されたメッセージのストリームの形式を有する。後ほど説明するように、管理用コネクティビティ１５は、該ストリームをそれぞれ、宣言型コネクティビティを介して相互接続された自身の切り替え可能に選択可能なパターンの処理セルに差し向ける一方で、多数のポート１７で独立して受信されるそのようなストリーム間の相互作用を選択的に禁止する手段をさらに有する。したがって、コネクティビティは少なくとも、取得した各ユーザインターフェース１７から、一定時間単一のアプリケーション専用となる処理セルのセットへのメッセージストリームの配布を制御することによって、宣言型コネクティビティにおいて複雑な管理用処理動作の命令を適用するだけでなく、セグメントコネクティビティの該クラスタにおいて多様なアレイ処理タスクに適した命令の調整および適用を行う手段を有する。
【００４９】
汎用のユーザアプリケーションを計算する目的で、宣言型コネクティビティは、第１のセルが、第２のセルの宛先アドレスに順番に対応するルートをたどるノード回路の切り替えられたシーケンスを介して第２のセルと通信する手段を有するような、セルのペア間の相互接続ルートを有効化する、デジタル計算エンジン間のさらなる信号伝達パスを含む。いくつかのそのようなパスは、セルのペアの間で同時並行で順序付けし、セル間のデータの双方向伝送のためにラッチ解除することができる。典型的には、ユーザ端末からのアプリケーションソフトウェアのコード化ストリームは、セルのシーケンスに段階的に指示して、順序付けられたセルのコミュニティとして、宣言型コネクティビティを介して相互通信させる。セルのコミュニティは一時的に存在して、部分的な結果を計算することによって、それらをソフトウェアで指定された順序でユーザに返す。指示された計算への貢献が完了すると、各セルはそのユーザデータのメモリをクリアし、自身を不使用の、さらなるユーザアプリケーションにより自由に取得可能なものとして登録する手段を有する。
【００５０】
ユーザ端末からのアプリケーションソフトウェアの該コード化ストリームは、通常は規則的なアレイパターンを有さない構造化プログラミングコーディングを含むので、取得される各コミュニティの段階的に形成される相互通信は、アレイ処理のセグメントコネクティビティに不適切な非デカルトのルートのパターンに従うことが望ましい。したがって、１つの好ましい実施態様は、該ノード回路およびパスのノードラベル付きツリーによる構造化プログラミングコーディングの分配を組み込み、該双方向データ伝送ルートは、ツリー内を上向きに適切なノードまで進み、次いでツリーを下ってターゲットセルに向かう途中で、２進ラベル付きノードを段階的に選択的に切り替える。多数のセルのコネクティビティでは、いくつかのそのようなルートが共存し、同時並行通信を提供することができる。
【００５１】
ノードのツリーを介したセルのアドレス指定が、セグメントコネクティビティにおける同じセルのアドレス指定と同じ形式であることは利点である。これは理想的には、セグメントコネクティビティにおいて、単調なセルアドレスのシーケンスに従い、多数のセルのそれぞれを１回だけ通過する信号伝達チェーンに沿って、再帰形式の入れ子のセグメントを整列させることにより満たされる。そのような方法で、異なってはいるが再帰的な形式を有する宣言型ツリーコネクティビティは、アレイ処理パターンのセルにアドレスごとに一致するように構成される。これにより、２つのコネクティビティにわたってセル間の信号伝達の調和が確立される。したがって、宣言型コネクティビティ２３を介して該切り替え可能に選択された各パターンの処理セルは、相互接続されたパターンが、典型的には関数型プログラミング形式の構造化プログラミングソフトウェアの式に対応するようにルートを選択することにより、相互に通信する手段を有する。Ｌｉｓｐ言語などの関数式は、ユーザのアプリケーションコーディングストリームに適した１つの構造化プログラミングスタイルを提供する。該パターンの処理セルのうちの各処理セルは、ユーザのソフトウェアの少なくとも１つの該式を受信して、式を解析および解釈し、後ほど式の値を該パターンの切り替え可能に相互接続された処理セルにおいて、処理セルのうちのさらなる１つに信号伝達する手段を有する。したがって、各処理セルは、典型的にはＬｉｓｐの実施態様で使用される関数型プログラミングインタープリタの構成要素を含む。
【００５２】
各ユーザインターフェース１７および各デジタル計算エンジン１１は一意のアドレスを有し、端末コネクティビティ２４は、ユーザポート１７から、双方向パス２９を介した、特別処理セル２１のうちの対応する切り替え可能に選択されたものへの複数の切り替え可能な相互通信パス（図２には図示せず）を有する。各ポート１７は、メッセージデコーダおよびストレージを有するデジタル処理回路を有し、端末１６から受信したユーザのアプリケーションメッセージストリームに応答して動作する探索状態を少なくとも有する。インターフェースを探索状態で動作させることにより、探索信号が端末コネクティビティ２４に送信されて、以降「ダイバータ」と呼ぶ、端末コネクティビティ２４内の切り替え可能なノードのシーケンスによって相互通信パスから選択されたものを介した不使用の特別セルへのルートが作り出される。この目的およびその他の目的で、各処理セルは、その処理セルをいずれの現在のアプリケーションにも使用されていないものとして識別するフリー状態信号を管理用コネクティビティ内に差し向ける手段を有する。この状態は、本明細書ではセル「フリー状態」（ＦＳ：ｆｒｅｅ−ｓｔａｔｅ）と呼ぶ。不使用の特別処理セルから端末コネクティビティ２４に送信されたフリー状態信号に応答して、動作中の探索信号は、該ダイバータのシーケンス内の回路を切り替え可能に選択して、端末コネクティビティ２４を介して、後ほど詳述するように、ユーザのメッセージに適切なスコープの不使用の特別処理セルを取得し、それによって、取得した特別処理セル（ひいてはそれに関連するピボットも）のアドレスを取得し、記憶する。
【００５３】
探索動作が完了すると、取得した特別処理セルはそのフリー状態信号を宣言型コネクティビティから削除して、他の独立したユーザアプリケーションの処理セルによるその処理セルの二次取得を禁止する。ポート１７は、その該メッセージデコーダによってユーザメッセージを解析および解釈し、また、特別処理セルに端末コネクティビティ２４を介して後続のメッセージを送信する目的で、該特別処理セルを再取得するために記憶しているアドレスを使用することによって、動作時に有効化される呼び出し状態を有する。したがって、各処理セルは切り替え可能な動作状態のシーケンスを有し、これには、そのメモリ内のユーザのデジタルコードを無効にし、不使用のフリー状態に入り、フリー状態でない場合は、さらなる処理セルへの信号伝達ルートを取得し、これとデジタルコードを交換するように構成される、呼び出し動作状態に入ることが少なくとも可能になる手段が含まれる。
【００５４】
典型的には、該メッセージは計算すべき関数式を有し、各特別処理セルは同様に、アドレス指定コードを含む式に従って宣言型コネクティビティ２３を通る他の処理セルへのルートを切り替え可能に選択する呼び出し手段と、式に含まれ、該処理セルに記憶されたユーザポートのアドレスに従って、ルートをユーザポート１７に戻す手段とを有する。２３および２４を通る各切り替え可能な該選択されたルートは、それぞれのユーザメッセージストリームの送信中にラッチ解除され、そのメッセージストリームはそれぞれ式を有し、これは、取得した特別処理セル２１に指示して、以降説明するように、宣言型コネクティビティ２３を経由して、該選択可能なパターンの標準処理セル１９を介してそのメッセージの構成部分を段階的に配布させるものである。メッセージトランザクションが完了すると、開始元回路（たとえば、ポート１７）からの保持信号により、２４で選択された作り出されたルートに沿ったダイバータおよび切り替えノードが解放され、これらのノードは次いで、もしあれば、他のユーザによって開始され得る異なるルートの一部としてアクセスする準備が整った、待機状態に戻る。処理セルのパターンを介した段階的な分配処理は、マイクロコード化プリミティブ命令に従って各処理セル２１および１９において動作し、これらは、該メッセージのコーディングと、それらの構成要素の関数式と、記憶された処理セルおよびポートのアドレスとに応答する。
【００５５】
宣言型コネクティビティ２３は、切り替え可能なデータ伝送ルートのネットワークを有し、いくつかの該ルートは適宜それぞれ、コネクティビティにおいて複数の第１の処理セルを第２の処理セルの対応するものに相互接続し、各ルートは、該第１の処理セルによって宣言型コネクティビティ２３に送信された呼び出し信号の指示の下で少なくとも１つの切り替えノードを介して形成され、呼び出し信号は、第１の処理セルに式の一部として記憶される第２の処理セルのアドレスに従って配列される。呼び出し信号に応答して、２３内の各ノードは、呼び出し信号を部分ルートを介してさらなるノードに、たとえば、第２の処理セルに差し向ける切り替え手段を有する。宣言型コネクティビティ２３は、多数の端末間でメッセージルートが共有可能な電話交換機に似ており、端末のペア間での一時的な１対１のトランザクションを許可し、少なくとも一部のペアは同時並行で動作可能である。そのようなネットワークの一例は、「Ｎｅｔｗｏｒｋ  ｆｏｒ  Ｄｅｔｅｒｍｉｎｉｎｇ  Ｒｏｕｔｅ  ｔｈｒｏｕｇｈ  Ｎｏｄｅｓ  ｂｙ  Ｄｉｒｅｃｔｉｎｇ  Ｓｅａｒｃｈｉｎｇ−Ｓｉｇｎａｌ  ａｒｒｉｖｉｎｇ  ａｔ  ｏｎｅ  Ｐｏｒｔ  ｏｆ  Ｎｏｄｅ  ｔｏ  ａｎｏｔｈｅｒ  Ｐｏｒｔ  Ｒｅｃｅｉｖｉｎｇ  Ｆｒｅｅ−Ｐａｔｈ  Ｓｉｇｎａｌ」、米国特許第５，４３４，９７２号（本明細書では「Ｈａｍｌｉｎ」と呼ぶ）において見出され、これは本明細書と併せて読むべきである。その特許には、不使用の処理セルの取得、およびそれらが不使用のフリー状態に戻る条件と、計算中のそれらの典型的な機能動作と、さらなる処理セルを取得してタスクを割り振るためのそれらの探索手段と、リモートのコードフラグメントを取得して内部にコピーするためなどに使用されるそれらのアドレス指定手段とが記載されている。
【００５６】
したがって、処理セルは、ポート１７、端末コネクティビティ２４、および宣言型コネクティビティ２３に様々に応答して、プログラムされ構造化されたメッセージパターンを有する該ユーザメッセージを、対応する適切なアドレスパターンの切り替え可能に選択された処理セルに差し向けるように構成可能な手段を有し、各処理セルに関連する該アドレスパターンの局所的な部分は、その処理セルのメモリに記憶される。計算の進行状況に応じて、後ほど例として説明するように、ユーザアプリケーションに関連するさらなる信号が、ルート指定された処理セルのパターンに沿った処理セルによって適宜生成され得る。デジタル計算エンジン内の各処理セルは、関数型プログラミングの種類のメッセージ構造の管理上の意思決定部分をさらなる処理セルに送信するためのユーザメッセージの式部分を識別するように構成されるデータセグメント化回路組み込んでいる。
【００５７】
各ピボットデジタル計算エンジンは、加えて、計算セルでのアレイの処理に関連するメッセージの構成部分を識別するように構成されるさらなるデータセグメント化回路をその計算セル内に有し、ピボットデジタル計算エンジンのそのような各ピボット計算セル２２は、それに隣接する特別処理セル回路による命令に従って、適切なアレイ処理用の構成部分を、近傍の標準計算セルのグループに配布するための手段を有する。
【００５８】
（フリー状態の処理セルを探索した結果として）不使用の処理セルへのルートが開放されると、呼び出し元の処理セルは、自身のメッセージの構成部分を該不使用の処理セルに送信し、該不使用の処理セルは、構成部分を自身のメモリに記憶し、該構成部分を解釈して、セグメント化されたユーザメッセージの処理の一部を共有する。特別処理セル２１は、文字列および行列などのデータ構造に関連する該構成部分の特定の命令コードをデコードする手段と、それに隣接するピボット計算セル、たとえば２２に指示して、アレイ処理命令が、ブロードキャストコネクティビティ２６を介して関連する計算セルのグループに同時並行で共通して送信されるようにする手段とを有する追加のプリミティブを有する。ピボット計算セル自体が、該構成部分の要求に応じて適宜、各アレイ処理命令をデコードし、関連付けられた計算セルのグループに記憶されたマイクロコード化プリミティブを呼び出すローカル命令のブロードキャストメッセージを送信する。したがって、プリミティブは、３１などの計算セルのクラスタに記憶されたデータ要素に計算動作のシーケンスを適用するように選択可能である。
【００５９】
各ポート１７および各特別処理セル２１は、メッセージデータ構造の構成部分を記憶するためのメモリ回路を有し、該データ構造は、それらの構成部分を処理するために選択された該切り替え可能なパターンの処理セルによって共有され、操作される。前述のように、メッセージの構成要素はコネクティビティ全体に拡散されるが、複数のインターフェース１７、相互接続の端末コネクティビティ２４、および特別処理セルは、データ構造間およびユーザ間の論理的競合なしに複数のユーザに応答するための手段を有し、これは後ほどダイバータに関して説明する。本明細書は、個々のユーザメッセージが、そのメッセージで選択された処理セル間の時系列の相互通信を要求する場合を除いて、場合により独立して同時並行で動作し得る多数の構成要素を有するコネクティビティに適用することを意図している。しかしながら、管理用コネクティビティ内では、特にネットワーク形成ルートは、時分割共有される場合があり得るが、異常（ｐａｔｈｏｌｏｇｉｃａｌ）な競合はない。同様に、再帰型コネクティビティの計算セルは、まもなくブロードキャストコネクティビティに関して詳述するように、データアレイ間でマルチタスキングされる場合がある。具現化されるリソースの数量が限られているために、相互通信するパスおよびプロセッサが時分割共有される場合、時間遅延干渉の範囲は、管理用コネクティビティ内のプロセッサおよび相互接続の数と、ユーザにより管理用コネクティビティにわたって分配されるプログラミング命令の密度とに依存する。しかしながら、管理用コネクティビティ内の切り替えノードおよびルートは、信号伝達および処理ノードで対面し得るメッセージのいかなる切り替えも禁止するように配置され、切り替え可能に構成され、適切な実施形態がＨａｍｌｉｎに記載されている。
【００６０】
ユーザのメッセージの一部を形成する命令の様々な指示に従って、ユーザメッセージのデータ構造の各該構成要素にはアドレスフィールドが送信時に付加され、これにより処理セルは、互いとの相互通信を調整し、また、関連する構成要素に、これらがコネクティビティ１０の広く離れた部分にある場合に、隣接することが可能になる。最終的に、計算の最後に、該アドレスフィールドは、処理セルのチェーンを順番に遡り、最終的に開始元ユーザポート１７を指し、そこに計算の結果が保管される。この目的で、特別処理セル２１は、最初の解釈可能なデータ構造がロードされると、標準処理セルのフリー状態フラグに応じて、コネクティビティ内の他の場所にある不使用（フリー状態）の標準処理セル１９を取得し、宣言型コネクティビティ２３を介して、該データ構造内に含まれる該命令を、該取得した処理セルに送信する。この手段により、ソフトウェアデータ構造は、コネクティビティにわたる自身の配布を実現し、処理セルのパターン間での同時並行処理を活用する。
【００６１】
再帰型コネクティビティ１２は、多数の計算セル（２０および２２）間に、セグメントコネクティビティ２５を介した相互接続を有する。計算セルは、相互接続するセグメントコネクティビティ２５と連携して、データソートおよび行列操作などの動作を処理するように構成され、その適切な実施形態は後ほど再帰曲線に関して説明する。再帰型コネクティビティの各ピボット２２は、明確に定義されたデジタル計算エンジンのクラスタ（たとえば、３１）内で制御する役割を担い、該ピボットはそのグループのメンバーである。選択されたアレイデータ要素に対する特定の送信動作の制御について、標準処理セル１９のうちの少なくとも一部も、それぞれ再帰型コネクティビティ内の標準計算セル２０のうちの対応するものとの切り替え可能な通信を有するという利点がある。
【００６２】
セグメントコネクティビティ２５の１つの好ましい実施形態は、一般的なハイパートーラスパターンのコネクティビティによって定義される双方向相互接続パスを有するｋ−ａｒｙ  ｍ−ｔｏｒｕｓであり、ｋ−ａｒｙ  ｍ次元ハイパートーラスにおける典型的な計算セル、すなわち、指定された計算セル（ｉ１，ｉ２，．．．ｉｎ）は、計算セル（ｉ１＋１，ｉ２，．．．ｉｎ）、計算セル（ｉ１−１，ｉ２，．．．ｉｎ）、計算セル（ｉ１，ｉ２＋１，．．．ｉｎ）、．．．計算セル（ｉ１，ｉ２−１，．．．ｉｎ）、計算セル（ｉ１，ｉ２，．．．ｉｎ＋１）、計算セル（ｉ１，ｉ２，．．．ｉｎ−１）への接続を有し、ここで各インデックスｉｐは、トーラスの巡回信号パスを考慮したモジュロ（ｋ）の整数である。ｋ＝２のハイパートーラスの特定の実施形態は２進超立方体であり、全てのパスはそのとき巡回トーラス信号パスを形成する。
【００６３】
図３に、概略的な形式で、３次元アレイとしてレイアウトされた小規模な構成の計算セルとして、関連付けられた計算セル回路２０を有するセグメントコネクティビティ２５の一部の１つの例示的な実施態様を限られた範囲で示し、計算セル（ｉ１，ｉ２，ｉ３）のパス（大抵、多すぎて明確に図示できない）は、トーラス接続の前述の定義に対応する。これらのパスの一部を使用して、図３に、セグメントコネクティビティ２５内の計算セルのペア間の選択された相互接続のセットを通過する１つの好ましい形式の再帰曲線３３のセグメントを示す。
【００６４】
これは、ヒルベルト空間充填曲線として知られている無限の数学的虚構（ｆｉｇｍｅｎｔ）の形に近似する再帰曲線の一例を示している。実用的な有限の形式を、本明細書では「ヒルベルト空間曲線」と呼ぶ。したがって、本明細書での空間曲線とは、概念的には空間充填曲線の線に代表される、コネクティビティ内の全てのセルを１回だけ通過する通信リンクのチェーンを意味し、ヒルベルト曲線およびモートン曲線などの再帰曲線シーケンスは、階層構造化プログラミングの原則に従わせることができる階層的なセグメント化構造へ、データ構造を組織化する際に本発明において重要である。一部の処理動作では、再帰曲線が計算セルを曲線のセグメントに沿った直線状のシーケンスに編成し、ひいては３４などの均一なクラスタに編成し、各クラスタが、自身のピボット計算セル（たとえば、３５）の直接指揮下で、一意の処理要素のブロックとしてアドレス指定可能であると好都合である。クラスタ処理動作では、管理用コネクティビティの特別処理セルは、典型的には、関連付けられたピボットに操作命令とデータストリームとの両方を送信して、３４などの適切な計算セルのセグメントへのデータアレイの前方シリアル配布を行い、それらに対して、３５などのピボットは、再帰曲線シーケンスのセグメント内で指定された制御を有する。あるアルゴリズムは、計算セルアドレスに関して、再帰曲線の軌跡を定義し（後ほど詳述する）、各計算セルは、軌跡内の前後２つの近傍のローカルポインタを記憶しており、これにより再帰曲線には、再帰型コネクティビティ内の全ての計算セルにわたって、順方向および逆方向の、単調な方向の感覚が与えられる。この例の曲線は、コネクティビティの他のクラスタからパス３６を介して図示した６４個の計算セルのクラスタに入る。これはパス３７を介してさらなるクラスタに移動する。
【００６５】
図４に、図３のように３次元アレイとしてレイアウトされたセグメントコネクティビティ２５を通るさらなる再帰曲線の一部の第２の例示的な実施態様を限られた範囲で示す。３１および３８などの短縮形で概念化された計算セルのクラスタは、並列処理のために相互接続され、各クラスタが命令ピボットを有し、この実施形態の典型的な構成は複数のそのようなクラスタを組み込んでおり、それぞれ、再帰曲線の軌跡に沿って位置する明確に定義された計算セルのアレイを含む。１つの好ましい実施態様では、１つの使用例において、ユーザは、アレイ処理データおよび行列操作用のコマンドのデジタルメッセージをピボットに（ひいてはそれに関連付けられたクラスタに）渡す。さらなる使用例では、ユーザは、クラスタを介してサブルーチンおよびパラメータインターフェースとして配布されるようにプリコンパイルされた同時並行で動作するプログラムをピボットに渡し、各サブルーチンはクラスタ内の所定の計算セルにロードされて、たとえば、多次元偏微分方程式を解くために適用される、自己完結型の同時処理される要素計算を実行するようになる。
【００６６】
再帰型コネクティビティは、第２の相互接続用のブロードキャストコネクティビティ２６（図３および図４には図示せず）を有し、これは、２０および２２などの計算セルへのインターフェース要素２７および２８を有し、ピボット３９から、それに割り当てられた計算セルのセグメント３１に操作命令およびデータストリームを配布し、該割り当てられたセグメント内のそれらの計算セルから、アレイ処理動作の完了を通知するフラグ信号を収集するための手段を有する。各ピボット計算セルは、通知フラグを収集する手段を有し、これらのフラグは組み合わさって、ピボットによって開始された各操作の完了信号として機能する。管理用コネクティビティによって該ピボットに渡される命令に従って、ピボットは、ブロードキャストコネクティビティ２６を介して、該セグメントの該各個別の計算セルによって解釈されるアレイ処理関数参照をブロードキャストし、該計算セルのそれぞれにおいて参照される関数のシーケンスを開始するように動作可能な手段を有する。
【００６７】
前述のように、セグメントコネクティビティ２５は、各計算セルが利用可能な複数の信号パスをさらに有し、これにより、対応する複数の近傍（本明細書では「信号隣接近傍（ｓｉｇｎａｌ−ａｄｊａｃｅｎｔ  ｎｅｉｇｈｂｏｕｒｓ）」と呼ぶ）との通信が可能になる。これにより、多くの計算セルのペア間で同時にデータを交換することが可能になる。たとえば、ピボットによる開始後の動作中の計算セルのアレイ処理セグメント内では、２つの計算セルのクラスタが、単一の「交換」命令（本明細書では「ＳＷＡＰ」と呼ぶ）のコードを受信すると、それらのデータ要素を交換することが可能になる。２つのブロック内の全ての計算セルのペアがピボット自体を含むブロードキャストコネクティビティ２６の接続を介して、値を交換し、通知フラグを設定した場合に、操作（この場合は「ＳＷＡＰ」）の完了がピボットによって登録される。ＳＷＡＰ手順の小さな変更例では、コピー手順（本明細書では「ＣＯＰＹ」と呼ぶ）を生成するために、一方向のみにデータ要素を渡す。
【００６８】
セグメントコネクティビティ２５は、各計算セルから信号隣接近傍の計算セルへの１対多の専用の双方向相互接続を有するが、必ずしも地理的に近傍の計算セルではなく、それによって、少なくとも一部の計算セルのグループが、空間的にローカルな計算セルと空間的にリモートな計算セルとの両方に同時にデータを送信するように、切り替え可能に有効化される。双方向の信号隣接近傍の相互接続の実施形態は、有線、光、および無線通信パスの選択肢を含む。少なくとも一部のペアの計算セルは、時分割共有されるデータバスへの切り替え可能な接続を介してデータ伝送ルートを共有し得る。再帰型コネクティビティ１２は、これらの手段および再帰曲線によって、多数の所定のセグメントを含み、各セグメントは、自身のピボット計算セルの制御下で固定数の計算セルを有する。再帰型コネクティビティ内の各ピボットは、一意に定義された２進パターンのアドレスを有し、これは、第１にそのアレイ処理能力のスコープを識別し、第２にそのセグメント内のアクセス可能な計算セルの数を識別し、第３にそのセグメント内の構成要素の計算セルの、再帰型コネクティビティにおける相対位置を識別する。これは、自身のアドレスパターンが、適用されたデータ構造のサイズ、位置、アレイ次元に同じように一致する特別処理セル（ひいては、そのペアのピボット計算セル）を見つけることによって、処理リソースを割り当てることが可能な文字列およびアレイを宣言する際に重要である。適用されたデータ構造はまた、その場合、一致するアドレスパターンの第２の制御ピボットが関連付けられた、コネクティビティ内の他の場所にある第２のクラスタとの互換性が保証される。
【００６９】
このように、３１、３８、および４０などのセグメントを制御するピボットは、複数の多様なスコープの、独立して動作するプロセッサのアレイを定義する。セグメントの再帰的性質により、一部のピボットは、より広範なスコープの計算セルのクラスタを構成するセグメントを制御し、したがって、それらのピボットは、３８と４０との関係によって例示する、再帰型コネクティビティ内のより低いスコープのピボットとの階層関係を有する。少なくとも一部の選択されたそのような計算セルのセグメントは、前述の制御ピボットを介して、所定のサイズ範囲内で専用のアレイプロセッサとしてユーザがアクセスできるようになされる。
【００７０】
上記から推測され得るように、大まかに言って、本発明によれば、データ処理コネクティビティ１０は、それぞれがデータ処理手段を有する複数のデジタル計算エンジン１１と、少なくとも、切り替え可能に選択可能な信号伝達パスの第１のネットワークとを備える。第１のネットワークによって、各該デジタル計算エンジンは、多数の該信号伝達パスへの少なくとも多数の信号伝送ポートを介した、本明細書では信号隣接近傍と呼ぶ同様の多数の該デジタル計算エンジンへの接続を有する。該複数のデジタル計算エンジンのうちの各デジタル計算エンジンは、再帰的空間曲線４３に沿って、単調なアドレスのシーケンスで順序付けられた一意のアドレスを保有する。再帰的空間曲線４３は、そのようなアドレス指定されたデジタル計算エンジン全てを通り、該シーケンスに従って選択的に切り替え可能な同様の複数の該信号伝達パスのうちの対応するものを通る。デジタル計算エンジンおよび対応する信号伝達パスは組み合わさって、とりわけ、少なくとも部分的に、該再帰的空間曲線の所定のアルゴリズム特性に適合する特定の形態を有する空間曲線を担う。空間曲線は再帰的な入れ子のコンピュータセルのセグメントを記述し、これらは対応する入れ子のサブコネクティビティを形成し、これにより、該複数の信号伝達パスを使用して、各サブコネクティビティ内で独立したアレイ処理動作を実行することが可能になり、それぞれがユーザに対して、関連するデータ要素のアレイを入力するための回路を有する。すなわち、各該コネクティビティは、対応するユーザからのデジタルコードのアレイに対して同時並行のアレイ処理を実行するように動作可能な、自律動作する通信および処理手段を有する。また、ピボットおよびそれに対応するセルのセグメントは、組み合わさって、ユーザインターフェースから対応する所定のサブコネクティビティのセルに、該チェーンに沿って順番にデジタルコードを転送する手段を有する。
【００７１】
コネクティビティ１０は、該複数のピボットデジタル計算エンジンの少なくとも一部と、少なくとも１つの対応するユーザ入力インターフェース回路との間に双方向通信手段をさらに有する。
【００７２】
コネクティビティの再帰型コネクティビティは、信号伝達手段の該ブロードキャストコネクティビティを組み込んでおり、ブロードキャストコネクティビティは多数の信号分配ノードを含み、また、ブロードキャストコネクティビティにおいて、空間曲線に沿った該ピボットのうちの特定の規定されたピボットのそれぞれ、たとえば３９などは、空間曲線の対応して規定されたセグメント、たとえば３１などに沿って存在する計算セルへの、該ブロードキャストコネクティビティを介した切り替え可能な接続を有し、空間曲線の中で、そのピボットはとりわけ、該対応するセグメント内の計算セルの少なくとも一部によって実行される各動作における制御メンバーである。ユーザがアクセス可能な各セグメントが独自のピボットを有することは本発明の特徴であり、後ほど詳述する。たとえば、セグメント３８のピボットは（たとえば）４１であり、セグメント４０のピボットは４２であり得、後者は位置およびアドレスパターンがセグメント３１の類似のピボット３９に対応する。
【００７３】
したがって、コネクティビティにおいて、各ピボットは、４３などのリンクを有する該軌跡の所定のセグメントに沿って存在するデジタル計算エンジン回路によって実行されるトランザクションにおける制御メンバーの１つであり、各セグメントのスコープは、再帰曲線の該軌跡に沿った各セグメントの位置によって、入れ子の階層のそのようなセグメントスコープ内に配置され、それぞれの該信号伝送パスは各々、該所定のセグメントのスコープを示す定義パラメータを表す信号によって選択可能である。
【００７４】
コネクティビティの管理用コネクティビティは、多数のユーザ入力および出力インターフェース回路１７と、切り替え可能に選択可能な信号伝達パスおよび切り替え用ダイバータノードのＩ／Ｏ多重化コネクティビティ２４とを含み、それによって、いくつかの該ユーザ入力インターフェース回路は、特別処理セルのうちの関連するものを介して、該ピボット１４のうちの個々のものへのルート上で通信するように選択的にかつ同時並行で動作可能であり、該特別処理セルは、該デジタル計算エンジンがフリー状態である場合に、フリー状態信号を端末コネクティビティに送信する。
【００７５】
したがって、それぞれがセクションソフトウェアコーディングの形式の、２つ以上のメッセージが、いくつかのポート１７を介して、評価のためにコネクティビティの分配部に同時にロードされ得、少なくとも一部は相互干渉せずに動作する。デジタル計算エンジンのうちの、分配部で切り替え可能に選択されたものは、ユーザのソフトウェアコーディングのそれぞれのセクションを受信して作用し、その選択は、メッセージごとにユーザのコードを形成するメッセージのセクション構成要素に従って開始される。以降の説明全体を通して、各デジタル計算エンジン内のプログラミングおよびデータ操作タスク、ならびに自身のローカルな担当専用の複数の入力および出力ポートへのアクセスは、広範な最先端のデジタルコンピュータアーキテクチャ、たとえば、ＰＩＣマイクロコントローラ、Ｘｉｌｉｎｘ  ｋｃｐｓｍ３、ＡＲＭｖ−７ベースのもの、およびＩｎｔｅｌ社製のプロセッサなどのうちのいずれかとして具現化され得ることは理解されよう。これらのコンピュータは、それらのローカルメモリユニットに記憶するための命令のシーケンスおよびデータを含むメッセージの形式で複数の入力ポートを介して入力データストリームを受信する手段と、そのようなメッセージに従って動作する回路とを有する。本明細書では「マイクロコード」と呼ぶ、ハードワイヤード論理演算のコード名付きシーケンスは、そのようなコンピュータ内のそれぞれのプリミティブな内部処理動作を制御する。典型的には、算術、論理、記憶、および入力／出力動作を制御するための広範なそのような命令が存在し、それぞれが専門化されたデータ操作機能を有する。デジタル計算エンジンにおいて、これらの動作の中には、ユーザのソフトウェアコーディングがアクセスできる指定子を有する命令によって開始されるものもあれば、デジタル計算エンジン間のインターフェースおよびメッセージングなど、ローカルの専門的なハードウェア制御を実行するものもあり、後者はそのとき、より複雑で、ユーザがアクセス可能なマイクロコード化された命令シーケンスの構成要素を形成する。ユーザがアクセスできるこれらの命令コードは、一般にマシンの「命令セット」と呼ばれる。
【００７６】
該入力ユーザメッセージストリームにより、コネクティビティにおいて、外部から適用されたユーザによりプログラムされた計算タスクが開始され、最終的には、そのタスクのために取得されたデジタル計算エンジンの内部で動作するマイクロコードが開始される。本発明の１つの好ましい実施形態におけるコネクティビティは、少なくとも２つのクロックパルス発生器を組み込んでおり、１つ目は、本明細書では「マイナークロック」と呼ぶ、デジタル計算における切り替えロジックを同期させるために広く採用されるようなプロセッサ制御クロックであり、２つ目は、より長い期間のメッセージングクロックであり、本明細書では「メジャークロック」と呼ぶ。メジャークロックはマイナークロックにロックされ、とりわけ、適切な接続によって、偶数パリティでアドレス指定された計算セルを同期させて、半サイクルで送信し（そうする必要がある場合）、奇数パリティでアドレス指定された計算セルを同期させて、残りの半サイクルで送信する。偶数パリティの計算セルが送信モード中の場合、奇数パリティの近傍は受信モード中であり、その逆も同様である。１つの好ましい２進構成のデジタル計算エンジンアドレスと、接続のセグメントコネクティビティの形態とにより、多くのタイプのアプリケーションで、再帰型コネクティビティ内の偶数パリティアドレスを有する計算セル回路はその場合、奇数パリティアドレスを有する計算セル回路と直接通信し、再帰型コネクティビティ内の奇数パリティアドレスを有する計算セル回路は同様に、偶数パリティアドレスを有する計算セル回路と直接通信する。
【００７７】
デジタル計算の実践では一般的であるように、各デジタル計算エンジンは命令セットを有し、各命令はマイクロコードの配列によってスケジューリングされ、そのデジタル計算エンジンに要求される専門家によるローカルの計算動作に適合される。電力およびクロックによって起動されると、各デジタル計算エンジンは、コネクティビティ内の他の全てのデジタル計算エンジンとは独立して動作し、すなわち、自身の命令セットコードのシーケンスを起動する自身の論理ルーチンは、その入力ポートを介した着信メッセージにのみ応答して、それらのメッセージ間で調停を行い、現在のタスクに適切な場合、必要に応じてそれらのメッセージの要求を無視する。同様に、各デジタル計算エンジンは、他の任意のデジタル計算エンジンに対して最優先の権限を有するわけではく、したがって、その動作の要求に応答するために、他のデジタル計算エンジンの準備およびアクションを待機しなければならない。各デジタル計算エンジンに送信されるメッセージは、アクションの要求またはデータであり、これらは、本来正常に動作する一部の条件では、応答を受信しない場合がある。各デジタル計算エンジンは、他の全てのデジタル計算エンジンとは独立して構成される、その処理回路への自身の入力ポートを選択する切り替え手段と、多数の該入力ポートを介して受信したメッセージに応じてそれぞれマイクロコードを選択してスケジューリングする手段とを有し、各デジタル計算エンジンは、他の全てのデジタル計算エンジンとは独立して構成される、その処理回路からの自身の出力ポートを選択し、マイクロコードを選択する切り替え手段と、該出力ポートから送信するメッセージを構成してスケジューリングするように構成される手段と、を有する。デジタル計算エンジンは、ユーザのソフトウェアアプリケーションの自身に割り当てられたメッセージ部分を抽出し、これをプリミティブな論理命令および算術命令のシーケンスとしてデコードし、該メッセージ部分に従って要求された専門的な各タスクを実行する手段を有する。記憶されたデータを失うことなく、各デジタル計算エンジンは、設定時間内に動作の要求を受信しない場合に自身を電源スタンバイに切り替え、入力インターフェースの活動に応答してウェイクアップする手段を有する。
【００７８】
図５は、コネクティビティに共存する３つの独立して所有されるユーザアプリケーションへのアクセスを簡単な言葉で示すための、コネクティビティ全体にわたるユーザアプリケーションの分配の概略図である。３つの三角形４４、４５、および４６のそれぞれは、入れ子のユーザ命令の、疎な、ソフトウェアで構成される構造化プログラミングツリーを表すことを意図としており、各ツリーは、疎な処理セルのコミュニティ全体に広がり、それに命令をアクティブにロードする。３つのインストールされたアプリケーションのそれぞれは、ユーザソフトウェアメッセージに応じた、コネクティビティ全体にわたる多くの処理セルへの信号伝達分岐の広がりを表すための三角形によって、ここでは概念的に大まかに表している。各ツリーは、概念的には各三角形の頂点にある、４７などの特別処理セルから始まる。典型的には、図示した「プロセッサの三角形」のそれぞれの中の疎な少数の処理セルのみが、各独立したアプリケーションによって取得され、必要に応じて、残りの隙間の処理セルが他のアプリケーションで利用可能であることを理解されたい。したがって、たとえば、３つの三角形領域が重なる場合、一部の処理セルはアプリケーション４４によって、一部はアプリケーション４５によって、一部はアプリケーション４６によって取得および使用され、それぞれにおける選択は、各領域にゆるやかに拡散する。１つの好ましい実施形態における処理セルの取得およびタスク割り振り動作のための詳細な手段は、Ｈａｍｌｉｎの特徴であり、そこに記載されている。処理セルのコミュニティに対するユーザソフトウェアの式の効果は、後ほど例として示す。したがって、ユーザ命令およびデータの分岐は、不使用の処理セルの取得によって処理セルの宣言型コネクティビティ２３全体に広がり、多数のそのような多様なアプリケーションの分岐が互いに織り交ざる。各処理セルがこの処理中に１つのユーザアプリケーションにのみ割り当てられるが、その責務が完了すると、Ｈａｍｌｉｎに記載のような方法で自身を解放してフリー状態に戻ることに注意することは重要である。したがって、複数のユーザアプリケーションは、共通する個々の管理用コネクティビティの処理セルを共有しない。
【００７９】
４８などのルート１８へのユーザアプリケーションメッセージストリームは、関連付けられたインターフェース１７（図示せず）によって解釈され、インターフェース１７はフリー状態探索手段を使用して、探索信号およびメッセージを、多重化端末コネクティビティ２４を経由して、４９などの双方向探索パスを介して、アプリケーション４５の４７などの該特別処理セルのうちの１つに渡す。２４を介して切り替えられた信号伝送パス４９は、ユーザアプリケーションメッセージストリームを、パス２９を介して４７に渡す。この選択された１つの特別処理セル４７は、受信したユーザメッセージストリームを記憶し、最初のメッセージを解釈し、２３により提供された一時的に取得されたデータ通信パスによって、管理用コネクティビティの宣言型コネクティビティ２３に段階的に拡散する、分岐するツリー状のパターンの、５０などの余分な標準処理セル１３を取得する。構造化アプリケーションソフトウェアの分岐信号は、宣言型コネクティビティの切り替えノードによって、コネクティビティにわたって部分ルートを織り交ぜて、図５に概略的に示すように、多数のユーザアプリケーションが、様々に取得した処理セルを差し挟むようにすることが多いが、前述のように、１つのユーザアプリケーションのみが、いずれか１つの取得した処理セルにアクセスできるが、これはそのアプリケーションがその処理セルを放棄してフリー状態に戻すまでである。そのような分岐ツリー内の全ての処理セルは、その処理セルを、それを直接呼び出す親処理セルと、メッセージツリーの相互接続時に取得した自身の子処理セルとに関連付けるアドレスを記憶するための関連付けられたメモリを有し、また、評価用のユーザソフトウェアの式を記憶するための十分なメモリを有する。各処理セルに記憶された相互リンクアドレスにより、アプリケーションのアクティブな処理セル間の通信パスを一時的に切断し、その後再取得して、たとえば、計算結果を発信元のユーザ端末に段階的に返すことができる。アプリケーションの構成要素サブタスクの終了時に、それに使用された処理セルは、自身を解放して、他のアプリケーションによる取得の準備ができた不使用状態にする手段を有する。すなわち、Ｈａｍｌｉｎで説明されているように、それらは「フリー状態」になり、記憶している親および子のアドレスを忘れる。
【００８０】
図５はまた、一部の典型的なアプリケーション命令が、多様なサイズのアレイの操作を含むことを示しており、また、再帰型コネクティビティが、セグメントコネクティビティ２５によって相互接続された好ましくは多数の計算セルの形態で構成され、これらは次いで組み合わさって、多数のそのようなアレイの適宜のロード、操作、および処理を容易にすることも示している。ユーザのメッセージストリームに対する管理用コネクティビティのアクションの一部として、そのユーザインターフェース１７および標準処理セル１３はそれぞれ、アレイ処理命令を命令セットの一部として解釈し、要求されたアレイ処理タスクに十分なスコープを有する、５１などの特別処理セルを取得することが可能になる。アレイのサイズを示す指示信号は、該命令に含まれ、その要求されたスコープを有する各ピボットデジタル計算エンジンのアドレスの下位ビットパターンの形式を有する。デジタル計算エンジンのピボットのスコープは、関連付けられた特別処理セルのスコープと同一であり、したがって、特別処理セル４７は、端末コネクティビティ２４のインターフェース１７によって選択されて、ピボットが、目的のアレイをホストするのに十分大きいスコープを有する計算セルのセグメントを制御できるようになる。処理セル５１の場合、ピボット５２は２＾４のスコープ値を有する計算セル５３のグループを制御する。特別処理セル５１は、関連するアレイ処理コマンドを対応する再帰型コネクティビティのピボット５２に渡す組み込みのマイクロコードによって応答する。再帰型コネクティビティピボット５２は、固定の計算セルのセグメント５３のそれぞれに指示して、ブロードキャストコネクティビティ２６を介してユーザアレイの個々のデータ要素を受信させ、続いてその個々の要素に対して操作を実行させる手段を有し、データ要素は、ピボットを介してユーザインターフェース４８からインデックス付きシリアルストリームとして連続して送信される。第１のセグメント５３は、この説明用の例では、自身のピボット５５を有する第２のより大きな包囲セグメント５４と共通して使用可能な計算セルであって、その第２のセグメント自体が、第２の独立したアプリケーションからのデータによって占有されていても使用可能な計算セルを含む。複数のアレイ要素による計算セルの共有占有率は、各計算セル内でのマルチタスキングによって構成され、各計算セルは、データ処理で一般的なように、（この例では）２つのアレイ要素のデータストレージを有し、専用のより高権限のピボット計算セルによる、第２のより大きなアレイの一義的な権限を有する。さらに大きい包囲アレイは、同様にその要素サブアレイをこれら２つのより小さいアレイなどに重ね得るが、各アレイ要素に関する計算セルの処理活動は、より大きいアレイの処理を遅延させ得、その逆もあり得ることを理解されたい。この構成は、使用時に、あるアプリケーションのニーズの持続期間中にそのアプリケーション専用になる処理セルの構成とは異なることに留意されたい。同じ権限レベル（すなわち、スコープ）を有するピボット計算セルは異なる絶対アドレスを有するが、全てのピボット計算セルはそれらのアドレスにおいて、それらの権限に対応するビットレベルまで同じパターンの最下位ビットを有し、各アドレスのその部分は、他のあらゆる権限レベルのピボットアドレスの最下位部分と異なることは、本発明の１つの特徴である。これはまもなく１つの例示的な場合で立証される。再帰型コネクティビティのタスクのために既に取得された特別処理セルは、その特別処理セルの現在の所有ユーザによって指示されて、同じスコープのさらなる識別可能なアレイを、５２などのピボット、ひいてはそれらに関連付けられたアレイ要素を介して、該固定の計算セルのセグメント５３にロードし得る。しかしながら、該現在の所有ユーザの制御下にあるソフトウェアのみが、該取得した特別処理セルのアドレスを参照して、その処理セルが自身のフリー状態フラグを宣言型コネクティビティ内に設定するまで、他のユーザソフトウェアによるその処理セルおよびそのピボットの両方へのアクセスを禁止する。その時点で、その特別処理セルに対する責任の下で、制御ピボットとしての役割にある関連付けられたピボットは、同様にフリー状態に切り替えられる。
【００８１】
したがって、管理用コネクティビティ１５は、多数の多様なスコープのピボットを介して計算セルのクラスタ間で多数のデータアレイを分配するための手段を有し、再帰型コネクティビティ１２は、これらのピボットから、そのような適切なスコープのクラスタ内の計算セルにアレイ処理命令およびデータ要素を送信するための手段を有する。各ピボットは、ブロードキャストコネクティビティ２６のブロードキャストおよび同期ネットワーク（図５には示していないが、後ほど図２９に関して詳述する）によって、その制御下にある各計算セルに順番に、受信したユーザアレイの各データ要素を渡す。
【００８２】
２つのさらなる典型的な計算セルのセグメント５６を図５に示しており、これらは空間的に再帰的な曲線の２つのセグメント、この例示では、２次元ヒルベルト曲線を形成する。前述のように、この曲線の再帰パスは、計算セルごとに、その前後の信号隣接近傍のアドレスを記憶することによって定義される。そのようなアドレスの２進シーケンスは、グレイコード形式で表現されると有利である。したがって、アクセス可能な計算セルのセグメントのスコープは、再帰曲線のセグメント内の計算セルのシーケンスの長さと等価である。
【００８３】
既に説明したように、１７からの該切り替え可能なルートによって、それぞれユーザ端末１６（図１）から特別処理セル２１のうちの対応するものにユーザメッセージストリームを送信することが可能になり、それらの該メッセージは、それぞれ標準処理セル１９に指示して、宣言型コネクティビティにわたってさらなる親および子の標準処理セル１９を経由して段階的にそれらのストリームの構成要素メッセージ部分を拡散させる。該段階的な拡散処理は、該メッセージのコーディングに応答する処理セル１９および２１内の論理的およびインターフェースプリミティブに従って動作する。したがって、端末コネクティビティ２４は、アレイ処理タスクが意図されていると仮定して、ユーザ端末１６のいずれか１つから適切な特別処理セル２１に該メッセージストリームを差し向けることを、第１に該適切な特別処理セルの可用性（フリー状態）に応じて、第２にその特別処理セルが接続された再帰型コネクティビティのピボットの権限に応じて行うように構成可能な手段を有する。したがって、コネクティビティ内の全てのデジタル計算エンジンは、管理用コネクティビティの端末コネクティビティに関して後述するように、切り替え可能に選択された処理セルに適宜展開されるユーザアプリケーションの構造化ソフトウェアパターンに応じて選択可能である。
【００８４】
各ユーザインターフェース１７および各処理セルは、一意のアドレスを有する。各特別処理セル２１は、ユーザメッセージの構成部分を識別するためのデータセグメント化回路を組み込んでおり、その構成部分を近傍の標準処理セルに拡散するための手段を有する。これらの処理セルは、不使用のフリー状態の処理セルを見つけて、セグメント化されたユーザのメッセージの処理を共有する目的の、宣言型コネクティビティ２３のネットワーキングへの探索信号によって取得される。加えて、各特別処理セル２１は、文字列および行列などのデータ構造に関連する該構成部分の特定の命令コードをデコードし、そのようなアレイ処理命令を再帰型コネクティビティのそのピボットに差し向ける手段を有する。再帰型コネクティビティのピボット計算セルは、該構成部分の要求に応じて適宜、それら自体がアレイ処理命令をデコードし、図５の５４などの切り替え可能に選択可能な計算セルのクラスタにおけるアレイ操作の制御に特有の、計算セルに記憶されたマイクロコード化命令を開始する手段を有する。
【００８５】
メッセージ構成要素はこれらの操作によってコネクティビティ全体に拡散されるが、複数のインターフェース１７、相互接続ネットワーク、および特別処理セルは、後ほど端末コネクティビティに関して詳述するように、ユーザ間および無関係なデータ構造間の論理的競合を回避するようにメッセージを差し向けるための手段を有する。
【００８６】
既に述べたように、また、後ほどブロードキャストコネクティビティに関して説明するように、再帰型コネクティビティは場合により、ある形式の優先割り込みを使用して、複数のデータアレイの要素によって計算セルにマルチタスキングする機能を有する。明らかに、実装されるリソースの数量が限られているために、相互通信するパスおよびプロセッサが時分割共有される場合、同時接続の機会および同時並行性は、それに応じて制限され得る。
【００８７】
各インターフェース１７は、通信パスを選択し、ユーザのメッセージを命令ごとに、端末コネクティビティ２４を介して、また、選択されたパス２９を介して、特別処理セル２１に送信する論理切り替え器を設定することが可能になる手段を有する。ユーザのメッセージの一部を形成する命令の様々な指示に従って、ユーザメッセージのデータ構造の各該構成要素にはアドレスフィールドが送信時に付加され、これにより処理セルは、互いとの相互通信を調整し、また、関連するメッセージ構成要素に、これらがコネクティビティの他の部分に広く分散している場合に、再接続することが可能になる。
【００８８】
図１から図５に示したコネクティビティのさらなる概略図として、図６に、アレイ処理に適合された多数のアドレス保有計算セル２０および２２を相互接続するアドレス選択可能な信号伝達パスのセグメントコネクティビティ２５を有するコネクティビティの一部を示す。パス４３の一部は、再帰曲線シーケンスに従って階層的に順序付けられた計算セルアドレスに従って選択可能であり、小さなセグメントを、｛６，７，５，４，１２，１３，１５，１４｝ｇとアドレス指定された計算セルのシーケンスによって例示しており、ここで「ｇ」はアドレスシンボルを後述のグレイコードとして宣言するものである。セグメントコネクティビティ２５を形成するアドレス選択可能パスのほとんどは、計算セル間で切り替え可能に動作可能であり、その結果、再帰曲線の１つのセグメントであって、典型的には｛１２，１３，１５，１４｝ｇである、該計算セルの選択可能な第１のセットは、再帰的曲線の第２の合同なセグメントであって、典型的には｛０、１、３、２｝ｇである、該計算セルの第２の選択可能なセットへのセグメントコネクティビティ２５を介した多数の信号伝達パスを同時並行で選択する。
【００８９】
「合同」とは、アドレスの軌跡の対応する選択物が、送信側クラスタ内で、受信側クラスタ内と同じ位置パターンを保有することを意味し、ここで、２つのクラスタは、ユーザのアプリケーションの要求に応じて、文字列、行列、立方体または超立方体データ構造を様々に表現し得る。計算セルのセグメント内の結果的に得られる合同シーケンスの選択物によって、処理クラスタ内の全てのデータ項目の同時並行処理のために、アドレス、セグメントの形状、およびセグメントの方向がその場合構造的に一致することが保証される。
【００９０】
メッセージストリームの受信および同期のために、選択可能なセグメント内の各該計算セルは、そのセグメントの１つのピボット計算セルからの、ブロードキャストコネクティビティ（図示せず）のネットワークを介した切り替え可能な信号伝達パスをさらに有する。
【００９１】
宣言型コネクティビティ２３は、管理用処理に適合された｛ｇ，ｈ，ｆ，ｅ，ｍ，ｎ，ｐ，ｏ｝ｇなどの複数のアドレス保有処理セル１９および２１を相互接続する信号伝達パスを有する。該処理セルの一部、たとえば、特別処理セル２１（「ｏ」）は、セグメントコネクティビティ２５のそのペアのピボット計算セル、たとえば、ピボット計算セル２２（「１４」）にメッセージストリームを直接ロードする手段を有する。したがって、計算セルアドレスを処理セルアドレスにペアごとにマッチングさせることにより、セグメントコネクティビティの選択可能なセグメントは、宣言型コネクティビティ２３から対応してローカライズ可能なメッセージストリームを受信する。
【００９２】
管理機能とアレイ機能との違いにより、処理セル回路に関連付けられた宣言型コネクティビティ２３のネットワークは、計算セル回路を相互接続するセグメントコネクティビティ２５のネットワークと異なる形態を有する。しかしながら、デジタル計算エンジン内の処理セルごとに、その近傍の計算セルが、その２つの間の信号インターフェースに対応することは既に説明している。そして、再帰曲線シーケンス４３の形状（図５の典型的な形状５６に示す）と、それに沿ったアドレスのシーケンスの形式とにより、１つの好ましい実施形態では、管理用コネクティビティの各特別処理セルには、再帰型コネクティビティのそれに関連付けられたピボット計算セルのアドレスと数値的に同一のアドレスが割り当てられ、したがって、各ピボット自体のように、その直接指揮下の計算セルセグメントのスコープを表すアドレスパターンが埋め込まれる。典型的な管理用制御アルゴリズムを形成する不規則な分岐ツリーは、典型的なデカルト構成のデータアレイとトポロジが根本的に異なるが、位置アドレスの再帰曲線シーケンスにより、主にデカルトの構成のアレイ構造は、主にツリー分岐の構成の管理スタイルのコンピュータプログラムに適合する。順次処理言語では、これは、構造化された「ｉｆ−ｔｈｅｎ−ｅｌｓｅ」によってなされる決定によって選択的に制御される入れ子の「ｆｏｒ−ｌｏｏｐ」に類似している。
【００９３】
したがって、コネクティビティ１０の１つの好ましい実施形態では、ユーザアプリケーションの要求に応じたコネクティビティの制御は、多数の同時並行で動作可能なポート１７を介して管理用コネクティビティ１５により行われる。各ユーザアプリケーションは、コネクティビティの選択可能な回路間でロードおよび分配され、計算可能なユーザタスクを形成するメッセージストリームを含む。コネクティビティは、多数のそのようなタスクを複数のデジタル計算エンジンに分配する手段を有する。各ポート１７は、端末コネクティビティと共に、ユーザメッセージストリームを１つのユーザ端末から、図５の「ｋ」などの少なくとも１つの特別処理セルにシリアルに渡す手段を有し、これは、コネクティビティにわたるタスクのロードに応じて、管理用コネクティビティ、端末コネクティビティ２４によって選択されたものである。各ポート１７は、コンピュータ処理で一般的なメッセージの論理的競合（時分割共有による遅延を除く）なしに、複数のユーザがポートに同様にアクセスするための時分割共有されたアクセス手段をさらに有する。探索パスの選択により、該少なくとも１つの選択された特別処理セルの位置アドレスがポート１７に知らされて、所有ユーザのメッセージストリームによりさらにアクセスできるようになる。そして、各特別処理セルは、該ユーザメッセージの調整された分配および評価のために不使用の標準処理セルを取得する手段を有する。これらの調整された標準処理セル（１人のユーザのメッセージストリーム用）は、他のユーザからのメッセージ用に調整され使用される処理セルとは独立して動作する。
【００９４】
このように、宣言型コネクティビティ２３は、「ｋ」などの該少なくとも１つの特別処理セル２１と共に、あるパターンの相互接続可能なフリー状態の標準処理セル１９を取得して調整を開始する手段を有し、これらはまとめて、タスクとして、ユーザのコンピュータプログラム、すなわち、彼のメッセージのストリームの論理操作専用になる。該手段により、宣言型コネクティビティは、取得した処理セルを編成して、管理スタイルのソフトウェアの細粒度の関数引数構造と適合するようにし、中でもＬｉｓｐ言語は好都合な例を提供し、プリミティブ命令のシーケンスによって再帰型コネクティビティにおける多数のアレイ処理用の計算セルを同時並行制御するニーズにも合致する。たとえば、Ｌｉｓｐのような構造の操作では、宣言型コネクティビティの取得された処理セルは、それらの間でメッセージを渡す手段と、ラムダ計算式の集約を実行するために関数の計算された評価を組み合わせる手段を有し、その一例をまもなくリストして説明する。処理セル間のこの相互作用を実現するための手段の例は、Ｈａｍｌｉｎに開示されており、そのような式に適用される場合のコネクティビティのさらなる例は、本明細書の終わりに向けて与える。
【００９５】
各処理セルは宣言型コネクティビティ２３内へのインターフェースを有し、即時引数値（すなわち、いわゆる「アトミック」値）を有するプリミティブ操作だけに対応しないコードがロードされた場合、とりわけ、該コードの定義を組み込んだ読み取り専用の辞書を記憶する宣言型コネクティビティ内の他の場所の回路にアクセスするための、該コードに関連付けられたアドレスポインタを導出し、そのような辞書は全て、相互通信ネットワーク内のその位置を記述する一意のアドレスを有する。各処理セルは、メッセージコーディングが、メッセージツリーの分岐を終了させるプリミティブ（「アトミック」）操作でない限り、さらなる処理セルに前方送信されるユーザメッセージの各部を選択する、論理およびインターフェース手段をさらに有する。ユーザのメッセージストリームから、アトムに縮小するコードがロードされた場合、ホストの処理セルは、事前定義されたプリミティブ操作を評価し、評価の結果をそれを取得する親処理セルに返し、自身をフリー状態にリセットする。さらなる処理セルは、同様にタスクが割り当てられると、類似の方法ではあるが、操作の自主性を持って、いかなるグローバル制御メカニズムからも独立して、取得したソフトウェア形式のメッセージを操作する。このようにして、適切に構造化された形式のソフトウェアは、自身をコネクティビティ全体に効果的に配布し、大半が同時並行で動作するリソースを使用してその評価を行う。
【００９６】
本明細書に記載している宣言型コネクティビティ２３のネットワークおよびその使用法のさらなる議論は、Ｈａｍｌｉｎに含まれる詳細な説明を前提とする。その明細書は、１つの好ましい実施形態の処理セル１９および２１の動作と、該ネットワークの動作とをカバーしているが、本明細書と併せて読むべきである。この目的で、本明細書では、Ｈａｍｌｉｎで公開されている元の図番号および参照番号を「Ｈ」の接頭文字で区別する。前述のように、その特許は、主に論理的な処理を扱っているが、図３および図４に関して説明したようなｎ次元デカルトネットワーク構造とは異なるタイプのコネクティビティを必然的に具現化する。
【００９７】
図７はＨａｍｌｉｎの図Ｈ２３の一部であり、ここではより明確にするために書き直したものであるが、５７などの処理セルは、好ましくはトロイダルに接続されたグリッドの形態で配置されるが、処理セル間の双方向に相互接続する信号パスは、階層的に切り替えられる２進ラベル付きのツリー構成の信号パスの形態である。この図では、太線のネットワークパスの場合の例で示すように、６０および６１などの３分割切り替えノードを介した５８および５９などのルーティングパスを有する少なくとも１つの２分木ネットワークによって処理セルが相互接続されることを示している。
【００９８】
図７では、５９などの各パスは、異常な競合なしに、両方向のメッセージの伝送を可能にするリンクのグループを含むことを理解されたい。すなわち、該パスを様々に通過するメッセージのシーケンスは決して対面せず、コネクティビティ内で切り替えが動かなくなるようなことはない。メッセージパスのこの独立性を支援して、６１などのノードは同様に、とりわけ、メッセージ間の対面競合なく、隣接するパスをルーティングする手段を有する。しかしながら、そのような各ノードで発生する分岐では、ノード切り替えを時分割共有して一部のメッセージトランザクションを区別することが必要であるが、そのような時分割共有は、メッセージ間の「頭−尾（ｈｅａｄ−ｔｏ−ｔａｉｌ）」の遅延のみを特徴とし、決して「頭−頭（ｈｅａｄ−ｔｏ−ｈｅａｄ）」デッドロックではない。この手段により、場合によっては相互接続の切り替えを共有して、宣言型コネクティビティ内の任意の２つの処理セル間で信号が渡され得る。このコネクティビティパターンの選択は、プロセッサ間のツリーコネクティビティを使用する階層型の管理スタイルのソフトウェア処理コンピュータとしての前の発明の目的を反映しており、一方、セグメントコネクティビティ２５のデカルト相互接続は、たとえば、行列演算およびデジタル微分解析などに見られるような、デカルトブロックのデータ構造の再帰的操作に関する。
【００９９】
６０などの各２進信号指向ノードは、端末コネクティビティによって使用される同じ形式の３分割切り替え器であり、まもなく図１０に関して詳述する。３分割切り替え器は、該双方向信号伝達パスのうちの３つの間に接合点を形成して、そのノードを通る６つの単方向パスを提供し、上側パスはツリーの根（図７の外）に向けられ、左右の横方向パスはそれぞれ、範囲内（ｓｕｂｔｅｎｄｅｄ）セルの範囲内リーフパスに向けられている。加えて、セルからのフリー状態信号は、途中で専用線上で２本の横方向パスを通って上側パスに向かって流れ、コネクティビティ内の他の場所のセルからのツリーを通る探索信号が、フリー状態信号のうちの１つに遭遇することを可能にして、該探索信号を不使用のセルへ切り替え可能に差し向ける。双方向の３分割ノードは、探索信号に加えて、２つの呼び出し信号が同時並行でノードを通過することを可能にする。
【０１００】
図７の宣言型コネクティビティ２３の一部のネットワークは、処理セル６２が、たとえば、図の４つの境界線に向かって（図７の例では４つのそのようなネットワークを想定している）、さらなるフリー状態の処理セルを探し、取得し、タスクを割り振りやすくなるような、複数のネットワーク形成手段を有する。このように、処理セルが４つのネットワーク全てを利用して分配を行うことにより、低位のソフトウェア階層レベルで使用されるノードの過度の密集が回避されると仮定すると、ソフトウェアアプリケーションの高位の階層レベルは、ポインタアドレスの形式を選択して、コネクティビティの全範囲にわたって広く分配を行わせることができる。これにより、ソフトウェア階層の最低レベルで使用される処理セルがより近くに配置されやすくなる。
【０１０１】
図７は、４つの該ラベル付きツリーを一例として示しており、各ツリーは、そのリーフレベルで全単射で、該複数の範囲内リーフパスを同様の複数のセルに接続し、それにより任意の範囲内呼び出しセルは、必要に応じて４つのさらなるターゲットセルへ、同時並行で信号伝達するために切り替え可能に接続される。たとえば、さらなるターゲットセルの１つが、定義されたスコープを有するピボットセルとなるように選択され得る。図中の４つのツリーはそれぞれ、その他のツリーに対して横方向にシフトされ、直角に回転されているように示している。任意選択で、このタイプのより多くのネットワークが、宣言型コネクティビティ内に実装されてもよい。探索状態の親セルは、該ネットワークのうちのいくつかを通じて独立して探索信号を送信することによって、子セルを取得し、典型的には評価用に関数式を拡張するようにする。ツリーが相互に変位しているという性質によって、望ましいことに、ルートがコネクティビティにわたって広く子に分配される傾向があるが、セルは任意選択で探索の範囲を制御する手段をさらに有する。
【０１０２】
Ｈａｍｌｉｎは、この分配処理を規定する特別な切り替えモードについて説明している。加えて、処理セルおよび２３のネットワークノードが使用可能な階層型有向探索モードは、コネクティビティにわたる切り替え可能なルートを、管理スタイルのソフトウェアの典型的には不規則なソフトウェアのツリー分岐と電気的に一致するモーフィングハードウェアパターンに配置し、ここで、ユーザソフトウェアアプリケーションの「根（ｒｏｏｔ）」は、たとえば、図５の処理セル４７に示すように、ユーザが取得した開始元の特別処理セル、すなわち、ユーザのアクセスポート１７に最初に相互接続されたものによってホストされる。その効果は、処理セルが、あたかも自然に枝分かれする木のように、宣言型コネクティビティ２３のネットワークにわたってソフトウェア構造を拡散しやすくなることである。その後、さらなるユーザアプリケーションは、さらに取得した処理セルへの自身の切り替え可能なルートを自由に、ほぼ同時並行で作り出すことできるので、その処理セルは、最初のアプリケーションの処理セルとの自由なインターリーブを、ネットワークパスへのアクセスのための不定期のキューイングを除いて相互干渉せずに、行うことができるようになり、その場合に共有されるメッセージキューは、既に述べたように、頭−尾であって、頭−頭ではない。各アプリケーションの評価は、該アプリケーションが自身をコネクティビティ全体に広げるにつれて、取得した各処理セルにコードを段階的にロードして評価することにより行われる。配布されたソフトウェアのツリーのメッセージ分岐の終了後に（すなわち、関数的にアトミックな処理セルの評価時に）、評価は階層順に分岐を介して計算の累積結果を段階的に返し、これを、全ての相互接続された分岐からの完了した計算が、最上部の特別処理セルによって、そのアプリケーション用の関連するポート１７に返され、ユーザ端末１６に出力されるまで行う。その間、自己満足した処理セルは、「フリー状態」フラグを設定して、さらなるタスクによる利用のためにフリーになったことをコネクティビティに示す。
【０１０３】
フリー状態フラグによって、新たなアプリケーション用の後続の取得のためにデジタル計算エンジンをクリアする処理は、関数型プログラミングの「ガベージコレクション」と、命令型ソフトウェア設計の手動の「メモリ再利用」とに類似している。根本的な違いは、これらの類似したアクションがマスター調整処理によってグローバルに管理されるのに対し、Ｈａｍｌｉｎでは、必要な個々の処理セルの動作が完了したときに、ガベージコレクションが各処理セル側で自律的に行われることである。
【０１０４】
この処理の例外として、アプリケーションの評価中にアレイ処理用にピボット計算セルにタスクを割り振った特別処理セルは、発信元のアプリケーションが、その特別処理セルのフリー状態フラグをアプリケーション完了の時点でコマンドにより直接クリアするまで、このガベージコレクション処理を一時停止する。
【０１０５】
各ユーザポート１７は、端末コネクティビティ２４のネットワークを通るダイバータノードおよびパスのシーケンスをスケジューリングするための処理手段を有し、それによって、１６からのユーザメッセージストリームの開始を受信すると、ポート１７は、該ダイバータノードを通り、その特別処理セルを介した、利用可能な適切なピボットデジタル計算エンジンへのシリアル信号伝達ルートを開き、これはまもなく図８に関して説明する。そして、前述のように、最初は取得した特別処理セルの制御下で、ターゲットパターンの標準処理セルへの、式ごとのユーザメッセージの前方配布が続く。したがって、管理用コネクティビティは、各アプリケーションのコード化されたメッセージストリームを解釈する以下の手段を有する。
１）インターフェース１７に配置された処理デコーダによるものであり、これはユーザのプログラム内のメッセージのストリームをデリミタコードで区切る。
２）各メッセージを解釈し、構成要素の式を適切な特別処理セルに渡すことによるものであり、これらは、アレイ処理アプリケーションの場合、式のコーディングにより要求されるアレイのスコープに従って、端末コネクティビティ２４を介して取得される。
３）各特別処理セル２１に配置されたデコーダによるものであり、これは該式を解釈し、式のサブ構造内で定義された語に従ってフリー状態の処理セルの探索を開始する。
【０１０６】
式がさらなる入れ子の式、関数名およびパラメータ名を組み込んでいる場合、処理およびネットワーク制御マイクロコードは、それらの定義された語をさらに取得した子の標準処理セル１９に渡す。標準処理セルは、そのような式、関数名およびパラメータ名を取得すると、それら自体が親処理セルとして、ユーザのプログラムを計算するのに必要な、さらなる入れ子のサブ構造を処理し、各関数に応じて適宜、さらなる子処理セル１９と、および（アレイ処理用に定義された語の場合は）特別処理セルおよびそれらに関連付けられたピボット２２とに分配し続ける。
【０１０７】
各ユーザからのソフトウェアアプリケーションの構造は、（たとえば）「ＭＴＲＡＮＳ」と呼ばれる、行列の転置のための以下の例示的なコードで典型的に示すような、関数型プログラミングスタイルの入れ子の式と一致することが期待され、これは後ほどハードウェアの動作に関してさらに詳細に論じる。
【０１０８】
；；特定の言語もキーワードも示唆していない。ユーザは、インタープリタ型言語に関して普段実行するように、最初の３つの括弧付きの式構造を手動で入力する。
【０１０９】
ユーザが入力する１つ目の式：−
（ｄｅｆｉｎｅ  ’ＭＴＲＡＮＳ  ’（λ（ψ）（＄ｍｔｒａｎｓ  ＄ψ））
’ＭＣＯＰＹ  ’（λ（θ）（＄ｍｃｏｐｙ  ＄θ）））
【０１１０】
；；＄ＭＴＲＡＮＳおよび＄ＭＣＯＰＹ（大文字）は、そのような名前（「シンボル」と呼ばれる）の定義構造内で調べられる名前であり、この構造を本明細書では「辞書（ｌｅｘｉｃｏｎ）」と呼ぶ。
【０１１１】
多数の辞書がコネクティビティにわたって配布され得る。「ｄｅｆｉｎｅ」は、定義構造が付加されたそのようなシンボルのリストを、相互リンクされた構造の取得したフリーの処理セルに並べて配布するようにユーザインターフェース１７に指示するプリミティブである。これらの例の「＄ｍｔｒａｎｓ」および「＄ｍｃｏｐｙ」（小文字）は、各ピボットデジタル計算エンジンにとって既知のマシンプリミティブとして解釈可能であると推定される。これらのプリミティブは、管理用コネクティビティの取得した処理セルの算術論理ユニットによって、また、適切な場合、再帰型コネクティビティの関連付けられたピボット計算セルによって、直接解釈される呼び出しを表す。ψは「ｍｔｒａｎｓ」への仮引数であり、まだ提供されていないユーザの式へのアドレスポインタを最終的に保持することになるレジスタをシンボル化したものである。λは、そのように定義された各関数の本体で使用されているψなどの仮引数（および、もしあればさらなる引数）の名前を記憶するようにユーザインターフェースに指示するプリミティブである。これはまた、ハードウェアの構築時に、各関数の参照構造を定義するために使用する必要がある各処理セルに、「読み取り専用」になるように指示する。すなわち、この構造は辞書エントリとして保存され、全ての構成要素には、関連するタスクの完了時にガベージコレクションがなされるまで内容を読み取り専用にする「引用」プリミティブ指定子が付加される。仮引数は、関連付けられた辞書の関数定義の先頭セルに名前で記憶され、それぞれ、ユーザのソフトウェアアプリケーションの処理中に最終的に供給される置換値に対するローカル検索参照ラベルになる。これにより、そのローカル関数内の各引数ラベルのその後の呼び出しに対して正しい参照がなされるようになる。
【０１１２】
ユーザが入力する２つ目の式：−
（ｄｅｆｉｎｅ  ’Φ  ’＃Φ
’ＥＸＡＭＰＬＥ  ’（λ（φ）（＄ＭＴＲＡＮＳ  （＄ＭＣＯＰＹ  ＄φ））））
【０１１３】
；；＃Φは、このアレイ処理の例では、シンボル名＄Φによって（任意に）呼び出される行列を保持している計算セルのグループに対する権限を有する、コネクティビティ内のどこかにある、ユーザにとって既知のピボットの計算セル（および処理セル）のアドレスである。Φの辞書定義は、この場合、単に整数アドレス＃Φである。＄ＥＸＡＭＰＬＥの定義は、まだ評価されていないサブ構造の形式の引数（＄ＭＣＯＰＹ  ＄φ）が関連付けられた、関数＄ＭＴＲＡＮＳである。
【０１１４】
ユーザが入力する３つ目の式（アプリケーションプログラム）：−
（＄ＥＸＡＭＰＬＥ  ＄Φ））
【０１１５】
；；これはユーザのメインプログラムであって、そこから評価結果が期待される。これは、行列Φの保持されているコピーの行列転置を要求し、行列Φは、ピボットアドレス＃Φに関連付けられるように上記で宣言されている。読み取り専用の構造として保持されている前述の辞書の組立部品（ａｓｓｅｍｂｌｉｅｓ）とは異なり、今回、この式は（処理セルにおいて）次のように機械的に評価されることになるシンボル名から始まる。
【０１１６】
（＄ＥＸＡＭＰＬＥ  ＃Φ））
【０１１７】
；；引数Φの定義は、ユーザがその値をピボットアドレス＃Φとなるように宣言した関数の辞書に見つかり、＃Φがこのとき＄ＥＸＡＭＰＬＥの定義に適用される。
【０１１８】
（λ（φ）（＄ＭＴＲＡＮＳ  （＄ＭＣＯＰＹ  ＄φ）））
【０１１９】
；；この＄ＥＸＡＭＰＬＥの定義を、それを含む辞書から探してコピーする。（＄ＥＸＡＭＰＬＥの処理セルにおいて）’ＥＸＡＭＰＬＥの仮引数名としてφ（小文字）を付加して、新たな直接のローカルの辞書を形成する（この中でφは＃Φとして定義される）。
【０１２０】
（λ（ψ）（＄ｍｔｒａｎｓ  ＄ψ））（＄ＭＣＯＰＹ  ＄φ）
【０１２１】
；；＄ＭＴＲＡＮＳの定義を調べ、これは、（φに関連付けられた）新たな辞書エントリにも、その次のものにも見つからないが、階層的に上の辞書で見つかる（これはユーザの２つ目の「ｄｅｆｉｎｅ」呼び出しに関連するものである）。この例では、これはシンボルプリミティブ＄ｍｔｒａｎｓの呼び出しであり、＄ｍｔｒａｎｓは、最初に参照シンボルとして識別され、デジタル計算エンジンは、＄ｍｔｒａｎｓが、それ以上検索する必要のない自身のプリミティブの１つであると気づく。その定義において、これは引数名として仮変数＄ψを有し、この仮変数は、（新たなセル内での）「ｍｔｒａｎｓ」の操作により置き換えられて、正式な定義（＄ＭＣＯＰＹ  ＄φ）が適用された＄ψの新たな辞書エントリを形成し、今度はこの定義自体が関数として評価を必要とする。
【０１２２】
（λ（θ）（＄ｍｃｏｐｙ  ＄θ））  ＃Φ
【０１２３】
；；＄ＭＣＯＰＹの定義を調べ、仮名＄θに＄φの値を適用する（これは最近アドレス＃Φになったものである）。アドレス引数＃Φを使用したデジタル計算エンジンにおけるプリミティブ「ｍｃｏｐｙ」は、ピボット＃Φを取得し、同等のプリミティブ命令をそのピボットに渡す論理構成を有する。ピボット内の命令の構成により、端末コネクティビティを介して、この例では＃Ψでシンボル化されたピボットアドレスと、＃Φに一致するスコープとを有する新たなアレイが取得される。そして、ピボットは計算セルのグループを編成して、類似しているが不使用の計算セルのグループΨへのその要素のコピーを実行するようにする。
【０１２４】
（λ（ψ）（＄ｍｔｒａｎｓ  ＄ψ））  ＃Ψ
【０１２５】
；；新たな計算セルのグループの特別処理セルのアドレス＃Ψは、＃Φのピボットから＄ＭＣＯＰＹ関数の導出値として返され、この値は次いで、元の＄ＭＴＲＡＮＳ式の定義における仮引数＄ψの定義になる。プリミティブ（ｍｔｒａｎｓ  ＄ψ）は現在、意味のある行列引数＃Ψを有するので、プリミティブ（ｍｔｒａｎｓ  ＃Ψ）は、同等な「転置」命令を、宣言型コネクティビティを介してアドレス＃Ψのピボットに渡す。
【０１２６】
＃Ψ
【０１２７】
；；そのピボットは、計算セルを編成して行列の転置を実行し、その結果を自身のピボットアドレスポインタ＃Ψとして生成して、その結果を生成するために使用された処理セルのチェーンを介して、開始元ユーザインターフェース１７に送り返す。
【０１２８】
ユーザは現在、自身の新たな行列の場所＃Ψを知っている。行列の要素自体が必要な場合、１つの例示的な方法は、ピボットアドレス＃Ψに「プリント」プリミティブ操作を適用することによって、ピボットが再帰曲線セグメントに沿って順々にデータ要素を収集して、関連付けられた特別処理セルを介して、ユーザインターフェースに向けて前方に、それらを渡すことであり得る。これにて、ユーザの例示的なアプリケーションの管理コマンドための例示的なプログラムコードを終了する。
【０１２９】
多数のデジタル計算エンジンを使用して、複数のユーザはこのタイプの多くの計算を同時に実行し得る。
【０１３０】
上記の例に代表される実行可能なソフトウェアプログラムは、一般的には、データ要素のアレイにアクセスするための、また、そのようなアレイを操作するための、専門的なコマンドを含む。これらのコマンドは、典型的には、各アレイのサイズおよびその位置の２進コード化された指定子を含む。本明細書の１つの特徴は、各計算セルが、図４の３８および４０など、再帰曲線の多数の入れ子のセグメント内の自身の位置を指定するアドレスを有することである。そのような各固定サイズのセグメントは、そのセグメントに沿った計算セルを規則的な要素のアレイとして定義し、そのうち一部の内容は２進データフィールドであり、そのセグメントの残りは「ｎｉｌ」（すなわち、「未定義」）に設定され得る。端末コネクティビティ２４、特別処理セル２１、それに関連付けられたピボット計算セル２２、およびブロードキャストコネクティビティ２６は、一緒に動作して、ユーザのアレイのサイズより大きい所望のスコープの計算セルのセグメントを選択し、ユーザの２進データフィールドのアレイを順序付けられたシリアルストリームとしてそのセグメントに配布する。各該データフィールドは、たとえば、算術演算および論理演算に適合された整数のデジタル表現を含み得る。
【０１３１】
端末コネクティビティ２４における切り替えノードの論理素子および利用可能な信号伝達パスは、後ほど説明するように、特定の所望のサイズの計算セルアレイにアクセスするために、正しいピボットスコープの特別処理セルに向けて探索ルートを適合させる手段をさらに有する。各処理セルは、そのセルがユーザアプリケーションによって使用されなくなると、「フリー状態」信号伝達フラグを設定して端末コネクティビティ２４に送信する論理的手段を有する。その処理セルは、ユーザアプリケーションにより取得および所有されてアクセス不可能になると、「フリー状態」信号伝達フラグをリセットする。端末コネクティビティ２４のノードは組み合わさって、そのような各フラグを調べ、「フリー状態」の不使用の特別処理セルに向けて入力ルートを切り替える手段を有し、ポート１７は、特別処理セルまでのノードをカウントダウンして、ユーザのアレイの指定サイズに従ってルートに指向信号を適用する手段を有する。後で、ユーザのメッセージの後続のフラグメントのさらなるシーケンスを要求できるようにするために、また、計算されたデータストリームをユーザのポートに返せるようにするために、管理用コネクティビティがユーザのメッセージの評価を完了すると、ポート１７は、前方に送信される各メッセージに、自身のポートアドレスを含むアドレスフィールドを付加する拡張手段を有する。
【０１３２】
したがって、管理用コネクティビティの端末コネクティビティ２４は、複数のユーザ端末１６からの多数の同時のメッセージ入力を受け入れ、ユーザメッセージ間で論理的競合が発生しないような後述のマルチプレクサ手段によって、それらのメッセージのデータ内容を、管理用コネクティビティの特別処理セル２１のうちの選択されたものに分配するための手段を有する。次いで、入力端末コネクティビティ２４の目的は、対応する複数のユーザ端末からの多数のユーザメッセージストリームに従って、コネクティビティ内の管理用処理回路およびアレイ処理回路を取得することである。
【０１３３】
図８に、２分「シックツリー」を介して、６３などのアクティブな入力／出力ポート１７から特別処理セル２１のうちの選択されたものにユーザメッセージを分配するマルチプレクサ手段を有する端末コネクティビティ２４の１つの好ましい実施形態を概略的に示す。
【０１３４】
ユーザからの各ユーザメッセージストリームは、評価すべき関数式を、関連するプリミティブディレクティブと共に含む。ディレクティブのコーディングは、６４および６５などの該ダイバータノードのシーケンスを、それらのノードにおける「フリースペース」信号の存在に従って、また、アレイ処理が要求されている場合は、所望のユーザアレイのスコープに従ってトリガーする、端末コネクティビティ２４への有向探索切り替え信号のシーケンスを順序付けることにより、６３などのユーザインターフェースでの入力処理を制御する。したがって、切り替えロジックは、プリミティブディレクティブおよびアレイスコープに従って、ダイバータのシーケンスを介して、適切なフリーの特別処理セルに向けて、端末コネクティビティ内の要求された各伝送ルートを構成し、その結果、ユーザの式の関数のデータ内容は、最終的に、たとえば、選択された特別処理セル６６に渡って関数解釈され、そしてそこから標準処理セルに渡り、また、メッセージがアレイ処理関数を含む場合は、再帰型コネクティビティ１２内のピボットのうちの適切なものに渡る。データアレイの場合、ユーザメッセージによって要求されたアレイのサイズは適切なピボットの選択に重要であり、端末コネクティビティ２４は、今から説明するように、そのアレイサイズに適切なスコープを有する不使用のピボットを選択する手段を有する。
【０１３５】
端末コネクティビティの構成は、６７などのポートインターフェース１７から、６５などの探索ダイバータノードへの切り替え可能なパスを有し、探索ダイバータノードは、６８などの不使用の特別処理セルからの「フリー状態」信号に応答するための切り替え手段を有する、図１０から図１３に関して説明するマルチプレクサ構成の形態であり、各特別処理セルは、優先的には、必須ではないが、それぞれの該ユーザ端末のそれぞれにとってローカルである。図８のネットワーク例は２分木であり、このツリーのダイバータノードはそれぞれ、左右への２つのブランチのセット（典型的には６９および７０）を組み込むように図示しており、７１などの図２のパス２９は、７２などの特別処理セルに直接接続される。６３などの端末１７の一部は、７３などの対応するダイバータへの直接接続を有するが、７４などのダイバータノードの少なくとも一部は、このタイプのリンクを有さない。この例では、ダイバータは、階層的なシックツリーのルートのネットワークにおいて、７５、７６、および７７などのパスによってまとめて接続されており、ツリーの最低レベルは、７８などの、コネクティビティの最低スコープの特別処理セルの少なくとも一部に接続されている。７９および８０などのより高いスコープの特別処理セルは、ツリー内の高位のダイバータノードを介してアクセスされる。７６に代表される図示したブランチの下側の線は、より大きいスコープのユーザがアクセス可能なセグメントのフリースペース探索を提供し、より低いスコープのアクセス可能なセグメントは、７７に代表されるツリーパスによってアクセスされる。特別処理セルのうち、８１はより大きなサイズのアレイアクセスを識別し、７８は最小サイズのアレイを識別する。８２などの一部のユーザアクセスが、専用パス８４を介して８３などの小さなスコープの特別処理セルのみにしかアクセスできず、その場合に、ダイバータが関与しないことは、アレイのロードおよび読み込みに関する利点である。
【０１３６】
コネクティビティにわたって２次元に配置された回路に適した１つの好ましい実施形態は、図８の全てのダイバータにおいて２つのさらなるブランチのセットを含み、一方は概念的にはページの奥へ出て、他方はページに手前から入り、いわゆる４分木を形成する。図９に、これをダイバータノード８５の４分木として、図８の７５などのパスに対応するそれらの接続のセット８６と共に概略的に示す。実装時には、４分木はコネクティビティの広さ全体に設定され、選択された特別処理セルにとって物理的に都合の良い場所で接続される。したがって、通信用の４分木は、ユーザが直接アクセス可能な最小のアレイの一部を制御する、リーフ８７にある特別処理セルと、ダイバータを介してより大きなアレイを制御する図８の８１などの特別処理セルに同じく直接接続する８８などのダイバータノードとの両方に通じるように構成される。端末コネクティビティ２４内の該ダイバータ間の８６などの線は、通信パスの「シックツリー」を形成し、したがって、図９に１本の線として示す各ツリーブランチは、各ブランチに沿った多数の利用可能なパスを含み得、パスの選択は、ユーザアプリケーションがダイバータのシーケンスに最終的に、すなわち、適切な権限を有する特別処理セルへの開放されたルートを作り出すために、選択するように要求するアレイのスコープに依存する。３つのそのようなパスを制御するダイバータノードを、図１２により詳細に示しており、まもなく説明する。少数のより高いスコープのアレイよりも、より低いスコープのアレイにアクセスする機会が多く得られることは理解されると思われ、本発明の１つの好ましい実施形態は、大きなアレイの可用性についての直接的な信号通知をユーザインターフェース１７に提供する。
【０１３７】
Ｈａｍｌｉｎにて、その明細書の図Ｈ３８および特徴（ｆｅａｔｕｒｅ）Ｈ６２に関して教示されているように、特別処理セルはそれぞれ、「フリー状態」信号を専用リンク（まもなく論じる）を介して周辺インターフェースに渡す手段を有する。端末コネクティビティの１つの好ましい実施形態では、インターフェースＨ５９１を通る他の６つのリンクは、特別処理セルから端末コネクティビティのダイバータノードへの、ひいては取得インターフェース１７への双方向の取得および通信のためのアドレス指定およびデータ信号伝達を支援する。前述のように、コネクティビティの該第２の縮小された実施形態では、ピボット自体がこのインターフェース手段を組み込んでいる。
【０１３８】
ダイバータは、フリー状態信号を検出するための手段を有し、それによって７８などの不使用の特別処理セルに向けられた「有向探索」信号により他のノードおよびパスを請求する。特別処理セル７８がフリーのままである場合、７３および７４などの中間の請求されたノードは、組み合わさって、探索ユーザインターフェース（たとえば、図８の６３）と、不使用の特別処理セルとの間にパスを作り出し、そのパスにより、（たとえば）特別処理セル７８との間でメッセージを受け渡しすることが可能になる。Ｈａｍｌｉｎ（カラム８８の３０行目以降）にて「有向リモートフリースペース探索」に関して説明されているように、探索パスが完成する前に処理セルが異なる取得アプリケーションに関与するようになった場合、有向探索パスは、処理セル６６などの同じスコープの異なる利用可能な特別処理セルの探索が再開される、端末コネクティビティ２４内で検知される次の利用可能なフリー信号まで巻き戻る。利用可能なローカルの特別処理セルがない場合、有向探索パスは、より遠くの処理セルに再び下降する前に、より高位のダイバータを介して上向きに進み得る。有向探索のロジックは、図Ｈ６５に関して説明されているものと同じであり、同じ基本回路を使用するが、本明細書では、メッセージセグメントがアレイ処理動作の命令を含む場合、探索をユーザの所望のアレイスコープにも適合させるためのさらなるロジックおよびリンクを階層に追加する。その場合、ダイバータノードは、探索中に要求されたアレイに十分な大きさのアレイのスコープのアドレスコードに従って探索信号に応答する切り替え手段と、探索信号をシックツリーの異なるレイヤに転送し、たとえば、より大きなアレイの場合は７６を介し、より小さなアレイの場合は７７を介する切り替え可能な再選択を行う手段を有する。該「アドレスコード」とは、この場合、所望のアレイスコープに一致するアドレスの特定の最下位ビットパターンを意味し、特別にアドレス指定された特別処理セルの位置ではない。該切り替え手段はそれにより、探索信号（およびその後続のユーザメッセージ）を、ユーザの所望のアレイに適切なサイズの計算セルのセグメントを制御するのに十分なスコープを有するフリーの特別処理セルに接続する。アドレスパターンの下位部分は、適切なスコープのピボットのアドレスパターンと一致し、その最下位ビットパターンは、コネクティビティ全体にわたるそのスコープの全てのアクセス可能なセグメントで同一である。
【０１３９】
図１０に、端末コネクティビティ２４の１つの好ましい実施形態におけるダイバータの主要なサブ回路のうちの１つの好ましい一実施形態を概略ブロック形式で示す。このサブ回路は、Ｈａｍｌｉｎの図Ｈ６５およびカラム７５の２５行目からカラム８０の２８行目までに関して説明されているネットワークノードから直接取得している。したがって、前述のように、同一の回路が宣言型コネクティビティのノードの動作にも適している。
【０１４０】
Ｈ５１およびＨ５６などの回路内への複数の論理選択リンクは、これらのリンクに様々に適用される論理信号レベルに応じた動作モードと共に、そこに記載されているように動作する。図１０の回路は、１つの動作モードでは、図８のツリーの範囲内の不使用の特別処理セルによって設定されたフリー状態信号を検出するために使用される。図１０は８９に、矢印の方向のフリー状態信号のルーティングをシンボリックに示すことによって、そのシンボルが本明細書にて「タイプＡ」と呼ぶ回路９０を表すことを示し、成功する探索方向はそれらの矢印と反対方向の、不使用の特別処理セルに向かう下向きである。矢印の頭は、フリー状態フラグの検知された方向を示しており、ツリー階層にわたって常に上を指し、両脇のパスには、動作時の優先切り替えルートを識別するために、「０」および「１」の呼称を割り当てている。フリー状態リンクにリンクするのに成功した後、図１０の回路８９は、取得した信号パスを１つずつラッチ解除し、これをルート全体が完成するまで行い、または信号ソースがラッチ中の取得ライン信号を除去した場合に、そのソースからの上書きの「フリー状態設定」信号によって解放されるまで行う。リンクＨ６２Ｌのフリー状態信号は、設定されると、（６５などのダイバータからの）上りマルチリンクルートＨ５３が、クロスオーバー回路Ｈ７０２を介して下向きに回路Ｈ７０４に接続することを許可する。下向きパスＨ５６が、同様に不使用の特別処理セルを探しており、同様にＨ７０６を介して回路Ｈ７０４にアクセスする許可をリンクＨ７１０Ｌから取得し得る。Ｈ７０４は、最初にアクセスした探索者のパスのみが下向きに続くことを許可するセレクタ手段を有し、第２のパスは、Ｈ７０４が最初に取得したトランザクションから解放されるまで、（たとえば）パスＨ５６上で開放状態になり（信号伝達のため）、解放時点で、パスＨ５６上の信号は放棄されており、Ｈ７０４はリンクＨ５３からの信号を下向きに進むように設定する。しかしながら、フリー状態信号がリンクＨ６２Ｌ（ひいてはＨ７０８）に存在しないために、Ｈ７０２が抑止されている場合、リンクＨ５３からの探索はＨ７０３へ続き、場合によっては前述のようにリンクＨ５１からの探索信号によって先に取得されたことによる遅延の後に、リンクＨ５５を介して上向きに続く。したがって、回路８９はメッセージトランザクションの３分割切り替え器を形成し、その略図９０を以後の回路図および説明で使用する。回路８９は、様々な双方向の取得モードおよびトランザクションを、３つの信号伝達ルート間で各方向に行うことを可能にする。一例として、１回の動作で、タイプＡ回路は以下の切り替えモードを可能にする。
【０１４１】
（ａ）要求された権限を変更せずに、上向きパスＨ５１から特別処理セルを最初に探索および取得している間に、Ｈ６２Ｒのフリー状態信号は、少なくとも一時的にソースへのフリー状態信号に従って、リンクＨ５１からＨ７０５内を下ってＨ５４に至るように、信号伝達ルートが取るパスを指示する。
【０１４２】
（ｂ）上向きパスＨ５１から特別処理セルを最初に探索および取得している間に、フリー状態信号が失われた場合、さらなるフリー状態信号が検出されるまで、探索は上向きに継続して、「０」ブランチにとどまり、検出されると、探索は再度下向きに進む。
【０１４３】
図１１にさらなる３分割切り替え器９１を概略的に示し、これは図１０の回路９０と同じものであるが、左右のパスが、図７のツリーを通るフリー状態信号の上向きの流れに対して反対方向に組み合わせられ、動作時にフリー状態信号の影響を受けないことを除く。図１１には、本明細書で「タイプＢ」と呼ぶ回路９１のシンボル形式９２を示しており、ここでも、フリー状態の処理セルへの下向きの成功する探索方向は、矢印の方向と反対向きである。ここで、９３からのフリー状態信号は、９４の有線接続でＨ６２ＬおよびＨ６２Ｒに分岐する。しかしながら、この回路では、回路のメイン切り替えロジック自体は、フリー状態信号によって直接制御されず、Ｈ７０１、Ｈ７０２、およびＨ７０６への論理入力は、この場合、いずれの上りルートも抑止しないようにハイ（ｈｉｇｈ）に設定され、パスの選択は、制御端末によって、所望のピボットスコープ用にコード化された有向探索信号によって設定される。有向探索信号は、その信号がルートに沿って各３分割回路を取得しながら、探索ルートを進む。
【０１４４】
回路８９および９１のパス取得ロジックおよびその信号伝達を制御する様々なモードについては、Ｈａｍｌｉｎで詳細に説明されている。それらの取得モードは、ルートの有向アドレス指定を含み、各３分割器ノードがメッセージの開始元に「確認応答ハンドシェイク」信号を返し、これにより、さらなるダイレクタ信号を、所望の伝送パスの次の順番の回路に送信して、所望のスコープのルートを切り替えることが可能になる。Ｈａｍｌｉｎのカラム８８の２８行目以降および図Ｈ７７Ａに記載されている有向リモートフリースペース探索に関して説明されているのと同じ方法で、ソースインターフェースからアドレスラインおよび取得ライン上に適切な信号レベルを設定することによって、探索パスのルートが方向付けられる。
【０１４５】
図８では（Ｈａｍｌｉｎで説明されているように）、９５などの描画した各線は、１つのフリー状態信号リンクを含む双方向パスと、３つの制御信号リンクずつの２つのパスとを表し、これらは、２つの対応するルートにわたって完成に成功すると、両方向に同時並行でシリアルデータトランザクションを送信することを可能にする。これらの２つのパスは、たとえば、２つのパスＨ５１およびＨ５２と、Ｈ５５およびＨ５６とに対応する。端末コネクティビティでは、（たとえば、Ｈ５６で表す）制御リンクのうちの３つからなる１つのグループが、組み合わさって、選択されるルートをユーザポートから特別処理セルに切り替えるための様々な動作モードでのパスの取得を制御し、他の３つは、処理セルからポートへの逆向きの選択可能なパスを提供する。したがって、図中に描画した各線は、少なくとも取得、アドレス、および確認応答の信号伝達リンクを含むことが理解されるべきであり、これらは全てＨａｍｌｉｎに記載されている。各矢印は、（典型的には図９に示すような）４分木のパスを上向きに通って、９７に代表されるツリー内の最上部の最高権限ノードに至る、ハイに設定されたフリー状態信号の進行方向を示す。６４などの一部のダイバータは、８０などの１つの特別処理セルとの双方向接続２９を有するが、７４などの最下部のダイバータは例外であり、これらは典型的には、４分木形式でレイアウトされた場合には最低スコープの４つの特別処理セル（たとえば、７８）への接続を有し、また、ノード６６などの１レベル上のスコープを有する５番目の特別処理セルへの接続を有する。ノード９７は同様に、端末コネクティビティの最大スコープの特別処理セル７９との直接通信を有し得る。
【０１４６】
図１２では回路８９および９１が使用されており、図１２は、４分木形式のダイバータ６５の一例示的実施形態の概略図である。その特定のケースでは、これは４分「シックツリー」の３層ノードの形態を有し、図７の宣言型コネクティビティ２３のノード６１で示す単一ツリーのノードのうちの１つの形態ではない。図１２に示す構成要素間の各相互接続信号伝達パスは、Ｈａｍｌｉｎでの取得および信号伝達に関して説明されているように、７つの信号リンクを含む。第２レベルのダイバータノード６５の例では、複数（ｄ個）の、ｄ＝２個のルートＮ１  ９８およびＮ２  ９９が、シンボリックに言えば「北」から入り、同様にＳ１  １００およびＳ２  １０１が「南」から入り、Ｅ１  １０２およびＥ２  １０３が「東」から入り、Ｗ１  １０４およびＷ２  １０５が「西」から入る。したがって、４つの基本方位からそれぞれ２つのルート（ｄ＝２）を図１２に示している。ノード６５は、３番目に高いスコープを有する特別処理セル１０６とも通信する。各ダイバータノードは、そのノードに下向きに入るｄ＋１個のパスを有し、ノード６５の例では、これらのパスは、図８で９５、９６、および７０とラベル付けしたものに対応する。図９に示すダイバータ７３の場合、ダイバータ９７はこれら３つのパスを介して通信し、また、他の３つのｄ＝２のダイバータへの同様のパスを有する。ダイバータ９７は、それに上から供給するｄ＋２個のさらなるパスを有する。
【０１４７】
完全なルートがネットワークを介して作り出され、信号伝達のためにラッチ解除されると、有用なメッセージがそのルートに沿って送信され、そのルートは後ほど、場合によっては一時的に、発信元のラッチ中の「取得」信号を除去して、ルートの構成要素のパスを他のユーザに解放することによって、閉じられ得る。探索ルートの発信元、この場合はポート１７は、取得した特別処理セルのアドレスコードを保持して、後で再取得してメッセージ送信できるようにし、次いで、Ｈａｍｌｉｎに記載された通常取得の絶対アドレス指定モードを後続トランザクションに使用する。同様に、取得された特別処理セルは、開始元１７のアドレスコードを保持して、必要に応じて、反対方向のルート取得およびメッセージ受け渡しをできるようにする。
【０１４８】
ダイバータは、それらのうち回路６５が「ｄ＝２」のダイバータの典型例であるが、それぞれ４つの基本方位に、４分木において下向きに、また、特別処理セル８１のうちの１つへ向かって接続し、各特別処理セル８１は、事前に設定されたスコープ権限を有する。たとえば、図１２の回路１０７は、処理セル１０６よりやや高いスコープを有するより高い権限の特別処理セルにメッセージを差し向け、一方、回路１０８は、処理セル１０６よりやや低いスコープを有するより低い権限の特別処理セルにメッセージを差し向ける。回路１０８の場合、フリー状態信号が、４つの基本方位（Ｎ１、Ｓ１、Ｅ１、Ｗ１）のうちの少なくとも１つによって１０９に設定されると、探索ルートのうちの対応するものを、９０２から「フリー状態」の基本方位のうちの１つを通って下向きに作り出すことが可能になり、これはすなわち、より高いスコープのピボットに探索を送信する必要がない場合である。６５より下の探索元によってより高いスコープが意図されている場合、取得リンクおよびアドレスリンクによって制御される「無向フリースペース探索」モードでは、アドレスリンク信号に応じて１１０が切り替えられ、ルートがルート１０９を介して上に向けられる。回路１０８は、タイプＡ１１１がルート１００と１０４との間で調停し、第２のタイプＡ１１２がルート９８と１０２との間で調停し、第３のタイプＡ１１０が４つ全ての間で調停するように構成される。したがって、回路１０８は、不使用の特別処理セルが利用可能であるという条件で、また、所望のスコープの任意のフリーの計算セルのセグメントを探索するという条件で、その５つの端子の任意のペアの内外に切り替えられる探索パスを提供する。回路１１３はこれらの同じ論理的特徴を、４分ペアの間のパスＮ２、Ｓ２、Ｅ２およびＷ２と、上昇パス１１４とに関して保有している。
【０１４９】
したがって、回路１０８は、同じレベルの権限で探索を渡すだけでなく、ダイバータが、取得リンクおよびアドレスリンク（たとえば、Ｈ６３ＬおよびＨ６４Ｌ）により３分割切り替え器の選択可能な進行に適用される、連続するビットシーケンスによってトリガーされたときに、段階的に低いレベルの権限と、段階的に高いレベルの権限とに切り替わることを可能にする。ポートインターフェース１７および特別処理セル内の各計算回路は、ポート１７からの入力および特別処理セルからの出力のために、端末コネクティビティを通るメッセージトランザクションルートを方向付けるビットシーケンスを取得リンクおよびアドレスリンク上に生成する手段を有する。Ｈａｍｌｉｎで説明されているように、取得リンクおよびアドレスリンク上のポートからのパルスの様々な組み合わせは、ライン設定を使用してルートに沿ったタイプＡおよびタイプＢの回路をトリガーする。ｄ＝２のダイバータ６５の例は、７０の最高スコープから９６のより低いスコープへ、そして９５の最低スコープまで下向きの探索を可能にするように構成される。
【０１５０】
一方、１１５から選択パス１１６へのタイプＢ回路１１７を介したユーザ信号シーケンスは、進行中のルートを特別処理セル１０６へ直接下に向け（この処理セルが不使用の場合）、これはこのノードレベルで最高スコープを有する。処理セル１０６が既にユーザによって所有されている場合、処理セル１０６からのフリー状態信号は１１７に存在せず、同じスコープの他のフリーピボットの探索は自動的に、パス１１８内への、ノード６５を通るフリー状態探索へと続く。図１２のフライングリード（ｆｌｙｉｎｇ−ｌｅａｄ）のシンボル１１９は、図８のダイバータノード７４と同様に、ポート１７への接続が必ずしも必要とされないことを示すが、端末コネクティビティ内の他の場所からのルートは、ノード６５を介して処理セル１０６をまだ取得し得る。
【０１５１】
タイプＢの切り替え動作の適用の一例として、タイプＢ回路は以下の探索モードを可能にする。
【０１５２】
（ａ）要求されたスコープを変更して、図１１の、ここでは上向きパスＨ５６から特別処理セルを最初に探索および取得している間に、タイプＡ切り替え器のＨ６２Ｒのフリー状態信号が、前述のように、一定スコープの「０」ブランチ上のフリー状態信号に向かうように、信号伝達ルートが取るパスを指示できるようになる前に、取得ラインおよびアドレスラインを使用して、切り替え器を「１」ブランチに向ける。
【０１５３】
（ｂ）一定スコープのパス上で、上向きパスＨ５６から特別処理セルを最初に探索および取得している間に、スコープの変更後にフリー状態信号が失われた場合、その新たなスコープでさらなるフリー状態信号が検出されるまで、探索は上向きに継続して、その後「０」ブランチにとどまり、検出されると、探索は再び下向きに進んで、そのスコープの特別処理セルおよびそのピボット計算セルに向かう。
【０１５４】
そのような動作中に、ソースは確認応答パルスをカウントし、それらを標準動作モードの記憶されたテーブルと比較して、取得処理および再取得処理中に取得の進行状況を追跡するようにする。
【０１５５】
実装されるアレイスコープの一例として、セグメントコネクティビティのセグメントのユーザアクセス可能なスコープが（たとえば）２＾１０、２＾１４、２＾１８、２＾２２、および２＾２６個の計算セルであると判定された場合、この現在の説明のノード６５は、３番目に高いレベルの権限を有する特別処理セル１０６、すなわち、２＾１８個の計算セルに接続する。６５に似ているが、３つではなく２つの上昇ルートのみを有する回路を使用して、７４などの最低レベルのノード（ｄ＝１）は、２＾１４個の計算セルに命令する１つの２番目に低いスコープの特別処理セルに接続し、また、２＾１０個の計算セルに直接アクセス可能な４つの最低レベルの特別処理セルにも接続する。図８に例として示している２分シックツリーの端末コネクティビティ２４は、４レベルのダイバータを有する４つのツリーを有する。ｄ＝４の最高位ノード９７は、それ以上の上位ノードリンクを有さないが、所望であれば、図１２の１１９のような任意選択のパスを介したさらなるポート１７（図示せず）による選択可能な直接アクセスのために接続され得る。
【０１５６】
有向探索におけるダイバータ６５の回路１０７の動作を説明するために、例として、回路１０８は、最低権限スコープの特別処理セルに接続された「西」パス１０４のみからフリー状態信号を受信していると仮定する。パス９８、１００、および１０２の特別処理セルは、既に使用されていると仮定する。最小アレイの特別処理セルを探す、１１５からの取得コーディング信号の場合、１１７からパス１１８を通る最高権限ルートの信号リンクは、タイプＢ回路１２０の「１」ブランチをアクティブにして、ルート切り替えを中間スコープのタイプＡ１２１に振り向ける。その後者の回路の有向フリースペース探索モードを使用して、取得リンクおよびアドレスリンクは、次のタイプＢ１２２への探索を強制する手段を有し、１２２は、「１」ブランチ選択によって、必要に応じて、探索のスコープを、Ａタイプ１２３の最低スコープのツリーに再度変更することが可能になる。その時点で、１０４からの、Ａタイプ１１１および１１０を経由したルート１０９と、Ｂタイプ１２４とを介したフリー状態信号は、探索を下向きに向けることが可能になり、これは１２４を経由して続き、探索ツリーを利用可能な特別処理セルに向けて下にそらすことはない。最後に、１０４より下の取得されたフリー状態の処理セルは、チェーンの完成を登録するための長い確認応答パルスを送信し、また、自身のアドレスで応答する。
【０１５７】
同様のスコープの前の取得信号が既に上から（たとえば）１２３に到達している場合、前の信号伝達が完了してラッチ解除されるまで、１２３は１１７からの部分ルートを一時的に保留する。前の信号が探索信号であり、（１０４より下の）唯一の使用可能な特別処理セルが失われた場合、１２３はフリー状態信号を失い、取得ルートはルート９５を介して上位のより高いレベルのダイバータに上向きに切り替わり、（この例では）同じ最低スコープの端末コネクティビティツリー上の同じ権限のさらなるフリー状態ルートを求める。
【０１５８】
このように、ルートをポート１７の制御下に置いて、ユーザのアレイ処理要求に適切なスコープを有する任意の１つの好都合に局在する不使用の特別処理セルへ向けてメッセージングルートを進化させ、ラッチ解除することができる。したがって、ユーザインターフェース回路は、少なくとも探索状態を含む多数の動作状態を有し、探索状態にある場合、ユーザインターフェース回路は探索信号をダイバータの多重化ネットワーク内に送信し、各ダイバータは、探索信号と、フリー状態のピボットからのフリー状態信号の存在との両方に応じて、双方向部分ルートを選択するように構成される。ダイバータは、所定のスコープのフリー状態のピボットに向かう部分ルートを、ユーザ指定のスコープを表すユーザインターフェース回路からの探索信号と、該ピボットからのフリー状態信号との両方に従って、選択するための手段をさらに有する。フリー状態のピボットが探索中に別の方法で取得済みになり、そのフリー状態から切り替わった場合、ダイバータは、探索信号伝達ルートを同様のスコープの他のフリー状態のピボットに向け直す追加の手段を有する。そのようなフリー状態のピボットが現在利用できない場合、ユーザインターフェースは、別の機会が発生するまで探索状態を一時的に保留する切り替え手段を有する。
【０１５９】
ユーザインターフェース回路は、以前に取得したピボットのアドレスを得ると、呼び出し信号を多重化ネットワークに送信するための手段を有し、ユーザ指定のピボットのアドレスに従って、ダイバータのシーケンスを介して方向切り替え器を設定することにより、呼び出し信号は部分ルートを進む。これにより、ユーザとコネクティビティとの間の双方向通信を、後続のトランザクションのために復元することが可能になる。端末コネクティビティのシックツリーがダイバータを相互に関連付ける方法を示すために、図１３に、ｄ＝３のダイバータ回路の第２の例（典型的には図８の７３）を示す。この場合、回路タイプ１０８は３回複製され、１２５、１２６、および１２７から３つのそれぞれの４分ルートのセットが、図１２に示したのと同じ方法で「Ｎ」、「Ｓ」、「Ｅ」、および「Ｗ」のそれぞれに向かって下向きに走る。１つの基本方位は、６５（ｄ＝２）で例示するダイバータと下向きに通じており、６５は、図９に示すようなダイバータ７３の範囲内の４つのダイバータの典型例である。この場合の特別処理セル７２のスコープはレベル４であり、これは、パス１２８がメンバーである端末コネクティビティ２４の構成要素のサブツリーを定義し、スコープはこの例では２＾２２個の計算セルである。ダイバータはかなりの論理的な複雑さを有するが、ユーザアクセスポートの総数、ひいては端末コネクティビティ内のこれらのノードの数は、デジタル計算エンジンの総数よりも桁違いに少ないことに留意されたい。
【０１６０】
同様に、図１２のユーザポート１１５は、処理セル１０６がフリー状態の場合に、タイプＢ１１７を介して（たとえば）２＾１８個の計算セルに対する権限を有する中間スコープの特別処理セル８０を取得する手段を有する。１０６からのフリー状態信号が存在しない場合、回路１１７は、取得パスをルート１１８経由でタイプＢ１２０に振り向け、短い確認応答パルスをユーザ端末に送り返す。存在する場合は、特別処理セル１０６は、要求されたスコープの適切な特別処理セルの取得およびそれとの通信を通知するための長い確認応答パルスを送信する。
【０１６１】
このセルが利用可能でなく、そのためにユーザ端末が切り替え器１１７から短い確認応答パルスを受信したと仮定すると、ポート端子取得ロジックは、アドレスリンクをロー（ｌｏｗ）に設定して、回路６５、タイプＡ切り替え器１２９を通り、ルート７０を経由して上向きに進む、同じスコープを有するセグメントの探索を続行する手段を有する。１２９は、大きなクラスタも必要とする場合、切り替えられたタイプＢ１３０を介して、Ｎ、Ｓ、Ｅ、およびＷ方向のいずれか１つから、下から事前の一時的な請求を行うことができる。その場合、１１５は前述のように、１２９へのリンクを一時的に保留しなければならない。
【０１６２】
またさらに、第３レベルよりも大きいセグメントの探索が１１５によって要求された場合、切り替え器１２９で適用されたローのアドレス信号は、探索をルート７０経由で上向きに次の高位のダイバータへ向ける。
【０１６３】
ルート１０１からタイプＢ切り替え器１３１への有向取得信号にはアドレス指定信号が付属し、これは、ルーティングを切り替え器１３２から１１４に上に向け、そこからタイプＡ切り替え器１３３を介して上へ（右に振り向けられるのではない）、タイプＢ切り替え器１３０を経由させるものであり、この例では、アドレス指定信号はルートを１２９経由で７０に振り向ける。パス７０は図１３のパス１２７を１３４の４分割回路を介してタイプＡ１３５に供給し、そこで探索ルートは、第４レベルスコープの特別処理セル７２からの、それが未使用であると仮定した場合の、フリー状態信号に最初に遭遇し、取得の最終段階での通常フリースペース探索中に、たとえばポート６３によって未取得のままとなる。
【０１６４】
各ユーザ端末は、ダイバータを構成する切り替え器の論理マップを有し、確認応答パルスが受信されたときに適切なアドレス指示ディレクティブを端末コネクティビティ２４内に送信するために、確認応答パルスからルーティングの進行状況を追跡するソフトウェアルーチンを有する。
【０１６５】
前述のように、上述の端末コネクティビティ２４の実施形態は、追加の多数のユーザ入力／出力ポートインターフェース１７を含み、これらは、サブアレイのセットをロードするように調整され得る同様の多数の専用特別処理セルへの通信ルートをそれぞれ有する。図８の構成要素８２、８４、および８３は、特別処理セル８３が最低権限を有し、このアレイが単一のポート８２専用である構成を示している。これは大きなデータアレイの調整された同時並行のロードおよび読み取りに適用され、これはたとえば、シリアルポートの大きなマトリクスから、その大きなアレイに割り当てられたクラスタに、はるかに小さい構成要素アレイのセットを同時に流すことによって行われる。アレイを有さない宣言型プログラミングタスクの場合、端末コネクティビティ２４を通るさらなるユーザインターフェースパスを組み込んで、アレイ処理の責任も、ピボットに対する直接の権限も有さない特別処理セルにアクセスすることができる。
【０１６６】
端末コネクティビティのマルチプレクサ切り替え回路と、制御メッセージストリームとの前述の説明により、多数のデータ伝送パス１８が、同様の多数のユーザ端末から、異なるユーザタスクに対応するアプリケーションおよびデータをコネクティビティの内外に同時並行で分配することが可能になる。各ユーザパスは、端末コネクティビティ２４内への自身のインターフェース手段１７にアクセスし、これは他のユーザパスとは論理的に独立した方法で該分配処理を実行する。コネクティビティによって処理される各該ユーザタスクは、使用時に、関数型プログラミング言語に準拠するものなどの構造化プログラミングスタイルを表すシリアルデータストリームを含む。この好ましい言語スタイルは、関数名と引数との間の明確なデリミタによって厳密に構造化されている。本明細書の説明で使用するＬｉｓｐの例示的な場合では、デリミタは、慣例により、開き括弧および閉じ括弧、ならびにスペースバーの２進コードである。この目的で、１７内のインターフェース手段の選択ロジックは、入力デジタルコードストリーム内のデリミタを、入れ子だが別々の関数式として解釈し、各式の宛先を記録して、式ごとに並べられたコードのスレッドを保持するようにし、その理由は、宣言型コネクティビティ２３が、マシンの特別処理セル回路および標準処理セル回路にわたってそれらを共有するためである。任意選択の特徴として、インターフェース１７は、マルチタスキングユーティリティを動作させるコンピュータ処理構成要素（図示しないが、最新技術では一般的である）をさらに含み得る。これらのインターフェース用の計算構成要素は、データストリームセグメントを記憶し、各々を宣言型コネクティビティのそれぞれの特別処理セルに後で再送信するための手段をさらに有し、宣言型コネクティビティは、後ほど例として説明するように、最終的にコード関数および引数を解釈する。しかしながら、このオプションは、複数のユーザにより使用される場合にユーザの分離を損なうという、よく知られているソフトウェア管理リスクを有し得る。
【０１６７】
該インターフェース１７は、インターフェース１７が、図８から図１３に関して先ほど説明したネットワーク切り替え手段によって、端末コネクティビティ２４を介した、特別処理セル２１のうちの対応するものまでのルートを作り出すと、該シリアルデータストリームの関数式を、それに関連付けられたデリミタと共に、特別処理セルに差し向けるための手段を有する。前述のように、１７のインターフェース処理は、取得した特別処理セルへのルートを追跡しているので、ルートのアドレス指定はインターフェースメモリに記憶され、通常の取得および信号伝達処理が、さらなるその後のアクションのために、同じ特別処理セルに対して繰り返され得る。加えて、ユーザが所望の場合、２回目以降の探索は、タスクのニーズに応じて、さらなる特別処理セルまで追跡され得、結果的に得られる様々なコードのスレッドおよびそれらの宛先が、入力インターフェースによるさらなるアクセスのために記録される。
【０１６８】
ユーザメッセージストリームの少なくとも一部は、ピボット２２に命令して（関連付けられた特別処理セル２１を介して）、図４の３８などの選択された計算セルのサブアレイグループの間で、アレイ処理用のセグメントコネクティビティ２５を介したアレイデータの配布を制御するためのディレクティブを組み込んでいる。対応するピボットは、ユーザコーディングによって要求された場合、グループ内の個々の計算セルによって実行される処理動作のためのデータアレイおよび命令コードをそれぞれのアレイグループに配布するように構成される手段を有する。
【０１６９】
フォーマットされたデジタルストリームとしてコネクティビティに入力されるソフトウェアアプリケーションは、関数式の広がる「ツリー」として事前に順序付けられ、操作は、取得された特別処理セルによって宣言型コネクティビティ２３を介して標準処理セル１９に配布される。処理セルは、一連のこれらの関数式を配布して、同様に広がるパターンの標準処理セルに割り当てるように構成される処理および送信手段を有し、リンクは、管理用コネクティビティ２３を介した再帰型のソフトウェア配布においてさらなる標準処理セルにつながれ、これはＨａｍｌｉｎで例として説明されており、本明細書において後で図４３および図４４に関連して説明する。そして、配布されたソフトウェアブランチ内の各単一の関数式の責任は、その式の関数部分と、その式に含まれるあらゆる引数とを解釈する手段を有する、対応する単一の処理セルに所在する。フリー状態探索ロジックは、前述のように、不使用の標準処理セルから該標準処理セルを選択し、この取得されたセルは次いで、次のレベルの式評価で「親」セルになる権限を有する。親として機能する処理セルが自身の式を完了するために権限を拡張する要求は、宣言型コネクティビティ２３によって提供される探索およびアドレス指定ロジックによって、該親がさらなる寄与する「子」処理セルを請求することによって満たされる。この再帰的な方法で、ソフトウェアアプリケーション全体は、自身を以前に不使用であったリソース全体に配布するように命令する。「親子」関係は、各処理セル内のメモリ位置ポインタに記憶されるので、親および子は、ソフトウェアツリー構造の相互リンクされた拡散コードの上下の進行中のトランザクションに、そのようなポインタを使用し得る。
【０１７０】
相当なリソースを有するコネクティビティでは、多数のユーザソフトウェアアプリケーションが独立してリソース間でインターリーブされ得る。各処理セルは１つのタスク内の１つの式のみに対する権限を有するので、宣言型コネクティビティ２３の探索処理は自律的に、複雑なソフトウェアの責任を、最終的に「アトミック」なプリミティブレベルまで下って委譲する。これ以上小さくできないその「アトミック」レベルでは、標準処理セルは、マイクロコード化プリミティブの自身のレパートリーに従って、さらなる寄与なしでローカル結果を計算する自己完結型の能力を有し、その結果を自身の親の標準処理セルへ、そのような処理セルのチェーンを介して送り返し、発信元の特別処理セルに返し、ひいてはユーザポート１７に返す。
【０１７１】
それらが前にユーザタスクによって（一時的に）取得および所有されている場合、該自律的移譲においてさらなる特別処理セルを使用することができる。この場合の一例は、異なるサイズのさらなるアレイを要求するアレイ処理動作を該ユーザタスク内で取得する要求である。
【０１７２】
Ｈａｍｌｉｎで説明されているように、宣言型コネクティビティは、全ての不使用の標準処理セルがフリー状態信号を渡す、フリー状態の信号伝達ネットワークに全ての処理セルがアクセスできるようにし、その結果、機能サポートを探している任意の処理セルが、複数の不使用の余分な標準処理セルを取得し、これらの取得した「子」処理セル自体に命令のシーケンスを連続して供給することが可能になる。処理セルにおいてタスクが何らかの理由で終了した場合、その処理セルは、その「フリー状態」フラグを自律的にリセットして、その不使用ステータスをコネクティビティに登録する。
【０１７３】
本発明の１つの好ましい実施形態は、宣言型コネクティビティツリーのノードで該フリー状態フラグのモニタを使用し、モニタはフリー状態ラインの切り替え器に接続され、これらは、新たに入力されたアプリケーションが宣言型コネクティビティの各部に流れ混むのを一時的に抑止する。抑止を好都合に調整可能にすることができる活動の密度の基準により、たとえば、ある場所でのアクセス制限を、設定されたデジタル計算エンジンのグループにわたって、場合により７０％の上限に設定することが可能になる。コネクティビティのさらなる実施形態は、分離されたマルチタスキング回路を標準処理セルに組み込むが、特別処理セルには組み込まないので、宣言型コネクティビティに同様に渡されるいくつかのフリー状態フラグは、いくつかの独立したユーザアプリケーションをそれらのセルに招待して、セルリソースを時分割共有し得る。そして、各標準セルは、各アプリケーションのアクセス権のパラメータおよび処理を切り分けるための記憶手段を有する。
【０１７４】
本発明のさらなる特徴により、決定木構造化ソフトウェアもまた、計算セルのクラスタ全体に分配させることが可能になる。一例は、Ｈｉｌｌｉｓらによって示されるような、超立方体内の構造化プログラミング言語ＣＭＬＩＳＰの構成である。しかしながら、コネクティビティの制御が管理用コネクティビティによるものであり、管理用コネクティビティが、再帰型コネクティビティに対して、アレイ処理命令を計算セルのクラスタに供給するように構成される「ホストプロセッサ」として動作することは、本発明の１つの好ましい実施態様である。該宣言型コネクティビティがツリー構造の並列処理装置を含む適切なコネクティビティは、米国特許第５，４３４，９７２号の請求項１から２６のいずれか１項に記載の、または請求項４０から７３のいずれか１項に記載の特徴によって説明され、これは、特別処理セルおよび計算セルにハードコードされたさらなるアレイ処理プリミティブルーチンによって拡張されることが好ましい。これらのさらなるアレイ処理プリミティブはそれぞれ、当技術分野で一般的な一意の２進コード化された名前を有し、それぞれに、操作されるアレイのサイズおよび形式を分類する引数番号およびシンボルが関連付けられている。処理セルはアプリケーションにおいて、後ほど例として示すように、より複雑なソフトウェア構造内でプリミティブ自体を呼び出し、特定の特別処理セルは、アレイプリミティブの各呼び出しを、要求されたスコープの関連するフリーピボットに渡す。ピボット計算セルおよび標準計算セルは、さらなるより一層プリミティブなアレイ操作を実行させるデコードロジックを有する。前述のように、これらの後者のプリミティブは、関心対象のアレイのスコープを包含するピボットの権限内にある計算セルに、操作のために差し向けられる。
【０１７５】
したがって、図７に示すタイプの超並列宣言型コネクティビティの１つの利点は、その順序付け、ならびに、たとえば典型的には図４のセグメントコネクティビティ内の計算セル２０および４２の数およびアドレス分布との対応関係である。
【０１７６】
ここで、セグメントコネクティビティを詳述する。
【０１７７】
図２に、コネクティビティ１０が、再帰型コネクティビティ装置１２を組み込んでおり、再帰型コネクティビティ装置１２が、セグメントコネクティビティ２５およびブロードキャストコネクティビティ２６を含み、また、標準デジタル計算エンジン１３およびピボットデジタル計算エンジン１４の計算セルを相互接続することを示す。前述のように、各ピボットデジタル計算エンジンは特別処理セルおよびピボット計算セルを有し、特別処理セルは、管理用コネクティビティからのデジタルコード化された命令を、直接接続された関連付けられたピボット計算セル２２に送信し、各ピボット計算セル２２は、セグメントコネクティビティ２５およびブロードキャストコネクティビティ２６を介した通信により、標準計算セルのセグメント（たとえば、図３のグループ３４）を制御する手段を有する。クラスタ化されたサブコネクティビティとしてのその計算セルのセグメントの目的は、それらの計算セルに存在するプログラム可能なルーチンおよびデータ要素のアレイに操作を実行することである。したがって、標準計算セルは組み合わさって、１つのピボット計算セルと共に、セグメントコネクティビティ２５よりも低い次元およびスコープの、３４などの少なくとも１つの従属アレイプロセッサを構成する。加えて、ブロードキャストコネクティビティ２６は、後ほど説明するように、ピボットからその計算セルのサブコネクティビティへのタスクのブロードキャストを可能にし、また、再帰型コネクティビティでの処理タスクの同期を可能にする。
【０１７８】
前述のように、コネクティビティは多数の双方向信号伝達相互接続を具現化し、再帰型コネクティビティ２５の通信ネットワークの一例は、規則的なｎ次元の２進超立方体グラフの形態であり、これはｎ×２＾（ｎ−１）個のそのような相互接続によって相互接続される２＾ｎ個の計算セルを使用する。
【０１７９】
図１４は、このタイプのネットワークの単純な４次元の例を示しており、１３７などの計算セル間の相互接続を通る１つの適切な再帰曲線１３６を太線で示している。本明細書では、「ｇ」を使用してグレイコード化されたビットフォーマットを表し、この形式は、１０進整数および２進コード化整数のシーケンスと等価であるが、コード化パターンが異なる循環型の連番の付番方式に従う。これらのタイプのコーディングは全て、単調なカウント感覚を有する。グレイコードの付番方式は、再帰的で階層的な入れ子の構造に対する卓越した再帰的識別方式であり、Ｈｉｌｌｉｓ（Ｔｈｅ  Ｃｏｎｎｅｃｔｉｏｎ  Ｍａｃｈｉｎｅ）およびＨａｍｌｉｎによって使用されている。図１４の該再帰曲線は、計算セルアドレス００００ｇから始まり、０００１ｇ、００１１ｇ、および００１０ｇと進むことが分かる。シンボリックには、これらの２進パターンには、なじみのある呼称「００」、「０１」、「０３」、「０２」が与えられるが、等価な１０進カウント順序は［０、１、２、３］になる。そこから、この曲線はグループ１３９、すなわち、０１１０ｇ、０１１１ｇ、０１０１ｇ、および０１００ｇ、１０進シンボルでは「６」、「７」、「５」、および「４」を通過し、等価な従来の１０進カウント順序は当然ながら［４、５、６、７］になる。よく知られている反転型のグレイコードの付番方式は、１１００ｇ、１１０１ｇ、１１１１ｇ、１１１０ｇ、１０１０ｇ、１０１１ｇ、１００１ｇ、および１０００ｇのパターンを有する曲線に沿って続き、この最後のパターンの等価な１０進値は１５であり、従来の２進値では１１１１ｂである。２進超立方体を完成させるリンクは１３８として示している。グレイコードと２進数との間の変換は、単純かつよく知られているビット操作手順によって実行され得る。そのうえ、整数演算の基本的な操作は、グレイコードの付番方式で実行することもできる（ＬｕｃａｌおよびＤｏｒａｎを参照されたい）。
【０１８０】
図１４の小さな（４次元の）２進超立方体の計算セルは、本明細書では「Ｈ曲線」と呼ぶこの特定の再帰曲線の相互接続と共に、図１５に平面形式で分散されて示されている。この曲線は、（とりわけ）Ｂａｄｅｒによって論じられているＨ字順の空間充填曲線とは形が異なることに留意されたい。この図には、１４０など、この小さな超立方体を完成させる残りの相互接続の一部も示している。本明細書では、Ｈ曲線は、後ほど詳述するように、行列の構成に特に関連がある。行列操作の値の操作の一例として、図１４を参照するとわかるように、セグメント１３７および１３９に記憶されたアレイ要素は、図１５の４つの単一信号リンク１４０を介して、２回のプリミティブ操作で交換することができ（たとえば、１クロックサイクルの「奇数」および「偶数」の半サイクルで同期する）、これを本明細書では「ＳＷＡＰ」操作と呼ぶ。また、この形式のネットワークでは、奇数パリティアドレスでアドレス指定された各計算セルは、偶数パリティアドレスを有する計算セルのみに接続し、その逆も同様であることに留意されたい。計算セルの超立方体を通る再帰曲線は、各計算セル内に記憶されたアルゴリズムによって定義され、そのアルゴリズムは、各該計算セルからの曲線に沿った２つの近傍の計算セルのそれぞれのアドレスを決定する。アルゴリズムの形態を変えることにより、計算セルは異なるパスのセットを選択して、様々なそのような曲線を形成する。
【０１８１】
加えて、アレイ処理クラスタに共通して渡される命令に応答して、サブコネクティビティにおいて１つの半クロックサイクルでアクティブな各セルは、所定の順次的な順序で各近傍を選択し、これに信号を送るための手段を有する。超立方体ネットワークでは、この順序は典型的には各次元の相互接続を順番にトレースし、これは、たとえば、行列の操作および要素のアレイのソートなどに適用される。
【０１８２】
ｋ−ａｒｙ  ｎ−ｔｏｒｕｓの形態のセグメントコネクティビティ２５のさらなる例を図１６に示す。ここで、ｋは各次元に沿った計算セルの整数の数であり（２進超立方体の場合は「２」）、「ｎ」は次元数である。したがって、図１６は、４−ａｒｙ  ３−ｃｕｂｅの双方向パスを示している。この特定の例は（４，３）超立方体としてシンボル化されており、これは、図３および図４で前に示したような再帰曲線を埋め込んだものと理解される。この表現では、より高次の再帰曲線の埋め込みを維持するために、整数ｋは２のべき乗になるように選択され、次に高い「ｋ」は８になる。好ましくは、このトポロジは、図１６に点線で一部を示すように、エッジおよびコーナーの計算セルの周りにルートを巡回させて、ｋ−ａｒｙ  ｎ−ｔｏｒｕｓを組み込むことによって改良され、１４１、１４２、１４３、および１４４で例示するそのような巡回ルート全てを追加することにより、図示した（４，３）立方体は（４，３）トーラスになる。一般に、（ｋ，ｎ）トーラスは、ｎ×ｋ＾ｎ個の双方向信号ルートで相互接続されたｋ＾ｎ個の計算セルを組み込んでいる。これらの相互接続パターンの数学的形式は、本明細書では図２に関連する前述のテキストに与えている。各トーラス計算セルは、２ｎ個の信号隣接近傍と接続する。この中で、幾何学的距離が大きいと、一般にこれらの信号隣接近傍の一部、たとえば、信号パスの１つ１４３を介した計算セル１４５および１４６が離れることになり、これは、マシンにわたって広くデータを分散させる際のコネクティビティの重要な特徴と見なされることが理解されよう。追加の巡回ルートは、立方体のエッジ効果を取り除き、たとえば、典型的にはＨｉｌｌｉｓによって共有された切り替え手段によって、１つの計算セルのセグメント内のアレイのデータ要素を「バケツリレー」の順序で、セグメントコネクティビティを介して行進させることによって、代替の計算セルのセグメントに再配置する手段を提供する。
【０１８３】
このタイプの概念的なｎ次元ネットワークを実際に実現する原理は、最新技術ではよく理解されている。３次元を超える、典型的にはｋ−ａｒｙ  ｎ−ｃｕｂｅの形式の厳密に形成されたデカルトｎ次元メッシュは抽象的な概念であるが、そのようなメッシュは実際には、平坦化されたネットワークとして表現することにより、信号通信トポロジを保持しながら、多層平面回路に容易に実装することができる。米国特許第４，５９８，４００号（Ｈｉｌｌｉｓ）では、とりわけ、１５次元の２進超立方体（すなわち、ｋ＝２）が、すなわち、シンボリックには（２，１５）トーラスとして採用されている。
【０１８４】
コネクティビティ内の各処理要素は、ｎ次元形式の再帰曲線および階層的アドレス指定により、曲線内に埋め込まれた１次元の文字列アレイに沿って、２次元アレイ、３次元アレイ等々、ｎ次元までと同様に簡単に、自身のネットワーク位置を計算することが可能になる。この手段により、所与の数の計算セルに対する各コネクティビティパターン、たとえば、３次元のコネクティビティを構成するものなどは、単一の均一で単調なアドレスのシーケンスを使用して、２次元シーケンス、１次元シーケンス、または実際にはｎ次元シーケンスとして等価に表現することができる。これは本発明の重要な特徴の１つであり、その理由は、この共通のｎ次元のコネクティビティが、セグメント化された直線状のデータシーケンスに使用でき（ソート操作時など）、入れ子の平面アレイに使用でき（行列操作用など）、多次元デジタル微分解析などのアプリケーションに使用できるためである。そのうえ、ユーザアレイの選択された次元数ｐを表す「次元パラメータ」「ｐ」を設定することにより、計算セルの再帰曲線のセグメントに沿って計算セル間に分配される単一のデータシーケンスは、直線状のシーケンスの形式と、等価なｐ次元ブロックの形式との間でソフトウェア切り替え可能になる（これは、特定の処理アプリケーションを変更するのに適切であり得る）。
【０１８５】
図３は多次元の（４，３）ヒルベルト曲線の一例を示しており、図１７はグレイコード形式の典型的なアドレス指定の構成を示している。再帰ヒルベルト空間曲線は、この例の場合、３次元の計算セルを介して、１４７の最低アドレス００００００ｇから１４８の最高アドレス１０００００ｇへの方向にトレースされる（６４個の計算セルの場合）。様々な代表的な３次元反転型グレイコードアドレスも図示しており、これらは、この特定の曲線の３つの軸に沿った計算セルの位置を代表するものである。グレイコーディングでのビットの１つの好ましい構成を、シンボリックに１４９として示しており、ここでｚ軸はページから抜け出ており、各軸のビットのシーケンスは図示のとおりであり、各軸の各ビットシーケンスはそれ自体がグレイコードである。したがって、計算セル１５０の空間座標およびアドレスは、（ｘ，ｙ，ｚ）＝（１１ｇ，０１ｇ，１０ｇ）＝１１０１１０ｇであり、これは座標値を左から右に連結することで生成され、この方式は必要数の超立方体次元に拡張することができる。
【０１８６】
計算セルごとに、Ｂｕｔｚにより「ｒｈｏ」と呼ばれる、曲線に沿った整数カウントが存在する。「Ｓｐａｃｅ  Ｆｉｌｌｉｎｇ  Ｃｕｒｖｅｓ  ａｎｄ  Ｍａｔｈｅｍａｔｉｃａｌ  Ｐｒｏｇｒａｍｍｉｎｇ」において、Ｂｕｔｚはｒｈｏのｎ次元値をｎ次元座標、すなわち、該（４，３）の例では３次元座標の観点でのアルゴリズムを使用して導出している。Ｌａｗｄｅｒ（彼の文章を若干修正したもの）は、逆の導出を提供している。計算セル１５０のｒｈｏは、その空間アドレス１１０１１０ｇと比べて、１０進数で「３２」、２進数で１０００００ｂ、グレイで１１００００ｇである。Ｂｕｔｚのアルゴリズムは、一般的な（ｋ，ｎ）ヒルベルト曲線の１つのバージョンを生成し、これはデータ探索およびデータソートに適用される。このアルゴリズムは、各計算セルのグレイコードの「ｒｈｏ」を事前計算し、曲線に沿ったその２つの信号隣接近傍についての相対アドレスを取得して、再帰型コネクティビティ内の各計算セルにロードするために使用される。その複雑さのために、このアルゴリズムは、場合により製造時に、計算セルのメモリにインストールするためにオフラインで計算され得る。この性質のより多くの曲線を同様に計算セルのメモリに記憶して、様々なアプリケーションで選択し、使用することができる。
【０１８７】
図１８は、図４のＨ曲線の形を複製している。これは、１５１から入り、アドレス００００００ｇのデジタル計算エンジン１５２を通過する（４，３）ハイパートーラスを表し、このアドレスは、管理用コネクティビティ内のネットワークのうちの選択された１つにアドレスを一致させることと、アドレス番号付けのスケーラビリティを緩和することとの両方に好都合な物理的位置であり、その理由は、コネクティビティが、より多くのデジタル計算エンジンを有する実施形態にスケールアップされるためである。この曲線は、ルート１５３を介して、曲線に沿った「ｒｈｏ」アドレス１０００００ｇ（すなわち、１１１１１１ｂ、または１０進数で６３）を有する計算セル１５４からさらなるセグメントに抜け出る。この図では、曲線に沿った計算セルのある選択についての「ｒｈｏ」距離がボックスで囲まれている。この例では、計算セルの空間アドレスは、軸１５５に従って順序付けられた座標で示され、原点１５６は計算セル１５２に位置し、したがって、１５７の空間座標アドレス（ｘ，ｙ，ｚ）は（００ｇ，１０ｇ，０１ｇ）であり、「ｒｈｏ」アドレスは０１０００１ｇ（すなわち、１０進数で３０）である。
【０１８８】
Ｈ曲線の「ｒｈｏ」は、Ｂｕｔｚの形式とは対照的に、空間デカルト座標と些細な関係を有する。その結果得られる、ｍ次元構造の範囲にわたる空間的均質性により、合同セグメント間の平行移動の直進の等長写像（ｄｉｒｅｃｔ  ｉｓｏｍｅｔｒｙ  ｉｎ  ｔｒａｎｓｌａｔｉｏｎ）が可能になり、これにより、たとえば、行列の関係が鏡像関係になる。
【０１８９】
再帰Ｈ曲線は図４に３次元の場合について示しており、図４は図３のヒルベルト曲線よりも単純な実施形態を示している。Ｈ曲線は、本明細書で後ほど説明するように、並列行列操作に特に適用される。いずれの場合も、ｍ次元曲線は、正方形、立方体、および超立方体に含まれ、たとえば図１９に代表されるような、集積回路内のデジタル計算エンジンのレイアウトに典型的な、規則的な２次元デカルトパターンに平坦化することができる。図１９は、次数２の８次元Ｈ曲線（すなわち、８次元２進超立方体内に含まれるもの）を示しており、ここで、「次数」とは、超立方体およびトーラスの各エッジに沿ったＣＥの数である。したがって、図１９は、それと同時に、次数４の４次元曲線（４，４）の図である。図１９は、計算セルのアドレス指定の１つの好ましい構成を示しており、計算セル１５８は、任意にシンボル「２」として示す、１５９のこのセグメントのトップレベルの２つの２進の桁（すなわち、１０ｇ）と、その場合に「２」で例示する１６０の次のレベルと、「３」で例示する１６１の次のレベルと、「２」で例示する１６２の次のレベルと、「１」（マークなし）で例示する１５８の最低レベルとから形成されるアドレスを有する。したがって、１５８の計算セルのアドレスは、シンボルシーケンス＊  ＊  ．  ．  ．  ＊  （２）  ２  ３  ２  １ｇであり、これは完全なグレイコード形式の２進数：＊  ＊  ．  ．  ．  ＊  （１  ０）  １  ０  １  １  １  ０  ０  １ｇに相当し、先頭のシーケンス「＊  ＊  ．  ．  ．  ＊」は、より大きなコネクティビティのためのより高次元のアドレスの桁を表す。
【０１９０】
図示したセグメントの曲線への入り口１６３は、計算セルアドレス＊＊．．．＊（１０）００００００００を介しており、出口１６４は、アドレス＊＊．．．＊（１０）１０００００００の計算セル１６５を経由する。明確にするために、曲線に必要なもの以外の全てのコネクティビティの信号伝達パスは、この図には示していないが、セグメントコネクティビティのそれらの残りは、前述のハイパートーラス信号伝達パスの一般化されたアルゴリズム式に従う。これらの後者のパスの一部の例を図２０に示し、図１９の１６５および１６６などの一致するセグメント内の計算セルは、該ハイパートーラス信号伝達パスを介してＨ曲線の合同形式として相互通信する。
【０１９１】
図２０は、２＾８個の計算セルを有する完全な８次元２進超立方体における後者の該双方向相互接続の一部を示しており、曲線リンク１６７のグループ（１６８を含む）などの図示したリンクは、計算セルの全ての列について同一のリンクパターンを示唆するものとし、曲線リンク１６９のグループは同様に、全ての行について同一のリンクパターンを示唆している。８つの典型的な列リンク１６７により、上半分の計算セルのブロックは、下半分とデータ要素をＳＷＡＰすることが可能になり、８つの典型的な行リンク１６９により、右半分の計算セルのブロックは、左半分とデータ要素をＳＷＡＰすることが可能になる。この構成は、４つの列リンク１７０に代表される列リンクと、１７１に代表される４つの行リンクとを使用して、計算セルの象限まで下へ続く。この階層的な操作は、リンク１７２および１７３を介して繰り返され、最終的には最低レベルで、１７４、１７５、および１７６などの単一リンクを介して繰り返される。Ｈ曲線の場合、他のセグメントを通る曲線は１７７から入り、１７８から出る。セグメント内では、曲線はそのアルゴリズム形式に応じて適宜、前述のパスを使用する。
【０１９２】
図２１に、再帰Ｈ曲線のアルゴリズムを示す。一番上の行１７９に沿ったｎ次元座標は、等価な２進整数ではなく、グレイコーディングを有すると有利であり、それによって１８０のＨ座標への変換は、アルゴリズム変換１８１に示すように、導出が簡単になる。１８２の例示的なシーケンスは、（８，５）トーラスにおけるデジタル計算エンジンアドレスの５次元デカルト座標値である。同じデジタル計算エンジンは、１８３に示す「ｒｈｏ」値を有し、２次元デカルト平面に平坦化されると、同じデジタル計算エンジンの（ｘ，ｙ）グレイ座標は１８４のようになる。この最後の値では、ｘ座標を構成するために、先行ゼロビット１８５が必要である。
【０１９３】
したがって、コネクティビティは、図２１に関して説明した特徴的なアルゴリズムに従うｎ次元の再帰曲線シーケンスである再帰Ｈ曲線シーケンスの形式などの軌跡を選択する手段を有し、曲線のノードの座標は、グレイコード化されたアドレスなどの再帰的にコード化されたアドレスに一致する。
【０１９４】
図１９に示す要素のシンボルでの番号付けは、グレイコードシーケンスを使用して変換された２進超立方体内の計算セルのアレイのセグメント間の要素関係が一致するように選択される。この番号付けを、図２２に関してさらに詳述し、図２２は、入れ子のグレイコードを２次元行列上にリストしており、これらを平面の２つのｘおよびｙ軸のグレイコーディングに関連付ける。ｙ軸は、たとえば、右から左に階層的に読み取られるべきであり、一番右のビットは最上位ビットである。したがって、最上行はｙ値＊＊（０）１１１１１ｇを有し、最下行はｙ値＊＊（０）０１１１１ｇを有する。前に説明したように、左下のセル１８６の結合されたグレイコードアドレスは＊＊（１０）１０１１１１１１１１ｇとなり、ここで、２軸のグレイコードが交互配置され、ｘ軸の先頭ビットはｙ軸の先頭ビットの直前にある。象限レベルのうちの４つについて、同等な階層的なシンボルでの番号付けを示しており、最上部の象限は、グレイコード形式での１０ｇに対応する、従来の１０進シンボル体系を使用した「２」（任意選択）である。図示したアレイ全体を構成する計算セルの４つの象限は、右下に「０」、右上に「１」、左上に「３」、左下に「２」と命名されている。すなわち、単調なグレイ番号のシーケンス：００ｇ、０１ｇ、１１ｇ、および１０ｇである。最終的に個々の計算セルまでこのパターンに従うと、セル１８７は、たとえば、＊＊（２）１２０１３ｇ＝＊＊（１０）０１１００００１１１ｇと命名され、ここで、括弧は図示したセグメントの最上部の象限のアドレスを囲っている（この場合任意である）。
【０１９５】
図２３は、完全な２＾１０個の計算セルの超立方体についての行および列の相互接続１８８および１８９を示すセグメントコネクティビティ２５の一部のさらなる簡略図である。図中の示唆により、相互接続リンクは、図２０に示すように、それぞれ計算セルのペアに接続される。計算セルの単一の代表的な行と、同様に計算セルの列とを示しており、計算セル１９０は、この図の行および列の両方に存在すると仮定している。計算セルの行についての計算セルのグレイコードも示しており、列の計算セルに同じパターンが適用される。その場合、計算セル１９０の空間アドレスは＊＊１１１００１１１００ｇとなり、桁はｘ軸とｙ軸との間で交互配置される。Ｈ曲線の場合、＊＊００００００００００ｇの原点は、ｘ＝２１およびｙ＝２１（１０進数）にあると好都合である。
【０１９６】
各計算セルへの４つのパスを有する２次元デカルト構成としてのセグメントコネクティビティのより単純な形態が、たとえば、ＩＣＬ  ＤＡＰで実装されている。その単純な構成と、本明細書に記載のより高次元の形態との両方への追加として、再帰曲線の信号パスを損なうことなく、計算セルのペア間でさらなるパスが接続され得ると有利である。これらは、図２４に１９１で示すクロスリンク対角線接続などのパスを含む。このタイプのネットワークには、たとえば、シストリックアレイおよび人工ニューラルネットワークコネクティビティなどに適用される。
【０１９７】
したがって、セグメントコネクティビティ２５は、各計算セルから、信号的に隣接するが必ずしも地理的に近傍ではない計算セルへの、１対多のハードワイヤードの直接相互接続を有しており、それによって、計算セルのクラスタは、地理的にローカルなグループと、地理的に離れたグループとの両方に同時にデータを転送するように、切り替え可能かつ集合的に有効化される。再帰型コネクティビティ１２は、これらの手段により、また、再帰曲線によって、多数の明確に定義された計算セルのクラスタおよび階層的サブクラスタを含み、それぞれが、自身のピボット計算セルの制御下の固定数のセルを有する。コネクティビティ内の各ピボットのアドレスは一意に定義され、そのセグメント内の計算セルの数と、そのセグメント内の構成要素の計算セルのコネクティビティにおける位置との両方を区別する。これは、そのセグメントによってホストされるように意図されたデータ構造のスコープと互換性のあるアドレスパターンを有する特別処理セル、ひいてはそれに関連付けられるピボット計算セルを見つけることによって、処理リソースを割り当てることが可能な文字列およびアレイを宣言する際に重要である。
【０１９８】
このように、図４の３１および３９などのセグメントは、中央のエグゼクティブホストプロセッサを必要としない複数の多様なサイズの自律的に動作するプロセッサのアレイを定義する規則的な計算セルのクラスタを定義する。前述の制御ピボットを含むそのような計算セルのクラスタはそれぞれ、ユーザが、自身のアプリケーションの期間中に専用アレイプロセッサとして、事前に定義された次元およびサイズの制限されたスコープ内でアクセスすることができる。
【０１９９】
各計算セルは、コネクティビティ内の計算セルの総数に比べて少ない複数の入力ポートおよび出力ポートを有する。近い将来に実現可能な工学原理により、必然的に大規模なコネクティビティに実装可能な物理リンクの総数が制限されるので、各計算セルに直接接続される、信号隣接する通信する近傍の数が制限される。相互接続は、電気光学式などの任意の好ましいデジタル媒体を介してなされ得るが、電気的インターフェースは常に少なくとも部分的に必要となり、したがって、本明細書では簡単にするために、通信を「電気的」なものと仮定している。通信動作では、各計算セルのメッセージ受け渡し用のマイクロコード化プリミティブはそれぞれ、１回の送信で、計算セルと、その信号隣接近傍のうちの少なくとも１つとの間にデータ通信を生じさせ、行列への多くの操作には、後ほど説明するように、信号隣接近傍間の接続しか必要とされない。しかしながら、１つの好ましい実施形態では、各計算セルは、メッセージを認識し、解釈し、そしてより遠くのターゲット計算セルに渡すことによって、その処理内で、ターゲットの宛先の方向に、ネットワークを介したメッセージ送信のチェーンを提供することが可能になるインターフェース手段をさらに有する。図２５に、図１９の構成を、計算セル１９２と１９３との間に形成される関係と共に示す。それらのアドレスは「＊＊２０３２２」および「＊＊２３１３２」、すなわち、＊＊（１０）００１１１０１０ｇおよび＊＊（１０）１１０１１１１０ｇであり、前方の桁は全て、２つのアドレスで同じである。明らかに、それら２つの計算セル間で単一のパスを使用して直接通信を行うことはでき、その場合、メッセージは１回の反復で送信することができる。前述のように、一部の計算セルのペアは実際にそのような特権的なパスを有するが、その特権は、大規模なコネクティビティ内の全てのペアに拡張することはできない。超立方体の接続は、この問題に対する１つの妥協的解決策を具現化し、その場合の図示した２つの計算セル間の１つのパスのセットは、図示のように、４ステップでのメッセージ受け渡しを行う。したがって、メッセージの通信が、信号隣接近傍でない計算セル間で指示された場合、１９４などの任意の中間計算セルがターゲットアドレスに従って順番に動作し、それによってメッセージが伝えられて、最終的にターゲットの宛先の計算セルに到達する。この目的で、呼び出し元に関するグレイコード化されたターゲットアドレスは、本来的にソースとそのターゲット計算セルとの間の前方が短縮された相対アドレスであり（完全長の絶対アドレスではない）、ビットパターンの長さは、（Ｈｉｌｌｉｓに認識されているように）途中で必要となる最悪ケースのメッセージ送信回数に厳密に対応する。２つの計算セル１９２および１９３の間のチェーン内のリンケージは、グレイコード化されたアドレスの排他的ＯＲの比較によって見つかり、この場合は相対アドレス１１１００１００ｇとなり、このとき全ての先行ゼロは無視される。アドレスビットは（２次元の場合）「ｘ」軸および「ｙ」軸の間で交互配置され、より上位のビットはより大きなセグメントスコープに対応するので、相対アドレスの最初のビットは、最高レベルの象限間の「ｘ」パス１９５に対応し、２番目は、同じく最高レベルの象限間の「ｙ」パス１９６に対応する。相対アドレスの次の「１」のビットは、再びｘ方向であるが第２レベルの象限間であり、通信パス１９７を与え、そして、次の「ｙ」および「ｘ」レベルは無視されるが、第３レベルの象限の通信１９８が「ｙ」方向に必要とされる。最後に、第４レベルの象限は「ｘ」および「ｙ」両方向で無視されるので、通信は必要に応じて計算セル１９３で終了する。相対アドレスの各ビットは、メッセージがそれを通して宛先に差し向けられる、サブ超立方体の１つの次元を通るパスに対応する。セグメントの階層にわたってメッセージを送信する途中で、メッセージは相対アドレスで「１」のビットの次元のみを通過し、セグメントスコープのカウントが相対アドレスを介して下向きにインクリメントすると、セグメントのステップはサイズが小さくなり、相対アドレスが「０」を有する場合、メッセージ送信なく、相対アドレスがデクリメントされる。したがって、それに応じて、各中間計算セルにおいて各段階で少なくとも１ビットだけ相対アドレスが短縮され得る。しかしながら、逆向きの通信が行われ得るように、ソースの相対アドレスも保持すると通常は有利である。そして、この後者のアドレスは、ルートに沿って各中間計算セルでｎｉｌからインクリメントされるので、アドレスビットの総数は、ルート内の各該中間計算セルにおいて、該計算セルのペアの相対アドレスの長さで一定のままである。
【０２００】
前述のように、少なくとも一部のペアの計算セルは、時分割共有されたデータバスに沿った切り替え可能な接続を介して、データ伝送ルートを他のペアと時分割共有し得る。これは、セグメントコネクティビティの大規模な実施態様において、コネクティビティ全体のパスの数を最小限に抑える際に有利である。その場合、バストラフィックの時分割共有によって、同時並行動作時の何らかの制限は避けられないが、コネクティビティの多くの重要な同時並行で動作するアプリケーションへの悪影響が、それらのアプリケーションを形成する構成動作の階層的なスケジューリングによって軽減されることを例によって示す。
【０２０１】
図２６にバシング構成の１つの好ましい実施形態を示し、１９９などの各バスが、２００などの選択された等しいサイズの計算セルのクラスタからのスケジューリングされたフィードを有する。参照番号２００は、（この例では）８個の計算セルのクラスタに括弧を付与しており、これらは、マルチプレクサ２０１を介して、そしてライン結合器２０２を介してバス上へ、時系列順にバスへの伝送アクセスを有する。制御は、本明細書では例のごとく、ピボット計算セル２０３によるものであり、ピボット計算セル２０３は、他の任務に加えて、マルチプレクサを時間切り替えし、リンク２０４を介してバスコントローラおよびアクセススケジューラとして機能することが可能になる手段を有する。セグメントの制御時に、ピボットは、そのセグメント内の通常の機能として、自身のグループ２００に配置された複数の計算セルに、多数の同じサイズのクラスタのうちの１つ（たとえば、２０５）としてタスクを割り振り、これらの事前に選択されたクラスタは、マルチプレクサ２０１を介して時間順で切り替え可能に接続され、マルチプレクサ２０１は、時間スケジューリングされたメッセージをピボット自身の専用バス１９９経由で該多数の同じサイズのクラスタに順番に供給する。２０１などの各マルチプレクサは、デマルチプレクサとして動作し、他の同様にピボット制御された専用バスから、同様のパターンの時間スケジューリングされたメッセージを受け入れることが可能になる手段をさらに有するが、自身のピボットは、より高いスコープの、範囲を定めるピボットの命令に従って、マルチプレクサを送信モードおよび受信モードでスケジューリングする手段を有する。
【０２０２】
信号隣接する計算セル間の短距離配線は、この種のバシングを保証するものではなく、それらのリンクを介したトランザクションに対して完全な同時並行性を維持することができる。これらの専用のペアごとの相互接続は、階層的なパスのグループ２０６によって概略的に示している。したがって、大規模なコネクティビティのより長い信号伝達リンクに対して、バシングモードの動作が選択され、それによって、マルチプレクサを介した時分割共有により、それらの相互接続の処理時間が（この例では）あ８分の１に短縮される。しかしながら、配線密度と処理時間との間のトレードオフは、チップおよびモジュールからの信号リンクの統合を必要とするような、一部の実施形態にとって価値があり得る。
【０２０３】
送信側および受信側のバス接続されたグループのペア同士の関係は、十分に分離された信号隣接する計算セルの単一ペア同士の間に存在する階層関係と同じである。この後者の関係は、図２３の計算セル１９０から出ている専用パスに代表される、水平方向の行の階層にわたる専用パスに代表される。ピボットによって管理されるバスを介した電気コネクティビティの構成は、概念的なブロック２０７にリンクの階層として視覚化され得る原則に従い、ここで、２０８などの各曲線はこのとき、計算セルの（この例では）８つのペアの統合された（ただし時間スケジューリングされた）メッセージパスを表し、各パスは、バス１９９に沿って順番に共有される８つのメッセージパスをホストする。これらの統合されたメッセージパスは、図２３の１８８に示すパスに代表される同じ階層ルートを進む。したがって、２進超立方体の行について、図２６は、次元＃２、＃４、＃６、および＃８が、例として、計算セルのペア間の直接パス（典型的には２０６）によって満たされ、次元＃１０、＃１２、＃１４、＃１６、および＃１８が、共有されたメッセージのストリームに統合されることを示している。多くのタイプのデータアレイ操作では、このようなピボットによる制御によって、階層的にバス共有のシーケンスを順序付けする際に利点があり、ピボットはそのとき、規則的で階層的な順序で、信号伝達２０８によって２０５などのブロックを切り替え可能に制御し、時間順でバスを共有する。
【０２０４】
したがって、２０１および２０８などの各マルチプレクサは、自身の計算セルのクラスタからの信号を専用バス上に多重化する手段を有し、２０９などの他の複数のバスから信号を受信して逆多重化する手段をさらに有する。したがって、２０５などの計算セルの各クラスタは、クラスタ２００のように、メッセージを送信するための自身のマルチプレクサ２１０および専用バス２１１をさらに有し、２００から適切な８つのメッセージのシーケンスを受信する逆多重化をさらに有するが、この場合、複数の入力が同様の複数のバスからあり、１つはこの場合１９９である。
【０２０５】
そして、時分割共有データバス回路は、セグメントコネクティビティのいくつかの該信号伝達パスと置き換わり、該回路は、データバスを介して順次的な順序で、計算セルのグループからのデジタルコードのシーケンスをルーティングするように構成され、デジタルコードは、さらなるグループのそれぞれのセルへの送信のために切り替え可能に順序付けられ、データバス回路は、とりわけ、前述の単調に配列された信号伝達チェーンのそれぞれのパスを担当する。
【０２０６】
バス接続から各該グループへのメッセージは、前述と同じ階層順に従うので、任意の一時点で、１つのバスからの１つのリンクのみがデマルチプレクサ内へアクティブになる。したがって、デマルチプレクサは各バスから順番に受信したメッセージを渡し（この例では行に５つとなる）、たとえば、グループのピボット２０３の制御下でクラスタ２００に供給するように概念的に図示しているものを渡す。同様の数のバスが、関連付けられた計算セルの列から入る。このタイプのメッセージ共有を大規模計算において実用的なものにする階層的なソフトウェア処理は、後ほど例によって説明する。
【０２０７】
図２のデジタル計算エンジンおよびそれらの接続を、図２７においてより詳細に検討し、図２７は９つのデジタル計算エンジン２０および２２のグループを示しており、それらの内部の構成要素としてインターフェース回路２１２を含み、セグメントコネクティビティ２５内で、この場合は地理的に隣接する信号隣接近傍への双方向の信号リンク２１３を介して互いと相互通信する。各デジタル計算エンジンはまた、２１４などのブロック矢印で表すように、セグメントコネクティビティ２５内に少なくともさらなる複数の信号リンクを有し、信号リンクは、他のローカルのデジタル計算エンジンと、より地理的に離れたデジタル計算エンジンとに様々に向けられる。
【０２０８】
デジタル計算エンジンは、インターフェース回路２７および２８からブロードキャストコネクティビティ２６内への他の通信リンクと、端末コネクティビティ２４および２１６に対するインターフェース回路２１５から宣言型コネクティビティ２３内への他の通信リンクとを有する。場合によっては、リンクは、たとえば、宣言型コネクティビティおよびブロードキャストコネクティビティの構成内の中間切り替えノード（図示せず）を通るように方向付けられるが、その他は、典型的にはセグメントコネクティビティ内のように、計算セルのペア間のポイントツーポイントの専用リンクである。コネクティビティ２３から２６によって提供される相互接続の例のより詳細な例示は、上記で説明している。
【０２０９】
図２７では、デジタル計算エンジン２０および２２を概略的に示しており、各デジタル計算エンジンは、少なくとも４つのネットワーキングインターフェース回路２１２であって、それぞれがそのデジタル計算エンジンから基本方位に通信する、該少なくとも４つのネットワーキングインターフェース回路２１２と、演算および論理処理ユニット、ダイレクトメモリアクセスなどのメモリ管理付きのローカルメモリ、ならびに多数のクロックパルス列へのアクセスを有する少なくとも１つの中央処理装置２１７とを有する。２０および２２の該中央処理装置ならびにそれらのインターフェースは、最新技術では一般的なコンピュータとして実装され得ることは理解されよう。次に、各インターフェース回路２１２は、複数のシリアル双方向信号伝達ポートを有し、これらは、計算セルのペア間で、処理セルのペア間で、およびユーザポートとの間で、メッセージング動作を相互に関連付けし、最新技術では一般的であるように、ＣＰＵの内外へのこれらの動作を時間スケジューリングするための手段を有する。この目的で、ポートは、電子ラインドライバと、関連する信号およびデータストリーム書き込みおよび読み取り回路とを含み、一部はシリアルデジタル通信パスとして構成され、一部は時分割共有されるデータバスとして構成される。加えて、インターフェース２１２内の各インターフェースポートは、着信信号および発信信号をバッファするための少なくともローカルストレージ手段を有し、これにより、関連付けられたＣＰＵは、要求に応じて該ローカルストレージ内の信号メッセージをロードし、これにアクセスすることが可能になる。各デジタル計算エンジンはアドレス操作回路を有し、これは、インターフェース２１２内のデジタル計算エンジンポートと連動して、コネクティビティ２３から２６のいずれかを介してアドレス選択可能な他のデジタル計算エンジンに信号を差し向けるものである。
【０２１０】
セグメントコネクティビティは、各該計算セルから、その信号隣接近傍のうちの切り替え可能に接続可能なものへの直接の１対１通信を提供する。この近傍アドレス指定動作は、ＣＰＵ内のプログラムおよびデータ操作に使用されるメモリ位置への従来のアクセスとは異なることを理解されたい。
【０２１１】
デジタル計算エンジンのアドレスは、セグメントコネクティビティ２５において、奇数アドレスのデジタル計算エンジンが偶数アドレスの近傍のみに接続されるように、およびその逆となるように実装されると有利である。このアドレス指定および接続の構成が、メジャークロックサイクルの２フェーズに応答する切り替え手段によって補完されることは、デジタル計算エンジンの内々の動作にとって価値がある。前述のように、これにより、デジタル計算エンジンの全てのペアの間の通信が一義的に区切られる。
【０２１２】
そして、計算セル間のセグメントコネクティビティ２５のネットワークは、ユーザプログラムがアレイ処理を必要とする場合の特定の命令に従って、一致する計算セルのセグメントに存在する様々なサイズのデータアレイを切り替え可能に操作するように動作可能である。該命令は、第１に、１つの好ましい実施形態では特別処理セルにおいて、第２に、それ関連付けられたピボット計算セルにおいて、そして場合により第３に、該関連付けられたピボットの制御下の従属ピボットおよび計算セルにおいて解釈される。各ピボットは、ブロードキャストコネクティビティ２６内のブロードキャストおよび同期ネットワークによって、その計算セルと通信し、これは、ピボットから自身のセグメント内の全ての計算セルに同時並行で信号を渡すように、切り替え可能に有効化される。信号は、典型的には、たとえば、データ要素のペア間の比較、計算セル間のデータ交換、および行列演算などに適した算術演算などのプリミティブアレイ操作を表すコードおよびデータである。また、コネクティビティ２６により、ピボットの計算セルのセグメントからピボットへ、そのセグメントによる処理のシーケンスのステップごとに同期メッセージを返すことが可能になる。これにより、結果の適切な完了がピボットに登録された後に、セグメントにわたるさらなるアレイ操作を命令するようになる。しかしながら、ピボットからのプリミティブアレイコマンドに対する応答自体は、アレイ処理セグメントコネクティビティ２５にわたって、アレイ処理動作に寄与している関連セグメント内の計算セル間で発生する。既に説明したように、セグメントコネクティビティ２５は、その要求された応答に特に適した相互接続を有する。
【０２１３】
したがって、（図２の）再帰型コネクティビティ１２は第２の相互接続ブロードキャストコネクティビティ２６を有し、これはピボット計算セルのインターフェース要素２８と、標準計算セルのインターフェース要素２７とを有し、これらは組み合わさって、該データストリームを各ピボットからその計算セルのセグメントに配布し、それらの計算セルから、該セグメント内の各個別の計算セルによるアレイ処理動作の完了を通知する信号を収集するための手段を有する。ピボット計算セルは、該通知信号を収集する手段を有し、これらの信号は組み合わさって、ピボットによって命令された各アレイ操作の完了信号として機能する。宣言型コネクティビティ２３によって該ピボットに渡される命令に従って、ピボットは、ピボット自体を含む該セグメントの該各計算セルによって解釈されるアレイ処理関数参照をブロードキャストコネクティビティ２６経由で送信し、各該計算セルにおいて参照される関数を開始するように動作可能である。前述のように、セグメントコネクティビティ２５は、各計算セルが利用可能な複数のパスであって、対応する複数の信号隣接近傍との通信を可能にするものをさらに有する。その場合、セグメントコネクティビティ２５により、計算セルの多数のペア間で同時にデータを交換することが可能になる。たとえば、動作時のアレイ処理セグメント内で、２つの等サイズの計算セルのセグメントに存在する２つのデータ行列が、共通のピボットの制御下で、前述の「ＳＷＡＰ」操作について上述したように、単一の「交換」命令のコードを受信すると、データ要素を交換することが可能になる。２つのセグメント内の計算セルの全てのペアが値を交換し、２つのピボット自体による完了を含む通知フラグを設定すると、操作（この特定の場合は「ＳＷＡＰ」）の完了が各ピボットによって登録される。したがって、通信ブロードキャストコネクティビティ２６は、ピボットからの同時のブロードキャストメッセージと、ピボットに返す複数の返信通知信号のルーティングとの両方のための手段を有し、１つの好ましい実施形態では、まもなく説明するように、相互接続の階層ツリーの形態を有する。
【０２１４】
これらの手段により、ソフトウェアコード化された信号は、ユーザ入力から、管理用コネクティビティの処理セル間のアプリケーション選択ルートを通り、ユーザソフトウェアにより要求された場合、少なくとも１つのピボット計算セルに至り、その後、再帰型コネクティビティ２５の信号切り替えルートとのインターフェースによって内々でアレイ処理を行う計算セルの間を通る。セグメントコネクティビティの選択されたセグメントの動作は、典型的には、管理用コネクティビティによって受信され、解釈され、配布されるユーザソフトウェアプログラムからの命令に従う。アレイ処理動作で使用するために、該ソフトウェアコード化された信号は、ピボットによって受信および解釈された場合に、関連するセグメント内の対応する計算セルのアドレス指定および機能ロジックをトリガーする命令コードとして表された関数参照およびオペランドを有し得る。そして、セグメントの計算セルは、自身のマイクロコードによって有効化されて、動作時に、対応する記憶されたルーチンを、記憶されたコードおよびデータのアレイの処理において少なくとも部分的に同時並行で実行する。
【０２１５】
コネクティビティの実施形態では、デジタル計算エンジン間の相互接続の完全な選択の自由をユーザプログラマに提供するために、デジタル計算エンジン間の全対全のコネクティビティを実装することが望ましいであろう。しかしながら、同時並行計算の分野では、特にコネクティビティにわたって地理的に広く分離しているデジタル計算エンジンのペア間での、２５などのコネクティビティ内のデジタル計算エンジン間の電気インターフェースの機械的な制限により、たとえば、電気、光学、または無線パスのいずれを使用するかを問わず、そのようなコネクティビティの自由が、大規模なコネクティビティでは大きく制約されることが認識されている。したがって、計算時間が非常に重要である場合でも、既存の技術では妥協は避けられず、本発明は、複数の受信した常駐のアプリケーションでの完全に同時並行の計算動作にできる限り近づくように、相互に補完するよう構築された前述の様々なトポロジの相互接続のための手段を提供する。これは本明細書では、一方での、決定木タイプのコネクティビティにわたる信号伝達に対応する、大部分が論理的な管理用コネクティビティの処理と、他方での、デカルト相互接続パターンの、大部分がデカルトのデータ構造を分配して計算する再帰型コネクティビティのコネクティビティとの間の妥協案によって認識している。この妥協案により、コネクティビティに同時に存在し、様々なトポロジの相互接続のリソースを共有することにより共通して使用される論理構造および数学構造を含む、複数のユーザアプリケーションの同時並行動作が可能になる。
【０２１６】
したがって、データ処理コネクティビティ１０は、再帰型コネクティビティ１２内に、多数の切り替え式の信号伝送ルートを有する通信セグメントコネクティビティ２５を含み、各信号伝送ルートは、各計算セルの送信ポートおよび受信ポートの１つのペアを使用したデータ通信のための、少なくとも１つの対応するペアの計算セル間の双方向通信用に適合される。
【０２１７】
計算セルのペアの少なくとも一部は専用の１対１の物理的な信号伝達ルートを有し、通信ルートの実施形態は、様々なシリアルおよびパラレルインターフェース、伝送物理特性、ならびにデータ伝送中のメッセージフォーマット、たとえば有線の手段、光ファイバおよびファイバチャネルなどの光学的手段、ならびにセルラーネットワークパスなどの無線伝送などのいずれかを、データ伝送範囲、機器のパッケージングおよび配布に応じて適宜組み込んでもよいことは理解されよう。
【０２１８】
該信号伝達ルートに沿った信号の一義的な電気的伝送のために、いくつかのデータ伝送規格のいずれか１つを使用することができ、たとえば、マンチェスター２相符号化、およびより複雑な規格、たとえば、マルチワイヤ、データパラレル、およびＵＳＢ（ユニバーサルシリアル）などがあり、そのような実施態様の多くは最新技術では一般的である。
【０２１９】
したがって、再帰型コネクティビティ内でのシリアルデータ伝送の１つの好ましい形態は、単一リンクにわたるマンチェスター２相符号化を具現化し得、これにより、有利なことに、ハードウェア部品間のケーブル配線が節約される。伝送ラインの電圧は、ゼロに関してプラスとマイナスとにスイングし、自己クロック式であり、メッセージ内のデータワードを区切るために使用されるゼロ復帰状態を有する。マスター伝送計算セル内のインターフェース回路および選択回路は、アプリケーションの緊急の必要性によって要求されたときに、伝送用の信号長を選択するための、最新技術では一般的な手段を有し、各メッセージのアドレスフィールドおよびデータフィールドを組み立てることが可能になる。
【０２２０】
そのような物理接続のバンドルを、マルチタップのデータバスで具現化されたコンパクトな時分割共有された信号伝達ルートに置き換えるための手段は、図２６に関して以前に説明している。
【０２２１】
したがって、セグメントコネクティビティ２５の場合、各計算セル２０および２２は、多数の直接的にバスで接続されたパスを介して、複数のグラフ次元にわたって直接リンクされた同様の多数の信号隣接近傍の計算セルにデータ通信を行うように、切り替え可能に接続可能である。
【０２２２】
ピボットによる計算セルの詳細な制御についてここで詳述する。
【０２２３】
ブロードキャストコネクティビティ２６は、セグメントコネクティビティ２５内の全ての計算セルとインターフェースし、これにアドレス指定するためのデータ伝送手段であって、デジタル処理および通信システムで一般的であるように、典型的にはアドレス参照、関数参照、およびオペランドデータを含む信号メッセージのスケジューリング、送信、受信および同期（本明細書では「ブロードキャスト」と呼ぶ）を可能にするルートを通じて該データ伝送を切り替えるためのデータ伝送手段を有する。ピボット計算セルを含む各計算セルは、各該アドレス参照が関連付けられた一意のグレイコードアドレスによって識別される。ブロードキャストコネクティビティ２６の第１の動作モードでは、ピボットは典型的には、切り替え選択可能なルートを介して、該ピボットにより制御される計算セルのクラスタ内の各計算セルに、コネクティビティ内へのブロードキャスト命令を送信する。第２の動作モードでは、該セグメントの各計算セルは、対応する信号を該ピボットに返して、該ピボットから受信した指示命令の完了を通知する。異なるサイズの多数のアレイそれぞれのデータ要素は単一の計算セルにロードされ処理され得るので、各ピボット計算セルは、１つの計算セルのセグメントのみを一意に制御し、その他は制御しない。ブロードキャストコネクティビティ２６の１つの好ましい実施形態は、ピボットの階層を組み込み、それらのピボットは組み合わさって、その制御ピボットに一致するスコープ全体の入れ子の象限セグメントのセットを制御する。
【０２２４】
各ピボット計算セルは、コネクティビティ内の一意の再帰的アドレス指定により、ユーザのプログラムがそのピボットを介してアクセス可能なアレイ要素のセグメントの位置を定義し、また、アドレス自体が（そのグレイコードパターンにより）、そのように制御される計算セルクラスタのスコープを規定する。選択可能なクラスタのサイズと、セグメントコネクティビティ２５内のクラスタ計算セルのアクセス可能な地理的位置とは、コネクティビティの一実施形態の構築時に固定されるハードウェア属性である。ユーザのタスクによって開始されると、各ピボット計算セルは、ブロードキャストコネクティビティ２６の説明で詳述するように、その領域内の計算セルのハードウェアクラスタの局所命令および制御を編成する手段を有する。アレイの入力に関連するユーザプログラム内のパラメータは、スコープの尺度として使用されるアドレスの最下位端のビットパターンを引用することにより、処理されるクラスタのスコープを宣言する。したがって、アドレスパターンの下端は、所望のクラスタのサイズのみを規定し、絶対位置は規定しない。管理用コネクティビティの役割は、その端末コネクティビティおよび宣言型コネクティビティを介して、物理的に可能かつ利用可能な選択肢から新しく要求されたアレイスペースの位置を決定することである。アレイスペースのピボット計算セルに関連付けられた特別処理セルによって、アレイスペースはフリーであると識別され、端末コネクティビティ２４はそれを、既に説明したように、所望の権限の利用可能なフリーの処理セルから取得し、認識する手段を有する。端末コネクティビティ２４の切り替え手段は、一端でのユーザの要求と、他端でのフリーの処理セルとに応答して、コネクティビティが、大半が独立している多数のユーザのニーズに応じて、多数の様々なサイズのアレイを同時に指定して処理することを可能にする。
【０２２５】
図２８に、ブロードキャストコネクティビティ２６の１つの好ましい実施形態における、１つの典型的な計算セル２１８に関連付けられた典型的なデータアレイのセットを概略的に示し、計算セル２１８は、概念的なデータ平面の階層としてレイアウトされた３つの異なるサイズのユーザアレイ内の３つの異なるアレイデータ要素を担当する。したがって、規則的なデータアレイに使用される計算セルのセグメントおよびサブセグメントは、図示のように、２１９、２２０、および２２１などの象限の階層に制限される。このように、再帰型コネクティビティの構成要素は、異なるサイズのアレイによって適宜共有され得るが、より低いスコープのピボットは、そのピボットの役割において、そうでなければ第２のユーザプログラムによって（一定期間中）アクティブに所有され得ることに留意されたい。この場合、明確に異なるアレイサイズの、２つ以上の別々に所有されるアレイ処理動作が計算セル２１８に要求され得、計算セルは、その複数のピボット計算セルの命令によって時分割共有ルールに従って応答する。このアレイの担当の分解は、以前に図５に関して簡単に紹介している。
【０２２６】
２１８などの計算セルの少なくとも大部分は、それらの設定位置に対応する複数の独立したデータ値を、図２８に２１９、２２０、および２２１で概念的に示すような同様の複数の異なるサイズのデータアレイ内に記憶し、操作するタスク共有手段を有する。したがって、各計算セルは、各サイズのセグメントのスコープ内の１つの要素として存在する。したがって、各計算セルは、階層的なセグメント構成の共通メンバーであり、それによって、各大きなアレイ２１９が、次に低い階層レベルの４つの対称的な象限（たとえば、２２０）と正確な計算セル関係を有するようになる。データプレーン内の該４つの象限のそれぞれは、使用時に、互いに異なるだけでなく、より大きなアレイ２１９とも異なるデータ要素のアレイを表し得ることに留意されたい。同じ分離関係が、図示したより低いレベルの、２２１および２２２などのデータアレイの間に存在する。したがって、計算セル２１８を全てのレベルに図示しており、その理由は、その論理的な構成により、異なる概念的なデータプレーンの動作を同じ計算セル内で適用することが可能になるためである。実際に、各計算セルは、各ピボット計算セルを含めて、デジタル処理の分野でよく知られている、タスク共有によるマルチタスキングのための手段を有する。典型的には、そのような各タスクはプリミティブおよびデータ値を含み、２２３などの命令用ピボットは、これを（図２の）ブロードキャストコネクティビティ２６経由で、いくつかの関連するデータアレイのうちの１つをホストする２１８などの計算セルのセグメントに渡す。
【０２２７】
ピボット計算セルは、異なるスコープのいずれのピボットとも共通する最下位アドレスビットパターンを有さないように選択される。再帰曲線の形式は、コネクティビティにわたる任意のポイントでの２つのピボットの併置を禁止する。しかしながら、所望のセグメントスコープの探索の予測性を確保するために、最下位アドレスビットパターンが、同じスコープを有する（すなわち、図２８の同じ概念的なデータアレイプレーン内の）全てのピボットで同一になるように選択される必要があるということは有益である。ピボット２２３、２２４、および２２５の例示的な位置は適切な例である。
【０２２８】
各ピボットのアドレス割り当ての一意性を保証する１つの好ましい方法は、ピボットによって参照されるアレイブロックの範囲を定める４分木内のローカル階層レベルに注目することである。次に、アドレス「＊  ＊  ＊  ｇ  ｇ  〜ｇ  ｇ  ．  ．  ．  ｇ  〜ｇ」を有するピボットデジタル計算エンジンが選択され、ここで、「〜ｇ」は「ｇ」の１の補数であり、「ｇ」は、選択されたピボットが担当するＣＥの完全なアレイの範囲を定める最上部の４分木ノードのアドレスコードである。したがって、ｇ＝２（２進数で１０）は、１（０１）と交互になり、ｇ＝３（１１）は０（００）と交互になり、逆も同様である。一意性の証明は次のとおりである。
【０２２９】
定理：
ｎ桁の整数アドレスＩｎ（ｊ）をａｎ  ａｎ−１  ．  ．  ａｊ  ．  ．  ａ１  ａ０とし、基数（ｂａｓｅ）は４であり、ｎ、ｊは整数であり、ｊは、１〜ｎ−１である。
桁ａｊのｂの補数を〜ａｊで表すと、
桁ａｊ  ａｊ−１  ．  ．  ａ１  ａ０がルール：
ａｊ  ａｊ  〜ａｊ  ａｊ  ．  ．  ．  〜ａｊ  ａｊ
に従って設定された場合に、ピボットの整数アドレスＩｎ（ｊ）は、ｊに関して一意になる。
【０２３０】
証明：
予備観察：
ｉ）このルールの下では、（たとえば）ｊ＝ｄに関する整数Ｉｎ（ｊ）の先頭のａｎからａｊ＋１までの桁は指定されず、このルールの下で同様に定義された整数Ｉｎ（ｊ＜ｄ）と比べて、このピボットアドレスの一意性には影響しない。
ｉｉ）位置ａｊの桁が、桁ａｊ−１に複製される。後続の桁は、最下位の桁ａ０まで、〜ａｊとａｊとを交互配置する。
【０２３１】
整数コーディングの連続する桁ａｊおよびａｊ−１は、常に同一のデジタル値を有するが、このルールによれば、ａｊより下位の他の連続したピボットアドレスの桁のペアは、この関係を有することができない。
【０２３２】
そのため、整数Ｉｎ（ｊ＝１）は、最下位桁ａ１およびａ０にシーケンスａ１およびａ１を有し、したがって、ピボットアドレスＩｎ（ｊ＞１）はいずれもＩｎ（ｊ＝１）と等しくなることができず、その理由は、後者の整数の同じ最後の２桁が、そのルールの下では、ある数字とその補数とで構成されなければならないためである。
【０２３３】
同様に、Ｉｎ（ｊ＝２）は、桁ａ２およびａ１にシーケンスａ２およびａ２を有し、ａ０に〜ａ２を有する。したがって、これは、このルールの下ではａ２およびａ１に交互の桁を有さなければならないＩｎ（ｊ＞２）とは異なる。
【０２３４】
外挿により、桁ａｄおよびａｄ−１に桁値ａｄおよびａｄを有し、その後に交互の補数を有するＩｎ（ｊ＝ｄ）は：
全ての整数Ｉｎ（ｊ＞ｄ）およびＩｎ（ｊ＜ｄ）の両方と異なる。＃
【０２３５】
この定理の動機は、分散し、互いに一義的な、計算セルにおけるアレイピボットを探す必要があることであり、それぞれが、担当するアレイのサイズおよび位置を数値的に反映しており、すなわち、アレイのサイズをアドレスのデジタル位置（ｊ）と一致させることによって反映している。そのうえ、一意の各位置アドレスを選択し、取得する際に、選択ルールがコネクティビティ全体で統一されており、複雑さが回避されることも有利である。
【０２３６】
前述のように、このアドレス指定形式は、不使用のピボットをそのスコープによって識別し、呼び出すために使用され得、スコープはビット位置「ｊ」によって一義的に識別可能であり、アドレス位置は、後続の交互のビットの文字列を有するａｊおよびａｊ−１によって一義的に識別可能である。
【０２３７】
ピボット２２３の実施態様は、固定のデータ要素のアレイに対する区別されたレベルの権限を含み、各タスクは、そのアレイの各該計算セル内でマイクロコード化プリミティブ（たとえば、他の計算セルと通信するデータ交換）を開始する。そのようなソフトウェア分離された各タスクは、デジタルデータのタグのセットが関連付けられ、タグは、ピボットに命じられた該各タグ付きタスクに固有であり、したがって一義的に開始される。自身のセグメントに対する典型的な動作では、ピボットは、共通のタグ付きタスクをそのセグメント内の各計算セル（ピボット自体を含む）に送信する。そのようなタスクは、より高い権限のピボットによって要求された場合に、より大きなセグメントに関連付けられ得る。任意の要求された共通のタスクについて、その共通のタスクが割り当てられた全ての計算セルは、制御ピボットが新たなタスクを分配し得る前に、そのピボットに「完了」信号で応答しなければならない。ピボットの階層による計算セルの一義的な取得を保証するための１つの好ましい実施形態は、まもなく説明するように、ブロードキャストコネクティビティ２６内のピボットの通信ツリーによるものである。
【０２３８】
特定の計算セルにおける送信された各該共通タスクは、単一のローカライズされたコードの構造、たとえば、そのようなタスクのシーケンスにおける計算セルに与えられたタスクごとに、計算セルが記憶して操作する１つのアレイデータ要素などの操作に関連する。該共通タスクによってそのように占有されたセグメントにおける２１８などの各計算セル２０および２２は、そのピボット（この例示的な場合では２２５）に応答して、特定のスコープのデータアレイに共通する各タスクを命令された順序で実行する。計算セルに責任が与えられたいくつかのデータアレイの要素は、対応するアレイスコープに属する。加えて、たとえば、ピボット２２３の一部のそのようなタスクは、２２０などのより低いレベルの象限の操作を含み得る。その場合、１つの好ましい実施形態では、ピボット２２３は、タスクの命令をパス２２０経由でピボット２１８に渡す手段を有し、そのピボットは、命令を今度はパス２２６経由でピボット２２４に再送信する手段を有し、ここで記憶されて、後でセグメントにブロードキャストされ、ピボット２２４の指揮下で計算される。したがって、各個別の計算セル内のマルチタスキング構成によって、最高位より下の各ピボットは、自身の権限の下の計算セルに、より高いスコープのピボットの要求に対応する特定のコマンド信号を処理するように適宜命令する手段を有する。より低いスコープの（すなわち、より小さいサイズの象限の）データ要素を制御するピボット計算セルは、そのようなコマンド信号に応答して、さらに低いスコープのピボットにコマンドを渡すことによって、より大きなアレイの操作に寄与する手段を有する。最終的に、要求された高レベルのタスクからの、スコープコーディングを使用した元の命令は、適切な時間内に各計算セルが応答する自身の計算セルのセグメントを直接制御可能な最低位のアクセス可能なピボットまで流れ落ち、その各計算セルは、適切な時分割共有中に、最高位のタスク割り振りピボットのコマンドにより要求された処理動作に応答する。各計算セルは、スコープコードに従ってこの計算の結果を記憶するので、同じ高レベルのピボットからの後続の命令は、そのタスク計算を損なうことなく継続し得る。この最後の機能の１つの使用例は、複数のより小さなサブアレイを、同様の複数のユーザ入力ポートを介して同時並行でロードすることにより、大きなデータ要素のアレイをロードすることである。
【０２３９】
各計算セルは、ブロードキャストコネクティビティ２６のより低い部分を介して、２２５などのそのセグメントの最低位の所有ピボットに完了信号を送信することにより、自身の動作の該共通タスクの完了を報告する。そのピボットがそのような全ての信号を収集することにより、その権限レベルでの共通のタスクが同期され、該最低位の所有ピボットは、要求された各命令の完了を確かめた後に、異なるタスクのものであり得る、次の命令を開始しなければならないので、結果を正しいタスクに割り当てる際に曖昧さはない。タスクがより高いスコープのピボットから委任されている場合、該最低位の所有ピボットは、同様の完了信号をレベル指定子と共に、次に高位のピボットに（たとえば、図２８のパス２２７を介して２２４に）送信する手段を有する。次に、その後者のピボットは、それによって他の象限ピボット（同様にタスクが割り振られた場合）の完了を予想し、その後、同様の信号を上位ピボット（関連する場合）に渡し、以下同様である。その複合的なユーザアプリケーション全体について、全ての完了信号が、開始元のより高いレベルのピボットによって受信された場合にのみ、該開始元ピボットは、後続の命令を再度下向きに、その象限ピボットおよび計算セルへ、その包括的な、自身の完全な権限内で送信することができる。この手段により、多数の独立して編成された同様のサイズのデータアレイは、複数のユーザにより、同時並行の階層的な構成の共有リソースに、論理的競合なく分配され有効化され得、使用された計算セル内のマルチタスキングによる時間遅延する時分割共有の動作によってではない。
【０２４０】
ブロードキャストおよび同期ブロードキャストコネクティビティ２６は、該コネクティビティに接続された各ピボットの一意の権限と共に、実装されたスコープ内の開始元ピボットから、その定義されたスコープ内のローカルの計算セルのクラスタのそれぞれに、ブロードキャスト信号をルーティングする手段を有する。各ピボットは、スコープコードをそのブロードキャスト信号に付加するための手段を有し、これにより、該多数のアレイのうちのいずれのアレイ要素が所与の瞬間に操作されるかに関して、セグメント内の各計算セル内で曖昧さが生じないようにすることが可能になる。
【０２４１】
セグメントコネクティビティを介して、介在する動作なしでデータアレイを直接転送することは、通常はピボットの責任により、自身のセグメント階層内での動作に制限されるというルールに対する例外である。したがって、メッセージ内のスコープコードに加えて、セグメントコネクティビティを介したそのようなブロック転送のシーケンスに関与する各ピボットは、このタイプのデータ操作の重要性により、コマンドに優先コードを付加する手段を有する。中間のピボット計算セルは、この優先コードを途中で受信すると、そのセグメントの計算セルに対するより高いスコープの要求よりも優先し、これを遅延させ得る、スケジュール内の順序付けられた位置を割り当てる。しかしながら、この形式の動作は、より高いスコープの計算タスクへの自然な寄与になると予想されることが多く、その場合、そのタスクの論理的な進行を妨げることはない。
【０２４２】
図２９に、ブロードキャストコネクティビティ２６の１つの好ましいブロードキャストおよび同期の実施形態の第１の部分を概略的に示す。説明の目的で、図２９は、計算セルの小さな回路セグメント例のみを示しており、２６のブロードキャストおよび同期回路２２８は、７つの計算セル２０と、１つの関連するピボット計算セル２２との間で、インターフェース２７および２８を介して相互通信する。複数のそのようなコネクティビティ回路は、組み合わさって、選択可能な複数のピボットを介して、対応する選択可能な複数の管理用コネクティビティの特別処理セル２１からの階層的インスタンス化信号およびコマンド信号に応答するように構成される手段を有する。この手段により、切り替え可能に選択可能な計算セルのセグメントに一連のコマンドを送信して、再帰コネクティビティ１２内で様々なユーザアレイを適宜記憶および処理し得る様々なスコープのセグメントにおいてアレイ処理動作を実行することができる。
【０２４３】
この実施形態のこの該第１の部分では、２分木は、２３０などのノードを相互接続する、２２９などの第１のルーティングパスのセットと、それぞれが２３２などのＡＮＤゲートを含むノードを相互接続する、２３１などの第２のルーティングパスのセットとを含む。このツリーは、ツリーの計算セルのリーフにおいてインターフェース２７および２８との接続を有し、ピボットインターフェース２８はさらにツリーの根ノード２３３に接続され、これにより、シリアル通信をピボット２２からトップノードに直接送信して、そのセグメント内の残りの計算セル２０にブロードキャストすることが可能になる。したがって、ルーティングパスのセットのうちの１つは、ピボットからパス２３４およびノード２３０を介して共通メッセージをブロードキャストするように構成され、これには、メッセージを同時に、（この２分木の例では）２つの方向に、計算セル２０に向けて下向きに配布するという唯一の目的がある。ノード２３０の一部は、信号増幅器を含み得る。
【０２４４】
（２３１および２３２を含む）ルートのセットの２つ目は、各ＡＮＤゲートにおいて「完了フラグ」セットを、必ずしも同時にではなく、セグメント内の対応する計算セルによって受信するように構成される。したがって、ＡＮＤノードは、部分的に収集した同期信号をまとめ、該根ノード２３３を介してピボット２８に送信する手段を提供する。
【０２４５】
ピボットを除く全ての計算セルがブロードキャストメッセージで要求された動作を完了すると、２つのトップレベルの集まった完了フラグによりＡＮＤゲート２３５がセットされ、それによって、そのメッセージがピボット自身の計算でも同様に満たされることを条件として、そのメッセージが完全に処理されたことがピボット計算セルに示される。新たなブロードキャスト命令を受信すると、計算セルは完了フラグをリセットする。
【０２４６】
図２９のツリーは、計算セルの１つの図示したセグメントの信号伝達および制御専用であるが、ブロードキャストコネクティビティ２６全体での同じスコープのセグメントおよびピボットの典型例である。そのような各ツリーおよびそれに対応するセグメントは、前述のように、それに関連するピボット計算セルおよび特別処理セルの権限に一致するスコープを有し、現在説明している実施形態では、最小のユーザアクセス可能なアレイ処理セグメントのスコープを有する。そのスコープは、コネクティビティの全体の範囲に応じて、たとえば、２＾１０個の計算セルであると好都合であり得る。
【０２４７】
図３０は、ブロードキャストコネクティビティ２６の該１つの好ましいブロードキャストおよび同期の実施形態の第２の部分の原理を示しており、図２９の形態２２８のより大きなクラスタのグループを示しており、この場合の最上部の制御ピボットは、この場合、計算セル２３６として示しており、これは図２８のピボット２２３に対応する。図３０のクラスタ２２８は、図面の便宜上、単に反転して示している。
【０２４８】
２３７などの点線のコネクタは、ピボット２２が、図示したクラスタ２２８内の指定位置にある対応するピボット計算セルであることを示すものとする。同じスコープ（すなわち、ピボットの階層内で同じピボットレベル）を有するピボットは、クラスタ内で同じ相対位置を有し、異なるスコープを有するものは、異なる相対位置を有する。したがって、図示した３つのレベルのうちの高いものが計算セル２３８にあり、次に低いものが計算セル２３９にあり、最低レベルが計算セル２４０にある。この図には、より高いレベルのピボットの制御下にある４つの範囲内ピボットを示しているが、この数は、ユーザに利用可能にされることが望ましい、アクセス可能なアレイサイズのセットに応じて、たとえば１６に拡張され得る。２４１などのパスは、図２８のパス２２６および２２７に対応する。各計算セルは、多数のアレイ要素を、処理対象のデータアレイごとに１つずつ記憶する計算手段を有し、各スコープ付きアレイ要素は数値識別子を保持しており、これは、数値識別子がその目的で割り当てられるセグメントのスコープに応じたものである。
【０２４９】
図３１に、階層制御の役割におけるより高いレベルのピボットデジタル計算エンジン１４のピボット計算セル部分の一例示的実施形態を概略ブロック図形式で示す。リンクのグループ２４２は、セグメントコネクティビティ２５に関連付けられたものであり、この図に関してはこれ以上考察しない。上の次に上位のピボットからの１グループのリンクが存在し、そのピボットは、まず第一に、図示したピボットへの取得リンクおよびコマンドリンクを含む。各ピボット計算セルは、コマンドをそのスコープ内の最低レベルの計算セルに渡すための計算手段２４３およびインターフェース制御手段２４４を有する。図示したピボット計算セルは、パス２４５を介して２３９などの範囲内ピボットへ向かう下向きのインターフェースに該コマンドを複製して配布し、ここでは、そのパスのうちの４つ：「北」、「南」、「東」、および「西」を、４つの範囲内象限のみについて図示している。２４６内の北パスリンクは、下降ポートのそれぞれについて、パス２４７に複製される。
【０２５０】
ブロードキャストコネクティビティ２６の該１つの好ましいブロードキャストおよび同期の実施形態において、ピボットへの複数の要求を処理するためのルールを、図３２を参照して説明する。２重のボックスは、ピボット計算セルの階層内のデータおよびソフトウェアルーチンを表す。仮定する最上部のピボット２４８はレベル「３．１」にあるが、この例示的な構成ではアクティブでない、より高いスコープのピボットがその上にあり得る。ユーザアプリケーションに従って、ピボットは、その範囲内の大きな計算セルのセグメントによってホストされる大きなアレイ「Ａ」への操作のための（一度に）１つの要求を行う。それらが現在、自身のセグメントへの自身の単一の操作要求に取り組んでいない場合、２４９および２５０を含むその従属ピボットは、この要求を受信し、レベル「０」に向けて下向きに伝播し、そこでピボットはそれぞれ、ユーザが直接アクセス可能な最小セグメント２２８を担当する。該１つの要求に関する完了通知信号が最終的にピボットの階層を上向きに進み、ピボット「３．１」に戻ると、最上部は次の要求を再び下向きに送信し得る。その間に、「２．１」のピボット２４９は、スケジューリングルールの下で、アレイ「Ｂ」への自身のアレイ操作を開始することが許可され、単一の操作の要求を同様に下に渡す。ピボット２４９は２４８により要求された動作を一時的に保留するが、（この例では）「２．２」の２５０は「Ａ」の要求を下向きに続ける。一方で、「１．３」は第３のアレイ「Ｃ」を導入するが、これが発生したのは、「Ａ」の要求が到着する前ではないと仮定する。「Ａ」が満足されるまで「Ｃ」は一時的に保留され、満足されると、「１．３」は「Ｃ」を命令する自身の機会を得る。同様の方法で、「１．１」および「１．２」は「Ｂ」のために最低レベルを取得し、ただし、「０．２」自体が、自身の最低レベルのセグメントにアレイ「Ｄ１」の請求を先に行っている場合がある。
【０２５１】
該１つの好ましいブロードキャストおよび同期の実施形態における、ピボット階層動作の最低位のスケジューリングルールであるルール３はその場合、「ルール２が既に実施中でない限り、ピボットは１つの動作を開始し、その動作の完了を待ってから、上位コマンドに対応し得る」というものになる。したがって、現在説明している状態が、図示のように、「Ｄ２」操作が実行されている状態である場合、「１．３」が「Ａ」の部分的な責任を完了して、「Ｃ」に関する自身の要求を開始できるようになる前に、「０．４」はそのセグメントからアレイ「Ｄ２」操作の完了の通知を受けていなければならない。同様に、「２．１」が「Ａ」を進められるようになる前に、最初に「Ｄ１」、続いて「Ｂ」（開始済み）が完了されなければならない。
【０２５２】
この処理の不安定性を防ぐために、ピボットルール２は、「ルール１が既に実施中でない限り、ピボットはその下位ピボットを、該下位ピボットが単一の現在の動作を完了した直後に取得し、自身の動作を開始し得る」というものなる。この目的で、あるピボットの上で進行中の任意の上位コマンドは、下位ピボットにより登録および保持され、下位ピボットは、そのピボットがさらなる動作を開始できるようになる前に、そのピボットを抑止する準備が整う。その場合、ルール１は、「自身の単一の現在のコマンドが完了すると、ピボットは、もしあれば、より高いレベルの上位コマンドの代わりに下位ピボットの取得を維持し、動作時はそれ自体が、その高位コマンドの代わりに、解放されるまで取得される」となる。これにより、より高いレベルがより低いレベルよりも計算セルを取得する優先順位が高くなり、より低いレベルが自身の単一の動作を完了すると、最高位のアクティブなピボットは、そのセグメントを完全に制御することができ、ただし、宣言済みの不要なサブセグメントは除き、これらは自身のピボットにより自由に使用され得る。
【０２５３】
（たとえば）２０個の動作の後、より高いレベルのピボットが一時的に制御を放棄して、より低いレベルでの処理の機会を共有するようにし、合間の後に制御を取り戻し、動作を継続することは利点である。
【０２５４】
図３１に戻ると、上からの２５１を介した取得およびコマンドメッセージによって命令されると、ピボットは取得状態を維持し、メッセージを後で読み取りできるように２５２に記憶する。上位ピボットは、リンク２５３の取得信号をハイにラッチし、これによりピボット処理２４３は、要求に注意するよう警告され、リンク２５４を介して確認応答する。準備ができたら、計算セル処理２４３は、リンク２５５でトリガーされる、記憶されたメッセージの読み取りにより、要求された動作のアクションを開始する。
【０２５５】
２４３は、ルール２およびルール１に従って様々に動作する。ルール２の下で、ユーザのアプリケーションに従って、ピボット２２の処理２４３は、該ピボットに関連する象限の範囲内の計算セルにより実行されるように意図されたアレイ処理動作を開始する。図３０の２３９などの従属ピボット（最低スコープのピボット以外）までの下向きの２４６などの各パスは、少なくともメッセージ用の取得リンク２５６およびコマンドリンク２５７を有する。アレイ操作が実行される場合、次に低位のピボットを取得するためにラッチ２５８がハイに設定され、次に低いスコープのピボットが準備完了し、自身の２５４リンクで確認応答信号を返した場合に、最終的には２４３は、確認応答信号が確認応答リンク２５９で返されると予想する。
【０２５６】
２４３はそのサブセグメント向けの動作メッセージをその象限インターフェース２４４に記憶し、２５７はそのメッセージを次に低位のピボットのストア２５２に流す。その後、２４３は２６０を介して完了同期信号を待ち、完了同期信号は最終的にインターフェース２４４の全ての範囲内パスで同じように登録される。２４３は、現在の動作の完了を登録し、ルール１の下で上位ピボットによりオーバーライドされない限り、ルール２の下で次の動作を開始する。
【０２５７】
最も低いアクセス可能なスコープのピボットの場合、図３３には、処理２４３が、ブロードキャストコネクティビティ２６と、インターフェース２６１を介して、プロセッサ２４３から外向きにコマンドメッセージリンク２３４によって通信し、また、図２９のノード２２７から同期リンク２６２を介してプロセッサへ内向きに通信することを示している。
【０２５８】
ルール２の下で、ピボットは、その現在の動作を完了した後、その取得リンク２７を調べ、上位ピボットからの以前の要求を見つけ、コマンドメッセージを受け入れ、そのメッセージを下向きにその従属ピボットに、あたかも自身のメッセージであるかのように渡すが、最終的に、この現在のコマンドについての完了メッセージを同期リンク２６０経由で上向きに渡さなければならないことを記録する。２４３はその動作が完了するまでさらなるピボット動作を実行しないが、接続２２９および２３１（図２９）による要求に応じて、リンク２４２を介してセグメントコネクティビティ２５に関連付けられた動作を実行し続ける。ルール２は、最低スコープのピボット（図３３）にも同様に適用されるが、ブロードキャストコネクティビティ２６を介してそのセグメントと直接インターフェースする点が異なる。
【０２５９】
したがって、コネクティビティはブロードキャストコネクティビティを有し、ブロードキャストコネクティビティにおいて、再帰的空間曲線に沿った各ピボットは、空間曲線の対応する所定のセグメントに沿って存在するデジタル計算エンジンへの、該ブロードキャストコネクティビティを介した切り替え可能な接続を有し、空間曲線の中で、ピボットは、とりわけ、該対応する所定のセグメント内のデジタル計算エンジンの少なくとも一部のそれぞれによって実行されるトランザクションのための処理命令における制御ピボットである。動作時の各ピボットは、所定のセグメント内の該デジタル計算エンジンのそれぞれに共通で命令を同時並行で配布することが可能になり、対応するセグメント内の各デジタル計算エンジンは、該トランザクションの完了を該制御ピボットに通知する、ブロードキャストコネクティビティへの信号伝達手段を有する。また、各ピボットは、関連付けられた該対応する所定のセグメントのスコープを定義する記憶されたパラメータを保持する手段をさらに有し、これらのスコープは組み合わさって、再帰型の空間曲線に従って順序付けられた階層を形成する。加えて、コネクティビティは、下位セグメントのスコープを包含するスコープを有する上位セグメントを制御するピボットを有し、特定のより低いスコープのピボットによる、それらに関連付けられた下位セグメントへのアクセスを禁止し、とりわけ、下位セグメントのデジタル計算エンジンを制御するように動作可能な手段を有する。
【０２６０】
したがって、ピボットは、それらの間で相互接続して、ピボットの階層的な入れ子のスコープに従って階層的に順序付けられた回路のネットワークを有し、いくつかのピボットは、該セグメントのチェーンの階層的な入れ子の構成およびピボットスコープに従って、それによって、下位スコープのピボットを切り替え可能に選択し、プログラムでコーディングする手段を有する。さらに、より小さいスコープのピボットが関連付けられた下位セグメントよりも大きくかつこれを包含するスコープを有する上位セグメントを制御するより高位のピボットは、後者のピボットによる自身の該下位セグメントへのアクセスを禁止し、とりわけ、下位セグメントのセルを制御するように動作可能な裁量的手段を有する。
【０２６１】
様々な次元のユーザアレイのための配布手段は、動作時に、論理切り替えの第１段階の実施形態では、フリーの特別処理セル２１の探索を含み、この特別処理セル２１は、フリー状態の間、同様にフリーの、新たなユーザプログラムからアクセス可能な、規則的な計算セルのセグメント自体に対応する。前述のように、このセグメントは、より高いスコープのピボットによって制御されるより大きなセグメントの一部としての責任を既に有し得るが、各計算セル内のタスク共有手段は、異なるスコープのタスク間の論理的な分離を解決する。ポート１７は、ユーザ端末１６から受信したアプリケーションの、コネクティビティへの入力を開始し、上述のような端末コネクティビティ２４内の付随する相互接続を介したルーティングを指示する、探索および選択手段を有し、これにより、ユーザによる適切な該フリーの特別処理セル２１の取得およびアクセスが、実際に現在フリーのものがもしあれば、提供される。該選択され、請求された特別処理セルと位置が調整されたピボット計算セルは、それ自体に、１つの動作モードで、同じユーザのアプリケーションプログラムの一部を形成する命令およびデータによって、タスクが割り振られ得る。特別処理セルが、このアプリケーションの完了により、最終的にフリー状態に設定されると、関連するピボットは同様に、最終動作として、ｎｉｌ状態への復帰をそのアレイ要素に渡す。
【０２６２】
少なくとも最新技術では一般的なものを含むプリミティブアレイ処理命令のセットは、各計算セルにマイクロコード化される。このセットは、大きなデータ要素のアレイを適切なサイズの計算セルのセグメントにロードするための手段を有効化する命令、（たとえば）「ＬＯＡＤ」を含む。ＬＯＡＤ命令の一例では、高レベルの権限のピボットは、そのセグメント内の全ての下位ピボットへのブロードキャストメッセージストリームを形成する手段を有する。図２８に関して最初に述べたブロードキャストコネクティビティ２６の該実施形態では、該アレイロード命令は、高レベルの権限の該ピボットに渡されると、その範囲内ピボットのそれぞれに並列にタスクを割り振り、各範囲内ピボットは、それらの下位のピボットに順番に、より大きなアレイの入力内容の構成に寄与する最低ピボット権限の等サイズのサブセグメントに到るまで、タスクを割り振る。このＬＯＡＤ動作では、ロードに必要な大きなアレイの要素自体が、それぞれが最低レベルのスコープの、そのような等サイズのサブデータアレイの全要素（ｆｕｌｌ  ｃｏｍｐｌｅｍｅｎｔ）に、事前に適切に配置されていることと、これらの等サイズのサブアレイが、８２などの対応する数のユーザインターフェース１７に（多数の外部手段によって）配布および記憶され、各ユーザインターフェース１７が、そのアドレスに従って、図８以降と合わせて上記で詳細に説明したように、８３などの該選択された最低スコープの特別処理セルのうちの１つのアドレスと一致するように選択されることとを仮定している。
【０２６３】
したがって、関連付けられた特別処理セルおよび端末コネクティビティ２４により、選択された最低スコープのピボットは、１つのローカルインターフェース１７と通信して、より高い権限の制御ピボットからの命令で、準備ができた場合に、寄与する計算セルのセグメントを、他の最低レベルピボットと同時並行でロードすることが可能になる。（たとえば）３２×３２のデータ要素を含む、１７の処理および記憶手段からの各メッセージストリームは、シリアルストリームとして対応する最低レベルのピボットに渡され、これは次いで、ブロードキャストコネクティビティを介して自身の計算セルのセグメントに送信される、アドレス指定されたデータ項目のシリアルストリームを形成する。前述のように、この動作は、より高いレベルのピボットの排他的制御下にあり、これは所有ユーザのコードによって命令される。各受信計算セルは、ストリームをそのセグメントに沿った自身の位置と一致させて、自身の適切なアレイデータ要素をロードし、記憶するようにする。計算セルは、受信の完了を最低権限のピボットに通知し、大きなセグメントにおける全ての完了信号が、最終的にこれらのピボットによって、該より高い権限のピボットに通知されて、このとき最終的により大きな計算セルのセグメント内に存在し、そのピボットの制御下にある、大きなアレイに対して、さらなる操作を実行することが可能になる。「ＬＯＡＤ」の逆の動作はアレイの出力であり、これは逆の順序に従い、この順序では、より高いレベルのピボットが、責任を下向きに最低レベルのピボットに委任する。ブロードキャストおよび同期ネットワークのための該１つの好ましい具現化された回路では、該最低レベルのピボットのそれぞれは、（たとえば）「ＲＥＡＤ」コマンドをそのセグメントにブロードキャストする。ピボットプロセッサ２４３は、カウント可能なトリガーコードのシーケンスでこれに従い、トリガーコードにより、セグメント内の各計算セルは、「バケツリレー」の順序で、寄与するデータ要素をピボットへ、ブロードキャストコネクティビティの空間曲線の軌跡に沿って返し、そしてそこからユーザポートの１つに、配列された要素のシリアルストリームとして返すように要求される。第２の好ましい実施形態では、ツリーネットワークリンク２２９および２３４、ならびにノード２３０は、双方向データ伝送用に構成され、ピボットは計算セルを並べて、データ要素をピボットに順番に渡してシリアル出力させる。第３の好ましい実施形態では、コネクティビティは、特定の所定の大きな計算セルのセグメント用の追加の読み書きラインのメッシュを有し、これらはそれぞれ、コンピュータメモリセルのアレイに一般的に採用されているのと同じ論理的な方法で、行優先順のデータ専用転送で制御され、対応する専用の入力／出力ポートによって問い合わせされる。
【０２６４】
したがって、該探索および選択手段が大きな計算セルのセグメントを取得すると、該大きなセグメント内に、同じ該大きな計算セルのセグメントのさらなるサブセグメントが、それぞれのピボットにおける同様のピボット制御手段と共に存在する。したがって、階層的な意味で、これらのサブセグメントは、より大きなセグメントの下位のものとみなされ得る。
【０２６５】
コネクティビティの１つの好ましい実施形態における正方アレイの次元ｍは２のべき乗の整数であり、したがって、ユーザがロードするアレイはその場合、再帰曲線の対応するセグメントに沿って、２＾（２ｍ）個以下のデータ項目を含むように制限されなければならず、ここで「ｍ」は、コネクティビティの構築中に固定されるある範囲の整数のうちの１つである。２＾（２ｍ）個未満のスコープを有するより一般的なアレイ、たとえば、長方形の行列などは、セグメントの残りを埋め尽くす「Ｎｉｌ」要素によって拡張される。後続のタスク割り振りおよび伝送プロトコルは、あたかも次元がフルセグメントの次元であるかのように動作するが、要素の「Ｎｉｌ」指定は、その要素に関連する伝送および処理を行う必要がないことを意味する。
【０２６６】
再帰曲線には、このタイプのｎ次元の合同なアレイを具現化する際に特に利点があり、少なくとも１つの構成では、まもなく論じるように、アレイ処理相互接続にわたって同時並行でデータ要素を送信する際に、ｍ次元（ｍ＜ｎ）の平行移動の直進の等長写像の均質性が支援される。
【０２６７】
セグメントコネクティビティを形成する装置は、単純な所定のルーチンと、コネクティビティを介したデータルーティングの階層的規則性との両方に従って、行列の要素の内々の再帰的操作を構成すると有利である。一例として、従来の数学における行列乗算では、選択されたデータ要素のペアの乗算と、乗算された値のグループの合計とが必要である。標準的なルーチンは、行列要素の行優先の数学的な配置に密接に対応し、シリアル計算で広く使用されている。しかしながら、少なくともこの操作における第２の行列の転置には、積が計算できるようになる前に、該第２の行列全体で斜めにデータ要素を交換する必要があり、この形は、規則的なデカルトのプロセッサのアレイに分散された大きな行列には不都合であり、その理由は、従来の行優先順の行列要素間の操作の同時並行のクロスリンクには、デカルトパスの順序付けと互換性のない多数の斜めのパスが必要になるためである。したがって、行列を再帰的に委譲された構造として分割することによって、本明細書に記載のようなデカルトリンケージの配置に一致させると有利であり、偶然にも、まもなく説明するように、それによって、行列の最も一般的な操作のクロスリンケージの必要性が排除される。したがって、第１に、行列要素の配置は、再帰型コネクティビティの相互接続形式に一致するために再帰的であることが望ましく、これは実際にこのコネクティビティの再帰的設計の目的であり、第２に、多数の要素を同時にワンステップで競合なく送信できるようにするために、対応する要素の交換登録が、可能な限り論理的に些細なものであることが望ましい。双方向相互接続のハイパートーラス構造は、そのような要素的なルーティング操作を支援し、再帰曲線の軌跡の数値的な順序付けにより、一般的には、再帰的な要素操作を、オーダーＬｏｇ（ｎ）の一連の時間ステップに厳密に配置することが可能になる。
【０２６８】
したがって、まず、従来の「人間指向（ｈｕｍａｎ−ｏｒｉｅｎｔｅｄ）」の行優先形式の行列を、コネクティビティ内で転送および操作される行列ごとに階層的な順序に並べ替え、図３４に示す、本明細書では「反転Ｚ曲線」と呼ぶ階層構成を使用して、コネクティビティの再帰曲線の構成と互換性を有すると有利である。この変換曲線は、各「人間向き」のアレイの要素の位置を、入れ子の「コンピュータ向き」の階層に、要素値を変更せずに再インデックス付けするために選択される。そして、これにより、選択された再帰的空間曲線の１次元の軌跡に沿った、要素の順序付けられた再配置が可能になり、その一例は、図３５に比較用に示したＨ曲線である。図３５は、４×４の行優先の「人間向き」の整数の行列の一例を、計算操作用に、反転Ｚ曲線順を介してＨ曲線順に変換する、連続した一連のステップを示しており、これにより、コネクティビティの再帰型コネクティビティ１２内の一部の形式の行列演算でＨカーブが優先される。アレイの成分には単純な任意の値が与えられているので、２つの曲線の進行を追跡することができる。ここで、左側の行列の従来の［０，０］成分は値「８」を有し、これはまた、右側の行列の［５，５］の位置の、Ｈ曲線の開始点となる必要がある。同様に、曲線の終点は、２つの行列についてそれぞれ［７，７］および［２，５］にある。次に、Ｚ空間曲線は再帰的に分解されなければならず、元のアレイ全体にＺパターンを再帰的に反映する方法は、Ｈ曲線に沿った成分のシーケンスを生成し、それによって、並列行列演算のための、行と列とのスワップの単純な方式が可能になる。Ｚ曲線の転置の手順は、後ほど例として詳述する。
【０２６９】
Ｈ曲線に関して前述したように、行列比較および行列算術などの用途では、使用中の実施形態の１つの特徴は、図１４に関して既に論じたように、マシン全体で一貫したデータのアレイのコンピュータ指示を含み、図１４では、計算セル０１１０ｇ、０１１１ｇ、０１０１ｇ、０１００ｇ、１１００ｇ、１１０１ｇ、１１１１ｇ、および１１１０ｇに保持されているデータの立方体が、単一のマスタークロックサイクルですぐに、計算セル００１０ｇ、００１１ｇ、０００１ｇ、００００ｇ、１０００ｇ、１００１ｇ、１０１１ｇ、および１０１０ｇに転送できることを示している。この例では、第１の計算セルのセグメントのデータストアは、合同に成形された第２のセグメントに移動される要素の行列を好都合に保持し得る。
【０２７０】
行列転置および行列乗算の場合、前述のＨ曲線は適切であり、その理由は、この構成により、行列を要素ごとに組み合わせることが、厄介な斜めの要素の交換や、長い一連の横方向の動きによってではなく、行列要素の単一ステップでのデカルトのスワップにより可能になるためである。Ｈ曲線の形により、システマチックな折り畳みパターンのシーケンスが可能になり、それによって、以下で説明するように、多数の切り替え選択可能なデータ要素のペアが、単一のメジャークロックサイクルで同時並行で交換され得る。
【０２７１】
行列の「ＣＯＰＹ」動作では、第１の計算セルのセグメントに記憶される第１の行列のピボットは、その計算セル（自身を含む）のそれぞれに、そのデータ要素のコピーを、共通の次に高い次元の軸を介して、第２の合同の計算セルのセグメント内の信号隣接近傍に渡すように命令する。コピーされた要素の完全なアレイの場合、これが意味するのは、行列のコピーを受信した同様の計算セルのセグメントが、元と同じ順序で、同様の順序の計算セルアドレスにそれを保持するということである。この動作では、各半サイクルで、第１のセグメント内の全ての計算セルの半分のそれぞれが、第２のセグメント内の交互に対応する計算セルに同時並行で要素値を渡す。後半のサイクルでは、第１のセグメントの後半が自身の値を送信する。メジャークロックサイクル中に、計算セルの各ペアが要素値を交換するように構成されてもよく、すなわち、ＳＷＡＰ操作でもよい。
【０２７２】
それらの密接な機能的関係により、宣言型コネクティビティの処理セルは、各処理セルがデジタル計算エンジン内で対応する計算セルと併置されるように、コネクティビティ１０のコンピュータ回路レイアウトに配置される。これにより、管理用コネクティビティの処理セルと、再帰型コネクティビティの計算セルとに共通のアドレスフォーマットが提供される。実際に、各処理セルの回路を計算セルと併置することにより、パッケージング効率のために所望であれば、各ペアが、デジタル計算エンジン内の組み合わせられた機能の一部を共有して最小化することが可能になるが、本明細書では、説明を簡単にするために、それらを常に、ロジックの処理の実施形態が異なる別々のエンティティとして扱うと好都合であった。該併置により、マシン内の他の動作との競合なく、２つの要素間で専用の双方向信号接続を行うことが可能になる。
【０２７３】
前述のように、超立方体のセグメントコネクティビティの実施形態の多次元デカルトパスは、計算セルのセグメント内の様々なサイズのデータ列、行列、およびｎ次元ブロックによって保持されるデータ構造を、コネクティビティを介して転送するための重要な通信パスを提供する。
【０２７４】
制御ピボットの指示の下で、第１および第２の合同セグメントは組み合わさって、実質的に、平行移動の直進の等長写像を構成し、それにより、該第１の計算セルのセグメントのデータ内容を、アレイとして同時並行で、１回の直接的な横方向のメッセージ送信によって、該第１の計算セルのセグメントから該第２の計算セルのセグメントに転送することが可能になることが理解されよう。このように、単一のクロックサイクルで、包囲アレイ内のある大きなサブアレイを転送させ、包囲アレイ内の第２の大きなサブアレイの対応する位置にあるデータ内容を上書きさせることは、ピボットおよびその計算セルにとって効率的な動作である。図１５のように、セグメントコネクティビティが計算セルの２次元分布と見なされる場合、この転送の動きは、多次元データブロックの平行移動運動の「折り畳み」動作と見なされ得、たとえば、ＳＷＡＰ操作時の行列の操作についての以後の説明において重要である。一部の適用例では、データスワップ行為が鏡像であることが利点である。図１５はこの動作の小規模な例を示しているが、超立方体の一実施形態の再帰Ｈ曲線により、セグメントコネクティビティの最大次元より１小さい次元までの次元を有するサブ超立方体の全ての次元に同じ原理が適用される。
【０２７５】
１０２４個の計算セルのアレイの全要素の間のパスの総数は、少なくとも１０次元の２進超立方体を形成し、図２３に示す交互のレベルで示すように、５つの次元は東西パスによって形成され、５つの交互の次元は南北パスによって形成され、すなわち、計算セルの「ｘ」および「ｙ」座標はそれぞれ０ｄ〜３１ｄの値を有する。Ｈ曲線の場合、各計算セルのｎ次元空間のグレイコードアドレスは、桁の些細な並べ替えによって、曲線に沿ったグレイコード位置にもなる。
【０２７６】
前述のように、デジタル計算エンジンの実施形態の１つの特徴は、メジャークロックの実施態様であり、これは、デカルト超立方体における信号隣接近傍の偶奇指定によって動作する２つの半クロックのステップで順序付けられた、再帰型コネクティビティ１２内の２つの計算セル間の相互メッセージトランザクションの構成を提供する。該グレイコードの付番方式に従うように、計算セルのアドレスのインデックス付けを選択することにより、全ての「偶数」パリティアドレスの計算セルの信号隣接近傍は、思いがけず「奇数」アドレスの信号隣接近傍を有し、全ての「奇数」パリティアドレスの計算セルは、「偶数」の信号隣接近傍を有する。メジャークロックは、交互の半クロックサイクルで、たとえば、最初に一方の半クロックサイクルで、奇数アドレスのデジタル計算エンジンを全て起動してそれらの計算セルによる通信を開始し、次に他方の半クロックサイクルで、偶数アドレスのデジタル計算エンジンを全て起動してそれらの計算セルによる通信を開始するように動作可能である。したがって、多数の該計算セルはそれぞれ、該システムクロックの一方の半サイクルによって排他的に選択的に動作可能であり、たとえば、そのように動作すると、少なくとも１つのデータ伝送ルートを介して信号隣接近傍のデジタル計算エンジンのうちの選択されたものと通信するように動作可能である。
【０２７７】
そのような指定の１つの好ましい方法は、前述のように、システム全体の「メジャー」クロックを全ての計算セルに配線して、（たとえば）「奇数」計算セルが待機（ｌｉｓｔｅｎ）している間に、クロックパルスの立ち上がりエッジによって、全ての「偶数」計算セルがデータ伝送用に切り替えられ、「偶数」計算セルが待機している間に、クロックパルスの立ち下がりエッジによって、全ての「奇数」計算セルがデータ伝送用に切り替えられるようにすることである。このクロックは、デジタル計算およびデータ伝送で一般的に使用される、計算セルの要素ロジックに遍在するより高速な「マイナー」クロッキングとは異なることに留意すべきであり、メジャークロックパルス自体は、場合によりマイナークロックの３２サイクルごとにクロックされる。各半サイクルで、その半サイクルのペアの「マスター」計算セルが送信を開始して、「スレーブ」モードの適切に受信する計算セルと通信する。後半の半サイクルにおいて、反対方向の送信が必要な場合、役割が逆になる。これにより、どの時点においても、任意のペアの一方の計算セルのみが送信を行うことになるので、計算セル間のあらゆる可能性のある競合が解決される。
【０２７８】
したがって、全てのマスター送信は１つのグループで動作し、スレーブは受信を待機し、その後、次の送信シーケンスでは役割が逆になる。後ほど説明する多次元ソートは、この同期機能の使用の単純な一例であり、ソートシーケンスの比較およびスワップが交互のサイクルで行われる。コネクティビティの偶奇切り替えのさらなる応用例は、デジタル微分解析である。その場合、計算セルのコヒーレントブロックに存在するデータは、状態変数として量子化された多変数動的システムを表し、変数間の相互作用をモデル化した計算セルの行列の形式の離散型の動的関数を定義する。計算セルのブロックは、インターレースの信号隣接近傍の計算セルと交互になって、実行中の問題に関連する更新された自身の値を次々に送信する。これは、計算を統合する「リープフロッグ（ｌｅａｐ−ｆｒｏｇ）」の方法と合致する。
【０２７９】
動作時の１つの好ましい実施形態の一態様では、再帰型コネクティビティは、多数の個別に命令されるプロセッサアレイのクラスタを有し、各デジタル計算エンジンの計算セル部分は、その信号隣接近傍のみと相互通信する。そのとき、送信メッセージフォーマットは、各送信パラメータの必要な分解能のみに従って組み立てられる、単一の適応可能な長さのデータフィールドに制限されると有利である。送信が中間デジタル計算エンジンを介して間接的にターゲットデジタル計算エンジンに向けられている場合、各計算セルは、少なくとも命令と、送信側および受信側のデジタル計算エンジンの間の相対アドレスとを含む、より複雑なメッセージフォーマットを形成する手段を有する。
【０２８０】
以下は、典型的なアレイ処理トランザクション用のビットパターンとして示す、シリアル送信されるデータフィールドのメッセージストリームの一例である。
メッセージ：−  ＿  ｂ  ＿  ａｄ  ｘ  ｘ  ａｄ  ＿  ａｓ  ｘ  ｘ  ａｓ  ＿  ｘ  ｘ  ｘ  ｘ  ｘ  ｘ  ｘ  ｘ  ｘ  ｘ  ｘ  ｘ  ｃ  ＿  ＿
フィールド：−  １  ２  ３  −−−−４−−−−  ５  −−−−６−−−−  ７  −−−−−−−−データフィールド−−−−−−−  ８  ９  １０
【０２８１】
「１」、「３」、「５」、「７」、および「９」は、ここでは２相符号化のゼロ復帰機能によって形成されると有利である区切り用のデリミタである。この形式の複数のメッセージは、メッセージ間に二重デリミタ（「９」および「１０」）を登録することにより、１回の信号伝送において連結され得る。
【０２８２】
この例では、ビット「ｂ」はスレーブ計算セルへのブロッキング信号であり、これは設定されると、その該スレーブ計算セルからの、その半サイクルでのマスター計算セルへの戻りデータ伝送を禁止し、ただし、該スレーブ計算セルが、さらなる独立したタスクに従事するようになった場合に、自身への通信を禁止できるようにする、単一の返信ビットメッセージ「ｂ」は別とする。（「マスター」半サイクル中に）スレーブから「ｂ」ビットが返されない場合、マスター計算セルは、自身のその後の半サイクルで後続メッセージを自由に送信することができ、それらはいずれも、ビット「ｂ」をリセットして、スレーブ計算セルからの自身の着信接続を解放し得る。
【０２８３】
変数フィールド「４」および「６」はアドレスフィールドを構成し、その中で、「４」は現在の計算セルに対する最終的な宛先アドレスを定義し、「６」は現在の計算セルに対する元のソース計算セルのアドレスである。後者のアドレスは、特定の後続のアプリケーションのために、宛先計算セルにとって価値がある。フィールド「４」および「６」のビットの総数が、ソース計算セルと宛先計算セルとの間の信号伝達距離によって変化することは、この実施態様にとって価値があり、距離が短いと、有利なことに必要なビットが少なくなる。ソースの相対アドレスは、宛先の相対アドレスの減少と共に段階的に長さが増加する（ソースおよび宛先の相対アドレスは互いを補完する）。グレイコーディングにおける２つの計算セル間の「相対」アドレスは、２つのアドレスの排他的ＯＲとして導出される。
【０２８４】
このようにして、セグメントコネクティビティのネットワークにより、信号開始元の計算セルは、アドレスが選択された信号伝達パスのシーケンスを介してメッセージをターゲットセルに転送することが可能になり、ターゲットセルへのルートに沿ったシーケンス内の各セルは、メッセージと共に送信されるセル選択アドレスコードによって切り替え可能に順序付けられる。
【０２８５】
「データフィールド」自体は、マスター計算セルに現在タスクを割り振っている特定のプリミティブ操作に一致する、アレイ次元、関数名、および引数値のためのさらなる従属ビットフィールドを含む。そのようなデータは、最新技術では日常的であるように、計算セル内のマイクロコーディングによって容易にデコード可能かつ解釈可能である。本明細書では、アレイの転送および処理は特に注目され、データセグメント内の各データ項目は、その送信タスクおよび処理タスクの全ての段階で、該データセグメント内の（すなわち、軌跡に沿った）自身の位置を識別すると有利である。この機能は、アドレス指定のグレイビットパターン形式と、再帰曲線の選択と、該データセグメントのスコープとにより、再帰型コネクティビティを、権限および相対位置の観点でのユーザのニーズに適合可能なクラスタとして適宜取得することを可能にする。さらに、各計算セルは、同様の複数のデータアレイのそれぞれに関連付けられた複数のデータ要素のうちの１つを記憶および処理する責任を適宜負うことが可能になる。各データ要素と、それに付加される即時プリミティブ演算子とを区別する特徴は、そのデータ要素が属するデータアレイのスコープ整数「ｍ」である。前述のように、本発明の特徴の１つは、複数のデータ要素と、該複数のデータアレイに関連する付加されたプリミティブ操作とが各計算セルに記憶され、その後、時分割共有スケジュールと、データアレイスコープの階層とに従ってアクセスおよび処理されることである。
【０２８６】
シリアルチャネルのマンチェスター２相符号化について説明したものと同等の情報ユーティリティを少なくとも提供するマルチワイヤ伝送規格では、他の多くのフォーマットが同様に利用できることが認識されよう。
【０２８７】
各計算セルは、ユーザソフトウェアコードが、規則的なデータアレイの要素の比較、交換、および操作に適した論理演算、算術演算、およびポートアドレス指定操作を選択することを可能にする命令セットを有する。したがって、シリアルに送信されるデータフィールドの該例の２進フォーマットは、データ処理用の中央処理装置では一般的なように、各計算セル内に存在する命令セットのフォーマットに従う関数指定および引数指定を含む。本発明では、各計算セルにおけるコード化された命令セットの選択は、特にアレイ処理動作に関連するマイクロコーディングを有する。等価なマイクロコード化されたハードウェア命令を、ユーザのコード化されたメッセージに含まれる関数指定と一致させるための手段に加えて、命令セットロジックは、少なくとも、送信された各引数と、計算セルに記憶された数値、シンボル値、およびアドレスとの論理比較と、命令に応じて適宜、数値およびアドレス値を含む数値引数への基本的な算術演算と、アドレス値に対応するポート選択と、他の計算セルに送信するための計算セルの占有ステータスの報告を要求するディレクティブ（たとえば、応答ビットメッセージ「ｂ」）と、計算セルのローカルメモリからマクロコード化された関数の文字列をトリガーする「実行」命令と、を提供する。各中央処理装置のロジック内での該命令セットの記憶および操作は、デジタル計算の分野で一般的な設計ルールに従う。
【０２８８】
シリアル送信されるデータフィールドのメッセージストリームの該例では、メジャー半サイクルパルスタイミングは、メジャーとマイナーとのクロック周期の比によって決まる固定の最大長のビットストリームのみが計算セル間を通過することを許可する。この理由で、この例において、最大長が使用されているが、メッセージは不完全なままである場合、データフィールド内の最後のフラグビット「ｃ」（８番目）は、後続の連結されたストリームが、同じデータフィールドを継続するために、次のメジャークロックで予想されることを信号伝達する。たとえば、最初のトランザクションで完了する場合は「ｃ」は「０」であり得るが、次の半サイクルの最初のビットが、「０」でも「１」でも、元のストリームの即時の継続となる場合は、「ｃ」は「１」に設定され得る。この該最初のビットは「ｂ」ビットと区別可能であり、その理由は、以前に「１」に設定された「ｃ」ビットが、受信計算セルによって記憶されており、そのメッセージについて、「ｂ」ビットの関連性を取り消すためである。最終的に、データフィールドの最終的な完了を示すために、「ｃ」ビットは「０」に設定される。送信機セルおよび受信機セルは、最終的な後続メッセージが完了するまで、「ｃ」フラグ設定のステータスをそれらの適切なメッセージポートに記憶する。場合によっては複数の半サイクルの送信ワードの後に、メッセージストリームが完了すると、次の２倍の長さの「ゼロ復帰」（たとえば、半サイクル半ば）が有効化されて、前述のように、アドレスシーケンスおよびデータフィールド（必要な場合）を含む新たなメッセージが開始される。対照的に、連続して終了するマンチェスターの「ゼロ復帰」は単純に、その半サイクルでこれ以上データが予想されないことを意味する。
【０２８９】
前述のように、データバスの信号リンケージが計算セルの複数のペア間で時分割共有されることは、一部の実施形態にとって利点である。データバスは、ペアごとのポートを識別して、各メッセージ送信を、対応する送信側および受信側の計算セルポートの各ペア間で区別する手段を有する。その場合、データバスのポート接続は、特定の拡張メッセージに使用される送信機計算セルと受信機計算セルとを相互接続する特定のポートを指示する。そのとき、受信機計算セルのポートは、データバスを介して発信元の計算セルに一意に接続されるので、受信した各メッセージパッケージを一義的に追跡して、複数のそのような全てのメッセージを同様の複数の自身のポートで再構築する。この手段により、各計算セルは、複数のソースから複数の長いインターリーブされたメッセージを受信し得るが、スケジューリング回路は、まだ各メッセージの関連部分を並べることができ、ただし、計算セルのこの時分割共有動作は必然的に、メッセージおよびサブメッセージの複数の組み合わせに応答する速度に影響する。
【０２９０】
コネクティビティの様々な例示的な動作例を以下説明する。
【０２９１】
例１、「ＳＷＡＰ」操作：図２３のパスを参照して示唆したように、再帰型コネクティビティ２５の行に沿った各計算セルは、マイクロコード化命令によって、ペアごとにデータ要素をスワップすることが可能になり、奇数アドレスの計算セルは、アドレス値が１ビット位置だけ異なる偶数アドレスの計算セルと通信する。計算セルのマイクロコード化されたサブルーチンによるアドレス指定ビット位置の選択的な選択により、要素スワップのシステマチックな進行が実現される。たとえば、図２３のレベル「１０」に関して、アレイ定義のアドレス長の最上位ビットのみがターゲットアドレスと異なる計算セルを取得することにより、行の２つの１６計算セルの半部の間の、行列の全ての行にわたる計算セルデータ全ての、同時のペアごとのスワップが可能になり、個々のペアは、メジャークロックサイクルの前半で一方向に、後半のサイクルで他方の方向にデータを交換する。その操作により、行の計算セルはデータ要素を交換する。図２３のレベル「８」で、第２ビットから最上位ビットまでにおいてアドレスがペアごとに照合される場合、行の４半分の計算セルがデータ要素をスワップし、その場合、各行の各半分が反転され、必要に応じてレベル「２」まで続き、そこですぐ隣のデータのペアがスワップされる。どのレベルでも、全てのスワップトランザクションは、１つのメジャークロックサイクル内で、同時並行で完了する。その場で水平（または垂直）に、行列（および行列の一部）の要素をスワップするのに、図３６に２６３および２６４などのルーティングでシンボリックに示すように、パスを介して２つの半サイクルで１回の受け渡ししか必要ない。図３６に示す２６５などのセグメント内の各計算セルは、アレイデータ要素を保持しており、ＳＷＡＰ操作は、典型的にはＳＷＡＰ命令で要求された場合に、２６４などの信号隣接近傍のデカルトパスを介して要素のペアを水平に交換する。したがって、選択された計算セルのセグメントを制御するピボットは、メジャークロックの「奇数」の半サイクル中に計算セルの「奇数」グループによる局所制御を行い、また交互に、「偶数」の半サイクル中に計算セルの「偶数」グループによる局所制御を行うことによって、データ要素のペアの交換を命令する。この活動中に、前述のように、ピボット自体は、ブロードキャストコネクティビティ２６を通じて、グループ内の全ての計算セルが以前に指定されたタスクを完了したことを確かめる手段と、アレイ操作におけるデータ要素としての責任を果たす手段と、この操作における次の再帰レベルを開始する手段と、を有する。各サイクルでピボット内の命令に関連付けられたアドレスフィールドにより、ピボットは、その指揮下の特定のサブアレイおよび計算セルの応答を選択的に禁止することが可能になる手段を有し、方向フィールドによって、ピボットは、セグメントコネクティビティの任意の象限のペアの間のＳＷＡＰ操作の軸方向を命令することが可能になる。
【０２９２】
したがって、たとえば、離れて位置する２つのデータアレイをオーバーレイし、それらのデータ要素にペアを組ませて、（たとえば）総和演算および乗算演算を行うために、典型的な「ＭＯＶＥＴＯ」操作のマイクロコーディングは、データ要素の一方向のみの伝送に制限されたＣＯＰＹ交換方式を使用する。この制限されたＣＯＰＹ操作により、２６５などの計算セルのセグメントからのデータ要素のアレイが、２６７などの近傍の仲介セグメントを介して２６６にオーバーレイされ、仲介セグメントは、要素がさらなるサイクルでセグメント２６６に渡されるまで、要素の一時的な保管場所を提供するものである。この場合の操作は、計算セルの３つの構成セグメント全てを少なくとも包含するスコープを有するピボットの責任である。
【０２９３】
図３７のようにこの一方向のＣＯＰＹメカニズムを行列の加算に拡張すると、より高次元のパス２６９から最低次元２７０までの再帰的な順序で、同じ一方向のＣＯＰＹアクションを段階的に適用して、要素を足し合わせることによって、すなわち、要素のペアを折り畳んで加算し、それらの結果をペアごとに加算していくことを、各列の結果が（たとえば）行２７１で一斉に終了するまで行うことによって、２６８などの１列の要素全体が再帰的に合計され得る。２７２の値「１」から開始して、この処理を繰り返すと、列単位の加算によりこの要素の値は３１となり、アレイ全体の行単位の合計によって、最終的にこの位置で「６７」となり、これは２×Ｌｏｇ（ｎ）＋２のメジャークロックサイクルで行われる。共通のコマンドを計算セルのセグメントに送信するブロードキャスト操作の説明で前述したように、この例では、ピボット計算セルは、そのコマンドを、意図したスワップおよび加算の操作の影響を受けるグループ内の各計算セルに送信する。そのように指示されると、セグメント内の（たとえば）各「奇数」計算セルは、データ要素を交換するために関連する信号隣接近傍と接続し、また、この操作で完全に切り離されると、セグメント内の他の全ての「奇数」計算セルと独立して同時に操作を実行することができる。
【０２９４】
例２、反転Ｚ変換：ＺからＨへの変換が、Ｈ曲線順の形式の行列を入力するために外部で実行され得る。しかしながら、行および列のスワップの特定の再帰シーケンスを使用して実装される内部の計算シーケンスの一例として、図３８および図３９に、図３８の従来の８×８の行優先行列２７３から、図３９の等価なＨ字順配置２７４への変換を示す。最終的にＨ曲線行列２７４になる図示したシーケンスでは、Ｈ字順のデジタル計算エンジンの最終的なグレイコーディング方式は、図２２に示す同じ階層原理に従うが、入力された行優先行列を、２７５の成分［０，０］および呼称（２）０００ｇから開始し、２７６の呼称（２）２００ｇの［７，７］にてＺ曲線行列を終了する。２７７の変換の第１段階において、グレイビットパターン（２）０  ｉ  ｊを有する全てのデジタル計算エンジンは、「ｙ軸」を介して列方向に、（２）３  ｉ  ｊの信号隣接近傍と合同で成分をＳＷＡＰし、「ｉ  ｊ」は、サブアレイ２７８の各デジタル計算エンジンの特定の下端のグレイコードの整数を表す。第２段階の行列２７９では、サブアレイ２８０の左下の正方形セグメントのＤＥＣ（２）０  ｉ  ｊは、右下の正方形のセグメントにおいて、デジタル計算エンジン（２）２  ｉ  ｊと、ｘ軸に沿って行方向にＳＷＡＰする。この同じＳＷＡＰ手順は、２８１の次に低い階層段階に続き、最終的に２７４において、開始点がセル２８２にあり、終了点がセル２８３にある、２７４のＨ曲線順を生成する。
【０２９５】
例３：「ＳＷＡＰ」操作による行列転置：図４０に、計算セルのアレイ内の広く離れた行列要素の選択を相互に関連付ける再帰的な方法の、スワップ操作を使用した４×４行列２８４のその場での転置のためのアレイ操作を示す。行列２８４は、人間のアナリストにはなじみのある従来の行優先形式の、コネクティビティの外部にレイアウトされた４×４の数字のアレイの一例である。説明の目的で、図３４以降を参照して論じたように、反転Ｚ曲線のスケジューリンググラフ２８５が行列上にオーバーレイされている。これにより、行列２８７の「Ｈ」曲線形式２８６への変換が可能になり、これはセグメントコネクティビティの構成ではより好都合である。行列２８８への従来の転置を実行するには、２８４の全ての右上の三角形の要素を、対応する左下の三角形の要素と転置する必要がある。仮に転置がこの行列形式で直接、同時並行計算で実行されるならば、セグメントコネクティビティにわたる、必要な斜めのデータ要素の通路に効率良く一致するような、計算セル間の長い斜めのリンケージが必要になるであろう。小さな転置操作の場合は可能であるが、大きな行列操作の場合、相互接続のレイアウトがデカルトであるとより好都合である。したがって、行列操作を可能にするために選択されるパターンは、デカルトパスによって正方行列の階層フォーマットを維持する、前述のようなＨ曲線２８５であることが好ましい。階層形式は、転送レベルごとに適切な次元の接続軸を使用して、データ要素の象限および下位象限をひとまとめにすることによって、セグメントコネクティビティを介してブロック転送できるようにする。この目的で、これらの例では、セグメントコネクティビティ自体の中で操作される全ての行列がＨ曲線順であると仮定すると好都合である。説明を簡単にするために、ユーザは最初に行列２８４を、外部で反転Ｚ曲線変換によって、２８７のＨ曲線行列配置に再配置していると仮定する。次に、行列要素のセグメントピボットは、行列２８９内でボックスで囲んで図示しているように、Ｈ曲線形式の長方形のサブセグメントを指定して、前述のように水平方向にスワップする。これは、この操作の１回目の反復である。２回目の反復では、行列２９０内でボックスで識別される要素も同様にスワップされる。一般的に、転置されたＨ曲線行列は、さらなる行列操作に必要となるので、従来の行優先形式に戻す変換は必要ない。必要に応じて、逆反転Ｚ曲線により従来の行優先形式に変換されて、ユーザに対して出力される。
【０２９６】
図４１に、制御ピボットにより各階層段階でトリガーされる選択のシステムを示すために、８×８行列２９１に適用される同じ転置処理を示す。行列２９１が（コネクティビティの外部で）変換され、アレイ処理セグメントコネクティビティに行列２９２としてロードされると、最初のスワップにより行列２９３になり、２回目で２９４になり、最後は２９５になる。したがって、この処理は、ｎ×ｎの計算セルのグループにその場で適用されるＯＬｏｇ（ｎ）の操作である。反転Ｚ曲線シーケンスにより、２９５が従来の形式の行列２９６に変換し戻される。行列の図における灰色の網掛けは、各変換における行列の同じデータ要素を示しており、同じ計算セルを表すものではない。
【０２９７】
図４２では、階層的な行列表記を一般化して行列乗算を説明するために、転置操作は、例示的な整数ではなく、階層的なシンボリックな要素によってシステマチックに示している。要素２９７は、未変換の８×８行列２９８において識別子「ｄｃｂ」を有し、ここで、識別子の各文字は、この６４個の要素の場合、３つの階層的な象限レベルのそれぞれにおいて、４つの象限：「ａ」、「ｂ」、「ｃ」、および「ｄ」のうちの１つを指定する。したがって、要素２９７の場合、「ｄ」は要素の最高レベルの象限であり、「ｃ」は次のサブ象限位置であり、そしてこの要素のＩＤ内の「ｂ」は、従来の行優先行列での最低レベルの象限である。行列２９８では、データ項目「ａａａ」は行列座標［０，０］にある。行列Ａ（Ｈ）２９９へのＺ変換後、データ要素「ａａａ」はデカルト座標［５，５］にあり、Ｈ曲線の原点を形成し、データ要素「ｄｃｂ」はＨ曲線行列の［３，６］にある。３００の「Ｈ」転置ＡＴ（Ｈ）の完了時に、データ要素２９７「ｄｃｂ」はこのとき座標［０，６］に存在する。元の行優先行列２９８において、要素「ｄｃｂ」は要素「ｄｂｃ」と転置されるので、最終的なＡＴ（Ｈ）形式３００の「ｄｃｂ」は、ＨからＺへの変換を通じて、行列２９８の座標［６，５］に対応する。本文書の他の場所の厳密に一致する表記では、同じ目的で整数シンボル「１」、「２」、「３」、および「４」を使用している。これにより、図４５などの後の図において、２つの異なる行列の要素を区別することが可能になる。
【０２９８】
計算セルグループの入れ子の象限に、「ＴＲＡＮＳＰＯＳＥ」を実行するように命令するためにピボットが使用し得るｍ×ｍのＨ曲線転置アルゴリズムの一例は次のとおりである。
【０２９９】
制御ピボットは、そのスコープ内の全ての計算セルに、最上位ビット（ｍｓｂ）＝１のｙ座標を有する計算セルのみが行動を起こすＳＷＡＰコマンドをブロードキャストする。
計算セルはｍｓｂをチェックし、選択された全ての計算セルが、データ値をスワップすることでペアで応答する。
ピボットは、その権限下にある全ての計算セル（そのコマンドに従って行動しないものを含む）からの完了応答を待つことで操作を同期させ、第２ビット＝１のｙ座標を有するそのセグメント内の計算セルをアドレス指定し、再びＳＷＡＰ操作をトリガーする。
ピボットは、各ｙビットを介して順番に最下位のｙビットまでコマンドを繰り返す。
この最終ビットのコマンドの後に、ピボットは完了応答を待機し、アルゴリズム手順を終了する。
【０３００】
このアルゴリズムは、ｍ×ｍの包囲ピボットスコープでカバーされるｐ×ｑの長方形行列をｑ×ｐの長方形行列に転置し、ここで、ｎｉｌのパディング要素（長方形行列の外側）も、ピボットの計算セルの全要素にわたってスワップされる。
【０３０１】
例４、（その場での）行列転置用のコーディング構造：図４３に、その場での行列転置の管理用コネクティビティの制御のためのコードの評価の一例を示す。これは、管理用コネクティビティ１５を使用してアレイを制御する第１の例示として提供している。この例に含まれる略図および論理演算では、Ｈａｍｌｉｎにて、その特許の関連する例示的な図Ｈ２５と共に説明されている管理用コネクティビティを前提としている。
【０３０２】
図４３に示す例では、本明細書では「Φ」と名付けた、ユーザの関心対象の要素の行列が、（図８以降で前述した）以前の操作によって、特別処理セル「ｄ」およびピボット３０１に関連付けられた計算セルのセグメントにロード済みであると仮定する。関連する計算セルのセグメントは、前述のように、それらのピボット計算セルの単一のアドレスによってグループとして識別可能であり、これは、そのセグメントにロードされた、行列Φを含み、アドレス＃Φでユーザに知られている、ロード済みの行列要素のグループに対応すると推定される。図４３において、処理セルのアドレスは、＃Φおよび＃Ａのようにハッシュマークで区別され、これらは様々な関数呼び出しで通信ポインタとして使用される。したがって、＃Φは、Φのデータ要素を含む、３０１の関心対象のセグメントの（単一の）ピボットのアドレスを指す。したがって、引数＄Φを有するユーザの＄ＥＸＡＭＰＬＥ関数の目的は、推定では行列Φをその場で行列ΦＴに転置することである。
【０３０３】
完了時に、ユーザは返されたピボットのアドレスを受信し、これにより、操作が完了したことと、対象の行列（現在この例では転置されている）が、該ピボットのアドレスで識別される計算セルのグループに存在していることとの両方がユーザに示される。式中の名前に関連付けられた表記「＄」は、該名前自体がデータ列でも整数でもなく、辞書識別子を表すことを宣言するプリミティブ識別子を表すものであって、関連付けられた名前（たとえば、「ＥＸＡＭＰＬＥ」）を、この場合は３０２であるデジタル化された定義の辞書に記憶された関数定義により最終的には意味のある計算可能な式に展開される複雑な式構造として扱うように処理セルに指示するものである。名前の「意味」は、アドレスボインタによって相互に関連付けられた、処理セルの相互関連グループに記憶された辞書エントリ３０３から見つかり、コピーされ、そのうち処理セル３０４（Ｂ）は、この場合に探している定義である。
【０３０４】
ユーザ操作のシンボル形式は、関数型プログラミングの使用法によく似たものであるが、
ΦＴ＜＝（＄ＥＸＡＭＰＬＥ  ＄Φ）
であり、これは「ＥＸＡＭＰＬＥ」の辞書定義の結果として、これから説明するように宣言型コネクティビティを介して第１レベルの置換が実行されると、
ΦＴ＜＝（＄ＭＴＲＡＮＳ  ＃Φ）
になる。
【０３０５】
ユーザがルーチンにアクセス３０５すると、説明の便宜上本明細書で「ａ」と呼ぶ、アドレス＃ａを有するフリー状態の特別処理セル３０６が、（Ｈａｍｌｉｎに記載のように）宣言型コネクティビティのネットワークノードに渡されるフリー状態探索信号によって見つかる。フリー状態の処理セルａの取得時に、ユーザインターフェースは、端末コネクティビティ２４（図示せず）を介して、図８以降に関して前述したように、ユーザの呼び出し関数を表す２進ストリームを、呼び出し元の戻りアドレスと共にａにロードする。ユーザの式（＄ＥＸＡＭＰＬＥ  ＄Φ）を表す該２進ストリームがａに存在すると、処理セルａは、一致する可能性のあるシンボル名を定義している辞書の階層を検索することにより、シンボル＄ＥＸＡＭＰＬＥの「意味」の検索を開始するマイクロコード化命令を有する。点線の矢印は、適切な辞書へのアクセスが一般的には間接的であり、検索シンボルと一致するために、対応する中間の処理セルのシーケンスによる複数の同様の中間アドレス指定操作を必要とすることを示唆している。各辞書エントリは、ａと同様の処理セル内に存在する、典型的には＄ＥＸＡＭＰＬＥなどの単一のシンボルに関連付けられるが、この例では、一般性のために、関連する辞書は他の場所に３０２として記憶されていると想定している。その辞書内で各辞書検索動作が開始する、辞書へのエントリポイントは、この場合のａなどの呼び出し元の処理セルの代わりに、最終的に指し示される処理セルである。
【０３０６】
一般に、関数の呼び出し元の処理セルは、宣言型コネクティビティ２３のツリーネットワークを使用して、最終的に必要であれば、ユーザ機器への関連付けられた端末コネクティビティポートを使用して、関数名を展開する際に、探索に成功した辞書エントリを含む辞書にアクセスする。辞書の階層への開始元の最初のエントリポイントの辞書アドレスを記憶するためのアドレスレジスタが各処理セルに保持され、そのアドレスは、辞書の呼び出しが関数評価を経て進化するにつれて、最新の機能スコープに従って変化する。
【０３０７】
宣言型コネクティビティの動作では、一般的には多数の辞書が関数構造として、宣言型コネクティビティ内と、アドレス指定可能なユーザポート１７内の両方の様々な場所にわたって、多くの処理セルのコミュニティの間に拡散される。現在のケースでは、関連するターゲット辞書が定義の順序木３０２で表されると考えられ、その中に、仮引数名「φ」を有する、＄ＥＸＡＭＰＬＥの所定の定義’（ＥＸＡＭＰＬＥ’（λ（φ）＃Ｂ））が存在し、これは３０５の関数＄ＥＸＡＭＰＬＥの単一の必要な引数と位置が一致しなければならない。＄ＥＸＡＭＰＬＥの辞書定義の先頭にある処理セルは、「λ」プリミティブに応じて事前に取り決められた辞書の構造により、処理セルＢ３０４に存在するその定義のトップレベルへのアドレスポインタを含む。３０４などの辞書を構成するセルは、「’」で表される「引用符付きの（ＱＵＯＴＥＤ）」式であり、これは、それらが計算的に評価されるのではなく、辞書定義の場合、処理セルａなどの他の評価セルにコピーされるだけであるということを意味する。辞書エントリ３０３内で見つかると、’（ＥＸＡＭＰＬＥおよび’φ）を含む辞書シンボルセルは、ａを呼び返し、その関数アドレス＃Ｂのアドレスをａに、引数シンボル’φと共に送信し、ａはこれを、定義を待っている新たなローカルの辞書エントリとして記録する。この単純なケースでは、ユーザは既に引数の完全な意味＃Φを供給しており、これはａの’φについての辞書エントリに記憶される。
【０３０８】
ａはフリーセルｂを取得し、Ｂ、３０４のアドレスをロードする。このときｂはその親アドレス＃ａを記録し、Ｂを呼び出し、Ｂは、＄ＭＴＲＡＮＳと、その引数参照であるシンボル＄φとを含む内容３０７で応答し、シンボル＄φは、この単純なケースでは、仮変数’φの値＃Φが割り当てられた、セルａでのｂの最初の辞書検索のエントリポイントにアクセス可能である。
【０３０９】
＄ＥＸＡＭＰＬＥの意味を表す必要な式は（＄ＭＴＲＡＮＳ  ＄φ）であり、引用符はここでは削除されており、その理由は、処理セルｂがこの式を評価する必要があるためである。ｂは＄ＭＴＲＡＮＳと＄φの両方の意味を探さなければならず、これは最初に先頭セルａを通過し、ここでシンボルφは見つかるが、シンボル＄ＭＴＲＡＮＳは見つからない。検索はこのようにしてさらにユーザの辞書空間に向けられて、最終的に３０８でその辞書エントリを見つける。
【０３１０】
典型的なシンボル検索は次のように進む：セルａなどによるシンボル名の検索中に、そのセルは、関心対象のシンボルに関するデジタルコードを、自身のアドレス（＃ａ）と、その検索段階の開始ツリーである、シンボルに関連する宣言型コネクティビティの通信ツリーネットワークの数値指定、たとえば＃３などと共に含むメッセージを渡す。該メッセージは、セルからセルへの要求として渡されて最初の関連する辞書を通過し、シンボルを辞書構造のエントリと照合する。各辞書構造は、λプリミティブに応じて、英数字順のシンボル名で構成されるので、一致するシーケンスは辞書の底部から抜け出て、次に高位の辞書へのさらなるポインタアドレスを受信して、検索を上向きに続けることができる。この目的で、英数字順の最後の辞書セルは、自身の辞書内のさらなる検索可能なセルではなく、次の辞書のヘッダーセルのアドレスを有する。検索が一致せずにユーザの辞書構造の最後のエントリに到達すると、最後の最高レベルの検索可能なセルは、「誤ったシンボル」のエラーメッセージをユーザインターフェースに返す。
【０３１１】
したがって、辞書の元のコーディングにおける検索の順序は、辞書シンボル名の単調なシーケンスに従って配列されていると仮定しており、これは、一致しない場合に、次に高位の辞書へシーケンスを一義的に通過する前に、最も近いシンボル一致のルートを選択するためである。シンボル検索が満たされると、そのシンボルを有する辞書セル（たとえば、３０３の先頭）は、検索に付随したアドレス、この場合はアドレス＃ａを使用して要求セルａを呼び返し、元の検索ネットワーク＃３を介して、シンボル定義メッセージ３０９を送信し、これは定義の先頭セルのアドレスを、引数のシンボル名と共に含み、この場合は、アドレス＃Ｂの処理セル、およびラムダ名’φに関連する単一の引数である。
【０３１２】
処理セルａは、＄ＥＸＡＭＰＬＥの最終的な辞書エントリヘのポインタの戻りを待っている間に、その第１の（この場合は唯一の）引数＃Φの定義を自由に探すことができる。現在の例示的なケースでは、ユーザが既に「’φ」の意味を＃Φとして指定しており、これは転置されるΦのセグメントの計算セルのピボットのアドレスであるので、この検索は必要なく、＄Φが不明ならば、取得したフリー状態の処理セルが必要になり、そのアドレスは’φの値として３１０にダウンロードされることになる。この単純な例では、ユーザは、場合によっては前のアプリケーションコードを介して、行列アドレスの通知を受信していたと仮定している。引数’φのシンボル名は、処理セルａが使用できるようになると、処理セルアドレス＃Φに関連付けられた引数ポインタアドレスレジスタの辞書名として記憶される。評価される式が２つ以上の引数を含む、Ｈａｍｌｉｎに記載の宣言型コネクティビティの実施形態の形式の場合、これらの引数参照により、対応する数のフリー状態の処理セルが、それぞれ異なる宣言型コネクティビティツリー、場合によっては、＃４、＃１、および＃２を介して取得される。
【０３１３】
Ｈａｍｌｉｎで説明されているように、各処理セルは、関数および引数アドレスポインタをレジスタ内に保持しており、各該レジスタは、多数のツリーネットワークのうちの１つに関する子処理セルのアドレスを記憶することが可能であり、各ツリーネットワークは、その他に対してシフトおよび回転される（図Ｈ２３おおびその関連テキスト、ならびに本明細書の図７参照）ことに留意されたい。したがって、各セルは、それらのツリー内の複数の電気的位置に対応する、同数の多数の一意の自身のアドレスを有する。よく知られているデカルトの回転および平行移動の変換により、多数のツリー間のアルゴリズム関係が固定されるので、１つのツリー上のある位置の処理セルのアドレスが第２のツリー上のその位置のアドレスから決定できる。したがって、１つの処理セルのペアの間の２つのルートは、２つの異なる宣言型コネクティビティツリーネットワーク上での処理セルの位置によって決まるアドレスの２つの異なるペアを含む。シンボル検索が階層的な辞書のシーケンスを進行するにつれて、検索トランザクションは一般に様々なネットワークの間で切り替わるが、検索シンボルの一致を提供する処理セルは、それでもなお、結果のシンボル定義を、３０６などの検索開始処理セルに、該開始処理セルの発信元ポート内に返す。この手段により、辞書処理セル内のそれぞれのネットワークポートは、検索処理セルに代わって、各シンボル検索トランザクションを終了させるのに適切な戻りネットワークを認識する。例として、＄ＥＸＡＭＰＬＥは、（たとえば）ネットワーク＃３の処理セルポート＃３に対応し、＄φは、ネットワーク＃４の処理セルポート＃４に対応し得る。引数の数がネットワークの数を超え、関数自体で１つだけ足りない場合、処理セルの最後の使用可能なネットワークポートを使用して、さらなるフリー状態の処理セルを指定することによって、関数の引数をさらなる子処理セルにオーバーフローさせるために使用されるより多くのアクセス可能なポートを提供するようにする。この後者の構成は、我々の現在の単一引数の例のように、ブランチのパターンにおいて、関連する辞書エントリのパターンから同等のアクティブセルにコピーされる辞書定義と一致することが理解されよう。
【０３１４】
前述のように、各処理セルは、宣言型コネクティビティ２３内の１つのツリーネットワークに関する処理セルアドレスを、宣言型コネクティビティ内の第２のツリーネットワークに関する等価なアドレスに変換するためのアルゴリズム手段を含む。各軸の変換は、図７のネットワークの各ペアの間で、２つの平面次元のそれぞれにおいて、２つのツリーの相対的な直交回転およびシフトを定義する符号付き２進乗算器で構成される。受信ネットワークに対する遠隔地から受信された各アドレスストリームは、この手段により、この場合は該関連する辞書を介して、任意の前方へのトランザクションのためにアクセスされるネットワークに対する同じ処理セル位置のアドレスに変換される。最終的に、この例の説明の現在のフェーズでは、＄Φの辞書定義の先頭セルは、必要に応じて、（＄Φの意味を送信するために）ネットワーク＃４の識別子が関連付けられたフリー状態の子アドレスを採用し、これにより、Φの定義を辞書の一致する部分から子処理セルにロードすることが可能になる。
【０３１５】
このアドレス指定の複雑さを軽減するマルチプロセッシングの利点は、フリーセルの「有向探索」機能（Ｈａｍｌｉｎ）が、シフトおよび回転されたネットワークを介して、宣言型コネクティビティにわたって、複雑なソフトウェア構造を広く地理的に分散させるために使用され得るという事実から得られる。既存のアプリケーションを通じたフリー状態の処理セルの進化する取得の結果として、所与のアプリケーションのための処理セルの取得は、処理空間内である程度ランダムな処理になる。しかしながら、該「有向探索」機能はまた、構成する処理セル間のタスクの拡散を優先的に制約する。この制約により、関連する辞書定義のコピーされた階層構造を大まかに反映した、緩やかなピラミッド状構造に近似する、相互通信する処理セルのクラスタが形成されやすくなる。宣言型コネクティビティにわたってこのように適宜レイアウトされた複数のアプリケーションは、独立したタスク間のクロストークのリスクなしに互いに自由にインターレースしながら、それぞれが個別に自身の階層的な管理構造を保持する。
【０３１６】
各シンボル検索は、コピーされた各定義の先頭セル、たとえば、図４３のａおよびｂから始まるが、ｃは異なる。家父長的に（ｐａｔｒｉａｒｃｈａｌｌｙ）ローカルなセルのアドレスは、検索開始点として下向きに、コピーされた構成要素の子セルを介して、さらなる該先頭のセルが検出されるまで渡される。その時点で、開始アドレスは、下降チェーンの最新の先頭アドレスに置き換えられる。
【０３１７】
これにて、典型的なシンボル検索処理の説明を終える。
【０３１８】
処理セルａはこのときアドレス＃Ｂを含むので、処理セルｂを取得すると、＃Ｂを処理セルｂにロードすることが可能になり、その処理セルは次いでＢを呼び出して、ローカルの辞書セルＢ内の＄ＥＸＡＭＰＬＥの定義を取得し、これは３０７、（＄ＭＴＲＡＮＳ  ＄φ）として返される。図４３の例の処理構造内をさらに進むと、元の＄ＥＸＡＭＰＬＥのこの関数展開は、引数名＄φを含み、これは、この現在の例の性質により、＄ＥＸＡＭＰＬＥに関連付けられた引数名に偶然対応する。これにより、処理セルｂ内での第２のシンボル検索処理がトリガーされて、最初に＄ＭＴＲＡＮＳの定義が探され、これは場合によっては異なる辞書３０８内にある。＄ＭＴＲＡＮＳのシンボル検索処理は前述のとおりであり、ここではアドレス＃Ｃを、異なるローカルラムダ引数’φと共に返す。ラムダ引数が再び’φである場合、変数の競合はなく、その理由は、ｂが、新たな検索がその仮変数から始まるようにし、仮変数は単にその定義へのローカルポインタであり、これは既に、この場合は発生時に、「＄φ」になっており、＄φはｂではなくａから検索されるためである。したがって、ｂでの仮変数シンボルの選択に結果的な重要性はない。
【０３１９】
処理セルｂはフリーセルｃを探し、シンボル参照用に自身のアドレスと共に＃Ｃを伝え、最終的にその後に計算された結果を、処理セルのチェーンを上って返し、ついにはユーザ機器に返す。
【０３２０】
ａでの＄φの定義は＃Φであり、実際に＄ＥＸＡＭＰＬＥがａにあったように、最初は＄φはｂでの検索対象のシンボルである。ｂでの引数＄φの詳細化にも辞書検索が必要であり、これはｂのローカル辞書から開始し、ローカル辞書はこの場合は自身の親セルａであり、検索は値＃Φが返されると直ちに終了する。そうでなければ、ｂは次いでより高位の辞書に、＄φの意味を探すためにリダイレクトされることになる。ａは、即時のセットアップ処理を完了している場合、この特定のケースではさらなる検索ステップが必要ないので、＃Φをｂに戻す。（引数ポインタおよび辞書ポインタが、存在する場合に、まだ確定されておらず、そのためａがまだ準備ができていない場合、ａは呼び出し参照を記憶し、ｂの通信を一時的に終了して、準備ができたら後でｂを呼び出してパスを再接続する。）したがって、ｂはａを呼び出して、自身のために＄φの定義として＃Φにアクセスして、ローカル仮変数’φの定義としてロードする。繰り返すが、＃Φには、＃φに関連付けることを除いて何も行われず（そのバージョンは現在＄ＭＴＲＡＮＳに属している）、これはφの定義となる。
【０３２１】
フリーセルｃはｂによって取得され、＄ＭＴＲＡＮＳの意味の位置＃Ｃを受信し、これをｃに送信する。今回、この例では、ここでは＄ｍｔｒａｎｓで表される識別コードと、その引数シンボル＄φとを有するマシンコードルーチンとして＄ＭＴＲＡＮＳの定義を与える。ｃにおいてプロセッサプリミティブとして解釈される場合、＄ｔｒａｎｓは、ピボット＃Φがｃによって導出されると、これを取得するマシンコードフラグメントの実行を許可するコーディングである。意味のあるアドレス参照＃Φを取得した後、ｃはｄ  ３０１を取得し、ピボットプリミティブ「ｍｔｒａｎｓ」をピボットデジタル計算エンジン３０１に渡し、ピボットデジタル計算エンジン３０１は、前述のように行列転置の目的で、ｍｔｒａｎｓを解釈する。この例に当てはまるようなプリミティブ関数が、アプリケーションが関連する計算空間のどこに存在しても利用できるように、処理セルに組み込まれることに留意されたい。望ましいマシンコード、命令セットプリミティブを正確に選択することは、生産コンピュータの一般的な商業上の課題であるが、本明細書の範晴を超えている。
【０３２２】
ピボット計算セルは、ｍｔｒａｎｓコマンドを直接受信し、行列転置をそれらの要素に実行するようにその計算セルのセグメントに命令する。図４１を参照して上述したように形成された転置行列のピボットアドレス＃Φが、処理セルのチェーンを上ってユーザ機器まで連続的に送信された場合に、動作全体が終了する。この場合、ピボットアドレス＃Φは必然的に元の行列のものと同一であり、その理由は、この例では、転置がアレイ接続された計算セル内でその場で実行されているためである。これにて、その場での行列転置の管理構成の第１の例の説明を終える。
【０３２３】
例４、行列転置（コピーされた行列）：図４４に、行列転置の第２の管理構成を示す。これは、宣言型コネクティビティを使用してアレイ処理コネクティビティに命令する一例として提供しており、ここで、転置が計算されている元のアレイは、通常はさらなる計算のために、手付かずのままである。そして、転置バージョンは、別の計算セルのグループに、それらに関連付けられたピボットアドレスと共に保持される。前述のように、この例に含まれる論理演算では、Ｈａｍｌｉｎに記載の宣言型コネクティビティの実施態様を前提としており、上記の例で説明している処理のほとんどがここでも適用される。
【０３２４】
第１の転置の例で説明したように、図４４に示す例では、本明細書では「Φ」と名付けた、ユーザの関心対象の要素の行列は、以前の操作によって計算セルのアレイにロード済みであると仮定する。引数＄Φを有するユーザの＄ＥＸＡＭＰＬＥ関数の目的は、ここでは、行列Φのコピーを転置することである。完了時に、ユーザは元の行列のコピーの転置された形式の返されたピボットのアドレスを受信し、これにより、操作が完了したことと、新たな行列が、新しく取得したピボットのアドレスで識別される計算セルのグループに存在していることとの両方をユーザに示される。
【０３２５】
ユーザ操作のシンボル形式はこのとき、
ΦＴ＜＝（＄ＥＸＡＭＰＬＥ  ＄Φ）
であり、これは、これから説明するように宣言型コネクティビティによって第１レベルの置換が実行されると、
ΦＴ＜＝（＄ＴＲＡＮＳＰＯＳＥ  （＄ＣＯＰＹ  ＃Φ））
になる。
【０３２６】
ユーザがコネクティビティにアクセス３１１すると、処理セルａは、前述のように＄ＥＸＡＭＰＬＥの「意味」を検索する。
【０３２７】
図４４の例の処理構造内をさらに進むと、処理セルＢは＄ＥＸＡＭＰＬＥの意味、すなわち、’（＄ＭＴＲＡＮＳ  （＄ＭＣＯＰＹ  ＄φ））を含み、ここで、追加の式’（＄ＭＣＯＰＹ  ＄φ）は、この例では＄ＭＴＲＡＮＳの引数である。したがって、処理セルａはアドレス＃Ｂを受信するので、処理セルｂを取得すると、＃Ｂを処理セルｂにロードすることが可能になり、その処理セルは次いでＢを呼び出して、Ｂにおける＄ＥＸＡＭＰＬＥの定義を取得し、この定義は、
'（＄ＭＴＲＡＮＳ  ．）
であり、ここで、＄ＭＴＲＡＮＳの引数はこのとき、辞書セルＣに記憶されているさらなる式’（＄ＭＣＯＰＹ  ＄φ）になる。第１の転置の例のように、＄は、Ｂにおける＄ＭＴＲＡＮＳの定義を探す、処理セルｂ内でのシンボル検索処理をトリガーし、すると、関数引数’（＄ＭＣＯＰＹ  ＄φ）のアドレスとしてアドレス＃Ｃが返される。処理セルｂはフリーセルｃを探し、＃Ｃを伝える。一方、ａは＄Φを探し、数値アドレス＃Φを受信し、＃Φは数値コードのままであり、これについてはさらに詳述しない。
【０３２８】
ｂにおける引数の展開は、異なる方法で行われる。まず（図４４の図中の左下に移動すると）、ｂは前述のように＄ＭＴＲＡＮＳの展開を探し、第１の転置の例のように、ｄを介してＤによって完全なトランザクションを開始するが、このとき＄ＭＴＲＡＮＳの定義は仮のラムダ変数’φを含み、それ自体がｂによって定義される必要がある。（図を見やすくするために、同じセルｂ自体を二度図示しており、左下のｂの処理の第１段階には、コピーされたラムダ引数名が付加されていることに留意されたい。）
ここで、ｄが＄φの値を取得しようとする試みは、３１１で示すｂにおける等価な引数の探索が＄ＭＣＯＰＹの処理によって完了するまで、ｂによって一時的にブロックされ、＄ＭＣＯＰＹの処理は、下向きに右の方へｃを通って広がるように図示している。このタイプの引数評価では、ｂは例のごとくフリー状態のｃを取得するが、ｂはａのアドレスをｃに辞書ポインタとして与える。
【０３２９】
ｃは＄ＭＣＯＰＹの辞書検索を呼び出し、ａから始め、これは最終的にセルＥを指す。ｃは単一のラムダが割り当てられた引数’θを取得し、定義をＣから＄φとして与え、＄φの定義自体はそれから探さなければならない。
【０３３０】
ｃは、定義をＥから受信することになるフリー状態のセルｅを探し、また、引数名’θを辞書定義のために確定する。ＣＯＰＹ処理は（＄ＭＣＯＰＹ  ＄φ）を評価し、これは＃Φのコピーを作成するために必要となる。この例の説明のために、ΦＴを「Ψ」と呼ぶことにする。セルｃにおける’θの値を見つけるために、これは現在＄φであるが、セルｃは＄φの定義の要求によってａを呼び出すことによって、シンボルスコープの衝突を回避する。ａは、現在新たな辞書の先頭となっており、辞書シンボルの中から’φを見つけると、ｃを呼び返して辞書シンボル’θの関連値を返し、これは行列Φの要素を含むセグメントを制御するピボットアドレスになる。
【０３３１】
次にセルｅはＥを呼び出し、Ｅはプリミティブ関数式’（＄ｍｃｏｐｙ  ＄θ）をホストし、プリミティブ式の自身の実行可能な形式（ｍｃｏｐｙ  ＄θ）を計算し、これは置換されると、ピボット＃Φに適用される命令ｍｃｏｐｙになる。ピボット＃Φは、プリミティブを評価した結果として、端末コネクティビティ２４を介したフリースペース探索によって、フリー状態のピボットデジタル計算エンジン＃Ψを取得し、それによってピボット＃Φに、それ自体のコピーを＃Ψの計算セルのセグメントに渡すように指示する。これはコピー手順の意図した結果であるので、＃Ψはチェーンｅおよびｃを上ってｂに返され、その値はセルｂにおいて辞書シンボル’φの値になる。その時点で、ｄはｂによって呼び返されて、以前にｄが要求した、その引数の定義の新たに計算された値、すなわち＃Ψを伝えることができる。
【０３３２】
ＭＴＲＡＮＳルーチンの評価は、行列転置の第１の例とまったく同じように進行する。前述のように、＃Ψは、ΦＴの保持される定義として、また、行列転置の完了を示すために、チェーンを上ってユーザインターフェースまで返される。寄与している処理セルは、２つのピボット特別処理セルを除いて、通常はフリー状態に戻るように指示される。
【０３３３】
これにて、同時並行の行列転置の管理構成の第２の例の説明を終える。
【０３３４】
例５、行列乗算のためのアレイコネクティビティ動作：図４５に、４×４の行列乗算に必要なＨ曲線を介した畳み込みを示し、ここで、行列「Ａ」および「Ｂ」の要素は、最初に従来の行優先順３１３でレイアウトされ、次に、変換されたＨ曲線順３１４でレイアウトされる。図４５は、従来の行優先の行列乗算の計算された要素を略さずに示しており、また、直接比較するために、「Ｈ曲線」行列として表される同じ結果を計算するＨ曲線順の操作を示している。従来の行列転置演算の要素操作に関して、従来の行列乗算は、接続された計算セル間でデータ要素を斜めに送信する必要性も示唆している。したがって、従来の行優先順の行列Ｃ３１６の左上の要素３１５は、［１１＊ａａ＋１２＊ａｃ＋２１＊ｃａ＋２２＊ｃｃ］となる。この目的で、行列Ａの行は行列Ｂの列と組み合わせられ、行列Ｂはこの要素の組み合わせで実質的に転置されている。行列３９７の場合、Ｈ曲線順の同じ最初の要素は３１８に配置され、３１８などの要素は、図４６に示す組み合わせに従って導出および配置される。Ｈ曲線変換は、非直交パスの必要性を回避し、デカルトパスのみを使用して、計算セルのデカルトクラスタ間でデータ要素を再帰的に分配する。
【０３３５】
説明をわかりやすくするために、行列Ｂはアルファベットのインデックス「ａ、ｂ、ｃ、ｄ」を使用しているが、構造原理は、同じ目的で「１、２、３、４」を使用する行列Ａで説明したものと同じである。（これは図１９の前述の「０、１、２、３」の用法とはシンボル体系が異なり、「１」を「ａ」に、「２」を「ｂ」に、．．．視覚的に関連付けるためだけのものである。）図４６に、Ｈ曲線フォーマットでの乗算の結果を生成する際の、Ａ（Ｈ）およびＢＴ（Ｈ）の開始点３１９および３２０を示す。図４６の操作の第１段階は、たとえば図４１に関して説明したような、行列Ｂ（Ｈ字順）の転置である。Ｈ字順の積の行列Ｃ（Ｈ）の順序付けは、その最終的な計算において、従来の結果のＺ転置の順序付けに対応しなければならないことは理解されよう。要素を表す際に、たとえば「２１ｃａ」というコーディングは、「Ａ」の要素「２．１」と「Ｂ」の要素「ｃ．ａ」との積を意味する。
【０３３６】
４×４行列乗算の計算では、２つの行列ＡおよびＢＴのそれぞれが、４つの行列ペア３２１、３２２、３２３、および３２４に展開され、それらのうちの一部は、それら自体が、図４１の行列２９２から２９５までの進行と、同じではないが類似した方法で折り返すことによって、システマチックに操作される。図４６に示すように、この手順では、「Ａ」行列は常に垂直方向に、「ＢＴ」行列は常に水平方向にスワップされる。折り返しの４つの組み合わせがこの機械化に配置され、結果的に得られる各行列の１６個の要素が該行列ペア内に生成される。各ペアは自身の計算セルのセグメント内で計算され、それによって３２５などの要素の各ペア（「３２」および「ａｄ」）は、ＣＯＰＹして同じ計算セルに集められ、その場で掛け合わせられ得る。要素３１８は、４つの積１１ａａ、１２ａｃ、２１ｃａおよび２２ｃｃの総和であり、ペア３２３の第３列から組み立てられ、要素３２６は、ペア３２４の第４列からそれぞれ導出された４つの積１４ａｃ、１３ａａ、２４ｃｃ、および２３ｃａの総和である。
【０３３７】
最も長い演算シーケンスは、行列Ｃ（Ｈ）の最上行３２７の生成にあり、行列Ａ（Ｈ）および行列ＢＴ（Ｈ）が最初にフリー状態の計算セルのセグメントにコピーされなければならない。トップレベルのＳＷＡＰ操作がそのセグメント内で順番に実行されて、行列３２８および３２９が形成される。これがより低いスワップレベルで繰り返されて、ペア３２１が形成され、要素の乗算が実行される。最後に、列ごとに積を加算することにより、行３２７における所望の行列Ｃ（Ｈ）の最終的な４つの要素が生成される。
【０３３８】
積のＨ行列「Ｃ（Ｈ）」内のそれぞれの連続的な行を生成するスワップ操作の順序が２進インデックスで表される場合、４×４の乗算の行は順に、グレイコード整数「１１ｇ」、「１０ｇ」、「００ｇ」、および「０１ｇ」で表される。これらのビットシーケンスが意味するのは、第１の桁が「１」の場合、第１の行が最初に変換３２８および３２９によって取得され、次いで第２の桁が「１」の場合、変換３２１によって取得されるということである。第２の行は「１０」によって決定されるので、第１のタイプの変換３２８および３２９のみが必要であり、第２レベルの段階は無視される。このグレイコードの順序付けのルールでは、８×８乗算の場合は「１１１ｇ」、「１１０ｇ」、「１００ｇ」、「１０１ｇ」、「００１ｇ」、「０００ｇ」、「０１０ｇ」および「０１１ｇ」と続き、より高次の行列でも同様である。
【０３３９】
Ｏ３Ｌｏｇｎの処理時間の場合、行列入力の遅延を無視すると、この同時並行の行列乗算の演算では、元の「ｎ×ｎ」行列のｎ個のコピーが必要となるので、ｎ×ｎ２個の計算セルが完全な演算に必要となる。この時間は、ｎ個の行列のコピーを展開するためのＯｌｏｇｎと、それに続くＯｌｏｇｎのＳＷＡＰと、それに続く列の総和のＯｌｏｇｎステップとを含む。ＣＯＰＹ処理の先頭で最も長いシーケンスを開始することにより、さらなる短縮が可能である。
【０３４０】
例６、デジタル微分分析器：さらなる使用例は、たとえば偏微分方程式を解くのに適用できるような、デジタル微分解析計算の同時並行の反復である。典型的には、これらは、３次元拡散方程式を使用した、固体中の温度分布などの、時間依存の物理過程に関する。この例では、ユーザアプリケーションは、コネクティビティ内で大きなスコープ権限を有する特別処理セルを選択し、そのスコープ内の各計算セルは、シミュレートされる素材の規則的な基準点のアレイ内の対応する３次元の点の温度を計算する。たとえば、１つの好ましい実施形態では、スコープ２＾２０のセグメントが、２０次元の２進サブ超立方体に組み込まれるが、各計算セルからの６つの相互接続（および６つのポート）のみが、３次元デジタル微分解析器アプリケーションに使用される。特別処理セルは、関数式のサブルーチンと、オブジェクトの形状とを定義する、空間的に参照されるインデックスビットのストリームをユーザから受信し、関連するピボットに渡して、それが管理している計算セルのセグメントに配布する。この単純な微分解析の例では、熱拡散係数は材料全体で一定であると仮定する。そのうえ、この例の方程式は、内部および境界の点にのみ適用され、周囲温度はここでは境界で一定であると仮定する。ポート１７および端末コネクティビティ２４におけるユーザインターフェースメカニズムは、たとえば、熱拡散係数、各計算セルの初期温度、および各計算セルで評価される関数式などの、形状特性および３次元材料を定義する複数のユーザアプリケーションのサブメッセージを受信するための手段を有する。この場合、Ｄｕｆｏｒｔ−Ｆｒａｎｋｅｌなどの、「リープフロッグ」反復法の１つは、要素間で適切であり、これは、典型的には計算安定性のための小さな「人工的な」粘性係数を含む、計算セル間の偶奇反復を指示するコネクティビティの能力によって支援される。
【０３４１】
局所点温度を計算するためにピボットによって内部インデックス付き計算セルのそれぞれに共通して渡される関数式は、初期点温度ｔ＝ｔｏで、熱源なしで、たとえば、単純なオイラー近似：
ｃ＊（ｔ１＋ｔ２＋ｔ３＋ｔ４＋ｔ５＋ｔ６）＋（１−６＊ｃ）＊ｔ
で構成され得、ここでｔｉは、任意の１つのそのような計算セルに、６つの直接隣接する近傍計算セルのそれぞれによって伝導される温度値であり、該そのような計算セルは、この式によって自身の温度値「ｔ」を更新する。「ｃ」は、点のグリッド間隔と、熱拡散係数と、時間ステップ増分との関数である。形状インデックスで宣言されるこれらの計算セルのみがこの第１の式をロードし、使用する。このアルゴリズムは、物理学上の偏微分方程式の近似であり、一般的なケースでは短い時間ステップおよび低い熱容量でのみ機能するが、より有能な有限微分方式の原理を示している。
【０３４２】
第２にやや複雑な関数式は境界点を表し、たとえば：
ｃ＊（ｔ１＋２＊ｔ２＋ｔ３＋３＊Ｃｂ＊ｔａ）＋［１−３＊ｃ＊（Ｃｂ＋４９）］＊ｔ
で構成され得、ここで、「Ｃｂ」は対流係数であり、「ｔａ」は周囲温度である。該形状インデックスを有する計算セルのみが、この式を受け入れ、評価する。
【０３４３】
ピボットがメジャークロックサイクルで反復する命令をブロードキャストした場合、各計算セルはその式を計算し、完了信号を返す。メジャークロックサイクルの集計数のカウントを使用して、シミュレートされた時間の進行を近似してもよい。各計算セルは、自身の状態を、信号隣接近傍の６つのそれぞれによって供給される近傍温度と比較し、それらは、自身の値に対し、周辺の３次元の動的な環境を表すものである。計算セルが各「奇数」クロックサイクルの「奇数」マスターである場合、自身の値を６つの近傍に渡して、次の「偶数」パルスでそれらの値を待機する。ピボットがその反復すべき命令を送信する次の「奇数」パルスで、計算セルはその値を６つの近傍に再度送信し、これはこのとき、該式によりリープフロッグ順序で更新される。
【０３４４】
場合によっては、典型的には関連付けられたピボットの指示に従って、計算セルの少なくとも一部は、それらの値をピボット計算セルに送信して、コネクティビティから管理用コネクティビティを介してユーザに出力する。このアプリケーションでは、ピボット自体が経過時間などの「一時停止（ＰＡＵＳＥ）」基準を決定し、コマンドをそのセグメントにブロードキャストして、場合によりシミュレートされたドメイン内の平均データの限られたセットを表す選択されたデータ値を回復するなど、特定の暫定動作を実行できるようにする。シミュレーションアプリケーション内の全てのデジタル計算エンジンからデータセットを規則的に出力するためには、最上部の制御ピボットによる範囲内ピボットへの前述の命令を使用すると有利である。
【０３４５】
例７、その場でのソート：再帰型コネクティビティ内の大きな計算セルのセグメントに分配されたｑ個のシンボルのアレイをソートする一例として、管理用コネクティビティは、（＄ＳＯＲＴ  ＃Ａ）などのディレクティブを、ｑ個より大きいスコープを有するアドレス＃Ａのピボットに渡す。この例では、アドレス＃Ａは、ユーザのアプリケーションの以前の操作から、ユーザソフトウェアアプリケーションに認識されていると仮定し、ＳＯＲＴ関数名はその特別処理セルに、さらなる詳細化なしで直接渡すことができる。この例は、Ｌｏｇ２（ｑ）よりも大きい、ピボット制御される次元「ｄ」を有する２進超立方体形式のセグメントコネクティビティ２５に適用される。処理セルは関連するピボットに指示して、命令を、ピボットがアクセス可能なＳＯＲＴという名前のコード化されたマクロへとデコードさせ、そのマクロに含まれる各計算セルプリミティブを、次元「ｄ」のセグメントに対する権限を有するピボットによって制御されるセグメント内の計算セルに順番にブロードキャストさせる。この単純なケースでは、（たとえば）プリミティブ「比較およびスワップ（ｃｏｍｐａｒｅ＿ａｎｄ＿ｓｗａｐ）」でシンボル化される所望の操作を実行するには、各計算セル（およびピボット）により、ただ１つのマイクロコード化プリミティブ命令を適用すればよい。
【０３４６】
図４７に、再帰曲線のセグメントに沿った、３３０、３３１、３３２などの計算セルを示す。初期セグメント＃Ａの要素は、パディング「ｎｉｌ」要素を含めて、まだ該セグメント内の定位置にあるので、３３０などの各「偶数」計算セルは、半サイクルの該「比較およびスワップ」命令に応答して、まず第一に３３３などの１つのポートを、そのポートに接続された３３１などの信号隣接近傍の１つに対して開き、自身のシンボル値を送信する。受信側の計算セルは「奇数」であるので、同時に送信しようとしない。この後者の計算セルは、該半サイクルで、該シンボル値を受信し、受信した値の内部処理を実行するように設定される。該セグメント内の計算セルの半分は、その半サイクルでそれらの送信側の近傍のうちの少なくとも１つから同様に受信しており、「偶数」計算セル３３０から送信されたものと同様のいくつかの値を受信し、比較し得る。「ｄ」次元セグメント内の各「奇数」計算セルに現在存在する（ｄ＋１）個の値の中で、各計算セルはそれらを単調な順序にソートし、対応するポートレジスタに記憶し、これらをこの例に関して表３３４にリストしている。各計算セルの構成と、ポートのインデックスシーケンスと、および再帰曲線に沿った信号隣接計算セルへの相互接続の相対的なスパンとにより、曲線を介した伝送に使用可能なスロー（ｔｈｒｏｗ）距離をデータ要素のペア間のばらつきの度合いに適合させるために、ローカルソートが実施されることが好ましい。
【０３４７】
この例では、説明のため、計算セル３３１は、該半サイクルでポート「＋２」への通信を有さないが、他の６つのシンボル値を受信して、現在初期値「２」で表されている自身の初期値と比較すると仮定する。この活動中、計算セル３３０は、１つのポート３３３を除く全てのポートに「ｎｉｌ」値のみを有する。自身の初期値「７」を計算セル３３１に送信した後、次の半サイクルを待機し、そしてそのとき、自身のｄ個の近傍からいくつかの値を受信して、同じ形式の内部ソート操作を実行することになる。いずれの場合も、「ｎｉｌ」エントリを有するポートを除く全てのポートは、更新されたシンボル値（たとえば、表３３４の３列目）をそれぞれの近傍に送信する。メジャークロックの少なくとも２サイクルの後に、計算セルのレジスタで値の変更が発生しなかった場合、計算セルは、ブロードキャストおよび同期ブロードキャストコネクティビティ２６に完了フラグを設定して、アレイ＃Ａのソート全体における自身の部分の一時的な完了を登録するようにする。しかしながら、計算セルは、近傍から新たな値を受信したために、後で任意のポートレジスタに変更を行わなければならない場合、すぐに完了フラグをリセットする。
【０３４８】
ピボットは、同じ方法で完了した場合にのみ、ブロードキャストコネクティビティ２６の自身の部分に反応し、そのときにのみ、全ての計算セルがそれらの完了フラグを設定することになる。該セグメント内の全ての計算セルが、変化しないローカルにソートされた状態にある場合、アレイ＃Ａ内のシンボル値は、当然ながら単調な順序で編成される。特別処理セルにおいてその場で完了した（＄ＳＯＲＴ  ＃Ａ）関数は、新たなアレイが適所にあり、追加の関数呼び出しがある場合にはその準備ができていることの通知としてアドレス＃Ａを返す。ガベージコレクションされると責任を放棄することが可能になり、その場合、関連するセグメント内の全ての計算セルは、そのアプリケーションのそれらのアレイ要素を「ｎｉｌ」値に設定し得る。
【０３４９】
簡単に言えば、要素の操作では、各計算セルは、「ｄ」個の信号隣接近傍のそれぞれと通信して、データ内容が、軌跡に沿った前方の近傍よりも数値的に大きく、後方の近傍よりも小さいという基準を満たすまで、データ要素を比較および交換するようにする。各計算セルは、ブロードキャストコネクティビティ２６を介してその完了フラグを設定する。ピボットのドメイン内の全ての計算セルがそれらのフラグを設定して保持している場合、ピボットは警告され、次いで、関連する特別処理セルを介して応答し、そこから、（＄ＳＯＲＴ  ＃Ａ）を呼び出した管理用コネクティビティのソフトウェアの式に応答する。これは「バブルソート」と呼ばれるシリアルソート操作に似ているが、各計算セルによる、多次元的に離れているが信号的には近傍の計算セルへの１ステップでのアクセス性によって、各要素計算セルで必要なすぐそばのローカルの知識だけで、ＯＬｏｇ（ｑ）時間でソートを実行することが可能になる。
【０３５０】
以下、３分割切り替えノードの１つの好ましい実施態様の詳細な説明が続き、これは、Ｈａｍｌｉｎの図６５ならびに本明細書の図１０および図１１のツリーノード回路を形成し、図７に示すネットワークでノード６１などで使用されるものである。ここで、この切り替え器はまた、図４８に第２の略図の形式で示しており、これは入力パスおよび出力パスの３つのセット３３５、３３６、および３３７を示している。これは、回転対称性により回路の簡素化を提供する図１０の発展（フリースペースラインなし）である。各入力パスおよび各出力パスは、少なくとも３つのデジタル信号伝達ラインを有し、これらはまもなく説明し、前述している。回路３３８、３３９、および３４０は、本明細書では「セレクタ」と呼び、それぞれが入力パスを２つの出力パスのうちの１つに切り替える手段を有する。回路３４１、３４２、および３４３は、本明細書では「アービタ」と呼び、２つのパスのうちの１つを選択して、単一の出力パスに出力する手段を有する。したがって、たとえば、パスセレクタ３３８は、パス３４４の入力デジタルメッセージをパス３４５経由でアービタ３４３に差し向け得る。アービタがメッセージを受信し、パス３４６に以前のメッセージが残っていない場合、アービタ３４３は、出力パス３４７へのメッセージパスを開き、３４４および３４７の間のその後の双方向信号伝達トランザクションのためにパスを開いたままにする。セレクタ回路およびアービタ回路は、発信元デバイスがその信号を３４４などの入力から削除した場合に、３４５などのパスに沿ったルートをキャンセルする切り替え手段を有する。この該１つの好ましい実施態様では、パスセレクタ３３８、３３９、および３４０は同一の回路であり、アービタ３４１、３４２、および３４３は同一の回路である。
【０３５１】
回路は回転対称であり、回路を通る６つのルートが可能であることが認められよう。回路にアクセスした後、最大３つの独立した双方向信号伝達トランザクションが回路を介して同時に動作し得る。
【０３５２】
図４９に、（図１０に示すように）前述の「タイプＡ」の３切り替えノードとして動作する場合、追加の「フリースペース」入力ラインがパスセレクタに入力し、１つ（３４８）は左側のルートからノードのネットワーク中を上向きに通るものであり、１つ（３４９）は右側のルートからのものであり、各ラインはフリー状態の処理セルの可用性を信号伝達することができることを示す。図４９では、たとえば、上向きの右側のパス３５０からの信号と、フリースペースライン３５１の設定とに応じて、３４３および３４１のそれぞれが、その取得に反するよう（一時的に）設定されていないと仮定して、パスセレクタ３３９により、右のパス３５０から、下向きの左のパス３４７または上向きのパス３５２のいずれかにトランザクションをルーティングすることが可能になる。同様に、フリースペースライン３５３によって指示されたパスセレクタ３４０により、３５３にフリースペースが存在しない場合に、右のパス３５４または上向きのパス３５２に向けて探索信号をルーティングすることが可能になる。下向きのパス３５６について、フリースペースライン３５７および３５８の設定に従って、また、３５６の下向き信号に応じて、アービタ３４３および３４２のそれぞれが、その取得に反するよう設定されていないと仮定して、３３８は同様に下向きメッセージをアービタ３４２または３４３に切り替えて、トランザクションを右のパス３５４または左のパス３４７にルーティングし得る。
【０３５３】
ＯＲゲート３５９は、フリースペースライン３４８および３４９を受け、下方の任意の範囲内フリーセルの通知を上向きに送信する。ノード切り替えモードの論理選択については、まもなく説明する。
【０３５４】
図５０に、セレクタおよびアービタへの各信号線を含む３切り替え器の第３の略図を示す。この略図の接続構成は、図４８とトポロジ的に同一であり、ノードに関連するフリースペースラインをここでは省略していることを除いて、図１０の構成と一致する。３６０などの、ラインのうちの第１のラインは「取得」ラインであり、これは、論理状態「１」で「ハイ」の場合に、３６１などの第２の「アドレス」ラインと連動して、処理セルがアドレス指定されたセルを段階的に取得できるようにする回路の切り替えを設定するものである。この動作モードは、本明細書では「通常」取得と呼ぶ。取得ラインは、呼び出されたセルの取得が完了すると、信号伝達のために関連するルートを開いたままにする第２の機能を有する。
【０３５５】
また、第２のラインである「アドレス」ライン行３６１は、２つの機能を有する。第１の機能は、ノードの左側から入るフリースペースライン３６２と、右側から入る３６３と連動して、ノード回路に作用することにより、フリー状態のセルを探すものである。フリースペースライン３６３がロー（「０」）に設定されている場合にのみ、取得ラインがロー（「０」）であるとき、アドレスライン３６１上のハイに設定された信号により、セレクタ３４０はアドレスライン信号を上向きにアービタ３４１に向け、そして前方に出力３５２に差し向けることが可能になり、そこで上方の次のネットワークノードに渡される。ライン３６３がハイの場合、セレクタ３４０は、アドレス信号を右に、アービタ３４２に切り替えるように構成され、アービタ３４２は、アドレスライン信号を下向きに下方の次のノードに渡す。インバータ３６４および３６５は、それぞれセレクタ３３９および３４０の適切なフリースペース信号入力に接続され、これらのセレクタが、それぞれのフリー状態信号がローにリセットされた場合に、アドレスパスを３４１に戻すようにする。たとえば、フリースペースライン３６３がハイであり、このノードの下に少なくとも１つのフリーセルがあることを示す場合、３４０は右にアービタ３４２へ切り替わり、３４２がセレクタ３３８によってまだ（一時的に）取得されていない場合に、それによって下向きに切り替わる手段を有する。このモードでは、セレクタ３４０が下向きの送信ために右側のパスを選択しているが、フリーの範囲内セルがないために、３６３のフリースペース信号が失われている場合、セレクタ３４０は、探索アドレス信号を、３４１（許可時）を通るグループ３５２のアドレスラインへの上向きのパスにリダイレクトする切り替え手段を有する。これは、「フリースペース取得」モードの一部を形成する。
【０３５６】
フリースペース取得モードは、アドレスラインをハイに維持して、切り替えシーケンスを、下向きに次に低位のノードへ、次に低位のノードの同等のアドレスライン３６６を介して、そのセレクタ３３８内へ続けるようにする。そのノードのセレクタ（３３８）もまた、同等の３６２および３６３からのフリースペースライン入力を有する。両側でフリースペースが使用可能な場合、また、左側のみでフリースペースが使用可能な場合に、３６２はアドレスルートを左の分岐へ、そして下へアービタ３４３に切り替え可能に有効化する。フリースペースが右側のみで使用可能な場合、３３８は前述のようにアドレスルートを右へ、そして下へアービタ３４２に差し向ける。３６２も３６３もハイでない場合、上方のノードも、少なくとも片側でフリースペース信号を失っているはずなので、高位のノードは、アドレス信号を代替側に、すなわち、フリーセルがそこで使用可能な場合に再切り替えし、そうでなければ、ツリーのさらに上から探索が続行される場合は、上向きに再切り替えする。
【０３５７】
アドレスラインの第２の機能は、取得ラインの取得を２進アドレスのターゲットセルに向けることである。
【０３５８】
指示されたルート全体に沿って位置する第３の切り替え式のラインは、３６７などの「確認応答」ラインである。これは、ルートに沿ったノード切り替え器およびラッチによって有効化され、取得シーケンス内の各ノードからの短い確認応答パルスの戻りルートを形成し、呼び出し元セルへの戻り方向のメッセージをサポートする（その場合、ポート３５４を介して接続される）。範囲内フリーセルが、フリースペース取得モード中にフリー状態のままである間、取得シーケンスの最後にそのセルに接続される最低位ノードは、アドレスライン信号をそのセルに送信し、そのセルは直ちに、たとえば、ルートに沿って呼び出し元セルに確認応答ライン３６７を介して長い応答パルスを送り返す。次に、呼び出し元セルは、２つのプロセッサセル間のさらなるデータトランザクション用に完成したルートを保持するためにハイに保持された取得信号で応答する。呼び出し元セルは、ノード回路からの短パルスのシーケンスによって、ルートに沿った個々のノードの取得を検出し、取得したセル自体からの最後のより長いパルスを検出するための手段を有する。取得されたセルは、その後、フリースペース信号をローにリセットし、現在のラッチされている確認応答ラインを介して呼び出し元の「親」セルに自身のアドレスコーディングを送信して、進行中のソフトウェアアプリケーションの一部として後で再取得できるようにする。同様に、親はそのアドレスを、通常は他のメッセージと共に取得したセルに、現在ラッチされているアドレスラインを介して送信する。トランザクションのその段階が完了すると、親（呼び出し元）セルは、取得ラインおよびアドレスラインをローにリセットして、取得したノードのシーケンスが、場合によっては今説明したものとは無関係の他のトランザクションのために解放される。
【０３５９】
それらのセルがそれらのアドレスを交換すると、各セルはその後、取得ラインおよびアドレスラインの設定の組み合わせを使用する「通常取得」モードを開始し得る。取得ラインはこの場合は取得信号パスであり、アドレスラインは、ターゲットセルのアドレスに従って取得信号のルートを指示するために使用される。
【０３６０】
第１に、呼び出し元セルは取得ライン３６０をハイに設定し、戻り確認応答ライン３６７上の返信パルスにより、横方向の切り替えの前のノードに達するまで、上向きの階層ノードシーケンスをカウントすることが可能になる。上向きのルーティングからのパルス数は、所望のトランザクションにおける２つのセル間の相対アドレスの２進シーケンスの長さに対応する。
【０３６１】
上向きパスの最後から２番目のノード回路からパルスを受信すると、呼び出し元セルは３６１を介してアドレスラインをハイに設定する。最後から２番目のノードによる取得信号とアドレス信号との同期された受信は、遅延回路によるものであり、取得信号およびアドレス信号が、トランザクションのために最上部ノードのクロスパスセレクタに同時に送信されるようにする。
【０３６２】
第２に、最上部ノードから下向きに、下向きシーケンスの各ノードを通る２つの信号の方向には、それぞれさらなる遅延回路が続く。前述のように、これにより、短い遅延の後、次の順番のセレクタに送信する準備ができた取得信号とアドレス信号とが同期される。たとえば、セレクタ３３８によって取得信号が、アドレスがハイの信号と共に受信されると、ルートは左へ３４３に強いられ、一方、取得がハイでアドレスがローの場合、ルートは右へ３４２に強いられる。このように、アドレス指定されたターゲットセルへの途中の各ノードの取得は、現在取得されているアービタ回路からの確認応答パルスによって呼び出し元セルでそれぞれトリガーされる、アドレスパルスのシーケンスによって決定される。作り出された信号伝達ルートに沿った様々なポイントで、取得処理は先行するノードの活動によってブロックされる場合があり、その場合、各ノードが次に使用のために解放されるまで、呼び出し元セルは取得信号ラインをハイに維持する。その場合、結果的に生じる取得遅延は、ネットワークのその場所での同時並行の活動に依存する。
【０３６３】
実際には、各ノードは加入者ダイヤルのための「電話」交換機として機能し、交換の文字列は、中央エグゼクティブによる制御なしに、呼び出し元セルによって自律的に制御され、プロセッサ間レベルでのプログラマの責任が回避される。したがって、グローバルな通信ネットワークと同様のプロセッサセル間の単純な「多対多」の通信相互接続方式が提供され、リソースが共有されたネットワークにわたって多くの呼び出しを同時並行で行うことができる。
【０３６４】
さらなるノード動作のモードを「リモートフリースペース取得」と呼び、探索セルが使用可能なフリー状態の子セルまでの通信距離を制御することを可能にする。子セル自体は、１レベルの探索距離をカウントダウンし、より短い距離にわたって自力でさらなるフリーセルを探す手段を有し、それによってアプリケーショントランザクションの自動階層構造の緩やかな構成が可能になり、ひいては、モジュール化された処理の局所性が設計され、この場合もやはり、セルラーレベルでのプログラマの責任はない。その場合、リモートフリースペース取得モードでは、ノードの上昇取得は、通常取得モードと同様に進み、取得信号は、目的のクロスオーバーノードの前の、最後から２番目のノードまで、ノードごとに上向きに継続する。通常取得に関しては、取得信号はそこでアドレスライン信号によって結合され、後続のセレクタは、前述のように、反対向きの（下りの）ブランチに向けて取得を切り替える。ただし、このフリースペース探索の場合、処理セルはアドレスラインをハイに維持し、探索の残りの部分に対して取得ラインをリセットすることによって、前述のローカルフリースペース取得モードに入る。この探索シーケンス中に、フリースペースが失われる場合があり、探索はそのとき、通常どおり、ツリー内のさらに高いノードレベルに戻る。最終的にターゲットセルから長パルスを受信すると、探索セルは、データ信号伝達用にルートをラッチするために、取得ラインをもう一度ハイに設定する。
【０３６５】
３つの主要なノード動作モードを図５１〜図５８にまとめている。２つの処理セル、すなわち、ＰＣ１（呼び出し元の親セル）およびＰＣ２（子セル）の間で、３分割ノードの動作に関連するトランザクションの手順は以下のとおりである。
【０３６６】
最初のフリースペースの取得（ローカルおよびリモート）  −
１）ＰＣ１は、フリー状態の新たな子（ＰＣ２）について、ノードネットワークに信号を送る。
２）ＰＣ１は、そのアドレスラインによって、ネットワークを介して進化するルートを取得し、保持する。
３）ＰＣ２は取得時に長パルスを送信し、これに自身のアドレスを付け加える。
４）長パルスおよびアドレスを受信すると、ＰＣ１は自身のアドレスおよびメッセージデータを転送する。
５）ＰＣ１はルートを解放する。
【０３６７】
ターゲットセルアドレスによるその後の再取得（通常取得）  −
１）ＰＣ１は、ＰＣ２の２進アドレスとその短パルスのカウントとによって、ノードのシーケンスを取得する。
２）ＰＣ１は、その取得ラインによって、ネットワークを介して進化するルートを段階的に保持する。
３）ＰＣ２は取得時に長パルスを送信し、メッセージデータを待つ。
４）長パルスを受信すると、ＰＣ１はメッセージデータを転送し、応答メッセージを待つ。
５）ＰＣ１はルートを解放する。
【０３６８】
この通常取得モードでは、ターゲットセルは、呼び出し元への応答を一時的に禁止するさらなる処理アクティビティに取り組んでいる場合があるので、呼び出し元がターゲットセルへの完成したルートを実現した場合でも、呼び出し元はその場合長い確認応答パルスを待たなければならない。
【０３６９】
前述のように、リモートフリースペース取得は、通常取得と同様に開始し、クロスオーバーの後に、ローカルフリースペース取得と同様に継続する。
【０３７０】
図５１から図５８の例示では、ＡＣＱＵｐおよびＡＤＤＵｐは、図７のノードのツリーネットワークの根への方向の取得ラインおよびアドレスライン（たとえば、ノード６１から上向きのパス５９）を指し、ＡＣＱＤｎおよびＡＤＤＤｎは、ツリーのターゲット処理セルレベルまで下る途中の取得の方向を指す。ＡＣＫＤｎは呼び出し元セルへ下に戻る確認応答ラインを指し、ＡＣＫＵｐはルートからターゲットセルまで下る、その後の上向きの確認応答を指す。「ｘ」（「ドントケア」）は、関連するラインの信号レベルが、その図示した段階の論理制御とは無関係であることを示す。「φ」は、図７の５７および６２などのセル間の、「太い実線」のネットワークを介した通信トランザクション中に、メッセージ内容に応じて信号レベルが「０」と「１」との間で切り替わることを示す。
【０３７１】
図５１〜図５８に、上向きパス、交差切り替え、および下向きパスにおける、取得ルート内のノードの３つの位置と、各位置におけるノードの３段階のモードロジックとを示す。左の分岐（たとえば、図５１の３６８）は、ノードの初回取得のための論理設定をリストしており、中央の分岐（たとえば、３６９）は、メッセージング信号がノードの通過を許可されている間の保持ロジックを示しており、右の分岐３７０は、ノードの取得から撤退するためのロジックを示している。
【０３７２】
図５９は、アービタ回路の詳細なロジックを示しており、ＮＡＮＤゲート３７１および３７２のフリップフロップ構成が中央に位置し、これらはそれぞれ複合ＡＮＤゲート３７３および３７４からの制御入力を有し、複合ＡＮＤゲート３７３および３７４自体が、ＡＮＤゲート３７７および３７８からのラッチングライン３７５および３７６を有する。フリップフロップが任意の所与の瞬間にただ１つの上向きのルートに一義的に切り替わることは、ゲート３７７または３７８の一方のみが、信号（左から３７９または右から３８０）を対応する遅延回路３８１または３８２へ上向きに渡すことができることを意味する。
【０３７３】
各アービタは、ラッチ、遅延、および確認応答パルス発生器回路のタイミングを管理するためのクロック入力３８３を有する（図５０にも図示）。（前述のライン３７９または３８０のいずれかを介して）アービタの取得が行われていない間、ＡＮＤゲート３７７および３７８はローであり、ライン３７５および３７６は両方ともローである。したがって、複合ＡＮＤゲート３７３および３７４は、ＯＲゲート３８４および３８５から、これらの一方または両方がハイに設定されている場合に、ハイ信号を渡すように準備される。クロック３８３の半サイクルは、左右のルート間で交互に調停して、ＯＲゲート３８４および３８５が同時にアクティブハイである場合に、一方のみがその半サイクル中にフリップフロップに対する権限を取得するようにする。システムクロック周期は、半サイクル中にフリップフロップゲートを確定できるようにするのに十分に長く選択され、その結果、フリップフロップは、アクティブな半クロック側に、たとえば、ＡＮＤゲート３７７にトリップする時間を有し、ＡＮＤゲート３７７は、その場合ＯＲゲート３８４が既にハイに設定されており、ラッチングライン３７５が現在、３７４における右からの取得によるさらなる試みを禁止しているので、ハイに設定される。一般に、取得時のそのような競合する試みは、フリップフロップが後で再び解放されるまで続く。
【０３７４】
（たとえば）左に取得されると、ＯＲゲート３８４でのハイの切り替えレベルは、ＡＮＤゲート３７７を通過して、確認応答パルス発生器３８６と、遅延素子３８１との両方に到達する。後者（３８１）は、確認応答パルスが確認応答ライン３８７を介して呼び出し元セルへ下に渡され、呼び出し元セルがそのアドレスラインをハイに設定するのに十分になるように選択された期間だけ遅延させ、これは、取得シーケンスの次のノード段階を制御するのに必要な場合に行われる。
【０３７５】
次いで、３８８の左側の取得ラインの切り替えレベルおよび３８９のアドレスラインの切り替えレベルは、それぞれＡＮＤゲート３９０および３９１を通過し得る。これにより、取得およびアドレスの両方を一緒にハイに設定する必要がある場合に、それぞれＯＲゲート３９２および３９３を介した次の段階への同時出力が可能になる。ＯＲゲート３９２および３９３は、一度に片側のアービタしか動作しないので、排他的ＯＲゲートとして効果的に機能する。
【０３７６】
そちら側のアービタを取得するために、ＯＲゲート３８４は、アドレスラインなしの取得ライン（ＡＮＤゲート３９４）、または取得ラインなしのアドレスライン（ＡＮＤゲート３９５）のいずれかによって、（すなわち、全体として排他的ＯＲ演算によって）設定され得る。最初に、取得ラインおよびアドレスラインでの信号の同時受信は禁止されており、その理由は、その組み合わせがセレクタ回路によって先取りされて、取得信号が下向きのパスに誘導されるためである。しかしながら、アービタの取得後に、たとえばメッセージの受け渡しのために、同時メッセージによるさらなる動作が許可されなければならず、その場合、ＯＲゲート３９６および現在有効化されているＡＮＤゲート３９７を通る回路は、ＯＲゲート３８４を介してラッチ動作を維持する。したがって、ＡＮＤゲート３７７をハイに設定することによって左側が取得されると、ＡＮＤゲート３９７が有効化されるので、アドレスラインおよび取得ラインの両方がハイに設定されても、ラッチをオンに保つために、取得信号３８８または３８９の一方または両方がＯＲゲート３８４にフィードバックされる。
【０３７７】
ＡＮＤゲート３７７がラッチオンされるとすぐに、確認応答短パルス回路３８６は、ライン３７５のラッチされた状態によって同様に有効化されるＡＮＤゲート３９８を通過する信号を生成する。確認応答パルスは、ルート内の以前に取得したノードへ下向きに、必要に応じて確認応答ライン３８７を介するだけでなく、ＯＲゲート３９９も介して、４から宛先セルへ進化するルートに沿ってノードによりさらに生成される後続のパルスを渡す。
【０３７８】
ノードの取得解除では、取得信号（３８８）とアドレス信号（３８９）との両方を除去すると、ＯＲゲート３８４への３９６／３９７ルートが失われることになり、３９４および３９５からの信号も同様に失われるので、ＡＮＤゲート３７７の左側のラッチが無効化され、アービトレータは再び調停機能に戻る。
【０３７９】
図６０は、セレクタ回路の詳細なロジックを示しており、ＮＡＮＤゲート４００および４０１ならびに制御ＡＮＤゲート４０２および４０３のフリップフロップ構成が中心に位置し、これらはそれぞれ複合ＡＮＤゲート４０４および４０５からの取得入力を有し、複合ＡＮＤゲート４０４および４０５自体がＯＲゲート４０７からのラッチングライン４０６を有する。フリップフロップが任意の所与の瞬間にただ１つの下向きルートに一義的に切り替わることは、ゲート４０２または４０３の一方のみが、有効化された場合に、信号（左へ４０８または右へ４０９）をそれぞれ左または右の選択された出力ポート４１０および４１１に向けて下向きに渡すことができることを意味する。選択されるパスのゲート制御は、アドレスライン４１２の論理状態に起因し、これは、ハイの場合は４０４を通る左側のルートを有効化し、ローの場合は４０５を通る右側のルートを有効化するのに寄与する。これは一義的な選択であるので、フリップフロップの切り替え状態によるクロック調停は不要である。
【０３８０】
取得信号は４１３から入る。アドレス信号または取得信号のいずれかは、ＯＲゲート４１４を介してアービタを準備することができ、これにより、ＡＮＤゲート４１５および４１６が有効化されて、フリップフロップの状態に従って、取得信号が左側（４１７）または右側（４１８）に渡される。次に、４１７などの選択された取得ラインは、ＡＮＤゲート４２０および４２１を有効化して、アドレス信号（４１２）および取得信号（４１３）を、ルート進化の次の段階でそれぞれのアービタに渡す。そのアービタでは、その遅延素子によって、生成された確認応答パルスがポート４１０（取得が左側の場合）を介して、次いでＯＲゲート４２２を介して以前に取得したノードに戻る間に、次の順番のノードに対する次の取得信号およびアドレス信号の同期が可能になる。
【０３８１】
通常取得モード中に、また、リモートフリースペース取得モードのために、４１３からの取得信号は、ＡＮＤゲート４０２および４０３を（それぞれＯＲゲート４２３および４２４を介して）準備し、フリップフロップによって選択される側は、アドレスライン４１２によって決定される。前述のように、セレクタによる一義的な切り替えイベントを確保するには、２つの信号の組み合わせが４１２および４１３において一致して発生するようにする必要があり、そうでなければ、選択ルーティングが、ハイの取得信号およびハイのアドレス信号の同時の存在を必要とする、「左側にアドレス指定された」通常取得のケースおよび「制御されたクロスオーバー」のケースとは反対にバイアスされることになる。先行する遅延段階は、それらが一緒に４１２および４１３に到着するようにし、これは最初のノードでも必要であり、呼び出し元の処理セルによって同様に駆動されなければならない。
【０３８２】
フリースペース探索中に取得ライン４１３がローの場合、ＡＮＤゲート４２５および４２６は、両側へのアドレスラインによって有効化され、入力４２７または入力４２８にハイのフリースペース信号が存在すると、アドレス信号のルーティングが下向き探索に関してその方向にバイアスされる。両側にハイのフリースペース信号がある場合、探索方向に優先はなく、現在のフリップフロップの状態によって探索の方向が指示されることになる。
【図１】
0006956310.tif 000002
【図２】
0006956310.tif 000003
【図３】
0006956310.tif 000004
【図４】
0006956310.tif 000005
【図５】
0006956310.tif 000006
【図６】
0006956310.tif 000007
【図７】
0006956310.tif 000008
【図８】
0006956310.tif 000009
【図９】
0006956310.tif 000010
【図１０】
0006956310.tif 000011
【図１１】
0006956310.tif 000012
【図１２】
0006956310.tif 000013
【図１３】
0006956310.tif 000014
【図１４】
0006956310.tif 000015
【図１５】
0006956310.tif 000016
【図１６】
0006956310.tif 000017
【図１７】
0006956310.tif 000018
【図１８】
0006956310.tif 000019
【図１９】
0006956310.tif 000020
【図２０】
0006956310.tif 000021
【図２１】
0006956310.tif 000022
【図２２】
0006956310.tif 000023
【図２３】
0006956310.tif 000024
【図２４】
0006956310.tif 000025
【図２５】
0006956310.tif 000026
【図２６】
0006956310.tif 000027
【図２７】
0006956310.tif 000028
【図２８】
0006956310.tif 000029
【図２９】
0006956310.tif 000030
【図３０】
0006956310.tif 000031
【図３１】
0006956310.tif 000032
【図３２】
0006956310.tif 000033
【図３３】
0006956310.tif 000034
【図３４】
0006956310.tif 000035
【図３５】
0006956310.tif 000036
【図３６】
0006956310.tif 000037
【図３７】
0006956310.tif 000038
【図３８】
0006956310.tif 000039
【図３９】
0006956310.tif 000040
【図４０】
0006956310.tif 000041
【図４１】
0006956310.tif 000042
【図４２】
0006956310.tif 000043
【図４３】
0006956310.tif 000044
【図４４】
0006956310.tif 000045
【図４５】
0006956310.tif 000046
【図４６】
0006956310.tif 000047
【図４７】
0006956310.tif 000048
【図４８】
0006956310.tif 000049
【図４９】
0006956310.tif 000050
【図５０】
0006956310.tif 000051
【図５１】
0006956310.tif 000052
【図５２】
0006956310.tif 000053
【図５３】
0006956310.tif 000054
【図５４】
0006956310.tif 000055
【図５５】
0006956310.tif 000056
【図５６】
0006956310.tif 000057
【図５７】
0006956310.tif 000058
【図５８】
0006956310.tif 000059
【図５９】
0006956310.tif 000060
【図６０】
0006956310.tif 000061