This application claims the benefit under 35 USC 119(a) of Korean Patent Application No. 10-2022-0016755 filed on Feb. 9, 2022, in the Korean Intellectual Property Office, the entire disclosure of which is incorporated herein by reference for all purposes.
The present disclosure relates to an in-memory computing apparatus and a method for operating the same and, more particularly, to an in-memory computing apparatus and a method for operating the same of an electric charge type.
The in-memory computing (IMC) is referred to as a technique of analyzing a massive amount of information in real time without storing the information in a main memory of a server. The in-memory computing may perform a multiply and accumulation (MAC) operation without reading an input and a weighting value, and there is an advantage that a load may be reduced, and may use a several rows simultaneously in performing an MAC operation, and a result value may be obtained without storing an intermediate value.
The in-memory computing operation method may be divided into a current type and an electric charge type. In the current type, a current flows through a bit line depending on the number of activated word lines, and a level of the current may be detected. However, the current type may be vulnerable to a variation of manufacturing, temperature, and voltage. Furthermore, transfer function from MAC result value to current is non-linear, and energy efficiency is low due to continuously flowing current.
The electric charge type has been proposed to compensate the disadvantage of the current type in-memory computing. The electric charge type uses charge sharing of capacitors and may be robust against variations. Furthermore, since the energy may be consumed only by charge/discharge of a capacitor of a predetermined size and a static current does not flow, the energy efficiency may be high. However, there is a problem in that the electric charge type in-memory computing has difficulty in implementing multiple bits.
The present disclosure provides a charge type in-memory computing apparatus and a method, which can be implemented for multiple-bit operation.
In an aspect, an in-memory computing apparatus according to an embodiment of the present disclosure may include: an input controller provided with an input signal and configured to generate a first input voltage signal, a second input voltage signal, and a third input voltage signal based on the input signal; a weighting value controller configured to generate a first selection signal and a second selection signal based on a weight precision bit number; a memory array provided with the first input voltage signal, the second input voltage signal, and the third input voltage signal from the input controller, and provided with the first selection signal and the second selection signal from the weighting value controller, and configured to generate a first output charge to a seventh output charge based on the first input voltage signal, the second input voltage signal, the third input voltage signal, the first selection signal, and the second selection signal; and an adder provided with the first output charge to the seventh output charge from the memory array and configured to generate a first summation charge to a fourth summation charge based on the weight precision bit number and the first output charge to the seventh output charge.
In another aspect, a method for operating an in-memory computing apparatus according to an embodiment of the present disclosure may include: generating a first input voltage signal, a second input voltage signal, and a third input voltage signal based on an input signal; generating a first selection signal and a second selection signal based on a weight precision bit number; generating a first output charge to a seventh output charge based on the first input voltage signal, the second input voltage signal, the third input voltage signal, the first selection signal, and the second selection signal; and generating a first summation charge to a fourth summation charge based on the first output charge to the seventh output charge and the weight precision bit number.
In still another aspect, a memory array according to an embodiment of the present disclosure may include: first memory cells arranged in a first column and provided with a first input voltage signal, a second input voltage signal, and a third input voltage signal to generate a first output charge; and second memory cells arranged in a second column to a fourth column and provided with the first input voltage signal, the second input voltage signal, the third input voltage signal, a first weighting value selection signal, and a second weighting value selection signal to generate a second output charge to a seventh output charge, wherein the first memory cell includes a first static random access memory (SRAM) for storing a sign of a weighting value and a second SRAM for storing a size of the weighting value, and wherein the second memory cell includes a third SRAM for storing either one of a sign or a size of the weighting value and a fourth SRAM for storing a size of the weighting value.
According to the present disclosure, a size of the capacitor in a memory cell is minimized, and the linearity of the in-memory computing of an electric charge type can be maintained, and accordingly, an implementation of multiple bits can be available.
According to the present disclosure, in the case of performing the same operation, the power consumption can be decreased in comparison with the conventional digital type, and the operation speed can be increased.
The accompanying drawings included in the present application to further understand the present disclosure and constructing a part thereof illustrate the embodiment of the present disclosure together with the detailed description that describes the principle of the present disclosure.
Description will now be given in detail according to exemplary embodiments disclosed herein, with reference to the accompanying drawings. For the sake of brief description with reference to the drawings, the same or equivalent components may be denoted by the same reference numbers, and description thereof will not be repeated. In general, suffixes such as “module” and “unit” may be used to refer to elements or components. Use of such suffixes herein is merely intended to facilitate description of the specification, and the suffixes do not have any special meaning or function. In the present disclosure, that which is well known to one of ordinary skill in the relevant art has generally been omitted for the sake of brevity. The accompanying drawings are used to assist in easy understanding of various technical features and it should be understood that the embodiments presented herein are not limited by the accompanying drawings. As such, the present disclosure should be construed to extend to any alterations, equivalents, and substitutes in addition to those which are particularly set out in the accompanying drawings.
It will be understood that although the terms first, second, etc. may be used herein to describe various elements, these elements should not be limited by these terms. These terms are only used to distinguish one element from another.
It will be understood that when an element is referred to as being “electrically connected with” or “connected with” another element, there may be intervening elements present. In contrast, it will be understood that when an element is referred to as being “directly and electrically connected with” or “connected with” another element, there are no intervening elements present.
A singular representation may include a plural representation unless context clearly indicates otherwise.
In the following description, it should be understood that the term such as “include” or “have” is designed to designate the presence of a property, a figure, a step, an operation, an element, a component, or the combination thereof, and does not preclude a possibility of the presence of one or more other features or addition to the property, the figure, the step, the operation, the element, the component, or the combination thereof.
Referring to
The input controller 10 may be connected to the memory array 30 through an input word line WU. The input controller 10 may be provided with a digital voltage from the exterior. The input controller 10 may perform a processing for the digital voltage and generate a first input voltage signal VIS1, a second input voltage signal VIS2, and a third input voltage signal VIN. Here, the first input voltage signal VIS1 may represent a sign of an input signal, and the second input voltage signal VIS2 may be a signal of which magnitude is the same as that of the first input voltage signal VIS1 and the sign is opposite to that of the first input voltage signal VIS1. The third input voltage signal VIN may represent a magnitude of the input signal. For example, the input controller 10 may include a digital-to-analog converter (DAC) and a buffer.
The input controller 10 may provide the first input voltage signal VIS1, the second input voltage signal VIS2, and the third input voltage signal VIN to the memory array 30. The input controller 10 may provide the first input voltage signal VIS1, the second input voltage signal VIS2, and the third input voltage signal VIN to the memory array 30 through the input word line WLI. In the present disclosure, it is shown that there are 8 input word lines WLI, but this is just an example, and the present disclosure is not limited thereto.
The selection signal controller 20 may generate a first selection signal ISE1 and a second selection signal ISE2. For example, the first selection signal ISE1 and the second selection signal ISE2 may be 2-bit signals and may be either one of [1, 0] or [0, 1]. The selection signal controller 20 may provide a weighting value to the memory array 30. The selection signal controller 20 may provide the first selection signal ISE1 to the memory array 30 through a first selection signal bit line BLSE1 and provide the second selection signal ISE2 to the memory array through a second selection signal bit line BLSE2.
The memory array 30 may include a first bank 31 to an eighth bank 38. In the present disclosure, it is shown that the memory array 30 includes the first bank 31 to the eighth bank 38, but this is just an example, and the memory array 30 may include the more banks. The first bank 31 to the eighth bank 38 may be identically configured. The first bank 31 to the eighth bank 38 may be reciprocally connected with each other through the input word line WU. Each of the first bank 31 to the eighth bank 38 may be provided with the first input voltage signal VIS1, the second input voltage signal VIS2, and the third input voltage signal VIN from the input controller 10. Each of the first bank 31 to the eighth bank 38 may be provided with the first selection signal ISE1 and the second selection signal ISE2 from the selection signal controller through the first selection signal bit line BLSE1 and second selection signal bit line BLSE2. Each of the first bank 31 to the eighth bank 38 may be provided with two first selection signals ISE1 and one second selection signal ISE2.
Each of the first bank 31 to the eighth bank 38 may generate a first output charge Q1 to a seventh output charge Q7 based on the first input voltage signal VIS1, the second input voltage signal VIS2, and the third input voltage signal VIN, and the first selection signal ISE1 and the second selection signal ISE2. Each of the first bank 31 to the eighth bank 38 may provide the first output charge Q1 to the seventh output charge Q7 to the adder 40.
The adder 40 may be provided with the first output charge Q1 to the seventh output charge Q7 from the memory array 30. The adder 40 may be provided with the first output charge Q1 to the seventh output charge Q7 from each of the first bank 31 to the eighth bank 38. The adder 40 may perform addition for the first output charge Q1 to the seventh output charge Q7 and generate a first addition charge MBL [1] to a fourth addition charge MBL [4]. The adder 40 may provide the first addition charge MBL [1] to the fourth addition charge MBL [4] to the output controller 50.
The output controller 50 may be provided with the first addition charge MBL [1] to the fourth addition charge MBL [4] from the adder 40. The output controller 50 may generate an output voltage based on the first addition charge MBL [1] to the fourth addition charge MBL [4]. The output controller 50 may generate an analog voltage based on the first addition charge MBL [1] to the fourth addition charge MBL [4]. The output controller 50 may generate an output voltage by converting the analog voltage to a digital voltage.
Referring to
The first memory cells 110 may be arranged in a first column of the bank 100. 8 first memory cells 110 may be arranged in the first column. The second memory cells 120 may be arranged in a second column to a fourth column. 8 second memory cells 120 are respectively arranged in the second column to the fourth column. Among the first memory cells 110 and the second memory cells 120, the first memory cell 110 and the second memory cell 120 arranged in the same column may be reciprocally connected with each other through the same input word line WLI, and may be provided with the first input voltage signal VIS1, the second input voltage signal VIS2, and the third input voltage signal VIN from the input controller 10.
Each of the first memory cells 110 may generate a first operation charge based on the first input voltage signal VIS1 and the second input voltage signal VIS2. The first output charge may include a first-1 operation charge Q11 to a first-7 operation charge Q17. This will be described in detail with reference to
Referring to
The first memory cell 110 may include a sign determinator 111, a multiplexer 112, and an output generator 113. The first input voltage signal VIS1 and the second input voltage signal VIS2 may be applied to the sign determinator 111. The first input voltage signal VIS1 may represent a sign of the input signal. The first input voltage signal VIS1 may include either one of a first waveform or a second waveform. The first waveform may be a waveform shifted from 0 to 1, and the second waveform may be a waveform shifted from 1 to 0. In the case that the first input voltage signal VIS1 include the first waveform, a sign of the input signal may be a positive sign, and in the case that the first input voltage signal VIS1 include the second waveform, a sign of the input signal may be a negative sign.
The second input voltage signal VIS2 may be a signal having an opposite waveform to the first input voltage signal VIS1 In the case that the first input voltage signal VIS1 includes the first waveform, the second input voltage signal VIS2 may include the second waveform, and in the case that the first input voltage signal VIS1 includes the second waveform, the second input voltage signal VIS2 may include the first waveform. The sign determinator 111 may use either one of the first input voltage signal VIS1 or the second input voltage signal VIS2 and generate a first sign signal VS1.
The sign determinator 111 may include a first-1 SRAM circuit SR11 and a first-1 transistor TR11, and a first-2 transistor TR12. A first weighting value may be applied to the first-1 SRAM circuit SR11. The first weighting value may include a first-1 weighting value MQ11 and a first-2 weighting value MQ12. Here, the first-1 weighting value MQ11 may represent a sign of the weighting value, and the first-2 weighting value MQ12 may be a value opposite to the first-1 weighting value MQ11. Here, the weighting value may be a value prestored in the first memory cell 110. For example, in the case that a sign of the weighting value is a positive sign, the first-1 weighting value MQ11 may be 0, and the first-2 weighting value MQ12 may be 1. In the case that a sign of the weighting value is a negative sign, the first-1 weighting value MQ11 may be 1, and the first-2 weighting value MQ12 may be 0.
In the case that the first-1 weighting value MQ11 is 1, and the first-2 weighting value MQ12 is 0, the first-1 transistor TR11 may be turned on, and first-2 transistor TR12 may be turned off. In this case, the first input voltage signal VIS1 may be applied to the sign determinator 111, and may generate first sign signal VS1 based on the first input voltage signal VIS1 and the first-1 weighting value MQ11. In the case that the first-1 weighting value MQ11 is 0, and the first-2 weighting value MQ12 is 1, the first-1 transistor TR11 may be turned off, and first-2 transistor TR12 may be turned on. The second input voltage signal VIS2 may be applied to the sign determinator 111, and may generate the first sign signal VS1 based on the second input voltage signal VIS2 and the first-2 weighting value MQ12. The sign determinator 111 may provide the first sign signal VS1 to the multiplexer 112.
The multiplexer 112 may be provided with the first sign signal VS1 from the sign determinator 111. The first-1 threshold voltage signal VR11 and the third input voltage signal VIN may be applied to the multiplexer 112. Here, a magnitude of the first-1 threshold voltage signal VR11 may be ½ VDD. The third input voltage signal VIN may be a value of a magnitude between VSS and the first-1 threshold voltage signal VR11. The third input voltage signal VIN may have an analog value and may be between 0 to 15, thereby distinguished by 16 steps. For example, in the case that Vss is 0 and the magnitude of the first-1 threshold voltage signal VR11 is ½ VDD, the third input voltage signal VIN of the first step may be 1/30 VDD. The multiplexer 112 may generate a first sampling signal VM1 based on the first sign signal VS1, the first-1 threshold voltage signal VR11, and the third input voltage signal VIN.
The multiplexer 112 may include a first diode D1, a first-3 transistor TR13, and a first-4 transistor TR14. The first-1 threshold voltage signal VR11 may be applied to the first-3 transistor TR13, and the third input voltage signal VIN may be applied to the first-4 transistor TR14. The first sign signal VS1 may be applied to the first-3 transistor TR13 and the first-4 transistor TR14. Here, the first sign signal VS1 may be rectified by the first diode D1.
The multiplexer 112 may determine a waveform of the first sampling signal VM1 based on the first sign signal VS1. In the case that the first sign signal VS1 includes a first waveform, the multiplexer 112 may determine a waveform of the first sampling signal VM1 to the first waveform, and in the case that the first sign signal VS1 includes a second waveform, the multiplexer 112 may determine a waveform of the first sampling signal VM1 to the second waveform. Here, the first waveform may have a form having a magnitude of an initial value of a magnitude of the first-1 threshold voltage signal VR11 and may be decreasing by a magnitude of the third input voltage signal VIN. The second waveform may have a form increasing from an initial value by a magnitude of the third input voltage signal VIN and converge to a magnitude of the first-1 threshold voltage signal VR11.
For example, as shown in
As shown in
Meanwhile, the values of the first sign signal VS1 and the first sampling signal VM1 generated based on the waveforms of the first input voltage signal VIS1 and the second input voltage signal VIS2, the first-1 weighting value MQ11 is 0, and the first-2 weighting value MQ12 may be as arranged in Table 1 below.
The output generator 113 may be provided with the first sampling signal VM1 from the multiplexer 112. The first-2 threshold voltage signal VR12 may be applied to the output generator 113. A magnitude of the first-2 threshold voltage signal VR12 may be VDD.
The output generator 113 may generate a first operation charge Q1X through either one of the first sampling signal VM1 and the first-2 threshold voltage signal VR12. The first operation charge Q1X may be either one of the first-1 operation charge Q11 to the first-7 operation charge Q17.
The output generator 113 may include a first-2 SRAM portion SR12, a first-5 transistor TR15, a first-6 transistor TR16, and a first capacitor C1. A magnitude of the first capacitor C1 may be X. The first-2 SRAM portion SR12 may include a first-3 weighting value MQ13 and a first-4 weighting value MQ14. Here, the first-3 weighting value MQ13 may represent a size of the weighting value, and the first-4 weighting value MQ14 may be a value opposite to the first-3 weighting value MQ13. Here, the weighting value may be a value prestored in the first memory cell 110. For example, in the case that a size of the weighting value is 1, the first-3 weighting value MQ13 may be 1, and the first-4 weighting value MQ14 may be 0. In the case that a size of the weighting value is 0, the first-3 weighting value MQ13 may be 0, and the first-4 weighting value MQ14 may be 1.
In the case that the first-3 weighting value MQ13 is 1 and the first-4 weighting value MQ14 is 0, the first-5 transistor TR15 may be turned on, and the first-6 transistor TR16 may be turned off. In this case, the first sampling signal VM1 may be applied to the first capacitor C1, and the first operation charge Q1X may be charged based on the first sampling signal VM1.
In the case that the first-3 weighting value MQ13 is 0 and the first-4 weighting value MQ14 is 1, the first-5 transistor TR15 may be turned off, and the first-6 transistor TR16 may be turned on. In this case, the first-2 threshold voltage signal VR12 may be applied to the first capacitor C1, and the first operation charge Q1X may be charged based on the first-2 threshold voltage signal VR12. In such a way, the first memory cell 110 may generate the first operation charge Q1X.
Referring to
Each of the second memory cells 120 may be provided with either one of the first selection signal ISE1 and the second selection signal ISE2 from the selection signal controller 20. Among the second memory cells 120, the second memory cells 120 arranged in the same second column and the fourth column may be provided with the first selection signal ISE1, and the second memory cells 120 arranged in the third column may be provided with the second selection signal ISE2.
The second memory cells 120 may generate an output charge based on one of the first input voltage signal VIS1, the second input voltage signal VIS2, the first selection signal ISE1, and the second selection signal ISE2. The second memory cells 120 arranged in the second column may generate a second operation charge Q2X to a seventh operation charge Q7X based on the first input voltage signal VIS1, the second input voltage signal VIS2, and the first selection signal ISE1. The second operation charge Q2X may include a second-1 operation charge Q21 to a second-8 operation charge Q28, and a third operation charge Q3X may include a third-1 operation charge Q31 to a third-8 operation charge Q38.
The second memory cells 120 arranged in the third column may generate a fourth operation charge Q4X to a fifth operation charge Q5X based on the first input voltage signal VIS1, the second input voltage signal VIS2, and the second selection signal ISE2. The fourth operation charge Q4X may include a fourth-1 operation charge Q41 to a fourth-8 operation charge Q48, and the fifth operation charge Q5X may include a fifth-1 operation charge Q51 to a fifth-8 operation charge Q58.
The second memory cells 120 arranged in the fourth column may generate a sixth operation charge Q6X to a seventh operation charge Q7X based on the first input voltage signal VIS1, the second input voltage signal VIS2, and the first selection signal ISE1. The sixth operation charge Q6X may include a sixth-1 operation charge Q61 to a sixth-8 operation charge Q68, and the seventh operation charge Q7X may include a seventh-1 operation charge Q71 to a seventh-8 operation charge Q78. This will be described in detail as below.
Referring to
The signal selector 121 may include a second-1 transistor TR21 and a second-2 transistor TR22. The signal selector 121 may be provided with a selection signal from the selection signal controller 20. The selection signal may be either one of the first selection signal ISE1 or the second selection signal ISE2. For example, in the case that the second memory cell 120 is arranged in the second column or the fourth column, the selection signal may be the first selection signal ISE1, and in the case that the second memory cell 120 is arranged in the third column, the selection signal may be the second selection signal ISE2.
The selection signal may have a first selection value SE1 and a second selection value SE2. The second selection value SE2 may be opposite to the first selection value SE1. In the case that the first selection value SE1 is 1, the second selection value SE2 may be 0, and in the case that the first selection value SE1 is 0, the second selection value SE2 may be 1.
In the case that the first selection value SE1 is 1 and the second selection value SE2 is 0, the second-1 transistor TR21 may be turned on, and the second-2 transistor TR22 may be turned off. This case may be defined that the second memory cell 120 operates in a first mode. In the case that the first selection value SE1 is 0 and the second selection value SE2 is 1, the second-1 transistor TR21 may be turned off, and the second-2 transistor TR22 may be turned on. This case may be defined that the second memory cell 120 operates in a second mode.
The first output generator 122 may include a second-1 SRAM circuit SR21, a second-3 transistor TR23 to a second-7 transistor TR27, and a second-1 capacitor C21. A magnitude of the second-1 capacitor C21 may be 2×. The first output generator 122 may include a second-1 weighting value MQ21 and a second-2 weighting value MQ22. In the case that the second memory cell 120 operates in the first mode, the second-1 weighting value MQ21 and the second-2 weighting value MQ22 may represent a sign of a weighting value. In the case that the second memory cell 120 operates in the second mode, the second-1 weighting value MQ21 and the second-2 weighting value MQ22 may represent a size of a weighting value.
In the case that the second memory cell 120 operates in the first mode, the second-3 transistor TR23 may not be turned on, and the second-4 transistor TR24 may be turned on. The second-1 threshold voltage signal VR21 may be applied to the second-1 capacitor C21, and the second operation charge Q2X may be charged based on the second-1 threshold voltage signal VR21. In addition, the second-5 transistor TR25 and the second-6 transistor TR26 may be turned on, and the first output generator 122 may operate in the same way as the output determinator 111. Accordingly, the first output generator 122 may generate a second sign signal based on the first input voltage signal VIS1, the second input voltage signal VIS2, the second-1 weighting value MQ21, and the second-2 weighting value MQ22. The first output generator 122 may provide the second sign signal to the multiplexer 123.
In the case that the second memory cell 120 operates in the second mode, the second-3 transistor TR23 may be turned on, and the second-4 transistor TR24 to the second-7 transistor TR27 may be turned off. The first output generator 122 may generate a second sampling signal VM2. The second sampling signal VM2 may be applied to the second-1 capacitor C21, and the second operation charge Q2X may be charged based on the second sampling signal VM2. Furthermore, the first output generator 122 may provide the second sampling signal VM2 to the second output generator 124.
The multiplexer 123 may include a second diode D2, a second-7 transistor TR27, and a second-8 transistor TR28. In the case that the second memory cell 120 operates in the first mode, the multiplexer 123 may operate in the same way as the multiplexer 112 shown in
The second output generator 124 may be identically constructed to the output generator 124 of the first memory cell 110. The second output generator 124 may include a second-2 SRAM circuit SR22, a second-7 transistor TR27, a second-8 transistor TR28, and a second-2 capacitor C22. A magnitude of the second-2 capacitor C22 may be X or a half of that of the second-1 capacitor C21. The second output generator 124 may include a second-3 weighting value MQ23 and a second-4 weighting value MQ24. Here, the second-3 weighting value MQ23 may represent a size of a weighting value, and the second-4 weighting value MQ24 may be opposite to the second-3 weighting value MQ23.
In the case that the second-3 weighting value MQ23 is 1 and the second-4 weighting value MQ24 is 0, a second-9 transistor TR29 may be turned on, and a second-10 transistor TR210 may be turned off. In this case, the second sampling signal VM2 may be applied to the second-2 capacitor C22, and a third operation charge Q3X may be charged.
In the case that the second-3 weighting value MQ23 is 0 and the second-4 weighting value MQ24 is 1, a second-9 transistor TR29 may be turned off, and a second-10 transistor TR210 may be turned on. In this case, a second-3 threshold signal VR23 may be applied to the second-2 capacitor C22, and the third operation charge Q3X may be charged. In such a way, the second memory cell 120 may generate the second operation charge Q2X and the third operation charge Q3X. In the present disclosure, the second memory cell 120 arranged in the second column is mainly described, but the second memory cell 120 arranged in the third column and the fourth column may identically operate. The second memory cell 120 arranged in the third column may generate a fourth operation charge Q4X and a fifth operation charge Q5X, and the second memory cell 120 arranged in the fourth column may generate a sixth operation charge Q6X and a seventh operation charge Q7X.
The connection relationship between the second memory cells 120 and the weighting value bit number of the bank 100 may be changed depending on whether the second-1 weighting value MQ21 and the second-2 weighting value MQ22 of the memory cell 120 arranged in the second column to the fourth column represent a sign of a weighting value. This will be described in detail as below.
Referring to
In the case that the first selection signal ISE1 and the second selection signal ISE2 are [1, 0], respectively, the second-1 weighting value MQ21 and the second-2 weighting value MQ22 of the second memory cell 120 arranged in the second column to the fourth column may represent a sign of a weighting value. In this case, the weight precision bit number of each of the second memory cells 120 arranged in the second column to the fourth column may be 2.
In the case that the first selection signal ISE1 is [0, 1] and the second selection signal ISE2 is [1, 1], the second-1 weighting value MQ21 and the second-2 weighting value MQ22 of the second memory cell 120 arranged in the second column to the fourth column may represent a size of a weighting value. The second-1 weighting value MQ21 and the second-2 weighting value MQ22 of the second memory cell 120 arranged in the third column may represent a sign of a weighting value. In this case, the second memory cell 120 arranged in the second column may be provided with a sign of a weighting value from the first memory cells 110, and the weight precision bit number of the first memory cells 110 and the second memory cell 120 arranged in the second column may be 4. The second memory cell 120 arranged in the fourth column may be provided with a sign of a weighting value from the second memory cell 120 arranged in the third column, and the weight precision bit number of the second memory cell 120 arranged in the third column and the fourth column may be 4.
In the case that the first selection signal ISE1 and the second selection signal ISE2 are [0, 1], respectively, the second-1 weighting value MQ21 and the second-2 weighting value MQ22 of the second memory cell 120 arranged in the second column to the fourth column may represent a size of a weighting value. In this case, the second memory cell 120 arranged in the second column to the fourth column may be provided with a sign of a weighting value from the first memory cells 110, and the weight precision bit number of the first memory cells 110 and the second memory cell 120 arranged in the second column may be 8.
Referring to
The bank 100 may provide the first output charge Q1 to the seventh output charge Q7 to the adder 40. The bank 100 may provide the first output charge Q1 to the seventh output charge Q7 to the adder 40 through the first output line BL01 to the seventh output line BL07.
Referring to
In Equation 1, QA may be a charge on the point A.
In Equation 2, QC may be a charge on the point C.
The first summation charge MAC [1] may be the same as the second summation charge MAC [2] and may be represented by Equation 3 below.
The third summation charge MAC [3] may be the same as the fourth summation charge MAC [4] and may be represented by Equation 4 below.
The ratio of C41:C42 and C43:C45 may be 29:16.8.
Referring to
The charge on the point A, the charge on the point B, and the charge on the point C may be represented by Equation 5 to Equation 7 below.
In Equation 5, QA′ may be a charge on the point A.
In Equation 6, QB′ may be a charge on the point B.
In Equation 7, QC′ may be a charge on the point C.
The third summation charge MAC [1] to the fourth summation charge MAC [4] may be the same and may be represented by Equation 8 below.
In this case, the ratio of C41:C42:C44:C46 may be 28:16.8:4:1. [0118]
Referring to
The in-memory computing apparatus may generate selection signals (step S1220). The in-memory computing apparatus may generate a first selection signal and a second selection signal. Here, the first selection signal and the second selection signal may be 2-bit signals and may be either one of [1, 0] or [0, 1].
The in-memory computing apparatus may generate output charges (step S1230).
The in-memory computing apparatus may determine a weight precision bit number based on the first selection signal and the second selection signal. For example, the weight precision bit number of the bank 100 may be one of 2, 4, and 8. The in-memory computing apparatus may control a circuit (e.g., the second memory cell 120) based on the weight precision bit number. The in-memory computing apparatus may generate output charges based on the first input voltage signal, the second input voltage signal, the first selection signal, and the second selection signal. For example, the output charges may include a first output charge to a seventh output charge.
The in-memory computing apparatus may generate summation charges (step S1240). The in-memory computing apparatus may control a circuit (e.g., the adder 40) based on the weight precision bit number. The in-memory computing apparatus may generate a summation charge by using at least one of the output charges. For example, the in-memory computing apparatus may generate a summation charge by using at least one of the first output charge to the seventh output charge.
The in-memory computing apparatus may generate an output voltage (step S1250). The in-memory computing apparatus may generate an analog voltage based on the summation charges. The in-memory computing apparatus may generate an output voltage by converting the analog voltage to a digital voltage.
Table 3 below represents the amount of operation per time of the in-memory computing apparatus according to an embodiment of the present disclosure, and Table 4 represents the energy efficiency of the in-memory computing apparatus according to an embodiment of the present disclosure.
In Table 3 and Table 4, the throughput per time is represented in a giga (109) unit, and the energy efficiency is represented in the number of operations performed per 1 watt per 1 second.
In the case that an output voltage (Output Bit Prec.) is 2-bit (2-b), and the weighting value bit number is 2-bit (2-b), 876.54*109 operations may be performed per 1 second, and the energy efficiency may be 119.38*1012. In the case that an output voltage (Output Bit Prec.) is 2-bit (2-b), and the weighting value bit number is 8-bit (8-b), 219.14*109 operations may be performed per 1 second, and the energy efficiency may be 32.28*1012.
In the case that an output voltage (Output Bit Prec.) is 3-bit (3-b), and the weighting value bit number is 2-bit (2-b), 701.24*109 operations may be performed per 1 second, and the energy efficiency may be 25.83*1012. In the case that an output voltage (Output Bit Prec.) is 3-bit (3-b), and the weighting value bit number is 8-bit (8-b), 175.31*109 operations may be performed per 1 second, and the energy efficiency may be 25.83*1012.
In the case that an output voltage (Output Bit Prec.) is 4-bit (4-b), and the weighting value bit number is 2-bit (2-b), 584.36.24*109 operations may be performed per 1 second, and the energy efficiency may be 79.58*1012. In the case that an output voltage (Output Bit Prec.) is 4-bit (4-b), and the weighting value bit number is 8-bit (8-b), 146.09*109 operations may be performed per 1 second, and the energy efficiency may be 21.52*1012.
In the case that an output voltage (Output Bit Prec.) is 5-bit (5-b), and the weighting value bit number is 2-bit (2-b), 500.88*109 operations may be performed per 1 second, and the energy efficiency may be 68.22*1012. In the case that an output voltage (Output Bit Prec.) is 5-bit (5-b), and the weighting value bit number is 8-bit (8-b), 125.22*109 operations may be performed per 1 second, and the energy efficiency may be 18.45*1012.
Although most terms used in the present disclosure have been selected from general ones widely used in the art, some terms have been arbitrarily selected by the applicant and their meanings are explained in detail in the following description as needed. Thus, the present disclosure should be understood based upon the intended meanings of the terms rather than their simple names or meanings.
It is apparent to those skilled in the art that the present disclosure may be embodied in other specific forms without departing from essential characteristics of the present disclosure. Accordingly, the aforementioned detailed description should not be construed as restrictive in all terms and should be exemplarily considered. The scope of the present disclosure should be determined by rational construing of the appended claims and all modifications within an equivalent scope of the present disclosure are included in the scope of the present disclosure.
Number | Date | Country | Kind |
---|---|---|---|
10-2022-0016755 | Feb 2022 | KR | national |