JP3136088B2 - データ処理装置及びデータ処理方法 - Google Patents

データ処理装置及びデータ処理方法

Info

Publication number
JP3136088B2
JP3136088B2 JP08034486A JP3448696A JP3136088B2 JP 3136088 B2 JP3136088 B2 JP 3136088B2 JP 08034486 A JP08034486 A JP 08034486A JP 3448696 A JP3448696 A JP 3448696A JP 3136088 B2 JP3136088 B2 JP 3136088B2
Authority
JP
Japan
Prior art keywords
output
input
processor
data
data processing
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.)
Expired - Fee Related
Application number
JP08034486A
Other languages
English (en)
Other versions
JPH09231182A (ja
Inventor
広行 梶浦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sharp Corp
Original Assignee
Sharp Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sharp Corp filed Critical Sharp Corp
Priority to JP08034486A priority Critical patent/JP3136088B2/ja
Priority to US08/717,286 priority patent/US5797027A/en
Priority to TW085111598A priority patent/TW331607B/zh
Priority to KR1019970005448A priority patent/KR100280854B1/ko
Publication of JPH09231182A publication Critical patent/JPH09231182A/ja
Application granted granted Critical
Publication of JP3136088B2 publication Critical patent/JP3136088B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/28Enhancement of operational speed, e.g. by using several microcontrol devices operating in parallel
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8007Architectures 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/8015One dimensional arrays, e.g. rings, linear arrays, buses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17337Direct connection machines, e.g. completely connected computers, point to point communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Multi Processors (AREA)
  • Image Processing (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、データ処理装置及
びデータ処理方法に関し、より詳細には、1つ又は複数
の行列やベクトルの積やディジタルニューラルネットの
演算などで、多数の積和演算を高速に処理するためのデ
ータ処理装置、及びその装置を使った積和演算方法に関
する。
【0002】
【従来の技術】大量のデータを高速に処理するための並
列データ処理装置として、図27に示すようなSIMD
(Single Instruction Multi Data)型並列データ処理装
置がある。図27に基づいて、このデータ処理装置を説
明すると、これは、複数のローカルメモリ(2700
1),複数のプロセッサ(27002),制御装置(2
7003),グローバルバス(27004),プロセッ
サ間のバス(27005)及びローカルメモリ−プロセ
ッサ間のバス(27006)より構成され、それぞれの
プロセッサとローカルメモリは、ローカルメモリ−プロ
セッサ間のバスに接続され、プロセッサで演算に使用す
るデータをローカルメモリに格納しておき、バスを介し
て読み出し、書き込みが行なわれる。各プロセッサは、
グローバルバスにより制御装置と接続され、各プロセッ
サで実行される命令や、各プロセッサのローカルメモリ
に格納するデータは、グローバルバスを介して制御装置
より供給される。また、各プロセッサのローカルメモリ
に格納されているデータを読み出す時も、グローバルバ
スを介してプロセッサから制御装置に読み出される。各
プロセッサ間は、各々隣のプロセッサとプロセッサ間の
バスにより接続され、隣のプロセッサ間でのみデータの
転送をすることができる。
【0003】一方、ICメモリは、通常、マトリクスの
構造を持つことから、図28に示すようにメモリの行又
は列に、簡単なプロセッサを組み込んだ機能メモリがあ
る。この機能メモリは、メモリ部(28001),プロ
セッサ部(28002),行デコード/ドライバ部(2
8003),列デコード/ドライバ部(28004),
制御回路部(28005)より構成され、通常のメモリ
として使用できる他に、IC内部に組み込んだSIMD
型のプロセッサを使って、メモリ内のデータを行又は列
毎に並列に処理することができる。また、各行又は列に
組み込まれたそれぞれのプロセッサ間は各々隣のプロセ
ッサとデータの転送をすることができる。
【0004】図29は、CICC’92の“Computatio
nal Ram:A Memory-SIMD Hybrid andits Application to
DSP”において記載されている機能メモリのプロセッサ
部の構造を示す。この機能メモリは、Xレジスタ(14
001),Yレジスタ(14002),書き込み許可レ
ジスタ(14003),1ビットALU(1400
4),グローバル・インストラクション・ライン(14
005)で構成され、X及びYレジスタは1ビットの汎
用レジスタであり、左隣のプロセッサのXレジスタと右
隣のプロセッサのYレジスタには、このプロセッサから
データを書き込むことができる。また、書き込み許可レ
ジスタは、1ビットで構成されたこのレジスタの値が
“1”の場合にのみメモリに結果を書き込むことができ
る。
【0005】図30は、特開平3−105584号公報
において開示された、リング状に接続されたトレイ付き
の並列データ処理装置の原理構成図を示す。この処理装
置は、複数のデータ処理ユニット(30001),複数
のトレイ(30002),複数のメモリ(3000
3),リングの大きさを変えるためのバイパス手段(3
0004)より構成され、トレイはリング状に接続さ
れ、各々のデータ処理ユニットには1つのトレイと、1
つのメモリが接続されている。また、各トレイを接続す
る線の間にデータを途中からバイパスする選択回路を設
け、リング内に含まれるトレイの数を自由に設定でき
る。この並列データ処理装置において、n×m次の行列
とn次のベクトルの積の演算は、i番目のメモリに行列
の第i行目の各要素を代入し(1≦i≦m)、j番目の
トレイにj番目のベクトルの要素を代入しておき(1≦
j≦n)、各データのユニットにおいて、k番目の処理
の時にメモリに格納されているk列目の要素と、トレイ
に格納されているベクトルの要素の積和を実行する。そ
して、トレイの内容を隣のプロセッサに移動させる。以
上の処理をn回行なうことにより、n×m次の行列とn
次のベクトルの積を計算することができる。すなわち、
この並列データ処理装置によって任意の大きさの1つの
行列演算またはニューラルネットの演算における積和演
算を効率良く並列で処理することができる。
【0006】
【発明が解決しようとする課題】しかしながら、図2
7,図28及び図29に示した従来の方法による並列デ
ータ処理装置では、各プロセッサは両隣のプロセッサと
しかデータを転送することができない。そのため、行列
の演算やニューラルネットの演算において積和演算を並
列で処理する時に、離れたプロセッサ間でデータを転送
するための処理が必要になり、処理時間のオーバーヘッ
ドとなる。例えば、n個のプロセッサを持つSIMD型
並列データ処理装置において、1回の積和演算を1サイ
クル,隣のプロセッサへのデータの転送を1サイクル,
離れたプロセッサ間のデータの転送に1サイクル処理時
間が掛かるとすると、次元がn×nの2つの行列の積を
求める場合、積和演算はn×nサイクル,隣のプロセッ
サへのデータの転送はn×nサイクル,離れたプロセッ
サ間のデータの転送にn×nサイクル掛かり、トータル
で3n2サイクルの処理時間が掛かる。すなわち1/3
の処理時間がオーバーヘッドとなる。これは、演算をす
る行列やニューラルネットの大きさが数次元程度の小さ
なものならば、大したオーバーヘッドにならないが、数
百次元,数千次元の大きさの演算を行なおうとすると、
離れたプロセッサ間でデータを転送するための処理によ
りオーバーヘッドが無視できなくなる。図30に示した
従来の方法による並列データ処理装置では、リング状に
接続されたトレイにより、1つの行列演算やニューラル
ネットの演算において積和演算を離れたプロセッサへの
データ転送によるオーバーヘッドなしで行なうことがで
きるが、2つ以上の行列演算やニューラルネットの演算
を行なうには、1つ1つ別々に行なわなければならな
い。本発明は、上記のような従来技術の問題点に鑑み
て、その問題点を解消するためになされたもので、並列
データ処理において、複数の行列の演算やニューラルネ
ットの演算等の演算を高速に処理できる並列データ処理
装置、及びその装置を使ったデータ処理方法を提供する
ことをその目的とする。
【0007】
【課題を解決するための手段】請求項1の発明は、1つ
又は複数のデータを保持する第2のデータ保持手段(1
003)及び結合手段(1004)より成る1つ又は複
数の記憶手段(1005)と、データを保持する第1の
データ保持手段(1002)より構成されるプロセッサ
(1001)を1次元又は多次元に接続するデータ処理
装置において、前記結合手段(1004)は、少なくと
も2つの入力(1011,1012)と、少なくとも2
つの出力(1013,1014)と、入力と出力の接続
状態を決定するための状態変数(1010)を持ち、前
記結合手段の第1の入力(1011)は、前記プロセッ
サを構成する物理的又は論理的に隣接する第1の隣接プ
ロセッサの前記結合手段の第2の出力(1014)に接
続され、前記結合手段の第1の出力(1013)は、該
結合手段と同じ記憶手段内にある前記第2のデータ保持
手段の入力(1016)と接続され、前記結合手段の第
2の入力(1012)は、前記プロセッサを構成する物
理的又は論理的に隣接する第2の隣接プロセッサの前記
第1のデータ保持手段の出力(1015)と接続され、
前記結合手段の第2の出力(1014)は、前記第2の
隣接プロセッサの前記結合手段の第1の入力(101
1)と接続され、前記状態変数の値によって、前記結合
手段の入力と出力の接続を変えることができるように
し、結合手段の状態変数の値により、プロセッサの接続
状態を変化させることができ、物理的又は論理的に離れ
た位置にあるプロセッサにデータを転送することがで
き、また、物理的又は論理的に連続したプロセッサ群の
間でデータをローテーションさせることを可能とするも
のである。
【0008】請求項2の発明は、請求項1の発明におい
て、前記プロセッサが物理的又は論理的に端点に存在
し、前記第1のデータ保持手段の出力(1015)と接
続すべき第1の隣接プロセッサの結合手段が存在しない
場合に、前記プロセッサの前記第1のデータ保持手段の
出力と該プロセッサの前記結合手段の第1の入力を接続
するようにし、端点にあるプロセッサにおいても、物理
的又は論理的に連続したプロセッサ群の中に含めること
ができ、プロセッサ群の間でデータをローテーションさ
せることを可能とするものである。
【0009】請求項3の発明は、請求項1又は2の発明
において、前記結合手段は、第1並びに第2の入力及び
出力として、それぞれに少くとも2つの入力(101
1,1012),(11011,11012)と、少く
とも2つの出力(1013,1014),(1101
3,11014)を持ち、前記結合手段の第1の入力
(1011,11011)及び第2の出力(1014,
11014)は、前記第1及び第2の隣接プロセッサの
前記結合手段の第2の出力(1014,11014)及
び第1の入力(1011,11011)とそれぞれ接続
し、前記第1のデータ保持手段は、出力を2つ持ち、該
第1のデータ保持手段の出力は、前記第1及び第2の隣
接プロセッサの結合手段の第2の入力(1012,11
012)と接続するようにし、結合手段の状態変数の値
により、プロセッサの接続状態を変化させることがで
き、物理的又は論理的に離れた位置にあるプロセッサに
データを双方向に転送することを可能とするものであ
る。
【0010】請求項4の発明は、1つ又は複数のデータ
を保持する第2のデータ保持手段(2003)及び結合
手段(2004)より成る1つ又は複数の記憶手段(2
005)と、データを保持する第1のデータ保持手段
(2002)より構成されるプロセッサ(2001)を
1次元又は多次元に接続するデータ処理装置において、
前記結合手段(2004)は、少なくとも3つの入力
(2011,2012,2013)と、少なくとも3つ
の出力(2014,2015,2016)と、入力と出
力の接続状態を決定するための状態変数(2010)を
持ち、前記結合手段の第2の入力(2012)及び第2
の出力(2015)は、前記プロセッサを構成する物理
的又は論理的に隣接する第1の隣接プロセッサの前記結
合手段の第1の出力(2014)及び第1の入力(20
11)とそれぞれ接続され、前記結合手段の第1の入力
(2011)及び第1の出力(2014)は、前記プロ
セッサを構成する物理的又は論理的に隣接する第2の隣
接プロセッサの前記結合手段の第2の出力(2015)
及び第2の入力(2012)とそれぞれ接続され、前記
結合手段の第3の出力(2016)は、該結合手段と同
じ記憶手段内にある第2のデータ保持手段の入力(20
18)と接続され、前記結合手段の第3の入力(201
3)は、第1のデータ保持手段の出力(2017)と接
続され、前記状態変数の値によって、前記結合手段の入
力と出力の接続を変えることができるようにし、結合手
段の状態変数の値により、プロセッサの接続状態を変化
させることができ、物理的又は論理的に離れた位置にあ
るプロセッサにデータを転送することができ、また、物
理的又は論理的に連続したプロセッサ群の間でデータを
ローテーションさせることを可能とするものである。
【0011】請求項5の発明は、1つ又は複数の第1の
レジスタ手段(3012)及び結合手段(3014)よ
り成る1つ又は複数の記憶手段(3016)と、メモリ
手段(3011)と、データ処理手段(3013)によ
り構成されるプロセッサ(3010)を1次元又は多次
元に接続するSIMD型の並列データ処理装置におい
て、前記メモリ手段の出力(30111)は、前記デー
タ処理手段の第1の入力(30136)に接続され、前
記第1のレジスタ手段の出力(30121)は、前記デ
ータ処理手段の第2の入力(30137)に接続され、
前記データ処理手段の第1の出力(30131)は、前
記メモリ手段の入力(30116)に接続され、前記結
合手段の第1の出力(30141)は、該結合手段と同
じ記憶手段内にある前記第1のレジスタ手段の第1の入
力(30126)に接続され、前記結合手段の第2の出
力(30142)は、物理的又は論理的に隣接する第2
の隣接プロセッサの前記結合手段の第1の入力(301
46)に接続され、前記データ処理手段の第2の出力
(30132)は、物理的又は論理的に隣接する第1の
隣接プロセッサの前記結合手段の第2の入力(3014
7)に接続され、前記データ処理手段の第4の出力(3
0314)は、前記結合手段の第3の入力(3014
8)に接続され、前記結合手段の第3の入力の値により
該結合手段の第1,第2の入力と第1,第2の出力の接
続を変えるようにし、結合手段の第3の入力の値によ
り、プロセッサ間の接続状態を変化させることができ、
物理的又は論理的に離れた位置にあるプロセッサにデー
タを転送することができ、また、物理的又は論理的に連
続したプロセッサ群の間でデータをローテーションさせ
ることを可能とするものである。
【0012】請求項6の発明は、請求項5の発明におい
て、前記プロセッサが物理的又は論理的に端点に存在
し、前記データ処理手段の第2の出力に接続すべき前記
第1の隣接プロセッサの前記結合手段が存在しない場合
に、前記データ処理手段の第2の出力と前記結合手段の
第1の入力を接続するようにし、端点にあるプロセッサ
においても、物理的又は論理的に連続したプロセッサ群
の中に含めることができ、プロセッサ群の間でデータを
ローテーションさせることを可能とするものである。
【0013】請求項7の発明は、請求項5又は6の発明
において、前記結合手段(3014)は、該結合手段の
第3の入力(30143)に接続された第2のレジスタ
手段(5011)を持ち、該第2のレジスタ手段は、前
記結合手段の第3の入力の値を保持し、該第2のレジス
タ手段のデータの値により、前記結合手段の第1,第2
の入力と第1,第2の出力の接続を変えるようにし、結
合手段の第2のレジスタの値により、プロセッサ間の接
続状態を変化させることができ、物理的又は論理的に離
れた位置にあるプロセッサにデータを転送することがで
き、また、物理的又は論理的に連続したプロセッサ群の
間でデータをローテーションさせることを可能とするも
のである。
【0014】請求項8の発明は、請求項5ないし7のい
ずれかの発明において、前記プロセッサ(3010)に
おいて、前記データ処理手段の第3の出力(6013
3)と、前記第1のレジスタ手段の第2の入力(601
27)を接続するようにし、データ処理手段から同じプ
ロセッサのレジスタ手段へデータを転送する際、結合手
段を通すことなく、転送することを可能とするものであ
る。
【0015】請求項9の発明は、請求項5ないし8のい
ずれかの発明において、前記プロセッサ(3010)
は、前記メモリ手段(3011)の入力(30116)
及び出力(30111)に代えて入出力ポート(701
11)を持ち、前記第1のレジスタ手段(3012)の
第1,第2の入力(30126,60127)及び出力
(30121)に代えて入出力ポート(70121)を
持ち、前記データ処理手段(3013)の第1,第2の
入力(30136,30137)及び第1,第2,第3
の出力(30131,30132,60133)に代え
て入出力ポート(70131)を持ち、前記各入出力ポ
ートと、前記結合手段(3014)の第1,第2の入力
(30146,30147)を、共通に利用される第1
のバス(7011)に接続するようにし、第1のバスを
介して、データ処理手段とメモリ手段,第1のレジスタ
手段,結合手段との間で、データの転送を行うことを可
能とするものである。
【0016】請求項10の発明は、請求項5ないし9の
いずれかの発明において、前記プロセッサ(3010)
の中に複数の記憶手段(3016)が存在するプロセッ
サにおいて、前記データ処理手段(3013)の第4の
出力(30134)と前記結合手段の第3の入力(30
148)を、共通に利用される第2のバス(8011)
に接続するようにし、第2のバスを介して、データ処理
手段と結合手段との間でデータの転送を行うことを可能
とするものである。
【0017】請求項11の発明は、請求項5ないし請求
項9のいずれかに記載のデータ処理装置を用いて第1の
レイヤm個のノードXi(1≦i≦m)と第2のレイヤ
n個のノードYj(1≦j≦n)が結合されたニューラ
ルネットの演算をする方法であって、連続する前記mと
前記nの大きい方の数字の個数(これをPとする)の前
記プロセッサを使用し、k(1≦k≦P)番目の前記プ
ロセッサの前記メモリ手段に、前記第1レイヤのノード
kの出力、又は該当するノードが存在しない場合には
0を格納し、かつ、前記第1のレイヤの各ノードX
i(1≦i≦m)と前記第2レイヤのk番目のノードY
kとの結合係数Wik(1≦i≦m)を、Wpk(pは(i
+k−1)をPで割った余り、但し0の場合はP)が各
前記プロセッサにより同時にアクセスできるアドレスに
格納し、又は該当する結合係数が存在しない場合には0
を格納し、前記データ処理手段の出力を右又は左にロー
テーションするように前記結合手段をセットすることに
より、前記ノードXの出力を、右又は左にローテーショ
ンしながら、各前記プロセッサ毎に前記ノードXの出力
と前記結合係数の積和演算を行って、前記ノードYの出
力を求めるようにし、第1レイヤのm個のノードA
i(1≦i≦m)と第2レイヤのn個のノードBj(1≦
j≦n)が結合されたニューラルネットにおいて、ノー
ドBj(1≦j≦n)の出力を求めることを可能とする
ものである。
【0018】請求項12の発明は、請求項5ないし請求
項9のいずれかに記載のデータ処理装置を用いて、n×
mの大きさの行列Aとm×l(エル)の大きさの行列Bの
積を演算する方法であって、連続する前記mと前記lの
大きい方の数字の個数(これをPとする)のプロセッサ
を使用し、k(1≦k≦P)番目の前記プロセッサの前
記メモリ手段に、前記行列Aのk列の要素aik(1≦i
≦n)、又は該当する該行列Aの要素がない場合には0
を、同じ行のデータは各前記プロセッサが同時にアクセ
スできるアドレスに格納し、かつ、前記行列Bのj列の
データbij(1≦i≦m)を、bpj(pは(i+j−
1)をPで割った余り、但し0の場合はP)が各前記プ
ロセッサによって同時にアクセスできるアドレスに格納
し、又は該当する行列Bの要素がない場合には0を格納
し、前記データ処理手段の出力を右又は左にローテーシ
ョンするように前記結合手段をセットして、前記行列A
のデータを右又は左にローテーションしながら、各前記
プロセッサ毎に前記行列Aと前記行列Bの要素の積和演
算を行って、前記行列Aと前記行列Bの積を求めるよう
にし、n×mとm×lの大きさの行列の積を求めること
を可能とするものである。
【0019】
【発明の実施の形態】
(請求項1の実施形態)この発明のデータ処理装置の第
1の実施形態を、図1を参照しながら説明する。この発
明のデータ処理装置の第1の実施形態は、データを保持
する第2のデータ保持手段(1003)及び結合手段
(1004)より構成される記憶手段(1005)と、
データを保持する第1のデータ保持手段(1002)よ
り構成されるプロセッサ(1001)を1次元配列状に
接続する。結合手段は、2つの入力(1011,101
2)と、2つの出力(1013,1014)と、2つの
状態を持つ状態変数(1010)を持ち、第1の入力
(1011)は、右のプロセッサの結合手段の第2の出
力(1014)に接続され、結合手段の第1の出力(1
013)は、第2のデータ保持手段の入力(1016)
と接続され、結合手段の第2の入力(1012)は、左
のプロセッサの第1のデータ保持手段の出力(101
5)と接続され、結合手段の第2の出力(1014)
は、左のプロセッサの結合手段の第1の入力(101
1)と接続される。状態変数が第1の状態の場合は、第
1の入力と第1の出力及び第2の入力と第2の出力が接
続され、状態変数が第2の状態の場合は、第1の入力と
第2の出力及び第2の入力と第1の出力が接続される。
【0020】図2は、結合手段の結合状態を示すもの
で、(A)が状態変数が第1の状態であり、(B)が状
態変数が第2の状態である。プロセッサS1及びS4の
結合手段K1及びK4の状態変数を第1の状態とし、プ
ロセッサS2及びS3の結合手段K2及びK3の状態変
数を第2の状態とすると、プロセッサS1の第1のデー
タ保持手段Y1の出力は、プロセッサS2の第2のデー
タ保持手段X2の入力と接続され、プロセッサS2の第
1のデータ保持手段Y2の出力は、プロセッサS3の第
2のデータ保持手段X3の入力と接続され、プロセッサ
S3の第1のデータ保持手段Y3の出力は、プロセッサ
S1の第2のデータ保持手段X1の入力と接続される。
すなわち、プロセッサS1,S2,S3は、リング状に
接続され、データは左から右にローテーションされるこ
とになる。この実施形態ではプロセッサの数は4つであ
るが、さらに多数のプロセッサにおいても同様である。
【0021】図3及び図4は、図1の実施例が電子回路
で構成され、入力(1011,1012)と出力(10
13,1014)がそれぞれ2本の線で構成される場合
の結合手段の実施例を示す。これらの実施例ではフリッ
プフロップが状態変数に相当する。フリップフロップ
(F.F.)の出力が“1”すなわち、第1の状態の場合
には、第1の入力(1011)と第1の出力(101
3)及び、第2の入力(1012)と第2の出力(10
14)が接続され、フリップフロップの出力が“0”す
なわち、第2の状態の場合には、第1の入力(101
1)と第2の出力(1014)及び、第2の入力(10
12)と第1の出力(1013)が接続される。
【0022】この発明のデータ処理装置の第2の実施形
態を、図5を参照しながら説明する。なお、図1と同一
の構成部分には同一の符号を付してその説明を省略す
る。この発明のデータ処理装置の第2の実施形態は、図
1に示す第1の実施形態に比して、プロセッサ(100
1)を2次元に配置したデータ処理装置であり、各プロ
セッサに第2のデータ保持手段(9003)が追加さ
れ、この入力(9016)は、結合手段の第1の出力
(9013)と接続される。また、縦方向のプロセッサ
の接続のため、第1のデータ保持出力(9015)は、
結合手段の第2の入力(9012)と接続され、結合手
段の第2の出力(9014)は、上のプロセッサの結合
手段の第1の入力(9011)と接続される。その結
果、結合手段は右・左・上・下のプロセッサの結合手段
と接続される。結合手段の入力と出力の接続の種類は4
×3×2=24通りであり、状態変数の状態も24あ
る。この実施形態では、横のプロセッサの数は4つ、縦
のプロセッサの数は3つであるが、さらに多数のプロセ
ッサにおいても同様である。また、この実施形態では、
プロセッサは2次元に配列されているが、3次元以上の
場合でも同様である。
【0023】(請求項2の実施形態)この発明のデータ
処理装置の一実施形態を、図6を参照しながら説明す
る。なお、図1と同一の構成部分には同一の符号を付し
てその説明を省略する。この発明のデータ処理装置のこ
の実施形態は、図1に示す実施形態に比して、端点にあ
るプロセッサS1及びS4が存在するという点、すなわ
ち、プロセッサS1の結合手段K1の第2の出力(10
14)及び第2の入力(1012)がなく、プロセッサ
S4の第1のデータ保持手段Y4の出力(1015)が
結合手段K4の第1の入力(1011)と接続されてい
る点が異なる。プロセッサS1の結合手段K1の状態変
数を第1の状態とし、プロセッサS2,S3,S4の結
合手段K2,K3,K4の状態変数を第2の状態とする
と、プロセッサS1の第1のデータ保持手段Y1の出力
は、プロセッサS2の第2のデータ保持手段X2の入力
と接続され、プロセッサS2の第1のデータ保持手段Y
2の出力は、プロセッサS3の第2のデータ保持手段X
3の入力と接続され、プロセッサS2の第1のデータ保
持手段Y3の出力は、プロセッサS3の第2のデータ保
持手段X4の入力と接続され、プロセッサS3の第1の
データ保持手段Y4の出力は、プロセッサS1の第2の
データ保持手段X1の入力と接続される。すなわち、プ
ロセッサS1,S2,S3,S4はリング状に接続さ
れ、データは左から右にローテーションされることにな
る。また、すべてのプロセッサの結合手段の状態変数を
第1の状態とすると、プロセッサS1の第1のデータ保
持手段Y1の出力は、プロセッサS2の第2のデータ保
持手段X1の入力と接続され、プロセッサS2の第1の
データ保持手段Y2の出力は、プロセッサS3の第2の
データ保持手段X2の入力と接続され、プロセッサS2
の第1のデータ保持手段Y3の出力は、プロセッサS3
の第2のデータ保持手段X3の入力と接続され、プロセ
ッサS3の第1のデータ保持手段Y4の出力は、プロセ
ッサS1の第2のデータ保持手段X4の入力と接続され
る。すなわち、それぞれのプロセッサの第1のデータ保
持手段は、同じプロセッサの第2のデータ保持手段と接
続される。また、この実施形態では、プロセッサの数は
4つであるが、さらに多数のプロセッサにおいても同様
である。さらに、この実施形態では、プロセッサは1次
元に配列されているが、2次元以上の場合でも同様であ
る。
【0024】(請求項3の実施形態)この発明のデータ
処理装置の一実施形態を、図7を参照しながら説明す
る。なお、図1及び図6と同一の構成部分には同一の符
号を付してその説明を省略する。この発明のデータ処理
装置のこの実施形態は、図6に示す実施形態に比して、
各プロセッサに第2のデータ保持手段(11003)が
追加され、第1のデータ保持手段の出力(11015)
は、左のプロセッサの結合手段の第2の入力(1101
2)と接続され、結合手段の第1の入力(11011)
は、左のプロセッサの結合手段の第2の出力(1101
4)と接続され、結合手段の第1の出力(11013)
は、第2のデータ保持手段(11003)の入力(11
016)に接続されている。また、プロセッサS1の第
1のデータ保持手段Y1の出力(11015)は、プロ
セッサS1の結合手段K1の第1の入力(11011)
と接続されている。結合手段の入力が4つあるので、そ
れぞれを接続する種類は4×3×2=24通りあり、状
態変数も24の状態を持つ。ここで、プロセッサS2,
S3において、1011と1014,1012と101
3,11011と11014,11012と11013
が接続され、プロセッサS1において、1011と10
13,11011と11014,11012と1101
3が接続され、プロセッサS4において、1011と1
014,1012と1013,11011と11013
が接続されると、第1のデータ保持手段と第2のデータ
保持手段(1003)は、右方向にデータをローテーシ
ョンしながら転送することができ、第1のデータ保持手
段と第2のデータ保持手段(11003)は、左方向に
データをローテーションしながら転送することができ
る。
【0025】(請求項4の実施形態)この発明のデータ
処理装置の第1の実施形態を、図8を参照しながら説明
する。この発明のデータ処理装置のこの実施形態は、第
2のデータ保持手段(2003)及び結合手段(200
4)より構成される記憶手段(2005)と、第1のデ
ータ保持手段(2002)より構成されるプロセッサ
(2001)を1次元配列状に接続する。結合手段は、
3つの入力,3つの出力,6つの状態を持つ状態変数
(2010)を持ち、結合手段の第2の入力(201
2)及び第2の出力(2015)は、右のプロセッサの
結合手段の第1の出力(2014)及び第1の入力(2
011)とそれぞれ接続され、結合手段の第1の入力
(2011)及び第1の出力(2014)は、左のプロ
セッサの結合手段の第2の出力(2015)及び第2の
入力(2012)とそれぞれ接続され、結合手段の第3
の出力(2016)は、第2のデータ保持手段の入力
(2018)と接続され、結合手段の第3の入力(20
13)は、第1のデータ保持手段の出力(2017)と
接続される。状態変数が第1の状態の場合は、第1の入
力(2011)と第1の出力(2014)及び第2の入
力(2012)と第2の出力(2015)及び第3の入
力(2013)と第3の出力(2016)が接続され、
状態変数が第2の状態の場合は、第1の入力と第1の出
力及び第2の入力と第3の出力及び第3の入力と第2の
出力が接続され、状態変数が第3の状態の場合は、第1
の入力と第2の出力及び第2の入力と第1の出力及び第
3の入力と第3の出力が接続され、状態変数が第4の状
態の場合は、第1の入力と第2の出力及び第2の入力と
第3の出力及び第3の入力と第1の出力が接続され、状
態変数が第5の状態の場合は、第1の入力と第3の出力
及び第2の入力と第1の出力及び第3の入力と第2の出
力が接続され、状態変数が第6の状態の場合は、第1の
入力と第3の出力及び第2の入力と第2の出力及び第3
の入力と第1の出力が接続される。
【0026】すべてのプロセッサの結合手段の状態変数
を第1の状態又は第3の状態とすると、プロセッサS1
の第1のデータ保持手段Y1の出力は、同じプロセッサ
の第2のデータ保持手段X1の入力に接続され、プロセ
ッサS2の第1のデータ保持手段Y2の出力は、同じプ
ロセッサの第2のデータ保持手段X2の入力に接続さ
れ、プロセッサS3の第1のデータ保持手段Y3の出力
は、同じプロセッサの第2のデータ保持手段X3の入力
に接続され、プロセッサS4の第1のデータ保持手段Y
4の出力は、同じプロセッサの第2のデータ保持手段X
4の入力に接続される。すなわち、それぞれのプロセッ
サの第1のデータ保持手段は、同じプロセッサの第2の
データ保持手段と接続される。
【0027】プロセッサS1の結合手段の状態変数を第
2状態に、プロセッサS2,S3の結合手段の状態変数
を第5の状態に、プロセッサS4の結合手段の状態変数
を第6の状態にすると、プロセッサS1の第1のデータ
保持手段Y1の出力は、プロセッサS2の第2のデータ
保持手段X2の入力に接続され、プロセッサS2の第1
のデータ保持手段Y2の出力は、プロセッサS3の第2
のデータ保持手段X3の入力に接続され、プロセッサS
3の第1のデータ保持手段Y3の出力は、プロセッサS
4の第2のデータ保持手段X4の入力に接続され、プロ
セッサS4の第1のデータ保持手段Y4の出力は、プロ
セッサS1の第2のデータ保持手段X1の入力に接続さ
れる。すなわち、プロセッサS1,S2,S3,S4は
リング状に接続され、データは左から右にローテーショ
ンされることになる。
【0028】プロセッサS1の結合手段の状態変数を第
2状態に、プロセッサS2,S3の結合手段の状態変数
を第4の状態に、プロセッサS4の結合手段の状態変数
を第6の状態にすると、プロセッサS1の第1のデータ
保持手段Y1の出力は、プロセッサS4の第2のデータ
保持手段X4の入力に接続され、プロセッサS4の第1
のデータ保持手段Y4の出力は、プロセッサS3の第2
のデータ保持手段X3の入力に接続され、プロセッサS
3の第1のデータ保持手段Y3の出力は、プロセッサS
2の第2のデータ保持手段X2の入力に接続され、プロ
セッサS2の第1のデータ保持手段Y2の出力は、プロ
セッサS1の第2のデータ保持手段X1の入力に接続さ
れる。すなわち、プロセッサS1,S2,S3,S4は
リング状に接続され、データは右から左にローテーショ
ンされることになる。この実施形態では、プロセッサの
数は4つであるが、さらに多数のプロセッサにおいても
同様である。
【0029】図9及び図10は、図8の実施形態が電子
回路で構成され、入力(2011,2012,201
3)と出力(2014,2015,2016)がそれぞ
れ2本の線で構成される場合の結合手段の異なる実施例
をそれぞれ示す。これらの実施例では、フリップフロッ
プ(F.F.)が状態変数に相当する。フリップフロップ
の出力が“000”、すなわち、第1の状態の場合に
は、第1の入力(2011)と第1の出力(201
4),第2の入力(2012)と第2の出力(201
5),第3の入力(2013)と第3の出力(201
6)が接続される。フリップフロップの出力が“10
1”、すなわち、第2の状態の場合には、第1の入力
(2011)と第1の出力(2014),第2の入力
(2012)と第3の出力(2016),第3の入力
(2012)と第2の出力(2015)が接続される。
フリップフロップの出力が“100”、すなわち、第3
の状態の場合には、第1の入力(2011)と第2の出
力(2015),第2の入力(2012)と第1の出力
(2014),第3の入力(2013)と第3の出力
(2016)が接続される。フリップフロップの出力が
“001”、すなわち第4の状態の場合には、第1の入
力(2011)と第2の出力(2015),第2の入力
(2012)と第3の出力(2016),第3の入力
(2013)と第1の出力(2014)が接続される。
フリップフロップの出力が“010”、すなわち第5の
状態の場合には、第1の入力(2011)と第3の出力
(2016),第2の入力(2012)と第1の出力
(2014),第3の入力(2013)と第2の出力
(2015)が接続される。フリップフロップの出力が
“011”、すなわち第6の状態の場合には、第1の入
力(2011)と第3の出力(2016),第2の入力
(2012)と第2の出力(2015),第3の入力
(2013)と第1の出力(2014)が接続される。
【0030】この発明のデータ処理装置の第2の実施形
態を、図11を参照しながら説明する。なお、図8と同
一の構成部分には、同一の符号を付してその説明を省略
する。この発明のデータ処理装置のこの実施形態は、図
8に示す実施形態に比して、プロセッサを2次元に配置
したデータ処理装置である。そのため、縦方向のプロセ
ッサの接続のため、結合手段の第1の入力(1201
1)及び第1の出力(12014)は、上のプロセッサ
の結合手段の第2の出力(12015)及び第2の入力
(12012)と接続され、結合手段の第2の入力(1
2012)及び第2の出力(12015)は、下のプロ
セッサの結合手段の第1の出力(12014)及び第1
の入力(12011)と接続されている。すなわち、結
合手段は、右・左・上・下のプロセッサの結合手段と相
互に接続される。そのため、結合手段の入力と出力の接
続の種類は、5×4×3×2=120通りあり、状態変
数の状態も120ある。この実施形態では、横のプロセ
ッサの数は4つ、縦のプロセッサの数は3つであるが、
さらに多数のプロセッサにおいても同様である。また、
この実施形態では、プロセッサは2次元に配列されてい
るが、3次元以上の場合でも同様である。
【0031】(請求項5の実施形態)この発明のデータ
処理装置の一実施形態を、図12を参照しながら説明す
る。この発明のデータ処理装置のこの実施形態は、第1
のレジスタ手段(3012)及び結合手段(3014)
より構成される記憶手段(3016)と、メモリ手段
(3011)と、データ処理手段(3013)により構
成されるプロセッサ(3010)を1次元配列状に接続
したSIMD型のデータ処理装置である。これらのプロ
セッサの制御手段(3015)からのグローバルバス
(30151)は、各プロセッサのデータ処理手段に接
続され、各プロセッサへ命令を供給したり、各プロセッ
サのメモリに格納されているデータを読み書きする。メ
モリ手段の出力(30111)は、データ処理手段の第
1の入力(30136)に接続され、第1のレジスタ手
段の出力(30121)は、データ処理手段の第2の入
力(30137)に接続され、データ処理手段の第1の
出力(30131)は、メモリ手段の入力(3011
6)に接続され、結合手段の第1の出力(30141)
は、第1のレジスタ手段の第1の入力(30126)に
接続され、結合手段の第2の出力(30142)は、左
のプロセッサの結合手段の第1の入力(30146)に
接続され、データ処理手段の第2の出力(30132)
は、右のプロセッサの結合手段の第2の入力(3014
7)に接続され、データ処理手段の第4の出力(301
34)は、結合手段の第3の入力(30148)に接続
される。
【0032】結合手段XFの第3の入力の値が“0”の
場合、第1の入力と第1の出力及び第2の入力と第2の
出力が接続され、第3の入力の値が“1”の場合、第1
の入力と第2の出力及び第2の入力と第1の出力が接続
される。すべてのプロセッサにおいて結合手段XFの第
3の入力を“1”にすると、結合手段XFに接続されて
いるデータ処理手段Pの第2の出力は、右のプロセッサ
のレジスタ手段Xに接続され、データ処理手段Pから出
力されるデータを右のプロセッサに転送することができ
る。なお、図12において、隣接するプロセッサとの接
続を左右反対にすれば、上述のデータの転送を左右反対
にすることができる。この実施形態では、プロセッサの
数が3つであるが、さらに多数のプロセッサにおいても
同様である。また、この実施形態では、プロセッサは1
次元に配列されているが、2次元以上の場合でも同様で
ある。
【0033】(請求項6の実施形態)この発明のデータ
処理装置の一実施形態を、図13を参照しながら説明す
る。なお、図12と同一の構成部分には同一の符号を付
してその説明を省略する。図13に示す実施形態は、図
12に示す請求項5の実施形態において、右に隣接する
プロセッサが存在しない場合に、データ処理手段の第2
の出力(30132)と結合手段の第1の入力(301
46)を接続するデータ処理装置である。すべてのプロ
セッサにおいて結合手段XFの第3の入力(3014
8)を“0”にすると、結合手段XFに接続されている
データ処理手段Pの第2の出力は、同じプロセッサの第
1のレジスタ手段Xに接続される。すなわち、データ処
理手段Pから出力されるデータを同じプロセッサの第1
のレジスタ手段に転送することができる。プロセッサS
1において、結合手段XF1の第3の入力を“0”に
し、プロセッサS2,S3において結合手段のXF2,
XF3の第3の入力を“1”にすると、結合手段XF1
に接続されているデータ処理手段P1の第2の出力は、
プロセッサS2のレジスタ手段X2に接続され、結合手
段XF2に接続されているデータ処理手段P2の第2の
出力は、プロセッサS3のレジスタ手段X3に接続さ
れ、結合手段XF3に接続されているデータ処理手段P
3の第2の出力は、プロセッサS1のレジスタ手段X1
に接続される。すなわち、データ処理手段Pから出力さ
れるデータを左から右にローテーションすることができ
る。なお、図13において、隣接するプロセッサとの接
続を左右反対にすれば、上述のデータの転送を右から左
にすることができる。この実施形態では、プロセッサの
数が3つであるが、さらに多数のプロセッサにおいても
同様である。また、この実施形態では、プロセッサは1
次元に配列されているが、2次元以上の場合でも同様で
ある。
【0034】(請求項7の実施形態)この発明のデータ
処理装置の一実施形態を、図14を参照しながら説明す
る。なお、図12及び図13と同一の構成部分には同一
の符号を付してその説明を省略する。図14に示すこの
実施形態は、図13に示す請求項6の実施形態におい
て、結合手段の第3の入力(30148)に接続された
第2のレジスタ手段(5011)を持つデータ処理装置
である。あるタイミングの時に、データ処理手段の第4
の出力(30134)の値が、第2のレジスタ手段に書
き込まれ、第2のレジスタ手段の値が“0”の場合、第
1の入力と第1の出力及び第2の入力と第2の出力が接
続され、第2のレジスタ手段の値が“1”の場合、第1
の入力と第2の出力及び第2の入力と第1の出力が接続
される。これによって、請求項3の実施形態と同等の効
果を得ることができる。この実施形態ではプロセッサの
数が3つであるが、さらに多数のプロセッサを用いるよ
うにしたものにおいても同様である。また、この実施形
態では、プロセッサは1次元に配列されているが、2次
元以上の場合でも同様である。
【0035】(請求項8の実施形態)この発明のデータ
処理装置の一実施形態を、図15を参照しながら説明す
る。なお、図12ないし図14と同一の構成部分には同
一の符号を付してその説明を省略する。図15に示すこ
の実施形態は、図14に示す請求項7の実施形態におい
て、データ処理手段の第3の出力(60133)を第1
のレジスタ手段の第2の入力(60127)に接続した
データ処理装置である。図14に示した請求項7の実施
形態では、データ処理手段の出力を同じプロセッサの第
1のレジスタ手段に書き込むためには、あらかじめ、そ
のレジスタ手段に接続されている結合手段の第2のレジ
スタ手段の値を“1”にしなければならなかった。しか
し、データをプロセッサ間でローテーションしながら演
算を行なう場合に、逐一、第2のレジスタ手段の値を変
更しなければならないので、処理のオーバーヘッドとな
る。そこで、データ処理手段の出力を同じプロセッサの
第1のレジスタ手段に書き込むための手段を用意する。
この実施形態ではプロセッサの数が3つであるが、さら
に多数のプロセッサにおいても同様である。また、この
実施形態では、プロセッサは1次元に配列されている
が、2次元以上の場合でも同様である。
【0036】(請求項9の実施形態)この発明のデータ
処理装置の一実施形態を、図16を参照しながら説明す
る。なお、図12ないし図15と同一の構成部分には同
一の符号を付してその説明を省略する。図16に示すこ
の実施形態は、図15に示す請求項8の実施形態におい
て、メモリ手段(3011)の入力(30116)及び
出力(30111)の代りに、入出力ポート(7011
1)を持ち、第1のレジスタ手段(3012)の第1,
第2の入力(30126,60127)及び出力(30
121)の代りに、入出力ポート(70121)を持
ち、データ処理手段(3013)の第1,第2の入力
(30136,30137)及び第1,第2,第3の出
力(30131,30132,60133)の代りに、
入出力ポート(70131)を持ち、これらの入出力ポ
ートと、結合手段(3014)の第1,第2の入力(3
0146,30147)が、共通に利用される第1のバ
ス(7011)に接続されるデータ処理装置である。デ
ータ処理手段と、メモリ手段,第1のレジスタ手段,結
合手段とのデータの転送は、第1のバスを通して行なわ
れる。図15に示す請求項8の実施形態に比べ、共通に
利用される第1のバスを設けることにより、プロセッサ
の回路全体が簡素化される。この実施形態ではプロセッ
サの数が3つであるが、さらに多数のプロセッサにおい
ても同様である。また、この実施形態では、プロセッサ
は1次元に配列されているが、2次元以上の場合でも同
様である。
【0037】(請求項10の実施形態)この発明のデー
タ処理装置の一実施形態を、図17を参照しながら説明
する。なお、図12ないし図16と同一の構成部分には
同一の符号を付してその説明を省略する。図17に示す
この実施形態は、図16に示す請求項9の実施形態に比
べ、2つの記憶手段(3016)があり、データ処理手
段の第4の出力(30134)と、結合手段(301
4)の第3の入力(30148)が共通に利用される第
2のバス(8011)に接続されるデータ処理装置であ
る。図16に示す実施形態では、1つのプロセッサ内に
複数の結合手段が存在する場合、データ処理手段の第4
の出力が複数必要になり、回路構成が複雑になる。そこ
で、データ処理手段の第4の出力と、結合手段の第3の
入力を共通に利用される第2のバスに接続する。この実
施形態ではプロセッサの数が3つであるが、さらに多数
のプロセッサにおいても同様である。また、この実施形
態では、プロセッサは1次元に配列されているが、2次
元以上の場合でも同様である。
【0038】図18は、機能メモリのプロセッサ部にこ
の発明を適用した実施例を示す図である。これは、図2
9に示した機能メモリのプロセッサ部にXレジスタ(1
4001)及びYレジスタ(14002)に接続される
結合手段(14006,14007)を組み込んだもの
である。図19は、図18で示した機能メモリのプロセ
ッサ部の結合手段の実施例を示す。“A”,“B”,
“C”,“D”,“E”は、図18の左から2番目のプ
ロセッサの結合手段“(XF1,YF1)に示した。
“A”,“B”,“C”,“D”,“E”に相当する。
フリップフロップ(F.F.)の値が“0”の場合は、
“A”と“D”及び“C”と“B”が接続され、フリッ
プフロップの値が“1”の場合は、“A”と“B”及び
“C”と“D”が接続される。ここで、XF0からXF
4のフリップフロップを“0”に、XF5のフリップフ
ロップを“1”に設定すると、データを左方向にローテ
ーションさせることができる。また、YF1からYF5
のフリップフロップを“0”に、YF0のフリップフロ
ップを“1”に設定すると、データを右方向にローテー
ションさせることができる。図18の実施形態ではプロ
セッサの数が6つであるが、さらに多数のプロセッサに
おいても同様である。また、この実施形態では、プロセ
ッサは1次元に配列されているが、2次元以上の場合で
も同様である。
【0039】(請求項11の実施形態)本発明によるニ
ューラルネットの演算を行なうデータ演算処理方法の一
実施形態を図20のフローチャートに示す。ニューラル
ネットは、図21に示すように一般的に2つのレイヤが
全結合された構造を取る。通常は、2層だけでなく3層
以上の構造を用いるが、ここでは簡単のために2層の図
を示す。このニューラルネットにおける演算は一般的に
以下の式により表現される。
【0040】
【数1】
【0041】ここで、yjは第2のレイヤのノードjの
出力,χiは第1のレイヤのノードiの出力,Wijはノ
ードiからのノードjへの重み係数である。図21にお
いて、(a)は、第1レイヤと第2レイヤのノード数が
同一である場合、(b)は、第1レイヤの方が第2レイ
ヤよりもノード数が少ない、(c)は、第1レイヤの方
が第2レイヤよりもノード数が多い場合を示す。ここで
は、式(1)に示した演算の内、積和演算の部分、すな
わち、
【0042】
【数2】
【0043】についての演算方法を示す。以下に図20
を参照しながらフローチャートを説明する。ここでは、
第1レイヤのノード数m,第2のレイヤのノード数nと
し、nとmの大きい方の数字の個数(これをPとする)
の連続したプロセッサを用いて演算を行なう。ステップ
S2001において、k(1≦k≦P)番目のプロセッ
サのメモリには第1レイヤのk番目のノードXkの出力
を各プロセッサが同時にアクセスできるアドレスに格納
する。もし、該当する要素が存在しない場合には0を格
納する。ステップS2002において、k(1≦k≦
P)番目のプロセッサのメモリには第1レイヤの各k番
目のノードXi(1≦i≦n)と第2レイヤの各k番目
のノードYkの結合係数Wik(1≦i≦n)をWpk(p
は(i+k−1)をPで割った余り、但し0の場合は
P)が各プロセッサにより同時にアクセスできるアドレ
スに格納する。もし、該当する結合係数が存在しない場
合には0を格納する。ステップS2003において、第
1レイヤの出力がローテーションして各プロセッサをひ
とまわりしたかチェックを行ない、“NO”と判断され
た場合にはステップS2004を実行する。ステップS
2004において、データ処理手段の出力が同じプロセ
ッサ内のメモリに書き込めるように結合手段をセットす
る。ステップS2005において、第1レイヤの出力と
結合係数の積を各プロセッサで求め、結果をメモリに格
納する。ステップS2006において、データ処理手段
の出力が右にローテーションするように結合手段をセッ
トする。ステップS2007において、第1レイヤの出
力を右にローテーションさせる。もし、ステップS20
03において、“YES”と判断された場合にはステッ
プS2008を実行する。ステップS2008におい
て、求めた積を各プロセッサ毎に足し、第2レイヤの各
ノードの出力を求める。以上の処理により、行列Aと行
列Bの積を求めることができる。
【0044】図22に図21(a)に示すニューラルネ
ットにおける演算状況を示す。ここでは、0から3まで
の4つのプロセッサを持つSIMD型データ処理装置を
用い、右から左にローテーションしながらデータを転送
できるようにしておく。左に示した、AからKはメモリ
のアドレスを示す。図22において、(1)は、第1レ
イヤの出力χiとノード間の重みデータWijをメモリに
格納した状態を示す。(2)は、アドレスAとアドレス
Bの積を求め、それをアドレスFに格納している状態を
示す。(3)は、アドレスAのデータを左にローテーシ
ョンした状態を示す。(4)は、アドレスAとアドレス
Cのデータの積を求め、それをアドレスGに格納してい
る状態を示す。(5)は、アドレスAのデータを左にロ
ーテーションした状態を示す。(6)は、アドレスAと
アドレスDのデータの積を求め、それをアドレスHに格
納している状態を示す。(7)は、アドレスAのデータ
を左にローテーションした状態を示す。(8)は、アド
レスAとアドレスEのデータの積を求め、それをアドレ
スIに格納している状態を示す。最後にアドレスFから
アドレスIの内容を足せば、
【0045】
【数3】
【0046】の演算を行なうことができる。図23に図
21(c)に示すニューラルネットにおける演算状況を
示す。図22に比べ、Wijを格納する方法が異なるのみ
で、演算方法・条件等は、図22の場合と同様である。
この場合には、プロセッサP0及びP1にWijを格納
し、上述した演算を実行すると、プロセッサP0及びP
1に結果が得られる。図24に図21(b)に示すニュ
ーラルネットにおける演算状況を示す。図22に比べ、
χi,Wijを格納する方法が異なるのみで、演算方法・
条件等は、図22の場合と同様である。この場合には、
プロセッサP0及びP1にχiを、プロセッサP0から
P4にWij格納し、上述した演算を実行すると、プロセ
ッサP0からP4に結果が得られる。
【0047】(請求項12の実施形態)この発明による
2つの行列の積を行なうデータ演算処理方法の一実施形
態を図25のフローチャートに示す。以下に、図25を
参照しながらフローチャートの説明をする。ここでは、
行列Aの大きさはn×m、行列Bの大きさはm×l(エ
ル)とし、mとlの大きい方の数字の個数(これをPと
する)の連続したプロセッサを用いて演算を行なう。ス
テップS2101において、k(1≦k≦P)番目のプ
ロセッサのメモリには行列Aのk列の要素aik(1≦i
≦n)を同じ行のデータは各プロセッサが同時にアクセ
スできるアドレスに格納する。もし、該当する要素が存
在しない場合には0を格納する。ステップS2102に
おいて、k(1≦k≦P)番目のプロセッサのメモリに
は行列Bのk列の要素bik(1≦i≦m)を、bpk(p
は(i+k−1)をPで割った余り、但し0の場合は
P)が各プロセッサにより同時にアクセスできるアドレ
スに格納する。もし、該当する要素が存在しない場合に
は0を格納する。ステップS2103において、指定行
を第1とする。ステップS2104において、行列のす
べての行の演算が終了したかチェックを行ない、“N
O”と判断された場合にはステップS2105を実行す
る。ステップS2105において、行列Aの指定行の要
素がローテーションして各プロセッサをひとまわりした
かチェックを行ない、“NO”と判断された場合にはス
テップS2106を実行する。ステップS2106にお
いて、データ処理手段の出力が同じプロセッサ内のメモ
リに書き込めるように結合手段をセットする。ステップ
S2107において、行列Aの指定行の要素と行列Bの
各要素の積を各プロセッサで求め、結果をメモリに格納
する。ステップS2108において、データ処理手段の
出力が右にローテーションするように結合手段をセット
する。ステップS2109において、行列Aの指定行を
右にローテーションさせる。もし、ステップS2105
において、“YES”と判断された場合にはステップS
2110を実行する。ステップS2110において、指
定行を次の行とし、ステップS2104を実行する。も
し、ステップS2105において、“YES”と判断さ
れた場合にはステップS2111を実行する。ステップ
S2111において、求めた積から行列Aと行列Bの積
の行列の各要素を求める。以上の処理により、行列Aと
行列Bの積を求めることができる。
【0048】図26に3×3の行列A,Bの積を求める
演算状況を示す。ここでは、0から2までの3つのプロ
セッサを持つSIMD型データ処理装置を用い、右から
左にローテーションしながらデータを転送できるように
しておく。左に示した、AからQはメモリのアドレスを
示す。図26において、(1)は、行列A,Bの各要素
をメモリに格納した状態を示す。(2)は、アドレスA
とアドレスDのデータの積を求めそれをアドレスGに、
アドレスBとアドレスEのデータの積を求めそれをアド
レスHに、アドレスCとアドレスFのデータの積を求め
それをアドレスIに格納している状態を示す。(3)
は、アドレスA,B,Cのデータを左にローテーション
した状態を示す。(4)は、アドレスAとアドレスDの
データの積を求めそれをアドレスJに、アドレスBとア
ドレスEのデータの積を求めそれをアドレスKに、アド
レスCとアドレスFのデータの積を求めそれをアドレス
Lに格納している状態を示す。(5)は、アドレスA,
B,Cのデータを左にローテーションした状態を示す。
(6)は、アドレスAとアドレスDのデータの積を求め
それをアドレスMに、アドレスBとアドレスEのデータ
の積を求めそれをアドレスNに、アドレスCとアドレス
Fのデータの積を求めそれをアドレスOに格納している
状態を示す。最後にアドレスG,J,M及び、H,K,
N及び、I,L,Oをそれぞれ足せば、行列AとBの積
を求めることができる。
【0049】
【発明の効果】請求項1ないし請求項10に記載のデー
タ処理装置によれば、物理的又は論理的に離れた位置に
あるプロセッサに効率良くデータを転送することができ
る。請求項1ないし請求項10に記載のデータ処理装置
によれば、物理的又は論理的に連続したプロセッサ群の
間で効率良くデータをローテーションしながら転送する
ことができる。請求項1ないし請求項10に記載のデー
タ処理装置によれば、物理的又は論理的に連続したプロ
セッサ群の間でデータをローテーションしながら転送す
ることができるので、複数の行列の積など、多数の積和
演算を複数組同時に効率良く処理することができる。
【0050】請求項2又は、請求項6に記載のデータ処
理装置によれば、データ処理装置の端にあるプロセッサ
においても、物理的又は論理的に連続したプロセッサ群
の中に含めることができ、プロセッサ群の間でデータを
ローテーションしながら転送することができるので、プ
ロセッサを有効に活用することができる。請求項3又
は、請求項4に記載のデータ処理装置によれば、物理的
又は論理的に離れたプロセッサ間で効率良くデータを双
方向に転送することができる。
【0051】請求項7に記載のデータ処理装置によれ
ば、結合手段を介して第1のレジスタ手段にデータを転
送する際、データ処理手段の第4の出力に結合手段の接
続を決定するための出力をする必要がなく、あらかじめ
データ処理手段の第4の出力をとおして、結合手段の第
2のレジスタ手段にデータを格納しておけばよく、デー
タ処理手段の構成がより単純化することができる。請求
項8に記載のデータ処理装置によれば、自分自身の第1
のレジスタ手段にデータを格納する際、わざわざ結合手
段を通す必要がないので、結合手段の接続状態を変更す
ることなく、データを転送することができ、効率よくデ
ータを処理することができる。
【0052】請求項9に記載のデータ処理装置によれ
ば、メモリ手段,第1のレジスタ手段,データ処理手段
における入出力,及び、結合手段の入力が共通に利用さ
れる第1のバスによって接続され、データの転送を行な
うことにより、プロセッサの構成をより単純化すること
ができる。請求項10に記載のデータ処理手段によれ
ば、1つのプロセッサ内に複数の結合手段が存在する場
合、結合手段の第3の入力及びデータ処理手段の第4の
出力を共通に利用される第2のバスによって接続され、
データの転送を行なうことにより、プロセッサの構成を
より単純化することができる。
【0053】請求項11に記載のデータ演算処理方法に
よれば、複数のプロセッサを使って、ニューラルネット
の演算を効率的に行なうことができ、また、ニューラル
ネットの演算を幾つか同時に実施することができる。請
求項12に記載のデータ演算処理方法によれば、複数の
プロセッサを使って、2つの行列の積を効率的に求める
ことができ、また、行列の積を幾つか同時に実施するこ
とができる。
【図面の簡単な説明】
【図1】本発明の請求項1に基づくデータ処理装置の第
1の実施形態を示す図である。
【図2】図1において用いられている結合手段の結合状
態を示す図で、状態変数によって(A)及び(B)の状
態をとることを示すものである。
【図3】図1において用いられている結合手段の第1の
実施例を示す図である。
【図4】図1において用いられている結合手段の第2の
実施例を示す図である。
【図5】本発明の請求項1に基づくデータ処理装置の第
2の実施形態を示す図である。
【図6】本発明の請求項2に基づくデータ処理装置の実
施形態を示す図である。
【図7】本発明の請求項3に基づくデータ処理装置の実
施形態を示す図である。
【図8】本発明の請求項4に基づくデータ処理装置の第
1の実施形態を示す図である。
【図9】図8において用いられている結合手段の第1の
実施例を示す図である。
【図10】図8において用いられている結合手段の第2
の実施例を示す図である。
【図11】本発明の請求項4に基づくデータ処理装置の
第2の実施形態を示す図である。
【図12】本発明の請求項5に基づくデータ処理装置の
実施形態を示す図である。
【図13】本発明の請求項6に基づくデータ処理装置の
実施形態を示す図である。
【図14】本発明の請求項7に基づくデータ処理装置の
実施形態を示す図である。
【図15】本発明の請求項8に基づくデータ処理装置の
実施形態を示す図である。
【図16】本発明の請求項9に基づくデータ処理装置の
実施形態を示す図である。
【図17】本発明の請求項10に基づくデータ処理装置
の実施形態を示す図である。
【図18】プロセッサを組み込んだ機能メモリに本発明
の請求項10を適用した実施例を示す図である。
【図19】図18に示した機能メモリのプロセッサ部に
用いられている結合手段の実施例を示す図である。
【図20】本発明の請求項11に基づきニューラルネッ
トの演算を行うデータ演算処理方法の実施形態を示すフ
ローチャートである。
【図21】ニューラルネットの構成の異なる例を
(a),(b)及び(c)それぞれに示す図である。
【図22】本発明によるデータ処理装置を用いた図21
(a)のニューラルネットの演算方法を説明するための
図である。
【図23】本発明によるデータ処理装置を用いた図21
(c)のニューラルネットの演算方法を説明するための
図である。
【図24】本発明によるデータ処理装置を用いた図21
(b)のニューラルネットの演算方法を説明するための
図である。
【図25】本発明の請求項12に基づき2つの行列の積
の演算を行うデータ演算処理方法の実施形態を示すフロ
ーチャートである。
【図26】本発明によるデータ処理装置を用いた行列の
積の演算方法を説明するための図である。
【図27】従来の技術によるSIMD型並列データ処理
装置の一例を示す図である。
【図28】従来の技術によるプロセッサを組み込んだ機
能メモリの一例を示す図である。
【図29】従来の技術による機能メモリのプロセッサ部
の構造の一例を示す図である。
【図30】従来の技術によるリング型シフトレジスタ付
きの並列データ処理装置の一例の原理構成を示す図であ
る。
【符号の説明】
1001,2001,3010,27002…プロセッ
サ、1002,2002…第1のデータ保持手段、10
03,2003,9003,11003…第2のデータ
保持手段、1004,2004,2005,3014…
結合手段、1005…記憶手段、1010,2010…
状態変数、1011,2011,9011,1101
1,12011…結合手段の第1の入力、1012,2
012,9012,11012,12012…結合手段
の第2の入力、1013,2014,30141,90
13,11013,12013…結合手段の第1の出
力、1014,2015,30142,9014,11
014,12014…結合手段の第2の出力、101
5,2017,9015…第1のデータ保持手段の出
力、1016…第2のデータ保持手段の出力、201
3,30148…結合手段の第3の入力、2016…結
合手段の第3の出力、2018,9016,11016
…第2のデータ保持手段の入力、3011…メモリ手
段、3012…第1のレジスタ手段、3013…データ
処理手段、3015…制御手段、30111…メモリ手
段の出力、30116…メモリ手段の入力、30121
…第1のレジスタ手段の出力、30126…第1のレジ
スタ手段の第1の入力、30131…データ処理手段の
第1の出力、30132…データ処理手段の第2の出
力、30134…データ処理手段の第4の出力、301
36…データ処理手段の第1の入力、30137…デー
タ処理手段の第2の入力、30146…結合手段の第1
の入力、30142…結合手段の第2の入力、3015
1,14005…グローバル・インストラクション・ラ
イン、5011…第2のレジスタ手段、60133…デ
ータ処理手段の第3の出力、60127…第1のレジス
タ手段の第2の入力、7011…共通に利用される第1
のバス、8011…共通に利用される第2のバス、14
001Xレジスタ、14002…Yレジスタ、1400
3…書き込み許可レジスタ、14004…1ビットAL
U、14006…Xレジスタに接続された結合手段、1
4007…Yレジスタに接続された結合手段、2700
1…ローカルメモリ、27003…制御装置、2700
4…グローバルバス、27005…プロセッサ間のバ
ス、27006…ローカルメモリ−プロセッサ間のバ
ス、28001…メモリ部、28002…プロセッサ
部、28003…行デコード/ドライバ部、28004
…列デコード/ドライバ部、28005…制御回路部、
30001…データ処理ユニット、30002…トレ
イ、30003…メモリ、30004…バイパス手段。
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06F 15/16 610 G06N 3/04 JICSTファイル(JOIS)

Claims (12)

    (57)【特許請求の範囲】
  1. 【請求項1】 1つ又は複数のデータを保持する第2の
    データ保持手段及び結合手段より成る1つ又は複数の記
    憶手段と、データを保持する第1のデータ保持手段より
    構成されるプロセッサを1次元又は多次元に接続するデ
    ータ処理装置において、前記結合手段は、少なくとも2
    つの入力と、少なくとも2つの出力と、入力と出力の接
    続状態を決定するための状態変数を持ち、前記結合手段
    の第1の入力は、前記プロセッサを構成する物理的又は
    論理的に隣接する第1の隣接プロセッサの前記結合手段
    の第2の出力に接続され、前記結合手段の第1の出力
    は、該結合手段と同じ記憶手段内にある前記第2のデー
    タ保持手段の入力と接続され、前記結合手段の第2の入
    力は、前記プロセッサを構成する物理的又は論理的に隣
    接する第2の隣接プロセッサの前記第1のデータ保持手
    段の出力と接続され、前記結合手段の第2の出力は、前
    記第2の隣接プロセッサの前記結合手段の第1の入力と
    接続され、前記状態変数の値によって、前記結合手段の
    入力と出力の接続を変えることができるようにしたこと
    を特徴とするデータ処理装置。
  2. 【請求項2】 前記プロセッサが物理的又は論理的に端
    点に存在し、前記第1のデータ保持手段の出力と接続す
    べき第1の隣接プロセッサの結合手段が存在しない場合
    に、前記プロセッサの前記第1のデータ保持手段の出力
    と該プロセッサの前記結合手段の第1の入力を接続する
    ようにしたことを特徴とする請求項1に記載のデータ処
    理装置。
  3. 【請求項3】 前記結合手段は、第1並びに第2の入力
    及び出力として、それぞれに少くとも2つの入力と、少
    くとも2つの出力を持ち、前記結合手段の第1の入力及
    び第2の出力は、前記第1及び第2の隣接プロセッサの
    前記結合手段の第2の出力及び第1の入力とそれぞれ接
    続し、前記第1のデータ保持手段は、出力を2つ持ち、
    該第1のデータ保持手段の出力は、前記第1及び第2の
    隣接プロセッサの結合手段の第2の入力と接続するよう
    にしたことを特徴とする請求項1又は請求項2に記載の
    データ処理装置。
  4. 【請求項4】 1つ又は複数のデータを保持する第2の
    データ保持手段及び結合手段より成る1つ又は複数の記
    憶手段と、データを保持する第1のデータ保持手段より
    構成されるプロセッサを1次元又は多次元に接続するデ
    ータ処理装置において、前記結合手段は、少なくとも3
    つの入力と、少なくとも3つの出力と、入力と出力の接
    続状態を決定するための状態変数を持ち、前記結合手段
    の第2の入力及び第2の出力は、前記プロセッサを構成
    する物理的又は論理的に隣接する第1の隣接プロセッサ
    の前記結合手段の第1の出力及び第1の入力とそれぞれ
    接続され、前記結合手段の第1の入力及び第1の出力
    は、前記プロセッサを構成する物理的又は論理的に隣接
    する第2の隣接プロセッサの前記結合手段の第2の出力
    及び第2の入力とそれぞれ接続され、前記結合手段の第
    3の出力は、該結合手段と同じ記憶手段内にある第2の
    データ保持手段の入力と接続され、前記結合手段の第3
    の入力は、第1のデータ保持手段の出力と接続され、前
    記状態変数の値によって、前記結合手段の入力と出力の
    接続を変えることができるようにしたことを特徴とする
    データ処理装置。
  5. 【請求項5】 1つ又は複数の第1のレジスタ手段及び
    結合手段より成る1つ又は複数の記憶手段と、メモリ手
    段と、データ処理手段により構成されるプロセッサを1
    次元又は多次元に接続するSIMD型の並列データ処理
    装置において、前記メモリ手段の出力は、前記データ処
    理手段の第1の入力に接続され、前記第1のレジスタ手
    段の出力は、前記データ処理手段の第2の入力に接続さ
    れ、前記データ処理手段の第1の出力は、前記メモリ手
    段の入力に接続され、前記結合手段の第1の出力は、該
    結合手段と同じ記憶手段内にある前記第1のレジスタ手
    段の第1の入力に接続され、前記結合手段の第2の出力
    は、物理的又は論理的に隣接する第2の隣接プロセッサ
    の前記結合手段の第1の入力に接続され、前記データ処
    理手段の第2の出力は、物理的又は論理的に隣接する第
    1の隣接プロセッサの前記結合手段の第2の入力に接続
    され、前記データ処理手段の第4の出力は、前記結合手
    段の第3の入力に接続され、前記結合手段の第3の入力
    の値により該結合手段の第1,第2の入力と第1,第2
    の出力の接続を変えるようにしたことを特徴とするデー
    タ処理装置。
  6. 【請求項6】 前記プロセッサが物理的又は論理的に端
    点に存在し、前記データ処理手段の第2の出力に接続す
    べき前記第1の隣接プロセッサの前記結合手段が存在し
    ない場合に、前記データ処理手段の第2の出力と前記結
    合手段の第1の入力を接続するようにしたことを特徴と
    する請求項5に記載のデータ処理装置。
  7. 【請求項7】 前記結合手段は、該結合手段の第3の入
    力に接続された第2のレジスタ手段を持ち、該第2のレ
    ジスタ手段は、前記結合手段の第3の入力の値を保持
    し、該第2のレジスタ手段のデータの値により、前記結
    合手段の第1,第2の入力と第1,第2の出力の接続を
    変えるようにしたことを特徴とする請求項5又は請求項
    6に記載のデータ処理装置。
  8. 【請求項8】 前記プロセッサにおいて、前記データ処
    理手段の第3の出力と、前記第1のレジスタ手段の第2
    の入力を接続するようにしたことを特徴とする請求項5
    ないし請求項7のいずれかに記載のデータ処理装置。
  9. 【請求項9】 前記プロセッサは、前記メモリ手段の入
    力及び出力に代えて入出力ポートを持ち、前記第1のレ
    ジスタ手段の第1,第2の入力及び出力に代えて入出力
    ポートを持ち、前記データ処理手段の第1,第2の入力
    及び第1,第2,第3の出力に代えて入出力ポートを持
    ち、前記各入出力ポートと、前記結合手段の第1,第2
    の入力を、共通に利用される第1のバスに接続するよう
    にしたことを特徴とする請求項5ないし請求項8のいず
    れかに記載のデータ処理装置。
  10. 【請求項10】 前記プロセッサの中に複数の記憶手段
    が存在するプロセッサにおいて、前記データ処理手段の
    第4の出力と前記結合手段の第3の入力を、共通に利用
    される第2のバスに接続するようにしたことを特徴とす
    る請求項5ないし請求項9のいずれかに記載のデータ処
    理装置。
  11. 【請求項11】 請求項5ないし請求項9のいずれかに
    記載のデータ処理装置を用いて第1のレイヤm個のノー
    ドXi(1≦i≦m)と第2のレイヤn個のノードY
    j(1≦j≦n)が結合されたニューラルネットの演算
    をする方法であって、連続する前記mと前記nの大きい
    方の数字の個数(これをPとする)の前記プロセッサを
    使用し、k(1≦k≦P)番目の前記プロセッサの前記
    メモリ手段に、前記第1レイヤのノードXkの出力、又
    は該当するノードが存在しない場合には0を格納し、か
    つ、前記第1のレイヤの各ノードXi(1≦i≦m)と
    前記第2レイヤのk番目のノードYkとの結合係数Wik
    (1≦i≦m)を、Wpk(pは(i+k−1)をPで割
    った余り、但し0の場合はP)が各前記プロセッサによ
    り同時にアクセスできるアドレスに格納し、又は該当す
    る結合係数が存在しない場合には0を格納し、前記デー
    タ処理手段の出力を右又は左にローテーションするよう
    に前記結合手段をセットすることにより、前記ノードX
    の出力を、右又は左にローテーションしながら、各前記
    プロセッサ毎に前記ノードXの出力と前記結合係数の積
    和演算を行って、前記ノードYの出力を求めるようにし
    たことを特徴とするデータ演算処理方法。
  12. 【請求項12】 請求項5ないし請求項9のいずれかに
    記載のデータ処理装置を用いて、n×mの大きさの行列
    Aとm×l(エル)の大きさの行列Bの積を演算する方法
    であって、連続する前記mと前記lの大きい方の数字の
    個数(これをPとする)のプロセッサを使用し、k(1
    ≦k≦P)番目の前記プロセッサの前記メモリ手段に、
    前記行列Aのk列の要素aik(1≦i≦n)、又は該当
    する該行列Aの要素がない場合には0を、同じ行のデー
    タは各前記プロセッサが同時にアクセスできるアドレス
    に格納し、かつ、前記行列Bのj列のデータbij(1≦
    i≦m)を、bpj(pは(i+j−1)をPで割った余
    り、但し0の場合はP)が各前記プロセッサによって同
    時にアクセスできるアドレスに格納し、又は該当する行
    列Bの要素がない場合には0を格納し、前記データ処理
    手段の出力を右又は左にローテーションするように前記
    結合手段をセットして、前記行列Aのデータを右又は左
    にローテーションしながら、各前記プロセッサ毎に前記
    行列Aと前記行列Bの要素の積和演算を行って、前記行
    列Aと前記行列Bの積を求めるようにしたことを特徴と
    するデータ演算処理方法。
JP08034486A 1996-02-22 1996-02-22 データ処理装置及びデータ処理方法 Expired - Fee Related JP3136088B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP08034486A JP3136088B2 (ja) 1996-02-22 1996-02-22 データ処理装置及びデータ処理方法
US08/717,286 US5797027A (en) 1996-02-22 1996-09-20 Data processing device and data processing method
TW085111598A TW331607B (en) 1996-02-22 1996-09-23 Data processing device and data processing method.
KR1019970005448A KR100280854B1 (ko) 1996-02-22 1997-02-22 데이타 처리 장치 및 데이타 처리 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP08034486A JP3136088B2 (ja) 1996-02-22 1996-02-22 データ処理装置及びデータ処理方法

Publications (2)

Publication Number Publication Date
JPH09231182A JPH09231182A (ja) 1997-09-05
JP3136088B2 true JP3136088B2 (ja) 2001-02-19

Family

ID=12415581

Family Applications (1)

Application Number Title Priority Date Filing Date
JP08034486A Expired - Fee Related JP3136088B2 (ja) 1996-02-22 1996-02-22 データ処理装置及びデータ処理方法

Country Status (4)

Country Link
US (1) US5797027A (ja)
JP (1) JP3136088B2 (ja)
KR (1) KR100280854B1 (ja)
TW (1) TW331607B (ja)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002071246A2 (en) * 2001-03-02 2002-09-12 Atsana Semiconductor Corp. An apparatus for controlling access in a data processor
JP2004054680A (ja) * 2002-07-22 2004-02-19 Fujitsu Ltd 並列効率計算方法
US8549592B2 (en) 2005-07-12 2013-10-01 International Business Machines Corporation Establishing virtual endorsement credentials for dynamically generated endorsement keys in a trusted computing platform
US20080052525A1 (en) * 2006-08-28 2008-02-28 Tableau, Llc Password recovery
WO2008027091A1 (en) * 2006-08-28 2008-03-06 Tableau, Llc Method and system for password recovery using a hardware accelerator
US20080126472A1 (en) * 2006-08-28 2008-05-29 Tableau, Llc Computer communication
US20080052490A1 (en) * 2006-08-28 2008-02-28 Tableau, Llc Computational resource array
US20080052429A1 (en) * 2006-08-28 2008-02-28 Tableau, Llc Off-board computational resources
JP5079342B2 (ja) * 2007-01-22 2012-11-21 ルネサスエレクトロニクス株式会社 マルチプロセッサ装置
US9429983B1 (en) 2013-09-12 2016-08-30 Advanced Processor Architectures, Llc System clock distribution in a distributed computing environment
US11042211B2 (en) 2009-08-07 2021-06-22 Advanced Processor Architectures, Llc Serially connected computing nodes in a distributed computing system
US9645603B1 (en) * 2013-09-12 2017-05-09 Advanced Processor Architectures, Llc System clock distribution in a distributed computing environment
US8675371B2 (en) 2009-08-07 2014-03-18 Advanced Processor Architectures, Llc Distributed computing
KR20120074762A (ko) * 2010-12-28 2012-07-06 삼성전자주식회사 재구성 가능한 심드 아키텍처 기반의 컴퓨팅 장치 및 방법
US9152663B2 (en) * 2013-03-15 2015-10-06 Intel Corporation Fast approach to finding minimum and maximum values in a large data set using SIMD instruction set architecture
US9177646B2 (en) 2013-05-06 2015-11-03 International Business Machines Corporation Implementing computational memory from content-addressable memory
EP3620923B1 (de) * 2016-09-19 2022-08-17 Elmos Semiconductor SE Watchdog zur überwachung eines prozessors
US20230229450A1 (en) * 2018-02-23 2023-07-20 Untether Ai Corporation Computational memory
JP7074018B2 (ja) * 2018-10-22 2022-05-24 日本電信電話株式会社 分散処理システムおよび分散処理方法
JP7074017B2 (ja) * 2018-10-22 2022-05-24 日本電信電話株式会社 分散処理システムおよび分散処理方法
CN112860597B (zh) * 2019-11-27 2023-07-21 珠海格力电器股份有限公司 一种神经网络运算的系统、方法、装置及存储介质

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4523273A (en) * 1982-12-23 1985-06-11 Purdue Research Foundation Extra stage cube
JP2825133B2 (ja) * 1989-09-20 1998-11-18 富士通株式会社 並列データ処理方式
US5276891A (en) * 1990-01-11 1994-01-04 Bull Hn Information Systems Inc. Alignment of sign, data, edit byte operand results for storage in memory
US5713037A (en) * 1990-11-13 1998-01-27 International Business Machines Corporation Slide bus communication functions for SIMD/MIMD array processor
JPH04293151A (ja) * 1991-03-20 1992-10-16 Fujitsu Ltd 並列データ処理方式
JPH06314241A (ja) * 1993-03-04 1994-11-08 Sharp Corp 高速半導体記憶装置及び高速連想記憶装置
FR2710993B1 (fr) * 1993-10-04 1995-11-24 Commissariat Energie Atomique Procédé et système d'interconnexion pour la gestion de messages dans un réseau de processeurs à structure parallèle.
US5708835A (en) * 1995-03-27 1998-01-13 Hughes Electronics Dual-directional parallel processor

Also Published As

Publication number Publication date
TW331607B (en) 1998-05-11
JPH09231182A (ja) 1997-09-05
US5797027A (en) 1998-08-18
KR100280854B1 (ko) 2001-02-01
KR970062893A (ko) 1997-09-12

Similar Documents

Publication Publication Date Title
JP3136088B2 (ja) データ処理装置及びデータ処理方法
US4507726A (en) Array processor architecture utilizing modular elemental processors
Nassimi et al. Bitonic sort on a mesh-connected parallel computer
EP0390907B1 (en) Parallel data processor
EP0293701B1 (en) Parallel neighborhood processing system and method
US5179714A (en) Parallel bit serial data processor
Lin et al. Algorithmic mapping of neural network models onto parallel SIMD machines
US4745546A (en) Column shorted and full array shorted functional plane for use in a modular array processor and method for using same
EP1733300B1 (en) Improvements relating to orthogonal data memory
JPH0233191B2 (ja)
Lin et al. Reconfigurable buses with shift switching: Concepts and applications
Serrano et al. Optimal architectures and algorithms for mesh-connected parallel computers with separable row/column buses
WO1992022873A1 (en) High performance array processor
Chung Prefix computations on a generalized mesh-connected computer with multiple buses
Olariu et al. Fast component labelling and convex hull computation on reconfigurable meshes
JPH07152730A (ja) 離散コサイン変換装置
Chen et al. PASIC: a smart sensor for computer vision
Zapata et al. Image template matching on hypercube SIMD computers
JPS5999568A (ja) プロセツサセル及び該プロセツサセルから形成されるアレ−
Chuang et al. An efficient Hough transform algorithm on SIMD hypercube
Wu et al. Optimal parallel algorithms for computer vision problems
Panda et al. Fast data manipulation in multiprocessors using parallel pipelined memories
Sunwoo VisTA: an integrated vision tri-architecture system
Haendler et al. Vertical processing in parallel computing systems
Mozef et al. LAPCAM, Linear Array of Processors Using Content-Addressable Memories: A New Design of Machine Vision for Parallel Image Computations.

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071201

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081201

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091201

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091201

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101201

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111201

Year of fee payment: 11

LAPS Cancellation because of no payment of annual fees