SlideShare a Scribd company logo
1 of 34
Multiplication
Multiplier Notation




Partial Products
Logical-AND
Shift and Add Paradigm
Shift and Add Examples
Programmed Multiplication
Programmed Multiplication (cont.)
Hardware Shift and Add (right)
Hardware Shift and Add
Hardware Shift and Add (left)
Signed Number Multiplication
         (positive case)
Signed Number Multiplication
         (negative case)
Booth’s Recoding (or encoding)
• Developed for Speeding Up Multiplication in Early Computers
• When a Partial Product of 0 Occurs, Can Skip Addition and
       Just Shift
• Doesn’t 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 One’s in
• Booth Observed that a String of 1’s May be Replaced as:

                j −1           i +1           j +1
        2 +2
          j
                       +L+ 2          +2 =2
                                        i
                                                     −2   i
Booth’s Recoding Example
xn        xn-1     ...    xi xi-1    ...   x0    (0)
                                                                yi=xi-1 - xi
     yn          ...       yi       ...    y0

                  xi     xi-1   Operation        Comments              yi
                  0      0      shift only       string of zeros       0
                  1      1      shift only       string of ones        0
                  1      0      subtract shift   beg. string of ones   -1
                  0      1      addition shift   end string of ones    1

EXAMPLE
                                0011110011(0)
                                0100010101
Booth’s Recoding
• Maps Words With Digit Set [0,1] to Those With [-1,1]
Sequential 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)
Booth Multiplier Example
Booth’s Recoding Drawbacks
• Number of add/sub Operations are Variable
• Some Inefficiencies

       EXAMPLE
                       001010101(0)
                       011111111

• Can Use Modified Booth’s Recoding to Prevent
• Will Look at This in Later Class
Sign Extension
• Consider 6-bit 2’s Complement Number
           s=0 Positive Value; s=1 Negative Value
• Show Sign Extension Works:
s s s s s p4 p3 p2 p1 p0
= − s ×29 + s ×28 + s ×27 + s ×26 + s ×25 + p4 ×24 + p3 ×23 + p2 ×2 2 + p1 ×21 + p0 ×20
                                       4
= − s ×2 + s ×(2 + 2 + 2 + 2 ) + ∑ pi ×2i
        9          8   7   6      5

                                      i =0
                            4
= − s ×2 + s ×(2 − 2 ) + ∑ pi ×2i
        9          9   5

                           i =0
             4
= − s ×2 + ∑ pi ×2i
        5

            i =0

  • Definition of 2’s Complement
Sign 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)
Sign 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)
Methods for Fast Multiplication
• Reduce   Number of Partial Products to be Added

  – Group Multiplier Bits Together

  – Higher Radix Multiplier

• Add the Partial Products Faster
Radix-r Shift and Add
Radix-4 Multiplication




• Shifter is Multi-bit

• No Longer a Simple AND of xi with a

• Need 4:1 MUX with 0, a, 2a, 3a as Inputs
Partial Product Selection




• 0, a and 2a are easy

• 3a=a+2a → Requies an Adder!

• Need a Way to Compute 3a Efficiently
Example With 3a Availability
Computing 3a
• One Way is to Precompute 3a and Store in Register Initially

• Another Way is When 3a Occurs Add -a

• Send Carry of 1 to Next into Next Radix-4 Digit of Multiplier

• Causes Incoming Multiple to be [0,4] Versus [0,3]
   – 4 Because incoming carry to 112 Causes Digit 1002

• Multiples 0, 1, 2 Handled Easily

• Multiple 3 Converted to –1 With Outgoing Carry of 1

• Multiple 4 Converted to 0 With Outgoing Carry of 1

• Requires Extra Cycle of Computation Since MSD May Have Carry
Example With 3a Availability
Using Radices >4
• Could Also Use Radices of 8, 16, ...

• Bit Groupings of Size 3, 4, ...

• Multiple Generation Hardware Becomes More Complex

• Must Precompute 3a, 5a, 7a, ....

• Or Use 3a With a Carry Scheme
• Carry Scheme Converts Multipliers 5a, 6a, 7a
      to –3a, -2a, -a, etc.
• Carry Digit in This Form Becomes a 1
Booth Recoding
• Modern Arithmetic Circuits DO NOT Apply
      Booth Recoding Directly
• Useful in Understanding Higher-radix Versions of
      Booth Recoding
• No Consecutive 1’s or –1’s Occur Using Previously Seen
      Booth Recoding
• Booth Recoding in Radix-4 Results in the Following:
   – Only Multiples of ±a or ±2a are Required
   – These are Easily Obtained Using Shifting and Complementation
Modified Booth Recoding

• Booth Recoding Results From xi and xi-1

• Radix-4 Multiplier Digits Implies Booth Recoding

      Based on xi+1, xi and xi-1

• Similar to Classical Booth Recoding, Modified Booth

      Recoding Encodes Multipliers into [-2,2]
Modified Booth Recoding
Example Modified Booth Recoding
Example Multiplication with MBR
Hardware MBR Example

More Related Content

What's hot

Wallace tree multiplier
Wallace tree multiplierWallace tree multiplier
Wallace tree multiplierSudhir Kumar
 
Overlap Add, Overlap Save(digital signal processing)
Overlap Add, Overlap Save(digital signal processing)Overlap Add, Overlap Save(digital signal processing)
Overlap Add, Overlap Save(digital signal processing)Gourab Ghosh
 
Microcontroller-8051.ppt
Microcontroller-8051.pptMicrocontroller-8051.ppt
Microcontroller-8051.pptDr.YNM
 
Design and development of carry select adder
Design and development of carry select adderDesign and development of carry select adder
Design and development of carry select adderABIN THOMAS
 
Modified booths algorithm part 1
Modified booths algorithm part 1Modified booths algorithm part 1
Modified booths algorithm part 1babuece
 
Phase Locked Loop (PLL)
Phase Locked Loop (PLL)Phase Locked Loop (PLL)
Phase Locked Loop (PLL)Debayon Saha
 
Circular Convolution
Circular ConvolutionCircular Convolution
Circular ConvolutionSarang Joshi
 
Pass Transistor Logic
Pass Transistor LogicPass Transistor Logic
Pass Transistor LogicDiwaker Pant
 
Clock divider by 3
Clock divider by 3Clock divider by 3
Clock divider by 3Ashok Reddy
 
Digital electronics logic families
Digital electronics logic familiesDigital electronics logic families
Digital electronics logic familiesBLESSINAR0
 
Transistor Transistor Logic
Transistor Transistor LogicTransistor Transistor Logic
Transistor Transistor Logicsurat murthy
 
Combinational circuits
Combinational circuitsCombinational circuits
Combinational circuitsSARITHA REDDY
 
DESIGN AND SIMULATION OF DIFFERENT 8-BIT MULTIPLIERS USING VERILOG CODE BY SA...
DESIGN AND SIMULATION OF DIFFERENT 8-BIT MULTIPLIERS USING VERILOG CODE BY SA...DESIGN AND SIMULATION OF DIFFERENT 8-BIT MULTIPLIERS USING VERILOG CODE BY SA...
DESIGN AND SIMULATION OF DIFFERENT 8-BIT MULTIPLIERS USING VERILOG CODE BY SA...Saikiran Panjala
 
Wallace tree multiplier.pptx1
Wallace tree multiplier.pptx1Wallace tree multiplier.pptx1
Wallace tree multiplier.pptx1vamshi krishna
 
Pseudo Random Bit Sequence Generator
Pseudo Random Bit Sequence Generator Pseudo Random Bit Sequence Generator
Pseudo Random Bit Sequence Generator ajay singh
 

What's hot (20)

Wallace tree multiplier
Wallace tree multiplierWallace tree multiplier
Wallace tree multiplier
 
Overlap Add, Overlap Save(digital signal processing)
Overlap Add, Overlap Save(digital signal processing)Overlap Add, Overlap Save(digital signal processing)
Overlap Add, Overlap Save(digital signal processing)
 
Microcontroller-8051.ppt
Microcontroller-8051.pptMicrocontroller-8051.ppt
Microcontroller-8051.ppt
 
Design and development of carry select adder
Design and development of carry select adderDesign and development of carry select adder
Design and development of carry select adder
 
Modified booths algorithm part 1
Modified booths algorithm part 1Modified booths algorithm part 1
Modified booths algorithm part 1
 
Phase Locked Loop (PLL)
Phase Locked Loop (PLL)Phase Locked Loop (PLL)
Phase Locked Loop (PLL)
 
Vedic multiplier
Vedic multiplierVedic multiplier
Vedic multiplier
 
Counters
CountersCounters
Counters
 
Circular Convolution
Circular ConvolutionCircular Convolution
Circular Convolution
 
Pass Transistor Logic
Pass Transistor LogicPass Transistor Logic
Pass Transistor Logic
 
Clock divider by 3
Clock divider by 3Clock divider by 3
Clock divider by 3
 
Digital electronics logic families
Digital electronics logic familiesDigital electronics logic families
Digital electronics logic families
 
Transistor Transistor Logic
Transistor Transistor LogicTransistor Transistor Logic
Transistor Transistor Logic
 
Pass Transistor Logic
Pass Transistor LogicPass Transistor Logic
Pass Transistor Logic
 
CPLD xc9500
CPLD xc9500CPLD xc9500
CPLD xc9500
 
Combinational circuits
Combinational circuitsCombinational circuits
Combinational circuits
 
Multiplexers & Demultiplexers
Multiplexers & DemultiplexersMultiplexers & Demultiplexers
Multiplexers & Demultiplexers
 
DESIGN AND SIMULATION OF DIFFERENT 8-BIT MULTIPLIERS USING VERILOG CODE BY SA...
DESIGN AND SIMULATION OF DIFFERENT 8-BIT MULTIPLIERS USING VERILOG CODE BY SA...DESIGN AND SIMULATION OF DIFFERENT 8-BIT MULTIPLIERS USING VERILOG CODE BY SA...
DESIGN AND SIMULATION OF DIFFERENT 8-BIT MULTIPLIERS USING VERILOG CODE BY SA...
 
Wallace tree multiplier.pptx1
Wallace tree multiplier.pptx1Wallace tree multiplier.pptx1
Wallace tree multiplier.pptx1
 
Pseudo Random Bit Sequence Generator
Pseudo Random Bit Sequence Generator Pseudo Random Bit Sequence Generator
Pseudo Random Bit Sequence Generator
 

Viewers also liked

Booths Multiplication Algorithm
Booths Multiplication AlgorithmBooths Multiplication Algorithm
Booths Multiplication Algorithmknightnick
 
Booths algorithm for Multiplication
Booths algorithm for MultiplicationBooths algorithm for Multiplication
Booths algorithm for MultiplicationVikas Yadav
 
The Multipliers Seminar
The Multipliers SeminarThe Multipliers Seminar
The Multipliers SeminarGreg McKeown
 
Bit Serial multiplier using Verilog
Bit Serial multiplier using VerilogBit Serial multiplier using Verilog
Bit Serial multiplier using VerilogBhargavKatkam
 
All VLSI programs
All VLSI programsAll VLSI programs
All VLSI programsGouthaman V
 
DMA controller intel 8257
DMA controller intel 8257DMA controller intel 8257
DMA controller intel 8257Daniel Ilunga
 
8237 / 8257 DMA
8237 / 8257 DMA8237 / 8257 DMA
8237 / 8257 DMAAJAL A J
 
8237 dma controller
8237 dma controller8237 dma controller
8237 dma controllerTech_MX
 
Pipelining and vector processing
Pipelining and vector processingPipelining and vector processing
Pipelining and vector processingKamal Acharya
 

Viewers also liked (13)

Parallel processing Concepts
Parallel processing ConceptsParallel processing Concepts
Parallel processing Concepts
 
VERILOG CODE
VERILOG CODEVERILOG CODE
VERILOG CODE
 
09 Arithmetic
09  Arithmetic09  Arithmetic
09 Arithmetic
 
Mux based array mul ppt
Mux based array mul pptMux based array mul ppt
Mux based array mul ppt
 
Booths Multiplication Algorithm
Booths Multiplication AlgorithmBooths Multiplication Algorithm
Booths Multiplication Algorithm
 
Booths algorithm for Multiplication
Booths algorithm for MultiplicationBooths algorithm for Multiplication
Booths algorithm for Multiplication
 
The Multipliers Seminar
The Multipliers SeminarThe Multipliers Seminar
The Multipliers Seminar
 
Bit Serial multiplier using Verilog
Bit Serial multiplier using VerilogBit Serial multiplier using Verilog
Bit Serial multiplier using Verilog
 
All VLSI programs
All VLSI programsAll VLSI programs
All VLSI programs
 
DMA controller intel 8257
DMA controller intel 8257DMA controller intel 8257
DMA controller intel 8257
 
8237 / 8257 DMA
8237 / 8257 DMA8237 / 8257 DMA
8237 / 8257 DMA
 
8237 dma controller
8237 dma controller8237 dma controller
8237 dma controller
 
Pipelining and vector processing
Pipelining and vector processingPipelining and vector processing
Pipelining and vector processing
 

Similar to Booth Multiplier

Similar to Booth Multiplier (20)

CA UNIT II.pptx
CA UNIT II.pptxCA UNIT II.pptx
CA UNIT II.pptx
 
2.1 data represent on cpu
2.1 data represent on cpu2.1 data represent on cpu
2.1 data represent on cpu
 
ARITHMETIC FOR COMPUTERS
ARITHMETIC FOR COMPUTERS	  ARITHMETIC FOR COMPUTERS
ARITHMETIC FOR COMPUTERS
 
Computer Architecture
Computer ArchitectureComputer Architecture
Computer Architecture
 
Computer Architecture
Computer ArchitectureComputer Architecture
Computer Architecture
 
09 arithmetic
09 arithmetic09 arithmetic
09 arithmetic
 
09 arithmetic 2
09 arithmetic 209 arithmetic 2
09 arithmetic 2
 
09 arithmetic
09 arithmetic09 arithmetic
09 arithmetic
 
CA Unit ii
CA Unit iiCA Unit ii
CA Unit ii
 
Counit2
Counit2Counit2
Counit2
 
Dpsd lecture-notes
Dpsd lecture-notesDpsd lecture-notes
Dpsd lecture-notes
 
UNIT - I.pptx
UNIT - I.pptxUNIT - I.pptx
UNIT - I.pptx
 
UNIT - I.pptx
UNIT - I.pptxUNIT - I.pptx
UNIT - I.pptx
 
Chapter_02_The_Language_of_Bits_Any.pptx
Chapter_02_The_Language_of_Bits_Any.pptxChapter_02_The_Language_of_Bits_Any.pptx
Chapter_02_The_Language_of_Bits_Any.pptx
 
Binary operations
 Binary operations Binary operations
Binary operations
 
Mba admission in india
Mba admission in indiaMba admission in india
Mba admission in india
 
Chapter 4
Chapter 4Chapter 4
Chapter 4
 
Logic microoperations
Logic microoperationsLogic microoperations
Logic microoperations
 
Number system
Number systemNumber system
Number system
 
UNIT-1_CSA.pdf
UNIT-1_CSA.pdfUNIT-1_CSA.pdf
UNIT-1_CSA.pdf
 

More from Sudhir Kumar

air and dd question bank
air and dd question bank air and dd question bank
air and dd question bank Sudhir Kumar
 
model question on engineering assistants air and dd with answers
model question on engineering assistants air and dd with answersmodel question on engineering assistants air and dd with answers
model question on engineering assistants air and dd with answersSudhir Kumar
 
doordarshan and air question papers with answers
doordarshan and air question papers with answersdoordarshan and air question papers with answers
doordarshan and air question papers with answersSudhir Kumar
 
engineering assistants question papers in doordarshan and air
engineering assistants question papers in doordarshan and airengineering assistants question papers in doordarshan and air
engineering assistants question papers in doordarshan and airSudhir Kumar
 
apgenco 2012 question paper
apgenco 2012 question paperapgenco 2012 question paper
apgenco 2012 question paperSudhir Kumar
 
Sub-prime Crisis - Collapse of Lehman Brothers
Sub-prime Crisis - Collapse of Lehman BrothersSub-prime Crisis - Collapse of Lehman Brothers
Sub-prime Crisis - Collapse of Lehman BrothersSudhir Kumar
 
Application of electroceramics
Application of electroceramicsApplication of electroceramics
Application of electroceramicsSudhir Kumar
 
A hybrid radix 4 radix-8 low-power, high
A hybrid radix 4 radix-8 low-power, highA hybrid radix 4 radix-8 low-power, high
A hybrid radix 4 radix-8 low-power, highSudhir Kumar
 
Simple regenerative receiver
Simple regenerative receiverSimple regenerative receiver
Simple regenerative receiverSudhir Kumar
 

More from Sudhir Kumar (14)

all india radio
all india radioall india radio
all india radio
 
air and dd question bank
air and dd question bank air and dd question bank
air and dd question bank
 
model question on engineering assistants air and dd with answers
model question on engineering assistants air and dd with answersmodel question on engineering assistants air and dd with answers
model question on engineering assistants air and dd with answers
 
doordarshan and air question papers with answers
doordarshan and air question papers with answersdoordarshan and air question papers with answers
doordarshan and air question papers with answers
 
engineering assistants question papers in doordarshan and air
engineering assistants question papers in doordarshan and airengineering assistants question papers in doordarshan and air
engineering assistants question papers in doordarshan and air
 
apgenco 2012 question paper
apgenco 2012 question paperapgenco 2012 question paper
apgenco 2012 question paper
 
Sub-prime Crisis - Collapse of Lehman Brothers
Sub-prime Crisis - Collapse of Lehman BrothersSub-prime Crisis - Collapse of Lehman Brothers
Sub-prime Crisis - Collapse of Lehman Brothers
 
Isdn (1)
Isdn (1)Isdn (1)
Isdn (1)
 
Application of electroceramics
Application of electroceramicsApplication of electroceramics
Application of electroceramics
 
A hybrid radix 4 radix-8 low-power, high
A hybrid radix 4 radix-8 low-power, highA hybrid radix 4 radix-8 low-power, high
A hybrid radix 4 radix-8 low-power, high
 
3 g tutorial
3 g tutorial3 g tutorial
3 g tutorial
 
Pda
PdaPda
Pda
 
Simple regenerative receiver
Simple regenerative receiverSimple regenerative receiver
Simple regenerative receiver
 
diode technology
diode technologydiode technology
diode technology
 

Booth Multiplier

  • 3. Shift and Add Paradigm
  • 4. Shift and Add Examples
  • 7. Hardware Shift and Add (right)
  • 9. Hardware Shift and Add (left)
  • 10. Signed Number Multiplication (positive case)
  • 11. Signed Number Multiplication (negative case)
  • 12. Booth’s Recoding (or encoding) • Developed for Speeding Up Multiplication in Early Computers • When a Partial Product of 0 Occurs, Can Skip Addition and Just Shift • Doesn’t 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 One’s in • Booth Observed that a String of 1’s May be Replaced as: j −1 i +1 j +1 2 +2 j +L+ 2 +2 =2 i −2 i
  • 13. Booth’s Recoding Example xn xn-1 ... xi xi-1 ... x0 (0) yi=xi-1 - xi yn ... yi ... y0 xi xi-1 Operation Comments yi 0 0 shift only string of zeros 0 1 1 shift only string of ones 0 1 0 subtract shift beg. string of ones -1 0 1 addition shift end string of ones 1 EXAMPLE 0011110011(0) 0100010101
  • 14. Booth’s Recoding • Maps Words With Digit Set [0,1] to Those With [-1,1]
  • 15. Sequential 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)
  • 17. Booth’s Recoding Drawbacks • Number of add/sub Operations are Variable • Some Inefficiencies EXAMPLE 001010101(0) 011111111 • Can Use Modified Booth’s Recoding to Prevent • Will Look at This in Later Class
  • 18. Sign Extension • Consider 6-bit 2’s Complement Number s=0 Positive Value; s=1 Negative Value • Show Sign Extension Works: s s s s s p4 p3 p2 p1 p0 = − s ×29 + s ×28 + s ×27 + s ×26 + s ×25 + p4 ×24 + p3 ×23 + p2 ×2 2 + p1 ×21 + p0 ×20 4 = − s ×2 + s ×(2 + 2 + 2 + 2 ) + ∑ pi ×2i 9 8 7 6 5 i =0 4 = − s ×2 + s ×(2 − 2 ) + ∑ pi ×2i 9 9 5 i =0 4 = − s ×2 + ∑ pi ×2i 5 i =0 • Definition of 2’s Complement
  • 19. Sign 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)
  • 20. Sign 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)
  • 21. Methods for Fast Multiplication • Reduce Number of Partial Products to be Added – Group Multiplier Bits Together – Higher Radix Multiplier • Add the Partial Products Faster
  • 23. Radix-4 Multiplication • Shifter is Multi-bit • No Longer a Simple AND of xi with a • Need 4:1 MUX with 0, a, 2a, 3a as Inputs
  • 24. Partial Product Selection • 0, a and 2a are easy • 3a=a+2a → Requies an Adder! • Need a Way to Compute 3a Efficiently
  • 25. Example With 3a Availability
  • 26. Computing 3a • One Way is to Precompute 3a and Store in Register Initially • Another Way is When 3a Occurs Add -a • Send Carry of 1 to Next into Next Radix-4 Digit of Multiplier • Causes Incoming Multiple to be [0,4] Versus [0,3] – 4 Because incoming carry to 112 Causes Digit 1002 • Multiples 0, 1, 2 Handled Easily • Multiple 3 Converted to –1 With Outgoing Carry of 1 • Multiple 4 Converted to 0 With Outgoing Carry of 1 • Requires Extra Cycle of Computation Since MSD May Have Carry
  • 27. Example With 3a Availability
  • 28. Using Radices >4 • Could Also Use Radices of 8, 16, ... • Bit Groupings of Size 3, 4, ... • Multiple Generation Hardware Becomes More Complex • Must Precompute 3a, 5a, 7a, .... • Or Use 3a With a Carry Scheme • Carry Scheme Converts Multipliers 5a, 6a, 7a to –3a, -2a, -a, etc. • Carry Digit in This Form Becomes a 1
  • 29. Booth Recoding • Modern Arithmetic Circuits DO NOT Apply Booth Recoding Directly • Useful in Understanding Higher-radix Versions of Booth Recoding • No Consecutive 1’s or –1’s Occur Using Previously Seen Booth Recoding • Booth Recoding in Radix-4 Results in the Following: – Only Multiples of ±a or ±2a are Required – These are Easily Obtained Using Shifting and Complementation
  • 30. Modified Booth Recoding • Booth Recoding Results From xi and xi-1 • Radix-4 Multiplier Digits Implies Booth Recoding Based on xi+1, xi and xi-1 • Similar to Classical Booth Recoding, Modified Booth Recoding Encodes Multipliers into [-2,2]