Legal claims defining the scope of protection, as filed with the USPTO.
1. A computation device comprising: a control module; and an operation module comprising multiple operation units, wherein the control module is configured to send an instruction to the multiple operation units and control data transmit between the operation units, wherein the operation module includes N*N operation units and an ALU, and wherein the N*N operation units are arranged in an array with N rows and N columns, the operation units in a first column are configured to receive the data to be computed from the storage module, to complete square operations, and to transmit square values to right and right diagonally adjacent operation units, the operation units in a first row are configured to receive the data to be computed from the storage module, to complete square operations, and to transmit square values to the right diagonally adjacent operation units, the operation units in an N th column are configured to receive data from left diagonal and the left operation units and complete accumulation, and the ALU is configured to receive the computational result transmitted by an (N*N) th operation unit and execute an exponential operation.
2. The computation device of claim 1 , wherein each of the operation units is configured to receive the instruction and transmit data to be computed or an intermediate result to the other operation units except itself in one or more directions according to the instruction.
3. The computation device of claim 2 , wherein the direction included a direction of transmitting to the left/right adjacent or nonadjacent operation units, a direction of transmitting to the upper/lower adjacent or nonadjacent operation units, and a direction of transmitting to diagonally adjacent or nonadjacent operation units.
4. The computation device of claim 1 , further comprising a storage module, wherein the storage module includes a data storage unit and a temporary cache and is configured to store the data to be computed or the intermediate result in the same region or separately, wherein the control module includes: a storage control unit configured to control the storage module to store or read required data, and a computational control unit configured to control computation manners in the operation units and data transmit between the operation units.
5. The computation device of claim 1 , wherein each operation unit includes multiple input ports, and the multiple input ports include a port configured to receive data transmitted by the storage module and a port configured to receive data transmitted by the other operation units, an output port configured to transmit the data back to the storage module or to a specified operation unit, and at least one multiplier and at least one adder.
6. The computation device of claim 5 , wherein each operation unit further includes at least one memory.
7. The computation device of claim 6 , wherein a data transmit direction between the N*N operation units is an S shape and N is a positive integer.
8. The computation device of claim 7 , wherein each operation unit in the N*N operation units is configured to receive neuron data and multiply the neuron data and corresponding synaptic weight data in the memory of the operation unit to obtain a product result, each of the second to (N*N)th operation units in the N*N operation units is further configured to receive an computational result transmitted by a respectively previous operation unit and add the computational result and a product result of itself respectively, and the ALU is configured to receive a computational result transmitted by the (N*N) th operation unit and execute activation computation.
9. The computation device of claim 1 , wherein the operation module includes N*N operation units and N−1 ALUs, and the N*N operation units are configured to transmit computational data in different directions, wherein N is a positive integer.
10. A computation method comprising: sending, by a control module, an instruction; and receiving, by multiple operation units of an operation module, the instruction, and performing, by the multiple operation units of an operation module, data transmit according to the instruction, wherein the operation units of the operation module in a first column receive data to be computed from the storage module, complete square operations and transmit square values to one or more right and right lower adjacent operation units, the operation units of the operation module in a first row receive the data to be computed from the storage module, complete square operations and transmit square values to the right lower adjacent operation units, and the operation units of the operation module in an N th column receive data from one or more left upper and the left operation units, and complete accumulation, wherein N is a positive integer.
11. The computation method of claim 10 , wherein each of the operation units receives the instruction and transmits data to be computed or an intermediate result to the other operation units except itself in one or more directions according to the instruction.
12. The computation method of claim 11 , wherein the direction includes a direction of transmitting to left/right adjacent or nonadjacent operation units, a direction of transmitting to upper/lower adjacent or nonadjacent operation units, and a direction of transmitting to diagonally adjacent or nonadjacent operation units.
13. The computation method of claim 12 , wherein the operation units, except those in a first row, a first column, and an N th column, of the operation module, after receiving the data from left upper adjacent operation units, transmit the data to right lower adjacent operation units, and accumulate the data and data transmitted by the left adjacent operation units and transmit accumulated data to the right adjacent operation units.
14. The computation method of claim 13 , wherein if all accumulation is completed, the operation units of the operation module in the N th column transmit an accumulated result rightwards to an ALU to complete an exponential operation.
15. The computation method of claim 10 , wherein a storage control unit of the control module controls the storage module to read neuron data to be computed for transmit, reads synaptic weight data and store the synaptic weight data in a memory of each operation unit, and a computational control unit of the control module sends a computational signal to be computed to each operation unit and initializes each operation unit, and wherein the storage control unit of the control module sends an instruction, and the storage module transmits the neuron data to be computed to each operation unit, and the computational control unit of the control module sends an instruction, and each operation unit receives the neuron data and multiplies the neuron data and the corresponding synaptic weight data in the memory of itself to obtain a product result.
16. The computation method of claim 10 , wherein in N*N operation units arranged in an array, the operation unit in the first row and the first column transmits a computational result rightwards to the operation unit in the first row and the second column, the operation unit in the first row and the second column adds the received computational result and a computational product of itself to obtain a partial sum and transmits it rightwards until to the operation unit in the Nth row and the Nth column, an S-shaped transmit path is formed, and the partial sum is accumulated, wherein N is a positive integer, wherein an ALU in the operation module receives an accumulated result, executes activation computation, and writes an activation computational result back into the storage module.
17. The computation method of claim 10 , wherein each operation unit receives the computational result of its previous operation unit, adds the computational result and the computational product of itself to obtain a partial sum, and continues transmitting the partial sum backwards, wherein the multiple operation units transmit and accumulate the partial sum along the S-shaped path, wherein the ALU of the operation module, after accumulation, receives the computational results of the multiple operation units and executes activation computation, and wherein the activation computational result is written into the storage module.
18. The computation method of claim 10 , wherein during computation for a local response normalization (LRN) layer, the multiple operation units accumulate a square of input data, and the ALU executes an exponential operation on an accumulated result.
19. An electronic device, comprising: a computation device that includes: a control module; and an operation module comprising multiple operation units, wherein the control module is configured to send an instruction to the multiple operation units and control data transmit between the operation units, wherein the operation module includes N*N operation units and an ALU, and wherein the N*N operation units are arranged in an array with N rows and N columns, the operation units in a first column are configured to receive the data to be computed from the storage module, to complete square operations, and to transmit square values to right and right diagonally adjacent operation units, the operation units in a first row are configured to receive the data to be computed from the storage module, to complete square operations, and to transmit square values to the right diagonally adjacent operation units, the operation units in an N th column are configured to receive data from left diagonal and the left operation units and complete accumulation, and the ALU is configured to receive the computational result transmitted by an (N*N) th operation unit and execute an exponential operation.
Unknown
April 19, 2022
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.