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

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

Aritmética Computacional Operações Complexas

Apresentações semelhantes


Apresentação em tema: "Aritmética Computacional Operações Complexas"— Transcrição da apresentação:

1 Aritmética Computacional Operações Complexas
Professor: André Luis Meneses Silva /msn: Página:

2 Agenda Detectando Overflow Efeitos do Overflow Multiplicação

3 Detectando Overflow Operações aritméticas estão sujeitas a overflow.
Quando o overflow acontece? Ao somarmos dois positivos, obtemos um negativo. Ao somarmos dois negativos, obtemos um positivo. Ao subtrairmos um negativo de um positivo e obtemos um negativo. Ao subtrairmos um positivo de um negativo e obtemos um positivo.

4 Detectando Overflow O quadro a seguir ilustram estes casos:
Pode ocorrer overflow se B for 0? Pode ocorrer overflow se A for 0?

5 Efeitos do overflow Se o bit extra gerado, for necessário, pode acontecer uma interrupção (exceção): Ao detectar a interrupção, o controle saltará para um endereço predefinido para tratamento da interrupção. O endereço interrompido é salvo para uma possível retomada. No caso do MIPS, o endereço de retorno é salvo no registrador EPC (Exception program counter).

6 Efeitos do overflow Linguagem de programação ou finalidade da aplicação podem influir para este comportamento. No MIPS, instruções unsigned não “detectam” overflow. addu, addiu, subu.

7 Multiplicação Operação mais complexa do que adição
Na verdade ela representa um conjunto de adições. Necessita de mais tempo e mais área de silício para ser implementada.

8 Multiplicação

9 Multiplicação Um dígito por vez

10 Multiplicação Deslocamento para esquerda Deslocamento para direita
É como se tívessemos incluído mais um 0 no multiplicando

11 Controle

12 Caminho de Dados

13 Multiplicação mais rápida
Array de somadores Entrada de cada somador = (bit do multiplicador && resultado do somador anterior) Proporciona: Entrega os resultados de cada parcial quase que simultaneamente. Proporciona paralelização.

14 Divisão Menos freqüente e mais peculiar que a multiplicação.
Pode ser efetuada através de sucessivas subtrações e deslocamentos.

15 Divisão: Como o hardware trabalha

16 Divisão: Como o hardware trabalha

17 Divisão: Como o hardware trabalha

18 Divisão: Como o hardware trabalha

19 Divisão: Como o hardware trabalha

20

21 Divisão No início: Remainder = Dividendo.
Divisor = Divisor (até completar 64 bits). Quociente = 0

22 Divisão Hardware de multiplicação e divisão são similares.
No entanto, o hardware formado pelo conjunto de somadores não pode ser utilizado na divisão. Porque?

23 Divisão Hardware de multiplicação e divisão são similares.
No entanto, o hardware formado pelo conjunto de somadores não pode ser utilizado na divisão. Porque? Na divisão, as sub-operações são dependentes. Não temos como realizar a próxima etapa até sabermos o valor do resto.

24 Ponto Flutuante Precisamos de uma maneira para representar:
Números com frações, por exemplo, 3,1416 Números muito pequenos, por exemplo, 0, Números muito grandes, por exemplo, 3,15576 x 109 Notação Científica (1,1 x 21)2

25 Ponto Flutuante Representação IEEE 754.
(-1)sinal x fração x 2expoente Mais bits para a fração fornece mais precisão Mais bits para o expoente, aumenta o range de valores. IEEE 754. Precisão única : expoente 8 bits, fração 23 bits. Precisão dupla: expoente 11 bits, fração 52 bits.

26 Ponto Flutuante Representação de um número de ponto flutuante.
Expoentes negativos não utilizam complemento de 2. Logo, o número em ponto flutuante é calculado desta forma: (-1)sinal x fração x 2(expoente – 127) precisão simples (-1)sinal x fração x 2(expoente – 1023) precisão dupla

27 Ponto flutuante: Operações aritméticas
Operações aritiméticas estão sujeitas a overflow e underflow. Underflow Resultado obtido é pequeno demais para ser representado em um número de ponto flutuante.

28 Ponto flutuante: Adição

29 Hw: Soma

30 Ponto Flutuante: Multiplicação

31 Ponto Flutuante: Arredondamento
Além do underflow, podemos ter problemas relativo a forma de arredondamento. Formas de arredondamento: Sempre arredondar para cima. Sempre arredondar para baixo. Truncamento. Arredondar para o próximo par.

32 Ponto Flutuante: Arredondamento
Como lidar: Uso de 3 bits adicionais Bit guarda Utilizado para melhorar a precisão do arredonamento. Bit arredondamento Utilizado para encontrar o número mais próximo que possa ser representado no formato. Stick bit Utilizado para verificar se existe algum bit diferente de 0 após o bit de arredondamento.

33 Bibliografia Organização e Arquitetura (Patterson e Henessy)
Capítulo 3 (Aritmética Computacional)


Carregar ppt "Aritmética Computacional Operações Complexas"

Apresentações semelhantes


Anúncios Google