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
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
- 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/17337—Direct connection machines, e.g. completely connected computers, point to point communication networks
- G06F15/17343—Direct 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
-
- 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)
- 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つを選択するためコントローラからの同報イ
ンストラクションまたは構成レジスタの内容に従って動
作し、マルチプレクサのソース出力ポートのデータをデ
ータラインに供給する出マルチプレクサにより構成され
る。
る処理素子アレイにおいて、処理素子間のデータ流を動
的に制御するための動的に再構成可能なプロセッサ間通
信ネットワークを特徴とする。 【構成】グループの各処理素子(10)に接続される1つの
データラインと、特定の通信インストラクションをグル
ープの1つの処理素子(10)から構成レジスタに装荷し、
データ源として4つのデータラインの1つを選択するた
めコントローラ(18)からの同報インストラクションまた
は構成レジスタの内容に従って動作し、データをソース
出力ポートに供給するマルチプレクサと、4本のデータ
ラインの1つを選択するためコントローラからの同報イ
ンストラクションまたは構成レジスタの内容に従って動
作し、マルチプレクサのソース出力ポートのデータをデ
ータラインに供給する出マルチプレクサにより構成され
る。
Description
【0001】
【産業上の利用分野】この発明は、一般にコンピュータ
アーキテクチャに関し、特に、SIMDマルチプロセッ
サアーキテクチャにおけるプロセッサアレイを構成する
複数の処理素子を接続するのに有効な動的に再構成可能
なスイッチ装置に関する。
アーキテクチャに関し、特に、SIMDマルチプロセッ
サアーキテクチャにおけるプロセッサアレイを構成する
複数の処理素子を接続するのに有効な動的に再構成可能
なスイッチ装置に関する。
【0002】
【関連技術】SIMDマルチプロセッサアーキテクチャ
に見られる、複数の処理素子から成るプロセシングアレ
イにおいては、各プロセシングエレメント(PE)毎に
4つのリンクを介して8つの最も隣接する処理素子を接
続するプロセッサ間通信は市販のマシン(MasPa
r’s MP−1)および大学が開発したマシン(ノー
スカロライナ大学が開発したBLITZEN)において
使用されているX−ネットスイッチにより実現されてい
る。しかしながら、これらのマシンは本願発明のよう
に、スイッチングユニットを動的に再構成することがで
きない。
に見られる、複数の処理素子から成るプロセシングアレ
イにおいては、各プロセシングエレメント(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著に記載されている。しかしながら、この論文には概
要が書かれているのみで、再構成可能な隣接プロセッサ
間通信を実現する手段については具体的に書かれていな
い。
隣接プロセッサ間通信については、1986年に出版さ
れたデューク大学の博士論文「A System fo
rRouting Arbitrary Commun
ication Graphs on SIMD Ar
chitectures」S.J.Tomboulia
n著に記載されている。しかしながら、この論文には概
要が書かれているのみで、再構成可能な隣接プロセッサ
間通信を実現する手段については具体的に書かれていな
い。
【0004】
【発明が解決しようとする課題】上述したように、従来
SIMDマルチプロセッサアーキテクチャにおいて、ス
イッチングユニットを動的に再構成することができなか
った。
SIMDマルチプロセッサアーキテクチャにおいて、ス
イッチングユニットを動的に再構成することができなか
った。
【0005】この発明は、このような点に鑑みてなされ
たもので、並列単一命令複数データ流(SIMD)コン
ピュータアーキテクチャに見られるプロセシングアレイ
(処理アレイ)において、処理素子(プロセシングエレ
メント)間のデータ流を動的に制御するための動的に再
構成可能なプロセッサ間通信ネットワークを提供するこ
とを目的とする。
たもので、並列単一命令複数データ流(SIMD)コン
ピュータアーキテクチャに見られるプロセシングアレイ
(処理アレイ)において、処理素子(プロセシングエレ
メント)間のデータ流を動的に制御するための動的に再
構成可能なプロセッサ間通信ネットワークを提供するこ
とを目的とする。
【0006】この発明の要部は、プロセシングアレイに
おける隣接するプロセシングアレイ(PE)間のデータ
を転送するのに使用する動的に再構成可能なスイッチ
(DRS)の設計にある。この発明を使用することによ
り、多くの重要で新規なアーキテクチャの特徴が得られ
る。すなわち、PEあたりのプロセッサ間接続数を最小
限に抑えることができ、各PEレベルでのローカルコミ
ュニケーションの自律性が得られる。前者は物理的に実
現する観点から重要であり、後者は既存のSIMDアー
キテクチャに新しい次元の柔軟性を持たせる上で重要で
ある。
おける隣接するプロセシングアレイ(PE)間のデータ
を転送するのに使用する動的に再構成可能なスイッチ
(DRS)の設計にある。この発明を使用することによ
り、多くの重要で新規なアーキテクチャの特徴が得られ
る。すなわち、PEあたりのプロセッサ間接続数を最小
限に抑えることができ、各PEレベルでのローカルコミ
ュニケーションの自律性が得られる。前者は物理的に実
現する観点から重要であり、後者は既存のSIMDアー
キテクチャに新しい次元の柔軟性を持たせる上で重要で
ある。
【0007】プロセシングアレイにおける各処理素子の
動的な再構成は各PEに対してこの発明を具現化する異
なるDRSを相関させることにより実現される。DRS
の構成、すなわち、入力ポートから出力ポートにデータ
を通過させるのに必要なスイッチの設定は、コントロー
ラからすべてのPEにより受信されるインストラクショ
ン(同報インストラクション)により行われるか、また
は各PEのメモリエリアにローカルに格納されている値
にそれぞれ別個に設定される。プロセシングアレイを形
成する複数のPEは物理的に異なるチップから成り、プ
ロセシングアレイを区割りしているが、これらのPE間
でデータを通信するときに生じる段階的問題に特別の配
慮が成されている。
動的な再構成は各PEに対してこの発明を具現化する異
なるDRSを相関させることにより実現される。DRS
の構成、すなわち、入力ポートから出力ポートにデータ
を通過させるのに必要なスイッチの設定は、コントロー
ラからすべてのPEにより受信されるインストラクショ
ン(同報インストラクション)により行われるか、また
は各PEのメモリエリアにローカルに格納されている値
にそれぞれ別個に設定される。プロセシングアレイを形
成する複数のPEは物理的に異なるチップから成り、プ
ロセシングアレイを区割りしているが、これらのPE間
でデータを通信するときに生じる段階的問題に特別の配
慮が成されている。
【0008】この発明は少なくとも2つの特徴により他
の一般的なプロセッサ間通信機構とは異なる。
の一般的なプロセッサ間通信機構とは異なる。
【0009】第1に、この発明の設計は、ある種の通信
上の制約を利用することにより、プロセッサ間通信リン
クに使用するときに非常に有効である。この発明の設計
では、各PEは8つの隣接するプロセッサとダイレクト
に通信するために4つの双方向接続しか必要としない。
さらに、隣接するチップのスイッチ間での通信あるいは
区割り領域にまたがるスイッチ間での通信において、デ
ータパスビットあたり1双方向ワイヤしか必要としな
い。従って、チップ間にまたがるプロセッサ間通信に必
要なピン数を低減することができ、1つのチップに実現
可能なPEの数を増大させることができる。
上の制約を利用することにより、プロセッサ間通信リン
クに使用するときに非常に有効である。この発明の設計
では、各PEは8つの隣接するプロセッサとダイレクト
に通信するために4つの双方向接続しか必要としない。
さらに、隣接するチップのスイッチ間での通信あるいは
区割り領域にまたがるスイッチ間での通信において、デ
ータパスビットあたり1双方向ワイヤしか必要としな
い。従って、チップ間にまたがるプロセッサ間通信に必
要なピン数を低減することができ、1つのチップに実現
可能なPEの数を増大させることができる。
【0010】この発明の第2の特徴は、処理中にDRS
を動的に再構成することにより通信に柔軟性を持たせる
ことができる点にある。特に、SIMD並列プロセシン
グアーキテクチャにおいて、同じ性質を持つデータをP
E間で移動させることができる。(図5(a)、5
(b)参照)あらかじめ、選択された方向、例えば、
北、東、南、西等は各通信命令により与えられる。この
発明のDRS設計を用いることにより、各PEは隣接す
るPEへまたは隣接するPEからのデータの転送方向を
独立して設定することができる。この処理中におけるス
イッチの動的な再構成とデータ流の方向ずけにより、特
定のアルゴリズムにさらにマッチした複雑なデータ計算
路を構築することができる。(図6(a),6(b)参
照)例えば、ニューラルネットワークアルゴリズムを有
効に処理するためにプロセシングアレイを流れるデータ
流の動的再構成を有効に利用するための多くのマッピン
グ方法が開発された。他の分野の問題を解決するための
同様なマッピング方法も潜在的には一般化することがで
きる。
を動的に再構成することにより通信に柔軟性を持たせる
ことができる点にある。特に、SIMD並列プロセシン
グアーキテクチャにおいて、同じ性質を持つデータをP
E間で移動させることができる。(図5(a)、5
(b)参照)あらかじめ、選択された方向、例えば、
北、東、南、西等は各通信命令により与えられる。この
発明のDRS設計を用いることにより、各PEは隣接す
るPEへまたは隣接するPEからのデータの転送方向を
独立して設定することができる。この処理中におけるス
イッチの動的な再構成とデータ流の方向ずけにより、特
定のアルゴリズムにさらにマッチした複雑なデータ計算
路を構築することができる。(図6(a),6(b)参
照)例えば、ニューラルネットワークアルゴリズムを有
効に処理するためにプロセシングアレイを流れるデータ
流の動的再構成を有効に利用するための多くのマッピン
グ方法が開発された。他の分野の問題を解決するための
同様なマッピング方法も潜在的には一般化することがで
きる。
【0011】よって、本発明は、処理素子の2次元アレ
イを有するSIMDアーキテクチャにおいて実施され、
この場合、コントローラがこの配列の全ての処理素子に
インストラクションを同報し、動的再構成可能スイッチ
ング装置がコントローラの同報インストラクションまた
はグループの1つ処理素子に保持された特殊な通信イン
ストラクションのいずれかに従って4つの処理素子を1
つのグループとして接続するために有効であり、少なく
とも1ビット幅の少なくとも1本のデータラインを含
み、このグループの各処理素子に接続されている。
イを有するSIMDアーキテクチャにおいて実施され、
この場合、コントローラがこの配列の全ての処理素子に
インストラクションを同報し、動的再構成可能スイッチ
ング装置がコントローラの同報インストラクションまた
はグループの1つ処理素子に保持された特殊な通信イン
ストラクションのいずれかに従って4つの処理素子を1
つのグループとして接続するために有効であり、少なく
とも1ビット幅の少なくとも1本のデータラインを含
み、このグループの各処理素子に接続されている。
【0012】マルチプレクサユニットは、各データライ
ンとコントローラと1つの構成レジスタに接続されてい
る。それは、グループ内の1つの処理素子からの特殊な
通信インストラクションを構成レジスタに装荷し、デー
タ源としての4つのデータラインの1つを選択するため
にコントローラからの同報インストラクションまたは構
成レジスタの内容のいずれかに従って動作するように適
用され、そこからのデータをソース出力ポートに供給す
る。同様に、デマルチプレクサユニットも、各データラ
インとコントローラと1つの構成レジスタに接続されて
いるのみならず、マルチプレクサユニットのソース出力
ポートにも接続されている。このデマルチプレクサは、
4本のデータラインから1本を選択するためにコントロ
ーラからの同報インストラクションまたは構成レジスタ
の内容のいずれかに従って動作するように適用され、マ
ルチプレクサのソース出力ポートのデータを選択データ
ラインに供給する。
ンとコントローラと1つの構成レジスタに接続されてい
る。それは、グループ内の1つの処理素子からの特殊な
通信インストラクションを構成レジスタに装荷し、デー
タ源としての4つのデータラインの1つを選択するため
にコントローラからの同報インストラクションまたは構
成レジスタの内容のいずれかに従って動作するように適
用され、そこからのデータをソース出力ポートに供給す
る。同様に、デマルチプレクサユニットも、各データラ
インとコントローラと1つの構成レジスタに接続されて
いるのみならず、マルチプレクサユニットのソース出力
ポートにも接続されている。このデマルチプレクサは、
4本のデータラインから1本を選択するためにコントロ
ーラからの同報インストラクションまたは構成レジスタ
の内容のいずれかに従って動作するように適用され、マ
ルチプレクサのソース出力ポートのデータを選択データ
ラインに供給する。
【0013】本発明は、多数のチップに含められる複数
の処理素子の2次元アレイを有するSIMDアーキテク
チャにおいて実施される。この場合、コントローラはア
レイの全ての処理素子にインストラクションを同報し、
動的に再構成可能なスイッチ装置が各区画が1チップに
関連している複数の区画を形成するためにチップ境界を
交差できるグループとしてアレイの処理素子の4つを接
続し、コントローラの同報インストラクションまたはグ
ループの1つの処理素子に保持された特定の通信インス
トラクションのいずれかに従ってグループの選択された
処理素子間で動的にデータ移動を指導するために有効で
ある。この区画化状態においては、このスイッチは各区
画において、グループ内の処理素子の各々に接続される
少なくとも1本のデータラインを含んでいる。マルチプ
レクサユニットは、各データラインとコントローラと1
つの構成レジスタに接続されている。それは、グループ
内の1つの処理素子からの特定の通信インストラクショ
ンを構成レジスタにロードするために装荷し、データソ
ースとして4本のデータラインから1本を選択するよう
にコントローラの同報インストラクションまたはグルー
プの1つの処理素子に保持された特定の通信インストラ
クションのいずれかに従って動作し、託されたデータラ
インからのデータをソース出力ポートに供給するために
適用される。
の処理素子の2次元アレイを有するSIMDアーキテク
チャにおいて実施される。この場合、コントローラはア
レイの全ての処理素子にインストラクションを同報し、
動的に再構成可能なスイッチ装置が各区画が1チップに
関連している複数の区画を形成するためにチップ境界を
交差できるグループとしてアレイの処理素子の4つを接
続し、コントローラの同報インストラクションまたはグ
ループの1つの処理素子に保持された特定の通信インス
トラクションのいずれかに従ってグループの選択された
処理素子間で動的にデータ移動を指導するために有効で
ある。この区画化状態においては、このスイッチは各区
画において、グループ内の処理素子の各々に接続される
少なくとも1本のデータラインを含んでいる。マルチプ
レクサユニットは、各データラインとコントローラと1
つの構成レジスタに接続されている。それは、グループ
内の1つの処理素子からの特定の通信インストラクショ
ンを構成レジスタにロードするために装荷し、データソ
ースとして4本のデータラインから1本を選択するよう
にコントローラの同報インストラクションまたはグルー
プの1つの処理素子に保持された特定の通信インストラ
クションのいずれかに従って動作し、託されたデータラ
インからのデータをソース出力ポートに供給するために
適用される。
【0014】デマルチプレクサユニットは、各データラ
インとコントローラと1つの構成レジスタとに接続さ
れ、マルチプレクサユニットのソース出力ポートに接続
されている。このデマルチプレクサは、4本のデータラ
インから1本を選択するためにコントローラからの同報
インストラクションまたは構成レジスタの内容のいずれ
かに従って動作し、マルチプレクサのソース出力ポート
からのデータを選択データラインに供給するために適用
される。1本のデータラインは、1つの区画の各マルチ
プレクサを同じ区画のデマルチプレクサに接続し、交差
データラインは、ある1つの区画の各マルチプレクサを
各他の区画のデマルチプレクサに接続する。 デマルチ
プレクサはまた、マルチプレクサ手段のソース出力ポー
トからのデータを少なくとも2本のデーターラインに供
給するためにコントローラからの同報インストラクショ
ンまたは構成レジスタの内容いずれかに従って動作する
ために適用される。
インとコントローラと1つの構成レジスタとに接続さ
れ、マルチプレクサユニットのソース出力ポートに接続
されている。このデマルチプレクサは、4本のデータラ
インから1本を選択するためにコントローラからの同報
インストラクションまたは構成レジスタの内容のいずれ
かに従って動作し、マルチプレクサのソース出力ポート
からのデータを選択データラインに供給するために適用
される。1本のデータラインは、1つの区画の各マルチ
プレクサを同じ区画のデマルチプレクサに接続し、交差
データラインは、ある1つの区画の各マルチプレクサを
各他の区画のデマルチプレクサに接続する。 デマルチ
プレクサはまた、マルチプレクサ手段のソース出力ポー
トからのデータを少なくとも2本のデーターラインに供
給するためにコントローラからの同報インストラクショ
ンまたは構成レジスタの内容いずれかに従って動作する
ために適用される。
【0015】区画化状態において、1つの区画の各マル
チプレクサユニットを同じ区画のデマルチプレクサユニ
ットに接続するデータラインと1つの区画の各マルチプ
レクサを各他の区画のデマルチプレクサに接続する交差
データラインは単一のデータラインであってもよい。
チプレクサユニットを同じ区画のデマルチプレクサユニ
ットに接続するデータラインと1つの区画の各マルチプ
レクサを各他の区画のデマルチプレクサに接続する交差
データラインは単一のデータラインであってもよい。
【0016】同様に、上述したような区画状態及び非区
画状態の両方において、本発明は、図4に示された構成
において、1つのスイッチと4つのスイッチとの間に更
に含まれるような動的再構成スイッチ装置において実施
される。処理素子は、その入出力データラインと関連す
る少なくとも1入力および1出力レジスタを有する。故
に、グループ当たり2つのスイッチを用いる所定の構成
において、2つの同時データ転送がグループのある処理
素子対から同じグループの他の処理素子対に対して行う
ことができる。この実施例では、グループの各スイッチ
はそのグループの任意の処理素子によって装荷し得る自
己の構成レジスタを有する。
画状態の両方において、本発明は、図4に示された構成
において、1つのスイッチと4つのスイッチとの間に更
に含まれるような動的再構成スイッチ装置において実施
される。処理素子は、その入出力データラインと関連す
る少なくとも1入力および1出力レジスタを有する。故
に、グループ当たり2つのスイッチを用いる所定の構成
において、2つの同時データ転送がグループのある処理
素子対から同じグループの他の処理素子対に対して行う
ことができる。この実施例では、グループの各スイッチ
はそのグループの任意の処理素子によって装荷し得る自
己の構成レジスタを有する。
【0017】上述した本発明の記述は、発明の特定の応
用に適用する一般的なガイドラインとして説明されてい
る。故に、実行のための特定の詳細は実施技術および最
終製品の割当コストに基づいて決定される。特に、本発
明の構造および動作の新規な特徴は、図面を参照して詳
細に説明する。この場合、同一部分は同一符号を用い
る。
用に適用する一般的なガイドラインとして説明されてい
る。故に、実行のための特定の詳細は実施技術および最
終製品の割当コストに基づいて決定される。特に、本発
明の構造および動作の新規な特徴は、図面を参照して詳
細に説明する。この場合、同一部分は同一符号を用い
る。
【0018】
【実施例】以下、図面を参照しながら、本発明の一実施
例に係るコンピュータアーキテクチャを説明する。な
お、本実施例にて説明するコンピュータアーキテクチャ
は、並列単一命令複数データ流(SIMD)処理型であ
って、ミディアム型又はファイン型並列コンピュータに
大まかに分類されるものである。
例に係るコンピュータアーキテクチャを説明する。な
お、本実施例にて説明するコンピュータアーキテクチャ
は、並列単一命令複数データ流(SIMD)処理型であ
って、ミディアム型又はファイン型並列コンピュータに
大まかに分類されるものである。
【0019】図1は、本実施例の最上位レベルのアーキ
テクチャを示すブロック図である。
テクチャを示すブロック図である。
【0020】処理素子(プロセッシングエレメント)1
0は、2次元格子12上に配列され、4つのプログラマ
ブルスイッチ14を介して隣接する8つのプロセッシン
グエレメントに接続されている。
0は、2次元格子12上に配列され、4つのプログラマ
ブルスイッチ14を介して隣接する8つのプロセッシン
グエレメントに接続されている。
【0021】本アーキテクチャは3つの主要なユニッ
ト、すなわちホストコンピュータ16と、コントローラ
18と、プロセッサアレイ20とを有するものである。
メモリ22は、ホストコンピュータ16によって、高速
なデータ転送方式とされるいわゆるダイレクトメモリア
クセス(DMA)チャネルを用いてアクセスが可能とな
っている。従って、ホストコンピュータ16はメモリア
クセスの際に、メモリ領域中においてアクセスされるべ
きデータブロックの位置と、転送するワードの総量とを
指定するのみでよい。
ト、すなわちホストコンピュータ16と、コントローラ
18と、プロセッサアレイ20とを有するものである。
メモリ22は、ホストコンピュータ16によって、高速
なデータ転送方式とされるいわゆるダイレクトメモリア
クセス(DMA)チャネルを用いてアクセスが可能とな
っている。従って、ホストコンピュータ16はメモリア
クセスの際に、メモリ領域中においてアクセスされるべ
きデータブロックの位置と、転送するワードの総量とを
指定するのみでよい。
【0022】DMAコントローラ19は、ホストコンピ
ュータ16の付加的サイクルを少しも使用することなし
にデータを転送することが可能となっている。従って、
ホストコンピュータ16とコプロセッサとの間に、構造
が簡単なプログラミング・インターフェースを構築する
ことができる。
ュータ16の付加的サイクルを少しも使用することなし
にデータを転送することが可能となっている。従って、
ホストコンピュータ16とコプロセッサとの間に、構造
が簡単なプログラミング・インターフェースを構築する
ことができる。
【0023】ホストコンピュータ16は、主として入力
データを適切にフォーマット化するため、データを長期
間保存するため、に用いられ、また、ユーザと本装置と
の間の可視インターフェースとして用いられるものであ
る。
データを適切にフォーマット化するため、データを長期
間保存するため、に用いられ、また、ユーザと本装置と
の間の可視インターフェースとして用いられるものであ
る。
【0024】コントローラ18は、ホストコンピュータ
16とプロセッサアレイ20とのインターフェースとし
て備えられており、ホストコンピュータ16によってア
クセスが可能となっているマイクロプログラム用のメモ
リ23に接続されている。
16とプロセッサアレイ20とのインターフェースとし
て備えられており、ホストコンピュータ16によってア
クセスが可能となっているマイクロプログラム用のメモ
リ23に接続されている。
【0025】ホストコンピュータ16上においては、高
水準のプログラムを記述し、コンパイルを行うことが可
能であり、発生された制御情報は、コントローラ18に
接続されるマイクロプログラム用メモリ23に対し、ホ
ストコンピュータ16からダウンロードされるようにな
っている。コントローラ18は、プロセッシングサイク
ルの間にインストラクション(命令)とメモリアドレス
とをプロセッサアレイに同報(ブロードキャスト)す
る。プロセッサアレイ20中の各プロセッサは、各々の
処理素子が有するマスクフラグの可/否に基づいて、コ
ントローラ18から受けた操作を実行するようになって
いる。
水準のプログラムを記述し、コンパイルを行うことが可
能であり、発生された制御情報は、コントローラ18に
接続されるマイクロプログラム用メモリ23に対し、ホ
ストコンピュータ16からダウンロードされるようにな
っている。コントローラ18は、プロセッシングサイク
ルの間にインストラクション(命令)とメモリアドレス
とをプロセッサアレイに同報(ブロードキャスト)す
る。プロセッサアレイ20中の各プロセッサは、各々の
処理素子が有するマスクフラグの可/否に基づいて、コ
ントローラ18から受けた操作を実行するようになって
いる。
【0026】プロセッサアレイ20は、全ての処理素子
10を含み、プログラマブルスイッチ14の内部結合を
サポートするものである。プロセッサアレイ20内の処
理素子10の各々は、本アーキテクチャが具備するメモ
リ22の領域内において各々の処理素子10自身の位置
に対応する列のメモリ領域を直接参照することができる
ようになっている。このように分配型のメモリ構成をな
すことにより、メモリアクセスの際に生じるコンフリク
ト(衝突)を軽減することができ、その結果、ハードウ
ェア及びソフトウェアの両方を簡素な構成に設計するこ
とができる。
10を含み、プログラマブルスイッチ14の内部結合を
サポートするものである。プロセッサアレイ20内の処
理素子10の各々は、本アーキテクチャが具備するメモ
リ22の領域内において各々の処理素子10自身の位置
に対応する列のメモリ領域を直接参照することができる
ようになっている。このように分配型のメモリ構成をな
すことにより、メモリアクセスの際に生じるコンフリク
ト(衝突)を軽減することができ、その結果、ハードウ
ェア及びソフトウェアの両方を簡素な構成に設計するこ
とができる。
【0027】本アーキテクチャにおいては、処理素子1
0がシステムのコンピュータエンジンを構成するもので
ある。上述したように、処理素子10はプロセッサアレ
イ20のサブシステムの一部を構成するものである。全
ての処理素子10は、同一のインストラクションストリ
ームを受けとるが、ローカルデータストリーム上で要求
された操作を実行する。処理素子10の各々は、図4に
示すように、多数のファンクション(機能)を有するフ
ァンクション(機能)ユニット24と、小型のレジスタ
ファイル26と、プロセッサ内部接続のためのコミュニ
ケーション(通信)ポート28と、マスクフラグ30と
を含んでいる。
0がシステムのコンピュータエンジンを構成するもので
ある。上述したように、処理素子10はプロセッサアレ
イ20のサブシステムの一部を構成するものである。全
ての処理素子10は、同一のインストラクションストリ
ームを受けとるが、ローカルデータストリーム上で要求
された操作を実行する。処理素子10の各々は、図4に
示すように、多数のファンクション(機能)を有するフ
ァンクション(機能)ユニット24と、小型のレジスタ
ファイル26と、プロセッサ内部接続のためのコミュニ
ケーション(通信)ポート28と、マスクフラグ30と
を含んでいる。
【0028】処理素子10の各々が具備するファンクシ
ョンユニット24は、加算器、乗算器、シフト/論理演
算器を含んでいる。特定のインプリメンテーションに応
じて、ファンクションユニット24は、さらに付加的な
ファンクションユニットを付加することが可能となって
いる。多種のいわゆるRISC型のプロセッサに類似し
て、処理素子10は、種々のユニット間でデータ転送を
行うための、内部データバス32を備えている。例え
ば、データは、レジスタファイル26内のレジスタから
加算器のオペランドレジスタの一つに転送され、あるい
は乗算器の出力レジスタからI/O出力ポート28に転
送される。マスクビットはコントローラ18からの命令
をファンクションユニット24が実行することの可/否
を指定するために用いられる。
ョンユニット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により伝達され、受けとるから
である。
を介して、隣接する処理素子と通信する。各々の処理素
子10は、1入力1出力のみのI/Oポート28を備え
る構成としてよい。なぜなら、処理素子10は、各々の
シストリック(systolic)・サイクル中に、単一のデー
タ値のみを処理素子10により伝達され、受けとるから
である。
【0030】図4に示す構成では、1個以上のスイッチ
を利用することにより、複数の入力/出力ポートが、グ
ループのメンバー間で同時にデータ転送を行うために用
いられることが可能となっている。各々のI/Oレジス
タの出力は、処理素子10を取り囲む4つのプログラマ
ブルスイッチ14に結合される。
を利用することにより、複数の入力/出力ポートが、グ
ループのメンバー間で同時にデータ転送を行うために用
いられることが可能となっている。各々のI/Oレジス
タの出力は、処理素子10を取り囲む4つのプログラマ
ブルスイッチ14に結合される。
【0031】出力されるデータ値のデスティネーション
となる処理素子10および入力されるデータ値のソース
となる処理素子10は、プログラマブルスイッチ14の
スイッチセッティングによって選択される。
となる処理素子10および入力されるデータ値のソース
となる処理素子10は、プログラマブルスイッチ14の
スイッチセッティングによって選択される。
【0032】図5に示すように、本アーキテクチャにお
ける処理素子10は、自身のローカルメモリ領域38に
対してリード/ライトアクセスが可能となっている。メ
モリは、容易にメモリ拡張を行えるようにする目的で、
チップから分離された構成となっている。プロセッシン
グサイクル中においては、各々のインストラクションに
関連するメモリロケーションが、コントローラ18によ
って、全ての処理素子10に送出される。このようにし
て、全ての処理素子10は、メモリの単一プレーンを夫
々のタイムステップにおいてアクセスすることができ
る。メモリアクセスの速度は、処理素子10の演算能力
にマッチするので、夫々のメモリアクセスは、演算処理
と完全に重複して実行され得る。したがって、効率的な
プロセッシング処理を行うことができる。
ける処理素子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による予備
装荷(プリロード)や、計算が開始されるに先立ち決め
られる。そして、値を設定する新たな変更は、それぞれ
インストラクションサイクルの間に読み取られる。
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が
設けられている。
は、1つの処理素子10とこの処理素子10に最隣接す
る8つの素子を接続する機能的なスイッチ14を介して
行われている。図2に示されるように、各処理素子10
には、それぞれに接続されている4つのスイッチ14が
設けられている。
【0035】プロセッサアレイ20における最近隣との
通信のための互いに異なる構成は詳細には図5に示され
る。4つの機能的なスイッチ14は4つの処理素子から
なる各グループに使用されている。このような構成に
て、分割されている位置及び分割されていない位置の両
者について述べると、各処理素子10は、入出力データ
ラインに関係する少なくとも1つの入力レジスタと1つ
の出力レジスタを有している。このように、与えられた
構成において、例えば2つのスイッチはグループ毎に設
けられているので、グループの他の処理素子から同じグ
ループの処理素子に同時に起こる2つのデータ伝送を実
行することができる。これを具体化する為に、グループ
の各スイッチは、そのグループの処理素子にロードする
ことができる独自に与えられた構成レジスタを有してい
る。
通信のための互いに異なる構成は詳細には図5に示され
る。4つの機能的なスイッチ14は4つの処理素子から
なる各グループに使用されている。このような構成に
て、分割されている位置及び分割されていない位置の両
者について述べると、各処理素子10は、入出力データ
ラインに関係する少なくとも1つの入力レジスタと1つ
の出力レジスタを有している。このように、与えられた
構成において、例えば2つのスイッチはグループ毎に設
けられているので、グループの他の処理素子から同じグ
ループの処理素子に同時に起こる2つのデータ伝送を実
行することができる。これを具体化する為に、グループ
の各スイッチは、そのグループの処理素子にロードする
ことができる独自に与えられた構成レジスタを有してい
る。
【0036】再び図2の構成について言及すると、少な
くとも1つのI/Oコネクション54が各処理素子10
毎に必要とはなるものの、機能的なスイッチ14は4つ
の最隣接の処理素子10との間の通信を可能とする。こ
の隣接処理素子10との通信帯域幅は、効率のよいシス
トリックプロセッシング(systolic processing) を保証
するメモリアクセス帯域幅と等しくされている。この発
明の唯一の欠点は、相互に接続するネットワークの各ス
イッチ14が明確に構成されるよう考慮しなければなら
ないことである。
くとも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つのデータを発信するために使用し
ている。能率的な手法であるとされている分散・結合し
て組み立てられた内部結合によるニューラルネットワー
クには、インタープロセッサコミュニケーションのかか
る多面性は必須である。
ローカルメモリ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つの処理素子があ
る。
のインタープロセッサコミュニケーションは、最隣接の
8つのうちの3つと1つの処理素子とを接続する動的再
構成可能スイッチ(DRS)を介して成されている。各
DRSセルには、接続されている4つの処理素子があ
る。
【0040】上記DRS内の構成レジスタは、スイッチ
を介して流れるデータのためにソースおよびデスティネ
ーションポートの選択を制御する。この構成レジスタの
内容は、スイッチに接続される1つの処理素子、例えば
DRSの左上の処理素子だけによって設定できる。新た
な構成値を構成レジスタに装荷することと関連する特別
なオーバヘッドによって、バイパスモードは、データ移
動方向が特定の通信インストラクションによって与えら
れるように行うことができる。バイパスモードを使用す
るとき、プロセッサアレイ内でのデータ移動は通常のS
IMDパラレルプロセッサのデータ動きと同様である。
このモードでは、インストラクションはシステムの全て
の処理素子のデータ移動の方向を特定する。(図6
(a),(b)参照)。
を介して流れるデータのためにソースおよびデスティネ
ーションポートの選択を制御する。この構成レジスタの
内容は、スイッチに接続される1つの処理素子、例えば
DRSの左上の処理素子だけによって設定できる。新た
な構成値を構成レジスタに装荷することと関連する特別
なオーバヘッドによって、バイパスモードは、データ移
動方向が特定の通信インストラクションによって与えら
れるように行うことができる。バイパスモードを使用す
るとき、プロセッサアレイ内でのデータ移動は通常のS
IMDパラレルプロセッサのデータ動きと同様である。
このモードでは、インストラクションはシステムの全て
の処理素子のデータ移動の方向を特定する。(図6
(a),(b)参照)。
【0041】一方、構成レジスタを使用することによっ
て、不均一な通信パターンが処理アレイ上に形成され
る。この発明の特徴は、相互接続通信網の各スイッチが
別個に構成されることである。構成レジスタはまず処理
の開始時、計算中は変更することなしに、図7(a)に
示すようなアレイ上の1次元計算リングを構成するな
ど、特定の通信パターンを実行するために構成される。
一方、構成レジスタは図7(b)に示すように、各通信
ステップごとに処理アレイ上に複雑なフローパターンを
形成すべく動的に再構成される。
て、不均一な通信パターンが処理アレイ上に形成され
る。この発明の特徴は、相互接続通信網の各スイッチが
別個に構成されることである。構成レジスタはまず処理
の開始時、計算中は変更することなしに、図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ビットまで変化
する。
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の北−南半分にロードする工程は西−東
方向に対する工程と同様である。
よりも大きいときは(各チップは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に割り当てられている。
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つの
処理要素間の同時通信が可能となる。
レジスタ群を含む最大4つのスイッチが相互接続通信網
の各スイッチング点で使用される。4つのスイッチが使
用されたとき、電子クロスバー通信スイッチが構成レジ
スタ群の4つの処理要素間に形成され、群内での4つの
処理要素間の同時通信が可能となる。
【0046】本発明に対する多くの変形、変更、変化が
可能であることは勿論である。そのような変形、変更、
変化は本発明及び添付のクレームの精神及び範囲内に属
している。同様に、出願人は本発明が本発明の精神及び
範囲から逸脱しないで例示的に開示された好ましい実施
例に対する全ての変化、変更、変形を含むことを意図す
る。
可能であることは勿論である。そのような変形、変更、
変化は本発明及び添付のクレームの精神及び範囲内に属
している。同様に、出願人は本発明が本発明の精神及び
範囲から逸脱しないで例示的に開示された好ましい実施
例に対する全ての変化、変更、変形を含むことを意図す
る。
【0047】
【発明の効果】この発明によると、各処理素子(PE)
は8つの隣接するプロセッサとダイレクトに通信するた
めに4つの双方向接続しか必要としない。また、隣接す
るチップのスイッチ間での通信あるいは区割り領域にま
たがるスイッチ間での通信において、データパスビット
あたり1双方向ワイヤしか必要としない。従って、チッ
プ間にまたがるプロセッサ間通信に必要なピン数を低減
することができ、1つのチップに実現可能なPEの数を
増大させることができる。
は8つの隣接するプロセッサとダイレクトに通信するた
めに4つの双方向接続しか必要としない。また、隣接す
るチップのスイッチ間での通信あるいは区割り領域にま
たがるスイッチ間での通信において、データパスビット
あたり1双方向ワイヤしか必要としない。従って、チッ
プ間にまたがるプロセッサ間通信に必要なピン数を低減
することができ、1つのチップに実現可能なPEの数を
増大させることができる。
【0048】更に、処理中にDRSを動的に再構成する
ことにより通信に柔軟性を持たせることができる点にあ
る。特に、SIMD並列プロセシングアーキテクチャに
おいて、同じ性質を持つデータをPE間で移動させるこ
とができる。
ことにより通信に柔軟性を持たせることができる点にあ
る。特に、SIMD並列プロセシングアーキテクチャに
おいて、同じ性質を持つデータをPE間で移動させるこ
とができる。
【図1】本発明が具体化されるコンピュータアーキテク
チャの最高レベルのデザインを示す理想的概略ブロック
図。
チャの最高レベルのデザインを示す理想的概略ブロック
図。
【図2】シングルプロセッサ及びそれに関連する、DR
Sインタープロセッサ通信交換機を示す理想的概略ブロ
ック図。
Sインタープロセッサ通信交換機を示す理想的概略ブロ
ック図。
【図3】再構成可能なインタープロセッサ通信スイッチ
を示す理想的概略ブロック図。
を示す理想的概略ブロック図。
【図4】4つのプロセッサの結合法及びそれに関連す
る、図2の代替構成である4つのDRS通信スイッチを
示す理想的概略ブロック図。
る、図2の代替構成である4つのDRS通信スイッチを
示す理想的概略ブロック図。
【図5】処理素子の最高レベルデザインを示す理想的概
略ブロック図。
略ブロック図。
【図6】(a)は東方シフトの本発明に結合されるプロ
セシングアレーのバイパスモードを用いる処理素子間の
同種データの動きを示し、(b)は南方シフトの本発明
に結合されるプロセシングアレーのバイパスモードを用
いる処理素子間の同種データの動きを示す理想的概略ブ
ロック図。
セシングアレーのバイパスモードを用いる処理素子間の
同種データの動きを示し、(b)は南方シフトの本発明
に結合されるプロセシングアレーのバイパスモードを用
いる処理素子間の同種データの動きを示す理想的概略ブ
ロック図。
【図7】(a)はプロセッサアレー上に一次元リング構
造を与える本発明のConf−Regの異なる値を用い
る処理素子間の同種データの動きを示し、(b)は特定
データの動きに対応する通信サイクルを示している結合
矢印の数に関してプロセッサアレー上に不定且つ複雑な
流れパターンを与える本発明のConf−Regの異な
る値を用いる処理素子間の同種データの動きを示す理想
的概略ブロック図。
造を与える本発明のConf−Regの異なる値を用い
る処理素子間の同種データの動きを示し、(b)は特定
データの動きに対応する通信サイクルを示している結合
矢印の数に関してプロセッサアレー上に不定且つ複雑な
流れパターンを与える本発明のConf−Regの異な
る値を用いる処理素子間の同種データの動きを示す理想
的概略ブロック図。
【図8】本発明が具体化される単一にして動的再構成可
能スイッチ及びそれに関連する、プロセッサ・アレー上
の処理素子を示す理想的概略ブロック図。
能スイッチ及びそれに関連する、プロセッサ・アレー上
の処理素子を示す理想的概略ブロック図。
【図9】本発明が具体化される単一の動的再構成可能ス
イッチ及びそれに関連する、チップ境界を横切る隣接プ
ロセシング要素間における東西のインタープロセッサ通
信に係るプロセッサアレー上の処理素子を示す理想的概
略ブロック図。
イッチ及びそれに関連する、チップ境界を横切る隣接プ
ロセシング要素間における東西のインタープロセッサ通
信に係るプロセッサアレー上の処理素子を示す理想的概
略ブロック図。
【図10】本発明が具体化される単一の動的再構成可能
スイッチ及びそれに関連する、チップ境界を横切る隣接
プロセシング要素間における北南及び東西のインタープ
ロセッサ通信に係るプロセッサアレー上の処理素子を示
す理想的概略ブロック図。
スイッチ及びそれに関連する、チップ境界を横切る隣接
プロセシング要素間における北南及び東西のインタープ
ロセッサ通信に係るプロセッサアレー上の処理素子を示
す理想的概略ブロック図。
【図11】本発明が具体化される単一の動的再構成可能
スイッチ及びそれに関連する、チップ隅を横切る隣接プ
ロセシング要素間における北南及び東西のインタープロ
セッサ通信に係るプロセッサ・アレー上の処理素子を示
す理想的概略ブロック図。
スイッチ及びそれに関連する、チップ隅を横切る隣接プ
ロセシング要素間における北南及び東西のインタープロ
セッサ通信に係るプロセッサ・アレー上の処理素子を示
す理想的概略ブロック図。
【図12】本発明が具体化される、動的再構成可能スイ
ッチに適用されるプロセッサアレー上の処理素子を包含
する4つのチップの連係及びチップ境界を横切る隣接処
理素子間におけるインタープロセッサ通信を示す理想的
概略ブロック図。
ッチに適用されるプロセッサアレー上の処理素子を包含
する4つのチップの連係及びチップ境界を横切る隣接処
理素子間におけるインタープロセッサ通信を示す理想的
概略ブロック図。
10…処理素子、12…二次元格子、14…プログラマ
ブルスイッチ、18…コントローラ、20…プロセッサ
アレイ
ブルスイッチ、18…コントローラ、20…プロセッサ
アレイ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 デイビッド・ビー・シュ アメリカ合衆国、カリフォルニア州 91304、カノガ・パーク、ハンナ・アベニ ュー 8748
Claims (13)
- 【請求項1】 コントローラが処理素子の二次元アレイ
の全ての処理素子にインストラクションを同報し、動的
再構成可能スイッチ手段が前記コントローラの前記同報
インストラクションまたは1つのグループの1つの処理
素子に保持されている特定の通信インストラクションに
従って前記アレイの処理素子の4つを1つのグループと
して接続するために使用される、処理素子の二次元アレ
イを有するSIMDアーキテクチャにおいて、 前記グループの前記処理素子の各々に接続される少なく
とも1つのデータラインと、 各データライン、コントローラおよび構成レジスタに接
続され、前記特定の通信インストラクションを前記グル
ープの1つの処理素子から構成レジスタに装荷するため
適用され、データ源として4つのデータラインの1つを
選択するため前記コントローラからの前記同報インスト
ラクションまたは前記構成レジスタの内容に従って動作
し、前記データをソース出力ポートに供給するマルチプ
レクサ手段と、 各データライン、前記コントローラおよび前記構成レジ
スタ並びに前記マルチプレクサのソース出力ポートに接
続され、前記4本のデータラインの1つを選択するため
前記コントローラからの前記同報インストラクションま
たは前記構成レジスタの前記内容に従って動作するため
に適用され、前記マルチプレクサ手段の前記ソース出力
ポートのデータを前記データラインに供給するデマルチ
プレクサ手段と、 により構成されることを特徴とする再構成可能スイッチ
装置。 - 【請求項2】 対応する処理素子に接続される少なくと
も1つの多重ビット幅データラインを更に含み、前記処
理素子は少なくとも1つの入出力レジスタおよび前記少
なくとも1つの多重ビット幅データラインの選択ビット
に関連する少なくとも1つの構成レジスタを有する請求
項1の動的再構成可能スイッチ装置。 - 【請求項3】 4つの処理素子のグループ間に前記マル
チプレクサ手段、前記デマルチプレクサおよび前記構成
レジスタを含む前記スイッチの少なくとも1つの複製を
更に含む請求項1の動的再構成可能スイッチ装置。 - 【請求項4】 4つの処理素子のグループ間に前記マル
チプレクサ手段、前記デマルチプレクサおよび前記構成
レジスタを含む前記スイッチの4つ以下の複製を更に含
む請求項1の動的再構成可能スイッチ装置。 - 【請求項5】 前記デマルチプレクサユニットは前記マ
ルチプレクサ手段の前記ソース出力ポートから前記4本
データライングループの少なくとも2本のデータライン
に供給するために前記コントローラからの前記同報イン
ストラクションまたは前記構成レジスタの前記内容のい
ずれかに従って動作する請求項1の動的再構成可能スイ
ッチ装置。 - 【請求項6】 コントローラが多数のチップに含まれる
複数の処理素子の二次元アレイの全ての処理素子にイン
ストラクションを同報し、動的再構成可能スイッチ装置
が1つのチップが1つの区画に関連する複数の区画を形
成するため、前記アレイの前記処理素子の4つをチップ
境界を横切るグループに接続し、前記コントローラの前
記同報インストラクションまたは前記グループの1つの
処理素子に保持された特定の通信インストラクションの
いずれかに従って前記グループの選択された処理素子間
で動的にデータ移動を指導する、処理素子の二次元アレ
イを有するSIMDアーキテクチャにおいて、 前記区画の前記グループの各処理素子に接続される少な
くとも1つのデータラインと、 各データライン、コントローラおよび構成レジスタに接
続され、前記特定の通信インストラクションを前記グル
ープの1つの処理素子から構成レジスタに装荷するため
適用され、データ源として前記区画のデータの1つを選
択するためまたは1つも選択しないため前記コントロー
ラからの前記同報インストラクションまたは前記構成レ
ジスタの内容に従って動作し、前記データをソース出力
ポートに供給するマルチプレクサ手段と、 各データライン、前記コントローラおよび前記構成レジ
スタ並びに前記マルチプレクサのソース出力ポートに接
続され、前記マルチプレクサ手段の前記ソース出力ポー
トに接続され、前記マルチプレクサ手段の前記ソース出
力ポートから前記区画の前記データラインの選択された
1つにデータを供給しまたは供給しないために前記コン
トローラからの前記同報インストラクションまたは前記
構成レジスタの内容のいずれかに従って動作するデマル
チプレクサ手段と、 1つの区画の各マルチプレクサを同じ区画のデマルチプ
レクサに接続するデータラインおよび1つの区画の各マ
ルチプレクサを各他の区画の前記デマルチプレクサに接
続する交差データラインと、 により構成されることを特徴とする再構成可能スイッチ
装置。 - 【請求項7】 1つの区画の各マルチプレクサユニット
を同じ区画の前記デマルチプレクサユニットに接続する
前記データラインと1つの区画の各マルチプレクサを各
他の区画の前記デマルチプレクサに接続する前記交差デ
ータラインは単一のデータラインである請求項6の再構
成可能スイッチ装置。 - 【請求項8】 対応する処理素子に接続される少なくと
も1つの多重ビット幅データラインを更に含み、前記処
理素子は少なくとも1つの入出力レジスタおよび前記少
なくとも1つの多重ビット幅データラインの選択ビット
に関連する少なくとも1つの構成レジスタを有する請求
項6の動的再構成可能スイッチ装置。 - 【請求項9】 前記デマルチプレクサユニットは、前記
マルチプレクサ手段の前記ソース出力ポートから前記区
画の少なくとも2本のデータラインに供給するために前
記コントローラからの前記同報インストラクションまた
は前記構成レジスタの前記内容のいずれかに従って動作
する請求項6の動的再構成可能スイッチ装置。 - 【請求項10】 4つの処理素子のグループ間に前記マ
ルチプレクサ手段、前記デマルチプレクサおよび前記構
成レジスタを含む前記スイッチの少なくとも1つの複製
を更に含む請求項6の動的再構成可能スイッチ装置。 - 【請求項11】 4つの処理素子のグループ間に前記マ
ルチプレクサ手段、前記デマルチプレクサおよび前記構
成レジスタを含む前記スイッチの4つ以下の複製を更に
含む請求項6の動的再構成可能スイッチ装置。 - 【請求項12】 前記マルチプレクサ手段は、前記グル
ープの1つの処理素子から構成レジスタに前記特定の通
信インストラクションを装荷するため適用され、データ
源として前記区画のデータの1つを選択するためまたは
1つも選択しないため前記コントローラからの前記同報
インストラクションまたは前記構成レジスタの内容に従
って動作し、そこからの前記データを前記区画の1つに
おいて選択されたソース出力ポートに供給する請求項1
の動的再構成可能スイッチ装置。 - 【請求項13】 前記デマルチプレクサ手段は、全ての
区画から1つのソース出力ポートだけを選択し、選択さ
れたソース出力ポートからのデータを前記区画の前記デ
ータラインの選択された1つに供給しまたは供給しない
ために前記コントローラからの前記同報インストラクシ
ョンまたは前記構成レジスタの内容のいずれかに従って
動作する請求項6の動的再構成可能スイッチ装置。
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)
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)
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 |
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.) |
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 |
US7526630B2 (en) | 1999-04-09 | 2009-04-28 | Clearspeed Technology, Plc | Parallel data processing apparatus |
US7627736B2 (en) | 1999-04-09 | 2009-12-01 | Clearspeed Technology Plc | Thread manager to control an array of processing elements |
GB2348984B (en) * | 1999-04-09 | 2004-05-12 | Pixelfusion Ltd | Parallel data processing systems |
US7506136B2 (en) | 1999-04-09 | 2009-03-17 | Clearspeed Technology Plc | Parallel data processing apparatus |
CN1378665A (zh) | 1999-06-10 | 2002-11-06 | Pact信息技术有限公司 | 编程概念 |
JP3674515B2 (ja) * | 2000-02-25 | 2005-07-20 | 日本電気株式会社 | アレイ型プロセッサ |
EP1342158B1 (de) | 2000-06-13 | 2010-08-04 | Richter, Thomas | Pipeline ct-protokolle und -kommunikation |
US8058899B2 (en) | 2000-10-06 | 2011-11-15 | Martin Vorbach | Logic cell array and bus system |
US9552047B2 (en) | 2001-03-05 | 2017-01-24 | Pact Xpp Technologies Ag | Multiprocessor having runtime adjustable clock and clock dependent power supply |
US9037807B2 (en) | 2001-03-05 | 2015-05-19 | Pact Xpp Technologies Ag | Processor arrangement on a chip including data processing, memory, and interface elements |
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 |
US7844796B2 (en) | 2001-03-05 | 2010-11-30 | Martin Vorbach | Data processing device and method |
US9250908B2 (en) | 2001-03-05 | 2016-02-02 | Pact Xpp Technologies Ag | Multi-processor bus and cache interconnection system |
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 |
US7444531B2 (en) | 2001-03-05 | 2008-10-28 | Pact Xpp Technologies Ag | Methods and devices for treating and processing data |
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 | 日本電気株式会社 | データ処理システム、アレイ型プロセッサ、データ処理装置、コンピュータプログラム、情報記憶媒体 |
AU2003208266A1 (en) | 2002-01-19 | 2003-07-30 | Pact Xpp Technologies Ag | Reconfigurable processor |
US7085913B2 (en) * | 2002-02-13 | 2006-08-01 | International Business Machines Corporation | Hub/router for communication between cores using cartesian coordinates |
AU2003214003A1 (en) | 2002-02-18 | 2003-09-09 | Pact Xpp Technologies Ag | Bus systems and method for reconfiguration |
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 |
WO2004021176A2 (de) | 2002-08-07 | 2004-03-11 | Pact Xpp Technologies Ag | Verfahren und vorrichtung zur datenverarbeitung |
US7657861B2 (en) | 2002-08-07 | 2010-02-02 | Pact Xpp Technologies Ag | Method and device for processing data |
AU2003289844A1 (en) | 2002-09-06 | 2004-05-13 | Pact Xpp Technologies Ag | Reconfigurable sequencer structure |
JP3987783B2 (ja) * | 2002-10-11 | 2007-10-10 | Necエレクトロニクス株式会社 | アレイ型プロセッサ |
JP3987784B2 (ja) * | 2002-10-30 | 2007-10-10 | Necエレクトロニクス株式会社 | アレイ型プロセッサ |
US7340644B2 (en) * | 2002-12-02 | 2008-03-04 | Marvell World Trade Ltd. | Self-reparable semiconductor and method thereof |
US20060001669A1 (en) * | 2002-12-02 | 2006-01-05 | Sehat Sutardja | 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 |
EP1676208A2 (en) | 2003-08-28 | 2006-07-05 | PACT XPP Technologies AG | Data processing device and method |
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 |
US20080235490A1 (en) * | 2004-06-18 | 2008-09-25 | Anthony Mark Jones | System for configuring a processor array |
US8103866B2 (en) * | 2004-06-18 | 2012-01-24 | Nethra Imaging Inc. | System for reconfiguring 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 |
US7853774B1 (en) | 2005-03-25 | 2010-12-14 | Tilera Corporation | Managing buffer storage 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 | 富士通セミコンダクター株式会社 | リコンフィグ可能な集積回路装置 |
WO2007082730A1 (de) | 2006-01-18 | 2007-07-26 | Pact Xpp Technologies Ag | Hardwaredefinitionsverfahren |
US7617383B2 (en) * | 2006-02-16 | 2009-11-10 | Vns Portfolio Llc | Circular register arrays of a computer |
US7904615B2 (en) * | 2006-02-16 | 2011-03-08 | Vns Portfolio Llc | Asynchronous computer communication |
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 |
US7913010B2 (en) * | 2008-02-15 | 2011-03-22 | International Business Machines Corporation | Network on chip with a low latency, high bandwidth application messaging interconnect |
US8490110B2 (en) | 2008-02-15 | 2013-07-16 | 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 |
US7861065B2 (en) * | 2008-05-09 | 2010-12-28 | International Business Machines Corporation | Preferential dispatching of computer program instructions |
US8392664B2 (en) | 2008-05-09 | 2013-03-05 | International Business Machines Corporation | Network on chip |
US8020168B2 (en) * | 2008-05-09 | 2011-09-13 | International Business Machines Corporation | Dynamic virtual software pipelining on a network on chip |
US8494833B2 (en) | 2008-05-09 | 2013-07-23 | International Business Machines Corporation | Emulating a computer run time environment |
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 |
US7958340B2 (en) * | 2008-05-09 | 2011-06-07 | International Business Machines Corporation | Monitoring software pipeline performance on a network on chip |
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 |
US8200857B2 (en) * | 2009-11-30 | 2012-06-12 | Lsi Corporation | Coalescing multiple contexts into a single data transfer in a media controller architecture |
US8166258B2 (en) * | 2009-07-24 | 2012-04-24 | Lsi Corporation | Skip operations for solid state disks |
US8321639B2 (en) * | 2009-12-30 | 2012-11-27 | Lsi Corporation | Command tracking for direct access block storage devices |
US8245112B2 (en) * | 2009-06-04 | 2012-08-14 | Lsi Corporation | Flash memory organization |
US8219776B2 (en) * | 2009-09-23 | 2012-07-10 | Lsi Corporation | Logical-to-physical address translation for solid state disks |
US20100287320A1 (en) * | 2009-05-06 | 2010-11-11 | Lsi Corporation | Interprocessor Communication Architecture |
US8555141B2 (en) * | 2009-06-04 | 2013-10-08 | Lsi Corporation | Flash memory organization |
US20100306451A1 (en) * | 2009-06-01 | 2010-12-02 | Joshua Johnson | Architecture for nand flash constraint enforcement |
US8286004B2 (en) * | 2009-10-09 | 2012-10-09 | Lsi Corporation | Saving encryption keys in one-time programmable memory |
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 |
US9342306B2 (en) | 2012-10-23 | 2016-05-17 | Analog Devices Global | Predicate counter |
US9201828B2 (en) | 2012-10-23 | 2015-12-01 | Analog Devices, Inc. | Memory interconnect network architecture for vector processor |
US10331997B2 (en) | 2014-05-07 | 2019-06-25 | Seagate Technology Llc | Adaptive configuration of a neural network device |
WO2016105427A1 (en) * | 2014-12-24 | 2016-06-30 | Intel Corporation | Apparatus and method for using multiple multi-drop buses |
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 |
EP3938921A4 (en) | 2019-03-11 | 2022-12-14 | Untether AI Corporation | CALCULATION 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 |
EP4268177A1 (en) * | 2020-12-23 | 2023-11-01 | Imsys AB | A method and system for rearranging and distributing data of an incoming image for processing by multiple processing clusters |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5151996A (en) * | 1983-05-31 | 1992-09-29 | Thinking Machines Corporation | Multi-dimensional message transfer router |
US5146608A (en) * | 1983-05-31 | 1992-09-08 | Hillis W Daniel | Parallel processor array system controlled in response to composition status signal |
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 |
-
1994
- 1994-08-10 CA CA002129882A patent/CA2129882A1/en not_active Abandoned
- 1994-08-11 IL IL11063494A patent/IL110634A0/xx unknown
- 1994-08-11 EP EP94112550A patent/EP0638867A3/en not_active Withdrawn
- 1994-08-12 JP JP6190802A patent/JPH07152722A/ja active Pending
- 1994-09-20 US US08/309,565 patent/US6145072A/en not_active Expired - Lifetime
Cited By (22)
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 |
US11232347B2 (en) | 2017-04-17 | 2022-01-25 | Cerebras Systems Inc. | Fabric vectors for deep learning acceleration |
US11232348B2 (en) | 2017-04-17 | 2022-01-25 | Cerebras Systems Inc. | Data structure descriptors 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. | 計算のためのシステムと方法 |
US11995027B2 (en) | 2017-12-19 | 2024-05-28 | Samsung Electronics Co., Ltd. | Neural processing accelerator |
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 |
---|---|
EP0638867A2 (en) | 1995-02-15 |
US6145072A (en) | 2000-11-07 |
IL110634A0 (en) | 1994-11-11 |
EP0638867A3 (en) | 1995-10-18 |
CA2129882A1 (en) | 1995-02-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH07152722A (ja) | Simdマルチプロセッサ用動的再構成可能スイッチ装置 | |
US6092174A (en) | Dynamically reconfigurable distributed integrated circuit processor and method | |
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 | |
US9256575B2 (en) | Data processor chip with flexible bus system | |
EP0456201B1 (en) | Massively parallel processor including slice-wise communications arrangement | |
EP1742154B1 (en) | Manifold array processor | |
US5815723A (en) | Picket autonomy on a SIMD machine | |
US5253308A (en) | Massively parallel digital image data processor using pixel-mapped input/output and relative indexed addressing | |
US5805915A (en) | SIMIMD array processing system | |
EP0208457A2 (en) | A processor array | |
CN1656445B (zh) | 处理*** | |
JPH0922404A (ja) | 同報通信プロセッサ命令を備えたアレイ・プロセッサ通信アーキテクチャ | |
JPH0727516B2 (ja) | Simdアレイ・プロセツサ | |
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 | |
US5765015A (en) | Slide network for an array processor | |
KR20080106129A (ko) | 복수의 다중 모드 프로세서를 연결하는 방법과 장치 | |
US7149876B2 (en) | Method and apparatus for a shift register based interconnection for a massively parallel processor array | |
Brebner et al. | Runtime reconfigurable routing | |
EP0570952A2 (en) | Slide network for an array processor |