Buscar

281861-Capitulo_3

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 17 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 17 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 17 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Organização e Projetos de Computadores
©2005 Elsevier Editora Ltda
Hennessy • Patterson 1
Capítulo 3
Organização e Projetos de Computadores
©2005 Elsevier Editora Ltda
Hennessy • Patterson 2
Números
• Bits são apenas bits (nenhum significado inerente) —
convenções definem a relação entre bits e números
• Números binários (base 2) 
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001...
decimal: 0...2n-1
• Obviamente, torna-se mais complicado:
números são finitos (overflow)
frações e números reais
números negativos
por exemplo, nenhuma instrução subi do MIPS; addi pode 
somar um número negativo
• Como representamos os números negativos? Por exemplo, que 
padrões de bit representarão esses números?
Organização e Projetos de Computadores
©2005 Elsevier Editora Ltda
Hennessy • Patterson 3
Representações possíveis
• Sinal e magnitude: Complemento a um Complemento a dois
• 000 = +0 000 = +0 000 = +0
001 = +1 001 = +1 001 = +1
010 = +2 010 = +2 010 = +2
011 = +3 011 = +3 011 = +3
100 = -0 100 = -3 100 = -4
101 = -1 101 = -2 101 = -3
110 = -2 110 = -1 110 = -2
111 = -3 111 = -0 111 = -1
• Questões: equilíbrio, número de zeros, facilidade de operações
• Qual é o melhor? Por quê?
Organização e Projetos de Computadores
©2005 Elsevier Editora Ltda
Hennessy • Patterson 4
MIPS
Números de 32 bits com sinal:
maxint
maxint
Organização e Projetos de Computadores
©2005 Elsevier Editora Ltda
Hennessy • Patterson 5
Operações de complemento a dois
• Negar um número de complemento a dois: inverta 
todos os bits e some 1
• lembre-se: “negar” e “inverter” são muito diferentes!
• Converter números de n bits em números com mais 
de n bits:
• o campo imediato de 16 bits do MIPS é convertido em 
32 bits para aritmética
• copie o bit mais significativo (o bit de sinal) para os 
outros bits
• 0010 -> 0000 0010
1010 -> 1111 1010
• “extensão de sinal” (lbu versus lb)
Organização e Projetos de Computadores
©2005 Elsevier Editora Ltda
Hennessy • Patterson 6
Adição e subtração
• Exatamente como aprendemos na escola (emprestar/subir 1s)
•
• 0111 0111 0110
+ 0110 - 0110 - 0101
• Facilidade de operações do complemento a dois - subtração usando 
adição para números negativos
0111
+ 1010
• Overflow (resultado muito grande para a word finita do computador):
por exemplo, somar dois números de n bits não produz um número de n 
bits
• 0111
+ 0001 note que o termo overflow é um pouco confuso;
1000 ele não significa que um carry “transbordou”
Organização e Projetos de Computadores
©2005 Elsevier Editora Ltda
Hennessy • Patterson 7
Detectando overflow
• Nenhum overflow quando somar um número positivo com um 
negativo
• Nenhum overflow quando sinais são iguais para subtração
• O overflow ocorre quando o valor afeta o sinal:
- overflow ao somar dois positivos produz um negativo
- ou, somar dois negativos produz um positivo
- ou, subtraia um negativo de um positivo e obtenha um 
negativo
- ou, subtraia um positivo de um negativo e obtenha um 
positivo
• Considere as operações A + B e A  B
- Pode ocorrer overflow se B for 0?
- Pode ocorrer overflow se A for 0?
Organização e Projetos de Computadores
©2005 Elsevier Editora Ltda
Hennessy • Patterson 8
Efeitos do overflow
• Uma exceção (interrupção) ocorre
- O controle salta para um endereço predefinido 
para exceção
- O endereço interrompido é salvo para uma 
possível retomada
• Detalhes baseados na linguagem/sistema de software
- exemplo: controle de vôo versus dever de casa
• Nem sempre desejamos detectar overflow — novas 
instruções MIPS: addu, addiu, subu
Nota: addiu ainda com extensão de sinal
Nota: sltu, sltiu para comparações sem sinal
Organização e Projetos de Computadores
©2005 Elsevier Editora Ltda
Hennessy • Patterson 9
Multiplicação
• Mais complexa do que a adição
- realizada através de deslocamento e adição
• Mais tempo e mais área
• Vejamos três versões baseadas em um algoritmo da 
escola
• 0010 (multiplicando)
x 1011 (multiplicador)
• Números negativos: converta e multiplique
- existem técnicas melhores, que não serão tratadas aqui
Organização e Projetos de Computadores
©2005 Elsevier Editora Ltda
Hennessy • Patterson 10
Multiplicação: Implementação
Caminho de dados
Organização e Projetos de Computadores
©2005 Elsevier Editora Ltda
Hennessy • Patterson 11
Multiplicação: Implementação
controle
Organização e Projetos de Computadores
©2005 Elsevier Editora Ltda
Hennessy • Patterson 12
Versão final
O multiplicador inicia na metade
direita do produto
O que entra aqui?
Organização e Projetos de Computadores
©2005 Elsevier Editora Ltda
Hennessy • Patterson 13
Ponto flutuante (um breve exame)
• Precisamos de uma maneira de representar
- números com frações, por exemplo, 3,1416
- números muito pequenos, por exemplo, 0,000000001
- números muito grandes, por exemplo, 3.15576  109
• Representação:
- sinal, expoente, significando: (–1)sinal  significando  2expoente
- mais bits para o significando fornece mais precisão
- mais bits para o expoente aumenta a faixa
• Padrão de ponto flutuante IEEE 754:
- precisão única: expoente de 8 bits, significando de 23 bits
- precisão dupla: expoente de 11 bits, significando de 52 bits 
Organização e Projetos de Computadores
©2005 Elsevier Editora Ltda
Hennessy • Patterson 14
Padrão de ponto flutuante IEEE 754
• O bit “1” inicial do significando está implícito
• O expoente é “desviado” para facilitar a classificação
- todos os 0s são o menor expoente, todos os 1s são o maior
- desvio do 127 para precisão única e do 1023 para precisão 
dupla
- resumo: (–1)sinal  (1 + significando)  2expoente – desvio
• Exemplo:
- decimal: -0,75 = - ( ½ + ¼ )
- binário: -0,11 = -1.1  2-1
- ponto flutuante: expoente = 126 = 01111110
• precisão única IEEE: 10111111010000000000000000000000
Organização e Projetos de Computadores
©2005 Elsevier Editora Ltda
Hennessy • Patterson 15
Adição de ponto flutuante
Organização e Projetos de Computadores
©2005 Elsevier Editora Ltda
Hennessy • Patterson 16
Complexidades do ponto flutuante
• As operações são um pouco mais complicadas (veja o texto)
• Além do overflow podemos ter o “underflow”
• A precisão pode ser um grande problema
- O IEEE 754 mantém dois bits extras, guarda e 
arredondamento
- quatro modos de arredondamento
- positivo dividido por zero produz “infinidade”
- zero dividido por zero não produz um número
- outras complexidades
• Implementar o padrão pode ser arriscado
• Não usar o padrão pode ser ainda pior
- veja no texto a descrição do 80x86 e o bug do Pentium!
Organização e Projetos de Computadores
©2005 Elsevier Editora Ltda
Hennessy • Patterson 17
Resumo do Capítulo 3
• A aritmética de computador é restrita por uma precisão limitada
• Os padrões de bit não têm um significado inerente mas existem 
padrões
- complemento a dois
- ponto flutuante IEEE 754
• As instruções de computador determinam o “significado” dos 
padrões de bit
• O desempenho e a precisão são importantes; portanto, existem 
muitas complexidades nas máquinas reais
• A escolha do algoritmo é importante e pode levar a otimizações 
de hardware para espaço e tempo (por exemplo, multiplicação)
• Fazer uma revisão pode ser uma boa idéia (a Seção 3.10 é uma 
ótima leitura!)

Outros materiais