Tom Kelliher, CS 315

Apr. 7, 1999

### Outline

2. Multiplication.

### Coming Up

Multiplication and convolution on linear arrays.

1. Idea: Add three k-bit numbers in a single bit step, producing two k+1-bit numbers.

2. Implementation: Use a binary full adder for each bit position, producing a low order bit and a carry bit for each bit position.

3. The final sum is the sum of the low order bits and the shifted carry bits.

4. Example: 5. Time required to reduce the sum of N k-bit numbers to the sum of two -bit numbers: bit steps.

Proof:

1. After the first step of CSA, how many numbers are we left with? (At most . Why?)

2. After the second step?

3. After the jth step: 4. After steps, we're left with numbers, so we need steps to reduce to two -bit numbers.

6. Use a carry lookahead adder to reduce the two-number redundant representation to a single, non-redundant number.

7. Example: Draw the Wallace tree for N = 9.

# Multiplication

How is multiplication like adding N k-bit numbers?

How can we use what we just learned to multiply? Must we add anything?

Thomas P. Kelliher
Wed Apr 7 10:56:50 EDT 1999
Tom Kelliher