UNIVERSIDADE DE PERNAMBUCO

Ponto Flutuante em
MIPS
UNIVERSIDADE DE PERNAMBUCO

Roteiro
1.
2.
3.
4.
5.
6.
7.

Introdução
Representação em ponto flutuante
Conceitos Importante...
UNIVERSIDADE DE PERNAMBUCO

Introdução
• As linguagens de programação admitem números com
frações, que são chamados de rea...
UNIVERSIDADE DE PERNAMBUCO

Introdução
• Exemplo de número em notação científica e normalizado:

• Exemplo de números que ...
UNIVERSIDADE DE PERNAMBUCO

Introdução
UNIVERSIDADE DE PERNAMBUCO

Representação em Ponto Flutuante

• Esta representação é chamada sinal e magnitude pois o sina...
UNIVERSIDADE DE PERNAMBUCO

Conceitos Importantes
• Overflow
Este caso ocorre em uma situação em que um expoente positivo ...
UNIVERSIDADE DE PERNAMBUCO

IEEE - 754
- Metade (16-bit)

- Simples (32-bit)

-Dupla (64-bit)
UNIVERSIDADE DE PERNAMBUCO

Instruções de Ponto Flutuante no MIPS
• Algumas considerações:
• Os projetistas do MIPS decidi...
UNIVERSIDADE DE PERNAMBUCO

Instruções de Ponto Flutuante no MIPS
• Adição em ponto flutuante:
Precisão Simples

Precisão ...
UNIVERSIDADE DE PERNAMBUCO

Instruções de Ponto Flutuante no MIPS
• Multiplicação em ponto flutuante:
Precisão Simples

Pr...
UNIVERSIDADE DE PERNAMBUCO

Instruções de Ponto Flutuante no MIPS
• Comparação em ponto flutuante:
Precisão Simples

Preci...
UNIVERSIDADE DE PERNAMBUCO

Instruções de Ponto Flutuante no MIPS:
UNIVERSIDADE DE PERNAMBUCO

Adição em Ponto Flutuante
UNIVERSIDADE DE PERNAMBUCO

Adição em Ponto Flutuante
Somar os números 0,5 e -0,4375 em binário usando o
algoritmo da figu...
UNIVERSIDADE DE PERNAMBUCO

Adição em Ponto Flutuante
Etapa 1: O significando do número com o menor expoente
é deslocado p...
UNIVERSIDADE DE PERNAMBUCO

Adição em Ponto Flutuante
Etapa 4: Arredondando a soma:

A soma já cabe exatamente em 4 bits, ...
UNIVERSIDADE DE PERNAMBUCO

Multiplicação em Ponto Flutuante
UNIVERSIDADE DE PERNAMBUCO

Multiplicação em Ponto Flutuante
Considere os seguintes números:
0,5dec e -0,4375dec
em binári...
UNIVERSIDADE DE PERNAMBUCO

Multiplicação em Ponto Flutuante
• Etapa 2: Multiplicando os significandos:
1,000bin
x

1,110b...
UNIVERSIDADE DE PERNAMBUCO

Multiplicação em Ponto Flutuante
O produto é:
1,110000bin x 2-3 , ajustando para 4 bits temos:...
UNIVERSIDADE DE PERNAMBUCO

Multiplicação em Ponto Flutuante
• Etapa 4: Verificar necessidade de arredondamento e
normaliz...
Upcoming SlideShare
Loading in...5
×

Ponto Flutuante em MIPS

943

Published on

Published in: Education
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
943
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
21
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Ponto Flutuante em MIPS

  1. 1. UNIVERSIDADE DE PERNAMBUCO Ponto Flutuante em MIPS
  2. 2. UNIVERSIDADE DE PERNAMBUCO Roteiro 1. 2. 3. 4. 5. 6. 7. Introdução Representação em ponto flutuante Conceitos Importantes IEEE - 754 Instruções de ponto flutuante em MIPS Adição em Ponto Flutuante Multiplicação em Ponto Flutuante
  3. 3. UNIVERSIDADE DE PERNAMBUCO Introdução • As linguagens de programação admitem números com frações, que são chamados de reais na matemática. Exemplos: • Notação científica • Normalizado
  4. 4. UNIVERSIDADE DE PERNAMBUCO Introdução • Exemplo de número em notação científica e normalizado: • Exemplo de números que não estão na notação científica e também não estão normalizados:
  5. 5. UNIVERSIDADE DE PERNAMBUCO Introdução
  6. 6. UNIVERSIDADE DE PERNAMBUCO Representação em Ponto Flutuante • Esta representação é chamada sinal e magnitude pois o sinal possui um bit separado do restante do número. Onde: • S é o sinal do número de ponto flutuante (1 significando negativo) • Expoente é o valor do campo de expoente de 8 bits (incluindo o sinal do expoente) • Fração é o número de 23 bits
  7. 7. UNIVERSIDADE DE PERNAMBUCO Conceitos Importantes • Overflow Este caso ocorre em uma situação em que um expoente positivo tornase muito grande para caber no campo expoente. • Underflow Ocorre quando o expoente negativo torna-se muito grande para caber no campo de expoente. ** Uma maneira de reduzir as chances de underflow e overflow é oferecer outro formato que tenha um expoente maior. Em C, esse número é chamado double, e as operações sobre doubles são indicadas como aritmética de ponto flutuante de precisão dupla que utiliza duas words MIPS de 32 bits.
  8. 8. UNIVERSIDADE DE PERNAMBUCO IEEE - 754 - Metade (16-bit) - Simples (32-bit) -Dupla (64-bit)
  9. 9. UNIVERSIDADE DE PERNAMBUCO Instruções de Ponto Flutuante no MIPS • Algumas considerações: • Os projetistas do MIPS decidiram prover registradores específicos para operações em ponto flutuante, chamados $f0, $f1, $f2....$f31 Usados tanto para precisão simples quanto para precisão dupla! • Foram incluídas instruções especiais de load e store para registradores em ponto flutuante: lwcl e swcl.
  10. 10. UNIVERSIDADE DE PERNAMBUCO Instruções de Ponto Flutuante no MIPS • Adição em ponto flutuante: Precisão Simples Precisão Dupla add.s add.d • Subtração em ponto flutuante: Precisão Simples Precisão Dupla sub.s sub.d
  11. 11. UNIVERSIDADE DE PERNAMBUCO Instruções de Ponto Flutuante no MIPS • Multiplicação em ponto flutuante: Precisão Simples Precisão Dupla mul.s mul.d • Divisão em ponto flutuante: Precisão Simples Precisão Dupla div.s div.d
  12. 12. UNIVERSIDADE DE PERNAMBUCO Instruções de Ponto Flutuante no MIPS • Comparação em ponto flutuante: Precisão Simples Precisão Dupla c.x.s c.x.d Onde x pode ser igual (eq), diferente (req), menor que (lt), menor que ou igual a (le), maior que (gt), ou maior que ou igual a (ge). • Desvio em ponto flutuante: Se verdadeiro Se falso bclt bclf
  13. 13. UNIVERSIDADE DE PERNAMBUCO Instruções de Ponto Flutuante no MIPS:
  14. 14. UNIVERSIDADE DE PERNAMBUCO Adição em Ponto Flutuante
  15. 15. UNIVERSIDADE DE PERNAMBUCO Adição em Ponto Flutuante Somar os números 0,5 e -0,4375 em binário usando o algoritmo da figura anterior:
  16. 16. UNIVERSIDADE DE PERNAMBUCO Adição em Ponto Flutuante Etapa 1: O significando do número com o menor expoente é deslocado para a direita até seu expoente combinar com o maior número: Etapa 2: Some os significandos: Etapa 3: Normalize a soma, verificando overflow ou underflow: Como 127 ≥ 04 ≥ - 126, não existe overflow ou underflow. O expoente deslocado seria – 4 + 127, ou 123, que está entre 1 e 254, o menor e o maior expoente deslocado não reservado
  17. 17. UNIVERSIDADE DE PERNAMBUCO Adição em Ponto Flutuante Etapa 4: Arredondando a soma: A soma já cabe exatamente em 4 bits, de modo que não há mudança nos bits devido ao arredondamento. Essa soma é, então: Essa soma é o que esperaríamos da soma de
  18. 18. UNIVERSIDADE DE PERNAMBUCO Multiplicação em Ponto Flutuante
  19. 19. UNIVERSIDADE DE PERNAMBUCO Multiplicação em Ponto Flutuante Considere os seguintes números: 0,5dec e -0,4375dec em binário: 1,000x2-1 por -1,110x2-2 Consideremos operandos e resultado com no máximo 4 bits. • Etapa 1: somando os expoentes sem bias -1 + (-2)= -3 ou usando a representação deslocada: (-1+127) + (-2+127) – 127 = -3 + 127 = 124
  20. 20. UNIVERSIDADE DE PERNAMBUCO Multiplicação em Ponto Flutuante • Etapa 2: Multiplicando os significandos: 1,000bin x 1,110bin 0000 1000 1000 1000 1110000bin
  21. 21. UNIVERSIDADE DE PERNAMBUCO Multiplicação em Ponto Flutuante O produto é: 1,110000bin x 2-3 , ajustando para 4 bits temos: 1,110bin x 2-3 • Etapa 3: Verificar normalização underflow e overflow. 1,110bin x 2-3 produto normalizado. 127 >= -3 >= -126 não existe underflow ou overflow
  22. 22. UNIVERSIDADE DE PERNAMBUCO Multiplicação em Ponto Flutuante • Etapa 4: Verificar necessidade de arredondamento e normalização. 1,110bin x 2-3 produto normalizado. Necessitando ser normalizado deve voltar a Etapa 3. • Etapa 5: sinais dos operandos diferentes implica no produto negativo. -1,110bin x 2-3
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×