projecto de sistemas digitais - paginas.fe.up.ptaja/psd2004_05/slides/vfl.pdf · 32 geradores de...

18
1 LEEC - 5º ano - 1º semestre Aritmética em Vírgula Flutuante: Algoritmos e Arquitecturas António José Araújo ([email protected]) FEUP, Nov. 2004 http://www.fe.up.pt/~aja/PSD2004_05 Projecto de Sistemas Digitais FEUP/DEEC - Projecto de Sistemas Digitais, 2004/05 António José Araújo 2 Introdução A representação em VFL e a norma IEEE 754 Porquê VFL? Precisão e gama de representação Rigidez da norma: não contempla formatos de representação específicamente concebidos para determinadas aplicações • Dificuldades Optimização de formatos VFL Fluxo de projecto tradicional ao nível RTL não contempla a síntese de operadores VFL Arquitecturas específicas colocam novos desafios Faltam metodologias capazes de proporcionarem uma visão integrada das fases de projecto

Upload: phamdien

Post on 14-Dec-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Projecto de Sistemas Digitais - paginas.fe.up.ptaja/PSD2004_05/slides/VFL.pdf · 32 Geradores de operadores sintetizáveis • Problema: Elevado número de combinações das características

1

1

LEEC - 5º ano - 1º semestre

Aritmética em Vírgula Flutuante: Algoritmos e Arquitecturas

António José Araújo([email protected])

FEUP, Nov. 2004

http://www.fe.up.pt/~aja/PSD2004_05

Projecto de Sistemas Digitais

FEUP/DEEC - Projecto de Sistemas Digitais, 2004/05António José Araújo

2

Introdução• A representação em VFL e a norma IEEE 754

– Porquê VFL? Precisão e gama de representação– Rigidez da norma: não contempla formatos de

representação específicamente concebidos para determinadas aplicações

• Dificuldades– Optimização de formatos VFL– Fluxo de projecto tradicional ao nível RTL não

contempla a síntese de operadores VFL– Arquitecturas específicas colocam novos desafios– Faltam metodologias capazes de proporcionarem

uma visão integrada das fases de projecto

Page 2: Projecto de Sistemas Digitais - paginas.fe.up.ptaja/PSD2004_05/slides/VFL.pdf · 32 Geradores de operadores sintetizáveis • Problema: Elevado número de combinações das características

2

FEUP/DEEC - Projecto de Sistemas Digitais, 2004/05António José Araújo

3

Cálculo em VFL

• Operações aritméticas: +, −, ×, ÷– Representação: sinal, significando e expoente– Formato: dimensão ajustada às características da

aplicação

• Funções transcendentes: ex, cos x, etc.– Métodos de aproximação: polinómios, tabelas e

processos iterativos (p. ex. CORDIC)– Precisão dependente das necessidades da

aplicação

• Expressões matemáticas

FEUP/DEEC - Projecto de Sistemas Digitais, 2004/05António José Araújo

4

Conceitos e definições

Sinal Expoente Significando

sinal expoente

Significando(“mantissa”)

Número de bits

A base β (2) não é representada

Page 3: Projecto de Sistemas Digitais - paginas.fe.up.ptaja/PSD2004_05/slides/VFL.pdf · 32 Geradores de operadores sintetizáveis • Problema: Elevado número de combinações das características

3

FEUP/DEEC - Projecto de Sistemas Digitais, 2004/05António José Araújo

5

Representação normalizadaExemplo:

0,1010•2011 = 0,0101•2100 = 1,0100•2010

f=0100E=010

normalizado

Forma de representação em que o MSB do significando é 1

Vantagens:• Poupa-se 1 bit no significando• Coerência de representação• Facilita a comparação de números VFL (expoentes)

FEUP/DEEC - Projecto de Sistemas Digitais, 2004/05António José Araújo

6

Representação do significando

unit in the last position

Em binário (β =2) f∈ [0,1[, ou seja, M∈ [1,2[... e o 0, como é representado?

• a parte fraccionária do significandoconfunde-se por vezes com o própriosignificando• m não inclui o 1 implícito

Hidden bit fracção

Page 4: Projecto de Sistemas Digitais - paginas.fe.up.ptaja/PSD2004_05/slides/VFL.pdf · 32 Geradores de operadores sintetizáveis • Problema: Elevado número de combinações das características

4

FEUP/DEEC - Projecto de Sistemas Digitais, 2004/05António José Araújo

7

Representação do expoente

Representação em excesso:

Ke = grandeza do expoente real mais negativo (2e-1-1)(geralmente designa-se por bias)

Para números ordinários E∈ ]0, 2e-1[

FEUP/DEEC - Projecto de Sistemas Digitais, 2004/05António José Araújo

8

Exemplo de representação

Com (e,m) = (4,3):

bias = 24-1-1=7

0 0010 000 = 1,000x2-5 = 0,03125

ulp = 2-3

0 1110 001 = 1,001x27 = 144

Emin=0001 (Ereal=-6)

Emax=1110 (Ereal=7)

Mmin=1,000

Mmax=1,111

Page 5: Projecto de Sistemas Digitais - paginas.fe.up.ptaja/PSD2004_05/slides/VFL.pdf · 32 Geradores de operadores sintetizáveis • Problema: Elevado número de combinações das características

5

FEUP/DEEC - Projecto de Sistemas Digitais, 2004/05António José Araújo

9

Gama de representação

0

Underflowpositivo

Overflowpositivo

βEminMmin. Mmax βEmax.

Overflownegativo

Underflownegativo

βEminMmin.-Mmax βEmax.-

F- F+

FEUP/DEEC - Projecto de Sistemas Digitais, 2004/05António José Araújo

10

Erro de representação

βE βE+1 βE+2

número realrepresentação em VFL

Page 6: Projecto de Sistemas Digitais - paginas.fe.up.ptaja/PSD2004_05/slides/VFL.pdf · 32 Geradores de operadores sintetizáveis • Problema: Elevado número de combinações das características

6

FEUP/DEEC - Projecto de Sistemas Digitais, 2004/05António José Araújo

11

Erro relativo e precisão

FEUP/DEEC - Projecto de Sistemas Digitais, 2004/05António José Araújo

12

Resultado das operações

Page 7: Projecto de Sistemas Digitais - paginas.fe.up.ptaja/PSD2004_05/slides/VFL.pdf · 32 Geradores de operadores sintetizáveis • Problema: Elevado número de combinações das características

7

FEUP/DEEC - Projecto de Sistemas Digitais, 2004/05António José Araújo

13

Modos de arredondamento

N(x)Z(x)

∇ (x)

βE

x∆(x)

• no sentido de −∞: ∇ (x) é o > número representável ≤ x;• no sentido de +∞: ∆(x) é o < número representável ≥ x; • por truncamento: Ζ(x)=∇ (x) se x>0 ou Ζ(x)= ∆(x) se x<0; • para o par mais próximo: Ν(x) é o número representável mais

próximo de x; caso x esteja à mesma distância de dois valores representáveis, então é escolhido o que for par.

FEUP/DEEC - Projecto de Sistemas Digitais, 2004/05António José Araújo

14

Norma IEEE 754: formatos

b23... ...

S E f

b22 b0b30b31

Formato simples: (e,m) = (8, 23)

b52... ...

S E f

b51 b0b62b63

Formato duplo: (e,m) = (11, 52)

Formatos estendidos:simples (e,m) = (≥11, ≥ 31)duplo (e,m) = (≥15, ≥ 63)

Page 8: Projecto de Sistemas Digitais - paginas.fe.up.ptaja/PSD2004_05/slides/VFL.pdf · 32 Geradores de operadores sintetizáveis • Problema: Elevado número de combinações das características

8

FEUP/DEEC - Projecto de Sistemas Digitais, 2004/05António José Araújo

15

Norma IEEE 754: formatos

FEUP/DEEC - Projecto de Sistemas Digitais, 2004/05António José Araújo

16

Norma IEEE 754: valores especiais

(NaN = Not A Number)

Page 9: Projecto de Sistemas Digitais - paginas.fe.up.ptaja/PSD2004_05/slides/VFL.pdf · 32 Geradores de operadores sintetizáveis • Problema: Elevado número de combinações das características

9

FEUP/DEEC - Projecto de Sistemas Digitais, 2004/05António José Araújo

17

Norma IEEE 754: valores especiais

Para (e,m) = (4,3):

x 1111 xxxNaN

1 1111 000−∞

0 1111 000+∞

x 0000 0000

xxx ≠ 0

x = 0 ∨ 1

FEUP/DEEC - Projecto de Sistemas Digitais, 2004/05António José Araújo

18

Norma IEEE 754: excepções

• Operação inválida: resultado=NaN se operando=NaN, +∞+(−∞), +∞−(+∞), 0×∞, 0÷0 ou ∞÷∞

• Divisão por zero (x÷0, com x≠0): resultado = +∞ se x>0 ou −∞ se x<0

• Overflow: resultado (+∞ ou −∞ ou maior/menor número representável) depende da forma de arredondamento

• Underflow: resultado (0 ou menor número representável) depende da forma de arredondamento

• Resultado inexacto: se ocorre overflow ou se o resultado de uma operação arredondado não é exacto

Page 10: Projecto de Sistemas Digitais - paginas.fe.up.ptaja/PSD2004_05/slides/VFL.pdf · 32 Geradores de operadores sintetizáveis • Problema: Elevado número de combinações das características

10

FEUP/DEEC - Projecto de Sistemas Digitais, 2004/05António José Araújo

19

A norma IEEE 754 em aplicações específicas

• Considerações de representação– Hidden bit, significando e expoente, valores

especiais, excepções, formas de arredondamento– Formato interno alargado com bits auxiliares: G

(guard bit), R (round bit) e S (sticky bit)

• Formatos e realizações em hardware– Rigidez dos formatos não se adequa ao contexto

de aplicações específicas– Aspectos arquitecturais: simplificações possíveis

FEUP/DEEC - Projecto de Sistemas Digitais, 2004/05António José Araújo

20

Adição/subtracção VFL

• Detecção de operandos com valores especiais; identificação do operando com maior valor absoluto (comparação dos expoentes e significandos); sinal do resultado igual ao sinal do operando com menor valor absoluto (idem para o expoente)

• Alinhamento do significando do operando com menor valor absoluto

• Adição dos significandos (subtracção se os operandos tiveremsinais diferentes)

• Normalização: shift right se M∈ [2, 4[ ou shift left se M∈ [0, 2[ (LOD ou LOP); ajuste do expoente; detecção de overflow e underflow

• Arredondamento e ajuste do expoente.

Page 11: Projecto de Sistemas Digitais - paginas.fe.up.ptaja/PSD2004_05/slides/VFL.pdf · 32 Geradores de operadores sintetizáveis • Problema: Elevado número de combinações das características

11

FEUP/DEEC - Projecto de Sistemas Digitais, 2004/05António José Araújo

21

Adição/subtracção VFL

• Parâmetros característicos:– Formato dos operandos

(s,m,e)– Blocos opcionais (p. ex.

detecção de overflow e arredondamento)

• Blocos fundamentais:– Somadores/subtractores

VFX, barrel-shifters

V1'=max(V1, V2)=(S1', E1', f1')V2'=min(V1, V2)=(S2', E2', f2')

V1 S1 E1 f1 V2 S2 E2 f2

+/-

-

Alinhamento

NormalizaçãoAjuste doexpoente

ArredondamentoAjuste doexpoente

V S E f

S1' S2' E1' E2' f1'f2'

Detecção devalores especiais

Nível 1

Nível 2

Nível 3

Nível 4

Nível 5

add/sub

Estado

FEUP/DEEC - Projecto de Sistemas Digitais, 2004/05António José Araújo

22

Adição VFL: exemplo

V1 = 24,046875 = 0 1000011 1000000011V2 = −25,40625 = 1 1000011 1001011010

Seja (e,m)=(7,10)

V1=1 1000011 1001011010V2=0 1000011 1000000011

Como E1= E2 e f2 > f1, após swap:

M = 1,f1 − 1,f2 = 0,0001010111

S = 1E = 1000011

Após normalização (significando deslocado 4 bits para a esquerda e o expoente subtraído de 4): M = 1,0101110000 e E = 0111111

V = 1 0111111 0101110000 = − 1,359375

Considerando

e V1 + V2 = V = [S,E,M]

Page 12: Projecto de Sistemas Digitais - paginas.fe.up.ptaja/PSD2004_05/slides/VFL.pdf · 32 Geradores de operadores sintetizáveis • Problema: Elevado número de combinações das características

12

FEUP/DEEC - Projecto de Sistemas Digitais, 2004/05António José Araújo

23

Multiplicação VFL

• Detecção de operandos com valores especiais; sinal do resultado é o XOR dos sinais dos operandos

• Multiplicação dos significandos; adição dos expoentes e subtracção do bias Ke da representação do expoente (porquê?)

• Normalização: como M1, M2∈ [1, 2[ então M∈ [1, 4[, o que poderá implicar um shift right e o consequente incremento do expoente (deixando de ser necessário fazer LOD, simplificando a normalização face à mesma operaçãonecessária na adição); detecção de overflow e underflow

• Arredondamento e ajuste do expoente.

FEUP/DEEC - Projecto de Sistemas Digitais, 2004/05António José Araújo

24

Multiplicação VFL

ArredondamentoAjuste doexpoente

Detecção devalores especiais

NormalizaçãoAjuste doexpoente

V S E f

+

Nível 4

Nível 3

Nível 2

Estado

V1 S1 E1 f1 V2 S2 E2 f2

+

Nível 1

Page 13: Projecto de Sistemas Digitais - paginas.fe.up.ptaja/PSD2004_05/slides/VFL.pdf · 32 Geradores de operadores sintetizáveis • Problema: Elevado número de combinações das características

13

FEUP/DEEC - Projecto de Sistemas Digitais, 2004/05António José Araújo

25

Divisão VFL

• Detecção de operandos com valores especiais; sinal do resultado é o XOR dos sinais dos operandos

• Divisão dos significandos; subtracção dos expoentes e adiçãodo bias Ke da representação do expoente (porquê?)

• Normalização: como M1, M2∈ [1, 2[ então M∈ ]1/2, 2[, o que poderá implicar um shift left e o consequente decremento do expoente (deixando de ser necessário fazer LOD, simplificando a normalização face à mesma operação necessária na adição); detecção de overflow e underflow

• Arredondamento e ajuste do expoente.

FEUP/DEEC - Projecto de Sistemas Digitais, 2004/05António José Araújo

26

Divisão VFL

ArredondamentoAjuste doexpoente

Detecção devalores especiais

NormalizaçãoAjuste doexpoente

V S E f

-

Nível 4

Nível 3

Nível 2

Estado

V1 S1 E1 f1 V2 S2 E2 f2

Nível 1

Page 14: Projecto de Sistemas Digitais - paginas.fe.up.ptaja/PSD2004_05/slides/VFL.pdf · 32 Geradores de operadores sintetizáveis • Problema: Elevado número de combinações das características

14

FEUP/DEEC - Projecto de Sistemas Digitais, 2004/05António José Araújo

27

Resultados das operações VFL envolvendo valores especiais

x + y

x × y

x − y

x ÷ y

FEUP/DEEC - Projecto de Sistemas Digitais, 2004/05António José Araújo

28

Aplicação: cálculo de uma função transcendente

Recursos principais: somador e multiplicador VFL

f(x)

=(...(cnx+cn-1)x+...+c1)x+c0

p(x)=cnxn+ cn-1xn-1 +...+ c1x1 + c0

+

cn-1

c0

c1

c2

. . .

+

cn

MUX

x

Rf(x)

s

Unidade decontrolo

rst

clkdone

e := e - 1 ce

aproximaçãopolinomial

regra de Horner

Page 15: Projecto de Sistemas Digitais - paginas.fe.up.ptaja/PSD2004_05/slides/VFL.pdf · 32 Geradores de operadores sintetizáveis • Problema: Elevado número de combinações das características

15

FEUP/DEEC - Projecto de Sistemas Digitais, 2004/05António José Araújo

29

Uma metodologia de projecto para aplicações específicas

• Especificação e optimização– Identificação de formatos dos operandos a partir

das características numéricas da informação a processar

– Estimação do desempenho e custo de implementação

• Geração e síntese– Geração de descrições sintetizáveis– Interface com sistema de síntese

FEUP/DEEC - Projecto de Sistemas Digitais, 2004/05António José Araújo

30

Fluxo de projecto para VFL

GeradoresOperadores

Geradores FunçõesTranscendentes

VHDL estruturalVHDL funcionalentity top_level is

.. .architecture structural of top_level is.. .begin O1 : A2 port map (...); ... O3 : M1 port map (...); ...

entity adder_A2 is.. .architecture behavioral of adder_A2 is.. .begin ...

entity multiplier_M1 is.. .architecture behavioral of multiplier_M1 is.. .begin ...

Bibliotecastecnologia alvoSíntese

HW

Estimadores decusto e tempo

Especificação funcionalda unidade de cálculo

Modelos funcionaisdos operadores

+ ex

x +O1

O3O2 O4

Cy f

AB

M1

E1x

M1

A1

A1

A2

A2

Grafo de fluxode dados

Modelo matemático eoptimização por PLI

Operadoresseleccionados

A1 : (c1,t1)A2 : (c2,t2)A3 : (c3,t3). . .

+,-

x

/

ex

cos x

M1 : (c1,t1)M2 : (c2,t2). . .

D1 : (c1,t1)D2 : (c2,t2). . .

E1 : (c1,t1)E2 : (c2,t2). . .

. . .

. . .

Restrições(custo, atraso)

Simulaçãofuncional

Espe

cifi

caçã

o e

opti

miz

ação

Geração

e síntese

Page 16: Projecto de Sistemas Digitais - paginas.fe.up.ptaja/PSD2004_05/slides/VFL.pdf · 32 Geradores de operadores sintetizáveis • Problema: Elevado número de combinações das características

16

FEUP/DEEC - Projecto de Sistemas Digitais, 2004/05António José Araújo

31

Simulação funcional

FEUP/DEEC - Projecto de Sistemas Digitais, 2004/05António José Araújo

32

Geradores de operadores sintetizáveis

• Problema:Elevado número de combinações das características de um operador dificulta a construção de uma biblioteca de operadores

• Solução:Aplicação que descreva numa HDL um operador VFL com características específicas, isto é, um gerador de operadores sintetizáveis

Page 17: Projecto de Sistemas Digitais - paginas.fe.up.ptaja/PSD2004_05/slides/VFL.pdf · 32 Geradores de operadores sintetizáveis • Problema: Elevado número de combinações das características

17

FEUP/DEEC - Projecto de Sistemas Digitais, 2004/05António José Araújo

33

Geradores de código sintetizável

– Formatos de representação

– Características arquitecturais

Classes de parâmetros:

OperadoresVFL

Funçõeselementares

FEUP/DEEC - Projecto de Sistemas Digitais, 2004/05António José Araújo

34

Optimizaçãoo1 o2

o3o4

Cy f

A

B

x 1035

10 10

10

15

15

Atraso do multiplicador tem uma folga = 30

Logo, pode ser usada uma implementação mais lenta com custo inferior

Caminho crítico: x, A, B, f

Page 18: Projecto de Sistemas Digitais - paginas.fe.up.ptaja/PSD2004_05/slides/VFL.pdf · 32 Geradores de operadores sintetizáveis • Problema: Elevado número de combinações das características

18

FEUP/DEEC - Projecto de Sistemas Digitais, 2004/05António José Araújo

35

Optimização• Objectivo:

Usar as folgas temporais dos operadores fora do caminho crítico para alcançar uma solução global de menor custo

• Modelo matemático PLI– Função objectivo: minimização do custo (área)– Resolução leva à solução que apresenta menor

custo de implementação mantendo as características dos operadores pertencentes ao caminho crítico