JP2005165435A - Data transmission method - Google Patents
Data transmission method Download PDFInfo
- Publication number
- JP2005165435A JP2005165435A JP2003400391A JP2003400391A JP2005165435A JP 2005165435 A JP2005165435 A JP 2005165435A JP 2003400391 A JP2003400391 A JP 2003400391A JP 2003400391 A JP2003400391 A JP 2003400391A JP 2005165435 A JP2005165435 A JP 2005165435A
- Authority
- JP
- Japan
- Prior art keywords
- data
- area
- processing
- transfer
- transfer path
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 52
- 238000000034 method Methods 0.000 title claims abstract description 41
- 238000012546 transfer Methods 0.000 claims abstract description 153
- 238000012545 processing Methods 0.000 claims description 94
- 230000015654 memory Effects 0.000 claims description 42
- 230000006870 function Effects 0.000 claims description 18
- 230000008569 process Effects 0.000 claims description 9
- 230000007246 mechanism Effects 0.000 abstract description 16
- 230000002250 progressing effect Effects 0.000 abstract 1
- 239000011159 matrix material Substances 0.000 description 24
- 239000000872 buffer Substances 0.000 description 16
- 230000004044 response Effects 0.000 description 7
- 238000011144 upstream manufacturing Methods 0.000 description 7
- 230000003139 buffering effect Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 238000012384 transportation and delivery Methods 0.000 description 4
- MHABMANUFPZXEB-UHFFFAOYSA-N O-demethyl-aloesaponarin I Natural products O=C1C2=CC=CC(O)=C2C(=O)C2=C1C=C(O)C(C(O)=O)=C2C MHABMANUFPZXEB-UHFFFAOYSA-N 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 2
- 238000004220 aggregation Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 238000012805 post-processing Methods 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 125000000524 functional group Chemical group 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Landscapes
- Logic Circuits (AREA)
Abstract
Description
本発明は、複数のプロセッシングエレメントに対し、あるいはそれらの間でデータを転送するのに適した方法に関するものである。 The present invention relates to a method suitable for transferring data to or between a plurality of processing elements.
特表平10−505993号公報には、FPGAに構成データを供給する幾つかの方法が開示されている。FPGAにシリアル・データで構成データを供給する構成においては、構成モードのときに、FPGAからクロック信号が供給されてPROMが選択され、FPGAの構成が終了するとPROMの選択が解除される。FPGAが並列ROMに接続されている構成では、構成モードのときにFPGAがアドレス信号を出力し、データ信号を受け取る。また、構成モードのときに、FPGAの代わりにマイクロプロセッサを用いてEPROMをアドレス指定して構成データを受け取ることが記載されている。さらに、メモリの側でFPGAを構成モードにして構成データを送信し、FPGAから構成が完了したことが示されると構成データの送信を中止させることが記載されている。
FPGA(Field Programmable Gate Array)に対し、動的に回路を再構成することを目的としたプロセッサ(ダイナミック・リコンフィグラブル・プロセッサ)が提案されており、たとえば、国際公開WO02/095946号を挙げることができる。この国際公開WO02/095946号には、2次元に複数のエレメントが配置されたマトリクスと称される領域を有し、マトリクス内に縦横に配置された配線群の接続を切り替えることにより複数のエレメントによりフレキシブルにデータフロー(データパス)を再構成できるようにしている。動的に再構成可能な構成は、これに限定されるものではなく、エレメントをツリー状に接続したり、隣り合うエレメント同士を接続し、エレメントを通信経路として用いる構成などもある。 For FPGA (Field Programmable Gate Array), a processor (dynamic reconfigurable processor) for dynamically reconfiguring a circuit has been proposed. For example, International Publication WO02 / 095946 is cited. Can do. This International Publication No. WO02 / 095946 has a region called a matrix in which a plurality of elements are arranged two-dimensionally, and a plurality of elements can be switched by switching the connection of wiring groups arranged vertically and horizontally in the matrix. The data flow (data path) can be reconfigured flexibly. The dynamically reconfigurable configuration is not limited to this, and there is a configuration in which elements are connected in a tree shape, adjacent elements are connected, and the elements are used as communication paths.
複数のエレメントにより構成される回路を動的に再構成しようとした場合、各エレメントに対し、その機能を制御する構成データ(コンフィグレーションデータ)をタイムリーに提供できることが重要である。コンフィグレーションデータを送受信するために多大なサイクルを消費するようなデータ伝送方法は、再構成に時間を要し、動的再構成プロセッサには適さない。したがって、回路側を構成モードに変更してクロックまたはアドレスを出力して、構成データを取得し、構成の変更が終了すると構成データの送信を停止するという多数のステップを要するデータ伝送方法は動的再構成プロセッサには適した方法とは言えない。 When a circuit composed of a plurality of elements is dynamically reconfigured, it is important that configuration data (configuration data) for controlling the function can be provided to each element in a timely manner. A data transmission method that consumes a large number of cycles to send and receive configuration data requires time for reconfiguration and is not suitable for a dynamic reconfiguration processor. Therefore, the data transmission method that requires many steps of changing the circuit side to the configuration mode, outputting the clock or address, obtaining the configuration data, and stopping the transmission of the configuration data when the configuration change is completed is dynamic. This is not a suitable method for reconfigurable processors.
シリアル・データを転送する代わりに、回路を構成する複数のエレメントに対してバス接続によりパラレルにデータを転送する方法は、データの転送時間を短縮できる点で優れている。しかしながら、大規模な回路を再構成可能なプロセッサで実現する場合、コンフィグレーションデータを転送する対象となるエレメント数が膨大になり、バス幅が大きくなる。そのため、コンフィグレーションデータを転送するためのハードウェアリソースが大きくなり、プロセッサが大型で高価なものになる。共有バス形式を採用することによりハードウェアリソースの問題は多少改善される。しかしながら、各エレメントをアドレスで指定してバスを占有した状態でデータを転送する必要があるので転送に要する時間は増加する。共有バス形式の代わりに、データパケットをフリッツと称される小片に分けて複数のエレメントを数珠繋ぎにして転送するワームホールルーティングという転送方法もある。しかしながら、データの送信先のエレメントに到達するルートが空いていないと、デッドロック状態となり常に安定した条件でデータを転送することは難しい。 A method of transferring data in parallel by bus connection to a plurality of elements constituting a circuit instead of transferring serial data is excellent in that the data transfer time can be shortened. However, when a large-scale circuit is realized by a reconfigurable processor, the number of elements to which configuration data is transferred becomes enormous and the bus width increases. Therefore, hardware resources for transferring configuration data are increased, and the processor is large and expensive. By adopting a shared bus format, the hardware resource problem is somewhat improved. However, since it is necessary to transfer data while designating each element with an address and occupying the bus, the time required for the transfer increases. Instead of the shared bus format, there is also a transfer method called wormhole routing in which data packets are divided into small pieces called Fritz and a plurality of elements are connected in a daisy chain. However, if there is no available route to reach the data transmission destination element, it becomes a deadlock state and it is difficult to always transfer data under stable conditions.
さらに、これらのデータ伝送方法では、送信側が受信側に対してデータ転送がレディーをアナウンスし、受信側が送信側にデータを受信できる状態であることをアナウンスするという手続きが必要であり、その手続きに要する処理時間あるいはハードウェアが必要となる。そして、再構成可能な大規模な回路を実現しようとした場合、これらのデータ転送のための前および後処理のための時間あるいはハードウェアが無視できないものとなる可能性がある。 Furthermore, these data transmission methods require a procedure in which the sending side announces that the data transfer is ready to the receiving side, and the receiving side announces that the sending side is ready to receive data. It requires processing time or hardware. When a large-scale reconfigurable circuit is to be realized, there is a possibility that the time or hardware for pre-processing and post-processing for data transfer cannot be ignored.
そこで、本発明においては、簡易な構成で、常に安定した状態でデータを転送できる伝送方法およびデータ処理装置を提供することを目的としている。また、データ転送の前後処理のために要する時間あるいはハードウェアを省略することができる伝送方法およびデータ処理装置を提供することを目的としている。 Therefore, an object of the present invention is to provide a transmission method and a data processing apparatus that can transfer data in a stable state with a simple configuration. It is another object of the present invention to provide a transmission method and a data processing apparatus that can omit the time or hardware required for pre- and post-processing of data transfer.
本発明においては、複数のプロセッシングエレメントのそれぞれに対応する複数のレジスタを含むレジスタ群のレジスタを予め直列に接続してシフトレジスタ方式の転送路を形成する。そして、その転送路を使用し、レジスタ群に含まれるレジスタの間で、複数のデータ領域を順番に、継続して転送する工程と、レジスタ群の1のレジスタに転送されたデータ領域を、そのレジスタに対応するプロセッシングエレメントが使用可能であれば、そのデータ領域のデータを読出し、および/またはデータ領域にデータを書き込む入出力工程とを有するデータ伝送方法を本発明では提供する。また、本発明においては、複数のプロセッシングエレメントと、これら複数のプロセッシングエレメントのそれぞれに対応する複数のレジスタを含むレジスタ群であって、レジスタ群の含まれるレジスタが予め転送路を形成するように直列に接続され、それらのレジスタの間で、複数のデータ領域を順番に、継続して転送するレジスタ群とを有するデータ処理装置を提供する。このデータ処理装置においては、プロセッシングエレメントは、複数のレジスタのうち、当該プロセッシングエレメントに対応するレジスタに転送されたデータ領域が、当該プロセッシングエレメントで使用可能であれば、そのデータ領域のデータを読出し、および/またはデータ領域にデータを書き込む入出力手段を備えている。 In the present invention, a register of a register group including a plurality of registers corresponding to each of a plurality of processing elements is connected in series in advance to form a shift register type transfer path. Then, using the transfer path, a step of continuously transferring a plurality of data areas in order between the registers included in the register group, and a data area transferred to one register of the register group, If a processing element corresponding to a register is usable, the present invention provides a data transmission method including an input / output step of reading data in the data area and / or writing data in the data area. In the present invention, a register group including a plurality of processing elements and a plurality of registers corresponding to each of the plurality of processing elements, wherein the registers included in the register group form a transfer path in advance. And a register group that sequentially transfers a plurality of data areas between these registers. In this data processing device, if the data area transferred to the register corresponding to the processing element among the plurality of registers is usable in the processing element, the processing element reads the data in the data area, And / or input / output means for writing data into the data area.
このデータ伝送方法およびデータ処理装置においては、予め直列に接続された複数のレジスタにより転送路が形成されている。また、データそのものではなく、データ領域を転送する。この明細書においてデータ領域とは、データを格納するために配分された領域を示し、コンフィグレーションデータなどのプロセッシングエレメントにおいて利用可能な、あるいは意味のあるデータがすでに格納されている場合も、ダミーデータとして意味のないデータを格納することにより将来の利用のために領域が確保されている場合も含む。したがって、転送する工程においては、データ領域を転送するので、データがレディーであるか否かを確認したり、データがアクセプタブルであるかを確認したりする必要はなく、接続された上流のレジスタから下流のレジスタに単純にサイクル単位でデータ領域が転送できる。さらに、予め転送路は形成されているので、ルーティングの必要はない。このため、ルーティングのため、さらには、データを転送する際にその前後で信号を交換するために費やされる時間およびハードウェアを省略することができる。 In this data transmission method and data processing apparatus, a transfer path is formed by a plurality of registers connected in series in advance. Also, the data area is transferred instead of the data itself. In this specification, the data area indicates an area allocated for storing data, and dummy data can be used even when data that can be used in a processing element such as configuration data or has meaningful data has already been stored. This includes the case where an area is reserved for future use by storing meaningless data. Therefore, since the data area is transferred in the transfer process, there is no need to check whether the data is ready or whether the data is acceptable, and the connected upstream register. The data area can be simply transferred in a cycle unit to the downstream register. Furthermore, since the transfer path is formed in advance, there is no need for routing. For this reason, the time and hardware spent for exchanging signals before and after data transfer can be omitted.
転送路を構成するレジスタを集中して並べてシフトレジスタを形成し、そのシフトレジスタとプロセシングエレメントを適当な配線で接続するような配置配線も可能である。最も簡易で、配線遅延もない配置配線は、適当な方向に隣接するプロセッシングエレメント内に配置されたレジスタを接続してシフトレジスタ型の転送路を形成することである。転送路を形成するために消費される配線は最小になり、また、発信地点から受信地点が離れている場合も、シフトレジスタ型の転送路を転送するためのレイテンシーは考慮する必要があるとしても、配線による遅延は考慮する必要がなくなる。プロセッシングエレメント間が物理的に離れている場合は、任意の場所に中継用のシフトレジスタを挿入することが可能であり、それにより制御やハードウェアが追加になることはない。 It is also possible to arrange and wire such that the registers constituting the transfer path are concentrated and arranged to form a shift register and the shift register and the processing element are connected by appropriate wiring. The simplest arrangement and wiring without wiring delay is to connect a register arranged in an adjacent processing element in an appropriate direction to form a shift register type transfer path. The wiring consumed to form the transfer path is minimized, and even when the reception point is far from the transmission point, the latency for transferring the shift register type transfer path needs to be considered. Therefore, there is no need to consider the delay due to wiring. When the processing elements are physically separated from each other, a relay shift register can be inserted at an arbitrary place, and no control or hardware is added.
個々のプロセッシングエレメントでは、入出力工程において、レジスタ群に含まれる複数のレジスタのうち、当該プロセッシングエレメントに対応するレジスタに転送されたデータ領域が、当該プロセッシングエレメントで使用可能であれば、そのデータ領域のデータを読出し、および/またはデータ領域にデータを書き込む。これにより、個々のプロセッシングエレメントは、個々のプロセッシングエレメント宛のメッセージなどのデータを転送路から受信し、他のプロセッシングエレメントまたは制御ユニット宛のメッセージを転送路に投げることができ、プロセッシングエレメント間または制御ユニットとプロセッシングエレメント間でデータを交換できる。したがって、個々のプロセッシングエレメントにおける入力および/または出力処理は独立しており、エレメント間の制御信号は不要である。 In each processing element, in the input / output process, if the data area transferred to the register corresponding to the processing element among the plurality of registers included in the register group is usable in the processing element, the data area Read data and / or write data to the data area. This allows individual processing elements to receive data, such as messages addressed to individual processing elements, from the transfer path and to throw messages addressed to other processing elements or control units to the transfer path, between processing elements or control Data can be exchanged between units and processing elements. Therefore, input and / or output processing in each processing element is independent, and a control signal between elements is unnecessary.
データ領域の使用の可否を含むプロパティをプロセッシングエレメントで制御することができる。データ領域が自己のプロセッシングエレメント宛になっていれば、そのデータ領域のデータあるいはメッセージをダウンロードすることができ、また、データ領域が未使用であれば自己のデータあるいはメッセージを送信するために利用できる。プライオリティを設定すれば、他のエレメントが使用中のデータ領域でも緊急度の高いメッセージの交換のために使用するデータ伝送方法を提供できる。転送路に接続された制御ユニットが、複数のデータ領域のプロパティを決定することも可能である。制御ユニットがデータの発信元であれば、受信先のエレメントを指定したデータ領域を送り出すことができる。また、あるエレメントから他のエレメントにデータを転送する場合は、そのようなプロパティをデータ領域にセットして送りだすことにより、転送路のトラフィックを制御できる。 Properties including the availability of the data area can be controlled by the processing element. If a data area is addressed to its own processing element, data or messages in that data area can be downloaded, and if the data area is unused, it can be used to send its own data or message. . By setting the priority, it is possible to provide a data transmission method used for exchanging messages with a high degree of urgency even in a data area being used by another element. It is also possible for the control unit connected to the transfer path to determine the properties of a plurality of data areas. If the control unit is a data transmission source, it is possible to send out a data area in which a destination element is designated. When data is transferred from one element to another element, the traffic on the transfer path can be controlled by setting such a property in the data area and sending it out.
転送路が閉じていることは有効である。閉じていない場合は、上流のエレメントから下流のエレメントにしかデータを送れないが、閉じていれば下流のエレメントから上流のエレメントにデータを転送できる。制御ユニットは、あるエレメントからデータを入手したい場合は、そのエレメントが使用するようにデータ領域をセットして送り出すことにより、閉じた転送路によりエレメントからの応答を得ることができる。そのために、データ領域に、入出力工程における処理およびその処理の対象となるアドレスを指示するデータをセットすることができる。データ領域に対するプロセッシングエレメントの処理時間を確保するために、複数のレジスタを1つのプロセッシングエレメントに割り当てた転送路も可能である。 It is effective that the transfer path is closed. If it is not closed, data can be sent only from the upstream element to the downstream element, but if it is closed, data can be transferred from the downstream element to the upstream element. When the control unit wants to obtain data from an element, the control unit can obtain a response from the element through a closed transfer path by setting and sending out the data area to be used by the element. Therefore, data indicating the process in the input / output process and the address to be processed can be set in the data area. In order to secure processing time of the processing element for the data area, a transfer path in which a plurality of registers are assigned to one processing element is also possible.
送受信可能なデータ量と同じあるいは大きな容量のレジスタは基本的に不要である。1つのデータ量が大きなときは、入出力工程においてプロセッシングエレメント毎に独立した処理が行われるデータ単位を、連続した複数のデータ領域により伝送することが可能である。すなわち、本発明の転送路とデータ領域とを用いることにより、データパケットをレジスタのサイズに分割して数珠繋ぎに転送することができる。連続した複数のデータ領域を用いて伝送することにより、最初のデータ領域に送信先を設定することにより後続のデータ領域の管理が可能となる。本発明のデータ伝送方法は、データパケットが大きくなっても、それを転送するためにデータパケット全体を一時的にバッファリングする必要はない。直列に接続されたシフトレジスタの量が増加すると、レイテンシーが大きくなる可能性はあるが、バッファリングによる遅延は増加しない。共有バスシステムと比較すると、送受信側でパケット全体をいったんバッファリングする必要がないので、その分、処理時間は減少する。 A register having the same or larger capacity as the amount of data that can be transmitted and received is basically unnecessary. When one data amount is large, it is possible to transmit a data unit, which is processed independently for each processing element in the input / output process, by a plurality of continuous data areas. That is, by using the transfer path and the data area of the present invention, the data packet can be divided into register sizes and transferred in a daisy chain. By transmitting using a plurality of continuous data areas, it is possible to manage subsequent data areas by setting a transmission destination in the first data area. In the data transmission method of the present invention, even if a data packet becomes large, it is not necessary to temporarily buffer the entire data packet in order to transfer it. As the amount of shift registers connected in series increases, latency may increase, but delay due to buffering does not increase. Compared to the shared bus system, the entire packet does not need to be buffered once on the transmission / reception side, so the processing time is reduced accordingly.
しかしながら、多数のプロセッシングエレメントを有するデータ処理装置において、レイテンシーを低減したい場合は、複数の転送路を設け、分配ユニットによりそれら複数の転送路を制御ユニットに接続し、複数のデータ領域を、それぞれのデータ領域を使用可能なプロセッサエレメントが属する転送路に振り分けることができる。この振り分ける工程を設けることにより、所望のプロセッシングエレメントに到達する転送路を形成するシフトレジスタの段数が減るのでレイテンシーが減少する。 However, in a data processing apparatus having a large number of processing elements, when it is desired to reduce the latency, a plurality of transfer paths are provided, and the plurality of transfer paths are connected to the control unit by a distribution unit, and a plurality of data areas are connected to The data area can be allocated to the transfer path to which the usable processor element belongs. By providing this distribution step, the number of shift registers forming a transfer path reaching a desired processing element is reduced, so that the latency is reduced.
さらに、これら複数の転送路が、それぞれのレイテンシーが同一の閉じた転送路であれば、制御ユニットは、分配ユニットを介して複数の転送路に順番に送り出したデータ領域を衝突することなく受信することができる。このため、本発明により、複数の転送路を用いたデータ伝送方法であって、特別な制御を必要としないデータ伝送方法を提供できる。 Further, if the plurality of transfer paths are closed transfer paths having the same latency, the control unit receives the data areas sequentially sent to the plurality of transfer paths via the distribution unit without colliding with each other. be able to. Therefore, according to the present invention, it is possible to provide a data transmission method using a plurality of transfer paths, which does not require special control.
本発明を適用する好適な形態は、複数のプロセッシングエレメントを有するデータ処理装置であって、複数のプロセッシングエレメントの機能を変更することにより、それら複数のプロセッシングエレメントの接続からなる回路の構成を再構成できるものである。各々のプロセッシングエレメントは、機能を変更可能なデータパス領域と、このデータパス領域を設定するための複数のコンフィグレーション情報を記憶するメモリとを備えている。伝送経路をメリーゴーランドのように動くデータ領域にコンフィグレーションデータを格納して所望のプロセッシングエレメントに転送することにより、簡易な機構により、コンフィグレーションデータをタイムリーに供給できる。入出力工程では、データ領域からメモリにデータを転送し、再構成可能な回路領域を再構成できる。また、制御ユニットから出力用のデータ領域を送って、所望のプロセッシングエレメントのメモリからデータ領域にデータを転送することにより、制御ユニットにデータを送ることができる。 A preferred embodiment to which the present invention is applied is a data processing apparatus having a plurality of processing elements, and by reconfiguring the function of the plurality of processing elements, the configuration of a circuit formed by connecting the plurality of processing elements is reconfigured It can be done. Each processing element includes a data path area whose function can be changed, and a memory that stores a plurality of configuration information for setting the data path area. By storing the configuration data in a data area that moves like a merry-go-round on the transmission path and transferring it to a desired processing element, the configuration data can be supplied in a timely manner with a simple mechanism. In the input / output process, data can be transferred from the data area to the memory, and a reconfigurable circuit area can be reconfigured. Further, the data can be sent to the control unit by sending the data area for output from the control unit and transferring the data from the memory of the desired processing element to the data area.
複数のデータ領域に格納される情報はプレーンな情報である必要はない。暗号化されたデータを格納する領域を設けることができ、データ領域全体が暗号化されている場合も含まれる。入出力工程および入出力手段では、データ領域のデータを読出してデコードし、また、データ領域に暗号化したデータを書き込むことができる。 Information stored in a plurality of data areas need not be plain information. An area for storing the encrypted data can be provided, and the case where the entire data area is encrypted is also included. In the input / output process and the input / output means, data in the data area can be read and decoded, and encrypted data can be written in the data area.
本発明においては、複数のプロセッシングエレメントに対応する複数のレジスタを直列に接続した転送路を使用し、各プロセッシングエレメントが利用できるデータ領域をメリーゴーランドのように巡回させることによりエレメント間およびエレメントと制御ユニット間のデータを交換する。シフトレジスタ型の転送路をデータ領域が循環し、個々のエレメントがそれを利用する形態なので、データを転送するためのハードウェアは簡易であり、さらに、フロー制御も不要となる。このため、多数のプロセッシングエレメントを搭載するデータ処理装置、例えば、再構成可能なLSIにおいて、プロセッシングエレメントに対して個別にコンフィグレーション情報を供給するためのハードウェアリソースを削減でき、コンパクトで低コストの再構成可能なLSIを提供できる。 In the present invention, a transfer path in which a plurality of registers corresponding to a plurality of processing elements are connected in series is used, and a data area that can be used by each processing element is circulated like a merry-go-round, between elements and between the element and the control unit. Exchange data between. Since the data area circulates through the shift register type transfer path and each element uses it, hardware for transferring data is simple, and flow control is also unnecessary. For this reason, in a data processing apparatus equipped with a large number of processing elements, for example, a reconfigurable LSI, hardware resources for supplying configuration information to the processing elements individually can be reduced, and the compact and low cost can be achieved. A reconfigurable LSI can be provided.
図1に、データ処理装置の一例を示してある。このデータ処理装置1は、チップ化されたプロセッシングユニット(PU)であり、再構成可能な領域19と、この再構成可能な領域19を再構成する機能、および入出力を制御する機能などの周辺機能をサポートする、構成が固定された領域とを備えている。
FIG. 1 shows an example of a data processing apparatus. This
再構成可能な回路領域19は、図1において複数のセグメント10から15に分かれて記載されているが、図2に示すように、複数のエレメントがアレイまたはマトリクス状に2次元に配置されており、マトリクスと称される構成である。本例のマトリクス19は、縦横に2次元に配置された複数のプロセッシングエレメント(PE)21と、それらの間に格子状に配置された配線22と、配線22の接続ポイントで縦横の配線22の接続を自由に切り替えることができるスイッチングユニット23とを備えている。PE21は、ルックアップテーブルなどにより自在に機能を設定可能なものであっても良い。本例では、算術論理演算用のエレメント、遅延用のエレメント、メモリ用のエレメント、データを入力または出力するためにアドレスを発生させるエレメント、データの入力または出力用のエレメントなど、ある程度の機能グループに分けて、それぞれの処理に適した内部構成のエレメントを配置することによりマトリクス19のスペース効率を向上している。また、ある程度の機能グループに分けたエレメントを配置することにより冗長性が減少するのでAC特性および処理速度も向上できるといったメリットを得ている。
The
図3および図4は、PE21の一例である。PE21は、機能を変更可能な内部データパス領域29と、その内部データパス領域29の機能を設定する設定ユニット60とを備えている。図3に示したPE21aの内部データパス領域29aは、カウンタなどからなるアドレス発生回路28と、セレクタSELとを備えており、設定ユニット60により設定された条件で生成されたアドレスが出力信号doとして配線22に出力される。この出力信号doは、行配線および列配線を介して、そのまま、あるいは、他のPE21によって処理された後に入力信号dixあるいはdiyとしてPE21aにフィードバックされる。そして、設定ユニット60によりセットされた条件でセレクタSELが選択したアドレスがマトリクス19からデータ入力あるいは出力用のアドレスとして出力される。PE21aは、配線22のいずれかの配線から入力データを選択し、また、出力データを出力するためのセレクタ(不図示)も備えており、それらの設定も設定ユニット60により行われる。
3 and 4 are examples of PE21. The
図4に示したPE21bは、算術演算および論理演算に適した構成である。内部データパス部29bは、シフト回路SHIFT、マスク回路MASK、論理演算ユニットALUを備えている。そして、上記のPE21aと同様に、設定部60により、これらのシフト回路SHIFT、マスク回路MASK、論理演算ユニットALUの状態が設定される。したがって、入力データdixおよびdiyを加算あるいは減算したり、比較したり、論理和あるいは論理積を演算することができ、その結果が出力信号doとして配線(バス)22に出力することができる。
The
図1および図2に示すように、PU1のマトリクス19は、368個のPE21を備えており、それらに対してコンフィグレーションデータを供給する転送路を分けて形成するために6つのセグメント10〜15に形式上分割されている。しかしながら、複数のPE21からデータフローを構成し、入力データを処理するという点では、これらのセグメント10〜15によりPE21が複数にグループ分けされているのではない。したがって、配線群22によりPE21をフレキシブルに接続し、複数のセグメントに跨ったデータフロー(データパス)を自由に構成できるようになっている。
As shown in FIGS. 1 and 2, the
マトリクス19の内部に、複数のPE21により構成されるデータパスで処理されるデータを入出力するインターフェイスが2種類用意されている。1つは、ダイレクト入力31a〜31cおよびダイレクト出力32a〜32cであり、PE21に対して外部から直にデータを入力し、また、出力することができる。ダイレクト入力31a〜31bおよびダイレクト出力32a〜32cを用いて複数のPU1を接続して、データパスを構成するPE21の実数をさらに増やすことができる。これにより、1つのチップ(PU)1では回路要素が不足するようなアプリケーションの処理も複数のチップ1を連結することにより対処できる。
Two types of interfaces for inputting / outputting data to be processed in a data path constituted by a plurality of
PU1は、さらに、他の入力方法として、入力バッファ33と出力バッファ34とを用いてマトリクス19にデータを供給する構成を備えている。入力バッファ33は4つの入力エレメントLDBを備えており、バッファ33の構成および制御をコンフィグレーションデータにより設定できるようになっている。出力バッファ34も同様であり、4つの出力エレメントSTBを備えており、構成および制御をコンフィグレーションデータにより設定できるようになっている。
The
マトリクス19および入出力バッファ33および34に対するコンフィグレーションデータは、シフトレジスタ方式のデータ伝送機構50により、RISC35あるいは他のPU1などから供給される。本例においては、データ伝送機構50は、転送コントロールユニット(TCU)59と、各セグメント10〜15、入力バッファ33および出力バッファ34のそれぞれに張り巡らされた転送路51〜58とを備えている。TCU59は、バススイッチングユニット(バスインターフェイス、BSU)36に接続されており、RISC35はBSU36を介してコンフィグレーションデータをTCU59に供給する。
Configuration data for the
図1に示すようにBSU36には、複数のコンポーネントあるいはインターフェイスが接続されており、RISC35に限らず、これらのコンポーネントあるいはインターフェイスを用いてコンフィグレーションデータをマトリクス19に送り込むことができる。まず、BSU36にはSDRAMインターフェイス37が接続されており、外部メモリからコンフィグレーションデータを提供できる。また、PCIバスインターフェイス38とも接続されているので、PCIバスに接続された外部プロセッサからもコンフィグレーションデータを供給できる。また、その他のコンポーネントとしてDMAC39もBSU36に接続されており、RISC35に変わってコンフィグレーションデータの供給を制御することが可能である。その他に、シリアルインターフェイスコントローラとなる非同期通信機(UART)などの汎用インターフェイス40がバスブリッジ回路41を介してBSU36に接続されている。さらに、BSU36には、マトリクス19の入力バッファ33および出力バッファ34が接続されており、上述したインターフェイスを介してマトリクス19にデータを入出力することができる。
As shown in FIG. 1, a plurality of components or interfaces are connected to the
図5に、データ伝送機構50の各転送路51〜58のさらに詳しいルーティングを示してある。また、図6に、各エレメントにおいて転送路を用いてデータを入出力する機構を示してある。それぞれの転送路51〜56は、図5に示した夫々のセグメント10〜15に含まれるPE21に設けられた1ワード(32ビット)のレジスタ(フリップフロップ)を直列に繋ぐ配線である。転送路51〜56は、主に、それぞれのPE21に対応して設けられた複数のレジスタを直列に接続することにより構成されている。PE21のレジスタの間あるいは前後に独立したレジスタを接続することが可能であり、転送路が長くなったり、レイテンシーの調整を行う必要がある場合は有効である。
FIG. 5 shows more detailed routing of the
図6を参照して、転送路51を例に各々のPE21における構成を説明する。PE21の設定ユニット60は32ビットのレジスタ(FF)61を備えており、32ビットの転送路51により前後に隣接するPE21のFF61と接続されている。したがって、転送路51では、1つのPE21のFF61に伝送された1ワードのデータ75は、1クロックあるいは1サイクルの遅延で次のPE21のFF61に伝送される。
With reference to FIG. 6, the configuration of each
設定ユニット60は、さらに、FF61に格納されたデータ75をデコードするデコーダ62と、データ75を格納するためにバックグラウンドで動作するバックグランド動作部63と、ローカルのデータパス領域29の設定を行うコンフィグレーションデータが格納されるフォアグラウンド動作部64とを備えている。バッググラウンド動作部63は、3バンクのバッググラウンドメモリ65と、FF61に格納されたデータ75をバッググラウンドメモリ65の各バンクと直に出力するラインに振り分けるセレクタ66と、メモリ65のバンクを選択してデータを出力できるセレクタ67とを備えている。フォアグラウンド動作部64は、データパス領域29に供給されている設定データを格納することによりデータパス領域29の現状のコンフィグレーションを維持するフォアグラウンドメモリ68と、フォアグラウンドメモリ68に、バッグラウンドメモリ65または転送路51のFF61からのデータを選択して供給するセレクタ69を備えている。フォアグラウンドメモリ68にロードするコンフィグレーションデータ(設定データ)を選択するセレクタ67および69は、選択信号を選択するための第2のセレクタ72および70により制御され、転送路51によりFF61にセットされたデータおよびフォアグラウンドメモリ68に設定されたコンフィグレーションデータから制御することができる。セレクタ67および69は、RISC35からダイレクトに供給される信号により制御するようにしても良い。
The setting
設定ユニット60は、下流のPE21のFF61に供給するデータ75を、自己のPE21のFF61のデータ、バッググラウンドメモリ65のバンクのデータ、さらにフォアグラウンドメモリ68のデータのいずれかから選択できる出力セレクタ71を備えている。デコーダ62は、自己のPE21のFF61に転送されたデータ75を解析することにより、出力セレクタ71を切り替えて下流のPE21のFF61に転送されるデータ75を選択する。
The setting
図7に、転送路51を用いたデータ伝送方法を実現するデコーダ62の処理の概要を示してある。ステップ81において、FF61に転送されたデータ75が自己のPE21が処理するデータか否かを判断する。自己のPE21が処理すべきデータでないときは、ステップ87でセレクタ71をスルーにする。次に、FF61に転送されたデータ75が、自己のPE21が処理するデータであり、ステップ82において、制御用のデータであると判断すれば、ステップ83においてデコーダ62はフォアグラウンドメモリ68に関連するセレクタを切り替えてフォアグラウンドメモリ68の内容を更新する。これにより、ローカルのデータパス領域29の構成が変更になる。ステップ87において、セレクタ71はスルーにセットされたままである。
FIG. 7 shows an outline of the processing of the
FF61に転送されたデータ75が制御用でない場合は、PE21に格納するデータか、あるいはPE21のデータを書き込むためにダミーデータにより予約されたデータ領域である。したがって、ステップ84において、FF61に転送されたデータ75がバックグラウンドメモリ65またはフォアグラウンドメモリ68に格納するデータであれば、ステップ85において、FF61から読み出されたデータを指定されたメモリに格納する。ステップ87において、セレクタ71はスルーにセットされたままである。
When the
一方、ステップ84において、FF61に転送されたデータ75がダミーの場合は、ステップ86においてセレクタ71を切り替えて、下流のPE21のFF61にバックグラウンドメモリ65またはフォアグラウンドメモリ68の内容を転送する。フォアグラウンドメモリ68の内容は、そのPE21の処理状態を示すものであり、処理状態の確認、エラーの有無などをデバッグユニットやRISC35などにおいて判断するために用いられる。バッググラウンドメモリ65の内容は、そのPE21に割り当てられていた機能を示すものであり、例えば、そのPE21にエラーが発生したり、PE21が含まれていたデータフローを構成しなおす必要が生じたときに、代替のPE21にコンフィグレーションデータを転送するときに使用される。
On the other hand, if the
本例のデータ伝送機構50において、各PE21のFF61を接続して形成された転送路51は、クロックあるいはサイクル単位で上流のFF61から下流のFF61にデータ75が転送されるシフトレジスタ方式の転送路である。そして、FF61の間でデータ75の転送を停止あるいはウェイトする制御用の機構はなく、複数のFFの間で、32ビットのデータ75が順番に、継続して転送される。複数のFF61の間で転送されるデータ75は基本的には変更されることはなく、リード要求があったときには、下流のFF61に転送するデータ75がPE21のメモリの出力に置き換えられる。したがって、FF61の間を転送されるワード単位のデータ75は、あるPE21が専用に利用できるように開放あるいは設定されたデータ領域であり、読み出しも、書き込みも可能であるが、FF61により転送されるデータ領域が消滅することはなく、転送路51がデータ領域の転送から開放されることはない。
In the
データ領域は、ある特定の1つのPE21に対して専用であってもよく、転送路51により接続された複数のFF61のそれぞれの所有者である複数のPE21に対して専用であっても良い。したがって、複数のPE21に対して共通のデータあるいはメッセージを、転送路51を用いて発送できる。転送路51により接続されたPE21が、データ領域75の宛先(所有者)、読出し、書き込みといったプロパティを変更する機能を備えていれば、目的を達したデータ領域75のプロパティを変更して他の目的のために利用することができる。本例においては、PE21における機能を簡略化するために、データ領域75のプロパティは、伝送コントロールユニット(TCU)59により一括管理されている。
The data area may be dedicated to one
図5に、TCU59の概略構成を示してある。TCU59は、データ領域管理部91と、このデータ領域管理部91により設定された条件のデータ領域75を各転送路51〜58に集配する配送部92とを備えている。データ領域管理部91は、BSU36とのデータ交換を管理するバス制御部95と、送信部93と、受信部94とを備えている。送信部93は、バッファ96と、暗号処理回路97と、パラメータ設定回路98とを備えている。暗号処理回路97は、データ領域75に格納するデータを暗号化する必要があれば暗号化し、逆に、BSU36から供給された暗号化されたデータを復号する必要があれば復号する。パラメータ設定回路98は、送出するデータ領域75にヘッダーを付けてデータ領域のプロパティを設定する。
FIG. 5 shows a schematic configuration of the
PU1においては、全ての転送路51〜58は閉じており、TCU59から送出したデータ領域75はTCU59に戻るようになっている。さらに、TCU59の受信部94は、転送路51〜58から戻されたデータ領域75を受信するリード用FIFO99と、受信したデータ領域75に含まれるデータにより、そのデータ領域75をバス制御ユニット95に出力するか、送信部93に供給して同じまたは別の転送路51〜58を介して他のPE21に供給するかを選択可能なセレクタ105を備えている。
In PU1, all the
配送部92は、送信部93から出力されたデータ領域75を宛先のPE21が属する転送路51〜56のいずれかに分配して出力するセレクタ101を備えている。PE21は、いずれかのセグメント10〜15に属しており、データ領域(少なくともデータ単位の先頭になるヘッダーを格納したデータ領域)75は、セグメントの情報を備えているので、その情報により転送路を選択できる。さらに、PU1では、入力バッファ33と出力バッファ34の制御もデータ伝送機構50により行おうとしており、それぞれを構成するエレメントを接続する転送路57および58が設けられている。配送部92は、さらに、各転送路51〜58から戻ったデータ領域75を集めて受信部94に供給するセレクタ102を備えている。PU1では、各転送路51〜58のレイテンシーは同一になるように設計されているので、集合用のセレクタ102は、転送路51〜58を選択する必要はなく、各転送路51〜58を一巡したデータ領域75は、衝突せずに受信部94に回収される。
The
セグメント10〜15には、ほぼ同数のPE21が配置されており、それぞれのセグメントに含まれるPE21にそれぞれに対応するFIFO(レジスタ)61をレジスタ群とし、それらレジスタを直列に通過する転送路51〜56のレイテンシーは同じになるようにアレンジされている。すなわち、シフトレジスタ型の各転送路51〜56を構成するレジスタ群のFF61の数は同数になるようにアレンジされている。バッファ用の転送路57および58もセグメントとレイテンシーが一致するように、各転送路を構成するFFの数が決定されている。したがって、送信部93から順番に送出されたデータ領域75は、その順番を崩さずに各転送路51〜58を転送され、集合用のセレクタ102に送出した順番に到達する。このため、受信部94が、到達した順番にデータ領域75のデータをバス制御ユニット95およびBSU36を介してRISC35に送ると、RISC35は、送出部93により出力した順番のデータを得ることができる。したがって、RISC35は、各々のPE21が物理的にどのセグメントのどの位置に配置されているかを意識する必要はなく、セグメントとセグメント内のアドレスが分かる情報を付けてデータを出力するだけで、所望のPE21にデータを供給でき、また、所望のPE21のデータを取得することができる。
The
PE21に発送されるデータは1ワードとは限らず、多くのケースでは数ワードあるいはそれ以上になる。したがって、PEにより独立した処理が行われる、すなわち、読出したり書き込んだりする処理が行われるデータ単位は1つのデータ領域75だけで送信できることは少なく、複数のデータ領域が消費される。複数のデータ領域75のそれぞれにヘッダーを設けても良いが、ヘッダーにより消費される領域を低減する。このために、本例のPU1においては、各々のPE21で独立した処理が行われるデータ単位を連続した複数のデータ領域75により伝送し、パラメータなどのデータの管理情報は、先頭のデータ領域75のヘッダーにできるだけ格納することによりデータ転送効率を向上している。したがって、1ワード以上のパケットは複数に分けて数珠繋ぎに転送路51のFF61を転送される。
Data sent to the
図8(a)にヘッダーの構成を示してある。本例においては、ヘッダー76に1ワードを消費するので、最初に転送路51を伝送されるデータ領域75はヘッダー76が格納される。フィールド76aは、セグメント番号であり、TCU59の配送部92は、フィールド76aの値により振り分ける転送路51〜58を決定する。フィールド76bおよび76cは、宛先のPE21のセグメント内のX位置およびY位置を示す情報である。したがって、フィールド76a〜76cがデータ領域75の所有者となるPE21を特定するアドレス情報であり、PE21の設定ユニット60では、これらの情報をデコードすることにより自己宛のデータ領域であるか否かを判断する。フィールド76dはライトアクセスとリードアクセスとを判別するためのフィールドである。ライトであれば、後続のデータ領域75にはPE21のメモリに書き込むデータが格納されている。リードであれば、後続するデータ領域75にはダミーデータが格納されており、PE21は指定されたメモリの情報をダミーデータに代えてデータ領域75として出力し、後続のPE21のFF61に送り出すことになる。
FIG. 8A shows the configuration of the header. In this example, since one word is consumed in the
フィールド76eは、複数のデータ領域75によりデータが転送されていることを示し、フィールド76fは、ヘッダーを格納したデータ領域75に続くデータを格納したデータ領域75の数を示す。したがって、図8(b)に示すように、ヘッダーにより宛先として指定されたPE21は、ヘッダーのデータ領域75に続き、連続してFF61に転送されてくるデータ(例えばコンフィグレーションデータ)77のデータ領域75を、ヘッダーで指定された数だけ自己の所有するデータ領域であると判断し、それらのデータ領域75に対してデータの入出力を行う。フィールド76gは、ヘッダーに続き、1つではなく複数のデータ領域75がバースト転送されることを示す。PE21のバックグラウンドメモリ65およびフォアグラウンドメモリ68は、バーストアクセスにより連続した入出力が可能な構成となっている。バーストアクセスでは、バースト回数を指定したり、バースト回数を固定する方式を採用できる。また、回数を指定する代わりに、PE21のメモリの指定されたアドレスからデータを次々と格納し、予め設定されたアドレスまで書き込んだときにバーストアクセスを終了する方式も採用できる。読出しも同様である。データを入出力するアドレスと、入出力するデータ量を同時に指定することが可能となり、ヘッダーのデータ量を削減できる。
A
フィールド76hは、各々のPE21においてデータを格納し、あるいは読み出すバンク番号を示している。バンク番号を指定することにより、ライトアクセスのときはデータ領域75により転送されたデータ77は、バックグラウンドメモリ65またはフォアグラウンドメモリ68の指定されたバンクに書き込まれる。リードアクセスのときは、データ領域75を確保するために転送されたダミーデータが、指定されたバンクのデータにより置き換えられて次のFF61に転送される。
A
フィールド76iは、暗号化/非暗号化の選択用であり、このビットにより暗号化パケットであるか否かを判断する。暗号化されたデータが送られてきた場合は、そのデータが読み出されるときも暗号化して出力する。暗号化/非暗号化の切り分けは自由に設定でき、チップ単位、セグメント単位、エレメント単位、さらにはバンク単位で指定することができる。また、フィールド76jは、CRCを指定するために用いられる。これにより、データ領域75に格納されたデータあるいはメッセージの信頼性を向上できる。
The field 76i is for selection of encryption / non-encryption, and it is determined by this bit whether or not it is an encrypted packet. When encrypted data is sent, it is also encrypted and output when the data is read. The encryption / non-encryption separation can be freely set, and can be specified in chip units, segment units, element units, or bank units. The
ヘッダー76は、上記以外の設定も可能である。例えば、1つで制御用のパケットとして機能させることも可能である。データ領域75が巡回する全てのPE21に対してデータあるいはメッセージを提供するブロードキャスト用に利用できる。セグメント単位の制御に適しており、セグメント単位でパワーダウンさせることができる。さらに制御用のデータはTCU59の送信部93の設定にも利用できる。RISC35により制御パケット用のヘッダーをPE21に転送するのと同様の手続きで出力すれば、その制御パケットはTCU59を通過するので、TCM59の設定にも利用できる。パラメータ設定回路98のバンク番号を指定することにより、それ以降の全てのデータ領域75により転送されるデータを同一のバンクに格納するように設定できる。
The
図9に、転送路51によりPE21に伝送可能な幾つかのパケットの例を示してある。図9(a)は制御パケットであり、データ領域75にヘッダー76を格納し、単独で伝送することにより、ヘッダー76により指定されたPE21を制御できる。図9(b)は、シングルライトアクセスパケットであり、転送路51を構成するFF61を、ヘッダー76を格納したデータ領域75に続いてライトデータを格納したデータ領域75が転送される。図9(c)は、バーストライトアクセスパケットであり、ヘッダー76を格納したデータ領域75に続いてライトデータを格納した複数のデータ領域75が転送路51を転送される。
FIG. 9 shows examples of some packets that can be transmitted to the
図9(d)は、シングルリードアクセス要求パケットであり、ヘッダー76を格納したデータ領域75に続いて、ダミーデータを格納したデータ領域75が転送路51を伝送される。そして、図9(e)に示すように、シングルリードアクセス応答パケットが閉回路となっている転送路51により戻される。シングルリードアクセス応答パケットとして、ヘッダー76を格納したデータ領域75に続いて、目的のPE21においてダミーデータがリードデータ78に置き換わったデータ領域75が伝送される。図9(f)は、バーストリードアクセス要求パケットであり、ヘッダー76を格納したデータ領域75に続いて、ダミーデータを格納した複数のデータ領域75が転送路51を伝送される。そして、図9(g)に示すバーストリード応答パケットが閉回路の転送路51により戻される。バーストリード応答パケットとして、ヘッダー76を格納したデータ領域75に続いて、所望のPE21においてダミーデータがリードデータ78に置き換わった複数のデータ領域75が伝送される。
FIG. 9D shows a single read access request packet. The
RISC35が、マトリクス19のPE21に対する通信管理を行う制御ユニットであれば、RISC35は、宛先のPE21に書き込みたいデータを、そのPE21を特定するヘッダーデータを有するパケットとしてTCU59に送ると、TCU59は、書き込みたいデータをデータ領域75に分割して転送路、例えば転送路51に送り出す。そして、PE21が自己宛のデータ領域75を受け取ると、そのデータ領域75に含まれているデータをメモリに書き込む。したがって、RISC35は、そのPE21の物理的な位置を知らなくても所望のPE21にデータを書き込むことができる。
If the
また、RISC35が、所望のPE21からデータを読み出したいときは、そのPE21を特定するヘッダーデータと読み出したいデータ量が分かるデータとを有するパケットをTCU59に送る。TCU59は、ダミーデータにより読み出したいデータ量を格納可能なデータ領域75を確保し、転送路51に送り出す。PE21は、自己宛のデータ領域75を受け取ると、ダミーデータの代わりに指定されたデータを転送路51に送り出す。したがって、そのPE21に予め割り当てられたタイミングを使用して、ローカル側からデータを、転送路51を介してRISC35に供給することができる。
When the
このシフトレジスタ型のデータ伝送機構50では、転送路に属するPE21が使用するデータ領域75が予約されているので、データの送受信中に転送路を移動するデータ量が増減することはなく、また、異なるPE21に対する入出力が競合することもない。したがって、転送路を形成するFF61の間で、サイクル単位でデータ領域75を継続して転送することが可能であり、データ領域75の転送を中止したり、待機する必要はない。このため、伝達途中のデータの入出力のタイミングを管理するハードウェアおよびソフトウェアは不用となり、極めてシンプルな構成で所望のPE21に対してデータを入力でき、また、データを読出しできる。転送路を構成するFFを転送されるデータ領域75は、1ワードの窓のように取り扱うことが可能となり、RISC35は、その窓にパケットを書き込むことにより転送路にデータを流すことができる。また、PE21においては、自己宛のデータ領域75は、窓が開いた状態となり、その窓からデータを読み込み、またデータを書き込むことができる。他のPEに宛てたデータ領域75は、窓を閉めたまま次のPE21のFFにスルーされる。
In this shift register type
さらに、このデータ伝送機構50は、転送路がシフトレジスタにより構成されるので、RISC35から出力されたパケットデータを全てバッファリングする必要はない。TCU59にRISC35から供給されたデータは、1ワードずつ次々と転送路に出力することができる。したがって、BSU36などを介することによる影響を受けるとしても、基本的にはRISC35から出力される速度で、RISC35に待機させることもなく、データのバッファリングに時間を浪費することなく、データを転送路51〜58に送出することが可能である。したがって、このデータ伝送機構50は、簡易な構成で高速なデータ転送システムである。
Further, in this
転送路を構成する多数のFFを介してデータが伝送されるために所望のPE21にデータが到達するタイミングが遅くなる可能性がある。しかしながら、パケットデータをFIFOなどによりバッファリングすることを考えると、転送路を構成するFFの数がパケットデータのワード数に対して非常に多い場合を除けば、データの到達時間の差はない。バッファリングを繰り返すシステムであれば、本例のデータ伝送機構50の方が最初にデータが到達する時間も短縮される。また、転送路のレイテンシーが大きいときは、転送路のバンド幅を広げることで短縮することも可能であるが、ハードウェアリソースがかなり増加する。これに対し、本例のPU1のように、転送路をセグメント毎に分割することにより個々の転送路のレイテンシーを縮小する設計が可能である。転送路をセグメント毎に分割することにより、ハードウェアリソースの増加も防止でき、また、各PEにおいてはセグメントをデコードする必要がなくなるのでデコーダ62の構成が簡易になる。
Since data is transmitted through many FFs constituting the transfer path, there is a possibility that the timing at which the data reaches the desired
図10に示したデータ処理装置2は、上述したPU1と同じ規模のマトリクス19を4つ備えた大規模な再構成可能なデータ処理装置である。このような大規模でPEの数が4倍に増えた場合も、転送路を各マトリクス毎に分割し、データ領域75を各マトリクス19に振り分ける分配回路5を設けることにより、レイテンシーの増加を防ぐことができる。セグメントより大きなグループ、例えば、マクロセグメントを形成し、転送路を階層化することにより、個々の転送路に含まれるシフトレジスタの段数は少なくなる。このため、階層化された転送路によりレイテンシーは減少するが、その一方で、階層化された転送路を指定する情報が増大し、ヘッダーが大きくなる。ヘッダーが大きくなると1つのデータ領域75では伝送できなくなる可能性があり、オーバーヘッドが増加し通信速度が低下する。この場合、分配回路をルート設定するための制御用パケットを出力し、分配回路により選択される転送路を固定することが可能である。次の制御用パケットにより転送路が切り替えられるまで、転送路を指定する情報を出力する必要がないので、ヘッダー情報を削減でき、ヘッダー情報を伝達することによりオーバーヘッドの増加を防止できる。
The
上記では、データ伝送機構50を介してRISC35より各PE21のコンフィグレーションデータを更新する例を説明したが、コンフィグレーションデータはRISC35に限らず、BSU36に接続されたコンポーネントであればいずれからでも供給できる。DMAC39により、RISCのメモリ空間にマッピングされている各種メモリ(SDRAM、PCIバス)からTCU59にコンフィグレーションデータを転送し、PE21に供給することができる。コンフィグレーションデータが外部メモリから暗号化されて供給されている場合、マトリクス19に復号用の回路を構成し、暗号化されたコンフィグレーション情報をマトリクス19の機能を使って復号して、BSU36を介してTCU59に供給する。そして、マトリクス19の各PE21に復号化されたコンフィグレーションデータを供給することができる。PU1にコンフィグレーションデータを一時的に蓄積するRAMを設けておくことも有効である。マトリクス19により復号されたコンフィグレーションデータを格納したり、外部メモリから供給されるコンフィグレーションデータを格納しておくことにより、マトリクス19の処理状況や、BSU36の処理状況に関わらず、複数のコンフィグレーションデータをRAMに一時的に格納しておける。このため、コンフィグレーション情報の入れ替え指示によりTCU59からPE21に確実に、タイムリーに供給することができる。
In the above description, the configuration data of each
PE21において、設定ユニット60とデータパス部29のクロック信号を個別に管理できるようにしておくことは望ましい。設定ユニット60のうち、特に、転送路51によりデータを転送するデータ伝送機構50に含まれる回路へのクロック信号を停止させずに、データパス部29のクロック信号を停止あるいは周波数を遅くできる機能を設けておくことが望ましい。コンフィグレーションデータの転送に影響を与えずに、個々のPE21の消費電力を削減することができ、木目細やかな電力制御が行える。
In the
また、上記では、RISC35とPE21との間でデータあるいはメッセージを交換する例を説明しているが、PE21の間でも転送路51を用いてデータを交換できる。さらに、上記では、TCU59に、下りの転送路51から上りの転送路51さらには異なる転送路52〜56のいずれかにデータ領域75を転送できる回路105を設けてある。このため、上流のPE21から下流のPE21にデータを供給だけではなく、下流のPE21から上流のPE21にもデータを供給でき、異なる転送路に含まれるPE21の間でもデータを交換できる。
In the above description, an example in which data or a message is exchanged between the
1、2 データ処理装置(PU)
10〜15 セグメント
19 マトリクス
21 プロセッシングエレメント(PE)
29 内部データパス領域
50 データ伝送機構
51〜58 転送路
59 転送制御ユニット(TCU)
60 設定ユニット
61 フリップフロップ(FF、レジスタ)
75 データ転送領域
1, 2 Data processing unit (PU)
10-15
29 Internal
60
75 Data transfer area
Claims (18)
前記レジスタ群の1のレジスタに転送されたデータ領域を、そのレジスタに対応するプロセッシングエレメントが使用可能であれば、そのデータ領域のデータを読出し、および/または前記データ領域にデータを書き込む入出力工程とを有するデータ伝送方法。 Using a transfer path in which a register group including a plurality of registers corresponding to each of a plurality of processing elements is connected in series in advance, and sequentially transferring a plurality of data areas;
An input / output step of reading data in the data area and / or writing data in the data area, if a processing element corresponding to the register can use the data area transferred to one register of the register group A data transmission method comprising:
前記入出力工程では、前記データ領域から前記メモリにデータを転送し、または、前記メモリから前記データ領域にデータを転送する、データ伝送方法。 The processing element according to claim 1, comprising a data path area whose function can be changed, and a memory for storing a plurality of configuration information for setting the data path area.
In the input / output step, a data transmission method of transferring data from the data area to the memory or transferring data from the memory to the data area.
これら複数のプロセッシングエレメントのそれぞれに対応する複数のレジスタを含むレジスタ群であって、予め転送路を形成するように直列に接続され、複数のデータ領域を順番に、継続して転送するレジスタ群とを有し、
前記プロセッシングエレメントは、前記複数のレジスタのうち、当該プロセッシングエレメントに対応するレジスタに転送されたデータ領域が、当該プロセッシングエレメントで使用可能であれば、そのデータ領域のデータを読出し、および/または前記データ領域にデータを書き込む入出力手段を備えているデータ処理装置。 Multiple processing elements,
A register group including a plurality of registers corresponding to each of the plurality of processing elements, connected in series so as to form a transfer path in advance, and sequentially transferring a plurality of data areas in order Have
If the data area transferred to the register corresponding to the processing element among the plurality of registers is usable by the processing element, the processing element reads data in the data area and / or the data A data processing apparatus comprising input / output means for writing data to an area.
前記入出力手段は、前記データ領域から前記メモリにデータを転送し、または、前記メモリから前記データ領域にデータを転送する、データ処理装置。 The processing element according to claim 10, comprising: a data path area whose function can be changed; and a memory for storing a plurality of configuration information for setting the data path area.
The input / output means transfers data from the data area to the memory, or transfers data from the memory to the data area.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003400391A JP4359490B2 (en) | 2003-11-28 | 2003-11-28 | Data transmission method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003400391A JP4359490B2 (en) | 2003-11-28 | 2003-11-28 | Data transmission method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005165435A true JP2005165435A (en) | 2005-06-23 |
JP4359490B2 JP4359490B2 (en) | 2009-11-04 |
Family
ID=34724674
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003400391A Expired - Fee Related JP4359490B2 (en) | 2003-11-28 | 2003-11-28 | Data transmission method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4359490B2 (en) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007041781A (en) * | 2005-08-02 | 2007-02-15 | Fujitsu Ltd | Reconfigurable integrated circuit device |
JP2007128124A (en) * | 2005-11-01 | 2007-05-24 | Hitachi Ltd | Reconfigurable processor or device |
JP2007172285A (en) * | 2005-12-21 | 2007-07-05 | Sanyo Electric Co Ltd | Reconfigurable circuit and processor |
JP2008204356A (en) * | 2007-02-22 | 2008-09-04 | Fujitsu Ltd | Re-configurable circuit |
JP2009025953A (en) * | 2007-07-18 | 2009-02-05 | Fuji Xerox Co Ltd | Arithmetic processing unit and arithmetic processing program |
JP2009129046A (en) * | 2007-11-21 | 2009-06-11 | Panasonic Corp | Reconfigurable circuit, reconfigurable circuit function modification method and communication device |
US8219783B2 (en) | 2007-07-04 | 2012-07-10 | Ricoh Company, Ltd. | SIMD type microprocessor having processing elements that have plural determining units |
JP2012221149A (en) * | 2011-04-07 | 2012-11-12 | Fujitsu Semiconductor Ltd | Reconfigurable integrated circuit device |
US10884794B2 (en) | 2016-08-09 | 2021-01-05 | Fujitsu Limited | Control apparatus for information processing system, computer-readable non-transitory recording medium having program stored therein, and information processing method which allocate processes executed to acquire desired result to processing apparatus to perform for pipeline processing |
CN114661656A (en) * | 2022-05-25 | 2022-06-24 | 广州万协通信息技术有限公司 | Reconfigurable array configuration method, device, equipment and storage medium |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5600492B2 (en) | 2010-06-28 | 2014-10-01 | キヤノン株式会社 | Data processing apparatus, data processing method, control apparatus, control method, and program |
JP5600517B2 (en) | 2010-08-18 | 2014-10-01 | キヤノン株式会社 | Information processing apparatus, information processing method, and program |
JP5539101B2 (en) | 2010-08-18 | 2014-07-02 | キヤノン株式会社 | Information processing apparatus, information processing method, and program |
-
2003
- 2003-11-28 JP JP2003400391A patent/JP4359490B2/en not_active Expired - Fee Related
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4536618B2 (en) * | 2005-08-02 | 2010-09-01 | 富士通セミコンダクター株式会社 | Reconfigurable integrated circuit device |
JP2007041781A (en) * | 2005-08-02 | 2007-02-15 | Fujitsu Ltd | Reconfigurable integrated circuit device |
JP2007128124A (en) * | 2005-11-01 | 2007-05-24 | Hitachi Ltd | Reconfigurable processor or device |
JP4720436B2 (en) * | 2005-11-01 | 2011-07-13 | 株式会社日立製作所 | Reconfigurable processor or device |
JP2007172285A (en) * | 2005-12-21 | 2007-07-05 | Sanyo Electric Co Ltd | Reconfigurable circuit and processor |
JP4673739B2 (en) * | 2005-12-21 | 2011-04-20 | 三洋電機株式会社 | Reconfigurable circuit |
JP2008204356A (en) * | 2007-02-22 | 2008-09-04 | Fujitsu Ltd | Re-configurable circuit |
US8219783B2 (en) | 2007-07-04 | 2012-07-10 | Ricoh Company, Ltd. | SIMD type microprocessor having processing elements that have plural determining units |
JP2009025953A (en) * | 2007-07-18 | 2009-02-05 | Fuji Xerox Co Ltd | Arithmetic processing unit and arithmetic processing program |
JP2009129046A (en) * | 2007-11-21 | 2009-06-11 | Panasonic Corp | Reconfigurable circuit, reconfigurable circuit function modification method and communication device |
JP2012221149A (en) * | 2011-04-07 | 2012-11-12 | Fujitsu Semiconductor Ltd | Reconfigurable integrated circuit device |
US10884794B2 (en) | 2016-08-09 | 2021-01-05 | Fujitsu Limited | Control apparatus for information processing system, computer-readable non-transitory recording medium having program stored therein, and information processing method which allocate processes executed to acquire desired result to processing apparatus to perform for pipeline processing |
CN114661656A (en) * | 2022-05-25 | 2022-06-24 | 广州万协通信息技术有限公司 | Reconfigurable array configuration method, device, equipment and storage medium |
CN114661656B (en) * | 2022-05-25 | 2022-08-30 | 广州万协通信息技术有限公司 | Reconfigurable array configuration method, device, equipment and storage medium |
Also Published As
Publication number | Publication date |
---|---|
JP4359490B2 (en) | 2009-11-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11677662B2 (en) | FPGA-efficient directional two-dimensional router | |
US11188497B2 (en) | Configuration unload of a reconfigurable data processor | |
US10924430B2 (en) | Streaming platform flow and architecture for an integrated circuit | |
JP4359490B2 (en) | Data transmission method | |
US20070180310A1 (en) | Multi-core architecture with hardware messaging | |
US20200151120A1 (en) | Streaming platform architecture for inter-kernel circuit communication for an integrated circuit | |
EP3966937A1 (en) | On-chip network in programmable integrated circuit | |
Sethuraman et al. | LiPaR: A light-weight parallel router for FPGA-based networks-on-chip | |
US11336287B1 (en) | Data processing engine array architecture with memory tiles | |
JP2002508099A (en) | Method and apparatus for arbitrating access to shared memory for network ports operating at different data rates | |
JP2002508100A (en) | Packet routing switch to control access to shared memory at different data rates | |
WO2020097013A1 (en) | Streaming platform flow and architecture | |
KR20240024188A (en) | network interface device | |
US6981082B2 (en) | On chip streaming multiple bus protocol with dedicated arbiter | |
US11520717B1 (en) | Memory tiles in data processing engine array | |
Pionteck et al. | A dynamically reconfigurable packet-switched network-on-chip | |
Parane et al. | LBNoC: Design of low-latency router architecture with lookahead bypass for network-on-chip using FPGA | |
EP4020246A1 (en) | Micro-network-on-chip and microsector infrastructure | |
JP2006085574A (en) | Data processing system and control method for the same | |
US20050050233A1 (en) | Parallel processing apparatus | |
US11443091B1 (en) | Data processing engines with cascade connected cores | |
KR101033425B1 (en) | Multi casting network on chip, systems thereof and network switch | |
TWI766211B (en) | Configuration load and unload of a reconfigurable data processor | |
US20230370392A1 (en) | Network-on-chip architecture for handling different data sizes | |
US20230224261A1 (en) | Network interface device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20061122 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20081225 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090106 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090309 |
|
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: 20090710 |
|
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: 20090810 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120814 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4359490 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: 20120814 Year of fee payment: 3 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120814 Year of fee payment: 3 |
|
R360 | Written notification for declining of transfer of rights |
Free format text: JAPANESE INTERMEDIATE CODE: R360 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120814 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120814 Year of fee payment: 3 |
|
R370 | Written measure of declining of transfer procedure |
Free format text: JAPANESE INTERMEDIATE CODE: R370 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120814 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120814 Year of fee payment: 3 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120814 Year of fee payment: 3 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120814 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130814 Year of fee payment: 4 |
|
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 |
|
LAPS | Cancellation because of no payment of annual fees |