Call the method for counting immediately in a kind of dynamic reconfigurable processor
Technical field
The present invention relates to the dynamic reconfigurable processor technical field in the embedded system field, particularly relate to and call the method for counting immediately in a kind of dynamic reconfigurable processor.
Background technology
The dynamic reconfigurable processor is a kind of new life's processor framework, and its single core processor, special chip, field programmable logic array (FPLA) as compared with the past has significant advantage, is a direction of following circuit structure development.
At first, often contain a plurality of arithmetic logic unit in the dynamic reconfigurable processor, and enormous amount, be referred to as many nuclear arrays.Array inside is equipped with the high routing unit of flexibility ratio, realizes between the arithmetic logic unit diversified interconnected.Therefore, the crowd after the route unit connects examines array can realize high speed processing to data stream, and more traditional monokaryon and few core processor have huge advantage in performance.Simultaneously, the special circuit that solidifies also has huge advantage in dirigibility.
Secondly, more traditional static reconfigurable circuit---field programmable logic array (FPLA), the dynamic reconfigurable processor has dynamic characteristics, the i.e. function of commutation circuit dynamically in the circuit operational process, but not the heavy constant circuit function that do not change of static reconfigurable circuit one in the past, just programming circuit function before the circuit operation is carried out initialization to circuit.The benefit of doing like this is to have reduced by time-multiplexed mode the scale of circuit, and the full mapping of the circuit structure before reason is becomes the piecemeal mapping now, and has taked the mode of dynamic switching between piece and the piece just.
In the practical application, the demand of counting immediately of calling is often arranged in the dynamic reconfigurable processor, therefore, the present invention proposes to call in a kind of dynamic reconfigurable processor the method for counting immediately with innovating, to satisfy the demand of practical application.
Summary of the invention
Technical matters to be solved by this invention provides and calls the method for counting immediately in a kind of dynamic reconfigurable processor, realizes calling of counting immediately, greatly the work efficiency that improves.
In order to address the above problem, the invention discloses and call the method for counting immediately in a kind of dynamic reconfigurable processor, described method comprises:
A, dynamic reconfigurable processor subelement configuration words buffer eject the subelement configuration words;
Subtask sequence in B, the subelement configuration words is loaded into local subtask sequence memory;
Essential number immediately and the optional number immediately of the current task in the subelement configuration words write essential number register immediately and optional number register immediately 1 respectively;
Next task in C, the beginning subtasking sequence, the processing unit configuration information configuration process unit in the information of subtask;
Optional selection information of counting immediately in the information of the subtask optional number immediately that current subtask is used selects and writes optional number register immediately 2 from optional number register immediately 1;
The number immediately that D, processing unit call in essential number register immediately and the optional number register immediately 2 is carried out current subtask;
Whether also have the subtask not carry out in E, the judgement subtask sequence:
If then return C and carry out next subtask;
If not, then return A and eject next subelement configuration words.
Preferably, be cached with a plurality of subelement configuration words in the described subelement configuration words buffer, the task that the corresponding subelement of subelement configuration words will be carried out.
Preferably, the subtask sequence that comprises the task that subelement will carry out in the described subelement configuration words, required counting immediately of calling in the task that subtask task of sequence formation and subelement will be carried out, described number immediately comprise essential number immediately and optional several immediately.
Preferably, the performed task of subelement is divided into a plurality of subtasks and carries out at processing unit several times.
Preferably, described subtask information comprises the used optional selection information of counting immediately of processing unit configuration information and current subtask of current subtask.
Preferably, described number immediately needs the uncertain number that uses in calculating process for the processing unit in the subelement of dynamic reconfigurable processor.
Preferably, described essential number immediately is that reach is counting immediately of current subtask sequence, and optional number immediately is that reach is subtask several immediately in the sequence of subtask.
Preferably, the direct processed cell call of described essential number register immediately.
Preferably, it is optional several immediately to have many groups in the described optional number register immediately 1, and the size of optional number register immediately 1 depends on one group of optional number of counting immediately and the optional group number of counting immediately, and the size of register is more than or equal to this " one group of number * group number ".
Preferably, the size of described optional number register immediately 2 depends on one group of optional number of counting immediately, and the size of register is greater than this number.
Compared with prior art, the present invention has the following advantages:
Dynamic reconfigurable processor subelement configuration words buffer ejects the subelement configuration words among the present invention, subtask sequence in the subelement configuration words is loaded into local subtask sequence memory, essential number immediately and the optional number immediately of the current task in the subelement configuration words write essential number register immediately and optional number register immediately 1 respectively, divide the operation of number transmission immediately in essential number immediately and the each local subtask of minimizing, optional number immediately back, each optional number immediately of change that only needs gets final product, greatly the work efficiency that improves.
Description of drawings
Fig. 1 is the synoptic diagram of a kind of typical dynamic reconfigurable processor described in the specific embodiment of the invention;
Fig. 2 calls the method flow diagram of counting immediately in the described a kind of dynamic reconfigurable processor of the embodiment of the invention;
Fig. 3 is that the embodiment of the invention is described a kind of for the device synoptic diagram of realizing that use is counted immediately in the dynamic reconfigurable processor.
Embodiment
For above-mentioned purpose of the present invention, feature and advantage can be become apparent more, the present invention is further detailed explanation below in conjunction with the drawings and specific embodiments.
A kind of structural representation of typical dynamic reconfigurable processor as shown in Figure 1, the running flow process of dynamic reconfigurable processor can be summarized as following steps:
1. the dynamic reconfigurable processor is read in data pending in the processor external storage in the processor by the external data reader unit, is distributed to a plurality of subelements and handles interior external data buffer.
2. many subelements are read data from external data buffer separately, handle again.A plurality of subelements are handled simultaneously, to reach the effect of parallel processing.After each subelement is handled, result data is stored in separately internal data buffer.
3. external data is write out device result data is read from the internal data buffer of each subelement, and is written out to the processor external memory storage.
Except above-mentioned steps, also it should be noted that: the synchronization mechanism between subelement is realized by isochronous controller between subelement; Data interaction between subelement is by writing data by subelement A to data interaction working storage between subelement, and subelement B reads these data from data interaction working storage between subelement and realizes.Also need the synchronization mechanism between the zygote unit during use, namely subelement A is to after the data interaction working storage has been write data between subelement, and subelement B just can begin to read data interaction working storage between subelement.
The dynamic reconfigurable processor can go to be described from the angle of data stream and configuration flow.The angle of data stream refers to from the angle to the processing of data stream, ergodic data stream each module in the dynamic reconfigurable processor of process, the required function of each module is proposed.From the angle of data stream, the dynamic reconfigurable processor structurally can be divided into following four parts:
1. data shifting apparatus
A) data shifting apparatus is used for data are read from data storage device, and writes another data storage device, and data are shifted between data storage device.The final realization writes pe array with data, after pe array has moved, the result data of pe array read.
B) data shifting apparatus is divided into 6: the external data reader unit, and data interaction device between subelement, the inside and outside DTU (Data Transfer unit), the internal data reader unit, internal data is write out device, and external data is write out device.Flow direction by data stream specifies as follows.
C) external data reader unit:
I. be used for the outer pending data of dynamic reconfigurable processor are read in the dynamic reconfigurable processor, be cached in the external data buffer.
D) data interaction device between subelement:
I. read for the result data of other subelements that will store in the exchanges data working storage between subelement, and integrate to a certain extent, data after integrating the most at last are distributed to the internal data memory of current subelement or directly are distributed to pe array, and this depends on whether whether the result data of unit can direct processed cell array processing will be repeatedly processed with these data in addition.
E) inside and outside DTU (Data Transfer unit):
I. be used for the external data of buffer memory in the external data buffer is distributed to internal data memory or directly is distributed to pe array, this depends on whether whether these outside data can direct processed cell array processing will be repeatedly processed with these data.
F) internal data reader unit
I. be used for the internal data of the current subelement that will store in the internal data memory, and integrate to a certain extent, the data after integrating the most at last are written to pe array.
G) internal data is write out device
I. be used for the result data of pe array is read, writing to pe array again uses when and then moving pe array, or write to internal data memory with the data buffer memory, or write between subelement the data interaction working storage and use for data interaction between subelement, or write the internal data buffer and wait to export to outside the processor.
H) external data is write out device:
I. the result data for the subelement that will be cached in the internal data buffer exports to outside the processor.
2. data storage device
A) be divided into 4, specify as follows.
B) external data buffer:
I. be used for the external data buffer memory that reads in, be read out when to be needed.
C) internal data memory
I. be used for the result data of pe array is kept in, be read out when to be needed, also for using in processor inside.
D) internal data buffer
I. be used for the result data of pe array is carried out buffer memory, wait to export to outside the processor.
E) data interaction working storage between subelement
I. be used for the result data of temporary subelement A, treat that subelement B reads, to realize the data interaction between subelement.
3. arithmetic element
A) arithmetic element is pe array, specifically sees Fig. 1 for details.
B) processing unit is an arithmetic logical unit, can realize basic arithmetical operation function and the arithmetic logical operation function of logical operation function and some customizations.
C) connect by routing unit between the processing unit, to realize the flexible and fast data transmission between the processing unit.
D) the entire process cell array is controlled by timing control unit, with the sequential relationship between the input of Coordination Treatment cell array, computing, the output.
E) pe array can realize data in enormous quantities are carried out the fast processing of cycling.
4. sync control device
A) sync control device is isochronous controller between subelement.
B) it realizes that a plurality of subelements (1 to N, N is the subelement number) all finish a plurality of subelements behind its appointed task separately (what herein a plurality of can be with before is a plurality of inconsistent) and just can carry out its next task in task sequence separately.
C) isochronous controller has been realized certain comprehensive task after being divided into a plurality of tasks between subelement, is distributed to a plurality of subelement executed in parallel, after the intact a plurality of tasks of a plurality of subelement executed in parallel synchronously.The parallelization that just can begin next comprehensive task is synchronously carried out.
Embodiment:
With reference to Fig. 2, show and call the method flow diagram of counting immediately in a kind of dynamic reconfigurable processor of the present invention, described method comprises:
Step S201, dynamic reconfigurable processor subelement configuration words buffer ejects the subelement configuration words;
Step S202, the subtask sequence in the subelement configuration words is loaded into local subtask sequence memory;
Essential number immediately and the optional number immediately of the current task in the subelement configuration words write essential number register immediately and optional number register immediately 1 respectively;
Step S203, the next task in the beginning subtasking sequence, the processing unit configuration information configuration process unit in the information of subtask;
Optional selection information of counting immediately in the information of the subtask optional number immediately that current subtask is used selects and writes optional number register immediately 2 from optional number register immediately 1;
The number immediately that step S204, processing unit call in essential number register immediately and the optional number register immediately 2 is carried out current subtask;
Step S205, judge whether also have the subtask not carry out in the sequence of subtask:
If then return step S203 and carry out next subtask;
If not, then return step S201 and eject next subelement configuration words.
With reference to Fig. 3, show a kind of for the device synoptic diagram of realizing that use is counted immediately in the dynamic reconfigurable processor, in described device:
1. subelement configuration words buffer
A) be cached with a plurality of subelement configuration words in the subelement configuration words buffer, the task that the corresponding subelement of subelement configuration words will be carried out, the subelement configuration words is written in the subelement configuration words buffer and buffer memory;
B) comprise two parts content in the subelement configuration words:
I. the subtask sequence of the subelement task of will carrying out, the subtask sequence constitutes a task;
Ii. required counting immediately of calling in the task that subelement will be carried out, i.e. required counting immediately of calling in the sequence of subtask, this comprises essential number immediately and optional several immediately;
C) whenever a task begins to carry out, eject a configuration words in the subelement configuration words buffer:
I. the subtask sequence in the configuration words is loaded into local subtask sequence memory;
Ii. essential number immediately and optional number immediately are loaded into essential number register immediately and optional number register immediately 1 respectively;
2. local subtask sequence memory
A) during the subelement of dynamic reconfigurable processor was executed the task process, the performed task of subelement was divided into a plurality of subtasks and carries out at processing unit several times, and the subtask sequence is stored in the sequence memory of local subtask;
B) comprise two parts content in the information of subtask:
I. the processing unit configuration information of current subtask;
Ii. the used optional selection information of counting immediately in current subtask;
C) when a subtask begins to carry out:
I. the processing unit configuration information configuration process unit in the information of subtask;
Ii. the optional number immediately that current subtask is used of the optional selection information of counting immediately in the information of subtask selects and writes optional number register immediately 2 from optional number register immediately 1.
3. number register immediately
A) number needs the uncertain number that uses in calculating process for the processing unit in the subelement of dynamic reconfigurable processor immediately.
B) number is stored in the subelement configuration words immediately, is written into subelement configuration words buffer with the subelement configuration words and enters in the subelement, and when subelement configuration words buffer ejected configuration words, the information of counting immediately in the configuration words sent to number register immediately immediately;
C) number is divided into optional number immediately and essential several immediately immediately:
I. essential several immediately:
1. essential number immediately is that reach is counting immediately of current subtask sequence.
2. after being ejected, current configuration words is written into essential number register immediately immediately, after next configuration words ejects, by essential several covering the immediately of next task.
3. the direct processed cell call of essential number register immediately;
Ii. optional several immediately:
1. optional number immediately is that reach is the counting immediately of subtask in the sequence of subtask.
2. ejected the many groups of optional numbers of using each subtask, back immediately at current configuration words and be written into optional number register immediately 1 immediately.
3. in the process that current subtask sequence is carried out, whenever a subtask begins to carry out, optional selection information of counting immediately one group of optional number immediately that current subtask is used selects and writes optional number register immediately 2 from optional number register immediately 1.
4. will count immediately to be subdivided into and optionally count immediately, and from optional number register immediately 1, select one group of optional counting to immediately in the optional number register immediately 2, with making this step that is chosen in of the optional number of array is immediately finished, rather than go to finish at processing unit, this will reduce the memory space of the extra processing unit configuration information that brings thus.
D) number register immediately:
1. the size of essential number register immediately depends on the essential number of counting immediately that need use in the sequence of subtask, and the size of register needs more than or equal to this number.
2. it is optional several immediately to have many groups in the optional number register immediately 1, and the size of optional number register immediately 1 depends on one group of optional number of counting immediately and the optional group number of counting immediately, and the size of register needs more than or equal to this " one group of number * group number ".
3. the size of optional number register immediately 2 depends on one group of optional number of counting immediately, and the size of register needs greater than this number.
4. processing unit:
A) processing unit calls in every step task of subtask sequence and is loaded into essential number register immediately and the optional number register immediately 2 of number immediately.
B) processing unit is the data path in the subelement among Fig. 1, this comprises that inside and outside DTU (Data Transfer unit), internal data reader unit, internal data write out device, external data buffer, internal data memory, internal data buffer and pe array, and in fact using the device of counting immediately in the processing unit is pe array.
Number is example to use immediately in the dynamic reconfigurable processor below, illustrates to use the method for counting immediately in this dynamic reconfigurable processor.
For convenience of explanation, at first carry out some settings for parameter, specific as follows:
1. stored configuration word number is 1 in the subelement configuration words buffer, is labeled as configuration words 1 respectively, corresponding subelement task 1.The task of configuration words 1 corresponding subelement is divided into 2 subtasks.
2. in the configuration words 1, the information of counting immediately of storage is that required essential number immediately is 4 in the subelement task 1, is respectively 1011,1101,1111,1010, and the required optional number average immediately in each subtask is 1, is followed successively by 0101,0001.Count information such as following table immediately:
Task 1 |
|
|
|
|
Essential several immediately |
1011 |
1101 |
1111 |
1010 |
|
Subtask 1 |
Subtask 2 |
|
|
Optional several immediately |
0101 |
0001 |
|
|
3. it is as follows specifically to count call method immediately
A) dynamic reconfigurable processor subelement configuration words buffer ejects the subelement configuration words, and subelement configuration words 1 ejects;
B) the subtask sequence in the subelement configuration words 1 is loaded into the subtask sequence memory, and namely subtask 1 and subtask 2 are loaded in the sequence memory of subtask;
C) the essential of the current task in the subelement configuration words 1 several 1011,1101,1111,1011 writes essential number register immediately immediately, and be optional several 0101 immediately,, 0001 writes optional number register immediately 1;
D) sequence buffer in subtask ejects the subtask 1 of task 1, the processing unit configuration information configuration process unit in 1 information of subtask;
E) the optional number immediately that current subtask is used of the optional selection information of counting immediately in 1 information of subtask selects and writes optional number register immediately 2 from optional number register immediately 1, namely selects 0101 and write optional number register immediately 2 from optional number register immediately 1;
F) processing unit calls the several subtaskings 1 immediately in essential number register immediately and the optional number register immediately 2;
G) after subtask 1 was finished, it was true that pe array sends signal to subtask sequence buffer, and subtask sequence buffer is judged subtask 2 ejections;
H) sequence buffer in subtask ejects the subtask 2 of task 1, the processing unit configuration information configuration process unit in 2 information of subtask;
I) the optional number immediately that current subtask is used of the optional selection information of counting immediately in 2 information of subtask selects and writes optional number register immediately 2 from optional number register immediately 1, namely selects 0001 and write optional number register immediately 2 from optional number register immediately 1;
J) processing unit calls the several subtaskings 2 immediately in essential number register immediately and the optional number register immediately 2;
K) after subtask 2 was finished, it was true that pe array sends signal to subtask sequence buffer, and no subtask in the sequence of subtask waits for that subelement distributes new subtask sequence.
More than be described in detail calling immediately the method for counting in a kind of dynamic reconfigurable processor provided by the present invention, used specific case herein principle of the present invention and embodiment are set forth, the explanation of above embodiment just is used for helping to understand method of the present invention and core concept thereof; Simultaneously, for one of ordinary skill in the art, according to thought of the present invention, the part that all can change in specific embodiments and applications, in sum, this description should not be construed as limitation of the present invention.