DCC 001 Programação de Computadores

Slides:



Advertisements
Apresentações semelhantes
Contadores e Registradores
Advertisements

Parte 1: Organização de Computadores
Arquitetura de Computadores 3º SEMESTRE FALM – Faculdade Luiz Meneghel Cedido por: Prof. João Angelo Martini Universidade Estadual de Maringá Departamento.
Arquitetura de Computadores
Aritmética Computacional
Lógica booleana e implementação de funções booleanas
Arquitetura de Computadores
INTRODUÇÃO À LÓGICA DIGITAL
Sistemas de Numeração.
Sistema de numeração decimal
Álgebra Booleana e Circuitos Lógicos
Lógica Booleana A álgebra booleana é baseada totalmente na lógica. Desta forma, os circuitos lógicos executam expressões booleanas. As expressões booleanas.
VISÃO GERAL Profa. Fernanda Denardin Walker
PORTAS LÓGICAS Prof. Wanderley.
Eletrônica Digital Operações Aritméticas Binárias
Eletrônica Digital Funções e Portas Lógicas
Portas e Funções Lógicas, Tabelas Verdade e Circuitos Lógicos
William Stallings Arquitetura e Organização de Computadores 8a Edição
Soma de Produtos Soma de produtos é uma forma padrão de representação de funções Booleanas constituida pela aplicação da operação lógica OU sobre um conjunto.
Universidade do Estado de Santa Catarina – CCT/UDESC
Uma chave é normalmente aberta e a outra normalmente fechada
Eletrônica Digital Circuitos Combinacionais: O seu estado (os valores) de todas as saídas depende apenas dos valores das entradas neste mesmo instante.
Eletrônica Digital Projeto de Circuitos Combinacionais
Organização e Arquitetura de Computadores
Simplificação de Expressões Booleanas e Circuitos Lógicos
TECNOLOGIA EM REDES DE COMPUTADORES INTRODUÇÃO A COMPUTAÇÃO Aula 5
ÁLGEBRA DE CHAVEAMENTO
Sistemas de Numeração Sistemas Numéricos de Interesse
Sistemas Numéricos Sistemas Numéricos de Interesse
INTRODUÇÃO À ENGENHARIA
Índice SUMÁRIO Introdução ao projeto de lógica seqüencial.
CIRCUITOS LÓGICOS UNIDADE 1 SISTEMAS DE NUMERAÇÃO
Circuitos combinatórios típicos: circuitos aritméticos
Conceitos de Lógica Digital
Teoremas Booleanos e Simplificação Algébrica
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I prof. Dr. César Augusto M. Marcon prof. Dr. Edson Ifarraguirre Moreno Qualificadores.
Conceitos de Lógica Digital
PROGRAMAÇÃO I UNIDADE 2.
Fábio de Oliveira Borges
Numeração.
Infra-Estrutura de Hardware
Tópicos em Arquitetura de Computadores João Angelo Martini Universidade Estadual de Maringá Departamento de Informática Mestrado em Ciência.
Campus de Caraguatatuba Aula 8: Noções Básicas sobre Erros (2)
Representação de dados
Pet computação UFPE Aula de apoio aos feras: Sistemas de Numeração.
Circuitos Lógicos e Álgebra de Boole
Sistemas Numéricos SISTEMA DECIMAL
Sistemas de Numeração.
Representação de Números Inteiros
Representação de Dados
DCC 001 Programação de Computadores
Subtrator e Somador BCD
Campus de Caraguatatuba Aula 9: Noções Básicas sobre Erros (3)
Sistemas Microprocessados e Microcontrolados
REPRESENTAÇÃO BINÁRIA E CONVERSÃO
Sistemas Digitais e Arquitetura de Computadores - SDAC
FUNDAMENTOS DE COMPUTAÇÃO
Aula 1: Introdução aos Sistemas Digitais
Turmas A e B SEGUNDO BIMESTRE MATERIAL PARA ESTUDO
Universidade Federal de Uberlândia
Métodos Numéricos Computacionais
ORGANIZAÇÃO DE COMPUTADORES
Tipos de Dados Todo o trabalho realizado por um computador é baseado na manipulação das informações contidas em sua memória. Estas informações podem.
SISTEMAS DE NUMERAÇÃO 1. SISTEMAS DE NUMERAÇÃO 2. ARITMÉTICA BINÁRIA
Álgebra de Boole Circuitos Digitais
Colégio da Imaculada Colégio da Imaculada Curso Técnico em Informática
Codificação Daniel Vieira.
Codificadores e Decodificadores Prof. Lucas Santos Pereira
Organização de Computadores 1º Semestre Aula 4 Prof. Carlos Vinícius SERVIÇO NACIONAL DE APRENDIZAGEM COMERCIAL FACULDADE DE TECNOLOGIA.
Descrevendo Circuitos Lógicos Capítulo 3 Parte I
Transcrição da apresentação:

DCC 001 Programação de Computadores 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 UFMG DCC001 2011-2

Bits e Códigos UFMG DCC001 2011-1

Bits e Códigos Dados representam informação: precisam ser interpretados Interpretaço pode ser estabelecida por código Cada um pode criar o código que quiser, mas aceitação do código determina: Facilidade de comunicação Capacidade de armazenamento de informações Capacidade de conversão entre representações Eficiência de manipulação de dados UFMG DCC001 2011-2

Representação de Caracteres: Código ASCII – 7 bits UFMG DCC001 2011-2

Código ASCII Estendido e Código Unicode Código ASCII oficial usa 7 bits: permite apenas 27 = 128 valores distintos Proposto por norte-americanos, ausência de caracteres acentuados, cedilha etc. Representação de caracteres acentuados permitida no código ASCII estendido, com 8 bits: permite 256 valores Código Unicode é versão moderna do ASCII: permite codificar caracteres em todas as línguas conhecidas UFMG DCC001 2011-2

Representação de Números Representação de números usa sistema arábico em base binária Para facilidade de processamento de operações aritméticas, números negativos não usam representação de sinal-magnitude; outra codificação é mais simples e eficiente UFMG DCC001 2011-2

Notação Arábica em base Binária, sem Sinal Decimal 123 pode ser representado pelos 7 bits 1111011, sem sinal 1111011 UFMG DCC001 2011-2

Conversão Decimal-binário usando Tabela de Potências de 2 UFMG DCC001 2011-2

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

Binários Negativos usando Sinal-Magnitude 1 bit usado para o sinal Com 8 bits, se reservarmos o bit mais à esquerda para o sinal, e interpretarmos os bits restantes como a magnitude, podemos representar todos os inteiros entre -127 e +127 Zero tem duas representações: 10000000 e 00000000 UFMG DCC001 2011-2

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

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 operações de soma e subtração em circuitos digitais. Representações em sinal-magnitude e por deslocamento são aplicadas para a notação de ponto flutuante, como veremos a seguir UFMG DCC001 2011-2

Complemento de 2 com 3 bits Valor = -4b2 + 2b1 +b0 UFMG DCC001 2011-2

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

Complemento de 2 com 3 bits 010 (210) invertendo os bits: 101 (510) somando 1: 110 (610) UFMG DCC001 2011-2

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

IEEE 754 para 32 bits Expoente Mantissa normalizada Sinal UFMG DCC001 2011-2

Notação Científica Normalizada 6,02 x 1023, 602 x 1021 ou 0,00602 x 1026 ? 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 UFMG DCC001 2011-2

Exemplo de número IEEE 754 de 32 bits Sinal positivo Significando Valor Expoente UFMG DCC001 2011-2

Padrão IEEE 754 Valores Especiais 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) UFMG DCC001 2011-2

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

Álgebra de Boole UFMG DCC001 2011-1

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

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

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

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

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

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

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 UFMG DCC001 2011-2

Transistores e Portas Lógicas UFMG DCC001 2011-1

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 UFMG DCC001 2011-2

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

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

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) UFMG DCC001 2011-2

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

Expressões equivalentes a uma Tabela da Verdade 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: f(x,y) = x’y’ + xy x y f(x,y) 1 UFMG DCC001 2011-2

Cobertura dos 1’s de uma Função Booleana x y f(x,y) 1 x’y’ + xy 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 UFMG DCC001 2011-2

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

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

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! UFMG DCC001 2011-2

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

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 264 entradas. UFMG DCC001 2011-2

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

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

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 UFMG DCC001 2011-2

Feita coluna por coluna; 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

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

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

Módulo: Circuito “Soma Completa” Entradas 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) vem-um vai-um SC a soma b UFMG DCC001 2011-2

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

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 1 vai-um = a’bv + ab’v + abv’ + abv UFMG DCC001 2011-2

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

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

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

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

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 UFMG DCC001 2011-2

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

Comparação – Diferença no quarto bit mais significativo Antes de qualquer comparação, abIguais = 1 UFMG DCC001 2011-2

Comparação – Diferença no primeiro bit mais significativo UFMG DCC001 2011-2

Comparação – Todos os bits iguais UFMG DCC001 2011-2

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

Comparador 4 bits Entrada b Entrada a Para o bit mais significativo, aMaior = bMaior = 0, e abIguais = 1 UFMG DCC001 2011-2

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

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

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

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. UFMG DCC001 2011-2