Operações de Ponto Flutuante para o FemtoJava

Slides:



Advertisements
Apresentações semelhantes
Melhoramento de Imagens
Advertisements

Circuitos Lógicos e Organização de Computadores Capítulo 6 – Blocos com Circuitos Combinacionais Ricardo Pannain
Engenharia de Software Prof ª. Isabel Sofia de Brito Prof ª. Maria Fernanda Pedro.
The new way! The old way... TC – DEI, 2005/2006.
VHDL Very High Speed Integrated Circuit Hardware Description Language Prof. Eduardo Todt 2008.
VHDL - uma visão geral 5 tipos de unidades
VHDL - Tipos de dados e operações
MC542 Organização de Computadores Teoria e Prática
E. A. Veit Instituto de Física - UFRGS -Brasil 07/2002
Modelagem computacional no ensino de Física
Técnicas e Projeto de Sistemas André Mesquita Rincon Processo de Software Técnico Subsequente – Módulo III.
SISTEMA BINÁRIO Hardware de Computadores. SISTEMA BINÁRIO Hardware de Computadores.
Técnicas e Projeto de Sistemas
INTRODUÇÃO À COMPUTAÇÃO PARALELA
SISTEMAS DE NUMERAÇÃO Material elaborado pelo Prof. José Luiz Mendes e alterado pela Profa Janine.
Introdução à Lógica de Programação
Avaliação das zonas ripárias da bacia hidrográfica do rio Corredeiras, SC Pedro Thiago Ramin da Silva Orientador: Prof. Dr. Irani dos Santos Colaboradores:
UML - Unified Modeling Language
Universidade Federal da Bahia – Centro de Processamento de Dados – Preview Computadores 1 Uma Ferramenta Orientada a Modelos para Geração de Aplicações.
Arquiteturas de 4, 3, 2, 1 e 0 endereços.
1. Conceitos de Álgebra Booleana 2. Portas Lógicas e Inversores
1. Equivalência entre portas 2. Derivação de expressões booleanas 3
UNIDADE DE CONTROLE MICROPROGRAMADA PARA O FEMTOJAVA
Análise e Solução de Problemas
Multiplicador Booth para o FemtoJava
Gustavo Vieira Pereira
Compressão por Hardware
One-cell Pipeline for Floating-Point Multiplier in FPGAs Alex Panato Sandro Silva
Modelando com UML CMP 231 – Sistemas Embarcados
Formação Continuada DRE - Araguaína.
Arquitetura de Computadores I
Banco de Dados I Profa. Jiani Cardoso 2/2005
Conceitos iniciais Hardware/Software
O Fluxo de Testes © Alexandre Vasconcelos
UD de Sorocaba/ Iperó UNIVERSIDADE ESTADUAL PAULISTA Recursos Computacionais Antonio Martins.
Campus de Sorocaba UNIVERSIDADE ESTADUAL PAULISTA Recursos Computacionais Antonio Martins.
Funções de um computador
"Tudo o que acontece, acontece em algum lugar." Gilberto Câmara - INPE Gilberto Câmara - INPE.
Arquitetura de Sistemas de Informação
Anderson Moreira TI 2 de Março de 2010 Anderson L. S. Moreira Instituto Federal de Pernambuco Recife - PE Arquitetura.
2ª Aula Teórica Prof. Cesar Costa
Instrumentação de Sistemas - INS
Sistemas de Tutoria Inteligente (STI) Visam proporcionar instrução de forma adaptada a cada aprendiz. STIs adaptam o processo de instrução a determinadas.
CT-300 – Seminário de Tese 1/25 Um Framework Padrão para Simulação de Modelos de Robôs Móveis de Robôs Móveis Juliano A. Pereira Prof. Carlos H. C. Ribeiro.
1 2º Semestre de 2006 CSC V-CTR USC CTR - Glêvson USC POT - Caio USC COMB - Débora Prof. Cunha Prof. Vieira Dias Prof. Márcio Programa de Pós-Graduação.
Uma Arquitetura de Referência para Modelagem e Simulação de Fenômenos em Clima Espacial Orientador: Prof. Dr. Luiz Alberto Vieira Dias Mestrando: Francisco.
Avaliação de direcionadores de Custos - Estudo de Caso Avaliação de direcionadores de Custos - Estudo de Caso Edson de Oliveira Pamplona 1999 OBJETIVO.
Computação Gráfica: Possibilidades e Desafios
MAC499 - Trabalho de Formatura Supervisionado Sistema de Reconhecimento de Escrita On-Line.
Business Process Management e Workflow - jBPM Aluno: Filipe Ferraz Salgado Orientador: Francisco Reverbel Novembro 2006.
Já definimos o coeficiente angular de uma curva y = f(x) no ponto onde x = x 0. Derivadas Chamamos esse limite, quando ele existia, de derivada de f em.
A Importância da Computação Científica Profa. Dra. Marli de Freitas Gomes Hernandez UNIVERSIDADE ESTADUAL DE CAMPINAS CENTRO.
Administração de Sistemas de Informação
Departamento de Engenharia Elétrica
M e d A d m i n. Quem é o público alvo da ideia? Profissionais vinculados à área da saúde, em particular, àqueles responsáveis pela administração de medicamentos,
Interpolação Introdução Conceito de Interpolação
Aritmética de ponto flutuante Erros
Representações na base decimal e binária
Desempenho A rápida taxa de melhoria na tecnologia de computadores veio em decorrência de dois fatores: avanços na tecnologia utilizada na construção.
UERJ - Agosto 2000© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.
Laboratório de Programação Prof. Oscar Luiz Monteiro de Farias
Recursividade Estrutura de Dados.
1 SEGET- outubro de 2007 Antes do Second Life e do GoogleEarth: A utilização da simulação baseada na web para o estudo de processos operacionais Paulo.
Unified Modeling Language
Baseado no documento do Prof. Ronaldo Martins da Costa
LINGUAGENS DE PROGRAMAÇÃO
Sistemas Operacionais e Windows XP Aula 04 – DCA0302.
Sistemas de Informação Prof. Me. Everton C. Tetila Modelo de dados relacional Banco de Dados I.
Introdução Ciência da Computação estudo de algoritmos –ÊNFASE ao estudo de DADOS armazenamento manipulação refinamento (a partir de dados cru) estrutura.
Introdução à Linguagem VHDL
Transcrição da apresentação:

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 - fzschornack@inf.ufrgs.br Bruno Silveira Neves - bsneves@inf.ufrgs.br

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

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

(-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

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

(-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

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

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

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

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

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

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

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

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

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

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

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

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

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, 2000. [IDO 81] IDOETA, Ivan V.. Elementos de Eletrônica Digital. 3 ed.. São Paulo: Érica, 1981. [IEE 85] Institute of Electrical and Electronics Engineers. IEEE Standard for Binary Floating-Point Arithmetic (IEEE Std 754-1985). 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