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

Parallel arithmetic unit and parallel arithmetic method Download PDF

Info

Publication number
JP2009075765A
JP2009075765A JP2007242920A JP2007242920A JP2009075765A JP 2009075765 A JP2009075765 A JP 2009075765A JP 2007242920 A JP2007242920 A JP 2007242920A JP 2007242920 A JP2007242920 A JP 2007242920A JP 2009075765 A JP2009075765 A JP 2009075765A
Authority
JP
Japan
Prior art keywords
unit
norm
input
output
information
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
JP2007242920A
Other languages
Japanese (ja)
Inventor
Masayoshi Gohara
正義 轟原
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 JP2007242920A priority Critical patent/JP2009075765A/en
Publication of JP2009075765A publication Critical patent/JP2009075765A/en
Withdrawn legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To quickly select a unit whose norm becomes the minimum in a parallel arithmetic unit having a plurality of units for performing the arithmetic operation of a self-organization map. <P>SOLUTION: This parallel arithmetic unit for performing the arithmetic operation of a self-organization map is provided with: a plurality of units which are respectively identified according to unit network coordinates being predetermined identification information; and a distribution control part which, according as an output value output by one unit of the plurality of units is input through a unit output bus, outputs control data including the input output value and selected unit network coordinates being identification information for selecting any one unit selected from among the plurality of units through a unit input bus to each of the plurality of units. When the unit whose norm becomes the minimum is selected from among the plurality of units, the unit whose norm becomes the minimum is selected by a tournament system. <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 applications in which parallel computation exhibits its performance. 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. However, in recent years, increasing the clock frequency has increased the amount of heat generation, and Moore's Law is failing because microfabrication dimensions are reaching physical limits, 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 by increasing 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 the neural network, and it is a problem when it is necessary to input the output of the arithmetic unit to a plurality of arithmetic units at the same time. It becomes. In addition to general neural networks such as hierarchical neural networks and self-organizing maps, there are, for example, gravity many-body problems, simulation of charged many-body particles, signal filtering, and the like.

本発明は、このような事情に鑑みてなされたもので、その目的の一つは、複数の演算ユニット間の配線を簡易にすることを可能とする並列演算装置および並列演算方法を提供することにある。   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つの根ユニットと、前記葉ユニットと前記根ユニットとを接続する予め定められた複数のユニットである幹ユニットと、に予め分類され、前記葉ユニットと前記幹ユニットと前記根ユニットとは、前記葉ユニットから前記根ユニットに前記ノルムの比較結果が、予め定められた順序で並列に送信できるように、該順序で隣接するユニット同士がノルム比較バスを介して接続されており、かつ、前記根ユニットは前記分配制御部に前記ノルム比較バスを介して接続されており、前記幹ユニットまたは根ユニットは、自ユニットに入力されたノルムと自ユニットのユニットノルム記憶部に記憶されたノルムとにおいて最小であるノルムと、該ノルムを有するユニットを識別するユニットネットワーク座標とを関連付けて勝者ノルム情報として記憶する勝者ノルム情報記憶部と、前記順序で前記葉ユニットに近い方のユニットであり隣接するユニットである前段ユニットから、ノルムとユニットネットワーク座標とを関連付けてノルム情報として前記ノルム比較バスを介して入力するノルム情報入力部と、前記ノルム情報入力部に前記ノルム情報が入力されたことに応じて、前記ノルム情報入力部に入力されたノルムと、自ユニットの前記勝者ノルム情報記憶部または自ユニットの前記ユニットノルム記憶部から読み出したノルムとを比較し、最小となるノルムと該ノルムと関連付けられたユニットネットワーク座標とを関連付けて前記勝者ノルム情報として前記勝者ノルム情報記憶部に設定して記憶する勝者ノルム情報設定部と、前記勝者ノルム情報記憶部から読み出した勝者ノルム情報を、前記順序で前記根ユニットに近い方のユニットであり隣接するユニットである後段ユニットへ前記ノルム比較バスを介して出力するノルム情報出力部と、を有することを特徴とする並列演算装置である。   This invention was made in order to solve the above-mentioned problem, and a parallel computing device that computes a self-organizing map includes a plurality of units each identified by unit network coordinates that are predetermined identification information, One of the plurality of units selected from the input value and the plurality of units when an output value output from any one of the plurality of units is input via the unit output bus. A distribution control unit that outputs control data including selection unit network coordinates, which are identification information for selecting one unit, to each of the plurality of units via a unit input bus, and Each unit unit stores a norm calculated by its own unit based on the control data input from the distribution control unit. A storage unit and a unit network coordinate storage unit that stores the unit network coordinates of the own unit, and the plurality of units select a minimum norm from norms calculated by the plurality of units, respectively. As a unit for starting comparison, a leaf unit that is a plurality of predetermined units, a minimum norm selected from norms calculated by each of the units, and a unit of a unit having the norm Classifying in advance into one root unit that is predetermined as a unit that outputs the network coordinates to the distribution control unit, and a trunk unit that is a plurality of predetermined units that connect the leaf unit and the root unit. The leaf unit, the stem unit, and the root unit from the leaf unit. Units adjacent in the order are connected via a norm comparison bus so that the comparison result of the norm can be transmitted in parallel to the root unit in a predetermined order, and the root unit is The norm that is connected to the distribution control unit via the norm comparison bus, and the trunk unit or the root unit is the minimum norm input to the unit norm stored in the unit norm storage unit of the unit And a winner norm information storage unit which associates and stores unit network coordinates for identifying a unit having the norm as winner norm information, and a preceding unit which is a unit closer to the leaf unit in the order and is an adjacent unit From the norm comparison bus, the norm and unit network coordinates are associated with each other as norm information. A norm information input unit input via the norm information input unit in response to the input of the norm information to the norm information input unit, and the winner norm information storage unit of the own unit Or, the norm read from the unit norm storage unit of the own unit is compared, and the minimum norm and the unit network coordinates associated with the norm are associated and set as the winner norm information in the winner norm information storage unit. The winner norm information setting unit for storing the information and the winner norm information read from the winner norm information storage unit are connected with the norm comparison bus to the subsequent unit which is the unit closer to the root unit and the adjacent unit in the order. And a norm information output unit for outputting via a parallel computing device.

この発明によれば、葉ユニットと幹ユニットと根ユニットとは、葉ユニットから根ユニットにノルムの比較結果が、予め定められた順序で並列に送信できるように、該順序で隣接するユニット同士がノルム比較バスを介して接続されていて、このノルム比較バスして、順にノルムを比較し、並列で比較が実行されるために、各ユニットが算出したノルムの中らから最小となるノルムを選択する場合に、1つずつ順にノルムの比較を実行する場合に比較して、高速にノルムの比較を実行することが出来るという効果を奏する。   According to the present invention, the leaf unit, the trunk unit, and the root unit are configured so that the units adjacent to each other in the order can be transmitted in parallel in a predetermined order from the leaf unit to the root unit. Connected via the norm comparison bus, this norm comparison bus compares the norms in order and the comparison is executed in parallel, so the smallest norm is selected from the norms calculated by each unit. In this case, the norm comparison can be performed at a higher speed than when the norm comparison is performed one by one.

また、この発明は、前記幹ユニットまたは前記根ユニットには、複数の前記幹ユニットまたは複数の前記葉ユニットが前記前段ユニットとして予め接続されており、前記幹ユニットまたは前記根ユニットのそれぞれは、自ユニットに接続される前記前段ユニットの総数である前段接続数が予め記憶されている前段接続数記憶部と、前記ノルム情報入力部にノルムとユニットネットワーク座標とが入力される毎に、入力回数をカウントアップして記憶する入力回数記憶部と、前記前段接続数記憶部から読み出した前段接続数と、前記入力回数記憶部から読み出した入力回数とを比較する前段接続数比較部と、を有しており、前記ノルム情報出力部が、前記接続数比較部の比較結果が、前段接続数と前記入力回数とが一致した場合に、前記勝者ノルム情報記憶部から読み出した勝者ノルム情報を出力する、ことを特徴とする並列演算装置である。   Further, according to the present invention, a plurality of the stem units or a plurality of the leaf units are connected in advance to the trunk unit or the root unit as the front stage unit, and each of the trunk unit or the root unit Each time a norm and unit network coordinates are input to the norm information input unit and a norm connection number storage unit in which the preceding connection number that is the total number of the preceding unit connected to the unit is stored in advance. An input number storage unit that counts up and stores, a previous stage connection number comparison unit that compares the previous stage connection number read from the previous stage connection number storage unit, and the input number read from the input number storage unit. When the comparison result of the connection number comparison unit matches the number of previous connection and the number of inputs, the norm information output unit It outputs the winner norm information read from the beam information storage unit, it is a parallel arithmetic apparatus according to claim.

この発明によれば、幹ユニットまたは根ユニットが、ノルムとユニットネットワーク座標とが入力された入力回数と、自ユニットに接続される前記前段ユニットの総数とを比較し、前段接続数と入力回数とが一致した場合に、前記勝者ノルム情報記憶部から読み出した勝者ノルム情報を出力することにより、比較の順序において、幹ユニットまたは根ユニットが、複数の前段ユニットからノルムを入力することが可能となり、この入力された全てのノルムの中から最小となるノルムを選択した後に、選択したノルムを後段ユニットに出力することが出来という効果を奏する。   According to the present invention, the trunk unit or the root unit compares the number of times the norm and the unit network coordinates are inputted with the total number of the preceding units connected to the own unit, If they match, by outputting the winner norm information read from the winner norm information storage unit, it becomes possible for the trunk unit or the root unit to input the norm from a plurality of preceding units in the order of comparison, After selecting the minimum norm from all the input norms, the selected norm can be output to the subsequent unit.

また、この発明は、前記幹ユニットまたは前記根ユニットのそれぞれが、前記ノルムと前記ユニットネットワーク座標とを、自ユニットの前段ユニットから入力可能であるか否かを示すユニットビジーフラグ情報を記憶するユニットビジーフラグ記憶部を有しており、前記ユニットのそれぞれが、自ユニットの後段ユニットが有する前記ユニットビジーフラグ記憶部から出力されたユニットビジーフラグ情報に基づいて、該後段ユニットに前記ノルムと前記ユニットネットワーク座標とを出力するか否かを判定するビジーフラグ判定部を有し、前記自ユニットの前記ノルム情報出力部が、前記自ユニットのビジーフラグ判定部の判定結果に基づいて、前記勝者ノルム情報記憶部から読み出した勝者ノルム情報を出力する、ことを特徴とする並列演算装置である。   Further, the present invention is a unit for storing unit busy flag information indicating whether each of the trunk unit or the root unit can input the norm and the unit network coordinates from the preceding unit of its own unit. A busy flag storage unit, and each of the units has the norm and the unit in the subsequent unit based on the unit busy flag information output from the unit busy flag storage unit of the subsequent unit of its own unit. A busy flag determination unit that determines whether or not to output network coordinates, and the norm information output unit of the own unit is based on a determination result of the busy flag determination unit of the own unit, the winner norm information storage unit Output the winner norm information read from An arithmetic unit.

この発明によれば、ユニットビジーフラグ情報に基づいて、後段ユニットにノルムとユニットネットワーク座標とを出力するか否かを判定するビジーフラグ判定部を有し、この判定結果に基づいて、ノルム情報を出力することにより、後段ユニットが受信可能な場合にのみノルム情報を出力することになるため、後段ユニットが、確実にノルム情報を受信することが出来るという効果を奏する。   According to this invention, based on the unit busy flag information, the busy flag determination unit that determines whether or not to output the norm and the unit network coordinates to the subsequent unit is output, and the norm information is output based on the determination result. As a result, the norm information is output only when the latter unit is receivable, so that the latter unit can reliably receive the norm information.

また、この発明は、前記ノルム情報入力部が、前記ノルム情報が入力されたことに応じて、前記ユニットビジーフラグ記憶部に記憶されているユニットビジーフラグ情報を自ユニットの前段ユニットから入力可能でないことを示すように設定し、前記接続数比較部が、前記比較結果が前段接続数と前記入力回数とが一致しない場合に、前記ユニットビジーフラグ記憶部に記憶されているユニットビジーフラグ情報を自ユニットの前段ユニットから入力可能であることを示すように設定する、ことを特徴とする並列演算装置である。   Further, according to the present invention, the norm information input unit cannot input the unit busy flag information stored in the unit busy flag storage unit from the preceding unit of the own unit in response to the input of the norm information. When the comparison result shows that the comparison result does not match the number of previous connections and the number of inputs, the connection number comparison unit automatically stores the unit busy flag information stored in the unit busy flag storage unit. It is a parallel arithmetic device characterized in that it is set so as to indicate that input is possible from the preceding unit of the unit.

この発明によれば、自ユニットが、自ユニットの前段ユニットから入力可能でないことを示すように、また、自ユニットの前段ユニットから入力可能であることを示すように、ユニットビジーフラグ記憶部に記憶されているユニットビジーフラグ情報を適切に設定することにより、自ユニットが、前段ユニットから出力されたノルム情報を受信できないことがなく、かつ、前段ユニットから出力されたノルム情報を確実に受信することが出来るという効果を奏する。   According to the present invention, the unit busy flag storage unit indicates that the own unit is not inputable from the preceding unit of the own unit and indicates that input is possible from the preceding unit of the own unit. By properly setting the unit busy flag information, the unit itself will not receive norm information output from the previous unit, and will reliably receive norm information output from the previous unit. There is an effect that can be done.

また、この発明は、前記幹ユニットまたは前記根ユニットのそれぞれが、前記複数のユニットがそれぞれ算出したノルムの中から最小となるノルムを選択するための比較を開始することを示す信号を前記分配制御部から入力されたことに応じて、前記ユニットビジーフラグ記憶部に記憶されているユニットビジーフラグ情報を自ユニットの前段ユニットから入力可能であることを示すように設定するユニット制御部を有し、前記接続数比較部が、前記比較結果が前段接続数と前記入力回数とが一致した場合に、前記ユニットビジーフラグ記憶部に記憶されているユニットビジーフラグ情報を自ユニットの前段ユニットから入力可能でないことを示すように設定する、ことを特徴とする並列演算装置である。   Further, the present invention provides a signal indicating that each of the trunk unit or the root unit starts comparison for selecting a minimum norm from norms calculated by the plurality of units. A unit control unit that sets the unit busy flag information stored in the unit busy flag storage unit so as to indicate that it can be input from the preceding unit of the own unit in response to being input from the unit, The connection number comparison unit cannot input the unit busy flag information stored in the unit busy flag storage unit from the preceding unit of its own unit when the comparison result indicates that the number of previous connection and the number of inputs match. It is set so that it may show that. It is a parallel arithmetic unit characterized by the above-mentioned.

この発明によれば、幹ユニットまたは根ユニットのそれぞれが、複数のユニットがそれぞれ算出したノルムの中から最小となるノルムを選択するための比較を開始することを示す信号を前記分配制御部から入力されたことに応じて、また、前段接続数と入力回数とが一致した場合に応じて、ユニットビジーフラグ情報を適切に設定するために、自ユニットが、前段ユニットから出力されたノルム情報を受信できないことがなく、かつ、前段ユニットから出力されたノルム情報を確実に受信することが出来るという効果を奏する。   According to the present invention, each of the trunk unit or the root unit inputs a signal indicating that the comparison for selecting the minimum norm from among the norms calculated by the plurality of units is input from the distribution control unit. In order to set the unit busy flag information appropriately, the unit receives the norm information output from the preceding unit. There is no effect, and the norm information output from the preceding unit can be received reliably.

また、この発明は、前記葉ユニットが、前記複数のユニットがそれぞれ算出したノルムの中から最小となるノルムを選択するための比較を開始することを示す信号を前記分配制御部から入力されたことに応じて、自ユニットの前記ユニットノルム記憶部から読み出したノルムと自ユニットの前記ユニットネットワーク座標記憶部から読み出したユニットネットワーク座標とを出力するノルム情報出力部とを、前記自ユニットが接続される後段ユニットへ前記ノルム比較バスを介して出力する葉ノルム情報出力部、を有することを特徴とする並列演算装置である。   Further, according to the present invention, a signal indicating that the leaf unit starts comparison for selecting a minimum norm from norms calculated by the plurality of units is input from the distribution control unit. The self unit is connected to a norm information output unit that outputs a norm read from the unit norm storage unit of the self unit and a unit network coordinate read from the unit network coordinate storage unit of the self unit. A parallel computing device comprising a leaf norm information output unit for outputting to a subsequent unit via the norm comparison bus.

この発明によれば、複数の葉ユニットのそれぞれが、複数のユニットがそれぞれ算出したノルムの中から最小となるノルムを選択するための比較を開始することを示す信号を前記分配制御部から入力されることにより、自ユニットのノルムとユニットネットワーク座標とを後段ユニットへ出力することにより、予め定められた順序で並列にノルムの比較が実行されることとなり、そのため、複数のユニットがそれぞれ算出したノルムの中から最小となるノルムを、1つずつ比較する場合と比較して、高速に選択することが出来るという効果を奏する。   According to this invention, each of the plurality of leaf units receives a signal indicating that the comparison for selecting the minimum norm from the norms calculated by the plurality of units is input from the distribution control unit. By outputting the norm of the unit and the unit network coordinates to the subsequent unit, the norm comparison is executed in parallel in a predetermined order. As compared with the case where the norm that is the smallest among the two is compared one by one, there is an effect that it can be selected at high speed.

また、この発明は、自己組織化マップを演算する並列演算装置が、予め定められた識別情報であるユニットネットワーク座標によりそれぞれが識別される複数のユニットと、前記複数のユニットの中のいずれか1つのユニットが出力する出力値がユニット出力バスを介して入力されたことに応じて、該入力された入力値と前記複数のユニットの中から選択したいずれか1つのユニットを選択する識別情報である選択ユニットネットワーク座標とを含む制御データを、前記複数のユニットのそれぞれにユニット入力バスを介して出力する分配制御部と、を有し、前記複数のユニットのそれぞれは、前記分配制御部から入力された制御データに基づいて自ユニットが算出したノルムを記憶するユニットノルム記憶部と、自ユニットの前記ユニットネットワーク座標を記憶するユニットネットワーク座標記憶部と、を有し、前記複数のユニットは、前記複数のユニットがそれぞれ算出したノルムの中から、最小となるノルムを選択するための比較を開始するユニットとして、予め定められた複数のユニットである葉ユニットと、前記ユニットのそれぞれが算出したノルムの中から選択された最小となるノルムと、該ノルムを有するユニットのユニットネットワーク座標とを前記分配制御部に出力するユニットとして予め定められた1つの根ユニットと、前記葉ユニットと前記根ユニットとを接続する予め定められた複数のユニットである幹ユニットと、に予め分類され、前記葉ユニットと前記幹ユニットと前記根ユニットとは、前記葉ユニットから前記根ユニットに前記ノルムの比較結果が、予め定められた順序で並列に送信できるように、該順序で隣接するユニット同士がノルム比較バスを介して接続されており、かつ、前記根ユニットは前記分配制御部に前記ノルム比較バスを介して接続されている並列演算装置で用いられる並列演算であって、前記幹ユニットまたは根ユニットは、前記順序で前記葉ユニットに近い方のユニットであり隣接するユニットである前段ユニットから、ノルムとユニットネットワーク座標とを関連付けてノルム情報として前記ノルム比較バスを介して入力するノルム情報入力手順と、前記ノルム情報入力手順で前記ノルム情報が入力されたことに応じて、前記ノルム情報入力手順で入力されたノルムと、自ユニットに入力されたノルムと自ユニットのユニットノルム記憶部に記憶されたノルムとにおいて最小であるノルムと該ノルムを有するユニットを識別するユニットネットワーク座標とを関連付けて勝者ノルム情報として記憶する勝者ノルム情報記憶部、または、自ユニットの前記ユニットノルム記憶部から読み出したノルムと、を比較し、最小となるノルムと該ノルムと関連付けられたユニットネットワーク座標とを関連付けて前記勝者ノルム情報として前記勝者ノルム情報記憶部に設定して記憶する勝者ノルム情報設定手順と、前記勝者ノルム情報記憶部から読み出した勝者ノルム情報を、前記順序で前記根ユニットに近い方のユニットであり隣接するユニットである後段ユニットへ前記ノルム比較バスを介して出力するノルム情報出力手順と、を有することを特徴とする並列演算方法である。   Further, according to the present invention, a parallel processing device that calculates a self-organizing map includes a plurality of units each identified by unit network coordinates that are predetermined identification information, and any one of the plurality of units. This is identification information for selecting any one unit selected from the input value and the plurality of units when an output value output from one unit is input via the unit output bus. A distribution control unit that outputs control data including selected unit network coordinates to each of the plurality of units via a unit input bus, and each of the plurality of units is input from the distribution control unit. A unit norm storage unit for storing a norm calculated by the own unit based on the control data, and the unit of the own unit A unit network coordinate storage unit that stores network coordinates, and the plurality of units are units that start comparison for selecting a minimum norm from norms calculated by the plurality of units, respectively. , A leaf unit which is a plurality of predetermined units, a minimum norm selected from the norms calculated by each of the units, and unit network coordinates of the units having the norm to the distribution control unit. The leaf unit and the stem unit are classified in advance into one root unit that is predetermined as an output unit and a trunk unit that is a plurality of predetermined units that connect the leaf unit and the root unit. And the root unit is a comparison result of the norm from the leaf unit to the root unit. The units adjacent in the order are connected via a norm comparison bus so that they can be transmitted in parallel in a predetermined order, and the root unit is connected to the distribution control unit via the norm comparison bus. Parallel processing used in the parallel processing devices connected to each other, wherein the trunk unit or the root unit is a unit closer to the leaf unit in the order, and a preceding unit that is an adjacent unit, a norm and a unit A norm information input procedure for inputting the norm information through the norm comparison bus in association with the network coordinates, and the norm information input procedure according to the norm information input procedure according to the input of the norm information. The norm input to the unit and the norm stored in the unit norm storage of the unit. A norm read out from the unit norm storage unit of the own unit, or a winner norm information storage unit that associates a minimum norm with unit network coordinates for identifying a unit having the norm and stores it as winner norm information, A winner norm information setting procedure for associating a minimum norm with a unit network coordinate associated with the norm and setting and storing in the winner norm information storage unit as the winner norm information, and the winner norm information A norm information output procedure for outputting the winner norm information read from the storage unit to the subsequent unit, which is a unit closer to the root unit in the order and adjacent thereto, via the norm comparison bus. This is a featured parallel operation method.

<第1の基本構成>
以下、図面を参照して、本発明の実施の形態について説明する。図1は、この発明の一実施形態による並列演算装置の構成(第1の基本構成)を示す概略ブロック図である。ここでは、ユニットU1からU10の、ユニットの個数が10である場合について説明する。なお、このユニットの詳細については、後述する。
<First basic configuration>
Embodiments of the present invention will be described below with reference to the drawings. FIG. 1 is a schematic block diagram showing a configuration (first basic 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 calculated 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 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 using FIG. 4 and FIG. 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 a node P201 in the hidden layer L2 and a 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 performs the following processes to learn the statistical properties of multivariate data, arranges similar data in close proximity, and enables data visualization To do.

各ユニットは、ユニットの結合重みベクトルを有している。まず、各ユニットに入力データベクトルが入力され、各ユニットは入力された入力データベクトルと結合重みベクトルの差であるノルムを算出する(手順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の実施形態と同様に、同一の構成を有しているので、ここでは1つのユニットの構成のみについて説明する。   Next, the configuration of the units of the parallel arithmetic device when applied to the self-organizing map will be described using FIG. 7 and FIG. Here, each of the plurality of units is identified in advance by coordinates identified by network coordinates. Since each unit has the same configuration as in the first embodiment, only the configuration of one unit will be described here.

この図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. In addition, the token output unit 203 includes a data output unit in which the data synthesis output unit 221 or the selection output unit 251 sets 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 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, winner units 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の基本構成>
次に、この発明の一実施形態による並列演算装置の第2の基本構成を、図14の概略ブロック図を用いて説明する。図14の概略ブロック図において、図1の第1の基本構成と同一の構成には同一の符号を付けて、その説明を省略する。ここでは、ユニットAU1からAU10の、ユニットの個数が10である場合について説明する。このユニットの詳細については、後述する。
<Second basic configuration>
Next, a second basic configuration of the parallel arithmetic device according to the embodiment of the present invention will be described with reference to the schematic block diagram of FIG. In the schematic block diagram of FIG. 14, the same components as those of the first basic configuration of FIG. Here, a case where the number of units of units AU1 to AU10 is ten will be described. Details of this unit will be described later.

並列演算装置は、第2の基本構成においては、予め定められた識別番号である固有ユニット番号で識別される複数のユニット(AU1〜AU10)と、この複数のユニットの中のいずれか1つのユニットが出力する出力値がユニット出力バス2を介して入力されたことに応じて、該入力された入力値と複数のユニットの中から選択したいずれか1つのユニットを識別する識別番号である選択ユニット番号とを含む制御データを、複数のユニットのそれぞれにユニット入力バス3を介して出力する分配制御部8と、を有する。なお、この制御データには、入力値と、選択ユニット番号と、ユニットの演算方法または制御方法を選択するための制御コードとを含む。   In the second basic configuration, the parallel arithmetic device has a plurality of units (AU1 to AU10) identified by unique unit numbers that are predetermined identification numbers, and any one of the plurality of units. Is a selection unit that is an identification number for identifying any one unit selected from the inputted input value and a plurality of units in response to the output value output by the unit being input via the unit output bus 2 And a distribution control unit 8 that outputs control data including a number to each of the plurality of units via the unit input bus 3. The control data includes an input value, a selected unit number, and a control code for selecting a unit calculation method or control method.

次に、図15を用いて、各ユニットの構成について説明する。なお、ユニットAU1からAU10は同一の構成を有するため、ここでは、ユニットAU1の構成のみについて説明する。ユニットAU1は、データ入力部11Aと、データ出力部14Aと、ユニット演算部15Aと、ユニット出力記憶部16Aと、制御コード抽出部17Aと、入力値抽出部18Aと、ユニット番号抽出部19Aと、ユニット番号一致判定部20Aと、固有ユニット番号記憶部21Aと、を有する。   Next, the configuration of each unit will be described with reference to FIG. Since units AU1 to AU10 have the same configuration, only the configuration of unit AU1 will be described here. The unit AU1 includes a data input unit 11A, a data output unit 14A, a unit calculation unit 15A, a unit output storage unit 16A, a control code extraction unit 17A, an input value extraction unit 18A, a unit number extraction unit 19A, It has a unit number coincidence determination unit 20A and a unique unit number storage unit 21A.

固有ユニット番号記憶部21Aには、それぞれのユニットを識別するための識別番号である固有ユニット番号が予め記憶されている。ユニット出力記憶部16Aには、ユニット演算部15Aが演算した結果である演算結果が記憶される。データ入力部11Aは、ユニット入力バス3を介して分配制御部8からの制御データを入力する。入力値抽出部18Aは、データ入力部11Aに入力された制御データから入力値を抽出する。選択ユニット番号抽出部19Aは、データ入力部11Aに入力された制御データから選択ユニット番号を抽出する。制御コード抽出部17Aは、データ入力部11Aに入力された制御データから制御コードを抽出する。   The unique unit number storage unit 21A stores in advance a unique unit number that is an identification number for identifying each unit. The unit output storage unit 16A stores a calculation result that is a result of calculation by the unit calculation unit 15A. The data input unit 11A inputs control data from the distribution control unit 8 via the unit input bus 3. The input value extraction unit 18A extracts an input value from the control data input to the data input unit 11A. The selected unit number extraction unit 19A extracts the selected unit number from the control data input to the data input unit 11A. The control code extraction unit 17A extracts a control code from the control data input to the data input unit 11A.

ユニット番号一致判定部20Aは、データ入力部11Aに入力された制御データに含まれる出力ユニット番号と、固有ユニット番号とが一致するか否かを判定する。このユニット番号一致判定部20Aは、選択ユニット番号抽出部19Aが抽出した選択ユニット番号と、固有ユニット番号記憶部21Aから読み出した固有ユニット番号とが一致するか否かを判定する。   The unit number match determination unit 20A determines whether or not the output unit number included in the control data input to the data input unit 11A matches the unique unit number. The unit number match determination unit 20A determines whether the selected unit number extracted by the selected unit number extraction unit 19A matches the unique unit number read from the unique unit number storage unit 21A.

ユニット演算部15Aは、データ入力部11Aに入力された制御データに含まれる入力値に基づいて、ユニット毎に予め定められた演算方法により演算する。このユニット演算部15Aは、入力値抽出部18Aが抽出した入力値に基づいて、ユニット毎に予め定められた演算方法により演算する。また、このユニット演算部15Aは、予め定められた演算方法から、制御コード抽出部17Aが抽出した制御コードに基づいて、演算方法を選択し、該選択した演算方法により演算する。また、ユニット演算部15Aは、演算した結果である演算結果をユニット出力記憶部16Aに記憶させる。   The unit calculation unit 15A calculates by a calculation method predetermined for each unit based on the input value included in the control data input to the data input unit 11A. This unit calculation unit 15A calculates by a calculation method predetermined for each unit based on the input value extracted by the input value extraction unit 18A. The unit calculation unit 15A selects a calculation method from a predetermined calculation method based on the control code extracted by the control code extraction unit 17A, and performs the calculation using the selected calculation method. Further, the unit calculation unit 15A stores the calculation result that is the calculation result in the unit output storage unit 16A.

データ出力部14Aは、ユニット番号一致判定部20Aが判定した結果が一致である場合には、ユニット演算部15Aが演算した結果である演算結果を出力値として、分配制御部8にユニット出力バス2を介して出力する。また、データ出力部14Aは、ユニット番号一致判定部20Aが判定した結果が一致である場合には、演算結果をユニット出力記憶部16Aから読み出し、該読み出した演算結果を出力値として分配制御部8にユニット出力バス2を介して出力する。   When the result determined by the unit number coincidence determination unit 20A is coincident, the data output unit 14A uses the operation result obtained by the unit operation unit 15A as an output value as an output value, and sends the unit output bus 2 to the distribution control unit 8. Output via. In addition, when the result determined by the unit number coincidence determination unit 20A is coincident, the data output unit 14A reads the calculation result from the unit output storage unit 16A, and uses the read calculation result as an output value as the distribution control unit 8 Are output via the unit output bus 2.

次に、図16を用いて、分配制御部8の構成を説明する。分配制御部8は、ユニット出力値入力部31と、制御データ生成部32と、制御データ出力部33と、処理手順記憶部34と、を有する。ユニット出力値入力部31は、ユニット出力バス2を介して複数のユニットの中のいずれか1つのユニットが出力する出力値を入力する。制御データ生成部32は、ユニット出力値入力部31に入力された出力値に基づいて、予め定められた処理手順により制御データを生成する。制御データ出力部33は、制御データ生成部32が生成した制御データを複数のユニットのそれぞれにユニット入力バス3を介して出力する。なお、この制御データ出力部33は、出力する制御データを、電気的に増幅する増幅器を、その内部に有していてもよい。   Next, the configuration of the distribution control unit 8 will be described with reference to FIG. The distribution control unit 8 includes a unit output value input unit 31, a control data generation unit 32, a control data output unit 33, and a processing procedure storage unit 34. The unit output value input unit 31 inputs an output value output from any one of the plurality of units via the unit output bus 2. The control data generation unit 32 generates control data by a predetermined processing procedure based on the output value input to the unit output value input unit 31. The control data output unit 33 outputs the control data generated by the control data generation unit 32 to each of the plurality of units via the unit input bus 3. The control data output unit 33 may include an amplifier that electrically amplifies the control data to be output.

また、処理手順記憶部34には、演算を実行する処理手順が予め記憶されている。制御データ生成部32は、処理手順を処理手順記憶部34から順に読み出すことにより、また、必要であれば読み出した処理手順にユニット出力値入力部31に入力された出力値を挿入することにより、予め定められた処理手順により制御データを生成する。   Further, the processing procedure storage unit 34 stores in advance processing procedures for executing calculations. The control data generation unit 32 sequentially reads out the processing procedure from the processing procedure storage unit 34, and if necessary, inserts the output value input to the unit output value input unit 31 into the read processing procedure. Control data is generated by a predetermined processing procedure.

ここで、分配制御部8の制御データ生成部32は、ユニット出力値入力部31に出力値が入力されたことに応じて、または、制御データ出力部33が制御データを出力してから予め定められた一定時間の経過後に、制御データを生成する。そのため、分配制御部8、より詳しくは、分配制御部8の制御データ出力部33は、ユニット出力値入力部31に出力値が入力されたことに応じて、または、制御データ出力部33が制御データを出力してから予め定められた一定時間の経過後に、制御データを出力する。   Here, the control data generation unit 32 of the distribution control unit 8 determines in advance in response to the output value being input to the unit output value input unit 31 or after the control data output unit 33 outputs the control data. Control data is generated after a predetermined time has elapsed. Therefore, the distribution control unit 8, more specifically, the control data output unit 33 of the distribution control unit 8 is controlled by the control data output unit 33 in response to the output value being input to the unit output value input unit 31. The control data is output after a predetermined time has elapsed since the data was output.

また、分配制御部8は、入力端子P2を介して外部から初期値などのデータである入力値を入力され、入力された入力値を各ユニットにユニット入力バス3を介して設定することにより、各ユニットを用いた並列演算を実行する。また、分配制御部8は、各ユニットが演算した演算結果を、各ユニットからユニット出力バス2を介して入力され、該入力された演算結果を外部に出力端子P1を介して出力する。なお、ここでいう外部とは、並列演算装置の外部にある制御装置やコンピュータである。   Further, the distribution control unit 8 receives an input value which is data such as an initial value from the outside via the input terminal P2, and sets the input value to be input to each unit via the unit input bus 3. Execute parallel operations using each unit. In addition, the distribution control unit 8 receives the calculation result calculated by each unit from the unit via the unit output bus 2, and outputs the input calculation result to the outside via the output terminal P1. The term “external” as used herein refers to a control device or a computer outside the parallel arithmetic device.

図14から図16を用いて説明した並列演算装置の第2の基本構成においては、分配制御部8が制御データにより各ユニットを制御するために、図1に示す並列演算装置の第1の基本構成と比較して、各ユニットでの処理が簡易となり、また、各ユニット間をデイジーチェーン順序で接続していたデイジーチェーン制御バス1が不要となる効果を奏する。   In the second basic configuration of the parallel arithmetic device described with reference to FIGS. 14 to 16, since the distribution control unit 8 controls each unit with control data, the first basic of the parallel arithmetic device shown in FIG. Compared to the configuration, the processing in each unit is simplified, and the daisy chain control bus 1 in which the units are connected in the daisy chain order is not required.

<第3の実施形態>
<階層型ニューラルネットワークに適応した場合のユニットの構成>
次に、第2の基本構成による並列演算装置を、階層型ニューラルネットワークに適応した場合の構成について説明する。階層型ニューラルネットワークにおいても並列演算装置全体の構成は、図14の並列演算装置の構成と同一であり、ユニットの構成のみが異なる。従って、図17を用いて、階層型ニューラルネットワークに適応した場合のユニットの構成のみについて説明する。
<Third Embodiment>
<Unit configuration when applied to hierarchical neural network>
Next, a configuration when the parallel arithmetic device according to the second basic configuration 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 the configuration of the parallel arithmetic device in FIG. Accordingly, only the configuration of the unit when applied to the hierarchical neural network will be described with reference to FIG.

ユニットは、データ入力部101Aと、データ出力部104Aと、重み記憶部130と、積和計算一次値記憶部131と、層情報記憶部133と、関数記憶部132と、ユニット出力記憶部135Aと、前段ユニット出力記憶部138Bと、前段ユニット番号記憶部139Bと、選択ユニット番号記憶部141Bと、固有ユニット番号記憶部140Bと、を有する。また、ユニットは、積和計算一次値算出部111Aと、ユニット出力算出部112Aと、比較部115Bと、ユニット制御部116Bと、ファンクション番号抽出部150Bと、ファンクション番号記憶部151Bと、オペランド抽出部152Bと、汎用バッファー記憶部153Bと、を有する。   The unit includes a data input unit 101A, a data output unit 104A, a weight storage unit 130, a product-sum calculation primary value storage unit 131, a layer information storage unit 133, a function storage unit 132, and a unit output storage unit 135A. A preceding unit output storage unit 138B, a preceding unit number storage unit 139B, a selected unit number storage unit 141B, and a unique unit number storage unit 140B. The unit includes a product-sum calculation primary value calculation unit 111A, a unit output calculation unit 112A, a comparison unit 115B, a unit control unit 116B, a function number extraction unit 150B, a function number storage unit 151B, and an operand extraction unit. 152B and a general-purpose buffer storage unit 153B.

ここで、図17のデータ入力部101A、データ出力部104A、ユニット出力記憶部135Aは、図15のデータ入力部11A、データ出力部14A、ユニット出力記憶部16Aに、それぞれ対応する。また、図17の固有ユニット番号記憶部140B、比較部115Aが、図15の固有ユニット番号記憶部21A、ユニット番号一致判定部20Aに、それぞれ対応する。これらの図17と図15とにおいて対応する構成について、共通の機能については、その説明を省略する。   Here, the data input unit 101A, the data output unit 104A, and the unit output storage unit 135A in FIG. 17 respectively correspond to the data input unit 11A, the data output unit 14A, and the unit output storage unit 16A in FIG. Also, the unique unit number storage unit 140B and the comparison unit 115A in FIG. 17 respectively correspond to the unique unit number storage unit 21A and the unit number match determination unit 20A in FIG. Descriptions of common functions in the configurations corresponding to those in FIGS. 17 and 15 are omitted.

また、図17のファンクション番号抽出部150Bとファンクション番号記憶部151Bとが図15の制御コード抽出部17Aに対応する。また、図17のオペランド抽出部152Bと汎用バッファー記憶部153Bとが、図15の入力値抽出部18Aまたは選択ユニット番号抽出部19Aに対応する。   Further, the function number extraction unit 150B and the function number storage unit 151B in FIG. 17 correspond to the control code extraction unit 17A in FIG. Further, the operand extraction unit 152B and the general-purpose buffer storage unit 153B in FIG. 17 correspond to the input value extraction unit 18A or the selection unit number extraction unit 19A in FIG.

また、図17の重み記憶部130と、層情報記憶部133と、積和計算一次値記憶部131と、関数記憶部132と、積和計算一次値算出部111Aと、ユニット出力算出部112Aと、前段ユニット番号記憶部139Bとが、図15のユニット演算部15Aに対応する。   Also, the weight storage unit 130, the layer information storage unit 133, the product-sum calculation primary value storage unit 131, the function storage unit 132, the product-sum calculation primary value calculation unit 111A, and the unit output calculation unit 112A illustrated in FIG. The preceding unit number storage unit 139B corresponds to the unit calculation unit 15A in FIG.

また、図17の構成において、図3の第1の基本構成における階層型ニューラルネットワークに適応した場合の並列演算装置のユニットの構成と同様の構成には、同一の符号、または、同一の符号に符号Aを付した符号を付け、その説明を省略する。   In the configuration of FIG. 17, the same reference numerals or the same reference numerals are used for the same configuration as the configuration of the units of the parallel arithmetic unit when applied to the hierarchical neural network in the first basic configuration of FIG. 3. The code | symbol which attached | subjected code | symbol A is attached, and the description is abbreviate | omitted.

<第3の実施形態におけるユニットの各構成の説明>
ファンクション番号記憶部151Bには、制御データに含まれる制御コード(ファンクション番号)が記憶される。汎用バッファー記憶部153Bには、制御データに含まれる制御コードA(ファンクション番号)以外の情報、例えば、後述する選択ユニット番号B、出力値C、配信層情報D、または、配信ユニット識別情報Eが記憶される。以降において、制御データに含まれる制御コードA(ファンクション番号)以外の情報、例えば、後述する選択ユニット番号B、出力値C、配信層情報D、または、配信ユニット識別情報Eを汎用データとして説明する。この制御データの詳細については、図18を用いて後述する。
<Description of Each Configuration of Unit in Third Embodiment>
The function number storage unit 151B stores a control code (function number) included in the control data. In the general-purpose buffer storage unit 153B, information other than the control code A (function number) included in the control data, for example, a selection unit number B, an output value C, distribution layer information D, or distribution unit identification information E described later is stored. Remembered. Hereinafter, information other than the control code A (function number) included in the control data, for example, a selection unit number B, an output value C, distribution layer information D, or distribution unit identification information E described later will be described as general-purpose data. . Details of the control data will be described later with reference to FIG.

ファンクション番号抽出部150Bは、データ入力部101Aに入力された制御データに含まれる制御コードを抽出し、抽出した制御コードをファンクション番号記憶部151Bに記憶させる。オペランド抽出部152Bは、データ入力部101Aに入力された制御データに含まれる汎用データを抽出し、抽出した汎用データを汎用バッファー記憶部153Bに記憶させる。   The function number extraction unit 150B extracts the control code included in the control data input to the data input unit 101A, and stores the extracted control code in the function number storage unit 151B. The operand extraction unit 152B extracts general-purpose data included in the control data input to the data input unit 101A, and stores the extracted general-purpose data in the general-purpose buffer storage unit 153B.

ユニット制御部116Bは、データ入力部101Aに入力された制御データと比較部115Bが判定した結果とに基づいて、処理を実行する、または、予め定められた処理部の中から選択的に処理を実行させる。このデータ入力部101Aに入力された制御データとは、ファンクション番号記憶部151Bから読み出した制御コードと、汎用バッファー記憶部153Bから読み出した汎用データとである。   The unit control unit 116B executes processing based on the control data input to the data input unit 101A and the result determined by the comparison unit 115B, or selectively performs processing from among predetermined processing units. Let it run. The control data input to the data input unit 101A is a control code read from the function number storage unit 151B and general-purpose data read from the general-purpose buffer storage unit 153B.

この前記ユニット制御部116Bは、データ入力部101Aに入力された制御データに含まれる制御コードが、積和計算一次値を初期化することを示す場合には、積和計算一次値記憶部131に記憶されている積和計算一次値情報の値を0に初期化する。   When the control code included in the control data input to the data input unit 101A indicates that the unit-sum calculation primary value is to be initialized, the unit control unit 116B stores the product-sum calculation primary value storage unit 131. The value of the stored product-sum calculation primary value information is initialized to zero.

またユニット制御部116Bは、データ入力部101Aに入力された制御データに含まれる制御コードが、積和計算一次値を算出し加算格納することを示し、該制御データが出力値と該出力値を出力しているユニットのユニット識別情報である配信ユニット識別情報とを含む場合には、配信ユニット識別情報を前段ユニット出力記憶部138Bに記憶し、出力値に基づいて積和計算一次値算出部111Aを用いて処理を選択的に実行する。   Further, the unit control unit 116B indicates that the control code included in the control data input to the data input unit 101A calculates a product-sum calculation primary value and adds and stores the result, and the control data outputs the output value and the output value. When the distribution unit identification information that is the unit identification information of the unit that is outputting is included, the distribution unit identification information is stored in the preceding unit output storage unit 138B, and the product-sum calculation primary value calculation unit 111A based on the output value The process is selectively executed using.

また、ユニット制御部116Bは、データ入力部101Aに入力された制御データに含まれる制御コードがユニット出力演算を実行することを示す場合には、ユニット出力算出部112Aを用いて処理を選択的に実行する。   In addition, when the control code included in the control data input to the data input unit 101A indicates that the unit output calculation is executed, the unit control unit 116B selectively performs processing using the unit output calculation unit 112A. Execute.

また、ユニット制御部116Bは、データ入力部101Aに入力された制御データに含まれる制御コードがアクティブなユニットとして出力値を出力することを示し、該制御データが選択ユニット番号を含む場合であり、かつ、比較部115B(ユニット番号一致判定部)が判定した結果が一致である場合には、データ出力部104Aの処理を用いて処理を選択的に実行し、演算結果をユニット出力記憶部135Aから読み出し、該読み出した演算結果を出力値として分配制御部8にデータ出力部104Aとユニット出力バス2とを介して出力する。   The unit control unit 116B indicates that the control code included in the control data input to the data input unit 101A outputs an output value as an active unit, and the control data includes a selected unit number. In addition, when the result determined by the comparison unit 115B (unit number match determination unit) is a match, the process is selectively executed using the process of the data output unit 104A, and the calculation result is sent from the unit output storage unit 135A. The read calculation result is output as an output value to the distribution control unit 8 via the data output unit 104A and the unit output bus 2.

なお、ユニット出力記憶部135Aに層情報と演算結果とが関連付けて記憶されている場合においては、ユニット制御部116Bは、データ入力部101Aに入力された制御データに含まれる制御コードがアクティブなユニットとして出力値を出力することを示し、該制御データが選択ユニット番号を含む場合であり、かつ、比較部115Bが判定した結果が一致である場合には、データ出力部104Aの処理を選択的に実行し、層情報記憶部133から読み出した層情報に該当する演算結果をユニット出力記憶部135Aから読み出し、該読み出した演算結果を出力値として分配制御部8にデータ出力部104Aとユニット出力バス2とを介して出力する。   When the layer information and the operation result are stored in association with each other in the unit output storage unit 135A, the unit control unit 116B is a unit in which the control code included in the control data input to the data input unit 101A is active. When the control data includes the selected unit number and the result of determination by the comparison unit 115B is the same, the processing of the data output unit 104A is selectively performed. The calculation result corresponding to the layer information read from the layer information storage unit 133 is read from the unit output storage unit 135A, and the data output unit 104A and the unit output bus 2 are output to the distribution control unit 8 as output values. And output via.

また、ユニット制御部116Bは、データ入力部101Aに入力された制御データが配信層情報を含む場合には、データ入力部101Aに入力された制御データに含められた配信層情報を層情報記憶部133に記憶する。
詳細には、ユニット制御部116Bは、データ入力部101Aに入力された制御データが配信層情報を含む場合には、データ入力部101Aに入力された制御データから配信層情報を抽出し、抽出した配信層情報を層情報記憶部133に記憶する。また、このユニット制御部116Bは、汎用バッファー記憶部153Bから配信層情報を読み出すことにより、データ入力部101Aに入力された制御データから配信層情報を抽出する。
In addition, when the control data input to the data input unit 101A includes distribution layer information, the unit control unit 116B displays the distribution layer information included in the control data input to the data input unit 101A as a layer information storage unit. 133 to store.
Specifically, when the control data input to the data input unit 101A includes distribution layer information, the unit control unit 116B extracts and extracts distribution layer information from the control data input to the data input unit 101A. The distribution layer information is stored in the layer information storage unit 133. Further, the unit control unit 116B extracts the distribution layer information from the control data input to the data input unit 101A by reading the distribution layer information from the general-purpose buffer storage unit 153B.

またユニット制御部116Bは、出力値を出力しているユニットのユニット識別情報である配信ユニット識別情報を、データ入力部101Aに入力された制御データが含む場合には、データ入力部101Aに入力された制御データに含められた配信ユニット識別情報を前段ユニット出力記憶部138Bに記憶する。
詳細には、ユニット制御部116Bは、出力値を出力しているユニットのユニット識別情報である配信ユニット識別情報を、データ入力部101Aに入力された制御データが含む場合には、データ入力部101Aに入力された制御データから配信ユニット識別情報を抽出し、抽出した配信ユニット識別情報をユニット番号記憶部139Bに記憶する。また、このユニット制御部116Bは、汎用バッファー記憶部153Bから配信ユニット識別情報を読み出すことにより、データ入力部101Aに入力された制御データから配信ユニット識別情報を抽出する。
In addition, the unit control unit 116B inputs the distribution unit identification information, which is the unit identification information of the unit outputting the output value, into the data input unit 101A when the control data input to the data input unit 101A includes the distribution unit identification information. The distribution unit identification information included in the control data is stored in the preceding unit output storage unit 138B.
Specifically, the unit control unit 116B, when the control data input to the data input unit 101A includes distribution unit identification information that is unit identification information of a unit that outputs an output value, the data input unit 101A. The distribution unit identification information is extracted from the control data input to, and the extracted distribution unit identification information is stored in the unit number storage unit 139B. In addition, the unit control unit 116B extracts the distribution unit identification information from the control data input to the data input unit 101A by reading the distribution unit identification information from the general-purpose buffer storage unit 153B.

積和計算一次値算出部111Aは、ユニット制御部116Bの選択に応じて、層情報記憶部133から読み出した層情報に該当する結合荷重を重み記憶部130から読み出し、該読み出した結合荷重と、データ入力部101Aに入力された入力値とを乗算し、該乗算した値を積和計算一次値記憶部131に記憶されている積和計算一次値情報に加算して記憶させる。   The product-sum calculation primary value calculation unit 111A reads the combined load corresponding to the layer information read from the layer information storage unit 133 from the weight storage unit 130 according to the selection of the unit control unit 116B, The input value input to the data input unit 101A 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.

また、積和計算一次値算出部111Aは、ユニット制御部116Bの選択に応じて、前段ユニット出力記憶部138Bから読み出したユニット識別情報と層情報記憶部133から読み出した層情報とに該当する結合荷重を重み記憶部130から読み出し、該読み出した結合荷重と、データ入力部101Aに入力された入力値とを乗算し、該乗算した値を前記積和計算一次値記憶部131に記憶されている積和計算一次値情報に加算して記憶させる。   Further, the product-sum calculation primary value calculation unit 111A combines the unit identification information read from the previous unit output storage unit 138B and the layer information read from the layer information storage unit 133 according to the selection of the unit control unit 116B. The load is read from the weight storage unit 130, the read combined load is multiplied by the input value input to the data input unit 101A, and the multiplied value is stored in the product-sum calculation primary value storage unit 131. It is added to the product-sum calculation primary value information and stored.

ユニット出力算出部112Aは、ユニット制御部116Bの選択に応じて、積和計算一次値記憶部131から積和計算一次値情報を読み出し、層情報記憶部133から読み出した層情報に該当する出力関数を関数記憶部132から読み出し、該読み出した出力関数に読み出した積和計算一次値情報を代入することにより出力値を算出し、該算出した出力値をユニット出力記憶部135Aに記憶させる。また、ユニット出力算出部112Aは、この算出した出力値をユニット出力記憶部135Aに記憶させるときに、層情報記憶部133から読み出した層情報と関連付けて、この算出した出力値を前記ユニット出力記憶部135Aに記憶させる。   The unit output calculation unit 112A reads the product-sum calculation primary value information from the product-sum calculation primary value storage unit 131 according to the selection of the unit control unit 116B, and outputs an output function corresponding to the layer information read from the layer information storage unit 133 Is calculated from the function storage unit 132, the 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 135A. Further, when the unit output calculation unit 112A stores the calculated output value in the unit output storage unit 135A, the unit output calculation unit 112A associates the calculated output value with the layer information read from the layer information storage unit 133, and stores the calculated output value in the unit output storage unit. Store in unit 135A.

<第3の実施形態における制御データのプロトコル>
次に、図18を用いて、一例としての制御データのプロトコルについて説明する。この制御データは、制御コードAと、選択ユニット番号Bと、出力値Cとを含み、更に、配信層情報Dと、配信ユニット識別情報Eと、を含む。この配信層情報Dとは、出力値Cを出力しているユニットの層情報であり、また、配信ユニット識別情報Eとは、出力値Cを出力しているユニットのユニット識別情報である。この制御コードのプロトコルは、制御コードの値により、次に示すように予め定められている。
<Protocol of Control Data in Third Embodiment>
Next, a control data protocol as an example will be described with reference to FIG. The control data includes a control code A, a selection unit number B, and an output value C, and further includes distribution layer information D and distribution unit identification information E. The distribution layer information D is layer information of a unit that outputs an output value C, and the distribution unit identification information E is unit identification information of a unit that outputs an output value C. The protocol of this control code is determined in advance as follows according to the value of the control code.

<選択処理0>
制御データに含まれる制御コードAの値が“0”であり、“積和計算一次値を初期化する”ことを示す制御コードである場合には、この制御データは、他の情報(汎用データ)を含んでいない。この制御コードAの値が“0”である制御データを受信した全てのユニットは、積和計算一次値算出部111Aに記憶されている積和計算一次値の値を0に初期化する。
<Selection process 0>
When the value of the control code A included in the control data is “0” and is a control code indicating “initialize the product-sum calculation primary value”, the control data contains other information (general data ) Is not included. All units that have received the control data whose control code A value is “0” initialize the value of the product-sum calculation primary value stored in the product-sum calculation primary value calculation unit 111A to 0.

<選択処理1>
また、制御データに含まれる制御コードAの値が“1”であり、“積和計算一次値を算出し加算格納する”ことを示す制御コードである場合には、この制御データは、出力値Cと、配信層情報Dと、配信ユニット識別情報Eと、を含む。この制御コードAの値が1である制御データを受信した全てのユニットは、層情報lを配信層情報Dとし、ユニット識別情報iを配信ユニット識別情報Eとし、入力値の値を出力値Cとして、積和計算一次値を算出する。
<Selection process 1>
In addition, when the value of the control code A included in the control data is “1” and the control code indicates that “the product-sum calculation primary value is calculated and added and stored”, the control data is an output value. C, distribution layer information D, and distribution unit identification information E. All the units that have received the control data whose control code A value is 1 have the layer information l as the distribution layer information D, the unit identification information i as the distribution unit identification information E, and the input value as the output value C. As a result, a product-sum calculation primary value is calculated.

<選択処理2>
また、制御データに含まれる制御コードAの値が“2”であり、“ユニット出力演算を実行する”ことを示す制御コードである場合には、この制御データは、配信層情報Dを含む。この制御コードAの値が“2”である制御データを受信した全てのユニットは、層情報lを配信層情報Dとして、ユニット出力演算を実行し、実行した演算結果を出力値として層情報lと関連付けてユニット出力記憶部135Aに格納する。
<Selection process 2>
Further, when the value of the control code A included in the control data is “2” and the control code indicates that “unit output calculation is executed”, the control data includes the distribution layer information D. All the units that have received the control data whose control code A value is “2” execute the unit output calculation using the layer information l as the distribution layer information D, and the layer information l using the executed calculation result as the output value. And stored in the unit output storage unit 135A.

<選択処理3>
また、制御データに含まれる制御コードAの値が“3”であり、“アクティブなユニットとして出力値を出力する”ことを示す制御コードである場合には、制御データは、選択ユニット番号Bと配信層情報Dとを含む。この制御コードAの値が“3”である制御データを受信した全てのユニットは、受信した制御データに含まれる選択ユニット番号Bが、自身のユニットが有する固有ユニット番号Iと一致するか否かを判定し、判定した結果が一致する場合には、層情報lを配信層情報Dの値とし、この層情報lに該当するユニット出力記憶部135Aから読み出した出力値を出力する。
<Selection process 3>
When the value of the control code A included in the control data is “3” and the control code indicates that “output value is output as an active unit”, the control data includes the selected unit number B and Distribution layer information D. Whether all units that have received control data whose control code A value is “3” indicates whether or not the selected unit number B included in the received control data matches the unique unit number I of its own unit If the determined results match, the layer information l is set as the value of the distribution layer information D, and the output value read from the unit output storage unit 135A corresponding to the layer information l is output.

この図18の制御データのプロトコルに基づいて、分配制御部9は、積和計算一次値を初期化することを示す制御コード、出力値と配信ユニット識別情報とを含み、積和計算一次値を算出し加算格納することを示す制御コード、ユニット出力演算を実行することを示す制御コード、アクティブなユニットとして出力値を出力することを示す制御コード、または、前記配信層情報を含む制御データを、階層型ニューラルネットワークの階層数と該階層のノード数とに合わせて予め定められた順序で出力する。   Based on the control data protocol of FIG. 18, the distribution control unit 9 includes a control code indicating that the product-sum calculation primary value is initialized, an output value, and distribution unit identification information. A control code indicating that it is calculated and stored, a control code indicating that a unit output operation is executed, a control code indicating that an output value is output as an active unit, or control data including the distribution layer information, Output in a predetermined order according to the number of layers of the hierarchical neural network and the number of nodes in the layer.

<第3の実施形態におけるユニットの動作>
次に、図19を用いて、図18で説明した制御データのプロトコルを受信した場合の、ユニットの動作、特に、ユニットのユニット制御部116の動作について説明する。
まず、ユニットは、データ入力部101Aに制御データが入力されたことに応じて、処理を開始する(ステップS1901)。次に、ファンクション番号抽出部150Bが、データ入力部101Aに入力された制御データから、制御コードを抽出し、抽出した制御コードをファンクション番号記憶部151Bに記憶させる。
<Operation of Unit in Third Embodiment>
Next, the operation of the unit, particularly the operation of the unit control unit 116 of the unit when the control data protocol described in FIG. 18 is received will be described with reference to FIG.
First, the unit starts processing in response to input of control data to the data input unit 101A (step S1901). Next, the function number extraction unit 150B extracts a control code from the control data input to the data input unit 101A, and stores the extracted control code in the function number storage unit 151B.

また、オペランド抽出部152Bが、データ入力部101Aに入力された制御データから、オペランドである制御コード以外の情報、例えば、選択ユニット番号Bと、出力値Cと、配信層情報Dと、配信ユニット識別情報Eとを抽出し、抽出したオペランドを汎用バッファー記憶部153Bに記憶させる。   Further, the operand extraction unit 152B receives information other than the control code that is the operand from the control data input to the data input unit 101A, for example, the selection unit number B, the output value C, the distribution layer information D, and the distribution unit. The identification information E is extracted, and the extracted operand is stored in the general-purpose buffer storage unit 153B.

次に、ユニット制御部116Bが、ファンクション番号抽出部150Bが制御コードを抽出したことに応じて、ファンクション番号記憶部151Bから読み出した制御コードの値に基づいて、以降に説明するステップS1902からステップS1908により、ユニットにおける処理を選択的に実行する。   Next, based on the value of the control code read from the function number storage unit 151B, the unit control unit 116B extracts the control code from the function number extraction unit 150B, and will be described below from step S1902 to step S1908. Thus, the processing in the unit is selectively executed.

まず、ユニット制御部116Bは、読み出した制御コードAの値が“0”であるか否かを判定する(ステップS1902)。ステップS1902の判定結果が、読み出した制御コードAの値が“0”である場合には、ユニット制御部116Bは、上記に説明した選択処理0を実行し(ステップS1903)、処理を終了する。   First, the unit controller 116B determines whether or not the value of the read control code A is “0” (step S1902). If the determination result in step S1902 is that the value of the read control code A is “0”, the unit control unit 116B executes the selection process 0 described above (step S1903) and ends the process.

一方、ステップS1902の判定結果が、読み出した制御コードAの値が“0”でない場合には、ユニット制御部116Bは、読み出した制御コードAの値が“1”であるか否かを判定する(ステップS1904)。ステップS1904の判定結果が、読み出した制御コードAの値が“1”である場合には、ユニット制御部116Bは、上記に説明した選択処理1を実行し(ステップS1905)、処理を終了する。   On the other hand, if the determination result of step S1902 is that the value of the read control code A is not “0”, the unit control unit 116B determines whether the value of the read control code A is “1”. (Step S1904). If the determination result of step S1904 is that the value of the read control code A is “1”, the unit control unit 116B executes the selection process 1 described above (step S1905) and ends the process.

一方、ステップS1904の判定結果が、読み出した制御コードAの値が“1”でない場合には、ユニット制御部116Bは、読み出した制御コードAの値が“2”であるか否かを判定する(ステップS1905)。ステップS1905の判定結果が、読み出した制御コードAの値が“2”である場合には、ユニット制御部116Bは、上記に説明した選択処理2を実行し(ステップS1906)、処理を終了する。   On the other hand, if the determination result of step S1904 is that the value of the read control code A is not “1”, the unit control unit 116B determines whether the value of the read control code A is “2”. (Step S1905). If the determination result of step S1905 is that the value of the read control code A is “2”, the unit control unit 116B executes the selection process 2 described above (step S1906) and ends the process.

一方、ステップS1905の判定結果が、読み出した制御コードAの値が“2”でない場合には、つまり、読み出した制御コードAの値が“3”である場合には、比較部115Bが、選択ユニット番号記憶部141Bから読み出した選択ユニット番号と固有ユニット番号記憶部140Bから読み出した固有ユニット番号とが一致するか否かを判定する(ステップS1907)。ステップS1907の判定結果が、選択ユニット番号と固有ユニット番号とが一致する場合には、ユニット制御部116Bは、上記に説明した選択処理3を実行し(ステップS1908)、処理を終了する。一方、ステップS1907の判定結果が、選択ユニット番号と固有ユニット番号とが一致しない場合には、処理を終了する。   On the other hand, if the determination result of step S1905 indicates that the value of the read control code A is not “2”, that is, if the value of the read control code A is “3”, the comparison unit 115B selects It is determined whether or not the selected unit number read from the unit number storage unit 141B matches the unique unit number read from the unique unit number storage unit 140B (step S1907). If the result of determination in step S1907 indicates that the selected unit number and the unique unit number match, the unit control unit 116B executes the selection process 3 described above (step S1908) and ends the process. On the other hand, if the determination result in step S1907 indicates that the selected unit number does not match the unique unit number, the process ends.

<第3の実施形態における分配制御部8の動作>
次に、図20と図21とを用いて、第2の基本構成による並列演算装置を階層型ニューラルネットワークに適応した場合の分配制御部8の動作について説明する。なお、分配制御部8が出力した制御データに含まれる制御コードの値に応じた各ユニットの動作については、図17から図19を用いて既に説明したので、ここでは、分配制御部8の動作のみについて説明する。なお、ここでも図6の階層型ニューラルネットワークに、第2の基本構成による並列演算装置を適応した場合について説明する。
<Operation of Distribution Control Unit 8 in Third Embodiment>
Next, the operation of the distribution control unit 8 when the parallel arithmetic device having the second basic configuration is applied to a hierarchical neural network will be described with reference to FIGS. Since the operation of each unit according to the value of the control code included in the control data output by the distribution control unit 8 has already been described with reference to FIGS. 17 to 19, the operation of the distribution control unit 8 is here described. Only that will be described. Here, the case where the parallel arithmetic device having the second basic configuration is applied to the hierarchical neural network of FIG. 6 will be described.

まず、図20(a)を用いて、階層型ニューラルネットワークに適応した場合における、分配制御部8の動作概要について説明する。まず、各ユニットの初期設定(初期化)をする(ステップS2001)。次に、外部から入力端子P2を介して入力層L1のノード用の入力データ(パターン入力)である入力の指示を受けて、受けた入力を、中間層(隠れ層)L2のノードとしての各ユニットに、分配制御部8が入力層L1として、分配することにより、各ユニットを用いて中間層L2の積和計算を並列に実行する(ステップS2002)。このステップS2002では、分配制御部8が入力層L1のノードとして、中間層L2のノードとなる各ユニットに出力値を出力している。   First, an outline of the operation of the distribution control unit 8 when applied to a hierarchical neural network will be described with reference to FIG. First, initial setting (initialization) of each unit is performed (step S2001). Next, in response to an input instruction which is input data (pattern input) for the node of the input layer L1 from the outside via the input terminal P2, each input as each node of the intermediate layer (hidden layer) L2 is received. When the distribution control unit 8 distributes the units as the input layer L1, the product-sum calculation of the intermediate layer L2 is executed in parallel using each unit (step S2002). In step S2002, the distribution control unit 8 outputs an output value to each unit serving as a node of the intermediate layer L2 as a node of the input layer L1.

次に、階層型ニューラルネットワークの全ての中間層(層情報カウンタ変数l=2、・・・L+1)について、中間層積和計算(ステップS2004)の処理を繰り返す(ステップL2002からステップL2005の層ループ処理)。ここで、Lは、中間層の総数(中間層総数)の値であり、図6の3階層である階層型ニューラルネットワークにおいては、この中間層総数Lの値は1である。このステップS2004の中間層積和計算は、後に図21(a)を用いて詳述する。   Next, the intermediate layer product sum calculation (step S2004) is repeated for all intermediate layers (layer information counter variable l = 2,..., L + 1) of the hierarchical neural network (layer loop from step L2002 to step L2005). processing). Here, L is the value of the total number of intermediate layers (total number of intermediate layers). In the hierarchical neural network having three layers in FIG. 6, the value of the total number L of intermediate layers is 1. The intermediate layer product sum calculation in step S2004 will be described in detail later with reference to FIG.

このステップL2002からステップL2005の層ループ処理により、階層型ニューラルネットワークの中間層のノードとしての処理が階層型ニューラルネットワークの層において、入力層L1から出力層L3の方向に順に実行され、最終的には、各ユニットには出力層L3としての演算結果の値が記憶される。なお、このステップL2002からステップL2005のループにおいては、いずれか1つのユニットは、出力をする層としてのアクティブなユニットとして機能し、全てのユニットは入力を受ける層のノードとして機能する。   Through the layer loop processing from step L2002 to step L2005, the processing as the intermediate layer node of the hierarchical neural network is executed in order from the input layer L1 to the output layer L3 in the layer of the hierarchical neural network. In each unit, the value of the operation result as the output layer L3 is stored. In the loop from step L2002 to step L2005, any one unit functions as an active unit serving as an output layer, and all units function as nodes in a layer receiving input.

次に、出力層L3のノードとしてのユニットに出力値を、ユニット識別情報で識別されるユニットの順に出力させる(ステップS2006)ことにより、階層型ニューラルネットワークの出力層L3に属するノードとなる全てのユニットからの演算結果を順に受信する。また、この順に受信した演算結果を、入力されたパターン入力に対しての階層型ニューラルネットワーク演算装置の演算結果として、出力端子P1を介して外部に順に出力する。   Next, the output values are output to the units as the nodes of the output layer L3 in the order of the units identified by the unit identification information (step S2006), whereby all the nodes that belong to the output layer L3 of the hierarchical neural network are output. The calculation results from the unit are received in order. In addition, the calculation results received in this order are sequentially output to the outside through the output terminal P1 as the calculation results of the hierarchical neural network calculation device for the input pattern input.

以上のステップS2001からステップS2006の処理により、この並列演算装置は、外部から入力された入力データ(パターン入力)である入力に応じて、階層型ニューラルネットワークの演算を複数のユニットを用いて並列に実行し、この実行した演算結果を、外部に出力することができる。   Through the processing from step S2001 to step S2006, the parallel arithmetic device performs the calculation of the hierarchical neural network in parallel using a plurality of units according to the input which is input data (pattern input) input from the outside. It can be executed and the result of the executed operation can be output to the outside.

次に、図20(b)、図20(c)、図21(a)、および、図21(b)を用いて、図20(a)の各処理について詳細に説明する。なお、ここでは、図20(b)、図20(c)、図21(a)、および、図21(b)の処理を、図20(a)の各処理についての関数またはサブルーチンとして説明する。   Next, each process of FIG. 20A will be described in detail with reference to FIGS. 20B, 20C, 21A, and 21B. Here, the processing of FIG. 20B, FIG. 20C, FIG. 21A, and FIG. 21B will be described as functions or subroutines for each processing of FIG. .

最初に、図20(b)を用いて、図20(a)のステップS2001の処理を詳細に説明する。まず、制御コードAの値を“0”とした制御データを出力し(ステップS20011)、次に、処理を戻す。   First, the process in step S2001 in FIG. 20A will be described in detail with reference to FIG. First, control data with the value of the control code A set to “0” is output (step S20011), and then the process returns.

次に、図20(c)を用いて、図20(a)のステップS2002の処理を詳細に説明する。まず、カウンタ変数iの値を0から、1、2、・・・N(1)まで順次増加させながら、次のステップS20022とステップS20023との処理を繰り返す(ステップL20021とステップL20024の入力ループ)。このN(1)は、層識別情報の値が1である層のノード数の値、つまり、入力層L1のノード数の値である。例えば、図6の階層型ニューラルネットワークにおいては、この入力層L1のノード数の値は3である。 Next, the process in step S2002 in FIG. 20A will be described in detail with reference to FIG. First, the process of the next step S20022 and step S20023 is repeated while sequentially increasing the value of the counter variable i from 0 to 1, 2,... N (1) (input loop of steps L20021 and L20024). . N (1) is the value of the number of nodes in the layer whose layer identification information value is 1, that is, the value of the number of nodes in the input layer L1. For example, in the hierarchical neural network of FIG. 6, the value of the number of nodes in the input layer L1 is 3.

このステップS20022では、パターン入力x (l)を外部から入力する。次に、このステップS20023では、制御コードAの値を“1”とし、出力値Cの値をステップS20022で外部から入力されたパターン入力x (1)とし、配信層情報Dの値をカウンタ変数iとし、配信ユニット識別情報Eの値を1とした制御データを、各ユニットに出力する。
次に、制御コードAの値を“2”とし、配信層情報Dの値を1とした制御データを、各ユニットに出力し(ステップS20025)、処理を戻す。
In step S20022, pattern input x i (l) is input from the outside. Next, in step S20023, the value of the control code A is set to “1”, the value of the output value C is set to the pattern input x i (1) input from the outside in step S20022, and the value of the distribution layer information D is counted as a counter. Control data in which the variable i is set to 1 and the value of the distribution unit identification information E is 1 is output to each unit.
Next, control data with the value of the control code A set to “2” and the value of the distribution layer information D set to 1 is output to each unit (step S20025), and the process returns.

次に、図21(a)を用いて、図20(a)のステップS2004の処理を詳細に説明する。まず、カウンタ変数iの値を0から、1、2、・・・N(l)まで順次増加させながら、次のステップS20042からステップS20044の処理を繰り返す(ステップL20041とステップL20045の入力ループ)。このN(l)は、層識別情報の値が層情報カウンタ変数lである層のノード数の値である。 Next, the processing in step S2004 in FIG. 20A will be described in detail with reference to FIG. First, while sequentially increasing the value of the counter variable i from 0 to 1, 2,... N (l) , the processing from the next step S20042 to step S20044 is repeated (input loop of step L20041 and step L20045). N (l) is the value of the number of nodes in the layer whose layer identification information value is the layer information counter variable l.

このステップS20042では、制御コードAの値を“3”とし、選択ユニット番号Bをカウンタ変数iとし、配信層情報Dを層情報カウンタ変数lとした制御データを、各ユニットに出力する。また、このステップS20043では、ステップS20042で出力した選択ユニット番号Bであるカウンタ変数iと固有ユニット番号とが一致したユニットから出力された出力値x (l)を入力する。また、このステップS20044では、制御コードAの値を“2”とし、出力値CをステップS20043でユニットから入力された出力値x (l)とし、配信層情報Dをカウンタ変数iとし、配信ユニット識別情報Eを層情報カウンタ変数lとした制御データを、各ユニットに出力する。
次に、制御コードAの値を“2”とし、配信層情報Dを層情報カウンタ変数lとした制御データを、各ユニットに出力し(ステップS20046)、処理を戻す。
In this step S20042, control data with the value of the control code A set to “3”, the selected unit number B as the counter variable i, and the distribution layer information D as the layer information counter variable l is output to each unit. In step S20043, the output value x i (l) output from the unit in which the counter variable i, which is the selected unit number B output in step S20042, matches the unique unit number is input. In step S20044, the value of the control code A is “2”, the output value C is the output value x i (l) input from the unit in step S20043, the distribution layer information D is the counter variable i, and the distribution is performed. Control data with the unit identification information E as the layer information counter variable l is output to each unit.
Next, control data in which the value of the control code A is “2” and the distribution layer information D is the layer information counter variable l is output to each unit (step S20046), and the process returns.

次に、図21(b)を用いて、図20(a)のステップS2006の処理を詳細に説明する。まず、カウンタ変数iの値を0から、1、2、・・・N(L+2)まで順次増加させながら、次のステップS20062からステップS20064の処理を繰り返し(ステップL20061とステップL20065の出力ループ)、処理を戻す。このN(L+2)は、層識別情報の値が(中間層総数L+2)である層のノード数の値であり、つまり、出力層L3のノードの数である。例えば、図6の階層型ニューラルネットワークにおいては、この出力層L3のノード数の値は3である。 Next, the processing in step S2006 in FIG. 20A will be described in detail with reference to FIG. First, while sequentially increasing the value of the counter variable i from 0 to 1, 2,... N (L + 2) , the processing from the next step S20062 to step S20064 is repeated (the output loop of step L20061 and step L20065). Return processing. N (L + 2) is the value of the number of nodes in the layer whose layer identification information value is (intermediate layer total number L + 2), that is, the number of nodes in the output layer L3. For example, in the hierarchical neural network of FIG. 6, the value of the number of nodes of the output layer L3 is 3.

このステップS20062では、制御コードAの値を“3”とし、選択ユニット番号Bをカウンタ変数iとし、配信層情報Dを(中間層総数L+2)とした制御データを、各ユニットに出力する。また、このステップS20063では、ステップS20062で出力した選択ユニット番号Bであるカウンタ変数iと固有ユニット番号とが一致したユニットから出力された出力値x (L+2)を入力する。また、このステップS20064では、ステップS20063でユニットから入力された出力値x (L+2)を、出力端子P1を介して外部に出力する。 In this step S20062, control data in which the value of the control code A is “3”, the selected unit number B is the counter variable i, and the distribution layer information D is (intermediate layer total number L + 2) is output to each unit. In step S20063, the output value x i (L + 2) output from the unit in which the counter variable i, which is the selected unit number B output in step S20062, matches the unique unit number is input. In step S20064, the output value x i (L + 2) input from the unit in step S20063 is output to the outside via the output terminal P1.

以上の処理により、この第3の実施形態による階層型ニューラルネットワークに適応した場合の並列演算装置は、第1の実施形態による階層型ニューラルネットワークに適応した場合の並列演算装置と同様に、階層型ニューラルネットワークを実行することができ、また、第1の実施形態による階層型ニューラルネットワークと同様の効果を奏することが可能である。   As a result of the above processing, the parallel computing device when applied to the hierarchical neural network according to the third embodiment is similar to the hierarchical computing device adapted to the hierarchical neural network according to the first embodiment. A neural network can be executed, and the same effects as the hierarchical neural network according to the first embodiment can be obtained.

<第4の実施形態>
<自己組織化マップに適応した場合のユニットの構成>
次に、第2の基本構成による並列演算装置を、自己組織化マップに適応した場合の構成について説明する。自己組織化マップにおいても並列演算装置全体の構成は、図14の並列演算装置の構成と同一であり、ユニットの構成のみが異なる。従って、図22を用いて、自己組織化マップに適応した場合のユニットの構成のみについて説明する。
<Fourth Embodiment>
<Unit structure when adapted to the self-organizing map>
Next, a configuration when the parallel arithmetic device according to the second basic configuration is applied to the self-organizing map will be described. Also in the self-organizing map, the configuration of the entire parallel arithmetic device is the same as the configuration of the parallel arithmetic device in FIG. Accordingly, only the configuration of the unit when applied to the self-organizing map will be described with reference to FIG.

ここで、第1の基本構成における自己組織化マップの並列演算装置においては、最小のノルムを有するユニットの決定は、各ユニットがノルムを算出し、次に、ユニット間でノルムの大小を順に比較していた。これに対して、この第2の基本構成における自己組織化マップの並列演算装置においては、各ユニットがノルムを算出した後に、分配制御部8の制御に基づいて、各ユニットが算出したノルムを順に分配制御部8にユニット出力バス2を介して出力する。次に、分配制御部8が、入力されたノルムの中から最小となるノルムを選択することにより、最小のノルムを有するユニットを決定する。   Here, in the parallel arithmetic unit of the self-organizing map in the first basic configuration, the unit having the minimum norm is determined by each unit calculating the norm, and then the norms are compared in order between the units. Was. On the other hand, in the parallel computing device of the self-organizing map in the second basic configuration, after each unit calculates the norm, the norm calculated by each unit is sequentially changed based on the control of the distribution control unit 8. The data is output to the distribution control unit 8 via the unit output bus 2. Next, the distribution control unit 8 determines a unit having the minimum norm by selecting the minimum norm from the input norms.

また、第1の基本構成における自己組織化マップの並列演算装置においては、各ユニットが、学習回数に関連付けて学習速度と近傍距離とを予め内部の記憶部(学習速度記憶部と近傍距離記憶部)に記憶していた。これに対して第2の基本構成における自己組織化マップの並列演算装置においては、分配制御部8が、内部に有する学習速度記憶部と近傍距離記憶部とに、学習回数に関連付けて学習速度と近傍距離とを記憶する。また、各ユニットは、1つの値の学習速度と近傍距離とを内部の記憶部(学習速度記憶部と近傍距離記憶部)に記憶する。また、分配制御部8が、学習回数に応じて、学習速度記憶部と近傍距離記憶部とを各ユニットに制御データに含めて配信し、各ユニットが、内部の記憶部(学習速度記憶部と近傍距離記憶部)の学習速度記憶部と近傍距離記憶部とを、分配制御部8から受信した制御データに含まれている学習速度記憶部と近傍距離記憶部とに更新する。   Further, in the self-organizing map parallel computation device according to the first basic configuration, each unit associates the learning speed and the neighborhood distance with the number of times of learning in advance in an internal storage unit (learning rate storage unit and neighborhood distance storage unit ) On the other hand, in the parallel computing device of the self-organizing map in the second basic configuration, the distribution control unit 8 associates the learning speed with the learning speed storage unit and the neighborhood distance storage unit included therein in association with the number of learnings. The neighborhood distance is stored. Each unit stores the learning speed and the neighborhood distance of one value in an internal storage unit (learning rate storage unit and neighborhood distance storage unit). In addition, the distribution control unit 8 distributes the learning speed storage unit and the neighborhood distance storage unit included in the control data to each unit according to the number of learning, and each unit has an internal storage unit (learning speed storage unit and The learning speed storage unit and the proximity distance storage unit of the proximity distance storage unit) are updated to the learning speed storage unit and the proximity distance storage unit included in the control data received from the distribution control unit 8.

以上のように、分配制御部8が、学習回数に応じて、学習速度記憶部と近傍距離記憶部とを各ユニットに制御データに含めて配信するようにすることにより、全てのユニットが学習回数に関連付けて学習速度と近傍距離とを予め内部の記憶部しておく必要がなくなるという効果を奏する。また、例えば、学習速度と近傍距離との変化の度合いを学習回数に応じて早くするまたは遅くするなどの、学習回数に関連付いた学習速度と近傍距離との変化の仕方を変更する場合には、学習回数と関連付けて学習速度記憶部と近傍距離記憶部とを記憶している分配制御部8内部の記憶部の情報のみを変更するのみでよく、変更が簡易となる効果を奏する。   As described above, the distribution control unit 8 distributes the learning speed storage unit and the neighborhood distance storage unit to each unit by including the control data in accordance with the number of learnings, so that all units can learn the number of times of learning. There is an effect that it is not necessary to store the learning speed and the neighborhood distance in advance in the internal storage unit. Also, for example, when changing the method of change between the learning speed and the neighborhood distance related to the number of learning, such as increasing or decreasing the degree of change between the learning speed and the neighborhood distance according to the number of learning. Only the information in the storage unit inside the distribution control unit 8 storing the learning speed storage unit and the neighborhood distance storage unit in association with the number of learnings need be changed, and the change can be simplified.

また、自己組織化マップに適応した場合のユニットは、第2の実施形態と同様に、ネットワーク座標により識別される座標で予め識別されている。そこで、第4の実施形態においては、固有ユニット番号をネットワーク座標として説明する。なお、各ユニットは、第2の実施形態または第3の実施形態と同様に、同一の構成を有しているので、ここでは図22を用いて1つのユニットの構成のみについて説明する。   Further, the unit when adapted to the self-organizing map is identified in advance by coordinates identified by network coordinates, as in the second embodiment. Therefore, in the fourth embodiment, the unique unit number will be described as network coordinates. Since each unit has the same configuration as in the second or third embodiment, only the configuration of one unit will be described here with reference to FIG.

ユニットは、データ入力部201Aと、データ出力部204Aと、距離記憶部232Aと、重み記憶部231Aと、ノルム算出部214Aと、近傍判定部215Aと、重み更新部216Aと、ユニットネットワーク座標記憶部234Aと、入力ネットワーク座標記憶部233Aと、学習速度記憶部235Aと、ユニットノルム記憶部236Aと、入力データ記憶部230Aと、実数ベクトル次元数記憶部242Bと、比較部215Bと、ユニット制御部216Bと、ファンクション番号抽出部250Bと、ファンクション番号記憶部251Bと、オペランド抽出部252Bと、汎用バッファー記憶部253Bと、を有する。   The unit includes a data input unit 201A, a data output unit 204A, a distance storage unit 232A, a weight storage unit 231A, a norm calculation unit 214A, a proximity determination unit 215A, a weight update unit 216A, and a unit network coordinate storage unit. 234A, input network coordinate storage unit 233A, learning speed storage unit 235A, unit norm storage unit 236A, input data storage unit 230A, real vector dimension number storage unit 242B, comparison unit 215B, and unit control unit 216B A function number extraction unit 250B, a function number storage unit 251B, an operand extraction unit 252B, and a general-purpose buffer storage unit 253B.

ここで、図22のデータ入力部201A、データ出力部204A、ユニットノルム記憶部236Aと重み記憶部231Aは、図15のデータ入力部11A、データ出力部14A、ユニット出力記憶部16Aに、それぞれ対応する。また、図22のユニットネットワーク座標記憶部234A、比較部215Bが、図15の固有ユニット番号記憶部21A、ユニット番号一致判定部20Aに、それぞれ対応する。これらの図22と図15とにおいて対応する構成について、共通の機能については、その説明を省略する。   Here, the data input unit 201A, the data output unit 204A, the unit norm storage unit 236A, and the weight storage unit 231A in FIG. 22 correspond to the data input unit 11A, the data output unit 14A, and the unit output storage unit 16A in FIG. To do. Further, the unit network coordinate storage unit 234A and the comparison unit 215B in FIG. 22 respectively correspond to the unique unit number storage unit 21A and the unit number match determination unit 20A in FIG. Descriptions of common functions in the configurations corresponding to those in FIGS. 22 and 15 are omitted.

また、図22のファンクション番号抽出部250Bとファンクション番号記憶部251Bとが図15の制御コード抽出部17Aに対応する。また、図22のオペランド抽出部252Bと汎用バッファー記憶部253Bとが、図15の入力値抽出部18Aまたは選択ユニット番号抽出部19Aに対応する。   Further, the function number extraction unit 250B and the function number storage unit 251B in FIG. 22 correspond to the control code extraction unit 17A in FIG. The operand extraction unit 252B and the general-purpose buffer storage unit 253B in FIG. 22 correspond to the input value extraction unit 18A or the selection unit number extraction unit 19A in FIG.

また、図22の構成において、図7と図8との第1の基本構成における自己組織化マップに適応した場合の並列演算装置のユニットの構成と同様の構成には、同一の符号、または、同一の符号に符号Aを付した符号を付け、その説明を省略する。   In the configuration of FIG. 22, the same reference numerals are given to the same configuration as the configuration of the units of the parallel arithmetic device when applied to the self-organizing map in the first basic configuration of FIGS. 7 and 8, or The same reference numerals are denoted by the reference numerals A, and the description thereof is omitted.

<第4の実施形態におけるユニットの各構成の説明>
ファンクション番号記憶部251Bには、制御データに含まれる制御コード(ファンクション番号)が記憶される。汎用バッファー記憶部253Bには、制御データに含まれる制御コードA(ファンクション番号)以外の情報、例えば、後述する入力ネットワーク座標B、入力学習速度C、入力近傍距離D、入力重みW、入力次元数N、または、入力値Xが記憶される。
<Description of Each Configuration of Unit in Fourth Embodiment>
The function number storage unit 251B stores a control code (function number) included in the control data. In the general-purpose buffer storage unit 253B, information other than the control code A (function number) included in the control data, for example, an input network coordinate B, an input learning speed C, an input proximity distance D, an input weight W, and an input dimension number described later. N or the input value X is stored.

以降において、制御データに含まれる制御コードA(ファンクション番号)以外の情報、例えば、後述する入力ネットワーク座標B、入力学習速度C、入力近傍距離D、入力重みW、入力次元数N、または、入力値Xを汎用データとして説明する。この制御データの詳細については、図23を用いて後述する。   Hereinafter, information other than the control code A (function number) included in the control data, for example, input network coordinates B, input learning speed C, input proximity distance D, input weight W, input dimension number N, or input described later The value X will be described as general-purpose data. Details of the control data will be described later with reference to FIG.

ファンクション番号抽出部250Bは、データ入力部201Aに入力された制御データに含まれる制御コードを抽出し、抽出した制御コードをファンクション番号記憶部251Bに記憶させる。オペランド抽出部252Bは、データ入力部201Aに入力された制御データに含まれる汎用データを抽出し、抽出した汎用データを汎用バッファー記憶部253Bに記憶させる。   The function number extraction unit 250B extracts the control code included in the control data input to the data input unit 201A, and stores the extracted control code in the function number storage unit 251B. The operand extraction unit 252B extracts general-purpose data included in the control data input to the data input unit 201A, and stores the extracted general-purpose data in the general-purpose buffer storage unit 253B.

ユニット制御部216Bは、データ入力部201Aに入力された制御データと比較部215Bが判定した結果とに基づいて、処理を実行する、または、予め定められた処理部の中から選択的に処理を実行させる。このデータ入力部201Aに入力された制御データとは、ファンクション番号記憶部251Bから読み出した制御コードと、汎用バッファー記憶部253Bから読み出した汎用データとである。   The unit control unit 216B executes processing based on the control data input to the data input unit 201A and the result determined by the comparison unit 215B, or selectively performs processing from among predetermined processing units. Let it run. The control data input to the data input unit 201A is a control code read from the function number storage unit 251B and general-purpose data read from the general-purpose buffer storage unit 253B.

また、図22の距離記憶部232Aと、ノルム算出部214Aと、近傍判定部215Aと、重み更新部216Aと、入力ネットワーク座標記憶部233Aと、学習速度記憶部235Aと、入力データ記憶部230Aと、実数ベクトル次元数記憶部242Bと、ユニット制御部216Bとが、図15のユニット演算部15Aに対応する。なお、図22の重み記憶部231Aは、図15のユニット演算部15Aとユニット出力記憶部16Aとに対応する。   Also, the distance storage unit 232A, the norm calculation unit 214A, the proximity determination unit 215A, the weight update unit 216A, the input network coordinate storage unit 233A, the learning speed storage unit 235A, and the input data storage unit 230A illustrated in FIG. The real vector dimension number storage unit 242B and the unit control unit 216B correspond to the unit calculation unit 15A in FIG. The weight storage unit 231A in FIG. 22 corresponds to the unit calculation unit 15A and the unit output storage unit 16A in FIG.

また、ユニット制御部216Bの詳細と他の構成とについては、次に図23を用いて、一例としての制御データのプロトコルの説明とともに説明する。   Details and other configurations of the unit control unit 216B will be described with reference to a control data protocol as an example with reference to FIG.

<第4の実施形態における制御データのプロトコル>
次に、図23を用いて、一例としての制御データのプロトコルについて説明する。この制御データは、制御コードAと、入力ネットワーク座標Bと、入力学習速度Cと、入力近傍距離Dと、入力結合重みベクトルW(W1、W2、・・・)と、入力次元数Nと、入力ベクトルX(X1、X2、・・・)と、を含む。この制御コードのプロトコルは、制御コードの値により、次に示すように予め定められている。
<Protocol of Control Data in Fourth Embodiment>
Next, an exemplary control data protocol will be described with reference to FIG. This control data includes control code A, input network coordinates B, input learning speed C, input proximity distance D, input coupling weight vector W (W1, W2,...), Input dimension number N, Input vector X (X1, X2,...). The protocol of this control code is determined in advance as follows according to the value of the control code.

<選択処理4>
制御データに含まれる制御コードAの値が“4”であり、“重みを設定する”ことを示す場合には、この制御データは、入力ネットワーク座標Bと入力結合重みベクトルW(W1、W2、・・・)とを含んでいる。この制御コードAの値が“4”であり、“重みを設定する”ことを示す制御データを受信した全てのユニットは、ユニットのユニット制御部216Bが、入力ネットワーク座標記憶部233Aに記憶されている入力ネットワーク座標の値を、受信した制御データに含まれる入力ネットワーク座標Bに更新するとともに、比較部215Bが、該更新した入力ネットワーク座標とユニットネットワーク座標記憶部234Aから読み出したユニットネットワーク座標とが一致するか否かを判定する。次に、比較部215Bの判定結果が一致する場合には、ユニット制御部216Bが、重み記憶部231Aに記憶されている結合重みベクトルを、受信した制御データに含まれる入力結合重みベクトルW(W1、W2、・・・)に更新する。
<Selection process 4>
When the value of the control code A included in the control data is “4”, indicating that “weight is set”, the control data includes the input network coordinate B and the input coupling weight vector W (W1, W2, ...). For all units that have received the control data indicating that the value of the control code A is “4” and “set the weight”, the unit control unit 216B of the unit is stored in the input network coordinate storage unit 233A. The input network coordinate value is updated to the input network coordinate B included in the received control data, and the updated input network coordinate and the unit network coordinate read from the unit network coordinate storage unit 234A are compared by the comparison unit 215B. It is determined whether or not they match. Next, when the determination results of the comparison unit 215B match, the unit control unit 216B uses the combination weight vector stored in the weight storage unit 231A as the input combination weight vector W (W1) included in the received control data. , W2,...

<選択処理5>
制御データに含まれる制御コードAの値が“5”であり、“学習速度と近傍距離とを設定する”ことを示す場合には、この制御データは、入力学習速度Cと、入力近傍距離Dと、を含んでいる。この制御コードAの値が“5”であり、“学習速度と近傍距離とを設定する”ことを示す制御データを受信した全てのユニットは、ユニットのユニット制御部216Bが、学習速度記憶部235Aに記憶されている学習速度を受信した制御データに含まれる入力学習速度Cに更新するとともに、距離記憶部232Aに記憶されている基準距離を受信した制御データに含まれる入力近傍距離Dに更新する。
<Selection process 5>
When the value of the control code A included in the control data is “5”, indicating that “the learning speed and the neighborhood distance are set”, the control data includes the input learning speed C and the input neighborhood distance D. And. The unit control unit 216B of the unit receives the control data indicating that the value of the control code A is “5” and “sets the learning speed and the neighborhood distance”. The learning speed storage unit 235A Is updated to the input learning speed C included in the received control data, and the reference distance stored in the distance storage unit 232A is updated to the input neighborhood distance D included in the received control data. .

<選択処理6>
制御データに含まれる制御コードAの値が“6”であり、“実数ベクトルの次元数を設定する”こと示す場合には、この制御データは、入力次元数Nを含んでいる。この制御コードAの値が“6”であり、“実数ベクトルの次元数を設定する”ことを示す制御データを受信した全てのユニットは、ユニットのユニット制御部216Bが、実数ベクトル次元数記憶部242Bに記憶されている次元数を受信した制御データに含まれる入力次元数Nに更新する。
<Selection process 6>
When the value of the control code A included in the control data is “6”, which indicates that “the number of dimensions of the real vector is set”, the control data includes the number of input dimensions N. The unit control unit 216B of the unit receives the control data indicating that the value of the control code A is “6” and “sets the dimension number of the real vector”. The number of dimensions stored in 242B is updated to the number N of input dimensions included in the received control data.

<選択処理7>
制御データに含まれる制御コードAの値が“7”であり、“ノルムを算出する”ことを示す場合には、この制御データは、入力ベクトルX(X1、X2、・・・)を含んでいる。この制御コードAの値が“7”であり、“ノルムを算出する”ことを示す制御データを受信した全てのユニットは、ユニットのユニット制御部216Bが、入力データ記憶部230Aに記憶されている入力データベクトルを入力ベクトルX(X1、X2、・・・)に更新する。次に、ノルム算出部214Aが、該更新した入力ベクトルX(X1、X2、・・・)と、重み記憶部231Aから読み出した結合重みベクトルとのノルムを算出し、該算出したノルムをユニットノルムとしてユニットノルム記憶部236Aに記憶させる。
<Selection process 7>
When the value of the control code A included in the control data is “7”, indicating that “norm is calculated”, this control data includes the input vector X (X1, X2,...). Yes. For all units that have received the control data indicating that the value of the control code A is “7” and “calculate the norm”, the unit control unit 216B of the unit is stored in the input data storage unit 230A. The input data vector is updated to the input vector X (X1, X2,...). Next, the norm calculation unit 214A calculates a norm between the updated input vector X (X1, X2,...) And the combined weight vector read from the weight storage unit 231A, and the calculated norm is a unit norm. Is stored in the unit norm storage unit 236A.

<選択処理8>
制御データに含まれる制御コードAの値が“8”であり、“ノルムを出力する”ことを示す場合には、この制御データは、入力ネットワーク座標Bを含んでいる。この制御コードAの値が“8”であり、“ノルムを出力する”ことを示す制御データを受信した全てのユニットは、ユニットのユニット制御部216Bが、入力ネットワーク座標記憶部233Aに記憶されている入力ネットワーク座標の値を、受信した制御データに含まれる入力ネットワーク座標Bに更新するとともに、比較部215Bが、該更新した入力ネットワーク座標とユニットネットワーク座標記憶部234Aから読み出したユニットネットワーク座標とが一致するか否かを判定する。次に、比較部215Bの判定結果が一致する場合には、ユニット制御部216Bが、ユニットノルム記憶部236Aから読み出したユニットノルムを、データ出力部204Aとユニット出力バス2とを介して分配制御部8に出力する。
<Selection process 8>
When the value of the control code A included in the control data is “8”, which indicates “output the norm”, the control data includes the input network coordinate B. For all units that have received the control data indicating that the value of the control code A is “8” and “output the norm”, the unit control unit 216B of the unit is stored in the input network coordinate storage unit 233A. The input network coordinate value is updated to the input network coordinate B included in the received control data, and the updated input network coordinate and the unit network coordinate read from the unit network coordinate storage unit 234A are compared by the comparison unit 215B. It is determined whether or not they match. Next, when the determination results of the comparison unit 215B match, the unit control unit 216B reads the unit norm read from the unit norm storage unit 236A via the data output unit 204A and the unit output bus 2. 8 is output.

<選択処理9>
制御データに含まれる制御コードAの値が“9”であり、“学習する”ことを示す場合には、この制御データは、入力ネットワーク座標Bを含んでいる。この制御コードAの値が“9”であり、“学習する”ことを示す制御データを受信した全てのユニットは、ユニット制御部216Bが、入力ネットワーク座標記憶部233Aに記憶されている入力ネットワーク座標を、制御データに含まれていた入力ネットワーク座標Bに更新する。次に、ユニットの近傍判定部215Aが、ユニットネットワーク座標記憶部234Aから読み出したユニットネットワーク座標と入力ネットワーク座標記憶部233Aから読み出した入力ネットワーク座標との間の距離を算出し、該算出した距離が、距離記憶部232Aから読み出した距離以下であるか否かを判定することにより、ユニットネットワーク座標記憶部234Aから読み出したユニットネットワーク座標が、入力ネットワーク座標記憶部233Aから読み出した入力ネットワーク座標の近傍にあるか否かを判定する。次に、近傍判定部215Aの判定した結果が近傍である場合には、重み更新部216Aが、入力データ記憶部230Aから読み出した入力データベクトルと重み記憶部231Aから読み出した結合重みベクトルとの差を算出し、該算出した差に学習速度記憶部235Aから読み出した学習速度係数を乗じた値を、重み記憶部231Aに記憶されている結合重みベクトルに加算し、重み記憶部231Aに記憶されている結合重みベクトルを更新することにより、学習する。
<Selection process 9>
When the value of the control code A included in the control data is “9”, which indicates “learn”, the control data includes the input network coordinate B. All units that have received the control data indicating that the value of the control code A is “9” and “learn” are input network coordinates stored in the input network coordinate storage unit 233A by the unit control unit 216B. Is updated to the input network coordinates B included in the control data. Next, the unit proximity determination unit 215A calculates the distance between the unit network coordinates read from the unit network coordinate storage unit 234A and the input network coordinates read from the input network coordinate storage unit 233A, and the calculated distance is By determining whether or not the distance is less than or equal to the distance read from the distance storage unit 232A, the unit network coordinates read from the unit network coordinate storage unit 234A are close to the input network coordinates read from the input network coordinate storage unit 233A. It is determined whether or not there is. Next, when the result determined by the proximity determination unit 215A is a neighborhood, the difference between the input data vector read from the input data storage unit 230A by the weight update unit 216A and the combined weight vector read from the weight storage unit 231A. And the value obtained by multiplying the calculated difference by the learning speed coefficient read from the learning speed storage unit 235A is added to the combined weight vector stored in the weight storage unit 231A, and stored in the weight storage unit 231A. Learning is performed by updating the existing connection weight vector.

<選択処理10>
制御データに含まれる制御コードAの値が“10”であり、“学習結果を出力する”ことを示す場合には、この制御データは、入力ネットワーク座標Bを含んでいる。この制御コードAの値が“10”であり、“学習結果を出力する”ことを示す制御データを受信した全てのユニットは、ユニットのユニット制御部216Bが、入力ネットワーク座標記憶部233Aに記憶されている入力ネットワーク座標の値を、受信した制御データに含まれる入力ネットワーク座標Bに更新するとともに、比較部215Bが、該更新した入力ネットワーク座標とユニットネットワーク座標記憶部234Aから読み出したユニットネットワーク座標とが一致するか否かを判定する。次に、比較部215Bの判定結果が一致する場合には、ユニット制御部216Bが、重み記憶部231Aから読み出した結合重みベクトルを、データ出力部204Aとユニット出力バス2とを介して分配制御部8に出力する。
<Selection process 10>
When the value of the control code A included in the control data is “10”, indicating that “learning result is output”, the control data includes the input network coordinate B. For all units that have received the control data indicating that the value of the control code A is “10” and “output the learning result”, the unit control unit 216B of the unit is stored in the input network coordinate storage unit 233A. The input network coordinate value updated to the input network coordinate B included in the received control data, and the comparison unit 215B includes the updated input network coordinate and the unit network coordinate read from the unit network coordinate storage unit 234A. It is determined whether or not. Next, when the determination results of the comparison unit 215B match, the unit control unit 216B uses the data output unit 204A and the unit output bus 2 to transmit the combined weight vector read from the weight storage unit 231A to the distribution control unit. 8 is output.

<第4の実施形態におけるユニットの動作>
次に、図24を用いて、図23で説明した制御データのプロトコルを受信した場合の、ユニットの動作、特に、ユニットのユニット制御部216Bの動作について説明する。なお、説明の簡略のために、以降においては制御コードAの値を用いて説明する。この制御コードAの値の意味は、上記に図23の説明と同様である。
<Operation of Unit in Fourth Embodiment>
Next, with reference to FIG. 24, the operation of the unit when the control data protocol described in FIG. 23 is received, in particular, the operation of the unit control unit 216B of the unit will be described. For the sake of simplicity, the following description will be made using the value of the control code A. The meaning of the value of the control code A is the same as described above with reference to FIG.

まず、ユニットは、データ入力部201Aに制御データが入力されたことに応じて、処理を開始する(ステップS2401)。次に、ファンクション番号抽出部250Bが、データ入力部201Aに入力された制御データから、制御コードを抽出し、抽出した制御コードをファンクション番号記憶部251Bに記憶させる。   First, the unit starts processing in response to input of control data to the data input unit 201A (step S2401). Next, the function number extraction unit 250B extracts the control code from the control data input to the data input unit 201A, and stores the extracted control code in the function number storage unit 251B.

また、オペランド抽出部252Bが、データ入力部201Aに入力された制御データから、オペランドである制御コード以外の情報を汎用バッファー記憶部253Bに記憶させる。   Further, the operand extraction unit 252B causes the general-purpose buffer storage unit 253B to store information other than the control code that is the operand from the control data input to the data input unit 201A.

次に、ユニット制御部216Bが、ファンクション番号抽出部250Bが制御コードを抽出したことに応じて、ファンクション番号記憶部251Bから読み出した制御コードの値に基づいて、以降に説明するステップS2402からステップS2412により、ユニットにおける処理を選択的に実行する(ステップS2402)。   Next, based on the value of the control code read from the function number storage unit 251B in response to the function number extraction unit 250B extracting the control code, the unit control unit 216B performs steps S2402 to S2412 described below. Thus, the process in the unit is selectively executed (step S2402).

ステップS2402で、読み出した制御コードの値が“4”である場合には、比較部215Bが、ユニットネットワーク座標記憶部234Aから読み出したユニットネットワーク座標と入力ネットワーク座標記憶部233Aから読み出した入力ネットワーク座標とが一致するか否かを判定する(ステップS2403)。ステップS2403の判定結果が、選択ユニット番号と固有ユニット番号とが一致する場合には、ユニット制御部216Bは、上記に説明した選択処理4を実行し(ステップS2404)、処理を終了する。一方、ステップ2403の判定結果が、選択ユニット番号と固有ユニット番号とが一致しない場合には、処理を終了する。   If the read control code value is “4” in step S2402, the comparison unit 215B reads the unit network coordinates read from the unit network coordinate storage unit 234A and the input network coordinates read from the input network coordinate storage unit 233A. Is matched (step S2403). If the result of determination in step S2403 is that the selected unit number matches the unique unit number, the unit control unit 216B executes the selection process 4 described above (step S2404) and ends the process. On the other hand, if the determination result of step 2403 indicates that the selected unit number does not match the unique unit number, the process is terminated.

一方、ステップS2402で、読み出した制御コードの値が“5”である場合には、ユニット制御部216Bは、上記に説明した選択処理5を実行し(ステップS2405)、処理を終了する。一方、ステップS2402で、読み出した制御コードの値が“6”である場合には、ユニット制御部216Bは、上記に説明した選択処理6を実行し(ステップS2406)、処理を終了する。一方、ステップS2403で、読み出した制御コードの値が“7”である場合には、ユニット制御部216Bは、上記に説明した選択処理7を実行し(ステップS2407)、処理を終了する。   On the other hand, if the value of the read control code is “5” in step S2402, the unit control unit 216B executes the selection process 5 described above (step S2405) and ends the process. On the other hand, if the value of the read control code is “6” in step S2402, the unit control unit 216B executes the selection process 6 described above (step S2406) and ends the process. On the other hand, if the value of the read control code is “7” in step S2403, the unit controller 216B executes the selection process 7 described above (step S2407) and ends the process.

一方、ステップS2402で、読み出した制御コードの値が“8”である場合には、比較部215Bが、ユニットネットワーク座標記憶部234Aから読み出したユニットネットワーク座標と入力ネットワーク座標記憶部233Aから読み出した入力ネットワーク座標とが一致するか否かを判定する(ステップS2408)。ステップS2408の判定結果が、選択ユニット番号と固有ユニット番号とが一致する場合には、ユニット制御部216Bは、上記に説明した選択処理8を実行し(ステップS2409)、処理を終了する。一方、ステップ2408の判定結果が、選択ユニット番号と固有ユニット番号とが一致しない場合には、処理を終了する。   On the other hand, if the read control code value is “8” in step S2402, the comparison unit 215B inputs the unit network coordinates read from the unit network coordinate storage unit 234A and the input network coordinate storage unit 233A. It is determined whether or not the network coordinates match (step S2408). If the determination result of step S2408 indicates that the selected unit number and the unique unit number match, the unit control unit 216B executes the selection process 8 described above (step S2409), and ends the process. On the other hand, if the determination result of step 2408 does not match the selected unit number and the unique unit number, the process is terminated.

一方、ステップS2402で、読み出した制御コードの値が“9”である場合には、ユニット制御部216Bは、上記に説明した選択処理9を実行し(ステップS2410)、処理を終了する。   On the other hand, if the value of the read control code is “9” in step S2402, the unit control unit 216B executes the selection process 9 described above (step S2410) and ends the process.

一方、ステップS2402で、読み出した制御コードの値が“10”である場合には、比較部215Bが、ユニットネットワーク座標記憶部234Aから読み出したユニットネットワーク座標と入力ネットワーク座標記憶部233Aから読み出した入力ネットワーク座標とが一致するか否かを判定する(ステップS2411)。ステップS2411の判定結果が、選択ユニット番号と固有ユニット番号とが一致する場合には、ユニット制御部216Bは、上記に説明した選択処理10を実行し(ステップS2412)、処理を終了する。一方、ステップ2411の判定結果が、選択ユニット番号と固有ユニット番号とが一致しない場合には、処理を終了する。   On the other hand, if the read control code value is “10” in step S2402, the comparison unit 215B inputs the unit network coordinates read from the unit network coordinate storage unit 234A and the input network coordinate storage unit 233A. It is determined whether or not the network coordinates match (step S2411). If the result of determination in step S2411 is that the selected unit number matches the unique unit number, the unit controller 216B executes the selection process 10 described above (step S2412), and ends the process. On the other hand, if the result of determination in step 2411 does not match the selected unit number and the unique unit number, the process ends.

上記に図24を用いて説明したように、各ユニットは、ユニットのユニット制御部216Bにより、入力された入力データに含まれる制御コードの値に基づいて、選択的に予め定められた処理を実行する。   As described above with reference to FIG. 24, each unit selectively executes predetermined processing based on the value of the control code included in the input data, by the unit control unit 216B of the unit. To do.

<第4の実施形態における分配制御部8の動作>
次に、図25と図26とを用いて、第2の基本構成による並列演算装置を自己組織化マップに適応した場合の、並列演算装置の動作について説明する。なお、並列演算装置は分配制御部8と複数のユニットを有するが、分配制御部8が出力した制御データに含まれる制御コードの値に応じた各ユニットの動作については、図22から図24を用いて既に説明したので、ここでは、分配制御部8の動作のみについて説明する。
<Operation of Distribution Control Unit 8 in Fourth Embodiment>
Next, the operation of the parallel computing device when the parallel computing device according to the second basic configuration is applied to the self-organizing map will be described with reference to FIGS. Note that the parallel computing device includes the distribution control unit 8 and a plurality of units, but the operation of each unit according to the value of the control code included in the control data output by the distribution control unit 8 is shown in FIGS. Since it has already been described by using, only the operation of the distribution control unit 8 will be described here.

まず、図25(a)を用いて、自己組織化マップに適応した場合における並列演算装置の分配制御部8の動作について説明する。まず、各ユニットの初期設定をする(ステップS2501)。この初期設定については、後に図25(b)を用いて詳述する。   First, the operation of the distribution control unit 8 of the parallel computing device when applied to the self-organizing map will be described with reference to FIG. First, initial setting of each unit is performed (step S2501). This initial setting will be described in detail later with reference to FIG.

次に、学習回数変数t=0、1、2、・・・・Tについて、競合学習(ステップS2503)を繰り返す(ステップL2502からステップL2504の学習ループ処理)。ここで、このTは、競合学習の学習回数である。また、このステップS2502の競合学習については、後に図26(a)を用いて詳述する。   Next, competitive learning (step S2503) is repeated for the learning frequency variable t = 0, 1, 2,... T (learning loop processing from step L2502 to step L2504). Here, T is the number of times of competitive learning. The competitive learning in step S2502 will be described in detail later with reference to FIG.

次に、学習した結果を出力する(ステップS2505)。この出力については、後に図26(c)を用いて詳述する。   Next, the learned result is output (step S2505). This output will be described in detail later with reference to FIG.

次に、図25(b)と、図26(a)から図26(c)とを用いて、図25(a)の各処理について詳細に説明する。なお、ここでは、図25(b)と、図26(a)から図26(c)との処理を、図20(a)の各処理についての関数またはサブルーチンとして説明する。   Next, with reference to FIG. 25B and FIGS. 26A to 26C, each process of FIG. 25A will be described in detail. Here, the processes in FIG. 25B and FIGS. 26A to 26C will be described as functions or subroutines for the processes in FIG. 20A.

最初に、図25(b)を用いて、図25(a)のステップS2501の初期設定の処理について説明する。まず、パターン入力nを外部から入力する(ステップS250101)。次に、制御コードAの値を“6”、出力値Dの値を入力されたパターン入力nとした制御データを、各ユニットに出力する(ステップS250102)。   First, the initial setting process in step S2501 in FIG. 25A will be described with reference to FIG. First, the pattern input n is input from the outside (step S250101). Next, control data in which the value of the control code A is “6” and the value of the output value D is input to the pattern input n is output to each unit (step S250102).

次に、ユニットループ変数j=1、2、・・・Nで示されるユニットの順に、次のステップL250104からステップL250106の次元ループとS250107との処理を繰り返す(ステップL250103からステップL250108のユニットループ)。ここで、Nは、ユニットの総数の値である。   Next, in the order of the units indicated by unit loop variable j = 1, 2,... N, the processing of the next dimension loop from step L250104 to step L250106 and S250107 is repeated (unit loop from step L250103 to step L250108). . Here, N is a value of the total number of units.

このステップL250104からステップL250106の次元ループでは、入力ベクトル次元数i=1、2、・・・nで示される入力ベクトルの次元数の順に、次のステップS250105の処理を繰り返す。このステップS250105では、外部から入力パターンwjiを入力する。ここで、nは、入力ベクトルの次元数である。   In the dimension loop from step L250104 to step L250106, the processing of the next step S250105 is repeated in the order of the dimension number of the input vector indicated by the input vector dimension number i = 1, 2,. In step S250105, an input pattern wji is input from the outside. Here, n is the number of dimensions of the input vector.

また、このステップS250107の処理では、制御コードAの値を“4”、入力ネットワーク座標Bの値をユニットループ変数j、出力値C(C1、C2、・・・Cn)を入力パターンwji(wj1、wj2、・・・wjn)とした制御データを、各ユニットに出力する。   In step S250107, the value of the control code A is “4”, the value of the input network coordinate B is the unit loop variable j, and the output value C (C1, C2,... Cn) is the input pattern wji (wj1). , Wj2,... Wjn) are output to each unit.

上記のステップL250103からステップL250108の処理により、各ユニットに対して、それぞれのユニット内の重み記憶部231Aの結合重みベクトルを初期設定する。   By the processing from step L250103 to step L250108, the connection weight vector of the weight storage unit 231A in each unit is initialized for each unit.

次に、学習回数変数t=0、1、2、・・・Tについて、ステップS250110の処理を繰り返す(ステップL250109からステップL250111の入力ループ)。このステップS250110では、外部から学習速度η(t)と近傍距離d(t)とを入力し、学習回数変数tと関連付けて入力した学習速度η(t)を内部の学習速度記憶部に記憶するとともに、学習回数変数tと関連付けて入力した近傍距離d(t)を内部の近傍距離記憶部に記憶する。
次に、後に図26(b)を用いて説明する最小ノルム判定に用いるダミー変数であるノルム最小値dminの値を−1に設定し(ステップS250112)、処理を戻す。
Next, the processing in step S250110 is repeated for the learning frequency variable t = 0, 1, 2,... T (input loop from step L250109 to step L250111). In this step S250110, the learning speed η (t) and the neighborhood distance d (t) are input from the outside, and the learning speed η (t) input in association with the learning frequency variable t is stored in the internal learning speed storage unit. At the same time, the proximity distance d (t) input in association with the learning frequency variable t is stored in the internal proximity distance storage unit.
Next, the value of the norm minimum value dmin, which is a dummy variable used for minimum norm determination described later with reference to FIG. 26B, is set to −1 (step S250112), and the process returns.

次に、図26(a)を用いて、図25(a)のステップS2503の競合学習の処理について説明する。まず、制御コードAの値を“5”、入力学習速度Cを内部の学習速度記憶部から読み出した学習速度η(t)、入力近傍距離Dを内部の近傍距離記憶部から読み出した近傍距離d(t)とした制御データを各ユニットに出力する(ステップS250301)。   Next, the competitive learning process in step S2503 in FIG. 25A will be described with reference to FIG. First, the value of the control code A is “5”, the input learning speed C is the learning speed η (t) read from the internal learning speed storage unit, and the input neighborhood distance D is the neighborhood distance d read from the internal neighborhood distance storage unit. The control data set as (t) is output to each unit (step S250301).

次に、次元ループ変数i=1、2、・・・nについて、次のステップS250303の処理を繰り返す(ステップL250302からステップL250304の次元ループ)。このステップS250303では、外部からパターン入力xiを入力する。   Next, the process of the next step S250303 is repeated for the dimension loop variable i = 1, 2,... N (the dimension loop from step L250302 to step L250304). In step S250303, a pattern input xi is input from the outside.

次に、制御コードAの値を“7”、入力ベクトルC(C1、C2、・・・Cn)をステップL250302からステップL250304で外部から入力したパターン入力x(x1、x2、・・・xn)とした制御データを各ユニットに出力する(ステップS250305)。   Next, the value of the control code A is “7”, and the input vector C (C1, C2,... Cn) is input from the outside in steps L250302 to L250304, pattern input x (x1, x2,... Xn). The control data is output to each unit (step S250305).

次に、ユニットループ数変j=1、2、・・・Nについて、次のステップS250307とステップS250308とステップS250309との処理を繰り返す(ステップL250306からステップL250310のユニットループ)。このステップS250307では、制御コードAの値を“8”、入力ネットワーク座標Bの値をユニットループ変数j、とした制御データを各ユニットに出力する。また、このステップS250308では、ステップS250307で制御コードAの値を“8”、入力ネットワーク座標Bの値をユニットループ数変j、とした制御データに対して、ユニットネットワーク座標が入力ネットワーク座標Bであるユニットループ数変jに一致するユニットからのノルムの出力を、ノルムdnとして入力する。   Next, for the unit loop number variable j = 1, 2,... N, the processing of the next step S250307, step S250308, and step S250309 is repeated (unit loop from step L250306 to step L250310). In step S250307, control data having the control code A value of “8” and the input network coordinate B value of the unit loop variable j is output to each unit. In step S250308, the unit network coordinates are the input network coordinates B for the control data in which the value of the control code A is “8” and the value of the input network coordinates B is the unit loop number variable j in step S250307. The norm output from the unit that matches a certain unit loop number variable j is input as norm dn.

また、このステップS250309では、ステップS250308で入力したノルムdnに基づいて、最小ノルム判定の処理を実行する。このステップS250309における最小ノルム判定の処理については、後に、図26(b)を用いて詳細に説明する。   In step S250309, the minimum norm determination process is executed based on the norm dn input in step S250308. The minimum norm determination process in step S250309 will be described later in detail with reference to FIG.

上記のステップL250306からステップL250310の処理により、各ユニットで算出されたノルムを全てのユニットから順に入力し、ステップS250309の処理にて入力したノルムを順に比較することにより、全てのユニットからのノルムの出力の中から最小となるノルムと、該最小となるノルムを出力したユニットを識別する識別情報であるユニットネットワーク座標をノルム最小ユニットネットワーク座標jminとして選択する。   The norm calculated in each unit is input in order from all units by the processing in steps L250306 to L250310, and the norms input in the processing in step S250309 are compared in order, so that the norms from all units are compared. From the output, the minimum norm and the unit network coordinates that are identification information for identifying the unit that has output the minimum norm are selected as the norm minimum unit network coordinates jmin.

次に、制御コードAの値を“9”、入力ネットワーク座標Bの値をノルム最小ユニットネットワーク座標jmin、とした制御データを各ユニットに出力する。これにより、各ユニットは、入力されたノルム最小ユニットネットワーク座標jminに基づいて、近傍となるユニットが学習をする。   Next, control data in which the value of the control code A is “9” and the value of the input network coordinate B is the norm minimum unit network coordinate jmin is output to each unit. Thereby, each unit learns based on the input norm minimum unit network coordinate jmin.

次に、図26(b)を用いて、図26(a)のステップS250309の最小ノルム判定の処理について説明する。
まず、ステップS250308で入力したノルムdnがノルム最小値dminより小さいか否か、または、ノルム最小値dminの値が−1であるか否かを判定する(ステップS2503091)。ステップS2503091で判定した結果が、入力したノルムdnがノルム最小値dminより小さい場合、または、ノルム最小値dminの値が−1である場合には、ノルム最小値dminを入力したノルムdnとするともに、ノルム最小ユニットネットワーク座標jminをユニットループ変数jとし(ステップS2503092)、処理を戻す。
Next, the minimum norm determination process in step S250309 in FIG. 26A will be described with reference to FIG.
First, it is determined whether the norm dn input in step S250308 is smaller than the norm minimum value dmin or whether the value of the norm minimum value dmin is −1 (step S2503091). If the input norm dn is smaller than the norm minimum value dmin, or if the norm minimum value dmin is −1, the norm minimum value dmin is set as the input norm dn. The norm minimum unit network coordinate jmin is set as the unit loop variable j (step S2503092), and the process returns.

一方、ステップS2503091で判定した結果が、入力したノルムdnがノルム最小値dminより小さくない場合であって、かつ、ノルム最小値dminの値が−1でない場合には、処理を戻す。   On the other hand, if the result of the determination in step S2503091 is that the input norm dn is not smaller than the norm minimum value dmin, and the norm minimum value dmin is not −1, the process is returned.

次に、図26(c)を用いて、図25(a)のステップS2505の出力の処理について説明する。まず、ユニットループ変数j=0、1、2、・・・Nについて、次のステップS250502の処理とステップL250503からステップL250506の次元ループの処理とを繰り返す(ステップL250501からステップL250507のユニットループ)。   Next, the output process in step S2505 in FIG. 25A will be described with reference to FIG. First, for the unit loop variable j = 0, 1, 2,... N, the processing in the next step S250502 and the dimension loop processing from step L250503 to step L250506 are repeated (unit loop from step L250501 to step L250507).

このステップS250502では、制御コードAの値を“10”、入力ネットワーク座標Bの値をユニットループ変数j、とした制御データを各ユニットに出力する。   In step S250502, control data with the value of the control code A being “10” and the value of the input network coordinate B being the unit loop variable j is output to each unit.

また、このステップL250503からステップL250506の次元ループの処理では、次元ループ変数i=1、2、・・・nについて、次のステップS250504とステップS250505との処理を繰り返す。このステップS250504では、ステップS250502で出力した制御データに応じたユニットからの出力である結合重みベクトルを、結合重みベクトルwjiとして入力する。次に、このステップS250505では、ステップS250504でユニットから入力した結合重みベクトルwjiを外部に出力する。   In the dimension loop process from step L250503 to step L250506, the process of the next step S250504 and step S250505 is repeated for the dimension loop variable i = 1, 2,... N. In step S250504, a connection weight vector that is an output from the unit corresponding to the control data output in step S250502 is input as a connection weight vector wji. In step S250505, the connection weight vector wji input from the unit in step S250504 is output to the outside.

以上の、ステップL250501からステップL250507の処理により、まず、各ユニットから順に結合重みベクトルを出力させ(ステップS250502)、次に、ステップS250502に応じて各ユニットが順に出力した結合重みベクトルを順に入力する(ステップS250504)。次に、ステップS250504で各ユニットから順に入力した結合重みベクトルを、順に外部に自己組織化マップの演算結果として出力する(ステップS250505)。   Through the above processing from step L250501 to step L250507, first, the coupling weight vector is output in order from each unit (step S250502), and then the coupling weight vector output by each unit in sequence according to step S250502 is input in order. (Step S250504). Next, the connection weight vector input in order from each unit in step S250504 is sequentially output to the outside as the calculation result of the self-organizing map (step S250505).

以上の図22から図26を用いて説明した第2の基本構成による自己組織化マップに適応した場合の並列演算装置は、第1の基本構成による自己組織化マップに適応した場合の並列演算装置と同様に、自己組織化マップの演算を実行し、実行した結果を外部に出力することが可能である。   The parallel computing device when applied to the self-organizing map according to the second basic configuration described above with reference to FIGS. 22 to 26 is the parallel computing device when adapted to the self-organizing map according to the first basic configuration. Similarly to the above, it is possible to execute the calculation of the self-organizing map and output the execution result to the outside.

また、第2の基本構成による自己組織化マップに適応した場合の並列演算装置は、第1の基本構成による自己組織化マップに適応した場合の並列演算装置と比較して、その構成が簡易であるという効果がある。また、入力ベクトルの次元数や学習速度や近傍距離の変更など、自己組織化マップにおける様々な変数の値の設計変更が容易であるという効果がある。   In addition, the parallel computing device when applied to the self-organizing map according to the second basic configuration is simpler than the parallel computing device when adapted to the self-organizing map according to the first basic configuration. There is an effect that there is. In addition, there is an effect that it is easy to change the design of the values of various variables in the self-organizing map, such as changing the number of dimensions of the input vector, learning speed, and neighborhood distance.

<分離構成>
次に、図27を用いて、図14の第2の基本構成による並列演算装置において、各ユニットと分配制御装置8とを、分離構成とした場合の並列演算装置の構成について説明する。
<Separation configuration>
Next, with reference to FIG. 27, the configuration of the parallel arithmetic device when the units and the distribution control device 8 are separated from each other in the parallel arithmetic device according to the second basic configuration of FIG. 14 will be described.

この図27の並列演算装置は、図14の並列演算装置に対して、互いに接続可能な接続部9Aと接続部9Bとを有する。この接続部9Aと接続部9Bとを介して、ユニットAU1からユニットAU10の全てのユニットと分配制御装置8とは、ユニット出力バス2とユニット入力バス3とにより接続される。例えば、この接続部9Aと接続部9Bとは、互いに嵌合する部材であることが望ましい。   The parallel arithmetic device shown in FIG. 27 has a connecting portion 9A and a connecting portion 9B that can be connected to each other with respect to the parallel arithmetic device shown in FIG. All the units AU1 to AU10 and the distribution control device 8 are connected by the unit output bus 2 and the unit input bus 3 through the connection 9A and the connection 9B. For example, the connecting portion 9A and the connecting portion 9B are desirably members that fit together.

また、図27に示すように、互いに接続可能な接続部9Aと接続部9Bとにより、ユニットAU1からユニットAU10の全てのユニットと接続部9Bとを1つの装置(装置B)とし、分配制御装置8と接続部9Aとを1つの装置(装置A)とする。   In addition, as shown in FIG. 27, all of the units AU1 to AU10 and the connection portion 9B are made into one device (device B) by the connection portion 9A and the connection portion 9B that can be connected to each other, and the distribution control device 8 and the connecting portion 9A are set as one device (device A).

この場合、例えば、この接続部9Aと接続部9Bとは、USB(Universal Serial Bus)(登録商標)コネクタのメスとオスとし、また、装置BをUSB機器とし、装置Aをパーソナルコンピュータとしてもよい。以上のように、ユニットと分配制御装置8とを別の装置として構成し、分配制御装置8をパーソナルコンピュータとすることにより、並列演算装置全体の構成がより簡易となり、安価に製造可能となる。   In this case, for example, the connecting portion 9A and the connecting portion 9B may be a female and male USB (Universal Serial Bus) (registered trademark) connector, the device B may be a USB device, and the device A may be a personal computer. . As described above, by configuring the unit and the distribution control device 8 as separate devices and using the distribution control device 8 as a personal computer, the configuration of the entire parallel arithmetic device becomes simpler and can be manufactured at low cost.

また、分配制御装置8をパーソナルコンピュータとすることにより、予め定められた制御の手順などを、コンピュータプログラミングすることにより、より簡易に制御の手順が作成可能となる。また、分配制御装置8であるパーソナルコンピュータは、入力手段としてのキーボードや、表示手段または出力手段としてのモニタも有しているため、よりユーザが簡易に並列演算装置を用いることが可能となる。   Further, by making the distribution control device 8 a personal computer, it becomes possible to create a control procedure more easily by computer programming a predetermined control procedure and the like. Further, since the personal computer which is the distribution control device 8 also has a keyboard as input means and a monitor as display means or output means, the user can use the parallel arithmetic device more easily.

なお、接続部9Aと接続部9BとはUSBコネクタに限られるものではなく、他の規格のコネクタでもよいし、または、通信ネットワークのコネクタであってもよい。通信ネットワークのコネクタの場合には、ユニットAU1からユニットAU10と配制御装置8との間の接続は、接続部9Aと接続部9Bとを介した通信プロトコルを用いた通信接続であってもよいし、接続部9Aと接続部9Bとが、通信プロトコルを制御するようにしてもよい。   Note that the connection unit 9A and the connection unit 9B are not limited to USB connectors, and may be connectors of other standards or communication network connectors. In the case of a communication network connector, the connection between the unit AU1 to the unit AU10 and the distribution control device 8 may be a communication connection using a communication protocol via the connection unit 9A and the connection unit 9B. The connection unit 9A and the connection unit 9B may control the communication protocol.

また、装置Bを拡張基盤装置として構成し、この拡張基盤装置を、パーソナルコンピュータである分配制御装置8の拡張スロットに接続するようにしてもよい。例えば、拡張基盤装置として構成された装置Bが、例えば、PCI(Peripheral Component Interconnect)規格またはPCI−Express規格のバスに準じたボードであってもよい。また、この場合には、装置Aであるパーソナルコンピュータは、接続部9Aとして、例えば、PCI規格またはPCI−Express規格に準じた拡張スロットを有するようにしてもよい。   Further, the device B may be configured as an expansion base device, and this expansion base device may be connected to an expansion slot of the distribution control device 8 which is a personal computer. For example, the device B configured as the expansion base device may be a board conforming to a PCI (Peripheral Component Interconnect) standard or a PCI-Express standard bus, for example. In this case, the personal computer as the device A may have an expansion slot conforming to, for example, the PCI standard or the PCI-Express standard as the connection unit 9A.

<第5の実施形態:ユニット間のノルムの比較を高速にする実施形態>
<トーナメント方式の原理>
次に、第5の実施形態として、第2または第4の実施形態における自己組織化マップに適応した並列演算装置において、ユニット間のノルムの比較を高速にする実施形態について説明する。
<Fifth embodiment: an embodiment for speeding up the comparison of norms between units>
<Principle of tournament method>
Next, as a fifth embodiment, an embodiment for speeding up norm comparison between units in a parallel computing device adapted to the self-organizing map in the second or fourth embodiment will be described.

第2の実施形態における自己組織化マップに適応した並列演算装置においては、予め定められた順序で、ユニットがトークンとともにノルムを出力し、ノルムを入力したユニットが、入力したノルムとそのユニットが算出したノルムとを比較し、小さい方のノルムを出力する。これを、全てのユニットの間で順に繰り返すことにより、全てのユニットで最小となるノルムを算出していた。そのため、ユニットの数がN個(ここで、Nは任意の自然数)の場合、ノルムの比較には、(N−1)回の比較が必要であり、また、(N−1)回の比較をする時間が必要であった。   In the parallel processing device adapted to the self-organizing map in the second embodiment, the unit outputs the norm together with the token in a predetermined order, the unit that inputs the norm calculates the input norm and the unit Is compared with the norm, and the smaller norm is output. By repeating this process in sequence between all the units, the minimum norm of all the units was calculated. Therefore, when the number of units is N (where N is an arbitrary natural number), the comparison of norms requires (N-1) comparisons, and (N-1) comparisons. It took time to do.

また、第4の実施形態における自己組織化マップに適応した並列演算装置においては、各ユニットが算出したノルムを順に出力し、分配制御装置部が、入力されたノルムを順に比較し、最小のノルムを選択した。この場合、ユニットがノルムを分配制御装置部に順に出力するために、ユニットの数がN個の場合、全てのユニットがノルムを出力するには(N−1)回の出力が必要であり、また、(N−1)回の出力をする時間が必要であった。また、分配制御装置部における比較においても、分配制御装置部に入力されたユニットを順に比較するため、(N−1)回の比較が必要であり、また、(N−1)回の比較をする時間が必要であった。   Further, in the parallel processing device adapted to the self-organizing map in the fourth embodiment, the norms calculated by the respective units are output in order, and the distribution control device unit sequentially compares the input norms to obtain the minimum norm. Selected. In this case, since the unit outputs the norm to the distribution control unit in order, if the number of units is N, all units need (N-1) outputs to output the norm, In addition, it took time to output (N-1) times. Also, in the comparison in the distribution control unit, in order to compare the units input to the distribution control unit, (N-1) comparisons are required, and (N-1) comparisons are performed. It took time to do.

第5の実施形態における自己組織化マップに適応した並列演算装置においては、各ユニットが算出したノルムで、最小となるノルムを選択する場合、トーナメント方式を用いることにより、ノルムを比較する時間を、N回の比較をする時間より低減する。   In the parallel arithmetic device adapted to the self-organizing map in the fifth embodiment, when selecting the norm that is the smallest among the norms calculated by each unit, the time for comparing the norms is selected by using the tournament method. It will be less than the time for N comparisons.

ここで、トーナメント方式とは、例えば、図28に示すように、例えば、AとBとCとDとの4つのユニットがある場合、ユニットAとユニットBとのノルムを比較するとともに、並列して、ユニットCとユニットDとのノルムを比較する。次に、ユニットAとユニットBとでノルムが小さかったユニットと、ユニットCとユニットDとでノルムが小さかったユニットとで、ノルムを比較する。   Here, for example, as shown in FIG. 28, when there are four units of A, B, C, and D, the tournament method compares the norms of unit A and unit B, and is connected in parallel. Then, the norms of unit C and unit D are compared. Next, the norm is compared between the unit A and the unit B whose norm is small and the unit C and the unit D whose norm is small.

これにより、図28に示す4個のユニットの場合には、この4個(=N)のユニットに対して、第2の実施形態または第4の実施形態のように順に1つずつ比較していく方式では、3回(N−1)の比較時間が必要であったのに対して、2回の比較時間で、最小となるユニットを選択することが可能となる。   Thus, in the case of the four units shown in FIG. 28, the four units (= N) are compared one by one in order as in the second embodiment or the fourth embodiment. According to the method, three (N-1) comparison times are required, but the smallest unit can be selected with two comparison times.

一般には、図28に示すように、2個ずつのユニットのノルムを並列に比較するトーナメント方式の場合には、その比較に要する時間はlog(N)回となり、第2の実施形態または第4の実施形態のように順に1つずつ順にユニットのノルムを比較していく方式の場合に要する(N−1)回の時間に対して、比較に要する時間を大幅に低減することができる。なお、ユニットの個数Nが増大するに従い、トーナメント方式による比較に要する時間はより低減される。例えば、512個のユニットの場合には、第2の実施形態または第4の実施形態のように順に1つずつ順にユニットのノルムを比較していく方式では、511回の比較時間を要するのに対して、トーナメント方式による比較に要する時間は8回の比較時間を要するのみでよい。 In general, as shown in FIG. 28, in the case of a tournament method in which the norms of two units are compared in parallel, the time required for the comparison is log 2 (N) times, and the second embodiment or the second embodiment Compared to the (N-1) times required for the method of comparing the unit norms one by one in order as in the fourth embodiment, the time required for the comparison can be greatly reduced. As the number N of units increases, the time required for the comparison by the tournament method is further reduced. For example, in the case of 512 units, the method of comparing unit norms one by one in order as in the second or fourth embodiment requires 511 comparison times. On the other hand, the time required for the comparison by the tournament method only needs 8 comparison times.

<ユニットの配置の第1例>
次に、図29を用いて、ユニットを2次元平面に配置した場合に、上記に説明したトーナメント方式により、最小となるユニットを選択する方法について説明する。
ここでは、図29に示すように、横軸であるX軸方向に、ユニットのX軸座標が1から12であり、縦軸であるY軸方向に、ユニットのY軸座標が1から9の、108(=12×9)個のユニットが平面上に配置されている場合について説明する。
<First example of unit arrangement>
Next, a method of selecting the smallest unit by the tournament method described above when the units are arranged on a two-dimensional plane will be described with reference to FIG.
Here, as shown in FIG. 29, the X-axis coordinate of the unit is 1 to 12 in the X-axis direction that is the horizontal axis, and the Y-axis coordinate of the unit is 1 to 9 in the Y-axis direction that is the vertical axis. , 108 (= 12 × 9) units are arranged on a plane.

ここで、図29を用いた説明においては、ユニットの表記を簡単にするために、座標を用いてユニットを標記することとし、X軸の座標がmでありY軸の座標がnであるユニットUを、U(m,n)として表記することにする。例えば、X軸の座標が5でありY軸の座標が3であるユニットUを、U(5,3)として表記する。   Here, in the description with reference to FIG. 29, in order to simplify the notation of the unit, the unit is marked using coordinates, and the X-axis coordinate is m and the Y-axis coordinate is n. Let U be denoted as U (m, n). For example, a unit U having an X-axis coordinate of 5 and a Y-axis coordinate of 3 is denoted as U (5, 3).

また、図29においては、図中の矢印の順に、ユニット同士のノルムを比較していく。例えば、まず、U(1,1)が算出したノルムを、U(1,1)がU(1,2)に出力する。次に、U(1,1)からノルムが入力されたことに応じて、U(1,2)が、U(1,2)が算出したノルムと、U(1,1)から入力したノルムとを比較し、小さい方のノルムを選択する。次に、U(1,2)が、選択した小さい方のノルムを、U(1,3)に出力する。   In FIG. 29, the norms of the units are compared in the order of the arrows in the figure. For example, first, U (1,1) outputs the norm calculated by U (1,1) to U (1,2). Next, in response to the input of the norm from U (1,1), U (1,2) calculates the norm calculated by U (1,2) and the norm input from U (1,1). And the smaller norm is selected. Next, U (1,2) outputs the selected smaller norm to U (1,3).

ここで、U(1,1)が図中の矢印に従って自ユニットが算出したノルムをU(1,2)に出力するのと並列して、U(2,1)が図中の矢印に従って自ユニットが算出したノルムをU(2,2)に出力する。また、U(1,1)とU(2,1)とに並列して、U(3,1)、U(4,1)、U(5,1)なども、並列して、矢印に従ってそれぞれの自ユニットが算出したノルムを出力する   Here, in parallel with U (1,1) outputting the norm calculated by its own unit to U (1,2) according to the arrow in the figure, U (2,1) automatically follows the arrow in the figure. The norm calculated by the unit is output to U (2, 2). Moreover, U (3, 1), U (4, 1), U (5, 1), etc. are also arranged in parallel in accordance with the arrows in parallel with U (1, 1) and U (2, 1). Output the norm calculated by each unit

次に、U(1,2)が、U(1,1)からのノルムの入力に応じて、入力されたノルムと自ユニットが算出したノルムとを比較する。また、U(1,2)が比較しているのと並列して、U(2,2)も、U(2,1)からのノルムの入力に応じて、入力されたノルムと自ユニットが算出したノルムとを比較する。また、U(1,2)とU(2,2)とにおける比較に並列して、U(3,2)、U(4,2)、U(5,2)なども、それぞれのユニットが、入力されたノルムと自ユニットが算出したノルムとを比較する。   Next, U (1,2) compares the input norm with the norm calculated by its own unit according to the input of the norm from U (1,1). In parallel with U (1,2) being compared, U (2,2) also has the input norm and its own unit depending on the norm input from U (2,1). Compare with the calculated norm. In parallel with the comparison between U (1,2) and U (2,2), U (3,2), U (4,2), U (5,2), etc., The input norm is compared with the norm calculated by the own unit.

図29のユニットにおいては、矢印に従った順序で、U(7,6)とU(7,8)とから、U(7,5)に入力される。次に、U(7,5)で、U(7,6)とU(7,8)とから入力されたノルムと、U(7,5)が算出したノルムとの中から最小となるノルムと、該ノルムを有するユニット識別情報とを選択する。
以上より、全てのユニットの中で、最小となるノルムの値と、該最小となるノルムを有するユニットとを選択可能となる。
In the unit of FIG. 29, U (7, 6) and U (7, 8) are input to U (7, 5) in the order according to the arrows. Next, in U (7,5), the norm that is the smallest among the norm input from U (7,6) and U (7,8) and the norm calculated by U (7,5) And unit identification information having the norm.
As described above, the minimum norm value and the unit having the minimum norm can be selected from all the units.

この図29においては、矢印に従って、各ノルムが自ユニットに入力されたノルムと自ユニットが算出したノルムとを比較するため、最長となる比較の回数は、例えば、U(1,1)を比較の開始として、U(1,2)、U(1,3)、U(1,4)、U(1,5)、U(5,2)、U(5,3)、U(5,4)U(5,5)、U(6,4)、U(6,5)、U(7,5)の順の11回分の比較となる。ここで、この各ノルムの比較が並列に実行されるために、この図29においては、全ノルムにおいて、最小のノルムの比較は、11回分の比較ですむことになる。よって、比較が並列に実行されるために、非常に少ない回数の比較により、最小のノルムを選択可能となる。   In FIG. 29, in accordance with the arrows, each norm is compared with the norm input to the own unit and the norm calculated by the own unit, so the maximum number of comparisons is, for example, U (1,1). U (1,2), U (1,3), U (1,4), U (1,5), U (5,2), U (5,3), U (5, 4) 11 comparisons in the order of U (5, 5), U (6, 4), U (6, 5), U (7, 5). Here, since the comparison of each norm is executed in parallel, in FIG. 29, the comparison of the minimum norm in all the norms is only 11 comparisons. Therefore, since the comparisons are performed in parallel, the minimum norm can be selected by a very small number of comparisons.

ここで、図29に示されるように、複数のユニットは、葉ユニットと、根ユニットと、幹ユニットとに予め分類されている。この葉ユニットとは、複数のユニットがそれぞれ算出したノルムの中から、最小となるノルムを選択するための比較を開始するユニットとして、予め定められた複数のユニットである。また、根ユニットとは、ユニットのそれぞれが算出したノルムの中から選択された最小となるノルムと、該ノルムを有するユニットのユニットネットワーク座標とを分配制御部に出力するユニットとして予め定められた1つのユニットである。また、幹ユニットとは、葉ユニットと根ユニットとを接続する予め定められた複数のユニットである。   Here, as shown in FIG. 29, the plurality of units are classified in advance into leaf units, root units, and trunk units. The leaf unit is a plurality of units determined in advance as units for starting comparison for selecting a minimum norm from the norms calculated by the plurality of units. Further, the root unit is a predetermined unit that outputs a minimum norm selected from the norms calculated by each unit and unit network coordinates of the unit having the norm to the distribution control unit. Is one unit. The trunk unit is a plurality of predetermined units that connect the leaf unit and the root unit.

図29においては、U(1,1)、U(2,1)などの葉ユニットは、色が濃くしてある。また、結果を出力するユニットである根ユニットは、図29ではU(7,5)の1つのユニットであり、このユニットも図29においては色を濃くしてある。また、幹ユニットは、他のユニットであり、図29では白塗りのユニットとしてある。   In FIG. 29, the leaf units such as U (1,1) and U (2,1) are dark in color. Further, the root unit, which is a unit for outputting the result, is one unit of U (7, 5) in FIG. 29, and this unit is also darkened in FIG. The trunk unit is another unit, and is a white-painted unit in FIG.

なお、図29では、葉ユニットが、ほぼ同時のタイミングでユニットの開始のためのノルムを出力し始めた場合、全ての幹ユニット、および、根ユニットには、ほぼ同時となるタイミングでは、1つのユニットのみからノルムが入力されるような順序となるように、矢印に示すような順序が予め定められている。   In FIG. 29, when the leaf unit starts outputting the norm for starting the unit at almost the same timing, all the trunk units and root units have one at the almost same timing. The order shown by the arrows is determined in advance so that the norm is input only from the unit.

例えば、U(2,5)には、U(1,5)とU(2,4)とからノルムが入力されるが、U(2,5)にU(1,5)からノルムが入力されるタイミングと、U(2,5)にU(2,4)からノルムが入力されるタイミングとは、異なるタイミングとなるように予め設定されている。例えば、U(1,1)およびU(2,1)が、ほぼ同時にノルムを出力してから、U(1,5)は約4ステップ時間でU(2,5)にノルムを出力し、U(2,4)は約3ステップ時間でU(2,5)にノルムを出力する。なお、ここでいうステップ時間とは、あるユニットにノルムが入力されてから、そのユニットが比較した最小となるノルムを出力するまでに要する時間のことである。   For example, the norm is input from U (1,5) and U (2,4) to U (2,5), but the norm is input from U (1,5) to U (2,5). The timing at which the norm is input from U (2, 4) to U (2, 5) is set in advance so as to be different. For example, U (1,1) and U (2,1) output a norm almost simultaneously, then U (1,5) outputs a norm to U (2,5) in about 4 step times, U (2, 4) outputs a norm to U (2, 5) in about 3 step times. Here, the step time is a time required from when a norm is input to a certain unit to when a minimum norm compared with the unit is output.

図29においては、以上のように、幹ユニットまたは根ユニットにおいては、接続されているユニットから、ほぼ同時にノルムが入力されることがないように、予め接続されている。   In FIG. 29, as described above, the trunk unit or the root unit is connected in advance so that norms are not input from the connected units almost simultaneously.

<第5の実施形態における並列演算装置の全体構成>
次に、図30と図31とを用いて、第5の実施形態による並列演算装置の全体構成について説明する。図30または図31に示すように、ここでは、ユニットAU1からAU16の16個のユニットある場合について説明する。この第5の実施形態による並列演算装置は、図30の構成に加えて、更に図31の構成を有する。
<Overall Configuration of Parallel Computing Device in Fifth Embodiment>
Next, the overall configuration of the parallel arithmetic apparatus according to the fifth embodiment will be described with reference to FIGS. As shown in FIG. 30 or FIG. 31, here, a case where there are 16 units AU1 to AU16 will be described. The parallel arithmetic device according to the fifth embodiment has the configuration of FIG. 31 in addition to the configuration of FIG.

また、以降においては、第5の実施形態による並列演算装置は、図14から図16、および、図22の構成図を用いて説明した第2の基本構成による並列演算装置を自己組織化マップに適応した場合の並列演算装置の構成に対して、上記に説明したトーナメント方式による比較を実行する構成を追加するものとして説明する。また、第5の実施形態による並列演算装置の構成またはその構成の動作において、第2の基本構成による並列演算装置を自己組織化マップに適応した場合の並列演算装置の構成またはその構成の動作は同一なので、その説明を省略する。また、図30または図31において、図14と構成と同一の構成には同一の符号を付けて、その説明を省略する。   Further, in the following, the parallel arithmetic device according to the fifth embodiment uses the parallel arithmetic device according to the second basic configuration described with reference to the configuration diagrams of FIGS. 14 to 16 and FIG. 22 as a self-organizing map. A description will be given assuming that a configuration for performing the comparison by the tournament method described above is added to the configuration of the parallel arithmetic device when adapted. Further, in the configuration of the parallel arithmetic device according to the fifth embodiment or the operation of the configuration, the configuration of the parallel arithmetic device or the operation of the configuration when the parallel arithmetic device according to the second basic configuration is applied to the self-organizing map is as follows. Since it is the same, the description is omitted. 30 or 31, the same components as those in FIG. 14 are denoted by the same reference numerals, and the description thereof is omitted.

まず、図30に示すように、図30の第5の実施形態による自己組織化マップを演算する並列演算装置は、予め定められた識別情報であるユニットネットワーク座標によりそれぞれが識別される複数のユニット(AU1からAU16)と、複数のユニットの中のいずれか1つのユニットが出力する出力値がユニット出力バス2を介して入力されたことに応じて、該入力された入力値と複数のユニットの中から選択したいずれか1つのユニットを選択する識別情報である選択ユニットネットワーク座標とを含む制御データを、複数のユニットのそれぞれにユニット入力バス3を介して出力する分配制御部8と、を有する。この図30の第5の実施形態による並列演算装置の構成は、図14の並列演算装置の構成と同様である。   First, as shown in FIG. 30, the parallel computing device that computes the self-organizing map according to the fifth embodiment of FIG. 30 includes a plurality of units each identified by unit network coordinates that are predetermined identification information. (AU1 to AU16) and when an output value output from any one of the plurality of units is input via the unit output bus 2, the input value input to the plurality of units A distribution control unit 8 that outputs control data including selected unit network coordinates, which are identification information for selecting any one unit selected from the unit, to each of the plurality of units via the unit input bus 3; . The configuration of the parallel arithmetic device according to the fifth embodiment of FIG. 30 is the same as the configuration of the parallel arithmetic device of FIG.

次に、図31に示すように、第5の実施形態による自己組織化マップを演算する並列演算装置においては、複数のユニットAU1からAU16とAU1からAU16とは、図30の構成に加えて更に、ノルム比較バス41とユニットビジーフラグバス42とを介して予め定められた順序で接続されている。図31においては、AU1とAU2とAU3とAU5とが葉ユニットである。また、AU5から12、および、AU14からAU16が、幹ユニットである。また、AU13が、根ユニットである。この葉ユニットと幹ユニットと根ユニットとは、葉ユニットから根ユニットにノルムの比較結果が、予め定められた順序で送信できるように、該順序で隣接するユニット同士がノルム比較バス41を介して接続されており、かつ、根ユニット(AU13)は分配制御部8にノルム比較バス41を介して接続されている。   Next, as shown in FIG. 31, in the parallel computing device for computing the self-organizing map according to the fifth embodiment, the plurality of units AU1 to AU16 and AU1 to AU16 are further added to the configuration of FIG. The norm comparison bus 41 and the unit busy flag bus 42 are connected in a predetermined order. In FIG. 31, AU1, AU2, AU3, and AU5 are leaf units. Further, AU5 to 12 and AU14 to AU16 are trunk units. Moreover, AU13 is a root unit. The leaf unit, the trunk unit, and the root unit are connected to each other in the order via the norm comparison bus 41 so that the comparison result of the norm can be transmitted from the leaf unit to the root unit in a predetermined order. The root unit (AU 13) is connected to the distribution control unit 8 via the norm comparison bus 41.

この順序は、図31では、葉ユニットから根ユニットまでの順序として、AU1、AU5、AU9、AU13の順序で予め定められた第1の順序と、AU2、AU6、AU10、AU14の順序で予め定められた第2の順序と、AU3、AU7、AU11、AU15、AU14、AU13の順序で予め定められた第3の順序と、AU4、AU8、AU12、AU16、AU15、AU14、AU13の順序で予め定められた第4の順序とがある。
この予め定められた第1の順序、第2の順序、第3の順序、および、第4の順序で、隣接するユニット同士はノルム比較バス41を介して接続されているとともに、ユニットビジーフラグバス42を介して接続されている。
In FIG. 31, the order from the leaf unit to the root unit in FIG. 31 is predetermined in the order of AU1, AU5, AU9, and AU13, and in the order of AU2, AU6, AU10, and AU14. Predetermined order in order of AU3, AU7, AU11, AU15, AU14, AU13, and AU4, AU8, AU12, AU16, AU15, AU14, AU13. There is a fourth order.
In the predetermined first order, second order, third order, and fourth order, adjacent units are connected to each other via the norm comparison bus 41, and a unit busy flag bus is used. 42 is connected.

また、図31では、AU1とAU2とAU3とAU5とが葉ユニットと、分配制御部8とが、ノルム比較開始信号線40で接続されている。例えば、分配制御部8が、ノルムの比較を開始することを示す信号を、ノルム比較開始信号線40を介して、AU1とAU2とAU3とAU5とである葉ユニットに出力することにより、葉ユニットを開始ユニットとして、第1の順序、第2の順序、第3の順序、および、第4の順序で、ノルムの比較が並列に実行される。そして、各順序の比較結果が、根ユニットであるAU13に入力され、根ユニットが、全てのユニットのうち、最小となるノルムと該ノルムを有するユニットのユニットネットワーク座標とを選択し、選択したノルムとユニットネットワーク座標とを分配制御部8にノルム比較バス41を介して出力する。   In FIG. 31, AU 1, AU 2, AU 3, and AU 5 are connected to the leaf unit and the distribution control unit 8 through a norm comparison start signal line 40. For example, the distribution control unit 8 outputs a signal indicating that the comparison of norms is started to the leaf units that are AU1, AU2, AU3, and AU5 via the norm comparison start signal line 40, whereby the leaf unit Are started units, and norm comparisons are performed in parallel in the first order, second order, third order, and fourth order. Then, the comparison result of each order is input to the AU 13 which is the root unit, and the root unit selects the minimum norm and the unit network coordinates of the unit having the norm among all the units, and the selected norm And the unit network coordinates are output to the distribution control unit 8 via the norm comparison bus 41.

なお、上記においては、AU1とAU2とAU3とAU5とである葉ユニットと、分配制御部8とが、ノルム比較開始信号線40で接続されており、ノルムの比較を開始することを示す信号を、分配制御部8が葉ユニットへノルム比較開始信号線40を介して出力するとして説明した。しかし、後述する実施形態においては、ノルム比較開始信号線40を用いるのではなく、後述する図32のプロトコル表に示すように、制御コードAの値が“11”であり、“複数のユニットがそれぞれ算出したノルムの中から最小となるノルムを選択するための比較を開始する”ことを示す制御データを、分配制御部8が葉ユニットへユニット入力バス3を介して出力する。なお、分配制御部8は、制御コードAの値が“11”であり、“複数のユニットがそれぞれ算出したノルムの中から最小となるノルムを選択するための比較を開始する”ことを示す制御データを、葉ユニットのみではなく全てのユニットへ、ユニット入力バス3を介して出力する。   In the above, the leaf units that are AU1, AU2, AU3, and AU5 and the distribution control unit 8 are connected by the norm comparison start signal line 40, and a signal indicating that the comparison of norms is started. The distribution control unit 8 has been described as outputting to the leaf unit via the norm comparison start signal line 40. However, in the embodiment described later, the norm comparison start signal line 40 is not used, but the value of the control code A is “11” as shown in a protocol table of FIG. The distribution control unit 8 outputs to the leaf unit via the unit input bus 3 control data indicating that “comparison for selecting the minimum norm from among the calculated norms is started”. The distribution control unit 8 indicates that the value of the control code A is “11”, and “a plurality of units start comparison for selecting the minimum norm from the calculated norms”. Data is output via the unit input bus 3 to all units, not just the leaf units.

なお、図31においては、並列なノルムの比較順序の原理を説明するために、比較の順序が簡易な接続を用いているが、実際の接続においては、図29に示すように、根ユニットは、ユニット全体に対して、ほぼ中央となる位置にあり、複数の葉ユニットは、ユニット全体に対して、ほぼ外周となる位置にあることが望ましい。根ユニットはユニット全体に対してほぼ中央となる位置にあり、複数の葉ユニットはユニット全体に対してほぼ外周となる位置にあることにより、葉ユニットから根ユニットまでの根ユニットの数、つまり、ノルムの比較の回数を低減することが可能なため、より高速にノルムの比較が出来るという効果を奏する。   In FIG. 31, in order to explain the principle of the parallel norm comparison order, a connection with a simple comparison order is used. However, in the actual connection, as shown in FIG. The plurality of leaf units are preferably located at substantially the outer periphery of the entire unit. The number of root units from the leaf unit to the root unit, i.e. Since the number of times of norm comparison can be reduced, it is possible to compare norms at a higher speed.

<第5の実施形態におけるユニットの構成の概要>
次に、上記において、図30と図31とを用いて説明した第5の実施形態におけるユニットの構成の概要について説明する。
まず、図22を用いて説明したように、複数のユニットのそれぞれは、分配制御部8から入力された制御データに基づいて自ユニットが算出したノルムを記憶するユニットノルム記憶部236Aと、自ユニットのユニットネットワーク座標を記憶するユニットネットワーク座標記憶部234Aと、を有している。
<Outline of Unit Configuration in Fifth Embodiment>
Next, the outline of the configuration of the unit in the fifth embodiment described above with reference to FIGS. 30 and 31 will be described.
First, as described with reference to FIG. 22, each of the plurality of units includes a unit norm storage unit 236 </ b> A that stores the norm calculated by the own unit based on the control data input from the distribution control unit 8, and the own unit. A unit network coordinate storage unit 234A for storing the unit network coordinates.

また、葉ユニットが葉ノルム情報出力部を有する。この葉ノルム情報出力部は、複数のユニットがそれぞれ算出したノルムの中から最小となるノルムを選択するための比較を開始することを示す信号を分配制御部8から入力されたことに応じて、自ユニットのユニットノルム記憶部236Aから読み出したノルムと自ユニットのユニットネットワーク座標記憶部234Aから読み出したユニットネットワーク座標とを、自ユニットが接続される後段ユニットへノルム比較バス41を介して出力する。   The leaf unit has a leaf norm information output unit. The leaf norm information output unit receives a signal indicating that a comparison for selecting the minimum norm from the norms calculated by each of the plurality of units is input from the distribution control unit 8, The norm read from the unit norm storage unit 236A of the own unit and the unit network coordinates read from the unit network coordinate storage unit 234A of the own unit are output via the norm comparison bus 41 to the subsequent unit to which the own unit is connected.

また、幹ユニットまたは根ユニットは、勝者ノルム情報記憶部と、ノルム情報入力部と、勝者ノルム情報設定部と、ノルム情報出力部とを有する。
勝者ノルム情報記憶部は、自ユニットに入力されたノルムと自ユニットのユニットノルム記憶部に記憶されたノルムとにおいて最小であるノルムと、該ノルムを有するユニットを識別するユニットネットワーク座標とを関連付けて勝者ノルム情報として記憶する。
ノルム情報入力部は、ノルムを比較する順序において葉ユニットに近い方のユニットであり隣接するユニットである前段ユニットから、ノルムとユニットネットワーク座標とを関連付けてノルム情報としてノルム比較バスを介して入力する。
The trunk unit or the root unit includes a winner norm information storage unit, a norm information input unit, a winner norm information setting unit, and a norm information output unit.
The winner norm information storage unit associates the norm that is the minimum in the norm input to the unit and the norm stored in the unit norm storage unit of the unit, and unit network coordinates that identify the unit having the norm. Memorize as winner norm information.
The norm information input unit associates the norm and unit network coordinates from the preceding unit, which is the unit closer to the leaf unit in the order in which the norms are compared, and inputs them as norm information via the norm comparison bus. .

勝者ノルム情報設定部は、ノルム情報入力部にノルム情報が入力されたことに応じて、ノルム情報入力部に入力されたノルムと、自ユニットの勝者ノルム情報記憶部または自ユニットのユニットノルム記憶部から読み出したノルムとを比較し、最小となるノルムと該ノルムと関連付けられたユニットネットワーク座標とを関連付けて勝者ノルム情報として勝者ノルム情報記憶部に設定して記憶する。
ノルム情報出力部は、勝者ノルム情報記憶部から読み出した勝者ノルム情報を、ノルムを比較する順序で根ユニットに近い方のユニットであり隣接するユニットである後段ユニットへノルム比較バスを介して出力する。
The winner norm information setting unit includes the norm input to the norm information input unit in response to the norm information input to the norm information input unit, and the winner norm information storage unit of the own unit or the unit norm storage unit of the own unit. Are compared with the norm read out from, and the minimum norm and the unit network coordinates associated with the norm are associated with each other and set and stored in the winner norm information storage unit as winner norm information.
The norm information output unit outputs the winner norm information read from the winner norm information storage unit via the norm comparison bus to the subsequent unit which is the unit closer to the root unit and the adjacent unit in the order of comparing the norms. .

また、幹ユニットまたは根ユニットには、複数の幹ユニットまたは複数の葉ユニットが前段ユニットとして予め接続されており、幹ユニットまたは根ユニットのそれぞれは、前段接続数記憶部と、入力回数記憶部と、前段接続数比較部とを有する。
前段接続数記憶部には、自ユニットに接続される前段ユニットの総数である前段接続数が予め記憶されている。入力回数記憶部には、ノルム情報入力部にノルムとユニットネットワーク座標とが入力される毎に、入力回数をカウントアップして記憶する。前段接続数比較部は、前段接続数記憶部から読み出した前段接続数と、入力回数記憶部から読み出した入力回数とを比較する。
また、ノルム情報出力部が、接続数比較部の比較結果が、前段接続数と入力回数とが一致した場合に、勝者ノルム情報記憶部から読み出した勝者ノルム情報を出力する。
In addition, a plurality of stem units or a plurality of leaf units are connected in advance to the trunk unit or the root unit as a preceding unit, and each of the trunk unit or the root unit includes a preceding connection number storage unit, an input count storage unit, And a preceding stage connection number comparison unit.
In the previous stage connection number storage unit, the previous stage connection number that is the total number of the previous stage units connected to the own unit is stored in advance. Each time the norm and the unit network coordinates are input to the norm information input unit, the input number storage unit counts up and stores the input number. The preceding connection number comparison unit compares the preceding connection number read from the preceding connection number storage unit with the number of inputs read from the input number storage unit.
In addition, the norm information output unit outputs the winner norm information read from the winner norm information storage unit when the comparison result of the connection number comparison unit matches the previous stage connection number and the input count.

また、幹ユニットまたは根ユニットのそれぞれが、ノルムとユニットネットワーク座標とを、自ユニットの前段ユニットから入力可能であるか否かを示すユニットビジーフラグ情報を記憶するユニットビジーフラグ記憶部を有している。また、ユニットのそれぞれが、自ユニットの後段ユニットが有するユニットビジーフラグ記憶部から出力されたユニットビジーフラグ情報に基づいて、該後段ユニットにノルムとユニットネットワーク座標とを出力するか否かを判定するビジーフラグ判定部を有する。また、自ユニットのノルム情報出力部は、自ユニットのビジーフラグ判定部の判定結果に基づいて、勝者ノルム情報記憶部から読み出した勝者ノルム情報を出力する。   Each of the trunk unit or the root unit has a unit busy flag storage unit that stores unit busy flag information indicating whether or not the norm and the unit network coordinates can be input from the preceding unit of the own unit. Yes. Further, each unit determines whether or not to output the norm and the unit network coordinates to the succeeding unit based on the unit busy flag information output from the unit busy flag storage unit of the succeeding unit of its own unit. A busy flag determination unit is included. Further, the norm information output unit of the own unit outputs the winner norm information read from the winner norm information storage unit based on the determination result of the busy flag determination unit of the own unit.

また、ノルム情報入力部は、ノルム情報が入力されたことに応じて、ユニットビジーフラグ記憶部に記憶されているユニットビジーフラグ情報を自ユニットの前段ユニットから入力可能でないことを示すように設定する。また、接続数比較部は、比較結果が前段接続数と入力回数とが一致しない場合に、ユニットビジーフラグ記憶部に記憶されているユニットビジーフラグ情報を自ユニットの前段ユニットから入力可能であることを示すように設定する。   Further, the norm information input unit sets the unit busy flag information stored in the unit busy flag storage unit to indicate that it cannot be input from the preceding unit of the own unit in response to the input of the norm information. . The connection number comparison unit can input the unit busy flag information stored in the unit busy flag storage unit from the preceding unit of its own unit when the comparison result does not match the number of previous connection and the number of inputs. Set as shown.

また、幹ユニットまたは根ユニットのそれぞれが、ユニット制御部を有する。このユニット制御部は、複数のユニットがそれぞれ算出したノルムの中から最小となるノルムを選択するための比較を開始することを示す信号を分配制御部から入力されたことに応じて、ユニットビジーフラグ記憶部に記憶されているユニットビジーフラグ情報を自ユニットの前段ユニットから入力可能であることを示すように設定する。
また、接続数比較部は、比較結果が前段接続数と入力回数とが一致した場合に、ユニットビジーフラグ記憶部に記憶されているユニットビジーフラグ情報を自ユニットの前段ユニットから入力可能でないことを示すように設定する。
Each of the trunk unit or the root unit has a unit controller. The unit control unit receives a signal indicating that a comparison is started to select a minimum norm from the norms calculated by each of the plurality of units, in response to an input from the distribution control unit. The unit busy flag information stored in the storage unit is set so as to indicate that it can be input from the preceding unit of the own unit.
In addition, the connection number comparison unit confirms that the unit busy flag information stored in the unit busy flag storage unit cannot be input from the previous unit of its own unit when the comparison result indicates that the previous connection number matches the number of inputs. Set as shown.

<第5の実施形態における制御データのプロトコル>
次に、図32を用いて、第5の実施形態における制御データの一例としてのプロトコルについて説明する。なお、図32に示す制御データのプロトコルは、図23に示した制御データのプロトコルにおいて、制御コードAの値が“11”が追加されている。制御コードAの値が4から10の制御データのプロトコルについては、図32に示す制御データのプロトコルと図23に示す制御データのプロトコルとは同様であるため、その説明を省略する。
<Protocol of Control Data in Fifth Embodiment>
Next, a protocol as an example of control data in the fifth embodiment will be described with reference to FIG. The control data protocol shown in FIG. 32 is the same as the control data protocol shown in FIG. 23 except that the value of the control code A is “11”. The control data protocol with the control code A value of 4 to 10 is the same as the control data protocol shown in FIG. 32 and the control data protocol shown in FIG.

<選択処理11>
制御データに含まれる制御コードAの値が“11”であり、“勝者ユニット決定アルゴリズムの開始の合図”、つまり、“複数のユニットがそれぞれ算出したノルムの中から最小となるノルムを選択するための比較を開始する”ことを示す場合には、この制御データは、この制御コードAの値が“11”の制御コードAのみを含んでいる。この制御コードAの値が“11”であり、“複数のユニットがそれぞれ算出したノルムの中から最小となるノルムを選択するための比較を開始する”ことを示す制御データを受信したユニットにおいて、葉ユニット(開始ユニット)は、後段ユニットに自ユニットノルムと自ユニットネットワーク座標とを出力して渡す。また、それ以外のユニットである根ユニットと幹ユニットとは、前段からの入力と比較して、決定された勝者ユニットノルムとそのユニットネット座標とを後段へ出力して渡す。
<Selection process 11>
The value of the control code A included in the control data is “11”, and “the cues for starting the winner unit determination algorithm”, that is, “the norm that is the smallest among the norms calculated by each of the multiple units” is selected. In this case, the control data includes only the control code A having the control code A value of “11”. In the unit that has received the control data indicating that the value of the control code A is “11” and that “a plurality of units start comparison for selecting the minimum norm from the calculated norms”, The leaf unit (starting unit) outputs and passes its own unit norm and its own unit network coordinates to the subsequent unit. In addition, the root unit and the trunk unit, which are other units, output and pass the determined winner unit norm and its unit net coordinates to the subsequent stage as compared with the input from the previous stage.

この制御コードAの値が“11”であり、“複数のユニットがそれぞれ算出したノルムの中から最小となるノルムを選択するための比較を開始する”ことを示す制御データを受信したユニットにおいて、葉ユニット、および、根ユニットと幹ユニットとの構成とその動作については、図33から図36を用いて後述する。   In the unit that has received the control data indicating that the value of the control code A is “11” and that “a plurality of units start comparison for selecting the minimum norm from the calculated norms”, The configurations and operations of the leaf unit, the root unit, and the trunk unit will be described later with reference to FIGS.

<葉ユニットの構成>
次に、図33を用いて、第5の実施形態における葉ユニットの構成について説明する。なお、第5の実施形態における葉ユニットは、図22の第4の実施形態におけるユニットの構成を全て有している。ここでは、図22の第4の実施形態におけるユニットの構成に対して、追加された第5の実施形態における葉ユニットの構成について説明する。なお、図33の第5の実施形態におけるユニットの構成において、図22の第4の実施形態におけるユニットの構成と同一の構成については、同一の符号を付けその説明を省略する。
<Composition of leaf unit>
Next, the configuration of the leaf unit in the fifth embodiment will be described with reference to FIG. Note that the leaf unit in the fifth embodiment has the entire configuration of the unit in the fourth embodiment of FIG. Here, the configuration of the leaf unit in the fifth embodiment added to the configuration of the unit in the fourth embodiment of FIG. 22 will be described. Note that in the configuration of the unit in the fifth embodiment in FIG. 33, the same configuration as the configuration of the unit in the fourth embodiment in FIG.

葉ユニットは、ユニット制御部216Bと、ビジーフラグ判定部261と、ノルム情報出力部262と、を有する。なお、他の構成については、その説明を省略する。なお、図33において、ビジーフラグ記憶部260は、後段ユニットが有する構成である。   The leaf unit includes a unit control unit 216B, a busy flag determination unit 261, and a norm information output unit 262. Note that description of other configurations is omitted. In FIG. 33, the busy flag storage unit 260 is a configuration of the subsequent unit.

なお、この葉ユニットの構成は、上記の「第5の実施形態におけるユニットの構成の概要」において説明した構成において、以下の構成同士が、それぞれ対応する。まず、ノルム情報出力部262が、葉ノルム情報出力部に対応する。また、ユニット制御部216Bがユニット制御部に対応する。また、ビジーフラグ判定部261がビジーフラグ判定部に対応する。   In addition, the structure of this leaf unit corresponds to the following structures in the structure described in the above “Outline of the structure of the unit in the fifth embodiment”. First, the norm information output unit 262 corresponds to the leaf norm information output unit. The unit controller 216B corresponds to the unit controller. The busy flag determination unit 261 corresponds to the busy flag determination unit.

次に、各構成について説明する。ユニット制御部216Bは、制御コードの値が“11”の制御コードを受信した場合には、制御コードの値が“11”の処理を実行することを示す信号をビジーフラグ判定部261に出力する。   Next, each configuration will be described. When the unit control unit 216B receives a control code having a control code value “11”, the unit control unit 216B outputs a signal indicating that the process having the control code value “11” is executed to the busy flag determination unit 261.

ビジーフラグ判定部261は、制御コードの値が“11”の処理を実行することを示す信号をユニット制御部216Bから入力されたことに応じて、後段ユニットのビジーフラグ記憶部260からユニットビジーフラグバス42を介してビジーフラグを後段ビジーフラグとして読み出して判定し、判定した結果をノルム情報出力部262に出力する。   In response to the input from the unit control unit 216B of the signal indicating that the control code value “11” is executed, the busy flag determination unit 261 receives the unit busy flag bus 42 from the busy flag storage unit 260 of the subsequent unit. The busy flag is read out as a subsequent-stage busy flag to make a determination, and the determination result is output to the norm information output unit 262.

ノルム情報出力部262は、ビジーフラグ判定部261から入力された判定結果が、後段ビジーフラグが立っていないことを示す場合には、ユニットノルム記憶部236Aから読み出したユニットノルムと、ユニットネットワーク座標記憶部234Aから読み出したユニットネットワーク座標とを、ノルム情報として後段ユニットにノルム比較バス41を介して出力する。   When the determination result input from the busy flag determination unit 261 indicates that the subsequent-stage busy flag is not set, the norm information output unit 262 and the unit network coordinate storage unit 234A read the unit norm read from the unit norm storage unit 236A. The unit network coordinates read from are output as norm information to the subsequent unit via the norm comparison bus 41.

<幹ユニットまたは根ユニットの構成>
次に、図34を用いて、第5の実施形態における幹ユニットまたは根ユニットの構成について説明する。なお、図33を用いて説明した第5の実施形態における葉ユニットの構成の説明と同様に、図22の第4の実施形態におけるユニットの構成に対して、変更または追加される構成についてのみ説明する。また、図34の第5の実施形態におけるユニットの構成において、図22の第4の実施形態におけるユニットの構成と同一の構成については、同一の符号を付けその説明を省略する。
<Configuration of trunk unit or root unit>
Next, the configuration of the trunk unit or the root unit in the fifth embodiment will be described with reference to FIG. Similar to the description of the configuration of the leaf unit in the fifth embodiment described with reference to FIG. 33, only the configuration that is changed or added to the configuration of the unit in the fourth embodiment of FIG. 22 will be described. To do. Also, in the configuration of the unit in the fifth embodiment in FIG. 34, the same configuration as the configuration of the unit in the fourth embodiment in FIG.

幹ユニットまたは根ユニットは、ビジーフラグ記憶部260と、ビジーフラグ判定部261と、ノルム情報出力部262と、ノルム情報入力部263と、入力ノルム抽出部270と、入力ノルム記憶部271と、入力ネットワーク座標抽出部272と、入力ネットワーク座標記憶部273と、勝者ノルム判定部274と、勝者ノルム・勝者ネットワーク座標セット部275と、勝者ノルム記憶部276と、勝者ネットワーク座標記憶部277と、前段接続数比較部278と、前段接続数記憶部279と、前段接続数カウンタ部280と、前段接続数カウンタリセット部281と、ユニットビジーフラグセット部282と、を有する。   The stem unit or root unit includes a busy flag storage unit 260, a busy flag determination unit 261, a norm information output unit 262, a norm information input unit 263, an input norm extraction unit 270, an input norm storage unit 271, and input network coordinates. Extraction unit 272, input network coordinate storage unit 273, winner norm determination unit 274, winner norm / winner network coordinate set unit 275, winner norm storage unit 276, winner network coordinate storage unit 277, and previous stage connection number comparison Unit 278, previous connection number storage unit 279, previous connection number counter unit 280, previous connection number counter reset unit 281, and unit busy flag setting unit 282.

なお、この幹ユニットまたは根ユニットの構成は、上記の「第5の実施形態におけるユニットの構成の概要」において説明した構成において、以下の構成同士が、それぞれ対応する。まず、ビジーフラグ記憶部260がユニットビジーフラグ記憶部に対応する。また、ビジーフラグ判定部261がビジーフラグ判定部に対応する。また、ノルム情報出力部262がノルム情報出力部に対応する。また、ノルム情報入力部263がノルム情報入力部に対応する。また、入力ノルム抽出部270と入力ノルム記憶部271と入力ネットワーク座標抽出部272と入力ネットワーク座標記憶部273と勝者ノルム判定部274と勝者ノルム・勝者ネットワーク座標セット部275とが、勝者ノルム情報設定部に対応する。また、勝者ノルム記憶部276と勝者ネットワーク座標記憶部277とが、勝者ノルム情報記憶部に対応する。また、前段接続数比較部278と前段接続数カウンタリセット部281とユニットビジーフラグセット部282とが、前段接続数比較部に対応する。また、前段接続数記憶部279が前段接続数記憶部に対応する。また、前段接続数カウンタ部280が入力回数記憶部に対応する。   The configuration of the trunk unit or the root unit corresponds to the following configurations in the configuration described in the above-mentioned “Overview of the configuration of the unit in the fifth embodiment”. First, the busy flag storage unit 260 corresponds to the unit busy flag storage unit. The busy flag determination unit 261 corresponds to the busy flag determination unit. The norm information output unit 262 corresponds to the norm information output unit. The norm information input unit 263 corresponds to the norm information input unit. Further, the input norm extraction unit 270, the input norm storage unit 271, the input network coordinate extraction unit 272, the input network coordinate storage unit 273, the winner norm determination unit 274, and the winner norm / winner network coordinate set unit 275 are configured to set the winner norm information. Corresponding to the part. The winner norm storage unit 276 and the winner network coordinate storage unit 277 correspond to the winner norm information storage unit. Further, the preceding connection number comparison unit 278, the preceding connection number counter reset unit 281 and the unit busy flag setting unit 282 correspond to the preceding connection number comparison unit. The preceding connection number storage unit 279 corresponds to the preceding connection number storage unit. Further, the upstream connection number counter unit 280 corresponds to the input number storage unit.

次に、各構成について説明する。ユニット制御部216Bは、制御コードの値が“11”の制御コードを受信した場合には、制御コードの値が“11”の処理を実行することを示す信号を勝者ノルム・ネットワーク座標初期セット部284に出力する。また、ユニット制御部216Bは、制御コードの値が“11”の制御コードを受信した場合には、ユニットビジーフラグ記憶部260のビジーフラグをリセットする。   Next, each configuration will be described. When the unit control unit 216B receives a control code having a control code value of “11”, the unit control unit 216B sends a signal indicating that the process having the control code value of “11” is executed to a winner norm network coordinate initial setting unit. To 284. Further, the unit control unit 216B resets the busy flag in the unit busy flag storage unit 260 when it receives a control code whose control code value is “11”.

勝者ノルム・ネットワーク座標初期セット部284は、制御コードの値が“11”の処理を実行することを示す信号をユニット制御部216Bから受信したことに応じて、ユニットノルム記憶部236Aから読み出したユニットノルムを勝者ノルムとして勝者ノルム記憶部276に記憶してセットするとともに、ユニットネットワーク座標記憶部234Aから読み出したユニットネットワーク座標を勝者ネットワーク座標として勝者ネットワーク座標記憶部277に記憶してセットする。   The winner norm network coordinate initial setting unit 284 reads the unit norm storage unit 236A from the unit norm storage unit 236A in response to receiving from the unit control unit 216B a signal indicating that the control code value “11” is executed. The norm is stored and set as the winner norm in the winner norm storage unit 276, and the unit network coordinates read from the unit network coordinate storage unit 234A are stored and set as the winner network coordinates in the winner network coordinate storage unit 277.

ノルム情報入力部263は、ノルム情報が前段ユニットからノルム比較バス41を介して入力されたことに応じて、ユニットビジーフラグ記憶部260のビジーフラグをセットし、前段接続数カウンタ部280に記憶されている前段接続数カウンタの値(t)をカウントアップし、また、入力したノルム情報を入力ノルム抽出部270と入力ネットワーク座標抽出部272とに出力する。   The norm information input unit 263 sets the busy flag of the unit busy flag storage unit 260 in response to the norm information being input from the previous unit via the norm comparison bus 41, and is stored in the previous connection number counter unit 280. And the input norm information is output to the input norm extraction unit 270 and the input network coordinate extraction unit 272.

入力ノルム抽出部270は、ノルム情報がノルム情報入力部263から入力されたことに応じて、入力されたノルム情報からノルムを抽出し、該抽出したノルムを入力ノルムとして入力ノルム記憶部271に記憶する。入力ネットワーク座標抽出部272は、ノルム情報がノルム情報入力部263から入力されたことに応じて、入力されたノルム情報からネットワーク座標を抽出し、該抽出したネットワーク座標を入力ネットワーク座標として入力ネットワーク座標記憶部273に記憶する。   The input norm extraction unit 270 extracts a norm from the input norm information in response to the norm information input from the norm information input unit 263, and stores the extracted norm as an input norm in the input norm storage unit 271. To do. The input network coordinate extraction unit 272 extracts network coordinates from the input norm information in response to the norm information input from the norm information input unit 263, and uses the extracted network coordinates as input network coordinates. Store in the storage unit 273.

勝者ノルム判定部274は、抽出したノルムを入力ノルム抽出部270が入力ノルム記憶部271に記憶したことに応じて、入力ノルム記憶部271から読み出した入力ノルムと、勝者ノルム記憶部276から読み出した勝者ノルムとを比較し、比較した結果を勝者情報として、勝者ノルム・勝者ネットワーク座標セット部275に出力する。   The winner norm determination unit 274 reads the input norm read from the input norm storage unit 271 and the winner norm storage unit 276 in response to the input norm extraction unit 270 storing the extracted norm in the input norm storage unit 271. The winner norm is compared, and the comparison result is output to the winner norm / winner network coordinate set unit 275 as winner information.

勝者ノルム・勝者ネットワーク座標セット部275は、勝者ノルム判定部274から入力した勝者情報が、入力ノルムが勝者ノルムより小さいことを示す場合には、入力ノルム記憶部271から読み出した入力ノルムを勝者ノルムとして勝者ノルム記憶部276に記憶してセットするとともに、入力ネットワーク座標記憶部273から読み出した入力ネットワーク座標を勝者ネットワーク座標として勝者ネットワーク座標記憶部277に記憶してセットする。   When the winner information input from the winner norm determination unit 274 indicates that the input norm is smaller than the winner norm, the winner norm / winner network coordinate set unit 275 displays the input norm read from the input norm storage unit 271 as the winner norm. Are stored in the winner norm storage unit 276 and the input network coordinates read from the input network coordinate storage unit 273 are stored and set in the winner network coordinate storage unit 277 as the winner network coordinates.

また、勝者ノルム・勝者ネットワーク座標セット部275は、勝者ノルム判定部274から入力した勝者情報による勝者ノルム・勝者ネットワーク座標セット部275の処理が終了したことに応じて、勝者ノルム判定部274から入力した勝者情報による勝者ノルム・勝者ネットワーク座標セット部275の処理が終了したことを示す信号を前段接続数比較部278に出力する。   The winner norm / winner network coordinate set unit 275 is input from the winner norm determination unit 274 in response to the completion of the processing of the winner norm / winner network coordinate set unit 275 by the winner information input from the winner norm determination unit 274. A signal indicating that the processing of the winner norm / winner network coordinate setting unit 275 based on the winner information is completed is output to the preceding connection number comparison unit 278.

前段接続数記憶部279には、自ユニットが接続される前段ユニットの総数である前段接続数の値(in)が、予め記憶されている。前段接続数比較部278は、勝者ノルム判定部274から入力した勝者情報による勝者ノルム・勝者ネットワーク座標セット部275の処理が終了したことを示す信号を入力することに応じて、前段接続数カウンタ部から読み出した前段接続数カウンタの値(t)と、前段接続数記憶部279から読み出した前段接続数の値(in)とを、比較する。また、前段接続数比較部278は、比較した結果が、前段接続数カウンタの値(t)と前段接続数の値(in)とが一致しない場合には、ユニットビジーフラグ記憶部260のビジーフラグをリセットする。   In the preceding connection number storage unit 279, a value (in) of the preceding connection number that is the total number of preceding units to which the own unit is connected is stored in advance. The upstream connection number comparison unit 278 receives the signal indicating that the processing of the winner norm / winner network coordinate setting unit 275 based on the winner information input from the winner norm determination unit 274 is completed, and the upstream connection number counter unit The value (t) of the previous stage connection number counter read from the previous stage and the value (in) of the previous stage connection number read from the previous stage connection number storage unit 279 are compared. Further, when the comparison result shows that the value (t) of the preceding connection number counter and the value (in) of the preceding connection number do not match, the preceding connection number comparing unit 278 sets the busy flag of the unit busy flag storage unit 260. Reset.

前段接続数カウンタリセット部281は、前段接続数比較部278の比較した結果が、前段接続数カウンタの値(t)と前段接続数の値(in)とが一致することに応じて、前段接続数カウンタ部280に記憶されている前段接続数カウンタの値(t)を0にリセットする。ユニットビジーフラグセット部282は、前段接続数カウンタリセット部281が前段接続数カウンタ部280に記憶されている前段接続数カウンタの値(t)を0にリセットしたことに応じて、ユニットビジーフラグ記憶部260のユニットビジーフラグをセットする。   The pre-stage connection number counter reset unit 281 determines that the comparison result of the pre-stage connection number comparison unit 278 indicates that the pre-stage connection number counter value (t) matches the pre-stage connection number counter value (in). The value (t) of the preceding stage connection number counter stored in the number counter unit 280 is reset to zero. The unit busy flag setting unit 282 stores the unit busy flag in response to the previous stage connection number counter reset unit 281 resetting the value (t) of the previous stage connection number counter stored in the previous stage connection number counter unit 280 to 0. The unit busy flag of the unit 260 is set.

ビジーフラグ判定部261は、ユニットビジーフラグセット部282がユニットビジーフラグ記憶部260のユニットビジーフラグをセットしたことに応じて、後段ユニットのビジーフラグ記憶部260からユニットビジーフラグバス42を介してビジーフラグを後段ビジーフラグとして読み出して判定することにより、後段ビジーフラグが立っているか否かを判定し、判定結果をノルム情報出力部262に出力する。   In response to the unit busy flag setting unit 282 setting the unit busy flag in the unit busy flag storage unit 260, the busy flag determination unit 261 sets the busy flag to the subsequent stage via the unit busy flag bus 42 from the busy flag storage unit 260 of the subsequent unit. By reading and determining as the busy flag, it is determined whether or not the subsequent busy flag is set, and the determination result is output to the norm information output unit 262.

ノルム情報出力部262は、ビジーフラグ判定部261から入力した判定結果が、後段ビジーフラグが立っていないことを示すことに応じて、勝者ノルム記憶部276から読み出した勝者ノルムと、勝者ネットワーク座標記憶部277から読み出した勝者ネットワーク座標とを、ノルム情報として後段ユニットにノルム比較バス41を介して出力する。また、ノルム情報出力部262は、ビジーフラグ判定部261から入力した判定結果が、後段ビジーフラグが立っていないことを示すことに応じて、勝者ノルム記憶部276に予め定められた負値の値であるノルムを記憶することによりリセットするとともに、勝者ネットワーク座標記憶部277に記憶されている勝者ネットワーク座標をリセットする。   The norm information output unit 262 receives the winner norm read from the winner norm storage unit 276 and the winner network coordinate storage unit 277 in response to the determination result input from the busy flag determination unit 261 indicating that the subsequent busy flag is not set. The winner network coordinates read from are output as norm information to the subsequent unit via the norm comparison bus 41. Further, the norm information output unit 262 is a negative value predetermined in the winner norm storage unit 276 in response to the determination result input from the busy flag determination unit 261 indicating that the subsequent-stage busy flag is not set. While resetting by storing the norm, the winner network coordinates stored in the winner network coordinate storage unit 277 are reset.

<第5の実施形態におけるユニットの動作>
次に、図35を用いて、図32で説明した制御データのプロトコルを受信した場合の、ユニットの動作、特に、ユニットのユニット制御部216Bの動作について説明する。なお、説明の簡略のために、以降においては制御コードAの値を用いて説明する。
<Operation of Unit in Fifth Embodiment>
Next, the operation of the unit when the control data protocol described in FIG. 32 is received, particularly the operation of the unit control unit 216B of the unit, will be described with reference to FIG. For the sake of simplicity, the following description will be made using the value of the control code A.

なお、この図35の第5の実施形態におけるユニット制御部216Bの動作において、図24の第4の実施形態におけるユニット制御部216Bの動作と同一の動作については、同一のステップ番号を付け、その説明を省略する。ここでは、図35の第5の実施形態におけるユニット制御部216Bの動作において、図24の第4の実施形態におけるユニット制御部216Bの動作と異なる動作についてのみ説明する。   In the operation of the unit controller 216B in the fifth embodiment of FIG. 35, the same operation as the operation of the unit controller 216B in the fourth embodiment of FIG. Description is omitted. Here, in the operation of the unit controller 216B in the fifth embodiment of FIG. 35, only the operation different from the operation of the unit controller 216B in the fourth embodiment of FIG. 24 will be described.

ステップS2402で、読み出した制御コードの値が“11”である場合には、ユニット制御部216Bは、上記に説明した選択処理11を実行し(ステップS2413)、処理を終了する。つまり、図35の第5の実施形態におけるユニット制御部216Bの動作には、図24の第4の実施形態におけるユニット制御部216Bの動作に対して、ステップS2402の次に、読み出した制御コードの値が“11”である場合の動作であるステップS2413が追加されている点が異なる。   If the value of the read control code is “11” in step S2402, the unit control unit 216B executes the selection process 11 described above (step S2413) and ends the process. That is, the operation of the unit control unit 216B in the fifth embodiment in FIG. 35 is the same as the operation of the unit control unit 216B in the fourth embodiment in FIG. The difference is that step S2413, which is the operation when the value is "11", is added.

次に、図36を用いて第5の実施形態におけるユニットの動作について説明する。なお、葉ユニットと、幹ユニットまたは根ユニットとでは、図33と図34とを用いて示したように、ユニットの構成が異なるので、葉ユニットと、幹ユニットまたは根ユニットとに分けて、ユニットの動作について説明する。   Next, the operation of the unit in the fifth embodiment will be described with reference to FIG. As shown in FIGS. 33 and 34, the leaf unit and the stem unit or root unit have different unit configurations. Therefore, the leaf unit and the stem unit or root unit are divided into unit units. Will be described.

<葉ユニットの動作>
まず、図36(a)を用いて、葉ユニットの動作を説明する。
ユニット制御部216Bが、制御コードの値が“11”の処理を実行することを判定した場合には、まず、ビジーフラグ判定部261が、後段ユニットのビジーフラグ記憶部260からユニットビジーフラグバス42を介してビジーフラグを後段ビジーフラグとして読み出して判定することにより、後段ビジーフラグが立っているか否かを判定する(ステップS3601)。ステップS3601の判定結果が、後段ビジーフラグが立っている場合には、後段ビジーフラグが立つまでステップS3601からの処理を繰り返す。
<Operation of leaf unit>
First, the operation of the leaf unit will be described with reference to FIG.
When the unit control unit 216B determines that the process with the control code value “11” is executed, first, the busy flag determination unit 261 first sends the busy flag storage unit 260 of the subsequent unit via the unit busy flag bus 42. Then, the busy flag is read and determined as the subsequent busy flag to determine whether or not the subsequent busy flag is set (step S3601). If the determination result of step S3601 is that the subsequent-stage busy flag is set, the processing from step S3601 is repeated until the subsequent-stage busy flag is set.

一方、ステップS3601の判定結果が、後段ビジーフラグが立っていない場合には、ノルム情報出力部262が、ユニットノルム記憶部236Aから読み出したユニットノルムと、ユニットネットワーク座標記憶部234Aから読み出したユニットネットワーク座標とを、ノルム情報として後段ユニットにノルム比較バス41を介して出力し(ステップS36102)、処理を戻す。   On the other hand, if the determination result in step S3601 is that the subsequent busy flag is not set, the norm information output unit 262 reads the unit norm read from the unit norm storage unit 236A and the unit network coordinates read from the unit network coordinate storage unit 234A. As norm information to the subsequent unit via the norm comparison bus 41 (step S36102), and the process returns.

<幹ユニットまたは根ユニットの動作>
次に、図36(b)を用いて、幹ユニットまたは根ユニットの動作を説明する。
ユニット制御部216Bが、制御コードの値が“11”の処理を実行することを判定した場合には、ユニット制御部216Bが、ユニットビジーフラグ記憶部260のビジーフラグをリセットする。次に、制御コードの値が“11”の処理を実行することを判定したことに応じて、勝者ノルム・ネットワーク座標初期セット部284が、ユニットノルム記憶部236Aから読み出したユニットノルムを勝者ノルムとして勝者ノルム記憶部276に記憶してセットするとともに、ユニットネットワーク座標記憶部234Aから読み出したユニットネットワーク座標を勝者ネットワーク座標として勝者ネットワーク座標記憶部277に記憶してセットする(ステップS36201)。その後、ノルム情報入力部263が、ノルム情報が前段ユニットから入力されるのを待機する。
<Operation of trunk unit or root unit>
Next, the operation of the trunk unit or the root unit will be described with reference to FIG.
When the unit control unit 216B determines that the process with the control code value “11” is executed, the unit control unit 216B resets the busy flag in the unit busy flag storage unit 260. Next, in response to determining that the control code value “11” is to be executed, the winner norm / network coordinate initial setting unit 284 sets the unit norm read from the unit norm storage unit 236A as the winner norm. The unit network coordinates read from the unit network coordinate storage unit 234A are stored and set in the winner network coordinate storage unit 277 as the winner network coordinates while being set in the winner norm storage unit 276 (step S36201). Thereafter, the norm information input unit 263 waits for norm information to be input from the preceding unit.

次に、ノルム情報入力部263に、ノルム情報が前段ユニットからノルム比較バス41を介して入力したことに応じて(ステップS36202)、ノルム情報入力部263が、ユニットビジーフラグ記憶部260のビジーフラグをセットする。また、ノルム情報入力部263が、前段接続数カウンタ部280に記憶されている前段接続数カウンタの値(t)をカウントアップする(ステップS36203)とともに、ノルム情報入力部263が、入力したノルム情報を入力ノルム抽出部270と入力ネットワーク座標抽出部272に出力する。   Next, in response to the norm information being input to the norm information input unit 263 from the previous unit via the norm comparison bus 41 (step S36202), the norm information input unit 263 sets the busy flag of the unit busy flag storage unit 260. set. In addition, the norm information input unit 263 counts up the value (t) of the previous connection number counter stored in the previous connection number counter unit 280 (step S36203), and the norm information input unit 263 inputs the norm information. Are output to the input norm extraction unit 270 and the input network coordinate extraction unit 272.

次に、ノルム情報が入力された入力ノルム抽出部270が、入力されたノルム情報からノルムを抽出し、該抽出したノルムを入力ノルムとして入力ノルム記憶部271に記憶する。また、ノルム情報が入力された入力ネットワーク座標抽出部272が、入力されたノルム情報からネットワーク座標を抽出し、該抽出したネットワーク座標を入力ネットワーク座標として入力ネットワーク座標記憶部273に記憶する。   Next, the input norm extraction unit 270 to which the norm information is input extracts a norm from the input norm information, and stores the extracted norm as an input norm in the input norm storage unit 271. The input network coordinate extraction unit 272 to which norm information is input extracts network coordinates from the input norm information, and stores the extracted network coordinates as input network coordinates in the input network coordinate storage unit 273.

次に、入力ノルム抽出部270が抽出したノルムを入力ノルム記憶部271に記憶したことに応じて、勝者ノルム判定部274が、入力ノルム記憶部271から読み出した入力ノルムと、勝者ノルム記憶部276から読み出した勝者ノルムとを、比較する(ステップS36204)。   Next, in response to storing the norm extracted by the input norm extraction unit 270 in the input norm storage unit 271, the winner norm determination unit 274 reads the input norm from the input norm storage unit 271, and the winner norm storage unit 276. The winner norm read out from is compared (step S36204).

ステップS36204で比較した結果が、入力ノルムが勝者ノルムより小さい場合には、勝者ノルム・勝者ネットワーク座標セット部275が、入力ノルム記憶部271から読み出した入力ノルムを勝者ノルムとして勝者ノルム記憶部276に記憶してセットするとともに、入力ネットワーク座標記憶部273から読み出した入力ネットワーク座標を勝者ネットワーク座標として勝者ネットワーク座標記憶部277に記憶してセットする(ステップS36205)。   If the result of comparison in step S36204 is that the input norm is smaller than the winner norm, the winner norm / winner network coordinate set unit 275 uses the input norm read from the input norm storage unit 271 as the winner norm in the winner norm storage unit 276. In addition to storing and setting, the input network coordinates read from the input network coordinate storage unit 273 are stored and set in the winner network coordinate storage unit 277 as the winner network coordinates (step S36205).

一方、ステップS36204で比較した結果が、入力ノルムが勝者ノルムより小さくない場合には、または、ステップS36205の次には、つまり、勝者ノルム判定部274から入力した比較結果である勝者情報を入力したことによる処理を勝者ノルム・勝者ネットワーク座標セット部275が実行したことに応じて、前段接続数比較部278が、前段接続数カウンタ部から読み出した前段接続数カウンタの値(t)と、前段接続数記憶部279から読み出した前段接続数の値(in)とを、比較する(ステップS36206)。   On the other hand, if the result of comparison in step S36204 is not smaller than the input norm, or after step S36205, that is, winner information that is the comparison result input from the winner norm determination unit 274 is input. In response to the fact that the winner norm / winner network coordinate setting unit 275 has executed the above process, the preceding connection number comparison unit 278 reads the preceding connection number counter value (t) read from the preceding connection number counter unit, and the previous connection The value (in) of the number of previous-stage connections read from the number storage unit 279 is compared (step S36206).

ステップS36206で比較した結果が、前段接続数カウンタの値(t)と前段接続数の値(in)とが一致しない場合には、前段接続数比較部278が、ユニットビジーフラグ記憶部260のビジーフラグをリセットし、ステップS36202からの処理を繰り返させる。一方、ステップS36206で比較した結果が、前段接続数カウンタの値(t)と前段接続数の値(in)とが一致する場合には、前段接続数カウンタリセット部281が、前段接続数カウンタ部280に記憶されている前段接続数カウンタの値(t)を0にリセットする(ステップS36207)。   If the result of the comparison in step S36206 shows that the value (t) of the preceding connection number counter does not match the value (in) of the preceding connection number, the preceding connection number comparison unit 278 makes the busy flag stored in the unit busy flag storage unit 260. Is reset, and the processing from step S36202 is repeated. On the other hand, if the comparison result in step S36206 shows that the value (t) of the preceding connection number counter matches the value (in) of the preceding connection number, the preceding connection number counter reset unit 281 displays the preceding connection number counter unit. The value (t) of the preceding stage connection number counter stored in 280 is reset to 0 (step S36207).

次に、ユニットビジーフラグセット部282が、ユニットビジーフラグ記憶部260のユニットビジーフラグをセットする。次に、ビジーフラグ判定部261が、後段ユニットのビジーフラグ記憶部260からユニットビジーフラグバス42を介してビジーフラグを後段ビジーフラグとして読み出して判定することにより、後段ビジーフラグが立っているか否かを判定する(ステップS36201)。ステップS36208の判定結果が、後段ビジーフラグが立っている場合には、後段ビジーフラグが立つまで、ステップS36208からの処理を繰り返す。   Next, the unit busy flag setting unit 282 sets the unit busy flag in the unit busy flag storage unit 260. Next, the busy flag determination unit 261 reads the busy flag from the busy flag storage unit 260 of the subsequent unit via the unit busy flag bus 42 as a subsequent busy flag, and determines whether the subsequent busy flag is set (step) S3621). If the determination result of step S36208 shows that the subsequent-stage busy flag is set, the processing from step S36208 is repeated until the subsequent-stage busy flag is set.

一方、ステップS36208の判定結果が、後段ビジーフラグが立っていない場合には、ノルム情報出力部262が、勝者ノルム記憶部276から読み出した勝者ノルムと、勝者ネットワーク座標記憶部277から読み出した勝者ネットワーク座標とを、ノルム情報として後段ユニットにノルム比較バス41を介して出力し(ステップS36209)、処理を戻す。また、ステップS36208の判定結果が、後段ビジーフラグが立っていない場合には、ノルム情報出力部262が、勝者ノルム記憶部276に予め定められた負値の値であるノルムを記憶することによりリセットするとともに、勝者ネットワーク座標記憶部277に記憶されている勝者ネットワーク座標をリセットする。   On the other hand, if the determination result of step S36208 is that the latter busy flag is not set, the norm information output unit 262 reads the winner norm read from the winner norm storage unit 276 and the winner network coordinates read from the winner network coordinate storage unit 277. As norm information to the subsequent unit via the norm comparison bus 41 (step S36209), and the process returns. If the determination result of step S36208 indicates that the subsequent busy flag is not set, the norm information output unit 262 resets the winner norm storage unit 276 by storing a norm that is a predetermined negative value. At the same time, the winner network coordinates stored in the winner network coordinate storage unit 277 are reset.

<第5の実施形態における並列演算装置の動作(分配制御部8の動作)>
次に、図37を用いて、第5の実施形態における並列演算装置の動作、つまり、第2の基本構成による並列演算装置を自己組織化マップに適応した場合の並列演算装置の動作について説明する。なお、ここでは、図22から図26を用いて説明した第4の実施形態における並列演算装置の動作について、追加または変更される部分のみについて説明する。
<Operation of Parallel Computing Device in Fifth Embodiment (Operation of Distribution Control Unit 8)>
Next, using FIG. 37, the operation of the parallel arithmetic device in the fifth embodiment, that is, the operation of the parallel arithmetic device when the parallel arithmetic device according to the second basic configuration is applied to the self-organizing map will be described. . Here, only the added or changed part of the operation of the parallel computing device in the fourth embodiment described with reference to FIGS. 22 to 26 will be described.

図26の分配制御部8の動作から図37の分配制御部8の動作について、変更される動作のステップは、図26(a)を用いて説明した競合学習の処理であり、より詳細には、図26の分配制御部8のステップS250306からステップS250310が、図37の分配制御部8のステップS250312からステップS250313に、変更される。   The operation step changed from the operation of the distribution control unit 8 in FIG. 26 to the operation of the distribution control unit 8 in FIG. 37 is the contention learning process described with reference to FIG. 26, step S250306 to step S250310 of distribution control unit 8 in FIG. 26 are changed from step S250312 to step S250313 of distribution control unit 8 in FIG.

このステップS250312で、分配制御部8は、制御コードAの値を“11”とした制御データを各ユニットに出力する。次に、ステップS250313で、分配制御部8は、根ユニットがノルム比較バス41を介して出力したノルム情報に含まれるユニットネットワーク座標を、ノルム最小ユニットネットワーク座標jminとして入力する。   In step S250312, the distribution control unit 8 outputs control data in which the value of the control code A is “11” to each unit. Next, in step S250313, the distribution control unit 8 inputs the unit network coordinates included in the norm information output by the root unit via the norm comparison bus 41 as the norm minimum unit network coordinates jmin.

第4の実施形態による分配制御部8は、ステップS250306からステップS250310により、分配制御部8が、全てのユニットから順にノルムを入力して、分配制御部8が、入力された全てのユニットの中からノルムが最小となるノルムのユニットネットワーク座標を選択していたのに対して、第5の実施形態による分配制御部8は、制御コードAの値を“11”とした制御データを各ユニットに出力し、根ユニットから出力されるユニットネットワーク座標を入力するだけでよい。
従って、第4の実施形態による分配制御部8での処理に対して第5の実施形態による分配制御部8での処理は簡易となるとともに、ノルムの比較が各ユニットにより並列的に実行されるために、比較が早くなるという効果を奏する。
In the distribution control unit 8 according to the fourth embodiment, in steps S250306 to S250310, the distribution control unit 8 inputs the norm in order from all units, and the distribution control unit 8 includes all of the input units. Is selected from the unit network coordinates of the norm that minimizes the norm from the distribution control unit 8 according to the fifth embodiment, the control data in which the value of the control code A is “11” is assigned to each unit. It is only necessary to output and input the unit network coordinates output from the root unit.
Therefore, the processing in the distribution control unit 8 according to the fifth embodiment is simplified as compared with the processing in the distribution control unit 8 according to the fourth embodiment, and norm comparison is executed in parallel by each unit. Therefore, there is an effect that the comparison becomes faster.

<ユニットの配置の第2例>
次に、図38を用いて、ユニットを2次元平面に配置した場合に、上記に説明したトーナメント方式により、最小となるユニットを選択する方法の第2例目について説明する。この図38において、根ユニットはU(7,5)であり、葉ユニットは、色を付けてあるユニットであり、幹ユニットは無地のユニットであり、また、比較の順序は、図中の矢印に沿って順に実行される。図38におけるユニットにおけるノルムの比較は、図29におけるユニットにおけるノルムの比較と、ほぼ同様である。
<Second example of unit arrangement>
Next, a second example of a method for selecting the smallest unit by the tournament method described above when the units are arranged on a two-dimensional plane will be described with reference to FIG. In FIG. 38, the root unit is U (7, 5), the leaf unit is a colored unit, the trunk unit is a plain unit, and the order of comparison is indicated by the arrows in the figure. Are executed in order. The comparison of norms in units in FIG. 38 is substantially the same as the comparison of norms in units in FIG.

ただし、図29を用いて説明したユニットの配置と比較の順序においては、1つのユニットに対して、ほぼ同時となるタイミングではノルムが入力されないように、比較の順序が予め設定されていた。これに対して、図38に例示するユニットの配置と比較の順序においては、1つのユニットに対して、ほぼ同時のタイミングで、ノルムが入力されるユニットもあるようにして、比較の順序が予め設定されている。   However, in the arrangement of units and the comparison order described with reference to FIG. 29, the comparison order is set in advance so that the norm is not input at almost the same timing for one unit. On the other hand, in the arrangement and comparison order of the units illustrated in FIG. 38, the comparison order is set in advance so that there is a unit in which the norm is input at almost the same timing for one unit. Is set.

一般に、1つのユニットに対して、ほぼ同時のタイミングでノルムが入力されることも可能とすることにより、比較の順序の回数が少なくなるような順序を設定することが可能となるために、ユニット全体でノルムを比較するのに要する時間を短縮することが可能である。   In general, by allowing norms to be input to one unit at almost the same timing, it is possible to set an order that reduces the number of comparison orders. It is possible to shorten the time required for comparing the norms as a whole.

<ユニットの構成の変更点>
ほぼ同時のタイミングでノルムが入力されることも可能とするために、図33から図37を用いて説明した葉ユニット、または、幹ユニットと根ユニットにおいて、ユニットの構成において変更される構成と、その動作についてのみ説明する。
まず、葉ユニットの構成においては、変更点はなく、同一である。また、葉ユニットの動作は、図39(a)に示すように、図36(a)と同一である。
<Changes in unit configuration>
In order to enable the norm to be input at almost the same timing, in the leaf unit described with reference to FIGS. 33 to 37, or in the trunk unit and the root unit, the configuration changed in the unit configuration, Only the operation will be described.
First, the configuration of the leaf unit is the same with no changes. The operation of the leaf unit is the same as that in FIG. 36A as shown in FIG.

次に、幹ユニットまたは根ユニットにおいては、入力されるノルム情報を、前段接続数カウンタの値(t)と関連付けて記憶しておき、前段接続数カウンタの値(t)に基いて、順に読み出して比較することにより、ほぼ同時のタイミングでノルムが入力されることも可能とする。   Next, in the trunk unit or the root unit, the input norm information is stored in association with the value (t) of the preceding connection number counter, and sequentially read based on the value (t) of the preceding connection number counter. Thus, the norm can be input at almost the same timing.

幹ユニットまたは根ユニットの構成において、変更がある構成のみについて説明する。入力ノルム抽出部270は、ノルム情報がノルム情報入力部263から入力されたことに応じて、入力されたノルム情報からノルムを抽出し、該抽出したノルムを入力ノルムとして、前段接続数カウンタ部280から読み出した前段接続数カウンタの値(t)と関連付けて、入力ノルム記憶部271に記憶する。   In the configuration of the trunk unit or the root unit, only the configuration having a change will be described. The input norm extraction unit 270 extracts the norm from the input norm information in response to the norm information being input from the norm information input unit 263, and uses the extracted norm as the input norm, the pre-stage connection number counter unit 280. Is stored in the input norm storage unit 271 in association with the value (t) of the previous connection number counter read out from.

入力ネットワーク座標抽出部272は、ノルム情報がノルム情報入力部263から入力されたことに応じて、入力されたノルム情報からネットワーク座標を抽出し、該抽出したネットワーク座標を、前段接続数カウンタ部280から読み出した前段接続数カウンタの値(t)と関連付けて、入力ネットワーク座標として入力ネットワーク座標記憶部273に記憶する。   The input network coordinate extraction unit 272 extracts network coordinates from the input norm information in response to the norm information input from the norm information input unit 263, and uses the extracted network coordinates as the preceding connection number counter unit 280. Is stored in the input network coordinate storage unit 273 as input network coordinates in association with the value (t) of the previous connection number counter read out from.

勝者ノルム判定部274は、抽出したノルムを入力ノルム抽出部270が入力ノルム記憶部271に記憶したことに応じて、または、前段接続数比較部278の比較した結果が、前段接続数カウンタの値(t)と前段接続数の値(in)とが一致しないことに応じて、前段接続数カウンタ部280から読み出した前段接続数カウンタの値(t)に該当する入力ノルムを入力ノルム記憶部271から読み出し、該読み出した入力ノルムと、勝者ノルム記憶部276から読み出した勝者ノルムとを比較し、比較した結果を勝者情報として、勝者ノルム・勝者ネットワーク座標セット部275に出力する。   The winner norm determination unit 274 determines whether the extracted norm is stored in the input norm storage unit 271 by the input norm extraction unit 270 or the comparison result of the previous connection number comparison unit 278 indicates the value of the previous connection number counter. In response to the fact that (t) and the value (in) of the number of previous-stage connections do not match, the input norm corresponding to the value (t) of the previous-stage connection number counter read from the previous-stage connection number counter unit 280 is input to the input norm storage unit 271. The read input norm and the winner norm read from the winner norm storage unit 276 are compared, and the comparison result is output to the winner norm / winner network coordinate set unit 275 as winner information.

<幹ユニットまたは根ユニットの動作の変更点>
次に、図39(b)を用いて、幹ユニットまたは根ユニットの動作を説明する。なお、図36(b)のステップS36201からステップS36209と、図39(b)のステップS39201からステップS39209とが、それぞれ対応する。ここでは、図36(b)のステップの処理と、図39(b)のステップの処理とにおいて、異なる処理を中心に説明する。
<Changes in operation of trunk unit or root unit>
Next, the operation of the trunk unit or the root unit will be described with reference to FIG. Note that steps S36201 to S36209 in FIG. 36B correspond to steps S39201 to S39209 in FIG. 39B, respectively. Here, the description will focus on the different processing between the processing of the step in FIG. 36B and the processing of the step in FIG.

ユニット制御部216Bが、制御コードの値が“11”の処理を実行することを判定した場合には、ユニット制御部216Bが、ユニットビジーフラグ記憶部260のビジーフラグをリセットする。次に、制御コードの値が“11”の処理を実行することを判定したことに応じて、勝者ノルム・ネットワーク座標初期セット部284が、ユニットノルム記憶部236Aから読み出したユニットノルムを勝者ノルムとして勝者ノルム記憶部276に記憶してセットするとともに、ユニットネットワーク座標記憶部234Aから読み出したユニットネットワーク座標を勝者ネットワーク座標として勝者ネットワーク座標記憶部277に記憶してセットする(ステップS39201)。その後、ノルム情報入力部263が、ノルム情報が前段ユニットから入力されるのを待機する。   When the unit control unit 216B determines that the process with the control code value “11” is executed, the unit control unit 216B resets the busy flag in the unit busy flag storage unit 260. Next, in response to determining that the control code value “11” is to be executed, the winner norm / network coordinate initial setting unit 284 sets the unit norm read from the unit norm storage unit 236A as the winner norm. The unit network coordinates read from the unit network coordinate storage unit 234A are stored in the winner network coordinate storage unit 277 and set as the winner network coordinates (step S39201). Thereafter, the norm information input unit 263 waits for norm information to be input from the preceding unit.

次に、ノルム情報入力部263に、ノルム情報が前段ユニットからノルム比較バス41を介して入力したことに応じて(ステップS39202)、ノルム情報入力部263が、ユニットビジーフラグ記憶部260のビジーフラグをセットする。また、ノルム情報入力部263が、前段接続数カウンタ部280に記憶されている前段接続数カウンタの値(t)をカウントアップする(ステップS39203)とともに、ノルム情報入力部263が、入力したノルム情報を入力ノルム抽出部270と入力ネットワーク座標抽出部272に出力する。   Next, in response to the input of norm information from the preceding unit to the norm information input unit 263 via the norm comparison bus 41 (step S39202), the norm information input unit 263 sets the busy flag of the unit busy flag storage unit 260. set. In addition, the norm information input unit 263 counts up the value (t) of the preceding connection number counter stored in the preceding connection number counter unit 280 (step S39203), and the norm information input unit 263 inputs the norm information. Are output to the input norm extraction unit 270 and the input network coordinate extraction unit 272.

次に、ノルム情報が入力された入力ノルム抽出部270が、入力されたノルム情報からノルムを抽出し、該抽出したノルムを入力ノルムとして、前段接続数カウンタ部280から読み出した前段接続数カウンタの値(t)と関連付けて、入力ノルム記憶部271に記憶する。また、ノルム情報が入力された入力ネットワーク座標抽出部272が、入力されたノルム情報からネットワーク座標を抽出し、該抽出したネットワーク座標を入力ネットワーク座標として、前段接続数カウンタ部280から読み出した前段接続数カウンタの値(t)と関連付けて、入力ネットワーク座標記憶部273に記憶する。   Next, the input norm extraction unit 270 to which the norm information is input extracts the norm from the input norm information, and the extracted norm is used as the input norm of the preceding connection number counter 280 read from the preceding connection number counter 280. The value is stored in the input norm storage unit 271 in association with the value (t). Also, the input network coordinate extraction unit 272 to which norm information is input extracts network coordinates from the input norm information, and the previous stage connection read out from the previous stage connection number counter unit 280 using the extracted network coordinates as input network coordinates. It is stored in the input network coordinate storage unit 273 in association with the value (t) of the number counter.

次に、入力ノルム抽出部270が抽出したノルムを入力ノルム記憶部271に記憶したことに応じて、勝者ノルム判定部274が、前段接続数カウンタ部280から読み出した前段接続数カウンタの値(t)に該当する入力ノルムを入力ノルム記憶部271から読み出し、該読み出した入力ノルムと、勝者ノルム記憶部276から読み出した勝者ノルムとを、比較する(ステップS39204)。   Next, in response to storing the norm extracted by the input norm extraction unit 270 in the input norm storage unit 271, the value (t of the previous connection number counter read by the winner norm determination unit 274 from the previous connection number counter unit 280) ) Is read from the input norm storage unit 271 and the read input norm is compared with the winner norm read from the winner norm storage unit 276 (step S39204).

ステップS39204で比較した結果が、入力ノルムが勝者ノルムより小さい場合には、勝者ノルム・勝者ネットワーク座標セット部275が、入力ノルム記憶部271から読み出した入力ノルムを勝者ノルムとして勝者ノルム記憶部276に記憶してセットするとともに、入力ネットワーク座標記憶部273から読み出した入力ネットワーク座標を勝者ネットワーク座標として勝者ネットワーク座標記憶部277に記憶してセットする(ステップS39205)。   If the result of the comparison in step S39204 is that the input norm is smaller than the winner norm, the winner norm / winner network coordinate set unit 275 uses the input norm read from the input norm storage unit 271 as the winner norm in the winner norm storage unit 276. The input network coordinates read from the input network coordinate storage unit 273 are stored and set in the winner network coordinate storage unit 277 as the winner network coordinates (step S39205).

一方、ステップS39204で比較した結果が、入力ノルムが勝者ノルムより小さくない場合には、または、ステップS39205の次には、つまり、勝者ノルム判定部274から入力した比較結果である勝者情報を入力したことによる処理を勝者ノルム・勝者ネットワーク座標セット部275が実行したことに応じて、前段接続数比較部278が、前段接続数カウンタ部から読み出した前段接続数カウンタの値(t)と、前段接続数記憶部279から読み出した前段接続数の値(in)とを、比較する(ステップS39206)。   On the other hand, if the result of comparison in step S39204 is not smaller than the input norm, or after step S39205, that is, winner information that is the comparison result input from the winner norm determination unit 274 is input. In response to the fact that the winner norm / winner network coordinate setting unit 275 has executed the above process, the preceding connection number comparison unit 278 reads the preceding connection number counter value (t) read from the preceding connection number counter unit, and the previous connection The value (in) of the number of previous-stage connections read from the number storage unit 279 is compared (step S39206).

ステップS39206で比較した結果が、前段接続数カウンタの値(t)と前段接続数の値(in)とが一致しない場合には、前段接続数比較部278が、ユニットビジーフラグ記憶部260のビジーフラグをリセットし、ステップS39203からの処理を繰り返させる。一方、ステップS39206で比較した結果が、前段接続数カウンタの値(t)と前段接続数の値(in)とが一致する場合には、前段接続数カウンタリセット部281が、前段接続数カウンタ部280に記憶されている前段接続数カウンタの値(t)を0にリセットする(ステップS39207)。   If the result of the comparison in step S39206 shows that the value (t) of the preceding connection number counter does not match the value (in) of the preceding connection number, the preceding connection number comparison unit 278 causes the busy flag in the unit busy flag storage unit 260 to be busy. Is reset, and the processing from step S39203 is repeated. On the other hand, if the result of the comparison in step S39206 shows that the value (t) of the previous connection number counter matches the value (in) of the previous connection number, the previous connection number counter reset unit 281 displays the previous connection number counter unit. The value (t) of the upstream connection number counter stored in 280 is reset to 0 (step S39207).

以降の処理においては、図36(b)のステップの処理と、図39(b)のステップの処理とは、同一であるため、その説明を省略する。   In the subsequent processing, the processing of the step in FIG. 36B and the processing of the step in FIG. 39B are the same, and thus the description thereof is omitted.

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

以上、この発明の実施形態を、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。   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. 第2の基本構成による並列演算装置の構成を示すブロック図である。It is a block diagram which shows the structure of the parallel arithmetic unit by a 2nd basic composition. 図14のユニットの構成を示すブロック図である。It is a block diagram which shows the structure of the unit of FIG. 図14の分配制御部8の構成を示すブロック図である。It is a block diagram which shows the structure of the distribution control part 8 of FIG. 階層型ニューラルネットワークにおける図14のユニットの構成を示すブロック図である。It is a block diagram which shows the structure of the unit of FIG. 14 in a hierarchical neural network. 図14の階層型ニューラルネットワークにおけるプロトコル表である。15 is a protocol table in the hierarchical neural network of FIG. 図14の各ユニットの動作を説明するフローチャートである。It is a flowchart explaining operation | movement of each unit of FIG. 図14の分配制御部8の動作を説明するフローチャートその1である。It is the flowchart 1 explaining operation | movement of the distribution control part 8 of FIG. 図14の分配制御部8の動作を説明するフローチャートその2である。15 is a flowchart 2 for explaining the operation of the distribution control unit 8 of FIG. 14. 自己組織化マップにおける図14のユニットの構成を示すブロック図である。It is a block diagram which shows the structure of the unit of FIG. 14 in a self-organization map. 図22の自己組織化マップにおけるプロトコル表である。It is a protocol table in the self-organization map of FIG. 図22の各ユニットの動作を説明するフローチャートである。It is a flowchart explaining operation | movement of each unit of FIG. 図22の分配制御部8の動作を説明するフローチャートその1である。23 is a flowchart 1 illustrating an operation of the distribution control unit 8 in FIG. 図22の分配制御部8の動作を説明するフローチャートその2である。23 is a flowchart 2 illustrating the operation of the distribution control unit 8 in FIG. 図14の並列演算装置を分離構成とした場合の並列演算装置の構成を示すブロック図である。It is a block diagram which shows the structure of a parallel arithmetic unit at the time of setting the parallel arithmetic unit of FIG. トーナメント方式の説明図である。It is explanatory drawing of a tournament system. ノルムの比較において、ユニットにノルムの同時入力のない場合の比較順序を説明する一例としての比較順序図である。In norm comparison, it is a comparison order diagram as an example for explaining the comparison order when there is no norm simultaneous input in the unit. トーナメント方式を用いた場合のユニットの接続図その1である。It is the connection diagram 1 of a unit at the time of using a tournament system. トーナメント方式を用いた場合のユニットの接続図その2である。It is the connection diagram 2 of a unit at the time of using a tournament system. 第5の実施形態による自己組織化マップにおけるプロトコル表である。It is a protocol table in the self-organization map by 5th Embodiment. 第5の実施形態による葉ユニットの構成を示すブロック図である。It is a block diagram which shows the structure of the leaf unit by 5th Embodiment. 第5の実施形態による幹ユニットまたは根ユニットの構成を示すブロック図である。It is a block diagram which shows the structure of the trunk unit or root unit by 5th Embodiment. 第5の実施形態による各ユニットの動作を説明するフローチャートである。It is a flowchart explaining operation | movement of each unit by 5th Embodiment. 第5の実施形態によるユニットの動作を説明するフローチャートである。It is a flowchart explaining operation | movement of the unit by 5th Embodiment. 第5の実施形態による分配制御部8の動作を説明するフローチャートである。It is a flowchart explaining operation | movement of the distribution control part 8 by 5th Embodiment. ノルムの比較において、ユニットにノルムの同時入力のある場合の比較順序を説明する一例としての比較順序図である。In norm comparison, it is a comparison order diagram as an example for explaining the comparison order when there is simultaneous input of norm in a unit. ユニットにノルムの同時入力のある場合における、第5の実施形態によるユニットの動作を説明するフローチャートである。It is a flowchart explaining operation | movement of the unit by 5th Embodiment in case there exists simultaneous input of norm in a unit.

符号の説明Explanation of symbols

1 デイジーチェーン制御バス
2 ユニット出力バス
3 ユニット入力バス
4 増幅器
5 トリガ入力線
6 第1の冗長デイジーチェーン制御バス
7 第2の冗長デイジーチェーン制御バス
11、101、201、11A、101A、201A データ入力部
12、A12、B12、102、202 トークン入力部
13、A13、B13、103、203 トークン出力部
14、104、204、14A、104A、204A データ出力部
16、16A ユニット出力記憶部
17 トークン出力部選択部
18 トークン選択情報記憶部
33 制御データ出力部
101A、201A データ入力部
104A、204A データ出力部
150B、250B ファンクション番号抽出部
151B、251B ファンクション番号記憶部
152B、252B オペランド抽出部
153B、253B 汎用バッファー記憶部
111、111A 積和計算一次値算出部
112、112A ユニット出力算出部
113 層情報算出部
114 カウンタ
130、231、231A 重み記憶部
131 積和計算一次値記憶部
132 関数記憶部
133 層情報記憶部
134 ユニット数記憶部
135、135A ユニット出力記憶部
136 データ出力フラグ記憶部
137 ユニット識別情報記憶部
138B 前段ユニット出力記憶部
210 データ抽出部
211 ネットワーク座標抽出部
212 ノルム抽出部
213 カウンタ
214、214A ノルム算出部
215、215A 近傍判定部
216、216A 重み更新部
217 ノルム比較部
218 入力ノルム判定部
219 ネットワーク座標選択部
220 ノルム選択部
221 データ合成出力部
222 データ入力判定部
223 トークン出力フラグ判定部
230、230A 入力データ記憶部
232、232A 距離記憶部
233、233A 入力ネットワーク座標記憶部
234、234A ユニットネットワーク座標記憶部
235、235A 学習速度記憶部
236、236A ユニットノルム記憶部
237 入力ノルム記憶部
238 トークン出力フラグ記憶部
250 入力ノルム部
251 選択出力部
260 ビジーフラグ記憶部
261 ビジーフラグ判定部
262 ノルム情報出力部
263 ノルム情報入力部
270 入力ノルム抽出部
271 入力ノルム記憶部
272 入力ネットワーク座標抽出部
273 入力ネットワーク座標記憶部
274 勝者ノルム判定部
275 勝者ノルム・勝者ネットワーク座標セット部
276 勝者ノルム記憶部
277 勝者ネットワーク座標記憶部
278 前段接続数比較部
279 前段接続数記憶部
280 前段接続数カウンタ部
281 前段接続数カウンタリセット部
282 ユニットビジーフラグセット部
L1 入力層
L2 隠れ層
L3 出力層
P1 出力端子
P2 入力端子
P3 トリガ入力端子
U1、U2、U3、U4、U5、U6、U7、U8、U9、U10、AU1、AU2、AU3、AU4、AU5、AU6、AU7、AU8、AU9、AU10 ユニット
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, 11A, 101A, 201A Data input Unit 12, A12, B12, 102, 202 Token input unit 13, A13, B13, 103, 203 Token output unit 14, 104, 204, 14A, 104A, 204A Data output unit 16, 16A Unit output storage unit 17 Token output unit Selection unit 18 Token selection information storage unit 33 Control data output unit 101A, 201A Data input unit 104A, 204A Data output unit 150B, 250B Function number extraction unit 151B, 251B Function number storage unit 152B, 252B Land extraction unit 153B, 253B General-purpose buffer storage unit 111, 111A Product sum calculation primary value calculation unit 112, 112A Unit output calculation unit 113 Layer information calculation unit 114 Counter 130, 231, 231A 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, 135A unit output storage unit 136 data output flag storage unit 137 unit identification information storage unit 138B pre-stage unit output storage unit 210 data extraction unit 211 network coordinate extraction unit 212 norm Extraction unit 213 Counter 214, 214A Norm calculation unit 215, 215A Neighborhood determination unit 216, 216A Weight update unit 217 Norm comparison unit 218 Input norm determination unit 219 Network coordinate selection unit 220 Norm selection unit 221 Data composition output unit 222 Data input determination unit 223 Token output flag determination unit 230, 230A Input data storage unit 232, 232A Distance storage unit 233, 233A Input network coordinate storage unit 234, 234A Unit network coordinate storage unit 235, 235A Learning speed Storage unit 236, 236A Unit norm storage unit 237 Input norm storage unit 238 Token output flag storage unit 250 Input norm unit 251 Selection output unit 260 Busy flag storage unit 261 Busy flag determination unit 262 Norm information output unit 263 Norm information input unit 270 Input norm extraction Unit 271 input norm storage unit 272 input network coordinate extraction unit 273 input network coordinate storage unit 274 winner norm determination unit 275 winner norm / winner network coordinate set 276 Winner norm storage unit 277 Winner network coordinate storage unit 278 Previous connection number comparison unit 279 Previous connection number storage unit 280 Previous connection number counter unit 281 Previous connection number counter reset unit 282 Unit busy flag set 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, U6, U7, U8, U9, U10, AU1, AU2, AU3, AU4, AU5, AU6, AU7, AU8, AU9 AU10 unit

Claims (7)

自己組織化マップを演算する並列演算装置が、
予め定められた識別情報であるユニットネットワーク座標によりそれぞれが識別される複数のユニットと、
前記複数のユニットの中のいずれか1つのユニットが出力する出力値がユニット出力バスを介して入力されたことに応じて、該入力された入力値と前記複数のユニットの中から選択したいずれか1つのユニットを選択する識別情報である選択ユニットネットワーク座標とを含む制御データを、前記複数のユニットのそれぞれにユニット入力バスを介して出力する分配制御部と、
を有し、
前記複数のユニットのそれぞれは、
前記分配制御部から入力された制御データに基づいて自ユニットが算出したノルムを記憶するユニットノルム記憶部と、
自ユニットの前記ユニットネットワーク座標を記憶するユニットネットワーク座標記憶部と、
を有し、
前記複数のユニットは、
前記複数のユニットがそれぞれ算出したノルムの中から、最小となるノルムを選択するための比較を開始するユニットとして、予め定められた複数のユニットである葉ユニットと、
前記ユニットのそれぞれが算出したノルムの中から選択された最小となるノルムと、該ノルムを有するユニットのユニットネットワーク座標とを前記分配制御部に出力するユニットとして予め定められた1つの根ユニットと、
前記葉ユニットと前記根ユニットとを接続する予め定められた複数のユニットである幹ユニットと、
に予め分類され、
前記葉ユニットと前記幹ユニットと前記根ユニットとは、前記葉ユニットから前記根ユニットに前記ノルムの比較結果が、予め定められた順序で並列に送信できるように、該順序で隣接するユニット同士がノルム比較バスを介して接続されており、かつ、前記根ユニットは前記分配制御部に前記ノルム比較バスを介して接続されており、
前記幹ユニットまたは根ユニットは、
自ユニットに入力されたノルムと自ユニットのユニットノルム記憶部に記憶されたノルムとにおいて最小であるノルムと、該ノルムを有するユニットを識別するユニットネットワーク座標とを関連付けて勝者ノルム情報として記憶する勝者ノルム情報記憶部と、
前記順序で前記葉ユニットに近い方のユニットであり隣接するユニットである前段ユニットから、ノルムとユニットネットワーク座標とを関連付けてノルム情報として前記ノルム比較バスを介して入力するノルム情報入力部と、
前記ノルム情報入力部に前記ノルム情報が入力されたことに応じて、前記ノルム情報入力部に入力されたノルムと、自ユニットの前記勝者ノルム情報記憶部または自ユニットの前記ユニットノルム記憶部から読み出したノルムとを比較し、最小となるノルムと該ノルムと関連付けられたユニットネットワーク座標とを関連付けて前記勝者ノルム情報として前記勝者ノルム情報記憶部に設定して記憶する勝者ノルム情報設定部と、
前記勝者ノルム情報記憶部から読み出した勝者ノルム情報を、前記順序で前記根ユニットに近い方のユニットであり隣接するユニットである後段ユニットへ前記ノルム比較バスを介して出力するノルム情報出力部と、
を有することを特徴とする並列演算装置。
A parallel computing device that computes a self-organizing map
A plurality of units each identified by unit network coordinates which are predetermined identification information;
One of the plurality of units selected from the input value and the plurality of units when an output value output from any one of the plurality of units is input via the unit output bus. A distribution control unit that outputs control data including selection unit network coordinates that are identification information for selecting one unit to each of the plurality of units via a unit input bus;
Have
Each of the plurality of units is
A unit norm storage unit that stores a norm calculated by the own unit based on control data input from the distribution control unit;
A unit network coordinate storage unit for storing the unit network coordinates of the own unit;
Have
The plurality of units are:
As a unit for starting comparison for selecting the minimum norm from the norms calculated by each of the plurality of units, a leaf unit that is a plurality of predetermined units,
One root unit that is predetermined as a unit that outputs the minimum norm selected from the norms calculated by each of the units and the unit network coordinates of the unit having the norm to the distribution control unit;
A trunk unit that is a plurality of predetermined units that connect the leaf unit and the root unit;
Pre-classified,
The leaf unit, the trunk unit, and the root unit are such that adjacent units in the order can be transmitted in parallel from the leaf unit to the root unit in a predetermined order. Connected via a norm comparison bus, and the root unit is connected to the distribution control unit via the norm comparison bus,
The trunk unit or root unit is
The winner that stores the norm that is the minimum in the norm input to the unit and the norm stored in the unit norm storage unit of the unit and the unit network coordinates that identify the unit having the norm, and stores them as winner norm information A norm information storage unit;
A norm information input unit that inputs a norm and unit network coordinates as norm information via the norm comparison bus from a preceding unit that is a unit closer to the leaf unit in the order and is an adjacent unit;
When the norm information is input to the norm information input unit, the norm input to the norm information input unit and the winner norm information storage unit of the own unit or the unit norm storage unit of the own unit are read. A winner norm information setting unit that stores the minimum norm and the unit network coordinate associated with the norm in the winner norm information storage unit and stores them as the winner norm information.
A norm information output unit that outputs the winner norm information read from the winner norm information storage unit to the subsequent unit that is a unit closer to the root unit in the order and is an adjacent unit via the norm comparison bus;
A parallel computing device comprising:
前記幹ユニットまたは前記根ユニットには、複数の前記幹ユニットまたは複数の前記葉ユニットが前記前段ユニットとして予め接続されており、
前記幹ユニットまたは前記根ユニットのそれぞれは、
自ユニットに接続される前記前段ユニットの総数である前段接続数が予め記憶されている前段接続数記憶部と、
前記ノルム情報入力部にノルムとユニットネットワーク座標とが入力される毎に、入力回数をカウントアップして記憶する入力回数記憶部と、
前記前段接続数記憶部から読み出した前段接続数と、前記入力回数記憶部から読み出した入力回数とを比較する前段接続数比較部と、
を有しており、
前記ノルム情報出力部が、
前記接続数比較部の比較結果が、前段接続数と前記入力回数とが一致した場合に、前記勝者ノルム情報記憶部から読み出した勝者ノルム情報を出力する、
ことを特徴とする請求項1に記載の並列演算装置。
A plurality of the stem units or a plurality of the leaf units are connected in advance as the front unit to the stem unit or the root unit,
Each of the trunk unit or the root unit is
A pre-stage connection number storage unit in which the pre-stage connection number, which is the total number of the pre-stage units connected to the own unit, is stored in advance;
Each time a norm and unit network coordinates are input to the norm information input unit, an input number storage unit that counts up and stores an input number;
A previous-stage connection number comparison unit that compares the previous-stage connection number read from the previous-stage connection number storage unit with the input times read from the input number-of-times storage unit;
Have
The norm information output unit
When the comparison result of the connection number comparison unit matches the previous connection number and the input count, the winner norm information read from the winner norm information storage unit is output.
The parallel arithmetic apparatus according to claim 1, wherein:
前記幹ユニットまたは前記根ユニットのそれぞれが、
前記ノルムと前記ユニットネットワーク座標とを、自ユニットの前段ユニットから入力可能であるか否かを示すユニットビジーフラグ情報を記憶するユニットビジーフラグ記憶部を有しており、
前記ユニットのそれぞれが、
自ユニットの後段ユニットが有する前記ユニットビジーフラグ記憶部から出力されたユニットビジーフラグ情報に基づいて、該後段ユニットに前記ノルムと前記ユニットネットワーク座標とを出力するか否かを判定するビジーフラグ判定部を有し、
前記自ユニットの前記ノルム情報出力部が、
前記自ユニットのビジーフラグ判定部の判定結果に基づいて、前記勝者ノルム情報記憶部から読み出した勝者ノルム情報を出力する、
ことを特徴とする請求項1から請求項2に記載の並列演算装置。
Each of the trunk unit or the root unit is
A unit busy flag storage unit for storing unit busy flag information indicating whether or not the norm and the unit network coordinates can be input from a preceding unit of the own unit;
Each of the units
A busy flag determination unit for determining whether to output the norm and the unit network coordinates to the subsequent unit based on the unit busy flag information output from the unit busy flag storage unit of the subsequent unit of the own unit; Have
The norm information output unit of the own unit is
Based on the determination result of the busy flag determination unit of the own unit, the winner norm information read from the winner norm information storage unit is output.
The parallel arithmetic apparatus according to claim 1, wherein the parallel arithmetic apparatus is characterized by the following.
前記ノルム情報入力部が、
前記ノルム情報が入力されたことに応じて、前記ユニットビジーフラグ記憶部に記憶されているユニットビジーフラグ情報を自ユニットの前段ユニットから入力可能でないことを示すように設定し、
前記接続数比較部が、
前記比較結果が前段接続数と前記入力回数とが一致しない場合に、前記ユニットビジーフラグ記憶部に記憶されているユニットビジーフラグ情報を自ユニットの前段ユニットから入力可能であることを示すように設定する、
ことを特徴とする請求項3に記載の並列演算装置。
The norm information input unit is
In response to the input of the norm information, the unit busy flag information stored in the unit busy flag storage unit is set to indicate that it cannot be input from the preceding unit of the own unit,
The connection number comparison unit,
The unit busy flag information stored in the unit busy flag storage unit is set to indicate that it can be input from the preceding unit of the unit when the comparison result does not match the number of previous stage connections and the number of inputs. To
The parallel arithmetic apparatus according to claim 3.
前記幹ユニットまたは前記根ユニットのそれぞれが、
前記複数のユニットがそれぞれ算出したノルムの中から最小となるノルムを選択するための比較を開始することを示す信号を前記分配制御部から入力されたことに応じて、前記ユニットビジーフラグ記憶部に記憶されているユニットビジーフラグ情報を自ユニットの前段ユニットから入力可能であることを示すように設定するユニット制御部を有し、
前記接続数比較部が、
前記比較結果が前段接続数と前記入力回数とが一致した場合に、前記ユニットビジーフラグ記憶部に記憶されているユニットビジーフラグ情報を自ユニットの前段ユニットから入力可能でないことを示すように設定する、
ことを特徴とする請求項3または請求項4に記載の並列演算装置。
Each of the trunk unit or the root unit is
The unit busy flag storage unit receives a signal indicating that the comparison for selecting the minimum norm from the norms calculated by each of the plurality of units is input from the distribution control unit. It has a unit controller that sets the stored unit busy flag information to indicate that it can be input from the previous unit of its own unit,
The connection number comparison unit,
When the comparison result indicates that the number of previous-stage connections matches the number of inputs, the unit busy flag information stored in the unit busy flag storage unit is set to indicate that it cannot be input from the previous-stage unit of its own unit. ,
The parallel arithmetic apparatus according to claim 3 or 4, wherein
前記葉ユニットが、
前記複数のユニットがそれぞれ算出したノルムの中から最小となるノルムを選択するための比較を開始することを示す信号を前記分配制御部から入力されたことに応じて、自ユニットの前記ユニットノルム記憶部から読み出したノルムと自ユニットの前記ユニットネットワーク座標記憶部から読み出したユニットネットワーク座標とを出力するノルム情報出力部とを、前記自ユニットが接続される後段ユニットへ前記ノルム比較バスを介して出力する葉ノルム情報出力部、
を有することを特徴とする請求項1に記載の並列演算装置。
The leaf unit is
The unit norm storage of its own unit is received in response to an input from the distribution control unit indicating that a comparison for selecting a minimum norm from among the norms calculated by the plurality of units is started. A norm information output unit that outputs the norm read from the unit and the unit network coordinates read from the unit network coordinate storage unit of the own unit is output to the subsequent unit to which the own unit is connected via the norm comparison bus. Leaf norm information output unit,
The parallel processing device according to claim 1, wherein:
自己組織化マップを演算する並列演算装置が、
予め定められた識別情報であるユニットネットワーク座標によりそれぞれが識別される複数のユニットと、
前記複数のユニットの中のいずれか1つのユニットが出力する出力値がユニット出力バスを介して入力されたことに応じて、該入力された入力値と前記複数のユニットの中から選択したいずれか1つのユニットを選択する識別情報である選択ユニットネットワーク座標とを含む制御データを、前記複数のユニットのそれぞれにユニット入力バスを介して出力する分配制御部と、
を有し、
前記複数のユニットのそれぞれは、
前記分配制御部から入力された制御データに基づいて自ユニットが算出したノルムを記憶するユニットノルム記憶部と、
自ユニットの前記ユニットネットワーク座標を記憶するユニットネットワーク座標記憶部と、
を有し、
前記複数のユニットは、
前記複数のユニットがそれぞれ算出したノルムの中から、最小となるノルムを選択するための比較を開始するユニットとして、予め定められた複数のユニットである葉ユニットと、
前記ユニットのそれぞれが算出したノルムの中から選択された最小となるノルムと、該ノルムを有するユニットのユニットネットワーク座標とを前記分配制御部に出力するユニットとして予め定められた1つの根ユニットと、
前記葉ユニットと前記根ユニットとを接続する予め定められた複数のユニットである幹ユニットと、
に予め分類され、
前記葉ユニットと前記幹ユニットと前記根ユニットとは、前記葉ユニットから前記根ユニットに前記ノルムの比較結果が、予め定められた順序で並列に送信できるように、該順序で隣接するユニット同士がノルム比較バスを介して接続されており、かつ、前記根ユニットは前記分配制御部に前記ノルム比較バスを介して接続されている並列演算装置で用いられる並列演算であって、
前記幹ユニットまたは根ユニットは、
前記順序で前記葉ユニットに近い方のユニットであり隣接するユニットである前段ユニットから、ノルムとユニットネットワーク座標とを関連付けてノルム情報として前記ノルム比較バスを介して入力するノルム情報入力手順と、
前記ノルム情報入力手順で前記ノルム情報が入力されたことに応じて、前記ノルム情報入力手順で入力されたノルムと、自ユニットに入力されたノルムと自ユニットのユニットノルム記憶部に記憶されたノルムとにおいて最小であるノルムと該ノルムを有するユニットを識別するユニットネットワーク座標とを関連付けて勝者ノルム情報として記憶する勝者ノルム情報記憶部、または、自ユニットの前記ユニットノルム記憶部から読み出したノルムと、を比較し、最小となるノルムと該ノルムと関連付けられたユニットネットワーク座標とを関連付けて前記勝者ノルム情報として前記勝者ノルム情報記憶部に設定して記憶する勝者ノルム情報設定手順と、
前記勝者ノルム情報記憶部から読み出した勝者ノルム情報を、前記順序で前記根ユニットに近い方のユニットであり隣接するユニットである後段ユニットへ前記ノルム比較バスを介して出力するノルム情報出力手順と、
を有することを特徴とする並列演算方法。
A parallel computing device that computes a self-organizing map
A plurality of units each identified by unit network coordinates which are predetermined identification information;
One of the plurality of units selected from the input value and the plurality of units when an output value output from any one of the plurality of units is input via the unit output bus. A distribution control unit that outputs control data including selection unit network coordinates that are identification information for selecting one unit to each of the plurality of units via a unit input bus;
Have
Each of the plurality of units is
A unit norm storage unit that stores a norm calculated by the own unit based on control data input from the distribution control unit;
A unit network coordinate storage unit for storing the unit network coordinates of the own unit;
Have
The plurality of units are:
As a unit for starting comparison for selecting the minimum norm from the norms calculated by each of the plurality of units, a leaf unit that is a plurality of predetermined units,
One root unit that is predetermined as a unit that outputs the minimum norm selected from the norms calculated by each of the units and the unit network coordinates of the unit having the norm to the distribution control unit;
A trunk unit that is a plurality of predetermined units that connect the leaf unit and the root unit;
Pre-classified,
The leaf unit, the trunk unit, and the root unit are such that adjacent units in the order can be transmitted in parallel from the leaf unit to the root unit in a predetermined order. A parallel operation that is connected via a norm comparison bus, and the root unit is used in a parallel operation device connected to the distribution control unit via the norm comparison bus,
The trunk unit or root unit is
A norm information input procedure for inputting a norm and unit network coordinates as norm information via the norm comparison bus from the preceding unit which is a unit closer to the leaf unit in the order and adjacent to the unit,
When the norm information is input in the norm information input procedure, the norm input in the norm information input procedure, the norm input to the own unit, and the norm stored in the unit norm storage unit of the own unit And a norm read from the unit norm storage unit of the own unit, or a winner norm information storage unit that associates and stores unit norm coordinates that identify a unit having the norm as the winner norm information A winner norm information setting procedure in which the norm that is the minimum and the unit network coordinate associated with the norm are associated with each other and set and stored in the winner norm information storage unit as the winner norm information;
The norm information output procedure for outputting the winner norm information read from the winner norm information storage unit via the norm comparison bus to the subsequent unit that is a unit closer to the root unit in the order and an adjacent unit;
A parallel operation method characterized by comprising:
JP2007242920A 2007-09-19 2007-09-19 Parallel arithmetic unit and parallel arithmetic method Withdrawn JP2009075765A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007242920A JP2009075765A (en) 2007-09-19 2007-09-19 Parallel arithmetic unit and parallel arithmetic method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007242920A JP2009075765A (en) 2007-09-19 2007-09-19 Parallel arithmetic unit and parallel arithmetic method

Publications (1)

Publication Number Publication Date
JP2009075765A true JP2009075765A (en) 2009-04-09

Family

ID=40610681

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007242920A Withdrawn JP2009075765A (en) 2007-09-19 2007-09-19 Parallel arithmetic unit and parallel arithmetic method

Country Status (1)

Country Link
JP (1) JP2009075765A (en)

Similar Documents

Publication Publication Date Title
JP4513865B2 (en) Parallel computing device and parallel computing method
Wen et al. Pinning synchronization of directed networks with switching topologies: A multiple Lyapunov functions approach
US10891544B2 (en) Event-driven universal neural network circuit
CN105930902A (en) Neural network processing method and system
CN107766936A (en) Artificial neural networks, artificial neuron and the control method of artificial neuron
JP2009099008A (en) Parallel arithmetic unit and parallel arithmetic method
Elsayed et al. Integrated strategies differential evolution algorithm with a local search for constrained optimization
WO2021025075A1 (en) Training device, inference device, training method, inference method, program, and computer-readable non-transitory storage medium
JP2009042898A (en) Parallel arithmetic unit and parallel operation method
Kropat et al. Regulatory networks under ellipsoidal uncertainty–data analysis and prediction by optimization theory and dynamical systems
US11048844B1 (en) System and method for use in design verification
JP2009075765A (en) Parallel arithmetic unit and parallel arithmetic method
Yuan et al. Modeling and optimization control of networked evolutionary games with heterogeneous memories and switched topologies
JP2008299381A (en) Parallel arithmetic unit and parallel arithmetic method
Xie et al. A novel crossover operator for particle swarm algorithm
Bellucci et al. A Taylor series approach to the robust parameter design of computer simulations using kriging and radial basis function neural networks
KR20200095951A (en) GPU-based AI system using channel-level architecture search for deep neural networks
Golzari et al. A maze routing algorithm based on two dimensional cellular automata
Sergeev et al. Selecting the parameters of production equipment by means of a genetic algorithm.
Medina Marín Petri net reduction rules through incidence matrix operations
Tsuchida et al. A Parallelization Method for Neural Network Learning
Melnyk et al. Ordered access memory based programmable hardware accelerator parallel architecture
Zhang et al. Attack-Defense game based security analysis for supply chain system subject to change design
US20230394292A1 (en) Method and apparatus for synchronizing neuromorphic processing units
Goulianas et al. An adaptive learning rate backpropagation‐type neural network for solving n× n systems on nonlinear algebraic equations

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100921

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20100922

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