JP2969115B1 - Semiconductor device - Google Patents

Semiconductor device

Info

Publication number
JP2969115B1
JP2969115B1 JP33461498A JP33461498A JP2969115B1 JP 2969115 B1 JP2969115 B1 JP 2969115B1 JP 33461498 A JP33461498 A JP 33461498A JP 33461498 A JP33461498 A JP 33461498A JP 2969115 B1 JP2969115 B1 JP 2969115B1
Authority
JP
Japan
Prior art keywords
processor
data
semiconductor device
minimum value
maximum value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP33461498A
Other languages
Japanese (ja)
Other versions
JP2000163384A (en
Inventor
辰男 落合
衛 杉江
泰弘 稲上
英明 小泉
卓夫 岡橋
淳 竹内
横井  隆
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP33461498A priority Critical patent/JP2969115B1/en
Application granted granted Critical
Publication of JP2969115B1 publication Critical patent/JP2969115B1/en
Publication of JP2000163384A publication Critical patent/JP2000163384A/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Abstract

【要約】 【課題】同一の半導体装置上の複数のプロセッサが有す
る複数の比較対象データの内の最大値/最小値を有する
プロセッサを効率的かつ高速に検出可能にする 【解決手段】各プロセッサ200からそこに記憶された
比較対象データを他の複数のプロセッサに出力データ内
部共通バス118、セレクタ111、112、入力デー
タ内部共通バス119を介して放送させる。各プロセッ
サ200内の演算器が、他のプロセッサから放送された
複数の比較対象データのそれぞれと、そのプロセッサに
記憶された比較対象データとの大小を比較する比較演算
を実行し、それぞれ上記複数の比較対象データに対応す
る複数の比較結果信号を生成する。最大値最小値プロセ
ッサ検出回路350が、これらの比較結果信号に基づい
て、最大値/最小値プロセッサを検出しそのアドレスを
生成する。プロセッサ選択回路300の制御の下でこの
アドレスと最大値/最小値を外部に転送する。
A processor having a maximum / minimum value among a plurality of comparison target data of a plurality of processors on the same semiconductor device can be detected efficiently and at high speed. Then, the comparison target data stored therein is broadcast to other processors via the output data internal common bus 118, the selectors 111 and 112, and the input data internal common bus 119. An arithmetic unit in each processor 200 executes a comparison operation for comparing the magnitude of each of the plurality of comparison target data broadcast from other processors with the comparison target data stored in the processor, and executes the plurality of comparison operations. A plurality of comparison result signals corresponding to the comparison target data are generated. The maximum / minimum value processor detection circuit 350 detects the maximum / minimum value processor based on these comparison result signals and generates its address. This address and the maximum / minimum value are transferred to the outside under the control of the processor selection circuit 300.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、ニューラルネット
ワークなどの並列アルゴリズムを処理するための並列計
算機の構成に適した、複数のプロセッサを搭載した大規
模集積回路(LSI)からなる半導体装置に関する。
[0001] 1. Field of the Invention [0002] The present invention relates to a semiconductor device comprising a large-scale integrated circuit (LSI) equipped with a plurality of processors and suitable for a parallel computer for processing a parallel algorithm such as a neural network.

【0002】[0002]

【従来の技術】並列計算機の1つの種類は、SIMD
(Single Instruction Stream, Multiple Data Stream
−単一命令ストリーム・複数データストリーム)型並列
計算機であり、その種の並列計算機は、複数のプロセッ
サとその複数のプロセッサで単一の命令を実行させる制
御系と、複数のプロセッサおよびそれらの間でデータを
通信するための相互結合網から成る。たとえば、「情報
処理」第33巻 第9号(情報処理学会、平成4年9月
15日発行)に記載の「SIMD上の並列アルゴリズ
ム」参照。制御装置から上記複数のプロセッサには単一
の命令が逐次的に与えられ、各プロセッサはそれぞれ内
に持つ局所メモリに格納されたそれぞれに固有のデータ
を利用してそれぞれの命令を実行していく。プロセッサ
間のデータ転送が必要な場合は相互結合網を介して行わ
れる。
2. Description of the Related Art One type of parallel computer is SIMD.
(Single Instruction Stream, Multiple Data Stream
-A single instruction stream / multiple data stream) type parallel computer, and such a parallel computer includes a plurality of processors, a control system for executing a single instruction on the plurality of processors, a plurality of processors, and a plurality of processors. Consists of an interconnected network for communicating data over the Internet. For example, see "Parallel Algorithm on SIMD" described in "Information Processing" Vol. 33, No. 9 (Information Processing Society of Japan, issued on September 15, 1992). A single instruction is sequentially given from the control device to the plurality of processors, and each processor executes each instruction using data unique to each stored in a local memory included therein. . When data transfer between processors is required, it is performed via an interconnection network.

【0003】このようなSIMD型並列計算機の実用例
としては、ニューラルネットワーク(神経回路網)を模
倣した動作の高速処理を実現した高速ニューロコンピュ
ータシステムがある。たとえば「日立マイコン技法」第
8巻、第1号((株)日立マイコンシステム 平成6年
4月21日発行)参照。ここでは、複数のボードに、そ
れぞれ同一のプロセッサを複数集積した大規模集積回路
(LSI)を複数搭載し、全プロセッサが、共通のバス
を介して制御装置に接続されている。各プロセッサはニ
ューロン(神経細胞もしくは神経繊維)の動作を模倣す
るのに使用されている。
As a practical example of such a SIMD type parallel computer, there is a high-speed neural computer system which realizes high-speed processing of an operation imitating a neural network (neural network). For example, see “Hitachi Microcomputer Techniques”, Vol. Here, a plurality of large-scale integrated circuits (LSIs) each including a plurality of identical processors are mounted on a plurality of boards, and all processors are connected to a control device via a common bus. Each processor is used to mimic the behavior of a neuron (neural cell or nerve fiber).

【0004】このような構成では、より多くのプロセッ
サを含む並列計算機は、半導体装置の数を増大して実現
される。このように、複数のプロセッサを搭載した半導
体装置は並列計算機のプロセッサアレイを構成する基本
単位になる。
In such a configuration, a parallel computer including more processors is realized by increasing the number of semiconductor devices. As described above, a semiconductor device equipped with a plurality of processors is a basic unit constituting a processor array of a parallel computer.

【0005】ところで、上記SIMD型並列計算機によ
るニューラルネットワークの処理では、複数のプロセッ
サで異なるデータに対して同じ処理を実行させた後に、
それぞれのプロセッサにより計算された複数の算出デー
タの内の最大値と最小値を検出する必要が生じることが
ある。例えば学習ベクトル量子化法(Learning Vector
Quantization−LVQ)アルゴリズムでは、学習毎にこ
の検出を行う。上記ニューロコンピュータシステムで
は、制御系の装置内に最大値最小値検出回路が設けら
れ、全プロセッサから順次上記の算出データをバスを介
して転送し、上記最大値最小値検出回路により上記最大
値と最小値を検出していた。
In the neural network processing by the SIMD type parallel computer, a plurality of processors execute the same processing on different data, and then execute the same processing.
In some cases, it is necessary to detect the maximum value and the minimum value among a plurality of calculation data calculated by each processor. For example, the learning vector quantization method (Learning Vector
In the Quantization-LVQ) algorithm, this detection is performed for each learning. In the neurocomputer system, a maximum value minimum value detection circuit is provided in a control system device, and the calculated data is sequentially transferred from all processors via a bus. The minimum value was detected.

【0006】[0006]

【発明が解決しようとする課題】しかしながら、このよ
うな方法では、プロセッサの数だけのデータ転送を要
し、少なくともプロセッサ数の処理ステップが必要であ
り、最大値あるいは最小値の検出に時間が掛かる。とく
に、上記学習ベクトル量子化法アルゴリズムをニューロ
コンピュータに実行させた場合には、学習時間がニュー
ロン数に比例して増大し、この検出時間の増大がニュー
ロコンピュータの実用上問題であることが本発明者達に
より実験の結果判明した。
However, such a method requires data transfer by the number of processors, requires at least the processing steps of the number of processors, and takes time to detect the maximum value or the minimum value. . In particular, when the above-described learning vector quantization algorithm is executed by a neurocomputer, the learning time increases in proportion to the number of neurons, and this increase in the detection time is a practical problem of the neurocomputer. As a result of the experiment, it became clear.

【0007】本発明の目的は、最大値、最小値を持つプ
ロセッサの検出を効率的にかつ高速に実行させるのに適
した、複数のプロセッサを搭載した半導体装置を提供す
ることにある。
An object of the present invention is to provide a semiconductor device having a plurality of processors, which is suitable for efficiently and quickly detecting a processor having a maximum value and a minimum value.

【0008】本発明の前記並びにその他の目的と新規な
特徴は本明細書の記述および添付図面から明らかになる
であろう。
[0008] The above and other objects and novel features of the present invention will become apparent from the description of the present specification and the accompanying drawings.

【0009】[0009]

【課題を解決するための手段】上記目的を達成するため
に、本発明では、大規模集積回路(LSI)からなる半
導体装置上に、複数のプロセッサが設けられ、各プロセ
ッサ内の演算器が、複数のプロセッサから放送された複
数の比較対象データのそれぞれと、そのプロセッサに記
憶された比較対象データとの大小を比較する比較演算を
実行し、比較結果信号を出力するように構成される。さ
らに、各プロセッサ内の上記演算器が出力する上記比較
結果信号に応答して、上記放送された複数の比較対象デ
ータの内の最大値を保持する最大値プロセッサと最小値
を保持する最小値プロセッサの内の少なくとも一方を検
出するための検出回路が上記半導体装置内に設けられ
る。
In order to achieve the above object, according to the present invention, a plurality of processors are provided on a semiconductor device composed of a large-scale integrated circuit (LSI). It is configured to execute a comparison operation for comparing the magnitude of each of the plurality of comparison target data broadcast from the plurality of processors with the comparison target data stored in the processor, and to output a comparison result signal. Further, in response to the comparison result signal output by the arithmetic unit in each processor, a maximum value processor holding a maximum value and a minimum value processor holding a minimum value among the plurality of broadcasted comparison target data. A detection circuit for detecting at least one of the above is provided in the semiconductor device.

【0010】この結果、その半導体装置内で、最大値プ
ロセッサと最小値プロセッサの内の少なくとも一方を検
出できる。この検出がプロセッサ間での比較対象データ
の放送という簡単な操作により実現される。
As a result, at least one of the maximum value processor and the minimum value processor can be detected in the semiconductor device. This detection is realized by a simple operation of broadcasting comparison target data between processors.

【0011】本発明のより具体的な態様では、各プロセ
ッサ内の演算器が出力する比較結果信号は、そのプロセ
ッサに記憶された比較結果データの方が大きいことを有
意とする非最小値信号と、そのプロセッサに記憶された
比較結果データの方が小さいことを有意とする非最大値
信号との内の少なくとも一方とされる。上記検出回路に
は、最小値プロセッサの候補か否かの状態を示すフラグ
を記憶する最小値フラグ記憶手段と、最大値プロセッサ
の候補か否かの状態を示すフラグを記憶する最大値フラ
グ記憶手段との内の少なくとも一方が、上記複数のプロ
セッサのそれぞれ1つに対応するように複数設けられ
る。各最小値フラグ記憶手段は、最小値プロセッサの検
出に先立ち任意状態に設定可能であって、最小値プロセ
ッサの検出では非最小値信号の有意のみに応答してフラ
グを最小値プロセッサの候補でない状態にするように構
成される。各最大値フラグ記憶手段は、最大値プロセッ
サの検出に先立ち任意状態に設定可能であって、最大値
プロセッサの検出では非最大値信号の有意のみに応答し
てフラグを最大値プロセッサの候補でない状態にするよ
うに構成される。これらによって、各プロセッサが複数
のプロセッサから順次放送された複数の比較対象データ
に対してそれぞれ逐次的に上記比較演算および上記比較
結果信号を出力した結果、上記複数の最小値フラグ記憶
手段の内でフラグが最小値プロセッサの候補である状態
を示しているものに対応するプロセッサを最小値プロセ
ッサとして検出することができる。または、上記複数の
最大値フラグ記憶手段の内でフラグが最大値プロセッサ
の候補である状態を示しているものに対応するプロセッ
サを最大値プロセッサとして検出することができる。
According to a more specific aspect of the present invention, the comparison result signal output from the arithmetic unit in each processor includes a non-minimum value signal indicating that the comparison result data stored in the processor is significant. , And a non-maximum signal that indicates that the comparison result data stored in the processor is smaller. The detection circuit includes a minimum value flag storage unit that stores a flag indicating whether or not the candidate is a minimum value processor, and a maximum value flag storage unit that stores a flag indicating whether the candidate is a maximum value processor. And at least one of them is provided so as to correspond to each one of the plurality of processors. Each of the minimum value flag storage means can be set to an arbitrary state prior to the detection of the minimum value processor. It is configured to be. Each of the maximum value flag storage means can be set to an arbitrary state prior to the detection of the maximum value processor. It is configured to be. As a result, each processor sequentially outputs the comparison operation and the comparison result signal with respect to the plurality of comparison target data sequentially broadcast from the plurality of processors. A processor corresponding to a flag indicating a state of being a candidate for the minimum value processor can be detected as the minimum value processor. Alternatively, a processor corresponding to one of the plurality of maximum value flag storage means indicating that the flag is a candidate for the maximum value processor can be detected as the maximum value processor.

【0012】また、上記複数のプロセッサから順次比較
対象データを放送させるために、上記複数のプロセッサ
を順次選択できるプロセッサ選択回路が設けられる。こ
の回路は、たとえば半導体装置の外部から順次供給され
るアドレスに従って上記順次選択を実行することができ
る。
In order to sequentially broadcast the data to be compared from the plurality of processors, a processor selection circuit capable of sequentially selecting the plurality of processors is provided. This circuit can execute the above-described sequential selection in accordance with, for example, addresses sequentially supplied from outside the semiconductor device.

【0013】このような半導体装置を複数使用して並列
計算機を構成した場合、それらの複数の半導体装置が並
列に最大値プロセッサあるいは最小値プロセッサの少な
くとも一方を検出できる。
When a parallel computer is configured by using a plurality of such semiconductor devices, the plurality of semiconductor devices can detect at least one of the maximum value processor and the minimum value processor in parallel.

【0014】たとえば、並列計算機全体での最大値プロ
セッサあるいは最小値プロセッサの少なくとも一方を検
出するには、たとえば、それぞれの半導体装置毎により
検出された複数の最大値の内の最大値あるいはそれぞれ
の半導体装置毎により検出された複数の最小値の内の最
小値を検出すればよい。この検出はたとえば外部の装置
により実行できる。したがって、従来は、半導体装置内
のプロセッサ数とその半導体装置数との積(換言すれば
並列計算機内の全プロセッサ数)に等しい処理ステップ
数を必要としていた、並列計算機全体の最大値プロセッ
サあるいは最小値プロセッサの検出に掛る処理時間が、
本発明によって、半導体装置内のプロセッサ数とその半
導体装置数との和に等しい処理ステップ数とすることが
できるので、並列計算機全体での検出を高速に行える。
For example, in order to detect at least one of the maximum value processor and the minimum value processor in the entire parallel computer, for example, the maximum value of a plurality of maximum values detected by each semiconductor device or each semiconductor device is detected. What is necessary is just to detect the minimum value among the plurality of minimum values detected by each device. This detection can be performed, for example, by an external device. Therefore, conventionally, the number of processing steps equal to the product of the number of processors in a semiconductor device and the number of semiconductor devices (in other words, the number of all processors in a parallel computer) is required. The processing time required to detect the value processor
According to the present invention, the number of processing steps can be equal to the sum of the number of processors in a semiconductor device and the number of semiconductor devices, so that the detection can be performed at high speed in the entire parallel computer.

【0015】本発明のより具体的な態様では、並列計算
機全体の最大値プロセッサあるいは最小値プロセッサの
検出を半導体装置の外部の装置で検出可能なように、半
導体装置内で検出された最大値プロセッサあるいは最小
値プロセッサのアドレスを生成するアドレス生成手段が
上記検出回路に設けられる。上記プロセッサ選択回路
に、このアドレスに基づいて、半導体装置内で検出され
た最大値プロセッサあるいは最小値プロセッサを選択す
る回路が設けられる。この選択されたプロセッサに記憶
された比較対象データを半導体装置の外部に出力する手
段も設けられる。また、上記アドレス生成手段により生
成されたアドレスを半導体装置の外部に出力する手段も
設けられる。
According to a more specific aspect of the present invention, a maximum value processor detected in a semiconductor device is detected so that a maximum value processor or a minimum value processor of the entire parallel computer can be detected by a device external to the semiconductor device. Alternatively, an address generating means for generating an address of the minimum value processor is provided in the detection circuit. The processor selection circuit is provided with a circuit for selecting a maximum value processor or a minimum value processor detected in the semiconductor device based on the address. Means is also provided for outputting the comparison target data stored in the selected processor to outside the semiconductor device. Further, there is provided means for outputting the address generated by the address generation means to the outside of the semiconductor device.

【0016】本発明のより望ましい態様では、各プロセ
ッサ内に、そのプロセッサが比較対象のプロセッサであ
るか否かを記憶して指示する指示手段が設けられ、この
指示手段が比較対象でないと指示するプロセッサは、上
記最大値プロセッサまたは最小値プロセッサの検出対象
から除外されるように構成されている。すなわち、各プ
ロセッサの比較対象データを送出する上記手段は、対応
するプロセッサが比較対象でないとき、そのプロセッサ
に記憶された比較対象データに代えて無効な比較対象デ
ータを送出するように構成され、各プロセッサの演算器
は、無効な比較対象データに対する比較演算を実行した
ときには、有意でない比較結果信号を出力する。また、
比較対象でないプロセッサに対応する上記最小値フラグ
記憶手段あるいは上記最大値フラグ記憶手段は、最小値
プロセッサの候補でない状態あるいは最大値プロセッサ
の候補でない状態に予め設定可能である。したがって、
比較対象でないプロセッサに対応する比較結果信号、お
よび上記最小値フラグ記憶手段あるいは上記最大値フラ
グ記憶手段は、検出回路による検出には影響しない。
In a more desirable mode of the present invention, in each processor, there is provided an instruction means for storing and indicating whether or not the processor is a processor to be compared, and indicates that the instruction means is not a comparison object. The processor is configured to be excluded from the detection target of the maximum value processor or the minimum value processor. That is, when the corresponding processor is not a comparison target, the means for transmitting the comparison target data of each processor is configured to transmit invalid comparison target data instead of the comparison target data stored in the processor. The arithmetic unit of the processor outputs a non-significant comparison result signal when performing a comparison operation on invalid comparison target data. Also,
The minimum value flag storage means or the maximum value flag storage means corresponding to a processor not to be compared can be set in advance to a state that is not a candidate for a minimum value processor or a state that is not a candidate for a maximum value processor. Therefore,
The comparison result signal corresponding to the processor not to be compared and the minimum value flag storage means or the maximum value flag storage means do not affect the detection by the detection circuit.

【0017】このような望ましい態様の半導体装置を複
数使用して並列計算機を構成した場合、いずれかの半導
体装置内の全プロセッサが比較対象でないことが生じ
る。その場合、並列計算機全体の最大値プロセッサある
いは最小値プロセッサの検出をこれらの半導体装置の外
部の装置で検出するときに、そのような半導体装置での
最大値プロセッサあるいは最小値プロセッサの検出結果
は有効でない。このため、半導体装置には、無効な最大
値あるいは最小値を半導体装置の外部に出力する手段
と、最大値プロセッサの無効なアドレスを半導体装置の
外部に出力する手段も設けられる。
When a parallel computer is configured by using a plurality of semiconductor devices having such a desirable mode, all processors in any one of the semiconductor devices may not be compared. In such a case, when the detection of the maximum value processor or the minimum value processor of the entire parallel computer is detected by a device external to these semiconductor devices, the detection result of the maximum value processor or the minimum value processor in such a semiconductor device is valid. Not. For this reason, the semiconductor device is provided with means for outputting an invalid maximum value or minimum value outside the semiconductor device and means for outputting an invalid address of the maximum value processor outside the semiconductor device.

【0018】なお、複数の半導体装置を使用して並列計
算機を構成した場合、並列計算機全体の最大値プロセッ
サあるいは最小値プロセッサの検出をこれらの半導体装
置の外部の装置で検出する代わりに、これらの半導体装
置により検出可能にする本発明の他の態様も開示され
る。
When a parallel computer is constituted by using a plurality of semiconductor devices, the detection of the maximum value processor or the minimum value processor of the entire parallel computer is not performed by a device external to these semiconductor devices. Other aspects of the invention that are detectable by a semiconductor device are also disclosed.

【0019】[0019]

【発明の実施の形態】以下、本発明に係る半導体装置と
それを用いた並列計算機を図面に示した実施の形態を参
照してさらに詳細に説明する。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, a semiconductor device according to the present invention and a parallel computer using the same will be described in more detail with reference to the embodiments shown in the drawings.

【0020】(1)システムの概略 ここで、まず、生体の脳神経細胞(脳神経線維)すなわ
ちニューロンとその工学的モデルについて説明する。生
体のニューロンは、例えば複数の樹状突起から複数の入
力を受け、単一の軸索から単一の出力を形成する。当該
ニューロンの樹状突起は、他のニューロンの軸索とシナ
プスで結合される。このシナプス結合には個々に重み値
(シナプス荷重)を有し、入力と重み値との累積加算結
果があるしきい値を超えたとき軸索にパルスが形成され
る。重み値は学習機能によって漸次変化される。このよ
うなニューロンの工学的なモデルにおいて、ニューロン
は多入力一出力の構成とされ、他のニューロンからの出
力(X1〜Xn)と自分自身の重み値(W1〜Wn)を
累積加算して、これにニューロンが固有に有するしきい
値(θ)を加算した後、内部応答関数Fで変換した値Y
を出力する。例えば前記内部応答関数Fは、正(累積加
算結果がしきい値(−θ)を超えたことを意味する)の
ときに論理値“1”の信号を形成するステップ関数ある
いは、連続な非線形関数としてのシグモイド関数であ
る。生体では、そのような多数のニューロンが複雑に結
合(ネットワーク化)してニューロネットワークを構成
し、並列分散処理を行っている。
(1) Outline of System First, brain neurons (cerebral nerve fibers), that is, neurons of a living body, and their engineering models will be described. A living neuron receives a plurality of inputs from, for example, a plurality of dendrites, and forms a single output from a single axon. The dendrites of the neuron are connected to the axons of other neurons at synapses. Each synapse connection has a weight value (synapse load), and a pulse is formed in the axon when the cumulative addition result of the input and the weight value exceeds a certain threshold value. The weight value is gradually changed by the learning function. In such an engineering model of a neuron, the neuron has a configuration of multiple inputs and one output, and outputs (X1 to Xn) from other neurons and their own weight values (W1 to Wn) are cumulatively added. After adding the threshold value (θ) inherent to the neuron to this, the value Y converted by the internal response function F
Is output. For example, the internal response function F is a step function that forms a signal of logical value “1” when it is positive (meaning that the cumulative addition result has exceeded the threshold value (−θ)) or a continuous nonlinear function. Is the sigmoid function. In a living body, such a large number of neurons are connected (networked) in a complicated manner to form a neural network and perform parallel distributed processing.

【0021】図1には、上記ニューロンの動作を計算し
て、この複雑をデータ通信で結合することでニューロネ
ットワークを模倣した演算を実現するためのニューロコ
ンピュータの一例を示す。ニューロコンピュータは、S
IMD型並列計算機による情報処理システム400とし
て構成される。600はSIMD型並列計算機を操作す
るホストコンピュータである。情報処理システム400
では、制御装置500と、互いに同一の構造の複数
(m)個の半導体装置100とが含まれる。これらの装
置を接続する相互結合網は、命令外部共通バス401、
入力データ外部共通バス402および出力データ外部共
通バス403よりなる。システム400には、制御装置
500に接続されたプロセッサアドレスバス404と、
そのバスと全半導体装置100に接続された半導体装置
アドレスデコーダ407とをさらに有する。
FIG. 1 shows an example of a neurocomputer for calculating the operation of the above-mentioned neuron and realizing an operation imitating a neural network by connecting the complexity by data communication. Neurocomputer S
It is configured as an information processing system 400 using an IMD type parallel computer. Reference numeral 600 denotes a host computer for operating the SIMD type parallel computer. Information processing system 400
Includes a control device 500 and a plurality (m) of semiconductor devices 100 having the same structure. An interconnection network connecting these devices includes an instruction external common bus 401,
It comprises an input data external common bus 402 and an output data external common bus 403. The system 400 includes a processor address bus 404 connected to the controller 500,
The semiconductor device further includes a semiconductor device address decoder 407 connected to the bus and all the semiconductor devices 100.

【0022】図2に示すように、各半導体装置100
は、それぞれ単一のLSIからなる同一の構造の複数
(n)個のプロセッサ200を含む。それらを接続する
相互結合網は、命令内部共通バス110、出力データ内
部共通バス118および入力データ内部共通バス119
とを含む。各半導体装置100には、命令デコーダ10
9、最大値最小値プロセッサ検出回路350、プロセッ
サ選択回路300、フォーマット変換回路102、10
3等がさらに設けられている。
As shown in FIG. 2, each semiconductor device 100
Includes a plurality (n) of processors 200 having the same structure, each including a single LSI. The interconnection network connecting them includes an instruction internal common bus 110, an output data internal common bus 118 and an input data internal common bus 119.
And Each semiconductor device 100 includes an instruction decoder 10
9, maximum value minimum value processor detection circuit 350, processor selection circuit 300, format conversion circuit 102,
3 and the like are further provided.

【0023】図3に示すように、各々のプロセッサ20
0は、前記重み値などを記憶するローカルメモリと演算
器などを有し、1つのニューロンの動作を模倣する。前
記シグモイド関数に代表されるような演算手順を規定す
る命令は、命令外部共通バス401を介して半導体装置
100に取り込まれ、命令デコーダ109、命令内部共
通バス110を介してプロセッサ200に与えられる。
個々のプロセッサ200への入力は入力データ内部共通
バス119を介して与えられる。この入力データ内部共
通バス119への入力データは、半導体装置100の外
部の入力データ外部共通バス402から与えられること
ができる。命令および入力データはブロードキャスト転
送によって行われる。すなわち、全てのプロセッサ20
0に並列的に命令および入力データが与えられる。な
お、入力データに関しては、プロセッサ200の中から
選択された一群のグループ化されたプロセッサだけに与
えるようにすることを妨げるものではない。プロセッサ
200の出力は何れか1つが選択されて出力データ内部
共通バス118に与えられる。出力データ内部共通バス
118に与えられたデータは、半導体装置100の外部
の出力データ外部共通バス403に出力することができ
る。その出力したデータを制御装置500によって入力
データ外部共通バス402に出力することにより、再び
全半導体装置100内の全プロセッサ200にブロード
キャスト転送されて演算することができる。そして、ま
た1つのプロセッサの演算結果が選択されて出力データ
内部共通バス118に出力されるような入力データのブ
ロードキャスト転送と、転送された入力データに対する
1つのプロセッサによる演算結果の選択という動作をサ
イクリックに繰り返すことにより、ニューロンの所望と
する結合を模倣したニューラルネットワークの演算を行
うことができる。
As shown in FIG. 3, each processor 20
Numeral 0 has a local memory for storing the weight value and the like, an arithmetic unit, and the like, and simulates the operation of one neuron. An instruction that defines an operation procedure typified by the sigmoid function is taken into the semiconductor device 100 via the instruction external common bus 401, and given to the processor 200 via the instruction decoder 109 and the instruction internal common bus 110.
Inputs to the individual processors 200 are provided via input data internal common bus 119. The input data to the input data internal common bus 119 can be given from the input data external common bus 402 outside the semiconductor device 100. Commands and input data are performed by broadcast transfer. That is, all processors 20
0 and an instruction and input data are given in parallel. Note that it does not prevent the input data from being given to only a group of processors selected from the processor 200. Any one of the outputs of the processor 200 is selected and supplied to the output data internal common bus 118. The data provided to the output data internal common bus 118 can be output to an output data external common bus 403 outside the semiconductor device 100. By outputting the output data to the input data external common bus 402 by the control device 500, the data can be broadcast-transferred again to all the processors 200 in all the semiconductor devices 100 and operated again. Further, the operation of broadcasting the input data such that the operation result of one processor is selected and output to the output data internal common bus 118 and the operation of selecting the operation result by the one processor for the transferred input data are performed. By repeating the click, it is possible to perform the operation of the neural network that imitates the desired connection of the neurons.

【0024】このときの各々のプロセッサ200におけ
る重み値は予め制御装置500により初期設定されてい
る。前記一連の演算によって特定のプロセッサから得ら
れた演算結果は例えば期待値と比較され、その誤差を相
殺するようにプロセッサの重み値を修正して学習を行う
プロセッサ200の演算内容や演算結果の選択および学
習の手法は例えば制御装置500に格納されたプログラ
ムによって決定される。入力データ外部共通バス402
を介して初期的に半導体装置100の各プロセッサ20
0にブロードキャスト転送されるデータは例えばホスト
コンピュータ600から予め制御装置500にダウンロ
ードされたデータとされる。
At this time, the weight value in each processor 200 is initialized by the control device 500 in advance. The operation result obtained from the specific processor by the above series of operations is compared with, for example, an expected value, and the operation content of the processor 200 which performs learning by correcting the weight value of the processor so as to cancel the error is selected. The learning method is determined by a program stored in the control device 500, for example. Input data external common bus 402
Each processor 20 of the semiconductor device 100
The data that is broadcast-transferred to 0 is, for example, data downloaded from the host computer 600 to the control device 500 in advance.

【0025】上記ニューロコンピュータで演算されるニ
ューロアルゴリズムは、上記ニューロンの工学的なモデ
ルに限定されるものでなく、自己組織化モデルやLVQ
アルゴリズムも可能である。自己組織化モデルは、生体
の脳が持つ自己組織化機能を実現するものである。ニュ
ーロンとしてのプロセッサを例えば2次元の格子状に論
理的に配置されるように意味づけ、各ニューロンの重み
値を参照ベクトルとする。外部から特徴ベクトルとして
の入力パターンを与え、全ニューロンは個々に持つ参照
ベクトルとの距離(ユークリッド距離)を計算する。こ
の距離が最小のニューロン(あるいはその近傍に配置さ
れたニューロンを含めて)は、参照ベクトルがさらに上
記特徴ベクトルに近くなる(前記距離が小さくなる)よ
うに上記参照ベクトルを更新する。この手順を、特徴付
けたい種類数の入力パターンについて繰り返すことによ
り、上記入力パターン群に含まれる特徴が自己組織化的
に前記ニューロン群の配置に特徴マップとして獲得でき
るとされる。すなわち、任意入力パターンの入力に対す
る全プロセッサの出力(前記距離の小ささ)のパターン
が、上記入力パターンの特徴としてプロセッサの論理的
な配置に位置づけられて表現される。
The neuro-algorithm calculated by the neuro-computer is not limited to the above-mentioned neuron engineering model, but may be a self-organizing model or an LVQ.
Algorithms are also possible. The self-organizing model realizes a self-organizing function of the brain of a living body. The processor as a neuron is meant to be logically arranged in, for example, a two-dimensional lattice, and the weight value of each neuron is used as a reference vector. An input pattern is externally provided as a feature vector, and all neurons calculate distances (Euclidean distances) from reference vectors possessed individually. For the neuron having the minimum distance (or including the neuron arranged in the vicinity), the reference vector is updated so that the reference vector is further closer to the feature vector (the distance is reduced). By repeating this procedure for the number of types of input patterns to be characterized, it can be said that the features included in the input pattern group can be obtained as a feature map in the arrangement of the neuron group in a self-organizing manner. That is, the pattern of the output (small distance) of all the processors with respect to the input of the arbitrary input pattern is expressed as a feature of the input pattern, positioned in the logical arrangement of the processors.

【0026】図4のニューロコンピュータにおいて、入
力パターンの各要素は制御装置500から入力データ外
部共通バス402を介して時分割に半導体装置100の
全プロセッサにブロードキャストされる。各プロセッサ
は、重み値メモリ内の参照ベクトルの各要素との差の自
乗を逐次的に演算しベクトルの次元数分を累積加算して
いく。そして、全プロセッサは並列に前記累積加算結果
の平方根を計算して、各プロセッサの参照ベクトルと特
徴ベクトルとの距離としての結果データを生成する。制
御装置500は、全プロセッサの内から最小値となる距
離としての結果データを生成したプロセッサを特定し、
そのプロセッサだけ(あるいはその近傍に配置されたプ
ロセッサを含めて)が参照ベクトルをさらに上記特徴ベ
クトルに近づける(前記距離を小さくする)ように上記
参照ベクトルを更新させる命令を、命令外部共通バスを
介して与える。上記一連の動作をサイクリックに繰り返
すことで上記自己組織化モデルの特徴マップ実現の演算
が為される。
In the neurocomputer of FIG. 4, each element of the input pattern is broadcast from the control device 500 to all the processors of the semiconductor device 100 in a time division manner via the input data external common bus 402. Each processor sequentially calculates the square of the difference between each element of the reference vector in the weight value memory and each element, and cumulatively adds the number of dimensions of the vector. Then, all the processors calculate the square root of the cumulative addition result in parallel, and generate result data as a distance between the reference vector and the feature vector of each processor. The control device 500 specifies the processor that has generated the result data as the minimum distance from all the processors,
An instruction to update the reference vector so that only the processor (or the processor including the processor arranged in the vicinity thereof) further brings the reference vector closer to the feature vector (reduces the distance) is issued via an instruction external common bus. Give. By repeating the above series of operations cyclically, calculation for realizing the feature map of the self-organizing model is performed.

【0027】本実施の形態は、最大値最小値プロセッサ
検出回路350により、その半導体装置100内の全プ
ロセッサが生成した複数の結果データの内の最小値(装
置内最小値)さらには最大値(装置内最大値)をそれぞ
れ生成した装置内最小値プロセッサおよび装置内最大値
プロセッサを検出するところに特徴がある。この検出
は、全半導体装置100に対して並列に行われるため、
高速に実行される。
In this embodiment, the maximum value / minimum value processor detection circuit 350 detects the minimum value (minimum value in the apparatus) and the maximum value (minimum value in the apparatus) of the plurality of result data generated by all the processors in the semiconductor device 100. It is characterized in that the in-apparatus minimum value processor and the in-apparatus maximum value processor which respectively generate the in-apparatus maximum value) are detected. Since this detection is performed on all the semiconductor devices 100 in parallel,
Runs fast.

【0028】具体的には、この検出は以下のようにして
行う。制御装置500は、各半導体装置100内の複数
のプロセッサに、順次それぞれが生成した結果データを
同じ半導体装置内の他のプロセッサに出力データ内部共
通バス118、セレクタ111、入力データ内部共通バ
ス119を介して放送させる。各プロセッサでは自己が
生成した結果データとこの放送された結果データとを比
較する演算器を有し、その演算器により出力される比較
結果信号をその各半導体装置100内の最大値最小値プ
ロセッサ検出回路350に送出する。この比較結果信号
はたとえば前者が大きいこと(換言すれば自己は最小値
でないこと)を有意とする非最小値信号と、前者が小さ
いこと(換言すれば自己は最大値でないこと)を有意と
する非最大値信号からなる。最大値最小値プロセッサ検
出回路350は、各プロセッサから供給される複数の比
較結果信号により、その半導体装置内の各プロセッサが
最大値プロセッサ(装置内最大値プロセッサ)であるか
最小値プロセッサ(装置内最小値プロセッサ)であるか
を判別する。
Specifically, this detection is performed as follows. The control device 500 transmits the result data generated by each of the processors sequentially to a plurality of processors in each semiconductor device 100 to another processor in the same semiconductor device by using the output data internal common bus 118, the selector 111, and the input data internal common bus 119. Broadcast through. Each processor has an arithmetic unit for comparing the result data generated by itself with the broadcasted result data, and outputs a comparison result signal output from the arithmetic unit to a maximum value minimum value processor detection signal in each semiconductor device 100. The signal is sent to the circuit 350. The comparison result signal is, for example, a non-minimum value signal in which the former is significant (in other words, the self is not the minimum value), and a non-minimum signal in which the former is small (in other words, the self is not the maximum value). Consists of a non-maximum signal. The maximum value / minimum value processor detection circuit 350 determines whether each processor in the semiconductor device is the maximum value processor (internal device maximum value processor) or the minimum value processor (internal device) based on a plurality of comparison result signals supplied from each processor. (Minimum value processor).

【0029】このようにして各半導体装置内の最大値プ
ロセッサ、最小値プロセッサが検出された後は、情報処
理システム400内の全プロセッサが生成した全結果デ
ータの内の最大値(システム最大値)、最小値(システ
ム最小値)とそれぞれを生成したプロセッサ(システム
最大値プロセッサおよびシステム最小値プロセッサ)の
検出は、たとえば次のようにして行うことができる。制
御装置500には、最大値最小値検出回路608(図
6)が設けられる。たとえばシステム最小値とそれを生
成したプロセッサを検出する場合、制御装置500は、
全半導体装置100内の最大値最小値プロセッサ検出回
路350が検出した装置内最小値プロセッサが生成した
比較対象データを出力データ外部共通バス403を介し
て制御装置500に送出させる。制御装置500内の最
大値最小値検出回路608がこれらの比較対象データを
順次比較してシステム最小値とそれを生成した半導体装
置100を判別する。各プロセッサには予め1対1にア
ドレス情報(以下、プロセッサアドレスと呼ぶ)が割り
当てられている。制御装置500は、その判別された半
導体装置100を選択し、その中の装置内最大値プロセ
ッサのプロセッサアドレスの送出をその半導体装置10
0に要求し、その半導体装置から送出されたプロセッサ
アドレスでもって、システム最小値プロセッサを識別す
ることができる。システム最大値とそれを生成したシス
テム最大値プロセッサを判別するときも同様である。
After the maximum value processor and the minimum value processor in each semiconductor device are detected in this manner, the maximum value (system maximum value) of all the result data generated by all processors in the information processing system 400. , The minimum value (system minimum value) and the processor that generated each (system maximum value processor and system minimum value processor) can be detected, for example, as follows. The control device 500 includes a maximum value / minimum value detection circuit 608 (FIG. 6). For example, when detecting the system minimum and the processor that generated it, the controller 500
The comparison target data generated by the in-device minimum value processor detected by the maximum value / minimum value processor detection circuit 350 in all the semiconductor devices 100 is transmitted to the control device 500 via the output data external common bus 403. The maximum / minimum value detection circuit 608 in the control device 500 sequentially compares these comparison target data to determine the system minimum value and the semiconductor device 100 that has generated the minimum value. Address information (hereinafter, referred to as processor address) is assigned to each processor in advance on a one-to-one basis. The control device 500 selects the determined semiconductor device 100 and sends the processor address of the maximum value processor in the device to the selected semiconductor device 100.
0, and the system minimum value processor can be identified by the processor address sent from the semiconductor device. The same applies when determining the system maximum value and the system maximum value processor that generated it.

【0030】また、半導体装置100は、図1のニュー
ロコンピュータによる上記ニューラルネットワークの演
算が浮動小数点フォーマットと固定小数点フォーマット
のデータを混在した場合であっても、各データフォーマ
ット間の変換が効率的にできるように考慮されている。
図2ではその一例として、1つのプロセッサの出力を、
出力データ内部共通バス118を介して、フォーマット
変換回路102あるいは103でフォーマット変換して
入力データ内部共通バス119を介して再びプロセッサ
に戻すことができる。また、外部から与えられるデータ
を、フォーマット変換回路102を介してプロセッサ2
00に与えることができる。また、1つのプロセッサの
出力を、フォーマット変換回路103を介して外部に出
力することができる。図1のニューロコンピュータは、
半導体装置100で並列に上記変換が可能である。ま
た、半導体装置100には、浮動小数点フォーマットの
演算に固定小数点フォーマットのデータを与えることが
できる。また、半導体装置100の浮動小数点フォーマ
ットのデータを固定小数点フォーマットのデータとして
取り出すことができる。
Also, the semiconductor device 100 can efficiently convert between the data formats even if the operation of the neural network by the neurocomputer of FIG. Considered to be possible.
In FIG. 2, as one example, the output of one processor is
The format can be converted by the format conversion circuit 102 or 103 via the output data internal common bus 118 and returned to the processor via the input data internal common bus 119. Also, externally supplied data is transmitted to the processor 2 via the format conversion circuit 102.
00 can be given. Further, the output of one processor can be output to the outside via the format conversion circuit 103. The neurocomputer of FIG.
The above conversion can be performed in parallel by the semiconductor device 100. In addition, the semiconductor device 100 can be provided with data in a fixed-point format for calculations in a floating-point format. Further, data in the floating-point format of the semiconductor device 100 can be extracted as data in the fixed-point format.

【0031】以下、情報処理システム400の詳細を説
明する。
The details of the information processing system 400 will be described below.

【0032】(2)制御装置500 図5に示すように、制御装置500には、制御記憶装置
513、データ記憶装置514、プログラム実行制御回
路515およびホストインタフェース制御回路516が
含まれる。制御記憶装置513はRAM等の書き換え可
能なメモリで構成され、複数の半導体装置100を用い
て行う演算およびその演算に必要な制御装置500の制
御の手続きを示すプログラムが格納される。データ記憶
装置514は、やはりRAM等の書き換え可能なメモリ
で構成され、プログラムで用いられるデータが格納され
る。プログラムの実行制御はプログラム実行制御回路5
15によって行われる。ホストインタフェース制御回路
516は、端子517を介して情報処理システム400
とホストコンピュータ600の間で通信を行うためのイ
ンタフェースである。プログラム実行制御回路515
は、命令外部共通バス401、入力データ外部共通バス
402、出力データ外部共通バス403によって全半導
体装置100に共通に接続されている。プログラム実行
制御回路515はさらにプロセッサアドレスバス404
を介して半導体装置アドレスデコーダ407(図1)に
接続されている。
(2) Control Device 500 As shown in FIG. 5, the control device 500 includes a control storage device 513, a data storage device 514, a program execution control circuit 515, and a host interface control circuit 516. The control storage device 513 is configured by a rewritable memory such as a RAM, and stores a program indicating an operation performed using the plurality of semiconductor devices 100 and a control procedure of the control device 500 necessary for the operation. The data storage device 514 is also formed of a rewritable memory such as a RAM, and stores data used in a program. The program execution control is performed by the program execution control circuit 5
15. The host interface control circuit 516 communicates with the information processing system 400 via a terminal 517.
And an interface for performing communication between the host computer 600. Program execution control circuit 515
Are commonly connected to all the semiconductor devices 100 by an instruction external common bus 401, an input data external common bus 402, and an output data external common bus 403. The program execution control circuit 515 further includes a processor address bus 404
Is connected to the semiconductor device address decoder 407 (FIG. 1).

【0033】ホストコンピュータ600は、ユーザイン
タフェース部であり、ユーザの操作に呼応して情報処理
システム400の設定および実行コマンドの発行などを
行う。制御装置500に対するマイクロプログラムの設
定、演算データの設定、プログラムの実行および結果デ
ータの取り出しは、ユーザの操作に呼応して行われる。
ユーザの操作は、コマンドとしてホストコンピュータ6
00からホストインタフェース制御回路516に発行さ
れ、プログラム実行制御回路515で実行される。例え
ば、ユーザの操作が環境設定操作のとき、ホストコンピ
ュータ600はホストインタフェース制御回路516と
の通信によって、プログラム実行制御回路515に環境
設定コマンドを発行する。プログラム実行制御回路51
5は、このコマンドに呼応して、例えばマシン語に翻訳
されたプログラムを制御記憶装置513に、また演算デ
ータや変数の初期値データ等をデータ記憶装置514に
それぞれ転送するように制御装置500全体を制御す
る。また、例えば、ユーザの操作が実行開始操作のと
き、ホストコンピュータ600はホストインタフェース
制御回路516との通信によって、プログラム実行制御
回路515に実行開始コマンドを発行する。プログラム
実行制御回路515は、このコマンドに呼応して、制御
記憶装置513に格納されたプログラムに従って逐次的
に実行を開始するように情報処理システム400全体を
制御する。本実施の形態ではニューロコンピュータのた
めのプログラムが使用される。
The host computer 600 is a user interface unit that performs settings of the information processing system 400 and issues execution commands in response to user operations. The setting of the microprogram, the setting of the operation data, the execution of the program, and the retrieval of the result data in the control device 500 are performed in response to a user operation.
The user's operation is executed by the host computer 6 as commands.
00 is issued to the host interface control circuit 516 and executed by the program execution control circuit 515. For example, when the user's operation is an environment setting operation, the host computer 600 issues an environment setting command to the program execution control circuit 515 through communication with the host interface control circuit 516. Program execution control circuit 51
In response to this command, the control device 500 transfers the program translated into, for example, a machine language to the control storage device 513 and the arithmetic data and the initial value data of variables to the data storage device 514, respectively. Control. For example, when the user's operation is an execution start operation, the host computer 600 issues an execution start command to the program execution control circuit 515 through communication with the host interface control circuit 516. In response to the command, the program execution control circuit 515 controls the entire information processing system 400 so as to sequentially start execution according to the program stored in the control storage device 513. In the present embodiment, a program for a neurocomputer is used.

【0034】図6にはプログラム実行制御回路515の
概略内部ブロックが示される。図において、コマンド実
行制御回路601は、プログラム実行制御回路515全
体を制御して、ホストインタフェース制御回路516を
介してホストコンピュータ600から受け取ったコマン
ドを実行する。コマンド実行制御回路601は、制御装
置内部バス609によって、シーケンサ回路604、デ
ータ記憶装置制御回路605、バス制御回路606、ア
ドレス制御回路607および最大値最小値検出回路60
8を制御可能なように構成されている。シーケンサ回路
604は、内部にパラメータレジスタとしてのプログラ
ムカウンタ(PC)を持ち、コマンド実行制御回路60
1からの実行要求を受けて、マイクロ命令の読み出しを
命令フェッチ回路602に指示し、それと同時に、その
プログラムカウンタをインクリメントして次のマイクロ
命令の読み出しに備える。命令フェッチ回路602は、
そのプログラムカウンタが指し示すマイクロプログラム
の一つのマイクロ命令を制御記憶装置513から信号6
14を介して読み出し、命令デコード回路603に出力
する。また、命令フェッチ回路602は、コマンド実行
制御回路601の制御によって、制御記憶装置513か
らマイクロ命令を読み出す代わりに、コマンド実行制御
回路601から信号613を介して供給されるマイクロ
命令をフェッチした命令として命令デコード回路603
に供給することもできる。
FIG. 6 shows a schematic internal block of the program execution control circuit 515. In the figure, a command execution control circuit 601 controls the entire program execution control circuit 515 and executes a command received from the host computer 600 via the host interface control circuit 516. The command execution control circuit 601 includes a sequencer circuit 604, a data storage device control circuit 605, a bus control circuit 606, an address control circuit 607, and a maximum value minimum value detection circuit 60
8 can be controlled. The sequencer circuit 604 has a program counter (PC) as a parameter register therein, and the command execution control circuit 60
In response to the execution request from the instruction 1, the instruction of reading the microinstruction is instructed to the instruction fetch circuit 602, and at the same time, its program counter is incremented to prepare for the reading of the next microinstruction. The instruction fetch circuit 602
One microinstruction of the microprogram indicated by the program counter is sent from the control storage device 513 to the signal 6.
14 and output to the instruction decode circuit 603. Also, the instruction fetch circuit 602 controls the command execution control circuit 601 to read a microinstruction from the control storage device 513, instead of reading the microinstruction supplied from the command execution control circuit 601 via the signal 613, as an instruction fetched. Instruction decode circuit 603
Can also be supplied.

【0035】(3)マイクロ命令 本実施の形態で使用されるのに適したマイクロ命令は水
平型のマイクロ命令である。VLIW方式のマイクロ命
令とも言える。ここでVLIW方式は複数の処理を並列
的に実行するマイクロプロセッサアーキテクチャに採用
される例えば64〜256ビットというように通常の方
式に比べて非常に長い命令フォーマットを用いる方式を
意味する。その命令は、複数のフィールドで構成され
る。そのフォーマットの一例は図7に示される。本発明
はこのフォーマットのマイクロ命令に限定されない。フ
ィールド702〜706の各々は特定のハードの制御の
みに対して使用されるのではなく、異なるハードの制御
に切り換えて使用できるようになっている。通常のマイ
クロ命令制御の装置と同じく、本実施の形態でも、各マ
イクロ命令は基本的には1マシーンサイクルで実行され
る。同一のデータに対する一連の処理が順次実行され、
かつ、その一連の処理が他のデータに対する同じ一連の
処理と並行して実行されるといういわゆるパイプライン
制御でもって複数のマイクロ命令が実行される。各フィ
ールドあるいはそこに含まれる後述する複数のサブフィ
ールドの各々を命令と呼ぶことがある。
(3) Microinstructions Microinstructions suitable for use in the present embodiment are horizontal microinstructions. It can also be called a micro instruction of the VLIW system. Here, the VLIW method means a method using an instruction format which is much longer than a normal method, such as 64-256 bits, which is employed in a microprocessor architecture for executing a plurality of processes in parallel. The instruction is composed of a plurality of fields. One example of the format is shown in FIG. The invention is not limited to micro-instructions in this format. Each of the fields 702 to 706 is not used only for control of a specific hardware, but can be used by switching to control of a different hardware. In the present embodiment, each micro-instruction is basically executed in one machine cycle, similarly to a normal micro-instruction control device. A series of processes for the same data is executed sequentially,
Also, a plurality of microinstructions are executed by so-called pipeline control in which the series of processes is executed in parallel with the same series of processes for other data. Each field or each of a plurality of subfields described later included therein may be referred to as an instruction.

【0036】フィールド701はセルフコントロールフ
イールドであり、フィールド702〜706の意味を変
更するものである。命令デコード回路603は、フィー
ルド701の内容に応じて他のフィールドを解釈する。
A field 701 is a self control field for changing the meaning of the fields 702 to 706. The instruction decode circuit 603 interprets other fields according to the contents of the field 701.

【0037】フィールド702は実行フロー制御フィー
ルドであり、シーケンサ回路604を制御する。命令デ
コード回路603はそのフィールドの内容に従ってジャ
ンプ命令、条件分岐命令あるいは実行終了命令などを実
行するようにシーケンサ回路604を制御する。シーケ
ンサ回路604は、ジャンプ命令の場合、命令デコード
回路603の制御に従って、プログラムカウンタの内容
をジャンプ先とする。このとき、サブルーチンコール命
令など、プログラムカウンタを復帰する必要がある場合
は、その復帰に必要な情報をスタッカーに退避し、復帰
命令の場合は、その退避した情報をそのスタッカーより
復帰させる。また、実行終了命令あるいは不当命令の場
合には、命令デコード回路603はコマンド実行制御回
路601に割り込み信号を発生し、ホストインタフェー
ス制御回路516を介してホストコンピュータ600に
通知する。
A field 702 is an execution flow control field for controlling the sequencer circuit 604. The instruction decode circuit 603 controls the sequencer circuit 604 to execute a jump instruction, a conditional branch instruction, an execution end instruction, and the like according to the contents of the field. In the case of a jump instruction, the sequencer circuit 604 sets the contents of the program counter as the jump destination under the control of the instruction decode circuit 603. At this time, if it is necessary to restore the program counter, such as a subroutine call instruction, the information necessary for the restoration is saved in the stacker. If the instruction is a restoration instruction, the saved information is restored from the stacker. In the case of an execution end instruction or an illegal instruction, the instruction decode circuit 603 generates an interrupt signal in the command execution control circuit 601 and notifies the host computer 600 via the host interface control circuit 516.

【0038】フィールド703は演算制御フィールドで
あり、各半導体装置100内の各プロセッサ内の演算器
あるいは各半導体装置100内のプロセッサ選択回路3
00、最大値最小値プロセッサ検出回路350等の各半
導体装置100内の回路を制御するフィールドである。
このフィールドには複数の演算あるいは動作を指定する
複数のサブフィールドが含まれる。命令デコード回路6
03はそのフィールドを切り出し、命令外部共通バス4
01に出力する。各プロセッサにより複数の演算を指定
する演算命令として主に処理されるので、以下では、こ
の切り出されたフィールド703内の各サブフィールド
を演算命令と呼ぶことがある。そのサブフィールドがプ
ロセッサ選択回路300等の半導体装置100内部にあ
るがプロセッサ200の外部にある回路の動作を制御す
るときも、そのサブフィールドを演算命令と呼ぶことが
ある。また、各サブフィールドが指定する特定の演算、
たとえば比較演算を引用して、そのサブフィールドをた
とえば比較演算命令と呼ぶことがある。なお、各半導体
装置100に同一マイクロ命令内の複数のフィールドあ
るいはサブフィールドが供給されるときには、それらの
全ビットは並行して命令外部共通バス401により供給
される。
A field 703 is an operation control field, and is an arithmetic unit in each processor in each semiconductor device 100 or a processor selection circuit 3 in each semiconductor device 100.
00 is a field for controlling circuits in each semiconductor device 100 such as the maximum value minimum value processor detection circuit 350 and the like.
This field includes a plurality of subfields for specifying a plurality of operations or operations. Instruction decode circuit 6
03 cuts out the field, and the instruction external common bus 4
Output to 01. Each of the subfields in the cut-out field 703 is sometimes referred to as an operation instruction since each processor mainly processes the operation instruction as an operation instruction designating a plurality of operations. When the subfield is inside the semiconductor device 100 such as the processor selection circuit 300 but controls the operation of a circuit outside the processor 200, the subfield may be called an operation instruction. Also, the specific operation specified by each subfield,
For example, with reference to a comparison operation, the subfield may be called, for example, a comparison operation instruction. When a plurality of fields or subfields in the same microinstruction are supplied to each semiconductor device 100, all of those bits are supplied in parallel by the instruction external common bus 401.

【0039】フィールド704は出力データ制御フィー
ルドであり、出力データ外部共通バス403に出力する
データを制御するもので、命令デコード回路603はそ
のフィールドを命令外部共通バス401に出力する。こ
のフィールドは、各半導体装置100に対してデータの
出力を指示する命令として処理されるので、以下ではデ
ータ出力指示命令とも呼ぶ。このデータ出力命令には、
後述する種々のデータ変換のいずれかを指示する命令も
含まれる。命令デコード回路603は、さらに、そのフ
ィールドの内容に従ってアドレス制御回路607を以下
のように制御する信号を生成する。アドレス制御回路6
07は、パラメータレジスタとしてのプロセッサアドレ
スポインタ(図示せず)と、そのプロセッサアドレスポ
インタの制御回路(図示せず)を含み、命令デコード回
路603の制御に従ってプロセッサアドレスポインタ
(図示せず)に対して、インクリメント、デイクリメン
トあるいは制御装置内部バス609上のデータの設定等
を行ない、そのプロセッサアドレスポインタの内容をプ
ロセッサアドレスバス404に出力する。このプロセッ
サアドレスは、データを出力データ外部共通バス403
に出力すべきいずれかの半導体装置100を指定する。
A field 704 is an output data control field for controlling data output to the output data external common bus 403. The instruction decode circuit 603 outputs the field to the instruction external common bus 401. Since this field is processed as an instruction to instruct each semiconductor device 100 to output data, the field is hereinafter also referred to as a data output instruction instruction. This data output instruction includes
It also includes an instruction for instructing any of various data conversions described below. The instruction decode circuit 603 further generates a signal for controlling the address control circuit 607 according to the contents of the field as follows. Address control circuit 6
Reference numeral 07 includes a processor address pointer (not shown) as a parameter register and a control circuit (not shown) for the processor address pointer. , Increments, decrements, or sets data on the control device internal bus 609, and outputs the contents of the processor address pointer to the processor address bus 404. This processor address is used to output data to the output data external common bus 403.
Is specified.

【0040】フィールド705はデータ制御フィールド
であり、データ記憶装置514(図5)へのアクセスを
行うデータ記憶装置制御回路605(図6)を制御す
る。命令デコード回路603はそのフィールドの内容に
従ってデータ記憶装置制御回路605を制御して以下の
動作を実行させる。データ記憶装置制御回路605は、
パラメータレジスタとしてのデータ記憶装置アドレスポ
インタ(図示せず)とそのデータ記憶装置アドレスポイ
ンタの制御回路(図示せず)を含み、命令デコード回路
603の制御に従ってデータ記憶装置アドレスポインタ
に対して、インクリメント、デイクリメントまたは制御
装置内部バス609上のデータの設定等を行なう。ま
た、命令デコード回路603の制御に従ってデータ記憶
装置アドレスポインタの指し示すデータ記憶装置内のア
ドレスに基づいて、データ記憶装置514からデータを
バス614へ読み出し、またはバス611上のデータを
データ記憶装置514に書き込む。バス612上に読み
出されたデータはバス制御回路606を介して制御装置
内部バス609に転送されるかもしくは入力データ外部
共通バス402に転送され各半導体装置100に放送さ
れる。データ記憶装置514に書き込むべきバス611
上のデータは、バス制御回路606を介して制御装置内
部バス609から転送されるかもしくは入力データ外部
共通バス402を介していずれかの半導体装置100か
ら転送される。
A field 705 is a data control field, and controls a data storage device control circuit 605 (FIG. 6) for accessing the data storage device 514 (FIG. 5). The instruction decode circuit 603 controls the data storage device control circuit 605 according to the contents of the field to execute the following operation. The data storage device control circuit 605 includes:
It includes a data storage device address pointer (not shown) as a parameter register and a control circuit (not shown) for the data storage device address pointer, and the data storage device address pointer is incremented, Decrement or setting of data on the control device internal bus 609 is performed. Further, based on the address in the data storage device indicated by the data storage device address pointer under the control of the instruction decode circuit 603, data is read from the data storage device 514 to the bus 614, or the data on the bus 611 is transferred to the data storage device 514. Write. The data read on the bus 612 is transferred to the control device internal bus 609 via the bus control circuit 606 or the input data is transferred to the external common bus 402 and broadcast to each semiconductor device 100. Bus 611 to be written to data storage device 514
The above data is transferred from the control device internal bus 609 via the bus control circuit 606 or from one of the semiconductor devices 100 via the input data external common bus 402.

【0041】フィールド706はデータバス制御フィー
ルドであり、命令デコード回路603はそのフィールド
の内容に従ってバス制御回路206を制御する。バス制
御回路206は、入力データ外部共通バス402、出力
データ外部共通バス403およびデータ記憶装置514
に対する入出力バス611、612と制御装置内部バス
609の接続を制御する回路である。図8には、バス制
御回路206の内部ブロックが示される。図において、
セレクタ820〜822は、命令デコード回路603か
らの制御信号610に従って以下の動作を行う。セレク
タ820は、出力データ外部共通バス403上のデータ
またはデータ記憶装置514の出力バス612上のデー
タを選択し、ラッチ回路830を介して入力データ外部
共通バス402に転送する。セレクタ821は、出力デ
ータ外部共通バス403上のデータまたは制御装置内部
バス609上のデータを選択し、ラッチ回路831を介
してデータ記憶装置514への入力バス611に転送す
る。セレクタ822は、命令デコード回路603からの
制御信号610に従って、出力データ外部共通バス40
3上のデータまたはデータ記憶装置514の出力バス6
12上のデータを選択してラッチ回路832、トライス
テートバッファ834を介して制御装置内部バス609
に出力する。
A field 706 is a data bus control field, and the instruction decode circuit 603 controls the bus control circuit 206 according to the contents of the field. The bus control circuit 206 includes an input data external common bus 402, an output data external common bus 403, and a data storage device 514.
Is a circuit for controlling connection between the input / output buses 611 and 612 and the control device internal bus 609. FIG. 8 shows an internal block of the bus control circuit 206. In the figure,
The selectors 820 to 822 perform the following operations according to the control signal 610 from the instruction decode circuit 603. The selector 820 selects data on the output data external common bus 403 or data on the output bus 612 of the data storage device 514 and transfers the data to the input data external common bus 402 via the latch circuit 830. The selector 821 selects data on the output data external common bus 403 or data on the control device internal bus 609 and transfers the data to the input bus 611 to the data storage device 514 via the latch circuit 831. The selector 822 outputs the output data external common bus 40 according to the control signal 610 from the instruction decode circuit 603.
3 or output bus 6 of data storage device 514
12 via a latch circuit 832 and a tri-state buffer 834 to control device internal bus 609.
Output to

【0042】したがって、セレクタ820により、デー
タ記憶装置514からバス612に読みだされたデータ
を出力データ外部共通バス403を介して全ての半導体
装置100に放送することが出来る。さらにこのセレク
タ820により、特定の半導体装置100から出力デー
タ外部共通バス403に出力されたデータを入力データ
外部共通バス402に送り、このデータを全ての半導体
装置100にプロードキャストすることが可能になる。
また、いずれかの半導体装置100内のいずれかのプロ
セッサ200により生成され、出力データ外部共通バス
403に送出された、システムが目的とする最終的な演
算結果データを、セレクタ821によりバス611を経
由してデータ記憶装置514に格納することができる。
Therefore, the data read from the data storage device 514 onto the bus 612 can be broadcast to all the semiconductor devices 100 via the output data external common bus 403 by the selector 820. Further, the selector 820 can send data output from the specific semiconductor device 100 to the output data external common bus 403 to the input data external common bus 402 and broadcast the data to all the semiconductor devices 100. .
Further, the final operation result data intended by the system, which is generated by any one of the processors 200 in any one of the semiconductor devices 100 and sent to the output data external common bus 403, is transmitted via the bus 611 by the selector 821. And stored in the data storage device 514.

【0043】(4)半導体装置 図2に戻り、各半導体装置100では、命令デコーダ1
09は、制御装置500から命令外部共通バス401を
介して命令入力端子105に並列に供給された複数の命
令の各々をデコードし、それらの命令の内、プロセッサ
200により処理されるべき複数の命令を切り出し、命
令内部共通バス110を介して複数のプロセッサ200
に放送する。命令デコーダ109に供給された複数の命
令の中に、その半導体装置100に含まれた、プロセッ
サ200の外部の回路、たとえばセレクタ111、11
2、113またはプロセッサ選択回路300、最大値最
小値プロセッサ検出回路350の動作を必要とする命令
が含まれているときには、命令デコーダ109は、その
回路に対する複数の制御信号(以下ではこれも命令と呼
ぶことがある)を生成し、信号109Aを介してその回
路に供給する。
(4) Semiconductor Device Returning to FIG. 2, in each semiconductor device 100, the instruction decoder 1
09 decodes each of a plurality of instructions supplied in parallel to the instruction input terminal 105 from the control device 500 via the instruction external common bus 401, and, among those instructions, a plurality of instructions to be processed by the processor 200. And a plurality of processors 200 via the instruction internal common bus 110.
Broadcast to. Among a plurality of instructions supplied to the instruction decoder 109, a circuit external to the processor 200 included in the semiconductor device 100, for example, selectors 111 and 11
2, 113, or an instruction that requires the operation of the processor selection circuit 300 and the maximum / minimum processor detection circuit 350 is included, the instruction decoder 109 outputs a plurality of control signals to the circuit (hereinafter also referred to as an instruction (Which may be referred to as) and supplies it to the circuit via signal 109A.

【0044】各プロセッサのデータ出力端子は、対応す
るトライステートバッファ121を介して出力データ内
部共通バス118に接続されている。最大値最小値プロ
セッサ検出回路350の出力もトライステートバッファ
115を介して出力データ内部共通バス118に接続さ
れている。最大値最小値プロセッサ検出回路350は、
半導体装置100内の全プロセッサ200から信号21
2を介して繰り返し供給される複数の比較結果信号によ
り、最大の比較対象データおよび最小の比較結果データ
をそれぞれ生成した最大値プロセッサおよび最小値プロ
セッサを識別し、それぞれのプロセッサのアドレスを生
成する。最大値最小値プロセッサ検出回路350は、こ
れらのアドレスをプロセッサ選択回路300に供給す
る。プロセッサ選択回路300は生成されたこれらのア
ドレスをトライステートバッファ115を介して出力デ
ータ内部共通バス118に出力可能である。
The data output terminal of each processor is connected to the output data internal common bus 118 via the corresponding tri-state buffer 121. The output of the maximum value minimum value processor detection circuit 350 is also connected to the output data internal common bus 118 via the tristate buffer 115. The maximum value minimum value processor detection circuit 350
Signal 21 from all processors 200 in semiconductor device 100
The maximum value processor and the minimum value processor which respectively generate the maximum comparison target data and the minimum comparison result data are identified by a plurality of comparison result signals repeatedly supplied via the control unit 2 and the addresses of the respective processors are generated. The maximum value minimum value processor detection circuit 350 supplies these addresses to the processor selection circuit 300. The processor selection circuit 300 can output these generated addresses to the output data internal common bus 118 via the tri-state buffer 115.

【0045】プロセッサ選択回路300は、出力データ
内部共通バス118にデータを出力すべきプロセッサを
選択するための回路である。選択に用いるプロセッサア
ドレスは、制御装置500からプロセッサアドレスバス
404、プロセッサアドレス入力端子108、信号11
4を介して供給されるプロセッサアドレスもしくは最大
値最小値プロセッサ検出回路350から供給されるアド
レスである。
The processor selection circuit 300 is a circuit for selecting a processor to output data to the output data internal common bus 118. The processor address used for selection is supplied from the control device 500 to the processor address bus 404, the processor address input terminal 108, the signal 11
4 or an address supplied from the maximum value / minimum value processor detection circuit 350.

【0046】セレクタ111は、制御装置500から入
力データ外部共通バス402を介して外部データ入力端
子104に供給された入力データまたは出力データ内部
共通バス118上のデータを選択してセレクタ112お
よびフォーマット変換回路102に出力する。セレクタ
112は、セレクタ111の出力データ、フォーマット
変換回路102の出力データまたはフォーマット変換回
路103の出力データを選択して、入力データ内部共通
バス119に出力する。したがって、セレクタ111、
112により、入力データ外部共通バス402から供給
された入力データだけでなく、いずれかのプロセッサ2
00が出力したデータも全プロセッサ200に放送され
る。
The selector 111 selects input data supplied to the external data input terminal 104 from the control device 500 via the input data external common bus 402 or data on the output data internal common bus 118, and selects the selector 112 and format conversion. Output to the circuit 102. The selector 112 selects the output data of the selector 111, the output data of the format conversion circuit 102 or the output data of the format conversion circuit 103, and outputs it to the input data internal common bus 119. Therefore, the selector 111,
112, not only the input data supplied from the external data common bus 402 but also any of the processors 2
The data output by 00 is also broadcast to all processors 200.

【0047】セレクタ113は、出力データ内部共通バ
ス118上のデータまたはフォーマット変換回路103
の出力データを選択してトライステートバッファ120
に出力する。半導体装置アドレスデコーダ407に半導
体装置選択信号入力端子107を介して半導体装置の外
部から与えられる半導体装置選択信号がアサートされた
ときに、トライステートバッファ120は、セレクタ1
13が出力するデータを外部データ出力端子106を介
して出力データ外部共通バス403に出力する。したが
って、各プロセッサが出力データ内部共通バス118に
出力したデータも最大値最小値プロセッサ検出回路35
0から出力されたプロセッサアドレスもセレクタ11
3、トライステートバッファ120、出力データ外部共
通バス403を介して制御装置500に転送できる。
The selector 113 controls the data on the output data internal common bus 118 or the format conversion circuit 103.
Output data of the tristate buffer 120
Output to When a semiconductor device selection signal applied from outside the semiconductor device via the semiconductor device selection signal input terminal 107 to the semiconductor device address decoder 407 is asserted, the tri-state buffer 120 selects the selector 1
13 outputs the output data to the output data external common bus 403 via the external data output terminal 106. Therefore, the data output from each processor to the output data internal common bus 118 is also the maximum value minimum value processor detection circuit 35.
The processor address output from 0 is also the selector 11
3. The data can be transferred to the control device 500 via the tri-state buffer 120 and the output data external common bus 403.

【0048】なお、紙面上省略したが、半導体装置10
0の端子104〜108には、それぞれの端子に接続さ
れる外部の信号のタイミングに同期してデータの入力あ
るいは出力をするためのラッチ回路が設けられている。
また、半導体装置100内部の回路を同期して動作させ
るためのクロック信号が外部端子より供給されている。
また、紙面上省略したが、命令デコーダ109から制御
信号をセレクタ113に伝達する線路および半導体装置
選択信号入力端子107から半導体装置選択信号をトラ
イステートバッファ120に供給する線路にはこのクロ
ック信号に同期して動作する2段のラッチ回路が含まれ
ており、セレクタ113とトライステートバッファ12
0の動作タイミングがプロセッサ200がデータを出力
するタイミングに調整されている。
Although omitted from the drawing, the semiconductor device 10
Each of the 0 terminals 104 to 108 is provided with a latch circuit for inputting or outputting data in synchronization with the timing of an external signal connected to each terminal.
In addition, a clock signal for synchronously operating circuits inside the semiconductor device 100 is supplied from an external terminal.
Although omitted from the drawing, a line for transmitting a control signal from the instruction decoder 109 to the selector 113 and a line for supplying a semiconductor device selection signal from the semiconductor device selection signal input terminal 107 to the tristate buffer 120 are synchronized with this clock signal. And a two-stage latch circuit, which operates as a selector 113 and a tri-state buffer 12.
The operation timing of 0 is adjusted to the timing at which the processor 200 outputs data.

【0049】(5)プロセッサ 図3を参照するに、各プロセッサ200内の命令デコー
ダ209は、そのプロセッサが含まれる半導体装置10
0内のデコーダ109から命令内部共通バス110を介
して命令入力端子207から並列に入力された複数の命
令をデコードし、プロセッサ200内のそれぞれの命令
に関連する複数の回路に供給する複数の制御信号(以下
ではこれらも命令と呼ぶことがある)を並列に生成し、
信号209Aを介してそれらの回路に並列に供給する。
各プロセッサ200は、一つのニューロンの動作を模倣
するに必要な演算器を有する。ここではその演算器とし
て、乗算器202と、四則演算、簡単な論理演算とシフ
ト演算等を行う算術論理演算器(ALU)201とを含
む。メモリ203は、プロセッサ200のローカルメモ
リであり、ここではニューロンの動作を模倣する計算で
必要な重み値を主として保持するので重み値メモリと呼
ぶ。重み値メモリ203は、RAM等の書き換え可能な
メモリで構成される。重み値は予め制御装置500によ
り初期設定される。この重み値メモリ203は、命令で
指定されるアドレスについて、命令に従ってデータの読
み出しを行い、あるいは乗算器202またはALU20
1が出力したデータを書き込み可能である。重み値メモ
リ203から読み出されたデータはバス230を経由し
てALU201または乗算器202または後に説明する
セレクタ217により使用される。読み出しアドレスは
重み値メモリ読み出し命令により指定される。レジスタ
ファイル204は複数のレジスタからなり、ALU20
1または乗算器202による演算結果データを格納する
のに使用され、また、そこに保持されたデータは、バス
230を経由してALU201または乗算器202また
はセレクタ217により使用される。レジスタファイル
204からデータを読み出すレジスタあるいはデータを
書き込むべきレジスタは命令により指定される。なお、
レジスタファイル204は、複数の命令が同時に指定す
る3つアドレスの内、第1のアドレスのレジスタに対し
て書き込みを行い、第2、第3のアドレスのレジスタか
ら読み出しを行い、しかもこれらの読み出しと書き込み
を並行して実行可能である。半導体装置100の入力デ
ータ内部共通バス119を経由してデータ入力端子20
5に供給された入力データは、バス230を介して乗算
器202あるいはALU201に供給される。
(5) Processor Referring to FIG. 3, an instruction decoder 209 in each processor 200 includes a semiconductor device 10 including the processor.
A plurality of controls for decoding a plurality of instructions input in parallel from the instruction input terminal 207 from the decoder 109 in the instruction processor 0 via the instruction internal common bus 110 and supplying the decoded instructions to a plurality of circuits related to the respective instructions in the processor 200 Generate signals in parallel (hereafter also called instructions),
The signals are supplied in parallel to these circuits via a signal 209A.
Each processor 200 has a computing unit necessary to imitate the operation of one neuron. Here, the arithmetic unit includes a multiplier 202 and an arithmetic and logic unit (ALU) 201 which performs four arithmetic operations, simple logical operations, shift operations, and the like. The memory 203 is a local memory of the processor 200, and is here called a weight value memory because it mainly holds a weight value required for a calculation that imitates the operation of a neuron. The weight memory 203 is composed of a rewritable memory such as a RAM. The weight value is initialized by the control device 500 in advance. The weight value memory 203 reads data from the address specified by the instruction in accordance with the instruction, or stores the data in the multiplier 202 or the ALU 20.
1 can be written. The data read from the weight value memory 203 is used by the ALU 201, the multiplier 202 or the selector 217 described later via the bus 230. The read address is specified by a weight value memory read instruction. The register file 204 includes a plurality of registers.
1 or used to store the operation result data by the multiplier 202, and the data held therein is used by the ALU 201 or the multiplier 202 or the selector 217 via the bus 230. A register for reading data from or writing data to the register file 204 is specified by an instruction. In addition,
The register file 204 writes to the register of the first address among the three addresses specified by a plurality of instructions at the same time, reads from the registers of the second and third addresses, and furthermore, Writing can be performed in parallel. The data input terminal 20 via the input data internal common bus 119 of the semiconductor device 100
5 is supplied to the multiplier 202 or the ALU 201 via the bus 230.

【0050】乗算器202には、上記入力データ、レジ
スタファイル204から命令に従って読み出されたデー
タあるいは乗算器202が生成した乗算結果データのい
ずれかが第1のデータとして供給され、さらに、レジス
タファイル204から命令にしたがって読み出されたデ
ータと重み値メモリ203から命令に従って読み出され
たデータのいずれかが第2のデータとして供給される。
乗算器202は、これら第1、第2のデータに対して命
令に従って浮動小数点フォーマットの乗算あるいは固定
小数点フォーマットの乗算を行う。
Either the input data, the data read out from the register file 204 according to the instruction or the multiplication result data generated by the multiplier 202 is supplied to the multiplier 202 as first data. Either the data read from the memory 204 according to the instruction or the data read from the weight value memory 203 according to the instruction is supplied as the second data.
The multiplier 202 performs multiplication in a floating-point format or multiplication in a fixed-point format on the first and second data in accordance with an instruction.

【0051】ALU201には、上記入力データ、レジ
スタファイル204から命令に従って読み出されたデー
タあるいは乗算器202の出力データのいずれかが第1
のデータとして供給され、さらにレジスタファイル20
4から命令に従って読み出されたデータ、重み値メモリ
203から命令に従って読み出されたデータあるいはA
LU201の出力データのいずれかが第2のデータとし
て供給される。ALU201は、命令に従って浮動小数
点フォーマットの算術加減算、固定小数フォーマットの
算術加減算、論理演算またはシフト演算をこれらの第
1、第2のデータに対して行う。
The ALU 201 receives either the input data, the data read from the register file 204 according to the instruction, or the output data of the multiplier 202 as the first data.
And the register file 20
4, data read according to the instruction, data read from the weight value memory 203 according to the instruction, or A
One of the output data of the LU 201 is supplied as the second data. The ALU 201 performs arithmetic addition and subtraction in a floating-point format, arithmetic addition and subtraction in a fixed-point format, a logical operation or a shift operation on these first and second data in accordance with instructions.

【0052】レジスタファイル204には、命令に従っ
て乗算器202またはALU201の出力データが信号
232を介して書き込まれる。なお、この書き込みが行
われないこともある。同様に、重み値メモリ203にも
命令に従って乗算器202またはALU201の出力デ
ータが信号231を介して書き込まれる。なお、この書
き込みが行われないこともある。なお、ALU201の
演算結果データは、ラッチ回路221を介してバス23
0にも供給され、同様に乗算器202の演算結果データ
も、ラッチ回路222を介してバス230にも供給され
る。
The output data of the multiplier 202 or the ALU 201 is written to the register file 204 via the signal 232 in accordance with the instruction. Note that this writing may not be performed. Similarly, the output data of the multiplier 202 or the ALU 201 is written into the weight memory 203 via the signal 231 according to the instruction. Note that this writing may not be performed. The operation result data of the ALU 201 is transferred to the bus 23 via the latch circuit 221.
0, and similarly, the operation result data of the multiplier 202 is also supplied to the bus 230 via the latch circuit 222.

【0053】全半導体装置100内の全プロセッサ20
0は、制御装置500から放送される、複数の命令から
なる一組の命令を受信し、その複数の命令を並列に実行
する。制御装置500から順次放送される複数組の命令
を同様に実行する。こうしてシステムの全プロセッサは
異なる重み値を用いて同一の処理を実行し、その結果デ
ータをレジスタファイル204あるいは重み値メモリ2
03に格納する。
All processors 20 in all semiconductor devices 100
“0” receives a set of commands, which is broadcast from the control device 500 and includes a plurality of commands, and executes the plurality of commands in parallel. A plurality of sets of instructions sequentially broadcast from the control device 500 are similarly executed. In this way, all processors in the system execute the same processing using different weight values, and store the result data in the register file 204 or the weight value memory 2.
03.

【0054】各プロセッサ200から外部へのデータの
転送は以下のようにしてなされる。外部に送出すべきデ
ータは、命令に従ってレジスタファイル204もしくは
重み値メモリ203から読み出されてバス230を介し
てセレクタ217に供給される。セレクタ217は、デ
ータ出力命令にしたがって、このデータを選択し、デー
タ出力端子206を介して出力データ内部共通バス11
8に送出する。
Data transfer from each processor 200 to the outside is performed as follows. The data to be sent to the outside is read out from the register file 204 or the weight value memory 203 according to the instruction and supplied to the selector 217 via the bus 230. The selector 217 selects this data in accordance with the data output instruction and outputs the selected data via the data output terminal 206 to the output data internal common bus 11.
8

【0055】なお、紙面上省略したが、図3において、
命令デコーダ209は、命令によって、比較対象フラグ
220に応じてプロセッサ200内の各種メモリ(レジ
スタファイル204および重み値メモリ203)の書き
換えを禁止するようになっている。また、プロセッサ2
00にはプロセッサ実行選択信号がプロセッサ200の
端子を介して入力されていて、命令によって、そのプロ
セッサ実行選択信号に応じてプロセッサ200内の各種
メモリ(レジスタファイル204および重み値メモリ2
03)の書き換えを禁止するようになっている。これに
よって、図1における命令内部共通バス110を介して
全プロセッサにブロードキャストされる命令を実行する
プロセッサの選択が可能となる。そのプロセッサ実行選
択信号は、図2において、半導体装置選択信号入力端子
107を介して入力される半導体装置選択信号がアサー
トされているときプロセッサアドレス入力端子108を
介して入力されるプロセッサアドレス信号114が指し
示すプロセッサに対応するものがアサートされるように
生成される。また、上記プロセッサの端子205〜20
8にはラッチ回路(図示せず)が含まれており、それぞ
れに接続される外部の信号のタイミングで同期してデー
タの入力あるいは出力を行うのに使用される。
Although omitted from the drawing, in FIG.
The instruction decoder 209 prohibits rewriting of various memories (register file 204 and weight value memory 203) in the processor 200 in accordance with the comparison target flag 220 by an instruction. Processor 2
00, a processor execution selection signal is input via a terminal of the processor 200, and various memories (register file 204 and weight value memory 2
03) is prohibited. Thus, it becomes possible to select a processor that executes an instruction broadcast to all processors via the instruction internal common bus 110 in FIG. In FIG. 2, the processor execution selection signal is a processor address signal 114 input via the processor address input terminal 108 when the semiconductor device selection signal input via the semiconductor device selection signal input terminal 107 is asserted. The one corresponding to the processor pointed to is generated to be asserted. Also, terminals 205 to 20 of the processor
Reference numeral 8 includes a latch circuit (not shown), which is used to input or output data in synchronization with the timing of an external signal connected to each.

【0056】(6)装置動作 以下では、情報処理システム400内で最大もしくは最
小の結果データを生成したプロセッサの検出に関連する
回路と動作の詳細を説明する。本実施の形態では、この
検出のために、まず各半導体装置100内で最大または
最小の結果データを生成した装置内最大値プロセッサあ
るいは装置内最小値プロセッサを検出する。その後、各
半導体装置100が検出した最大値あるいは最小値を制
御装置500が比較して、システム最大値あるいはシス
テム最小値を生成したプロセッサを検出する。
(6) Device Operation Hereinafter, details of circuits and operations related to detection of a processor that has generated the maximum or minimum result data in the information processing system 400 will be described. In the present embodiment, for this detection, first, the maximum value processor or the minimum value processor in the device which has generated the maximum or minimum result data in each semiconductor device 100 is detected. After that, the control device 500 compares the maximum value or the minimum value detected by each semiconductor device 100, and detects the processor that has generated the system maximum value or the system minimum value.

【0057】(6a)装置内最大値最小値の検出 まず、各半導体装置100内の最大値プロセッサまたは
最小値プロセッサの検出(以下、装置内最大値最小値プ
ロセッサの検出と呼ぶ)に関連する装置と動作(以下第
1の動作と呼ぶ)の詳細を説明する。この装置内最大値
最小値プロセッサの検出では、各半導体装置100内の
一つのプロセッサから比較対象データを読み出し、その
半導体装置100内の全プロセッサ200に放送する。
この比較対象データは、各プロセッサでの一連の処理の
結果生成されたデータである。それぞれのプロセッサに
おいて、自己が持つ比較対象データと放送された比較対
象データとを比較させる。各プロセッサは比較結果信号
を最大値最小値プロセッサ検出回路350に通知する。
この動作を比較対象データを読み出すべきプロセッサを
順次変更して繰り返す。最大値最小値プロセッサ検出回
路350は、この繰り返しにより半導体装置100内の
各プロセッサ200により生成された複数の比較結果信
号により、装置内最大値プロセッサと装置内最小値プロ
セッサを判別する。以上の動作は全半導体装置100に
より互いに並列に実行される。ここでは各プロセッサの
比較対象データは、レジスタファイル204あるいは重
み値メモリ203の何れかのプロセッサに依らない同一
の場所に格納され、浮動小数点フォーマットで表現され
たデータであると仮定する。また全半導体装置100内
の全プロセッサ200が比較対象プロセッサであると仮
定する。いずれかのプロセッサが比較対象プロセッサで
ないときの装置動作は後に説明する。
(6a) Detection of maximum value / minimum value in device First, a device related to detection of a maximum value processor or a minimum value processor in each semiconductor device 100 (hereinafter, referred to as detection of a maximum value / minimum value processor in the device). And the operation (hereinafter, referred to as a first operation) will be described in detail. In the detection of the maximum value / minimum value processor in the device, comparison target data is read from one processor in each semiconductor device 100 and broadcast to all processors 200 in the semiconductor device 100.
This comparison target data is data generated as a result of a series of processes in each processor. Each processor compares the comparison target data held by itself with the broadcast comparison target data. Each processor notifies the maximum / minimum value processor detection circuit 350 of the comparison result signal.
This operation is repeated while sequentially changing the processor from which the comparison target data is to be read. The maximum value / minimum value processor detection circuit 350 determines the maximum value processor in the device and the minimum value processor in the device based on a plurality of comparison result signals generated by each processor 200 in the semiconductor device 100 by this repetition. The above operations are executed in parallel by all the semiconductor devices 100. Here, it is assumed that the comparison target data of each processor is stored in the same location in the register file 204 or the weight memory 203 regardless of the processor and is data expressed in a floating-point format. It is also assumed that all processors 200 in all semiconductor devices 100 are processors to be compared. The operation of the device when any of the processors is not the processor to be compared will be described later.

【0058】(6a−1)比較対象データ出力命令 まず、図1を参照するに、制御装置500は、全半導体
装置100に、命令外部共通バス401を介して、比較
対象データ出力命令と比較対象データの格納場所の情報
とを放送する。この情報は、レジスタファイル204と
重み値メモリ203のいずれか一方を指定する情報と、
レジスタファイル204内の読み出すべきレジスタの番
号または重み値メモリ203のデータ読み出しアドレス
とを含む。制御装置500は、同時にプロセッサアドレ
スバス404を介して比較対象データを読み出すべき一
つのプロセッサに対する装置内プロセッサアドレスを含
むプロセッサアドレスを与え、全半導体装置100に放
送する。プロセッサアドレスの上位ビットは、複数の半
導体装置100を識別するための半導体装置アドレスで
あり、プロセッサアドレスの下位ビットは、半導体装置
100内の複数のプロセッサを識別するための装置内プ
ロセッサ番号である。今の場合、供給されたプロセッサ
アドレスの内の半導体装置アドレスは各半導体装置10
0内では使用されない。なお、命令外部共通バス401
への命令の供給は、制御装置500内の命令デコード回
路603(図6)により行われ、プロセッサアドレスバ
ス404へのプロセッサアドレスの供給は、制御装置5
00内のアドレス制御回路607(図6)により行われ
る。このことは他の動作でも同じである。
(6a-1) Comparable Data Output Instruction First, referring to FIG. 1, the control device 500 sends the comparison target data output instruction to the Broadcasts information on data storage locations. This information includes information specifying one of the register file 204 and the weight value memory 203,
It contains the number of the register to be read in the register file 204 or the data read address of the weight memory 203. The control device 500 simultaneously gives a processor address including an in-device processor address for one processor from which the comparison target data is to be read out via the processor address bus 404 and broadcasts it to all the semiconductor devices 100. The upper bits of the processor address are a semiconductor device address for identifying the plurality of semiconductor devices 100, and the lower bits of the processor address are an in-device processor number for identifying a plurality of processors in the semiconductor device 100. In this case, the semiconductor device address among the supplied processor addresses is
Not used within 0. The instruction external common bus 401
The instruction is supplied to the processor 500 by the instruction decode circuit 603 (FIG. 6) in the control device 500. The processor address is supplied to the processor address bus 404 by the control device 5.
This is performed by the address control circuit 607 in FIG. This is the same in other operations.

【0059】図2を参照するに、各半導体装置100内
の命令デコーダ109は、その比較対象データ出力命令
をデコードして、その比較対象データ出力命令とその比
較対象データの格納場所の情報を命令内部共通バス11
0を介してその半導体装置100内の全プロセッサ20
0に放送する。また、命令デコーダ109は、その比較
対象データ出力命令をデコードしたときに、プロセッサ
選択回路300に対して制御装置500からプロセッサ
アドレスバス404、信号114を介して供給された装
置内プロセッサアドレスで指定されるプロセッサから出
力データ内部共通バス118へデータを出力させるため
の命令を生成し、プロセッサ選択回路300に出力す
る。プロセッサアドレス入力端子108に与えられたプ
ロセッサアドレスの内の装置内プロセッサアドレスは信
号114を介してプロセッサ選択回路300に供給され
る。
Referring to FIG. 2, instruction decoder 109 in each semiconductor device 100 decodes the comparison target data output instruction, and outputs the comparison target data output instruction and the information on the storage location of the comparison target data. Internal common bus 11
0 through all the processors 20 in the semiconductor device 100.
Broadcast to 0. Further, when the instruction decoder 109 decodes the comparison target data output instruction, the instruction decoder 109 is designated by the processor address in the device supplied to the processor selection circuit 300 from the control device 500 via the processor address bus 404 and the signal 114. An instruction for outputting data from the processor to the output data internal common bus 118 is generated and output to the processor selection circuit 300. The processor address in the device among the processor addresses given to the processor address input terminal 108 is supplied to the processor selection circuit 300 via a signal 114.

【0060】図3を参照するに、各プロセッサ200内
の命令デコーダ209がその命令をデコードし、比較対
象データの格納場所の上記情報でもってレジスタファイ
ル204または重み値メモリ203を選択する。レジス
タファイル204または重み値メモリ203は、選択さ
れたときに、その情報で指定される比較対象データを読
み出し、セレクタ217に与える。今の場合、全プロセ
ッサ200が比較対象プロセッサであると仮定してい
る。この場合、後述するように、比較対象フラグレジス
タ220(以下では、このレジスタに保持された比較対
象フラグも比較対象フラグ220とも呼ぶことがある)
は、いずれのプロセッサ200でもセットされている。
このときセレクタは、この読み出された比較対象データ
を選択し、データ出力端子206を介してそのプロセッ
サに対応するトライステートバッファ121(図2)に
出力する。
Referring to FIG. 3, an instruction decoder 209 in each processor 200 decodes the instruction and selects the register file 204 or the weight value memory 203 based on the information on the storage location of the data to be compared. When selected, the register file 204 or the weight value memory 203 reads the comparison target data specified by the information, and supplies the comparison target data to the selector 217. In this case, it is assumed that all processors 200 are comparison processors. In this case, as described later, the comparison target flag register 220 (hereinafter, the comparison target flag held in this register may also be referred to as the comparison target flag 220).
Is set in any of the processors 200.
At this time, the selector selects the read comparison target data and outputs it via the data output terminal 206 to the tri-state buffer 121 (FIG. 2) corresponding to the processor.

【0061】図4を参照するに、プロセッサ選択回路3
00は、セレクタ305、306とプロセッサ選択信号
生成回路307とを含む。プロセッサ選択回路300
は、半導体装置100内のクロック信号に同期して動作
し、プロセッサ200との実行のタイミングが調整され
るように、デコーダ109(図2)から供給される命令
の入力部(図示せず)には、1段のラッチ回路(図示せ
ず)が設けられている。このことは、最大値最小値プロ
セッサ検出回路350についても同じである。図中に記
載されたラッチ回路320、321、322、323、
324は、半導体装置100内のクロック信号に同期し
て動作し、プロセッサ選択回路300とプロセッサ20
0との実行のタイミング調整をするために設けられてい
る。
Referring to FIG. 4, the processor selection circuit 3
00 includes selectors 305 and 306 and a processor selection signal generation circuit 307. Processor selection circuit 300
Operates in synchronization with a clock signal in the semiconductor device 100, and is connected to an input unit (not shown) of an instruction supplied from the decoder 109 (FIG. 2) so that the timing of execution with the processor 200 is adjusted. Is provided with a one-stage latch circuit (not shown). This is the same for the maximum value minimum value processor detection circuit 350. The latch circuits 320, 321, 322, 323 described in FIG.
324 operates in synchronization with the clock signal in the semiconductor device 100, and
It is provided to adjust the timing of execution with 0.

【0062】セレクタ305は、後に説明するように最
大値最小値プロセッサ検出回路350から供給される装
置内最大値プロセッサのアドレスと装置内最小値プロセ
ッサのアドレスの一方を選択するためのものである。セ
レクタ306には、制御装置500からプロセッサアド
レス入力端子108、信号114を介して供給される装
置内プロセッサアドレスとセレクタ305の出力アドレ
スが入力される。今の場合、セレクタ306は、上記命
令に応答して、命令デコーダ109から与えられた、信
号114を介して供給された装置内プロセッサアドレス
で指定されるプロセッサから出力データ内部共通バス1
18へデータを出力させるために、信号114上の装置
内プロセッサアドレスを選択する。さらに、プロセッサ
選択信号生成回路307には、セレクタ306が出力す
る装置内プロセッサアドレスと後に説明する最大値最小
値プロセッサ検出回路350内の零検出回路308、3
09の出力が入力される。プロセッサ選択信号生成回路
307は、命令デコーダ109から供給された命令に応
答して、セレクタ306からの装置内プロセッサアドレ
スが示すプロセッサに供給すべきプロセッサ選択信号を
信号122に出力するか、あるいは信号116または3
18へ供給すべき後述する信号を生成するための回路で
ある。プロセッサ選択信号生成回路307は、プロセッ
サ選択信号を生成するときには、セレクタ306からの
装置内プロセッサアドレスが示すプロセッサが比較対象
データをそのプロセッサに対応するトライステートバッ
ファ121に出力するタイミングでそのプロセッサに対
するプロセッサ選択信号をアサートし、そのトライステ
ートバッファ121に信号122を介して供給するよう
に動作する。今の場合、プロセッサ選択信号生成回路3
07は、信号114から供給された装置内プロセッサア
ドレスにより指定されるプロセッサに対するプロセッサ
選択信号をアサートする。こうして、制御装置500が
供給した装置内プロセッサアドレスで指定されるプロセ
ッサから読みだされた比較対象データが出力データ内部
共通バス118に転送される。
As will be described later, the selector 305 selects one of the address of the internal maximum processor and the address of the internal minimum processor supplied from the maximum / minimum processor detection circuit 350. The selector 306 receives the processor address in the device supplied from the control device 500 via the processor address input terminal 108 and the signal 114 and the output address of the selector 305. In this case, in response to the instruction, the selector 306 outputs the output data internal common bus 1 from the processor specified by the in-device processor address supplied via the signal 114 supplied from the instruction decoder 109.
In order to output data to 18, the internal processor address on signal 114 is selected. Further, the processor selection signal generation circuit 307 includes an in-device processor address output from the selector 306 and zero detection circuits 308, 3
09 is input. The processor selection signal generation circuit 307 outputs a processor selection signal to be supplied to the processor indicated by the processor address in the device from the selector 306 to the signal 122 in response to the instruction supplied from the instruction decoder 109, or outputs the signal Or 3
18 is a circuit for generating a signal to be described later to be supplied to. When generating the processor selection signal, the processor selection signal generation circuit 307 outputs the processor corresponding to the processor at the timing when the processor indicated by the processor address in the device from the selector 306 outputs the comparison target data to the tristate buffer 121 corresponding to the processor. It asserts the select signal and operates to supply it to its tri-state buffer 121 via signal 122. In this case, the processor selection signal generation circuit 3
07 asserts a processor selection signal for the processor specified by the internal processor address supplied from the signal 114. Thus, the comparison target data read from the processor specified by the in-device processor address supplied by the control device 500 is transferred to the output data internal common bus 118.

【0063】(6a−2)データ比較演算命令 次に、図1を参照するに、制御装置500は、全半導体
装置100に、それぞれの半導体装置100内の出力デ
ータ内部共通バス118上に読み出された比較対象デー
タとそれぞれの半導体装置100内の各プロセッサ内の
比較対象データとを比較するための浮動小数点データ比
較演算命令を放送する。
(6a-2) Data Comparison Operation Instruction Next, referring to FIG. 1, the control device 500 reads out all the semiconductor devices 100 onto the output data internal common bus 118 in each semiconductor device 100. Broadcasting a floating-point data comparison operation command for comparing the comparison target data with the comparison target data in each processor in each semiconductor device 100.

【0064】図2を参照するに、各半導体装置100内
の命令デコーダ109は、その命令をデコードして、出
力データ内部共通バス118を選択させる命令を生成
し、セレクタ111(図2)に信号109Aを介して供
給し、セレクタ111の出力を選択させる命令を生成
し、信号109Aを介してセレクタ112(図2)に供
給する。セレクタ111(図2)は、命令デコーダ10
9から供給された上記命令に応答して、出力データ内部
共通バス118上に読み出された比較対象データを選択
する。セレクタ112は、命令デコーダ109から供給
された上記命令に応答して、セレクタ111から出力さ
れた比較対象データを選択し、入力データ内部共通バス
119に供給する。こうして、選択されたプロセッサか
ら読み出された比較対象データは、出力データ内部共通
バス118、セレクタ111、112、入力データ内部
共通バス119を介して半導体装置100内の全プロセ
ッサ200に放送される。命令デコーダ109は、さら
に、入力データ内部共通バス119のデータとそのプロ
セッサ内の比較対象データとに対する浮動小数点データ
比較演算命令を命令内部共通バス110を介して全プロ
セッサ200に放送する。
Referring to FIG. 2, instruction decoder 109 in each semiconductor device 100 decodes the instruction, generates an instruction for selecting output data internal common bus 118, and outputs a signal to selector 111 (FIG. 2). An instruction is supplied through the signal 109A to select the output of the selector 111, and is supplied to the selector 112 (FIG. 2) via the signal 109A. The selector 111 (FIG. 2)
In response to the above-mentioned command supplied from No. 9, the comparison target data read onto the output data internal common bus 118 is selected. The selector 112 selects the comparison target data output from the selector 111 in response to the instruction supplied from the instruction decoder 109, and supplies the selected data to the input data internal common bus 119. Thus, the comparison target data read from the selected processor is broadcast to all the processors 200 in the semiconductor device 100 via the output data internal common bus 118, the selectors 111 and 112, and the input data internal common bus 119. The instruction decoder 109 further broadcasts a floating-point data comparison operation instruction for the data on the input data internal common bus 119 and the data to be compared in the processor to all the processors 200 via the instruction internal common bus 110.

【0065】図3を参照するに、各プロセッサ200で
は、データ入力端子205にいずれかのプロセッサから
読み出された比較対象データが入力され、命令デコーダ
209が上記浮動小数点データ比較演算命令をデコード
する。命令デコーダ209の制御の下で、バス230は
その比較対象データをALU201に第1のデータとし
て供給し、重み値メモリ203またはレジスタファイル
204は、先に指定された比較対象データを読み出し、
バス230はその比較対象データをALU201に第2
のデータとして供給し、ALU201は、それら二つの
比較対象データに対して比較演算を実行する。
Referring to FIG. 3, in each processor 200, comparison target data read from any of the processors is input to data input terminal 205, and instruction decoder 209 decodes the floating-point data comparison operation instruction. . Under the control of the instruction decoder 209, the bus 230 supplies the comparison target data to the ALU 201 as first data, and the weight value memory 203 or the register file 204 reads out the comparison target data specified previously,
The bus 230 sends the comparison target data to the ALU 201 as a second
The ALU 201 performs a comparison operation on the two comparison target data.

【0066】ALU201が比較演算命令に従ってそこ
に供給された第1のデータ(A)から第2のデータ
(B)を減算して場合、演算結果が正の数になったとき
アサートされる非最小値信号215と、演算結果が負の
数になったときアサートされる非最大値信号216とい
う一対の信号からなる比較結果信号を出力する。今の場
合には、非最小値信号215は、いずれかのプロセッサ
から読み出された比較対象データより自プロセッサ内の
比較対象データより大きいときにアサートされる。した
がって、この信号がアサートされるときには自己の比較
対象データは、同じ半導体装置100内では最小でない
ことになる。逆に、この信号がアサートされないときに
は自己の比較対象データは、同じ半導体装置100内で
は最小になる可能性があることになる。今の場合、非最
大値信号216は、いずれかのプロセッサから読み出さ
れた比較対象データより自プロセッサ内の比較対象デー
タが小さいときにアサートされる。したがって、この信
号がアサートされるときには自己の比較対象データは、
同じ半導体装置100内では最大でないことになる。逆
に、この信号がアサートされないときには自己の比較対
象データは、同じ半導体装置100内では最大になる可
能性があることになる。なお、先に比較対象データ出力
命令により比較対象データを出力データ内部共通バス1
18に出力したプロセッサでは、入力比較対象データと
自己の比較対象データが等しいので、非最小値信号21
5、非最大値信号216はともにアサートされない。
When the ALU 201 subtracts the second data (B) from the first data (A) supplied thereto in accordance with the comparison operation instruction, the non-minimum signal asserted when the operation result becomes a positive number A comparison result signal composed of a pair of a value signal 215 and a non-maximum value signal 216 that is asserted when the operation result becomes a negative number is output. In this case, the non-minimum value signal 215 is asserted when the comparison target data read from any processor is larger than the comparison target data in the own processor. Therefore, when this signal is asserted, its own comparison target data is not the minimum in the same semiconductor device 100. Conversely, when this signal is not asserted, the data to be compared by itself may be minimized in the same semiconductor device 100. In this case, the non-maximum value signal 216 is asserted when the comparison target data in the own processor is smaller than the comparison target data read from any of the processors. Therefore, when this signal is asserted, the data to be compared is:
It is not the maximum in the same semiconductor device 100. Conversely, when this signal is not asserted, the data to be compared is likely to be maximum in the same semiconductor device 100. It is to be noted that the data to be compared is first output from the output data internal common bus 1 by the data to be compared output instruction.
Since the input comparison target data and its own comparison target data are equal to each other, the non-minimum value signal 21
5, both the non-maximum signal 216 are not asserted.

【0067】セレクタ210、211は、比較演算命令
にしたがって、それぞれ信号215、216を選択し、
比較結果情報出力端子208と、信号212に含まれた
信号212aと212bを介してそのプロセッサ200
が含まれている半導体装置100内の最大値最小値プロ
セッサ検出回路350(図2)に供給する。
The selectors 210 and 211 select the signals 215 and 216 according to the comparison operation command, respectively.
The processor 200 is output via a comparison result information output terminal 208 and signals 212a and 212b included in the signal 212.
Is supplied to the maximum value / minimum value processor detection circuit 350 (FIG. 2) in the semiconductor device 100 in which

【0068】なお、ALU201が実行可能な比較演算
命令には浮動小数点データ比較演算命令と整数データ比
較演算命令とがあり、浮動小数点データ比較演算命令で
は、上記第1および第2のデータを浮動小数点ファーマ
ットのデータとして上記減算が為され、整数データ比較
演算命令では、上記第1および第2のデータを固定小数
点ファーマット(整数フォーマット)のデータとして上
記減算が為される。また、浮動小数点データ比較演算に
おいて、第1、第2のデータの少なくとも一つが非数デ
ータのとき、非最大値信号216および非最小値信号2
15はアサートされない。
The comparison operation instructions executable by the ALU 201 include a floating-point data comparison operation instruction and an integer data comparison operation instruction. In the floating-point data comparison operation instruction, the first and second data are converted to floating-point data. The above-described subtraction is performed as data of a format. In the integer data comparison operation instruction, the above-described first and second data are performed as data of a fixed-point format (integer format). In the floating point data comparison operation, when at least one of the first and second data is non-numerical data, the non-maximum value signal 216 and the non-minimum value signal 2
15 is not asserted.

【0069】(6a−3)最大値最小値検出命令 次に、図1を参照するに、制御装置500は、全半導体
装置100に最大値最小値検出命令を命令外部共通バス
401を介して放送する。図2を参照するに、各半導体
装置100内の命令デコーダ109はその命令をデコー
ドして、最大値最小値プロセッサ検出回路350に対し
て最大値最小値検出命令を出力する。
(6a-3) Maximum / Minimum Value Detection Instruction Next, referring to FIG. 1, the control device 500 issues a maximum / minimum value detection instruction to all the semiconductor devices 100 via the external common bus 401. I do. Referring to FIG. 2, instruction decoder 109 in each semiconductor device 100 decodes the instruction and outputs a maximum / minimum value detection instruction to maximum / minimum value processor detection circuit 350.

【0070】図4を参照するに、最大値最小値プロセッ
サ検出回路350は、最大値フラグレジスタ301、最
小値フラグレジスタ302、二つのアドレス生成回路3
03、304、二つの零検出回路308、309を含
む。最大値フラグレジスタ301は、半導体装置100
内のプロセッサの数に等しい記憶領域を有し、各記憶領
域は、一つのプロセッサに一対一に対応付けられ、信号
212bを介して対応するプロセッサ200に接続さ
れ、そのプロセッサが出力する非最大値信号216がそ
こに供給される。各記憶領域は、対応するプロセッサに
対する最大値フラグを記憶する。この最大値フラグが1
にセットされているときには、対応するプロセッサが最
大値プロセッサになる可能性があることを示す。最小値
フラグレジスタ302は、半導体装置100内のプロセ
ッサの数に等しい最小値フラグ記憶領域を有し、各最小
値フラグ記憶領域は、一つのプロセッサに一対一に対応
付けられ、信号212aを介して対応するプロセッサ2
00に接続され、そのプロセッサが出力する非最小値信
号215がそこに供給される。各記憶領域は、対応する
プロセッサに対する最小値フラグを記憶する。この最小
値フラグが1にセットされているときには、対応するプ
ロセッサが最小値プロセッサになる可能性があることを
示す。
Referring to FIG. 4, the maximum value minimum value processor detection circuit 350 includes a maximum value flag register 301, a minimum value flag register 302, and two address generation circuits 3
03, 304, and two zero detection circuits 308, 309. The maximum value flag register 301 is provided in the semiconductor device 100
, Each storage area is associated one-to-one with one processor, connected to the corresponding processor 200 via signal 212b, and outputs the non-maximum value output by that processor. Signal 216 is provided there. Each storage area stores a maximum value flag for the corresponding processor. This maximum value flag is 1
When set to indicates that the corresponding processor is likely to be the maximum processor. The minimum value flag register 302 has a minimum value flag storage area equal to the number of processors in the semiconductor device 100, and each minimum value flag storage area is associated with one processor on a one-to-one basis. Corresponding processor 2
00 and the non-minimum signal 215 output by the processor is provided there. Each storage area stores a minimum value flag for the corresponding processor. When the minimum value flag is set to 1, it indicates that the corresponding processor is likely to be the minimum value processor.

【0071】最大値フラグレジスタ301および最小値
フラグレジスタ302内の各フラグは、後述するよう
に、初期設定時に対応するプロセッサが比較対象プロセ
ッサであるときに1にセットされ、そうでないときに0
にリセットされる。今の場合、全プロセッサが比較対象
であると仮定しているので、これらのレジスタの全フラ
グは初期設定時に1にセットされている。すなわち、全
プロセッサが最大値プロセッサになる可能性があること
を示す。
As described later, each flag in the maximum value flag register 301 and the minimum value flag register 302 is set to 1 when the corresponding processor is the processor to be compared at the time of initialization, and is set to 0 otherwise.
Is reset to In this case, since all processors are assumed to be compared, all flags of these registers are set to 1 at the time of initialization. In other words, it indicates that all processors may be maximum value processors.

【0072】最大値フラグレジスタ301は、最大値最
小値検出命令に応答して、各プロセッサから信号212
を介して入力されている非最大値信号が0のとき、その
プロセッサに対応する最大値フラグをそのまま保持し、
非最大値信号が1のとき、そのフラグをリセットする
(換言すれば0を出力するように)する。したがって、
そのプロセッサは最大値プロセッサでないことが示され
る。最大値最小値検出命令でいずれかのプロセッサに対
する非最大値信号が1となり、対応する最大値フラグが
1度リセットされると、その後最大値最小値検出命令が
再度実行され、非最大値信号が0となっても、そのフラ
グは再びセットされることがない。したがって、そのプ
ロセッサは最大値プロセッサでないことが分かると、対
応する最大値フラグはそのことを示し続ける。各記憶領
域および最大値フラグレジスタ301内の図示しない関
連する回路は、対応するプロセッサが最大値プロセッサ
であるか否かを検出する回路として動作する。
The maximum value flag register 301 receives a signal 212 from each processor in response to the maximum value minimum value detection instruction.
When the non-maximum value signal input via the processor is 0, the maximum value flag corresponding to the processor is held as it is,
When the non-maximum value signal is 1, the flag is reset (in other words, 0 is output). Therefore,
It indicates that the processor is not a maximum processor. When the non-maximum value signal for any of the processors is set to 1 by the maximum value / minimum value detection instruction and the corresponding maximum value flag is reset once, the maximum value / minimum value detection instruction is executed again, and the non-maximum value signal is output. Even if it becomes 0, the flag is not set again. Thus, if the processor is found not to be a maximum processor, the corresponding maximum flag will continue to indicate so. An associated circuit (not shown) in each storage area and the maximum value flag register 301 operates as a circuit for detecting whether the corresponding processor is the maximum value processor.

【0073】同様に、最小値フラグレジスタ302は、
最大値最小値検出命令に応答して、各プロセッサから信
号212を介して入力されている非最小値信号が0のと
き、そのプロセッサに対応する最小値フラグをそのまま
保持し、非最小値信号が1のとき、そのフラグをリセッ
トする(換言すれば0を出力するように)。したがっ
て、そのプロセッサは最小値プロセッサでないことが示
される。最大値最小値検出命令でいずれかのプロセッサ
に対する非最小値信号が1となり、対応する最小値フラ
グが1度リセットされると、その後最大値最小値検出命
令が再度実行され、非最小値信号が0となっても、その
フラグは再びセットされることがない。したがって、そ
のプロセッサが最小値プロセッサでないことが分かる
と、対応する最小値フラグはそのことを示し続ける。各
記憶領域および最小値フラグレジスタ302内の図示し
ない関連する回路は、対応するプロセッサが最小値プロ
セッサであるか否かを検出する回路として動作する。
Similarly, the minimum value flag register 302 stores
When the non-minimum value signal input from each processor via the signal 212 is 0 in response to the maximum value / minimum value detection instruction, the minimum value flag corresponding to the processor is held as it is, and the non-minimum value signal is When it is 1, the flag is reset (in other words, 0 is output). This indicates that the processor is not a minimum processor. When the non-minimum value signal for any of the processors is set to 1 by the maximum value / minimum value detection instruction and the corresponding minimum value flag is reset once, the maximum / minimum value detection instruction is executed again thereafter, and the non-minimum value signal is output. Even if it becomes 0, the flag is not set again. Thus, if the processor is found not to be a minimum processor, the corresponding minimum flag will continue to indicate so. An associated circuit (not shown) in each storage area and the minimum value flag register 302 operates as a circuit for detecting whether or not the corresponding processor is the minimum value processor.

【0074】アドレス生成回路303には、最大値フラ
グレジスタ301の出力が接続される。アドレス生成回
路303は、最大値フラグレジスタ301内のセットさ
れている最大値フラグに対応するプロセッサ200の装
置内プロセッサアドレスを生成する。最大値フラグレジ
スタ301内のセットされている最大値フラグが複数あ
る場合には、それらの複数の最大値フラグに対応する複
数のプロセッサ200に割り当てられている複数の装置
内プロセッサアドレスの内の一つ、たとえば最も小さい
装置内プロセッサアドレスを生成する。同様に、アドレ
ス生成回路304には、最小値フラグレジスタ302の
出力が接続される。そのアドレス生成回路304は、最
小値フラグレジスタ302内のセットされている最小値
フラグに対応するプロセッサ200の装置内プロセッサ
アドレスを生成する。最小値フラグレジスタ302内の
セットされている最小値フラグが複数ある場合には、そ
れらの複数の最小値フラグに対応する複数のプロセッサ
200に割り当てられている複数の装置内プロセッサア
ドレスの内の一つ、たとえば最も小さい装置内プロセッ
サアドレスを生成する。アドレス生成回路303、30
4で生成されるアドレスの表現形式は、半導体装置10
0の外部からプロセッサアドレス入力端子108に与え
られるプロセッサアドレス信号114と同じである。
The output of the maximum value flag register 301 is connected to the address generation circuit 303. The address generation circuit 303 generates an in-device processor address of the processor 200 corresponding to the set maximum value flag in the maximum value flag register 301. If there are a plurality of maximum value flags set in the maximum value flag register 301, one of a plurality of in-device processor addresses assigned to the plurality of processors 200 corresponding to the plurality of maximum value flags is set. For example, the smallest in-device processor address is generated. Similarly, the output of the minimum value flag register 302 is connected to the address generation circuit 304. The address generation circuit 304 generates an in-device processor address of the processor 200 corresponding to the set minimum value flag in the minimum value flag register 302. When there are a plurality of minimum value flags set in the minimum value flag register 302, one of a plurality of processor addresses in the device assigned to the plurality of processors 200 corresponding to the plurality of minimum value flags. For example, the smallest in-device processor address is generated. Address generation circuits 303 and 30
The expression format of the address generated by the semiconductor device 10 is
0 is the same as the processor address signal 114 applied to the processor address input terminal 108 from outside.

【0075】零検出回路308には、最大値フラグレジ
スタ301の出力が接続され、この回路は、最大値フラ
グレジスタ301内の全ての最大値フラグが0(リセッ
ト)であるとき1を出力し、最大値フラグの少なくても
1つが1(セット)であるとき0を出力する。同様に、
零検出回路309には、最小値フラグレジスタ302の
出力が接続され、この回路は、最小値フラグレジスタ3
02内の全ての最小値フラグが0(リセット)であると
き1を出力し、最小値フラグの少なくても1つが1(セ
ット)であるとき0を出力する。
The output of the maximum value flag register 301 is connected to the zero detection circuit 308. This circuit outputs 1 when all the maximum value flags in the maximum value flag register 301 are 0 (reset), When at least one of the maximum value flags is 1 (set), 0 is output. Similarly,
The output of the minimum value flag register 302 is connected to the zero detection circuit 309.
When all the minimum value flags in 02 are 0 (reset), 1 is output, and when at least one of the minimum value flags is 1 (set), 0 is output.

【0076】こうして、上記最大最小検出命令の実行が
終了する。アドレス生成回路303、304および零検
出回路308、309の出力は、プロセッサ選択回路3
00により後に使用される。
Thus, the execution of the maximum / minimum detection instruction is completed. Outputs of the address generation circuits 303 and 304 and the zero detection circuits 308 and 309 are output from the processor selection circuit 3
Used later by 00.

【0077】以上の比較対象データ出力命令から最大値
最小値検出命令に係る動作によって、各半導体装置10
0内の全プロセッサ200は、比較対象データ出力命令
と同時に与えたプロセッサアドレスの示す1つのプロセ
ッサが持つ比較対象データと自己の比較対象データとの
大小比較を同時に並列に実行し、それぞれのプロセッサ
での比較結果が、最大値フラグレジスタ301および最
小値フラグレジスタ302に反映される。
By the operation from the comparison target data output instruction to the maximum value / minimum value detection instruction, each semiconductor device 10
All the processors 200 in 0 execute the magnitude comparison between the comparison target data of one processor indicated by the processor address given at the same time as the comparison target data output instruction and its own comparison target data in parallel at the same time. Are reflected in the maximum value flag register 301 and the minimum value flag register 302.

【0078】制御装置500は、以上の動作を各半導体
装置100内の全プロセッサ200に対して実行するた
めに、比較対象データ出力命令、浮動小数点データ比較
演算命令、最大値最小値検出命令を、各半導体装置10
0内の全プロセッサ200の数に等しい回数繰り返し放
送する。但し、制御装置500は比較対象データ出力命
令を繰り返し発行するときには、各半導体装置100内
の順次異なるプロセッサに対する装置内プロセッサアド
レスを放送する。これによって、各半導体装置100内
の全プロセッサ200が他のプロセッサの比較対象デー
タと自己の比較対象データとについて大小関係を比較し
たことになり、それぞれのプロセッサでの全比較結果が
最大値フラグレジスタ301および最小値フラグレジス
タ302に示される。すなわち、各半導体装置100内
で最小値を持つプロセッサは、最小値フラグレジスタ3
02の値が1(セットされている状態)である最小値フ
ラグに対応するプロセッサであり、最大値を持つプロセ
ッサは、最大値フラグレジスタ301内の値1(セット
されている状態)である最大値フラグに対応するプロセ
ッサである。装置内最大値プロセッサおよび装置内最小
値プロセッサの装置内プロセッサアドレスがそれぞれア
ドレス生成回路303、304により生成される。装置
内最大値プロセッサが複数あることもある。このときに
は、すでに述べたようにアドレス生成回路303は、そ
れらの内の一つのプロセッサの装置内プロセッサアドレ
スを生成する。このことは、アドレス生成回路304に
より生成される装置内最小値プロセッサに対する装置内
プロセッサアドレスについても同じである。
In order to execute the above operation for all the processors 200 in each semiconductor device 100, the control device 500 executes a comparison target data output instruction, a floating-point data comparison operation instruction, and a maximum / minimum value detection instruction. Each semiconductor device 10
The broadcast is repeated a number of times equal to the number of all the processors 200 in 0. However, when repeatedly issuing the comparison target data output instruction, the control device 500 broadcasts the in-device processor addresses for sequentially different processors in each semiconductor device 100. As a result, all the processors 200 in each semiconductor device 100 compare the comparison data of the other processors with the comparison data of the own processor in the magnitude relation, and the comparison result in each processor is set to the maximum value flag register. 301 and the minimum value flag register 302. That is, the processor having the minimum value in each semiconductor device 100 is the minimum value flag register 3
The processor corresponding to the minimum value flag whose value of 02 is 1 (set state), and the processor having the maximum value is the maximum value of the value 1 (set state) in the maximum value flag register 301. The processor corresponding to the value flag. The in-device processor addresses of the in-device maximum value processor and the in-device minimum value processor are generated by address generation circuits 303 and 304, respectively. There may be more than one maximum processor in the device. At this time, as described above, the address generation circuit 303 generates an in-device processor address of one of the processors. The same applies to the in-device processor address generated by the address generation circuit 304 for the in-device minimum value processor.

【0079】上記第1の動作は全半導体装置100で並
行して実行され、かつ各半導体装置100ではパイプラ
イン処理で実行される。したがって、全半導体装置10
0内のプロセッサ200の数に等しい回数だけ上記繰り
返しを実行するのに要する処理ステップは、1つのプロ
セッサ200についての大小比較に要する処理ステップ
数に、半導体装置100内のプロセッサ200の数に等
しい処理ステップ数が追加されるだけで済む。
The first operation is executed in parallel in all the semiconductor devices 100, and is executed in each semiconductor device 100 by pipeline processing. Therefore, all semiconductor devices 10
The number of processing steps required to execute the repetition the number of times equal to the number of processors 200 in 0 is equal to the number of processing steps required for magnitude comparison of one processor 200 and the number of processing steps equal to the number of processors 200 in the semiconductor device 100. Only the number of steps needs to be added.

【0080】以上により、各半導体装置100内での最
大値プロセッサ、最小値プロセッサを検出するという第
1の動作が終了する。
Thus, the first operation of detecting the maximum value processor and the minimum value processor in each semiconductor device 100 is completed.

【0081】(6b)システム最大値プロセッサとシス
テム最小値プロセッサの検出 次に、制御装置500は、情報処理システム400全体
での最小値プロセッサまたは最大値プロセッサを検出す
るために第2の動作を実行する。この第2の動作では、
制御装置500は、全半導体装置100内で検出した最
大値プロセッサまたは最小値プロセッサに保持されてい
る比較対象データをそれぞれの半導体装置100から制
御装置500に送出させ、制御装置500が、その内部
にある最大値最小値検出回路608(図6)によりそれ
らの比較対象データからシステム最小値またはシステム
最大値およびそれを送出した半導体装置100を検出す
る。以下では、システム最小値を検出する場合の装置動
作を述べ、システム最大値を検出する場合については、
それと異なる動作部分を括弧書きする。
(6b) Detection of System Maximum Processor and System Minimum Processor Next, the control device 500 executes a second operation to detect the minimum processor or the maximum processor in the entire information processing system 400. I do. In this second operation,
The control device 500 causes the comparison data stored in the maximum value processor or the minimum value processor detected in all the semiconductor devices 100 to be transmitted from the respective semiconductor devices 100 to the control device 500, and the control device 500 stores the data therein. A certain maximum value / minimum value detection circuit 608 (FIG. 6) detects a system minimum value or a system maximum value and the semiconductor device 100 that has sent the system minimum value or system maximum value from the comparison target data. In the following, the operation of the apparatus when detecting the system minimum value is described, and when the system maximum value is detected,
The different operation parts are written in parentheses.

【0082】図1を参照するに、制御装置500は、最
小値(または最大値)データ出力命令と比較対象データ
の格納場所の情報を全半導体装置100に放送する。比
較対象データの格納場所の情報は先に比較対象データ出
力命令の放送の時に指定した情報と同じである。同時
に、制御装置500は、一つの半導体装置100に対す
る半導体装置アドレスを有するプロセッサアドレスをプ
ロセッサアドレスバス404に出力する。半導体装置ア
ドレスデコーダ407は、その半導体装置アドレスによ
り指定される半導体装置100に対する半導体装置選択
信号をアサートし、信号408を介してその半導体装置
100に供給する。制御装置500は、さらに、出力デ
ータ外部共通バス403上のデータをプログラム実行制
御回路515内の制御装置内部バス609に取り込むこ
とを指示するデータバス制御命令をバス制御回路606
(図6)に供給し、さらに最大値最小値検出命令を最大
値最小値検出回路608(図6)に供給する。
Referring to FIG. 1, control device 500 broadcasts a minimum value (or maximum value) data output instruction and information on a storage location of comparison target data to all semiconductor devices 100. The information on the storage location of the comparison target data is the same as the information specified earlier when the comparison target data output instruction was broadcast. At the same time, the control device 500 outputs a processor address having a semiconductor device address for one semiconductor device 100 to the processor address bus 404. The semiconductor device address decoder 407 asserts a semiconductor device selection signal for the semiconductor device 100 specified by the semiconductor device address, and supplies the signal to the semiconductor device 100 via a signal 408. Control device 500 further issues a data bus control instruction instructing that data on output data external common bus 403 be taken into control device internal bus 609 in program execution control circuit 515.
(FIG. 6), and further supplies a maximum value / minimum value detection instruction to a maximum value / minimum value detection circuit 608 (FIG. 6).

【0083】図2を参照するに、各半導体装置100で
は、命令デコーダ109は、上記最小値(または最大
値)データ出力命令をデコードして、全プロセッサ20
0に対して比較対象データ出力命令と比較対象データの
格納場所の情報を放送する。また、プロセッサ選択回路
300に対して最小値(または最大値)を持つプロセッ
サから出力データ内部共通バス118へデータを出力さ
せる命令を出力する。また、セレクタ113に対して、
出力データ内部共通バス118上のデータをトライステ
ートバッファ120に出力する命令を発行する。
Referring to FIG. 2, in each semiconductor device 100, instruction decoder 109 decodes the above-mentioned minimum (or maximum) data output instruction, and outputs data to all processors 20.
For 0, a comparison target data output instruction and information on the storage location of the comparison target data are broadcast. Further, the processor selection circuit 300 outputs an instruction to output data from the processor having the minimum value (or the maximum value) to the output data internal common bus 118. Also, for the selector 113,
Output data An instruction to output data on the internal common bus 118 to the tri-state buffer 120 is issued.

【0084】図3を参照するに、各プロセッサ200
は、命令デコーダ209がその命令をデコードする。重
み値メモリ203またはレジスタファイル204は、比
較対象データの格納場所の上記情報により指定される比
較対象データを読み出し、バス230を介してセレクタ
217に与える。セレクタ217は、今仮定しているよ
うに全プロセッサが比較対象であり、比較対象フラグ2
20が1にセットされているので、そのデータを選択
し、データ出力端子206を介してそのプロセッサに対
応するトライステートバッファ121(図2)に出力す
る。
Referring to FIG. 3, each processor 200
, The instruction decoder 209 decodes the instruction. The weight value memory 203 or the register file 204 reads out the comparison target data specified by the above information of the storage location of the comparison target data, and supplies the same to the selector 217 via the bus 230. The selector 217 determines that all processors are to be compared,
Since 20 is set to 1, the data is selected and output to the tri-state buffer 121 (FIG. 2) corresponding to the processor via the data output terminal 206.

【0085】図4を参照するに、プロセッサ選択回路3
00は、命令デコーダ109が生成した、最小値(また
は最大値)を持つプロセッサから出力データ内部共通バ
ス118へデータを出力させる上記命令に応答して以下
の動作を行う。
Referring to FIG. 4, the processor selecting circuit 3
00 performs the following operation in response to the instruction generated by the instruction decoder 109 to output data from the processor having the minimum value (or maximum value) to the output data internal common bus 118.

【0086】セレクタ305には、アドレス生成回路3
04が出力する最小値プロセッサの装置内プロセッサア
ドレスとアドレス生成回路303が出力する最大値プロ
セッサの装置内プロセッサアドレスが入力されている。
今の場合、セレクタ305は、アドレス生成回路304
が出力する最小値プロセッサの装置内プロセッサアドレ
ス(またはアドレス生成回路303が出力する最大値プ
ロセッサの装置内プロセッサアドレス)を選択する。セ
レクタ306には、セレクタ305の出力と制御装置5
00から信号114を介して供給される装置内プロセッ
サアドレスが入力されている。今の場合、セレクタ30
6は、セレクタ305が選択した最小値プロセッサのア
ドレス(または最大値プロセッサのアドレス)を選択
し、プロセッサ選択信号生成回路307に供給する。
The selector 305 includes an address generation circuit 3
The in-device processor address of the minimum value processor and the processor value of the maximum value processor output from the address generation circuit 303 are input.
In this case, the selector 305 includes the address generation circuit 304
Selects the in-device processor address of the minimum value processor (or the in-device processor address of the maximum value processor output by the address generation circuit 303). The selector 306 includes the output of the selector 305 and the control device 5.
An internal processor address supplied from 00 through a signal 114 is input. In this case, the selector 30
6 selects the address of the minimum value processor (or the address of the maximum value processor) selected by the selector 305 and supplies it to the processor selection signal generation circuit 307.

【0087】プロセッサ選択信号生成回路307には、
セレクタ306の出力と、最大値最小値プロセッサ検出
回路350内の零検出回路308、309の出力とが入
力されている。今の場合、最大値フラグレジスタ301
には少なくとも一つの値1の最大値フラグが保持されて
いる。したがって、零検出回路309の出力が0であ
る。このことは、最小値フラグレジスタ302、零検出
回路308についても同じである。プロセッサ選択信号
生成回路307は、上記命令に応答して、零検出回路3
09(または零検出回路308)の出力が0であるとき
には、セレクタ306から供給された装置内プロセッサ
アドレスが指し示す最小値プロセッサ(または最大値プ
ロセッサ)に対応するプロセッサ選択信号を、そのプロ
セッサが比較対象データを出力するタイミングでアサー
トする。
The processor selection signal generation circuit 307 includes:
The output of the selector 306 and the outputs of the zero detection circuits 308 and 309 in the maximum value minimum value processor detection circuit 350 are input. In this case, the maximum value flag register 301
Holds at least one maximum value flag of value 1. Therefore, the output of the zero detection circuit 309 is zero. The same applies to the minimum value flag register 302 and the zero detection circuit 308. The processor selection signal generation circuit 307 responds to the above instruction to
When the output of the processor 09 (or the zero detection circuit 308) is 0, the processor selection signal corresponding to the minimum processor (or the maximum processor) indicated by the processor address in the device supplied from the selector 306 is compared with the processor selection signal. Assert when data is output.

【0088】図1を参照するに、このプロセッサ選択信
号は、その最小値プロセッサ(または最大値プロセッ
サ)に信号122を介して供給される。その結果、その
プロセッサから出力された比較対象データが出力データ
内部共通バス118に転送される。セレクタ113は、
出力データ内部共通バス118上の比較対象データをト
ライステートバッファ120に出力する。全半導体装置
100の内、選択された一つの半導体装置100内のト
ライステートバッファ120には、半導体装置アドレス
デコーダ407(図2)がアサートした半導体装置選択
信号が、半導体装置選択信号入力端子107を介して供
給される。したがって、その一つの半導体装置100内
の出力データ内部共通バス118に読み出された比較対
象データは、外部データ出力端子106を介して出力デ
ータ外部共通バス403に送出され、さらに、制御装置
500に転送される。他の半導体装置100からは、出
力データ外部共通バス403にデータは送出されない。
Referring to FIG. 1, this processor select signal is provided to its minimum value processor (or maximum value processor) via signal 122. As a result, the comparison target data output from the processor is transferred to the output data internal common bus 118. The selector 113
The data to be compared on the output data internal common bus 118 is output to the tri-state buffer 120. The semiconductor device selection signal asserted by the semiconductor device address decoder 407 (FIG. 2) is supplied to the semiconductor device selection signal input terminal 107 in the tri-state buffer 120 in one of the selected semiconductor devices 100. Supplied via Therefore, the comparison target data read to the output data internal common bus 118 in the one semiconductor device 100 is sent to the output data external common bus 403 via the external data output terminal 106, and further transmitted to the control device 500. Will be transferred. No data is sent from another semiconductor device 100 to the output data external common bus 403.

【0089】図6を参照するに、バス制御回路606
は、命令デコード回路603から与えられた、上記デー
タバス制御命令に応答して、出力データ外部共通バス4
03上の比較対象データを制御装置内部バス609に転
送する。最大値最小値検出回路608は、制御装置内部
バス609とアドレス制御回路607に接続され、制御
装置内部バス609に順次供給される複数の比較対象デ
ータの内の最大値および最小値を検出するとともに、そ
の最大値および最小値を供給した半導体装置100をア
ドレス制御回路607がプロセッサアドレスバス404
に供給した半導体装置アドレスに基づいて識別する回路
である。具体的には、最大値最小値検出回路608は、
命令デコード回路603から与えられた最大値最小値検
出命令に応答して、制御装置内部バス609上に転送さ
れた比較対象データを取り込む。さらに、アドレス制御
回路607が先にプロセッサアドレスバス404に送出
した半導体装置アドレスを取り込む。すでに取り込まれ
た比較対象データがあるときにはそれと新たに取り込ま
れた比較対象データと比較し、大きい方の比較対象デー
タと小さい方の比較対象データと、それぞれのデータを
供給した半導体装置100に対する半導体装置アドレス
を記憶する。すでに取り込まれている比較対象データが
ないときには、新たに取り込まれた比較対象データに対
する半導体装置アドレスを記憶する。
Referring to FIG. 6, bus control circuit 606
Responds to the data bus control instruction given from the instruction decode circuit 603 to output data external common bus 4.
03 is transferred to the control device internal bus 609. The maximum value minimum value detection circuit 608 is connected to the control device internal bus 609 and the address control circuit 607, and detects the maximum value and the minimum value of a plurality of comparison target data sequentially supplied to the control device internal bus 609. The address control circuit 607 controls the semiconductor device 100 to which the maximum value and the minimum value are supplied by the processor address bus 404.
Is a circuit for identifying based on the semiconductor device address supplied to the device. Specifically, the maximum value / minimum value detection circuit 608 includes:
In response to the maximum value / minimum value detection instruction given from the instruction decode circuit 603, the comparison target data transferred to the control device internal bus 609 is taken. Further, the address control circuit 607 takes in the semiconductor device address previously sent to the processor address bus 404. If there is already captured comparison data, it is compared with newly captured comparison data, and the larger comparison data and the smaller comparison data, and the semiconductor device corresponding to the semiconductor device 100 that has supplied the respective data. Store the address. If there is no comparison data already taken in, the semiconductor device address for the newly taken comparison data is stored.

【0090】以上により、選択された一つの半導体装置
100内の最小の比較対象データ(または最大の比較対
象データ)が制御装置500に出力される。制御装置5
00は以上の動作を異なる半導体装置100に対して繰
り返す。こうして、最大値最小値検出回路608によ
り、システムで最大の比較対象データとそれを生成した
プロセッサを含む半導体装置100を検出できる。検出
されたシステム最大値とシステム最大値プロセッサのプ
ロセッサアドレスとは、たとえば制御装置500内のデ
ータ記憶装置(図5)に記憶される。この記憶のための
命令と回路動作の説明は省略する。
As described above, the minimum comparison target data (or the maximum comparison target data) in one selected semiconductor device 100 is output to control device 500. Control device 5
00 repeats the above operation for different semiconductor devices 100. In this way, the maximum value minimum value detection circuit 608 can detect the maximum comparison target data in the system and the semiconductor device 100 including the processor that generated it. The detected system maximum value and the processor address of the system maximum value processor are stored in, for example, a data storage device (FIG. 5) in control device 500. The description of the instruction for the storage and the circuit operation is omitted.

【0091】なお、上記第2の動作はパイプライン処理
が可能であり、情報処理システム400内の半導体装置
100の数に等しい回数実行するのに要する処理ステッ
プ数は、1つの半導体装置100から装置内最小値(ま
たは装置内最大値)を読み出すための処理ステップ数
に、情報処理システム400内の全半導体装置100の
数に等しい処理ステップ数が追加されるだけである。
Note that the second operation can be performed by pipeline processing, and the number of processing steps required to execute the number of times equal to the number of semiconductor devices 100 in the information processing system 400 is one semiconductor device 100 Only the number of processing steps equal to the number of all the semiconductor devices 100 in the information processing system 400 is added to the number of processing steps for reading the internal minimum value (or the internal maximum value).

【0092】(6c)システム最小値(または最大値)
プロセッサのアドレスの検出 次に、システム最大値(またはシステム最小値)の比較
対象データを生成したプロセッサのアドレスを検出する
第3の動作について説明する。
(6c) System minimum value (or maximum value)
Next, a third operation for detecting the address of the processor that has generated the comparison target data of the system maximum value (or the system minimum value) will be described.

【0093】図1を参照するに、制御装置500は、最
小値(または最大値)プロセッサアドレス出力命令を全
半導体装置100に放送し、同時に、システム最大値
(またはシステム最小値)の比較対象データを生成した
全半導体装置100に対する半導体装置アドレスをプロ
セッサアドレスバス404に送出する。半導体装置アド
レスデコーダ407は、その半導体装置アドレスにより
指定される一つの半導体装置100に対する半導体装置
選択信号をアサートし、信号408を介してその半導体
装置100に供給する。制御装置500は、さらに、出
力データ外部共通バス403上のデータをプログラム実
行制御回路515内の制御装置内部バス609に取り込
むことを指示するデータバス制御命令をバス制御回路6
06(図6)に供給する。
Referring to FIG. 1, control device 500 broadcasts a minimum value (or maximum value) processor address output instruction to all semiconductor devices 100, and at the same time, a comparison target data of system maximum value (or system minimum value). Are transmitted to the processor address bus 404 for all the semiconductor devices 100 that have generated the. The semiconductor device address decoder 407 asserts a semiconductor device selection signal for one semiconductor device 100 specified by the semiconductor device address and supplies the signal to the semiconductor device 100 via a signal 408. Control device 500 further issues a data bus control instruction instructing that data on output data external common bus 403 be taken into control device internal bus 609 in program execution control circuit 515.
06 (FIG. 6).

【0094】図2を参照するに、対応する半導体装置選
択信号がアサートされた半導体装置100では、命令デ
コーダ109は、その命令をデコードして、プロセッサ
選択回路300に対して最小値(または最大値)を持つ
プロセッサのアドレスを出力する命令を出力する。ま
た、セレクタ113に対して、出力データ内部共通バス
118上のデータをトライステートバッファ120に出
力する命令を発行する。
Referring to FIG. 2, in semiconductor device 100 in which the corresponding semiconductor device selection signal is asserted, instruction decoder 109 decodes the instruction and gives minimum value (or maximum value) to processor selection circuit 300. ) Outputs an instruction to output the address of the processor having Further, the selector 113 issues an instruction to output data on the output data internal common bus 118 to the tri-state buffer 120.

【0095】図3を参照するに、プロセッサ選択回路3
00において、プロセッサ選択信号生成回路307は、
命令デコーダ109から供給された上記出力命令に従っ
て、以下の動作をする。
Referring to FIG. 3, the processor selecting circuit 3
At 00, the processor selection signal generation circuit 307
The following operation is performed according to the output instruction supplied from the instruction decoder 109.

【0096】セレクタ305は、アドレス生成回路30
4が出力する最小値プロセッサの装置内プロセッサアド
レス(またはアドレス生成回路303が出力する最大値
プロセッサの装置内プロセッサアドレス)を選択する。
セレクタ306は、セレクタ305が選択した最小値プ
ロセッサの装置内プロセッサアドレス(または最大値プ
ロセッサの装置内プロセッサアドレス)を選択し、プロ
セッサ選択信号生成回路307とセレクタ310に供給
する。
The selector 305 includes the address generation circuit 30
4 selects the in-device processor address of the minimum value processor (or the in-device processor address of the maximum value processor output by the address generation circuit 303).
The selector 306 selects an internal processor address of the minimum value processor (or an internal processor address of the maximum value processor) selected by the selector 305 and supplies the selected processor address to the processor selection signal generation circuit 307 and the selector 310.

【0097】セレクタ310には、セレクタ305が選
択した最小値プロセッサの装置内プロセッサアドレス
(または最大値プロセッサの装置内プロセッサアドレ
ス)と非数データ(NaN)が入力されている。今議論
しているように、全半導体装置100内の全プロセッサ
200が比較対象であり、したがって、零検出回路30
9(または308)の出力が0であるときには、プロセ
ッサ選択信号生成回路307は、上記命令に応答して、
セレクタ305により供給された装置内プロセッサアド
レスをセレクタ310に選択させるように、セレクタ制
御信号318をセレクタ310に供給するように構成さ
れている。したがって、セレクタ310は、セレクタ3
05により供給された装置内プロセッサアドレスを選択
し、信号117に出力する。信号117は、トライステ
ートバッファ115を介して出力データ内部共通バス1
18に接続されている。さらに、プロセッサ選択信号生
成回路307は、信号117上の装置内プロセッサアド
レスを出力データ内部共通バス118に転送させるため
に、このトライステートバッファ115に供給する制御
信号116を、装置内プロセッサアドレスが信号117
に転送されたタイミングでアサートする。こうして、シ
ステム最小値プロセッサ(またはシステム最大値プロセ
ッサ)の装置内プロセッサアドレスが、外部データ出力
端子106、出力データ外部共通バス403を介して制
御装置500に転送される。
To the selector 310, the processor address in the device of the minimum value processor (or the processor address in the device of the maximum value processor) selected by the selector 305 and the non-numerical data (NaN) are input. As we are now discussing, all processors 200 in all semiconductor devices 100 are to be compared, and therefore zero detection circuit 30
When the output of 9 (or 308) is 0, the processor selection signal generation circuit 307 responds to the instruction by
The selector 310 is configured to supply a selector control signal 318 to the selector 310 so that the selector 310 selects the in-device processor address supplied by the selector 305. Therefore, the selector 310 selects the selector 3
The processor address selected in step 05 is selected and output as a signal 117. The signal 117 is output via the tristate buffer 115 to the output data internal common bus 1.
18. Further, the processor selection signal generation circuit 307 transmits a control signal 116 to be supplied to the tri-state buffer 115 to transfer the processor address in the device on the signal 117 to the output data internal common bus 118. 117
Assert at the timing transferred to. In this way, the in-device processor address of the system minimum value processor (or system maximum value processor) is transferred to the control device 500 via the external data output terminal 106 and the output data external common bus 403.

【0098】なお、対応する半導体装置選択信号がアサ
ートされた半導体装置100以外の半導体装置100で
は、プロセッサ選択回路300が同じように動作する
が、トライステートバッファ120はオンにされないの
で、その半導体装置100から装置内プロセッサアドレ
スが出力データ外部共通バス403に出力されることは
ない。
In the semiconductor devices 100 other than the semiconductor device 100 for which the corresponding semiconductor device selection signal is asserted, the processor selection circuit 300 operates in the same manner, but the tristate buffer 120 is not turned on. The internal processor address is not output to the output data external common bus 403 from 100.

【0099】以上のごとく、本実施の形態では、装置内
最大値プロセッサあるいは装置内最小値プロセッサある
いは装置内最大値あるいは装置内最小値を、各半導体装
置100内の設けたプロセッサ選択回路300と最大値
最小値プロセッサ検出回路350により高速に検出する
ことが出来る。さらに、システム最大値プロセッサある
いはシステム最小値プロセッサあるいはシステム最大値
あるいはシステム最小値を、制御回路内の最大値最小値
検出回路608を併用して検出できる。
As described above, in this embodiment, the maximum value processor in the device, the minimum value processor in the device, the maximum value in the device, or the minimum value in the device are determined by the processor selection circuit 300 provided in each semiconductor device 100. The minimum value processor detection circuit 350 can detect the value at high speed. Further, a system maximum value processor, a system minimum value processor, a system maximum value, or a system minimum value can be detected together with a maximum value minimum value detection circuit 608 in the control circuit.

【0100】(7)比較対象外のプロセッサがあるとき
の装置動作 すでに述べた第1から第3の動作では、全半導体装置1
00内の全プロセッサ200は比較対象であると仮定し
た。しかし、任意の半導体装置100内の任意のプロセ
ッサ200を比較対象外とすることもできる。いずれか
の少なくとも一つのプロセッサが比較対象外であるとき
の装置動作は以下のように変更される。
(7) Device operation when there is a processor not to be compared In the first to third operations described above, all the semiconductor devices 1
It was assumed that all processors 200 in 00 were to be compared. However, any processor 200 in any semiconductor device 100 may be excluded from comparison. When at least one of the processors is out of the comparison target, the operation of the device is changed as follows.

【0101】(7a)図3を参照するに、上記第1の動
作において、各プロセッサで、比較データ出力命令を実
行したとき、そのプロセッサが比較対象であるときに
は、比較対象フラグ220が1であるので、すでに述べ
たごとく、セレクタ217は、重み値メモリ203また
はレジスタファイル204から読み出された比較対象デ
ータを選択し、出力データ内部共通バス118に送出す
る。しかし、いずれかのプロセッサが比較対象でないと
きには、比較対象フラグ220が0であるので、そのプ
ロセッサ内のセレクタ217は、予め定められた非数デ
ータ(NaN)を選択して出力データ内部共通バス11
8に送る。この非数データは、浮動小数点データとは識
別可能なビット列からなる。たとえば、浮動小数点デー
タの指数部に位置するビット列が全て値1を有する。
(7a) Referring to FIG. 3, in the first operation, when each processor executes a comparison data output instruction, and when the processor is a comparison target, comparison target flag 220 is 1. Therefore, as described above, the selector 217 selects the comparison target data read from the weight value memory 203 or the register file 204, and sends the selected data to the output data internal common bus 118. However, when any of the processors is not a comparison target, the comparison target flag 220 is 0, so that the selector 217 in that processor selects predetermined non-numeral data (NaN) and outputs the output data internal common bus 11.
Send to 8. This non-numerical data is composed of a bit string that can be distinguished from floating point data. For example, all the bit strings located at the exponent part of the floating-point data have the value 1.

【0102】すでに述べたように、いずれかのプロセッ
サでのALU201での比較演算に提供された第1、第
2のデータの少なくとも一方が非数データであるときに
は、非最小値信号215、非最大値信号216はともに
アサートされない。したがって、上記非数データが同じ
半導体装置100内の全プロセッサ200にその後放送
された後、前記データ比較命令が実行されたときでも、
各プロセッサでの比較演算の結果によっては、そのプロ
セッサに対する最大値フラグと最小値フラグは変更され
ない。このように、比較対象でないプロセッサに対して
も比較データ出力命令を実行させても、本実施の形態で
の最大値最小値検出には影響が出ない。したがって、制
御装置500は、各プロセッサが比較対象であるか否か
に依らないで、全プロセッサに同じ一連の命令を実行さ
せることが出来る。
As described above, when at least one of the first and second data provided to the comparison operation in the ALU 201 in any of the processors is a non-numerical data, the non-minimum value signal 215, the non-maximum signal Neither value signal 216 is asserted. Therefore, even when the data comparison instruction is executed after the non-numerical data is subsequently broadcast to all processors 200 in the same semiconductor device 100,
Depending on the result of the comparison operation in each processor, the maximum value flag and the minimum value flag for that processor are not changed. As described above, even when a comparison data output instruction is executed even for a processor that is not a comparison target, the detection of the maximum value and the minimum value in the present embodiment is not affected. Therefore, control device 500 can cause all processors to execute the same series of instructions regardless of whether or not each processor is a comparison target.

【0103】(7b)図1,2を参照するに、上記第2
の動作において、制御装置500が、最小値(または最
大値)を持つプロセッサから出力データ内部共通バス1
18へデータを出力させる上記命令を全半導体装置10
0に放送したとき、いずれかの半導体装置100内の全
プロセッサが比較対象でないことがありうる。この場
合、その半導体装置100から比較対象データを制御装
置500に送らない方がよい。本実施の形態では、プロ
セッサ選択回路300は以下のように動作する。
(7b) Referring to FIGS. 1 and 2, the second
In the operation of (1), the control device 500 sends the output data internal common bus 1 from the processor having the minimum value (or the maximum value).
18 to output data to all semiconductor devices 10
When broadcasting to 0, all processors in any of the semiconductor devices 100 may not be compared. In this case, it is better not to send comparison target data from the semiconductor device 100 to the control device 500. In the present embodiment, the processor selection circuit 300 operates as follows.

【0104】図4を参照するに、その半導体装置100
内の最小値フラグレジスタ302(または、最大値フラ
グレジスタ301)内の全フラグが0である。したがっ
て、零検出回路309(または308)の出力が1であ
る。プロセッサ選択信号生成回路307は、命令デコー
ダ109から供給された上記比較対象データ出力命令に
応答して、零検出回路309(または零検出回路30
8)の出力が1であるときには、セレクタ310に非数
データを無効な比較対象データとして選択させ、信号1
17に送出するようにセレクタ制御信号318をセレク
タ310に供給する。さらに、プロセッサ選択信号生成
回路307は、信号117上の非数データを出力データ
内部共通バス118に転送させるために、このトライス
テートバッファ115に供給する制御信号116をこの
非数データが信号117に転送されたタイミングでアサ
ートする。こうして、非数データが、外部データ出力端
子106、出力データ外部共通バス403を介して制御
装置500に転送される。制御装置500はこの非数デ
ータを無効な比較対象データとして廃棄する。
Referring to FIG. 4, the semiconductor device 100
Are all 0 in the minimum value flag register 302 (or the maximum value flag register 301). Therefore, the output of the zero detection circuit 309 (or 308) is 1. In response to the comparison target data output instruction supplied from the instruction decoder 109, the processor selection signal generation circuit 307 responds to the zero detection circuit 309 (or the zero detection circuit 30).
When the output of 8) is 1, the selector 310 selects non-numerical data as invalid comparison target data, and
A selector control signal 318 is supplied to the selector 310 so as to be transmitted to the selector 17. Further, in order to transfer the non-numerical data on the signal 117 to the output data internal common bus 118, the processor selection signal generation circuit 307 changes the control signal 116 supplied to the tri-state buffer 115 to the Assert at the transferred timing. Thus, the non-numerical data is transferred to the control device 500 via the external data output terminal 106 and the output data external common bus 403. The control device 500 discards the non-numerical data as invalid comparison target data.

【0105】(8)フォーマット変換回路 図2を参照するに、フォーマット変換回路102は、セ
レクタ111の出力を固定小数点フォーマットのデータ
と見做して浮動小数点フォーマットに変換して出力す
る。フォーマット変換回路103は、出力データ内部共
通バス118のデータを浮動小数点フォーマットと見做
して固定小数点フォーマットに変換して出力する。
(8) Format Conversion Circuit Referring to FIG. 2, the format conversion circuit 102 converts the output of the selector 111 into a floating-point format, assuming it is data of a fixed-point format, and outputs the data. The format conversion circuit 103 converts the data of the output data internal common bus 118 into a fixed-point format, assuming that the data is in a floating-point format, and outputs the converted data.

【0106】フォーマット変換回路102はプロセッサ
200から出力データ内部共通バス118に出力された
データをフォーマット変換して入力データ内部共通バス
119を介して再び同じプロセッサまたは他のプロセッ
サに戻すことができる。以上の説明では、全プロセッサ
200の比較対象データは浮動小数点フォーマット表現
のデータであるとした。しかし、いずれかのプロセッサ
200の比較演算データが固定小数点データのフォーマ
ットであっても、外部に接続されるデータバスとは無関
係に、半導体装置内部で浮動小数点フォーマット変換回
路102を用いて浮動小数点フォーマット表現のデータ
に統一することができる。すなわち、全半導体装置10
0毎に並列に上記変換を実行可能であり、装置全体とし
てのフォーマットの統一が高速に行えるように考慮され
ている。さらには、固定小数点フォーマット変換回路1
03を用いて固定小数点フォーマット表現のデータに統
一することもできる。
The format conversion circuit 102 can format-convert the data output from the processor 200 to the output data internal common bus 118 and return it to the same processor or another processor again via the input data internal common bus 119. In the above description, the comparison target data of all the processors 200 is assumed to be data in the floating-point format expression. However, even if the comparison operation data of any one of the processors 200 is in the fixed-point data format, the floating-point format conversion circuit 102 uses the floating-point format conversion circuit 102 inside the semiconductor device regardless of the externally connected data bus. It can be unified into expression data. That is, all the semiconductor devices 10
The above-described conversion can be executed in parallel for each 0, and it is considered that the format of the entire apparatus can be unified at high speed. Further, the fixed-point format conversion circuit 1
03 can be used to unify the data in a fixed-point format.

【0107】さらに、外部から与えられるデータを、フ
ォーマット変換回路102を介してプロセッサ200に
与えることができる。たとえば、半導体装置100に
は、浮動小数点フォーマットの演算に使用するデータと
して、固定小数点フォーマットのデータを外部から与え
ることができる。各プロセッサの出力をフォーマット変
換回路103を介して外部に出力することができる。た
とえば、半導体装置100が生成した浮動小数点フォー
マットのデータを固定小数点フォーマットのデータとし
て外部に取り出すことができる。
Further, externally applied data can be provided to the processor 200 via the format conversion circuit 102. For example, fixed-point format data can be externally provided to the semiconductor device 100 as data used for arithmetic operation in a floating-point format. The output of each processor can be output to the outside via the format conversion circuit 103. For example, floating-point format data generated by the semiconductor device 100 can be extracted to the outside as fixed-point format data.

【0108】(9)初期設定動作 (9a)比較対象フラグの初期設定 各プロセッサでの比較対象フラグ220の初期設定は以
下のようにして行われる。図3を参照するに、各プロセ
ッサでは、ALU201は、演算結果データが、例え
ば、零となった場合、零とならなかった場合、負となっ
た場合、負とならなかった場合、0以外の正となった場
合、0以外の正にならなかった場合、非数データ(非数
データ)が入力された場合、非数データが入力されなか
った場合、演算結果が非数データとなった(すなわち、
演算不可能であった)場合、あるいは非数データとなら
なかった(すなわち、演算可能であった)場合、演算の
状態を示すコンディションコードを出力するようになっ
ている。コンディションコードレジスタ219は、複数
の演算状態を記憶する複数ビットのレジスタであり、A
LU201が生成したコンディションコードは、命令に
従ってコンディションコードレジスタ219に書き込ま
れる。この書き込みが行われない場合もある。セレクタ
218は、命令に従ってコンディションコードレジスタ
219の任意の1ビット選択して出力する。
(9) Initial Setting Operation (9a) Initial Setting of Comparison Target Flag The initialization of the comparison target flag 220 in each processor is performed as follows. Referring to FIG. 3, in each processor, the ALU 201 determines whether the operation result data is, for example, zero, non-zero, negative, non-zero, In the case of positive, non-zero positive, non-numerical data (numerical data) input, or non-numerical data not input, the operation result was non-numerical data ( That is,
If the calculation is not possible) or if the data does not become non-numerical data (that is, the calculation is possible), a condition code indicating the state of the calculation is output. The condition code register 219 is a multi-bit register that stores a plurality of operation states.
The condition code generated by the LU 201 is written to the condition code register 219 according to the instruction. In some cases, this writing is not performed. The selector 218 selects and outputs any one bit of the condition code register 219 according to the instruction.

【0109】比較対象フラグ220には、セレクタ21
8の出力が接続される。各プロセッサの比較対象フラグ
220に対する比較対象フラグの書き込みは、比較対象
フラグプリセット命令と比較対象フラグ書き込み命令に
より実行される。初期設定動作時に、制御装置500が
全半導体装置100に比較対象フラグプリセット命令を
放送し、各半導体装置100がこの命令を各プロセッサ
に放送すると、各プロセッサ内では、比較対象フラグ2
20は、この比較対象フラグプリセット命令によりセッ
トされる(換言すれば1を出力する)。制御装置500
が全半導体装置100に比較対象フラグ書き込み命令を
放送し、各半導体装置100がこの命令を各プロセッサ
に放送すると、各プロセッサ内では、セレクタ218が
この命令が指定する、コンディションコードレジスタ2
19の任意のビットを選択する。比較対象フラグ220
は、選択されたビットが0であった場合のみ、リセット
(換言すれば0を出力)される。セレクタ218の出力
が1のときには、セットされたままである。すなわち、
比較対象フラグは、比較対象フラグ書き込み命令により
1度リセットされると、比較対象フラグプリセット命令
が行われない限り、その後比較対象フラグ書き込み命令
が再度実行され、そのときのセレクタ218の出力が1
のときでも再びセットされることがなく、リセットされ
たことを蓄積可能としたものである。
The comparison target flag 220 includes the selector 21
8 are connected. Writing of the comparison target flag to the comparison target flag 220 of each processor is executed by a comparison target flag preset command and a comparison target flag write command. At the time of the initial setting operation, when the control device 500 broadcasts the comparison target flag preset command to all the semiconductor devices 100 and each semiconductor device 100 broadcasts this command to each processor, the comparison target flag 2 is set in each processor.
20 is set by this comparison target flag preset command (in other words, 1 is output). Control device 500
Broadcasts a comparison flag write command to all the semiconductor devices 100, and each semiconductor device 100 broadcasts this command to each processor. In each processor, the selector 218 specifies the condition code register 2
Select any 19 bits. Comparison target flag 220
Is reset (in other words, 0 is output) only when the selected bit is 0. When the output of the selector 218 is 1, it remains set. That is,
Once the comparison target flag is reset by the comparison target flag write instruction, the comparison target flag write instruction is executed again thereafter unless the comparison target flag preset instruction is performed, and the output of the selector 218 at that time is set to 1
In this case, it is possible to accumulate the reset without being set again.

【0110】例えば、比較対象データが非数データであ
るプロセッサ200を比較対象外とするとなる場合に
は、制御装置500は以下のようにしてそのようなプロ
セッサを比較対象外とすることが出来る。上記比較対象
フラグプリセット命令の実行に先立ち、比較対象フラグ
プリセット命令により全プロセッサの比較対象フラグ2
20を1にセットする。その後、各プロセッサに、その
中の比較対象データについてALU201で任意の浮動
小数点演算を行なわせる。その演算に対してALU20
1が生成したコンディションコードをコンディションコ
ードレジスタ219に書き込む。そのコンディションコ
ードレジスタ219の内の非数データがALU入力され
なかったことを示すビットをセレクタ218で選択する
ことを指定する比較対象フラグ書き込み命令を実行す
る。その結果、前述した動作により比較対象データが非
数データであるプロセッサ200内の比較対象フラグ2
20は0にリセットされ、他のプロセッサ内の比較対象
フラグ220は1にセットされたままである。
For example, if the processor 200 whose comparison target data is non-numerical data is to be excluded from the comparison, the control device 500 can exclude such a processor as follows. Prior to the execution of the comparison target flag preset instruction, the comparison target flag 2 of all processors is executed by the comparison target flag preset instruction.
Set 20 to 1. Thereafter, the ALU 201 causes each processor to perform an arbitrary floating-point operation on the data to be compared. ALU20 for the operation
1 is written into the condition code register 219. A comparison flag writing instruction is executed to specify that the selector 218 selects a bit indicating that non-numerical data has not been input to the ALU in the condition code register 219. As a result, the comparison target flag 2 in the processor 200 whose comparison target data is non-numerical data by the above-described operation.
20 is reset to 0, and the comparison target flag 220 in the other processor remains set to 1.

【0111】(9b)最大値フラグレジスタ、最小値フ
ラグレジスタの初期設定 図1を参照するに、まず、制御装置500は、プリセッ
ト情報出力命令を全半導体装置100に放送する。図2
を参照するに、各半導体装置100の命令デコーダ10
9はその命令をデコードして、全プロセッサ200に対
してプリセット情報出力命令を放送する。図3を参照す
ると、各プロセッサ200において、命令デコーダ20
9がその命令をデコードして、セレクタ210およびセ
レクタ211を制御してインバータ228より出力され
る、比較対象フラグ220の否定を、比較結果情報出力
端子208を介してともに非最小値信号215および非
最大値信号216の代わりに出力させる。このときのセ
レクタ211、210の出力も簡単化のためにそれぞれ
非最小値信号215および非最大値信号216と呼ぶこ
とにする。ここでは、全半導体装置100内の全プロセ
ッサが比較対象であると仮定すると、全プロセッサ20
0内の比較対象フラグ220はセットされている。した
がって、セレクタ210,211から出力される非最小
値信号215および非最大値信号216はともに0であ
る。
(9b) Initial Setting of Maximum Value Flag Register and Minimum Value Flag Register Referring to FIG. 1, first, control device 500 broadcasts a preset information output instruction to all semiconductor devices 100. FIG.
With reference to FIG.
9 decodes the instruction and broadcasts a preset information output instruction to all processors 200. Referring to FIG. 3, in each processor 200, the instruction decoder 20
9 decodes the instruction, controls the selector 210 and the selector 211, and negates the comparison target flag 220 output from the inverter 228 via the comparison result information output terminal 208. It is output instead of the maximum value signal 216. The outputs of the selectors 211 and 210 at this time are also referred to as a non-minimum value signal 215 and a non-maximum value signal 216, respectively, for simplification. Here, assuming that all processors in all semiconductor devices 100 are comparison targets, all processors 20
The comparison target flag 220 in 0 is set. Therefore, the non-minimum value signal 215 and the non-maximum value signal 216 output from the selectors 210 and 211 are both 0.

【0112】図1に戻り、制御装置500は、次に、最
大値最小値フラグプリセット命令を全半導体装置100
放送する。図2を参照するに、各半導体装置100の命
令デコーダ109はその最大値最小値フラグプリセット
命令をデコードして、最大値最小値プロセッサ検出回路
350に対して最大値最小値フラグプリセット命令を出
力する。図4を参照するに、プロセッサ選択回路300
において、その命令に従って最大値フラグレジスタ30
1および最小値フラグレジスタ302内の各フラグは、
同じ半導体装置100内の対応するプロセッサ200か
らの非最大値信号216または非最小値信号215が出
力されるタイミングで、その信号が0のときセットさ
れ、1のときリセットされる。今の場合、全プロセッサ
が比較対象であり、各プロセッサから出力される非最大
値信号216および非最小値信号215はともに0であ
るので、最大値フラグレジスタ301、最小値フラグレ
ジスタ302内の全フラグが1にセットされる。
Returning to FIG. 1, control device 500 next issues a maximum value / minimum value flag preset command to all semiconductor devices 100.
To broadcast. Referring to FIG. 2, the instruction decoder 109 of each semiconductor device 100 decodes the maximum / minimum value flag preset instruction and outputs the maximum / minimum value flag preset instruction to the maximum / minimum value processor detection circuit 350. . Referring to FIG. 4, the processor selection circuit 300
At the maximum value flag register 30 according to the instruction.
The flags in the 1 and minimum value flag registers 302 are:
When the non-maximum value signal 216 or the non-minimum value signal 215 is output from the corresponding processor 200 in the same semiconductor device 100, the signal is set when the signal is 0 and reset when the signal is 1. In this case, all the processors are to be compared, and the non-maximum value signal 216 and the non-minimum value signal 215 output from each processor are both 0. The flag is set to 1.

【0113】以上は、全半導体装置100の全プロセッ
サ200が比較対象であると仮定した。しかし、もしい
ずれかの半導体装置100内のいずれかのプロセッサが
比較対象でなければ、そのプロセッサ内の比較対象フラ
グ220は既に述べた方法で0に初期設定される。この
プロセッサから出力される非最小値信号215、非最大
値信号216は、以上の説明から明らかなように、とも
に1となる。したがって、上記最大値最小値フラグプリ
セット命令が実行されたときには、このプロセッサに対
する、最大値フラグレジスタ301内の最大値フラグお
よび最小値フラグレジスタ302内の最小値フラグはと
もに0にリセットされる。
In the above, it has been assumed that all the processors 200 of all the semiconductor devices 100 are to be compared. However, if any of the processors in any of the semiconductor devices 100 is not a comparison target, the comparison target flag 220 in that processor is initialized to 0 by the method described above. The non-minimum value signal 215 and the non-maximum value signal 216 output from this processor are both 1 as is clear from the above description. Therefore, when the maximum value minimum value flag preset instruction is executed, both the maximum value flag in the maximum value flag register 301 and the minimum value flag in the minimum value flag register 302 for this processor are reset to 0.

【0114】以上のプリセット情報出力命令から最大値
最小値フラグプリセット命令に係る動作により、最大値
最小値プロセッサ検出回路350の最小値フラグレジス
タ302および最大値フラグレジスタ301には、比較
対象フラグ220がセットさせているプロセッサ200
に対応するフラグ(ビット)がセットされ、それ以外の
フラグはリセットされる。これによって、比較対象フラ
グ220がセットされていないプロセッサ200は、前
述の第1の動作に先立ち、最大値を持つプロセッサの候
補および最小値を持つプロセッサの候補から除外され、
最大値最小値プロセッサ検出の対象外となる。
By the operation from the preset information output instruction to the maximum value / minimum value flag preset instruction, the comparison target flag 220 is stored in the minimum value flag register 302 and the maximum value flag register 301 of the maximum value / minimum value processor detection circuit 350. Processor 200 set
Are set, and the other flags are reset. As a result, the processor 200 for which the comparison target flag 220 is not set is excluded from the candidate for the processor having the maximum value and the candidate for the processor having the minimum value, prior to the above-described first operation,
The maximum and minimum values are not subject to processor detection.

【0115】(10)変形例 以上本発明の実施形態に基づいて本発明を具体的に説明
したが、本発明はそれに限定されるものではなく、その
要旨を逸脱しない範囲において種々変更可能であること
は言うまでもない。以下はそのような変形例の一例であ
る。
(10) Modifications Although the present invention has been specifically described based on the embodiments of the present invention, the present invention is not limited thereto, and can be variously modified without departing from the gist thereof. Needless to say. The following is an example of such a modification.

【0116】(10a)システム最小値(最大値の)他
の検出方法 この最大値最小値検出回路608を制御装置500内に
設けないで、システム最大値、システム最大値プロセッ
サ、システム最小値とシステム最小値プロセッサを判別
することも可能であり、そのためには、既に述べた第
2、第3の動作に代えて以下のように動作を実行するよ
うに制御装置500内のプログラムおよび各半導体装置
100の回路を変形すればよい。
(10a) Other detection method of system minimum value (maximum value) The system maximum value, system maximum value processor, system minimum value and system minimum value are not provided in the controller 500. It is also possible to determine the minimum value processor. For this purpose, a program in the control device 500 and each semiconductor device 100 are executed so as to execute the following operation instead of the second and third operations described above. May be modified.

【0117】たとえば、第2の動作の代わりに、制御装
置500は、データ送出命令と送出すべきデータである
各半導体装置100で検出された装置内最小値(または
最大値)の格納位置の情報とを、全半導体装置100に
放送する。いずれかの半導体装置100を選択するため
の半導体装置アドレスをプロセッサアドレスバス404
に送出し、半導体装置アドレスデコーダ407によりそ
の半導体装置100を選択させる。その選択された半導
体装置100では、命令デコーダ109は、上記命令と
上記情報を全プロセッサに放送するとともにプロセッサ
選択回路300に最小値(または最大値)を出力データ
外部共通バス403に出力する命令を供給し、セレクタ
113に出力データ内部共通バス118を選択する命令
を供給する。各プロセッサでは、すでに述べたと同じよ
うにデータを対応するトライステートバッファ121に
読み出す。さらに、プロセッサ選択回路300は、上記
出力命令に応答して、その半導体装置100内の最大値
プロセッサに対応するトライステートバッファ121に
プロセッサ選択信号を送付し、そのプロセッサ200か
ら読み出された装置内最小値(または装置内最大値)を
出力データ内部共通バス118に転送する。最小値(ま
たは最大値)プロセッサのアドレスは、最大値最小値プ
ロセッサ検出回路350内のアドレス生成回路304
(またはアドレス生成回路303)により与えられる。
その選択された半導体装置100内のセレクタ113
は、命令デコーダ109からの上記選択命令に応答し
て、出力データ内部共通バス118上の上記最大値デー
タをトライステートバッファ120に送出する。このト
ライステートバッファ120は、信号408からの信号
によりそのデータを出力データ外部共通バス403に送
出する。
For example, instead of the second operation, control device 500 transmits a data transmission instruction and information on the storage position of the minimum value (or maximum value) in the device detected in each semiconductor device 100 which is data to be transmitted. Is broadcast to all the semiconductor devices 100. A semiconductor device address for selecting one of the semiconductor devices 100 is transmitted to the processor address bus 404.
And the semiconductor device address decoder 407 causes the semiconductor device 100 to be selected. In the selected semiconductor device 100, the instruction decoder 109 broadcasts the instruction and the information to all processors, and outputs an instruction to output a minimum value (or a maximum value) to the processor selection circuit 300 to the output data external common bus 403. Then, an instruction to select the output data internal common bus 118 is supplied to the selector 113. Each processor reads data into the corresponding tri-state buffer 121 in the same manner as described above. Further, in response to the output instruction, the processor selection circuit 300 sends a processor selection signal to the tristate buffer 121 corresponding to the maximum value processor in the semiconductor device 100, and the processor selection signal read from the processor 200 The minimum value (or the maximum value in the device) is transferred to the output data internal common bus 118. The address of the minimum (or maximum) processor is calculated by the address generation circuit 304 in the maximum / minimum processor detection circuit 350.
(Or the address generation circuit 303).
The selector 113 in the selected semiconductor device 100
Sends the maximum value data on the output data internal common bus 118 to the tri-state buffer 120 in response to the selection instruction from the instruction decoder 109. Tristate buffer 120 sends the data to output data external common bus 403 in response to a signal from signal 408.

【0118】制御装置500は、出力データ外部共通バ
ス403上のこの装置内最小値(または最大値)データ
を入力データ外部共通バス402に転送する命令をバス
制御回路606(図6)に供給する。さらに、第1の動
作と同様に、比較演算命令と比較対象データの格納位置
情報とを命令外部共通バス401を介して全半導体装置
100に放送する。バス制御回路606はその装置内最
小値(または最大値)データを入力データ外部共通バス
402を介して全半導体装置100に放送する。各半導
体装置100では、第1の動作と同じ動作を行い、最大
値最小値プロセッサ検出回路350内の最大値フラグレ
ジスタ301と最小値フラグレジスタ302とを更新す
る。制御装置500は以上の動作を順次異なる半導体装
置100を選択して行う。こうして、第2の動作が終了
する。この結果、全半導体装置内の全プロセッサが有す
る比較対象データが相互に比較されたことになる。この
結果、システム最小値を有するプロセッサに対する最小
値フラグとシステム最小値を有するプロセッサに対する
最大値フラグだけが1であり、他のプロセッサに対する
これらのフラグはいずれも0である。
Control device 500 supplies to bus control circuit 606 (FIG. 6) an instruction to transfer the internal minimum value (or maximum value) data on output data external common bus 403 to input data external common bus 402. . Further, similarly to the first operation, the comparison operation instruction and the storage position information of the data to be compared are broadcast to all the semiconductor devices 100 via the instruction external common bus 401. The bus control circuit 606 broadcasts the minimum value (or maximum value) data in the device to all the semiconductor devices 100 via the input data external common bus 402. In each semiconductor device 100, the same operation as the first operation is performed, and the maximum value flag register 301 and the minimum value flag register 302 in the maximum value minimum value processor detection circuit 350 are updated. The control device 500 performs the above operation by sequentially selecting different semiconductor devices 100. Thus, the second operation ends. As a result, the comparison target data of all the processors in all the semiconductor devices are compared with each other. As a result, only the minimum value flag for the processor having the system minimum value and the maximum value flag for the processor having the system minimum value are 1, and both of these flags are 0 for the other processors.

【0119】なお、以上の動作において、いずれかの半
導体装置内の全プロセッサが比較対象でないときには、
その半導体装置100の最大値データは無効である。こ
の場合、その半導体装置100内のプロセッサ選択回路
300は、既に述べた動作と同様にして非数データを送
出する。したがって、この半導体装置100からの読み
出しデータはシステム最小値またはシステム最大値の検
出には影響しない。
In the above operation, when all the processors in any one of the semiconductor devices are not to be compared,
The maximum value data of the semiconductor device 100 is invalid. In this case, the processor selection circuit 300 in the semiconductor device 100 sends out non-numerical data in the same manner as the operation described above. Therefore, the read data from the semiconductor device 100 does not affect the detection of the system minimum value or the system maximum value.

【0120】その後制御装置500は、すでに述べた第
3の動作に代えて以下の動作を行い、システム最大値プ
ロセッサのプロセッサアドレスを得る。今の場合には、
制御装置500はどの半導体装置100がシステム最小
値(またはシステム最大値)を有するか分からない。し
たがって各半導体装置100に、検出した最大値プロセ
ッサのアドレスを送出させる。すなわち、制御装置50
0は、全半導体装置100に最大値プロセッサのアドレ
スを出力する命令を放送するとともに、いずれか一つの
半導体装置100を選択するための半導体装置アドレス
をプロセッサアドレスバス404に送出する。その半導
体装置100内のプロセッサ選択回路300はすでに述
べた動作の場合と同じくその半導体装置100内の最大
値プロセッサの装置内プロセッサアドレスを制御装置5
00に送出する。制御装置500は、この動作を、選択
する半導体装置を順次切り換えて行い、全半導体装置1
00から順次検出した最大値プロセッサの装置内プロセ
ッサアドレスを受け取る。
Thereafter, control device 500 performs the following operation in place of the third operation already described, and obtains the processor address of the system maximum value processor. In this case,
Control device 500 does not know which semiconductor device 100 has the system minimum value (or system maximum value). Therefore, the address of the detected maximum value processor is transmitted to each semiconductor device 100. That is, the control device 50
0 broadcasts an instruction to output the address of the maximum value processor to all the semiconductor devices 100, and sends a semiconductor device address for selecting one of the semiconductor devices 100 to the processor address bus 404. The processor selection circuit 300 in the semiconductor device 100 sets the processor address in the device of the maximum value processor in the semiconductor device 100 as in the case of the operation already described.
Send to 00. The control device 500 performs this operation by sequentially switching the semiconductor device to be selected.
The processor addresses in the device of the maximum value processor sequentially detected from 00 are received.

【0121】しかし、ここで次の問題がある。全半導体
装置100の内、システム最大値を有するのは1つまた
は複数であり、他の半導体装置100はシステム最大値
を有しない。そのような半導体装置100では、最小値
フラグレジスタ302(または最大値フラグレジスタ3
01)内の全フラグが0である。本実施の形態では、そ
のときアドレス生成回路304(またはアドレス生成回
路303)は値0の装置内プロセッサアドレスを出力す
る。しかし、このアドレスは無効なアドレスである。し
たがって、図9に示すように、各半導体装置100内の
プロセッサ選択回路300には、アドレス生成回路30
4(またはアドレス生成回路303)が生成した最小値
(または最大値)プロセッサの装置内プロセッサアドレ
スが無効か否かを識別可能なように、アドレス生成回路
304(またはアドレス生成回路303)が生成した装
置内プロセッサアドレスの上位側にオール1のビット列
あるいはオール0のビット列を切り換えて付加するセレ
クタ312をセレクタ305と310の間に設ける。ア
ドレス生成回路304(またはアドレス生成回路30
3)が生成した装置内プロセッサアドレスが無効なとき
には、零検出回路309(または308)の出力が1で
ある。したがって、プロセッサ選択信号生成回路307
は、命令デコーダ109から、最小値(または最大値)
プロセッサの装置内プロセッサアドレスを出力データ外
部共通バス403に送出する命令を受信したときに、零
検出回路309(または308)の出力が1であれば、
セレクタ312を線319により制御して、セレクタ3
05から出力される最小値(または最大値)プロセッサ
の装置内プロセッサアドレスの上位側にオール0のビッ
ト列を付加させて新たな無効なプロセッサアドレスを生
成させ、セレクタ310に供給させる。一方、零検出回
路309(または308)の出力が0であれば、プロセ
ッサ選択信号生成回路307は、セレクタ312を線3
19により制御して、セレクタ305から出力される最
小値(または最大値)プロセッサの装置内プロセッサア
ドレスの上位側にオール1のビット列を付加させて新た
なプロセッサアドレスを生成させ、セレクタ310に供
給させる。この新たなプロセッサアドレスが制御装置5
00に転送される。制御装置500は、全半導体装置1
00から送出されたプロセッサアドレスの内、上位側に
オール1のビット列を有するプロセッサアドレスを有効
なプロセッサアドレスとして処理する。その有効なプロ
セッサアドレスを出力した半導体装置100の半導体装
置アドレスは、制御装置500自身がプロセッサアドレ
スバス404に先にその半導体装置100を選択するた
めに送付したアドレスであり、制御装置500は、この
半導体装置アドレスと検出した有効なプロセッサアドレ
ス内の装置内プロセッサアドレスとの組を、システム最
小値(または最大値)プロセッサのプロセッサアドレス
として使用する。以上の方法では、制御装置500内に
最大値最小値検出回路608を設ける必要がない。
However, there is the following problem here. Of all the semiconductor devices 100, one or more have the system maximum value, and the other semiconductor devices 100 do not have the system maximum value. In such a semiconductor device 100, the minimum value flag register 302 (or the maximum value flag register 3
01) are all 0. In this embodiment, at this time, the address generation circuit 304 (or the address generation circuit 303) outputs an in-device processor address having a value of 0. However, this address is invalid. Accordingly, as shown in FIG. 9, the processor selection circuit 300 in each semiconductor device 100 includes the address generation circuit 30
4 (or the address generation circuit 303) is generated by the address generation circuit 304 (or the address generation circuit 303) so that it is possible to identify whether the processor address in the device of the minimum value (or the maximum value) generated by the processor is invalid. A selector 312 for switching and adding an all 1 bit string or an all 0 bit string to the upper side of the internal processor address is provided between the selectors 305 and 310. The address generation circuit 304 (or the address generation circuit 30)
When the in-device processor address generated by 3) is invalid, the output of the zero detection circuit 309 (or 308) is 1. Therefore, the processor selection signal generation circuit 307
Is the minimum value (or the maximum value) from the instruction decoder 109.
If the output of the zero detection circuit 309 (or 308) is 1 when the instruction to send the processor address in the processor of the processor to the output data external common bus 403 is received,
The selector 312 is controlled by a line 319 to select the selector 312.
A new invalid processor address is generated by adding a bit string of all 0s to the upper side of the processor address in the device of the minimum value (or maximum value) output from the processor 05 and is supplied to the selector 310. On the other hand, if the output of the zero detection circuit 309 (or 308) is 0, the processor selection signal generation circuit 307 switches the selector 312 to the line 3
19, a new processor address is generated by adding an all-ones bit string to the upper side of the processor address in the device of the minimum value (or maximum value) processor output from the selector 305, and is supplied to the selector 310. . This new processor address is
Transferred to 00. The control device 500 controls the entire semiconductor device 1
Of the processor addresses sent from 00, a processor address having a bit string of all 1s on the upper side is processed as a valid processor address. The semiconductor device address of the semiconductor device 100 that has output the valid processor address is the address that the control device 500 itself has sent to the processor address bus 404 to select the semiconductor device 100 first, and the control device 500 A set of the semiconductor device address and the in-device processor address within the detected valid processor address is used as the processor address of the system minimum (or maximum) processor. In the above method, it is not necessary to provide the maximum value / minimum value detection circuit 608 in the control device 500.

【0122】(10b)他の形式の並列計算機 例えば、各プロセッサが、制御装置500に含まれ、図
5に示された制御記憶装置のようなプログラム記憶装置
とプログラム実行制御回路を含む、SPMD(Single P
rogram, Multiple Data)方式で動作する並列計算機で
あってもよい。このときの並列計算機の方式は、MIM
D(Multiple Instruction Stream, Multiple Data Str
eam)型並列計算機であってもよい。また、各プロセッ
サのローカルメモリ203あるいはレジスタファイル2
04は、同じ半導体装置内の複数のプロセッサに共通に
設けられてもよく、あるいはシステム全体に共通に設け
られる共有メモリ方式であってもよい。半導体装置ある
いはプロセッサのデータ入出力のためのグローバルバス
は、複数対が設けられてもよい。本発明は、一般的に
は、少なくとも複数の演算器を有し、その演算器間のデ
ータ通信によって並列アルゴリズムが動作するような情
報処理システムに適用することができる。
(10b) Other types of parallel computers For example, SPMD (each processor is included in the control device 500 and includes a program storage device such as the control storage device shown in FIG. 5 and a program execution control circuit) Single P
rogram, Multiple Data) system. The method of the parallel computer at this time is MIM
D (Multiple Instruction Stream, Multiple Data Str
eam) type parallel computer. The local memory 203 or the register file 2 of each processor
04 may be provided commonly to a plurality of processors in the same semiconductor device, or may be a shared memory system provided commonly to the entire system. A plurality of pairs of global buses for data input / output of a semiconductor device or a processor may be provided. INDUSTRIAL APPLICABILITY The present invention can be generally applied to an information processing system having at least a plurality of arithmetic units and operating a parallel algorithm by data communication between the arithmetic units.

【0123】以上説明したように、上記半導体装置10
0においては、外部に接続されるデータバスとは無関係
に、半導体装置内部で複数集積されたプロセッサ200
間のデータの大小比較演算ができるので、その半導体装
置100を複数搭載する情報処理システム400におい
て、半導体装置100単位に同時並列に最大値あるいは
最小値を持つプロセッサを検出する演算が可能となり、
システム内の最大値あるいは最小値を持つプロセッサの
検出に要する処理ステップを大幅に低減することができ
る。いま、情報処理システム400内の半導体装置10
0の数をmとし、各半導体装置100内のプロセッサ2
00の数をnとすると、従来技術により最大値あるいは
最小値を検出するのに要する最小の処理ステップはn×
m[ステップ]と考えることができる。ただしパイプラ
インのオーバヘッドを無視した。しかし、上記実施の形
態においては、n+m[ステップ](ただしパイプライ
ンのオーバヘッドを無視)とすることができる。例え
ば、m=64、n=8の場合、従来技術より約7倍高速
になり、m=64、n=16の場合、従来技術より約1
3倍高速になり、さらにm=64、n=64の場合、従
来技術より約32倍高速になる。これによって、例え
ば、学習ベクトル量子化法アルゴリズムのような最大値
あるいは最小値を特定する処理を反復するような計算を
高速化した並列計算機を容易に構成することが可能にな
る。
As described above, the semiconductor device 10
0, a plurality of integrated processors 200 inside the semiconductor device irrespective of an externally connected data bus.
Since the magnitude comparison operation of data between the semiconductor devices 100 can be performed, in the information processing system 400 equipped with the plurality of semiconductor devices 100, the operation of detecting a processor having a maximum value or a minimum value simultaneously and in parallel for each semiconductor device 100 becomes possible,
Processing steps required to detect a processor having a maximum value or a minimum value in the system can be greatly reduced. Now, the semiconductor device 10 in the information processing system 400
The number of 0s is m, and the processor 2 in each semiconductor device 100
Assuming that the number of 00 is n, the minimum processing step required for detecting the maximum value or the minimum value according to the prior art is n ×
m [steps]. However, the overhead of the pipeline was ignored. However, in the above embodiment, it can be set to n + m [steps] (however, the overhead of the pipeline is ignored). For example, when m = 64 and n = 8, it is about 7 times faster than the conventional technique, and when m = 64 and n = 16, it is about 1 time faster than the conventional technique.
It is three times faster, and when m = 64 and n = 64, it is about 32 times faster than the prior art. Thereby, for example, it is possible to easily configure a parallel computer in which the calculation for repeating the processing for specifying the maximum value or the minimum value such as the learning vector quantization algorithm is accelerated.

【0124】また、比較演算の結果としての情報は、最
大値フラグレジスタ301および最小値フラグレジスタ
302に蓄積して保持するので、最大値と最小値を持つ
各プロセッサの検出は任意の処理ステップで断続的に実
行することが可能になる。比較演算に非数データが入力
された場合には、最大値フラグレジスタ301および最
小値フラグレジスタ302に影響を及ぼさないため、最
大値あるいは最小値検出情報は正確であって、比較対象
となるデータに非数データを含めた浮動小数点フォーマ
ットのデータとすることができ、さらに、最大値フラグ
レジスタ301および最小値フラグレジスタ302が、
例えば、全てリセットした場合であっても、半導体装置
は非数データを出力するようにしたことによって、搭載
される並列計算機(例えば情報処理システム400)に
対して、その半導体装置の最大値あるいは最小値検出結
果が正確でないことを示すことができる。
Further, since the information as a result of the comparison operation is accumulated and held in the maximum value flag register 301 and the minimum value flag register 302, the detection of each processor having the maximum value and the minimum value can be performed by an arbitrary processing step. It can be executed intermittently. When non-numerical data is input to the comparison operation, it does not affect the maximum value flag register 301 and the minimum value flag register 302, so that the maximum value or minimum value detection information is accurate and the data to be compared is Can be data in floating-point format including non-numerical data. Further, the maximum value flag register 301 and the minimum value flag register 302
For example, even when all the semiconductor devices are reset, the semiconductor device outputs non-numerical data, so that the maximum value or the minimum value of the semiconductor device is given to a parallel computer (for example, the information processing system 400) mounted. It can indicate that the value detection result is not accurate.

【0125】また、最大値あるいは最小値検出が不要な
プロセッサは、上記検出手順の始めに実行される最大値
フラグレジスタ301および最小値フラグレジスタ30
2のプリセットに先立ち、プロセッサ内の比較対象フラ
グ220をリセットしておくことでその検出の対象外と
することができるので、比較演算に係る処理は対象とす
るプロセッサに依らず同一手順とすることができる。
Further, the processor which does not need to detect the maximum value or the minimum value is set in the maximum value flag register 301 and the minimum value flag register 30 which are executed at the beginning of the detection procedure.
By resetting the comparison target flag 220 in the processor prior to the preset 2, it is possible to exclude the detection target, so that the processing related to the comparison operation has the same procedure regardless of the target processor. Can be.

【0126】また、その比較演算は、プロセッサ内の例
えばALU201により実行できるので、本発明によっ
て追加される論理規模は比較的少なくて済む。また、半
導体装置内部で浮動小数点フォーマット変換回路102
を用いて浮動小数点フォーマット表現のデータに、ある
いは、固定小数点フォーマット変換回路103を用いて
固定小数点フォーマット表現のデータに統一することが
できるので、その半導体装置100単位に同時並列に動
作して全データのフォーマットを統一することができ
る。これによって、プロセッサの個々にデータ変換回路
を設けることなく、各データフォーマット間の変換回路
を効率的に設けた半導体装置とすることができるので、
半導体装置のチップサイズを低減できる。
Since the comparison operation can be executed by, for example, the ALU 201 in the processor, the logical scale added by the present invention can be relatively small. Further, the floating point format conversion circuit 102 is provided inside the semiconductor device.
To the data in the floating-point format, or the data in the fixed-point format using the fixed-point format conversion circuit 103. Format can be unified. This makes it possible to provide a semiconductor device in which a conversion circuit between data formats is efficiently provided without providing a data conversion circuit for each processor.
The chip size of the semiconductor device can be reduced.

【0127】また、半導体装置100の外部のデータを
プロセッサ200内に入力する場合には浮動小数点フォ
ーマットに変換することが可能であって、プロセッサ2
00内のデータを半導体装置100の外部に出力する場
合には固定小数点フォーマットに変換することが可能で
あって、これらの変換は何れも時分割バスのパイプライ
ン上に設けたフォーマット変換回路とすることができる
ので、変換に要する時間は事実上皆無とすることができ
る。これによって、浮動小数点フォーマットと固定小数
点フォーマットのデータが混在するような並列アルゴリ
ズムを実行するための並列計算機のプロセッサアレイを
容易に実現可能な半導体装置とすることができる。
When data external to the semiconductor device 100 is input into the processor 200, the data can be converted into a floating-point format.
When the data in 00 is output to the outside of the semiconductor device 100, the data can be converted into a fixed-point format. All of these conversions are performed by a format conversion circuit provided on a pipeline of a time-division bus. The conversion time can be virtually negligible. This makes it possible to provide a semiconductor device that can easily realize a processor array of a parallel computer for executing a parallel algorithm in which data in a floating-point format and data in a fixed-point format are mixed.

【0128】[0128]

【発明の効果】以上述べたごとく本発明によれば、複数
のプロセッサを含み、最大値または最小値を持つプロセ
ッサを効率的に検出できる、LSI上に形成された半導
体装置が得られる。
As described above, according to the present invention, a semiconductor device formed on an LSI including a plurality of processors and capable of efficiently detecting a processor having a maximum value or a minimum value can be obtained.

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

【図1】本発明による半導体装置を使用したSIMD型
並列計算機の概略ブロック図である。
FIG. 1 is a schematic block diagram of a SIMD-type parallel computer using a semiconductor device according to the present invention.

【図2】本発明による半導体装置の概略ブロック図であ
る。
FIG. 2 is a schematic block diagram of a semiconductor device according to the present invention.

【図3】図2の装置に使用するプロセッサの概略ブロッ
ク図である。
FIG. 3 is a schematic block diagram of a processor used in the apparatus of FIG. 2;

【図4】図2の半導体装置に用いる最大値最小値プロセ
ッサ検出回路とプロセッサ選択回路の概略ブロック図で
ある。
4 is a schematic block diagram of a maximum / minimum value processor detection circuit and a processor selection circuit used in the semiconductor device of FIG. 2;

【図5】図1のSIMD型並列計算機に用いる制御回路
の概略ブロック図である。
FIG. 5 is a schematic block diagram of a control circuit used in the SIMD type parallel computer of FIG. 1;

【図6】図5の制御回路に用いるプログラム実行制御回
路の概略ブロック図である。
6 is a schematic block diagram of a program execution control circuit used for the control circuit of FIG.

【図7】図1のSIMD型並列計算機に用いるマイクロ
命令の概略的なフォーマットを示す図である。
FIG. 7 is a diagram showing a schematic format of a microinstruction used in the SIMD type parallel computer of FIG. 1;

【図8】図5の制御回路に用いるバス制御回路の概略ブ
ロック図である。
8 is a schematic block diagram of a bus control circuit used in the control circuit of FIG.

【図9】本発明による他の半導体装置に用いるプロセッ
サ選択回路の概略ブロック図である。
FIG. 9 is a schematic block diagram of a processor selection circuit used in another semiconductor device according to the present invention.

───────────────────────────────────────────────────── フロントページの続き (72)発明者 小泉 英明 東京都国分寺市東恋ケ窪一丁目280番地 株式会社日立製作所中央研究所内 (72)発明者 岡橋 卓夫 東京都国分寺市東恋ケ窪一丁目280番地 株式会社日立製作所中央研究所内 (72)発明者 竹内 淳 東京都国分寺市東恋ケ窪一丁目280番地 株式会社日立製作所中央研究所内 (72)発明者 横井 隆 東京都国分寺市東恋ケ窪一丁目280番地 株式会社日立製作所中央研究所内 (56)参考文献 日立マイコン技報Vol.8,No. 1 p2−10 1994 (58)調査した分野(Int.Cl.6,DB名) G06F 15/16 610 G06F 15/16 640 G06F 15/18 520 JICSTファイル(JOIS)──────────────────────────────────────────────────続 き Continuing on the front page (72) Inventor Hideaki Koizumi 1-280 Higashi Koikekubo, Kokubunji-shi, Tokyo Inside the Hitachi, Ltd. Central Research Laboratory (72) Inventor Takuo Okahashi 1-280 Higashi Koikekubo, Kokubunji-shi, Tokyo Hitachi, Ltd. Central Research Laboratory (72) Inventor Atsushi Takeuchi 1-280 Higashi Koikekubo, Kokubunji City, Tokyo Hitachi, Ltd. Central Research Laboratory (72) Inventor Takashi Yokoi 1-280 Higashi Koikekubo, Kokubunji City, Tokyo Hitachi Central Research Laboratory ( 56) References Hitachi Microcomputer Technical Report Vol. 8, No. 1 p2-10 1994 (58) Field surveyed (Int. Cl. 6 , DB name) G06F 15/16 610 G06F 15/16 640 G06F 15/18 520 JICST file (JOIS)

Claims (11)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】複数のプロセッサと、 いずれかのプロセッサが送出したデータを外部に出力可
能とし、いずれかのプロセッサが送出したデータと外部
から入力したデータとを選択して上記複数のプロセッサ
の全てに放送するための相互結合網と、 上記複数のプロセッサの内の任意の一つを選択するため
のプロセッサ選択回路と、 検出回路とを大規模集積回路上に有し、 その複数を少なくとも上記相互結合網の外部との入出力
で接続することによって並列計算機のプロセッサアレイ
を構成可能な半導体装置であって、 各プロセッサは、 データ記憶手段と、 上記データ記憶手段に記憶された比較対象データを上記
相互結合網に送出可能な手段と、 上記相互結合網から入力された比較対象データと、その
プロセッサに記憶された比較対象データとの大小を識別
する比較演算を実行し、比較結果信号を出力可能な演算
器とを有し、 上記複数のプロセッサは、同時並列に上記比較演算の実
行と上記比較結果信号の出力が可能なように構成され、 各プロセッサは、上記相互結合網から逐次的に入力され
る複数の比較対象データのそれぞれに対して上記比較演
算を逐次的に実行し、上記比較結果信号を出力するよう
に構成され、 上記検出回路は、それぞれ上記複数のプロセッサが出力
する複数の上記比較結果信号に基づいて、上記複数の比
較対象データに対して最大値となる比較対象データを記
憶している最大値プロセッサと、最小値となる比較対象
データを記憶している最小値プロセッサの少なくとも一
方の検出を行う半導体装置。
A plurality of processors, data output by one of the processors can be output to the outside, and data sent by one of the processors and data input from the outside are selected to select all of the plurality of processors. A large-scale integrated circuit having an interconnecting network for broadcasting to a plurality of processors, a processor selecting circuit for selecting an arbitrary one of the plurality of processors, and a detecting circuit. A semiconductor device capable of configuring a processor array of a parallel computer by connecting the input and output to and from the outside of a connection network, wherein each processor includes a data storage unit and the comparison target data stored in the data storage unit. Means that can be sent to the interconnection network, comparison target data input from the interconnection network, and comparison target data stored in the processor And a computing unit capable of executing a comparison operation for discriminating the magnitude of the comparison result and outputting a comparison result signal, wherein the plurality of processors are capable of executing the comparison operation and outputting the comparison result signal simultaneously and in parallel. Each processor is configured to sequentially execute the comparison operation on each of a plurality of comparison target data sequentially input from the interconnection network and output the comparison result signal. The detection circuit, based on the plurality of comparison result signals respectively output by the plurality of processors, a maximum value processor that stores comparison target data that is the maximum value for the plurality of comparison target data, A semiconductor device for detecting at least one of a minimum value processor storing comparison target data having a minimum value.
【請求項2】各プロセッサが出力する上記比較結果信号
は、上記比較演算のそれぞれについてそのプロセッサに
記憶された比較対象データの方が大きいことを有意とす
る非最小値信号を少なくとも含み、 上記検出回路は、それぞれ上記複数のプロセッサの一つ
に対応し、その対応するプロセッサが最小値プロセッサ
の候補であるか否かの状態を示すフラグを記憶可能な複
数の最小値フラグ記憶手段を含み、 各最小値フラグ記憶手段は、何れの状態も設定可能であ
って、さらにそれに対応するプロセッサから出力される
上記非最小値信号の有意のみに応答してフラグを最小値
プロセッサの候補でない状態にするように構成され、 それぞれ上記複数のプロセッサから上記相互結合網を介
して放送された複数の比較対象データのそれぞれに対す
る各プロセッサの上記比較演算によって逐次的に出力さ
れる上記非最小値信号について上記最小値フラグ記憶手
段が上記応答したことによって、上記複数の最小値フラ
グ記憶手段の内で最小値プロセッサの候補である状態を
示しているものに対応するプロセッサを上記最小値プロ
セッサとして検出する請求項1に記載の半導体装置。
2. The comparison result signal output by each processor includes at least a non-minimum value signal indicating that the comparison target data stored in the processor for each of the comparison operations is significant. The circuit includes a plurality of minimum value flag storage units each corresponding to one of the plurality of processors, and capable of storing a flag indicating whether or not the corresponding processor is a candidate for the minimum value processor. The minimum value flag storage means can set any state, and furthermore, sets the flag to a state which is not a candidate for the minimum value processor in response to only the significance of the non-minimum value signal output from the corresponding processor. Each of a plurality of comparison target data broadcast from the plurality of processors via the interconnection network. A state in which the minimum value flag storage means responds to the non-minimum value signal sequentially output by the comparison operation of the processor, and is a candidate of the minimum value processor among the plurality of minimum value flag storage means. 2. The semiconductor device according to claim 1, wherein a processor corresponding to the one indicated by the following is detected as the minimum value processor.
【請求項3】上記検出回路は、少なくとも上記複数の最
小値フラグ記憶手段のいずれか一つが最小値プロセッサ
の候補である状態を示している場合にはその内の一つに
対応するように、上記複数のプロセッサのそれぞれに割
り当てられたアドレスの一つを生成可能な最小値プロセ
ッサアドレス生成手段を有し、 上記プロセッサ選択回路は、少なくとも上記最小値プロ
セッサアドレス生成手段により生成されたアドレスに基
づいてプロセッサを選択可能なように構成され、 上記半導体装置は、上記検出回路により、上記複数の最
小値フラグ記憶手段の少なくとも一つが最小値プロセッ
サの候補である状態を示しているか否かに依存して、上
記プロセッサ選択回路により選択されたプロセッサに記
憶された比較対象データまたは無効な比較対象データを
切り換えて上記半導体装置の外部に出力可能な手段を有
する請求項2に記載の半導体装置。
3. The detecting circuit according to claim 1, wherein when at least one of said plurality of minimum value flag storage means indicates a state of being a candidate for a minimum value processor, the detection circuit corresponds to one of the candidates. A minimum processor address generation unit capable of generating one of the addresses assigned to each of the plurality of processors, wherein the processor selection circuit is configured to execute at least an address generated by the minimum processor address generation unit. The semiconductor device is configured to be capable of selecting a processor, and the semiconductor device depends on whether or not at least one of the plurality of minimum value flag storage means indicates a state of being a candidate for the minimum value processor by the detection circuit. The comparison target data or the invalid comparison target stored in the processor selected by the processor selection circuit. The semiconductor device according to claim 2 having an external enable output means of the semiconductor device by switching the over data.
【請求項4】上記半導体装置は、上記検出回路により、
上記複数の最小値フラグ記憶手段の少なくとも一つが最
小値プロセッサの候補である状態を示しているか否かに
依存して、上記最小値プロセッサアドレス生成手段によ
り生成された上記アドレスまたは無効なアドレスを切り
換えて上記半導体装置の外部に出力可能な手段をさらに
有する請求項3に記載の半導体装置。
4. The semiconductor device according to claim 1, wherein:
The address or the invalid address generated by the minimum processor address generation unit is switched depending on whether at least one of the plurality of minimum value flag storage units indicates a candidate for a minimum value processor. 4. The semiconductor device according to claim 3, further comprising a unit capable of outputting to the outside of the semiconductor device.
【請求項5】各プロセッサが出力する上記比較結果信号
は、上記比較演算のそれぞれについてそのプロセッサに
記憶された比較対象データの方が小さいことを有意とす
る非最大値信号を少なくとも含み、 上記検出回路は、それぞれ上記複数のプロセッサの一つ
に対応し、その対応するプロセッサが最大値プロセッサ
の候補であるか否かの状態を示すフラグを記憶可能な複
数の最大値フラグ記憶手段を含み、 各最大値フラグ記憶手段は、何れの状態も設定可能であ
って、さらにそれに対応するプロセッサから出力される
上記非最大値信号の有意のみに応答してフラグを最大値
プロセッサの候補でない状態にするように構成され、 それぞれ上記複数のプロセッサから上記相互結合網を介
して放送された複数の比較対象データのそれぞれに対す
る各プロセッサの上記比較演算によって逐次的に出力さ
れる上記非最大値信号について上記最大値フラグ記憶手
段が上記応答したことによって、上記複数の最大値フラ
グ記憶手段の内で最大値プロセッサの候補である状態を
示しているものに対応するプロセッサを上記最大値プロ
セッサとして検出する請求項1乃至4のいずれか一つに
記載の半導体装置。
5. The comparison result signal output by each processor includes at least a non-maximum value signal indicating that the comparison target data stored in the processor for each of the comparison operations is significant. The circuit includes a plurality of maximum value flag storage means respectively corresponding to one of the plurality of processors, and capable of storing a flag indicating whether or not the corresponding processor is a candidate for the maximum value processor. The maximum value flag storage means can set any state, and furthermore, sets the flag to a state which is not a candidate for the maximum value processor in response to only the significance of the non-maximum value signal output from the corresponding processor. Each of a plurality of comparison target data broadcast from the plurality of processors via the interconnection network. A state in which the maximum value flag storage means responds to the non-maximum value signal sequentially output by the comparison operation of the processor, and is a candidate of the maximum value processor among the plurality of maximum value flag storage means. 5. The semiconductor device according to claim 1, wherein a processor corresponding to one of the following is detected as the maximum value processor. 6.
【請求項6】上記検出回路は、少なくとも上記複数の最
大値フラグ記憶手段のいずれか一つが最大値プロセッサ
の候補である状態を示している場合にはその内の一つに
対応するように、上記複数のプロセッサのそれぞれに割
り当てられたアドレスの一つを生成可能な最大値プロセ
ッサアドレス生成手段を有し、 上記プロセッサ選択回路は、少なくとも上記最大値プロ
セッサアドレス生成手段により生成されたアドレスに基
づいてプロセッサを選択可能なように構成され、 上記半導体装置は、上記検出回路により、上記複数の最
大値フラグ記憶手段の少なくとも一つが最大値プロセッ
サの候補である状態を示しているか否かに依存して、上
記プロセッサ選択回路により選択されたプロセッサに記
憶された比較対象データまたは無効な比較対象データを
切り換えて上記半導体装置の外部に出力可能な手段を有
する請求項5に記載の半導体装置。
6. The detection circuit according to claim 1, wherein at least one of said plurality of maximum value flag storage means indicates a state of being a candidate for a maximum value processor. A maximum processor address generating unit capable of generating one of the addresses assigned to each of the plurality of processors, wherein the processor selecting circuit is configured to generate at least a maximum processor address based on the address generated by the maximum processor address generating unit. The semiconductor device is configured to be capable of selecting a processor, and the semiconductor device depends on whether or not at least one of the plurality of maximum value flag storage means indicates a state of being a candidate for a maximum value processor by the detection circuit. The comparison target data or the invalid comparison target stored in the processor selected by the processor selection circuit. The semiconductor device according to claim 5 having a mechanism capable of outputting to the outside of the semiconductor device by switching the over data.
【請求項7】上記半導体装置は、上記検出回路により、
上記複数の最大値フラグ記憶手段の少なくとも一つが最
大値プロセッサの候補である状態を示しているか否かに
依存して、上記最大値プロセッサアドレス生成手段によ
り生成された上記アドレスまたは無効なアドレスを切り
換えて上記半導体装置の外部に出力可能な手段をさらに
有する請求項6に記載の半導体装置。
7. The semiconductor device according to claim 1, wherein:
The address or the invalid address generated by the maximum value processor address generation means is switched depending on whether at least one of the plurality of maximum value flag storage means indicates a state of being a candidate for a maximum value processor. 7. The semiconductor device according to claim 6, further comprising a unit capable of outputting to the outside of the semiconductor device.
【請求項8】各プロセッサは、 外部から与えられる命令に応答してそのプロセッサが比
較対象のプロセッサであるか否かを記憶して指示する指
示手段と、 そのプロセッサに含まれた上記指示手段による、そのプ
ロセッサが比較対象のプロセッサであるか否かの指示に
応答して、そのプロセッサの上記記憶された比較対象デ
ータと無効な比較対象データとを切り換えて上記相互結
合網に送出する手段とをさらに有し、 各プロセッサ内の上記演算器は、他のプロセッサから上
記相互結合網に放送された比較対象データが無効な比較
対象データであるとき、有意でない比較結果信号を出力
するように構成された請求項2または5に記載の半導体
装置。
8. Each of the processors includes instruction means for storing and instructing whether or not the processor is a processor to be compared in response to an instruction given from the outside, and the instruction means included in the processor. Means for switching between the stored comparison target data and the invalid comparison target data of the processor in response to an instruction as to whether or not the processor is a comparison target processor and transmitting the data to the interconnection network. The arithmetic unit in each processor is configured to output an insignificant comparison result signal when comparison data broadcast from another processor to the interconnection network is invalid comparison data. The semiconductor device according to claim 2.
【請求項9】上記プロセッサ選択回路は、少なくとも同
一の半導体装置内の全てのプロセッサを順次選択可能で
あるように構成され、 上記相互結合網が上記放送する手段は、上記プロセッサ
選択回路によって選択されたプロセッサが送出したデー
タを、同一の半導体装置内の全てのプロセッサが同時に
入力可能であるように構成され、 上記プロセッサ選択回路における逐次的なプロセッサの
選択と、それによる上記相互結合網における逐次的な放
送とによって、上記検出を行う請求項1乃至8のいずれ
か一つに記載の半導体装置。
9. The processor selection circuit is configured to be capable of sequentially selecting at least all processors in the same semiconductor device, and the means for broadcasting by the interconnection network is selected by the processor selection circuit. All the processors in the same semiconductor device can simultaneously input the data sent by the processor, and the sequential selection of the processor in the processor selection circuit and the sequential selection in the interconnection network thereby. The semiconductor device according to claim 1, wherein the detection is performed by a suitable broadcast.
【請求項10】上記プロセッサ選択回路が上記複数のプ
ロセッサの内の任意の一つを順次選択する手段は、少な
くとも上記半導体装置の外部より順次入力される各プロ
セッサに割り当てられたアドレスに基づいて順次選択す
るように構成された請求項9に記載の半導体装置。
10. The means for sequentially selecting an arbitrary one of the plurality of processors by the processor selection circuit includes a processor for sequentially selecting at least one of the plurality of processors based on an address assigned to each processor sequentially input from outside the semiconductor device. The semiconductor device according to claim 9, configured to make a selection.
【請求項11】上記半導体装置は、 固定小数点フォーマットのデータを浮動小数点フォーマ
ットに変換可能な第1のデータフォーマット変換回路
と、 浮動小数点フォーマットのデータを固定小数点フォーマ
ットに変換可能な第2のデータフォーマット変換回路と
をさらに有し、 上記相互結合網は、 上記複数のプロセッサのそれぞれの入力に接続された入
力データ内部共通バスと、 上記複数のプロセッサのそれぞれの出力にトライステー
トバッファを介して接続された出力データ内部共通バス
とを含んで構成され、 上記第2のデータフォーマット変換回路の入力には上記
出力データ内部共通バスが接続され、 上記半導体装置は、 外部から入力したデータと、上記出力データ内部共通バ
ス上のデータとから切り換えて上記第1のデータフォー
マット変換回路の入力とするための第1の選択手段と、 外部から入力したデータと、上記出力データ内部共通バ
ス上のデータと、上記第1のデータフォーマット変換回
路が出力したデータと、上記第2のデータフォーマット
変換回路が出力したデータとから切り換えて上記入力デ
ータ内部共通バスに出力するための第2の選択手段と、 上記出力データ内部共通バス上のデータと、上記第2の
データフォーマット変換回路が出力したデータとから切
り換えて外部に出力するための第3の選択手段とをさら
に有する請求項1乃至10のいずれか一つに記載の半導
体装置。
11. A semiconductor device comprising: a first data format conversion circuit capable of converting fixed-point format data to a floating-point format; and a second data format capable of converting floating-point format data to a fixed-point format. A conversion circuit, wherein the interconnection network is connected to an input data internal common bus connected to respective inputs of the plurality of processors, and to respective outputs of the plurality of processors via a tri-state buffer. An output data internal common bus, the input of the second data format conversion circuit is connected to the output data internal common bus, and the semiconductor device comprises: The first data format is switched by switching from the data on the internal common bus. First selecting means for inputting to the mat conversion circuit, data input from the outside, data on the output data internal common bus, data output by the first data format conversion circuit, Second selecting means for switching from the data output by the second data format conversion circuit to output to the input data internal common bus, data on the output data internal common bus, and the second data format conversion 11. The semiconductor device according to claim 1, further comprising third selection means for switching the data output from the circuit and outputting the data to the outside.
JP33461498A 1998-11-25 1998-11-25 Semiconductor device Expired - Fee Related JP2969115B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP33461498A JP2969115B1 (en) 1998-11-25 1998-11-25 Semiconductor device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP33461498A JP2969115B1 (en) 1998-11-25 1998-11-25 Semiconductor device

Publications (2)

Publication Number Publication Date
JP2969115B1 true JP2969115B1 (en) 1999-11-02
JP2000163384A JP2000163384A (en) 2000-06-16

Family

ID=18279355

Family Applications (1)

Application Number Title Priority Date Filing Date
JP33461498A Expired - Fee Related JP2969115B1 (en) 1998-11-25 1998-11-25 Semiconductor device

Country Status (1)

Country Link
JP (1) JP2969115B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018124813A (en) * 2017-02-01 2018-08-09 株式会社デンソー Computation processing unit
CN111091189A (en) * 2017-12-14 2020-05-01 中科寒武纪科技股份有限公司 Integrated circuit chip device and related product

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7707266B2 (en) * 2004-11-23 2010-04-27 Intel Corporation Scalable, high-performance, global interconnect scheme for multi-threaded, multiprocessing system-on-a-chip network processor unit
EP1679902A3 (en) * 2005-01-06 2012-04-25 Qualcomm Incorporated Residual coding in compliance with a video standard using non-standardized vector quantization coder
US8150902B2 (en) * 2009-06-19 2012-04-03 Singular Computing Llc Processing with compact arithmetic processing element
JP5763472B2 (en) 2011-08-10 2015-08-12 ルネサスエレクトロニクス株式会社 Arithmetic circuit and arithmetic unit
DE102013212840B4 (en) * 2013-07-02 2022-07-07 Robert Bosch Gmbh Model calculation unit and control unit for calculating a data-based function model with data in various number formats
DE102013224694A1 (en) * 2013-12-03 2015-06-03 Robert Bosch Gmbh Method and device for determining a gradient of a data-based function model
US20190332925A1 (en) * 2018-04-30 2019-10-31 International Business Machines Corporation Neural hardware accelerator for parallel and distributed tensor computations

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
日立マイコン技報Vol.8,No.1 p2−10 1994

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018124813A (en) * 2017-02-01 2018-08-09 株式会社デンソー Computation processing unit
CN111091189A (en) * 2017-12-14 2020-05-01 中科寒武纪科技股份有限公司 Integrated circuit chip device and related product
CN111091189B (en) * 2017-12-14 2023-08-29 中科寒武纪科技股份有限公司 Integrated circuit chip device and related products

Also Published As

Publication number Publication date
JP2000163384A (en) 2000-06-16

Similar Documents

Publication Publication Date Title
US5524175A (en) Neuro-computer system for executing a plurality of controlling algorithms
US9754221B1 (en) Processor for implementing reinforcement learning operations
US10970623B2 (en) System and method for training artificial intelligence systems using a sima based processor
KR102544275B1 (en) Apparatus and method for executing convolutional neural network training
US10878313B2 (en) Post synaptic potential-based learning rule
US5204938A (en) Method of implementing a neural network on a digital computer
US7082419B1 (en) Neural processing element for use in a neural network
US20180260700A1 (en) Method and system for implementing reinforcement learning agent using reinforcement learning processor
JPH08241291A (en) Processor
CN112381220B (en) Neural network tensor processor
JPH0773149A (en) System and method for data processing
JP2969115B1 (en) Semiconductor device
JPH07219919A (en) Numerical operation processor
Hendry et al. IP core implementation of a self-organizing neural network
WO1993014459A1 (en) Modular parallel processing system
CN110262996A (en) A kind of supercomputer based on high-performance Reconfigurable Computation
CN115048334A (en) Programmable array processor control apparatus
JPH117432A (en) Information processor and semiconductor device
Rast et al. Managing burstiness and scalability in event-driven models on the SpiNNaker neuromimetic system
JPH11238042A (en) Decentralized simulation control unit
JPH03100857A (en) Neuron network processor
Kim et al. Algorithmic transformations for neural computing and performance of supervised learning on a dataflow machine
Hauptvogel et al. Spindek: An integrated design tool for the multiprocessor emulation of complex bioinspired spiking neural networks
Madrenas et al. Strategies in SIMD computing for complex neural bioinspired applications
Zhang et al. Applications of Hardware Implementation of P Systems

Legal Events

Date Code Title Description
S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313115

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20080820

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20080820

Year of fee payment: 9

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

Year of fee payment: 10

Free format text: PAYMENT UNTIL: 20090820

LAPS Cancellation because of no payment of annual fees