JP4410297B2 - Reconfigurable circuit - Google Patents
Reconfigurable circuit Download PDFInfo
- Publication number
- JP4410297B2 JP4410297B2 JP2008503714A JP2008503714A JP4410297B2 JP 4410297 B2 JP4410297 B2 JP 4410297B2 JP 2008503714 A JP2008503714 A JP 2008503714A JP 2008503714 A JP2008503714 A JP 2008503714A JP 4410297 B2 JP4410297 B2 JP 4410297B2
- Authority
- JP
- Japan
- Prior art keywords
- state
- configuration
- data
- unit
- configuration memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 230000015654 memory Effects 0.000 claims description 99
- 230000007704 transition Effects 0.000 claims description 33
- 238000007726 management method Methods 0.000 description 59
- 238000000034 method Methods 0.000 description 19
- 101710149632 Pectinesterase A Proteins 0.000 description 9
- 101710149624 Pectinesterase B Proteins 0.000 description 9
- 238000010586 diagram Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 4
- 238000013500 data storage Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7867—Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Logic Circuits (AREA)
Description
本発明は、リコンフィギャラブル回路の状態遷移の制御の技術に関する。 The present invention relates to a technology for controlling state transition of a reconfigurable circuit.
従来、再構成可能回路では、各演算器要素(プロセッシングエレメント以下PEと示す)のオペレーションと、PE間の結線情報をコンフィギュレーションデータとしてメモリ上にて規定することにより、所望の処理を実現している。そして、コンフィギュレーションデータを変更することにより、実装する処理を変更することが可能である。そこでコンフィギュレーションデータを一つの状態としてとらえ、状態間の遷移を管理する状態管理部を設けることにより、複数の状態を動的に切り替えながら処理を実現することが可能である。 Conventionally, in a reconfigurable circuit, the operation of each computing element (hereinafter referred to as processing element PE) and the connection information between PEs are defined on the memory as configuration data to realize the desired processing. Yes. Then, it is possible to change the processing to be implemented by changing the configuration data. Therefore, by treating the configuration data as one state and providing a state management unit for managing transitions between states, it is possible to realize processing while dynamically switching between a plurality of states.
図9に従来の再構成可能回路の構成を示す。再構成可能回路は、状態管理部91、複数のプロセッシングエレメント92、コンフィギュレーションメモリ93から構成されている。図9に示す例では、状態管理部91は4つの状態を管理している。4つの状態は、1)A−c1、B−c1の状態、2)A−c2、B−c1の状態、3)A−c1、B−c2の状態、4)A−c2、B−c2の状態である。そして1)〜4)に対応する要素がコンフィグレーションデータとして、各PE92(PE−A、PE−B・・・PE−E、PE−F)に設けられたコンフィギュレーションメモリ93に格納される。各コンフィグレーションメモリ93に格納される内容は、PE92ごとに異なる。このように、複数の状態を動的に切り替えながら処理を実現するPE92により大規模なデータ処理を実行している。 FIG. 9 shows a configuration of a conventional reconfigurable circuit. The reconfigurable circuit includes a state management unit 91, a plurality of processing elements 92, and a configuration memory 93. In the example shown in FIG. 9, the state management unit 91 manages four states. The four states are: 1) A-c1, B-c1 state, 2) A-c2, B-c1 state, 3) A-c1, B-c2 state, 4) A-c2, B-c2 It is a state. The elements corresponding to 1) to 4) are stored as configuration data in the configuration memory 93 provided in each PE 92 (PE-A, PE-B... PE-E, PE-F). The contents stored in each configuration memory 93 are different for each PE 92. In this way, large-scale data processing is executed by the PE 92 that realizes processing while dynamically switching a plurality of states.
しかし、その多数のPE92の状態遷移を1つの状態管理部91で管理する場合、つまり複数のループ遷移を一緒に実行する場合など、複数の状態が必要になる。状態数は組み合わせる状態遷移の個数や各遷移の状態数が増加すると膨大となり、PEの動作効率を阻害することになる。特に、状態遷移に条件分岐が存在する場合、管理すべき状態数が膨大となり、状態管理部で管理することが困難となる。 However, a plurality of states are required, for example, when the state transition of the large number of PEs 92 is managed by one state management unit 91, that is, when a plurality of loop transitions are executed together. The number of states becomes enormous as the number of state transitions to be combined and the number of states in each transition increases, which impedes the operation efficiency of the PE. In particular, when there is a conditional branch in the state transition, the number of states to be managed becomes enormous and it becomes difficult to manage by the state management unit.
このような問題に対して、特許文献1〜3によれば、コンフィギュレーションメモリ上に記憶する状態数を削減し、メモリを有効に利用する手法として、複数の状態管理部を導入し、各状態管理部は状態管理部間で同期をとりながら管理下にあるプロセッシングエレメントの状態を管理する手法が提案されている。 According to Patent Documents 1 to 3 for such problems, a plurality of state management units are introduced as a method for effectively using the memory by reducing the number of states stored in the configuration memory, A method has been proposed in which the management unit manages the state of the processing element under management while synchronizing the state management units.
また、特許文献4には、SIMDアレイプロセッサにおいて、PE内に固定式デコーダ論理回路とLUT方式を設けることで、大域的命令の選択されたビットをLUT方式で局所的に修正することで処理能力を向上させる提案をしている。 Further, Patent Document 4 discloses that in a SIMD array processor, a fixed decoder logic circuit and an LUT method are provided in a PE, so that a selected bit of a global instruction is modified locally by the LUT method. I have a proposal to improve.
特許文献5には、画像データを高速処理するアレイプロセッサでLUT方式を使用している。特許文献6には、外部入力される一連の処理データを多数ビットと小数ビットに配分してPEごとに並列処理することでアレイプロセッサの効率向上を図っている。 In Patent Document 5, an LUT method is used in an array processor that processes image data at high speed. In Patent Document 6, a series of processing data input from the outside is distributed to a large number of bits and a fractional bit and processed in parallel for each PE to improve the efficiency of the array processor.
しかしながら、特許文献1〜3においては、一つの状態管理部の管轄下にある演算器要素は、状態管理部が管理している状態に対応するメモリアドレスにコンフィギュレーションデータを保持している。そのため、異なる状態であってもPE単位で見ると同じ処理を実行しているPEが多数存在する。そのような場合、同じ機能を異なるアドレスに複製して持たねばならずメモリを冗長に利用している。また、PEグループ全体の状態数分のコンフィギュレーションメモリ空間が必要になるため、個々のPEにおける状態数よりも多い冗長なメモリ空間が存在するという問題がある。また、特許文献4〜6はPE内でのLUT方式などについて記載されているが本発明とは異なる。
本発明は上記のような実情に鑑みてなされたものであり、コンフィギュレーションメモリを効率よく利用した動的リコンフィギャラブル回路を提供することを目的とする。
本発明の態様のひとつである複数のプロセッシングエレメントとコンフィギュレーションメモリから構成されるリコンフィギャラブル回路であって、
上記プロセッシングエレメントのコンフィギュレーションの状態遷移を管理する管理情報を生成する状態管理部と、上記状態管理部から上記管理情報を受信し、上記管理情報に基づいて上記プロセッシングエレメントに対応する上記コンフィギュレーションメモリから、上記状態遷移する状態に相当するコンフィギュレーションデータを読込み、上記プロセッシングエレメントが状態遷移するための状態遷移情報を生成する状態デコード部と、 を具備する構成である。The present invention has been made in view of the above circumstances, and an object thereof is to provide a dynamic reconfigurable circuit that efficiently uses a configuration memory.
A reconfigurable circuit comprising a plurality of processing elements and a configuration memory according to one aspect of the present invention,
A state management unit that generates management information for managing state transitions of the configuration of the processing element; and the configuration memory that receives the management information from the state management unit and corresponds to the processing element based on the management information And a state decoding unit that reads configuration data corresponding to the state transition state and generates state transition information for the processing element to perform state transition.
好ましくは、上記プロセッシングエレメントごとに上記状態デコード部を備える構成としてもよい。
好ましくは、複数の上記プロセッシングエレメントに対して上記状態デコード部を備える構成としてもよい。Preferably, the state decoding unit may be provided for each processing element.
Preferably, the state decoding unit may be provided for a plurality of the processing elements.
好ましくは、上記コンフィギュレーションメモリを、上記プロセッシングエレメントにコンフィギュレーションデータを転送する第1コンフィギュレーションメモリと、
上記第1コンフィギュレーションメモリに上記コンフィギュレーションデータを転送する第2コンフィギュレーションメモリから構成してもよい。Preferably, the configuration memory includes a first configuration memory that transfers configuration data to the processing element;
You may comprise from the 2nd configuration memory which transfers the said configuration data to the said 1st configuration memory.
また、さらに上記プロセッシングエレメントに対応する上記第1コンフィギュレーションメモリに格納されていない上記コンフィギュレーションデータが必要であるとき、上記第2コンフィギュレーションメモリから必要とする上記コンフィギュレーションデータを転送して第1コンフィギュレーションメモリに格納し、上記プロセッシングエレメントの上記コンフィギュレーションメモリ上に必要な上記コンフィギュレーションデータの読込みをするための転送制御を指示する転送制御信号を上記状態管理部から受信し、上記転送制御信号に基づいて上記転送制御を指示する信号を生成し、上記第1コンフィギュレーションメモリと上記第2コンフィギュレーションメモリと上記状態デコード部それぞれに通知するコンフィギュレーションロード部を備える構成としてもよい。 Further, when the configuration data not stored in the first configuration memory corresponding to the processing element is necessary, the necessary configuration data is transferred from the second configuration memory to the first A transfer control signal stored in a configuration memory and instructing transfer control for reading the configuration data necessary for the configuration memory of the processing element is received from the state management unit, and the transfer control signal is received. A configuration for generating a signal instructing the transfer control based on the first configuration memory, and notifying each of the first configuration memory, the second configuration memory, and the state decoding unit. It may be configured to include a over de section.
好ましくは、上記状態管理部は、上記プロセッシングエレメントの状態と、上記プロセッシングエレメントに対応する上記第1コンフィギュレーションメモリの上記コンフィギュレーションデータを認識し、上記認識結果に基づいて上記転送制御信号を生成する構成としてもよい。 Preferably, the state management unit recognizes the state of the processing element and the configuration data of the first configuration memory corresponding to the processing element, and generates the transfer control signal based on the recognition result. It is good also as a structure.
好ましくは、状態デコード部は、上記プロセッシングエレメントの上記コンフィグレーションメモリにある上記コンフィギュレーションデータのアドレスを記憶したRAMを備え、上記状態管理部の管理する上記管理情報に基づいて生成した上記アドレスを上記RAMに入力して上記状態遷移情報を出力する構成としてもよい。 Preferably, the state decoding unit includes a RAM that stores an address of the configuration data in the configuration memory of the processing element, and the address generated based on the management information managed by the state management unit is It is good also as a structure which inputs into RAM and outputs the said state transition information.
好ましくは、状態デコード部は、上記プロセッシングエレメントの上記コンフィグレーションメモリにある上記コンフィギュレーションデータのアドレスを複数のレジスタに保持したルックアップテーブル回路を備え、上記状態管理部の管理する上記管理情報に基づいて生成した上記アドレスをルックアップテーブル回路に入力し、対応する上記レジスタを選択することにより上記状態遷移情報を生成し出力する構成とすればよい。 Preferably, the state decoding unit includes a look-up table circuit in which addresses of the configuration data in the configuration memory of the processing element are held in a plurality of registers, based on the management information managed by the state management unit. The address generated in this manner may be input to a look-up table circuit, and the state transition information may be generated and output by selecting the corresponding register.
好ましくは、上記状態管理部は、状態を示す状態データを記憶している状態記憶部と、上記状態データに基づいて次の状態を決定する状態決定部と、上記コンフィギュレーションデータのダウンロード実施中を示すダウンロードフラグ部とを備え、上記状態決定部は、必要なコンフィギュレーションデータを上記状態データに含まれているダウンロード開始フラグを参照し、上記ダウンロード開始フラグが有効の場合に、上記ダウンロードフラグ部に有効であることを書き込み、コンフィギュレーションロード部にコンフィギュレーションローディングの実施を指示する構成としてもよい。 Preferably, the state management unit stores a state storage unit that stores state data indicating a state, a state determination unit that determines a next state based on the state data, and downloading the configuration data. The state determination unit refers to a download start flag included in the state data for necessary configuration data, and when the download start flag is valid, It may be configured to write that it is valid and to instruct the configuration loading unit to perform configuration loading.
好ましくは、上記状態データは、どのタイミングでコンフィギュレーションデータをダウンロードすべきかを示した上記ダウンロード開始フラグと、ダウンロード実施中を示す上記ダウンロードフラグ部を参照して処理を中断すべきか否かの判断をして実行を示すダウンロードチェックフラグを備える構成としてもよい。 Preferably, the status data refers to the download start flag indicating when the configuration data should be downloaded and the download flag portion indicating that the download is in progress, and determines whether or not the process should be interrupted. In this case, a download check flag indicating execution may be provided.
各プロセッシングエレメントには状態デコード部を設ける。状態デコード部は、状態管理部からPEグループ全体の状態を受け取り、自分のPEの状態を解析してPEの状態を出力する。出力されたPEの状態に基づき、コンフィギュレーションメモリから状態に相当するコンフィギュレーションデータをロードし、機能回路上に実装する。 Each processing element is provided with a state decoding unit. The state decoding unit receives the state of the entire PE group from the state management unit, analyzes the state of its own PE, and outputs the state of the PE. Based on the output PE state, configuration data corresponding to the state is loaded from the configuration memory and mounted on the functional circuit.
上記のように、異なる状態であっても、同じ機能を異なるアドレスに複製してもたずにメモリを効率よく利用できる。また、PEグループ全体の状態数分のコンフィギュレーションメモリ空間と、個々のPEにおける状態数よりも多い冗長なメモリ空間を必要としなくなる。 As described above, even in different states, the memory can be used efficiently without copying the same function to different addresses. Further, the configuration memory space corresponding to the number of states of the entire PE group and the redundant memory space larger than the number of states in each PE are not required.
以下図面に基づいて、本発明の実施形態について詳細を説明する。
(原理説明)
本発明について図1を用いて説明する。実施例1に示したリコンフィギャラブル回路は、状態管理部1、プロセッシングエレメント2(PE)、コンフィギュレーションメモリ3、状態デコード部4から構成された回路図である。従来のリコンフィギャラブル回路に機能を付加した状態管理部1と、新たに状態デコード部4を設けている。Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
(Principle explanation)
The present invention will be described with reference to FIG. The reconfigurable circuit shown in the first embodiment is a circuit diagram including a state management unit 1, a processing element 2 (PE), a configuration memory 3, and a state decoding unit 4. A state management unit 1 having a function added to a conventional reconfigurable circuit and a state decoding unit 4 are newly provided.
状態管理部1は、PE2のコンフィギュレーションの状態遷移を管理する管理情報を生成する。状態デコード部4は、状態管理部1から管理情報を受信する。受信した管理情報に基づいてPE2が状態遷移するための状態遷移情報を生成する。そして、各PE2に対応するコンフィギュレーションメモリ3から状態遷移する状態に相当するコンフィギュレーションデータを読み込みする。 The state management unit 1 generates management information for managing the state transition of the configuration of PE2. The state decoding unit 4 receives management information from the state management unit 1. Based on the received management information, state transition information for the state transition of PE2 is generated. Then, configuration data corresponding to the state transition state is read from the configuration memory 3 corresponding to each PE2.
このように構成することで、効率よくメモリを使用することが可能になる。
(実施例1)
図1に示した回路図の状態デコード部4にルックアップテーブル(LUT)方式を使用した方式について説明する。With this configuration, the memory can be used efficiently.
Example 1
A method using a look-up table (LUT) method for the state decoding unit 4 in the circuit diagram shown in FIG. 1 will be described.
図2AはLUT方式の構成を示した図である。PE2のコンフィグレーションデータ3を記録したメモリアドレスを、状態管理部1が管理する状態のID番号(管理情報)に対応するLUT上に記憶しておく。実行時に状態のID番号をLUTの入力として受けとり、LUTから対応するPEのメモリアドレスが出力される。 FIG. 2A is a diagram showing a configuration of the LUT method. The memory address where the configuration data 3 of the PE 2 is recorded is stored on the LUT corresponding to the ID number (management information) of the state managed by the state management unit 1. At execution time, the ID number of the state is received as an input of the LUT, and the memory address of the corresponding PE is output from the LUT.
図3に状態デコード部4の動作を示す。状態管理部1は図9で説明したように4つの状態をもち、その4つの状態についてそれぞれID番号を生成する。4つのID番号は、1)A−c1、B−c1の状態を示す状態データをID1、2)A−c2、B−c1の状態を示す状態データをID2、3)A−c1、B−c2の状態を示す状態データをID3、4)A−c2、B−c2の状態を示す状態データをID4という管理情報で示す。 FIG. 3 shows the operation of the state decoding unit 4. The state management unit 1 has four states as described with reference to FIG. 9, and generates an ID number for each of the four states. The four ID numbers are 1) status data indicating the status of A-c1, B-c1, ID1, 2) status data indicating the status of A-c2, B-c1, ID2, 3) A-c1, B- Status data indicating the status of c2 is indicated by ID3, 4) Status data indicating the status of A-c2 and B-c2 is indicated by management information ID4.
同図に示す管理情報ID2について説明する。状態管理部1はID2としてPE2に対応するように設けた各状態デコード部4に対してID番号を発行する。図3ではID2に示すように「2」(b×0010)が、PE−AとPE−Bの状態デコード部4に転送される。PE−Aのデコード部4が「2」を受けとると2にデコードされコンフィギュレーションメモリ3のアドレス2からA−c2に該当するコンフィギュレーションデータが選択される。同様に、PE−Bのデコード部4が「2」を受けとると1にデコードされ、コンフィギュレーションメモリ3のアドレス1からB−c1に該当するコンフィギュレーションデータが選択される。そして、PE−AとPE−Bにコンフィギュレーションメモリ3から、各PE2が現在必要とする各コンフィギュレーションデータを出力する。他のPE2も同様に現在必要とする各コンフィギュレーションデータを出力する。 The management information ID2 shown in FIG. The state management unit 1 issues an ID number to each state decoding unit 4 provided to correspond to PE2 as ID2. In FIG. 3, “2” (b × 0010) is transferred to the state decoding units 4 of PE-A and PE-B as indicated by ID2. When the decoding unit 4 of the PE-A receives “2”, it is decoded to 2 and configuration data corresponding to A-c2 is selected from the address 2 of the configuration memory 3. Similarly, when the decoding unit 4 of PE-B receives “2”, it is decoded to 1, and configuration data corresponding to B-c1 is selected from address 1 of the configuration memory 3. Then, each configuration data currently required by each PE 2 is output from the configuration memory 3 to the PE-A and PE-B. Similarly, the other PE2 outputs the configuration data currently required.
図4AはLUT方式の動作を示すタイムチャートである。上段から1)クロック信号、2)状態管理部出力、3)状態デコード部出力(PE−A)、4)状態デコード部出力(PE−B)、5)コンフィギュレーションメモリ部出力(PE−A)、6)コンフィギュレーションメモリ部出力(PE−B)を示し、管理情報(X)と状態遷移情報(Y−A、Y−B)とコンフィギュレーションデータ(Z−A、Z−B)の動作を示している。 FIG. 4A is a time chart showing the operation of the LUT method. From the top 1) clock signal, 2) state management unit output, 3) state decoding unit output (PE-A), 4) state decoding unit output (PE-B), 5) configuration memory unit output (PE-A) 6) Indicates the configuration memory section output (PE-B), and the operations of management information (X), state transition information (YA, YB), and configuration data (ZA, ZB). Show.
状態管理部1から管理情報(X)が出力されると、1)クロックに示すクロック信号とは同期せず、各状態デコード部4は処理をする。各状態デコード部4ではLUTの処理結果状態遷移情報(Y−A、Y−B)が出力される。そしてコンフィギュレーションメモリ部3ではコンフィギュレーションデータ(Z−A、Z−B)が選択されて出力される。 When the management information (X) is output from the state management unit 1, 1) the state decoding unit 4 performs processing without synchronizing with the clock signal indicated by the clock. Each state decoding unit 4 outputs LUT processing result state transition information (YA, YB). In the configuration memory unit 3, configuration data (ZA, BB) is selected and output.
このように構成することで、効率よくメモリを使用することが可能になる。
(実施例2)
一方、図2Bは、状態デコード部4をRAM方式で構成した例である。PE2のコンフィグレーションデータを記録したメモリアドレスを、状態管理部1が管理する状態のID番号(管理情報)をアドレスとして、メモリ上に記憶する。アドレス信号として状態に対応するID番号を入力することで、PE2の状態を出力する。With this configuration, the memory can be used efficiently.
(Example 2)
On the other hand, FIG. 2B is an example in which the state decoding unit 4 is configured by a RAM system. The memory address where the configuration data of PE2 is recorded is stored in the memory using the ID number (management information) of the state managed by the state management unit 1 as an address. By inputting the ID number corresponding to the state as an address signal, the state of PE2 is output.
図4Aで示した例では、全体状態入力から出力までクロック同期(FFを経由しない)のため、0クロックでの信号伝播が可能である。図4BではRAMを使用するため1クロックのオーバーヘッドが必要である。つまりクロック同期である。図4BではRAMにアクセスして、4ビット幅のデータパスを利用してID番号に該当する状態遷移情報を選択し2ビット幅のデータパスを利用して出力する。そして上記状態遷移情報に基づいて、コンフィギュレーションメモリ3からコンフィギュレーションデータを選択しPE2に出力する。 In the example shown in FIG. 4A, since the clock is synchronized from the whole state input to the output (without passing through the FF), signal propagation at 0 clock is possible. In FIG. 4B, since RAM is used, an overhead of 1 clock is required. That is, clock synchronization. In FIG. 4B, the RAM is accessed, state transition information corresponding to the ID number is selected using a 4-bit width data path, and output using a 2-bit width data path. Based on the state transition information, configuration data is selected from the configuration memory 3 and output to the PE 2.
状態デコード部4は、状態管理部1から1)クロックに示すクロック信号の立ち上がりで管理情報(X)を取得する。各状態デコード部4ではRAMの処理結果である状態遷移情報(Y−A、Y−B)が出力される。クロック信号に同期して、コンフィギュレーションメモリ部3では処理結果である状態遷移情報(Y−A、Y−B)を取得する。その後、コンフィギュレーションメモリ部3でコンフィギュレーションデータ(Z−A、Z−B)が選択されてPE2に出力される。 The state decoding unit 4 acquires the management information (X) from the state management unit 1 to the rising edge of the clock signal indicated by 1) clock. Each state decoding unit 4 outputs state transition information (YA, YB), which is a processing result of the RAM. In synchronization with the clock signal, the configuration memory unit 3 acquires state transition information (YA, YB) as a processing result. Thereafter, configuration data (ZA, Z-B) is selected by the configuration memory unit 3 and output to the PE 2.
このように構成することで、効率よくメモリを使用することが可能になる。
(実施例3)
図1に示した実施例1、2の構成では、一つのPE2に対し一つの状態デコード部4が対応している。本例では、図5に示すように複数のPE2に対して一つの状態デコード部5を対応させている。With this configuration, the memory can be used efficiently.
(Example 3)
In the configuration of the first and second embodiments illustrated in FIG. 1, one state decoding unit 4 corresponds to one PE 2. In this example, as shown in FIG. 5, one state decoding unit 5 is associated with a plurality of PEs 2.
状態デコード部5は状態デコード部4と同じ構成であるが、PE2をブロックごとに制御している。例えば、同図PE−A、PE−B・・・からなるグループとPE−E、PE−F・・・からなるグループを状態デコード部5がグループごとに制御する。 The state decoding unit 5 has the same configuration as the state decoding unit 4 but controls the PE 2 for each block. For example, the state decoding unit 5 controls a group consisting of PE-A, PE-B... And a group consisting of PE-E, PE-F.
PE−AとPE−Bの含まれるグループで考えた場合、PE−A、PE−B・・・の全ての状態を示す管理情報を、同一グループ内のPE2全てに通知する。管理情報を受信した状態デコード部5は状態遷移情報を生成して各コンフィギュレーションメモリ3に送信する。その状態遷移情報に基づいてPE2が必要とするコンフィギュレーションデータを選択し出力する。 When considering a group including PE-A and PE-B, the management information indicating all states of PE-A, PE-B... Is notified to all PEs 2 in the same group. The state decoding unit 5 that has received the management information generates state transition information and transmits it to each configuration memory 3. Based on the state transition information, the configuration data required by PE2 is selected and output.
なお、本例はLUT方式でもRAM方式でも実施可能である。
(実施例4)
次に、コンフィギュレーションデータ数(コンテキスト面数など)が多い大規模なアプリケーションを実装した場合の例を示す。大規模なアプリケーションを実装しようとすると、コンフィギュレーションメモリサイズが大きくなり回路規模が増大する。これを回避する方法として、状態管理部に記憶されているコンフィギュレーションデータをアプリケーション実行時に動的(ダイナミック)に書き換える構成を図6に示す。
(原理説明)
図6に示すコンフィギュレーション回路は、状態管理部61、プロセッシングエレメント62(PE)、コンフィギュレーションメモリ63(第1コンフィギュレーションメモリ)、状態デコード部64、コンフィギュレーションロード部65、メインメモリ66(第2コンフィギュレーションメモリ)から構成されるブロック図である。This example can be implemented by either the LUT method or the RAM method.
Example 4
Next, an example in which a large-scale application having a large number of configuration data (such as the number of contexts) is implemented will be described. When attempting to implement a large-scale application, the configuration memory size increases and the circuit scale increases. As a method for avoiding this, FIG. 6 shows a configuration in which configuration data stored in the state management unit is dynamically rewritten when an application is executed.
(Principle explanation)
The configuration circuit shown in FIG. 6 includes a state management unit 61, a processing element 62 (PE), a configuration memory 63 (first configuration memory), a state decoding unit 64, a configuration load unit 65, and a main memory 66 (second memory). 1 is a block diagram including a configuration memory.
図6では、コンフィギュレーションメモリ63に記憶できないコンフィギュレーションデータはメインメモリ66に記憶する構成である。状態管理部61は、状態遷移に加えて、現在の各PE62の状態を解析した内容と、コンフィギュレーションメモリ63にダウンロードされているコンフィギュレーションデータの内容を記憶しておく。 In FIG. 6, configuration data that cannot be stored in the configuration memory 63 is stored in the main memory 66. In addition to the state transition, the state management unit 61 stores the contents of analyzing the current state of each PE 62 and the contents of the configuration data downloaded to the configuration memory 63.
アプリケーション実行時に、コンフィギュレーションメモリ63上にないコンフィギュレーションデータが必要になった場合には、状態管理部61は、コンフィギュレーションロード部65に必要なコンフィギュレーションデータのダウンロードする指示を送る。つまり、状態管理部61は、PE62の状態と、PE62に対応するコンフィギュレーションメモリ63の各コンフィギュレーションデータを解析し、解析結果に基づいて必要なコンフィギュレーションデータ情報(転送制御信号)を生成する。コンフィギュレーションロード部65は、転送制御信号に基づいて転送制御を指示する信号を生成し、コンフィギュレーションメモリ63とメインメモリ66と状態デコード部64それぞれに通知する。 When configuration data that does not exist in the configuration memory 63 is required during execution of the application, the state management unit 61 sends an instruction to download the necessary configuration data to the configuration load unit 65. That is, the state management unit 61 analyzes the state of the PE 62 and each configuration data of the configuration memory 63 corresponding to the PE 62, and generates necessary configuration data information (transfer control signal) based on the analysis result. The configuration load unit 65 generates a signal for instructing transfer control based on the transfer control signal, and notifies the configuration memory 63, the main memory 66, and the state decoding unit 64 of each.
メインメモリ66から状態デコード部64にデコード情報をロードし、コンフィギュレーションメモリ63にはコンフィギュレーションデータをロードする。
PE62は、コンフィギュレーションメモリ63から必要なコンフィギュレーションデータの読み込みをする。Decoding information is loaded from the main memory 66 to the state decoding unit 64, and configuration data is loaded to the configuration memory 63.
The PE 62 reads necessary configuration data from the configuration memory 63.
なお、外部にコンフィギュレーションメモリ66を設けた階層的なメモリ構造を持つリコンフィギャラブル回路でもよい。
(状態管理部とコンフィギュレーションロード部)
ダイナミックなコンフィギュレーションデータの読み込みを実現するための状態管理部61とコンフィギュレーションロード部65のブロック図を図7に示す。A reconfigurable circuit having a hierarchical memory structure in which a configuration memory 66 is provided outside may be used.
(Status management section and configuration load section)
FIG. 7 shows a block diagram of the state management unit 61 and the configuration load unit 65 for realizing dynamic configuration data reading.
同図状態データに、どのタイミングでコンフィギュレーションデータをダウンロードすべきかを示したダウンロード開始フラグと、ダウンロード実施中を示すダウンロードフラグ71を参照して処理を中断すべきか否かの判断の実行を示すダウンロードチェックフラグを備えている。 The download which shows execution of the judgment whether it should interrupt processing with reference to the download start flag which showed at what timing configuration data should be downloaded to the state data in the figure, and the download flag 71 which shows that download is in progress A check flag is provided.
状態管理部61は、状態データを記憶している状態記憶部72と、状態データに基づいて次の状態を決定する状態決定部73からなる。さらに、状態決定部73では、状態データに含まれているダウンロード開始フラグを参照し、フラグがON(有効)の場合には、ダウンロードフラグ部71にON(有効)であることを書き込みする。そしてコンフィギュレーションロード部65にコンフィギュレーションローディングの実施を指示(転送制御信号)する。 The state management unit 61 includes a state storage unit 72 that stores state data, and a state determination unit 73 that determines the next state based on the state data. Further, the state determination unit 73 refers to the download start flag included in the state data, and writes that the download flag unit 71 is ON (valid) when the flag is ON (valid). The configuration loading unit 65 is instructed to execute configuration loading (transfer control signal).
コンフィギュレーションロード部65は、状態管理部61から指示を受けて、メインメモリ66からコンフィギュレーションデータのダウンロードを実行するコンフィギュレーションメモリコントロール部74を備えている。また、コンフィギュレーションメモリ63、66のどこにあるコンフィギュレーションデータをどこに転送すればよいかの情報(ダウンロード情報)を蓄えたダウンロードデータ記憶部75を備えている。 The configuration loading unit 65 includes a configuration memory control unit 74 that receives an instruction from the state management unit 61 and downloads configuration data from the main memory 66. Further, a download data storage unit 75 is provided that stores information (download information) indicating where the configuration data in the configuration memories 63 and 66 should be transferred.
ただし、ダウンロード記憶部75を持たずに、ダウンロード情報は外部のコンフィギュレーションメモリ66(汎用メモリ)からダウンロードすることも可能である。
(動作説明)
図8に処理の流れについてタイムチャートを用い説明する。状態管理部61では、状態決定部73が状態記憶部72から状態データを受け取ったさい、次の状態を決定するのと合わせてダウンロード開始フラグをチェックする(T1)。もしダウンロード開始フラグがONの場合(有効)には、ダウンロードフラグ71に対してON(有効)であることを書き込む(T2)。また、ダウンロード開始信号をコンフィギュレーションロード部74に送信する(T1)。コンフィギュレーションロード部74では、ダウンロード開始信号を受けてダウンロードを実行する(T2)。However, the download information can be downloaded from the external configuration memory 66 (general-purpose memory) without having the download storage unit 75.
(Description of operation)
FIG. 8 illustrates the flow of processing using a time chart. When the state determination unit 73 receives the state data from the state storage unit 72, the state management unit 61 checks the download start flag together with determining the next state (T1). If the download start flag is ON (valid), the fact that it is ON (valid) is written to the download flag 71 (T2). Also, a download start signal is transmitted to the configuration load unit 74 (T1). The configuration load unit 74 receives the download start signal and executes the download (T2).
例えば、ダウンロードに必要な情報(ダウンロード情報)は、ダウンロードするコンフィギュレーションデータが納めてあるコンフィギュレーションメモリ66の領域およびダウンロード先のコンフィギュレーションメモリ63の領域などを情報とし、ダウンロード記憶部75に保持される。そして、ダウンロード開始の信号の受信に合わせてダウンロードデータ記憶部75から読み出す。 For example, information necessary for downloading (downloading information) is stored in the download storage unit 75 using information on the area of the configuration memory 66 storing the configuration data to be downloaded and the area of the configuration memory 63 at the download destination. The Then, the data is read from the download data storage unit 75 in response to the reception of the download start signal.
ダウンロード情報は、コンフィギュレーションメモリ66に記憶しておき、必要に応じてコンフィギュレーションメモリ66から呼び出すことによりダウンロードデータ記憶部75をなくした構成も可能である。 A configuration in which the download data is stored in the configuration memory 66 and is called from the configuration memory 66 as necessary is such that the download data storage unit 75 is eliminated.
コンフィギュレーションメモリコントロール部74では、ダウンロード情報に基づき、コンフィギュレーションメモリ66からコンフィギュレーションメモリ63へのデータ転送処理を指示する。 The configuration memory control unit 74 instructs data transfer processing from the configuration memory 66 to the configuration memory 63 based on the download information.
一方、状態決定部73はダウンロード実行中も、状態遷移の処理を続行する。このことによりリコンフィギャラブル回路内における処理を中断することなく、コンフィギュレーションデータの書き換えが可能になる。 On the other hand, the state determination unit 73 continues the state transition process even during download execution. This makes it possible to rewrite the configuration data without interrupting the processing in the reconfigurable circuit.
ただし、処理内容によっては、次の処理の実行までにダウンロードの完了が間に合わない場合がある。そこで、状態データにはダウンロードチェックフラグを付け加える。このフラグが立っていない場合(有効)には、ダウンロードの実行の有無にかかわらず処理を継続するが、このフラグが立っている場合には、ダウンロードフラグ71を参照し、ダウンロード実行中はストール信号を生成して、リコンフィギャラブル回路内部における処理を一時中断する。 However, depending on the processing content, the download may not be completed before the next processing is executed. Therefore, a download check flag is added to the status data. If this flag is not set (valid), the processing is continued regardless of whether or not the download is executed. If this flag is set, the download flag 71 is referred to and a stall signal is displayed during the download. Is generated, and the processing inside the reconfigurable circuit is temporarily suspended.
コンフィギュレーションロード部65では、所定のコンフィギュレーションのダウンロードが完了したら、状態決定部73に対してダウンロード処理完了の信号を送信する(T3)。状態決定部73では、ダウンロード処理完了の信号を受けて、ダウンロードフラグをOFF(無効)にする(T4)。もし、ストール信号を発生してリコンフィギャラブル回路における処理を一時中断している場合には、ストール信号を解除する(T4)。 When the download of the predetermined configuration is completed, the configuration load unit 65 transmits a download process completion signal to the state determination unit 73 (T3). In response to the download processing completion signal, the state determination unit 73 turns the download flag OFF (invalid) (T4). If the stall signal is generated and the processing in the reconfigurable circuit is suspended, the stall signal is canceled (T4).
上記構成により各PEの状態を解析してコンフィギュレーションメモリに必要なコンフィギュレーションデータを格納することで、コンフィギュレーションメモリを効率よく利用できる。 By analyzing the state of each PE with the above configuration and storing necessary configuration data in the configuration memory, the configuration memory can be used efficiently.
また、本発明は、上記実施の形態に限定されるものでなく、本発明の要旨を逸脱しない範囲内で種々の改良、変更が可能である。
本発明によれば、各PEの状態を解析してコンフィギュレーションメモリにコンフィギュレーションデータを格納するため、コンフィギュレーションメモリを効率よく利用できる。The present invention is not limited to the above-described embodiment, and various improvements and modifications can be made without departing from the gist of the present invention.
According to the present invention, since the state of each PE is analyzed and the configuration data is stored in the configuration memory, the configuration memory can be used efficiently.
Claims (10)
前記プロセッシングエレメントのコンフィギュレーションの状態遷移を管理する管理情報を生成する状態管理部と、
前記状態管理部から前記管理情報を受信し、前記管理情報に基づいて前記プロセッシングエレメントに対応する前記コンフィギュレーションメモリから、前記状態遷移する状態に相当するコンフィギュレーションデータを読込み、前記プロセッシングエレメントを状態遷移するための状態遷移情報を生成する状態デコード部と、
を具備することを特徴とするリコンフィギャラブル回路。A reconfigurable circuit composed of a plurality of processing elements and a configuration memory,
A state management unit that generates management information for managing the state transition of the configuration of the processing element;
Receiving the management information from the state management unit, reading configuration data corresponding to the state transition state from the configuration memory corresponding to the processing element based on the management information, and transitioning the processing element to the state transition state; A state decoding unit for generating state transition information for
A reconfigurable circuit comprising:
前記第1コンフィギュレーションメモリに前記コンフィギュレーションデータを転送する第2コンフィギュレーションメモリから構成することを特徴とする請求項1〜3のいずれか1項に記載のリコンフィギャラブル回路。A first configuration memory for transferring configuration data to the processing element;
The reconfigurable circuit according to claim 1, comprising a second configuration memory that transfers the configuration data to the first configuration memory.
前記プロセッシングエレメントに対応する前記第1コンフィギュレーションメモリに格納されていない前記コンフィギュレーションデータが必要であるとき、
前記第2コンフィギュレーションメモリから必要とする前記コンフィギュレーションデータを転送して第2コンフィギュレーションメモリに格納し、前記プロセッシングエレメントの前記コンフィギュレーションメモリ上に必要な前記コンフィギュレーションデータの読込みをするための転送制御を指示する転送制御信号を前記状態管理部から受信し、
前記転送制御信号に基づいて前記転送制御を指示する信号を生成し、前記第1コンフィギュレーションメモリと前記第2コンフィギュレーションメモリと前記状態デコード部にそれぞれに通知するコンフィギュレーションロード部と、
を備えることを特徴とする請求項4に記載のリコンフィギャラブル回路。Further, when the configuration data not stored in the first configuration memory corresponding to the processing element is required according to claim 4,
Transfer of the necessary configuration data from the second configuration memory, storing it in the second configuration memory, and reading the necessary configuration data on the configuration memory of the processing element A transfer control signal for instructing control is received from the state management unit;
A configuration load unit that generates a signal instructing the transfer control based on the transfer control signal and notifies the first configuration memory, the second configuration memory, and the state decoding unit, respectively;
The reconfigurable circuit according to claim 4, further comprising:
前記状態管理部の管理する前記管理情報に基づいて生成した前記アドレスを前記RAMに入力して前記状態遷移情報を出力することを特徴とする請求項1〜6のいずれか1項に記載のリコンフィギャラブル回路。The state decoding unit includes a RAM that stores an address of the configuration data in the configuration memory of the processing element,
The recon according to any one of claims 1 to 6, wherein the address generated based on the management information managed by the state management unit is input to the RAM and the state transition information is output. Figurable circuit.
前記状態管理部の管理する前記管理情報に基づいて生成した前記アドレスをルックアップテーブル回路に入力し、対応する前記レジスタを選択することにより前記状態遷移情報を生成し出力することを特徴とする請求項1〜6のいずれか1項に記載のリコンフィギャラブル回路。The state decoding unit includes a look-up table circuit that holds the addresses of the configuration data in the configuration memory of the processing element in a plurality of registers,
The state transition information is generated and output by inputting the address generated based on the management information managed by the state management unit to a lookup table circuit and selecting the corresponding register. Item 7. The reconfigurable circuit according to any one of Items 1 to 6.
前記状態決定部は、必要なコンフィギュレーションデータを前記状態データに含まれているダウンロード開始フラグを参照し、前記ダウンロード開始フラグが有効の場合に、前記ダウンロードフラグ部に有効であることを書き込み、コンフィギュレーションロード部にコンフィギュレーションローディングの実施を指示することを特徴とする請求項4〜6のいずれか1項に記載のリコンフィギャラブル回路。The state management unit includes a state storage unit that stores state data indicating a state, a state determination unit that determines a next state based on the state data, and a download flag that indicates that the configuration data is being downloaded With
The state determination unit refers to a download start flag included in the state data for necessary configuration data, and writes that the download flag unit is valid when the download start flag is valid. The reconfigurable circuit according to claim 4, wherein the configuration loading unit is instructed to perform configuration loading.
ダウンロード実施中を示す前記ダウンロードフラグ部を参照して処理を中断すべきか否かの判断をして実行を示すダウンロードチェックフラグを備えることを特徴とする請求項9に記載のリコンフィギャラブル回路。The status data includes the download start flag indicating when the configuration data should be downloaded, and
The reconfigurable circuit according to claim 9, further comprising a download check flag indicating execution by determining whether or not processing should be interrupted with reference to the download flag portion indicating that download is being performed.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2006/304551 WO2007102218A1 (en) | 2006-03-09 | 2006-03-09 | Reconfigurable circuit |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2007102218A1 JPWO2007102218A1 (en) | 2009-07-23 |
JP4410297B2 true JP4410297B2 (en) | 2010-02-03 |
Family
ID=38474665
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008503714A Expired - Fee Related JP4410297B2 (en) | 2006-03-09 | 2006-03-09 | Reconfigurable circuit |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP4410297B2 (en) |
WO (1) | WO2007102218A1 (en) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4250230B2 (en) * | 1998-09-11 | 2009-04-08 | キヤノン株式会社 | Image processing device |
DE60044300D1 (en) * | 1999-08-30 | 2010-06-10 | Ip Flex Inc | DATA PROCESSOR |
JP2004185239A (en) * | 2002-12-02 | 2004-07-02 | Nec Commun Syst Ltd | Configuration controller, recording medium and fpga configuration method |
JP4364077B2 (en) * | 2004-06-30 | 2009-11-11 | 富士通株式会社 | Arithmetic device and control method of arithmetic device |
-
2006
- 2006-03-09 WO PCT/JP2006/304551 patent/WO2007102218A1/en active Application Filing
- 2006-03-09 JP JP2008503714A patent/JP4410297B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
WO2007102218A1 (en) | 2007-09-13 |
JPWO2007102218A1 (en) | 2009-07-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2289003B1 (en) | Method & apparatus for real-time data processing | |
JPH08241291A (en) | Processor | |
JP2007133456A (en) | Semiconductor device | |
JP2000305781A (en) | Vliw system processor, code compressing device, code compressing method and medium for recording code compression program | |
KR20080099193A (en) | Method and apparatus for loading data and instructions into a computer | |
JP2007087108A (en) | Arithmetic processing unit, information processor, and control method of register file | |
US8214617B2 (en) | Apparatus and method of avoiding bank conflict in single-port multi-bank memory system | |
KR100765567B1 (en) | Data processor with an arithmetic logic unit and a stack | |
US7340591B1 (en) | Providing parallel operand functions using register file and extra path storage | |
JP4410297B2 (en) | Reconfigurable circuit | |
JP5096923B2 (en) | Multi-thread processor with dynamically reconfigurable logic | |
JP4779010B2 (en) | Buffering device and buffering method | |
JP2000353092A (en) | Information processor and register file switching method for the processor | |
JP5145659B2 (en) | Vector renaming method and vector computer | |
EP1088266B1 (en) | Parallel data processing | |
US6564312B1 (en) | Data processor comprising an arithmetic logic unit | |
JP5229321B2 (en) | Arithmetic processing unit | |
JP2007329760A (en) | Programmable logic device, circuit information input controller, and semiconductor device | |
JP2011044163A (en) | Expanded functionality of processor operation within fixed width instruction encoding | |
JP3729142B2 (en) | Parallel processing unit | |
EP0556825A1 (en) | Microprocessor | |
JP2004070869A (en) | Calculating system | |
JP2002268876A (en) | Pipeline processing method and information processor | |
JP2004326710A (en) | Arithmetic processing unit and method | |
JP2006139645A (en) | Processor and arithmetic processing method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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: 20091110 |
|
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: 20091112 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121120 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121120 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131120 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |