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

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

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

Organização de Computadores I

Universidade Federal de Uberlândia Faculdade de Computação. Representação e aritmética binária

Arquitetura e Organização de Computadores

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

Disciplina: Introdução à Engenharia da Computação

Arquitetura e Organização de Computadores

Aula 11. A Informação e sua Representação Ponto-Flutuante. Prof. Dr. Dilermando Piva Jr.

Organização e Arquitetura de Computadores I

PARTE I I: ARITMÉTICA COMPUTACIONAL ARQUITETURA DE COMPUTADORES ANTONIO RAMOS DE CARVALHO JÚNIOR

ARQUITETURA DE COMPUTADORES

Sistemas numéricos e a Representação Interna dos Dado no Computador

Aula 3 - Representação de Dados

Estouro e Representação em Ponto Flutuante

Eletrônica Digital. Funções lógicas, álgebra de boole e circuitos lógicos combinacionais básicos. Professor: Francisco Ary

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

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES SISTEMAS DE NUMERAÇÃO: REPRESENTAÇÃO EM PONTO FLUTUANTE. Prof. Dr. Daniel Caetano

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

Computação e Programação

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

Sistemas Digitais Módulo 3 Codificações BCD, Gray e ASCII e Números Fracionários

3/14/2012. Programação de Computadores O Computador. Memória Principal representação binária

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

ARQUITETURA DE COMPUTADORES

Eletrônica Digital I (EDL I)

Home Programa Exercícios Provas Professor Links. 2.1 Representação de um número na base dois. O número binário 101,101 significa, na base dois:

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

Informática I. Aula Aula 22-12/11/2007 1

Ponto Fixo e Ponto Flutuante

Arquitetura de Computadores

Circuitos Lógicos. Prof. Odilson Tadeu Valle

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

Números Binários. Apêndice A V1.0

Sistemas de Numeração

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

Operações com números binários

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

2. E presse cada um dos seguintes números inteiros decimais na representação sinal e magnitude e complemento a 2, utilizando 8 bits Resposta:

Introdução à Computação

Prof. Leonardo Augusto Casillo

Sistemas de Computação

LÓGICA DE PROGRAMAÇÃO. PROFª. M.Sc. JULIANA H Q BENACCHIO

Aritmética dos Computadores

Arquitetura de Computadores I

Cálculo Numérico Noções básicas sobre erros

MATA49 Programação de Software Básico

Bits e operações. Sistemas de Computação

Aula de hoje. Códigos numéricos. Códigos binários. Armazenamento de dados. Armazenamento de dados. Armazenamento de dados

Capítulo 2. Representação de números em vírgula flutuante

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

INFORMÁTICA PARA ENGENHARIA INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES. Prof. Dr. Daniel Caetano

Introdução. à Ciência da. Representação de Números em Ponto Flutuante. Aula 21. Números Fracionários

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

TP062-Métodos Numéricos para Engenharia de Produção Erros-Ponto Flutuante

Aula 7: Portas Lógicas: AND, OR, NOT, XOR, NAND e NOR

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

Sistemas de Numeração. Sistemas de Numeração. Sistemas de Numeração. RUIDO em Sistemas Computacionais. Arquiteturas de Computadores

Sistemas de Computação

Portas lógicas Arquitetura e Organização de Computadores Curso de Análise e Desenvolvimento de Sistemas

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

1/50. Conceitos Básicos. Programa Básico

Sistemas Digitais INE 5406

SSC0112 Organização de Computadores Digitais I

Arquitetura de Computadores Aula 9 Portas Lógicas

Introdução à Automação

Unidade III. Sistemas Numéricos e o Computador

Capacidade de Armazenamento. Bit. Binário para Decimal. Decimal para Binário. Operações Aritméticas no Sistema binário.

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

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano

CIRCUITOS ARITMÉTICOS (Unidade 4)

Sistemas de Computação. Representação em Ponto Flutuante

Infraestrutura de Hardware

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

Notas de Aula Guilherme Sipahi Arquitetura de Computadores

Representação de quantidade(número)

REPRESENTAÇÃO BINÁRIA. Sistemas de Numeração e Álgebra de Boole SNA0001

Binário Decimal

Organização e Arquitetura de Computadores I

Baseado nos slides de Anna Tostes SISTEMA NUMÉRICO

Números binários e erros

Introdução à Computação

Sistemas de Numeração

ARITMÉTICA BINÁRIA. Adão de Melo Neto

Códigos Especiais. Tiago Dezuo DEE - Engenharia Elétrica CCT. ALB0001 Álgebra de Boole JOINVILLE

Índice. 1.2 Sistemas Numéricos em uma Base B Qualquer

Arquitectura de Computadores I

Projeto de Lógica Combinatória

LÓGICA DE PROGRAMAÇÃO INTRODUÇÃO À ORGANIZAÇÃO PARA ENGENHARIA DE COMPUTADORES. Prof. Dr. Daniel Caetano

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

Introdução à Computação

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

Organização e Arquitetura de Computadores I

Erros, Precisão Numérica e Ponto Flutuante

Engenharia Civil. Representação da Informação. Introdução à Computação

Microprocessadores. Arquitecturas Aritméticas Controladores

CAPÍTULO 1 REVISÃO DE LÓGICA COMBINACIONAL

3. Computadores Industriais

Transcrição:

UFMG DCC001 2011-2 1 Aula Expositiva 2 2.1 Bits e Códigos 2.2 Circuitos Combinatórios 2.2.1 Álgebra de Boole 2.2.2 Portas Lógicas 2.2.4 Aritmética com portas lógicas 2.2.5 Síntese de Circuitos Combinatórios 2.2.6 Comparação de Binários sem sinal DCC 001 Programação de Computadores 2º Semestre de 2011 Prof. Osvaldo Carvalho

Bits e Códigos UFMG DCC001 2011-1 2

UFMG DCC001 2011-2 3 Bits e Códigos Bits só têm significado com interpretação Interpretações são estabelecidas por códigos Cada um pode criar o código que quiser, mas A aceitação do código adotado determina: Comunicação Interoperabilidade Possibilidade de uso de circuitos transformadores

UFMG DCC001 2011-2 4 Código ASCII 7 bits Caractere Código Decimal End of Transmission 0000100 4 Line Feed 0001010 10 Space 0100000 32 ( 0101000 40 + 0101011 43 0 0110000 48 1 0110001 49 2 0110010 50 3 0110011 51 A 1000001 65 B 1000010 66 C 1000011 67 a 1100001 97 b 1100010 98 c 1100011 99

UFMG DCC001 2011-2 5 Código ASCII Estendido e Unicode O código ASCII oficial usa apenas 7 bits, o que permite 2 7 = 128 combinações Proposto por norte-americanos, não há provisões para acentos, cedilhas, etc. Estes são contemplados no código ASCII estendido, com 8 bits, o que permite 256 combinações O código Unicode é a versão moderna do ASCII, e permite codificar caracteres em todas as línguas conhecidas, vivas e mortas

UFMG DCC001 2011-2 6 Representação de Números O código ASCII pode representar números O decimal 128 é representado pela sequência 00110001 00110010 00111000, com 24 bits Este é um formato adequado para dispositivos de E/S orientados para textos, lidos ou escritos por humanos Para uso em circuitos que realizam operações aritméticas, outras codificações são mais adequadas

Representação de Números como Binários sem Sinal UFMG DCC001 2011-2 7 O decimal 123 pode ser representado pelos 7 bits 1111011, interpretados como um binário sem sinal 1111011 123 = 1. 2 6 + 1. 2 5 + 1. 2 4 + 1. 2 3 + 0. 2 2 + 1. 2 1 + 1. 2 0.

Conversão Decimal-binário usando Tabela de Potências de 2 UFMG DCC001 2011-2 8 n 0 1 2 3 4 5 6 7 8 9 10 2 n 1 2 4 8 16 32 64 128 256 512 1024 A converter 123 59 27 11 3 1 0 Potência de 2 64 32 16 8 2 1

UFMG DCC001 2011-2 9 RGB Red, Green, Blue Níveis de vermelho, verde e azul são representados como binários sem sinal

UFMG DCC001 2011-2 10 Binários Negativos usando Sinal e Amplitude 1 bit pode ser usado para o sinal Com 8 bits, se reservarmos o bit mais à esquerda para o sinal, e interpretarmos os bits restantes como o valor absoluto do número, poderemos representar todos os inteiros entre -127 e +127 Zero tem duas representações: 10000000 e 00000000

UFMG DCC001 2011-2 11 Binários Negativos com Deslocamento Sem Sinal Bits c/ Deslocamento 0 000-3 1 001-2 2 010-1 3 011 0 4 100 1 5 101 2 6 110 3 7 111 4

UFMG DCC001 2011-2 12 Complemento de 2 A absoluta maioria dos computadores utiliza a representação de complemento de 2 para números inteiros negativos Como veremos, isto simplifica circuitos para soma e subtração. Representações em sinal e amplitude e por deslocamento são aplicadas para a notação de ponto flutuante, como veremos a seguir

UFMG DCC001 2011-2 13 Complemento de 2 com 3 bits Valor = -4b 2 + 2b 1 +b 0 Complemento de 2 Bits Valor b 2 b 1 b 0 0 0 0 0 0 0 1 1 0 1 0 2 0 1 1 3 1 0 0-4 1 0 1-3 1 1 0-2 1 1 1-1

UFMG DCC001 2011-2 14 Complemento de 2: obtendo o complemento Se n está representado em complemento de 2, -n é obtido em dois passos: Todos os bits de n são invertidos; Soma-se 1 ao resultado da inversão.

UFMG DCC001 2011-2 15 Complemento de 2 com 3 bits Complemento de 2 Bits b 2 b 1 b 0 0 0 0 0 0 0 1 1 0 1 0 2 0 1 1 3 1 0 0-4 1 0 1-3 1 1 0-2 1 1 1-1 Valor 010 (2 10 ) invertendo os bits: 101 (5 10 ) somando 1: 110 (6 10 )

UFMG DCC001 2011-2 16 Ponto Flutuante Utiliza notação científica com potências de 2 Existe um padrão mundial, o IEEE 754 32 bits, ou precisão simples 1 bit de sinal, 8 de expoente, 23 de mantissa (ou significando) 64 bits, ou precisão dupla 1 bit de sinal, 11 de expoente, 52 de mantissa Expoentes negativos são representados por deslocamento Nós voltaremos a estudar esta representação, que tem consequências sobre erros de arredondamento

UFMG DCC001 2011-2 17 Expoente IEEE 754 para 32 bits 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0 0 1 1 1 1 1 1 1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Sinal Mantissa normalizada

UFMG DCC001 2011-2 18 Notação Científica Normalizada 6,02 x 10 23, 602 x 10 21 ou 0,00602 x 10 26? A primeira forma é normalizada, com um único algarismo diferente de zero antes da vírgula Em binário, o algarismo diferente de zero a ser colocado antes da vírgula é sempre 1, e pode ser implícito

128 0 0 16 8 4 2 1 0,5 0 0,125 0 0,03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 UFMG DCC001 2011-2 19 Exemplo de número IEEE 754 de 32 bits Sinal positivo Significando 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0 1 0 0 1 1 1 1 1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 159 32 1,65625 7113539584 Expoente Valor

Padrão IEEE 754 Valores Especiais UFMG DCC001 2011-2 20 Expoentes com todos os bits iguais a 1 ou todos os bits iguais a zero têm interpretações especiais Zero é representado por expoente e mantissa iguais a zero (duas representações)

Padrão IEEE 754 Valores Especiais Expoentes com todos os bits iguais a 1 são usados para representar NaN (Not a Number), + e - Úteis para representar resultados de divisões por zero, funções não definidas para alguns argumentos, etc. Números com todos os bits do expoente iguais a 0 e mantissa diferente de zero são de-normalizados, e representam números com valor absoluto muito pequeno UFMG DCC001 2011-2 21

Álgebra de Boole UFMG DCC001 2011-1 22

UFMG DCC001 2011-2 23 Bits e Álgebra de Boole George Boole Inglaterra, 1820-1898

UFMG DCC001 2011-2 24 NÃO (NOT) a NOT a 0 1 1 0

UFMG DCC001 2011-2 25 E (AND) a b a AND b 0 0 0 0 1 0 1 0 0 1 1 1

UFMG DCC001 2011-2 26 OU (OR) a b a OR b 0 0 0 0 1 1 1 0 1 1 1 1

UFMG DCC001 2011-2 27 Portas NOT, AND, OR Porta NOT Porta AND Porta OR Arquivo Entrada NOT_AND_OR.circ Saída

UFMG DCC001 2011-2 28 Expressões Booleanas Compactas a denota NOT a a + b denota a OR b ab ou a.b denota a AND b ab + a b, (a + b) são exemplos de expressões booleanas, ou expressões lógicas

UFMG DCC001 2011-2 29 Equivalência de Expressões (a ) = a a+1 = 1; a+0 =a a.1 = a; a.0 = 0 a + (b+c) = (a+b)+c = a + b + c a = a+a; a = a.a ab + ab = a

Transistores e Portas Lógicas UFMG DCC001 2011-1 30

UFMG DCC001 2011-2 31 Transistores e Portas Lógicas Transistores são a base para construção de circuitos compactos e rápidos: A tecnologia atual (2010) permite colocar 1,2 bilhões de transistores em um chip de 1,6 cm de lado O tempo de reação a mudanças nas entradas é muito pequeno Transistores podem ser usados para amplificar sinais mas, em circuitos digitais, funcionam essencialmente como interruptores

UFMG DCC001 2011-2 32 Importantes porque sua implementação com transistores é mais simples Portas NAND e NOR a NAND b = (a.b) a NOR b = (a+b)

UFMG DCC001 2011-2 33 AND, NAND, OR, NOR AND(a,b) Só é igual a 1 quando a e b são iguais a 1 NAND(a,b) Só é igual a 0 quando a e b são iguais a 1 OR(a,b) Só é igual a 0 quando a e b são iguais a 0 NOR(a,b) Só é igual a 1 quando a e b são iguais a 0

UFMG DCC001 2011-2 34 Transistor como Interruptor Vamos convencionar: 1 Voltagem alta 0 Voltagem baixa (terra) Voltagem de Controle Voltagem na Entrada Voltagem na Saída Controle alto, condutor perfeito: Voltagem na entrada necessariamente igual à saída Controle baixo, isolante perfeito: entrada pode ser diferente da saída

UFMG DCC001 2011-2 35 Porta NOT 1 transistor 1 Fonte V= 5 (voltagem alta) a 0 a 1 Terra V= 0 (voltagem baixa)

UFMG DCC001 2011-2 36 Porta NOT 1 transistor 1 Fonte V= 5 (voltagem alta) a 1 a 0 Terra V= 0 (voltagem baixa)

Porta NOR 2 transistores 1 Fonte a 0 1 (a + b) b 0 Terra UFMG DCC001 2010-2 37

Porta NOR 2 transistores 1 Fonte a 1 0 (a + b) b 0 Terra UFMG DCC001 2010-2 38

Porta NOR 2 transistores 1 Fonte a 0 0 (a + b) b 1 Terra UFMG DCC001 2010-2 39

Porta NOR 2 transistores 1 Fonte a 1 0 (a + b) b 1 Terra UFMG DCC001 2010-2 40

Porta NAND 2 transistores 1 Fonte a 0 1 (a.b) b 0 Terra UFMG DCC001 2011-2 41

Porta NAND 2 transistores 1 Fonte a 0 1 (a.b) b 1 Terra UFMG DCC001 2011-2 42

Porta NAND 2 transistores 1 Fonte a 1 1 (a.b) b 0 Terra UFMG DCC001 2011-2 43

Porta NAND 2 transistores 1 Fonte a 1 0 (a.b) b 1 Terra UFMG DCC001 2011-2 44

Porta AND 3 transistores Fonte Fonte a 1 a.b 0 b 0 Terra Terra NAND NOT UFMG DCC001 2011-2 45

Circuitos Combinatórios Soma de Binários de 1 bit UFMG DCC001 2011-1 46

UFMG DCC001 2011-2 47 Circuitos Combinatórios Circuitos combinatórios são circuitos digitais cuja saída só depende dos valores de suas entradas Na próxima aula veremos circuitos sequenciais, cuja saída depende das entradas e também de dados armazenados em memórias

UFMG DCC001 2011-2 48 Circuitos Lógicos e Expressões Lógicas Não é difícil acreditar que podemos fazer circuitos para uma expressão lógica qualquer como a (b +c)(ca) a (ca) b +c

UFMG DCC001 2011-2 49 Circuitos Lógicos e Expressões Lógicas Mas podemos fazer circuitos que fazem contas? Todos sabemos que computadores fazem contas, e que a resposta é afirmativa. Resta saber como! Vamos começar por um problema simples: soma de dois inteiros de 1 bit

UFMG DCC001 2011-2 50 Soma de 2 variáveis de 1 bit - 1 Queremos construir um circuito lógico para somar duas variáveis de um bit, codificados como binários sem sinal: 0 vale Zero 1 vale Um Na base dez, o resultado pode ser 0, 1 ou 2

UFMG DCC001 2011-2 51 Soma de 2 variáveis de 1 bit 2 O resultado, codificado como binário sem sinal, é 0, 1 ou 10 Ou seja, são necessários 2 bits para representar o resultado da soma de duas variáveis de 1 bit Somar significa: obter a representação em binário sem sinal da soma das entradas, também codificadas como binários sem sinal

Circuito Somador de 2 variáveis de 1 bit: Entradas e Saídas Entradas 1 bit cada a b Saídas Circuito Somador 1 bit s 1 s 0 Notação comum para conjuntos de bits: 0 é o índice do bit menos significativo UFMG DCC001 2011-2 52

UFMG DCC001 2011-2 53 Entradas Tabela da Verdade para Somador de 2 variáveis de 1 bit Saídas: 2 funções lógicas das mesmas variáveis Todos os valores possíveis para as entradas Resultados da soma em binário sem sinal

UFMG DCC001 2011-2 54 Tabela da Verdade Tabela para especificação de funções lógicas Especifica saídas para todas as combinações possíveis para as variáveis de entrada (Já usamos tabelas da verdade para especificar as funções NOT, AND e OR)

Obtendo um Circuito a partir da Tabela da Verdade UFMG DCC001 2011-2 55 Passo 1: conseguir uma expressão lógica equivalente à tabela da verdade Passo 2: construir o circuito equivalente à expressão lógica

Expressões equivalentes a uma Tabela da Verdade UFMG DCC001 2011-2 56 Uma expressão lógica e uma tabela da verdade são equivalentes quando, para qualquer combinação de valores das variáveis de entrada, os valores da função e da expressão são iguais: x y f(x,y) 0 0 1 0 1 0 1 0 0 1 1 1 f(x,y) = x y + xy

UFMG DCC001 2011-2 57 Cobertura dos 1 s de uma Função Booleana x y f(x,y) 0 0 1 0 1 0 1 0 0 x y + xy 1 1 1 x y é igual a 1 se e somente se x=0 e y=0 xy é igual a 1 se e somente se x=1 e y=1 x y + xy cobre exatamente a função desejada

Expressões Lógicas para Somador de 2 variáveis de 1 bit s0 = a b + ab s1 = ab UFMG DCC001 2011-2 58

UFMG DCC001 2011-2 59 Circuito Soma Binária de 1 bit arquivo Soma_1_bit.circ ab a b ab

UFMG DCC001 2011-2 60 Funções Lógicas podem fazer Aritmética Produzimos um circuito lógico com duas entradas de 1 bit representando binários sem sinal, e que produz em sua saída dois bits representando a soma das entradas em binário sem sinal! Conseguimos fazer cálculos com as funções lógicas NOT, AND e OR!

Soma de Binários com n Bits UFMG DCC001 2011-1 61

UFMG DCC001 2011-2 62 Soma de Binários de Vários Bits - 1 Vamos agora considerar a soma de números binários com vários bits cada um Em princípio poderíamos construir a tabela da verdade para a soma e deduzir a expressão lógica, mas Para a soma de dois inteiros de 32 bits, a tabela da verdade teria 2 64 entradas.

UFMG DCC001 2011-2 63 Tempo para tratar 2 64 itens Um nano-segundo é o tempo de reação de uma porta lógica Um ano tem Temos E portanto, nano-segundos Temos então linhas a analisar; Com um nano-segundo por linha, 3 milênios!

UFMG DCC001 2011-2 64 Soma de Binários de Vários Bits - 2 Temos que adotar outro enfoque Primeiramente vamos examinar como nós, humanos, fazemos uma soma em binário Depois, vamos construir um somador de forma modular, explorando regularidades no processo de soma

UFMG DCC001 2011-2 65 Somas em decimal Feita coluna por coluna; quando a soma de dois algarismos excede 9, o resultado daquela coluna é somente o dígito mais significativo, e vai-um para a coluna seguinte Vai-um 1 1 0 a 2 7 7 6 b 4 7 9 1 a+b 7 5 6 7

UFMG DCC001 2011-2 66 Somas em binário Feita coluna por coluna; Quando a soma de dois algarismos excede 1, o resultado daquela coluna é somente o dígito mais significativo, e vai-um para a coluna seguinte

UFMG DCC001 2011-2 67 Soma de Binários de vários bits: Exemplo 1011101+1001110 =? Vai-Um 1 0 1 1 1 0 0 Parcelas 1 0 1 1 1 0 1 1 0 0 1 1 1 0 1 0 1 0 1 0 1 1 Soma

Soma de Binários de vários bits Vamos usar esta aritmética para construir um circuito A idéia é construir um módulo que faça a operação de uma das colunas da soma O somador terá tantos deste módulo quantas forem as colunas, ou seja, quantos forem os bits das parcelas UFMG DCC001 2011-2 68

Entradas Módulo: Circuito Soma Completa os dois bits de uma coluna das parcelas a entrada vem-um, alimentada pela saída vai-um da coluna à direita Saídas um bit de resultado um bit de vai-um (que será ligado à entrada vem-um da coluna à esquerda) vai-um soma SC vem-um UFMG DCC001 2011-2 69 a b

Somador em Cascata Circuito Soma-Completa Igual a 1 quando a soma tiver 5 bits vem-um do bit menos significativo é zero UFMG DCC001 2011-2 70

UFMG DCC001 2011-2 71 Soma Binária de 3 bits (Soma Completa) Tabela da Verdade soma = a b v + a bv + ab v + abv a b vem-um soma vai-um 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 vai-um = a bv + ab v + abv + abv

UFMG DCC001 2011-2 72 Síntese de Circuitos Combinatórios O processo de cobertura de 1 s de uma tabela da verdade para geração de um circuito pode ser automatizado O Logisim faz isso, e ainda consegue simplificar o circuito

UFMG DCC001 2011-2 73 Circuito Soma Completa arquivo Somador4bits.circ

UFMG DCC001 2011-2 74 Somador 4 bits arquivo Somador4bits.circ

Comparação de Binários com n Bits UFMG DCC001 2011-1 75

UFMG DCC001 2011-2 76 Comparação de binários sem sinal Circuito desejado: Entradas: a e b, dois binários sem sinal Saídas: 3 bits indicando o resultado da comparação entre a e b a b Comparador a < b a = b a > b

Comparação de binários sem sinal Aqui também temos problemas para o uso da Tabela da Verdade quando comparamos inteiros de 32 bits (por exemplo) Vamos usar o mesmo enfoque utilizado na soma: verificar como nós fazemos a comparação, e procurar dividir o problema É fácil ver que, para comparar dois binários sem sinal, comparamos bit a bit, a partir do mais significativo; na primeira diferença, a parcela com o bit igual a 1 é a maior UFMG DCC001 2011-2 77

Comparação Diferença no quarto bit mais significativo UFMG DCC001 2011-2 78 a 1 1 1 1 1 0 0 0 b 1 1 1 0 1 1 1 0 amaior 0 0 0 0 1 1 1 1 1 abiguais 1 1 1 1 0 0 0 0 0 bmaior 0 0 0 0 0 0 0 0 0 Antes de qualquer comparação, abiguais = 1

Comparação Diferença no primeiro bit mais significativo UFMG DCC001 2011-2 79 a 0 1 1 1 1 0 0 0 b 1 1 1 0 1 1 1 0 amaior 0 0 0 0 0 0 0 0 0 abiguais 1 0 0 0 0 0 0 0 0 bmaior 0 1 1 1 1 1 1 1 1

UFMG DCC001 2011-2 80 Comparação Todos os bits iguais a 1 1 1 0 1 0 1 0 b 1 1 1 0 1 0 1 0 amaior 0 0 0 0 0 0 0 0 0 abiguais 1 1 1 1 1 1 1 1 1 bmaior 0 0 0 0 0 0 0 0 0

Comparador 1 bit Bit corrente a b amaior bmaior abiguais Módulo Comparador de 1 bit Amaior Bmaior ABiguais Vêm do comparador à esquerda Vão para o comparador à direita UFMG DCC001 2011-2 81

UFMG DCC001 2011-2 82 Comparador 4 bits Entrada b Entrada a Para o bit mais significativo, amaior = bmaior = 0, e abiguais = 1

Comparador 1 bit Tabela da Verdade Estas saídas vão para a coluna à direita Estas entradas vêm da coluna à esquerda x é usado quando a combinação de entradas nunca ocorre o Logisim simplifica o circuito São 2^5 = 32 linhas na tabela UFMG DCC001 2011-2 83

Comparador 1 bit Circuito UFMG DCC001 2011-2 84 Arquivo Compare_4_bits.circ

Resumo Bits exigem códigos para ter significado Códigos importantes incluem ASCII, binário sem sinal, complemento de 2, e IEEE 754. Toda transformação de informação feita por um processador é uma composição das operações básicas NOT, AND e OR da Álgebra de Boole Expressões lógicas e circuitos combinatórios equivalentes podem ser extraídos de tabelas da verdade UFMG DCC001 2011-2 85

UFMG DCC001 2011-2 86 Resumo Circuitos para soma ou comparação de duas parcelas de 1 bit podem ser obtidos por tabelas da verdade Para somar ou comparar parcelas de 32 bits (p.ex.), é preciso montar circuitos em cascata, com transformações graduais da informação.