Invention content
An aspect of this disclosure provides a kind of configuration method of reconfigureable computing array, the reconfigureable computing array
Including multiple operators, it includes being carried out to the operator in the reconfigureable computing array to carry out configuration to the reconfigureable computing array
Configuration, the method includes:Algorithm index value is read from control register, the algorithm index value instruction to described for weighing
The information that structure computing array is configured obtains at least one first index value corresponding with the algorithm index value, described
First index value obtains corresponding operator and matches corresponding to a kind of operator configuration information according at least one first index value
Confidence ceases, and is configured to the corresponding operator in the multiple operator according to acquired operator configuration information.
Optionally, above-mentioned that corresponding operator configuration information is obtained according at least one first index value, including:Root
According at least one first index value, corresponding operator configuration information is obtained from the first storage unit, wherein at least one
Operator configuration information is pre-stored in first storage unit, each calculation at least one operator configuration information
Sub- configuration information indicates a kind of configuration that the operator can be realized.
Optionally, above-mentioned acquisition at least one first index value corresponding with the algorithm index value, including:Obtain with
The corresponding at least one second index value of algorithm index value, each second index value correspond to corresponding first rope
Draw value set, the second index value is associated with subarray, and the subarray is made of multiple operators, and according to it is described extremely
A few second index value, obtains at least one first index value.
Optionally, above-mentioned that at least one first index value is obtained according at least one second index value, including:Root
According at least one second index value, at least one first index value is obtained from the second storage unit, wherein at least
One first index value set is pre-stored in second storage unit, at least one first index value set
Each first index value set expression described in a kind of configuration that can realize of subarray.
Optionally, above-mentioned acquisition at least one second index value corresponding with the algorithm index value, including:Obtain with
The corresponding at least one third index value of algorithm index value, each third index value correspond to corresponding second rope
Draw value set, the third index value is associated with array, and the array is by multiple group of subarrays at and according to described
At least one third index value obtains at least one second index value.
Optionally, above-mentioned according at least one third index value, obtain at least one second index value, packet
It includes:According at least one third index value, at least one second index value is obtained from third storage unit,
In, at least one second index value set is pre-stored in the third storage unit, at least one second index
A kind of configuration that array can be realized described in each second index value set expression in value set.
Optionally, above-mentioned according to the algorithm index value, obtain at least one third corresponding with the operator to be configured
Index value, including:Obtain at least one 4th index value corresponding with the algorithm index value, each 4th index value
Value set is indexed corresponding to corresponding orderly third, the 4th index value is associated with special algorithm, the special algorithm
It is made of the various configurations of the array, and according at least one 4th index value, obtains at least one third
Index value.
Optionally, above-mentioned according at least one 4th index value, obtaining at least one third index value includes:
According at least one 4th index value, at least one third index value is obtained from the 4th storage unit, wherein extremely
Few one orderly third index value set is pre-stored in the 4th storage unit, and described orderly at least one the
A kind of algorithm that each third index value set expression in three index value sets can be realized.
Optionally, the configuration that the corresponding operator of above-mentioned at least one operator configuration information can be realized is at least one
The frequency of occurrences in application scenarios is higher than the first predetermined threshold and/or above-mentioned at least one first index value set difference
The frequency of occurrences of the configuration that corresponding subarray can be realized at least one application scenarios is higher than the second predetermined threshold,
And/or the configuration that the corresponding array of above-mentioned at least one second index value set can be realized is in at least one
The frequency of occurrences in application scenarios is higher than third predetermined threshold and/or above-mentioned at least one orderly third index value collection
It closes the frequency of occurrences of the algorithm that can be realized indicated respectively at least one application scenarios and is higher than the 4th predetermined threshold.
Another aspect of the disclosure provides a kind of configuration system of reconfigureable computing array, the Reconfigurable Computation battle array
Row include multiple operators, to the reconfigureable computing array carry out configure include to the operator in the reconfigureable computing array into
Row configuration, the system comprises:Read module reads algorithm index value from control register, and the algorithm index value instruction is used
In the information configured to the reconfigureable computing array, the first acquisition module obtains corresponding with the algorithm index value
At least one first index value, the first index value correspond to a kind of operator configuration information, the second acquisition module, according to institute
At least one first index value is stated, corresponding operator configuration information and configuration module are obtained, is configured according to acquired operator
Information configures the corresponding operator in the multiple operator.
Optionally, above-mentioned second acquisition module is specifically used for:According at least one first index value, from the first storage
Corresponding operator configuration information is obtained in unit, wherein at least one operator configuration information is pre-stored in the first storage list
In member, each operator configuration information at least one operator configuration information indicates that one kind that the operator can be realized is matched
It sets.
Optionally, above-mentioned first acquisition module includes:Second index value acquiring unit obtains and the algorithm index value phase
Corresponding at least one second index value, each second index value correspond to corresponding first index value set, and described the
Two index values are associated with subarray, and the subarray is made of multiple operators and first index value acquiring unit, according to institute
At least one second index value is stated, at least one first index value is obtained.
Optionally, above-mentioned first index value acquiring unit is used for:According at least one second index value, deposited from second
At least one first index value is obtained in storage unit, wherein at least one first index value set is pre-stored in
In two storage units, subarray energy described in each first index value set expression at least one first index value set
A kind of configuration enough realized.
Optionally, above-mentioned first acquisition module further includes third index value acquiring unit, wherein:The third index value obtains
Unit is taken, at least one third index value corresponding with the algorithm index value is obtained, each third index value corresponds to
In corresponding second index value set, the third index value is associated with array, and the array is by multiple group of subarrays
At the second index value acquiring unit obtains at least one second index according at least one third index value
Value.
Optionally, above-mentioned second index value acquiring unit is used for:According at least one third index value, deposited from third
At least one second index value is obtained in storage unit, wherein at least one second index value set is pre-stored in
In three storage units, array can described in each second index value set expression at least one second index value set
A kind of configuration realized.
Optionally, above-mentioned first acquisition module further includes the 4th index value acquiring unit, wherein:4th index value obtains
Unit is taken, at least one 4th index value corresponding with the algorithm index value is obtained, each 4th index value corresponds to
Value set is indexed in corresponding orderly third, the 4th index value is associated with special algorithm, and the special algorithm is by institute
The various configurations composition of array is stated, the third index value acquiring unit obtains institute according at least one 4th index value
State at least one third index value.
Optionally, above-mentioned third index value acquiring unit is used for:According at least one 4th index value, deposited from the 4th
At least one third index value is obtained in storage unit, wherein at least one orderly third index value set is deposited in advance
Storage is in the 4th storage unit, each third index value set expression in orderly at least one third index value set
A kind of algorithm that can be realized.
Another aspect of the disclosure provides a kind of configuration system of reconfigureable computing array, the Reconfigurable Computation battle array
Row include multiple operators, to the reconfigureable computing array carry out configure include to the operator in the reconfigureable computing array into
Row configuration, the system comprises:First storage unit, for storing at least one operator configuration information, at least one calculation
Each operator configuration information in sub- configuration information indicates that a kind of configuration that the operator can be realized, the second storage unit are used
In storing at least one first index value set, wherein the first index value corresponds to a kind of operator configuration information, it is described extremely
A kind of configuration that each first index value set expression subarray in a few first index value set can be realized, the son
Array is made of multiple operators.
Optionally, above system further includes:Third storage unit, for storing at least one second index value set,
In, the second index value corresponds to a first index value set, each of described at least one second index value set
A kind of configuration that array described in second index value set expression can be realized, the array by multiple group of subarrays at.
Optionally, above system further includes:4th storage unit, for storing at least one orderly third index value collection
It closes, wherein the third index value corresponds to a second index value set, orderly at least one third index value collection
A kind of algorithm that each third index value set expression in conjunction can be realized.
Optionally, the configuration that the corresponding operator of above-mentioned at least one operator configuration information can be realized is at least one
The frequency of occurrences in application scenarios is higher than the first predetermined threshold and/or above-mentioned at least one first index value set difference
The frequency of occurrences of the configuration that corresponding subarray can be realized at least one application scenarios is higher than the second predetermined threshold,
And/or the configuration that the corresponding array of above-mentioned at least one second index value set can be realized is in at least one
The frequency of occurrences in application scenarios is higher than third predetermined threshold and/or above-mentioned at least one orderly third index value collection
It closes the frequency of occurrences of the algorithm that can be realized indicated respectively at least one application scenarios and is higher than the 4th predetermined threshold.
Another aspect of the present disclosure provides a kind of configuration system of reconfigureable computing array, including:At least one storage
Device stores executable instruction and at least one processor, and at least one processor executes the executable instruction, with
Realize method as described above.
Another aspect of the present disclosure provides a kind of non-volatile memory medium, is stored with computer executable instructions, institute
Instruction is stated when executed for realizing method as described above.
Another aspect of the present disclosure provides a kind of computer program, and the computer program, which includes that computer is executable, to be referred to
It enables, described instruction is when executed for realizing method as described above.
As it can be seen that in the technical solution of the embodiment of the present disclosure, corresponding first index value is obtained by algorithm index value,
Then corresponding operator configuration information is further obtained to be configured to operator, without reality is written in control register
Operator configuration information improved to the allocative efficiency of reconfigureable computing array so as to reduce the configuration stand-by period.
Specific implementation mode
Hereinafter, will be described with reference to the accompanying drawings embodiment of the disclosure.However, it should be understood that these descriptions are only exemplary
, and it is not intended to limit the scope of the present disclosure.In addition, in the following description, descriptions of well-known structures and technologies are omitted, with
Avoid unnecessarily obscuring the concept of the disclosure.
Term as used herein is not intended to limit the disclosure just for the sake of description specific embodiment.Used here as
Word " one ", " one (kind) " and "the" etc. also should include " multiple ", " a variety of " the meaning, unless in addition context clearly refers to
Go out.In addition, the terms "include", "comprise" as used herein etc. show the presence of the feature, step, operation and/or component,
But it is not excluded that other one or more features of presence or addition, step, operation or component.
There are all terms (including technical and scientific term) as used herein those skilled in the art to be generally understood
Meaning, unless otherwise defined.It should be noted that term used herein should be interpreted that with consistent with the context of this specification
Meaning, without should by idealization or it is excessively mechanical in a manner of explain.
Shown in the drawings of some block diagrams and/or flow chart.It should be understood that some sides in block diagram and/or flow chart
Frame or combinations thereof can be realized by computer program instructions.These computer program instructions can be supplied to all-purpose computer,
The processor of special purpose computer or other programmable data processing units, to which these instructions can be with when being executed by the processor
Create the device for realizing function/operation illustrated in these block diagrams and/or flow chart.
Therefore, the technology of the disclosure can be realized in the form of hardware and/or software (including firmware, microcode etc.).Separately
Outside, the technology of the disclosure can take the form of the computer program product on the computer-readable medium for being stored with instruction, should
Computer program product uses for instruction execution system or instruction execution system is combined to use.In the context of the disclosure
In, computer-readable medium can be the arbitrary medium can include, store, transmitting, propagating or transmitting instruction.For example, calculating
Machine readable medium can include but is not limited to electricity, magnetic, optical, electromagnetic, infrared or semiconductor system, device, device or propagation medium.
The specific example of computer-readable medium includes:Magnetic memory apparatus, such as tape or hard disk (HDD);Light storage device, such as CD
(CD-ROM);Memory, such as random access memory (RAM) or flash memory;And/or wire/wireless communication link.
Embodiment of the disclosure provide a kind of reconfigureable computing array configuration method and this method can be applied be
System.This method includes:Algorithm index value is read from control register, which indicates for reconfigureable computing array
The information configured obtains at least one first index value corresponding thereto, wherein the first rope according to the algorithm index value
Draw value and obtain corresponding operator configuration information further according at least one first index value corresponding to a kind of operator configuration information,
And the corresponding operator in reconfigureable computing array is configured according to acquired operator configuration information.
As it can be seen that in the technical solution of the embodiment of the present disclosure, corresponding first index value is obtained by algorithm index value,
Then corresponding operator configuration information is further obtained to be configured to operator, without reality is written in control register
Operator configuration information improved to the allocative efficiency of reconfigureable computing array so as to reduce the configuration stand-by period.
In addition, in the technical solution of the embodiment of the present disclosure, at least one operator configuration information can be prestored, in this way
When needing to configure reconfigureable computing array every time, it is not necessarily to the operator configuration information that dynamic load needs, so as to
It is enough further reduced configuration duration, improves allocative efficiency.
In addition, pre-stored at least one operator configuration information indicates the different function that operator can be realized respectively, that
Redundancy is not present between this, the memory space of occupancy can be reduced in this way.
In addition, it is pre-stored at least one operator configuration information can at least one application scenarios frequency of occurrences ratio
It is higher, for example, the frequency of occurrences can be carried further higher than the first predetermined threshold in this way, prestoring these operator configuration informations
Height is under these application scenarios to the allocative efficiency of reconfigureable computing array.
It is understood that " operator " that is referred in the embodiment of the present disclosure is the basic operation list in reconfigureable computing array
Member.
Fig. 1 diagrammatically illustrates the configuration method and systematic difference of the reconfigureable computing array according to the embodiment of the present disclosure
Scene.
As shown in Figure 1, the application scenarios include main equipment 110, control register 120, reconfigureable computing array control list
Member 130 and reconfigureable computing array 140.For example, main equipment 110 can utilize it is known in the art various general or special
Processor is realized, for example, central processing unit (Central Processing Unit, CPU).For example, control register
120 can be the peripheral hardware register of main equipment 110.
For example, main equipment 110 can be connected or couple with control register 120.Reconfigureable computing array control is single
Member 130 can be connected or couple with control register 120 and reconfigureable computing array 140.
In one embodiment, reconfigureable computing array control unit 130 and reconfigureable computing array 140 can be integrated in
On one chip, such as form system on chip (System on Chip, SoC).Main equipment 110 and control register 120 can be with
It is connected with the chip by bus.
In another embodiment, control register 120, reconfigureable computing array control unit 130 and Reconfigurable Computation battle array
Row 140 can integrate on a single die.Main equipment 110 can be connected by bus with the chip.
According to the embodiment of the present disclosure, it can be determined according to current application scenarios and reconfigureable computing array 140 is matched
The configuration information is written in control register 120 for the configuration information set, main equipment 110.Reconfigureable computing array control unit
130 read the configuration information from control register 120, and are carried out to reconfigureable computing array 140 according to the configuration information
Configuration.
In the embodiments of the present disclosure, a reconfigureable computing array 140 may include multiple operators, restructural to one
When computing array is once configured, actually the operator in the reconfigureable computing array is configured.
For example, when once being configured to reconfigureable computing array, according to corresponding configuration information to the restructural meter
The operator calculated in array is configured.Configuration information for example may include the information that is configured to the function of operator (for example, real
Now with the function of door or the function of door, search table function etc.) and/or information (example that its interconnecting relation is configured
Such as, operator A receive from signal where, and by the signal obtained after calculating output where).Operator completion is once matched
It sets, i.e., primary configuration is completed to the reconfigureable computing array so that the reconfigureable computing array may be implemented in this time configuration
A kind of corresponding algorithm or function.
As reconfigureable computing array needs the function of realizing to become increasingly complex, the operator in reconfigurable arrays is increasingly
More, the configuration information of each operator also becomes increasingly complex.In the related technology, reconfigureable computing array is once being configured
When, need main equipment 110 that control register 120 is written in the configuration information of each operator one by one.Reconfigureable computing array control
Unit 130 processed reads configuration information from control register 120, and according to configuration information to the phase in reconfigureable computing array
Operator is answered to be configured.
Moreover, under many application scenarios, need to carry out repeatedly configuration to reconfigureable computing array to realize corresponding calculation
Method or function, it is seen then that in these cases, the workload of main equipment 110 is very big.Match to reconfigureable computing array
During setting, main equipment 110 and system bus, inefficiency can be occupied for a long time.
The embodiment of the present disclosure provides a kind of configuration method of reconfigureable computing array, is carried out to reconfigureable computing array
When configuration, main equipment 110 only needs that control register 120 is written in corresponding algorithm index value according to current algorithm.Restructural meter
It calculates antenna array control unit 130 and reads the algorithm index value from control register, the first index is found according to the algorithm index value
It is worth, and finds the configuration information of operator according to first index value, to is configured to corresponding operator.As it can be seen that the disclosure is real
The method for applying example can reduce main equipment and need the data content that is written, it is possible to reduce the workload of main equipment, to pair can
Reconstruction calculations array carries out in configuration process, discharges main equipment and system bus as early as possible, in addition can also shorten to restructural
The setup time of computing array improves allocative efficiency.
The embodiment of the present disclosure provides a kind of configuration system of reconfigureable computing array.
Fig. 2 diagrammatically illustrates the block diagram of the configuration system 200 according to the reconfigureable computing array of the embodiment of the present disclosure.
As shown in Fig. 2, the configuration system 200 of reconfigureable computing array includes the first storage unit 210, the second storage unit
220, third storage unit 230 and the 4th storage unit 240.System 200 can also be referred to as storage system herein.
Specifically, the first storage unit 210, for storing at least one operator configuration information, wherein at least one operator
Each operator configuration information in configuration information indicates a kind of configuration that operator can be realized.Wherein, each operator configuration information
A corresponding first index value.
As it can be seen that in this way, the operator configuration information of redundancy can't be stored in the first storage unit 210, so as to
Enough reduce the memory space that operator configuration information occupies.
In addition, at least one operator configuration information can be stored in advance in the first storage unit 120, in this way, energy
It is enough to reduce the information content that dynamic load is needed when being configured every time to reconfigureable computing array, so as to improve configuration effect
Rate.
According to the embodiment of the present disclosure, in the first storage unit 210, operator configuration information is with the kind for the function that can be realized
Class is stored.For example, operator configuration information may include the letters such as operator function, interconnection architecture, data source capability, memory access address
Breath.For example, the 1st kind of operator configuration information includes:Operator is configured to, " with door ", receive " No. 1 signal source " and " No. 2 signal sources "
Signal, signal exports to the address " A ".2nd kind of operator configuration information include:It configures operator to disjunction gate, receives " No. 5 " letters
The signal in number source, signal are exported to the address " B ".It is appreciated that above-mentioned configuration information is merely exemplary, in order to help to understand,
The type of the unlimited configuration information processed of the disclosure.
According to the embodiment of the present disclosure, common several operator configuration informations, example can be stored in the first storage unit 210
Such as, the frequency that the configuration that the corresponding operator of operator configuration information can be realized occurs at least one application scenarios is higher than first
The operator configuration information of predetermined threshold can be stored in the first storage unit 210.For example, in enciphering and deciphering algorithm scene, commonly use
Grouping, hash or sequence algorithm operator configuration information, for example, realize basic processing unit operator configuration information, realize
The operator configuration information of bit permutation realizes the operator configuration information for searching table function.In this way, for these application scenarios
For, the allocative efficiency to reconfigureable computing array can be significantly improved.
Above-mentioned first predetermined threshold can be self-defined as needed by user.For example, the first predetermined threshold can be based on
To the statistics of the type of the operator configuration information under plurality of application scenes and determination.
With reference to as shown in Figure 3a, the reconfigureable computing array 300 of a 5x5.In the embodiments of the present disclosure, a kind of operator
Configuration information can be used for configuring multiple operators, such as all 25 operators in reconfigureable computing array 300 all may be used
To be configured according to the 1st kind of configuration information.In the embodiments of the present disclosure, operator can also according to various configurations information into
Row configuration, for example, in the primary configuration of reconfigureable computing array 300, operator 11 is configured according to the 1st kind of configuration information,
In another configuration of reconfigureable computing array 300, operator 11 can also be configured according to the 2nd kind of configuration information.
In the embodiments of the present disclosure, the first storage unit 210 can be realized by a memory, stored a variety of operators and matched
Confidence ceases, alternatively, the first storage unit 210 can also be realized by multiple memories, is stored in each memory a kind of or more
Kind operator configuration information.
Second storage unit 220, for storing at least one first index value set, wherein first index value corresponds to
A kind of operator configuration information, each first index value set expression Reconfigurable Computation battle array at least one first index value set
A kind of configuration that the subarray of row can be realized.Wherein, each first index value set corresponds to a second index value.
According to the embodiment of the present disclosure, each operator configuration information corresponds to a first index value, which can be with
It is storage address or address combination of the corresponding operator configuration information in the first storage unit 210, first is indexed by this
Value can find corresponding operator configuration information.First index value can also be simple symbol, according to the first index value
Corresponding operator can be found in the inquiry table of the correspondence between record first index value and operator configuration information to match
Confidence ceases.
According to the embodiment of the present disclosure, reconfigureable computing array can be divided into multiple subarrays.For example, can be according to operator
Physical arrangement or the configuration that may be implemented according to subarray reconfigureable computing array is divided into multiple subarrays.Each
Subarray may include multiple operators.
In one embodiment, between multiple subarrays can each other mutex relation (that is, the same operator can only belong to one
A subarray), and multiple subarrays can be merged into a complete computing array.For example, can have between subarray
Same or analogous structure.This dividing mode is realized fairly simple.For example, subarray can be a line of array (for example, such as
Shown in Fig. 3 a, the subarray of the composition of operator 11,12,13,14,15), subarray can also be a row of array (for example, as schemed
Shown in 3a, the subarray of the composition of operator 11,21,31,41,51).
In another embodiment, mutex relation is may not be between multiple subarrays, i.e., same operator may belong to one
A or multiple subarrays.This dividing mode is more flexible.For example, subarray can be by multiple operator tuples adjacent in array
At.As shown in Figure 3a, operator 11,12,21,22 can form a subarray, and operator 13,14,23,24 can form a son
Array, operator 14,15,24 and 25 can form a subarray, and different types of configuration may be implemented in this sub-arrays respectively.
Certainly, subarray can also be made of non-conterminous operator in array.For example, as shown in Figure 3a, operator 11,22,33,44 and 55
A subarray can be formed.
It can be divided come sub-array according to actual demand, the embodiment of the present disclosure is not restricted this.
For example, array shown in Fig. 3 a is divided into five subarrays as unit of a line, then there are five calculate for each subarray
Son configures this five operators so that subarray realizes different functions according to different configuration informations.In the embodiment of the present disclosure
In, the type of the function of being configured to enough realizations of subarray can be stored.For example, as shown in Figure 3b, by subarray
Five operators all in accordance with first index value be 1 configuration information configured so that the work(of algorithm A may be implemented in the subarray
Energy.As shown in Figure 3c, by five operators of subarray according to sequence from left to right successively according to first index value be 2,1,2,
1,1 configuration information is configured so that the function of algorithm B may be implemented in the subarray.
According to the embodiment of the present disclosure, in the second storage unit 220, as unit of subarray, can be realized with subarray
The type of configuration is stored, the set expression for one first index value of configuration that each sub-array is realized.For example, as schemed
The configuration of 3b, a sub-array can use set { 1,1,1,1,1 } to indicate that five operators of that is, a certain subarray are all in accordance with first
The configuration information that index value is 1 is configured, and realizes the function of algorithm A.As the configuration of Fig. 3 c, another sub-array can use collection
It closes { 2,1,2,1,1 } to indicate, i.e., five operators of a certain subarray are respectively 2,1,2,1,1 to match confidence according to first index value
Breath is configured, and realizes the function of algorithm B.
According to the embodiment of the present disclosure, the configuration of common several sub-arrays, example can be stored in the second storage unit 220
Such as, the frequency of occurrences of the configuration that the corresponding subarray of first index value set can be realized at least one application scenarios
Subarray configuration higher than the second predetermined threshold can be stored in the second storage unit 220.Above-mentioned second predetermined threshold can be with
It is self-defined as needed by user.For example, the second predetermined threshold can be based on to the subarray configuration under plurality of application scenes
Type statistics and determination.
In the embodiments of the present disclosure, a sub-array configuration information can be used for configuring multiple subarrays, such as
Whole 5 subarrays (one subarray of each behavior) in reconfigureable computing array 300 can be according to the configuration of such as Fig. 3 b
Method is configured.In the embodiments of the present disclosure, a subarray can also be configured according to a variety of subarray configuration informations,
For example, in the primary configuration of reconfigureable computing array 300, the first row subarray can be matched according to the method for such as Fig. 3 b
It sets, in another configuration of reconfigureable computing array 300, the first row subarray can also be matched according to the method for such as Fig. 3 c
It sets.
In the embodiments of the present disclosure, the second storage unit 220 can be realized by a memory, store a variety of subarrays
Configuration information, stored alternatively, the second storage unit 220 can also be realized by multiple memories, in each memory it is a kind of or
A variety of subarray configuration informations.
Third storage unit 230, for storing at least one second index value set, wherein each second index value pair
Ying Yuyi sub-array configuration informations, battle array described in each second index value set expression at least one second index value set
Arrange a kind of configuration that can be realized.Wherein, each second index value set corresponds to a third index value.
According to the embodiment of the present disclosure, a second index value is corresponded to per sub-array configuration information (that is, each first index
Value set correspond to a second index value), the second index value can be corresponding subarray configuration information storage address or
Person's address combination can find corresponding subarray configuration information (that is, corresponding first index value by the second index value
Set).Second index value can also be simple symbol, can be in record second index value and first according to the second index value
Corresponding first index value set is found in the inquiry table of correspondence between index value set.
According to the embodiment of the present disclosure, in third storage unit 230, as unit of array, matched with what array can be realized
The type set is stored, the set expression for the configuration second index value that each array is realized.For example, as shown in Figure 3d
Array, a kind of array configuration can use set { A, A, A, A, A } to indicate, i.e., the five of certain an array subarray is from top to bottom successively
It is configured according to the configuration information that second index value is A.
For example, in third storage unit 230, can be stored according to mode corresponding with the physical location of subarray
Second index value.For example, often row operator is divided into a subarray, then in third storage unit 230 some second
It indexes in value set, first second index value can correspond to first subarray (submatrix that i.e. the first row operator is formed
Row), second index value can correspond to second subarray (i.e. the subarray that the second row operator is formed), and so on.This
Kind storage mode realization is fairly simple, is conducive to improve allocative efficiency.
It is envisioned that in certain or certain kinds of array configurations, it is possible to need not to all subarrays into
Row configuration, then the subarray that need not be configured can correspond to a default value, which can indicate need not be to this
Subarray is configured.For example, the default value can be pre-defined.
The configuration of common several arrays can be stored according to the embodiment of the present disclosure, in third storage unit 230, for example,
The frequency of occurrences of the configuration that the corresponding array of second index value set can be realized at least one application scenarios is higher than
The array configuration of third predetermined threshold can be stored in third storage unit 230.For example, for encryption and decryption scene, often
Array configuration may include Advanced Encryption Standard (Advanced Encryption Standard, AES), data encryption mark
Accurate (Data Encryption Standard, DES) or secure hash algorithm (Secure Hash Algorithm, SHA)
256 etc..As it can be seen that in this way, the configuration to reconfigureable computing array can be rapidly realized in these application scenarios,
So as to improve allocative efficiency.
Above-mentioned third predetermined threshold can be self-defined as needed by user.For example, third predetermined threshold can be based on
To the statistics of the type of the array configuration under plurality of application scenes and determination.
In the embodiments of the present disclosure, a kind of array configuration information can be used for repeatedly configuring array, such as pair can
It can be configured according to the configuration method of such as Fig. 3 d in the configuration twice of reconstruction calculations array 300.In the embodiment of the present disclosure
In, an array can also be configured according to a variety of array configuration information, for example, in the primary of reconfigureable computing array 300
In configuration, which can be configured according to the method for such as Fig. 3 d, in another configuration of reconfigureable computing array 300,
The array can also be configured according to different second index value set.
In the embodiments of the present disclosure, third storage unit 230 can be realized by a memory, stored a variety of arrays and matched
Confidence ceases or third storage unit 230 can also be realized by multiple memories, is stored in each memory one or more
Array configuration information.
4th storage unit 240 indexes value set, wherein each third rope for storing at least one orderly third
Draw value and corresponds to a kind of array configuration information, each third index value in orderly at least one third index value set
A kind of algorithm that set expression reconfigureable computing array can be realized.Wherein, each orderly third index value set corresponds to
One the 4th index value.
According to the embodiment of the present disclosure, each array configuration information corresponds to a third index value (that is, each second index value
The corresponding third index value of set), which can be the storage address or ground of corresponding array configuration information
Location is combined, and corresponding array configuration information can be found (that is, the collection of corresponding second index value by the third index value
It closes).Third index value can also be simple symbol, can be in record third index value and the second rope according to the third index value
Draw and finds corresponding second index value set in the inquiry table of the correspondence between value set.
According to the embodiment of the present disclosure, in the 4th storage unit 240, as unit of algorithm, deposited with the type of algorithm
Storage, each algorithm are indicated with the ordered set of third index value.For example, realizing a kind of Encryption Algorithm, need to carry out array
Repeatedly configuration, such as the ordered set of the corresponding third index value of the Encryption Algorithm is { I → II → III → IV }, i.e., is first poised for battle
Row are configured according to the configuration information that third index value is I, then successively according to the configuration that third index value is II, III, IV
Information configures array.
In the embodiments of the present disclosure, the 4th storage unit 240 can be also used for storage cyclical information, and cyclical information for example may be used
To include cycle-index and circulating content.For example, a kind of decryption of video algorithm, needs repeatedly to configure array, such as should
The ordered set of the corresponding third index value of decryption of video algorithm is { I → II → I → II → I → II }, then the algorithm is corresponding
Ordered set can be { I → II } and corresponding cycle-index is 3 times.
According to the embodiment of the present disclosure, the configuration of common several algorithms can be stored in the 4th storage unit 240, for example,
The frequency of occurrences of the algorithm that orderly third index value set indicates respectively at least one application scenarios is predetermined higher than the 4th
The algorithm configuration of threshold value can be stored in the 4th storage unit 240.In this way, in these application scenarios, it can be to restructural
Computing array carries out rapid configuration, to improve allocative efficiency.
Above-mentioned 4th predetermined threshold can be self-defined as needed by user.For example, the 4th predetermined threshold can be based on
To the statistics of the type of the algorithm configuration under plurality of application scenes and determination.
In the embodiments of the present disclosure, the 4th storage unit 240 can be realized by a memory, and storage many algorithms are matched
Confidence ceases or the 4th storage unit 240 can also be realized by multiple memories, is stored in each memory one or more
Algorithm configuration information.
It is understood that the memory of realization first, second, third or the 4th storage unit can be in this field
Known any available memory.The embodiment of the present disclosure is not construed as limiting this.
Optionally, above-mentioned first, second, third and fourth storage unit can be with reconfigureable computing array, restructural meter
It is integrated on a single die to calculate antenna array control unit.Alternatively, they can not also be integrated on a single die, but restructural meter
Calculating antenna array control unit can access to these storage units to obtain the information of its storage.
It is to be appreciated that for convenience of description, embodiment of the disclosure provides only a kind of with level Four storage unit
Storage system, but the disclosure is not intended to limit the series of storage unit, can be such as the subarray more than the structure of level Four
Configuration can be divided into two-stage and be stored, and level Four can also be less than, for example, not storing the configuration of subarray directly by the first rope
Draw the configuration information etc. of value set composition array.Using such multilevel memory system, can simply and easily realize with confidence
The compression of breath stores, to effectively reduce the memory space of configuration information.
The storage system that the embodiment of the present disclosure provides, has prestored common operator configuration information, by first index value
The common subarray configuration information of composition, the common array configuration information being made of second index value, and by third rope
Draw value and form common algorithm configuration information, configuration information is indexed layer by layer, so as in a manner of simply and easily
Realize the effect for compressing configuration information, thus, it is possible to reduce the memory space of configuration information occupancy.In addition, by prestoring
These information can significantly improve the allocative efficiency to reconfigureable computing array in corresponding application scenarios.
With reference to the application scenarios of Fig. 1 and the storage system of Fig. 2, it is described with reference to Figure 4 according to the exemplary reality of the disclosure
Apply the method for reconfigureable computing array configuration of mode.
Fig. 4 diagrammatically illustrates the flow chart of the configuration method of the reconfigureable computing array according to the embodiment of the present disclosure.
As shown in figure 4, this method includes operation S401~S404.
In operation S401, algorithm index value is read from control register, wherein algorithm index value is indicated for restructural
The information that computing array is configured.
According to the embodiment of the present disclosure, when being configured to reconfigureable computing array, first passing through main equipment will calculate accordingly
Control register is written in method index value, and then the control unit of reconfigureable computing array reads the algorithm from control register again
Index value.
Algorithm index value indicates the information for being configured to reconfigureable computing array, which can be pair
The storage address or address combination for the configuration information answered can directly or indirectly find correspondence by the algorithm index value
Operator configuration information.The algorithm index value can also be simple symbol, and establishes the algorithm index value and configured with operator
The inquiry table of directly or indirectly correspondence between information can find phase according to the algorithm index value in inquiry table
The operator configuration information answered.
In the embodiments of the present disclosure, algorithm index value is written according to actual conditions in main equipment, which can be
In above-mentioned first index value, second index value, third index value and the 4th index value one or more or it is arbitrary
Combination.
In operation S402, at least one first index value corresponding with algorithm index value is obtained, wherein first index value
Corresponding to a kind of operator configuration information.
According to the embodiment of the present disclosure, since algorithm index value can be above-mentioned first index value, second index value, third
One or more or arbitrary combination in index value and the 4th index value, therefore can be straight by the algorithm index value
Connect or indirectly find corresponding first index value.
In the following, being described in conjunction with Fig. 5 to obtaining corresponding first index value by algorithm index value.
Situation 1:
When the algorithm index value obtained from control register is second index value, then obtained by the second index value
Corresponding at least one first index value.According to the embodiment of the present disclosure, each second index value corresponds to corresponding first rope
Draw value set, second index value is associated with subarray, and subarray is made of multiple operators.
In the embodiments of the present disclosure, it according at least one second index value, is obtained from the second storage unit at least one
First index value, wherein at least one first index value set is pre-stored in the second storage unit, and at least one first
A kind of configuration that each first index value set expression subarray in index value set can be realized.
For example, the algorithm index value read is A, then it is corresponding that A is obtained in the second storage unit 220 as shown in Figure 5
First index value set (such as { 1,2,3,2,1 }), to obtain the corresponding first index value of each operator in subarray.
Situation 2:
When the algorithm index value obtained from control register is third index value, then obtained by the third index value
Corresponding at least one second index value.According to the embodiment of the present disclosure, each third index value corresponds to corresponding second rope
Draw value set, third index value is associated with array, array by multiple group of subarrays at.
In the embodiments of the present disclosure, it according at least one third index value, is obtained from third storage unit at least one
Second index value, wherein at least one second index value set is pre-stored in third storage unit, and at least one second
A kind of configuration that each second index value set expression array in index value set can be realized.
For example, the algorithm index value read is I, then it is corresponding that I is obtained in third storage unit 230 as shown in Figure 5
Second index value set (such as { A, B, A, A, B }), to obtain the corresponding second index value of each subarray in array.
Then, corresponding first index value is obtained from the second storage unit 220 according to second index value.
Situation 3:
When the algorithm index value obtained from control register is four index value, then obtained by the 4th index value
Corresponding at least one third index value.According to the embodiment of the present disclosure, each 4th index value corresponds to corresponding orderly
Third indexes value set, and the 4th index value is associated with special algorithm, and special algorithm is made of the multiple configuration of array.
In the embodiments of the present disclosure, it according at least one 4th index value, is obtained from the 4th storage unit at least one
Third index value, wherein at least one orderly third index value set is pre-stored in the 4th storage unit, orderly
A kind of algorithm that each third index value set expression at least one third index value set can be realized.
For example, the algorithm index value read is algorithm 1, then the acquisition algorithm in the 4th storage unit 240 as shown in Figure 5
The ordered set (such as { I → II }) and the corresponding cyclical information of the ordered set of 1 corresponding third index value are (for example, follow
Ring 1 time), one or many configurations are being carried out come when realizing the algorithm to array to obtain, each array configuration corresponding the
Three index values.
Then corresponding second index value is obtained from third storage unit 230 according to third index value, further according to second
Index value obtains corresponding first index value from the second storage unit 220.
It is appreciated that three kinds of situations of the example above are only several embodiments that the disclosure provides, the disclosure is to main equipment
Algorithm index value in write-in register is not limited, and can is a kind of algorithm index value of write-in, be can also be many algorithms rope
The combination for drawing value can also be the combination of algorithm index value and necessary configuration information.For example, can in the 4th storage unit 240
Not store cyclical information, necessary cyclical information and algorithm index value can be written in register together for such main equipment.
Cyclical information may include the relevant information such as cycle-index, circulation pattern.
It should be understood that when need to reconfigureable computing array carry out single configuration when, can not have cyclical information or
Cycle-index in cyclical information is set as 1 by person, it is possible thereby to indicate to carry out single configuration to reconfigureable computing array.
Corresponding operator configuration information is obtained according at least one first index value in operation S403.Each first index
Value corresponds to a kind of corresponding operator configuration information, and first index value is associated with operator.
In the embodiments of the present disclosure, it according at least one first index value, is obtained from the first storage unit 210 corresponding
Operator configuration information, wherein at least one operator configuration information is pre-stored in the first storage unit, at least one operator
Each operator configuration information in configuration information indicates a kind of configuration that operator can be realized.
For example, first index value is 1, then it is right that first index value 1 is obtained in the first storage unit 210 as shown in Figure 5
Answer configuration information (for example, by the operator be configured to and door).
In operation S404, the corresponding operator in multiple operators is configured according to acquired operator configuration information.
According to the embodiment of the present disclosure, after getting the configuration information of operator, reconfigureable computing array control unit according to
Confidence breath corresponding operator is configured, with realize to this can re-computation array primary configuration.
Optionally, the corresponding operator configuration of above-mentioned at least one operator configuration information is at least one application scenarios
The frequency of occurrences be higher than the first predetermined threshold.
Optionally, the corresponding subarray configuration of above-mentioned at least one first index value set is at least one applied field
The frequency of occurrences in scape is higher than the second predetermined threshold.
Optionally, the corresponding array configuration of above-mentioned at least one second index value set is at least one application scenarios
In the frequency of occurrences be higher than third predetermined threshold.
Optionally, the algorithm that above-mentioned at least one orderly third index value set indicates respectively is at least one applied field
The frequency of occurrences in scape is higher than the 4th predetermined threshold.
In the embodiments of the present disclosure, common operator configuration information has been prestored, has been made of first index value common
Subarray configuration information, the common array configuration information being made of second index value, and being made of often third index value
Algorithm configuration information will need not specifically match confidence again when main equipment configures the reconfigureable computing array
Control register is written in breath item by item, it is only necessary to the function of the reconfigureable computing array being needed to realize under current application scene
Control register is written in corresponding index value, and the control unit of reconfigureable computing array can find phase according to the index value
The configuration information answered, to complete the configuration to the array.As it can be seen that the method for the embodiment of the present disclosure presses configuration information
Contracting so that the workload of main equipment greatly reduces, and in configuration process, can rapidly discharge main equipment and system bus,
Improve allocative efficiency.
It is appreciated that the method for above-mentioned 4~Fig. 5 of the reference chart descriptions of the disclosure is only an embodiment of the present disclosure, this
The open corresponding deformation that can also be the above method.
Embodiment of the disclosure provides a kind of configuration system for reconfigureable computing array.
Fig. 6 a and 6b diagrammatically illustrate the block diagram of configuration system 600 according to an embodiment of the present disclosure.
As shown in Figure 6 a, configuration system 600 includes read module 610, the first acquisition module 620, the second acquisition module 630
And configuration module 640.The configuration system 600 can execute the method described above with reference to Fig. 4, to realize to Reconfigurable Computation
The configuration of array.
Specifically, algorithm index value is read from control register in read module 610, wherein the instruction of algorithm index value is used for
The information that reconfigureable computing array is configured.According to the embodiment of the present disclosure, read module 610 can for example execute ginseng above
The operation S401 of Fig. 4 descriptions is examined, details are not described herein.
First acquisition module 620 obtains at least one first index value corresponding with algorithm index value, wherein first
Index value corresponds to a kind of operator configuration information.
According to the embodiment of the present disclosure, as shown in Figure 6 b, the first acquisition module 620 include first index value acquiring unit 621,
Second index value acquiring unit 622, third index value acquiring unit 623 and the 4th index value acquiring unit 624.
First index value acquiring unit 621 obtains corresponding at least one first index value according to algorithm index value, or
Person obtains at least one first index value according at least one second index value.
Second index value acquiring unit 622 obtains corresponding at least one second index value according to algorithm index value, or
Person obtains at least one second index value according at least one third index value.Each second index value corresponds to corresponding the
One index value set, second index value is associated with subarray, and subarray is made of multiple operators.
Third index value acquiring unit 623 obtains corresponding at least one third index value according to algorithm index value, or
Person obtains at least one third index value according at least one 4th index value.Each third index value corresponds to corresponding the
Two index value sets, third index value is associated with array, array by multiple group of subarrays at.
4th index value acquiring unit 624 obtains corresponding at least one 4th index value according to algorithm index value.Often
A 4th index value corresponds to corresponding orderly third and indexes value set, and the 4th index value is associated with special algorithm, specific
Algorithm is made of the various configurations of array.
According to the embodiment of the present disclosure, the first acquisition module 620 can for example execute the operation described above with reference to Fig. 4
S402, details are not described herein.
Second acquisition module 630 obtains corresponding operator configuration information according at least one first index value.Each
One index value corresponds to a kind of corresponding operator configuration information, and first index value is associated with operator.According to the embodiment of the present disclosure,
Second acquisition module 630 can for example execute the operation S403 described above with reference to Fig. 4, and details are not described herein.
Configuration module 640 configures the corresponding operator in multiple operators according to acquired operator configuration information.
According to the embodiment of the present disclosure, configuration module 640 can for example execute the operation S404 described above with reference to Fig. 4, no longer superfluous herein
It states.
It is understood that read module 610, the first acquisition module 620, the second acquisition module 630 and configuration module
640 may be incorporated in a module and realize or any one module therein can be split into multiple modules.Alternatively,
At least partly function of one or more of these modules module can be combined at least partly function of other modules, and
It is realized in a module.According to an embodiment of the invention, read module 610, the first acquisition module 620, the second acquisition module
At least one of 630 and configuration module 640 can at least be implemented partly as hardware circuit, such as field programmable gate
Array (FPGA), programmable logic array (PLA), system on chip, the system on substrate, the system in encapsulation, special integrated electricity
Road (ASIC), or can be realized with carrying out the hardware such as any other rational method that is integrated or encapsulating or firmware to circuit,
Or it is realized with software, the appropriately combined of hardware and firmware three kinds of realization methods.Alternatively, read module 610, first obtains mould
At least one of block 620, the second acquisition module 630 and configuration module 640 can at least be implemented partly as computer
Program module can execute the function of corresponding module when the program is run by computer.
It will also be appreciated that the reconfigureable computing array control unit in Fig. 1 may be implemented described in Fig. 4 and Fig. 5
Embodiment of the method, correspondingly, read module 610, the first acquisition module 620, the second acquisition module 630 and configuration module 640
It can be embodied as reconfigureable computing array control unit together.
In one embodiment, above system 200, system 600 and reconfigureable computing array can be integrated in a chip
On, the allocative efficiency to reconfigureable computing array is further increased in this way.In other embodiments, they can not also be integrated in
On one chip, and it can connect or couple by any mode appropriate.
Fig. 7 diagrammatically illustrates the block diagram of configuration system 700 according to another embodiment of the present disclosure.
As shown in fig. 7, configuration system 700 includes processor 710, computer readable storage medium 720.The configuration system
700 can execute the method described above with reference to Fig. 4, to realize the configuration to reconfigureable computing array.
Specifically, processor 710 for example may include general purpose microprocessor, instruction set processor and/or related chip group
And/or special microprocessor (for example, application-specific integrated circuit (ASIC)), etc..Processor 710 can also include being used for caching
The onboard storage device on way.Processor 710 can be performed for the method flow according to the embodiment of the present disclosure described with reference to figure 4
Different actions single treatment units either multiple processing units.
Computer readable storage medium 720, such as can include, store, transmitting, propagating or transmitting appointing for instruction
Meaning medium.For example, readable storage medium storing program for executing can include but is not limited to electricity, magnetic, optical, electromagnetic, infrared or semiconductor system, device,
Device or propagation medium.The specific example of readable storage medium storing program for executing includes:Magnetic memory apparatus, such as tape or hard disk (HDD);Optical storage
Device, such as CD (CD-ROM);Memory, such as random access memory (RAM) or flash memory;And/or wire/wireless communication chain
Road.
Computer readable storage medium 720 may include computer program 721, which may include generation
Code/computer executable instructions make that the execution of processor 710 is for example retouched above in conjunction with Fig. 4 when being executed by processor 710
The method flow stated and its any deformation.
Computer program 721 can be configured with such as computer program code including computer program module.Example
Such as, in the exemplary embodiment, the code in computer program 721 may include one or more program modules, such as including mould
Block 721A, module 721B ....It should be noted that the dividing mode and number of module are not fixed, those skilled in the art
It can be combined using suitable program module or program module according to actual conditions, when these program modules are combined by processor
When 710 execution so that processor 710 can execute for example above in conjunction with method flow described in Fig. 4 and its any deformation.
According to an embodiment of the invention, read module 610, the first acquisition module 620, the second acquisition module 630 and match
It sets at least one of module 640 and can be implemented as the computer program module described with reference to figure 7, held by processor 710
When row, corresponding operating described above may be implemented.
For example, the reconfigureable computing array control in Fig. 1 may be implemented in processor 710 and computer readable storage medium 720
The function of unit processed.
Another aspect of the present disclosure provides a kind of non-volatile memory medium, is stored with computer executable instructions, institute
Instruction is stated when executed for realizing embodiment of the method as described in Figure 4.
Another aspect of the present disclosure provides a kind of computer program, and the computer program, which includes that computer is executable, to be referred to
It enables, described instruction is when executed for realizing embodiment of the method as described in Figure 4.
It will be understood by those skilled in the art that the feature described in each embodiment and/or claim of the disclosure can
To carry out multiple combinations or/or combination, even if such combination or combination are not expressly recited in the disclosure.Particularly, exist
In the case of not departing from disclosure spirit or teaching, the feature described in each embodiment and/or claim of the disclosure can
To carry out multiple combinations and/or combination.All these combinations and/or combination each fall within the scope of the present disclosure.
Although the disclosure, art technology has shown and described with reference to the certain exemplary embodiments of the disclosure
Personnel it should be understood that in the case of the spirit and scope of the present disclosure limited without departing substantially from the following claims and their equivalents,
A variety of changes in form and details can be carried out to the disclosure.Therefore, the scope of the present disclosure should not necessarily be limited by above-described embodiment,
But should be not only determined by appended claims, also it is defined by the equivalent of appended claims.