IP Library › Granted Patent US 12,737,154
Granted Patent B2
US 12,737,154 · App. 17/735,492 · Granted Sep 15, 2026

Computing device and method using multiplier-accumulator

Inventors: Jaehyuk Lee (Suwon-si, KR); Sang Joon Kim (Hwaseong-si, KR); Seungchul Jung (Suwon-si, KR); Sungmeen Myung (Suwon-si, KR)
Assignee: Samsung Electronics Co., Ltd.
G06F7/5443G06F7/4824
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,737,154
App. No.
17/735,492
Granted
Sep 15, 2026
Kind
B2
Abstract

A multiplier-accumulator includes: a plurality of exclusive negative OR (XNOR) gates provided along one or more input lines and configured to receive signals corresponding to an input bit sequence and a weight bit sequence corresponding to each of the one or more input lines and to output partial product results between the input bit sequence and the weight bit sequence; an encoder configured to apply, to the plurality of XNOR gates, a signal corresponding to a sequence in which a logical value of a most significant bit (MSB) is converted from an original sequence expressed in 2's complement of a corresponding sequence for either one or both of the input bit sequence and the weight bit sequence; and an outputter configured to generate an output in which a correction value is applied to operation results in which the partial product results output from the plurality of XNOR gates are summed.

Claims (49)

1 . A multiplier-accumulator comprising:

a plurality of exclusive negative OR (XNOR) gates provided along one or more input lines and configured to receive signals corresponding to an input bit sequence and a weight bit sequence corresponding to each of the one or more input lines and to output partial product results between the input bit sequence and the weight bit sequence;

an encoder configured to apply, to the plurality of XNOR gates, a signal corresponding to a sequence in which a logical value of a most significant bit (MSB) is inverted from an original sequence expressed in 2's complement of a corresponding sequence for either one or both of the input bit sequence and the weight bit sequence; and

an outputter configured to generate an output in which a correction value is applied to operation results in which the partial product results output from the plurality of XNOR gates are summed,

wherein the original sequence expressed in 2's complement is inverted to a number system having bit values of only −1 and +1, the input bit sequence and the weight bit sequence are expressed in the number system having bit values of only −1 and +1, and

wherein the encoder comprises an input encoder configured to:

sequentially receive an original input sequence expressed in 2's complement of the input bit sequence for each bit position; and

in response to receiving the MSB, apply a signal corresponding to a value in which the logical value of the MSB for the original input sequence is inverted to the plurality of XNOR gates provided to an input line of the one or more input lines corresponding to the input bit sequence.

2 . The multiplier-accumulator of claim 1 , wherein the outputter is configured to apply a first correction value, that is determined based on a sum of weights set to the plurality of XNOR gates for the operation results, to the operation results in which the partial product results are summed.

3 . The multiplier-accumulator of claim 2 , wherein the outputter is configured to subtract, from the operation results, the first correction value that is determined as a half of the sum of the weights.

4 . The multiplier-accumulator of claim 1 , wherein the input encoder is configured to sequentially transmit a signal corresponding to a logical value of an input bit sequence having a same number of bits as a number of bits of the original input sequence to the plurality of XNOR gates during a cycle corresponding to the number of bits of the original input sequence.

5 . The multiplier-accumulator of claim 1 , wherein the multiplier-accumulator is configured to record a sum of weights individually set to the plurality of XNOR gates for multiplication and accumulation.

6 . The multiplier-accumulator of claim 1 , wherein the plurality of XNOR gates is provided along an input line of the one or more input lines for the input bit sequence for each bit position allocated to a plurality of output lines grouped for a single operation of multiplication and accumulation, and

the encoder comprises a weight encoder configured to set the weight bit sequence to an XNOR gate provided along the input line for each bit position.

7 . The multiplier-accumulator of claim 6 , wherein the outputter is configured to apply a second correction value that is determined based on a sum of one or more input bit sequences to the operation results in which the partial product results are summed.

8 . The multiplier-accumulator of claim 7 , wherein the outputter is configured to subtract, from the operation results, the second correction value that is determined as a half of the sum of the one or more input bit sequences.

9 . The multiplier-accumulator of claim 6 , wherein

the plurality of XNOR gates is provided in a same number as a number of bits of an original weight sequence for an individual output for each of the one or more input lines, and

the multiplier-accumulator further comprises an additional memory cell provided along an additional line distinct from an output line for input summation.

10 . The multiplier-accumulator of claim 6 , wherein, in response to applying an input logical value for each bit position of one or more input bit sequences for multiplication and accumulation, the multiplier-accumulator is configured to calculate a sum of the one or more input bit sequences by summing the input logical value for each bit position based on a corresponding bit position.

11 . The multiplier-accumulator of claim 1 , wherein the outputter is configured to apply a third correction value based on a number of inputs to the operation results, when the encoder comprises an input encoder configured to encode an original input sequence and a weight encoder configured to encode an original weight sequence.

12 . The multiplier-accumulator of claim 11 , wherein the outputter is configured to add, to the operation results, the third correction value that is determined as a value acquired by dividing the number of inputs by 4 .

13 . The multiplier-accumulator of claim 1 , wherein the multiplier-accumulator is configured to receive P inputs through P input lines and to set a weight logical value corresponding to each bit position of a weight set for each of the P inputs to a corresponding XNOR gate.

14 . The multiplier-accumulator of claim 1 , wherein for each completion of calculation of an output for a node of a subsequent layer in a layer of a neural network, the multiplier-accumulator is configured to set a weight for an output for another node of the subsequent layer to the plurality of XNOR gates.

15 . The multiplier-accumulator of claim 1 , wherein the multiplier-accumulator further includes one or more output lines grouped for each of a plurality of nodes of a subsequent layer connected to a layer of a neural network, and is configured to set a weight logical value for an XNOR gate for each of the one or more output lines, and to perform multiplication and accumulation in a plurality of nodes of the subsequent layer in parallel.

16 . The multiplier-accumulator of claim 1 , wherein the multiplier-accumulator is configured to perform a summation of a partial product corresponding to a bit position corresponding to a corresponding output line by accumulating an analog signal representing XNOR results output from an XNOR gate connected to a same output line among the plurality of XNOR gates in a single cycle.

17 . The multiplier-accumulator of claim 1 , wherein the encoder is configured to apply a signal corresponding to a logical value corresponding to a single cycle among logical values of an input bit sequence input to a corresponding input line of the one or more input lines to an XNOR gate provided along the corresponding input line.

18 . A computing method performed by a multiplier-accumulator, the computing method comprising:

applying, to a plurality of exclusive negative OR (XNOR) gates corresponding to each of one or more input lines, a signal corresponding to a sequence in which a logical value of a most significant bit (MSB) is inverted from an original sequence expressed in 2's complement of a corresponding sequence for either one or both of an input bit sequence and a weight bit sequence;

in response to the plurality of XNOR gates receiving signals corresponding to an input bit sequence and a weight bit sequence corresponding to a corresponding input line of the one or more input lines, outputting partial product results between the input bit sequence and the weight bit sequence; and

generating an output in which a correction value is applied to operation results in which the partial product results output from the plurality of XNOR gates are summed,

wherein the original sequence expressed in 2's complement is inverted to a number system having bit values of only −1 and +1, the input bit sequence and the weight bit sequence are expressed in the number system having bit values of only −1 and +1;

wherein the applying comprises:

sequentially receiving an original input sequence expressed in 2's complement of the input bit sequence for each bit position; and

in response to receiving the MSB, applying a signal corresponding to a value in which the logical value of the MSB for the original input sequence is inverted to the plurality of XNOR gates provided to an input line of the one or more input lines corresponding to the input bit sequence.

19 . A non-transitory computer-readable storage medium storing instructions that, when executed by one or more processors, configure the one or more processors to perform the method of claim 18 .

20 . A multiplier-accumulator comprising:

an encoder configured to generate a sequence in which a logical value of a most significant bit (MSB) is inverted from an original sequence expressed in 2's complement of a corresponding sequence for either one or both of an input bit sequence and a weight bit sequence;

a plurality of memory cells provided along one or more input lines and configured to output partial product results between the input bit sequence and the weight bit sequence, based on the generated sequence; and

an outputter configured to generate an output based on a summation of the partial product results and one or more correction values,

wherein the original sequence expressed in 2's complement is inverted to a number system having bit values of only −1 and +1, the input bit sequence and the weight bit sequence are expressed in the number system having bit values of only −1 and +1, and

wherein the encoder comprises an input encoder configured to:

sequentially receive an original input sequence expressed in 2's complement of the input bit sequence for each bit position; and

in response to receiving the MSB, apply a signal corresponding to a value in which the logical value of the MSB for the original input sequence is inverted to the plurality of memory cells provided to an input line of the one or more input lines corresponding to the input bit sequence.

21 . The multiplier-accumulator of claim 20 , wherein the one or more correction values comprises either one or both of:

a first correction value determined based on a sum of one or more weight bit sequences including the weight bit sequence; and

a second correction value determined based on a sum of one or more input bit sequences including the input bit sequence.

22 . The multiplier-accumulator of claim 20 , wherein each of the memory cells includes an exclusive negative OR (XNOR) gate.

23 . The multiplier-accumulator of claim 20 , wherein a number of bits of the generated sequence is a same number of bits of the original sequence.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 3, 2022
From: LEE, JAEHYUK; KIM, SANG JOON; JUNG, SEUNGCHUL; MYUNG, SUNGMEEN
To: SAMSUNG ELECTRONICS CO., LTD.
Reel/Frame 059797/0719 →
Priority Claims (1)
KR 10-2021-0119757 · Sep 8, 2021 · national
Continuity (1)
Related Publication 20230075348A1 · Mar 9, 2023
References Cited (23)
US 10249362B2 · Shu · 2019 [cited by examiner]
US 10636481B1 · Chang et al. · 2020 [cited by applicant]
US 11126402B2 · Li · 2021 [cited by examiner]
US 11355167B2 · Seok · 2022 [cited by examiner]
US 11657238B2 · Srivastava · 2023 [cited by examiner]
US 12481867B2 · Chou · 2025 [cited by examiner]
US 12554975B2 · Lee · 2026 [cited by examiner]
US 20030061471A1 · Matsuo · 2003 [cited by applicant]
US 20190057300A1 · Mathuriya et al. · 2019 [cited by applicant]
US 20190228307A1 · Lee · 2019 [cited by examiner]
US 20200218963A1 · Yasuda et al. · 2020 [cited by applicant]
US 20200301668A1 · Li · 2020 [cited by applicant]
US 20210133541A1 · Vasanthakumaribabu et al. · 2021 [cited by applicant]
KR 1020030072860A · 2003 [cited by applicant]
KR 1020200100286A · 2020 [cited by applicant]
KR 102182299B1 · 2020 [cited by applicant]
KR 1020210050243A · 2021 [cited by applicant]
WO WO2021038228A1 · 2021 [cited by applicant]
Jia, Hongyang, et al. “A Programmable Heterogeneous Microprocessor Based on Bit-Scalable In-Memory Computing.” [cited by applicant]
Sun, Xiaoyu, et al. “Computing-in-Memory with SRAM and RRAM for Binary Neural Networks.” 2018 14th IEEE International Conference on Solid-State and Integrated Circuit Technology (ICSICT). IEEE, 2018., (4 pages in Englis… [cited by applicant]
Ardakani, Arash, et al. “The Synthesis of XNOR Recurrent Neural Networks with Stochastic Logic.” Advances in Neural Information Processing Systems 32 (2019)., (11 pages in English). [cited by applicant]
Extended European search report issued on Dec. 14, 2022, in counterpart European Patent Application No. 22181029.4 (6 pages in English). [cited by applicant]
Japanese Office Action Issued on May 19, 2026, in Counterpart Japanese Patent Application No. 2022-139128 (2 Pages in English, 3 Pages in Japanese). [cited by applicant]