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

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

Operações de Ponto Flutuante para o FemtoJava Alunos: Felipe Zschornack - Bruno Silveira Neves -

Apresentações semelhantes


Apresentação em tema: "Operações de Ponto Flutuante para o FemtoJava Alunos: Felipe Zschornack - Bruno Silveira Neves -"— Transcrição da apresentação:

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

2 Operações de Ponto Flutuante para o FemtoJava2 Motivação zFemtoJava yImplementa parte das instruções da JVM (Java Virtual Machine) yExecuta bytecodes Java nativamente yVoltado para aplicações embarcadas yDiversas Versões (Low Power, Low Power com Forwarding, etc) yOperações aritméticas inteiras (8 e 16 bits)

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

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

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

6 Operações de Ponto Flutuante para o FemtoJava6 Números em FP (IEEE 754) zExpoente 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 yValor = yFacilidade para ordenações a partir de comparações inteiras zNova Representação: (-1) sinal x (1 + mantissa) x 2 (expoente – peso)

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

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

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

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

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

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

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

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

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

16 Operações de Ponto Flutuante para o FemtoJava16 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

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

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

19 Operações de Ponto Flutuante para o FemtoJava19 Bibliografia [ASH 98] ASHENDEN, Peter J.. The Designer's Guide to VHDL. San Francisco: Morgan Kaufmann, [CAR 01] CARRO, Luigi. Projeto e Prototipação de Sistemas Digitais. Porto Alegre: Ed. Universidade/UFRGS, [ERC 00] ERCEGOVAC, Milos. Introdução aos Sistemas Digitais. Porto Alegre: Bookman, [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, [ITO 99] ITO, Sergio Akira. Estudo de requisitos de hardware para a plataforma java : trabalho individual. Porto Alegre: CPGCC da UFRGS, [ITO 00] ITO, Sergio A.. Projeto de Aplicações Específicas com Microcontroladores Java Dedicados. Porto Alegre: [USS 03] USSELMAN, Rudolf. Documentation for Floating Point Unit Project.


Carregar ppt "Operações de Ponto Flutuante para o FemtoJava Alunos: Felipe Zschornack - Bruno Silveira Neves -"

Apresentações semelhantes


Anúncios Google