Nível da Lógica Digital Nível da Lógica Digital (Aula 6) Portas Lógicas e Lógica Digital Estudar vários aspectos da lógica digital Base de estudo para os níveis mais elevados da hierarquia das máquinas multiníveis virtuais. Circuitos digitais Portas lógicas Nível dos Dispositivos Eletrônicos Abaixo do nível Física envolvida ou microarquitetura Interpretação (microprograma) ou execução direta Roberta Lima Gomes - LPRM/DI/UFES Sistemas de Programação I Eng. Elétrica 27/2 Agradecimentos: Camilo Calvi - LPRM/DI/UFES 2 Portas Lógicas () Um circuito lógico digital utilizado nos computadores atuais admite a presença de dois valores lógicos. : False (falso) : True (verdadeiro) Os valores lógicos são materializados através de sinais elétricos... em geral (por exemplo): Sinal elétrico entre - volt pode representar o binário. Sinal elétrico entre 2-5 volts pode representar o binário. Portas Lógicas Estruturas eletrônicas (componentes primitivos) capazes de calcular diversas funções utilizando esses sinais. Formam a base de construção de inúmeros circuitos digitais e do hardware dos computadores Portas Lógicas (2) A lógica digital baseia-se no fato de que um transistor pode operar como uma chave binária Tempo de comutação (chaveamento) é pequeno (nanosegundos). Componentes de um Transistor: Base; Coletor; Emissor. 3 4
Portas Lógicas (3) Portas Lógicas (4) Quando V in estiver abaixo de um certo valor, o transistor desliga e passa a agir como uma resistência infinita (está em aberto) V out assume um valor próximo a V cc V cc é uma tensão regulada, geralmente a +5V em transistores bipolares. Quando V in ultrapassa um certo valor, o transistor comuta e passa a agir como um fio sem resistência. V out fica conectado logicamente à terra ( volt) 5 Quando V in estiver no nível lógico baixo, V out estará no nível alto, e vice-versa. Base (V in ) Coletor (V out ) O circuito ao lado funciona logicamente como um Inversor! Porta NOT 6 Portas Lógicas (5) Dois transistores ligados em série Se V e V 2 estiverem no nível lógico alto, V out vai assumir nível lógico baixo. Se V ou V 2 estiver no nível lógico baixo, o transistor correspondente estará cortado e a saída será alta. Qual a porta lógica correspondente? (a) Porta NAND Portas Lógicas (6) Dois transistores ligados em paralelo Qual a porta lógica correspondente? (b) Porta NOR 7 8
Portas Lógicas (7) Ao colocarmos um circuito inversor na saída de (a), o que obtemos? Portas Lógicas (8) Se fizermos os mesmo na saída de (b)? (V ) (V 2 ) (V out ) (V out) (V ) (V 2 ) (V out ) (V out) 9 Portas Lógicas (9) Principais portas lógicas Podemos construir qualquer circuito lógico com apenas as portas AND, OR e NOT. Ou apenas NAND, NOR e NOT. Portas Lógicas () As portas NAND e NOR precisam de dois transistores (do tipo bipolar), enquanto as portas AND e OR precisam de três. Muitos computadores são baseados nas portas NAND e NOR, em vez das AND e OR. Na prática, existem outros tipos de implementações de portas lógicas, mas geralmente as portas NAND e NOR são mais simples que as AND e OR. Geralmente, uma porta lógica pode conter mais do que duas entradas, exceto a inversora. 2
Portas Lógicas () Famílias de Portas Lógicas Bipolar TTL (Transistor-Transistor-Logic) ECL (Emitter-Coupled Logic) MOS (Metal Oxide Semiconductor) Consomem menos energia e ocupam menos espaço Mais lentas PMOS, NMOS,... CMOS (Complementary Metal Oxide Semiconductor) Utiliza +3,3V para funcionar. Utilizado na maioria dos processadores e memórias Álgebra Booleana () Álgebra da Comutação Uma função booleana tem uma ou mais variáveis binárias de entrada e produz resultados de acordo com os valores dessas variáveis. Exemplo: Função NOT (ƒ) ƒ(a) é se A for, e ƒ(a) é se A for Tabela-Verdade Uma função booleana de n variáveis de entrada admite somente 2 n possíveis combinações das mesmas. Para cada uma das 2 n entradas, a função produz um resultado ( ou ) 3 4 Álgebra Booleana (2) Tabela-Verdade Álgebra Booleana (3) Tabela-Verdade Tabela-Verdade não são nada práticas quando o número de variáveis cresce Uma outra forma de representar a tabela-verdade de uma função, i.e., de definir uma função é através do número binário de 2 n dígitos referente à coluna de resultados Ex: AND é definida por ; OR é definida por As possíveis saídas também são combinações das 2 n linhas Por exemplo, só existem 2 4 funções boolenanas de 2 variáveis, ou seja, 6 cadeias de 4 bits possíveis. Uma notação alternativa à tabela da verdade: especificar a função booleana informando-se quais das combinações de suas variáveis de entrada geram uma saída em Convenções Ā indica a inversão do valor de A Multiplicação implícida ou ponto p/ especificar AND Sinal de + p/ especificar OR Ex: AND = AB ; OR= ĀB + AB + AB 5 6
Álgebra Booleana (4) Função Booleana => Implementação em Circuitos Eletrônicos Exemplo: Função Maioria M = ƒ (A, B, C) A saída será se a maioria das variáveis de entrada for zero, e será se a maioria das variáveis de entrada for. Resolva utilizando portas AND, OR e NOT Álgebra Booleana (5) Função Maioria M = ĀBC + ABC + ABC + ABC 7 8 Álgebra Booleana (6) Implementar um circuito referente a uma função boolenana, utilizando portas AND, OR e NOT: Obtenha a tabela-verdade da função; Utilize inversores para obter o complemento de cada uma das entradas da função; Desenhe uma porta AND para cada termo com valor na coluna de resultados; Ligue as portas AND às entradas apropriadas; Ligue a saída das portas AND a uma porta OR. Álgebra Booleana (7) Muitas vezes é conveniente que o circuito seja implementado por meio de um único tipo de porta. Converter circuitos do tipo AND-OR-NOT resultantes de uma função em circuitos equivalentes que só usem portas NAND ou NOR. Para fazer isso, por exemplo, pode-se implementar as funções NOT, AND e OR usando uma dessas duas portas Exercício: construir portas AND, OR e NOT usando NAND ou NOR. Em função disso, as portas NAND e NOR são conhecidas como completas, pois qualquer função booleana pode ser implementada com circuitos que só usem uma delas. Qual a vantagem disso? 9 2
Álgebra Booleana (8) Equivalência de Circuitos () Existe, muitas vezes, a tentativa de se reduzir ao mínimo a quantidade de portas lógicas em circuitos integrados Reduzir custos de componentes, espaço ocupado em placa de circuito impresso, consumo de energia, etc. Equivalência de Circuitos Encontrar um outro circuito que calcule a mesma função calculada pelo original, usando menos portas lógicas ou portas mais simples de implementação (portas com duas entradas ao invés de quatro) Em geral, obtém-se em primeiro lugar uma função booleana para em seguida aplicar leis da álgebra de Boole para tentar encontrar uma equivalente mais simples 2 22 Equivalência de Circuitos (2) AB + AC pode ser fatorado como A(B + C) por uma lei distributiva? Equivalência de Circuitos (3) Sim! 23 24
Equivalência de Circuitos (4) Identidades básicas da álgebra booleana Nome Forma AND Forma OR Lei da Identidade Lei da Nulidade Lei da Eqüipotência Equivalência de Circuitos (5) A Lei de DeMorgan pode ser estendida a equações como: ABC = A + B + C Além disso, surgem outros tipos de representação em função da Lei de De Morgan Lei da Inversão Lei Comutativa Lei Associativa Lei Distributiva Lei da Absorção De Morgan 25 26 Equivalência de Circuitos (6) Lógica Positiva e Lógica Negativa Construa implementações para a função XOR (Exclusive OR), utilizando: (a) AND, OR e NOT; (b) NAND e NOT; 27 28
Referências Andrew S. Tanenbaum, Organização Estruturada de Computadores, 5ª edição, Prentice-Hall do Brasil, 27. John L. Hennessy and David A. Patterson, Arquitetura de Computadores: Uma Abordagem Quantitativa. 3ª edição. Editora Campus, 23. Milos Ercegovac, Tomas Lang, Jaime H. Moreno. Introdução aos Sistemas Digitais. Bookman Porto Alegre, 2 ISBN 85-737-698-4 29