JP2517118B2 - Data flow device - Google Patents

Data flow device

Info

Publication number
JP2517118B2
JP2517118B2 JP1198963A JP19896389A JP2517118B2 JP 2517118 B2 JP2517118 B2 JP 2517118B2 JP 1198963 A JP1198963 A JP 1198963A JP 19896389 A JP19896389 A JP 19896389A JP 2517118 B2 JP2517118 B2 JP 2517118B2
Authority
JP
Japan
Prior art keywords
associative
output
address
data
read
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 - Lifetime
Application number
JP1198963A
Other languages
Japanese (ja)
Other versions
JPH0363778A (en
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP1198963A priority Critical patent/JP2517118B2/en
Publication of JPH0363778A publication Critical patent/JPH0363778A/en
Application granted granted Critical
Publication of JP2517118B2 publication Critical patent/JP2517118B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)
  • Multi Processors (AREA)

Description

【発明の詳細な説明】 産業上の利用分野 本発明は、積和演算を高速に行なう演算装置を有する
プロセッサとそのプロセッサ間を結合する連想メモリを
使用したデータフロー装置に関するものであり、特に最
近その将来性が大きく期待されているニューラルネット
ワーク装置に強く関連する。
Description: BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a data flow apparatus using a processor having an arithmetic unit for performing product-sum operation at high speed and an associative memory connecting the processors, and more particularly It is strongly related to neural network devices, which have great potential.

従来の技術 従来のニューラルネットワーク装置に関連するデータ
フロー装置としてアナログ的に構成されたものとして、
例えばUSP4,719,591(Jan,12,1988)が代表的である。
これはhopfield型ニューラルネットワーク装置に関する
ものであり、第9図はその構成図である。オペアンプ62
の出力63が接続行列61内のノード60でアナログ的に加算
され、再びオペアンプ62に入力される。この装置におい
て、接続はハード的に決まっている。
2. Description of the Related Art As a data flow device related to a conventional neural network device and configured as an analog,
For example, USP 4,719,591 (Jan, 12,1988) is typical.
This relates to a hopfield type neural network device, and FIG. 9 is a configuration diagram thereof. Operational amplifier 62
The output 63 of the above is added in an analog manner at the node 60 in the connection matrix 61, and is input to the operational amplifier 62 again. In this device, the connection is fixed by hardware.

また、従来のニューラルネットワーク装置に関連する
データフロー装置として連想メモリを用いてデジタル的
に構成されたものは見受けられない。また、階層型ニュ
ーラルネットワーク装置に関しては計算機上でのソフト
ウェアシュミレーションにとどまり有効なハードウェア
の例は見受けられない。
Further, there is no data flow device related to the conventional neural network device that is digitally configured by using an associative memory. Further, regarding the hierarchical neural network device, there is no example of effective hardware, which is limited to software simulation on a computer.

続いて、従来のプロセッサの例を第10図に示す。この
装置は連続的に与えられる2つの入力10aと10bの積和を
求める装置である。プログラムされた手続きに従い制御
装置16は積和演算を指示し、乗算器11の出力と出力ラッ
チ13経由でフィードバックされる自分の1回前の出力を
加算器12で加算することで積和演算を行ない積和17を得
る。
Subsequently, an example of a conventional processor is shown in FIG. This device is a device for obtaining the sum of products of two inputs 10a and 10b continuously given. According to the programmed procedure, the control unit 16 instructs the product-sum operation, and the adder 12 adds the output of the multiplier 11 and the output of the previous one which is fed back via the output latch 13 to perform the product-sum operation. Get the sum of products 17

次に、従来の連想メモリの例を第11図に示す。連想比
較メモリ部(以下CAM)24はアドレス(A)41に従って
アドレスデコーダ(ADEC)25よりのCAMワードライン(C
AMWL)43によりアクセスされる。またランダムアクセス
メモリ部(RAM)23はADEC25よりのCAMWWL43、またはCAM
24によりCD40とCAM24のデータが一致した時アサートさ
れるCAMセンスライン(CAMSL)44によりアクセスされ
る。即ち動作モードとして、通常リード(NR)34、通常
ライト(NW)32、連想リード(ASR)35、連想ライト(A
SW)33の4つのモードを有し、制御部(CTRL)28により
制御される。CTRL28はセレクタ(SEL)27を切り換え、
通常アクセス時はCAMWL43を、連想アクセス時はCAMSL44
をRAMワードライン(RAMWL)42に伝える。また有効ビッ
ト(Vb)65は当該ワードが有効であるか否かを示す。な
おCAMデータ(CD)40はCAM24の入出力、RAMデータ(R
D)39はRAM23の入出力を示す。
Next, an example of a conventional associative memory is shown in FIG. The associative comparison memory unit (CAM) 24 is a CAM word line (C) from the address decoder (ADEC) 25 according to the address (A) 41.
AMWL) 43. The random access memory unit (RAM) 23 is CAM WWL43 from ADE C25 or CAM.
It is accessed by the CAM sense line (CAMSL) 44 which is asserted when the data of the CD 40 and the CAM 24 match by 24. That is, the operation modes are normal read (NR) 34, normal write (NW) 32, associative read (ASR) 35, and associative write (A
It has four modes, SW) 33, and is controlled by the control unit (CTRL) 28. CTRL28 switches selector (SEL) 27,
CAMWL43 for normal access, CAMSL44 for associative access
To the RAM word line (RAMWL) 42. The valid bit (Vb) 65 indicates whether or not the word is valid. The CAM data (CD) 40 is the input / output of the CAM 24 and the RAM data (R
D) 39 indicates the input / output of the RAM 23.

発明が解決しようとする課題 しかしながら、ニューラルネットワーク装置に関連す
るデータフロー装置として、上記のようなhopieldモデ
ルでは固定的なアナログ装置であるので柔軟性にかけ、
また精度が低いという課題を有している。また階層型モ
デルに関してはソフトウェアシミュレーションでは処理
時間が長くなるという課題を有している。また何れのモ
デルも精度、柔軟性の面からデジタル回路での実現が望
まれるが、ネットワークを中心として膨大なハード量を
必要とする上に現在のところ効率よく実現するためパー
ツも存在しない。ここで、柔軟性とは、接続状態を容易
に変更できる。例えばソフトウェアでダイナミックに変
更できるということである。
DISCLOSURE OF THE INVENTION Problems to be Solved by the Invention However, as a data flow device related to a neural network device, since it is a fixed analog device in the above-mentioned hopield model, flexibility is applied,
It also has a problem of low accuracy. Further, regarding the hierarchical model, there is a problem that the processing time becomes long in software simulation. In addition, all models are desired to be realized by digital circuits in terms of accuracy and flexibility, but they require enormous amount of hardware mainly in networks and currently have no parts to realize them efficiently. Here, the flexibility means that the connection state can be easily changed. For example, it can be dynamically changed by software.

また、上記のようなプロセッサで積和演算を連続的に
行なうとき、所定の条件を満足した場合に処理を終了す
るためには例えば第3図に示すプログラムが必要であ
る。終了条件としては(1)ループ回数、(2)積和結
果の2つが考えられる。第3図(a)はループ回数のみ
で終了する例であり、途中で積和結果が終了条件を満足
したときでもループが終わるまで処理を継続するため処
理時間が長くなるという課題を有している。また第3図
(b)はループ回数または積和結果で終了する例であ
り、2つの条件判定文が必要であるためプログラム自体
が長くなり結局処理時間が長くなるという課題を有して
いる。
Further, when the product-sum calculation is continuously performed by the above-mentioned processor, the program shown in FIG. 3 is required to terminate the processing when a predetermined condition is satisfied. There are two possible end conditions: (1) number of loops and (2) sum of products result. FIG. 3 (a) is an example of ending only by the number of loops, and even if the sum of products result satisfies the end condition on the way, the processing is continued until the loop ends, and the processing time becomes long. There is. Further, FIG. 3B is an example of ending with the number of loops or the sum of products result, and there is a problem that the program itself becomes long and the processing time eventually becomes long because two condition judgment statements are required.

また、上記のような連想メモリではリード時にアドレ
スA40または連想比較メモリ部への入力CD40が必要であ
る。従って連想メモリにライトされたデータから逐次リ
ードするためには、例えば連想メモリにライトするデバ
イスがライトした旨及びアドレスを、連想メモリをリー
ドするデバイスに通知し、その後初めてリードが開始さ
れるという手順になる。つまりリード以外の処理が必要
であり制御が複雑になりかつ処理時間が長くなるという
課題を有している。
In the associative memory as described above, the address A40 or the input CD40 to the associative comparison memory unit is required at the time of reading. Therefore, in order to sequentially read from the data written in the associative memory, for example, the procedure of notifying the device that writes to the associative memory and the address to the device that reads the associative memory and then starting the read for the first time become. That is, there is a problem that processing other than read is required, control becomes complicated, and processing time becomes long.

本発明はかかる点に鑑み、高速なプロセッサ、高速か
つ制御容易な連想メモリを利用して、柔軟かつ高精度か
つ高速でハード量の少ないデータフロー装置を提供する
ことを目的とする。
SUMMARY OF THE INVENTION In view of the above points, an object of the present invention is to provide a data flow device that is flexible, highly accurate, high speed, and has a small amount of hardware by using a high speed processor and a high speed and easily controlled associative memory.

課題を解決するための手段 本発明は上述の課題を解決するため、(1)複数のプ
ロセッサの出力をバスに共通に接続し、前記バスを前記
プロセッサの識別番号によりアクセスされる複数の連想
メモリの入力に接続することで1階層を構成し、第N番
目(Nは自然数)の階層で連想メモリの出力をそれぞれ
第N+1番目の階層のプロセッサの入力とするデータフ
ロー装置である。
Means for Solving the Problems In order to solve the above problems, the present invention (1) connects the outputs of a plurality of processors in common to a bus, and the buses are accessed by a plurality of associative memories. Is a data flow device in which one layer is configured by connecting to the input of the above, and the output of the associative memory in the Nth layer (N is a natural number) is input to the processor of the (N + 1) th layer.

また、本発明は上記構成(1)に加え、(2)前記プ
ロセッサは乗算器と、前記乗算器の出力と自分自身の1
回前の出力とを加算する加算器と、前記加算器の出力を
モニタし、あらかじめ設定された条件を満足した時に割
り込みを発生する条件判定器と、前記割り込みにより当
該演算を終了する制御装置とからなる演算装置を有する
ものである。
According to the present invention, in addition to the above configuration (1), (2) the processor is a multiplier, and the output of the multiplier and its own 1
An adder that adds the previous output, a condition determiner that monitors the output of the adder and generates an interrupt when a preset condition is satisfied, and a control device that ends the calculation by the interrupt It has an arithmetic unit consisting of.

さらに、本発明は上記構成(1)または(2)に加
え、(3)前記連想メモリはアドレスデコーダと、各ワ
ード毎にデータの属性を示す付加ビットと、前記付加ビ
ットによりリード可能である旨が示されたワードのうち
の一つのアドレスを選択する優先度付きデコーダと、前
記アドレスデコーダの示すアドレスによりアクセスさ
れ、第1の識別番号を記憶する連想比較メモリ部と、前
記アドレスデコーダの示すアドレス、または外部から入
力された第2の識別番号と前記連想比較メモリ部内部に
記憶された前記第1の識別番号とを前記連想比較メモリ
部で比較して一致検出したアドレス、または前記優先度
付きデコーダにより示されるアドレスによりワードの一
部または全部がアクセスされるランダムアクセスメモリ
部とを有するものである。
Further, according to the present invention, in addition to the above configuration (1) or (2), (3) the associative memory can be read by an address decoder, an additional bit indicating a data attribute for each word, and the additional bit. , A priority assigned decoder for selecting one address of the indicated words, an associative comparison memory unit for storing a first identification number which is accessed by the address indicated by the address decoder, and an address indicated by the address decoder. , Or a second identification number input from the outside and the first identification number stored in the associative comparison memory unit are compared in the associative comparison memory unit, and a match is detected, or the priority is added. A random access memory part in which part or all of the word is accessed by the address indicated by the decoder.

作用 本発明のデータフロー装置は前記した構成(1)によ
り、プロセッサの識別番号を複数の連想メモリで同時に
比較して一致した時データを取り込むので、接続に要す
るハードが少ない上に、連想メモリを書き換えること
で、接続が容易に変更できる。
With the configuration (1), the data flow device of the present invention simultaneously compares the identification numbers of the processors in a plurality of associative memories and fetches the data when they match, so that the hardware required for the connection is small and the associative memory is used. The connection can be easily changed by rewriting.

また、プロセッサは前記した構成(2)により、条件
判定器が常に積和結果をモニタし、所定の条件を満足し
たときに割り込みを発生して処理を終了する。そのため
プログラムにより積和結果を判定する必要がないのでプ
ログラムが短かくなり処理の高速化が実現できる。また
結果のモニタは次の積和演算中に行なえるのでモニタに
よるオーバーヘッドは発生しない。
Further, in the processor, according to the configuration (2) described above, the condition determiner constantly monitors the sum of products result, and when a predetermined condition is satisfied, an interrupt is generated and the process ends. Therefore, since it is not necessary to determine the sum of products result by the program, the program becomes short and the processing speed can be increased. Further, since the result can be monitored during the next product-sum operation, the monitor overhead does not occur.

また、連想メモリは前記した構成(3)により、プロ
セッサの出力の内の識別番号のフィールドをモニタして
連想比較メモリ部の内部に記憶された識別番号と比較
し、一致すればデータを取り込む。これはプロセッサと
連想メモリの接続を意味するので、連想比較メモリ部を
書き換えることでダイナミックにソフトウェアで接続関
係を変更することができ柔軟性が高くなる。またこの接
続は1本のバスで実現できるためネットワークに要する
ハード量も少ない。また、プロセッサは連想メモリの有
効データをアドレスなしで無駄なサイクル抜きで順次連
続的にリードするため、処理の高速化が実現できる。
Further, the associative memory, by the configuration (3) described above, monitors the field of the identification number in the output of the processor, compares it with the identification number stored in the associative comparison memory unit, and fetches the data if they match. Since this means the connection between the processor and the associative memory, the connection relation can be dynamically changed by software by rewriting the associative comparison memory unit, which increases flexibility. Also, since this connection can be realized by one bus, the amount of hardware required for the network is small. Further, since the processor sequentially reads the valid data in the associative memory without any address and without wasteful cycles, the processing speed can be increased.

実施例 第1図は本発明の一実施例におけるデータフロー装置
の構成図である。ここで、1a〜1dはプロセッサ、2a,2b
は連想メモリ、3はバス、23はランダムアクセスメモリ
部(RAM)、24は連想比較メモリ部(CAM)、50はデー
タ、51は識別番号である。
Embodiment FIG. 1 is a block diagram of a data flow device in an embodiment of the present invention. Here, 1a to 1d are processors, and 2a and 2b
Is an associative memory, 3 is a bus, 23 is a random access memory unit (RAM), 24 is an associative comparison memory unit (CAM), 50 is data, and 51 is an identification number.

プロセッサ1a,1bはバス3にデータ50と識別番号51を
出力する。ここで識別番号51はプロセッサの固有番号で
ある。連想メモリ2a,2bはCAM24で識別番号51を記憶済み
の識別番号と比較し、一致時にデータ50をRAM23に取り
込む。これがデータフロー装置の1階層を意味する。そ
して連想メモリ2a,2bはそれぞれデータを次の階層であ
るプロセッサ1c,1dに出力する。これらが、プロセッサ1
aとプロセッサ1c、1dの接続、プロセッサ1bとプロセッ
サ1c、1dの接続を意味する。
The processors 1a and 1b output the data 50 and the identification number 51 to the bus 3. Here, the identification number 51 is a unique number of the processor. The associative memories 2a and 2b compare the identification number 51 with the stored identification number in the CAM 24 and fetch the data 50 in the RAM 23 when they match. This means one layer of the data flow device. Then, the associative memories 2a and 2b output the data to the processors 1c and 1d in the next layer, respectively. These are processor 1
It means the connection between a and the processors 1c and 1d, and the connection between the processor 1b and the processors 1c and 1d.

次に、第2図は本発明の一実施例におけるプロセッサ
の構成図を示すものである。第2図において10a,10bは
入力、11は乗算器、12は加算器、13は出力ラッチ、14は
条件判定器、15は割り込み信号、16は制御装置、17は積
和である。
Next, FIG. 2 shows a block diagram of a processor in one embodiment of the present invention. In FIG. 2, 10a and 10b are inputs, 11 is a multiplier, 12 is an adder, 13 is an output latch, 14 is a condition determiner, 15 is an interrupt signal, 16 is a controller, and 17 is a sum of products.

以上のように構成されたプロセッサの実施例につい
て、以下のその動作を説明する。乗算器11は入力10aと1
0bとの乗算を行なう。加算器12は乗算器11の出力と出力
ラッチ13に格納された以前の加算結果である積和17との
加算を行なう。条件判定器14は積和17をモニタしてそれ
が所定の条件を満足したときに割り込み信号15を発生す
る。制御装置16はプログラムの実行制御及び割り込みに
よる終了制御を行なう。
The operation of the processor configured as above will be described below. Multiplier 11 has inputs 10a and 1
Multiplies with 0b. The adder 12 adds the output of the multiplier 11 and the product sum 17 which is the previous addition result stored in the output latch 13. The condition determiner 14 monitors the sum of products 17 and generates an interrupt signal 15 when it satisfies a predetermined condition. The control device 16 controls the execution of the program and the end control by interruption.

本実施例による高速化の効果を、第3図に示す積和演
算を行なうプログラム例を用いて説明する。なおこれは
モトローラ社のMC68000のアセンブラコードに似せて記
述した例であり、他のマイクロプロセッサでも同様のコ
ードとなる。第3図(a)の方がステップ数は少ないが
終了判定条件はループ回数のみであり、従来のプロセッ
サでは途中で積和結果が終了条件を満足したときでもル
ープが終わるまで処理を継続するため処理時間が長くな
る。また第3図(b)はループ回数または積和結果で終
了する例である。これには2つの条件判定文が必要であ
るためプログラムのステップ数が多くなり結局処理時間
が長くなる。本実施例では条件判定器14が常に積和17を
モニタして終了条件のチェックを行なっているため、プ
ログラム中に積和による終了条件判定を記述する必要は
ない。結局ステップ数の少ない第3図(a)のプログラ
ムで高速に第3図(b)と同等の機能を実現できる。
The effect of speeding up according to this embodiment will be described with reference to a program example for performing the product-sum calculation shown in FIG. Note that this is an example written similar to Motorola's MC68000 assembler code, and will be similar for other microprocessors. In FIG. 3A, the number of steps is smaller, but the end determination condition is only the number of loops, and the conventional processor continues processing until the loop ends even when the product-sum result satisfies the end condition. Processing time becomes long. Further, FIG. 3 (b) is an example of ending with the number of loops or the sum of products result. Since this requires two condition determination statements, the number of steps in the program increases, and the processing time eventually increases. In the present embodiment, the condition determiner 14 constantly monitors the sum of products 17 to check the end condition, so it is not necessary to describe the end condition determination by the product sum in the program. After all, the program equivalent to that shown in FIG. 3B can be realized at high speed with the program shown in FIG.

そして、本実施例のプロセッサでニューロ素子を実現
した場合、高速性という面において非常に有効である。
なぜなら、ニューロ素子では前段出力と重みという2つ
のデータの積和演算をおこなった上で、積和結果により
第4図に示す積和と出力の関数により出力を決定する。
第4図(a)はしきい関数であり、(積和<x)のとき
0、(x=<積和)のとき1を出力する。第4図(b)
は区分線形関数であり(積和=<y)のとき0、(y<
積和<z)のとき積和に応じたリニアな値、(z=<積
和)のとき1を出力する。ここで前段出力及び重みは共
に0以上の数である。従って積和は単調増加するので演
算途中で積和が第4図(a)ではx以上、(b)ではz
以上になったときは処理を終了してもよい。
When a neuro element is realized by the processor of this embodiment, it is very effective in terms of high speed.
This is because, in the neuro element, the product-sum operation of the two data of the preceding stage output and the weight is performed, and then the output is determined by the function of the product-sum and the output shown in FIG.
FIG. 4 (a) shows a threshold function, which outputs 0 when (sum of products <x) and 1 when (x = <sum of products). Fig. 4 (b)
Is a piecewise linear function (0 when sum of products = <y), (y <
A linear value corresponding to the product sum is output when the product sum <z), and 1 is output when (z = << product sum). Here, the output of the preceding stage and the weight are both 0 or more. Therefore, the sum of products increases monotonically, so that the sum of products is greater than or equal to x in FIG.
When the above is reached, the process may be terminated.

次に、第5図(a)〜(c)は本発明の実施例におけ
る連想メモリの構成図、第6図は本実施例の動作モード
一覧図を示すものである。第5図(a)は全体構成図、
(b)は制御部(CTRL)28中の状態出力信号生成回路
図、(c)はアドレスないしリード時のアドレスを生成
する優先度付きデコーダ(PDEC)26の回路図である。第
5図において、20はライトビット(Wb)、21はリードビ
ット(Rb)、22は使用ビット(Ub)(以上3ビットが付
加ビットである)、23はランダムアクセスメモリ部(RA
M)、24は連想比較メモリ部(CAM)、25はアドレスデコ
ーダ(ADEC)、26は優先度付きデコーダ(PDEC)、27は
セレクタ(SEL)、28は制御部(CTRL)、29はライト終
了信号(WEND)、30はリード終了信号(REND)、31はリ
ード要求信号(RREQ)、32は通常ライト信号(NW)、33
は連想ライト信号(ASW)、34は通常リード信号(N
R)、35は連想リード信号(ASR)、36はアドレスなしリ
ード信号(NAR)、37はオールリセット(ARST)、38は
部分リセット(PRST)、39はRAMデータ(RD)、40はCAM
データ(CD)、41はアドレス(A)、42はRAMワードラ
イン(RAMWL)、43はCAMワードライン(CAMWL)、44はC
AMセンスライン(CAMSL)、45はアドレスなしリードワ
ードライン(NARWL)、46a〜46cはゲート、47はラッチ
である。
Next, FIGS. 5 (a) to 5 (c) are configuration diagrams of the associative memory in the embodiment of the present invention, and FIG. 6 is a list of operation modes of the present embodiment. FIG. 5 (a) is an overall configuration diagram,
(B) is a state output signal generation circuit diagram in the control unit (CTRL) 28, and (c) is a circuit diagram of a priority-added decoder (PDEC) 26 that generates an address or an address at the time of reading. In FIG. 5, 20 is a write bit (Wb), 21 is a read bit (Rb), 22 is a used bit (Ub) (the above 3 bits are additional bits), and 23 is a random access memory section (RA).
M), 24 is an associative comparison memory unit (CAM), 25 is an address decoder (ADEC), 26 is a priority decoder (PDEC), 27 is a selector (SEL), 28 is a control unit (CTRL), and 29 is a write end. Signal (WEND), 30 is a read end signal (REND), 31 is a read request signal (RREQ), 32 is a normal write signal (NW), 33
Is an associative write signal (ASW), 34 is a normal read signal (NSW)
R), 35 is associative read signal (ASR), 36 is addressless read signal (NAR), 37 is all reset (ARST), 38 is partial reset (PRST), 39 is RAM data (RD), 40 is CAM
Data (CD), 41 is address (A), 42 is RAM word line (RAMWL), 43 is CAM word line (CAMWL), 44 is C
AM sense line (CAMSL), 45 is an addressless read word line (NARWL), 46a to 46c are gates, and 47 is a latch.

以上のように構成された連想メモリの実施例につい
て、第5図、第6図を用いて、その動作を説明する。な
お、以下の説明はデータフロー装置におけるプロセッサ
間の接続機構としての使用を前提にしている。
The operation of the embodiment of the associative memory configured as described above will be described with reference to FIGS. 5 and 6. The following description is premised on the use as a connection mechanism between processors in the data flow device.

まずオールリセット37(ARST=1)をアサートして、
全てのワードをパージする。これは、連想メモリを使用
する一番最初、例えば電源投入直後に行なう動作であ
る。具体的には、ライト済を意味するWb20、リード済み
を意味するRb21、ユーザの使用領域を意味するUb22を全
て0とする。通常の初期化にあたっては、部分リセット
38(PRST=1)をアサートして、ユーザの使用するワー
ドをパージする。これは、連想メモリのRAM23及びCAM24
の使用領域を全て更新する前に行なう動作である。具体
的には、ライト済を意味するWb20、リード済みを意味す
るRb21を全て0とする。
First assert all reset 37 (ARST = 1),
Purge all words. This is the first operation using the associative memory, for example, an operation performed immediately after the power is turned on. Specifically, all of Wb20 that means written, Rb21 that means read, and Ub22 that means the area used by the user are set to 0. For normal initialization, partial reset
Assert 38 (PRST = 1) to purge the word for user use. This is associative memory RAM23 and CAM24
This is an operation performed before updating all the used areas of. Specifically, Wb20, which means written, and Rb21, which means read, are all set to 0.

続いて、連想メモリを利用するデータの転送に先だっ
てCD40よりCAM24に識別番号を設定する。通常ライト32
(NW=1)をアサートして、A41をADEC25でデコードし
てCAMWL43をアサートし、CAM24にCD40をライトする。ま
た、CTRL28はSEL27経由でCAMWL43をRAMWL42に伝え、RAM
23の一部または全部にRD39をライトする。この時同時に
ユーザの使用領域を示すUb22をセットする。以上で転送
に先立つ設定が終了する。
Subsequently, the identification number is set in the CAM 24 from the CD 40 prior to the data transfer using the associative memory. Normal light 32
(NW = 1) is asserted, A41 is decoded by ADEC25, CAMWL43 is asserted, and CD40 is written to CAM24. Also, CTRL28 transmits CAMWL43 to RAMWL42 via SEL27,
Write RD39 to some or all of 23. At this time, Ub22 indicating the area used by the user is set at the same time. This completes the setting prior to transfer.

続いて、プロセッサからデータを連想メモリに転送す
る。連想ライト33(ASW=1)をアサートして、CD40をC
AM24で連想比較して一致したCAMSL44をアサートする。C
TRL28はSEL27経由でCAMSL44をRAMWL42に伝え、RAM23の
一部または全部にRD39をライトする。ただし、これはユ
ーザの使用領域、つありUb=1のワードに限られる。こ
の時同時にライト終了を意味するWb20をセットする。そ
して、プロセッサから連想メモリへのデータ転送が終了
した時、即ち連想メモリが全てのデータを受け取った
時、連想メモリはWEND29をアサートする。これはユーザ
使用領域へのライトが全て終了した時であるので、Ub=
1のWb20が全て1の時アサートされる。実際には、Ub=
0のワード(ユーザ未使用領域)ではWb=0であるので
この領域はライト済みに見せる必要があり、第5図
(b)の(i)に示す様にWb20とUb22の反転信号のオア
を全てアンドしてWEND29を得る。
Subsequently, the data is transferred from the processor to the associative memory. Assert the associative light 33 (ASW = 1) to drive CD40 to C
Assert the matching CAMSL44 by associative comparison in AM24. C
TRL28 transmits CAMSL44 to RAMWL42 via SEL27, and writes RD39 to a part or all of RAM23. However, this is limited to the area used by the user, that is, the word with Ub = 1. At the same time, Wb20, which means the end of writing, is set. Then, when the data transfer from the processor to the associative memory is completed, that is, when the associative memory receives all the data, the associative memory asserts WEND29. This is when all writing to the user-used area has finished, so Ub =
It is asserted when Wb20 of 1 is all 1. Actually, Ub =
In the word of 0 (area not used by the user), Wb = 0, so it is necessary to show this area as already written. As shown in (i) of FIG. 5 (b), the OR of the inverted signal of Wb20 and Ub22 is displayed. And all and get WEND29.

最後に、次の階層のプロセッサが連想メモリをリード
する。アドレスなしリード36(NAR=1)をアサートし
て、RDEC26がリードすべきワードを判断してNARWL45を
アサートする。CTRL28はSEL27経由でNARWL45をRAMWL42
に伝え、RAM23の一部または全部をRD39にリードする。
この時、同時にRb21をセットする。ここで、次の階層の
プロセッサにデータを転送する時、即ち連想メモリにリ
ードしてほしい有効なデータが存在する時、連想メモリ
はRREQ31をアサートする。これはユーザ使用領域におい
て、ライトされているがリードされていないワードが存
在する時であるので、Ub=1の領域のうちWb=1かつRb
=0のワードがある時アサートされる。実際には、Ub=
0のワードではWb=0であるのでこの領域は考えなくて
よく、第5図(b)の(ii)に示す様にRb21の反転とWb
20のアンドを全てオアしてRREQ31を得る。
Finally, the processor in the next layer reads the associative memory. Assert Addressless Read 36 (NAR = 1), determine which word the RDEC 26 should read and assert NARWL 45. CTRL28 is NRWWL45 via SEL27 to RAMWL42
And read part or all of RAM23 to RD39.
At this time, Rb21 is set at the same time. Here, the associative memory asserts RREQ31 when transferring data to the processor of the next layer, that is, when there is valid data to be read in the associative memory. This is when there is a word that has been written but not read in the user use area, so that Wb = 1 and Rb in the area of Ub = 1.
Asserted when there is a = 0 word. Actually, Ub =
Since Wb = 0 in the word of 0, it is not necessary to consider this area, and as shown in (ii) of FIG. 5 (b), the inversion of Rb21 and Wb21
OR all 20 AND's and get RREQ 31.

また次の階層のプロセッサへのデータ転送が終了した
時、即ち連想メモリの有効なデータが全てリードされた
時、連想メモリはREND30をアサートする。これはユーザ
使用領域において全てライトされ続いてすべてリードさ
れた時であるので、Ub=1の領域のWbとRbが全て1であ
る時アサートされる。実際には、Ub=0の領域はライト
及びリードが共に終了したと見せる必要があり、第5図
(b)の(iii)に示す様にUb22を反転した信号と、Rb2
1、Wb20、Ub22のアンドをオアしたものを全てアンドし
てREND30を得る。
Further, the associative memory asserts REND30 when the data transfer to the processor in the next layer is completed, that is, when all the valid data in the associative memory are read. Since this is the time when all are written in the user use area and then all are read, it is asserted when Wb and Rb of the area of Ub = 1 are all 1. Actually, it is necessary to show that the writing and reading are both completed in the area of Ub = 0. As shown in (iii) of FIG. 5B, the inverted signal of Ub22 and Rb2
And RAND30 is obtained by ANDing all the ANDs of 1, Wb20 and Ub22.

なお、アドレスなしリード時のアドレスの生成につい
ては、リード候補のワードのうちの1つを選択すればよ
く、回路は第5図(c)に示す様になる。本実施例で
は、Wb=1かつRb=0のワードがリード候補であるの
で、Wb20と、Rb21の反転のアンドがリード候補を示すビ
ットに相当する。これらとNAR36のアンドをとったもの
がNARWL45になりうる。ここで、1つでもNARWL45がアサ
ートされた時は、他が1にならないようにゲート46a,46
b,46cで順次候補の伝達を押さえることにより1ワード
だけの選択を実現する。リード終了後、NARWL45をラッ
チ47経由でRb21に伝えてこれをセットする。
For address generation during addressless read, one of the read candidate words may be selected, and the circuit is as shown in FIG. 5 (c). In the present embodiment, the word with Wb = 1 and Rb = 0 is a read candidate, and the AND of the inversion of Wb20 and Rb21 corresponds to the bit indicating the read candidate. NARWL45 can be obtained by taking the AND of these and NAR36. Here, when at least one NARWL45 is asserted, the gates 46a and 46 will be set so that the others do not become 1.
Selection of only one word is realized by suppressing the transmission of candidates sequentially with b and 46c. After read, NARWL45 is transmitted to Rb21 via latch 47 and set.

なお、通常リード34(NR=1)アサート時は、A41をA
DEC25でデコードしてCAMWL43をアサートしCAM24よりCD4
0にリードする。また、CTRL28はSEL27経由でCAMWL43をR
AMWL42に伝え、RAM23の一部または全部をRD39にリード
する。
When asserting the normal read 34 (NR = 1), set A41 to A
Decode with DEC25, assert CAMWL43, and CAM24 to CD4
Lead to 0. In addition, CTRL28 is CAMWL43 via SEL27
Inform AMWL42 and read part or all of RAM23 to RD39.

また、連想リード35(ASR=1)時は、CD40をCAM24で
連想比較して一致したCAMSL44をアサートする。CTRL28
はSEL27経由でCAMSL44をRAMWL42に伝え、RAM23の一部ま
たは全部をRD39にリードする。NR及びASRの2つのモー
ドは、本発明のデータフロー装置では使用しないが、メ
モリテストのためには必要である。
Further, when the associative read 35 (ASR = 1), the CD 40 is associatively compared with the CAM 24 and the matching CAM SL 44 is asserted. CTRL28
Transmits CAMSL44 to RAMWL42 via SEL27 and reads part or all of RAM23 to RD39. The two modes of NR and ASR are not used in the data flow device of the present invention, but are necessary for memory testing.

以上述べてきたように本実施例によれば、優先度付き
デコーダ26が有効データワードを順次指示することによ
り、アドレス41または連想比較メモリ部24の値なしで連
続的に有効なデータから順次リードすることができる。
次の階層のプロセッサは有効なものからリードでき、そ
れらを用いて処理を開始できる。無駄な待ち時間が発生
しないので、処理を高速化が実現できる。また連想比較
メモリ部の接続情報を書き換えることによりプロセッサ
間の接続関係が柔軟に実現できる。
As described above, according to the present embodiment, the prioritized decoder 26 sequentially designates valid data words so that consecutive valid data is sequentially read without the value of the address 41 or the associative comparison memory unit 24. can do.
The next level of processors can read from the available ones and use them to start processing. Since no unnecessary waiting time is generated, the processing can be speeded up. Further, the connection relation between the processors can be flexibly realized by rewriting the connection information of the associative comparison memory unit.

以上の特徴により特にニューラルネットワーク装置に
おいて高速かつ柔軟なデータ伝達機構が実現できるわけ
であり、続いてこれらについて詳細に説明する。なお、
ニューラルネットワークについては、ニューラルネット
ワーク情報処理(麻生英樹著、産業図書)等に詳しい解
説がなされている。
Due to the above characteristics, a high-speed and flexible data transmission mechanism can be realized especially in a neural network device. Next, these will be described in detail. In addition,
Regarding neural networks, detailed explanations are given in neural network information processing (Hideki Aso, Industrial Books).

さて第7図(a),(b)は本発明のデータフロー装
置を使用したhopfield型ニューラルネットワーク装置の
実施例の構成図、第8図(a),(b)はこれを使用し
た階層型ニューラルネットワーク装置の実施例の構成図
を示すものである。これらの図において1a〜1d、1o〜1
r、1x〜1wはプロセッサ、2a〜2d、2i〜2lは連想メモ
リ、3,3a,3bはバス、22は使用ビット(Ub)、23,23a,23
bはランダムアクセスメモリ部(RAM)、24は連想比較部
(CAM)、50a,50bはデータ、51は識別番号、54は重み、
55a〜55dは外部入力、56a〜56dは外部出力である。
7 (a) and 7 (b) are configuration diagrams of an embodiment of a hopfield type neural network device using the data flow device of the present invention, and FIGS. 8 (a) and 8 (b) are hierarchical types using the same. It is a block diagram of the Example of a neural network apparatus. 1a-1d, 1o-1 in these figures
r, 1x to 1w are processors, 2a to 2d, 2i to 2l are associative memories, 3,3a and 3b are buses, 22 is used bits (Ub), 23, 23a and 23
b is a random access memory unit (RAM), 24 is an associative comparison unit (CAM), 50a and 50b are data, 51 is an identification number, 54 is a weight,
55a to 55d are external inputs, and 56a to 56d are external outputs.

まず、第7図(a),(b)について説明する。これ
は4つのニューロ素子が互いに接続されたhopfield型モ
デルに対応する。
First, FIGS. 7A and 7B will be described. This corresponds to the hopfield type model in which four neuro elements are connected to each other.

プロセッサ1a〜1dは本発明の演算装置を内蔵したもの
であり、これがニューロ素子に対応する。
Each of the processors 1a to 1d incorporates the arithmetic unit of the present invention, which corresponds to a neuro element.

連想メモリ2a〜2dはプロセッサ間の接続に相当し、CA
M24に全てのプロセッサの識別番号(例えば第7図
(a)で連想メモリ2aのCAM24に1a、1b、1c、1dと格
納)を格納して、すべてのプロセッサ同士の接続を実現
する。
The associative memories 2a to 2d correspond to connections between processors, and CA
The identification numbers of all the processors are stored in M24 (for example, 1a, 1b, 1c, 1d are stored in the CAM 24 of the associative memory 2a in FIG. 7A) to realize the connection between all the processors.

ニューロ素子は、2つの数値、即ち前段のプロセッサ
の出力データ及びニューロ素子間の結合の重みの積和に
より出力を決定する。これを実現するために連想メモリ
2a〜2dのRAMを2分割し、23aにデータ50を、23bに重み5
4を格納し、これらをプロセッサに供給する。重み54は
転送動作の開始する前に、あらかじめ設定しておく。
The neuro element determines the output by two numerical values, that is, the sum of products of the output data of the preceding processor and the weight of the coupling between the neuro elements. Associative memory to achieve this
RAM of 2a to 2d is divided into two, data 50 in 23a and weight 5 in 23b
Store 4 and feed them to the processor. The weight 54 is set in advance before starting the transfer operation.

動作は次の様になる。連想メモリ2a〜2dは識別番号51
をCAM24で比較して一致時にデータ50をRAM23aに取り込
む。データ50がニューロ素子からのデータ出力に対応す
る。プロセッサ1a〜1dは、前記したアドレスなしリード
でRAM23aからデータ50を、RAM23bから重み54を取り出し
て積和演算を行ない次の出力を決定する。次にプロセッ
サ1a〜1dは、バス3の空きを見て識別番号51と共に演算
結果であるデータ50を出力して連想メモリ2a〜2dにライ
トする。これをプロセッサ出力が収束するまで繰り返す
ことで与えられた命題、例えば巡回セールスマン問題等
の解が得られる。
The operation is as follows. The associative memories 2a to 2d have an identification number 51.
Are compared by the CAM 24 and the data 50 is taken into the RAM 23a when they match. The data 50 corresponds to the data output from the neuro element. The processors 1a to 1d extract the data 50 from the RAM 23a and the weight 54 from the RAM 23b by the above-mentioned addressless read, perform the sum of products operation, and determine the next output. Next, the processors 1a to 1d look at the vacancy of the bus 3 and output the data 50 which is the operation result together with the identification number 51 and writes it in the associative memories 2a to 2d. By repeating this until the processor output converges, a given proposition, for example, the solution of the traveling salesman problem can be obtained.

以上のように本方式では、ネットワークとして1本の
バス3のみがあればよく、少ないハードでの実現が可能
である。
As described above, in this method, only one bus 3 is required as a network, and it can be realized with a small amount of hardware.

続いて、階層型モデルの2つの実施例を第8図を用い
て説明する。連想メモリ周辺は第7図(b)と同様であ
る。これは4つの入力が入力層の4つのニューロ素子全
てに接続され、続いて入力層の4つのニューロ素子が中
間層の4つのニューロ素子全て接続され、最後に中間層
の4つの出力を出力に接続した3階層のモデルである。
Next, two embodiments of the hierarchical model will be described with reference to FIG. The area around the associative memory is the same as in FIG. 7 (b). This means that four inputs are connected to all four neuro elements in the input layer, four neuro elements in the input layer are connected to all four neuro elements in the intermediate layer, and finally four outputs in the intermediate layer are output. It is a model of three connected layers.

まず第8図(a)について説明する。連想メモリ2a〜
2dには外部入力55a〜55dとプロセッサ1a〜1dとの接続
が、連想メモリ2e〜2hにはプロセッサ1a〜1dとプロセッ
サ1o〜1rとの接続が記載されている。データ50と識別番
号51からなる外部入力55a〜55dがバス3aに入力され、連
想メモリ2a〜2dのCAM24の識別番号が一致したワードに
データ50が取り込まれる。それと同時にプロセッサ1a〜
1dは連想メモリ2a〜2dにおいてライトされたワードから
順次リードする。前記した優先度付きデコーダを用いた
アドレスなしリードにより効率よいリードが実現でき
る。プロセッ1a〜1dは、連想メモリ2a〜2dからリードし
たデータ50と重み54の積和演算を行ない決められた関数
値が求まり次第、バス3bに出力する。
First, FIG. 8 (a) will be described. Associative memory 2a ~
Connections between the external inputs 55a to 55d and the processors 1a to 1d are described in 2d, and connections between the processors 1a to 1d and the processors 1o to 1r are described in the associative memories 2e to 2h. External inputs 55a to 55d consisting of the data 50 and the identification number 51 are input to the bus 3a, and the data 50 is fetched in the word in which the identification numbers of the CAMs 24 of the associative memories 2a to 2d match. At the same time, processor 1a ~
1d sequentially reads from the words written in the associative memories 2a to 2d. Efficient read can be realized by the addressless read using the above-mentioned priority-added decoder. The processors 1a to 1d carry out a product-sum operation of the data 50 read from the associative memories 2a to 2d and the weight 54, and when the determined function value is obtained, output it to the bus 3b.

続いて、バス3bから外部出力56a〜56dまで同様の動作
を繰り返す。今度はバス3bに出力されたデータを連想メ
モリ2e〜2hが取り込む。それと同時にプロセッサ1o〜1r
は連想メモリ2e〜2hにおいてライトされたワードから順
次リードする。プロセッサ1o〜1rは、連想メモリからリ
ードしたデータ50と重み54の積和演算を行ない決められ
た関数値が求まり次第外部出力56a〜56dに出力する。以
上により、1回の推論過程が終了する。学習は、連想メ
モリの重みを書き換えれることで実現される。これは、
例えば推論過程と逆方向にデータを転送することで実現
される。外部出力56a〜56dから教師入力(パターン認識
における正解値)を入力し、推論と逆方向に伝える。各
プロセッサはバックプロパゲーション等のアルゴリズム
に沿って重みの計算を行ない連想メモリの重みを更新す
る。各プロセッサは並列に動作できるので、高速に処理
可能である。
Then, the same operation is repeated from the bus 3b to the external outputs 56a to 56d. This time, the data output to the bus 3b is captured by the associative memories 2e to 2h. At the same time processor 1o ~ 1r
Reads sequentially from the word written in the associative memories 2e to 2h. The processors 1o to 1r perform a product-sum operation of the data 50 read from the associative memory and the weight 54, and output to the external outputs 56a to 56d as soon as the determined function value is obtained. With the above, one inference process is completed. Learning is realized by rewriting the weight of the associative memory. this is,
For example, it is realized by transferring data in the reverse direction of the inference process. Teacher input (correct answer in pattern recognition) is input from external outputs 56a to 56d and transmitted in the opposite direction of inference. Each processor updates the weight of the associative memory by calculating the weight according to an algorithm such as backpropagation. Since each processor can operate in parallel, high speed processing is possible.

次に第8図(b)について説明する。これは、第8図
(a)を時分割で使用した例であり、ハード量が少な
い。連想メモリ2i〜2lには第8図(a)で示した外部入
力55a〜55dとプロセッサ1a〜1dとの接続及びプロサッサ
1a〜1dとプロセッサ1o〜1rとの接続が共に格納されてい
る。例えば、第8図(a)における連想メモリ2a,2eが2
iに、プロセッサ1a,1oが1xに対応する。
Next, FIG. 8 (b) will be described. This is an example in which FIG. 8 (a) is used in a time division manner, and the amount of hardware is small. The associative memories 2i to 2l are connected to the external inputs 55a to 55d and the processors 1a to 1d shown in FIG.
The connections between 1a-1d and processors 1o-1r are stored together. For example, the associative memories 2a and 2e in FIG.
For i, the processors 1a and 1o correspond to 1x.

データ50と識別番号51からなる外部入力55a〜55dがバ
ス3に入力され、連想メモリ2i〜2lのCAM24の識別番号
が一致したワードにデータ50が取り込まれる。それと同
時にプロセッサ1x〜1wは連想メモリ2i〜2lにおいてライ
トされたワード(55a〜55d)から順次リードする。前記
した優先度付きデコーダを用いたアドレスなしリードに
より効率よいリードが実現できる。プロセッサ1x〜1w
は、連想メモリ2i〜2lからリードしたデータ50と重み54
の積和演算を行ない入力層としての関数に従って値を求
め、自分の識別番号と共に再びバス3に出力する。
External inputs 55a to 55d composed of the data 50 and the identification number 51 are input to the bus 3, and the data 50 is fetched into the word in which the identification numbers of the CAMs 24 of the associative memories 2i to 2l match. At the same time, the processors 1x to 1w sequentially read from the words (55a to 55d) written in the associative memories 2i to 2l. Efficient read can be realized by the addressless read using the above-mentioned priority-added decoder. Processor 1x-1w
Is the data 50 read from the associative memories 2i to 2l and the weight 54.
The sum of products is calculated according to the function as the input layer, and the value is output to the bus 3 again together with its own identification number.

続いて、この中間データに対して同様の動作を繰り返
す。バス3上の識別番号51により、連想メモリ2i〜2lは
CAM24の一致を判定しデータ50を取り込む。それと同時
にプロセッサ1x〜1wは連想メモリ2i〜2lにおいてライト
されたワード(1a〜1d)から順次リードする。プロセッ
サ1x〜1wは、連想メモリ2i〜2lからリードしたデータ50
と重み54の積和演算を行ない出力層としての関数に従っ
て値を求め、外部出力56a〜56dに出力する。以上によ
り、1回の推論過程(パターン認識でのパターンマッチ
ング)が終了する。学習時は、第8図(a)と同様に連
想メモリの重みを書き換えることで実現される。
Then, the same operation is repeated for this intermediate data. The associative memories 2i to 2l are identified by the identification number 51 on the bus 3.
The CAM24 match is determined and the data 50 is loaded. At the same time, the processors 1x to 1w sequentially read from the words (1a to 1d) written in the associative memories 2i to 2l. Processors 1x to 1w use data 50 read from the associative memories 2i to 2l.
And the weight 54 are summed, and a value is obtained according to a function as an output layer and output to external outputs 56a to 56d. As described above, one inference process (pattern matching in pattern recognition) is completed. At the time of learning, it is realized by rewriting the weight of the associative memory as in the case of FIG.

以上のhopfield型及び階層型の実施例において、ニュ
ーロ素子での入出力関係は第4図に示したようになるこ
とを考えれば、積和演算を所定の条件により終了する本
発明の演算装置は高速化の点で非常に有効である。ま
た、接続関係及び重みはそれぞれ連想メモリの連想比較
メモリ部及びランダムアクセスメモリ部の書き換えで実
現できるので、ソフトウェアで容易に変更でき非常に柔
軟なシステムの構築が可能となる。また、この接続関係
を格納した連想メモリを利用したことでニューロ間のネ
ットワークの実現が少ないハード量で可能となる。ま
た、これはデジタル回路で実現容易であるので高精度が
期待できる。
In the above hopfield type and hierarchical type embodiments, considering that the input / output relationship in the neuro element is as shown in FIG. It is very effective in terms of speeding up. Further, since the connection relation and the weight can be realized by rewriting the associative comparison memory unit and the random access memory unit of the associative memory, respectively, they can be easily changed by software and a very flexible system can be constructed. In addition, by using the associative memory that stores this connection relation, it is possible to realize a network between neuros with a small amount of hardware. Further, since this is easily realized by a digital circuit, high accuracy can be expected.

発明の効果 以上述べてきたように、本発明におけるデータフロー
装置は、連想メモリ部を書き換えることでダイナミック
にソフトウェアでプロセッサ間の接続関係を変更するこ
とができるので極めて柔軟性の高いシステムが実現でき
る。またこの接続は1本のバスで実現できるためネット
ワークに要するハード量も少ない。また、連想メモリ装
置の有効なデータから順次連続的にリードできるため、
処理の高速化が実現できる。演算装置及び連想メモリ装
置を利用することでデジタル回路での実現が可能になり
精度、柔軟性共に向上する。また本発明のプロセッサ
は、所定の条件を満足したときに割り込みを発生して処
理を終了することができる。そのためプログラムにより
積和結果を判定する必要がないのでプログラムが短かく
なり処理の高速化が実現できる。
EFFECTS OF THE INVENTION As described above, in the data flow device according to the present invention, it is possible to dynamically change the connection relationship between the processors by software by rewriting the associative memory unit, so that an extremely flexible system can be realized. . Also, since this connection can be realized by one bus, the amount of hardware required for the network is small. In addition, since the valid data of the associative memory device can be sequentially read sequentially,
The processing speed can be increased. By using the arithmetic unit and the associative memory device, it can be realized by a digital circuit, and both accuracy and flexibility are improved. Further, the processor of the present invention can terminate the processing by generating an interrupt when a predetermined condition is satisfied. Therefore, since it is not necessary to determine the sum of products result by the program, the program becomes short and the processing speed can be increased.

また本発明における連想メモリは、アドレスまたは連
想比較メモリ部の値なしで連続的に有効なデータから順
次リードでき、処理の高速化が実現できる。そして、こ
れらのプロセッサ及び連想メモリを用いたデーターフロ
ー装置は、hopfield型及び階層型両方のニューラルネッ
トワーク装置に非常に容易かつ自然に適用可能であり、
高速、高精度、柔軟でハード量の少ないシステムを実現
する。ニューラルネットワーク装置の将来性に大きな期
待が寄せられ研究が盛んに行われるようになった現在、
本発明は研究、製品開発の両面において非常に有用なも
のである。
Further, the associative memory according to the present invention can sequentially read from valid data without any address or the value of the associative comparison memory unit, and the processing speed can be increased. And, the data flow device using these processors and associative memory is very easily and naturally applicable to both hopfield type and hierarchical type neural network devices,
Realize a system that is fast, highly accurate, flexible, and has a small amount of hardware. With great expectations for the future potential of neural network devices, research has been actively conducted,
The present invention is extremely useful in both research and product development.

【図面の簡単な説明】[Brief description of drawings]

第1図は本発明の一実施例におけるデータフロー装置の
構成図、第2図は本発明の一実施例におけるプロセッサ
の構成図、第3図は積和演算を行なうプログラム例を示
す図、第4図はニューロ素子における積和と出力の関係
図、第5図(a)〜(c)は本発明の一実施例における
連想メモリの構成図、第6図は同実施例における連想メ
モリの動作モード一覧図、第7図(a),(b)は本発
明のデータフロー装置を使用したhopfieldニューラルネ
ットワーク装置の実施例の構成図、第8図(a),
(b)は本発明のデータフロー装置を使用した階層型ニ
ューラルネットワーク装置の実施例の構成図、第9図は
従来のhopfield型ニューラルネットワーク装置の構成
図、第10図は従来のプロセッサの構成図、第11図は従来
の連想メモリの構成図である。 1……プロセッサ、2……連想メモリ、3……バス、10
……入力、11……乗算器、12……加算器、13……出力ラ
ッチ、14……条件判定器、15……割り込み信号、16……
制御装置、17……積和、20……ライトビット(Wb)、21
……リードビット(Rb)、22……使用ビット(Ub)、23
……ランダムアクセスメモリ部(RAM)、24……連想比
較メモリ部(CAM)、25……アドレスデコーダ(ADE
C)、26……優先度付きデコーダ(PDEC)、27……セレ
クタ(SEL)、28……制御部(CTRL)、29……ライト終
了信号(WEND)、30……リード終了信号(REND)、31…
…リード要求信号(RREQ)、32……通常ライト信号(N
W)、33……連想ライト信号(ASW)、34……通常リード
信号(NR)、35……連想リード信号(ASR)、36……ア
ドレスなしリード信号(NAR)、37……オールリセット
(ARST)、38……部分リセット(PRST)、39……RAMデ
ータ(RD)、40……CAMデータ(CD)、41……アドレス
(A)、42……RAMワードライン(RAMWL)、43……CAM
ワードライン(CAMWL)、44……CAMセンスライン(CAMS
L)、45……アドレスなしリードワードライン(NARW
L)、46……ゲート、47……ラッチ、50……データ、51
……識別番号、54……重み、55……外部入力、56……外
部出力。
FIG. 1 is a block diagram of a data flow device in one embodiment of the present invention, FIG. 2 is a block diagram of a processor in one embodiment of the present invention, and FIG. FIG. 4 is a relational diagram of sum of products and output in the neuro element, FIGS. 5A to 5C are configuration diagrams of the associative memory in one embodiment of the present invention, and FIG. 6 is an operation of the associative memory in the same embodiment. Mode list diagram, FIGS. 7 (a) and 7 (b) are configuration diagrams of an embodiment of a hopfield neural network device using the data flow device of the present invention, FIG. 8 (a),
(B) is a configuration diagram of an embodiment of a hierarchical neural network device using the data flow device of the present invention, FIG. 9 is a configuration diagram of a conventional hopfield type neural network device, and FIG. 10 is a configuration diagram of a conventional processor. FIG. 11 is a block diagram of a conventional associative memory. 1 ... Processor, 2 ... Associative memory, 3 ... Bus, 10
...... Input, 11 …… Multiplier, 12 …… Adder, 13 …… Output latch, 14 …… Condition judge, 15 …… Interrupt signal, 16 ……
Controller, 17 ... Sum of products, 20 ... Light bit (Wb), 21
…… Read bit (Rb), 22 …… Used bit (Ub), 23
...... Random access memory (RAM), 24 ...... Associative comparison memory (CAM), 25 ...... Address decoder (ADE)
C), 26 ... Decoder with priority (PDEC), 27 ... Selector (SEL), 28 ... Control section (CTRL), 29 ... Write end signal (WEND), 30 ... Read end signal (REND) , 31 ...
… Read request signal (RREQ), 32 …… Normal write signal (N
W), 33 ... Associative write signal (ASW), 34 ... Normal read signal (NR), 35 ... Associative read signal (ASR), 36 ... Addressless read signal (NAR), 37 ... All reset ( ARST), 38 ... Partial reset (PRST), 39 ... RAM data (RD), 40 ... CAM data (CD), 41 ... Address (A), 42 ... RAM wordline (RAMWL), 43 ... … CAM
Word line (CAMWL), 44 …… CAM sense line (CAMS
L), 45 ... Read word line without address (NARW
L), 46 ... Gate, 47 ... Latch, 50 ... Data, 51
…… Identification number, 54 …… Weight, 55 …… External input, 56 …… External output.

───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.6 識別記号 庁内整理番号 FI 技術表示箇所 G11C 15/00 G11C 15/00 D (72)発明者 香川 実 大阪府門真市大字門真1006番地 松下電 器産業株式会社内 (72)発明者 加納 昌明 大阪府門真市大字門真1006番地 松下電 器産業株式会社内─────────────────────────────────────────────────── ─── Continuation of front page (51) Int.Cl. 6 Identification number Internal reference number FI Technical indication location G11C 15/00 G11C 15/00 D (72) Inventor Minoru Kagawa 1006 Kadoma, Kadoma-shi, Osaka Matsushita (72) Inventor Masaaki Kano 1006 Kadoma, Kadoma-shi, Osaka Prefecture Matsushita Electric Industrial Co., Ltd.

Claims (3)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】複数のプロセッサの出力をバスに共通に接
続し、前記バスを前記プロセッサの識別番号によりアク
セスされる複数の連想メモリの入力に接続することで1
階層を構成し、第N番目(Nは自然数)の階層の連想メ
モリの出力をそれぞれ第N+1番目の階層のプロセッサ
の入力とするデータフロー装置。
1. By connecting the outputs of a plurality of processors to a bus in common and connecting the bus to the inputs of a plurality of associative memories accessed by the identification numbers of the processors,
A data flow device that configures a hierarchy and uses an output of an associative memory of an Nth hierarchy (N is a natural number) as an input to a processor of an N + 1th hierarchy.
【請求項2】前記プロセッサは乗算器と、前記乗算器の
出力と自分自身の1回前の出力とを加算する加算器と、
前記加算器の出力をモニタし、あらかじめ設定された条
件を満足した時に割り込みを発生する条件判定器と、前
記割り込みにより当該演算を終了する制御装置とからな
る演算装置を有することを特徴とする特許請求の範囲第
1項記載のデータフロー装置。
2. The processor includes a multiplier, and an adder that adds the output of the multiplier and the output of the previous one of itself.
Patents characterized by having an arithmetic unit consisting of a condition determiner that monitors the output of the adder and generates an interrupt when a preset condition is satisfied, and a controller that terminates the arithmetic operation by the interrupt. The data flow device according to claim 1.
【請求項3】前記連想メモリはアドレスデコーダと、各
ワード毎にデータの属性を示す付加ビットと、前記付加
ビットによりリード可能である旨が示されたワードのう
ちの一つのアドレスを選択する優先付きデコーダと、前
記アドレスデコーダの示すアドレスによりアクセスさ
れ、第1の識別番号を記憶する連想比較メモリ部と、前
記アドレスデコーダの示すアドレス、または外部から入
力された第2の識別番号と前記連想比較メモリ部内部に
記憶された前記第1の識別番号とを前記連想比較メモリ
部で比較して一致検出したアドレス、または前記優先度
付きデコーダにより示されるアドレスによりワードの一
部または全部がアクセスされるランダムアクセスメモリ
部とを有することを特徴とする特許請求の範囲第1項ま
たは第2項記載のデータフロー装置。
3. The associative memory has priority to select an address decoder, an additional bit indicating a data attribute for each word, and an address of one of the words indicated by the additional bit as readable. Associated decoder, an associative comparison memory unit that is accessed by the address indicated by the address decoder and stores a first identification number, and an address indicated by the address decoder or a second identification number input from the outside and the associative comparison Part or all of the word is accessed by an address which is detected as a match by comparing the first identification number stored in the memory unit with the associative comparison memory unit or an address indicated by the decoder with priority. The random access memory unit according to claim 1 or 2, characterized in that Tafuro apparatus.
JP1198963A 1989-07-31 1989-07-31 Data flow device Expired - Lifetime JP2517118B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1198963A JP2517118B2 (en) 1989-07-31 1989-07-31 Data flow device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1198963A JP2517118B2 (en) 1989-07-31 1989-07-31 Data flow device

Publications (2)

Publication Number Publication Date
JPH0363778A JPH0363778A (en) 1991-03-19
JP2517118B2 true JP2517118B2 (en) 1996-07-24

Family

ID=16399842

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1198963A Expired - Lifetime JP2517118B2 (en) 1989-07-31 1989-07-31 Data flow device

Country Status (1)

Country Link
JP (1) JP2517118B2 (en)

Also Published As

Publication number Publication date
JPH0363778A (en) 1991-03-19

Similar Documents

Publication Publication Date Title
JP3210319B2 (en) Neurochip and neurocomputer using the chip
JP3098071B2 (en) Computer system for efficient execution of programs with conditional branches
JPH08241291A (en) Processor
WO1994003860A1 (en) Massively parallel computer including auxiliary vector processor
JP2584113B2 (en) Data transfer method and data transfer device
JPH0348304A (en) High speed digital motion controller
JP2517118B2 (en) Data flow device
JP3407859B2 (en) Codec
JPH04316153A (en) Neuro-processor
JPH02500692A (en) Integration of computational elements in multiprocessor computers
JP3271307B2 (en) Test pattern generator for semiconductor memory
GB2590389A (en) Method and apparatus for control of memory banks
JPS6354637A (en) Computer
JP3451640B2 (en) SIMD computer
JP2605829B2 (en) Fuzzy inference method and fuzzy inference device
JP2626335B2 (en) Fuzzy arithmetic device and input / output access method in the device
CN114565075A (en) Apparatus, method and readable storage medium for supporting multiple access modes
JP2798492B2 (en) List vector processing device
JPS5875250A (en) Digital information processor
JPS63503101A (en) data storage and transfer equipment
JPH0370053A (en) Memory access control system
EP1405262A2 (en) Circuits for pre-charging global resources in all the free neurons of an artificial neural network
JPH04188323A (en) Microinstruction reading out system
Molntyve THE ILLIAC IV COMPUTER
JPH02149150A (en) Communication data buffer control system