Você está na página 1de 143

Sistemas Digitais I - 1420009

Circuitos Aritmeticos
Prof. Denis Teixeira Franco
Engenharia Eletr
onica
Centro de Engenharias
Universidade Federal de Pelotas

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

1 / 70

Outline

Representacao binaria de valores


Introducao
N
umeros Inteiros
N
umeros Reais

Operacoes com inteiros


Introducao
Adicao e Subtracao
Multiplicacao
Divisao

Operacoes com reais

Desempenho aritmetico de processadores recentes

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

2 / 70

Representac
ao bin
aria de valores

Outline
1

Representacao binaria de valores


Introducao
N
umeros Inteiros
N
umeros Reais

Operacoes com inteiros


Introducao
Adicao e Subtracao
Multiplicacao
Divisao

Operacoes com reais

Desempenho aritmetico de processadores recentes

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

3 / 70

Representac
ao bin
aria de valores

Introduc
ao

Sistema posicional

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

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

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

4 / 70

Representac
ao bin
aria de valores

Introduc
ao

Representacao numerica em computacao

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

5 / 70

Representac
ao bin
aria de valores

Introduc
ao

Representacao numerica em computacao


Representacoes convencionais:
Ponto fixo
Sinal magnitude
Complemento de 2
Notacao em excesso
BCD

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

5 / 70

Representac
ao bin
aria de valores

Introduc
ao

Representacao numerica em computacao


Representacoes convencionais:
Ponto fixo
Sinal magnitude
Complemento de 2
Notacao em excesso
BCD
Ponto flutuante
Norma IEEE 754

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

5 / 70

Representac
ao bin
aria de valores

Introduc
ao

Representacao numerica em computacao


Representacoes convencionais:
Ponto fixo
Sinal magnitude
Complemento de 2
Notacao em excesso
BCD
Ponto flutuante
Norma IEEE 754
Outras representacoes: aplicac
oes especficas
Redundant Number Systems
Residue Number Systems (RNS)

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

5 / 70

Representac
ao bin
aria de valores

N
umeros Inteiros

Representacao numerica em computacao


Representacoes convencionais:

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 Inteiros

Representacao numerica em computacao


Representacoes convencionais:
Sinal magnitude
Duas representacoes para zero : +0 e 0
Hardware mais complexo

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 Inteiros

Representacao numerica em computacao


Representacoes convencionais:
Sinal magnitude
Duas representacoes para zero : +0 e 0
Hardware mais complexo

Complemento de 2
Uma u
nica representacao para zero
Mesmo HW para adicao e subtracao
Levemente assimetrica (um valor negativo a mais)

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 Inteiros

Representacao numerica em computacao


Representacoes convencionais:
Sinal magnitude
Duas representacoes para zero : +0 e 0
Hardware mais complexo

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

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 Inteiros

Representacao numerica em computacao


Representacoes convencionais:
Sinal magnitude
Duas representacoes para zero : +0 e 0
Hardware mais complexo

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

Metodos de representacao finita:


Incapazes de representar todos os n
umeros reais
Representacao aproximada
Ponto fixo: precisao e alcance limitados
N
umeros racionais: dificulta operac
oes aritmeticas
Ponto flutuante: mais utilizado
Sistema logartmico: e = logb |x|, caso especial de ponto flutuante

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

7 / 70

Representac
ao bin
aria de valores

N
umeros Reais

Representacao em ponto flutuante

Floating-point numbers:
Quatro componentes
Sinal
Mantissa (s)
Base do expoente (b)
Expoente (e)

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

8 / 70

Representac
ao bin
aria de valores

N
umeros Reais

Representacao em ponto flutuante

Floating-point numbers:
Quatro componentes
Sinal
Mantissa (s)
Base do expoente (b)
Expoente (e)

x = s b e

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

8 / 70

Representac
ao bin
aria de valores

N
umeros Reais

Representacao em ponto flutuante

Floating-point numbers:
Quatro componentes
Sinal
Mantissa (s)
Base do expoente (b)
Expoente (e)

x = s b e
Base normalmente implcita

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

8 / 70

Representac
ao bin
aria de valores

N
umeros Reais

Representacao em ponto flutuante


Formato:
e

Sinal: 0 +; 1
Expoente: Representacao em excesso de N (biased notation)
Comparacao rapida de expoentes

Mantissa: Normalizada para um MSB nao zero (1, implcito)


s = 1, f
Valores entre 1 e 2

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

9 / 70

Representac
ao bin
aria de valores

N
umeros Reais

Representacao em ponto flutuante


Faixas de representacao:
max

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

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

10 / 70

Representac
ao bin
aria de valores

N
umeros Reais

Representacao em ponto flutuante


O padrao IEEE 754:
ANSI/IEEE Standard 754-1985

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

11 / 70

Representac
ao bin
aria de valores

N
umeros Reais

Representacao em ponto flutuante


O padrao IEEE 754:
ANSI/IEEE Standard 754-1985
IEEE 754-2008
Formatos definidos

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

11 / 70

Representac
ao bin
aria de valores

N
umeros Reais

Representacao em ponto flutuante


O padrao IEEE 754:
ANSI/IEEE Standard 754-1985
IEEE 754-2008
Formatos definidos
Meia precisao: 16 bits
Precisao simples: 32 bits
Precisao dupla: 64 bits
Precisao quadrupla: 128 bits

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

11 / 70

Representac
ao bin
aria de valores

N
umeros Reais

Representacao em ponto flutuante


O padrao IEEE 754:
ANSI/IEEE Standard 754-1985
IEEE 754-2008
Formatos definidos
Meia precisao: 16 bits
e = 5 bits, bias = 15; mantissa = 10 + 1 bits

Precisao simples: 32 bits


e = 8 bits, bias = 127; mantissa = 23 + 1 bits

Precisao dupla: 64 bits


e = 11 bits, bias = 1023; mantissa = 52 + 1 bits

Precisao quadrupla: 128 bits


e = 15 bits, bias = 16383; mantissa = 112 + 1 bits

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

11 / 70

Representac
ao bin
aria de valores

N
umeros Reais

Representacao em ponto flutuante

IEEE 754-2008:
[1, 254]

Normalizado

Subnormal

255

255

NaN

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

12 / 70

Representac
ao bin
aria de valores

N
umeros Reais

Representacao em ponto flutuante


IEEE 754-2008:
Not-a-number: NaN

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

13 / 70

Representac
ao bin
aria de valores

N
umeros Reais

Representacao em ponto flutuante


IEEE 754-2008:
Not-a-number: NaN
Exemplo: 0/0
NaN + valor = NaN

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

13 / 70

Representac
ao bin
aria de valores

N
umeros Reais

Representacao em ponto flutuante


IEEE 754-2008:
Not-a-number: NaN
Exemplo: 0/0
NaN + valor = NaN

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

13 / 70

Representac
ao bin
aria de valores

N
umeros Reais

Representacao em ponto flutuante


IEEE 754-2008:
Not-a-number: NaN
Exemplo: 0/0
NaN + valor = NaN

valor (+) = 0
(+) valor =

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

13 / 70

Representac
ao bin
aria de valores

N
umeros Reais

Representacao em ponto flutuante


IEEE 754-2008:
Not-a-number: NaN
Exemplo: 0/0
NaN + valor = NaN

valor (+) = 0
(+) valor =

Subnormal

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

13 / 70

Representac
ao bin
aria de valores

N
umeros Reais

Representacao em ponto flutuante


IEEE 754-2008:
Not-a-number: NaN
Exemplo: 0/0
NaN + valor = NaN

valor (+) = 0
(+) valor =

Subnormal
(0, 0001)2 2126
Graceful underflow

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

13 / 70

Representac
ao bin
aria de valores

N
umeros Reais

Representacao em ponto flutuante


IEEE 754-2008:
Not-a-number: NaN
Exemplo: 0/0
NaN + valor = NaN

valor (+) = 0
(+) valor =

Subnormal
(0, 0001)2 2126
Graceful underflow

Codigos especiais propagados ate o final do calculo

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

13 / 70

Representac
ao bin
aria de valores

N
umeros Reais

Representacao em ponto flutuante


IEEE 754-2008:
Not-a-number: NaN
Exemplo: 0/0
NaN + valor = NaN

valor (+) = 0
(+) valor =

Subnormal
(0, 0001)2 2126
Graceful underflow

Codigos especiais propagados ate o final do calculo


Suporte a formatos estendidos

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

13 / 70

Representac
ao bin
aria de valores

N
umeros Reais

Representacao em ponto flutuante

Exemplo:
x = 100, 2510

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

14 / 70

Representac
ao bin
aria de valores

N
umeros Reais

Representacao em ponto flutuante

Exemplo:
x = 100, 2510
10010 = 11001002

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

14 / 70

Representac
ao bin
aria de valores

N
umeros Reais

Representacao em ponto flutuante

Exemplo:
x = 100, 2510
10010 = 11001002
0, 2510 = 0, 012

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

14 / 70

Representac
ao bin
aria de valores

N
umeros Reais

Representacao em ponto flutuante

Exemplo:
x = 100, 2510
10010 = 11001002
0, 2510 = 0, 012
1100100, 012 = 1, 10010001 26

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

14 / 70

Representac
ao bin
aria de valores

N
umeros Reais

Representacao em ponto flutuante

Exemplo:
x = 100, 2510
10010 = 11001002
0, 2510 = 0, 012
1100100, 012 = 1, 10010001 26
f = 1001000100...

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

14 / 70

Representac
ao bin
aria de valores

N
umeros Reais

Representacao em ponto flutuante

Exemplo:
x = 100, 2510
10010 = 11001002
0, 2510 = 0, 012
1100100, 012 = 1, 10010001 26
f = 1001000100...
e = 610 6 + 127 = 13310 100001012

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

14 / 70

Representac
ao bin
aria de valores

N
umeros Reais

Representacao em ponto flutuante

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

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

14 / 70

Representac
ao bin
aria de valores

N
umeros Reais

Representacao em ponto flutuante

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

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

14 / 70

Operac
oes com inteiros

Outline
1

Representacao binaria de valores


Introducao
N
umeros Inteiros
N
umeros Reais

Operacoes com inteiros


Introducao
Adicao e Subtracao
Multiplicacao
Divisao

Operacoes com reais

Desempenho aritmetico de processadores recentes

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

15 / 70

Operac
oes com inteiros

Introduc
ao

Introducao
Operacoes basicas:
Adicao
Subtracao
Multiplicacao
Divisao

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

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)

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

16 / 70

Operac
oes com inteiros

Adic
ao e Subtrac
ao

Adicao e subtracao
O somador completo

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

17 / 70

Operac
oes com inteiros

Adic
ao e Subtrac
ao

O somador ripple-carry

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

18 / 70

Operac
oes com inteiros

Adic
ao e Subtrac
ao

Subtracao

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

19 / 70

Operac
oes com inteiros

Adic
ao e Subtrac
ao

Subtracao

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

20 / 70

Operac
oes com inteiros

Adic
ao e Subtrac
ao

A adicao

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

21 / 70

Operac
oes com inteiros

Adic
ao e Subtrac
ao

A adicao

Operacao basica para as demais operac


oes

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

21 / 70

Operac
oes com inteiros

Adic
ao e Subtrac
ao

A adicao

Operacao basica para as demais operac


oes
O somador ripple-carry e simples mas lento

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

21 / 70

Operac
oes com inteiros

Adic
ao e Subtrac
ao

A adicao

Operacao basica para as demais operac


oes
O somador ripple-carry e simples mas lento
Tempo de operacao
ogicos (para n bits)
= 2 n nveis l

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

21 / 70

Operac
oes com inteiros

Adic
ao e Subtrac
ao

A adicao

Operacao basica para as demais operac


oes
O somador ripple-carry e simples mas lento
Tempo de operacao
ogicos (para n bits)
= 2 n nveis l
Somadores rapidos baseiam-se na quebra da cadeia de carry

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

21 / 70

Operac
oes com inteiros

Adic
ao e Subtrac
ao

O somador carry-select

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

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

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

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

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

22 / 70

Operac
oes com inteiros

Adic
ao e Subtrac
ao

O somador carry-lookahead

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

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

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

23 / 70

Operac
oes com inteiros

Adic
ao e Subtrac
ao

O somador carry-lookahead

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

24 / 70

Operac
oes com inteiros

Adic
ao e Subtrac
ao

O somador carry-lookahead

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

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

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

26 / 70

Operac
oes com inteiros

Adic
ao e Subtrac
ao

O somador carry-lookahead

G3/P3m1 G2/P2m1 G1/P1m1 G0/P0m1


Carry Lookahead Block

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

Carry Lookahead Block

c4 1

c3 1

c2 1

G3/P3 0

c0 1

c1 1

G2/P2 0

G1/P1 0

G0/P0 0
c0 0

Carry Lookahead Block

c4 0

c3 0

c2 0

m = n/4

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

c1 0
c0 0 = carryin

27 / 70

Operac
oes com inteiros

Adic
ao e Subtrac
ao

O somador carry-lookahead

G3/P3m1 G2/P2m1 G1/P1m1 G0/P0m1


Carry Lookahead Block

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

Carry Lookahead Block

c4 1

c3 1

c2 1

G3/P3 0

c0 1

c1 1

G2/P2 0

G1/P1 0

G0/P0 0
c0 0

Carry Lookahead Block

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

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

27 / 70

Operac
oes com inteiros

Adic
ao e Subtrac
ao

O somador carry-lookahead

G3/P3m1 G2/P2m1 G1/P1m1 G0/P0m1


Carry Lookahead Block

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

Carry Lookahead Block

c4 1

c3 1

c2 1

G3/P3 0

c0 1

c1 1

G2/P2 0

G1/P1 0

G0/P0 0
c0 0

Carry Lookahead Block

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

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

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
...

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

28 / 70

Operac
oes com inteiros

Multiplicac
ao

Multiplicacao

Segunda operacao mais frequente, ap


os a adicao
Implementada por diferentes algoritmos

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

29 / 70

Operac
oes com inteiros

Multiplicac
ao

Multiplicacao

Segunda operacao mais frequente, ap


os a adicao
Implementada por diferentes algoritmos
Exemplo: Multiplicacao por somas sucessivas
S =B A
S = A + A + ... + A + A (B vezes)

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

29 / 70

Operac
oes com inteiros

Multiplicac
ao

Multiplicacao

Segunda operacao mais frequente, ap


os a adicao
Implementada por diferentes algoritmos
Exemplo: Multiplicacao por somas sucessivas
S =B A
S = A + A + ... + A + A (B vezes)
Lento

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

29 / 70

Operac
oes com inteiros

Multiplicac
ao

Multiplicacao

Segunda operacao mais frequente, ap


os a adicao
Implementada por diferentes algoritmos
Exemplo: Multiplicacao por somas sucessivas
S =B A
S = A + A + ... + A + A (B vezes)
Lento
Latencia variavel, dependente da magnitude de B

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

29 / 70

Operac
oes com inteiros

Multiplicac
ao

Multiplicacao

Segunda operacao mais frequente, ap


os a adicao
Implementada por diferentes algoritmos
Exemplo: Multiplicacao por somas sucessivas
S =B A
S = A + A + ... + A + A (B vezes)
Lento
Latencia variavel, dependente da magnitude de B

Algoritmo basico: Desloca e soma (shift and add)

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

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)

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

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)

B (mbits) = S ((n + m)bits)

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

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

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

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)

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

31 / 70

Operac
oes com inteiros

Multiplicac
ao

Algoritmo basico

Geracao dos produtos parciais:


PPi = Bi A
PPi = 0
PPi = A

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

32 / 70

Operac
oes com inteiros

Multiplicac
ao

Algoritmo basico

Geracao dos produtos parciais:


PPi = Bi A
PPi = 0
PPi = A
A
A

0
Bi

n
0

MUX
n

Bi

PP i
PP i

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

32 / 70

Operac
oes com inteiros

Multiplicac
ao

Algoritmo basico

Soma dos produtos parciais:


Sequencial
Otimizacao da area de implementacao
Aumento da latencia

Paralela
Otimizacao da latencia
Aumento da area de implementacao

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

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

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

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

Topologia do multiplicador padrao, com pequenas modificacoes

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

35 / 70

Operac
oes com inteiros

Multiplicac
ao

Desloca-soma paralelo

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

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:

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

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

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

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

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

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

Conversor de representacao redundante para o resultado final


Somador rapido
Carry-lookahead

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

38 / 70

Operac
oes com inteiros

Multiplicac
ao

Multiplicadores rapidos

Dot representation/notation:

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

39 / 70

Operac
oes com inteiros

Multiplicac
ao

Multiplicadores rapidos
Multiplicador matricial (array ):
0

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

40 / 70

Operac
oes com inteiros

Multiplicac
ao

Multiplicadores rapidos
Multiplicador matricial (array ):
0

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

40 / 70

Operac
oes com inteiros

Multiplicac
ao

Multiplicadores rapidos

Multiplicador matricial (array ):


Full adders, half adders: n
umeros sem sinal
FAs, HAs, FAs e HAs modificados: n
umeros com sinal
Metodo de Baugh-Wooley

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

41 / 70

Operac
oes com inteiros

Multiplicac
ao

Multiplicadores rapidos

Multiplicador matricial (array ):


Full adders, half adders: n
umeros sem sinal
FAs, HAs, FAs e HAs modificados: n
umeros com sinal
Metodo de Baugh-Wooley

Estrutura regular, adequada para VLSI

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

41 / 70

Operac
oes com inteiros

Multiplicac
ao

Multiplicadores rapidos

Multiplicador matricial (array ):


Full adders, half adders: n
umeros sem sinal
FAs, HAs, FAs e HAs modificados: n
umeros com sinal
Metodo de Baugh-Wooley

Estrutura regular, adequada para VLSI


Implementa a funcao MAC (multiply-accumulate)

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

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

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

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

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

42 / 70

Operac
oes com inteiros

Multiplicac
ao

Multiplicadores rapidos
O algoritmo de Booth modificado

Modified Booths recoding :


Tabela de recodificao
MR i+1 MR i MR i1
0
0
0
0
1
1
1
1

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

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

43 / 70

Operac
oes com inteiros

Multiplicac
ao

Multiplicadores rapidos
O algoritmo de Booth modificado

Modified Booths recoding : exemplo Booth-2


3bit
group
000
001
010
011
100
101
110
111

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)

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

44 / 70

Operac
oes com inteiros

Multiplicac
ao

Multiplicadores rapidos
O algoritmo de Booth modificado

Modified Booths recoding :


Manipulacao direta de n
umeros sinalizados (complemento de 2)
Latencia fixa: metade dos produtos parciais
Versoes paralelas e sequenciais

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

45 / 70

Operac
oes com inteiros

Multiplicac
ao

Multiplicadores rapidos
O algoritmo de Booth modificado

Modified Booths recoding :


Manipulacao direta de n
umeros sinalizados (complemento de 2)
Latencia fixa: metade dos produtos parciais
Versoes paralelas e sequenciais
Booth-3: 0, MD, 2MD, 3MD, 4MD, -4MD, -3MD, -2MD, -MD, -0
Um terco dos produtos parciais

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

45 / 70

Operac
oes com inteiros

Multiplicac
ao

Multiplicadores rapidos
O algoritmo de Booth modificado

Modified Booths recoding :


Manipulacao direta de n
umeros sinalizados (complemento de 2)
Latencia fixa: metade dos produtos parciais
Versoes paralelas e sequenciais
Booth-3: 0, MD, 2MD, 3MD, 4MD, -4MD, -3MD, -2MD, -MD, -0
Um terco dos produtos parciais
Geracao de 3MD nao e trivial

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

45 / 70

Operac
oes com inteiros

Multiplicac
ao

Multiplicadores rapidos

Wallace Tree: arvore de reducao

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

46 / 70

Operac
oes com inteiros

Multiplicac
ao

Multiplicadores rapidos

Wallace Tree: arvore de reducao

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

46 / 70

Operac
oes com inteiros

Multiplicac
ao

Multiplicadores rapidos

Wallace Tree: primeiro nvel

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

47 / 70

Operac
oes com inteiros

Multiplicac
ao

Multiplicadores rapidos

Wallace Tree: primeiro nvel

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

47 / 70

Operac
oes com inteiros

Multiplicac
ao

Multiplicadores rapidos

Wallace Tree: segundo nvel

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

48 / 70

Operac
oes com inteiros

Multiplicac
ao

Multiplicadores rapidos

Wallace Tree: segundo nvel

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

48 / 70

Operac
oes com inteiros

Multiplicac
ao

Multiplicadores rapidos

Wallace Tree: terceiro nvel

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

49 / 70

Operac
oes com inteiros

Multiplicac
ao

Multiplicadores rapidos

Wallace Tree: terceiro nvel

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

49 / 70

Operac
oes com inteiros

Multiplicac
ao

Multiplicadores rapidos

Wallace Tree: quarto nvel

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

50 / 70

Operac
oes com inteiros

Multiplicac
ao

Multiplicadores rapidos

Wallace Tree: quarto nvel

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

50 / 70

Operac
oes com inteiros

Multiplicac
ao

Multiplicadores rapidos

Wallace Tree: somador final

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

51 / 70

Operac
oes com inteiros

Multiplicac
ao

Multiplicadores rapidos

Wallace Tree: somador final

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

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

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

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

Reducao do tamanho do somador final

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

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

Reducao do tamanho do somador final


Pode ser combinado com recodificacao

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

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

Reducao do tamanho do somador final


Pode ser combinado com recodificacao
Estrutura irregular

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

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

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

53 / 70

Operac
oes com inteiros

Multiplicac
ao

Multiplicadores rapidos

Multiplicacao por constantes:


Aplicacao em filtros, matrizes, etc
Somas e deslocamentos correspondentes aos bits em 1
Recodificacao: somas, subtrac
oes e deslocamentos

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

54 / 70

Operac
oes com inteiros

Multiplicac
ao

Multiplicadores rapidos

Multiplicacao por constantes:


11310 = 11100012

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

55 / 70

Operac
oes com inteiros

Multiplicac
ao

Multiplicadores rapidos

Multiplicacao por constantes:


11310 = 11100012
R1 113

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

55 / 70

Operac
oes com inteiros

Multiplicac
ao

Multiplicadores rapidos

Multiplicacao por constantes:


11310 = 11100012
R1 113
R2 = R1 << 1

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

55 / 70

Operac
oes com inteiros

Multiplicac
ao

Multiplicadores rapidos

Multiplicacao por constantes:


11310 = 11100012
R1 113
R2 = R1 << 1
R3 = R2 + R1

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

55 / 70

Operac
oes com inteiros

Multiplicac
ao

Multiplicadores rapidos

Multiplicacao por constantes:


11310 = 11100012
R1 113
R2 = R1 << 1
R3 = R2 + R1
R6 = R3 << 1

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

55 / 70

Operac
oes com inteiros

Multiplicac
ao

Multiplicadores rapidos

Multiplicacao por constantes:


11310 = 11100012
R1 113
R2 = R1 << 1
R3 = R2 + R1
R6 = R3 << 1
R7 = R6 + R1

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

55 / 70

Operac
oes com inteiros

Multiplicac
ao

Multiplicadores rapidos

Multiplicacao por constantes:


11310 = 11100012
R1 113
R2 = R1 << 1
R3 = R2 + R1
R6 = R3 << 1
R7 = R6 + R1
R112 = R7 << 4

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

55 / 70

Operac
oes com inteiros

Multiplicac
ao

Multiplicadores rapidos

Multiplicacao por constantes:


11310 = 11100012
R1 113
R2 = R1 << 1
R3 = R2 + R1
R6 = R3 << 1
R7 = R6 + R1
R112 = R7 << 4
R113 = R112 + R1

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

55 / 70

Operac
oes com inteiros

Multiplicac
ao

Multiplicadores rapidos

Ou:
113 = 128 16 + 1

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

56 / 70

Operac
oes com inteiros

Multiplicac
ao

Multiplicadores rapidos

Ou:
113 = 128 16 + 1
R8 = R1 << 3

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

56 / 70

Operac
oes com inteiros

Multiplicac
ao

Multiplicadores rapidos

Ou:
113 = 128 16 + 1
R8 = R1 << 3
R7 = R8 R1

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

56 / 70

Operac
oes com inteiros

Multiplicac
ao

Multiplicadores rapidos

Ou:
113 = 128 16 + 1
R8 = R1 << 3
R7 = R8 R1
R112 = R7 << 4

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

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

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

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:

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

58 / 70

Operac
oes com inteiros

Divis
ao

Divisao

Duas classes de algoritmos:


Baseados em subtracao
Lento, latencia proporcional `a largura do operando

Baseados em multiplicacao
Mais rapidos, latencia proporcional ao log2 da largura do operando
Etapas mais complexas

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

59 / 70

Operac
oes com inteiros

Divis
ao

Divisao baseada em subtracao

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

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

(2)

60 / 70

Operac
oes com inteiros

Divis
ao

Divisao baseada em subtracao

Implementacao sequencial:
DR

QC

controle
DD
RM

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

61 / 70

Operac
oes com inteiros

Divis
ao

Divisao baseada em subtracao


Implementacao sequencial:
Mais complexa que a multiplicacao
Interdependencia das ac
oes (no mesmo ciclo)
Ciclo lento, para acomodar as diferentes ac
oes

N
umeros sinalizados:
Com restauro do resto parcial
Ajuste previo do sinal dos operandos
Ajuste do sinal do resultado e do resto

Sem restauro do resto parcial


Sem ajuste previo
Ajuste do sinal do resultado e do resto

Ajuste do sinal do resto


DD = QC DR + RM
Prof. Denis Teixeira Franco ( Engenharia Eletr
onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

62 / 70

Operac
oes com inteiros

Divis
ao

Divisao baseada em subtracao

Implementacao matricial:
1

XOR
FA

caminho crtico

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

63 / 70

Operac
oes com inteiros

Divis
ao

Divisao baseada em multiplicacao

Multiplicacao do dividendo pelo inverso (recproco) do divisor.


O problema e determinar o valor recproco...
Dois metodos principais
Expansao em series (Maclaurin)
Metodo iterativo de Newton-Raphson

Look-up tables

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

64 / 70

Operac
oes com reais

Outline
1

Representacao binaria de valores


Introducao
N
umeros Inteiros
N
umeros Reais

Operacoes com inteiros


Introducao
Adicao e Subtracao
Multiplicacao
Divisao

Operacoes com reais

Desempenho aritmetico de processadores recentes

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

65 / 70

Operac
oes com reais

Adicao e subtracao em ponto flutuante

(s1 b e1 ) + (s2 b e2 ) = s b e
1
2
3
4

Verifica operandos com valor zero


Alignment shift
Adicao/subtracao das mantissas
Normalization shift

Possibilidade de overflow/underflow

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

66 / 70

Operac
oes com reais

Multiplicacao e divisao em ponto flutuante


Multiplicacao
(s1 b e1 ) (s2 b e2 ) = (s1 s2) b e1+e2
1
2
3
4

Verifica operandos com valor zero


Multiplicacao das mantissas
Adicao dos expoentes
Normalizacao do resultado

Possibilidade de overflow/underflow
Divisao
(s1 b e1 ) (s2 b e2 ) = (s1 s2) b e1e2
1
2
3
4

Verifica operandos com valor zero


Divisao das mantissas
Subtracao dos expoentes
Normalizacao do resultado

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 /

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

68 / 70

Desempenho aritm
etico de processadores recentes

Outline
1

Representacao binaria de valores


Introducao
N
umeros Inteiros
N
umeros Reais

Operacoes com inteiros


Introducao
Adicao e Subtracao
Multiplicacao
Divisao

Operacoes com reais

Desempenho aritmetico de processadores recentes

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

69 / 70

Desempenho aritm
etico de processadores recentes

Desempenho de processadores recentes


Latencia: n
umeros de ciclos para resultado com dependencia
Latencia de despacho: n
umero de ciclos para iniciar uma nova
operacao
Valores do tipo NaN, overflow, underflow e subnormal, podem
adicionar 100+ ciclos

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

Prof. Denis Teixeira Franco ( Engenharia Eletr


onica Centro
Sistemas
de Digitais
Engenharias
I - 1420009
Universidade Federal de Pelotas )

70 / 70

Você também pode gostar