WO2006011232A1 - リコンフィギュラブル回路およびリコンフィギュラブル回路の制御方法 - Google Patents

リコンフィギュラブル回路およびリコンフィギュラブル回路の制御方法 Download PDF

Info

Publication number
WO2006011232A1
WO2006011232A1 PCT/JP2004/010953 JP2004010953W WO2006011232A1 WO 2006011232 A1 WO2006011232 A1 WO 2006011232A1 JP 2004010953 W JP2004010953 W JP 2004010953W WO 2006011232 A1 WO2006011232 A1 WO 2006011232A1
Authority
WO
WIPO (PCT)
Prior art keywords
configuration information
configuration
processing
reconfigurable circuit
storage
Prior art date
Application number
PCT/JP2004/010953
Other languages
English (en)
French (fr)
Inventor
Hisanori Fujisawa
Miyoshi Saito
Toshihiro Ozawa
Original Assignee
Fujitsu Limited
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Limited filed Critical Fujitsu Limited
Priority to CNB2004800429986A priority Critical patent/CN100545827C/zh
Priority to JP2006527758A priority patent/JP4201816B2/ja
Priority to PCT/JP2004/010953 priority patent/WO2006011232A1/ja
Priority to EP04748114A priority patent/EP1780644A4/en
Publication of WO2006011232A1 publication Critical patent/WO2006011232A1/ja
Priority to US11/546,284 priority patent/US7849288B2/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7867Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture

Definitions

  • the present invention relates to a reconfigurable circuit and a control method for the reconfigurable circuit, and more particularly to a reconfigurable circuit and a reconfigurable circuit having a plurality of processing elements whose configurations are reconfigured by configuration information.
  • the present invention relates to a control method for a labile circuit.
  • a reconfigurable circuit having a reconfigurable arithmetic unit group.
  • the reconfigurable circuit configures a computing unit group based on the configuration data and can perform various processes.
  • the reconfigurable circuit if one pipeline process cannot be implemented, the reconfigurable circuit is divided into pipeline stages, and the processes at each stage are switched sequentially.
  • FIG. 10 is a circuit block diagram of a conventional reconfigurable circuit.
  • the reconfigurable circuit has a processing element (PE:
  • Processing Element 101a, 101d, and network 102.
  • Each of PElOla 101d includes, for example, a plurality of ALUs (Arithmetic Logical Units), multipliers, and adders.
  • ALUs Arimetic Logical Units
  • multipliers and adders.
  • adder of PElOla 101d are configured based on configuration data so that one stage of pipeline processing can be performed.
  • the network 102 connects the PElOla 101d based on the configuration data so that the PElOla-101d can perform pipeline processing.
  • pipeline processing refers to processing for performing sequential operations on sequentially input data.
  • a product-sum operation indicated by a FIR (Finite Impulse Response) filter is a pipeline process that sequentially performs a product-sum operation on sequentially input data.
  • An operation is one of the operations that are performed sequentially.
  • the product-sum operation is sequentially performed on sequentially input data.
  • One of the multiply-accumulate operations becomes one operation.
  • Pipeline processing is divided into multiple stages, and one or more operations are performed in one stage.
  • FIG. 11 is a diagram showing pipeline processing.
  • Pipeline processing 111 shown in the figure performs one pipeline processing in operation OP1 0 P8.
  • the arrows shown in the figure indicate the flow of data, and it is assumed that data to be processed in operation ⁇ P1 is sequentially input.
  • the above-described product-sum operation is described as follows: Operation 0 P1-OP8 performs 8-stage product-sum operation on the data input to operation OP1, and each of operations OP1-OP8 has one Perform product-sum operation.
  • FIG. 12 is a diagram showing a flow of the pipeline processing of FIG. 11 in the reconfigurable circuit of FIG.
  • the square shown in the figure represents PElOla-101d in FIG.
  • operations OP1 to OP8 assigned to PEs 101a to 101d are shown.
  • the data to be processed is sequentially input from operation OP1.
  • operation OP1 is assigned to PElOla and data is input.
  • PElOlb is assigned operation OP2.
  • the data of operation OP1 processed in cycle 1 is input to PElOlb, and the next data is input to operation OP1.
  • operations OP3, ⁇ P4 are assigned to cycles 3, 4 and PE1 01c, 101d, and the data of the previous operation (previous cycle) operation ⁇ P2, ⁇ P3 is input.
  • data is sequentially input to operation OP1.
  • cycles 6-8 operations OP6-OP8 are sequentially assigned to PElOlb-101d, and the data of operations 0P5-OP7 in the previous stage (previous cycle) is input. In cycles 5-8, no new data is input. Operation OP1 ⁇ P4 is not hit by P ElOla 101d, and cannot perform pipeline processing. Although not shown, when Cycle No. 9, PElOla is assigned operation O1 and the next data is input.
  • the method of dividing PElOla 101d and sequentially switching and implementing the pipeline processing of each stage is different from the method of implementing pipeline stages that can be implemented in PE 101a 101d at once. Processing time is shortened. In the method of mounting at once, after processing of the installed pipeline stage is completed, the processing result must be temporarily saved in the storage device, and then the next pipeline stage must be mounted on PElOla-101d. It is. On the other hand, in the method of sequentially switching and implementing pipeline processing at each stage, the processing time is not temporarily saved in the storage device, so the processing time is shortened.
  • FIG. 13 is a diagram illustrating pipeline processing when a plurality of pipeline stages are simultaneously allocated to processing elements.
  • FIG. 14 is a diagram showing a flow of the pipeline processing of FIG. 13 in the reconfigurable circuit of FIG.
  • PElOla shows the operation 0P1-OP7 assigned to lOld.
  • the data to be processed is sequentially input from operations OP1 and OP2. none indicates that the operation is assigned and the status is valid.
  • the first stage of the pipeline processing 112 shown in FIG. 13 is that operations OP1 and OP2 and two operations must be executed.
  • operations OP3, ⁇ P4 and two operations must be executed. Therefore, the reconfigurable circuit shown in Fig. 10 needs to be configured so that PElOla, 10 lb and PElOlc, lOld can execute two operations simultaneously, as shown in Fig. 14.
  • cycle 1 operations O1 and O2 are assigned to PElOla and 101b, and data is input to each of them.
  • PElOlc and lOld are subjected to operation OP3 and OP4 forces.
  • the data of operations OP1 and OP2 processed in cycle 1 are input to PElOlc and lOld.
  • the following data is input to the operations OP 1 and OP 2.
  • operation OP5—O P7 is assigned to PElOla, 101b and PE 101c, lOld in sequence, and the previous data is input.
  • Operation OP5-— OP7 needs to be processed one by one as shown in Fig. 13, so only one can be installed in PElOla, 101b and PElOlc, lOld.
  • PElOla, 101b and PElOlc, lOld are configured to execute two operations at the same time. Therefore, PElOla, 101b and PE101c, lOld have one processing element in an empty state (none), resulting in low mounting efficiency.
  • cycle 6 following operation of cycle 5, operation ⁇ P7 must be implemented in PElOla, 101b. This is because the data input in cycle 1 is processed by operation OP7 in cycle 5 and ends. The data input in cycle 2 is still processed only in operation OP6 in cycle 5. It is not necessary to perform operation OP7 in cycle 6.
  • Cycle 3 In cycle 6, no data is input, and the next data can be input in the next cycle 7.
  • FIG. 15 is a timing chart showing data input / output timing of the pipeline processing of FIG.
  • CLK shown in the figure indicates the timing at which the operation is executed.
  • IN indicates the timing of data input to operations 0P1 and 0P2.
  • OUT indicates the timing of the data output from operation O P7.
  • FCCM Computiong Machines
  • the present invention has been made in view of such a point, and improves the mounting efficiency of the pipeline processing to the processing element, and improves the processing performance of the reconfigurable circuit and the reconfigurable circuit.
  • An object is to provide a control method.
  • a plurality of storage units la and lb in which configuration information of a plurality of PE4a-4d is stored and configuration information in each stage of pipeline processing 5 processed by the plurality of PE4a-4d A storage switching unit 2 that switches and stores the units la and lb, and a configuration information output unit 3 that switches the plurality of storage units la and lb and outputs the configuration information to the plurality of PE4a-4d.
  • a featured reconfigurable circuit is provided.
  • a plurality of storage units la and lb are provided, and the configuration information of each stage of the pipeline processing 5 is switched and stored. Then, the plurality of storage units la and lb are switched, and the configuration information is output to the plurality of PEs 4a 4d. Therefore, virtually all pipeline processing stages can be assigned to PE4a-4d.
  • the reconfigurable circuit of the present invention includes a plurality of storage units, and switches and stores the configuration information of each stage of the nopline processing. Then, a plurality of storage units are switched to output configuration information to a plurality of processing elements. As a result, it is possible to virtually assign all stages of pipeline processing to processing elements, improve the efficiency of mounting pipeline processing on processing elements, and improve processing performance.
  • FIG. 1 is a diagram illustrating an outline of a reconfigurable circuit.
  • FIG. 2 is a circuit block diagram of a reconfigurable circuit according to the first embodiment.
  • FIG. 3 is a circuit block diagram of a configuration switching unit.
  • FIG. 4 is a circuit block diagram of the network.
  • FIG. 5 is a diagram showing a flow of the pipeline processing of FIG. 13 in the reconfigurable circuit of FIG.
  • FIG. 6 is a timing chart showing data input / output timing of the pipeline processing of FIG. 13 in the reconfiguration circuit of FIG.
  • FIG. 7 is a diagram for explaining the operation of the configuration load unit in FIG. 3.
  • FIG. 8 is a diagram showing pipeline processing for explaining a second embodiment.
  • FIG. 9 is a diagram showing a flow of the pipeline processing of FIG. 8 in a reconfigurable circuit having flip-flops.
  • FIG. 10 is a circuit block diagram of a conventional reconfigurable circuit.
  • FIG. 11 is a diagram showing pipeline processing.
  • FIG. 12 is a diagram showing the flow of the pipeline processing of FIG. 11 in the reconfigurable circuit of FIG.
  • FIG. 13 is a diagram showing pipeline processing when a plurality of pipeline stages are simultaneously assigned to a processing element.
  • FIG. 14 is a diagram showing the flow of the pipeline processing of FIG. 13 in the reconfigurable circuit of FIG.
  • FIG. 15 is a timing chart showing the input / output timing of the pipeline processing data in FIG.
  • FIG. 1 is a diagram for explaining the outline of the reconfigurable circuit.
  • the reconfigurable circuit includes storage units la and lb, a storage switching unit 2, a configuration information output unit 3, and PE4a-4d.
  • the figure also shows pipeline processing 5 that is processed by the reconfigurable circuit.
  • the storage units la and lb store the configuration information of the PE4a 4d.
  • the PE 4a 4d has a circuit configured by the configuration information stored in the storage units la and lb, and performs predetermined processing.
  • the storage switching unit 2 stores the configuration information in each stage of the pipeline processing 5 processed by the PEs 4a-4d by switching the storage units la and lb in order from the first stage. Note that operations 1 and 2 are performed in the first stage of pipeline processing 5, and operations OP3 and OP4 are performed in the second stage. 3rd stage 1st 5th stage Operation OP5- OP7 is performed. Then, it is assumed that data is sequentially input in operations 0 P1 and OP2. Also, the configuration information for realizing the processing of operations OP1-OP7 with PE4a-4d is OPC1-OPC7. [0032] The configuration information output unit 3 switches the storage units la and lb, and outputs the configuration information stored in the storage units la and lb to the plurality of PEs 4a-4d.
  • the storage switching unit 2 stores the configuration information OPCl and OPC2 of the first stage of the pipeline processing 5 from the storage unit la. Thereafter, the storage units la and lb are alternately switched to store the configuration information OPC3 to OPC7 of each stage.
  • the configuration information output unit 3 outputs the configuration information from the storage unit la to the PE 4a-4d, and thereafter outputs the configuration information by alternately switching the storage units la and lb.
  • the storage switching unit 2 stores the configuration information OPC1 and OPC2 of the operations OP1 and OP2 in the first stage of the pipeline processing 5 in the storage unit la.
  • the configuration information output unit 3 outputs the configuration information OPCl and OPC2 of the storage unit la to the PEs 4a and 4b.
  • PE4a and 4b are configured according to the configuration information OPCl and OPC2. As a result, data is input to the operations OP 1 and OP2 and processed.
  • the storage switching unit 2 stores the configuration information OPC3, OPC4 of the operations OP3, OP4 in the second stage of the pipeline processing 5 in the storage unit lb.
  • the configuration information output unit 3 outputs the configuration information OPC3 and OPC4 of the storage unit lb to the PEs 4a and 4b.
  • PE4a and 4b a circuit according to the configuration information OPC3 and OPC4 is configured.
  • operations OP3 and OP4 are processed.
  • the configuration information OPC3 inputs at least the data of PE4a force S itself (data of operation OP1 processed last time) and the data output from PE4b (data of operation OP2 processed last time). It has a connection relationship.
  • PE4b inputs its own data (data of operation ⁇ P2 processed last time) and data output from PE4a (data of operation ⁇ P1 processed last time) is input. It has a connection relationship.
  • the storage switching unit 2 stores the configuration information 0PC5 of the operation 0P5 in the third stage of the pipeline processing 5 in the storage unit la.
  • the configuration information output unit 3 outputs the configuration information OPCl, OPC2 and OPC5 of the storage unit la to the PE4a 4c.
  • PE4a 4c contains configuration information Information A circuit according to OPCl, OPC2, OPC5 is constructed. As a result, the operation OP5 is processed.
  • operations PE1 and OP2 are configured in PE4a and 4b, the following data can be input to operations OP1 and OP2.
  • the storage switching unit 2 stores the configuration information OPC6 of the operation OP6 in the fourth stage of the pipeline processing 5 in the storage unit lb.
  • the configuration information output unit 3 outputs the configuration information OPC3, OPC4, and OPC6 of the storage unit lb to the PE4a 4c.
  • PE4a 4c a circuit according to the configuration information OPC3, OPC4, and OPC6 is configured.
  • the processing of operation OP6 is performed. Since operations OP3 and ⁇ P4 are configured in PE4a and 4b, the data of operations ⁇ 1 and OP2 processed in the previous stage can be processed in operation OP3, ⁇ P4.
  • the storage switching unit 2 stores the configuration information OPC7 of the operation OP7 in the fifth stage of the pipeline processing 5 in the storage unit la.
  • the configuration information output unit 3 outputs the configuration information OPCl, OPC2, OPC5, and OPC7 of the storage unit la to the PE4a-4d.
  • PE4a-4d is composed of circuits according to the configuration information OPCl, OPC2, OPC5, OPC7.
  • the processing of operation OP7 is performed. Since PE4a-4c is configured with operations OP1, OP2, and OP5, the next data can be input to operations OP1 and OP2, and the data of operations ⁇ P3 and OP4 processed in the previous stage is operated. Can be processed with OP 5.
  • pipeline processing 5 is performed.
  • a plurality of storage units la and lb are provided, and the configuration information of each stage of the pipeline processing 5 is switched and stored. Then, the plurality of storage units la and lb are switched to output the configuration information to a plurality of PE4a-4d.
  • all stages of pipeline processing 5 can be virtually damaged by PE4a 4d, improving the efficiency of mounting pipeline processing on processing elements and improving processing performance. Can do.
  • FIG. 2 is a circuit block diagram of the reconfigurable circuit according to the first embodiment.
  • the reconfigurable circuit includes a configuration switching unit 10, a network 20, and PEs 31-34.
  • the configuration switching unit 10 has a plurality of memories.
  • the configuration switching unit 10 performs processing described later based on the configuration data, and stores the configuration data by switching a plurality of memories.
  • the plurality of memories are switched for each cycle, and the configuration data of the selected memory is executed in PE31.
  • Each of the PE31-34 has a plurality of ALUs, multipliers, and adders, for example.
  • Each ALU, multiplier, and adder of PE31-34 are configured based on configuration data so that one operation of pipeline processing can be realized.
  • the network 20 connects the PEs 31-34 based on the configuration data so that the PE 31 34 performs predetermined pipeline processing.
  • the configuration switching unit 10 will be described in detail.
  • FIG. 3 is a circuit block diagram of the configuration switching unit.
  • the configuration switching unit 10 includes a configuration memory 1
  • the configuration memory 11 stores configuration data that determines the configuration of the PE 31-34 and the connection relationship of the network 20.
  • the sequencer 12 selects the next configuration data to be output based on the configuration data currently output from the configuration memory 11.
  • Control to output to the configuration toggle section 13-16 Control to output to the configuration toggle section 13-16.
  • the sequencer 12 switches the output of configuration data on a task basis.
  • the configuration toggle section 13 16 is provided corresponding to the PE 31-34.
  • the configuration toggle unit 13-16 outputs the configuration data output from the configuration memory 11 to the corresponding PE 31-34 and the network 20 based on a predetermined process.
  • the configuration toggle section 13 includes a configuration load section 13a, a low force NOR configuration memory 13ba-13bf, a selector 13c, and a counter 13d. Note that the configuration toggle part 14 1 16 is a configuration toggle.
  • the circuit configuration is the same as that of the unit 13, and the description thereof is omitted.
  • the configuration load unit 13a performs processing described later based on the configuration data output from the configuration memory 11, and stores the configuration data by switching the local configuration memory 13ba 13bf. ⁇
  • the local configuration memory 13ba 13bf stores configuration data.
  • the configuration data stored in the local configuration memory 13ba 13bf is output to the PE 31 via the selector 13c.
  • the selector 13c selects the configuration data stored in the local configuration memory 13ba 13bf according to the signal output from the counter 13d, and outputs it to the PE 31 and the network 20.
  • the counter 13d outputs a signal for controlling the output of the selector 13c to the selector 13c.
  • the counter 13d outputs a signal to the selector 13c so as to be output to the data power PE31 of the local configuration memory 13ba-13bf in which the configuration data is stored.
  • the counter 13d repeatedly counts the numbers from 1 to 4 and outputs them to the selector 13c.
  • the selector 13c outputs the configuration data of the local configuration memory 13 ba-13bd corresponding to the number 1 to 4.
  • the local configuration data is output to the configuration data PE31 of the local configuration memory 13ba-13bd in which the local configuration data is stored.
  • Fig. 4 is a circuit block diagram of the network.
  • the network 20 has selectors 21-28.
  • the inputs of selectors 21-28 are connected to four signal lines connected to PE31-34.
  • the output of selector 2 1 1 28 is connected to PE31-34 and output.
  • the selector 21 28 is connected to the configuration toggle section 13 14 and is input based on the configuration data. Control the output of the generated signal. As a result, the connection relationship of PE31-34 can be determined.
  • Each PE 31 34 of the reconfigurable circuit shown in FIG. 2 is configured to execute one operation of the pipeline processing 112.
  • FIG. 5 is a diagram illustrating the flow of the pipeline processing of FIG. 13 in the reconfigurable circuit of FIG.
  • the large square in the figure represents PE31-34 in Figure 2.
  • the operation ⁇ P1-OP7 assigned to PE31-34 is shown. none indicates that the operation is assigned and indicates the status.
  • the small squares indicate the connection relationships of PE31-34 in Fig. 2 by the numbers shown therein. 1 1 4 indicates that each is connected to PE 31 34.
  • PE31 1 and 2 with OP3 assigned in S2 of cycle 2 indicate that they are connected to PE31 force PE31 (self) and PE32.
  • the configuration surfaces SI and S2 in each cycle correspond to the local configuration memory of the configuration toggle section 13-16 shown in FIG.
  • the configuration plane S1 corresponds to the local configuration memory 13ba and the local configuration memory corresponding to the local configuration memory 13ba of the configuration toggle unit 14-16.
  • the configuration surface S2 corresponds to the local configuration memory 13bb and the local configuration memory corresponding to the local configuration memory 13bb of the configuration toggle unit 14-16.
  • the configuration planes SI and S2 that is, the local configuration memory, switch every cycle, and PE31-34 is connected in the connection relationship (numbers in small squares) indicated by the configuration planes Sl and S2. Is done. In cycle 1, configuration plane S1 is executed, and in cycle 2, configuration plane S2 is executed. After that, configuration surfaces SI and S2 alternately Suppose that switches. In addition, the number of faces differs depending on the number of stages of pipeline processing 112 and the number of processing elements, and may be 2 or more. How to determine the number of faces will be described later
  • cycle 2 the configuration plane S2 is valid, and operations OP3 and OP4 in the second stage of the pipeline processing 112 shown in FIG. 13 are assigned to PEs 31 and 32.
  • PE31 is connected to itself and PE32 according to the configuration data.
  • PE32 is connected to PE31 and itself.
  • the data of operations OP1 and OP2 processed in cycle 1 are input to operation OP3.
  • operation OP4 the data of operation ⁇ P1 and OP2 processed in cycle 1 is input. Therefore, the processing up to the second stage of the pipeline processing 112 shown in FIG. 13 is performed.
  • cycle 3 configuration plane S1 is enabled, and operation OP5 is assigned to PE33.
  • PE33 is connected to PE31 and PE32 according to the configuration data.
  • operation OP5 is input to operation OP5.
  • the following data is input to the operations 0P1 and OP2 assigned to the PEs 31 and 32.
  • cycle 4 the configuration plane S2 becomes valid, and the operation OP6 is assigned to PE33.
  • PE33 is connected to PE33 according to the configuration data.
  • the data of operation O P5 processed in cycle 3 is input to operation O P6.
  • cycle 5 configuration plane S1 is enabled, and PE34 is Yong OP7 is assigned. At this time, as shown in the small square, PE34 is connected to PE33 according to the configuration data. As a result, the data of operation OP6 processed in cycle 4 is input to operation OP7. In cycle 3, the following data is input to operations ⁇ P1 and OP2 assigned to PE31 and 32.
  • configuration surfaces Sl and S2 are provided for PE31-34. Then, the operations of each stage of the pipeline processing 112 are alternately assigned to the configuration surfaces SI and S2 (actually, each stage of the pipeline processing 112 is alternately assigned to the configuration surfaces SI and S2. Operation configuration data is stored). Alternately, the configuration data stored in the configuration planes Sl and S2 is output to the PE 31-34, and the pipeline processing 112 is executed.
  • FIG. 6 is a timing chart showing the input / output timing of the data in the pipeline processing of FIG. 13 in the reconfiguration circuit of FIG.
  • CLK shown in the figure indicates the timing at which the operation is executed.
  • IN indicates the timing of data input to operation 0 P1 and OP2.
  • OUT indicates the timing of data output from operation OP7.
  • the operation OP7 is processed at CLK5 for the data input at CLK1. Therefore, the data input at CLK1 is output at CLK6.
  • the data input at CL K3 is processed for operation OP7 at CLK7. Therefore, the data input at CLK3 is output at CLK8.
  • FIG. 7 is a diagram for explaining the operation of the configuration load unit in FIG.
  • the configuration loading unit 13a in FIG. 3 first determines the number of configuration surfaces necessary for the pipeline processing to be processed.
  • the configuration load unit 13a performs Nop / Npe division based on the configuration data output from the configuration memory 11.
  • Nop is the number of pipeline processing operations
  • Npe is the number of processing elements. If Nop / Npe force S is divisible by Lower O, the division result is taken as the number of configuration faces, and if it is not divisible, the smallest integer value equal to or greater than the division result is taken as the number of faces in the configuration face.
  • the configuration loading unit 13a loads the configuration surface created in advance by the following procedure from the configuration memory 11 stored therein, and sets it in the local configuration memory 13ba.
  • the method of creating each configuration surface is as follows.
  • the configuration loading unit 13a loads the determined configuration plane from the configuration memory 11, and assigns the pipeline processing operation to the processing element. Since the number of configuration planes differs for each pipeline process, a plurality of local configuration memories 13ba-13bf are provided so as to be compatible with various pipeline processes.
  • the circuit configuration of the reconfigurable circuit according to the second embodiment has a storage device that temporarily saves the data processed in the operation, for example, a flip-flop. This is different from the circuit configuration of the reconfigurable circuit according to the first embodiment. Therefore, recon A detailed description of the circuit configuration of the FIG.
  • FIG. 8 is a diagram showing pipeline processing for explaining the second embodiment.
  • operations 0P1 and OP2 are processed in the first stage.
  • Operation OP3 is processed in the second stage, and operations ⁇ P4 and OP5 are processed in the third stage.
  • operations ⁇ P6 and ⁇ P7 are processed sequentially.
  • the arrows in the figure indicate the flow of data, and it is assumed that the data to be processed are sequentially input to operations ⁇ 1 and ⁇ P2.
  • the implementation of this pipeline processing 41 in the reconfigurable circuit of FIG. 2 having a flip-flop that temporarily holds data will be described.
  • FIG. 9 is a diagram showing the flow of the pipeline processing of FIG. 8 in the reconfigurable circuit having flip-flops.
  • the squares shown in the figure indicate PE3 1 1 34 of the reconfigurable circuit of FIG. 2 equipped with flip-flops. In the square, operations OP1-OP7 assigned to PE3134 are shown.
  • SI and S2 shown in the figure indicate configuration surfaces.
  • FF42 indicates a flip-flop included in the reconfigurable circuit of FIG. Operations OP1- OP7 of pipeline processing 41 in Fig. 8 are alternately assigned to PE31-34 of configuration plane SI, S2 every cycle.
  • operation OP3 is assigned to PE31 in configuration plane S2.
  • operation OP6 is assigned to PE32 in configuration plane S2.
  • cycle 5 the operation element P1 should be assigned the processing element P1 in the configuration plane S1.
  • PE33 and 34 in configuration S2 are still assigned operations. It is not available and there is a vacancy and it is possible to assign operation OP7 to PE33. Therefore, in cycle 5, the data processed in operation OP6 is temporarily stored in FF42.
  • cycle 6 operation OP7 is assigned to PE33 of configuration plane S2. At this time, FF42 data is read into PE33.

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)
  • Advance Control (AREA)
  • Image Processing (AREA)
  • Microcomputers (AREA)

Abstract

 パイプライン処理のプロセッシングエレメントへの実装効率を高め、処理性能を向上させる。  プロセッシングエレメント(PE)(4a)~(4d)は、構成情報によって回路構成が再構成され、所定の処理を実行する。記憶部(1a),(1b)は、PE(4a)~(4d)の構成情報が記憶される。記憶切替え部(2)は、PE(4a)~(4d)によって処理されるパイプライン処理(5)の各段における構成情報を、複数の記憶部(1a),(1b)を切替えて記憶していく。構成情報出力部(3)は、複数の記憶部(1a),(1b)を切替えて、記憶部(1a),(1b)の構成情報を複数のPE(4a)~(4d)に出力する。                                                                                 

Description

明 細 書
リコンフィギユラブル回路およびリコンフィギユラブル回路の制御方法 技術分野
[0001] 本発明はリコンフィギユラブル回路およびリコンフィギユラブル回路の制御方法に関 し、特に構成情報によって構成が再構成される複数のプロセッシングエレメントを有 するリコンフィギユラブル回路およびリコンフィギユラブル回路の制御方法に関する。 背景技術
[0002] 従来、再構成可能な演算器群を有するリコンフィギユラブル回路がある。リコンフィ ギユラブル回路は、コンフィギュレーションデータに基づいて演算器群を構成し、様々 な処理を行うことができる。このようなリコンフィギユラブル回路において、 1つのパイプ ライン処理を実装することができなレ、場合、リコンフィギユラブル回路をパイプライン段 ごとに分割して、各段の処理を逐次切替えて実装する方法が提案されている(例え ば、非特許文献 1参照)。
[0003] 図 10は、従来のリコンフィギユラブル回路の回路ブロック図である。
図に示すように、リコンフィギユラブル回路は、プロセッシングエレメント(PE :
Processing Element) 101a一 101dおよびネットワーク 102を有してレヽる。
[0004] PElOla 101dの各々は、例えば、 ALU (Arithmetic Logical Unit)や乗算器、加 算器を複数有している。 PElOla 101dの各々の ALUや乗算器、加算機は、パイ プライン処理の 1段の処理を行えるように、コンフィギュレーションデータに基づいて 構成される。
[0005] ネットワーク 102は、 PElOla— 101dがパイプライン処理を行うことができるように、 コンフィギュレーションデータに基づいて、 PElOla 101dを接続する。
[0006] ここで、パイプライン処理とは、順次入力されるデータに対し、順次演算を行う処理 をいう。例えば、 FIR (Finite Impulse Response)フィルタで示される積和演算は、順次 入力されるデータに対し、順次積和演算をしていくパイプライン処理である。また、ォ ペレーシヨンとは、順次行われる演算のうちの、 1つの演算をいう。例えば、前述した 積和演算であれば、順次入力されるデータに対し、順次積和演算が行われるが、そ のうちの 1つの積和演算が 1つのオペレーションとなる。また、パイプライン処理は、複 数の段に分かれ、 1つの段で 1または 2以上のオペレーションが行われる。
[0007] 図 11は、パイプライン処理を示した図である。
図に示すパイプライン処理 111は、オペレーション OP1 〇P8で 1つのパイプライ ン処理を行う。図に示す矢印は、データの流れを示し、オペレーション〇P1に処理さ れるデータが順次入力されるとする。なお、前述した積和演算を例に説明すると、ォ ペレーシヨン〇P1— OP8は、オペレーション OP1に入力されるデータに対し、 8段の 積和演算を行い、オペレーション OP1— OP8の各々は、 1つの積和演算を行う。
[0008] パイプライン処理 111の図 10のリコンフィギユラブル回路への実装について説明す る。上記でも説明したように、図 10に示すリコンフィギユラブル回路の PElOla— 101 dの各々には、パイプライン処理の 1段のオペレーションが割り当てられる。 8段のォ ペレーシヨン〇P1— OP8に対し、 PElOla— 101dは 4つであるので、 1サイクルごと に、オペレーション OP1— OP8の PElOla— 101dへの割り当てを切替えてパイプラ イン処理を行う。
[0009] 図 12は、図 10のリコンフィギユラブル回路における図 11のパイプライン処理の流れ を示した図である。
図に示す四角は、図 10の PElOla— 101dを示している。また、四角の中には、 PE 101a— 101dに割り当てられたオペレーション OP1— OP8を示している。なお、処理 されるデータは、オペレーション OP1から順次入力される。
[0010] サイクノレ 1のとき、 PElOlaには、オペレーション OP1が割り当てられ、データが入 力される。サイクル 2のとき、 PElOlbには、オペレーション OP2が割り当てられる。こ のとき、 PElOlbには、サイクル 1で処理されたオペレーション OP1のデータが入力さ れ、オペレーション OP1には、次のデータが入力される。順次、サイクノレ 3, 4と、 PE1 01c, 101dにオペレーション OP3,〇P4が割り当てられ、前段(前サイクル)のオペ レーシヨン〇P2, 〇P3のデータが入力される。また、オペレーション OP1には、順次 データが入力される。
[0011] サイクノレ 5になると、オペレーション OP5を割り当てる新たな PEが存在しないので、 PElOlaにオペレーション〇P5を割り当てる。そして、 PElOld (オペレーション〇P4 )で処理されたデータを、 PElOla (オペレーション OP5)に出力するように構成する
[0012] サイクル 6— 8では、順次 PElOlb— 101dにオペレーション OP6— OP8が割り当 てられ、前段(前サイクル)のオペレーション〇P5— OP7のデータが入力される。なお 、サイクル 5— 8では、新たなデータは入力されない。オペレーション OP1 〇P4が P ElOla 101dに害 ijり当てられておらず、パイプライン処理を行えない力 である。図 示していないが、サイクノレ 9のとき、 PElOlaには、オペレーション〇P1が割り当てら れ、次のデータが入力される。
[0013] このように、 PElOla 101dに分割して、各段のパイプライン処理を逐次切替えて 実装する方法は、 PE 101 a 101 dに実装可能なパイプライン段を一度に実装する 方法に対し、処理時間が短くなる。 1度に実装する方法では、実装されたパイプライ ン段の処理が終わると、処理結果を記憶装置に一時退避して、それから、次に続くパ ィプライン段を PElOla— 101dに実装しなければならないからである。これに対し、 各段のパイプライン処理を逐次切替えて実装する方法では、処理結果を記憶装置に 一時退避することがないため、処理時間が短くなる。
[0014] 次に、パイプライン処理のある段において、同時に複数のオペレーションを実行し なければならない場合について説明する。この場合、プロセッシングエレメントに複数 のパイプライン段を同時に割り当てる必要がある。
[0015] 図 13は、プロセッシングエレメントに複数のパイプライン段を同時に割り当てる場合 のパイプライン処理を示した図である。
図に示すパイプライン処理 112では、 1段目にオペレーション〇P1 , OP2が処理さ れる。 2段目にオペレーション OP3, OP4力 S処理される。以後、順次各段で、ォペレ ーシヨン OP5 〇P7が処理される。図に示す矢印は、データの流れを示し、ォペレ ーシヨン ΟΡ1, OP2には、処理されるデータが順次入力されるとする。このパイプライ ン処理 112の図 10のリコンフィギユラブル回路への実装について説明する。
[0016] 図 14は、図 10のリコンフィギユラブル回路における図 13のパイプライン処理の流れ を示した図である。
図に示す四角は、図 10の PElOla— 101dを示している。また、四角の中には 、 PElOla— lOldに割り当てられたオペレーション〇P1— OP7を示している。処理 されるデータは、オペレーション OP1, OP2から順次入力される。 noneは、オペレー シヨンが割り当てられてレヽなレ、状態を示してレ、る。
[0017] 図 13に示すパイプライン処理 112の 1段目は、オペレーション〇P1,〇P2と、 2つ のオペレーションを実行しなければならなレ、。また、パイプライン処理 112の 2段目は 、オペレーション OP3,〇P4と、 2つのオペレーションを実行しなければならなレ、。そ のため、図 10に示すリコンフィギユラブル回路は、図 14に示すように、 PElOla, 10 lbと PElOlc, lOldを、同時に 2つのオペレーションを実行できるように構成する必 要がある。
[0018] サイクル 1のとき、 PElOla, 101bには、オペレーション〇P1,〇P2が割り当てられ 、それぞれにデータが入力される。サイクノレ 2のとき、 PElOlc, lOldには、オペレー シヨン OP3, OP4力 S害り当てられる。このとき、 PElOlc, lOldには、サイクノレ 1で処 理されたオペレーション OP1, OP2のデータが入力される。また、オペレーション OP 1 , OP2には、次のデータが入力される。サイクル 3— 5と、順次 PElOla, 101bと PE 101c, lOldにオペレーション OP5—〇P7が割り当てられ、前段のデータが入力さ れる。
[0019] オペレーション OP5— OP7は、図 13に示すように 1段で 1つずつ処理される必要が あるため、 PElOla, 101bおよび PElOlc, lOldに 1ずつしか実装することができな レヽ。前述したように、 PElOla, 101bと PElOlc, lOldは、同時に 2つのオペレーシ ヨンを実行できるように構成されているからである。よって、 PElOla, 101bと PE101 c, lOldは、一方のプロセッシングエレメントが空き状態(none)となり、実装効率が 低くなる。
[0020] サイクル 6では、サイクル 5に続いて PElOla, 101bにオペレーション〇P7を実装 する必要がある。これは、サイクル 1で入力されたデータは、サイクル 5でオペレーショ ン OP7の処理が行われ終了する力 サイクル 2で入力されたデータは、サイクル 5で は、まだ、オペレーション OP6までの処理しか行われておらず、サイクル 6でオペレー シヨン OP7の処理を行う必要がある力、らである。なお、サイクル 3 サイクル 6では、デ ータは入力されず、次にデータが入力できるのは、次のサイクル 7となる。 [0021] 図 15は、図 13のパイプライン処理のデータの入出力タイミングを示したタイミングチ ヤートである。
図に示す CLKは、オペレーションが実行されるタイミングを示している。 INは、オペ レーシヨン〇P1 , 〇P2に入力されるデータのタイミングを示している。 OUTは、オペ レーシヨン〇P7から出力されるデータのタイミングを示している。
[0022] 図に示すように CLK1 , 2 (CLKは図 14に示しているサイクルに対応する)において 、オペレーション ΟΡ1,〇P2にデータが入力される。 CLK1で入力されたデータは、 図 14で説明したように CLK5でオペレーション〇P7の処理が行われる。よって、 CL K1で入力されたデータは、図 15に示すように CLK6で出力される。 CLK2で入力さ れたデータは、図 14で説明したように CLK6でオペレーション OP7の処理が行われ る。よって、 CLK2で入力されたデータは、図 15に示すように CLK7で出力される。 オペレーション〇P1 , 〇P2は、 CLK7で PElOla, 101bに再び実装され、次のデー タが入力される。
特 3午文献 1: H.Schmit, Incremenntal Reconnguration for Pipelined
Applications", Proceedings of the IEEE Symposium on FPGAs for Custom
Computiong Machines(FCCM),P.47- 55, 1997
発明の開示
発明が解決しょうとする課題
[0023] このように、パイプライン処理のある段において、同時に複数のオペレーションが実 行される場合、プロセッシングエレメントに複数のオペレーションを同時に割り当てる 必要がある。この場合、パイプライン処理のプロセッシングエレメントへの実装効率が 低くなり、処理性能が低下するという問題点があった。
[0024] 本発明はこのような点に鑑みてなされたものであり、パイプライン処理のプロセッシ ングエレメントへの実装効率を高め、処理性能を向上させるリコンフィギユラブル回路 およびリコンフィギユラブル回路の制御方法を提供することを目的とする。
課題を解決するための手段
[0025] 本発明では上記問題を解決するために、図 1に示すような構成情報によって構成 が再構成される複数のプロセッシングエレメント(PE) 4a 4dを有するリコンフィギュ ラブル回路において、複数の PE4a— 4dの構成情報が記憶される複数の記憶部 la , lbと、複数の PE4a— 4dによって処理されるパイプライン処理 5の各段における構 成情報を、複数の記憶部 la, lbを切替えて記憶していく記憶切替え部 2と、複数の 記憶部 la, lbを切替えて、構成情報を複数の PE4a— 4dに出力する構成情報出力 部 3と、を有することを特徴とするリコンフィギユラブル回路が提供される。
[0026] このようなリコンフィギユラブル回路によれば、複数の記憶部 la, lbを具備し、パイ プライン処理 5の各段の構成情報を切替えて記憶していく。そして、複数の記憶部 la , lbを切替えて、構成情報を複数の PE4a 4dに出力する。よって、仮想的に、パイ プライン処理の全段を PE4a— 4dに割り当てることができる。
発明の効果
[0027] 本発明のリコンフィギユラブル回路では、複数の記憶部を具備し、ノ ィプライン処理 の各段の構成情報を切替えて記憶していく。そして、複数の記憶部を切替えて、構 成情報を複数のプロセッシングエレメントに出力するようにした。これによつて、仮想 的に、パイプライン処理の全段をプロセッシングエレメントに割り当てることができ、パ ィプライン処理のプロセッシングエレメントへの実装効率が向上し、処理性能を向上 すること力 Sできる。
[0028] 本発明の上記および他の目的、特徴および利点は本発明の例として好ましレ、実施 の形態を表す添付の図面と関連した以下の説明により明らかになるであろう。
図面の簡単な説明
[0029] [図 1]リコンフィギユラブル回路の概要を説明する図である。
[図 2]第 1の実施の形態に係るリコンフィギユラブル回路の回路ブロック図である。
[図 3]コンフィギュレーション切替え部の回路ブロック図である。
[図 4]ネットワークの回路ブロック図である。
[図 5]図 2のリコンフィギユラブル回路における図 13のパイプライン処理の流れを示し た図である。
[図 6]図 2のリコンフィギュレーション回路における図 13のパイプライン処理のデータ の入出力タイミングを示したタイミングチャートである。
[図 7]図 3のコンフィギュレーションロード部の動作を説明する図である。 [図 8]第 2の実施の形態を説明するためのパイプライン処理を示した図である。
[図 9]フリップフロップを有したリコンフィギユラブル回路における図 8のパイプライン処 理の流れを示した図である。
[図 10]従来のリコンフィギユラブル回路の回路ブロック図である。
[図 11]パイプライン処理を示した図である。
[図 12]図 10のリコンフィギユラブル回路における図 11のパイプライン処理の流れを示 した図である。
[図 13]プロセッシングエレメントに複数のパイプライン段を同時に割り当てる場合のパ ィプライン処理を示した図である。
[図 14]図 10のリコンフィギユラブル回路における図 13のパイプライン処理の流れを示 した図である。
[図 15]図 13のパイプライン処理のデータの入出力タイミングを示したタイミングチヤ一 トである。
発明を実施するための最良の形態
[0030] 以下、本発明の原理を図面を参照して詳細に説明する。
図 1は、リコンフィギユラブル回路の概要を説明する図である。
図に示すようにリコンフィギユラブル回路は、記憶部 la, lb、記憶切替え部 2、構成 情報出力部 3、および PE4a— 4dを有している。また、図には、リコンフィギユラブル回 路によって処理されるパイプライン処理 5が示してある。
[0031] 記憶部 la, lbは、 PE4a 4dの構成情報が記憶される。 PE4a 4dは、記憶部 la , lbに記憶される構成情報によって、回路が構成され、所定の処理を行う。
記憶切替え部 2は、 PE4a— 4dによって処理されるパイプライン処理 5の各段にお ける構成情報を、 1段目から順に、記憶部 la, lbを切替えて記憶していく。なお、パ ィプライン処理 5の 1段目では、オペレーション ΟΡ1, 2が行われ、 2段目では、ォペレ ーシヨン OP3, OP4が行われる。 3段目一 5段目では、オペレーション OP5— OP7が 行われる。そして、オペレーション〇P1 , OP2において、データが順次入力されると する。また、オペレーション OP1— OP7の処理を PE4a— 4dで実現するための構成 情報を OPC1— OPC7とする。 [0032] 構成情報出力部 3は、記憶部 la, lbを切替えて、記憶部 la, lbに記憶されている 構成情報を、複数の PE4a— 4dに出力する。
図 1の動作について説明する。記憶切替え部 2は、記憶部 laからパイプライン処理 5の 1段目の構成情報 OPCl, OPC2を記憶し、以後、記憶部 la, lbを交互に切替 えて、各段の構成情報 OPC3— OPC7を記憶してレ、くとする。また、構成情報出力部 3は、記憶部 laから構成情報を PE4a— 4dに出力し、以後、交互に記憶部 la, lbを 切替えて構成情報を出力していくとする。
[0033] まず、記憶切替え部 2は、パイプライン処理 5の 1段目におけるオペレーション OP1 , OP2の構成情報 OPC1 , OPC2を、記憶部 laに記憶する。構成情報出力部 3は、 記憶部 laの構成情報 OPCl, OPC2を PE4a, 4bに出力する。 PE4a, 4bには、構 成情報 OPCl, OPC2に従った回路が構成される。これによつて、オペレーション OP 1 , OP2にデータが入力され、処理される。
[0034] 次に、記憶切替え部 2は、パイプライン処理 5の 2段目におけるオペレーション OP3 , OP4の構成情報 OPC3, OPC4を、記憶部 lbに記憶する。構成情報出力部 3は、 記憶部 lbの構成情報 OPC3, OPC4を PE4a, 4bに出力する。 PE4a, 4bには、構 成情報 OPC3, OPC4に従った回路が構成される。これによつて、オペレーション OP 3, OP4が処理される。
[0035] なお、パイプライン処理 5に示すように、オペレーション〇P3, OP4は、オペレー シヨン OP1, OP2からデータが入力される。よって、構成情報 OPC3は、少なくとも、 PE4a力 S自分自身のデータ(前回処理されたオペレーション OP1のデータ)を入力し 、 PE4bから出力されるデータ(前回処理されたオペレーション OP2のデータ)を入力 するという接続関係を有していることになる。また、構成情報 OPC4は、 PE4bが自分 自身のデータ(前回処理されたオペレーション〇P2のデータ)を入力し、 PE4aから出 力されるデータ(前回処理されたオペレーション〇P1のデータ)を入力するという接続 関係を有していることになる。
[0036] 次に、記憶切替え部 2は、パイプライン処理 5の 3段目におけるオペレーション〇P5 の構成情報〇PC5を、記憶部 laに記憶する。構成情報出力部 3は、記憶部 laの構 成情報 OPCl, OPC2, OPC5を PE4a 4cに出力する。 PE4a 4cには、構成情 報 OPCl, OPC2, OPC5に従った回路が構成される。これによつて、オペレーション OP5が処理される。また、 PE4a, 4bには、オペレーション〇P1 , OP2が構成されて いるので、次のデータをオペレーション OP1, OP2に入力できる。
[0037] 次に、記憶切替え部 2は、パイプライン処理 5の 4段目におけるオペレーション〇P6 の構成情報〇PC6を、記憶部 lbに記憶する。構成情報出力部 3は、記憶部 lbの構 成情報 OPC3, OPC4, OPC6を PE4a 4cに出力する。 PE4a 4cには、構成情 報 OPC3, OPC4, OPC6に従った回路が構成される。これによつて、オペレーション OP6の処理が行われる。また、 PE4a, 4bには、オペレーション OP3,〇P4が構成さ れているので、前段で処理されたオペレーション ΟΡ1, OP2のデータを、オペレーシ ヨン OP3,〇P4で処理できる。
[0038] 次に、記憶切替え部 2は、パイプライン処理 5の 5段目におけるオペレーション〇P7 の構成情報〇PC7を、記憶部 laに記憶する。構成情報出力部 3は、記憶部 laの構 成情報 OPCl, OPC2, OPC5, OPC7を PE4a— 4dに出力する。 PE4a— 4dには、 構成情報 OPCl, OPC2, OPC5, OPC7に従った回路が構成される。これによつて 、オペレーション OP7の処理が行われる。また、 PE4a— 4cには、オペレーション OP 1 , OP2, OP5が構成されているので、次のデータをオペレーション OP1, OP2に入 力でき、前段で処理されたオペレーション〇P3, OP4のデータを、オペレーション OP 5で処理できる。以上の動作を繰り返すことによって、パイプライン処理 5の処理が行 われる。
[0039] このように、複数の記憶部 la, lbを具備し、ノ ィプライン処理 5の各段の構成情報 を切替えて記憶していく。そして、複数の記憶部 la, lbを切替えて、構成情報を複 数の PE4a— 4dに出力するようにした。これによつて、仮想的に、パイプライン処理 5 の全段を PE4a 4dに害 !jり当てることができ、パイプライン処理のプロセッシングエレ メントへの実装効率が向上し、処理性能を向上することができる。
[0040] 次に、本発明の第 1の実施の形態を図面を参照して詳細に説明する。
図 2は、第 1の実施の形態に係るリコンフィギユラブル回路の回路ブロック図である。 図に示すようにリコンフィギユラブル回路は、コンフィギュレーション切替え部 10、ネ ットワーク 20、および PE31— 34を有している。 [0041] コンフィギュレーション切替え部 10は、複数のメモリを有している。コンフィギユレ一 シヨン切替え部 10は、コンフィギュレーションデータに基づいて後述する処理を行い 、コンフィギュレーションデータを、複数のメモリを切替えて記憶していく。また、複数 のメモリは、サイクルごとに切替えられ、選択されたメモリのコンフィギュレーションデ ータが PE31一 34で実行される。
[0042] PE31— 34の各々は、例えば、 ALUや乗算器、加算器を複数有している。 PE31 一 34の各々の ALUや乗算器、加算機は、パイプライン処理の 1つのオペレーション を実現できるように、コンフィギュレーションデータに基づいて構成される。
[0043] ネットワーク 20は、 PE31 34が所定のパイプライン処理を行うように、コンフィギュ レーシヨンデータに基づいて、 PE31— 34を接続する。
コンフィギュレーション切替え部 10とネットワーク 20の詳細について説明する。まず
、コンフィギュレーション切替え部 10について詳細に説明する。
[0044] 図 3は、コンフィギュレーション切替え部の回路ブロック図である。
図に示すようにコンフィギュレーション切替え部 10は、コンフィギュレーションメモリ 1
1、シーケンサ 12、およびコンフィギュレーショントグル部 13— 16を有している。
[0045] コンフィギュレーションメモリ 11は、 PE31— 34の構成およびネットワーク 20の接続 関係を決めるコンフィギュレーションデータを格納している。
シーケンサ 12は、現在コンフィギュレーションメモリ 11から出力されているコンフィギ ユレーシヨンデータに基づいて、次に出力するコンフィギュレーションデータを選定し
、コンフィギュレーショントグル部 13— 16に出力するよう制御する。シーケンサ 12は、 タスク単位でコンフィギュレーションデータの出力切替えを行う。
[0046] コンフィギュレーショントグル部 13 16は、 PE31— 34に対応して設けられている。
コンフィギュレーショントグル部 13— 16は、コンフィギュレーションメモリ 11から出力さ れるコンフィギュレーションデータを、所定の処理に基づいて、対応する PE31— 34と ネットワーク 20に出力する。
[0047] コンフィギュレーショントグル部 13は、コンフィギュレーションロード部 13a、ロー力ノレ コンフィギュレーションメモリ 13ba— 13bf、セレクタ 13c、およびカウンタ 13dを有して いる。なお、コンフィギュレーショントグル部 14一 16は、コンフィギュレーショントグル 部 13と同じ回路構成を有しており、その説明を省略する。
[0048] コンフィギュレーションロード部 13aは、コンフィギュレーションメモリ 11から出力され るコンフィギュレーションデータに基づいて後述する処理を行レ、、コンフィギユレーショ ンデータを、ローカルコンフィギュレーションメモリ 13ba 13bfを切替えて記憶してい <。
[0049] ローカルコンフィギュレーションメモリ 13ba 13bfは、コンフィギュレーションデータ が記憶される。ローカルコンフィギュレーションメモリ 13ba 13bfに記憶されたコンフ ィギユレーシヨンデータは、セレクタ 13cを介して PE31に出力される。
[0050] セレクタ 13cは、ローカルコンフィギュレーションメモリ 13ba 13bfに記憶されてレヽ るコンフィギュレーションデータを、カウンタ 13dから出力される信号に応じて選択し、 PE31およびネットワーク 20に出力する。
[0051] カウンタ 13dは、セレクタ 13cの出力を制御する信号を、セレクタ 13cに出力する。
カウンタ 13dは、コンフィギュレーションデータが記憶されたローカルコンフィギユレ一 シヨンメモリ 13ba— 13bfのデータ力 PE31に出力されるように信号をセレクタ 13cに 出力する。
[0052] 例えば、ローカルコンフィギュレーションメモリ 13ba— 13bdにおいて、コンフィギュ レーシヨンデータがローカルコンフィギュレーションメモリ 13baから順に記憶されると する。カウンタ 13dは、 1から 4までの数を繰り返しカウントし、セレクタ 13cに出力する とする。セレクタ 13cは、 1一 4の数に対応したローカルコンフィギュレーションメモリ 13 ba— 13bdのコンフィギュレーションデータを出力する。これによつて、ローカルコンフ ィギユレーシヨンデータが記憶されたローカルコンフィギュレーションメモリ 13ba— 13 bdのコンフィギュレーションデータ力 PE31に出力される。
[0053] ネットワーク 20について詳細に説明する。
図 4は、ネットワークの回路ブロック図である。
図に示すようにネットワーク 20は、セレクタ 21— 28を有している。セレクタ 21— 28 の入力は、 PE31— 34と接続された 4本の信号線と接続されている。また、セレクタ 2 1一 28の出力は、 PE31— 34と接続されてレヽる。セレクタ 21 28は、コンフィギユレ ーシヨントグル部 13 14と接続され、コンフィギュレーションデータに基づいて、入力 される信号の出力を制御する。これによつて、 PE31— 34の接続関係を決定すること ができる。
[0054] 次に、図 13で示したパイプライン処理 112の図 2のリコンフィギユラブル回路への実 装について説明する。図 2に示すリコンフィギユラブル回路の PE31 34の各々は、 パイプライン処理 112の 1つのオペレーションを実行できるように構成される。
[0055] 図 5は、図 2のリコンフィギユラブル回路における図 13のパイプライン処理の流れを 示した図である。
図に示す大きい四角は、図 2の PE31— 34を示している。また、この四角の中には 、 PE31— 34に割り当てられるオペレーション〇P1— OP7が示されている。 noneは、 オペレーションが割り当てられてレ、なレ、状態を示してレ、る。
[0056] 小さな四角は、その中に示される数字により、図 2の PE31— 34の接続関係を示す 。 1一 4は、それぞれ、 PE31 34に接続されることを示す。例えば、サイクル 2の S2 に示してある、 OP3が割り当てられた PE31の 1, 2は、 PE31力 PE31 (自分自身) と PE32に接続されていることを示している。
[0057] 図にはサイクル 1からサイクル 5までのパイプライン処理 112の流れが示してある。
各サイクルにおけるコンフィギュレーション面 SI, S2は、図 3で示したコンフィギユレ ーシヨントグル部 13— 16のローカルコンフィギュレーションメモリに対応している。具 体的には、コンフィギュレーション面 S1は、ローカルコンフィギュレーションメモリ 13ba と、コンフィギュレーショントグル部 14一 16のローカルコンフィギュレーションメモリ 13 baに対応するローカルコンフィギュレーションメモリが対応する。コンフィギユレーショ ン面 S2は、ローカルコンフィギュレーションメモリ 13bbと、コンフィギュレーショントグ ノレ部 14一 16のローカルコンフィギュレーションメモリ 13bbに対応するローカルコンフ ィギユレーシヨンメモリが対応する。
[0058] コンフィギュレーション面 SI , S2、すなわち、ローカルコンフィギュレーションメモリ は、サイクルごとに切り替わり、そのコンフィギュレーション面 Sl, S2で示される接続 関係(小さな四角の中の数字)において、 PE31— 34が接続される。なお、サイクル 1 では、コンフィギュレーション面 S1が実行され、サイクル 2では、コンフィギユレーショ ン面 S2が実行されるとする。そして、以後、交互にコンフィギュレーション面 SI , S2 が切り替わるとする。また、面数は、パイプライン処理 112の段数とプロセッシングエレ メントの数によって異なり、 2以上の場合もある。面数の決め方は、後述
詳細するが、図 13のパイプライン処理 112では、 2つのコンフィギュレーション面 S1 ,
S2で十分である。そして、パイプライン処理 112の各段のオペレーション〇P1— OP
7は、 1段目力 順に交互にコンフィギュレーション面 SI , S2の PE31— 34に害 ijり当 てられる。
[0059] 図に示すようにサイクル 1では、コンフィギュレーション面 S1が有効となり、 PE31, 3 2には、パイプライン処理 112の 1段目のオペレーション ΟΡ1,〇P2が割り当てられる 。オペレーション ΟΡ1,〇P2には、データが入力され、処理が行われる。
[0060] サイクル 2では、コンフィギュレーション面 S2が有効となり、 PE31, 32には、図 13で 示すパイプライン処理 112の 2段目のオペレーション OP3,〇P4が割り当てられる。 このとき、小さな四角に示すように、 PE31は、コンフィギュレーションデータに従い、 自分自身と PE32に接続される。 PE32は、 PE31と自分自身に接続される。これによ り、オペレーション OP3には、サイクル 1で処理されたオペレーション OP1 , OP2のデ ータが入力されることになる。オペレーション OP4には、サイクル 1で処理されたオペ レーシヨン〇P1 , OP2のデータが入力されることになる。よって、図 13で示したパイプ ライン処理 112の 2段目までの処理が行われた状態となる。
[0061] サイクル 3では、コンフィギュレーション面 S1が有効となり、 PE33には、オペレーシ ヨン OP5が割り当てられる。このとき、小さな四角に示すように、 PE33は、コンフィギュ レーシヨンデータに従い、 PE31 , 32に接続される。これにより、オペレーション OP5 には、サイクル 2で処理されたオペレーション〇P3, OP4のデータが入力されることに なる。なお、サイクノレ 3のとき、 PE31 , 32に割り当てられているオペレーション〇P1 , OP2に、次のデータが入力される。
[0062] サイクル 4では、コンフィギュレーション面 S2が有効となり、 PE33には、オペレーシ ヨン OP6が害割当てられる。このとき、小さな四角に示すように、 PE33は、コンフィギュ レーシヨンデータに従レ、、 PE33に接続される。これにより、オペレーション〇P6には、 サイクル 3で処理されたオペレーション〇P5のデータが入力されることになる。
[0063] サイクル 5では、コンフィギュレーション面 S1が有効となり、 PE34には、オペレーシ ヨン OP7が割り当てられる。このとき、小さな四角に示すように、 PE34は、コンフィギュ レーシヨンデータに従い、 PE33に接続される。これにより、オペレーション OP7には、 サイクル 4で処理されたオペレーション OP6のデータが入力されることになる。なお、 サイクル 3のとき、 PE31 , 32に割り当てられているオペレーション〇P1 , OP2に、次 のデータが入力される。
[0064] このように、 PE31— 34に対し、コンフィギュレーション面 Sl, S2を設ける。そして、 コンフィギュレーション面 SI , S2に対し、交互にパイプライン処理 112の各段のオペ レーシヨンを割り当てていく(実際は、コンフィギュレーション面 SI , S2に対し、交互に パイプライン処理 112の各段の、オペレーションのコンフィギュレーションデータが記 憶される)。そして、交互に、コンフィギュレーション面 Sl, S2に記憶されたコンフィギ ユレーシヨンデータを PE31— 34に出力し、パイプライン処理 112を実行させていく。
[0065] 図 6は、図 2のリコンフィギュレーション回路における図 13のパイプライン処理のデ ータの入出力タイミングを示したタイミングチャートである。
図に示す CLKは、オペレーションが実行されるタイミングを示している。 INは、オペ レーシヨン〇P1 , OP2に入力されるデータのタイミングを示している。 OUTは、 オペレーション OP7から出力されるデータのタイミングを示している。
[0066] 図に示すように CLK1 (CLKは図 5に示しているサイクルに対応する)において、ォ ペレーシヨン〇P1 , OP2にデータが入力される。 CLK3において、オペレーション O PI , OP2に次のデータが入力される。以下、 CLK5, 7,…と 1つおきに、順次データ が入力される。
[0067] CLK1で入力されたデータは、図 5で説明したように CLK5でオペレーション OP7 の処理が行われる。よって、 CLK1で入力されたデータは、 CLK6で出力される。 CL K3で入力されたデータは、 CLK7でオペレーション OP7の処理が行われる。よって 、 CLK3で入力されたデータは、 CLK8で出力される。
[0068] 図 15のタイミングチャートに示すように、従来のリコンフィギユラブル回路では、 6CL Kごとに 2回データを入力している。すなわち、 3CLKごとに 1回の割合でデータを入 力して、図 13に示すパイプライン処理 112を行っている。これに対し、図 2のリコンフ ィギユラブル回路では、図 6のタイミングチャートに示すように、 2CLKごとに 1回デー タを入力して、図 13に示すパイプライン処理 112を行っている。すなわち、図 2のリコ ンフィギユラブル回路では、 1. 5倍の処理速度を達成することができる。これは、従来 のリコンフィギユラブル回路では、オペレーションを上書きしてプロセッシングエレメン トに割り当てていたのに対し、図 2のリコンフィギュレーション回路では、複数のコンフ ィギユレーシヨン面を設け、これに全オペレーションをプロセッシングエレメントに割り 当てるようにしたので、データを入力するオペレーションが存在し、データをより多い タイミングで入力することが可能となったためである。
[0069] 次に、コンフィギュレーション面の面数の決定およびオペレーションのプロセッシン グエレメントへの割り当てについて説明する。
図 7は、図 3のコンフィギュレーションロード部の動作を説明する図である。
[0070] 図 3のコンフィギュレーションロード部 13aは、まず、処理するパイプライン処理に必 要なコンフィギュレーション面の面数を決定する。コンフィギュレーションロード部 13a は、コンフィギュレーションメモリ 11から出力されるコンフィギュレーションデータに基 づいて、 Nop/Npeの除算を行う。 Nopは、パイプライン処理のオペレーション数、 N peは、プロセッシングエレメントの数である。そして、 Lower Oにより、 Nop/Npe力 S 割り切れた場合は、除算結果をコンフィギュレーション面の面数とし、割り切れなかつ た場合は、除算結果の値以上の最小の整数値をコンフィギュレーション面の面数とす る。
[0071] このようにして決められたコンフィギュレーション面の面数によって、パイプライン処 理の全オペレーションを、全オペレーション数より少ないプロセッシングエレメントに、 仮想的に割り当てることが可能となる。例えば、図 13に示すパイプライン処理 112の オペレーション数は、 7である。図 2のリコンフィギユラブル回路のプロセッシングエレメ ントの数は、 4である。 7個のオペレーションを 4つのプロセッシングエレメントに実装す るには、 Lower (7/4) = 2より、 2つのコンフィギュレーション面が必要である。そして 、 2つのコンフィギュレーション面により、仮想的に 8個のプロセッシングエレメントが用 意され、図 13のパイプライン処理 112の 7個のオペレーションが割り当て可能になる
[0072] 次に、コンフィギュレーションロード部 13aは、 1= 1から 1 =パイプライン段数まで、以 下の処理を繰り返す。
コンフィギュレーションロード部 13aは、予め以下の手順によって作成されたコンフ ィギユレーシヨン面を記憶したコンフィギュレーションメモリ 11からロードし、ローカルコ ンフィギユレーシヨンメモリ 13baに設定する。各コンフィギュレーション面の作成方法 は、以下のようになる。
[0073] まず、 I番目のパイプライン段にあるオペレーションの数力 コンフィギュレーション面 Si (Siは、 Iが変更されるたびに順次切替えられる)の未実装のプロセッシングエレメ ントの数より多いか否か判断する。
[0074] I番目のパイプライン段にあるオペレーションの数力 コンフィギュレーション面 Siの 未実装のプロセッシングエレメントの数より少ない場合、前段(前サイクル)において オペレーションを割り当てたプロセッシングエレメントの出力信号を入力することが可 能なプロセッシングエレメントで、かつ、コンフィギュレーション面 Siで、未実装のプロ セッシングエレメントに対し、 I番目のパイプライン段にあるオペレーションを実装する
。そして、 Iに 1を足した次の処理を行う。一方、この未実装のプロセッシングエレメント に、 I番目のパイプライン段にあるオペレーションを実装できない場合、コンフィギユレ ーシヨンロード部 13aは、最初に算出したコンフィギュレーション面の面数 K力 予め 設定されている最大のコンフィギュレーション面の面数 M (M≥K = Lower (Nop/N pe) )より小さいか判断する。最初に算出したコンフィギュレーション面の面数 力 予 め設定されている最大のコンフィギュレーション面の面数 Mより小さい場合、コンフィ ギユレーシヨン面の面数 Kを 1増やし、 1= 1から処理を繰り返す。最初に算出したコン フィギユレーシヨン面の面数 力 予め設定されてレ、る最大のコンフィギュレーション 面の面数 M以上であれば、オペレーションをプロセッシングエレメントに実装すること ができないとして、処理を終了する。
[0075] 上記の I番目のパイプライン段にあるオペレーションの数力 コンフィギュレーション 面 Siの未実装のプロセッシングエレメントの数より多いか否かの判断において、 I番目 のパイプライン段にあるオペレーションの数力 コンフィギュレーション面 Siの未実装 のプロセッシングエレメントの数以上であると判断された場合、このコンフィギユレーシ ヨン面 Siのプロセッシングエレメントには、オペレーションを実装することができなレ、。 この場合には、最初に算出したコンフィギュレーション面の面数 K力 予め設定されて レ、る最大のコンフィギュレーション面の面数 Μより小さいか判断する。最初に算出した コンフィギュレーション面の面数 Κ力 予め設定されてレ、る最大のコンフィギユレーショ ン面の面数 Μより小さい場合、コンフィギュレーション面の面数 Κを 1増やし、 1= 1力 ら処理を再び繰り返す。一方、最初に算出したコンフィギュレーション面の面数 Κが、 予め設定されている最大のコンフィギュレーション面の面数 Μ以上であれば、ォペレ ーシヨンをプロセッシングエレメントに実装することができないとして、処理を終了する
[0076] このようにして、決定されたコンフィギュレーション面を、コンフィギュレーションロード 部 13aは、コンフィギュレーションメモリ 11からロードし、パイプライン処理のオペレー シヨンのプロセッシングエレメントへの割り当てを行う。なお、コンフィギュレーション面 の面数は、パイプライン処理ごとに異なるため、様々なパイプライン処理に対応できる ように、ローカルコンフィギュレーションメモリ 13ba— 13bfを複数設けておく。
[0077] このように、複数のコンフィギュレーション面を具備し、パイプライン処理の各段のォ ペレーシヨンを、複数のコンフィギュレーション面を切替えて割り当てていく。これよつ て、仮想的に、パイプライン処理の全段をプロセッシングエレメントに割り当てることが でき、パイプライン処理のプロセッシングエレメントへの実装効率が向上し、処理性能 を向上することができる。
[0078] また、ローカルコンフィギュレーションメモリ 13ba— 13bfを複数具備しておくことによ つて、様々なアプリケーションにおけるパイプライン処理に対応することができる。
[0079] 次に、本発明の第 2の実施の形態を図面を参照して詳細に説明する。
第 2の実施の形態では、パイプライン処理のオペレーションを、あるコンフィギユレ一 シヨン面のプロセッシングエレメントに実装できない場合、コンフィギュレーション面を 増やすことなぐ空レヽてレ、るプロセッシングエレメントを有してレ、るコンフィギユレーショ ン面にオペレーションを実装して、パイプライン処理を行う。なお、第 2の実施の形態 に係るリコンフィギユラブル回路の回路構成は、オペレーションで処理されたデータを 一時退避する記憶装置、例えば、フリップフロップを有しているところ力 図 2で示した 第 1の実施の形態に係るリコンフィギユラブル回路の回路構成と異なる。よって、リコン フィギユラブル回路の回路構成の詳細な説明を省略する。
[0080] 図 8は、第 2の実施の形態を説明するためのパイプライン処理を示した図である。
図に示すパイプライン処理 41では、 1段目にオペレーション〇P1 , OP2が処理され る。 2段目にオペレーション OP3が処理され、 3段目に、オペレーション〇P4, OP5が 処理される。そして、順次、オペレーション〇P6, 〇P7が処理される。図に示す矢印 は、データの流れを示し、オペレーション ΟΡ1,〇P2には、処理されるデータが順次 入力されるとする。このパイプライン処理 41の、データを一時保持するフリップフロッ プを有した図 2のリコンフィギユラブル回路への実装について説明する。
[0081] 図 9は、フリップフロップを有したリコンフィギユラブル回路における図 8のパイプライ ン処理の流れを示した図である。
図に示す四角は、フリップフロップを具備した図 2のリコンフィギユラブル回路の PE3 1一 34を示している。また、四角の中には、 PE31 34に割り当てられたオペレーシ ヨン OP1— OP7を示している。
[0082] 図に示す SI , S2は、コンフィギュレーション面を示す。また、 FF42は、図 2のリコン フィギユラブル回路が有しているフリップフロップを示している。図 8のパイプライン処 理 41のオペレーション OP1— OP7は、サイクルごとに交互にコンフィギュレーション 面 SI , S2の PE31— 34に割り当てられていく。
[0083] サイクル 1において、コンフィギュレーション面 S1の PE31, 32にオペレーション OP 1 , OP2が割り当てられる。
サイクル 2において、コンフィギュレーション面 S2の PE31にオペレーション OP3が 割り当てられる。
[0084] サイクル 3において、コンフィギュレーション面 S1の PE33, 34にオペレーション OP 4, OP5が割り当てられる。
サイクル 4において、コンフィギュレーション面 S2の PE32にオペレーション OP6が 割り当てられる。
[0085] サイクル 5において、コンフィギュレーション面 S1のプロセッシングエレメントにオペ レーシヨン〇P7が割り当てられるはずである力 空きのプロセッシングエレメントがな レ、。一方、コンフィギュレーション面 S2の PE33, 34は、まだオペレーションが割り当 てられておらず、空きが存在し、 PE33にオペレーション OP7を割り当てることが可能 である。そこで、サイクル 5では、オペレーション OP6で処理されたデータを、一旦 FF 42に記憶する。
[0086] サイクノレ 6において、コンフィギュレーション面 S2の PE33にオペレーション OP7が 割り当てられる。このとき、 PE33に FF42のデータが読み込まれるようにする。
[0087] このように、データを記憶する記憶装置を具備することによって、ノ ィプライン処理 のオペレーション力 あるコンフィギュレーション面のプロセッシングエレメントに実装 できない場合でも、コンフィギュレーション面を増やすことなぐ処理を行うことができる
[0088] なお、一時退避するデータが複数存在する場合は、複数の FFを具備するようにす る。そして、複数の FFに対し、 FIFOでデータを書き込み、読み出しできるようにする 上記については単に本発明の原理を示すものである。さらに、多数の変形、変更が 当業者にとって可能であり、本発明は上記に示し、説明した正確な構成および応用 例に限定されるものではなぐ対応するすべての変形例および均等物は、添付の請 求項およびその均等物による本発明の範囲とみなされる。
符号の説明
[0089] la, lb 記憶部
2 記憶切替え部
3 構成情報出力部
4a 4d プロセッシングエレメント(PE)
5 パイプライン処理

Claims

請求の範囲
[1] 構成情報によって構成が再構成される複数のプロセッシングエレメントを有するリコ ンフィギユラブル回路において、
前記複数のプロセッシングエレメントの前記構成情報が記憶される複数の記憶部と 前記複数のプロセッシングエレメントによって処理されるパイプライン処理の各段に おける前記構成情報を、前記複数の記憶部を切替えて記憶してレ、く記憶切替え部と 前記複数の記憶部を切替えて、前記構成情報を前記複数のプロセッシングエレメ ントに出力する構成情報出力部と、
を有することを特徴とするリコンフィギユラブル回路。
[2] 前記複数の記憶部は、様々な前記パイプライン処理に対応できるように複数具備さ れることを特徴とする請求の範囲第 1項記載のリコンフィギユラブル回路。
[3] 前記構成情報出力部は、前記記憶切替え部の切替えに連動して前記複数の記憶 部を切替えることを特徴とする請求の範囲第 1項記載のリコンフィギユラブル回路。
[4] 前記記憶切替え部は、前記構成情報を前記複数の記憶部に記憶できなくなった場 合、前記構成情報を記憶していく前記複数の記憶部を増加することを特徴とする請 求の範囲第 1項記載のリコンフィギユラブル回路。
[5] 前記記憶切替え部は、前記構成情報を前記複数の記憶部に記憶できなくなった場 合、空き領域を有してレ、る前記複数の記憶部に前記構成情報を記憶することを特徴 とする請求の範囲第 1項記載のリコンフィギユラブル回路。
[6] 前記複数のプロセッシングエレメントから出力されるデータを一時退避するための 記憶装置をさらに有することを特徴とする請求の範囲第 1項記載のリコンフィギュラブ ル回路。
[7] 構成情報によって構成が再構成される複数のプロセッシングエレメントを有するリコ ンフィギユラブル回路の制御方法にぉレ、て、
記憶切替え部によって、前記複数のプロセッシングエレメントによって処理されるパ ィプライン処理の各段における前記構成情報を、前記複数のプロセッシングエレメン トの前記構成情報が記憶される複数の記憶部を切替えて記憶し、
構成情報出力部によって、前記複数の記憶部を切替えて、前記構成情報を前記複 数のプロセッシングエレメントに出力する、
ことを特徴とするリコンフィギユラブル回路の制御方法。
[8] 構成情報によって構成が再構成される複数のプロセッシングエレメントを有するリコ ン
フィギユラブル回路の制御方法にぉレ、て、
記憶領域が前記複数のプロセッシングエレメントに対応して区切られた、前記複数 のプロセッシングエレメントによって処理されるパイプライン処理の各段における前記 構成情報が記憶される記憶部の数を記憶部数算出部によって算出し、
記憶領域判断部によって、前記パイプライン処理の 1段目から順に前記数の前記 記憶部を切替えながら前記構成情報を記憶できる前記記憶領域が存在するか判断 する、
ことを特徴とするリコンフィギユラブル回路の制御方法。
[9] 前記記憶領域判断部は、前記構成情報を記憶できる前記記憶領域が存在しなレヽ 場合、前記数を 1増加させて前記判断を再び行うことを特徴とする請求の範囲第 8項 記載のリコンフィギユラブル回路の制御方法。
[10] 前記記憶領域判断部は、前記構成情報を記憶できる前記記憶領域が存在する場 合、前回前記構成情報が記憶された前記記憶領域に対応する前記プロセッシング エレメントの出力信号を入力することが可能な前記記憶領域が存在するか判断する ことを特徴とする請求の範囲第 8項記載のリコンフィギユラブル回路の制御方法。
PCT/JP2004/010953 2004-07-30 2004-07-30 リコンフィギュラブル回路およびリコンフィギュラブル回路の制御方法 WO2006011232A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CNB2004800429986A CN100545827C (zh) 2004-07-30 2004-07-30 可重配置电路及可重配置电路的控制方法
JP2006527758A JP4201816B2 (ja) 2004-07-30 2004-07-30 リコンフィギュラブル回路およびリコンフィギュラブル回路の制御方法
PCT/JP2004/010953 WO2006011232A1 (ja) 2004-07-30 2004-07-30 リコンフィギュラブル回路およびリコンフィギュラブル回路の制御方法
EP04748114A EP1780644A4 (en) 2004-07-30 2004-07-30 CONVERTIBLE CIRCUIT AND CONTROL PROCEDURE OF A CONVERTIBLE CIRCUIT
US11/546,284 US7849288B2 (en) 2004-07-30 2006-10-12 Alternately selecting memory units to store and retrieve configuration information in respective areas for a plurality of processing elements to perform pipelined processes

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2004/010953 WO2006011232A1 (ja) 2004-07-30 2004-07-30 リコンフィギュラブル回路およびリコンフィギュラブル回路の制御方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US11/546,284 Continuation US7849288B2 (en) 2004-07-30 2006-10-12 Alternately selecting memory units to store and retrieve configuration information in respective areas for a plurality of processing elements to perform pipelined processes

Publications (1)

Publication Number Publication Date
WO2006011232A1 true WO2006011232A1 (ja) 2006-02-02

Family

ID=35785992

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2004/010953 WO2006011232A1 (ja) 2004-07-30 2004-07-30 リコンフィギュラブル回路およびリコンフィギュラブル回路の制御方法

Country Status (5)

Country Link
US (1) US7849288B2 (ja)
EP (1) EP1780644A4 (ja)
JP (1) JP4201816B2 (ja)
CN (1) CN100545827C (ja)
WO (1) WO2006011232A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008181361A (ja) * 2007-01-25 2008-08-07 Fuji Xerox Co Ltd データ処理装置、画像処理装置、及びデータ処理プログラム
JP2011522317A (ja) * 2008-05-29 2011-07-28 アクシス・セミコンダクター・インコーポレーテッド リアルタイムな信号処理及び更新のためのマイクロプロセッサ技術
JPWO2014132669A1 (ja) * 2013-03-01 2017-02-02 アトナープ株式会社 データ処理装置およびその制御方法

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3836109B2 (ja) * 2004-02-19 2006-10-18 東京エレクトロン株式会社 プログラマブル論理回路制御装置、プログラマブル論理回路制御方法及びプログラム
US8099583B2 (en) 2006-08-23 2012-01-17 Axis Semiconductor, Inc. Method of and apparatus and architecture for real time signal processing by switch-controlled programmable processor configuring and flexible pipeline and parallel processing
US8055888B2 (en) * 2008-02-28 2011-11-08 Arm Limited Initialisation of a pipelined processor
US8181003B2 (en) 2008-05-29 2012-05-15 Axis Semiconductor, Inc. Instruction set design, control and communication in programmable microprocessor cores and the like
JP5711889B2 (ja) * 2010-01-27 2015-05-07 スパンション エルエルシー リコンフィギュラブル回路および半導体集積回路
JP5656000B2 (ja) * 2010-03-25 2015-01-21 富士ゼロックス株式会社 画像形成装置およびそのプログラム
JP5534426B2 (ja) 2010-03-25 2014-07-02 富士ゼロックス株式会社 画像形成装置およびそのプログラム
JP5775896B2 (ja) * 2013-03-25 2015-09-09 株式会社日立システムズ 論理演算処理装置
JP5775897B2 (ja) * 2013-03-25 2015-09-09 株式会社日立システムズ 複数の再構成可能論理回路を環状直列に接続して、パイプライン処理を実現する論理処理装置
US10565036B1 (en) 2019-02-14 2020-02-18 Axis Semiconductor, Inc. Method of synchronizing host and coprocessor operations via FIFO communication

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5742180A (en) 1995-02-10 1998-04-21 Massachusetts Institute Of Technology Dynamically programmable gate array with multiple contexts
JP2000040745A (ja) * 1998-01-21 2000-02-08 Lucent Technol Inc ハ―ドウェアのセットを再構成する方法および再構成可能ハ―ドウェア装置
JP2001068993A (ja) * 1999-08-25 2001-03-16 Fuji Xerox Co Ltd 情報処理システム
JP2003029969A (ja) * 2001-05-10 2003-01-31 Tokyo Electron Device Ltd 演算システム
US20040019765A1 (en) 2002-07-23 2004-01-29 Klein Robert C. Pipelined reconfigurable dynamic instruction set processor

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2858602B2 (ja) 1991-09-20 1999-02-17 三菱重工業株式会社 パイプライン演算回路
US5572691A (en) * 1993-04-21 1996-11-05 Gi Corporation Apparatus and method for providing multiple data streams from stored data using dual memory buffers
US5646544A (en) 1995-06-05 1997-07-08 International Business Machines Corporation System and method for dynamically reconfiguring a programmable gate array
US6883084B1 (en) * 2001-07-25 2005-04-19 University Of New Mexico Reconfigurable data path processor
JP2006018413A (ja) * 2004-06-30 2006-01-19 Fujitsu Ltd プロセッサおよびパイプライン再構成制御方法
JP4546775B2 (ja) * 2004-06-30 2010-09-15 富士通株式会社 時分割多重処理可能なリコンフィギュラブル回路
JP4536618B2 (ja) * 2005-08-02 2010-09-01 富士通セミコンダクター株式会社 リコンフィグ可能な集積回路装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5742180A (en) 1995-02-10 1998-04-21 Massachusetts Institute Of Technology Dynamically programmable gate array with multiple contexts
JP2000040745A (ja) * 1998-01-21 2000-02-08 Lucent Technol Inc ハ―ドウェアのセットを再構成する方法および再構成可能ハ―ドウェア装置
JP2001068993A (ja) * 1999-08-25 2001-03-16 Fuji Xerox Co Ltd 情報処理システム
JP2003029969A (ja) * 2001-05-10 2003-01-31 Tokyo Electron Device Ltd 演算システム
US20040019765A1 (en) 2002-07-23 2004-01-29 Klein Robert C. Pipelined reconfigurable dynamic instruction set processor

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
HERMAN SCHMIT: "Incremental Reconfiguration for Pipelined Applications - The 5th Annual IEEE Symposium on FPGAs for Custom Computing Machines", IEEE, 1997, pages 47 - 55, XP010247467 *
IEEE SYMPOSIUM ON FPGAS FOR CUSTOM COMPUTIONG MACHINES (FCCM, 1997, pages 47 - 55

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008181361A (ja) * 2007-01-25 2008-08-07 Fuji Xerox Co Ltd データ処理装置、画像処理装置、及びデータ処理プログラム
JP2011522317A (ja) * 2008-05-29 2011-07-28 アクシス・セミコンダクター・インコーポレーテッド リアルタイムな信号処理及び更新のためのマイクロプロセッサ技術
JPWO2014132669A1 (ja) * 2013-03-01 2017-02-02 アトナープ株式会社 データ処理装置およびその制御方法
JP2018029377A (ja) * 2013-03-01 2018-02-22 アクシオンリサーチ株式会社 データ処理装置およびその制御方法

Also Published As

Publication number Publication date
CN1954311A (zh) 2007-04-25
JPWO2006011232A1 (ja) 2008-05-01
CN100545827C (zh) 2009-09-30
US20070083733A1 (en) 2007-04-12
US7849288B2 (en) 2010-12-07
EP1780644A1 (en) 2007-05-02
JP4201816B2 (ja) 2008-12-24
EP1780644A4 (en) 2007-11-21

Similar Documents

Publication Publication Date Title
US7849288B2 (en) Alternately selecting memory units to store and retrieve configuration information in respective areas for a plurality of processing elements to perform pipelined processes
US8126949B1 (en) Reconfigurable filter node for an adaptive computing machine
KR101781057B1 (ko) 실행 유닛들과 벡터 데이터 메모리 사이에 병합 회로를 갖는 벡터 프로세싱 엔진, 및 관련된 방법
JP4307987B2 (ja) 複数のフィルタ処理モードを有する再構成可能型デジタルフィルタ
US9792118B2 (en) Vector processing engines (VPEs) employing a tapped-delay line(s) for providing precision filter vector processing operations with reduced sample re-fetching and power consumption, and related vector processor systems and methods
WO2015073526A1 (en) Vector processing engine employing format conversion circuitry in data flow paths between vector data memory and execution units, and related method
JP5356537B2 (ja) 前置加算器段を備えたデジタル信号処理ブロック
EP3069233A1 (en) Vector processing engine employing reordering circuitry in data flow paths between vector data memory and execution units, and related method
US7765382B2 (en) Propagating reconfiguration command over asynchronous self-synchronous global and inter-cluster local buses coupling wrappers of clusters of processing module matrix
US20150143076A1 (en) VECTOR PROCESSING ENGINES (VPEs) EMPLOYING DESPREADING CIRCUITRY IN DATA FLOW PATHS BETWEEN EXECUTION UNITS AND VECTOR DATA MEMORY TO PROVIDE IN-FLIGHT DESPREADING OF SPREAD-SPECTRUM SEQUENCES, AND RELATED VECTOR PROCESSING INSTRUCTIONS, SYSTEMS, AND METHODS
TW200949691A (en) Microprocessor techniques for real time signal processing and updating
EP3069234A1 (en) Vector processing engines employing a tapped-delay line for correlation vector processing operations, and related vector processor systems and methods
US7734896B2 (en) Enhanced processor element structure in a reconfigurable integrated circuit device
JP2975041B2 (ja) ディジタル信号処理プロセッサ
JP4246200B2 (ja) プログラマブル論理デバイス
KR100886730B1 (ko) 재구성 가능 회로 및 재구성 가능 회로의 제어 방법
CN114968911B (zh) 算子频度压缩及上下文配置调度的fir可重构处理器
Shan et al. The Buffered Edge Reconfigurable Cell Array and Its Applications
JP2000293357A (ja) マイクロプロセッサ
KURINO Dynamical Multi-Context Reconfiguration Scheme for Recon-figurable Parallel Image Processing System with Three Dimen-sional Structure Takeaki SUGIMURA Yuta KONISHI Yoshihiro NAKATANI Takafumi FUKUSHIMA Hiroyuki KURINO and Mitsumasa KOYANAGI
Fujisawa et al. Cyclic reconfiguration for pipelined applications on coarse-grain reconfigurable circuits
Rasmussen et al. Reconfigurable Computing Array
JPH1153171A (ja) データ演算装置および方法、並びに伝送媒体

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 200480042998.6

Country of ref document: CN

AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2006527758

Country of ref document: JP

REEP Request for entry into the european phase

Ref document number: 2004748114

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2004748114

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 11546284

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 1020067023001

Country of ref document: KR

NENP Non-entry into the national phase

Ref country code: DE

WWP Wipo information: published in national office

Ref document number: 11546284

Country of ref document: US

WWP Wipo information: published in national office

Ref document number: 2004748114

Country of ref document: EP