circuitos aritmꓬticos i - autenticação · pdf filemultiplicação...

26
Circuitos Aritméticos I José Costa Introdução à Arquitetura de Computadores Departamento de Engenharia Informática (DEI) Instituto Superior Técnico 2013-10-09 José Costa (DEI/IST) Circuitos Aritméticos I 1

Upload: vunga

Post on 06-Feb-2018

220 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Circuitos Aritmꓬticos I - Autenticação · PDF fileMultiplicação de Números com Sinal Algoritmo de Booth 1112 =22 +21 +20 =4+2+1 =710 1112 =10002 −1 =23 −1 =8−1 =710 1101112

Circuitos Aritméticos I

José Costa

Introdução à Arquitetura de Computadores

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

2013-10-09

José Costa (DEI/IST) Circuitos Aritméticos I 1

Page 2: Circuitos Aritmꓬticos I - Autenticação · PDF fileMultiplicação de Números com Sinal Algoritmo de Booth 1112 =22 +21 +20 =4+2+1 =710 1112 =10002 −1 =23 −1 =8−1 =710 1101112

Sumário

Somadores

Subtratores

Multiplicadores e Divisores

José Costa (DEI/IST) Circuitos Aritméticos I 2

Page 3: Circuitos Aritmꓬticos I - Autenticação · PDF fileMultiplicação de Números com Sinal Algoritmo de Booth 1112 =22 +21 +20 =4+2+1 =710 1112 =10002 −1 =23 −1 =8−1 =710 1101112

Somadores

A B

S

+

n n

n+1

4

AAAAA 0123

José Costa (DEI/IST) Circuitos Aritméticos I 3

Page 4: Circuitos Aritmꓬticos I - Autenticação · PDF fileMultiplicação de Números com Sinal Algoritmo de Booth 1112 =22 +21 +20 =4+2+1 =710 1112 =10002 −1 =23 −1 =8−1 =710 1101112

Semi-somador de 1 Bit

A forma mais simples é seguir o procedimento algébrico

A 1 0 1 1B + 1 1 1 0S 1 1 0 0 1C 1 1 1 0

A0 B0 C0 S0

0 0 0 00 1 0 11 0 0 11 1 1 0

A

B

C

S

José Costa (DEI/IST) Circuitos Aritméticos I 4

Page 5: Circuitos Aritmꓬticos I - Autenticação · PDF fileMultiplicação de Números com Sinal Algoritmo de Booth 1112 =22 +21 +20 =4+2+1 =710 1112 =10002 −1 =23 −1 =8−1 =710 1101112

Somador de 1 Bit

Ai Bi Ci−1 Ci Si

0 0 0 0 00 0 1 0 10 1 0 0 10 1 1 1 01 0 0 0 11 0 1 1 01 1 0 1 01 1 1 1 1

A

B

CC

Si

i

i-1

i

i

Semi-somador Semi-somador

A

B

C

SSomadorcompleto

outC

in

Ci = AiBi + AiCi−1 + BiCi−1

Si = Ai BiCi−1 + AiBiCi−1 + AiBiCi−1 + AiBi Ci−1

José Costa (DEI/IST) Circuitos Aritméticos I 5

Page 6: Circuitos Aritmꓬticos I - Autenticação · PDF fileMultiplicação de Números com Sinal Algoritmo de Booth 1112 =22 +21 +20 =4+2+1 =710 1112 =10002 −1 =23 −1 =8−1 =710 1101112

Interligação em Cadeia de

Circuitos SomadoresRipple Carry Adder

A B0 0

C0

A B1 1 A B2 2 A B3 3

S0 S1 S2 S3 S4

C1 C2 C3

Semi--somador

Somadorcompleto

Somadorcompleto

Somadorcompleto

S S S SA A A AB B B B

Cout Cout Cout CoutCin Cin Cin

José Costa (DEI/IST) Circuitos Aritméticos I 6

Page 7: Circuitos Aritmꓬticos I - Autenticação · PDF fileMultiplicação de Números com Sinal Algoritmo de Booth 1112 =22 +21 +20 =4+2+1 =710 1112 =10002 −1 =23 −1 =8−1 =710 1101112

Interligação em Cadeia de

Circuitos SomadoresRipple Carry Adder

A B0 0

C0

A B1 1

A B2 2

A B3 3

S0 S1 S2 S3

CoutC

1C

2C

3

Somadorcompleto

Somadorcompleto

Somadorcompleto

Somadorcompleto

Cin

SA B

CoutCin

SA B

CoutC in

SA B

CoutC in

SA B

CoutC in

José Costa (DEI/IST) Circuitos Aritméticos I 7

Page 8: Circuitos Aritmꓬticos I - Autenticação · PDF fileMultiplicação de Números com Sinal Algoritmo de Booth 1112 =22 +21 +20 =4+2+1 =710 1112 =10002 −1 =23 −1 =8−1 =710 1101112

Interligação em Cadeia de

Circuitos SomadoresRipple Carry Adder

A B3-0 3-0 A B7-4 7-4

S3-0 S7-4 S8

4 4 4 4

4 4

A AB B

S SC in Cout C in Cout

+ +0

José Costa (DEI/IST) Circuitos Aritméticos I 8

Page 9: Circuitos Aritmꓬticos I - Autenticação · PDF fileMultiplicação de Números com Sinal Algoritmo de Booth 1112 =22 +21 +20 =4+2+1 =710 1112 =10002 −1 =23 −1 =8−1 =710 1101112

Somadores RápidosCarry Select

A B7-4 7-4

S8-4

4 4 4 4

4 4

A AB B

S SCin Cout Cin Cout

+ +0

A B3-0 3-0

S3-0

4 4

4

A B

SCin Cout

+0

1

MUXSel

0 1

5

5 5

José Costa (DEI/IST) Circuitos Aritméticos I 9

Page 10: Circuitos Aritmꓬticos I - Autenticação · PDF fileMultiplicação de Números com Sinal Algoritmo de Booth 1112 =22 +21 +20 =4+2+1 =710 1112 =10002 −1 =23 −1 =8−1 =710 1101112

Somadores RápidosCarry Lookahead

A

B

C

P

Si

i

i-1

i

i

G i

Gi - geração de transporte no nível i

Pi - propagação para o nível seguinte

José Costa (DEI/IST) Circuitos Aritméticos I 10

Page 11: Circuitos Aritmꓬticos I - Autenticação · PDF fileMultiplicação de Números com Sinal Algoritmo de Booth 1112 =22 +21 +20 =4+2+1 =710 1112 =10002 −1 =23 −1 =8−1 =710 1101112

Somadores RápidosCarry Lookahead

A B0 0 A B1 1 A B2 2 A B3 3

S0

S1

Somadorcompletoparcial

Cin

S

A B

Cin

S

A B

Cin

A B

Cin

A B

CinGP GP

Somadorcompletoparcial

Somadorcompletoparcial

Somadorcompleto

parcialS

2S

P0

G0 P

1G

1

S3

S

GP

P G2

GP

P G33

2

José Costa (DEI/IST) Circuitos Aritméticos I 11

Page 12: Circuitos Aritmꓬticos I - Autenticação · PDF fileMultiplicação de Números com Sinal Algoritmo de Booth 1112 =22 +21 +20 =4+2+1 =710 1112 =10002 −1 =23 −1 =8−1 =710 1101112

Somadores RápidosCarry Lookahead

A B3-0 3-0

Somador de4 bits carrylookaheadCin

S

A B

Cin GP

P3-0G3-0

4 4

4S3-0

A B7-4 7-4

Somador de4 bits carrylookahead

S

A B

Cin GP

P7-4 G7-4

4 4

4S7-4

José Costa (DEI/IST) Circuitos Aritméticos I 12

Page 13: Circuitos Aritmꓬticos I - Autenticação · PDF fileMultiplicação de Números com Sinal Algoritmo de Booth 1112 =22 +21 +20 =4+2+1 =710 1112 =10002 −1 =23 −1 =8−1 =710 1101112

Subtratores

Procedimento algébrico

A 0 1 0 1B - 0 0 1 0S 0 0 1 1C 0 0 1 0

A0 B0 C0 S0

0 0 0 00 1 1 11 0 0 11 1 0 0

José Costa (DEI/IST) Circuitos Aritméticos I 13

Page 14: Circuitos Aritmꓬticos I - Autenticação · PDF fileMultiplicação de Números com Sinal Algoritmo de Booth 1112 =22 +21 +20 =4+2+1 =710 1112 =10002 −1 =23 −1 =8−1 =710 1101112

Circuito Subtrator

Ai Bi Ci−1 Ci Si

0 0 0 0 00 0 1 1 10 1 0 1 10 1 1 1 01 0 0 0 11 0 1 0 01 1 0 0 01 1 1 1 1

Ci = AiBi + AiCi−1 + BiCi−1

Si = Ai ⊕ Bi ⊕ Ci−1

José Costa (DEI/IST) Circuitos Aritméticos I 14

Page 15: Circuitos Aritmꓬticos I - Autenticação · PDF fileMultiplicação de Números com Sinal Algoritmo de Booth 1112 =22 +21 +20 =4+2+1 =710 1112 =10002 −1 =23 −1 =8−1 =710 1101112

Subtração Usando Somadores

2 3

02 3A B

S

+C

inC

out1

-

A AA

S S S0

0

1

1 1B 2B 3B

José Costa (DEI/IST) Circuitos Aritméticos I 15

Page 16: Circuitos Aritmꓬticos I - Autenticação · PDF fileMultiplicação de Números com Sinal Algoritmo de Booth 1112 =22 +21 +20 =4+2+1 =710 1112 =10002 −1 =23 −1 =8−1 =710 1101112

Circuito Somador/Subtrator

2 3

2 3A B

S

+C in Cout

+/-

A AA

S S S

0

0

0

1

1

M

B1 B2 B3

José Costa (DEI/IST) Circuitos Aritméticos I 16

Page 17: Circuitos Aritmꓬticos I - Autenticação · PDF fileMultiplicação de Números com Sinal Algoritmo de Booth 1112 =22 +21 +20 =4+2+1 =710 1112 =10002 −1 =23 −1 =8−1 =710 1101112

Multiplicadores e Divisores

A 1 1 0 1B × 1 0 1 0

0 0 0 01 1 0 1

0 0 0 01 1 0 1

M 1 0 0 0 0 0 1 0

José Costa (DEI/IST) Circuitos Aritméticos I 17

Page 18: Circuitos Aritmꓬticos I - Autenticação · PDF fileMultiplicação de Números com Sinal Algoritmo de Booth 1112 =22 +21 +20 =4+2+1 =710 1112 =10002 −1 =23 −1 =8−1 =710 1101112

Multiplicação de Números sem SinalMultiplicador em Matriz

A

B

0

0

A1

A2

A3

B

0

1

123AAAA

+

B

0

2

123AAAA

0

+

B

0

3

123AAAA

+

M0

M1

M2

M3

M4

M5

M6

M7

0S1S2S3SoutC

0S1S2S3SoutC

0S1S2S3SoutC

José Costa (DEI/IST) Circuitos Aritméticos I 18

Page 19: Circuitos Aritmꓬticos I - Autenticação · PDF fileMultiplicação de Números com Sinal Algoritmo de Booth 1112 =22 +21 +20 =4+2+1 =710 1112 =10002 −1 =23 −1 =8−1 =710 1101112

Multiplicação de Números com SinalMódulo e Sinal

A0A1A2

B0

B

0

1

12 AAA

+

B

0

2

12 AAA

0

M0

M1

M2

M3

M4

M5

M6

M7

+0

B3 3A

0S1S2SoutC

0S1S2SoutC

José Costa (DEI/IST) Circuitos Aritméticos I 19

Page 20: Circuitos Aritmꓬticos I - Autenticação · PDF fileMultiplicação de Números com Sinal Algoritmo de Booth 1112 =22 +21 +20 =4+2+1 =710 1112 =10002 −1 =23 −1 =8−1 =710 1101112

Multiplicação de Números com SinalAlgoritmo de Booth

1112 = 22+ 21

+ 20= 4 + 2 + 1 = 710

1112 = 10002 − 1 = 23− 1 = 8 − 1 = 710

1101112 = 1100002 + 1112 = 112 × 24+ 1112

1100002 = 26− 24 e 1112 = 23

− 20

1101112 = 26− 24

+ 23− 20

Complemento para 2110112 = 10112 − 100002 = 24

− 23+ 22

− 20− 24

= −23+ 22

− 20

Algoritmo de Boothbi bi−1 Operação0 0 não se soma nada0 1 soma-se 2i

1 0 subtrai-se 2i

1 1 não se soma nada

José Costa (DEI/IST) Circuitos Aritméticos I 20

Page 21: Circuitos Aritmꓬticos I - Autenticação · PDF fileMultiplicação de Números com Sinal Algoritmo de Booth 1112 =22 +21 +20 =4+2+1 =710 1112 =10002 −1 =23 −1 =8−1 =710 1101112

Multiplicação de Números com SinalComplemento para 2

A 0 1 0 1B × 1 1 0 1

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

M 1 1 1 1 0 0 0 1

José Costa (DEI/IST) Circuitos Aritméticos I 21

Page 22: Circuitos Aritmꓬticos I - Autenticação · PDF fileMultiplicação de Números com Sinal Algoritmo de Booth 1112 =22 +21 +20 =4+2+1 =710 1112 =10002 −1 =23 −1 =8−1 =710 1101112

Multiplicação de Números com SinalMultiplicador de Booth

(-A)

B0

B1

A0

MUX

+

B2

+

B3

+

M 0M 1M 2M 3M 4M 5M 6M 7

SS1

0

0123

0

B0

4

B1MUX

SS1

0

0123

4

(-A) A0 0

B2MUX

SS1

0

0123

4

(-A) A0 0

(-A)

MUXS0

01

0

0S1S2S3SoutC

0S1S2S3SoutC

0S1S2S3SoutC

4 4 4 4

4 4 4 4

4 4

4 4 4 4

José Costa (DEI/IST) Circuitos Aritméticos I 22

Page 23: Circuitos Aritmꓬticos I - Autenticação · PDF fileMultiplicação de Números com Sinal Algoritmo de Booth 1112 =22 +21 +20 =4+2+1 =710 1112 =10002 −1 =23 −1 =8−1 =710 1101112

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

José Costa (DEI/IST) Circuitos Aritméticos I 23

Page 24: Circuitos Aritmꓬticos I - Autenticação · PDF fileMultiplicação de Números com Sinal Algoritmo de Booth 1112 =22 +21 +20 =4+2+1 =710 1112 =10002 −1 =23 −1 =8−1 =710 1101112

Sumário

Somadores

Subtratores

Multiplicadores e Divisores

José Costa (DEI/IST) Circuitos Aritméticos I 24

Page 25: Circuitos Aritmꓬticos I - Autenticação · PDF fileMultiplicação de Números com Sinal Algoritmo de Booth 1112 =22 +21 +20 =4+2+1 =710 1112 =10002 −1 =23 −1 =8−1 =710 1101112

Referências

Arquitectura de Computadores: dos Sistemas Digitais aosMicroprocessadores,

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

José Costa (DEI/IST) Circuitos Aritméticos I 25

Page 26: Circuitos Aritmꓬticos I - Autenticação · PDF fileMultiplicação de Números com Sinal Algoritmo de Booth 1112 =22 +21 +20 =4+2+1 =710 1112 =10002 −1 =23 −1 =8−1 =710 1101112

Próxima Aula

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

José Costa (DEI/IST) Circuitos Aritméticos I 26