720 likes | 1.1k Views
Lecture Roadmap. Sequential MultipliersUnsignedSignedRadix-2 Booth RecodingHigh-Radix Multiplication PrinciplesRadix-4Radix-4 Booth RecodingHigh-Radix Sequential MultipliersUsing Carry-Save AddersSerial MultipliersModular Multiplication. Required Reading. B. Parhami, Computer Arithmetic: A
E N D
1. Lecture 8:Sequential Multipliers ECE 645Computer Arithmetic
3/25/08
2. Lecture Roadmap Sequential Multipliers
Unsigned
Signed
Radix-2 Booth Recoding
High-Radix Multiplication Principles
Radix-4
Radix-4 Booth Recoding
High-Radix Sequential Multipliers
Using Carry-Save Adders
Serial Multipliers
Modular Multiplication
3. Required Reading B. Parhami, Computer Arithmetic: Algorithms and Hardware Design
Chapter 9, Tree and Array Multipliers
Chapter 10, High-Radix Multipliers
Chapter 12, Variations in Multipliers
Note errata at:
http://www.ece.ucsb.edu/~parhami/text_comp_arit.htm#errors
4. Sequential Multipliers
5. Multiplication Architectures
6. Notation
7. Multiplication of Two 4-bit Unsigned Binary Numbers in Dot Notation
8. Basic Multiplication Equations
9. Sequential Shift-and-Add Multipliers: Right-Shift Algorithm (Unsigned)
10. Sequential Shift-and-Add Multipliers: Right-Shift Algorithm
12. Area Optimization for the Sequential Shift-and-Add Multiplier with the Right-shift Algorithm
13. Sequential Shift-and-Add Multipliers: Left-Shift Algorithm (Unsigned)
14. Sequential Shift-and-Add Multipliers: Left-Shift Algorithm
16. Sequential Shift-and-Add Multipliers: Right-Shift Algorithm for Multiply-Add
17. Sequential Shift-and-Add Multipliers: Left-Shift Algorithm for Multiply-Add
18. Signed Multiplication Previous sequential multipliers are for unsigned multiplication
For signed multiplication:
Right-shift sequential algorithms (shift-add) will work directly if 2's complement multiplier is POSITIVE
Also assume sign-extended operation for p(i) + xia
If 2's complement multiplier is NEGATIVE than must use "negative weight" representation and subtract xk-1a instead of add in last cycle
Also assume sign-extended operation for p(i) + xia
Slight increase in area due to control and one-bit sign extension on inputs of adder
Unsigned: k bit number + k bit number ? k+1 bit number
Signed: k+1 bit sign extended number + k+1 bit sign extended number ? k+1 bit number
21. Sequential Signed Multiplication with Left-Shifts
22. Sequential Shift-and-Add Multiplierwith a Carry Save Adder
23. Radix-2 Booth Recoding
24. Radix-2 Booth Recoding Can be used to recode unsigned multipliers or signed (two's complement) multipliers
Can reduce average number of additions required
Not normally used in practice due to variable delay, but serves as help to understand radix-4 Booth recoding, which is used often in practice
25. Radix-2 Booth Recoding
26. Radix-2 Booth Recoding
28. High-Radix Multipliers
29. High-Radix Notation
30. Radix-4, or Two-Bit-at-a-Time, Multiplication in Dot Notation
31. Basic Multiplication Equations
32. High-Radix Shift/Add Algorithms:Right-Shift High-Radix Algorithm
33. High-Radix Shift/Add Algorithms:Left-Shift High-Radix Algorithm
34. The multiple generation part of a radix-4multiplier with precomputation of 3a
35. Example of Radix-4 Multiplicationusing the 3a multiple (unsigned)
36. The multiple generation part of a radix-4multiplier
37. Higher Radix Multiplication In radix-8, one must precompute 3a, 5a, 7a
Overhead becomes prohibitive and does not help
However, when we discuss CSA this may be useful
38. Radix-4 Booth Recoding Typically used for two's complement multiplication, but can also use for unsigned multiplication
Radix-4 Booth recoding also called "modified" Booth recoding
Goal is to reduce the number of partial products (see next slide)
Increase the complexity of "multiple-forming circuits"
Formerly were AND gates in normal tree multiplication
Reduces number of partial products by approximately half
Formerly, k-bit two's multiplier implies k partial products
Now k-bit two's complement multiplier recoded into ceil(k/2) digits, so ceil(k/2) partial products
39. Full Tree Architecture
40. Radix-2 and Radix-4 Booth Recoding
42. Radix-4 Booth Recoding Examples: Unsigned xk-1=0 k=12 bits, xk-1 = 0 ? 6 digits
Unsigned: (011010101010)2 = (1706)10 = 2 * 45 + -1 * 44 + -1 * 43 + -1 * 42 + -1 * 41 + -2 * 40
43. Radix-4 Booth Recoding Examples: Unsigned xk-1=1 k=12 bits, xk-1 = 1 ? 7 digits
Unsigned: (111010101010)2 = (3754)10 = 1 * 46 + -1 * 44 + -1 * 43 + -1 * 42 + -1 * 41 + -2 * 40
44. Radix-4 Booth Recoding Examples: Signed xk-1=0 k=12 bits, xk-1 = 0 ? 6 digits
Signed: (011010101010)2 = (1706)10 = 2 * 45 + -1 * 44 + -1 * 43 + -1 * 42 + -1 * 41 + -2 * 40
45. Radix-4 Booth Recoding Examples: Signed xk-1=1 k=12 bits, xk-1 = 1 ? 6 digits
Signed: (111010101010)2 = (-342)10 = -1 * 44 + -1 * 43 + -1 * 42 + -1 * 41 + -2 * 40
46. Radix-4 Unsigned and Signed Summary Unsigned
If xk-1 = 0, requires ceil(k/2) digits
If xk-1 = 1, requires ceil((k+1)/2) digits
Or you can always add a '0' to the MSB of both the multiplicand and multiplier, treat the multiplication as signed, then remove the two '0' MSBs of the output
Signed
Requires ceil(k/2) digits
47. Radix-4 Booth Multiplication (Two's Complement): Sequential Right-Shift
48. Booth Recoding and Multiple Selection Logic for High-Radix Multiplication (Sequential Multiplier)
49. Full Tree Architecture
50. Booth Recoding and Multiple Selection Logic for High-Radix Multiplication (Tree Adder)
51. High-Radix Sequential Multipliers
52. Multiplication Architectures
53. Sequential Shift-and-Add Multiplierwith a Carry Save Adder
54. Radix-4 multiplication with a carry-save adder
55. Radix-4 multiplication with a carry-save adder and Radix-4 Booth-recoding
56. Radix-4 multiplier with two carry-save adders
57. Radix-16 multiplier with carry-save adders
58. Bit-Serial Multipliers
59. Bit Serial Multipliers
60. Systolic Array Systolic array: synchronous arrays of processing elements that are interconnected by only short, local wires thus allowing very high clock rates
61. Semisystolic Bit-Serial Multiplier (1)
62. Semisystolic Bit-Serial Multiplier (2)
63. Retiming
64. Retimed Semisystolic Bit-Serial Multiplier (1)
65. Retimed Semisystolic Bit-Serial Multiplier (1)
66. Systolic Bit-Serial Multiplier
67. Modular Multiplication
68. Modular Multiplication
69. Modular Multiplication
70. Modular Multiplication
71. Modulo (2b-1) Carry Save Adder
72. 4 x 4 Modulo 15 Multiplier
73. 4 x 4 Modulo 13 Multiplier