Weitere ähnliche Inhalte Kürzlich hochgeladen (20) CSE 3203: Multiplication of Unsigned Binary Integer1. Multiplication of Unsigned Binary Integer
Presented by:
Name: Zubayer Farazi
Presented for:
Md. Mostafiz Ahammed
Lecturer
Department of CSE,
Notre Dame University, Bangladesh
Department of Computer Science and Engineering
3. Multiplication
Compared with addition and subtraction, multiplication is a
complex operation , whether performed in hardware or
software.
Multiplication involves the generation of partial products, one
for each digit in the multiplier.
These partial products are then summed to produce the final
product.
2
5. Block Diagram
Mn-1 … M₀
N-bit Adder
An-1 … A₀
Shift and Control logic
C
Qn-1 … Q₀
Multiplicand
Multiplier
Register
Add
4
7. Start
Yes
Shift right C,A,Q
C,A 0
N N-1
Yes
End
M Multiplicand
Q Multiplier
C,A 0
Q=1?
C,A A + M
No
No
N=0?
N M C A Q Comments
1 0 1 1 0 0 0 0 0 1 1 0 1 Initialization
4
6
1 0 1 1 1 1 0 1 = ?
*
8. Start
Yes
Shift right C,A,Q
C,A 0
N N-1
Yes
End
M Multiplicand
Q Multiplier
C,A 0
Q=1?
C,A A + M
No
No
N=0?
N M C A Q Comments
1 0 1 1 0 0 0 0 0 1 1 0 1 Initialization
1 0 1 1
0 1 1 0 1
Add A with A:
A=A+M
4
3
0 0 0 0
1 0 1 1
1 0 1 1
A
M
A
7
1 0 1 1 1 1 0 1 = ?
*
9. Start
Yes
Shift right C,A,Q
C,A 0
N N-1
Yes
End
M Multiplicand
Q Multiplier
C,A 0
Q=1?
C,A A + M
No
No
N=0?
N M C A Q Comments
1 0 1 1 0 0 0 0 0 1 1 0 1 Initialization
1 0 1 1
0 1 1 0 1
Add A with A:
A=A+M
0 1 0 1 1 1 1 0 Shift right C, A, Q
0
4
3
Discard
8
1 0 1 1 1 1 0 1 = ?
*
10. Start
Yes
Shift right C,A,Q
C,A 0
N N-1
Yes
End
M Multiplicand
Q Multiplier
C,A 0
Q=1?
C,A A + M
No
No
N=0?
N M C A Q Comments
1 0 1 1 0 0 0 0 0 1 1 0 1 Initialization
1 0 1 1
0 1 1 0 1
Add A with A:
A=A+M
0 1 0 1 1 1 1 Shift right C, A, Q
0
4
3
2
0
10
1 0 1 1 1 1 0 1 = ?
*
11. Start
Yes
Shift right C,A,Q
C,A 0
N N-1
Yes
End
M Multiplicand
Q Multiplier
C,A 0
Q=1?
C,A A + M
No
No
N=0?
N M C A Q Comments
1 0 1 1 0 0 0 0 0 1 1 0 1 Initialization
1 0 1 1
0 1 1 0 1
Add A with A:
A=A+M
0 1 0 1 1 1 1 0 Shift right C, A, Q
0
4
3
2
11
1 0 1 1 1 1 0 1 = ?
*
12. Start
Yes
Shift right C,A,Q
C,A 0
N N-1
Yes
End
M Multiplicand
Q Multiplier
C,A 0
Q=1?
C,A A + M
No
No
N=0?
N M C A Q Comments
1 0 1 1 0 0 0 0 0 1 1 0 1 Initialization
1 0 1 1
0 1 1 0 1
Add A with A:
A=A+M
0 1 0 1 1 1 1 0 Shift right C, A, Q
0
4
3
0 0 1 0 1 1 1 1
0
2 Shift right C, A, Q
Discard
12
1 0 1 1 1 1 0 1 = ?
*
13. Start
Yes
Shift right C,A,Q
C,A 0
N N-1
Yes
End
M Multiplicand
Q Multiplier
C,A 0
Q=1?
C,A A + M
No
No
N=0?
N M C A Q Comments
1 0 1 1 0 0 0 0 0 1 1 0 1 Initialization
1 0 1 1
0 1 1 0 1
Add A with A:
A=A+M
0 1 0 1 1 1 1 0 Shift right C, A, Q
0
4
3
0 0 1 0 1 1 1 1
0
2
1
Shift right C, A, Q
13
1 0 1 1 1 1 0 1 = ?
*
14. Start
Yes
Shift right C,A,Q
C,A 0
N N-1
Yes
End
M Multiplicand
Q Multiplier
C,A 0
Q=1?
C,A A + M
No
No
N=0?
N M C A Q Comments
1 0 1 1 0 0 0 0 0 1 1 0 1 Initialization
1 0 1 1
0 1 1 0 1
Add A with A:
A=A+M
0 1 0 1 1 1 1 0 Shift right C, A, Q
0
4
3
0 0 1 0 1 1 1 1
0
1 1 0 1 1 1 1 1 Add A with A:
A=A+M
2
1
0 0 1 0
1 0 1 1
1 1 0 1
A
M
Shift right C, A, Q
A
0
14
1 0 1 1 1 1 0 1 = ?
*
15. Start
Yes
Shift right C,A,Q
C,A 0
N N-1
Yes
End
M Multiplicand
Q Multiplier
C,A 0
Q=1?
C,A A + M
No
No
N=0?
N M C A Q Comments
1 0 1 1 0 0 0 0 0 1 1 0 1 Initialization
1 0 1 1
0 1 1 0 1
Add A with A:
A=A+M
0 1 0 1 1 1 1 0 Shift right C, A, Q
0
4
3
0 0 1 0 1 1 1 1
0
1 1 0 1
0 1 1 0
1 1 1 1
1 1 1 1
Add A with A:
A=A+M
Shift right C, A, Q
2
1
Shift right C, A, Q
0
Discard
0
15
1 0 1 1 1 1 0 1 = ?
*
16. Start
Yes
Shift right C,A,Q
C,A 0
N N-1
Yes
End
M Multiplicand
Q Multiplier
C,A 0
Q=1?
C,A A + M
No
No
N=0?
N M C A Q Comments
1 0 1 1 0 0 0 0 0 1 1 0 1 Initialization
1 0 1 1
0 1 1 0 1
Add A with A:
A=A+M
0 1 0 1 1 1 1 0 Shift right C, A, Q
0
4
3
0 0 1 0 1 1 1 1
0
1 1 0 1
0 1 1 0
1 1 1 1
1 1 1 1
Add A with A:
A=A+M
Shift right C, A, Q
2
1
0
16
1 0 1 1 1 1 0 1 = ?
*
17. Start
Yes
Shift right C,A,Q
C,A 0
N N-1
Yes
End
M Multiplicand
Q Multiplier
C,A 0
Q=1?
C,A A + M
No
No
N=0?
N M C A Q Comments
1 0 1 1 0 0 0 0 0 1 1 0 1 Initialization
1 0 1 1
0 1 1 0 1
Add A with A:
A=A+M
0 1 0 1 1 1 1 0 Shift right C, A, Q
0
4
3
0 0 1 0 1 1 1 1
0
1 1 0 1
0 1 1 0
1 1 1 1
1 1 1 1
Add A with A:
A=A+M
Shift right C, A, Q
2
1
0 0 0 1 1 1 1 1
1 Add A with A:
A=A+M
0 1 1 0
1 0 1 1
1 0 0 0 1
A
M
A
0
0
17
0
18. Start
Yes
Shift right C,A,Q
C,A 0
N N-1
Yes
End
M Multiplicand
Q Multiplier
C,A 0
Q=1?
C,A A + M
No
No
N=0?
N M C A Q Comments
1 0 1 1 0 0 0 0 0 1 1 0 1 Initialization
1 0 1 1
0 1 1 0 1
Add A with A:
A=A+M
0 1 0 1 1 1 1 0 Shift right C, A, Q
0
4
3
0 0 1 0 1 1 1 1
0
1 1 0 1
0 1 1 0
1 1 1 1
1 1 1 1
Add A with A:
A=A+M
Shift right C, A, Q
2
1
0 0 0 1 1 1 1 1
1 Add A with A:
A=A+M
1 0 0 0 1 1 1 1 Shift right C, A, Q
0
Discard 18
0
19. Start
Yes
Shift right C,A,Q
C,A 0
N N-1
Yes
End
M Multiplicand
Q Multiplier
C,A 0
Q=1?
C,A A + M
No
No
N=0?
N M C A Q Comments
1 0 1 1 0 0 0 0 0 1 1 0 1 Initialization
1 0 1 1
0 1 1 0 1
Add A with A:
A=A+M
0 1 0 1 1 1 1 0 Shift right C, A, Q
0
4
3
0 0 1 0 1 1 1 1
0
1 1 0 1
0 1 1 0
1 1 1 1
1 1 1 1
Add A with A:
A=A+M
Shift right C, A, Q
2
1
0 0 0 1 1 1 1 1
1 Add A with A:
A=A+M
1 0 0 0 1 1 1 1 Shift right C, A, Q
0
0
1 0 1 1
1 0 1 1
1 0 1 1
1 0 1 1
The Result is : (010001111) ₂ = 143₁₀ 19
*
1 0 1 1 1 1 0 1 = ?