Circuitos Aritméticos I
José Costa
Introdução à Arquitetura de Computadores
Departamento de Engenharia Informática (DEI) Instituto Superior Técnico
2013-10-09
Sumário
Somadores
Subtratores
Multiplicadores e Divisores
Somadores
A B
S
+
n n
n+1
4 A A A
A A3 2 1 0
Semi-somador de 1 Bit
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
Somador de 1 Bit
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
Semi-somador Semi-somador
A B
C S Somador completo
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
Interligação em Cadeia de Circuitos Somadores
Ripple Carry Adder
A0 B0
C0
A1 B1 A2 B2 A3 B3
S0 S1 S2 S3 S4
C1 C2 C3
Semi- -somador
Somador completo
Somador completo
Somador completo
S S S S
A B A B A B A B
Cout Cin Cout Cin Cout Cin Cout
Interligação em Cadeia de Circuitos Somadores
Ripple Carry Adder
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
3 Somador
completo
Somador completo
Somador completo Somador
completo Cin
S
A B
Cout Cin
S
A B
Cout Cin
S
A B
Cout Cin
S
A B
Cout Cin
Interligação em Cadeia de Circuitos Somadores
Ripple Carry Adder
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
Somadores Rápidos
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
Somadores Rápidos
Carry Lookahead
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
Somadores Rápidos
Carry Lookahead
A B
0 0 A B
1 1 A B
2 2 A B
3 3
S0 S
1 Somador
completo parcial Cin
S
A B
Cin
S
A B
Cin
A B
Cin
A B
Cin G
P P G
Somador completo parcial
Somador completo parcial
Somador completo parcial S2
S
P0
G0 P
1
G1
S3 S
G P
P G
2
G P
P G3 3 2
Somadores Rápidos
Carry Lookahead
A3-0 B3-0
Somador de 4 bits carry
lookahead Cin
S
A B
Cin
G P
P3-0 G3-0
4 4
4 S3-0
A7-4 B7-4
Somador de 4 bits carry
lookahead S
A B
Cin
G P
P7-4 G7-4
4 4
4 S7-4
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
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
Subtração Usando Somadores
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
Circuito Somador/Subtrator
2 3
2 3
A B
S
+
Cin Cout
+/
-
A A
A
S S S
0
0 0
1 1
M
B1 B2 B3
Multiplicadores e Divisores
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
Multiplicação de Números sem Sinal
Multiplicador em Matriz
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
Multiplicação de Números com Sinal
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
Multiplicaçã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=1100002+1112 =112×24+1112
1100002=26−24 e 1112 =23−20 1101112=26−24+23−20
Complemento para 2
110112=10112−100002 =24−23+22−20−24 =−23+22−20 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
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
Multiplicação de Números com Sinal
Multiplicador de Booth
(-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
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
Sumário
Somadores
Subtratores
Multiplicadores e Divisores
Referências
Arquitectura de Computadores: dos Sistemas Digitais aos Microprocessadores,
G. Arroz, J. Monteiro, A. Oliveira, Secções 5.1, 5.3 e 5.4
Próxima Aula
Operações com Números Fracionários Unidade Lógica e Aritmética