Escolar Documentos
Profissional Documentos
Cultura Documentos
Circuitos Aritmeticos
Prof. Denis Teixeira Franco
Engenharia Eletr
onica
Centro de Engenharias
Universidade Federal de Pelotas
1 / 70
Outline
2 / 70
Representac
ao bin
aria de valores
Outline
1
3 / 70
Representac
ao bin
aria de valores
Introduc
ao
Sistema posicional
4 / 70
Representac
ao bin
aria de valores
Introduc
ao
Sistema posicional
Representacao dos n
umeros:
N=
n1
X
(xi B i )
i=m
N N
umero
B Base do sistema de numeracao
xi Dgito na posicao i
m ate n 1 Posicao dos dgitos relativa ao ponto (vrgula)
234, 18 = 2 102 + 3 101 + 4 100 + 1 101 + 8 102
4 / 70
Representac
ao bin
aria de valores
Introduc
ao
5 / 70
Representac
ao bin
aria de valores
Introduc
ao
5 / 70
Representac
ao bin
aria de valores
Introduc
ao
5 / 70
Representac
ao bin
aria de valores
Introduc
ao
5 / 70
Representac
ao bin
aria de valores
N
umeros Inteiros
6 / 70
Representac
ao bin
aria de valores
N
umeros Inteiros
6 / 70
Representac
ao bin
aria de valores
N
umeros Inteiros
Complemento de 2
Uma u
nica representacao para zero
Mesmo HW para adicao e subtracao
Levemente assimetrica (um valor negativo a mais)
6 / 70
Representac
ao bin
aria de valores
N
umeros Inteiros
Complemento de 2
Uma u
nica representacao para zero
Mesmo HW para adicao e subtracao
Levemente assimetrica (um valor negativo a mais)
Notacao em excesso
Permite comparacao relativa entre magnitudes
Considera n
umeros como nao sinalizados
6 / 70
Representac
ao bin
aria de valores
N
umeros Inteiros
Complemento de 2
Uma u
nica representacao para zero
Mesmo HW para adicao e subtracao
Levemente assimetrica (um valor negativo a mais)
Notacao em excesso
Permite comparacao relativa entre magnitudes
Considera n
umeros como nao sinalizados
BCD
Representacao intuitiva
Aplicac
oes financeiras, contabilidade, etc
Prof. Denis Teixeira Franco ( Engenharia Eletr
onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )
6 / 70
Representac
ao bin
aria de valores
N
umeros Reais
Numeros reais
7 / 70
Representac
ao bin
aria de valores
N
umeros Reais
Floating-point numbers:
Quatro componentes
Sinal
Mantissa (s)
Base do expoente (b)
Expoente (e)
8 / 70
Representac
ao bin
aria de valores
N
umeros Reais
Floating-point numbers:
Quatro componentes
Sinal
Mantissa (s)
Base do expoente (b)
Expoente (e)
x = s b e
8 / 70
Representac
ao bin
aria de valores
N
umeros Reais
Floating-point numbers:
Quatro componentes
Sinal
Mantissa (s)
Base do expoente (b)
Expoente (e)
x = s b e
Base normalmente implcita
8 / 70
Representac
ao bin
aria de valores
N
umeros Reais
Sinal: 0 +; 1
Expoente: Representacao em excesso de N (biased notation)
Comparacao rapida de expoentes
9 / 70
Representac
ao bin
aria de valores
N
umeros Reais
Overflow
Nmeros negativos
min
min
Nmeros positivos
max
Underflow
Overflow
0, e + : representac
oes especiais
max = maior mantissa b maior expoente
min = menor mantissa b menor expoente
Variacao na densidade dos valores
10 / 70
Representac
ao bin
aria de valores
N
umeros Reais
11 / 70
Representac
ao bin
aria de valores
N
umeros Reais
11 / 70
Representac
ao bin
aria de valores
N
umeros Reais
11 / 70
Representac
ao bin
aria de valores
N
umeros Reais
11 / 70
Representac
ao bin
aria de valores
N
umeros Reais
IEEE 754-2008:
[1, 254]
Normalizado
Subnormal
255
255
NaN
12 / 70
Representac
ao bin
aria de valores
N
umeros Reais
13 / 70
Representac
ao bin
aria de valores
N
umeros Reais
13 / 70
Representac
ao bin
aria de valores
N
umeros Reais
13 / 70
Representac
ao bin
aria de valores
N
umeros Reais
valor (+) = 0
(+) valor =
13 / 70
Representac
ao bin
aria de valores
N
umeros Reais
valor (+) = 0
(+) valor =
Subnormal
13 / 70
Representac
ao bin
aria de valores
N
umeros Reais
valor (+) = 0
(+) valor =
Subnormal
(0, 0001)2 2126
Graceful underflow
13 / 70
Representac
ao bin
aria de valores
N
umeros Reais
valor (+) = 0
(+) valor =
Subnormal
(0, 0001)2 2126
Graceful underflow
13 / 70
Representac
ao bin
aria de valores
N
umeros Reais
valor (+) = 0
(+) valor =
Subnormal
(0, 0001)2 2126
Graceful underflow
13 / 70
Representac
ao bin
aria de valores
N
umeros Reais
Exemplo:
x = 100, 2510
14 / 70
Representac
ao bin
aria de valores
N
umeros Reais
Exemplo:
x = 100, 2510
10010 = 11001002
14 / 70
Representac
ao bin
aria de valores
N
umeros Reais
Exemplo:
x = 100, 2510
10010 = 11001002
0, 2510 = 0, 012
14 / 70
Representac
ao bin
aria de valores
N
umeros Reais
Exemplo:
x = 100, 2510
10010 = 11001002
0, 2510 = 0, 012
1100100, 012 = 1, 10010001 26
14 / 70
Representac
ao bin
aria de valores
N
umeros Reais
Exemplo:
x = 100, 2510
10010 = 11001002
0, 2510 = 0, 012
1100100, 012 = 1, 10010001 26
f = 1001000100...
14 / 70
Representac
ao bin
aria de valores
N
umeros Reais
Exemplo:
x = 100, 2510
10010 = 11001002
0, 2510 = 0, 012
1100100, 012 = 1, 10010001 26
f = 1001000100...
e = 610 6 + 127 = 13310 100001012
14 / 70
Representac
ao bin
aria de valores
N
umeros Reais
Exemplo:
x = 100, 2510
10010 = 11001002
0, 2510 = 0, 012
1100100, 012 = 1, 10010001 26
f = 1001000100...
e = 610 6 + 127 = 13310 100001012
x = 0 10000101 10010001000000000000000
14 / 70
Representac
ao bin
aria de valores
N
umeros Reais
Exemplo:
x = 100, 2510
10010 = 11001002
0, 2510 = 0, 012
1100100, 012 = 1, 10010001 26
f = 1001000100...
e = 610 6 + 127 = 13310 100001012
x = 0 10000101 10010001000000000000000
x = 42C 88000h
14 / 70
Operac
oes com inteiros
Outline
1
15 / 70
Operac
oes com inteiros
Introduc
ao
Introducao
Operacoes basicas:
Adicao
Subtracao
Multiplicacao
Divisao
16 / 70
Operac
oes com inteiros
Introduc
ao
Introducao
Operacoes basicas:
Adicao
Subtracao
Multiplicacao
Divisao
Blocos de base:
Half adder (HA)
Somador (2,2)
Full adder (FA)
Somador (3,2)
16 / 70
Operac
oes com inteiros
Adic
ao e Subtrac
ao
Adicao e subtracao
O somador completo
17 / 70
Operac
oes com inteiros
Adic
ao e Subtrac
ao
O somador ripple-carry
18 / 70
Operac
oes com inteiros
Adic
ao e Subtrac
ao
Subtracao
19 / 70
Operac
oes com inteiros
Adic
ao e Subtrac
ao
Subtracao
20 / 70
Operac
oes com inteiros
Adic
ao e Subtrac
ao
A adicao
21 / 70
Operac
oes com inteiros
Adic
ao e Subtrac
ao
A adicao
21 / 70
Operac
oes com inteiros
Adic
ao e Subtrac
ao
A adicao
21 / 70
Operac
oes com inteiros
Adic
ao e Subtrac
ao
A adicao
21 / 70
Operac
oes com inteiros
Adic
ao e Subtrac
ao
A adicao
21 / 70
Operac
oes com inteiros
Adic
ao e Subtrac
ao
O somador carry-select
22 / 70
Operac
oes com inteiros
Adic
ao e Subtrac
ao
O somador carry-select
Tempo de operacao
ogicos (para n bits)
= (2 n)/2 + 1 nveis l
22 / 70
Operac
oes com inteiros
Adic
ao e Subtrac
ao
O somador carry-select
Tempo de operacao
ogicos (para n bits)
= (2 n)/2 + 1 nveis l
= 50% maior
22 / 70
Operac
oes com inteiros
Adic
ao e Subtrac
ao
O somador carry-lookahead
23 / 70
Operac
oes com inteiros
Adic
ao e Subtrac
ao
O somador carry-lookahead
Reinterpretacao da tabela do somador completo
O sinal de carry pode ser gerado pelos bits de entrada
O sinal de carry pode ser propagado a partir do carry precedente
23 / 70
Operac
oes com inteiros
Adic
ao e Subtrac
ao
O somador carry-lookahead
24 / 70
Operac
oes com inteiros
Adic
ao e Subtrac
ao
O somador carry-lookahead
25 / 70
Operac
oes com inteiros
Adic
ao e Subtrac
ao
O somador carry-lookahead
G3 i
P3 i
G2 i
P2 i
G1 i
P1 i
G0 i
P0 i
c0 i
c4 i
c3 i
c2 i
c1 i
26 / 70
Operac
oes com inteiros
Adic
ao e Subtrac
ao
O somador carry-lookahead
c4 m1
c3 m1
c4 m1 = carryout
c2 m1
G3/P3 1
c0 m1
c1 m1
G2/P2 1
G1/P1 1
G0/P0 1
c4 1
c3 1
c2 1
G3/P3 0
c0 1
c1 1
G2/P2 0
G1/P1 0
G0/P0 0
c0 0
c4 0
c3 0
c2 0
m = n/4
c1 0
c0 0 = carryin
27 / 70
Operac
oes com inteiros
Adic
ao e Subtrac
ao
O somador carry-lookahead
c4 m1
c3 m1
c4 m1 = carryout
c2 m1
G3/P3 1
c0 m1
c1 m1
G2/P2 1
G1/P1 1
G0/P0 1
c4 1
c3 1
c2 1
G3/P3 0
c0 1
c1 1
G2/P2 0
G1/P1 0
G0/P0 0
c0 0
c4 0
c3 0
c2 0
m = n/4
c1 0
c0 0 = carryin
Tempo de operacao
ogicos (para n bits)
= (4 Log4 n) + 1 nveis l
27 / 70
Operac
oes com inteiros
Adic
ao e Subtrac
ao
O somador carry-lookahead
c4 m1
c3 m1
c4 m1 = carryout
c2 m1
G3/P3 1
c0 m1
c1 m1
G2/P2 1
G1/P1 1
G0/P0 1
c4 1
c3 1
c2 1
G3/P3 0
c0 1
c1 1
G2/P2 0
G1/P1 0
G0/P0 0
c0 0
c4 0
c3 0
c2 0
m = n/4
c1 0
c0 0 = carryin
Tempo de operacao
ogicos (para n bits)
= (4 Log4 n) + 1 nveis l
= 100% maior
27 / 70
Operac
oes com inteiros
Adic
ao e Subtrac
ao
Somadores rapidos
Carry-skip
Carry-save
Ling
Ladner-Fischer
Kogge-Stone
Brent-Kung
Hbrido B-K/K-S
Manchester
Carry-free
...
28 / 70
Operac
oes com inteiros
Multiplicac
ao
Multiplicacao
29 / 70
Operac
oes com inteiros
Multiplicac
ao
Multiplicacao
29 / 70
Operac
oes com inteiros
Multiplicac
ao
Multiplicacao
29 / 70
Operac
oes com inteiros
Multiplicac
ao
Multiplicacao
29 / 70
Operac
oes com inteiros
Multiplicac
ao
Multiplicacao
29 / 70
Operac
oes com inteiros
Multiplicac
ao
Algoritmo basico
Soma de produtos parciais deslocados: n
umeros nao-sinalizados
A
B
Multiplicando (MD)
Multiplicador (MR)
Produto (PR)
30 / 70
Operac
oes com inteiros
Multiplicac
ao
Algoritmo basico
Soma de produtos parciais deslocados: n
umeros nao-sinalizados
A
B
Multiplicando (MD)
Multiplicador (MR)
Produto (PR)
A7 A6 A5 A4 A3 A2 A1 A0
B7 B6 B5 B4 B3 B2 B1 B0
A7 A6 A5 A4 A3 A2 A1 A0
A7 A6 A5 A4 A3 A2 A1 A0
A7 A6 A5 A4 A3 A2 A1 A0
A7 A6 A5 A4 A3 A2 A1 A0
A7 A6 A5 A4 A3 A2 A1 A0
A7 A6 A5 A4 A3 A2 A1 A0
A7 A6 A5 A4 A3 A2 A1 A0
A7 A6 A5 A4 A3 A2 A1 A0
B 0 = PP0
B 1 = PP1
Produto
parcial
B 2 = PP2
B 3 = PP3
B 4 = PP4
B 5 = PP5
B 6 = PP6
B 7 = PP7
S15S14S13S12S11S10S 9 S 8 S 7 S 6 S 5 S 4 S 3 S 2 S 1 S 0
A (nbits)
30 / 70
Operac
oes com inteiros
Multiplicac
ao
Algoritmo basico
Exemplo:
0 0 1 0 0 1 1 0
(38)
0 0 1 0 1 1 1 0
(46)
0 0 0 0 0 0 0 0
31 / 70
Operac
oes com inteiros
Multiplicac
ao
Algoritmo basico
Exemplo:
0
0 0
0 0 0
0 0 0 0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0 0 1 0 0 1 1 0
(38)
0 0 1 0 1 1 1 0
(46)
0
0
1
0
0
1
0
0
0
1
0
0
0
1
0
0
0
0
1
0
0
0
0
1
1
0
0 0 0 0
1 1 0
1 0
0
0 0 0 0 0 1 1 0 1 1 0 1 0 1 0 0
(1748)
31 / 70
Operac
oes com inteiros
Multiplicac
ao
Algoritmo basico
32 / 70
Operac
oes com inteiros
Multiplicac
ao
Algoritmo basico
0
Bi
n
0
MUX
n
Bi
PP i
PP i
32 / 70
Operac
oes com inteiros
Multiplicac
ao
Algoritmo basico
Paralela
Otimizacao da latencia
Aumento da area de implementacao
33 / 70
Operac
oes com inteiros
Multiplicac
ao
Desloca-soma sequencial
Circuito de multiplicacao sequencial (sem a PC):
MR
MD
0
n
n
0 MUX 1
n
PP
n
PR
34 / 70
Operac
oes com inteiros
Multiplicac
ao
Desloca-soma sequencial
Caractersticas:
Area
reduzida
N
umero fixo de ciclos de operacao na versao sncrona
N
umeros sinalizados:
Multiplicando negativo
Implementar extensao de sinal nos produtos parciais
Multiplicador negativo
Subtrair o produto parcial gerado pelo bit de sinal
35 / 70
Operac
oes com inteiros
Multiplicac
ao
Desloca-soma paralelo
36 / 70
Operac
oes com inteiros
Multiplicac
ao
Desloca-soma paralelo
Circuito de multiplicacao paralelo:
PP 1
n
PP 0
n
PP 2
n
n+1
PP 3
n
n+1
Implementacao paralela:
Area
proporcional `a largura dos operandos
Para operandos de n-bits: n-1 somadores de n-bits
Latencia fixa
Pode ser amplamente otimizado
Prof. Denis Teixeira Franco ( Engenharia Eletr
onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )
36 / 70
Operac
oes com inteiros
Multiplicac
ao
Multiplicadores rapidos
Aceleracao da multiplicacao:
Multiplicacao vista como adicao de m
ultiplos operandos
Otimizacao possvel atraves da:
37 / 70
Operac
oes com inteiros
Multiplicac
ao
Multiplicadores rapidos
Aceleracao da multiplicacao:
Multiplicacao vista como adicao de m
ultiplos operandos
Otimizacao possvel atraves da:
Reducao do n
umero de produtos parciais
Manipulacao simultanea de mais de um bit do multiplicador
37 / 70
Operac
oes com inteiros
Multiplicac
ao
Multiplicadores rapidos
Aceleracao da multiplicacao:
Multiplicacao vista como adicao de m
ultiplos operandos
Otimizacao possvel atraves da:
Reducao do n
umero de produtos parciais
Manipulacao simultanea de mais de um bit do multiplicador
Aceleracao das somas
Pipeline, arvores, etc
37 / 70
Operac
oes com inteiros
Multiplicac
ao
Multiplicadores rapidos
Multiplicadores otimizaveis por tres elementos:
Circuitos de formacao dos produtos parciais
Portas AND
Multiplexers
Recodificadores de Booth
Arvores
de reducao dos produtos parciais
Normalmente baseados em arvores do tipo carry-save
Wallace
Dadda
Array
38 / 70
Operac
oes com inteiros
Multiplicac
ao
Multiplicadores rapidos
Dot representation/notation:
39 / 70
Operac
oes com inteiros
Multiplicac
ao
Multiplicadores rapidos
Multiplicador matricial (array ):
0
40 / 70
Operac
oes com inteiros
Multiplicac
ao
Multiplicadores rapidos
Multiplicador matricial (array ):
0
40 / 70
Operac
oes com inteiros
Multiplicac
ao
Multiplicadores rapidos
41 / 70
Operac
oes com inteiros
Multiplicac
ao
Multiplicadores rapidos
41 / 70
Operac
oes com inteiros
Multiplicac
ao
Multiplicadores rapidos
41 / 70
Operac
oes com inteiros
Multiplicac
ao
Multiplicadores rapidos
O algoritmo de Booth
Booths recoding :
Reducao do n
umero de produtos parciais
Recodificacao de sequencias de 1s
0 0 1 1 1 1 0 0
32+16+8+4 = 60
42 / 70
Operac
oes com inteiros
Multiplicac
ao
Multiplicadores rapidos
O algoritmo de Booth
Booths recoding :
Reducao do n
umero de produtos parciais
Recodificacao de sequencias de 1s
0 0 1 1 1 1 0 0
32+16+8+4 = 60
0 1 0 0 0 1 0 0
64
4 = 60
42 / 70
Operac
oes com inteiros
Multiplicac
ao
Multiplicadores rapidos
O algoritmo de Booth modificado
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
PP j
0
MD
MD
2MD
2MD
MD
MD
0
0 0 1 0 0 1 1 0
0 0 1 0 1 1 1 0 0
MD
MR
2MD
0
MD
MD
43 / 70
Operac
oes com inteiros
Multiplicac
ao
Multiplicadores rapidos
O algoritmo de Booth modificado
Partial
product
0
multiplicand
multiplicand
2 * multiplicand
2 * multiplicand
multiplicand
multiplicand
0
Multiplicand
Multiplier
partial
products
sign
extension
1 1 1 1 11 0 1 0 1 1 0
0 0 0 0 0 0 0 0 0 0
0 0 1 0 1 0 1 0
0 1 0 1 0 1
(21)
0 1 1 1 1 0 0 (30)
2 * multiplicand
0
2 * multiplicand
Result 0 0 1 0 0 1 1 1 0 1 1 0 (630)
44 / 70
Operac
oes com inteiros
Multiplicac
ao
Multiplicadores rapidos
O algoritmo de Booth modificado
45 / 70
Operac
oes com inteiros
Multiplicac
ao
Multiplicadores rapidos
O algoritmo de Booth modificado
45 / 70
Operac
oes com inteiros
Multiplicac
ao
Multiplicadores rapidos
O algoritmo de Booth modificado
45 / 70
Operac
oes com inteiros
Multiplicac
ao
Multiplicadores rapidos
46 / 70
Operac
oes com inteiros
Multiplicac
ao
Multiplicadores rapidos
46 / 70
Operac
oes com inteiros
Multiplicac
ao
Multiplicadores rapidos
47 / 70
Operac
oes com inteiros
Multiplicac
ao
Multiplicadores rapidos
47 / 70
Operac
oes com inteiros
Multiplicac
ao
Multiplicadores rapidos
48 / 70
Operac
oes com inteiros
Multiplicac
ao
Multiplicadores rapidos
48 / 70
Operac
oes com inteiros
Multiplicac
ao
Multiplicadores rapidos
49 / 70
Operac
oes com inteiros
Multiplicac
ao
Multiplicadores rapidos
49 / 70
Operac
oes com inteiros
Multiplicac
ao
Multiplicadores rapidos
50 / 70
Operac
oes com inteiros
Multiplicac
ao
Multiplicadores rapidos
50 / 70
Operac
oes com inteiros
Multiplicac
ao
Multiplicadores rapidos
51 / 70
Operac
oes com inteiros
Multiplicac
ao
Multiplicadores rapidos
51 / 70
Operac
oes com inteiros
Multiplicac
ao
Multiplicadores rapidos
Wallace Tree:
Reducao do n
umero de nveis em relacao a um multiplicador matricial
16 PPs 6 nveis
32 PPs 8 nveis
64 PPs 10 nveis
52 / 70
Operac
oes com inteiros
Multiplicac
ao
Multiplicadores rapidos
Wallace Tree:
Reducao do n
umero de nveis em relacao a um multiplicador matricial
16 PPs 6 nveis
32 PPs 8 nveis
64 PPs 10 nveis
52 / 70
Operac
oes com inteiros
Multiplicac
ao
Multiplicadores rapidos
Wallace Tree:
Reducao do n
umero de nveis em relacao a um multiplicador matricial
16 PPs 6 nveis
32 PPs 8 nveis
64 PPs 10 nveis
52 / 70
Operac
oes com inteiros
Multiplicac
ao
Multiplicadores rapidos
Wallace Tree:
Reducao do n
umero de nveis em relacao a um multiplicador matricial
16 PPs 6 nveis
32 PPs 8 nveis
64 PPs 10 nveis
52 / 70
Operac
oes com inteiros
Multiplicac
ao
Multiplicadores rapidos
Dadda Tree:
Similar ao Wallace
Reducao mnima em cada nvel (maxima para Wallace)
Fase de reducao com menos HW
Somador final mais longo
53 / 70
Operac
oes com inteiros
Multiplicac
ao
Multiplicadores rapidos
54 / 70
Operac
oes com inteiros
Multiplicac
ao
Multiplicadores rapidos
55 / 70
Operac
oes com inteiros
Multiplicac
ao
Multiplicadores rapidos
55 / 70
Operac
oes com inteiros
Multiplicac
ao
Multiplicadores rapidos
55 / 70
Operac
oes com inteiros
Multiplicac
ao
Multiplicadores rapidos
55 / 70
Operac
oes com inteiros
Multiplicac
ao
Multiplicadores rapidos
55 / 70
Operac
oes com inteiros
Multiplicac
ao
Multiplicadores rapidos
55 / 70
Operac
oes com inteiros
Multiplicac
ao
Multiplicadores rapidos
55 / 70
Operac
oes com inteiros
Multiplicac
ao
Multiplicadores rapidos
55 / 70
Operac
oes com inteiros
Multiplicac
ao
Multiplicadores rapidos
Ou:
113 = 128 16 + 1
56 / 70
Operac
oes com inteiros
Multiplicac
ao
Multiplicadores rapidos
Ou:
113 = 128 16 + 1
R8 = R1 << 3
56 / 70
Operac
oes com inteiros
Multiplicac
ao
Multiplicadores rapidos
Ou:
113 = 128 16 + 1
R8 = R1 << 3
R7 = R8 R1
56 / 70
Operac
oes com inteiros
Multiplicac
ao
Multiplicadores rapidos
Ou:
113 = 128 16 + 1
R8 = R1 << 3
R7 = R8 R1
R112 = R7 << 4
56 / 70
Operac
oes com inteiros
Multiplicac
ao
Multiplicadores rapidos
Ou:
113 = 128 16 + 1
R8 = R1 << 3
R7 = R8 R1
R112 = R7 << 4
R113 = R112 + R1
56 / 70
Operac
oes com inteiros
Multiplicac
ao
Multiplicadores rapidos
Multiplicacao por constantes:
45A = 5A 9 = A(22 + 1)(23 + 1)
2 somadores, 2 deslocadores
Multiplicacao por m
ultiplas constantes:
Compartilhamento de subexpress
oes
9A = 5A + 4A
13A = 5A + 8A
18A = 2 9A
21A = 5A + 16A
Algoritmos para determinacao das subexpress
oes
Robert Bernstein
Vincent Lef`evre
Prof. Denis Teixeira Franco ( Engenharia Eletr
onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )
57 / 70
Operac
oes com inteiros
Multiplicac
ao
Multiplicadores rapidos
Multiplicador matricial Pipeline:
58 / 70
Operac
oes com inteiros
Divis
ao
Divisao
Baseados em multiplicacao
Mais rapidos, latencia proporcional ao log2 da largura do operando
Etapas mais complexas
59 / 70
Operac
oes com inteiros
Divis
ao
Exemplo:
(74)
1 0 0 1 0 1 0
1 0 0 0
1 0
1 0 0 0
1 0 0 0
(8)
1 0 0 1
(9)
Quociente
1 0 1
1 0 0 0
1 0 1 0
1 0 0 0
1 0
Resto
(2)
60 / 70
Operac
oes com inteiros
Divis
ao
Implementacao sequencial:
DR
QC
controle
DD
RM
61 / 70
Operac
oes com inteiros
Divis
ao
N
umeros sinalizados:
Com restauro do resto parcial
Ajuste previo do sinal dos operandos
Ajuste do sinal do resultado e do resto
62 / 70
Operac
oes com inteiros
Divis
ao
Implementacao matricial:
1
XOR
FA
caminho crtico
63 / 70
Operac
oes com inteiros
Divis
ao
Look-up tables
64 / 70
Operac
oes com reais
Outline
1
65 / 70
Operac
oes com reais
(s1 b e1 ) + (s2 b e2 ) = s b e
1
2
3
4
Possibilidade de overflow/underflow
66 / 70
Operac
oes com reais
Possibilidade de overflow/underflow
Divisao
(s1 b e1 ) (s2 b e2 ) = (s1 s2) b e1e2
1
2
3
4
Possibilidade de overflow/underflow
Prof. Denis Teixeira Franco ( Engenharia Eletr
onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )
67 / 70
Operac
oes com reais
Conversao e excecoes
Arredondamento: 5 tipos
Excecoes
Adicao: (+) + ()
Multiplicacao: 0
Divisao: 0/0 ou /
68 / 70
Desempenho aritm
etico de processadores recentes
Outline
1
69 / 70
Desempenho aritm
etico de processadores recentes
ADD/SUB
IMUL
IDIV
FADD/FSUB
FMUL
FDIV
FSIN
FCOS
Pentium 4
Lat
encia
Lat. Desp.
0,5
0,25
14
4,5
50
23
5
1
7
2
43
43
180
170
207
207
Sandy Bridge
Lat
encia
Lat. Desp.
1
0,33
3
1
21-24
11-14
3
1
5
1
10-24
10-24
47-100
47-115
-
Lat
encia
1
7
38
5
5
71
260
260
Atom
Lat. Desp.
0,5
7
38
1
2
71
-
Bulldozer
Lat
encia
Lat. Desp.
1
0,5
4
2
23
20
5-6
1
5-6
1
10-42
5-18
65-210
65-210
160
160
70 / 70