Post on 06-Feb-2018
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
Sumário
Somadores
Subtratores
Multiplicadores e Divisores
José Costa (DEI/IST) Circuitos Aritméticos I 2
Somadores
A B
S
+
n n
n+1
4
AAAAA 0123
José Costa (DEI/IST) Circuitos Aritméticos I 3
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Sumário
Somadores
Subtratores
Multiplicadores e Divisores
José Costa (DEI/IST) Circuitos Aritméticos I 24
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
Próxima Aula
Operações com Números FracionáriosUnidade Lógica e Aritmética
José Costa (DEI/IST) Circuitos Aritméticos I 26