JPH117441A - Data processor - Google Patents

Data processor

Info

Publication number
JPH117441A
JPH117441A JP9353298A JP9353298A JPH117441A JP H117441 A JPH117441 A JP H117441A JP 9353298 A JP9353298 A JP 9353298A JP 9353298 A JP9353298 A JP 9353298A JP H117441 A JPH117441 A JP H117441A
Authority
JP
Japan
Prior art keywords
data
unit
cycle
control unit
memory
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.)
Granted
Application number
JP9353298A
Other languages
Japanese (ja)
Other versions
JP3091441B2 (en
Inventor
Osamu Okamoto
理 岡本
Hiroshi Kadota
浩 廉田
Yoshiteru Mino
吉輝 三野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP10093532A priority Critical patent/JP3091441B2/en
Publication of JPH117441A publication Critical patent/JPH117441A/en
Application granted granted Critical
Publication of JP3091441B2 publication Critical patent/JP3091441B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To provide a general data processor capable of corresponding to various multi-media applications. SOLUTION: The data processor is provided with plural memories 100, 102, 260, plural operation parts 30, 130, 200, 210, 220, 230, a data transfer part 20, and a network 240. The data transfer part 20 transfers various data to the memories (e.g. 100, 260) and switches connecting relation among respective memories 100, 102, 260 and respective operation parts 30, 130, 200, 210, 220, 230 through the network 240. Control parts 50, 250 add executable state judgement signals to data read out from respective memories 100, 260 to form a pair of data. Each operation part receives data and the executable state judgement signal, executes prescribed operation for the received data, delays the received executable state judgement signal by the number of cycles equal to the number of operation cycles, and outputs the operation result and the delayed executable state judgement signal.

Description

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

【0001】[0001]

【発明の属する技術分野】本発明は、データ処理装置に
関し、詳しくは、複数のメモリと複数の演算手段がプロ
セッサ内に存在し、これ等の部分において大量にデータ
をコントロールし、処理するものの改良に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a data processing apparatus, and more particularly to an improvement of a data processing apparatus in which a plurality of memories and a plurality of arithmetic means exist in a processor, and a large amount of data is controlled and processed in these parts. About.

【0002】[0002]

【従来の技術】従来、プロセッサの内部には、加減算、
乗算及び除算等の演算装置、並びに、そのプロセッサ専
用の回路としてのハードウェアエンジンが備えられる。
前記ハードウェアエンジンは、例えば米国特許4,78
2,458の「ARCHITECTURE FOR POWER OF TWO COEFIC
IENT FIR FILTER 」に開示されるように、そのプロセッ
サの用途と、その用途が必要とする処理スピードとに対
応して構成された専用の演算回路である。米国特許4,
881,192の「ONE-DIMENSIONAL LINEAR PICTURE T
RANSFORMER」では、前記ハードウェアエンジンとして、
複数のバスから構成されるネットワークと、複数の演算
装置とを並べ、これ等を組み合わせることにより、特定
の処理を実現した専用回路を提案している。
2. Description of the Related Art Conventionally, an addition and subtraction,
Arithmetic devices such as multiplication and division, and a hardware engine as a circuit dedicated to the processor are provided.
The hardware engine is disclosed, for example, in US Pat.
2,458 "ARCHITECTURE FOR POWER OF TWO COEFIC
As disclosed in "IENT FIR FILTER", this is a dedicated arithmetic circuit configured for the use of the processor and the processing speed required for the use. US Patent 4,
881, 192 “ONE-DIMENSIONAL LINEAR PICTURE T
RANSFORMER ", as the hardware engine,
By arranging a network composed of a plurality of buses and a plurality of arithmetic units and combining them, a dedicated circuit that realizes a specific process is proposed.

【0003】近年では、LSI技術の進歩に伴い、従来
から知られる命令に加えて新しい命令を組み込んたプロ
セッサ、例えば“マルチメディア命令”と呼ばれる新し
い命令を組み込んだインテル社製のプロセッサPentium
II等では、内部に備えられる演算装置は益々高機能化
し、ある程度の処理スピードであれば、ハードウェアエ
ンジンを使わずに、画像処理や音声処理などの種々の処
理を実行可能になってきた。しかし、高速な処理スピー
ドが要求される場合には、やはりハードウェアエンジン
が必要である。
In recent years, with the advance of LSI technology, a processor incorporating a new instruction in addition to a conventionally known instruction, for example, a processor Pentium manufactured by Intel Corporation incorporating a new instruction called a "multimedia instruction".
In II and the like, an arithmetic unit provided therein has been increasingly sophisticated, and various processings such as image processing and audio processing can be executed without using a hardware engine at a certain processing speed. However, when a high processing speed is required, a hardware engine is also required.

【0004】ところで、近年では、内部に複数のメモリ
及び複数の演算装置並びにネットワークとを備えたプロ
セッサ、即ち、例えば米国Chromatic Research社のMpac
tや、Philips社のTrimedia等のように“メディアプロセ
ッサ”と呼ばれるプロセッサでは、画像処理及び音声処
理の2処理のように、複数種類の処理(マルチメディア
処理)を高速に実現しようとしている。前記メディアプ
ロセッサにおいては、例えば画像処理及び音声処理の2
処理を行う場合には、これ等処理及び所望の処理スピー
ドに対応したハードウェアエンジンを設ける必要があ
る。
In recent years, a processor having a plurality of memories, a plurality of arithmetic units, and a network therein, that is, for example, a Mpac manufactured by Chromatic Research, USA
In a processor called a “media processor” such as “t” or “Trimedia” by Philips, a plurality of types of processing (multimedia processing) such as image processing and audio processing are to be realized at high speed. In the media processor, for example, image processing and audio processing are performed.
When performing processing, it is necessary to provide a hardware engine corresponding to these processing and a desired processing speed.

【0005】[0005]

【発明が解決しようとする課題】しかしながら、例えば
画像処理及び音声処理を行うメディアプロセッサと、そ
の他の複数の処理を行うメディアプロセッサとでは、設
けるハードウェアエンジンが異なる。従って、複数のメ
ディアプロセッサでは、実行可能な処理が異なる毎に異
なるハードウェアエンジンを持つため、多品種のプロセ
ッサを設計しなけらばならないという問題点がある。
However, for example, a hardware engine provided differs between a media processor that performs image processing and audio processing and a media processor that performs a plurality of other processes. Therefore, since a plurality of media processors have different hardware engines for different executable processes, there is a problem that a variety of processors must be designed.

【0006】本発明は、前記問題点に着目し、その目的
は、多品種のプロセッサを設計することなく、メディア
プロセッサとして汎用性を持たせて、種々のマルチメデ
ィアアプリケーションに適応可能なデータ処理装置を提
供することにある。
SUMMARY OF THE INVENTION The present invention focuses on the above-mentioned problems, and an object of the present invention is to provide a data processor capable of adapting to various multimedia applications by providing versatility as a media processor without designing a variety of processors. Is to provide.

【0007】[0007]

【課題を解決するための手段】以上の目的を達成するた
め、本発明のデータ処理装置では、複数のメモリと複数
の演算器とネットワークとを備え、実行しようとする処
理毎に前記メモリと演算器との間の接続を前記ネットワ
ークを用いて切換え可能とすると共に、これ等に流れる
データを効率的に処理する。
In order to achieve the above object, a data processing apparatus according to the present invention comprises a plurality of memories, a plurality of arithmetic units, and a network. The connection between the devices can be switched using the network, and the data flowing through them can be processed efficiently.

【0008】すなわち、請求項1記載の発明のデータ処
理装置は、データが格納された1個又は複数個のデータ
格納部と、複数個の演算部と、前記データ格納部と前記
複数個の演算部との間の結線を切換えるネットワーク
と、前記データ格納部に格納されたデータの読み出し時
に、その読み出すデータが有効なデータであることを意
味する有効データ特定信号を出力する制御部と、前記制
御部からの有効データ特定信号を受け、前記データ格納
部からのデータの読み出し時から前記1個又は複数個の
演算部で演算された結果が得られるまでのサイクル数だ
け、前記受けた有効データ特定信号を遅延して出力する
遅延回路とを備えることを特徴とする。
That is, the data processing apparatus according to the first aspect of the present invention provides one or more data storage units storing data, a plurality of operation units, the data storage unit and the plurality of operation units. A network for switching connections between the control unit and a control unit for outputting a valid data specifying signal indicating that the data to be read is valid data when reading data stored in the data storage unit; Receiving the valid data identification signal from the data storage unit, and specifying the received valid data identification signal by the number of cycles from when the data is read from the data storage unit to when the result calculated by the one or more arithmetic units is obtained. And a delay circuit for delaying and outputting a signal.

【0009】請求項2記載の発明は、前記請求項1記載
のデータ処理装置において、前記遅延回路は、前記複数
個の演算部に対応して各々備えられる遅延部により構成
され、これ等遅延部は、各々、対応する演算部が演算に
要するサイクル数だけ前記有効データ特定信号を遅延し
て出力することを特徴とする。
According to a second aspect of the present invention, in the data processing device according to the first aspect, the delay circuit is constituted by delay units provided corresponding to the plurality of arithmetic units, respectively. Are characterized in that the corresponding operation unit delays and outputs the valid data specifying signal by the number of cycles required for the operation.

【0010】請求項3記載の発明は、前記請求項1又は
請求項2記載のデータ処理装置において、前記制御部
は、データ格納部に格納されたデータ数が与えられるラ
イトポインタと、前記データ格納部からのデータの読み
出し回数が順次与えられるポインタと、前記ライトポイ
ンタの値の前記ポインタの値とを比較し、前記ポインタ
の値が前記ライトポインタの値以下のとき、有効データ
特定信号を出力する判断部とを備えることを特徴とす
る。
According to a third aspect of the present invention, in the data processing device according to the first or second aspect, the control unit includes: a write pointer to which the number of data stored in the data storage unit is given; A pointer to which the number of times of reading data from the unit is sequentially given is compared with the value of the write pointer, and when the value of the pointer is equal to or less than the value of the write pointer, a valid data specifying signal is output. A determination unit.

【0011】請求項4記載の発明は、前記請求項1、請
求項2又は請求項3記載のデータ処理装置において、有
効データ特定信号は、データ格納部の内部に処理可能な
データが存在することを意味する実行可能判断信号であ
ることを特徴とする。
According to a fourth aspect of the present invention, in the data processing apparatus according to the first, second, or third aspect, the valid data specifying signal has data that can be processed inside the data storage unit. Is an executable determination signal that means

【0012】請求項5記載の発明は、前記請求項1又は
請求項2記載のデータ処理装置において、更に、予めデ
ータが格納された主データ格納部と、前記主データ格納
部に格納されたデータを前記複数個のデータ格納部に転
送するデータ転送部とを有し、前記データ転送部は、前
記複数個のデータ格納部からのデータの読み出しを同時
に行うよう指示する同期信号を制御部に出力することを
特徴とする。
According to a fifth aspect of the present invention, in the data processing device according to the first or second aspect, a main data storage unit in which data is stored in advance and a data stored in the main data storage unit are further stored. And a data transfer unit for transferring data to the plurality of data storage units, wherein the data transfer unit outputs to the control unit a synchronization signal instructing to simultaneously read data from the plurality of data storage units. It is characterized by doing.

【0013】請求項6記載の発明は、前記請求項5記載
のデータ処理装置において、制御部は、各データ格納部
に対応して、データ格納部の数に等しい個数設けられる
ことを特徴とする。
According to a sixth aspect of the present invention, in the data processing device of the fifth aspect, the number of control units is provided corresponding to each data storage unit, the number being equal to the number of data storage units. .

【0014】請求項7記載の発明は、前記請求項6記載
のデータ処理装置において、各制御部は、同期信号の入
力後からデータの読み出しを遅延させる設定サイクル数
を記憶する遅延サイクル数レジスタを有し、同期信号の
入力後、前記遅延サイクル数経過した時、データの読み
出しを開始することを特徴とする。
According to a seventh aspect of the present invention, in the data processing apparatus according to the sixth aspect, each control unit includes a delay cycle number register for storing a set cycle number for delaying data reading after the input of the synchronization signal. And reading of data is started when the number of delay cycles has elapsed after the input of the synchronization signal.

【0015】請求項8記載の発明は、前記請求項1又は
請求項2記載のデータ処理装置において、前記ネットワ
ークによる結線の切換えの後での複数個の演算部による
データの演算段数は、前記切換えの前での演算段数と異
なることを特徴とする。
According to an eighth aspect of the present invention, in the data processing apparatus according to the first or second aspect, the number of data processing stages by the plurality of processing units after the connection switching by the network is changed by the switching. Is different from the number of operation stages in front of.

【0016】請求項9記載の発明は、前記請求項1又は
請求項2記載のデータ処理装置において、前記ネットワ
ークは、2個以上のデータ格納部から各々データを同一
の演算部に出力するよう、結線を切換えることを特徴と
する。
According to a ninth aspect of the present invention, in the data processing apparatus according to the first or second aspect, the network outputs data from two or more data storage units to the same operation unit. The connection is switched.

【0017】請求項10記載の発明は、前記請求項1、
請求項2又は請求項7記載のデータ処理装置において、
前記ネットワークは、1個のデータ格納部からデータを
1個の演算部に出力し、その後、この演算部の演算結果
と他のデータ格納部のデータとを他の演算部に出力する
よう、結線を切換えることを特徴とする。
[0017] The invention according to claim 10 is the invention according to claim 1,
The data processing device according to claim 2 or 7,
The network is connected such that data is output from one data storage unit to one operation unit, and then the operation result of this operation unit and data of another data storage unit are output to another operation unit. Is switched.

【0018】請求項11記載の発明は、前記請求項1又
は請求項2記載のデータ処理装置において、更に、予め
データが格納された主データ格納部を有し、前記ネット
ワークによる結線の切換情報は、前記主データ格納部に
格納されることを特徴としている。
According to an eleventh aspect of the present invention, there is provided the data processing device according to the first or second aspect, further comprising a main data storage unit in which data is stored in advance, and the connection switching information by the network is , Stored in the main data storage unit.

【0019】請求項12記載の発明は、前記請求項1又
は請求項2記載のデータ処理装置において、前記ネット
ワークは、データ格納部及び制御部から各々データ及び
有効データ特定信号が出力される出力バススイッチと、
前記受けたデータ及び有効データ特定信号を演算部に入
力する入力バススイッチとを有することを特徴としてい
る。
According to a twelfth aspect of the present invention, in the data processing apparatus according to the first or second aspect, the network includes an output bus through which data and valid data identification signals are output from a data storage unit and a control unit, respectively. Switches and
An input bus switch for inputting the received data and the valid data specifying signal to an arithmetic unit.

【0020】請求項13記載の発明は、前記請求項12
記載のデータ処理装置において、前記ネットワークは、
複数本のバスと、前記各バス毎に配置されたバススイッ
チとを有し、前記バススイッチは、導通してデータの伝
送を許容し、非導通してデータの伝送を禁止することを
特徴とする。
The invention according to claim 13 is the invention according to claim 12.
The data processing device according to claim 1, wherein the network is:
A plurality of buses, and a bus switch arranged for each of the buses, wherein the bus switch is conductive to allow data transmission, and is nonconductive to prohibit data transmission. I do.

【0021】請求項14記載の発明は、前記請求項1又
は請求項2記載のデータ処理装置において、複数個の演
算部は、相互に異なる演算を行うことを特徴とする。
According to a fourteenth aspect of the present invention, in the data processing device according to the first or second aspect, the plurality of arithmetic units perform mutually different arithmetic operations.

【0022】請求項15記載の発明は、前記請求項1又
は請求項2記載のデータ処理装置において、最後の演算
を行う演算部から有効データ特定信号をネットワークを
経て受けて、書込み命令を出力する他の制御部と、前記
最後の演算を行う演算部から最終的に得られた演算結果
を受けると共に、前記他の制御部から書込み命令を受け
て、前記最終的に得られた演算結果を格納する他のデー
タ格納部とを備えたことを特徴とする。
According to a fifteenth aspect of the present invention, in the data processing device of the first or second aspect, a valid data specifying signal is received via a network from an operation unit that performs the last operation, and a write instruction is output. The other control unit receives the operation result finally obtained from the operation unit performing the last operation, and receives the write instruction from the other control unit and stores the operation result finally obtained. And another data storage unit.

【0023】以上の構成により、請求項1ないし請求項
15記載の発明では、データ格納部からのデータの読み
出し時には、このデータに有効データ特定信号が付与さ
れ、このデータが演算部で演算され、その演算結果デー
タが記憶部に格納される際には、同時に前記有効データ
特定信号がこの記憶部に入力されるので、演算段数が異
なっても、この演算結果データを有効なデータとして認
識できると共に、記憶部に格納することが可能である。
With the above arrangement, according to the first to fifteenth aspects of the present invention, at the time of reading data from the data storage unit, a valid data specifying signal is added to the data, and the data is calculated by the calculation unit. When the operation result data is stored in the storage unit, the valid data specifying signal is input to the storage unit at the same time. Therefore, even if the number of operation stages is different, the operation result data can be recognized as valid data. , Can be stored in the storage unit.

【0024】[0024]

【発明の実施の形態】以下、本発明の実施の形態を図面
に基いて説明する。
Embodiments of the present invention will be described below with reference to the drawings.

【0025】(第1の実施の形態)図1は、本発明にお
ける基本的な原理のデータ処理装置を説明する図であ
る。図2及び図3は、本発明における基本的な動作フロ
ーを説明する図である。図4は、本発明の原理における
各部でのデータを説明する図である。
(First Embodiment) FIG. 1 is a diagram for explaining a data processing apparatus according to the basic principle of the present invention. 2 and 3 are diagrams for explaining a basic operation flow in the present invention. FIG. 4 is a diagram for explaining data in each unit according to the principle of the present invention.

【0026】図1の原理図の説明においては、次のよう
なプログラムを実施する場合を説明例として取り上げ
る。この例では、配列aとbの各要素を乗算し、その後
に配列cの要素を加算し、この結果を配列dの要素に格
納するものである。
In the description of the principle diagram of FIG. 1, a case where the following program is executed will be taken as an example of explanation. In this example, the elements of the arrays a and b are multiplied, then the elements of the array c are added, and the result is stored in the elements of the array d.

【0027】 図1において、10はデータを蓄えているプロセッサ外部
にある第1のメモリ(主データ格納部)である。16は、
データを処理するデータ処理装置を示し、14は、各部分
にクロックを供給するクロック生成部である。このクロ
ック生成部14は、データ処理装置16内部の各部に対し
て、クロック線15によりクロックを供給し、クロック供
給された各部は、このクロックに同期して、サイクル毎
に一定の処理を行なう。
[0027] In FIG. 1, reference numeral 10 denotes a first memory (main data storage) outside the processor that stores data. 16 is
1 shows a data processing device for processing data, and 14 is a clock generator for supplying a clock to each part. The clock generating unit 14 supplies a clock to each unit in the data processing device 16 through a clock line 15, and each unit supplied with the clock performs a constant process in each cycle in synchronization with the clock.

【0028】20は、データ処理装置16の外部にある第1
のメモリ10からデータを受け取り、これを処理すると共
に、受けたデータを第2のメモリ100 (後述)に転送す
る第1の演算部(データ転送部)、12は、第1のメモリ
10と第1の演算部20とのデータのやり取りを行なうデー
タ線である。本説明では、このデータ線12に3つのデー
タを送ることが可能であることを前提とする。
Reference numeral 20 denotes a first external device outside the data processing device 16.
A first operation unit (data transfer unit), which receives data from the memory 10 and processes the data, and transfers the received data to a second memory 100 (described later), 12
This is a data line for exchanging data between 10 and the first arithmetic unit 20. In this description, it is assumed that three data can be sent to the data line 12.

【0029】2は、前記第1の演算部20及びデータ処理
装置16の実行動作を指示する実行プログラム4と、今後
の処理を行なう入力データ6とを前記第1のメモリ10
へ格納するプログラムローダである。
The second memory 10 stores an execution program 4 for instructing an execution operation of the first arithmetic unit 20 and the data processing device 16 and input data 6 for performing future processing in the first memory 10.
Is a program loader that stores data in

【0030】100 は第2のメモリ(データ格納部)、22
は、第1の演算部20から第2のメモリ100 へデータを送
るデータ線である。
100 is a second memory (data storage unit), 22
Is a data line for sending data from the first arithmetic unit 20 to the second memory 100.

【0031】50は、前記第2のメモリ100 からのデータ
の読み出しアドレスを示すポインタ60と、第1の演算部
20から第2のメモリ100 へ送られて格納されたワード数
を示すライトポインタ62と、このポインタ60とライトポ
インタ62とを参照比較し、前記第2のメモリ100 からデ
ータ読み出し可能かどうかを判断する実行可能判断部
(判断部)70とからなる第1の制御部(制御部)であ
る。
Numeral 50 denotes a pointer 60 indicating a read address of data from the second memory 100, and a first arithmetic unit
The write pointer 62 indicating the number of words sent from 20 to the second memory 100 and stored therein is compared with the pointer 60 and the write pointer 62 to determine whether data can be read from the second memory 100. And a first control unit (control unit) including an executable determination unit (determination unit) 70 that performs the determination.

【0032】前記実行可能判断部70での判断フローを図
3(a)に示す。ポインタ60及びライトポインタ62を参
照し、第2のメモリ100 内にデータの存在を確認するこ
とで、実行可能判断信号72(有効データ特定信号)を生
成する。
FIG. 3A shows a judgment flow in the executable judgment section 70. By referring to the pointer 60 and the write pointer 62 and confirming the existence of data in the second memory 100, an executable determination signal 72 (valid data specifying signal) is generated.

【0033】64は、第1の演算部20から第1の制御部50
のポインタ60を設定するポインタ設定線、66は、第1の
演算部20から第1の制御部50のライトポインタ62を設定
するライトポインタ設定線である。68は、第2の制御部
50のポインタ60を第2のメモリ100 へ読み出し、アドレ
スとして示すアドレス線である。32は、第2のメモリ10
0 から読み出したデータを第2の演算部30へ伝えるデー
タ線、72は、第2のメモリ100 及び第2の演算部30へ実
行可能かどうかを伝える実行可能判断信号である。
Reference numeral 64 denotes the first operation unit 20 to the first control unit 50
The pointer setting line 66 for setting the pointer 60 is a light pointer setting line for setting the write pointer 62 of the first control unit 50 from the first arithmetic unit 20. 68 is a second control unit
This is an address line which reads out the pointer 60 of 50 into the second memory 100 and indicates it as an address. 32 is the second memory 10
A data line 72 for transmitting the data read from 0 to the second arithmetic unit 30 is an executable determination signal for notifying the second memory 100 and the second arithmetic unit 30 whether the data can be executed.

【0034】本説明では、データ線32は各サイクル毎に
配列a,b,cの要素の3種類を転送することになり、
このデータ線に実行するデータがある場合に、実行可能
判断信号72が例えば“1”の状態になり、実行する意味
のあるデータがあるか否かを示す。よって、このデータ
線32及び実行可能判断信号72は各サイクル毎にペアとな
って、各部間に転送されることになる。
In the present description, the data line 32 transfers three types of elements of the arrays a, b, and c for each cycle.
If there is data to be executed on this data line, the executable judgment signal 72 becomes, for example, "1", indicating whether there is data meaningful to be executed. Therefore, the data line 32 and the executable determination signal 72 are paired for each cycle and transferred between the units.

【0035】30は第2の演算部(演算部)であって、こ
の第2の演算部30は、データ線32のデータを受け取り、
クロックに同期してデータを格納するデータラッチ40
と、実行可能判断信号72を格納する実行可能判断信号ラ
ッチ(遅延部)140と、データラッチ40の複数のデータ
を入力し、その何れかを選択して、これ等について乗算
する乗算部(処理部)38と、この乗算部38での結果とデ
ータラッチ40からのデータとを受け取り、これ等の何れ
か複数を第3の演算部130 に送り出す出力セレクタ42か
ら構成される。
Reference numeral 30 denotes a second operation unit (operation unit). The second operation unit 30 receives data on the data line 32,
Data latch 40 for storing data in synchronization with clock
And an executable determination signal latch (delay unit) 140 for storing the executable determination signal 72 and a plurality of data of the data latch 40, selecting one of them and multiplying them by a multiplication unit (processing ) 38, and an output selector 42 which receives the result of the multiplication unit 38 and the data from the data latch 40, and sends one of them to the third operation unit 130.

【0036】34は、第2の演算部30からデータを出力す
るデータ線、144 は第2の演算部30で実行可能か否かが
判断された実行可能判断信号である。
Numeral 34 denotes a data line for outputting data from the second arithmetic unit 30, and reference numeral 144 denotes an executable determination signal for determining whether the second arithmetic unit 30 can execute the data.

【0037】130 は第3の演算部(演算部)であって、
この第3の演算部130 は、第2の演算部30からのデータ
線34のデータを受け取り、クロックに同期してデータを
格納するデータラッチ146 と、実行可能判断信号144 を
格納する実行可能判断信号ラッチ(遅延部)142 と、デ
ータラッチ146 の複数のデータを入力し、選択して、こ
れ等について加算する加算部(処理部)136 と、この加
算部136 での結果とデータラッチ146 からのデータとを
受け取り、これ等の何れか複数を第3のメモリ102 に送
り出す出力セレクタ148 から構成される。
Reference numeral 130 denotes a third arithmetic unit (arithmetic unit),
The third arithmetic unit 130 receives the data on the data line 34 from the second arithmetic unit 30 and stores the data in synchronization with the clock. The data latch 146 and the executable determination signal 144 stores the executable determination signal 144. An adder (processing unit) 136 for inputting and selecting a plurality of data of the signal latch (delay unit) 142 and the data latch 146 and adding the selected data, and a result of the adder 136 and the data latch 146 And an output selector 148 for receiving any of these data and sending out any of them to the third memory 102.

【0038】前記2個の実行可能判断信号ラッチ(遅延
部)140,142により、遅延回路141を構成する。
A delay circuit 141 is constituted by the two executable determination signal latches (delay units) 140 and 142.

【0039】36は、第3の演算部130 の出力セレクタ14
8 からのデータを出力するデータ線、150 は、第3の演
算部130 で実行可能か否かが判断された実行可能判断信
号である。
Reference numeral 36 denotes an output selector 14 of the third arithmetic unit 130.
The data line 150 for outputting the data from 8 is an executable determination signal for which the third arithmetic unit 130 has determined whether or not it is executable.

【0040】102 は第3のメモリ(他のデータ格納
部)、24は、第3のメモリ102 から第1の演算部20へデ
ータを送るデータ線である。
Reference numeral 102 denotes a third memory (another data storage unit), and reference numeral 24 denotes a data line for transmitting data from the third memory 102 to the first arithmetic unit 20.

【0041】120 は第2の制御部(他の制御部)であっ
て、ポインタ160と、前記第3のメモリ102 へデータを
書き込む際にその書き込むアドレスを示すライトポイン
タ162 と、前記第3の実行可能判断信号150 を受け取
り、第3のメモリ102 へデータが書き込み可能か否かを
判断し、書き込み可能と判断した時に書き込み命令を第
3のメモリ102 に出力する実行可能判断部170 から構成
される。
Reference numeral 120 denotes a second control unit (other control unit), which includes a pointer 160, a write pointer 162 indicating an address to write the data in the third memory 102, and a third control unit. An executable determination unit 170 receives the executable determination signal 150, determines whether data can be written to the third memory 102, and outputs a write command to the third memory 102 when it determines that data can be written. You.

【0042】166 は、第3のメモリ102 へ書き込み可能
か否かを伝える実行可能判断部 170 の実行可能判断信
号である。65は、第1の演算部20から第2の制御部120
のポインタ160 を設定及び参照するポインタ設定線、67
は、第1の演算部20から第2の制御部120 のライトポイ
ンタ162 を設定及び参照するライトポインタ設定線であ
る。168 は、第2の制御部120 のライトポインタ162 の
出力を第3のメモリ102 へ書き込みアドレスとして示す
アドレス線である。
Reference numeral 166 denotes an executable judgment signal of the executable judgment unit 170 for notifying whether or not writing to the third memory 102 is possible. 65 is a signal from the first arithmetic unit 20 to the second control unit 120
Pointer setting line for setting and referring to the pointer 160 of
Is a write pointer setting line for setting and referring to the write pointer 162 of the first arithmetic unit 20 to the second control unit 120. An address line 168 indicates the output of the write pointer 162 of the second control unit 120 as a write address to the third memory 102.

【0043】以下、図1、図2、図3及び図4により動
作を説明する。
The operation will be described below with reference to FIGS. 1, 2, 3 and 4.

【0044】( サイクル #0 以前)本発明におけるデー
タ処理装置のための実行プログラム4及び入力データ6
は、コンパイラ又はアセンブラによって生成され、プロ
グラムローダ2により事前に第1のメモリ10へ格納する
[S000]。
(Before cycle # 0) Execution program 4 and input data 6 for the data processing device in the present invention
Is generated by a compiler or assembler and stored in the first memory 10 in advance by the program loader 2.
[S000].

【0045】つまり、入力データ配列a,b,cのデー
タは、入力データ6として、第1のメモリ10の中に格納
され、更に、実行プログラム4には、本発明にかかる原
理動作についてのフローが格納されている。
That is, the data of the input data arrays a, b, and c are stored in the first memory 10 as the input data 6, and the execution program 4 includes the flow of the principle operation according to the present invention. Is stored.

【0046】ここで、プログラムローダ2としては、外
部プロセッサ等が考えられるが、本発明に関して主要な
点でないので、説明を省略する。
Here, the program loader 2 may be an external processor or the like. However, since it is not a main point in the present invention, the description is omitted.

【0047】第1の演算部20は、第1のメモリ10の実行
プログラム4を受け取り、第1の制御部50のポインタ60
及びライトポインタ62を各々“0”に初期化する。
The first operation unit 20 receives the execution program 4 in the first memory 10 and receives the pointer 60 of the first control unit 50.
And the write pointer 62 are initialized to “0”.

【0048】第1の演算部20は、第1のメモリ10の実行
プログラム4を受け取り、第2の制御部120 のポインタ
160 及びライトポインタ162 を各々“0”に初期化する
[S001]。
The first arithmetic unit 20 receives the execution program 4 in the first memory 10 and stores the pointer in the second control unit 120
160 and the write pointer 162 are each initialized to "0".
[S001].

【0049】また、第1の制御部50の実行可能判断部70
では、各サイクル毎にポインタ60とライトポインタ62と
を参照比較し、第2のメモリ100 に実行できるデータが
存在しないことを判断している。この動作は、各サイク
ル毎に第1の演算部20とは独立して行なわれている[T00
0]。
Further, the executable determination section 70 of the first control section 50
Then, the pointer 60 and the write pointer 62 are referenced and compared in each cycle, and it is determined that there is no executable data in the second memory 100. This operation is performed independently of the first arithmetic unit 20 for each cycle [T00
0].

【0050】更に、第2の制御部120 の実行可能判断部
170 では、各サイクル毎に第3の演算部130 からの実行
可能判断信号150 を受け取り、書き込みのデータが存在
しないことを判断している。この動作も、各サイクル毎
に第1の演算部20とは独立して行なわれている[U000]。
Further, the executable determination unit of the second control unit 120
In step 170, the executable determination signal 150 from the third arithmetic unit 130 is received in each cycle, and it is determined that there is no write data. This operation is also performed independently of the first arithmetic unit 20 for each cycle [U000].

【0051】第1の演算部20が、第1のメモリ10の実行
プログラム4を受け取り、第1のメモリ10から配列a,
b,cの100 ワードのデータを受け、これ等を順次第2
のメモリ100 に書き込む。
The first arithmetic unit 20 receives the execution program 4 in the first memory 10 and reads the array a,
Receives 100 words of data (b, c)
To the memory 100 of.

【0052】( サイクル #0)第1の演算部20が、第1の
メモリ10の実行プログラム4を受け取り、“100 ”とい
う数を第1の制御部50のライトポインタ62に、更にポイ
ンタ60に“0”を書き込む。[S002] ( サイクル #1)第1の制御部50の実行可能判断部70で
は、ライトポインタ62とポインタ60とを比較し、ポイン
タが“0”であり、ライトポインタ62が“100 ”に設定
されたため、読み出し可能であることを判断する[T00
0]。
(Cycle # 0) The first arithmetic unit 20 receives the execution program 4 in the first memory 10, and stores the number “100” in the write pointer 62 of the first control unit 50 and further in the pointer 60. Write “0”. [S002] (Cycle # 1) The executable determination unit 70 of the first control unit 50 compares the write pointer 62 with the pointer 60, the pointer is “0”, and the write pointer 62 is set to “100”. Has been read, it is determined that it is readable [T00
0].

【0053】従って、実行可能判断部70では、実行可能
判断信号72を第2のメモリ100 と第2の演算部30へ送り
出し、第2のメモリ100 では、この信号を元にデータ配
列a,b,cの最初のデータa[0],b[0],c[0]を送り出
す。また、ポインタ60は、配列の1つ分だけインクリメ
ントされる[T001]。
Accordingly, the executable determination section 70 sends an executable determination signal 72 to the second memory 100 and the second arithmetic section 30, and the second memory 100 outputs the data arrays a and b based on this signal. , C, the first data a [0], b [0], c [0] are sent out. The pointer 60 is incremented by one for the array [T001].

【0054】このサイクル#1での第1の制御部50及び第
2のメモリ100 の動作は、以降、各サイクルでポインタ
60がライトポインタ62の値と同じ“100 ”になるまで
は、継続的に実行される。
The operations of the first control unit 50 and the second memory 100 in this cycle # 1 will be described below.
Until 60 becomes the same "100" as the value of the write pointer 62, it is continuously executed.

【0055】( サイクル #2)第1の制御部50及び第2の
メモリ100 では、サイクル#1と同様の動作がなされ、
a,b,cの配列の次のデータが読み出され、ポインタ
60は更にアドレス1つ分だけインクリメントされる[T00
0][T001]。
(Cycle # 2) In the first control unit 50 and the second memory 100, the same operation as in the cycle # 1 is performed.
The next data in the array of a, b, and c is read, and the pointer
60 is further incremented by one address [T00
0] [T001].

【0056】第2の演算部30のデータラッチ40は、第2
のメモリ100 からa[0],b[0],c[0]の3データを受け取
り、これを乗算部38に送る。乗算部38は、その中のa[0]
及びb[0]を受け取り、乗算操作である(a[0]xb[0]) を行
なう。更に、実行可能判断信号ラッチ140 は、第1の制
御部50からの実行可能判断信号72を受け取り、第3の演
算部130 へ送り出す。また、出力セレクタ42は、乗算部
38からの処理結果データ(a[0]xb[0]) とデータラッチ40
からのデータc[0]を第3の演算部130 へ送り出す。この
サイクルでの第2の演算部30の動作も、以降は、各サイ
クル毎に同様に実行される。
The data latch 40 of the second operation unit 30
The three data a [0], b [0], and c [0] are received from the memory 100 of FIG. The multiplying unit 38 calculates a [0]
And b [0], and performs a multiplication operation (a [0] xb [0]). Further, the executable determination signal latch 140 receives the executable determination signal 72 from the first control unit 50 and sends it to the third arithmetic unit 130. Also, the output selector 42
Processing result data (a [0] xb [0]) from 38 and data latch 40
Is sent to the third calculation unit 130. The operation of the second arithmetic unit 30 in this cycle is similarly executed thereafter in each cycle.

【0057】( サイクル #3)第1の制御部50及び第2の
メモリ100 では、サイクル#2と同様の動作がなされ、
a,b,cの配列の次のデータが読み出され、ポインタ
60は更にアドレス1つ分だけインクリメントされる[T00
0][T001]。
(Cycle # 3) In the first controller 50 and the second memory 100, the same operation as in the cycle # 2 is performed.
The next data in the array of a, b, and c is read, and the pointer
60 is further incremented by one address [T00
0] [T001].

【0058】第2の演算部30では、サイクル#2と同様の
処理がなされ、配列の次の要素a[1]xb[1] が計算され
る。
In the second arithmetic unit 30, the same processing as in cycle # 2 is performed, and the next element a [1] xb [1] of the array is calculated.

【0059】第3の演算部130 のデータラッチ146 は、
第2の演算部30からの処理結果データ(a[0]xb[0]) とデ
ータc[0]との2データを受け取り、これを加算部136 に
送る。加算部136 は、これ等のデータ(a[0]xb[0]) 及び
c[0]を受け取り、加算操作である(a[0]xb[0])+c[0]を行
なう。更に、実行可能判断信号ラッチ142 は、第2演算
部30からの実行可能判断信号144 を受け取り、第2の制
御部120 へ送り出す。また、出力セレクタ148 は、加算
部136 からの処理結果データ(a[0]xb[0])+c[0]を第3の
メモリ102 へ送り出す。このサイクルでの第3の演算部
130 の動作も、以降、各サイクル毎に同様に実行され
る。
The data latch 146 of the third arithmetic unit 130
It receives two data of processing result data (a [0] xb [0]) and data c [0] from the second arithmetic unit 30 and sends them to the adding unit 136. The adder 136 calculates these data (a [0] xb [0]) and
Receiving c [0], an addition operation (a [0] xb [0]) + c [0] is performed. Further, the executable determination signal latch 142 receives the executable determination signal 144 from the second arithmetic unit 30 and sends it to the second control unit 120. The output selector 148 sends the processing result data (a [0] xb [0]) + c [0] from the adder 136 to the third memory 102. Third arithmetic unit in this cycle
The operation of 130 is similarly executed in each cycle thereafter.

【0060】( サイクル #4)第1の制御部50及び第2の
メモリ100 では、サイクル#3と同様の動作がなされ、
a,b,cの配列の次のデータが読み出され、ポインタ
60は更にアドレス1つ分だけインクリメントされる[T00
0][T001]。
(Cycle # 4) In the first control unit 50 and the second memory 100, the same operation as in cycle # 3 is performed.
The next data in the array of a, b, and c is read, and the pointer
60 is further incremented by one address [T00
0] [T001].

【0061】第2の演算部30では、サイクル#3と同様の
処理がなされ、配列の次の要素a[2]xb[2] が計算され
る。
In the second arithmetic unit 30, the same processing as in cycle # 3 is performed, and the next element a [2] xb [2] of the array is calculated.

【0062】第3の演算部130 では、サイクル#3と同様
の処理がなされ、配列の次の要素a[1]xb[1]+c[1]が計算
される。
The third operation unit 130 performs the same processing as in cycle # 3, and calculates the next element a [1] xb [1] + c [1] of the array.

【0063】第2の制御部120 の実行可能判断部170
は、第3の演算部130 の実行可能判断信号150 を受け、
書き込みが可能なことを判断する[U000]。
Executable determination section 170 of second control section 120
Receives the executable determination signal 150 of the third arithmetic unit 130,
Judge that writing is possible [U000].

【0064】更に、第3のメモリ102 は、第2の制御部
120 の実行可能判断部170 からの実行可能判断信号166
を受け、第3の演算部130 からの結果データをライトポ
インタ162 が示すアドレスに結果データd[0]として書き
込む。同時に、第2の制御部120 のライトポインタ162
の値は、その後+1だけ増加する[U001]。
Further, the third memory 102 has a second controller
Executable judgment signal 166 from 120 executable judgment section 170
In response, the result data from the third arithmetic unit 130 is written as the result data d [0] at the address indicated by the write pointer 162. At the same time, the write pointer 162 of the second control unit 120
Then increase by +1 [U001].

【0065】つまり、第2の演算部30が受け取るデータ
は、一つ前のサイクルで第2のメモリ100 が送り出した
データ32と、一つ前のサイクルで第1の制御部50が送り
出したデータ実行可能判断信号72である。また、第3の
演算部130 が受け取るデータ及びデータ実行可能判断信
号は、一つ前のサイクルで第2の演算部30が送り出した
データ34と、データ実行可能判断信号144 であり(つま
り、2つ前のサイクルで第2のメモリ100 が送り出した
データと、第1の制御部50が送り出したデータ実行可能
信号)である。更に、第3のメモリ102 と第2の制御部
120 が受け取るデータ及び実行可能判断信号は、第3の
演算部130 が送り出したデータ及び実行可能判断信号で
ある。
That is, the data received by the second arithmetic unit 30 includes the data 32 sent out by the second memory 100 in the previous cycle and the data sent out by the first control unit 50 in the previous cycle. This is the executable determination signal 72. The data and the data executable determination signal received by the third arithmetic unit 130 are the data 34 sent out by the second arithmetic unit 30 in the immediately preceding cycle and the data executable determination signal 144 (that is, 2). The data sent by the second memory 100 in the previous cycle and the data executable signal sent by the first control unit 50). Further, a third memory 102 and a second control unit
The data and the executable determination signal received by 120 are the data and the executable determination signal sent by the third arithmetic unit 130.

【0066】( サイクル #5)第1の制御部50及び第2の
メモリ100 では、サイクル#3と同様の動作がなされ、
a,b,cの配列の次のデータが読み出され、ポインタ
60は更にアドレス1つ分だけインクリメントされる[T00
0][T001]。
(Cycle # 5) In the first control unit 50 and the second memory 100, the same operation as in cycle # 3 is performed.
The next data in the array of a, b, and c is read, and the pointer
60 is further incremented by one address [T00
0] [T001].

【0067】第2の演算部30では、サイクル#4と同様の
処理がなされ、配列の次の要素a[3]xb[3] が計算され
る。第3の演算部130 では、サイクル#4と同様の処理が
なされ、配列の次の要素a[2]xb[2]+c[2]が計算される。
In the second arithmetic unit 30, the same processing as in cycle # 4 is performed, and the next element a [3] xb [3] in the array is calculated. In the third operation unit 130, the same processing as in the cycle # 4 is performed, and the next element a [2] xb [2] + c [2] of the array is calculated.

【0068】第2の制御部120 及び第3のメモリ102 で
は、サイクル#4と同様の処理がなされ、配列の次の要素
d[1]が格納され、ライトポインタ162 は1つ分だけイン
クリメントされる。
In the second control unit 120 and the third memory 102, the same processing as in cycle # 4 is performed, and the next element in the array is
d [1] is stored, and the write pointer 162 is incremented by one.

【0069】これ以降の各サイクルでは、同様の処理が
なされ、第1の制御部50及び第2のメモリ100 では、ポ
インタ60とライトポインタ62が同じ数である“100 ”に
なるまで繰り返される。また、第2の制御部120 では、
第1の制御部50で生成される実行可能判断信号72をサイ
クル#4からサイクル103 までカウントし、“100 ”サイ
クル分だけ結果データd[0]-d[99]を格納して、プログラ
ムの処理を終了することになる。
In each of the subsequent cycles, the same processing is performed, and the first controller 50 and the second memory 100 repeat the processing until the pointer 60 and the write pointer 62 have the same number, "100". In the second control unit 120,
The executable determination signal 72 generated by the first control unit 50 is counted from cycle # 4 to cycle 103, and the result data d [0] to d [99] are stored for "100" cycles, and the program The process will end.

【0070】また、第1の演算部20は、実行プログラム
で定められたタイミングで、定期的に第2の制御部120
におけるライトポインタ162 を参照し、その数値が“10
0 ”になっているかどうかを判断することにより、この
プログラムが終了したかどうかを判断する[S003],[S00
4] 。
The first arithmetic unit 20 periodically executes the second control unit 120 at the timing determined by the execution program.
The light pointer 162 in FIG.
It is determined whether or not this program has been terminated by determining whether or not it is "0" [S003], [S00
Four] .

【0071】つまり、第2のメモリ100 へ格納したデー
タに対して、これ等データを各サイクルで送り出す毎
に、この各データに対応して、処理の実行が可能かどう
かを示す実行可能判断信号を第1の制御部50の実行可能
判断部70から出力して付加し、データと実行可能判断信
号とをペアとして、第2及び第3の演算部30、130 に送
出し、更に、これ等各演算部では、処理後のデータと、
更に入力された実行可能判断信号とをペアとして出力す
る。また、複数段の演算部を通過した後、その演算処理
後のデータをメモリに書き込む際に、データとペアにな
って送られてくる実行可能判断信号を参照し、有効なデ
ータが存在するか否かをそのメモリ側で判断することに
より、演算部の段数がどのような複数段になっていて
も、処理結果のデータを間違いなく書き込むことが可能
になる。
In other words, each time such data is sent out in each cycle with respect to the data stored in the second memory 100, an executable determination signal indicating whether or not the processing can be executed corresponding to each data. Is output from the executable determination unit 70 of the first control unit 50 and added, and the data and the executable determination signal are sent as a pair to the second and third arithmetic units 30 and 130. In each operation unit, the processed data and
Further, it outputs the input feasibility determination signal as a pair. Also, when writing the data after the arithmetic processing to the memory after passing through a plurality of stages of arithmetic units, refer to the executable determination signal transmitted in pairs with the data and check whether valid data exists. By determining whether or not the processing is performed on the memory side, it is possible to write the data of the processing result without fail irrespective of the number of stages of the operation unit.

【0072】以上の原理を利用し、この原理を、複数の
メモリとこれに対応する複数の制御部と、複数の段数を
持つ複数の演算部とを持ち、これ等を複数のパスを持つ
ネットワークで結び、このネットワークの連結状況を、
第1の演算部からのネットワーク構成線により再構成す
る場合に拡張する。
Using the above principle, this principle can be applied to a network having a plurality of memories, a plurality of control units corresponding thereto, and a plurality of arithmetic units having a plurality of stages, and having a plurality of paths. And the connection status of this network,
This is extended to the case where the reconfiguration is performed using the network configuration line from the first arithmetic unit.

【0073】図5は、本発明における第1の実施の形態
のデータ処理装置を説明する図である。本発明の第1の
実施の形態において、原理と異なる点を以下に述べる。
FIG. 5 is a diagram for explaining a data processing device according to the first embodiment of the present invention. In the first embodiment of the present invention, differences from the principle will be described below.

【0074】270 は第1の制御部50からの実行可能判断
信号、324 は第2のメモリ100 からのデータ線である。
260 は第4のメモリ(データ格納部)、250 は、第4の
メモリ260 を制御する第3の制御部(制御部)である。
これ等は、機能的には、第2のメモリ100 と第1の制御
部100 と各々同様である。
Reference numeral 270 denotes an executable judgment signal from the first control unit 50, and 324 denotes a data line from the second memory 100.
Reference numeral 260 denotes a fourth memory (data storage unit), and reference numeral 250 denotes a third control unit (control unit) that controls the fourth memory 260.
These are functionally the same as the second memory 100 and the first control unit 100, respectively.

【0075】240 は、実行可能判断信号(バス)172,17
4,176,178 と、データ線(バス)171,173,175,177 との
ペアを4つ持つネットワークである。
Reference numeral 240 denotes an executable determination signal (bus) 172, 17
This network has four pairs of 4,176,178 and data lines (buses) 171,173,175,177.

【0076】182,184,190,194,196 は、ネットワーク24
0 に対して実行可能判断信号とデータを出力するための
出力バススイッチである。この出力バススイッチは、ネ
ットワーク240 の何れかに対して、プログラマブルに実
行可能判断信号及びデータを出力することが可能であ
り、この選択方法は、実行プログラム4中にプログラム
されている。
182, 184, 190, 194, 196 are the network 24
An output bus switch for outputting an executable determination signal and data to 0. The output bus switch is capable of outputting an executable determination signal and data to any of the networks 240 in a programmable manner, and the selection method is programmed in the execution program 4.

【0077】180,186,188,192 は、ネットワーク240 内
の何れかから、実行可能判断信号とデータを各演算部に
プログラマブルに入力するための入力バススイッチであ
り、この選択方法は、出力バススイッチと同様に、実行
プログラム4中にプログラムされている。
Reference numerals 180, 186, 188, and 192 designate input bus switches for programmably inputting an executable determination signal and data from any of the networks 240 to each operation unit. This selection method is the same as that of the output bus switch. It is programmed during program 4.

【0078】400 は、前記入力バススイッチ及び出力バ
ススイッチを制御するデータ処理装置構成線である。
Reference numeral 400 denotes a data processing device configuration line for controlling the input bus switch and the output bus switch.

【0079】以上が、本発明の第1の実施の形態におい
て原理と異なる点である。
The above is the point different from the principle in the first embodiment of the present invention.

【0080】図6及び図7は、本実施の形態において、
ネットワーク構成線により構成されたネットワークにお
けるデータの流れを説明する図である。
FIGS. 6 and 7 show the present embodiment.
FIG. 3 is a diagram illustrating a flow of data in a network configured by network configuration lines.

【0081】図5に示したデータ処理装置において、[
プログラム1]を実行するためには、図6に示すように、
第1の制御部50の実行可能判断信号270 と第2のメモリ
100 のデータ線324 とのペアを、ネットワーク240 の実
行可能判断信号172 とデータ線171 とに出力するよう
に、出力バススイッチ182 を切替える。また、第2の演
算部30への入力バススイッチ180 を実行可能判断信号17
2 とデータ線171 から行なうように切替える。更に、第
3の演算部130 からの実行可能判断信号276 とデータ線
322 とをネットワーク240 の実行可能判断信号174 とデ
ータ線173 に出力するように出力バススイッチ184 を切
替える。加えて、第2の制御部120 及び第3のメモリ10
2 への実行可能信号276 とデータ線330 とをネットワー
ク240 の実行可能判断信号174 とデータ線173 とから入
力するように入力バススイッチ188 を切替えることによ
り、同様の動作が行なえる。尚、タイミングについて
は、前記原理の説明と同様であるので、その説明は省略
する。
In the data processing device shown in FIG.
To execute Program 1], as shown in FIG.
Executability determination signal 270 of first control unit 50 and second memory
The output bus switch 182 is switched so as to output the pair with 100 data lines 324 to the executable signal 172 and the data line 171 of the network 240. In addition, the input bus switch 180 to the second arithmetic unit 30 can be executed by the execution determination signal 17.
2 and data line 171. Further, the executable determination signal 276 from the third arithmetic unit 130 and the data line
The output bus switch 184 is switched so as to output 322 to the executable signal 174 and the data line 173 of the network 240. In addition, the second control unit 120 and the third memory 10
The same operation can be performed by switching the input bus switch 188 so that the executable signal 276 and the data line 330 are input from the executable determination signal 174 and the data line 173 of the network 240. Note that the timing is the same as the description of the above-described principle, and the description thereof will be omitted.

【0082】ここで、更に、第4の演算部200 を第2の
演算部30と同様の乗算機能を持つ演算部として考え、第
5の演算部210 を第3の演算部130 と同様の加算機能を
持つ演算部として考える。
Here, the fourth operation unit 200 is further considered as an operation unit having a multiplication function similar to that of the second operation unit 30, and the fifth operation unit 210 is assumed to have the same addition function as the third operation unit 130. Think of it as an arithmetic unit with functions.

【0083】この場合に、次のプログラムを考える。In this case, consider the following program.

【0084】 この[ プログラム2]が、前記[ プログラム1]と異なる点
は、乗算と加算の回数が各々2回であることである。つ
まり、データ処理装置16において、ネットワーク240 か
ら入力されたデータが第2の演算部30と第3の演算部13
0 とで乗算/ 加算され、その後に、ネットワーク240 を
介して他の演算部( 第4の演算部200 と第5の演算部21
0)に再び入力され、更に乗算/ 加算される点である。
[0084] The difference between [Program 2] and [Program 1] is that the number of multiplications and additions is two each. That is, in the data processing device 16, the data input from the network 240 is transferred to the second arithmetic unit 30 and the third arithmetic unit 13.
0, and then multiplied by another arithmetic unit (the fourth arithmetic unit 200 and the fifth arithmetic unit 21) via the network 240.
0) is input again and further multiplied / added.

【0085】ネットワーク240 の切替え方を以下のよう
に設定すれば、上記のプログラムを実現することが可能
になる。以下の内容は、プログラムのコンパイル時にコ
ンパイラ等によって生成される内容であり、例えば、実
行プログラム4上に設定データとして格納されている。
The above program can be realized by setting the switching method of the network 240 as follows. The following contents are contents generated by a compiler or the like at the time of compiling the program, and are stored as setting data on the execution program 4, for example.

【0086】図7に示すように、第1の制御部50の実行
可能判断信号270 と第2のメモリ100 のデータ線324 と
のペアを、ネットワーク240 の実行可能判断信号172 と
データ線171 とに出力するように出力バススイッチ182
を切替え、また、第2の演算部30への入力バススイッチ
180 を実行可能判断信号172 とデータ線171 とから行な
うように切替える。更に、第3の演算部130 からの実行
可能判断信号276 とデータ線322 とをネットワーク240
の実行可能判断信号174 とデータ線173 とに出力するよ
うに出力バススイッチ184 を切替え、加えて、第4の演
算部200 への入力バススイッチ186 を実行可能判断信号
174 とデータ線173 とを入力するように切替える。ま
た、第5の演算部210 からの実行可能判断信号280 とデ
ータ線328 とをネットワーク240 の実行可能判断信号17
6 とデータ線175 とに出力するように出力バススイッチ
190 を切替える。更に、第2の制御部120 への実行可能
信号276 とデータ線330 とをネットワーク240 の実行可
能判断信号176 とデータ線175 とから入力するように入
力バススイッチ188 を切替える。これにより、同様の動
作が行なえる。
As shown in FIG. 7, a pair of the executable determination signal 270 of the first control unit 50 and the data line 324 of the second memory 100 is connected to the executable determination signal 172 and the data line 171 of the network 240. Output bus switch 182 to output to
And an input bus switch to the second arithmetic unit 30
180 is performed from the executable determination signal 172 and the data line 171. Further, the executable determination signal 276 from the third arithmetic unit 130 and the data line 322 are connected to the network 240
The output bus switch 184 is switched so as to output the execution determination signal 174 to the data line 173 and the input bus switch 186 to the fourth arithmetic unit 200 is determined to be executable.
Switch to input 174 and data line 173. Further, the executable determination signal 280 from the fifth arithmetic unit 210 and the data line 328 are connected to the executable determination signal 17 of the network 240.
Output bus switch to output to 6 and data line 175
Switch 190. Further, the input bus switch 188 is switched so that the executable signal 276 and the data line 330 to the second control unit 120 are inputted from the executable determination signal 176 and the data line 175 of the network 240. Thereby, a similar operation can be performed.

【0087】図8及び図9は、本発明の第1実施の形態
の[ プログラム2]における各部でのデータを説明する図
である。
FIGS. 8 and 9 are diagrams for explaining data in each section in [Program 2] according to the first embodiment of the present invention.

【0088】次に、本発明の第1の実施の形態を、図
2、図3、図5、図6、図7、図8及び図9を用いて説
明する。
Next, a first embodiment of the present invention will be described with reference to FIGS. 2, 3, 5, 6, 7, 8, and 9. FIG.

【0089】( サイクル #0 以前)本発明のデータ処理
装置のための実行プログラム4及び入力データ6は、コ
ンパイラ又はアセンブラによって生成され、プログラム
ローダ2により事前に第1のメモリ10へ格納される[S00
0]。
(Before cycle # 0) The execution program 4 and the input data 6 for the data processing device of the present invention are generated by a compiler or assembler, and stored in the first memory 10 in advance by the program loader 2 [ S00
0].

【0090】つまり、入力データ配列a,b,cのデー
タは、入力データ6として、第1のメモリ10の中に格納
され。更に、実行プログラム4には、本発明にかかる実
施の形態の動作についてのフローが格納されている。
That is, the data of the input data arrays a, b, and c are stored as the input data 6 in the first memory 10. Further, the execution program 4 stores a flow of the operation of the embodiment according to the present invention.

【0091】ここで、プログラムローダは、外部プロセ
ッサ等が考えられるが、本発明に関して主要な点でない
ので、説明を省略する。
Here, the program loader may be an external processor or the like, but is not a main point in the present invention, and therefore, the description is omitted.

【0092】第1の演算部20は第1のメモリ10の実行プ
ログラム4を受け取り、第1の制御部50のポインタ60及
びライトポインタ62を各々“0”に初期化する。
The first arithmetic unit 20 receives the execution program 4 in the first memory 10, and initializes the pointer 60 and the write pointer 62 of the first control unit 50 to "0".

【0093】第1の演算部20は第1のメモリ10の実行プ
ログラム4を受け取り、第2の制御部120 のポインタ16
0 及びライトポインタ162 を各々“0”に初期化する。
The first operation unit 20 receives the execution program 4 in the first memory 10 and stores the pointer 16 in the second control unit 120
0 and the write pointer 162 are each initialized to "0".

【0094】第1の演算部20は第1のメモリ10の実行プ
ログラム4を受け取り、各入力バススイッチ及び各出力
バススイッチの接続構成を、ネットワーク構成線400 に
より設定する[S001]。
The first arithmetic unit 20 receives the execution program 4 in the first memory 10, and sets the connection configuration of each input bus switch and each output bus switch by the network configuration line 400 [S001].

【0095】また、第1の制御部50の実行可能判断部70
では、各サイクル毎にポインタ60とライトポインタ62と
を参照比較し、第2のメモリ100 に実行できるデータが
存在しないことを判断している[T000]。
Further, the executable determination section 70 of the first control section 50
Then, in each cycle, the pointer 60 and the write pointer 62 are referenced and compared to determine that there is no executable data in the second memory 100 [T000].

【0096】更に、第2の制御部120 の実行可能判断部
170 では、各サイクル毎に第3の演算部130 からの実行
可能判断信号150 を受け取り、書き込みデータが存在し
ないことを判断している[U000]。
Further, the executable determination unit of the second control unit 120
In step 170, the executable determination signal 150 from the third arithmetic unit 130 is received in each cycle, and it is determined that there is no write data [U000].

【0097】第1の演算部20は、第1のメモリ10の実行
プログラム4を受け取ると共に、第1のメモリ10から配
列a,b,cの“100 ”ワードのデータを受け取り、こ
れ等を順次第2のメモリ100 に書き込む。
The first arithmetic unit 20 receives the execution program 4 of the first memory 10 and the data of "100" words of the arrays a, b and c from the first memory 10 and sequentially processes them. Write to the second memory 100.

【0098】( サイクル #0)第1の演算部20は第1のメ
モリ10の実行プログラム4を受け取り、“100 ”という
数を第1の制御部50のライトポインタ62に書き込むと共
に、ポインタ60には“0”を書き込む[S002]。
(Cycle # 0) The first arithmetic unit 20 receives the execution program 4 in the first memory 10, writes the number “100” into the write pointer 62 of the first control unit 50, Writes “0” [S002].

【0099】( サイクル #1)第1の制御部50の実行可能
判断部70では、ライトポインタ62とポインタ60とを比較
し、ポインタが“0”であり、ライトポインタ62が“10
0 ”に設定されたので、読み出し可能であることを判断
する[T000]。
(Cycle # 1) The executable determination unit 70 of the first control unit 50 compares the write pointer 62 with the pointer 60, and finds that the pointer is “0” and the write pointer 62 is “10”.
Since it is set to "0", it is determined that reading is possible [T000].

【0100】従って、実行可能判断部70は、これを第2
のメモリ100 に送り出すと共に、ネットワーク240 の実
行可能判断信号172 を介して第2の演算部30へ送り出
す。
Therefore, the executable determination unit 70 determines that
And to the second arithmetic unit 30 via the executable determination signal 172 of the network 240.

【0101】第2のメモリ100 では、この実行可能判断
信号172 を元に、データ配列a,b,cの最初のデータ
a[0],b[0],c[0]をネットワーク240 のデータ線171 に送
り出す。また、ポインタ60の値は、配列の1つ分だけイ
ンクリメントされる[T001]。
In the second memory 100, the first data of the data arrays a, b and c are
a [0], b [0], and c [0] are sent to the data line 171 of the network 240. The value of the pointer 60 is incremented by one for the array [T001].

【0102】このサイクル#1での第1の制御部50及び第
2のメモリ100 の動作は、以降、各サイクルでポインタ
60の値がライトポインタ62の値と同じ“100 ”の値にな
るまでは、継続的に実行される。
The operations of the first control unit 50 and the second memory 100 in this cycle # 1 will be described later.
Until the value of 60 becomes the same value of "100" as the value of the write pointer 62, it is continuously executed.

【0103】( サイクル #2)第1の制御部50及び第2の
メモリ100 では、サイクル#1と同様の動作がなされ、
a,b,cの配列の次のデータが読み出され、ポインタ
60は更にアドレス1つ分だけインクリメントされる[T00
0][T001]。
(Cycle # 2) In the first control unit 50 and the second memory 100, the same operation as in the cycle # 1 is performed.
The next data in the array of a, b, and c is read, and the pointer
60 is further incremented by one address [T00
0] [T001].

【0104】第2の演算部30のデータラッチ40では、第
2のメモリ100 からa[0],b[0],c[0]の3データを受け取
り、これを乗算部38に送る。乗算部38は、その中のa[0]
を受け取り、乗算操作であるa[0]xa[0] を行なう。更
に、実行可能判断信号ラッチ140 は、第1の制御部50か
らの実行可能判断信号172 を受け取り、第3の演算部13
0 へ送り出す。また、出力セレクタ42は、乗算部38から
の処理結果データ(a[0]xa[0]) とデータラッチ40からの
データb[0],c[0]を第3の演算部130 へ送り出す。この
サイクルでの第2の演算部30の動作も、以降、各サイク
ル毎に同様に実行される。
The data latch 40 of the second operation unit 30 receives three data a [0], b [0], c [0] from the second memory 100 and sends them to the multiplication unit 38. The multiplying unit 38 calculates a [0]
And performs a multiplication operation a [0] xa [0]. Further, the executable determination signal latch 140 receives the executable determination signal 172 from the first control unit 50, and
Send to 0. The output selector 42 sends the processing result data (a [0] xa [0]) from the multiplication unit 38 and the data b [0] and c [0] from the data latch 40 to the third arithmetic unit 130. . The operation of the second arithmetic unit 30 in this cycle is similarly executed in each cycle thereafter.

【0105】( サイクル #3)第1の制御部50及び第2の
メモリ100 では、サイクル#2と同様の動作がなされ、
a,b,cの配列の次のデータが読み出され、ポインタ
60の値は更にアドレス1つ分だけインクリメントされる
[T000][T001]。
(Cycle # 3) In the first control unit 50 and the second memory 100, the same operation as in the cycle # 2 is performed.
The next data in the array of a, b, and c is read, and the pointer
The value of 60 is further incremented by one address
[T000] [T001].

【0106】第2の演算部30では、サイクル#2と同様の
処理がなされ、配列の次の要素a[1]xa[1] が計算され
る。
In the second arithmetic unit 30, the same processing as in cycle # 2 is performed, and the next element a [1] xa [1] in the array is calculated.

【0107】第3の演算部130 のデータラッチ146 は、
第2の演算部30からデータ(a[0]xa[0]) ,データb[0]、
c[0]の3つを受け取り、これを加算部136 に送る。加算
部136 は、(a[0]xa[0]) 及びc[0]を受け取り、加算操作
である(a[0]xa[0])+c[0]を行なう。更に、実行可能判断
信号ラッチ142 は、第2の演算部30からの実行可能判断
信号144 を受け取り、ネットワーク240 の実行可能判断
信号174 へ送り出す。また、出力セレクタ148 は、加算
部136 からの処理結果データ(a[0]xa[0])+c[0]とデータ
b[0]とをネットワーク240 のデータ線173 へ送り出す。
このサイクルでの第3の演算部130 の動作も、以降、各
サイクル毎に同様に実行される。
The data latch 146 of the third operation unit 130
Data (a [0] xa [0]), data b [0],
The three c [0] are received and sent to the adder 136. The adder 136 receives (a [0] xa [0]) and c [0] and performs an addition operation (a [0] xa [0]) + c [0]. Further, the executable determination signal latch 142 receives the executable determination signal 144 from the second arithmetic unit 30 and sends it to the executable determination signal 174 of the network 240. Also, the output selector 148 outputs the processing result data (a [0] xa [0]) + c [0] from the adder 136 and the data
b [0] is sent to the data line 173 of the network 240.
The operation of the third arithmetic unit 130 in this cycle is similarly executed every cycle thereafter.

【0108】( サイクル #4)第1の制御部50及び第2の
メモリ100 では、サイクル#3と同様の動作がなされ、
a,b,cの配列の次のデータが読み出され、ポインタ
60の値は更にアドレス1つ分だけインクリメントされる
[T000][T001]。
(Cycle # 4) In the first control unit 50 and the second memory 100, the same operation as in cycle # 3 is performed.
The next data in the array of a, b, and c is read, and the pointer
The value of 60 is further incremented by one address
[T000] [T001].

【0109】第2の演算部30では、サイクル#3と同様の
処理がなされ、配列の次の要素a[2]xa[2] が計算され
る。
In the second arithmetic unit 30, the same processing as in cycle # 3 is performed, and the next element a [2] xa [2] in the array is calculated.

【0110】第3の演算部130 では、サイクル#3と同様
の処理がなされ、配列の次の要素a[1]xa[1]+c[1]が計算
される。
The third operation unit 130 performs the same processing as in cycle # 3, and calculates the next element a [1] xa [1] + c [1] in the array.

【0111】第4の演算部200 のデータラッチでは、ネ
ットワーク240 のデータ線173 からa[0]xa[0]+c[0],b
[0] の2データを受け取り、これを乗算部に送る。乗算
部は、その中のb[0]を受け取り、乗算操作であるb[0]xb
[0] を行なう。更に、第4の演算部200 の実行可能判断
信号ラッチは、ネットワーク240 の実行可能判断信号17
4 を受け取り、第5の演算部210 へ送り出す。また、第
4の演算部200 の出力セレクタは、乗算部からの処理結
果データ(b[0]xb[0]) と、データラッチからのデータa
[0]xa[0]+c[0]とを第5の演算部210 へ送り出す。この
サイクルでの第4の演算部200 の動作も、以降、各サイ
クル毎に同様に実行される。
In the data latch of the fourth arithmetic unit 200, a [0] xa [0] + c [0], b
[0] is received and sent to the multiplication unit. The multiplication unit receives b [0] therein, and performs a multiplication operation b [0] xb
Perform [0]. Further, the executable determination signal latch of the fourth arithmetic unit 200 is connected to the executable determination signal 17 of the network 240.
4 is sent to the fifth arithmetic unit 210. The output selector of the fourth arithmetic unit 200 outputs the processing result data (b [0] xb [0]) from the multiplication unit and the data a from the data latch.
[0] xa [0] + c [0] is sent to the fifth arithmetic unit 210. The operation of the fourth arithmetic unit 200 in this cycle is similarly executed in each cycle thereafter.

【0112】( サイクル #5)第1の制御部50及び第2の
メモリ100 では、サイクル#4と同様の動作がなされ、
a,b,cの配列の次のデータが読み出され、ポインタ
60の値は更にアドレス1つ分だけインクリメントされる
[T000][T001]。
(Cycle # 5) In the first control unit 50 and the second memory 100, the same operation as in cycle # 4 is performed.
The next data in the array of a, b, and c is read, and the pointer
The value of 60 is further incremented by one address
[T000] [T001].

【0113】第2の演算部30では、サイクル#4と同様の
処理がなされ、配列の次の要素a[3]xa[3] が計算され
る。
In the second arithmetic unit 30, the same processing as in cycle # 4 is performed, and the next element a [3] xa [3] of the array is calculated.

【0114】第3の演算部130 では、サイクル#4と同様
の処理がなされ、配列の次の要素a[2]xa[2]+c[2]が計算
される。
In the third arithmetic section 130, the same processing as in cycle # 4 is performed, and the next element a [2] xa [2] + c [2] in the array is calculated.

【0115】第4の演算部200 では、サイクル#4と同様
の処理がなされ、配列の次の要素b[1]xb[1] が計算され
る。
In the fourth arithmetic unit 200, the same processing as in cycle # 4 is performed, and the next element b [1] xb [1] of the array is calculated.

【0116】第5の演算部210 のデータラッチは、第4
の演算部200 から(a[0]xa[0]+c[0]),b[0]xb[0] の2つ
のデータを受け取り、これを加算部に送る。加算部は、
データ(a[0]xa[0]+c[0])及びb[0]xb[0] を受け取り、加
算操作である(a[0]xa[0]+c[0])+(b[0]xb[0])を行なう。
更に、実行可能判断信号ラッチは、第4の演算部200 か
らの実行可能判断信号214 を受け取り、ネットワーク24
0 の実行可能判断信号280/176 へ送り出す。また、出力
セレクタは、加算部からの処理結果データa[0]xa[0]+b
[0]xb[0]+c[0]をネットワーク240 のデータ線175 へ送
り出す。このサイクルでの第5の演算部210 の動作も、
以降、各サイクル毎に同様に実行される。
The data latch of the fifth arithmetic unit 210
From the arithmetic unit 200, and two data of (a [0] xa [0] + c [0]) and b [0] xb [0] are sent to the adding unit. The adder is
The data (a [0] xa [0] + c [0]) and b [0] xb [0] are received, and an addition operation is performed (a [0] xa [0] + c [0]) + (b [0] xb [0]).
Further, the executable determination signal latch receives the executable determination signal 214 from the fourth arithmetic unit 200, and
It is sent to the executable judgment signal 280/176 of 0. Further, the output selector outputs the processing result data a [0] xa [0] + b
Send [0] xb [0] + c [0] to data line 175 of network 240. The operation of the fifth arithmetic unit 210 in this cycle is also
Thereafter, the same process is performed for each cycle.

【0117】( サイクル #6)第1の制御部50及び第2の
メモリ100 では、サイクル#5と同様の動作がなされ、
a,b,cの配列の次のデータが読み出され、ポインタ
60の値は更にアドレス1つ分だけインクリメントされる
[T000][T001]。
(Cycle # 6) In the first control unit 50 and the second memory 100, the same operation as in cycle # 5 is performed.
The next data in the array of a, b, and c is read, and the pointer
The value of 60 is further incremented by one address
[T000] [T001].

【0118】第2の演算部30では、サイクル#5と同様の
処理がなされ、配列の次の要素a[4]xa[4] が計算され
る。
In the second arithmetic unit 30, the same processing as in cycle # 5 is performed, and the next element a [4] xa [4] in the array is calculated.

【0119】第3の演算部130 では、サイクル#5と同様
の処理がなされ、配列の次の要素a[3]xa[3]+c[3]が計算
される。
In the third arithmetic unit 130, the same processing as in cycle # 5 is performed, and the next element a [3] xa [3] + c [3] in the array is calculated.

【0120】第4の演算部200 では、サイクル#5と同様
の処理がなされ、配列の次の要素b[2]xb[2] が計算され
る。
In the fourth arithmetic unit 200, the same processing as in cycle # 5 is performed, and the next element b [2] xb [2] in the array is calculated.

【0121】第5の演算部210 では、サイクル#5と同様
の処理がなされ、配列の次の要素a[1]xa[1]+b[1]xb[1]+
c[1]が計算される。
In the fifth arithmetic section 210, the same processing as in cycle # 5 is performed, and the next element a [1] xa [1] + b [1] xb [1] +
c [1] is calculated.

【0122】第2の制御部120 の実行可能判断部170
は、第5の演算部210 の実行可能判断信号をネットワー
ク240 の実行可能判断信号176 を介して受け、書き込み
が可能なことを判断する[U000]。
Executable determination section 170 of second control section 120
Receives the executable determination signal of the fifth arithmetic unit 210 via the executable determination signal 176 of the network 240 and determines that writing is possible [U000].

【0123】更に、第3のメモリ102 は、実行可能判断
部170 からの実行可能判断信号166 を受け、第5の演算
部210 からの結果データをネットワーク240 のデータ線
175 を介して受け、ライトポインタ162 が示すアドレス
に結果データd[0]として書き込む。同時に、第2の制御
部120 のライトポインタ162 の値は、その後、+1だけ増
加する[U001]。
Further, the third memory 102 receives the execution determination signal 166 from the execution determination unit 170 and transmits the result data from the fifth calculation unit 210 to the data line of the network 240.
175, and writes the result data d [0] to the address indicated by the write pointer 162. At the same time, the value of the write pointer 162 of the second control unit 120 subsequently increases by +1 [U001].

【0124】( サイクル #7)第1の制御部50及び第2の
メモリ100 では、サイクル#5と同様の動作がなされ、
a,b,cの配列の次のデータが読み出され、ポインタ
60の値は更にアドレス1つ分だけインクリメントされる
[T000][T001]。
(Cycle # 7) In the first control unit 50 and the second memory 100, the same operation as in cycle # 5 is performed.
The next data in the array of a, b, and c is read, and the pointer
The value of 60 is further incremented by one address
[T000] [T001].

【0125】第2の演算部30では、サイクル#6と同様の
処理がなされ、配列の次の要素a[5]xa[5] が計算され
る。
In the second arithmetic unit 30, the same processing as in cycle # 6 is performed, and the next element a [5] xa [5] in the array is calculated.

【0126】第3の演算部130 では、サイクル#6と同様
の処理がなされ、配列の次の要素a[4]xa[4]+c[4]が計算
される。
In the third arithmetic section 130, the same processing as in cycle # 6 is performed, and the next element a [4] xa [4] + c [4] in the array is calculated.

【0127】第4の演算部200 では、サイクル#6と同様
の処理がなされ、配列の次の要素b[3]xb[3] が計算され
る。
In the fourth arithmetic unit 200, the same processing as in the cycle # 6 is performed, and the next element b [3] xb [3] of the array is calculated.

【0128】第5の演算部210 では、サイクル#6と同様
の処理がなされ、配列の次の要素a[2]xa[2]+b[2]xb[2]+
c[2]が計算される。
In the fifth arithmetic unit 210, the same processing as in cycle # 6 is performed, and the next element a [2] xa [2] + b [2] xb [2] +
c [2] is calculated.

【0129】第3のメモリ102 では、サイクル#6と同様
の処理がなされ、配列の次の要素d[1]が格納される。ラ
イトポインタ162 の値は、1つ分だけインクリメントさ
れる。
In the third memory 102, the same processing as in cycle # 6 is performed, and the next element d [1] in the array is stored. The value of the write pointer 162 is incremented by one.

【0130】以降の各サイクルでは、同様の処理がなさ
れ、第1の制御部50及び第2のメモリ100 では、ポイン
タ60とライトポインタ62とが同じ数“100 ”になるまで
処理が繰り返される。また、第2の制御部120 では、第
1の制御部50で生成される実行可能判断信号をサイクル
#6からサイクル105 までカウントし、100 サイクル分だ
け結果データd[0]-d[99]を格納して、プログラムの処理
を終了する。また、第1の演算部20では、実行プログラ
ムで定められたタイミングで、定期的に第2の制御部12
0 におけるライトポインタ162 を参照し、その数値が
“100 ”になっているか否かを判断することにより、こ
のプログラムが終了したかどうかを判断する[S003],[S0
04] 。
In each of the subsequent cycles, the same processing is performed. In the first control unit 50 and the second memory 100, the processing is repeated until the pointer 60 and the write pointer 62 have the same number "100". In the second control unit 120, the executable determination signal generated by the first control unit 50 is cycled.
It counts from # 6 to cycle 105, stores the result data d [0] -d [99] for 100 cycles, and ends the program processing. Further, the first arithmetic unit 20 periodically executes the second control unit 12 at a timing determined by the execution program.
By referring to the write pointer 162 at 0 and determining whether or not the numerical value is "100", it is determined whether or not this program is terminated [S003], [S0
04].

【0131】ここで、[ プログラム1]のような第2の演
算部30/ 第3の演算部130 のみで処理される場合であれ
ば、演算処理に必要とするサイクルが“2”であるが、
[ プログラム2]のように、第2の演算部30/ 第3の演算
部130 を経て、第4の演算部200/第5の演算部210 で処
理を行なうようにネットワーク240 を組み換えた場合に
は、演算処理に必要とするサイクルが“4”になる。
Here, if the processing is performed only by the second calculation unit 30 / third calculation unit 130 as in [Program 1], the cycle required for the calculation processing is “2”. ,
As shown in [Program 2], when the network 240 is rearranged so that the processing is performed by the fourth arithmetic unit 200 / fifth arithmetic unit 210 via the second arithmetic unit 30 / third arithmetic unit 130. Indicates that the cycle required for the arithmetic processing is "4".

【0132】つまり、このようなデータの送出側におい
て、データに対して、データが実行可能か否か(つま
り、データが存在するか否か)を示す実行可能判断信号
を付加することにより、その先での演算段数が可変にな
っても、データの書き込み側においてこれを判断するこ
とにより、送られてくるデータを同様に書き込むことが
可能になる。更に、メモリと各演算部との間に複数のパ
スを持つネットワークを配置し、これを切替えることに
より、より柔軟なプログラム性が実現できる。
That is, on the sending side of such data, an executable determination signal indicating whether the data is executable (ie, whether or not the data exists) is added to the data, so that the data is transmitted. Even if the number of operation stages becomes variable, it is possible to similarly write the transmitted data by judging this on the data writing side. Further, by arranging a network having a plurality of paths between the memory and each operation unit and switching between the networks, more flexible programmability can be realized.

【0133】(第2の実施の形態)図10は、本発明の
第2の実施の形態のデータ処理装置を示す。
(Second Embodiment) FIG. 10 shows a data processing apparatus according to a second embodiment of the present invention.

【0134】前記第1の実施の形態と異なる点は、第1
の演算部20から各制御部50,120 ,250 に対して、各メ
モリ100,260 に格納された配列データa,b,c,d,
e,fを送り始めるサイクルを示す同期信号600 を入力
する点である。
The difference from the first embodiment is that the first embodiment
From the arithmetic unit 20 to the control units 50, 120, and 250, the array data a, b, c, d, and
The point is that a synchronizing signal 600 indicating a cycle to start sending e and f is input.

【0135】また、更に、第1の実施の形態と異なる点
は、第1の制御部、第2のメモリ、第2の演算部及び第
3の演算部と、第2の制御部、第3のメモリ、第4の演
算部及び第5の演算部と、第3の制御部、第4のメモ
リ、第6の演算部及び第7の演算部との間のネットワー
ク240 に対して、各々のバスを分離するためのバススイ
ッチ350,360(352,354,356,358,362,364,366,368)を設け
た点である。
Further, what is different from the first embodiment is that the first control unit, the second memory, the second operation unit and the third operation unit, the second control unit and the third , A fourth arithmetic unit and a fifth arithmetic unit, and a network 240 between the third control unit, the fourth memory, the sixth arithmetic unit and the seventh arithmetic unit. The point is that bus switches 350 and 360 (352, 354, 356, 358, 362, 364, 366, 368) for separating the bus are provided.

【0136】前記バススイッチは、スイッチをONするこ
とにより、双方向に導通することが可能であり、また、
OFF にすることにより、各スイッチ間で個別にデータの
やり取りが行ない得る。従って、これ等バススイッチを
切替えることにより、より高いプログラム性が得られ
る。
The bus switch can conduct bidirectionally by turning on the switch.
By turning it off, data can be exchanged between switches individually. Therefore, by switching these bus switches, higher programmability can be obtained.

【0137】第2の実施の形態では、次のプログラムを
考える。
In the second embodiment, the following program is considered.

【0138】 この[ プログラム3]が前記[ プログラム2]と異なる点
は、演算される入力データ配列数が多いことである。つ
まり、既述の原理の説明では、データ線1本当りに3デ
ータを送ることとしているので、前記のようなプログラ
ムでは、複数のメモリに渡り格納し、これを演算部分に
送る必要がある。
[0138] The difference between [Program 3] and [Program 2] is that the number of input data arrays to be operated is large. That is, in the description of the principle described above, three data are transmitted per one data line. Therefore, in the above-described program, it is necessary to store the data in a plurality of memories and transmit the data to the operation part.

【0139】このため、演算の最終段(g[iii]= t1*t2;)
において、お互いの入力データ(t1,t2) の同期を取る必
要がある。また、取り扱うデータ配列数が多いため(6種
類) に、それだけネットワークの使用度も高くなる。
Accordingly, the final stage of the operation (g [iii] = t1 * t2;)
, It is necessary to synchronize the input data (t1, t2) with each other. In addition, since the number of data arrays to be handled is large (6 types), the usage of the network increases accordingly.

【0140】ネットワークの切替え方を以下のようにす
ることにより、前記プログラムを実現することが可能に
なる。以下の内容は、プログラムのコンパイル時にコン
パイラ等によって生成される内容であり、例えば、実行
プログラム上に設定データとして格納されている。
By switching the network as follows, it is possible to realize the program. The following contents are contents generated by a compiler or the like at the time of compiling a program, and are stored, for example, as setting data in an execution program.

【0141】図11は、本実施の形態において、ネット
ワーク構成線により構成されたネットワークにおけるデ
ータの流れを説明する図である。
FIG. 11 is a diagram for explaining the flow of data in a network constituted by network configuration lines in the present embodiment.

【0142】図10に示したデータ処理装置において、
[ プログラム3]を実行するためには、図11に示すよう
に、第1の制御部50の実行可能判断信号270 と、第2の
メモリ100 のデータ線324 とのペアを、ネットワーク24
0 の実行可能判断信号172 とデータ線171 とに出力する
ように、出力バススイッチ182 を切替えると共に、実行
可能判断信号172 とデータ線171 から第2の演算部30へ
信号を出力するように、入力バススイッチ180 を切替え
る。また、第3の演算部130 からの実行可能判断信号27
6 とデータ線322 とを、ネットワーク240 の実行可能判
断信号174 とデータ線173 とに出力するように出力バス
スイッチ184 を切替える。
In the data processing device shown in FIG.
In order to execute [Program 3], as shown in FIG. 11, a pair of the executable determination signal 270 of the first control unit 50 and the data line 324 of the second memory 100 is connected to the network 24.
The output bus switch 182 is switched so as to output an executable determination signal 172 and a data line 171 of 0, and a signal is output from the executable determination signal 172 and the data line 171 to the second arithmetic unit 30. Flip input bus switch 180. Also, the executable determination signal 27 from the third arithmetic unit 130
The output bus switch 184 is switched so as to output 6 and the data line 322 to the executable signal 174 and the data line 173 of the network 240.

【0143】バススイッチ350 では、バススイッチ352
は、第1の制御部50、第2のメモリ100 、第2の演算部
30、及び第3の演算部130 で個別にデータを必要とする
ため、OFF に設定し、また、バススイッチ354 は、第3
の演算部130 の結果を第4の演算部200 に送る必要があ
るため、ONに設定する。
In the bus switch 350, the bus switch 352
Is a first control unit 50, a second memory 100, a second arithmetic unit
30 and the third arithmetic unit 130 require data individually, so that it is set to OFF, and the bus switch 354 is set to the third
Since it is necessary to send the result of the calculation unit 130 to the fourth calculation unit 200, it is set to ON.

【0144】第3の制御部250 の実行可能判断信号286
と第4のメモリ260 のデータ線336 とのペアを、ネット
ワーク240 の実行可能判断信号172 とデータ線171 に出
力するように出力バススイッチ194 を切替えると共に、
実行可能判断信号172 とデータ線171 とから第6の演算
部220 に信号を入力するように、入力バススイッチ192
を切替え、更に、第7の演算部230 からの実行可能判断
信号284 とデータ線334 とをネットワーク240 の実行可
能判断信号174 とデータ線173 に出力するように出力バ
ススイッチ196 を切替える。
Executable determination signal 286 of third control unit 250
The output bus switch 194 is switched so as to output a pair of the data line 336 of the fourth memory 260 to the executable signal 172 and the data line 171 of the network 240,
The input bus switch 192 is configured to input a signal from the executable determination signal 172 and the data line 171 to the sixth arithmetic unit 220.
Further, the output bus switch 196 is switched so that the executable determination signal 284 and the data line 334 from the seventh arithmetic unit 230 are output to the executable determination signal 174 and the data line 173 of the network 240.

【0145】バススイッチ360 では、バススイッチ262
は第3の制御部250 、第4のメモリ260 、第6の演算部
220 及び第7の演算部230 で個別にデータを必要とする
ので、OFF に設定し、また、バススイッチ364 は第7の
演算部230 の結果を第4の演算部200 に送る必要がある
ので、ONに設定する。
In the bus switch 360, the bus switch 262
Is a third control unit 250, a fourth memory 260, a sixth arithmetic unit
Since data is separately required by the 220 and the seventh arithmetic unit 230, it is set to OFF, and the bus switch 364 needs to send the result of the seventh arithmetic unit 230 to the fourth arithmetic unit 200. , Set to ON.

【0146】実行可能判断信号174 とデータ線173 とを
第4の演算部200 へ入力するように、入力バススイッチ
186 を切替えると共に、第5の演算部210 からの実行可
能判断信号280 とデータ線328 とをネットワーク240 の
実行可能判断信号176 とデータ線175 とに出力するよう
に、出力バススイッチ190 を切替える。更に、ネットワ
ーク240 の実行可能判断信号176 とデータ線175 とから
第2の制御部120 への実行可能信号276 とデータ線330
に信号を入力するように、入力バススイッチ188 を切替
える。以上により、前記と同様の動作が行い得る。
The input bus switch is set so that the executable determination signal 174 and the data line 173 are input to the fourth arithmetic unit 200.
186, and the output bus switch 190 is switched so as to output the executable determination signal 280 and the data line 328 from the fifth arithmetic unit 210 to the executable determination signal 176 and the data line 175 of the network 240. Further, the executable signal 276 and the data line 330 to the second control unit 120 are output from the executable determination signal 176 and the data line 175 of the network 240.
The input bus switch 188 is switched so that a signal is input to the input bus switch 188. As described above, the same operation as described above can be performed.

【0147】図12及び図13は、本発明の第2実施の
形態の基本的な動作フローを説明する図である。図14
及び図15は、本発明の第2実施の形態の[ プログラム
3]における各部でのデータを説明する図である。
FIGS. 12 and 13 are diagrams for explaining the basic operation flow of the second embodiment of the present invention. FIG.
And FIG. 15 shows a program according to the second embodiment of the present invention.
FIG. 4 is a diagram illustrating data in each unit in [3].

【0148】以下、本発明の第2の実施の形態を図1
0、図11、図12、図13、図14及び図15を用い
て説明する。
Hereinafter, a second embodiment of the present invention will be described with reference to FIG.
0, FIG. 11, FIG. 12, FIG. 13, FIG. 14, and FIG.

【0149】( サイクル #0 以前)本発明におけるデー
タ処理装置のための実行プログラム及び入力データは、
コンパイラ又はアセンブラによって生成され、プログラ
ムローダにより事前に第1のメモリ10へ格納される[S10
0]。
(Before cycle # 0) The execution program and input data for the data processing device in the present invention are as follows:
Generated by a compiler or assembler and stored in advance in the first memory 10 by a program loader [S10
0].

【0150】つまり、入力データ配列a、b、c、d、
e、fは、入力データ6として、第1のメモリ10の中に
格納され。更に、実行プログラム4には、本発明に係る
以下に行なう動作についてのフローが格納されている。
ここで、プログラムローダとしては、外部プロセッサ等
が考えられるが、本発明に関して主要な点でないので、
説明を省略する。
That is, the input data arrays a, b, c, d,
e and f are stored in the first memory 10 as input data 6. Further, the execution program 4 stores a flow of the following operation according to the present invention.
Here, an external processor or the like can be considered as the program loader, but it is not a main point in the present invention.
Description is omitted.

【0151】第1の演算部20は、第1のメモリ10の実行
プログラムを受け取り、第1の制御部50のポインタ60及
びライトポインタ62を各々“0”に初期化する。第1の
演算部20は、第1のメモリ10の実行プログラムを受け取
り、第2の制御部120 のポインタ160 及びライトポイン
タ162 を各々“0”に初期化する。更に、第1の演算部
20は、第1のメモリ10の実行プログラムを受け取り、第
3の制御部250 のポインタ及びライトポインタを各々
“0”に初期化する。第1の演算部20は、第1のメモリ
10の実行プログラムを受け取り、各入力バススイッチ、
各出力バススイッチ及び各バススイッチの接続構成を、
先に示したようにネットワーク構成線400 により設定す
る[S101]。
The first arithmetic unit 20 receives the execution program of the first memory 10, and initializes the pointer 60 and the write pointer 62 of the first control unit 50 to “0”. The first arithmetic unit 20 receives the execution program in the first memory 10, and initializes the pointer 160 and the write pointer 162 of the second control unit 120 to "0". Further, a first arithmetic unit
20 receives the execution program of the first memory 10 and initializes the pointer and the write pointer of the third control unit 250 to "0". The first arithmetic unit 20 includes a first memory
Receive 10 execution programs, each input bus switch,
The connection configuration of each output bus switch and each bus switch
The setting is made by the network configuration line 400 as described above [S101].

【0152】また、第1の制御部50及び第3の制御部25
0 の実行可能判断部では、各サイクル毎にポインタ、ラ
イトポインタの値及び同期信号600 を参照して、第2の
メモリ100 及び第4のメモリ260 に実行できるデータが
存在せず、実行開始ができないことを判断している[T10
0]。
The first control unit 50 and the third control unit 25
The executable determination unit of 0 refers to the pointer, the value of the write pointer, and the synchronization signal 600 for each cycle, and there is no executable data in the second memory 100 and the fourth memory 260, and the execution starts. Judge that it is not possible [T10
0].

【0153】更に、第2の制御部120 の実行可能判断部
170 では、各サイクル毎に第3の演算部130 からの実行
可能判断信号150 を受け取り、書き込みデータが存在し
ないことを判断している[U100]。
Further, the executable judgment section of the second control section 120
In step 170, the executable determination signal 150 from the third arithmetic unit 130 is received every cycle, and it is determined that there is no write data [U100].

【0154】第1の演算部20は、第1のメモリ10の実行
プログラムを受け取り、第1の演算部20は、第1のメモ
リ10から配列a,b,cの100 ワードのデータを受け取
り、これ等を順次第2のメモリ100 に書き込む。更に、
“100 ”という数を第1の制御部50のライトポインタ62
に、更にポインタ60には“0”を書き込む。[S102]ま
た、同様に、第4のメモリ260 にも、配列d、e、fの
100 ワードを書き込み、更に、同様に、第3の制御部25
0 のライトポインタ及びポインタを各々“100 ”と
“0”とに設定する。
The first arithmetic unit 20 receives the execution program of the first memory 10, and the first arithmetic unit 20 receives 100-word data of the arrays a, b, and c from the first memory 10, These are sequentially written in the second memory 100. Furthermore,
The number "100" is written in the write pointer 62 of the first control unit 50.
Then, "0" is written to the pointer 60. [S102] Similarly, in the fourth memory 260, the arrays d, e, and f
100 words are written, and the third control unit 25
The 0 write pointer and the pointer are set to "100" and "0", respectively.

【0155】( サイクル #0)第1の演算部20は、第1の
メモリ10の実行プログラムを受け取り、同期信号線600
に同期信号を計算開始信号として出力する[S103]。
(Cycle # 0) The first arithmetic unit 20 receives the execution program of the first memory 10 and
Then, a synchronization signal is output as a calculation start signal [S103].

【0156】( サイクル #1)第1の制御部50は、ライト
ポインタ62とポインタ60とを比較し、更に同期信号線60
0 を参照し、ポインタが“0”であり、ライトポインタ
62が“100 ”に設定され、且つ、同期信号が示されたの
で、読み出し可能であるとを判断し、これを第2のメモ
リ100 に出力すると共にネットワーク240 の実行可能判
断信号172 を介して第2の演算部30へ送り出す。第2の
メモリ100 では、この信号を元にデータ配列a,b,c
の最初のデータa[0],b[0],c[0]をネットワーク240 のデ
ータ線171 に送り出す。また、ポインタ60の値は、配列
の1つ分だけインクリメントされる[T100],[T101] 。
(Cycle # 1) The first control unit 50 compares the write pointer 62 with the pointer 60, and furthermore,
0, the pointer is “0” and the write pointer
Since 62 is set to "100" and the synchronizing signal is indicated, it is determined that the data can be read out, and this is output to the second memory 100, and is also transmitted to the second memory 100 via the executable signal 172 of the network 240. The data is sent to the second calculation unit 30. In the second memory 100, the data arrays a, b, c
The first data a [0], b [0], and c [0] are sent to the data line 171 of the network 240. The value of the pointer 60 is incremented by one for the array [T100], [T101].

【0157】第3の制御部250 及び第4のメモリ260 で
も同様の動作が実行される。このような動作は、各々の
制御部及びメモリにおいて、各サイクル毎に、ポインタ
がライトポインタの値と同じ“100 ”になるまでは、継
続的に実行される。
The same operation is performed in the third control unit 250 and the fourth memory 260. Such an operation is continuously executed in each control unit and memory until the pointer becomes "100" which is the same as the value of the write pointer in each cycle.

【0158】( サイクル #2)第1の制御部50及び第2の
メモリ100 では、サイクル#1と同様の動作がなされ、ポ
インタ60の値は更にアドレス1つ分だけインクリメント
される。
(Cycle # 2) In the first control unit 50 and the second memory 100, the same operation as in the cycle # 1 is performed, and the value of the pointer 60 is further incremented by one address.

【0159】第3の制御部250 及び第4のメモリ260 で
は、サイクル#1と同様の動作がなされ、ポインタの値は
更にアドレス1つ分だけインクリメントされる。
In the third control unit 250 and the fourth memory 260, the same operation as in the cycle # 1 is performed, and the value of the pointer is further incremented by one address.

【0160】第2の演算部30では、ネットワーク240 の
データ線171 から第2のメモリ100 の3種類のデータを
受け取り、乗算操作であるa[0]xb[0] を行ない、更に、
第1の制御部50からの実行可能判断信号72を一時的に1
サイクルだけ遅延し、処理結果データ(a[0]xb[0]),c
[0]、及び遅延した実行可能判断信号を第3の演算部130
へ送り出す。この第2の演算部30の動作も、各サイク
ル毎に実行されている。
The second arithmetic unit 30 receives three types of data in the second memory 100 from the data line 171 of the network 240, performs a multiplication operation a [0] xb [0], and further performs a multiplication operation.
The executable determination signal 72 from the first control unit 50 is temporarily set to 1
Delayed by cycle, processing result data (a [0] xb [0]), c
[0] and the delayed executable determination signal
Send to The operation of the second arithmetic unit 30 is also executed for each cycle.

【0161】第6の演算部220 では、ネットワーク240
のデータ線171 から第4のメモリ260 の3種類のデータ
を受け取り、乗算操作であるd[0]xe[0] を行ない、更
に、一次的に第3の制御部250 からの実行可能判断信号
286 を一時的に1サイクルだけ遅延し、処理結果データ
(d[0]xe[0]),f[0]、及び遅延した実行可能判断信号を第
7の演算部230 へ送り出す。この第6の演算部220 の動
作も、各サイクル毎に実行される。
In the sixth arithmetic unit 220, the network 240
Of the fourth memory 260 from the data line 171 and performs a multiplication operation d [0] xe [0], and furthermore, an executable determination signal from the third control unit 250.
286 is temporarily delayed by one cycle, and the processing result data
(d [0] xe [0]), f [0] and the delayed executable determination signal are sent to the seventh arithmetic unit 230. The operation of the sixth arithmetic unit 220 is also executed for each cycle.

【0162】( サイクル #3)第1の制御部50及び第2の
メモリ100 では、サイクル#2と同様の動作がなされ、ポ
インタの値60は更にアドレス1つ分だけインクリメント
される。
(Cycle # 3) In the first control unit 50 and the second memory 100, the same operation as in the cycle # 2 is performed, and the pointer value 60 is further incremented by one address.

【0163】第3の制御部250 及び第4のメモリ260 で
は、サイクル#2と同様の動作がなされ、ポインタの値は
更にアドレス1つ分だけインクリメントされる。
In the third control unit 250 and the fourth memory 260, the same operation as in the cycle # 2 is performed, and the value of the pointer is further incremented by one address.

【0164】第2の演算部30では、サイクル#2と同様の
処理がなされ、配列の次の要素a[1]xb[1] が計算され
る。
In the second arithmetic unit 30, the same processing as in cycle # 2 is performed, and the next element a [1] xb [1] of the array is calculated.

【0165】第6の演算部220 では、サイクル#2と同様
の処理がなされ、配列の次の要素d[1]xe[1] が計算され
る。
In the sixth arithmetic section 220, the same processing as in cycle # 2 is performed, and the next element d [1] xe [1] in the array is calculated.

【0166】第3の演算部130 では、第2の演算部30か
らの処理結果データを受け取り、加算a[0]xb[0]+c[0]を
行ない、更に、一時的に第2の演算部30からの実行可能
判断信号を1サイクルだけ遅延し、処理結果データa[0]
xb[0]+c[0]、及び遅延した実行可能判断信号をネットワ
ーク240 の実行可能判断信号174 とデータ線173 とに送
り出す。
The third operation unit 130 receives the processing result data from the second operation unit 30, performs addition a [0] xb [0] + c [0], and further temporarily stores the second data. The execution determination signal from the arithmetic unit 30 is delayed by one cycle, and the processing result data a [0]
xb [0] + c [0] and the delayed executable determination signal are sent to the executable determination signal 174 and data line 173 of the network 240.

【0167】第7の演算部230 では、第6の演算部220
からの処理結果データを受け取り、加算d[0]xe[0]+f[0]
を行ない、更に、一時的に第6の演算部220 からの実行
可能判断信号を1サイクルだけ遅延し、処理結果データ
d[0]xe[0]+f[0]、及び遅延した実行可能判断信号をネッ
トワーク240 の実行可能判断信号174 とデータ線173 と
に送り出す。
In the seventh arithmetic section 230, the sixth arithmetic section 220
Receive the processing result data from and add d [0] xe [0] + f [0]
, And temporarily delays the executable determination signal from the sixth arithmetic unit 220 by one cycle.
It sends d [0] xe [0] + f [0] and the delayed executable determination signal to the executable determination signal 174 and data line 173 of the network 240.

【0168】( サイクル #4)第1の制御部50及び第2の
メモリ100 では、サイクル#3と同様の動作がなされ、ポ
インタ60の値は更にアドレス1つ分だけインクリメント
される。
(Cycle # 4) In the first control unit 50 and the second memory 100, the same operation as in the cycle # 3 is performed, and the value of the pointer 60 is further incremented by one address.

【0169】第3の制御部250 及び第4のメモリ260 で
は、サイクル#3と同様の動作がなされ、ポインタの値は
更にアドレス1つ分だけインクリメントされる。
In the third control unit 250 and the fourth memory 260, the same operation as in the cycle # 3 is performed, and the value of the pointer is further incremented by one address.

【0170】第2の演算部30では、サイクル#3と同様の
処理がなされ、配列の次の要素a[2]xa[2] が計算され
る。
In the second arithmetic unit 30, the same processing as in cycle # 3 is performed, and the next element a [2] xa [2] in the array is calculated.

【0171】第6の演算部220 では、サイクル#3と同様
の処理がなされ、配列の次の要素d[2]xe[2] が計算され
る。
In the sixth arithmetic unit 220, the same processing as in cycle # 3 is performed, and the next element d [2] xe [2] in the array is calculated.

【0172】第3の演算部130 では、サイクル#3と同様
の処理がなされ、配列の次の要素a[1]xb[1]+c[1]が計算
される。
In the third arithmetic unit 130, the same processing as in cycle # 3 is performed, and the next element a [1] xb [1] + c [1] in the array is calculated.

【0173】第7の演算部230 では、サイクル#3と同様
の処理がなされ、配列の次の要素d[1]xe[1]+f[1]が計算
される。
In the seventh arithmetic unit 230, the same processing as in cycle # 3 is performed, and the next element d [1] xe [1] + f [1] in the array is calculated.

【0174】第4の演算部200 では、ネットワーク240
のデータ線173 から第3の演算部130 からの処理結果t1
(=a[0]xb[0]+c[0]) と、第7の演算部230 からの処理結
果t2(=d[0]xe[0]+f[0]) と、各々の制御部からの実行可
能判断信号とを同時に受け取り、この両者の乗算t1xt2
を行ない、更に、一時的に実行可能判断信号を1サイク
ルだけ遅延し、処理結果データ及び遅延した実行可能判
断信号を第5の演算部210 へ送り出す。
In the fourth arithmetic unit 200, the network 240
From the data line 173 to the processing result t1 from the third arithmetic unit 130
(= a [0] xb [0] + c [0]) and the processing result t2 (= d [0] xe [0] + f [0]) from the seventh arithmetic unit 230, And an executable judgment signal from the section at the same time, and multiply the two by t1xt2
And temporarily delays the executable determination signal by one cycle, and sends out the processing result data and the delayed executable determination signal to the fifth arithmetic unit 210.

【0175】ここで、#0サイクルによって、同期信号線
を生成することにより、第2のメモリ100 及び第4のメ
モリ260 からの同サイクルでのデータ送信が行なわれ
て、このサイクルでの第4の演算部200 への処理結果t
1、t2の同時入力が可能となっている。
Here, by generating a synchronization signal line in the # 0 cycle, data transmission in the same cycle from the second memory 100 and the fourth memory 260 is performed, and the fourth memory in this cycle is performed. Processing result t to the arithmetic unit 200
1. Simultaneous input of t2 is possible.

【0176】( サイクル #5)第1の制御部50及び第2の
メモリ100 では、サイクル#4と同様の動作がなされ、ポ
インタ60の値は更にアドレス1つ分だけインクリメント
される。
(Cycle # 5) In the first control unit 50 and the second memory 100, the same operation as in cycle # 4 is performed, and the value of the pointer 60 is further incremented by one address.

【0177】第3の制御部250 及び第4のメモリ260 で
は、サイクル#4と同様の動作がなされ、ポインタの値は
更にアドレス1つ分だけインクリメントされる。
In the third control unit 250 and the fourth memory 260, the same operation as in the cycle # 4 is performed, and the value of the pointer is further incremented by one address.

【0178】第2の演算部30では、サイクル#4と同様の
処理がなされ、配列の次の要素a[3]xa[3] が計算され
る。
In the second arithmetic unit 30, the same processing as in cycle # 4 is performed, and the next element a [3] xa [3] in the array is calculated.

【0179】第6の演算部220 では、サイクル#4と同様
の処理がなされ、配列の次の要素d[3]xe[3] が計算され
る。
In the sixth arithmetic unit 220, the same processing as in cycle # 4 is performed, and the next element d [3] xe [3] in the array is calculated.

【0180】第3の演算部130 では、サイクル#4と同様
の処理がなされ、配列の次の要素a[2]xb[2]+c[2]が計算
される。
In the third arithmetic unit 130, the same processing as in the cycle # 4 is performed, and the next element a [2] xb [2] + c [2] in the array is calculated.

【0181】第7の演算部230 では、サイクル#4と同様
の処理がなされ、配列の次の要素d[2]xe[2]+f[2]が計算
される。
In the seventh arithmetic unit 230, the same processing as in cycle # 4 is performed, and the next element d [2] xe [2] + f [2] in the array is calculated.

【0182】第4の演算部200 では、サイクル#4と同様
の処理がなされ、配列の次の要素t1xt2 が計算される。
In the fourth arithmetic unit 200, the same processing as in cycle # 4 is performed, and the next element t1xt2 in the array is calculated.

【0183】第5の演算部210 では、第4の演算部200
からの処理結果データを受け取り、加算に対する処理が
ないので、第4の演算部200 から受けたデータ自体と、
更に、第4の演算部200 からの実行可能判断信号を一時
的に1サイクルだけ遅延した実行可能判断信号とを、ネ
ットワーク240 の実行可能判断信号176 とデータ線175
とに送り出す。
In the fifth arithmetic section 210, the fourth arithmetic section 200
, And there is no processing for addition, so that the data itself received from the fourth arithmetic unit 200 and
Further, an executable determination signal obtained by temporarily delaying the executable determination signal from the fourth arithmetic unit 200 by one cycle is combined with the executable determination signal 176 of the network 240 and the data line 175.
And send it out.

【0184】( サイクル #6)第1の制御部50及び第2の
メモリ100 では、サイクル#5と同様の動作がなされ、ポ
インタ60の値は更にアドレス1つ分だけインクリメント
される。
(Cycle # 6) In the first control unit 50 and the second memory 100, the same operation as in cycle # 5 is performed, and the value of the pointer 60 is further incremented by one address.

【0185】第3の制御部250 及び第4のメモリ260 で
は、サイクル#5と同様の動作がなされ、ポインタの値は
更にアドレス1つ分だけインクリメントされる。
In the third control unit 250 and the fourth memory 260, the same operation as in cycle # 5 is performed, and the value of the pointer is further incremented by one address.

【0186】第2の演算部30では、サイクル#5と同様の
処理がなされ、配列の次の要素a[4]xb[4] が計算され
る。
In the second arithmetic unit 30, the same processing as in cycle # 5 is performed, and the next element a [4] xb [4] in the array is calculated.

【0187】第6の演算部220 では、サイクル#5と同様
の処理がなされ、配列の次の要素d[4]xe[4] が計算され
る。
In the sixth arithmetic unit 220, the same processing as in cycle # 5 is performed, and the next element d [4] xe [4] in the array is calculated.

【0188】第3の演算部130 では、サイクル#5と同様
の処理がなされ、配列の次の要素a[3]xb[3]+c[3]が計算
される。
In the third arithmetic unit 130, the same processing as in cycle # 5 is performed, and the next element a [3] xb [3] + c [3] in the array is calculated.

【0189】第7の演算部230 では、サイクル#5と同様
の処理がなされ、配列の次の要素d[3]xe[3]+f[3]が計算
される。
In the seventh arithmetic unit 230, the same processing as in cycle # 5 is performed, and the next element d [3] xe [3] + f [3] in the array is calculated.

【0190】第4の演算部200 では、サイクル#5と同様
の処理がなされ、配列の次の要素t1xt2 が計算される。
In the fourth arithmetic unit 200, the same processing as in cycle # 5 is performed, and the next element t1xt2 in the array is calculated.

【0191】第5の演算部210 では、サイクル#5と同様
の処理がなされ、第4の演算部200 からのデータをその
まま出力する。
In the fifth arithmetic section 210, the same processing as in the cycle # 5 is performed, and the data from the fourth arithmetic section 200 is output as it is.

【0192】第3のメモリ102 は、ネットワーク240 の
実行可能判断信号176 を受け、書き込みが可能なことを
判断し、データ線175 からの結果データをライトポイン
タ162 のアドレスに、結果データg[0]として書き込む。
同時に、第2の制御部120 のライトポインタ162 の値
は、その後、+1だけ増加する。
The third memory 102 receives the executable determination signal 176 of the network 240, determines that writing is possible, and transfers the result data from the data line 175 to the address of the write pointer 162 and the result data g [0 ].
At the same time, the value of the write pointer 162 of the second control unit 120 subsequently increases by +1.

【0193】( サイクル #7)第1の制御部50及び第2の
メモリ100 では、サイクル#6と同様の動作がなされ、ポ
インタ60の値は更にアドレス1つ分だけインクリメント
される。
(Cycle # 7) In the first control unit 50 and the second memory 100, the same operation as in cycle # 6 is performed, and the value of the pointer 60 is further incremented by one address.

【0194】第3の制御部250 及び第4のメモリ260 で
は、サイクル#6と同様の動作がなされ、ポインタの値は
更にアドレス1つ分だけインクリメントされる。
In the third control unit 250 and the fourth memory 260, the same operation as in the cycle # 6 is performed, and the value of the pointer is further incremented by one address.

【0195】第2の演算部30では、サイクル#6と同様の
処理がなされ、配列の次の要素a[5]xb[5] が計算され
る。
In the second operation unit 30, the same processing as in the cycle # 6 is performed, and the next element a [5] xb [5] of the array is calculated.

【0196】第6の演算部220 では、サイクル#6と同様
の処理がなされ、配列の次の要素d[5]xe[5] が計算され
る。
In the sixth arithmetic unit 220, the same processing as in cycle # 6 is performed, and the next element d [5] xe [5] in the array is calculated.

【0197】第3の演算部130 では、サイクル#6と同様
の処理がなされ、配列の次の要素a[4]xb[4]+c[4]が計算
される。
In the third arithmetic unit 130, the same processing as in cycle # 6 is performed, and the next element a [4] xb [4] + c [4] in the array is calculated.

【0198】第7の演算部230 では、サイクル#6と同様
の処理がなされ、配列の次の要素d[4]xe[4]+f[4]が計算
される。
In the seventh arithmetic unit 230, the same processing as in cycle # 6 is performed, and the next element d [4] xe [4] + f [4] in the array is calculated.

【0199】第4の演算部200 では、サイクル#6と同様
の処理がなされ、配列の次の要素t1xt2 が計算される。
In the fourth arithmetic unit 200, the same processing as in cycle # 6 is performed, and the next element t1xt2 in the array is calculated.

【0200】第5の演算部210 では、サイクル#6と同様
の処理がなされ、第4の演算部200 からのデータをその
まま出力する。
The fifth processing section 210 performs the same processing as in the cycle # 6, and outputs the data from the fourth processing section 200 as it is.

【0201】また、第3のメモリ102 では、サイクル#6
と同様の処理がなされ、配列の次の要素d[1]が格納され
て、ライトポインタ162 の値は1つ分だけインクリメン
トされる。
In the third memory 102, cycle # 6
Is performed, the next element d [1] of the array is stored, and the value of the write pointer 162 is incremented by one.

【0202】以降の各サイクルでは、同様の処理がなさ
れ、第1の制御部50及び第2のメモリ100 と、第3の制
御部250 及び第4のメモリ260 とでは、ポインタとライ
トポインタとの各値が同じ数“100 ”になるまで繰り返
される。
In each of the subsequent cycles, similar processing is performed, and the first control unit 50 and the second memory 100 and the third control unit 250 and the fourth memory 260 use the pointer and the write pointer for the same. This is repeated until each value has the same number "100".

【0203】また、第2の制御部120 では、第1の制御
部50で生成される実行可能判断信号をサイクル#6からサ
イクル105 までカウントし、100 サイクル分だけ結果デ
ータd[0]-d[99]を格納した時点で、プログラムの処理を
終了する。
The second control unit 120 counts the executable determination signal generated by the first control unit 50 from cycle # 6 to cycle 105, and outputs the result data d [0] -d for 100 cycles. When [99] is stored, the processing of the program ends.

【0204】また、第1の演算部20では、実行プログラ
ムで定められたタイミングで、定期的に第2の制御部12
0 におけるライトポインタ162 の値を参照し、その数値
が“100 ”になっているかどうかを判断して、プログラ
ムが終了したか否かを判断する[S104],[S105] 。
Further, the first arithmetic unit 20 periodically executes the second control unit 12 at the timing determined by the execution program.
By referring to the value of the write pointer 162 at 0, it is determined whether or not the numerical value is "100", and it is determined whether or not the program is terminated [S104], [S105].

【0205】つまり、[ プログラム3]では、第1の演算
部20から、第1の制御部50と第3の制御部250 の各実行
可能判断部に対して、読み出し開始を示す同期信号600
を出力し、この同期信号を参照して、第2のメモリ100
及び第4のメモリ260 からの配列データ及び実行可能判
断信号を同期させることにより、第4の演算部200 での
データ入力の同期が行なえるので、実行を行なう配列デ
ータの数が多くなった際にも、誤りなくプログラムの実
行が可能となる。
That is, in [Program 3], the first arithmetic unit 20 sends a synchronization signal 600 indicating the start of reading to each of the executable determination units of the first control unit 50 and the third control unit 250.
Is output and the second memory 100
By synchronizing the array data from the fourth memory 260 and the executable determination signal, the data input in the fourth arithmetic unit 200 can be synchronized, so that when the number of array data to be executed increases, In addition, the program can be executed without error.

【0206】更に、各制御部、メモリ及び演算部間にお
けるネットワーク240 において、各々の実行可能判断信
号及びデータ線を孤立又は接続するバススイッチ250 、
260 を設けることにより、より多数の本数のデータの接
続が可能となる。
Further, in the network 240 between each control unit, the memory and the arithmetic unit, a bus switch 250 which isolates or connects each executable determination signal and data line,
By providing 260, a larger number of data can be connected.

【0207】(第3の実施の形態)図16は、本発明の
第3の実施の形態のデータ処理装置を示す。
(Third Embodiment) FIG. 16 shows a data processing device according to a third embodiment of the present invention.

【0208】前記第2の実施の形態と異なる点は、第1
の演算部20から各制御部に対して同期信号600 が送出さ
れた後に挿入する遅延サイクルを格納する遅延サイクル
数レジスタ700,710,720 を設けた点である。この遅延サ
イクル数レジスタを設けることにより、各制御部でのデ
ータ送信開始サイクルを個別に設定することが可能にな
る。
The difference from the second embodiment is that the first embodiment
That is, delay cycle number registers 700, 710, and 720 for storing delay cycles to be inserted after the synchronization signal 600 is transmitted from the arithmetic unit 20 to each control unit. By providing the delay cycle number register, it is possible to individually set the data transmission start cycle in each control unit.

【0209】本第3の実施の形態では、次のプログラム
を考える。
In the third embodiment, the following program is considered.

【0210】 本[ プログラム4]が前記[ プログラム3]と異なる点は、
結果データt2を求めるための演算段数(0段) が、t1の演
算段数(2段) と異なるので、この結果データを求める演
算の際に同期を取るためには、この演算段数の差(2段)
だけ、遅らせる手段が必要となる点である。
[0210] The difference between this [Program 4] and [Program 3] is that
Since the number of operation stages (0 stages) for obtaining the result data t2 is different from the number of operation stages (2 stages) of t1, in order to synchronize the operation for obtaining this result data, the difference (2 Step)
The only point is that a means of delay is required.

【0211】図17は、本実施の形態において、ネット
ワーク構成線により構成されたネットワークにおけるデ
ータの流れを説明する図である。
FIG. 17 is a diagram illustrating the flow of data in a network constituted by network configuration lines in the present embodiment.

【0212】図16に示したデータ処理装置において、
[ プログラム3]を実行するためには、図17に示すよう
に、第1の制御部50の実行可能判断信号270 と第2のメ
モリ100 のデータ線324 とのペアを、ネットワーク240
の実行可能判断信号172 とデータ線171 とに出力するよ
うに出力バススイッチ182 を切替えると共に、実行可能
判断信号172 とデータ線171 とから第2の演算部30へ信
号を入力するように入力バススイッチ180 を切替える。
また、第3の演算部130 からの実行可能判断信号276 と
データ線322 とをネットワーク240 の実行可能判断信号
174 とデータ線173 とに出力するように出力バススイッ
チ184 を切替える。
In the data processing device shown in FIG.
To execute [Program 3], as shown in FIG. 17, a pair of the executable determination signal 270 of the first control unit 50 and the data line 324 of the second memory 100 is connected to the network 240.
The output bus switch 182 is switched so as to output the feasibility determination signal 172 and the data line 171, and the input bus is configured to input a signal to the second arithmetic unit 30 from the feasibility determination signal 172 and the data line 171. Flip switch 180.
Also, the executable determination signal 276 from the third arithmetic unit 130 and the data line 322 are connected to the executable determination signal of the network 240.
The output bus switch 184 is switched so as to output to the 174 and the data line 173.

【0213】更に、バススイッチ350 において、バスス
イッチ352 は第1の制御部50、第2のメモリ100 、第2
の演算部30及び第3の演算部130 で個別にデータを必要
とするので、OFF に設定する。また、バススイッチ354
は、第3の演算部130 の結果を第4の演算部200 に送る
必要があるので、ONに設定する。
Further, in the bus switch 350, the bus switch 352 includes the first control unit 50, the second memory 100,
Since the calculation unit 30 and the third calculation unit 130 need data individually, they are set to OFF. Also, the bus switch 354
Is set to ON because it is necessary to send the result of the third arithmetic unit 130 to the fourth arithmetic unit 200.

【0214】また、第3の制御部250 の実行可能判断信
号286 と第4のメモリ260 のデータ線336 とのペアは、
ネットワーク240 の実行可能判断信号174 とデータ線17
3 に出力するように出力バススイッチ194 を切替える。
The pair of the executable determination signal 286 of the third control unit 250 and the data line 336 of the fourth memory 260 is
Executable judgment signal 174 and data line 17 of network 240
The output bus switch 194 is switched so that the signal is output to 3.

【0215】更に、バススイッチ360 では、バススイッ
チ362 はOFF に設定し、バススイッチ364 は、第3の制
御部250 の実行可能判断信号286 と第4のメモリ260 デ
ータ線336 とを第4の演算部200 に送る必要があるの
で、ONに設定する。
Further, in the bus switch 360, the bus switch 362 is set to OFF, and the bus switch 364 connects the executable determination signal 286 of the third control unit 250 and the fourth memory 260 data line 336 to the fourth memory 260. Since it needs to be sent to the arithmetic unit 200, it is set to ON.

【0216】加えて、第4の演算部200 への入力バスス
イッチ186 は、ネットワーク240 の実行可能判断信号17
4 とデータ線173 とを入力するように切替え、第5の演
算部210 からの実行可能判断信号280 とデータ線328 の
信号をネットワーク240 の実行可能判断信号176 とデー
タ線175 とに出力するように出力バススイッチ190 を切
替える。更に、第2の制御部120 への実行可能信号276
とデータ線330 とを、ネットワーク240 の実行可能判断
信号176 とデータ線175 から入力するように入力バスス
イッチ188 を切替える。これにより、同様の動作が行な
える。
In addition, the input bus switch 186 to the fourth arithmetic unit 200 is connected to the executable
4 and the data line 173 are switched to be input, and the executable determination signal 280 and the signal on the data line 328 from the fifth arithmetic unit 210 are output to the executable determination signal 176 and the data line 175 of the network 240. The output bus switch 190 is changed over. Furthermore, the executable signal 276 to the second control unit 120
The input bus switch 188 is switched so as to input an executable judgment signal 176 of the network 240 and the data line 175 to the data line 330. Thereby, a similar operation can be performed.

【0217】図18及び図19は、本発明の第3実施の
形態の基本的な動作フローを説明する図である。図20
及び図21は、本発明の第3実施の形態の[ プログラム
4]における各部でのデータを説明する図である。
FIGS. 18 and 19 are diagrams for explaining the basic operation flow of the third embodiment of the present invention. FIG.
And FIG. 21 shows a program according to the third embodiment of the present invention.
FIG. 4 is a diagram illustrating data in each unit in [4].

【0218】本発明の第3の実施の形態を、図16、図
17、図18、図19、図20及び図21を用いて説明
する。
A third embodiment of the present invention will be described with reference to FIGS. 16, 17, 18, 19, 20, and 21.

【0219】( サイクル #0 以前)本発明におけるデー
タ処理装置のための実行プログラム及び入力データは、
コンパイラ又はアセンブラによって生成され、プログラ
ムローダにより事前に第1のメモリ10へ格納される[S20
0]。
(Before cycle # 0) The execution program and input data for the data processing device in the present invention are as follows:
Generated by a compiler or assembler and stored in advance in the first memory 10 by the program loader [S20
0].

【0220】つまり、入力データ配列a、b、c、d
は、入力データ6として、第1のメモリ10の中に格納さ
れ。更に、実行プログラム4には、本発明に係る以下に
行なう動作についてのフローが格納されている。
That is, the input data arrays a, b, c, d
Are stored in the first memory 10 as input data 6. Further, the execution program 4 stores a flow of the following operation according to the present invention.

【0221】ここで、プログラムローダとしては、外部
プロセッサ等が考えられるが、本発明に関して主要な点
でないので、説明を省略する。
Here, an external processor or the like can be considered as the program loader. However, since it is not a main point in the present invention, the description is omitted.

【0222】第1の演算部20は、第1のメモリ10の実行
プログラムを受け取り、第1の制御部50のポインタ60及
びライトポインタ62を各々“0”に初期化する。第1の
演算部20は、第1のメモリ10の実行プログラムを受け取
り、第2の制御部120 のポインタ160 及びライトポイン
タ162 を各々“0”に初期化する。更に、1の演算部20
は、第1のメモリ10の実行プログラムを受け取り、第3
の制御部250 のポインタ及びライトポインタを各々
“0”に初期化する。第1の演算部20は、第1のメモリ
10の実行プログラムを受け取り、ネットワーク240 の各
入力バススイッチ、各出力バススイッチ及びバススイッ
チの接続構成をネットワーク構成線400 により設定する
[S201]。
The first arithmetic unit 20 receives the execution program in the first memory 10, and initializes the pointer 60 and the write pointer 62 of the first control unit 50 to “0”. The first arithmetic unit 20 receives the execution program in the first memory 10, and initializes the pointer 160 and the write pointer 162 of the second control unit 120 to "0". Furthermore, one operation unit 20
Receives the execution program in the first memory 10 and
The pointer and the write pointer of the control unit 250 are initialized to "0". The first arithmetic unit 20 includes a first memory
10 execution programs are received, and the connection configuration of each input bus switch, each output bus switch, and the bus switch of the network 240 is set by the network configuration line 400.
[S201].

【0223】また、第1の制御部50及び第3の制御部25
0 の各実行可能判断部では、各サイクル毎にポインタの
値、ライトポインタの値及び同期信号600 を参照し、実
行できるデータが第2のメモリ100 及び第4のメモリ26
0 に存在せず、実行開始ができないことを判断している
[T200]。
The first control unit 50 and the third control unit 25
In each of the executable determination units of 0, the value of the pointer, the value of the write pointer, and the synchronization signal 600 are referred to in each cycle, and the executable data is stored in the second memory 100 and the fourth memory 26.
It does not exist in 0 and it is determined that execution cannot be started
[T200].

【0224】更に、第2の制御部120 の実行可能判断部
170 では、各サイクル毎に第3の演算部130 からの実行
可能判断信号を受け取り、書き込みデータが存在しない
ことを判断している[U200]。
Further, the executable determination section of the second control section 120
At 170, an executable determination signal is received from the third arithmetic unit 130 for each cycle, and it is determined that there is no write data [U200].

【0225】第1の演算部20は、第1のメモリ10の実行
プログラムを受け取ると共に、第1のメモリ10から配列
a,b,cの100 ワードのデータを受け取り、これ等を
順次第2のメモリ100 に書き込む。更に、第1の制御部
50のライトポインタ62に“100 ”という数を、ポインタ
60に“0”を各々書き込む。第1の演算部20は、更に、
第1のメモリ10の実行プログラムを受け取り、同様に第
4のメモリ260 にも配列d、e、fの100 ワードを書き
込み、更に、第3の制御部250 のライトポインタ及びポ
インタを各々“100 ”と“0”に設定する。
The first arithmetic unit 20 receives the execution program of the first memory 10, receives the data of 100 words of the arrays a, b, and c from the first memory 10, and sequentially receives these data in the second memory 10. Write to memory 100. Further, a first control unit
The number "100" is assigned to the 50
"0" is written into 60 respectively. The first arithmetic unit 20 further includes:
The execution program of the first memory 10 is received, and similarly, 100 words of the arrays d, e, and f are written in the fourth memory 260, and the write pointer and the pointer of the third control unit 250 are respectively set to "100". And "0".

【0226】加えて、第1の演算部20は、第1のメモリ
10の実行プログラムを受け取り、第1の制御部50の遅延
サイクルレジスタ700 には“0”を、第3の遅延サイク
ルレジスタ720 には“2”を格納する[S202]。
In addition, the first arithmetic unit 20 includes a first memory
Upon receiving the ten execution programs, "0" is stored in the delay cycle register 700 of the first control unit 50 and "2" is stored in the third delay cycle register 720 [S202].

【0227】( サイクル #0)第1の演算部20は、第1の
メモリ10の実行プログラムを受け取り、同期信号線に計
算開始信号を出力する[S203]。
(Cycle # 0) The first arithmetic unit 20 receives the execution program of the first memory 10, and outputs a calculation start signal to the synchronization signal line [S203].

【0228】( サイクル #1)第1の制御部50は、ライト
ポインタ62の値とポインタ60の値とを比較し、更に同期
信号線を参照して、ポインタ60の値が“0”であり、ラ
イトポインタ62の値が“100 ”であり、同期信号が示さ
れ、且つ遅延サイクルレジスタ700 の値が“0”である
ので、読み出し可能であることを判断し、これを第2の
メモリ 100 に送出すると共にネットワーク240 の実
行可能判断信号172 を介して第2の演算部30へ送り出
す。
(Cycle # 1) The first control unit 50 compares the value of the write pointer 62 with the value of the pointer 60, further refers to the synchronization signal line, and determines that the value of the pointer 60 is “0”. Since the value of the write pointer 62 is "100", the synchronizing signal is indicated, and the value of the delay cycle register 700 is "0", it is determined that the data can be read. And to the second arithmetic unit 30 via the executable determination signal 172 of the network 240.

【0229】第2のメモリ100 では、この信号を元にデ
ータ配列a,b,cの最初のデータa[0],b[0],c[0]をネ
ットワーク240 のデータ線171 に送り出す。また、ポイ
ンタ60の値は、配列の1つ分だけインクリメントされる
[T200],[T201],[T202]。この第1の制御部50と第2のメ
モリ100 の動作は、以降、各サイクル毎に実行されてい
る。
The second memory 100 sends the first data a [0], b [0], c [0] of the data arrays a, b, c to the data line 171 of the network 240 based on this signal. The value of the pointer 60 is incremented by one for the array.
[T200], [T201], [T202]. The operations of the first control unit 50 and the second memory 100 are thereafter executed for each cycle.

【0230】第3の制御部250 では、ライトポインタの
値とポインタの値とが比較され、更に、同期信号線を参
照し、開始サイクルが始まったことを判断する[T200]。
The third control unit 250 compares the value of the write pointer with the value of the pointer, and further refers to the synchronization signal line to determine that the start cycle has started [T200].

【0231】しかし、ポインタが“0”であり、ライト
ポインタが“100 ”に設定され、同期信号600 が示され
たが、第3の制御部250 の遅延サイクルレジスタ720 の
値が“2”であるので、読み出し可能になるためには、
あと2サイクル必要であることを判断する。ここで、開
始サイクルまであと2サイクルであることをカウントし
始める[T201]。
However, the pointer is “0”, the write pointer is set to “100”, and the synchronization signal 600 is indicated, but the value of the delay cycle register 720 of the third control unit 250 is “2”. So, in order to be able to read,
It is determined that two more cycles are required. Here, it starts counting that there are two more cycles until the start cycle [T201].

【0232】( サイクル #2)第1の制御部50及び第2の
メモリ100 では、サイクル#1と同様の動作がなされ、ポ
インタ60の値は、更にアドレス1つ分だけインクリメン
トされる。
(Cycle # 2) In the first control unit 50 and the second memory 100, the same operation as in the cycle # 1 is performed, and the value of the pointer 60 is further incremented by one address.

【0233】第3の制御部250 では、ライトポインタの
値とポインタの値とが比較され、更に同期信号線を参照
して、開始サイクルが始まったことを判断する[T200]。
The third control unit 250 compares the value of the write pointer with the value of the pointer, and further refers to the synchronization signal line to determine that the start cycle has started [T200].

【0234】しかし、ポインタが“0”であり、ライト
ポインタが“100 ”に設定され、同期信号600 が示され
たが、第3の制御部250 の遅延サイクルレジスタ720 の
値が“2”であるため、読み出し可能になるためには、
あと1サイクル必要であることを判断する[T201]。
However, the pointer is "0", the write pointer is set to "100", and the synchronizing signal 600 is indicated, but the value of the delay cycle register 720 of the third control unit 250 is "2". Therefore, in order to be able to read,
It is determined that one more cycle is needed [T201].

【0235】第2の演算部30では、ネットワーク240 の
データ線171 から第2のメモリ100 の3種類のデータを
受け取り、乗算操作であるa[0]xb[0] を行ない、更に、
第1の制御部50からの実行可能判断信号72を一時的に1
サイクルだけ遅延し、処理結果データ(a[0]xb[0]) 、c
[0]及び、遅延した実行可能判断信号を第3の演算部130
へ送り出す。この第2の演算部30の動作も、各サイク
ル毎に実行されている。
The second arithmetic unit 30 receives three types of data in the second memory 100 from the data line 171 of the network 240, performs a multiplication operation a [0] xb [0], and further performs a multiplication operation.
The executable determination signal 72 from the first control unit 50 is temporarily set to 1
Delayed by the cycle, processing result data (a [0] xb [0]), c
[0] and the delayed executable determination signal
Send to The operation of the second arithmetic unit 30 is also executed for each cycle.

【0236】( サイクル #3)第1の制御部50及び第2の
メモリ100 では、サイクル#2と同様の動作がなされ、ポ
インタ60の値は更にアドレス1つ分だけインクリメント
される。
(Cycle # 3) In the first control unit 50 and the second memory 100, the same operation as in the cycle # 2 is performed, and the value of the pointer 60 is further incremented by one address.

【0237】第3の制御部250 では、ライトポインタの
値とポインタの値とが比較され、更に同期信号線600 を
参照し、開始サイクルが始まったことを判断する[T20
0]。
The third control unit 250 compares the value of the write pointer with the value of the pointer, and further refers to the synchronization signal line 600 to determine that the start cycle has started [T20].
0].

【0238】そして、ポインタが“0”であり、ライト
ポインタが100 に設定され、同期信号600 が示され、開
始サイクルになったことを判断したので、この判断がネ
ットワーク240 の可能判断信号174 に送られる[T201]。
Since the pointer is "0", the write pointer is set to 100, the synchronization signal 600 is indicated, and it is determined that the start cycle has been reached, this determination is made by the possibility determination signal 174 of the network 240. Sent [T201].

【0239】第4のメモリ260 では、この信号を元にデ
ータ配列dの最初のデータd[0]をネットワーク240 のデ
ータ線173 に送り出す。また、第3の制御部250 のポイ
ンタの値は、配列の1つ分だけインクリメントされる[T
202]。
The fourth memory 260 sends the first data d [0] of the data array d to the data line 173 of the network 240 based on this signal. The value of the pointer of the third control unit 250 is incremented by one for the array [T
202].

【0240】第2の演算部30では、サイクル#2と同様の
処理がなされ、配列の次の要素a[1]xb[1] が計算され
る。
In the second arithmetic unit 30, the same processing as in the cycle # 2 is performed, and the next element a [1] xb [1] of the array is calculated.

【0241】第3の演算部130 では、第2の演算部30か
らの処理結果データを受け取り、加算a[0]xb[0]+c[0]を
行ない、更に、第2の演算部30からの実行可能判断信号
を一時的に1サイクルだけ遅延し、処理結果データa[0]
xb[0]+c[0]及び、遅延した実行可能判断信号をネットワ
ーク240 の実行可能判断信号174 とデータ線173 とに送
り出す。
The third operation unit 130 receives the processing result data from the second operation unit 30 and performs addition a [0] xb [0] + c [0]. From the execution result determination signal a [0]
xb [0] + c [0] and the delayed executable decision signal are sent to the executable decision signal 174 and the data line 173 of the network 240.

【0242】( サイクル #4)第1の制御部50及び第2の
メモリ100 では、サイクル#3と同様の動作がなされ、ポ
インタ60の値は更にアドレス1つ分だけインクリメント
される。
(Cycle # 4) In the first control unit 50 and the second memory 100, the same operation as in the cycle # 3 is performed, and the value of the pointer 60 is further incremented by one address.

【0243】第2の演算部30では、サイクル#3と同様の
処理がなされ、配列の次の要素a[2]xa[2] が計算され
る。
In the second arithmetic unit 30, the same processing as in cycle # 3 is performed, and the next element a [2] xa [2] in the array is calculated.

【0244】第3の演算部130 では、サイクル#3と同様
の処理がなされ、配列の次の要素a[1]xb[1]+c[1]が計算
される。
In the third arithmetic unit 130, the same processing as in the cycle # 3 is performed, and the next element a [1] xb [1] + c [1] in the array is calculated.

【0245】第4の演算部200 では、ネットワーク240
のデータ線173 から第2の演算部30からの処理結果デー
タt1(=a[0]xb[0]+c[0]) と、第4のメモリ260 からのデ
ータt2(=d[0]) と、各々の制御部からの実行可能判断信
号を同時に受け取り、この両者の乗算t1xt2 を行ない、
更に、実行可能判断信号を一時的に1サイクルだけ遅延
し、その処理結果データ及び遅延した実行可能判断信号
を第5の演算部210 へ送り出す。
In the fourth arithmetic unit 200, the network 240
The processing result data t1 (= a [0] xb [0] + c [0]) from the second arithmetic unit 30 and the data t2 (= d [0]) from the fourth memory 260 from the data line 173 of FIG. ) And an executable determination signal from each control unit at the same time, and multiply the two by t1xt2,
Further, the executable determination signal is temporarily delayed by one cycle, and the processing result data and the delayed executable determination signal are sent to the fifth arithmetic unit 210.

【0246】ここで、#0サイクルで同期信号600 が生成
され、第2のメモリ100 では、遅延サイクル“0”であ
るので、即座に次のサイクルでデータを送出し始める。
また、第4のメモリ260 を制御する第3の制御部250 で
は、2サイクル分だけ遅延を行なうので、このサイクル
での第4の演算部200 へのデータt1,t2 の同時入力が可
能となっている。
Here, the synchronization signal 600 is generated in the # 0 cycle, and the second memory 100 immediately starts sending data in the next cycle because the delay cycle is "0".
Further, since the third control unit 250 that controls the fourth memory 260 delays by two cycles, it is possible to simultaneously input the data t1 and t2 to the fourth arithmetic unit 200 in this cycle. ing.

【0247】( サイクル #5)第1の制御部50及び第2の
メモリ100 では、サイクル#4と同様の動作がなされ、ポ
インタ60の値は更にアドレス1つ分だけインクリメント
される。
(Cycle # 5) In the first control unit 50 and the second memory 100, the same operation as in cycle # 4 is performed, and the value of the pointer 60 is further incremented by one address.

【0248】第3の制御部250 及び第4のメモリ260 で
は、サイクル#4と同様の動作がなされ、ポインタの値は
更にアドレス1つ分だけインクリメントされる。
In the third control unit 250 and the fourth memory 260, the same operation as in the cycle # 4 is performed, and the value of the pointer is further incremented by one address.

【0249】第2の演算部30では、サイクル#4と同様の
処理がなされ、配列の次の要素a[3]xa[3] が計算され
る。
In the second arithmetic unit 30, the same processing as in cycle # 4 is performed, and the next element a [3] xa [3] in the array is calculated.

【0250】第3の演算部130 では、サイクル#4と同様
の処理がなされ、配列の次の要素a[2]xb[2]+c[2]が計算
される。
In the third arithmetic unit 130, the same processing as in cycle # 4 is performed, and the next element a [2] xb [2] + c [2] in the array is calculated.

【0251】第4の演算部200 では、サイクル#4と同様
の処理がなされ、配列の次の要素t1xt2 が計算される。
In the fourth arithmetic unit 200, the same processing as in cycle # 4 is performed, and the next element t1xt2 in the array is calculated.

【0252】第5の演算部210 では、第4の演算部200
からの処理結果データを受け取り、加算に対する処理が
ないので、第4の演算部200 から来たデータ自身と、第
4の演算部200 からの実行可能判断信号を一時的に1サ
イクルだけ遅延した実行可能判断信号とを、ネットワー
ク240 の実行可能判断信号176 とデータ線175 へ送り出
す。
In the fifth arithmetic section 210, the fourth arithmetic section 200
Since the processing result data from the fourth arithmetic unit 200 is not received and there is no processing for the addition, the data itself coming from the fourth arithmetic unit 200 and the executable judgment signal from the fourth arithmetic unit 200 are temporarily delayed by one cycle. The feasibility determination signal is sent to the feasibility determination signal 176 and the data line 175 of the network 240.

【0253】( サイクル #6)第1の制御部50及び第2の
メモリ100 では、サイクル#5と同様の動作がなされ、ポ
インタ60の値は更にアドレス1つ分だけインクリメント
される。
(Cycle # 6) In the first control unit 50 and the second memory 100, the same operation as in cycle # 5 is performed, and the value of the pointer 60 is further incremented by one address.

【0254】第3の制御部250 及び第4のメモリ260 で
は、サイクル#5と同様の動作がなされ、ポインタの値は
更にアドレス1つ分だけインクリメントされる。
In the third control unit 250 and the fourth memory 260, the same operation as in the cycle # 5 is performed, and the value of the pointer is further incremented by one address.

【0255】第2の演算部30では、サイクル#5と同様の
処理がなされ、配列の次の要素a[4]xb[4] が計算され
る。
In the second arithmetic unit 30, the same processing as in cycle # 5 is performed, and the next element a [4] xb [4] in the array is calculated.

【0256】第3の演算部130 では、サイクル#5と同様
の処理がなされ、配列の次の要素a[3]xb[3]+c[3]が計算
される。
The third arithmetic unit 130 performs the same processing as in cycle # 5, and calculates the next element a [3] xb [3] + c [3] in the array.

【0257】第4の演算部200 では、サイクル#5と同様
の処理がなされ、配列の次の要素t1xt2 が計算される。
In the fourth arithmetic unit 200, the same processing as in cycle # 5 is performed, and the next element t1xt2 in the array is calculated.

【0258】第5の演算部210 では、サイクル#5と同様
の処理がなされ、第4の演算部200 からのデータがその
まま出力される。
In the fifth arithmetic section 210, the same processing as in the cycle # 5 is performed, and the data from the fourth arithmetic section 200 is output as it is.

【0259】第3のメモリ102 は、ネットワーク240 の
実行可能判断信号176 を受け、書き込みが可能なことを
判断し、データ線175 からの結果データをライトポイン
タ162 のアドレスに結果データg[0]として書き込む。同
時に、第2の制御部50のライトポインタ162 の値は、そ
の後、+1だけ増加させる。
The third memory 102 receives the execution determination signal 176 of the network 240, determines that writing is possible, and transfers the result data from the data line 175 to the address of the write pointer 162 to the result data g [0]. Write as At the same time, the value of the write pointer 162 of the second control unit 50 is thereafter increased by +1.

【0260】( サイクル #7)第1の制御部50及び第2の
メモリ100 では、サイクル#6と同様の動作がなされ、ポ
インタ60の値は更にアドレス1つ分だけインクリメント
される。
(Cycle # 7) In the first control unit 50 and the second memory 100, the same operation as in the cycle # 6 is performed, and the value of the pointer 60 is further incremented by one address.

【0261】第3の制御部250 及び第4のメモリ260 で
は、サイクル#6と同様の動作がなされ、ポインタの値は
更にアドレス1つ分だけインクリメントされる。
In the third control unit 250 and the fourth memory 260, the same operation as in the cycle # 6 is performed, and the value of the pointer is further incremented by one address.

【0262】第2の演算部30では、サイクル#6と同様の
処理がなされ、配列の次の要素a[5]xb[5] が計算され
る。
In the second arithmetic unit 30, the same processing as in cycle # 6 is performed, and the next element a [5] xb [5] in the array is calculated.

【0263】第3の演算部130 では、サイクル#6と同様
の処理がなされ、配列の次の要素a[4]xb[4]+c[4]が計算
される。
In the third arithmetic unit 130, the same processing as in the cycle # 6 is performed, and the next element a [4] xb [4] + c [4] in the array is calculated.

【0264】第4の演算部200 では、サイクル#6と同様
の処理がなされ、配列の次の要素t1xt2 が計算される。
In the fourth arithmetic unit 200, the same processing as in cycle # 6 is performed, and the next element t1xt2 in the array is calculated.

【0265】第5の演算部210 では、サイクル#6と同様
の処理がなされ、第4の演算部200 からのデータがその
まま出力される。
In the fifth arithmetic section 210, the same processing as in the cycle # 6 is performed, and the data from the fourth arithmetic section 200 is output as it is.

【0266】第3のメモリ102 では、サイクル#6と同様
の処理がなされて、配列の次の要素d[1]が格納される。
ライトポインタ162 の値は、1つ分だけインクリメント
される。
In the third memory 102, the same processing as in cycle # 6 is performed, and the next element d [1] in the array is stored.
The value of the write pointer 162 is incremented by one.

【0267】以降の各サイクルでは、同様の処理がなさ
れ、第1の制御部50及び第2のメモリ100 と、第3の制
御部250 及び第4のメモリ260 では、ポインタの値とラ
イトポインタの値が同じ数“100 ”になるまで繰り返さ
れる。また、第2の制御部120 では、第1の制御部50で
生成される実行可能判断信号をサイクル#6からサイクル
105 までカウントし、100 サイクル分だけ結果データd
[0]-d[99]が格納された時点で、プログラムの処理を終
了する。また、第1の演算部20では、実行プログラムで
定められたタイミングで、定期的に第2の制御部50にお
けるライトポインタ162 を参照し、その数値が“100 ”
になっているか否かを判断して、プログラムの終了を判
断する[S204],[S205] 。
In each of the subsequent cycles, the same processing is performed. The first control unit 50 and the second memory 100 and the third control unit 250 and the fourth memory 260 store the pointer value and the write pointer value. This is repeated until the value reaches the same number "100". Also, the second control unit 120 outputs the executable determination signal generated by the first control unit 50 from cycle # 6 to cycle
Count up to 105, and result data d for 100 cycles
When [0] -d [99] is stored, the processing of the program ends. Further, the first arithmetic unit 20 periodically refers to the write pointer 162 in the second control unit 50 at a timing determined by the execution program, and sets the numerical value to “100”.
Then, it is determined whether or not the program has ended, and the end of the program is determined [S204] and [S205].

【0268】つまり、予め、処理を行なうネットワーク
の組合せが決まった時点で、各制御部にある遅延サイク
ル数レジスタに遅延サイクルを設定することにより、各
々のメモリから違ったタイミングでのデータ入力が可能
になる。
That is, when a combination of networks to be processed is determined in advance, a delay cycle is set in the delay cycle number register in each control unit, so that data can be input from each memory at a different timing. become.

【0269】以上、本第3の実施の形態は、既述した原
理、第1及び第2の実施の形態における[ プログラム1]
〜[ プログラム3]の何れも実行可能であるので、プログ
ラム性において、一番柔軟と言える。
As described above, the third embodiment is different from the above-described principle, [Program 1] in the first and second embodiments.
~ [Program 3] can be executed, so it can be said that it is the most flexible in programmability.

【0270】尚、以上の説明では、実行可能判断信号7
2,144 ,150 ,172 を有効データ特定信号としたが、
この実行可能判断信号は演算部30.130.200.210.220.230
での演算(処理)のイネーブル信号と解しても良い。
In the above description, the executable determination signal 7
Although 2,144,150,172 were used as valid data identification signals,
This executable determination signal is calculated by the arithmetic unit 30.130.200.210.220.230.
May be interpreted as an enable signal for the calculation (processing) in.

【0271】また、以上の説明では、各演算部30,130,2
00,210,220,230は1サイクルの演算サイクル数を持つ
が、本発明はこれに限定されず、各演算部は、2サイク
ル以上の演算サイクルを持つ演算部であっても良いのは
勿論である。この場合、各演算部に内蔵される遅延部
は、各々、自己の演算部の演算サイクル数に等しいサイ
クル数だけ実行可能判断信号(有効データ特定信号)を
遅延する。更に、本発明は、各演算部毎に実行可能判断
信号を遅延する場合に限らず、要は、演算結果がデータ
格納部に格納される時点で、同時に実行可能判断信号が
このデータ格納部に入力されればよい。
In the above description, each of the arithmetic units 30, 130, 2
Each of the operation units 00, 210, 220, and 230 has one operation cycle, but the present invention is not limited to this, and each operation unit may be an operation unit having two or more operation cycles. In this case, each of the delay units built in each operation unit delays the executable determination signal (valid data specifying signal) by the number of cycles equal to the number of operation cycles of its own operation unit. Furthermore, the present invention is not limited to the case where the execution determination signal is delayed for each operation unit. It only has to be entered.

【0272】[0272]

【発明の効果】以上説明したように、請求項1ないし請
求項15記載の発明のデータ処理装置によれば、メモリ
と演算器との間の接続状況をネットワークにより切換え
可能とからのデータの読み出し時に、このデータに有効
データ特定信号を付与すると共に、このデータが演算部
で演算された演算結果データを記憶部に格納される際
に、同時に前記有効データ特定信号をこの記憶部に入力
するので、演算段数が異なっても、この演算結果データ
を有効なデータとして認識できると共に、記憶部に格納
することが可能である。従って、汎用性があって種々の
マルチメディアアプリケーションに適応可能なデータ処
理装置を提供できる。
As described above, according to the data processing apparatus of the present invention, the connection between the memory and the computing unit can be switched over a network to read data. At the same time, a valid data specifying signal is added to this data, and when this data is stored in the storage unit with the calculation result data calculated by the calculating unit, the valid data specifying signal is simultaneously input to this storage unit. Even if the number of operation stages is different, this operation result data can be recognized as valid data and can be stored in the storage unit. Therefore, it is possible to provide a data processing device which is versatile and adaptable to various multimedia applications.

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

【図1】本発明の第1の実施の形態のデータ処理装置の
原理を示す図である。
FIG. 1 is a diagram illustrating the principle of a data processing device according to a first embodiment of the present invention.

【図2】同原理における第1の演算部の動作フローを示
す図である。
FIG. 2 is a diagram showing an operation flow of a first calculation unit based on the same principle.

【図3】同原理における第1及び第2の制御部の動作フ
ローを示す図である。
FIG. 3 is a diagram illustrating an operation flow of first and second control units according to the same principle.

【図4】同原理における各部のデータ値の説明図であ
る。
FIG. 4 is an explanatory diagram of a data value of each unit according to the same principle.

【図5】本発明の第1の実施の形態におけるデータ処理
装置の構成を示す図である。
FIG. 5 is a diagram showing a configuration of a data processing device according to the first embodiment of the present invention.

【図6】同データ処理装置におけるデータの流れの一例
を示す図である。
FIG. 6 is a diagram showing an example of a data flow in the data processing device.

【図7】同データ処理装置におけるデータの流れの他の
一例を示す図である。
FIG. 7 is a diagram showing another example of a data flow in the data processing device.

【図8】同データ処理装置におけるデータの流れの他の
一例での各部のデータ値の説明図である。
FIG. 8 is an explanatory diagram of a data value of each unit in another example of a data flow in the data processing device.

【図9】同例での他の各部におけるデータ値の説明図で
ある。
FIG. 9 is an explanatory diagram of data values in other units in the same example.

【図10】本発明の第2の実施の形態におけるデータ処
理装置の構成を示す図である。
FIG. 10 is a diagram illustrating a configuration of a data processing device according to a second embodiment of the present invention.

【図11】同データ処理装置におけるデータの流れの一
例を示す図である。
FIG. 11 is a diagram showing an example of a data flow in the data processing device.

【図12】同データ処理装置における第1の演算部の動
作フローを示す図である。
FIG. 12 is a diagram showing an operation flow of a first arithmetic unit in the data processing device.

【図13】同データ処理装置の第1及び第2の制御部の
動作フローを示す図である。
FIG. 13 is a diagram showing an operation flow of first and second control units of the data processing device.

【図14】同データ処理装置におけるデータの流れの一
例での各部のデータ値の説明図である。
FIG. 14 is an explanatory diagram of a data value of each unit in an example of a data flow in the data processing device.

【図15】同例での他の各部におけるデータ値の説明図
である。
FIG. 15 is an explanatory diagram of data values in other units in the same example.

【図16】本発明の第3の実施の形態におけるデータ処
理装置の構成を示す図である。
FIG. 16 is a diagram illustrating a configuration of a data processing device according to a third embodiment of the present invention.

【図17】同データ処理装置におけるデータの流れの一
例を示す図である。
FIG. 17 is a diagram showing an example of a data flow in the data processing device.

【図18】同データ処理装置における第1の演算部の動
作フローを示す図である。
FIG. 18 is a diagram showing an operation flow of a first calculation unit in the data processing device.

【図19】同データ処理装置の第1及び第2の制御部の
動作フローを示す図である。
FIG. 19 is a diagram showing an operation flow of first and second control units of the data processing device.

【図20】同データ処理装置におけるデータの流れの一
例での各部のデータ値の説明図である。
FIG. 20 is an explanatory diagram of a data value of each unit in an example of a data flow in the data processing device.

【図21】同例での他の各部におけるデータ値の説明図
である。
FIG. 21 is an explanatory diagram of data values in other units in the same example.

【符号の説明】[Explanation of symbols]

2 プログラムローダ 4 実行プログラム 6 入力データ 10 第1のメモリ(主データ格
納部) 12,22,24,32,34,36 データ線 20 第1の演算部(データ転送
部) 30 第2の演算部(演算部) 38 乗算部(処理部) 40,146 データラッチ 42,148 出力セレクタ 50 第1の制御部(制御部) 60,160 ポインタ 62,162 ライトポインタ 64,65 ポインタ設定線 66,67 ライトポインタ設定線 68 アドレス線 70,170 実行可能判断部(判断部) 72,144,150,172 実行可能判断信号(有効デ
ータ特定信号) 100 第2のメモリ(データ格納
部) 102 第3のメモリ(他のデータ
格納部) 120 第2の制御部(他の制御
部) 130 第3の演算部(演算部) 136 加算部(処理部) 140,142 実行可能判断信号ラッチ
(遅延部) 141 遅延回路 171 〜178 バス 182,184,190,194,196 出力バススイッチ 180,186,188,192 入力バススイッチ 200 第4の演算部 210 第5の演算部 212 ,232 データ線 220 第6の演算部 230 第7の演算部 240 ネットワーク 250 第3の制御部(制御部) 260 第4のメモリ(データ格納
部) 350,352,354,356,358 360, 362,364,366,368 バススイッチ 400 データ処理装置構成線 600 同期信号線 700,710,720 遅延サイクル数レジスタ
2 Program loader 4 Execution program 6 Input data 10 First memory (main data storage unit) 12, 22, 24, 32, 34, 36 Data line 20 First operation unit (Data transfer unit) 30 Second operation unit (Calculation unit) 38 Multiplication unit (Processing unit) 40,146 Data latch 42,148 Output selector 50 First control unit (Control unit) 60,160 Pointer 62,162 Write pointer 64,65 Pointer setting line 66,67 Write Pointer setting line 68 Address line 70,170 Executable judging unit (judging unit) 72,144,150,172 Executable judging signal (valid data specifying signal) 100 Second memory (data storing unit) 102 Third memory (other data storing unit) 120 No. 2 control unit (other control unit) 130 3rd operation unit (operation unit) 136 addition unit (processing unit) 140,142 executable judgment signal latch (delay unit) 141 delay circuit 171 to 178 bus 182,184,190,194,196 output bus switch 180,186,188,192 input Ba Switch 200 fourth operation unit 210 fifth operation unit 212,232 data line 220 sixth operation unit 230 seventh operation unit 240 network 250 third control unit (control unit) 260 fourth memory (data Storage unit) 350,352,354,356,358 360,362,364,366,368 Bus switch 400 Data processing device configuration line 600 Synchronous signal line 700,710,720 Delay cycle number register

Claims (15)

【特許請求の範囲】[Claims] 【請求項1】 データが格納された1個又は複数個のデ
ータ格納部と、 複数個の演算部と、 前記データ格納部と前記複数個の演算部との間の結線を
切換えるネットワークと、 前記データ格納部に格納されたデータの読み出し時に、
その読み出すデータが有効なデータであることを意味す
る有効データ特定信号を出力する制御部と、 前記制御部からの有効データ特定信号を受け、前記デー
タ格納部からのデータの読み出し時から前記1個又は複
数個の演算部で演算された結果が得られるまでのサイク
ル数だけ、前記受けた有効データ特定信号を遅延して出
力する遅延回路とを備えることを特徴とするデータ処理
装置。
A data storage unit for storing one or more data storage units; a plurality of operation units; a network for switching a connection between the data storage unit and the plurality of operation units; When reading data stored in the data storage unit,
A control unit that outputs a valid data specifying signal indicating that the data to be read is valid data; a control unit that receives a valid data specifying signal from the control unit; Or a delay circuit for delaying and outputting the received valid data specifying signal by the number of cycles until a result calculated by the plurality of calculation units is obtained.
【請求項2】 前記遅延回路は、 前記複数個の演算部に対応して各々備えられる遅延部に
より構成され、これ等遅延部は、各々、対応する演算部
が演算に要するサイクル数だけ前記有効データ特定信号
を遅延して出力することを特徴とする請求項1記載のデ
ータ処理装置。
2. The delay circuit according to claim 1, wherein the delay circuit includes a plurality of delay units provided corresponding to the plurality of operation units, and each of the delay units includes the effective number of cycles required by the corresponding operation unit for the operation. 2. The data processing device according to claim 1, wherein the data specifying signal is output with a delay.
【請求項3】 前記制御部は、 データ格納部に格納されたデータ数が与えられるライト
ポインタと、 前記データ格納部からのデータの読み出し回数が順次与
えられるポインタと、 前記ライトポインタの値の前記ポインタの値とを比較
し、前記ポインタの値が前記ライトポインタの値以下の
とき、有効データ特定信号を出力する判断部とを備える
ことを特徴とする請求項1又は請求項2記載のデータ処
理装置。
3. The control unit further comprises: a write pointer to which the number of data stored in the data storage unit is given; a pointer to which the number of times of reading data from the data storage unit is sequentially given; 3. The data processing according to claim 1, further comprising: a determination unit that compares a value of the pointer with a value of the pointer and outputs a valid data specifying signal when the value of the pointer is equal to or less than the value of the write pointer. apparatus.
【請求項4】 有効データ特定信号は、データ格納部の
内部に処理可能なデータが存在することを意味する実行
可能判断信号であることを特徴とする請求項1、請求項
2又は請求項3記載のデータ処理装置。
4. The effective data specifying signal is an executable determination signal indicating that there is data that can be processed in the data storage unit. The data processing device according to claim 1.
【請求項5】 更に、予めデータが格納された主データ
格納部と、 前記主データ格納部に格納されたデータを前記複数個の
データ格納部に転送するデータ転送部とを有し、 前記データ転送部は、前記複数個のデータ格納部からの
データの読み出しを同時に行うよう指示する同期信号を
制御部に出力することを特徴とする請求項1又は請求項
2記載のデータ処理装置。
5. A main data storage unit in which data is stored in advance, and a data transfer unit that transfers data stored in the main data storage unit to the plurality of data storage units, 3. The data processing apparatus according to claim 1, wherein the transfer unit outputs a synchronization signal for instructing to simultaneously read data from the plurality of data storage units to the control unit.
【請求項6】 制御部は、各データ格納部に対応して、
データ格納部の数に等しい個数設けられることを特徴と
する請求項5記載のデータ処理装置。
6. A control unit, corresponding to each data storage unit,
6. The data processing apparatus according to claim 5, wherein a number equal to the number of data storage units is provided.
【請求項7】 各制御部は、 同期信号の入力後からデータの読み出しを遅延させる設
定サイクル数を記憶する遅延サイクル数レジスタを有
し、 同期信号の入力後、前記遅延サイクル数経過した時、デ
ータの読み出しを開始することを特徴とする請求項6記
載のデータ処理装置。
7. Each of the control units has a delay cycle number register for storing a set cycle number for delaying data reading after the input of the synchronization signal, and when the delay cycle number has elapsed after the input of the synchronization signal, 7. The data processing apparatus according to claim 6, wherein data reading is started.
【請求項8】 前記ネットワークによる結線の切換えの
後での複数個の演算部によるデータの演算段数は、前記
切換えの前での演算段数と異なることを特徴とする請求
項1又は請求項2記載のデータ処理装置。
8. The method according to claim 1, wherein the number of operation stages of data by the plurality of operation units after the switching of the connection by the network is different from the number of operation stages before the switching. Data processing equipment.
【請求項9】 前記ネットワークは、 2個以上のデータ格納部から各々データを同一の演算部
に出力するよう、結線を切換えることを特徴とする請求
項1又は請求項2記載のデータ処理装置。
9. The data processing apparatus according to claim 1, wherein the network switches connections so that data is output from two or more data storage units to the same operation unit.
【請求項10】 前記ネットワークは、 1個のデータ格納部からデータを1個の演算部に出力
し、その後、この演算部の演算結果と他のデータ格納部
のデータとを他の演算部に出力するよう、結線を切換え
ることを特徴とする請求項1、請求項2又は請求項7記
載のデータ処理装置。
10. The network outputs data from one data storage unit to one operation unit, and then transmits the operation result of this operation unit and data of another data storage unit to another operation unit. 8. The data processing device according to claim 1, wherein the connection is switched so as to output the data.
【請求項11】 更に、予めデータが格納された主デー
タ格納部を有し、 前記ネットワークによる結線の切換情報は、前記主デー
タ格納部に格納されることを特徴とする請求項1又は請
求項2記載のデータ処理装置。
11. The information processing apparatus according to claim 1, further comprising: a main data storage unit in which data is stored in advance, wherein the connection switching information by the network is stored in the main data storage unit. 2. The data processing device according to 2.
【請求項12】 前記ネットワークは、 データ格納部及び制御部から各々データ及び有効データ
特定信号が出力される出力バススイッチと、 前記受けたデータ及び有効データ特定信号を演算部に入
力する入力バススイッチとを有することを特徴とする請
求項1又は請求項2記載のデータ処理装置。
12. An output bus switch for outputting data and valid data specifying signals from a data storage unit and a control unit, respectively, and an input bus switch for inputting the received data and valid data specifying signal to an arithmetic unit. The data processing device according to claim 1, wherein the data processing device comprises:
【請求項13】 前記ネットワークは、 複数本のバスと、 前記各バス毎に配置されたバススイッチとを有し、 前記バススイッチは、導通してデータの伝送を許容し、
非導通してデータの伝送を禁止することを特徴とする請
求項12記載のデータ処理装置。
13. The network includes: a plurality of buses; and a bus switch arranged for each of the buses, wherein the bus switch is conductive to allow data transmission;
13. The data processing device according to claim 12, wherein the data transmission is prohibited by being turned off.
【請求項14】 複数個の演算部は、相互に異なる演算
を行うことを特徴とする請求項1又は請求項2記載のデ
ータ処理装置。
14. The data processing device according to claim 1, wherein the plurality of arithmetic units perform mutually different arithmetic operations.
【請求項15】 最後の演算を行う演算部から有効デー
タ特定信号をネットワークを経て受けて、書込み命令を
出力する他の制御部と、 前記最後の演算を行う演算部から最終的に得られた演算
結果を受けると共に、前記他の制御部から書込み命令を
受けて、前記最終的に得られた演算結果を格納する他の
データ格納部とを備えたことを特徴とする請求項1又は
請求項2記載のデータ処理装置。
15. A control unit for receiving a valid data specifying signal from a calculation unit for performing a last operation via a network and outputting a write command, and a control unit for finally obtaining from the calculation unit for performing the last calculation. 2. A data storage unit for receiving an operation result, receiving a write command from the another control unit, and storing the finally obtained operation result. 2. The data processing device according to 2.
JP10093532A 1997-04-21 1998-04-06 Data processing device Expired - Fee Related JP3091441B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10093532A JP3091441B2 (en) 1997-04-21 1998-04-06 Data processing device

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP10316497 1997-04-21
JP9-103164 1997-04-21
JP10093532A JP3091441B2 (en) 1997-04-21 1998-04-06 Data processing device

Publications (2)

Publication Number Publication Date
JPH117441A true JPH117441A (en) 1999-01-12
JP3091441B2 JP3091441B2 (en) 2000-09-25

Family

ID=26434874

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10093532A Expired - Fee Related JP3091441B2 (en) 1997-04-21 1998-04-06 Data processing device

Country Status (1)

Country Link
JP (1) JP3091441B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002311827A (en) * 2001-04-18 2002-10-25 Matsushita Electric Works Ltd Information processor

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002311827A (en) * 2001-04-18 2002-10-25 Matsushita Electric Works Ltd Information processor

Also Published As

Publication number Publication date
JP3091441B2 (en) 2000-09-25

Similar Documents

Publication Publication Date Title
US11609769B2 (en) Configuration of a reconfigurable data processor using sub-files
US11188497B2 (en) Configuration unload of a reconfigurable data processor
KR100996917B1 (en) Pipeline accelerator having multiple pipeline units and related computing machine and method
US8250341B2 (en) Pipeline accelerator having multiple pipeline units and related computing machine and method
US4553203A (en) Easily schedulable horizontal computer
EP0601029A1 (en) Input/output arrangement for massively parallel computer system
US11580056B2 (en) Control barrier network for reconfigurable data processors
US7734896B2 (en) Enhanced processor element structure in a reconfigurable integrated circuit device
EP2132645B1 (en) A data transfer network and control apparatus for a system with an array of processing elements each either self- or common controlled
US8761188B1 (en) Multi-threaded software-programmable framework for high-performance scalable and modular datapath designs
JP3091441B2 (en) Data processing device
US8320150B2 (en) Structure and method for backing up and restitution of data
US7512873B2 (en) Parallel processing apparatus dynamically switching over circuit configuration
US11983140B2 (en) Efficient deconfiguration of a reconfigurable data processor
US20090045838A1 (en) Integrated circuit apparatus
JP7250953B2 (en) Data processing equipment and artificial intelligence chips
US6125438A (en) Data processor
JPS60140455A (en) Plural processing block controller
JPH01177143A (en) Memory writing interface circuit

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20000704

LAPS Cancellation because of no payment of annual fees