JP2562845B2 - メッシュプロセッサアレー - Google Patents

メッシュプロセッサアレー

Info

Publication number
JP2562845B2
JP2562845B2 JP2199369A JP19936990A JP2562845B2 JP 2562845 B2 JP2562845 B2 JP 2562845B2 JP 2199369 A JP2199369 A JP 2199369A JP 19936990 A JP19936990 A JP 19936990A JP 2562845 B2 JP2562845 B2 JP 2562845B2
Authority
JP
Japan
Prior art keywords
processor
output
bit
processors
input
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP2199369A
Other languages
English (en)
Other versions
JPH0370064A (ja
Inventor
マルコム.エー.マム
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Raytheon Co
Original Assignee
Hughes Aircraft Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hughes Aircraft Co filed Critical Hughes Aircraft Co
Publication of JPH0370064A publication Critical patent/JPH0370064A/ja
Application granted granted Critical
Publication of JP2562845B2 publication Critical patent/JP2562845B2/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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Multi Processors (AREA)
  • Computer And Data Communications (AREA)
  • Memory System (AREA)
  • Executing Machine-Instructions (AREA)
  • Logic Circuits (AREA)

Description

【発明の詳細な説明】 [産業上の利用分野] この発明は広義にはメッシュプロセッシングアレーに
関し、狭義には1ビットメッシュプロセッサーと、1ビ
ットプロセッサーを用いたメッシュプロセサーアレーア
ーキテクチャーとに関する。
[従来の技術] メッシュプロセッシングアレーはパラレルプロセッシ
ングの一形態であり、ほぼ同一のメッシュプロセッサー
が格子状に相互に接続されて、例えば、縦の列と横の列
とを形成している。各プロセッサーは隣接したプロセッ
サーに接続されて、例えば、縦横それぞれ最大で4個並
べられる。データの入出力は格子アレーの周辺部に配置
されたプロセッサーを介して行なわれる。一般に、各プ
ロセッサーは制御信号(例えば、制御ワード又は演算コ
ード)を並列受信し、並列にクロックされる。
公知のメッシュプロセッサーアレーとしては、NCR45C
G72アレープロセッサーやAMTDAPアレープロセッサーを
例示できる。
公知のメッシュプロセッサーアレーにとっては、プロ
セッサーセル毎の記憶装置(メモリー)の配置が重要で
ある。記憶装置は僅かの用途を除いて容量が不十分であ
る(例えば、128ビット)。大容量メモリーの要求は、
複数個の実プロセッサーセルからなる仮想プロセッサー
セルの使用により満たされている。しかしながら、仮想
セルメモリーは実セルメモリーサイズの整数倍なのでメ
モリーの浪費になる。
また、公知のメッシュプロセッサーアレーには僅かの
時間しか用いられず、有効利用されない特別の機能ユニ
ットや他の特別のハードウエアを使用しなければならな
いという問題がある。
即ち、大容量メモリーと特別のハードウエアの結果、
公知のプロセッサーアレーは巨大になり、高速クロック
で作動することができない。
[発明が解決しようとする課題] この発明の課題は、構成が簡単で、メッシュプロセッ
サーアレー内で効果的に機能するメッシュプロセッサー
を提供することである。
この発明の別の課題は、高速でクロックするメッシュ
プロセッサー及びアレーを提供することである。
この発明の更に別の課題は、コンピューターとしての
融通性の高いメッシュプロセッサー及びアレーを提供す
ることである。
この発明の更に別の課題は、メモリーを効率良く利用
するメッシュプロセッサー及びアレーを提供することで
ある。
[課題を解決するための手段、作用、及び発明の効果] 以上の課題は、マトリックス状に配置された複数個の
1ビットプロセッサーを有するこの発明のメッシュプロ
セッサーアレーにより達成される。各プロセッサーは隣
接プロセッサー又は外部ソースから入力を受信して、そ
れ自体の現在の出力及びそれに向かう入力を含む論理機
能を実行する。制御回路は実施すべき論理機能を表示す
る制御情報を各プロセッサーに並列に提供し、選択回路
は制御情報に応ずべきプロセッサーを選択する。
[実施例] 以下、図面を参照してこの発明を詳細に説明する。
尚、以下の説明及び図面では同一素子には同一参照符号
を付して説明の繰り返しを避けた。
第1図は、メッシュプロセッサーアレー10のブロック
図である。メッシュプロセッサーアレー10は、1セルプ
ロセッサーがM個の縦列及びN個の横列からなる格子状
に並べられたプロセッサーアレー30を制御する制御装置
20を有している。制御装置20は、Kビット演算コードIN
STをアレー30の各プロセッサーに供給する。制御装置20
は、縦列パターンワードCSELECTを縦列選択回路40に提
供し、横列パターンワードRSELECTを横列選択回路50に
提供する。Lをゼロ以上とするとき、L個の予め決めら
れたプロセッサーの出力(OUT)が制御装置20に供給さ
れる。そのような出力は、データ依存アルゴリズムと共
に都合良く利用されて演算コードINSTの内容が制御され
る。
縦列選択回路40はM個の1ビット縦列選択出力Ciを供
給する。各選択出力はi番目の縦の列の全プロセッサー
に接続されている。横列選択回路50はN個の1ビット横
列選択回路Rjを供給する。各選択出力はj番目の横の列
の全プロセッサーに接続されている。具体例として、縦
列パターンワードCSELECTはどの縦列選択出力Ciが活動
しているかを特定し、横列パターンワードRSELECTはど
の横列出力Rjが活動しているかを特定する。縦列選択回
路40及び横列選択回路50は、縦列及び横列の両パターン
の現状を記憶して、記憶したパターン情報に基づき他の
プロセッサーのアドレッシング手順を提供する内部メモ
リーを有するように構成できる。
第2図により詳しく示したように、プロセッサーアレ
ー30は、1セルプロセッサーPi,jをM×N個有してい
る。各プロセッサーPi,jは1個のデータを出力し、
N、S、E、Wの符号の付いた4個の入力端子を介して
最高4個のデータを入力する。符号N、S、E、Wをそ
れぞれ方位の北、南、東、西に対応し、入力先を示すの
に用いる。Nは上方、Sは下方、Eは右、Wは左の各プ
ロセッサーからの入力を示す。
各プロセッサーは、それ自体の現在の出力や、それ自
体の受信する全入力か一部の入力などが関与する論理機
能を果たすように構成されている。オペランド及び論理
機能は演算コードINSTにより決まる。
個々のプロセッサーの入力をより詳細に述べる。アレ
ーの周囲に配置されたプロセッサー以外のプロセッサー
は、いずれも四方の隣接プロセッサーからの出力を4個
の入力として受信する。アレーの四隅を除く周囲に配置
されたプロセッサーは、いずれも三方の隣接プロセッサ
ーからの出力を3個の入力として受信し、この他に1個
の外部入力を受信する。アレーの四隅に配置されたプロ
セッサーは、隣接する2辺のそれぞれの隣に配置された
プロセッサーからの出力を2個の入力として受信し、こ
の他に2個の外部入力を受信する。
外部入力はアレーの北、南、東、西のそれぞれの縁に
配置されたプロセッサーに供給される。ここでi=1,
M、j=1,Nとすると、このような縁の入力はそれぞれ
Ni、Si、Ej、Wjとして表示することができる。先に述べ
たように、プロセッサーの配列は縦の列がM個、横の列
がN個ある。外部入力はアレーの縁N、S、E、Wに関
連付けられた入力レジスターNR、SR、ER、WRを便宜的に
利用できる。この概要については第1図を参照された
い。
アレーへの外部入力を文字Sと、プロセッサーPi,j
の出力Si,jの指定に従った下付き文字とで表示すると
(例えば、外部入力をあたかもプロセッサーの更に別の
縦の列又は横の列として扱う)、アレーへの入力を次の
ように表示することができる。
北:Ni=Si,j、 但し、i=1,M、j=N+1 南:Si=Si,j 但し、i=1,M、j=0 東:Ej=Si,j 但し、i=N+1、j=1,N 西:Wj=Si,j 但し、i=0、j=1,N 各プロセッサーPi,jの出力Si,jは4か所まで、即
ち、四方の隣接プロセッサーへの入力又は外部出力とし
て連結することができる。従って、プロセッサーアレー
の周辺部のプロセッサーを除く各プロセッサーの出力
は、四方の隣接プロセッサーの各々に入力として供給さ
れる。隅ではない周辺部に配置された各プロセッサーの
出力は、三方の隣接プロセッサーの各々に入力として供
給され、一つが外部出力として用いられる。アレーの隅
に配置された各々のプロセッサーの出力は、二方の隣接
するプロセッサーの各々に入力として供給され、二つが
外部出力として用いられる。
外部出力はアレーの北、南、東、西の縁に位置するプ
ロセッサーにより供給される。それぞれのプロセッサー
をNOUTi、SOUTi、EOUTj、WOUTjと表示する。ここで、i
=1,M、j=1,Nとする。先に規定したように、プロセッ
サーはM個の縦の列とN個の横の列からなる。外部出力
は、プロセッサーアレーのN、S、E、Wの端に関連し
た出力レジスターNOUTR、SOUTR、EOUTR、WOUTRに便宜的
に供給される。
説明を容易にするために、プロセッサーアレーの隅の
出力はいずれも同一とする。従って、例えば、NOUTMとE
OUTNとはいずれもプロセッサーPM,Nにより供給される
ので、同一である。プロセッサーアレーの出力は別様に
編成することができるが、その場合でも縦の列と横の列
の編成は変わらない。
プロセッサーアレーの出力はプロセッサーアレーの端
のプロセッサーの出力であり、アレーの出力は次のよう
に表示することができる。
北:NOUTi=Si,j、 但し、i=1,M、j=N 南:SOUTi=Si,j、 但し、i=1,M、j=1 東:EOUTj=Si,j 但し、i=M、j=1,N 西:WOUTj=Si,j 但し、i=1、j=1,N プロセッサーアレーへの入出力は四隅で行うことがで
きるが、総べての入出力を使用する必要はない。例え
ば、北の端に配列されているプロセッサー用の入力レジ
スターNRとして入力レジスターを1個、南の端に配列さ
れているプロセッサー用の出力レジスターSOUTRとして
出力レジスターを1個、それぞれ用いることもできる。
各端の入出力の説明は、メッシュプロセッサーアレーの
一般的なアーキテクチャーの例である。
第2図に示すように、各プロセッサーPi,jは縦列選
択信号Ciを受信する縦列選択入力Cと、横列選択信号Rj
を受信する横列選択入力Rとを有している。先に述べた
ように、縦列選択信号Ciは縦列選択回路40から供給さ
れ、横列選択回路Rjは横列選択回路50から供給される。
各プロセッサーは、制御装置20からのKビット演算コー
ドINSTを受信するKビット幅の入力Iを有している。
アレーのプロセッサーは相互に同期して並列に作動す
る。クロックは縦列横列選択信号により提供される。縦
列横列選択信号は所定のクロックサイクルでどのプロセ
ッサーを活動させるのかをも決定する。特に、プロセッ
サーPi,jは、縦列横列選択信号Ci及びRjが共に有効で
あるときに、選択されて活動する。プロセッサーPi,j
が活動すると、1ビット出力Si,jの状態が演算コード
ワードINSTに従って変化する。さもなければ、出力の状
態は変化しない。
先に指摘したように、各プロセッサーは各プロセッサ
ーの現在の出力や、各プロセッサーの全入力又は一部が
関与した論理機能を果たすように構成されている。これ
から述べる例では、プロセッサーは現在の状態及び選択
された入力が関与した2オペランドの論理演算を実行す
る。
2オペランドプロセッサーの例では、演算コードワー
ドINSTは、(a)プロセッサーの出力の現在の状態を第
1オペランドとして用いている論理演算において、どの
入力を第2オペランドとして用いるか、及び(b)実行
すべき論理演算を両者を規定する。論理演算は所定のプ
ロセッサーPi,jの現在の状態の入力及び出力に基づい
て実行される。各プロセッサーは1ビットデータ入力を
4個受信するので、演算コードワードINST内の2ビット
指示フィールドによりどのデータ入力が第2オペランド
であるかが定義される。残りの演算コードワードINSTは
実行すべき論理演算を定義付ける演算フィールドであ
る。例えば、4ビット演算フィールド(K=6)で16通
りの論理演算を定義することができる。最初の2ビット
I1、I2が指示フィールドで、残りの4ビットI3、I4
I5、I6が演算フィールドである演算コードを一例として
挙げる。
2ビット指示フィールド及び4ビット演算フィールド
の具体例として、次の表IはI2を最下位ビット、I1を最
上位ビットとするとき、選択されたプロセッサーPi,j
に用いられる第2オペランドとして指示フィールドの値
に従って選択される入力を示している。表Iはプロセッ
サーの入力(N、S、E、W)及びPi,jを基準とする
アレー内の入力発生位置により選択された入力を特に示
している。先に述べたように、選択された入力は外部入
力のこともある。
表I 指示フィールド 選択された入力 入力源 00 E Si+1,j 01 N Si,j+1 10 W Si,j−1 11 S Si−1,j 次の表IIは、第2オペランドとして選択されたプロセ
ッサーへの入力をB、I6を最下位ビット、I3を最上位ビ
ットとするとき、演算コードの演算フィールドの異なる
値により表される論理演算の例を示す。
(XORは排他的ORの機能を示す。) 選択されて活動する各プロセッサーPi,j(即ち、Ci
及びRjが共に有効)の新しい出力S′i,jは、Fを表II
に従って演算コードの演算フィールドにより規定される
論理機能、Si,jをプロセッサーPi,jの現在の出力及び
第1オペランド、Bを表Iに基づいて演算コードの指示
フィールドに従ってプロセッサーへの入力から選択され
た第2オペランドとするとき、次のように規定される。
S′i,j=F(Si,j,B) 第3図は、2ビットの指示(選択)フィールド及び4
ビットの演算フィールドを有する先に述べた6ビット演
算コードを用いるプロセッサーPi,jの概略構成図であ
る。プロセッサーPi,jはクロックされる1ビットメモ
リーセル111を有している。このメモリーセルは、例え
ば、D型フリップフロップで形成することができる。1
ビットメモリーセル用のクロック入力は、縦列及び横列
選択信号Ci,Rjに応答するANDゲート113により提供され
る。論理回路115はメモリーセル111の出力、演算コード
ワードINST、及びプロセッサーへの4つの入力に応答す
る。論理ユニット115の出力は、(a)メモリーセル111
の出力及び(b)プロセッサーへの諸々の入力の内の一
つからなる2オペランドを用いて実行される2オペラン
ドの論理演算の結果である。
第4図は、論理回路115と1ビットメモリーセル111と
で構成された第3図のプロセッサーPi,jの概略図であ
る。論理回路115は特に4対1マルチプレクサー211を有
している。マルチプレクサー211は、演算コードワードI
NSTの指示フィールドの2ビットのI1、I2を選択入力と
して受信する。マルチプレクサー211に入力される4つ
のデータは、プロセッサーのN、S、E、W入力により
供給される。マルチプレクサー211の出力はN、S、
E、W入力のいずれか一つであり、第2オペランドBで
ある。
論理回路110は更に別の4対1マルチプレクサー213を
有している。マルチプレクサー213はメモリーセル111の
出力Si,j及びマルチブレクサー211の出力Bを入力とし
て受信する。マルチプレクサー213に入力されるデータ
は、演算コードワードINSTの演算フィールドの4ビット
のI3、I4、I5、I6である。マルチプレクサーの出力は、
1ビットメモリーセル111を有しクロックされているD
型フリップフロップ213のD入力に供給される。
第4図のプロセッサー内の4対1マルチプレクサー21
1及び213として使用することのできるマルチプレクサー
100を第5図に示す。マルチプレクサー100は、補足
C1′、C2′を提供する選択信号C1、C2に応答する第1及
び第2のインバータ311、313を有している。選択信号C1
は3入力ANDゲート315、317への入力として供給され、
補足選択信号C1′は3入力ANDゲート319、321に供給さ
れる。選択信号C2はANDゲート315、319の入力として供
給され、補足選択信号C2′はANDゲート317、321への入
力として供給される。ANDゲート315、317、319、321へ
の別の入力は、それぞれデータ入力D1、D2、D3、D4によ
り供給される。
マルチプレクサー211として用いる場合には、指示フ
ィールドビットI1、I2がそれぞれ選択入力C1、C2として
供給され、プロセッサー入力S、N、W、Eがそれぞれ
データ入力D1、D2、D3、D4として供給される。マルチプ
レクサーへのこれらの特別の入力は、第5図に括弧書き
して表示されており、表Iに記載した演算を提供する。
マルチプレクサー211の出力は第2オペランドBであ
る。
マルチプレクサー213として用いる場合には、オペラ
ンドSi,j及びBがそれぞれ選択入力C1、C2として供給
され、演算コードの演算フィールドビットI6、I5、I4
I3がそれぞれデータ入力D1、D2、D3、D4として供給され
る。マルチプレクサーへの特別の入力は、第5図に括弧
書きして表示されており、表IIに記載した演算を提供す
る。本質的に、異なる演算用の演算フィールドビットパ
ターンは、当該演算用の真理表を有している。マルチプ
レクサー213の出力はプロセッサーの新しい状態であ
り、プロセッサー1ビットセルが選択されると、選択さ
れたプロセッサーの1ビットセル内に格納される。
縦列及び横列回路を介したプロセッサーPi,jの特別
のクロックをどうするかは、プロセッサーの具体化に基
づいて決まる。従って、クロックされたD型フリップフ
ロップメモリーセルの例では、演算コード及び外部入力
が有効になった後にのみ縦列及び横列選択信号が活動状
態に変化するように制御される(即ち、演算コードワー
ドがクロックサイクルの初期に提供される)。従って、
選択された縦列及び横列選択信号がクロックサイクル毎
に一旦活動状態に変化し、次に非活動状態に変化する。
このように、プロセッサーの新しい状態は、プロセッサ
ーの現在の出力が関与した論理機能に影響しない。
明瞭に示してはいないが、プロセッサーPi,jの出力
i,jの初期化をどうするかは、プロセッサーの具体化
に基づいて決まる。クロックされたD型フリップフロッ
プメモリーセルの場合、出力は別個の制御ライン(図示
せず)又は選択されたプロセッサーの出力を論理1又は
0(例えば、高電圧又は低電圧)にする演算コードの規
定によりプリセット又はクリアーされる。
クロッキングと初期化は以上に説明した通りであり、
メッシュプロセッサーの一般的演算は次の通りである。
プロセッサーは初期化されて(例えば、プリセット、ク
リアー、リセット、セットされて)、外部データが入力
データレジスターを介して供給される。また、演算コー
ドワード、縦列選択ワードCSELECT、及び横列選択ワー
ドが制御装置20により供給される。すると、選択された
プロセッサーが縦列及び横列選択信号Ci、Riによりクロ
ックされる。次に外部データ、演算コードワード、縦列
選択ワード、横列選択ワードの供給手続きが繰り返さ
れ、縦列及び横列選択信号Ci,Rjを介した適切なクロッ
キングが後に続く。プロセッサーアレーの出力は、例え
ば、出力レジスターに供給される。
先に述べた通り、縦列及び横列選択信号により選択さ
れたプロセッサーだけがクロックされ、演算コード及び
オペランドの状態に基づいて出力状態を変化させる。選
択されていないプロセッサーの出力状態は変化しない。
第6A図ないし第6M図を参照して、表I及び表IIに示し
た機能を果たすプロセッサーを有する縦3列横3列のプ
ロセッサーアレーについて、アレーの横の列の最上部の
列及び中央部の列に格納されている標識の付されていな
い3ビットバイナリー整数X,Yの加算を例にして説明す
る。尚、最下位ビットは右端である(即ち、縦の列3に
横の各列の最下位ビットが位置する)。バイナリー整数
X,Yが次のようにして横の列3及び2にロードされる。
即ち、Xをアレーの最上列の入力レジスターにロードし
て、レジスターの内容を横の列3の各プロセッサーにコ
ピーし、Yを入力レジスターにロードして、横の列3の
プロセッサーの内容を横の列2にコピーし、入力レジス
ターの内容を横の列3にコピーする。
横の列3及び2のそれぞれの整数X,Yが例えば第6A図
に示すように整数2及び3であるときを初期状態として
開始されて、次の表IIIに示した工程を経てアレーの横
の列1に合計(8を法としたA+B)が明示される。
(XORは排他的ORの機能を示す。) 以上は、効率の良いプロセッサーセルを使用し、高速
でクロックでき、計算上のフレキシビリティーがあり、
メモリーを効率良く使用するメッシュプロセッサーアレ
ーの開示である。アレーアーキテクチャーは規定された
同期ロジックを、例えば、規定された同期ロジックの特
定の論理機能に基づく一連の適切な指示に従って、直ぐ
に効率良く実現することができる。ここに開示したプロ
セッサーアレーのフレキシビリティーにより、特定の論
理機能の実施は、例えば、論理最小化技法により、より
効率良く、より早い処理を提供することができる。ここ
に開示したプロセッサーアレーのフレキシビリティーを
示す特別の例として、例えば、この発明のマルチプルビ
ットセルをマルチプルビットメモリーセル毎に一纏めに
すれば、プロセッサーセル毎のメモリーの数の多いパラ
レルプロセッサーアレー用の現存するアルゴリズムをこ
こに開示したプロセッサーアレーに組み込むことができ
る。
以上にこの発明の特別の実施例を説明したが、当業者
であれば特許請求の範囲に規定したこの発明の趣旨及び
範囲を逸脱せずにこの発明を様々に修正又は変更するこ
とができる。
【図面の簡単な説明】
第1図はこの発明に基づくメッシュプロセッサーアレー
のブロック図、 第2図は第1図のメッシュプロセッサーアレーのプロセ
ッサー相互の接続関係を示すブロック図、 第3図はこの発明に基づくメッシュプロセッサーの一般
的な回路の概略図、 第4図は第3図のメッシュプロセッサーを具体化した回
路の概略図、 第5図は第4図の回路のマルチプレクサーを具体化した
回路の概略図、そして 第6A図ないし第6M図は第4図及び第5図に示したプロセ
ッサーを有するメッシュプロセッサーアレーで8を法と
する加算の工程の例を示す概略図である。 10……メッシュプロセッサーアレー、20……制御装置、
30……プロセッサーアレー、40……縦列選択回路、50…
…横列選択回路、100……マルチプレクサー、111……1
ビットメモリーセル、113……ANDゲート、115……論理
回路、211、213……4対1マルチプレクサー、311、313
……インバーター、315、317、319、321……ANDゲート
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 昭63−147256(JP,A) 英国特許1536933(GB,A) 欧州特許公開223690(EP,A2) 電子情報通信学会論文誌VOL.71− D NO.8 AUGUST1988P. 1399−1406「2次元アレープロセッサ (AAP2)とプログラミング言語」近 藤利夫、杉山 吉、中島孝利

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】列及び行のマトリックス状に配置されて、
    それぞれが1ビットの論理出力を提供する複数の1ビッ
    ト論理プロセッサと、 該プロセッサの各々に並列に制御ワードを提供し、かつ
    該プロセッサの選択された一つを示す選択信号を提供す
    るための制御手段と、 該プロセッサの選択された一つを該制御ワードに応答可
    能とするために該選択信号に応答する列選択回路及び行
    選択回路とから構成され、 前記1ビット論理プロセッサは、 (i)1ビットデータを記憶し、かつ該1ビットデータ
    をプロセッサの出力として提供するようにクロックされ
    たフリップフロップで成る、クロックされたメモリ装置
    と、 (ii)該制御ワード、該プロセッサの出力及び隣接する
    プロセッサの1ビット論理出力を含む1ビット論理入力
    に応答して、該制御ワードによって定義された該論理信
    号入力と該プロセッサ出力とを含んだ論理関数の結果で
    ある論理出力を該メモリ手段に提供し、かつ(a)該プ
    ロセッサ出力と(b)該論理入力の一つの論理演算の結
    果である論理出力を提供するようにされた論理手段とで
    構成され、 前記列及び行のマトリックス状に配置されている複数の
    プロセッサは、 (i)隅を除くマトリックスの周縁にある各プロセッサ
    の1ビット論理入力は1の外部の1ビット入力論理信号
    を含み、 (ii)隅にある各プロセッサの1ビット論理入力は2の
    外部の1ビット入力論理信号を含み、 (iii)マトリックスの周縁を除く各プロセッサへの1
    ビット論理入力は直交して隣接するプロセッサの1ビッ
    ト論理出力だけが含まれるようにされており、プロセッ
    サアレイへの論理入力が該マトリックスの周辺にあるプ
    ロセッサに提供され、 プロセッサアレイの出力が該マトリックスの周辺にある
    プロセッサによって提供される構成をとるメッシュプロ
    セッサアレー。
JP2199369A 1989-07-28 1990-07-30 メッシュプロセッサアレー Expired - Lifetime JP2562845B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US38693389A 1989-07-28 1989-07-28
US386,933 1989-07-28

Publications (2)

Publication Number Publication Date
JPH0370064A JPH0370064A (ja) 1991-03-26
JP2562845B2 true JP2562845B2 (ja) 1996-12-11

Family

ID=23527699

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2199369A Expired - Lifetime JP2562845B2 (ja) 1989-07-28 1990-07-30 メッシュプロセッサアレー

Country Status (7)

Country Link
US (1) US5379444A (ja)
EP (1) EP0410435A3 (ja)
JP (1) JP2562845B2 (ja)
KR (1) KR940000293B1 (ja)
AU (1) AU624524B2 (ja)
CA (1) CA2021192A1 (ja)
IL (1) IL95192A (ja)

Families Citing this family (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5692135A (en) * 1995-12-14 1997-11-25 International Business Machines Corporation Method and system for performing an asymmetric bus arbitration protocol within a data processing system
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
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.)
EP1329816B1 (de) * 1996-12-27 2011-06-22 Richter, Thomas Verfahren zum selbständigen dynamischen Umladen von Datenflussprozessoren (DFPs) sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstrukturen (FPGAs, DPGAs, o.dgl.)
DE19704728A1 (de) * 1997-02-08 1998-08-13 Pact Inf Tech Gmbh Verfahren zur Selbstsynchronisation von konfigurierbaren Elementen eines programmierbaren Bausteines
US6542998B1 (en) 1997-02-08 2003-04-01 Pact Gmbh Method of self-synchronization of configurable elements of a programmable module
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
US8686549B2 (en) 2001-09-03 2014-04-01 Martin Vorbach Reconfigurable elements
DE19861088A1 (de) * 1997-12-22 2000-02-10 Pact Inf Tech Gmbh Verfahren zur Reparatur von integrierten Schaltkreisen
US6067609A (en) * 1998-04-09 2000-05-23 Teranex, Inc. Pattern generation and shift plane operations for a mesh connected computer
FR2778764B1 (fr) * 1998-05-15 2001-01-05 France Etat Procede de commande d'un reseau de processeurs
US6161161A (en) * 1999-01-08 2000-12-12 Cisco Technology, Inc. System and method for coupling a local bus to a peripheral component interconnect (PCI) bus
JP2003505753A (ja) 1999-06-10 2003-02-12 ペーアーツェーテー インフォルマツィオーンステヒノロギー ゲゼルシャフト ミット ベシュレンクテル ハフツング セル構造におけるシーケンス分割方法
US6578133B1 (en) * 2000-02-24 2003-06-10 Stanley M. Hyduke MIMD array of single bit processors for processing logic equations in strict sequential order
EP2226732A3 (de) * 2000-06-13 2016-04-06 PACT XPP Technologies AG Cachehierarchie für einen Multicore-Prozessor
US20040015899A1 (en) * 2000-10-06 2004-01-22 Frank May Method for processing data
US8058899B2 (en) * 2000-10-06 2011-11-15 Martin Vorbach Logic cell array and bus system
US7595659B2 (en) 2000-10-09 2009-09-29 Pact Xpp Technologies Ag 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.)
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
WO2005045692A2 (en) * 2003-08-28 2005-05-19 Pact Xpp Technologies Ag Data processing device and method
US20090210653A1 (en) * 2001-03-05 2009-08-20 Pact Xpp Technologies Ag Method and device for treating and processing data
US20090300262A1 (en) * 2001-03-05 2009-12-03 Martin Vorbach Methods and devices for treating and/or processing data
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
US9037807B2 (en) * 2001-03-05 2015-05-19 Pact Xpp Technologies Ag Processor arrangement on a chip including data processing, memory, and interface elements
AU2002347560A1 (en) * 2001-06-20 2003-01-02 Pact Xpp Technologies Ag Data processing method
US7996827B2 (en) 2001-08-16 2011-08-09 Martin Vorbach Method for the translation of programs for reconfigurable architectures
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
US7376811B2 (en) * 2001-11-06 2008-05-20 Netxen, Inc. Method and apparatus for performing computations and operations on data using data steering
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
WO2003071418A2 (en) * 2002-01-18 2003-08-28 Pact Xpp Technologies Ag Method and device for partitioning large computer programs
DE10392560D2 (de) * 2002-01-19 2005-05-12 Pact Xpp Technologies Ag Reconfigurierbarer Prozessor
AU2003214003A1 (en) 2002-02-18 2003-09-09 Pact Xpp Technologies Ag Bus systems and method for reconfiguration
US8914590B2 (en) * 2002-08-07 2014-12-16 Pact Xpp Technologies Ag Data processing method and device
US20070011433A1 (en) * 2003-04-04 2007-01-11 Martin Vorbach Method and device for data processing
WO2003081454A2 (de) * 2002-03-21 2003-10-02 Pact Xpp Technologies Ag Verfahren und vorrichtung zur datenverarbeitung
US7657861B2 (en) * 2002-08-07 2010-02-02 Pact Xpp Technologies Ag Method and device for processing data
WO2004021176A2 (de) * 2002-08-07 2004-03-11 Pact Xpp Technologies Ag Verfahren und vorrichtung zur datenverarbeitung
US20110238948A1 (en) * 2002-08-07 2011-09-29 Martin Vorbach Method and device for coupling a data processing unit and a data processing array
WO2004038599A1 (de) 2002-09-06 2004-05-06 Pact Xpp Technologies Ag Rekonfigurierbare sequenzerstruktur
DE602004024995D1 (de) * 2003-05-23 2010-02-25 Nippon Telegraph & Telephone Parallelverarbeitungseinrichtung und parallelverarbeitungsverfahren
US20090031104A1 (en) * 2005-02-07 2009-01-29 Martin Vorbach Low Latency Massive Parallel Data Processing Device
US7281942B2 (en) * 2005-11-18 2007-10-16 Ideal Industries, Inc. Releasable wire connector
JP2009524134A (ja) 2006-01-18 2009-06-25 ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト ハードウェア定義方法
US8656143B2 (en) * 2006-03-13 2014-02-18 Laurence H. Cooke Variable clocked heterogeneous serial array processor
US20070226455A1 (en) * 2006-03-13 2007-09-27 Cooke Laurence H Variable clocked heterogeneous serial array processor

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3699534A (en) * 1970-12-15 1972-10-17 Us Navy Cellular arithmetic array
GB1536933A (en) * 1977-03-16 1978-12-29 Int Computers Ltd Array processors
US4380046A (en) * 1979-05-21 1983-04-12 Nasa Massively parallel processor computer
US4314349A (en) * 1979-12-31 1982-02-02 Goodyear Aerospace Corporation Processing element for parallel array processors
US4498134A (en) * 1982-01-26 1985-02-05 Hughes Aircraft Company Segregator functional plane for use in a modular array processor
US4507748A (en) * 1982-08-02 1985-03-26 International Telephone And Telegraph Corporation Associative processor with variable length fast multiply capability
US4739474A (en) * 1983-03-10 1988-04-19 Martin Marietta Corporation Geometric-arithmetic parallel processor
US4709327A (en) * 1983-05-31 1987-11-24 Hillis W Daniel Parallel processor/memory circuit
GB8517376D0 (en) * 1985-07-09 1985-08-14 Jesshope C R Processor array
CN1012297B (zh) * 1985-11-13 1991-04-03 奥尔凯托N·V公司 具有内部单元控制和处理的阵列结构
US4907148A (en) * 1985-11-13 1990-03-06 Alcatel U.S.A. Corp. Cellular array processor with individual cell-level data-dependent cell control and multiport input memory

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
電子情報通信学会論文誌VOL.71−D NO.8 AUGUST1988P.1399−1406「2次元アレープロセッサ(AAP2)とプログラミング言語」近藤利夫、杉山 吉、中島孝利

Also Published As

Publication number Publication date
KR910003515A (ko) 1991-02-27
KR940000293B1 (ko) 1994-01-14
AU5993090A (en) 1991-01-31
US5379444A (en) 1995-01-03
CA2021192A1 (en) 1991-01-29
JPH0370064A (ja) 1991-03-26
EP0410435A3 (en) 1992-02-26
IL95192A0 (en) 1991-06-10
AU624524B2 (en) 1992-06-11
IL95192A (en) 1994-02-27
EP0410435A2 (en) 1991-01-30

Similar Documents

Publication Publication Date Title
JP2562845B2 (ja) メッシュプロセッサアレー
EP0334844B1 (en) Virtual processor techniques in a multiprocessor array
US5175862A (en) Method and apparatus for a special purpose arithmetic boolean unit
US4739474A (en) Geometric-arithmetic parallel processor
US5410727A (en) Input/output system for a massively parallel, single instruction, multiple data (SIMD) computer providing for the simultaneous transfer of data between a host computer input/output system and all SIMD memory devices
US5421019A (en) Parallel data processor
US3979728A (en) Array processors
US4215401A (en) Cellular digital array processor
AU2001245761B2 (en) Enhanced memory algorithmic processor architecture for multiprocessor computer systems
US5179714A (en) Parallel bit serial data processor
US20020133688A1 (en) SIMD/MIMD processing on a reconfigurable array
US7617383B2 (en) Circular register arrays of a computer
CA2142407A1 (en) Re-configurable application specific device
WO1995004402A1 (en) Microprocessor-based fpga
GB2122781A (en) Multimicroprocessor systems
US20050024983A1 (en) Providing a register file memory with local addressing in a SIMD parallel processor
US7263543B2 (en) Method for manipulating data in a group of processing elements to transpose the data using a memory stack
CN105009106A (zh) 可重配置指令单元阵列的并行配置
US5572198A (en) Method and apparatus for routing in reduced switch matrices to provide one hundred percent coverage
US3665409A (en) Signal translator
CN105531932A (zh) 可重配置指令单元阵列的串行配置
US20200334037A1 (en) Per-lane dynamic indexing in temporary registers
EP0226103A2 (en) Address generation for cellular array processors
JPH0553898A (ja) 機能メモリ
GB2393278A (en) Transposing data in an array of processing elements by shifting data diagonally