34
Chapter 10: Computer Arithmetic

Chapter 10: Computer Arithmetic - GuilanAlgorithm: B=11011 Q=00111 4 Q4=1,A=0,Qs=1 EA=A+B=1011 EAQ= 0 1011 0111 Shr EAQ= 0 0101 1011 3 Q3=1 EA = 1 0000 EAQ 1 0000 1011 Shr EAQ 0 1000

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Chapter 10: Computer Arithmetic - GuilanAlgorithm: B=11011 Q=00111 4 Q4=1,A=0,Qs=1 EA=A+B=1011 EAQ= 0 1011 0111 Shr EAQ= 0 0101 1011 3 Q3=1 EA = 1 0000 EAQ 1 0000 1011 Shr EAQ 0 1000

Chapter 10: Computer Arithmetic

Page 2: Chapter 10: Computer Arithmetic - GuilanAlgorithm: B=11011 Q=00111 4 Q4=1,A=0,Qs=1 EA=A+B=1011 EAQ= 0 1011 0111 Shr EAQ= 0 0101 1011 3 Q3=1 EA = 1 0000 EAQ 1 0000 1011 Shr EAQ 0 1000

Addition and Subtraction

Sign-magnitude

2’s complement

Page 3: Chapter 10: Computer Arithmetic - GuilanAlgorithm: B=11011 Q=00111 4 Q4=1,A=0,Qs=1 EA=A+B=1011 EAQ= 0 1011 0111 Shr EAQ= 0 0101 1011 3 Q3=1 EA = 1 0000 EAQ 1 0000 1011 Shr EAQ 0 1000

Hardware implementation: Sign flip flop

Overflow FF

XOR gates

Page 4: Chapter 10: Computer Arithmetic - GuilanAlgorithm: B=11011 Q=00111 4 Q4=1,A=0,Qs=1 EA=A+B=1011 EAQ= 0 1011 0111 Shr EAQ= 0 0101 1011 3 Q3=1 EA = 1 0000 EAQ 1 0000 1011 Shr EAQ 0 1000

Algorithm:

Like as: A= -2 , B=5

Page 5: Chapter 10: Computer Arithmetic - GuilanAlgorithm: B=11011 Q=00111 4 Q4=1,A=0,Qs=1 EA=A+B=1011 EAQ= 0 1011 0111 Shr EAQ= 0 0101 1011 3 Q3=1 EA = 1 0000 EAQ 1 0000 1011 Shr EAQ 0 1000

2’s complement addition and subtraction:

Page 6: Chapter 10: Computer Arithmetic - GuilanAlgorithm: B=11011 Q=00111 4 Q4=1,A=0,Qs=1 EA=A+B=1011 EAQ= 0 1011 0111 Shr EAQ= 0 0101 1011 3 Q3=1 EA = 1 0000 EAQ 1 0000 1011 Shr EAQ 0 1000

Multiplication algorithms:

A binary example:

Partial product

Page 7: Chapter 10: Computer Arithmetic - GuilanAlgorithm: B=11011 Q=00111 4 Q4=1,A=0,Qs=1 EA=A+B=1011 EAQ= 0 1011 0111 Shr EAQ= 0 0101 1011 3 Q3=1 EA = 1 0000 EAQ 1 0000 1011 Shr EAQ 0 1000

Hardware implementation

multiplier

#of bit in multiplier

Partial product

Page 8: Chapter 10: Computer Arithmetic - GuilanAlgorithm: B=11011 Q=00111 4 Q4=1,A=0,Qs=1 EA=A+B=1011 EAQ= 0 1011 0111 Shr EAQ= 0 0101 1011 3 Q3=1 EA = 1 0000 EAQ 1 0000 1011 Shr EAQ 0 1000

Algorithm:

B=11011 Q=00111

4 Q4=1,A=0,Qs=1 EA=A+B=1011 EAQ= 0 1011 0111 Shr EAQ= 0 0101 1011

3 Q3=1 EA = 1 0000 EAQ 1 0000 1011 Shr EAQ 0 1000 0101

2 Q2=1 EA= 1 0011 EAQ 1 0011 01 01 shr EAQ 0 1001 101 0

1 Q1=0 Shr EAQ 0 0100 1101=77

0

Page 9: Chapter 10: Computer Arithmetic - GuilanAlgorithm: B=11011 Q=00111 4 Q4=1,A=0,Qs=1 EA=A+B=1011 EAQ= 0 1011 0111 Shr EAQ= 0 0101 1011 3 Q3=1 EA = 1 0000 EAQ 1 0000 1011 Shr EAQ 0 1000

Booth multiplication algorithm

A= 00011 B= 00111 => A*B= A*(7)=A* (8-1)=A*8-A*1

In 2’s compl. representation, we can use Booth alg. without change.

Page 10: Chapter 10: Computer Arithmetic - GuilanAlgorithm: B=11011 Q=00111 4 Q4=1,A=0,Qs=1 EA=A+B=1011 EAQ= 0 1011 0111 Shr EAQ= 0 0101 1011 3 Q3=1 EA = 1 0000 EAQ 1 0000 1011 Shr EAQ 0 1000

Hardware

Page 11: Chapter 10: Computer Arithmetic - GuilanAlgorithm: B=11011 Q=00111 4 Q4=1,A=0,Qs=1 EA=A+B=1011 EAQ= 0 1011 0111 Shr EAQ= 0 0101 1011 3 Q3=1 EA = 1 0000 EAQ 1 0000 1011 Shr EAQ 0 1000

Algorithm

Page 12: Chapter 10: Computer Arithmetic - GuilanAlgorithm: B=11011 Q=00111 4 Q4=1,A=0,Qs=1 EA=A+B=1011 EAQ= 0 1011 0111 Shr EAQ= 0 0101 1011 3 Q3=1 EA = 1 0000 EAQ 1 0000 1011 Shr EAQ 0 1000

An example:

Page 13: Chapter 10: Computer Arithmetic - GuilanAlgorithm: B=11011 Q=00111 4 Q4=1,A=0,Qs=1 EA=A+B=1011 EAQ= 0 1011 0111 Shr EAQ= 0 0101 1011 3 Q3=1 EA = 1 0000 EAQ 1 0000 1011 Shr EAQ 0 1000

Array multiplier: Fast approach

Page 14: Chapter 10: Computer Arithmetic - GuilanAlgorithm: B=11011 Q=00111 4 Q4=1,A=0,Qs=1 EA=A+B=1011 EAQ= 0 1011 0111 Shr EAQ= 0 0101 1011 3 Q3=1 EA = 1 0000 EAQ 1 0000 1011 Shr EAQ 0 1000
Page 15: Chapter 10: Computer Arithmetic - GuilanAlgorithm: B=11011 Q=00111 4 Q4=1,A=0,Qs=1 EA=A+B=1011 EAQ= 0 1011 0111 Shr EAQ= 0 0101 1011 3 Q3=1 EA = 1 0000 EAQ 1 0000 1011 Shr EAQ 0 1000
Page 16: Chapter 10: Computer Arithmetic - GuilanAlgorithm: B=11011 Q=00111 4 Q4=1,A=0,Qs=1 EA=A+B=1011 EAQ= 0 1011 0111 Shr EAQ= 0 0101 1011 3 Q3=1 EA = 1 0000 EAQ 1 0000 1011 Shr EAQ 0 1000

Division algorithms: A/B = q , r ; A: Dividend , B: Divisor, q: quotient, r: remainder

Page 17: Chapter 10: Computer Arithmetic - GuilanAlgorithm: B=11011 Q=00111 4 Q4=1,A=0,Qs=1 EA=A+B=1011 EAQ= 0 1011 0111 Shr EAQ= 0 0101 1011 3 Q3=1 EA = 1 0000 EAQ 1 0000 1011 Shr EAQ 0 1000

Restoring method:

Page 18: Chapter 10: Computer Arithmetic - GuilanAlgorithm: B=11011 Q=00111 4 Q4=1,A=0,Qs=1 EA=A+B=1011 EAQ= 0 1011 0111 Shr EAQ= 0 0101 1011 3 Q3=1 EA = 1 0000 EAQ 1 0000 1011 Shr EAQ 0 1000

Algorithm:

If A-B>= 0 then DVF1

Page 19: Chapter 10: Computer Arithmetic - GuilanAlgorithm: B=11011 Q=00111 4 Q4=1,A=0,Qs=1 EA=A+B=1011 EAQ= 0 1011 0111 Shr EAQ= 0 0101 1011 3 Q3=1 EA = 1 0000 EAQ 1 0000 1011 Shr EAQ 0 1000

Other methods:

• Comparison

• Non-restoring: in the restoring method when A<B 2(A-B+B)-B=2A-B,

A<B 2(A-B)+B=2A-B

Page 20: Chapter 10: Computer Arithmetic - GuilanAlgorithm: B=11011 Q=00111 4 Q4=1,A=0,Qs=1 EA=A+B=1011 EAQ= 0 1011 0111 Shr EAQ= 0 0101 1011 3 Q3=1 EA = 1 0000 EAQ 1 0000 1011 Shr EAQ 0 1000

Floating point operations

• The standard format:

IEEE 754 single precision

• F=0 : E=0 & f=0 •F=denormalized : E=0 & f≠0

•F= ±∞ : E=255 & f=0 •F=NAN: E=255 & f ≠0

Page 21: Chapter 10: Computer Arithmetic - GuilanAlgorithm: B=11011 Q=00111 4 Q4=1,A=0,Qs=1 EA=A+B=1011 EAQ= 0 1011 0111 Shr EAQ= 0 0101 1011 3 Q3=1 EA = 1 0000 EAQ 1 0000 1011 Shr EAQ 0 1000

Hardware:

Page 22: Chapter 10: Computer Arithmetic - GuilanAlgorithm: B=11011 Q=00111 4 Q4=1,A=0,Qs=1 EA=A+B=1011 EAQ= 0 1011 0111 Shr EAQ= 0 0101 1011 3 Q3=1 EA = 1 0000 EAQ 1 0000 1011 Shr EAQ 0 1000

Addition and subtraction

Page 23: Chapter 10: Computer Arithmetic - GuilanAlgorithm: B=11011 Q=00111 4 Q4=1,A=0,Qs=1 EA=A+B=1011 EAQ= 0 1011 0111 Shr EAQ= 0 0101 1011 3 Q3=1 EA = 1 0000 EAQ 1 0000 1011 Shr EAQ 0 1000

Multiplication:

Page 24: Chapter 10: Computer Arithmetic - GuilanAlgorithm: B=11011 Q=00111 4 Q4=1,A=0,Qs=1 EA=A+B=1011 EAQ= 0 1011 0111 Shr EAQ= 0 0101 1011 3 Q3=1 EA = 1 0000 EAQ 1 0000 1011 Shr EAQ 0 1000

Division:

Page 25: Chapter 10: Computer Arithmetic - GuilanAlgorithm: B=11011 Q=00111 4 Q4=1,A=0,Qs=1 EA=A+B=1011 EAQ= 0 1011 0111 Shr EAQ= 0 0101 1011 3 Q3=1 EA = 1 0000 EAQ 1 0000 1011 Shr EAQ 0 1000

Decimal Arithmetic Unit BCD Adder

Page 26: Chapter 10: Computer Arithmetic - GuilanAlgorithm: B=11011 Q=00111 4 Q4=1,A=0,Qs=1 EA=A+B=1011 EAQ= 0 1011 0111 Shr EAQ= 0 0101 1011 3 Q3=1 EA = 1 0000 EAQ 1 0000 1011 Shr EAQ 0 1000

Hardware:

Page 27: Chapter 10: Computer Arithmetic - GuilanAlgorithm: B=11011 Q=00111 4 Q4=1,A=0,Qs=1 EA=A+B=1011 EAQ= 0 1011 0111 Shr EAQ= 0 0101 1011 3 Q3=1 EA = 1 0000 EAQ 1 0000 1011 Shr EAQ 0 1000

BCD subtractor:

A-B = A+ 9’s compl. of B

B’+ 1010= 15-B+1010=9-B+16

9’ compl.(B) = (B+ 0110)’ = 15 – B- 0110 =9-B

logic circuit

An example: -(0111) = 1000+1010=(0111+0110)’=0010

Page 28: Chapter 10: Computer Arithmetic - GuilanAlgorithm: B=11011 Q=00111 4 Q4=1,A=0,Qs=1 EA=A+B=1011 EAQ= 0 1011 0111 Shr EAQ= 0 0101 1011 3 Q3=1 EA = 1 0000 EAQ 1 0000 1011 Shr EAQ 0 1000

Decimal arithmetic operation

Page 29: Chapter 10: Computer Arithmetic - GuilanAlgorithm: B=11011 Q=00111 4 Q4=1,A=0,Qs=1 EA=A+B=1011 EAQ= 0 1011 0111 Shr EAQ= 0 0101 1011 3 Q3=1 EA = 1 0000 EAQ 1 0000 1011 Shr EAQ 0 1000

Decimal arithmetic operation

dshr (7680) 0768

Page 30: Chapter 10: Computer Arithmetic - GuilanAlgorithm: B=11011 Q=00111 4 Q4=1,A=0,Qs=1 EA=A+B=1011 EAQ= 0 1011 0111 Shr EAQ= 0 0101 1011 3 Q3=1 EA = 1 0000 EAQ 1 0000 1011 Shr EAQ 0 1000

Addition and Subtraction Parallel adder:

Page 31: Chapter 10: Computer Arithmetic - GuilanAlgorithm: B=11011 Q=00111 4 Q4=1,A=0,Qs=1 EA=A+B=1011 EAQ= 0 1011 0111 Shr EAQ= 0 0101 1011 3 Q3=1 EA = 1 0000 EAQ 1 0000 1011 Shr EAQ 0 1000

Digit serial bit parallel:

Page 32: Chapter 10: Computer Arithmetic - GuilanAlgorithm: B=11011 Q=00111 4 Q4=1,A=0,Qs=1 EA=A+B=1011 EAQ= 0 1011 0111 Shr EAQ= 0 0101 1011 3 Q3=1 EA = 1 0000 EAQ 1 0000 1011 Shr EAQ 0 1000

All serial:

Page 33: Chapter 10: Computer Arithmetic - GuilanAlgorithm: B=11011 Q=00111 4 Q4=1,A=0,Qs=1 EA=A+B=1011 EAQ= 0 1011 0111 Shr EAQ= 0 0101 1011 3 Q3=1 EA = 1 0000 EAQ 1 0000 1011 Shr EAQ 0 1000

Multiplication: Ai *Bi = [0,81]!

Adder

4bit

Overflow detection

9’s compl. Of B

Page 34: Chapter 10: Computer Arithmetic - GuilanAlgorithm: B=11011 Q=00111 4 Q4=1,A=0,Qs=1 EA=A+B=1011 EAQ= 0 1011 0111 Shr EAQ= 0 0101 1011 3 Q3=1 EA = 1 0000 EAQ 1 0000 1011 Shr EAQ 0 1000

Algorithm:

K: # 0f digits