Claims Analysis
Total Claims: 4
Claim 1
Independent Claim
270 words
A bit slice adder for forming a sum of a plurality of words each comprising a plurality of binary digits comprising: (A) input means for iteratively receiving one binary digit slice from all of the words in parallel, (B) tally means for iteratively receiving the binary digit slice from the input means and for transmitting an output signal having a value corresponding to the number of binary ones in the binary digit slices from the input means; and (C) memory means connected to receive the output signal from the tally means for generating an output signal and a carry signal, in response to each output signal from the tally means for the particular binary digit slice, the memory means including a plurality of address inputs, the address inputs comprising high-order address inputs and low-order address inputs, the output signal from the tally means being coupled to the low-order address inputs and the carry signal from the memory means being coupled to the high-order address inputs, the output signal from the tally means and the carry signal from the memory means being coupled to the memory means address inputs as address signals, and the memory means output signal being representative of the sum of the number identified by the tally means and the carry signal generated in response to a previous iteration, the memory means further comprising a plurality of storage locations each uniquely identified by the signals coupled to said address inputs, each storage location storing a value equal to the sum of the value corresponding to the low-order address inputs and the high-order address inputs which identify the location.
Claim 2
Dependent Claim
270 words
A bit slice adder for forming a sum of a plurality of words each comprising a plurality of binary digits comprising: (A) input means for iteratively receiving one binary digit slice from all of the words in parallel, (B) tally means for iteratively receiving the binary digit slice from the input means and for transmitting an output signal having a value corresponding to the number of binary ones in the binary digit slices from the input means; and (C) memory means connected to receive the output signal from the tally means for generating an output signal and a carry signal, in response to each output signal from the tally means for the particular binary digit slice, the memory means including a plurality of address inputs, the address inputs comprising high-order address inputs and low-order address inputs, the output signal from the tally means being coupled to the low-order address inputs and the carry signal from the memory means being coupled to the high-order address inputs, the output signal from the tally means and the carry signal from the memory means being coupled to the memory means address inputs as address signals, and the memory means output signal being representative of the sum of the number identified by the tally means and the carry signal generated in response to a previous iteration, the memory means further comprising a plurality of storage locations each uniquely identified by the signals coupled to said address inputs, each storage location storing a value equal to the sum of the value corresponding to the low-order address inputs and the high-order address inputs which identify the location.
Claim 3
Dependent Claim
53 words
An adder as defined in claim 1 wherein each storage location includes a least significant digit and at least one more significant digit, the more significant digit constituting the carry signal, the adder further comprising means for iteratively receiving and storing the least significant digit from the addressed storage location during each iteration.
Claim 4
Dependent Claim
60 words
An adder as defined in claim 2 wherein said receiving and storing means comprises a shift register that iteratively receives the least significant digits from the addressed storage locations during the iterations, and an output register that receives carry signal from the memory at the end of the iterations and concatenates it with the parallel output from the shift register.