JPH04293151A - 並列データ処理方式 - Google Patents
並列データ処理方式Info
- Publication number
- JPH04293151A JPH04293151A JP3057347A JP5734791A JPH04293151A JP H04293151 A JPH04293151 A JP H04293151A JP 3057347 A JP3057347 A JP 3057347A JP 5734791 A JP5734791 A JP 5734791A JP H04293151 A JPH04293151 A JP H04293151A
- Authority
- JP
- Japan
- Prior art keywords
- tray
- data
- data processing
- input
- processor
- 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.)
- Withdrawn
Links
- 238000012545 processing Methods 0.000 title claims abstract description 71
- 239000011159 matrix material Substances 0.000 claims abstract description 29
- 238000012546 transfer Methods 0.000 claims abstract description 22
- 125000004122 cyclic group Chemical group 0.000 claims description 12
- 230000002457 bidirectional effect Effects 0.000 claims description 5
- 238000003672 processing method Methods 0.000 claims description 5
- 239000013598 vector Substances 0.000 description 20
- 238000000034 method Methods 0.000 description 15
- 230000006870 function Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 12
- 239000000872 buffer Substances 0.000 description 9
- 238000013528 artificial neural network Methods 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 7
- 210000002569 neuron Anatomy 0.000 description 7
- 238000012549 training Methods 0.000 description 5
- 230000001186 cumulative effect Effects 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 239000013078 crystal Substances 0.000 description 1
- 230000001351 cycling effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000010355 oscillation Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/10—Interfaces, programming languages or software development kits, e.g. for simulating neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
- G06F15/8007—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors
- G06F15/8015—One dimensional arrays, e.g. rings, linear arrays, buses
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【0001】
【産業上の利用分野】本発明は並列データ処理方式に係
り、更に詳しくは、複数個のデータ処理ユニットを同期
的に用いてデータを処理する、並列データ処理方式に関
する。
り、更に詳しくは、複数個のデータ処理ユニットを同期
的に用いてデータを処理する、並列データ処理方式に関
する。
【0002】電子計算機あるいはディジタル信号処理装
置等のシステムにおいて、データ処理の適用分野の拡大
に伴い、処理されるデータの量が膨大になり、特に画像
処理或いは音声処理等の分野では高速なデータ処理を行
う必要があり、そのため、複数個のデータ処理ユニット
を同期的に用いてデータを処理するデータ処理の並列性
の利用が重要となる。
置等のシステムにおいて、データ処理の適用分野の拡大
に伴い、処理されるデータの量が膨大になり、特に画像
処理或いは音声処理等の分野では高速なデータ処理を行
う必要があり、そのため、複数個のデータ処理ユニット
を同期的に用いてデータを処理するデータ処理の並列性
の利用が重要となる。
【0003】また、フォンノイマン型コンピュータによ
る論理型データ処理だけでは、人間が行っているような
柔軟なパターン処理は難しいとの認識から、これと異な
る計算原理に基づくニューロコンピュータが広く研究さ
れている。ニューロコンピュータの大きな特徴の1つに
その学習機能がある。現在最も広く使われている学習則
の1つに誤差逆伝搬があるが、大規模なニューラルネッ
トワークあるいは大量の学習データに適用した場合、学
習の収束までに非常に長い時間がかかり、この時間を短
縮することは、非常に重要である。
る論理型データ処理だけでは、人間が行っているような
柔軟なパターン処理は難しいとの認識から、これと異な
る計算原理に基づくニューロコンピュータが広く研究さ
れている。ニューロコンピュータの大きな特徴の1つに
その学習機能がある。現在最も広く使われている学習則
の1つに誤差逆伝搬があるが、大規模なニューラルネッ
トワークあるいは大量の学習データに適用した場合、学
習の収束までに非常に長い時間がかかり、この時間を短
縮することは、非常に重要である。
【0004】本発明はこの人工ニューラルネットワーク
のシミュレーション、特に誤差逆伝搬学習則を高速実行
する並列データ処理方式に関するものである。
のシミュレーション、特に誤差逆伝搬学習則を高速実行
する並列データ処理方式に関するものである。
【0005】
【従来の技術】図7(A)は先に出願したトレイ中にレ
ジスタを1個しか持たない並列データ処理方式(特願平
1−243972) の原理構成図である。
ジスタを1個しか持たない並列データ処理方式(特願平
1−243972) の原理構成図である。
【0006】1はデータ処理ユニット、1aはその中の
プロセッサ、2はデータの保持及び転送を行うトレイ、
2aはトレイ2のデータ保持回路であり、例えばラッチ
回路で構成され、2bはトレイ2のデータ転送回路であ
り、例えばバスドライバで構成され、2cはトレイ2の
制御手段であり、例えば論理回路で構成されている。
プロセッサ、2はデータの保持及び転送を行うトレイ、
2aはトレイ2のデータ保持回路であり、例えばラッチ
回路で構成され、2bはトレイ2のデータ転送回路であ
り、例えばバスドライバで構成され、2cはトレイ2の
制御手段であり、例えば論理回路で構成されている。
【0007】3は各トレイの相互接続により構成される
シフトレジスタ、4はデータ処理ユニット1にデータを
供給する手段の一部であると同時にデータ処理ユニット
1を制御する手段の一部である記憶装置であり、例えば
RAM(ランダムアクセスメモリ) で構成され、5は
データ処理ユニット1とトレイ2の同期動作を行う手段
であり、5aはクロック発生回路であり、例えば水晶発
振回路で構成され、5bはクロック分配回路であり、例
えばバッファ回路から構成される。
シフトレジスタ、4はデータ処理ユニット1にデータを
供給する手段の一部であると同時にデータ処理ユニット
1を制御する手段の一部である記憶装置であり、例えば
RAM(ランダムアクセスメモリ) で構成され、5は
データ処理ユニット1とトレイ2の同期動作を行う手段
であり、5aはクロック発生回路であり、例えば水晶発
振回路で構成され、5bはクロック分配回路であり、例
えばバッファ回路から構成される。
【0008】6はシストリック的に戻るデータとトレイ
に入力する場合のデータと外部データとの選択を行う選
択回路、7はシストリックされるデータを途中からバイ
パスする選択回路であり、シフトレジスタの長さをmに
変更するバイパス回路である。12はデータ処理ユニッ
トの第1の入力、21はトレイの第1の入力、22はト
レイの第1の出力、31はトレイ2とデータ処理ユニッ
ト1間のバスである。
に入力する場合のデータと外部データとの選択を行う選
択回路、7はシストリックされるデータを途中からバイ
パスする選択回路であり、シフトレジスタの長さをmに
変更するバイパス回路である。12はデータ処理ユニッ
トの第1の入力、21はトレイの第1の入力、22はト
レイの第1の出力、31はトレイ2とデータ処理ユニッ
ト1間のバスである。
【0009】データ処理ユニット1はデータの処理を行
い、トレイ2は転送の動作を行うものでシフトレジスタ
3を構成して、データの巡回シフトを行う。m×n行列
Aと要素数のベクトルxとの積を求める場合、行列Aの
行数mが列数nより小さい場合であっても、或いはmが
nより大きい場合であっても、m個のデータ処理ユニッ
トとn個のトレイを用いてnに比例する処理時間でその
積が実行可能となり、従って、良好な台数効果を得るこ
とができる。
い、トレイ2は転送の動作を行うものでシフトレジスタ
3を構成して、データの巡回シフトを行う。m×n行列
Aと要素数のベクトルxとの積を求める場合、行列Aの
行数mが列数nより小さい場合であっても、或いはmが
nより大きい場合であっても、m個のデータ処理ユニッ
トとn個のトレイを用いてnに比例する処理時間でその
積が実行可能となり、従って、良好な台数効果を得るこ
とができる。
【0010】すなわち、図7(A) に示すように、そ
れぞれ2つの入力を持ち、その入力間の乗算機能とその
乗算結果の累積機能、すなわち内積演算を実行するm個
のデータ処理ユニット1と、n個のトレイ2とからなる
構成において、ユニット内の累積レジスタをYとした場
合に、データ処理ユニットへの2つの入力を掛け合わせ
、積を累積Y(図示せず) に足し込み、その後、シフ
トレジスタ3内の隣接するトレイ間でベクトルxの要素
をシフトする。この動作をn回繰り返すことにより、m
×nの行列Aと、n次元ベクトルとの乗算がm個のデー
タ処理ユニットを用いてnに比例する処理時間で実行可
能となる。すなわち、データ処理ユニット1とデータ保
持機能を有するトレイ2とを分離することにより、それ
ぞれmとnが異なっている場合であっても、タイミング
を合わせるための処理を必要としない。
れぞれ2つの入力を持ち、その入力間の乗算機能とその
乗算結果の累積機能、すなわち内積演算を実行するm個
のデータ処理ユニット1と、n個のトレイ2とからなる
構成において、ユニット内の累積レジスタをYとした場
合に、データ処理ユニットへの2つの入力を掛け合わせ
、積を累積Y(図示せず) に足し込み、その後、シフ
トレジスタ3内の隣接するトレイ間でベクトルxの要素
をシフトする。この動作をn回繰り返すことにより、m
×nの行列Aと、n次元ベクトルとの乗算がm個のデー
タ処理ユニットを用いてnに比例する処理時間で実行可
能となる。すなわち、データ処理ユニット1とデータ保
持機能を有するトレイ2とを分離することにより、それ
ぞれmとnが異なっている場合であっても、タイミング
を合わせるための処理を必要としない。
【0011】さらに、トレイ2間のデータ転送とデータ
処理ユニット1によるデータ処理とを同時並列的に行い
、一般的にはデータ処理ユニットがデータ処理に有する
時間よりもデータ転送時間を短くすることが期待できる
ので、データ転送時間をデータ処理時間の影に隠すこと
で実質的に0にし、そのことにより、処理時間を短縮す
ることが可能となっている。このことにより、行列演算
あるいはニューロコンピュータ演算を行う。
処理ユニット1によるデータ処理とを同時並列的に行い
、一般的にはデータ処理ユニットがデータ処理に有する
時間よりもデータ転送時間を短くすることが期待できる
ので、データ転送時間をデータ処理時間の影に隠すこと
で実質的に0にし、そのことにより、処理時間を短縮す
ることが可能となっている。このことにより、行列演算
あるいはニューロコンピュータ演算を行う。
【0012】データ処理ユニット1と、データ保持機能
を有するトレイ2とを分離することにより、データ処理
ユニット1の個数nとが同一の場合も違っている場合も
、n×mの行列Aと要素数nのベクトルxとの積を、デ
ータ転送と、データ処理の同時並列処理により行うこと
ができる。
を有するトレイ2とを分離することにより、データ処理
ユニット1の個数nとが同一の場合も違っている場合も
、n×mの行列Aと要素数nのベクトルxとの積を、デ
ータ転送と、データ処理の同時並列処理により行うこと
ができる。
【0013】4或いは103は各データ処理ユニット1
に対する記憶回路あるいは制御回路である。図7(B)
はトレイの構造を具体的に示す。
に対する記憶回路あるいは制御回路である。図7(B)
はトレイの構造を具体的に示す。
【0014】トレイは基本的には単なる1つのラッチ回
路であり、DFFと、書き込み、読み出しあるいはアド
レスを制御するコントロール回路とからなる。図7(C
) はトレイ2のより具体的な構成であり、D−Fli
pflopの入力がマルチレクサで選択され、データの
流れる方向はバッファとトライステートバッファとによ
って、制御される。
路であり、DFFと、書き込み、読み出しあるいはアド
レスを制御するコントロール回路とからなる。図7(C
) はトレイ2のより具体的な構成であり、D−Fli
pflopの入力がマルチレクサで選択され、データの
流れる方向はバッファとトライステートバッファとによ
って、制御される。
【0015】図8(A) はリングレジスタ型並列方式
による誤差逆伝播学習則動作フローチャートである。入
力信号と教師信号の入力に対して前向き処理と後ろ向き
処理とを、入力・教師信号対を変えながら、誤差がなく
なるまで繰り返すものである。
による誤差逆伝播学習則動作フローチャートである。入
力信号と教師信号の入力に対して前向き処理と後ろ向き
処理とを、入力・教師信号対を変えながら、誤差がなく
なるまで繰り返すものである。
【0016】図8(B) は誤差逆伝播学習則の詳細フ
ローチャートである。学習処理の実行は以の処理を学習
が収束するまで教師信号対を変えながら繰り返すことに
より行われる。先ずメモリ上の入力トレーニングパター
ンのi番目の要素Ip−i(=Yi(1) ) をトレ
イiに転送し、以下を全ての層分繰り返す(l=2,.
..L) 。
ローチャートである。学習処理の実行は以の処理を学習
が収束するまで教師信号対を変えながら繰り返すことに
より行われる。先ずメモリ上の入力トレーニングパター
ンのi番目の要素Ip−i(=Yi(1) ) をトレ
イiに転送し、以下を全ての層分繰り返す(l=2,.
..L) 。
【0017】先ずシフトレジスタ長をN(l=1) に
しUi(l) =Σj=1,N(l−1) Wij(l
) Yj(l−1) をもとめYjを後の使用のために
コピーする。シグモイド関数fを用いてYi(l) =
f(Ui(l) ) を得て、求めたYi(l) をト
レイiに出力する。次に誤差の初期値Di(L) (=
Yi(L) −Op−i(出力トレーニングパターンの
i番目の要素) を計算する。そして次の処理を全ての
層分繰り返す(l=L,...,2) 。
しUi(l) =Σj=1,N(l−1) Wij(l
) Yj(l−1) をもとめYjを後の使用のために
コピーする。シグモイド関数fを用いてYi(l) =
f(Ui(l) ) を得て、求めたYi(l) をト
レイiに出力する。次に誤差の初期値Di(L) (=
Yi(L) −Op−i(出力トレーニングパターンの
i番目の要素) を計算する。そして次の処理を全ての
層分繰り返す(l=L,...,2) 。
【0018】先ずシフトレジスタ長をN(l−1) に
し、トレイi上のDi(l−1) を0にする。そして
以下を繰り返す(j=i,i+1,...N(l−1)
,1,...,i−1) 。Dj(l−1) :Dj
(l−1) +Wij(l) f(Uj(l) ) D
i(l) を得る。次の演算を繰り返す(j=1,..
.,N(l−1) 。Wij(l) :=Wij(l)
+ηDi(l−1) Yj(l) 。この時Yjを用
いる。そして、処理を終了する。
し、トレイi上のDi(l−1) を0にする。そして
以下を繰り返す(j=i,i+1,...N(l−1)
,1,...,i−1) 。Dj(l−1) :Dj
(l−1) +Wij(l) f(Uj(l) ) D
i(l) を得る。次の演算を繰り返す(j=1,..
.,N(l−1) 。Wij(l) :=Wij(l)
+ηDi(l−1) Yj(l) 。この時Yjを用
いる。そして、処理を終了する。
【0019】
【発明が解決しようとする課題】従来の、トレイ中にレ
ジスタを1個しか持たないリングレジスタ型並列方式に
おいては、誤差逆伝搬学習則の後向き処理過程において
必要となる、前層のニューロンの出力値を、各プロセッ
サが前向き処理中に自分のローカルメモリに全て複写し
ておく必要があった。このため、必要なメモリ量も多く
なり、また、プロセッサユニットを介してローカルメモ
リに後向処理のたびにアクセスするために処理時間も必
要であった。
ジスタを1個しか持たないリングレジスタ型並列方式に
おいては、誤差逆伝搬学習則の後向き処理過程において
必要となる、前層のニューロンの出力値を、各プロセッ
サが前向き処理中に自分のローカルメモリに全て複写し
ておく必要があった。このため、必要なメモリ量も多く
なり、また、プロセッサユニットを介してローカルメモ
リに後向処理のたびにアクセスするために処理時間も必
要であった。
【0020】本発明は、必要なメモリ量を減らし、処理
時間を短縮した並列データ処理方式を提供することを目
的とする。
時間を短縮した並列データ処理方式を提供することを目
的とする。
【0021】
【課題を解決するための手段及び作用】図1(A)乃至
図1(C)は本発明の原理説明図である。図1(A)に
示したシステムは図7(A)と同様であるから同一参照
番号を付して説明を省略する。
図1(C)は本発明の原理説明図である。図1(A)に
示したシステムは図7(A)と同様であるから同一参照
番号を付して説明を省略する。
【0022】図1(B)は発明にかかるトレイ2であり
、複数段のプロセッサからなるレジスタファイル2eを
有する。このレジスタファイル2eの異なる領域(レジ
スタ) を多層型ニューロンの異なる層に割り当てる。
、複数段のプロセッサからなるレジスタファイル2eを
有する。このレジスタファイル2eの異なる領域(レジ
スタ) を多層型ニューロンの異なる層に割り当てる。
【0023】図2(C)はトレイ2をセパレートI/O
のメモリ2fから構成する。そして、メモリのアドレス
によって、多層型ニューロンの各層に対応する領域を指
定する。2gはプロセッサ1からの入力とサイクリック
バスからの入力とを選択するためのマルチプレクサであ
り、2hはサイクリックバスへの出力とプロセッサへの
入出力を制御するトライステートバッファである。
のメモリ2fから構成する。そして、メモリのアドレス
によって、多層型ニューロンの各層に対応する領域を指
定する。2gはプロセッサ1からの入力とサイクリック
バスからの入力とを選択するためのマルチプレクサであ
り、2hはサイクリックバスへの出力とプロセッサへの
入出力を制御するトライステートバッファである。
【0024】本発明によれば、誤差逆伝搬学習則の前向
き処理において、Yi(l)をトレイ中に格納する際に
、異なる層lに対してはトレイ中の異なるレジスタを用
いることにより、これらを後向き処理迄トレイ上に保存
しておき、重みの更新の際にこれらの値をトレイから読
み込むことを可能とすることにより、各プロセッサが自
分のローカルメモリ上にコピーを保存する必要がなくな
った。
き処理において、Yi(l)をトレイ中に格納する際に
、異なる層lに対してはトレイ中の異なるレジスタを用
いることにより、これらを後向き処理迄トレイ上に保存
しておき、重みの更新の際にこれらの値をトレイから読
み込むことを可能とすることにより、各プロセッサが自
分のローカルメモリ上にコピーを保存する必要がなくな
った。
【0025】本発明の特徴は、各々少なくとも1つの入
力を持つ複数個のプロセッサ(1)と、各々第1の入力
及び出力を持ち且つ各々データ保持及びデータ転送を行
う複数個のトレイ(2)であって、トレイ(2)の全部
またはその一部が各々前記プロセッサ(1)の第1の入
力に接続された第2の出力を有するものと、接続するト
レイ(2)の第1の入力及び出力が接続されて鳴るシフ
ト手段(3)とを具備し、シフト手段(3)上のデータ
転送と、トレイ(2)とプロセッサ(1)間のデータ転
送と、プロセッサ(1)によるデータ処理とを同期して
行うことにより、行列演算あるいはニューロコンピュー
タ演算を行うことを特徴とする並列データ処理方式を提
供する。
力を持つ複数個のプロセッサ(1)と、各々第1の入力
及び出力を持ち且つ各々データ保持及びデータ転送を行
う複数個のトレイ(2)であって、トレイ(2)の全部
またはその一部が各々前記プロセッサ(1)の第1の入
力に接続された第2の出力を有するものと、接続するト
レイ(2)の第1の入力及び出力が接続されて鳴るシフ
ト手段(3)とを具備し、シフト手段(3)上のデータ
転送と、トレイ(2)とプロセッサ(1)間のデータ転
送と、プロセッサ(1)によるデータ処理とを同期して
行うことにより、行列演算あるいはニューロコンピュー
タ演算を行うことを特徴とする並列データ処理方式を提
供する。
【0026】トレイ(2)中のデータ保持手段は複数の
データを保持可能である。シフト手段(3)はサイクリ
ックシフトレジスタである。シフト手段(3)の長さを
変更する手段を有する。シフト手段(3)の長さを変更
する手段は、前記トレイの入力切り換え手段、外部のデ
ータ供給手段及び入力選択手段、前記トレイ(2)中の
前記データ保持手段による。
データを保持可能である。シフト手段(3)はサイクリ
ックシフトレジスタである。シフト手段(3)の長さを
変更する手段を有する。シフト手段(3)の長さを変更
する手段は、前記トレイの入力切り換え手段、外部のデ
ータ供給手段及び入力選択手段、前記トレイ(2)中の
前記データ保持手段による。
【0027】プロセッサ(1)が第1の出力を持ち、前
記トレイ(2)が該第1の出力に接続された第2の入力
を持ち、前記プロセッサ(1)から前記トレイ手段(2
)にデータを書き込む手段を有する。
記トレイ(2)が該第1の出力に接続された第2の入力
を持ち、前記プロセッサ(1)から前記トレイ手段(2
)にデータを書き込む手段を有する。
【0028】プロセッサ(1)と前記トレイ(2)間で
のデータ転送路は入力と出力で共通に利用されるバスで
ある。データの処理結果を更に処理するに際し、処理結
果を書き込み手段を用いて前記トレイ(2)に転送する
。トレイ(2)が各々相互に接続された第3の入力及び
出力を備え、シフト手段(3)は双方向システムレジス
タである。双方向システムレジスタを構成する各トレイ
(2)間のデータ転送路は入力と出力で共通に利用され
るバスである。双方向シフトレジスタ上をデータを双方
向に転送する。
のデータ転送路は入力と出力で共通に利用されるバスで
ある。データの処理結果を更に処理するに際し、処理結
果を書き込み手段を用いて前記トレイ(2)に転送する
。トレイ(2)が各々相互に接続された第3の入力及び
出力を備え、シフト手段(3)は双方向システムレジス
タである。双方向システムレジスタを構成する各トレイ
(2)間のデータ転送路は入力と出力で共通に利用され
るバスである。双方向シフトレジスタ上をデータを双方
向に転送する。
【0029】ベクトルの各要素を巡回させるシフト手段
であって、内部はその各要素を保持する機能および転送
機能を有するトレイ(2)と、行列の各行に対応して存
在し、少なくとも2入力間の乗算とその乗算結果の累積
機能を有するプロセッサ(1)と、各プロセッサ毎に存
在し、行列の各行の要素を順番に読み出すことが可能な
記憶手段とを有し、プロセッサ(1)と、データを巡回
シフトさせる前記トレイ(2)とを分離することにより
、各プロセッサ(1)が、巡回シフトしてくるベクトル
の要素と対応する記憶手段からの行列要素とを乗算し、
その乗算結果を累積することにより、行と列の数が異な
る長方行列とベクトルとの積を演算することにより行う
行列演算あるいはニューロコンピュータ演算を行う。複
数のトレイ(2)から成るシフトレジスタ(3)の長さ
をnにし、そのnの数に等しい要素からなるベクトルを
シフトレジスタにセットし、プロセッサ(1)のそれぞ
れが対応するトレイと記憶手段(4)とからそれぞれベ
クトルの要素及び行列の要素とを受け取り掛け合わせ累
積し、その後、そのベクトルの要素を巡回する動作をn
回繰り返した後、結果をトレイ(2)に転送し、その巡
回シフトのシフト長をnからmにし、同様な動作をm回
繰り返すことにより、長方向列とベクトルとの積にさら
に異なる長方行列を掛ける。
であって、内部はその各要素を保持する機能および転送
機能を有するトレイ(2)と、行列の各行に対応して存
在し、少なくとも2入力間の乗算とその乗算結果の累積
機能を有するプロセッサ(1)と、各プロセッサ毎に存
在し、行列の各行の要素を順番に読み出すことが可能な
記憶手段とを有し、プロセッサ(1)と、データを巡回
シフトさせる前記トレイ(2)とを分離することにより
、各プロセッサ(1)が、巡回シフトしてくるベクトル
の要素と対応する記憶手段からの行列要素とを乗算し、
その乗算結果を累積することにより、行と列の数が異な
る長方行列とベクトルとの積を演算することにより行う
行列演算あるいはニューロコンピュータ演算を行う。複
数のトレイ(2)から成るシフトレジスタ(3)の長さ
をnにし、そのnの数に等しい要素からなるベクトルを
シフトレジスタにセットし、プロセッサ(1)のそれぞ
れが対応するトレイと記憶手段(4)とからそれぞれベ
クトルの要素及び行列の要素とを受け取り掛け合わせ累
積し、その後、そのベクトルの要素を巡回する動作をn
回繰り返した後、結果をトレイ(2)に転送し、その巡
回シフトのシフト長をnからmにし、同様な動作をm回
繰り返すことにより、長方向列とベクトルとの積にさら
に異なる長方行列を掛ける。
【0030】長方行列の転置行列とベクトルとの積を計
算する場合、その行列を構成する部分行ベクトルを前記
各プロセッサ(1)に接続された記憶手段(4)中に格
納し、演算途中に生じる部分和を前記トレイ(2)の各
トレイ中のデータ保持回路上に累積し、各トレイ上のデ
ータと記憶手段(4)からのデータとの積をとってその
部分和をトレイ上に転送し、巡回シフトすることにより
、定置行列とベクトルとの積を計算する。
算する場合、その行列を構成する部分行ベクトルを前記
各プロセッサ(1)に接続された記憶手段(4)中に格
納し、演算途中に生じる部分和を前記トレイ(2)の各
トレイ中のデータ保持回路上に累積し、各トレイ上のデ
ータと記憶手段(4)からのデータとの積をとってその
部分和をトレイ上に転送し、巡回シフトすることにより
、定置行列とベクトルとの積を計算する。
【0031】人工ニューラルネットワークにおいて、長
方行列の各行の要素をニューロンモデルに接続する結合
枝の重みに対応させたとき、プロセッサ(1)は、トレ
イ(2)の各データ保持回路にある入力変数のそれぞれ
と対応する記憶手段(4)からの重みとを掛け、シフト
レジスタ(3)内で巡回シフトする動作を繰り返すこと
により、そのニューロンモデルに接続された結合枝の重
みとその結合枝への入力変数との積の総和を求め、その
後、非線形関数を施す処理部(103)を有し、ニュー
ラルネットの前向きの処理を実行することを可能とする
。
方行列の各行の要素をニューロンモデルに接続する結合
枝の重みに対応させたとき、プロセッサ(1)は、トレ
イ(2)の各データ保持回路にある入力変数のそれぞれ
と対応する記憶手段(4)からの重みとを掛け、シフト
レジスタ(3)内で巡回シフトする動作を繰り返すこと
により、そのニューロンモデルに接続された結合枝の重
みとその結合枝への入力変数との積の総和を求め、その
後、非線形関数を施す処理部(103)を有し、ニュー
ラルネットの前向きの処理を実行することを可能とする
。
【0032】非線形関数はシグモイド関数である。ニュ
ーラルネットは、少なくとも3層構造の階層型ニューラ
ルネットワークである。
ーラルネットは、少なくとも3層構造の階層型ニューラ
ルネットワークである。
【0033】階層型ニューラルネットワークにおける逆
伝搬学習則の後ろ向き処理であって、出力層からの出力
信号と教師信号との誤差を入力層に向けて通常の信号の
流れる向きと逆方向に伝搬させる処理において、逆伝搬
してくる誤差信号を要素とするベクトルと前記前向き処
理において重みを要素とする重み係数行列Wの転置行列
WT を行列の転置行列とベクトルとの積を求める方式
に従って、演算途中の部分和をシフトレジスタ(3)上
で巡回シフトしながら、記憶手段(4)に格納された重
み係数行列の各要素とプロセッサ(1)内の誤差のベク
トルとの各要素との積を求めて部分和に加え、その結果
を部分和としてトレイ(2)上に残すことにより、転置
行列とベクトルとの積を求める処理を後向き積和計算と
して実行することにより逆伝搬学習則を実行することを
可能とする。
伝搬学習則の後ろ向き処理であって、出力層からの出力
信号と教師信号との誤差を入力層に向けて通常の信号の
流れる向きと逆方向に伝搬させる処理において、逆伝搬
してくる誤差信号を要素とするベクトルと前記前向き処
理において重みを要素とする重み係数行列Wの転置行列
WT を行列の転置行列とベクトルとの積を求める方式
に従って、演算途中の部分和をシフトレジスタ(3)上
で巡回シフトしながら、記憶手段(4)に格納された重
み係数行列の各要素とプロセッサ(1)内の誤差のベク
トルとの各要素との積を求めて部分和に加え、その結果
を部分和としてトレイ(2)上に残すことにより、転置
行列とベクトルとの積を求める処理を後向き積和計算と
して実行することにより逆伝搬学習則を実行することを
可能とする。
【0034】逆伝搬学習則において、前向き処理中に、
各層のニューロンの出力をトレイ(2)中に保持してお
き、後ろ向き処理中にそれを利用する。プロセッサ(1
)の処理装置は、データがアナログである場合には、ア
ナログ乗算器と、積分器で構成され、トレイ(2) の
各トレイのデータ保持回路はサンプルホールド回路で構
成れ、トレイ(2)のデータ転送回路はアナログスイッ
チとバッファアンプで構成される。
各層のニューロンの出力をトレイ(2)中に保持してお
き、後ろ向き処理中にそれを利用する。プロセッサ(1
)の処理装置は、データがアナログである場合には、ア
ナログ乗算器と、積分器で構成され、トレイ(2) の
各トレイのデータ保持回路はサンプルホールド回路で構
成れ、トレイ(2)のデータ転送回路はアナログスイッ
チとバッファアンプで構成される。
【0035】行列がm×nで帯幅kの帯行列Aと、要素
数nのベクトルxとの乗算を行う場合、前記ベクトルX
を巡回シフトによって一回転させないで、ベクトルXの
要素をシフトレジスタ内でシフトする際に、行列の帯が
始まる始点を任意に指定できる。
数nのベクトルxとの乗算を行う場合、前記ベクトルX
を巡回シフトによって一回転させないで、ベクトルXの
要素をシフトレジスタ内でシフトする際に、行列の帯が
始まる始点を任意に指定できる。
【0036】プロセッサ(1)とデータ保持機能を有す
るトレイの2つを分離することにより、トレイ(2)間
のデータ転送と、プロセッサ(1)によるデータ処理と
を同時並行的に行い、トレイ(2)間のデータ転送に要
する時間をプロセッサ(1)がデータ処理に要する時間
と等しくあるいは短くすることでデータ転送時間をデー
タ処理時間の影に隠す。
るトレイの2つを分離することにより、トレイ(2)間
のデータ転送と、プロセッサ(1)によるデータ処理と
を同時並行的に行い、トレイ(2)間のデータ転送に要
する時間をプロセッサ(1)がデータ処理に要する時間
と等しくあるいは短くすることでデータ転送時間をデー
タ処理時間の影に隠す。
【0037】
【実施例】以下、本発明の実施例を図面を用いて説明す
る。図2(A),(B),(C),(D)は本発明の第
1の実施例説明図であり、ニューロコンピュータを示し
ている。図中、図1(A),(B),(C)で示したも
のと同一のものは同一の記号で示して説明を省略する。
る。図2(A),(B),(C),(D)は本発明の第
1の実施例説明図であり、ニューロコンピュータを示し
ている。図中、図1(A),(B),(C)で示したも
のと同一のものは同一の記号で示して説明を省略する。
【0038】図2(C)において、2i、2jはトレイ
2からサイクリックバスの両方向への出力端に設けられ
たトライステートバッファ、2l、2mはサイクリック
バスからトレイ2への入力端に設けられたバッファ、2
Eはプロセッサ1aからトレイ2の入力端に設けられた
バッファである。トライテートバッファ2h、2i、2
jによって、トレイ2から出力をプロセッサ1aに送出
するか、サイクリックバス上においてどちらの方向に送
出するかなどの切り替え制御する。
2からサイクリックバスの両方向への出力端に設けられ
たトライステートバッファ、2l、2mはサイクリック
バスからトレイ2への入力端に設けられたバッファ、2
Eはプロセッサ1aからトレイ2の入力端に設けられた
バッファである。トライテートバッファ2h、2i、2
jによって、トレイ2から出力をプロセッサ1aに送出
するか、サイクリックバス上においてどちらの方向に送
出するかなどの切り替え制御する。
【0039】図2(D)はトレイ2の具体的構成を示す
もので、入力は例えば3ビットの選択信号によって、マ
ルチレクサ2nによってたとえば8個のレジスタ2eの
うちの1つに入力するように制御し、8個のレジスタ2
eのうちいずれか1つからの出力をでーたセレクタ(マ
ルチプレクサ) によって出力として選択するものであ
る。
もので、入力は例えば3ビットの選択信号によって、マ
ルチレクサ2nによってたとえば8個のレジスタ2eの
うちの1つに入力するように制御し、8個のレジスタ2
eのうちいずれか1つからの出力をでーたセレクタ(マ
ルチプレクサ) によって出力として選択するものであ
る。
【0040】図4は、本発明の実施例における誤差学習
則逆伝播のフローチャートである。図8(B)に示した
従来の誤差学習則逆伝播と異なるところは、前向き処理
において。出力値を後ろ向き処理で使用するためのロー
カルメモリにコピーしておく必要がない点である。
則逆伝播のフローチャートである。図8(B)に示した
従来の誤差学習則逆伝播と異なるところは、前向き処理
において。出力値を後ろ向き処理で使用するためのロー
カルメモリにコピーしておく必要がない点である。
【0041】学習処理の実行は以の処理を学習が収束す
るまで教師信号対を変えながら繰り返すことにより行わ
れる。先ずメモリ上の入力トレーニングパターンのi番
目の要素Ip−i(=Yi(1)) をトレイiに転送
し、以下を全ての層分繰り返す(l=2,...L)
。先ずシフトレジスタ長をN(l=1) にしUi(l
) = Σj=1,N(l−1) Wij(l) Yj
(l−1) を求める。シグモイド関数fを用いてYi
(l) =f(Ui(l) ) を得て、求めたYi(
l) をトレイiのL−1番目のレジスタに出力する。 次に誤差の初期値Di(L)(=Yi(L) −Op−
i(出力トレーニングパターンのi番目の要素) を計
算する。
るまで教師信号対を変えながら繰り返すことにより行わ
れる。先ずメモリ上の入力トレーニングパターンのi番
目の要素Ip−i(=Yi(1)) をトレイiに転送
し、以下を全ての層分繰り返す(l=2,...L)
。先ずシフトレジスタ長をN(l=1) にしUi(l
) = Σj=1,N(l−1) Wij(l) Yj
(l−1) を求める。シグモイド関数fを用いてYi
(l) =f(Ui(l) ) を得て、求めたYi(
l) をトレイiのL−1番目のレジスタに出力する。 次に誤差の初期値Di(L)(=Yi(L) −Op−
i(出力トレーニングパターンのi番目の要素) を計
算する。
【0042】そして次の処理を全ての層分繰り返す(l
=L,...,2) 。先ずシフトレジスタ長をN(l
−1) にし、トレイi上のDi(l−1) を0にす
る。そして以下を繰り返す(j=i,i+1,...N
(l−1) ,1,...,i−1)。Dj(l−1)
:Dj(l−1) +Wij(l) f(Uj(l)
) Di(l)を得る。次の演算を繰り返す(j=1
,...,N(l−1) 。先ずトレイjのl−1番目
レジスタからYj(l) の値を得て、Wij(l)
:=Wij(l)+ηDi(l−1) Yj(l) 。 そして、処理を終了する。
=L,...,2) 。先ずシフトレジスタ長をN(l
−1) にし、トレイi上のDi(l−1) を0にす
る。そして以下を繰り返す(j=i,i+1,...N
(l−1) ,1,...,i−1)。Dj(l−1)
:Dj(l−1) +Wij(l) f(Uj(l)
) Di(l)を得る。次の演算を繰り返す(j=1
,...,N(l−1) 。先ずトレイjのl−1番目
レジスタからYj(l) の値を得て、Wij(l)
:=Wij(l)+ηDi(l−1) Yj(l) 。 そして、処理を終了する。
【0043】図5は本発明が適用されるシステムの他の
例であり、第1の例と異なるところは、サイクリックバ
スが双方向性となっている点であり、図1(A)と同一
部分に同一番号を付して説明を省略する。
例であり、第1の例と異なるところは、サイクリックバ
スが双方向性となっている点であり、図1(A)と同一
部分に同一番号を付して説明を省略する。
【0044】図6は本発明の他の実施例であり、トレイ
2の中にシフトレジスタのリングのデータの流れにそっ
て複数のレジスタ2eを直列に接続したものである。プ
ロセッサ1aの出力をレジスタセレクタ2qによって選
択されたレジスタ、例えば図において左端のレジスタに
入力する。その場合、図4のフローチャートにおいて、
シフトレギスタの長さをサイクリックバスに含まれるレ
ジスタの数、そしてトレイiに出力することをレジスタ
iに出力するものとして考えればよい。図6の実施例は
図2(B)に示した実施例(ニューロンの各層に対応し
て複数のレジスタを設けたもの) と混用することが可
能である。
2の中にシフトレジスタのリングのデータの流れにそっ
て複数のレジスタ2eを直列に接続したものである。プ
ロセッサ1aの出力をレジスタセレクタ2qによって選
択されたレジスタ、例えば図において左端のレジスタに
入力する。その場合、図4のフローチャートにおいて、
シフトレギスタの長さをサイクリックバスに含まれるレ
ジスタの数、そしてトレイiに出力することをレジスタ
iに出力するものとして考えればよい。図6の実施例は
図2(B)に示した実施例(ニューロンの各層に対応し
て複数のレジスタを設けたもの) と混用することが可
能である。
【0045】
【発明の効果】以上説明したように、本発明によれば従
来の方法より少ないメモリ量と短い処理時間で誤差逆伝
搬学習が実行でき、係るニューロコンピュータの性能向
上に寄与するところが大きい。
来の方法より少ないメモリ量と短い処理時間で誤差逆伝
搬学習が実行でき、係るニューロコンピュータの性能向
上に寄与するところが大きい。
【図1】(A)は本発明が適用されるシステムのブロッ
ク図、(B)及び(C)は本発明の原理説明図である。
ク図、(B)及び(C)は本発明の原理説明図である。
【図2】(A)は本発明が適用されるシステムのブロッ
ク図、(B)及び(C)は本発明のトレイのそれぞれ1
実施例のブロック図である。
ク図、(B)及び(C)は本発明のトレイのそれぞれ1
実施例のブロック図である。
【図3】本発明にかかるトレイのブロック図である。
【図4】本発明における誤差逆伝播学習則を示すフロー
チャートである。
チャートである。
【図5】本発明が適用される他のシステムのブロック図
である。
である。
【図6】本発明が適用される他のシステムのブロック図
である。
である。
【図7】(A)はシストリックシステムのブロック図で
あり、(B)及び(C)は従来のトレイのブロック図、
あり、(B)及び(C)は従来のトレイのブロック図、
【図8】(A)は一般的な前向き処理及び後ろ向き処理
を示すフローチャートであり、(B)は従来の誤差伝播
逆行列逆収束を示すフローチャートである。
を示すフローチャートであり、(B)は従来の誤差伝播
逆行列逆収束を示すフローチャートである。
【符号の説明】
1 プロセッサユニット
2 トレイ
2e レジスタファイル
2f メモリ
Claims (5)
- 【請求項1】 各々少なくとも1つの入力(12)を
持つ複数個のプロセッサ(1)と、各々第1の入力及び
出力を持ち且つ各々データ保持及びデータ転送を行う複
数個のトレイ(2)であって、前記トレイ(2)の全部
またはその一部が各々前記プロセッサ(1)の第1の入
力に接続された第2の出力を有するものと、前記接続す
るトレイ(2)の第1の入力及び出力が接続されて鳴る
シフト手段(3)とを具備し、前記シフト手段(3)上
のデータ転送と、前記トレイ(2)と前記プロセッサ(
1)間のデータ転送と、前記プロセッサ(1)によるデ
ータ処理とを同期して行うことにより、行列演算あるい
はニューロコンピュータ演算を行うことを特徴とする並
列データ処理方式。 - 【請求項2】 前記トレイ手段(2)中のデータ保持
手段は複数のデータを保持可能であることを特徴とする
請求項1記載の並列データ処理方式。 - 【請求項3】 前記シフト手段(3)はサイクリック
シフトレジスタであることを特徴とする請求項1乃至2
記載の並列データ処理方式。 - 【請求項4】 前記シフト手段(3)の長さを変更す
る手段を有することを特徴とする請求項1〜3記載の並
列データ処理方式。 - 【請求項5】 前記トレイ(2)が各々相互に接続さ
れた第3の入力及び出力を備え、前記シフト手段(3)
は双方向システムレジスタであることを特徴とする請求
項1〜4記載の並列データ処理方式。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3057347A JPH04293151A (ja) | 1991-03-20 | 1991-03-20 | 並列データ処理方式 |
EP92104904A EP0504932A2 (en) | 1991-03-20 | 1992-03-20 | A parallel data processing system |
US08/261,889 US5506998A (en) | 1991-03-20 | 1994-06-17 | Parallel data processing system using a plurality of processing elements to process data and a plurality of trays connected to some of the processing elements to store and transfer data |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3057347A JPH04293151A (ja) | 1991-03-20 | 1991-03-20 | 並列データ処理方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH04293151A true JPH04293151A (ja) | 1992-10-16 |
Family
ID=13053042
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP3057347A Withdrawn JPH04293151A (ja) | 1991-03-20 | 1991-03-20 | 並列データ処理方式 |
Country Status (3)
Country | Link |
---|---|
US (1) | US5506998A (ja) |
EP (1) | EP0504932A2 (ja) |
JP (1) | JPH04293151A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8510534B2 (en) | 2002-05-24 | 2013-08-13 | St-Ericsson Sa | Scalar/vector processor that includes a functional unit with a vector section and a scalar section |
Families Citing this family (53)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH076146A (ja) * | 1993-06-18 | 1995-01-10 | Fujitsu Ltd | 並列データ処理システム |
US6145071A (en) * | 1994-03-03 | 2000-11-07 | The George Washington University | Multi-layer multi-processor information conveyor with periodic transferring of processors' states for on-the-fly transformation of continuous information flows and operating method therefor |
WO1997004401A2 (en) * | 1995-07-21 | 1997-02-06 | Philips Electronics N.V. | Multi-media processor architecture with high performance-density |
US5943242A (en) * | 1995-11-17 | 1999-08-24 | Pact Gmbh | Dynamically reconfigurable data processing system |
US7266725B2 (en) * | 2001-09-03 | 2007-09-04 | Pact Xpp Technologies Ag | Method for debugging reconfigurable architectures |
JP3136088B2 (ja) * | 1996-02-22 | 2001-02-19 | シャープ株式会社 | データ処理装置及びデータ処理方法 |
GB2315888A (en) * | 1996-07-31 | 1998-02-11 | Ibm | Controlling the degree of parallelism when performing parallel processing on an inherently serial computer program |
US5778244A (en) * | 1996-10-07 | 1998-07-07 | Timeplex, Inc. | Digital signal processing unit using digital signal processor array with recirculation |
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 |
US6338106B1 (en) | 1996-12-20 | 2002-01-08 | Pact Gmbh | I/O and memory bus system for DFPS and units with two or multi-dimensional programmable cell architectures |
DE19654595A1 (de) | 1996-12-20 | 1998-07-02 | Pact Inf Tech Gmbh | I0- und Speicherbussystem für DFPs sowie Bausteinen mit zwei- oder mehrdimensionaler programmierbaren Zellstrukturen |
DE19654593A1 (de) * | 1996-12-20 | 1998-07-02 | Pact Inf Tech Gmbh | Umkonfigurierungs-Verfahren für programmierbare Bausteine zur Laufzeit |
DE59710317D1 (de) | 1996-12-27 | 2003-07-24 | Pact Inf Tech Gmbh | VERFAHREN ZUM SELBSTÄNDIGEN DYNAMISCHEN UMLADEN VON DATENFLUSSPROZESSOREN (DFPs) SOWIE BAUSTEINEN MIT ZWEI- ODER MEHRDIMENSIONALEN PROGRAMMIERBAREN ZELLSTRUKTUREN (FPGAs, DPGAs, o.dgl.) |
DE19654846A1 (de) * | 1996-12-27 | 1998-07-09 | Pact Inf Tech Gmbh | Verfahren zum selbständigen dynamischen Umladen von Datenflußprozessoren (DFPs) sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstrukturen (FPGAs, DPGAs, o. dgl.) |
DE19704044A1 (de) * | 1997-02-04 | 1998-08-13 | Pact Inf Tech Gmbh | Verfahren zur automatischen Adressgenerierung von Bausteinen innerhalb Clustern aus einer Vielzahl dieser Bausteine |
DE19704728A1 (de) | 1997-02-08 | 1998-08-13 | Pact Inf Tech Gmbh | Verfahren zur Selbstsynchronisation von konfigurierbaren Elementen eines programmierbaren Bausteines |
US6542998B1 (en) | 1997-02-08 | 2003-04-01 | Pact Gmbh | Method of self-synchronization of configurable elements of a programmable module |
DE19704742A1 (de) * | 1997-02-11 | 1998-09-24 | Pact Inf Tech Gmbh | Internes Bussystem für DFPs, sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstrukturen, zur Bewältigung großer Datenmengen mit hohem Vernetzungsaufwand |
US5907693A (en) * | 1997-09-24 | 1999-05-25 | Theseus Logic, Inc. | Autonomously cycling data processing architecture |
US8686549B2 (en) | 2001-09-03 | 2014-04-01 | Martin Vorbach | Reconfigurable elements |
DE19861088A1 (de) | 1997-12-22 | 2000-02-10 | Pact Inf Tech Gmbh | Verfahren zur Reparatur von integrierten Schaltkreisen |
DE19807872A1 (de) | 1998-02-25 | 1999-08-26 | Pact Inf Tech Gmbh | Verfahren zur Verwaltung von Konfigurationsdaten in Datenflußprozessoren sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstruktur (FPGAs, DPGAs, o. dgl. |
US6323755B1 (en) * | 1998-08-19 | 2001-11-27 | International Business Machines Corporation | Dynamic bus locking in a cross bar switch |
US6275890B1 (en) * | 1998-08-19 | 2001-08-14 | International Business Machines Corporation | Low latency data path in a cross-bar switch providing dynamically prioritized bus arbitration |
US7003660B2 (en) | 2000-06-13 | 2006-02-21 | Pact Xpp Technologies Ag | Pipeline configuration unit protocols and communication |
AU5805300A (en) | 1999-06-10 | 2001-01-02 | Pact Informationstechnologie Gmbh | Sequence partitioning in cell structures |
US6754805B1 (en) * | 2000-08-07 | 2004-06-22 | Transwitch Corporation | Method and apparatus for configurable multi-cell digital signal processing employing global parallel configuration |
US20040015899A1 (en) * | 2000-10-06 | 2004-01-22 | Frank May | Method for processing data |
US8058899B2 (en) | 2000-10-06 | 2011-11-15 | Martin Vorbach | Logic cell array and bus system |
US6990555B2 (en) * | 2001-01-09 | 2006-01-24 | Pact Xpp Technologies Ag | Method of hierarchical caching of configuration data having dataflow processors and modules having two- or multidimensional programmable cell structure (FPGAs, DPGAs, etc.) |
US7844796B2 (en) * | 2001-03-05 | 2010-11-30 | Martin Vorbach | Data processing device and method |
US9037807B2 (en) | 2001-03-05 | 2015-05-19 | Pact Xpp Technologies Ag | Processor arrangement on a chip including data processing, memory, and interface elements |
US7444531B2 (en) * | 2001-03-05 | 2008-10-28 | Pact Xpp Technologies Ag | Methods and devices for treating and processing data |
US7210129B2 (en) | 2001-08-16 | 2007-04-24 | Pact Xpp Technologies Ag | Method for translating programs for reconfigurable architectures |
JP2004533691A (ja) | 2001-06-20 | 2004-11-04 | ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト | データを処理するための方法 |
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 |
WO2003060747A2 (de) | 2002-01-19 | 2003-07-24 | Pact Xpp Technologies Ag | Reconfigurierbarer prozessor |
AU2003214003A1 (en) | 2002-02-18 | 2003-09-09 | Pact Xpp Technologies Ag | Bus systems and method for reconfiguration |
US8914590B2 (en) | 2002-08-07 | 2014-12-16 | Pact Xpp Technologies Ag | Data processing method and device |
US7657861B2 (en) | 2002-08-07 | 2010-02-02 | Pact Xpp Technologies Ag | Method and device for processing data |
WO2004021176A2 (de) | 2002-08-07 | 2004-03-11 | Pact Xpp Technologies Ag | Verfahren und vorrichtung zur datenverarbeitung |
AU2003289844A1 (en) | 2002-09-06 | 2004-05-13 | Pact Xpp Technologies Ag | Reconfigurable sequencer structure |
EP1676208A2 (en) | 2003-08-28 | 2006-07-05 | PACT XPP Technologies AG | Data processing device and method |
US7281942B2 (en) * | 2005-11-18 | 2007-10-16 | Ideal Industries, Inc. | Releasable wire connector |
JP2009524134A (ja) | 2006-01-18 | 2009-06-25 | ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト | ハードウェア定義方法 |
WO2010113340A1 (en) * | 2009-03-30 | 2010-10-07 | Nec Corporation | Single instruction multiple data (simd) processor having a plurality of processing elements interconnected by a ring bus |
KR101424020B1 (ko) | 2009-07-21 | 2014-07-28 | 마이클 제이. 플린 | 메모리 병목이 없는 저소비전력 및 고속 컴퓨터 |
US8775341B1 (en) | 2010-10-26 | 2014-07-08 | Michael Lamport Commons | Intelligent control with hierarchical stacked neural networks |
US9015093B1 (en) | 2010-10-26 | 2015-04-21 | Michael Lamport Commons | Intelligent control with hierarchical stacked neural networks |
JP6319420B2 (ja) * | 2014-02-24 | 2018-05-09 | 株式会社ニコン | 情報処理装置、デジタルカメラおよびプロセッサ |
US10867647B2 (en) * | 2018-01-23 | 2020-12-15 | Tadao Nakamura | Marching memory and computer system |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4195351A (en) * | 1978-01-27 | 1980-03-25 | International Business Machines Corporation | Loop configured data transmission system |
FR2470996B1 (fr) * | 1979-11-30 | 1986-01-31 | Quinquis Jean Paul | Perfectionnements aux systemes electroniques multiprocesseurs destines au traitement de donnees numeriques et logiques |
ZA811458B (en) * | 1980-03-28 | 1982-03-31 | Int Computers Ltd | Data processing system |
GB2077468B (en) * | 1980-06-04 | 1984-10-24 | Hitachi Ltd | Multi-computer system with plural serial bus loops |
US4663706A (en) * | 1982-10-28 | 1987-05-05 | Tandem Computers Incorporated | Multiprocessor multisystem communications network |
US4763254A (en) * | 1983-05-26 | 1988-08-09 | Hitachi, Ltd. | Information processing system with data storage on plural loop transmission line |
US4821174A (en) * | 1984-03-20 | 1989-04-11 | Westinghouse Electric Corp. | Signal processing system including a bus control module |
US4683563A (en) * | 1984-10-11 | 1987-07-28 | American Telephone And Telegraph Company, At&T Bell Laboratories | Data communication network |
US4816993A (en) * | 1984-12-24 | 1989-03-28 | Hitachi, Ltd. | Parallel processing computer including interconnected operation units |
US4720780A (en) * | 1985-09-17 | 1988-01-19 | The Johns Hopkins University | Memory-linked wavefront array processor |
JPH0740252B2 (ja) * | 1986-03-08 | 1995-05-01 | 株式会社日立製作所 | マルチプロセツサシステム |
GB8618943D0 (en) * | 1986-08-02 | 1986-09-10 | Int Computers Ltd | Data processing apparatus |
US5168572A (en) * | 1989-03-10 | 1992-12-01 | The Boeing Company | System for dynamic selection of globally-determined optimal data path |
US5367642A (en) * | 1990-09-28 | 1994-11-22 | Massachusetts Institute Of Technology | System of express channels in an interconnection network that automatically bypasses local channel addressable nodes |
US5388220A (en) * | 1991-03-19 | 1995-02-07 | Matsushita Electric Industrial Co., Ltd. | Parallel processing system and data transfer method which reduces bus contention by use of data relays having plurality of buffers |
-
1991
- 1991-03-20 JP JP3057347A patent/JPH04293151A/ja not_active Withdrawn
-
1992
- 1992-03-20 EP EP92104904A patent/EP0504932A2/en not_active Withdrawn
-
1994
- 1994-06-17 US US08/261,889 patent/US5506998A/en not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8510534B2 (en) | 2002-05-24 | 2013-08-13 | St-Ericsson Sa | Scalar/vector processor that includes a functional unit with a vector section and a scalar section |
Also Published As
Publication number | Publication date |
---|---|
EP0504932A2 (en) | 1992-09-23 |
US5506998A (en) | 1996-04-09 |
EP0504932A3 (ja) | 1994-12-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH04293151A (ja) | 並列データ処理方式 | |
US5600843A (en) | Ring systolic array system for synchronously performing matrix/neuron computation using data transferred through cyclic shift register connected in cascade of trays | |
JPH04290155A (ja) | 並列データ処理方式 | |
KR950008840B1 (ko) | 뉴로 칩(neuro chip) | |
US5617512A (en) | Triangular scalable neural array processor | |
JPH02170263A (ja) | ニユーラルネツト信号処理プロセツサ | |
CN110580519B (zh) | 一种卷积运算装置及其方法 | |
US5148515A (en) | Scalable neural array processor and method | |
US5517598A (en) | Error back-propagation method and neural network system | |
Ienne et al. | Special-purpose digital hardware for neural networks: An architectural survey | |
JPH0784975A (ja) | 情報処理装置および学習演算処理方法 | |
Chung et al. | A systolic array exploiting the inherent parallelisms of artificial neural networks | |
Svensson et al. | Execution of neural network algorithms on an array of bit-serial processors | |
JPH05346914A (ja) | ニューロプロセッサ | |
Ahn | Computation of deep belief networks using special-purpose hardware architecture | |
JPH076146A (ja) | 並列データ処理システム | |
JP2825133B2 (ja) | 並列データ処理方式 | |
JPH04316153A (ja) | ニューロプロセッサ | |
Ayoubi et al. | Efficient mapping algorithm of multilayer neural network on torus architecture | |
Ramacher et al. | Fine-grain system architectures for systolic emulation of neural algorithms | |
JPH05197702A (ja) | 神経回路網シミュレータ装置 | |
Ghorbani et al. | Incremental communication for multilayer neural networks | |
JPH04364525A (ja) | 並列演算装置 | |
JPH03105583A (ja) | 並列データ処理方式 | |
JPH0471063A (ja) | 神経回路網型計算装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 19980514 |