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

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

William Stallings Arquitetura e Organização de Computadores 8a Edição

Apresentações semelhantes


Apresentação em tema: "William Stallings Arquitetura e Organização de Computadores 8a Edição"— Transcrição da apresentação:

1 William Stallings Arquitetura e Organização de Computadores 8a Edição
Capítulo 9 Aritmética do computador slide 1 © 2010 Pearson Prentice Hall. Todos os direitos reservados.

2 Unidade aritmética e lógica
Faz os cálculos. Tudo o mais no computador existe para atender a essa unidade. Trata de inteiros. Pode tratar de números de ponto flutuante (reais). Pode ser FPU separada (coprocessador matemático). Pode estar em chip de FPU separado (486DX +).

3 Entradas e saídas da ALU

4 Representação de inteiros
Só tem 0 & 1 para representar tudo. Números positivos armazenados em binário. P.e., 41= Sem sinal de menos. Sem ponto. Sinal-magnitude. Complemento a dois.

5 Sinal-magnitude Bit mais à esquerda é bit de sinal.
0 significa positivo. 1 significa negativo. +18 = -18 = Problemas: Precisa considerar sinal e magnitude na aritmética. Duas representações de zero (+0 e -0).

6 Complemento a dois +3 = 00000011 +2 = 00000010 +1 = 00000001
+0 = -1 = -2 = -3 =

7 Benefícios Uma representação de zero.
Aritmética funciona com facilidade (ver mais adiante). Negação é muito fácil. 3 = Complemento Booleano gera Some 1 ao LSB

8

9

10 Representação geométrica dos inteiros de complemento a dois

11 Negação especial – caso 1
0 = Not bit a bit Some 1 ao LSB Resultado Estouro ignorado, portanto: - 0 = 0 

12 Negação especial – caso 2
-128 = Not bit a bit Some 1 ao LSB Resultado Portanto: -(-128) = X Monitore MSB (bit de sinal). Ele deve mudar durante a negação.

13 Intervalo de números Complemento a 2 com 8 bits:
+127 = = 27 -1 -128 = = -27 Complemento a 2 com 16 bits: = = = = -215

14 Conversão entre tamanhos
Pacote de número positivo com zeros iniciais. +18 = +18 = Pacote de números negativos com uns iniciais. -18 = -18 = Ou seja, pacote com MSB (bit de sinal).

15 Adição e subtração Adição binária normal.
Monitore estouro no bit de sinal. Pegue o complemento a dois do subtraendo e some ao minuendo. Ou seja, a - b = a + (-b). Assim, só precisamos de circuitos de adição e complemento.

16

17

18 Hardware para adição e subtração

19 Tabela Verdade Adição Binária

20 4-bit Adder

21 Implementação SOP com AND, OR e NOT

22 Adder de 32 Bits

23 Multiplicação Complexa. Calcule produto parcial para cada dígito.
Cuidado com o valor da casa (coluna). Some produtos parciais.

24 Exemplo de multiplicação
Multiplicando (11 dec) x Multiplicador (13 dec) Produtos parciais Nota: Se bit multiplicador for 1,copia. Multiplicando (valor da casa) Caso contrário, zero. Produto (143 dec) Nota: precisa de resultado com tamanho duplo.

25 Multiplicação binária sem sinal

26 Execução do exemplo

27 Fluxograma para a multiplicação binária sem sinal

28 Multiplicando números negativos
Isso não funciona! Solução 1: Converta para positivo, se for preciso. Multiplique como antes. Se sinais diferentes, negue a resposta. Solução 2: Algoritmo de Booth.

29 Algoritmo de Booth

30 Exemplo do algoritmo de Booth

31

32 Porque o algoritmo de Booth funciona?
M x ( ) = M x ( ) = M x ( ) = M x (30) 2n+2n n-k = 2n+1 – 2n-k M x ( ) = M x (25 – 21) = M x (32 -2 ) = M x (30)

33 Porque o algoritmo de Booth funciona?
M x ( ) = M x ( ) = M x ( ) Números negativos: -6 = = M x ( ) = M x ( ) = M x (-23+21) = M ( )=M (-6)

34 Divisão Mais complexa que a multiplicação.
Números negativos são realmente maus! Baseada na divisão longa.

35 Divisão de inteiros binários sem sinal
Quociente Divisor 1011 Dividendo 1011 001110 Restos Parciais 1011 001111 1011 Resto 100

36 Fluxograma para divisão binária sem sinal

37

38 Números reais Números com frações. Poderia ser feito em binário puro.
= =9,625 Onde está o ponto binário? Fixo? Muito limitado. Móvel? Como você mostra onde ele está?

39 Ponto flutuante +/- significando x 2exponente Nome impróprio
Ponto é realmente fixo entre bit de sinal e corpo da mantissa Expoente indica valor da casa (posição do ponto)

40 Exemplos de ponto flutuante

41 Sinais para ponto flutuante
Mantissa (significando) é armazenada em sinal-magnitude. Expoente está em notação polarizada. Polarização = 2k-1-1 Intervalo de valores de Subtraia 127 para obter valor correto. Intervalo de -127 a +128.

42 Normalização Números de PF geralmente são normalizados, ou seja, expoente é ajustado de modo que bit inicial (MSB) da mantissa seja 1. Por ser sempre 1, não é preciso armazená-lo. (c.f. notação científica, onde os números são normalizados para um único dígito antes do ponto decimal, p.e., 3,123 x 103)

43 Intervalos de PF Para um número de 32 bits: Expoente de 8 bits.
Mantissa de 23 bits Precisão: 232 valores diferentes (mesmo que o compl.2) Mantissa de 23 bits: 223   6 casas decimais. Intervalos: Números negativos: -(2-223)x2128 a Números positivos: a (2-223)x2128

44 Números representáveis

45 Densidade dos números de ponto flutuante

46 IEEE 754 Padrão para armazenamento de ponto flutuante.
Padrões de 32 e 64 bits. Expoente de 8 e 11 bits, respectivamente. Formatos estendidos (mantissa e expoente) para resultados intermediários.

47 Formatos IEEE 754

48 Aritmética de ponto flutuante (+/-)
Verifique zero. Alinhe significandos (ajustando expoentes). Soma ou subtraia significandos. Normalize resultado. Exemplos:

49 Fluxograma da adição e subtração de ponto flutuante

50 Aritmética de ponto flutuante (x/)
Verifique zero. Soma/subtraia expoentes . Multiplique/divida significandos (observe sinal). Normalize. Arredonde. Todos os resultados intermediários devem ser em armazenamento de tamanho duplo.

51 Multiplicação de ponto flutuante

52 Divisão de ponto flutuante

53 Leitura recomendada Stallings, Capítulo 9. IEEE 754 no site do IEEE.


Carregar ppt "William Stallings Arquitetura e Organização de Computadores 8a Edição"

Apresentações semelhantes


Anúncios Google