Baixe o app para aproveitar ainda mais
Prévia do material em texto
69 M aterial para uso exclusivo de aluno m atriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o com partilham ento digital, sob as penas da Lei. © Editora Senac São Paulo. Capítulo 5 Álgebra de Boole e funções booleanas 1 Funções booleanas De acordo Tocci, Widmer e Moss (2011), os circuitos internos dos computadores operam com a presença ou a ausência de sinais elétri- cos, é e por meio de operações lógicas com esses sinais que todas as Neste capítulo, abordaremos a álgebra de Boole e suas funções: OR, AND, NOT, XOR, NAND, NOR e XNOR. Exemplificaremos um circuito ló- gico, a tabela-verdade e a expressão correspondente para cada função. Ao longo da disposição do conteúdo, demonstraremos algumas aplica- ções práticas, para melhor entendimento do uso das funções na resolu- ção de problemas. 70 Conceitos de computação I Ma te ria l p ar a us o ex cl us ivo d e al un o m at ric ul ad o em c ur so d e Ed uc aç ão a D is tâ nc ia d a Re de S en ac E AD , d a di sc ip lin a co rre sp on de nt e. P ro ib id a a re pr od uç ão e o c om pa rti lh am en to d ig ita l, s ob a s pe na s da L ei . © E di to ra S en ac S ão P au lo . informações são processadas. A lógica para processar informações digitais é conhecida como lógica booleana, na qual os operadores boo- leanos efetuam operações sobre dados físicos, e, para isso, são neces- sários componentes físicos para implementação do circuito digital. Segundo Tocci, Widmer e Moss (2011): Em 1854, um matemático chamado George Boole escreveu: Uma in- vestigação das leis do pensamento, em que descrevia o modo como se toma decisões lógicas com base em circunstâncias verdadeiras ou falsas. O método que ele descreveu é hoje conhecido como lógi- ca booleana, e o sistema que emprega símbolos e operadores para descrever essas decisões é chamado de álgebra booleana. (TOCCI; WIDMER; MOSS, 2011, p. 49) Uma das motivações para o estudo desse tema é que os circuitos di- gitais são os responsáveis pela implementação lógica dos computado- res atuais. Podemos citar como exemplo a unidade lógica e aritmética (ULA) que fica dentro do processador – a parte física responsável por efetuar todas as operações aritméticas lógicas do computador. Dentro desse dispositivo, existem muitos circuitos com diferentes funções, como: somadores (que realizam operações de soma com valores de duas entradas), subtratores (circuitos combinacionais que executam operações de subtração) e comparadores (que, em situações práticas, são utilizados para comparação de dois sinais sendo provenientes de origens distintas). Também é importante nos atermos a duas definições da álgebra booleana: a variável booleana (uma quantidade que pode ser, em dife- rentes momentos, igual a 0 ou 1) e as funções booleanas (associam a cada “n” variáveis de entrada uma única saída). 71Álgebra de Boole e funções booleanas M aterial para uso exclusivo de aluno m atriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o com partilham ento digital, sob as penas da Lei. © Editora Senac São Paulo. IMPORTANTE De acordo com Tocci, Widmer e Moss (2011), é equivocado afirmar que a álgebra booleana é utilizada somente como instrumento de análise e simplificação de sistemas lógicos. A álgebra booleana pode ser ampla- mente utilizada como ferramenta de projeto para que um circuito lógico produza uma relação entrada/saída. A esse processo dá-se o nome de “síntese de circuitos lógicos”. Alguns recursos, como tabela-verdade, símbolos esquemáticos, dia- gramas de tempo e linguagens, são utilizados na análise, síntese e do- cumentação de sistemas e circuitos lógicos. Idoeta e Capuano (1999) citam que a álgebra booleana é definida como uma ferramenta matemá- tica; a tabela-verdade é utilizada como forma de organização de dados; os símbolos esquemáticos, de desenho e os diagramas de tempo são gráficos; e as linguagens são descritivas de interpretação universal. Nesse sentido, podemos descrever uma função booleana utilizando portas lógicas, tabela-verdade e equações. Os componentes físicos capazes de efetuar as operações booleanas sobre os sinais elétricos recebem o nome de portas lógicas, que, na prática, são vendidas encapsuladas em uma pastilha de silício chamada chip e devem ser colocadas a uma placa de circuito impresso para for- marem os circuitos. Dessa forma, as portas lógicas são dispositivos ele- trônicos que têm a função de implementar circuitos booleanos. Vamos conhecer as principais portas lógicas e cada um de seus símbolos para representação gráfica, além da apresentação da tabela-verdade, que descreverá o seu funcionamento. De acordo com Idoeta e Capuano (1999), a tabela-verdade é o nome dado à organização de valores para todas as possíveis situações e seus resultados, no formato de tabela ou mapa. Assim, na tabela, é possível encontrar a forma como uma função se comporta. 72 Conceitos de computação I Ma te ria l p ar a us o ex cl us ivo d e al un o m at ric ul ad o em c ur so d e Ed uc aç ão a D is tâ nc ia d a Re de S en ac E AD , d a di sc ip lin a co rre sp on de nt e. P ro ib id a a re pr od uç ão e o c om pa rti lh am en to d ig ita l, s ob a s pe na s da L ei . © E di to ra S en ac S ão P au lo . Diferente da álgebra comum, a álgebra booleana possui somente três operações básicas: OR, AND e NOT, conhecidas como operações lógicas. 1.1 OR (ou booleano) Segundo Tocci, Widmer e Moss (2011), uma porta lógica OR assume o valor 1 quando uma ou mais variáveis de entrada de um circuito fo- rem iguais a 1 e assume valor 0 se, e somente se, todas as variáveis de entrada forem iguais a 0. Para entradas {X1,...,Xn}, ela é definida como: f(X1, …, Xn) = ∑ n Xi i = 1 E vale 1 se qualquer uma das entradas for igual a 1. Para duas entradas, temos a tabela-verdade, que mostra duas entra- das, X1 e X2, e uma de saída f(X1, X2). Para as entradas 0 ou 0, a saída é 0; para as entradas 0 ou 1, a saída é 1; para as entradas 1 ou 0, a saída é 1; para as entradas 1 ou 1, a saída é 1. Tabela 1 – Tabela-verdade para função OR X1 X2 f(X1, X2) 0 0 0 0 1 1 1 0 1 1 1 1 Por meio da porta lógica, também podemos representar as duas entradas e sua saída. 73Álgebra de Boole e funções booleanas M aterial para uso exclusivo de aluno m atriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o com partilham ento digital, sob as penas da Lei. © Editora Senac São Paulo. Figura 1 – Representação de porta lógica OR X1 + X2 X2 X1 Sendo que, a partir da saída evidenciada na porta lógica, temos a expressão: S = X1 + X2. A seguir, são mencionados alguns pontos-chave em relação à opera- ção OR e às portas OR (TOCCI; WIDMER; MOSS, 2011, p. 121): • A operação OR promove um resultado (saída) 1 sempre que quaisquer das entradas forem 1, pois, do contrário, a saída seria 0. • Uma porta OR é um circuito lógico que faz operação OR nas en- tradas do circuito. • A expressão S = X1 + X2 é lida como “S é igual a X1 ou X2”. Conforme Tocci, Widmer e Moss (2011) exemplificam, uma aplica- ção para porta lógica OR pode ser encontrada em sistemas industriais, os quais necessitam de ativação de uma função de saída sempre que qualquer de suas várias entradas for ativada, como é o caso de um pro- cesso químico em que um alarme deve ser ativado sempre que a tem- peratura do processo passar de um valor máximo predeterminado ou sempre que a pressão ultrapassar um limite máximo. A figura 2 ilustra um sistema de alarme com o uso de uma porta lógica OR. 74 Conceitos de computação I Ma te ria l p ar a us o ex cl us ivo d e al un o m at ric ul ad o em c ur so d e Ed uc aç ão a D istâ nc ia d a Re de S en ac E AD , d a di sc ip lin a co rre sp on de nt e. P ro ib id a a re pr od uç ão e o c om pa rti lh am en to d ig ita l, s ob a s pe na s da L ei . © E di to ra S en ac S ão P au lo . Figura 2 – Exemplo do uso de uma porta lógica OR em um sistema de alarme Alarme Comparador Transdutor de temperatura Transdutor de pressão Processo químico Comparador VT VTR TH PHVP VPR VT: valor de temperatura VTR: valor de temperatura de referência VP: valor de pressão VPR: valor de pressão de referência TH: valor lógico de temperatura PH: valor lógico de pressão Fonte: adaptado de Tocci, Widmer e Moss (2011, p. 54). 1.2 AND (e booleano) A porta lógica AND executa a multiplicação de duas ou mais variá- veis booleanas. Uma saída só será 1 se todas as entradas forem 1; para todos os outros casos, a saída é 0. Para entradas {X1,...,Xn}, ela é definida como: f(X1, …, Xn) = n i = 1 Xi E vale 1 apenas se todas as entradas forem iguais a 1. Para duas entradas, temos: 75Álgebra de Boole e funções booleanas M aterial para uso exclusivo de aluno m atriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o com partilham ento digital, sob as penas da Lei. © Editora Senac São Paulo. Tabela 2 – Tabela-verdade para função AND X1 X2 f(X1, X2) 0 0 0 0 1 0 1 0 0 1 1 1 Figura 3 – Representação de porta lógica AND X1 × X2 X2 X1 Expressão: S = X1 × X2 1.3 NOT (não booleano) A porta lógica NOT faz a negação de qualquer entrada, ou seja, se a entrada for 0, a saída será 1, e, se a entrada for 1, a saída será 0. A operação NOT para qualquer entrada X é definida como: f(X) = X _ Ou seja, é a entrada negada (barrada). Para uma entrada X1, por exemplo, temos: 76 Conceitos de computação I Ma te ria l p ar a us o ex cl us ivo d e al un o m at ric ul ad o em c ur so d e Ed uc aç ão a D is tâ nc ia d a Re de S en ac E AD , d a di sc ip lin a co rre sp on de nt e. P ro ib id a a re pr od uç ão e o c om pa rti lh am en to d ig ita l, s ob a s pe na s da L ei . © E di to ra S en ac S ão P au lo . Tabela 3 – Tabela-verdade para função NOT X1 f(X1) 0 1 1 0 Figura 4 – Representação de porta lógica NOT X1 X1 Expressão: S = X1 _ 1.4 XOR (ou exclusivo) De acordo com Tocci, Widmer e Moss (2011), a função do XOR é for- necer 1 à saída quando as variáveis de entrada forem diferentes entre si. Para entradas {X1,...,Xn}, ela é definida como: f(X1, X2) = _ _ X2X1 × X2 + X1 × X2 = X1 E vale 1 apenas se as entradas forem diferentes. Para duas entradas, temos: Tabela 4 – Tabela-verdade para função XOR X1 X2 f(X1, X2) 0 0 0 0 1 1 1 0 1 1 1 0 77Álgebra de Boole e funções booleanas M aterial para uso exclusivo de aluno m atriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o com partilham ento digital, sob as penas da Lei. © Editora Senac São Paulo. Figura 5 – Representação de porta lógica XOR X1 X2 X2 X1 Expressão: S = X1 X2 1.4.1 Aplicações de circuitos práticos utilizando a porta lógica XOR De acordo com Tocci, Widmer e Moss (2011), no fluxo de dados, a co- dificação em códigos binários de um local para outro é a operação mais frequentemente realizada em sistemas digitais de comunicações, como: • transmissão de voz digitalizada por um enlace de micro-ondas; • armazenamento e controle de erros nas sequências de bits arma- zenados em dispositivos de memorização externa, como discos óticos e magnéticos; • transmissão de dados de um computador para outro, que esteja distante, por meio de cabos ou mesmo fibras ópticas (essa é a principal maneira de enviar e receber informações pela internet). Para que essas informações sejam transmitidas e recebidas de for- ma íntegra, existe um circuito verificador de paridade, o qual permite que o transmissor anexe um bit de paridade em um conjunto de bits de dados antes, para, então, transmiti-lo ao receptor. Sendo assim, esse bit de paridade faz com que o receptor detecte qualquer erro em um bit que tenha ocorrido na transmissão (TOCCI; WIDMER; MOSS, 2011). A figura 6 apresenta o conjunto dos dados a serem transmitidos sen- do aplicados em um circuito gerador de paridade, que produz um bit 78 Conceitos de computação I Ma te ria l p ar a us o ex cl us ivo d e al un o m at ric ul ad o em c ur so d e Ed uc aç ão a D is tâ nc ia d a Re de S en ac E AD , d a di sc ip lin a co rre sp on de nt e. P ro ib id a a re pr od uç ão e o c om pa rti lh am en to d ig ita l, s ob a s pe na s da L ei . © E di to ra S en ac S ão P au lo . de paridade par (P) em sua saída. Esse bit de paridade, segundo Tocci, Widmer e Moss (2011, p. 148), “é transmitido para o receptor juntamen- te com os bits do dado original, totalizando cinco bits”. Figura 6 – Porta XOR utilizada para implementar um gerador de paridade Dados transmitidos com bit de paridade Dados originais Gerador de paridade par D3 D2 D1 D0 Paridade (P) { Fonte: adaptado de Tocci, Widmer e Moss (2011, p. 148). Na figura 7, temos os mesmos cinco bits (dado e paridade) entran- do no circuito verificador de paridade do receptor, que gera uma saída de erro (E), que indica a ocorrência ou não de um erro em um único bit (TOCCI; WIDMER; MOSS, 2011). Figura 7 – Porta XOR utilizada para implementar um verificador de paridade Verificador de paridade par Do transmissor Erro (E) {1 = erro 0 = não erro} D3 D2 D1 D0 P Fonte: adaptado de Tocci, Widmer e Moss (2011, p. 148). 79Álgebra de Boole e funções booleanas M aterial para uso exclusivo de aluno m atriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o com partilham ento digital, sob as penas da Lei. © Editora Senac São Paulo. Para exemplificar nossa aplicação prática, vamos considerar a saída do verificador de paridade e determinar cada um dos conjuntos de dados enviados pelos transmissores. Tabela 5 – Tabela de transmissão P D3 D2 D1 D0 Transmissão 1 0 1 0 1 0 Transmissão 2 1 1 1 1 0 Transmissão 3 0 1 1 1 1 Transmissão 4 0 0 0 0 0 Submetendo as entradas de dados D3, D2, D1, D0 da transmissão 1 aos circuitos lógicos anteriores, teremos: D3 XOR D2 = 1 XOR 0 = 1 D0 XOR D1 = 0 XOR 1 = 1 Realizando (D3 XOR D2) XOR (D1 XOR D0) = 0 com XOR do bit de pari- dade P = 0, então teremos: 0 XOR 0 = 0, e, assim sendo, a saída de erro será 0, o que indica que não houve erro. Submetendo as entradas de dados D3, D2, D1, D0 da transmissão 2 aos circuitos lógicos anteriores, teremos: D3 XOR D2 = 1 XOR 1 = 0 D1 XOR D0 = 1 XOR 0 = 1 Realizando (D3 XOR D2) XOR (D1 XOR D0) = 1 com XOR do bit de pari- dade P = 1, então teremos: 1 XOR 1 = 0, e, assim sendo, a saída de erro será 0, o que indica que não houve erro. Submetendo as entradas de dados D3, D2, D1, D0 da transmissão 3 aos circuitos lógicos anteriores, teremos: 80 Conceitos de computação I Ma te ria l p ar a us o ex cl us ivo d e al un o m at ric ul ad o em c ur so d e Ed uc aç ão a D is tâ nc ia d a Re de S en ac E AD , d a di sc ip lin a co rre sp on de nt e. P ro ib id a a re pr od uç ão e o c om pa rti lh am en to d ig ita l, s ob a s pe na s da L ei . © E di to ra S en ac S ão P au lo . D3 XOR D2 = 1 XOR 1 = 0 D0 XOR D1 = 1 XOR 1 = 0 Realizando (D3 XOR D2) XOR (D1 XOR D0) = 0 com XOR do bit de pari- dade P = 0, então teremos: 0 XOR 0 = 0, e, assim sendo, a saída de erro será 0, o que indica que não houve erro. Submetendo as entradas de dados D3, D2, D1, D0 da transmissão 4 aos circuitos lógicos anteriores, teremos: D3 XOR D2 = 0 XOR 0 = 0 D0 XOR D1 = 0 XOR 0 = 0 Realizando (D3 XOR D2) XOR(D1 XOR D0) = 0 com XOR do bit de pari- dade P = 0, então teremos: 0 XOR 0 = 0, e, assim sendo, a saída de erro será igual a 0, o que indica que não houve erro. IMPORTANTE Tocci, Widmer e Moss (2011) definem que a saída E terá nível 1, caso as entradas do verificador de paridade sejam um número ímpar de 1’s, e que um número ímpar de 1’s indica que um erro ocorreu de acordo com o critério de paridade par. 1.5 NAND (não e) NAND é a operação AND negada. Para duas entradas {X1,X2}, por exemplo, ela é definida como: f(X1, X2) = X1 × X2 __ 81Álgebra de Boole e funções booleanas M aterial para uso exclusivo de aluno m atriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o com partilham ento digital, sob as penas da Lei. © Editora Senac São Paulo. Sendo o resultado do teorema de De Morgan,1 e vale 1 se qualquer uma das entradas for igual a 1. Para duas entradas, temos: Tabela 6 – Tabela-verdade para função NAND X1 X2 f(X1, X2) 0 0 1 0 1 1 1 0 1 1 1 0 Figura 8 – Representação de porta lógica NAND Expressão: S = X1 × X2 __ 1.6 NOR (não ou) NOR é a operação OR negada. Para duas entradas {A1,A2}, por exem- plo, ela é definida como: 1 Os teoremas de De Morgan foram sugeridos pelo matemático Augustus De Morgan no século XIX, e são utilizados para realização de simplificações de expressões booleanas e, também, para desenvolvimento de muitos circuitos digitais (TOCCI; WIDMER; MOSS, 2011, p. 103). X2 X1 X1 × X2 X1 + X2 __ X1 × X2 __ __ = 82 Conceitos de computação I Ma te ria l p ar a us o ex cl us ivo d e al un o m at ric ul ad o em c ur so d e Ed uc aç ão a D is tâ nc ia d a Re de S en ac E AD , d a di sc ip lin a co rre sp on de nt e. P ro ib id a a re pr od uç ão e o c om pa rti lh am en to d ig ita l, s ob a s pe na s da L ei . © E di to ra S en ac S ão P au lo . E vale 1 se as entradas forem iguais a 0. Para duas entradas, temos: Tabela 7 – Tabela-verdade para função NOR X1 X2 0 0 1 1 0 1 0 0 1 0 0 0 1 1 0 0 X1 × X2 X1+ X2 Figura 9 – Representação de porta lógica NOR X1 + X2 X2 X1 Expressão: S = X1 + X2 1.7 XNOR (ou exclusivo ou coincidência) Definida apenas para duas entradas {X1,X2}, como sendo: f(X1, X2) = X1 × X2 + X1 × X2 = X1 _ _ X2 E vale 1 apenas se as entradas forem iguais. Para duas entradas, temos: 83Álgebra de Boole e funções booleanas M aterial para uso exclusivo de aluno m atriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o com partilham ento digital, sob as penas da Lei. © Editora Senac São Paulo. Tabela 8 – Tabela-verdade para função XNOR X1 X2 f(X1, X2) 0 0 1 0 1 0 1 0 0 1 1 1 Figura 10 – Representação de porta lógica XNOR X1 X2 X2 X1 Expressão: S = X1 X2 Considerações finais Neste capítulo, apresentou-se uma breve introdução sobre a álgebra booleana, sua aplicação na computação e seu emprego na resolução de problemas para a área industrial. A principal utilidade dessas expres- sões lógicas é descrever o relacionamento entre as saídas do circuito lógico (as decisões) e as entradas (as circunstâncias). Conhecemos, também, todos os sete tipos de portas lógicas, seus símbolos, suas tabelas-verdade e suas expressões correspondentes. 84 Conceitos de computação I Ma te ria l p ar a us o ex cl us ivo d e al un o m at ric ul ad o em c ur so d e Ed uc aç ão a D is tâ nc ia d a Re de S en ac E AD , d a di sc ip lin a co rre sp on de nt e. P ro ib id a a re pr od uç ão e o c om pa rti lh am en to d ig ita l, s ob a s pe na s da L ei . © E di to ra S en ac S ão P au lo . Referências IDOETA, Ivan Valeije; CAPUANO, Francisco Gabriel. Elementos de eletrônica digital. São Paulo: Érica, 1999. TOCCI, Ronald J.; WIDMER, Neal S.; MOSS, Gregory L. Sistemas digitais: princípios e aplicações. 11. ed. São Paulo: Pearson Prentice Hall, 2011.
Compartilhar