JPH0922404A - 同報通信プロセッサ命令を備えたアレイ・プロセッサ通信アーキテクチャ - Google Patents

同報通信プロセッサ命令を備えたアレイ・プロセッサ通信アーキテクチャ

Info

Publication number
JPH0922404A
JPH0922404A JP8022362A JP2236296A JPH0922404A JP H0922404 A JPH0922404 A JP H0922404A JP 8022362 A JP8022362 A JP 8022362A JP 2236296 A JP2236296 A JP 2236296A JP H0922404 A JPH0922404 A JP H0922404A
Authority
JP
Japan
Prior art keywords
register
instruction
operand
execution unit
coupled
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP8022362A
Other languages
English (en)
Inventor
Gerald G Pechanek
ジェラルド・ジー・ペチャネク
D Larcen Larry
ラリー・ディー・ラルセン
Clair John Glossner
クレア・ジョン・グロスナー
Stamatis Vassiliadis
スタマティス・ヴァッシリアディス
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH0922404A publication Critical patent/JPH0922404A/ja
Pending 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
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17356Indirect interconnection networks
    • G06F15/17368Indirect interconnection networks non hierarchical topologies
    • G06F15/17381Two dimensional, e.g. mesh, torus

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Advance Control (AREA)
  • Multi Processors (AREA)

Abstract

(57)【要約】 (修正有) 【課題】 すべてのPEに同報通信される命令により、
単一命令複数データ・プロセッサ・アレイのPE間にお
けるオペランドと結果のやりとりを動的に制御する。 【解決手段】 複数のPEは、命令メモリを備えた順序
付け制御ユニットに対し共通の命令バスによってクラス
タ状に接続されている。各PEは、少なくとも4つの最
近隣PEに接続されたデータ・バスと、複数のオペラン
ド・レジスタを含む汎用レジスタ・ファイルとを有す
る。共通命令は命令バスを介して各PEに同報通信され
る。この命令は、レジスタ・ファイル内のオペランドに
ついて実行される演算を制御する。各PEには、演算結
果の宛先として第1の近隣PEとそれ自体とを相互接続
するためにスイッチが1つずつ含まれている。命令は、
宛先近隣PEを動的に選択するためにPE内のスイッチ
を制御する宛先フィールドと、別の近隣PEから受け取
った結果の格納先になるオペランド・レジスタを動的に
選択する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】開示されている本発明は、一
般的にはデータ処理システムおよび方法に関し、より具
体的にはアレイ・プロセッサ・アーキテクチャの改良に
関する。
【0002】
【従来の技術】命令主導型プログラム可能並列処理シス
テムにおける通信は、通常、処理要素間で通信する際の
固有の待ち時間として処理される。通信命令およびバッ
ファ・メモリ間の通信は、処理要素間のインタフェース
を取るための標準的な手法である。このような手法はい
ずれも、データをさらに処理するために事前に対処しな
ければならない固有の待ち時間を処理するものである。
これは、並列処理システムが達成可能な潜在的パフォー
マンスを低下させる。
【0003】
【発明が解決しようとする課題】したがって、本発明の
一目的は、改良された命令主導型プログラム可能並列処
理システムを提供することにある。
【0004】本発明の他の目的は、プロセッサ間で通信
する際に固有の待ち時間を低減する、改良された並列処
理システムを提供することにある。
【0005】本発明の他の目的は、改良されたパフォー
マンス特性を有する、改良された並列処理システムを提
供することにある。
【0006】
【課題を解決するための手段】上記およびその他の目
的、特徴、利点は、本発明により達成される。複数のプ
ロセッサ要素(PE)は、命令メモリから取り出した命
令を分配する制御ユニットまたはシーケンス・プロセッ
サ(SP)に対し共通の命令バスによってクラスタ状に
接続されている。それぞれのPEは、線形アレイ状の少
なくとも2つのPEと、その北、南、東、西の各近隣P
Eという4近隣PEメッシュにおける少なくとも4つの
最近隣PEとに接続されたデータ・バスを有する。ま
た、それぞれのPEは、複数のオペランド・レジスタを
含む汎用レジスタ・ファイルも有する。命令メモリから
取り出した共通命令は、命令バスを介して制御ユニット
によってクラスタ内の各PEに同報通信される。この命
令は、レジスタ・ファイル内の1つまたは複数のオペラ
ンド・レジスタからのオペランドについてPE内の実行
ユニットによって実行される算術演算、論理演算、また
はパス・スルー操作を制御する命令コード値を含む。そ
れぞれのPEには、実行ユニットからの結果の送信先に
なる宛先として第1の近隣PEとそれ自体とを相互接続
するためにスイッチが1つずつ含まれている。本発明に
よれば、同報通信命令は、PE間の通信経路を動的に構
成するために、PE内のスイッチを制御する宛先フィー
ルドを含み、それにより、結果の送信先になる宛先PE
を選択する。さらに本発明によれば、同報通信命令は、
スイッチが構成した通信経路を介してクラスタ内の別の
近隣PEから受け取った別の結果の格納先になる、PE
のレジスタ・ファイル内のオペランド・レジスタを動的
に選択するターゲット・フィールドを含む。このため、
クラスタ内のすべてのPEに同報通信される命令は、単
一命令複数データ・プロセッサ・アレイのクラスタ内の
PE間におけるオペランドと結果のやりとりを動的に制
御する。
【0007】上記およびその他の目的、特徴、利点は、
添付図面を参照することによりさらに十分理解されるだ
ろう。
【0008】
【発明の実施の形態】図1は、アレイ・プロセッサ・マ
シン編成の高レベル図を示している。このマシン編成
は、グローバル・メモリおよび外部入出力を含むシステ
ム・インタフェース100と、ローカル・メモリ102
を備えた複数制御ユニット103と、分散制御PE10
4を備えた実行アレイという3つの主要部分に区分され
ている。システム・インタフェースは、アレイ・プロセ
ッサがグローバル・メモリ、入出力、他のシステム・プ
ロセッサ、パーソナル・コンピュータ/ワークステーシ
ョン・ホストとのインタフェースを取る際に使用するア
プリケーション依存インタフェースである。その結果、
システム・インタフェースは、アプリケーションおよび
全体的なシステム設計によって異なることになる。制御
ユニット103は、命令およびデータ格納用のローカル
・メモリ102と、命令取出し(I取出し)機構と、オ
ペランドまたはデータ取出し機構(D取出し)とを含
む。分散制御PE104を備えた実行アレイは、特定ア
プリケーション用に選択された処理要素からなる計算ト
ポロジである。たとえば、このアレイは、1つの制御ユ
ニット103当たりN個の処理要素(PE)104から
構成することができ、それぞれのPEが命令バッファ
(IMRY)106と、汎用レジスタ・ファイル(GP
RF)108と、機能実行ユニット(FNS)110
と、通信機構(COM)112と、その命令バス114
およびそのデータ・バスへのインタフェースとを含むこ
とができる。また、PEは、PEローカルの命令メモリ
およびデータ・メモリを含むこともできる。さらに、そ
れぞれのPEは、図4に示す命令デコード・レジスタ1
16を含み、それが複数のPEの分散制御をサポートす
る。ローカル・メモリ・アクセスの同期は、制御ユニッ
ト103と、ローカル・メモリ102と、PE104と
の協調プロセスである。複数PEのアレイにより、計算
機能(FNS)をPE内で並列に実行することができ、
結果をPE間でやりとり(COM)することができる。
【0009】図1のような複数単一命令複数データ(M
SIMD)マシン編成の場合、アプリケーションに応じ
てより最適なトポロジになるように、複数のPEと通信
機構からなるトポロジを構成することができる、単一ま
たは複数スレッド・マシンの作成が可能である。たとえ
ば、考えられるマシン編成としては、複数線形リング、
最近隣2次元メッシュ・アレイ、折返し最近隣2次元メ
ッシュ、複数折返しメッシュ、2次元六角アレイ、折返
し2次元六角アレイ、複数ツリーの折返しメッシュ、上
記ならびにその他の組合せなどがある。
【0010】アレイ・プロセッサ・ファミリーに関連す
る基本概念は、直接接続された処理要素間の結果のやり
とりは、図2および図3の処理要素命令セット・アーキ
テクチャ115で指定することができるというものであ
る。典型的なRISCユニプロセッサでは、機能実行ユ
ニットからの結果の宛先はそのプロセッサ専用のレジス
タ・ファイルになると思われる。アレイ・プロセッサで
は、この「伝統」を打ち破り、直接接続の複数プロセッ
サの宛先から、暗黙の単一プロセッサ・ローカル宛先
に、結果の宛先定義を変更する。このアーキテクチャと
直接接続のPE間リンクにより、直接接続のPE間の通
信は通信待ち時間ゼロで実行可能であると主張すること
ができる。このアーキテクチャは、ターゲット・フィー
ルド126によって指定される結果ターゲット・レジス
タが所在する、直接接続の後続PEを示す単方向命令1
15に宛先フィールド120を含めることによってこの
機能を提供する。図2は、プロセッサで使用する基本単
方向32ビット命令115を示している。ただし、16
ビット、64ビットなどの形式も同じ原理を使用するこ
とができる。4近隣PEの場合、北、東、西、南の各宛
先PEが宛先フィールド120にコード化される。この
場合、アレイ・プロセッサは、最高8つのクラスタ化プ
ロセッサ(3折返しアレイで使用する)と最高8近隣ア
レイなどの16個の宛先まで拡張できるように、4ビッ
トのフィールドを提供している。直接接続のPEを備え
たトポロジの例としては、最近隣メッシュ、折返しメッ
シュ、ツリー・アレイ、ハイパーキューブなどがある。
また、クラスタ化および最近隣メッシュ編成のために、
物理設計プロセスでは直接接続のPE同士を互いに極め
て接近して配置し、短いサイクル時間をサポートするこ
とにも留意されたい。さらに、0通信待ち時間を可能に
するためだけでなく、処理要素のSIMDアレイでハザ
ードのない通信を保証するためにも、命令セット形式で
の通信宛先指定のこのバインドを意図的に行うことにも
留意されたい。ここでは、アレイ・プロセッサを例にと
って、上記の通信概念の実現に関連する詳細アーキテク
チャを説明する。
【0011】アレイ・プロセッサ命令115では、オペ
ランド1フィールド122とオペランド2フィールド1
24とターゲット・フォールド126はレジスタ指定で
あり、宛先フィールド120は、結果の通信先になる直
接接続の後続処理要素を指定するものである。命令コー
ド・フィールド128は、指定の実行ユニットによって
実行される算術演算、論理演算、またはパス・スルー操
作を指定するものである。
【0012】このタイプのSIMDアレイ・プロセッサ
では、図3の第2の命令形式例に示すように宛先フィー
ルドにタグを付け、シーケンサ・コントローラ・ユニッ
トでモード制御命令を使用してこのタグを設定すること
が可能である。次に、このタグがアレイ内のPEに分散
される。通信方向を変更するため、結果値をやりとりす
る命令を実行する前にモード制御命令が出される。この
手法にはいくつかの意味がある。第1に、タグを付ける
ことにより、その命令が機能宛先用の命令フィールドを
完全に利用する。第2に、通信中に宛先を変更する必要
がある場合、タグを付けることにより必ず追加の待ち時
間が発生する。サロゲート超長命令ワード(VLIW)
内の個別の実行可能命令フィールドとしてタグ・レジス
タのロードを組み込むことができる場合は、サイクルご
とに宛先を変更することが可能になる。このため、制御
アルゴリズムが複雑になる代わりに、タグ設定待ち時間
の影響が最小限になる。
【0013】次に、単一対角折返しアレイ・プロセッサ
要素(PE)のデータ・フローについて、簡単に説明す
る。折返しアレイ・ノードには、単一処理要素を含む対
角ノードと、それぞれ2つのPEを含むノードという2
つのタイプがある。それぞれのタイプの詳細について
は、以下に説明する。
【0014】それぞれの折返しアレイ・ノードのコア論
理回路は処理要素(PE)104である。前述のよう
に、折返しアレイには、単一処理要素を含むものと、2
つの処理要素を含むものの2つのノード・タイプがあ
る。単一PEノードは折返しメッシュの対角線上にある
もので、4×4単一対角折返しアレイにはこのようなノ
ードが4つある。残りの6つのノードはPEをそれぞれ
2つずつ含んでいる。したがって、全体としては、折返
し4×4アレイ内の16個の処理要素が10個のノード
間に分散している。
【0015】図4のすべての処理要素104は、固定小
数点/浮動小数点乗算/加算ユニット(MAU)110
と、ALU110aと、データ選択ユニット(DSU)
110bと、32個のGPRを含む汎用レジスタ・ファ
イル(GPRF)108とを含む、共通する1組の演算
フロー構成要素を含んでいる。また、それぞれのPE1
04は、PEデコード・レジスタ(PDR)106と、
命令デコード論理回路と、PEによって実行される命令
を保持するためのPE実行レジスタ(PXR)という命
令パイプライン・ハードウェアも含んでいる。さらに、
本来は32ビットまたは単方向命令ワードに含めるべき
並列操作の指定が多すぎると思われるVLIWを保持す
るために、それぞれのPEには小規模なサロゲート命令
メモリ(SIM)も含まれる。SIMの周りの論理回路
は、特別に設計された命令を使用してSIMのロードを
行わせる。最後に、関連のロードおよびストア・アドレ
ス生成ユニットともに、ローカルPEデータ・メモリが
それぞれのPEごとに含まれている。
【0016】この共通する1組のフロー構成要素は、折
返しアレイを構成する単一PEノードと二重PEノード
を作成するために、様々なスイッチ要素とその他の論理
回路によって増強されている。
【0017】前述のように、それぞれのPEは、命令デ
コードおよび実行レジスタ(それぞれの短縮名はPDR
とPXRである)と命令デコード論理回路を含む、専用
の命令パイプライン論理回路を実現する。PEが実行で
きないことは、それ専用の命令スレッドを決定すること
である(PEには命令アドレス・レジスタと関連の順序
付け論理回路がない)。マシンのシーケンス・プロセッ
サ(SP)または制御ユニット103は、それ自体と関
連PE104の両方について命令取出しタスクを実施す
るよう機能する。したがって、所与のSP103に接続
されたPEには、SP103から命令115が供給され
る。命令115は、命令バス114を介してすべての接
続PEに同報通信される。次に、それぞれのPE104
は、これらの命令を(PDRに)登録し、その後、デコ
ードして実行する。
【0018】PE命令パイプライン・フローのもう1つ
の部分は、サロゲート命令メモリすなわち略してSIM
である。SIM(RAMとROMの組合せでもよい)
は、PEがVLIW(複数のフロー要素でアクションの
実行を行わせる命令)を実行できるようにするために含
まれている。このタイプの命令は、通常の命令より複雑
になる傾向があり、一般に表現するには単一PE命令ワ
ードで使用可能なビット数より多くのビット数を必要と
する。このような制約を回避するため、VLIW命令を
その代りとなるサロゲートまたはプレース・ホルダー命
令によって1つの命令ストリームで表現するという技法
が提案されている。この場合、命令ストリーム内で(P
E内の論理回路によって)サロゲート命令が見つかる
と、そのサロゲート命令によって指定されたVLIWが
SIMからアクセスされ、サロゲート命令の代わりに実
行される。PE内の他の論理回路は、特殊命令を使用し
てSIMへの命令のロードを容易にする。当然のことな
がら、ROM内にいくつかのVLIWが保持されている
場合には、それをロードする必要はない。おそらく、ほ
とんどのアプリケーションには、ROMベースのSIM
とRAMベースのSIMを組み合わせたものが望まし
い。
【0019】通信制御について以下に説明する。図4
は、単一PE(対角)処理ノードのフローを示してい
る。同図に示すように、このノードは、単一PE104
によって提供される構成要素のすべて(MAU、AL
U、DSU、GPRF、およびローカルPEデータ・メ
モリ)と、最近隣およびDバス・データをレジスタとの
間でやりとりするためのスイッチ/選択論理回路とを含
んでいる。提供される命令パイプライン経路論理回路
は、通常の命令とサロゲート命令を規則正しくデコード
して実行するためのものである。
【0020】折返しメッシュ・アレイ用に提案された二
重PEノード・フロー(図5を参照)は、2つのPE1
04および104'の算術要素をすべて含んでいる。す
なわち、このノード・フローは、2つのMAUと、2つ
のALUと、2つのDSUと、2組のGPRと、2つの
ローカルPEデータ・メモリとを有する。2つのPEに
共通のスイッチ論理回路112は、4つの最近隣通信経
路と、2つのデータ・バスと、2つの命令バス接続に対
応するものである。ノードの上半分と下半分(単純に上
部PEと下部PEと呼ぶ)は、同じ同報通信命令を別々
に実行するので、それぞれ専用の命令レジスタとデコー
ド論理回路を有する。二重PEノードの上半分と下半分
の間の通信を容易にするため、GPRF入力ポート上の
マルチプレクサにより、任意のソースからのロード・デ
ータを命令宛先フィールド指定によっていずれかのGP
RFに書き込むことができる。
【0021】それぞれのPEには、PEでの基本動作モ
ードを制御するために2つのモード制御レジスタが設け
られている。第1のモード制御レジスタは、Iバス・ス
イッチ、Dバス・スイッチ、最近隣/隣接PE通信モー
ド、リング/アレイ・モードなどの構成ビットを含んで
いる。第2のモード制御レジスタは、特定の実行ユニッ
トの結果の丸めと飽和を制御するための算術オプション
を含んでいる。2つのPE命令は2つのレジスタのロー
ドを制御する。PEモード設定命令は、構成ビットを制
御し、その命令に含まれる即時モード制御情報をすべて
のPEにロードする。PE丸め/飽和設定命令は、第2
のレジスタをロードする。
【0022】構成モード・レジスタの場合、2つのIA
/IBバス・ポートと2つのDA/DBバス・ポートを
上部PEと下部PEに接続する方法を二重PEで指定す
る構成モード・レジスタからIバス・スイッチとDバス
・スイッチが制御される。このようなスイッチ設定を使
用すると、IバスとDバスをアレイの行PEまたは列P
Eに接続することができる。追加のモード・ビットは、
PEが最近隣または隣接PE通信モードになっているか
どうかを示すものである。最近隣/隣接PEインタフェ
ースはそれに応じて変更されるので、独立した行リング
または列リングを使用するときにPE間インタフェース
をどのように使用するかについて、モード情報も提供し
なければならない。動作モード・ビット定義は以下の通
りである。 Iバス・スイッチ 0=IAバス・ポートは上部PEに接続し、IBバス・
ポートは下部PEに接続する 1=IAバス・ポートは下部PEに接続し、IBバス・
ポートは上部PEに接続する Dバス・スイッチ 0=DAバス・ポートは上部PEに接続し、DBバス・
ポートは下部PEに接続する 1=DAバス・ポートは下部PEに接続し、DBバス・
ポートは上部PEに接続する 最近隣/隣接PE通信モード 0=最近隣通信可 1=隣接PE通信可 リング/アレイ・モード 00=行リング: NおよびSポート不可、EおよびW
ポート可 01=列リング: EおよびWポート不可、NおよびS
ポート可 10=予約済み 11=アレイ・モード
【0023】図4および図5に示すPEフロー図は、実
行中の命令から制御されるスイッチを示している。この
ノードには、PE−NETスイッチ、データバス(Dバ
ス)スイッチ、命令バス(Iバス)スイッチ(二重PE
ノードの場合のみ)という3つのタイプのスイッチが示
されている。PE−NETスイッチはPE内で実行中の
命令によって制御され、Iバス・スイッチとDバス・ス
イッチはPEモード制御レジスタによって制御される。
PEは、PE−NETスイッチを制御することにより、
ノード間で様々な方法でデータを交換する。
【0024】二重PEノード用の最近隣(PE−NE
T)送信/受信機構は、4つの両方向ドライバ/レシー
バ・ポートまたは4つの個別入力および4つの個別出力
のためのドライバ/レシーバ・ポートを含む。個別入出
力ポートの場合、それぞれの最近隣通信方向に対して入
出力対が1つずつ割り当てられている。一般に、たとえ
ば最近隣PEなどの直接接続PEにデータを送信するた
めにこれらのポートの1つが割り当てられると、同時に
別のPEからデータを受信するために別のポートも方向
付けられる。二重PEノードでは、ドライバ/レシーバ
・ポートのうちの2つだけが同時にデータを送信し、他
の2つが同時にデータを受信するよう保証するために、
制御回路が設けられている。検討すべき特定のケースと
しては4通りある。すなわち、東送信西受信と、北送信
南受信と、南送信北受信と、西送信東受信である。対角
PE(図4)は、西/北ポートおよび南/東ポートを共
用し、したがって、対角PE当たり2つの最近隣タイプ
の入出力ポートだけを必要とする。ただし、二重PEノ
ードでは、受信/送信機構が4つの入出力ポートから構
成されることに留意されたい。
【0025】図6および図7は、図4および図5より大
まかに単一PEノードと二重PEノードを示し、考えら
れる4通りの送信モードをサポートする際に最近隣ポー
トを使用する方法の例を示している。サポートされる通
信モードにより、データは4つの基本方向に送信され、
同時に反対方向から受信される。たとえば、北に送信
し、南から受信する。
【0026】図8および図9は、4近隣アレイの場合の
隣接PEの論理表現(すなわち、折返しなしメッシュ)
と折返しメッシュ表現とを示すもので、以下の4通りの
通信モードが可能である。 列リング0−−列リング1および列リング2−−列リン
グ3 図8(A)および(B) 列リング0−−列リング3および列リング1−−列リン
グ2 図8(C)および(D) 行リング0−−行リング3および行リング1−−行リン
グ2 図9(C)および(D) 行リング0−−行リング1および行リング2−−行リン
グ3 図9(A)および(B)
【0027】図4および図5に示すように、折返しアレ
イ・ノードはそれぞれ1つまたは2つの処理要素を含
む。PEはすべて同じであり、それぞれ、一般的な2つ
のタイプの算術ユニットであるALUおよび固定小数点
/浮動小数点乗算/加算ユニット(MAU)と、データ
選択ユニット(DSU)と、ローカル・ロード・データ
・アドレス・ジェネレータと、ローカル・ストア・デー
タ・アドレス・ジェネレータと、ノードで実行される演
算用のオペランドと作業結果を保持するよう機能する3
2個のGPRからなるセットとを含んでいる。このレジ
スタ・セットは汎用レジスタ・ファイル、略してGPR
Fと呼ぶ。その個々の処理要素とGPRファイルとを示
すPEデータ・フロー編成の図は図10に示す。
【0028】3つのクラスの乗算/加算ユニットMAU
命令が体系化されているが、第1のクラスは16×16
単精度32ビット固定小数点結果用であり、第2のクラ
スは32×32/複式16×16倍精度32ビット固定
小数点結果用であり、第3のクラスは単精度実浮動小数
点乗算加算結果用である。アレイ・プロセッサは、上記
のオプションのいずれか1つをサポートして、完全アー
キテクチャのサブセットとして動作するように設計する
ことができる。64ビットの結果(または2つの32ビ
ットの結果)の場合、下位半分の32ビットがバスQを
使用する。16×16MAUを備えた実施態様の場合の
み、Qバスを使用しない。32ビット・アレイ・プロセ
ッサでは、32×32MAU命令はその結果をローカル
GPRFに書き戻すことしかできない。32×32MA
U命令では宛先フィールドが使用されず、第2の32ビ
ットの結果は指定されたターゲット・レジスタの次のタ
ーゲット・レジスタに書き戻される。32×32MAU
命令用のクラスタ化通信と最近隣インタフェースの使用
は、64ビット最近隣ポートを備えた将来のマシン用に
予約されている。ただし、処理要素のフローはアレイ・
ノード間の通信に必要なスイッチ論理回路のいずれも含
まず、その論理回路はノード自体に固有のものであるこ
とに留意されたい。その考え方は、PE用の論理回路は
マクロとして設計することができ、アレイを構築するた
めに繰り返し使用することができるというものである。
これは、6つの未接続GPRF入力ポートを備えて設計
されるPE向けであり、そのPEが含まれる特定のノー
ドに適した方法でこれらの入力が接続されるようにする
ものである。図10は、ALU、MAU、DSUからの
典型的な直接接続(破線で示す)を示している。このよ
うな直接接続をより完全に示す図は、単一PEノード・
フロー図(図4)に示されている。
【0029】GPRF入力ポートは、二重PEノード・
フロー図(図5)に示すように多重化することもでき
る。
【0030】データ選択ユニット(DSU)110b
は、レジスタ間移動とデータ・シフト操作で使用する。
移動の宛先が別の移動のソースでもある(レジスタがP
E対間の共通宛先になる)ような特定の状況では、スワ
ップ機能を実施することができる。DSUの一般形式に
ついては図11に示す。
【0031】データ・セレクタ内の論理回路は、命令に
応じてソースから宛先に渡すデータを変更するために使
用する。たとえば、ソース・レジスタから1バイトを選
択し、次にそれを符号拡張形式で宛先にロードする場
合、データ・セレクタはバイト位置合せ機能と符号拡張
機能を実行する。この種の操作の単純な例は図12に示
す。図12の例では、ソースのバイトBが宛先レジスタ
の下位8ビットに置かれ、残りの宛先ビットはすべてこ
のバイトの符号ビットと同じ値にされる。
【0032】データ・セレクタは、ワード移動、ハーフ
ワード移動、バイト移動の3つのタイプのデータ選択/
移動操作を提供する。これらのタイプの移動の範囲内で
所与の変形がサポートされる。 ワード移動 ハーフワード移動 任意のソース・ハーフワードから任意の宛先ハーフワー
ドへ 任意のソース・ハーフワードからワードの下位半分へ 上位ハーフワードは強制的にすべて0になる 上位ハーフワードは強制的にすべて1になる 上位ハーフワードは強制的に下位ハーフワードの符号値
になる バイト移動 任意のソース・バイトから任意の宛先バイトへ 任意のソース・バイトから下位宛先バイトへ 上位バイトは強制的にすべて0になる 上位バイトは強制的にすべて1になる 上位バイトは強制的に下位バイトの符号値になる 上位または下位ソース・バイト対(b0とb1、b2と
b3)から宛先バイトb1とb3へ 上位バイトは強制的にすべて0になる 上位バイトは強制的にすべて1になる 上位バイトは強制的に下位バイトの符号値になる
【0033】PE実行ユニットが演算を実行すると、結
果の出力(P、U、またはT)は、実行ユニットと同じ
PE内(ローカル・レジスタ)、対のPE内(二重クラ
スタPEノード内)、または直接接続PE内のいずれか
に存在する可能性のある宛先レジスタに送られる。いず
れの場合も図2のターゲット・レジスタ126は、その
命令の宛先フィールド120とともに指定される。表1
および表2は、現在定義されている宛先オプションを列
挙したものである。このフィールドは特定の命令に合わ
せて変更することができる。サロゲート命令の場合は、
1つの実行ユニットだけが最近隣インタフェースを使用
するように指定される。
【0034】次に、折返しアレイ2次元(2D)離散余
弦変換について説明する。
【0035】対称離散余弦変換(DCT)の信号フロー
の図を図13に示す。ただし、出力は2C(u)/Nで
スケーリングされ、u=0の場合はC(u)=1/sq
rt2であり、それ以外の場合はC(u)=1であるこ
とに留意されたい。また、c#x=cos(#π/1
6)であり、1/(4sqrt2)=c4x/4である
ことに留意されたい。なお、「sqrt2」は2の平方
根(ルート2)を表す。
【0036】2−D DCTの場合、列の1−D DC
Tに続いて行の1−D DCTを行うことによって、2
−D DCTの結果が得られる。最近隣ポートによる乗
算累積およびレジスタ転送手続きが使用される。バタフ
ライ結果は16ビットであり、最近隣ポートは32ビッ
トであるので、それぞれのサイクルではPE間で偶数と
奇数両方のバタフライ値を送ることができる。各PEの
複式16×16乗算器により、同じ4つのサイクルで4
列の1−D DCTの偶数部分と奇数部分の両方を計算
することができる。列の1−D DCT式は表3に示
す。以下のリストの小文字「z」は、処理中の列番号を
表している。図14はバタフライ・サロゲートの実行を
示している。図15は乗算加算およびDSU送信サロゲ
ートの第1の実行を示している。図16は乗算加算およ
びDSU送信サロゲートの第2の実行を示している。図
17は乗算加算およびDSU送信サロゲートの第3の実
行を示している。図18は乗算加算およびDSU送信サ
ロゲートの第4の実行を示している。図19はクラスタ
化プロセッサ要素宛先サロゲートでのバタフライの実行
を示している。
【0037】さらに4サイクルで8列の1−D DCT
がすべて終了する。出力のスケーリングはいくつかの既
知の方法で行うことができるので、ここでは詳しく説明
しない。手続きは続いて行値に関する1−D DCTを
実行する。まず、ハーフワード・バタフライ・サロゲー
ト命令がすべての行バタフライ値を生成し、その値を図
19に示すパターンにする。この場合、Az〜Hzの
「z」は列番号ではなく行番号を表している。ただし、
ハーフワード・バタフライ命令がその結果をローカル・
レジスタではなく対のPEのレジスタに送ることに留意
されたい。これは、データが係数に揃うようにするため
に使用する二重PE間の通信操作である。 Az=f0z+f7z Bz=f1z+f6z Cz=f2z+f5z Dz=f3z+f4z Ez=f3z−f4z Fz=f2z−f5z Gz=f1z−f6z Hz=f0z−f7z
【0038】次に、一連の8回の乗算加算送信操作が完
了し、続いてスケーリング(シフト)操作が行われて2
−D DCTを終結する。ただし、行については、列に
ついて行ったのとは異なる順序で行われることに留意さ
れたい。偶数行については第1の組の4回の32乗算操
作を行った後、奇数行について第2の組の4回の32乗
算を行う。第1の1−D DCTでは、まず列0〜3に
ついて行われ、続いて列4〜7について行われる。最終
結果は、8×8アレイ全体について2−D DCTを実
施した場合と同じになる。JPEGおよびMPEGアル
ゴリズムでは、2−D DCTに続いて量子化ステップ
が行われるが、その場合、スケーリング・ステップを量
子化ステップに含めることができる。8×8の2−D
DCT(スケーリングを除く)のサイクル総数は18サ
イクルになる。
【0039】問題とその解決方法を要約すると以下の通
りである。 1.複数の処理要素からなるアレイ内の処理要素間に待
ち時間の短いプログラム可能な通信機構を設ける 機能実行ユニットからの結果の宛先指定は、常時ローカ
ル・プロセッサの記憶域(レジスタ・ファイル)から任
意の直接接続プロセッサの記憶域(レジスタ・ファイ
ル)に変更される。 2.複数の処理要素からなるアレイ内のパイプライン 待ち時間ゼロで処理要素間で結果をやりとりするため、
処理要素のアレイ内で計算をパイプライン化することが
できる。 3.クラスタ化処理要素間の通信 クラスタ化処理要素を含めるための特殊データ選択ユニ
ット命令と直接接続宛先指定の拡張により、クラスタ化
処理要素間で待ち時間ゼロの通信が可能になり、相互接
続されたアレイ全体でパイプライン化できる能力が得ら
れる。
【0040】 表1 最近隣結果宛先(Xの代わりにP/U/Sを使用する) 宛先 単一PEのアクション 二重PEのアクション 0000 ローカルGPRFレジスタ←X ローカルGPRFレジスタ←X 0001 ローカルGPRFレジスタ←X 置換PEのGPRFレジスタ←X 0010 ハイパーキューブ補数PE ハイパーキューブ補数PE GPRFレジスタ←X GPRFレジスタ←X 0011 クラスタ化宛先用に予約 クラスタ化宛先用に予約 : クラスタ化宛先用に予約 クラスタ化宛先用に予約 0111 クラスタ化宛先用に予約 クラスタ化宛先用に予約 1000 ・W/N出力ポート ・N/W出力ポート 北 ←ローカルX ←ローカルXt ・TRGTレジスタ ・上部PEのTRGTレジスタ ←ポート南XのS/E ←ポート南XtのS/E ・W/N出力ポート ←ローカルXb ・下部PEのTRGTレジスタ ←ポート南XbのE/S 1001 予約 予約 北 (例:8−NN:NEポート) (例:8−NN:NEポート) 東 1010 ・S/E出力ポート ・E/S出力ポート 東 ←ローカルX ←ローカルXt ・TRGTレジスタ ・上部PEのTRGTレジスタ ←ポート西XのW/N ←ポート西XtのW/N ・S/E出力ポート ←ローカルXb ・下部PEのTRGTレジスタ ←ポート西XbのN/W 1011 予約 予約 南 (例:8−NN:SEポート) (例:8−NN:SEポート) 東 1100 ・S/E出力ポート ・S/E出力ポート 南 ←ローカルX ←ローカルXt ・TRGTレジスタ ・上部PEのTRGTレジスタ ←ポート北XのW/N ←ポート北XtのN/W ・E/S出力ポート ←ローカルXb ・下部PEのTRGTレジスタ ←ポート北XbのW/N 1101 予約 予約 南 (例:8−NN:SWポート) (例:8−NN:SWポート) 西 1110 ・W/N出力ポート ・W/N出力ポート 西 ←ローカルX ←ローカルXt ・TRGTレジスタ ・上部PEのTRGTレジスタ ←ポート東XのS/E ←ポート東XtのE/S ・N/W出力ポート ←ローカルXb ・下部PEのTRGTレジスタ ←ポート東XbのS/E 1111 予約 予約 北 (例:8−NN:NWポート) (例:8−NN:NWポート) 西 注: 単一PEノードは2つの最近隣ポートを有し、二
重PEノードは4つのこのようなポートを有する。これ
らの使い方については、図6と図7にそれぞれ示されて
いる。XtとXbという表記は、図7に示す二重PEノ
ードの「上部」PEと「下部」PEを指している。
【0041】 表2 隣接PE結果宛先(Xの代わりにP/U/Sを使用する) 宛先 単一PEのアクション 二重PEのアクション 0000 ローカルGPRFレジスタ←X ローカルGPRFレジスタ←X 0001 ローカルGPRFレジスタ←X 置換PEのGPRFレジスタ←X 0010 ハイパーキューブ補数PE ハイパーキューブ補数PE GPRFレジスタ←X GPRFレジスタ←X 0011 クラスタ化宛先用に予約 クラスタ化宛先用に予約 : クラスタ化宛先用に予約 クラスタ化宛先用に予約 0111 クラスタ化宛先用に予約 クラスタ化宛先用に予約 1000 偶数行PE 偶数行PE 北 ・W/N出力ポート ・N/W出力ポート ←ローカルX ←ローカルXt ・TRGTレジスタ ・上部PEのTRGTレジスタ ←ポート北XのW/N ←ポート北XtのN/W ・W/N出力ポート ←ローカルXb ・下部PEのTRGTレジスタ ←ポート北XbのW/N 奇数行PE 奇数行PE ・S/E出力ポート ・S/E出力ポート ←ローカルX ←ローカルXt ・TRGTレジスタ ・上部PEのTRGTレジスタ ←ポート南XのS/E ←ポート南XtのS/E ・E/S出力ポート ←ローカルXb ・下部PEのTRGTレジスタ ←ポート南XbのE/S 1001 予約 予約 北 (例:8−NN:NEポート) (例:8−NN:NEポート) 東 1010 偶数列PE 偶数列PE 東 ・S/E出力ポート ・E/S出力ポート ←ローカルX ←ローカルXt ・TRGTレジスタ ・上部PEのTRGTレジスタ ←ポート東XのS/E ←ポート東XtのE/S ・S/E出力ポート ←ローカルXb ・下部PEのTRGTレジスタ ←ポート東XbのS/E 奇数列PE 奇数列PE ・W/N出力ポート ・W/N出力ポート ←ローカルX ←ローカルXt ・TRGTレジスタ ・上部PEのTRGTレジスタ ←ポート東XのW/N ←ポート東XtのW/N ・N/W出力ポート ←ローカルXb ・下部PEのTRGTレジスタ ←ポート東XbのN/W 1011 予約 予約 南 (例:8−NN:SEポート) (例:8−NN:SEポート) 東 1100 偶数行PE 偶数行PE 南 ・S/E出力ポート ・S/E出力ポート ←ローカルX ←ローカルXt ・TRGTレジスタ ・上部PEのTRGTレジスタ ←ポート南XのS/E ←ポート南XtのS/E ・E/S出力ポート ←ローカルXb ・下部PEのTRGTレジスタ ←ポート南XbのE/S 奇数行PE 奇数行PE ・W/N出力ポート ・N/W出力ポート ←ローカルX ←ローカルXt ・TRGTレジスタ ・上部PEのTRGTレジスタ ←ポート北XのW/N ←ポート北XtのN/W ・W/N出力ポート ←ローカルXb ・下部PEのTRGTレジスタ ←ポート北XbのW/N 1101 予約 予約 南 (例:8−NN:SWポート) (例:8−NN:SWポート) 西 1001 偶数列PE 偶数列PE 西 ・W/N出力ポート ・W/N出力ポート ←ローカルX ←ローカルXt ・TRGTレジスタ ・上部PEのTRGTレジスタ ←ポート西XのW/N ←ポート西XtのW/N ・N/W出力ポート ←ローカルXb ・下部PEのTRGTレジスタ ←ポート西XbのN/W 奇数列PE 奇数列PE ・S/E出力ポート ・E/S出力ポート ←ローカルX ←ローカルXt ・TRGTレジスタ ・上部PEのTRGTレジスタ ←ポート東XのS/E ←ポート東XtのE/S ・S/E出力ポート ←ローカルXb ・下部PEのTRGTレジスタ ←ポート東XbのS/E 1111 予約 予約 北 (例:8−NN:NWポート) (例:8−NN:NWポート) 西 注: 単一PEノードは2つの最近隣ポートを有し、二
重PEノードは4つのこのようなポートを有する。これ
らの使い方については、図6と図7にそれぞれ示されて
いる。XtとXbという表記は、図7に示す複式PEノ
ードの「上部」PEと「下部」PEを指している。
【0042】表3 1.各列のバタフライ計算(図14) ・Az=Pz0+Pz7 ・Bz=Pz1+Pz6 ・Cz=Pz2+Pz5 ・Dz=Pz3+Pz4 ・Ez=Pz3-Pz4 ・Fz=Pz2-Pz5 ・Gz=Pz1-Pz6 ・Hz=Pz0-Pz7 2.列z=0〜3の最初の32回の乗算、バタフライ結
果の列0〜3対を南へ送信(図15) ・fz0-1=Az(c4x) ・fz2-1=Bz(c6x) ・fz4-1=Cz(-c4x) ・fz6-1=Dz(-c6x) ・fz1-1=Ez(c7x) ・fz3-1=Fz(-cx) ・fz5-1=Gz(-cx) ・fz7-1=Hz(c7x) ・(Az,Hz), (Bz,Gz), (Cz,Fz), (Dz,Ez)を南PEに送信
する 3.列z=0〜3の2回目の32回の乗算、バタフライ
結果の列0〜3対を南へ送信(図16) ・fz0-2=(fz0-1=Az(c4x))+Dz(c4x) ・fz2-2=(fz2-1=Bz(c6x))+Az(c2x) ・fz4-2=(fz4-1=Cz(-c4x))+Bz(-c4x) ・fz6-2=(fz6-1=Dz(-c6x))+Cz(c2x) ・fz1-2=(fz1-1=Ez(c7x))+Fz(c5x) ・fz3-2=(fz3-1=Fz(-cx))+Gz(-c7x) ・fz5-2=(fz5-1=Gz(-cx))+Hz(c5x) ・fz7-2=(fz7-1=Hz(c7x))+Ez(-cx) ・(Az,Hz), (Bz,Gz), (Cz,Fz), (Dz,Ez)を南PEに送信
する 4.列z=0〜3の3回目の32回の乗算、バタフライ
結果の列0〜3対を南へ送信(図17) ・fz0-3=(fz0-2=Az(c4x)+Dz(c4x))+Cz(c4x) ・fz2-3=(fz2-2=Bz(c6x)+Az(c2x))+Dz(-c2x) ・fz4-3=(fz4-2=Cz(-c4x)+Bz(-c4x))+Az(c4x) ・fz6-3=(fz6-2=Dz(-c6x)+Cz(c2x))+Bz(-c2x) ・fz1-3=(fz1-2=Ez(c7x)+Fz(c5x))+Gz(c3x) ・fz3-3=(fz3-2=Fz(-cx)+Gz(-c7x))+Hz(c3x) ・fz5-3=(fz5-2=Gz(-cx)+Hz(c5x))+Ez(c3x) ・fz7-3=(fz7-2=Hz(c7x)+Ez(-cx))+Fz(c3x) ・(Az,Hz), (Bz,Gz), (Cz,Fz), (Dz,Ez)を南PEに送信
する 5.列z=0〜3の4回目の32回の乗算、バタフライ
結果の列0〜3対を南へ送信(図18) ・fz0-4=(fz0-3=Az(c4x)+Dz(c4x)+Cz(c4x))+Bz(c4x) ・fz2-4=(fz2-3=Bz(c6x)+Az(c2x)+Dz(-c2x))+Cz(-c6x) ・fz4-4=(fz4-3=Cz(-c4x)+Bz(-c4x)+Az(c4x))+Dz(c4x) ・fz6-4=(fz6-3=Dz(-c6x)+Cz(c2x)+Bz(-c2x))+Az(c6x) ・fz1-4=(fz1-3=Ez(c7x)+Fz(c5x)+Gz(c3x))+Hz(cx) ・fz3-4=(fz3-3=Fz(-cx)+Gz(-c7x)+Hz(c3x))+Ez(-c5x) ・fz5-4=(fz5-3=Gz(-cx)+Hz(c5x)+Ez(c3x))+Fz(c7x) ・fz7-4=(fz7-3=Hz(c7x)+Ez(-cx)+Fz(c3x))+Gz(-c5x) ・(Az,Hz), (Bz,Gz), (Cz,Fz), (Dz,Ez)を南PEに送信
する
【0043】まとめとして、本発明の構成に関して以下
の事項を開示する。
【0044】(1)それぞれが、ソース・レジスタを示
す第1の情報と、実行ユニット操作を示す第2の情報
と、実行ユニットから出力ポートへの経路指定を示す第
3の情報と、入力ポートからターゲット・レジスタへの
経路指定を示す第4の情報とを含む複数の命令を格納す
る記憶手段と、それぞれが命令バスによって前記記憶手
段に結合され、前記命令バスを介して同報通信された命
令を受信する複数の処理要素とを含み、前記処理要素の
それぞれが、前記同報通信された命令を受信するために
前記命令バスに結合された命令レジスタと、前記命令レ
ジスタに結合され、ターゲット・レジスタおよび第1の
オペランドを格納する第1のオペランド・レジスタを含
むレジスタ・ファイルと、前記命令レジスタに結合され
た実行ユニットと、前記処理要素の第1および第2の後
続処理要素にそれぞれ結合された出力を有する、少なく
とも第1および第2の出力ポートと、前記命令レジスタ
に結合されたスイッチ手段と、前記処理要素の第1およ
び第2の先行処理要素にそれぞれ結合された入力を有す
る、少なくとも第1および第2の入力ポートであって、
第1の入力ポートが第1の先行処理要素から第1の次オ
ペランドを受け取れるようになっており、第2の入力ポ
ートが第2の先行処理要素から第2の次オペランドを受
け取れるようになっている入力ポートとを含み、前記第
1の情報が、前記実行ユニットに前記第1のオペランド
を供給するために前記第1のオペランド・レジスタと前
記実行ユニットとの選択結合を制御し、前記第2の情報
が、結果オペランドを生成するために前記第1のオペラ
ンドについて操作を実行するように前記実行ユニットを
制御し、前記第3の情報が、第1の後続処理要素または
第2の後続処理要素に前記結果オペランドをそれぞれ供
給するために第1の出力ポートまたは第2の出力ポート
のいずれかに前記実行ユニットを選択的に結合するよう
に前記スイッチ手段を制御し、前記第4の情報が、前記
ターゲット・レジスタを前記第1の入力ポートに結合し
て前記第1の次オペランドを前記ターゲット・レジスタ
に供給するか、または前記ターゲット・レジスタを前記
第2の入力ポートに結合して前記第2の次オペランドを
前記ターゲット・レジスタに供給するために、前記スイ
ッチ手段を制御し、それにより、単一命令複数データ処
理を実行できることを特徴とする、データ処理システ
ム。 (2)前記第1の後続処理要素が、前記同報通信された
命令を受信するために前記命令バスに結合された第2の
命令レジスタと、前記命令レジスタに結合され、第2の
ターゲット・レジスタを含む第2のレジスタ・ファイル
と、前記結果オペランドを受信するために前記第1の出
力ポートに結合された受信側ポートを含む、少なくとも
2つの入力ポートと、前記第2の命令レジスタに結合さ
れた第2のスイッチ手段とを含み、前記第4の情報が前
記第2のターゲット・レジスタに前記結果オペランドを
供給するために前記第2のターゲット・レジスタを前記
受信側入力ポートに選択的に結合するように前記第2の
スイッチ手段を制御する、上記(1)に記載のデータ処
理システム。 (3)前記命令レジスタに結合された少なくとも2つの
実行ユニットをさらに含み、前記第1の情報が、そのう
ちの第1の実行ユニットに前記第1のオペランドを供給
するために前記第1の実行ユニットと前記第1のオペラ
ンド・レジスタの選択結合を制御し、前記第2の情報
が、第1の結果オペランドを生成するために前記第1の
オペランドについて操作を実行するように前記第1の実
行ユニットを制御し、前記第3の情報が、第1の後続処
理要素または第2の後続処理要素に前記第1の結果オペ
ランドをそれぞれ供給するために第1の出力ポートまた
は第2の出力ポートのいずれかに前記第1の実行ユニッ
トを選択的に結合するように前記スイッチ手段を制御す
ることを特徴とする、上記(1)に記載のデータ処理シ
ステム。 (4)前記記憶手段および前記命令バスに結合され、前
記記憶手段から命令を取り出して、それを前記複数の処
理要素に同報通信するための命令順序付け手段をさらに
含むことを特徴とする、上記(1)に記載のデータ処理
システム。 (5)それぞれが、ソース・レジスタを示す第1の情報
と、実行ユニット操作を示す第2の情報と、実行ユニッ
トから出力ポートへの経路指定を示す第3の情報と、入
力ポートからターゲット・レジスタへの経路指定を示す
第4の情報とを含む複数の命令を取り出すステップと、
複数の処理要素のそれぞれに前記命令の1つを同報通信
するステップと、第1のオペランドを供給するために、
第1のオペランド・レジスタと前記処理要素のそれぞれ
の実行ユニットとの選択結合を前記第1の情報により制
御するステップと、前記処理要素のそれぞれで結果オペ
ランドを生成するために前記第1のオペランドについて
操作を実行するように前記第2の情報により前記実行ユ
ニットを制御するステップと、第1の後続処理要素また
は第2の後続処理要素に前記結果オペランドをそれぞれ
供給するために第1の出力ポートまたは第2の出力ポー
トのいずれかに前記実行ユニットを選択的に結合するよ
うに前記第3の情報によりそれぞれの処理システム内の
スイッチ手段を制御するステップと、前記ターゲット・
レジスタを第1の入力ポートに結合して第1の次オペラ
ンドを前記ターゲット・レジスタに供給するか、または
前記ターゲット・レジスタを第2の入力ポートに結合し
て第2の次オペランドを前記ターゲット・レジスタに供
給するように前記第4の情報により制御するステップと
を含み、それにより、単一命令複数データ処理を実行で
きることを特徴とする、データ処理方法。
【図面の簡単な説明】
【図1】複数制御ユニットの高レベル・アレイ・マシン
編成図である。
【図2】本発明による通信用の命令形式例を示す図であ
る。
【図3】本発明による通信用の第2の命令形式例を示す
図である。
【図4】接続インタフェースを備えた単一プロセッサ要
素(対角)ノード・フローを示す図である。
【図5】接続インタフェースを備えた複式プロセッサ要
素ノード・フローを示す図である。
【図6】単一プロセッサ要素ノードにおける最近隣通信
例を示す図である。
【図7】複式プロセッサ要素ノードにおける最近隣通信
例を示す図である。
【図8】隣接プロセッサ要素列通信の論理および折返し
メッシュ表現を示す図である。
【図9】隣接プロセッサ要素行通信の論理および折返し
メッシュ表現を示す図である。
【図10】処理要素のフロー編成図であって、個々の処
理要素の流れを示し、そのすべての算術機構と、スイッ
チ論理回路およびプロセッサ要素対に接続するために検
出すべき点とを示す図である。
【図11】データ選択ユニットの一般形式図である。
【図12】使用するデータ選択ユニットの例を示す図で
あって、データ・セレクタ論理回路によって実行される
ように、ソースのバイトBが宛先レジスタの下位8ビッ
トに置かれ、残りのすべての宛先ビットが強制的にその
バイトの符号と同じになることを示す図である。
【図13】折返しアレイ高速偶数/奇数対称1−D D
CTを示す流れ図である。
【図14】バタフライ・サロゲートの実行を示す図であ
る。
【図15】乗算加算およびDSU送信サロゲートの第1
の実行を示す図である。
【図16】乗算加算およびDSU送信サロゲートの第2
の実行を示す図である。
【図17】乗算加算およびDSU送信サロゲートの第3
の実行を示す図である。
【図18】乗算加算およびDSU送信サロゲートの第4
の実行を示す図である。
【図19】クラスタ化プロセッサ要素宛先サロゲートを
備えたバタフライの実行を示す図である。
【符号の説明】
100 グローバル・メモリ 102 ローカル・メモリ 103 制御ユニット 104 分散制御PE 106 命令バッファ(IMRY) 108 汎用レジスタ・ファイル(GPRF) 110 機能実行ユニット(FNS) 112 通信機構(COM) 114 命令バス 116 命令デコード・レジスタ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ラリー・ディー・ラルセン アメリカ合衆国27609 ノース・カロライ ナ州レイリー エモリー・レーン 912 (72)発明者 クレア・ジョン・グロスナー アメリカ合衆国27707 ノース・カロライ ナ州ダラム ウォーリングフォード・プレ ース 4144 (72)発明者 スタマティス・ヴァッシリアディス オランダ2726 ズーテルメール ケンプホ ーフェ91 ピエール

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】それぞれが、ソース・レジスタを示す第1
    の情報と、実行ユニット操作を示す第2の情報と、実行
    ユニットから出力ポートへの経路指定を示す第3の情報
    と、入力ポートからターゲット・レジスタへの経路指定
    を示す第4の情報とを含む複数の命令を格納する記憶手
    段と、 それぞれが命令バスによって前記記憶手段に結合され、
    前記命令バスを介して同報通信された命令を受信する複
    数の処理要素とを含み、 前記処理要素のそれぞれが、 前記同報通信された命令を受信するために前記命令バス
    に結合された命令レジスタと、 前記命令レジスタに結合され、ターゲット・レジスタお
    よび第1のオペランドを格納する第1のオペランド・レ
    ジスタを含むレジスタ・ファイルと、 前記命令レジスタに結合された実行ユニットと、 前記処理要素の第1および第2の後続処理要素にそれぞ
    れ結合された出力を有する、少なくとも第1および第2
    の出力ポートと、 前記命令レジスタに結合されたスイッチ手段と、 前記処理要素の第1および第2の先行処理要素にそれぞ
    れ結合された入力を有する、少なくとも第1および第2
    の入力ポートであって、第1の入力ポートが第1の先行
    処理要素から第1の次オペランドを受け取れるようにな
    っており、第2の入力ポートが第2の先行処理要素から
    第2の次オペランドを受け取れるようになっている入力
    ポートとを含み、 前記第1の情報が、前記実行ユニットに前記第1のオペ
    ランドを供給するために前記第1のオペランド・レジス
    タと前記実行ユニットとの選択結合を制御し、 前記第2の情報が、結果オペランドを生成するために前
    記第1のオペランドについて操作を実行するように前記
    実行ユニットを制御し、 前記第3の情報が、第1の後続処理要素または第2の後
    続処理要素に前記結果オペランドをそれぞれ供給するた
    めに第1の出力ポートまたは第2の出力ポートのいずれ
    かに前記実行ユニットを選択的に結合するように前記ス
    イッチ手段を制御し、 前記第4の情報が、前記ターゲット・レジスタを前記第
    1の入力ポートに結合して前記第1の次オペランドを前
    記ターゲット・レジスタに供給するか、または前記ター
    ゲット・レジスタを前記第2の入力ポートに結合して前
    記第2の次オペランドを前記ターゲット・レジスタに供
    給するために、前記スイッチ手段を制御し、 それにより、単一命令複数データ処理を実行できること
    を特徴とする、データ処理システム。
  2. 【請求項2】前記第1の後続処理要素が、 前記同報通信された命令を受信するために前記命令バス
    に結合された第2の命令レジスタと、 前記命令レジスタに結合され、第2のターゲット・レジ
    スタを含む第2のレジスタ・ファイルと、 前記結果オペランドを受信するために前記第1の出力ポ
    ートに結合された受信側ポートを含む、少なくとも2つ
    の入力ポートと、 前記第2の命令レジスタに結合された第2のスイッチ手
    段とを含み、 前記第4の情報が前記第2のターゲット・レジスタに前
    記結果オペランドを供給するために前記第2のターゲッ
    ト・レジスタを前記受信側入力ポートに選択的に結合す
    るように前記第2のスイッチ手段を制御する、 請求項1に記載のデータ処理システム。
  3. 【請求項3】前記命令レジスタに結合された少なくとも
    2つの実行ユニットをさらに含み、前記第1の情報が、
    そのうちの第1の実行ユニットに前記第1のオペランド
    を供給するために前記第1の実行ユニットと前記第1の
    オペランド・レジスタの選択結合を制御し、 前記第2の情報が、第1の結果オペランドを生成するた
    めに前記第1のオペランドについて操作を実行するよう
    に前記第1の実行ユニットを制御し、 前記第3の情報が、第1の後続処理要素または第2の後
    続処理要素に前記第1の結果オペランドをそれぞれ供給
    するために第1の出力ポートまたは第2の出力ポートの
    いずれかに前記第1の実行ユニットを選択的に結合する
    ように前記スイッチ手段を制御することを特徴とする、
    請求項1に記載のデータ処理システム。
  4. 【請求項4】前記記憶手段および前記命令バスに結合さ
    れ、前記記憶手段から命令を取り出して、それを前記複
    数の処理要素に同報通信するための命令順序付け手段を
    さらに含むことを特徴とする、請求項1に記載のデータ
    処理システム。
  5. 【請求項5】それぞれが、ソース・レジスタを示す第1
    の情報と、実行ユニット操作を示す第2の情報と、実行
    ユニットから出力ポートへの経路指定を示す第3の情報
    と、入力ポートからターゲット・レジスタへの経路指定
    を示す第4の情報とを含む複数の命令を取り出すステッ
    プと、 複数の処理要素のそれぞれに前記命令の1つを同報通信
    するステップと、 第1のオペランドを供給するために、第1のオペランド
    ・レジスタと前記処理要素のそれぞれの実行ユニットと
    の選択結合を前記第1の情報により制御するステップ
    と、 前記処理要素のそれぞれで結果オペランドを生成するた
    めに前記第1のオペランドについて操作を実行するよう
    に前記第2の情報により前記実行ユニットを制御するス
    テップと、 第1の後続処理要素または第2の後続処理要素に前記結
    果オペランドをそれぞれ供給するために第1の出力ポー
    トまたは第2の出力ポートのいずれかに前記実行ユニッ
    トを選択的に結合するように前記第3の情報によりそれ
    ぞれの処理システム内のスイッチ手段を制御するステッ
    プと、 前記ターゲット・レジスタを第1の入力ポートに結合し
    て第1の次オペランドを前記ターゲット・レジスタに供
    給するか、または前記ターゲット・レジスタを第2の入
    力ポートに結合して第2の次オペランドを前記ターゲッ
    ト・レジスタに供給するように前記第4の情報により制
    御するステップとを含み、 それにより、単一命令複数データ処理を実行できること
    を特徴とする、データ処理方法。
JP8022362A 1995-02-10 1996-02-08 同報通信プロセッサ命令を備えたアレイ・プロセッサ通信アーキテクチャ Pending JPH0922404A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/386,384 US5659785A (en) 1995-02-10 1995-02-10 Array processor communication architecture with broadcast processor instructions
US386384 1995-02-10

Publications (1)

Publication Number Publication Date
JPH0922404A true JPH0922404A (ja) 1997-01-21

Family

ID=23525370

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8022362A Pending JPH0922404A (ja) 1995-02-10 1996-02-08 同報通信プロセッサ命令を備えたアレイ・プロセッサ通信アーキテクチャ

Country Status (4)

Country Link
US (1) US5659785A (ja)
EP (1) EP0726532B1 (ja)
JP (1) JPH0922404A (ja)
DE (1) DE69609430D1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7606996B2 (en) 2004-08-04 2009-10-20 Panasonic Corporation Array type operation device

Families Citing this family (69)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
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
US6338106B1 (en) 1996-12-20 2002-01-08 Pact Gmbh I/O and memory bus system for DFPS and units with two or multi-dimensional programmable cell architectures
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
DE59710317D1 (de) 1996-12-27 2003-07-24 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.)
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.)
EP0858168A1 (en) 1997-01-29 1998-08-12 Hewlett-Packard Company Field programmable processor array
EP0858167A1 (en) 1997-01-29 1998-08-12 Hewlett-Packard Company Field programmable processor device
DE19704044A1 (de) * 1997-02-04 1998-08-13 Pact Inf Tech Gmbh Verfahren zur automatischen Adressgenerierung von Bausteinen innerhalb Clustern aus einer Vielzahl dieser Bausteine
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
US6023753A (en) 1997-06-30 2000-02-08 Billion Of Operations Per Second, Inc. Manifold array processor
US9092595B2 (en) 1997-10-08 2015-07-28 Pact Xpp Technologies Ag Multiprocessor having associated RAM units
US8686549B2 (en) * 2001-09-03 2014-04-01 Martin Vorbach Reconfigurable elements
US6167502A (en) * 1997-10-10 2000-12-26 Billions Of Operations Per Second, Inc. Method and apparatus for manifold array processing
CA2310584A1 (en) * 1997-11-07 1999-05-20 Bops Incorporated Methods and apparatus for efficient synchronous mimd operations with ivliw pe-to-pe communication
DE69841256D1 (de) 1997-12-17 2009-12-10 Panasonic Corp Befehlsmaskierung um Befehlsströme einem Prozessor zuzuleiten
EP0924625B1 (en) * 1997-12-17 2004-11-17 Elixent Limited Configurable processing device and method of using said device to construct a central processing unit
US6567834B1 (en) 1997-12-17 2003-05-20 Elixent Limited Implementation of multipliers in programmable arrays
DE19861088A1 (de) 1997-12-22 2000-02-10 Pact Inf Tech Gmbh Verfahren zur Reparatur von integrierten Schaltkreisen
DE19807872A1 (de) 1998-02-25 1999-08-26 Pact Inf Tech Gmbh Verfahren zur Verwaltung von Konfigurationsdaten in Datenflußprozessoren sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstruktur (FPGAs, DPGAs, o. dgl.
US6167501A (en) * 1998-06-05 2000-12-26 Billions Of Operations Per Second, Inc. Methods and apparatus for manarray PE-PE switch control
US6356994B1 (en) * 1998-07-09 2002-03-12 Bops, Incorporated Methods and apparatus for instruction addressing in indirect VLIW processors
US6351807B1 (en) * 1998-09-25 2002-02-26 Bull Hn Information Systems Inc. Data processing system utilizing multiple resister loading for fast domain switching
US6839728B2 (en) * 1998-10-09 2005-01-04 Pts Corporation Efficient complex multiplication and fast fourier transform (FFT) implementation on the manarray architecture
US6256725B1 (en) 1998-12-04 2001-07-03 Agere Systems Guardian Corp. Shared datapath processor utilizing stack-based and register-based storage spaces
US8230411B1 (en) 1999-06-10 2012-07-24 Martin Vorbach Method for interleaving a program over a plurality of cells
JP2004506261A (ja) 2000-06-13 2004-02-26 ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト パイプラインctプロトコルおよびct通信
US8058899B2 (en) 2000-10-06 2011-11-15 Martin Vorbach Logic cell array and bus system
US7093236B2 (en) * 2001-02-01 2006-08-15 Arm Limited Tracing out-of-order data
US7444531B2 (en) 2001-03-05 2008-10-28 Pact Xpp Technologies Ag Methods and devices for treating and processing data
US7844796B2 (en) 2001-03-05 2010-11-30 Martin Vorbach Data processing device and method
US9552047B2 (en) 2001-03-05 2017-01-24 Pact Xpp Technologies Ag Multiprocessor having runtime adjustable clock and clock dependent power supply
US9436631B2 (en) 2001-03-05 2016-09-06 Pact Xpp Technologies Ag Chip including memory element storing higher level memory data on a page by page basis
US9250908B2 (en) 2001-03-05 2016-02-02 Pact Xpp Technologies Ag Multi-processor bus and cache interconnection system
US9141390B2 (en) 2001-03-05 2015-09-22 Pact Xpp Technologies Ag Method of processing data with an array of data processors according to application ID
US9037807B2 (en) 2001-03-05 2015-05-19 Pact Xpp Technologies Ag Processor arrangement on a chip including data processing, memory, and interface elements
JP2004533691A (ja) * 2001-06-20 2004-11-04 ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト データを処理するための方法
US10031733B2 (en) 2001-06-20 2018-07-24 Scientia Sol Mentis 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
US20030061439A1 (en) * 2001-09-25 2003-03-27 Jeng-Jye Shau Distributed executing units of logic integrated circuits connected to & executes on data in local data storage
US6968445B2 (en) * 2001-12-20 2005-11-22 Sandbridge Technologies, Inc. Multithreaded processor with efficient processing for convergence device applications
US8281108B2 (en) 2002-01-19 2012-10-02 Martin Vorbach Reconfigurable general purpose processor having time restricted configurations
EP2043000B1 (de) 2002-02-18 2011-12-21 Richter, Thomas Bussysteme und Rekonfigurationsverfahren
US9170812B2 (en) 2002-03-21 2015-10-27 Pact Xpp Technologies Ag Data processing system having integrated pipelined array data processor
US8914590B2 (en) 2002-08-07 2014-12-16 Pact Xpp Technologies Ag Data processing method and device
GB0215028D0 (en) * 2002-06-28 2002-08-07 Critical Blue Ltd Microarchitecture description
WO2004021176A2 (de) 2002-08-07 2004-03-11 Pact Xpp Technologies Ag Verfahren und vorrichtung zur datenverarbeitung
US20070083730A1 (en) * 2003-06-17 2007-04-12 Martin Vorbach Data processing device and method
US7657861B2 (en) 2002-08-07 2010-02-02 Pact Xpp Technologies Ag Method and device for processing data
AU2003289844A1 (en) 2002-09-06 2004-05-13 Pact Xpp Technologies Ag Reconfigurable sequencer structure
GB2424503B (en) * 2002-09-17 2007-06-20 Micron Technology Inc An active memory device
JP3987782B2 (ja) * 2002-10-11 2007-10-10 Necエレクトロニクス株式会社 アレイ型プロセッサ
US6842848B2 (en) 2002-10-11 2005-01-11 Sandbridge Technologies, Inc. Method and apparatus for token triggered multithreading
US6925643B2 (en) 2002-10-11 2005-08-02 Sandbridge Technologies, Inc. Method and apparatus for thread-based memory access in a multithreaded processor
US6904511B2 (en) * 2002-10-11 2005-06-07 Sandbridge Technologies, Inc. Method and apparatus for register file port reduction in a multithreaded processor
US20060200646A1 (en) * 2003-04-07 2006-09-07 Koninklijke Philips Electronics N.V. Data processing system with clustered ilp processor
JP4700611B2 (ja) 2003-08-28 2011-06-15 ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト データ処理装置およびデータ処理方法
US7506326B2 (en) * 2005-03-07 2009-03-17 International Business Machines Corporation Method and apparatus for choosing register classes and/or instruction categories
US8595224B2 (en) * 2005-09-22 2013-11-26 International Business Machines Corporation Smart path finding for file operations
US7818388B2 (en) * 2005-10-07 2010-10-19 International Business Machines Corporation Data processing system, method and interconnect fabric supporting multiple planes of processing nodes
EP1974265A1 (de) 2006-01-18 2008-10-01 PACT XPP Technologies AG Hardwaredefinitionsverfahren
US20140089645A1 (en) * 2012-09-27 2014-03-27 Texas Instruments Incorporated Processor with execution unit interoperation
US20170116154A1 (en) * 2015-10-23 2017-04-27 The Intellisis Corporation Register communication in a network-on-a-chip architecture

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4371931A (en) * 1979-06-27 1983-02-01 Burroughs Corporation Linear micro-sequencer for micro-processor system utilizing specialized instruction format
JPS58146941A (ja) * 1982-02-26 1983-09-01 Hitachi Ltd マイクロプログラム制御デ−タ処理装置
JPS59174948A (ja) * 1983-03-25 1984-10-03 Toshiba Corp 情報処理装置
JPH0727515B2 (ja) * 1987-03-05 1995-03-29 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン 2次元メッシュ・アレイの処理要素
US5269008A (en) * 1988-10-04 1993-12-07 Mitsubishi Denki Kabushiki Kaisha Method and apparatus for pre-processing the source of a pop instruction in a pipeline computer
US5218706A (en) * 1988-12-19 1993-06-08 Mitsubishi Denki Kabushiki Kaisha Data flow processor with next destination node determination
US5020059A (en) * 1989-03-31 1991-05-28 At&T Bell Laboratories Reconfigurable signal processor
US5163120A (en) * 1989-10-13 1992-11-10 Texas Instruments Incorporated Second nearest-neighbor communication network for synchronous vector processor, systems and methods
CN1042282C (zh) * 1989-10-13 1999-02-24 德克萨斯仪器公司 用于同步矢量处理机的第二最近邻通讯网络、***和方法
JP2816248B2 (ja) * 1989-11-08 1998-10-27 株式会社日立製作所 データプロセッサ
US5218709A (en) * 1989-12-28 1993-06-08 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Special purpose parallel computer architecture for real-time control and simulation in robotic applications
US5201056A (en) * 1990-05-02 1993-04-06 Motorola, Inc. RISC microprocessor architecture with multi-bit tag extended instructions for selectively attaching tag from either instruction or input data to arithmetic operation output
JP2746350B2 (ja) * 1990-05-22 1998-05-06 インターナショナル・ビジネス・マシーンズ・コーポレーション 学習機械シナプス・プロセッサ・システム装置
US5450603A (en) * 1992-12-18 1995-09-12 Xerox Corporation SIMD architecture with transfer register or value source circuitry connected to bus

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7606996B2 (en) 2004-08-04 2009-10-20 Panasonic Corporation Array type operation device

Also Published As

Publication number Publication date
EP0726532B1 (en) 2000-07-26
DE69609430D1 (de) 2000-08-31
EP0726532A3 (en) 1997-03-19
EP0726532A2 (en) 1996-08-14
US5659785A (en) 1997-08-19

Similar Documents

Publication Publication Date Title
EP0726532B1 (en) Array processor communication architecture with broadcast instructions
US6128720A (en) Distributed processing array with component processors performing customized interpretation of instructions
US5682491A (en) Selective processing and routing of results among processors controlled by decoding instructions using mask value derived from instruction tag and processor identifier
US9460048B2 (en) Methods and apparatus for creating and executing a packet of instructions organized according to data dependencies between adjacent instructions and utilizing networks based on adjacencies to transport data in response to execution of the instructions
US6041398A (en) Massively parallel multiple-folded clustered processor mesh array
US7581079B2 (en) Processor composed of memory nodes that execute memory access instructions and cooperate with execution nodes to execute function instructions
US6167501A (en) Methods and apparatus for manarray PE-PE switch control
US6446190B1 (en) Register file indexing methods and apparatus for providing indirect control of register addressing in a VLIW processor
EP0085520B1 (en) An array processor architecture utilizing modular elemental processors
US5872987A (en) Massively parallel computer including auxiliary vector processor
US4837676A (en) MIMD instruction flow computer architecture
US6301653B1 (en) Processor containing data path units with forwarding paths between two data path units and a unique configuration or register blocks
KR20010031884A (ko) iVLIW PE 대 PE 통신으로 효율적인 동기식MIMD 연산을 위한 방법 및 장치
JPH0727516B2 (ja) Simdアレイ・プロセツサ
KR20010015731A (ko) 복합 어레이 처리에 대한 방법 및 장치
US4745546A (en) Column shorted and full array shorted functional plane for use in a modular array processor and method for using same
JPH08241291A (ja) プロセッサ
JPH05233569A (ja) 動的に複数モードで動作するコンピュータ・システム
JPH07152722A (ja) Simdマルチプロセッサ用動的再構成可能スイッチ装置
WO1995009399A1 (fr) Multiprocesseur
JPH07271764A (ja) 計算機プロセッサ及びシステム
JPH11212786A (ja) レジスタベースデータ処理のためのデータパスおよび方法
US4524428A (en) Modular input-programmable logic circuits for use in a modular array processor
US8024549B2 (en) Two-dimensional processor array of processing elements
JP2009059346A (ja) 複数のマルチモードプロセッサに接続するための方法および装置