Sistemas Digitais Circuitos Aritméticos e Representação de Números com Sinal

Documentos relacionados
Sistemas Digitais Circuitos Aritméticos e Unidades Aritméticas e Lógicas (ALUs)

Sistemas Digitais Representação Digital de Informação

Sistemas Digitais Circuitos Combinatórios Típicos

SISTEMAS DIGITAIS CIRCUITOS COMBINATÓRIOS TÍPICOS

Sistemas Digitais Álgebra de Boole Binária e Especificação de Funções

Sistemas Digitais Circuitos Combinatórios Típicos

Circuitos aritméticos

PCS 3115 (PCS2215) Sistemas Digitais I. Módulo 03a Aritmética Binária. Prof. Dr. Marcos A. Simplicio Jr. versão: 3.0 (Jan/2016) Conteúdo

Representação Digital de Informação Aritmética

Prof. Leonardo Augusto Casillo

Sistemas Digitais (SD) Circuitos combinatórios: somadores, subtractores e comparadores

Arquitetura de Computadores. Tiago Alves de Oliveira

Sistemas Digitais Lógica de Polaridade

PCS 3115 Sistemas Digitais I

Universidade Federal de Santa Catarina Centro Tecnológico Departamento de Informática e Estatística Ciências da Computação & Engenharia Eletrônica

Representação Digital da Informação II

Organização de Computadores

Aula 7: Representações de Números Inteiros: Sinal e Magnitude e Representação em Excesso de k

Aula Expositiva 2. DCC 001 Programação de Computadores. 2º Semestre de 2011 Prof. Osvaldo Carvalho UFMG DCC

Representações de Números Inteiros: Sinal e Magnitude e Representação em Excesso de k

Capítulo 2. Representação de dados em sistemas computacionais

Circuitos Aritméticos. Circuitos Aritméticos. Circuitos Aritméticos. Circuitos Aritméticos. Circuitos Aritméticos. Circuitos Aritméticos

Aritmética Binária e Complemento a Base. Introdução ao Computador 2010/1 Renan Manola

Sistemas de Numeração e Códigos

Arquitetura e Organização de Computadores

Módulos Combinatórios

SISTEMAS DIGITAIS (SD)

Circuitos Digitais. Conteúdo. Soma de Números Binários. Soma de Números Binários. Exemplos. Exemplos. Aritmética Binária

Circuitos Lógicos Aula 22

Sistemas de Computação

1 Introdução à Lógica Digital

Arquitectura de Computadores I

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

Representação de Dados

CIRCUITOS ARITMÉTICOS (Unidade 4)

Aula 9. Aritmética Binária. SEL Sistemas Digitais. Prof. Dr. Marcelo Andrade da Costa Vieira

1 Introdução à Lógica Digital. Arquitectura de Sistemas Computacionais

Operações com números binários

ARQUITETURA DE COMPUTADORES

UFMG DCC Álgebra de Boole. Slides ligeiramente adaptados daqueles do professor Osvaldo Farhat de Carvalho, DCC, UFMG

Eletrônica Digital I (EDL I)

Circuitos Combinacionais

Estouro e Representação em Ponto Flutuante

Sistemas de Numeração. Exemplos de Sistemas de Numeração (1) Exemplos de Sistemas de Numeração (2) Sistemas de Numeração

Introdução à Computação

Sistemas Digitais / Sistemas Digitais I 6 Representação de números com sinal

ARQUITETURA DE COMPUTADORES

Módulo 3 Circuitos Combinatórios

Representação de quantidade(número)

Introdução à Computação

Sistemas Digitais Minimização de Funções: Mapas de Karnaugh

Circuitos Aritméticos

Sistemas Digitais Representação Digital de Informação

Sistemas Digitais Módulo 8 Introdução aos Circuitos Aritméticos

Circuitos Lógicos. Capítulo 9 Aritmérica Digital: Operações e Circuitos

Computação e Programação

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

Sistemas Digitais Elementos Básicos de Tecnologia

Aula 9: Estouro e Representação em Ponto Flutuante

Introdução à Computação

Introdução à Computação

Aula 8: Complemento a Um e Complemento a Dois

Arquitetura e Organização de Computadores. Sistemas Numéricos

Representação de quantidade(número) Expressão de significância posicional

Sistemas Digitais. Circuitos Aritméticos. Monitoria SD Daniel Alexandro/Reniê Delgado/Vanessa Ogg. Editado por (DARA)

Organização e Arquitetura de Computadores I

MAT115 Introdução ao Processamento de Dados Professor: Ibirisol Fontes Ferreira DCC: Departamento de Ciência da Computação

Complemento a Um e Complemento a Dois

REPRESENTAÇÃO DE DADOS. Prof. Maicon A. Sartin

ELE 0316 / ELE 0937 Eletrônica Básica

Dessa forma pode-se transformar qualquer número em qualquer base para a base 10.

Disciplina: Processamento Digital de Sinais Aula 05 - Implementação de Sistemas de Processamento Digital de Sinais (Parte 01)

Operações Aritméticas no sistema binário. Na área de eletrônica digital e microprocessadores é usado as operações aritméticas.

Sistemas Digitais Circuitos Sequenciais Básicos (Latches e Flip-Flops) Horácio Neto Nuno Horta João Paulo Carvalho

Sistemas Digitais (SD) Unidade Lógica e Aritmética

Curso de Licenciatura em Engenharia Informática. Curso de Licenciatura em Informática de Gestão

Fundamentos de Arquiteturas de Computadores. Representação de números inteiros em complemento a 2

Eletrônica Digital I TE050. Circuitos Combinacionais

Arquitetura e Organização de Computadores

Relatório de Prática no LABORATORIO

PCS 3115 Sistemas Digitais I Códigos Prof. Dr. Marcos A. Simplicio Jr.

a) Bloco lógico do decodificador b) A tabela da verdade do decodificador, saída decimal lógica positiva e entrada código BCD

Aritmética Binária e Caminho de Dados. Aritmética Binária Caminho de Dados

Projetos de Decodificadores

Representação de Valores Números Binários Negativos

Baseado nos slides de Anna Tostes SISTEMA NUMÉRICO

EPUSP PCS 2011/2305/2355 Laboratório Digital ARITMÉTICA DECIMAL

Circuitos Combinacionais

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

Álgebra Booleana. UNIVERSIDADE DA BEIRA INTERIOR Faculdade de Engenharia Departamento de Informática

Circuitos Combinacionais. Arquitetura de Computadores I

Eletrônica Digital. Instituto Federal de Santa Catarina Campus São José. Área de Telecomunicações. Sistema de Numeração

Binários: Operações matemáticas

Arquitetura de Computadores Sistema de Numeração. Apresentado por Prof. Fred Sauer Mat. Elaborado por Prof. Ricardo Quintão

X. B Y Base do sistema de numeração Dígito do número em questão

Microprocessadores. Arquitecturas Aritméticas Controladores

REPRESENTAÇÃO DE NÚMEROS EM BINÁRIO E HEXADECIMAL

PCS Sistemas Digitais I. Códigos para Detecção e Correção de Erros. Prof. Dr. Marcos A. Simplicio Jr. versão: 3.0 (Jan/2016)

ÁLGEBRA BOOLEANA E LÓGICA DIGITAL AULA 04 Arquitetura de Computadores Gil Eduardo de Andrade

Transcrição:

Sistemas Digitais Circuitos Aritméticos e Representação de Números com Sinal João Paulo Baptista de Carvalho (Prof. Auxiliar do IST) joao.carvalho@inesc.pt

Circuitos Aritméticos Circuitos aritméticos são aqueles que realizam operações aritméticas sobre números binários O circuito aritmético mais simples é o que soma números de apenas 1 bit. Basta partir da conhecida tabela da soma para o obter: XY Soma Transporte X+Y X=0 X=1 Y=0 0 1 Y=1 1 10 00 0 0 01 1 0 10 1 0 11 0 1 Uke2010 SD - Circuitos Aritméticos 2

Semi-somador (half-adder) Da tabela retira-se o seguinte circuito, que é conhecido como semi-somador: AB Soma (S) Transporte (Cout) 00 0 0 01 1 0 10 1 0 11 0 1 O nome semi-somador vem do facto de este circuito não permitir somar o transporte que venha de bits de menor peso Uke2010 SD - Circuitos Aritméticos 3

Somador Completo (full-adder) A um somador de 1 bit que tenha em conta o transporte de somas anteriores chama-se somador completo: A B C in S C out 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 1 0 1 0 1 1 1 0 0 1 1 1 1 1 1 Semi-somadores Uke2010 SD - Circuitos Aritméticos 4

Somadores Assumindo blocos de somadores completos, é possível construir somadores de n bits Exemplo: Um somador de 4 bits Somador Completo Símbolo de um Somador Completo de 4 bits: 0 Σ A 0 B 0 A 1 B 1 A 2 B 2 A 3 B 3 P 3 0 0 S c i c o Q 3 3 CI CO S 0 S 1 S 2 S 3 Uke2010 SD - Circuitos Aritméticos 5

Somas em BCD As operações aritméticas em BCD podem ser úteis quando se têm números em BCD sobre os quais se pretende fazer pequenas operações que não justificam a conversão para binário A soma em BCD é feita dígito a dígito. Por exemplo, a soma dos dígitos 3 e 5 dá o dígito 8: 0011 As duas parcelas são BCD, 0101 assim como o resultado 1000 Mas se a soma for superior a 9, então o resultado obtido já não é BCD. Por exemplo, 7 + 5 = 12: 0111 Em certos casos há mesmo 0101 transporte 8 + 9 = 17: 1000 1100 1001 10001 Uke2010 SD - Circuitos Aritméticos 6

Somas em BCD (II) Consegue-se corrigir o resultado obtido somando 6 (0110) ao resultado nas seguintes situações: 1. O resultado é maior que 9 2. Existe um transporte na soma B A Transporte anterior 0 P Σ 3 0 0 0 S P Q 3 3 0 3 0 1 0 S CI CO Q 3 0 3 0 CI CO Σ A + B Transporte para o algarismo seguinte & 1 & Uke2010 SD - Circuitos Aritméticos 7

Representação e Aritmética de Números com Sinal A representação de números inteiros tem de ter em conta que os números podem ser positivos, negativos ou o número 0 Uma das alternativas é a representação por módulo e sinal, em que o bit mais significativo indica o sinal: Se esse bit for 1 o número é negativo; Se for 0 é positivo Exemplo para números de 4 bits: Representação Número representado Representação 0000 0 1000-0 0001 +1 1001-1 0010 +2 1010-2 0011 +3 1011-3 0100 +4 1100-4 0101 +5 1101-5 0110 +6 1110-6 0111 +7 1111-7 Número representado Uke2010 SD - Circuitos Aritméticos 8

Representação por módulo e Sinal Inconvenientes: Duas representações diferentes para o zero; O módulo e o sinal são processados de forma diferente; É necessário escolher a operação a realizar de acordo com a operação desejada e o sinal dos números envolvidos. Por exemplo: Se pretendermos fazer a operação (+5) + (-3) o que é realmente necessário fazer é a subtracção 5-3 ficando o sinal positivo; Se o problema for realizar (-5) + (+3) então há que realizar também uma subtracção mas do módulo do número negativo menos o do positivo sendo o resultado um número negativo. Obviamente tudo isto complica a realização das operações e consequentemente dos circuitos que tenham que realizar essas operações Uke2010 SD - Circuitos Aritméticos 9

Representação em Complemento para 2 Chama-se complemento para 2 n de um número x de n bits, ao resultado da operação 2 n x Por exemplo, o complemento para 2 de 0110 é: 10000-0110 1010 Se um número x tem n bits, então o seu complemento para 2 é representado por n bits O complemento para 2 do complemento para 2 de um número x, é x: 2 n - (2 n x) = x Formas alternativas de encontrar o complemento para 2 de um número x: Inverter todos os bits de x e somar 1 ao resultado 0110 1001 1001+1 = 1010 Manter todos os 0 s menos significativos e ainda o primeiro 1 de x, e inverter os restantes bits mais significativos 0110 xx10 1010 Uke2010 SD - Circuitos Aritméticos 10

Representação de números com sinal em Complemento para 2 Na representação de números com sinal em complemento para 2, o bit mais significativo do número também indica o sinal: Se for 1 o número é negativo; Se for 0 é positivo. Na representação de números com sinal em complemento para 2: Um número positivo é representado pelo seu módulo; Um número negativo é representado pelo complemento para 2 do seu módulo. Por exemplo: O número +6 é representado em notação de complemento para 2 com 4 bits por 0110; O número -6 é representado por 1010: 6 = 0110 complementando bit a bit, 1001 1001 +1 = 1010 = -6 Repare-se que ao calcular o complemento para 2 de um número positivo de n bits se obtém automaticamente o bit de sinal a 1 Uke2010 SD - Circuitos Aritméticos 11

Representação de números com sinal em Complemento para 2 (II) Os 16 números possíveis de representar em complemento para 2 com 4 bits são os seguintes: O intervalo representado é [-2 n-1, +2 n-1-1] Com 4 bits: [-8,+7] A razão da assimetria entre o total de número de positivos e o de negativos radica na necessidade de representar o 0 e de não ter duas representações para o 0 Uke2010 SD - Circuitos Aritméticos 12

Representação de números com sinal em Complemento para 2 (III) Com esta representação, pode operar-se sobre os números sem ter que tomar em consideração qualquer particularidade relacionada com o sinal de cada um deles. Exemplos: Soma de 2 positivos (+2) + (+5) = 7 0010 0101 0111 Soma de 1 positivo com 1 negativo com resultado negativo (+2) + (-5) = -3 0010 1011 1101 Soma de 2 negativos (-2) + (-5) = -7 1110 1011 11001 Soma de 1 positivo com 1 negativo com resultado positivo Ignora-se o transporte porque sai dos 4 bits utilizados na representação (+5) + (-3) = +2 0101 1101 10010 Uke2010 SD - Circuitos Aritméticos 13

Representação de números com sinal em Complemento para 2 (IV) Quando a operação envolve 2 números com o mesmo sinal, é possível que o resultado não possa ser representado com o número de bits disponível. A esta situação chama-se OVERFLOW Por exemplo, 4 + 5 = 9, que não é representável com 4 bits em notação de complemento para 2 com sinal: 01 0100 0101 1001 O resultado é incoerente pois é um número negativo: (-7) O overflow nunca ocorre em operações entre números com sinal contrário. Prova-se que o overflow ocorre sempre que o transporte do último bit é diferente do transporte do bit anterior Uke2010 SD - Circuitos Aritméticos 14

Somador/Subtractor Sabendo que: 1. Realizar a subtracção x-y é o mesmo que realizar a soma x + (-y); 2. Trocar o sinal a um número representado em notação de complemento para 2 significa, na prática, fazer o complemento para 2 desse número, então a subtracção pode ser feita a partir de um somador. Então, usando as propriedades do XOR, e a possibilidade de usar o C in de um somador para somar 1 aos dois números, é possível realizar um circuito somador/subtractor: Controlo B =1 Controlo Operação 0 A + B# 1 A - B =1 =1 =1 0 P Σ A 3 0 0 S 3 Q CO Uke2010 SD - Circuitos Aritméticos CI 15 3 Resultado

Comparadores Tal como o nome indica, um comparador permite comparar 2 números binários P e Q de n bits, indicando se P>Q, P<Q ou P=Q. Exemplo, um comparador de 4 bits: O circuito pode ser ligado em cascata, para realizar comparações entre números de n > 4 bits (é essa a utilidade das entradas >,=,< presentes no lado esquerdo do circuito). Uke2010 SD - Circuitos Aritméticos 16

Alguns CI s 74LS283: Somador de 4 bits rápido. Usa internamente um carry look-ahead trata-se de um somador de maior rapidez, conseguida à custa de um maior número de portas lógicas. 74LS85: Comparador de 4 bits. 74LS283 74LS85 Uke2010 SD - Circuitos Aritméticos 17

Bibliografia Arroz,G., Monteiro,J.C., Oliveira,A., Arquitectura de Computadores, dos Sistemas Digitais aos Microprocessadores, Secções 5.1, 5.2, 5.3, 2ª Edição, 2009 Mano,M., Kime,C. Logic and Computer Design Fundamentals, Prentice Hall, secções 3.8 a 3.10 e 3.13 Uke2010 SD - Circuitos Aritméticos 18