JP2008299381A - Parallel arithmetic unit and parallel arithmetic method - Google Patents

Parallel arithmetic unit and parallel arithmetic method Download PDF

Info

Publication number
JP2008299381A
JP2008299381A JP2007141671A JP2007141671A JP2008299381A JP 2008299381 A JP2008299381 A JP 2008299381A JP 2007141671 A JP2007141671 A JP 2007141671A JP 2007141671 A JP2007141671 A JP 2007141671A JP 2008299381 A JP2008299381 A JP 2008299381A
Authority
JP
Japan
Prior art keywords
unit
input
output
token
storage unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2007141671A
Other languages
Japanese (ja)
Inventor
Masayoshi Gohara
正義 轟原
Nobuo Karaki
信雄 唐木
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson 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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2007141671A priority Critical patent/JP2008299381A/en
Publication of JP2008299381A publication Critical patent/JP2008299381A/en
Withdrawn legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a parallel arithmetic unit and a parallel arithmetic method for simplifying wiring between a plurality of arithmetic units. <P>SOLUTION: The parallel arithmetic unit is equipped with: a plurality of units daisy-chained through a daisy-chain control bus in a predetermined sequence; and an amplifier for receiving an output value to be output by any one of the plurality of units through a unit output bus, and for outputting the received output value as an input value through a unit input bus to each of the plurality of units. Each of the units is configured to perform an arithmetic operation by an arithmetic method predetermined for each unit based on the input value from the amplifier to be input through the unit output bus, and to, according as a token is input from the previous unit through the daisy-chain control bus, output the token through the daisy-chain control bus to the next unit, and to output the arithmetic result through a unit output bus to the amplifier as the output value. <P>COPYRIGHT: (C)2009,JPO&INPIT

Description

本発明は、複数の演算ユニットを有する並列演算装置に関し、特に、複数の演算ユニット間の接続を簡易にすることを可能とする並列演算装置に関する。   The present invention relates to a parallel arithmetic device having a plurality of arithmetic units, and more particularly to a parallel arithmetic device that makes it possible to simplify connection between a plurality of arithmetic units.

並列演算の1つとして、ニューラルネットワークが知られている。このニューラルネットワークは、脳機能に見られるいくつかの特性を表現することを目指した数学モデルである。このニューラルネットワークによる処理は、入力されたデータの情報量を削減することが可能であるため、画像や統計など多次元量のデータでかつ線形分離不可能な問題に対して、比較的小さい計算量で良好な解を得られることが多い。そのためニューラルネットワークは、パターン認識やデータマイニングをはじめ、さまざまな分野において応用されている。   A neural network is known as one of parallel operations. This neural network is a mathematical model that aims to express some characteristics found in brain function. Since this neural network process can reduce the amount of information in the input data, it is a relatively small amount of computation for problems that cannot be linearly separated such as images and statistics. In many cases, a good solution can be obtained. Therefore, neural networks are applied in various fields such as pattern recognition and data mining.

ここで、大規模なニューラルネットワークを実現しようとすると、その計算量が膨大となるため、現実的な時間での処理が難しくなる。これを解決する方法として、(1)単体プロセッサ自体のコンピューティングパワーを上げる方法、(2)プロセッサを複数用いる並列コンピューティングの手法を用いる方法、(3)機能をLSI等によりハードウェアにより実装する方法、等が考えられる。上記(1)と(2)との方法は、プロセッサの能力を上げることで膨大な計算量に対処しようとするものであり、プログラムを変更することで様々なニューラルネットワークのアルゴリズムに対応することができる。   Here, if an attempt is made to realize a large-scale neural network, the amount of calculation becomes enormous and processing in a realistic time becomes difficult. As a method for solving this, (1) a method for increasing the computing power of a single processor itself, (2) a method using a parallel computing method using a plurality of processors, and (3) a function is implemented by hardware using an LSI or the like. A method, etc. can be considered. The above methods (1) and (2) are intended to deal with a huge amount of calculation by increasing the capacity of the processor, and it is possible to cope with various neural network algorithms by changing the program. it can.

ここで(1)の方法においては、従来、単体プロセッサのクロック周波数を高速化すること、いわゆるムーアの法則により、単体プロセッサ自体のコンピューティングパワーを上げてきていた。しかし、近年、クロック周波数の高速化は発熱量を増加させ、また、微細加工寸法が物理的限界に達しつつあることからムーアの法則が破綻しつつあり、単体プロセッサ自体のコンピューティングパワーを上げることが難しくなってきている。そのため、(1)の方法から(2)の方法へと、プロセッサのコンピューティングパワーを上げる方法の開発がシフトしてきており、コンピューティングパワーを上げるという高性能化と、発熱を抑えることの両立をより進めるために、より大きなキャッシュと複数の計算コアを持つことに焦点が当てられている。また、このプロセッサの開発は、低いクロック周波数で動作し、低電力化で動作するようにも、進められている。   Here, in the method (1), conventionally, the computing power of the single processor itself has been increased by increasing the clock frequency of the single processor, that is, by Moore's law. However, in recent years, increasing the clock frequency has increased the amount of heat generation, and since microfabrication dimensions are reaching the physical limit, Moore's Law is failing, increasing the computing power of the single processor itself. Is getting harder. Therefore, the development of a method for increasing the computing power of a processor has shifted from the method (1) to the method (2), and it is possible to achieve both high performance to increase computing power and suppression of heat generation. To go further, the focus is on having a larger cache and multiple compute cores. Development of this processor is also progressing so that it operates at a low clock frequency and operates at low power.

しかし、(2)の方法においては、膨大なプロセッサを効率的に動作させる方法、つまり並列度を上げることと、複数のプロセッサ間の膨大なデータ通信を可能とするネットワークの構成が難しいことが本質的な問題としてある。そのため、(2)の方法である、プロセッサを複数用いる並列コンピューティングの手法を用いる方法により、大規模なニューラルネットワークの並列演算効率を上げることは、難しい。   However, in the method (2), it is difficult to efficiently operate a large number of processors, that is, to increase the degree of parallelism and to configure a network that enables huge data communication between a plurality of processors. As a general problem. Therefore, it is difficult to increase the parallel computation efficiency of a large-scale neural network by the method (2) that uses a parallel computing technique using a plurality of processors.

一方、(3)の方法であるハードウェア化に関しては、ハードウェアで実現可能なニューラルネットワークのアルゴリズムに制限があるが、特定な用途に対しては(1)または(2)の方法に比べ、低周波数での場合でも、桁違いな演算速度の性能を発揮することが可能である。このような、並列演算をハードウェア化する技術として、特許文献1および特許文献2が知られている。
特開平6−195454号公報 特開平2006−39790号公報
On the other hand, regarding the hardware implementation of the method (3), there are limitations on the neural network algorithm that can be implemented by hardware, but for specific applications, compared to the method (1) or (2), Even in the case of a low frequency, it is possible to exhibit the performance of an order of magnitude. Patent Documents 1 and 2 are known as such techniques for implementing parallel computation in hardware.
JP-A-6-195454 Japanese Patent Laid-Open No. 2006-39790

しかしながら、(3)の方法であるハードウェア化に関しての特許文献1および特許文献2の従来技術においては、配線の問題があり、配線のために回路規模が膨大となり、または、回路間の配線が出来ないという問題がある。例えば、多層型のニューラルネットワークにおいては、出力層のあるノードからの出力を、入力層の全てのノードの入力に入力することが必要となり、各層のノード数が増大すると、その配線量が急激に増大してしまう。   However, in the prior arts of Patent Document 1 and Patent Document 2 relating to hardware as the method of (3), there is a wiring problem, and the circuit scale becomes enormous due to wiring, or wiring between circuits is There is a problem that it cannot be done. For example, in a multilayer neural network, it is necessary to input the output from a node with an output layer to the input of all nodes in the input layer. As the number of nodes in each layer increases, the amount of wiring rapidly increases. It will increase.

また、例えば、実際の脳のニューラルネットワークの場合、ニューロンは3次元空間に配置され配線されているのに対し、LSIのようなハードウェアによる構成では構成要素の配置は2次元が基本であるため、配線の問題を本質的には解決できない。積層構造などで構成要素を3次元化しようとしても配線の問題は残るので、応用は限られた配線(近傍のみとの結合)で事足りるような用途に限定される。   Also, for example, in the case of an actual brain neural network, neurons are arranged and wired in a three-dimensional space, whereas in a hardware configuration such as LSI, the arrangement of components is basically two-dimensional. The wiring problem cannot be solved essentially. Even if an attempt is made to make the components three-dimensional in a laminated structure or the like, the problem of wiring remains, so the application is limited to a use where limited wiring (coupling with only the vicinity) is sufficient.

また、このような複数の演算ユニット間の配線の問題は、ニューラルネットワークに限られるものではなく、全ての演算ユニットの出力を、全ての演算ユニットに入力することが計算上必要な場合に、問題となる。例えば、ニューラルネットワーク以外にも、自己組織化マップ、重力多体問題、電荷を持った多体粒子のシミュレーション、などがある。   In addition, the problem of wiring between a plurality of arithmetic units is not limited to a neural network, and is a problem when it is computationally necessary to input the outputs of all arithmetic units to all arithmetic units. It becomes. For example, in addition to neural networks, there are self-organizing maps, gravity many-body problems, and simulation of charged many-body particles.

本発明は、このような事情に鑑みてなされたもので、その目的の一つは、複数の演算ユニット間の配線を簡易にすることを可能とする並列演算装置および並列演算方法を提供することにある。   The present invention has been made in view of such circumstances, and one of its purposes is to provide a parallel arithmetic device and a parallel arithmetic method that can simplify wiring between a plurality of arithmetic units. It is in.

この発明は上述した課題を解決するためになされたもので、並列演算装置が、予め定められた順序でデイジーチェーン制御バスを介してデイジーチェーンされている複数のユニットと、前記複数のユニットの内のいずれか1つが出力する出力値がユニット出力バスを介して入力され、該入力された出力値を前記複数のユニットのそれぞれにユニット入力バスを介して入力値として出力する中継部と、を有し、前記ユニットが、前記デイジーチェーン制御バスを介してデイジーチェーンされている順序が1つ前のユニットからのトークンを入力するトークン入力部と、前記トークン入力部にトークンが入力されたことに応じて、前記トークンを前記デイジーチェーンされている順序が1つ後のユニットへ前記デイジーチェーン制御バスを介して出力するトークン出力部と、前記ユニット出力バスを介して前記中継部からの入力値を入力するデータ入力部と、前記データ入力部に入力された入力値に基づいて、前記ユニット毎に予め定められた演算方法により演算するユニット演算部と、前記トークン入力部にトークンが入力されたことに応じて、前記ユニット演算部が演算した結果である演算結果を前記出力値として、前記中継部に前記ユニット出力バスを介して出力するデータ出力部と、を有することを特徴とする並列演算装置である。   The present invention has been made to solve the above-described problem. A parallel processing device includes a plurality of units daisy-chained via a daisy-chain control bus in a predetermined order, and the plurality of units. An output value output from any one of the plurality of units via a unit output bus, and a relay unit that outputs the input output value to each of the plurality of units as an input value via the unit input bus. A token input unit for inputting a token from a unit in the previous order in which the unit is daisy chained via the daisy chain control bus, and a token is input to the token input unit. The token is transferred to the next unit in the daisy chain order via the daisy chain control bus. A predetermined token output unit, a data input unit for inputting an input value from the relay unit via the unit output bus, and an input value input to the data input unit. A unit calculation unit for calculating by the calculation method, and a calculation result that is a result of calculation by the unit calculation unit in response to a token being input to the token input unit as the output value. And a data output unit that outputs the data through an output bus.

この発明によれば、並列演算装置の複数の演算ユニット間の接続を簡易にすることが出来るという効果を奏する。また、複数のユニットが並列に演算をするため、高速に演算することが出来るという効果を奏する。   According to the present invention, it is possible to simplify the connection between the plurality of arithmetic units of the parallel arithmetic device. In addition, since a plurality of units perform operations in parallel, there is an effect that operations can be performed at high speed.

また、この発明は、前記ユニットが、前記演算結果が記憶されるユニット出力記憶部を有し、前記ユニット演算部が、前記演算結果を前記ユニット出力記憶部に記憶させ、前記データ出力部が、前記トークン入力部にトークンが入力されたことに応じて、前記演算結果を前記ユニット出力記憶部から読み出し、該読み出した演算結果を前記出力値として前記中継部に前記ユニット出力バスを介して出力する、ことを特徴とする並列演算装置である。   Further, according to the present invention, the unit includes a unit output storage unit in which the calculation result is stored, the unit calculation unit stores the calculation result in the unit output storage unit, and the data output unit includes: In response to a token input to the token input unit, the calculation result is read from the unit output storage unit, and the read calculation result is output as the output value to the relay unit via the unit output bus. This is a parallel computing device characterized by that.

この発明によれば、並列演算装置のユニットが、演算結果を記憶しておき、トークン入力部にトークンが入力されたことに応じて、適切なタイミングで、演算結果を出力することが出来るという効果を奏する。   According to the present invention, the unit of the parallel arithmetic device stores the operation result and can output the operation result at an appropriate timing in response to the token input to the token input unit. Play.

また、この発明は、前記並列演算装置が階層型ニューラルネットワークを演算する並列演算装置である場合には、前記ユニット演算部が、前記階層型ニューラルネットワークの階層のうち、出力する層を識別する層情報が記憶されている層情報記憶部と、前記ユニットの出力関数と前記層情報とが関連付けて予め記憶されている関数記憶部と、前記層情報で識別される前記出力層のユニットからの出力値に乗ずる予め定められた結合荷重と、前記層情報とが関連付けて記憶されている重み記憶部と、前記出力ユニットからの入力値と結合荷重とを乗じた積和計算一次値情報が記憶される積和計算一次値記憶部と、前記層情報記憶部から読み出した層情報に該当する結合荷重を前記重み記憶部から読み出し、該読み出した結合荷重と、前記データ入力部に入力された入力値とを乗算し、該乗算した値を前記積和計算一次値記憶部に記憶されている積和計算一次値情報に加算して記憶させる積和計算一次値算出部と、前記積和計算一次値記憶部から積和計算一次値情報を読み出し、前記層情報記憶部から読み出した層情報に該当する出力関数を前記関数記憶部から読み出し、該読み出した出力関数に前記読み出した積和計算一次値情報を代入することにより出力値を算出し、該算出した出力値を前記ユニット出力記憶部に記憶させるユニット出力算出部と、を有することを特徴とする並列演算装置である。   In the present invention, in the case where the parallel arithmetic device is a parallel arithmetic device that calculates a hierarchical neural network, the unit arithmetic unit is a layer for identifying an output layer among the layers of the hierarchical neural network. A layer information storage unit in which information is stored; a function storage unit in which an output function of the unit and the layer information are associated with each other; and an output from the unit of the output layer identified by the layer information Stored is a weight storage unit in which a predetermined coupling load multiplied by the value and the layer information are stored in association with each other, and product-sum calculation primary value information obtained by multiplying the input value from the output unit and the coupling load. The product-sum calculation primary value storage unit and the connection load corresponding to the layer information read from the layer information storage unit are read from the weight storage unit, the read connection load and the data A product-sum calculation primary value calculation unit that multiplies the input value input to the input unit, adds the multiplied value to the product-sum calculation primary value information stored in the product-sum calculation primary value storage unit, and stores the sum. And reading the product-sum calculation primary value information from the product-sum calculation primary value storage unit, reading an output function corresponding to the layer information read from the layer information storage unit from the function storage unit, and reading the output function to the output function An output value is calculated by substituting the read product-sum calculation primary value information, and a unit output calculation unit that stores the calculated output value in the unit output storage unit. is there.

この発明によれば、複数の演算ユニット間の接続を簡易にした並列演算装置により、階層型ニューラルネットワークの演算が出来るという効果を奏する。また、複数の演算ユニット間の接続が簡易であるために、階層型ニューラルネットにおいて、各層のノードであるユニットの数が多い場合においても、配線の問題が生じにくいという効果を奏する。   According to the present invention, there is an effect that the calculation of the hierarchical neural network can be performed by the parallel arithmetic device in which the connection between the plurality of arithmetic units is simplified. In addition, since the connection between a plurality of arithmetic units is simple, there is an effect that a wiring problem hardly occurs even when the number of units that are nodes of each layer is large in the hierarchical neural network.

また、この発明は、前記ユニット演算部が、前記出力層に属しているユニットのうち、いずれのユニットが出力ユニットとして出力しているかを示すユニット識別情報が記憶されているユニット識別情報記憶部、を有し、前記重み記憶部には、前記層情報と前記ユニット識別情報とで識別される前記出力層のユニットからの出力値に乗ずる予め定められた結合荷重と、前記層情報と前記ユニット識別情報とが、関連付けて記憶されており、前記積和計算一次値算出部が、前記ユニット識別情報記憶部から読み出したユニット識別情報と前記層情報記憶部から読み出した層情報とに該当する結合荷重を前記重み記憶部から読み出し、該読み出した結合荷重と、前記データ入力部に入力された入力値とを乗算し、該乗算した値を前記積和計算一次値記憶部に記憶されている積和計算一次値情報に加算して記憶させる、ことを特徴とする並列演算装置である。   Further, according to the present invention, a unit identification information storage unit that stores unit identification information indicating which unit outputs as an output unit among the units belonging to the output layer. And the weight storage unit includes a predetermined combined load multiplied by an output value from the unit of the output layer identified by the layer information and the unit identification information, the layer information, and the unit identification. Information is stored in association with each other, and the combined load corresponding to the unit identification information read from the unit identification information storage unit and the layer information read from the layer information storage unit by the product-sum calculation primary value calculation unit Is read from the weight storage unit, the read connection weight is multiplied by the input value input to the data input unit, and the multiplied value is multiplied by the product-sum calculation primary Was added to the product sum calculation primary value information stored in the storage unit is stored, it is a parallel arithmetic apparatus according to claim.

この発明によれば、各層の各ノードからの出力に応じて、結合荷重を乗算して、階層型ニューラルネットを演算することが出来るという効果を奏する。   According to the present invention, there is an effect that the hierarchical neural network can be calculated by multiplying the connection weight according to the output from each node of each layer.

また、この発明は、前記ユニット演算部が、前記データ入力部に入力値が入力される毎に、前記ユニット識別情報記憶部に記憶されているユニット識別情報の値をインクリメントするカウンタと、前記層情報と前記層情報で識別される階層に属する階層型ニューラルネットワークのユニット数とが関連付けて予め記憶されているユニット数記憶部と、前記層情報記憶部から層情報を読み出し、該読み出した層情報に該当するユニット数を前記ユニット数記憶部から読み出し、前記ユニット識別情報記憶部からユニット識別情報を読み出し、該読み出したユニット識別情報の値と前記読み出したユニット数とを比較し、該比較した結果が一致した場合に、該読み出したユニット識別情報の値と前記読み出したユニット数とが一致したことを示す比較一致信号を出力するユニット数比較部と、を有し、前記ユニット出力算出部が、前記ユニット数比較部から比較一致信号を入力されたことに応じて、前記積和計算一次値算出部から積和計算一次値情報を読み出し、前記層情報記憶部から読み出した層情報に該当する出力関数を前記関数記憶部から読み出し、該読み出した出力関数に前記読み出した積和計算一次値情報を代入することにより出力値を算出し、該算出した出力値を前記ユニット出力記憶部に記憶させる、ことを特徴とする並列演算装置である。   Further, according to the present invention, the unit calculation unit increments a value of unit identification information stored in the unit identification information storage unit every time an input value is input to the data input unit, and the layer The unit number storage unit in which the information and the number of units of the hierarchical neural network belonging to the layer identified by the layer information are stored in association with each other, and the layer information is read from the layer information storage unit, and the read layer information The number of units corresponding to is read from the unit number storage unit, unit identification information is read from the unit identification information storage unit, the value of the read unit identification information is compared with the read unit number, and the comparison result Indicates that the value of the read unit identification information matches the number of read units. A unit number comparison unit that outputs a comparison coincidence signal, and the unit output calculation unit receives the comparison coincidence signal from the unit number comparison unit, and receives the comparison coincidence signal from the product-sum calculation primary value calculation unit. Read the product-sum calculation primary value information, read the output function corresponding to the layer information read from the layer information storage unit from the function storage unit, and substitute the read product-sum calculation primary value information into the read output function Thus, the output value is calculated, and the calculated output value is stored in the unit output storage unit.

この発明によれば、各ユニットが、出力をする層の全てのノードであるユニットが、出力を完了したか否かを検出することが出来るという効果を奏する。   According to the present invention, there is an effect that each unit can detect whether or not a unit, which is all nodes in the layer that outputs, can complete the output.

また、この発明は、前記ユニット数比較部が、前記比較した結果が一致した場合に、前記ユニット識別情報記憶部に記憶されているユニット識別情報の値をリセットする、ことを特徴とする並列演算装置である。   The present invention is also characterized in that the unit number comparison unit resets the value of the unit identification information stored in the unit identification information storage unit when the comparison result matches. Device.

この発明によれば、各ユニットが、ある層の演算が終了した後に、次の層の演算をすることが出来るという効果を奏する。   According to the present invention, there is an effect that each unit can perform the calculation of the next layer after the calculation of the certain layer is completed.

また、この発明は、前記ユニット演算部が、前記ユニット数比較部から比較一致信号を入力されたことに応じて、前記層情報記憶部に記憶されている層情報の値をインクリメントする層情報算出部、を有することを特徴とする並列演算装置である。   In addition, according to the present invention, the unit calculation unit increments the value of the layer information stored in the layer information storage unit in response to the comparison coincidence signal input from the unit number comparison unit. A parallel computing device characterized by comprising:

この発明によれば、各ユニットが、ある層の演算が終了した後に、次の層の層情報を、ユニット自体が算出して求めることが出来るという効果を奏する。   According to the present invention, there is an effect that each unit can calculate and obtain layer information of the next layer after the operation of a certain layer is completed.

また、この発明は、前記ユニット演算部が、前記データ出力部が前記出力値を出力済みであるか否かを示すデータ出力フラグが記憶されているデータ出力フラグ記憶部を有し、前記データ出力部が、前記トークン入力部にトークンが入力されたことに応じて、前記データ出力フラグ記憶部のデータ出力フラグを出力済みとして設定し、前記トークン出力部が、前記データ入力部に入力値が入力されたことに応じて、前記データ出力フラグ記憶部からデータ出力フラグを読み出し、該読み出したデータ出力フラグが出力済みである場合には、前記トークンを出力する、ことを特徴とする並列演算装置である。   In the invention, the unit calculation unit includes a data output flag storage unit that stores a data output flag indicating whether or not the data output unit has already output the output value. The unit sets the data output flag of the data output flag storage unit as output in response to a token input to the token input unit, and the token output unit inputs the input value to the data input unit. In response, the parallel output device reads the data output flag from the data output flag storage unit, and outputs the token when the read data output flag has been output. is there.

この発明によれば、各ユニットが、階層型ニューラルネットワークの場合に合わせたタイミングで、トークンを出力することが出来るという効果を奏する。   According to the present invention, there is an effect that each unit can output a token at a timing according to the case of the hierarchical neural network.

また、この発明は、前記トークン出力部が、前記トークンを出力すると共に、前記データ出力フラグ記憶部のデータ出力フラグを未出力として設定する、ことを特徴とする並列演算装置である。   Further, the present invention is the parallel arithmetic device, wherein the token output unit outputs the token and sets the data output flag of the data output flag storage unit as not output.

この発明によれば、各ユニットが、次の階層においても、階層型ニューラルネットワークの場合に合わせタイミングで、トークンを出力することが出来るという効果を奏する。   According to the present invention, there is an effect that each unit can output a token at the same timing as the hierarchical neural network even in the next layer.

また、この発明は、前記ユニット出力算出部が、前記積和計算一次値算出部から積和計算一次値情報を読み出した後、前記積和計算一次値算出部に記憶されている積和計算一次値情報の値を0にリセットする、ことを特徴とする並列演算装置である。   Further, according to the present invention, the unit output calculation unit reads product sum calculation primary value information from the product sum calculation primary value calculation unit, and then stores the product sum calculation primary value stored in the product sum calculation primary value calculation unit. A parallel arithmetic device characterized in that the value of the value information is reset to zero.

この発明によれば、各ユニットが、ある層の演算が終了した後に、次の層の演算をすることが出来るという効果を奏する。   According to the present invention, there is an effect that each unit can perform the calculation of the next layer after the calculation of the certain layer is completed.

また、この発明は、前記並列演算装置が自己組織化マップを演算する並列演算装置である場合には、前記複数のユニットのそれぞれが、ネットワーク座標により識別される座標で予め識別されており、前記ユニット演算部が、前記ユニットのネットワーク座標であるユニットネットワーク座標が予め記憶されているユニットネットワーク座標記憶部と、入力されたネットワーク座標である入力ネットワーク座標が記憶されている入力ネットワーク座標記憶部と、前記ユニットの結合重みベクトルが記憶されている重み記憶部と、ノルムを記憶するユニットノルム記憶部と、入力されたノルムを記憶する入力ノルム記憶部と、前記データ入力部に入力された入力値が入力データベクトルである場合には、該入力された入力データベクトルと、前記重み記憶部から読み出した結合重みベクトルとのノルムを算出し、該算出したノルムをユニットノルムとして前記ユニットノルム記憶部に記憶させるノルム算出部と、前記データ入力部に入力された入力値が、ネットワーク座標とノルムとの組みである場合には、該入力されたネットワーク座標を入力ネットワーク座標として前記入力ネットワーク座標記憶部に記憶させると共に、該入力されたノルムを入力ノルムとして前記入力ノルム記憶部に記憶させる入力ノルム部と、前記トークン入力部を介してトークンが入力されたことに応じて、前記ユニットノルム記憶部から読み出したユニットノルムと、前記入力ユニットノルム記憶部から読み出した入力ノルムとを比較するノルム比較部と、前記ノルム比較部の比較した結果が、前記読み出したユニットノルムが前記入力ノルムより小さい場合には、前記ユニットノルム記憶部から読み出したユニットノルムと前記ユニットネットワーク座標記憶部から読み出したユニットネットワーク座標とを組みとして前記データ出力部を介して出力し、前記読み出したユニットノルムが前記入力ノルム以上である場合には、前記入力ノルム記憶部から読み出した入力ノルムと前記入力ネットワーク座標記憶部から読み出した入力ネットワーク座標とを組みとして前記データ出力部を介して出力する選択出力部と、を有することを特徴とする並列演算装置である。   Further, in the present invention, when the parallel arithmetic device is a parallel arithmetic device that calculates a self-organizing map, each of the plurality of units is previously identified by coordinates identified by network coordinates, A unit calculation unit, a unit network coordinate storage unit in which unit network coordinates that are network coordinates of the unit are stored in advance, an input network coordinate storage unit in which input network coordinates that are input network coordinates are stored, A weight storage unit storing a unit connection weight vector, a unit norm storage unit storing a norm, an input norm storage unit storing an input norm, and an input value input to the data input unit If it is an input data vector, the input data vector A norm calculation unit that calculates a norm with the combined weight vector read from the weight storage unit, stores the calculated norm as a unit norm in the unit norm storage unit, and an input value input to the data input unit includes a network In the case of a combination of coordinates and norm, the input network coordinates are stored as input network coordinates in the input network coordinate storage unit, and the input norm is stored as input norm in the input norm storage unit. The unit norm read from the unit norm storage unit is compared with the input norm read from the input unit norm storage unit in response to the input of the token via the token input unit. The comparison result between the norm comparison unit and the norm comparison unit is When the unit norm is smaller than the input norm, the unit norm read from the unit norm storage unit and the unit network coordinates read from the unit network coordinate storage unit are output as a set via the data output unit, If the read unit norm is greater than or equal to the input norm, the input norm read from the input norm storage unit and the input network coordinates read from the input network coordinate storage unit are combined as a set via the data output unit. And a selection output unit for outputting.

この発明によれば、複数の演算ユニット間の接続を簡易にした並列演算装置により、自己組織化マップの演算が出来るという効果を奏する。また、複数の演算ユニット間の接続が簡易であるために、自己組織化マップにおいて、各層のユニットの数が多い場合においても、配線の問題が生じにくいという効果を奏する。   According to the present invention, there is an effect that the calculation of the self-organizing map can be performed by the parallel arithmetic device in which the connection between the plurality of arithmetic units is simplified. In addition, since the connection between the plurality of arithmetic units is simple, there is an effect that the problem of wiring hardly occurs even when the number of units in each layer is large in the self-organizing map.

また、この発明は、前記ユニット演算部が、前記データ入力部に入力された入力値が、ネットワーク座標と近傍判定を実行することを示す識別情報である近傍判定識別情報との組みである場合には、前記ユニットネットワーク座標記憶部から読み出したユニットネットワーク座標が、前記入力されたネットワーク座標である入力ネットワーク座標の近傍にあるか否かを判定する近傍判定部と、前記近傍判定部の判定した結果が近傍である場合には、前記重み記憶部に記憶されている結合重みベクトルを更新する重み更新部と、を有することを特徴とする並列演算装置である。   Further, in the present invention, when the unit calculation unit is a combination of network coordinates and proximity determination identification information that is identification information indicating that the proximity determination is executed, to the data input unit. Is a result of determination by the proximity determination unit that determines whether the unit network coordinates read from the unit network coordinate storage unit are in the vicinity of the input network coordinates that are the input network coordinates, and the determination result of the proximity determination unit And a weight updating unit that updates a connection weight vector stored in the weight storage unit when the is a neighborhood.

この発明によれば、各ユニットが、結合重みベクトルを更新することにより、学習することが出来るという効果を奏する。   According to the present invention, there is an effect that each unit can learn by updating the connection weight vector.

また、この発明は、前記ユニット演算部が、入力された入力データベクトルが記憶される入力データ記憶部と、学習速度を決める係数である学習速度係数が予め記憶されている学習速度記憶部と、前記データ入力部に入力された入力値が入力データベクトルである場合には、該入力された入力データベクトルを前記入力データ記憶部に記憶させるデータ抽出部と、を有し、前記重み更新部が、前記入力データ記憶部から読み出した入力データベクトルと前記重み記憶部から読み出した結合重みベクトルとの差に、前記学習速度記憶部から読み出した学習速度係数を乗じた値を、前記重み記憶部に記憶されている結合重みベクトルに加算することにより、前記重み記憶部に記憶されている結合重みベクトルを更新する、ことを特徴とする並列演算装置である。   Further, according to the present invention, the unit calculation unit includes an input data storage unit that stores an input data vector that is input, a learning speed storage unit that stores a learning speed coefficient that is a coefficient for determining a learning speed, When the input value input to the data input unit is an input data vector, the data input unit stores the input data vector input to the input data storage unit, and the weight update unit A value obtained by multiplying the difference between the input data vector read from the input data storage unit and the combined weight vector read from the weight storage unit by the learning speed coefficient read from the learning speed storage unit is stored in the weight storage unit. The parallel weight vector stored in the weight storage unit is updated by adding to the stored joint weight vector. It is a device.

この発明によれば、各ユニットが、結合重みベクトルを学習速度に応じて更新することにより、学習することが出来るという効果を奏する。   According to the present invention, there is an effect that each unit can learn by updating the connection weight vector according to the learning speed.

また、この発明は、前記学習速度記憶部には、学習した回数を示す学習ステップ数と、前記学習速度係数とが予め関連付けて記憶されており、前記ユニット演算部が、前記ユニットに入力データベクトルが入力される毎に、前記ユニットに前記入力データベクトルが入力された回数であるステップ数をカウントアップするカウンタを有し、前記重み更新部が、前記カウンタから読み出したステップ数が、前記学習ステップ数に該当する学習速度係数を前記学習速度記憶部から読み出し、該読み出した学習速度係数に基づいて前記重み記憶部に記憶されている結合重みベクトルを更新する、ことを特徴とする並列演算装置である。   Further, according to the present invention, the learning speed storage unit stores a learning step number indicating the number of times of learning and the learning speed coefficient in association with each other, and the unit arithmetic unit stores an input data vector in the unit. Each time the input data vector is input, the counter counts up the number of steps that is the number of times the input data vector is input to the unit, and the weight update unit reads the step number from the counter as the learning step. A parallel computing device, wherein a learning speed coefficient corresponding to a number is read from the learning speed storage unit, and a connection weight vector stored in the weight storage unit is updated based on the read learning speed coefficient. is there.

この発明によれば、各ユニットが、学習ステップ数に応じた学習速度で、学習することが出来るという効果を奏する。   According to the present invention, there is an effect that each unit can learn at a learning speed corresponding to the number of learning steps.

また、この発明は、前記ユニット演算部が、前記ネットワーク座標の間の距離が近傍であるか否かを判定する基準である基準距離が予め記憶されている距離記憶部を有し、前記近傍判定部が、前記データ入力部に入力された入力値が、ネットワーク座標と近傍判定を実行することを示す識別情報である近傍判定識別情報との組みである場合には、前記距離記憶部から基準距離を読み出し、前記ユニットネットワーク座標記憶部から読み出したユニットネットワーク座標と前記入力されたネットワーク座標である入力ネットワーク座標との間の距離が、前記読み出した基準距離以下であるか否かを判定することにより、前記ユニットネットワーク座標が前記入力ネットワーク座標の近傍にあるか否かを判定する、ことを特徴とする並列演算装置である。   Further, according to the present invention, the unit calculation unit includes a distance storage unit in which a reference distance that is a reference for determining whether or not the distance between the network coordinates is a neighborhood is stored in advance. If the input value input to the data input unit is a combination of network coordinates and proximity determination identification information that is identification information indicating that proximity determination is performed, a reference distance from the distance storage unit And determining whether or not the distance between the unit network coordinates read from the unit network coordinate storage unit and the input network coordinates that are the input network coordinates is equal to or less than the read reference distance. And determining whether or not the unit network coordinates are in the vicinity of the input network coordinates. A.

この発明によれば、各ユニットが、基準距離に基づいて、勝者ユニットの近傍であるか否かを判定することが出来るという効果を奏する。   According to this invention, there exists an effect that it can be determined whether each unit is the vicinity of a winner unit based on a reference distance.

また、この発明は、前記距離記憶部には、前記学習ステップ数と前記基準距離とが予め関連付けて記憶されており、前記近傍判定部が、前記カウンタから読み出したステップ数が、前記学習ステップ数に該当する基準距離を前記学習速度記憶部から読み出し、該読み出した基準距離に基づいて前記ユニットネットワーク座標が前記入力ネットワーク座標の近傍にあるか否かを判定する、ことを特徴とする並列演算装置である。   Further, according to the present invention, the distance storage unit stores the learning step number and the reference distance in association with each other, and the number of steps read from the counter by the proximity determining unit is the learning step number. The parallel computing device is characterized in that a reference distance corresponding to the above is read from the learning speed storage unit, and based on the read reference distance, it is determined whether or not the unit network coordinates are in the vicinity of the input network coordinates. It is.

この発明によれば、各ユニットが、学習ステップ数に応じた基準距離に基づいて、勝者ユニットの近傍であるか否かを判定することが出来るという効果を奏する。   According to this invention, there exists an effect that it can be determined whether each unit is the vicinity of a winner unit based on the reference distance according to the number of learning steps.

また、この発明は、前記トークン入力部にトークンが入力されたことに応じて、前記トークン出力部がトークンを出力することを特徴とする並列演算装置である。   Further, the present invention is the parallel arithmetic device, wherein the token output unit outputs a token in response to a token input to the token input unit.

この発明によれば、各ユニットが、トークンを次のユニットに渡すことにより、勝者ユニットを順次決定することが出来るという効果を奏する。   According to the present invention, there is an effect that each unit can sequentially determine a winner unit by passing a token to the next unit.

また、この発明は、前記ユニット演算部が、前記トークン出力部がトークンを出力済みであるか否かを示すトークン出力フラグが記憶されているトークン出力フラグ記憶部と、前記トークン入力部にトークンが入力されたことに応じて、前記トークン出力フラグ記憶部からトークン出力フラグを読み出し、該読み出したトークン出力フラグがトークンを未出力である場合に、前記入力されたトークンを前記ノルム比較部に出力すると共に、前記入力されたトークンを前記トークン出力部を介して出力するトークン出力フラグ判定部と、を有することを特徴とする並列演算装置である。   Further, according to the present invention, the unit calculation unit includes a token output flag storage unit that stores a token output flag indicating whether or not the token output unit has already output a token, and a token is input to the token input unit. In response to the input, the token output flag is read from the token output flag storage unit, and when the read token output flag has not been output, the input token is output to the norm comparison unit. And a token output flag determination unit that outputs the input token via the token output unit.

この発明によれば、勝者ユニットを決定する時に、各ユニットが、1度のみ勝者ユニットを決めるトーナメントに参加し、トーナメントに複数回参加しないようにすることが出来るという効果を奏する。   According to the present invention, when the winner unit is determined, each unit can participate in the tournament that determines the winner unit only once, and can be prevented from participating in the tournament multiple times.

また、この発明は、前記トークン出力部が、前記ユニットノルム記憶部から読み出したユニットノルムと前記ユニットネットワーク座標記憶部から読み出したユニットネットワーク座標とを組みとして前記データ出力部を介して前記選択出力部が出力したことに応じて、または、前記入力ノルム記憶部から読み出した入力ノルムと前記入力ネットワーク座標記憶部から読み出した入力ネットワーク座標とを組みとして前記データ出力部を介して前記選択出力部が出力したことに応じて、前記トークンを出力する、ことを特徴とする並列演算装置である。   Further, according to the present invention, the token output unit sets the unit norm read out from the unit norm storage unit and the unit network coordinates read out from the unit network coordinate storage unit as a set through the data output unit. Is output from the input norm storage unit and the input network coordinates read out from the input network coordinate storage unit as a set by the selection output unit via the data output unit. In response to this, the parallel processing device outputs the token.

この発明によれば、各ユニットが、自己組織化マップに適したタイミングで、トークンを出力することが出来るという効果を奏する。   According to the present invention, there is an effect that each unit can output a token at a timing suitable for the self-organizing map.

また、この発明は、前記トークン出力部が、前記トークンを出力した後に、前記トークン出力フラグ記憶部に記憶されているトークン出力フラグを出力済みに更新する、ことを特徴とする並列演算装置である。   Further, the present invention is the parallel processing device, wherein the token output unit updates the token output flag stored in the token output flag storage unit to the output completed after outputting the token. .

この発明によれば、各ユニットが、トークンまたは出力値を複数回出力することを防止することが出来るという効果を奏する。   According to the present invention, there is an effect that each unit can be prevented from outputting a token or an output value a plurality of times.

また、この発明は、前記予め定められた順序の1つ飛ばしの順序である第1の冗長順序で、前記複数のユニットのうちの半数のユニットが、第1の冗長デイジーチェーン制御バスによりデイジーチェーンされており、前記第1の冗長デイジーチェーン制御バスによりデイジーチェーンされているユニットが、前記トークン入力部にトークンが入力されたことに応じて、前記トークンを前記冗長順序で1つ後のユニットへ前記第1の冗長デイジーチェーン制御バスを介して出力する冗長トークン出力部と、前記トークン出力部と前記冗長トークン出力部とのうち、いずれを選択するかを示すトークン出力選択情報が記憶されているトークン選択情報記憶部と、前記トークン入力部にトークンが入力されたことに応じて、前記トークン選択情報記憶部から読み出したトークン出力選択情報に基づいて、前記トークン出力部と前記冗長トークン出力部とのうちいずれか一方を選択し、該選択したトークン出力部または冗長トークン出力部を介してトークンを出力するトークン出力部選択部と、を有することを特徴とする並列演算装置である。   Further, according to the present invention, in the first redundancy order which is one of the predetermined orders, half of the plurality of units are daisy chained by the first redundancy daisy chain control bus. And the unit daisy chained by the first redundant daisy chain control bus transfers the token to the next unit in the redundancy order in response to the token being input to the token input unit. Stored is a redundant token output unit that outputs via the first redundant daisy chain control bus, and token output selection information that indicates which of the token output unit and the redundant token output unit to select. In response to a token input to the token selection information storage unit and the token input unit, the token selection information storage unit Based on the token output selection information read from the unit, either the token output unit or the redundant token output unit is selected, and the token is output via the selected token output unit or the redundant token output unit. And a token output unit selector.

この発明によれば、冗長デイジーチェーン制御バスにより、デイジーチェーン制御バスの一部または一部のユニットに欠陥が生じた場合においても、並列演算装置が、問題なく動作することが出来るという効果を奏する。   According to the present invention, even when a part or a part of a unit of the daisy chain control bus is defective due to the redundant daisy chain control bus, the parallel arithmetic device can operate without any problem. .

また、この発明は、前記ユニットが、前記冗長デイジーチェーン制御バスを介してデイジーチェーンされている冗長順序が1つ前のユニットからのトークンを入力する冗長トークン入力部を有し、前記トークン出力部が、前記トークン入力部または前記冗長トークン入力部にトークンが入力されたことに応じて、前記トークンを出力する、ことを特徴とする並列演算装置である。   The present invention further includes a redundant token input unit for inputting a token from a unit in the previous redundant order in which the unit is daisy chained via the redundant daisy chain control bus, and the token output unit Is a parallel processing device that outputs the token in response to a token input to the token input unit or the redundant token input unit.

この発明によれば、冗長デイジーチェーン制御バスにより、デイジーチェーン制御バスの一部または一部のユニットに欠陥が生じた場合においても、各ユニットが、問題なく動作することが出来るという効果を奏する。   According to the present invention, even when a part of the daisy chain control bus or a part of the unit is defective due to the redundant daisy chain control bus, each unit can operate without any problem.

また、この発明は、前記予め定められた順序の1つ飛ばしの順序で、前記第1の冗長デイジーチェーン制御バスによりデイジーチェーンされていない前記複数のうちの残りの半数のユニットが、第2の冗長デイジーチェーン制御バスによりデイジーチェーンされており、前記第2の冗長デイジーチェーン制御バスによりデイジーチェーンされているユニットが、前記第2の冗長デイジーチェーン制御バスを前記第1の冗長デイジーチェーン制御バスとして、前記冗長トークン出力部とトークン選択情報記憶部とトークン出力部選択部とを有している、ことを特徴する並列演算装置である。   Further, according to the present invention, the remaining half of the plurality of units that are not daisy chained by the first redundant daisy chain control bus in the order of skipping one of the predetermined orders, A unit that is daisy chained by a redundant daisy chain control bus and that is daisy chained by the second redundant daisy chain control bus uses the second redundant daisy chain control bus as the first redundant daisy chain control bus. A parallel processing device having the redundant token output unit, the token selection information storage unit, and the token output unit selection unit.

この発明によれば、冗長デイジーチェーン制御バスにより、デイジーチェーン制御バスの一部または一部のユニットに欠陥が生じた場合においても、各ユニットが、問題なく動作することが出来るという効果を奏する。   According to the present invention, even when a part of the daisy chain control bus or a part of the unit is defective due to the redundant daisy chain control bus, each unit can operate without any problem.

また、この発明は、前記第2の冗長デイジーチェーン制御バスによりデイジーチェーンされているユニットが、前記第2の冗長デイジーチェーン制御バスを前記第1の冗長デイジーチェーン制御バスとして、前記冗長トークン入力部を有している、ことを特徴する並列演算装置である。   Further, according to the present invention, the unit that is daisy chained by the second redundant daisy chain control bus uses the second redundant daisy chain control bus as the first redundant daisy chain control bus. It is the parallel arithmetic unit characterized by having.

この発明によれば、冗長デイジーチェーン制御バスにより、デイジーチェーン制御バスの一部または一部のユニットに欠陥が生じた場合においても、各ユニットが、問題なく動作することが出来るという効果を奏する。   According to the present invention, even when a part of the daisy chain control bus or a part of the unit is defective due to the redundant daisy chain control bus, each unit can operate without any problem.

また、この発明は、予め定められた順序でデイジーチェーン制御バスを介してデイジーチェーンされている複数のユニットと、前記複数のユニットの内のいずれか1つが出力する出力値がユニット出力バスを介して入力され、該入力された出力値を前記複数のユニットのそれぞれにユニット入力バスを介して入力値として出力する中継部と、を有する並列演算装置のユニットにおいて用いられる並列演算方法であって、前記ユニットが、前記デイジーチェーン制御バスを介してデイジーチェーンされている順序が1つ前のユニットからのトークンを入力し、前記トークンが入力されたことに応じて、前記トークンを前記デイジーチェーンされている順序が1つ後のユニットへ前記デイジーチェーン制御バスを介して出力し、前記ユニット出力バスを介して前記中継部からの入力値を入力し、前記入力された入力値に基づいて、前記ユニット毎に予め定められた演算方法により演算し、前記トークンが入力されたことに応じて、前記演算した結果である演算結果を前記出力値として、前記中継部に前記ユニット出力バスを介して出力する、ことを特徴とする並列演算方法である。   The present invention also provides a plurality of units daisy-chained via a daisy chain control bus in a predetermined order, and an output value output from any one of the plurality of units via the unit output bus. And a relay unit that outputs the input output value to each of the plurality of units as an input value via a unit input bus. The unit inputs a token from the previous unit in the daisy chain via the daisy chain control bus, and the token is daisy chained in response to the token being input. Output to the next unit through the daisy chain control bus, and the unit output The input value from the relay unit is input via the network, based on the input value input, calculated by a predetermined calculation method for each unit, and according to the token input, The parallel calculation method is characterized in that a calculation result which is the calculation result is output as the output value to the relay unit via the unit output bus.

<基本構成>
以下、図面を参照して、本発明の実施の形態について説明する。図1は、この発明の一実施形態による並列演算装置の構成を示す概略ブロック図である。ここでは、ユニットU1からU10の、ユニットの個数が10である場合について説明する。なお、このユニットの詳細については、後述する。
<Basic configuration>
Embodiments of the present invention will be described below with reference to the drawings. FIG. 1 is a schematic block diagram showing the configuration of a parallel arithmetic device according to an embodiment of the present invention. Here, a case where the number of units U1 to U10 is ten will be described. Details of this unit will be described later.

複数のユニットU1からU10は、予め定められた順序であるデイジーチェーン順序で、デイジーチェーン制御バス1を介してデイジーチェーンされている。ここでは、このデイジーチェーン順序は、ユニットU1、ユニットU2、ユニットU3、・・・ユニットU10の順と、予め定められているものとして説明する。また、デイジーチェーン制御バス1は、デイジーチェーン順序で隣接するユニット同士を接続している。例えば、デイジーチェーン制御バス1は、ユニットU1とユニットU2、ユニットU2とユニットU3、・・・ユニットU10とユニットU1、を接続している。また、このデイジーチェーン制御バス1は、ユニットU1からU10をデイジーチェーン順序で循環的に接続している。そのため、ユニットU10とユニットU1とも、デイジーチェーン制御バス1を介して接続されている。   The plurality of units U1 to U10 are daisy chained via the daisy chain control bus 1 in a daisy chain order that is a predetermined order. Here, this daisy chain order will be described assuming that the order of unit U1, unit U2, unit U3,..., Unit U10 is predetermined. The daisy chain control bus 1 connects adjacent units in the daisy chain order. For example, the daisy chain control bus 1 connects the unit U1 and the unit U2, the unit U2 and the unit U3,..., The unit U10 and the unit U1. The daisy chain control bus 1 connects units U1 to U10 in a daisy chain sequence. Therefore, the unit U10 and the unit U1 are connected via the daisy chain control bus 1.

ユニットU1からU10のそれぞれのユニットは、トークンをデイジーチェーン順序で、デイジーチェーン制御バス1を介してユニット間で送受信している。このトークンは、デイジーチェーンされたユニットU1からU10の、いずれかの1つのユニットが有しており、このトークンを有しているユニットが、出力ユニットとなることを示す信号である。ユニットは、トークンを有しているユニットのみが出力ユニットとなり、また、全てのユニットが入力ユニットとなる。   Each of the units U1 to U10 transmits and receives tokens between the units via the daisy chain control bus 1 in the daisy chain order. This token is a signal indicating that any one of the daisy chained units U1 to U10 has a unit, and that the unit having this token is an output unit. As for the unit, only a unit having a token becomes an output unit, and all units become input units.

この各ユニットは、ユニット出力バス2を介して入力される増幅器4からの入力値に基づいて、ユニット毎に予め定められた演算方法により演算する。また、各ユニットは、トークンがデイジーチェーン順序で前のユニットからデイジーチェーン制御バス1を介して入力されたことに応じて、トークンをデイジーチェーン順序で次のユニットにデイジーチェーン制御バス1を介して出力すると共に、演算した結果を出力値として増幅器4にユニット出力バス2を介して出力する。   Each unit performs an operation by a predetermined operation method for each unit based on an input value from the amplifier 4 input via the unit output bus 2. Also, each unit receives a token from the previous unit via the daisy chain control bus 1 in the daisy chain order, and passes the token to the next unit via the daisy chain control bus 1 in the daisy chain order. At the same time, the calculated result is output as an output value to the amplifier 4 via the unit output bus 2.

増幅器(中継器)4は、複数のユニットU1からU10の内のいずれか1つが出力する出力値がユニット出力バス2を介して入力され、入力された出力値を複数のユニットU1からU10のそれぞれに、ユニット入力バス3を介して入力値として出力する。また、増幅器4は、入力された出力値の信号を、電気的に増幅して、入力値として出力する。   The amplifier (repeater) 4 receives an output value output from any one of the plurality of units U1 to U10 via the unit output bus 2, and inputs the input output value to each of the plurality of units U1 to U10. And output as an input value via the unit input bus 3. The amplifier 4 electrically amplifies the input output value signal and outputs it as an input value.

また、ユニット出力バス2の一端が、並列演算装置の出力端子P1に接続されている。また、増幅器4の入力端子に、並列演算装置の入力端子P2に接続されている。また、ユニットU1は、トリガ入力線5を介して、トリガ入力端子P3と、接続されている。また、出力端子P1、入力端子P2、トリガ入力端子P3は、並列演算装置の外部にある制御装置に接続されている。制御装置は、出力端子P1、入力端子P2、トリガ入力端子P3を介して、並列演算装置にデータを入力し、並列演算装置から演算結果を取得し、また、並列演算装置を制御する。   One end of the unit output bus 2 is connected to the output terminal P1 of the parallel arithmetic device. Further, the input terminal of the amplifier 4 is connected to the input terminal P2 of the parallel arithmetic device. The unit U1 is connected to the trigger input terminal P3 through the trigger input line 5. The output terminal P1, the input terminal P2, and the trigger input terminal P3 are connected to a control device outside the parallel arithmetic device. The control device inputs data to the parallel arithmetic device via the output terminal P1, the input terminal P2, and the trigger input terminal P3, acquires the arithmetic result from the parallel arithmetic device, and controls the parallel arithmetic device.

次に、図2を用いて、各ユニットの構成について説明する。なお、ユニットU1からU10は同一の構成を有するため、ここでは、ユニットU2の構成のみについて説明する。ユニットU2は、トークン入力部12と、トークン出力部13と、データ入力部11と、データ出力部14と、ユニット演算部15と、ユニット出力記憶部16と、を有する。   Next, the configuration of each unit will be described with reference to FIG. Since units U1 to U10 have the same configuration, only the configuration of unit U2 will be described here. The unit U2 includes a token input unit 12, a token output unit 13, a data input unit 11, a data output unit 14, a unit calculation unit 15, and a unit output storage unit 16.

トークン入力部12は、デイジーチェーン制御バス1を介してデイジーチェーンされている順序が1つ前のユニットからのトークンを入力する。例えば、ユニットU2のトークン入力部12は、デイジーチェーン制御バス1を介してデイジーチェーンされている順序が1つ前のユニットであるユニットU1からのトークンを入力する。なお、ユニットU1のトークン入力部12は、ユニットU10からのトークンがトークンデイジーチェーン制御バス1を介して入力されるだけでなく、制御装置からのトークンがトリガ入力端子P3とトリガ入力線5とを介して入力される。   The token input unit 12 inputs a token from the unit in the previous order in the daisy chain via the daisy chain control bus 1. For example, the token input unit 12 of the unit U2 inputs a token from the unit U1 which is the unit in the previous order in the daisy chain via the daisy chain control bus 1. Note that the token input unit 12 of the unit U1 not only receives a token from the unit U10 via the token daisy chain control bus 1, but also receives a token from the control device via the trigger input terminal P3 and the trigger input line 5. Is input via.

トークン出力部13は、トークン入力部にトークンが入力されたことに応じて、トークンをデイジーチェーンされている順序が1つ後のユニットへデイジーチェーン制御バス1を介して出力する。例えば、ユニットU2のトークン出力部13は、デイジーチェーン制御バス1を介してデイジーチェーンされている順序が1つ後のユニットであるユニットU3へトークンを出力する。   The token output unit 13 outputs the token via the daisy chain control bus 1 to the next unit in the order in which the tokens are daisy chained in response to the token input to the token input unit. For example, the token output unit 13 of the unit U2 outputs a token to the unit U3 which is the unit that is the next unit in the daisy chain order via the daisy chain control bus 1.

データ入力部11は、ユニット出力バス2を介して増幅器4からの入力値を入力する。ユニット出力記憶部16は、ユニット演算部15が演算した結果でる演算結果が記憶される。ユニット演算部15は、データ入力部11に入力された入力値に基づいて、ユニット毎に予め定められた演算方法により演算する。また、ユニット演算部15は、演算した結果である演算結果を、ユニット出力記憶部16に記憶させる。   The data input unit 11 inputs an input value from the amplifier 4 via the unit output bus 2. The unit output storage unit 16 stores a calculation result that is a result of calculation by the unit calculation unit 15. The unit calculation unit 15 calculates based on the input value input to the data input unit 11 by a calculation method predetermined for each unit. Further, the unit calculation unit 15 causes the unit output storage unit 16 to store a calculation result that is a calculation result.

データ出力部14は、トークン入力部12にトークンが入力されたことに応じて、ユニット演算部15が演算した結果である演算結果を出力値として、増幅器4にユニット出力バス2を介して出力する。また、データ出力部14は、トークン入力部12にトークンが入力されたことに応じて、ユニット出力記憶部16から演算結果を読み出し、読み出した演算結果を出力値として、増幅器4にユニット出力バス2を介して出力する。   The data output unit 14 outputs, as an output value, a calculation result that is a result of calculation by the unit calculation unit 15 to the amplifier 4 via the unit output bus 2 in response to the token input to the token input unit 12. . Further, the data output unit 14 reads out the calculation result from the unit output storage unit 16 in response to the token input to the token input unit 12, and uses the read calculation result as an output value to the amplifier 4 for the unit output bus 2. Output via.

なお、後述するように、並列演算装置が、トリガであるトークンをユニットU1にトリガ入力端子P3を介して入力し、ユニットU1から順にトークンがユニット間で順次渡されていくことにより、並列演算装置の各ユニットでの処理が実行される。この並列演算装置の動作については、次に説明する並列演算装置を階層型ニューラルネットワークに適応した場合を例にして説明する。   As will be described later, the parallel arithmetic device inputs a token that is a trigger to the unit U1 via the trigger input terminal P3, and the tokens are sequentially passed between the units in order from the unit U1, thereby the parallel arithmetic device. The processing in each unit is executed. The operation of the parallel arithmetic device will be described by taking as an example a case where the parallel arithmetic device described below is applied to a hierarchical neural network.

<第1の実施形態>
<階層型ニューラルネットワークに適応した場合のユニットの構成>
次に、並列演算装置を、階層型ニューラルネットワークに適応した場合の構成について説明する。階層型ニューラルネットワークにおいても並列演算装置全体の構成は、図1の並列演算装置の構成と同一であり、ユニットの構成のみが異なる。従って、図3を用いて、階層型ニューラルネットワークに適応した場合のユニットの構成を説明する。
<First Embodiment>
<Unit configuration when applied to hierarchical neural network>
Next, a configuration when the parallel arithmetic device is applied to a hierarchical neural network will be described. Also in the hierarchical neural network, the configuration of the entire parallel arithmetic device is the same as that of the parallel arithmetic device in FIG. 1, and only the configuration of the unit is different. Therefore, the configuration of the unit when applied to the hierarchical neural network will be described with reference to FIG.

ユニットは、データ入力部101と、トークン入力部102と、トークン出力部103と、データ出力部104とを有する。また、ユニットは、重み記憶部130と、層情報記憶部133と、ユニット数記憶部134と、積和計算一次値記憶部131と、関数記憶部132と、ユニット出力記憶部135と、データ出力フラグ記憶部136と、ユニット識別情報記憶部137とを有する。また、ユニットは、カウンタ114と、積和計算一次値算出部111と、層情報算出部113と、ユニット出力算出部112とを有する。   The unit includes a data input unit 101, a token input unit 102, a token output unit 103, and a data output unit 104. The unit includes a weight storage unit 130, a layer information storage unit 133, a unit number storage unit 134, a product-sum calculation primary value storage unit 131, a function storage unit 132, a unit output storage unit 135, and a data output. A flag storage unit 136 and a unit identification information storage unit 137 are provided. The unit includes a counter 114, a product-sum calculation primary value calculation unit 111, a layer information calculation unit 113, and a unit output calculation unit 112.

ここで、図3のデータ入力部101、トークン入力部102、トークン出力部103、データ出力部104は、図2のデータ入力部11、トークン入力部12、トークン出力部13、データ出力部14に、それぞれ対応する。また、図3のユニット出力記憶部135が、図2のユニット出力記憶部16に対応する。これらの図2と図3とにおいて対応する構成について、共通の機能については、その説明を省略する。   Here, the data input unit 101, token input unit 102, token output unit 103, and data output unit 104 of FIG. 3 are connected to the data input unit 11, token input unit 12, token output unit 13, and data output unit 14 of FIG. , Respectively. Further, the unit output storage unit 135 in FIG. 3 corresponds to the unit output storage unit 16 in FIG. Descriptions of common functions in the configurations corresponding to those in FIGS. 2 and 3 are omitted.

また、図3の重み記憶部130と、層情報記憶部133と、ユニット数記憶部134と、積和計算一次値記憶部131と、関数記憶部132と、データ出力フラグ記憶部136と、ユニット識別情報記憶部137と、カウンタ114と、積和計算一次値算出部111と、層情報算出部113と、ユニット出力算出部112とが、図2のユニット演算部15に対応する。   Also, the weight storage unit 130, the layer information storage unit 133, the unit number storage unit 134, the product-sum calculation primary value storage unit 131, the function storage unit 132, the data output flag storage unit 136, the unit of FIG. The identification information storage unit 137, the counter 114, the product-sum calculation primary value calculation unit 111, the layer information calculation unit 113, and the unit output calculation unit 112 correspond to the unit calculation unit 15 in FIG.

層情報記憶部133には、階層型ニューラルネットワークの階層のうち、アクティブな層(出力層)を識別する層情報が記憶されている。ユニット識別情報記憶部137には、アクティブな層に属しているユニットのうち、いずれのユニットが出力しているかを示すユニット識別情報が記憶されている。関数記憶部132には、ユニットの出力関数と層情報とが関連付けて予め記憶されている。この出力関数とは、例えば、シグモイド関数、ステップ関数、区分線形関数などの、予め定められた関数である。   The layer information storage unit 133 stores layer information for identifying an active layer (output layer) among the layers of the hierarchical neural network. The unit identification information storage unit 137 stores unit identification information indicating which unit of the units belonging to the active layer is outputting. In the function storage unit 132, the output function of the unit and the layer information are stored in advance in association with each other. The output function is a predetermined function such as a sigmoid function, a step function, or a piecewise linear function.

重み記憶部130には、層情報で識別されるアクティブな層のユニットからの出力値に乗ずる予め定められた結合荷重と、層情報とが関連付けて記憶されている。また、重み記憶部130には、層情報とユニット識別情報とで識別される層のユニットからの出力値に乗ずる予め定められた結合荷重と、層情報とユニット識別情報とが、関連付けて記憶されている。   In the weight storage unit 130, a predetermined coupling load multiplied by the output value from the unit of the active layer identified by the layer information is stored in association with the layer information. Further, the weight storage unit 130 stores a predetermined coupling load multiplied by an output value from the unit of the layer identified by the layer information and the unit identification information, and the layer information and the unit identification information in association with each other. ing.

ユニット数記憶部134には、層情報と層情報で識別される階層に属する階層型ニューラルネットワークのユニット数とが関連付けて予め記憶されている。積和計算一次値記憶部131には、前段ユニットに相当するユニットからの入力値と結合荷重とを乗じた積和計算一次値情報が記憶される。データ出力フラグ記憶部136には、データ出力部104が出力値を出力済みであるか否かを示すデータ出力フラグが記憶されている。カウンタ114は、データ入力部101に入力値が入力される毎に、ユニット識別情報記憶部137に記憶されているユニット識別情報の値をインクリメントする。   In the unit number storage unit 134, the layer information and the number of units of the hierarchical neural network belonging to the layer identified by the layer information are stored in advance in association with each other. The product-sum calculation primary value storage unit 131 stores product-sum calculation primary value information obtained by multiplying the input value from the unit corresponding to the preceding unit and the coupling load. The data output flag storage unit 136 stores a data output flag indicating whether or not the data output unit 104 has already output an output value. The counter 114 increments the value of the unit identification information stored in the unit identification information storage unit 137 every time an input value is input to the data input unit 101.

ユニット数比較部115は、層情報記憶部133から層情報を読み出し、読み出した層情報に該当するユニット数をユニット数記憶部134から読み出し、ユニット識別情報記憶部137からユニット識別情報を読み出し、読み出したユニット識別情報の値と読み出したユニット数とを比較し、比較した結果が一致した場合に、読み出したユニット識別情報の値と読み出したユニット数とが一致したことを示す比較一致信号を出力する。また、ユニット数比較部115は、読み出したユニット識別情報の値と読み出したユニット数とを比較し、比較した結果が一致した場合に、ユニット識別情報記憶部137に記憶されているユニット識別情報の値をリセットする。   The unit number comparison unit 115 reads layer information from the layer information storage unit 133, reads the number of units corresponding to the read layer information from the unit number storage unit 134, and reads and reads unit identification information from the unit identification information storage unit 137. The unit identification information value is compared with the number of read units, and if the comparison results match, a comparison match signal indicating that the read unit identification information value matches the read unit number is output. . Further, the unit number comparison unit 115 compares the read unit identification information value with the read unit number, and if the comparison result matches, the unit identification information stored in the unit identification information storage unit 137 Reset the value.

積和計算一次値算出部111は、層情報記憶部133から読み出した層情報に該当する結合荷重を重み記憶部130から読み出し、読み出した結合荷重と、データ入力部101に入力された入力値とを乗算し、乗算した値を積和計算一次値記憶部131に記憶されている積和計算一次値情報に加算して記憶させる。   The product-sum calculation primary value calculation unit 111 reads the connection load corresponding to the layer information read from the layer information storage unit 133 from the weight storage unit 130, the read connection load, and the input value input to the data input unit 101 , And the multiplied value is added to and stored in the product-sum calculation primary value information stored in the product-sum calculation primary value storage unit 131.

また、積和計算一次値算出部111は、ユニット識別情報記憶部137から読み出したユニット識別情報と層情報記憶部133から読み出した層情報とに該当する結合荷重を重み記憶部130から読み出し、読み出した結合荷重と、データ入力部101に入力された入力値とを乗算し、乗算した値を積和計算一次値記憶部131に記憶されている積和計算一次値情報に加算して記憶させる。   Further, the product-sum calculation primary value calculation unit 111 reads out and reads the combined load corresponding to the unit identification information read from the unit identification information storage unit 137 and the layer information read from the layer information storage unit 133 from the weight storage unit 130. The combined weight and the input value input to the data input unit 101 are multiplied, and the multiplied value is added to and stored in the product-sum calculation primary value information stored in the product-sum calculation primary value storage unit 131.

ユニット出力算出部112は、積和計算一次値記憶部131から積和計算一次値情報を読み出し、層情報記憶部133から読み出した層情報に該当する出力関数を関数記憶部132から読み出し、読み出した出力関数に読み出した積和計算一次値情報を代入することにより出力値を算出し、算出した出力値をユニット出力記憶部135に記憶させる。   The unit output calculation unit 112 reads the product-sum calculation primary value information from the product-sum calculation primary value storage unit 131, reads the output function corresponding to the layer information read from the layer information storage unit 133 from the function storage unit 132, and reads The output value is calculated by substituting the read product-sum calculation primary value information into the output function, and the calculated output value is stored in the unit output storage unit 135.

また、ユニット出力算出部112は、ユニット数比較部115から比較一致信号を入力されたことに応じて、積和計算一次値記憶部131から積和計算一次値情報を読み出し、層情報記憶部133から読み出した層情報に該当する出力関数を関数記憶部132から読み出し、読み出した出力関数に読み出した積和計算一次値情報を代入することにより出力値を算出し、算出した出力値をユニット出力記憶部135に記憶させる。
また、ユニット出力算出部112は、積和計算一次値記憶部131から積和計算一次値情報を読み出した後、積和計算一次値記憶部131に記憶されている積和計算一次値情報の値を0にリセットする。
Further, the unit output calculation unit 112 reads the product sum calculation primary value information from the product sum calculation primary value storage unit 131 in response to the input of the comparison coincidence signal from the unit number comparison unit 115, and the layer information storage unit 133 The output function corresponding to the layer information read out from is read from the function storage unit 132, the output value is calculated by substituting the read product-sum calculation primary value information into the read out output function, and the calculated output value is stored in the unit output Stored in the unit 135.
The unit output calculation unit 112 reads the product-sum calculation primary value information from the product-sum calculation primary value storage unit 131, and then stores the value of the product-sum calculation primary value information stored in the product-sum calculation primary value storage unit 131. Is reset to 0.

層情報算出部113は、ユニット数比較部115から比較一致信号を入力されたことに応じて、層情報記憶部133に記憶されている層情報の値をインクリメントする。データ出力部104は、トークン入力部102にトークンが入力されたことに応じて、データ出力フラグ記憶部136のデータ出力フラグを出力済みに設定する。   The layer information calculation unit 113 increments the value of the layer information stored in the layer information storage unit 133 in response to the comparison match signal input from the unit number comparison unit 115. The data output unit 104 sets the data output flag of the data output flag storage unit 136 as output in response to the token input to the token input unit 102.

トークン出力部103は、データ入力部101に入力値が入力されたことに応じて、データ出力フラグ記憶部136からデータ出力フラグを読み出し、該読み出したデータ出力フラグが出力済みに設定されている場合には、トークンを出力する(トークン出力手順)。また、トークン出力部103は、トークンを出力すると共に、データ出力フラグ記憶部136のデータ出力フラグを未出力に設定する。   The token output unit 103 reads the data output flag from the data output flag storage unit 136 in response to the input value being input to the data input unit 101, and the read data output flag is set to have been output. Output a token (token output procedure). In addition, the token output unit 103 outputs a token and sets the data output flag of the data output flag storage unit 136 to non-output.

なお、トークン出力部103は、データ入力部101に入力値が入力されたことに応じて、データ出力フラグ記憶部136からデータ出力フラグを読み出し、読み出したデータ出力フラグが出力済みに設定されている場合には、トークンを出力するという上記トークン出力手順の代わりに、積和計算一次値算出部111にデータ入力部101からの入力値が入力されたことに応じて、データ出力フラグ記憶部136からデータ出力フラグを読み出し、該読み出したデータ出力フラグが出力済みに設定されている場合には、トークンを出力してもよい。   The token output unit 103 reads the data output flag from the data output flag storage unit 136 in response to the input value being input to the data input unit 101, and the read data output flag is set to have been output. In this case, instead of the token output procedure of outputting a token, the data output flag storage unit 136 determines that the input value from the data input unit 101 is input to the product-sum calculation primary value calculation unit 111. If the data output flag is read and the read data output flag is set to be output, a token may be output.

<階層型ニューラルネットワークに適応した場合のユニットの動作>
次に、図4と図5とを用いて、図3の階層型ニューラルネットワークに適応した場合のユニットの動作について説明する。まず、図4を用いて、ユニットに入力値が入力された場合の動作について説明する。
<Unit operation when applied to hierarchical neural network>
Next, the operation of the unit when applied to the hierarchical neural network of FIG. 3 will be described with reference to FIGS. First, the operation when an input value is input to the unit will be described with reference to FIG.

まず、データ入力部101に、増幅器4からユニット入力バス3を介して入力値が入力される(ステップS100)。次に、ステップS100で、データ入力部101に入力値が入力されたことに応じて、カウンタ114がユニット識別情報記憶部137に記憶されているユニット識別情報の値を、1つインクリメントする(ステップS101)。   First, an input value is input from the amplifier 4 to the data input unit 101 via the unit input bus 3 (step S100). Next, in step S100, in response to the input value being input to the data input unit 101, the counter 114 increments the value of the unit identification information stored in the unit identification information storage unit 137 by one (step S100). S101).

また、ステップS100で、データ入力部101に入力値が入力されたことに応じて、積和計算一次値算出部111が、ユニット識別情報記憶部137から読み出したユニット識別情報と層情報記憶部133から読み出した層情報とに該当する結合荷重を重み記憶部130から読み出し、読み出した結合荷重と、データ入力部101に入力された入力値とを乗算し、乗算した値を積和計算一次値記憶部131に記憶されている積和計算一次値情報に加算して記憶させる。   In addition, in step S100, in response to the input value being input to the data input unit 101, the product-sum calculation primary value calculation unit 111 reads the unit identification information and the layer information storage unit 133 read from the unit identification information storage unit 137. The combined weight corresponding to the layer information read out from is read out from the weight storage unit 130, the read out combined weight is multiplied by the input value input into the data input unit 101, and the multiplied value is stored as a product-sum calculation primary value storage. The product-addition calculation primary value information stored in the unit 131 is added and stored.

次に、ユニット数比較部115が、層情報記憶部133から層情報を読み出し、読み出した層情報に該当するユニット数をユニット数記憶部134から読み出し、ユニット識別情報記憶部137からユニット識別情報を読み出し、読み出したユニット識別情報の値と読み出したユニット数とを比較し、比較した結果が一致した場合に、読み出したユニット識別情報の値と読み出したユニット数とが一致したことを示す比較一致信号を出力する(ステップS103)。また、このユニット数比較部115が、読み出したユニット識別情報の値と読み出したユニット数とを比較し、比較した結果が一致した場合に、ユニット識別情報記憶部137に記憶されているユニット識別情報の値をリセットする。   Next, the unit number comparison unit 115 reads the layer information from the layer information storage unit 133, reads the number of units corresponding to the read layer information from the unit number storage unit 134, and receives the unit identification information from the unit identification information storage unit 137. A comparison match signal indicating that the value of the read unit identification information matches the number of read units when the read and read unit identification information values are compared with the number of read units and the comparison results match. Is output (step S103). Further, the unit number comparison unit 115 compares the read unit identification information value with the read unit number, and the unit identification information stored in the unit identification information storage unit 137 when the comparison result matches. Reset the value of.

次に、ステップS103にて比較した結果が一致した場合には、層情報算出部113が、ユニット数比較部115から比較一致信号を入力されたことに応じて、層情報記憶部133に記憶されている層情報の値をインクリメントする(ステップS104)。   Next, when the comparison results in step S103 match, the layer information calculation unit 113 stores the comparison match signal from the unit number comparison unit 115 and stores it in the layer information storage unit 133. The layer information value is incremented (step S104).

次に、ステップS103にて比較した結果が一致した場合には、ユニット出力算出部112は、ユニット数比較部115から比較一致信号を入力されたことに応じて、積和計算一次値記憶部131から積和計算一次値情報を読み出し、層情報記憶部133から読み出した層情報に該当する出力関数を関数記憶部132から読み出し、読み出した出力関数に読み出した積和計算一次値情報を代入することにより出力値を算出し、算出した出力値をユニット出力記憶部135に記憶させる(ステップS105)。次に、このユニット出力算出部112は、積和計算一次値記憶部131から積和計算一次値情報を読み出した後、積和計算一次値記憶部131に記憶されている積和計算一次値情報の値を0にリセットする。   Next, when the comparison results in step S103 match, the unit output calculation unit 112 responds to the input of the comparison match signal from the unit number comparison unit 115, and the product-sum calculation primary value storage unit 131. The product sum calculation primary value information is read out, the output function corresponding to the layer information read out from the layer information storage unit 133 is read out from the function storage unit 132, and the read product sum calculation primary value information is substituted into the read out output function. Then, the output value is calculated, and the calculated output value is stored in the unit output storage unit 135 (step S105). Next, the unit output calculation unit 112 reads the product-sum calculation primary value information from the product-sum calculation primary value storage unit 131, and then stores the product-sum calculation primary value information stored in the product-sum calculation primary value storage unit 131. The value of is reset to 0.

次に、または、ステップS103にて比較した結果が不一致であった場合には、トークン出力部103が、ステップS100にてデータ入力部101に入力値が入力されたことに応じて、データ出力フラグ記憶部136からデータ出力フラグを読み出し、該読み出したデータ出力フラグが出力済みであるか否かを検出し(ステップS106)、データ出力フラグが出力済みに設定されている場合には、トークンを出力する(ステップS107)。   Next, or when the result of comparison in step S103 is inconsistent, the token output unit 103 determines that the data output flag is in accordance with the input value input to the data input unit 101 in step S100. A data output flag is read from the storage unit 136, and it is detected whether or not the read data output flag has been output (step S106). If the data output flag is set to output, a token is output. (Step S107).

また、トークン出力部103は、ステップS107にてトークンを出力すると共に、データ出力フラグ記憶部136のデータ出力フラグを未出力に設定し(ステップS108)、処理を終了する。一方、ステップS106にてデータ出力フラグが未出力に設定されている場合には、トークン出力部103は、処理を終了する。   In addition, the token output unit 103 outputs a token in step S107, sets the data output flag of the data output flag storage unit 136 to non-output (step S108), and ends the process. On the other hand, when the data output flag is set to non-output in step S106, the token output unit 103 ends the process.

次に、図5を用いて、ユニットにトークンが入力された場合の動作について説明する。まず、トークン入力部102に、デイジーチェーン制御バス1を介してデイジーチェーンされている順序が1つ前のユニットからのトークンが入力される(ステップS200)。   Next, the operation when a token is input to the unit will be described with reference to FIG. First, tokens from the unit in the previous order in the daisy chain via the daisy chain control bus 1 are input to the token input unit 102 (step S200).

次に、データ出力部104は、トークン入力部102にトークンが入力されたことに応じて、ユニット出力記憶部135から出力値(演算結果)を読み出し、読み出した出力値(演算結果)を出力値として、増幅器4にユニット出力バス2を介して出力する(ステップS201)。次に、データ出力部104は、トークン入力部102にトークンが入力されたことに応じて、データ出力フラグ記憶部136のデータ出力フラグを出力済みに設定して(ステップS202)、処理を終了する。   Next, the data output unit 104 reads the output value (calculation result) from the unit output storage unit 135 in response to the token input to the token input unit 102, and outputs the read output value (calculation result) as the output value. Is output to the amplifier 4 via the unit output bus 2 (step S201). Next, the data output unit 104 sets the data output flag of the data output flag storage unit 136 to “already output” in response to the token input to the token input unit 102 (step S202), and ends the process. .

<階層型ニューラルネットワークの全体の構成>
次に、本実施形態による階層型ニューラルネットワークの全体の構成について、説明する。
ここでは、図6に示すように、階層型ニューラルネットワークとして、入力層L1、隠れ層L2、出力層L3の3層がある場合について説明する。各層は、層情報により識別されており、また、階層の層情報は、階層の順に層情報が1つずつ大きくなるようにして、識別されている。例えば、入力層L1の層情報が1、隠れ層L2の層情報が2、出力層L3の層情報が3として識別されている。
<Overall configuration of hierarchical neural network>
Next, the overall configuration of the hierarchical neural network according to the present embodiment will be described.
Here, as shown in FIG. 6, a case where there are three layers of an input layer L1, a hidden layer L2, and an output layer L3 as a hierarchical neural network will be described. Each layer is identified by the layer information, and the layer information of the layers is identified such that the layer information increases in order of the layers. For example, the layer information of the input layer L1 is identified as 1, the layer information of the hidden layer L2 is 2, and the layer information of the output layer L3 is identified as 3.

また、入力層L1には、P101、P102、P103の3個のノードがあり、隠れ層L2には、P201、P202、P203、P204、P205、P206、P207、P208、P209、P210の10個のノードがあり、出力層L3には、P301、P302、P303の3個のノードがある場合について説明する。入力層L1の各ノードの出力は、隠れ層L2の各ノードの入力に入力され、また、隠れ層L2の各ノードの出力は、出力層L3の各ノードの入力に入力されている。   The input layer L1 has three nodes P101, P102, and P103, and the hidden layer L2 has ten nodes P201, P202, P203, P204, P205, P206, P207, P208, P209, and P210. A case where there are nodes and the output layer L3 has three nodes P301, P302, and P303 will be described. The output of each node of the input layer L1 is input to the input of each node of the hidden layer L2, and the output of each node of the hidden layer L2 is input to the input of each node of the output layer L3.

各層において、各ノードはユニット識別情報により識別されており、各ノードのユニット識別情報は、予め定められたノードの配置順に、ユニット識別情報が1つずつ大きくなるようにして設定されている。例えば、P101はユニット識別情報が1であり、P102はユニット識別情報が2であり、P103はユニット識別情報が3である。   In each layer, each node is identified by unit identification information, and the unit identification information of each node is set so that the unit identification information is increased by one in the predetermined node arrangement order. For example, P101 has unit identification information of 1, P102 has unit identification information of 2, and P103 has unit identification information of 3.

本実施の形態においては、それぞれのユニットが、隠れ層L2、出力層L3のノードとして機能する。なお、この例においては、ユニットU1からユニットU3は、隠れ層L2、出力層L3のノードとして機能し、ユニットU4からユニットU10は、隠れ層L2のノードとして機能する。ここで、制御装置が入力層L1として出力値を、増幅器4とユニット出力バス2とを介して、隠れ層L2としての各ユニットに、順次出力する。そのために、ここでは、各ユニットは、隠れ層L2と出力層L3として機能する。
例えば、ユニットU1は、隠れ層L2のノードP201と出力層L3のノードP301として機能する。また、ユニットU3は、隠れ層L2のノードP203と出力層L3のノードP303として機能する。また、ユニットU4は、隠れ層L2のノードP204として機能する。
In the present embodiment, each unit functions as a node of the hidden layer L2 and the output layer L3. In this example, the units U1 to U3 function as nodes of the hidden layer L2 and the output layer L3, and the units U4 to U10 function as nodes of the hidden layer L2. Here, the control device sequentially outputs the output value as the input layer L1 to each unit as the hidden layer L2 via the amplifier 4 and the unit output bus 2. Therefore, here, each unit functions as a hidden layer L2 and an output layer L3.
For example, the unit U1 functions as the node P201 in the hidden layer L2 and the node P301 in the output layer L3. The unit U3 functions as a node P203 in the hidden layer L2 and a node P303 in the output layer L3. The unit U4 functions as the node P204 of the hidden layer L2.

ここで、あるユニットに値が入力された際、入力層L1、隠れ層L2、出力層L3のいずれの層からの入力であるかは、各ユニットにおいて、ユニットが有する層情報記憶部133に記憶してある層情報により判定される。   Here, when a value is input to a certain unit, the input from the input layer L1, the hidden layer L2, or the output layer L3 is stored in the layer information storage unit 133 of each unit. It is determined based on certain layer information.

<階層型ニューラルネットワークの全体の動作>
次に、本実施形態による階層型ニューラルネットワークの、一例としての、全体の動作について説明する。ここでは、各ユニットが、出力層L3のノードとして機能し、トークンを入力されたいずれか1つのユニットが隠れ層L2のアクティブなノードとして機能する場合について説明する。この場合、各ユニットが出力層L3のノードとして機能し、アクティブな層が隠れ層L2であるため、各ユニットの層情報記憶部133には層情報の値として2が記憶されている。
<Overall operation of hierarchical neural network>
Next, an overall operation as an example of the hierarchical neural network according to the present embodiment will be described. Here, a case will be described in which each unit functions as a node of the output layer L3, and any one unit to which a token is input functions as an active node of the hidden layer L2. In this case, since each unit functions as a node of the output layer L3 and the active layer is the hidden layer L2, 2 is stored as the value of the layer information in the layer information storage unit 133 of each unit.

まず、ノードP201であるユニットU1が、トークンが制御装置から入力されることにより、ユニット出力記憶部135から出力値を読み出し、出力値を出力すると共に、データ出力フラグ記憶部136のデータ出力フラグを出力済みとして設定する(手順A100)。次に、ノードP201からの出力値が、ユニット出力バス2と増幅器4とユニット入力バス3とを介して、ユニットU1からU10の各ユニットのデータ入力部101に入力される。   First, the unit U1 which is the node P201 reads the output value from the unit output storage unit 135 and outputs the output value when the token is input from the control device, and sets the data output flag of the data output flag storage unit 136. Set as output completed (procedure A100). Next, the output value from the node P201 is input to the data input unit 101 of each unit of the units U1 to U10 via the unit output bus 2, the amplifier 4, and the unit input bus 3.

次に、ユニットU1からU10の各ユニットは、ユニットU1からの入力値に基づいて、積和計算一次値算出部111が、ユニット識別情報記憶部137から読み出したユニット識別情報と層情報記憶部133から読み出した層情報とに該当する結合荷重を重み記憶部130から読み出し、読み出した結合荷重と、データ入力部101に入力された入力値とを乗算し、乗算した値を積和計算一次値記憶部131に記憶されている積和計算一次値情報に加算して記憶させる(手順A101)。
ここで、各ユニットの積和計算一次値算出部111が、ユニット識別情報記憶部137から読み出したユニット識別情報と層情報記憶部133から読み出した層情報とに該当する結合荷重を重み記憶部130から読み出すことにより、各ユニットは、層情報に基づいて出力層L3のノードとして機能し、また、層情報に基づいて、アクティブなユニットの属する層が隠れ層L2であると識別し、更に、ユニット識別情報に基づいてアクティブとなる隠れ層L2での各ノードを識別し、この隠れ層L2のアクティブとなるノードに対応する結合荷重を、このアクティブとなった隠れ層L2のノードからの出力値に乗ずることが可能となる。
Next, each of the units U1 to U10 has unit identification information and a layer information storage unit 133 read from the unit identification information storage unit 137 by the product-sum calculation primary value calculation unit 111 based on the input value from the unit U1. The combined weight corresponding to the layer information read out from is read out from the weight storage unit 130, the read out combined weight is multiplied by the input value input into the data input unit 101, and the multiplied value is stored as a product-sum calculation primary value storage. The product-addition calculation primary value information stored in the unit 131 is added and stored (procedure A101).
Here, the product-sum calculation primary value calculation unit 111 of each unit uses the weight storage unit 130 to determine the combined load corresponding to the unit identification information read from the unit identification information storage unit 137 and the layer information read from the layer information storage unit 133. By reading from, each unit functions as a node of the output layer L3 based on the layer information, and identifies the layer to which the active unit belongs as the hidden layer L2 based on the layer information. Based on the identification information, each node in the active hidden layer L2 is identified, and the coupling load corresponding to the active node in the hidden layer L2 is set as an output value from the node in the active hidden layer L2. It is possible to multiply.

ここで、ユニットU1のデータ出力フラグ記憶部136のデータ出力フラグは、出力済みとして設定されてあるため、ユニットU1のトークン出力部103は、データ入力部101に入力値が入力されたことに応じて、トークンを出力すると共に、データ出力フラグ記憶部136のデータ出力フラグを未出力として設定する(手順A102)。   Here, since the data output flag of the data output flag storage unit 136 of the unit U1 is set as already output, the token output unit 103 of the unit U1 responds to the input value being input to the data input unit 101. Then, the token is output and the data output flag of the data output flag storage unit 136 is set as not output (procedure A102).

次に、ユニットU1から出力されたトークンは、デイジーチェーン制御バス1を介して、デイジーチェーンされている順序が1つ後のユニットであるユニットU2のトークン入力部12に入力される(手順A103)。   Next, the token output from the unit U1 is input via the daisy chain control bus 1 to the token input unit 12 of the unit U2 which is the next unit in the daisy chain order (procedure A103). .

ユニットU2はトークン入力部12にトークンが入力されたことに応じて、上記に説明した手順A100でノードP101であるユニットU1が、トークンが入力された場合と同様に、ユニット出力記憶部135から出力値を読み出し、出力値を出力すると共に、データ出力フラグ記憶部136のデータ出力フラグを出力済みとして設定する(手順A104)。   In response to the input of the token to the token input unit 12, the unit U2 outputs the unit U1 as the node P101 in the procedure A100 described above from the unit output storage unit 135 in the same manner as when the token is input. The value is read, the output value is output, and the data output flag in the data output flag storage unit 136 is set as already output (procedure A104).

以降、同様に、手順A101から手順A103を繰り返し、隠れ層L2のノードP210であるユニットU10が、出力値を出力すると共に、データ出力フラグ記憶部136のデータ出力フラグを出力済みとして設定する。   Thereafter, similarly, the procedure A101 to the procedure A103 are repeated, and the unit U10 that is the node P210 of the hidden layer L2 outputs the output value and sets the data output flag of the data output flag storage unit 136 as already output.

次に、出力層L3のノードP301からP303に該当するユニットU1からU3の各ユニットは、手順A101と同様に、ユニットU10からの入力値に基づいて、各ユニットの積和計算一次値算出部111が、ユニット識別情報記憶部137から読み出したユニット識別情報と層情報記憶部133から読み出した層情報とに該当する結合荷重を重み記憶部130から読み出し、読み出した結合荷重と、データ入力部101に入力された入力値とを乗算し、乗算した値を積和計算一次値記憶部131に記憶されている積和計算一次値情報に加算して記憶させる(手順A105)。   Next, the units U1 to U3 corresponding to the nodes P301 to P303 of the output layer L3 are similar to the procedure A101, based on the input value from the unit U10, the product-sum calculation primary value calculation unit 111 of each unit. However, the combined load corresponding to the unit identification information read from the unit identification information storage unit 137 and the layer information read from the layer information storage unit 133 is read from the weight storage unit 130, and the read combined load and the data input unit 101 are The inputted input value is multiplied, and the multiplied value is added to and stored in the product-sum calculation primary value information stored in the product-sum calculation primary value storage unit 131 (procedure A105).

ここで、ユニットU10からの入力値が、各ユニットのデータ入力部101に入力されたことに応じて、各ユニットのカウンタ114は、ユニット識別情報記憶部137に記憶されているユニット識別情報の値をインクリメントし、ユニット識別情報の値は3となる(手順A106)。
なお、各ユニットのユニット数記憶部134には、層情報と層情報で識別される階層に属する階層型ニューラルネットワークのユニット数とが関連付けて予め記憶されている。例えば、図6の階層型ニューラルネットワークの場合には、入力層L1の層情報である値1と、階層型ニューラルネットワークのユニット数、つまり、入力層L1のノード数である3とが、関連付けて予め記憶されている。また、例えば、図6の階層型ニューラルネットワークの場合には、隠れ層L2の層情報である値2と、階層型ニューラルネットワークのユニット数、つまり、隠れ層L2のノード数である10とが、関連付けて予め記憶されている。
Here, in response to the input value from the unit U10 being input to the data input unit 101 of each unit, the counter 114 of each unit displays the value of the unit identification information stored in the unit identification information storage unit 137. And the value of the unit identification information becomes 3 (procedure A106).
The unit number storage unit 134 of each unit stores in advance the layer information and the number of units of the hierarchical neural network belonging to the layer identified by the layer information in association with each other. For example, in the case of the hierarchical neural network of FIG. 6, the value 1 which is the layer information of the input layer L1 and the number of units of the hierarchical neural network, that is, the number of nodes of the input layer L1 are associated with each other. Stored in advance. Further, for example, in the case of the hierarchical neural network of FIG. 6, the value 2 that is the layer information of the hidden layer L2 and the number of units of the hierarchical neural network, that is, the number of nodes of the hidden layer L2 are 10 Pre-stored in association.

次に、各ユニットのユニット数比較部115は、層情報記憶部133から層情報を読み出し、読み出した層情報に該当するユニット数をユニット数記憶部134から読み出し、ユニット識別情報記憶部137からユニット識別情報を読み出し、読み出したユニット識別情報の値と読み出したユニット数とを比較し、比較した結果が一致するために、読み出したユニット識別情報の値と読み出したユニット数とが一致したことを示す比較一致信号を出力すると共に、ユニット識別情報記憶部137に記憶されているユニット識別情報の値をリセットする(手順A107)。   Next, the unit number comparison unit 115 of each unit reads the layer information from the layer information storage unit 133, reads the number of units corresponding to the read layer information from the unit number storage unit 134, and reads the unit number from the unit identification information storage unit 137. The identification information is read out, the value of the read unit identification information is compared with the number of read units, and the comparison result matches, so that the value of the read unit identification information matches the number of units read. A comparison coincidence signal is output, and the value of the unit identification information stored in the unit identification information storage unit 137 is reset (procedure A107).

次に、各ユニットのユニット出力算出部112は、ユニット数比較部115から比較一致信号を入力されたことに応じて、積和計算一次値記憶部131から積和計算一次値情報を読み出し、層情報記憶部133から読み出した層情報に該当する出力関数を関数記憶部132から読み出し、読み出した出力関数に読み出した積和計算一次値情報を代入することにより出力値を算出し、算出した出力値をユニット出力記憶部135に記憶させる(手順A108)。   Next, the unit output calculation unit 112 of each unit reads the product sum calculation primary value information from the product sum calculation primary value storage unit 131 in response to the input of the comparison coincidence signal from the unit number comparison unit 115, and An output function corresponding to the layer information read from the information storage unit 133 is read from the function storage unit 132, an output value is calculated by substituting the read product-sum calculation primary value information into the read output function, and the calculated output value Is stored in the unit output storage unit 135 (procedure A108).

ここで、各ユニットのユニット出力算出部112は、層情報記憶部133から読み出した層情報に該当する出力関数を関数記憶部132から読み出すため、出力層L3に該当するユニット毎の出力関数により、ユニットの出力値を算出することが可能となる。また、各ユニットのユニット出力記憶部135に出力層L3のノードとして算出した出力値が記憶されるため、各ユニットはトークンが入力された場合に、各ユニットは出力層L3のアクティブなノードとして、出力値を出力することが可能となる。   Here, the unit output calculation unit 112 of each unit reads the output function corresponding to the layer information read from the layer information storage unit 133 from the function storage unit 132, and therefore, by the output function for each unit corresponding to the output layer L3, The output value of the unit can be calculated. In addition, since the output value calculated as the node of the output layer L3 is stored in the unit output storage unit 135 of each unit, when each unit receives a token, each unit becomes an active node of the output layer L3. An output value can be output.

また、各ユニットの層情報算出部113が、ユニット数比較部115から比較一致信号を入力されたことに応じて、層情報記憶部133に記憶されている層情報の値をインクリメントして、層情報の値を3とする。そのために、各ユニットは、以降、トークンが入力されたいずれか1つのユニットが、出力層L3のアクティブなノードとして出力値を出力する。   Further, the layer information calculation unit 113 of each unit increments the value of the layer information stored in the layer information storage unit 133 in response to the input of the comparison coincidence signal from the unit number comparison unit 115, and The information value is 3. For this purpose, each unit outputs an output value as an active node of the output layer L3 after that any one unit to which a token is input.

なお、上記において、出力層L3でユニットU3からユニットU4にトークンが出力され、次に、トークンを入力されたユニットU4が出力層L3のノードとして出力値を出力するが、この例における階層型ニューラルネットワークにおいて、出力層L3のノードとしてユニットU4に相当するノードは無いため、ユニットU4は、出力層L3のノードとして出力値を出力しないことが望ましい。または、ユニットU4は、出力層L3のノードとしては、出力値の値を0として出力してもよい。または、各ユニットにおいて、出力層L3としてのユニットU4からの出力値に乗じる結合荷重を0として、重み記憶部130に予め記憶しておいてもよい。   In the above, a token is output from the unit U3 to the unit U4 in the output layer L3, and then the unit U4 to which the token is input outputs an output value as a node of the output layer L3. Since there is no node corresponding to the unit U4 as a node of the output layer L3 in the network, it is desirable that the unit U4 does not output an output value as a node of the output layer L3. Alternatively, the unit U4 may output the output value as 0 as a node of the output layer L3. Alternatively, in each unit, the connection load multiplied by the output value from the unit U4 as the output layer L3 may be set to 0 and stored in the weight storage unit 130 in advance.

このようにユニットU4の出力値、または、ユニットU4からの出力値を受けた各ユニットの結合荷重を、予め階層型ニューラルネットワークの各層のノードの個数に合わせて設定しておくことにより、ユニットに対して、ある層でそのユニットに対応するノードが無い場合においても、本実施形態の並列演算装置は階層型ニューラルネットワークとして問題なく動作することが可能である。   Thus, the unit U4 output value or the connection load of each unit that receives the output value from the unit U4 is set in advance in accordance with the number of nodes in each layer of the hierarchical neural network. On the other hand, even when there is no node corresponding to the unit in a certain layer, the parallel arithmetic device of this embodiment can operate as a hierarchical neural network without any problem.

以上説明したように、本実施形態を階層型ニューラルネットワークに適応した場合には、一度に発火すうニューロンの個数を1つに限定したことにより、つまり、出力層において出力値を出力するノードを、トークンが入力された1つのユニットに限定することにより、ユニット間の配線が増大することを減じる効果を奏する。
また、1つの出力層のノードであるユニットからの出力値が、ユニット入力バス3を介して、1度に全ての入力層となるノードであるユニットに分配して入力されるため、分配に要する時間を減じる効果を奏する。また、複数のユニットが、並列にユニット内演算を演算するため、全体としての演算が高速になるという効果を奏する。
As described above, when this embodiment is applied to a hierarchical neural network, the number of neurons that fire at one time is limited to one, that is, the node that outputs an output value in the output layer, By limiting to one unit to which a token is input, an effect of reducing an increase in wiring between units can be obtained.
Further, since the output value from the unit which is a node of one output layer is distributed and inputted to the unit which is a node which becomes the input layer at a time via the unit input bus 3, it is necessary for the distribution. It has the effect of reducing time. In addition, since a plurality of units perform in-unit operations in parallel, the overall operation is fast.

例えば、階層型ニューラルネットワークを演算した場合、従来型のプロセッサを用いた場合には、その計算時間は概算として、計算時間=(シナプス数×1回の演算に要するステップ数÷クロック周波数)として算出されるのに対して、本実形態による並列演算装置を用いた場合には、計算時間=(ニューロン数×1ニューロンの発火周期)により算出される。ここで、シナプス数は、ニューロン数の2乗に比例するため、本実形態による並列演算装置を用いた階層型ニューラルネットワークの計算時間は、従来型のプロセッサを用いた場合に比較して、計算時間を大幅に減ずることが可能となる。   For example, when calculating a hierarchical neural network, if a conventional processor is used, the calculation time is approximately calculated as calculation time = (number of synapses × number of steps required for one calculation ÷ clock frequency). On the other hand, when the parallel arithmetic device according to the present embodiment is used, calculation time = (number of neurons × one neuron firing cycle). Here, since the number of synapses is proportional to the square of the number of neurons, the calculation time of the hierarchical neural network using the parallel arithmetic device according to this embodiment is calculated as compared with the case of using a conventional processor. Time can be greatly reduced.

また、各ユニットが、階層型ニューラルネットワークの層を変更し、かつ、入力側の層のノードと出力側の層のノードとして機能するため、少ないユニット数で多層のノードの演算を実行することが可能となる効果を奏する。   In addition, since each unit changes the layer of the hierarchical neural network and functions as a node on the input side and a node on the output side, it is possible to perform multi-layer node operations with a small number of units. There is a possible effect.

なお、上記に説明した第1の実施形態においては、制御装置が入力層L1として出力値を順次出力し、そのために、各ユニットは隠れ層L2と出力層L3のノードとして機能するとして説明したが、各ユニットは、入力層L1のノードとして機能するようにしてもよい。例えば、制御装置が入力層L1のノードに対応する出力値を順次出力し、ユニットが入力層L1のノードとして、制御装置からの出力値をユニット出力記憶部135に順次記憶する。次に、トークンが入力されたユニットが、入力層L1のアクティブなユニットとして出力値を出力する。このようにして、各ユニットは、入力層L1と、隠れ層L2と、出力層L3とのユニットとして機能することも可能である。   In the first embodiment described above, the control device sequentially outputs output values as the input layer L1, and therefore, each unit functions as a node of the hidden layer L2 and the output layer L3. Each unit may function as a node of the input layer L1. For example, the control device sequentially outputs output values corresponding to the nodes of the input layer L1, and the unit sequentially stores output values from the control device in the unit output storage unit 135 as nodes of the input layer L1. Next, the unit to which the token is input outputs an output value as an active unit of the input layer L1. In this way, each unit can also function as a unit of the input layer L1, the hidden layer L2, and the output layer L3.

なお、上記の第1の実施形態においては、階層型ニューラルネットワークとして、入力層L1、隠れ層L2、出力層L3の3層がある場合について説明したが、本実施形態は、階層型ニューラルネットワークの階層は3層に限られるものではなく、任意の階層に適応可能である。   In the first embodiment, the case where there are three layers of the input layer L1, the hidden layer L2, and the output layer L3 as the hierarchical neural network has been described. However, in the present embodiment, the hierarchical neural network The hierarchy is not limited to three layers, and can be applied to any hierarchy.

<第2の実施形態>
<自己組織化マップに適応した場合のユニットの構成>
次に、本実施形態の並列演算装置を、自己組織化マップに適応した場合について説明する。自己組織化マップは、次のような処理を実行することにより、多変量からなるデータの統計的性質を学習し、 類似したデータが近接するように配列し、また、データの視覚化することを可能とするものである。
<Second Embodiment>
<Unit structure when adapted to the self-organizing map>
Next, the case where the parallel arithmetic device of this embodiment is applied to a self-organizing map will be described. The self-organizing map learns the statistical properties of multivariate data by performing the following processes, arranges similar data in close proximity, and visualizes the data: It is possible.

各ユニットは、ユニットの結合重みベクトルを有している。まず、各ユニットに入力データベクトルが入力され、各ユニットは入力された入力データベクトルと結合重みベクトルの差であるノルムを算出する(手順A200)。次に、最もノルムの小さい出力ユニットを勝者ユニットとして選択する(手順A201)。次に、選択した勝者ユニットとその近傍のユニットが、より入力データベクトルに近づくように結合重みベクトルの値を予め定められた関数により変更して、学習を行う(手順A203)。この、手順A200から手順A203を繰り返す。   Each unit has a unit connection weight vector. First, an input data vector is input to each unit, and each unit calculates a norm that is the difference between the input data vector and the connection weight vector (procedure A200). Next, the output unit with the smallest norm is selected as the winner unit (procedure A201). Next, learning is performed by changing the value of the coupling weight vector with a predetermined function so that the selected winner unit and its neighboring units are closer to the input data vector (procedure A203). This procedure A200 to procedure A203 are repeated.

本実施形態の並列演算装置を自己組織化マップに適応する場合、各ユニットに入力されるデータは、上記の手順A200と、手順A201と、手順A202とで異なるため、実施形態においては、ユニットに入力するデータに、上記の手順A200と、手順A201と、手順A202とを識別する識別情報を組とすることにより、識別する。   When the parallel computing device of this embodiment is applied to a self-organizing map, the data input to each unit is different in the above-described procedure A200, procedure A201, and procedure A202. The input data is identified by combining identification information for identifying the procedure A200, the procedure A201, and the procedure A202.

図9(a)に示すように、ユニット入力バス3からの入力値は、ノルム部とデータ部とを有する。また、図9(b)に示すように、ノルム部の値が−2である場合、入力値のノルム部は「データ部の値が入力ベクトルである」ことを示す識別子であり、そのデータ部は入力ベクトルである。また、図9(c)に示すように、ノルム部の値が−1である場合、ノルム部は「近傍判定識別情報」であり、そのデータ部は、ネットワーク座標である。また、図9(d)に示すように、ノルム部の値が零または正の値である場合、ノルム部の値はノルムであり、また、データ部は、ネットワーク座標である。これらの詳細については、後述する。   As shown in FIG. 9A, the input value from the unit input bus 3 has a norm part and a data part. Further, as shown in FIG. 9B, when the value of the norm part is −2, the norm part of the input value is an identifier indicating that “the value of the data part is an input vector”, and the data part Is the input vector. As shown in FIG. 9C, when the value of the norm part is −1, the norm part is “neighboring determination identification information”, and the data part is network coordinates. Further, as shown in FIG. 9D, when the value of the norm part is zero or a positive value, the value of the norm part is the norm, and the data part is the network coordinates. Details of these will be described later.

次に、図7と図8とを用いて、自己組織化マップに適応した場合の並列演算装置のユニットの構成について説明する。ここで、複数のユニットのそれぞれは、ネットワーク座標により識別される座標で予め識別されている。なお、各ユニットは、同一の構成を有しているので、1つのユニットのみについて説明する。   Next, with reference to FIGS. 7 and 8, the configuration of the units of the parallel arithmetic device when applied to the self-organizing map will be described. Here, each of the plurality of units is identified in advance by coordinates identified by network coordinates. Since each unit has the same configuration, only one unit will be described.

この図7または図8のユニットの構成において、データ入力部201はデータ入力部11に対応し、データ出力部204はデータ出力部14に対応し、トークン入力部202はトークン入力部12に対応と、トークン出力部203はトークン出力部13に対応する。また、ユニットノルム記憶部236と、入力ノルム記憶部237と、ユニットネットワーク座標記憶部234と、入力ネットワーク座標記憶部233とは、ユニット出力記憶部16に対応する。また、他の構成は、ユニット演算部15に対応する。   7 or 8, the data input unit 201 corresponds to the data input unit 11, the data output unit 204 corresponds to the data output unit 14, and the token input unit 202 corresponds to the token input unit 12. The token output unit 203 corresponds to the token output unit 13. The unit norm storage unit 236, the input norm storage unit 237, the unit network coordinate storage unit 234, and the input network coordinate storage unit 233 correspond to the unit output storage unit 16. The other configuration corresponds to the unit calculation unit 15.

ユニットネットワーク座標記憶部234には、ユニットのネットワーク座標であるユニットネットワーク座標が予め記憶されている。入力ネットワーク座標記憶部233には、入力されたネットワーク座標である入力ネットワーク座標が記憶される。重み記憶部231には、ユニットの結合重みベクトルが予め記憶されている。入力データ記憶部230には、入力された入力データベクトルが記憶される。ユニットノルム記憶部236には、ユニットのノルムが記憶される。入力ノルム記憶部237には、入力されたノルムが記憶される。   In the unit network coordinate storage unit 234, unit network coordinates, which are unit network coordinates, are stored in advance. The input network coordinate storage unit 233 stores input network coordinates that are input network coordinates. The weight storage unit 231 stores unit connection weight vectors in advance. The input data storage unit 230 stores input input data vectors. The unit norm storage unit 236 stores the unit norm. The input norm storage unit 237 stores the input norm.

学習速度記憶部235には、学習速度を決める係数である学習速度係数が予め記憶されている。また、学習速度記憶部235には、学習した回数を示す学習ステップ数と、前記学習速度係数とが予め関連付けて記憶されている。距離記憶部232には、ネットワーク座標の間の距離が近傍であるか否かを判定する基準である基準距離が予め記憶されている。また、距離記憶部232には、学習ステップ数と基準距離とが予め関連付けて記憶されている。   The learning speed storage unit 235 stores a learning speed coefficient that is a coefficient for determining the learning speed in advance. In addition, the learning speed storage unit 235 stores a learning step number indicating the number of times of learning and the learning speed coefficient in association with each other in advance. The distance storage unit 232 stores in advance a reference distance that is a reference for determining whether or not the distance between the network coordinates is near. The distance storage unit 232 stores the number of learning steps and the reference distance in association with each other.

データ入力判定部222は、データ入力部201に入力された入力値が入力データベクトルであるか否かを判定し、入力データベクトルである場合には、データ抽出部210に入力値である入力データベクトルを出力し、入力データベクトルでない場合には、ネットワーク座標抽出部211とノルム抽出部212とに入力値を出力する。
このデータ入力判定部222は、入力値のノルムの値が、入力値が入力データベクトルであることを示す値である−2であるか否かを判定することにより、データ入力部201に入力された入力値が入力データベクトルであるか否かを判定する。
The data input determination unit 222 determines whether or not the input value input to the data input unit 201 is an input data vector. If the input value is an input data vector, the input data that is an input value to the data extraction unit 210 is determined. When the vector is output and not the input data vector, the input value is output to the network coordinate extraction unit 211 and the norm extraction unit 212.
The data input determination unit 222 is input to the data input unit 201 by determining whether the norm value of the input value is −2 that is a value indicating that the input value is an input data vector. It is determined whether the input value is an input data vector.

データ抽出部210は、データ入力部201に入力された入力値が入力データベクトルである場合には、入力された入力データベクトルを入力データ記憶部230に記憶させる。また、データ抽出部210は、入力された入力データベクトルを、ノルム算出部214に出力する。また、データ抽出部210は、入力データベクトルが入力される毎に、カウンタ213がカウントアップ信号を出力する。   If the input value input to the data input unit 201 is an input data vector, the data extraction unit 210 causes the input data storage unit 230 to store the input data vector input. Further, the data extraction unit 210 outputs the input data vector that has been input to the norm calculation unit 214. In the data extraction unit 210, the counter 213 outputs a count-up signal each time an input data vector is input.

カウンタ213は、ユニットに入力データベクトルが入力される毎に、ユニットに入力データベクトルが入力された回数であるステップ数をカウントアップする。また、カウンタ213は、データ抽出部210からカウントアップ信号を入力される毎に、ステップ数をカウントアップする。   Each time an input data vector is input to the unit, the counter 213 counts up the number of steps that is the number of times the input data vector is input to the unit. The counter 213 counts up the number of steps each time a count up signal is input from the data extraction unit 210.

ノルム算出部214は、データ入力部201に入力された入力値が入力データベクトルである場合には、入力された入力データベクトルと、重み記憶部231から読み出した結合重みベクトルとのノルムを算出し、算出したノルムをユニットノルムとしてユニットノルム記憶部236に記憶させる。   When the input value input to the data input unit 201 is an input data vector, the norm calculation unit 214 calculates a norm between the input data vector input and the combined weight vector read from the weight storage unit 231. The calculated norm is stored in the unit norm storage unit 236 as a unit norm.

入力ノルム部250は、データ入力部201に入力された入力値が、ネットワーク座標とノルムとの組みである場合には、入力されたネットワーク座標を入力ネットワーク座標として入力ネットワーク座標記憶部233に記憶させると共に、入力されたノルムを入力ノルムとして入力ノルム記憶部237に記憶させる。この入力ノルム部250は、ネットワーク座標抽出部211と、ノルム抽出部212と、入力ノルム判定部218とから構成されている。   When the input value input to the data input unit 201 is a combination of network coordinates and norm, the input norm unit 250 stores the input network coordinates as input network coordinates in the input network coordinate storage unit 233. At the same time, the input norm is stored in the input norm storage unit 237 as an input norm. The input norm unit 250 includes a network coordinate extraction unit 211, a norm extraction unit 212, and an input norm determination unit 218.

ネットワーク座標抽出部211は、入力された入力値から、ネットワーク座標を抽出し、抽出したネットワーク座標を入力ネットワーク座標として入力ネットワーク座標記憶部233に記憶させる。ノルム抽出部212は、入力された入力値から、ノルムを抽出し、抽出したノルムを入力ノルム判定部218に出力する。   The network coordinate extraction unit 211 extracts network coordinates from the input values that have been input, and stores the extracted network coordinates in the input network coordinate storage unit 233 as input network coordinates. The norm extraction unit 212 extracts a norm from the input value that has been input, and outputs the extracted norm to the input norm determination unit 218.

入力ノルム判定部218は、ノルム抽出部212から入力されたノルムの値により、入力されたノルムが、ノルムであるのか、または、ネットワーク座標と近傍判定を実行することを示す識別情報である近傍判定識別情報であるのかを判定し、ノルムである場合には、入力されたノルムを入力ノルムとして入力ノルム記憶部237に記憶させる。逆に、入力されたノルムが近傍判定識別情報である場合には、入力ノルム判定部218は、近傍判定部215に、近傍判定識別情報を出力する。
例えば、この入力ノルム判定部218は、ノルム抽出部212から入力されたノルムの値が−1である場合には、入力されたノルムが近傍判定識別情報であるとして判定し、ノルム抽出部212から入力されたノルムの値が−1でない場合には、ノルムとして判定する。
The input norm determination unit 218 determines whether the input norm is a norm based on the norm value input from the norm extraction unit 212 or is identification information indicating identification information indicating that the network coordinates and the proximity determination are executed. Whether it is identification information or not is determined. If it is a norm, the input norm is stored in the input norm storage unit 237 as an input norm. Conversely, when the input norm is the proximity determination identification information, the input norm determination unit 218 outputs the proximity determination identification information to the proximity determination unit 215.
For example, when the norm value input from the norm extraction unit 212 is −1, the input norm determination unit 218 determines that the input norm is proximity determination identification information, and the norm extraction unit 212 If the input norm value is not -1, it is determined as the norm.

ノルム比較部217は、トークン入力部202を介してトークンが入力されたことに応じて、ユニットノルム記憶部236から読み出したユニットノルムと、入力ノルム記憶部237から読み出した入力ノルムとを比較する。   The norm comparison unit 217 compares the unit norm read from the unit norm storage unit 236 with the input norm read from the input norm storage unit 237 in response to the token input via the token input unit 202.

選択出力部251は、ノルム比較部217の比較した結果が、読み出したユニットノルムが入力ノルムより小さい場合には、ユニットノルム記憶部236から読み出したユニットノルムとユニットネットワーク座標記憶部234から読み出したユニットネットワーク座標とを組みとして、データ出力部204を介して出力し、読み出したユニットノルムが入力ノルム以上である場合には、入力ノルム記憶部237から読み出した入力ノルムと入力ネットワーク座標記憶部233から読み出した入力ネットワーク座標とを組みとして、データ出力部204を介して出力する。この選択出力部251は、ネットワーク座標選択部219と、ノルム選択部220と、データ合成出力部221とから構成されている。   The selection output unit 251 determines that the unit norm read from the unit norm storage unit 236 and the unit read from the unit network coordinate storage unit 234 when the comparison result of the norm comparison unit 217 is smaller than the input norm. When the unit norm output from the data output unit 204 as a pair with the network coordinates and read out is equal to or larger than the input norm, the input norm read from the input norm storage unit 237 and the input network coordinate storage unit 233 are read. The input network coordinates are combined and output via the data output unit 204. The selection output unit 251 includes a network coordinate selection unit 219, a norm selection unit 220, and a data synthesis output unit 221.

ノルム選択部220は、ノルム比較部217の比較した結果が、読み出したユニットノルムが入力ノルムより小さい場合には、ユニットノルム記憶部236からユニットノルムを読み出し、読み出したユニットノルムをデータ合成出力部221に出力する。また、ネットワーク座標選択部219は、ノルム比較部217の比較した結果が、読み出したユニットノルムが入力ノルム以上である場合には入力ノルム記憶部237から入力ノルムを読み出し、読み出した入力ノルムをデータ合成出力部221に出力する。   When the comparison result of the norm comparison unit 217 indicates that the read unit norm is smaller than the input norm, the norm selection unit 220 reads the unit norm from the unit norm storage unit 236, and uses the read unit norm as the data synthesis output unit 221. Output to. Further, the network coordinate selection unit 219 reads the input norm from the input norm storage unit 237 when the comparison result of the norm comparison unit 217 indicates that the read unit norm is greater than or equal to the input norm, and synthesizes the read input norm Output to the output unit 221.

ネットワーク座標選択部219は、ノルム比較部217の比較した結果が、読み出したユニットノルムが入力ノルムより小さい場合には、ユニットネットワーク座標記憶部234からユニットネットワーク座標を読み出し、読み出したユニットネットワーク座標をデータ合成出力部221に出力する。また、ネットワーク座標選択部219は、ノルム比較部217の比較した結果が、読み出したユニットノルムが入力ノルム以上である場合には、入力ネットワーク座標記憶部233から入力ネットワーク座標を読み出し、読み出した入力ネットワーク座標をデータ合成出力部221に出力する。   When the result of comparison by the norm comparison unit 217 indicates that the read unit norm is smaller than the input norm, the network coordinate selection unit 219 reads the unit network coordinates from the unit network coordinate storage unit 234 and uses the read unit network coordinates as data. The result is output to the composite output unit 221. The network coordinate selection unit 219 reads the input network coordinates from the input network coordinate storage unit 233 when the unit norm read by the norm comparison unit 217 is greater than or equal to the input norm, and reads the input network The coordinates are output to the data composition output unit 221.

データ合成出力部221は、ノルム選択部220から入力されたユニットノルムまたは入力ノルムであるノルムと、ネットワーク座標選択部219から入力されたユニットネットワーク座標または入力ネットワーク座標であるネットワーク座標とを組みとして合成し、組として合成したノルムとネットワーク座標とを、データ出力部204を介して出力する。   The data synthesis output unit 221 synthesizes a unit norm input from the norm selection unit 220 or a norm that is an input norm and a network coordinate that is a unit network coordinate or input network coordinate input from the network coordinate selection unit 219. Then, the norm synthesized as a set and the network coordinates are output via the data output unit 204.

近傍判定部215は、データ入力部201に入力された入力値が、ネットワーク座標と近傍判定を実行することを示す識別情報である近傍判定識別情報との組みである場合には、ユニットネットワーク座標記憶部234から読み出したユニットネットワーク座標が、入力されたネットワーク座標である入力ネットワーク座標の近傍にあるか否かを判定する。   When the input value input to the data input unit 201 is a set of network coordinates and proximity determination identification information that is identification information indicating that the proximity determination is executed, the proximity determination unit 215 stores the unit network coordinate storage. It is determined whether the unit network coordinates read from the unit 234 are in the vicinity of the input network coordinates that are the input network coordinates.

また、近傍判定部215は、近傍判定識別情報が入力ノルム部250または入力ノルム判定部218から入力されたことに応じて、ユニットネットワーク座標記憶部234から読み出したユニットネットワーク座標が、入力されたネットワーク座標である入力ネットワーク座標の近傍にあるか否かを判定する。   Further, the neighborhood determination unit 215 receives the unit network coordinates read from the unit network coordinate storage unit 234 in response to the input of the neighborhood determination identification information from the input norm determination unit 250 or the input norm determination unit 218. It is determined whether or not the input network coordinates are coordinates.

また、近傍判定部215は、データ入力部201に入力された入力値が、ネットワーク座標と近傍判定を実行することを示す識別情報である近傍判定識別情報との組みである場合には、距離記憶部232から基準距離を読み出し、ユニットネットワーク座標記憶部234から読み出したユニットネットワーク座標と入力されたネットワーク座標である入力ネットワーク座標との間の距離が、読み出した基準距離以下であるか否かを判定することにより、ユニットネットワーク座標が入力ネットワーク座標の近傍にあるか否かを判定する。   The proximity determination unit 215 stores the distance when the input value input to the data input unit 201 is a set of network coordinates and proximity determination identification information that is identification information indicating that the proximity determination is executed. The reference distance is read from the unit 232, and it is determined whether or not the distance between the unit network coordinates read from the unit network coordinate storage unit 234 and the input network coordinates that are the input network coordinates is equal to or less than the read reference distance. By doing so, it is determined whether or not the unit network coordinates are in the vicinity of the input network coordinates.

また、近傍判定部215は、カウンタ213から読み出したステップ数に一致する学習ステップ数に関連付けられている基準距離を距離記憶部232から読み出し、該読み出した基準距離に基づいて前記ユニットネットワーク座標が前記入力ネットワーク座標の近傍にあるか否かを判定する。   Further, the proximity determination unit 215 reads a reference distance associated with the number of learning steps that matches the number of steps read from the counter 213 from the distance storage unit 232, and the unit network coordinates are calculated based on the read reference distance. It is determined whether it is in the vicinity of the input network coordinates.

重み更新部216は、近傍判定部215の判定した結果が近傍である場合には、重み記憶部231に記憶されている結合重みベクトルの値を更新する。また、重み更新部216は、入力データ記憶部230から読み出した入力データベクトルと重み記憶部231から読み出した結合重みベクトルとの差を算出し、算出した差に、学習速度記憶部235から読み出した学習速度係数を乗じた値を、重み記憶部231に記憶されている結合重みベクトルに加算することにより、重み記憶部231に記憶されている結合重みベクトルの値を更新する。   The weight update unit 216 updates the value of the coupling weight vector stored in the weight storage unit 231 when the result determined by the proximity determination unit 215 is a neighborhood. Further, the weight update unit 216 calculates the difference between the input data vector read from the input data storage unit 230 and the combined weight vector read from the weight storage unit 231, and reads the calculated difference from the learning speed storage unit 235. A value obtained by multiplying the learning speed coefficient is added to the connection weight vector stored in the weight storage unit 231, thereby updating the value of the connection weight vector stored in the weight storage unit 231.

また、重み更新部216は、カウンタ213から読み出したステップ数と一致する学習ステップ数に関連付けられている学習速度係数を学習速度記憶部235から読み出し、読み出した学習速度係数に基づいて重み記憶部231に記憶されている結合重みベクトルの値を更新する。   Also, the weight update unit 216 reads from the learning speed storage unit 235 the learning speed coefficient associated with the number of learning steps that matches the number of steps read from the counter 213, and the weight storage unit 231 based on the read learning speed coefficient. Update the value of the connection weight vector stored in.

トークン出力フラグ記憶部238には、トークン出力部203がトークンを出力済みであるか否かを示すトークン出力フラグが記憶されている。トークン出力フラグ判定部223は、トークン入力部202にトークンが入力されたことに応じて、トークン出力フラグ記憶部238からトークン出力フラグを読み出し、読み出したトークン出力フラグがトークンを未出力である場合に、入力されたトークンをノルム比較部217に出力すると共に、入力されたトークンを、トークン出力部203を介して出力する。   The token output flag storage unit 238 stores a token output flag indicating whether or not the token output unit 203 has already output a token. The token output flag determination unit 223 reads the token output flag from the token output flag storage unit 238 in response to the token input to the token input unit 202, and when the read token output flag has not output a token. The input token is output to the norm comparison unit 217, and the input token is output via the token output unit 203.

トークン出力部203は、トークン入力部202にトークンが入力されたことに応じて、トークンを出力する。また、トークン出力部203は、データ合成出力部221または選択出力部251が、ユニットノルム記憶部236から読み出したユニットノルムとユニットネットワーク座標記憶部234から読み出したユニットネットワーク座標とを組みとしてデータ出力部204を介して出力したことに応じて、または、入力ノルム記憶部237から読み出した入力ノルムと入力ネットワーク座標記憶部233から読み出した入力ネットワーク座標とを組みとしてデータ出力部204を介して出力したことに応じて、トークンを出力する。また、トークン出力部203は、トークンを出力した後に、トークン出力フラグ記憶部238に記憶されているトークン出力フラグを出力済みに更新する。   The token output unit 203 outputs a token in response to the token input to the token input unit 202. The token output unit 203 also includes a data output unit that includes the unit norm read from the unit norm storage unit 236 and the unit network coordinates read from the unit network coordinate storage unit 234 by the data synthesis output unit 221 or the selection output unit 251 as a set. Output via the data output unit 204 in response to the output via the data output unit 204 or as a combination of the input norm read from the input norm storage unit 237 and the input network coordinates read from the input network coordinate storage unit 233 Depending on, the token is output. Further, after outputting the token, the token output unit 203 updates the token output flag stored in the token output flag storage unit 238 to be output.

<自己組織化マップに適応した場合のユニットの動作>
次に、図10と図11とを用いて、自己組織化マップに適応した場合の並列演算装置のユニットの動作について説明する。最初に、図10を用いて、ユニットのデータ入力部に入力値が入力された場合の動作について説明する。
<Unit operation when applied to a self-organizing map>
Next, with reference to FIGS. 10 and 11, the operation of the units of the parallel arithmetic device when applied to the self-organizing map will be described. First, the operation when an input value is input to the data input unit of the unit will be described with reference to FIG.

まず、データ入力部201に入力値であるデータが入力される(ステップS400)。次に、データ入力判定部222は、入力値のノルムの値が、入力値が入力データベクトルであることを示す値である−2であるか否かを判定することにより、データ入力部201に入力された入力値が入力データベクトルであるか否かを判定する(ステップS401)。   First, data that is an input value is input to the data input unit 201 (step S400). Next, the data input determination unit 222 determines whether or not the norm value of the input value is −2 that is a value indicating that the input value is an input data vector. It is determined whether or not the input value is an input data vector (step S401).

次に、ステップS401の判定結果が、ノルムの値が−2であり、入力データベクトルである場合には、データ抽出部210が、入力された入力データベクトルを入力データ記憶部230に記憶させる(ステップS402)と共に、カウントアップ信号をカウンタ213に出力する。次に、カウンタ213は、データ抽出部210からカウントアップ信号を入力されたことに応じて、ステップ数をカウントアップする(ステップS403)。   Next, when the determination result in step S401 is that the norm value is −2 and an input data vector, the data extraction unit 210 stores the input data vector input in the input data storage unit 230 ( A count-up signal is output to the counter 213 together with step S402). Next, the counter 213 counts up the number of steps in response to the input of the count up signal from the data extraction unit 210 (step S403).

次に、ノルム算出部214は、データ抽出部210を介して入力された入力データベクトルと、重み記憶部231から読み出した結合重みベクトルとのノルムを算出し、算出したノルムをユニットノルムとしてユニットノルム記憶部236に記憶させ(ステップS404)、処理を終了する。   Next, the norm calculation unit 214 calculates a norm between the input data vector input via the data extraction unit 210 and the combined weight vector read from the weight storage unit 231, and uses the calculated norm as a unit norm. The data is stored in the storage unit 236 (step S404), and the process ends.

一方、ステップS401の判定結果が、ノルムの値が−2ではなく、入力データベクトルではない場合には、ネットワーク座標抽出部211が、入力された入力値から、ネットワーク座標を抽出し、抽出したネットワーク座標を入力ネットワーク座標として入力ネットワーク座標記憶部233に記憶させる(ステップS405)と共に、ノルム抽出部212は、入力された入力値から、ノルムを抽出し、抽出したノルムを入力ノルム判定部218に出力する。   On the other hand, if the determination result in step S401 is that the norm value is not −2 and is not an input data vector, the network coordinate extraction unit 211 extracts network coordinates from the input values that have been input, and extracts the extracted network. The coordinates are stored in the input network coordinate storage unit 233 as input network coordinates (step S405), and the norm extraction unit 212 extracts the norm from the input value that has been input, and outputs the extracted norm to the input norm determination unit 218. To do.

次に、入力ノルム判定部218は、ノルム抽出部212から入力されたノルムの値が−1であるか否かを判定し(ステップS406)、判定結果が、ノルム抽出部212から入力されたノルムの値が−1でない場合には、ノルムとして判定し、入力されたノルムを入力ノルムとして入力ノルム記憶部237に記憶させ(ステップS407)、処理を終了する。   Next, the input norm determination unit 218 determines whether or not the norm value input from the norm extraction unit 212 is −1 (step S406), and the determination result is the norm input from the norm extraction unit 212. If the value of is not −1, it is determined as a norm, the input norm is stored as an input norm in the input norm storage unit 237 (step S407), and the process is terminated.

一方、ステップS406の判定結果が、ノルム抽出部212から入力されたノルムの値が−1である場合には、入力ノルム判定部218は、入力されたノルムが近傍判定識別情報であるとして判定し、近傍判定部215に、近傍判定識別情報を出力する。次に、近傍判定部215は、近傍判定識別情報が入力ノルム判定部218から入力されたことに応じて、ユニットネットワーク座標記憶部234から読み出したユニットネットワーク座標が、入力されたネットワーク座標である入力ネットワーク座標の近傍にあるか否かを判定する(ステップS408)。   On the other hand, if the determination result in step S406 is that the norm value input from the norm extraction unit 212 is -1, the input norm determination unit 218 determines that the input norm is the proximity determination identification information. The proximity determination identification information is output to the proximity determination unit 215. Next, the neighborhood determining unit 215 inputs the unit network coordinates read from the unit network coordinate storage unit 234 in response to the input of the neighborhood determining identification information from the input norm determining unit 218 being the input network coordinates. It is determined whether or not it is in the vicinity of the network coordinates (step S408).

ステップS408の判定結果が、近傍である場合には、重み更新部216が、重み記憶部231に記憶されている結合重みベクトルの値を更新して(ステップS409)、処理を終了する。一方、ステップS408の判定結果が、近傍でない場合には、処理を終了する。   If the determination result in step S408 is near, the weight updating unit 216 updates the value of the coupling weight vector stored in the weight storage unit 231 (step S409), and the process ends. On the other hand, if the determination result in step S408 is not close, the process ends.

次に、図11を用いて、ユニットのトークン入力部にトークンが入力された場合の動作について説明する。まず、トークン入力部202に、トークンが入力される(ステップS500)。次に、トークン出力フラグ判定部223が、トークン入力部202にトークンが入力されたことに応じて、トークン出力フラグ記憶部238からトークン出力フラグを読み出し、読み出したトークン出力フラグがトークンを未出力であるか否かを判定し(ステップS501)、読み出したトークン出力フラグがトークンを未出力である場合には、入力されたトークンをノルム比較部217に出力すると共に、入力されたトークンを、トークン出力部203を介して出力する。   Next, the operation when a token is input to the token input unit of the unit will be described with reference to FIG. First, a token is input to the token input unit 202 (step S500). Next, the token output flag determination unit 223 reads the token output flag from the token output flag storage unit 238 in response to the token input to the token input unit 202, and the read token output flag indicates that the token has not been output. It is determined whether or not there is a token (step S501). If the read token output flag indicates that the token has not been output, the input token is output to the norm comparison unit 217, and the input token is output as a token. The data is output via the unit 203.

次に、ノルム比較部217は、トークン入力部202を介してトークンが入力されたことに応じて、ユニットノルム記憶部236から読み出したユニットノルムと、入力ノルム記憶部237から読み出した入力ノルムとを比較する(ステップS502)。   Next, the norm comparison unit 217 calculates the unit norm read from the unit norm storage unit 236 and the input norm read from the input norm storage unit 237 in response to the token input via the token input unit 202. Compare (step S502).

ノルム比較部217の比較した結果が、読み出したユニットノルムが入力ノルムより小さい場合には、ノルム選択部220が、ユニットノルム記憶部236からユニットノルムを読み出し、読み出したユニットノルムをデータ合成出力部221に出力する(ステップS503)と共に、ネットワーク座標選択部219が、ユニットネットワーク座標記憶部234からユニットネットワーク座標を読み出し、読み出したユニットネットワーク座標をデータ合成出力部221に出力する(ステップS504)。   When the comparison result of the norm comparison unit 217 indicates that the read unit norm is smaller than the input norm, the norm selection unit 220 reads the unit norm from the unit norm storage unit 236, and the read unit norm is the data synthesis output unit 221. (Step S503), the network coordinate selection unit 219 reads the unit network coordinates from the unit network coordinate storage unit 234, and outputs the read unit network coordinates to the data composition output unit 221 (step S504).

次に、データ合成出力部221が、ノルム選択部220から入力されたユニットノルムと、ネットワーク座標選択部219から入力されたユニットネットワーク座標とを組みとして合成し、組として合成したユニットノルムとユニットネットワーク座標とを、データ出力部204を介して出力する(ステップS505)。   Next, the data combination output unit 221 combines the unit norm input from the norm selection unit 220 and the unit network coordinates input from the network coordinate selection unit 219 as a set, and combines the unit norm and unit network combined as a set. The coordinates are output via the data output unit 204 (step S505).

一方、ステップS502でノルム比較部217が比較した結果が、読み出したユニットノルムが入力ノルム以上である場合には、ノルム選択部220が、入力ノルム記憶部237から入力ノルムを読み出し、読み出した入力ノルムをデータ合成出力部221に出力する(ステップS508)と共に、ネットワーク座標選択部219が、入力ネットワーク座標記憶部233から入力ネットワーク座標を読み出し、読み出した入力ネットワーク座標をデータ合成出力部221に出力する(ステップS509)。   On the other hand, if the result of comparison by the norm comparison unit 217 in step S502 indicates that the read unit norm is greater than or equal to the input norm, the norm selection unit 220 reads the input norm from the input norm storage unit 237 and reads the read input norm. Is output to the data composition output unit 221 (step S508), and the network coordinate selection unit 219 reads the input network coordinates from the input network coordinate storage unit 233, and outputs the read input network coordinates to the data composition output unit 221 ( Step S509).

次に、データ合成出力部221は、ノルム選択部220から入力された入力ノルムと、ネットワーク座標選択部219から入力された入力ネットワーク座標とを組みとして合成し、組として合成した入力ノルムと入力ネットワーク座標とを、データ出力部204を介して出力する(ステップS510)。   Next, the data synthesis output unit 221 synthesizes the input norm input from the norm selection unit 220 and the input network coordinates input from the network coordinate selection unit 219 as a set, and combines the input norm and the input network combined as a set. The coordinates are output via the data output unit 204 (step S510).

次に、トークン出力部203が、ステップS505にて、データ合成出力部221が、ユニットノルム記憶部236から読み出したユニットノルムとユニットネットワーク座標記憶部234から読み出したユニットネットワーク座標とを組みとしてデータ出力部204を介して出力したことに応じて、または、ステップS510にて、入力ノルム記憶部237から読み出した入力ノルムと入力ネットワーク座標記憶部233から読み出した入力ネットワーク座標とを組みとしてデータ出力部204を介して出力したことに応じて、トークンを出力する(ステップS506)。   Next, in step S <b> 505, the token output unit 203 outputs data by combining the unit norm read from the unit norm storage unit 236 and the unit network coordinates read from the unit network coordinate storage unit 234 by the data composition output unit 221. The data output unit 204 sets the input norm read from the input norm storage unit 237 and the input network coordinates read from the input network coordinate storage unit 233 as a set in response to the output via the unit 204 or in step S510. In response to the output via, a token is output (step S506).

次に、トークン出力部203は、トークンを出力した後に、トークン出力フラグ記憶部238に記憶されているトークン出力フラグを出力済みに更新し(ステップS507)、処理を終了する。   Next, after outputting the token, the token output unit 203 updates the token output flag stored in the token output flag storage unit 238 to have been output (step S507), and ends the process.

<自己組織化マップに適応した場合の並列演算装置全体の動作>
次に、自己組織化マップに適応した場合の並列演算装置全体の動作について説明する。まず、制御装置は、入力ベクトルと、値を−2としたノルムとを組みとした入力値を、全てのユニットに、ユニット入力バス3を介して、入力する(手順A300)。
<Operation of entire parallel computing device when adapted to self-organizing map>
Next, the operation of the entire parallel computing device when applied to the self-organizing map will be described. First, the control device inputs an input value composed of an input vector and a norm having a value of −2 to all units via the unit input bus 3 (procedure A300).

次に、入力ベクトルを入力された各ユニットのノルム算出部214は、入力された入力ベクトルと、ユニットが有する結合重みベクトルとのノルムを算出し、算出したノルムを、ユニットノルム記憶部236に記憶させる(手順A301)。   Next, the norm calculation unit 214 of each unit that has received the input vector calculates the norm between the input vector that has been input and the connection weight vector that the unit has, and stores the calculated norm in the unit norm storage unit 236. (Procedure A301).

次に、制御装置は、ユニットU1に、トークンを入力する(手順A302)。次に、ユニットU1のノルム比較部217は、ユニットU1のトークン入力部202を介してトークンが入力されたことに応じて、ユニットノルム記憶部236から読み出したユニットノルムと、入力ノルム記憶部237から読み出した入力ノルムとを比較する(手順A303)。   Next, the control device inputs a token to the unit U1 (procedure A302). Next, the norm comparison unit 217 of the unit U1 receives the unit norm read from the unit norm storage unit 236 and the input norm storage unit 237 in response to the token input via the token input unit 202 of the unit U1. The read input norm is compared (procedure A303).

ここで、ユニットU1の入力ノルム記憶部237には、ユニットU1が手順A301で算出したノルムに比較して、十分に大きな値のノルムが予め記憶されているものとして説明する。   Here, the input norm storage unit 237 of the unit U1 will be described assuming that a norm having a sufficiently large value is stored in advance as compared with the norm calculated by the unit U1 in step A301.

ここでは、ユニットノルム記憶部236から読み出したユニットノルムの方が、入力ノルム記憶部237から読み出した入力ノルムより小さいため、ユニットU1の選択出力部251は、ユニットノルム記憶部236から読み出したユニットノルムとユニットネットワーク座標記憶部234から読み出したユニットネットワーク座標とを組みとして、データ出力部204を介して出力する(手順A304)。   Here, since the unit norm read from the unit norm storage unit 236 is smaller than the input norm read from the input norm storage unit 237, the selection output unit 251 of the unit U1 reads the unit norm read from the unit norm storage unit 236. And the unit network coordinates read from the unit network coordinate storage unit 234 are output as a set via the data output unit 204 (procedure A304).

次に、ユニットU1のデータ出力部204が出力したノルムとネットワーク座標とが組として、ユニット出力バス2と増幅器4とユニット入力バス3とを介して、各ユニットのデータ入力部201に入力される(手順A305)。   Next, the norm output from the data output unit 204 of the unit U1 and the network coordinates are input as a set to the data input unit 201 of each unit via the unit output bus 2, the amplifier 4, and the unit input bus 3. (Procedure A305).

次に、各ユニットの入力ノルム部250は、データ入力部201に入力された入力値のノルムの値が−1でないため、入力されたネットワーク座標を入力ネットワーク座標として入力ネットワーク座標記憶部233に記憶させると共に、入力されたノルムを入力ノルムとして入力ノルム記憶部237に記憶させる(手順A306)。ここで、入力ネットワーク座標記憶部233に記憶されるネットワーク座標と、入力ノルム記憶部237に記憶されるノルムは、ユニットU1の、ネットワーク座標とノルムである。   Next, since the norm value of the input value input to the data input unit 201 is not −1, the input norm unit 250 of each unit stores the input network coordinates as input network coordinates in the input network coordinate storage unit 233. The input norm is stored in the input norm storage unit 237 as an input norm (procedure A306). Here, the network coordinates stored in the input network coordinate storage unit 233 and the norm stored in the input norm storage unit 237 are the network coordinates and norm of the unit U1.

次に、ユニットU1のトークン出力部203は、ユニットU1のデータ合成出力部221または選択出力部251が、ユニットノルム記憶部236から読み出したユニットノルムとユニットネットワーク座標記憶部234から読み出したユニットネットワーク座標とを組みとしてデータ出力部204を介して出力したことに応じて、トークンを、デイジーチェーン制御バス1を介してユニットU2に出力する(手順A307)。   Next, the token output unit 203 of the unit U1 includes the unit norm read from the unit norm storage unit 236 and the unit network coordinates read from the unit network coordinate storage unit 234 by the data synthesis output unit 221 or the selection output unit 251 of the unit U1. And a token is output to the unit U2 via the daisy chain control bus 1 (procedure A307).

次に、手順A303のユニットU1と同様に、ユニットU2のノルム比較部217は、ユニットU2のトークン入力部202を介してユニットU1からのトークンが入力されたことに応じて、ユニットノルム記憶部236から読み出したユニットノルムと、入力ノルム記憶部237から読み出した入力ノルムとを比較する(手順A308)。   Next, similarly to the unit U1 in the procedure A303, the norm comparison unit 217 of the unit U2 receives the token from the unit U1 via the token input unit 202 of the unit U2, and then the unit norm storage unit 236. Is compared with the input norm read from the input norm storage unit 237 (procedure A308).

ここで、入力ノルム記憶部237に記憶される入力ノルムは、ユニットU1のノルムであり、また、ユニットノルム記憶部236から読み出したユニットノルムは、ユニットU2のノルムであるため、このユニットU2のノルム比較部217は、ユニットU2のノルムと、ユニットU1のノルムとを比較することになる。以降、ユニットU2のノルム比較部217の比較結果に基づいて、手順A304から手順A306の処理が、同様に実行される(手順A309)。   Here, since the input norm stored in the input norm storage unit 237 is the norm of the unit U1, and the unit norm read from the unit norm storage unit 236 is the norm of the unit U2, the norm of the unit U2 The comparison unit 217 compares the norm of the unit U2 with the norm of the unit U1. Thereafter, based on the comparison result of the norm comparison unit 217 of the unit U2, the processing from the procedure A304 to the procedure A306 is executed similarly (procedure A309).

従って、トークンがユニットU2に入力されることにより、ユニットU1とユニットU2とのノルムが比較され、ノルムが小さい方のユニットが勝者ユニットとして選択され、勝者ユニットのノルムとユニットネットワーク座標とが、全てのユニットの入力ノルム記憶部237と入力ネットワーク座標記憶部233とに記憶される(手順A310)。   Therefore, when the token is input to the unit U2, the norms of the unit U1 and the unit U2 are compared, the unit with the smaller norm is selected as the winner unit, and the winner unit norm and unit network coordinates are all Are stored in the input norm storage unit 237 and the input network coordinate storage unit 233 of the unit (step A310).

次に、手順A307と同様に、ユニットU2からユニットU3にトークンが送信されることにより、次に、ユニットU3が、手順A303から手順A307とを実行することにより、ユニットU1とユニットU2との勝者ユニットのノルムと、ユニットU3のノルムとが比較され、ユニットU1からユニットU3までのユニットの中からの勝者ユニットが選択される(手順A311)。   Next, similarly to the procedure A307, the token is transmitted from the unit U2 to the unit U3, and then the unit U3 executes the procedure A303 to the procedure A307, thereby winning the unit U1 and the unit U2. The norm of the unit is compared with the norm of the unit U3, and the winner unit is selected from the units U1 to U3 (procedure A311).

以降、トークンがデイジーチェーン順序でユニットに渡されていく毎に、トークンが入力されたユニットの中での勝者ユニットが選択される(手順A312)。その後、デイジーチェーン順序で最後のユニットであるユニットU10にトークンが入力されると、ユニットU10のデータ出力部204が、ユニットU1からユニットU10の中の勝者ユニットのノルムとネットワーク座標とを出力する(手順A313)。   Thereafter, each time tokens are delivered to the units in the daisy chain order, the winner unit among the units to which the tokens are input is selected (procedure A312). Thereafter, when a token is input to the unit U10 which is the last unit in the daisy chain order, the data output unit 204 of the unit U10 outputs the norm and network coordinates of the winner unit in the unit U10 from the unit U1 ( Procedure A313).

制御装置は、ユニットU10のデータ出力部204が出力するノルムとネットワーク座標とを、勝者ユニットのノルムとネットワーク座標として受信する(手順A314)。これにより、制御装置は、入力ベクトルに対しての、勝者ユニットのノルムとネットワーク座標とを、受信することが出来る。   The control device receives the norm and network coordinates output from the data output unit 204 of the unit U10 as the norm and network coordinates of the winner unit (procedure A314). Thereby, the control apparatus can receive the norm of the winner unit and the network coordinates with respect to the input vector.

次に、制御装置は、ユニットU10のデータ出力部204から受信したネットワーク座標と、値を−1としたノルムとを組みとした入力値を、全てのユニットに、ユニット入力バス3を介して、入力する(手順A315)。   Next, the control device sends the input value that is a combination of the network coordinates received from the data output unit 204 of the unit U10 and the norm with a value of −1 to all units via the unit input bus 3. Input (procedure A315).

次に、ネットワーク座標と値を−1としたノルムとを組みとした入力値を入力された各ユニットは、各ユニットのネットワーク座標抽出部211が、入力された入力値から、ネットワーク座標を抽出し、抽出したネットワーク座標を入力ネットワーク座標として入力ネットワーク座標記憶部233に記憶させる(手順A316)と共に、各ユニットの入力ノルム判定部218が、ノルム抽出部212から入力されたノルムの値が−1であるため、入力されたノルムが近傍判定識別情報であるとして判定し、近傍判定部215に、近傍判定識別情報を出力する(手順A317)。   Next, each unit to which an input value that is a combination of the network coordinate and the norm with a value of −1 is input, the network coordinate extraction unit 211 of each unit extracts the network coordinate from the input value. The extracted network coordinates are stored in the input network coordinate storage unit 233 as input network coordinates (procedure A316), and the input norm determination unit 218 of each unit has a norm value of −1 input from the norm extraction unit 212. Therefore, it is determined that the input norm is the proximity determination identification information, and the proximity determination identification information is output to the proximity determination unit 215 (procedure A317).

次に、各ユニットの近傍判定部215が、近傍判定識別情報が入力ノルム部250または入力ノルム判定部218から入力されたことに応じて、ユニットネットワーク座標記憶部234から読み出したユニットネットワーク座標が、入力ネットワーク座標記憶部233から読み出した入力ネットワーク座標の近傍にあるか否かを判定する(手順A318)。   Next, the unit network coordinates read from the unit network coordinate storage unit 234 by the proximity determination unit 215 of each unit in response to the input of the proximity determination identification information from the input norm determination unit 250 or the input norm determination unit 218, It is determined whether or not the input network coordinate is read from the input network coordinate storage unit 233 (step A318).

次に、各ユニットの重み更新部216は、そのユニットの近傍判定部215の判定した結果が近傍である場合には、そのユニットの重み記憶部231に記憶されている結合重みベクトルの値を更新する(手順A319)。これにより、勝者ユニットのネットワーク座標の近傍であるユニットの結合重みベクトルが、更新され、学習が実行される。   Next, the weight update unit 216 of each unit updates the value of the combined weight vector stored in the weight storage unit 231 of the unit when the result determined by the proximity determination unit 215 of the unit is a neighborhood. (Procedure A319). Thereby, the connection weight vector of the unit that is in the vicinity of the network coordinates of the winner unit is updated, and learning is executed.

以上に説明した自己組織化マップに適応した場合の並列演算装置においては、ユニット入力バス3に全てのユニットが接続されているため、制御装置が入力ベクトルをユニット入力バス3に1度出力するだけで、全てのユニットに入力ベクトルを入力することができる。また、各ユニットが、入力された入力ベクトルに対して、並列にノルムを算出することができるため、ユニット全体で、短時間でノルムを算出することができる。   In the parallel processing device adapted to the self-organizing map described above, all the units are connected to the unit input bus 3, so that the control device only outputs the input vector to the unit input bus 3 once. Thus, input vectors can be input to all units. Further, since each unit can calculate the norm in parallel with respect to the input vector that has been input, the norm can be calculated in a short time for the entire unit.

また、ユニット入力バス3に全てのユニットが接続されているため、制御装置が勝者ユニットのネットワーク座標をユニット入力バス3に1度出力するだけで、全てのユニットに勝者ユニットのネットワーク座標を入力することができる。また、各ユニットが、入力された勝者ユニットのネットワーク座標の近傍にあるか否かを並列に判定し、学習するため、ユニット全体で、短時間で学習することができる。   Further, since all the units are connected to the unit input bus 3, the control device only outputs the network coordinates of the winner unit once to the unit input bus 3, and inputs the network coordinates of the winner unit to all the units. be able to. In addition, since each unit determines and learns in parallel whether or not each unit is in the vicinity of the network coordinates of the input winner unit, the entire unit can be learned in a short time.

また、デイジーチェーン制御バス1を介してトークンをユニット間で渡していくことにより、デイジーチェーン順序で順に勝者ユニットを決定することができる。つまり、勝者ユニットの決定が、デイジーチェーン制御バス1という、簡易な配線で可能となる。   Also, by passing tokens between units via the daisy chain control bus 1, the winner unit can be determined in order of daisy chain. That is, the winner unit can be determined by simple wiring of the daisy chain control bus 1.

<冗長性を持たせた並列演算装置>
次に、図12を用いて、デイジーチェーン制御バス1に冗長性をもたせた場合の並列演算装置の構成を説明する。
各ユニットは、予め定められた順序であるデイジーチェーン順序において、1つ飛ばしの順序である第1の冗長順序で、複数のユニットのうちの半数のユニットが、第1の冗長デイジーチェーン制御バス6によりデイジーチェーンされている。例えば、ユニットU1とユニットU3とユニットU5とユニットU7とユニットU9とが、第1の冗長デイジーチェーン制御バス6により、デイジーチェーンされている。
<Parallel processing unit with redundancy>
Next, the configuration of the parallel arithmetic unit when redundancy is provided to the daisy chain control bus 1 will be described with reference to FIG.
Each unit has a first redundancy order that is a skipping order in a daisy chain order that is a predetermined order, and half of the plurality of units are connected to the first redundant daisy chain control bus 6. Daisy chained by. For example, the unit U 1, the unit U 3, the unit U 5, the unit U 7 and the unit U 9 are daisy chained by the first redundant daisy chain control bus 6.

また、予め定められた順序であるデイジーチェーン順序において、1つ飛ばしの順序で、上記の第1の冗長デイジーチェーン制御バス6によりデイジーチェーンされていない複数のうちの残りの半数のユニットが、第2の冗長デイジーチェーン制御バス7によりデイジーチェーンされている。例えば、ユニットU2とユニットU4とユニットU6とユニットU8とユニットU10とが、第2の冗長デイジーチェーン制御バス7により、デイジーチェーンされている。   Further, in the daisy chain order that is a predetermined order, the remaining half of the plurality of units that are not daisy chained by the first redundant daisy chain control bus 6 in the order of one skip are The two redundant daisy chain control buses 7 are daisy chained. For example, the unit U 2, the unit U 4, the unit U 6, the unit U 8, and the unit U 10 are daisy chained by the second redundant daisy chain control bus 7.

次に、図13を用いて、第1の冗長デイジーチェーン制御バス6によりデイジーチェーンされているユニットの構成について説明する。つまり、例えば、ユニットU1とユニットU3とユニットU5とユニットU7とユニットU9の構成について説明する。なお、冗長性について変更される構成のみについて説明するため、図2のユニットの構成において、変更される構成のみについて説明する。   Next, the configuration of units daisy-chained by the first redundant daisy chain control bus 6 will be described with reference to FIG. That is, for example, the configuration of the unit U1, the unit U3, the unit U5, the unit U7, and the unit U9 will be described. In order to describe only the configuration that is changed with respect to redundancy, only the configuration that is changed in the configuration of the unit in FIG. 2 will be described.

図13において、図13(a)と(c)とには、変更される前の図2で示されたユニットの構成が示してある。並列演算装置が冗長性を有するようにすることにより、図13(a)のユニットの構成が、図13(b)の構成に変更される。また、図13(c)のユニットの構成が、図13(d)のユニットの構成に変更される。   In FIG. 13, FIGS. 13A and 13C show the configuration of the unit shown in FIG. 2 before being changed. By making the parallel computing device have redundancy, the configuration of the unit in FIG. 13A is changed to the configuration in FIG. Further, the configuration of the unit in FIG. 13C is changed to the configuration of the unit in FIG.

図13(b)に示すようにユニットは、トークン出力部A13_1と、トークン出力部B13_2と、トークン出力部選択部17と、トークン選択情報記憶部18とを有する。ここで、トークン出力部A13_1は、図2のトークン出力部13に対応する。   As shown in FIG. 13B, the unit includes a token output unit A13_1, a token output unit B13_2, a token output unit selection unit 17, and a token selection information storage unit 18. Here, the token output unit A13_1 corresponds to the token output unit 13 of FIG.

トークン出力部B13_2(冗長トークン出力部)は、トークン入力部12にトークンが入力されたことに応じて、トークンを冗長順序で1つ後のユニットへ第1の冗長デイジーチェーン制御バス6を介して出力する。トークン選択情報記憶部18には、トークン出力部A13_1とトークン出力部B13_2とのうち、いずれを選択するかを示すトークン出力選択情報が記憶されている。   The token output unit B13_2 (redundant token output unit) sends the token to the next unit in the redundant order via the first redundant daisy chain control bus 6 in response to the token input to the token input unit 12. Output. The token selection information storage unit 18 stores token output selection information indicating which one of the token output unit A13_1 and the token output unit B13_2 is selected.

トークン出力部選択部17は、トークン入力部12にトークンが入力されたことに応じて、トークン選択情報記憶部18から読み出したトークン出力選択情報に基づいて、トークン出力部A13_1とトークン出力部B13_2とのうちいずれか一方を選択し、選択したトークン出力部A13_1またはトークン出力部B13_2を介してトークンを出力する。   Based on the token output selection information read from the token selection information storage unit 18 in response to the token input to the token input unit 12, the token output unit selection unit 17 performs the token output unit A13_1 and the token output unit B13_2. Is selected, and a token is output via the selected token output unit A13_1 or token output unit B13_2.

また、図13(d)に示すように、ユニットは、トークン入力部A12_1と、トークン入力部B12_2(冗長トークン入力部)とを有する。ここで、トークン入力部A12_1は、図2のトークン入力部12に対応する。   Moreover, as shown in FIG.13 (d), a unit has token input part A12_1 and token input part B12_2 (redundant token input part). Here, the token input unit A12_1 corresponds to the token input unit 12 of FIG.

トークン入力部B12_2は、第1の冗長デイジーチェーン制御バス6を介してデイジーチェーンされている冗長順序が1つ前のユニットからのトークンを入力する。
また、トークン出力部13は、トークン入力部A12_1またはトークン入力部B12_2にトークンが入力されたことに応じて、トークンを出力する。
The token input unit B12_2 inputs a token from the unit in the previous redundancy order that is daisy chained via the first redundant daisy chain control bus 6.
Further, the token output unit 13 outputs a token in response to the token input to the token input unit A12_1 or the token input unit B12_2.

また、第1の冗長デイジーチェーン制御バス6によりデイジーチェーンされているユニットと同様に、第2の冗長デイジーチェーン制御バス7によりデイジーチェーンされているユニットも、第2の冗長デイジーチェーン制御バス7を第1の冗長デイジーチェーン制御バス6として、トークン入力部B12_2(冗長トークン出力部)とトークン選択情報記憶部18とトークン出力部選択部17とトークン入力部B12_2(冗長トークン入力部)を有している。   Similarly to the units daisy chained by the first redundant daisy chain control bus 6, the units daisy chained by the second redundant daisy chain control bus 7 also use the second redundant daisy chain control bus 7. The first redundant daisy chain control bus 6 includes a token input unit B12_2 (redundant token output unit), a token selection information storage unit 18, a token output unit selection unit 17, and a token input unit B12_2 (redundant token input unit). Yes.

なお、ここでは、トークン選択情報記憶部18には、トークン出力部A13_1とトークン出力部B13_2とのうち、いずれを選択するかを示すトークン出力選択情報が記憶されているもとして説明したが、このトークン出力選択情報は、例えば、デイジーチェーン順序で次のユニットに欠陥があるか否かを示す情報であってもよい。   Here, the token selection information storage unit 18 has been described assuming that the token output selection information indicating which one of the token output unit A13_1 and the token output unit B13_2 is selected is stored. The token output selection information may be information indicating whether or not the next unit is defective in the daisy chain order, for example.

トークン出力選択情報が、デイジーチェーン順序で次のユニットに欠陥があるか否かを示す情報である場合、トークン出力部選択部17は、トークン選択情報記憶部18から読み出したトークン出力選択情報に基づいて、デイジーチェーン順序で次のユニットに欠陥がない場合には、トークン出力部A13_1を選択してトークンを出力し、逆に欠陥がある場合には、トークン出力部B13_2を選択してトークンを出力する。   When the token output selection information is information indicating whether or not the next unit is defective in the daisy chain order, the token output unit selection unit 17 is based on the token output selection information read from the token selection information storage unit 18. If there is no defect in the next unit in the daisy chain order, the token output unit A13_1 is selected and a token is output. Conversely, if there is a defect, the token output unit B13_2 is selected and a token is output. To do.

<欠陥チェックの方法>
次に、欠陥チェックの方法について説明する。ここでは、並列演算装置が、階層型ニューラルネットワークの場合について説明する。まず、ニューラルネットワークの並列演算装置が、結合係数がすべて同じで、中間層無しの入力層と出力層との2層である階層型ニューラルネットワークとして演算を実行し、制御装置が、演算結果の出力値を得る。制御装置は、出力値を判定し、正常な場合は処理を修了する。制御装置は、出力値を判定し、異常があることを検出した場合には、異常ユニットの前段ユニットのトークン選択情報記憶部18に対し、欠陥情報を書き込む。
<Defect check method>
Next, a defect check method will be described. Here, a case where the parallel arithmetic device is a hierarchical neural network will be described. First, the parallel processing unit of the neural network executes the calculation as a hierarchical neural network having the same coupling coefficient and two layers of the input layer and the output layer without the intermediate layer, and the control device outputs the calculation result. Get the value. The control device determines the output value, and if normal, completes the process. When the control device determines the output value and detects that there is an abnormality, it writes defect information in the token selection information storage unit 18 of the preceding unit of the abnormal unit.

次に、制御装置の、正常な場合と異常な場合の、判定方法とその処理について、詳細に説明する。まず、制御装置は、全てのユニットから、すべて同じ出力を得る場合に、正常として判定する。次に、制御装置は、ユニットからの出力が途中で止まる、または、ユニットからの出力値が予想された値と異なる部分がある場合に、異常として判定する。この場合、制御装置は、異常として検出したユニットである異常ユニットの、デイジーチェーン順序で1つ前となる前段ユニットのトークン選択情報記憶部18に、欠陥情報を書き込み、もう一度欠陥チェックを実行し、判定結果が正常となるまで欠陥チェックを実行する。このとき、欠陥が原因で電気的に切り離す必要が生じる場合に備え、ユニットの入出力部にハイインピーダンススイッチを設け、回路を電気的に切り離す機構を備えても良い。   Next, the determination method and its processing when the control device is normal and abnormal will be described in detail. First, when all the units obtain the same output from all units, the control device determines that the unit is normal. Next, the control device determines that the output from the unit stops in the middle or when the output value from the unit is different from the expected value as an abnormality. In this case, the control device writes the defect information in the token selection information storage unit 18 of the preceding unit that is the previous unit in the daisy chain order of the abnormal unit that is the unit detected as abnormal, performs the defect check again, The defect check is executed until the judgment result becomes normal. At this time, a mechanism for electrically disconnecting the circuit may be provided by providing a high-impedance switch in the input / output unit of the unit in case the electrical disconnection is required due to a defect.

以上のように、並列演算装置が、第1の冗長デイジーチェーン制御バス6と、第2の冗長デイジーチェーン制御バス7とにより冗長性を有するようにすることにより、デイジーチェーン制御バス1またはいずれかのユニットに欠陥が生じた場合においても、並列演算装置は問題なく動作することが可能となる。   As described above, the parallel arithmetic device has redundancy by using the first redundant daisy chain control bus 6 and the second redundant daisy chain control bus 7, thereby enabling the daisy chain control bus 1 or any one of them. Even when a defect occurs in the unit, the parallel arithmetic device can operate without any problem.

なお、ここでは、冗長配線が、デイジーチェーン順序において1つ飛ばしの第1の冗長デイジーチェーン制御バス6と第2の冗長デイジーチェーン制御バス7との場合について説明したが、更に、デイジーチェーン順序において2つ飛ばしの冗長デイジーチェーン制御バスなどを追加することも可能である。   Here, a case has been described in which the redundant wirings are the first redundant daisy chain control bus 6 and the second redundant daisy chain control bus 7 which are skipped by one in the daisy chain order. It is possible to add two redundant daisy chain control buses.

なお、上記実施形態の図2、図3、図7および図8で示した構成である記憶部のそれぞれは、ハードディスク装置や光磁気ディスク装置、フラッシュメモリ等の不揮発性のメモリや、CR−ROM等の読み出しのみが可能な記憶媒体、RAM(Random Access Memory)のような揮発性のメモリ、あるいはこれらの組み合わせにより構成されるものとする。
なお、図2のユニット算出部は、専用のハードウェアにより実現されるものであってもよく、また、メモリおよびマイクロプロセッサにより実現させるものであってもよい。
Each of the storage units having the configuration shown in FIG. 2, FIG. 3, FIG. 7 and FIG. 8 of the above embodiment includes a nonvolatile memory such as a hard disk device, a magneto-optical disk device, a flash memory, or a CR-ROM. And the like, a volatile memory such as a RAM (Random Access Memory), or a combination thereof.
2 may be realized by dedicated hardware, or may be realized by a memory and a microprocessor.

以上、この発明の実施形態を、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。   The embodiment of the present invention has been described in detail with reference to the drawings. However, the specific configuration is not limited to this embodiment, and includes a design and the like within the scope not departing from the gist of the present invention.

この発明の一実施形態による並列演算装置の構成を示すブロック図である。It is a block diagram which shows the structure of the parallel arithmetic unit by one Embodiment of this invention. この発明の一実施形態による並列演算装置のユニットの構成を示すブロック図である。It is a block diagram which shows the structure of the unit of the parallel arithmetic unit by one Embodiment of this invention. 階層型ニューラルネットワークにおける図2のユニットの構成を示すブロック図である。It is a block diagram which shows the structure of the unit of FIG. 2 in a hierarchical neural network. 図3のユニットの動作を示す第1のフローチャート図である。FIG. 4 is a first flowchart showing the operation of the unit of FIG. 3. 図3のユニットの動作を示す第2のフローチャート図である。It is a 2nd flowchart figure which shows operation | movement of the unit of FIG. ニューラルネットワークを説明する説明図である。It is explanatory drawing explaining a neural network. 自己組織化マップにおける図2のユニットの構成を示す第1のブロック図である。FIG. 3 is a first block diagram showing a configuration of a unit of FIG. 2 in a self-organizing map. 自己組織化マップにおける図2のユニットの構成を示す第2のブロック図である。It is a 2nd block diagram which shows the structure of the unit of FIG. 2 in a self-organization map. 自己組織化マップにおけるデータ構造を示す説明図である。It is explanatory drawing which shows the data structure in a self-organization map. 図7および図8のユニットの動作を示す第1のフローチャート図である。FIG. 9 is a first flowchart showing the operation of the unit of FIGS. 7 and 8. 図7および図8のユニットの動作を示す第2のフローチャート図である。It is a 2nd flowchart figure which shows operation | movement of the unit of FIG. 7 and FIG. 冗長回路を有した並列演算装置の構成を示すブロック図である。It is a block diagram which shows the structure of the parallel arithmetic unit which has a redundant circuit. 図12のユニットの構成を示すブロック図である。It is a block diagram which shows the structure of the unit of FIG.

符号の説明Explanation of symbols

1 デイジーチェーン制御バス
2 ユニット出力バス
3 ユニット入力バス
4 増幅器
5 トリガ入力線
6 第1の冗長デイジーチェーン制御バス
7 第2の冗長デイジーチェーン制御バス
11、101、201 データ入力部
12、102、202 トークン入力部
13、103、203 トークン出力部
14、104、204 データ出力部
16 ユニット出力記憶部
17 トークン出力部選択部
18 トークン選択情報記憶部
111 積和計算一次値算出部
112 ユニット出力算出部
113 層情報算出部
114 カウンタ
130、231 重み記憶部
131 積和計算一次値記憶部
132 関数記憶部
133 層情報記憶部
134 ユニット数記憶部
135 ユニット出力記憶部
136 データ出力フラグ記憶部
137 ユニット識別情報記憶部
210 データ抽出部
211 ネットワーク座標抽出部
212 ノルム抽出部
213 カウンタ
214 ノルム算出部
215 近傍判定部
216 重み更新部
217 ノルム比較部
218 入力ノルム判定部
219 ネットワーク座標選択部
220 ノルム選択部
221 データ合成出力部
222 データ入力判定部
223 トークン出力フラグ判定部
230 入力データ記憶部
232 距離記憶部
233 入力ネットワーク座標記憶部
234 ユニットネットワーク座標記憶部
235 学習速度記憶部
236 ユニットノルム記憶部
237 入力ノルム記憶部
238 トークン出力フラグ記憶部
250 入力ノルム部
251 選択出力部
L1 入力層
L2 隠れ層
L3 出力層
P1 出力端子
P2 入力端子
P3 トリガ入力端子
U1、U2、U3、U4、U5、U6、U7、U8、U9、U10 ユニット
DESCRIPTION OF SYMBOLS 1 Daisy chain control bus 2 Unit output bus 3 Unit input bus 4 Amplifier 5 Trigger input line 6 1st redundant daisy chain control bus 7 2nd redundant daisy chain control bus 11, 101, 201 Data input part 12, 102, 202 Token input unit 13, 103, 203 Token output unit 14, 104, 204 Data output unit 16 Unit output storage unit 17 Token output unit selection unit 18 Token selection information storage unit 111 Product sum calculation primary value calculation unit 112 Unit output calculation unit 113 Layer information calculation unit 114 Counter 130, 231 Weight storage unit 131 Product sum calculation primary value storage unit 132 Function storage unit 133 Layer information storage unit 134 Unit number storage unit 135 Unit output storage unit 136 Data output flag storage unit 137 Unit identification information storage Part 21 0 data extraction unit 211 network coordinate extraction unit 212 norm extraction unit 213 counter 214 norm calculation unit 215 proximity determination unit 216 weight update unit 217 norm comparison unit 218 input norm determination unit 219 network coordinate selection unit 220 norm selection unit 221 data synthesis output unit 222 data input determination unit 223 token output flag determination unit 230 input data storage unit 232 distance storage unit 233 input network coordinate storage unit 234 unit network coordinate storage unit 235 learning speed storage unit 236 unit norm storage unit 237 input norm storage unit 238 token output Flag storage unit 250 Input norm unit 251 Selection output unit L1 Input layer L2 Hidden layer L3 Output layer P1 Output terminal P2 Input terminal P3 Trigger input terminal U1, U2, U3, U4, U5, U , U7, U8, U9, U10 unit

Claims (25)

並列演算装置が、
予め定められた順序でデイジーチェーン制御バスを介してデイジーチェーンされている複数のユニットと、
前記複数のユニットの内のいずれか1つが出力する出力値がユニット出力バスを介して入力され、該入力された出力値を前記複数のユニットのそれぞれにユニット入力バスを介して入力値として出力する中継部と、
を有し、
前記ユニットが、
前記デイジーチェーン制御バスを介してデイジーチェーンされている順序が1つ前のユニットからのトークンを入力するトークン入力部と、
前記トークン入力部にトークンが入力されたことに応じて、前記トークンを前記デイジーチェーンされている順序が1つ後のユニットへ前記デイジーチェーン制御バスを介して出力するトークン出力部と、
前記ユニット出力バスを介して前記中継部からの入力値を入力するデータ入力部と、
前記データ入力部に入力された入力値に基づいて、前記ユニット毎に予め定められた演算方法により演算するユニット演算部と、
前記トークン入力部にトークンが入力されたことに応じて、前記ユニット演算部が演算した結果である演算結果を前記出力値として、前記中継部に前記ユニット出力バスを介して出力するデータ出力部と、
を有することを特徴とする並列演算装置。
Parallel computing device
A plurality of units daisy-chained via a daisy-chain control bus in a predetermined order;
An output value output from any one of the plurality of units is input via a unit output bus, and the input output value is output as an input value to each of the plurality of units via a unit input bus. A relay section;
Have
The unit is
A token input unit for inputting a token from a unit in the previous order of being daisy chained via the daisy chain control bus;
A token output unit configured to output the token to the next unit in the order in which the tokens are daisy chained via the daisy chain control bus in response to a token being input to the token input unit;
A data input unit for inputting an input value from the relay unit via the unit output bus;
Based on the input value input to the data input unit, a unit calculation unit for calculating by a predetermined calculation method for each unit;
A data output unit that outputs, as the output value, a computation result that is a result of computation by the unit computation unit in response to a token being input to the token input unit, to the relay unit via the unit output bus; ,
A parallel computing device comprising:
前記ユニットが、前記演算結果が記憶されるユニット出力記憶部を有し、
前記ユニット演算部が、前記演算結果を前記ユニット出力記憶部に記憶させ、
前記データ出力部が、前記トークン入力部にトークンが入力されたことに応じて、前記演算結果を前記ユニット出力記憶部から読み出し、該読み出した演算結果を前記出力値として前記中継部に前記ユニット出力バスを介して出力する、
ことを特徴とする請求項1に記載の並列演算装置。
The unit has a unit output storage unit in which the calculation result is stored,
The unit calculation unit stores the calculation result in the unit output storage unit,
The data output unit reads the calculation result from the unit output storage unit in response to a token input to the token input unit, and outputs the read calculation result as the output value to the relay unit as the unit output. Output via bus,
The parallel arithmetic apparatus according to claim 1, wherein:
前記並列演算装置が階層型ニューラルネットワークを演算する並列演算装置である場合には、
前記ユニット演算部が、
前記階層型ニューラルネットワークの階層のうち、出力する層を識別する層情報が記憶されている層情報記憶部と、
前記ユニットの出力関数と前記層情報とが関連付けて予め記憶されている関数記憶部と、
前記層情報で識別される前記出力層のユニットからの出力値に乗ずる予め定められた結合荷重と、前記層情報とが関連付けて記憶されている重み記憶部と、
前記出力ユニットからの入力値と結合荷重とを乗じた積和計算一次値情報が記憶される積和計算一次値記憶部と、
前記層情報記憶部から読み出した層情報に該当する結合荷重を前記重み記憶部から読み出し、該読み出した結合荷重と、前記データ入力部に入力された入力値とを乗算し、該乗算した値を前記積和計算一次値記憶部に記憶されている積和計算一次値情報に加算して記憶させる積和計算一次値算出部と、
前記積和計算一次値記憶部から積和計算一次値情報を読み出し、前記層情報記憶部から読み出した層情報に該当する出力関数を前記関数記憶部から読み出し、該読み出した出力関数に前記読み出した積和計算一次値情報を代入することにより出力値を算出し、該算出した出力値を前記ユニット出力記憶部に記憶させるユニット出力算出部と、
を有することを特徴とする請求項2に記載の並列演算装置。
When the parallel computing device is a parallel computing device that computes a hierarchical neural network,
The unit calculation unit is
Of the layers of the hierarchical neural network, a layer information storage unit storing layer information for identifying a layer to be output;
A function storage unit in which the output function of the unit and the layer information are associated and stored in advance;
A weight storage unit in which a predetermined combined load multiplied by an output value from the unit of the output layer identified by the layer information is stored in association with the layer information;
A product-sum calculation primary value storage unit for storing product-sum calculation primary value information obtained by multiplying an input value from the output unit and a combined load;
The connection load corresponding to the layer information read from the layer information storage unit is read from the weight storage unit, the read connection load is multiplied by the input value input to the data input unit, and the multiplied value is obtained. A product-sum calculation primary value calculation unit for adding and storing the product-sum calculation primary value information stored in the product-sum calculation primary value storage unit;
The product-sum calculation primary value information is read from the product-sum calculation primary value storage unit, the output function corresponding to the layer information read from the layer information storage unit is read from the function storage unit, and the read to the output function is read. A unit output calculation unit that calculates an output value by substituting product-sum calculation primary value information, and stores the calculated output value in the unit output storage unit;
The parallel arithmetic apparatus according to claim 2, wherein:
前記ユニット演算部が、前記出力層に属しているユニットのうち、いずれのユニットが出力ユニットとして出力しているかを示すユニット識別情報が記憶されているユニット識別情報記憶部、を有し、
前記重み記憶部には、前記層情報と前記ユニット識別情報とで識別される前記出力層のユニットからの出力値に乗ずる予め定められた結合荷重と、前記層情報と前記ユニット識別情報とが、関連付けて記憶されており、
前記積和計算一次値算出部が、前記ユニット識別情報記憶部から読み出したユニット識別情報と前記層情報記憶部から読み出した層情報とに該当する結合荷重を前記重み記憶部から読み出し、該読み出した結合荷重と、前記データ入力部に入力された入力値とを乗算し、該乗算した値を前記積和計算一次値記憶部に記憶されている積和計算一次値情報に加算して記憶させる、
ことを特徴とする請求項3に記載の並列演算装置。
The unit calculation unit has a unit identification information storage unit in which unit identification information indicating which unit outputs as an output unit among the units belonging to the output layer is stored,
In the weight storage unit, a predetermined coupling load to be multiplied by an output value from the unit of the output layer identified by the layer information and the unit identification information, the layer information and the unit identification information, Associated with it,
The product-sum calculation primary value calculation unit reads the combined load corresponding to the unit identification information read from the unit identification information storage unit and the layer information read from the layer information storage unit from the weight storage unit, and reads the read Multiplying the combined weight by the input value input to the data input unit, and adding the multiplied value to the product-sum calculation primary value information stored in the product-sum calculation primary value storage unit,
The parallel arithmetic apparatus according to claim 3.
前記ユニット演算部が、
前記データ入力部に入力値が入力される毎に、前記ユニット識別情報記憶部に記憶されているユニット識別情報の値をインクリメントするカウンタと、
前記層情報と前記層情報で識別される階層に属する階層型ニューラルネットワークのユニット数とが関連付けて予め記憶されているユニット数記憶部と、
前記層情報記憶部から層情報を読み出し、該読み出した層情報に該当するユニット数を前記ユニット数記憶部から読み出し、前記ユニット識別情報記憶部からユニット識別情報を読み出し、該読み出したユニット識別情報の値と前記読み出したユニット数とを比較し、該比較した結果が一致した場合に、該読み出したユニット識別情報の値と前記読み出したユニット数とが一致したことを示す比較一致信号を出力するユニット数比較部と、
を有し、
前記ユニット出力算出部が、前記ユニット数比較部から比較一致信号を入力されたことに応じて、前記積和計算一次値算出部から積和計算一次値情報を読み出し、前記層情報記憶部から読み出した層情報に該当する出力関数を前記関数記憶部から読み出し、該読み出した出力関数に前記読み出した積和計算一次値情報を代入することにより出力値を算出し、該算出した出力値を前記ユニット出力記憶部に記憶させる、
ことを特徴とする請求項4に記載の並列演算装置。
The unit calculation unit is
A counter that increments a value of unit identification information stored in the unit identification information storage unit each time an input value is input to the data input unit;
A unit number storage unit in which the layer information and the number of units of the hierarchical neural network belonging to the hierarchy identified by the layer information are stored in advance,
The layer information is read from the layer information storage unit, the number of units corresponding to the read layer information is read from the unit number storage unit, the unit identification information is read from the unit identification information storage unit, and the unit identification information A unit that compares a value with the number of read units and outputs a comparison match signal indicating that the value of the read unit identification information and the number of read units match when the comparison result matches A number comparison section;
Have
The unit output calculation unit reads product sum calculation primary value information from the product sum calculation primary value calculation unit and reads from the layer information storage unit in response to a comparison coincidence signal input from the unit number comparison unit. An output function corresponding to the layer information is read from the function storage unit, an output value is calculated by substituting the read product-sum calculation primary value information into the read output function, and the calculated output value is Store in the output storage unit,
The parallel arithmetic apparatus according to claim 4, wherein:
前記ユニット数比較部が、前記比較した結果が一致した場合に、前記ユニット識別情報記憶部に記憶されているユニット識別情報の値をリセットする、ことを特徴とする請求項5に記載の並列演算装置。   6. The parallel operation according to claim 5, wherein the unit number comparison unit resets the value of the unit identification information stored in the unit identification information storage unit when the comparison result matches. apparatus. 前記ユニット演算部が、前記ユニット数比較部から比較一致信号を入力されたことに応じて、前記層情報記憶部に記憶されている層情報の値をインクリメントする層情報算出部、を有することを特徴とする請求項5または請求項6に記載の並列演算装置。   The unit calculation unit includes a layer information calculation unit that increments a value of layer information stored in the layer information storage unit in response to a comparison match signal input from the unit number comparison unit. The parallel arithmetic apparatus according to claim 5 or 6, characterized in that 前記ユニット演算部が、前記データ出力部が前記出力値を出力済みであるか否かを示すデータ出力フラグが記憶されているデータ出力フラグ記憶部を有し、
前記データ出力部が、前記トークン入力部にトークンが入力されたことに応じて、前記データ出力フラグ記憶部のデータ出力フラグを出力済みとして設定し、
前記トークン出力部が、前記データ入力部に入力値が入力されたことに応じて、前記データ出力フラグ記憶部からデータ出力フラグを読み出し、該読み出したデータ出力フラグが出力済みである場合には、前記トークンを出力する、
ことを特徴とする請求項3から請求項7に記載の並列演算装置。
The unit calculation unit includes a data output flag storage unit in which a data output flag indicating whether or not the data output unit has already output the output value is stored;
In response to the token input to the token input unit, the data output unit sets the data output flag of the data output flag storage unit as already output,
In response to the input value being input to the data input unit, the token output unit reads the data output flag from the data output flag storage unit, and when the read data output flag has been output, Outputting the token,
The parallel arithmetic device according to claim 3, wherein
前記トークン出力部が、前記トークンを出力すると共に、前記データ出力フラグ記憶部のデータ出力フラグを未出力として設定する、ことを特徴とする請求項8に記載の並列演算装置。   9. The parallel arithmetic apparatus according to claim 8, wherein the token output unit outputs the token and sets a data output flag of the data output flag storage unit as an unoutput. 前記ユニット出力算出部が、前記積和計算一次値算出部から積和計算一次値情報を読み出した後、前記積和計算一次値算出部に記憶されている積和計算一次値情報の値を0にリセットする、ことを特徴とする請求項3から請求項9に記載の並列演算装置。   After the unit output calculation unit reads the product-sum calculation primary value information from the product-sum calculation primary value calculation unit, the unit-sum calculation primary value information stored in the product-sum calculation primary value calculation unit is set to 0. The parallel arithmetic apparatus according to claim 3, wherein the parallel arithmetic apparatus is reset to 前記並列演算装置が自己組織化マップを演算する並列演算装置である場合には、前記複数のユニットのそれぞれが、ネットワーク座標により識別される座標で予め識別されており、
前記ユニット演算部が、
前記ユニットのネットワーク座標であるユニットネットワーク座標が予め記憶されているユニットネットワーク座標記憶部と、
入力されたネットワーク座標である入力ネットワーク座標が記憶されている入力ネットワーク座標記憶部と、
前記ユニットの結合重みベクトルが記憶されている重み記憶部と、
ノルムを記憶するユニットノルム記憶部と、
入力されたノルムを記憶する入力ノルム記憶部と、
前記データ入力部に入力された入力値が入力データベクトルである場合には、該入力された入力データベクトルと、前記重み記憶部から読み出した結合重みベクトルとのノルムを算出し、該算出したノルムをユニットノルムとして前記ユニットノルム記憶部に記憶させるノルム算出部と、
前記データ入力部に入力された入力値が、ネットワーク座標とノルムとの組みである場合には、該入力されたネットワーク座標を入力ネットワーク座標として前記入力ネットワーク座標記憶部に記憶させると共に、該入力されたノルムを入力ノルムとして前記入力ノルム記憶部に記憶させる入力ノルム部と、
前記トークン入力部を介してトークンが入力されたことに応じて、前記ユニットノルム記憶部から読み出したユニットノルムと、前記入力ユニットノルム記憶部から読み出した入力ノルムとを比較するノルム比較部と、
前記ノルム比較部の比較した結果が、前記読み出したユニットノルムが前記入力ノルムより小さい場合には、前記ユニットノルム記憶部から読み出したユニットノルムと前記ユニットネットワーク座標記憶部から読み出したユニットネットワーク座標とを組みとして前記データ出力部を介して出力し、前記読み出したユニットノルムが前記入力ノルム以上である場合には、前記入力ノルム記憶部から読み出した入力ノルムと前記入力ネットワーク座標記憶部から読み出した入力ネットワーク座標とを組みとして前記データ出力部を介して出力する選択出力部と、
を有することを特徴とする請求項1または請求項2に記載の並列演算装置。
When the parallel computing device is a parallel computing device that computes a self-organizing map, each of the plurality of units is identified in advance by coordinates identified by network coordinates,
The unit calculation unit is
A unit network coordinate storage unit in which unit network coordinates, which are network coordinates of the unit, are stored in advance;
An input network coordinate storage unit that stores input network coordinates that are input network coordinates;
A weight storage unit in which the unit weight vector is stored;
A unit norm storage unit for storing the norm;
An input norm storage unit for storing the input norm;
When the input value input to the data input unit is an input data vector, a norm between the input data vector input and the combined weight vector read from the weight storage unit is calculated, and the calculated norm A norm calculation unit that stores the unit norm in the unit norm storage unit;
When the input value input to the data input unit is a set of network coordinates and norm, the input network coordinates are stored in the input network coordinate storage unit as input network coordinates and the input is performed. An input norm part that stores the obtained norm as an input norm in the input norm storage part;
A norm comparison unit that compares a unit norm read from the unit norm storage unit with an input norm read from the input unit norm storage unit in response to a token being input via the token input unit;
When the comparison result of the norm comparison unit indicates that the read unit norm is smaller than the input norm, the unit norm read from the unit norm storage unit and the unit network coordinates read from the unit network coordinate storage unit are obtained. When the unit norm is output as a set and the read unit norm is greater than or equal to the input norm, the input norm read from the input norm storage unit and the input network read from the input network coordinate storage unit A selection output unit that outputs coordinates as a set via the data output unit;
The parallel arithmetic device according to claim 1, wherein the parallel arithmetic device is provided.
前記ユニット演算部が、
前記データ入力部に入力された入力値が、ネットワーク座標と近傍判定を実行することを示す識別情報である近傍判定識別情報との組みである場合には、前記ユニットネットワーク座標記憶部から読み出したユニットネットワーク座標が、前記入力されたネットワーク座標である入力ネットワーク座標の近傍にあるか否かを判定する近傍判定部と、
前記近傍判定部の判定した結果が近傍である場合には、前記重み記憶部に記憶されている結合重みベクトルを更新する重み更新部と、
を有することを特徴とする請求項10または請求項11に記載の並列演算装置。
The unit calculation unit is
When the input value input to the data input unit is a combination of network coordinates and proximity determination identification information that is identification information indicating execution of proximity determination, the unit read from the unit network coordinate storage unit A proximity determination unit that determines whether network coordinates are in the vicinity of the input network coordinates that are the input network coordinates;
If the result of the determination by the proximity determination unit is a neighborhood, a weight update unit that updates the connection weight vector stored in the weight storage unit;
The parallel processing device according to claim 10, comprising:
前記ユニット演算部が、
入力された入力データベクトルが記憶される入力データ記憶部と、
学習速度を決める係数である学習速度係数が予め記憶されている学習速度記憶部と、
前記データ入力部に入力された入力値が入力データベクトルである場合には、該入力された入力データベクトルを前記入力データ記憶部に記憶させるデータ抽出部と、
を有し、
前記重み更新部が、前記入力データ記憶部から読み出した入力データベクトルと前記重み記憶部から読み出した結合重みベクトルとの差に、前記学習速度記憶部から読み出した学習速度係数を乗じた値を、前記重み記憶部に記憶されている結合重みベクトルに加算することにより、前記重み記憶部に記憶されている結合重みベクトルを更新する、
ことを特徴とする請求項12に記載の並列演算装置。
The unit calculation unit is
An input data storage unit for storing input input data vectors;
A learning speed storage unit in which a learning speed coefficient that is a coefficient for determining a learning speed is stored in advance;
When the input value input to the data input unit is an input data vector, a data extraction unit that stores the input data vector input in the input data storage unit;
Have
The weight update unit multiplies the difference between the input data vector read from the input data storage unit and the combined weight vector read from the weight storage unit by the learning speed coefficient read from the learning speed storage unit, Updating the connection weight vector stored in the weight storage unit by adding to the connection weight vector stored in the weight storage unit;
The parallel arithmetic apparatus according to claim 12, wherein:
前記学習速度記憶部には、学習した回数を示す学習ステップ数と、前記学習速度係数とが予め関連付けて記憶されており、
前記ユニット演算部が、前記ユニットに入力データベクトルが入力される毎に、前記ユニットに前記入力データベクトルが入力された回数であるステップ数をカウントアップするカウンタを有し、
前記重み更新部が、前記カウンタから読み出したステップ数が、前記学習ステップ数に該当する学習速度係数を前記学習速度記憶部から読み出し、該読み出した学習速度係数に基づいて前記重み記憶部に記憶されている結合重みベクトルを更新する、
ことを特徴とする請求項12または請求項13に記載の並列演算装置。
In the learning speed storage unit, a learning step number indicating the number of times of learning and the learning speed coefficient are stored in association with each other in advance.
The unit calculation unit includes a counter that counts up the number of steps that is the number of times the input data vector is input to the unit each time an input data vector is input to the unit.
The weight update unit reads from the learning speed storage unit the learning speed coefficient corresponding to the number of steps read from the counter and stored in the weight storage unit based on the read learning speed coefficient. Update the connected weight vector,
The parallel arithmetic apparatus according to claim 12 or 13,
前記ユニット演算部が、前記ネットワーク座標の間の距離が近傍であるか否かを判定する基準である基準距離が予め記憶されている距離記憶部を有し、
前記近傍判定部が、前記データ入力部に入力された入力値が、ネットワーク座標と近傍判定を実行することを示す識別情報である近傍判定識別情報との組みである場合には、前記距離記憶部から基準距離を読み出し、前記ユニットネットワーク座標記憶部から読み出したユニットネットワーク座標と前記入力されたネットワーク座標である入力ネットワーク座標との間の距離が、前記読み出した基準距離以下であるか否かを判定することにより、前記ユニットネットワーク座標が前記入力ネットワーク座標の近傍にあるか否かを判定する、
ことを特徴とする請求項12から請求項14に記載の並列演算装置。
The unit calculation unit includes a distance storage unit in which a reference distance that is a reference for determining whether or not the distance between the network coordinates is a neighborhood is stored in advance.
If the input value input to the data input unit is a set of network coordinates and proximity determination identification information that is identification information indicating that the proximity determination is performed, the distance storage unit A reference distance is read from the unit network coordinate storage unit, and it is determined whether or not a distance between the unit network coordinates read from the unit network coordinate storage unit and the input network coordinates that are the input network coordinates is equal to or less than the read reference distance. To determine whether the unit network coordinates are in the vicinity of the input network coordinates,
15. The parallel arithmetic apparatus according to claim 12, wherein the parallel arithmetic apparatus is characterized in that
前記距離記憶部には、前記学習ステップ数と前記基準距離とが予め関連付けて記憶されており、
前記近傍判定部が、
前記カウンタから読み出したステップ数が、前記学習ステップ数に該当する基準距離を前記学習速度記憶部から読み出し、該読み出した基準距離に基づいて前記ユニットネットワーク座標が前記入力ネットワーク座標の近傍にあるか否かを判定する、
ことを特徴とする請求項15に記載の並列演算装置。
In the distance storage unit, the number of learning steps and the reference distance are stored in advance in association with each other,
The proximity determination unit
A reference distance corresponding to the learning step number read from the counter is read from the learning speed storage unit, and the unit network coordinates are in the vicinity of the input network coordinates based on the read reference distance. To determine,
The parallel arithmetic apparatus according to claim 15.
前記トークン入力部にトークンが入力されたことに応じて、前記トークン出力部がトークンを出力することを特徴とする請求項11から請求項16に記載の並列演算装置。   17. The parallel computing device according to claim 11, wherein the token output unit outputs a token in response to a token input to the token input unit. 前記ユニット演算部が、
前記トークン出力部がトークンを出力済みであるか否かを示すトークン出力フラグが記憶されているトークン出力フラグ記憶部と、
前記トークン入力部にトークンが入力されたことに応じて、前記トークン出力フラグ記憶部からトークン出力フラグを読み出し、該読み出したトークン出力フラグがトークンを未出力である場合に、前記入力されたトークンを前記ノルム比較部に出力すると共に、前記入力されたトークンを前記トークン出力部を介して出力するトークン出力フラグ判定部と、
を有することを特徴とする請求項11から請求項17に記載の並列演算装置。
The unit calculation unit is
A token output flag storage unit storing a token output flag indicating whether or not the token output unit has already output a token;
When a token is input to the token input unit, a token output flag is read from the token output flag storage unit, and when the read token output flag is a token not output, the input token is A token output flag determination unit that outputs to the norm comparison unit and outputs the input token via the token output unit;
The parallel processing device according to claim 11, further comprising:
前記トークン出力部が、
前記ユニットノルム記憶部から読み出したユニットノルムと前記ユニットネットワーク座標記憶部から読み出したユニットネットワーク座標とを組みとして前記データ出力部を介して前記選択出力部が出力したことに応じて、または、前記入力ノルム記憶部から読み出した入力ノルムと前記入力ネットワーク座標記憶部から読み出した入力ネットワーク座標とを組みとして前記データ出力部を介して前記選択出力部が出力したことに応じて、前記トークンを出力する、
ことを特徴とする請求項11から請求項18に記載の並列演算装置。
The token output unit
In response to the output of the selection output unit via the data output unit as a set of the unit norm read from the unit norm storage unit and the unit network coordinates read from the unit network coordinate storage unit, or the input In response to the output from the selection output unit via the data output unit as a set of the input norm read from the norm storage unit and the input network coordinates read from the input network coordinate storage unit, the token is output.
The parallel arithmetic apparatus according to claim 11, wherein the parallel arithmetic apparatus is characterized in that
前記トークン出力部が、
前記トークンを出力した後に、前記トークン出力フラグ記憶部に記憶されているトークン出力フラグを出力済みに更新する、
ことを特徴とする請求項11から請求項19に記載の並列演算装置。
The token output unit
After outputting the token, update the token output flag stored in the token output flag storage unit to have been output,
The parallel arithmetic apparatus according to claim 11, wherein the parallel arithmetic apparatus is characterized by that.
前記予め定められた順序の1つ飛ばしの順序である第1の冗長順序で、前記複数のユニットのうちの半数のユニットが、第1の冗長デイジーチェーン制御バスによりデイジーチェーンされており、
前記第1の冗長デイジーチェーン制御バスによりデイジーチェーンされているユニットが、
前記トークン入力部にトークンが入力されたことに応じて、前記トークンを前記冗長順序で1つ後のユニットへ前記第1の冗長デイジーチェーン制御バスを介して出力する冗長トークン出力部と、
前記トークン出力部と前記冗長トークン出力部とのうち、いずれを選択するかを示すトークン出力選択情報が記憶されているトークン選択情報記憶部と、
前記トークン入力部にトークンが入力されたことに応じて、前記トークン選択情報記憶部から読み出したトークン出力選択情報に基づいて、前記トークン出力部と前記冗長トークン出力部とのうちいずれか一方を選択し、該選択したトークン出力部または冗長トークン出力部を介してトークンを出力するトークン出力部選択部と、
を有することを特徴とする請求項1から請求項19に記載の並列演算装置。
In a first redundancy order, which is one of the predetermined orders, half of the plurality of units are daisy chained by a first redundancy daisy chain control bus;
Units that are daisy chained by the first redundant daisy chain control bus are:
A redundant token output unit that outputs the token to the next unit in the redundant order via the first redundant daisy chain control bus in response to a token being input to the token input unit;
A token selection information storage unit storing token output selection information indicating which of the token output unit and the redundant token output unit to select;
Select one of the token output unit and the redundant token output unit based on the token output selection information read from the token selection information storage unit in response to a token input to the token input unit A token output unit selection unit that outputs a token via the selected token output unit or redundant token output unit,
20. The parallel arithmetic device according to claim 1, further comprising:
前記ユニットが、
前記冗長デイジーチェーン制御バスを介してデイジーチェーンされている冗長順序が1つ前のユニットからのトークンを入力する冗長トークン入力部を有し、
前記トークン出力部が、
前記トークン入力部または前記冗長トークン入力部にトークンが入力されたことに応じて、前記トークンを出力する、
ことを特徴とする請求項21に記載の並列演算装置。
The unit is
A redundant token input unit for inputting tokens from a unit in the redundant order that is daisy chained via the redundant daisy chain control bus;
The token output unit
In response to a token input to the token input unit or the redundant token input unit, the token is output.
The parallel arithmetic apparatus according to claim 21, wherein:
前記予め定められた順序の1つ飛ばしの順序で、前記第1の冗長デイジーチェーン制御バスによりデイジーチェーンされていない前記複数のうちの残りの半数のユニットが、第2の冗長デイジーチェーン制御バスによりデイジーチェーンされており、
前記第2の冗長デイジーチェーン制御バスによりデイジーチェーンされているユニットが、前記第2の冗長デイジーチェーン制御バスを前記第1の冗長デイジーチェーン制御バスとして、前記冗長トークン出力部とトークン選択情報記憶部とトークン出力部選択部とを有している、
ことを特徴する請求項21または請求項22に記載の並列演算装置。
The remaining half of the plurality of units that are not daisy chained by the first redundant daisy chain control bus in the order of skipping one of the predetermined orders are transferred by the second redundant daisy chain control bus. Daisy chained,
The units daisy chained by the second redundant daisy chain control bus have the second redundant daisy chain control bus as the first redundant daisy chain control bus, and the redundant token output unit and token selection information storage unit. And a token output unit selection unit,
The parallel processing device according to claim 21 or 22, wherein
前記第2の冗長デイジーチェーン制御バスによりデイジーチェーンされているユニットが、前記第2の冗長デイジーチェーン制御バスを前記第1の冗長デイジーチェーン制御バスとして、前記冗長トークン入力部を有している、
ことを特徴する請求項21から請求項23に記載の並列演算装置。
The unit daisy chained by the second redundant daisy chain control bus has the redundant token input unit with the second redundant daisy chain control bus as the first redundant daisy chain control bus.
24. The parallel arithmetic apparatus according to claim 21, wherein the parallel arithmetic apparatus is characterized in that
予め定められた順序でデイジーチェーン制御バスを介してデイジーチェーンされている複数のユニットと、前記複数のユニットの内のいずれか1つが出力する出力値がユニット出力バスを介して入力され、該入力された出力値を前記複数のユニットのそれぞれにユニット入力バスを介して入力値として出力する中継部と、を有する並列演算装置のユニットにおいて用いられる並列演算方法であって、
前記ユニットが、
前記デイジーチェーン制御バスを介してデイジーチェーンされている順序が1つ前のユニットからのトークンを入力し、
前記トークンが入力されたことに応じて、前記トークンを前記デイジーチェーンされている順序が1つ後のユニットへ前記デイジーチェーン制御バスを介して出力し、
前記ユニット出力バスを介して前記中継部からの入力値を入力し、
前記入力された入力値に基づいて、前記ユニット毎に予め定められた演算方法により演算し、
前記トークンが入力されたことに応じて、前記演算した結果である演算結果を前記出力値として、前記中継部に前記ユニット出力バスを介して出力する、
ことを特徴とする並列演算方法。
A plurality of units daisy-chained via a daisy chain control bus in a predetermined order, and an output value output from any one of the plurality of units is input via the unit output bus, and the input A parallel processing method used in a unit of a parallel processing device having a relay unit that outputs the output value as an input value to each of the plurality of units via a unit input bus,
The unit is
Enter tokens from the previous unit in the daisy chain via the daisy chain control bus;
In response to the token being input, the token is output to the next unit in the daisy chain order via the daisy chain control bus.
Input the input value from the relay unit via the unit output bus,
Based on the inputted input value, it is calculated by a predetermined calculation method for each unit,
In response to the input of the token, the calculation result that is the calculation result is output as the output value to the relay unit via the unit output bus.
A parallel operation method characterized by that.
JP2007141671A 2007-05-29 2007-05-29 Parallel arithmetic unit and parallel arithmetic method Withdrawn JP2008299381A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007141671A JP2008299381A (en) 2007-05-29 2007-05-29 Parallel arithmetic unit and parallel arithmetic method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007141671A JP2008299381A (en) 2007-05-29 2007-05-29 Parallel arithmetic unit and parallel arithmetic method

Publications (1)

Publication Number Publication Date
JP2008299381A true JP2008299381A (en) 2008-12-11

Family

ID=40172892

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007141671A Withdrawn JP2008299381A (en) 2007-05-29 2007-05-29 Parallel arithmetic unit and parallel arithmetic method

Country Status (1)

Country Link
JP (1) JP2008299381A (en)

Similar Documents

Publication Publication Date Title
JP4513865B2 (en) Parallel computing device and parallel computing method
Tungadio et al. Particle swarm optimization for power system state estimation
Wen et al. Pinning synchronization of directed networks with switching topologies: A multiple Lyapunov functions approach
US20160247063A1 (en) Reconfigurable and customizable general-purpose circuits for neural networks
Zheng et al. A novel RNN based load modelling method with measurement data in active distribution system
Li et al. Passivity and dissipativity of fractional-order quaternion-valued fuzzy memristive neural networks: Nonlinear scalarization approach
Li et al. Semi‐tensor product approach to minimal‐agent consensus control of networked evolutionary games
Xu et al. Risk‐averse multi‐objective generation dispatch considering transient stability under load model uncertainty
CN113887845A (en) Extreme event prediction method, apparatus, device, medium, and computer program product
Li et al. Stochastic set stabilisation of n‐person random evolutionary Boolean games and its applications
Majumder et al. Uncertainty based genetic algorithm with varying population for random fuzzy maximum flow problem
Venu Design Analysis and Classification of Digital Transmission Based Composite Relay and Artificial Neural Network Approach
JP2009099008A (en) Parallel arithmetic unit and parallel arithmetic method
JP2009042898A (en) Parallel arithmetic unit and parallel operation method
Nemati et al. Tri‐level transmission Expansion planning under intentional attacks: virtual attacker approach‐part II: case studies
Tohidi et al. A continuous‐time Markov chain model for redundancy allocation problem: An economic analysis
Lu et al. History dynamics of unified empire in China (770 BC to 476 BC)
JP2008299381A (en) Parallel arithmetic unit and parallel arithmetic method
Cai et al. Breakup of directed multipartite networks
Lin et al. A two-stage intervened decision system with state-dependent random inspection mechanisms
Lakshminarasimman et al. Water wave optimization algorithm for solving multi-area economic dispatch problem
Zhang et al. Fast faulted line identification method for wide‐area backup protection with PMU optimal placement strategy
Debenedictis Computational Complexity and New Computing Approaches.
Barkouki et al. A matrix rational Lanczos method for model reduction in large‐scale first‐and second‐order dynamical systems
JP2009075765A (en) Parallel arithmetic unit and parallel arithmetic method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100225

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20100226

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20120124

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20120309