SlideShare a Scribd company logo
1
Lecture 8: Binary Multiplication & Division
• Today’s topics:
 Addition/Subtraction
 Multiplication
 Division
• Reminder: get started early on assignment 3
2
2’s Complement – Signed Numbers
0000 0000 0000 0000 0000 0000 0000 0000two = 0ten
0000 0000 0000 0000 0000 0000 0000 0001two = 1ten
…
0111 1111 1111 1111 1111 1111 1111 1111two = 231-1
1000 0000 0000 0000 0000 0000 0000 0000two = -231
1000 0000 0000 0000 0000 0000 0000 0001two = -(231 – 1)
1000 0000 0000 0000 0000 0000 0000 0010two = -(231 – 2)
…
1111 1111 1111 1111 1111 1111 1111 1110two = -2
1111 1111 1111 1111 1111 1111 1111 1111two = -1
Why is this representation favorable?
Consider the sum of 1 and -2 …. we get -1
Consider the sum of 2 and -1 …. we get +1
This format can directly undergo addition without any conversions!
Each number represents the quantity
x31 -231 + x30 230 + x29 229 + … + x1 21 + x0 20
3
Alternative Representations
• The following two (intuitive) representations were discarded
because they required additional conversion steps before
arithmetic could be performed on the numbers
 sign-and-magnitude: the most significant bit represents
+/- and the remaining bits express the magnitude
 one’s complement: -x is represented by inverting all
the bits of x
Both representations above suffer from two zeroes
4
Addition and Subtraction
• Addition is similar to decimal arithmetic
• For subtraction, simply add the negative number – hence,
subtract A-B involves negating B’s bits, adding 1 and A
5
Overflows
• For an unsigned number, overflow happens when the last carry (1)
cannot be accommodated
• For a signed number, overflow happens when the most significant bit
is not the same as every bit to its left
 when the sum of two positive numbers is a negative result
 when the sum of two negative numbers is a positive result
 The sum of a positive and negative number will never overflow
• MIPS allows addu and subu instructions that work with unsigned
integers and never flag an overflow – to detect the overflow, other
instructions will have to be executed
6
Multiplication Example
Multiplicand 1000ten
Multiplier x 1001ten
---------------
1000
0000
0000
1000
----------------
Product 1001000ten
In every step
• multiplicand is shifted
• next bit of multiplier is examined (also a shifting step)
• if this bit is 1, shifted multiplicand is added to the product
7
HW Algorithm 1
In every step
• multiplicand is shifted
• next bit of multiplier is examined (also a shifting step)
• if this bit is 1, shifted multiplicand is added to the product
8
HW Algorithm 2
• 32-bit ALU and multiplicand is untouched
• the sum keeps shifting right
• at every step, number of bits in product + multiplier = 64,
hence, they share a single 64-bit register
9
Notes
• The previous algorithm also works for signed numbers
(negative numbers in 2’s complement form)
• We can also convert negative numbers to positive, multiply
the magnitudes, and convert to negative if signs disagree
• The product of two 32-bit numbers can be a 64-bit number
-- hence, in MIPS, the product is saved in two 32-bit
registers
10
MIPS Instructions
mult $s2, $s3 computes the product and stores
it in two “internal” registers that
can be referred to as hi and lo
mfhi $s0 moves the value in hi into $s0
mflo $s1 moves the value in lo into $s1
Similarly for multu
11
Fast Algorithm
• The previous algorithm
requires a clock to ensure that
the earlier addition has
completed before shifting
• This algorithm can quickly set
up most inputs – it then has to
wait for the result of each add
to propagate down – faster
because no clock is involved
-- Note: high transistor cost
12
Division
1001ten Quotient
Divisor 1000ten | 1001010ten Dividend
-1000
10
101
1010
-1000
10ten Remainder
At every step,
• shift divisor right and compare it with current dividend
• if divisor is larger, shift 0 as the next bit of the quotient
• if divisor is smaller, subtract to get new dividend and shift 1
as the next bit of the quotient
13
Division
1001ten Quotient
Divisor 1000ten | 1001010ten Dividend
0001001010 0001001010 0000001010 0000001010
100000000000  0001000000 00001000000000001000
Quo: 0 000001 0000010 000001001
At every step,
• shift divisor right and compare it with current dividend
• if divisor is larger, shift 0 as the next bit of the quotient
• if divisor is smaller, subtract to get new dividend and shift 1
as the next bit of the quotient
14
Divide Example
• Divide 7ten (0000 0111two) by 2ten (0010two)
Iter Step Quot Divisor Remainder
0 Initial values
1
2
3
4
5
15
Divide Example
• Divide 7ten (0000 0111two) by 2ten (0010two)
Iter Step Quot Divisor Remainder
0 Initial values 0000 0010 0000 0000 0111
1 Rem = Rem – Div
Rem < 0  +Div, shift 0 into Q
Shift Div right
0000
0000
0000
0010 0000
0010 0000
0001 0000
1110 0111
0000 0111
0000 0111
2 Same steps as 1 0000
0000
0000
0001 0000
0001 0000
0000 1000
1111 0111
0000 0111
0000 0111
3 Same steps as 1 0000 0000 0100 0000 0111
4 Rem = Rem – Div
Rem >= 0  shift 1 into Q
Shift Div right
0000
0001
0001
0000 0100
0000 0100
0000 0010
0000 0011
0000 0011
0000 0011
5 Same steps as 4 0011 0000 0001 0000 0001
16
Hardware for Division
A comparison requires a subtract; the sign of the result is
examined; if the result is negative, the divisor must be added back
17
Efficient Division
18
Divisions involving Negatives
• Simplest solution: convert to positive and adjust sign later
• Note that multiple solutions exist for the equation:
Dividend = Quotient x Divisor + Remainder
+7 div +2 Quo = Rem =
-7 div +2 Quo = Rem =
+7 div -2 Quo = Rem =
-7 div -2 Quo = Rem =
19
Divisions involving Negatives
• Simplest solution: convert to positive and adjust sign later
• Note that multiple solutions exist for the equation:
Dividend = Quotient x Divisor + Remainder
+7 div +2 Quo = +3 Rem = +1
-7 div +2 Quo = -3 Rem = -1
+7 div -2 Quo = -3 Rem = +1
-7 div -2 Quo = +3 Rem = -1
Convention: Dividend and remainder have the same sign
Quotient is negative if signs disagree
These rules fulfil the equation above
20
Title
• Bullet

More Related Content

PPT
3810-08.ppttttttttttttttttptptptpttptppttptp
PPT
05 multiply divide
PPTX
Computer Architecture and Organization- arithmetic
PPT
Arithmetic for Computers.ppt
PDF
Unit ii ca--arithmetic
PDF
This is abouts are you doing the same time who is the best person to be safe and
PPT
Data representation and Arithmetic Algorithms
PPTX
assembly language programming organization of IBM PC chapter 9 part-1(MULTIPL...
3810-08.ppttttttttttttttttptptptpttptppttptp
05 multiply divide
Computer Architecture and Organization- arithmetic
Arithmetic for Computers.ppt
Unit ii ca--arithmetic
This is abouts are you doing the same time who is the best person to be safe and
Data representation and Arithmetic Algorithms
assembly language programming organization of IBM PC chapter 9 part-1(MULTIPL...

Similar to 3810-08.ppt (20)

PPTX
CA Unit ii
PPTX
ARITHMETIC FOR COMPUTERS
PPTX
Computer Architecture
PPTX
Computer Architecture
PDF
N akkk4lmealkkk3eqklaflerkpwoerkwflskkes
PPTX
Unit_3 OF COMPUTER ARCHITECTUREUnit.pptx
PDF
Organisasi dan Arsitektur Komputer MO-08
PDF
Week-6-Lecture-6-Arithmetic-processing-unit-implementation.pdf
PPTX
Chapter 03 arithmetic for computers
PPT
Counit2
PPT
CSe_Cumilla Bangladeshrr_Country CSE CSE213_5.ppt
PDF
Computer arithmetic
PDF
Arithmetic Unit Addition Subtraction Multiplication and Division
PPT
Addition and subtraction with signed magnitude data (mano
PPTX
Multiplication & division instructions microprocessor 8086
PPT
09 arithmetic
PPT
09 arithmetic 2
PPT
09 arithmetic
PPTX
Module 3 of computer organization and architecture
PPTX
PPT 2 - CA unit II 22 7-2020
CA Unit ii
ARITHMETIC FOR COMPUTERS
Computer Architecture
Computer Architecture
N akkk4lmealkkk3eqklaflerkpwoerkwflskkes
Unit_3 OF COMPUTER ARCHITECTUREUnit.pptx
Organisasi dan Arsitektur Komputer MO-08
Week-6-Lecture-6-Arithmetic-processing-unit-implementation.pdf
Chapter 03 arithmetic for computers
Counit2
CSe_Cumilla Bangladeshrr_Country CSE CSE213_5.ppt
Computer arithmetic
Arithmetic Unit Addition Subtraction Multiplication and Division
Addition and subtraction with signed magnitude data (mano
Multiplication & division instructions microprocessor 8086
09 arithmetic
09 arithmetic 2
09 arithmetic
Module 3 of computer organization and architecture
PPT 2 - CA unit II 22 7-2020
Ad

Recently uploaded (20)

PDF
Empowerment Technology for Senior High School Guide
PDF
Black Hat USA 2025 - Micro ICS Summit - ICS/OT Threat Landscape
PPTX
UV-Visible spectroscopy..pptx UV-Visible Spectroscopy – Electronic Transition...
PDF
A systematic review of self-coping strategies used by university students to ...
PDF
OBE - B.A.(HON'S) IN INTERIOR ARCHITECTURE -Ar.MOHIUDDIN.pdf
DOC
Soft-furnishing-By-Architect-A.F.M.Mohiuddin-Akhand.doc
PDF
RMMM.pdf make it easy to upload and study
PPTX
Onco Emergencies - Spinal cord compression Superior vena cava syndrome Febr...
PPTX
1st Inaugural Professorial Lecture held on 19th February 2020 (Governance and...
PDF
Trump Administration's workforce development strategy
PPTX
Cell Types and Its function , kingdom of life
PDF
Supply Chain Operations Speaking Notes -ICLT Program
PDF
Chinmaya Tiranga quiz Grand Finale.pdf
PDF
Paper A Mock Exam 9_ Attempt review.pdf.
PPTX
Digestion and Absorption of Carbohydrates, Proteina and Fats
PPTX
202450812 BayCHI UCSC-SV 20250812 v17.pptx
PDF
SOIL: Factor, Horizon, Process, Classification, Degradation, Conservation
PDF
LDMMIA Reiki Yoga Finals Review Spring Summer
PPTX
Lesson notes of climatology university.
PPTX
Introduction-to-Literarature-and-Literary-Studies-week-Prelim-coverage.pptx
Empowerment Technology for Senior High School Guide
Black Hat USA 2025 - Micro ICS Summit - ICS/OT Threat Landscape
UV-Visible spectroscopy..pptx UV-Visible Spectroscopy – Electronic Transition...
A systematic review of self-coping strategies used by university students to ...
OBE - B.A.(HON'S) IN INTERIOR ARCHITECTURE -Ar.MOHIUDDIN.pdf
Soft-furnishing-By-Architect-A.F.M.Mohiuddin-Akhand.doc
RMMM.pdf make it easy to upload and study
Onco Emergencies - Spinal cord compression Superior vena cava syndrome Febr...
1st Inaugural Professorial Lecture held on 19th February 2020 (Governance and...
Trump Administration's workforce development strategy
Cell Types and Its function , kingdom of life
Supply Chain Operations Speaking Notes -ICLT Program
Chinmaya Tiranga quiz Grand Finale.pdf
Paper A Mock Exam 9_ Attempt review.pdf.
Digestion and Absorption of Carbohydrates, Proteina and Fats
202450812 BayCHI UCSC-SV 20250812 v17.pptx
SOIL: Factor, Horizon, Process, Classification, Degradation, Conservation
LDMMIA Reiki Yoga Finals Review Spring Summer
Lesson notes of climatology university.
Introduction-to-Literarature-and-Literary-Studies-week-Prelim-coverage.pptx
Ad

3810-08.ppt

  • 1. 1 Lecture 8: Binary Multiplication & Division • Today’s topics:  Addition/Subtraction  Multiplication  Division • Reminder: get started early on assignment 3
  • 2. 2 2’s Complement – Signed Numbers 0000 0000 0000 0000 0000 0000 0000 0000two = 0ten 0000 0000 0000 0000 0000 0000 0000 0001two = 1ten … 0111 1111 1111 1111 1111 1111 1111 1111two = 231-1 1000 0000 0000 0000 0000 0000 0000 0000two = -231 1000 0000 0000 0000 0000 0000 0000 0001two = -(231 – 1) 1000 0000 0000 0000 0000 0000 0000 0010two = -(231 – 2) … 1111 1111 1111 1111 1111 1111 1111 1110two = -2 1111 1111 1111 1111 1111 1111 1111 1111two = -1 Why is this representation favorable? Consider the sum of 1 and -2 …. we get -1 Consider the sum of 2 and -1 …. we get +1 This format can directly undergo addition without any conversions! Each number represents the quantity x31 -231 + x30 230 + x29 229 + … + x1 21 + x0 20
  • 3. 3 Alternative Representations • The following two (intuitive) representations were discarded because they required additional conversion steps before arithmetic could be performed on the numbers  sign-and-magnitude: the most significant bit represents +/- and the remaining bits express the magnitude  one’s complement: -x is represented by inverting all the bits of x Both representations above suffer from two zeroes
  • 4. 4 Addition and Subtraction • Addition is similar to decimal arithmetic • For subtraction, simply add the negative number – hence, subtract A-B involves negating B’s bits, adding 1 and A
  • 5. 5 Overflows • For an unsigned number, overflow happens when the last carry (1) cannot be accommodated • For a signed number, overflow happens when the most significant bit is not the same as every bit to its left  when the sum of two positive numbers is a negative result  when the sum of two negative numbers is a positive result  The sum of a positive and negative number will never overflow • MIPS allows addu and subu instructions that work with unsigned integers and never flag an overflow – to detect the overflow, other instructions will have to be executed
  • 6. 6 Multiplication Example Multiplicand 1000ten Multiplier x 1001ten --------------- 1000 0000 0000 1000 ---------------- Product 1001000ten In every step • multiplicand is shifted • next bit of multiplier is examined (also a shifting step) • if this bit is 1, shifted multiplicand is added to the product
  • 7. 7 HW Algorithm 1 In every step • multiplicand is shifted • next bit of multiplier is examined (also a shifting step) • if this bit is 1, shifted multiplicand is added to the product
  • 8. 8 HW Algorithm 2 • 32-bit ALU and multiplicand is untouched • the sum keeps shifting right • at every step, number of bits in product + multiplier = 64, hence, they share a single 64-bit register
  • 9. 9 Notes • The previous algorithm also works for signed numbers (negative numbers in 2’s complement form) • We can also convert negative numbers to positive, multiply the magnitudes, and convert to negative if signs disagree • The product of two 32-bit numbers can be a 64-bit number -- hence, in MIPS, the product is saved in two 32-bit registers
  • 10. 10 MIPS Instructions mult $s2, $s3 computes the product and stores it in two “internal” registers that can be referred to as hi and lo mfhi $s0 moves the value in hi into $s0 mflo $s1 moves the value in lo into $s1 Similarly for multu
  • 11. 11 Fast Algorithm • The previous algorithm requires a clock to ensure that the earlier addition has completed before shifting • This algorithm can quickly set up most inputs – it then has to wait for the result of each add to propagate down – faster because no clock is involved -- Note: high transistor cost
  • 12. 12 Division 1001ten Quotient Divisor 1000ten | 1001010ten Dividend -1000 10 101 1010 -1000 10ten Remainder At every step, • shift divisor right and compare it with current dividend • if divisor is larger, shift 0 as the next bit of the quotient • if divisor is smaller, subtract to get new dividend and shift 1 as the next bit of the quotient
  • 13. 13 Division 1001ten Quotient Divisor 1000ten | 1001010ten Dividend 0001001010 0001001010 0000001010 0000001010 100000000000  0001000000 00001000000000001000 Quo: 0 000001 0000010 000001001 At every step, • shift divisor right and compare it with current dividend • if divisor is larger, shift 0 as the next bit of the quotient • if divisor is smaller, subtract to get new dividend and shift 1 as the next bit of the quotient
  • 14. 14 Divide Example • Divide 7ten (0000 0111two) by 2ten (0010two) Iter Step Quot Divisor Remainder 0 Initial values 1 2 3 4 5
  • 15. 15 Divide Example • Divide 7ten (0000 0111two) by 2ten (0010two) Iter Step Quot Divisor Remainder 0 Initial values 0000 0010 0000 0000 0111 1 Rem = Rem – Div Rem < 0  +Div, shift 0 into Q Shift Div right 0000 0000 0000 0010 0000 0010 0000 0001 0000 1110 0111 0000 0111 0000 0111 2 Same steps as 1 0000 0000 0000 0001 0000 0001 0000 0000 1000 1111 0111 0000 0111 0000 0111 3 Same steps as 1 0000 0000 0100 0000 0111 4 Rem = Rem – Div Rem >= 0  shift 1 into Q Shift Div right 0000 0001 0001 0000 0100 0000 0100 0000 0010 0000 0011 0000 0011 0000 0011 5 Same steps as 4 0011 0000 0001 0000 0001
  • 16. 16 Hardware for Division A comparison requires a subtract; the sign of the result is examined; if the result is negative, the divisor must be added back
  • 18. 18 Divisions involving Negatives • Simplest solution: convert to positive and adjust sign later • Note that multiple solutions exist for the equation: Dividend = Quotient x Divisor + Remainder +7 div +2 Quo = Rem = -7 div +2 Quo = Rem = +7 div -2 Quo = Rem = -7 div -2 Quo = Rem =
  • 19. 19 Divisions involving Negatives • Simplest solution: convert to positive and adjust sign later • Note that multiple solutions exist for the equation: Dividend = Quotient x Divisor + Remainder +7 div +2 Quo = +3 Rem = +1 -7 div +2 Quo = -3 Rem = -1 +7 div -2 Quo = -3 Rem = +1 -7 div -2 Quo = +3 Rem = -1 Convention: Dividend and remainder have the same sign Quotient is negative if signs disagree These rules fulfil the equation above