JPH01501261A - 2進木構造並列処理装置 - Google Patents

2進木構造並列処理装置

Info

Publication number
JPH01501261A
JPH01501261A JP62505775A JP50577587A JPH01501261A JP H01501261 A JPH01501261 A JP H01501261A JP 62505775 A JP62505775 A JP 62505775A JP 50577587 A JP50577587 A JP 50577587A JP H01501261 A JPH01501261 A JP H01501261A
Authority
JP
Japan
Prior art keywords
data
processing
register
processing element
child
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP62505775A
Other languages
English (en)
Other versions
JP2763886B2 (ja
Inventor
ストルフォ,サルバトーレ,ジェイ.
ミランカー,ダニエル,ピー.
Original Assignee
コロンビア ユニバーシティー イン ザ シティー オブ ニューヨーク
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=25416008&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=JPH01501261(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by コロンビア ユニバーシティー イン ザ シティー オブ ニューヨーク filed Critical コロンビア ユニバーシティー イン ザ シティー オブ ニューヨーク
Publication of JPH01501261A publication Critical patent/JPH01501261A/ja
Application granted granted Critical
Publication of JP2763886B2 publication Critical patent/JP2763886B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0721Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU]
    • G06F11/0724Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU] in a multiprocessor or a multi-core unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17337Direct connection machines, e.g. completely connected computers, point to point communication networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8007Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors
    • G06F15/8023Two dimensional arrays, e.g. mesh, torus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • G06F16/90348Query processing by searching ordered data, e.g. alpha-numerically ordered data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4494Execution paradigms, e.g. implementations of programming paradigms data driven
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Multi Processors (AREA)
  • Eye Examination Apparatus (AREA)

Abstract

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

Description

【発明の詳細な説明】 2進木構造並列処理装置 関連出願に対するクロス・リファレンス関連出願は、これと同時に提出され、参 考としてここに組み入れられる出願筒903.031号の「並列処理方法」であ る。
発明の背景 この発明は一般にデータ処理に関し、さらに詳しく述べればおのおのが自らの工 10(入出力)装置を含む多数の処理装置を使用する2進木構造並列処理機械に 関する。
需要が継続している。これらの努力の大部分は、計算機が単位時間当たりにより 多くの命令を処理し得るように計算機の作動速度の増加に集中している。しかし 直列計算機では、これらの努力がある意味で自滅的であったのは、すべての処理 が計算機の単一素子によって行われ、計算機の資源の大部分をいつでも遊び状態 に保つからである。
これらの問題の若干を回避する努力において、プレイ処理装置のような特殊目的 の機械が開発されたが、これは問題の特別なりラスを解決するように特別に設計 されている。残念ながら、かかる計算機はある計算仕事の実行に商業的成功を収 めているが、他の計算仕事を適当に実行することができない。
近年、複数個の処理装置を並列に作動させることによって処理筒を増加する努力 がなされている。例えば、Chuan −1in Wu およびT8e−yun  Fang の並列および分布処理用の相互接続網(IEEE1984)参照。
1つのかかる並列処理装置は、複数個の処理装置が木構造網、標準としては2進 木構造、の形に接続されるものである。1979年1月22日〜24日、パサデ イナ、カリフォルニア技術協会、VLSI 会議議事録、3、A、Browni ngの「処理装置の木による計算」;A、 M、 Despainらの[構成f a 品トL テC1計N 機J、(1979年); 1979年1月22日〜2 4日、カリフォルニア技術協会、’VLSI 会議議事優、A、 l鴎gOの「 セル状言語命令計算機アーキテクチャ」;議事録1977NC,第645頁〜第 655頁(1977年6月)、R,J、 Swanらの[Cm −Aモジュール 式、マルチマイクロ処理装置;計算機に関するIEEE )ランデクジョン、第 C−30巻、第12号、第923百〜第933頁(1981年12月)、WUお よびFangにおいて第46頁〜第56頁で再印刷された、J、R。
GOOdmanらの[過度木構造:多重処理装置相互接続技術に1979年9月 、カーネギ−・メロン大学、計算機科学の技術報告部、J、 L、 Bent1 +iiyおよびH,T。
Kungの「木構造並列計算機に関する2つの報告書」。
2進木構造計算機において、木の根と葉におけるものを除く各処理装置が1つの 親処理装置および2つの子処理装置を持つように多数の処理装量が接続されてい る。処理装置は標準として、親処理装置から流れて来るデータに同期して作動し かつその結果を下降する処理装置に送る。
データの記憶および検索における重要な問題は、(1978年6月)にしたがっ て分析することができる。Bentley (d靜探索問題を、N個の目的の組 Fを内部データ構造りに事前処理しかつデータ構造りを分析することによって組 (set ) Fについての質問に回答する問題として定義している。Bent lJyは探索機能の複雑性を特徴づけるNの6つの機能、すなわちN目的を記憶 するためにDによって要求される記憶の量S1DをSの形に構成するのに必要な 事前処理時間P1およびDを探索することにより質問に回答する所要時間Q1を 定めている。
かかるデータベースによって解決される問題の例は会員問題である。この場合、 全面的に命令された組FのN個の素子は、rplcxがあるか?」の形の質問が 速やかに回答されるように処理される。直列計算機の共通解決は、記憶されたア レイDおよび2進探索にFを記憶することである。かくて、会員問題はS=N; P−〇(N 10g N ) ; Q−〇(log N )という複雑性を持つ 順次処理計算機で計算される。
Bentleyは分析可能な探索問題を、1組の目的Fに対する新しい目的Xの 関係をたずねる質問が質問(z、F)=Bq (”+ f) として書かれる問題として定義されるが、ここでBは識別を持つ可換な、結合的 な2進演算子すの反復適用であり、qは新しい目的XとFの各素子fとの間に加 えられる原始質問である。したがって会員問題は会員(X、F)−ORイD−ル (X、f)の形になるとき分析可能な探索問題であり、ただしORは論理機、O Rおよびイコールは目的XとFの各素子fとの間に加えられる原始質問「xFi fに等しいか」である。
この種の問題についての重要なアイデアはその分解能力である。Fについての質 問に回答するため、我々はFの任意な下位の組に加えられる質問の回答を組み合 わせることができる。
この種の問題は並列処理環境での迅速な実行に好適である。組Fは利用できる処 理装置の数に等しい多数の任意なサブセットに分けられる。次に原始質問qは、 すべての処理装置に通じる未知のXと局部記憶されたセット素子でとの間で各処 理装置に並列に加えられる。
次にその結果は演算子すの1og2N反復によって並列に組み合わされ、まず隣 接するN/2対の処理装置によりb計算を行い、第1組の計算の結果のN/4対 によりb計算を行い、以下同様に1つの結果が得られる゛までb計算を行う。
並列処理環境におけるこの演算の複雑性は次の通り計算される。組FのN個の各 素子は、N個の素子がすべての処理装置に分布されるように処理装置に分布され なければならない。これを行う時間段階数はセットの素子数に等しい。かくて、 P−0(N)。もし各素子がS−Nのように異なる処理装置に記憶されているな らば、原始質問に回答する所要時間は1つの時間段階であり、最後の回答を計算 する所要時間はO(10g2N)である2進木構造により報告し返す所要の時間 段階数である。かくて、Q = O(1) + O(10g2N )。直列計算 機により実行されるときの会員問題の複雑性と比較して、並列処理装置を使用す ると、データ構造を作る所要の事前処理時間が大幅に節約されるのは、整然たる アレイの形にデータ構造を記憶する必要がないからである。
Bent:toyおよびKungは、上述の程度の処理室を達成するように設計 された第1図に示される特定の木構造を提案した。第1図に示される通り、それ らの木構造は葉処理装置P4−P7を共有する2つの2進木構造に構成された処 理装置pi−pi oの7レイを含む。
データは1つの2進木構造において後処理装置P1から葉処理装置p4−p7ま で流れる。データは葉処理装置で演算され、その結果は第2の木構造において葉 処理装置P4−P7から後処理装置P10まで流れる。
明らかに、所望ならばもつと多くの処理装置を7レイに使用することができる。
第1図の各葉処理装置P4−P7にデータをロードするために、各葉処理装置用 のデータは連続する時間段階で後処理装置P1に供給されて、中間処理装置P2 およびP3を介して各葉処理装置までプレイを通して送られる。かくて、データ を葉処理装置にロードするには葉処理装置当たり少なくとも1つの時間段階を要 する。
データ構造は、後処理装置P1に質問を与えてその質問を各葉処理装置に並列に 伝搬することによって質問される。質問の結果は次に処理装置P8およびP9を 経て後処理装置P10に報告し返されるが、これらの各処理装置は木構造におい てより高い2つの入力からの結果を計算する。明らかであると思うが、質問の伝 搬時間および2進木構造による結果は、直列計算機の場合に比べて全処理高に認 められる遅延を生じる。
並列処理装置で1つの質問に回答する所要時間は直列計算機のそれに比較し得る が、並列処理装置では質問はときどきパイプライン形式で処理されるが、直列計 算機ではそれが不可能である。かくて、O(10g2N)段階の後で、結果は時 間段陽当たり1つの速度で並列処理装置から流出し始める。もしパイプの充填お よび排出時間が無視できるほど質問数が大きければ、複雑性はS=N、P=O( 、N)およびQ−〇(1)として計算することができる。
しかし、パイプラインが2進木構造の伝搬遅延の影響を最小にするのに使用でき ない場合が数多くある。
これらはすなわち 1、「外部」質問の数が小であったり、1組の質問が木構造内部の処理素子から 内部発生されたりする、分解可能な探索問題。内部発生の質問はBθnt1ey およびKungO方式によりlog N段階で根に移動して、もう一度log  N段階で下方に広げられる必要がある。各質問はパイプ排出を強制するので、す べての質問についてQ = O(log N )である。人工情報生産装置はこ の種の問題の説明例を与える。
2.1つのデータ構造りを作ることができない探索問題。すなわち、ある複雑( または多次元)な目的の組では、探索問題は1つのデータ構造りに適用すること ができない。1組の各素子が多くのフィールドまたはキーを持つと思われる複雑 な記録構造である関連データベースを考えてみる。かかる記録を探索するために 〜データ構造りは必ず各フィールドについて要求される。したがって、この場合 は各記録のに個のフィールドについてP(N)=kN″′Cある。
6、 第1順位の組Fは論理文字、すなわち認識ベースを意味する。我々はFの 各素子に対する1組の[目標文字」の1組の一体化を計算したいと思う。論理変 数は一体化の間に任意な第1次の項に結合することができるので、1つの質問は 変数項の新しい値を結合して代入することにより認識ベースにある素子の全組を 変更することができる。したがって連続する質問1は、文字の連続的に異なる総 圧対して処理される。(より簡単な場合はDの頻繁な再構成を必要とする、動セ ットFに対する頻繁な変形を意味する。)すなわち、質問(”1p Fi )  −Bq (Xl、fl)ただしFl −PJr e (Fl−1、質問(Xl− x v Fl−x ) )。
(論理プログラミングの場合、関数は論理一体化後の代入であるが、関連データ ・ベースでは関数は挿入または削除であるかもしれない。
4.1組の質問にある1つの質問が前の質問の結果を知らないと計算できない問 題。統計パターン整合の仕事に対する動プログラミング法では、基準定規の組に 対する未知の単一整合は前の未知の最良整合を知らないで計算することはできな い。すなわち、1組の未知XI、i =1. ・・・・・・・・・・・・9Mで は、質問(X1* F)−Bq(”it質問(xi−1+ F )g f)とな る。この場合、上述の第1の場合と同じパイプ排出現象が現われる。
5、我々が1つの組またはおそらく異なる組にわたり同じ未知Xについて多数の 異なる質問を計算したいと思う探索問題。
質問1 < x、 F ) −B(Li (xt f)ただしi −1、・・− ・−、M0人工情報生産装置はこの種の問題の例をも提供する。
我々はこの種の問題を、はぼ分解可能な探索問題と呼ぶことにする。
2進木構造形並列処理装置の追加の欠陥は効率および故障許容限界などである。
木構造によって行われる計算の効率がしばしば減少されるのは、特定のサイクル で各処理装置によって要求される計算時間の量がその位置の状態により大きく異 なることがあるからである。かかる相違はしばしば不要の待ち時間および増加し た計算時間を生じる。さらに周知の通り、2進木構造の処理装置は先天的に故障 を極めて許容し得ない。
かかるすべての故障は2進木構造アーキテクチヤによるリップルを生じやすいの で、故障を検出するだけではなく故障にかかわらず正確な計算を作るように補償 されることが重要である。
発明の概要 本発明は2進木構造に接続された複数個の並列処理素子を含み、最高および最低 レベルのものを除く各処理素子は1つの親処理素に通じるとともに第1および第 2(または左右)子処理素子に通じている。説明のために、1023個の処理素 子が10レベルの木構造に配列されている。
各処理素子は処理装置と、読出し/書込みまたはランダム・アクセス記憶装置と 、l10(入出力)装置とを含む。I10装置は各処理素子とその親子処理素子 との間のインターフェースを提供して、2進木構造を通る伝搬速度を著しく改善 する。I10装置は本発明の現在好適な実施例を12メガヘルツでクロックさせ る。平均処理装置命令サイクル時間は1.8マイクロ秒であり、1026個の処 理装置から成る木構造の場合に、毎秒約5億7,000個の命令の粗計算処理高 を持つ装置が作られるが通信オーバーヘッドにはその内のごくわずかが要求され る。
本発明の2進木構造計算機における伝搬遅延を最小にするために、工10装置は 種処理素子からのデータおよび質問を、先行技術の2進木構造アレイにおける0  (10g2N )処理命令サイクルではなく1つの処理命令サイクルにおいて すべての他のN個の処理素子に通信する。
原始質問は各処理素子によって並列に実行され、その結果は種処理素子に報告し 返すのに使用できる。いくつかの重要なケースでは、これらの結果は組み合わさ れて、先行技術の2進木構造アレイにおける0 (10g2N )処理命令サイ クルではなく1つの処理命令サイクルにおいて種処理素子に報告し返される。
この作動モードは同報通信/整合/分解/報告と呼ばれる。
その結果は、本発明の装置による放送および報告動作の経過時間がアレイにある 処理装置の数にかかわらず実際に一定の時間であることを示す。発明の本実施例 では、この時間は約1.5マイクロ秒/バイトである。
結果として、上記のほとんどの分解可能な各探索問題は本発明によって有効に実 行される。ケース1のような内部発生の質問は、一定数の機械サイクルで報告さ れかつ放送される。同様に、ケース4は同じ一定時間の同報通信/報告サイクル によって有効に処理される。
ケース2において、本発明の処理装置アレイに関する多重データ構造は不要であ る。記録内部の異なるフィールドに関する質問は、質問の実行前にフィールド位 置の放送によって行われる。ケース3において、連続的に異なる組は休まずに計 算され、連続する質問がおのおの一定数の機械サイクルで絶えず同報通信される 間に各処理素子に完全に保持されている。
本発明のもう1つの重要な能力は、可換でかつ結合的な2進演算子すの範囲を速 やかに計算する直接ハードウェア支持を提供することである。上述の会員問題で は、2進演算子ORが原始質問の結果のすべてに反復適用される:(x、f)に 等しい。順次環境において、この演算は計算するために直線時間を要求すること がある。並列環境では、それは対数時間で計算することができる。本発明により 、それは一定時間で計算される。
本発明のI10回路は、処理素子に記憶された1組の値の内の最も望ましい値を 決定してこの値を報告する高速関数解決および報告機能をも提供する。説明のた めに、この値は最小値でありかつその機能は最小値解決(min −resol ve )と呼ばれる。最小値解決は、ハードウェアにおいて1つの命令サイクル で処理素子に分布された1組の値の内の最小値を計算する。最小値が報告される だけではなく、最小値を持つ処理素子が「勝者状態」にセットされて、順次一定 時間で報告される計算中の敗者および1人の勝者のあらゆる処理素子に対する指 示を与える。(同点は固定処理素子順序方式によりハードウェアで仲裁される。
)会員問題はかくて、ORを計算するために(実行された恒等演算子の適用後に 木構造を通じて分布された)0および1に最小分解を適用することによって計算 することができる。同様に処理装置のアレイ内部に集められたデータは、最小分 解の勝者の順次列挙により0(N)時間に記憶された順に読み出することができ る。
例えば、会員問題のケースでは、最小分解機能は下記の通り実行される: 1、7レイの1つの処理素子に対して各素子を順次分布させることによって組F のN個の目的を事前処理する。機械全体についてはS−N、そしてP−Nが注目 される。
2、未知の目的Xを一定時間内に丁べての処理素子に同報通信する。
6、 各処理素子で並列に質問が<x、f)に等しいか?を加える。並列では、 各処理素子はもしx−fならば最小分解値をOにセットし、さもなければ1にセ ットする。
4.1つの命令サイクルで最小分解する。全計算時間はQ−0(1)であり、丁 なわち段階2.3および4の和である。原始質問qが恒等性よりも複雑であるケ ースでは、実行時間はqの同時実行の全組の内で最も遅いものに比例する。
かくて、もし本発明の処理装置アレイに4個のデータ素子を記憶丁べきならば、 かかるデータ素子を4個の処理素子に記憶するには4個の命令サイクルを要する 。その後いかなる時でも、質問を根処理素子に提供することによって質問が処理 される。1つの命令サイクル内で、質問は各処理素子に伝搬され、各処理素子に 記憶される情報に対して試験され、そして回答が報告し返される。
本発明の装置による解決に好適な問題の他の例は、人工情報生産装置である。か かる生産装置の例は、オ月6日〜10日)に記載された3a1vatore J 、 5to1f。
の「DADO機械による生産装置実行用の5つの並列アルプリズム」に説明され ている。
論理プログラミング、関連データベース演算および統計パターン認識は、はとん どの分析可能な探索問題として同様に定義することができる。これらの各問題は 、本発明の処理装置プレイの同じ共通プログラミング範例を共有するニ ー 最初の1組のデータの分布。
−一定時間におけるデータの同報通信。
−基準組のあらかじめ記憶された素子に対するある原始質問の局部実行(それぞ れ、第1次論理文字の統一化、タプルの関連選択、発音の形の動的時間偏向整合 ) −一定時間内で最良の回答を発見する決意。
−最終回答の報告。
上記から、本発明のいくつかの重要な原理が識別できるニ ー 本発明の装置により操作されたデータの形式は任意な型または大きさのもの でよ<、シたがって現存の任意な在来計算機システムで操作し得るデータの同じ 広範囲を処理することかできる。
−原始質問qは、現存の任意な計算機でプログラム可能な任意の計算であること ができる。したがって、本発明の装置は任意な特定のクラスの応用に制限されな い。
−本発明の装置は、AI、信号処理、データベース処理、テキスト処理、数字処 理などを含む定義可能な任意の応用領域に関するほとんどの分解可能な探索問題 として定義し得る任意な記憶および検索機能を速やかに実行することができる。
例えば、原始質問qは簡単な恒等性試験よりも複雑であるかもしれない。音声認 識の領域では、我々は未知の素子と基単組の各素子(我々の例では組F)との間 の整合の程度を計算する原始質問qを定めたいと思うことがある。このケースで はqは未知素子が組素子と正確に整合するならば0を計算し、全く類似性がない ならば識別(計算機の記憶装置で表わし得る最大数)を計算する関数であること ができ、また距離のメートルを表わ丁ある整数、すなわち未知素子がどれだけ組 素子に整合するかを知ることができる。いろいろなプログラム可能な決方がこの 関数を定めるのに使用することができる。本発明がそれらを丁ぺて支持するのは 、各処理素子がプログラム可能な計算機だからである。
かくて、名前の計算機整合のケースでは、適当に定められた原始質問qは「Jo nes J、[Mason Jおよび[Hamershold Jの整合の評価 よりも(Oに)近いr Sm1th J対「Smytha Jの部分整合を評価 することかわる。我々がこの状況でqを距離として示すならば、[Sm1th  Jが我々の組の素子であるか、「3m1th jがFのある素子にぴったり整合 するかを決定するために1我は下記を定める 質問(XIF)−最小距離(”t f)重要な点では、はとんどの分析可能な探 索問題の迅速な実行が一般的であり、丁なわち広範囲な問題領域に− 実際に、 あらゆる問題領域に適用できる。この簡単な例では、距離関数は文字ストリング の部分整合、平面内の1組の点のマンハッタン距離、AI記号式(例えばLI  SP式または第1次論理式、あるじはPROLOG式で定め得る)の部分整合、 または例えば音声や音響波形のLPC係数のようなある信号の測定済パラメータ を表わ丁1組のベクトルに関係することかある。本発明はこれらのデータ形式及 び任意な計算機システムにより定められ、表わされ、かつ記憶される他のデータ 形式の丁べてを支持てる。
したがって本発明の1つの主な目的は、新しい改良された並列処理方式を提供す ることである。
本発明のもう1つの目的は、2進木構造に配列された複数個の処理素子を提供す ることであり、この場合各処理素子はその処理素子および他の処理素子と通信し 得る自らのI10装置と組み合わされる。
本発明のもう1つの目的は、改良された効率および故障許容能力を備える2進木 構造に配列された並列処理装置を提供することである。
本発明のもう1つの目的は、2つの連続する故障後に2進木構造機械の正しい作 動を本質的に保証するとともに、第6の連続故障後に正しい作動の50%の可能 性を保証する並列処理装置を提供することである。
本発明のも51つの目的は、各処理装置の平均計算時間からの計算時間偏向を減 ら丁ことによって並列処理装置の効率を改良する方式を提供することである。
図面の簡単な説明 本発明の上記および他の目的、特徴ならびに利点は本発明の下記説明に関して一 段と明白になると思う。
第1図は先行技術の2進木構造の概略図であり;第2図は1026個の処理素子 の2進木構造を含む本発明の好適な実施例の一般形状を示し;第3図は8751 処理装置、110装置、およびランダム・アクセス記憶装置を含む単一の処理素 子をブロック図の形で示し; 第4A図および第4B図は第3図の単一処理素子の詳細な接続図を示し; 第5図は単一計算サイクルの間の基本モデルの機能流れ図であり; 第6A図および第6B図は同報通信、報告−分解、手直し、パリティ検査、命令 デコーダ、記憶支持、およびアドレス・ラッチ・ブロックを含む工/○装置の接 続図であり; 第7図は第6A図および第6B図の同報通信ブロックの一般概略図であり; 第8図は第7図の同報通信ブロックの詳細な接続図であり; 第9図は第6A図および第6B図の分解−報告ブロックの分解部分の一般概略図 であり: 第10A図および第1QB図は第6A図ならびに第6B図の分解−報告ブロック の詳細な接続図であり;第11図から第16図までは第1QA図および第10B 図のブロックの詳細な接続図であり;第17A図および第17B図は第6A図な らびに第6B図の命令デコーダ・ブロックの詳細な接続図であり ; 第18図は故障制御装置の一般概略図であり:第19図はソフトウェア核心の流 れ図である。
発明の詳細な説明 第2図に示される通り、本発明の2進木構造並列処理装置は、2進木構造の形に 配列されたPEI −PE1023として識される複数個の処理素子を含む。親 処理素子を持たない根処理素子PE1および子処理素子を持たない葉処理素子p E512−PE1023を除く各PRは、親処理素子ならびに2個の子処理素子 と接続されている。例えば、PE2は通信ラインC2によりその親PE1と通信 し、通信ラインC4により第1(または左)子PE4と通信し、通信ラインC5 により第2(または右)子PE5と通信する。同様に、PE4は通信ラインC4 によりその親PR2と通信しかつ通信ラインC8およびC9によりその左右子P E8ならびにPE9 (図示されていない)と通信する。
根処理素子PE1は、ライン5によりボード間インターフェース回路Tを介して ホスト専用処理装置3と通信する。好適な実施例では、ディジタル・イクイソプ メント(])igital Equipment Corp、 )社のVAI  1/750(TM)がホスト専用処理装置として働き、本発明の使用者にとって 明らかな唯一の装置である。
かくて、現在好適な実施例は、VAXI 1 /750に対する透明な後置処理 装置と見なされる。
第6図、第4A図および第4B図から、好適な実施例の単一処理素子がブロック 図の形で示されている。
この処理素子は、処理装置30として働くインテル(工ntθ’1)8751マ イクロコンピユータ・チップと、2個の8に×8静ランダム・アクセス記憶チッ プ42゜44および16kX1パリティRAM 46を含む読出し/書込みまた はランダム・アクセス記憶装置(RAM )40と、工/○装置50とを有して いる。
処理装置30は、単一シリコン・チップ上に4に消去式プログム可能読出専用記 憶装置(EPROM )および250バイ)RAMを含む8Il′ツト・マイク ロコンピュータである。EPROMは以後の手直し、変形などに具合よく使用さ れる。処理装置30は、処理装置間の相互接続を簡潔化してI10手顆全天きく 支援する4個の並列8ビツト端子を備えている。RAM 42. 44は処理装 置30用の局部記憶装置として働く。
工/○装置50は、命令およびデータを処理素子に入出力する重要な装置として 働く。I10装置50は記憶支持回路を含むとともに、記憶および通信両用のパ リティを計算し、故障検出を容易にする。I10装置50は、並列処理装置を1 2メガヘルツで、丁なわち処理装置30およびRAM42.44.46の最大速 度でクロックさせるデート・プレイ技術で実現されたICであることが望ましい 。平均機械命令サイクル時間は、毎秒的57,000万個の命令の粗計算処理高 を持つ装置を作る、1.8マイクロ秒である。
工/○装置50は記憶マツプ装置として呼び出され、丁なわち処理装置30はそ のアドレス・スペースの特殊位置に対する読出しおよび書込みによってI10装 置を呼び出す。I10装置50は6つの書込み可能位置および8個の読出し可能 位置を含む。処理装置3004個の8ビット並列端子は、端子PQ−P3で表わ されている。端子poは、処理装置30をその左右の子処理装置の端子P1に接 続し、処理装置30と記憶装置40との間のデータ・バスとして働くとともに工 /○装置50におけるラッチに記憶されるアドレスの低位8ビツト用のアドレス ・バスとしても働く、アドレス/データ・バス51に接続されている。端子P1 は処理装置30とその親との間の接続として働く。
処理装置30の端子PQとその子の端子P1との間の接続は処理装置間のデータ 通路として働き、また処理装置チップ間の直接接続となったりバス・トランシー バを介してボード接続はずれとなることがある。
−ンA3−A12に表わされる8ビツト端子P2の5ビツトは、アドレスの高位 5ビツトを記憶装置40に供給する。処理装置30のピンA13に表わされる端 子P2の1ビツトは、バス・トランシーバ用の直接制御として用いられる一方、 処理装置30のピンA14に表われるもう1つのビットは受信ハンドシェーク・ ラインとして働く。
端子P3からのラインの6ビツトは、隣接した処理素子を呼び出丁ときにハンド シェーク・ラインとして使用され、また2ビツトは記憶装置用の読出しおよび書 込みストローブとして使用される。第4A図および第4B図から、処理装置30 の端子P6のピンLACK 。
LINTはその左の子のピンPACK 、PINTに接続される一方、処理装置 30の端子P3のピンRACK 、RINTはその右の子のピンPACK 、P INTに接続されている。同様に、処理装置30の端子P6のピンPACK 、 PINTはその親のLACK、LINT (左の子の場合)またはRACK 。
RINT (右の子の場合)のいずれかに接続される。これらの6個のピンに現 われる信号は、子/親処理装置に出入するハンドシェーキングを表わ丁。転送が 隣接処理装置に制限されるとき(木構造の近隣通信)、非同期4サイクルのハン ドシェーク・プロトコールはデータを移動するのに用いられる。
再び第3図、第4A図および第4B図から、ライン52.53,54はPRの処 理装置30からその親、左の子および右の子までそれぞれ接続されるデータ・ラ インを含む。明らかであると思うが、PEのデータ・ライン52は次の上方レベ ルでその親のデータ・ライン53またはデータ・ライ154のいずれかに接続さ れる。同様に、ライン56.57.58はPEのI10装置50からその親、左 の子および右の子にそれぞれ接続されるI10ラインを含み;またPEのI10 ライン56は次の上方レベルでその親のI10ライン5TまたはI10ライン5 8のいずれかに接続される。
第5図から、本発明により複数個のPEによって実行される単一計算サイクル用 の基本モデルの機能流れ図が示されている。本質的には、単一計算サイクルは同 報通信段階60と、計算段階65と、分解段階70と、報告段階75とを含んで いる。回報通信段階60は、データまたは命令もしくはその両方を2進木構造に あるPRのサブセットに回報通信する段階を含む。
この同報通信に続き、計算段階650間にPRの第2サブセツトによって計算が 行われる。この計算に続き、分解段階70は報告段階75の間に計算の結果を報 告するPEの第3サブセツトの識別を決定する。説明のために、データおよび命 令はホスト専用処理装置によって回報通信される。
このモデルでは、4つのソフトウェア依存の作動モードは、各段階で選択された PEのサブセットおよび同報通信されるデータまたは命令もしくはその両方の形 式により識別することができる。これら4つのモードとは二単−命令ストリーム 多重データ・ストリーム用のSIMD、多重命令ストリーム多重データ・ストリ ーム用のMIMD %多重−単−命令ス) IJ−ム多重データ・ストリーム用 の1JsI匹、および単一プログラム多重データ用のSPMDの諸モードである 。
さらに詳しく述べれば、SII/、Dモードでは、各PEは自らのデータをまず ロードされて次に命令の単一ストリームが丁べてのPEに同報通信される。最初 に同報通信されたデータおよび前の命令の結果であるその局部状態により、各S IMDPgはストリームからどの命令を実行するかを決定する。
MIMDモードでは、各PEはその局部プログラムおよびデータをまず同報通信 され、次に各PKはその隣接するPEから論理的に切り離されて独自に実行する 。
2進木構造の残りに対する論理の再接続は、PEがその計算を仕上げたときに起 こる。
MSIMDモードでは、PEの2進木構造は順序を示す木の完全な機能性を維持 する多数の分枝に区分される。
MIMDモードで作動しているかかる各分校の根は、ホストと共にI10能力を 除く順序を示す木の根と機能的に同一である。MSIMDモードで作動している 装置は、したがって、1組の2進木構造と見なされる。
SPMDモードでは、各PEは共通プログラムの写しをまず回報通信され、次に その局部データを回報通信される。MIMDモードと違って、PEはこの点で自 らを論理的に切り離さず、むしろ上記から同報通信されるデータ・ストリームを 受信し続ける。かくて各PEの計算は3つの成分、すなわち各pEが実行する共 通プログラム、PEが最初にロードされた局部データ、および上記から同報通信 されている連続データ・ストリーム、によって決定される。
I10装置は、M工■モードにあるPEがその親から論理的に切り離され、した がって工10通信がそれらの間に起こらないので、七〇PEおよびその子のPE がMI)JDモードまたはSIMDモードにあるかどうかを知らなければならな い。PE、その左の子、およびその右の子のMIMD 、/ SIMD状態に対 応する情報の6ビツトは、工10装置によって使用される。
これらのピントを維持するために、各I10装置にある書込み可能ビットは、自 らをMIMDまたはSIMDにセットするのに用いられる。もう1対のピッ)M IMD−RCおよびMIMDLLCは、そのPEの子がMIMDまたはSIMD モードにあるかどうかを示すのに用いられる。
ビットMIMD −RCおよびMIMD −LCの対は2通りの方法直接書込み の方法である。第2法は子のI10装置からその親までMIMD / SIMD 状態ビットの伝搬による方法である。このビットは親によって直接読み出された り、それが読み出されると同時に親のMI■−RCまたはMIMD −LCピッ トにラッチされる。
上記に示された通り、処理装置40および各PRのRAM 40は既製の集積回 路である。I10装置はそうではない。PEのI10装置は本質的に5つのオペ レーション、丁なわち同報通信、分解および報告のI10機能を果た丁とともに 記憶支持ならびに手直しの機能をも果た丁。これらの機能は、回報通信ブロック 100、手直しブロック200、命令デコーダ・ブロック300、記憶支持ブロ ック400、パリティ検査ブロック500、報告−分解ブロック600、および アドレス・ランチ・ブロック700を含む第6A図ならびに第6B図の装置によ って達成される。
命令デコーダ300は、同報通信ブロック100、手直しブロック200、パリ ティ検査ブロック500および分解−報告ブロック600、ならびにその子およ び自らのMI■状態のアドレス指定を制御することによってI10装置を制御し 、処理装置への割込みの送信を監視し、そして割込みの時点でアドレス・ランチ 700にあるアドレスを記録する。
記憶支持ブロック400はあらゆる外部記憶オペレーションを処理する。このブ ロックは、選択する8kXSRAMを決定し、16に×1パリティRAMを使用 可能にして、2個の8kX8RAMのリフレッシュを制御する。
各回報通信ブロック100は、データおよび命令のシステム規模の同報通信を処 理する。それは親PEからバイトを受信しかつ3つの8751処理装置の命令サ イクル内でバイトを子のPEに送信し、次にもう1つのバイトがMI■の根処理 装置から送信されるように同期をとり直す責任がある。
手直しブロック200はそれ自体、その親およびその子からのシステム横規の割 込みを処理し、一般に割込み信号を木構造全体を通じて伝搬させる。
パリティ検査ブロック500は多数のPE間のバイト通信を検査するとともに、 パリティの誤りに関する記憶動作を検査する。
分解−報告ブロック600は、どの単−PEがその結果をホスト専用処理装置に 送信することによって結果を報告するようにされるかを決定する責任がある。
アドレス・ラッテ700は、I10装置にアドレスまたはデータもしくは両方を 供給する。アドレス・ラッチ700は処理装置30からのラインALEのアドレ ス・ラッチ使用可能によって制御される。ALEがハイであるとき、ラインAD (7,,0)のアドレスまたはラインI 0−BUS 7..0のデータは、ラ インAD−LATCH7、、Oのラッチを経て命令デコーダ300に送信される 。
I10装置の個別構成部品を説明する前に、この装置のレジスタ構成を示すこと が役に立つ。上述の通り、I10装置は処理装置30の外部票アドレス・スペー スに、説明のためにインテル(Intllll ) 8751マイクロプロセッ サの最初の256バイトに、記憶マツプされる。発明の本実施例では、データ、 制御、およびI10処理装置状態レジスタから成る14個の規定アドレスがあり 、制御状態ブロック、同報通信ブロック、および分解/報告ブロックの3機能ブ ロックで構成されている。これらのレジスタの説明は下記第1表に示されている 。
謳 四 これらの各ブロックで未使用のレジスタ、および16進アドレス30−18 F FFF間の他のレジスタはI10装置の今後の拡張のためにとっておかれ、かつ これらのレジスタならびに外部誠の上限を越えるどんなレジスタでも不確定な結 果を生じる。これらのレジスタの機能は下記の通りである。
制御/状態ブロック 制御/状態ブロックにある5YNC,CTRL、 5TAT。
PCAR、RESETおよび5TATEの諸レジスタは、工/○装置およびその 近隣の現状に関する情報を処理装置30に供給するのに使用されるとともに、処 理装置30にそのI10装置の情況(例えば割込みハンドラの間の情況)を保護 させかつ回復させ、さらに全面的な通信路により明確な(制限はあるが)制御を 与えるのに使用される。
5YNCレジスタは、同報通信および分解/報告オペレーションの処理を制御す るI10装置によって使用されるMIMD信号状態フラグを処理装置10に定め させる。正常作動では、5YNCレジスタへの書込みは、I10装置の動的なM I犯状態ラインに現われる信号を内部5YNCランチに記憶させるが、その値は 同報通信および分解/報告論理の行動を制御する。しかしカーネル・モードでは 、内部5YNCランチは外部MIMD状態ラインではなくソース・オペランドか らロードされる。これは、処理装置30が実際の状態にかかわらず回報通信およ び分解/報告オペレーションの行動を隣接I10装置に関して明確に制御する方 法を提供する。
I10装置をリセットすると、局部I10装置およびその後裔のSIMDオペレ ーションを示しながら、5YNCレジスタをクリアする。5YNCレジスタを読 み比重と、I10装置の内部5YNCランチの内容が分かる。
CTRL (制御)レジスタは、局部I10装置用のSIMDおよびM、IMD オペレーションを定め、どの事象がI10装置に処理装置30を割り込ませ、カ ーネル・モードのオペレーションを使用可能にしたり使用不能にし、または大規 模割込みを開始させるかを定めるのに用いられる。
CTRLレジスタは、I10装置のMIMD自己ラッチ、カーネル・モード使用 可能ラッチに対応するビット、処理装置30に対するI10装置割込みの3つの ソース、および大規模割込みトリガを含んでいる。大規模割込みトリガを除き、 これらの各ビットは簡単なランチであり、使用者モードまたはカーネル・モード のいずれかで読み書きされる。大規模割込みトリガに1♂ツトを書き込むと、本 構造全体に対する大規模割込みが開始され、大規模割込みマスク・ビットのセツ ティングにかかわらずI10装置に割込む。I10装置をリセットすると、工1 0装置をSI■モードに置き、パリティおよび大規模割込みを使用不能にしてカ ーネル・モードを使用不能にする。
5TAT (状態)レジスタは、内部および外部I10装置の事象に関するいろ いろな情報を処理装置30に供給する。parity−err 、refres h−err 、またはglObal−errのどれにでも1ビツトがあることは 対応する事象が発生したことを示す。I10装置は、CTRLレゾスタにある割 込みマスク・ビットの値により、これらの事象のどれでもが生じるとき処理装置 30に割り込むことができる。パリティ・エラーが検出されたとき、mem−p arity bitは不良パリティのソースが外部RAMであった場合1となり 、ソースが処理素子間の通信論理であった場合0となる。I10装置をリセット すると、これらのビットがクリアされる。
e:ct−mima−1cおよびext−mima−rcを読み比重と、左右の 後裔I10装置に接続された外部MIMDビンに現われる信号の現在値が回復さ れる。これらの値はランチされていないので、書込み操作はそれらに影響を及ぼ さない。(これらは5YNCレジスタに書き込む使用者のモードによって内部5 YNCランチにロードされる値である。) I10装置は、処理装置30のアドレス・パスからの低位アドレス・バイトを大 規模割込みが生じるとき必ずPCAR(ハリティ検査アドレス)レジスタにラッ チするが、ただしPCARレジスタは前の大規模割込みの発生以来処理装置10 によって読み出された(またはリセット動作が行われた)場合にかぎる。このイ ンターロックは、もし処理装置30が初度割込みの処理中にPCARレジスタを 調査し得る前に後続の大規模割込みが生じるならば、PCARレジスタ内のデー タが新しいデータによって過度に書き込まれないように供給される。PCARレ ジスタを読み出して、書込み使用可能の動作を内部でリセットする。110装置 をリセットしても、それを0までクリアする。処理装置30は、I10装置がカ ーネル・モードにあるときのみこのレジスタにデータを書き込むようにされる。
RESETレジスタは、工10装置のソフトウェア・リセットを実行するように 、カーネル・モードでのみ行われるオペレーションを処理装置30によって書き 込まれる。処理装置30のソース・オペランドは書込み動作の間無視され、読出 し動作は不確定のデータを生じる。
5TATEレジスタは、分解−報告および回報通信論理の状態を示す状態フラグ を含むとともに、パリティ・エラーならびに大規模割込み指示子を含む。
同報通信ブロック 回報通信ブロックは処理装置30によって呼び出されたB4N 、 B−OUT およびB−8TATUS レジスタを含み、SIMDモードで大規模な同報通信 データを検索し、かつMIMDモードで局部根のサブツリーにデータを同報通信 する。
B−IN (回報通信入力)レジスタを読み出すと、同報通信データの最新バイ トを生じかつI10装置の同報通信準備−ンを使用可能にし、工10装置がその MIMD祖先から次のバイトを受信する準備を整えていることが示される。B− INレジスタは、工10装置がMIMDモードにあるときのみ処理装置30によ って書き込まれる。
B−OUT (同報通信出力)レジスタは、局部処理素子に根を持つMIMDサ ブツリーにデータの1バイトを同報通信するように、MIMDモードで処理装置 30によって書き込まれる。データは後裔の各SIMD処理素子のB−INレジ スタ内に現われ、また局部I10装置のB INレジスタにも埃われる。(同報 通信動作の意味は、MIMDモード処理素子が完全な2進木構造を与えるように SIMD処理素子としても働くので、MIMD根処理素子が自らの同報通信デー タを読み比重ことを要求する。)もしB−○UTレジスタがSIMDモードで1 き込まれるならば、データはl/○装置がMIMDモードに置かれてサブツリー がそれを受信する準備を整えるときに送信される。しかしこれが望ましくないの は、局部I10装置がSIMDモードにある間に祖先の処理素子がデータを過度 に書き込んだり、局部同報通信が進行している間にI10パリティ・エラーを生 じさせることがあるからである。
B−8TATUS (同報通信状態)レジスタは3種類の情報を含み、丁なわち ピッ) b−raaayおよびb−davは同報通信論理がMrMDモードで同 報通信されるべきバイトを受信する準備を整えているかどうか、かつ新しい同報 通信データがSIMDモードで利用できるかどうかをそれぞれ示し; tree −read7は局部根を持つサブツリーがデータを受信する準備を整えているか どうかを示し; 1nput−parityおよびoutput−parity はそれぞれB−INならびにB−OUTレジスタ用の動的パリティ・ビットを含 む。
フラグ1aavは、I10装置がS IMDモードで祖先の処理素子から回報通 信データを受信したり、MIMDモードで同報通信データを受信するとき1にセ ットされる(その理由は処理素子が必ず自らの回報通信を受信するからである) 。このフラグは、処理装置30がEL INレジスタの内容を読み出したりI1 0装置をリセットするときに必ずクリアされる。フラグb−read7は、工1 0装置がMIMDモードにありかつ後裔の処理素子に送信子べき目立つデータが 存在しないとき必ず1にセットされる。しかしフラグは、後裔の処理素子がその I10装置から前のデータを検索したことを示さない。それは単に、局部I/○ 装置が出力の他のバイトをバッファする準備を整えていることを意味する。
同報通信バイトが即時に送られるかどうかを決定する5ub−tree−rea dyがMIMDモードの処理素子に使用されるのは、処理素子がその局部I10 装置のB−INレジスタに目立つデータを持たないことが示されるからである。
フラグtree−θnableは、工10装置と丁べてのその子との間のあらゆ る直列通信を使用不能にするようにクリアされる。これはすべての祖先の処理素 子にある5ub−tree−readyフラグをクリアする副作用がある。
1ready 、tree−enable 、およびb−davは書込みおよび リセット動作によってのみ影響され、次にI10装置艇カーネル・モードにある 場合にのみ影響される。
リセットは1enable 、tree−enable、およびb−ready をターン・オンさせ、1daVをターン・オフさせるが、これはSIMD入カデ ータが利用できずかつMIMDモードが係属中でないことを示す。
分解/報告ブロック 分解/報告ブロックは処理装置30によって呼び出されるRR−IN 、 RE SOLVE 、 REPORT 、 RR−8TATE−QおよびRR−5TA TI 1の諸レジスタを含み、最小分解および報告のオペ−ジョンを実行する。
RR−5TATE −0レジスタのフラグrr−davがセットされると、RJ LINレジスタは分解/報告データの次の利用できるデータを含む。RR−IN レジスタを読み比重とこのフラグはクリアされる。RR−INレジスタはMI■ モードの処理装置30によってのみ、またはI10装置の状態が保存されなけれ ばならないときに常時読み出される。
RESOLVEレジスタは分解/報告データの1バイトを受信して、分解/報告 論理を初期設定する。MI)1.DおよびSIMDの両モード処理素子は、分解 /報告順序の初めにこのレジスタに分解/報告データを書き込む。
各SI■ I10装置は、サブツリーの根におけるMIMD処理素子がそのRR ,−INレジスタにある最大のかかるバイトを受信するまで、それ自体とその親 までの2つの後裔との間で計算された最大値を伝搬する。
REPORTレジスタは、RESOLVEレジスタに書き込まれた初度バイトに 続く分解/報告データの連続するバイトを受信する。
MIMD モードの処理素子はRR−3TATE−Q vジスタノフラグrr− davを読み出して、分解/報告データがRR−INレジスタで利用できるかど うかを決定しなければならない。このレジスタの他のビットは内部状態レジスタ でおり、分解/報告論理を分解/報告動作の割込みを越えて保存させるためにの み存在する。SIMDモードでは、ビットrr−readyは分解/報告論理が RESOLVEまたはREPORTレジスタにあるデータの新しいバイトを受信 する準備を整えているかどうかを示し;ビットrr−davは分解/報告データ がRR−INレジスタでI利用できることを示す。このレジスタ内の残りのビッ トは情況スイッチの間に分解/報告論理の情況を保持または回復するためにのみ 使用される。
RR,−8TATE−Nレジスタは、分解/報告ファームウェアによって監視さ れる、局部処理素子が分解/報告動作で依然として争う価値がちる(丁なゎちそ れか「破壊」されていない)かどうかを示すフラグを含む追加の分解/報告状態 情報を含む。
I/’O装置をリセットすると、その内部レジスタに下記の影響が現われる: 5YNCレジスタでは、内部MIMDラッチがクリアされ、これは局部I10装 置およびその一番近い後裔がSIMDモードにあることを示し; CTRLレジスタでは、内部MIMD自己ラッチがクリアされ、パリティ割込み および大規模割込みが使用不能にされ、かつカーネル・モードが使用不能にされ ;5TATレジスタでは、パリティおよび大規模割込み事象フラグがクリアされ ; PCARレジスタでは、レジスタがクリアされて、次の大規模割込みで記録され た低位アドレス・バイスを受信するようにされ: 5TATEレジスタでは、同報通信および分解/報告論理がそのアイドル状態に リセットされ、そしてパリティ・エラーおよび大規模割込みフラグがクリアされ ;B−8TATUSレジスタでは、丁べての回報通信論理が使用可能にされて、 同報通信データ利用可能7ラグ1davがクリアされ;そして 顔−8TATiQおよびRR−5TATi Nレジスタでは、丁べての分解/報 告論理が使用可能にされて、分解/報告データ利用可能フラグrr−daVがク リアされる。
第6A図および第6B図の命令デコーダ300は第17A図ならびに第17B図 により詳しく示されている。命令デコーダ300は6個の機能ブロック、丁なわ ち主デコーダ320、副デコーダ3301制御レジスタ340、状態レジスタ3 50.M期しジスタ360、およびパリティ・エラー・アドレス・レジスタ3T Oを含む。4個のレジスタ340−370は上述のCTRL 、 5TAT 、  5YNCおよびPCARレジスタ’t6る。
主デコーダ320は第4A図の8751処理装置のラインルーLATCH6++  4およびピンA14により第6A図ならびに第6B図の高位ビット・アドレス ・ラッチ700をデコードして% I / o装置がアドレスされているかどう かをまず決定し、次にそれが実際にアドレスされたかどうかを決定し、読出しま たは書込みのいずれかの操作によって適当なブロックを選択する。
副デコーダ330は、主デコーダ320によって選択されるブロックである。い ったん選択されると、副デコーダ330は副デコーダ330に至るラインADL ATCH(2++ 0 )に現われるアドレスの最低の6ビツトを読み出して、 制御レジスタ書込みおよび制御レジスタ読出しラインCNTREGWR、CNT REGRDを介してI10装置リセットならびに制御レジスタ34o、状態レジ スタ書込みおよび状態レジスタ読出しライン5TREGOWR、5TREGOR Dを介して状態レジスタ3501同期レジスタ書込みおよび同期レジスタ読出し ライン5YNC部GWR,5YNC旺G即を介して同期レジスタ360、または パリティ・アドレス・レジスタ読出しラインRADDRREGRDを介してパリ ティ嘲アドレス・レジスタ370、のいずれかを選択する。
制御(CTRL )レジスタ340は、割込み処理用のマスク・ピント、カーネ ル使用可能ビット、およびライン5ET−GLOBAL−INTに現われるセッ ト大規模割込みビットを含むが、その丁べては状態レジスタ350によって使用 される。制御レジスタ340もMIMD /SIR/、Dオにレーション用のビ ット状態をラインMIMD−3に供給する。リセットにより丁べてのマスクが使 用可能にされ、カーネル・ビットがクリアされ、そして装置はSIMDオペレー ション用に構成される。
状態レジスタ350はラインMIMD−LC、MIMC−RCによる左右の子の PEのMIMD状態の動的読出しを可能にして、その子およびそれ自体の内部状 態に関するI10装置からの情報を受信する。状態レジスタ350は本質的に、 パリティ・エラーおよび大規模割込みを処理する働きをし、次にマスクが使用不 能にされるならば処理装置に割り込む働きをする。いったん処理装置が割り込ま れると、それは状態レジスタを読み出して割込みが大規模割込みまたはパリティ ・エラーによって生じたかどうかを検査する。もし割込みがパリティ・エラーに よって生じたならば、状態レジスタはビットがセットされるときエラーが記憶読 出し動作によつて生じたことを示すビットを回復する。このビットがセットされ ないならば、パリティ・エラーは同報通信または分解/報告ブロックの送信エラ ーによって生じる。リセットにより、丁べてのレジスタがクリアされる。
同期(5YNC) レジスタ360は、ライフ 5YNCWRに書込み指令を受 信すると、子からのMIMD状態ラインうII/、D−LDXMIMILRCに 現われる状態情報をラッチするとともに制御レジスタ340にあるMIW、D状 態情報MIMD−3をラッチするので、このデータはI10装置の他のブロック に呼び出し得る。カーネル使用可能ビットは、データ・パスからこのレジスタに 明確に書き込むようにセットされなければならない。リセットにより、同期レジ スタ360は丁べてのビットをクリアして、丁べてのPEをSIMDモードにさ せる。
パリティ争エラー・アドレス(PCAR)レジスタ370は、割込みの時点でラ インAD−LATCH7、、0により第6A図および第6B図のアドレス・ラッ チ700にあるアドレスを記録する。パリティ・エラー・アドレス・レジスタ3 70は主としてハードウェア記憶チップの故障を記録するのに用いられる。
第6A図および第6B図の記憶支持ブロック400は、丁べての外部記憶動作を 処理する。このブロックは第3図のどの8に×8動または靜RAM記憶テッグ4 2.44が第6図の16KX1靜パリテイ記憶チツプ46を選択し、使用可能に しかつ2つの8に×8票のリフレッシュを制御するかを決定する。
記憶支持ブロック400は、処理装置30のラインA14のアドレス・ラッチ使 用可能ALEおよび第4A図の処理装置30のアドレス・ラッチの低位ビットに よって制御される。ラインA14は記憶オペレーションが生じるかどうかを決定 するために検査される。同様に、アドレス・ラッチの低位ビットは、他の誠がリ フレッシュされる間に2つの8 K X a RAMのどちらを記憶オペレーシ ョン用に選択丁べきかを決定するために検査される。機械命令サイクルで記憶オ ペレーションが生じない場合は、記憶支持ブロック400は両記憶チップをリフ レッシュする。パリティ・チップは、外部記憶オにレーションが生じるとき必ず 記憶支持ブロック400のラインPC−ENにより使用可能にされる。
さらに詳しく述べれば、もし記憶オペレーションが生じるべきであるならば、第 6A図および第6B図の記憶支持ブロック400は第3図ならびに第4A図の処 理装置30の端子POK現われるアドレスの低位8ビツトをラッテするとともに 、外部記憶装置にこれらの低位8ビツトを供給する。記憶支持ブロック400は 、記憶呼出しがI10装置のためであるか外部記憶装置のためであるかをも決定 しなければならない。これは、第6図および第4A図の処理装置30の端子P2 のラインA14からI10装置に供給されるビットにより、また外部記憶装置お よびI10装置に送られる後続の記憶支持ブロック発生の制御ストロープによっ て達成される。エラー検出に関して、記憶支持ブロック400は記憶オペレーシ ョンおよびI10オペレーションの両方のためにパリティを発させかつ検査する 。パリティ・エラーが発見されると、アドレスの低位8ビツトは記憶支持ブロッ ク400によってPCARレジスタに保持される。
同報通信オペレーションの概略図が第7図に示されている。同報通信ブロック1 00は同報通信入力レジスタ82と、同報通信出力レジスタ80と、多重装置8 4と、ANDデート86.92と、D形フリップ・フロップとを含んでいる。回 報通信入力および回報通信出力レジスタは、第1表に関連して前に説明したl  INおよびB−OUTレジスタである。同報通信は同期ビット直列オペレーショ ンとして実行され、オペレーションのモード丁なわちSIMD、 MSr旧、M IMDまたはSPMDに左右される。回報通信は命令またはデータもしくは両方 を個々のPEに出し入れすることを含む。説明のために、データおよび命令はホ スト専用処理装置によってPRのサブセットに同報通信されるが、これはさらに 少なくとも若干の送信された命令またはデータを実行し続ける。
同報通信入力レジスタ82は、直列入力端子Sin %シフト使用可能、および 並列出子端子を持つシフト・レジスタである。もしPEがSIMDモードにある ならば、説明のためにホスト専用処理装置から発生してより高いレベルのPEに 送信される到来の回報通信データは、ANDデート86を介して入力セルに直列 にシフトされる。0開始ビツトがシフト・レジスタの端までシフトされると、そ れはシフト使用可能および使用不能に送られるビン−準備信号をライン90に発 生させる。¥1j来データが入力レジスタから並列に読み出されると、1ビツト が入力シフト・レジスタに並列ロードされてそれがデータ・ビットを開始ビット として読み出さないようする。説明のために、レジスタ82からの並列出力はバ ス51および端子Oを介して処理装置30に接続されている。
ビン−準備信号は、丁べての子が前の同報通信を読む前に出力セルがロードされ るならば、出力データが失われないようにする制御信号を供給する。入力レジス タ82にある妥当な到来データを検査するために、受信機PEは簡単にこの制御 信号を調査しなければならない。バイトが同報通信出力であるかどうかを検査す るために、回報通信−準備信号P−READYは、PEによって使用されかつ親 PRのI10装置まで木構造の上方に伝搬されるように各I10装置によってラ イン94に発生される。同報通信−準備は、ライン90に現われるそのビン−準 備信号およびその2つの子からの回報通信−準備信号ならびにその子のためのM IMD/ SIMD状態ビットを一緒にr−トすることによってPEのANDデ ート92により発生される。
D形りリップ・フロップ88もAND Jf−) 86を介して親pgから到来 データを受信して、データを多重装置84から木構造の下方に1クロツク・サイ クルだけ遅延された子のPRまで伝搬する。このデータは、アレイの各レベルに ついて1クロツク・サイクルだけの遅延を持つプレイの全PEに回報通信される 。かくて、データが第2図のアレイの最低レベル(P E 512−1023) に達するには9クロツク・サイクル、開始ビットをクロックするにはもう10ク ロツク・サイクルを要し、データの8ピツトおよびパリティ・ビットが同報通信 入力シフト・レジスタ82に入る。処理装置の命令サイクルは普通20クロツク ・サイクル以上を要求するので、丁べてのPEにデータを回報通信する十分な時 間が1つの処理装置命令サイクルに存在する。
同報通信出力レジスタ80は10ビツト・シフトであり、8ピツトはデータ用、 1ビツトはパリティ用、もう1ビツトは0値開始ビツト用である。シフト・レジ スタは直列入力端子5insIQビット並列入力端子、ロード端子、および直列 出力端子S。utを備えている。
直列入力端子Sinは論理の1に接続されている。出力シフト・レジスタは絶え ずシフトしている。回報通信出力動作では、説明のために処理装置30による計 算の結果であったり別のPEから受信された8データ・ビット、1パリテイ・ビ ット、ならびに1開始ビツトはロード・ラインを通してシフト・レジスタに並列 ロードされる。これらの10ビツトは次にS。utラインを経て多重装置84に シフト・アウトされて多重化直列出力データを供給する。
いま第8図から、第6A図、第6B図および第7図の同報通信ブロック100が さらに詳しく示されている。回報通信ブロックは、I10装置に送られるバイト を受信して保持する同報通信入力シフト・レジスタ110と、より低いサブツリ ーを通じてバイトを送信することかできる同報通信出力シフト・レジスタ140 と、同期を果た丁とともに木の下方にデータが通るのを監視する同報通信制御ブ ロック170とを機能的に含んでいる。上記に示された通り、同報通信入力レジ スタ110および出力レジスタ140はいずれも、記憶マツピングにより呼び比 重ことができ、かくて処理装置30は1つのバイトを読み出したり書き込むこと ができる。処理装置は、bdav状態ビットを検査することによってバイトが受 信されたどうかを決定したり、バイトがb−reaay状態ビットを検査するこ とにより送信に利用できるかどうかを決定することかできる。これらのビットは アドレス12H(それぞれビット4および0)またはアドレス05H(それぞれ ビット2および2)から読み出される。
第8図の入力シフト・レジスタ110および出力シフト・レジスタ140は、第 7図の入力レジスタ82ならびに出力レジスタ80に対応する。第8図の同報通 信制御ブロック170は信号、回報通信左の子B−LC、左の子準備LC−Re ad7 %同報通信右の子B−RCおよび右の子準備Rc−Reaayを使用し て、バイトが適当に同報通信されるときを決定する。同様な信号、同報通信親お よび親準備が回報通信制御ブロック170のラインB−PおよびP−Ready により親処理装置用に供給される。ライフIFおよびp−psadyは、PEの I10装置をその親PRのI10装置に接続する8つのライン56の内の2つで あり、これらのラインは場合により左の子のPEからの8つのライン57の内の 2つ(B−LC、LC−Ready )としてまたは右の子のPEからの8つの ライン58の内の2つCB−RCXRc−Ready )として親PEで受信さ れる。
第8図の回報通信ブロックは6つの状態、丁なわち遊び、同報通信受信または同 報通信送信の状態の内の1つであることができる。同報通信ブロックは一般に遊 び状態でかなりの量の時間を費や丁。もし処理装置がMrMDモードでないなら ば、I10装置は2進木構造においてそれ自身上記から出された同報通信を受信 することができる。遊び状態から同報通信受信状態への転移は次の通り達成され る。遊び状態では、親B−PK至る回報通信ラインは親によってハイに保たれる が、その間入力シフト・レジスタ110は絶えず1でシフトして、レジスタ11 0がデータ・ビットを第7図に関して説明された通つ0開始ビツトとして読み比 重のを防止する。子に至る回報通信ラインB−LC、B−RCも同報通信制御ブ ロック170によってハイに保たれる。
サブツリーがMIMD根PRに、対応する準備ラインをハイにセットすることに よって準備されることを知らせるとき、回報通信は0開始ビツトを送ることによ って木の上記MIMD根PEから出される。この開始ビットは制御ブロック17 0を使用可能にし、かつおのおのの子に送られる。システム・クロックに同期す る送信を保つように、ビットはDフリップ・フロップ88を通して遅延される。
これは工/○装置当たり1ビツトのクロック遅延を生じさせる。いったん9ビツ ト(8ピツト・データおよび/パリティ・ビット)が送信されると、O開始ビッ トは入力シフト・レジスタ110を使用不能にし、親に至る親準備ラインp−R ead7をローに駆動する。同様な形式で、木構造の後続レベルにおけるp−R eaayラインはO開始ビットがそのレベルのシフト・レジスタ110の出力に シフトされるにつれてローになり、ANDデート92は使用不能にされる。
各レベルで、処理装置30は入力シフト・レジスタ110がデータ・バイトを受 信したかどうかを見るためにそのB−])a’v状態を検査する。もしそうであ れば、処理装置はI10装置からそれを読み比重ことができる。I10装置は入 力シフト・レジスタ110を検査して、もし処理装置がそのバイトを読み出しか つ子の準備ライy RC−Ready 、 LC−R8adyがハイであるなら ば、I10装置は親準備ラインをハイにさせ、それが次のバイトを受信する準備 を整えていることを知らせる。
もし処理装置がバイトを読み出さなかったならば、制御ブロック170はバイト が処理装置によって読み出されるまで親準備ラインをローに保つ。
第9図から、分解−報告オペレーションの分解部分の概略図が示されている。本 質的には、分解オペレーションは多数のPEにより実行された計算の結果を報告 する作業を行う単−PEの識別を決定することを意味する。計算を実行する各P ’Eはある値を指定される。
単一の勝利PEは、勝ったことを知らされてその後それは単独で結果を報告する 。同点の場合、分解回路は2進木構造の「順次」横断においてまず出会う勝利値 を持つPEを勝者として指定する。
各I10装置の分解ブロックは下記の値を計算するが、ただしvpは最小分解値 であり、 vp −最小(VS、 VL、 VR)KL −KP OR(VS vL) O R(VRVL)KR−KP OR(VS VR) OR(VL VR)KS − KP OR(VS VL) OR(VS VR)ただしVSは局部PEによって 与えられた数の値であり、vLは左の子によって計算されたvpO値であり、V Rは右の子によって計算されたVPQ値である。換言丁れば、各I10装置は局 部的に与えられた分解値の最小およびその2つの子によって計算された最小値を 計算する。
親からの殺しを表わ丁KPは、工10装置に入る論理信号であり、局部PEが分 解の勝者であり得すまたその子のどれも勝者であり得ないことを示す。親からの 殺しKPが存在する場合、または局部PEでの値あるいは右の子からの値が左の 子からの値VLより小であった場合、左の子は殺される( KL )。KRおよ びKSは右殺しと自己殺しを表わし、同様に計算される。
KSはpE内で局部的に読み出される信号であり、それが分解の勝者であるかど うかを決定する。
分解の最小にする部分は第9図に示されるような直列に計算されたビットである 。第6A図および第6B図のブロック600は、第1および第2 FIF○直列 レジスタ93,94、バッファ95、多重装置96、比較装置97およびバッフ ァ98を含む。バッファ95および98は第1表に関して説明されたRESOL VEならびにRJLINレジスタである。直列比較装置97は、3つの各ンース VS、VLおよびVRから一度に1個のビットを比較して勝利のビットを多重装 置96を介してRPEKある第1または第2 FIFO直列レジスタ93゜95 に向けることによって現在勝っているPEを計算する。分解を計算しているサブ ツリーは完全な2進木構造でないかもしれないので、子からの値のビットは同じ クロック・サイクル内に到達しないことがある。
FIFOバッファ93,94はバッファ95にある親のピントと子の到来ビット とを合わせるのに用いられる。
KP倍信号受信または比較の完了と同時に、比較装置97も上記論理式によって 示される通り定められた信号KL、KRおよびKSを比重。
前述の配列により、値の比較はパイプラインの形で2進木構造の数個のレベルで 同時に行われる。かくて、勝利の値の第1ビツトは祖父母PEにおいて他の勝利 値の第1ビツトと比較される一方、第2ビツトは親PEで比較され、また第6ピ ツトは子PEで比較され、それ以上の追加ビットは比較されるのを待つ。具合よ く、2進木構造の各レベルで比較を行う際にほんの1クロツク・サイクルだけの 遅延があり、比較装置はクロック・サイクル当たり与えられた各値の1ビツトを 比較することかできる。その結果、全分解動作は、比較装置を通してクロックさ れるべきPEによって与えられた数をとる時間と、レベル当たり1クロツク・サ イクルの木を通る伝搬時間との和の範囲内で行うことができる。もし与えられた 数がわずかに1バイトでありかつ処理装置のプレイが第2図のようにわずか10 レベルであるならば、全分解動作は処理装置の平均命令サイクルより少ない20 クロツク・サイクル未満で完了される。
報告動作は分解回路を用いることによってカーネル・プログラムで行われる。報 告はSIMDサブツリーに1つの使用可能PEが存在する場合にのみ明確である 。
報告動作を実行するために、丁ぺてのPEは分解を行うが、この場合SI■使用 不能PEは最大値(例えばF F (hex ) )を使用しかつ1つの使用可 能PKはその分傘値として報告丁べき値を提供する。使用可能PEによって提供 された値は、したがって、分解された他の丁べての値に等しいかそれより小であ り、正しい結果が報告される。
第6A図および第6B図の分解−報告ブロック600は第1QA図ならびに第1 0B図に一段と詳しく示されている。分解−報告ブロック600は4個のブロッ ク、丁なわちサシデコーダ610と、出力レジスタ620と、比較装置640と 、制御ブロック660とを含んでいる。サブデコーダ610はデコードを実行す るとともに読出し/書込み可能信号を出力レジスタ620、比較装置640およ び制御ブロック660に送信する。第1表のRESOLVEレジスタである出力 レジスタ620は、そのラインBUS 7 、、0により2進木構造の上方に送 信されるべきバイトを処理装置30から受信する。比較装置640は主として分 解動作に使用され、かつ第9図の直列比較装置97の特有な具体化である。比較 装置640は分解の勝者を決定して正しい値を持たない子にKILL指令を比重 。制御ブロック660は送信、同期および受信の諸機能を果た丁。
各PRはその6子からバイトを受信してできるだけ速やかにその親まで勝利のバ イトを送信する責任がある。
これをできるだけ速やかに行うため、2つのFIFOが使用される。いったんこ の分解が行われると、データ通路は勝利のPEからMIMD根PEまでセットア ンプされる。
本発明の実施において、第10A図および第1QB図の報告−分解ブロックは2 種類の送信、丁なわち報告と分解とを実行する。分解送信は2つの特有なアドレ スを利用する。分解の第1バイトは比較装置640をリセットする第1アドレス に書き込まれる。続くバイトは第2アドレスに書き込まれるが、比較装置をリセ ットしない。もし分解−報告ブロックの比較装置640が自らとその2つの子か らの6個のバイトの比較を行わずに勝者を決定するならば、その勝者は結果を報 告する。しかし、左の子を伴う同点が存在するならば、比較装置640は左の子 を勝者と呼び、またもし自らと右の子との間に同点があるならば、比較装置は自 らを勝者と決定する。どんな場合でも、工10装置は0開始ビツトを持つ勝利の バイトを上に送信する。
分解の最終バイトに遭遇すると、処理装置30はライン、殺し右の子KILLR C、殺し左の子KILLLCおよび殺し親KILLPにより比較装置640から KILL信号を読み出して、そのバイトが分解の勝利バイトであったがどうかを 決定する。
この手段により、2進木構造の連続するレベルは1つの勝利値を選択し、それを 次のレベルに進め、そして勝利値を持つ処理素子を除く丁べての処理素子を使用 不能にする。
次に報告機能は、使用不能にされた丁べての処理素子がそのときにF F (b ox )のような最大値を報告することにより、またそのデータのどれが問題で あるかを報告するように勝利の処理素子に命令を回報通信することによって具体 される。丁べての他の処理素子は最大値にセットされているので、2回以上の分 解の動絶えず選択させて、根処理素子に送らせる。
第11図〜第16図は第1QA図および第1QB図の制御ブロック660の素子 をさらに詳しく示す。さらに詳しく述べれば、第1表のRR−INレジスタであ る第11図の入力レジスタ680は、そのラインBUS(7,、O)により子か らMIMD親まで送信される勝利のバイトを受信しかつ保持する。同期およびデ ータ使用可能信号5YNC、XMTDTAは入力レジスタ680のクロックとし て働く出力を持つNANDデート681の入力である。
第12図の2つの先入れ先出し装置(FIFO) 690゜695は、SIMD 子からその親まで送信されるバイトを受信する。これらの装置は第9図において FIFO93,94として示されている。もしPEのFIFO690がPEの右 の子から勝利のバイトを受信するならば、それはこの勝利のバイトをラインFI RCD○によりできるだけ速やかにその親まで上方に送信する。同様に、同じP EのFIFO695がPEの左の子から勝利のバイトを受信するならば、それは この勝利のバイトをラインFILCDOによりできるだけ速やかにその親まで上 方に送信する。さらに詳しく述べれば、FIFO690は第12図の入力ライン RRDRCにより右の子からデータを供給される。NANDデート697に加え られる制御信号PRENXMTおよびDクリップ・70ツブ696に加えられる XMTDTAは、PEへのデータの出力を可能にする。リセット信号がNORデ ート693のラインFIFO■SETおよびR/Iに加えられて右の子のPIF o 690をリセットし、またNORデート694に加えられて左の子のPIF o 695をリセットする。
第11図の入力レジスタ680および第1QA図と第10B図の出力レジスタ6 20は、処理装置30にバイトを読み書きさせるよう記憶マツプされる。処理装 置30は、バイトが受信されたり送信の必要があるかどうかを決定するために制 御ブロック660の状態を検査することかある。
第13図は状態信号RRCLGOを作る00回路を示す。
この回路の入力は信号RRPARDYおよびRRPAGOを含む。
第14図は信号PREMPTYを作るEMPTY論理を示す。
この回路の入力は信号ROUTOWRおよびRROUT / WRを含む。
第15図は信号RRPARDYを作るREADY論理を示す。
この回路の入力は信号RRRCRDY、 5YNCRCRRLCRDY。
5YNCLCおよび第14図のEMPTY論理によって作られるPRgMPTY 信号を含む。
第16図は信号XMTDTA 、 ENXMTおよびR3TFLLを作る5EN D論理を示す。この回路の入力はFILC、FIRC(いずれも第12図のRE CEIVE FIFO回路によって作られる) 、5YNCLCX5YNCRC およびRRCLGO(第13図のGO論理によって作られる)を含む。
分解−報告ブロックはいくつかの状態、丁なわち遊び、分解−報告バイト送信、 分解−報告バイト受信、および分解−報告開始、の内のどれでも1つであること ができる。
もしPEがMIMD根モードにないならば、遊び状態は次の通り定義される:第 1QA図および第11]B図の制御ブロック660のラインRRCLGOに現わ れる状態信号はMIMD根の親によって論理のハイに保たれ:制御ブロック66 0の右の子および左の子データ・ラインRRDRC、RRDLCはそれぞれ論理 のハイに保たれ;そして制御ブロック660の親準備ラインRRPARDYも子 によって論理のローに保たれる。
I10装置は、SIMD子の処理装置30が第10A図および第10B図のI1 0子の報告−分解出力レジスタ口20に分解バイトを書き込むとき、遊び状態を 出て分解−報告送信状態に入る。もしSIMI)子が2進木構填の葉PEである ならば、第10A図および第10B図の制御ブロック660の親準備ラインRR PARDYは論理のハイの状態に入る。もしSIMD子が葉PEでないならば、 分解−報告準備状態ピント丁なわち第7図のライン90に現われるピン−準備信 号は、第7図のAND Jf−) 92によって第7図に示された通り親同報通 信準備ラインの値を決定するおのおの子の準備ラインとAND接続される。いっ たんSIMDサブツリーが準備されていることをMI MD根PEが決定すると 、PEは第10A図および第10B図の制御ブロック660のラインRRCLG Oに現われる状態信号をロー状態に入るようにする。これが起こると、葉PEは 第10A図および第10B図の出力レジスタ620の値を上方に送信する。もし PEが葉でなくかつSIMDであるならば、それは両方の子が2進木構造の上方 にそれぞれの分解バイトを送信し始めるまで待機しなければならない。SIMD 右および左の子からその親に送信されたバイトを受信するFIFO690,69 5は、左の子、右の子およびその親から丁べての6つの第1ビツトが受信される と同時に、第10A図および第10B図の比較装置640にビットを比較させる 。いったんSIMDPEが1つのビット比較を終えると、それはたとえ親がまだ ロー・ラインを持つ場合でもラインRRCL()Oに現われる状態信号をハイに するので、次のバイトはどんな遅延もなしに書き込み可能にされる。
遊び、分解−報告バイト送信および分解−報告開始の諸状態に加えて、MIMD 根PEは分解−報告受信状態になることもある。サブツリーがバイトを上方に送 信する準備を整えていることをMI■根PEに知らせるとき、MIMD根PEの I10装置はそれがあたかもSIMDPE″′c6つたかのように第10A図お よび第10B図の出力レジスタ620にバイトを書き込んだことをまず検査する 。この点で、MIMD根PRのI10装置は制御ブロック660のラインRRC LG○に現われる状態信号を低下させ、木構造の最低部分に送信開始を知らせる 。信号RRCLGOは第13図、第16図のG。
論理および5END論理でそれぞれ示されている。I10装置はいまや分解−報 告受信モードに入る。おのおのの子は、起こる動作次第で、その分解バイトまた は報告バイトのいずれかを上方に送信する。いったんMIMD根PEの子がデー タを上方に送信すると、MIMD根PEはそのデータで1ビツト比較を行い、ま た任意な他のSIM、DPgのように、勝利のバイトは処理装置30によって読 み出されるラインBUS(7,,0)により第10図の分解−報告ブロックの入 力レジスタ680に送信される。
再び第6A図および第6B図から、パリティ検査ゾロツク500は多くのPEの 間のバイト通信を検査するとともにパリティ・エラーについて記憶オペレーショ ンを検査する。パリティ検査ブロック500は本質的に、同報通信ブロック10 0、命令デコーダ・ブロック300、報告−分解ブロック600およびアドレス ・ラッチ・ブロック700を接続する8ビツト・データ・ライン1O−BUS  7 、、0のパリティを読み出して、このパリティをパリティ・エラーが生じた かどうかを決定するパリティ・ビットに対して検査する。
さらに詳しく述べれば、もし処理装置30が同報通信ブロック100または報告 −分解ブロック600まで書き込むならば、パリティ・ビットはパリティ検査ブ ロック500の内部パリティ・ビット・バスIPBに置かれて、報告−分解ブロ ック600のデータ・レジスタに第9ビツトとして書き込まれる。ラインIPB はパリティ検査ブロック500、同報通信ゾロツク100および報告−分解ブロ ック600を接続する。記憶書込み動作が起こると、パリティ検査ブロック50 0はパリティ検査ブロック500のデータ・ラインPB−OUTを経て第3図、 第4B図の16kX1パリティRAM46に書き込まれることによって以後の参 考のために記憶されるパリティ・ビットを発生させる。
処理装置30が同報通信ゾロツク100または分解−報告ブロック600にある データ入力レジスタを読み比重とき必ず、データのパリティはデータと共に送信 されるパリティ・ビットに対して検査される。もしそれらが合わないならば、パ リティ・エラー信号PAR−ERRは命令デコーダ・ブロック300に送られる が、これはもしパリティ・エラー・マスクが使用不能にされるならば処理装置を 中断するであろう。外部記憶読出し操作が起こると、第3図のB kx 8 R AM 42 。
44にあるデータのパリティは第3図の16kXIRAM ′46に最初書き込 まれたパリティに対して検査される。16kXI RAMからI10装置にこの パリティ・ビットをもたら丁ラインは、第5A図および第5B図のパリティ検査 ブロック500のPB−IN″r6る。もしパリティ検査ブロック500のデー タ・パスl0−BUS 7.、Q のパリティがFB −INに合わないなる。
パリティ検査ブロック500のパリティ・エラー・ラインRAR−ERRは命令 デコーダ・ブロック300に接続されて、パリティ・エラーが生じたことを命令 デコーダに知らせる。いずれの読出しの場合も、パリティ・ビットがデータ・パ スエ○−BUS7..Oに対して検査されるまで読出しラインがローにトグルす るときかう2クロツク・サイクルの遅延がある。命令デコーダ・ブロック300 にあるビットは、パリティの故障がI10装置にあったり記憶装置の故障であっ たかどうかを知る。
第6A図および第6B図を振り返ってみると、システム・ワイドの丁なわち大規 模な割込みを処理する手直しブロック200が示されている。これらの大規模な 割込みは、自らの大規模な割込み(手直しとして知られている)を開始する処理 装置30によって、またはもう1つのI10装置によって発生される。
大規模割込みにより、木構造にあるどんなPEでも丁べての他の処理装置および ホスト専用処理装置における割込みを開始させることができる。手直しブロック 200はハードウェア・エラーを知らせるのに用いられたり、手直しおよび診断 監視プログラムを入力するのに用いられる。I10装置は、処理装置が実行丁べ きコンテキスト・スイッチのためにI10装置の状態を順に読み出しかつ書き込 むように作られている。
コンテキスト・スイッチは、外部記憶装置におけるI10装置の状態を保つこと を意味する。大規模割込みにより、処理装置およびI10装置の状態が保たれて 、監視プログラムが入力される。監視プログラムを出ると、PRおよびI10装 置の状態は回復されて木構造は割込みが起こった所から処理を再開する。
手直しブロック200は本質的に、多指向性バス・リピータである。手直しブロ ック200は4つの異なるノース、丁なわちPEに対する特定ビット書込みの結 果としての局部PE、または木構造にある3つの最も近い隣者のどれでも(親P Eあるいは左右の子PE)、からり割込み信号を受信することができる。割込み が受信されると、手直しブロック200は木構造全体が割り込まれるまで他の3 つの方向に割込みを伝搬する。
割込み源からの割込み信号が除去されると、ブロックは他の6つの方向の信号伝 搬を停止する。
機能的には、第6A図および第6B図の手直しブロック200は有限状態の機械 である。手直しブロック200の入力信号l0−GLOBAL−INTは命令デ コーダ300から来て、大規模割込み状態ビットによって発生されるが、これは 処理装置30によりハイまたはローにセットされる。手直しブロック200から の割込み受信信号INT−IOは、工/○装置開始の割込みを発生させる命令デ コーダ300を供給する。入出カライン、丁なわち手直しブロック200の親に よる大規模割込みG−INT−P 、左の子による大規模割込みG−IN’T− LC、および右の子による大規模割込みCLIN’lRCは、割込みを通信する のにも使用される。もし大規模割込みが親、左の子または右の子によって発生さ れかつI10装置によって発生されなかったならば、これら6つのラインのどれ でもがローにされて、割込み受信IN’lIOもローにされることが示される。
もし大規模割込みが手直しブロック200の入力信号l0−GLOBAL−IN Tに起因するならば、信号G−INT−P、 G−INT−LCおよび04N’ r−RCもローにされる。いったん割込みが生じると、処理装置30は割込みが I10装置に対し局部的でらったか、または親や子によって作られたか、また何 をな丁べきかを示す命令デコーダ・ブロック300にある状態バイトを読み比重 。
本発明により、いったん割込みが生じると、I/○装置の状態の全部または一部 はある後の時間に回復されるように外部記憶装置に保たれなければならない。
第6A図および第6B図の命令デコーダ・プロ゛ツク300の状態がまず保持さ れ、次に同報通信ブロック100の状態、そして最後に分解−報告ブロック60 0の状態が保持されて、状態が保たれる前に割込みが終る前にどんな大規模通信 でも始まるような順にする。
この順を辿ると、命令デコーダ・ブロック300が読み出されるときまでに丁べ ての同報通信が完了するのでデータは失われず、また丁べての分解−報告は回報 通信ブロックが読出しを完了するときまでに固まると思われる。状態が保たれた 後、I10装置のソフト・リセットが実行されたり、所定の状態がI10装置に 書き込まれる。上述と同じ順序で状態が書き込まれなければならないのは、命令 デコーダ・ブロック300の状態が同報通信ブロック100にも分解ブロック6 00にも使用されるからである。
いったん手直しが行われると、木構造の状態が回復される。I10装置の状態も 、1つの場合を除きそれが読み出されたのと同じ順序で回復される。回報通信人 力シフト・レジスタは、レジスタを初期設定し直丁ようにまず処理装ff113 0によって読み出されなければならない。それが読み出されてから初めて、レジ スタにデータを書き込むことができる。このケースはMIMD状態の条件に回復 されるべきI10装置にのみ適用する。
本発明の実施に当たって、特定の1サイクルで各処理装置によって要求される計 算時間の量を制御することにより効率が維持される。各処理装置によって要求さ れる時間の量はその局部的な状態により大きく相違することがあるので、処理装 置のデータの制限されたサシセットをコピーすることによる負荷を他の処理装置 に対するゆがんだ計算負荷と釣り合わせると具合がよいことが発見された。デー タは制限されることがあり、それによって任意の適当な順序および細分法に基づ いて仕切られ、かくて平均計算時間ならびに平均の標準偏差が減少される。
さらに本発明は、処理装置の作動が本質的に2つの連続故障後に保証されるとと もに第3の連続故障後に正しい作動の50チの可能性が保証されるように、具合 よ〈実施することかできる。共通パリティ・エラーは在来のエラー修正法で処理 することかできるが、集積回路の完全かつ変更できない非動作ははるかに多くの 重大な問題を提起する。しかしこれは、サイズ4N+6の2進木構造の並列処理 装置で計算を4回繰り逗子ことによって克服することができるが、この好適実施 例ではN−1023である。
第18図から、3つの追加の節、丁なわちTXLおよびRがNサイズの木構造の 最上部を構成する。これら6つの節は本質的に、サブツリー1−4にある4つの 同一な同時プロセス間の一致を保証する仲裁人として作用する。節りおよびRは 、その後裔のサブツリー間の一致を保証するために同時に働く。TはLとRとの 間の一致を保証して、もし故障が生じたらそれを隔離するのに役立つ。T、Lお よびRはそれら自体、在来の反復投票論理を用いて故障に対して硬化されなけれ ばならない。
さらに詳しく述べれば、故障がサブツリー2に生じたものと想定すると、サブツ リー1.2によってLK通信される結果は、ある点で計算が相違する。この不一 致に気づくと同時に、LはTが絶えず読む一ンをセットすることによってTに知 らせる。Rは自らの故障を認めないので、それは妥当な結果をTに通信する。
TはRの結果を外部ホストならびにLK送り続ける。
Tを介してRにより供給されるこの値を用いる節りは、サシツリー2が故障した ことを確認する。Lの後続作動は単にその作動するサブツリー1からの値をTに 直接送ることである。サブツリー2はいまや、直接の手修理のために自らの故障 を隔離するように独自に作動したり、切り離しの状態を保つことができる。
有効なサシツリー1.3.4の内の1つに別の故障が生じると、他の2つの計算 は有効性を保ちかつ上述と同じ方法で故障のサブツリーを隔離する。かくて、T は2つの故障により有効データと応答することを保証される。もし第3の故障が 生じたら、Tは残りの2つのサブツリーから50%成功の確率でランダムに選ぶ ことができる。かかる確率は、故障検出用のハードウェアの助けによって増加さ せることができる。
具合よく、かかる故障制御装置は本発明によりPEを追加する必要なしに具体化 することができる。節T。
LおよびRは比較的簡単な機能を果たしかつ専用のPEを要求しないことが望ま しい。
各PEのソフトウェア制御は、各PEのEPROM内にあるカーネル装置を通し て供給されることが望ましい。
カーネルは4つの機能、丁なわち第19図の流れ図に示される増強診断、低レベ ルI10ルーチン、高レベル言語PPL / M支持、および高レベル言語PP 5L支持の諸機能を提供する。付録lおよび]はそれぞれ、カーネルの機械コー ドならびにアセンブリ言語のリストである。
カーネルの増強診断機能に関して、PEはその記憶装置を初期設定することによ ってパワーの印加と同時に00にリセットし、次に大規模割込みラインを調査す る。もし大規模割込みラインがローであるならば、PRはEFROMにある診断 プログラムを実行して、PEの完全性を一般的に検査する。もし大規模割込みラ インが遊び(丁なわちハイ、丁なわち5ボルト)であるならば、工10装置がリ セットされ、割込みマスクが使用不能にされ、低レベル状態ピットが初期設定さ れ、そして初期設定の初めに作用されるタイマは時間切れを検査される。もし初 期設定が完了していないためにタイマが時間切れであるならば、PEは診断プロ グラムにあるEFROMを実行する。これとは別に、初期設定が完了しているな らば、PEはPPL / Mモードに入る。
カーネルの低レベルI10機能に関して、ピット・アドレス・スペースに置かれ る低レベル状態ビットは、PEが根PEであるか、PEが右の子であるか、PE がMIMDにありかつその親が論理的に切り離されているか、左の子が論理的に 接続されているか、右の子が論理的に接続されているか、左の子がMIMD /  SIMD状態にかかわらず物理的に存在するか、そして右の子がMIMD /  SIMD状態にかかわらず物理的に存在するかどうかを示すピットを含む。初 期設定ソフトウェアは外部接続を調査して低レベル状態のピットに適当な状態を 指定することが望ましい。
低レベルI10ルーテンは一般にバイト向きであるが、ただし語向きのI10ス イッチ・コンテキスト・ルーテンを除く。もしルーチンが値を回復子れば、回復 値は累算器の中に残る。
処理装置30の親および子端子に接続される処理装置端子を呼び出し得る唯一の ルーテンは次の通りである: 左の子の端子書込み。
右の子の端子書込み。
親端子書込み。
ホスト書込み(親端子、根のみから呼出し可能)。
一度に両方の子に書込み。
ホスト1バイト書込み、しかし適当なグロトコール使用(R端子、根からのみ呼 出し可能)。
左の子の端子読出し。
右の子の端子読出し。
親端子読出し。
ホスト読出しく親端子、根からのみ呼出し可能)。
ホスト1バイト読出し、しかし適当なグロトコール使用(親端子、根からのみ呼 出し可能)。
これらの木の隣接I10ルーチンは、局部PEに論理接続される親および子のP Rによって適当な4サイクルのハンドシェーク・プロトコルを実行する責任力; ある。かかるどんなPEでも論理接続されないなら+?。
書込ミは「ノー・オペレーション」であり以後の読出しは0を回復する。これら のルーチンカ冨状態ビットを試験する間、PPL/M高レベル・カーネル&工状 態ピットの正確さを保つ。
pgの端子は一般に下向きに通信するような形に作られているので、2進木構造 でバイトを上方に移動丁る低レベル・ルーチンは、上方送信用にその端子を上向 きに作り直し、次に端子を出る前に下向きに端子を回復させなければならない。
木構造の済接工/○を果た丁基本の低レベル動作は、準備ラインおよび認識ライ ン(、ACk )を要求する標準の4サイクル・ハンドシェークである。主と従 との間の代表的なハンドシェークは下記の段階を含む:準備主張。 準備が主張 されるまで 待機。
データ捕捉。ACk主乱 Ackが主張されるまで データ除去。
準備リセットまで待機。
ACkリセット。
ACkリセットまで待機。
準備主張。
準備が主張されるまで 待機。
ルーチンの下記説明のためのリストはI10装置を通して行われる: 同報通信バイト読出し; 回報通信バイト送出しく ynaDpEのみ);分解の第1バイト送出し: 分解の後続バイト送出し; 報告のバイト送出し: 分解または報告されたバイト読出しく MIMD PEのみ)。
局部処理装置のI10装置を子の現在のMIMD/SIMD状態にセット。
局部処理装置のI10装置をMIMD状態にセット。
局部処理装置のI10装置をSIMD状態にセット。
局部処理装置の工/○装置をMIIJJに左の子を持つようにセット。
局部処理装置のI10装置をSIMDに左の子を持つようにセット。
局部処理装置のI10装置全MIMDに右の子を持つようにセント。
局部処理装置のI10装置をSIMDに右の子を持つようにセット。
大規模割込みをセット。
大規模割込みをリセット。
大規模割込みをマスク・オフ。
大規模割込み全割込みCPUで許可。
パリティ割込みをマスク・オフ。
ハリティ割込みを割込みCPUで許可。
左の子のMIM、Dラインの動的状態回復を予想。非ゼロはMINX)を意味す る。(キャリー・ビットに影響。)右の子のMI■ラインの動的状態回復を予想 。非ゼロはMIMDを意味する。(キャリー・ビットに影響。)I10装置の左 の子の状態の状態回復を予想。非ゼロはMI■を意味する。(キャリー・ビット に影響。)I10装置の右の子の状態の状態回復を予想。非ゼロはMIMDを意 味する。(キャリー・ビットに影響。)I10装置の子の状態の状態回復を予想 。非ゼロはいずれもMIMD K 6る。(キャリー・ビットに影響。)キャリ ーにある勝者ビットの値の回復を予想。
I10装置制御レジスタ書込み。
I10装置制御レジスタ読出し。
I10装置状態レジスタ書込み。
I10装置状態レジスタ読出し。
オフ・チップ調の12バイトの領域までポインタを通過されたコンテキスト・セ ーブ。このルーテンはI10装置の現在のコンテキスト情報を書き出してI10 装置リセットを出てSIMDモードになる。(D’RTRおよびキャリーに影響 。) 以前に書かれたコンテキストを含むオフ・デバイスRAMまでポインタを通過し たコンテキスト回復。このルーチンはI10装置に対するコンテキストを回復す る。(DRTRおよびキャリーに影響。)一般に、I10装置は多数の記憶マツ プ・データおよび状態レジスタを含む。通信ルーチンは、データ・レジスタが準 備を整えておりしたがってデータが読み出されたり書き込まれることを状態ビッ トが示すとき、状態ビットで使用中待機の形を有する。述部は適当な状態ビット を読みかつマスクする。
第19図から、またPPL / M高レベル・カーネルに関して、本発明はPP L / Mモードで力を増し、根を除く丁べてのPEはSIMD翻訳ループS  IMDLPを実行し始める。もしPEが根PEであることが決定されるならば、 それはブーツストラップ・ローダを実行してコードをダウンロードしかつユーザ ・プログラムにロードする。
ブーツストラップ・ローダはそれ自体PPL / Mプログラムである。それは 根におけるMIMD部分と、各PRにおけるSIMD部分とを有する。人力ファ イルは説明のためにインテル8080目的モジユール形式である。
次にブーツストラップ・ローダは、入力ファイルの特定記録がプログラム像の一 部であるかどうかを決定する。もしそうであるならば、記録にある見出し情報は 像部分がオフ・チップRAMにロードされるべきで場所を指示する。これは、各 PEがその記憶装置に同一のプログラム像を有するように、丁べてのPEで行わ れる。ファイルの終りに、制御はロード・モジュールによって指示された開始ア ドレスにより、ユーザ・プログラムに送られる。
本発明の並列動作は実行を制御しかつ通信を行う実待時間ルーチンの使用と組み 合わされた丁べてのPEにユーザ・プログラムの同一なプログラム像を置くこと によって達成される。これを説明するために、PPL/Mコードの一部はそれが プリプロセッサによって変形される前後に提供され、実行時間ルーチンの作用は 下記の通り説明される: PPL / Mコードのセグメント: 主: 実行; / レイニラおよびスライス変数の宵宮 /外部aXb1C1d語宣言; スライス外部s、t、u、v語宣言; SIMD実行; 送信(1゜); 1゜8−a8十日; 受信(p); 終了: 事前処理後のPPL / Mコードの同じセグメント:主: 実行; * / レイニラおよびスライス変数の宣冨 /外部aX b、c、 4語宣言; 外部BX t、u、v語宣言; / コード / 例:手順; SIM、D呼出し; 10に進む; もしく not ent)ならば11に進む:11:送信(1゜); もしく not enL )ならば12に進む;もしく not ent)なら ば12に進む;12:受信(p); もしく not ent)ならば13に進む;を−θ; 16:復帰; 10 : 「S工■実行」ステートメントがl’−3IMD呼出し」に変更されたことが認 められる。コードは、「sIMD呼出し」に出会うまでMI■処理装置で在来通 りに働く。
SIMDは、処理装置30の復帰アドレス・スタックを見るカーネル関数である 。復帰アドレスは、SI)/、Dブロックの第1アドレスよりも2つ少ない(飛 越し10:により) SIMD呼出し直後の命令番指子。丁べてのPEにおける プログラム像は同一であるので、このアドレスは丁べてのPEにおける同じSI MDゾロツクを指子。アドレスは丁べてのSIMDPgに同報通信される。次K  SIMI)手頭はSIMDブロック自体まで飛び越丁(丁べてのMIMDPg もSIMDPEに似た動作をしなければならないので)。SIMDブロックの終 りに、復帰命令は最初のSIMD呼出しの復帰命令に似た動きtする。これはプ ログラムをSIMD呼出し後に最初の「進行」まで戻丁。
SIMDPEにあるSIMD翻訳ルーグS IMDLPは、アドレスの2つのバ イトを受信して、SIMDブロックに対する間接サブルーチン呼出しを行う。S IMI) P EがSIMDブロックの終りに復帰アドレスに達すると、それは PEをSIMD翻訳ループに戻させる。
丁ぺてのPEはいまや、SIMD行動をシミュレートしながらコードの同じブロ ックを実行することかできる。SI■ブロックの初めにかつ各通信命令およびE ntに対する指定の直後に、ステートメン):I[L(not Ent)ならば 11に進む:」が存在することか認められる。これがSIMDの使用可能/使用 不能がシミュレートされる理由である。通信命令が実行しなければならない都度 、それは丁べてのPEで実行されなければならない。換言丁れば、丁べてのPE は通信命令の同じ順序を正確に実行しなければならない。
条件付きは、通信命令から通信命令までのENt飛越しにより飛び越丁。他の命 令はPEが使用不能にされる場合のみ飛び越される。これはスライス手順の通信 命令およびSIMDブロックの他の条件付きを却下することと共に、通信命令の 順序による秩序を保証する。
上記に加えて、下記はPPL / M高レベル・カーネルによって使用される特 殊位置のリストである:Ent 使用可能ビット。通信命令およびSI犯記号に より使用される。
A1 分解の勝者情報を保持する特殊ビット・レジスタ。
A8 通信命令のソースまたは目的として使用される。
工o8 通信命令のソースまたは目的として使用される。
aprbyte 報告動作の目的 再び第19図から、DoMIMDは2進木構造の区分を生じさせかつ6段階工程 で各サブツリーの根に制御を送る根源語である。まず、制御を与えられているM r犯ルーチンのアドレスは同報通信である。区分および状態ビットが次にセット アツプされる。最後に、使用可能PEはMIW、Dルーチンを呼び比重。PPL  / Mモードでは、根は必ずMIW、Dモードにあるが、もしそれが使用不能 の511v’、Dであるならば、それはり。MIMDによって呼び出されるルー チンを実行しないであろう。
MIMDコードの終りに出口が置かれて、そのサブツリーを上記に再接続させる 。実際に、I10装置はSIMDにスイッチ・バックして、局部MIMDフラグ を更新させる。MIMD手順からの最後の復帰は復帰スタックをほどくとともに SIMD翻訳ルーグS IMDLPにおいてPEを比重◎ 同期(5ync )は、同期を実行しているPEより下の丁ぺてのPRがSIM Dモードに戻るまで待機を生じさせるとともにそのサブツリーを完全に再接続さ せる指令である。
かくて、各処理装置素子が個々のI10装置および記憶装置と組み合わされる2 進木構造に配列された複数個の処理装置素子の使用により、高速で、効率が良< 、シかも故障に強いデータ処理用の新しい改良された装置が提供されることが分 かる。
ADDR: oo 01 02 03 04 050360H=4FH60H1 8H78H28H12H0370H=33H12H06H82H78H26H0 380H=06H82)(85H26H33H12H0390H=33H05H 12806)t 82H75H03AOH=82H12H06H25HF5M  28803BOH=OOHBFHOOH03H9EH50H03COH=FO) (78H28H12)f ODHB4H03DOH=04H12H06H82H 75H33H03EOH=12H06H25HF5H30HE5H03FOH= 33)1 12H061(82H85H29)(0400H=06H25HF5 H29HAF)! 28H0410H=12H06H25H85H26H83H 0420H=26H12)(ODHBCH80HDE)f0430H=51H7 8H12H0D)(74)f 80H0440)(=12H00)(74)[8 0H04H12H0450H=90H40H07HE5H26HF’0H048 0H=12HEAH02H13HA2H031(0490H=07HAEH80 M 03812H07H04AO)(=7EH2BH8FH26H8ΣH27H 04BOH=80)(04H12H0A)(83)(22)f04COH=12 H06HO珪F5H30H75)[04DOH=101(92H08H31H4 DH12H04EOH=67HC2HOOH22HA2)f 02H04FOH =OOH92HOIH74H021(F5H060708090A OB QC OD OE OF口 ’ 06H82)(75H33HOOH12H06)[82H22H75H13 3HOOH12H06H82H75H33HOOH12H06H112H06H 25HF5H29HAFH28HAEH29H74H16H12H06H25) [85H26H83H85H27H82H78H26)(12HODH肛:)( 80HDEW 22H75H33H01H12H06H82)? 75H33H OOH12H06H82H30H22H75H33H05H12H06)[82 )(85H28H33H12)(06H82H12H06H25HF5H28H 12)IAE)129H74HOOHBFHOOH03H9EH50H16H8 5H27)[82HFO)178)(28H12HODHEAH78H22H8 5H27H31)F 85H28H32H85H31H26H04H12HOA R89)[22H85H32H26H51H78HOAR8DH22822H7 4H02H90H4ΩH06HFOHA3HE5)[27HFOH75H89H OIHブ5H8CH0OH22HE5H12HEAHOIH13HA2H03H 92H09H05H12)t 07)(88H801(03H12H07H75 HE5H92HOAHA2H03)[92HOCR30H03H05H12H9 B)(22H85H28812H85H81HIIH7FI 0DH91)f  4AHC3H92H03)(91H67H121(ODH74H75H26)( 01H51)178H12HODH74H80H19H33HOOH12H06 HCEHB2)[10H31H51)(A2H28)f 91H98HA2HO OH92H03H91H67H75H0510H=221(75H26HOIH 51H78M0520H−C2H02HC3H92HOAR92809H053 01(=OEH92HOFHC2HB5)(C2HBIH0540H=EOHF 5)130)(A2HBOH92H0DH0550)[=30HC2HB5HC 2HBIH12HOB!(0560H=12H07H62890M 00810 HEOH0570)(=OOHOOHEAHFOH90HOOH00H0580 )[−07翼75H12)(0789BHA2HIIH0590H=OFHA2 HOFHB3HB3H501(23H05AOH−27851H2FH12HO DH74H80H05BOH=()II 02H80H03HC3H80801 H05COH−ODH74H80H34)[12HOAR83)(05DOH− 80HOIHC3H92HOEM 75)133H05EOH−EAH90)f  003(02HEAHFO)430M05FOH−06H74HIOH90H OOM OIHFOH0600H=50H41H54H41H56H41H65 )(0610H=ODHIOH20HIIM ODH20HBOH0620H= B3H22H74800H22H30HBOH0630H=BOHFDHE5H 90HC2H83M 22H0640H−C2HA5HC2HBIH20HA7 HFDH0650H=22)[20HOAH03)[74)(00H22H06 60H−FDHE5HδOHC2HB5HC2HA5H0670H=10M 2 0M BOHFDH85H33H90H5H 0H 2H 06BOH=30HA7HFDH22H20H0A)I 01)[0H 3H C3H92H0B)(92HOCHC2HODHC3H92H90HOOHOO HEOHF5H30H90H00)[00HA2HODH92HIIH90HO OHOOHEOHF5HF8)(30H0D)f 05H12H07)t 4F H80HO3HF5M 30H90HOOH20HEO)(F5)[30H90 HEOH54H06)f EAH06)[02HC2H02H12HB3H50 H05112H00)f 5FH80H30HC2H7F)(04H7EHEA H8F)127H8EH28H9LH15H12HOAH83HC2HIOHE 5H2CHB4HD3H92H08H31H51)(22H80)[C2H12 H12H06M OFH30HEO)[02H80H03HC3H00H12H 06H9AH75H33HOIH12H06M!1H08H74H12H90H OOHOIHFOH80H22H12H09H04H41)[48H411(4 C)[4LH41)(67H41H68M 41H6F)141H71)[20 HFDHE5H90HC2HB3H30HBOHFDHC2HFDH75H90 HFF)t C2HA5)I C2HB3H20H20H09H03H74H■ H22H75H80HFTHE5HBOHC2HBIHC2HA!iH30HA 7HFDH75H80)I FFHC21(A5HC2HB5H20HB4H3 01(EAHFDH22H20)f ODH13H20HIIHC2H83M  30HBOHFDH75H90HFFH021(85H33H90HC2HB3 H20HBOHFDH75HBO)(FT)H22H20)(09HOIH22 H30HA7HBl)t 20HA7HFDH75H80HFFI(C2HBl )f22H30HEAHFDH85H33H80HC2H15HFFHB2)[ B5)1308 B11(FDH22H20m(0紐DIM EAH22H30 HEAHFD)! 301(ム7HFARADDR: oo 01 02 03  0406EOH=85H33H80)(D2HA5H06FOH=80HFF Hf)2HBIHD2H0700H=78H05HE2H30HEIH0710 H=E2HFC)f 78HIOHE2H0720)(=78H21HE5H3 3HF2H0730H=F2H22H78H05HE2H0740H(社)CH 78H05HE2H30H0750H=01HE2H44H22HF2H076 0)(=F2H22H78HOIHE2H0770H=E2H54HDDHF2 H22H0780H=F2H78HOIHF2)[54H0790H=E2H5 4HFBHF2)(78H07AOH=F2)(78H00)i E2H44) t07BOH=E2H44H20)I F2H78H07COH=22H78H OIHF2)[44)(07DOH=E2H54HFBHF2H22H07EO H=EFHF2H22H78H01)[07FOH=22H78HOIHE5H 33H0800H=33HF2H22878H02H0810H=00HE2H A2HE2H92H0820)(=OOHE2HC2H12)(20)[083 0H=D2H12HA2)! 12H22H0840M=22H78HOOHF 2H22H0850H=B3H92H12H22)t 90H0860)[=0 8HE2HFO)(A3m(08H0870H=A3H08HE2HFOHA3 H0880H=FOHA3H08HE2HFOH0890H=78HOOHEO )f F2HA3)(05060708090A OB QC000E 0FC 2)[Bl)(C2HB5H20HB4HFDH20HA7HFAR75HB5 )(30HB4HFD)(30HA7HFAH22H30)f ODH4DHF CH78HIIHE5H33HF2H22H78H05HE2H30HF5M  33HF5H30H22H78H05HE2H30HFBHFCH22H78H 05)(E2H30HFBHFCH78H22HE5H33H30HFBHFC )(78H−22HF5)[33HF2H22H30H0D)(FAH!”CH 781(20)I E2HF5H33H22H80)t FEW 78H788 00HE2H44H01M F2H78HOIHE2H54)[DFH44H2 0HF2H78HOOHE2H54)I FEW F2H78HOIH,78H OIHE2H44H20HF2)t 78HOOHE2H44H04HDF)( F2H22H78801HE2H44H20HF2H78H0OH01)[E2 H54)(DFHF2H22)(78HOIHE2H44H20H: 02HF 2H78)[01HE2H54HDFHF2H22H78)(01H: 00) (E2H54HFDHF2H78H01)(E2H54HDF)(F2H: O IHF2H22H78)(01HE2H54HFEW F、2)f フ8)[0 2H: 78HOIHE2H44HIOHF2H22H78HOIHF2)t  54)f: E2H44H04HF2H22H78H01)[E2H54HFB HF2H: E2H22H78H01)f E2HF5H33H22H78H0 2HE5H: E2HF5H33)(22H78H05HF2)I F51(3 3H22H78H: 12H22H78H001E2HA2HELM 92H1 2H22)t 78H: EIH03H021(08H32H20)[E2H0 3H02H08H32Hi 78H02)(F2)(A2)t FAH22H7 8H02)(E2HA2)[E5H[78H05HE2H30M FBHFC) [78H24HE2HA2)[E5H! 4EHOOH78HOOHE2HF( )HA3H08HE2HFOHA3Hf E2HFOHA3H78HIOHE2 HFOHA3)t 08HE2HFOH[78H20)(E2HFOHA3H0 8HE2HFOI(A3H08HE2H[A3H08HE2HFO)[A2H1 2H92H13H90H4EHOOH[08)f FO)(F21(A3808 )[EOHF2HA3H08HEOHF2)f08AOH=A3H78m(10 )(E2HEO)(08BOH=A2H13)(74)[FFH50H08CO H=EO)(F2HA3H08HEOH08DOH=75H26H45)t 1 2H03HF2HA3H08HEOHF2HA3HO♂)[EOHF2H78H 21H02H74HOOHF2HA3H78)f 20HEOHF2HA3H0 8HF2HA3H08HEOHF2H751(26H43H12H03H7CH 7CH22H75H26H52H12H03H7CH75H26H45HADD R: oo 01 02 03 040A60H=33HFFH12H07HI AHOA70H=06H85H2EH33H12)rOA80H=30H2CH 22HC2H08HOA90H=30H08H03H12H07HOAAOH= 01HC3HEBH82H0BHOABOH=80HOIHC3HH3)[82 )(OACO)[=12H07H75HA2H0CROADOH=33H12H 06H6BHA2HOAEOH=ODHAI)(22H51)183HOAFO H=30H12H06851)(A2HOBOOH=08H41)f 30)E  OBH08HOB10H=30HOCH08H12)(08HOB20H=3 3H12H06H6BH22HOB30H=50H03H75H2C)[OOH OB40M=12H06HCE)[22M 12HOB50H=B3H50H0 3H75H2C)tOB60H=33H12H06H6B)E 22HOB70 H=08HEBH50H03M 75HOB80H=06)L CEH85H2 FH33HOB90H−37HF5)t 2EH12)(06HOBAOH=5 0H03H75H2C)(0OHOBBO)(=85H2FH33H12H06 HOBCOH−AEHQC)[7DHOFH7CHOBDOH=85HOCR8 2HE5H2CHOBEOH=81H4DH75H801(FF)IOBFOH 冨04HF2H12H0D)(4EHOCOOH=FF)[A3HFOHDAJ (FCH05060708090A OB QCOD OE OF: 30)t  ODH05)(12H07H3EHF5H2FH22H30HODH’ 06 HFDH12H07HOCHF5H30)(30H08H03H85H’ 22 HC2H08H22H85H2CH31H22H85H2CH32H4FH12 H06H37H30HEOH02H80H03HC3)f 80H’ 92H0 9H12H06H51H30HEOH02H80H03)t C3HOCH92 H0A)I 12H08H41HA2HOBHEBH50H03HB3H50H 03812)f 07H9BHE4HA2H08H33HF5H08H72)t  IIH92)(ODH30H08H05H78H31H12H12H06H3 7HA2)10BHEBHFFHE4H33H4FHF5)fOCHEBHFF HH4)133H4FH55H30HF5H30H12H12H08H0F)i  EBH92H09)[80H03H12H07H75H17HH3)192H 0A)(80H03H12H07H9BH85H30H51H86H22H12 H06HOFHF5H2DHA2H08HB3H78H27H12)(ODHA IM 85HEOH30H85H30H33H06)f 37HF5H2DH1 2H06H51HF5H31HA2H08H00H78H27H12HODHA IH85HEOH30H85)[30)112H06HOFHF’5H2D)( 12H06HOFHF5H2EHA2H2CHOOH78H27H12HODH Al)(85H2EH33H12H12H06HCEH22812H06H37 HF5H2DH12)t 06H51HF5H31H12H’06H51HF5 )132HA2H08K B3H78H27H12HODHAIH85H2EH 33H12H06H6BH6BH22H^2H08)(H3)(50H02H8 0H18HAFH0BHFFHEEHC3H9C)(EFH9DH40H09H 85HOBH83HFOH78HOBH12HODHBC)(22H75HDO HOOH75H75H90HFFH75HBOHFFH75HAOHBFHE4 H78H02H05HICH74HOOH90H3FHFF’H7BH40H7 AHr)FIM F8)1 7g)f Oフ)[H2)1 30HH2)(03 M 12HQC)[8CHOC10H=90H40HOOH74H01)10C 20H=EOHF5H20)100H12HOC30)[=AIH80)(FE W C2HAOHOC40H=23HF5)[82HC8HFO)tC2H00 HFOHF5)130HEOHB5H30)(0E)i 23H30HD2HO OH90H40HOIH80HEBH30H00)(04HC2H80HFEW  90H40HOOH74HOIH78)(01HC8H08HF5H30HE OHB5H30H3BH30HE7HFOH90HIOH浄書(内容に変更なし ) 特表千1−501261(42:) す1nロロへ 自J) +MIMDl受信 FIG、1l FIG、 +4 FIG、 13 FIG、 +7A オ17A8力゛ら FIG、17B FIG、 +9 昭和63年5月2日

Claims (10)

    【特許請求の範囲】
  1. 1.複数個の処理素子であり、おのおのは演算論理装置と、制御記憶装置と、プ ログラム順序と、命令デコーダとを含む処理装置と;前記処理装置と組み合わさ れる読出し/書込み記憶装置と; 前記処理装置および読出し/書込み記憶装置と組み合わされる入出力装置と、を 含む前記複数個の処理素子と; 木構造の極端におけるものを除く各処理素子が1つの親処理素子および少なくと も第1および第2の子処理素子に接続される2進木構造において前記処理素子を 相互接続する装置と; 記記入出力装置であり、 親処理素子から受信した情報を前記子処理素子に同報通信する装置と; 前記子処理素子から受信した情報および前記入出力装置と組み合わされる処理装 置ならびに読出し/書込み記憶装置から受信した情報と間の優先度を決定する装 置と、を含む前記入出力装置と; を有する並列処理装置アレイにおいて、前記2進木構造に接続された処理素子の 入出力装置け平均処理命令サイクルより少ないサイクル内で第1親処理素子から 最も遠く離れている前記木構造の子処理素子まで情報が同報通信され、かつ平均 処理命令サイクルより少ないサイクル内で各処理素子における情報間の優先度が 決定されるように共働することを特徴とする並列処理装置アレイ。
  2. 2.前記同報通信装置は 直列データ入力および前記処理装置に対する出力を持つレジスタと、 フリツプ・フロップと、 データ信号を前記直列データ入力および前記フリツプ・フロップに同時に加える 第1装置と、前記フリツプ・フロップからの信号を前記第1装置に加えてデータ 信号を第1および第2子処理素子に加える第2装置であり、それによつてデータ 信号はフリツプ・フロップによつて2進木構造に伝搬される前記第2装置と、を 含むことを特徴とする請求項1記載の装置。
  3. 3.レジスタが満杯であるときレジスタ満杯信号を発生させる装置と、 前記レジスタ満杯信号が発生されている間前記複数個の処理素子に対する追加デ ータの送信を不能にする装置と、 をさらに含むことを特徴とする請求項2記載の装置。
  4. 4.決定装置は 前記処理素子と組み合わされるデータを記憶する第1レジスタ、ならびに前記第 1および第2子処理素子と組み合わされるデータを記憶する第2および第3レジ スタと、 前記第1、第2および第3レジスタに記憶されたデータを比較して所定の優先度 にしたがい勝利データを選択する直列比較装置と、 前記勝利データを親処理素子にある前記第2または第3レジスタの1つに報告す る装置と、を含むことを特徴とする請求項1記載の装置。
  5. 5.勝利データとして選択されないデータを持つ各処理素子を使用不能にする装 置をさらに含み、その結果1つを除くすべての処理素子は勝利データが2進木構 造にある最終の処理素子に報告されるときまで使用不能にされる、ことを特徴と する請求項4記載の装置。
  6. 6.使用不能にされない処理素子によつて記憶された情報を2進木構造にある最 終の処理素子に報告する装置をさらに含む、ことを特徴とする請求項5記載の装 置。
  7. 7.2進木構造を補数個のサプ・ツリーに細分する装置をさらに含む、ことを特 徴とする請求項1記載の装置。
  8. 8.各サプ・ツリーは単一命令多重データ・モードで作動され、かつ複数個のサ プ・ツリーは多重命令多重データ・モードで作動される、ことを特徴とする請求 項7記載の装置。
  9. 9.同じプログラムは少なくとも2つのサプ・ツリーに記憶された同じデータで 実行され、かかるプログラムの結果はエラーを検出するために比較される、こと を特徴とする請求項7記載の装置。
  10. 10.データ処理素子の2進木構造を含むデータ処理装置であり、前記各データ 処理素子は処理ユニットと前記処理ユニットに結合されたインターフェース・ユ ニットとを有する前記データ処理装置において、前記インターフエー−ス・ユニ ットは前記2進木構造にある隣接する高位および低位のデータ処理素子のインタ ーフェース・ユニットからのデータを送受信するように結合されたレジスタを含 み、また前記処理ユニットは前記2進木構造にある隣接する高位および低位のデ ータ処理素子の処理ユニットのデータ通信端子からのデータを送受信するように 結合されたデータ通信端子を含む、ことを特徴とするデータ処理装置。
JP62505775A 1986-09-02 1987-08-27 2進木構造並列処理装置 Expired - Lifetime JP2763886B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US902,547 1986-09-02
US06/902,547 US4860201A (en) 1986-09-02 1986-09-02 Binary tree parallel processor

Publications (2)

Publication Number Publication Date
JPH01501261A true JPH01501261A (ja) 1989-04-27
JP2763886B2 JP2763886B2 (ja) 1998-06-11

Family

ID=25416008

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62505775A Expired - Lifetime JP2763886B2 (ja) 1986-09-02 1987-08-27 2進木構造並列処理装置

Country Status (9)

Country Link
US (1) US4860201A (ja)
EP (1) EP0279854B1 (ja)
JP (1) JP2763886B2 (ja)
KR (1) KR930009619B1 (ja)
AU (1) AU598425B2 (ja)
CA (1) CA1291828C (ja)
DE (1) DE3787886T2 (ja)
IL (1) IL83734A (ja)
WO (1) WO1988001771A1 (ja)

Families Citing this family (186)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4843540A (en) * 1986-09-02 1989-06-27 The Trustees Of Columbia University In The City Of New York Parallel processing method
US5040109A (en) * 1988-07-20 1991-08-13 Digital Equipment Corporation Efficient protocol for communicating between asychronous devices
US5020059A (en) * 1989-03-31 1991-05-28 At&T Bell Laboratories Reconfigurable signal processor
US5471622A (en) * 1989-10-04 1995-11-28 Paralogic, Inc. Run-time system having nodes for identifying parallel tasks in a logic program and searching for available nodes to execute the parallel tasks
US5522083A (en) * 1989-11-17 1996-05-28 Texas Instruments Incorporated Reconfigurable multi-processor operating in SIMD mode with one processor fetching instructions for use by remaining processors
US5537593A (en) * 1990-02-12 1996-07-16 Fmc Corporation Method for solving enumerative search problems using message passing on parallel computers
DE69031865T2 (de) * 1990-02-28 1998-08-06 Texas Instruments Inc Ein SIMD-Prozessor als digitales Filter
US5230047A (en) * 1990-04-16 1993-07-20 International Business Machines Corporation Method for balancing of distributed tree file structures in parallel computing systems to enable recovery after a failure
US5517626A (en) * 1990-05-07 1996-05-14 S3, Incorporated Open high speed bus for microcomputer system
US5280547A (en) * 1990-06-08 1994-01-18 Xerox Corporation Dense aggregative hierarhical techniques for data analysis
US5930765A (en) * 1990-06-15 1999-07-27 Martin; John R. Downloading method for songs and advertisements
US6970834B2 (en) * 1990-06-15 2005-11-29 Arachnid, Inc. Advertisement downloading computer jukebox
AU665521B2 (en) * 1990-10-03 1996-01-11 Thinking Machines Corporation Parallel computer system
US5765012A (en) * 1990-11-13 1998-06-09 International Business Machines Corporation Controller for a SIMD/MIMD array having an instruction sequencer utilizing a canned routine library
US5765011A (en) * 1990-11-13 1998-06-09 International Business Machines Corporation Parallel processing system having a synchronous SIMD processing with processing elements emulating SIMD operation using individual instruction streams
US5794059A (en) * 1990-11-13 1998-08-11 International Business Machines Corporation N-dimensional modified hypercube
US5630162A (en) * 1990-11-13 1997-05-13 International Business Machines Corporation Array processor dotted communication network based on H-DOTs
US5765015A (en) * 1990-11-13 1998-06-09 International Business Machines Corporation Slide network for an array processor
US5815723A (en) * 1990-11-13 1998-09-29 International Business Machines Corporation Picket autonomy on a SIMD machine
US5588152A (en) * 1990-11-13 1996-12-24 International Business Machines Corporation Advanced parallel processor including advanced support hardware
US5752067A (en) * 1990-11-13 1998-05-12 International Business Machines Corporation Fully scalable parallel processing system having asynchronous SIMD processing
US5828894A (en) * 1990-11-13 1998-10-27 International Business Machines Corporation Array processor having grouping of SIMD pickets
US5617577A (en) * 1990-11-13 1997-04-01 International Business Machines Corporation Advanced parallel array processor I/O connection
US5966528A (en) * 1990-11-13 1999-10-12 International Business Machines Corporation SIMD/MIMD array processor with vector processing
US5963745A (en) * 1990-11-13 1999-10-05 International Business Machines Corporation APAP I/O programmable router
US5590345A (en) * 1990-11-13 1996-12-31 International Business Machines Corporation Advanced parallel array processor(APAP)
US5809292A (en) * 1990-11-13 1998-09-15 International Business Machines Corporation Floating point for simid array machine
US5734921A (en) * 1990-11-13 1998-03-31 International Business Machines Corporation Advanced parallel array processor computer package
US5963746A (en) * 1990-11-13 1999-10-05 International Business Machines Corporation Fully distributed processing memory element
EP0485690B1 (en) * 1990-11-13 1999-05-26 International Business Machines Corporation Parallel associative processor system
US5625836A (en) * 1990-11-13 1997-04-29 International Business Machines Corporation SIMD/MIMD processing memory element (PME)
IE920032A1 (en) * 1991-01-11 1992-07-15 Marconi Gec Ltd Parallel processing apparatus
JP3047998B2 (ja) * 1991-02-13 2000-06-05 株式会社日立製作所 並列計算機におけるプロセッサ割り当て方法、及び装置
US5978831A (en) * 1991-03-07 1999-11-02 Lucent Technologies Inc. Synchronous multiprocessor using tasks directly proportional in size to the individual processors rates
US5321813A (en) 1991-05-01 1994-06-14 Teradata Corporation Reconfigurable, fault tolerant, multistage interconnect network and protocol
US5594918A (en) * 1991-05-13 1997-01-14 International Business Machines Corporation Parallel computer system providing multi-ported intelligent memory
US20080228517A1 (en) * 1992-03-06 2008-09-18 Martin John R Computer jukebox and jukebox network
US6047122A (en) * 1992-05-07 2000-04-04 Tm Patents, L.P. System for method for performing a context switch operation in a massively parallel computer system
JP2647330B2 (ja) * 1992-05-12 1997-08-27 インターナショナル・ビジネス・マシーンズ・コーポレイション 超並列コンピューティングシステム
JP2642039B2 (ja) * 1992-05-22 1997-08-20 インターナショナル・ビジネス・マシーンズ・コーポレイション アレイ・プロセッサ
US5394556A (en) * 1992-12-21 1995-02-28 Apple Computer, Inc. Method and apparatus for unique address assignment, node self-identification and topology mapping for a directed acyclic graph
JPH06208460A (ja) * 1993-01-11 1994-07-26 Hitachi Ltd マイクロプログラムメモリ制御方式
US5742806A (en) * 1994-01-31 1998-04-21 Sun Microsystems, Inc. Apparatus and method for decomposing database queries for database management system including multiprocessor digital data processing system
US5748780A (en) * 1994-04-07 1998-05-05 Stolfo; Salvatore J. Method and apparatus for imaging, image processing and data compression
US5615127A (en) * 1994-11-30 1997-03-25 International Business Machines Corporation Parallel execution of a complex task partitioned into a plurality of entities
US7334030B2 (en) * 1994-12-19 2008-02-19 Apple Inc. Method and apparatus for the addition and removal of nodes from a common interconnect
US5875301A (en) * 1994-12-19 1999-02-23 Apple Computer, Inc. Method and apparatus for the addition and removal of nodes from a common interconnect
US5748877A (en) * 1995-03-08 1998-05-05 Dell Usa, L.P. Method for executing embedded diagnostics from operating system-based applications
US5692184A (en) * 1995-05-09 1997-11-25 Intergraph Corporation Object relationship management system
US5794243A (en) * 1995-12-11 1998-08-11 International Business Machines Corporation Method and apparatus for executing a binary search in a data cache
WO2002029600A2 (de) 2000-10-06 2002-04-11 Pact Informationstechnologie Gmbh Zellenarordnung mit segmentierterwischenzellstruktur
US7266725B2 (en) 2001-09-03 2007-09-04 Pact Xpp Technologies Ag Method for debugging reconfigurable architectures
DE19651075A1 (de) 1996-12-09 1998-06-10 Pact Inf Tech Gmbh Einheit zur Verarbeitung von numerischen und logischen Operationen, zum Einsatz in Prozessoren (CPU's), Mehrrechnersystemen, Datenflußprozessoren (DFP's), digitalen Signal Prozessoren (DSP's) oder dergleichen
DE19654595A1 (de) 1996-12-20 1998-07-02 Pact Inf Tech Gmbh I0- und Speicherbussystem für DFPs sowie Bausteinen mit zwei- oder mehrdimensionaler programmierbaren Zellstrukturen
DE19654593A1 (de) 1996-12-20 1998-07-02 Pact Inf Tech Gmbh Umkonfigurierungs-Verfahren für programmierbare Bausteine zur Laufzeit
JP3961028B2 (ja) 1996-12-27 2007-08-15 ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト データフロープロセッサ(dfp)の自動的なダイナミックアンロード方法並びに2次元または3次元のプログラミング可能なセルストラクチャを有するモジュール(fpga,dpga等)
DE19654846A1 (de) 1996-12-27 1998-07-09 Pact Inf Tech Gmbh Verfahren zum selbständigen dynamischen Umladen von Datenflußprozessoren (DFPs) sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstrukturen (FPGAs, DPGAs, o. dgl.)
US6542998B1 (en) 1997-02-08 2003-04-01 Pact Gmbh Method of self-synchronization of configurable elements of a programmable module
DE19704728A1 (de) 1997-02-08 1998-08-13 Pact Inf Tech Gmbh Verfahren zur Selbstsynchronisation von konfigurierbaren Elementen eines programmierbaren Bausteines
DE19704742A1 (de) * 1997-02-11 1998-09-24 Pact Inf Tech Gmbh Internes Bussystem für DFPs, sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstrukturen, zur Bewältigung großer Datenmengen mit hohem Vernetzungsaufwand
US5937194A (en) * 1997-03-12 1999-08-10 International Business Machines Corporation Method of, system for, and article of manufacture for providing a generic reduction object for data parallelism
US5987255A (en) * 1997-03-12 1999-11-16 International Business Machines Corporation Method of, system for, and article of manufacture for providing a generic adaptor for converting from a sequential iterator to a pre-thread parallel iterator
US6237134B1 (en) 1997-03-12 2001-05-22 International Business Machines Corporation Method of, system for, and article of manufacture for providing a generic adaptor for converting from a non-future function pointer to a future function object
US5991764A (en) * 1997-03-12 1999-11-23 International Business Machines Corporation Data structure specifying differing fan-in tree and fan-out tree computation patterns supporting a generic reduction object for data parallelism
US8686549B2 (en) 2001-09-03 2014-04-01 Martin Vorbach Reconfigurable elements
US6000024A (en) * 1997-10-15 1999-12-07 Fifth Generation Computer Corporation Parallel computing system
DE19861088A1 (de) 1997-12-22 2000-02-10 Pact Inf Tech Gmbh Verfahren zur Reparatur von integrierten Schaltkreisen
DE19807872A1 (de) * 1998-02-25 1999-08-26 Pact Inf Tech Gmbh Verfahren zur Verwaltung von Konfigurationsdaten in Datenflußprozessoren sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstruktur (FPGAs, DPGAs, o. dgl.
NO984746D0 (no) * 1998-10-09 1998-10-09 Fast Search & Transfer Asa Digital prosesseringsenhet
NO309169B1 (no) 1998-11-13 2000-12-18 Interagon As Sokeprosessor
US6006259A (en) * 1998-11-20 1999-12-21 Network Alchemy, Inc. Method and apparatus for an internet protocol (IP) network clustering system
US7003660B2 (en) 2000-06-13 2006-02-21 Pact Xpp Technologies Ag Pipeline configuration unit protocols and communication
NO992269D0 (no) * 1999-05-10 1999-05-10 Fast Search & Transfer Asa S°kemotor med todimensjonalt skalerbart, parallell arkitektur
DE10081643D2 (de) 1999-06-10 2002-05-29 Pact Inf Tech Gmbh Sequenz-Partitionierung auf Zellstrukturen
US6973559B1 (en) * 1999-09-29 2005-12-06 Silicon Graphics, Inc. Scalable hypercube multiprocessor network for massive parallel processing
US6412002B1 (en) 1999-11-15 2002-06-25 Ncr Corporation Method and apparatus for selecting nodes in configuring massively parallel systems
US6745240B1 (en) 1999-11-15 2004-06-01 Ncr Corporation Method and apparatus for configuring massively parallel systems
US6418526B1 (en) 1999-11-15 2002-07-09 Ncr Corporation Method and apparatus for synchronizing nodes in massively parallel systems
US6519697B1 (en) 1999-11-15 2003-02-11 Ncr Corporation Method and apparatus for coordinating the configuration of massively parallel systems
US7089240B2 (en) * 2000-04-06 2006-08-08 International Business Machines Corporation Longest prefix match lookup using hash function
US8058899B2 (en) 2000-10-06 2011-11-15 Martin Vorbach Logic cell array and bus system
US6990555B2 (en) * 2001-01-09 2006-01-24 Pact Xpp Technologies Ag Method of hierarchical caching of configuration data having dataflow processors and modules having two- or multidimensional programmable cell structure (FPGAs, DPGAs, etc.)
EP1381959A4 (en) * 2001-02-24 2008-10-29 Ibm GLOBAL ARBORESCENT NETWORK FOR CALCULATION STRUCTURES
CA2437035C (en) 2001-02-24 2009-01-06 International Business Machines Corporation Global interrupt and barrier networks
US7581076B2 (en) 2001-03-05 2009-08-25 Pact Xpp Technologies Ag Methods and devices for treating and/or processing data
US7210129B2 (en) 2001-08-16 2007-04-24 Pact Xpp Technologies Ag Method for translating programs for reconfigurable architectures
US9037807B2 (en) 2001-03-05 2015-05-19 Pact Xpp Technologies Ag Processor arrangement on a chip including data processing, memory, and interface elements
US7844796B2 (en) 2001-03-05 2010-11-30 Martin Vorbach Data processing device and method
US7444531B2 (en) 2001-03-05 2008-10-28 Pact Xpp Technologies Ag Methods and devices for treating and processing data
WO2002103532A2 (de) 2001-06-20 2002-12-27 Pact Xpp Technologies Ag Verfahren zur bearbeitung von daten
GB0119146D0 (en) * 2001-08-06 2001-09-26 Nokia Corp Controlling processing networks
US7996827B2 (en) 2001-08-16 2011-08-09 Martin Vorbach Method for the translation of programs for reconfigurable architectures
US6957318B2 (en) * 2001-08-17 2005-10-18 Sun Microsystems, Inc. Method and apparatus for controlling a massively parallel processing environment
US7434191B2 (en) 2001-09-03 2008-10-07 Pact Xpp Technologies Ag Router
US8686475B2 (en) 2001-09-19 2014-04-01 Pact Xpp Technologies Ag Reconfigurable elements
US7577822B2 (en) 2001-12-14 2009-08-18 Pact Xpp Technologies Ag Parallel task operation in processor and reconfigurable coprocessor configured based on information in link list including termination information for synchronization
EP1483682A2 (de) 2002-01-19 2004-12-08 PACT XPP Technologies AG Reconfigurierbarer prozessor
EP1514193B1 (de) 2002-02-18 2008-07-23 PACT XPP Technologies AG Bussysteme und rekonfigurationsverfahren
US8914590B2 (en) 2002-08-07 2014-12-16 Pact Xpp Technologies Ag Data processing method and device
WO2004021176A2 (de) 2002-08-07 2004-03-11 Pact Xpp Technologies Ag Verfahren und vorrichtung zur datenverarbeitung
US7028122B2 (en) * 2002-08-07 2006-04-11 Sun Microsystems, Inc. System and method for processing node interrupt status in a network
US7657861B2 (en) 2002-08-07 2010-02-02 Pact Xpp Technologies Ag Method and device for processing data
US7251690B2 (en) * 2002-08-07 2007-07-31 Sun Microsystems, Inc. Method and system for reporting status over a communications link
JP4388895B2 (ja) 2002-09-06 2009-12-24 ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト リコンフィギュアラブルなシーケンサ構造
US6968335B2 (en) 2002-11-14 2005-11-22 Sesint, Inc. Method and system for parallel processing of database queries
US8676843B2 (en) * 2002-11-14 2014-03-18 LexiNexis Risk Data Management Inc. Failure recovery in a parallel-processing database system
US7240059B2 (en) * 2002-11-14 2007-07-03 Seisint, Inc. System and method for configuring a parallel-processing database system
US7945581B2 (en) * 2002-11-14 2011-05-17 Lexisnexis Risk Data Management, Inc. Global-results processing matrix for processing queries
US7185003B2 (en) * 2002-11-14 2007-02-27 Seisint, Inc. Query scheduling in a parallel-processing database system
US7293024B2 (en) * 2002-11-14 2007-11-06 Seisint, Inc. Method for sorting and distributing data among a plurality of nodes
US7912842B1 (en) 2003-02-04 2011-03-22 Lexisnexis Risk Data Management Inc. Method and system for processing and linking data records
US7720846B1 (en) 2003-02-04 2010-05-18 Lexisnexis Risk Data Management, Inc. System and method of using ghost identifiers in a database
US7657540B1 (en) 2003-02-04 2010-02-02 Seisint, Inc. Method and system for linking and delinking data records
US7403942B1 (en) 2003-02-04 2008-07-22 Seisint, Inc. Method and system for processing data records
US7155440B1 (en) * 2003-04-29 2006-12-26 Cadence Design Systems, Inc. Hierarchical data processing
EP1634182A2 (en) * 2003-06-17 2006-03-15 PACT XPP Technologies AG Data processing device and method
JP4700611B2 (ja) 2003-08-28 2011-06-15 ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト データ処理装置およびデータ処理方法
WO2005024644A2 (en) * 2003-09-09 2005-03-17 Koninklijke Philips Electronics N.V. Integrated data processing circuit with a plurality of programmable processors
US7451133B2 (en) * 2003-12-16 2008-11-11 Oracle International Corporation Executing nested subqueries of parallel table functions in the parallel single cursor model
US7958160B2 (en) * 2003-12-16 2011-06-07 Oracle International Corporation Executing filter subqueries using a parallel single cursor model
US8086645B2 (en) * 2003-12-16 2011-12-27 Oracle International Corporation Compilation and processing a parallel single cursor model
US7685095B2 (en) * 2003-12-16 2010-03-23 Oracle International Corporation Executing a parallel single cursor model
US7340452B2 (en) * 2003-12-16 2008-03-04 Oracle International Corporation Parallel single cursor model on multiple-server configurations
JP2006215816A (ja) * 2005-02-03 2006-08-17 Fujitsu Ltd 情報処理システムおよび情報処理システムの制御方法
CA2597692A1 (en) 2005-04-21 2006-11-02 Violin Memory, Inc. Interconnection system
US8112655B2 (en) * 2005-04-21 2012-02-07 Violin Memory, Inc. Mesosynchronous data bus apparatus and method of data transmission
US9582449B2 (en) 2005-04-21 2017-02-28 Violin Memory, Inc. Interconnection system
US9384818B2 (en) * 2005-04-21 2016-07-05 Violin Memory Memory power management
US8452929B2 (en) 2005-04-21 2013-05-28 Violin Memory Inc. Method and system for storage of data in non-volatile media
US9286198B2 (en) 2005-04-21 2016-03-15 Violin Memory Method and system for storage of data in non-volatile media
US8789021B2 (en) * 2005-06-30 2014-07-22 International Business Machines Corporation Method and apparatus for object-oriented load testing of computing systems
US7475056B2 (en) * 2005-08-11 2009-01-06 Oracle International Corporation Query processing in a parallel single cursor model on multi-instance configurations, using hints
WO2007050244A2 (en) 2005-10-27 2007-05-03 Georgia Tech Research Corporation Method and system for detecting and responding to attacking networks
US8250503B2 (en) 2006-01-18 2012-08-21 Martin Vorbach Hardware definition method including determining whether to implement a function as hardware or software
US8516444B2 (en) 2006-02-23 2013-08-20 International Business Machines Corporation Debugging a high performance computing program
US7697443B2 (en) * 2006-04-13 2010-04-13 International Business Machines Corporation Locating hardware faults in a parallel computer
US7796527B2 (en) * 2006-04-13 2010-09-14 International Business Machines Corporation Computer hardware fault administration
US20070242611A1 (en) * 2006-04-13 2007-10-18 Archer Charles J Computer Hardware Fault Diagnosis
US7779016B2 (en) * 2006-09-14 2010-08-17 International Business Machines Corporation Parallel execution of operations for a partitioned binary radix tree on a parallel computer
US8028186B2 (en) 2006-10-23 2011-09-27 Violin Memory, Inc. Skew management in an interconnection system
US8713582B2 (en) * 2006-10-26 2014-04-29 International Business Machines Corporation Providing policy-based operating system services in an operating system on a computing system
US8032899B2 (en) 2006-10-26 2011-10-04 International Business Machines Corporation Providing policy-based operating system services in a hypervisor on a computing system
US8656448B2 (en) * 2006-10-26 2014-02-18 International Business Machines Corporation Providing policy-based application services to an application running on a computing system
US9330230B2 (en) * 2007-04-19 2016-05-03 International Business Machines Corporation Validating a cabling topology in a distributed computing system
US8296430B2 (en) 2007-06-18 2012-10-23 International Business Machines Corporation Administering an epoch initiated for remote memory access
US7958274B2 (en) * 2007-06-18 2011-06-07 International Business Machines Corporation Heuristic status polling
US7831866B2 (en) * 2007-08-02 2010-11-09 International Business Machines Corporation Link failure detection in a parallel computer
US8233402B2 (en) * 2007-09-20 2012-07-31 At&T Intellectual Property Ii, L.P. Multicast-based inference of temporal loss characteristics in packet data networks
US20090080339A1 (en) * 2007-09-20 2009-03-26 Nicholas Geoffrey Duffield Multicast-based inference of temporal delay characteristics in packet data networks
US8218811B2 (en) 2007-09-28 2012-07-10 Uti Limited Partnership Method and system for video interaction based on motion swarms
US9065839B2 (en) 2007-10-02 2015-06-23 International Business Machines Corporation Minimally buffered data transfers between nodes in a data communications network
US7984450B2 (en) * 2007-11-28 2011-07-19 International Business Machines Corporation Dispatching packets on a global combining network of a parallel computer
US8266168B2 (en) 2008-04-24 2012-09-11 Lexisnexis Risk & Information Analytics Group Inc. Database systems and methods for linking records and entity representations with sufficiently high confidence
US8484211B2 (en) * 2008-07-02 2013-07-09 Lexisnexis Risk Solutions Fl Inc. Batch entity representation identification using field match templates
WO2010011813A1 (en) * 2008-07-23 2010-01-28 Alkermes, Inc. Complex of trospium and pharmaceutical compositions thereof
US7895260B2 (en) * 2008-07-28 2011-02-22 International Business Machines Corporation Processing data access requests among a plurality of compute nodes
US10027688B2 (en) * 2008-08-11 2018-07-17 Damballa, Inc. Method and system for detecting malicious and/or botnet-related domain names
US8755515B1 (en) 2008-09-29 2014-06-17 Wai Wu Parallel signal processing system and method
US9411859B2 (en) 2009-12-14 2016-08-09 Lexisnexis Risk Solutions Fl Inc External linking based on hierarchical level weightings
US8504875B2 (en) * 2009-12-28 2013-08-06 International Business Machines Corporation Debugging module to load error decoding logic from firmware and to execute logic in response to an error
US8578497B2 (en) 2010-01-06 2013-11-05 Damballa, Inc. Method and system for detecting malware
US8826438B2 (en) 2010-01-19 2014-09-02 Damballa, Inc. Method and system for network-based detecting of malware from behavioral clustering
US8365186B2 (en) 2010-04-14 2013-01-29 International Business Machines Corporation Runtime optimization of an application executing on a parallel computer
US8504730B2 (en) 2010-07-30 2013-08-06 International Business Machines Corporation Administering connection identifiers for collective operations in a parallel computer
US9189505B2 (en) 2010-08-09 2015-11-17 Lexisnexis Risk Data Management, Inc. System of and method for entity representation splitting without the need for human interaction
US9516058B2 (en) 2010-08-10 2016-12-06 Damballa, Inc. Method and system for determining whether domain names are legitimate or malicious
US8565120B2 (en) 2011-01-05 2013-10-22 International Business Machines Corporation Locality mapping in a distributed processing system
US9317637B2 (en) 2011-01-14 2016-04-19 International Business Machines Corporation Distributed hardware device simulation
US8631489B2 (en) 2011-02-01 2014-01-14 Damballa, Inc. Method and system for detecting malicious domain names at an upper DNS hierarchy
US8689228B2 (en) 2011-07-19 2014-04-01 International Business Machines Corporation Identifying data communications algorithms of all other tasks in a single collective operation in a distributed processing system
US9250948B2 (en) 2011-09-13 2016-02-02 International Business Machines Corporation Establishing a group of endpoints in a parallel computer
US10547674B2 (en) 2012-08-27 2020-01-28 Help/Systems, Llc Methods and systems for network flow analysis
US10084806B2 (en) 2012-08-31 2018-09-25 Damballa, Inc. Traffic simulation to identify malicious activity
US9166994B2 (en) 2012-08-31 2015-10-20 Damballa, Inc. Automation discovery to identify malicious activity
US9680861B2 (en) 2012-08-31 2017-06-13 Damballa, Inc. Historical analysis to identify malicious activity
US9894088B2 (en) 2012-08-31 2018-02-13 Damballa, Inc. Data mining to identify malicious activity
US9571511B2 (en) 2013-06-14 2017-02-14 Damballa, Inc. Systems and methods for traffic classification
US9552327B2 (en) 2015-01-29 2017-01-24 Knuedge Incorporated Memory controller for a network on a chip device
US10061531B2 (en) 2015-01-29 2018-08-28 Knuedge Incorporated Uniform system wide addressing for a computing system
US20160224398A1 (en) * 2015-01-29 2016-08-04 Intellisis Corporation Synchronization in a Multi-Processor Computing System
US9930065B2 (en) 2015-03-25 2018-03-27 University Of Georgia Research Foundation, Inc. Measuring, categorizing, and/or mitigating malware distribution paths
EP3093773B1 (en) * 2015-05-13 2019-07-10 Huawei Technologies Co., Ltd. System and method for creating selective snapshots of a database
US10027583B2 (en) 2016-03-22 2018-07-17 Knuedge Incorporated Chained packet sequences in a network on a chip architecture
US10346049B2 (en) 2016-04-29 2019-07-09 Friday Harbor Llc Distributed contiguous reads in a network on a chip architecture
CN109960186B (zh) * 2017-12-25 2022-01-07 紫石能源有限公司 控制流程的处理方法、装置、电子设备和存储介质
US11693832B2 (en) * 2018-03-15 2023-07-04 Vmware, Inc. Flattening of hierarchical data into a relational schema in a computing system

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4101960A (en) * 1977-03-29 1978-07-18 Burroughs Corporation Scientific processor
US4247892A (en) * 1978-10-12 1981-01-27 Lawrence Patrick N Arrays of machines such as computers
US4251861A (en) * 1978-10-27 1981-02-17 Mago Gyula A Cellular network of processors
DE2920994A1 (de) * 1979-05-23 1980-11-27 Siemens Ag Datensende/-empfangseinrichtung mit parallel/seriell- und seriell/parallel- zeichenumsetzung, insbesondere zum datenaustausch zwischen kommunizierenden datenverarbeitungsanlagen
US4345309A (en) * 1980-01-28 1982-08-17 Digital Equipment Corporation Relating to cached multiprocessor system with pipeline timing
US4435758A (en) * 1980-03-10 1984-03-06 International Business Machines Corporation Method for conditional branch execution in SIMD vector processors
US4344134A (en) * 1980-06-30 1982-08-10 Burroughs Corporation Partitionable parallel processor
US4445171A (en) * 1981-04-01 1984-04-24 Teradata Corporation Data processing systems and methods
US4412285A (en) * 1981-04-01 1983-10-25 Teradata Corporation Multiprocessor intercommunication system and method
US4583164A (en) * 1981-08-19 1986-04-15 Tolle Donald M Syntactically self-structuring cellular computer
US4466060A (en) * 1982-02-11 1984-08-14 At&T Bell Telephone Laboratories, Incorporated Message routing in a computer network
DE3215080A1 (de) * 1982-04-22 1983-10-27 Siemens AG, 1000 Berlin und 8000 München Anordnung zur kopplung von digitalen verarbeitungseinheiten
US4622632A (en) * 1982-08-18 1986-11-11 Board Of Regents, University Of Washington Data processing system having a pyramidal array of processors

Also Published As

Publication number Publication date
EP0279854B1 (en) 1993-10-20
IL83734A0 (en) 1988-02-29
JP2763886B2 (ja) 1998-06-11
EP0279854A1 (en) 1988-08-31
CA1291828C (en) 1991-11-05
IL83734A (en) 1991-06-10
EP0279854A4 (en) 1990-01-26
KR880701918A (ko) 1988-11-07
DE3787886D1 (de) 1993-11-25
WO1988001771A1 (en) 1988-03-10
AU8032887A (en) 1988-03-24
US4860201A (en) 1989-08-22
DE3787886T2 (de) 1994-04-14
AU598425B2 (en) 1990-06-21
KR930009619B1 (ko) 1993-10-07

Similar Documents

Publication Publication Date Title
JPH01501261A (ja) 2進木構造並列処理装置
Dusseau et al. Fast parallel sorting under LogP: Experience with the CM-5
US5434995A (en) Barrier synchronization for distributed memory massively parallel processing systems
EP0760939B1 (en) Apparatus and method for event correlation and problem reporting
US7783627B2 (en) Database retrieval with a unique key search on a parallel computer system
Tong et al. Vote assignments in weighted voting mechanisms
US5517656A (en) Multicomputer system and method
JPH04267466A (ja) 連想並列処理システム
JPS6359626A (ja) データベース検索方法
CN102999406A (zh) 从硬件故障模式的增强转储数据收集的方法和系统
US20180285424A1 (en) Disjunctive rule mining with finite automaton hardware
EP3108388A1 (en) System and method for column-specific materialization scheduling
Rosenkrantz et al. Improved bounds for algorithm-based fault tolerance
Somani Sequential fault occurrence and reconfiguration in system level diagnosis
US11244156B1 (en) Locality-sensitive hashing to clean and normalize text logs
Gauld Metrisability of manifolds
Patterson Direction-Optimizing Breadth-First Search
WO1996014617A1 (en) Multicomputer system and method
JP2753228B2 (ja) データ処理装置
Kiefer et al. Algorithmic probabilistic game semantics: Playing games with automata
Zhang et al. Achieving up to zero communication delay in BSP-based graph processing via vertex categorization
Charpentier The DELPHI Fastbus Data Acquisition System
Bertossi et al. A gracefully degradable VLSI system for linear programming
Liang Reduction of collisions in Bloom filters during distributed query optimization.
Akl et al. Pipelined search on coarse grained networks

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080327

Year of fee payment: 10