sistemas de computação · floating point operations erp seondc medida importante para...

23

Upload: others

Post on 05-Jul-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Sistemas de Computação · Floating Point Operations erp Seondc Medida importante para computação de alto desempenho. Supercomputadores atuais: escala de peta ops ( 1015). Haroldo

Introdução O Padrão IEEE Expoente Fração

Sistemas de Computação

Ponto Flutuante

Haroldo Gambini Santos

Universidade Federal de Ouro Preto - UFOP

26 de abril de 2010

Haroldo Gambini Santos Sistemas de Computação 1/18

Page 2: Sistemas de Computação · Floating Point Operations erp Seondc Medida importante para computação de alto desempenho. Supercomputadores atuais: escala de peta ops ( 1015). Haroldo

Seção

1 Introdução

2 O Padrão IEEE

3 Expoente

4 Fração

Page 3: Sistemas de Computação · Floating Point Operations erp Seondc Medida importante para computação de alto desempenho. Supercomputadores atuais: escala de peta ops ( 1015). Haroldo

Introdução O Padrão IEEE Expoente Fração

Valores Interessantes

5974200000000000000000000,0

10011110001000101100000011111101011111000111101010000000000000000000000000000000000,0

Massa da terra, em kilogramas

0,000000000000000000000910938

0,000000000000000000000000000000000000000000000000000000000000000000000100

Massa do elétron, em microgramas

Haroldo Gambini Santos Sistemas de Computação 2/18

Page 4: Sistemas de Computação · Floating Point Operations erp Seondc Medida importante para computação de alto desempenho. Supercomputadores atuais: escala de peta ops ( 1015). Haroldo

Introdução O Padrão IEEE Expoente Fração

Ponto Flutuante

Aplicações

Engenharia

Matemática

Física

Processamento de Imagens

Computação Grá�ca 3D

Haroldo Gambini Santos Sistemas de Computação 3/18

Page 5: Sistemas de Computação · Floating Point Operations erp Seondc Medida importante para computação de alto desempenho. Supercomputadores atuais: escala de peta ops ( 1015). Haroldo

Introdução O Padrão IEEE Expoente Fração

Ponto Flutuante

FLOP

Floating Point Operations per Second

Medida importante para computação de alto desempenho.Supercomputadores atuais: escala de peta�ops (1015).

Haroldo Gambini Santos Sistemas de Computação 4/18

Page 6: Sistemas de Computação · Floating Point Operations erp Seondc Medida importante para computação de alto desempenho. Supercomputadores atuais: escala de peta ops ( 1015). Haroldo

Introdução O Padrão IEEE Expoente Fração

Notação Cientí�ca

Útil para separar a faixa da precisão de um número.

n = f × 10e

f fração ou mantissa;

e expoente: um inteiro positivo ou negativo.

Haroldo Gambini Santos Sistemas de Computação 5/18

Page 7: Sistemas de Computação · Floating Point Operations erp Seondc Medida importante para computação de alto desempenho. Supercomputadores atuais: escala de peta ops ( 1015). Haroldo

Introdução O Padrão IEEE Expoente Fração

Notação Cientí�ca - Exemplo

Representação Decimal com Nr. de Dígitos Limitado

Fração0, 1 ≤ |f | < 13 dígitos

0, 1 , . . . , 0, 999+ ou -

Expoente2 dígitos

0, . . . , 99+ ou -

Haroldo Gambini Santos Sistemas de Computação 6/18

Page 8: Sistemas de Computação · Floating Point Operations erp Seondc Medida importante para computação de alto desempenho. Supercomputadores atuais: escala de peta ops ( 1015). Haroldo

Introdução O Padrão IEEE Expoente Fração

Notação Cientí�ca - Exemplo

0-10-100 10-100-1099 1099

excessonegativo

excessopositivo

faltanegativa

faltanegativa

valoresnegativos

valorespositivos

1 2 3

4

6 7

zero

5

1 números negativos grandes menores do que −0, 999× 1099

2 números negativos entre −0, 999× 1099 e −0, 100× 10−99

3 números negativos pequenos com grandezas menores do que 0, 1× 10−99

4 0

5 números positivos pequenos com grandezas menores do que 0, 1× 10−99

6 números positivos entre 0, 1× 10−99 e 0, 999× 1099

7 números positivos grandes maiores do que 0, 999× 1099

Haroldo Gambini Santos Sistemas de Computação 7/18

Page 9: Sistemas de Computação · Floating Point Operations erp Seondc Medida importante para computação de alto desempenho. Supercomputadores atuais: escala de peta ops ( 1015). Haroldo

Introdução O Padrão IEEE Expoente Fração

De Reais para Números de Ponto Flutuante

Números Reais

Números de Ponto Flutuante

Haroldo Gambini Santos Sistemas de Computação 8/18

Page 10: Sistemas de Computação · Floating Point Operations erp Seondc Medida importante para computação de alto desempenho. Supercomputadores atuais: escala de peta ops ( 1015). Haroldo

Seção

1 Introdução

2 O Padrão IEEE

3 Expoente

4 Fração

Page 11: Sistemas de Computação · Floating Point Operations erp Seondc Medida importante para computação de alto desempenho. Supercomputadores atuais: escala de peta ops ( 1015). Haroldo

Introdução O Padrão IEEE Expoente Fração

O Padrão IEEE

IEEE 754

Padrão amplamente usado em praticamente todas as CPUsmodernas

Especi�ca a representação de ponto �utuante no formato:

mantissa× 2expoente

Haroldo Gambini Santos Sistemas de Computação 9/18

Page 12: Sistemas de Computação · Floating Point Operations erp Seondc Medida importante para computação de alto desempenho. Supercomputadores atuais: escala de peta ops ( 1015). Haroldo

Introdução O Padrão IEEE Expoente Fração

O Padrão IEEE

Precisão Simples: 32 bits

238

FraçãoExpoenteBit deSinal

Haroldo Gambini Santos Sistemas de Computação 10/18

Page 13: Sistemas de Computação · Floating Point Operations erp Seondc Medida importante para computação de alto desempenho. Supercomputadores atuais: escala de peta ops ( 1015). Haroldo

Introdução O Padrão IEEE Expoente Fração

O Padrão IEEE

Precisões

BitsExpoente Fração Total1 Declaração em C

Simples 8 23 32 float

Dupla 11 52 64 double

1inclui sinal

Haroldo Gambini Santos Sistemas de Computação 11/18

Page 14: Sistemas de Computação · Floating Point Operations erp Seondc Medida importante para computação de alto desempenho. Supercomputadores atuais: escala de peta ops ( 1015). Haroldo

Seção

1 Introdução

2 O Padrão IEEE

3 Expoente

4 Fração

Page 15: Sistemas de Computação · Floating Point Operations erp Seondc Medida importante para computação de alto desempenho. Supercomputadores atuais: escala de peta ops ( 1015). Haroldo

Introdução O Padrão IEEE Expoente Fração

Expoente

238

FraçãoExpoenteBit deSinal

O Campo Expoente

representado na notação por excesso (biased)valor �xo é adicionado ao expoenteem precisão simples, excesso = 127

expoente = valor do campo expoente - 127

Haroldo Gambini Santos Sistemas de Computação 12/18

Page 16: Sistemas de Computação · Floating Point Operations erp Seondc Medida importante para computação de alto desempenho. Supercomputadores atuais: escala de peta ops ( 1015). Haroldo

Seção

1 Introdução

2 O Padrão IEEE

3 Expoente

4 Fração

Page 17: Sistemas de Computação · Floating Point Operations erp Seondc Medida importante para computação de alto desempenho. Supercomputadores atuais: escala de peta ops ( 1015). Haroldo

Introdução O Padrão IEEE Expoente Fração

Fração

238

FraçãoExpoenteBit deSinal

O Campo Fração

Codi�ca a parte fracionária de um número com parteinteira = 1

Utiliza a representação de sinal e magnitude

Mantissa no padrão IEEE 754:

1.fração

Haroldo Gambini Santos Sistemas de Computação 13/18

Page 18: Sistemas de Computação · Floating Point Operations erp Seondc Medida importante para computação de alto desempenho. Supercomputadores atuais: escala de peta ops ( 1015). Haroldo

Introdução O Padrão IEEE Expoente Fração

Fração

Exemplo

Qual é o campo de fração da representação de 6,25 em ponto�utuante de representação simples ?

Resolução

para a parte inteira: 110 = 22 + 21 = 6para a parte fracionária, o que equivale a 0, 25 ?

Haroldo Gambini Santos Sistemas de Computação 14/18

Page 19: Sistemas de Computação · Floating Point Operations erp Seondc Medida importante para computação de alto desempenho. Supercomputadores atuais: escala de peta ops ( 1015). Haroldo

Introdução O Padrão IEEE Expoente Fração

Fração

Exemplo

Qual é o campo de fração da representação de 6,25 em ponto�utuante de representação simples ?

Resolução

para a parte inteira: 110 = 22 + 21 = 6para a parte fracionária, o que equivale a 0, 25 ?

Haroldo Gambini Santos Sistemas de Computação 14/18

Page 20: Sistemas de Computação · Floating Point Operations erp Seondc Medida importante para computação de alto desempenho. Supercomputadores atuais: escala de peta ops ( 1015). Haroldo

Introdução O Padrão IEEE Expoente Fração

Fração

De frações decimais para frações binárias:

Vamos preencher os dígitos binários da fração da direita(−1) para a esquerda (−n):

. . . , d−1 d−2 . . . d−n

Preencha os dígitos do seguinte modo, considerando afração decimal fração

1 fração = fração × 2

2 se fração ≥ 1, então dígito = 1 e diminua 1 de fração

3 senão, dígito = 0

4 se fração > 0 volte para 1

Haroldo Gambini Santos Sistemas de Computação 15/18

Page 21: Sistemas de Computação · Floating Point Operations erp Seondc Medida importante para computação de alto desempenho. Supercomputadores atuais: escala de peta ops ( 1015). Haroldo

Introdução O Padrão IEEE Expoente Fração

Fração

De frações decimais para frações binárias:

Convertendo 0,40625:

Fração Dígito0,40625 × 2 = 0,8125 0

0,8125 × 2 = 1,625 1

0,625 × 2 = 1,25 1

0,25 × 2 = 0,5 0

0,5 × 2 = 1,0 1

Haroldo Gambini Santos Sistemas de Computação 16/18

Page 22: Sistemas de Computação · Floating Point Operations erp Seondc Medida importante para computação de alto desempenho. Supercomputadores atuais: escala de peta ops ( 1015). Haroldo

Introdução O Padrão IEEE Expoente Fração

Fração

Representação

Então, como 6,25 é armazenado no campo de fração ?

6,25 = 0b110,01

0b110,01 = 0b1,1001×22

No padrão para precisão simples, considera-se uma parte inteira�xa de 1. Desse modo, a parte fracionária armazenada é:

10010000000000000000000

Haroldo Gambini Santos Sistemas de Computação 17/18

Page 23: Sistemas de Computação · Floating Point Operations erp Seondc Medida importante para computação de alto desempenho. Supercomputadores atuais: escala de peta ops ( 1015). Haroldo

Introdução O Padrão IEEE Expoente Fração

Interpretação dos Números

Campo

Expoente

Campo

Fração Representa

0 0 00 não 0 +/- (0,fração) × 21−excesso

0s e 1s qualquer +/- (1,fração) × 2expoente−excesso

todos 1 0 +/- in�nitotodos 1 não zero NaN

Haroldo Gambini Santos Sistemas de Computação 18/18