JP4743581B2 - Data processing system and control method thereof - Google Patents

Data processing system and control method thereof Download PDF

Info

Publication number
JP4743581B2
JP4743581B2 JP2004271660A JP2004271660A JP4743581B2 JP 4743581 B2 JP4743581 B2 JP 4743581B2 JP 2004271660 A JP2004271660 A JP 2004271660A JP 2004271660 A JP2004271660 A JP 2004271660A JP 4743581 B2 JP4743581 B2 JP 4743581B2
Authority
JP
Japan
Prior art keywords
data
processing
individual
configuration information
function
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
JP2004271660A
Other languages
Japanese (ja)
Other versions
JP2006085574A (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 JP2004271660A priority Critical patent/JP4743581B2/en
Publication of JP2006085574A publication Critical patent/JP2006085574A/en
Application granted granted Critical
Publication of JP4743581B2 publication Critical patent/JP4743581B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)
  • Advance Control (AREA)
  • Multi Processors (AREA)

Description

本発明は、機能および相互間の接続を変更可能な複数のプロセッシングエレメントにより、異なる構成のデータパスを生成可能なデータ処理システムおよびその制御方法に関するものである。   The present invention relates to a data processing system capable of generating data paths having different configurations by a plurality of processing elements whose functions and connections between them can be changed, and a control method therefor.

特開平8−101761号公報は、複数個の構成の間で迅速に切り替えできる再構成可能なアーキテクチャについて開示しており、その中では、内部に選択可能な機能を有する論理セルを含んだコアセルの構成が記載されている。このコアセルは、さらに、コンフィグレーションキャッシュと、インストラクションキャッシュとを備えており、コンフィグレーションキャッシュは、さらに、4つのビットデータ記憶部からなる。そして、命令キャッシュのデータによりコンフィグレーションキャッシュの4つのデータ記憶部の1つが選択されるようになっている。
特開平8−101761号公報
Japanese Laid-Open Patent Publication No. 8-101761 discloses a reconfigurable architecture that can be quickly switched between a plurality of configurations. Among them, a core cell including a logic cell having a selectable function therein is disclosed. The configuration is described. The core cell further includes a configuration cache and an instruction cache, and the configuration cache further includes four bit data storage units. One of the four data storage units of the configuration cache is selected according to the data of the instruction cache.
JP-A-8-101761

例えばALU(Arithmetic Logic Unit)のような程度の、適当な規模の演算機能、比較機能あるいは論理機能を備えた複数のプロセッシングエレメント(エレメント)の接続を切り替えることにより動的に種々のデータフロー(データパス)を再構成する技術が開発されている。エレメントをマトリクスあるいはツリーのように配置して、それらのエレメント間の接続を変えることができる配線群で接続してデータパスを生成したり、エレメントに接続機能を持たせて隣り合うエレメント同士を接続してデータパスを生成したりすることが可能である。   For example, various data flows (data) can be dynamically changed by switching the connection of a plurality of processing elements (elements) having an arithmetic function, a comparison function or a logic function of an appropriate scale such as ALU (Arithmetic Logic Unit). Technology to reconstruct the path) has been developed. Elements can be arranged like a matrix or tree and connected by a group of wires that can change the connection between those elements to create a data path, or elements can be connected to connect adjacent elements It is possible to generate a data path.

生成可能なデータパスを多様化するために、個々のエレメントの処理機能は変更可能であることが望ましく、加減乗除などの適当な算術演算のいずれか、または論理和、論理積などの適当な論理演算のいずれかを選択できるようになっていることが望ましい。データパスの構成を変更するためには、エレメントの接続を変えるだけではなく、個々のエレメントの処理機能の変更も必要になる。エレメントに対し処理機能を変更するため構成情報を提供する方法はいくつかある。1つは、エレメント間を接続する配線群を介して外部から供給する方法である。この方法は、ハードウェア資源は少なくて済むが、個々のエレメントを指定して構成情報を供給するのに膨大な時間を要する。したがって、データパスを動的に変更することは不可能である。個々のエレメントがマイクロコンピュータ並みの機能と資源とを備えていれば、事前にアプリケーションを実行するための情報を、データパス用の配線群を介して全てダウンロードさせておくことが可能かもしれない。しかしながら、アプリケーションの動的な変更に対するフレキシビリティーはなく、また、さまざまな例外に対応することもできない。そのような事態に対応するためには、エレメント間の通信配線が必要になり、ハードウェア資源は増加する。   In order to diversify the data paths that can be generated, it is desirable that the processing function of each element can be changed, and any appropriate arithmetic operation such as addition, subtraction, multiplication, division, etc., or appropriate logic such as logical sum, logical product, etc. It is desirable that one of operations can be selected. In order to change the data path configuration, it is necessary not only to change the connection of elements but also to change the processing function of each element. There are several ways to provide configuration information to change processing capabilities for an element. One is a method of supplying from the outside via a wiring group connecting elements. Although this method requires less hardware resources, it takes an enormous amount of time to supply configuration information by designating individual elements. Therefore, it is impossible to change the data path dynamically. If each element has functions and resources similar to those of a microcomputer, it may be possible to download all information for executing an application in advance via a data path wiring group. However, it is not flexible to dynamic application changes and cannot handle various exceptions. In order to cope with such a situation, communication wiring between elements is required, and hardware resources increase.

他の方法の1つは、個々のエレメントに対して構成情報を供給するバスを、データパスを構成する配線群とは別に設けておくことである。このシステムは、適当な中央制御システムの制御の下で、個々のエレメントに対して適切なタイミングで構成情報を供給できる。したがって、アプリケーションの変更に対するフレキシビリティーは高く、また、中央制御システムが例外を検出できるようにすれば、例外にも対応できる。しかしながら、数十個あるいは数百個のエレメントの機能を並列に、そして、独立に管理する中央制御システムは、全てのエレメントの機能を1クロックあるいは数クロックで変更する能力が要求されるので、高い処理能力と、高い処理速度が要求される。したがって、エレメントを管理するための制御システムに、エレメントより高速動作し、処理能力も格段に高いプロセッサが必要になり、そのために、LSIのスペースとコストとが費やされることになる。このため、複数のエレメントにより再構成可能なデータパスを生成するLSIを提供するメリットは薄れる。   One of the other methods is to provide a bus for supplying configuration information to each element separately from the wiring group that configures the data path. The system can supply configuration information to individual elements at the appropriate time under the control of a suitable central control system. Therefore, the flexibility to change the application is high, and if the central control system can detect the exception, it can cope with the exception. However, a central control system that manages the functions of tens or hundreds of elements in parallel and independently is required to have the ability to change the functions of all elements in one clock or several clocks. Processing capacity and high processing speed are required. Accordingly, the control system for managing the elements requires a processor that operates at a higher speed than the elements and has a much higher processing capacity, and therefore, space and cost of the LSI are consumed. For this reason, the merit of providing an LSI that generates a reconfigurable data path by a plurality of elements is diminished.

エレメントの機能の切り替えを、クロック信号、あるいはクロック信号に基づくサイクリックな信号により行うことが可能であり、エレメントの機能を切り替えるタイミングの管理は不要になるので、エレメントの機能を管理するシステムの負荷は大幅に減り、管理のためのハードウェアも簡易になる。しかしながら、エレメントの機能はサイクリックに切り替わるだけなので、それにより構成可能なデータパスのフレキシビリティーはほとんどない。例えば、2つの機能をクロック信号に基づき切り替えると、動的にデータパスの変更ができないハードウェアと比較して、同じエレメント数で最大で2倍のデータパスを実装できるに過ぎない。その一方で、処理速度は一般に低下し、さらに、同期設計を確実なものとするためにFFなどのハードウェアが増加するといった様々な問題が発生する。   The function of the element can be switched by a clock signal or a cyclic signal based on the clock signal, and management of the timing for switching the function of the element is not required, so the load on the system that manages the function of the element Will be greatly reduced and management hardware will be simplified. However, the functionality of the element only switches cyclically, so there is little configurable data path flexibility. For example, if two functions are switched based on a clock signal, it is only possible to implement a data path that is twice as many as the same number of elements as compared to hardware that cannot dynamically change the data path. On the other hand, the processing speed generally decreases, and various problems such as an increase in hardware such as FFs occur in order to ensure the synchronous design.

個々のエレメントに適当な容量のコンフィグレーションメモリと、小規模のプロセッサとを搭載し、プロセッサが小規模のプログラムに従ってコンフィグレーションメモリから適当な機能を選択してエレメントの機能を変更する方法がある。この方法は、エレメントの管理を分散できる点でメリットがあるかもしれない。しかしながら、構成情報を個々のエレメントに供給するバスに加えて、個々のエレメントを制御するためのプログラムを個々のエレメントに供給するバスが必要になり、ハードウェアは増加する。さらに、エレメント間で機能を変更するタイミングを同期したり、例外を処理するためには通信用のハードウェアが必要になる。   There is a method in which a configuration memory having an appropriate capacity and a small-scale processor are mounted on each element, and the processor selects an appropriate function from the configuration memory according to a small-scale program and changes the function of the element. This method may be advantageous in that the management of elements can be distributed. However, in addition to a bus for supplying configuration information to the individual elements, a bus for supplying a program for controlling the individual elements to the individual elements is required, and the hardware increases. Furthermore, in order to synchronize the timing of changing functions between elements and to handle exceptions, communication hardware is required.

複数のエレメントを接続することにより所望の処理を実行するのに適した構成になったデータパスは、1つのパケット化されたデータを処理するだけではなく、大量のデータパケットに対して同一の処理を実行するために使用される。したがって、データパスを動的に変更するとしても、あるデータパスが生成されてから、そのデータパスを構成しているエレメントを用いて異なるデータパスを生成するまでにはある程度の時間がある。このため、次のデータパスを構成するための情報をクロック単位でエレメントに供給しなくても良いとすれば、エレメントに対して構成情報を提供するハードウェアは簡略化できる。そして、全てのエレメントに次のデータパスを構成するための構成情報が行き渡り、前のデータパスで処理するデータパケットが通過した後に、機能の変更が必要なエレメントはその機能を変更する命令を全てのエレメントに対してブロードキャストすれば、適切なタイミングで、クロック単位で、適切なエレメントの機能を変更し、次のデータパスを構成できる。このシステムでは、エレメントの機能を管理するためのハードウェアは簡略化でき、アプリケーションの変更に対するフレキシビリティーも高く、さらに、エレメント間でタイミングを合わせて機能を変更するための通信機能も不用である。   A data path having a configuration suitable for executing a desired process by connecting a plurality of elements not only processes one packetized data but also the same process for a large number of data packets. Used to perform Therefore, even if the data path is dynamically changed, there is a certain amount of time after a data path is generated until a different data path is generated using the elements constituting the data path. For this reason, if it is not necessary to supply information for configuring the next data path to the element in units of clocks, hardware for providing configuration information to the element can be simplified. Then, after the configuration information for configuring the next data path is distributed to all the elements and the data packet to be processed in the previous data path has passed, all the elements that require the function change are all instructions that change the function. By broadcasting to this element, it is possible to change the function of the appropriate element and set the next data path at an appropriate timing in units of clocks. In this system, the hardware for managing element functions can be simplified, the flexibility to change the application is high, and the communication function for changing the functions at the same timing between elements is unnecessary. .

このシステムは、クロック単位でデータパスを再構成できるが、全てのエレメントに対して機能の変更を行う命令をブロードキャストするために、次のデータパスを構成するために機能の変更が要求される全てのエレメントにおいて処理が終了している必要がある。すなわち、再構成の対象となるデータパスは、その全てのエレメントで処理が終了している必要がある。したがって、データパスに着目すると、1クロックあるいは数クロックで再構成されるが、エレメント単位で見ると、パイプライン方式でデータパケットがデータパスを流れている場合、データパスの入力側のエレメントにおいては、最終のデータパケットの処理が終了してからデータパスのレイテンシー分だけ遅れて機能が変更になり、データパスの出力側のエレメントにおいては、機能が変更になってからデータパスのレイテンシー分だけ遅れて処理が開始される。データパスを再構成可能なLSIなどのデータ処理システムにおいて、さらなる処理の高速化を図る場合、エレメントの処理の間隙を縮めることができることは重要であり、本発明の目的とするところである。   This system can reconfigure the data path in units of clocks, but in order to broadcast a command to change the function for all elements, all the functions that are required to be changed to configure the next data path The process needs to be completed in the element. That is, the data path to be reconfigured needs to be processed for all of its elements. Therefore, focusing on the data path, it is reconfigured with one clock or several clocks. However, when viewed in units of elements, if a data packet is flowing through the data path in the pipeline method, the element on the input side of the data path The function is changed with the delay of the data path latency after the processing of the final data packet is completed, and the data path latency is delayed by the data path latency after the function is changed at the data path output element. Process is started. In a data processing system such as an LSI capable of reconfiguring a data path, it is important to further reduce the processing gap between elements when further increasing the processing speed, and is an object of the present invention.

本発明の一態様は、複数のプロセッシングエレメントと、複数のプロセッシングエレメントを接続する配線群とを有し、個々のプロセッシングエレメントは、それぞれの処理機能、および配線群によるプロセッシングエレメント間の接続の少なくとも一部を変更する接続機能の少なくともいずれかを含む個別機能を変更する制御ユニットを含み、複数のプロセッシングエレメントにより、パイプライン方式でデータパケットが流れる少なくとも1つのデータパスを構成するデータ処理システムの制御方法であって、個々のプロセッシングエレメントは、個別機能を定める構成情報のうち、供給機構より提供される将来の個別機能を定める構成情報を格納するバックグランド作動部と、バックグランド作動部の将来の個別機能を定める構成情報の中から選択された現在の個別機能を定める構成情報を格納するフォアグランド作動部とを含み、データ処理システムは、さらに、将来の個別機能を定める構成情報を、供給機構を介してそれぞれの個々のプロセッシングエレメントに供給し、個々のプロセッシングエレメントが将来の個別機能を定める構成情報に基づき現在の個別機能を定める構成情報を変更可能とするプロセッサと、データ入力バッファとを有し、複数のプロセッシングエレメントの少なくとも一部とデータ入力バッファとが配線群の少なくとも一部により接続されることにより第1のデータパスが構成され、データ入力バッファは、前記第1のデータパスに、第1のデータパスの処理対象となる第1のデータおよびトークンとを含むデータパケットを供給トークンは第1のデータの、第1のデータパスに含まれるプロセッシングエレメントにおける処理の要・不要を示し、さらに、データ入力バッファは、トークンとして、最終のデータあるいは最終のデータが通過し、前記個々のプロセッシングエレメントの前記個別機能の変更の機会を示すエンドトークンを含める機能を含み、当該制御方法は、プロセッサが、供給機構を介して将来の個別機能を定める構成情報を個々のプロセッシングエレメントに対し供給する工程と、データ入力バッファが、第1のデータパスを経由して、エンドトークンを含むデータパケットを第1のデータパスを構成するプロセッシングエレメントに供給する工程と、第1のデータパスを構成するプロセッシングエレメントの制御ユニットが、エンドトークンの到来により、将来の個別機能を定める構成情報に基づき現在の個別機能を定める構成情報を変更する工程とを有する制御方法である。 One embodiment of the present invention includes a plurality of processing elements and a wiring group that connects the plurality of processing elements, and each processing element has at least one of a processing function and a connection between the processing elements by the wiring group. A control method for a data processing system including a control unit for changing an individual function including at least one of connection functions for changing a section, and comprising at least one data path through which a data packet flows in a pipeline manner by a plurality of processing elements Each of the processing elements includes a background operation unit that stores configuration information that defines a future individual function provided by the supply mechanism among configuration information that defines an individual function, and a future individual of the background operation unit. Configuration information that defines the function And a foreground operation unit for storing the configuration information defining the selected current individual function from within the data processing system further configuration information defining the future individual function, each of the individual through the feed mechanism A plurality of processing elements having a processor, a data input buffer , and a processor that can change the configuration information that defines the current individual function based on the configuration information that defines the future individual function . A first data path is configured by connecting at least a part of the data input buffer and at least a part of the wiring group, and the data input buffer is configured to process the first data path in the first data path. supplies data packet including the first data and a token of interest, the token Of the first data, the first shows the unwanted main-processing in the processing element included in the data path, further, the data input buffer, as a token, the final data or final data through the individual processing Including a function of including an end token indicating an opportunity to change the individual function of an element, and the control method includes a step of supplying configuration information defining a future individual function to an individual processing element via a supply mechanism. A data input buffer supplying a data packet including an end token to a processing element constituting the first data path via the first data path; and a processing element constituting the first data path control unit is, the advent of the end token, Masaru And a step of changing the configuration information for determining the current individual function based on the configuration information for determining the individual function .

この制御方法においては、データパスに沿って、そのデータパスを構成する個々のプロセッシングエレメントに対し、第2のデータが、処理対象となる第1のデータの順番で供給される。第2のデータは、第1のデータとは区別される状態で供給され、個々のプロセッシングエレメントの個別機能の変更の機会を示す情報である。したがって、第1のデータの処理とは独立して個々のプロセッシングエレメントにおいてデコードされ、プロセッシングエレメントに、その個別機能を変更するための構成情報が与えられていれば、第2のデータに基づき、第1のデータパスを構成するプロセッシングエレメントの個別機能が変更される。個々のプロセッシングエレメントに与えられた構成情報が、接続は変えずに、それぞれの処理機能、たとえば、パラメータを変更するような構成情報であれば、第2のデータが第1のデータパスを通過するのに連れて、個々のプロセッシングエレメントの個別機能が順番に変更され、第1のデータパスと構成の異なる第2のデータパスが生成される。したがって、第2のデータパスの全てが再構成されていなくても、第2のデータパスの処理対象となるデータパケットを、第2のデータパスを構成するために個別機能が変更されたプロセッシングエレメントに供給することが可能となる。すなわち、第2のデータパスによるパイプライン処理を、第2のデータパスが完全に構成するのを待たずに開始できる。したがって、各エレメントにおいて、第1のデータパスの処理が終了してから、第2のデータパスの処理が開始されるまでの時間的な間隙を最小限にすることが可能となり、データパスを再構成可能なLSIなどのデータ処理システムにおいて、さらなる処理の高速化を図ることができる。   In this control method, the second data is supplied in the order of the first data to be processed to the individual processing elements constituting the data path along the data path. The second data is information that is supplied in a state of being distinguished from the first data and indicates an opportunity to change the individual function of each processing element. Therefore, if each processing element is decoded independently of the processing of the first data, and the processing element is provided with configuration information for changing the individual function, the second data is used as the second data. Individual functions of processing elements constituting one data path are changed. If the configuration information given to each processing element is configuration information that changes each processing function, for example, a parameter, without changing the connection, the second data passes through the first data path. Accordingly, the individual functions of the individual processing elements are sequentially changed, and a second data path having a configuration different from that of the first data path is generated. Therefore, even if not all of the second data path is reconfigured, a processing element whose individual function has been changed to configure a data packet to be processed by the second data path to form the second data path. It becomes possible to supply to. That is, the pipeline processing by the second data path can be started without waiting for the second data path to be completely configured. Therefore, in each element, it is possible to minimize the time gap from the end of the processing of the first data path to the start of the processing of the second data path. In a configurable data processing system such as an LSI, the processing speed can be further increased.

再構成される第2のデータパスが、第1のデータパスに含まれるプロセッシングエレメント以外の、たとえば第3のデータパスに含まれるプロセッシングエレメントも必要とする場合は、第3のデータパスに含まれるプロセッシングエレメントの個別機能が既に変更されていれば、第1のデータパスへ第2のデータを供給することにより、上記と同様に、第2のデータパスを再構成するのに連動して第2のデータパスのパイプライン処理を開始できる。一方、第3のデータパスに含まれるプロセッシングエレメントの個別機能が変更されていないのであれば、第3のデータパスに第2のデータが供給されるときに、第3のデータパスに含まれるプロセッシングエレメントの個別機能の変更と連動して第2のデータパスのパイプライン処理を開始できる。したがって、いずれの場合も、第2のデータパスの再構成が完了する前にパイプライン処理を開始できる。   If the reconstructed second data path also requires processing elements other than the processing elements included in the first data path, for example, included in the third data path, they are included in the third data path. If the individual function of the processing element has already been changed, the second data is supplied to the first data path, so that the second data path is reconfigured in the same manner as described above. Can start pipeline processing of data paths. On the other hand, if the individual function of the processing element included in the third data path has not been changed, the processing included in the third data path when the second data is supplied to the third data path. The pipeline processing of the second data path can be started in conjunction with the change of the individual function of the element. Therefore, in any case, the pipeline processing can be started before the reconfiguration of the second data path is completed.

第2のデータは、第1のデータパスを構成するプロセッシングエレメントが生成して、第1のデータと共に第1のデータパスに供給しても良い。たとえば、第1のデータパスの途中のプロセッシングエレメントにおいて例外が発生したときに、それ以降のデータパケットに対して、下流のプロセッシングエレメントを例外用の処理を行う個別機能に変更することができる。データパスの構成を変更する機会は、データパスの処理対象となる一群のデータパケットの終了により発生することが多い。したがって、本発明の制御方法は、さらに、パケット化された第1のデータを第1のデータパスに供給し、最終のパケットと共にあるいはその後に第2のデータを第1のデータパスに供給する工程を有することが望ましい。   The second data may be generated by a processing element constituting the first data path and supplied to the first data path together with the first data. For example, when an exception occurs in a processing element in the middle of the first data path, the downstream processing element can be changed to an individual function that performs processing for exception for subsequent data packets. Opportunities to change the configuration of the data path often occur due to the end of a group of data packets to be processed by the data path. Accordingly, the control method of the present invention further includes supplying the packetized first data to the first data path, and supplying the second data to the first data path together with or after the last packet. It is desirable to have

本発明の異なる態様の1つは、複数のプロセッシングエレメントと、複数のプロセッシングエレメントを接続する配線群とを具備し、個々のプロセッシングエレメントは、それぞれの処理機能、および配線群によるプロセッシングエレメント間の接続の少なくとも一部を変更する接続機能の少なくともいずれかを含む個別機能を変更する制御ユニットを含み、複数のプロセッシングエレメントにより、パイプライン方式でデータパケットが流れる少なくとも1つのデータパスを構成するデータ処理ユニットを有するデータ処理システムである。個々のプロセッシングエレメントは、個別機能を定める構成情報のうち、供給機構より提供される将来の個別機能を定める構成情報を格納するバックグランド作動部と、バックグランド作動部の将来の個別機能を定める構成情報の中から選択された現在の個別機能を定める構成情報を格納するフォアグランド作動部とを含む。さらに、当該データ処理システムは、将来の個別機能を定める構成情報をそれぞれの個々のプロセッシングエレメントに対し供給機構を介して供給し、個々のプロセッシングエレメントが将来の個別機能を定める構成情報に基づき現在の個別機能を定める構成情報を変更可能とするプロセッサと、データ入力バッファとを有し、複数のプロセッシングエレメントの少なくとも一部とデータ入力バッファとが配線群の少なくとも一部により接続されることにより第1のデータパスが構成され、データ入力バッファは、第1のデータパスの処理対象となる第1のデータおよびトークンを含むデータパケットを供給し、トークンは第1のデータの、第1のデータパスに含まれるプロセッシングエレメントにおける処理の要・不要を示し、さらに、データ入力バッファは、トークンとして、最終のデータあるいは最終のデータが通過し、個々のプロセッシングエレメントの個別機能の変更の機会を示すエンドトークンを含める機能を含み、個々のプロセッシングエレメントの制御ユニットは、エンドトークンの到来により、将来の個別機能を定める構成情報に基づき現在の個別機能を定める構成情報を変更する、データ処理システムである。このデータ処理システムでは、個々のプロセッシングエレメントに対して個別機能の変更を指示する信号を個別に供給するのではなく、データパスの単位で第2のデータを供給するので、データ供給手段の構成が著しく複雑になることはない。また、個々のプロセッシングエレメントの制御ユニットも、第2のデータをデコードして個別機能の変更を行う機能を含めば良いので、プログラムカウンタを用いて命令をフェッチするような汎用プロセッサとしての機能までは必要としない。 One of the different aspects of the present invention includes a plurality of processing elements and a wiring group connecting the plurality of processing elements, and each processing element has a respective processing function and a connection between the processing elements by the wiring group. A data processing unit comprising a control unit for changing an individual function including at least one of connection functions for changing at least a part of the data processing unit, and constituting at least one data path through which a data packet flows in a pipeline manner by a plurality of processing elements Is a data processing system. Each processing element is configured to store a background operation unit that stores configuration information that defines a future individual function provided by the supply mechanism among configuration information that defines an individual function, and a configuration that defines a future individual function of the background operation unit. And a foreground operating unit that stores configuration information that defines the current individual function selected from the information. In addition, the data processing system supplies configuration information that defines future individual functions to each individual processing element via a supply mechanism, and each processing element provides current information based on configuration information that defines future individual functions . The processor includes a processor that can change configuration information that defines an individual function, and a data input buffer, and at least a part of the plurality of processing elements and the data input buffer are connected by at least a part of the wiring group. The data input buffer supplies the first data to be processed in the first data path and the data packet including the token, and the token is supplied to the first data path of the first data. indicates No Yes-processing in the processing element contained, further, de Data input buffer, as a token, passing the final data or final data includes ability to include end token indicating the opportunity of changing the individual function of each processing element, the control unit of each processing element, the end This is a data processing system that changes the configuration information that defines the current individual function based on the configuration information that defines the future individual function when a token arrives. In this data processing system, the second data is supplied in units of data paths rather than individually supplying signals for instructing individual functions to be changed to individual processing elements. There is no significant complexity. Also, the control unit of each processing element may include a function for decoding the second data and changing the individual function, so that the function as a general-purpose processor that fetches an instruction using the program counter is also included. do not need.

本発明の制御方法およびデータ処理システムは、データパスを再構成するタイミングを示唆する命令あるいは信号を、全てのプロセッシングエレメントに対してブロードキャストする工程および手段を有することを排除するものではない。データパスを構成していないプロセッシングエレメントを含めて、広範囲のプロセッシングエレメントの構成を変更する必要があるときは、タイミングを示唆する情報をブロードキャストする方法は有効である。しかしながら、ブロードキャストするための配線は必要となる。   The control method and data processing system of the present invention do not exclude having a step and means for broadcasting an instruction or signal indicating the timing of reconfiguring the data path to all processing elements. When it is necessary to change the configuration of a wide range of processing elements including processing elements that do not constitute a data path, a method of broadcasting information indicating timing is effective. However, wiring for broadcasting is necessary.

本発明の制御方法において、第2のデータは、第1のデータの有効・無効も示し、第2のデータに基づき、第1のデータパスを構成するプロセッシングエレメントが第1のデータを処理する工程をさらに有することは有効である。また、本発明のデータ処理システムにおいて、データ供給手段は、第2のデータに、第1のデータの有効・無効を示す情報を付加し、個々のプロセッシングエレメントの制御ユニットは、第2のデータに基づき、第1のデータを処理することは有効である。第1のデータの有効・無効を示すデータとしてトークンを用いるデータ処理システムにおいては、トークンに、個々のプロセッシングエレメントの個別機能の変更の機会を示す情報を付加することが可能である。   In the control method of the present invention, the second data also indicates validity / invalidity of the first data, and a processing element that constitutes the first data path processes the first data based on the second data. It is effective to have further. In the data processing system of the present invention, the data supply means adds information indicating validity / invalidity of the first data to the second data, and the control unit of each processing element adds to the second data. Based on this, it is effective to process the first data. In a data processing system that uses a token as data indicating validity / invalidity of the first data, it is possible to add information indicating an opportunity to change the individual function of each processing element to the token.

このように、本発明のデータ処理システムおよびその制御方法においては、個々のプロセッシングエレメントが、個々のプロセッシングエレメントにおいて実現している現在の個別機能の必要性が終了した順番に個々に、独立して、自律的に再構成される。すなわち、再構成がエレメントという、データパスを構成する最小の単位で、前の処理、すなわち、現状の個別機能の処理対象のデータが通過したり、その処理が終了したり、処理対象のデータが消滅したりすることにより、現在の個別機能が不要になったタイミングで行われるという特徴を有する。   As described above, in the data processing system and the control method thereof according to the present invention, the individual processing elements are individually and independently in the order in which the necessity of the current individual functions realized in the individual processing elements is completed. , Autonomously reconfigured. That is, the reconfiguration is the smallest unit that constitutes the data path, that is, the element, the previous process, that is, the data to be processed by the current individual function passes, the process ends, or the data to be processed By disappearing, the current individual function is performed at a timing that is no longer necessary.

したがって、本発明のデータ処理システムの制御方法は、将来の個別機能を定める構成情報を個々のプロセッシングエレメントに対し供給する工程と、個々のプロセッシングエレメントは、現在の個別機能が不要になると、次の個別機能に切り替わる工程とを有するものである。また、本発明のデータ処理システムは、将来の個別機能を定める構成情報を個々のプロセッシングエレメントに対し供給するための構成情報供給手段を有し、個々のプロセッシングエレメントは、現在の個別機能が不要になると、次の個別機能に切り替える制御ユニットを備えている。このため、本発明のデータ処理システムにおいては、データ処理システムあるいは個々のデータパスの全体の処理が終了するまで次のデータパスのデータの入力を待つ必要はない。処理の終わったプロセッシングエレメントから次の処理用に再構成されるので、データを継続して入力することが可能になる。したがって今まであった待ち時間をなくして処理速度を上げることが可能になる。   Therefore, according to the control method of the data processing system of the present invention, the process of supplying the configuration information defining the future individual functions to the individual processing elements, and the individual processing elements when the current individual functions are no longer necessary, And a step of switching to an individual function. In addition, the data processing system of the present invention has configuration information supply means for supplying configuration information defining future individual functions to each processing element, and each processing element does not require the current individual function. In other words, a control unit for switching to the next individual function is provided. For this reason, in the data processing system of the present invention, it is not necessary to wait for input of data in the next data path until the entire processing of the data processing system or each data path is completed. Since the processing element after processing is reconfigured for the next processing, data can be continuously input. Therefore, it is possible to increase the processing speed by eliminating the waiting time.

図1に、データ処理システムの一例を示してある。このデータ処理システム1は、チップ化されており、再構成可能なデータ処理領域(データ処理ユニット)19と、この再構成可能なデータ処理領域19を再構成する機能および入出力を制御する機能などをサポートする周辺領域18とを備えている。   FIG. 1 shows an example of a data processing system. This data processing system 1 is made into a chip, a reconfigurable data processing area (data processing unit) 19, a function for reconfiguring the reconfigurable data processing area 19, a function for controlling input / output, etc. And a peripheral region 18 for supporting the above.

再構成可能な回路領域19は、図1において複数のセグメント10から15に分かれて記載されているが、図2に示すように、複数のエレメントがアレイまたはマトリクス状に2次元に配置されており、マトリクスと称される構成である。本例のマトリクス19は、縦横に2次元に配置された複数のプロセッシングエレメント(PE)21と、それらの間に格子状に配置された配線22と、配線22の接続ポイントで縦横の配線22の接続を自由に切り替えることができるスイッチングユニット23とを備えている。個々のPE21は、処理機能と、配線群22との接続とを変更可能な構成になっている。処理機能の変更にはルックアップテーブルなどにより、自在に機能を設定可能な構成を採用できる。本例では、算術論理演算用のエレメント、遅延用のエレメント、メモリ用のエレメント、データを入力または出力するためにアドレスを発生させるエレメント、データの入力または出力用のエレメントなど、ある程度の機能グループに分けて、それぞれの処理に適した内部構成のエレメントを配置することによりマトリクス19のスペース効率を向上している。また、ある程度の機能グループに分けたエレメントを配置することにより冗長性が減少するのでAC特性および処理速度も向上できるといったメリットを得ている。   The reconfigurable circuit area 19 is divided into a plurality of segments 10 to 15 in FIG. 1, but a plurality of elements are two-dimensionally arranged in an array or matrix as shown in FIG. This is a configuration called a matrix. The matrix 19 of this example includes a plurality of processing elements (PE) 21 arranged two-dimensionally in the vertical and horizontal directions, wirings 22 arranged in a lattice pattern between them, and vertical and horizontal wirings 22 at connection points of the wirings 22. And a switching unit 23 that can freely switch the connection. Each PE 21 has a configuration in which the processing function and the connection with the wiring group 22 can be changed. To change the processing function, it is possible to adopt a configuration in which the function can be freely set by a lookup table or the like. In this example, there are some functional groups, such as elements for arithmetic and logic operations, elements for delay, elements for memory, elements that generate addresses for inputting or outputting data, and elements for inputting or outputting data. The space efficiency of the matrix 19 is improved by arranging elements having internal configurations suitable for the respective processes. In addition, since the redundancy is reduced by arranging the elements divided into a certain number of function groups, there is an advantage that AC characteristics and processing speed can be improved.

図3および図4は、PE21の一例である。PE21は、機能を変更可能な内部データパス領域29と、その内部データパス領域29の機能を設定する制御ユニット60とを備えている。図3に示したPE21aの内部データパス領域29aは、カウンタなどからなるアドレス発生回路28と、セレクタSELとを備えており、制御ユニット60により設定された条件で生成されたアドレスが出力信号doとして配線22に出力される。この出力信号doは、行配線および列配線を介して、そのまま、あるいは、他のPE21によって処理された後にデータパケット90にされた入力信号dixあるいはdiyとしてPE21aにフィードバックされる。そして、制御ユニット60によりセットされた条件でセレクタSELが選択したアドレスがマトリクス19からデータ入力あるいは出力用のアドレスとして出力される。PE21aは、配線22のいずれかの配線から入力データを選択し、また、出力データを出力するためのセレクタ(不図示)も備えており、それらの設定も制御ユニット60により行われる。   3 and 4 are examples of PE21. The PE 21 includes an internal data path area 29 whose function can be changed, and a control unit 60 that sets the function of the internal data path area 29. The internal data path area 29a of the PE 21a shown in FIG. 3 includes an address generation circuit 28 composed of a counter and the like, and a selector SEL, and an address generated under the conditions set by the control unit 60 is used as the output signal do. Output to the wiring 22. The output signal do is fed back to the PE 21a via the row wiring and the column wiring as it is or after being processed by another PE 21 as the input signal dix or diy in the data packet 90. The address selected by the selector SEL under the conditions set by the control unit 60 is output from the matrix 19 as an address for data input or output. The PE 21 a also includes a selector (not shown) for selecting input data from any of the wirings 22 and outputting output data, and the setting is also performed by the control unit 60.

図4に示したPE21bは、算術演算および論理演算に適した構成である。内部データパス部29bは、シフト回路SHIFT、マスク回路MASK、論理演算ユニットALUを備えている。そして、上記のPE21aと同様に、設定部60により、これらのシフト回路SHIFT、マスク回路MASK、論理演算ユニットALUの状態が設定される。したがって、データパケット90で供給される入力データdixおよびdiyを加算あるいは減算したり、比較したり、論理和あるいは論理積を演算することができ、その結果はデータパケット90の形で出力信号doとして配線(バス)22に出力される。   The PE 21b shown in FIG. 4 has a configuration suitable for arithmetic operations and logical operations. The internal data path unit 29b includes a shift circuit SHIFT, a mask circuit MASK, and a logical operation unit ALU. Similarly to the PE 21a, the setting unit 60 sets the states of the shift circuit SHIFT, the mask circuit MASK, and the logical operation unit ALU. Therefore, the input data dix and diy supplied in the data packet 90 can be added or subtracted, compared, logical sum or logical product can be calculated, and the result is output as the output signal do in the form of the data packet 90. It is output to the wiring (bus) 22.

図2に示すように、PU1のマトリクス19は、368個のPE21を備えており、それらに対して構成情報(コンフィグレーションデータ)を供給する転送路を分けて形成するために、図1に示すように6つのセグメント10〜15に形式上分割されている。しかしながら、複数のPE21を接続する配線群22は、これらのセグメント10〜15に対して透過的にアレンジされており、セグメント10〜15の複数のPE21を接続して種々のデータパスを構成することができる。そのため、スイッチングユニット(SU)23は、プロセッシングエレメントの1種類として構成情報を受け付け、PE間の接続を変更する。そのため、PE21と同様に、配線群22の配線の接続を切り替える機能を設定する制御ユニット60を備えている。   As shown in FIG. 2, the matrix 19 of PU1 includes 368 PEs 21. In order to separately form transfer paths for supplying configuration information (configuration data) to them, the matrix 19 of PU1 is shown in FIG. Thus, it is divided into six segments 10 to 15 in the form. However, the wiring group 22 for connecting a plurality of PEs 21 is transparently arranged with respect to these segments 10 to 15, and a plurality of PEs 21 for the segments 10 to 15 are connected to form various data paths. Can do. Therefore, the switching unit (SU) 23 accepts configuration information as one type of processing element and changes the connection between PEs. Therefore, similarly to PE 21, a control unit 60 that sets a function of switching the connection of the wirings of the wiring group 22 is provided.

マトリクス19の複数のPE21により構成されるデータパスには、周辺領域18の入力バッファ33と出力バッファ34とを用いてデータが入出力される。入力バッファ33は4つの入力エレメントLDBを備えており、バッファ33の構成および制御を構成情報により設定できるようになっている。出力バッファ34も同様であり、4つの出力エレメントSTBを備えており、構成および制御を構成情報により設定できるようになっている。さらに、ダイレクト入力31およびダイレクト出力32が用意されており、1つのチップ(PU)1では回路要素が不足するようなアプリケーションの処理も複数のチップ1を連結することにより対処可能な構成となっている。   Data is input / output to / from a data path constituted by a plurality of PEs 21 of the matrix 19 using the input buffer 33 and the output buffer 34 in the peripheral area 18. The input buffer 33 includes four input elements LDB, and the configuration and control of the buffer 33 can be set by configuration information. Similarly, the output buffer 34 includes four output elements STB, and the configuration and control can be set by configuration information. In addition, a direct input 31 and a direct output 32 are prepared, and the processing of an application in which circuit elements are insufficient in one chip (PU) 1 can be handled by connecting a plurality of chips 1. Yes.

本例のデータ処理システム1においては、マトリクス19のPE21およびSU23、および入出力バッファ33および34に対し、それぞれの処理機能およびPE間の接続の少なくとも一部を変更する接続機能の少なくともいずれかを含む個別機能を変更するための構成情報は、シフトレジスタ方式の供給機構50により供給される。構成情報の主な供給元は、周辺領域18に配置されたRISCなどのプロセッサ35であり、プロセッサ35により実行されるソフトウェアによりマトリクス19の構成を制御することができる。構成情報を他のPU1などから供給することも可能である。構成情報の供給機構50は、転送コントロールユニット(TCU)59と、各セグメント10〜15、入力バッファ33および出力バッファ34のそれぞれに張り巡らされた転送路51〜58とを備えている。TCU59は、バススイッチングユニット(バスインターフェイス、BSU)36に接続されており、プロセッサ35はBSU36を介して構成情報をTCU59に供給する。   In the data processing system 1 of this example, at least one of the processing function and the connection function for changing at least part of the connection between the PEs 21 and SU 23 and the input / output buffers 33 and 34 of the matrix 19 is provided. Configuration information for changing the individual functions to be included is supplied by a shift register type supply mechanism 50. The main supply source of the configuration information is a processor 35 such as a RISC arranged in the peripheral area 18, and the configuration of the matrix 19 can be controlled by software executed by the processor 35. It is also possible to supply configuration information from another PU 1 or the like. The configuration information supply mechanism 50 includes a transfer control unit (TCU) 59, and transfer paths 51 to 58 that extend around each of the segments 10 to 15, the input buffer 33, and the output buffer 34. The TCU 59 is connected to a bus switching unit (bus interface, BSU) 36, and the processor 35 supplies configuration information to the TCU 59 via the BSU 36.

図5に、構成情報の供給機構50のさらに詳しい構成を示してある。供給機構50は、夫々のセグメント10〜15に含まれるPE21を接続する転送路51〜56を備えている。転送路51〜56は、それぞれのPE21の制御ユニット60の転送用レジスタ(FF)を直列に接続する。例えば、転送路51では、1つのPE21の転送用FFに伝送された1ワードのデータは、1クロックあるいは1サイクルの遅延で次のPE21の転送用FFに伝送される。   FIG. 5 shows a more detailed configuration of the configuration information supply mechanism 50. The supply mechanism 50 includes transfer paths 51 to 56 that connect the PEs 21 included in the segments 10 to 15. The transfer paths 51 to 56 connect transfer registers (FF) of the control unit 60 of each PE 21 in series. For example, in the transfer path 51, 1-word data transmitted to the transfer FF of one PE 21 is transmitted to the transfer FF of the next PE 21 with a delay of one clock or one cycle.

TCU59は、データ領域管理部91と、このデータ領域管理部91によりセットされた構成情報を各転送路51〜58に集配する配送部92とを備えている。データ領域管理部91は、BSU36とのデータ交換を管理するバス制御部95と、送信部93と、受信部94とを備えている。全ての転送路51〜58は閉じており、TCU59から送出したデータはTCU59に戻るようになっており、転送路51〜58の途中の所望のPE21により構成情報がゲットされ、また、必要であればPE21から構成情報がTCU59に戻される。   The TCU 59 includes a data area management unit 91 and a delivery unit 92 that collects and distributes the configuration information set by the data area management unit 91 to the transfer paths 51 to 58. The data area management unit 91 includes a bus control unit 95 that manages data exchange with the BSU 36, a transmission unit 93, and a reception unit 94. All the transfer paths 51 to 58 are closed, and the data transmitted from the TCU 59 is returned to the TCU 59, and the configuration information is obtained by the desired PE 21 in the middle of the transfer paths 51 to 58, and is necessary. For example, the configuration information is returned from the PE 21 to the TCU 59.

図6に、転送路51に接続されたPE21の制御ユニット60の構成を示している。制御ユニット60は、転送路51を構成する転送用FF61と、その転送用FF61に格納されたデータ75をデコードするデコーダ62と、データ75を格納するためにバックグラウンドで動作するバックグランド動作部63と、内部データパス領域29の設定を行う構成情報が格納されるフォアグラウンド動作部64とを備えている。バッググラウンド動作部63は、将来の構成情報を格納することができる機構であり、3バンクのバッググラウンドメモリ65と、転送用FF61に格納されたデータ75をバッググラウンドメモリ65の各バンクと直に出力するラインに振り分けるセレクタ66と、メモリ65のバンクを選択してデータを出力できるセレクタ67とを備えている。したがって、転送路51により適当なタイミングで、個々のPE21に対し、少なくとも3つの将来の個別機能を決定する構成情報を提供することができる。フォアグラウンドで動作している構成情報も将来の構成情報として使用可能になるので、3バンク程度のメモリであっても、個別機能を切り換えて多種多様なデータパスを動的に再構成することができる。   FIG. 6 shows the configuration of the control unit 60 of the PE 21 connected to the transfer path 51. The control unit 60 includes a transfer FF 61 that constitutes the transfer path 51, a decoder 62 that decodes the data 75 stored in the transfer FF 61, and a background operation unit 63 that operates in the background to store the data 75. And a foreground operation unit 64 in which configuration information for setting the internal data path area 29 is stored. The background operation unit 63 is a mechanism capable of storing future configuration information. The background memory 65 of the three banks and the data 75 stored in the transfer FF 61 are directly connected to each bank of the background memory 65. A selector 66 that distributes the lines to be output and a selector 67 that can select a bank of the memory 65 and output data are provided. Therefore, configuration information for determining at least three future individual functions can be provided to each PE 21 at an appropriate timing by the transfer path 51. Since the configuration information operating in the foreground can be used as future configuration information, even in a memory of about 3 banks, various data paths can be dynamically reconfigured by switching individual functions. .

このため、供給機構50により各PE21にデータ75として供給される構成情報は、各PE21の個別の機能を設定する情報であり、内部データパス領域29の接続、個々の論理ゲートの機能あるいは構成などを決定する情報、内部データパス領域29と配線群22との接続を決定する情報、内部データパス領域29において処理を開始したり、データパスとしての処理を開始したりするときの初期条件あるいは初期データなどを含む。さらには、次にロードされる構成情報を選択するための情報などを含めることも可能であり、制御ユニット60の制御に関する情報を含めることも可能である。スイッチングユニット23に供給される構成情報は、主に配線群22の接続に関する情報を含む。   Therefore, the configuration information supplied as data 75 to each PE 21 by the supply mechanism 50 is information for setting individual functions of each PE 21, such as connection of the internal data path area 29, functions or configurations of individual logic gates, and the like. Information for determining the connection between the internal data path area 29 and the wiring group 22, initial conditions or initial conditions when processing is started in the internal data path area 29, or processing as a data path is started Includes data. Furthermore, it is possible to include information for selecting configuration information to be loaded next, and it is also possible to include information related to control of the control unit 60. The configuration information supplied to the switching unit 23 mainly includes information related to the connection of the wiring group 22.

フォアグラウンド動作部64は、現状の個別機能を実現するための構成情報を格納する機構であり、内部データパス領域29に供給されている設定データ(構成情報)を格納することにより内部データパス領域29の現状のコンフィグレーションを維持するフォアグラウンドメモリ68と、フォアグラウンドメモリ68に、バッグラウンドメモリ65または転送用FF61からのデータを選択して供給するセレクタ69を備えている。フォアグラウンドメモリ68にロードする構成情報を選択するセレクタ67および69は、デコーダ62により制御される。また、第2のセレクタ72および70を切り替えることにより、転送用FF61にセットされたデータおよびフォアグラウンドメモリ68に設定された構成情報から制御することも可能である。   The foreground operation unit 64 is a mechanism for storing configuration information for realizing the current individual function. The foreground operation unit 64 stores the setting data (configuration information) supplied to the internal data path region 29 to store the internal data path region 29. A foreground memory 68 that maintains the current configuration, and a selector 69 that selects and supplies data from the background memory 65 or the transfer FF 61 to the foreground memory 68. Selectors 67 and 69 that select configuration information to be loaded into the foreground memory 68 are controlled by the decoder 62. It is also possible to control from the data set in the transfer FF 61 and the configuration information set in the foreground memory 68 by switching the second selectors 72 and 70.

さらに、制御ユニット60は、下流のPE21の転送用FF61に供給するデータ75を、自己のPE21のFF61のデータ、バッググラウンドメモリ65のバンクのデータ、さらにフォアグラウンドメモリ68のデータのいずれかから選択できる出力セレクタ71を備えている。デコーダ62は、自己の転送用FF61に転送されたデータ75を解析することにより、出力セレクタ71を切り替えて下流のPE21の転送用FF61に転送されるデータ75を選択する。   Further, the control unit 60 can select the data 75 to be supplied to the transfer FF 61 of the downstream PE 21 from any of the data of the FF 61 of its own PE 21, the data of the bank of the background memory 65, and the data of the foreground memory 68. An output selector 71 is provided. The decoder 62 analyzes the data 75 transferred to its own transfer FF 61 to switch the output selector 71 and select the data 75 transferred to the transfer FF 61 of the downstream PE 21.

制御ユニット60は、さらに、内部データパス領域29に供給するクロック信号79をオンオフすることにより、内部データパス領域29を稼動および停止できるクロック信号制御ユニット77を備えている。クロック信号制御ユニット77には、内部データパス領域29の処理対象となる入力データ(第1のデータ)dixおよびdiyと共に配線群22から供給されるトークン(第2のデータ)dtxおよびdtyが入力されている。本例においては、入力データdixとトークンdtxとが1つのデータパケット90を構成し、複数のPE21とスイッチングユニット23を含む配線群22とにより構成されたデータパスを介して各PE21に供給される。入力データdiyとトークンdtyについても同様である。トークンdtxおよびdtyは、それぞれの入力データdixおよびdiyの有効・無効を示す。クロック信号制御ユニット77では、トークンdtxおよびdtyが有効であると、クロック信号79が内部データパス領域29に供給され、フォアグラウンドメモリ68の構成情報により所望の処理機能を果たすように設定された内部データパス領域29により入力データdixおよびdiyが処理され、内部データパス領域29から出力データdoが出力される。したがって、内部データパス領域29は、有効な入力データが供給されないときは動作しないので、PE21の単位で消費電力をセーブすることができる。   The control unit 60 further includes a clock signal control unit 77 that can operate and stop the internal data path area 29 by turning on and off the clock signal 79 supplied to the internal data path area 29. The clock signal control unit 77 receives input data (first data) dix and diy to be processed in the internal data path area 29 and tokens (second data) dtx and dty supplied from the wiring group 22. ing. In this example, input data dix and token dtx constitute one data packet 90 and are supplied to each PE 21 via a data path constituted by a plurality of PEs 21 and a wiring group 22 including a switching unit 23. . The same applies to input data diy and token dty. The tokens dtx and dty indicate validity / invalidity of the respective input data dix and diy. In the clock signal control unit 77, if the tokens dtx and dty are valid, the clock signal 79 is supplied to the internal data path area 29, and the internal data set so as to perform a desired processing function according to the configuration information of the foreground memory 68. The input data dix and diy are processed by the path area 29, and the output data do is output from the internal data path area 29. Therefore, the internal data path area 29 does not operate when valid input data is not supplied, so that power consumption can be saved in units of PE 21.

内部データパス領域29は、処理対象のデータである入力データdixおよびdiyの処理結果として、出力データdoを出力するだけではなく、その出力データdoの有効・無効を示すトークンtoも合わせて、データパケット90として出力する。内部データパス領域29におけるデータ処理の状態が、データパスを構成する構造のPE21の処理を中断させる必要がない場合は、データの有効を示すトークンtoがデータパケット90に含まれる。後続のPE21の処理を中断させることが好ましい場合は、データの無効を示すトークンtoを生成してデータパケット90に含ませることが可能であり、トークンによりデータパスを介して他のPE21と通信することができる。   The internal data path area 29 not only outputs the output data do as the processing result of the input data dix and diy, which is the processing target data, but also includes a token to indicating validity / invalidity of the output data do, The packet 90 is output. When the state of data processing in the internal data path area 29 does not require the processing of the PE 21 having the structure constituting the data path to be interrupted, the data packet 90 includes a token to indicating the validity of the data. When it is preferable to interrupt the processing of the subsequent PE 21, it is possible to generate a token to indicating invalidity of the data and include it in the data packet 90, and communicate with other PEs 21 via the data path by the token. be able to.

トークンdtxおよびdtyは、さらに、デコーダ62にも入力されている。トークンdtxおよびdtyは、入力データの有効・無効だけではなく、PE21の個別機能の変更の機会を示す情報(エンドトークン)が含まれている。このため、デコーダ62は、トークンdtxおよびdtyの一方が内部データ領域29の機能の変更を要求していると、バックグランド動作部63およびフォアグラウンド動作部64のセレクタ66、67および69の少なくともいずれかを操作し、バッググラウンドメモリ65または転送用FF61に格納された構成情報のいずれかを選択してフォアグラウンドメモリ68にセットする。これにより、内部データ領域29の個別機能が変更され、また、配線群22との接続も必要に応じて変更される。エンドトークンは、データの有効・無効と同様に、内部データパス領域29を経由して出力データdoのトークンtoに反映してデータパケット90に含められる。したがって、エンドトークンは入力データパケットから出力データパケットに承継され、複数のPE21により構成されるデータパスを介して後続のPE21に供給される。エンドトークンは後述するようにデータ入力バッファ33により通常は生成され、データパケット90に組み込まれる。さらに、内部データパス領域29の構成を変えることにより、PE21においてエンドトークンを発生させたり、消滅させたりすることが可能であり、PE21で後続のPE21の個別機能の変更を制御することが可能である。   The tokens dtx and dty are also input to the decoder 62. The tokens dtx and dty include not only the validity / invalidity of input data but also information (end token) indicating an opportunity for changing the individual function of the PE 21. Therefore, when one of the tokens dtx and dty requests to change the function of the internal data area 29, the decoder 62 at least one of the selectors 66, 67, and 69 of the background operation unit 63 and the foreground operation unit 64 To select one of the configuration information stored in the background memory 65 or the transfer FF 61 and set it in the foreground memory 68. Thereby, the individual function of the internal data area 29 is changed, and the connection with the wiring group 22 is also changed as necessary. The end token is included in the data packet 90 by being reflected in the token to of the output data do via the internal data path area 29 as in the case of data validity / invalidity. Therefore, the end token is inherited from the input data packet to the output data packet, and is supplied to the subsequent PE 21 via the data path constituted by the plurality of PEs 21. As will be described later, the end token is normally generated by the data input buffer 33 and incorporated in the data packet 90. Further, by changing the configuration of the internal data path area 29, an end token can be generated or extinguished in the PE 21, and the change of the individual function of the subsequent PE 21 can be controlled by the PE 21. is there.

内部データパス部29のコンフィギュレーションの切り替えは、最大のデータ滞在時間が経過した後に行われる。クロック信号制御ユニット77は、エンドトークンを検出すると内部データパス部29のデータ入力を停止し、デコーダ62は、フォアグラウンドメモリ68のデータを入れ替えて、コンフィギュレーションの切り替えを行う。そして、一定クロックウェイト後、データ入力が許可できる状態となり、データが有効であることを示すトークンdtxおよびdtyが得られると、クロック信号制御ユニット77は、内部データパス領域29を稼動にする。これにより、各々のPE21は、次のデータパスを構成する次の個別機能に切り替わり、処理を開始する。   The configuration of the internal data path unit 29 is switched after the maximum data stay time has elapsed. When the clock signal control unit 77 detects the end token, the clock signal control unit 77 stops data input to the internal data path unit 29, and the decoder 62 switches the configuration by switching the data in the foreground memory 68. Then, after a certain clock wait, the data input is permitted and when the tokens dtx and dty indicating that the data is valid are obtained, the clock signal control unit 77 activates the internal data path area 29. As a result, each PE 21 switches to the next individual function constituting the next data path and starts processing.

図7に、各PE21の制御ユニット60における構成情報に関する制御を示してある。ステップ81において、構成情報の供給機構50により転送用FF61に供給されたデータ75が自己のPE21の構成情報であれば、ステップ82において、それをバッググランドメモリ65に格納する。ステップ83において、データパスを構成する配線群22から供給されたトークンdtxまたはdtyのいずれかがエンドトークンであれば、ステップ84においてバッググランドメモリ65の構成情報のいずれかをフォアグラウンドメモリ68に格納して内部データパス部29の構成を切り換える。次に、ステップ85において、データパスを構成する配線群22から供給されたトークンdtxおよびdtyによりPE21に供給されたデータが有効であることが判断されれば、ステップ86において内部データパス部29を稼動させて処理を行い、データを配線群22により接続されたデータパスの次のPE21に送り出す。   FIG. 7 shows control related to configuration information in the control unit 60 of each PE 21. In step 81, if the data 75 supplied to the transfer FF 61 by the configuration information supply mechanism 50 is the configuration information of its own PE 21, it is stored in the background memory 65 in step 82. In step 83, if either of the tokens dtx or dty supplied from the wiring group 22 constituting the data path is an end token, one of the configuration information of the background memory 65 is stored in the foreground memory 68 in step 84. Thus, the configuration of the internal data path unit 29 is switched. Next, if it is determined in step 85 that the data supplied to the PE 21 by the tokens dtx and dty supplied from the wiring group 22 constituting the data path is valid, the internal data path unit 29 is set in step 86. Processing is performed and data is sent to the PE 21 next to the data path connected by the wiring group 22.

図8(a)に、配線群22により各PE21の内部データパス部29に供給されるデータパケット90の概要を示してある。このデータパケット90は、2ビットのトークン領域92と、32ビットのデータ領域91を備えている。図8(b)に、トークン領域92の値と、その意味を示している。トークン領域92の値が2または3のときがエンドトークンであり、バックグラウンドメモリ65に次の構成情報があれば、それをフォアグラウンドメモリ68に移動してPE21の機能を変更する。バックグラウンドメモリ65に次の構成情報がなければ、内部データパス領域29の構成は変わらず、同じ機能が維持される。あるいは、バックグラウンドメモリ65に格納された次の構成情報が、フォアグラウンドメモリ68と同じである場合も、内部データパス領域29の構成は変わらず、同じ機能が維持される。エンドトークンは、データの有効・無効とは独立して供給することが可能であり、その個別機能で処理される最終のデータと共に、あるいは最終のデータの後にエンドトークンを供給することができる。   FIG. 8A shows an outline of the data packet 90 supplied to the internal data path unit 29 of each PE 21 by the wiring group 22. The data packet 90 includes a 2-bit token area 92 and a 32-bit data area 91. FIG. 8B shows the value of the token area 92 and its meaning. When the value of the token area 92 is 2 or 3, it is an end token, and if there is the next configuration information in the background memory 65, it is moved to the foreground memory 68 and the function of the PE 21 is changed. If there is no next configuration information in the background memory 65, the configuration of the internal data path area 29 is not changed and the same function is maintained. Alternatively, when the next configuration information stored in the background memory 65 is the same as that in the foreground memory 68, the configuration of the internal data path area 29 is not changed and the same function is maintained. The end token can be supplied independently of the validity / invalidity of the data, and the end token can be supplied together with the final data processed by the individual function or after the final data.

また、トークン(第2のデータ)92は、処理対象のデータ(第1のデータ)91と共にデータパケット90に含まれるが、予め決まった異なるビット位置に格納されており、第1のデータ91とは区別されている。したがって、各PE21の制御ユニット60は、第1のデータ91とは独立に、区別して、あるいは第1のデータ91は無視して、トークン92をデコードすることができる。このため、上述したように、第1のデータ91の有効・無効に関わらずエンドトークンを各PE21は理解して、個別機能を変更する処理を進めることができる。また、個別機能の変更に関して、制御ユニット60は、内部データパス領域29とは独立して、並列に処理を行うことができる。   The token (second data) 92 is included in the data packet 90 together with the data to be processed (first data) 91, but is stored in different predetermined bit positions. Are distinct. Therefore, the control unit 60 of each PE 21 can decode the token 92 independently of the first data 91 or by ignoring the first data 91. For this reason, as described above, each PE 21 can understand the end token regardless of the validity / invalidity of the first data 91, and the process of changing the individual function can proceed. Further, regarding the change of the individual function, the control unit 60 can perform processing in parallel independently of the internal data path area 29.

エンドトークンを設ける代わりに、内部データパス領域29が処理対象のデータを解釈して、処理対象のデータの終了を判断し、現在の個別機能が不要になったことを判断しても良い。この場合は、制御ユニット60は、内部データパス領域29の判断を待って、次の構成情報をフォアグラウンドメモリに移動する処理を行う。この制御方法であっても、各PE21は自律的に、自己の現在の個別機能が不要になったことを判断して、次の個別機能に移行するように構成情報を切り換えることが可能である。しかしながら、内部データパス領域29に最終のデータであることを判断する機能を付加する必要があり、内部データパス領域29において判断された後に構成を変更する一連の処理が開始されるので、構成情報の変更に、データがPE21に常駐するサイクルの遅れがでる。さらに、エンドトークンが処理対象のデータと異ならないので、処理対象のデータと同期させてPE21の構成を変更させるしかなく、また、PE21におけるエンドトークンの発生・喪失は処理対象のデータの変更あるいは発生・喪失を意味し、エンドトークンを用いたケースに比較し、構成情報の変更に関わるPE21の間の通信のフレキシビリティーは制限される。   Instead of providing an end token, the internal data path area 29 may interpret the data to be processed, determine the end of the data to be processed, and determine that the current individual function is no longer necessary. In this case, the control unit 60 waits for the determination of the internal data path area 29 and performs the process of moving the next configuration information to the foreground memory. Even in this control method, each PE 21 can autonomously determine that its current individual function is no longer necessary, and can switch the configuration information so as to shift to the next individual function. . However, since it is necessary to add a function for determining that the data is the final data to the internal data path area 29, a series of processes for changing the configuration after the determination in the internal data path area 29 is started. In this change, a delay of a cycle in which data resides in the PE 21 occurs. Furthermore, since the end token is not different from the data to be processed, there is no choice but to change the configuration of the PE 21 in synchronization with the data to be processed. -This means loss, and the flexibility of communication between PEs 21 related to the change of configuration information is limited compared to the case using end tokens.

図9に、本例のデータ処理システム1の入力バッファ33において、エンドトークン92を備えたデータパケットを生成する部分の構成を示してある。このエンドトークン生成部33tは、設定データの供給機構57を介して読み取り対象のデータ数が設定され、BSU36を介してアクセスしている外部メモリから所望のデータを読み取り、32ビットにパケット化してマトリクス19のデータパスに入力する。そして、最終のデータパケット90に、エンドトークン92を付ける。   FIG. 9 shows a configuration of a part that generates a data packet including an end token 92 in the input buffer 33 of the data processing system 1 of the present example. The end token generation unit 33t sets the number of data to be read via the setting data supply mechanism 57, reads desired data from the external memory accessed via the BSU 36, packetizes it into 32 bits, and forms a matrix. Input to 19 data paths. Then, an end token 92 is attached to the final data packet 90.

図10(a)に、サンプルとして、16個のPE21を備えた非常に簡易な構成のマトリクス19を示してある。本図に示したように、IN−1、IN−2およびIN−3の入力に対してOUT−1およびOUT−2を出力するデータパス100において、1つのPE21における最大データ滞在時間(処理時間)を20クロックとし、各PE21の構成情報を切り換えて個別機能を変更する時間を1クロックとする。データパス100の処理が終了してから、ブロードキャスト方式により、PE21の個別機能を一括変えて、データパス100を再構成する場合、データパス100の最長は4つのPE21を経由するため、データパスの構成変更に、81クロック+αのコンフィギュレーション切り替え時間が必要となり、この間、データの入力が中断される。すなわち、切り替え前のコンフィギュレーションの最終データから切り替え後の先頭データの間に、81クロック+αの空白時間が生じることとなる。   FIG. 10A shows a matrix 19 having a very simple configuration including 16 PEs 21 as a sample. As shown in this figure, the maximum data stay time (processing time) in one PE 21 in the data path 100 that outputs OUT-1 and OUT-2 with respect to the inputs IN-1, IN-2, and IN-3. ) Is 20 clocks, and the time for switching the configuration information of each PE 21 to change the individual function is 1 clock. After the processing of the data path 100 is completed, when reconfiguring the data path 100 by changing the individual functions of the PE 21 at once by the broadcast method, the longest data path 100 passes through the four PEs 21, so the data path The configuration change requires a configuration switching time of 81 clocks + α, and data input is interrupted during this time. That is, a blank time of 81 clocks + α occurs between the last data of the configuration before switching and the head data after switching.

これに対し、エンドトークンを用いてコンフィギュレーションの切り替えを行う場合は、個々のPE21がエンドトークンを検出したら、個々のPE21の構成情報を切り換えて個別機能を変更する。このため、コンフィギュレーションの切り替えに要する時間は21クロック+αとなり、理想的には1クロックの空白時間をおいて、次のデータパスにより処理するデータを入力することができる。したがって、コンフィグレーションの切り替えによる処理の遅れを数十分の一に短縮することができる。   On the other hand, when the configuration is switched using the end token, when each PE 21 detects the end token, the configuration information of each PE 21 is switched to change the individual function. For this reason, the time required for switching the configuration is 21 clocks + α. Ideally, the data to be processed by the next data path can be input after a blank time of 1 clock. Therefore, the processing delay due to the switching of the configuration can be reduced to several tenths.

実際には、機能の異なるPE21の処理時間は異なるので、図10(b)に示すように、時刻T0に、データD1およびD2が順番に入力され、時刻T1に「A」で示されたPE21でデータが処理され、時刻T2に「B」で示されたPE21でデータが処理され、OUT−1からはデータが出力され、時刻T3に、OUT−1からはデータD2が出力され、「C」で示されたOUT−2のPE21からデータD1が出力され、時刻T4に、OUT−2からデータD2が出力されたとする。ブロードキャスト方式でマトリクス19のPE21の機能を一括して変更するのであれば、時刻T4の後の時刻T5で機能を変更してデータパスを再構成する。   Actually, since the processing times of the PEs 21 having different functions are different, as shown in FIG. 10B, the data D1 and D2 are sequentially input at the time T0, and the PE 21 indicated by “A” at the time T1. At time T2, data is processed at PE21 indicated by "B", data is output from OUT-1, and data D2 is output from OUT-1 at time T3. The data D1 is output from the PE-2 of OUT-2 indicated by “,” and the data D2 is output from OUT-2 at time T4. If the functions of the PEs 21 of the matrix 19 are to be changed all at once by the broadcast method, the functions are changed at time T5 after time T4 to reconfigure the data path.

エンドトークン方式であれば、時刻T2には「A」で示したPE21およびそれより上流のPE21の個別機能の変更が許可され、時刻T3には「B」で示したPE21およびそれより上流のPE21の個別機能の変更が許可され、時刻T4には全てのPE21の個別機能の変更が許可される。このように、本発明のデータ処理システム1においては、データ処理システムあるいは個々のデータパス100の全体の処理が終了するまで次のデータの入力を待つ必要はない。現在の個別機能の処理の終わったPE21から次の処理用の個別機能に再構成されるので、データを継続して入力することが可能になる。したがって今まであった待ち時間をなくして処理速度を上げることが可能になる。   In the case of the end token method, the change of the individual functions of the PE 21 indicated by “A” and the upstream PE 21 at the time T2 is permitted, and the PE 21 indicated by “B” and the upstream PE 21 at the time T3 are permitted. The individual functions are allowed to be changed, and at time T4, the individual functions of all the PEs 21 are allowed to be changed. Thus, in the data processing system 1 of the present invention, it is not necessary to wait for the next data input until the entire processing of the data processing system or each data path 100 is completed. Since the PE 21 that has completed the processing of the current individual function is reconfigured to the individual function for the next processing, data can be continuously input. Therefore, it is possible to increase the processing speed by eliminating the waiting time.

なお、本例のデータ処理システム1においては、個々のPE21に対して、シフトレジスタ方式の供給機構50により構成情報を提供しているが、個々のPE21をバスで接続したバス方式など、他の方式により構成情報を提供しても良い。また、本例のデータ処理システム1においては、個々のPE21とは別に配線資源22および23を用意して、データパスを構成するようにしているが、PE21が配線資源として隣接するPEとの接続を変えてデータパスを構成するものであっても良い。さらに、全てのPE21が共通の構成を持った再構成可能なデータ処理システムにおいても本発明は適用できる。   In the data processing system 1 of the present example, the configuration information is provided to the individual PEs 21 by the supply mechanism 50 of the shift register method. Configuration information may be provided by a method. In the data processing system 1 of this example, the wiring resources 22 and 23 are prepared separately from the individual PEs 21 so as to configure the data path. However, the PE 21 is connected to the adjacent PE as the wiring resource. The data path may be configured by changing the above. Furthermore, the present invention can also be applied to a reconfigurable data processing system in which all PEs 21 have a common configuration.

本発明においては、個々のPEに対して構成情報を提供する手段と、個々のPEをネットワークで接続してデータパスを形成する手段とを備えたデータ処理システムにおいて、データパスを経由して構成の変更を許可する情報を提供し、ハードウェア資源の削減と、データパスの再構成に係る待ち時間の削減という効果を得ている。特に、本発明の制御方法は、現存のデータパスを構成しているPEの個別機能を変更して、新たな機能のデータパスを再構成する操作に適しており、異なるパラメータにより新たな機能を提供するデータパスを1クロックで再構成して、待ち時間をほとんどなくして、データを継続的に処理することができる。   In the present invention, in a data processing system having means for providing configuration information to individual PEs and means for connecting individual PEs via a network to form a data path, the configuration is made via the data path. The information that permits the change is provided, and the effect of reducing hardware resources and waiting time related to data path reconfiguration is obtained. In particular, the control method of the present invention is suitable for the operation of changing the individual function of the PE constituting the existing data path and reconfiguring the data path of a new function, and a new function is provided by different parameters. The data path to be provided can be reconfigured with one clock so that data can be processed continuously with little latency.

有線あるいは無線により、データ処理システムを構成する全てのPEに対して、再構成の許可をブロードキャストする手段は、データパスに含まれないPEを含めて一括したデータパスの再構成には適している。したがって、本発明に対し、さらに、ブロードキャストする手段を設けることは有効である。ブロードキャスト方式においても、本発明のエンドトークンを利用した方式においても、個々の機器、すなわちPEに対して異なる設定を与えるために、個々の機器に対して個別にアクセスする必要は省かれており、そのための冗長なハードウェアは不要であり、また、そのために費やされる時間も不要である。   The means for broadcasting permission of reconfiguration to all PEs constituting the data processing system by wire or wireless is suitable for reconfiguring data paths collectively including PEs not included in the data paths. . Therefore, it is effective to provide a broadcasting means for the present invention. In both the broadcast method and the method using the end token of the present invention, in order to give different settings to individual devices, that is, PEs, it is not necessary to access each device individually, Redundant hardware for that purpose is unnecessary, and time spent for that purpose is also unnecessary.

本発明のデータ処理システムおよびその制御方法は、様々なデータ処理を実行可能なシステムLSIあるいはASICなどとして提供することが可能である。また、本発明のデータ処理システムは、電子回路に限定されることはなく、光回路あるいは光電子回路をベースとするデータ処理装置およびシステム、さらには、ネットワーク接続された分散処理システムにも適用できるものである。そして、本発明のデータ処理システムは、再構成可能なハードウェアによりデータ処理を高速に実行できるので、ネットワーク処理や、画像処理などの高速性およびリアルタイム性が要求されるデータ処理装置に好適なものである。   The data processing system and the control method thereof according to the present invention can be provided as a system LSI or ASIC capable of executing various data processing. The data processing system of the present invention is not limited to an electronic circuit, and can be applied to an optical circuit or a data processing apparatus and system based on an optoelectronic circuit, and further to a distributed processing system connected to a network. It is. Since the data processing system of the present invention can execute data processing at high speed with reconfigurable hardware, it is suitable for data processing devices that require high-speed and real-time properties such as network processing and image processing. It is.

データ処理システムの概要を示す図である。It is a figure which shows the outline | summary of a data processing system. マトリクスの概要を示す図である。It is a figure which shows the outline | summary of a matrix. プロセッシングエレメント(PE)の一例を示す図である。It is a figure which shows an example of a processing element (PE). PEの他の例を示す図である。It is a figure which shows the other example of PE. PEを転送路により接続した状態を示す図である。It is a figure which shows the state which connected PE by the transfer path. PEの制御ユニットの構成を示す図である。It is a figure which shows the structure of the control unit of PE. PEの制御ユニットの制御を示すフローチャートである。It is a flowchart which shows control of the control unit of PE. 図8(a)はデータパケットの構成を示し、図8(b)はトークンの値および説明を示す図である。FIG. 8A shows the structure of the data packet, and FIG. 8B shows the token value and description. 入力バッファの構成を示す図である。It is a figure which shows the structure of an input buffer. 図10(a)は、簡易なマトリクスにより本発明を説明する図であり、図10(b)はタイムチャートである。FIG. 10A is a diagram for explaining the present invention with a simple matrix, and FIG. 10B is a time chart.

符号の説明Explanation of symbols

1 データ処理システム、 10〜15 セグメント
19 マトリクス、 21 プロセッシングエレメント(PE)
29 内部データパス領域
50 データ伝送機構
60 制御ユニット
1 data processing system, 10-15 segment 19 matrix, 21 processing element (PE)
29 Internal data path area 50 Data transmission mechanism 60 Control unit

Claims (4)

複数のプロセッシングエレメントと、前記複数のプロセッシングエレメントを接続する配線群とを有し、個々のプロセッシングエレメントは、それぞれの処理機能、および前記配線群によるプロセッシングエレメント間の接続の少なくとも一部を変更する接続機能の少なくともいずれかを含む個別機能を変更する制御ユニットを含み、前記複数のプロセッシングエレメントにより、パイプライン方式でデータパケットが流れる少なくとも1つのデータパスを構成するデータ処理システムの制御方法であって、
前記個々のプロセッシングエレメントは、前記個別機能を定める構成情報のうち、供給機構より提供される将来の個別機能を定める構成情報を格納するバックグランド作動部と、前記バックグランド作動部の前記将来の個別機能を定める構成情報の中から選択された現在の個別機能を定める構成情報を格納するフォアグランド作動部とを含み、
前記データ処理システムは、さらに、前記将来の個別機能を定める構成情報を、前記供給機構を介してそれぞれの前記個々のプロセッシングエレメントに供給し、前記個々のプロセッシングエレメントが前記将来の個別機能を定める構成情報に基づき前記現在の個別機能を定める構成情報を変更可能とするプロセッサと、データ入力バッファとを有し、
前記複数のプロセッシングエレメントの少なくとも一部と前記データ入力バッファとが前記配線群の少なくとも一部により接続されることにより第1のデータパスが構成され、
前記データ入力バッファは、前記第1のデータパスに、前記第1のデータパスの処理対象となる第1のデータおよびトークンを含む前記データパケットを供給し、前記トークンは前記第1のデータの、前記第1のデータパスに含まれるプロセッシングエレメントにおける処理の要・不要を示し、さらに、前記データ入力バッファは、前記トークンとして、最終のデータあるいは最終のデータが通過し、前記個々のプロセッシングエレメントの前記個別機能の変更の機会を示すエンドトークンを含める機能を含み、
当該制御方法は、
前記プロセッサが、前記供給機構を介して前記将来の個別機能を定める構成情報を前記個々のプロセッシングエレメントに対し供給する工程と、
前記データ入力バッファが、前記第1のデータパスを経由して、前記エンドトークンを含む前記データパケットを前記第1のデータパスを構成するプロセッシングエレメントに供給する工程と、
前記第1のデータパスを構成するプロセッシングエレメントの前記制御ユニットが、前記エンドトークンの到来により、前記将来の個別機能を定める構成情報に基づき前記現在の個別機能を定める構成情報を変更する工程とを有する制御方法。
A plurality of processing elements and a wiring group connecting the plurality of processing elements, each processing element changing a processing function and at least a part of a connection between the processing elements by the wiring group A control method for a data processing system comprising a control unit for changing an individual function including at least one of functions, wherein the plurality of processing elements constitute at least one data path through which a data packet flows in a pipeline manner ,
The individual processing element includes a background operation unit that stores configuration information that defines a future individual function provided by a supply mechanism among configuration information that defines the individual function, and the future individual of the background operation unit. A foreground actuating unit that stores configuration information that defines the current individual function selected from the configuration information that defines the function,
Said data processing system further configuration information defining the future of the individual function is supplied to each of the individual processing elements via the feed mechanism, the individual processing elements defining the future of the individual functional configuration A processor capable of changing the configuration information defining the current individual function based on the information, and a data input buffer,
A first data path is configured by connecting at least a part of the plurality of processing elements and the data input buffer by at least a part of the wiring group,
The data input buffer, the first data path, and supplies the data packet including the first data and a token to be processed of said first data path, the token of the first data, The processing element included in the first data path indicates the necessity / unnecessity of processing. Further, the data input buffer passes the final data or the final data as the token , and the individual processing elements Including the ability to include end tokens that indicate opportunities for individual function changes,
The control method is
The processor supplying configuration information defining the future individual functions to the individual processing elements via the supply mechanism;
The data input buffer supplying the data packet including the end token to the processing elements constituting the first data path via the first data path;
The control unit of the processing element constituting the first data path changing the configuration information defining the current individual function based on the configuration information defining the future individual function when the end token arrives; Control method having.
請求項1において、前記データ処理システムは、さらに、有線または無線により、全ての前記複数のプロセッシングエレメントに対し前記現在の個別機能を定める構成情報の変更を指示する、ブロードキャストする手段を有し、
当該制御方法は、
前記プロセッサが前記ブロードキャストする手段を介して前記複数のプロセッシングエレメントに対して前記個別機能の変更を指示する工程を有する、制御方法。
The data processing system according to claim 1, further comprising a broadcasting unit that instructs all of the plurality of processing elements to change the configuration information that defines the current individual function by wire or wireless.
The control method is
A control method comprising the step of instructing the plurality of processing elements to change the individual function via the means for broadcasting by the processor.
複数のプロセッシングエレメントと、前記複数のプロセッシングエレメントを接続する配線群とを具備し、個々のプロセッシングエレメントは、それぞれの処理機能、および前記配線群によるプロセッシングエレメント間の接続の少なくとも一部を変更する接続機能の少なくともいずれかを含む個別機能を変更する制御ユニットを含み、前記複数のプロセッシングエレメントにより、パイプライン方式でデータパケットが流れる少なくとも1つのデータパスを構成するデータ処理ユニットを有するデータ処理システムであって
前記個々のプロセッシングエレメントは、前記個別機能を定める構成情報のうち、供給機構より提供される将来の個別機能を定める構成情報を格納するバックグランド作動部と、前記バックグランド作動部の前記将来の個別機能を定める構成情報の中から選択された現在の個別機能を定める構成情報を格納するフォアグランド作動部とを含み、
さらに、当該データ処理システムは、
前記将来の個別機能を定める構成情報をそれぞれの前記個々のプロセッシングエレメントに対し前記供給機構を介して供給し、前記個々のプロセッシングエレメントが前記将来の個別機能を定める構成情報に基づき前記現在の個別機能を定める構成情報を変更可能とするプロセッサと、データ入力バッファとを有し、前記複数のプロセッシングエレメントの少なくとも一部と前記データ入力バッファとが前記配線群の少なくとも一部により接続されることにより第1のデータパスが構成され、前記データ入力バッファは、前記第1のデータパスの処理対象となる第1のデータおよびトークンを含む前記データパケットを供給し、前記トークンは前記第1のデータの、前記第1のデータパスに含まれるプロセッシングエレメントにおける処理の要・不要を示し
前記データ入力バッファは、前記トークンとして、最終のデータあるいは最終のデータが通過し、前記個々のプロセッシングエレメントの前記個別機能の変更の機会を示すエンドトークンを含める機能を含み、
前記個々のプロセッシングエレメントの前記制御ユニットは、前記エンドトークンの到来により、前記将来の個別機能を定める構成情報に基づき前記現在の個別機能を定める構成情報を変更する、データ処理システム。
A plurality of processing elements and a wiring group connecting the plurality of processing elements are provided, and each processing element is a connection that changes at least a part of the processing function and the connection between the processing elements by the wiring group. A data processing system including a control unit that changes an individual function including at least one of functions, and having a data processing unit that configures at least one data path through which a data packet flows in a pipeline manner by the plurality of processing elements. And
The individual processing element includes a background operation unit that stores configuration information that defines a future individual function provided by a supply mechanism among configuration information that defines the individual function, and the future individual of the background operation unit. A foreground actuating unit that stores configuration information that defines the current individual function selected from the configuration information that defines the function,
Furthermore, the data processing system
The configuration information defining the future of the individual function supplied through the feed mechanism for each of the individual processing elements, the current individual function based on the configuration information the individual processing elements defining the future of the individual function a processor that allows changing the configuration information defining a first by having a data input buffer, and at least a portion of said plurality of processing elements and the data input buffer is connected by at least a portion of the wiring group 1 data path is configured, and the data input buffer supplies the data packet including the first data and the token to be processed in the first data path, and the token is the first data, Processing in the processing element included in the first data path; - shows the unnecessary,
The data input buffer, as the token passes through the last data or final data includes ability to include end token indicating the opportunity of changing the individual function of the individual processing elements,
The data processing system, wherein the control unit of the individual processing element changes the configuration information defining the current individual function based on the configuration information defining the future individual function when the end token arrives.
請求項3において、さらに、有線または無線により、全ての前記複数のプロセッシングエレメントに対し前記現在の個別機能を定める構成情報の変更を指示する、ブロードキャストする手段を有する、データ処理システム。 4. The data processing system according to claim 3, further comprising a broadcasting means for instructing all of the plurality of processing elements to change the configuration information defining the current individual function by wired or wireless.
JP2004271660A 2004-09-17 2004-09-17 Data processing system and control method thereof Active JP4743581B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004271660A JP4743581B2 (en) 2004-09-17 2004-09-17 Data processing system and control method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004271660A JP4743581B2 (en) 2004-09-17 2004-09-17 Data processing system and control method thereof

Publications (2)

Publication Number Publication Date
JP2006085574A JP2006085574A (en) 2006-03-30
JP4743581B2 true JP4743581B2 (en) 2011-08-10

Family

ID=36164011

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004271660A Active JP4743581B2 (en) 2004-09-17 2004-09-17 Data processing system and control method thereof

Country Status (1)

Country Link
JP (1) JP4743581B2 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4950796B2 (en) 2007-07-31 2012-06-13 株式会社東芝 Semiconductor device
JP5163306B2 (en) * 2008-06-19 2013-03-13 富士通セミコンダクター株式会社 Dynamic reconfiguration circuit and data transmission control method
US20150248441A1 (en) * 2012-09-18 2015-09-03 Nec Corporation Time-series data processing device, time-series data processing method and medium for storing time-series data processing program
US11360930B2 (en) 2017-12-19 2022-06-14 Samsung Electronics Co., Ltd. Neural processing accelerator
JP7325210B2 (en) * 2019-04-08 2023-08-14 キヤノン株式会社 Information processing device and its control method

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08102492A (en) * 1994-08-02 1996-04-16 Toshiba Corp Programmable wiring circuit and test board device
JPH10233677A (en) * 1996-12-20 1998-09-02 Hitachi Ltd Semiconductor integrated circuit
JP2001202236A (en) * 2000-01-20 2001-07-27 Fuji Xerox Co Ltd Data processing method for programmable logic circuit device and the same device and information processing system and circuit reconstituting method for the same device

Also Published As

Publication number Publication date
JP2006085574A (en) 2006-03-30

Similar Documents

Publication Publication Date Title
US10282338B1 (en) Configuring routing in mesh networks
US8050256B1 (en) Configuring routing in mesh networks
US8151088B1 (en) Configuring routing in mesh networks
JP4594666B2 (en) Reconfigurable computing device
US8429385B2 (en) Device including a field having function cells and information providing cells controlled by the function cells
US8686549B2 (en) Reconfigurable elements
US5915123A (en) Method and apparatus for controlling configuration memory contexts of processing elements in a network of multiple context processing elements
KR100497078B1 (en) Program product and data processor
US6108760A (en) Method and apparatus for position independent reconfiguration in a network of multiple context processing elements
US6745317B1 (en) Three level direct communication connections between neighboring multiple context processing elements
US8686475B2 (en) Reconfigurable elements
US20050283743A1 (en) Method for generating hardware information
JP2010079923A (en) Processing chip, system including chip, multiprocessor device, and multi-core processor device
WO1995028686A1 (en) Parallel processing computer containing a multiple instruction stream processing architecture
JP2005165961A (en) Dynamic reconfiguration logical circuit device, interruption control method and semiconductor integrated circuit
CN107273205B (en) Method and system for scheduling instructions in a computer processor
US9240220B2 (en) Stacked-die multi-processor
KR20100092805A (en) A processor with reconfigurable architecture
JP2008532131A (en) Microprocessor architecture
US6694385B1 (en) Configuration bus reconfigurable/reprogrammable interface for expanded direct memory access processor
US20060212613A1 (en) Data processor apparatus
JP4359490B2 (en) Data transmission method
JP2006236106A (en) Data processor and data processing method
JP4743581B2 (en) Data processing system and control method thereof
US20070220236A1 (en) Reconfigurable computing device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070824

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20100309

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101001

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101105

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110125

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110328

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

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

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

Free format text: PAYMENT UNTIL: 20140520

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4743581

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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