Buscar

Aula 03 Aritimetica do computador

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

Continue navegando