JPS63501530A - メモリをリンクしたウエ−ブフロント・アレイ・プロセッサ - Google Patents
メモリをリンクしたウエ−ブフロント・アレイ・プロセッサInfo
- Publication number
- JPS63501530A JPS63501530A JP61505584A JP50558486A JPS63501530A JP S63501530 A JPS63501530 A JP S63501530A JP 61505584 A JP61505584 A JP 61505584A JP 50558486 A JP50558486 A JP 50558486A JP S63501530 A JPS63501530 A JP S63501530A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- port
- dual
- processing
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
- G06F15/8046—Systolic arrays
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17356—Indirect interconnection networks
- G06F15/17368—Indirect interconnection networks non hierarchical topologies
- G06F15/17381—Two dimensional, 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)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Multi Processors (AREA)
- Complex Calculations (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるため要約のデータは記録されません。
Description
【発明の詳細な説明】
メモリをリンクしたウェーブフロント・プレイ・プロセッサ本発明(は広範囲の
超高速での信号処理、科学および技術の開明を計算するための独特のアーキテク
チャを有するアレイ・プロセッサに関する。特に、メモリをリンクしたウェーブ
フロント・ア1/イ・プロセッサ(MWAP)と称される本発明は、処理プレイ
内でグローバルな非同期通信を提供し、かつまた各処理エレメントのローカル/
データによる駆動の非同期制御を提供する計算アーキテクチャを備える。
2、従来技術の説明
今日の信号処理は高速の計算速度を必要とする。多くの場合、信号処理アルゴリ
ズムは直線的であるが、データ速度およびその後の処理は既存のコンピュータを
上廻ってしまうため、その結果、適用状態に限度があるか、あるいは計算時間が
長くならざるを得ない。エンジニアリングの分野においても、コンピュータ速度
を向上させ、かつコストを低減させる必要がある。流るシステム・シミュレーシ
ョンモ、通常、コンピュータ速度、メモリおよびコストに限度がある。その結果
、エンジニアリング設計においては基本現象のフルシミュレーションが可能でな
いことが多い。この問題は二重にらる。第1に1乃至2程度の大きさだけシステ
ムの計算速度を増加でせ、第2に多数の問題に適用可能なシステムを設計するこ
とである。
エイチ・ティー・クン/によシ紹介されたシストリック・アレイ(1979年1
月のPrac、 Ca1tech Conf、 VLSI の66−90頁の、
エイチ・ティー・クン/による「VLSI システムのアルゴリズムを設計しよ
う」を紗叩のこと)は、ローカル接続され、同じグローバル・クロックで同期作
動するプロセッサのアレイでおる。アルゴリズムはパルス化(シストリック・フ
ロー)要領で実行される。即ち、プロセッサのネットワークは周期的にデータを
計算してシステムを介してデータを伝達する。
シストリック・アレイはモジュラ性と、規則性と、ローカル接続性と、高度にパ
イプライン化され高度に同期化した多重処理性を有する。しかしながら、それは
グローバルな同期を必要とする。即ち、データ移動(dグローバルなタイミング
基準によシ制御される。シストリック・アレイのアクチビティを同期化させるよ
う正確なタイミングを保証するために、余分の遅延を用いることが多・ハ。プロ
セッサの大型アレイに対しては、全体の計算ネットワークの同期化は困難になシ
、あるいは不可能にリック・アレ、イはプログラムされず、各アルゴリズムは個
別で、明確なアレイ形状を必要とする。複雑さが増加すれば、シスト ゛リック
・アレイはアレイ形状を再形成するためにマトリックス・スイッチを用いて「ハ
ードウェア・プログラム化」できる。
いずれの場合も、シストリック・アレイは常に、計算アルゴリズムな物理的なプ
ロセッサ・エレメントに直接マクピングfることを要する。
第2の試みられた方法として、ウェーブフロント・アレイ・プロセッサはシスト
リック・アレイと同じ幾何構造を用いておシ、x、t、−ワイ・クング他(S、
Y、Kung et al)lcよる、1982年1月のマサチューセッツ州ケ
ンブリッジのMITのMIT Conf、 on Advanced Re5e
arch in VLSIノ「ウェーブフロント・アレイ・プロセッサ:アーキ
テクチャ、言語および応用」に全体的に記載されている。これは、データおよび
パラメータと共にコントロールがアレイを介して流れるという点で、シストリッ
ク・プレイと相違する。このようにローカル・データ・フローにローカル・コン
トロール・フローを追加することによシデータ駆動の自己調時処理を可能とする
。概念的には、正確な「タイミング」の要件が正確な「シーケンシング」に対す
る要件に代替される。
ウェーブフロント・プレイ・プロセッサにおける各プロセッサ・ニレメン) (
PE)は、各々の肩接するPEに対して独立した状態フラッグを備えた双方向性
−ζツファを有する。データの流れはPHの間で非同期的であって、PEの間で
制御トークンが送られてデータの利用可能性とデータの使用とを決定する。この
ため、シストリック・アレイのタイミングに対する厳しい要件を緩和させ、アル
ゴリズムの展開を簡素化すると共に、アルゴリズムおよび処理速度を速くさせる
ことが多い。このように、ウェーブフロント・プロセッサはウェーブ状にプロセ
ッサ間でコントロールとデータとを伝えるようにして演算を行うので、各プロセ
ッサがアルゴリズムにおける再帰(ステップ)を完成させると、一方のプロセッ
サから次のプロセッサに計算が流れる。
しかしながら、シストリックおよびウェーブフロント・アレイ・プロセッサは、
それらがローカルタイプの通信を必要とし、グローバルタイプの通信を扱うこと
ができない点で欠点がある。
その結果、ある種の有用なアルゴリズムは、従来技術によるシストリックおよび
ウェーブフロント・プロセッサを用いて計算することができない。例えば、高速
のフーリエ変換、FFTは以下の再帰公式(デシメーション・イン・タイム一定
幾何FFTアルゴリズム)を用いて計算される。
X(m+1.p)=X(m、p)+W(K、N) X(m、q)X(m−+−1
,q)=X(m、p)−W(K+N) X(m、q)ただしpと9とはステージ
によって変わる。このアルゴリズムの計算は、データ点の間の距離1p−qlが
ステージからステージへ増えるのでグローバル通信を必要とする。しかしながら
、シストリックおよび従来技術によるウェーブフロント・アレイ・プロセッサは
データ項目間の距離がプロセッサ(ステージ)からプロセッサヘ一定に留ること
を要する。このように、シストリックあるいはウェーブフロント・プロセッサは
前述の再帰公式を用いてFFTを計算するのには使用できなかった。
同様に、従来技術によるプレイプロセッサの計算能力と融通性とは、データがそ
れを受取る処理エレメントによシ使用されるべき順序で処理ユニットの間を通る
必要があるため限定される。従来技術のこの欠点により、ある種のアルゴリズム
の計算を困難かつ厄介としている。
発明の要約
メモリをリンクしたウェーブフロント・アレイ・プロセッサ(MWA P )と
称される本発明は、ウェーブフロント・プレイ・プロセッサがグローバルタイプ
の通信を扱えるようにする。プロセッサ・エレメント間にコントロール・フラッ
グを含む「スマート・メモリ」を挿入することにより、メモリをリンクしたウェ
ーブフロント・プレイ・プロセッサは従来技術で要求された厳密なローカル通信
に対する要求を緩和しているので、再帰公式を用いてFFTアルゴリズムの実行
を可能とする。また、本発明はデータが受信側処理エレメントによりて使用され
るべき順序でデータを処理エレメントの間で通すという従来技術の要件を緩和す
ることによりアレイ・プロセッサの通信能力と融通性とを拡大させる。
MWAPは広範囲の超高速の信号処理、科学および技術問題を計算しうる新規な
アレイ処理アーキテクチャを利用している。
最も一般化した形態において、本発明のMWAPアーキテクチャは、−組の特殊
目的のコントロール・フラッグを含む二重ポーだ、同一のプログラム可能処理エ
レメントのアレイを備える。
ネットワークでの全ての通信はこれらのリンキング・メモリ・エレメントを介し
て非同期的に行われる。処理エレメントと二重ホード・メモリ・リンキング・エ
レメントとの間の非同期的なハンドシェーキングを用いることにより、データ駆
動/ローカル・コントロールが得られる。非同期リンクを二重ホード・メモリ・
リンキング・エレメントまで移動させることによシ、シーケンス・コントロール
「トーク/」の使用を、各メモリ・リンキング・エレメントにおけるノ\−ドウ
エア・コントロール・フラッグにて代替させることができる。各処理エレメント
は同時の算術計算、2方向での通信、論理決定およびプログラム・コントロール
の修正ができる。
MWAP はモジュール性、規則性、ローカル接続性および高度にパイプライン
化したマルチプロセッシング性を有する。本明細書において追って、MWAP
アーキテクチャを用いたアルゴリズムの計算を典型的な従来技術によるシストリ
ックおよびウェーブフロント・アレイ・プロセッサに対して用いるものに対比し
て、MWAP アーキテクチャの独特の能力および特性を示すことにする。一般
的に、MWAP はほとんどのアルゴリズムに対してより高速の処理速度を提供
し、アレイプロセッサにおいて実行しうるアルd リズムの範囲を広げ、かつ従
来はよシ複雑な二次元の従来技術のシストリンクおよびウェーブフロント・アレ
イでのみ処理できた広範囲のアルゴリズムに対して単一の直線アレイ構成をプロ
グラムすることができるものとして示されている。
以下は本発明において見出される新規な特徴を部分的に列挙したものである。
本発明の第1の新規な特徴は、非同期性の二重ボート・メモリ・リンキング・エ
レメントを介して隣接する処理エレメントを相互に連結することにより、処理エ
レメントのアレイ内でグローバルな非同期通信を提供することである。
本発明の第2の新規な特徴は、データがそれを受取る処理エレメントによシ使用
されるべき順序に限定されない、いずれの希望する順序においても処理エレメン
ト間でデータを通すことができることである。
本発明の第3の新規な特徴は、アルゴリズムを計算する上で使用する係数やその
他の情報乃至データをアレイ・プロセッサの処理ステージの間で二重ポート・メ
モリ・リンキング・エレメントに記憶できることである。
本発明の第4の新規な特徴は、各処理エレメントのデータ駆動/ローカル・コン
トロールが各処理エレメントと、アレイにおいて隣接位置する二重ホード・メモ
リ・リンキング・エレメ本発明の第5の新規な特徴は、メモリ・リンキング・エ
レメントまで非同期リンクを移動させることにより、ソフトウェアの7−ケンス
・コントロール「トークン」乞、メモリ・リンキング・エレメントに位置するノ
・−ドウエア・コントロール・フラッグで代替できることである。
本発明の第6の新規な特徴は、隣接する二重ポート・メモリうとする場合1%定
の二重ポート・メモリ・リンキング・エレメントに隣接する別の処理エレメント
によシ前記メモリ位置に係るコントロール・フラッグがセットされてしまうまで
、特定の処理エレメントの処理演算が中断されることである。
本発明の第7の新規な特徴は、各々の特定の処理エレメントが内部の制御および
ノZス装置を有し、該装置が処理アレイにおける、隣接する二重ポート・メモリ
・リンキング・エレメントとの同時通信を可能とすることである。
本発明の第8の新規な特徴は、各処理エレメントが、同じ命令サイクルの間に直
線アレイにおいて、乗算、加算あるいは減算、その左側の隣接するメモリ・リン
キング・エレメントへの読取シ、書込み、およびその右側の隣接するメモリ・リ
ンキング・エレメントへの読取υあるいは書込みができることである。
本発明の第9の新規な特徴′は、データ及び計算が直線アレイにおいて右方ある
いは左方へ、二次元アレイにおいて左右上下に伝播できることである。
本発明の第10の新規な特徴はMWAP における各処理エレメントが各種のア
ルゴリズムン計算するために数種のプログラム・シーケンスを記憶でき、そのた
めアレイにおける種々の処理エレメントが種々の計算を実行でき、あるいは同じ
処理エレメントが計算サイクルの間で異なる時間に異なる計算を実行できること
である。
図面の簡単な説明
本発明を完全に理解するために、添付図を参啜して例示によシ本発明を以上説明
する。
第1図は従来技術によるアレイ・プロセッサの全体的なアーキテクチャを示し、
第1A図は直線アレイを示し、第1B図は3×3の四角のアレイを示し、
第2図は本発明が教示する、直線アレイのメモリをリンクしたウェーブフロント
・アレイ・プロセッサを示すグロック線図、第3図は本発明が教示するメモリを
リンクしたウェーブフロント・アレイ・プロセッサ用の二次元の幾何学的アレイ
構造を示すブロック線図、
第4図は直線MWAP アレイで使用される処理エレメントのブロック線図、
第5図は二次元のMWAP アレイに使用される処理エレメントのブロック線図
、
第6図はMWAP における典型的な処理エレメント用の内部レジスタおよびバ
ス装置を示す詳細ブロック線図、第7図は典型的なMWAP 処理エレメント用
のシーケンサのグロック線図、
第8図、−jMWAP アーキテクチャに用いられる二重ホード・メモリ・リン
キング・エレメントの内部構造を示すブロック線図。
第9図はMWAP用のFIRフィルタ処理シーケンスを示すフロー線図、
第10図は1−D伝熱式における多数の点を計算するためにMWAP データ・
ループ・バックの使用を示す図、第11図は1−D伝熱式における多数の点を同
期的に計算す次元のMWAP の使用を示す図、
第13図はフルマトリックス乗算のための従来技術による同報通信の使用を示す
図、
第14図はマトリックス乗算を計算するために従来技術による六角形に接続のシ
ストリック・アレイの使用を示す図、第15図はマトリックス乗算を計算するた
めに従来技術のウェーブフロント・プレイの使用を示す図、第16図は本発明が
教示するようにマトリックス乗算を計算すするために直線MWAP プレイの使
用を示す図、第17図は第16図に示す直線MWAP アレイを用いて3×3マ
トリックス乗算用の計算シーケンスを示すフロー線図、第18図は再帰公式を用
いてフーリエ変換ン計算するに必要なシャツプル交換を示す図、および
第19図は再帰公式乞用いてフーリエ変換を計算するためにMWAP が用いる
計算シーケンス7示す図である。
好適実施例の詳細説明
MWAPは処理ハードウェアおよびシステムのプログラム化との双方にモジュー
ル構造を用いている。システム・アーキテクチャは、直線処理アレイ、二次元の
処理アレイ、あるいはn次元の処理プレイ(nri数)により実行できる。(注
:MWAPはシストリック・アレイ・プロセッサのようにグローバル・クロック
を必要としないので、伝播遅延がアレイのサイズな制限することがない。)第2
図に示す基本的な直線MWAPアレイ・アーキテクチャは、二重ポート・メモリ
・リンキング・エレメント12に作動接続されたホスト・インタフニー゛スと、
”マルチ処理エレメント/二重ポート・メモリ・す°ンキ/グ・エレメントの
はア14と、およびホスト出力インタフェース16とから構成されている。二重
ポート・メモリ・リンキング・エレメントはメモリチップおるいは一組のレジス
タから構成すればよい。
各処理エレメントとその隣接する二重ポート・メモリ・リンキング・エレメント
との間に非同期のローカル通信が提供される。データ計算に用いられた係数、中
間計算結果および/またはその他の情報とを各々の二重ホード・メモリ・リンキ
ング・エレメントにおける選択されたメモリ位置において記憶することができる
。処理エレメントの間の非同期通信は、例えばデータ、その他の情報が一つの処
理エレメント20によシニ重ホード・、+’ モリ・リンキング・エレメント2
2においてメモリ位置へ書込まれ、適当なノ・ンドシエーキングの後、別の隣接
した処理エレメント24によシ取得されるときに発生する。この例においては、
処理エレメント20は、データがそれン受取る処理エレメント24に使用される
のと同じ順序で二重ポート・メモリ・す/キング・エレメント22にデータ乞書
込む必要はない。
実際に、処理エレメント24は、データあるいは情報を処理することなく、かつ
下流の処理エレメントが処理のためにそのデータあるいはその他の情報を取得す
ることなく、隣接する二重ホード・メモリ・エレメント22から隣接する二重ポ
ート・メモリ26ヘデータあるいは情報を伝えることができる。(従来技術によ
るアレ゛イ処理アーキテクチャが第1図に示され、直接接続される処理エレメン
ト28のプレイ乞食む。メモリ・ブロック30は処理アレイの外側に、かつ縁部
に沿って位置している。本明細書で追って示されるが、多くのアルゴリズムの計
算は従来技術では困難、かつ厄介である。)MWAP アーキテクチャにおいて
、各処理エレメントは右側の隣接する二重ポート・メモリ・エレメントと、左側
の隣接する二重ホード・エレメントにおけるメモリ位置をアクセスできる。した
がって、二重ポート・メモリ・リンキング・エレメントを介して提供される非同
期ローカル通信によシ、処理アレイ内でのグローバル通信を利用可能とする。
特定の例により詳細に追って説明されるが、二重ポート・メモリ・リンキング・
エレメントに処理エレメントを連結することによシ次の利点がある。(1)グロ
ーバル通信、(2)データおよび計算乞右方あるいは左方に伝播できる、(3)
データ・エレメントの間の距離が処理ステージの間で増減できる、(4)初期段
階の間、処理ステージの間で係数やその他の情報を記憶できる、および(5)直
線アレイン用いて単一アルゴリズムおよび二次元アルゴリズムを処理できる。
処理エレメントと二重ポート・メモリ・リンキング・エレメントとの間で非同期
リンクが発生するので、二重ポート・メモリ・エレメントに位置したハードウェ
ア・コントロール・フラッグがソフトウェア・コントロール・トークンを代替し
うる。
後述するこの特徴は処理エレメントとその隣接する二重ポート・メモリ・リンキ
ング・エレメントとの間の非同期性のハードウェア・ハンドシェーキングを用い
てデータ駆動/ローカル・コントロールを得ることができるようにする。一旦プ
ロセッサ・アレイが初期化されると、データがその隣接する二重ポート・メモリ
・エレメントで利用可能であるようにすることによって各処理エレメントが自己
調時されるようにして、データと情報とが一方の二重ポート・メモリ・エレメン
トから周期的に読取られ、出力が下流の二重ポート・メモリへ流れる。
第3図は二次元の処理アレイ用の基本的なMWAP アーキテクチャ7示すブロ
ック線図である。直線アレイの場合のように、二重ポート・メモリ・リンキング
・エレメント32はアレイ内の処理エレメント34の間に配置されている。処理
エレメント34は隣接する二重ポート・メモリ・リンキング・エレメントヘアレ
イ内で右方および左方ならびに上下に直接アクセスできる。二次元アレイにおけ
る処理エレメント32と二重ポート・メモリ・リンキング・エレメント34とは
直線アレイにおけるエレメントと同様に演算する。基本的なMWAP アーキテ
クチャは、本発明乞適用することによシ任意のn次元のアレイまで展開できる。
nが2よシ大きい場合のnポート・メモリ・リンキング・エレメントと、nポー
トの処理エレメントZ用いることも本発明の範明に入る。
第4図は、線状MWAP アレイにおいて用いるよう本発明が教示スる、モ:)
、−−ル処理エレメントの一実施例を示すブロック線図である。処理エレメント
は3個のセクションに分割可能である。即ち、算術セフシー17(ニレメン)
36,38.40) と、アドレス・レジスタ(エレメント42.44)と、お
よびプログラムーフロ二・コントロール・ブロック(あるいはコントロール論理
、ニレメン)46.18)である。算術セクションは2個の算術プロセッサ(3
6,40)、内部算術レジスタ38、および関連のデータバス構造から構成され
ている。アドレス・レジスタは、処理エレメントがアクセスしうる各メモリポー
トに対して8個のカウンタ/レジスタのベア(42,44)の群から構成されて
いる。第4図は2群のアドレス・レジスタを示しておシ、各処理エレメントは右
方および左方に二重ホード・メモリ・リンキング・エレメントにアクセスしうる
(第2図参照)。
アドレス・レジスタ42は右方の隣接する二重ポート・メモリ・リンキング・エ
レメントにおけるメモリ位置をアドレスするために使用され、アドレス・レジス
タ44は左側の隣接する二重ポート・メモリ・リンキング・エレメントにおける
メモリ位置乞アドレスするために使用される。コントロール論理セクションはプ
ログラム・メモリ46と関連の論理48とを含み処理ニレメントンプログラム可
能とする。
制御ユニット48はライン50を介して右方の隣接する二重ポート・メモリ・リ
ンキング・エレメントにおいて、゛またライン52を介して左方の隣接する二重
ホード・メモリ・リンキング・エレメントにおいてハードウェア・コントロール
・フラッグを検出するとともにセットらるいjriリセットする。制御ユニット
48は、プログラム・シーケンスがアドレス・レジスタ(42,44)の一方に
対して隣接した二重ホード・メモリ・工算乞中断させ、そのメモリ領域と関連し
た(即ち特定のアドレス・レジスタと関連した)二重ポート・メモリ・エレメン
トにおけるコントロール・フラッグはダウン状態を続ける。制御ユニットは、隣
接する二重ポート・メモリ・リンキング・エレメントにおける特定のフラッグが
特定の二重ホード・メモリ・リンキング・エレメントに隣接した他方の処理エレ
メントによってセットされるまで処理エレメントのアクチビテイン中断し続ける
。このように、処理ユニットは自己調時性であって、必要なデータが得られるま
で、非作動状態を続ける。このように、各処理エレメントは非同期性データ駆動
のローカル・コントロールを有する。コントロール・フラッグがデータの利用で
きないことを示す期間、処理エレメントが演算を中断するので、同じメモリ位置
へ同時に読取シと書込みとをしようとする2個の処理エレメントによシデータが
乱れることはない。二重ポート・メモリ・リンキング・エレメントにおける各コ
ントロール・フラッグは2種類の状態ン有し、隣接する処理エレメントにおける
制御ユニットはプログラムされる。そのためフラッグが特定の状態にあると、そ
のフラッグは隣接する処理エレメントの一方に対してはセット・フラッグとして
、また他方の隣接した処理エレメントに対してはリセット・フラッグとして現わ
れる。
さらに、本発明によるアーキテクチャは、特定の看接する二重ポート・メモリ・
リンキング・エレメントにおける種々のデータ位置にアクセスするために2個以
上のレジスタン利用しうる。各々の二重ポート・メモリ・エレメントは2個以上
のコントロール・フラッグを有することができるので(各コントロール・フラレ
グは前記の隣接した二重ポート・メモリ・エレメントのアドレス・レジスタと関
連している)、メモリのオーバラッピングが可能である。換言すれば、右側の特
定の二重ポート・メモリ・リンキング・エレメントに対する処理エレメントは特
定の二重ポート・メモリ・エレメントにおける第1の位置かラソのアドレス・レ
ジスタの1個ン用いてデータの読取シあるいは書込みができ、前記特定の二重ポ
ート・メモリ・エレメントの左側のものに対する処理エレメントはその二重ホー
ド・メモリ・エレメントにおける第2のメモリ位置へ同時にデータを読取ったシ
書込んだりすることができる。この例においては、(二重ホード・メモリ・エレ
メントに位置し、第1のメモリ位置に関連した)フラッグlが右側の処理エレメ
ントに対してセットされ、左側の処理エレメントに対してリセットされたように
現われ、(これも二重ポート・メモリに位置した)フラッグ2は右側の処理エレ
メントに対してリセットされ、左側の処理エレメントに対してセットされる。
第4図に示すバス構造からもわかるように、処理エレメントはバス62から左側
の二重ホード・メモリからの読取り6るいは書込みが可能でl)、一方同時にバ
ス60から右側の二重ポート・メモリ手段からの読取りちるいは書込みが可能で
ある。
これが可能な理由は、内部バス装置(64,66)が前記の右側のポート60あ
るいは左側の4−)62のいずれかから入力レジスタ54と出力レジスタ58と
に対して個別のアクセスを提供するからである。さらに、プログラム・メモリ4
6に記憶された命令ワードは右側のポー)60と左側のポート62とからの読取
#)/書込み演算7制御する個別のフィールドを有している。このように左側の
ポートへの読取#)マたは書込み、および右側ポートへの読取#)するいは書込
みは同じ命令サイクルにおいて発生しうる。同様に、バス装置(64,66)
と加算器/減算器40から乗算器/徐算器31−分離する内部レジスタ38の使
用とによシ、同時に乗算/除算および加算/減算が発生するようにできる。再び
、プログラム・メモリ46に記憶された命令ワード9は乗算器、加算器および左
右のデータ・ホード・アドレスを制御する個別のフィールドを有している。これ
らの演算は平行して発生しうるので、乗算、加算、減算、あるいは左側ポートに
対する読取シと書込み、および右側のホードに対する読取りと書込みは全て同じ
命令サイクルにおいて発生しうる。
第5図は、二次元の処理アレイで使用する処理エレメントの一実施例を示すブロ
ック線図である。直線プレイ(第4図参照)において使用される基本的な処理エ
レメントは、二次元のアレイに使用されるものと類似であって、その相違は処理
エレメント67が処理エレメントから二次元アレイにおいて右、左、上、下に位
置する隣接の二重ポート・メモリ・リンキング・エレメントをアクセスするため
に4組のアドレス・レジスタ(42゜44.68および70)ン有していること
である。同様に、4本の制御ライン72は隣接する右、左、上、下の二重ポート
・メモリ・リンキング・エレメントにおいてハードウェア・コントロール・フラ
ッグを検出するとともにセラ1するいはリセットする。前述のように、各二重ポ
ート・メモリ・リンキング・エレメントにおいて2個以上のコントロール・フラ
ッグを用いてメモリをオーバラッピングさせ、左、右、上および下の二重ホード
・メモリ・エレメントに対して同時に読取りあるいは書込みt行い、カニつ同時
に加算/減算および乗算を行うことは全て、MWAP 二次元プレイにおいて得
られる特徴である。
第6図は、本発明が教示するモ:)エールの処理エレメントの詳細なブロック線
図を示す。以下の説明の複雑さン緩和するために、第6図は直線プレイで使用さ
れる処理ニレメン)Y示す。
しかしながら、第6図に示す特定の構造ン任意の多次元アレイに展開することは
本発明の範囲内にあることを理解すべきであるO
処理エレメントは、命令キャッシュとプログラム・シーケンサとを有する制御ユ
ニット74、右側のアドレス・ノ;スフ8と左側のアドレス・バス80とに沿っ
て隣接する二重ポート・メモリ・リンキング・エレメント(図示せず)をアドレ
スするメモリ・アドレス・レジスタ76のブロック、浮動小数点乗算器82、浮
動小数点算術セクション(ALU)84.入力レジスタ86、出力レジスタ88
、及び内部算術レジスタ90から構成されている。出力レジスタ88、入力レジ
スタ86および内部算術レジスタ90とはそれぞれ右側の出力メス92、右側の
入力バス94、左側の出力バス96および左側の入力バス98とに個別に接続さ
れている。入力/出力バス(92,94)は右側の二重ポート・メモリ・リンキ
ング・エレメントに作動連結され、入力/出力バス(96,98)は左側の二重
ホード・メモリ・リンキング・エレメントに作動連結されている。制御ユニット
74に位置する命令キャッシュがロードされると、プログラムとデータ・メモリ
とは分離される。全てのメモリ・アドレッシングは読取)が可能な、又は読取り
、次いで増分され得る、又は読取シ、次いでプログラム・ロードの間割当てられ
た基本アドレスにリセットできるメモリ・アドレス・レジスタ76を参照して行
われる。処理エレメントは、隣接する右側の二重ポート・メモリ・リンキング・
エレメントと隣接する左側の二重ポート・メモリ・リンキング・エレメントとに
おけるメモリ位置へ同時に読取C6るいは書込みを行うことができる。制御ライ
ン108,110により、制御ユニット74は、隣接する左側あるい(1右側の
二重ホード・メモリ・リンキング・エレメントに位置するハードウェア・コント
ロール・フラッグを検出し、セットあるいはリセットすることができる。前述の
ように、プログラム命令が隣接す・る二重ポート・メモリ・エレメントにおける
メモリ位置をアクセスするようアドレスレジスタ76に要求し、前記の隣接の二
重ポート・メモリ・エレメントにおける関連のコントロール・フラッグがまだセ
ットされていないとき、制御ユニット74は特定の処理エレメントの処理演算を
中断させる。
算術セクションは、14個の算術レジスタ(第6図におけるラベルROからR1
3まで)、浮動小数点乗算器82、及び浮動小数点加算器/減算器84から構成
されている。レジスタ90は乗算および累算アルゴリズムを支援するよう設計さ
れた特殊バスを用いて接続されている。2個のレジスタ(ROとR13)のみが
左右の入力バス(94,98) と、両方の出力バス(92,96)とに接続さ
れている。6個のレジスタ(R□、R2゜R4,R,、R9,R□1)が入力バ
スのみに付加され、4個(R7+RB +R□21R13)が出力バスのみに対
して使用可能である。2個のレジスタR51R10はいずれの入力ろるいは出力
バスにも接続されていない。この構造は最小数のレジスタと相互接続とを用いて
効率的な実数及び複素数の演算を支援する。
乗算器、加算器/減算器、左右のデータ・ポートは処理エレメント・命令ワード
における個別のフィールドにより独立して制御される。個別の命令フィールドに
よりこれらの演算が平行して生じるので、乗算、加x6るいは減算、および左側
ポートへの読取シ/書込み、おるい17:を右側ポートへの読取り/書込みは、
同じ命令サイクルで発生しうる。
アドレッシング・セクションは8個のカウンタ/レジスタのベアからなる2つの
群(100,102)から構成されている。一方の群102が左側のアドレス・
カラ/り(LAC0−LACニア )として作用し、他方の群100は右側のア
ドレス・カウンタ(RACO−RAC7)として作用する。各アドレス・カウン
タにはは−ス・レジスタ104が関連している。これらのベース・レジスタはカ
ウンタに対して基準メモリ・アドレスを保持するために使用される。メモリが参
照されている各命令の間、アドレスを供給したカウンタ106は増分しうるか、
その×−ス・アドレス・レジスタの値ヘリセットされるか、ちるいはカウンタは
変らないままとしうる。高速のフーリエ変換および同様のアルゴリズムを実行す
る際にアドレスの発生を容易にするために、アドレス・カウンタLAC6,LA
C7,RAC6およびRAC7の出力側はビット反転の順序でアドレス・バスに
位置される。
プログラミン/・シーケンス・セクション74の拡大ブロック線図を第7図に示
す。そこではプログラム・メモIJ ’112、プログラム・アドレス・カウン
タ114および4個のプログラム分岐アドレス・レジスタ116が含まれる。さ
らに、ループからの条件付き分肢のために使用される2個のルーピング・カウン
タ118,120 (ループ1とループ2)がある。ベース・レジスタ(122
,124)はループ・カウンタをリセットするために各カウンタに取付けられる
。各命令サイクルの間、1個のカウンタな修正することができる。該カラ/りは
増分、減分あるいは×−ス・レジスタから再ロードできる。これらのループ・カ
ウンタの他に、算術レジスタ112(第6図参照)を条件付き分岐のために使用
しうる。このため、データに依存する条件付き分岐を許容する。
第8図に、本発明が教示する二重ポート・メモリ・リンキング・エレメントのブ
ロック婦図である。二重ポート・メモリ・リンキング・エレメントは2つの独特
の特徴即ち(11該エレメントは境界において非同期で駆動されること、および
(2)2個のフ′ラッグ126を含むことを有する。MWAP におけるデータ
・フローは前記のフラッグにより制御される。これらのフラッグは隣接の処理エ
レメントに対するデータの利用可能性を示すために用いられる。メモリ・アクセ
ス用のアドレスとして処理エレメントのLACOまたはRACO(第6図参照)
を用いる任意の命令は、関連の二重ポート・メモリ・リンキング・エレメントに
おけるコントロール・フラッグ1がセットされていなければ実行されない。フラ
ッグlがセットされていないときにこのタイプの命令が実行を試みようとすれば
、コントロール・フラッグによるセツティングによりアクセスが許容されるまで
、命令実行は停止する。フラッグがセットされているとき、命令実行が開始する
。同様にフラッグ2はLACIとRACI (第6図参照)を基準として命令の
実行を制御する。第8図に示す二重ポート・メモリ・リンキング・エレメントが
第6図に示す左側の処理エレメントに対するプレイに位置していたとすれば、二
重ホード・メモリ・リンキング・エレメントの右側のホードのアドレス・レジス
タ142はバス76に接続され、入力データFIFO140と出力データFIF
O138とはそれぞれバス98゜96に接続され、右側ポートのノ・ンドシェー
ク論理136は制御ライy108に接続される。同様に、アドレス・レジスタ1
34、入力データFIF0132、出力データFIFO130および二重ポート
・メモリ・リンキング・エレメントの左側のポートに関連したハンFシェキング
論理128は、左側に位置した処理エレメントの同様のエレメントに接続される
。したがって、静的RAMメモリ136はその隣接する左側および隣接する右側
に対する処理エレメントによシアクセスされ得る。前述のように、2個のコント
ロール・フラッグを使用することによシ、隣接する処理エレメントは静的RAM
1360種々の部分へのオーバラップしたアクセスが可能である。これにより
、左側の隣接する処理エレメントと右側の隣接する処理エレメントとが静的RA
M1360種々の部分に同時にアクセスできることになる。
メモリをリンクしたウェーブフロント・プレイ・プロセッサ(MWAP)の演算
と、その特性のあるものとを、信号処理のための有限入力応答(FIR)フィル
タの以下の実行により示すことにする。FIRフィルタに対する式はである。2
値フィルタ即ちN=2に対する最初の数項を書出すと、以下のようになる。
PE#3
Y(0)= b(OIX、:0+ PE#2y(x)−bto+x(1)−+−
b(t)x(o> PE#IY(21−b(01! (2)+ b (1)!
(11+ b (2) XFOIY(3)−b(OIx、(3)+ b(1)X
(2)+ b(21!(1)Y(4)−b(0)x(41+ b(t)X(3)
+ b(2) X(2)フィルタ係11 b +nlが全て処理エレメントに読
取られると、MWAP の各処理エレメント(PE)はウェーブフロントの一方
の項b (kl X (iJを計算し、その人力x(1)と部分合計とを次のP
Eへ送る。第10P’Eは入力データの流れを読取り、最後のPEが出力y(1
)をホストコンピュータあるいZ1システム・バスへ送る。FIRアルゴリズム
が第9図に示す直線アレイを用いて計算され、またイベントのシーケンスも第9
図に数回の処理サイクルに対して示される。サイクル1と2とは基本的にアレイ
を初期化する。(〉の印はデータが読取られ、又は書込まれている方向を示し、
例えばサイクル1においてデータx(0)はDPM#1から読取られており、サ
イクル#2においてデータx(2)はDPM2c書込まれている)サイクル3〜
5において、処理エレメント#1はx(1)をその左側のメモリから読取シ、b
(2) x (11の項を計算し、メモリ・アドレス・レジスタ#1により特
定されるベース・アドレスを用いてx(1)とその前の積b (21x (OJ
とを右側のメモリへ書込む。PE#1は右側のメモリへの部分合計とx(1)と
の記憶を完了すると、そのメモリのコントロール・フラッグ#1をセットし、P
E*2に対して、データが処理できる状態になっていることを知らせる。、(注
:矢印に接続された#1と#2との印は、フラッグ1と2のセツティングとりセ
ツティングとをそれぞれ示す。)次いで、PK+1はメモリアドレス・レジスタ
#2とコントロール・フラッグ#2とを用いてx(2)に対する処理を繰返す。
このシーケンスが第1のアドレス・レジスタ#1とコントロール・フラッグ#1
とを用いて、次いでアドレス・レジスタ#2とコントロール・フラッグ#2とを
用いて繰返され、左側のメモリにおける全ての入力サンプルXを処理する。もし
ホストが新しいデータ・サンプルを最も左側のメモリへ連続的に入力していると
すれば、MWAPは入力データを永久に連続してフィルタすることができる。
コントロール・フラッグ#1がセットされると、処理エレメント#2は左側のメ
モリからx (n)と部分合計とを読取る。次いでコントロール・フラッグ#1
をリセットしてPE弁1が再びメモリのそのセクションを使用できるようにし、
b(11X (n+1)項の積を部分合計に加えて、新しい部分合計b(2Lx
(nl+ b(1)x (n+x)を得る。データサンプルx (tlとそれ以
前の部分合計とはメモリ・アドレス・レジスタ#1により特定されるベース・ア
ドレスを用いて右側のメモリへ書込まれる。
PE#、2が右側のメモリへの部分合計とx (nlとの記憶を完了すると、そ
のメモリのコントロールiフラッグmxtセットしてデータが処理できる状態で
あることYPE#3に知らせる◇次いで、PE12は、そのメモリ・アドレス・
レジスタ#2と左側のメモリのコントロール・フラッグ#2とを用いて右側のメ
モリのコントロール・フラッグ#2をセットしてx(n+i)に対する処理を繰
返す。前記シーケンスは第1の処理エレメントと同様に何度も繰返される。
処理エレメント弁3が左側のメモリから部分合計とXとを読取り、積b(OIX
(111+2)を部分合計に加え、処理エレメント#1゜#2に関して述べたよ
うに、メモリ・アドレス・レジスタとコントロール・フラッグとの同じシーケン
スを用いてその答乞右側のメモリに入れる。このように、結果Y(0) 、 Y
(1)−−はホスト・コンピュータが読取るよう最も右側の二重ポート・メモリ
に書込まれる。
FIR処理シーケンスはメモリをリンクしたウェーブフロント・アレイ・プロセ
ッサの数種の特性を示す。
1、MWAP tit介する計算の流n0一旦初期化されると、入力データは左
側のメモリ・リンキング・エレメントから周期的に読出され、その結果、右側の
メモリ・リンキング・エレメントに出力する。例の処理シーケン2において、デ
ータが入力され、処理され、2回の処理サイクル毎に出力される。
2、MWAP は自己調時性(個々のPF、を制御するグロー、<ル・クロック
の必要はない)であり、即ち計算の流れは各々の二重ホード・メモリにおける2
#Aのフラッグにより制御される。2個のコントロール・フラッグを使用するこ
とによりデータ・バッファをオーバラッピングできるようにする(例えば、二重
ポート・メモリ・リンキング・エレメントの右側および左側のPEがその二重ポ
ート・メモリ・リンキング・エレメントにおける種々のメモリ位置を同時にアク
セスできる)、ことに注目されたい。実際、2個のコントロール・フラッグは一
般的に任意のMWAP アルd IJズムの効率的な処理を可能にする。
3、MWAP の処理速度は使用された処理エレメント/リンキング・メモリの
はアの数と実行されたアルゴリズムとにのみ依存し、処理されたデータ・セット
あるいは計算の長さには依存しない。例えば、MWAP のスループツト率(り
、フィルタのそれぞれの追加の段に対して一対の追加のPE/メモリリンキング
のイアが使用されるとすれば、もつと長い(もつと段数の多い)FIRフィルタ
に対して変動しない。
MWAP において広範囲のクラスの一次元のアルd +)ズムな容易に実行で
きるのみならず、MWAP はその処理速度を増すよう容易に展開できる。この
ことは以下の1−D伝熱式の解から示すことができる。
前述したFIR構造を用いると、
b(21= Cと仮定し
T””(*)−aT”(OJ PE#2 (初期化ステップ)T”(O1=aT
”(1)+bTn(0) PE仔1T”” (1)= aT n(2)+ bT
n(1)+ cT ” (01T”1(2)= aT”(3)+ bTn(2
)+ cT”(1)T””(3)=aTn(41+bT”(31+cTn(21
これらを代入すると、MWAP上でFIRフィルタに対して用いられた同じアル
ゴリズムを用いて、MWAP の各相互作用によ4j)1−D伝熱式における1
つの点nを解くことができる。
さらに、MWAP 出力を入力側ヘループバックして、第10図に示すようにホ
ストの介入なしに多数の組のnを計算できる。
代替的な配置として、バス144に沿ってデータ・ループ・バ通って右側へ流れ
、次いで左側へ流れることによって追加の組を計算できるように直線アレインプ
ログラムすればよく、次いで流れは反転して、答えとしての右へのデータと計算
との流れが最モ右側の二重ポート・メモリ・エレメントからホスト・コンピュー
タによって検索される。流れの方向の変更11単に変更をイース・レジスタにプ
ログラムすることによシ達成される。
データおよび計算が右側および左側に流れうるようにするこの特徴は、従来技術
の処理プレイによって教示されるものではない。
MWAP のスループツト率は、3個の処理エレメント/リンキングメモリのペ
アからなる多数の組を利用して同時に1個以上の点nを計算することにより、増
加させることができる。このような拡大を第11図に示す。第10図に示したル
ープバック・スキームを第11図に示す構成においても使用すれば、データをホ
ストへ戻すまでに多数の点を計算することができる。
これらの例はMWAP の3個の別の特性を示す。
4、非同期二重ポート・メモリ・リンキング・エレメントによ、9MWAP プ
ロセッサを任意の長さくサイズ)まで簡単に拡張することができる。各PEを制
御するグローバル・クロックが存在しないので、伝播遅延は処理アレイのサイズ
を制限しない。
5、同じMWAP K実行のために種々のアルゴリズムをロードでき、あるいは
MWAP は同時にプログラム・メモリに数個の種々のアルゴリズムを収容し、
PEプログラム・キャッシュでの開始アドレスを単に変えることにより計算され
る関数を変えることができる。処理エレメントの直線アレイが所定のアル、、f
リズムに必要とされる以上のエレメントを含むとすれば、その結果は変化する
ことなく単に最後の二重ポート・メモリ・リンキング・エレメントマで伝播する
だけである。
6、データがホストに戻る前に1個以上の計算(関数)を入力側に印加すること
ができり。即ち、アルゴリズムはMWAP においてカスケードできる。各PE
のプログラム・キャッシュに記憶された命令シーケンスがPEによシ提供される
計算根能乞決定する。
伝熱式における係ha% b、cが一定でないとすると、各処理エレメントは、
データがプレイを貫流するとき、その係数の次の値を計算するようプログラムす
ることができる。この拡張により、MWAP が可変の係数で部分微分方程式を
扱うことができる。しかしながら、プロセッサのスループツト率は係数の新しい
値を計算するに必要な時間だけ低下する。さらに優れた方法は、第12図に示す
ように、二次元のMWAP アレイを使用することである。この形態において、
第1行のプロセッサ/リンキング・メモリ・エレメント146は伝熱式の計算の
ためのアルゴリスムを実行する。第2行のプロセッサ・エレメント148は係数
の次の値を計算して第1行のプロセッサ・エレメントが使用できるようにする。
係数の値は、必要に応じて上の行のプロセッサが使用するよう二重ホード・メモ
リ・リンキング・ニレ゛メント(150,152,154)の列に記憶される。
このように、MWAP のスループツト率11、伝熱式の計算と平行して新しい
係数の計算が行われるにつれて増加する。
MWAP構成特性
MWAP は直列アレイのプロセッサ/メモリ・ニレメントラ用いて二次元のア
レイ問題を計算できる。メモリをリンクしたウェーブフロント・アレイのこの特
性の重要性を示すために、2個の疎行列を乗算するための同報通信、シストリッ
クおよびウェーブフロント・アレイ・アルゴリズムZ検討する:C=A B
A=(A(1,j))およびB−(B D、j))とする。
以下の計算は3×3マトリツクスに対する乗算過程を示す。
CQI)−A(11)’ B(111+A(13*B?Il+A(13” Be
31)C(21)−AC21)” B(111+ AU ” B(21)+ A
(2,”4 ” Be31ICC31)−AC31)*B(11)+AC32*
B?1)+Ai” Be31)C(13=A(u)” BaZ+AQZ” B(
22+、J3)” BQZcH−Aan” Bc+z+Aq” atzz+A@
” BezCC33−AOI)*BL12)+ A、C32” BE+ AC3
3)” BG2CG3= A(Ill” B(]、31+A(13*B(23)
+A(13)” Be3)Cに−11)*Bα3)+A(221”Bの+Ai”
B(至)CQ31− AC3])” B(13+AC33” Be231+AC
33)” BC331マトリックスAが列A(X) に分解され、マトリックス
Bが列BAY) に分解されるとすれば、AとBの積は以下の式により計算でき
る。
C−A(1)*B(1)+A(2)*B(2) +−−−−+A(N)”B(N
) [1]この方法はAの列とBの行とを瞬間的に四角いアレイに沿って回報通
信し、その内積を各プロセッサのプログラム・ループ暑介して順次合計すること
にょシ、マトリックス乗算に対して使用できる。このタイプの従来技術による実
行を第13図に示第13図に示す同報通信プレイにおいては、Aの列とBの行と
が左側と上方とからそれぞれ処理エレメントに入力される。
2個のデータAijとBlj とが処理ノードで出会うと乗算でれ、ノードでの
レジスタに現在存在するデータ値である積C1jに加算される。全てのノードに
おけるC1jレジスタの初期値は零である。レジスタが更新されろと、AgとB
ljのデータが次いで次のプロセッサへ伝えられる。全ての列と行のデータがプ
ロセッサのノードに到来すると、式[1)の積の全てが順次合計される。この構
成ではグローバル通信が列と行のデータな同報通信する必要がちシ、これは従来
技術によるシストリックあるいはウェーブ・アレイ・プロセッサでは達成できな
いものである。また、アレイから結果を読み出してホスト・プロセッサへ戻すと
いう別の問題がある。
また、内積の累算を用いて積CY計算することも可能である。
C(o、i、j) = 0
C(k、i、j)=C(k−1,i、j)+A(1,j) B(j、i) k−
1,2,−N [:2]内積の累算を用いてマトリックス乗算を行うための従来
技術の1つは、第14図の従来技術で示すシストリック・アレイである。例の問
題として、Aはプロセッサの左側の縁部へ伝播し、Bはプロセッサの上縁部へ伝
播し、(最初は零である)Cは上方左側の隅からプレイを対角線方向に伝播する
。シストリック・アレイにおいて使用されるアレイのグローバル・クロッキング
は各処理エレメントが各クロック・パルスにおいてデータを処理することを要求
する。このように、種々のBの列とAの行余分の零により調整されなけnばなら
ない。各組のAが処理エレメントに到来すると、そnらは乗算され、処理エレメ
ントにおける現在の部分合計に加算される。その結果は対角方向底部におけるア
レイから伝播される。
積の読出しが無視されるとすれば、連続した積がNサイクルにおいて取得できる
。しかしながら、これ恒問題である。シストリック・アレイにおいてどのように
してN個の積を読出すのか。積はシフト・アウトされ得るが、それには追加の処
理サイクルを要する。各処理エレメントはホスト・コンピュータにインターフェ
ースできるが、それは当該システム乞さらに複雑にさせる。即ち、プロセッサは
ホストに対して列あるいは行でバス接続される。このように、ホストとの通信は
、当該装置の複雑さとデータ通信速度の要件と当該システム・スループツト率と
に影響するので重要である。
ウェーブフロント・アレイ・プロセッサはプロセッサ・アレイを伝搬する計算ウ
ェーブフロントの概念を利用している。各プロセッサはウェーブフロントにおけ
る項乞修正し、ウェーブフロントの伝播を担当する二次源として動作する。この
ように、処理アレイにおけるウェーブフロントはアルゴリズムにおける数学的再
帰に対応する。ウェーブフロントを連続してパイプラインすることにより、アル
ゴリズムにおける全ての再帰が計算される。
マトリック乗算用の従来技術によるウェーブフロント・アレイ・プロセッサを第
15図の従来技術に示す。従来技術におけるアレイのメモリ156,158 は
プロセッサのアレイの上側および左側に位置している。このタイプのアレイにお
いてマトリックス乗算を実行するために全ての処理エレメントのレジスタは最初
に零にセット嘔れる:
C(0,1j)=C全ての1およびjに対してA(i、j)に対する入力は左側
のメモリに(列に)記憶され、B(i、j) に対する入力は上側のメモリに(
列に)記憶される。
処理はPE(1,1)から開始され、
C(1,11)=C(0,11)+A11 Bllが計算される。次いで、計算
のウェーブフロントは近傍のPE(1,2)およびPE(2,1)に伝播され、
該PEは以下乞計算する。
C(1,12) =C(0,12) +A11*812 およびC(1,21)
=C(0,21) +A21”B11この最初のウェーブがアレイを通して伝
播すると、同一の第2のウェーブフロント(再帰)゛が第1のウェーブの直後に
平行に実施することができる。このように、同時にPK(1,2)とPE(2,
1)はC(1,12)とC(1,21)をそれぞれ計算しており、PE(1,1
)は
C(2,11) 十〇(1,11) +A12”B21 ン言士算する。
このようなパイプライニングは、2個の再帰のウェーブフロントが交叉しないの
で可能である。所与の瞬間に再痛暑実行しているプロセッサは別々のものでちっ
て、衝突の問題を回避する。実際に、問題の間で初期零乞伝播することが可能な
ので、第2の新しい乗算問題は第1の処理エレメントが第1の問題に対する全て
の再帰を完了するとすぐに開始することができる。
第16図と第17図とに、シストリック・アレイや、従来技術によるウェーブフ
ロント・アレイでは扱いが困難で厄介な前記のマトリックス乗算問題χMWAP
アーキテクチャでは簡単に扱い得ることを示している。事実、従来技術によるウ
ェーブフロント・アレイ・プロセッサが二次元の処理アレイを必要とするのに対
し、当該間頃はMWAP によれば単純な直線アレイで処理することができる。
第16図は、処理ステージの間でデータと係数を二重ポート・アレイ(PPM)
に記憶することにより3個のプロセッサの直線アレイにおいて達成しうろことを
示している。マトリックスBの列とマトリックAの行とをインターリーグしたも
のが、マトリックスの底部から上部へ逆の頴序で入力される。マトリックスAの
行は右から左へ逆方向に入力される。各処理エレメントは、アレイを通して割当
てられると各出力項(C1j)に対する部分合計の一つの項を計算する。計算シ
ーケンスは第17図に示でれている。
MWAP の各処理エレメント(り、基本的にぼ、シストリックあるいは従来技
術におけるウェーブフロント実行においてプロセッサの縦の列の計算を行う。こ
れは、処理エレメントの間で二重ホード・メモリ・リンキング・エレメントにお
いて係数を保留することによシ可能とされる。第17図に示す最初の14サイク
ルは、乗算用の係数をロードすることによりアレイを初期化している。このため
の時間・グ、従来技術によるウェーブフロント・アレイの縁部に沿って係数をロ
ードするに要する時間に対応する。
計算は155回毎サイクルにおいてプレイを通って流れ始めセッサ・サイクル2
回毎に最後の二重ポート・メモリ・リンキング・エレメントに記憶される。この
時点から計算と出力とが同時に行われる。シストリック・アレイの例の場合と同
様、プレイから結果を読取るための追加の時間は必要ない。マトリックスの対は
左方から入力されて連続的であり、結果はMWAPアレイの右方から読取られる
。
第17図において、各行の出力マトリックスのための計算時間は2N+1 プロ
セッサ・サイクルである(Nは四角のマトリックスのサイズ)。サイズNの2個
の四角のマトリックスの乗算のための全計算時間はN(2N+1)プロセッサ・
サイクルである。このように、NプロセッサがNxNの積を計算するための計算
時間は概ねNの2乗に比例する。このことが、シストリックあるいは従来技術に
よるウェーブフロント・アレイにより得られる性能と同じか、あるいは僅かに優
れているということは以下の通シに示される。9X9の完全なマトリックス乗算
を計算する上で9個のプロセッサを使用するものと想定する。
直線MWAP プレイが使用さnるとすれば、約9(29+1)即ち171のプ
ロセッサ・サイクルを必要とする。シストリックあるいは従来技術によるウェー
ブフロント・アレイを用いると、マトリックを分割することによシ積を得ること
が必要である。AとBのマトリックスを3×3のマトリックスに分割することに
より次のようになる。
CQI)−A(111* BQI)+AQa* B(2υ+Acl31* BC
311CI−AC2υ*Bαυ+AI2:15*B(2υ+Aρ31*13(3
11C(411−AC311* Bαυ+A(321*B(2υ+A[有]*
BC31)*
ただしA(ij) 、B(ij)およびC(ij) は全て3X3マトリツクス
である。
NxNのシストリックあるいに従来技術のウェーブフロント・アレイは概ねNの
プロセッサ反復においてNxNマトリック積を計算できるので、各々のC(ij
)項の計算は3*N即ち9のプロセッサ反復を必要とする。このように、従来技
術のアレイに対して全体のCマトリックスを計算するには9×9即ち81のプロ
セッサ反復と18のマトリックス加算を実行するに要する時間とを必要とする。
従来技術によるウェーブフロント・アレイによるマトリックス乗算用の基本的反
復は以下の通りである。
FETCHBI UP
FETCHA、LEFT
FLOW A、R工GHT
FLOW B、DOWN
MULT A、B、D
ADD C,D、に
の反復は6プロセツサ・サイクルを必要とする。そのため9X9マトリツクス積
を計算するための概略時間は従来技術のウェーブフロント・アレイを用いると4
86プロ′セツサ・サイクルである。2個のプロセッサに対するサイクル時間が
同じであるとすれば、MWAP アレイは従来技術によるウェーブフロント・ア
レイよシ約2.5倍速い。前述の比較はMWAP のさらに2つの特性を示す。
りことによって、スループツト率を著しく増加させる。
事実、はとんどのアルゴリズムに対して、MWAP flシストリックあるいは
従来技術によるつ、ニーズフロント・プレイのいずれかより高速である。
8、 リンキング・メモリを使用することによって、単一の直線MWAP アレ
イが広範囲の1−Dおよび2−Dの幾何的アルゴリズムを実行できるようにする
。
高速フーリエ変換(FFT)を計亘するためのMWAPの使用前述のように、再
帰式を用いてフーリエ変換を計算することは、従来技術のシストリックろるいは
ウェーブフロント・プレイ処理を用いたのでは不可能である。下記の式により規
定される不連続フーリエ変換は、シストリックあるいは従来技術によるウェーブ
フロント・アレイにより計算可能である。
しかしながら、不連続公式は、長さNの変換を計算するにはNプロセッサとNプ
ロセッサ・サイクルとを、即ちN2乗の演算フーリエ変換再帰式は以下の通りで
ろる。
p、qおよびrはステージによって変わる。この高速フーリエ変換(FFT)の
計算はサイズNの変換を計算するにN lol!2 (N1演算を要するのみで
ある。このように、再帰式は不連続フーリエ変換を用いた直接的計算よりも高速
である。しかしながら、入力計算点の間の距離は、再帰式を用いる計算の各ステ
ージに対して変化(増加)する。これは、デシメーション・イン・タイム・コン
スタント・ジオメトリ・FFTアルゴリズムに対する一つのフロー・グラフであ
る第18図から判る。入力データ点の間の距離、即ちグローバル通信の要件の変
動により、シストリックあるいは従来技術のウェーブフロント・アレイに対して
再帰式を用いてFFTを実行することは不可能になる。
再帰式を用いてFFT’4J行するためにMWAP を用いる一方法ぼ、プロセ
ッサを第18図に示すように相互接伏し、アルゴリズムの各項に対して処理エレ
メントを用いることである。
この方法では、N点の変換に対してN個のプロセッサを必要とする。
しかしながら、前述の例において用いたのと同じ直線アレイのメモリをリンクし
たウェーブフロント・アレイ・プロセッサは高速フーリエ変換を計算することが
できる。MWAPでFFTを実行するために、ビット反転順序で入力が第1の二
重ボート・メモリ・リンキング・ニレメンi・に記憶され、ビット反転順序でス
テージ間の二重ポート・メモリ・リンキング・エレメントにW係数が記憶され、
2個のベース・アドレス・レジスタヲ用いてプロセッサ間で合計と差の項が伝播
嘔几る。このため第19図から判るように、ステージの間での係数とデータとの
アトレシングを線形にする。MWAPはFFTを以下のように計算する。
−x(pi−W (rlx(qlを計算する1個のMWAP処理モジュールを用
いて実行される。
2、各ステージにおけるプロセッサは、メモリ・アドレス・レジスタAとメモリ
・アドレス・レジスタBとを交互に用いてIp−ql長さの総計と差異の積のブ
ロックを右側の二重ホード・メモリ・リンキング・エレメントへ出力する。
3、各ステージにおけるプロセッサ岐、メモリ嗜アドレス・ベース・レジスタA
とBとを交互に用いて左側の二重ポート・メモリ・リンキング・エレメントから
計算点を読取る。
16点のFFTの計算の時間スナップショットと共にアルゴリズムを第19図に
示ア。MWAPはサイズNの変換に対してIn(NJプロセッサを用いてFFT
を実行し、N/2シストリツク・サイクルにおいて長さがNの多数のフーリエ変
換を実行する。このように、MWAP fi、シストリックあるいは従来技術の
ウエーグフロジト・アレイでは不可能なアルゴリズムを実行ことに明らかである
。したがって、請求の範囲内において、本発明は本明細書で詳しく説明した以外
の方法で冥抛しうろことを理解すべきである。
DPM PEN0.I DPM PENQ2 DPM PEN0.3−・−国際
調査報告
Claims (1)
- 【特許請求の範囲】 1.少なくとも2個の処理エレメントの直線アレイと、前記直線アレイ内でグロ ーバルな非同期通信を提供する手段であって、前記直線アレイに作動可能に散在 され、二重ポート・メモリ・リンキング・エレメントの交互の直線シーケンスを 形成する複数の二重ポート・メモリ・リンキング・エレメントと、各処理エレメ ントとその隣接する二重ポート・メモリ・リンキング・エレメントとの間て非同 期通信を提供する処理エレメントとを具備する手段と、を具備する、メモリをリ ンクしたウェーブフロント・アレイ・プロセッサ。 2.請求の範囲第1項記載の装置において、前記二重ポート・メモリ・リンキン グ・エレメントの各々が、右側ポートと、左側ポートと、該右側ポートおよび左 側ポートを介してアクセスして、計算に用いられる係数、中間計算かよびデータ が処理ステージの間で前記二重ポート・メモリ・リンキング・エレメントに記憶 できるようにするメモリとを具備すること。 3.請求の範囲第2項記載の装置において、前記処理エレメント(PE)と二重 ポート・メモリ・リンキング・エレメント(DPM)との直線アレイが以下の交 互シーケンスを形成するよう作動接続されており、 ▲数式、化学式、表等があります▼ nが処理エレメント/二重ポート・メモリ・リンキング・エレメントのペアの数 を規定する整数であり、各処理エレメントが右側の隣接する二重ポート・メモリ ・リンキング・エレメントの左側のポートに作動接続されて該二重ポート・メモ リ・リンキング・エレメントにおける選定されたメモリ位置にアクセスし、かつ 、その左側の隣接する二重ポート・メモリ・リンキング・エレメントの右側のポ ートに作動接続されて該二重ポート・メモリ・リンキング・エレメントにかける 選定されたメモリ位置にアクセスし、もって、データ、中間計算、および係数を 、受取り側の処理エレメントがデータを使用する順序によっては制限されない任 意の所望順序で処理エレメントの間を伝えられること。 4.請求の範囲第3項記載の装置において、各処理エレメントと関連し、その特 定の処理エレメントのデータ駆動の非同期制御を提供するローカル制御手段をさ らに備え、該ローカル制御手段が特定の処理エレメントとその隣接する二重ポー ト・メモリ・リンキング・エレメントの中の1個との間て非同期ハンドシェーキ ングを提供する手段を有すること。 5.請求の範囲第4項記載の装置にかいて、作動する毎に2つの交互の状態の間 で切換るよう各二重ポート・メモリ・リンキング・エレメントと関連付けられた 少なくとも1個のコントロール・フラッグ手段をさらに備え、各処理エレメント がさらに、右側の隣接する二重ポート・メモリ・リンキング・エレメントと左側 の隣接する二重ポート・メモリ・リンキング・エレメントとに関連した前記少な くとも1個のコントロール・フラッグ手段を選択的に作動させる手段を含むこと 。 6.請求の範囲第5項記載の装置において、前記ローカル制御手段の各々がさら に、 右側の隣接する二重ポート・メモリ・リンキング・エレメントに関連した前記少 なくとも1個のコントロール・フラッグ手段の状態を検出し、かつ、前記左側の 隣接する二重ポート・メモリ・リンキング・エレメントに関連した前記少なくと も1個のコントロール・フラッグ手段の状態を検出する第1の手段と、 プログラムシーケンスが前記右側あるいは左側の二重ポート・メモリ・リンキン グ・エレメントのメモリ位置へのアクセスを要求し、かつ、二重ポート・メモリ に関連した前記少なくとも1個のコントロール・フラッグ手段がセットされてい なかったとき、プログラムの実行を中断し、前記少なくとも1個のコントロール ・フラッグがセットされるまでプログラムの実行を中断し続ける第2の手段と、 を備えること。 7.請求の範囲第5項記載の装置において、各処理エレメントがさらに、 前記右側の隣接する二重ポート・メモリ・リンキング・エレメントにおけるメモ リ位置を選択的にアドレスする少なくとも1個の右側アドレス・メモリ手段と、 前記左側の隣接する二重ポート・メモリ・リンキング・エレメントにおけるメモ リ位置を選択的にアドレスする少くとも1個の左側アドレス・メモリ手段とを備 え、前記右側の二重ポート・メモリ・リンキング・エレメントに対する前記少な くとも1個のコントロール・フラッグ手段の各々が前記少なくとも1個の右側ア ドレス手段の中の特定のものと関連しており、前記左側のメモリ・リンキング・ エレメントに対する前記少なくとも1個のコントロール・フラッグ手段の各々が 前記少なくとも1個の左側アドレス手段の中の特定のものと関連しておψ、 前記ローカル制御手段がさらに、 前記右側の隣接する二重ポート・メモリ・リンキング・エレメントと関連した前 記少なくとも1個のコントロール・フラッグ手段の状態を検出し、かつ、前記左 側の隣接するメモリ・リンキング・エレメントと関連した前記少なくとも1個の コントロール・フラッグ手段の状態を検出する第1の手段と、プログラム・シー ケンスが前記少なくとも1個の右側アドレス手段に対し前記石側の隣接する二重 ポート・メモリ・リンキング・エレメントにおけるメモリ位置へアクセスするよ う要求する場合、前記少なくとも1個の右側アドレス手段に関連した前記少くと も1個のフラグ・コントロール手段がセットされるまで、前記特定の処理エレメ ントに対するプログラム実行を中断し、プログラム・シーケンスが前記少なくと も1個の左側アドレス手段に対し前記左側の隣接する二重ポート・メモリ・リン キング・エレメントにおけるメモリ位置にアクセスするよう要求する場合、前記 少なくとも1個の左側アドレス手段に関連する前記少なくとも1個のコントロー ル・フラッグ手段がセットされるまでプログラムの実行を中断する第2の手段と を備えること。 8.請求の範囲第4項記載の装置において、各処理エレメントが、前記直線アレ イの右側および左側に位置した隣接する二重ポート・メモリ・リンキング・エレ メントにおけるメモリ位置を同時にアクセスする多方向通信手段と、前記多方向 通信手段の作動と同時に計算機能を実行する手段とを備えること。 9.請求の範囲第8項記載の装置において、各処理エレメントがさらに、右側の 前記二重ポート・メモリ・リンキング・エレメントにおけるメモリ位置をアドレ スする右側アドレス・レジスタと、左側の前記二重ポート・メモリ・リンキング ・エレメントにおけるメモリ位置をアドレスする左側アドレス・レジスタとを備 えること。 10.請求の範囲第9項記載の装置において、前記隣接する左側側および右側の 二重ポート・メモリ・リンキング手段におけるメモリ位置を同時にアクセスする 前記手段が、入力レジスタと、 出力レジスタと、 すぐ右側に位置する前記二重ポート・メモリ・リンキング・エレメントの前記左 側のポートへ作動連結された右側データ・ポートと、 すぐ左側に位置する前記二重ポート・メモリ・リンキング・エレメントの前記左 側のポートへ作動連結された左側データ・ポートと、 前記右側めデータ・ポートあるいは前記左側データ・ポートのいずれかから前記 入力レジスタおよび前記出力レジスタに個別にアクセスし、前記処理エレメント が前記隣接する右側および左側の二重ポート・メモリ・リンキング・エレメント に対して同時に多方向通信ができるようにする手段と、を備えること。 11.請求の範囲第9項記載の装置において、前記隣接する左側及び右側の二重 ポート・メモリ・エレメントにおけるメモリ位置を同時にアクセスする前記手段 が、入力レジスタと、 出力レジスタと、 内部算術レジスタと、 すぐ右側に位置した前記二重ポート・メモリ・リンキング・データ・エレメント に一端で作動連結され、かつ、前記入力レジスタと出力レジスタと内部算術レジ スタとに同時にアクセスするよう他端で作動連結されている右側データ・ポート と、 すぐ左側に位置した前記二重ポート・メモリ・リンキング・エレメントの前記右 側ポートに一端で作動連結され、かつ前記入力レジスタと出力レジスタと内部算 術レジスタとに同時にアクセスするよう他端で作動連結されている左側データ・ ポートと、 を備えること。 12.請求の範囲第11項記載の装置において、前記処理エレメントがさらに、 前記特定の処理エレメントの演算を順序づけるための関連した論理を有するプロ グラム・メモリを備え、前記右側データ・ポートおよび左側データ・ポートから の読取りあるいは書込みの動作を制御する個別のフィールドを命令ワードが有し 、左側データ・ポートヘの読取りまたは書込みならびに右側データ・ポートヘの 読取りあるいは書込みが同じ命令サイクルで発生すること。 13.請求の範囲第12項記載の装置において、前記処理エレメントがさらに、 乗算器と加算器/減算器とを含む算術セクションと、前記乗算器と加算器/減算 器とを前記内部レジスタに作動連結し、同時の乗算、加算あるいは減算の演算を 支援するバス構造手段と、 を備えること。 14.請求の範囲第13項記載の装置において、前記プログラム・メモリに記憶 されて前記特定の処理エレメントの演算を順序づける前記命令ワードが、乗算器 、加算器/減算器および前記右側および左側データ・ポートからの読取り/書込 み演算を制御するための個別のフィールドを有し、乗算、加算/減算および左側 データ・ベートへの読取り/書込みならびに右側データ・ポートヘの読取り/書 込みが同じ命令サイクルの間に平行して発生しうること。 15.請求の範囲第3項記載の装置において、ホスト・コンピュータに作動連結 された第1のポートとメモリ・リンキング・エレメントDPM1に作動連結され た第2のポートとを有する入力インターフェースと、ホスト・コンピュータに作 動連結された第1のポートと二重ポート・メモリ・リンキング・エレメントDP Mn+1に作動連結された第2のポートとを有する出力インターフェースとをさ らに備えること。 16.請求の範囲第3項記載の装置において、ホスト・コンピュータに作動連結 された第1のポートと二重ポート・メモリ・リンキング・エレメントDPMn+ 1に作動連結された第2のポートとを有する入力インターフェースと、 ホスト・コンピュータに作動連結された第1のポートと二重ポート・メモリ・リ ンキング・エレメントDPM1に作動連結された第2のポートとを有する出力イ ンターフェースとをさらに備えること。 17.請求の範囲第4項記載の装置において、各処理エレメントがローカル・ク ロックを備え、各処理エレメントがグローバル・クロックを必要としない自己調 時性であること。 18.請求の範囲第5項記載の装置において、前記少なくとも1個のコントロー ル・フラッグ手段が、特定の二重ポート・メモリ・リンキング・エレメントにお けるデータ・バッファのオーバーラップを可能とする2個のコントロール・フラ ッグを備え、前記特定の二重ポート・メモリ・リンキング・エレメントのすぐ右 側およびすぐ左側の処理エレメントが、前記特定の二重ポート・メモリ・リンキ ング・エレメントにかける異なるメモリ位置に同時にアクセスできること。 19.請求の範囲第2項記載の装置において、前記メモリが複数のレジスタであ ること。 20.請求の範囲第2項記載の装置において、前記メモリがRAMメモリである こと。 21.請求の範囲第9項記載の装置において、前記処理エレメントが複数のベー ス・レジスタを備え、各ベース・レジスタがアドレス・カウンタ/レジスタのペ ァに接続され、各アドレス・カウンタ/レジスタのペアがアドレス・バスに作動 連結されており、前記ベース・レジスタは前記アドレス・カウンタに対する基準 メモリ・アドレスを保持し、前記アドレス・レジスタはさらに、メモリに必要な 各命令の間、アドレス・カウンタを増分するか、ベース・アドレスヘの値をリセ ットするか、あるいは現在のカウントを保持する手段をさらに備えること。 22.請求の範囲第21項記載の装置において、1個以上の前記カウンタ/レジ スタのペアが、ビット反転順序で前記アドレスバスを介して作動接続されている こと。 23.請求の範囲第22項記載の装置において、ビット反転の変換サイズがプロ グラムできるものであること。 24.以下の交互のシーケンスで作動接続された処理エレメント(PE)とメモ リ・リンキング・エレメント(MLE)とのウエーブフロント・アレイにおいて 、 ▲数式、化学式、表等があります▼ nが処理エレメント/メモリ・リンキング・エレメントのペアの数を規定する1 以上の整数であり、各メモリ・リンキング・エレメントは右側ポートと左側ポー トと前記右側および左側ポートを介してアクセスしうるメモリとを備え、各処理 エレメントが右側の隣接するメモリ・リンキング・エレメントの前記左側ポート に作動連結されて該メモリ・リンキング・エレメントにおけるメモリ位置にアク セスし、左側の隣接するメモリ・リンキング・エレメントの前記右側ポートに作 動連結されて、前記メモリ・リンキング・エレメントにおけるメモリ位置にアク セスし、前記直線アレイ内でグローバルな非同期通信が提供されること。 25.請求の範囲第24項記載の装置において、各処理エレメントに関連し、特 定の処理エレメントのデータ駆動非同期制御を提供するローカル制御手段をさら に備え、前記ローカル制御手段が該特定の処理エレメントとその隣接するメモリ ・リンキング・エレメントの中の1個との間て非同期ハンドシェーキングを提供 する手段を備えること。 26.請求の範囲第25項記載の装置において、各処理エレメントが、種々のア ルゴリズムを計算する数個の種々のプログラム・シーケンスを記憶できるプログ ラム・メモリと、各プログラム・メモリにおける開始アドレスを変えることによ り計算されたアルゴリズムを変える手段とを備え、前記アレイにおける異なる処 理エレメントが種々の計算を実行でき、あるいは同じ処理エレメントが種々の計 算を実行できるようにすること。 27.請求の範囲第26項記載の装置において、データと計算とが前記アレイの 右側あるいは左側へ伝播可能であること。 28.請求の範囲第26項記載の装置において、処理エレメント/メモリ・リン キング・エレメントのぺアの数を増加することにより、スループットを増加させ ることができること。 29.請求の範囲第26項記載の装置において、前記メモリ・リンキング・エレ メントが前記アレイの処理エレメント・ステージの間で係数その他の情報をロー ドし記憶する手段を備えること。 30.請求の範囲第26項記載の装置において、前記メモリが複数のレジスタを 備えること。 31.請求の範囲第26項記載の装置において、前記メモリがRAMメモリを備 えること。 32.処理エレメントの、上下、右および左方向を有する二次元アレイと、 前記二次元アレイ内でグローバルな非同期通信を提供する手段であって、前記処 理エレメントの間で前記二次元アレイに作動可能に散在する複数の二重ポート・ メモリ・リンキング・エレメントを備え、各処理エレメントとその隣接する二重 ポート・メモリ・リンキング・エレメントとの間て非同期通信を提供する手段と を備える、メモリをリンクしたウェーブフロント・アレイ・プロセッサ。 33.請求の範囲第32項記載の装置にかいて、前記二重ポート・メモリ・リン キング・エレメントの各々が第1のポートと第2のポートと前記ポートの各々を 介してアクセス可能なメモリとを備え、計算に用いられる係数、中間計算および データが、処理ステップの間で前記二重ポート・メモリ・リンキング・エレメン トに記憶できること。 34.請求の範囲第33項記載の装置において、各処理エレメントが、特定の処 理エレメントに隣接して位置する各々の二重ポート・メモリ・リンキング・エレ メントのポートに作動連結され、データ、中間計算および係数が、受取り側の処 理エレメントがデータを使用する順序には制限されない任意の所望の順序で処理 エレメント間を伝えられること。 35.請求の範囲第34項記載の装置において、各処理エレメントに関連し、特 定の処理エレメントのデータ駆動非同期制御を提供するローカル制御手段をさら に備え、前記ローカル制御手段が、前記特定の処理エレメントとその隣接する二 重ポート・メモリ・リンキング・エレメントの中の1個との間で非同期ハンドシ ェーキングを提供する手段を備えること。 36.請求の範囲第35項記載の装置において、各二重ポート・メモリ・リンキ ング・エレメントに関連し、作動する毎に2つの交互の状態の間で切換わる少な くとも1個のコントロール・フラッグ手段を備え、各処理エレメントがさらに、 該処理エレメントに隣接する各二重ポート・メモリ・リンキング・エレメントと 関連した前記少なくとも1個のコントロール・フラッグ手段を選択的に作動させ る手段を備えること。 37.請求の範囲第36項記載の装置において、前記ローカル制御手段の各々が 、 前記処理エレメントに隣接する、右側、左側、上側および下側の二重ポート・メ モリ・リンキング・エレメントと関連した前記少なくとも1個のコントロール・ フラッグ手段の状態を検出する第1の手段と、 プログラム・シーケンスが前記隣接する二重ポート・メモリ・リンキング・エレ メントの中の1個にカけるメモリ位置へのアクセスを要求し、前記エレメントに 関連した前記少女くとも1個のコントロール・フラッグ手段がセットされてい左 いとき、特定の処理エレメントのプログラム実行を中断し、前記少なくとも1個 のコントロール・フラッグがセットされるまでプログラムの実行を中断させ続け る第2の手段とを備えること。 38.請求の範囲第36項記載の装置において、各処理エレメントがさらに、 上側の隣接する二重ポート・メモリ・リンキング・エレメントにおけるメモリ位 置を選択的にアドレスする少なくとも1個の右側アドレス手段と、 左側の隣接する二重ポート・メモリ・リンキング・エレメントにおけるメモリ位 置を選択的にアドレスする少なくとも1個の左側アドレス手段と、 右側の隣接する二重ポート・メモリ・リンキング・エレメントにおけるメモリ位 置を選択的にアドレスする少なくとも1個の上側アドレス手段と、 下側の隣接した二重ポート・メモリ・リンキング・エレメントにおけるメモリ位 置を選択的にアドレスする少なくとも1個の下側アドレス手段とをさらに備え、 前記隣接する右側、左側、上側および下側の二重ポート・メモリ・エレメントに 関連した前記少なくとも1個のコントロール・フラッグ手段の各々がさらに、前 記アドレス手段の中の特定の1個と関連し、前記制御手段の各々がさらに、 前記隣接する右側、左側、上側および下側の二重ポート・メモリ・リンキング・ エレメントと関連した前記少なくとも1個のコントロール・フラッグ手段の状態 を検出する第1の手段と、 プログラム・シーケンスが前記少なくとも1個の右側、左側、上側および下側の アドレス手段に対してメモリ位置をアクセスするよう要求するとき、前記特定の 少なくとも1個のアドレス手段に関連した前記少なくとも1個のコントロール・ フラッグ手段がセットされるまで、該特定の処理エレメントに対するプログラム の実行を中断する第2の手段とを備えること。 39,請求の範囲第35項記載の装置において、各処理エレメントが、前記処理 エレメントに隣接する右側、左側、上側および下側の二重ポート・メモリ・リン キング・エレメントにおけるメモリ位置を同時にアクセスする多方向通信手段と 、前記多方向通信手段の作動と同時に計算機能を実行する手段とを備えること。 40.請求の範囲第4項記載の装置において、前記直線アレイが多方向プロセッ サ・アレイの一要素部分であること。 41.請求の範囲第14項記載の装置において、前記直線アレイが多方向プロセ ッサ・アレイの一要素部分であること。 42.請求の範囲第24項記載の装置にかいて、前記アレイが多方向プロセッサ ・アレイの一要素部分であること。 43.複数の処理エレメントを含むn次元のアレイ(nはアレイの幾何学的寸法 を規定する整数)と、前記アレイ内でグローバルな非同期通信を提供する手段で あって、前記処理エレメントの間で前記アレイに作動可能に散在する複数のメモ リ・リンキング・エレメントを備え、各処理エレメントと前記アレイでの隣接す るメモリ・リンキング・エレメントとの間で非同期通信を提供する手段とを備え る、メモリをリンクしたウエーブフロント・アレイ・プロセッサ。 44.請求の範囲第43項記載の装置において、前記メモリ・リンキング・エレ メントの各々が、第1のポートと第2のポートと該ポートの各々を介してアクセ ス可能なメモリとを備え、計算に使用される係数、中間計算およびデータを処理 ステップの間で前記メモリ・リンキング・エレメントに記憶できること。 45.請求の範囲第44項記載の装置において、各処理エレメントが、前記n次 元アレイにおいて特定の処理エレメントに隣接する各メモリ・リンキング・エレ メントの前記ポートの中の特定の1個に作動連結され、データ、中間計算および 係数が、受取り側の処理エレメントがデータを使用する順序に規制されない任意 の所望の順序で処理エレメントの間を伝わることができること。 46.請求の範囲第45項記載の装置において、各処理エレメントと関連し、前 記特定の処理エレメントのデータ駆動非同期制御を提供するローカル制御手段を さらに備え、前記ローカル制御手段が、特定の処理エレメントとその隣接するメ モリ・リンキング・エレメントの中の1個との間て非同期ハンドシェーキングを 提供する手段を備えること。 47.請求の範囲第46項記載の装置において、各処理エレメントが、前記n次 元アレイにおいて特定の処理エレメントに隣接する各メモリ・リンキング・エレ メントにおけるメモリ位置を同時にアクセスする多方向手段と・前記多次元通信 手段の作動と同時に計算機能を実行する手段とを備えること。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US06/777,112 US4720780A (en) | 1985-09-17 | 1985-09-17 | Memory-linked wavefront array processor |
US777112 | 2001-02-05 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS63501530A true JPS63501530A (ja) | 1988-06-09 |
Family
ID=25109328
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP61505584A Pending JPS63501530A (ja) | 1985-09-17 | 1986-09-17 | メモリをリンクしたウエ−ブフロント・アレイ・プロセッサ |
Country Status (6)
Country | Link |
---|---|
US (2) | US4720780A (ja) |
EP (1) | EP0237571B1 (ja) |
JP (1) | JPS63501530A (ja) |
KR (1) | KR970001899B1 (ja) |
DE (1) | DE3685107D1 (ja) |
WO (1) | WO1987001841A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011105408A1 (ja) * | 2010-02-24 | 2011-09-01 | 日本電気株式会社 | Simdプロセッサ |
Families Citing this family (240)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS625465A (ja) * | 1985-07-01 | 1987-01-12 | Akira Nakano | 情報処理ユニツトおよびマルチ情報処理ユニツトシステム |
US4807183A (en) * | 1985-09-27 | 1989-02-21 | Carnegie-Mellon University | Programmable interconnection chip for computer system functional modules |
CA1283738C (en) * | 1985-11-13 | 1991-04-30 | Atsushi Hasebe | Data processor |
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 |
NL8600218A (nl) * | 1986-01-30 | 1987-08-17 | Philips Nv | Netwerk van dataverwerkingsstations. |
GB8618943D0 (en) * | 1986-08-02 | 1986-09-10 | Int Computers Ltd | Data processing apparatus |
GB2211638A (en) * | 1987-10-27 | 1989-07-05 | Ibm | Simd array processor |
US4933836A (en) * | 1986-10-29 | 1990-06-12 | United Technologies Corporation | n-Dimensional modular multiprocessor lattice architecture |
US5012441A (en) * | 1986-11-24 | 1991-04-30 | Zoran Corporation | Apparatus for addressing memory with data word and data block reversal capability |
US4797806A (en) * | 1987-02-19 | 1989-01-10 | Gtx Corporation | High speed serial pixel neighborhood processor and method |
US4891751A (en) * | 1987-03-27 | 1990-01-02 | Floating Point Systems, Inc. | Massively parallel vector processing computer |
US5226128A (en) * | 1987-05-01 | 1993-07-06 | Hewlett-Packard Company | Horizontal computer having register multiconnect for execution of a loop with a branch |
US5276819A (en) * | 1987-05-01 | 1994-01-04 | Hewlett-Packard Company | Horizontal computer having register multiconnect for operand address generation during execution of iterations of a loop of program code |
US5036454A (en) * | 1987-05-01 | 1991-07-30 | Hewlett-Packard Company | Horizontal computer having register multiconnect for execution of a loop with overlapped code |
US5083267A (en) * | 1987-05-01 | 1992-01-21 | Hewlett-Packard Company | Horizontal computer having register multiconnect for execution of an instruction loop with recurrance |
US4933895A (en) * | 1987-07-10 | 1990-06-12 | Hughes Aircraft Company | Cellular array having data dependent processing capabilities |
US4908751A (en) * | 1987-10-15 | 1990-03-13 | Smith Harry F | Parallel data processor |
US5115510A (en) * | 1987-10-20 | 1992-05-19 | Sharp Kabushiki Kaisha | Multistage data flow processor with instruction packet, fetch, storage transmission and address generation controlled by destination information |
US5278781A (en) * | 1987-11-12 | 1994-01-11 | Matsushita Electric Industrial Co., Ltd. | Digital signal processing system |
US4975870A (en) * | 1988-02-25 | 1990-12-04 | Data General Corporation | Apparatus for locking a portion of a computer memory |
US4896265A (en) * | 1988-03-28 | 1990-01-23 | General Electric Company | Parallel broadcasting method and apparatus |
JPH01261772A (ja) * | 1988-04-08 | 1989-10-18 | Cogent Res Inc | コンピュータ及びその動作方法 |
ATE81731T1 (de) * | 1988-05-10 | 1992-11-15 | Cray Research Inc | Vektorschlange in computern mit vektorregister. |
JPH0254383A (ja) * | 1988-08-18 | 1990-02-23 | Mitsubishi Electric Corp | アレイプロセッサ |
EP0360527B1 (en) * | 1988-09-19 | 1995-01-04 | Fujitsu Limited | Parallel computer system using a SIMD method |
DE68926783T2 (de) * | 1988-10-07 | 1996-11-28 | Martin Marietta Corp | Paralleler datenprozessor |
US4984192A (en) * | 1988-12-02 | 1991-01-08 | Ultrasystems Defense Inc. | Programmable state machines connectable in a reconfiguration switching network for performing real-time data processing |
JPH02178808A (ja) * | 1988-12-29 | 1990-07-11 | Yaskawa Electric Mfg Co Ltd | ロボットの制御方法 |
US5072371A (en) * | 1989-03-01 | 1991-12-10 | The United States Of America As Represented By The United States Department Of Energy | Method for simultaneous overlapped communications between neighboring processors in a multiple |
US5168572A (en) * | 1989-03-10 | 1992-12-01 | The Boeing Company | System for dynamic selection of globally-determined optimal data path |
US5689647A (en) * | 1989-03-14 | 1997-11-18 | Sanyo Electric Co., Ltd. | Parallel computing system with processing element number setting mode and shortest route determination with matrix size information |
US5101480A (en) * | 1989-05-09 | 1992-03-31 | The University Of Michigan | Hexagonal mesh multiprocessor system |
US5142686A (en) * | 1989-10-20 | 1992-08-25 | United Technologies Corporation | Multiprocessor system having processors and switches with each pair of processors connected through a single switch using Latin square matrix |
US5179530A (en) * | 1989-11-03 | 1993-01-12 | Zoran Corporation | Architecture for integrated concurrent vector signal processor |
DE58908974D1 (de) * | 1989-11-21 | 1995-03-16 | Itt Ind Gmbh Deutsche | Datengesteuerter Arrayprozessor. |
US5121502A (en) * | 1989-12-20 | 1992-06-09 | Hewlett-Packard Company | System for selectively communicating instructions from memory locations simultaneously or from the same memory locations sequentially to plurality of processing |
US5197130A (en) * | 1989-12-29 | 1993-03-23 | Supercomputer Systems Limited Partnership | Cluster architecture for a highly parallel scalar/vector multiprocessor system |
GB9008366D0 (en) * | 1990-04-12 | 1990-06-13 | British Aerospace | Data interaction architecture(dia)for real time embedded multi processor systems |
EP0453863A2 (en) * | 1990-04-27 | 1991-10-30 | National Semiconductor Corporation | Methods and apparatus for implementing a media access control/host system interface |
US5157785A (en) * | 1990-05-29 | 1992-10-20 | Wavetracer, Inc. | Process cell for an n-dimensional processor array having a single input element with 2n data inputs, memory, and full function arithmetic logic unit |
US5133073A (en) * | 1990-05-29 | 1992-07-21 | Wavetracer, Inc. | Processor array of N-dimensions which is physically reconfigurable into N-1 |
US5193202A (en) * | 1990-05-29 | 1993-03-09 | Wavetracer, Inc. | Processor array with relocated operand physical address generator capable of data transfer to distant physical processor for each virtual processor while simulating dimensionally larger array processor |
EP0485594A4 (en) * | 1990-05-30 | 1995-02-01 | Adaptive Solutions Inc | Mechanism providing concurrent computational/communications in simd architecture |
US5430862A (en) * | 1990-06-29 | 1995-07-04 | Bull Hn Information Systems Inc. | Emulation of CISC instructions by RISC instructions using two pipelined stages for overlapped CISC decoding and RISC execution |
GB9018048D0 (en) * | 1990-08-16 | 1990-10-03 | Secr Defence | Digital processor for simulating operation of a parallel processing array |
US5206952A (en) * | 1990-09-12 | 1993-04-27 | Cray Research, Inc. | Fault tolerant networking architecture |
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 |
US5625836A (en) * | 1990-11-13 | 1997-04-29 | International Business Machines Corporation | SIMD/MIMD processing memory element (PME) |
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 |
US5617577A (en) * | 1990-11-13 | 1997-04-01 | International Business Machines Corporation | Advanced parallel array processor I/O connection |
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 |
US5794059A (en) * | 1990-11-13 | 1998-08-11 | International Business Machines Corporation | N-dimensional modified hypercube |
US5590345A (en) * | 1990-11-13 | 1996-12-31 | International Business Machines Corporation | Advanced parallel array processor(APAP) |
US5963746A (en) * | 1990-11-13 | 1999-10-05 | International Business Machines Corporation | Fully distributed processing memory element |
DE69131272T2 (de) * | 1990-11-13 | 1999-12-09 | International Business Machines Corp., Armonk | Paralleles Assoziativprozessor-System |
US5713037A (en) * | 1990-11-13 | 1998-01-27 | International Business Machines Corporation | Slide bus communication functions for SIMD/MIMD array processor |
US5963745A (en) * | 1990-11-13 | 1999-10-05 | International Business Machines Corporation | APAP I/O programmable router |
US5765011A (en) * | 1990-11-13 | 1998-06-09 | International Business Machines Corporation | Parallel processing system having a synchronous SIMD processing with processing elements emulating SIMD operation using individual instruction streams |
US5828894A (en) * | 1990-11-13 | 1998-10-27 | International Business Machines Corporation | Array processor having grouping of SIMD pickets |
US5765015A (en) * | 1990-11-13 | 1998-06-09 | International Business Machines Corporation | Slide network for an array processor |
US5630162A (en) * | 1990-11-13 | 1997-05-13 | International Business Machines Corporation | Array processor dotted communication network based on H-DOTs |
US5966528A (en) * | 1990-11-13 | 1999-10-12 | International Business Machines Corporation | SIMD/MIMD array processor with vector processing |
JP3237858B2 (ja) * | 1991-01-30 | 2001-12-10 | 沖電気工業株式会社 | 演算装置 |
US5434970A (en) * | 1991-02-14 | 1995-07-18 | Cray Research, Inc. | System for distributed multiprocessor communication |
US5175858A (en) * | 1991-03-04 | 1992-12-29 | Adaptive Solutions, Inc. | Mechanism providing concurrent computational/communications in SIMD architecture |
JPH04293151A (ja) * | 1991-03-20 | 1992-10-16 | Fujitsu Ltd | 並列データ処理方式 |
US5241492A (en) * | 1991-05-06 | 1993-08-31 | Motorola, Inc. | Apparatus for performing multiply and accumulate instructions with reduced power and a method therefor |
US5594918A (en) * | 1991-05-13 | 1997-01-14 | International Business Machines Corporation | Parallel computer system providing multi-ported intelligent memory |
JPH0520284A (ja) * | 1991-07-16 | 1993-01-29 | Matsushita Electric Ind Co Ltd | パラレルプロセツサシステム |
US5361370A (en) * | 1991-10-24 | 1994-11-01 | Intel Corporation | Single-instruction multiple-data processor having dual-ported local memory architecture for simultaneous data transmission on local memory ports and global port |
WO1993011503A1 (en) | 1991-12-06 | 1993-06-10 | Norman Richard S | Massively-parallel direct output processor array |
FR2686175B1 (fr) * | 1992-01-14 | 1996-12-20 | Andre Thepaut | Systeme de traitement de donnees multiprocesseur. |
US5506992A (en) * | 1992-01-30 | 1996-04-09 | Saxenmeyer; George | Distributed processing system with asynchronous communication between processing modules |
KR950014862B1 (ko) * | 1992-02-08 | 1995-12-16 | 삼성전자주식회사 | 움직임추정방법 및 그 장치 |
US6104439A (en) * | 1992-02-08 | 2000-08-15 | Samsung Electronics Co., Ltd. | Method and apparatus for motion estimation |
US5991866A (en) * | 1992-03-25 | 1999-11-23 | Tm Patents, Lp | Method and system for generating a program to facilitate rearrangement of address bits among addresses in a massively parallel processor system |
JP2572522B2 (ja) * | 1992-05-12 | 1997-01-16 | インターナショナル・ビジネス・マシーンズ・コーポレイション | コンピューティング装置 |
JP2642039B2 (ja) * | 1992-05-22 | 1997-08-20 | インターナショナル・ビジネス・マシーンズ・コーポレイション | アレイ・プロセッサ |
US6067417A (en) * | 1992-06-30 | 2000-05-23 | Discovision Associates | Picture start token |
US5842033A (en) * | 1992-06-30 | 1998-11-24 | Discovision Associates | Padding apparatus for passing an arbitrary number of bits through a buffer in a pipeline system |
US6330665B1 (en) | 1992-06-30 | 2001-12-11 | Discovision Associates | Video parser |
US6112017A (en) * | 1992-06-30 | 2000-08-29 | Discovision Associates | Pipeline processing machine having a plurality of reconfigurable processing stages interconnected by a two-wire interface bus |
US6079009A (en) * | 1992-06-30 | 2000-06-20 | Discovision Associates | Coding standard token in a system compromising a plurality of pipeline stages |
US6435737B1 (en) | 1992-06-30 | 2002-08-20 | Discovision Associates | Data pipeline system and data encoding method |
US5809270A (en) * | 1992-06-30 | 1998-09-15 | Discovision Associates | Inverse quantizer |
US6047112A (en) * | 1992-06-30 | 2000-04-04 | Discovision Associates | Technique for initiating processing of a data stream of encoded video information |
US5768561A (en) * | 1992-06-30 | 1998-06-16 | Discovision Associates | Tokens-based adaptive video processing arrangement |
DE69229338T2 (de) * | 1992-06-30 | 1999-12-16 | Discovision Associates, Irvine | Datenpipelinesystem |
US7095783B1 (en) | 1992-06-30 | 2006-08-22 | Discovision Associates | Multistandard video decoder and decompression system for processing encoded bit streams including start codes and methods relating thereto |
US5428803A (en) * | 1992-07-10 | 1995-06-27 | Cray Research, Inc. | Method and apparatus for a unified parallel processing architecture |
US6098113A (en) * | 1992-10-22 | 2000-08-01 | Ncr Corporation | Apparatus and method for address translation and allocation for a plurality of input/output (I/O) buses to a system bus |
US5586281A (en) * | 1992-10-27 | 1996-12-17 | Sharp Kabushiki Kaisha | Data driven type information processing apparatus |
JPH06162228A (ja) * | 1992-11-26 | 1994-06-10 | Sharp Corp | データフロープロセッサ装置 |
JPH06290158A (ja) * | 1993-03-31 | 1994-10-18 | Fujitsu Ltd | 再構成可能なトーラス・ネットワーク方式 |
JPH0713945A (ja) * | 1993-06-16 | 1995-01-17 | Nippon Sheet Glass Co Ltd | 演算処理部および制御・記憶部分離型マルチプロセッサ ・システムのバス構造 |
US5861894A (en) * | 1993-06-24 | 1999-01-19 | Discovision Associates | Buffer manager |
US5878273A (en) * | 1993-06-24 | 1999-03-02 | Discovision Associates | System for microprogrammable state machine in video parser disabling portion of processing stages responsive to sequence-- end token generating by token generator responsive to received data |
US5805914A (en) * | 1993-06-24 | 1998-09-08 | Discovision Associates | Data pipeline system and data encoding method |
US6462578B2 (en) | 1993-08-03 | 2002-10-08 | Btr, Inc. | Architecture and interconnect scheme for programmable logic circuits |
US5457410A (en) * | 1993-08-03 | 1995-10-10 | Btr, Inc. | Architecture and interconnect scheme for programmable logic circuits |
US6073185A (en) * | 1993-08-27 | 2000-06-06 | Teranex, Inc. | Parallel data processor |
US5848276A (en) * | 1993-12-06 | 1998-12-08 | Cpu Technology, Inc. | High speed, direct register access operation for parallel processing units |
US5485576A (en) * | 1994-01-28 | 1996-01-16 | Fee; Brendan | Chassis fault tolerant system management bus architecture for a networking |
MX9602687A (es) * | 1994-02-23 | 1997-05-31 | Rosemount Inc | Transmisor de campo para almacenar informacion. |
US6145071A (en) * | 1994-03-03 | 2000-11-07 | The George Washington University | Multi-layer multi-processor information conveyor with periodic transferring of processors' states for on-the-fly transformation of continuous information flows and operating method therefor |
US6408402B1 (en) | 1994-03-22 | 2002-06-18 | Hyperchip Inc. | Efficient direct replacement cell fault tolerant architecture |
EP1191457A2 (en) * | 1994-03-22 | 2002-03-27 | Hyperchip Inc. | Monolithic systems with dynamically focused input/output |
JP2924643B2 (ja) * | 1994-05-19 | 1999-07-26 | ヤマハ株式会社 | ディジタル信号処理方法及び装置 |
JP3458518B2 (ja) * | 1994-08-30 | 2003-10-20 | ソニー株式会社 | 並列プロセッサ |
KR100186918B1 (ko) * | 1994-10-21 | 1999-05-01 | 모리시다 요이치 | 신호처리장치 |
US5548788A (en) * | 1994-10-27 | 1996-08-20 | Emc Corporation | Disk controller having host processor controls the time for transferring data to disk drive by modifying contents of the memory to indicate data is stored in the memory |
US5850564A (en) * | 1995-05-03 | 1998-12-15 | Btr, Inc, | Scalable multiple level tab oriented interconnect architecture |
KR19990008270A (ko) | 1995-05-03 | 1999-01-25 | 팅 벤자민 에스. | 스케일가능한 복수 레벨 상호연결 아키텍춰 |
US5943242A (en) * | 1995-11-17 | 1999-08-24 | Pact Gmbh | Dynamically reconfigurable data processing system |
US7266725B2 (en) * | 2001-09-03 | 2007-09-04 | Pact Xpp Technologies Ag | Method for debugging reconfigurable architectures |
US6003098A (en) * | 1996-04-30 | 1999-12-14 | Hewlett-Packard Company | Graphic accelerator architecture using two graphics processing units for processing aspects of pre-rasterized graphics primitives and a control circuitry for relaying pass-through information |
US5949440A (en) * | 1996-04-30 | 1999-09-07 | Hewlett Packard Compnay | Method and apparatus for processing graphics primitives in multiple modes using reconfigurable hardware |
US6034547A (en) * | 1996-09-04 | 2000-03-07 | Advantage Logic, Inc. | Method and apparatus for universal program controlled bus |
US6624658B2 (en) * | 1999-02-04 | 2003-09-23 | Advantage Logic, Inc. | Method and apparatus for universal program controlled bus architecture |
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 |
DE19654593A1 (de) | 1996-12-20 | 1998-07-02 | Pact Inf Tech Gmbh | Umkonfigurierungs-Verfahren für programmierbare Bausteine zur Laufzeit |
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 |
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.) |
ATE243390T1 (de) * | 1996-12-27 | 2003-07-15 | Pact Inf Tech Gmbh | Verfahren zum selbständigen dynamischen umladen von datenflussprozessoren (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 |
EP0872800B8 (en) * | 1997-04-14 | 2005-08-10 | HMS Industrial Networks AB | Method and device for exchanging data between two processor units |
US6502180B1 (en) * | 1997-09-12 | 2002-12-31 | California Institute Of Technology | Asynchronous circuits with pipelined completion process |
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 |
US6088800A (en) * | 1998-02-27 | 2000-07-11 | Mosaid Technologies, Incorporated | Encryption processor with shared memory interconnect |
US6212628B1 (en) | 1998-04-09 | 2001-04-03 | Teranex, Inc. | Mesh connected computer |
US6185667B1 (en) | 1998-04-09 | 2001-02-06 | Teranex, Inc. | Input/output support for processing in a mesh connected computer |
US6067609A (en) * | 1998-04-09 | 2000-05-23 | Teranex, Inc. | Pattern generation and shift plane operations for a mesh connected computer |
US6173388B1 (en) | 1998-04-09 | 2001-01-09 | Teranex Inc. | Directly accessing local memories of array processors for improved real-time corner turning processing |
JPH11353288A (ja) * | 1998-06-04 | 1999-12-24 | Toshiba Corp | 並列計算機及びメモリ装置 |
US6513108B1 (en) * | 1998-06-29 | 2003-01-28 | Cisco Technology, Inc. | Programmable processing engine for efficiently processing transient data |
US6173386B1 (en) | 1998-12-14 | 2001-01-09 | Cisco Technology, Inc. | Parallel processor with debug capability |
US6920562B1 (en) | 1998-12-18 | 2005-07-19 | Cisco Technology, Inc. | Tightly coupled software protocol decode with hardware data encryption |
US6701432B1 (en) * | 1999-04-01 | 2004-03-02 | Netscreen Technologies, Inc. | Firewall including local bus |
US7107612B1 (en) * | 1999-04-01 | 2006-09-12 | Juniper Networks, Inc. | Method, apparatus and computer program product for a network firewall |
GB9911890D0 (en) * | 1999-05-22 | 1999-07-21 | Lucas Ind Plc | Method and apparatus for detecting a fault condition in a computer processor |
CN1378665A (zh) | 1999-06-10 | 2002-11-06 | Pact信息技术有限公司 | 编程概念 |
US6728863B1 (en) | 1999-10-26 | 2004-04-27 | Assabet Ventures | Wide connections for transferring data between PE's of an N-dimensional mesh-connected SIMD array while transferring operands from memory |
AU2471001A (en) | 1999-10-26 | 2001-05-08 | Arthur D. Little, Inc. | Multiplexing n-dimensional mesh connections onto (n + 1) data paths |
US6529983B1 (en) | 1999-11-03 | 2003-03-04 | Cisco Technology, Inc. | Group and virtual locking mechanism for inter processor synchronization |
US6584581B1 (en) * | 1999-12-06 | 2003-06-24 | Ab Initio Software Corporation | Continuous flow checkpointing data processing |
US6320412B1 (en) | 1999-12-20 | 2001-11-20 | Btr, Inc. C/O Corporate Trust Co. | Architecture and interconnect for programmable logic circuits |
US6892237B1 (en) * | 2000-03-28 | 2005-05-10 | Cisco Technology, Inc. | Method and apparatus for high-speed parsing of network messages |
US6505269B1 (en) | 2000-05-16 | 2003-01-07 | Cisco Technology, Inc. | Dynamic addressing mapping to eliminate memory resource contention in a symmetric multiprocessor system |
DE50115584D1 (de) | 2000-06-13 | 2010-09-16 | Krass Maren | Pipeline ct-protokolle und -kommunikation |
US6754801B1 (en) * | 2000-08-22 | 2004-06-22 | Micron Technology, Inc. | Method and apparatus for a shift register based interconnection for a massively parallel processor array |
US20040015899A1 (en) * | 2000-10-06 | 2004-01-22 | Frank May | Method for processing data |
ATE437476T1 (de) | 2000-10-06 | 2009-08-15 | Pact Xpp Technologies Ag | Zellenanordnung mit segmentierter zwischenzellstruktur |
US8058899B2 (en) | 2000-10-06 | 2011-11-15 | Martin Vorbach | Logic cell array and bus system |
GB2370380B (en) | 2000-12-19 | 2003-12-31 | Picochip Designs Ltd | Processor architecture |
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.) |
US7210129B2 (en) | 2001-08-16 | 2007-04-24 | Pact Xpp Technologies Ag | Method for translating programs for reconfigurable architectures |
US7581076B2 (en) | 2001-03-05 | 2009-08-25 | Pact Xpp Technologies Ag | Methods and devices for treating and/or processing data |
US20090300262A1 (en) * | 2001-03-05 | 2009-12-03 | Martin Vorbach | Methods and devices for treating and/or processing data |
US20090210653A1 (en) * | 2001-03-05 | 2009-08-20 | Pact Xpp Technologies Ag | Method and device for treating and processing data |
US7844796B2 (en) * | 2001-03-05 | 2010-11-30 | Martin Vorbach | Data processing device and method |
US9037807B2 (en) * | 2001-03-05 | 2015-05-19 | Pact Xpp Technologies Ag | Processor arrangement on a chip including data processing, memory, and interface elements |
US7444531B2 (en) | 2001-03-05 | 2008-10-28 | Pact Xpp Technologies Ag | Methods and devices for treating and processing data |
US7657877B2 (en) * | 2001-06-20 | 2010-02-02 | Pact Xpp Technologies Ag | Method for processing data |
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 |
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 |
AU2003208266A1 (en) * | 2002-01-19 | 2003-07-30 | Pact Xpp Technologies Ag | Reconfigurable processor |
DE10390689D2 (de) | 2002-02-18 | 2005-02-10 | Pact Xpp Technologies Ag | Bussysteme und Rekonfigurationsverfahren |
WO2004088502A2 (de) * | 2003-04-04 | 2004-10-14 | Pact Xpp Technologies Ag | Verfahren und vorrichtung für die datenverarbeitung |
EP1518186A2 (de) * | 2002-03-21 | 2005-03-30 | PACT XPP Technologies AG | Verfahren und vorrichtung zur datenverarbeitung |
US8914590B2 (en) * | 2002-08-07 | 2014-12-16 | Pact Xpp Technologies Ag | Data processing method and device |
US7447872B2 (en) * | 2002-05-30 | 2008-11-04 | Cisco Technology, Inc. | Inter-chip processor control plane communication |
US7415594B2 (en) | 2002-06-26 | 2008-08-19 | Coherent Logix, Incorporated | Processing system with interspersed stall propagating processors and communication elements |
US7657861B2 (en) * | 2002-08-07 | 2010-02-02 | Pact Xpp Technologies Ag | Method and device for processing data |
AU2003286131A1 (en) * | 2002-08-07 | 2004-03-19 | Pact Xpp Technologies Ag | Method and device for processing data |
US20070083730A1 (en) * | 2003-06-17 | 2007-04-12 | Martin Vorbach | Data processing device and method |
US20110238948A1 (en) * | 2002-08-07 | 2011-09-29 | Martin Vorbach | Method and device for coupling a data processing unit and a data processing array |
US7394284B2 (en) * | 2002-09-06 | 2008-07-01 | Pact Xpp Technologies Ag | Reconfigurable sequencer structure |
US7167850B2 (en) * | 2002-10-10 | 2007-01-23 | Ab Initio Software Corporation | Startup and control of graph-based computation |
GB2397668B (en) * | 2003-01-27 | 2005-12-07 | Picochip Designs Ltd | Processor array |
GB2400195B (en) * | 2003-03-31 | 2005-06-29 | Micron Technology Inc | Active memory processing array topography and method |
US7255437B2 (en) * | 2003-10-09 | 2007-08-14 | Howell Thomas A | Eyeglasses with activity monitoring |
US7457234B1 (en) | 2003-05-14 | 2008-11-25 | Adtran, Inc. | System and method for protecting communication between a central office and a remote premises |
US20040255096A1 (en) * | 2003-06-11 | 2004-12-16 | Norman Richard S. | Method for continuous linear production of integrated circuits |
GB2402760B (en) * | 2003-06-12 | 2006-01-11 | Advanced Risc Mach Ltd | Improvements in flexibility of use of a data processing apparatus |
US7130986B2 (en) * | 2003-06-30 | 2006-10-31 | Intel Corporation | Determining if a register is ready to exchange data with a processing element |
JP4700611B2 (ja) * | 2003-08-28 | 2011-06-15 | ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト | データ処理装置およびデータ処理方法 |
US7577824B2 (en) * | 2003-09-08 | 2009-08-18 | Altera Corporation | Methods and apparatus for storing expanded width instructions in a VLIW memory for deferred execution |
US6975139B2 (en) * | 2004-03-30 | 2005-12-13 | Advantage Logic, Inc. | Scalable non-blocking switching network for programmable logic |
US7320064B2 (en) * | 2004-07-23 | 2008-01-15 | Honeywell International Inc. | Reconfigurable computing architecture for space applications |
US7460529B2 (en) * | 2004-07-29 | 2008-12-02 | Advantage Logic, Inc. | Interconnection fabric using switching networks in hierarchy |
US7779177B2 (en) * | 2004-08-09 | 2010-08-17 | Arches Computing Systems | Multi-processor reconfigurable computing system |
EP1849095B1 (en) * | 2005-02-07 | 2013-01-02 | Richter, Thomas | Low latency massive parallel data processing device |
US7478222B2 (en) * | 2005-03-29 | 2009-01-13 | Karl M. Fant | Programmable pipeline array |
US7877350B2 (en) * | 2005-06-27 | 2011-01-25 | Ab Initio Technology Llc | Managing metadata for graph-based computations |
US8560795B2 (en) * | 2005-06-30 | 2013-10-15 | Imec | Memory arrangement for multi-processor systems including a memory queue |
FR2888349A1 (fr) * | 2005-07-06 | 2007-01-12 | St Microelectronics Sa | Adaptation de debit binaire dans un flot de traitement de donnees |
US20070046781A1 (en) * | 2005-08-29 | 2007-03-01 | Honeywell International Inc. | Systems and methods for processing digital video data |
US7281942B2 (en) * | 2005-11-18 | 2007-10-16 | Ideal Industries, Inc. | Releasable wire connector |
EP1974265A1 (de) | 2006-01-18 | 2008-10-01 | PACT XPP Technologies AG | Hardwaredefinitionsverfahren |
US7423453B1 (en) | 2006-01-20 | 2008-09-09 | Advantage Logic, Inc. | Efficient integrated circuit layout scheme to implement a scalable switching network used in interconnection fabric |
EP2008182B1 (en) | 2006-03-27 | 2010-05-12 | Coherent Logix Incorporated | Programming a multi-processor system |
CN103729330B (zh) | 2006-08-10 | 2017-04-19 | 起元科技有限公司 | 在基于图的计算中分配服务 |
EP1978449A2 (en) * | 2007-04-06 | 2008-10-08 | Technology Properties Limited | Signal processing |
EP2234017A3 (en) | 2007-07-26 | 2010-10-27 | Ab Initio Technology LLC | Transactional graph-based computation with error handling |
GB2454865B (en) * | 2007-11-05 | 2012-06-13 | Picochip Designs Ltd | Power control |
US8078829B2 (en) * | 2007-12-12 | 2011-12-13 | Itt Manufacturing Enterprises, Inc. | Scaleable array of micro-engines for waveform processing |
US8078839B2 (en) * | 2007-12-13 | 2011-12-13 | Wave Semiconductor | Concurrent processing element system, and method |
GB2466661B (en) * | 2009-01-05 | 2014-11-26 | Intel Corp | Rake receiver |
WO2010093879A1 (en) | 2009-02-13 | 2010-08-19 | Ab Initio Technology Llc | Managing task execution |
GB2470037B (en) | 2009-05-07 | 2013-07-10 | Picochip Designs Ltd | Methods and devices for reducing interference in an uplink |
GB2470771B (en) | 2009-06-05 | 2012-07-18 | Picochip Designs Ltd | A method and device in a communication network |
GB2470891B (en) | 2009-06-05 | 2013-11-27 | Picochip Designs Ltd | A method and device in a communication network |
US7999570B2 (en) | 2009-06-24 | 2011-08-16 | Advantage Logic, Inc. | Enhanced permutable switching network with multicasting signals for interconnection fabric |
US8667329B2 (en) * | 2009-09-25 | 2014-03-04 | Ab Initio Technology Llc | Processing transactions in graph-based applications |
GB2474071B (en) | 2009-10-05 | 2013-08-07 | Picochip Designs Ltd | Femtocell base station |
CN107066241B (zh) | 2010-06-15 | 2021-03-09 | 起元技术有限责任公司 | 用于动态加载基于图的计算的系统和方法 |
GB2482869B (en) | 2010-08-16 | 2013-11-06 | Picochip Designs Ltd | Femtocell access control |
WO2012051577A1 (en) | 2010-10-15 | 2012-04-19 | Coherent Logix, Incorporated | Disabling communication in a multiprocessor system |
US8924455B1 (en) * | 2011-02-25 | 2014-12-30 | Xilinx, Inc. | Multiplication of matrices using systolic arrays |
GB2489716B (en) | 2011-04-05 | 2015-06-24 | Intel Corp | Multimode base system |
GB2489919B (en) | 2011-04-05 | 2018-02-14 | Intel Corp | Filter |
GB2491098B (en) | 2011-05-16 | 2015-05-20 | Intel Corp | Accessing a base station |
US10108521B2 (en) | 2012-11-16 | 2018-10-23 | Ab Initio Technology Llc | Dynamic component performance monitoring |
US9507682B2 (en) | 2012-11-16 | 2016-11-29 | Ab Initio Technology Llc | Dynamic graph performance monitoring |
US9274926B2 (en) | 2013-01-03 | 2016-03-01 | Ab Initio Technology Llc | Configurable testing of computer programs |
SG11201604525TA (en) | 2013-12-05 | 2016-07-28 | Ab Initio Technology Llc | Managing interfaces for dataflow graphs composed of sub-graphs |
US10657134B2 (en) | 2015-08-05 | 2020-05-19 | Ab Initio Technology Llc | Selecting queries for execution on a stream of real-time data |
CN108475189B (zh) | 2015-12-21 | 2021-07-09 | 起元技术有限责任公司 | 子图接口生成的方法、系统及计算机可读介质 |
EP3500945B1 (en) * | 2017-05-17 | 2020-09-30 | Google LLC | Low latency matrix multiply unit |
US11656849B2 (en) | 2019-08-14 | 2023-05-23 | Vorticity Inc. | Dedicated hardware system for solving partial differential equations |
US11403070B2 (en) * | 2019-08-19 | 2022-08-02 | Vorticity Inc. | Systolic array design for solving partial differential equations |
US11921813B2 (en) | 2019-08-20 | 2024-03-05 | Vorticity Inc. | Methods for utilizing solver hardware for solving partial differential equations |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3737866A (en) * | 1971-07-27 | 1973-06-05 | Data General Corp | Data storage and retrieval system |
US3848234A (en) * | 1973-04-04 | 1974-11-12 | Sperry Rand Corp | Multi-processor system with multiple cache memories |
US4065808A (en) * | 1975-01-25 | 1977-12-27 | U.S. Philips Corporation | Network computer system |
US4065809A (en) * | 1976-05-27 | 1977-12-27 | Tokyo Shibaura Electric Co., Ltd. | Multi-processing system for controlling microcomputers and memories |
US4309691A (en) | 1978-02-17 | 1982-01-05 | California Institute Of Technology | Step-oriented pipeline data processing system |
US4184200A (en) * | 1978-04-26 | 1980-01-15 | Sperry Rand Corporation | Integrating I/O element |
NL8002787A (nl) * | 1980-05-14 | 1981-12-16 | Philips Nv | Multiprocessor-rekenmachinesysteem voor het uitvoeren van een recursief algorithme. |
JPS56164464A (en) * | 1980-05-21 | 1981-12-17 | Tatsuo Nogi | Parallel processing computer |
US4524455A (en) * | 1981-06-01 | 1985-06-18 | Environmental Research Inst. Of Michigan | Pipeline processor |
JPS6053349B2 (ja) * | 1981-06-19 | 1985-11-25 | 株式会社日立製作所 | 画像処理プロセツサ |
US4533993A (en) * | 1981-08-18 | 1985-08-06 | National Research Development Corp. | Multiple processing cell digital data processor |
US4495567A (en) * | 1981-10-15 | 1985-01-22 | Codex Corporation | Multiprocessor/multimemory control system |
US4507726A (en) * | 1982-01-26 | 1985-03-26 | Hughes Aircraft Company | Array processor architecture utilizing modular elemental processors |
US4524428A (en) * | 1982-01-26 | 1985-06-18 | Hughes Aircraft Company | Modular input-programmable logic circuits for use in a modular array processor |
US4543642A (en) * | 1982-01-26 | 1985-09-24 | Hughes Aircraft Company | Data Exchange Subsystem for use in a modular array processor |
US4498134A (en) * | 1982-01-26 | 1985-02-05 | Hughes Aircraft Company | Segregator functional plane for use in a modular array processor |
US4574350A (en) * | 1982-05-19 | 1986-03-04 | At&T Bell Laboratories | Shared resource locking apparatus |
US4509187A (en) * | 1982-06-14 | 1985-04-02 | At&T Bell Laboratories | Time warp signal recognition processor using recirculating and/or reduced array of processor cells |
US4489381A (en) * | 1982-08-06 | 1984-12-18 | International Business Machines Corporation | Hierarchical memories having two ports at each subordinate memory level |
US4553203A (en) * | 1982-09-28 | 1985-11-12 | Trw Inc. | Easily schedulable horizontal computer |
US4724517A (en) * | 1982-11-26 | 1988-02-09 | Inmos Limited | Microcomputer with prefixing functions |
US4600992A (en) * | 1982-12-14 | 1986-07-15 | Honeywell Information Systems Inc. | Priority resolver with lowest priority level having shortest logic path |
US4644496A (en) * | 1983-01-11 | 1987-02-17 | Iowa State University Research Foundation, Inc. | Apparatus, methods, and systems for computer information transfer |
US4580215A (en) * | 1983-03-08 | 1986-04-01 | Itt Corporation | Associative array with five arithmetic paths |
US4636942A (en) * | 1983-04-25 | 1987-01-13 | Cray Research, Inc. | Computer vector multiprocessing control |
US4591980A (en) * | 1984-02-16 | 1986-05-27 | Xerox Corporation | Adaptive self-repairing processor array |
-
1985
- 1985-09-17 US US06/777,112 patent/US4720780A/en not_active Expired - Lifetime
-
1986
- 1986-09-17 JP JP61505584A patent/JPS63501530A/ja active Pending
- 1986-09-17 DE DE8686906519T patent/DE3685107D1/de not_active Expired - Lifetime
- 1986-09-17 EP EP86906519A patent/EP0237571B1/en not_active Expired - Lifetime
- 1986-09-17 WO PCT/US1986/001903 patent/WO1987001841A1/en active IP Right Grant
-
1987
- 1987-03-12 KR KR1019870002221A patent/KR970001899B1/ko not_active IP Right Cessation
-
1988
- 1988-01-15 US US07/144,193 patent/US4922418A/en not_active Expired - Lifetime
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011105408A1 (ja) * | 2010-02-24 | 2011-09-01 | 日本電気株式会社 | Simdプロセッサ |
JP5708634B2 (ja) * | 2010-02-24 | 2015-04-30 | 日本電気株式会社 | Simdプロセッサ |
Also Published As
Publication number | Publication date |
---|---|
EP0237571A1 (en) | 1987-09-23 |
EP0237571A4 (en) | 1989-02-22 |
WO1987001841A1 (en) | 1987-03-26 |
KR880011681A (ko) | 1988-10-29 |
DE3685107D1 (de) | 1992-06-04 |
US4922418A (en) | 1990-05-01 |
KR970001899B1 (ko) | 1997-02-18 |
EP0237571B1 (en) | 1992-04-29 |
US4720780A (en) | 1988-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPS63501530A (ja) | メモリをリンクしたウエ−ブフロント・アレイ・プロセッサ | |
US5226171A (en) | Parallel vector processing system for individual and broadcast distribution of operands and control information | |
US5081573A (en) | Parallel processing system | |
Kung et al. | Systolic arrays (for VLSI) | |
US4493048A (en) | Systolic array apparatuses for matrix computations | |
Thompson | Fourier transforms in VLSI | |
US5659780A (en) | Pipelined SIMD-systolic array processor and methods thereof | |
JP2513960B2 (ja) | マルチプロセッサ・システムとその動作方法 | |
EP0268435B1 (en) | Multinode reconfigurable pipeline computer | |
US5790879A (en) | Pipelined-systolic single-instruction stream multiple-data stream (SIMD) array processing with broadcasting control, and method of operating same | |
JPH03138759A (ja) | 信号プロセツサ | |
US7581080B2 (en) | Method for manipulating data in a group of processing elements according to locally maintained counts | |
JPS63167967A (ja) | ディジタル信号処理集積回路 | |
Kratz et al. | A microprogrammed approach to signal processing | |
US7263543B2 (en) | Method for manipulating data in a group of processing elements to transpose the data using a memory stack | |
US7596678B2 (en) | Method of shifting data along diagonals in a group of processing elements to transpose the data | |
US8856493B2 (en) | System of rotating data in a plurality of processing elements | |
JPS63147255A (ja) | 複数の直列接続段を有する計算用プロセッサおよびこのプロセッサを応用したコンピュータならびに計算方法 | |
CA1273711A (en) | Memory-linked wavefront array processor | |
Sarbazi-Azad et al. | A parallel algorithm for Lagrange interpolation on the star graph | |
Evans et al. | The solution of linear systems by the QIF algorithm on a wavefront array processor | |
Zehendner | Simulating systolic arrays on maspar machines | |
US7930518B2 (en) | Method for manipulating data in a group of processing elements to perform a reflection of the data | |
KR20240112371A (ko) | 범용 시스톨릭 어레이 | |
Deguchi et al. | Integrated parallel image processings on a pipelined MIMD multi-processor system PSM |