JPH07152722A - Simdマルチプロセッサ用動的再構成可能スイッチ装置 - Google Patents

Simdマルチプロセッサ用動的再構成可能スイッチ装置

Info

Publication number
JPH07152722A
JPH07152722A JP6190802A JP19080294A JPH07152722A JP H07152722 A JPH07152722 A JP H07152722A JP 6190802 A JP6190802 A JP 6190802A JP 19080294 A JP19080294 A JP 19080294A JP H07152722 A JPH07152722 A JP H07152722A
Authority
JP
Japan
Prior art keywords
data
configuration register
controller
group
processing elements
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
JP6190802A
Other languages
English (en)
Inventor
Soheil Shams
ソヘイル・シャムズ
David B Shu
デイビッド・ビー・シュ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Raytheon Co
Original Assignee
Hughes Aircraft Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hughes Aircraft Co filed Critical Hughes Aircraft Co
Publication of JPH07152722A publication Critical patent/JPH07152722A/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/17337Direct connection machines, e.g. completely connected computers, point to point communication networks
    • G06F15/17343Direct connection machines, e.g. completely connected computers, point to point communication networks wherein the interconnection is dynamically configurable, e.g. having loosely coupled nearest neighbor architecture
    • 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)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Microcomputers (AREA)

Abstract

(57)【要約】 【目的】SIMDコンピュータアーキテクチャに見られ
る処理素子アレイにおいて、処理素子間のデータ流を動
的に制御するための動的に再構成可能なプロセッサ間通
信ネットワークを特徴とする。 【構成】グループの各処理素子(10)に接続される1つの
データラインと、特定の通信インストラクションをグル
ープの1つの処理素子(10)から構成レジスタに装荷し、
データ源として4つのデータラインの1つを選択するた
めコントローラ(18)からの同報インストラクションまた
は構成レジスタの内容に従って動作し、データをソース
出力ポートに供給するマルチプレクサと、4本のデータ
ラインの1つを選択するためコントローラからの同報イ
ンストラクションまたは構成レジスタの内容に従って動
作し、マルチプレクサのソース出力ポートのデータをデ
ータラインに供給する出マルチプレクサにより構成され
る。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、一般にコンピュータ
アーキテクチャに関し、特に、SIMDマルチプロセッ
サアーキテクチャにおけるプロセッサアレイを構成する
複数の処理素子を接続するのに有効な動的に再構成可能
なスイッチ装置に関する。
【0002】
【関連技術】SIMDマルチプロセッサアーキテクチャ
に見られる、複数の処理素子から成るプロセシングアレ
イにおいては、各プロセシングエレメント(PE)毎に
4つのリンクを介して8つの最も隣接する処理素子を接
続するプロセッサ間通信は市販のマシン(MasPa
r’s MP−1)および大学が開発したマシン(ノー
スカロライナ大学が開発したBLITZEN)において
使用されているX−ネットスイッチにより実現されてい
る。しかしながら、これらのマシンは本願発明のよう
に、スイッチングユニットを動的に再構成することがで
きない。
【0003】また、プロセシングアレイの再構成可能な
隣接プロセッサ間通信については、1986年に出版さ
れたデューク大学の博士論文「A System fo
rRouting Arbitrary Commun
ication Graphs on SIMD Ar
chitectures」S.J.Tomboulia
n著に記載されている。しかしながら、この論文には概
要が書かれているのみで、再構成可能な隣接プロセッサ
間通信を実現する手段については具体的に書かれていな
い。
【0004】
【発明が解決しようとする課題】上述したように、従来
SIMDマルチプロセッサアーキテクチャにおいて、ス
イッチングユニットを動的に再構成することができなか
った。
【0005】この発明は、このような点に鑑みてなされ
たもので、並列単一命令複数データ流(SIMD)コン
ピュータアーキテクチャに見られるプロセシングアレイ
(処理アレイ)において、処理素子(プロセシングエレ
メント)間のデータ流を動的に制御するための動的に再
構成可能なプロセッサ間通信ネットワークを提供するこ
とを目的とする。
【0006】この発明の要部は、プロセシングアレイに
おける隣接するプロセシングアレイ(PE)間のデータ
を転送するのに使用する動的に再構成可能なスイッチ
(DRS)の設計にある。この発明を使用することによ
り、多くの重要で新規なアーキテクチャの特徴が得られ
る。すなわち、PEあたりのプロセッサ間接続数を最小
限に抑えることができ、各PEレベルでのローカルコミ
ュニケーションの自律性が得られる。前者は物理的に実
現する観点から重要であり、後者は既存のSIMDアー
キテクチャに新しい次元の柔軟性を持たせる上で重要で
ある。
【0007】プロセシングアレイにおける各処理素子の
動的な再構成は各PEに対してこの発明を具現化する異
なるDRSを相関させることにより実現される。DRS
の構成、すなわち、入力ポートから出力ポートにデータ
を通過させるのに必要なスイッチの設定は、コントロー
ラからすべてのPEにより受信されるインストラクショ
ン(同報インストラクション)により行われるか、また
は各PEのメモリエリアにローカルに格納されている値
にそれぞれ別個に設定される。プロセシングアレイを形
成する複数のPEは物理的に異なるチップから成り、プ
ロセシングアレイを区割りしているが、これらのPE間
でデータを通信するときに生じる段階的問題に特別の配
慮が成されている。
【0008】この発明は少なくとも2つの特徴により他
の一般的なプロセッサ間通信機構とは異なる。
【0009】第1に、この発明の設計は、ある種の通信
上の制約を利用することにより、プロセッサ間通信リン
クに使用するときに非常に有効である。この発明の設計
では、各PEは8つの隣接するプロセッサとダイレクト
に通信するために4つの双方向接続しか必要としない。
さらに、隣接するチップのスイッチ間での通信あるいは
区割り領域にまたがるスイッチ間での通信において、デ
ータパスビットあたり1双方向ワイヤしか必要としな
い。従って、チップ間にまたがるプロセッサ間通信に必
要なピン数を低減することができ、1つのチップに実現
可能なPEの数を増大させることができる。
【0010】この発明の第2の特徴は、処理中にDRS
を動的に再構成することにより通信に柔軟性を持たせる
ことができる点にある。特に、SIMD並列プロセシン
グアーキテクチャにおいて、同じ性質を持つデータをP
E間で移動させることができる。(図5(a)、5
(b)参照)あらかじめ、選択された方向、例えば、
北、東、南、西等は各通信命令により与えられる。この
発明のDRS設計を用いることにより、各PEは隣接す
るPEへまたは隣接するPEからのデータの転送方向を
独立して設定することができる。この処理中におけるス
イッチの動的な再構成とデータ流の方向ずけにより、特
定のアルゴリズムにさらにマッチした複雑なデータ計算
路を構築することができる。(図6(a),6(b)参
照)例えば、ニューラルネットワークアルゴリズムを有
効に処理するためにプロセシングアレイを流れるデータ
流の動的再構成を有効に利用するための多くのマッピン
グ方法が開発された。他の分野の問題を解決するための
同様なマッピング方法も潜在的には一般化することがで
きる。
【0011】よって、本発明は、処理素子の2次元アレ
イを有するSIMDアーキテクチャにおいて実施され、
この場合、コントローラがこの配列の全ての処理素子に
インストラクションを同報し、動的再構成可能スイッチ
ング装置がコントローラの同報インストラクションまた
はグループの1つ処理素子に保持された特殊な通信イン
ストラクションのいずれかに従って4つの処理素子を1
つのグループとして接続するために有効であり、少なく
とも1ビット幅の少なくとも1本のデータラインを含
み、このグループの各処理素子に接続されている。
【0012】マルチプレクサユニットは、各データライ
ンとコントローラと1つの構成レジスタに接続されてい
る。それは、グループ内の1つの処理素子からの特殊な
通信インストラクションを構成レジスタに装荷し、デー
タ源としての4つのデータラインの1つを選択するため
にコントローラからの同報インストラクションまたは構
成レジスタの内容のいずれかに従って動作するように適
用され、そこからのデータをソース出力ポートに供給す
る。同様に、デマルチプレクサユニットも、各データラ
インとコントローラと1つの構成レジスタに接続されて
いるのみならず、マルチプレクサユニットのソース出力
ポートにも接続されている。このデマルチプレクサは、
4本のデータラインから1本を選択するためにコントロ
ーラからの同報インストラクションまたは構成レジスタ
の内容のいずれかに従って動作するように適用され、マ
ルチプレクサのソース出力ポートのデータを選択データ
ラインに供給する。
【0013】本発明は、多数のチップに含められる複数
の処理素子の2次元アレイを有するSIMDアーキテク
チャにおいて実施される。この場合、コントローラはア
レイの全ての処理素子にインストラクションを同報し、
動的に再構成可能なスイッチ装置が各区画が1チップに
関連している複数の区画を形成するためにチップ境界を
交差できるグループとしてアレイの処理素子の4つを接
続し、コントローラの同報インストラクションまたはグ
ループの1つの処理素子に保持された特定の通信インス
トラクションのいずれかに従ってグループの選択された
処理素子間で動的にデータ移動を指導するために有効で
ある。この区画化状態においては、このスイッチは各区
画において、グループ内の処理素子の各々に接続される
少なくとも1本のデータラインを含んでいる。マルチプ
レクサユニットは、各データラインとコントローラと1
つの構成レジスタに接続されている。それは、グループ
内の1つの処理素子からの特定の通信インストラクショ
ンを構成レジスタにロードするために装荷し、データソ
ースとして4本のデータラインから1本を選択するよう
にコントローラの同報インストラクションまたはグルー
プの1つの処理素子に保持された特定の通信インストラ
クションのいずれかに従って動作し、託されたデータラ
インからのデータをソース出力ポートに供給するために
適用される。
【0014】デマルチプレクサユニットは、各データラ
インとコントローラと1つの構成レジスタとに接続さ
れ、マルチプレクサユニットのソース出力ポートに接続
されている。このデマルチプレクサは、4本のデータラ
インから1本を選択するためにコントローラからの同報
インストラクションまたは構成レジスタの内容のいずれ
かに従って動作し、マルチプレクサのソース出力ポート
からのデータを選択データラインに供給するために適用
される。1本のデータラインは、1つの区画の各マルチ
プレクサを同じ区画のデマルチプレクサに接続し、交差
データラインは、ある1つの区画の各マルチプレクサを
各他の区画のデマルチプレクサに接続する。 デマルチ
プレクサはまた、マルチプレクサ手段のソース出力ポー
トからのデータを少なくとも2本のデーターラインに供
給するためにコントローラからの同報インストラクショ
ンまたは構成レジスタの内容いずれかに従って動作する
ために適用される。
【0015】区画化状態において、1つの区画の各マル
チプレクサユニットを同じ区画のデマルチプレクサユニ
ットに接続するデータラインと1つの区画の各マルチプ
レクサを各他の区画のデマルチプレクサに接続する交差
データラインは単一のデータラインであってもよい。
【0016】同様に、上述したような区画状態及び非区
画状態の両方において、本発明は、図4に示された構成
において、1つのスイッチと4つのスイッチとの間に更
に含まれるような動的再構成スイッチ装置において実施
される。処理素子は、その入出力データラインと関連す
る少なくとも1入力および1出力レジスタを有する。故
に、グループ当たり2つのスイッチを用いる所定の構成
において、2つの同時データ転送がグループのある処理
素子対から同じグループの他の処理素子対に対して行う
ことができる。この実施例では、グループの各スイッチ
はそのグループの任意の処理素子によって装荷し得る自
己の構成レジスタを有する。
【0017】上述した本発明の記述は、発明の特定の応
用に適用する一般的なガイドラインとして説明されてい
る。故に、実行のための特定の詳細は実施技術および最
終製品の割当コストに基づいて決定される。特に、本発
明の構造および動作の新規な特徴は、図面を参照して詳
細に説明する。この場合、同一部分は同一符号を用い
る。
【0018】
【実施例】以下、図面を参照しながら、本発明の一実施
例に係るコンピュータアーキテクチャを説明する。な
お、本実施例にて説明するコンピュータアーキテクチャ
は、並列単一命令複数データ流(SIMD)処理型であ
って、ミディアム型又はファイン型並列コンピュータに
大まかに分類されるものである。
【0019】図1は、本実施例の最上位レベルのアーキ
テクチャを示すブロック図である。
【0020】処理素子(プロセッシングエレメント)1
0は、2次元格子12上に配列され、4つのプログラマ
ブルスイッチ14を介して隣接する8つのプロセッシン
グエレメントに接続されている。
【0021】本アーキテクチャは3つの主要なユニッ
ト、すなわちホストコンピュータ16と、コントローラ
18と、プロセッサアレイ20とを有するものである。
メモリ22は、ホストコンピュータ16によって、高速
なデータ転送方式とされるいわゆるダイレクトメモリア
クセス(DMA)チャネルを用いてアクセスが可能とな
っている。従って、ホストコンピュータ16はメモリア
クセスの際に、メモリ領域中においてアクセスされるべ
きデータブロックの位置と、転送するワードの総量とを
指定するのみでよい。
【0022】DMAコントローラ19は、ホストコンピ
ュータ16の付加的サイクルを少しも使用することなし
にデータを転送することが可能となっている。従って、
ホストコンピュータ16とコプロセッサとの間に、構造
が簡単なプログラミング・インターフェースを構築する
ことができる。
【0023】ホストコンピュータ16は、主として入力
データを適切にフォーマット化するため、データを長期
間保存するため、に用いられ、また、ユーザと本装置と
の間の可視インターフェースとして用いられるものであ
る。
【0024】コントローラ18は、ホストコンピュータ
16とプロセッサアレイ20とのインターフェースとし
て備えられており、ホストコンピュータ16によってア
クセスが可能となっているマイクロプログラム用のメモ
リ23に接続されている。
【0025】ホストコンピュータ16上においては、高
水準のプログラムを記述し、コンパイルを行うことが可
能であり、発生された制御情報は、コントローラ18に
接続されるマイクロプログラム用メモリ23に対し、ホ
ストコンピュータ16からダウンロードされるようにな
っている。コントローラ18は、プロセッシングサイク
ルの間にインストラクション(命令)とメモリアドレス
とをプロセッサアレイに同報(ブロードキャスト)す
る。プロセッサアレイ20中の各プロセッサは、各々の
処理素子が有するマスクフラグの可/否に基づいて、コ
ントローラ18から受けた操作を実行するようになって
いる。
【0026】プロセッサアレイ20は、全ての処理素子
10を含み、プログラマブルスイッチ14の内部結合を
サポートするものである。プロセッサアレイ20内の処
理素子10の各々は、本アーキテクチャが具備するメモ
リ22の領域内において各々の処理素子10自身の位置
に対応する列のメモリ領域を直接参照することができる
ようになっている。このように分配型のメモリ構成をな
すことにより、メモリアクセスの際に生じるコンフリク
ト(衝突)を軽減することができ、その結果、ハードウ
ェア及びソフトウェアの両方を簡素な構成に設計するこ
とができる。
【0027】本アーキテクチャにおいては、処理素子1
0がシステムのコンピュータエンジンを構成するもので
ある。上述したように、処理素子10はプロセッサアレ
イ20のサブシステムの一部を構成するものである。全
ての処理素子10は、同一のインストラクションストリ
ームを受けとるが、ローカルデータストリーム上で要求
された操作を実行する。処理素子10の各々は、図4に
示すように、多数のファンクション(機能)を有するフ
ァンクション(機能)ユニット24と、小型のレジスタ
ファイル26と、プロセッサ内部接続のためのコミュニ
ケーション(通信)ポート28と、マスクフラグ30と
を含んでいる。
【0028】処理素子10の各々が具備するファンクシ
ョンユニット24は、加算器、乗算器、シフト/論理演
算器を含んでいる。特定のインプリメンテーションに応
じて、ファンクションユニット24は、さらに付加的な
ファンクションユニットを付加することが可能となって
いる。多種のいわゆるRISC型のプロセッサに類似し
て、処理素子10は、種々のユニット間でデータ転送を
行うための、内部データバス32を備えている。例え
ば、データは、レジスタファイル26内のレジスタから
加算器のオペランドレジスタの一つに転送され、あるい
は乗算器の出力レジスタからI/O出力ポート28に転
送される。マスクビットはコントローラ18からの命令
をファンクションユニット24が実行することの可/否
を指定するために用いられる。
【0029】処理素子10の各々は、I/Oポート28
を介して、隣接する処理素子と通信する。各々の処理素
子10は、1入力1出力のみのI/Oポート28を備え
る構成としてよい。なぜなら、処理素子10は、各々の
シストリック(systolic)・サイクル中に、単一のデー
タ値のみを処理素子10により伝達され、受けとるから
である。
【0030】図4に示す構成では、1個以上のスイッチ
を利用することにより、複数の入力/出力ポートが、グ
ループのメンバー間で同時にデータ転送を行うために用
いられることが可能となっている。各々のI/Oレジス
タの出力は、処理素子10を取り囲む4つのプログラマ
ブルスイッチ14に結合される。
【0031】出力されるデータ値のデスティネーション
となる処理素子10および入力されるデータ値のソース
となる処理素子10は、プログラマブルスイッチ14の
スイッチセッティングによって選択される。
【0032】図5に示すように、本アーキテクチャにお
ける処理素子10は、自身のローカルメモリ領域38に
対してリード/ライトアクセスが可能となっている。メ
モリは、容易にメモリ拡張を行えるようにする目的で、
チップから分離された構成となっている。プロセッシン
グサイクル中においては、各々のインストラクションに
関連するメモリロケーションが、コントローラ18によ
って、全ての処理素子10に送出される。このようにし
て、全ての処理素子10は、メモリの単一プレーンを夫
々のタイムステップにおいてアクセスすることができ
る。メモリアクセスの速度は、処理素子10の演算能力
にマッチするので、夫々のメモリアクセスは、演算処理
と完全に重複して実行され得る。したがって、効率的な
プロセッシング処理を行うことができる。
【0033】前記処理素子であるローカルメモリエリア
38の各ワードは、好ましくは2つの別々のフィールド
40,42から成る。このフィールド40は、ニューロ
ン活性化値(neuron activation values)やシナプス重み
付け値(synaptic weight values) 等の如く計算結果に
係る現行データをストア若しくは検索するのに使用され
るデータフィールドである。上記フィールド42は、各
処理素子10にて使用される上記スイッチ14により設
定される変更内容を示す3ビットを有している。上記3
ビット構成によれば、図8に示される8つの構成モデル
のうちの一つを選択し解読することができる。値を設定
する為のこれらスイッチは、上記ホスト16による予備
装荷(プリロード)や、計算が開始されるに先立ち決め
られる。そして、値を設定する新たな変更は、それぞれ
インストラクションサイクルの間に読み取られる。
【0034】プロセッサアレイ20における最隣接通信
は、1つの処理素子10とこの処理素子10に最隣接す
る8つの素子を接続する機能的なスイッチ14を介して
行われている。図2に示されるように、各処理素子10
には、それぞれに接続されている4つのスイッチ14が
設けられている。
【0035】プロセッサアレイ20における最近隣との
通信のための互いに異なる構成は詳細には図5に示され
る。4つの機能的なスイッチ14は4つの処理素子から
なる各グループに使用されている。このような構成に
て、分割されている位置及び分割されていない位置の両
者について述べると、各処理素子10は、入出力データ
ラインに関係する少なくとも1つの入力レジスタと1つ
の出力レジスタを有している。このように、与えられた
構成において、例えば2つのスイッチはグループ毎に設
けられているので、グループの他の処理素子から同じグ
ループの処理素子に同時に起こる2つのデータ伝送を実
行することができる。これを具体化する為に、グループ
の各スイッチは、そのグループの処理素子にロードする
ことができる独自に与えられた構成レジスタを有してい
る。
【0036】再び図2の構成について言及すると、少な
くとも1つのI/Oコネクション54が各処理素子10
毎に必要とはなるものの、機能的なスイッチ14は4つ
の最隣接の処理素子10との間の通信を可能とする。こ
の隣接処理素子10との通信帯域幅は、効率のよいシス
トリックプロセッシング(systolic processing) を保証
するメモリアクセス帯域幅と等しくされている。この発
明の唯一の欠点は、相互に接続するネットワークの各ス
イッチ14が明確に構成されるよう考慮しなければなら
ないことである。
【0037】上記スイッチの設定は、各スイッチ14の
ローカルメモリ38にストアされており、各プロセスサ
イクルの開始時にアクセスすることができる。このスイ
ッチメモリのアドレスは各サイクルにおいてコントロー
ラ18によって供給される。この設計はプロセッシング
アレイ20を介するデータのパターンに従って変更され
る。この他、2次元パラレルSIMD構造に関し、全て
の処理素子10は同じ通信オペレーションを形成する。
換言すれば、上記コントローラ18によって、北(ノー
ス)から南(サウス)、東(イースト)から西(ウエス
ト)、西(ウエスト)から南(サウス)等と指定された
方向に伝達される命令語はプロセッシングアレイ20に
て移動される。一方、これまで述べた構成において、1
つの処理素子10は、ローカルスイッチを設定すること
により、西側からデータ受信をしている間でも北側から
データを受信することができる。このスイッチ14の実
施例は図3に示され、マルチプレクサ48とデマルチプ
レクサ50を、4つの入力の内の1つを選択し、4つの
出力54のうちの1つのデータを発信するために使用し
ている。能率的な手法であるとされている分散・結合し
て組み立てられた内部結合によるニューラルネットワー
クには、インタープロセッサコミュニケーションのかか
る多面性は必須である。
【0038】処理素子(PEs)の整列格子の最隣接通
信のアーキテクチャ的実施におけるこの発明の動作を以
下に説明する。
【0039】プロセッシングアレイにおける処理素子間
のインタープロセッサコミュニケーションは、最隣接の
8つのうちの3つと1つの処理素子とを接続する動的再
構成可能スイッチ(DRS)を介して成されている。各
DRSセルには、接続されている4つの処理素子があ
る。
【0040】上記DRS内の構成レジスタは、スイッチ
を介して流れるデータのためにソースおよびデスティネ
ーションポートの選択を制御する。この構成レジスタの
内容は、スイッチに接続される1つの処理素子、例えば
DRSの左上の処理素子だけによって設定できる。新た
な構成値を構成レジスタに装荷することと関連する特別
なオーバヘッドによって、バイパスモードは、データ移
動方向が特定の通信インストラクションによって与えら
れるように行うことができる。バイパスモードを使用す
るとき、プロセッサアレイ内でのデータ移動は通常のS
IMDパラレルプロセッサのデータ動きと同様である。
このモードでは、インストラクションはシステムの全て
の処理素子のデータ移動の方向を特定する。(図6
(a),(b)参照)。
【0041】一方、構成レジスタを使用することによっ
て、不均一な通信パターンが処理アレイ上に形成され
る。この発明の特徴は、相互接続通信網の各スイッチが
別個に構成されることである。構成レジスタはまず処理
の開始時、計算中は変更することなしに、図7(a)に
示すようなアレイ上の1次元計算リングを構成するな
ど、特定の通信パターンを実行するために構成される。
一方、構成レジスタは図7(b)に示すように、各通信
ステップごとに処理アレイ上に複雑なフローパターンを
形成すべく動的に再構成される。
【0042】3ビット構成レジスタはデータが移動する
8つの方向、例えば南から北、東から西、西から南等の
方向のうち1つを特定する(図8参照)。特定の構成モ
ードにおいては、マルチプレクサとデマルチプレクサと
が4つの入力のうち1つを選択して、図8に示すように
4つの出力のうち1つにデータを転送するために使用さ
れる。各構成レジスタには、適当な制御信号を発生する
のに使用される復号用ハードウエアが付加されている。
ただし説明を簡単にするために図示していない。各PE
は全図面において行及び列座標(r.c.)によって識
別される。例えば、PE1.1はプロセッサアレイ(P
A)内の第1行、第1列に位置するPEを表す。DRS
バスの幅は明確に定義されず、1からmビットまで変化
する。
【0043】要求されるプロセッサアレイが単一チップ
よりも大きいときは(各チップはn×nのPEを含
む)、チップ境界にあるPEのDRSセルを多数のチッ
プの間で分割する必要がある。このスイッチの分割の一
例が図9に示されている。バスビットごとに単一の双方
向ワイヤが西側の隣接PEを東側の対応する隣接PEに
接続するために使用される。チップ内のr.c.座標に
加えて、各PEはチップ番号によって識別される。例え
ば、PE C3 1.nは、チップ3の第1行、第n列
に位置するPEを表す。同様に、PE C3 1.n
out及びPE C3 1.n inはこのPEの入力
チャネルと出力チャネルを個々に表す。スイッチは西側
のPE C3 1.nによって制御されるので、構成情
報はデータ通信チャネルが確立される前にチップ境界を
介してスイッチの東半分に転送される必要がある。した
がって2つの構成レジスタが必要であり、1つは西半
分、他の1つは東半分に使用される。西側マルチプレク
サと東側マルチプレクサとが同時に同じバスを駆動しな
いようにするために、東側の構成レジスタのコピーが余
分に必要である。チップ3 ピン#1(C3 E1)の
西側をチップ4 ピン#1(C4 W1)の東側に接続
するためにデータバス幅ごとに1つのワイヤが設けられ
ている。データチャネルと構成チャネルは2つの隣接チ
ップを接続するために同一のバスを共有している。PE
C3 1.n outを選択するために、構成レジス
タをロードする指令はスイッチセルの西半分をあらかじ
め構成し、これによって、スイッチの東半分の構成レジ
スタの余分なコピーが開始される。1ビットのバス幅の
場合は、この指令を実行するのに4サイクル必要であ
り、このうち1サイクルは構成モードをPE C3
1.nのメモリからDRSの西側の構成レジスタへ読み
出すのに使用され、3サイクルはこの情報をDRSの東
半分の構成レジスタへロードするために使用される。こ
のことは相互接続通信網内の各スイッチを個々に構成す
ることが要求されない動作の場合は大きなオーバヘッド
となる。したがって、前記したように、スイッチセルが
構成レジスタをバイパスして構成モード情報を直接イン
ストラクションフィールドから得ることが可能となる。
図10はDRSの北と南の分割を示している。1つのワ
イヤがチップ2ピン#1(C2 S1)の南側を、チッ
プ4 ピン#1(C4 N1)の北側に接続している。
構成値をDRSの北−南半分にロードする工程は西−東
方向に対する工程と同様である。
【0044】図11はDRSの端部分割を示しており、
4つのチップの4つの隣接端部に渡っている。スイッチ
の各端部には構成レジスタの1つのコピーが存在する。
ロード構成レジスタの指令はPE C1 n.n ou
tを選択するために上方左端部のDRSセルをあらかじ
め構成し、これによって、スイッチの各端部の構成レジ
スタの3つすべての余分なコピーが開始される。1つの
ワイヤがチップ1 ピン#n(C1 Sn)の南側を、
チップ3 ピン#n(C2 Wn)の北側に接続してい
る。余分な1つのワイヤがチップ2 ピン#0(C2
S0)の南側を、チップ4 ピン#0(C4 N0)の
北側に接続しており、これによって、チップ1とチップ
4とは対角関係を有している。したがって対角関係を保
つために、北−南方向にn+1個のワイヤ(S0 N0
からSn Nn)が必要であり、東−西方向にn個のワ
イヤ(E1 W1からEn Wn)が必要である。この
ことはスイッチの端部分割において述べられている。す
なわち、図10及び図12を参照せよ。図11に示すよ
うにチップ4に対する対角関係を保つために、ピンC2
S1からC2 Snはチップ2内のPE C2 n.
1からPE C2n.nに割当られており、チップ2内
のピンC2 S0はチップ1に位置するPE C1
n.nに割り当てられている。
【0045】マルチプレクサ、デマルチプレクサ、構成
レジスタ群を含む最大4つのスイッチが相互接続通信網
の各スイッチング点で使用される。4つのスイッチが使
用されたとき、電子クロスバー通信スイッチが構成レジ
スタ群の4つの処理要素間に形成され、群内での4つの
処理要素間の同時通信が可能となる。
【0046】本発明に対する多くの変形、変更、変化が
可能であることは勿論である。そのような変形、変更、
変化は本発明及び添付のクレームの精神及び範囲内に属
している。同様に、出願人は本発明が本発明の精神及び
範囲から逸脱しないで例示的に開示された好ましい実施
例に対する全ての変化、変更、変形を含むことを意図す
る。
【0047】
【発明の効果】この発明によると、各処理素子(PE)
は8つの隣接するプロセッサとダイレクトに通信するた
めに4つの双方向接続しか必要としない。また、隣接す
るチップのスイッチ間での通信あるいは区割り領域にま
たがるスイッチ間での通信において、データパスビット
あたり1双方向ワイヤしか必要としない。従って、チッ
プ間にまたがるプロセッサ間通信に必要なピン数を低減
することができ、1つのチップに実現可能なPEの数を
増大させることができる。
【0048】更に、処理中にDRSを動的に再構成する
ことにより通信に柔軟性を持たせることができる点にあ
る。特に、SIMD並列プロセシングアーキテクチャに
おいて、同じ性質を持つデータをPE間で移動させるこ
とができる。
【図面の簡単な説明】
【図1】本発明が具体化されるコンピュータアーキテク
チャの最高レベルのデザインを示す理想的概略ブロック
図。
【図2】シングルプロセッサ及びそれに関連する、DR
Sインタープロセッサ通信交換機を示す理想的概略ブロ
ック図。
【図3】再構成可能なインタープロセッサ通信スイッチ
を示す理想的概略ブロック図。
【図4】4つのプロセッサの結合法及びそれに関連す
る、図2の代替構成である4つのDRS通信スイッチを
示す理想的概略ブロック図。
【図5】処理素子の最高レベルデザインを示す理想的概
略ブロック図。
【図6】(a)は東方シフトの本発明に結合されるプロ
セシングアレーのバイパスモードを用いる処理素子間の
同種データの動きを示し、(b)は南方シフトの本発明
に結合されるプロセシングアレーのバイパスモードを用
いる処理素子間の同種データの動きを示す理想的概略ブ
ロック図。
【図7】(a)はプロセッサアレー上に一次元リング構
造を与える本発明のConf−Regの異なる値を用い
る処理素子間の同種データの動きを示し、(b)は特定
データの動きに対応する通信サイクルを示している結合
矢印の数に関してプロセッサアレー上に不定且つ複雑な
流れパターンを与える本発明のConf−Regの異な
る値を用いる処理素子間の同種データの動きを示す理想
的概略ブロック図。
【図8】本発明が具体化される単一にして動的再構成可
能スイッチ及びそれに関連する、プロセッサ・アレー上
の処理素子を示す理想的概略ブロック図。
【図9】本発明が具体化される単一の動的再構成可能ス
イッチ及びそれに関連する、チップ境界を横切る隣接プ
ロセシング要素間における東西のインタープロセッサ通
信に係るプロセッサアレー上の処理素子を示す理想的概
略ブロック図。
【図10】本発明が具体化される単一の動的再構成可能
スイッチ及びそれに関連する、チップ境界を横切る隣接
プロセシング要素間における北南及び東西のインタープ
ロセッサ通信に係るプロセッサアレー上の処理素子を示
す理想的概略ブロック図。
【図11】本発明が具体化される単一の動的再構成可能
スイッチ及びそれに関連する、チップ隅を横切る隣接プ
ロセシング要素間における北南及び東西のインタープロ
セッサ通信に係るプロセッサ・アレー上の処理素子を示
す理想的概略ブロック図。
【図12】本発明が具体化される、動的再構成可能スイ
ッチに適用されるプロセッサアレー上の処理素子を包含
する4つのチップの連係及びチップ境界を横切る隣接処
理素子間におけるインタープロセッサ通信を示す理想的
概略ブロック図。
【符号の説明】
10…処理素子、12…二次元格子、14…プログラマ
ブルスイッチ、18…コントローラ、20…プロセッサ
アレイ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 デイビッド・ビー・シュ アメリカ合衆国、カリフォルニア州 91304、カノガ・パーク、ハンナ・アベニ ュー 8748

Claims (13)

    【特許請求の範囲】
  1. 【請求項1】 コントローラが処理素子の二次元アレイ
    の全ての処理素子にインストラクションを同報し、動的
    再構成可能スイッチ手段が前記コントローラの前記同報
    インストラクションまたは1つのグループの1つの処理
    素子に保持されている特定の通信インストラクションに
    従って前記アレイの処理素子の4つを1つのグループと
    して接続するために使用される、処理素子の二次元アレ
    イを有するSIMDアーキテクチャにおいて、 前記グループの前記処理素子の各々に接続される少なく
    とも1つのデータラインと、 各データライン、コントローラおよび構成レジスタに接
    続され、前記特定の通信インストラクションを前記グル
    ープの1つの処理素子から構成レジスタに装荷するため
    適用され、データ源として4つのデータラインの1つを
    選択するため前記コントローラからの前記同報インスト
    ラクションまたは前記構成レジスタの内容に従って動作
    し、前記データをソース出力ポートに供給するマルチプ
    レクサ手段と、 各データライン、前記コントローラおよび前記構成レジ
    スタ並びに前記マルチプレクサのソース出力ポートに接
    続され、前記4本のデータラインの1つを選択するため
    前記コントローラからの前記同報インストラクションま
    たは前記構成レジスタの前記内容に従って動作するため
    に適用され、前記マルチプレクサ手段の前記ソース出力
    ポートのデータを前記データラインに供給するデマルチ
    プレクサ手段と、 により構成されることを特徴とする再構成可能スイッチ
    装置。
  2. 【請求項2】 対応する処理素子に接続される少なくと
    も1つの多重ビット幅データラインを更に含み、前記処
    理素子は少なくとも1つの入出力レジスタおよび前記少
    なくとも1つの多重ビット幅データラインの選択ビット
    に関連する少なくとも1つの構成レジスタを有する請求
    項1の動的再構成可能スイッチ装置。
  3. 【請求項3】 4つの処理素子のグループ間に前記マル
    チプレクサ手段、前記デマルチプレクサおよび前記構成
    レジスタを含む前記スイッチの少なくとも1つの複製を
    更に含む請求項1の動的再構成可能スイッチ装置。
  4. 【請求項4】 4つの処理素子のグループ間に前記マル
    チプレクサ手段、前記デマルチプレクサおよび前記構成
    レジスタを含む前記スイッチの4つ以下の複製を更に含
    む請求項1の動的再構成可能スイッチ装置。
  5. 【請求項5】 前記デマルチプレクサユニットは前記マ
    ルチプレクサ手段の前記ソース出力ポートから前記4本
    データライングループの少なくとも2本のデータライン
    に供給するために前記コントローラからの前記同報イン
    ストラクションまたは前記構成レジスタの前記内容のい
    ずれかに従って動作する請求項1の動的再構成可能スイ
    ッチ装置。
  6. 【請求項6】 コントローラが多数のチップに含まれる
    複数の処理素子の二次元アレイの全ての処理素子にイン
    ストラクションを同報し、動的再構成可能スイッチ装置
    が1つのチップが1つの区画に関連する複数の区画を形
    成するため、前記アレイの前記処理素子の4つをチップ
    境界を横切るグループに接続し、前記コントローラの前
    記同報インストラクションまたは前記グループの1つの
    処理素子に保持された特定の通信インストラクションの
    いずれかに従って前記グループの選択された処理素子間
    で動的にデータ移動を指導する、処理素子の二次元アレ
    イを有するSIMDアーキテクチャにおいて、 前記区画の前記グループの各処理素子に接続される少な
    くとも1つのデータラインと、 各データライン、コントローラおよび構成レジスタに接
    続され、前記特定の通信インストラクションを前記グル
    ープの1つの処理素子から構成レジスタに装荷するため
    適用され、データ源として前記区画のデータの1つを選
    択するためまたは1つも選択しないため前記コントロー
    ラからの前記同報インストラクションまたは前記構成レ
    ジスタの内容に従って動作し、前記データをソース出力
    ポートに供給するマルチプレクサ手段と、 各データライン、前記コントローラおよび前記構成レジ
    スタ並びに前記マルチプレクサのソース出力ポートに接
    続され、前記マルチプレクサ手段の前記ソース出力ポー
    トに接続され、前記マルチプレクサ手段の前記ソース出
    力ポートから前記区画の前記データラインの選択された
    1つにデータを供給しまたは供給しないために前記コン
    トローラからの前記同報インストラクションまたは前記
    構成レジスタの内容のいずれかに従って動作するデマル
    チプレクサ手段と、 1つの区画の各マルチプレクサを同じ区画のデマルチプ
    レクサに接続するデータラインおよび1つの区画の各マ
    ルチプレクサを各他の区画の前記デマルチプレクサに接
    続する交差データラインと、 により構成されることを特徴とする再構成可能スイッチ
    装置。
  7. 【請求項7】 1つの区画の各マルチプレクサユニット
    を同じ区画の前記デマルチプレクサユニットに接続する
    前記データラインと1つの区画の各マルチプレクサを各
    他の区画の前記デマルチプレクサに接続する前記交差デ
    ータラインは単一のデータラインである請求項6の再構
    成可能スイッチ装置。
  8. 【請求項8】 対応する処理素子に接続される少なくと
    も1つの多重ビット幅データラインを更に含み、前記処
    理素子は少なくとも1つの入出力レジスタおよび前記少
    なくとも1つの多重ビット幅データラインの選択ビット
    に関連する少なくとも1つの構成レジスタを有する請求
    項6の動的再構成可能スイッチ装置。
  9. 【請求項9】 前記デマルチプレクサユニットは、前記
    マルチプレクサ手段の前記ソース出力ポートから前記区
    画の少なくとも2本のデータラインに供給するために前
    記コントローラからの前記同報インストラクションまた
    は前記構成レジスタの前記内容のいずれかに従って動作
    する請求項6の動的再構成可能スイッチ装置。
  10. 【請求項10】 4つの処理素子のグループ間に前記マ
    ルチプレクサ手段、前記デマルチプレクサおよび前記構
    成レジスタを含む前記スイッチの少なくとも1つの複製
    を更に含む請求項6の動的再構成可能スイッチ装置。
  11. 【請求項11】 4つの処理素子のグループ間に前記マ
    ルチプレクサ手段、前記デマルチプレクサおよび前記構
    成レジスタを含む前記スイッチの4つ以下の複製を更に
    含む請求項6の動的再構成可能スイッチ装置。
  12. 【請求項12】 前記マルチプレクサ手段は、前記グル
    ープの1つの処理素子から構成レジスタに前記特定の通
    信インストラクションを装荷するため適用され、データ
    源として前記区画のデータの1つを選択するためまたは
    1つも選択しないため前記コントローラからの前記同報
    インストラクションまたは前記構成レジスタの内容に従
    って動作し、そこからの前記データを前記区画の1つに
    おいて選択されたソース出力ポートに供給する請求項1
    の動的再構成可能スイッチ装置。
  13. 【請求項13】 前記デマルチプレクサ手段は、全ての
    区画から1つのソース出力ポートだけを選択し、選択さ
    れたソース出力ポートからのデータを前記区画の前記デ
    ータラインの選択された1つに供給しまたは供給しない
    ために前記コントローラからの前記同報インストラクシ
    ョンまたは前記構成レジスタの内容のいずれかに従って
    動作する請求項6の動的再構成可能スイッチ装置。
JP6190802A 1993-08-12 1994-08-12 Simdマルチプロセッサ用動的再構成可能スイッチ装置 Pending JPH07152722A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10646593A 1993-08-12 1993-08-12
US106465 1993-08-12

Publications (1)

Publication Number Publication Date
JPH07152722A true JPH07152722A (ja) 1995-06-16

Family

ID=22311550

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6190802A Pending JPH07152722A (ja) 1993-08-12 1994-08-12 Simdマルチプロセッサ用動的再構成可能スイッチ装置

Country Status (5)

Country Link
US (1) US6145072A (ja)
EP (1) EP0638867A3 (ja)
JP (1) JPH07152722A (ja)
CA (1) CA2129882A1 (ja)
IL (1) IL110634A0 (ja)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100300338B1 (ko) * 1999-02-19 2001-09-26 박래홍 2차원 이산 웨이브렛 변환을 위한 초고밀도 집적회로 구조
KR100343696B1 (ko) * 1998-03-31 2002-07-19 퀵턴 디자인 시스템즈, 인크. 평면 어레이 구조를 갖는 에뮬레이션 모듈
JP2008293524A (ja) * 2008-07-18 2008-12-04 Nec Corp マルチプロセサシステム
JP4860891B2 (ja) * 2000-08-31 2012-01-25 マイクロン テクノロジー, インク. ビット順次手法により大容量並列プロセッサアレイをメモリアレイに接続する方法及び装置
JP2012048573A (ja) * 2010-08-27 2012-03-08 Canon Inc 半導体集積回路、データ処理装置
JP2012133793A (ja) * 1997-10-10 2012-07-12 Altera Corp プロセッサアレイ及びその形成方法
JP2012252490A (ja) * 2011-06-02 2012-12-20 Renesas Electronics Corp マルチプロセッサおよびそれを用いた画像処理システム
JP5708634B2 (ja) * 2010-02-24 2015-04-30 日本電気株式会社 Simdプロセッサ
JP2019109892A (ja) * 2017-12-19 2019-07-04 三星電子株式会社Samsung Electronics Co.,Ltd. 計算のためのシステムと方法
JP2020517029A (ja) * 2017-04-17 2020-06-11 セレブラス システムズ インク. 加速化ディープラーニングのタスクアクティベーション
US11232348B2 (en) 2017-04-17 2022-01-25 Cerebras Systems Inc. Data structure descriptors for deep learning acceleration
US11321087B2 (en) 2018-08-29 2022-05-03 Cerebras Systems Inc. ISA enhancements for accelerated deep learning
US11328207B2 (en) 2018-08-28 2022-05-10 Cerebras Systems Inc. Scaled compute fabric for accelerated deep learning
US11328208B2 (en) 2018-08-29 2022-05-10 Cerebras Systems Inc. Processor element redundancy for accelerated deep learning
US11488004B2 (en) 2017-04-17 2022-11-01 Cerebras Systems Inc. Neuron smearing for accelerated deep learning
US11934945B2 (en) 2017-02-23 2024-03-19 Cerebras Systems Inc. Accelerated deep learning

Families Citing this family (127)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7266725B2 (en) 2001-09-03 2007-09-04 Pact Xpp Technologies Ag Method for debugging reconfigurable architectures
US5956518A (en) 1996-04-11 1999-09-21 Massachusetts Institute Of Technology Intermediate-grain reconfigurable processing device
DE19651075A1 (de) 1996-12-09 1998-06-10 Pact Inf Tech Gmbh Einheit zur Verarbeitung von numerischen und logischen Operationen, zum Einsatz in Prozessoren (CPU's), Mehrrechnersystemen, Datenflußprozessoren (DFP's), digitalen Signal Prozessoren (DSP's) oder dergleichen
DE19654595A1 (de) 1996-12-20 1998-07-02 Pact Inf Tech Gmbh I0- und Speicherbussystem für DFPs sowie Bausteinen mit zwei- oder mehrdimensionaler programmierbaren Zellstrukturen
EP1329816B1 (de) 1996-12-27 2011-06-22 Richter, Thomas Verfahren zum selbständigen dynamischen Umladen von Datenflussprozessoren (DFPs) sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstrukturen (FPGAs, DPGAs, o.dgl.)
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.)
US6101319A (en) * 1997-01-02 2000-08-08 Intel Corporation Method and apparatus for the automatic configuration of strapping options on a circuit board assembly
US6542998B1 (en) 1997-02-08 2003-04-01 Pact Gmbh Method of self-synchronization of configurable elements of a programmable module
US8686549B2 (en) 2001-09-03 2014-04-01 Martin Vorbach Reconfigurable elements
US9092595B2 (en) 1997-10-08 2015-07-28 Pact Xpp Technologies Ag Multiprocessor having associated RAM units
DE19861088A1 (de) 1997-12-22 2000-02-10 Pact Inf Tech Gmbh Verfahren zur Reparatur von integrierten Schaltkreisen
US6167501A (en) * 1998-06-05 2000-12-26 Billions Of Operations Per Second, Inc. Methods and apparatus for manarray PE-PE switch control
US6839728B2 (en) * 1998-10-09 2005-01-04 Pts Corporation Efficient complex multiplication and fast fourier transform (FFT) implementation on the manarray architecture
US6539027B1 (en) * 1999-01-19 2003-03-25 Coastcom Reconfigurable, intelligent signal multiplexer and network design and maintenance system therefor
WO2002013000A2 (de) 2000-06-13 2002-02-14 Pact Informationstechnologie Gmbh Pipeline ct-protokolle und -kommunikation
US7506136B2 (en) 1999-04-09 2009-03-17 Clearspeed Technology Plc Parallel data processing apparatus
GB2348984B (en) * 1999-04-09 2004-05-12 Pixelfusion Ltd Parallel data processing systems
US7627736B2 (en) 1999-04-09 2009-12-01 Clearspeed Technology Plc Thread manager to control an array of processing elements
US7526630B2 (en) 1999-04-09 2009-04-28 Clearspeed Technology, Plc Parallel data processing apparatus
AU5805300A (en) 1999-06-10 2001-01-02 Pact Informationstechnologie Gmbh Sequence partitioning in cell structures
JP3674515B2 (ja) * 2000-02-25 2005-07-20 日本電気株式会社 アレイ型プロセッサ
US8058899B2 (en) 2000-10-06 2011-11-15 Martin Vorbach Logic cell array and bus system
US7444531B2 (en) 2001-03-05 2008-10-28 Pact Xpp Technologies Ag Methods and devices for treating and processing data
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
US9037807B2 (en) 2001-03-05 2015-05-19 Pact Xpp Technologies Ag Processor arrangement on a chip including data processing, memory, and interface elements
US9250908B2 (en) 2001-03-05 2016-02-02 Pact Xpp Technologies Ag Multi-processor bus and cache interconnection system
US9552047B2 (en) 2001-03-05 2017-01-24 Pact Xpp Technologies Ag Multiprocessor having runtime adjustable clock and clock dependent power supply
US7844796B2 (en) 2001-03-05 2010-11-30 Martin Vorbach Data processing device and method
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
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
JP3921367B2 (ja) * 2001-09-26 2007-05-30 日本電気株式会社 データ処理装置および方法、コンピュータプログラム、情報記憶媒体、並列演算装置、データ処理システム
JP3693013B2 (ja) * 2001-12-26 2005-09-07 日本電気株式会社 データ処理システム、アレイ型プロセッサ、データ処理装置、コンピュータプログラム、情報記憶媒体
WO2003060747A2 (de) 2002-01-19 2003-07-24 Pact Xpp Technologies Ag Reconfigurierbarer prozessor
US7085913B2 (en) * 2002-02-13 2006-08-01 International Business Machines Corporation Hub/router for communication between cores using cartesian coordinates
US8127061B2 (en) 2002-02-18 2012-02-28 Martin Vorbach Bus systems and reconfiguration methods
US6906978B2 (en) * 2002-03-19 2005-06-14 Intel Corporation Flexible integrated memory
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
US7180854B2 (en) * 2002-04-10 2007-02-20 Keith Cambron Route on failure method and apparatus for automatic rerouting network traffic through a reconfigurable, intelligent signal multiplexer upon failures of multiplexer components or of network spans
US7461234B2 (en) * 2002-07-01 2008-12-02 Panasonic Corporation Loosely-biased heterogeneous reconfigurable arrays
US7464311B2 (en) * 2002-08-05 2008-12-09 Mitsubishi Denki Kabushiki Kaisha Apparatus and method for device selective scans in data streaming test environment for a processing unit having multiple cores
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
WO2004038599A1 (de) 2002-09-06 2004-05-06 Pact Xpp Technologies Ag Rekonfigurierbare sequenzerstruktur
JP3987783B2 (ja) * 2002-10-11 2007-10-10 Necエレクトロニクス株式会社 アレイ型プロセッサ
JP3987784B2 (ja) * 2002-10-30 2007-10-10 Necエレクトロニクス株式会社 アレイ型プロセッサ
US20060001669A1 (en) * 2002-12-02 2006-01-05 Sehat Sutardja Self-reparable semiconductor and method thereof
US7340644B2 (en) * 2002-12-02 2008-03-04 Marvell World Trade Ltd. Self-reparable semiconductor and method thereof
US7185225B2 (en) * 2002-12-02 2007-02-27 Marvell World Trade Ltd. Self-reparable semiconductor and method thereof
US7673118B2 (en) 2003-02-12 2010-03-02 Swarztrauber Paul N System and method for vector-parallel multiprocessor communication
JP4700611B2 (ja) 2003-08-28 2011-06-15 ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト データ処理装置およびデータ処理方法
US6954085B2 (en) * 2003-10-13 2005-10-11 International Business Machines Corporation System and method for dynamically executing a function in a programmable logic array
US7937557B2 (en) 2004-03-16 2011-05-03 Vns Portfolio Llc System and method for intercommunication between computers in an array
US8103866B2 (en) * 2004-06-18 2012-01-24 Nethra Imaging Inc. System for reconfiguring a processor array
US20080235490A1 (en) * 2004-06-18 2008-09-25 Anthony Mark Jones System for configuring a processor array
JP4477959B2 (ja) * 2004-07-26 2010-06-09 独立行政法人理化学研究所 ブロードキャスト型並列処理のための演算処理装置
JP2006236106A (ja) * 2005-02-25 2006-09-07 Canon Inc データ処理装置及びデータ処理方法
US8024549B2 (en) * 2005-03-04 2011-09-20 Mtekvision Co., Ltd. Two-dimensional processor array of processing elements
US8018849B1 (en) * 2005-03-25 2011-09-13 Tilera Corporation Flow control in a parallel processing environment
US8443169B2 (en) * 2005-03-28 2013-05-14 Gerald George Pechanek Interconnection network connecting operation-configurable nodes according to one or more levels of adjacency in multiple dimensions of communication in a multi-processor and a neural processor
US7904695B2 (en) * 2006-02-16 2011-03-08 Vns Portfolio Llc Asynchronous power saving computer
JP4536618B2 (ja) * 2005-08-02 2010-09-01 富士通セミコンダクター株式会社 リコンフィグ可能な集積回路装置
EP1974265A1 (de) 2006-01-18 2008-10-01 PACT XPP Technologies AG Hardwaredefinitionsverfahren
US7904615B2 (en) 2006-02-16 2011-03-08 Vns Portfolio Llc Asynchronous computer communication
US7617383B2 (en) * 2006-02-16 2009-11-10 Vns Portfolio Llc Circular register arrays of a computer
US7966481B2 (en) 2006-02-16 2011-06-21 Vns Portfolio Llc Computer system and method for executing port communications without interrupting the receiving computer
US7636835B1 (en) * 2006-04-14 2009-12-22 Tilera Corporation Coupling data in a parallel processing environment
US7577820B1 (en) 2006-04-14 2009-08-18 Tilera Corporation Managing data in a parallel processing environment
US7539845B1 (en) * 2006-04-14 2009-05-26 Tilera Corporation Coupling integrated circuits in a parallel processing environment
JP2007293701A (ja) * 2006-04-26 2007-11-08 Canon Inc 動的再構成可能デバイスの制御装置及び方法
US7441099B2 (en) * 2006-10-03 2008-10-21 Hong Kong Applied Science and Technology Research Institute Company Limited Configurable SIMD processor instruction specifying index to LUT storing information for different operation and memory location for each processing unit
US7865695B2 (en) * 2007-04-19 2011-01-04 L3 Communications Integrated Systems, L.P. Reading and writing a memory element within a programmable processing element in a plurality of modes
US7555637B2 (en) * 2007-04-27 2009-06-30 Vns Portfolio Llc Multi-port read/write operations based on register bits set for indicating select ports and transfer directions
US8261025B2 (en) 2007-11-12 2012-09-04 International Business Machines Corporation Software pipelining on a network on chip
US8526422B2 (en) * 2007-11-27 2013-09-03 International Business Machines Corporation Network on chip with partitions
US7917703B2 (en) * 2007-12-13 2011-03-29 International Business Machines Corporation Network on chip that maintains cache coherency with invalidate commands
US8473667B2 (en) 2008-01-11 2013-06-25 International Business Machines Corporation Network on chip that maintains cache coherency with invalidation messages
US8010750B2 (en) * 2008-01-17 2011-08-30 International Business Machines Corporation Network on chip that maintains cache coherency with invalidate commands
US8018466B2 (en) * 2008-02-12 2011-09-13 International Business Machines Corporation Graphics rendering on a network on chip
US8490110B2 (en) 2008-02-15 2013-07-16 International Business Machines Corporation Network on chip with a low latency, high bandwidth application messaging interconnect
US7913010B2 (en) * 2008-02-15 2011-03-22 International Business Machines Corporation Network on chip with a low latency, high bandwidth application messaging interconnect
US8103853B2 (en) * 2008-03-05 2012-01-24 The Boeing Company Intelligent fabric system on a chip
US20090245257A1 (en) * 2008-04-01 2009-10-01 International Business Machines Corporation Network On Chip
US20090271172A1 (en) * 2008-04-24 2009-10-29 International Business Machines Corporation Emulating A Computer Run Time Environment
US8078850B2 (en) * 2008-04-24 2011-12-13 International Business Machines Corporation Branch prediction technique using instruction for resetting result table pointer
US8423715B2 (en) 2008-05-01 2013-04-16 International Business Machines Corporation Memory management among levels of cache in a memory hierarchy
US8214845B2 (en) 2008-05-09 2012-07-03 International Business Machines Corporation Context switching in a network on chip by thread saving and restoring pointers to memory arrays containing valid message data
US7991978B2 (en) * 2008-05-09 2011-08-02 International Business Machines Corporation Network on chip with low latency, high bandwidth application messaging interconnects that abstract hardware inter-thread data communications into an architected state of a processor
US8020168B2 (en) * 2008-05-09 2011-09-13 International Business Machines Corporation Dynamic virtual software pipelining on a network on chip
US8392664B2 (en) 2008-05-09 2013-03-05 International Business Machines Corporation Network on chip
US7958340B2 (en) * 2008-05-09 2011-06-07 International Business Machines Corporation Monitoring software pipeline performance on a network on chip
US7861065B2 (en) * 2008-05-09 2010-12-28 International Business Machines Corporation Preferential dispatching of computer program instructions
US8494833B2 (en) 2008-05-09 2013-07-23 International Business Machines Corporation Emulating a computer run time environment
US8230179B2 (en) 2008-05-15 2012-07-24 International Business Machines Corporation Administering non-cacheable memory load instructions
US8040799B2 (en) * 2008-05-15 2011-10-18 International Business Machines Corporation Network on chip with minimum guaranteed bandwidth for virtual communications channels
US8438578B2 (en) 2008-06-09 2013-05-07 International Business Machines Corporation Network on chip with an I/O accelerator
US20100023730A1 (en) * 2008-07-24 2010-01-28 Vns Portfolio Llc Circular Register Arrays of a Computer
US8195884B2 (en) 2008-09-18 2012-06-05 International Business Machines Corporation Network on chip with caching restrictions for pages of computer memory
US8166258B2 (en) * 2009-07-24 2012-04-24 Lsi Corporation Skip operations for solid state disks
US8219776B2 (en) * 2009-09-23 2012-07-10 Lsi Corporation Logical-to-physical address translation for solid state disks
US8321639B2 (en) * 2009-12-30 2012-11-27 Lsi Corporation Command tracking for direct access block storage devices
US8555141B2 (en) * 2009-06-04 2013-10-08 Lsi Corporation Flash memory organization
US8868809B2 (en) * 2009-11-30 2014-10-21 Lsi Corporation Interrupt queuing in a media controller architecture
US8245112B2 (en) * 2009-06-04 2012-08-14 Lsi Corporation Flash memory organization
US8516264B2 (en) * 2009-10-09 2013-08-20 Lsi Corporation Interlocking plain text passwords to data encryption keys
US20100306451A1 (en) * 2009-06-01 2010-12-02 Joshua Johnson Architecture for nand flash constraint enforcement
US20100287320A1 (en) * 2009-05-06 2010-11-11 Lsi Corporation Interprocessor Communication Architecture
US8718079B1 (en) 2010-06-07 2014-05-06 Marvell International Ltd. Physical layer devices for network switches
US9009447B2 (en) 2011-07-18 2015-04-14 Oracle International Corporation Acceleration of string comparisons using vector instructions
US9280342B2 (en) 2011-07-20 2016-03-08 Oracle International Corporation Vector operations for compressing selected vector elements
US9514069B1 (en) 2012-05-24 2016-12-06 Schwegman, Lundberg & Woessner, P.A. Enhanced computer processor and memory management architecture
US9201828B2 (en) 2012-10-23 2015-12-01 Analog Devices, Inc. Memory interconnect network architecture for vector processor
US9342306B2 (en) 2012-10-23 2016-05-17 Analog Devices Global Predicate counter
US10331997B2 (en) 2014-05-07 2019-06-25 Seagate Technology Llc Adaptive configuration of a neural network device
CN107003982B (zh) * 2014-12-24 2021-07-20 英特尔公司 用于使用多个多点总线的装置和方法
US10891254B2 (en) * 2016-10-26 2021-01-12 Intel Corporation Switchable topology processor tile and computing machine
GB2562520A (en) * 2017-05-17 2018-11-21 John Hamlin Derrick Digital processing connectivity
US10664287B2 (en) * 2018-03-30 2020-05-26 Intel Corporation Systems and methods for implementing chained tile operations
WO2020183396A1 (en) 2019-03-11 2020-09-17 Untether Ai Corporation Computational memory
US20220171829A1 (en) * 2019-03-11 2022-06-02 Untether Ai Corporation Computational memory
WO2021033125A1 (en) * 2019-08-16 2021-02-25 Untether Ai Corporation Computational memory with processing element row and bank communications
US11342944B2 (en) 2019-09-23 2022-05-24 Untether Ai Corporation Computational memory with zero disable and error detection
US11468002B2 (en) 2020-02-28 2022-10-11 Untether Ai Corporation Computational memory with cooperation among rows of processing elements and memory thereof
EP4268086A1 (en) * 2020-12-23 2023-11-01 Imsys AB A novel data processing architecture and related procedures and hardware improvements

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5146608A (en) * 1983-05-31 1992-09-08 Hillis W Daniel Parallel processor array system controlled in response to composition status signal
US5151996A (en) * 1983-05-31 1992-09-29 Thinking Machines Corporation Multi-dimensional message transfer router
US4701907C1 (en) * 1986-02-03 2002-08-27 Collins Mary Dynamically reconfigurable time-space-time digital switch and network
GB8606695D0 (en) * 1986-03-18 1986-04-23 Sinclair Res Ltd Random chip addressing algorithm for wsi
CA1293819C (en) * 1986-08-29 1991-12-31 Thinking Machines Corporation Very large scale computer
US5038386A (en) * 1986-08-29 1991-08-06 International Business Machines Corporation Polymorphic mesh network image processing system
US5175865A (en) * 1986-10-28 1992-12-29 Thinking Machines Corporation Partitioning the processors of a massively parallel single array processor into sub-arrays selectively controlled by host computers
US5058001A (en) * 1987-03-05 1991-10-15 International Business Machines Corporation Two-dimensional array of processing elements for emulating a multi-dimensional network
US5257395A (en) * 1988-05-13 1993-10-26 International Business Machines Corporation Methods and circuit for implementing and arbitrary graph on a polymorphic mesh
US5105424A (en) * 1988-06-02 1992-04-14 California Institute Of Technology Inter-computer message routing system with each computer having separate routinng automata for each dimension of the network
EP0424618A3 (en) * 1989-10-24 1992-11-19 International Business Machines Corporation Input/output system
US5161156A (en) * 1990-02-02 1992-11-03 International Business Machines Corporation Multiprocessing packet switching connection system having provision for error correction and recovery

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012133793A (ja) * 1997-10-10 2012-07-12 Altera Corp プロセッサアレイ及びその形成方法
KR100343696B1 (ko) * 1998-03-31 2002-07-19 퀵턴 디자인 시스템즈, 인크. 평면 어레이 구조를 갖는 에뮬레이션 모듈
KR100300338B1 (ko) * 1999-02-19 2001-09-26 박래홍 2차원 이산 웨이브렛 변환을 위한 초고밀도 집적회로 구조
JP4860891B2 (ja) * 2000-08-31 2012-01-25 マイクロン テクノロジー, インク. ビット順次手法により大容量並列プロセッサアレイをメモリアレイに接続する方法及び装置
JP2008293524A (ja) * 2008-07-18 2008-12-04 Nec Corp マルチプロセサシステム
JP5708634B2 (ja) * 2010-02-24 2015-04-30 日本電気株式会社 Simdプロセッサ
JP2012048573A (ja) * 2010-08-27 2012-03-08 Canon Inc 半導体集積回路、データ処理装置
JP2012252490A (ja) * 2011-06-02 2012-12-20 Renesas Electronics Corp マルチプロセッサおよびそれを用いた画像処理システム
US11934945B2 (en) 2017-02-23 2024-03-19 Cerebras Systems Inc. Accelerated deep learning
JP2021108157A (ja) * 2017-04-17 2021-07-29 セレブラス システムズ インク. 加速化ディープラーニングのタスクアクティベーション
JP2020517029A (ja) * 2017-04-17 2020-06-11 セレブラス システムズ インク. 加速化ディープラーニングのタスクアクティベーション
US11157806B2 (en) 2017-04-17 2021-10-26 Cerebras Systems Inc. Task activating for accelerated deep learning
US11232348B2 (en) 2017-04-17 2022-01-25 Cerebras Systems Inc. Data structure descriptors for deep learning acceleration
US11232347B2 (en) 2017-04-17 2022-01-25 Cerebras Systems Inc. Fabric vectors for deep learning acceleration
US11475282B2 (en) 2017-04-17 2022-10-18 Cerebras Systems Inc. Microthreading for accelerated deep learning
US11488004B2 (en) 2017-04-17 2022-11-01 Cerebras Systems Inc. Neuron smearing for accelerated deep learning
US11645224B2 (en) 2017-12-19 2023-05-09 Samsung Electronics Co., Ltd. Neural processing accelerator
JP2019109892A (ja) * 2017-12-19 2019-07-04 三星電子株式会社Samsung Electronics Co.,Ltd. 計算のためのシステムと方法
US11328207B2 (en) 2018-08-28 2022-05-10 Cerebras Systems Inc. Scaled compute fabric for accelerated deep learning
US11321087B2 (en) 2018-08-29 2022-05-03 Cerebras Systems Inc. ISA enhancements for accelerated deep learning
US11328208B2 (en) 2018-08-29 2022-05-10 Cerebras Systems Inc. Processor element redundancy for accelerated deep learning

Also Published As

Publication number Publication date
EP0638867A3 (en) 1995-10-18
EP0638867A2 (en) 1995-02-15
US6145072A (en) 2000-11-07
CA2129882A1 (en) 1995-02-13
IL110634A0 (en) 1994-11-11

Similar Documents

Publication Publication Date Title
JPH07152722A (ja) Simdマルチプロセッサ用動的再構成可能スイッチ装置
US6092174A (en) Dynamically reconfigurable distributed integrated circuit processor and method
EP0314277B1 (en) Simd array processor
US5822608A (en) Associative parallel processing system
US5682491A (en) Selective processing and routing of results among processors controlled by decoding instructions using mask value derived from instruction tag and processor identifier
Bittner et al. Colt: An experiment in wormhole run-time reconfiguration
EP0298658B1 (en) Computational apparatus for parallel processing
US5301340A (en) IC chips including ALUs and identical register files whereby a number of ALUs directly and concurrently write results to every register file per cycle
EP0456201B1 (en) Massively parallel processor including slice-wise communications arrangement
US9047440B2 (en) Logical cell array and bus system
EP1742154B1 (en) Manifold array processor
US5815723A (en) Picket autonomy on a SIMD machine
EP0208457A2 (en) A processor array
CN1656445B (zh) 处理系统
JPH0922404A (ja) 同報通信プロセッサ命令を備えたアレイ・プロセッサ通信アーキテクチャ
WO1990016031A1 (en) Massively parallel digital image data processor using pixel-mapped input/output and relative indexed addressing
US4745546A (en) Column shorted and full array shorted functional plane for use in a modular array processor and method for using same
US8949576B2 (en) Arithmetic node including general digital signal processing functions for an adaptive computing machine
US4524428A (en) Modular input-programmable logic circuits for use in a modular array processor
US20070136560A1 (en) Method and apparatus for a shift register based interconnection for a massively parallel processor array
US5765015A (en) Slide network for an array processor
KR20080106129A (ko) 복수의 다중 모드 프로세서를 연결하는 방법과 장치
Brebner et al. Runtime reconfigurable routing
EP0570952A2 (en) Slide network for an array processor
Sueyoshi et al. A new approach towards realization of reconfigurable interconnection networks