Methods and apparatus for subtraction with 3:2 carry-save adders
AssigneeIntel Corporation
InventorsLuke Girard, Jonathan Sweedler
Life of this patent
Estimating the term…
Abstract
A hardware logic arrangement for subtraction using a 3:2 carry-save-adder (CSA) for use with high speed floating point computation circuits. Three operands to be combined are routed to the three inputs of the CSA via separate multiplexors (MUXs) and appropriate inverting logic. Output sum and carry vectors are routed via further MUXs to separate latch storage registers. Subtraction executed as addition of the inverse of an operand is implemented by routing a constant "1" to the MUX steering the output carry vector to its associated latch.
Claims16
A circuit for subtraction in a computer system, comprising:
- circuit for generating a one's complement value of a first datavalue;
- carry-save adder receiving said one's complement value and a set of input datavalues, said carry-save adder generating a first result in a redundant form comprising a sum vector and a first carry vector by adding said one's complement value and said input datavalues;
- first register coupled to receive said sum vector;
- and
- second register coupled to receive said first carry vector, said second register generating a second carry vector by incrementing said first carry vector by one such that said sum vector and said second carry vector represent in said redundant form a second result equal to a sum of said input datavalues minus said first datavalue.
In a computer system, a method of performing subtraction, comprising:
- generating a one's complement value of a first datavalue;
- adding said one's complement value and a set of input datavalues in a carry-save adder to generate a first result in a redundant form comprising a sum vector and a first carry vector;
- storing said sum vector in a first register;
- storing said first carry vector in a second register;
- generating a second carry vector by incrementing said first carry vector by one such that said sum vector and said second carry vector represent in said redundant form a second result equal to a sum of said input datavalues minus said first datavalue.
A computer system that selectively provides for addition or subtraction, comprising:
- indication means for generating a first signal value if a first datavalue is to be subtracted from a sum of a set of input datavalues;
- circuit for generating a one's complement value of said first datavalue;
- multiplexer means coupled to receive said one's complement value and said first datavalue, said multiplexer means generating an output by selecting said one's complement value if said indication means generates said first signal value;
- carry-save adder coupled to receive said output and said input datavalues, said carry-save adder generating a first result in a redundant form comprising a sum vector and a first carry vector by adding said output and said input datavalues;
- first register coupled to receive said sum vector;
- and
- second register coupled to receive said first carry vector, said second register generating a second carry vector by incrementing said first carry vector by one if said indication means generates said first signal value, said sum vector and said second carry vector representing in said redundant form a second result equal to said sum minus said first datavalue.
Dependencies are inferred from the claim text.