multiplication 1101 multiplicandsecure site moshovos/ece352-2016/multiply.pdf · 2-bit booth...
TRANSCRIPT
![Page 1: Multiplication 1101 multiplicandSecure Site moshovos/ECE352-2016/multiply.pdf · 2-bit Booth Recoding • 1 0 1 1 1 (-9) • 1 1 0 1 1 1 0 . Implied 0, always . Sign-extension -1x](https://reader036.vdocument.in/reader036/viewer/2022062608/6079c68c7d6056359766da4b/html5/thumbnails/1.jpg)
Multiplication
1101 0101 1101 0000 1101 0000 1000001
X
multiplicand
multiplier
![Page 2: Multiplication 1101 multiplicandSecure Site moshovos/ECE352-2016/multiply.pdf · 2-bit Booth Recoding • 1 0 1 1 1 (-9) • 1 1 0 1 1 1 0 . Implied 0, always . Sign-extension -1x](https://reader036.vdocument.in/reader036/viewer/2022062608/6079c68c7d6056359766da4b/html5/thumbnails/2.jpg)
Multiplication
1101 1101 11010 110100 1101000 1000001
multiplicand
multiplier
0 1 0 1
Shift by 0
Shift by 1
Shift by 2
Shift by 3
Include term
MSB
![Page 3: Multiplication 1101 multiplicandSecure Site moshovos/ECE352-2016/multiply.pdf · 2-bit Booth Recoding • 1 0 1 1 1 (-9) • 1 1 0 1 1 1 0 . Implied 0, always . Sign-extension -1x](https://reader036.vdocument.in/reader036/viewer/2022062608/6079c68c7d6056359766da4b/html5/thumbnails/3.jpg)
Multiplication 1101 00000000 + 1101 =00001101 + 00000 =00001101 + 110100 =1000001 +0000000 =01000001
multiplicand
multiplier
0 1 0 1
RUNNING PRODUCT
![Page 4: Multiplication 1101 multiplicandSecure Site moshovos/ECE352-2016/multiply.pdf · 2-bit Booth Recoding • 1 0 1 1 1 (-9) • 1 1 0 1 1 1 0 . Implied 0, always . Sign-extension -1x](https://reader036.vdocument.in/reader036/viewer/2022062608/6079c68c7d6056359766da4b/html5/thumbnails/4.jpg)
Algorithm prod = 0 N = 32
while (N > 0)
{
if (Mier & 1) prod += Mand; Mier >>= 1; Mand <<= 1; N--;
}
![Page 5: Multiplication 1101 multiplicandSecure Site moshovos/ECE352-2016/multiply.pdf · 2-bit Booth Recoding • 1 0 1 1 1 (-9) • 1 1 0 1 1 1 0 . Implied 0, always . Sign-extension -1x](https://reader036.vdocument.in/reader036/viewer/2022062608/6079c68c7d6056359766da4b/html5/thumbnails/5.jpg)
Multiplier: Take #1
prod
Mand
0 Mier
Shift
Shift
2N
2N
2N adder
![Page 6: Multiplication 1101 multiplicandSecure Site moshovos/ECE352-2016/multiply.pdf · 2-bit Booth Recoding • 1 0 1 1 1 (-9) • 1 1 0 1 1 1 0 . Implied 0, always . Sign-extension -1x](https://reader036.vdocument.in/reader036/viewer/2022062608/6079c68c7d6056359766da4b/html5/thumbnails/6.jpg)
Multiplier: Take #2
0
Shift
N
N
N adder
C
Shift
N
Mier
Mand
Prod
![Page 7: Multiplication 1101 multiplicandSecure Site moshovos/ECE352-2016/multiply.pdf · 2-bit Booth Recoding • 1 0 1 1 1 (-9) • 1 1 0 1 1 1 0 . Implied 0, always . Sign-extension -1x](https://reader036.vdocument.in/reader036/viewer/2022062608/6079c68c7d6056359766da4b/html5/thumbnails/7.jpg)
Multiplier: Initial State
0
0 0 0 0 Shift
N
N
N adder
0
Shift
N
0 1 0 1
0 0 0 0
1 1 0 1
Mier
Mand
Prod
![Page 8: Multiplication 1101 multiplicandSecure Site moshovos/ECE352-2016/multiply.pdf · 2-bit Booth Recoding • 1 0 1 1 1 (-9) • 1 1 0 1 1 1 0 . Implied 0, always . Sign-extension -1x](https://reader036.vdocument.in/reader036/viewer/2022062608/6079c68c7d6056359766da4b/html5/thumbnails/8.jpg)
Step 1: Add Mand to Prod
0
0 0 0 0 Shift
N
N
N adder
0
Shift
N
0 1 0 1
1 1 0 1
1 1 0 1
Mier
Mand
Prod
![Page 9: Multiplication 1101 multiplicandSecure Site moshovos/ECE352-2016/multiply.pdf · 2-bit Booth Recoding • 1 0 1 1 1 (-9) • 1 1 0 1 1 1 0 . Implied 0, always . Sign-extension -1x](https://reader036.vdocument.in/reader036/viewer/2022062608/6079c68c7d6056359766da4b/html5/thumbnails/9.jpg)
Step 1: Shift Prod and Mier
0
1 0 0 0 Shift
N
N
N adder
0
Shift
N
0 0 1 0
0 1 1 0
1 1 0 1
Mier
Mand
Prod
![Page 10: Multiplication 1101 multiplicandSecure Site moshovos/ECE352-2016/multiply.pdf · 2-bit Booth Recoding • 1 0 1 1 1 (-9) • 1 1 0 1 1 1 0 . Implied 0, always . Sign-extension -1x](https://reader036.vdocument.in/reader036/viewer/2022062608/6079c68c7d6056359766da4b/html5/thumbnails/10.jpg)
Step 2: Add Mand to Prod
0
1 0 0 0 Shift
N
N
N adder
0
Shift
N
0 0 1 0
0 1 1 0
1 1 0 1
Mier
Mand
Prod
![Page 11: Multiplication 1101 multiplicandSecure Site moshovos/ECE352-2016/multiply.pdf · 2-bit Booth Recoding • 1 0 1 1 1 (-9) • 1 1 0 1 1 1 0 . Implied 0, always . Sign-extension -1x](https://reader036.vdocument.in/reader036/viewer/2022062608/6079c68c7d6056359766da4b/html5/thumbnails/11.jpg)
Step 2: Shift Prod and Mier
0
0 1 0 0 Shift
N
N
N adder
0
Shift
N
0 0 0 1
0 0 1 1
1 1 0 1
Mier
Mand
Prod
![Page 12: Multiplication 1101 multiplicandSecure Site moshovos/ECE352-2016/multiply.pdf · 2-bit Booth Recoding • 1 0 1 1 1 (-9) • 1 1 0 1 1 1 0 . Implied 0, always . Sign-extension -1x](https://reader036.vdocument.in/reader036/viewer/2022062608/6079c68c7d6056359766da4b/html5/thumbnails/12.jpg)
Step 3: Add Mand to Prod
0
0 1 0 0 Shift
N
N
N adder
1
Shift
N
0 0 0 1
0 0 0 0
1 1 0 1
Mier
Mand
Prod
![Page 13: Multiplication 1101 multiplicandSecure Site moshovos/ECE352-2016/multiply.pdf · 2-bit Booth Recoding • 1 0 1 1 1 (-9) • 1 1 0 1 1 1 0 . Implied 0, always . Sign-extension -1x](https://reader036.vdocument.in/reader036/viewer/2022062608/6079c68c7d6056359766da4b/html5/thumbnails/13.jpg)
Step 3: Shift Prod and Mier
0
0 0 1 0 Shift
N
N
N adder
0
Shift
N
0 0 0 0
1 0 0 0
1 1 0 1
Mier
Mand
Prod
![Page 14: Multiplication 1101 multiplicandSecure Site moshovos/ECE352-2016/multiply.pdf · 2-bit Booth Recoding • 1 0 1 1 1 (-9) • 1 1 0 1 1 1 0 . Implied 0, always . Sign-extension -1x](https://reader036.vdocument.in/reader036/viewer/2022062608/6079c68c7d6056359766da4b/html5/thumbnails/14.jpg)
Step 4: Add Mand to Prod
0
0 0 1 0 Shift
N
N
N adder
0
Shift
N
0 0 0 0
1 0 0 0
1 1 0 1
Mier
Mand
Prod
![Page 15: Multiplication 1101 multiplicandSecure Site moshovos/ECE352-2016/multiply.pdf · 2-bit Booth Recoding • 1 0 1 1 1 (-9) • 1 1 0 1 1 1 0 . Implied 0, always . Sign-extension -1x](https://reader036.vdocument.in/reader036/viewer/2022062608/6079c68c7d6056359766da4b/html5/thumbnails/15.jpg)
Step 4: Shift Prod and Mier
0
0 0 0 1 Shift
N
N
N adder
0
Shift
N
0 0 0 0
0 1 0 0
1 1 0 1
Mier
Mand
Prod
![Page 16: Multiplication 1101 multiplicandSecure Site moshovos/ECE352-2016/multiply.pdf · 2-bit Booth Recoding • 1 0 1 1 1 (-9) • 1 1 0 1 1 1 0 . Implied 0, always . Sign-extension -1x](https://reader036.vdocument.in/reader036/viewer/2022062608/6079c68c7d6056359766da4b/html5/thumbnails/16.jpg)
Multiplier Take #2: How it works
Iteration Step Carry Prod Mier
0 Initial Value 0 0000 0000 0101
1 Add + Mult 0 1101 0000 0101
Shift 0 0110 1000 0010
2 Add+Mult 0 0110 1000 0010
Shift 0 0011 0100 0001
3 Add+Mult 1 0000 0100 0001
Shift 0 1000 0010 0000
4 Add+Mult 0 1000 0010 0000
Shift 0 0100 0001 0000
![Page 17: Multiplication 1101 multiplicandSecure Site moshovos/ECE352-2016/multiply.pdf · 2-bit Booth Recoding • 1 0 1 1 1 (-9) • 1 1 0 1 1 1 0 . Implied 0, always . Sign-extension -1x](https://reader036.vdocument.in/reader036/viewer/2022062608/6079c68c7d6056359766da4b/html5/thumbnails/17.jpg)
Low Prod and Mier can be merged
0
0 1 0 0 Shift
N
N
N adder
1
Shift
N
0 0 0 1
0 0 0 0
1 1 0 1
Mier
Mand
Prod useful
empty
![Page 18: Multiplication 1101 multiplicandSecure Site moshovos/ECE352-2016/multiply.pdf · 2-bit Booth Recoding • 1 0 1 1 1 (-9) • 1 1 0 1 1 1 0 . Implied 0, always . Sign-extension -1x](https://reader036.vdocument.in/reader036/viewer/2022062608/6079c68c7d6056359766da4b/html5/thumbnails/18.jpg)
Multiplier: Take #2
A
Mand
0
Q
Shift N
N
N adder
C
Shift Initially = Mier
Initially = 0
N
![Page 19: Multiplication 1101 multiplicandSecure Site moshovos/ECE352-2016/multiply.pdf · 2-bit Booth Recoding • 1 0 1 1 1 (-9) • 1 1 0 1 1 1 0 . Implied 0, always . Sign-extension -1x](https://reader036.vdocument.in/reader036/viewer/2022062608/6079c68c7d6056359766da4b/html5/thumbnails/19.jpg)
Multiplier Array
1101 1101 11010 110100 1101000 1000001
multiplicand
multiplier
0 1 0 1
Include term
MSB
![Page 20: Multiplication 1101 multiplicandSecure Site moshovos/ECE352-2016/multiply.pdf · 2-bit Booth Recoding • 1 0 1 1 1 (-9) • 1 1 0 1 1 1 0 . Implied 0, always . Sign-extension -1x](https://reader036.vdocument.in/reader036/viewer/2022062608/6079c68c7d6056359766da4b/html5/thumbnails/20.jpg)
Multiplier Array
1101 1101 11010 110100 1101000 1000001
multiplicand
multiplier
0 1 0 1
MSB
![Page 21: Multiplication 1101 multiplicandSecure Site moshovos/ECE352-2016/multiply.pdf · 2-bit Booth Recoding • 1 0 1 1 1 (-9) • 1 1 0 1 1 1 0 . Implied 0, always . Sign-extension -1x](https://reader036.vdocument.in/reader036/viewer/2022062608/6079c68c7d6056359766da4b/html5/thumbnails/21.jpg)
Multiplier Array 1 1 0 1
multiplicand
0 1 0 1
MSB
multiplier 0
0 0 0 0
FA
Mandj
Mieri
Cin Cout
Partial Product(i+1)k
Partial Product(i)k
0
0
0
![Page 22: Multiplication 1101 multiplicandSecure Site moshovos/ECE352-2016/multiply.pdf · 2-bit Booth Recoding • 1 0 1 1 1 (-9) • 1 1 0 1 1 1 0 . Implied 0, always . Sign-extension -1x](https://reader036.vdocument.in/reader036/viewer/2022062608/6079c68c7d6056359766da4b/html5/thumbnails/22.jpg)
![Page 23: Multiplication 1101 multiplicandSecure Site moshovos/ECE352-2016/multiply.pdf · 2-bit Booth Recoding • 1 0 1 1 1 (-9) • 1 1 0 1 1 1 0 . Implied 0, always . Sign-extension -1x](https://reader036.vdocument.in/reader036/viewer/2022062608/6079c68c7d6056359766da4b/html5/thumbnails/23.jpg)
Multipler Array Example
![Page 24: Multiplication 1101 multiplicandSecure Site moshovos/ECE352-2016/multiply.pdf · 2-bit Booth Recoding • 1 0 1 1 1 (-9) • 1 1 0 1 1 1 0 . Implied 0, always . Sign-extension -1x](https://reader036.vdocument.in/reader036/viewer/2022062608/6079c68c7d6056359766da4b/html5/thumbnails/24.jpg)
Multiplier Array Critical Path?
![Page 25: Multiplication 1101 multiplicandSecure Site moshovos/ECE352-2016/multiply.pdf · 2-bit Booth Recoding • 1 0 1 1 1 (-9) • 1 1 0 1 1 1 0 . Implied 0, always . Sign-extension -1x](https://reader036.vdocument.in/reader036/viewer/2022062608/6079c68c7d6056359766da4b/html5/thumbnails/25.jpg)
Multiplier Array Critical Path
![Page 26: Multiplication 1101 multiplicandSecure Site moshovos/ECE352-2016/multiply.pdf · 2-bit Booth Recoding • 1 0 1 1 1 (-9) • 1 1 0 1 1 1 0 . Implied 0, always . Sign-extension -1x](https://reader036.vdocument.in/reader036/viewer/2022062608/6079c68c7d6056359766da4b/html5/thumbnails/26.jpg)
A + B + C
•A = 0 1 0 1 (5) •B = 0 1 1 0 (6) •C = 0 0 1 1 (3) •A + B + C = 1110 (14)
![Page 27: Multiplication 1101 multiplicandSecure Site moshovos/ECE352-2016/multiply.pdf · 2-bit Booth Recoding • 1 0 1 1 1 (-9) • 1 1 0 1 1 1 0 . Implied 0, always . Sign-extension -1x](https://reader036.vdocument.in/reader036/viewer/2022062608/6079c68c7d6056359766da4b/html5/thumbnails/27.jpg)
Carry Save Adder: A + B
0 1 0 1 + 0 1 1 0 0 0 1 1 0 1 0 0
SUM
CARRY No need to propagate Carry
![Page 28: Multiplication 1101 multiplicandSecure Site moshovos/ECE352-2016/multiply.pdf · 2-bit Booth Recoding • 1 0 1 1 1 (-9) • 1 1 0 1 1 1 0 . Implied 0, always . Sign-extension -1x](https://reader036.vdocument.in/reader036/viewer/2022062608/6079c68c7d6056359766da4b/html5/thumbnails/28.jpg)
Redudant Representation • Represent a number with two bits per digit • (Sum, Carry)
–(1,0)(1,0)(1,0)(0,0) –1 1 1 0
• How about this:
–(1,0)(0,0)(1,0)(0,1)? –1100
![Page 29: Multiplication 1101 multiplicandSecure Site moshovos/ECE352-2016/multiply.pdf · 2-bit Booth Recoding • 1 0 1 1 1 (-9) • 1 1 0 1 1 1 0 . Implied 0, always . Sign-extension -1x](https://reader036.vdocument.in/reader036/viewer/2022062608/6079c68c7d6056359766da4b/html5/thumbnails/29.jpg)
Carry Save Adder: (A+B) + C
0 0 1 1 0 1 0 0 0 0 1 1 1 0 0 0 0 0 1 1
A + B
C
SUM
CARRY
Which number is this?
1110
![Page 30: Multiplication 1101 multiplicandSecure Site moshovos/ECE352-2016/multiply.pdf · 2-bit Booth Recoding • 1 0 1 1 1 (-9) • 1 1 0 1 1 1 0 . Implied 0, always . Sign-extension -1x](https://reader036.vdocument.in/reader036/viewer/2022062608/6079c68c7d6056359766da4b/html5/thumbnails/30.jpg)
Carry Save Adder Multiplier Array
![Page 31: Multiplication 1101 multiplicandSecure Site moshovos/ECE352-2016/multiply.pdf · 2-bit Booth Recoding • 1 0 1 1 1 (-9) • 1 1 0 1 1 1 0 . Implied 0, always . Sign-extension -1x](https://reader036.vdocument.in/reader036/viewer/2022062608/6079c68c7d6056359766da4b/html5/thumbnails/31.jpg)
Wallace Tree • Addition done hierarchically
– Groups of 3 partial products added in parallel – Produce (sum, carry) – (sum, carry) + another output
![Page 32: Multiplication 1101 multiplicandSecure Site moshovos/ECE352-2016/multiply.pdf · 2-bit Booth Recoding • 1 0 1 1 1 (-9) • 1 1 0 1 1 1 0 . Implied 0, always . Sign-extension -1x](https://reader036.vdocument.in/reader036/viewer/2022062608/6079c68c7d6056359766da4b/html5/thumbnails/32.jpg)
Signed Number Multiplication
1101 (-3) Mand 0101 (5) Mier 1111101 000000 11101 0000 11110001 (-15)
![Page 33: Multiplication 1101 multiplicandSecure Site moshovos/ECE352-2016/multiply.pdf · 2-bit Booth Recoding • 1 0 1 1 1 (-9) • 1 1 0 1 1 1 0 . Implied 0, always . Sign-extension -1x](https://reader036.vdocument.in/reader036/viewer/2022062608/6079c68c7d6056359766da4b/html5/thumbnails/33.jpg)
Signed Number Multiplication
111001 (-7) Mand 001110 (14) Mier 00000000000 1111111001 111111101 11111101 11110011110 (-98)
![Page 34: Multiplication 1101 multiplicandSecure Site moshovos/ECE352-2016/multiply.pdf · 2-bit Booth Recoding • 1 0 1 1 1 (-9) • 1 1 0 1 1 1 0 . Implied 0, always . Sign-extension -1x](https://reader036.vdocument.in/reader036/viewer/2022062608/6079c68c7d6056359766da4b/html5/thumbnails/34.jpg)
And now for something different • Recall:
– A x (B + C) = A x B + A x C • 14 = 16 – 2 • 001110 = 010000 - 000010
001110 010000 000010
![Page 35: Multiplication 1101 multiplicandSecure Site moshovos/ECE352-2016/multiply.pdf · 2-bit Booth Recoding • 1 0 1 1 1 (-9) • 1 1 0 1 1 1 0 . Implied 0, always . Sign-extension -1x](https://reader036.vdocument.in/reader036/viewer/2022062608/6079c68c7d6056359766da4b/html5/thumbnails/35.jpg)
Signed Number Multiplication 111001 (-7) Mand 010010 (14) Mier 00000000000 0000000111 000000000 00000000 1111001 11110011110 (-98)
+ -
Inverse of -7
Skip these and do a shift by 2
Booth’s Multiplication
![Page 36: Multiplication 1101 multiplicandSecure Site moshovos/ECE352-2016/multiply.pdf · 2-bit Booth Recoding • 1 0 1 1 1 (-9) • 1 1 0 1 1 1 0 . Implied 0, always . Sign-extension -1x](https://reader036.vdocument.in/reader036/viewer/2022062608/6079c68c7d6056359766da4b/html5/thumbnails/36.jpg)
Booth Encoding 001110000111111000000 010010001000001000000 000111111111000011110 001000000001000100010 010101010101010101010 11111111111111111111
+ + - -
+ + - -
+ + + + + + + + + + - - - - - - - - - -
![Page 37: Multiplication 1101 multiplicandSecure Site moshovos/ECE352-2016/multiply.pdf · 2-bit Booth Recoding • 1 0 1 1 1 (-9) • 1 1 0 1 1 1 0 . Implied 0, always . Sign-extension -1x](https://reader036.vdocument.in/reader036/viewer/2022062608/6079c68c7d6056359766da4b/html5/thumbnails/37.jpg)
Booth Encoding Generation
![Page 38: Multiplication 1101 multiplicandSecure Site moshovos/ECE352-2016/multiply.pdf · 2-bit Booth Recoding • 1 0 1 1 1 (-9) • 1 1 0 1 1 1 0 . Implied 0, always . Sign-extension -1x](https://reader036.vdocument.in/reader036/viewer/2022062608/6079c68c7d6056359766da4b/html5/thumbnails/38.jpg)
2-bit Booth Recoding • 0 1 1 0 0 0 0 1 1 • 0 0 1 1 0 0 0 0 1 1 0 Implied 0, always
Sign-extension
-1x +1x +0x -1x
+1x
![Page 39: Multiplication 1101 multiplicandSecure Site moshovos/ECE352-2016/multiply.pdf · 2-bit Booth Recoding • 1 0 1 1 1 (-9) • 1 1 0 1 1 1 0 . Implied 0, always . Sign-extension -1x](https://reader036.vdocument.in/reader036/viewer/2022062608/6079c68c7d6056359766da4b/html5/thumbnails/39.jpg)
2-bit Booth Recoding • 1 0 1 1 1 (-9) • 1 1 0 1 1 1 0 Implied 0, always
Sign-extension
-1x +2x
-1x
![Page 40: Multiplication 1101 multiplicandSecure Site moshovos/ECE352-2016/multiply.pdf · 2-bit Booth Recoding • 1 0 1 1 1 (-9) • 1 1 0 1 1 1 0 . Implied 0, always . Sign-extension -1x](https://reader036.vdocument.in/reader036/viewer/2022062608/6079c68c7d6056359766da4b/html5/thumbnails/40.jpg)
Bit-Pair Booth Recoding Example
![Page 41: Multiplication 1101 multiplicandSecure Site moshovos/ECE352-2016/multiply.pdf · 2-bit Booth Recoding • 1 0 1 1 1 (-9) • 1 1 0 1 1 1 0 . Implied 0, always . Sign-extension -1x](https://reader036.vdocument.in/reader036/viewer/2022062608/6079c68c7d6056359766da4b/html5/thumbnails/41.jpg)
Generating the bit-pair Recording
![Page 42: Multiplication 1101 multiplicandSecure Site moshovos/ECE352-2016/multiply.pdf · 2-bit Booth Recoding • 1 0 1 1 1 (-9) • 1 1 0 1 1 1 0 . Implied 0, always . Sign-extension -1x](https://reader036.vdocument.in/reader036/viewer/2022062608/6079c68c7d6056359766da4b/html5/thumbnails/42.jpg)
Division
![Page 43: Multiplication 1101 multiplicandSecure Site moshovos/ECE352-2016/multiply.pdf · 2-bit Booth Recoding • 1 0 1 1 1 (-9) • 1 1 0 1 1 1 0 . Implied 0, always . Sign-extension -1x](https://reader036.vdocument.in/reader036/viewer/2022062608/6079c68c7d6056359766da4b/html5/thumbnails/43.jpg)
Simple Divisor
![Page 44: Multiplication 1101 multiplicandSecure Site moshovos/ECE352-2016/multiply.pdf · 2-bit Booth Recoding • 1 0 1 1 1 (-9) • 1 1 0 1 1 1 0 . Implied 0, always . Sign-extension -1x](https://reader036.vdocument.in/reader036/viewer/2022062608/6079c68c7d6056359766da4b/html5/thumbnails/44.jpg)
Divisor Operation • Steps for restoring division: • 1. Subtract divisor from current remainder • 2. Test the new remainder:
– 1. If positive put a 1 in the quotient – 2. If negative put a 0 in the quotient and add the divisor
back to the remainder to “restore” it back to its original value.
• 3. Shift the quotient and dividend left by 1 bit • 4. Repeat until all bits in the dividend are
consumed. • Restoring Division:
– Divisor is added back when larger than remainder
![Page 45: Multiplication 1101 multiplicandSecure Site moshovos/ECE352-2016/multiply.pdf · 2-bit Booth Recoding • 1 0 1 1 1 (-9) • 1 1 0 1 1 1 0 . Implied 0, always . Sign-extension -1x](https://reader036.vdocument.in/reader036/viewer/2022062608/6079c68c7d6056359766da4b/html5/thumbnails/45.jpg)
Restoring Division Example
![Page 46: Multiplication 1101 multiplicandSecure Site moshovos/ECE352-2016/multiply.pdf · 2-bit Booth Recoding • 1 0 1 1 1 (-9) • 1 1 0 1 1 1 0 . Implied 0, always . Sign-extension -1x](https://reader036.vdocument.in/reader036/viewer/2022062608/6079c68c7d6056359766da4b/html5/thumbnails/46.jpg)
Non-Restoring Division • If R is negative we add D to restore value • Can we avoid this? • At each step we want to do: R – D • When negative we do: R – D + D • Then shift left: 2 x R • Then subtract D: 2xR – D • What if we don’t restore: R – D • Shift: 2x(R – D) = 2xR – 2xD • And we want 2xR – D • What to do? (2xR – 2xD) + D
![Page 47: Multiplication 1101 multiplicandSecure Site moshovos/ECE352-2016/multiply.pdf · 2-bit Booth Recoding • 1 0 1 1 1 (-9) • 1 1 0 1 1 1 0 . Implied 0, always . Sign-extension -1x](https://reader036.vdocument.in/reader036/viewer/2022062608/6079c68c7d6056359766da4b/html5/thumbnails/47.jpg)
Non-Restoring Division Example
![Page 48: Multiplication 1101 multiplicandSecure Site moshovos/ECE352-2016/multiply.pdf · 2-bit Booth Recoding • 1 0 1 1 1 (-9) • 1 1 0 1 1 1 0 . Implied 0, always . Sign-extension -1x](https://reader036.vdocument.in/reader036/viewer/2022062608/6079c68c7d6056359766da4b/html5/thumbnails/48.jpg)
SRT Division Pointer • Sweeney, Robertson, and Tocher Division • SRT is essentially the same as non-restoring
division, but is performed in a higher radix: – SRT guesses several digits of the quotient at a time – SRT has pre-computed tables that allow it to find the
right bits depending on remainder and divisor – Like non-restoring, if it overshoots, it makes up for it in
following cycles
![Page 49: Multiplication 1101 multiplicandSecure Site moshovos/ECE352-2016/multiply.pdf · 2-bit Booth Recoding • 1 0 1 1 1 (-9) • 1 1 0 1 1 1 0 . Implied 0, always . Sign-extension -1x](https://reader036.vdocument.in/reader036/viewer/2022062608/6079c68c7d6056359766da4b/html5/thumbnails/49.jpg)
Prof. Natalie Enright Jerger