Title: Multiplication
1Multiplication
2Multiplier Notation
Partial Products Logical-AND
3Shift and Add Paradigm
4Shift and Add Examples
5Programmed Multiplication
6Programmed Multiplication (cont.)
7Hardware Shift and Add (right)
8Hardware Shift and Add
9Hardware Shift and Add (left)
10Signed Number Multiplication(positive case)
11Signed Number Multiplication(negative case)
12Booths Recoding (or encoding)
- Developed for Speeding Up Multiplication in
Early Computers - When a Partial Product of 0 Occurs, Can Skip
Addition and Just Shift - Doesnt Help Multipliers Where Datapaths Go
Through Adder Such as Previous Examples - Does Help Designs for Asynchronous
Implementation or Microprogramming Since
Shifting is Faster Than Addition - Variable Delay Depends on Number of Ones in
- Booth Observed that a String of 1s May be
Replaced as
13Booths Recoding Example
xn xn-1 ... xi xi-1 ... x0
(0)
yixi-1 - xi
yn ... yi ... y0
EXAMPLE
0011110011(0) 0100010101
14Booths Recoding
- Maps Words With Digit Set 0,1 to Those With
-1,1
15Sequential Multiplication
A 1011 (-510) X
1101 (-310) Y 0111
(recoded) (-1) Add A 0101 Shift
00101 (1) Add A 1011
11011 Shift 111011 (-1) Add A
0101 001111 Shift
0001111 (1510)
16Booth Multiplier Example
17Booths Recoding Drawbacks
- Number of add/sub Operations are Variable
- Some Inefficiencies
EXAMPLE 001010101(0)
011111111
- Can Use Modified Booths Recoding to Prevent
- Will Look at This in Later Class
18Sign Extension
- Consider 6-bit 2s Complement Number
- s0 Positive Value s1 Negative Value
- Show Sign Extension Works
- Definition of 2s Complement
19Sign Extension Example
A 010110 (2210) X 001011
(1110) Y 010101 (recoding)
11111101010 (neg. A) 0000000000 (0 A)
111101010 (neg. A) 00000000 (0 A)
0010110 (neg. A) 000000 (0 A)
00011110010 (24210)
20Sign Extension Example
- Same Trick as Before, Complement Original Sign
Bit - Add 1 to Column 5
1 001010 (neg. A) 100000
(0 A) 001010 (neg. A) 100000
(0 A) 110110 (neg. A) 100000
(0 A) 00011110010 (24210)