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

Slides:



Advertisements
Apresentações semelhantes
IFTO ESTRUTURA DE DADOS AULA 05 Prof. Manoel Campos da Silva Filho
Advertisements

Contadores e Registradores
Parte 1: Organização de Computadores
Representação de Ponto Flutuante
Nilo Menezes – Lógica de Programação –
UNICAMP Universidade Estadual de Campinas Centro Superior de Educação Tecnológica Divisão de Telecomunicações Propagação de Ondas e Antenas Prof.Dr. Leonardo.
Arquitetura de Computadores
Aritmética Computacional
Arquitetura de Computadores
Sistemas de Numeração.
Circuitos Lógicos e Organização de Computadores Capítulo 4 – Implementações Otimizadas de Funções Lógicas Ricardo Pannain
Material pedagógico Multiplicar x 5 Clica!
Vamos contar D U De 10 até 69 Professor Vaz Nunes 1999 (Ovar-Portugal). Nenhuns direitos reservados, excepto para fins comerciais. Por favor, não coloque.
Operadores e Funções do LINGO
Exercício do Tangram Tangram é um quebra-cabeças chinês no qual, usando 7 peças deve-se construir formas geométricas.
Nome : Resolve estas operações começando no centro de cada espiral. Nos rectângulos põe o resultado de cada operação. Comprova se no final.
Técnicas de orçamento de capital
Copyright (c) 2003 by Valery Sklyarov and Iouliia Skliarova: DETUA, IEETA, Aveiro University, Portugal.
1 INQUÉRITOS PEDAGÓGICOS 2º Semestre 2003/2004 ANÁLISE GERAL DOS RESULTADOS OBTIDOS 1.Nº de RESPOSTAS ao inquérito 2003/2004 = (42,8%) 2.Comparação.
Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 5.
VISÃO GERAL Profa. Fernanda Denardin Walker
Representação de Dados e Sistemas de Numeração Aula 4
Assembly Language for Intel-Based Computers, 5th Edition
Curso de ADMINISTRAÇÃO
Análise de regressão linear simples: abordagem matricial
Relações Adriano Joaquim de O Cruz ©2002 NCE/UFRJ
MC542 Organização de Computadores Teoria e Prática
ORGANIZAÇÃO BÁSICA DE COMPUTADORES E LINGUAGEM DE MONTAGEM
MC542 Organização de Computadores Teoria e Prática
EXPRESSÕES ARITMÉTICAS
EXPRESSÕES ARITMÉTICAS
6. Estruturas p/ Sistemas Discretos
Estudo de Caso 1: UNIX e LINUX
Universidade do Estado de Santa Catarina – CCT/UDESC
FUNÇÃO MODULAR.
Significante ou mantissa
EXEMPLOS DE ESTRUTURAS PROTENDIDAS
Provas de Concursos Anteriores
Renda até 2 SM.
Hamburgo, Alemanha Definir o caminho que irá permitir a Lions Clubs International alcançar o seu potencial pleno como organização.
Como aplicar leis da lógica
MECÂNICA - ESTÁTICA Cabos Cap. 7.
MECÂNICA - DINÂMICA Exercícios Cap. 13, 14 e 17. TC027 - Mecânica Geral III - Dinâmica © 2013 Curotto, C.L. - UFPR 2 Problema
INTRODUÇÃO À ENGENHARIA
Sistemas de Numeração e Conversão de Base
7 Resultados de Medições Indiretas
MECÂNICA - ESTÁTICA Vetores Forças Cap. 2.
1 António Arnaut Duarte. 2 Sumário: primeiros passos;primeiros passos formatar fundo;formatar fundo configurar apresentação;configurar apresentação animação.
Operações Aritméticas em Binário
Estruturas de Dados com Jogos
Estruturas de Dados com Jogos
Coordenação Geral de Ensino da Faculdade
Representação Digital da Informação
Tópicos em Arquitetura de Computadores João Angelo Martini Universidade Estadual de Maringá Departamento de Informática Mestrado em Ciência.
1 2 Observa ilustração. Cria um texto. Observa ilustração.
Campus de Caraguatatuba Aula 8: Noções Básicas sobre Erros (2)
ELETRÔNICA DIGITAL Circuitos Aritméticos
Representação de dados
Computação Gráfica Aula 3 Transformações Geométricas
Sistemas Numéricos SISTEMA DECIMAL
1 Aplicações do Fecho Regular. 2 A interseção de uma linguagem livre de contexto e uma linguagem regular é uma linguagem livre de contexto livre de contexto.
Olhe fixamente para a Bruxa Nariguda
Sistemas de Numeração.
Máquina de Turing Universal
Representação de Dados
Planilha Eletrônica - Excel
Operações Aritméticas no Sistema binário
Campus de Caraguatatuba Aula 9: Noções Básicas sobre Erros (3)
REPRESENTAÇÃO BINÁRIA E CONVERSÃO
Métodos Numéricos Computacionais
Transcrição da apresentação:

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.

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 +).

Entradas e saídas da ALU

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

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

Complemento a dois +3 = 00000011 +2 = 00000010 +1 = 00000001 +0 = 00000000 -1 = 11111111 -2 = 11111110 -3 = 11111101

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

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

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

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

Intervalo de números Complemento a 2 com 8 bits: +127 = 01111111 = 27 -1 -128 = 10000000 = -27 Complemento a 2 com 16 bits: +32767 = 011111111 11111111 = 215 - 1 -32768 = 100000000 00000000 = -215

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

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.

Hardware para adição e subtração

Tabela Verdade Adição Binária

4-bit Adder

Implementação SOP com AND, OR e NOT

Adder de 32 Bits

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

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

Multiplicação binária sem sinal

Execução do exemplo

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

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.

Algoritmo de Booth

Exemplo do algoritmo de Booth

Porque o algoritmo de Booth funciona? M x (00011110) = M x (24+23+22+21) = M x (16+8+4+2) = M x (30) 2n+2n-1+...+2n-k = 2n+1 – 2n-k M x (00011110) = M x (25 – 21) = M x (32 -2 ) = M x (30)

Porque o algoritmo de Booth funciona? M x (01111010) = M x (26+25+24+23+21) = M x (27-23+22-21) Números negativos: -6 = 11111010 = -27+26+25+24+23+21 M x (11111010) = M x (27-27-23+21) = M x (-23+21) = M (-23+22-21)=M (-6)

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

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

Fluxograma para divisão binária sem sinal

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

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)

Exemplos de ponto flutuante

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 0-255. Subtraia 127 para obter valor correto. Intervalo de -127 a +128.

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)

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  8.388.608  6 casas decimais. Intervalos: Números negativos: -(2-223)x2128 a -2-127 Números positivos: 2-127 a (2-223)x2128

Números representáveis

Densidade dos números de ponto flutuante

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.

Formatos IEEE 754

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

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

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.

Multiplicação de ponto flutuante

Divisão de ponto flutuante

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