CN108345563A - The configuration method and system of reconfigureable computing array - Google Patents

The configuration method and system of reconfigureable computing array Download PDF

Info

Publication number
CN108345563A
CN108345563A CN201710559718.8A CN201710559718A CN108345563A CN 108345563 A CN108345563 A CN 108345563A CN 201710559718 A CN201710559718 A CN 201710559718A CN 108345563 A CN108345563 A CN 108345563A
Authority
CN
China
Prior art keywords
index value
operator
configuration
array
algorithm
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201710559718.8A
Other languages
Chinese (zh)
Other versions
CN108345563B (en
Inventor
刘雷波
朱敏
魏少军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuxi Muchuang Integrated Circuit Design Co ltd
Original Assignee
Wuxi Research Institute of Applied Technologies of Tsinghua University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wuxi Research Institute of Applied Technologies of Tsinghua University filed Critical Wuxi Research Institute of Applied Technologies of Tsinghua University
Priority to CN201710559718.8A priority Critical patent/CN108345563B/en
Publication of CN108345563A publication Critical patent/CN108345563A/en
Application granted granted Critical
Publication of CN108345563B publication Critical patent/CN108345563B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7867Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
    • G06F15/7871Reconfiguration support, e.g. configuration loading, configuration switching, or hardware OS
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Stored Programmes (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

The embodiment of the present disclosure provides the configuration method and system of reconfigureable computing array.The reconfigureable computing array includes multiple operators, and it includes being configured to the operator in the reconfigureable computing array to carry out configuration to the reconfigureable computing array, the method includes:Algorithm index value is read from control register, the algorithm index value indicates the information for being configured to the reconfigureable computing array;At least one first index value corresponding with the algorithm index value is obtained, the first index value corresponds to a kind of operator configuration information;According at least one first index value, corresponding operator configuration information is obtained;And the corresponding operator in the multiple operator is configured according to acquired operator configuration information.Using the embodiment of the present disclosure, the allocative efficiency of reconfigureable computing array can be improved.

Description

The configuration method and system of reconfigureable computing array
Technical field
This disclosure relates to a kind of configuration method of reconfigureable computing array and the configuration system of reconfigureable computing array.
Background technology
With the fast development of electronic technology, reconfigureable computing array is because of its superior high efficiency and flexibility, widely Applied to multimedia, communication, artificial intelligence and data-signal processing etc..Due to application environment and need the function of realizing It becomes increasingly complex, the configuration data configured to reconfigureable computing array is more and more.
However, during realizing present inventive concept, inventor find these configuration datas are configured to it is restructural When computing array, long time is needed, the computational efficiency of reconfigureable computing array is not only influenced, can also occupy system for a long time Bus so that bus execution efficiency is low.
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.
Description of the drawings
In order to which the disclosure and its advantage is more fully understood, referring now to being described below in conjunction with attached drawing, wherein:
Fig. 1 diagrammatically illustrates the configuration method and systematic difference of the reconfigureable computing array according to the embodiment of the present disclosure Scene;
Fig. 2 diagrammatically illustrates the block diagram of the configuration system according to the reconfigureable computing array of the embodiment of the present disclosure;
Fig. 3 a~3d diagrammatically illustrate the example according to the reconfigureable computing array of the embodiment of the present disclosure and its configuration Schematic diagram;
Fig. 4 diagrammatically illustrates the flow chart of the configuration method of the reconfigureable computing array according to the embodiment of the present disclosure;
Fig. 5 diagrammatically illustrates the schematic diagram of the example of configuration system according to an embodiment of the present disclosure;
Fig. 6 a and 6b diagrammatically illustrate the block diagram of configuration system according to an embodiment of the present disclosure;And
Fig. 7 diagrammatically illustrates the block diagram of the configuration system according to another embodiment of the disclosure.
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.

Claims (22)

1. a kind of configuration method of reconfigureable computing array, which is characterized in that the reconfigureable computing array includes multiple operators, It includes being configured to the operator in the reconfigureable computing array to carry out configuration to the reconfigureable computing array, the method Including:
Algorithm index value is read from control register, the algorithm index value instruction is for carrying out the reconfigureable computing array The information of configuration;
At least one first index value corresponding with the algorithm index value is obtained, the first index value corresponds to a kind of calculation Sub- configuration information;
According at least one first index value, corresponding operator configuration information is obtained;And
The corresponding operator in the multiple operator is configured according to acquired operator configuration information.
2. according to the method described in claim 1, wherein, described according at least one first index value, acquisition is corresponding Operator configuration information, including:
According at least one first index value, corresponding operator configuration information is obtained from the first storage unit, wherein extremely A kind of few operator configuration information is pre-stored in first storage unit, at least one operator configuration information Each operator configuration information indicates a kind of configuration that the operator can be realized.
It is described to obtain corresponding with the algorithm index value at least one the 3. according to the method described in claim 1, wherein One index value, including:
At least one second index value corresponding with the algorithm index value is obtained, each second index value corresponds to phase The first index value set answered, the second index value is associated with subarray, and the subarray is made of multiple operators;
According at least one second index value, at least one first index value is obtained.
4. it is described according at least one second index value according to the method described in claim 3, wherein, obtain at least one A first index value, including:
According at least one second index value, at least one first index value is obtained from the second storage unit, In, at least one first index value set is pre-stored in second storage unit, at least one first index A kind of configuration that subarray can be realized described in each first index value set expression in value set.
It is described to obtain corresponding with the algorithm index value at least one the 5. according to the method described in claim 3, wherein Two index values, including:
At least one third index value corresponding with the algorithm index value is obtained, each third index value corresponds to phase The second index value set answered, the third index value is associated with array, the array by multiple group of subarrays at;
According at least one third index value, at least one second index value is obtained.
6. described according at least one third index value according to the method described in claim 5, wherein, obtain described in extremely A few second index value, including:
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.
7. it is described according to the algorithm index value according to the method described in claim 5, wherein, it obtains and the operator to be configured Corresponding at least one third index value, including:
At least one 4th index value corresponding with the algorithm index value is obtained, each 4th index value corresponds to phase The orderly third index value set answered, the 4th index value is associated with special algorithm, and the special algorithm is by the battle array The various configurations of row form;
According at least one 4th index value, at least one third index value is obtained.
8. described according at least one 4th index value according to the method described in claim 7, wherein, obtain described in extremely A third index value includes less:
According at least one 4th index value, at least one third index value is obtained from the 4th storage unit, In, at least one orderly third index value set is pre-stored in the 4th storage unit, it is described orderly at least A kind of algorithm that each third index value set expression in one third index value set can be realized.
9. according to the method described in claim 8, wherein:
The configuration that the corresponding operator of at least one operator configuration information can be realized is at least one application scenarios The frequency of occurrences be higher than the first predetermined threshold;And/or
The configuration that the corresponding subarray of at least one first index value set can be realized is answered in at least one It is higher than the second predetermined threshold with the frequency of occurrences in scene;And/or
The configuration that the corresponding array of at least one second index value set can be realized is at least one application The frequency of occurrences in scene is higher than third predetermined threshold;And/or
The algorithm that can be realized that at least one orderly third index value set indicates respectively is answered in at least one It is higher than the 4th predetermined threshold with the frequency of occurrences in scene.
10. a kind of configuration system of reconfigureable computing array, which is characterized in that the reconfigureable computing array includes multiple calculations Son, it includes being configured to the operator in the reconfigureable computing array to carry out configuration to the reconfigureable computing array, described System includes:
Read module reads algorithm index value from control register, algorithm index value instruction by it is described it is restructural based on Calculate the information that array is configured;
First acquisition module obtains at least one first index value corresponding with the algorithm index value, first index Value corresponds to a kind of operator configuration information;
Second acquisition module obtains corresponding operator configuration information according at least one first index value;And
Configuration module configures the corresponding operator in the multiple operator according to acquired operator configuration information.
11. system according to claim 10, wherein second acquisition module is specifically used for:
According at least one first index value, corresponding operator configuration information is obtained from the first storage unit, wherein extremely A kind of few operator configuration information is pre-stored in first storage unit, at least one operator configuration information Each operator configuration information indicates a kind of configuration that the operator can be realized.
12. system according to claim 10, wherein first acquisition module includes:
Second index value acquiring unit obtains at least one second index value corresponding with the algorithm index value, Mei Gesuo It states second index value and corresponds to corresponding first index value set, the second index value is associated with subarray, the submatrix Row are made of multiple operators;
First index value acquiring unit obtains at least one first index value according at least one second index value.
13. system according to claim 12, wherein the first index value acquiring unit is used for:
According at least one second index value, at least one first index value is obtained from the second storage unit, In, at least one first index value set is pre-stored in the second storage unit, at least one first index value collection A kind of configuration that subarray can be realized described in each first index value set expression in conjunction.
14. system according to claim 12, wherein first acquisition module further includes that third index value obtains list Member, wherein:
The third index value acquiring unit obtains at least one third index value corresponding with the algorithm index value, often A third index value corresponds to corresponding second index value set, and the third index value is associated with array, the battle array Row by multiple group of subarrays at;
The second index value acquiring unit obtains at least one second rope according at least one third index value Draw value.
15. system according to claim 14, wherein the second index value acquiring unit is used for:
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.
16. system according to claim 14, wherein first acquisition module further includes that the 4th index value obtains list Member, wherein:
The 4th index value acquiring unit obtains at least one 4th index value corresponding with the algorithm index value, often A 4th index value corresponds to corresponding orderly third and indexes value set, and the 4th index value is related to special algorithm Connection, the special algorithm are made of the various configurations of the array;
The third index value acquiring unit obtains at least one third rope according at least one 4th index value Draw value.
17. system according to claim 16, wherein the third index value acquiring unit is used for:
According at least one 4th index value, at least one third index value is obtained from the 4th storage unit, In, at least one orderly third index value set is pre-stored in the 4th storage unit, it is described orderly at least A kind of algorithm that each third index value set expression in one third index value set can be realized.
18. a kind of configuration system of reconfigureable computing array, which is characterized in that the reconfigureable computing array includes multiple calculations Son, it includes being configured to the operator in the reconfigureable computing array to carry out configuration to the reconfigureable computing array, described System includes:
First storage unit, it is every at least one operator configuration information for storing at least one operator configuration information Kind operator configuration information indicates a kind of configuration that the operator can be realized;
Second storage unit, for storing at least one first index value set, wherein the first index value corresponds to one kind Operator configuration information, each first index value set expression subarray at least one first index value set can be real A kind of existing configuration, the subarray are made of multiple operators.
19. system according to claim 18, further includes:
Third storage unit, for storing at least one second index value set, wherein the second index value corresponds to one First index value set, each second index value set expression array at least one second index value set can be real A kind of existing configuration, the array by multiple group of subarrays at.
20. system according to claim 19, further includes:
4th storage unit indexes value set, wherein the third index value is corresponded to for storing at least one orderly third Each third index value collection table in a second index value set, orderly at least one third index value set Show a kind of algorithm that can be realized.
21. system according to claim 20, wherein:
The configuration that the corresponding operator of at least one operator configuration information can be realized is at least one application scenarios The frequency of occurrences be higher than the first predetermined threshold;And/or
The configuration that the corresponding subarray of at least one first index value set can be realized is answered in at least one It is higher than the second predetermined threshold with the frequency of occurrences in scene;And/or
The configuration that the corresponding array of at least one second index value set can be realized is at least one application The frequency of occurrences in scene is higher than third predetermined threshold;And/or
The algorithm that can be realized that at least one orderly third index value set indicates respectively is answered in at least one It is higher than the 4th predetermined threshold with the frequency of occurrences in scene.
22. a kind of non-volatile memory medium, is stored with computer executable instructions, the computer executable instructions are being held For realizing method as claimed in any one of claims 1-9 wherein when row.
CN201710559718.8A 2017-07-10 2017-07-10 The configuration method and system of reconfigureable computing array Active CN108345563B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710559718.8A CN108345563B (en) 2017-07-10 2017-07-10 The configuration method and system of reconfigureable computing array

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710559718.8A CN108345563B (en) 2017-07-10 2017-07-10 The configuration method and system of reconfigureable computing array

Publications (2)

Publication Number Publication Date
CN108345563A true CN108345563A (en) 2018-07-31
CN108345563B CN108345563B (en) 2019-04-16

Family

ID=62962131

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710559718.8A Active CN108345563B (en) 2017-07-10 2017-07-10 The configuration method and system of reconfigureable computing array

Country Status (1)

Country Link
CN (1) CN108345563B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109271338A (en) * 2018-08-14 2019-01-25 西安电子科技大学 A kind of restructural on-chip optical interconnection structure and communication means towards storage system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102968390A (en) * 2012-12-13 2013-03-13 东南大学 Configuration information cache management method and system based on decoding analysis in advance
CN104484615A (en) * 2014-12-31 2015-04-01 清华大学无锡应用技术研究院 Space-randomization-based fault attacking resisting method applicable to reconfigurable array framework
CN104915213A (en) * 2015-06-19 2015-09-16 东南大学 Partial reconfiguration controller of reconfigurable system
EP2634710B1 (en) * 2010-10-27 2016-05-04 ZTE Corporation Terminal device and method for realizing analog circuit in terminal device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2634710B1 (en) * 2010-10-27 2016-05-04 ZTE Corporation Terminal device and method for realizing analog circuit in terminal device
CN102968390A (en) * 2012-12-13 2013-03-13 东南大学 Configuration information cache management method and system based on decoding analysis in advance
CN104484615A (en) * 2014-12-31 2015-04-01 清华大学无锡应用技术研究院 Space-randomization-based fault attacking resisting method applicable to reconfigurable array framework
CN104915213A (en) * 2015-06-19 2015-09-16 东南大学 Partial reconfiguration controller of reconfigurable system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109271338A (en) * 2018-08-14 2019-01-25 西安电子科技大学 A kind of restructural on-chip optical interconnection structure and communication means towards storage system
CN109271338B (en) * 2018-08-14 2021-07-20 西安电子科技大学 Reconfigurable on-chip optical interconnection structure and communication method for storage system

Also Published As

Publication number Publication date
CN108345563B (en) 2019-04-16

Similar Documents

Publication Publication Date Title
CN109657782B (en) Operation method, device and related product
US20220121954A1 (en) Distributed convolution for neural networks
CN110096310B (en) Operation method, operation device, computer equipment and storage medium
KR102168930B1 (en) Methods and apparatuses for providing data received by a state machine engine
JP7074832B2 (en) Network-on-chip data processing methods and equipment
CN109726822B (en) Operation method, device and related product
JP2015531111A (en) Method and system for handling data received by a state machine engine
CN110780921A (en) Data processing method and device, storage medium and electronic device
CN114580606A (en) Data processing method, data processing device, computer equipment and storage medium
US11775808B2 (en) Neural network computation device and method
CN109740729B (en) Operation method, device and related product
KR20200138411A (en) Network-on-chip data processing method and device
CN108345563B (en) The configuration method and system of reconfigureable computing array
CN111381882B (en) Data processing device and related product
KR20200138414A (en) Network-on-chip data processing method and device
CN111061507A (en) Operation method, operation device, computer equipment and storage medium
CN111260046B (en) Operation method, device and related product
CN111178373A (en) Operation method, device and related product
CN112395008A (en) Operation method, operation device, computer equipment and storage medium
CN112395003A (en) Operation method, device and related product
KR20200139256A (en) Network-on-chip data processing method and device
CN112395009A (en) Operation method, operation device, computer equipment and storage medium
CN109543835A (en) Operation method, device and Related product
CN111949318A (en) Instruction processing method and device and related product
CN111949317A (en) Instruction processing method and device and related product

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20190827

Address after: 100084 Haidian District Tsinghua Yuan Beijing No. 1

Co-patentee after: WUXI RESEARCH INSTITUTE OF APPLIED TECHNOLOGIES, TSINGHUA UNIVERSITY

Patentee after: Tsinghua University

Address before: Room 811, Building A3, 777 Jianhu West Road, Binhu District, Wuxi City, Jiangsu Province, 214000

Patentee before: WUXI RESEARCH INSTITUTE OF APPLIED TECHNOLOGIES, TSINGHUA UNIVERSITY

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20200330

Address after: Room 302-14, floor 3, building A3, No.777, Jianshe West Road, Binhu District, Wuxi City, Jiangsu Province

Patentee after: Wuxi Muchuang Integrated Circuit Design Co.,Ltd.

Address before: 100084 Haidian District Tsinghua Yuan Beijing No. 1

Co-patentee before: Wuxi Research Institute of Applied Technologies Tsinghua University

Patentee before: TSINGHUA University