JP5071707B2 - Data processing apparatus and control method thereof - Google Patents

Data processing apparatus and control method thereof Download PDF

Info

Publication number
JP5071707B2
JP5071707B2 JP2007165116A JP2007165116A JP5071707B2 JP 5071707 B2 JP5071707 B2 JP 5071707B2 JP 2007165116 A JP2007165116 A JP 2007165116A JP 2007165116 A JP2007165116 A JP 2007165116A JP 5071707 B2 JP5071707 B2 JP 5071707B2
Authority
JP
Japan
Prior art keywords
output
connection information
input
memory element
elements
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.)
Active
Application number
JP2007165116A
Other languages
Japanese (ja)
Other versions
JP2009003765A (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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Fujifilm Business Innovation Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd, Fujifilm Business Innovation Corp filed Critical Fuji Xerox Co Ltd
Priority to JP2007165116A priority Critical patent/JP5071707B2/en
Publication of JP2009003765A publication Critical patent/JP2009003765A/en
Application granted granted Critical
Publication of JP5071707B2 publication Critical patent/JP5071707B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、回路を再構成可能なユニットを含むデータ処理装置およびその制御方法に関するものである。   The present invention relates to a data processing apparatus including a unit whose circuit can be reconfigured and a control method thereof.

特許文献1には、生物の進化の過程を模倣した最適化手法の1つである遺伝的アルゴリズム(GA:Genetic Algorithm)をもとに考案された遺伝的プログラミング(GP:Genetic Programming)を画像処理に適用したツリー構造状画像変換自動作成方法を印刷物の文字列抽出方法に用いることが記載されている。   Patent Document 1 describes image processing of genetic programming (GP), which was devised based on a genetic algorithm (GA), which is one of the optimization methods imitating the evolution process of living organisms. Describes that the tree-structured image conversion automatic creation method applied to the above is used for a character string extraction method for printed matter.

さらに、この特許文献1には以下のことが記載されている。この手法は、予め用意した複数の画像変換処理フィルタを任意の形のツリー構造状に組み合わせることによって、入力画像から出力画像への画像変換処理を実現するものである。なお、該手法は、1つ又は複数の入出力手段と、1つの出力手段を持つ画像変換処理フィルタFnを用いる。処理される画像はツリー構造における全ての葉ノード(終端)より入力され、フィルタの組み合わせにより異なった処理を受ける。それらは画像変換処理により順次合成され、最後に1つの画像となって出力される。フィルタの組み合わせにより、領域や目的毎に異なった処理を施し、それらの結果を適宜合成するような複雑な画像変換処理を構築することが可能になる。   Further, Patent Document 1 describes the following. This technique realizes image conversion processing from an input image to an output image by combining a plurality of image conversion processing filters prepared in advance into a tree structure having an arbitrary shape. This method uses an image conversion processing filter Fn having one or more input / output means and one output means. The image to be processed is input from all leaf nodes (terminals) in the tree structure, and is subjected to different processing depending on the combination of filters. They are sequentially synthesized by image conversion processing, and finally output as one image. Depending on the combination of filters, it is possible to construct a complex image conversion process in which different processes are performed for each region and purpose, and the results are appropriately combined.

特許文献2には、複数種類のプロセッシングエレメントの接続を変えて種々のデータパスを再構成するタイプの集積回路装置が記載されている。この集積回路装置は、プロセッシングエレメントとして、算術論理演算用のエレメントに加え、RAMとして機能するRAMエレメントを有する。
特開2004−362440号公報 特開2006−285386号公報
Patent Document 2 describes an integrated circuit device of a type that reconfigures various data paths by changing the connection of a plurality of types of processing elements. This integrated circuit device has a RAM element that functions as a RAM in addition to an element for arithmetic logic operation as a processing element.
JP 2004-362440 A JP 2006-285386 A

GAGPを画像処理に適用したツリー構造状の画像変換プログラムは、複数の画像変換処理フィルタがツリー構造状に組み合わされたアプリケーションプログラムである。特許文献2に開示されている集積回路装置は、動的に、例えば、数クロックサイクル、さらには1クロックサイクルで回路を再構成可能な集積回路装置(動的再構成可能LSI)である。したがって、画像変換プログラムに含まれている複数の画像変換処理フィルタの1つまたは限られた数の機能を回路化して、順番に動的再構成可能LSIに構成することにより、種々のツリー構造状で機能が指示される画像変換プログラムによる処理を、より少ないハードウェア資源を用い、そのプログラムを実行するために専用に開発された回路(ハードウェア)で実行することが可能となる。このため、回路構成が基本的には変わらないプロセッサの上で画像変換プログラムを稼動させるよりは、高速で処理結果を得ることができる。   A tree-structured image conversion program in which GAGP is applied to image processing is an application program in which a plurality of image conversion processing filters are combined in a tree structure. The integrated circuit device disclosed in Patent Document 2 is an integrated circuit device (dynamically reconfigurable LSI) that can dynamically reconfigure a circuit in several clock cycles or even one clock cycle, for example. Therefore, by forming one or a limited number of functions of a plurality of image conversion processing filters included in the image conversion program as a circuit and sequentially configuring them into dynamically reconfigurable LSIs, various tree structure shapes can be obtained. The processing by the image conversion program whose function is instructed can be executed by a circuit (hardware) developed exclusively for executing the program using less hardware resources. Therefore, the processing result can be obtained at a higher speed than when the image conversion program is run on a processor whose circuit configuration is basically unchanged.

画像変換処理により得られた情報を、機器の制御、例えば、自動車を安全に制御するために使用する場合は、高い処理速度が要求される。さらに、画像データが得られる環境、画像データから抽出したい認識対象物などの相違によって、画像変換プログラムも異なる可能性がある。したがって、ツリー構造状のような画像変換プログラムの機能を高速で処理でき、さらに、異なる構造の画像変換プログラムの機能にも迅速に対応できるデータ処理装置が要望されている。   When the information obtained by the image conversion process is used to control a device, for example, to control an automobile safely, a high processing speed is required. Further, the image conversion program may be different depending on the environment in which the image data is obtained, the recognition object to be extracted from the image data, and the like. Therefore, there is a demand for a data processing apparatus that can process the functions of an image conversion program such as a tree structure at high speed and that can also quickly cope with the functions of image conversion programs having different structures.

本発明の一態様は、回路を構成するための複数のエレメントと、複数のエレメントを接続するための内部配線とを含む再構成ユニットであって、内部配線による複数のエレメントの接続を変更することにより、回路を再構成可能な再構成ユニットと、再構成ユニットの回路を再構成するために、複数のエレメントの接続情報を含む再構成情報を出力する制御ユニットとを有するデータ処理装置である。複数のエレメントは、少なくとも1種類の演算を実行するための複数の演算エレメントと、複数のメモリエレメントとを含み、内部配線の接続を変更することにより、複数のメモリエレメントの少なくともいずれかを、複数の演算エレメントの少なくともいずれかの演算エレメントを含む処理回路の入力対象または出力対象とすることが可能である。当該データ処理装置は、さらに、データの入出力を伴う複数の処理のそれぞれの処理について、第1のメモリエレメントを入力対象とし、第2のメモリエレメントを出力対象としてそれぞれの処理を行う処理回路(第1の処理回路)を構成するための第1の接続情報と、第2のメモリエレメントを入力対象とし、第1のメモリエレメントを出力対象としてそれぞれの処理を行う処理回路(第2の処理回路)を構成するための第2の接続情報とが格納された接続情報ライブラリを有する。そして、制御ユニットは、複数の処理を順番に実行するために、先の処理において出力対象となったメモリエレメントを入力対象とする接続情報を接続情報ライブラリから選択し、その選択された接続情報を含む再構成情報を出力する。 One aspect of the present invention is a reconfiguration unit including a plurality of elements for configuring a circuit and an internal wiring for connecting the plurality of elements, wherein the connection of the plurality of elements by the internal wiring is changed. Thus, the data processing device includes a reconfiguration unit that can reconfigure the circuit, and a control unit that outputs reconfiguration information including connection information of a plurality of elements in order to reconfigure the circuit of the reconfiguration unit. The plurality of elements include a plurality of calculation elements for executing at least one kind of calculation and a plurality of memory elements, and changing at least one of the plurality of memory elements by changing connection of internal wiring The processing circuit including at least one of the calculation elements can be set as an input target or an output target. The data processing device further includes for each of the processing of a plurality of processes involving the input and output of data, the first memory element an input object, processing for each of the processing as an output target of the second memory element a first connection information for configuring the circuit (the first processing circuit), a second memory element an input object, the first memory element and the output target performs each processing processor (second And a connection information library in which second connection information for configuring the second processing circuit) is stored. Then, in order to execute the plurality of processes in order, the control unit selects, from the connection information library, the connection information for which the memory element that is the output target in the previous process is the input target, and the selected connection information is selected. Output reconfiguration information.

このデータ処理装置においては、データの入出力を伴う複数の処理のそれぞれについて、制御ユニットが、接続情報ライブラリに用意された接続情報を含む再構成情報を出力することにより、再構成ユニットにそれぞれの処理を実行するための回路が構成される。したがって、複数の処理を、その処理のために専用に設計された回路を用いて実行することができ、より少ないハードウェア資源により、高速に実行できる。さらに、接続情報ライブラリに用意された第1または第2の接続情報を含む再構成情報により再構成ユニットに再構成された回路は、内部配線によりアクセス可能な再構成ユニット内のメモリエレメントを入出力の対象とする。したがって、入出力インターフェイスおよび外部バスなどを経由して外部メモリとの間でデータを入出力するために要するメモリアクセスの時間を省略または短縮できる。このため、処理速度を向上できる。   In this data processing device, for each of a plurality of processes involving data input / output, the control unit outputs reconfiguration information including connection information prepared in the connection information library, whereby A circuit for executing the process is configured. Therefore, a plurality of processes can be executed using a circuit designed specifically for the processes, and can be executed at a high speed with fewer hardware resources. Furthermore, the circuit reconfigured in the reconfiguration unit by the reconfiguration information including the first or second connection information prepared in the connection information library inputs and outputs the memory elements in the reconfiguration unit that can be accessed by internal wiring. The target of. Therefore, the memory access time required to input / output data to / from the external memory via the input / output interface and the external bus can be omitted or shortened. For this reason, a processing speed can be improved.

さらに、接続情報ライブラリには、データの入出力を伴う複数の処理のそれぞれについて、第1のメモリエレメントを入力対象とし、第2のメモリエレメントを出力対象とする第1の処理回路を構成するための第1の接続情報と、第2のメモリエレメントを入力対象とし、第1のメモリエレメントを出力対象とする第2の処理回路を構成するための第2の接続情報とが格納されている。したがって、制御ユニットが、複数の処理を順番に実行するために、先の処理において出力対象となったメモリエレメントを入力対象とする接続情報を接続情報ライブラリから選択し、その選択された接続情報を含む再構成情報を出力することにより、入力対象のメモリエレメントと、出力対象のメモリエレメントとをフレキシブルに選択できる。このため、入出力対象の複数のメモリエレメントを共通のバスで接続したり、セレクタで切り替えて選択するような冗長な回路構成を用いなくても、再構成ユニットに、入出力の対象となるメモリエレメントをフレキシブルに選択できる回路を再構成できる。すなわち、再構成ユニットに、特定の入出力のメモリエレメントに対して入出力するように最適化された回路を再構成することにより、入出力の対象となるメモリエレメントをフレキシブルに選択できる。   Further, the connection information library includes a first processing circuit having a first memory element as an input target and a second memory element as an output target for each of a plurality of processes involving data input / output. The first connection information and second connection information for configuring a second processing circuit having the second memory element as an input target and the first memory element as an output target are stored. Therefore, in order to execute a plurality of processes in order, the control unit selects, from the connection information library, connection information for which the memory element that is the output target in the previous process is the input target, and the selected connection information is selected. By outputting the included reconfiguration information, it is possible to flexibly select an input target memory element and an output target memory element. For this reason, even if a plurality of memory elements to be input / output are connected by a common bus, or without using a redundant circuit configuration that is selected by switching with a selector, the memory to be input / output is supplied to the reconfigurable unit. A circuit that allows flexible selection of elements can be reconfigured. That is, by reconfiguring a circuit optimized to input / output a specific input / output memory element in the reconfiguration unit, a memory element to be input / output can be flexibly selected.

さらに、再構成情報に含まれる接続情報は、複数の処理を実行する順番に基づき選択することができる。このことは、制御ユニットが、再構成情報を動的に生成することが可能であることを意味する。すなわち、このデータ処理装置において、複数の処理を実行する順番が変わったときは、再構成ユニットを再構成するための情報を、最初から生成しなおす必要はない。制御ユニットに複数の処理を実行する順番に関する情報を提供することにより、制御ユニットは、新しい順番にマッチした再構成情報を動的に出力することが可能である。複数の処理を実行する順番の変更は、データ処理装置の外部から供給されても良く、データ処理装置の内部の結果、例えば、再構成ユニットに構成された回路の演算結果により与えられても良い。   Furthermore, the connection information included in the reconfiguration information can be selected based on the order in which a plurality of processes are executed. This means that the control unit can dynamically generate reconfiguration information. That is, in this data processing apparatus, when the order in which a plurality of processes are executed is changed, it is not necessary to regenerate information for reconfiguring the reconfiguration unit from the beginning. By providing the control unit with information regarding the order in which a plurality of processes are executed, the control unit can dynamically output reconfiguration information that matches the new order. The change in the order of executing the plurality of processes may be supplied from the outside of the data processing apparatus, or may be given by a result inside the data processing apparatus, for example, an operation result of a circuit configured in the reconfiguration unit. .

再構成ユニットは、入力インターフェイスと、出力インターフェイスとを含み、内部配線の接続を変更することにより、入力インターフェイスを複数の演算エレメントのいずれかを含む処理回路の入力対象とし、出力インターフェイスを処理回路の出力対象とすることが可能であることが望ましい。さらに、接続情報ライブラリは、複数の処理のそれぞれについて、入力インターフェイスを入力対象とし、第1のメモリエレメントまたは第2のメモリエレメントを出力対象とする第3の処理回路を構成するための第3の接続情報と、第1のメモリエレメントまたは第2のメモリエレメントを入力対象とし、出力インターフェイスを出力対象とする第4の処理回路を構成するための第4の接続情報とが格納されていることが望ましい。   The reconfigurable unit includes an input interface and an output interface, and by changing the connection of internal wiring, the input interface is set as an input target of a processing circuit including any of a plurality of arithmetic elements, and the output interface is set in the processing circuit. It is desirable that it can be output. Further, the connection information library includes a third processing circuit for configuring a third processing circuit having the input interface as an input target and the first memory element or the second memory element as an output target for each of the plurality of processes. The connection information and the fourth connection information for configuring the fourth processing circuit having the first memory element or the second memory element as an input target and the output interface as an output target are stored. desirable.

第4の接続情報は、第1の接続情報、第2の接続情報および第3の接続情報とマージすることが可能である。すなわち、接続情報ライブラリの、第1の接続情報は、第2のメモリエレメントに加え出力インターフェイスを出力対象とし、第2の接続情報は、第1のメモリエレメントに加え出力インターフェイスを出力対象とし、第3の接続情報は、第1のメモリエレメントまたは第2のメモリエレメントに加え出力インターフェイスを出力対象とする。   The fourth connection information can be merged with the first connection information, the second connection information, and the third connection information. That is, in the connection information library, the first connection information has an output interface as an output target in addition to the second memory element, and the second connection information has an output interface as an output target in addition to the first memory element. The connection information 3 includes the output interface in addition to the first memory element or the second memory element.

第3の接続情報および第4の接続情報または出力インターフェイスも出力対象とする第1および第2の接続情報を用いることにより、入力対象および出力対象が、入力インターフェイスおよび出力インターフェイスの回路を構成するための再構成情報を、制御ユニットが生成することができる。   By using the first and second connection information whose third connection information and the fourth connection information or the output interface are also output targets, the input target and the output target constitute a circuit of the input interface and the output interface. The reconfiguration information can be generated by the control unit.

複数の処理の一例は、複数のノードが連なったツリー構造で機能が示されるアプリケーションに含まれる複数のノードの処理である。制御ユニットは、処理対象のアプリケーションのツリー構造にしたがって複数の処理の中から実行する処理およびそれらの順番を決めることが可能である。このため、このデータ処理装置においては、任意の構成のツリー構造プログラムにより与えられる機能を、専用の回路により実行することが可能である。さらに、ツリー構造で機能が示されるアプリケーションを自動生成したり、自律的に、あるいは他律的に、ツリー構造を動的に変更させながら、変更されたツリー構造で機能が示されるアプリケーションをハードウェアベースで実行することが可能となる。   An example of a plurality of processes is a process of a plurality of nodes included in an application whose function is indicated by a tree structure in which a plurality of nodes are connected. The control unit can determine the processes to be executed from among a plurality of processes and their order according to the tree structure of the application to be processed. For this reason, in this data processing apparatus, a function given by a tree structure program having an arbitrary configuration can be executed by a dedicated circuit. In addition, an application whose function is shown in the tree structure is automatically generated, or the application whose function is shown in the changed tree structure is changed to hardware while autonomously or otherwise dynamically changing the tree structure. It is possible to execute on a base.

本発明の他の態様の1つは、メモリエレメントを含む再構成ユニットを有するデータ処理装置を、再構成ユニットに含まれる回路を再構成するために、複数のエレメントの接続情報を含む再構成情報を出力する制御ユニットにより制御する方法である。当該方法は、以下の工程を含む。
・上述した第1の接続情報と、第2の接続情報とが格納された接続情報ライブラリから、複数の処理を順番に実行するために、先の処理において出力対象となったメモリエレメントを入力対象とする接続情報を選択すること。
・選択された接続情報を含む再構成情報を出力すること。
Another aspect of the present invention provides reconfiguration information including connection information of a plurality of elements in order to reconfigure a data processing apparatus having a reconfiguration unit including a memory element in a circuit included in the reconfiguration unit. Is controlled by a control unit that outputs. The method includes the following steps.
In order to execute a plurality of processes in order from the connection information library in which the first connection information and the second connection information described above are stored, the memory element that is the output target in the previous process is the input target. Select connection information.
-Output reconfiguration information including the selected connection information.

接続情報ライブラリは、さらに、上述した第3の接続情報と、第4の接続情報とが格納されていることが望ましい。また、第1の接続情報および第2の接続情報は、出力インターフェイスも出力対象とすることが望ましい。   It is desirable that the connection information library further stores the above-described third connection information and fourth connection information. Moreover, it is desirable that the first connection information and the second connection information are also output targets of the output interface.

さらに、複数の処理が、ツリー構造により機能が示されるアプリケーションに含まれる複数のノードの処理であれば、当該方法は、さらに以下の工程を含むことが望ましい。
・処理対象のアプリケーションのツリー構造にしたがって複数の処理の中から実行する処理およびそれらの順番を決めること。
Furthermore, if the plurality of processes are processes of a plurality of nodes included in an application whose function is indicated by a tree structure, the method preferably further includes the following steps.
-Decide the process to be executed from among multiple processes and their order according to the tree structure of the application to be processed.

接続情報ライブラリには、さらに、第3のメモリエレメントを入力対象とし、第4のメモリエレメントを出力対象とする第5の接続情報と、第4のメモリエレメントを入力対象とし、第3のメモリエレメントを出力対象とする第6の接続情報とを含めた他の接続情報が格納されていても良い。2つまたはそれ以上の処理を実行するための複数の回路を同時に再構成ユニットに構成し、複数の処理を並列に実行するための再構成情報を、制御ユニットは出力することが可能となる。   The connection information library further includes fifth connection information whose input is the third memory element and whose output is the fourth memory element, and whose input is the fourth memory element. Other connection information may be stored including the sixth connection information whose output is to be output. A plurality of circuits for executing two or more processes are simultaneously configured in the reconfiguration unit, and the control unit can output reconfiguration information for executing the plurality of processes in parallel.

本発明の他の態様の1つは、メモリエレメントを含む再構成ユニットを有するデータ処理装置を、複数のエレメントの接続情報を含む再構成情報を出力する制御ユニットにより制御するためのプログラムまたはプログラム製品である。当該プログラムは、上述した第1の接続情報と、第2の接続情報とが格納された接続情報ライブラリから、複数の処理を順番に実行するために、先の処理において出力対象となったメモリエレメントを入力対象とする接続情報を選択することと、選択された接続情報を含む再構成情報を出力することとを含む。   Another aspect of the present invention provides a program or a program product for controlling a data processing apparatus having a reconfiguration unit including a memory element by a control unit that outputs reconfiguration information including connection information of a plurality of elements. It is. The program executes a plurality of processes in order from the connection information library in which the first connection information and the second connection information described above are stored. Selecting connection information whose input is to be input, and outputting reconfiguration information including the selected connection information.

図1(a)に、再構成可能なデバイスの一例を示している。このデバイス1は、本願の出願人が開発したDAPDNAと称する半導体集積回路装置である。このデバイス1は、DAPと呼ばれるRISCコアモジュール2と、DNAと呼ばれるダイナミックリコンフィグラブルデータフローアクセレレータ3とを含む。デバイス1は、DAP2およびDNA3に加え、DNA3のダイレクト入出力用のインターフェイス4と、PCIインターフェイス5と、SDRAMインターフェイス6と、DMAコントローラ7と、その他の周辺デバイス8と、これらを接続するための高速スイッチングバス(内部バス)9とを含む。DAP2は、デバッグインターフェイス42aと、RISCコア42bと、命令キャッシュ42cと、データキャッシュ42dとを含む。DNA3は、376個のPE(PEs、処理エレメント)が2次元に配置されたPEマトリクス10と、このPEマトリクス10に含まれるPEsの機能および/または接続を変えてPEマトリクス10を再構成するためのコンフィグレーションデータ18が格納されるコンフィグレーションメモリ19とを含む。   FIG. 1A shows an example of a reconfigurable device. This device 1 is a semiconductor integrated circuit device called DAPDNA developed by the applicant of the present application. The device 1 includes a RISC core module 2 called DAP and a dynamic reconfigurable data flow accelerator 3 called DNA. In addition to DAP2 and DNA3, the device 1 has a DNA4 direct input / output interface 4, a PCI interface 5, an SDRAM interface 6, a DMA controller 7, and other peripheral devices 8, and a high speed for connecting them. Switching bus (internal bus) 9. The DAP2 includes a debug interface 42a, a RISC core 42b, an instruction cache 42c, and a data cache 42d. The DNA 3 is used to reconfigure the PE matrix 10 by changing the function and / or connection of the PE matrix 10 in which 376 PEs (PEs, processing elements) are two-dimensionally arranged and the PEs included in the PE matrix 10. And a configuration memory 19 in which configuration data 18 is stored.

コンフィグレーションメモリ19は、複数バンクの構成になっている。例えば、図1(b)に示すように、PEマトリクス10には、フォアグラウンドバンクに格納されるコンフィグレーションデータ18により第1の機能(データフロー、回路デザイン)17aが構成される。また、異なるバックグラウンドバンクにそれぞれ格納されるコンフィグレーションデータにより、第2の機能17bおよび第3の機能17cがそれぞれ構成される。メモリ19のバンクを切り替えることにより、PEマトリクス10には、第1の機能17aに変わって第2の機能17bまたは第3の機能17cが再構成される。PEマトリクス10の再構成は、例えば、1サイクル(クロックサイクル)でダイナミックに行なわれる。このようにPEマトリクス10は、回路を構成するための複数のエレメントと、これらのエレメントを接続するための内部配線とを含む再構成ユニットであり、内部配線によりエレメントの接続を変えることによりPEマトリクス10に含まれる回路を再構成できる。   The configuration memory 19 has a plurality of banks. For example, as shown in FIG. 1B, the PE matrix 10 includes a first function (data flow, circuit design) 17a by configuration data 18 stored in the foreground bank. Further, the second function 17b and the third function 17c are configured by configuration data stored in different background banks, respectively. By switching the bank of the memory 19, the PE matrix 10 is reconfigured with the second function 17b or the third function 17c instead of the first function 17a. The reconstruction of the PE matrix 10 is dynamically performed in one cycle (clock cycle), for example. Thus, the PE matrix 10 is a reconfiguration unit including a plurality of elements for configuring a circuit and internal wirings for connecting these elements. By changing the connection of the elements by the internal wirings, the PE matrix 10 10 can be reconfigured.

図1(c)は、PEマトリクス10に回路を再構成する一例である。あるアプリケーション、例えばMPEGデコーダを時分割した複数の機能(サブファンクション)を、PEマトリクス10に時分割で再構成し、MPEGデコーダの機能を専用回路(専用ハードウェア)で提供する。このような使用により、再構成可能なデータ処理装置であるデバイス1を用いて、多くのハードウエア資源を必要とするアプリケーションを、少ないハードウエア資源で実行できる。   FIG. 1C is an example in which a circuit is reconfigured in the PE matrix 10. A plurality of functions (subfunctions) obtained by time-division of an application such as an MPEG decoder are reconfigured in the PE matrix 10 by time-division, and the functions of the MPEG decoder are provided by a dedicated circuit (dedicated hardware). By using such a device, an application requiring a large amount of hardware resources can be executed with a small amount of hardware resources using the device 1 which is a reconfigurable data processing apparatus.

図1(d)は、PEマトリクス10に回路を構成する他の例の一つである。再生方式が異なるアプリケーションを実行するために、複数の機能がそれぞれ実現されるようにPEマトリクス10を再構成できる。このような使用により、多くのアプリケーションを共通のハードウエア(デバイス)1を用いて実行できる。このデバイス1は、プログラムレベル(命令レベル)ではなく、データフローレベル(データパスレベル、ハードウエアレベル)で多数の機能を切り換えて実装できるので、専用のハードウエアに匹敵する速度で処理を行うことができる。   FIG. 1 (d) is another example of configuring a circuit in the PE matrix 10. In order to execute applications having different playback methods, the PE matrix 10 can be reconfigured so that a plurality of functions are realized. Through such use, many applications can be executed using the common hardware (device) 1. Since this device 1 can be implemented by switching a large number of functions at the data flow level (data path level, hardware level) instead of the program level (instruction level), processing can be performed at a speed comparable to that of dedicated hardware. Can do.

図2に、PEマトリクス10の配列を拡大して示している。処理エレメントPEsは、全体として、16×24のマトリクスを構成するように配置されている。なお、図3に示すように、PEのいくつかは、2個分のPEのスペースを占め、全体として376個のPEがPEマトリクス10に実際には配置されているが、図2には反映していない。これらのPEsは、さらに、それぞれ8×8のPEsからなる6つのグループに区分けされている。これらのグループをセグメントSと称し、PEマトリクス10の左上から右下に向かって順番にセグメントS0からセグメントS5が配置されている。各々のセグメントS0〜S5に含まれるPEは、1サイクルの遅延の範囲内でデータを送受信可能なイントラセグメントコネクションで接続されている。また、セグメントS0〜S5の内、隣接するセグメントは、後述するディレイエレメントを介してインターセグメントコネクション22により接続されている。   FIG. 2 shows an enlarged arrangement of the PE matrix 10. The processing elements PEs are arranged so as to constitute a 16 × 24 matrix as a whole. As shown in FIG. 3, some of the PEs occupy the space of two PEs, and as a whole, 376 PEs are actually arranged in the PE matrix 10, but this is reflected in FIG. Not done. These PEs are further divided into six groups each consisting of 8 × 8 PEs. These groups are referred to as segments S, and segments S0 to S5 are arranged in order from the upper left to the lower right of the PE matrix 10. The PEs included in each of the segments S0 to S5 are connected by an intra segment connection that can transmit and receive data within a delay of one cycle. Also, among the segments S0 to S5, adjacent segments are connected by an intersegment connection 22 via a delay element described later.

図3に、PEマトリクス10に含まれるPEsの具体的な配置例を示している。図3に示したPEのうち、「EX」で始まるPEは、EXEエレメントと呼ばれ、算術演算、論理演算および2入力の比較機能を含む演算用のエレメントである。「EXC」は、CMPSB命令を搭載し、「EXF」は、FF1命令を搭載し、「EXM」は、乗算命令を搭載し、「EXR」はBREV命令を搭載し、「EXS」は、BSWAP命令を搭載するというように、タイプ毎に固有の演算機能も含んでいる。   FIG. 3 shows a specific arrangement example of PEs included in the PE matrix 10. Among PEs shown in FIG. 3, PEs beginning with “EX” are called “EXE elements” and are arithmetic elements including arithmetic operations, logical operations, and 2-input comparison functions. “EXC” has a CMPSB instruction, “EXF” has a FF1 instruction, “EXM” has a multiplication instruction, “EXR” has a BREV instruction, and “EXS” has a BSWAP instruction It also includes a calculation function unique to each type.

「DL」で始まるPEは、ディレイエレメントであり、1−8クロックの間の遅延をそれぞれ設定できる。「DLE」は、セグメント内のデータ遅延用であり、「DLV」は縦方向のセグメント間のデータ送受信用であり、「DLH」は横方向のセグメント間のデータ送受信用であり、「DLX」は縦横方向のセグメント間のデータ送受信用のエレメントである。   PEs beginning with “DL” are delay elements, and can each set a delay of 1-8 clocks. “DLE” is for data delay within a segment, “DLV” is for data transmission / reception between vertical segments, “DLH” is for data transmission / reception between horizontal segments, and “DLX” is It is an element for data transmission / reception between vertical and horizontal segments.

「RAM」と表示されたPEは、DNAの内部メモリとして使用されるエレメント(メモリエレメント)である。「LDB」と表示されたPEは、データ入力用のDNA内部バッファである。「STB」と表示されたPEは、データ出力用のDNA内部バッファである。「C16E」と表示されたPEは、DNA内部バッファに対するアドレス生成エレメントである。「C32E」と表示されたPEは、外部メモリ空間に対するアドレス生成エレメントである。「LDX」と表示されたPEは、DNAダイレクトI/Oからのデータ入力用エレメントである。「STX」と表示されたPEは、DNAダイレクトI/Oへのデータ出力用エレメントである。PEマトリクス10において、LDBおよびLDXは、外部からデータを入力するための入力インターフェイスとして使用でき、STBおよびSTXは、外部へデータを出力するための出力インターフェイスとして使用できる。   The PE displayed as “RAM” is an element (memory element) used as an internal memory of DNA. The PE displayed as “LDB” is a DNA internal buffer for data input. The PE displayed as “STB” is a DNA internal buffer for data output. The PE displayed as “C16E” is an address generation element for the DNA internal buffer. The PE displayed as “C32E” is an address generation element for the external memory space. The PE displayed as “LDX” is an element for data input from the DNA direct I / O. The PE displayed as “STX” is an element for outputting data to the DNA direct I / O. In the PE matrix 10, LDB and LDX can be used as input interfaces for inputting data from outside, and STB and STX can be used as output interfaces for outputting data to the outside.

図4に、PEの一例として、EXEエレメント(「EXM」)の概略構成をブロック図により示している。EXMエレメントは、ALU11aと、MUL(16×16)11bと、FF11cなどを含む。このEXMエレメントは、DNA3のコンフィグレーションメモリ19に格納されたコンフィグレーションデータ18により、算術演算、論理演算、2入力の比較機能、さらには、乗算のいずれか、または複合した命令を実行するように構成できる。また、複数のFF11cを内蔵しているので、エレメントPEに対するデータの入力から出力までのレイテンシを制御することが可能であり、ディレイエレメント(DLE)の数が不足する構成では、ディレイエレメントとしての機能をセットすることも可能である。   FIG. 4 is a block diagram showing a schematic configuration of an EXE element (“EXM”) as an example of PE. The EXM element includes an ALU 11a, a MUL (16 × 16) 11b, an FF 11c, and the like. This EXM element is configured to execute an arithmetic operation, a logical operation, a two-input comparison function, a multiplication instruction, or a compound instruction by using configuration data 18 stored in the configuration memory 19 of DNA3. Can be configured. In addition, since a plurality of FFs 11c are built in, it is possible to control the latency from data input to output to the element PE, and in a configuration where the number of delay elements (DLE) is insufficient, the function as a delay element. It is also possible to set

図5に、PEの他の例として、RAMエレメント(「RAM」)の概略構成をブロック図により示している。このRAMエレメントは、データ格納用メモリエレメントであり、16KB(32ビット×4096ワード)のRAMモジュール12aと、アドレス入力用のアドレスレジスタ(FF)12b、ラッチ12c、データ入力用のライトデータレジスタ(FF)12d、ラッチ12e、データ出力用のリードデータレジスタ(FF)12fを含む。RAMモジュール12aのリードとライトの制御は、アドレスデータおよび/またはリードデータとともに入力されるトークンの値により行なわれる。アドレス入力からリードデータの出力までは、EXEエレメントと同様に3クロックサイクル程度で可能になっており、PEマトリクス10に含まれる他のタイプのPEと同様のレイテンシで、データの入出力が可能である。このRAMエレメントは、DNA3のコンフィグレーションメモリ19に格納されたコンフィグレーションデータ18により、32ビットモード、デュアルポート32ビットモード、FIFOモード、16ビットモード、8ビットモード、さらに、FSM(フィードバックステートモード)でデータ入力および/または出力するように構成できる。   FIG. 5 is a block diagram showing a schematic configuration of a RAM element (“RAM”) as another example of PE. This RAM element is a data storage memory element, which is a 16 KB (32 bits × 4096 words) RAM module 12a, an address input address register (FF) 12b, a latch 12c, and a data input write data register (FF). ) 12d, a latch 12e, and a read data register (FF) 12f for data output. The read / write control of the RAM module 12a is performed by the token value input together with the address data and / or read data. From the address input to the read data output, it is possible in about 3 clock cycles like the EXE element, and data input / output is possible with the same latency as other types of PE included in the PE matrix 10. is there. This RAM element has a 32-bit mode, a dual-port 32-bit mode, a FIFO mode, a 16-bit mode, an 8-bit mode, and an FSM (feedback state mode) based on configuration data 18 stored in the configuration memory 19 of DNA3. Can be configured to input and / or output data.

RAMエレメントのアクセスアドレスの生成には、EXEエレメント、カウンタエレメントであるC16Eおよび/またはC32Eを使用することができ、PEマトリクス10のルーティングマトリクス(マトリクスバス)を通じて、RAMエレメントに入力できる。したがって、RAMエレメントへの入出力は、PEマトリクス10に再構成される回路により制御できる。   The EXE element and the counter element C16E and / or C32E can be used to generate the access address of the RAM element, and can be input to the RAM element through the routing matrix (matrix bus) of the PE matrix 10. Therefore, input / output to / from the RAM element can be controlled by a circuit reconfigured in the PE matrix 10.

PEマトリクス10は、複数のPEsと、それらを接続するためのルーティングマトリクス(配線群)20を含む。ルーティングマトリクス20は、セグメントS内のPEを接続するための第1レベルの配線群(第1レベルのルーティングマトリクス、イントラコネクト)21と、ディレイエレメントを介して隣接するセグメントSの間を接続するための第2レベルの配線群(第2レベルのルーティングマトリクス、インターコネクト)22とを含む。ルーティングマトリクス20によるPEsの接続はコンフィグレーションデータ18により制御できる。したがって、PEマトリクス10には、コンフィグレーションデータ18により、複数のPEのそれぞれの機能を変更すること、および/または、ルーティングマトリクス20の少なくとも一部の接続を変更することにより、異なる回路(データパス、データフロー)を再構成できる。   The PE matrix 10 includes a plurality of PEs and a routing matrix (wiring group) 20 for connecting them. The routing matrix 20 is used to connect the first level wiring group (first level routing matrix, intraconnect) 21 for connecting the PEs in the segment S and the adjacent segment S via the delay element. And a second level wiring group (second level routing matrix, interconnect) 22. Connection of PEs by the routing matrix 20 can be controlled by the configuration data 18. Therefore, the PE matrix 10 has different circuits (data paths) by changing the function of each of the plurality of PEs and / or changing at least part of the connection of the routing matrix 20 according to the configuration data 18. , Data flow) can be reconfigured.

図6に、セグメントSの内部のPEsを接続するための第1レベルの配線群21の構成の一例を示している。第1レベルのルーティングマトリクス21は、セグメントS0に含まれる8×8個のPEsを接続するために、128の縦方向のバス23と、64の横方向のバス24とを含む。縦方向のバス23は、16のグループに分けられ、それぞれ8のバスを含む2つのV−バス23xおよび23yがペアとなり、PEsの縦の列(コラム)に沿って、その列の両側に配置されている。横方向のバス24は8のグループに分けられ、それぞれ8のバスを含むH−バス24がPEの横方向の行(ライン)に沿って配置されている。V−バス23xおよび23yには、8−1のバスセレクタ(マルチプレクサ、MUX)25がそれぞれのPEに対応して設けられており、それぞれのPEに対してデータの入力を可能としている。   FIG. 6 shows an example of the configuration of the first-level wiring group 21 for connecting the PEs inside the segment S. The first level routing matrix 21 includes 128 vertical buses 23 and 64 horizontal buses 24 for connecting 8 × 8 PEs included in the segment S0. The vertical buses 23 are divided into 16 groups, and two V-buses 23x and 23y each including eight buses are paired and arranged along the vertical column of PEs on both sides of the column. Has been. The horizontal buses 24 are divided into eight groups, and H-buses 24 each including eight buses are arranged along the horizontal rows (lines) of the PEs. The V-buses 23x and 23y are provided with 8-1 bus selectors (multiplexers, MUX) 25 corresponding to the respective PEs, and data can be input to the respective PEs.

H−バス24には、H−バス24とV−バス23xおよび23yのそれぞれの交差に対応して、8−1のバスセレクタ(マルチプレクサ、MUX)26が設けられている。したがって、1つのH−バス24から1つのデータセットを、そのH−バス24と交差している1つのV−バス23xまたは23yに出力できる。逆も可能である。H−バス24に含まれるバスのそれぞれには、そのラインのPEsの出力が接続される。したがって、V−バス23xおよび23yと、H−バス24とを介することにより、セグメントSに含まれるPEsを接続できる。これらのV−バス23xおよび23y、およびH−バス24を含む第1レベルのバス21により接続できる範囲、すなわち、各セグメントS0〜S5内のPEの間では1サイクル(1クロック)以内にデータを送受信できる。したがって、タイミング的には、例えば、セグメントS0に含まれるPEsは、いずれも等価である。このため、同一セグメント内であれば、回路を構成するために、いずれのPEを選択して機能を割り付けても、タイミングの検討は不要であり、タイミング的には、セグメント内のPEsを用いて、所定の回路を自由に配置および配線できる。   The H-bus 24 is provided with 8-1 bus selectors (multiplexers, MUX) 26 corresponding to the intersections of the H-bus 24 and the V-buses 23x and 23y. Therefore, one data set can be output from one H-bus 24 to one V-bus 23 x or 23 y intersecting with the H-bus 24. The reverse is also possible. Each bus included in the H-bus 24 is connected to the output of the PEs of that line. Therefore, PEs included in the segment S can be connected through the V-buses 23x and 23y and the H-bus 24. Data can be connected within the range that can be connected by the first level bus 21 including the V-buses 23x and 23y and the H-bus 24, that is, within one cycle (one clock) between the PEs in the segments S0 to S5. Can send and receive. Therefore, in terms of timing, for example, all PEs included in the segment S0 are equivalent. For this reason, in order to configure a circuit within the same segment, no matter which PE is selected and assigned a function, there is no need to consider the timing. In terms of timing, PEs in the segment are used. The predetermined circuit can be freely arranged and wired.

図7に、第2レベルのルーティングマトリクス22の構成を示している。図7では、第2レベルのルーティングマトリクス22により、隣接するセグメントS1およびS4にそれぞれ含まれている接続用のエレメントDLHを接続している。それぞれのDLHは、それぞれのセグメントS1およびS4の内部の第1レベルのルーティングマトリクス21に接続している。したがって、セグメントS1に含まれるPEと、セグメントS4に含まれるPEとを第2レベルのルーティングマトリクス22を介して接続することができる。接続用のディレイエレメントDLHは、第1レベルのルーティングマトリクス21に含まれるバスのインターフェイスとして機能する。したがって、第1レベルのルーティングマトリクス21に含まれるバスを、セグメント毎に独立して使用できる。一方、セグメント間でデータを入出力する必要があるときは、接続用のディレイエレメントDLHに含まれる複数のFFを介してデータを入出力する必要があり、クロックに同期した2サイクル以上の遅延が新たに加わる。   FIG. 7 shows the configuration of the second level routing matrix 22. In FIG. 7, the connection elements DLH included in the adjacent segments S <b> 1 and S <b> 4 are connected by the second-level routing matrix 22. Each DLH is connected to a first level routing matrix 21 within each segment S1 and S4. Therefore, the PE included in the segment S1 and the PE included in the segment S4 can be connected via the second level routing matrix 22. The connection delay element DLH functions as an interface of a bus included in the first level routing matrix 21. Therefore, the buses included in the first level routing matrix 21 can be used independently for each segment. On the other hand, when it is necessary to input / output data between segments, it is necessary to input / output data via a plurality of FFs included in the connection delay element DLH, and there is a delay of two cycles or more in synchronization with the clock. Newly join.

このように、第1レベルのルーティングマトリクス21のみを用いてPEを接続する場合、PEsの間は1サイクル(第1の遅延)の範囲内で接続されることが保証され、タイミングの検証は不用である。これに対し、第2レベルのルーティングマトリクス22を介してPEを接続する場合は、2サイクル以上の遅延が加わる。第2レベルのルーティングマトリクス22を介して接続する場合の遅延は、ディレイエレメントDLHの設定に依存する。例えば、DLHの遅延量を制御することにより、第2のルーティングマトリクス22を2回使用する信号と、1回使用する信号とをシンクロナイズできる。他の接続用のディレイエレメントDLVおよびDLXを介して隣接するセグメントS0〜S5を接続するときも同様である。   In this way, when PEs are connected using only the first level routing matrix 21, it is guaranteed that PEs are connected within a range of one cycle (first delay), and timing verification is unnecessary. It is. On the other hand, when connecting PEs via the second level routing matrix 22, a delay of two cycles or more is added. The delay when connecting via the second level routing matrix 22 depends on the setting of the delay element DLH. For example, by controlling the delay amount of DLH, a signal that uses the second routing matrix 22 twice and a signal that is used once can be synchronized. The same applies when adjacent segments S0 to S5 are connected via other connection delay elements DLV and DLX.

このため、セグメントS0〜S5の複数のセグメントに分散する回路、すなわち、セグメントを跨ぐ回路は、配置配線の間あるいは終了した後に、タイミングの調整あるいは再検討が必要となる。その結果、遅延エレメントを追加したり、遅延エレメントの遅延を調整したりすることが要求される可能性がある。したがって、回路をPEマトリクス10に配置および配線するときは、第2レベルのルーティングマトリクス22の使用を最小限にすることが好ましい。   For this reason, a circuit distributed to a plurality of segments S0 to S5, that is, a circuit across the segments, needs to be adjusted or reexamined during or after the placement and routing. As a result, it may be required to add delay elements or adjust the delay of the delay elements. Therefore, it is preferable to minimize the use of the second level routing matrix 22 when placing and wiring circuits in the PE matrix 10.

図8に、ツリー構造により機能が示されたアプリケーションの一例を示している。ツリー構造とはノードが一列にあるいは枝分かれして連なった構造を示している。このアプリケーション30は複数の処理がツリー構造をなすように組み合わされた画像処理(画像フィルタ)であり、ツリー構造は、入力される画像、抽出したい対象などの条件に基づき最適化されたものである。最適化の手法は、上述したGAGPと称される手法であり、遺伝的アルゴリズム(GA)をもとに考案された遺伝的プログラミング(GP)である。ツリー構造を見出すための最適化の手法はGAGPに限らず、免疫的アルゴリズムに基づく手法、シミュレーテッドアニーリング法などの他の最適化手法であっても良い。   FIG. 8 shows an example of an application whose function is shown by a tree structure. The tree structure indicates a structure in which nodes are connected in a line or branched. This application 30 is an image process (image filter) in which a plurality of processes are combined to form a tree structure, and the tree structure is optimized based on conditions such as an input image and an object to be extracted. . The optimization technique is a technique called GAGP described above, and is genetic programming (GP) devised based on the genetic algorithm (GA). The optimization method for finding the tree structure is not limited to GAGP, and may be another optimization method such as a method based on an immune algorithm or a simulated annealing method.

ツリー構造の画像処理アプリケーション30は、任意に組み合わされた複数のノードの処理31を含み、これらのノードの処理31が組み合わされた順番に実行されるようになっている。ノードの処理31は、1入力1出力の処理に限られず、多入力1出力、多入力多出力であっても良く、この例では2入力1出力の処理31が含まれている。1入力1出力の処理(ノード)31が接続されている場合は、先の処理31の出力が次の処理31の入力となる。2入力1出力の処理がノードの処理31の場合は、2の枝(処理経路)が交わり、1つの枝(処理経路)となって次のノードに接続される。すなわち、先の2つの処理31の出力が、次の処理31の入力となる。   The image processing application 30 having a tree structure includes processes 31 of a plurality of nodes arbitrarily combined, and the processes 31 of these nodes are executed in the combined order. The node processing 31 is not limited to the 1-input 1-output processing, and may be multi-input 1-output or multi-input multi-output. In this example, the 2-input 1-output processing 31 is included. When the 1-input 1-output process (node) 31 is connected, the output of the previous process 31 becomes the input of the next process 31. When the 2-input 1-output process is the node process 31, two branches (processing paths) intersect to form one branch (processing path) and be connected to the next node. That is, the output of the previous two processes 31 becomes the input of the next process 31.

画像処理アプリケーション30において、ツリー構造をなす各ノードの処理31は、画像処理の目的に応じて、ある程度、変換機能が限定された画像フィルタ(フィルタユニット)である。1入力1出力のフィルタユニットとしては、平均値フィルタ(−)、最大値フィルタ(M)、最小値フィルタ(m)、ゾーベルフィルタ(d)、黒領域エッジ抽出ラプラシアンフィルタ(E)、明領域エッジ抽出ラプラシアンフィルタ(e)、分割領域面積が平均値よりも小さいものを明るくするフィルタ(X)、分割領域面積が平均値よりも大きいものを明るくするフィルタ(x)、明るいピクセル(例えば平均より階調値が大)を選択して他は黒にするフィルタ(T)、暗いピクセル(例えば平均より階調値が小)を選択して他は明るくするフィルタ(t)、ハイパスフィルタ(F、例えば、離散コサイン変換し、低周波数成分をカットし、逆離散コサイン変換する)、ローパスフィルタ(f、例えば、離散コサイン変換し、高周波成分をカットし、逆離散コサイン変換する)、階調値反転処理フィルタ(i)、線形変換フィルタ(H)、平均値による2値化処理フィルタ(N)、分析処理により得られた値による2処理フィルタ(n)などを挙げることができる。   In the image processing application 30, the processing 31 of each node having a tree structure is an image filter (filter unit) whose conversion function is limited to some extent according to the purpose of image processing. The filter unit with one input and one output includes an average value filter (−), a maximum value filter (M), a minimum value filter (m), a Sobel filter (d), a black region edge extraction Laplacian filter (E), and a bright region. Edge extraction Laplacian filter (e), filter (X) that brightens those whose divided region area is smaller than the average value, filter (x) that brightens those whose divided region area is larger than the average value, bright pixels (for example, above average) A filter (T) that selects black with a large gradation value (other), a filter (t) that makes black otherwise, a filter (t) that selects a dark pixel (for example, a smaller gradation value than the average) and makes others bright, and a high-pass filter (F, For example, discrete cosine transform, cut low frequency component, and inverse discrete cosine transform), low pass filter (f, eg, discrete cosine transform, high frequency component Cut and inverse discrete cosine transform), tone value inversion processing filter (i), linear transformation filter (H), binarization processing filter by average value (N), binary processing filter by values obtained by analysis processing (N) etc. can be mentioned.

2入力1出力のフィルタユニットとしては、論理和(L)、論理積(l)、代数和(A)、代数積(a)、限界和(B)、限界積(b)、差分フィルタ(D)などを挙げることができる。   The filter unit with two inputs and one output includes logical sum (L), logical product (l), algebraic sum (A), algebraic product (a), limit sum (B), limit product (b), and differential filter (D ) And the like.

図9に、ツリー構造で機能が示されたアプリケーション30を図1に示したDAPDNA1で実行する一例を示している。この例では、DAP2は再構成制御ユニット2aとしての機能を含み、PEマトリクス10は再構成領域である。再構成制御ユニット2aが、コンフィグレーションメモリ19に、ツリー構造にしたがって各ノードの処理31を実行するための1セットの(ノード単位の)回路構成(再構成情報、コンフィグレーションデータ)18を出力し、PEマトリクス10にノードの処理31を実行するための回路を構成する。各ノードの処理31を実行するための回路構成を指示するコンフィグレーションデータ18を含むアプリケーション30を実行するためのハードウェア情報39は、アプリケーション30のツリー構造にしたがって予め設計(生成)されており、DRAM(SDRAM)6に格納されている。   FIG. 9 shows an example in which the application 30 whose function is shown in the tree structure is executed by the DAPDNA 1 shown in FIG. In this example, the DAP 2 includes a function as the reconstruction control unit 2a, and the PE matrix 10 is a reconstruction area. The reconfiguration control unit 2a outputs to the configuration memory 19 one set (node unit) circuit configuration (reconfiguration information, configuration data) 18 for executing the processing 31 of each node according to the tree structure. A circuit for executing the node processing 31 is configured in the PE matrix 10. Hardware information 39 for executing the application 30 including the configuration data 18 for instructing a circuit configuration for executing the processing 31 of each node is designed (generated) in advance according to the tree structure of the application 30. It is stored in a DRAM (SDRAM) 6.

DAPDNA1においては、コンフィグレーションメモリ19のバンクに、次のノードの処理31を実行するための回路のコンフィグレーションデータ18を格納しておくことができる。したがって、PEマトリクス10を、ツリー構造にしたがってほぼ1クロックサイクルで再構成することができる。このため、ツリー構造で機能が示されたアプリケーションを、専用回路を用いて、高速で実行できる。さらに、コンフィグレーションデータ18を変えることにより、ツリー構造の異なるアプリケーションをDAPDNA1に実装できるので、画像の入力状況および/または抽出対象に適した複数種類のツリー構造のアプリケーションを1つのDAPDNA1で適宜実行できる。   In the DAPDNA 1, circuit configuration data 18 for executing the processing 31 of the next node can be stored in the bank of the configuration memory 19. Therefore, the PE matrix 10 can be reconfigured in approximately one clock cycle according to the tree structure. Therefore, an application whose function is shown in a tree structure can be executed at high speed using a dedicated circuit. Furthermore, by changing the configuration data 18, an application having a different tree structure can be mounted on the DAPDNA 1, so that a plurality of types of tree structure applications suitable for an image input situation and / or an extraction target can be appropriately executed on one DAPDNA 1. .

図10(a)および(b)に、ツリー構造で機能が示されたアプリケーション30をDAPDNA1で実行する異なる例を示している。図9に示した例では、PEマトリクス10に構成された回路は、DAPDNA1のDRAM6を作業領域としてデータを入出力している。これに対し、図10(a)および(b)に示した例では、PEマトリクス10に構成された回路は、PEマトリクス10のRAMエレメントを作業領域としてデータを入出力している。   FIGS. 10A and 10B show different examples in which the application 30 whose functions are shown in a tree structure is executed by the DAPDNA 1. In the example shown in FIG. 9, the circuit configured in the PE matrix 10 inputs and outputs data using the DRAM 6 of the DAPDNA 1 as a work area. On the other hand, in the example shown in FIGS. 10A and 10B, the circuit configured in the PE matrix 10 inputs and outputs data using the RAM element of the PE matrix 10 as a work area.

ツリー構造の画像処理のアプリケーション30において、各ノードの処理は、処理対象の画像データに含まれる画素データを読み込んで変換して出力する作業を繰り返して行なう。したがって、作業用のメモリ領域との間でデータの入出力は頻繁になる。図9に示した例では、DRAM6に作業領域6aを設けている。DRAM6は、DAPDNA1に含まれるメモリなので、PEマトリクス10に構成された回路から高速でデータを入力および出力できる。   In the image processing application 30 having a tree structure, the processing of each node is repeatedly performed by reading, converting, and outputting pixel data included in image data to be processed. Therefore, data is frequently input / output from / to the work memory area. In the example shown in FIG. 9, a work area 6 a is provided in the DRAM 6. Since the DRAM 6 is a memory included in the DAPDNA 1, data can be input and output from the circuit configured in the PE matrix 10 at high speed.

しかしながら、PEマトリクス10とDRAM6との間でデータを入力または出力するためには、幾つかの手続きが必要となる。例えば、データをDRAM6からPEマトリクス10へ供給する場合、まず、PEマトリクス10とDRAM6とを接続する内部バス9をPEマトリクス10のアクセスのために開放し、PEマトリクス10からメモリアクセス用のアドレスを出力する。その後、DRAM6から所定のデータがバス9に出力されPEマトリクス10に供給される。そのバス9に出力されたデータは、PEマトリクス10において、データ入力用の内部バッファとなるLDBエレメントを介して、ノード(画像フィルタ)としての機能を果たすためにPEマトリクス10に構成された回路に入力される。PEマトリクス10に構成された回路により処理されたデータを出力する場合も、ほぼ同じ手続きを経る必要がある。   However, several procedures are required to input or output data between the PE matrix 10 and the DRAM 6. For example, when data is supplied from the DRAM 6 to the PE matrix 10, first, the internal bus 9 connecting the PE matrix 10 and the DRAM 6 is opened for accessing the PE matrix 10, and an address for memory access is assigned from the PE matrix 10. Output. Thereafter, predetermined data is output from the DRAM 6 to the bus 9 and supplied to the PE matrix 10. The data output to the bus 9 is transferred to a circuit configured in the PE matrix 10 so as to function as a node (image filter) via an LDB element serving as an internal buffer for data input in the PE matrix 10. Entered. When outputting data processed by a circuit configured in the PE matrix 10, it is necessary to go through substantially the same procedure.

このようなデータの入出力に消費されるサイクルは、プログラムの記述にしたがって逐次処理を進めるRISCなどの汎用型のプロセッサにおいても同様である。したがって、DAPDNA1では、ノードにより異なる処理31を実行するための回路をPEマトリクス10に1クロックサイクルで再構成できるのに対し、データの入出力が多数のクロックサイクルを消費するので、回路を再構成することはデータ処理の遅れに繋がる恐れはない。逆に、いったんPEマトリクス10に回路が構成されれば、ノードの処理31は専用回路(ハードウェア)でアプリケーション30が実行される。このため、DAPDNA1では、アプリケーション30を、汎用プロセッサをプログラム制御して実行する場合よりも高速で処理が進む。   The cycle consumed for such data input / output is the same in a general-purpose processor such as RISC that sequentially performs processing according to the description of the program. Therefore, in DAPDNA1, a circuit for executing different processing 31 depending on the node can be reconfigured in the PE matrix 10 in one clock cycle, whereas data input / output consumes a large number of clock cycles, so that the circuit is reconfigured. Doing so will not lead to delays in data processing. Conversely, once the circuit is configured in the PE matrix 10, the node 30 is executed by the application 30 using a dedicated circuit (hardware). For this reason, in DAPDNA1, the process proceeds at a higher speed than when the application 30 is executed by controlling a general-purpose processor.

さらに、図10(a)および(b)に示した例では、PEマトリクス10の内部に、RAMエレメントを入出力対象とするフィルタ回路(処理回路)61および62が構成される。これらのフィルタ回路61および62は、PEマトリクス10に配置された演算エレメント(EXE)を含み、所定のフィルタとしての機能を実現するための回路であり、RAMエレメントが含まれていてもよい。図10(a)では、PEマトリクス10に、第1のRAMエレメント(RAM#1)を入力対象とし、第2のRAMエレメント(RAM#2)を出力対象とするフィルタ回路61が構成されている。図10(b)には、第2のRAMエレメント(RAM#2)を入力対象とし、第1のRAMエレメント(RAM#1)を出力対象とするフィルタ回路62が構成されている。このように、図10(a)に示したK番目(5番目)の処理回路61で出力対象となったRAM#2を、図10(b)に示した(K+1)番目(6番目)の処理回路62においては入力対象とすることにより、PEマトリクス10の内部のデータ転送だけで、ツリー構造で繋がった複数の処理31を実行することが可能となる。したがって、DAPDNA1の内部バス9およびLDBエレメントを介してデータを入力する必要がなくなり、作業用のメモリにアクセスするために要する手続きは簡略化される。このため、ノードの処理31において、データの入出力に要する処理時間が低減され、DAPDNA1において、さらに高速でアプリケーション30を実行することができる。   Further, in the example shown in FIGS. 10A and 10B, filter circuits (processing circuits) 61 and 62 having RAM elements as input / output targets are configured in the PE matrix 10. These filter circuits 61 and 62 include arithmetic elements (EXE) arranged in the PE matrix 10, are circuits for realizing a function as a predetermined filter, and may include a RAM element. In FIG. 10A, the PE matrix 10 is configured with a filter circuit 61 having the first RAM element (RAM # 1) as an input target and the second RAM element (RAM # 2) as an output target. . In FIG. 10B, a filter circuit 62 is configured with the second RAM element (RAM # 2) as an input target and the first RAM element (RAM # 1) as an output target. In this way, the RAM # 2 that is the output target of the Kth (fifth) processing circuit 61 shown in FIG. 10A is replaced with the (K + 1) th (sixth) shown in FIG. By setting the processing circuit 62 as an input target, it is possible to execute a plurality of processes 31 connected in a tree structure only by data transfer inside the PE matrix 10. Therefore, it is not necessary to input data via the internal bus 9 and the LDB element of the DAPDNA 1, and the procedure required to access the working memory is simplified. Therefore, the processing time required for data input / output is reduced in the node processing 31, and the application 30 can be executed at higher speed in the DAPDNA1.

図11は、本発明の実施形態の一例のデータ処理装置のブロック図である。このデータ処理装置50は、DAPDNA1を用いて実現されている。データ処理装置50は、再構成ユニット(再構成領域)であるPEマトリクス10を有する。このPEマトリクス10は、回路を構成するための複数のエレメント(PE)と、これらPEを接続するための内部配線20とを含み、内部配線20による複数のPEの接続を変更することにより、当該再構成ユニット10に含まれる回路を再構成可能である。さらに、データ処理装置50は、PEマトリクス10に実装される回路を再構成するために、複数のPEの接続情報を含む再構成情報(コンフィグレーションデータ)18を出力する再構成制御ユニット2aを有する。このデータ処理装置50では、再構成制御ユニット2aはDAP2により提供されている。   FIG. 11 is a block diagram of a data processing apparatus as an example of an embodiment of the present invention. The data processing device 50 is realized using DAPDNA1. The data processing device 50 has a PE matrix 10 that is a reconstruction unit (reconstruction area). This PE matrix 10 includes a plurality of elements (PE) for configuring a circuit and an internal wiring 20 for connecting these PEs. By changing the connection of the plurality of PEs by the internal wiring 20, the PE matrix 10 The circuits included in the reconstruction unit 10 can be reconfigured. Further, the data processing device 50 includes a reconfiguration control unit 2a that outputs reconfiguration information (configuration data) 18 including connection information of a plurality of PEs in order to reconfigure a circuit mounted on the PE matrix 10. . In this data processing device 50, the reconfiguration control unit 2a is provided by the DAP2.

PEマトリクス10は、上述したように、算術演算用のPEである演算エレメント(EXE)、内部メモリ用のRAMエレメント(RAM)をはじめとする複数種類のPEを含む。そして、第1レベルの配線21および第2のレベルの配線22を含む内部配線20の接続を変更することにより、所定のRAMエレメントを、EXEを含む処理回路入力対象または出力対象とすることが可能である。   As described above, the PE matrix 10 includes a plurality of types of PEs including an arithmetic element (EXE) that is a PE for arithmetic operation and a RAM element (RAM) for internal memory. Then, by changing the connection of the internal wiring 20 including the first level wiring 21 and the second level wiring 22, a predetermined RAM element can be set as a processing circuit input target or an output target including EXE. It is.

データ処理装置50では、複数セットの接続情報(接続データ)56を含む接続情報ライブラリ55と、ツリー構造の情報35とがDRAM6に格納されている。接続情報ライブラリ55には、ツリー構造のノードの処理31の幾つか、特に、1入力1出力の処理のそれぞれについて、第1のメモリエレメント(RAM#1)を入力対象とし、第2のメモリエレメント(RAM#2)を出力対象とする第1の処理回路を構成するための第1の接続情報と、第2のメモリエレメント(RAM#2)を入力対象とし、第1のメモリエレメント(RAM#1)を出力対象とする第2の処理回路を構成するための第2の接続情報とが格納されている。したがって、再構成制御ユニット2aは、ツリー構造の情報35にしたがってノードの処理31を順番に実行する際に、先の処理において出力対象となったメモリエレメントを入力対象とする接続情報を接続情報ライブラリ55から選択し、その選択された接続情報を含むコンフィグレーションデータ18をコンフィグレーションメモリ19に出力することにより、PEマトリクス10にツリー構造のアプリケーション30を実行するための回路を順番に構成できる。接続情報ライブラリ55に含まれている、それぞれのノードの処理31に対応した接続情報(接続情報のセットまたはピース(接続データセット))56は、PEの接続に関する情報だけではなく、PEにセットされるパラメータなど、コンフィグレーションデータ18として必要な情報を全て含んでいても良い。   In the data processing device 50, a connection information library 55 including a plurality of sets of connection information (connection data) 56 and tree structure information 35 are stored in the DRAM 6. In the connection information library 55, the first memory element (RAM # 1) is set as an input target for some of the tree-structured node processes 31, particularly for each of the 1-input 1-output processes, and the second memory element The first connection information for configuring the first processing circuit whose output target is (RAM # 2) and the second memory element (RAM # 2) are input targets, and the first memory element (RAM # 2) is input. The second connection information for configuring the second processing circuit whose output target is 1) is stored. Accordingly, when the reconfiguration control unit 2a sequentially executes the node processing 31 in accordance with the tree structure information 35, the reconfiguration control unit 2a uses the connection information library to input connection information for the memory element that is the output target in the previous processing. By selecting from 55 and outputting the configuration data 18 including the selected connection information to the configuration memory 19, it is possible to sequentially configure a circuit for executing the tree-structured application 30 in the PE matrix 10. The connection information (connection information set or piece (connection data set)) 56 corresponding to the processing 31 of each node included in the connection information library 55 is set in the PE as well as information on PE connection. All necessary information as configuration data 18 may be included.

図12に、接続情報ライブラリ55に含まれる接続情報56のいくつかのタイプ(セット、ピース)を示している。タイプ1の接続情報56aは、第1のRAMエレメント(RAM#1)を入力対象とし、第2のRAMエレメント(RAM#2)を出力対象とする第1の処理回路61を構成するための第1の接続情報である。この接続情報56aは、RAMエレメントに加えて、出力インターフェイスのPEであるSTBも出力対象とする処理回路61が構成されるようにしている。第1の処理回路61の処理結果をPEマトリクス10からDRAM6の作業領域6aに格納する必要があれば、STBからバス9を介してDRAM6に処理結果が送られる。   FIG. 12 shows several types (sets, pieces) of the connection information 56 included in the connection information library 55. The type 1 connection information 56a is a first processing circuit 61 for configuring the first processing circuit 61 having the first RAM element (RAM # 1) as an input target and the second RAM element (RAM # 2) as an output target. 1 connection information. The connection information 56a is configured to include a processing circuit 61 that outputs not only the RAM element but also the STB that is the PE of the output interface. If the processing result of the first processing circuit 61 needs to be stored in the work area 6 a of the DRAM 6 from the PE matrix 10, the processing result is sent from the STB to the DRAM 6 via the bus 9.

タイプ2の接続情報56bは、RAM#2を入力対象とし、RAM#1を出力対象とする第2の処理回路62を構成するための第2の接続情報である。この接続情報56bも、さらに、出力インターフェイスのPEであるSTBも出力対象とする処理回路62が構成されるようにしている。   The type 2 connection information 56b is second connection information for configuring the second processing circuit 62 whose input is RAM # 2 and whose output is RAM # 1. The connection information 56b is also configured to include a processing circuit 62 that outputs the STB that is the PE of the output interface.

タイプ3の接続情報56cは、入力インターフェイスのPEであるLDBを入力対象とし、RAM#1を出力対象とする第3の処理回路63を構成するための第3の接続情報である。この接続情報56cも、さらに、出力インターフェイスのPEであるSTBも出力対象とする処理回路63が構成されるようにしている。   The type 3 connection information 56c is third connection information for configuring the third processing circuit 63 whose input target is the LDB which is the PE of the input interface and whose output target is the RAM # 1. The connection information 56c is also configured to have a processing circuit 63 that outputs an STB that is the PE of the output interface.

タイプXの接続情報56dは、2入力1出力のフィルタ回路をPEマトリクス10に構成するための接続情報であり、2つのLDBを入力対象とし、RAM#1と、STBとを出力対象とする処理回路69を構成するための接続情報である。RAM#1と、STBとには同じデータが出力される。   The type X connection information 56d is connection information for configuring a 2-input 1-output filter circuit in the PE matrix 10, and is a process in which two LDBs are input targets and RAM # 1 and STB are output targets. Connection information for configuring the circuit 69. The same data is output to RAM # 1 and STB.

ツリー構造の画像処理アプリケーション30のノードとして含まれる可能性のある1入力1出力のフィルタ処理31については、それぞれの処理に対して、タイプ1からタイプ3の接続情報が接続情報ライブラリ55に用意されている。例えば、平均値フィルタをPEマトリクス10に構成するための接続情報として、タイプ1からタイプ3の3種類の接続情報56がライブラリ55に格納されている。これらの3種類の接続情報56によりPEマトリクス10に構成される回路は、平均値フィルタとしての機能を提供するためのものであり、入出力を除いて同じ機能を提供する。さらに、3種類の接続情報56は、異なる入力対象と、異なる出力対象とにそれぞれの処理回路が接続するように最適化されており、フィルタとしての機能を提供するために消費されるPEの数ができるだけ少なくなるように生成されている。例えば、入力を切り換えるためにセレクタとして機能する演算エレメントや、ディレイエレメント、特に、セグメントを跨いだ配線に導入されるディレイエレメントを少なくし、PEマトリクス10に含まれるPEを有効利用して複雑なフィルタ処理に対応できるようにする。また、PEマトリクス10に構成される処理回路を簡易な構成にして、処理に要する時間が短縮されるようにしている。   For the 1-input 1-output filtering process 31 that may be included as a node of the tree-structured image processing application 30, type 1 to type 3 connection information is prepared in the connection information library 55 for each process. ing. For example, three types of connection information 56 of type 1 to type 3 are stored in the library 55 as connection information for configuring the average value filter in the PE matrix 10. The circuit configured in the PE matrix 10 by these three types of connection information 56 is for providing a function as an average value filter, and provides the same function except for input and output. Further, the three types of connection information 56 are optimized so that the respective processing circuits are connected to different input targets and different output targets, and the number of PEs consumed to provide a function as a filter. Is generated to be as small as possible. For example, arithmetic filters that function as selectors for switching inputs and delay elements, in particular, delay elements introduced into wiring straddling segments, are reduced, and complex filters that effectively use PEs included in the PE matrix 10 are used. Be ready for processing. Further, the processing circuit configured in the PE matrix 10 has a simple configuration so that the time required for processing is shortened.

2入力1出力の処理についても、1入力1出力の処理と同様に、複数種類の接続情報を用意することが可能である。しかしながら、画像処理アプリケーション30において、2入力1出力のフィルタ処理は、少なくとも一方の画像データが、異なるフレームの画像データである。このため、2入力1出力のフィルタの入力は、外部メモリ(DRAM)6またはDAPDNA1の外のメモリから供給されるデータを受けることが多い。さらに、第1および第2のRAMエレメントを2入力とすると、2入力の処理の前方の処理においては、出力対象のRAMエレメントに制限が発生する可能性があるので、この例においては、2入力1出力の処理については、外部メモリからデータが入力されるようにしている。したがって、2入力1出力の処理に入力するフィルタ処理されたデータはいったんDRAM6の作業領域6aに出力する。   As for the 2-input 1-output process, it is possible to prepare a plurality of types of connection information as in the 1-input 1-output process. However, in the image processing application 30, in the 2-input 1-output filter processing, at least one of the image data is image data of different frames. For this reason, the input of the 2-input 1-output filter often receives data supplied from an external memory (DRAM) 6 or a memory outside the DAPDNA 1. Further, if the first and second RAM elements have two inputs, there is a possibility that the output RAM element may be limited in the process ahead of the two-input process. For one-output processing, data is input from an external memory. Therefore, the filtered data input to the 2-input 1-output process is once output to the work area 6 a of the DRAM 6.

接続情報ライブラリ55に格納される接続情報56は、上述したものに限定されない。1入力1出力の処理について用意されたタイプ1から3の接続情報56a〜56cは、出力対象に、RAMエレメントに加えて、出力インターフェイスであるSTBを含めている。これに対し、出力対象をRAMエレメントのみとした接続情報と、出力対象を出力インターフェイスのみとした接続情報とを独立して用意することが可能である。例えば、第1のRAMエレメントまたは第2のRAMエレメントを入力対象とし、出力インターフェイスであるSTBを出力対象とする第4の処理回路を構成するための第4の接続情報を接続情報ライブラリ55に格納しておくことができる。   The connection information 56 stored in the connection information library 55 is not limited to that described above. The connection information 56a to 56c of types 1 to 3 prepared for the 1-input 1-output process includes an STB that is an output interface in addition to the RAM element as an output target. On the other hand, it is possible to independently prepare connection information in which the output target is only the RAM element and connection information in which the output target is only the output interface. For example, the connection information library 55 stores the fourth connection information for configuring the fourth processing circuit having the first RAM element or the second RAM element as an input target and the STB as an output interface as an output target. Can be kept.

さらに、第1および第2のRAMエレメントとは異なる、第3のRAMエレメントと、第4のRAMエレメントとを入力対象または出力対象とする接続情報をライブラリ55に用意しておくことは有効である。処理回路の規模が十分に小さい場合には、第1および第2のRAMエレメントを入出力対象とする処理回路と、第3および第4のRAMエレメントを入出力対象とする処理回路とを、PEマトリクス10に同時に生成し、それらの処理を並列に実行することが可能となる。例えば、アプリケーション30のツリー構造の枝別れした部分のノードの処理を並列に実行することにより、アプリケーション30をさらに高速に実行できる。   Furthermore, it is effective to prepare in the library 55 connection information for the third RAM element and the fourth RAM element, which are different from the first and second RAM elements, to be input or output. . When the scale of the processing circuit is sufficiently small, a processing circuit whose input / output targets are the first and second RAM elements and a processing circuit whose input / output targets are the third and fourth RAM elements are connected to PE. It is possible to simultaneously generate the matrix 10 and execute these processes in parallel. For example, the application 30 can be executed at higher speed by executing the processing of the nodes of the branches of the tree structure of the application 30 in parallel.

図13に、データ処理装置50において、ツリー構造を備えたアプリケーション30を実行するときの再構成制御ユニット2aの動作を、フローチャートを用いて示している。ステップ70において、DRAM6からアプリケーション30のツリー構造に関する情報(以降ではツリー構造)35を取得する。ステップ71において、ツリー構造35の最初のノード#0(図8の処理#0、階調値反転処理)の接続情報56を、接続情報ライブラリ55から取得する。ノード#0は最初の処理なので、画像データをDRAM6から取得する必要がある。したがって、ステップ71において、制御ユニット2aは、階調値反転処理を行う処理回路をPEマトリクス10に構成するため接続情報のうちのタイプ3の接続情報56cを取得する。ステップ72において、制御ユニット2aは、接続情報56cに基づいてコンフィグレーションデータ18を生成し、コンフィグレーションメモリ19の、例えば、バンク#1に出力する。ステップ73において、制御ユニット2aは、コンフィグレーションメモリ19のバンク#1のコンフィグレーションデータ18をフォアグラウンドバンクに移す。これにより、PEマトリクス10に、階調値反転処理を行う処理回路であって、LDBを入力対象とし、RAM#1を出力対象とする処理回路が構成され、画像データを外部メモリから入力し、階調値反転処理を施した画像データをRAM#1に出力する処理が開始される。   FIG. 13 shows the operation of the reconfiguration control unit 2a when executing the application 30 having a tree structure in the data processing apparatus 50 using a flowchart. In step 70, information about the tree structure of the application 30 (hereinafter “tree structure”) 35 is acquired from the DRAM 6. In step 71, connection information 56 of the first node # 0 (process # 0 in FIG. 8, gradation value inversion process) of the tree structure 35 is acquired from the connection information library 55. Since node # 0 is the first process, it is necessary to acquire image data from the DRAM 6. Therefore, in step 71, the control unit 2a acquires the type 3 connection information 56c of the connection information in order to configure the processing circuit for performing the gradation value inversion processing in the PE matrix 10. In step 72, the control unit 2a generates the configuration data 18 based on the connection information 56c, and outputs the configuration data 18 to the bank # 1, for example, in the configuration memory 19. In step 73, the control unit 2a moves the configuration data 18 of the bank # 1 in the configuration memory 19 to the foreground bank. As a result, a processing circuit that performs gradation value inversion processing on the PE matrix 10 is configured, and the processing circuit is configured to input the LDB and the output target of the RAM # 1, and the image data is input from the external memory. A process of outputting the image data subjected to the gradation value inversion process to the RAM # 1 is started.

PEマトリクス10において処理が行われている間に、制御ユニット2aは、さらに、ステップ74において、次のノード#1(図8の処理#1、平均値処理)の接続情報56を、接続情報ライブラリ55から取得する。ノード#1は、2番目の処理であり、最初の処理の出力対象はRAM#1である。したがって、制御ユニット2aは、平均値処理を行う処理回路をPEマトリクス10に構成するための接続情報のうちのタイプ1の接続情報56aを取得する。ステップ75において、制御ユニット2aは、接続情報56aに基づいてコンフィグレーションデータ18を生成し、コンフィグレーションメモリ19の、例えば、バンク#1に出力する。   While the processing is being performed in the PE matrix 10, the control unit 2a further transfers the connection information 56 of the next node # 1 (processing # 1, FIG. 8, average value processing) to the connection information library in step 74. 55. Node # 1 is the second process, and the output target of the first process is RAM # 1. Therefore, the control unit 2a acquires the type 1 connection information 56a among the connection information for configuring the processing circuit for performing the average value processing in the PE matrix 10. In step 75, the control unit 2a generates the configuration data 18 based on the connection information 56a, and outputs the configuration data 18 to the bank # 1, for example, in the configuration memory 19.

ステップ76において、制御ユニット2aは、PEマトリクス10に構成された今の処理、すなわち、処理#0が終了するのを待つ。ステップ77において、ツリー構造35の全ての処理の終了を確認し、終了していない場合には、ステップ78において、コンフィグレーションメモリ19のバンク#1のコンフィグレーションデータ18をフォアグラウンドバンクに移す。これにより、PEマトリクス10に、平均値処理を行う処理回路であって、RAM#1を入力対象とし、RAM#2を出力対象とする処理回路が構成される。そして、RAM#1から階調値反転処理が施された画像データを読み出し、平均値処理を施した画像データをRAM#2に出力する処理が開始される。   In step 76, the control unit 2a waits for the end of the current process configured in the PE matrix 10, that is, the process # 0. In step 77, the completion of all the processes of the tree structure 35 is confirmed. If not, the configuration data 18 of the bank # 1 in the configuration memory 19 is moved to the foreground bank in step 78. As a result, a processing circuit that performs average value processing and that has RAM # 1 as an input target and RAM # 2 as an output target is configured in the PE matrix 10. Then, the image data that has been subjected to the gradation value inversion processing is read from the RAM # 1 and the image data that has been subjected to the average value processing is output to the RAM # 2.

ステップ79において、ツリー構造35に次のノードの処理が残っていれば、ステップ74に戻って、そのノードの処理を行なうのに適した接続情報56を接続情報ライブラリ55から取得する。ステップ79において、次のノードの処理が残っていなければ、ステップ76に戻り、今の処理が終了すると、コンフィグレーションメモリ19に出力されたコンフィグレーションデータ18により最後のノードの処理を行う回路を再構成する。   If it is determined in step 79 that the process of the next node remains in the tree structure 35, the process returns to step 74, and connection information 56 suitable for performing the process of that node is acquired from the connection information library 55. In step 79, if the process of the next node does not remain, the process returns to step 76. When the current process is completed, the circuit for processing the last node is re-executed by the configuration data 18 output to the configuration memory 19. Constitute.

なお、DAPDNA1のコンフィグレーションメモリ19は4バンク構成なので、バンク#2およびバンク#3に、次の処理回路をPEマトリクス10に構成するためのコンフィグレーションデータ18を予め出力することも可能である。また、再構成制御ユニット2aの機能は、RISCタイプのDAP2にロードされるプログラム(プログラム製品)として提供することができ、ROMなどの適当な記録媒体に記録して提供できる。   Since the configuration memory 19 of the DAPDNA 1 has a 4-bank configuration, configuration data 18 for configuring the next processing circuit in the PE matrix 10 can be output in advance to the banks # 2 and # 3. Further, the function of the reconfiguration control unit 2a can be provided as a program (program product) loaded in the RISC type DAP 2, and can be provided by being recorded in an appropriate recording medium such as a ROM.

このデータ処理装置50においては、処理#2の処理回路をPEマトリクス10に構成するためには、処理#1の処理回路の出力対象であるRAM#2を入力対象とするタイプ2の接続情報56bが選択される。2入力1出力のノードの前のノードにおいては、出力対象をDRAM6の作業領域6aにする必要がある。したがって、処理#3の処理回路をPEマトリクス10に構成するためには、RAM#1を入力対象とするタイプ1の接続情報56aが選択され、処理回路61により処理されたデータはSTBを介してDRAM6に出力される。2入力1出力の処理#4の処理回路をPEマトリクス10に構成するためには、2系統のLDBを入力対象とするタイプXの接続情報56dが選択され、処理回路69により処理されたデータはRAM#1に出力される。   In this data processing device 50, in order to configure the processing circuit of the processing # 2 in the PE matrix 10, the connection information 56b of type 2 whose input is the RAM # 2 that is the output target of the processing circuit of the processing # 1. Is selected. In the node before the 2-input 1-output node, the output target must be the work area 6 a of the DRAM 6. Therefore, in order to configure the processing circuit of the processing # 3 in the PE matrix 10, the type 1 connection information 56a for which the RAM # 1 is input is selected, and the data processed by the processing circuit 61 is transmitted via the STB. It is output to the DRAM 6. In order to configure the processing circuit # 4 with two inputs and one output in the PE matrix 10, the type X connection information 56d with two LDBs as input targets is selected, and the data processed by the processing circuit 69 is Output to RAM # 1.

このように、このデータ処理装置50においては、ツリー構造35が与えられれば、ツリー構造35を解析し、ツリー構造35に含まれるノードの順番により、そのノードの処理を実行するのに適した処理回路を構成するための接続情報56が接続情報ライブラリ55から選択され、その処理回路がPEマトリクス10に構成される。したがって、ツリー構造35の異なるアプリケーション30であっても、そのツリー構造の情報がデータ処理装置50に与えられることにより、アプリケーション30を実行することができる。このため、ツリー構造の異なるアプリケーション毎に、そのアプリケーションを実行するための回路構成をすべて事前に生成し、コンフィグレーション情報として生成しておく必要はない。   As described above, in the data processing device 50, when the tree structure 35 is given, the tree structure 35 is analyzed, and processing suitable for executing the processing of the node according to the order of the nodes included in the tree structure 35. Connection information 56 for configuring the circuit is selected from the connection information library 55, and the processing circuit is configured in the PE matrix 10. Therefore, even if the application 30 has a different tree structure 35, the application 30 can be executed by providing the data processing device 50 with the tree structure information. For this reason, it is not necessary to generate all the circuit configurations for executing the applications in advance for each application having a different tree structure and generate the configuration information as configuration information.

さらに、データ処理装置50の内部において、ツリー構造35が自律的な要因により、あるいは、外部的な要因により変異したとしても、その変異したツリー構造35にしたがって各ノードの処理を行うための回路をPEマトリクス10に構成することができる。   Furthermore, even if the tree structure 35 is mutated due to an autonomous factor or an external factor inside the data processing device 50, a circuit for processing each node according to the mutated tree structure 35 is provided. The PE matrix 10 can be configured.

図14は、本発明の実施形態の異なるデータ処理装置のブロック図である。このデータ処理装置51は、DAPDNA1を用いて実現され、再構成ユニット(再構成領域)であるPEマトリクス10と、PEマトリクス10に実装される回路を再構成するためにコンフィグレーションデータ18を出力する再構成制御ユニット2aを有する。再構成制御ユニット2aの機能はDAP2により提供されている。さらに、DAP2は、候補ツリー構造生成ユニット2cと、処理順序出力ユニット2dと、候補ツリー構造評価ユニット2bとしての機能を提供している。   FIG. 14 is a block diagram of a different data processing apparatus according to the embodiment of the present invention. The data processing device 51 is realized by using the DAPDNA 1 and outputs the configuration data 18 for reconfiguring the PE matrix 10 which is a reconstruction unit (reconstruction area) and the circuit mounted on the PE matrix 10. It has a reconfiguration control unit 2a. The function of the reconfiguration control unit 2a is provided by DAP2. Further, the DAP 2 provides functions as a candidate tree structure generation unit 2c, a processing order output unit 2d, and a candidate tree structure evaluation unit 2b.

候補ツリー構造生成ユニット2cは、遺伝的アルゴリズムの規則により、ツリー構造により機能が示された画像処理を生成する。DRAM6には、フィルタライブラリ37が設けられており、候補ツリー構造生成ユニット2cが利用できるツリー構造のノードとして採用できる各フィルタの情報36が格納されている。DRAM6は、画像データ収納部66を有し、画像データ収納部66には、ツリー構造の画像処理の処理対象となる初期画像データ66aと、評価の基準を提供するリファレンス画像データ66bと、評価の対象となる画像データ66cとが格納される。評価部2bの評価の対象となる画像データ66cは、候補ツリー構造生成ユニット2cにより生成されたツリー構造を備えた画像処理により初期画像データを処理した結果である。評価部2bにより高い評価が得られたツリー構造35は、このデータ処理装置51において画像処理のために使用されるアプリケーション30としてDRAM6に登録され、外部から入力される画像データの処理に用いられる。   The candidate tree structure generation unit 2c generates image processing whose function is indicated by the tree structure according to the rules of the genetic algorithm. The DRAM 6 is provided with a filter library 37 and stores information 36 of each filter that can be adopted as a tree-structured node that can be used by the candidate tree structure generation unit 2c. The DRAM 6 includes an image data storage unit 66. The image data storage unit 66 includes initial image data 66a that is a target of image processing in a tree structure, reference image data 66b that provides a reference for evaluation, and evaluation data. The target image data 66c is stored. The image data 66c to be evaluated by the evaluation unit 2b is a result of processing the initial image data by image processing having a tree structure generated by the candidate tree structure generation unit 2c. The tree structure 35 that is highly evaluated by the evaluation unit 2b is registered in the DRAM 6 as an application 30 used for image processing in the data processing device 51, and is used for processing image data input from the outside.

処理順序出力部2dは、候補ツリー構造生成ユニット2cにより、遺伝的アルゴリズムの規則により生成された候補ツリーに含まれる各ノードの処理31と、その順番とを抽出し、再構成制御ユニット2aに供給する。再構成制御ユニット2aは、上記のデータ処理装置50と同様に、順序出力ユニット2dからの情報にしたがって、適切な接続情報を選択し、PEマトリクス10に適切な回路を構成する。   The processing order output unit 2d extracts, by the candidate tree structure generation unit 2c, the processing 31 of each node included in the candidate tree generated according to the rules of the genetic algorithm and the order thereof, and supplies the extracted processing to the reconstruction control unit 2a. To do. Similar to the data processing device 50 described above, the reconfiguration control unit 2a selects appropriate connection information in accordance with the information from the sequential output unit 2d, and configures an appropriate circuit in the PE matrix 10.

このように、データ処理装置51は、候補ツリー構造生成部2cにより任意のツリー構造35が生成されると、そのツリー構造35を備えた画像処理を行なうための回路を時分割でPEマトリクス10に再構成できる。このため、遺伝的アルゴリズムの規則にしたがって、最適な処理結果が得られる画像処理のツリー構造を生成する処理を、そのツリー構造に含まれるノードの処理に専用化した回路を用いて実行できる。このため、最適な結果が得られる画像処理のためのツリー構造を短時間で得ることができる。   As described above, when an arbitrary tree structure 35 is generated by the candidate tree structure generation unit 2c, the data processing device 51 time-divides a circuit for performing image processing including the tree structure 35 into the PE matrix 10. Can be reconfigured. For this reason, according to the rules of the genetic algorithm, it is possible to execute a process for generating a tree structure of image processing for obtaining an optimum processing result by using a circuit dedicated to processing of nodes included in the tree structure. Therefore, it is possible to obtain a tree structure for image processing that can obtain an optimum result in a short time.

図15は、接続情報56によりPEマトリクス10に構成される回路の異なる例である。この回路80を構成するための接続情報56eは、タイプ1の接続情報に相当するが、この例では、STBへの出力は省かれている。RAM#1およびRAM#2は、エレメント単体である必要はなく、幾つかのRAMエレメントを含むデータ読み出し回路であっても良い。アドレス調停回路80aおよび80bは、カウンタエレメントであるC16Eおよび/またはC32E、さらにはEXEエレメントなどを用いて構成することができる。以下の回路においても同様である。   FIG. 15 shows different examples of circuits configured in the PE matrix 10 by the connection information 56. The connection information 56e for configuring the circuit 80 corresponds to type 1 connection information, but in this example, output to the STB is omitted. RAM # 1 and RAM # 2 do not have to be a single element, but may be a data read circuit including several RAM elements. The address arbitration circuits 80a and 80b can be configured using C16E and / or C32E, which are counter elements, and an EXE element. The same applies to the following circuits.

図16は、接続情報56によりPEマトリクス10に構成される回路のさらに異なる例である。この回路81を構成するための接続情報56fは、タイプ1の接続情報に相当するが、この例では、STBへの出力は省かれている。フィルタ処理回路61は4並列の処理ルート(データパス)を含む。したがって、この回路81は、RAM#1−1〜RAM#1−4をそれぞれ入力対象とし、RAM#2−1〜RAM#2−4をそれぞれ出力対象とする4系統の処理回路を含む。4並列の処理を行うフィルタ回路の一例は、図17に示した平均値フィルタの処理回路89である。この平均値フィルタは、対象画素と、周辺画素(8画素)の平均値を算出して出力する。図17に示した回路89では、4ピクセルを対象画素とした平均値の処理を4並列で行っている。なお、図17に示した回路89では、8ビット×4ピクセルを32ビットのデータにパックして入出力しており、入力対象および出力対象のRAMエレメントは1つずつである。   FIG. 16 is a further different example of a circuit configured in the PE matrix 10 by the connection information 56. The connection information 56f for configuring the circuit 81 corresponds to type 1 connection information, but in this example, output to the STB is omitted. The filter processing circuit 61 includes four parallel processing routes (data paths). Therefore, this circuit 81 includes four processing circuits whose inputs are RAM # 1-1 to RAM # 1-4 and whose outputs are RAM # 2-1 to RAM # 2-4. An example of a filter circuit that performs four parallel processes is the average value filter processing circuit 89 shown in FIG. This average value filter calculates and outputs the average value of the target pixel and the surrounding pixels (eight pixels). In the circuit 89 shown in FIG. 17, the average value processing with 4 pixels as the target pixel is performed in 4 parallel. In the circuit 89 shown in FIG. 17, 8 bits × 4 pixels are packed into 32-bit data and input / output, and there is one RAM element to be input and one output.

図18は、接続情報56によりPEマトリクス10に構成される回路のさらに異なる例である。この回路82を構成するための接続情報56gは、タイプ1の接続情報に相当するが、この例では、STBへの出力は省かれている。入力対象となる4つのRAM#1−1〜RAM#1−4は、セレクタ82aによりシリアル変換されて読み出されている。また、出力対象となるRAM#2−1〜RAM#2−4に対してはセレクタ82bによりパラレル変換して書き込まれる。   FIG. 18 is a further different example of a circuit configured in the PE matrix 10 by the connection information 56. The connection information 56g for configuring the circuit 82 corresponds to type 1 connection information, but in this example, output to the STB is omitted. The four RAM # 1-1 to RAM # 1-4 to be input are serial-converted and read by the selector 82a. In addition, RAM # 2-1 to RAM # 2-4 to be output are written by parallel conversion by the selector 82b.

図19は、接続情報56によりPEマトリクス10に構成される回路のさらに異なる例である。この回路83を構成するための接続情報56hは、タイプ1の接続情報に相当するが、この例では、STBへの出力は省かれている。入力対象となる4つのRAM#1−1〜RAM#1−4は、セレクタ82aによりシリアル変換されて読み出され、出力対象となるRAM#2−1〜RAM#2−4に対してはパラレルでデータが書き込まれる。   FIG. 19 is a further different example of a circuit configured in the PE matrix 10 by the connection information 56. The connection information 56h for configuring the circuit 83 corresponds to connection information of type 1, but in this example, output to the STB is omitted. The four RAM # 1-1 to RAM # 1-4 to be input are serially converted and read by the selector 82a, and are parallel to the RAM # 2-1 to RAM # 2-4 to be output. The data is written in.

以上では、ツリー構造により機能が示されるアプリケーションとして、画像処理を行うアプリケーションを例に説明している。ツリー構造により機能が示されるアプリケーションは画像処理に限らず、音声処理などであっても良い。さらに、このデータ処理装置において実行可能なアプリケーションは、ツリー構造を有するアプリケーションに限定されない。アプリケーションの機能が、データの入出力を伴う、複数のある程度纏まった処理の集合として与えられており、それらの処理の順番が決まるのであれば、再構成制御ユニットが、その順番に従って接続情報を選択し、コンフィグレーションデータとして出力することにより、そのアプリケーションを、再構成ユニットに構成された専用回路により実行することが可能となる。   In the above, an application that performs image processing is described as an example of an application whose function is indicated by a tree structure. The application whose function is indicated by the tree structure is not limited to image processing, and may be audio processing. Furthermore, applications that can be executed in the data processing apparatus are not limited to applications having a tree structure. If the function of the application is given as a set of processes that are combined to some extent with data input and output, and the order of those processes is determined, the reconfiguration control unit selects connection information according to the order. By outputting the configuration data, the application can be executed by a dedicated circuit configured in the reconfiguration unit.

図1(a)は、再構成可能なデバイスの一例の概略構成を示し、図1(b)は、PEマトリクスの概略を示し、図1(c)および図1(d)は、PEマトリクスを動的に再構成する様子を示す。FIG. 1 (a) shows a schematic configuration of an example of a reconfigurable device, FIG. 1 (b) shows a schematic of a PE matrix, and FIGS. 1 (c) and 1 (d) show a PE matrix. The state of dynamic reconfiguration is shown. PEマトリクスの配列を示す図。The figure which shows the arrangement | sequence of PE matrix. PEマトリクスに配置されたPEのタイプを示す図。The figure which shows the type of PE arrange | positioned at PE matrix. PEの1つのタイプのEXMの構成を示すブロック図。The block diagram which shows the structure of one type of EXM of PE. PEの1つのタイプのRAMの構成を示すブロック図。The block diagram which shows the structure of one type of RAM of PE. セグメント内の配線(イントラセグメント配線)を示す図。The figure which shows the wiring (intra segment wiring) in a segment. セグメント間の配線(インターセグメント配線)を示す図。The figure which shows the wiring (intersegment wiring) between segments. ツリー構造により機能が示されたアプリケーション。An application whose functions are represented by a tree structure. 再構成可能な領域を含むデータ処理装置の一例を示すブロック図。The block diagram which shows an example of the data processing apparatus containing the area | region which can be reconfigure | reconstructed. 図10(a)および(b)は、再構成可能な領域にフィルタ回路を構成した他の例。10A and 10B show another example in which a filter circuit is configured in a reconfigurable region. 実施形態の1つのデータ処理装置を示すブロック図。The block diagram which shows one data processor of embodiment. 接続情報ライブラリに含まれる接続情報の例。An example of connection information included in the connection information library. 再構成制御ユニットの動作を示すフローチャート。The flowchart which shows operation | movement of a reconstruction control unit. 実施形態の他のデータ処理装置を示すブロック図。The block diagram which shows the other data processing apparatus of embodiment. 再構成可能な領域にフィルタ回路を構成した他の例。Another example in which a filter circuit is configured in a reconfigurable region. 再構成可能な領域にフィルタ回路を構成したさらに異なる例。Another example in which a filter circuit is configured in a reconfigurable region. 平均値フィルタの回路例。The circuit example of an average value filter. 再構成可能な領域にフィルタ回路を構成したさらに異なる例。Another example in which a filter circuit is configured in a reconfigurable region. 再構成可能な領域にフィルタ回路を構成したさらに異なる例。Another example in which a filter circuit is configured in a reconfigurable region.

符号の説明Explanation of symbols

1 再構成可能なデバイス
2a 再構成制御ユニット
10 PEマトリクス(再構成ユニット)
50、51 データ処理装置
55 接続情報ライブラリ、 56 接続情報
1 Reconfigurable Device 2a Reconfiguration Control Unit 10 PE Matrix (Reconfiguration Unit)
50, 51 Data processing device 55 Connection information library, 56 Connection information

Claims (9)

回路を構成するための複数のエレメントと、前記複数のエレメントを接続するための内部配線とを含む再構成ユニットであって、前記内部配線による前記複数のエレメントの接続を変更することにより、回路を再構成可能な再構成ユニットと、
前記再構成ユニットの回路を再構成するために、前記複数のエレメントの接続情報を含む再構成情報を出力する制御ユニットとを有するデータ処理装置であって、
前記複数のエレメントは、少なくとも1種類の演算を実行するための複数の演算エレメントと、複数のメモリエレメントとを含み、前記内部配線の接続を変更することにより、前記複数のメモリエレメントの少なくともいずれかを、前記複数の演算エレメントの少なくともいずれかを含む処理回路の入力対象または出力対象とすることが可能であり、
当該データ処理装置は、さらに、データの入出力を伴う複数の処理のそれぞれの処理について、第1のメモリエレメントを入力対象とし、第2のメモリエレメントを出力対象として前記それぞれの処理を行う処理回路を構成するための第1の接続情報と、前記第2のメモリエレメントを入力対象とし、前記第1のメモリエレメントを出力対象として前記それぞれの処理を行う処理回路を構成するための第2の接続情報とが格納された接続情報ライブラリを有し、
前記制御ユニットは、前記複数の処理を順番に実行するために、先の処理において出力対象となったメモリエレメントを入力対象とする接続情報を前記接続情報ライブラリから選択し、その選択された接続情報を含む再構成情報を出力する、データ処理装置。
A reconfiguration unit including a plurality of elements for configuring a circuit and an internal wiring for connecting the plurality of elements, wherein the circuit is changed by changing connection of the plurality of elements by the internal wiring. A reconfigurable reconfigurable unit;
A data processing device having a control unit that outputs reconfiguration information including connection information of the plurality of elements to reconfigure the circuit of the reconfiguration unit,
The plurality of elements include a plurality of calculation elements for executing at least one kind of calculation and a plurality of memory elements, and by changing connection of the internal wiring, at least one of the plurality of memory elements Can be an input object or an output object of a processing circuit including at least one of the plurality of arithmetic elements,
The data processing device further includes for each of the processing of a plurality of processes involving the input and output of data, the first memory element of the input object, performs the respective processes as an output target of the second memory element a first connection information for configuring the processing circuit, and the second input of the memory element target, for configuring the processing circuit for performing the respective processes in the output target the first memory element A connection information library storing second connection information;
In order to execute the plurality of processes in order, the control unit selects, from the connection information library, connection information whose input target is a memory element that is an output target in the previous process, and the selected connection information A data processing device that outputs reconstruction information including
請求項1において、前記再構成ユニットは、入力インターフェイスと、出力インターフェイスとを含み、前記内部配線の接続を変更することにより、前記入力インターフェイスを処理回路の入力対象とし、前記出力インターフェイスを処理回路の出力対象とすることが可能であり、
前記接続情報ライブラリには、さらに、前記複数の処理のそれぞれについて、前記入力インターフェイスを入力対象とし、前記第1のメモリエレメントまたは前記第2のメモリエレメントを出力対象とする処理回路を構成するための第3の接続情報と、前記第1のメモリエレメントまたは前記第2のメモリエレメントを入力対象とし、前記出力インターフェイスを出力対象とする処理回路を構成するための第4の接続情報とが格納されている、データ処理装置。
2. The reconfiguration unit according to claim 1, wherein the reconfiguration unit includes an input interface and an output interface, and by changing connection of the internal wiring, the input interface is set as an input target of the processing circuit, and the output interface is set as the processing circuit. Can be output,
The connection information library further includes, for each of the plurality of processes, a processing circuit having the input interface as an input target and the first memory element or the second memory element as an output target. Third connection information and fourth connection information for configuring a processing circuit having the first memory element or the second memory element as an input target and the output interface as an output target are stored. A data processing device.
請求項2において、前記第1の接続情報は、前記第2のメモリエレメントに加え前記出力インターフェイスを出力対象とし、前記第2の接続情報は、前記第1のメモリエレメントに加え前記出力インターフェイスを出力対象とし、前記第3の接続情報は、前記第1のメモリエレメントまたは第2のメモリエレメントに加え前記出力インターフェイスを出力対象とする、データ処理装置。   3. The output information according to claim 2, wherein the first connection information is output from the output interface in addition to the second memory element, and the second connection information is output from the output interface in addition to the first memory element. A data processing apparatus, which is a target, and wherein the third connection information targets the output interface in addition to the first memory element or the second memory element. 請求項1ないし3のいずれかにおいて、前記複数の処理は、複数のノードが連なったツリー構造で機能が示されるアプリケーションに含まれる複数のノードの処理であり、前記制御ユニットは、処理対象のアプリケーションのツリー構造にしたがって前記複数の処理の中から実行する処理およびそれらの順番を決める、データ処理装置。   4. The plurality of processes according to claim 1, wherein the plurality of processes are processes of a plurality of nodes included in an application whose function is indicated by a tree structure in which a plurality of nodes are connected. A data processing device that determines processing to be executed from among the plurality of processings and their order according to the tree structure. 回路を構成するための複数のエレメントと、前記複数のエレメントを接続するための内部配線とを含む再構成ユニットであって、前記内部配線による前記複数のエレメントの接続を変更することにより、回路を再構成可能な再構成ユニットを有するデータ処理装置を、前記再構成ユニットの回路を再構成するために、前記複数のエレメントの接続情報を含む再構成情報を出力する制御ユニットにより制御する方法であって、
前記複数のエレメントは、少なくとも1種類の演算を実行するための複数の演算エレメントと、複数のメモリエレメントとを含み、前記内部配線の接続を変更することにより、前記複数のメモリエレメントの少なくともいずれかを、前記複数の演算エレメントの少なくともいずれかを含む処理回路の入力対象または出力対象とすることが可能であり、
当該方法は、
データの入出力を伴う複数の処理のそれぞれの処理について、第1のメモリエレメントを入力対象とし、第2のメモリエレメントを出力対象として前記それぞれの処理を行う処理回路を構成するための第1の接続情報と、前記第2のメモリエレメントを入力対象とし、前記第1のメモリエレメントを出力対象として前記それぞれの処理を行う処理回路を構成するための第2の接続情報とが格納された接続情報ライブラリから、前記複数の処理を順番に実行するために、先の処理において出力対象となったメモリエレメントを入力対象とする接続情報を選択することと、
選択された接続情報を含む再構成情報を出力することとを含む、方法。
A reconfiguration unit including a plurality of elements for configuring a circuit and an internal wiring for connecting the plurality of elements, wherein the circuit is changed by changing connection of the plurality of elements by the internal wiring. In this method, a data processing apparatus having a reconfigurable reconfigurable unit is controlled by a control unit that outputs reconfiguration information including connection information of the plurality of elements in order to reconfigure the circuit of the reconfigurable unit. And
The plurality of elements include a plurality of calculation elements for executing at least one kind of calculation and a plurality of memory elements, and by changing connection of the internal wiring, at least one of the plurality of memory elements Can be an input object or an output object of a processing circuit including at least one of the plurality of arithmetic elements,
The method is
For each processing of a plurality of processes involving the input and output of data, the first memory element of the input object, for configuring the processing circuit for performing the respective processes as an output target second memory element of the and first connection information, and the second input of the memory element target, the second connection information and the storage for configuring the processing circuit for performing the respective processes in the output target the first memory element In order to execute the plurality of processes in order from the connection information library that has been selected, selecting connection information whose input target is a memory element that is an output target in the previous process;
Outputting reconfiguration information including the selected connection information.
請求項5において、前記再構成ユニットは、入力インターフェイスと、出力インターフェイスとを含み、前記内部配線の接続を変更することにより、前記入力インターフェイスを処理回路の入力対象とし、前記出力インターフェイスを処理回路の出力対象とすることが可能であり、
前記接続情報ライブラリは、前記複数の処理のそれぞれについて、前記入力インターフェイスを入力対象とし、前記第1のメモリエレメントまたは前記第2のメモリエレメントを出力対象とする処理回路を構成するための第3の接続情報と、前記第1のメモリエレメントまたは前記第2のメモリエレメントを入力対象とし、前記出力インターフェイスを出力対象とする処理回路を構成するための第4の接続情報とが格納されている、方法。
6. The reconfiguration unit according to claim 5, wherein the reconfiguration unit includes an input interface and an output interface, and by changing the connection of the internal wiring, the input interface is set as an input target of the processing circuit, and the output interface is set as the processing circuit. Can be output,
The connection information library includes, for each of the plurality of processes, a third processing circuit that configures a processing circuit that uses the input interface as an input target and outputs the first memory element or the second memory element as an output target. Method of storing connection information and fourth connection information for configuring a processing circuit having the first memory element or the second memory element as an input target and the output interface as an output target .
請求項6において、前記第1の接続情報は、前記第2のメモリエレメントに加え前記出力インターフェイスを出力対象とし、前記第2の接続情報は、前記第1のメモリエレメントに加え前記出力インターフェイスを出力対象とし、前記第3の接続情報は、前記第1のメモリエレメントまたは第2のメモリエレメントに加え前記出力インターフェイスを出力対象とする、方法。   7. The output information according to claim 6, wherein the first connection information is output from the output interface in addition to the second memory element, and the second connection information is output from the output interface in addition to the first memory element. The method, wherein the third connection information is the output target in addition to the first memory element or the second memory element. 請求項5ないし7のいずれかにおいて、前記複数の処理は、複数のノードが連なったツリー構造で機能が示されるアプリケーションに含まれる複数のノードの処理であり、
当該方法は、
処理対象のアプリケーションのツリー構造にしたがって前記複数の処理の中から実行する処理およびそれらの順番を決めることを、さらに含む、方法。
8. The process according to claim 5, wherein the plurality of processes are processes of a plurality of nodes included in an application whose function is indicated by a tree structure in which a plurality of nodes are connected.
The method is
Determining processes to be executed from among the plurality of processes and their order according to the tree structure of the application to be processed.
回路を構成するための複数のエレメントと、前記複数のエレメントを接続するための内部配線とを含む再構成ユニットであって、前記内部配線による前記複数のエレメントの接続を変更することにより、回路を再構成可能な再構成ユニットを有するデータ処理装置を制御ユニットにより制御するためのプログラムであって、
前記制御ユニットは、前記再構成ユニットの回路を再構成するために、前記複数のエレメントの接続情報を含む再構成情報を出力し、
前記複数のエレメントは、少なくとも1種類の演算を実行するための複数の演算エレメントと、複数のメモリエレメントとを含み、前記内部配線の接続を変更することにより、前記複数のメモリエレメントの少なくともいずれかを、前記複数の演算エレメントの少なくともいずれかを含む処理回路の入力対象または出力対象とすることが可能であり、
当該プログラムは、
データの入出力を伴う複数の処理のそれぞれの処理について、第1のメモリエレメントを入力対象とし、第2のメモリエレメントを出力対象として前記それぞれの処理を行う処理回路を構成するための第1の接続情報と、前記第2のメモリエレメントを入力対象とし、前記第1のメモリエレメントを出力対象として前記それぞれの処理を行う処理回路を構成するための第2の接続情報とが格納された接続情報ライブラリから、前記複数の処理を順番に実行するために、先の処理において出力対象となったメモリエレメントを入力対象とする接続情報を選択することと、
選択された接続情報を含む再構成情報を出力することとを含む、プログラム。
A reconfiguration unit including a plurality of elements for configuring a circuit and an internal wiring for connecting the plurality of elements, wherein the circuit is changed by changing connection of the plurality of elements by the internal wiring. A program for controlling a data processing apparatus having a reconfigurable reconfigurable unit by a control unit,
The control unit outputs reconfiguration information including connection information of the plurality of elements to reconfigure the circuit of the reconfiguration unit;
The plurality of elements include a plurality of calculation elements for executing at least one kind of calculation and a plurality of memory elements, and by changing connection of the internal wiring, at least one of the plurality of memory elements Can be an input object or an output object of a processing circuit including at least one of the plurality of arithmetic elements,
The program is
For each processing of a plurality of processes involving the input and output of data, the first memory element of the input object, for configuring the processing circuit for performing the respective processes as an output target second memory element of the and first connection information, and the second input of the memory element target, the second connection information and the storage for configuring the processing circuit for performing the respective processes in the output target the first memory element In order to execute the plurality of processes in order from the connection information library that has been selected, selecting connection information whose input target is a memory element that is an output target in the previous process;
Outputting reconfiguration information including the selected connection information.
JP2007165116A 2007-06-22 2007-06-22 Data processing apparatus and control method thereof Active JP5071707B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007165116A JP5071707B2 (en) 2007-06-22 2007-06-22 Data processing apparatus and control method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007165116A JP5071707B2 (en) 2007-06-22 2007-06-22 Data processing apparatus and control method thereof

Publications (2)

Publication Number Publication Date
JP2009003765A JP2009003765A (en) 2009-01-08
JP5071707B2 true JP5071707B2 (en) 2012-11-14

Family

ID=40320075

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007165116A Active JP5071707B2 (en) 2007-06-22 2007-06-22 Data processing apparatus and control method thereof

Country Status (1)

Country Link
JP (1) JP5071707B2 (en)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5423419B2 (en) 2010-01-21 2014-02-19 富士ゼロックス株式会社 Data processing device
JP5711889B2 (en) 2010-01-27 2015-05-07 スパンション エルエルシー Reconfigurable circuit and semiconductor integrated circuit
JP5614122B2 (en) 2010-06-21 2014-10-29 富士ゼロックス株式会社 Image data decoding device
JP5655392B2 (en) 2010-06-23 2015-01-21 富士ゼロックス株式会社 Print image processing apparatus and program
JP5776306B2 (en) 2011-04-25 2015-09-09 富士ゼロックス株式会社 Image data processing apparatus and program
JP5786434B2 (en) 2011-04-28 2015-09-30 富士ゼロックス株式会社 Image data processing apparatus and program
JP5942934B2 (en) 2013-07-09 2016-06-29 富士ゼロックス株式会社 Image processing apparatus and program
JP2015130640A (en) 2014-01-09 2015-07-16 富士ゼロックス株式会社 Data expander, program, and recording-medium
WO2022249418A1 (en) * 2021-05-27 2022-12-01 日本電信電話株式会社 Learning device, learning method, and learning program

Also Published As

Publication number Publication date
JP2009003765A (en) 2009-01-08

Similar Documents

Publication Publication Date Title
JP5071707B2 (en) Data processing apparatus and control method thereof
US11386644B2 (en) Image preprocessing for generalized image processing
US10768894B2 (en) Processor, information processing apparatus and operation method for processor
US7873811B1 (en) Polymorphous computing fabric
US8527972B2 (en) Method for forming a parallel processing system
JPS58169663A (en) Array processor device
EP0099135B1 (en) Dynamic gate array whereby an assembly of gates is simulated by logic operations on variables selected according to the gates
US6915410B2 (en) Compiler synchronized multi-processor programmable logic device with direct transfer of computation results among processors
CN102301325B (en) Digital signal processing block with preadder stage
US10460416B1 (en) Inline image preprocessing for convolution operations using a matrix multiplier on an integrated circuit
US9026967B1 (en) Method and apparatus for designing a system on multiple field programmable gate array device types
JP2008537268A (en) An array of data processing elements with variable precision interconnection
US8499262B1 (en) Method and apparatus for implementing a parameterizable filter block with an electronic design automation tool
US8402400B1 (en) Method and apparatus for implementing a processor interface block with an electronic design automation tool
CN109564585B (en) Dot product based processing element
US10218357B2 (en) Logical elements with switchable connections for multifunction operation
WO2018067251A1 (en) Methods and apparatus for dynamically configuring soft processors on an integrated circuit
US8793629B1 (en) Method and apparatus for implementing carry chains on FPGA devices
US9230047B1 (en) Method and apparatus for partitioning a synthesis netlist for compile time and quality of results improvement
US7509479B2 (en) Reconfigurable global cellular automaton with RAM blocks coupled to input and output feedback crossbar switches receiving clock counter value from sequence control unit
JP2021108104A (en) Partially readable/writable reconfigurable systolic array system and method
JP4814679B2 (en) Image processing device
US7260709B2 (en) Processing method and apparatus for implementing systolic arrays
JP2002229970A (en) Simd product sum operation method, sum of product sum arithmetic circuit and semiconductor integrated circuit device
Giefers et al. A many-core implementation based on the reconfigurable mesh model

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20100309

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100519

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120117

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120316

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: 20120726

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: 20120808

R150 Certificate of patent or registration of utility model

Ref document number: 5071707

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: 20150831

Year of fee payment: 3

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

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: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250