Baixe o app para aproveitar ainda mais
Prévia do material em texto
Aritmética do computador Arquitetura e Organização de Computadores Prof. Igor Sousa Unidade Lógica e Aritmética Funções: Efeturar cálculos aritméticos e operações lógicas; Trata números inteiros e/ou pontos flutuantes; A Unidade de Ponto Flutuante pode ser separada (coprocessador matemático); Os demais elementos internos do computador enviam dados para ULA processar e entregar o resultado. Arquitetura de Computadores - Prof. Msc. Igor Sousa 1 Entradas e saídas da ULA Arquitetura de Computadores - Prof. Msc. Igor Sousa 2 Representação de inteiros A representação de todo e qualquer dado nos sistemas computacionais atuais é feita através de representação binária. Ex: 41 (decimal) = 101001 (binário) = 0b101001. Tipos de representação de inteiros: Sem numeração negativa; Sinal-magnitude; Complemento de dois. Arquitetura de Computadores - Prof. Msc. Igor Sousa 3 Sem numeração negativa Tipo de representação de inteiros mais simples; Todos os bits disponíveis para representação será utilizada, ou seja, sem bit de sinal; Exemplo: Com 4 bits para representação: 0 a 15; Com 8 bits para representação: 0 a 127; Arquitetura de Computadores - Prof. Msc. Igor Sousa 4 Sinal-magnitude Utilização do bit mais significativo (mais a esquerda) para representação de sinal; Por padão: 0 – significa positivo +18 = 010010; 1 – significa negativo -18 = 110010; Problemas: Precisa considerar o sinal de magnitude na aritmética. Duas representações de zero (+0 e -0). Arquitetura de Computadores - Prof. Msc. Igor Sousa 5 Complemento de dois Também utiliza o bit mais significativo para representação do sinal; Algumas características: Intervalo de representação: -2n-1 até +2n-1-1; Possui somente uma representação de zero; Negação é realizada pelo apanhado da negação bit a bit e ao resultado é somado um bit 1 – esta operação é chamada de complemento de dois; Expansão do tamanho em bits feita de forma diferenciada ao sinal-magnitude; Subtração feita através da operação complemento de dois. Arquitetura de Computadores - Prof. Msc. Igor Sousa 6 Complemento de dois +3 = 00000011 +2 = 00000010 +1 = 00000001 +0 = 00000000 -1 = 111111111 -2 = 111111110 -3 = 111111101 Arquitetura de Computadores - Prof. Msc. Igor Sousa 7 Complemento de dois Benefícios: Somente uma representação de zero; Aritmética funciona de forma simples; Fácil obtenção da negação de um número: 10 = 00001010; Negação bit a bit do número 10 gera = 11110101; Ao resultado é somado 1 = 11110110; Arquitetura de Computadores - Prof. Msc. Igor Sousa 8 Complemento de dois Negação especial - Caso 1 Zero = 00000000; Negação bit a bit = 11111111; Some 1 ao resultado = +1; Resultado – +0 = -0 = 1 00000000; Arquitetura de Computadores - Prof. Msc. Igor Sousa 9 Estouro de representação ignorado. Complemento de dois Negação especial – Caso 2 -128 = 10000000; Negação bit a bit = 011111111; Soma 1 ao resultado = +1; Resultado = 10000000; Portanto: -(-128) = -128 (EQUÍVOCO); Necessidade de monitoramento do bit de sinal; Na negação ele sempre deverá mudar. Arquitetura de Computadores - Prof. Msc. Igor Sousa 10 Conversão entre tamanhos Para converter de 8 bits para 16 bits Sinal-magnitude: +18 = 00010010; 00000000 00010010; -18 = 10010010; 10000000 00010010; Complemento de dois: +18 = 00010010; 00000000 00010010; -18 = 11101110; 11111111 11101110; Arquitetura de Computadores - Prof. Msc. Igor Sousa 11 10000000 01101110 = - 32 658 11 Adição e Subtração Adição binária normal; Necessidade do monitoramento do bit de sinal; Subtração: Subtrair B de A é o mesmo negar B para depois somar com A: A-B é igual a A-(+B); Desta forma só é necessário um circuito de adição e outro de negação para complemento. Arquitetura de Computadores - Prof. Msc. Igor Sousa 12 Adição e Subtração REGRA DO OVERFLOW: se dois números são somados e ambos são positivos ou ambos são negativos, então o overflow ocorre se, e somente se, o resultado tiver sinal oposo; REGRA DA SUBTRAÇÃO: para subtrair um número (subtraendo) de outro (minuendo), apanhe o complemento de dois (negação) do subtraendo e some-o ao minuendo. Arquitetura de Computadores - Prof. Msc. Igor Sousa 13 Hardware para adição e subtração Arquitetura de Computadores - Prof. Msc. Igor Sousa 14 Adição e Subtração – Complemento de dois Arquitetura de Computadores - Prof. Msc. Igor Sousa 15 Adição Subtração Multiplicação Maior complexidade; Necessidade de calculo de produto parcial para cada dígito; Maior atenção com o valor da casa (coluna); Deverá ser realizada a soma dos protudos parciais. Arquitetura de Computadores - Prof. Msc. Igor Sousa 16 Multiplicação Arquitetura de Computadores - Prof. Msc. Igor Sousa 17 OBS: É importante atentar ao tamanho do resultado. Neste caso, é necessário o dobro do tamanho das entratas para representá-lo. Multiplicação binária sem sinal Arquitetura de Computadores - Prof. Msc. Igor Sousa 18 Exemplo Arquitetura de Computadores - Prof. Msc. Igor Sousa 19 Arquitetura de Computadores - Prof. Msc. Igor Sousa 20 Multiplicação – números negativos Método sem sinal não funciona; Duas soluções possíveis: Solução 1: Caso exista número negativo, converta-o para positivo; Aplique a multiplicação binária sem sinal; Verifique os sinais dos operandos, se diferentes, negue a resposta. Solução 2: Algoritmo de Booth. Arquitetura de Computadores - Prof. Msc. Igor Sousa 21 Algoritmo de Booth Arquitetura de Computadores - Prof. Msc. Igor Sousa 22 Exemplo do algoritmo de Booth Arquitetura de Computadores - Prof. Msc. Igor Sousa 23 Divisão Complexidade maior que a multiplicação; Operação com números negativos ainda mais complicada; Baseada na divisão longa. Arquitetura de Computadores - Prof. Msc. Igor Sousa 24 Divisão Arquitetura de Computadores - Prof. Msc. Igor Sousa 25 Arquitetura de Computadores - Prof. Msc. Igor Sousa 26 Números Reais Representação de números fracionados; Pode ser feito em binário puro: 1001.1010 = 24+20+2-1+2-3 = 9,625. Problema: Onde ficará o ponto binário? Fixo? Grandes limitações de representação. Móvel? Como mostrar onde está o ponto? Arquitetura de Computadores - Prof. Msc. Igor Sousa 27 Ponto flutuante +/- significando * 2+/- expoente ; Ponto é realmente fixo entre o bit de sinal e o corpo da mantissa; Expoente indica valor da casa (posição do ponto). Arquitetura de Computadores - Prof. Msc. Igor Sousa 28 Exemplo de ponto flutuante Arquitetura de Computadores - Prof. Msc. Igor Sousa 29 Sinais para ponto flutuante Mantissa é aramazenada em complemento de dois; Expoente está em notação de excesso ou viesado; Excesso (viés) 128 significa campo de expoente com 8 bits’ Intervalo de valor puro 0-255; Subtraia 128 para obter o valor correto; Intervalo correto de -128 a +127. Arquitetura de Computadores - Prof. Msc. Igor Sousa 30
Compartilhar