MultiOperand Adders - PowerPoint PPT Presentation

1 / 11
About This Presentation
Title:

MultiOperand Adders

Description:

The system is redundant when the number of digits exceeds the radix. ... Since we cannot have 3 symbols on the wires inside a computer, we must choose an ... – PowerPoint PPT presentation

Number of Views:121
Avg rating:3.0/5.0
Slides: 12
Provided by: lakshm1
Category:

less

Transcript and Presenter's Notes

Title: MultiOperand Adders


1
Multi-Operand Adders
  • Lecture 12

2
Redundant Representations
Recall from a previous lecture that when
representing numbers with a fixed radix we also
must choose the digit set. The system is
redundant when the number of digits exceeds the
radix.
Example 0,13, r 10 we can write the number
twenty-two as 2 2 or 1 12.
We found in previous lectures that the speed of
additions is limited by the fact that carry
digits in lower positions must propagate to the
higher positions. We use redundant
representations to eliminate carry propagation.
Now try adding two numbers in 0,18. The result
will be a number that can be represented in
0,36. We note that any digit in 0,36 can be
written as 100,2 0,16.
3
Carry-Save Representation
Carry-Save representation is defined as r 2,
with digit set 0, 1, 2 . Since we cannot have
3 symbols on the wires inside a computer, we must
choose an encoding for the digits. The digits are
encoded using a pair of bits for each digit.
(00) 0, (11) 2 and
(01) or (10) 1.
Notice that when a number is represented in
carry-save form we actually have a pair of binary
strings. If you interpret the strings as each
being an unsigned binary number, then carry-save
form results in two numbers that sum to the
original.
4
Carry-Free Addition
It is impossible to completely eliminate the
carry. It is however possible to prevent the
carry from propagating more that one position.
The situation in which the carry can only move by
one position is referred to as carry-free
addition.
An unsigned binary number can be added to a
carry-save number giving a carry-save result. The
carry-save addition is extremely fast because
there is no carry propagation.
5
Accumulating Sums with Carry-Save Addition
If you wish to add together 10 binary numbers
then you perform the following,
Add the first 2 numbers to give a carry-save
result.
Add the third number to the previous result to
give another carry-save result.
Add the tenth number to the previous result to
give another carry-save result.
Using a normal adder, one that propagates the
carry, convert the carry-save number to binary.
The last addition will be slow because carry
propagation is required. We refer to this normal
type of adder as a carry propagating adder, CPA.
6
A Carry-Save Adder
A carry-save adder is simply a row of Full-Adders.
A k-bit adder has 3k inputs and 2k outputs.
We can imagine this circuit to be a converter
from 0,3 to 0,2 representations. The 0,3
digits would be encoded, 0 (000),
1 (100) or (010) or (001), 2 (110) or
(011) or (101), 3 (111) Example convert
1320130,3 to 0,2. 1320130,3
132316281231 101
Starting with the rightmost 3 12
1. Continuing on we have the representation (00)
(11) (11) (00) (00) (11) (10) 02200210,2
232216221 101
7
Multi-Operand Addition
There are many applications where we need to find
the sum of many numbers. Example, Vector Inner
Product a0b0 a1b1 a2b2 a3b3 a4b4 anbn
We have seen in the previous examples that a
carry-save adder can be used to hold an
intermediate sum in 0,2 representation and then
convert the final result back to binary using a
normal adder.
Let us assume that we are given n operands, x0,
x1, x2, xn-1 Our task is to produce the sum, S
x0 x1 x2 xn-1.
Notice that if xi is a k-bit number then S must
be larger than k-bits. The maximum of any operand
is xi(max) 2k 1. Thus the largest possible
value for the sum is n( 2k 1 )
8
Parallel Tree of Adders
We compute the final sum in parallel by applying
many 2-operand adders forming a tree.
Notice that the adders become wider as then move
down a level and thus the adder latency increases
as the level moves down.
9
Carry-Save Trees
In practice the best multi-operand adder is
constructed from a tree of carry-save adders
followed by a normal adder (carry-propagating
adder) to construct the final sum. We can view a
Carry-Save Adder as a 3 to 2 reduction. The
circuit receives 3-operands as its input and
produces a pair of binary numbers that have the
same sum.
The rectangle that catches 3 operand bits
represents the inputs to a Full-Adder. The pair
of dots connected with a line are the Full-Adder
output.
10
Reduction Trees
The final pairs need to be added with a normal
adder (CPA). This reduction uses 121165 34
Full Adders This reduction has 4 Levels of Carry
Save Adders thus 4 levels of delay.
11
General Concept of a Carry-Save Tree
A Carry-Save tree is simply a combinational
circuit that accepts many Operands as input and
computes the sum of the operands. The result is
in Carry-save form and thus needs to be converted
to binary. This final conversion can be performed
by simply adding the two binary strings of the
carry-save representation.
Write a Comment
User Comments (0)
About PowerShow.com