JP4787711B2 - Data processing apparatus and method, computer program, information storage medium, and data processing system - Google Patents

Data processing apparatus and method, computer program, information storage medium, and data processing system Download PDF

Info

Publication number
JP4787711B2
JP4787711B2 JP2006270702A JP2006270702A JP4787711B2 JP 4787711 B2 JP4787711 B2 JP 4787711B2 JP 2006270702 A JP2006270702 A JP 2006270702A JP 2006270702 A JP2006270702 A JP 2006270702A JP 4787711 B2 JP4787711 B2 JP 4787711B2
Authority
JP
Japan
Prior art keywords
data
processing
context
circuits
data processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP2006270702A
Other languages
Japanese (ja)
Other versions
JP2006351047A (en
Inventor
崇雄 戸井
亨 粟島
義幸 宮沢
典嗣 中村
太郎 藤井
浩一朗 古田
真人 本村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
NEC Informatec Systems Ltd
Original Assignee
NEC Corp
NEC Informatec Systems 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 NEC Corp, NEC Informatec Systems Ltd filed Critical NEC Corp
Priority to JP2006270702A priority Critical patent/JP4787711B2/en
Publication of JP2006351047A publication Critical patent/JP2006351047A/en
Application granted granted Critical
Publication of JP4787711B2 publication Critical patent/JP4787711B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Devices For Executing Special Programs (AREA)

Description

本発明は、並列演算装置のオブジェクトプログラムをデータ生成するデータ処理装置および方法、そのデータ処理装置のためのコンピュータプログラム、このコンピュータプログラムがデータ格納されている情報記憶媒体、オブジェクトプログラムに対応して動作する並列演算装置、この並列演算装置とデータ処理装置とを具備しているデータ処理システム、に関する。   The present invention relates to a data processing apparatus and method for generating an object program for a parallel processing device, a computer program for the data processing apparatus, an information storage medium in which the computer program stores data, and an operation corresponding to the object program The present invention relates to a parallel processing device, and a data processing system including the parallel processing device and a data processing device.

現在、各種のデータ処理を自在に実行できるプロセッサユニットとしては、いわゆるCPU(Central Processing Unit)やMPU(Micro Processor Unit)と呼称される製品が実用化されている。   At present, products called so-called CPUs (Central Processing Units) and MPUs (Micro Processor Units) have been put into practical use as processor units that can freely execute various data processing.

このようなプロセッサユニットを利用したデータ処理システムでは、複数の動作命令が記述された各種のオブジェクトコードと各種の処理データとがメモリデバイスに格納され、プロセッサユニットはメモリデバイスから動作命令や処理データを順番にデータ読出して複数のデータ処理を逐次実行する。   In such a data processing system using a processor unit, various object codes in which a plurality of operation instructions are described and various processing data are stored in a memory device, and the processor unit receives operation instructions and processing data from the memory device. Data is read in order and a plurality of data processes are sequentially executed.

このため、一個のプロセッサユニットで各種のデータ処理を実現できるが、そのデータ処理では複数のデータ処理を順番に逐次実行する必要があり、その逐次処理ごとにプロセッサユニットがメモリデバイスから動作命令をデータ読出する必要があるので、複雑なデータ処理を高速に実行することは困難である。   For this reason, various data processing can be realized by one processor unit. However, in the data processing, it is necessary to sequentially execute a plurality of data processing in order, and the processor unit receives operation instructions from the memory device for each sequential processing. Since it is necessary to read, it is difficult to execute complicated data processing at high speed.

一方、実行するデータ処理が一つに限定されている場合には、そのデータ処理を実行するように論理回路をハードウェアで形成すれば、プロセッサユニットがメモリデバイスから複数の動作命令を順番にデータ読出して複数のデータ処理を順番に逐次実行するような必要はない。このため、複雑なデータ処理を高速に実行することが可能であるが、当然ながら一つのデータ処理しか実行することができない。   On the other hand, when the data processing to be executed is limited to one, if the logic circuit is formed by hardware so as to execute the data processing, the processor unit sequentially outputs a plurality of operation instructions from the memory device. There is no need to read and execute a plurality of data processes sequentially. For this reason, it is possible to execute complicated data processing at high speed, but of course, only one data processing can be executed.

つまり、オブジェクトコードを切換自在としたデータ処理システムでは、各種のデータ処理を実行できるが、ハードウェアの構成が固定されているのでデータ処理を高速に実行することが困難である。一方、ハードウェアからなる論理回路では、データ処理を高速に実行することが可能であるが、オブジェクトコードを変更できないので一つのデータ処理しか実行できない。   That is, in the data processing system in which the object code can be switched, various types of data processing can be executed. However, since the hardware configuration is fixed, it is difficult to execute the data processing at high speed. On the other hand, a logic circuit made up of hardware can execute data processing at high speed, but only one data process can be executed because the object code cannot be changed.

このような課題を解決するため、本出願人はソフトウェアに対応してハードウェアの構成が変化するプロセッサユニットとして並列演算装置を創案し、特願2000−043202号として出願した。この並列演算装置では、小規模の多数の処理回路と配線回路とがマトリクス配列されており、このマトリクス回路部に状態管理部が並設されている。   In order to solve such a problem, the present applicant has created a parallel arithmetic unit as a processor unit whose hardware configuration changes corresponding to software, and has filed an application as Japanese Patent Application No. 2000-04-3202. In this parallel processing device, a large number of small processing circuits and wiring circuits are arranged in a matrix, and a state management unit is arranged in parallel in the matrix circuit unit.

複数の処理回路は、個々にデータ設定される動作命令に対応してデータ処理を個々に実行し、複数の配線回路は、個々にデータ設定される動作命令に対応して複数の処理回路の接続関係を個々に切換制御する。つまり、並列演算装置は複数の処理回路と複数の配線回路との動作命令を切り換えることでハードウェアの構成が変化するので、各種のデータ処理を実行することができ、ハードウェアとして小規模の多数の処理回路が簡単なデータ処理を並列に実行するので、データ処理を高速に実行することができる。   A plurality of processing circuits individually execute data processing corresponding to operation instructions set individually, and a plurality of wiring circuits are connected to a plurality of processing circuits corresponding to operation instructions set individually. The relationship is controlled individually. In other words, since the hardware configuration is changed by switching operation instructions between a plurality of processing circuits and a plurality of wiring circuits in the parallel processing device, various data processing can be executed, and a large number of small-scale hardware can be executed. Since the processing circuit executes simple data processing in parallel, the data processing can be executed at high speed.

そして、上述のような複数の処理回路と複数の配線回路との動作命令からなるコンテキストを状態管理部がオブジェクトコードに対応して動作サイクルごとに順次切り換えるので、並列演算装置はオブジェクトコードに対応して並列処理を連続的に実行することができる。   Then, since the state management unit sequentially switches the context made up of the operation instructions of the plurality of processing circuits and the plurality of wiring circuits as described above corresponding to the object code for each operation cycle, the parallel arithmetic device corresponds to the object code. Parallel processing can be executed continuously.

なお、このようにコンテキストを複数サイクルで順次切り換える並列演算装置としては、例えば、“Purdue University”の“Lawrence Snyder”が非特許文献1に発表した“Introduction to the Configurable, Highly Parallel Computer”や、本出願人が特許出願した特許文献1、特許文献2、特許文献3、特許文献4などがある。
特開2000−138579号 特開200−224025号 特開2000−232354号 特開2000−232162号 IEEE Computer, vol.15, No.1, Jan. 1982, pp47-56
Examples of parallel computing devices that sequentially switch contexts in a plurality of cycles in this way include “Introduction to the Configurable, Highly Parallel Computer” published in Non-Patent Document 1 by “Lawrence Snyder” of “Purdue University”, There are Patent Document 1, Patent Document 2, Patent Document 3, Patent Document 4, and the like, for which the applicant has applied for a patent.
JP 2000-138579 A JP-A No. 200-2224025 JP 2000-232354 A JP 2000-232162 IEEE Computer, vol.15, No.1, Jan. 1982, pp47-56

上述のような並列演算装置は、オブジェクトコードに内包されているコンテキストを状態管理部が動作サイクルごとに順次切り換えるので、マトリクス配列されている複数の処理回路と複数の配線回路とがコンテキストに対応して動作サイクルごとに並列動作することができる。   In the parallel arithmetic device as described above, since the state management unit sequentially switches the context included in the object code for each operation cycle, a plurality of processing circuits and a plurality of wiring circuits arranged in a matrix correspond to the context. Can be operated in parallel every operation cycle.

しかし、このような並列演算装置は構造と動作との両方が従来のCPUなどとは根本的に相違しているため、そのオブジェクトコードをソースコードから従来の手法で単純にデータ生成することはできず、そのオブジェクトコードをソースコードから適切にデータ生成する技術は確立されていない。   However, since such a parallel computing device is fundamentally different from the conventional CPU in both structure and operation, the object code cannot be simply generated from the source code by the conventional method. However, a technique for appropriately generating the object code from the source code has not been established.

本発明は上述のような課題に鑑みてなされたものであり、コンテキストを順次切り換える並列演算装置のオブジェクトプログラムを良好にデータ生成できるデータ処理装置および方法、そのデータ処理装置のためのコンピュータプログラム、このコンピュータプログラムがデータ格納されている情報記憶媒体、そのオブジェクトプログラムに対応して動作する並列演算装置、この並列演算装置とデータ処理装置とを具備しているデータ処理システム、を提供することを目的とする。   The present invention has been made in view of the above-described problems, and provides a data processing apparatus and method capable of satisfactorily generating data for an object program of a parallel processing apparatus that sequentially switches contexts, a computer program for the data processing apparatus, An object of the present invention is to provide an information storage medium in which a computer program stores data, a parallel processing device that operates in accordance with the object program, and a data processing system including the parallel processing device and the data processing device. To do.

本発明の第1のデータ処理装置は、個々にデータ設定される第1の動作命令に対応してデータ処理を個々に実行する複数の処理回路と第1の動作命令に対応して複数の処理回路の接続関係を個々に切換制御する複数の配線回路とがマトリクス配列されているマトリクス回路部と、第2の動作命令に対応してマトリクス回路部のコンテキストを動作サイクルごとに順次切り換える状態管理部を別個に備える並列演算装置の動作が高級言語で記述された一連のソースコードから、複数の処理回路と複数の配線回路との順次切り換わる動作状態ごとの第1の動作命令からなるコンテキスト及び第2の動作命令を少なくとも内包した一連のオブジェクトコードをデータ生成するデータ処理装置であって、並列演算装置の少なくとも物理構造と物理特性とに対応した制約条件が事前にデータ登録されている条件記憶手段と、ソースコードがデータ入力されるソース入力手段と、データ入力されたソースコードから、動作状態ごとにコンテキストを順次切り換えるオブジェクトコードを、マトリクス回路部に対応したデータパスと状態管理部に対応した有限状態マシンとを分離して、制約条件を満足するように、データ生成するオブジェクト生成手段と、データ生成されたオブジェクトコードをデータ出力するオブジェクト出力手段と、を具備している。 A first data processing apparatus according to the present invention includes a plurality of processing circuits that individually execute data processing in response to first operation instructions that are individually set with data, and a plurality of processes that correspond to first operation instructions. A matrix circuit unit in which a plurality of wiring circuits that individually switch and control circuit connection relations are arranged in a matrix, and a state management unit that sequentially switches the context of the matrix circuit unit for each operation cycle in response to the second operation command A context including a first operation instruction for each operation state in which a plurality of processing circuits and a plurality of wiring circuits are sequentially switched from a series of source codes in which the operation of the parallel processing device separately provided is described in a high-level language. A data processing device that generates data of a series of object codes including at least two operation instructions, at least a physical structure and physical characteristics of a parallel processing device The condition storage means in which the constraint conditions corresponding to the data are registered in advance, the source input means for inputting the source code data, and the object code for sequentially switching the context for each operation state from the data input source code, The data path corresponding to the matrix circuit part and the finite state machine corresponding to the state management part are separated, and the object generation means for generating data and the data generated object code are output as data so as to satisfy the constraints. Object output means.

本発明の第2のデータ処理装置は、個々にデータ設定される第1の動作命令に対応してデータ処理を個々に実行する複数の処理回路と第1の動作命令に対応して複数の処理回路の接続関係を個々に切換制御する複数の配線回路とがマトリクス配列されているマトリクス回路部と、第2の動作命令に対応してマトリクス回路部のコンテキストを動作サイクルごとに順次切り換える状態管理部を別個に備える並列演算装置の動作が高級言語で記述された一連のソースコードから、複数の処理回路と複数の配線回路との順次切り換わる動作状態ごとの並列処理回路のRTL(Register Transfer Level)記述をデータ生成するデータ処理装置であって、並列演算装置の少なくとも物理構造と物理特性とに対応した制約条件が事前にデータ登録されている条件記憶手段と、ソースコードがデータ入力されるソース入力手段と、データ入力されたソースコードから、動作状態ごとにコンテキストを順次切り換えるRTL記述を、マトリクス回路部に対応したデータパスと状態管理部に対応した有限状態マシンとを分離して、制約条件を満足するように、データ生成するRTL生成手段と、データ生成されたRTL記述をデータ出力するRTL出力手段と、を具備している。 A second data processing apparatus according to the present invention includes a plurality of processing circuits that individually execute data processing corresponding to first operation instructions that are individually set with data, and a plurality of processes that correspond to first operation instructions. A matrix circuit unit in which a plurality of wiring circuits that individually switch and control circuit connection relations are arranged in a matrix, and a state management unit that sequentially switches the context of the matrix circuit unit for each operation cycle in response to the second operation command RTL (Register Transfer Level) of a parallel processing circuit for each operation state in which a plurality of processing circuits and a plurality of wiring circuits are sequentially switched from a series of source codes in which the operation of a parallel processing device separately provided is described in a high-level language A data processing device for generating a description of data, in which a constraint description corresponding to at least the physical structure and physical characteristics of the parallel processing device is registered in advance. Means, source input means for inputting source code data, and RTL description for sequentially switching the context for each operation state from the inputted source code, corresponding to the data path corresponding to the matrix circuit section and the state management section RTL generating means for generating data and RTL output means for outputting data of the generated RTL description are provided so as to satisfy the constraint condition by separating from the finite state machine.

本発明の第3のデータ処理装置は、個々にデータ設定される第1の動作命令に対応してデータ処理を個々に実行する複数の処理回路と第1の動作命令に対応して複数の処理回路の接続関係を個々に切換制御する複数の配線回路とがマトリクス配列されているマトリクス回路部と、第2の動作命令に対応してマトリクス回路部のコンテキストを動作サイクルごとに順次切り換える状態管理部を別個に備える並列演算装置のRTL記述から、複数の処理回路と複数の配線回路との順次切り換わる動作状態ごとの、並列演算装置が備える回路資源のネットリストをデータ生成するデータ処理装置であって、並列演算装置の少なくとも物理構造と物理特性とに対応した制約条件が事前にデータ登録されている条件記憶手段と、RTL記述がデータ入力されるRTL入力手段と、データ入力されたRTL記述から、動作状態ごとにコンテキストを順次切り換えるネットリストを、マトリクス回路部に対応したデータパスと状態管理部に対応した有限状態マシンとを分離して、制約条件を満足するように、データ生成するネットリスト生成手段と、データ生成されたネットリストをデータ出力するネットリスト出力手段と、を具備している。 A third data processing apparatus according to the present invention includes a plurality of processing circuits that individually execute data processing corresponding to first operation instructions set individually and a plurality of processes corresponding to the first operation instructions. A matrix circuit unit in which a plurality of wiring circuits that individually switch and control circuit connection relations are arranged in a matrix, and a state management unit that sequentially switches the context of the matrix circuit unit for each operation cycle in response to the second operation command Is a data processing device that generates data from a RTL description of a parallel processing device that is separately provided for each operation state in which a plurality of processing circuits and a plurality of wiring circuits are sequentially switched. The condition storage means in which the constraint conditions corresponding to at least the physical structure and the physical characteristics of the parallel processing device are registered in advance, and the RTL description is the data input Separating the data path corresponding to the matrix circuit part and the finite state machine corresponding to the state management part from the RTL input means to be inputted and the netlist for sequentially switching the context for each operation state from the RTL description inputted with data, In order to satisfy the constraint conditions, a net list generating unit for generating data and a net list output unit for outputting the data generated net list are provided.

本発明の第4のデータ処理装置は、個々にデータ設定される第1の動作命令に対応してデータ処理を個々に実行する複数の処理回路と第1の動作命令に対応して複数の処理回路の接続関係を個々に切換制御する複数の配線回路とがマトリクス配列されているマトリクス回路部と、第2の動作命令に対応してマトリクス回路部のコンテキストを動作サイクルごとに順次切り換える状態管理部を別個に備える並列演算装置が備える回路資源のネットリストから、複数の処理回路と複数の配線回路との順次切り換わる動作状態ごとの第1の動作命令からなるコンテキスト及び第2の動作命令を少なくとも内包した一連のオブジェクトコードをデータ生成するデータ処理装置であって、並列演算装置の少なくとも物理構造と物理特性とに対応した制約条件が事前にデータ登録されている条件記憶手段と、ネットリストがデータ入力されるネットリスト入力手段と、データ入力されたネットリストから、動作状態ごとにコンテキストを順次切り換えるオブジェクトコードを、マトリクス回路部に対応したデータパスと状態管理部に対応した有限状態マシンとを分離して、制約条件を満足するように、データ生成するオブジェクト生成手段と、データ生成されたオブジェクトコードをデータ出力するオブジェクト出力手段と、を具備している。 A fourth data processing apparatus according to the present invention includes a plurality of processing circuits that individually execute data processing corresponding to first operation instructions that are individually set with data, and a plurality of processes that correspond to first operation instructions. A matrix circuit unit in which a plurality of wiring circuits that individually switch and control circuit connection relations are arranged in a matrix, and a state management unit that sequentially switches the context of the matrix circuit unit for each operation cycle in response to the second operation command At least a context including a first operation instruction and a second operation instruction for each operation state in which a plurality of processing circuits and a plurality of wiring circuits are sequentially switched from a net list of circuit resources included in the parallel processing device separately including A data processing device that generates data for a series of included object codes, and is a constraint corresponding to at least the physical structure and physical characteristics of the parallel processing device Matrix circuit unit including condition storage means in which data is registered in advance, netlist input means for netlist data input, and object code for sequentially switching contexts for each operation state from the data input netlist An object generation means for generating data and an object output means for outputting data of the generated object code so as to satisfy a constraint condition by separating a data path corresponding to the finite state machine and a finite state machine corresponding to the state management unit And.

本発明のデータ処理方法は、条件記憶手段、ソース入力手段、オブジェクト生成手段、及びオブジェクト出力手段を備えるデータ処理装置オブジェクトコードを生成するデータ処理方法であって、条件記憶手段には、個々にデータ設定される第1の動作命令に対応してデータ処理を個々に実行する複数の処理回路と第1の動作命令に対応して複数の処理回路の接続関係を個々に切換制御する複数の配線回路とがマトリクス配列されているマトリクス回路部と、第2の動作命令に対応してマトリクス回路部のコンテキストを動作サイクルごとに順次切り換える状態管理部とを別個に具備する並列演算装置の少なくとも物理構造と物理特性とに対応した制約条件データ登録されており、ソース入力手段、並列演算装置の動作が高級言語で記述された一連のソースコードをデータ入力する工程と、オブジェクト生成手段、データ入力されたソースコードから、複数の処理回路と複数の配線回路との順次切り換わる動作状態ごとの第1の動作命令からなるコンテキスト及び第2の動作命令を少なくとも内包し、動作状態ごとにコンテキストを順次切り換える一連のオブジェクトコードを、マトリクス回路部に対応したデータパスと状態管理部に対応した有限状態マシンとを分離して、制約条件を満足するように、データ生成する工程と、オブジェクト出力手段、データ生成されたオブジェクトコードをデータ出力する工程と、を具備している。 Data processing method of the present invention, the condition storage means, the source input means, the object generation means, and a data processing apparatus having an object output means is a data processing method for generating object code, the condition storage means, individually A plurality of processing circuits that individually execute data processing in response to a first operation command that is set with data, and a plurality of wirings that individually switch and control connection relationships between the plurality of processing circuits in response to the first operation command At least a physical structure of a parallel processing device separately including a matrix circuit unit in which circuits are arranged in a matrix and a state management unit that sequentially switches the context of the matrix circuit unit for each operation cycle corresponding to the second operation command and has physical properties and constraints corresponding to is the data registered, the source input means, serial in operation a high-level language parallel operation device A series of source code and a step of data input, the object generation means, from the source code data input from the first operation instruction for each successively cut switched operating state of a plurality of processing circuits and a plurality of printed circuit A series of object codes that include at least a context and a second operation instruction, and sequentially switch contexts for each operation state, by separating a data path corresponding to the matrix circuit unit and a finite state machine corresponding to the state management unit The step of generating data so as to satisfy the constraint conditions, and the step of outputting the object code generated by the object output means are provided.

データ処理方法は、条件記憶手段、ソース入力手段、RTL生成手段、及びRTL出力手段を備えるデータ処理装置RTL記述を生成するデータ処理方法であって、条件記憶手段には、個々にデータ設定される第1の動作命令に対応してデータ処理を個々に実行する複数の処理回路と第1の動作命令に対応して複数の処理回路の接続関係を個々に切換制御する複数の配線回路とがマトリクス配列されているマトリクス回路部と、第2の動作命令に対応してマトリクス回路部のコンテキストを動作サイクルごとに順次切り換える状態管理部とを別個に具備する並列演算装置の少なくとも物理構造と物理特性とに対応した制約条件データ登録されており、ソース入力手段、並列演算装置の動作が高級言語で記述された一連のソースコードをデータ入力する工程と、RTL生成手段、データ入力されたソースコードから、複数の処理回路と複数の配線回路との順次切り換わる動作状態ごとの第1の動作命令からなるコンテキスト及び第2の動作命令を少なくとも内包し、動作状態ごとにコンテキストを順次切り換える一連のRTL記述を、マトリクス回路部に対応したデータパスと状態管理部に対応した有限状態マシンとを分離して、制約条件を満足するように、データ生成する工程と、RTL出力手段、データ生成されたRTL記述をデータ出力する工程と、を具備している。 Data processing method, the condition storage means, a data processing method source input means, RTL generation means, and the data processing apparatus provided with RTL output means generates the RTL description, the condition storage means, are individually data set A plurality of processing circuits that individually execute data processing in response to the first operation command and a plurality of wiring circuits that individually switch and control connection relations between the plurality of processing circuits in response to the first operation command. At least a physical structure and physical characteristics of a parallel processing device separately including a matrix circuit unit arranged in matrix and a state management unit that sequentially switches the context of the matrix circuit unit for each operation cycle in response to the second operation instruction DOO and the corresponding constraint is data registered in the source input means, a set of source code that operation of the parallel arithmetic unit written in a high-level language A step of over data input, RTL generation means, from the source code data inputted, consists of a first operation instruction for each successively cut switched operating state of a plurality of processing circuits and a plurality of printed circuit context and the second A series of RTL descriptions that include at least operation instructions and sequentially switch contexts for each operation state are separated from the data path corresponding to the matrix circuit portion and the finite state machine corresponding to the state management portion, and the constraint conditions are satisfied. as such, the steps of data generation, the RTL output means, comprising the steps of data output RTL description is data generated, a.

データ処理方法は、条件記憶手段、RTL入力手段、ネットリスト生成手段、及びネットリスト出力手段を備えるデータ処理装置ネットリストを生成するデータ処理方法であって、条件記憶手段には、個々にデータ設定される第1の動作命令に対応してデータ処理を個々に実行する複数の処理回路と第1の動作命令に対応して複数の処理回路の接続関係を個々に切換制御する複数の配線回路とがマトリクス配列されているマトリクス回路部と、第2の動作命令に対応してマトリクス回路部のコンテキストを動作サイクルごとに順次切り換える状態管理部とを別個に具備する並列演算装置の少なくとも物理構造と物理特性とに対応した制約条件データ登録されており、RTL入力手段、並列演算装置の動作が高級言語で記述された一連のRTL記述をデータ入力する工程と、ネットリスト生成手段、データ入力されたRTL記述から、複数の処理回路と複数の配線回路との順次切り換わる動作状態ごとにコンテキストを順次切り換える、並列演算装置が備える回路資源のネットリストを、マトリクス回路部に対応したデータパスと状態管理部に対応した有限状態マシンとを分離して、制約条件を満足するように、データ生成する工程と、ネットリスト出力手段、データ生成されたネットリストをデータ出力する工程と、を具備している。 Data processing method, the condition storing means, RTL input means, the net list generating means, and a data processing method in which the data processing apparatus comprising a netlist output means generates a netlist, in the condition storage means, each data A plurality of processing circuits that individually execute data processing corresponding to the set first operation command and a plurality of wiring circuits that individually switch and control connection relations between the plurality of processing circuits corresponding to the first operation command And at least a physical structure of a parallel processing unit separately including a matrix circuit unit in which the matrix circuit unit is arranged in matrix and a state management unit that sequentially switches the context of the matrix circuit unit for each operation cycle corresponding to the second operation instruction constraint condition corresponding to the physical properties are data registration, RTL input means, a series of operations of the parallel arithmetic unit written in a high-level language A step of data enter the TL description, the net list generating means, the RTL description is a data input, sequentially switches the context for each successively cut switched operating state of a plurality of processing circuits and a plurality of wiring circuits, a parallel arithmetic unit A step of generating data so as to satisfy a constraint condition by separating a data path corresponding to a matrix circuit unit and a finite state machine corresponding to a state management unit from a net list of circuit resources provided; and a net list output unit There are provided a step of data outputting netlist data generated, a.

本発明のデータ処理方法は、条件記憶手段、ネットリスト入力手段、オブジェクト生成手段、及びオブジェクト出力手段を備えるデータ処理装置オブジェクトコードを生成するデータ処理方法であって、条件記憶手段には、個々にデータ設定される第1の動作命令に対応してデータ処理を個々に実行する複数の処理回路と第1の動作命令に対応して複数の処理回路の接続関係を個々に切換制御する複数の配線回路とがマトリクス配列されているマトリクス回路部と、第2の動作命令に対応してマトリクス回路部のコンテキストを動作サイクルごとに順次切り換える状態管理部とを別個に具備する並列演算装置の少なくとも物理構造と物理特性とに対応した制約条件データ登録されており、ネットリスト入力手段、並列演算装置の動作が高級言語で記述された一連のネットリストをデータ入力する工程と、オブジェクト生成手段、データ入力されたネットリストから、複数の処理回路と複数の配線回路との順次切り換わる動作状態ごとの第1の動作命令からなるコンテキスト及び第2の動作命令を少なくとも内包し、動作状態ごとにコンテキストを順次切り換える一連のオブジェクトコードを、マトリクス回路部に対応したデータパスと状態管理部に対応した有限状態マシンとを分離して、制約条件を満足するように、データ生成する工程、オブジェクト出力手段、データ生成されたオブジェクトコードをデータ出力する工程と、を具備している。 Data processing method of the present invention is a condition storage means, the netlist input means, the object generation means, and a data processing method in which data processing apparatus having an object output means generates an object code, a condition storage means, the individual A plurality of processing circuits that individually execute data processing in response to a first operation command set in the data and a plurality of processing circuits that individually switch and control connection relations between the plurality of processing circuits in response to the first operation command. At least a physical unit of a parallel processing device comprising: a matrix circuit unit in which wiring circuits are arranged in a matrix; and a state management unit that sequentially switches the context of the matrix circuit unit for each operation cycle in response to the second operation command. structure and physical characteristics and constraints corresponding to are data registered netlist input means, the operation of the parallel arithmetic unit A step of a sequence of data input to the netlist described in grade language, the object generation means, from the netlist data input, for each successively cut switched operating state of a plurality of processing circuits and a plurality of wiring circuits first A series of object codes including at least a context including the operation instructions and a second operation instruction, and sequentially switching the context for each operation state, a data path corresponding to the matrix circuit unit, and a finite state machine corresponding to the state management unit was separated, so as to satisfy the constraint conditions, the process of data generation, the object output means, comprising the steps of data output object code data generated, a.

本発明のコンピュータプログラムは、個々にデータ設定される第1の動作命令に対応してデータ処理を個々に実行する複数の処理回路と第1の動作命令に対応して複数の処理回路の接続関係を個々に切換制御する複数の配線回路とがマトリクス配列されているマトリクス回路部と、第2の動作命令に対応してマトリクス回路部のコンテキストを動作サイクルごとに順次切り換える状態管理部を別個に備える並列演算装置の動作が高級言語で記述された一連のソースコードから、複数の処理回路と複数の配線回路との順次切り換わる動作状態ごとの第1の動作命令からなるコンテキスト及び第2の動作命令を少なくとも内包した一連のオブジェクトコードをデータ生成するために、コンピュータを、並列演算装置の少なくとも物理構造と物理特性とに対応した制約条件をデータ登録する条件記憶手段、ソースコードをデータ入力するソース入力手段、データ入力されたソースコードから、動作状態ごとにコンテキストを順次切り換えるオブジェクトコードを、マトリクス回路部に対応したデータパスと状態管理部に対応した有限状態マシンとを分離して、制約条件を参照し、データ生成するオブジェクト生成手段、データ生成されたオブジェクトコードをデータ出力するオブジェクト出力手段、を具備するデータ処理装置として機能させるためのコンピュータプログラムであるThe computer program of the present invention has a connection relationship between a plurality of processing circuits that individually execute data processing corresponding to a first operation instruction that is individually set with data and a plurality of processing circuits that correspond to the first operation instruction. A matrix circuit section in which a plurality of wiring circuits that individually control switching are arranged in a matrix, and a state management section that sequentially switches the context of the matrix circuit section for each operation cycle in response to the second operation command A context and a second operation instruction including a first operation instruction for each operation state in which a plurality of processing circuits and a plurality of wiring circuits are sequentially switched from a series of source codes in which the operation of the parallel arithmetic device is described in a high-level language the set of object code that is at least contained to data generation, and the computer, at least the physical structure and physical JP parallel operation device Corresponding to the matrix circuit section, the condition storage means for registering the constraint conditions corresponding to the data, the source input means for inputting the source code data, and the object code for sequentially switching the context for each operation state from the data input source code Data processing comprising: an object generation means for generating data by separating a data path and a finite state machine corresponding to the state management unit, referring to a constraint condition, and an object output means for outputting the generated object code as data It is a computer program for functioning as a device .

本発明のコンピュータプログラムは、個々にデータ設定される第1の動作命令に対応してデータ処理を個々に実行する複数の処理回路と第1の動作命令に対応して複数の処理回路の接続関係を個々に切換制御する複数の配線回路とがマトリクス配列されているマトリクス回路部と、第2の動作命令に対応してマトリクス回路部のコンテキストを動作サイクルごとに順次切り換える状態管理部を別個に備える並列演算装置の動作が高級言語で記述された一連のソースコードから、複数の処理回路と複数の配線回路との順次切り換わる動作状態ごとの並列処理回路のRTL記述をデータ生成するために、コンピュータを、並列演算装置の少なくとも物理構造と物理特性とに対応した制約条件をデータ登録する条件記憶手段、ソースコードをデータ入力するソース入力手段、データ入力されたソースコードから、動作状態ごとにコンテキストを順次切り換えるRTL記述を、マトリクス回路部に対応したデータパスと状態管理部に対応した有限状態マシンとを分離して、制約条件を満足するように、データ生成するRTL生成手段、データ生成されたRTL記述をデータ出力するRTL出力手段、を具備するデータ処理装置として機能させるためのコンピュータプログラムであるThe computer program of the present invention has a connection relationship between a plurality of processing circuits that individually execute data processing corresponding to a first operation instruction that is individually set with data and a plurality of processing circuits that correspond to the first operation instruction. A matrix circuit section in which a plurality of wiring circuits that individually control switching are arranged in a matrix, and a state management section that sequentially switches the context of the matrix circuit section for each operation cycle in response to the second operation command from a series of source code operation of the parallel arithmetic unit written in a high-level language, RTL description of a parallel processing circuit for each successively cut switched operating state of a plurality of processing circuits and a plurality of wiring circuits for data generation, co the computer, condition storage means for data registration constraint condition corresponding to at least the physical structure and physical properties of the parallel arithmetic unit, data source RTL description that sequentially switches context for each operation state from the source input means that inputs data, separates the data path corresponding to the matrix circuit part and the finite state machine corresponding to the state management part, A computer program for causing a data processing apparatus to function as an RTL generation unit that generates data and an RTL output unit that outputs data generated RTL descriptions so as to satisfy the constraint conditions.

本発明のコンピュータプログラムは、個々にデータ設定される第1の動作命令に対応してデータ処理を個々に実行する複数の処理回路と第1の動作命令に対応して複数の処理回路の接続関係を個々に切換制御する複数の配線回路とがマトリクス配列されているマトリクス回路部と、第2の動作命令に対応してマトリクス回路部のコンテキストを動作サイクルごとに順次切り換える状態管理部を別個に備える並列演算装置のRTL記述から、複数の処理回路と複数の配線回路との順次切り換わる動作状態ごとの、並列演算装置が備える回路資源のネットリストをデータ生成するために、コンピュータを、並列演算装置の少なくとも物理構造と物理特性とに対応した制約条件をデータ登録する条件記憶手段、RTL記述をデータ入力するRTL入力手段、データ入力されたRTL記述から、動作状態ごとにコンテキストを順次切り換えるネットリストを、マトリクス回路部に対応したデータパスと状態管理部に対応した有限状態マシンとを分離して、制約条件を満足するように、データ生成するネットリスト生成手段、データ生成されたネットリストをデータ出力するネットリスト出力手段、を具備するデータ処理装置として機能させるためのコンピュータプログラムであるThe computer program of the present invention has a connection relationship between a plurality of processing circuits that individually execute data processing corresponding to a first operation instruction that is individually set with data and a plurality of processing circuits that correspond to the first operation instruction. A matrix circuit section in which a plurality of wiring circuits that individually control switching are arranged in a matrix, and a state management section that sequentially switches the context of the matrix circuit section for each operation cycle in response to the second operation command from RTL description of the parallel arithmetic unit, for each successively cut switched operating state of a plurality of processing circuits and a plurality of wiring circuits, a netlist of a circuit resources provided in the parallel arithmetic unit for data generation, the computer, the parallel operation Condition storage means for registering constraints corresponding to at least the physical structure and physical characteristics of the device, RTL input for inputting RTL description data Means, from the RTL description that has been input data, the netlist that sequentially switches the context for each operation state, the data path corresponding to the matrix circuit part and the finite state machine corresponding to the state management part are separated, and the constraint conditions are satisfied As described above, the present invention is a computer program for functioning as a data processing apparatus including a net list generation unit that generates data and a net list output unit that outputs data of the generated net list.

本発明のコンピュータプログラムは、個々にデータ設定される第1の動作命令に対応してデータ処理を個々に実行する複数の処理回路と第1の動作命令に対応して複数の処理回路の接続関係を個々に切換制御する複数の配線回路とがマトリクス配列されているマトリクス回路部と、第2の動作命令に対応してマトリクス回路部のコンテキストを動作サイクルごとに順次切り換える状態管理部を別個に備える並列演算装置が備える回路資源のネットリストから、複数の処理回路と複数の配線回路との順次切り換わる動作状態ごとの第1の動作命令からなるコンテキスト及び第2の動作命令を少なくとも内包した一連のオブジェクトコードをデータ生成するために、コンピュータを、並列演算装置の少なくとも物理構造と物理特性とに対応した制約条件をデータ登録する条件記憶手段、ネットリストをデータ入力するネットリスト入力手段、データ入力されたネットリストから、動作状態ごとにコンテキストを順次切り換えるオブジェクトコードを、マトリクス回路部に対応したデータパスと状態管理部に対応した有限状態マシンとを分離して、制約条件を満足するように、データ生成するオブジェクト生成手段、データ生成されたオブジェクトコードをデータ出力するオブジェクト出力手段、を具備するデータ処理装置として機能させるためのコンピュータプログラムであるThe computer program of the present invention has a connection relationship between a plurality of processing circuits that individually execute data processing corresponding to a first operation instruction that is individually set with data and a plurality of processing circuits that correspond to the first operation instruction. A matrix circuit section in which a plurality of wiring circuits that individually control switching are arranged in a matrix, and a state management section that sequentially switches the context of the matrix circuit section for each operation cycle in response to the second operation command A series including at least a context including a first operation instruction and a second operation instruction for each operation state in which a plurality of processing circuits and a plurality of wiring circuits are sequentially switched from a net list of circuit resources included in the parallel arithmetic device. to the object code data generation, control of the computer, corresponding to at least the physical structure and physical properties of the parallel arithmetic unit Condition storage means for registering condition data, netlist input means for inputting netlist data, object code for sequentially switching contexts for each operation state from the data input netlist, data paths and states corresponding to the matrix circuit section As a data processing apparatus comprising an object generation means for generating data and an object output means for outputting data of the generated object code so as to satisfy a constraint condition by separating from a finite state machine corresponding to the management unit It is a computer program for making it function.

本発明の情報記憶媒体は、上記のコンピュータプログラムをデータ格納している The information storage medium of the present invention stores the above computer program as data .

本発明のデータ処理システムは、上記第1または第4のデータ処理装置と、個々にデータ設定される第1の動作命令に対応してデータ処理を個々に実行する複数の処理回路と第1の動作命令に対応して複数の処理回路の接続関係を個々に切換制御する複数の配線回路とがマトリクス配列されているマトリクス回路部と、第2の動作命令に対応してマトリクス回路部のコンテキストを動作サイクルごとに順次切り換える状態管理部と、上記第1または第4のデータ処理装置によってデータ出力されたオブジェクトコードがデータ格納されている記憶部を備える並列演算装置と、を具備しているThe data processing system according to the present invention includes the first or fourth data processing apparatus, a plurality of processing circuits that individually execute data processing in response to a first operation command for which data is individually set, and a first processing circuit. A matrix circuit unit in which a plurality of wiring circuits that individually switch and control connection relations of a plurality of processing circuits corresponding to the operation command are arranged in a matrix, and a context of the matrix circuit unit corresponding to the second operation command A state management unit that sequentially switches for each operation cycle; and a parallel processing unit that includes a storage unit in which the object code output by the first or fourth data processing device is stored.

また、本発明で云う各種手段は、その機能を実現するように形成されていれば良く、例えば、所定の機能を発揮する専用のハードウェア、所定の機能がコンピュータプログラムにより付与されたデータ処理装置、コンピュータプログラムによりデータ処理装置の内部に実現された所定の機能、これらの組み合わせ、等を許容する。また、本発明で云う各種手段は、個々に独立した存在である必要もなく、ある手段が他の手段の一部であるようなことも許容する。   The various means referred to in the present invention need only be formed so as to realize the function. For example, dedicated hardware that exhibits a predetermined function, a data processing apparatus provided with a predetermined function by a computer program A predetermined function implemented in the data processing apparatus by a computer program, a combination thereof, or the like is permitted. Further, the various means referred to in the present invention do not have to be individually independent, and one means is allowed to be a part of another means.

また、本発明で云う情報記憶媒体とは、データ処理装置に各種処理を実行させるためのコンピュータプログラムが事前に格納されたハードウェアであれば良く、例えば、データ処理装置を一部とする装置に固定されているROM(Read Only Memory)やHDD(Hard Disc Drive)、データ処理装置を一部とする装置に交換自在に装填されるCD(Compact Disc)−ROMやFD(FLEXIBLE Disc)、等を許容する。   The information storage medium referred to in the present invention may be hardware in which a computer program for causing the data processing apparatus to execute various processes is stored in advance. Fixed ROM (Read Only Memory), HDD (Hard Disc Drive), CD (Compact Disc) -ROM, FD (FLEXIBLE Disc), etc. that can be exchangeably loaded in a device that includes a data processing device. Allow.

また、本発明で云うデータ処理装置とは、コンピュータプログラムをデータ読取して対応するデータ処理を実行できるハードウェアであれば良く、例えば、CPU(Central Processing Unit)を主体として、これにROMやRAM(Random Access Memory)やI/F(Interface)ユニット等の各種デバイスが接続されたハードウェアなどを許容する。   The data processing apparatus referred to in the present invention may be any hardware that can read computer programs and execute corresponding data processing. For example, a CPU (Central Processing Unit) is mainly used as a ROM or RAM. (Random Access Memory) and hardware to which various devices such as I / F (Interface) units are connected are allowed.

なお、本発明でコンピュータプログラムに対応した各種動作をデータ処理装置に実行させることは、各種デバイスをデータ処理装置に動作制御させることなども許容する。例えば、データ処理装置に各種データをデータ保存させることは、データ処理装置が一部として具備しているRAM等の情報記憶媒体に各種データを格納すること、データ処理装置に交換自在に装填されているFD等の情報記憶媒体に各種データを格納すること、等を許容する。   In the present invention, causing the data processing apparatus to execute various operations corresponding to the computer program also allows the data processing apparatus to control operations of the various devices. For example, storing various data in the data processing device means storing the various data in an information storage medium such as a RAM provided as a part of the data processing device or loading the data processing device in a replaceable manner. It is allowed to store various data in an information storage medium such as an FD.

本発明のデータ処理装置では、並列演算装置の少なくとも物理構造と物理特性とに対応した制約条件が事前にデータ登録されており、データ入力される並列演算装置の動作記述のソースコードから制約条件により並列演算装置のコンテキストを動作サイクルごとに順次切り換える一連のオブジェクトコードをデータ生成し、このデータ生成された一連のオブジェクトコードをデータ出力することにより、並列演算装置の動作記述のソースコードから、並列演算装置のコンテキストを動作サイクルごとに順次切り換えるオブジェクトコードをデータ生成することができる。   In the data processing device of the present invention, constraint conditions corresponding to at least the physical structure and physical characteristics of the parallel arithmetic device are registered in advance, and the data is input according to the constraint conditions from the source code of the operation description of the parallel arithmetic device. Data is generated for a series of object codes that sequentially switch the context of the parallel processing device for each operation cycle, and by outputting the generated series of object codes, parallel computation is performed from the source code of the behavior description of the parallel processing device. Data can be generated for object code that sequentially switches the device context for each operation cycle.

また、本発明の他の形態としては、制約条件により一連のソースコードから一連のオブジェクトコードをデータ生成するときにマトリクス回路部に対応したデータパスと状態管理部に対応した有限状態マシンとを分離することにより、並列演算装置のマトリクス回路部と状態管理部とに別個に対応したオブジェクトコードをデータ生成することができる。   As another form of the present invention, a data path corresponding to the matrix circuit part and a finite state machine corresponding to the state management part are separated when generating a series of object codes from a series of source codes due to constraints. By doing so, it is possible to generate object codes corresponding to the matrix circuit unit and the state management unit of the parallel processing device separately.

また、一連のソースコードを言語解析してDFGをデータ生成し、このデータ生成されたDFGから制約条件により複数段階の動作状態をスケジューリングしたCDFGをデータ生成することにより、並列演算装置の動作記述のソースコードから、その順次遷移する複数段階の動作状態をスケジューリングしたCDFGをデータ生成することができる。   In addition, the DFG data is generated by language analysis of a series of source codes, and a CDFG in which a plurality of stages of operation states are scheduled according to the constraint condition is generated from the generated DFG. From the source code, it is possible to generate data of a CDFG that schedules a plurality of stages of operation states that sequentially transition.

また、マトリクス回路部がデータ記憶した所定個数のコンテキストの一つで対応動作を実行している最中に対応動作が実行されたコンテキストを状態管理部が新規のコンテキストにデータ更新するようにCDFGをデータ生成することにより、このCDFGからデータ生成されたオブジェクトコードに対応して並列演算装置を動作させると、マトリクス回路部がオブジェクトコードの多数のコンテキストを所定個数までデータ記憶して対応動作を順次実行している最中に、その対応動作が実行されたコンテキストを状態管理部が新規のコンテキストにデータ更新させることができる。   Further, the CDFG is updated so that the state management unit updates the data of the context in which the corresponding operation is executed while the corresponding operation is being executed in one of the predetermined number of contexts stored in the matrix circuit unit by data. When the parallel arithmetic unit is operated corresponding to the object code generated from the CDFG by generating the data, the matrix circuit unit stores a large number of contexts of the object code to a predetermined number and sequentially executes the corresponding operation. In the meantime, the state management unit can update the data of the context in which the corresponding operation has been executed to a new context.

また、データ生成されたCDFGから制約条件により複数段階の動作状態のRTL記述をマトリクス回路部と状態管理部とに分離してデータ生成することにより、並列演算装置のマトリクス回路部と状態管理部とに別個に対応したRTL記述をデータ生成することができる。   In addition, by separating the RTL description of the operation state of a plurality of stages from the generated CDFG into a matrix circuit unit and a state management unit according to the constraint condition, data is generated, so that the matrix circuit unit and the state management unit of the parallel processing device It is possible to generate RTL descriptions that individually correspond to the data.

また、データ生成されたマトリクス回路部のRTL記述から複数段階の動作状態ごとに制約条件により処理回路のネットリストをデータ生成することにより、並列演算装置の処理回路のネットリストを順次遷移する複数段階の動作状態ごとにデータ生成することができる。   In addition, a plurality of stages in which the processing circuit netlist of the parallel processing device is sequentially shifted by generating data from the RTL description of the generated matrix circuit unit for each operation state in a plurality of stages according to the constraint condition. Data can be generated for each operation state.

また、データ生成されたマトリクス回路部のRTL記述から複数段階の動作状態ごとに制約条件により処理回路の複数種類の回路資源のネットリストをデータ生成することにより、並列演算装置の処理回路のネットリストをビット数の相違する複数種類の回路資源ごとにデータ生成することができる。   In addition, by generating a netlist of a plurality of types of circuit resources of the processing circuit from the RTL description of the generated matrix circuit unit for each operation state at a plurality of stages according to constraints, the netlist of the processing circuit of the parallel processing device is generated. Can be generated for each of a plurality of types of circuit resources having different numbers of bits.

また、複数段階の動作状態に対応した状態管理部のオブジェクトコードが事前にデータ登録されており、データ生成されたマトリクス回路部のネットリストに対応してデータ生成された状態管理部のRTL記述をオブジェクトコードにデータ変換し、このデータ変換された状態管理部のオブジェクトコードをデータ出力することにより、状態管理部のオブジェクトコードをマトリクス回路部のネットリストに対応してデータ生成することができる。   In addition, the object code of the state management unit corresponding to the operation states in a plurality of stages is registered in advance, and the RTL description of the state management unit generated by the data corresponding to the net list of the matrix circuit unit that has generated the data is stored. By converting the data into an object code and outputting the converted object code of the state management unit, the object code of the state management unit can be generated corresponding to the net list of the matrix circuit unit.

また、RTL記述から制約条件により処理回路のm/nb回路資源のネットリストをデータ生成することにより、並列演算装置の処理回路のネットリストをm/nb回路資源ごとにデータ生成することができる。   In addition, by generating a net list of m / nb circuit resources of the processing circuit from the RTL description according to constraints, it is possible to generate a net list of processing circuits of the parallel processing device for each m / nb circuit resource.

また、RTL記述の“xb”のデータ処理を“x=Ym+Zn”なるY個のmb回路資源とZ個のnb回路資源とに割り付けることにより、“xb”のデータ処理をm/nb回路資源に適正な個数ずつ割り付けることができる。   Also, by assigning “xb” data processing in the RTL description to Y mb circuit resources “x = Ym + Zn” and Z nb circuit resources, “xb” data processing becomes m / nb circuit resources. Appropriate number can be assigned.

また、“x”を“m”で除算した結果の整数部分“Y”を算出してから、その余数を“n”で除算した結果の整数“Z”を算出することにより、“xb”のデータ処理をビット数が多数のmb回路資源に極力割り付けることができ、余数部分のみビット数が少数のnb回路資源に割り付けることができる。 Also, by calculating the integer part “Y” of the result of dividing “x” by “m”, and then calculating the integer “Z” of the result of dividing the remainder by “n”, the “xb” Data processing can be allocated as much as possible to mb circuit resources having a large number of bits, and only the remainder can be allocated to nb circuit resources having a small number of bits.

また、余数が所定の閾値より少数の場合に整数“Z”を算出して余数が閾値以上の場合は“Y”に“1”を加算して“Z=0”とすることにより、mb回路資源に極力割り付けられた“xb”のデータ処理の余数部分を、ビット数に対応してm/nb回路資源の適切な一方に割り付けることができる。   Further, when the remainder is smaller than a predetermined threshold, an integer “Z” is calculated, and when the remainder is greater than or equal to the threshold, “1” is added to “Y” to make “Z = 0”, thereby obtaining the mb circuit. The remainder part of the data processing of “xb” allocated to resources as much as possible can be allocated to an appropriate m / nb circuit resource corresponding to the number of bits.

また、データ登録されている制約条件の“nb”が“1(bit)”からなることにより、mb回路資源に割り付けられた“xb”のデータ処理の余数部分が何ビットであってもnb回路資源に割り付けることができる。   In addition, since “nb” of the constraint condition in which data is registered is composed of “1 (bit)”, the nb circuit can be used regardless of how many bits are left in the data processing of “xb” allocated to the mb circuit resource. Can be allocated to resources.

また、処理回路の各種のオブジェクトコードも事前にデータ登録されており、複数段階の動作状態ごとにデータ生成されたネットリストをマトリクス配列されている複数の処理回路に複数サイクルのコンテキストごとに割り付け、この処理回路に割り付けられたネットリストを対応するオブジェクトコードにデータ変換することにより、並列演算装置の複数の処理回路のオブジェクトコードを複数サイクルのコンテキストごとにデータ生成することができる。   In addition, various object codes of the processing circuit are registered in advance, and a net list generated for each operation state of a plurality of stages is allocated to a plurality of processing circuits arranged in a matrix for each context of a plurality of cycles. By converting the netlist assigned to this processing circuit into the corresponding object code, the object code of the plurality of processing circuits of the parallel processing device can be generated for each context of a plurality of cycles.

また、配線回路のオブジェクトコードも事前にデータ登録されており、データ変換された処理回路のオブジェクトコードに対応して配線回路のネットリストを対応するオブジェクトコードにデータ変換することにより、並列演算装置の複数の処理回路の接続関係を個々に切換制御する複数の配線回路のオブジェクトコードもデータ生成することができる。   In addition, the object code of the wiring circuit is registered in advance, and by converting the net list of the wiring circuit into the corresponding object code corresponding to the object code of the processing circuit subjected to the data conversion, Data can also be generated for the object codes of a plurality of wiring circuits that individually switch and control the connection relationships of the plurality of processing circuits.

また、連続する複数サイクルのコンテキストで処理データが連携するネットリストをマトリクス回路部の一定位置のレジスタファイルに共通に割り付けることにより、並列演算装置の連続する複数サイクルのコンテキストで連携する処理データを一定位置のレジスタファイルに一時保持させるオブジェクトコードをデータ生成することができる。   In addition, by allocating a netlist in which processing data is linked in a continuous multiple cycle context to a register file in a fixed position in the matrix circuit unit, the processing data linked in the continuous multiple cycle context of the parallel processing unit is fixed. Data can be generated for the object code to be temporarily stored in the register file at the position.

また、最初に複数サイクルのコンテキストごとに処理データの連携に関係なくネットリストをレジスタファイルなどに割り付けてから、この割付位置を調整して処理データが連携するネットリストが割り付けられたレジスタファイルの連続する複数サイクルのコンテキストでの位置を一致させることにより、また、最初に複数サイクルのコンテキストで処理データが連携するネットリストが共通に割り付けられるレジスタファイルのマトリクス回路部での位置を固定してから、他のネットリストを他のレジスタファイルなどに複数サイクルのコンテキストごとに割り付けることにより、また、最初に複数サイクルのコンテキストで処理データが連携するネットリストが共通に割り付けられるレジスタファイルのマトリクス回路部での相対位置を設定してから、この相対位置を維持したまま他のネットリストを他のレジスタファイルなどに複数サイクルのコンテキストごとに割り付けることにより、連携する処理データを一定位置のレジスタファイルに一時保持させるオブジェクトコードを所定のデータ処理でデータ生成することができる。   In addition, after assigning a netlist to a register file or the like regardless of the linkage of processing data for each context of multiple cycles, a series of register files to which a netlist to which processing data is linked is assigned by adjusting this allocation position By fixing the position in the matrix circuit part of the register file to which the netlist to which the processing data is linked in the multiple cycle context is first assigned in common, By assigning other netlists to other register files, etc. for each context of multiple cycles, and in the matrix circuit part of the register file to which the netlist to which processing data is linked in the context of multiple cycles is first assigned in common relative position The object code that temporarily holds the associated processing data in the register file at a fixed position by assigning other netlists to other register files etc. for each context of multiple cycles while maintaining this relative position after setting. Data can be generated by predetermined data processing.

また、順次遷移する複数段階の動作状態から制約条件により一つのコンテキストに割り付けられる複数を検出し、この検出された複数の動作状態を一つのコンテキストに割り付けることにより、複数の動作状態を一つのコンテキストとして並列演算装置に一度にデータ設定することができる。   In addition, a plurality of operation states that are sequentially transitioned are detected from a plurality of operation states that are assigned to one context according to a constraint condition, and the plurality of operation states that are detected are assigned to one context, whereby the plurality of operation states are assigned to one context. As described above, data can be set in the parallel arithmetic device at one time.

また、遷移段階が連続している複数の動作状態を検出することにより、連続する複数の動作状態を一つのコンテキストとして並列演算装置にデータ設定することができる。   In addition, by detecting a plurality of operation states in which transition stages are continuous, it is possible to set data in the parallel computing device as a plurality of continuous operation states as one context.

本発明の第一の並列演算装置では、本発明のデータ処理装置でデータ生成されたオブジェクトコードがデータ格納されており、そのオブジェクトコードに対応して動作サイクルごとにコンテキストが順次切り換わり、この順次切り換わるコンテキストに対応してマトリクス配列されている複数の処理回路が個々に設定自在なデータ処理で並列動作することにより、本発明のデータ処理装置でデータ生成されてデータ格納されたオブジェクトコードに対応して動作サイクルごとに複数の処理回路を並列動作させることができる。   In the first parallel processing device of the present invention, the object code generated by the data processing device of the present invention is stored, and the context is sequentially switched for each operation cycle corresponding to the object code. A plurality of processing circuits arranged in a matrix corresponding to the context to be switched operate in parallel with individually configurable data processing, thereby corresponding to the object code generated and stored by the data processing apparatus of the present invention Thus, a plurality of processing circuits can be operated in parallel for each operation cycle.

本発明の第二の並列演算装置では、本発明のデータ処理装置でデータ生成された外部入力され、そのオブジェクトコードに対応して動作サイクルごとにコンテキストが順次切り換わり、この順次切り換わるコンテキストに対応してマトリクス配列されている複数の処理回路が個々に設定自在なデータ処理で並列動作することにより、本発明のデータ処理装置でデータ生成されて外部入力されるオブジェクトコードに対応して動作サイクルごとに複数の処理回路を並列動作させることができる。   In the second parallel processing device of the present invention, externally generated data generated by the data processing device of the present invention is used, and contexts are sequentially switched for each operation cycle corresponding to the object code, and this sequentially switched context is supported. A plurality of processing circuits arranged in a matrix are operated in parallel with individually configurable data processing, so that data is generated by the data processing device of the present invention and each operation cycle corresponds to an object code inputted externally. A plurality of processing circuits can be operated in parallel.

本発明の第一のデータ処理システムでは、本発明のデータ処理装置でデータ生成されたオブジェクトコードが本発明の並列演算装置に外部入力されることにより、データ処理装置に外部入力されるソースコードに対応して並列演算装置に順次切り換わる複数サイクルのコンテキストで並列演算を実行させることができる。   In the first data processing system of the present invention, the object code generated by the data processing apparatus of the present invention is externally input to the parallel processing apparatus of the present invention, so that the source code input to the data processing apparatus is externally input. Correspondingly, parallel operations can be executed in a context of a plurality of cycles that are sequentially switched to the parallel operation device.

本発明の第二のデータ処理システムでは、データ処理装置がソースコードからオブジェクトコードをデータパスと有限状態マシンとに分離してデータ生成し、そのデータパスと並列演算装置のマトリクス回路部とが対応しているとともに有限状態マシンと状態管理部とが対応していることにより、並列演算装置のハードウェア構造に対応したソフトウェア構造にオブジェクトコードをデータ処理装置でデータ生成することができる。   In the second data processing system of the present invention, the data processing device generates data by separating the object code from the source code into the data path and the finite state machine, and the data path corresponds to the matrix circuit unit of the parallel processing device. In addition, since the finite state machine and the state management unit correspond to each other, the object code can be generated by the data processing device in the software structure corresponding to the hardware structure of the parallel processing device.

本発明の実施の一形態を、図面を参照して以下に説明する。まず、本形態の並列演算装置であるアレイ型プロセッサ100は、図4および図5(a)に示すように、オブジェクト入力手段であるI/Fユニット101、コード格納手段であるコードメモリ102、状態管理部103、データ分配部104、マトリクス回路部105、データメモリ106、を具備しており、マトリクス回路部105には、複数の処理回路であるプロセッサエレメント107、複数の配線回路であるスイッチエレメント108、多数のmbバス109、多数のnbバス110、等がマトリクス配列されている。   An embodiment of the present invention will be described below with reference to the drawings. First, as shown in FIG. 4 and FIG. 5A, the array processor 100 which is a parallel processing device of this embodiment includes an I / F unit 101 which is an object input unit, a code memory 102 which is a code storage unit, a state A management unit 103, a data distribution unit 104, a matrix circuit unit 105, and a data memory 106 are provided. The matrix circuit unit 105 includes a processor element 107 that is a plurality of processing circuits and a switch element 108 that is a plurality of wiring circuits. A large number of mb buses 109, a large number of nb buses 110, and the like are arranged in a matrix.

また、同図(b)に示すように、プロセッサエレメント107は、インストラクションメモリ111、インストラクションデコーダ112、mb回路資源であるmbレジスタファイル113、nb回路資源であるnbレジスタファイル114、mb回路資源でありmb演算器であるmbALU115、nb回路資源でありnb演算器であるnbALU116、内部配線資源117、等を各々具備しており、スイッチエレメント108は、バスコネクタ121、入力制御回路122、出力制御回路123、等を各々具備している。   Further, as shown in FIG. 5B, the processor element 107 includes an instruction memory 111, an instruction decoder 112, an mb circuit resource mb register file 113, an nb circuit resource nb register file 114, and an mb circuit resource. Each of the switch elements 108 includes a bus connector 121, an input control circuit 122, and an output control circuit 123. The switch element 108 includes an mb ALU 115 that is an mb arithmetic unit, an nb ALU 116 that is an nb arithmetic unit and an internal wiring resource 117, and the like. , Etc. respectively.

I/Fユニット101は、後述するデータ処理装置300が接続され、このデータ処理装置300から一連のオブジェクトコードが外部入力される。コードメモリ102は、RAM等の情報記憶媒体からなり、外部入力されたオブジェクトコードをデータ記憶する。   The I / F unit 101 is connected to a data processing device 300 described later, and a series of object codes are externally input from the data processing device 300. The code memory 102 is composed of an information storage medium such as a RAM, and stores data of externally input object codes.

このオブジェクトコードは、詳細には後述するが、マトリクス回路部105にマトリクス配列された複数のプロセッサエレメント107と複数のスイッチエレメント108との動作命令が、順次切り換わる動作サイクルごとのコンテキストとしてデータ設定されており、このコンテキストを動作サイクルごとに切り換える状態管理部103の動作命令が、順次遷移する動作状態としてデータ設定されている。   As will be described later in detail, this object code is set as data as a context for each operation cycle in which operation instructions of the plurality of processor elements 107 and the plurality of switch elements 108 arranged in matrix in the matrix circuit unit 105 are sequentially switched. The operation command of the state management unit 103 for switching the context for each operation cycle is set as data as an operation state in which transition is made sequentially.

この状態管理部103は、コードメモリ102でデータ記憶された一連のオブジェクトコードから動作サイクルごとにコンテキストをデータ読出し、その動作命令から複数のプロセッサエレメント107と複数のスイッチエレメント108とのインストラクションポインタを各々発生する。   The state management unit 103 reads the context data for each operation cycle from a series of object codes stored in the code memory 102, and receives instruction pointers for the plurality of processor elements 107 and the plurality of switch elements 108 from the operation instructions. appear.

本形態ではスイッチエレメント108のインストラクションメモリが隣接するプロセッサエレメント107のインストラクションメモリ111で兼用されているので、状態管理部103は、発生したプロセッサエレメント107とスイッチエレメント108との一組のインストラクションポインタを対応するプロセッサエレメント107のインストラクションメモリ111に供給する。   In this embodiment, since the instruction memory of the switch element 108 is also used as the instruction memory 111 of the adjacent processor element 107, the state management unit 103 corresponds to a set of instruction pointers of the generated processor element 107 and switch element 108. To the instruction memory 111 of the processor element 107.

このインストラクションメモリ111はプロセッサエレメント107とスイッチエレメント108との複数の動作命令が事前に格納されており、状態管理部103から供給される二つのインストラクションポインタでプロセッサエレメント107とスイッチエレメント108との動作命令が指定される。インストラクションデコーダ112は、インストラクションポインタで指定された動作命令をデコードし、スイッチエレメント108、内部配線資源117、m/nbALU115,116、等の動作を制御する。   The instruction memory 111 stores a plurality of operation instructions for the processor element 107 and the switch element 108 in advance, and the operation instructions for the processor element 107 and the switch element 108 using two instruction pointers supplied from the state management unit 103. Is specified. The instruction decoder 112 decodes the operation instruction designated by the instruction pointer, and controls the operation of the switch element 108, the internal wiring resource 117, the m / nb ALU 115, 116, and the like.

mbバス109は“8(bit)”の処理データであるmbデータを伝送し、nbバス110は“1(bit)”の処理データであるnbデータを伝送するので、スイッチエレメント108は、インストラクションデコーダ112の動作制御に対応してm/nbバス109,110による複数のプロセッサエレメント107の接続関係を制御する。   Since the mb bus 109 transmits mb data which is “8 (bit)” processing data and the nb bus 110 transmits nb data which is “1 (bit)” processing data, the switch element 108 is an instruction decoder. Corresponding to the operation control 112, the connection relation of the plurality of processor elements 107 by the m / nb buses 109 and 110 is controlled.

より詳細には、スイッチエレメント108のバスコネクタ121は、mbバス109とnbバス110とが四方から連通しており、このように連通している複数のmbバス109の相互の接続関係と連通する複数のnbバス110の相互の接続関係とを制御する。   More specifically, in the bus connector 121 of the switch element 108, the mb bus 109 and the nb bus 110 communicate with each other from four directions, and communicate with the mutual connection relationship of the plurality of mb buses 109 communicating in this way. The mutual connection relationship of the plurality of nb buses 110 is controlled.

このため、本形態のアレイ型プロセッサ100は、コードメモリ102にデータ設定されたオブジェクトコードに対応して状態管理部103がマトリクス回路部105のコンテキストを動作サイクルごとに順次切り換え、その段階ごとに複数のプロセッサエレメント107は個々に設定自在なデータ処理で並列動作する。   For this reason, in the array type processor 100 of this embodiment, the state management unit 103 sequentially switches the context of the matrix circuit unit 105 for each operation cycle corresponding to the object code set in the code memory 102, and a plurality of units are provided for each stage. The processor elements 107 operate in parallel with individually configurable data processing.

なお、ここでは説明を簡略化するために各部が平面状に配列されている構造を例示しているが、実際には、上述のm/nbバス109,110とスイッチエレメント108とプロセッサエレメント107とを積層構造で重複させて形成するようなことも可能である。   Here, in order to simplify the description, a structure in which each part is arranged in a planar shape is illustrated. However, in practice, the above-described m / nb buses 109 and 110, the switch element 108, the processor element 107, It is also possible to form the layers in a stacked structure.

入力制御回路122は、mbバス109からmbレジスタファイル113やmbALU115へのデータ入力の接続関係と、nbバス110からnbレジスタファイル114やnbALU116へのデータ入力の接続関係とを制御し、出力制御回路123は、mbレジスタファイル113やmbALU115からmbバス109へのデータ出力の接続関係と、nbレジスタファイル114やnbALU116からnbバス110へのデータ出力の接続関係とを制御する。   The input control circuit 122 controls the data input connection relationship from the mb bus 109 to the mb register file 113 and the mb ALU 115 and the data input connection relationship from the nb bus 110 to the nb register file 114 and the nb ALU 116. 123 controls the data output connection relationship from the mb register file 113 or mb ALU 115 to the mb bus 109 and the data output connection relationship from the nb register file 114 or nb ALU 116 to the nb bus 110.

データ分配部104は、外部入力される一連の処理データをmbデータとnbデータとに分配し、このm/nbデータをスイッチエレメント108により接続関係が制御されたm/nbバス109,110から複数のプロセッサエレメント107の特定の一部に適宜入力する。   The data distribution unit 104 distributes a series of externally input processing data into mb data and nb data, and a plurality of m / nb data from the m / nb buses 109 and 110 whose connection relations are controlled by the switch element 108. Are appropriately input to a specific part of the processor element 107.

このプロセッサエレメント107の内部配線資源117は、インストラクションデコーダ112の動作制御に対応して、プロセッサエレメント107の内部でのmbレジスタファイル113およびmbALU115の接続関係とnbレジスタファイル114およびnbALU116の接続関係とを制御する。   The internal wiring resource 117 of the processor element 107 corresponds to the connection relationship between the mb register file 113 and the mbALU 115 and the connection relationship between the nb register file 114 and the nbALU 116 in the processor element 107 in response to the operation control of the instruction decoder 112. Control.

mbレジスタファイル113は、内部配線資源117に制御される接続関係に対応して、mbバス109などから入力されるmbデータを一時保持してmbALU115などに出力する。nbレジスタファイル114は、内部配線資源117に制御される接続関係に対応して、nbバス110などから入力されるnbデータを一時保持してnbALU116などに出力する。   The mb register file 113 temporarily holds mb data input from the mb bus 109 or the like and outputs it to the mbALU 115 or the like corresponding to the connection relation controlled by the internal wiring resource 117. The nb register file 114 temporarily holds the nb data input from the nb bus 110 or the like and outputs it to the nbALU 116 or the like corresponding to the connection relation controlled by the internal wiring resource 117.

mbALU115は、インストラクションデコーダ112の動作制御に対応したデータ処理をmbデータで実行し、nbALU116は、インストラクションデコーダ112の動作制御に対応したデータ処理をnbデータで実行する。なお、プロセッサエレメント107は、上述のように内蔵されているm/nbレジスタファイル113,114でm/nbデータをデータ読書するが、必要により外部のデータメモリ106でも処理データをデータ読書する。   The mbALU 115 executes data processing corresponding to the operation control of the instruction decoder 112 with mb data, and the nbALU 116 executes data processing corresponding to the operation control of the instruction decoder 112 with nb data. The processor element 107 reads the m / nb data with the built-in m / nb register files 113 and 114 as described above, but also reads the processing data with the external data memory 106 if necessary.

そして、本形態のアレイ型プロセッサ100を一部とした本形態のデータ処理システム200は、図1に示すように、アレイ型プロセッサ100、データ処理装置300、ソース供給手段201、オブジェクト供給手段202、データ入力手段203、等を具備している。   As shown in FIG. 1, the data processing system 200 according to the present embodiment, in which the array processor 100 according to the present embodiment is a part, includes an array processor 100, a data processing device 300, a source supply unit 201, an object supply unit 202, Data input means 203 and the like are provided.

また、本形態のデータ処理装置300は、図3に示すように、コンピュータの主体となるハードウェアとしてCPU301を具備しており、このCPU301には、バスライン302により、ROM303、RAM304、HDD305、FD306が交換自在に装填されるFDD(FD Drive)307、CD−ROM308が交換自在に装填されるCDドライブ309、キーボード310、マウス311、ディスプレイ312、I/Fユニット313、等のハードウェアが接続されている。   As shown in FIG. 3, the data processing apparatus 300 according to the present embodiment includes a CPU 301 as hardware serving as a computer. The CPU 301 includes a ROM 303, a RAM 304, an HDD 305, and an FD 306 via a bus line 302. Hardware such as an FDD (FD Drive) 307 in which a CD-ROM 308 is interchangeably loaded, a CD drive 309 in which a CD-ROM 308 is interchangeably loaded, a keyboard 310, a mouse 311, a display 312, and an I / F unit 313 are connected. ing.

本形態のデータ処理装置300では、ROM303、RAM304、HDD305、交換自在なFD306、交換自在なCD−ROM308、等のハードウェアが情報記憶媒体に相当し、これらの少なくとも一個にCPU301のためのコンピュータプログラムや各種データがソフトウェアとして格納されている。   In the data processing apparatus 300 of this embodiment, hardware such as ROM 303, RAM 304, HDD 305, exchangeable FD 306, exchangeable CD-ROM 308, etc. corresponds to an information storage medium, and at least one of these is a computer program for the CPU 301. And various data are stored as software.

例えば、CPU301に各種のデータ処理を実行させるコンピュータプログラムは、FD306やCD−ROM308に事前に格納されている。このようなソフトウェアはHDD305に事前にインストールされており、データ処理装置300の起動時にRAM304に複写されてCPU301にデータ読取される。   For example, computer programs that cause the CPU 301 to execute various data processing are stored in advance in the FD 306 or the CD-ROM 308. Such software is installed in the HDD 305 in advance, and is copied to the RAM 304 and read by the CPU 301 when the data processing apparatus 300 is activated.

このようにCPU301が適正なコンピュータプログラムをデータ読取して各種のデータ処理を実行することにより、本形態のデータ処理装置300は、図1に示すように、ソース入力手段211、条件記憶手段212、オブジェクト生成手段213、オブジェクト出力手段214、等の各種手段を各種機能として論理的に具備している。   As described above, when the CPU 301 reads an appropriate computer program and executes various data processing, the data processing apparatus 300 according to the present embodiment has a source input unit 211, a condition storage unit 212, Various means such as an object generation means 213 and an object output means 214 are logically provided as various functions.

データ処理システム200のソース供給手段201は、例えば、ソースコードが格納されたFD306からなり、C言語などの高級言語でアレイ型プロセッサ100が動作記述された一連のソースコードをデータ処理装置300のソース入力手段211に供給する。   The source supply unit 201 of the data processing system 200 includes, for example, an FD 306 in which source code is stored, and a series of source codes in which the array-type processor 100 is described in a high-level language such as C language as a source of the data processing apparatus 300 Supply to the input means 211.

このデータ処理装置300のソース入力手段211は、RAM304に格納されているコンピュータプログラムに対応してCPU301がFDD307を動作制御する機能などに相当し、ソース供給手段201からソースコードがデータ入力される。   The source input unit 211 of the data processing apparatus 300 corresponds to the function of the CPU 301 controlling the operation of the FDD 307 corresponding to the computer program stored in the RAM 304, and the source code is input from the source supply unit 201.

条件記憶手段212は、上述のコンピュータプログラムに対応してCPU301がデータ認識するHDD305の記憶エリアなどに相当し、アレイ型プロセッサ100の物理構造や物理特性などに対応した各種の制約条件が事前にデータ登録されている。   The condition storage unit 212 corresponds to a storage area of the HDD 305 that the CPU 301 recognizes data corresponding to the computer program described above, and various constraint conditions corresponding to the physical structure and physical characteristics of the array processor 100 are preliminarily stored in the data. It is registered.

オブジェクト生成手段213は、CPU301がコンピュータプログラムに対応して所定のデータ処理を実行する機能などに相当し、ソース入力手段211にデータ入力されたソースコードから条件記憶手段212の制約条件により、アレイ型プロセッサ100のマトリクス回路部105のコンテキストを順次切り換える一連のオブジェクトコードをデータ生成する。   The object generation unit 213 corresponds to a function of the CPU 301 executing predetermined data processing corresponding to a computer program. The object generation unit 213 is an array type according to the constraint condition of the condition storage unit 212 from the source code input to the source input unit 211. A series of object codes for sequentially switching the context of the matrix circuit unit 105 of the processor 100 is generated.

なお、オブジェクト生成手段213は、前述のようにアレイ型プロセッサ100に状態管理部103とマトリクス回路部105とが別個に形成されているので、この構造を反映した制約条件によりソースコードからオブジェクトコードをデータ生成するとき、図4に示すように、マトリクス回路部105に対応したデータパスと状態管理部103に対応した有限状態マシンとを分離する。   As described above, since the state management unit 103 and the matrix circuit unit 105 are separately formed in the array type processor 100, the object generation unit 213 generates the object code from the source code according to the constraints reflecting this structure. When data is generated, as shown in FIG. 4, the data path corresponding to the matrix circuit unit 105 and the finite state machine corresponding to the state management unit 103 are separated.

また、詳細には後述するが、オブジェクト生成手段213は多段階の各種処理によりソースコードからオブジェクトコードをデータ生成し、その多段階の各種処理で条件記憶手段212から必要な制約条件を適宜参照するので、この条件記憶手段212にはオブジェクト生成手段213の各種処理に必要充分なデータ内容で各種の制約条件がデータ設定されている。   As will be described in detail later, the object generation unit 213 generates object code data from the source code through various multi-stage processes, and appropriately refers to necessary constraint conditions from the condition storage unit 212 in the multi-stage various processes. Therefore, various constraint conditions are set in the condition storage unit 212 with data contents necessary and sufficient for various processes of the object generation unit 213.

オブジェクト出力手段214は、CPU301がコンピュータプログラムに対応してI/Fユニット313のデータ出力を制御する機能などに相当し、オブジェクト生成手段213でデータ生成された一連のオブジェクトコードをデータ処理システム200のオブジェクト供給手段202にデータ出力する。   The object output unit 214 corresponds to a function of the CPU 301 controlling the data output of the I / F unit 313 corresponding to a computer program, and a series of object codes generated by the object generation unit 213 are stored in the data processing system 200. Data is output to the object supply means 202.

このオブジェクト供給手段202は、データ処理装置300のI/Fユニット313とアレイ型プロセッサ100の状態管理部103とを接続した接続コネクタ(図示せず)などに相当し、データ処理装置300がデータ出力するオブジェクトコードをアレイ型プロセッサ100のI/Fユニット101にデータ入力する。   The object supply unit 202 corresponds to a connection connector (not shown) that connects the I / F unit 313 of the data processing device 300 and the state management unit 103 of the array processor 100, and the data processing device 300 outputs data. The object code to be input is input to the I / F unit 101 of the array type processor 100.

このアレイ型プロセッサ100のI/Fユニット101には、前述のようにコードメモリ102が接続されているので、このコードメモリ102でオブジェクトコードがデータ保持される。データ入力手段203は、例えば、所定のデータ発生回路(図示せず)からなり、一連の処理データを発生してアレイ型プロセッサ100のデータ分配部104に入力する。   Since the code memory 102 is connected to the I / F unit 101 of the array type processor 100 as described above, the object code is held in the code memory 102. The data input unit 203 includes, for example, a predetermined data generation circuit (not shown), and generates a series of processing data and inputs it to the data distribution unit 104 of the array type processor 100.

本形態のデータ処理装置300のオブジェクト生成手段213は、図2に示すように、グラフ生成手段221、スケジュール生成手段222、記述生成手段223、リスト生成手段224、オブジェクト記憶手段225、状態変換手段226、処理配置手段227、コード変換手段228、配線変換手段229、等の各種手段からなる。   As shown in FIG. 2, the object generation unit 213 of the data processing apparatus 300 according to the present embodiment includes a graph generation unit 221, a schedule generation unit 222, a description generation unit 223, a list generation unit 224, an object storage unit 225, and a state conversion unit 226. , Processing arrangement means 227, code conversion means 228, wiring conversion means 229, and the like.

グラフ生成手段221は、前述のC言語などで記述された一連のソースコードを言語解析してDFGをデータ生成し、スケジュール生成手段222は、グラフ生成手段221でデータ生成されたDFGから所定の制約条件により、図6に示すように、アレイ型プロセッサ100の順次遷移する複数段階の動作状態をスケジューリングしたCDFGをデータ生成する。   The graph generation unit 221 performs language analysis on the series of source codes described in the above-described C language or the like to generate DFG data, and the schedule generation unit 222 generates predetermined constraints from the DFG generated by the graph generation unit 221. According to the conditions, as shown in FIG. 6, data is generated for a CDFG that schedules a plurality of stages of operation states in which the array type processor 100 sequentially changes.

より詳細には、図7に示すように、例えば、ソースコードに処理データが連携する複数のデータ処理が記述されているとき、図8に示すように、その複数のデータ処理が因果関係に対応して連携されたDFGが既存の手法でデータ生成される。   More specifically, as shown in FIG. 7, for example, when a plurality of data processes in which the processing data is linked are described in the source code, the plurality of data processes correspond to the causal relationship as shown in FIG. 8. As a result, the DFG linked together is generated by an existing method.

このようなDFGからCDFGがデータ生成されるとき、アレイ型プロセッサ100のプロセッサエレメント107の個数やm/nbデータバス109,110の遅延時間などが制約条件として参照され、図9(a)に示すように、これに対応してDFGの複数のデータ処理が順次遷移する複数段階の動作状態に順番にスケジューリングされる。   When CDFG data is generated from such DFG, the number of processor elements 107 of the array type processor 100, the delay time of the m / nb data buses 109 and 110, etc. are referred to as constraints, as shown in FIG. Thus, in response to this, a plurality of DFG data processes are sequentially scheduled in order to a plurality of stages of operating states.

このようにDFGの複数のノードが順番にスケジューリングされるとき、一つの動作状態で一度に並列実行される複数のデータ処理の個数が、制約条件であるプロセッサエレメント107の個数を超過する場合、その超過するデータ処理は次段の動作状態に移行される。   As described above, when a plurality of nodes of the DFG are scheduled in order, if the number of the plurality of data processes executed in parallel at one time in one operation state exceeds the number of processor elements 107 which is a constraint condition, Excess data processing is shifted to the next operation state.

また、一つの動作状態で一度に連続実行される複数のデータ処理の累積時間が制約条件である動作状態のクロック間隔を超過する場合、そのクロック間隔を超過するデータ処理から以後のデータ処理は次段の動作状態に移行される。同様に、ある動作状態で連続に実行される複数のデータ処理に、ポート入力/出力、メモリアクセスや複数サイクル演算、などのように動作サイクルを跨ぐデータ処理が存在する場合、そのデータ処理が発生する時点で動作状態は次段に移行される。   In addition, when the cumulative time of multiple data processes that are continuously executed at one time in one operating state exceeds the clock interval of the operating state, which is a constraint, the data processing from the data processing exceeding that clock interval to the next Transition to stage operating state. Similarly, if multiple data processes that are executed continuously in a certain operating state include data processes that cross operation cycles, such as port input / output, memory access, and multi-cycle operations, the data processing occurs. At this point, the operating state is shifted to the next stage.

ここで、上述の演算個数とプロセッサエレメント107の個数との対比で動作状態を移行させるスケジューリングを以下に具体的に説明する。まず、本形態のアレイ型プロセッサ100がプロセッサエレメント107を二個だけ具備しており、比較対象とする従来のアレイ型プロセッサ(図示せず)が加算器と減算器とを一個ずつ具備していると想定する。   Here, the scheduling for shifting the operation state by comparing the number of operations described above with the number of processor elements 107 will be specifically described below. First, the array type processor 100 of this embodiment has only two processor elements 107, and a conventional array type processor (not shown) to be compared has one adder and one subtractor. Assume that

この場合、従来のアレイ型プロセッサは、一つの動作状態で一つの加算処理と一つの減算処理とを並列実行できるが、一つの動作状態で二つの加算処理や二つの減算処理を並列実行することはできない。一方、本形態のアレイ型プロセッサ100は、一つの動作状態で二つのデータ処理を並列実行することができ、その二つのデータ処理としては加算処理や減算処理などを自在に設定することができる。   In this case, the conventional array type processor can execute one addition process and one subtraction process in parallel in one operation state, but can execute two addition processes and two subtraction processes in parallel in one operation state. I can't. On the other hand, the array type processor 100 according to the present embodiment can execute two data processes in parallel in one operation state, and an addition process, a subtraction process, and the like can be freely set as the two data processes.

そして、図8に示すように、DFGに二つの加算処理が並列に存在し、これらの加算処理の出力データを入力データとする二つの減算処理が並列に存在する場合、従来のアレイ型プロセッサへのスケジューリング処理では、図9(b)に示すように、第一状態で第一の加算処理を実行し、第二状態で第一の減算処理と第二の加算処理とを並列実行し、第三状態で第二の減算処理を実行するようにCDFGがデータ生成される。   Then, as shown in FIG. 8, when two addition processes exist in parallel in the DFG and two subtraction processes using the output data of these addition processes as input data exist in parallel, the conventional array processor is used. In the scheduling process, as shown in FIG. 9B, the first addition process is executed in the first state, the first subtraction process and the second addition process are executed in parallel in the second state, CDFG data is generated so as to execute the second subtraction process in the three states.

一方、本形態のデータ処理装置300による本形態のアレイ型プロセッサ100へのスケジューリング処理では、同図(a)に示すように、第一状態に二個のプロセッサエレメント107で第一第二の加算処理を並列実行し、第二状態に第一第二の減算処理を並列実行するようにCDFGがデータ生成される。   On the other hand, in the scheduling process to the array type processor 100 according to the present embodiment by the data processing apparatus 300 according to the present embodiment, the first addition is performed by the two processor elements 107 in the first state as shown in FIG. CDFG data is generated so that the processes are executed in parallel and the first and second subtraction processes are executed in parallel in the second state.

さらに、CDFGが制約条件であるポート入力に対応してスケジューリングされるとともに、制約条件である遅延時間に対応してスケジューリングされる場合を以下に簡単に説明する。まず、制約条件として一つの動作状態にポート入力が一つしか存在しない場合、図10に示すように、ソースコードに複数のポート入力が記述されていると、図11に示すように、ソースコードの第一行目と第三行目とのポート入力はCDFGで別個の動作状態にスケジューリングされる。   Further, the case where the CDFG is scheduled corresponding to the port input as a constraint condition and scheduled according to the delay time as the constraint condition will be briefly described below. First, when there is only one port input in one operation state as a constraint condition, if a plurality of port inputs are described in the source code as shown in FIG. 10, the source code is shown in FIG. The first row and third row port inputs are scheduled to separate operating states in the CDFG.

また、一つの動作状態に許容される遅延時間が“30(nsec)”、加算処理の所要時間が“10(nsec)”、乗算処理の所要時間が“20(nsec)”、の場合、図10に示すように、ソースコードの第二行目に一つの加算処理と二つの乗算処理とが記述されていると、図11に示すように、その一つの加算処理と第一の乗算処理とは一つの動作状態にスケジューリングされるが、第二の乗算処理は次段の動作状態にスケジューリングされる。   Also, if the delay time allowed for one operating state is “30 (nsec)”, the time required for addition processing is “10 (nsec)”, and the time required for multiplication processing is “20 (nsec)”, As shown in FIG. 10, when one addition process and two multiplication processes are described in the second line of the source code, as shown in FIG. 11, the one addition process and the first multiplication process Is scheduled in one operating state, but the second multiplication process is scheduled in the next operating state.

なお、本形態のアレイ型プロセッサ100は、実際には前述のようにプロセッサエレメント107が演算器として8ビットのALU115と1ビットのALU116のみ具備しているので、32ビットの一つのデータ処理などは制約条件により四個の8ビットのALU115で並列実行される。   In the array type processor 100 of this embodiment, the processor element 107 actually includes only the 8-bit ALU 115 and the 1-bit ALU 116 as the arithmetic unit as described above. Due to the constraints, four 8-bit ALUs 115 are executed in parallel.

この場合、一つの動作状態にスケジューリングされた32ビットの一つのデータ処理に対応して制約条件である8ビットのALU115の個数から四個が減算されるので、例えば、これが不足する場合には32ビットの一つのデータ処理は次段の動作状態に移行される。   In this case, four are subtracted from the number of 8-bit ALUs 115 that are the constraint conditions corresponding to one 32-bit data process scheduled in one operation state. The data processing for one bit is shifted to the operation state of the next stage.

また、本形態ではプロセッサエレメント107の各々がm/nbALU115,116を具備しているので、これに対応した制約条件により演算処理はmbALU115とnbALU116とに配分されてスケジューリングされる。さらに、プロセッサエレメント107にm/nbALU115,116以外にデータ処理を実行する回路資源が存在する場合、これも制約条件に組み込まれてスケジューリングに利用される。   In this embodiment, each of the processor elements 107 includes the m / nb ALUs 115 and 116, so that the arithmetic processing is distributed and scheduled to the mb ALU 115 and the nb ALU 116 according to the constraint conditions corresponding thereto. Furthermore, when there are circuit resources for executing data processing in addition to the m / nb ALUs 115 and 116 in the processor element 107, these are also incorporated into the constraint conditions and used for scheduling.

記述生成手段223は、スケジュール生成手段222でデータ生成されたCDFGから、所定の制約条件により複数段階の動作状態のRTL記述をマトリクス回路部105と状態管理部103とに分離してデータ生成する。このとき、プロセッサエレメント107やスイッチエレメント108の処理能力などが制約条件として参照され、図9(a)および図12に示すように、データ処理やデータ転送を実行するm/nbALU115,116などが割り付けられる。   The description generation unit 223 generates data by separating RTL descriptions of a plurality of stages of operation states into the matrix circuit unit 105 and the state management unit 103 from the CDFG generated by the schedule generation unit 222 according to predetermined constraints. At this time, the processing capabilities of the processor element 107 and the switch element 108 are referred to as constraints, and as shown in FIGS. 9A and 12, m / nb ALUs 115 and 116 for executing data processing and data transfer are allocated. It is done.

ただし、この時点での割り付けは、どの処理がアレイ型プロセッサ100のどの種類の回路資源により実行されるかを区分するに留まり、どのデータ処理をどのm/nbALU115,116が実行するかを決定することはなく、複数段階の動作状態で連携する処理データをデータ保持するm/nbレジスタファイル113,114の位置を決定することもない。また、この割り付けではトライアンドエラーなどにより、複数段階の動作状態ごとに使用する回路資源が最少となる組み合わせがデータ生成される。   However, the allocation at this point is not limited to which process is executed by which type of circuit resource of the array processor 100, and which data process is executed by which m / nb ALU 115, 116. In other words, the positions of the m / nb register files 113 and 114 that hold processing data to be linked in a plurality of stages of operation states are not determined. Further, in this allocation, a combination that minimizes the circuit resources used for each of the plurality of operation states is generated by trial and error.

リスト生成手段224は、記述生成手段223でデータ生成されたマトリクス回路部105のRTL記述から所定の制約条件により、複数段階の動作状態ごとのプロセッサエレメント107のネットリストを、図13に示すように、m/nbALU115,116などのm/nb回路資源ごとにデータ生成する。   As shown in FIG. 13, the list generation unit 224 generates a net list of the processor element 107 for each of the operation states in a plurality of stages according to a predetermined constraint condition from the RTL description of the matrix circuit unit 105 generated by the description generation unit 223. , Data is generated for each m / nb circuit resource such as m / nb ALU 115,.

より具体的には、RTL記述に“mb”より多数の“xb(x-(bit)”のデータ処理が存在する場合、リスト生成手段224は、“x”を“m”で除算した結果の整数部分“Y”を算出してから、その余数を“n”で除算した結果の整数“Z”を算出する。これで“x=Ym+Zn”を満足する自然数“Y”と“Z”とを検出し、“xb”のデータ処理をY個のmbALU115およびmbレジスタファイル113とZ個のnbALU116およびnbレジスタファイル114とに割り付ける。   More specifically, when there are more “xb (x− (bit))” data processes than “mb” in the RTL description, the list generation unit 224 obtains the result of dividing “x” by “m”. After calculating the integer part “Y”, the integer “Z” obtained by dividing the remainder by “n” is calculated, and natural numbers “Y” and “Z” satisfying “x = Ym + Zn” are calculated. The data processing of “xb” is allocated to Y mbALU 115 and mb register file 113 and Z nbALU 116 and nb register file 114.

オブジェクト記憶手段225は、CPU301がデータ認識するHDD305の記憶エリアなどに相当し、状態管理部103の複数段階の動作状態に対応した各種のオブジェクトコードと、マトリクス回路部105のプロセッサエレメント107やスイッチエレメント108の各種のオブジェクトコードと、が事前にデータ登録されている。   The object storage means 225 corresponds to a storage area of the HDD 305 that the CPU 301 recognizes data, and various object codes corresponding to a plurality of operation states of the state management unit 103, and the processor elements 107 and switch elements of the matrix circuit unit 105 108 various object codes are registered in advance.

状態変換手段226は、リスト生成手段224でデータ生成されたマトリクス回路部105のネットリストに対応して、記述生成手段223でデータ生成された状態管理部103のRTL記述を対応するオブジェクトコードにデータ変換する。   The state conversion unit 226 converts the RTL description of the state management unit 103 generated by the description generation unit 223 into data corresponding to the object code corresponding to the net list of the matrix circuit unit 105 generated by the list generation unit 224. Convert.

処理配置手段227は、リスト生成手段224で複数段階の動作状態ごとにデータ生成されたマトリクス回路部105のネットリストを、マトリクス配列されている複数のプロセッサエレメント107に複数サイクルのコンテキストごとに割り付ける。   The processing arrangement unit 227 assigns the net list of the matrix circuit unit 105 generated by the list generation unit 224 for each of the plurality of stages of operation states to the plurality of processor elements 107 arranged in a matrix for each of a plurality of cycles of context.

このとき、処理配置手段227は、図14に示すように、最初に複数サイクルのコンテキストごとに処理データの連携に関係なくネットリストをm/nbレジスタファイル113,114などに割り付けてから、この割付位置を調整して処理データが連携するネットリストが割り付けられたm/nbレジスタファイル113,114の連続する複数サイクルのコンテキストでの位置を一致させることにより、図15に示すように、連続する複数サイクルのコンテキストで処理データが連携するネットリストをマトリクス回路部105の一定位置のm/nbレジスタファイル113,114に共通に割り付ける。   At this time, as shown in FIG. 14, the processing placement unit 227 first assigns the netlist to the m / nb register files 113, 114, etc. regardless of the linkage of the processing data for each context of a plurality of cycles. As shown in FIG. 15, by adjusting the positions and matching the positions in the contexts of a plurality of consecutive cycles of the m / nb register files 113 and 114 to which the netlist to which the processing data is linked is assigned, A netlist in which processing data is linked in the context of a cycle is commonly assigned to m / nb register files 113 and 114 at fixed positions in the matrix circuit unit 105.

その場合、連続する複数サイクルのコンテキストで処理データが連携するm/nbレジスタファイル113,114のネットリストは、同一の名称が付与されることで連携が表現される。また、上述のコンテキストごとでのネットリストの配置と、複数のコンテキストでのネットリストの配置とは、例えば、シミュレーテッド・アニーリング手法などの既存の反復改良アルゴリズムを適用することにより、反復処理で最適化される。   In this case, the netlists of the m / nb register files 113 and 114 in which the processing data cooperate in the context of a plurality of consecutive cycles are expressed by giving the same name. In addition, the arrangement of the netlist for each context described above and the arrangement of the netlist for a plurality of contexts are optimal in an iterative process by applying an existing iterative improvement algorithm such as a simulated annealing method. It becomes.

ただし、この処理配置手段227でのネットリストの配置はコンテキストごとに実行され、あるコンテキストに配置できないネットリストを他のコンテキストに移行させる処理などは実行されない。このため、あるコンテキストに必要なネットリストの全部を配置できない事態が処理配置手段227で発生すると、例えば、これを処理配置手段227がスケジュール生成手段222にデータ通知することにより、その通知データも制約条件としてスケジュール生成手段222がCDFGを再度生成する。   However, the placement of the netlist by the processing placement unit 227 is executed for each context, and the processing for moving the netlist that cannot be placed in a certain context to another context is not executed. For this reason, when a situation occurs in the processing arrangement unit 227 that cannot arrange all the netlists necessary for a certain context, for example, the processing arrangement unit 227 notifies the schedule generation unit 222 of the data, and the notification data is also restricted. As a condition, the schedule generation unit 222 generates the CDFG again.

また、ここでは説明を簡単とするために一個のm/nbレジスタファイル113,114がm/nbデータを一つだけ一時保持する場合を例示しているが、例えば、m/nbレジスタファイル113,114が相違するアドレスで複数のm/nbデータを独立にデータ読書できる場合には、一つのコンテキストでデータ書込とデータ読出とが同時に発生しないならば一個のm/nbレジスタファイル113,114が複数のコンテキストで複数のm/nbデータをデータ読書することが可能である。   Further, here, in order to simplify the explanation, a case where one m / nb register file 113, 114 temporarily holds only one m / nb data is illustrated, but for example, the m / nb register file 113, 114 In the case where a plurality of m / nb data can be independently read at different addresses 114, if data writing and data reading do not occur simultaneously in one context, one m / nb register file 113, 114 is stored. It is possible to read / write multiple m / nb data in multiple contexts.

コード変換手段228は、処理配置手段227でプロセッサエレメント107に割り付けられたネットリストを対応するオブジェクトコードにデータ変換し、配線変換手段229は、コード変換手段228でデータ変換されたプロセッサエレメント107のオブジェクトコードに対応してスイッチエレメント108のネットリストをオブジェクトコードにデータ変換する。   The code conversion unit 228 converts the netlist assigned to the processor element 107 by the processing arrangement unit 227 into a corresponding object code, and the wiring conversion unit 229 converts the object of the processor element 107 that has been converted by the code conversion unit 228. Corresponding to the code, the netlist of the switch element 108 is converted into an object code.

上述したデータ処理装置300の各種手段は、必要によりFDD307やI/Fユニット312等のハードウェアを利用して実現されるが、その主体はRAM304等の情報記憶媒体に格納されたソフトウェアに対応して、データ処理装置300のハードウェアであるCPU301が機能することにより実現されている。   The various means of the data processing apparatus 300 described above are realized by using hardware such as the FDD 307 and the I / F unit 312 as necessary. The main body corresponds to software stored in an information storage medium such as the RAM 304. This is realized by the function of the CPU 301, which is the hardware of the data processing device 300.

このようなソフトウェアは、例えば、アレイ型プロセッサ100の物理構造や物理特性などに対応した各種の制約条件をHDD305などにデータ記憶させる処理、FD306の格納データをFDD107にデータ読出させることなどでアレイ型プロセッサ100の動作記述のソースコードをデータ入力する処理、このデータ入力されたソースコードから制約条件によりアレイ型プロセッサ100のオブジェクトコードをデータ生成する処理、このデータ生成されたオブジェクトコードをI/Fユニット313などからデータ出力する処理、等のデータ処理をCPU301等に実行させるためのコンピュータプログラムとしてRAM304等の情報記憶媒体に格納されている。   Such software includes, for example, processing for storing various constraints corresponding to the physical structure and physical characteristics of the array processor 100 in the HDD 305 and the like, and causing the FDD 107 to read data stored in the FD 306 and the like. Processing for inputting the source code of the operation description of the processor 100, processing for generating the object code of the array type processor 100 from the input source code according to the constraint condition, and the generated object code as the I / F unit It is stored in an information storage medium such as the RAM 304 as a computer program for causing the CPU 301 or the like to execute data processing such as data output from 313 or the like.

さらに、上述のソースコードからオブジェクトコードをデータ生成するデータ処理のソフトウェアは、状態管理部103のオブジェクトコードとマトリクス回路部105のオブジェクトコードとをHDD305などにデータ記憶させる処理、C言語などで記述された一連のソースコードを言語解析してDFGをデータ生成する処理、このデータ生成されたDFGから所定の制約条件によりアレイ型プロセッサ100の順次遷移する複数段階の動作状態をスケジューリングしたCDFGをデータ生成する処理、このデータ生成されたCDFGから所定の制約条件により複数段階の動作状態のRTL記述をマトリクス回路部105と状態管理部103とに分離してデータ生成する処理、このデータ生成されたマトリクス回路部105のRTL記述から所定の制約条件により複数段階の動作状態ごとのプロセッサエレメント107のネットリストをm/nbALU115,116などのm/nb回路資源ごとにデータ生成する処理、このデータ生成されたマトリクス回路部105のネットリストに対応して状態管理部103のRTL記述を対応するオブジェクトコードにデータ変換する処理、複数段階の動作状態ごとにデータ生成されたマトリクス回路部105のネットリストをマトリクス配列されている複数のプロセッサエレメント107に複数サイクルのコンテキストごとに割り付ける処理、このプロセッサエレメント107に割り付けられたネットリストを対応するオブジェクトコードにデータ変換する処理、このデータ変換されたプロセッサエレメント107のオブジェクトコードに対応してスイッチエレメント108のネットリストをオブジェクトコードにデータ変換する処理、等のデータ処理をCPU301等に実行させるためのコンピュータプログラムとしてRAM304等の情報記憶媒体に格納されている。   Further, the data processing software for generating the object code from the source code described above is described in a process for storing the object code of the state management unit 103 and the object code of the matrix circuit unit 105 in the HDD 305 or the like, C language, or the like. A process of generating a DFG data by linguistically analyzing the series of source codes, and generating a CDFG that schedules a plurality of stages of operation states in which the array processor 100 sequentially transitions according to a predetermined constraint condition from the generated DFG. Processing, processing for generating data by separating RTL descriptions of a plurality of stages of operation states from the generated CDFG into a matrix circuit unit 105 and a state management unit 103 according to a predetermined constraint, and the data generated matrix circuit unit 105 RTL descriptions The process of generating data for each m / nb circuit resource such as m / nb ALUs 115 and 116, the net of the matrix circuit unit 105 in which the data is generated, according to predetermined constraints Processing for converting the RTL description of the state management unit 103 into a corresponding object code corresponding to the list, and a plurality of processors in which the net list of the matrix circuit unit 105 generated for each operation state in a plurality of stages is arranged in a matrix A process of assigning to the element 107 for each context of a plurality of cycles, a process of converting the netlist assigned to the processor element 107 into a corresponding object code, and an object code of the processor element 107 after the data conversion Stored netlists switch element 108 processes data into an object code, an information storage medium RAM304 such as a computer program for executing a data processing CPU301, etc. etc. in response to.

なお、上述のようなコンピュータプログラムは、例えば、CD−ROM108などの情報記憶媒体にデータ格納されてデータ処理装置300にデータ供給されるが、その情報記憶媒体には条件記憶手段212の制約条件やオブジェクト記憶手段225のオブジェクトコードも構造データとしてデータ格納することが可能である。   Note that the computer program as described above is stored in an information storage medium such as the CD-ROM 108 and supplied to the data processing apparatus 300, and the information storage medium includes the constraint conditions of the condition storage unit 212 and the like. The object code of the object storage means 225 can also be stored as structure data.

上述のような構成において、本形態のデータ処理システム200では、アレイ型プロセッサ100の動作記述のソースコードがソース供給手段201からデータ処理装置300にデータ供給されると、このデータ処理装置300はソースコードをオブジェクトコードに変換してアレイ型プロセッサ100にデータ供給する。   With the configuration as described above, in the data processing system 200 of this embodiment, when the source code of the operation description of the array type processor 100 is supplied from the source supply means 201 to the data processing device 300, the data processing device 300 The code is converted into an object code and data is supplied to the array type processor 100.

このアレイ型プロセッサ100はデータ供給されたオブジェクトコードをデータ記憶するので、この状態でデータ入力手段203から一連の処理データが入力されると、その入力された処理データをオブジェクトコードに対応してデータ処理する。   Since this array type processor 100 stores the object code supplied with data, when a series of processing data is input from the data input means 203 in this state, the input processing data is converted into data corresponding to the object code. Process.

より詳細には、本形態のデータ処理装置300には、アレイ型プロセッサ100の物理構造や物理特性などに対応した各種の制約条件と、状態管理部103やプロセッサエレメント107やスイッチエレメント108の各種のオブジェクトコードと、がデータ登録される。   More specifically, the data processing apparatus 300 according to the present embodiment includes various constraint conditions corresponding to the physical structure and physical characteristics of the array type processor 100, and various types of state management unit 103, processor element 107, and switch element 108. Object code and data are registered.

このような状態で、本形態のデータ処理装置300では、図16に示すように、C言語などでアレイ型プロセッサ100が動作記述された一連のソースコードがデータ入力されると(ステップS1)、図7および図8に示すように、そのソースコードが言語解析されてDFGがデータ生成される(ステップS2)。   In this state, in the data processing device 300 of this embodiment, as shown in FIG. 16, when a series of source codes in which the array processor 100 is described in C language or the like is input (step S1) As shown in FIGS. 7 and 8, the source code is subjected to language analysis to generate DFG data (step S2).

つぎに、アレイ型プロセッサ100のプロセッサエレメント107の個数やm/nbデータバス109,110の遅延時間などが、DFGからCDFGをデータ生成するための制約条件としてデータ読出され(ステップS3)、図6および図9(a)に示すように、この制約条件によりDFGからアレイ型プロセッサ100の順次遷移する複数段階の動作状態をスケジューリングしたCDFGがデータ生成される(ステップS4)。   Next, data such as the number of processor elements 107 of the array type processor 100 and delay times of the m / nb data buses 109 and 110 are read out as constraints for generating CDFG data from the DFG (step S3). As shown in FIG. 9 (a), data is generated for a CDFG that schedules a plurality of stages of operation states in which the array processor 100 sequentially transitions from the DFG according to this constraint condition (step S4).

つぎに、プロセッサエレメント107やスイッチエレメント108の処理能力などが、CDFGからRTL記述をデータ生成するための制約条件としてデータ読出され(ステップS5)、図12に示すように、この制約条件によりCDFGのデータ処理にm/nbALU115,116などが割り付けられ、複数段階の動作状態のRTL記述がマトリクス回路部105と状態管理部103とに分離されてデータ生成される(ステップS6)。   Next, the processing capability of the processor element 107 and the switch element 108 is read out as a constraint condition for generating the RTL description from the CDFG (step S5), and as shown in FIG. M / nb ALUs 115, 116, etc. are assigned to the data processing, and RTL descriptions of a plurality of stages of operation states are separated into the matrix circuit unit 105 and the state management unit 103 to generate data (step S6).

つぎに、m/nbレジスタファイル113,114やm/nbALU115,116のビット数などが、RTL記述からネットリストをデータ生成するための制約条件としてデータ読出され(ステップS7)、図13に示すように、この制約条件によりマトリクス回路部105のRTL記述から複数段階の動作状態ごとのプロセッサエレメント107のネットリストがm/nbALU115,116などのm/nb回路資源ごとにデータ生成される(ステップS8)。   Next, the number of bits of the m / nb register files 113, 114 and m / nb ALUs 115, 116, etc. are read out as a constraint condition for generating netlist data from the RTL description (step S7), as shown in FIG. In addition, due to this constraint condition, the netlist of the processor element 107 for each of a plurality of operation states is generated for each m / nb circuit resource such as the m / nb ALUs 115 and 116 from the RTL description of the matrix circuit unit 105 (step S8). .

このように複数段階の動作状態ごとにマトリクス回路部105のネットリストがデータ生成されると、これに対応して状態管理部103のRTL記述が対応するオブジェクトコードにデータ変換されるので(ステップS9)、これで状態管理部103のオブジェクトコードがデータ生成される。   Thus, when the net list of the matrix circuit unit 105 is generated for each of the operation states in a plurality of stages, the RTL description of the state management unit 103 is correspondingly converted into data corresponding to the object code (step S9). Thus, the object code of the state management unit 103 is generated.

つぎに、複数段階の動作状態ごとにデータ生成されたマトリクス回路部105のネットリストが、マトリクス配列されている複数のプロセッサエレメント107に複数サイクルのコンテキストごとに割り付けられ(ステップS10)、このプロセッサエレメント107に割り付けられたネットリストが対応するオブジェクトコードにデータ変換されるので(ステップS11)、これでプロセッサエレメント107のオブジェクトコードがデータ生成される。   Next, the net list of the matrix circuit unit 105 in which data is generated for each operation state of a plurality of stages is allocated to a plurality of processor elements 107 arranged in a matrix for each context of a plurality of cycles (step S10). Since the net list assigned to 107 is converted into the corresponding object code (step S11), the object code of the processor element 107 is generated.

このようにプロセッサエレメント107のオブジェクトコードがデータ生成されると、これに対応してスイッチエレメント108のネットリストがオブジェクトコードにデータ変換される(ステップS12)。これでスイッチエレメント108のオブジェクトコードもデータ生成されるので、状態管理部103とプロセッサエレメント107とスイッチエレメント108とに対応したアレイ型プロセッサ100のオブジェクトコードが完成することになる(ステップS13)。   When the object code of the processor element 107 is generated as described above, the net list of the switch element 108 is converted into the object code correspondingly (step S12). Since the object code of the switch element 108 is also generated by this, the object code of the array type processor 100 corresponding to the state management unit 103, the processor element 107, and the switch element 108 is completed (step S13).

このようにデータ処理装置300でデータ生成されたオブジェクトコードは、前述のようにアレイ型プロセッサ100にデータ設定されるので、このアレイ型プロセッサ100では、状態管理部103が外部入力されるオブジェクトコードを保持してプロセッサエレメント107ごとのインストラクションポインタを発生し、このインストラクションポインタでプロセッサエレメント107ごとにインストラクションメモリ111に格納されている複数の動作命令から一つが指定される。   Since the object code generated by the data processing device 300 in this way is set in the array type processor 100 as described above, in this array type processor 100, the state management unit 103 receives the object code input from the outside. The instruction pointer is generated for each processor element 107 and one of the plurality of operation instructions stored in the instruction memory 111 is specified for each processor element 107 by this instruction pointer.

この指定された動作命令がインストラクションデコーダ112でデコードされ、スイッチエレメント108による複数のプロセッサエレメント107の接続関係、内部配線資源117によるプロセッサエレメント107の内部での接続関係、m/nbALU115,116のデータ処理、等が制御されるので、これで本形態のアレイ型プロセッサ100は、オブジェクトコードに対応したデータ処理を実行するハードウェアの状態となる。   The designated operation instruction is decoded by the instruction decoder 112, the connection relationship of the plurality of processor elements 107 by the switch element 108, the connection relationship in the processor element 107 by the internal wiring resource 117, and the data processing of the m / nb ALUs 115 and 116 Therefore, the array processor 100 according to the present embodiment is in a hardware state for executing data processing corresponding to the object code.

このような状態で、データ入力手段203から外部入力される一連の処理データがデータ分配部104でmbデータとnbデータとに分配され、上述のように接続関係とデータ処理とが制御された複数のプロセッサエレメント107ごとにmbALU115とnbALU116とでデータ処理される。   In this state, a series of processing data externally input from the data input unit 203 is distributed to the mb data and the nb data by the data distribution unit 104, and the connection relation and the data processing are controlled as described above. Each processor element 107 is subjected to data processing by the mbALU 115 and the nbALU 116.

本形態のアレイ型プロセッサ100は、上述のようにオブジェクトコードに対応してプロセッサエレメント107ごとに“8(bit)”からなるmbデータと“1(bit)”からなるnbデータとのデータ処理を並列に実行できるので、外部入力される一連の処理データのビット数が変化しても、これをビット数の多少により的確に配分して良好な効率で並列処理することができる。   As described above, the array processor 100 according to the present embodiment performs data processing of mb data consisting of “8 (bit)” and nb data consisting of “1 (bit)” for each processor element 107 corresponding to the object code. Since the processing can be executed in parallel, even if the number of bits of a series of processing data inputted externally changes, it can be distributed more accurately according to the number of bits and processed in parallel with good efficiency.

また、本形態のアレイ型プロセッサ100は、プロセッサエレメント107ごとに形成されているm/nbレジスタファイル113,114が入力されるm/nbデータを一時保持して出力するので、プロセッサエレメント107ごとにm/nbALU115,116でデータ処理されるm/nbデータを各々専用のm/nbレジスタファイル114により無駄なく一時保持することができる。   In addition, the array type processor 100 of this embodiment temporarily stores and outputs the m / nb data to which the m / nb register files 113 and 114 formed for each processor element 107 are input. The m / nb data processed by the m / nb ALUs 115 and 116 can be temporarily held by the dedicated m / nb register file 114 without waste.

しかも、本形態のアレイ型プロセッサ100は、“nb”が“1(bit)”からなるので、nbALU116により最少ビットでのデータ処理を実行することができ、処理データのビット数が各種に変化しても確実にデータ処理を実行することができる。   Moreover, in the array type processor 100 of this embodiment, since “nb” consists of “1 (bit)”, the nb ALU 116 can execute data processing with the minimum number of bits, and the number of bits of the processing data changes in various ways. However, data processing can be executed reliably.

また、本形態のデータ処理システム200は、アレイ型プロセッサ100に処理データを入力するとき、ソースコードをデータ処理装置300に供給してオブジェクトコードをアレイ型プロセッサ100にデータ入力することができるので、アレイ型プロセッサ100の動作状態を各種にリアルタイムに切り換えることができる。   In addition, when the processing data is input to the array type processor 100, the data processing system 200 of this embodiment can supply the source code to the data processing device 300 and input the object code to the array type processor 100. The operating state of the array processor 100 can be switched in various ways in real time.

本形態のデータ処理システム200では、上述のようにアレイ型プロセッサ100はマトリクス回路部105と状態管理部103とを別個に具備しており、データ処理装置300はアレイ型プロセッサ100の動作記述の一連のソースコードからデータパスと有限状態マシンとを分離して一連のオブジェクトコードをデータ生成する。   In the data processing system 200 of the present embodiment, the array processor 100 includes the matrix circuit unit 105 and the state management unit 103 separately as described above, and the data processing device 300 includes a series of operation descriptions of the array processor 100. A series of object codes are generated by separating the data path and the finite state machine from the source code.

そして、そのデータパスとアレイ型プロセッサ100のマトリクス回路部105とが対応しており、有限状態マシンと状態管理部103とが対応しているので、データ処理装置300のソフトウェアとアレイ型プロセッサ100のハードウェアとの整合性が良好である。   Since the data path corresponds to the matrix circuit unit 105 of the array type processor 100 and the finite state machine corresponds to the state management unit 103, the software of the data processing device 300 and the array type processor 100 Good consistency with hardware.

本形態のアレイ型プロセッサ100は、その構造および動作が従来のCPUなどとは根本的に相違するので、そのオブジェクトコードの構造も従来のCPUなどとは根本的に相違している。しかし、本形態のデータ処理装置300は、前述のように一般的な手法でアレイ型プロセッサ100の動作状態が記述されたソースコードから、アレイ型プロセッサ100のオブジェクトコードを良好にデータ生成することができるので、本形態のアレイ型プロセッサ100を良好に動作させることができる。   Since the array type processor 100 of this embodiment is fundamentally different in structure and operation from a conventional CPU or the like, its object code structure is also fundamentally different from that of a conventional CPU or the like. However, the data processing apparatus 300 according to the present embodiment can satisfactorily generate the object code of the array processor 100 from the source code in which the operation state of the array processor 100 is described by a general method as described above. Therefore, the array processor 100 of this embodiment can be operated satisfactorily.

特に、本形態のデータ処理装置300は、ソースコードからDFGをデータ生成して複数段階の動作状態ごとのCDFGにスケジューリングし、そのCDFGからデータ生成したネットリストを複数サイクルのコンテキストごとに割り付けるので、アレイ型プロセッサ100のコンテキストを動作サイクルごとに順次切り換えるオブジェクトコードをデータ生成することができる。   In particular, the data processing apparatus 300 according to the present embodiment generates DFG data from the source code, schedules it to the CDFG for each of the plurality of operation states, and assigns the netlist generated from the CDFG for each context of a plurality of cycles. Data can be generated for object code that sequentially switches the context of the array processor 100 for each operation cycle.

しかも、ソースコードからオブジェクトコードをデータ生成するときに有限状態マシンとデータパスとを分離するので、マトリクス回路部105と状態管理部103とを別個に具備しているアレイ型プロセッサ100のオブジェクトコードを良好にデータ生成することができる。   Moreover, since the finite state machine and the data path are separated when the object code is generated from the source code, the object code of the array type processor 100 having the matrix circuit unit 105 and the state management unit 103 separately is obtained. Data can be generated satisfactorily.

さらに、マトリクス回路部105のRTL記述からプロセッサエレメント107のm/nbの回路資源のネットリストをデータ生成するので、mbデータ用とnbデータ用とに記述内容が分別されたアレイ型プロセッサ100のオブジェクトコードを良好にデータ生成することができる。   Further, since the net list of the m / nb circuit resources of the processor element 107 is generated from the RTL description of the matrix circuit unit 105, the object of the array type processor 100 in which the description contents are separated for mb data and nb data. The code can be generated with good data.

しかも、RTL記述の“xb”のデータ処理を“x=Ym+Zn”なるY個のmbALU115とZ個のnbALU116とに割り付けるので、“xb”のデータ処理をm/nbALU115,116に適正な個数ずつ割り付けることができる。   Moreover, since “xb” data processing in the RTL description is assigned to Y mbALUs 115 and Z nbALUs 116 “x = Ym + Zn”, an appropriate number of “xb” data processings are assigned to the m / nb ALUs 115 and 116. be able to.

特に、“x”を“m”で除算した結果の整数部分“Y”を算出してから、その余数を“n”で除算した結果の整数“Z”を算出するので、“xb”のデータ処理をビット数が多数のmbALU115に極力割り付けることができ、余数部分のみビット数が少数のnbALU116に割り付けることができる。しかも、上述の“nb”が“1(bit)”なので、mbALU115に割り付けられた“xb”のデータ処理の余数部分が何ビットであってもnbALU116に割り付けることができる。   In particular, since the integer part “Y” obtained by dividing “x” by “m” is calculated and then the integer “Z” obtained by dividing the remainder by “n” is calculated, the data of “xb” Processing can be assigned as much as possible to the mbALU 115 having a large number of bits, and only the remainder can be assigned to the nbALU 116 having a small number of bits. In addition, since “nb” described above is “1 (bit)”, it can be allocated to the nbALU 116 regardless of how many bits of the data processing portion of “xb” allocated to the mbALU 115 is.

また、連続する複数サイクルのコンテキストで処理データが連携するネットリストをマトリクス回路部105の一定位置のm/nbレジスタファイル113,114に共通に割り付けるので、アレイ型プロセッサ100の連続する複数サイクルのコンテキストで連携する処理データを一定位置のm/nbレジスタファイル113,114にデータ保持させるオブジェクトコードをデータ生成することができる。   In addition, since the netlist in which the processing data is linked in the context of a plurality of continuous cycles is commonly allocated to the m / nb register files 113 and 114 at a fixed position in the matrix circuit unit 105, the context of the continuous multiple cycles of the array type processor 100 is allocated. The object code for holding the processing data to be linked in the m / nb register files 113 and 114 at a fixed position can be generated.

特に、最初に複数サイクルのコンテキストごとに処理データの連携に関係なくネットリストをm/nbレジスタファイル113,114などに割り付けてから、この割付位置を調整して処理データが連携するネットリストが割り付けられたm/nbレジスタファイル113,114の連続する複数サイクルのコンテキストでの位置を一致させるので、連携する処理データを一定位置のm/nbレジスタファイル113,114にデータ保持させるオブジェクトコードを所定のデータ処理でデータ生成することができる。   In particular, after assigning a netlist to the m / nb register files 113, 114, etc., regardless of the linkage of processing data for each context of a plurality of cycles, the netlist to which the processing data is linked is assigned by adjusting the allocation position. Since the positions of the m / nb register files 113 and 114 in the context of a plurality of consecutive cycles are matched, an object code for holding the associated processing data in the m / nb register files 113 and 114 at a predetermined position is set as a predetermined code. Data can be generated by data processing.

なお、本形態のデータ処理装置300のソースコードからオブジェクトコードをデータ生成するコンピュータプログラムはアレイ型プロセッサ100と一対一に対応しているので、そのコンピュータプログラムがデータ格納されたCD−ROM108などの情報記憶媒体は一個以上のアレイ型プロセッサ100とセットで販売することが好適である。   Since the computer program for generating object code from the source code of the data processing apparatus 300 of this embodiment has a one-to-one correspondence with the array processor 100, information such as the CD-ROM 108 in which the computer program is stored. The storage medium is preferably sold as a set with one or more array type processors 100.

その場合、条件記憶手段212の制約条件やオブジェクト記憶手段225のオブジェクトコードもアレイ型プロセッサ100に対応するので、その制約条件やオブジェクトコードを構造データとしてコンピュータプログラムとともに情報記憶媒体にデータ格納することが好適である。   In that case, since the constraint condition of the condition storage unit 212 and the object code of the object storage unit 225 also correspond to the array type processor 100, the constraint condition and the object code can be stored as data in the information storage medium together with the computer program. Is preferred.

また、アレイ型プロセッサ100として複数種類の製品を販売するような場合、複数種類のアレイ型プロセッサ100で共通する一つのコンピュータプログラムを一個の情報記憶媒体にデータ格納して販売し、複数種類のアレイ型プロセッサ100を選択的に販売するときに、対応する制約条件やオブジェクトコードがデータ格納された複数種類の情報記憶媒体をともに販売することが好適である。   In addition, when a plurality of types of products are sold as the array type processor 100, one computer program common to the plurality of types of array type processor 100 is stored in a single information storage medium and sold, and a plurality of types of arrays are sold. When the type processor 100 is selectively sold, it is preferable to sell a plurality of types of information storage media in which corresponding constraint conditions and object codes are stored.

なお、本発明は上記形態に限定されるものではなく、その要旨を逸脱しない範囲で各種の変形を許容する。例えば、上記形態ではソースコードからオブジェクトコードをデータ生成する一連の処理動作をデータ処理装置300が一つのコンピュータプログラムに対応して実行することを例示したが、ソースコードからRTL記述をデータ生成するデータ処理装置およびコンピュータプログラム、RTL記述からネットリストをデータ生成するデータ処理装置およびコンピュータプログラム、ネットリストからオブジェクトコードをデータ生成するデータ処理装置およびコンピュータプログラム、を別個とすることも可能である。   In addition, this invention is not limited to the said form, A various deformation | transformation is accept | permitted in the range which does not deviate from the summary. For example, in the above embodiment, it is exemplified that the data processing apparatus 300 executes a series of processing operations for generating object code data from source code corresponding to one computer program. However, data for generating RTL description data from source code The processing device and computer program, the data processing device and computer program for generating netlist data from the RTL description, and the data processing device and computer program for generating object code data from the netlist may be separated.

また、上記形態ではRTL記述の“xb”のデータ処理を“x=Ym+Zn”なるY個のmbALU115とZ個のnbALU116とに割り付けるとき、“x”を“m”で除算した結果の整数部分“Y”を算出してから、その余数を“n”で除算した結果の整数“Z”を算出することにより、“xb”のデータ処理をビット数が多数のmbALU115に極力割り付け、余数部分のみビット数が少数のnbALU116に割り付けることを例示した。   Further, in the above embodiment, when the data processing of “xb” in the RTL description is assigned to Y mbALUs 115 and Z nbALUs 116 “x = Ym + Zn”, the integer part “x” obtained by dividing “x” by “m” By calculating the integer “Z” as a result of dividing the remainder by “n” after calculating “Y”, the data processing of “xb” is allocated to the mbALU 115 having a large number of bits as much as possible, and only the remainder part is bit. An example of assigning to a small number of nbALUs 116 has been described.

しかし、これでは“nb”が“1(bit)”で“mb”が“32(bit)”の場合に、“30(bit)”のデータ処理が30個のnbALU116で実行されるようなことが発生する。そこで、これを解消するためには、データ処理をm/nbALU115,116に割り付ける所定の閾値をデータ設定し、“x”を“m”で除算した結果の整数部分“Y”を算出してから、その余数が閾値より少数の場合に整数“Z”を算出し、余数が閾値以上の場合は“Y”に“1”を加算して“Z=0”とすることが好適である。   However, in this case, when “nb” is “1 (bit)” and “mb” is “32 (bit)”, data processing of “30 (bit)” is executed by 30 nbALUs 116. Will occur. Therefore, in order to eliminate this, after setting a predetermined threshold value for assigning the data processing to the m / nb ALUs 115 and 116 and calculating the integer part “Y” as a result of dividing “x” by “m”, It is preferable to calculate an integer “Z” when the remainder is smaller than the threshold, and to add “1” to “Y” to make “Z = 0” when the remainder is equal to or greater than the threshold.

この場合、mbALU115に極力割り付けられた“xb”のデータ処理の余数部分を、ビット数に対応してm/nbALU115,116の適切な一方に割り付けることができるので、例えば、“nb”が“1(bit)”で“mb”が“32(bit)”の場合に、“9(bit)”以上のデータ処理はmbALU115で実行して“8(bit)”以下のデータ処理はnbALU116で実行するようなことが可能となる。   In this case, the remainder of “xb” data processing allocated to the mbALU 115 as much as possible can be allocated to one of the m / nb ALUs 115 and 116 corresponding to the number of bits. For example, “nb” is “1”. (bit) ”and“ mb ”is“ 32 (bit) ”, data processing of“ 9 (bit) ”or more is executed by the mbALU 115, and data processing of“ 8 (bit) ”or less is executed by the nbALU 116. It becomes possible.

さらに、上記形態ではアレイ型プロセッサ100が“8(bit)”からなる“mb”と“1(bit)”からなる“nb”との二種類の回路資源を具備していることを例示したが、このような回路資源の種類の個数やビット数も各種に設定することが可能である。   Further, in the above embodiment, the array type processor 100 is exemplified to have two types of circuit resources, “mb” consisting of “8 (bit)” and “nb” consisting of “1 (bit)”. The number of types of circuit resources and the number of bits can be set in various ways.

このような場合でも、適切な制約条件がデータ登録されることにより、データ処理装置300はアレイ型プロセッサ100に適切なオブジェクトコードをデータ生成することができる。例えば、アレイ型プロセッサがmbALU115しか具備しないならば、前述の“x”を“m”で除算した結果の整数部分“Y”を算出し、その余数が存在しないならば“xb”のデータ処理を“x=Ym”なるY個のmbALU115に割り付け、余数が存在するならば“x≒(Y+1)m”なる(Y+1)個のmbALU115に割り付けることが好適である。   Even in such a case, the data processing apparatus 300 can generate an appropriate object code for the array processor 100 by registering appropriate constraint conditions as data. For example, if the array type processor has only the mbALU 115, the integer part “Y” of the result of dividing “x” by “m” is calculated, and if the remainder does not exist, the data processing of “xb” is performed. It is preferable to allocate to Y mbALUs 115 such that “x = Ym”, and to allocate (y + 1) mbALUs 115 where “x≈ (Y + 1) m” if there is a remainder.

また、上記形態ではアレイ型プロセッサ100のプロセッサエレメント107がm/nbALU115,116でデータ処理を実行することを例示したが、これら以外にデータ処理を実行する回路資源をプロセッサエレメント107に形成することも可能である。   In the above embodiment, the processor element 107 of the array type processor 100 is exemplified to execute data processing by the m / nb ALUs 115 and 116. However, other circuit resources for executing data processing may be formed in the processor element 107. Is possible.

例えば、少なくともマスク回路によりmbデータとnbデータとのデータ操作を実行するDMU(Data Manipulation Unit)なる回路資源をプロセッサエレメント107に形成することも可能であり、このようなアレイ型プロセッサ100を本出願人は特願2001−263804号として出願している。このような場合でも、その回路資源に対応して制約条件をデータ設定することにより、データ処理装置300はアレイ型プロセッサ100のオブジェクトコードを適切にデータ生成することができる。   For example, a circuit resource called DMU (Data Manipulation Unit) for executing data manipulation of mb data and nb data by at least a mask circuit can be formed in the processor element 107. Such an array type processor 100 is disclosed in the present application. A person has filed as Japanese Patent Application No. 2001-263804. Even in such a case, the data processing device 300 can appropriately generate the object code of the array type processor 100 by setting the constraint condition data corresponding to the circuit resource.

さらに、上記形態ではアレイ型プロセッサ100がマトリクス回路部105に配列されたプロセッサエレメント107のみでデータ処理を実行することを例示したが、マトリクス回路部105の外側に専用の演算回路を形成することも可能である。   Further, in the above embodiment, the array processor 100 is exemplified to execute data processing only by the processor elements 107 arranged in the matrix circuit unit 105. However, a dedicated arithmetic circuit may be formed outside the matrix circuit unit 105. Is possible.

例えば、一般に乗算器は回路規模が過大なので、マトリクス回路部105の外部に配置して必要によりプロセッサエレメント107からアクセスさせることが可能である。このような場合でも、その回路資源に対応して制約条件をデータ設定することにより、データ処理装置300はアレイ型プロセッサ100のオブジェクトコードを適切にデータ生成することができる。ただし、上述のようにプロセッサエレメント107がマトリクス回路部105の外部回路にアクセスするときは、これがDFGをCDFGにスケジューリングするときの状態遷移の制約条件となる。   For example, since the circuit scale of a multiplier is generally excessive, it can be arranged outside the matrix circuit unit 105 and accessed from the processor element 107 as necessary. Even in such a case, the data processing device 300 can appropriately generate the object code of the array type processor 100 by setting the constraint condition data corresponding to the circuit resource. However, when the processor element 107 accesses an external circuit of the matrix circuit unit 105 as described above, this becomes a restriction condition for state transition when scheduling the DFG to the CDFG.

さらに、上記形態では処理回路であるプロセッサエレメント107が演算器であるm/nbALU115,116からなるアレイ型プロセッサ100を並列演算装置として例示したが、この並列演算装置を処理回路がLUT(Look Up Table)からなるDRL(Dynamic Reconfigurable Logic)とすることも可能である。   Furthermore, in the above embodiment, the array type processor 100 including the m / nb ALUs 115 and 116 in which the processor element 107 as a processing circuit is an arithmetic unit is illustrated as a parallel arithmetic device. DRL (Dynamic Reconfigurable Logic) made up of).

上記形態のアレイ型プロセッサ100では、プロセッサエレメント107にデータ設定する動作命令をデータ更新することでハードウェア構成を変更するが、DRLではLUTの登録内容をデータ更新することでハードウェア構成を変更するので、これを実現するオブジェクトコードをデータ処理装置300でデータ生成することが可能である。   In the array-type processor 100 of the above embodiment, the hardware configuration is changed by updating the operation instruction to set data in the processor element 107, but in the DRL, the hardware configuration is changed by updating the data registered in the LUT. Therefore, it is possible for the data processing device 300 to generate data for an object code that realizes this.

また、上記形態ではスイッチエレメント108のインストラクションメモリが隣接するプロセッサエレメント107のインストラクションメモリ111で兼用されており、状態管理部103がプロセッサエレメント107とスイッチエレメント108との一組のインストラクションポインタを対応するプロセッサエレメント107のインストラクションメモリ111に供給することを例示した。   In the above embodiment, the instruction memory of the switch element 108 is also used as the instruction memory 111 of the adjacent processor element 107, and the state management unit 103 corresponds to a processor corresponding to a set of instruction pointers of the processor element 107 and the switch element 108. The supply to the instruction memory 111 of the element 107 has been exemplified.

しかし、プロセッサエレメント107のインストラクションメモリ111とは別個にスイッチエレメント108が自身専用のインストラクションメモリを具備し、状態管理部103がプロセッサエレメント107とスイッチエレメント108とのインストラクションポインタを対応するプロセッサエレメント107とスイッチエレメント108とのインストラクションメモリ111等に別個に供給することも可能である。   However, separately from the instruction memory 111 of the processor element 107, the switch element 108 has its own instruction memory, and the state management unit 103 switches the instruction pointer between the processor element 107 and the switch element 108 to the corresponding processor element 107 and switch. It is also possible to supply separately to the instruction memory 111 and the like with the element 108.

また、プロセッサエレメント107のインストラクションメモリをスイッチエレメント108のインストラクションメモリで兼用し、状態管理部103がプロセッサエレメント107とスイッチエレメント108との一組のインストラクションポインタを対応するスイッチエレメント108のインストラクションメモリに供給することも可能である。   Further, the instruction memory of the processor element 107 is also used as the instruction memory of the switch element 108, and the state management unit 103 supplies a set of instruction pointers of the processor element 107 and the switch element 108 to the instruction memory of the corresponding switch element 108. It is also possible.

さらに、上記形態ではアレイ型プロセッサ100に状態管理部103が一個のみ形成されていることを例示したが、これを複数としてプロセッサエレメント107を所定個数ずつ管理させることも可能である。このような場合、複数の状態管理部103を代表する一個が統合管理することや、複数の状態管理部103を統合管理する上位管理部(図示せず)を形成することが好適である。   Furthermore, in the above embodiment, it is exemplified that only one state management unit 103 is formed in the array type processor 100, but it is also possible to manage a predetermined number of processor elements 107 by using a plurality of the state management units 103. In such a case, it is preferable that one representative of the plurality of state management units 103 performs integrated management, or that a higher-level management unit (not shown) that integrally manages the plurality of state management units 103 is formed.

また、上記形態では連続する複数サイクルのコンテキストで処理データが連携するネットリストをマトリクス回路部105の一定位置のm/nbレジスタファイル113,114に共通に割り付けるため、最初に複数サイクルのコンテキストごとに処理データの連携に関係なくネットリストをm/nbレジスタファイル113,114などに割り付けてから、この割付位置を調整して処理データが連携するネットリストが割り付けられたm/nbレジスタファイル113,114の連続する複数サイクルのコンテキストでの位置を一致させることを例示した。   Further, in the above embodiment, since the netlist in which the processing data is linked in the context of a plurality of continuous cycles is assigned in common to the m / nb register files 113 and 114 at a fixed position in the matrix circuit unit 105, first, for each context of the plurality of cycles. Regardless of the linkage of the processing data, the netlist is assigned to the m / nb register files 113, 114 and the m / nb register files 113, 114 to which the assignment is adjusted and the netlist to which the processing data is linked are assigned. It is illustrated that the positions in the context of a plurality of consecutive cycles are matched.

しかし、最初に複数サイクルのコンテキストで処理データが連携するネットリストが共通に割り付けられるm/nbレジスタファイル113,114のマトリクス回路部105での位置を固定してから、他のネットリストを他のm/nbレジスタファイル113,114などに複数サイクルのコンテキストごとに割り付けることも可能である。   However, after fixing the position in the matrix circuit unit 105 of the m / nb register files 113 and 114 to which the netlist to which the processing data is linked in the context of a plurality of cycles is first allocated, the other netlist is transferred to the other It is also possible to assign to the m / nb register files 113, 114, etc. for each context of a plurality of cycles.

また、最初に複数サイクルのコンテキストで処理データが連携するネットリストが共通に割り付けられるm/nbレジスタファイル113,114のマトリクス回路部105での相対位置を設定してから、この相対位置を維持したまま他のネットリストを他のm/nbレジスタファイル113,114などに複数サイクルのコンテキストごとに割り付けることも可能である。   In addition, the relative position in the matrix circuit unit 105 of the m / nb register files 113 and 114 to which the netlist to which the processing data is linked is assigned in the context of a plurality of cycles is set first, and then this relative position is maintained. It is also possible to assign other netlists to other m / nb register files 113 and 114 and the like for each context of a plurality of cycles.

これらの場合、コンテキストごとの回路資源の使用範囲を削減することができるので、図17(a)に示すように、マトリクス回路部105に配列されているプロセッサエレメント107が少数でもコンテキストごとにネットリストを割り付けることが可能となる。   In these cases, the range of use of circuit resources for each context can be reduced, so that as shown in FIG. 17A, even if there are a small number of processor elements 107 arranged in the matrix circuit unit 105, a netlist is provided for each context. Can be assigned.

なお、同図(b)に示すように、従来のFPGA(Field Programmable Gate Array)やASIC(Application Specific Integrated Circuit)では、上述のような複数サイクルのコンテキストごとのネットリストを一面の回路資源に割り付けることになるので、多数の専用の回路資源が必要であり、一度形成したハードウェアを変更できないのでデータ処理の汎用性もない。   Note that, as shown in FIG. 4B, in the conventional FPGA (Field Programmable Gate Array) and ASIC (Application Specific Integrated Circuit), the netlist for each of the multiple cycles of context as described above is allocated to one circuit resource. Therefore, a large number of dedicated circuit resources are required, and once formed hardware cannot be changed, there is no versatility of data processing.

しかし、本形態のアレイ型プロセッサ100では、オブジェクトコードによりハードウェアを変更できるのでデータ処理の汎用性が良好であり、一連のデータ処理を複数サイクルのコンテキストごとに時分割に実行するので、一面に配列された回路資源の回路規模が削減されている。   However, in the array type processor 100 of this embodiment, since the hardware can be changed by the object code, the versatility of data processing is good, and a series of data processing is executed in a time-sharing manner for each of multiple cycles of context. The circuit scale of the arranged circuit resources is reduced.

さらに、上記形態では状態管理部103で管理される順次遷移する複数段階の動作状態とマトリクス回路部105で順次切り換えられる動作サイクルごとのコンテキストとが一対一に対応することを例示したが、例えば、制約条件により複数段階の動作状態から一つのコンテキストに割り付けられる複数を検出し、この検出された複数の動作状態を一つのコンテキストに割り付けることも可能である。   Furthermore, in the above-described form, it has been exemplified that the operation states of the sequential stages managed by the state management unit 103 and the context for each operation cycle sequentially switched by the matrix circuit unit 105 have a one-to-one correspondence. It is also possible to detect a plurality assigned to one context from a plurality of stages of operation states according to the constraint condition, and to assign the detected plurality of operation states to one context.

例えば、図15に示すように、連続する二つのコンテキストに割り付けられた連続する二つの動作状態で、m/nbレジスタファイル113,114の位置は共通しているがm/nbALU115,116の位置が重複していない場合、図18に示すように、その連続する二つの動作状態は一つのコンテキストに割り付けることが可能である。   For example, as shown in FIG. 15, in two consecutive operating states assigned to two consecutive contexts, the positions of the m / nb register files 113 and 114 are the same, but the positions of the m / nb ALUs 115 and 116 are the same. If there is no overlap, as shown in FIG. 18, the two consecutive operation states can be assigned to one context.

より具体的には、前述のように動作状態のスケジューリングは複数種類の制約条件に対応して実行され、メモリアクセスなどが発生した場合には割り付けるm/nbALU115,116の割付個数に関係なく動作状態が移行するので、図19(a)に示すように、m/nbALU115,116の割付個数が少数の動作状態が発生することがある。このようにデータ生成された複数の動作状態を複数のコンテキストに一対一に割り付けると、あるコンテキストではアレイ型プロセッサ100に配列されているm/nbALU115,116の極一部しか動作しない状態が発生する。   More specifically, as described above, the scheduling of the operation state is executed according to a plurality of types of constraint conditions, and the operation state regardless of the number of allocated m / nb ALUs 115 and 116 when a memory access or the like occurs. Therefore, as shown in FIG. 19A, there may occur an operation state in which the number of assigned m / nb ALUs 115 and 116 is small. When a plurality of operation states generated in this way are assigned to a plurality of contexts on a one-to-one basis, a state in which only a part of the m / nb ALUs 115 and 116 arranged in the array processor 100 operates in a certain context occurs. .

そこで、連続する複数の動作状態でm/nbALU115,116の割付個数を順次積算し、その積算個数が所定の許容個数を超過するごとにコンテキストを移行すれば、同図(b)に示すように、複数のコンテキストの各々に極力多数のm/nbALU115,116を割り付けることができる。   Therefore, if the allocated number of m / nb ALUs 115 and 116 is sequentially accumulated in a plurality of consecutive operating states, and the context is shifted every time the accumulated number exceeds a predetermined allowable number, as shown in FIG. As many m / nb ALUs 115 and 116 as possible can be assigned to each of the plurality of contexts.

例えば、第一から第三の動作状態が第一のコンテキストに割り付けられ、第五および第六の動作状態が第三のコンテキストに割り付けられた場合、そのオブジェクトプログラムに対応して動作するアレイ型プロセッサ100では、図20に示すように、第一の動作サイクルでは第一のコンテキストの第一の動作状態のデータ処理が実行され、第二の動作サイクルでは第一のコンテキストの第二の動作状態のデータ処理が実行され、第三の動作サイクルでは第一のコンテキストの第三の動作状態のデータ処理が実行される。   For example, when the first to third operation states are assigned to the first context and the fifth and sixth operation states are assigned to the third context, the array type processor that operates corresponding to the object program At 100, as shown in FIG. 20, in the first operation cycle, data processing of the first operation state of the first context is executed, and in the second operation cycle, the second operation state of the first context is executed. Data processing is executed, and in the third operation cycle, data processing in the third operation state of the first context is executed.

第四の動作サイクルでは第一のコンテキストが第二のコンテキストに切り換えられて第四の動作状態のデータ処理が実行され、第五の動作サイクルでは第二のコンテキストが第三のコンテキストに切り換えられて第五の動作状態のデータ処理が実行される。   In the fourth operation cycle, the first context is switched to the second context and the data processing of the fourth operation state is executed, and in the fifth operation cycle, the second context is switched to the third context. Data processing in the fifth operation state is executed.

上述のように複数の動作状態を一つのコンテキストに割り付けると、アレイ型プロセッサ100でのデータ処理の所要時間は一つの動作状態を一つのコンテキストに割り付けた場合と同一であるが、オブジェクトコードにデータ設定されるコンテキストの個数が削減されるので、オブジェクトコードのデータ容量を圧縮することができる。   As described above, when a plurality of operation states are assigned to one context, the time required for data processing in the array type processor 100 is the same as when one operation state is assigned to one context. Since the number of contexts to be set is reduced, the data capacity of the object code can be compressed.

さらに、アレイ型プロセッサ100のオブジェクトコードを一時保持するコードメモリ102の記憶容量も削減することができ、状態管理部103によるマトリクス回路部105のコンテキストの切換回数も削減できるので、その消費電力も縮小することができる。   Further, the storage capacity of the code memory 102 that temporarily holds the object code of the array type processor 100 can be reduced, and the number of times of switching the context of the matrix circuit unit 105 by the state management unit 103 can be reduced. can do.

また、上記には一つのコンテキストに連続する二つの動作状態を割り付けることを例示したが、二つ以上の動作状態を割り付けることも可能であり、図21および図22に示すように、連続しない複数の動作状態を割り付けることも可能である。この場合は、状態管理部103によるマトリクス回路部105のコンテキストの切換回数は削減できない場合もあるが、オブジェクトコードにデータ設定されるコンテキストの個数は削減することができる。   Further, although the above has exemplified the assignment of two consecutive operation states to one context, it is also possible to assign two or more operation states, as shown in FIG. 21 and FIG. It is also possible to assign the operation state. In this case, the number of context switching of the matrix circuit unit 105 by the state management unit 103 may not be reduced, but the number of contexts set in the object code can be reduced.

さらに、上記形態ではデータ処理装置300でデータ生成されたオブジェクトコードがアレイ型プロセッサ100に一時保持されることを例示したが、例えば、データ処理装置300がデータ生成するオブジェクトコードに対応してアレイ型プロセッサ100がリアルタイムに動作することも不可能ではない。   Furthermore, although the object code generated by the data processing device 300 is temporarily held in the array type processor 100 in the above embodiment, for example, the array type corresponding to the object code generated by the data processing device 300 is used. It is not impossible for the processor 100 to operate in real time.

また、上記形態ではコードメモリ102に一時保持されたオブジェクトコードに対応して、状態管理部103が動作サイクルごとにマトリクス回路部105のコンテキストを切換制御することを例示したが、マトリクス回路部105が複数のコンテキストをデータ記憶して動作サイクルごとに一つずつ対応動作を実行することも可能である。   In the above embodiment, the state management unit 103 switches and controls the context of the matrix circuit unit 105 for each operation cycle corresponding to the object code temporarily stored in the code memory 102. However, the matrix circuit unit 105 It is also possible to store a plurality of contexts and execute a corresponding operation for each operation cycle.

このとき、状態管理部103はマトリクス回路部105にデータ記憶された複数のコンテキストの全部を複数サイクルごとにデータ更新することも可能であるが、マトリクス回路部105がデータ記憶した所定個数のコンテキストの一つで対応動作を実行している最中に、対応動作が実行されたコンテキストを状態管理部103が新規のコンテキストにデータ更新することも可能である。この場合、マトリクス回路部105は所定個数のコンテキストしかデータ保持しないが、コンテキストの対応動作を個数に制限なく連続的に実行することができる。   At this time, the state management unit 103 can update all of the plurality of contexts stored in the matrix circuit unit 105 every multiple cycles. However, the state management unit 103 can update the predetermined number of contexts stored in the matrix circuit unit 105. It is also possible for the state management unit 103 to update the data of the context in which the corresponding operation is executed to a new context while the corresponding operation is being executed. In this case, the matrix circuit unit 105 holds data only for a predetermined number of contexts, but can perform a context corresponding operation continuously without limitation on the number.

例えば、図23に示すように、マトリクス回路部105が第一から第六のコンテキストをデータ保持して順番にデータ処理を実行する場合、第四のコンテキストのデータ処理を実行しているときには、状態管理部103はデータ処理が終了した第一から第三のコンテキストをデータ更新することができる。   For example, as shown in FIG. 23, when the matrix circuit unit 105 holds the first to sixth contexts and executes the data processing in order, when the fourth context data processing is executed, The management unit 103 can update data in the first to third contexts after the data processing is completed.

ただし、図22に示すように、一つのコンテキストを複数の動作サイクルで繰り返し使用するような場合もあるので、例えば、図24に示すように、マトリクス回路部105がデータ保持した第一から第六のコンテキストのデータ処理を順番に実行してから、第一から第三のコンテキストのデータ処理を再度実行するような場合には、状態管理部103はデータ処理が終了した第四から第五のコンテキストをデータ更新することができる。   However, as shown in FIG. 22, there is a case where one context is repeatedly used in a plurality of operation cycles. For example, as shown in FIG. 24, the first to sixth data held by the matrix circuit unit 105 are stored. In the case where the data processing of the first context to the third context is executed again after executing the data processing of the contexts in order, the state management unit 103 executes the fourth to fifth contexts in which the data processing is completed. The data can be updated.

上述のような動作をアレイ型プロセッサ100に実行させるためには、マトリクス回路部105がデータ記憶した所定個数のコンテキストの一つで対応動作を実行している最中に、対応動作が実行されたコンテキストを状態管理部103が新規のコンテキストにデータ更新するように、データ処理装置300がCDFGをデータ生成すれば、このCDFGからデータ生成されたオブジェクトコードに対応してアレイ型プロセッサ100に上述の動作を実行させることができる。   In order to cause the array processor 100 to execute the above-described operation, the corresponding operation is executed while the matrix circuit unit 105 is executing the corresponding operation in one of a predetermined number of contexts stored as data. If the data processing apparatus 300 generates CDFG data so that the state management unit 103 updates the data to a new context, the array processor 100 performs the above-described operation corresponding to the object code generated from the CDFG. Can be executed.

さらに、上記形態ではRAM304等に格納されているコンピュータプログラムに対応してCPU301が動作することにより、データ処理装置300の各種機能として各種手段が論理的に実現されることを例示した。しかし、このような各種手段の各々を固有のハードウェアとして形成することも可能であり、一部をソフトウェアとしてRAM304等に格納するとともに一部をハードウェアとして形成することも可能である。   Furthermore, in the above embodiment, it is exemplified that various means are logically realized as various functions of the data processing device 300 by the CPU 301 operating corresponding to the computer program stored in the RAM 304 or the like. However, each of these various means can be formed as unique hardware, and a part can be stored in the RAM 304 or the like as software and a part can be formed as hardware.

本発明の実施の一形態のデータ処理システムの論理構造を示す模式的なブロック図である。It is a typical block diagram which shows the logical structure of the data processing system of one Embodiment of this invention. データ処理装置の論理構造を示す模式的なブロック図である。It is a typical block diagram which shows the logical structure of a data processor. データ処理装置の物理構造を示すブロック図である。It is a block diagram which shows the physical structure of a data processor. ソースコードの記述内容と並列演算装置であるアレイ型プロセッサのハードウェアとの対応関係を示す模式図である。It is a schematic diagram which shows the correspondence of the description content of a source code, and the hardware of the array type processor which is a parallel arithmetic unit. (a)はアレイ型プロセッサの全体構造を示す模式的なブロック図、(b)は処理回路であるプロセッサエレメントの内部構造を示す模式的なブロック図である。(a) is a schematic block diagram showing the overall structure of an array type processor, and (b) is a schematic block diagram showing the internal structure of a processor element as a processing circuit. CDFGの状態遷移とアレイ型プロセッサのコンテキスト切換との対応関係を示す模式図である。It is a schematic diagram which shows the correspondence of the state transition of CDFG and the context switching of an array type processor. ソースコードの具体例を示す模式図である。It is a schematic diagram which shows the specific example of a source code. DFGの具体例を示す模式図である。It is a schematic diagram which shows the specific example of DFG. (a)は本形態のアレイ型プロセッサのCDFGの具体例を示す模式図、(b)は従来のアレイ型プロセッサのCDFGの具体例を示す模式図である。(a) is a schematic diagram showing a specific example of the CDFG of the array type processor of this embodiment, and (b) is a schematic diagram showing a specific example of the CDFG of the conventional array type processor. 他のソースコードの具体例を示す模式図である。It is a schematic diagram which shows the specific example of another source code. 他のCDFGの具体例を示す模式図である。It is a schematic diagram which shows the specific example of other CDFG. CDFGのデータ処理に回路資源が割り付けられた状態を示す模式図である。It is a schematic diagram which shows the state by which the circuit resource was allocated to the data processing of CDFG. “xb”のデータ処理が“m/nb”の回路資源に割り付けられる状態を示す模式図である。It is a schematic diagram which shows the state by which the data processing of "xb" is allocated to the circuit resource of "m / nb". 連続する二つのコンテキストごとにネットリストが割り付けられた状態を示す模式図である。It is a schematic diagram which shows the state by which the netlist was allocated for every two continuous contexts. 連続する二つのコンテキストのネットリストが連携された状態を示すを示す模式図である。It is a schematic diagram which shows the state which the netlist of two continuous contexts cooperated. データ処理装置によるデータ処理方法を示すフローチャートである。It is a flowchart which shows the data processing method by a data processor. (a)は本形態のアレイ型プロセッサの二つのコンテキストにネットリストが割り付けられた状態を示す模式図、(b)は従来の並列演算装置の一面にネットリストが割り付けられた状態を示す模式図である。(a) is a schematic diagram showing a state in which a netlist is assigned to two contexts of the array type processor of the present embodiment, and (b) is a schematic diagram showing a state in which a netlist is assigned to one surface of a conventional parallel processing device. It is. 連続する二つの動作状態のネットリストが一つのコンテキストに割り付けられた状態を示す模式図である。It is a schematic diagram which shows the state by which the net list | wrist of two continuous operation states was allocated to one context. m/nbALUの割付個数による動作状態とコンテキストとの対応関係を示す模式図である。It is a schematic diagram which shows the correspondence of the operation state by the allocation number of m / nbALU, and a context. 連続する複数の動作状態が一つのコンテキストに割り付けられた状態を示す模式図である。It is a schematic diagram which shows the state by which the several continuous operation state was allocated to one context. m/nbALUの割付個数による動作状態とコンテキストとの対応関係を示す模式図である。It is a schematic diagram which shows the correspondence of the operation state by the allocation number of m / nbALU, and a context. 連続しない複数の動作状態が一つのコンテキストに割り付けられた状態を示す模式図である。It is a schematic diagram which shows the state by which the some continuous operation state was allocated to one context. 連続する複数のコンテキストの一つがアクティブな状態を示す模式図である。It is a schematic diagram which shows the state in which one of several continuous contexts is active. 連続する複数のコンテキストがアクティブな状態を示す模式図である。It is a schematic diagram which shows the state where several continuous contexts are active.

符号の説明Explanation of symbols

100 アレイ型プロセッサ
103 状態管理部
107 プロセッサエレメント
108 スイッチエレメント
113 mb回路資源であるmbレジスタファイル
114 nb回路資源であるnbレジスタファイル
115 mb回路資源であるmbALU
116 nb回路資源であるnbALU
200 データ処理システム
201 ソース供給手段
202 オブジェクト供給手段
203 データ入力手段
211 ソース入力手段
212 条件記憶手段
213 オブジェクト生成手段
214 オブジェクト出力手段
221 グラフ生成手段
222 スケジュール生成手段
223 記述生成手段
224 リスト生成手段
225 オブジェクト記憶手段
226 状態変換手段
227 処理配置手段
228 コード変換手段
229 配線変換手段
300 データ処理装置
301 コンピュータの主体であるCPU
303 情報記憶媒体であるROM
304 情報記憶媒体であるRAM
305 情報記憶媒体であるHDD
306 情報記憶媒体であるFD
308 情報記憶媒体であるCD−ROM
100 array type processor 103 state management unit 107 processor element 108 switch element 113 mb register resource 114 mb circuit resource nb register file 115 nb circuit resource mb ALU mb circuit resource
116 nbALU which is nb circuit resource
200 Data Processing System 201 Source Supply Unit 202 Object Supply Unit 203 Data Input Unit 211 Source Input Unit 212 Condition Storage Unit 213 Object Generation Unit 214 Object Output Unit 221 Graph Generation Unit 222 Schedule Generation Unit 223 Description Generation Unit 224 List Generation Unit 225 Object Storage means 226 State conversion means 227 Processing arrangement means 228 Code conversion means 229 Wire conversion means 300 Data processing device 301 CPU which is the main body of the computer
303 ROM as an information storage medium
304 RAM as an information storage medium
305 HDD as information storage medium
306 FD as an information storage medium
308 CD-ROM as information storage medium

Claims (18)

個々にデータ設定される第1の動作命令に対応してデータ処理を個々に実行する複数の処理回路と前記第1の動作命令に対応して複数の前記処理回路の接続関係を個々に切換制御する複数の配線回路とがマトリクス配列されているマトリクス回路部と、第2の動作命令に対応して前記マトリクス回路部のコンテキストを動作サイクルごとに順次切り換える状態管理部を別個に備える並列演算装置の動作が高級言語で記述された一連のソースコードから、複数の前記処理回路と複数の前記配線回路との順次切り換わる動作状態ごとの前記第1の動作命令からなるコンテキスト及び前記第2の動作命令を少なくとも内包した一連のオブジェクトコードをデータ生成するデータ処理装置であって、
前記並列演算装置の少なくとも物理構造と物理特性とに対応した制約条件が事前にデータ登録されている条件記憶手段と、
前記ソースコードがデータ入力されるソース入力手段と、
前記データ入力された前記ソースコードから、前記動作状態ごとに前記コンテキストを順次切り換える前記オブジェクトコードを、前記マトリクス回路部に対応したデータパスと前記状態管理部に対応した有限状態マシンとを分離して、前記制約条件を満足するように、データ生成するオブジェクト生成手段と、
前記データ生成された前記オブジェクトコードをデータ出力するオブジェクト出力手段と、
を具備しているデータ処理装置。
Switching control is individually performed for connection relations between a plurality of processing circuits that individually execute data processing corresponding to the first operation command set individually and a plurality of processing circuits corresponding to the first operation command. A parallel processing device comprising: a matrix circuit unit in which a plurality of wiring circuits are arranged in a matrix; and a state management unit that sequentially switches a context of the matrix circuit unit in response to a second operation instruction for each operation cycle. Context including the first operation instruction for each operation state in which a plurality of processing circuits and a plurality of the wiring circuits are sequentially switched from a series of source codes whose operations are described in a high-level language, and the second operation instruction A data processing device for generating data of a series of object codes including at least
Condition storage means in which constraint conditions corresponding to at least the physical structure and physical characteristics of the parallel computing device are registered in advance,
Source input means for inputting the source code data;
The object code for sequentially switching the context for each operation state is separated from the source code inputted with the data by separating a data path corresponding to the matrix circuit unit and a finite state machine corresponding to the state management unit. Object generation means for generating data so as to satisfy the constraint conditions;
Object output means for outputting the data of the generated object code;
A data processing apparatus comprising:
個々にデータ設定される第1の動作命令に対応してデータ処理を個々に実行する複数の処理回路と前記第1の動作命令に対応して複数の前記処理回路の接続関係を個々に切換制御する複数の配線回路とがマトリクス配列されているマトリクス回路部と、第2の動作命令に対応して前記マトリクス回路部のコンテキストを動作サイクルごとに順次切り換える状態管理部を別個に備える並列演算装置の動作が高級言語で記述された一連のソースコードから、複数の前記処理回路と複数の前記配線回路との順次切り換わる動作状態ごとの前記並列処理回路のRTL(Register Transfer Level)記述をデータ生成するデータ処理装置であって、
前記並列演算装置の少なくとも物理構造と物理特性とに対応した制約条件が事前にデータ登録されている条件記憶手段と、
前記ソースコードがデータ入力されるソース入力手段と、
前記データ入力された前記ソースコードから、前記動作状態ごとに前記コンテキストを順次切り換える前記RTL記述を、前記マトリクス回路部に対応したデータパスと前記状態管理部に対応した有限状態マシンとを分離して、前記制約条件を満足するように、データ生成するRTL生成手段と、
前記データ生成された前記RTL記述をデータ出力するRTL出力手段と、
を具備しているデータ処理装置。
Switching control is individually performed for connection relations between a plurality of processing circuits that individually execute data processing corresponding to the first operation command set individually and a plurality of processing circuits corresponding to the first operation command. A parallel processing device comprising: a matrix circuit unit in which a plurality of wiring circuits are arranged in a matrix; and a state management unit that sequentially switches a context of the matrix circuit unit in response to a second operation instruction for each operation cycle. RTL (Register Transfer Level) description of the parallel processing circuit is generated for each operation state in which the plurality of processing circuits and the plurality of wiring circuits are sequentially switched from a series of source codes whose operations are described in a high-level language. A data processing device,
Condition storage means in which constraint conditions corresponding to at least the physical structure and physical characteristics of the parallel computing device are registered in advance,
Source input means for inputting the source code data;
The RTL description for sequentially switching the context for each operation state is separated from the source code inputted with the data by separating the data path corresponding to the matrix circuit portion and the finite state machine corresponding to the state management portion. RTL generation means for generating data so as to satisfy the constraint conditions;
RTL output means for outputting the data-generated RTL description;
A data processing apparatus comprising:
個々にデータ設定される第1の動作命令に対応してデータ処理を個々に実行する複数の処理回路と前記第1の動作命令に対応して複数の前記処理回路の接続関係を個々に切換制御する複数の配線回路とがマトリクス配列されているマトリクス回路部と、第2の動作命令に対応して前記マトリクス回路部のコンテキストを動作サイクルごとに順次切り換える状態管理部を別個に備える並列演算装置のRTL記述から、複数の前記処理回路と複数の前記配線回路との順次切り換わる動作状態ごとの、前記並列演算装置が備える回路資源のネットリストをデータ生成するデータ処理装置であって、
前記並列演算装置の少なくとも物理構造と物理特性とに対応した制約条件が事前にデータ登録されている条件記憶手段と、
前記RTL記述がデータ入力されるRTL入力手段と、
前記データ入力された前記RTL記述から、前記動作状態ごとに前記コンテキストを順次切り換える前記ネットリストを、前記マトリクス回路部に対応したデータパスと前記状態管理部に対応した有限状態マシンとを分離して、前記制約条件を満足するように、データ生成するネットリスト生成手段と、
前記データ生成された前記ネットリストをデータ出力するネットリスト出力手段と、
を具備しているデータ処理装置。
Switching control is individually performed for connection relations between a plurality of processing circuits that individually execute data processing corresponding to the first operation command set individually and a plurality of processing circuits corresponding to the first operation command. A parallel processing device comprising: a matrix circuit unit in which a plurality of wiring circuits are arranged in a matrix; and a state management unit that sequentially switches a context of the matrix circuit unit in response to a second operation instruction for each operation cycle. A data processing device that generates a netlist of circuit resources included in the parallel processing device for each operation state in which a plurality of processing circuits and a plurality of wiring circuits are sequentially switched from an RTL description,
Condition storage means in which constraint conditions corresponding to at least the physical structure and physical characteristics of the parallel computing device are registered in advance,
RTL input means for inputting data of the RTL description;
The netlist for sequentially switching the context for each operation state is separated from the RTL description inputted with the data, by separating the data path corresponding to the matrix circuit portion and the finite state machine corresponding to the state management portion. Netlist generating means for generating data so as to satisfy the constraint conditions;
Netlist output means for outputting data of the generated netlist;
A data processing apparatus comprising:
個々にデータ設定される第1の動作命令に対応してデータ処理を個々に実行する複数の処理回路と前記第1の動作命令に対応して複数の前記処理回路の接続関係を個々に切換制御する複数の配線回路とがマトリクス配列されているマトリクス回路部と、第2の動作命令に対応して前記マトリクス回路部のコンテキストを動作サイクルごとに順次切り換える状態管理部を別個に備える並列演算装置が備える回路資源のネットリストから、複数の前記処理回路と複数の前記配線回路との順次切り換わる動作状態ごとの前記第1の動作命令からなるコンテキスト及び前記第2の動作命令を少なくとも内包した一連のオブジェクトコードをデータ生成するデータ処理装置であって、
前記並列演算装置の少なくとも物理構造と物理特性とに対応した制約条件が事前にデータ登録されている条件記憶手段と、
前記ネットリストがデータ入力されるネットリスト入力手段と、
前記データ入力された前記ネットリストから、前記動作状態ごとに前記コンテキストを順次切り換える前記オブジェクトコードを、前記マトリクス回路部に対応したデータパスと前記状態管理部に対応した有限状態マシンとを分離して、前記制約条件を満足するように、データ生成するオブジェクト生成手段と、
前記データ生成された前記オブジェクトコードをデータ出力するオブジェクト出力手段と、
を具備しているデータ処理装置。
Switching control is individually performed for connection relations between a plurality of processing circuits that individually execute data processing corresponding to the first operation command set individually and a plurality of processing circuits corresponding to the first operation command. A parallel processing device that separately includes a matrix circuit section in which a plurality of wiring circuits are arranged in a matrix and a state management section that sequentially switches the context of the matrix circuit section in response to a second operation instruction for each operation cycle A series including at least a context including the first operation instruction and the second operation instruction for each operation state in which the plurality of processing circuits and the plurality of wiring circuits are sequentially switched from a net list of circuit resources provided. A data processing device for generating object code data,
Condition storage means in which constraint conditions corresponding to at least the physical structure and physical characteristics of the parallel computing device are registered in advance,
Netlist input means for inputting the netlist data;
The object code for sequentially switching the context for each operation state is separated from the data input netlist by separating a data path corresponding to the matrix circuit unit and a finite state machine corresponding to the state management unit. Object generation means for generating data so as to satisfy the constraint conditions;
Object output means for outputting the data of the generated object code;
A data processing apparatus comprising:
前記制約条件は、前記複数の処理回路の個数、前記処理回路の入力ポート数、前記処理回路の使用可能な回路資源の有無、前記処理回路または前記配線回路の処理能力、前記複数の配線回路の遅延時間、前記回路資源のビット数、及び前記動作状態を切り換えるクロックの間隔、のうちの少なくとも一つを含む
請求項1乃至4のいずれか一項に記載のデータ処理装置。
The constraint conditions include the number of the plurality of processing circuits, the number of input ports of the processing circuit, the presence or absence of usable circuit resources of the processing circuit, the processing capability of the processing circuit or the wiring circuit, and the number of wiring circuits 5. The data processing apparatus according to claim 1, comprising at least one of a delay time, the number of bits of the circuit resource, and a clock interval for switching the operation state. 6.
条件記憶手段、ソース入力手段、オブジェクト生成手段、及びオブジェクト出力手段を備えるデータ処理装置オブジェクトコードを生成するデータ処理方法であって、
前記条件記憶手段には、個々にデータ設定される第1の動作命令に対応してデータ処理を個々に実行する複数の処理回路と前記第1の動作命令に対応して複数の前記処理回路の接続関係を個々に切換制御する複数の配線回路とがマトリクス配列されているマトリクス回路部と、第2の動作命令に対応して前記マトリクス回路部のコンテキストを動作サイクルごとに順次切り換える状態管理部とを別個に具備する並列演算装置の少なくとも物理構造と物理特性とに対応した制約条件データ登録されており
前記ソース入力手段、前記並列演算装置の動作が高級言語で記述された一連のソースコードをデータ入力する工程と、
前記オブジェクト生成手段、前記データ入力された前記ソースコードから、複数の前記処理回路と複数の前記配線回路との順次切り換わる動作状態ごとの前記第1の動作命令からなるコンテキスト及び前記第2の動作命令を少なくとも内包し、前記動作状態ごとに前記コンテキストを順次切り換える一連の前記オブジェクトコードを、前記マトリクス回路部に対応したデータパスと前記状態管理部に対応した有限状態マシンとを分離して、前記制約条件を満足するように、データ生成する工程と、
前記オブジェクト出力手段、前記データ生成された前記オブジェクトコードをデータ出力する工程と、
を具備しているデータ処理方法。
Condition storage unit, a data processing method source input means, the object generation means, and the data processing apparatus comprising an object output means for generating an object code,
The condition storage means includes a plurality of processing circuits that individually execute data processing in response to first operation instructions set individually, and a plurality of processing circuits that correspond to the first operation instructions. A matrix circuit unit in which a plurality of wiring circuits that individually switch and control connection relations are arranged in a matrix; and a state management unit that sequentially switches the context of the matrix circuit unit for each operation cycle in response to a second operation command; The constraint condition corresponding to at least the physical structure and the physical characteristics of the parallel processing device separately provided is registered as data,
The source input means, the steps of operation of the parallel arithmetic unit for data entry a set of source code written in a high level language,
The object generation means, wherein the data input the source code consists of the first operation command for each sequential cutting switched operating state of the plurality of the processing circuit and a plurality of the wiring circuit context and the second A series of the object code including at least an operation instruction and sequentially switching the context for each operation state, separating a data path corresponding to the matrix circuit unit and a finite state machine corresponding to the state management unit, Generating data so as to satisfy the constraints;
The object output means, the steps of data output the object code the is data generated,
A data processing method comprising:
条件記憶手段、ソース入力手段、RTL生成手段、及びRTL出力手段を備えるデータ処理装置RTL記述を生成するデータ処理方法であって、
前記条件記憶手段には、個々にデータ設定される第1の動作命令に対応してデータ処理を個々に実行する複数の処理回路と前記第1の動作命令に対応して複数の前記処理回路の接続関係を個々に切換制御する複数の配線回路とがマトリクス配列されているマトリクス回路部と、第2の動作命令に対応して前記マトリクス回路部のコンテキストを動作サイクルごとに順次切り換える状態管理部とを別個に具備する並列演算装置の少なくとも物理構造と物理特性とに対応した制約条件データ登録されており
前記ソース入力手段、前記並列演算装置の動作が高級言語で記述された一連のソースコードをデータ入力する工程と、
前記RTL生成手段、前記データ入力された前記ソースコードから、複数の前記処理回路と複数の前記配線回路との順次切り換わる動作状態ごとの前記第1の動作命令からなるコンテキスト及び前記第2の動作命令を少なくとも内包し、前記動作状態ごとに前記コンテキストを順次切り換える一連の前記RTL記述を、前記マトリクス回路部に対応したデータパスと前記状態管理部に対応した有限状態マシンとを分離して、前記制約条件を満足するように、データ生成する工程と、
前記RTL出力手段、前記データ生成された前記RTL記述をデータ出力する工程と、
を具備しているデータ処理方法。
Condition storage unit, a data processing method source input means, RTL generation means, and the data processing apparatus provided with RTL output means generates the RTL description,
The condition storage means includes a plurality of processing circuits that individually execute data processing in response to first operation instructions set individually, and a plurality of processing circuits that correspond to the first operation instructions. A matrix circuit unit in which a plurality of wiring circuits that individually switch and control connection relations are arranged in a matrix; and a state management unit that sequentially switches the context of the matrix circuit unit for each operation cycle in response to a second operation command; The constraint condition corresponding to at least the physical structure and the physical characteristics of the parallel processing device separately provided is registered as data,
The source input means, the steps of operation of the parallel arithmetic unit for data entry a set of source code written in a high level language,
The RTL generation means, wherein the data input the source code consists of the first operation command for each sequential cutting switched operating state of the plurality of the processing circuit and a plurality of the wiring circuit context and the second A series of RTL descriptions that include at least an operation instruction and sequentially switch the context for each operation state, separate a data path corresponding to the matrix circuit unit and a finite state machine corresponding to the state management unit, Generating data so as to satisfy the constraints;
The RTL output means for outputting the data-generated RTL description;
A data processing method comprising:
条件記憶手段、RTL入力手段、ネットリスト生成手段、及びネットリスト出力手段を備えるデータ処理装置ネットリストを生成するデータ処理方法であって、
前記条件記憶手段には、個々にデータ設定される第1の動作命令に対応してデータ処理を個々に実行する複数の処理回路と前記第1の動作命令に対応して複数の前記処理回路の接続関係を個々に切換制御する複数の配線回路とがマトリクス配列されているマトリクス回路部と、第2の動作命令に対応して前記マトリクス回路部のコンテキストを動作サイクルごとに順次切り換える状態管理部とを別個に具備する並列演算装置の少なくとも物理構造と物理特性とに対応した制約条件データ登録されており
前記RTL入力手段、前記並列演算装置の動作が高級言語で記述された一連のRTL記述をデータ入力する工程と、
前記ネットリスト生成手段、前記データ入力された前記RTL記述から、複数の前記処理回路と複数の前記配線回路との順次切り換わる動作状態ごとに前記コンテキストを順次切り換える、前記並列演算装置が備える回路資源の前記ネットリストを、前記マトリクス回路部に対応したデータパスと前記状態管理部に対応した有限状態マシンとを分離して、前記制約条件を満足するように、データ生成する工程と、
前記ネットリスト出力手段、前記データ生成された前記ネットリストをデータ出力する工程と、
を具備しているデータ処理方法。
Condition storage unit, RTL input means, the net list generating means, and a data processing method in which the data processing apparatus comprising a netlist output means generates a netlist,
The condition storage means includes a plurality of processing circuits that individually execute data processing in response to first operation instructions set individually, and a plurality of processing circuits that correspond to the first operation instructions. A matrix circuit unit in which a plurality of wiring circuits that individually switch and control connection relations are arranged in a matrix; and a state management unit that sequentially switches the context of the matrix circuit unit for each operation cycle in response to a second operation command; The constraint condition corresponding to at least the physical structure and the physical characteristics of the parallel processing device separately provided is registered as data,
The RTL input means, the steps of operation of the parallel arithmetic unit for data entry a set of RTL descriptions written in high-level language,
The net list generating means, wherein the data input the RTL description, sequentially switching the context for each successively cut switched operating state of the plurality of the processing circuit and a plurality of said wiring circuit, the parallel operation device comprises circuitry Separating the data netlist of resources from a data path corresponding to the matrix circuit unit and a finite state machine corresponding to the state management unit, and generating data so as to satisfy the constraints;
The netlist output means, the steps of data output the netlist said the data generated,
A data processing method comprising:
条件記憶手段、ネットリスト入力手段、オブジェクト生成手段、及びオブジェクト出力手段を備えるデータ処理装置オブジェクトコードを生成するデータ処理方法であって、
前記条件記憶手段には、個々にデータ設定される第1の動作命令に対応してデータ処理を個々に実行する複数の処理回路と前記第1の動作命令に対応して複数の前記処理回路の接続関係を個々に切換制御する複数の配線回路とがマトリクス配列されているマトリクス回路部と、第2の動作命令に対応して前記マトリクス回路部のコンテキストを動作サイクルごとに順次切り換える状態管理部とを別個に具備する並列演算装置の少なくとも物理構造と物理特性とに対応した制約条件データ登録されており
前記ネットリスト入力手段、並列演算装置の動作が高級言語で記述された一連のネットリストをデータ入力する工程と、
前記オブジェクト生成手段、前記データ入力された前記ネットリストから、複数の前記処理回路と複数の前記配線回路との順次切り換わる動作状態ごとの前記第1の動作命令からなるコンテキスト及び前記第2の動作命令を少なくとも内包し、前記動作状態ごとに前記コンテキストを順次切り換える一連の前記オブジェクトコードを、前記マトリクス回路部に対応したデータパスと前記状態管理部に対応した有限状態マシンとを分離して、前記制約条件を満足するように、データ生成する工程、
前記オブジェクト出力手段、前記データ生成された前記オブジェクトコードをデータ出力する工程と、
を具備しているデータ処理方法。
Condition storage unit, a data processing method netlist input means, the object generation means, and the data processing apparatus comprising an object output means for generating an object code,
The condition storage means includes a plurality of processing circuits that individually execute data processing in response to first operation instructions set individually, and a plurality of processing circuits that correspond to the first operation instructions. A matrix circuit unit in which a plurality of wiring circuits that individually switch and control connection relations are arranged in a matrix; and a state management unit that sequentially switches the context of the matrix circuit unit for each operation cycle in response to a second operation command; The constraint condition corresponding to at least the physical structure and the physical characteristics of the parallel processing device separately provided is registered as data,
The netlist input means, the steps of data input a series of netlist operation of the parallel arithmetic unit written in a high-level language,
The object generation means, wherein the data input the netlist, composed of the first operation command for each sequential cutting switched operating state of the plurality of the processing circuit and a plurality of the wiring circuit context and the second A series of the object code including at least an operation instruction and sequentially switching the context for each operation state, separating a data path corresponding to the matrix circuit unit and a finite state machine corresponding to the state management unit, Generating data so as to satisfy the constraints,
The object output means, the steps of data output the object code the is data generated,
A data processing method comprising:
前記制約条件は、前記複数の処理回路の個数、前記処理回路の入力ポート数、前記処理回路の使用可能な回路資源の有無、前記処理回路または前記配線回路の処理能力、前記複数の配線回路の遅延時間、前記回路資源のビット数、及び前記動作状態を切り換えるクロックの間隔、のうちの少なくとも一つを含む
請求項6乃至9のいずれか一項に記載のデータ処理方法。
The constraint conditions include the number of the plurality of processing circuits, the number of input ports of the processing circuit, the presence or absence of usable circuit resources of the processing circuit, the processing capability of the processing circuit or the wiring circuit, and the number of wiring circuits The data processing method according to any one of claims 6 to 9, including at least one of a delay time, the number of bits of the circuit resource, and an interval of clocks for switching the operation state.
個々にデータ設定される第1の動作命令に対応してデータ処理を個々に実行する複数の処理回路と前記第1の動作命令に対応して複数の前記処理回路の接続関係を個々に切換制御する複数の配線回路とがマトリクス配列されているマトリクス回路部と、第2の動作命令に対応して前記マトリクス回路部のコンテキストを動作サイクルごとに順次切り換える状態管理部を別個に備える並列演算装置の動作が高級言語で記述された一連のソースコードから、複数の前記処理回路と複数の前記配線回路との順次切り換わる動作状態ごとの前記第1の動作命令からなるコンテキスト及び前記第2の動作命令を少なくとも内包した一連のオブジェクトコードをデータ生成するために、コンピュータを、
前記並列演算装置の少なくとも物理構造と物理特性とに対応した制約条件をデータ登録する条件記憶手段、
前記ソースコードをデータ入力するソース入力手段、
前記データ入力された前記ソースコードから、前記動作状態ごとに前記コンテキストを順次切り換える前記オブジェクトコードを、前記マトリクス回路部に対応したデータパスと前記状態管理部に対応した有限状態マシンとを分離して、前記制約条件を参照し、データ生成するオブジェクト生成手段、
前記データ生成された前記オブジェクトコードをデータ出力するオブジェクト出力手段、
具備するデータ処理装置として機能させるためのコンピュータプログラム。
Switching control is individually performed for connection relations between a plurality of processing circuits that individually execute data processing corresponding to the first operation command set individually and a plurality of processing circuits corresponding to the first operation command. A parallel processing device comprising: a matrix circuit unit in which a plurality of wiring circuits are arranged in a matrix; and a state management unit that sequentially switches a context of the matrix circuit unit in response to a second operation instruction for each operation cycle. Context including the first operation instruction for each operation state in which a plurality of processing circuits and a plurality of the wiring circuits are sequentially switched from a series of source codes whose operations are described in a high-level language, and the second operation instruction a set of object code that is at least contained to data generation, and the computer,
Condition storage means for registering data of constraint conditions corresponding to at least the physical structure and physical characteristics of the parallel computing device;
Source input means for inputting the source code as data;
The object code for sequentially switching the context for each operation state is separated from the source code inputted with the data by separating a data path corresponding to the matrix circuit unit and a finite state machine corresponding to the state management unit. , An object generation means for generating data referring to the constraint condition,
An object output means for outputting the data of the generated object code;
A computer program for causing a data processing apparatus to function.
個々にデータ設定される第1の動作命令に対応してデータ処理を個々に実行する複数の処理回路と前記第1の動作命令に対応して複数の前記処理回路の接続関係を個々に切換制御する複数の配線回路とがマトリクス配列されているマトリクス回路部と、第2の動作命令に対応して前記マトリクス回路部のコンテキストを動作サイクルごとに順次切り換える状態管理部を別個に備える並列演算装置の動作が高級言語で記述された一連のソースコードから、複数の前記処理回路と複数の前記配線回路との順次切り換わる動作状態ごとの前記並列処理回路のRTL記述をデータ生成するために、コンピュータを、
前記並列演算装置の少なくとも物理構造と物理特性とに対応した制約条件をデータ登録する条件記憶手段、
前記ソースコードをデータ入力するソース入力手段、
前記データ入力された前記ソースコードから、前記動作状態ごとに前記コンテキストを順次切り換える前記RTL記述を、前記マトリクス回路部に対応したデータパスと前記状態管理部に対応した有限状態マシンとを分離して、前記制約条件を満足するように、データ生成するRTL生成手段、
前記データ生成された前記RTL記述をデータ出力するRTL出力手段、
具備するデータ処理装置として機能させるためのコンピュータプログラム。
Switching control is individually performed for connection relations between a plurality of processing circuits that individually execute data processing corresponding to the first operation command set individually and a plurality of processing circuits corresponding to the first operation command. A parallel processing device comprising: a matrix circuit unit in which a plurality of wiring circuits are arranged in a matrix; and a state management unit that sequentially switches a context of the matrix circuit unit in response to a second operation instruction for each operation cycle. operation from a series of source code written in a high level language, RTL description of the parallel processing circuit of each successively cut switched operating state of the plurality of the processing circuit and a plurality of the wiring circuit to data generation, computer The
Condition storage means for registering data of constraint conditions corresponding to at least the physical structure and physical characteristics of the parallel computing device;
Source input means for inputting the source code as data;
The RTL description for sequentially switching the context for each operation state is separated from the source code inputted with the data by separating the data path corresponding to the matrix circuit portion and the finite state machine corresponding to the state management portion. RTL generation means for generating data so as to satisfy the constraint conditions,
RTL output means for outputting the data-generated RTL description;
A computer program for causing a data processing apparatus to function.
個々にデータ設定される第1の動作命令に対応してデータ処理を個々に実行する複数の処理回路と前記第1の動作命令に対応して複数の前記処理回路の接続関係を個々に切換制御する複数の配線回路とがマトリクス配列されているマトリクス回路部と、第2の動作命令に対応して前記マトリクス回路部のコンテキストを動作サイクルごとに順次切り換える状態管理部を別個に備える並列演算装置のRTL記述から、複数の前記処理回路と複数の前記配線回路との順次切り換わる動作状態ごとの、前記並列演算装置が備える回路資源のネットリストをデータ生成するために、コンピュータを、
前記並列演算装置の少なくとも物理構造と物理特性とに対応した制約条件をデータ登録する条件記憶手段、
前記RTL記述をデータ入力するRTL入力手段、
前記データ入力された前記RTL記述から、前記動作状態ごとに前記コンテキストを順次切り換える前記ネットリストを、前記マトリクス回路部に対応したデータパスと前記状態管理部に対応した有限状態マシンとを分離して、前記制約条件を満足するように、データ生成するネットリスト生成手段、
前記データ生成された前記ネットリストをデータ出力するネットリスト出力手段、
具備するデータ処理装置として機能させるためのコンピュータプログラム。
Switching control is individually performed for connection relations between a plurality of processing circuits that individually execute data processing corresponding to the first operation command set individually and a plurality of processing circuits corresponding to the first operation command. A parallel processing device comprising: a matrix circuit unit in which a plurality of wiring circuits are arranged in a matrix; and a state management unit that sequentially switches a context of the matrix circuit unit in response to a second operation instruction for each operation cycle. from RTL description, for each successively cut switched operating state of the plurality of the processing circuit and a plurality of said wiring circuit, a netlist of a circuit resource the parallel operation device comprises for data generation, the computer,
Condition storage means for registering data of constraint conditions corresponding to at least the physical structure and physical characteristics of the parallel computing device;
RTL input means for inputting data of the RTL description;
The netlist for sequentially switching the context for each operation state is separated from the RTL description inputted with the data, by separating the data path corresponding to the matrix circuit portion and the finite state machine corresponding to the state management portion. , Netlist generation means for generating data so as to satisfy the constraint conditions,
Netlist output means for outputting data of the generated netlist;
A computer program for causing a data processing apparatus to function.
個々にデータ設定される第1の動作命令に対応してデータ処理を個々に実行する複数の処理回路と前記第1の動作命令に対応して複数の前記処理回路の接続関係を個々に切換制御する複数の配線回路とがマトリクス配列されているマトリクス回路部と、第2の動作命令に対応して前記マトリクス回路部のコンテキストを動作サイクルごとに順次切り換える状態管理部を別個に備える並列演算装置が備える回路資源のネットリストから、複数の前記処理回路と複数の前記配線回路との順次切り換わる動作状態ごとの前記第1の動作命令からなるコンテキスト及び前記第2の動作命令を少なくとも内包した一連のオブジェクトコードをデータ生成するために、コンピュータを、
前記並列演算装置の少なくとも物理構造と物理特性とに対応した制約条件をデータ登録する条件記憶手段、
前記ネットリストをデータ入力するネットリスト入力手段、
前記データ入力された前記ネットリストから、前記動作状態ごとに前記コンテキストを順次切り換える前記オブジェクトコードを、前記マトリクス回路部に対応したデータパスと前記状態管理部に対応した有限状態マシンとを分離して、前記制約条件を満足するように、データ生成するオブジェクト生成手段、
前記データ生成された前記オブジェクトコードをデータ出力するオブジェクト出力手段、
具備するデータ処理装置として機能させるためのコンピュータプログラム。
Switching control is individually performed for connection relations between a plurality of processing circuits that individually execute data processing corresponding to the first operation command set individually and a plurality of processing circuits corresponding to the first operation command. A parallel processing device that separately includes a matrix circuit section in which a plurality of wiring circuits are arranged in a matrix and a state management section that sequentially switches the context of the matrix circuit section in response to a second operation instruction for each operation cycle A series including at least a context including the first operation instruction and the second operation instruction for each operation state in which the plurality of processing circuits and the plurality of wiring circuits are sequentially switched from a net list of circuit resources provided. to the object code data generation, the computer,
Condition storage means for registering data of constraint conditions corresponding to at least the physical structure and physical characteristics of the parallel computing device;
Net list input means for inputting data into the net list;
The object code for sequentially switching the context for each operation state is separated from the data input netlist by separating a data path corresponding to the matrix circuit unit and a finite state machine corresponding to the state management unit. Object generation means for generating data so as to satisfy the constraint conditions;
An object output means for outputting the data of the generated object code;
A computer program for causing a data processing apparatus to function.
前記制約条件は、前記複数の処理回路の個数、前記処理回路の入力ポート数、前記処理回路の使用可能な回路資源の有無、前記処理回路または前記配線回路の処理能力、前記複数の配線回路の遅延時間、前記回路資源のビット数、及び前記動作状態を切り換えるクロックの間隔、のうちの少なくとも一つを含む
請求項11乃至14のいずれか一項に記載のコンピュータプログラム。
The constraint conditions include the number of the plurality of processing circuits, the number of input ports of the processing circuit, the presence or absence of usable circuit resources of the processing circuit, the processing capability of the processing circuit or the wiring circuit, and the number of wiring circuits The computer program according to claim 11, comprising at least one of a delay time, the number of bits of the circuit resource, and an interval of clocks for switching the operation state.
請求項11乃至15のいずれか一項に記載のコンピュータプログラムがデータ格納されている、コンピュータ読み取り可能な情報記憶媒体。   A computer-readable information storage medium in which the computer program according to any one of claims 11 to 15 is stored. 請求項1または4に記載のデータ処理装置と、
個々にデータ設定される第1の動作命令に対応してデータ処理を個々に実行する複数の処理回路と前記第1の動作命令に対応して複数の前記処理回路の接続関係を個々に切換制御する複数の配線回路とがマトリクス配列されているマトリクス回路部と、第2の動作命令に対応して前記マトリクス回路部のコンテキストを動作サイクルごとに順次切り換える状態管理部と、前記データ処理装置によってデータ出力された前記オブジェクトコードがデータ格納されている記憶部を備える並列演算装置と、
を具備しているデータ処理システム
A data processing device according to claim 1 or 4,
Switching control is individually performed for connection relations between a plurality of processing circuits that individually execute data processing corresponding to the first operation command set individually and a plurality of processing circuits corresponding to the first operation command. a matrix circuit in which a plurality of wiring circuits are arranged in a matrix of, a state management unit in response to the second operation command switch sequentially for each operation cycle a context of the matrix circuit, the data by the data processing device A parallel computing device including a storage unit in which the output object code is stored ;
A data processing system comprising:
前記制約条件は、前記複数の処理回路の個数、前記処理回路の入力ポート数、前記処理回路の使用可能な回路資源の有無、前記処理回路または前記配線回路の処理能力、前記複数の配線回路の遅延時間、前記回路資源のビット数、及び前記動作状態を切り換えるクロックの間隔、のうちの少なくとも一つを含む
請求項17に記載のデータ処理システム
The constraint conditions include the number of the plurality of processing circuits, the number of input ports of the processing circuit, the presence or absence of usable circuit resources of the processing circuit, the processing capability of the processing circuit or the wiring circuit, and the number of wiring circuits The data processing system according to claim 17, comprising at least one of a delay time, the number of bits of the circuit resource, and a clock interval for switching the operation state.
JP2006270702A 2006-10-02 2006-10-02 Data processing apparatus and method, computer program, information storage medium, and data processing system Expired - Lifetime JP4787711B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006270702A JP4787711B2 (en) 2006-10-02 2006-10-02 Data processing apparatus and method, computer program, information storage medium, and data processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006270702A JP4787711B2 (en) 2006-10-02 2006-10-02 Data processing apparatus and method, computer program, information storage medium, and data processing system

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2001294241A Division JP3921367B2 (en) 2001-09-26 2001-09-26 Data processing apparatus and method, computer program, information storage medium, parallel processing apparatus, data processing system

Publications (2)

Publication Number Publication Date
JP2006351047A JP2006351047A (en) 2006-12-28
JP4787711B2 true JP4787711B2 (en) 2011-10-05

Family

ID=37646740

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006270702A Expired - Lifetime JP4787711B2 (en) 2006-10-02 2006-10-02 Data processing apparatus and method, computer program, information storage medium, and data processing system

Country Status (1)

Country Link
JP (1) JP4787711B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010087098A1 (en) 2009-01-30 2010-08-05 日本電気株式会社 Parallel computing device, information processing system, parallel computing method, and information processing device
JP5985900B2 (en) * 2012-06-22 2016-09-06 ルネサスエレクトロニクス株式会社 Behavioral synthesis device, data processing system including behavioral synthesis device, and behavioral synthesis program

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04250570A (en) * 1991-01-28 1992-09-07 Fujitsu Ltd Data control system by high-level composition
JPH08101861A (en) * 1994-09-30 1996-04-16 Toshiba Corp Logic circuit synthesizing device
US5794062A (en) * 1995-04-17 1998-08-11 Ricoh Company Ltd. System and method for dynamically reconfigurable computing using a processing unit having changeable internal hardware organization
GB2317245A (en) * 1996-09-12 1998-03-18 Sharp Kk Re-timing compiler integrated circuit design
JPH10256383A (en) * 1997-03-12 1998-09-25 Toshiba Corp Semiconductor device and circuit constitution method thereof
JP3743487B2 (en) * 1999-07-14 2006-02-08 富士ゼロックス株式会社 Programmable logic circuit device, information processing system, method for reconfiguring circuit into programmable logic circuit device, and method for compressing circuit information for programmable logic circuit device
JP2001142922A (en) * 1999-11-15 2001-05-25 Matsushita Electric Ind Co Ltd Design method for semiconductor integrated circuit device
US6678646B1 (en) * 1999-12-14 2004-01-13 Atmel Corporation Method for implementing a physical design for a dynamically reconfigurable logic circuit
JP3722351B2 (en) * 2000-02-18 2005-11-30 シャープ株式会社 High level synthesis method and recording medium used for the implementation

Also Published As

Publication number Publication date
JP2006351047A (en) 2006-12-28

Similar Documents

Publication Publication Date Title
JP3921367B2 (en) Data processing apparatus and method, computer program, information storage medium, parallel processing apparatus, data processing system
EP3698313B1 (en) Image preprocessing for generalized image processing
JP7337053B2 (en) Static Block Scheduling in Massively Parallel Software-Defined Hardware Systems
US11429848B2 (en) Host-directed multi-layer neural network processing via per-layer work requests
US10515135B1 (en) Data format suitable for fast massively parallel general matrix multiplication in a programmable IC
JP4893309B2 (en) Data processing apparatus having reconfigurable logic circuit
US11714780B2 (en) Compiler flow logic for reconfigurable architectures
US20030046513A1 (en) Arrayed processor of array of processing elements whose individual operations and mutual connections are variable
US10943039B1 (en) Software-driven design optimization for fixed-point multiply-accumulate circuitry
US20190130270A1 (en) Tensor manipulation within a reconfigurable fabric using pointers
US10678509B1 (en) Software-driven design optimization for mapping between floating-point and fixed-point multiply accumulators
US20200167309A1 (en) Reconfigurable fabric configuration using spatial and temporal routing
US20190213289A1 (en) Method and apparatus for implementing an application aware system on a programmable logic device
US11036827B1 (en) Software-defined buffer/transposer for general matrix multiplication in a programmable IC
JP4787711B2 (en) Data processing apparatus and method, computer program, information storage medium, and data processing system
JP2006185423A (en) Custom lsi development platform, method and program for generating instruction set architecture and logic circuit configuration information
Zamacola et al. An integrated approach and tool support for the design of fpga-based multi-grain reconfigurable systems
JP2006302132A (en) Signal processor, reconfigurable logic circuit device and reconfigurable sequential circuit
Skliarova et al. Hardware/software co-design
Asgari et al. Efficiently solving partial differential equations in a partially reconfigurable specialized hardware
Shahsavani et al. Efficient compilation and mapping of fixed function combinational logic onto digital signal processors targeting neural network inference and utilizing high-level synthesis
WO2006116045A2 (en) Variable precision processor
RU2819403C1 (en) Vector computing core
US11960853B2 (en) Folded integer multiplication for field-programmable gate arrays
WO2020246598A1 (en) Calculation device, calculation method, and calculation program

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20070123

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20080606

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080624

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20090601

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100406

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100607

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20101221

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110318

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20110324

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110426

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110613

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110628

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110715

R150 Certificate of patent or registration of utility model

Ref document number: 4787711

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20140722

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313115

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350