CAPÍTULO 6 ARITMÉTICA DIGITAL



Documentos relacionados
Circuitos Digitais Cap. 5

Operações aritméticas

Aritmética Binária e. Bernardo Nunes Gonçalves

Exemplo de Subtração Binária

Eletrônica Digital 1 Módulo1 Capítulo 1 Sistemas Numéricos. Prof. Nilton Costa Junior

Codificação 1. Introdução. C 2 R r {! + codificação

Representação de Dados

Introdução. A Informação e sua Representação (Parte III) Universidade Federal de Campina Grande Departamento de Sistemas e Computação

ORGANIZAÇÃO BÁSICA DE COMPUTADORES E LINGUAGEM DE MONTAGEM. Conceitos Básicos ORGANIZAÇÃO BÁSICA DE COMPUTADORES E LINGUAGEM DE MONTAGEM

Arquitetura de Computadores

Sistemas de Numeração. Engenharia da Computação 3 Período Alex Vidigal Bastos

Sistemas de Numeração

REPRESENTAÇÃO DE DADOS EM SISTEMAS DE COMPUTAÇÃO AULA 03 Arquitetura de Computadores Gil Eduardo de Andrade

Aula 6 Aritmética Computacional

Um circuito comparador permite determinar se dois números binários são iguais, e não o sendo, qual deles é o maior.

Lista de Exercícios Sistemas de Numeração

ARQUITETURA DE COMPUTADORES. Sistemas de Numeração. 1 Arquitetura de Computadores

Representação de Dados

SISTEMAS DIGITAIS CIRCUITOS COMBINATÓRIOS TÍPICOS

Hardware de Computadores

Notas de aula #1 SISTEMAS NUMÉRICOS

Circuitos Combinacionais. Sistemas digitais

Trabalho compilado da Internet Prof. Claudio Passos. Sistemas Numéricos

Organização de Computadores. Cálculos Binários e Conversão entre Bases Aritmética Binária

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES

Organização e Arquitetura de Computadores I

5º Experimento: Somador Binário de números com sinal

2. Sistemas de Numeração, Operações e Códigos. 2. Sistemas de Numeração, Operações e Códigos 1. Números Decimais. Objetivos.

Em um sistema de numeração de base b qualquer, um número positivo é representado pelo polinômio:

Sistemas Numéricos e a Representação Interna dos Dados no Computador

ELETRÔNICA DIGITAL 1

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia Disciplina de Lógica Computacional Aplicada. Prof. Dr.

Sistema de Numeração e Conversão entre Sistemas. Prof. Rômulo Calado Pantaleão Camara. Carga Horária: 60h

Sistemas de Numeração

3 Sistemas de Numeração:

ULA- Unidade Lógica Aritmética. Prof. Rômulo Calado Pantaleão Camara. Carga Horária: 60h

Prof. Rafael Gross.

Conversão de Bases e Aritmética Binária

Organização e Arquitetura de Computadores. Aula 10 Ponto Flutuante Parte I Juliana F. Camapum Wanderley

Escola Secundária c/3º CEB José Macedo Fragateiro. Curso Profissional de Nível Secundário. Componente Técnica. Disciplina de

Representação de Dados Inteiros com sinal

CALCULADORA SIMPLES COM ULA

Cálculo Numérico Aula 1: Computação numérica. Tipos de Erros. Aritmética de ponto flutuante

ULA Sinais de Controle enviados pela UC

Capítulo 2. Numéricos e Códigos Pearson Prentice Hall. Todos os direitos reservados.

Sistemas de Numeração

Programação ao nível da máquina. Operações lógicas e aritméticas

Representação de Dados e Sistemas de Numeração

ORGANIZAÇÃO DE COMPUTADORES MÓDULO 13

ARQUITETURA DE COMPUTADORES

Universidade do Minho Departamento de Electrónica Industrial. Sistemas Digitais. Exercícios de Apoio - I. Sistemas de Numeração

Aula 10. Circuitos Aritméticos. SEL Sistemas Digitais. Prof. Dr. Marcelo Andrade da Costa Vieira

1. Sistemas de numeração

SISTEMAS DE NUMERAÇÃO

Capítulo 3 Aula 8. Representação Numérica. Aritmética Computacional Representação Numérica

A declaração de uma variável vel define o seu tipo. O tipo do dado define como ele será: Armazenado na memória. Manipulado pela ULA.

Números base 2, 8, 10, 16. Sistemas da Computação Prof. Rossano Pablo Pinto, Msc. rossano at gmail com 2 semestre 2007

ARQUITETURA DE COMPUTADORES

Disciplina: : ELETRÔNICA DIGITAL

REPRESENTAÇÃO DE DADOS E SISTEMAS DE NUMERAÇÃO

13 Números Reais - Tipo float

ARQUITETURA DE COMPUTADORES

Aula 9. Introdução à Computação. ADS IFBA

Circuitos Digitais. Conteúdo. Sistema de Numeração e Códigos :: Conversões de Binário para Decimal SISTEMA DE NUMERAÇÃO E CÓDIGOS

3. Arquitetura Básica do Computador

Capítulo 6 Aritmética Digital: Operações e Circuitos

Ano letivo: 2012/2013. Sistemas de numeração. Pág.: 1/11. Escola profissional de Fafe SDAC. Trabalho elaborado por: Ana Isabel, nº905 TURMA 7.

UNIVERSIDADE CATÓLICA DE PETRÓPOLIS CENTRO DE ENGENHARIA E COMPUTAÇÃO

Sistemas de Numerações.

Introdução à Engenharia de

Jacson Rodrigues 1

ANALÓGICA X DIGITAL. Vamos começar essa aula estabelecendo os dois tipos de eletrônica: Eletrônica Analógica. Eletrônica Digital

Vamos exemplificar o conceito de sistema posicional. Seja o número 1303, representado na base 10, escrito da seguinte forma:

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES

Principais códigos utilizados. Codificação. Código binário puro. Codificação binária. Codificação Binária. Código Binário puro e suas variantes

Unidade 3: Sistemas de Numeração Conversões Entre Quaisquer Bases e Aritmética em Bases Alternativas Prof. Daniel Caetano

Unidade 5: Sistemas de Representação

Capítulo 1. Introdução. 1.1 Sistemas numéricos

Sistemas de Numeração. Introdução ao Computador 2010/1 Renan Manola

Fabio Bento

Sistemas de Numeração

COMPUTAÇÕES NUMÉRICAS. 1.0 Representação

Sistemas de Numeração. 1 Introdução aos sistemas numeração

MATEMÁTICA BÁSICA E CALCULADORA

Implementações e Comparação de Multiplicadores de Alta Velocidade para Dispositivos Reconfiguráveis

Capítulo 6 Aritmética Digital: Operações e Circuitos

Aula 2 Modelo Simplificado de Computador

Tais operações podem utilizar um (operações unárias) ou dois (operações binárias) valores.

SISTEMAS DIGITAIS Prof. Ricardo Rodrigues Barcelar

Cálculo Numérico Faculdade de Engenharia, Arquiteturas e Urbanismo FEAU

BOM DIA!! ÁLGEBRA. Aula 3 COM JENNYFFER LANDIM. jl.matematica@outlook.com

Atividade prática: Rodando o programa SOMA

Sistemas de Numeração. Professor: Rogério R. de Vargas INFORMÁTICA 2014/2

Sistemas de Numeração

Capítulo UM Bases Numéricas

ICC - Aula 6. Ivan da Silva Sendin. November 17, Bits, portas logicas, flip-flops,... Numeros e Simbolos Exercicios

Álgebra de Boole. Sistema de Numeração e Códigos. Prof. Ubiratan Ramos

PUC Rio. Curso Superior de Tecnologia em Processamento de Dados (TPD/P15) ORGANIZAÇÃO DE COMPUTADORES

Arquitetura de Computadores. Tipos de Instruções

UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA INF Técnicas Digitais para Computação

Transcrição:

CAPÍTULO 6 ARITMÉTICA DIGITAL Introdução Números decimais Números binários positivos Adição Binária Números negativos Extensão do bit de sinal Adição e Subtração Overflow Aritmético Circuitos Aritméticos Somador Binário Paralelo Projeto de um Full Adder (FA) Somador completo com registradores Atraso de propagação do Carry Circuitos Integrados somadores Circuito somador/subtrator Somador/subtrator com registradores Circuitos Integrados ALU Biblioteca Altera ALU de 8 bits Exercícios

Introdução Os computadores realizam diversas operações aritméticas diretamente nos números representados na sua forma binária É fundamental para programadores de computadores o bom entendimento das teorias por trás da aritmética digital Alguns objetivos deste capítulo:

Números decimais Para entender melhor o complemento de 2, vamos formalizar revendo a representação decimal No sistema decimal usamos 10 dígitos decimais (0,1,2,3,4,5,6,7,8,9). Ou seja, usamos a base 10. O número 4728 significa: 4728 = 4 1000 + 7 100 + 2 10 + 8 Para números fracionários: 472,83 = 4 10 2 + 7 10 1 + 2 10 0 + 8 10 1 + 3 10 2 Em geral, para X = x 2 x 1 x 0 x 1 x 2 x 3, o valor de X é X = x i 10 i i

Números binários positivos No sistema binário o mesmo formalismo vale, porém usando-se somente os dois dígitos 0 e 1. Valores fracionários também usam a potência negativa da base Com 8 bits podemos representar números positivos de 0 a 255 Exemplos:

Adição Binária A adição binária é feita exatamente como fazemos a adição decimal com lápis e papel: Na adição binária, quatro casos podem ocorrer: Alguns exemplos:

Números negativos Sistema sinal/magnitude:

Números negativos Complemento de 1 (~A) A ~A Complemento de 2 (A ): A ~A A

Números negativos O complemento de 2 é usado para representar números negativos na maioria dos sistemas

Números negativos Usa o bit mais significativo para representar o sinal Considere um número A de n bits representado em complemento de dois. Se o número é positivo o bit de sinal a n 1 será igual a zero e a magnitude do número será dada por: n 2 A = 2 i a i i=0

Números negativos Se o número é negativo, o bit de sinal a n 1 é 1 Os n 1 bits restantes podem representar até 2 n 1 valores. Portanto a faixa de números negativos é de -1 até 2 n 1. Para agregar propriedades aritméticas, o bit mais significativo é multiplicado por 2 n 1. Então, o valor de um número negativo em complemento de dois é: A = 2 n 1 a n 1 + n 2 2 i a i i=0 Esta equação também vale para os números positivos

Números negativos Podemos facilmente provar que A pode ser obtido pelo complemento de 1 de A mais 1: A = 2 n 1 a n 1 + i=0 Se A representa um número negativo, a n 1 = 1 e o valor positivo correspondente será: n 2 A = 1 + 2 i 1 i=0 A = 2 n 1 n 2 i=0 A = 2 n 1 1 + 1 n 2 2 i a i i=0 n 2 n 2 2 i a i n 2 2 i a i 2 i a i i=0 n 2 A = 1 + 2 i! a i i=0 A = 1 + ~A = 1 + 2 i (1 a i ) i=0

Números negativos Exercício: Encontre os valores que os números abaixo representam, considerando que são representações em complemento de dois de 16 bits. 1. FFF0 hex 2. 8300 hex

Extensão do bit de sinal As imagens abaixo mostram o número 128 na calculadora do Windows, no modo programador e em hexadecimal O que está mudando em cada imagem é o tipo do dado: Qword, Dword, Word e Byte.

Adição e Subtração Vejamos alguns exemplos de adição e subtração com complemento de 2 Caso I dois números positivos Caso II número positivo e número negativo menor

Adição e Subtração Caso III - número positivo e número negativo menor Caso IV Dois números negativos

Adição e Subtração Caso V Dois números iguais e opostos A subtração também cai em um desses 5 casos, pois é tratada como uma adição com o subtraendo em complemento de 2

Overflow Aritmético Nos exemplos vistos, os valores eram pequenos e todos os resultados couberam no número de 5 bits. Veja este exemplo: O resultado está incorreto, que deveria ser +17. A magnitude do resultado sobrescreveu o bit de sinal. Ocorreu um overflow

Overflow Aritmético O overflow só pode ocorrer se os dois números somados tiverem o mesmo sinal Detectamos overflow quando o resultado se apresenta com bit de sinal diferente das parcelas da soma Na soma de números positivos não sinalizados, o último vai um (carry out) já significa overflow Nos demais casos é necessário analisar os sinais das parcelas e do resultado

Círculo de números de 4 bits

Circuitos Aritméticos Operações aritméticas e lógicas são realizadas em um computador pela unidade lógica e aritmética (ALU) A ALU possui todos os circuitos necessários para adicionar, subtrair, fazer operações and, or, etc bit a bit, deslocamentos, etc. Como são realizadas por circuitos digitais, o tempo dessas operações é da ordem de nanosegundo Em um processador, a operação é definida pela unidade de controle, através de bits de controle que são diferentes para cada instrução

Circuitos Aritméticos

Somador Binário Paralelo A soma é realizada paralelamente, isto é, ao mesmo tempo para todos os bits Existem dois tipos: Full Adder (FA) e Half Adder (HA). O somador completo FA tem carry-in e carry out e o meio somador HA não possui carry-in.

Somador Binário Paralelo

Projeto de um Full Adder (FA)

Projeto de um Full Adder (FA)

Projeto de um Full Adder (FA)

Somador completo com registradores

Atraso de propagação do Carry Os somadores apresentados podem gerar um tempo relativamente grande de propagação do carry. Por exemplo: A resposta correta terá um delay que será a soma de todos os atrasos de cada somador. É possível reduzir esse tempo. Por exemplo, é possível criar um circuito que gere C 3 em função de A 0, A 1, A 2, B 0, B 1 e B 2 Essa solução é a chamada look-ahead carry Apesar de maior complexidade, resolve o problema, e é geralmente usada em circuitos integrados.

Circuitos Integrados somadores

Circuito somador/subtrator Uso de portas ou exclusivo para calcular o complemento de dois de um dos operandos O +1 do complemento de dois é obtido através do carryin do primeiro FA. Na operação de soma, o carry in do primeiro FA recebe zero (SUB = 0)

Somador/subtrator com registradores

Circuitos Integrados ALU

Biblioteca Altera ALU de 8 bits

Exercícios 1. Represente cada um dos números decimais sinalizados abaixo na notação complemento de dois com 8 bits.

Exercícios 2. Cada um dos números a seguir representa um número sinalizado na notação complemento de dois. Determine o valor decimal em cada caso.

Exercícios 3. Uma variável de 16 bits sinalizada possui o valor 1 armazenado e uma outra variável de 8 bits, também sinalizada, possui o valor -128. Mostre bit a bit como seria a soma dessas duas variáveis.

Exercícios 4. Mostre como dois circuitos integrados 74HC283 podem ser usados para somar dois números sinalizados, um de 8 bits e outro de apenas 4 bits.

Exercícios: 5. Mostre que o circuito abaixo é equivalente a um Full Adder (FA):

Exercícios 6. Com relação ao somador completo com registradores apresentado, determine o conteúdo do registrador A após a seguinte sequência de operações: Considere os dois casos: C 0 =0 e C 0 =1

Exercícios 7. No circuito somador/subtrator com o CI 74LS283 apresentado, determine a saída do somador para os casos abaixo. Determine também, em cada caso, se houve overflow. (a) Registrador A = 0101 (+5), registrador B = 1110 (-2); SUB=1, ADD=0 (b) Registrador A = 1100 (-4), registrador B = 1110 (-2); SUB=0, ADD=1 (c) Registrador A = 1100 (-4), registrador B = 1110 (-2); SUB=0, ADD=0 (d) Registrador A = 1101 (-3), registrador B = 0011 (+3); SUB=1, ADD=0 (e) Registrador A = 1100 (-4), registrador B = 0010 (+2); SUB=0, ADD=1 (f) Registrador A = 1011 (-5), registrador B = 0100 (+4); SUB=1, ADD=0

Exercícios 8. Determine as saídas F, C N+4 e OVR para cada um dos seguintes conjuntos de entradas para o CI 74LS382: (a) [S]=011, [A]=0110, [B]=0011, C N =0 (b) [S]=001, [A]=0110, [B]=0011, C N =1 (c) [S]=010, [A]=0110, [B]=0011, C N =1 9. Mostre como o CI 74LS382 pode ser usado para obter na saída F o complemento de um de A (F = A ).