Summary of the invention
An aspect of this disclosure provides a kind of configuration method of reconfigureable computing array, the reconfigureable computing array
Including multiple operators, carrying out configuration to the reconfigureable computing array includes carrying out to the operator in the reconfigureable computing array
Configuration, which comprises from control register read algorithm index value, 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 corresponds to a kind of operator configuration information and obtains corresponding operator according at least one described first index value and match
Confidence breath, and the corresponding operator in the multiple operator is configured according to acquired operator configuration information.
Optionally, above-mentioned at least one first index value according to, obtains corresponding operator configuration information, comprising: root
According at least one described 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, every kind of 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, comprising: obtain with
At least one corresponding second index value of the 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 described first index value.
Optionally, above-mentioned at least one second index value according to, obtains at least one first index value, comprising: root
According at least one described second index value, at least one described 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 described first index value set
Each first index value set expression described in a kind of configuration that can be realized of subarray.
Optionally, above-mentioned acquisition at least one second index value corresponding with the algorithm index value, comprising: obtain with
At least one corresponding third index value of the 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 described second index value.
Optionally, above-mentioned at least one third index value according to obtains at least one described second index value, packet
It includes: according at least one described third index value, at least one described 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 described second index
A kind of configuration that array described in each second index value set expression in value set can be realized.
Optionally, above-mentioned according to the algorithm index value, obtain at least one third corresponding with the operator to be configured
Index value, comprising: obtain at least one the 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 described the 4th index value, obtains at least one described third
Index value.
Optionally, above-mentioned at least one the 4th index value according to, obtaining at least one described third index value includes:
According at least one described the 4th index value, at least one described 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, 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 at least one above-mentioned first index value set is distinguished
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 at least one above-mentioned corresponding array of 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 at least one above-mentioned orderly third index value collection
It closes the frequency of occurrences of the algorithm that can be realized respectively indicated 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
Column include multiple operators, to the reconfigureable computing array carry out configuration include to the operator in the reconfigureable computing array into
Row configuration, the system comprises: read module, from control register read algorithm index value, the algorithm index value instruction is used
Module is obtained in the information configured to the reconfigureable computing array, first, is obtained corresponding with the algorithm index value
At least one first index value, the first index value correspond to a kind of operator configuration information, second obtain 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 described 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, one kind that every kind of operator configuration information at least one operator configuration information indicates that the operator can be realized is matched
It sets.
Optionally, above-mentioned first acquisition module includes: second index value acquiring unit, acquisition and the algorithm index value phase
At least one corresponding 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 described first index value is obtained.
Optionally, above-mentioned first index value acquiring unit is used for: according at least one described second index value, being deposited from second
At least one described first index value is obtained in storage unit, wherein at least one first index value set is pre-stored in the
In two storage units, subarray energy described in each first index value set expression at least one described first index value set
A kind of configuration enough realized.
Optionally, above-mentioned first acquisition module further includes third index value acquiring unit, in which: 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 is corresponding
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 described second index according at least one described third index value
Value.
Optionally, above-mentioned second index value acquiring unit is used for: according at least one described third index value, being deposited from third
At least one described second index value is obtained in storage unit, wherein at least one second index value set is pre-stored in the
In three storage units, array described in each second index value set expression at least one described second index value set can
A kind of configuration realized.
Optionally, above-mentioned first acquisition module further includes the 4th index value acquiring unit, in which: the 4th index value obtains
Unit is taken, at least one the 4th index value corresponding with the algorithm index value is obtained, each 4th index value is corresponding
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 described the 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 described the 4th index value, being deposited from the 4th
At least one described third index value is obtained in storage unit, wherein at least one orderly third index value set is deposited in advance
Each third index value set expression in tetra- storage unit of Chu, 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
Column include multiple operators, to the reconfigureable computing array carry out configuration include to the operator in the reconfigureable computing array into
Row configuration, the system comprises: the first storage unit, for storing at least one operator configuration information, at least one calculation
Every kind of operator configuration information in sub- configuration information indicates a kind of configuration that the operator can be realized, and the second storage unit is used
In store at least one first index value set, wherein the first index value correspond 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 include: 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 at least one described 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 include: the 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, described at least one orderly 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 at least one above-mentioned first index value set is distinguished
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 at least one above-mentioned corresponding array of 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 at least one above-mentioned orderly third index value collection
It closes the frequency of occurrences of the algorithm that can be realized respectively indicated 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, comprising: at least one storage
Device stores executable instruction and at least one processor, at least one described 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 corresponding first index value is obtained by algorithm index value in the technical solution of the embodiment of the present disclosure,
Then corresponding operator configuration information is further obtained to configure to operator, without reality is written in control register
Operator configuration information improve so as to reduce the configuration waiting time to the allocative efficiency of reconfigureable computing array.
Specific embodiment
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
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 in the presence of or add other one or more features, 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 that should be explained with idealization or excessively mechanical mode.
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 general purpose computer,
The processor of special purpose computer or other programmable data processing units, so that these instructions are when executed by this processor can be with
Creation is for realizing function/operation device 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, which can be, can include, store, transmitting, propagating or transmitting the arbitrary medium of 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 provides a kind of configuration method of reconfigureable computing array and can be using this method
System.This method comprises: from control register read algorithm index value, which is indicated for reconfigureable computing array
The information configured obtains at least one first index value corresponding thereto according to the algorithm index value, wherein the first rope
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 corresponding first index value is obtained by algorithm index value in the technical solution of the embodiment of the present disclosure,
Then corresponding operator configuration information is further obtained to configure to operator, without reality is written in control register
Operator configuration information improve so as to reduce the configuration waiting time to the allocative efficiency of reconfigureable computing array.
In addition, at least one operator configuration information can be stored in advance, in this way in the technical solution of the embodiment of the present disclosure
Every time need to configure reconfigureable computing array when, without dynamically load need operator configuration information, so as to
It is enough further reduced configuration duration, improves allocative efficiency.
In addition, pre-stored at least one operator configuration information respectively indicates the different function that operator can be realized, 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 is higher than the first predetermined threshold can further mention in this way, these operator configuration informations are stored in advance
Height is under these application scenarios to the allocative efficiency of reconfigureable computing array.
It is understood that " operator " that refers 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 use it is known in the art various general or dedicated
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 integrate
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 by bus with the chip.
In another embodiment, register 120, reconfigureable computing array control unit 130 and Reconfigurable Computation battle array are controlled
Column 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, reconfigureable computing array 140 can be matched according to the determination of current application scenarios
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 according to the configuration information to reconfigureable computing array 140
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 the configuration information of each operator is written to control register 120 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, needing to carry out reconfigureable computing array repeatedly configuration under many application scenarios 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, carries 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, thus to 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
Every kind of operator configuration information in configuration information indicates a kind of configuration that operator can be realized.Wherein, every kind of 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.
It is stored in advance in the first storage unit 120 in addition, at least one operator configuration information can be, in this way, energy
It is enough to reduce the information content that dynamically load is needed when configuring 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 letter such as operator function, interconnection architecture, data source capability, memory access address
Breath.For example, the 1st kind of operator configuration information includes: to be configured to receive " No. 1 signal source " and " No. 2 signal sources " " with door " by operator
Signal, signal exports to the address " A ".2nd kind of operator configuration information includes: to configure disjunction gate for operator, 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 store 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 store in the first storage unit 210.For example, being commonly used in enciphering and deciphering algorithm scene
Grouping, hash or sequence algorithm operator configuration information, for example, realizing the operator configuration information of basic processing unit, realizing
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 customized as needed by user.For example, the first predetermined threshold can be and 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, operator 11 is configured according to the 1st kind of configuration information in the primary configuration of reconfigureable computing array 300,
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 breath stores a kind of or more alternatively, the first storage unit 210 can also be realized by multiple memories in each memory
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 column can be realized.Wherein, the corresponding second index value of each first index value set.
According to the embodiment of the present disclosure, the corresponding first index value of every kind of operator configuration information, 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 corresponding relationship between record first index value and operator configuration information to match
Confidence breath.
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
The same or similar structure.This division 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 is also possible to a column of array (for example, as schemed
Shown in 3a, the subarray of the composition of operator 11,21,31,41,51).
In another embodiment, it may not be mutex relation between multiple subarrays, i.e., same operator may belong to one
A or multiple subarrays.This division 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 operator non-conterminous in array.For example, as shown in Figure 3a, operator 11,22,33,44 and 55
A subarray can be formed.
Can carry out according to actual needs sub-array to be divided, the embodiment of the present disclosure to this with no restriction.
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 according to different configuration informations, so that subarray realizes different functions.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 function 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 indicate that five operators of that is, a certain subarray are all in accordance with first with set { 1,1,1,1,1 }
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
Closing { 2,1,2,1,1 } indicates, i.e., five operators of a certain subarray are respectively 2,1,2,1,1 with 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 store 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 store in the second storage unit 220.Above-mentioned second predetermined threshold can be with
It is customized 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, the first row subarray can be matched according to the method for such as Fig. 3 b in the primary configuration of reconfigureable computing array 300
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, alternatively, the second storage unit 220 can also be realized by multiple memories, stored 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 information, 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, the corresponding third index value of every kind of second index value set.
According to the embodiment of the present disclosure, the corresponding second index value of every sub-array configuration information is (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 corresponding relationship 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 configuration that each array the is realized set expression of second index value.For example, as shown in Figure 3d
Array, a kind of array configuration can indicate with set { A, A, A, A, A }, 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, can be stored according to mode corresponding with the physical location of subarray in third storage unit 230
Second index value.For example, every 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 (i.e. submatrix of the first row operator formation
Column), 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 do not need to all subarrays into
Row configuration, then the subarray for not needing configuration can correspond to a default value, which can indicate not needing to this
Subarray is configured.For example, the default value can be it is predetermined.
According to the embodiment of the present disclosure, the configuration of common several arrays can store 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 store 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
Quasi- (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 customized as needed by user.For example, third predetermined threshold can be and 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 to 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 breath or third storage unit 230 can also be realized by multiple memories, be stored in each memory one or more
Array configuration information.
4th storage unit 240 indexes value set for storing at least one orderly third, wherein each third rope
Draw value corresponding to a kind of array configuration information, described at least one orderly third indexes each third index value in value set
A kind of algorithm that set expression reconfigureable computing array can be realized.Wherein, each orderly third index value set is corresponding
One the 4th index value.
According to the embodiment of the present disclosure, the corresponding third index value of every kind of array configuration information is (that is, every kind of second index value
Gather a corresponding third index value), which can be the storage address or ground of corresponding array configuration information
Location combination, can find corresponding array configuration information (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 corresponding relationship 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
Column are configured according to the configuration information that third index value is I, are then successively the configuration of II, III, IV according to third index value
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 store in the 4th storage unit 240, for example,
It is predetermined that the frequency of occurrences of the algorithm that orderly third index value set respectively indicates at least one application scenarios is higher than the 4th
The algorithm configuration of threshold value can store 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 customized as needed by user.For example, the 4th predetermined threshold can be and 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 breath or the 4th storage unit 240 can also be realized by multiple memories, be 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 also be not integrated on a chip, 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 ease 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 the structure more than level Four, such as subarray
Configuration can be divided into two-stage and be stored, and level Four can also be less than, for example, the configuration for not storing subarray directly passes through 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 been stored in advance 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 simple and is convenient and fast
Realize the effect for compressing configuration information, thus, it is possible to reduce the memory space of configuration information occupancy.In addition, by being stored in advance
These information can significantly improve the allocative efficiency in corresponding application scenarios to reconfigureable computing array.
Below 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, from control register read algorithm index value, wherein algorithm index value is indicated for restructural
The information that computing array is configured.
According to the embodiment of the present disclosure, when configuring to reconfigureable computing array, first passing through main equipment will calculate accordingly
Method index value write-in control register, then the control unit of reconfigureable computing array reads the algorithm from control register again
Index value.
Algorithm index value indicates 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 establish the algorithm index value and operator configuration
The inquiry table of directly or indirectly corresponding relationship 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 in main equipment according to the actual situation, 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 any
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 any 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 by the corresponding first index value of algorithm index value acquisition.
Situation 1:
When the algorithm index value obtained from control register is second index value, then obtained by the second index value
At least one corresponding 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, according at least one second index value, at least one is obtained from the second storage unit
First index value, wherein at least one first index value set is pre-stored in the second storage unit, 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
At least one corresponding 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, according at least one third index value, at least one is obtained from third storage unit
Second index value, wherein at least one second index value set is pre-stored in third storage unit, 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
At least one corresponding 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, according at least one the 4th index value, at least one is obtained from the 4th storage unit
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, the then 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), to obtain when carrying out one or many configurations to array to realize the algorithm, 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 can be and a kind of algorithm index value is written, be also possible to many algorithms rope with no restrictions
The combination for drawing value can also be the combination of algorithm index value Yu necessary configuration information.For example, can in the 4th storage unit 240
Not store cyclical information, such main equipment necessary cyclical information and algorithm index value can be written in register together.
Cyclical information may include the relevant information such as cycle-index, circulation pattern.
It should be understood that when needing to carry out single configuration to reconfigureable computing array, can without cyclical information or
Person sets 1 for the cycle-index in cyclical information, 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
Every kind of 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 is according to matching
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 at least one above-mentioned first index value set is at least one applied field
The frequency of occurrences in scape is higher than the second predetermined threshold.
Optionally, at least one above-mentioned corresponding array configuration of 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 at least one above-mentioned orderly third index value set respectively indicates 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 stored in advance, 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 does not need specifically match confidence again when main equipment configures the reconfigureable computing array
Write-in controls register to breath item by item, it is only necessary to the function that the reconfigureable computing array will be needed to realize under current application scene
Corresponding index value write-in control register, 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, greatly reduces the workload of main device, in configuration process, can rapidly discharge main equipment and system bus,
Improve allocative efficiency.
It is appreciated that the above-mentioned method described with reference to Fig. 4~Fig. 5 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 that read module 610, first obtains the acquisition module 630 of module 620, second
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, read module 610, from control register read algorithm index value, 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 description is examined, details are not described herein.
First obtains 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, first obtain 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 at least one corresponding 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 at least one corresponding 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 at least one corresponding third index value according to algorithm index value, or
Person obtains at least one third index value according at least one the 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 at least one corresponding the 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 above with reference to Fig. 4 description
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 above with reference to Fig. 4 description, 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 above with reference to Fig. 4 description, no longer superfluous herein
It states.
It is understood that read module 610, first, which obtains module 620, second, obtains 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 modules in these modules 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, first, which obtains module 620, second, obtains 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, dedicated 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 implementations.Alternatively, read module 610, first obtains mould
Block 620, second, which obtains at least one of 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, first obtain module 620, second and obtain 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 integrate in a chip
On, the allocative efficiency to reconfigureable computing array is further increased in this way.In other embodiments, they can also be not integrated into
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, specific integrated circuit (ASIC)), etc..Processor 710 can also include using for caching
The onboard storage device on way.Processor 710 can be for executing the method flow according to the embodiment of the present disclosure for referring to Fig. 4 description
Different movements single treatment units either multiple processing units.
Computer readable storage medium 720, such as can be times can include, store, transmitting, propagating or transmitting 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 retouch the execution of processor 710 for example above in conjunction with Fig. 4
The method flow stated and its any deformation.
Computer program 721 can be configured to have the computer program code for example including computer program module.Example
Such as, in the exemplary embodiment, the code in computer program 721 may include one or more program modules, for example including mould
Block 721A, module 721B ....It should be noted that the division mode and number of module are not fixed, those skilled in the art
It can be combined according to the actual situation using suitable program module or program module, when these program modules are combined by processor
When 710 execution, processor 710 is executed for example above in conjunction with method flow described in Fig. 4 and its any deformation.
It obtains module 630 according to an embodiment of the invention, read module 610, first obtains module 620, second and matches
Setting at least one of module 640 can be implemented as holding with reference to the computer program module of Fig. 7 description 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 recorded 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 where not departing from disclosure spirit or teaching, the feature recorded 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 referring to the certain exemplary embodiments of the disclosure
Personnel it should be understood that in the case where 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.