# Circuitos Aritméticos I

## Texto

(1)

### Circuitos Aritméticos I

José Costa

Departamento de Engenharia Informática (DEI) Instituto Superior Técnico

2013-10-09

(2)

Subtratores

(3)

A B

S

### +

n n

n+1

4 A A A

A A3 2 1 0

(4)

A forma mais simples é seguir o procedimento algébrico

A 1 0 1 1

B + 1 1 1 0 S 1 1 0 0 1

C 1 1 1 0

A0 B0 C0 S0

0 0 0 0

0 1 0 1

1 0 0 1

A B

S

(5)

Ai B

i Ci−1 C

i S

i

0 0 0 0 0

0 0 1 0 1

0 1 0 0 1

0 1 1 1 0

1 0 0 0 1

1 0 1 1 0

1 1 0 1 0

1 1 1 1 1

A B

C C

S i

i

i-1

i

i

A B

C out in

Ci =A

iB

i+A

iCi−1+B

iC

i−1

Si =A

i B

iCi−1+A

iB

iC

i−1+A

iB

iC

i−1+A

iB

i C

i−1

(6)

A0 B0

C0

A1 B1 A2 B2 A3 B3

S0 S1 S2 S3 S4

C1 C2 C3

S S S S

A B A B A B A B

Cout Cin Cout Cin Cout Cin Cout

(7)

A B

0 0

C0

A B

1 1 A B

2 2 A B

3 3

S0 S1 S2 S3

Cout

C1 C

2 C

completo

completo Cin

S

A B

Cout Cin

S

A B

Cout Cin

S

A B

Cout Cin

S

A B

Cout Cin

(8)

A3-0 B3-0 A7-4 B7-4

S3-0 S7-4 S8

4 4 4 4

4 4

A B A B

S S

Cin Cout Cin Cout

+ +

0

(9)

Carry Select

A B

7-4 7-4

S8-4

4 4 4 4

4 4

A B A B

S S

Cin Cout Cin Cout

+ +

0

A B

3-0 3-0

S3-0

4 4

4

A B

Cin S Cout + 0

1

MUX Sel

0 1

5

5 5

(10)

A B C

P i S

i i-1

i

i

Gi

Gi - geração de transporte no nível i Pi - propagação para o nível seguinte

(11)

A B

0 0 A B

1 1 A B

2 2 A B

3 3

S0 S

completo parcial Cin

S

A B

Cin

S

A B

Cin

A B

Cin

A B

Cin G

P P G

S

P0

G0 P

1

G1

S3 S

G P

P G

2

G P

P G3 3 2

(12)

A3-0 B3-0

S

A B

Cin

G P

P3-0 G3-0

4 4

4 S3-0

A7-4 B7-4

A B

Cin

G P

P7-4 G7-4

4 4

4 S7-4

(13)

### Subtratores

Procedimento algébrico

A 0 1 0 1

B - 0 0 1 0

S 0 0 1 1

C 0 0 1 0

A0 B0 C0 S0

0 0 0 0

0 1 1 1

1 0 0 1

1 1 0 0

(14)

### Circuito Subtrator

Ai B

i Ci−1 C

i S

i

0 0 0 0 0

0 0 1 1 1

0 1 0 1 1

0 1 1 1 0

1 0 0 0 1

1 0 1 0 0

1 1 0 0 0

1 1 1 1 1

Ci =AiBi +AiCi−1+BiCi−1

Si =A

i B

i Ci−1

(15)

2 3 0 2 3

A B

S

+

Cin C

1 out

A A

A

S S S 0

0

1

1 B1 B2 B3

(16)

2 3

2 3

A B

S

+

Cin Cout

+/

## -

A A

A

S S S

0

0 0

1 1

M

B1 B2 B3

(17)

A 1 1 0 1

B × 1 0 1 0

0 0 0 0 1 1 0 1 0 0 0 0 1 1 0 1

M 1 0 0 0 0 0 1 0

(18)

A B

0 0

A1 A2 A3

B

0 1

1 2

3 A A A

A

+

B

0 2

1 2

3 A A A

A

0

+

B

0 3

1 2

3 A A A

A

+

S0 S1 S2 S3 Cout

S0 S1 S2 S3 Cout

(19)

Módulo e Sinal

A0 A1 A2 B0

B

0 1

1

2 A A

A

+

B

0 2

1

2 A A

A

0

M M

M M M M M

M 0 + B3A3

S0 S1 S2 Cout

S0 S1 S2 Cout

(20)

### Multiplicação de Números com Sinal

Algoritmo de Booth

1112 =22 +21+20 =4+2+1=710

1112 =100021=231=81=710

1101112=1100002+1112 =112×24+1112

1100002=2624 e 1112 =2320 1101112=2624+2320

Complemento para 2

110112=10112100002 =2423+222024 =23+2220 Algoritmo de Booth

bi bi−1 Operação 0 0 não se soma nada 0 1 soma-se 2i

1 0 subtrai-se 2i

(21)

### Multiplicação de Números com Sinal

Complemento para 2

A 0 1 0 1

B × 1 1 0 1

(1) (1) (1) 1 0 1 1 (0) (0) 0 1 0 1

(1) 1 0 1 1

0 0 0 0

M 1 1 1 1 0 0 0 1

(22)

(-A) B0

B1

A 0

MUX

+

B2

+

B3

+ S S1

0 0 1 2 3

0

B0

4

B1 MUX

S S1 0

0 1 2 3

4 (-A) A

0 0

B2 MUX

S S1

0 0 1 2 3

4 (-A) A

0 0

(-A)

S0 MUX 0 1

0

S0 S1 S2 S3 Cout

S0 S1 S2 S3 Cout

4 4 4 4

4 4 4 4

4 4

4 4 4 4

(23)

### Divisores

Divisão é a operação mais complexa

É raro haver cicuitos combinatórios que façam divisão

Mais comum é fazer-se por subtrações sucessivas

(24)

Subtratores

(25)

### Referências

G. Arroz, J. Monteiro, A. Oliveira, Secções 5.1, 5.3 e 5.4

(26)

### Próxima Aula

Operações com Números Fracionários Unidade Lógica e Aritmética