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

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

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

Apresentações semelhantes


Apresentação em tema: "Aritmética Computacional Operações Complexas Professor: André Luis Meneses Silva /msn: Página:"— 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 Um dígito por vez

10 Multiplicação Deslocamento para direita Deslocamento para esquerda É 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

17

18

19

20

21 Divisão

22 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 10 9 Notação Científica (1,1 x 2 1 ) 2

25 Ponto Flutuante Representação (-1) sinal x fração x 2 expoente 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 Professor: André Luis Meneses Silva /msn: Página:"

Apresentações semelhantes


Anúncios Google