FLÁVIO KENJI NISHIDA PROJETO DE UM MULTIPLICADOR EM PONTO FLUTUANTE

Tamanho: px
Começar a partir da página:

Download "FLÁVIO KENJI NISHIDA PROJETO DE UM MULTIPLICADOR EM PONTO FLUTUANTE"

Transcrição

1 FLÁVIO KENJI NISHIDA PROJETO DE UM MULTIPLICADOR EM PONTO FLUTUANTE LONDRINA PR 2013

2

3 FLÁVIO KENJI NISHIDA PROJETO DE UM MULTIPLICADOR EM PONTO FLUTUANTE Trabalho de Conclusão de Curso apresentado ao curso de Bacharelado em Ciência da Computação da Universidade Estadual de Londrina para obtenção do título de Bacharel em Ciência da Computação. Orientador: Dr. Wesley Attrot LONDRINA PR 2013

4 Flávio Kenji Nishida Projeto de um multiplicador em ponto flutuante/ Flávio Kenji Nishida. Londrina PR, p. : il. (algumas color.) ; 30 cm. Orientador: Dr. Wesley Attrot Universidade Estadual de Londrina, Ponto Flutuante. 2. Multiplicador. I. Dr. Wesley Attrot. II. Universidade Estadual De Londrina. III. Faculdade de xxx. IV. Projeto de um Multiplicador em Ponto Flutuante CDU 02:141:005.7

5 FLÁVIO KENJI NISHIDA PROJETO DE UM MULTIPLICADOR EM PONTO FLUTUANTE Trabalho de Conclusão de Curso apresentado ao curso de Bacharelado em Ciência da Computação da Universidade Estadual de Londrina para obtenção do título de Bacharel em Ciência da Computação. BANCA EXAMINADORA Dr. Wesley Attrot Universidade Estadual de Londrina Orientador Dr. Jacques Duílio Brancher Universidade Estadual de Londrina Dr. Evandro Bacarin Universidade Estadual de Londrina Londrina PR, 24 de novembrode 2013 LONDRINA PR 2013

6

7 NISHIDA, F.. Projeto de um multiplicador em ponto flutuante. 52 p. Trabalho de Conclusão de Curso (Graduação). Bacharelado em Ciência da Computação Universidade Estadual de Londrina, RESUMO A representação de números reais em sistemas binários fez com que surgissem a representação numérica em ponto flutuante. Além de representar precisamente um valor numérico, calcular dois valores em ponto flutuante, como somar, multiplicar, dividir e subtrair, sem que haja erro de truncamento e com tempo de resposta imediato é um ponto crucial principalmente para sistemas críticos. Este trabalho tem como objetivo modelar e simular um multiplicador em ponto flutuante baseando no padrão IEEE 754 com precisão de 32 bits para posteriormente, ser implementado em VHDL e facilmente simulado numa FPGA, com o intuito de modelagem de hardware nacional. O multiplicador modelado possui a verificação da ocorrência de overflow e underflow, com um codificador radix-4 Booth para a geração dos produtos parciais. A modelagem e a implementação do multiplicador obteve resultados satisfatórios. A soma dos expoentes com os subtratores melhorados [1] e a geração dos produtos parciais com menor quantidade de produtos parciais através do codificador Radix-4 Booth [2]. Pelo problema de Race Condition na soma dos produtos parciais, uma condição de saída que é dependente de outros eventos controláveis, impede a soma dos produtos parciais. Os cálculos dessa etapa foram feitos manualmente obtendo resultados satisfatórios. Todavia, foi descoberto que o problema verificado pode ser solucionado utilizando a metodologia de um compressor 4:2 [2] Palavras-chave: multiplicador. ponto flutuante. circuito digital.

8

9 NISHIDA, F.. Design of a Floating Point Multiplier. 52 p. Final Project (Undergraduation). Bachelor of Science in Computer Science State University of Londrina, ABSTRACT The representation of real numbers in binary systems has spurred the numerical representation in floating point. Besides accurately represent a numeric value, calculate two floating-point values as such: add, multiply, divide and subtract, without truncation error and immediately response time is a crucial point, especially for critical systems. This study aims to model and simulate a multiplier in floating-point based on the IEEE 754 standard with 32-bit precision for later be easily implemented in VHDL and simulated in an FPGA, in order to research national hardware. The modeled multiplier has the ability to check for occurrence of overflow and underflow, with a radix-4 Booth encoder for the generation of partial products. The modeling and implementation of the multiplier obtained satisfactory results. The sum of the exponents with improved subtractors [1] and the generation of partial products with a lower number of partial products by using encoder Radix- 4 Booth [2]. The Race Condition problem on the sum of the partial products, an key condition that is dependent on other controllable events, prevents the sum of the partial products. The calculations in this step were done manually to obtaining satisfactory results. However it was discovered that the problem can be solved using the methodology of a 4:2 compressor [2]. Keywords: floating point. multiplier. digital circuit

10

11 LISTA DE ILUSTRAÇÕES Figura 1 Estrutura do ponto flutuante Figura 2 Representação em ponto flutuante Figura 3 Diagrama do multiplicador Figura 4 Multiplicação entre a mantissa de PF1 e PF Figura 5 Estrutura do multiplicador Figura 6 Circuito verificador de Figura 7 Somadores com propagaçao de carry Figura 8 one subtractor Figura 9 zero subtractor Figura 10 Circuito do Subtratores do Expoente Figura 11 Separação dos conjuntos de 3 bits do multiplicando Figura 12 Circuito logico de ZERO Figura 13 Circuito lógico de ADD Figura 14 Circuito logico de NEG Figura 15 Circuito para a geração e verificação do multiplicando em negativo.. 40 Figura 16 Circuito para a geração e verificação do multiplicando por Figura 17 Circuito para verificação e multiplicação por Figura 18 Somadores dos produtos parciais de 6 bits Figura 19 Normalizador para multiplicação de 4 bits Figura 20 incremento no expoente e verificação de overflow

12

13 LISTA DE TABELAS Tabela 1 Parâmetros do ponto flutuante Tabela 2 Representação para precisão de 32 bits Tabela 3 Tipos de Arredondamento Tabela 4 Resultado entre o multiplicador em ponto flutuante e o núcleo do Xilinx 26 Tabela 5 Tabela verdade do circuito lógico XOR Tabela 6 Subtrator com subtraendo T = Tabela 7 Subtrator com subtraendo T = Tabela 8 Tabela verdade do codificador Tabela 9 Valores do multiplicando Tabela 10 Valores do multiplicador Tabela 11 Resultado do Sinal Tabela 12 Resultados da verificação por Tabela 13 Resultados da soma dos expoente com a subtração com o bias e a verificação de overflow e underflow Tabela 14 Resultados da Multiplicação do multiplicando Tabela 15 Produtos Parciais Tabela 16 Resultados da soma dos Produtos parciais Tabela 17 Incremento do expoente e verificação de Overflow Tabela 18 Resultados da normalização Tabela 19 Resultados do truncamento Tabela 20 Resultados da Multiplicação

14

15 LISTA DE ABREVIATURAS E SIGLAS FPGA VHSIC VHDL IP-Core CI NaN CLA FFT DFF VLSI Field-Programmable Gate Array Very High Speed Integrated Circuits VHSIC Hardware Description Language Intellectual Property Core Circuito Integrado Valor numérico não válido (Not a Number) Carry Look-ahead Adder Fast Fourier Transform D-Flip Flop Very Large Scale Integration

16

17 SUMÁRIO 1 Introdução Objetivo Descrição dos Capítulos Representação de Números em Ponto Flutuante Representação Numérica Conversão Decimal Binário Inteiro para Binário Parte Fracionário para Binário Representação de um Ponto Flutuante Padrão IEEE Representação em Ponto Flutuante no padrão IEEE Números Normalizados, Não Normalizados e Exceções Arredondamento e Truncamento Trabalhos Relacionados Uma Implementação Eficiente de Um Multiplicador em Ponto Flutuante Implementação em Hardware de um Multiplicador em Ponto Flutuante de Alta Velocidade em FPGA Projeto e Implementação do Multiplicador de Ponto Flutuante Para Melhor Desempenho de Tempo Metodologias utilizados Multiplicação em Ponto Flutuante Desenvolvimento do Projeto Estrutura do Multiplicador Sinal da Multiplicação Verificação da Multiplicação por Soma dos Expoentes e Subtração do bias Geração dos Produtos Parciais Multiplicação por Multiplicação por Multiplicação por Soma dos Produtos Parciais Normalização e Truncamento

18 5.7.1 Normalização Truncamento Resultados Obtidos Sinal da Multiplicação Verificação da multiplicação por Soma do Expoente e Subtração do bias Geração dos Produtos Parciais Soma dos Produtos Parciais Normalização Conclusão e Trabalhos Futuros Referências

19 17 1 INTRODUÇÃO Durante a primeira Guerra do Golfo on ano de 1991, um míssel iraquiano conhecido como Scud foi lançado contra uma base americana localizada próximo de Dhanhran, na Arábia Saudita. Infelizmente nesta ocasião, 28 soldados americanos morreram e aproximadamente 100 ficaram feridos. Esta catástrofe poderia ter sido evitada caso o sistema de defesa de antimíssil Patriot, utilizado na época não tivesse falhado. O erro ocorreu na interceptação dos mísseis Sud pela baixa precisão de arredondamento no cálculo do tempo, ocasionando uma falha no radar. O número de feridos e mortos poderiam ter sido de 0 pessoas se o sistema de defesa Patriot não falhasse durante o ataque iraquiano. O sistema de defesa Patriot falhou na intercepção dos mísseis Scud pela falha no radar com o sistema, casado pela baixa precisão de arredondamento no cálculo do tempo. O tempo que o sistema incrementava era de 0,1 segundos, esse valor era representado na base 2 com 24 bits de precisão resultando no valor de 0, segundo. Esse valor em um período pequeno de tempo não acarretaria em nenhum problema para o sistema, porém para tempo maiores, como 20 horas em funcionamento contínuo, o erro já era considerado muito alto, chegando ter mais de 50% de deslocamento da posição de interceptação, não identificando mais as possíveis ameaças. No caso de Dhahnan, o sistema já estava funcionando a mais de 100 horas contínuas, mais de 680 metros de deslocamento do radar. As soluções possíveis nesse caso seriam no aumento da precisão do sistema aumentando os bits de precisão ou simplesmente desligar e religar a cada período curto de tempo[3]. A representação de números reais em sistemas binários fez com que surgisse a representação numérica em ponto flutuante. Além de representar precisamente um valor numérico, calcular dois valores em ponto flutuante, como somar, multiplicar, dividir e subtrair, sem que haja erro de truncamento e com tempo de resposta imediato é um ponto crucial principalmente para sistemas críticos. 1.1 Objetivo O desenvolvimento de métodos aritméticos em ponto flutuante com custo computacional baixo e com erro de truncamento mínimo vem sendo cada vez mais exigido em sistemas com alto desempenho[1, 4, 5, 6, 2]. Atualmente o padrão IEEE 754 para Ponto Flutuante é utilizado pela maioria dos fabricantes,o objetivo do surgimento do IEEE 754 é a padronização do ponto flutuante para que um mesmo programa ou sistema possa obter

20 18 Capítulo 1. Introdução os mesmo resultado em diferentes tipos de máquinas [7]. 1.2 Descrição dos Capítulos Capítulo 2 - Representação de números em ponto flutuante: Será detalhado a representação do ponto flutuante e o padrão estabelecido pela IEEE 754. Capítulo 3 - Multiplicação em Ponto Flutuante: Será descrito a aritmética da multiplicação entre dois ponto flutuante. Capítulo 4 - Trabalho Relacionados: Neste capítulo serão descritos os métodos e os resultados dos trabalhos relacionados. Capítulo 5 - Desenvolvimento do Projeto: Descreve a implementação do multiplicador. Capítulo 6 - Resultados: Relata os resultados obtidos a partir de simulações. Capítulo 7 - Conclusão e Trabalho futuros

21 19 2 REPRESENTAÇÃO DE NÚMEROS EM PONTO FLUTUANTE A necessidade em representar número reais em computadores ou sistemas fez com que o ponto flutuante fosse concebido como uma das formas de representação adotado pela maioria dos sistemas atualmente. Para manter a objetividade do projeto, segue um resumo sobre os conceitos básicos envolvidos na modelagem. 2.1 Representação Numérica A representação tanto em decimal quanto em binário tem a seguinte forma: Decimal: 11, 43 = Binário: 101, 11 = Conversão Decimal Binário Em um número real decimal, a forma para converter para binário pode ser em dois momentos, a parte inteira e a parte fracionária Inteiro para Binário Para a conversão da parte inteira de um decimal para seu correspondente binário é dividir o valor decimal por 2 sucessivamente até que o quociente seja 1. O resto de cada divisão será o resultado da conversão em binário onde o resto de cada divisão preencherá o valor binário da direita para esquerda. Abaixo mostra o valor 137 convertido em binário: = 68 resto = 34 resto = 17 resto = 8 resto = 4 resto = 2 resto = 1 resto = 0 resto Assim 137 =

22 20 Capítulo 2. Representação de Números em Ponto Flutuante Parte Fracionário para Binário Para a conversão da parte fracionária de um decimal para o binário, multiplicase a fração por 2 até que o resultado seja 1 ou até uma determinada quantidade de iterações, pois conversão da fração pode gerar infinitas iterações. Quando o resultado de cada multiplicação for maior igual a 1, adiciona 1 no bit menos significativo e subtrai o resultado por 1, caso contrário recebe 0 e não subtrai. Abaixo mostra o valor 0, convertido em binário 0, = 1, = 0, , = 0, , = 0, , = 1, = 0, , = 0, , 75 2 = 1, 5 1 = 0, , 5 2 = 1 1 = Assim 0, = 0, Representação de um Ponto Flutuante A representação em binário de um ponto flutuante tem a seguinte forma: ( 1) S M B ±E S é sinal, M a mantissa, E o expoente e B a base. O sinal demonstra se o valor a ser representado é positivo ou negativo, a mantissa é o valor do significando e o expoente o deslocamento do ponto. Um problema para a representação em ponto flutuante é a sua variedade de representar. O exemplo a seguir pode demonstrar algumas representações que são equivalentes: 1, , , Para simplificar a forma de representação em ponto flutuante, pede-se que o número esteja normalizado. A normalização é o deslocamento do ponto para esquerda ou

23 2.4. Padrão IEEE para direita e o ponto irá estar a esquerda do dígito diferente de zero mais à esquerda. Como no exemplo anterior, o valor normalizado terá a seguinte forma: 1, Quando aplica-se a normalização, o primeiro dígito à esquerda do ponto será sempre 1, esse dígito não terá mais necessidade de ser armazenado, chamando de dígito escondido [8]. 2.4 Padrão IEEE 754 O padrão IEEE 754 [7] foi estabelecido para normalizar o formato para representar números em ponto flutuante, assim tornando mais compatível o uso entre um programa em várias máquinas diferentes. No padrão IEEE 754 são estabelecidos o padrão de precisão em 16 bits, 32 bits, 64 bits, 128 bits e maior que 128 bits Representação em Ponto Flutuante no padrão IEEE 754 A estrutura do ponto flutuante no padrão IEEE 754 pode ser visto na figura 1. O Sinal é o bit mais a esquerda do ponto flutuante sinalizando qual é o sinal, o Expoente, entre o sinal e a mantissa, é um expoente polarizado, ou seja, a soma do expoente com o bias 1 para representação de números grandes ou pequenos sem que há necessidade de um bit de sinal para o expoente e a mantissa é a parte fracionária do ponto flutuante. Sinal Expoente fração Figura 1 Estrutura do ponto flutuante Para melhor entendimento da estrutura do ponto flutuante será demonstrado a conversão do decimal para ponto flutuante de 32 bits sendo s o sinal, m a mantissa e e o expoente. 180 = ( 1 s ) m 2 (e+127) = ( 1 0 ) 1, (7+127) = A tabela 1 mostra o tamanho de armazenamento de cada precisão de ponto flutuante, sua precisão, o expoente máximo (emax), o bias, o tamanho do sinal, do expoente e da fração. 1 Constante numérico para normalização do cálculo algébrico computacional

24 22 Capítulo 2. Representação de Números em Ponto Flutuante Tabela 1 Parâmetros do ponto flutuante Parâmetro 16 bits 32 bits 64 bits 128 bits k bits (para k 128) Tamanho de múltiplos de 32 armazenamento (k) Precisão (p) inteiro(k-(4 log 2 (k)))+13 Expoente máximo (k p 1) 1 (emax) Expoente polarizado emax (bias) s (tamanho do sinal) w (tamanho do inteiro(4 log 2 (k)) 13 expoente) t (tamanho da k w s fração) k (tamanho s + w + t de armazenamento) A função inteiro() [7] arrendonda para o inteiro mais próximo do valor obtido. A precisão mais utilizada em ponto flutuante é de 32 bits e 64 bits. Para demonstrar números normalizados, não normalizados e exceções, a precisão de 32 bits será adotado como exemplo Números Normalizados, Não Normalizados e Exceções Em qualquer precisão de ponto flutuante existe uma lacuna pela qual a representação se torna impossível pela sua limitação na representação, como na figura 2 que mostra os valores representáveis pela precisão de 32 bits. O valor máximo é de ±( ) e o valor mínimo é de ±2 126 Figura 2 Representação em ponto flutuante

25 2.4. Padrão IEEE Há momentos no sistema que os resultados apresentados em uma operação ultrapassa os valores representáveis pelo ponto flutuante. Gerando as seguintes situações: Overflow: Quando o expoente excede o valor máximo do expoente. Em alguns sistemas isso pode ser representado como + ou. Underflow: Quando o valor mínimo do expoente é excedido. Pode-se representar como 0. O padrão IEEE 754 limita a representação de valores para que não hajam problemas de representação. Para a precisão de 32 bits, ou precisão simples, tem 8 bits de expoente e 23 bits de fração. Na tabela 2 mostra os valores das possíveis representações. Tabela 2 Representação para precisão de 32 bits Expoente polarizado Fração Valor Interpletação 0<E<255 Qualquer valor ( 1) s 2 (e 127) 1,F ± Normalizado E=0 F=0 ( 1) s 0 ±Zero E=0 F 0 ( 1) s 2 (e 126) 0,F ±Não-normalizado E=255 F=0 ( 1) s ±infinito E=255 F 0 NaN NaN Arredondamento e Truncamento Quando ocorre uma operação qualquer, normalmente o resultado da operação é guardado em um registrador de tamanho maior [9], para que o resultado possa ser colocado dentro do formato do ponto flutuante, existem 4 maneiras de arredondamento para a eliminação dos bits extras[9][7]: Arredondamento para o mais próximo: Arredonda o resultado para o valor representável mais próximo. Arredondamento para cima: Arredonda o resultado para cima, em direção para o infinito positivo. Arredondamento para baixo: Arredonda o resultado para baixo, em direção para o infinito negativo. Truncamento: Truncamento consiste em simplesmente ignorar os bits excedentes. A tabela 3 mostra os resultados de cada arredondamento de 6 bits para 3 bits.

26 24 Capítulo 2. Representação de Números em Ponto Flutuante Tabela 3 Tipos de Arredondamento Arredondamento 1,0111 1, ,0111-1,01010 Mais Próximo 1,10 1,01-1,10-1,01 Para Cima 1,10 1,10-1,01-1,01 Para Baixo 1,01 1,01-1,10-1,10 Truncamento 1,01 1,01-1,01-1,01 Cada forma de arredondamento varia na sua acurácia em relação ao resultado exato. O truncamento consiste em simplesmente ignora os bits excedentes, isso permite com que a acurácia do truncamento seja menor em relação ao arrendondamento para o mais próximo. Abaixo mostra a diferença de acurácia entre o arredondamento para o mais próximo e o truncamento para 6 bits: 1, 8 = 1, Truncando: 1, = 1, Arredondando para o mais próximo: 1, = 1, 8125 Enquanto o erro do truncamento é de 0,0175, no arredondamento para o mais próximo é de 0,0125. Porém como a precisão é maior e o truncamento só há a necessidade de ignorar os bits excedentes sem nenhuma verificação, a implementação é mais simples e o tempo de resposta é melhor em relação ao arredondamento,o truncamento será adotado neste projeto.

27 25 3 TRABALHOS RELACIONADOS Este capítulo abordará metodologias de autores separando cada artigo em subseções distintas, descrevendo a implementação do circuito do multiplicador em ponto flutuante, sintetizado através do VHDL, simulando e obtendo resultados com FPGAs. Na última sessão demonstrará as metodologias empregados para o multiplicador deste projeto e suas motivações. 3.1 Uma Implementação Eficiente de Um Multiplicador em Ponto Flutuante Mohamed Al-Ashrafy, Ashraf Salem e Wagdy Anis implementaram um multiplicador em ponto flutuante no padrão IEEE 754 de precisão simples sem tratamento para arredondamento no FPGA Xilinx Virtex-5 em VHDL [1]. O núcleo do Xilinx Virtex-5, que tem um multiplicador próprio, foi utilizado para comparação do resultado em relação ao multiplicador implementado. O hardware do multiplicador foi separado na seguinte forma: Sinal Somador dos expoentes Multiplicador das mantissas Normalização Para verificar se o sinal do resultado da multiplicação é negativo ou positivo, o sinal é definido por um circuito lógico XOR. O somador do expoente foi implementado um somador sem sinal e com tempo de resposta não tão rápido, pois o multiplicador terá um tempo de resposta maior em relação a soma do expoente. Para o somador dos expoentes foram utilizados somadores completos e um meio somador. O multiplicador das mantissas foi implementado com um multiplicador sem sinal, a arquitetura do multiplicador é de 24 bits simples com três estágios. No primeiro estágio utiliza um conjunto de somadores parciais. No segundo estágio utilizou somadores completos e no ultimo estágio somadores completos com propagação de carry na horizontal.

28 26 Capítulo 3. Trabalhos Relacionados Para a obtenção dos resultados, foi utilizado um testbench para gerar estímulos para aplicar no multiplicador e no núcleo do Xilinx. O núcleo do Xilinx foi alterado para indicar frag para underflow e overflow, com latência máxima para três ciclos. A tabela 5 mostra o resultado do multiplicador em relação ao núcleo o Xilinx. A quantidade de Configuration Logical Blocks Slices (CLB Slices) e do D-Flip Flop (DFF) utilizado no multiplicador foi de 1263 e 604 respectivamente, enquanto do núcleo Xilinx foi de 765 e 266 respectivamente. A frequência do multiplicador foi de MHz enquanto do núcleo do Xilinx foi de MHz Multiplicador em Núcleo do Xilinx ponto flutuante CLB Slices DFF Frequência máxima MHz MHz Tabela 4 Resultado entre o multiplicador em ponto flutuante e o núcleo do Xilinx O tamanho do núcleo do Xilinx é menor em relação do multiplicador pois não trunca/arrendonda os 48 bits da multiplicação no qual reflete na quantidade de registradores para executar sobre os bits extras e também no geradores de função. 3.2 Implementação em Hardware de um Multiplicador em Ponto Flutuante de Alta Velocidade em FPGA No artigo [2] foi implementado um multiplicador em ponto flutuante de precisão simples no padrão IEEE 754 com o produto parcial comprimido pelo algoritmo Radix-4 Booth s, o compressor 4:2 comprime os produtos parciais, a soma e o vetor de carry e são somados em uma look-ahead adder para obtenção do produto. O multiplicador foi utilizado especialmente para um processador FFT, adotando a técnica de pipeline para que funcionasse de forma estável a 80 MHz. O Projeto foi dividido em módulo do expoente, do codificador de Booth melhorado e do compressor. O módulo do expoente tem 8 bits com sinal de carry que é utilizado para a normalização do resultado com as seguintes regras: 1. Se normalização é igual a zero, então o expoente não muda, senão adiciona Se o sinal do carry dos dois níveis anteriores foram 00, então o resultado é underflow, se for 11, então é overflow, senão os resultados são normais. Se aparecer

29 3.2. Implementação em Hardware de um Multiplicador em Ponto Flutuante de Alta Velocidade em FPGA 27 overflow, então parte do expoente será tudo 1 e parte da mantissa será tudo 0, tornando como infinito no padrão IEEE 754. Caso ocorra underflow, então o expoente se tornará tudo 0 no resultado do multiplicador, que é o infinitesimal no padrão IEEE Se o sinal do carry for 1, será determinada pelo sinal da normalização para definir se é overflow. Nos produtos parciais, como o tempo de atraso é determinado pelo número dos produtos parciais, será adotado um codificador Radix-4 Booth para melhorar o esquema de codificação tradicional no projeto. Foi adotado a técnica de verificar cada ciclo, onde o número dos produtos parciais é reduzido para 13. O codificador de Booth tem 4 resultados, ZERO que multiplica por 0, ADD_SU B multiplica por 1, ADD_SUB2 multiplica por 2 e NEG multiplica por -1. De acordo ao princípio do codificador Booth, o gerador do produto parcial segue as seguintes regras: P P i = SHIF T NEG + SHIF T NEG SHIF T = ZERO (ADD_SUB A i + ADD_SUB2 A i 1 ) Aonde P P i é o produto parcial e A i o multiplicando. Depois da extensão do bit escondido e bit do sinal, o multiplicando, com 26 bits na mantissa, irá produzir 13 produtos parciais. No multiplicado em ponto flutuante, o complemento de 2 irá ser adotado na operação na parte da mantissa. Assim 1 será adicionado no bit menos significativo para NEG igual a 1 pois o complemento de 1 será implementado somente no P P i. Para aumentar o paralelismo, a operação de adição de 1 no produto parcial é implementado no compressor. Porém foi implementado a operação de adição dos números sinalizados. O bit de sinal do produto parcial deve ser estendido. Somente o primeiro produto parcial terá 29 bits, os outros produtos parciais terão 32 bits, onde no primeiro produto parcial terá 3 bits de sinal de extensão SSS. nos outros produtos parciais, terá 2 bit de sinal de extensão, e o bit de operação de adição 1 é NN. Segue a seguinte regra: Primeiro bit: Segundo até 13 o bit: SSS = {sign(i), sign(i), sign(i)} NN = {0, sign(i 1)} linha. Aonde i é a linha do produto parcial, sign(i) é o sinal do produto parcial na i-ésima

30 28 Capítulo 3. Trabalhos Relacionados Foi implementado uma estrutura de um compressor tradicional de um produto parcial melhorada e um compressor 4:2, um compressor 3:2, um somador completo e um meio somador são usado simultaneamente para implementar um compressor rápido para os 13 produtos parciais. O novo hardware implementado de um multiplicador em ponto flutuante de alta velocidade em uma FPGA é desenvolvido baseado na técnica em pipeline. O tempo de simulação mostrou que o multiplicador em ponto flutuante pode rodar numa frequência de 80 MHz constantemente de forma estável. O multiplicador tem sido bem adotado no processador FFT. 3.3 Projeto e Implementação do Multiplicador de Ponto Flutuante Para Melhor Desempenho de Tempo Em [10], pela complexidade dos algoritmos, a implementação das operações em ponto flutuantes são muito difíceis em uma FPGA. A computação das operações envolve grande arranjos dinâmicos, porém os recursos necessários para essas operações é grande em comparação as operações com inteiros. Tem se o Multiplicador para números binários sem e com sinal, para a multiplicação do ponto flutuante, o multiplicador em ponto flutuante é utilizado. O multiplicador sem sinal utiliza um arranjo de portas AND e somadores completos. A entrada é positivo gerando saída positivo. Esse multiplicador é utilizado na parte da mantissa do ponto flutuante. O multiplicador do ponto flutuante é responsável pela multiplicação de dois números de ponto flutuante. A operação desse multiplicador é de simples adição especialmente pelo formato de 32 bits. Para multiplicar os números em ponto flutuante, as mantissas são multiplicados por um multiplicador sem sinal. Então os expoentes são somados e o excesso é subtraído para o resultado. O saída do sinal vem a partir de um XOR com o sinal de cada ponto flutuante. Após a multiplicação, normaliza o resultado, se for necessário, ajusta a mantissa e o expoente para que o bit mais significativo da mantissa seja 1. No expoente, somadores sem sinal somaram a entrada do primeiro expoente com o segundo expoente e subtrai o rsultado da soma pelo bias (127). O resultado deste estágio se chama expoente intermediário. Como a necessidade da operação não é necessariamente ser rápido, pois no expoente soma 2 expoente de 8 bits e a mantissa multiplica 24 bits por 24 bits, o somador com propagação de carry é utilizado para a soma dos dois expoentes. No somador, é utilizado um meio-somador e 7 somadores completos, gerando 8 bits como resultado, esse resultado é subtraído pelo bias a partir do arranjo de ripple borrow

31 3.4. Metodologias utilizados 29 subtractors. O sinal da multiplicação, somente é negativo se somente um dos dois sinais dos ponto flutuante de entrada for negativo, caso contrário será positivo. A partir do uso de um XOR obtém o resultado do sinal. No expoente, pode acontecer o Underflow ou Overflow. No caso do Overflow, pode ocorrer quando soma dois expoentes ou quando está sendo normalizado. O Overf low pode ser compensado quando subtrai com o bias. O Underflow pode ocorrer quando a subtração do bias com o expoente já somado resulta igual ou menor a 0, quando for menor, não há como compensar, mas quando o resultado for 0, há chance de ser compensado durante a normalização adicionando 1. O multiplicador foi implementado com estágio de três pipelining, para dividir o caminho crítico, podendo aumentar a frequência da operação do multiplicador. Os estágios do pipeling foram divididos nas seguintes etapas: 1. No meio da multiplicação do significando e no meio da soma do expoente, antes da subtração com o bias. 2. Depois da multiplicação do significando e após a subtração do bias. 3. Na saída da multiplicação do ponto flutuante, com o sinal, expoente e mantissa. A simulação do multiplicador foi implementado para o dispositivo Xilinx Spartan 3. O tempo de performance foi observado com a ferramenta Xilinx Timing Analyzer. O resultado obtido pela arquitetura em pipeline mostrou ser 0.54 ns mais rápido do que na arquitetura convencional. Esta vantagem será bem utilizado em aplicativos DSP (Digital Signal Processing). 3.4 Metodologias utilizados Para este projeto o sinal da multiplicação será implementado com um circuito lógico XOR [1, 2, 10]. Para a soma dos expoentes e a subtração com o bias, foram utilizados somadores com propagação de carry para a soma dos expoentes [1, 10]. A subtração é feita com o resultado da soma dos expoentes e subtratores otimizados para o valor do bias [1]. Na geração dos produtos parciais, o codificador Radix-4 Booth [2] foi utilizado para diminuir a quantidade de produtos parciais. Para o padrão de 32 bits. Como a mantissa tem 23 bits de fração e 1 bit escondido com valor 1 no bit mais significativo na mantissa, são gerados 23 produtos parciais em uma multiplicação normal entre duas mantissas. Já

32 30 Capítulo 3. Trabalhos Relacionados no codificador são gerados 13 produtos parciais, produzindo 10 produtos parciais a menos, exigindo menos para a soma dos produtos parciais.

33 31 4 MULTIPLICAÇÃO EM PONTO FLUTUANTE A aritmética de um multiplicador em ponto flutuante é mais simples em relação as operações de soma e subtração pelo fato de não haver necessidade de igualar os expoentes dos pontos flutuantes na operação. A figura 3 mostra o diagrama da multiplicação entre dois ponto flutuante. No início, o multiplicador recebe os pontos flutuantes X e Y e verifica se um dos dois é zero. Caso seja verdade, o resultado da multiplicação Z retorna com o valor zero. Senão soma os expoentes e subtrai pelo valor do bias. Após a subtração, verifica se não ocorreu a excessão de overflow, quando o resultado do expoente é maior que o expoente máximo, ou de underflow, quando o resultado é menor que o expoente mínimo. Após a verificação, multiplica-se as mantissas, normaliza-se e trunca ou é arredonda gerando a mantissa resultante. Por fim retorna a multiplicação entre X e Y ou uma excessão. Figura 3 Diagrama do multiplicador Para melhor entendimento, considere-se 2 números em ponto flutuante normalizados com precisão de 16 bits, PF1 = binário ou 2,8125 em decimal,

34 32 Capítulo 4. Multiplicação em Ponto Flutuante e PF2 = binário ou 0 em decimal. Nesse caso, como o PF2 é igual a 0. A multiplicação de qualquer valor com 0 é 0, então retorna-se 0 como resultado. Em um outro exemplo, o ponto flutuante PF1 = ou 2,8125 em decimal e PF2 = ou 20,25 em decimal. Inicia-se a multiplicação. Como no diagrama mostrado na figura 3, soma-se os dois expoentes e com a soma, subtrai-se o bias, que na precisão de 16 bits, possui um valor de 15 ou em binário = = Com o resultado do expoente, é possível verificar se ocorreu um overflow ou um underflow. Como o resultado foi ou 20 em decimal, valor está representável para precisão de 16 bits, continua-se normalmente o calculo da multiplicação. Após o calculo do expoente, calcula-se o valor da mantissa multiplicando como na figura 4 onde pode se ver a multiplicação entre PF1 e PF2. Figura 4 Multiplicação entre a mantissa de PF1 e PF2 Por ultimo deve-se verificar se há necessidade de normalização, arrendondamento ou truncamento do resultado da multiplicação da mantissa. Como o resultado está normalizado, há somente a necessidade do arredondamento ou truncamento. No caso acima foi utilizado um truncamento, excluindo os 10 bits menos significativos e resultando na mantissa. Com isso, o resultado final entre a multiplicação de PF1 e PF2 é de

35 33 5 DESENVOLVIMENTO DO PROJETO Este capítulo aborda a implementação do multiplicador em ponto flutuante, em cada etapa do processo, detalhando a sua estrutura lógica a partir das informações obtidas nas fundamentações teóricas. A condição de entrada para realizar-ser o calculo da multiplicação, será com ponto flutuante normalizado. A precisão utilizado para o projeto foi de 32 bits. 5.1 Estrutura do Multiplicador O multiplicador em ponto flutuante constitui na seguinte estrutura: 1. Sinal da multiplicação; 2. Verificação da multiplicação por Soma dos expoentes e subtração do bias; 4. Geração dos produtos parciais; 5. Soma dos produtos parciais; 6. Normalização E truncamento; A figura 5 mostra o diagrama da estrutura do multiplicador implementado, a multiplicação inicia-se com recebimento dos sinais, expoentes e mantissas de cada ponto flutuante. No sinal, faz a verificação retornando ao resultado final. Com o valor do expoente e da mantissa de cada entrada, verifica se os dois valores são zero para cada ponto flutuante, caso seja verdade para um dos dois ponto flutuante, retorna a exceção de Zero para o resultado final. Após a verificação do Zero, o expoente de cada entrada é somado e subtraído com o bias e verifica se houve overflow ou underflow, caso aconteça, retorna ao resultado a exceção, caso contrário, continua a multiplicação. Em paralelo, faz a multiplicação com as entradas de cada da mantissa e gera os produtos parciais. Com os produtos parciais gerados, soma-se e verifica a necessidade da normalização, caso haja necessidade incrementa o expoente e normaliza o resultado da soma. Por fim, trunca-se o valor gerando a mantissa resultante, e retorna ao resultado final. No expoente, após verificar a necessidade do incremento, verifica novamente a ocorrência de overflow ou underflow e retorna o resultado do expoente ao resultado final.

36 34 Capítulo 5. Desenvolvimento do Projeto Figura 5 Estrutura do multiplicador 5.2 Sinal da Multiplicação No sinal, a única condição para que a multiplicação entre dois números seja negativo é quando somente um dos dois números é negativo. O circuito lógico XOR foi empregado para obter o sinal através dos dois ponto flutuante. A tabela 5 mostra a tabela verdade do circuito lógico, Quando as entradas A e B são iguais, o resultado será 0 e quando são diferentes, será 1. Tabela 5 Tabela verdade do circuito lógico XOR A B Resultado Verificação da Multiplicação por 0 No início da multiplicação, verifica se o expoente e a mantissa dos dois números em ponto flutuante da entrada são 0. Caso positivo, o sinal de Zero é ativado. Antes de começar a calcular a multiplicação, verifica se um dos pontos flutuantes de entrada não tem valor 0, para essa verificação, cada ponto flutuante verifica se a mantissa e o expoente é igual a 0. A figura 6 mostra o circuito do verificador para uma entrada. No expoente e na mantissa são utilizados circuitos lógicos OR, caso 1 bit dos 8 bits do expoente ou o 1 bits dos 23 bits da mantissa for 1, o sinal de Zero não é ativado.

37 5.4. Soma dos Expoentes e Subtração do bias 35 E7 E6 E5 E4 E3 E2 E1 E0 M22 M21 M20 M19 Mi M3 M2 M1 M Zero Figura 6 Circuito verificador de Soma dos Expoentes e Subtração do bias O somador dos expoentes possui a função de adicionar o valor do primeiro expoente com o segundo expoente subtraindo-se com o valor do bias que varia de acordo com o padrão de precisão estabelecido. Neste caso é utilizado o padrão de precisão de 32 bits e o valor do bias será 127 ou em binário. A soma entre os expoentes utiliza somadores com propagação do carry [1]. Utilizase 1 meio somador e 7 somadores completos, a entrada do meio somador serão do primeiro bit de cada expoente (A 0,B 0 ) com saída da soma e o carry (S 0,C out,0 ), no somadores completos, as entradas recebem a sequência dos próximos bits de cada expoente mais o Carry de cada somador anterior (A,B,C in ). A figura 7 mostra o somador com a propagação de carry. Cout,7 A7 B7 Cin,7 Cout,6 A6 B6 Cin,6... Cout,1 A1 B1 Cin,1 Cout,0 A0 B0 S7 S6 S1 S0 Figura 7 Somadores com propagaçao de carry A soma do somador com propagação do carry gera 8 bits (S 7,S 0 ) e mais 1 bit do carry (C out,7 ). Concatenando a soma com o carry formam um conjunto de 9 bits, esse resultado será subtraído com o bias para o resultado do expoente. Subtratores comuns tem três entradas, o minuendo (S), o subtraendo (T ) e o empréstimo de entrada (Bin). Com duas saídas, o resto (R) e o empréstimo de saída (B out ). Porém considerando que o valor do bias sempre será o mesmo valor para a precisão de 32 bits ( ), então implementou-se dois subtratores com uma lógica otimizada.

38 36 Capítulo 5. Desenvolvimento do Projeto O primeiro subtrator otimizado gera o resultado quando o valor de entrada do subtraendo é sempre 1 [1]. A tabela 6 mostra a tabela verdade do subtrator. Tabela 6 Subtrator com subtraendo T = 1 S T B in R B out A equação booleana é representado da seguinte maneira: R = S B in B out = S + B in A figura 8 mostra o circuito lógico. Figura 8 one subtractor A tabela 7 mostra a tabela verdade do subtrator com subtraendo com valor 0 [1]. Tabela 7 Subtrator com subtraendo T = 0 S T B in R B out A equação booleana é representado da seguinte maneira: R = S B in B out = S B in A figura 9 mostra o circuíto lógico. Figura 9 zero subtractor

39 5.5. Geração dos Produtos Parciais 37 Com os subtratores, o subtrator do bias será composto por 7 subtratores T = 1 e 2 subtratores T = 0. A figura 10 mostra o subtrator do bias. Para a detecção do overflow ou underflow no expoente, o resto (R 8 ) e empréstimo de saída (B out,8 ) são verificados. No caso para a detecção de underflow, o (R 8 ) e o (B out,8 ) forem 1, o sinal de underflow é acionado. Para o overflow, quando o (B out,8 ) é 1 e o (R 8 ) é 0, então o sinal de overflow é acionado. Figura 10 Circuito do Subtratores do Expoente 5.5 Geração dos Produtos Parciais Para gerar os produtos parciais, foi utilizado o codificador Radix-4 Booth [2], onde diminuiu a quantidade de produtos parciais de 24 para 13 produtos parciais, aumentando o desempenho. Para maior praticidade para demonstrar a geração dos produtos parciais, serão utilizados exemplos com 4 bits de tamanho. O codificador Radix-4 Booth gera a multiplicação do produto parcial a partir de um conjunto de 3 bits do multiplicador, pela qual os 2 bits mais significativo do primeiro conjunto é obtido a parir do 2 bits menos significativo do multiplicador e 0 no bit menos significativo do conjunto. Os próximos conjuntos são obtidos a cada 2 deslocamento a esquerda do multiplicador e sucessivamente. Quando o último conjunto tem somente 2 ou 1 bit, adiciona 0 nos bits mais significativos faltantes. Em um multiplicador de 4 bits, foram gerados 3 produtos parciais em vez de 4 na forma tradicional. A Figura 11 mostra a separação dos conjuntos de 3 bits do multiplicador, onde em cor cinza são os bits 0 gerados para a codificação Figura 11 Separação dos conjuntos de 3 bits do multiplicando

40 38 Capítulo 5. Desenvolvimento do Projeto A Tabela 8 mostra a tabela verdade do codificador. Na tabela verdade o ZERO representa a multiplicação por 0, ADD2 a multiplicação por 2 e NEG a multiplicação por -1, quando ADD2 e NEG forem 1, então a multiplicação será por -2. Tabela 8 Tabela verdade do codificador codificação de 3 bits [2:0] ZERO ADD2 N EG multiplicação ( 2) ( 1) ( 1) As equações e os circuitos de ZERO, ADD2 e NEG são apresentados a seguir, pela qual dentro do conjunto de 3 bits, o bit menos significativo é a entrada A, o bit do meio é o B e o bit menos significativo é o C. Com a saída Z de ZERO, D na de ADD2 e N para NEG. A equação booleana de ZERO é representado da seguinte maneira: Z = ((A + B) C) + ((A B) C) A figura 12 mostra o Circuito logico de ZERO. A B C Z Figura 12 Circuito logico de ZERO A equação booleana de ADD2 é representado da seguinte maneira: D = ((A B) C) + ((A B) C) A figura 13 mostra o circuito logico de ADD2.

41 5.5. Geração dos Produtos Parciais 39 Figura 13 Circuito lógico de ADD2 =A equação booleana de NEG é representado da seguinte maneira: N = (A B) + (A C) A figura 14 mostra o circuito de NEG. Figura 14 Circuito logico de NEG Para que o produtos parciais possam obter os valores de acordo com o codificador radix-4 booth, foi implementado os circuitos do multiplicando MU que passa primeiro pelo circuito da multiplicação por -1, após isso verifica se é multiplicado por 2 e por fim se o produto parcial é Multiplicação por -1 Na multiplicação por -1, verifica se o valor de N é 1, se for, o resultado do multiplicando será negativo, senão passa o valor normal do multiplicando, passando para o N i, obténdo 1 bit a mais a esquerda, onde recebe o valor de N. A figura 15 mostra o circuito para a geração e verificação do multiplicando para negativo, onde o tamanho da mantissa é de 4 bits e o resultado é 5 bits.

42 40 Capítulo 5. Desenvolvimento do Projeto Figura 15 Circuito para a geração e verificação do multiplicando em negativo Multiplicação por 2 Com o resultado do N i, verifica se D é 1, se sim, faz com que o resultado N i desloque para a esquerda, onde o primeiro bit menos significativo recebe o valor 0, passando para o D j. Assim gerando 6 bits. Quando D for 0, O resultado D j recebe mais um bit a esquerda com o valor igual ao bit mais significativo de N i. A figura 16 mostra a continuação da verificação e da multiplicação. Figura 16 Circuito para a geração e verificação do multiplicando por Multiplicação por 0 Para a multiplicação por 0, verifica se Z é 1, caso for, o valor final é multiplicado por 0, senão passa o valor de D j para o resultado do produto parcial. A figura 17 mostra a verificação e o resultado final para a mantissa 4 bits,

43 5.6. Soma dos Produtos Parciais 41 Figura 17 Circuito para verificação e multiplicação por Soma dos Produtos Parciais O somador dos produtos parciais foi utilizado somadores com propagação de carry. A figura 18 mostra um somador dos produtos parciais com 6 bits de tamanho. O A i B j são os produtos parciais, onde A i é o produto parcial i gerado, e o B j o bit na posição j de A i. A primeira soma, soma o primeiro produto parcial com o segundo deslocado 2 bits para a esquerda, pela qual o bit mais significativo é replicado para somar com os produtos parciais seguintes. Figura 18 Somadores dos produtos parciais de 6 bits O resultado da soma da figura 18 gera 8 bits como saída, passando posteriormente para a normalização. 5.7 Normalização e Truncamento Normalização Após obter o resultado da soma dos produtos parciais, verifica se o resultado final está normalizado ou não, para que possa saber se o resultado da soma está normalizado, verifica se no bit mais significativo do resultado é igual a 1, se for, desloca 1 bit o resultado para a direita. A figura 19 mostra o circuito da normalização.

44 42 Capítulo 5. Desenvolvimento do Projeto S7 S6 S5 S4 S3 S2 S1 S0 R6 R5 R4 R3 R2 R1 R0 Figura 19 Normalizador para multiplicação de 4 bits No expoente, quando ocorre a normalização na mantissa, o resultado do somador do expoente é incrementado. Quando o bit mais significativo do resultado da soma dos produtos parciais é 1, ocorre a incrementação e quando o carry da ultima soma for 1, o sinal de overflow é ativado, porém se o sinal de underflow estiver ativado, independente do incremento, o overflow irá manter 0. O resultado final será o conjunto de bits E [7..0] e o resultado de overflow e underflow. A figura 20 mostra o incremento do expoente de precisão simples que s]ao compostos por meio somadores. FO in FUin R7 R6 R5 R4 R3 R2 R1 R0 S47 FUout FOout E7 E6 E5 E4 E3 E2 E1 E0 Figura 20 incremento no expoente e verificação de overflow Truncamento Após a normalização da mantissa, os bits extras são descartados obtendo os 23 bits do resultado da mantissa.

45 43 6 RESULTADOS OBTIDOS Este capítulo demonstrará os resultados obtidos, separando em etapas, descrevendoos cada resultado. A simulação foi realizado no programa de circuitos digitais Proteus. A Tabela 9 e 10 mostra 10 entradas para a simulação. O símbolo MUi é o multiplicando e MDi o multiplicador. Cada tabela mostra a entrada em decimal e em ponto flutuante separando em sinal, expoente e mantissa. Tabela 9 Valores do multiplicando Símbolo Multiplicando Sinal Expoente Mantissa MU MU MU3-365, MU4-365, MU MU MU7 ( ) MU8 ( ) MU9 2 ( 63) + 2 ( 60) MU10 (2 ( 63) + 2 ( 60) ) Tabela 10 Valores do multiplicador Símbolo Multiplicador Sinal Expoente Mantissa MD1 2, MD2-2, MD3-7, MD4 7, MD MD MD MD MD9 2 ( 67) + 2 ( 66) + 2 ( 64) MD10 2 ( 67) + 2 ( 66) + 2 ( 64) Sinal da Multiplicação A Tabela 11 mostra os resultados dos sinais entre MUi MDi.

46 44 Capítulo 6. Resultados Obtidos Tabela 11 Resultado do Sinal Multiplicação Sinal Multiplicação Sinal MU1 MD1 0 MU6 MD6 1 MU2 MD2 1 MU7 MD7 0 MU3 MD3 0 MU8 MD8 1 MU4 MD4 1 MU9 MD9 0 MU5 MD5 0 MU10 MD Verificação da multiplicação por 0 A Tabela 12 mostra o resultado da verificação por 0. Na multiplicação de MU1 MD1 e MU2 MD2, o sinal de Zero foi ativado, pois os expoentes e as mantissas de MU1 e MU2 são 0. Tabela 12 Resultados da verificação por 0 Multiplicação Zero Multiplicação Zero MU1 MD1 1 MU6 MD6 0 MU2 MD2 1 MU7 MD7 0 MU3 MD3 0 MU8 MD8 0 MU4 MD4 0 MU9 MD9 0 MU5 MD5 0 MU10 MD Soma do Expoente e Subtração do bias A Tabela 13 mostra os resultados da soma do expoentes de MUi MDi subtraído com o bias e a verificação da ocorrência de overflow(of) ou underflow(uf). Na multiplicação MU5 MD5, como o cálculo ficou maior que 255, ativando o sinal de overflow. E na multiplicação MU9 MD9 e MU10 MD10, ativou o underflow pois o cálculo resultou menor que 0. Tabela 13 Resultados da soma dos expoente com a subtração com o bias e a verificação de overflow e underflow Multiplicação Expoente OF UF Multiplicação Expoente OF UF MU1 MD MU6 MD MU2 MD MU7 MD MU3 MD MU8 MD MU4 MD MU9 MD MU5 MD MU10 MD

Flávio Kenji Nishida. Projeto de um multiplicador em ponto flutuante

Flávio Kenji Nishida. Projeto de um multiplicador em ponto flutuante Flávio Kenji Nishida Projeto de um multiplicador em ponto flutuante Londrina 2012 Flávio Kenji Nishida Projeto de um multiplicador em ponto flutuante Trabalho de Conclusão de curso apresentado à Universidade

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Organização e Arquitetura de Computadores I Aritmética Computacional Slide 1 Sumário Unidade Lógica e Aritmética Representação de Números Inteiros Aritmética de Números Inteiros Representação de Números

Leia mais

Representando Instruções no Computador

Representando Instruções no Computador Representando Instruções no Computador Humanos aprenderam a pensar na base 10 Números podem ser representados em qualquer base Números mantidos no hardware como série de sinais eletrônicos altos e baixos

Leia mais

Introdução. A Informação e sua Representação (Parte II) Universidade Federal de Campina Grande. Unidade Acadêmica de Sistemas e Computação

Introdução. A Informação e sua Representação (Parte II) Universidade Federal de Campina Grande. Unidade Acadêmica de Sistemas e Computação Universidade Federal de Campina Grande Unidade Acadêmica de Sistemas e Computação Introdução à Computação A Informação e sua Representação (Parte II) Prof. a Joseana Macêdo Fechine Régis de Araújo joseana@computacao.ufcg.edu.br

Leia mais

Aritmética de Ponto Flutuante e Noções de Erro. Ana Paula

Aritmética de Ponto Flutuante e Noções de Erro. Ana Paula Aritmética de Ponto Flutuante e Noções de Erro Sumário 1 Introdução 2 Sistemas de Numeração 3 Representação de Números Inteiros no Computador 4 Representação de Números Reais no Computador 5 Operações

Leia mais

Universidade Federal de São João Del Rei - UFSJ

Universidade Federal de São João Del Rei - UFSJ Universidade Federal de São João Del Rei - UFSJ Instituída pela Lei 0.45, de 9/04/00 - D.O.U. de /04/00 Pró-Reitoria de Ensino de Graduação - PROEN Disciplina: Cálculo Numérico Ano: 03 Prof: Natã Goulart

Leia mais

Capítulo SETE Números em Ponto Fixo e Ponto Flutuante

Capítulo SETE Números em Ponto Fixo e Ponto Flutuante Capítulo SETE Números em Ponto Fixo e Ponto Flutuante 7.1 Números em ponto fixo Observação inicial: os termos ponto fixo e ponto flutuante são traduções diretas dos termos ingleses fixed point e floating

Leia mais

Aritmética de Ponto Flutuante

Aritmética de Ponto Flutuante Aritmética de Ponto Flutuante Entre 1970 e 1980 um grupo formado por cientistas e engenheiros de diferentes empresas de computação realizou um trabalho intenso na tentativa de encontrar um padrão de representação

Leia mais

A declaração de uma variável vel define o seu tipo. O tipo do dado define como ele será: Armazenado na memória. Manipulado pela ULA.

A declaração de uma variável vel define o seu tipo. O tipo do dado define como ele será: Armazenado na memória. Manipulado pela ULA. Representação de Dados Tipos de dados: Caracteres (letras, números n e símbolos). s Lógicos. Inteiros. Ponto flutuante: Notações decimais: BCD. A declaração de uma variável vel define o seu tipo. O tipo

Leia mais

Arquitetura de Computadores

Arquitetura de Computadores Arquitetura de Computadores Prof. Fábio M. Costa Instituto de Informática UFG 1S/2004 Representação de Dados e Aritimética Computacional Roteiro Números inteiros sinalizados e nãosinalizados Operações

Leia mais

Unidade 5: Sistemas de Representação

Unidade 5: Sistemas de Representação Arquitetura e Organização de Computadores Atualização: 9/8/ Unidade 5: Sistemas de Representação Números de Ponto Flutuante IEEE 754/8 e Caracteres ASCII Prof. Daniel Caetano Objetivo: Compreender a representação

Leia mais

REPRESENTAÇÃO DE DADOS EM SISTEMAS DE COMPUTAÇÃO AULA 03 Arquitetura de Computadores Gil Eduardo de Andrade

REPRESENTAÇÃO DE DADOS EM SISTEMAS DE COMPUTAÇÃO AULA 03 Arquitetura de Computadores Gil Eduardo de Andrade REPRESENTAÇÃO DE DADOS EM SISTEMAS DE COMPUTAÇÃO AULA 03 Arquitetura de Computadores Gil Eduardo de Andrade O conteúdo deste documento é baseado no livro Princípios Básicos de Arquitetura e Organização

Leia mais

Implementações e Comparação de Multiplicadores de Alta Velocidade para Dispositivos Reconfiguráveis

Implementações e Comparação de Multiplicadores de Alta Velocidade para Dispositivos Reconfiguráveis Implementações e Comparação de Multiplicadores de Alta Velocidade para Dispositivos Reconfiguráveis Tiago dos Santos Patrocinio, Ivan Saraiva Silva Departamento de Computação Universidade Federal do Piauí

Leia mais

Introdução. A Informação e sua Representação (Parte III) Universidade Federal de Campina Grande Departamento de Sistemas e Computação

Introdução. A Informação e sua Representação (Parte III) Universidade Federal de Campina Grande Departamento de Sistemas e Computação Universidade Federal de Campina Grande Departamento de Sistemas e Computação Introdução à Computação A Informação e sua Representação (Parte III) Prof.a Joseana Macêdo Fechine Régis de Araújo joseana@computacao.ufcg.edu.br

Leia mais

Principais códigos utilizados. Codificação. Código binário puro. Codificação binária. Codificação Binária. Código Binário puro e suas variantes

Principais códigos utilizados. Codificação. Código binário puro. Codificação binária. Codificação Binária. Código Binário puro e suas variantes Codificação Principais códigos utilizados Computadores e Equipamentos de Comunicações Digitais trabalham com representação e códigos. A codificação binária de sinais é largamente utilizada em Sistemas

Leia mais

Representação de Dados

Representação de Dados Representação de Dados Introdução Todos sabemos que existem diferentes tipos de números: fraccionários, inteiros positivos e negativos, etc. Torna-se necessária a representação destes dados em sistema

Leia mais

CCI-22 CCI-22. 2) Erros de arredondamento. Matemática Computacional

CCI-22 CCI-22. 2) Erros de arredondamento. Matemática Computacional Matemática Computacional 2) Erros de arredondamento Carlos Alberto Alonso Sanches Erros de representação e de cálculo Tipos de erros Erro inerente: sempre presente na incerteza das medidas experimentais

Leia mais

Sistema de Numeração e Conversão entre Sistemas. Prof. Rômulo Calado Pantaleão Camara. Carga Horária: 60h

Sistema de Numeração e Conversão entre Sistemas. Prof. Rômulo Calado Pantaleão Camara. Carga Horária: 60h Sistema de Numeração e Conversão entre Sistemas. Prof. Rômulo Calado Pantaleão Camara Carga Horária: 60h Representação de grandeza com sinal O bit mais significativo representa o sinal: 0 (indica um número

Leia mais

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES SISTEMAS DE NUMERAÇÃO: REPRESENTAÇÃO EM PONTO FLUTUANTE. Prof. Dr. Daniel Caetano 2012-1

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES SISTEMAS DE NUMERAÇÃO: REPRESENTAÇÃO EM PONTO FLUTUANTE. Prof. Dr. Daniel Caetano 2012-1 ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES SISTEMAS DE NUMERAÇÃO: REPRESENTAÇÃO EM PONTO FLUTUANTE Prof. Dr. Daniel Caetano 2012-1 Objetivos Compreender o que é notação em ponto flutuante Compreender a

Leia mais

ULA- Unidade Lógica Aritmética. Prof. Rômulo Calado Pantaleão Camara. Carga Horária: 60h

ULA- Unidade Lógica Aritmética. Prof. Rômulo Calado Pantaleão Camara. Carga Horária: 60h ULA- Unidade Lógica Aritmética. Prof. Rômulo Calado Pantaleão Camara Carga Horária: 60h Sumário Unidade Lógica Aritmetrica Registradores Unidade Lógica Operações da ULA Unidade de Ponto Flutuante Representação

Leia mais

CAPÍTULO 6 ARITMÉTICA DIGITAL

CAPÍTULO 6 ARITMÉTICA DIGITAL CAPÍTULO 6 ARITMÉTICA DIGITAL Introdução Números decimais Números binários positivos Adição Binária Números negativos Extensão do bit de sinal Adição e Subtração Overflow Aritmético Circuitos Aritméticos

Leia mais

Curso Superior de Sistemas de Telecomunicações Unidade São José. Disciplina: Síntese de Sistemas de Telecomunicações 7º Fase

Curso Superior de Sistemas de Telecomunicações Unidade São José. Disciplina: Síntese de Sistemas de Telecomunicações 7º Fase Curso Superior de Sistemas de Telecomunicações Unidade São José Disciplina: Síntese de Sistemas de Telecomunicações 7º Fase Bases tecnológicas Dispositivos Lógicos Programáveis. Introdução à Tecnologia

Leia mais

Representação de números em máquinas

Representação de números em máquinas Capítulo 1 Representação de números em máquinas 1.1. Sistema de numeração Um sistema de numeração é formado por uma coleção de símbolos e regras para representar conjuntos de números de maneira consistente.

Leia mais

CAPÍTULO 1 REVISÃO DE LÓGICA COMBINACIONAL

CAPÍTULO 1 REVISÃO DE LÓGICA COMBINACIONAL 1 CAPÍTULO 1 REVISÃO DE LÓGICA COMBINACIONAL Sumário 1.1. Sistemas de Numeração... 3 1.1.1. Conversão Decimal Binária... 3 1.1.2. Conversão Binária Decimal... 3 1.1.3. Conversão Binária Hexadecimal...

Leia mais

Aula 2 Sistemas de Numeração (Revisão)

Aula 2 Sistemas de Numeração (Revisão) Aula 2 Sistemas de Numeração (Revisão) Anderson L. S. Moreira anderson.moreira@recife.ifpe.edu.br http://dase.ifpe.edu.br/~alsm 1 O que fazer com essa apresentação 2 Agenda Breve revisão da aula anterior

Leia mais

Eduardo Camponogara. DAS-5103: Cálculo Numérico para Controle e Automação. Departamento de Automação e Sistemas Universidade Federal de Santa Catarina

Eduardo Camponogara. DAS-5103: Cálculo Numérico para Controle e Automação. Departamento de Automação e Sistemas Universidade Federal de Santa Catarina Eduardo Camponogara Departamento de Automação e Sistemas Universidade Federal de Santa Catarina DAS-5103: Cálculo Numérico para Controle e Automação 1/48 Sumário Arredondamentos Erros 2/48 Sumário Arredondamentos

Leia mais

Análise de Arredondamento em Ponto Flutuante

Análise de Arredondamento em Ponto Flutuante Capítulo 2 Análise de Arredondamento em Ponto Flutuante 2.1 Introdução Neste capítulo, chamamos atenção para o fato de que o conjunto dos números representáveis em qualquer máquina é finito, e portanto

Leia mais

Sistemas de Numeração (Aula Extra)

Sistemas de Numeração (Aula Extra) Sistemas de Numeração (Aula Extra) Sistemas de diferentes bases Álgebra Booleana Roberta Lima Gomes - LPRM/DI/UFES Sistemas de Programação I Eng. Elétrica 27/2 Sistemas de Numeração Um sistema de numeração

Leia mais

O diagrama ASM contém dois elementos básicos: o bloco de estado e o bloco de decisão.

O diagrama ASM contém dois elementos básicos: o bloco de estado e o bloco de decisão. 14 3.2 Projeto da Unidade de Controle (VHDL) 3.2.1 Diagrama ASM (Algorithmic State Machine) ASM é um fluxograma através do qual se representa a seqüência de ações que a unidade de controle de um sistema

Leia mais

Circuitos Digitais 144L

Circuitos Digitais 144L Circuitos Digitais Notas de Aula - 02 INSTITUTO: CURSO: DISCIPLINA: Instituto de Ciências Exatas e Tecnologia Ciência da Computação e Sistemas de Informação Circuitos Digitais 144L 1.0 Circuitos Combinacionais.

Leia mais

Aula 14: Instruções e Seus Tipos

Aula 14: Instruções e Seus Tipos Aula 14: Instruções e Seus Tipos Diego Passos Universidade Federal Fluminense Fundamentos de Arquiteturas de Computadores Diego Passos (UFF) Instruções e Seus Tipos FAC 1 / 35 Conceitos Básicos Diego Passos

Leia mais

Aula 2 - Cálculo Numérico

Aula 2 - Cálculo Numérico Aula 2 - Cálculo Numérico Erros Prof. Phelipe Fabres Anhanguera Prof. Phelipe Fabres (Anhanguera) Aula 2 - Cálculo Numérico 1 / 41 Sumário Sumário 1 Sumário 2 Erros Modelagem Truncamento Representação

Leia mais

Arquitetura e Organização de Computadores. Prof. Henrique

Arquitetura e Organização de Computadores. Prof. Henrique Arquitetura e Organização de Prof. Henrique Julho/2015 Roteiro Revisão - representação binária; conversão; representação de níveis; notação de sistema; códigos; simulador; Formas de Notação - sinal/magnitude;

Leia mais

ARQUITETURA DE COMPUTADORES

ARQUITETURA DE COMPUTADORES 1 ARQUITETURA DE COMPUTADORES U C P Prof. Leandro Coelho Plano de Aula 2 Aula Passada Definição Evolução dos Computadores Histórico Modelo de Von-Neumann Básico CPU Mémoria E/S Barramentos Plano de Aula

Leia mais

1 CIRCUITOS COMBINACIONAIS

1 CIRCUITOS COMBINACIONAIS Curso Técnico em Eletrotécnica Disciplina: Automação Predial e Industrial Professor: Ronimack Trajano 1 CIRCUITOS COMBINACIONAIS Um circuito digital é dito combinacional quando em um dado instante de tempo

Leia mais

Notas de Cálculo Numérico

Notas de Cálculo Numérico Notas de Cálculo Numérico Túlio Carvalho 6 de novembro de 2002 2 Cálculo Numérico Capítulo 1 Elementos sobre erros numéricos Neste primeiro capítulo, vamos falar de uma limitação importante do cálculo

Leia mais

CAPÍTULO 4 CIRCUITOS SEQUENCIAIS II: CONTADORES ASSÍNCRONOS

CAPÍTULO 4 CIRCUITOS SEQUENCIAIS II: CONTADORES ASSÍNCRONOS 50 Sumário CAPÍTULO 4 CIRCUITOS SEQUENCIAIS II: CONTADORES ASSÍNCRONOS 4.1. Introdução... 52 4.2. Contadores Assíncronos Crescentes... 52 4.3. Contadores Assíncronos Decrescentes... 56 4.4. Contador Assíncrono

Leia mais

Noções Básicas Sobre Erros

Noções Básicas Sobre Erros Noções Básicas Sobre Erros Wellington D. Previero previero@utfpr.edu.br http://paginapessoal.utfpr.edu.br/previero Universidade Tecnológica Federal do Paraná - UTFPR Câmpus Londrina Wellington D. Previero

Leia mais

2. A influência do tamanho da palavra

2. A influência do tamanho da palavra 1. Introdução O processador é o componente vital do sistema de computação, responsável pela realização das operações de processamento (os cálculos matemáticos etc.) e de controle, durante a execução de

Leia mais

8 Cálculo da Opção de Conversão

8 Cálculo da Opção de Conversão 83 8 Cálculo da Opção de Conversão Uma usina de açúcar relativamente eficiente pode produzir 107 kg de açúcar a partir de cada tonelada de cana processada, da qual também é produzida obrigatoriamente uma

Leia mais

Aula 9. Introdução à Computação. ADS IFBA www.ifba.edu.br/professores/antoniocarlos

Aula 9. Introdução à Computação. ADS IFBA www.ifba.edu.br/professores/antoniocarlos Aula 9 Introdução à Computação Ponto Flutuante Ponto Flutuante Precisamos de uma maneira para representar Números com frações, por exemplo, 3,1416 Números muito pequenos, por exemplo, 0,00000001 Números

Leia mais

Organização e Arquitetura de Computadores. Aula 10 Ponto Flutuante Parte I. 2002 Juliana F. Camapum Wanderley

Organização e Arquitetura de Computadores. Aula 10 Ponto Flutuante Parte I. 2002 Juliana F. Camapum Wanderley Organização e Arquitetura de Computadores Aula 10 Ponto Flutuante Parte I 2002 Juliana F. Camapum Wanderley http://www.cic.unb.br/docentes/juliana/cursos/oac OAC Ponto Flutuante Parte I - 1 Panorama Números

Leia mais

Métodos Numéricos. Turma CI-202-X. Josiney de Souza. josineys@inf.ufpr.br

Métodos Numéricos. Turma CI-202-X. Josiney de Souza. josineys@inf.ufpr.br Métodos Numéricos Turma CI-202-X Josiney de Souza josineys@inf.ufpr.br Agenda do Dia Aula 3 (10/08/15) Aritmética de ponto flutuante Representação de ponto flutuante Normalização Binária Decimal Situações

Leia mais

ORGANIZAÇÃO BÁSICA DE COMPUTADORES E LINGUAGEM DE MONTAGEM. Conceitos Básicos ORGANIZAÇÃO BÁSICA DE COMPUTADORES E LINGUAGEM DE MONTAGEM

ORGANIZAÇÃO BÁSICA DE COMPUTADORES E LINGUAGEM DE MONTAGEM. Conceitos Básicos ORGANIZAÇÃO BÁSICA DE COMPUTADORES E LINGUAGEM DE MONTAGEM Conceitos Básicos 1-1 BITs e BYTEs Bit = BInary digit = vale sempre 0 ou elemento básico de informação Byte = 8 bits processados em paralelo (ao mesmo tempo) Word = n bytes (depende do processador em questão)

Leia mais

Cálculo Numérico Aula 1: Computação numérica. Tipos de Erros. Aritmética de ponto flutuante

Cálculo Numérico Aula 1: Computação numérica. Tipos de Erros. Aritmética de ponto flutuante Cálculo Numérico Aula : Computação numérica. Tipos de Erros. Aritmética de ponto flutuante Computação Numérica - O que é Cálculo Numérico? Cálculo numérico é uma metodologia para resolver problemas matemáticos

Leia mais

Organização de Computadores 1

Organização de Computadores 1 Organização de Computadores 1 5 CONJUNTO DE INSTRUÇÕES Prof. Luiz Gustavo A. Martins Introdução O que é um conjunto de instruções? Coleção completa das instruções que a CPU é capaz de executar (entende).

Leia mais

Cálculo Numérico / Métodos Numéricos. Representação de números em computadores Mudança de base 14:05

Cálculo Numérico / Métodos Numéricos. Representação de números em computadores Mudança de base 14:05 Cálculo Numérico / Métodos Numéricos Representação de números em computadores Mudança de base 14:05 Computadores são "binários" Por que 0 ou 1? 0 ou 1 - "fácil" de obter um sistema físico Transistores

Leia mais

Memória cache. Prof. Francisco Adelton

Memória cache. Prof. Francisco Adelton Memória cache Prof. Francisco Adelton Memória Cache Seu uso visa obter uma velocidade de acesso à memória próxima da velocidade das memórias mais rápidas e, ao mesmo tempo, disponibilizar no sistema uma

Leia mais

Computadores XII: Aprendendo a Somar A4 Texto 3

Computadores XII: Aprendendo a Somar A4 Texto 3 Computadores XII: Aprendendo a Somar A4 Texto 3 http://www.bpiropo.com.br/fpc20051017.htm Sítio Fórum PCs /Colunas Coluna: B. Piropo Publicada em 17/10/2005 Autor: B.Piropo Na coluna anterior, < http://www.forumpcs.com.br/viewtopic.php?t=131250

Leia mais

Controle de elevador

Controle de elevador Controle de elevador Aluno...: Leonardo Rafael Coordenador: Prof. Eng Luiz Antonio Vargas Pinto vargasp@uol.com.br Escola Técnica Rubens de Faria e Souza 1 Dedicatória e Agradecimentos Dedico aos meus

Leia mais

Eletrônica Digital para Instrumentação. Herman Lima Jr. hlima@cbpf.br

Eletrônica Digital para Instrumentação. Herman Lima Jr. hlima@cbpf.br G03 Eletrônica Digital para Instrumentação Prof: hlima@cbpf.br Centro Brasileiro de Pesquisas Físicas Ministério da Ciência, Tecnologia e Inovação (MCTI) Organização do curso Introdução à eletrônica digital

Leia mais

Arquitetura Integrada para Conversor de Espaço de Cores e Downsampler para a Compressão de Imagens JPEG

Arquitetura Integrada para Conversor de Espaço de Cores e Downsampler para a Compressão de Imagens JPEG Arquitetura Integrada para Conversor de Espaço de Cores e Downsampler para a Compressão de Imagens JPEG Luciano Agostini, Sergio Bampi Grupo de Microeletrônica Instituto de Informática Universidade Federal

Leia mais

Cálculo Numérico Faculdade de Engenharia, Arquiteturas e Urbanismo FEAU

Cálculo Numérico Faculdade de Engenharia, Arquiteturas e Urbanismo FEAU Cálculo Numérico Faculdade de Engenharia, Arquiteturas e Urbanismo FEAU Prof. Dr. Sergio Pilling (IPD/ Física e Astronomia) I Representação dos números, aritmética de ponto flutuante e erros em máquinas

Leia mais

DICAS PARA CÁLCULOS MAIS RÁPIDOS ARTIGO 06

DICAS PARA CÁLCULOS MAIS RÁPIDOS ARTIGO 06 DICAS PARA CÁLCULOS MAIS RÁPIDOS ARTIGO 06 Este é o 6º artigo da série de dicas para facilitar / agilizar os cálculos matemáticos envolvidos em questões de Raciocínio Lógico, Matemática, Matemática Financeira

Leia mais

Capítulo 12. Projeto 5 Controle de Motores de Passo. 12.1 Circuito e Funcionamento

Capítulo 12. Projeto 5 Controle de Motores de Passo. 12.1 Circuito e Funcionamento Capítulo 12 Projeto 5 Controle de Motores de Passo A crescente popularidade dos motores de passo deve-se a sua adaptação à lógica digital. Estes dispositivos são usados em inúmeras aplicações, tais como:

Leia mais

Aritmética Binária e. Bernardo Nunes Gonçalves

Aritmética Binária e. Bernardo Nunes Gonçalves Aritmética Binária e Complemento a Base Bernardo Nunes Gonçalves Sumário Soma e multiplicação binária Subtração e divisão binária Representação com sinal Sinal e magnitude Complemento a base. Adição binária

Leia mais

Operações aritméticas

Operações aritméticas Circuitos Lógicos Operações aritméticas Prof.: Daniel D. Silveira Horário: 4a.f e 6a.f de 10h às 12h 1 Adição binária A soma binária ocorre da mesma forma que a decimal:» A operação sobre os dígitos na

Leia mais

ARTHUR HENRIQUE COUTINHO MODELAGEM DE UMA UNIDADE DE SOMA PARA NÚMERO EM PONTO FLUTUANTE

ARTHUR HENRIQUE COUTINHO MODELAGEM DE UMA UNIDADE DE SOMA PARA NÚMERO EM PONTO FLUTUANTE ARTHUR HENRIQUE COUTINHO MODELAGEM DE UMA UNIDADE DE SOMA PARA NÚMERO EM PONTO FLUTUANTE LONDRINA PR 2013 ARTHUR HENRIQUE COUTINHO MODELAGEM DE UMA UNIDADE DE SOMA PARA NÚMERO EM PONTO FLUTUANTE Trabalho

Leia mais

Computador HIPO. Inicialmente vamos apresentar as unidades fundamentais de um computador:

Computador HIPO. Inicialmente vamos apresentar as unidades fundamentais de um computador: Computador HIPO Para introduzirmos as noções básicas de como funciona um computador, empregaremos um modelo imaginário (hipotético) que denominaremos de computador hipo. O funcionamento desse modelo tem

Leia mais

Memórias. O que são Memórias de Semicondutores? São componentes capazes de armazenar informações Binárias (0s e 1s)

Memórias. O que são Memórias de Semicondutores? São componentes capazes de armazenar informações Binárias (0s e 1s) Memórias O que são Memórias de Semicondutores? São componentes capazes de armazenar informações Binárias (0s e 1s) Essas informações são guardadas eletricamente em células individuais. Chamamos cada elemento

Leia mais

2. Representação Numérica

2. Representação Numérica 2. Representação Numérica 2.1 Introdução A fim se realizarmos de maneira prática qualquer operação com números, nós precisamos representa-los em uma determinada base numérica. O que isso significa? Vamos

Leia mais

Fontes de Alimentação

Fontes de Alimentação Fontes de Alimentação As fontes de alimentação servem para fornecer energia eléctrica, transformando a corrente alternada da rede pública em corrente contínua. Estabilizam a tensão, ou seja, mesmo que

Leia mais

O matemático indiano Pingala apresentou a primeira descrição conhecida de um sistema numérico binário no século III a.c..

O matemático indiano Pingala apresentou a primeira descrição conhecida de um sistema numérico binário no século III a.c.. Sistema binário (matemática) O sistema binário ou base 2, é um sistema de numeração posicional em que todas as quantidades se representam com base em dois números, com o que se dispõe das cifras: zero

Leia mais

Somador e subtrator de 8 bits

Somador e subtrator de 8 bits Somador e subtrator de 8 bits Nota: Para desenvolver o somador e subtrator de 8 bits na Plataforma Windows, utilize preferencialmente Windows XP ou Vista. Você poderá encontrar problemas durante algumas

Leia mais

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia Disciplina de Lógica Computacional Aplicada. Prof. Dr.

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia Disciplina de Lógica Computacional Aplicada. Prof. Dr. Índice 1. SISTEMAS NUMÉRICOS 1.1 Caracterização dos Sistemas Numéricos 1.2 Sistemas Numéricos em uma Base B Qualquer 1.2.1 Sistema de Numeração Decimal 1.2.2. Sistema de Numeração Binário 1.2.3 Sistema

Leia mais

Arquitetura de processadores: RISC e CISC

Arquitetura de processadores: RISC e CISC Arquitetura de processadores: RISC e CISC A arquitetura de processador descreve o processador que foi usado em um computador. Grande parte dos computadores vêm com identificação e literatura descrevendo

Leia mais

Universidade Federal Fluminense - UFF Centro Tecnológico - CTC Escola de Engenharia - TCE Departamento de Engenharia de Telecomunicações TET

Universidade Federal Fluminense - UFF Centro Tecnológico - CTC Escola de Engenharia - TCE Departamento de Engenharia de Telecomunicações TET 1 Universidade Federal Fluminense - UFF Centro Tecnológico - CTC Escola de Engenharia - TCE Departamento de Engenharia de Telecomunicações TET Técnicas Digitais A Laboratório nº 3: Somadores. Data do laboratório:

Leia mais

CAPÍTULO I. UNIVERSIDADE FEDERAL DE UBERLÂNDIA FACULDADE DE ENGENHARIA ELÉTRICA Apostila de Eletrônica Digital. Sistemas de Numeração. 1.

CAPÍTULO I. UNIVERSIDADE FEDERAL DE UBERLÂNDIA FACULDADE DE ENGENHARIA ELÉTRICA Apostila de Eletrônica Digital. Sistemas de Numeração. 1. CAPÍTULO I Sistemas de Numeração. Introdução O decimal é o mais importante dos sistemas numéricos. Ele está fundamentado em certas regras que são a base de formação para qualquer outro sistema. Além do

Leia mais

- Arquitetura de sistemas digitais- Cap 1 - Introdução

- Arquitetura de sistemas digitais- Cap 1 - Introdução - Arquitetura de sistemas digitais- Cap 1 - Introdução Prof. Alan Petrônio - www.ufsj.edu.br/alan - 2012 Conteúdos/propósitos deste capítulo: 1.1 - Relembrando conceitos 1.2 - Arquitetura de computadores

Leia mais

1- Scilab e a placa Lab_Uino. 2- Instalação do ToolBox

1- Scilab e a placa Lab_Uino. 2- Instalação do ToolBox 1- Scilab e a placa Lab_Uino A placa Lab_Uino, é uma plataforma aberta para aprendizagem de sistemas microprocessados. Com a utilização de um firmware especifico a placa Lab_Uino é reconhecido pelo sistema

Leia mais

TRANSFORMADORES. P = enrolamento do primário S = enrolamento do secundário

TRANSFORMADORES. P = enrolamento do primário S = enrolamento do secundário TRANSFORMADORES Podemos definir o transformador como sendo um dispositivo que transfere energia de um circuito para outro, sem alterar a frequência e sem a necessidade de uma conexão física. Quando existe

Leia mais

Valor lógico UM (Verdade, 1): 5 Volts. Valor lógico ZERO (FALSO, 0): 0 Volts.

Valor lógico UM (Verdade, 1): 5 Volts. Valor lógico ZERO (FALSO, 0): 0 Volts. I FUNÇÔES E LOCOS LÓGICOS I.1 - SISTEMS DIGITIS - INTRODUÇÃO Sistemas Digitais Notas de ula 1 O mundo real apresenta duas representações para as medidas. Representação analógica e a representação digital.

Leia mais

ARQUITETURA DE COMPUTADORES

ARQUITETURA DE COMPUTADORES ARQUITETURA DE COMPUTADORES Sistema de Numeração Prof Daves Martins Msc Computação de Alto Desempenho Email: daves.martins@ifsudestemg.edu.br Sistemas Numéricos Principais sistemas numéricos: Decimal 0,

Leia mais

Desenvolvimento de Estratégia para Programação do Futebol de Robôs da Mauá

Desenvolvimento de Estratégia para Programação do Futebol de Robôs da Mauá Desenvolvimento de Estratégia para Programação do Futebol de Robôs da Mauá Wânderson O. Assis, Alessandra D. Coelho, Marcelo M. Gomes, Cláudio G. Labate, Daniel F. Calasso, João Carlos G. C. Filho Escola

Leia mais

Escola Secundária c/3º CEB José Macedo Fragateiro. Curso Profissional de Nível Secundário. Componente Técnica. Disciplina de

Escola Secundária c/3º CEB José Macedo Fragateiro. Curso Profissional de Nível Secundário. Componente Técnica. Disciplina de Escola Secundária c/3º CEB José Macedo Fragateiro Curso Profissional de Nível Secundário Componente Técnica Disciplina de Sistemas Digitais e Arquitectura de Computadores 29/21 Módulo 1: Sistemas de Numeração

Leia mais

Introdução à Arquitetura de Computadores: Uma Abordagem para Ponto Flutuante e Cache

Introdução à Arquitetura de Computadores: Uma Abordagem para Ponto Flutuante e Cache Introdução à Arquitetura de Computadores: Uma Abordagem para Ponto Flutuante e Cache Ricardo dos Santos Ferreira Departamento de Informática Universidade Federal de Viçosa Viçosa, MG, cep 36570 000 ricardo@ufv.br

Leia mais

Exemplo de Subtração Binária

Exemplo de Subtração Binária Exemplo de Subtração Binária Exercícios Converta para binário e efetue as seguintes operações: a) 37 10 30 10 b) 83 10 82 10 c) 63 8 34 8 d) 77 8 11 8 e) BB 16 AA 16 f) C43 16 195 16 3.5.3 Divisão binária:

Leia mais

Trabalho compilado da Internet Prof. Claudio Passos. Sistemas Numéricos

Trabalho compilado da Internet Prof. Claudio Passos. Sistemas Numéricos Trabalho compilado da Internet Prof. Claudio Passos Sistemas Numéricos A Informação e sua Representação O computador, sendo um equipamento eletrônico, armazena e movimenta as informações internamente sob

Leia mais

Computador E/S, Memória, Barramento do sistema e CPU Onde a CPU Registradores, ULA, Interconexão interna da CPU e Unidade de controle.

Computador E/S, Memória, Barramento do sistema e CPU Onde a CPU Registradores, ULA, Interconexão interna da CPU e Unidade de controle. Introdução Os principais elementos de um sistema de computação são a unidade central de processamento (central processing unit CPU), a memória principal, o subsistema de E/S (entrada e saída) e os mecanismos

Leia mais

Aula 1 Representação e Operações Aritméticas em Ponto Flutuante.

Aula 1 Representação e Operações Aritméticas em Ponto Flutuante. Aula 1 Representação e Operações Aritméticas em Ponto Flutuante. MS211 - Cálculo Numérico Marcos Eduardo Valle Departamento de Matemática Aplicada Instituto de Matemática, Estatística e Computação Científica

Leia mais

Abstrações e Tecnologias Computacionais. Professor: André Luis Meneses Silva E-mail/msn: andreluis.ms@gmail.com Página: orgearq20101.wordpress.

Abstrações e Tecnologias Computacionais. Professor: André Luis Meneses Silva E-mail/msn: andreluis.ms@gmail.com Página: orgearq20101.wordpress. Abstrações e Tecnologias Computacionais Professor: André Luis Meneses Silva E-mail/msn: andreluis.ms@gmail.com Página: orgearq20101.wordpress.com Agenda Introdução Sistemas Computacionais Arquitetura X

Leia mais

Algoritmos DCC 119. Introdução e Conceitos Básicos

Algoritmos DCC 119. Introdução e Conceitos Básicos Algoritmos DCC 119 Introdução e Conceitos Básicos Sumário Sistemas de Numeração Sistemas Computacionais Estrutura de um Computador Digital Sistemas Operacionais Algoritmo Introdução Formas de representação

Leia mais

Representação Binária de Números

Representação Binária de Números Departamento de Informática Notas de estudo Alberto José Proença 01-Mar-04 Dep. Informática, Universidade do Minho Parte A: Sistemas de numeração e representação de inteiros A.1 Sistemas de numeração

Leia mais

Boletim. Contabilidade Internacional. Manual de Procedimentos

Boletim. Contabilidade Internacional. Manual de Procedimentos Boletim Manual de Procedimentos Contabilidade Internacional Custos de transação e prêmios na emissão de títulos e valores mobiliários - Tratamento em face do Pronunciamento Técnico CPC 08 - Exemplos SUMÁRIO

Leia mais

Falso: F = Low voltage: L = 0

Falso: F = Low voltage: L = 0 Curso Técnico em Eletrotécnica Disciplina: Automação Predial e Industrial Professor: Ronimack Trajano 1 PORTAS LOGICAS 1.1 INTRODUÇÃO Em 1854, George Boole introduziu o formalismo que até hoje se usa para

Leia mais

IMPLANTAÇÃO DOS PILARES DA MPT NO DESEMPENHO OPERACIONAL EM UM CENTRO DE DISTRIBUIÇÃO DE COSMÉTICOS. XV INIC / XI EPG - UNIVAP 2011

IMPLANTAÇÃO DOS PILARES DA MPT NO DESEMPENHO OPERACIONAL EM UM CENTRO DE DISTRIBUIÇÃO DE COSMÉTICOS. XV INIC / XI EPG - UNIVAP 2011 IMPLANTAÇÃO DOS PILARES DA MPT NO DESEMPENHO OPERACIONAL EM UM CENTRO DE DISTRIBUIÇÃO DE COSMÉTICOS. XV INIC / XI EPG - UNIVAP 2011 Rogério Carlos Tavares 1, José Luis Gomes da Silva² 1 Universidade de

Leia mais

Cotagem de dimensões básicas

Cotagem de dimensões básicas Cotagem de dimensões básicas Introdução Observe as vistas ortográficas a seguir. Com toda certeza, você já sabe interpretar as formas da peça representada neste desenho. E, você já deve ser capaz de imaginar

Leia mais

Atenção ainda não conecte a interface em seu computador, o software megadmx deve ser instalado antes, leia o capítulo 2.

Atenção ainda não conecte a interface em seu computador, o software megadmx deve ser instalado antes, leia o capítulo 2. Atenção ainda não conecte a interface em seu computador, o software megadmx deve ser instalado antes, leia o capítulo 2. Interface megadmx SA Firmware versão 1, 2 e 3 / software megadmx 2.000 (Windows/MAC

Leia mais

Sistemas de Computação

Sistemas de Computaçã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 Seção 1 Introdução 2 O Padrão

Leia mais

Computador Digital Circuitos de um computador (Hardware)

Computador Digital Circuitos de um computador (Hardware) Computador Digital SIS17 - Arquitetura de Computadores (Parte I) Máquina que pode resolver problemas executando uma série de instruções que lhe são fornecidas. Executa Programas conjunto de instruções

Leia mais

FERRAMENTA DIDÁTICA PARA DISCIPLINA DE ELETRÔNICA DIGITAL

FERRAMENTA DIDÁTICA PARA DISCIPLINA DE ELETRÔNICA DIGITAL FERRAMENTA DIDÁTICA PARA DISCIPLINA DE ELETRÔNICA DIGITAL Diego S. Mageski diego.mageski@hotmail.com Bene R. Figueiredo bfigueiredo@ifes.edu.br Wagner T. da Costa wagnercosta@ifes.edu.br Instituto Federal

Leia mais

UNIDADE III Aula 6 Cálculo do CRC. Fonte: Othon M. N. Batista

UNIDADE III Aula 6 Cálculo do CRC. Fonte: Othon M. N. Batista UNIDADE III Aula 6 Cálculo do CRC Fonte: Othon M. N. Batista Relembrando a aula passada A verificação de redundância cíclica (CRC Cyclic Redundancy Check) consiste na técnica de detecção de erros muito

Leia mais

5º Experimento: Somador Binário de números com sinal

5º Experimento: Somador Binário de números com sinal Capítulo 1 5º Experimento: Somador Binário de números com sinal 1.1 Objetivos Usar uma porta XOR de duas entradas para realizar a função unária de negação. Usar um somador binário para somar números sem

Leia mais

Circuitos Digitais Cap. 5

Circuitos Digitais Cap. 5 Circuitos Digitais Cap. 5 Prof. José Maria P. de Menezes Jr. Objetivos Aritmética Digital Adição Binária Subtração Binária Representação de números com sinal Complemento de 2 Negação Subtração como soma

Leia mais

Acessando o SVN. Soluções em Vendas Ninfa 2

Acessando o SVN. Soluções em Vendas Ninfa 2 Acessando o SVN Para acessar o SVN é necessário um código de usuário e senha, o código de usuário do SVN é o código de cadastro da sua representação na Ninfa, a senha no primeiro acesso é o mesmo código,

Leia mais

Introdução aos Sistemas Computacionais

Introdução aos Sistemas Computacionais GUIÃO DE Introdução aos Sistemas Computacionais de Dulce Domingos e Teresa Chambel DI-FCUL GU ISC 01 11 Outubro 001 Departamento de Informática Faculdade de Ciências da Universidade de Lisboa Campo Grande,

Leia mais

Parte V Linguagem de Programação

Parte V Linguagem de Programação www.spei.br Sociedade Paranaense de Ensino e Informática Parte V Linguagem de Programação 2 1 Linguagens de Programação de CLPs As linguagens de programação permitem aos usuários se comunicar com o CLP

Leia mais

computador-cálculo numérico perfeita. As fases na resolução de um problema real podem, de modo geral, ser colocadas na seguinte ordem:

computador-cálculo numérico perfeita. As fases na resolução de um problema real podem, de modo geral, ser colocadas na seguinte ordem: 1 UNIVERSIDADE FEDERAL DE VIÇOSA Departamento de Matemática - CCE Cálculo Numérico - MAT 271 Prof.: Valéria Mattos da Rosa As notas de aula que se seguem são uma compilação dos textos relacionados na bibliografia

Leia mais

Guia de utilização da notação BPMN

Guia de utilização da notação BPMN 1 Guia de utilização da notação BPMN Agosto 2011 2 Sumário de Informações do Documento Documento: Guia_de_utilização_da_notação_BPMN.odt Número de páginas: 31 Versão Data Mudanças Autor 1.0 15/09/11 Criação

Leia mais