aritmética computacional operações complexas professor: andré luis meneses silva e-mail/msn:...
TRANSCRIPT
![Page 1: Aritmética Computacional Operações Complexas Professor: André Luis Meneses Silva E-mail/msn: andreLuis.ms@gmail.com Página:](https://reader035.vdocuments.net/reader035/viewer/2022062312/552fc15f497959413d8e6633/html5/thumbnails/1.jpg)
Aritmética Computacional Operações Complexas
Professor: André Luis Meneses SilvaE-mail/msn: [email protected]
Página: www.orgearq20101.wordpress.com
![Page 2: Aritmética Computacional Operações Complexas Professor: André Luis Meneses Silva E-mail/msn: andreLuis.ms@gmail.com Página:](https://reader035.vdocuments.net/reader035/viewer/2022062312/552fc15f497959413d8e6633/html5/thumbnails/2.jpg)
Agenda
Detectando Overflow Efeitos do Overflow Multiplicação
![Page 3: Aritmética Computacional Operações Complexas Professor: André Luis Meneses Silva E-mail/msn: andreLuis.ms@gmail.com Página:](https://reader035.vdocuments.net/reader035/viewer/2022062312/552fc15f497959413d8e6633/html5/thumbnails/3.jpg)
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.
![Page 4: Aritmética Computacional Operações Complexas Professor: André Luis Meneses Silva E-mail/msn: andreLuis.ms@gmail.com Página:](https://reader035.vdocuments.net/reader035/viewer/2022062312/552fc15f497959413d8e6633/html5/thumbnails/4.jpg)
Detectando Overflow
O quadro a seguir ilustram estes casos:
Pode ocorrer overflow se B for 0? Pode ocorrer overflow se A for 0?
![Page 5: Aritmética Computacional Operações Complexas Professor: André Luis Meneses Silva E-mail/msn: andreLuis.ms@gmail.com Página:](https://reader035.vdocuments.net/reader035/viewer/2022062312/552fc15f497959413d8e6633/html5/thumbnails/5.jpg)
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).
![Page 6: Aritmética Computacional Operações Complexas Professor: André Luis Meneses Silva E-mail/msn: andreLuis.ms@gmail.com Página:](https://reader035.vdocuments.net/reader035/viewer/2022062312/552fc15f497959413d8e6633/html5/thumbnails/6.jpg)
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.
![Page 7: Aritmética Computacional Operações Complexas Professor: André Luis Meneses Silva E-mail/msn: andreLuis.ms@gmail.com Página:](https://reader035.vdocuments.net/reader035/viewer/2022062312/552fc15f497959413d8e6633/html5/thumbnails/7.jpg)
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.
![Page 8: Aritmética Computacional Operações Complexas Professor: André Luis Meneses Silva E-mail/msn: andreLuis.ms@gmail.com Página:](https://reader035.vdocuments.net/reader035/viewer/2022062312/552fc15f497959413d8e6633/html5/thumbnails/8.jpg)
Multiplicação
![Page 9: Aritmética Computacional Operações Complexas Professor: André Luis Meneses Silva E-mail/msn: andreLuis.ms@gmail.com Página:](https://reader035.vdocuments.net/reader035/viewer/2022062312/552fc15f497959413d8e6633/html5/thumbnails/9.jpg)
Multiplicação
Um dígito por vez
![Page 10: Aritmética Computacional Operações Complexas Professor: André Luis Meneses Silva E-mail/msn: andreLuis.ms@gmail.com Página:](https://reader035.vdocuments.net/reader035/viewer/2022062312/552fc15f497959413d8e6633/html5/thumbnails/10.jpg)
Multiplicação
Deslocamento para direita
Deslocamento para esquerda
É como se tívessemos incluído mais um 0 no multiplicando
![Page 11: Aritmética Computacional Operações Complexas Professor: André Luis Meneses Silva E-mail/msn: andreLuis.ms@gmail.com Página:](https://reader035.vdocuments.net/reader035/viewer/2022062312/552fc15f497959413d8e6633/html5/thumbnails/11.jpg)
Controle
![Page 12: Aritmética Computacional Operações Complexas Professor: André Luis Meneses Silva E-mail/msn: andreLuis.ms@gmail.com Página:](https://reader035.vdocuments.net/reader035/viewer/2022062312/552fc15f497959413d8e6633/html5/thumbnails/12.jpg)
Caminho de Dados
![Page 13: Aritmética Computacional Operações Complexas Professor: André Luis Meneses Silva E-mail/msn: andreLuis.ms@gmail.com Página:](https://reader035.vdocuments.net/reader035/viewer/2022062312/552fc15f497959413d8e6633/html5/thumbnails/13.jpg)
Multiplicaçãomais 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.
![Page 14: Aritmética Computacional Operações Complexas Professor: André Luis Meneses Silva E-mail/msn: andreLuis.ms@gmail.com Página:](https://reader035.vdocuments.net/reader035/viewer/2022062312/552fc15f497959413d8e6633/html5/thumbnails/14.jpg)
Divisão
Menos freqüente e mais peculiar que a multiplicação.
Pode ser efetuada através de sucessivas subtrações e deslocamentos.
![Page 15: Aritmética Computacional Operações Complexas Professor: André Luis Meneses Silva E-mail/msn: andreLuis.ms@gmail.com Página:](https://reader035.vdocuments.net/reader035/viewer/2022062312/552fc15f497959413d8e6633/html5/thumbnails/15.jpg)
Divisão: Como o hardware trabalha
![Page 16: Aritmética Computacional Operações Complexas Professor: André Luis Meneses Silva E-mail/msn: andreLuis.ms@gmail.com Página:](https://reader035.vdocuments.net/reader035/viewer/2022062312/552fc15f497959413d8e6633/html5/thumbnails/16.jpg)
Divisão: Como o hardware trabalha
![Page 17: Aritmética Computacional Operações Complexas Professor: André Luis Meneses Silva E-mail/msn: andreLuis.ms@gmail.com Página:](https://reader035.vdocuments.net/reader035/viewer/2022062312/552fc15f497959413d8e6633/html5/thumbnails/17.jpg)
Divisão: Como o hardware trabalha
![Page 18: Aritmética Computacional Operações Complexas Professor: André Luis Meneses Silva E-mail/msn: andreLuis.ms@gmail.com Página:](https://reader035.vdocuments.net/reader035/viewer/2022062312/552fc15f497959413d8e6633/html5/thumbnails/18.jpg)
Divisão: Como o hardware trabalha
![Page 19: Aritmética Computacional Operações Complexas Professor: André Luis Meneses Silva E-mail/msn: andreLuis.ms@gmail.com Página:](https://reader035.vdocuments.net/reader035/viewer/2022062312/552fc15f497959413d8e6633/html5/thumbnails/19.jpg)
Divisão: Como o hardware trabalha
![Page 20: Aritmética Computacional Operações Complexas Professor: André Luis Meneses Silva E-mail/msn: andreLuis.ms@gmail.com Página:](https://reader035.vdocuments.net/reader035/viewer/2022062312/552fc15f497959413d8e6633/html5/thumbnails/20.jpg)
![Page 21: Aritmética Computacional Operações Complexas Professor: André Luis Meneses Silva E-mail/msn: andreLuis.ms@gmail.com Página:](https://reader035.vdocuments.net/reader035/viewer/2022062312/552fc15f497959413d8e6633/html5/thumbnails/21.jpg)
Divisão
![Page 22: Aritmética Computacional Operações Complexas Professor: André Luis Meneses Silva E-mail/msn: andreLuis.ms@gmail.com Página:](https://reader035.vdocuments.net/reader035/viewer/2022062312/552fc15f497959413d8e6633/html5/thumbnails/22.jpg)
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?
![Page 23: Aritmética Computacional Operações Complexas Professor: André Luis Meneses Silva E-mail/msn: andreLuis.ms@gmail.com Página:](https://reader035.vdocuments.net/reader035/viewer/2022062312/552fc15f497959413d8e6633/html5/thumbnails/23.jpg)
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.
![Page 24: Aritmética Computacional Operações Complexas Professor: André Luis Meneses Silva E-mail/msn: andreLuis.ms@gmail.com Página:](https://reader035.vdocuments.net/reader035/viewer/2022062312/552fc15f497959413d8e6633/html5/thumbnails/24.jpg)
Ponto Flutuante
Precisamos de uma maneira para representar:
Números com frações, por exemplo, 3,1416 Números muito pequenos, por exemplo,
0,00000001 Números muito grandes, por exemplo, 3,15576 x
109
Notação Científica (1,1 x 21)2
![Page 25: Aritmética Computacional Operações Complexas Professor: André Luis Meneses Silva E-mail/msn: andreLuis.ms@gmail.com Página:](https://reader035.vdocuments.net/reader035/viewer/2022062312/552fc15f497959413d8e6633/html5/thumbnails/25.jpg)
Ponto Flutuante
Representação
(-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.
![Page 26: Aritmética Computacional Operações Complexas Professor: André Luis Meneses Silva E-mail/msn: andreLuis.ms@gmail.com Página:](https://reader035.vdocuments.net/reader035/viewer/2022062312/552fc15f497959413d8e6633/html5/thumbnails/26.jpg)
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
![Page 27: Aritmética Computacional Operações Complexas Professor: André Luis Meneses Silva E-mail/msn: andreLuis.ms@gmail.com Página:](https://reader035.vdocuments.net/reader035/viewer/2022062312/552fc15f497959413d8e6633/html5/thumbnails/27.jpg)
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.
![Page 28: Aritmética Computacional Operações Complexas Professor: André Luis Meneses Silva E-mail/msn: andreLuis.ms@gmail.com Página:](https://reader035.vdocuments.net/reader035/viewer/2022062312/552fc15f497959413d8e6633/html5/thumbnails/28.jpg)
Ponto flutuante: Adição
![Page 29: Aritmética Computacional Operações Complexas Professor: André Luis Meneses Silva E-mail/msn: andreLuis.ms@gmail.com Página:](https://reader035.vdocuments.net/reader035/viewer/2022062312/552fc15f497959413d8e6633/html5/thumbnails/29.jpg)
Hw: Soma
![Page 30: Aritmética Computacional Operações Complexas Professor: André Luis Meneses Silva E-mail/msn: andreLuis.ms@gmail.com Página:](https://reader035.vdocuments.net/reader035/viewer/2022062312/552fc15f497959413d8e6633/html5/thumbnails/30.jpg)
Ponto Flutuante: Multiplicação
![Page 31: Aritmética Computacional Operações Complexas Professor: André Luis Meneses Silva E-mail/msn: andreLuis.ms@gmail.com Página:](https://reader035.vdocuments.net/reader035/viewer/2022062312/552fc15f497959413d8e6633/html5/thumbnails/31.jpg)
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.
![Page 32: Aritmética Computacional Operações Complexas Professor: André Luis Meneses Silva E-mail/msn: andreLuis.ms@gmail.com Página:](https://reader035.vdocuments.net/reader035/viewer/2022062312/552fc15f497959413d8e6633/html5/thumbnails/32.jpg)
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.
![Page 33: Aritmética Computacional Operações Complexas Professor: André Luis Meneses Silva E-mail/msn: andreLuis.ms@gmail.com Página:](https://reader035.vdocuments.net/reader035/viewer/2022062312/552fc15f497959413d8e6633/html5/thumbnails/33.jpg)
Bibliografia
Organização e Arquitetura (Patterson e Henessy) Capítulo 3 (Aritmética Computacional)