A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Operações de Ponto Flutuante para o FemtoJava

Apresentações semelhantes


Apresentação em tema: "Operações de Ponto Flutuante para o FemtoJava"— Transcrição da apresentação:

1 Operações de Ponto Flutuante para o FemtoJava
Arquitetura e Projeto de Sistemas VLSI I Operações de Ponto Flutuante para o FemtoJava Professores: Flávio Rech Wagner Marcelo Johann Alunos: Felipe Zschornack - Bruno Silveira Neves -

2 Operações de Ponto Flutuante para o FemtoJava
Motivação FemtoJava Implementa parte das instruções da JVM (Java Virtual Machine) Executa bytecodes Java nativamente Voltado para aplicações embarcadas Diversas Versões (Low Power, Low Power com Forwarding, etc) Operações aritméticas inteiras (8 e 16 bits) Operações de Ponto Flutuante para o FemtoJava

3 Operações de Ponto Flutuante para o FemtoJava
Introdução Computadores lidam com formatos numéricos de ponto fixo e ponto flutuante 1985: Uso do padrão IEEE 754 aumenta a portabilidade dos programas que trabalham com números nesse formato melhorar a qualidade das operações aritméticas realizadas Operações de Ponto Flutuante para o FemtoJava

4 (-1)sinal x mantissa x 2expoente
Números em FP (IEEE 754) Sinal: 1 bit (bit 31) Expoente: 8 bits (bits 30 à 23) Mantissa: 23 bits (bits 22 à 0) Representação Geral: (-1)sinal x mantissa x 2expoente Operações de Ponto Flutuante para o FemtoJava

5 Operações de Ponto Flutuante para o FemtoJava
Números em FP (IEEE 754) Forma Normalizada: número não possui dígito não significativo na representação contém 24 bits e não 23 (primeiro dígito sempre 1 e implícito) aumenta a precisão dos números Representação: (-1)sinal x (1 + mantissa) x 2expoente Operações de Ponto Flutuante para o FemtoJava

6 (-1)sinal x (1 + mantissa) x 2(expoente – peso)
Números em FP (IEEE 754) Expoente em notação com peso Peso = número a ser subtraído do valor representado no expoente de maneira a representar o valor real do expoente Valor = 12710 Facilidade para ordenações a partir de comparações inteiras Nova Representação: (-1)sinal x (1 + mantissa) x 2(expoente – peso) Operações de Ponto Flutuante para o FemtoJava

7 Representações Numéricas e Casos Especiais (IEEE 754)
e = expoente + peso e = 255, mantissa <> 0  v = NaN e = 255, mantissa = 0  v = (-1)s e = 0, mantissa <> 0  v = desnormalizado e = 0, mantissa = 0  v = (-1)sx(zero) 0 < e < 255  v = (-1)sx(1.mantissa)x2(e-peso) Operações de Ponto Flutuante para o FemtoJava

8 Operações de Ponto Flutuante para o FemtoJava
Estrutura Geral Operações de Ponto Flutuante para o FemtoJava

9 Operações de Ponto Flutuante para o FemtoJava
Visão Interna da FPU Operações de Ponto Flutuante para o FemtoJava

10 Operações de Ponto Flutuante para o FemtoJava
FPU_SUM Operações de Ponto Flutuante para o FemtoJava

11 Operações de Ponto Flutuante para o FemtoJava
FPU_PRENORM_AS Operações de Ponto Flutuante para o FemtoJava

12 Operações de Ponto Flutuante para o FemtoJava
FPU_POSNORM_AS Operações de Ponto Flutuante para o FemtoJava

13 Operações de Ponto Flutuante para o FemtoJava
FPU_MULT Operações de Ponto Flutuante para o FemtoJava

14 Operações de Ponto Flutuante para o FemtoJava
FPU_POSNORM_MD Operações de Ponto Flutuante para o FemtoJava

15 Operações de Ponto Flutuante para o FemtoJava
Estágio Alcançado Módulos de soma, subtração e multiplicação implementados Verificação parcial da validade dos resultados de operação (mais testes) 2710 células lógicas 100 pinos I/O Operações de Ponto Flutuante para o FemtoJava

16 Operações de Ponto Flutuante para o FemtoJava
Trabalhos Futuros Validação dos módulos implementados, e do sistema como um todo, de maneira mais exaustiva; Melhoramento no processo de arredondamento (atualmente somente é realizado o truncamento do número); Detecção de ocorrência de overflow/underflow sobre os resultados das operações realizadas; Implementação de um módulo para divisão em ponto flutuante, o qual ainda não foi iniciado; Definição de um divisor em ponto fixo (a ser utilizado no divisor de ponto flutuante); Melhoramento no algoritmo de multiplicação inteira (fator crítico) Verificação da ocorrência de casos especiais Incorporação dos módulos à arquitetura do FemtoJava Operações de Ponto Flutuante para o FemtoJava

17 Operações de Ponto Flutuante para o FemtoJava
Aspectos Positivos Visão mais abrangente da linguagem e suas potencialidades Melhor compreensão de conceitos relacionados a projeto de hardware Maior conhecimento sobre a arquitetura do FemtoJava e da aritmética FP Troca de experiências com os demais colegas Reusabilidade e adaptabilidade de componentes previamente desenvolvidos Operações de Ponto Flutuante para o FemtoJava

18 Dificuldades Encontradas
Inexperiência em relação ao uso da linguagem VHDL e com o paradigma de projeto de hardware Inexperiência em relação as ferramentas utilizadas (Quartus II e Max-Plus II) Pouca prática no uso dos conceitos relacionados com o desenvolvimento de sistemas digitais Falta de uma compreensão inicial mais aprofundada do domínio do problema Operações de Ponto Flutuante para o FemtoJava

19 Operações de Ponto Flutuante para o FemtoJava
Bibliografia [ASH 98] ASHENDEN, Peter J.. The Designer's Guide to VHDL. San Francisco: Morgan Kaufmann, 1998. [CAR 01] CARRO, Luigi. Projeto e Prototipação de Sistemas Digitais. Porto Alegre: Ed. Universidade/UFRGS, 2001. [ERC 00] ERCEGOVAC, Milos. Introdução aos Sistemas Digitais. Porto Alegre: Bookman, 2000. [HEN 00] HENNESSY, John L.. Organização e projeto e computadores: a interface hardware/software. 2 ed.. Rio de Janeiro: LTC, [IDO 81] IDOETA, Ivan V.. Elementos de Eletrônica Digital. 3 ed.. São Paulo: Érica, [IEE 85] Institute of Electrical and Electronics Engineers. IEEE Standard for Binary Floating-Point Arithmetic (IEEE Std ). New York: IEEE, 1985. [ITO 99] ITO, Sergio Akira. Estudo de requisitos de hardware para a plataforma java : trabalho individual. Porto Alegre: CPGCC da UFRGS, 1999. [ITO 00] ITO, Sergio A.. Projeto de Aplicações Específicas com Microcontroladores Java Dedicados. Porto Alegre: 2000. [USS 03] USSELMAN, Rudolf. Documentation for Floating Point Unit Project. Operações de Ponto Flutuante para o FemtoJava


Carregar ppt "Operações de Ponto Flutuante para o FemtoJava"

Apresentações semelhantes


Anúncios Google