In-memory computing device and method and electronic equipment
By designing the memory blocks of in-memory computing devices, using the memory module and activation module to directly complete the data calculation and activation operations in neural network tasks, the delay and power consumption problems caused by data transmission in traditional computing architecture are solved, and efficient neural network computing is achieved.
Patent Information
- Application Number
- CN202510307522.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-03-17
- Publication Date
- 2025-04-11
- Estimated Expiration
- 2045-03-17
AI Technical Summary
When performing neural network tasks, data in traditional computing architectures requires frequent transmission of processors and memory, resulting in increased latency and power consumption.
A in-memory computing device is designed, including a calculating block, which is composed of a calculating module and an activation module. The memory module includes a first computing unit and a plurality of memory units. The activation module includes a plurality of activation units. The activation function is used to activate the operation result and directly completes the activation function function of the result without external transmission.
It effectively reduces the delay and power consumption when processing neural network tasks, so that in-memory computing can directly complete the activation function function, avoiding the delay and consumption caused by data transmission.
Smart Images

Figure CN119808846A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of in-memory computing, and in particular to an in-memory computing device, method and electronic device. Background Art
[0002] In traditional computing architecture, a computer contains a processor and a memory. The processor is used to perform data calculations, and the memory is used to store data. When the computer performs data processing, it needs to obtain data from the memory, transmit it to the processor for data calculation, and store the calculated data back into the memory. Therefore, data needs to be frequently transmitted between the processor and the memory, which increases the time for data processing and the computing power consumption of the computer. Summary of the invention
[0003] In view of this, the present application provides an in-memory computing device, method and electronic device, the main purpose of which is to reduce the delay and power consumption when executing neural network tasks.
[0004] To achieve the above-mentioned object, the present application discloses, in a first aspect, an in-memory computing device, comprising at least one memory computing block, wherein the memory computing block comprises a connected memory computing module and an activation module; The storage and calculation module includes a first calculation unit and a plurality of storage and calculation units, and the storage and calculation units in the same storage and calculation module are all connected to the first calculation unit; The activation module includes multiple activation units, each of which includes an activation function. The first operation unit is connected to the activation unit, and the activation function is used to perform an activation operation on the operation result output by the first operation unit to obtain a result value of the in-memory computing device.
[0005] In some implementations, each of the storage and computing modules is connected to a corresponding activation unit, and the first computing unit is connected to the activation unit one-to-one.
[0006] In some embodiments, in different storage and computing modules, adjacent storage and computing units are connected.
[0007] In some embodiments, the result value includes a first result value and a second result value; The activation function is used to identify the identification value in the identification bit of the operation result. When the identification value satisfies a first condition, the activation function is used to perform a first activation operation on the operation result to obtain the first result value; when the identification value satisfies a second condition, the activation function is used to perform a second activation operation on the operation result to obtain the second result value.
[0008] In some implementations, the flag bit includes the most significant bit of the operation result.
[0009] In some implementations, the first condition includes that the identification value is 1, and the first activation operation is to set the operation result to 0; The second condition includes that the identification value is 0, and the second activation operation is to set the operation result to the result value of the activation operation.
[0010] In some embodiments, the storage and computing unit stores stored data, and the storage and computing unit is used to determine the product result of the stored data and the input data after obtaining the input data. The first computing unit is used to accumulate the product results output by multiple storage and computing units to obtain the computing result.
[0011] In some implementations, the device further includes: an input driver module, a word line driver module, a bit line driver module, and a row decoder; The input driving module is connected to the storage and calculation unit, and the input driving module is used to input the input data to the storage and calculation unit; The word line driving module is connected to the storage and calculation unit, and the word line driving module is used to enable at least one of the storage and calculation units when receiving a control signal; The bit line driving module is connected to the storage and calculation unit, and the bit line driving module is used to write the stored data into the storage and calculation unit; The row decoder is connected to the word line driver and is used to convert the address signal of the storage and calculation unit into the control signal.
[0012] A second aspect of the present application discloses an in-memory computing method, comprising: According to the received control signal, calling the target storage and computing block, the target storage and computing block is the storage and computing module corresponding to the instruction sequence of the control signal; inputting input data into a target storage unit in the target storage module according to the control signal; The result values obtained by the target storage calculation module and the target activation module are obtained respectively, and the target activation module is used to perform activation operation on the calculation result output by the target storage calculation module.
[0013] In a third aspect of the present application, an electronic device is provided, including: At least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute any one of the methods disclosed in the second aspect.
[0014] In a fourth aspect of the present application, an embodiment provides a computer-readable storage medium on which a computer program is stored. When the computer program is executed by a processor, any method disclosed in the second aspect is implemented.
[0015] In summary, according to the technical solution disclosed in the present application, the in-memory computing device disclosed in the present application is composed of a storage computing module and an activation module. When performing a neural network task, the in-memory module performs data calculation and obtains a calculation result. The in-memory module is directly connected to the activation module, and the activation module directly performs an activation operation on the calculation result, so that the result of the in-memory calculation can directly complete the activation function function, and there is no need for data transmission after the in-memory calculation, which can effectively reduce the delay and power consumption when processing neural network tasks.
[0016] The above description is only an overview of the technical solution of the present application. In order to more clearly understand the technical means of the present application, it can be implemented in accordance with the contents of the specification. In order to make the above and other purposes, features and advantages of the present application more obvious and easy to understand, the specific implementation methods of the present application are listed below. BRIEF DESCRIPTION OF THE DRAWINGS
[0017] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present application and, together with the description, serve to explain the principles of the present application.
[0018] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, for ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative labor.
[0019] Figure 1 The structure of an in-memory computing device provided by an embodiment of the present application is shown. Figure 1 ; Figure 2 The structure of an in-memory computing device provided by an embodiment of the present application is shown. Figure 2 ; Figure 3 A flow chart of an in-memory computing method provided in an embodiment of the present application is shown. DETAILED DESCRIPTION
[0020] In order to better understand the technical solutions provided by the embodiments of this specification, the technical solutions of the embodiments of this specification are described in detail below through the accompanying drawings and specific embodiments. It should be understood that the embodiments of this specification and the specific features in the embodiments are detailed descriptions of the technical solutions of the embodiments of this specification, rather than limitations on the technical solutions of this specification. In the absence of conflict, the embodiments of this specification and the technical features in the embodiments can be combined with each other.
[0021] In this article, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply that there is any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that the process, method, article or equipment including a series of elements includes not only those elements, but also includes other elements not explicitly listed, or also includes elements inherent to such process, method, article or equipment. In the absence of more restrictions, the elements limited by the statement "comprise one..." do not exclude the existence of other identical elements in the process, method, article or equipment including the elements. The term "more than two" includes two or more than two situations.
[0022] In the traditional computing architecture, a computer includes a processor and a memory. The processor is used to perform data calculations, and the memory is used to store data. When the computer performs data processing, it needs to obtain data from the memory, transmit it to the processor for data calculation, and store the calculated data back into the memory. For example, in the process of neural network calculation, when the forward propagation calculation is performed in the processor, the input value is calculated in the neurons of the input layer, the calculation result is obtained, and the calculation result is stored in the memory. When the activation function is used to convert the calculation result, the processor extracts the calculation result from the memory, and further uses the activation function to convert the calculation result to obtain the final result value. Since the numerical values in the general neural network calculation process are relatively large, the frequent transmission between the processor and the memory increases the time of data processing and increases the computing power consumption of the computer.
[0023] Figure 1 The structure of an in-memory computing device provided by an embodiment of the present application is shown. Figure 1 .like Figure 1 As shown, the present application provides an in-memory computing device, including at least one storage computing block 11, the storage computing block includes a connected storage computing module 12 and an activation module 13; the storage computing module 12 includes a first computing unit 121 and multiple storage computing units 122, and the storage computing units in the same storage computing module are all connected to the first computing unit; the activation module 13 includes multiple activation units 131, the activation unit 131 includes an activation function, the first computing unit 121 is connected to the activation unit 131, and the activation function is used to perform an activation operation on the operation result output by the first computing unit 121 to obtain a result value of the in-memory computing device.
[0024] This embodiment designs an in-memory computing device, which is a new type of computing architecture that aims to integrate data processing and storage functions in the same physical location, that is, the storage and computing block can perform data computing and data storage. The storage and computing block of the in-memory computing device mainly includes a connected storage and computing module and an activation module, which are used to perform neural network tasks.
[0025] The storage and calculation module performs in-memory calculations on input values when performing neural network tasks. The in-memory module includes a first calculation unit and multiple storage and calculation units. The multiple storage and calculation units perform calculations as each neuron in the neural network task. The first calculation unit is used to simultaneously connect multiple storage and calculation units, and is used to perform comprehensive calculations on the results calculated by each storage and calculation unit. The result obtained by the calculation is used as the calculation result of the storage and calculation unit. The storage and calculation device proposed in this embodiment can directly input the calculation result into the activation unit for activation calculation after the storage and calculation unit calculates and obtains the calculation result, without inputting the calculation result into the memory, and can further perform the activation operation after performing the storage and retrieval operations. The in-memory calculation device of this embodiment can perform neural network tasks without the participation of the memory, and can effectively reduce the delay and power consumption when processing neural network tasks.
[0026] In some embodiments, the storage and computing unit stores stored data, and the storage and computing unit is used to determine the product result of the stored data and the input data after obtaining the input data. The first computing unit is used to accumulate the product results output by multiple storage and computing units to obtain the computing result.
[0027] Each storage unit can be used as a storage unit, which has stored data stored inside and can further perform calculation functions. After the storage unit obtains the input value, the storage unit can perform a calculation process in combination with the input value and the stored data stored in itself. For example, the storage unit can perform a product calculation of the input value and the stored data, and the obtained product calculation result is used as the calculation result of the storage unit itself.
[0028] The first operation unit is connected to a plurality of storage and calculation units. After each storage and calculation unit obtains a calculation result, the first operation unit obtains the calculation results of each operation unit connected thereto and performs a comprehensive calculation. Exemplarily, the first operation unit may be an addition tree, which accumulates the obtained calculation results, and the obtained accumulated value is used as the calculation result of the addition tree.
[0029] In some embodiments, the result value includes a first result value and a second result value; The activation function is used to identify the identification value in the identification bit of the operation result. If the identification value meets the first condition, the activation function is used to perform a first activation operation on the operation result to obtain a first result value; if the identification value meets the second condition, the activation function is used to perform a second activation operation on the operation result to obtain a second result value.
[0030] After the storage module outputs the operation result, the activation unit is used to perform an activation operation on the operation result using the activation function. The activation unit in this embodiment can perform at least two activation operations on the operation result. The first activation operation can directly output the operation result output by the storage module, and the second operation result can set the operation result output by the storage module to 0. Exemplarily, the activation function contained in the activation unit can be a rectified linear unit (ReLU) function, and the activation operation performed can effectively solve the gradient vanishing problem, accelerate model training, and improve model sparsity and accuracy.
[0031] The activation unit has certain judgment conditions when determining whether to execute the first activation operation or the second operation result. When the first condition is met, the first activation operation is executed, and when the second condition is met, the second operation result is executed, so that the activation unit can select the appropriate type of activation operation according to the operation result of the storage module. In this embodiment, the activation unit realizes the selection of the activation operation by identifying the value of the operation result identification bit, so as to reasonably select the type of activation operation. In some embodiments, the identification bit includes the highest bit of the operation result.
[0032] In the process of judging the value in the identification bit, in some embodiments, the first condition includes the identification value being 1, and the first activation operation is to set the operation result to 0; the second condition includes the identification value being 0, and the second activation operation is to set the operation result as the result value of the activation operation.
[0033] The activation unit can complete multiple types of activation operations by judging the value of the identification bit.
[0034] In some embodiments, each storage and calculation module is connected to a corresponding activation unit, and the first calculation unit is connected one-to-one with the activation unit.
[0035] like Figure 1 As shown, there is a one-to-one correspondence between the storage and computing module 12 and the activation unit 131. The calculation result obtained by each storage and computing unit 122 can be directly input into the corresponding activation unit 131 for activation operation, thereby ensuring the orderly execution of the in-memory calculation in the storage and computing block 11.
[0036] Figure 2 The structure of an in-memory computing device provided by an embodiment of the present application is shown. Figure 2 For example, Figure 2 As shown, in the same storage computing block, multiple storage computing units 122 are included. When performing neural network tasks, the storage computing units correspond to the multi-level neurons in the neural network structure. Therefore, in each storage computing block, each storage computing unit is set with a level value. The input value can perform multi-level operations through the storage computing unit. Each storage computing unit is sorted according to the level value, which can ensure that after the input value is input into the storage computing block, the input value can be quickly calculated through the storage computing unit in sequence.
[0037] In some embodiments, each storage and calculation block includes storage and calculation units with multiple levels of values, and the storage and calculation units are arranged according to the level value. The level value of the storage and calculation unit can be used to indicate the priority of the storage and calculation unit when executing the calculation. The calculation result of the high-level value storage and calculation unit can be used as the weighted value of the data stored in the low-level value storage and calculation unit. For example, Figure 2 As shown, the multiple storage and computing units 122 included in the storage and computing module 12 are respectively set to different levels: level 1, level 2, level 3 and level 4. The calculation priority of the storage and computing unit 122 at level 1 is the highest, and the calculation priority of the storage and computing unit 122 at level 4 is the lowest. The storage and computing units 122 can be controlled to start calculation in sequence according to the priorities of the storage and computing units 122 at level 1, level 2, level 3 and level 4.
[0038] In some embodiments, adjacent storage and computing units in different storage and computing modules are connected.
[0039] In adjacent storage and computing modules, storage and computing units of the same level value are connected.
[0040] When there are many input values, in order to realize parallel operation of input values, such as Figure 2 As shown, the in-memory computing device of this embodiment includes multiple memory computing blocks, and the memory computing units of the same level value in each memory computing block are connected. In order to improve efficiency, the input values can be input into different memory computing units of the same level for separate calculations, which can effectively reduce the execution time when performing neural network tasks.
[0041] In some embodiments, an in-memory computing device, such as Figure 2As shown, it also includes: an input driver module 21, a word line driver module 22, a bit line driver module 23 and a row decoder 24; the input driver module 21 is connected to the storage and calculation unit 122, and the input driver module is used to input input data to the storage and calculation unit; the word line driver module 22 is connected to the storage and calculation unit 122, and the word line driver module is used to enable at least one storage and calculation unit when receiving a control signal; the bit line driver module 23 is connected to the storage and calculation unit 122, and the bit line driver module is used to write stored data to the storage and calculation unit; the row decoder 24 is connected to the word line driver module 22, and is used to convert the address signal of the storage and calculation unit into a control signal.
[0042] This embodiment further describes other related components of the in-memory computing device. The in-memory computing device is further provided with an input driver module, a word line driver module, a bit line driver module and a row decoder, which are used to support the memory computing module and the activation module to perform in-memory computing. Among them, the input driver module 21, the word line driver module 22, the bit line driver module 23 and the row decoder 24 receive timing control 25 from the clock.
[0043] The present application embodiment discloses an in-memory computing method, which is applied to an in-memory computing device, such as Figure 3 The flowchart of an in-memory computing method shown in FIG. 1 includes: Step 301, calling a target storage and computing block according to a received control signal, where the target storage and computing block is a storage and computing module corresponding to the instruction sequence of the control signal; Step 302, inputting input data to the storage unit in the target storage module according to the control signal; Step 303, obtaining result values obtained by the target storage calculation module and the target activation module respectively, and the target activation module is used to activate the calculation result output by the target storage calculation module.
[0044] During the application of the in-memory calculation method, the storage unit in the storage calculation module stores stored data, and the target storage calculation block is called according to the control signal, so that the storage calculation module and the activation module in the target storage calculation block are in an activated state. Input data is input into the storage calculation unit in the target storage calculation module, and the storage calculation unit performs calculations based on the input data and the stored data, and the result values calculated by multiple storage calculation units are comprehensively calculated by the first calculation unit, and the result of the comprehensive calculation is used as the calculation result of the target storage calculation module. After the target activation module obtains the calculation result from the target storage calculation module, it directly performs the activation operation. The target activation module can directly complete the activation function without the need for repeated data transmission by external devices, which can effectively reduce the delay and power consumption of the in-memory computing device when processing neural network tasks.
[0045] Based on the above Figure 3 The method shown, and Figure 1 , Figure 2The in-memory computing device shown, an embodiment of the present application also provides an electronic device, which includes the in-memory computing device described in the above embodiment.
[0046] Based on the above Figure 3 The method shown, the embodiment of the present application also provides a computer-readable storage medium, on which a computer program is stored, and when the computer program is executed by a processor, it implements the in-memory computing method corresponding to any embodiment.
[0047] It should be noted that in the above embodiments, the description of each embodiment has its own emphasis, and for parts that are not described in detail in a certain embodiment, reference can be made to the relevant descriptions of other embodiments.
[0048] Those skilled in the art will appreciate that the embodiments of the present application may be provided as methods, systems, or computer program products. Therefore, the present application may take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware. Moreover, the present application may take the form of a computer program product implemented on one or more computer-readable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-readable program code.
[0049] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or block in the flowchart and / or block diagram, as well as the combination of the processes and / or blocks in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded computer, or other programmable data processing device to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.
[0050] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.
[0051] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing the process. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.
[0052] An embodiment of the present application also provides a computer program product, which includes computer software instructions. When the computer software instructions are executed on a processing device, the processing device executes the process of the in-memory computing method.
[0053] The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on the computer, the process or function according to the embodiment of the present application is generated in whole or in part. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions may be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions may be transmitted from one website site, computer, server or data center to another website site, computer, server or data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium may be any available medium that a computer can store or a data storage device such as a server or data center that includes one or more available media integrated. The available medium may be a magnetic medium (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid state disk (SSD)), etc.
[0054] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.
[0055] In the several embodiments provided in the present application, it should be understood that the disclosed devices, apparatuses and methods can be implemented in other ways. For example, the device embodiments described above are only schematic, for example, the division of units is only a logical function division, and there may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be an indirect coupling or communication connection through some interfaces, devices or units, which can be electrical, mechanical or other forms.
[0056] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0057] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.
[0058] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application is essentially or the part that contributes to the prior art or all or part of the technical solution can be embodied in the form of a software product. The computer software product is stored in a storage medium, including a number of instructions to enable a computer device (which can be a personal computer, server, or network device, etc.) to execute all or part of the steps of the various embodiments of the present application. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM), random access memory (RAM), disk or optical disk and other media that can store program codes.
[0059] The above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit them. Although the present application has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. However, these modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the embodiments of the present application.
[0060] Although the preferred embodiments of this specification have been described, those skilled in the art may make additional changes and modifications to these embodiments once they have learned the basic creative concept. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments and all changes and modifications that fall within the scope of this specification.
[0061] Obviously, those skilled in the art can make various changes and modifications to this specification without departing from the spirit and scope of this specification. Thus, if these modifications and variations of this specification fall within the scope of the claims of this specification and their equivalents, this specification is also intended to include these modifications and variations.
Claims
1. An in-memory computing device, characterized in that: The method comprises at least one storage and calculation block, wherein the storage and calculation block comprises a storage and calculation module and an activation module connected to each other; The storage and calculation module includes a first calculation unit and a plurality of storage and calculation units, and the storage and calculation units in the same storage and calculation module are all connected to the first calculation unit; The activation module includes multiple activation units, each of which includes an activation function. The first operation unit is connected to the activation unit, and the activation function is used to perform an activation operation on the operation result output by the first operation unit to obtain a result value of the in-memory computing device.
2. The in-memory computing device according to claim 1, characterized in that: Each of the storage and calculation modules is connected to a corresponding activation unit, and the first calculation unit is connected to the activation unit one-to-one.
3. The in-memory computing device according to claim 2, characterized in that: In different storage and computing modules, adjacent storage and computing units are connected.
4. The in-memory computing device according to claim 1, wherein: The result value includes a first result value and a second result value; The activation function is used to identify the identification value in the identification bit of the operation result, and when the identification value satisfies the first condition, the activation function is used to perform a first activation operation on the operation result to obtain the first result value; When the identification value satisfies a second condition, the activation function is used to perform a second activation operation on the operation result to obtain the second result value.
5. The in-memory computing device according to claim 4, characterized in that: The flag bit includes the highest bit of the operation result.
6. The in-memory computing device according to claim 5, characterized in that: The first condition includes that the identification value is 1, and the first activation operation is to set the operation result to 0; The second condition includes that the identification value is 0, and the second activation operation is to set the operation result to the result value of the activation operation.
7. The in-memory computing device according to claim 1, wherein: The storage and calculation unit stores stored data, and the storage and calculation unit is used to determine the product result of the stored data and the input data after obtaining the input data. The first calculation unit is used to accumulate the product results output by multiple storage and calculation units to obtain the calculation result.
8. The in-memory computing device according to claim 7, characterized in that: Also includes: An input driver module, a word line driver module, a bit line driver module and a row decoder; The input driving module is connected to the storage and calculation unit, and the input driving module is used to input the input data to the storage and calculation unit; The word line driving module is connected to the storage and calculation unit, and the word line driving module is used to enable at least one of the storage and calculation units when receiving a control signal; The bit line driving module is connected to the storage and calculation unit, and the bit line driving module is used to write the stored data into the storage and calculation unit; The row decoder is connected to the word line driver and is used to convert the address signal of the storage and calculation unit into the control signal.
9. An in-memory computing method, characterized in that: An in-memory computing device as claimed in any one of claims 1 to 8, comprising: According to the received control signal, calling the target storage and computing block, the target storage and computing block is the storage and computing module corresponding to the instruction sequence of the control signal; inputting input data into a target storage unit in the target storage module according to the control signal; The result values obtained by the target storage calculation module and the target activation module are obtained respectively, and the target activation module is used to perform activation operation on the calculation result output by the target storage calculation module.
10. An electronic device, characterized in that: include: An in-memory computing device as claimed in any one of claims 1 to 8.
Citation Information
Patent Citations
Calculating device
CN114723031A
Computing device and in-memory computing acceleration system
CN117076384A
Storage and calculation integrated circuit capable of configuring logical operation based on SRAM (Static Random Access Memory)
CN118245431A
Storage and calculation hardware accelerator, electronic equipment and data processing method
CN119003139A
Storage and calculation integrated hardware accelerator and instruction set architecture thereof
CN119025166A