Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Portas logicas e tabela verdade, Esquemas de Eletrônica

Como entender e fazer portas logicas e circuitos

Tipologia: Esquemas

2020

Compartilhado em 26/05/2020

marcelo-yl5
marcelo-yl5 🇧🇷

5

(2)

5 documentos

1 / 11

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
Introdução
Você se perguntou como um computador é capaz de fazer coisas como controle do
orçamento doméstico, jogar xadrez, ou verificar a ortografia em um documento?
bem pouco tempo, essas coisas podiam ser feitas por humanos. Agora, os
computadores as fazem com aparente facilidade. Como um "chip" feito de silício e fios
pode fazer algo que, aparentemente, só poderia ser realizado pelo cérebro humano?
Para entender a resposta para essa pergunta, primeiro você precisa conhecer algo
chamado lógica booleana. A lógica booleana, originalmente desenvolvida por George
Boole em meados de 1800, permite que uma série de coisas pouco prováveis seja
mapeada em bits e bytes. O que de genial sobre a lógica booleana é que, uma vez
entendido seu processo, ela (ou pelo menos a parte necessária para compreender as
operações de um computador) é absurdamente simples. Neste artigo, vamos começar
discutindo "portas" lógicas simples, e depois veremos como transformá-las em algo útil.
Portas simples
Há três, cinco ou sete portas simples que precisamos conhecer, dependendo de como se
queira contá-las (logo veremos o motivo). Com elas, podem-se construir combinações
que implementarão qualquer componente digital imaginável. Essas portas parecerão um
pouco limitadas e incrivelmente simples, mas veremos algumas combinações
interessantes nas seções seguintes que as tornarão bem mais inspiradoras. Se você ainda
não leu Como funcionam os bits e os bytes, será útil fazê-lo antes de continuar.
A porta mais simples chama-se "inversor", ou porta NOT. Ela usa um bit como entrada
e produz seu oposto como saída. Segue abaixo, a tabela lógica para a porta NOT e seu
símbolo comummente usado em diagramas de circuitos:
Porta NOT
A Q
0 1
1 0
Nesta figura, perceba que a porta NOT tem uma entrada chamada A e uma saída
chamada Q ("Q" é usada para a saída porque se usarmos "O" (do inglês "output") ela
pode se confundir com zero). A tabela mostra o comportamento da porta. Ao
atribuirmos o valor 0 a A, Q produz um 1. Ao atribuirmos o valor 1 a A, Q produz um
0. Simples.
A porta AND executa uma operação lógica "e" sobre duas entradas, A e B:
Porta AND
pf3
pf4
pf5
pf8
pf9
pfa

Pré-visualização parcial do texto

Baixe Portas logicas e tabela verdade e outras Esquemas em PDF para Eletrônica, somente na Docsity!

Introdução

Você já se perguntou como um computador é capaz de fazer coisas como controle do orçamento doméstico, jogar xadrez, ou verificar a ortografia em um documento? Há bem pouco tempo, essas coisas só podiam ser feitas por humanos. Agora, os computadores as fazem com aparente facilidade. Como um "chip" feito de silício e fios pode fazer algo que, aparentemente, só poderia ser realizado pelo cérebro humano? Para entender a resposta para essa pergunta, primeiro você precisa conhecer algo chamado lógica booleana. A lógica booleana, originalmente desenvolvida por George Boole em meados de 1800, permite que uma série de coisas pouco prováveis seja mapeada em bits e bytes. O que há de genial sobre a lógica booleana é que, uma vez entendido seu processo, ela (ou pelo menos a parte necessária para compreender as operações de um computador) é absurdamente simples. Neste artigo, vamos começar discutindo "portas" lógicas simples, e depois veremos como transformá-las em algo útil.

Portas simples

Há três, cinco ou sete portas simples que precisamos conhecer, dependendo de como se queira contá-las (logo veremos o motivo). Com elas, podem-se construir combinações que implementarão qualquer componente digital imaginável. Essas portas parecerão um pouco limitadas e incrivelmente simples, mas veremos algumas combinações interessantes nas seções seguintes que as tornarão bem mais inspiradoras. Se você ainda não leu Como funcionam os bits e os bytes, será útil fazê-lo antes de continuar. A porta mais simples chama-se "inversor", ou porta NOT. Ela usa um bit como entrada e produz seu oposto como saída. Segue abaixo, a tabela lógica para a porta NOT e seu símbolo comummente usado em diagramas de circuitos: Porta NOT A Q 0 1 1 0 Nesta figura, perceba que a porta NOT tem uma entrada chamada A e uma saída chamada Q ("Q" é usada para a saída porque se usarmos "O" (do inglês "output") ela pode se confundir com zero). A tabela mostra o comportamento da porta. Ao atribuirmos o valor 0 a A, Q produz um 1. Ao atribuirmos o valor 1 a A, Q produz um

  1. Simples. A porta AND executa uma operação lógica "e" sobre duas entradas, A e B: Porta AND

A B Q

A idéia por trás de uma porta AND é, "Se A = 1 E B = 1, então Q = 1." Podemos notar este comportamento na tabela lógica desta porta. A tabela deve ser lida linha por linha, assim: Porta AND A B Q 0 0 0 Se A = 0 E B = 0, Q = 0. 0 1 0 Se A = 0 E B = 1, Q = 0. 1 0 0 Se A = 1 E B = 0, Q = 0. 1 1 1 Se A = 1 E B = 1, Q = 1. A próxima é a porta OR. Sua idéia básica é "Se A = 1 OU B = 1 (ou se ambas forem iguais a 1), então Q = 1." Porta OR A B Q 0 0 0 0 1 1 1 0 1 1 1 1 Essas são as três portas básicas (uma maneira de contá-las). É bastante comum que se reconheçam outras duas também: a porta NAND e a porta NOR. Essas são combinações simples da porta AND ou da porta OR com a porta NOT. Se as incluirmos, a contagem subirá para cinco. Este é o funcionamento básico das portas NAND e NOR (elas são apenas inversões das portas AND e OR): Porta NOR A B Q 0 0 1 0 1 0 1 0 0 1 1 0 Porta NAND A B Q 0 0 1 0 1 1 1 0 1 1 1 0

Tudo vai bem, até que aparece 1 + 1. Nesse caso, você terá de se preocupar com aquele carry bit (bit de transporte) irritante. Se não se importar em transportá-lo (pois, afinal, trata-se de um problema de adição de 1 bit), você poderá resolver esse problema com uma porta XOR. Do contrário, talvez possa reescrever as equações de modo que sempre sejam incluídos 2 bits de saída , assim: 0 0 1 1

  • 0 + 1 + 0 + 1 00 01 01 10 A partir dessas equações, podemos formar a tabela lógica: Somador de 1 bit com Carry-Out A B Q CO 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 Observando a tabela, vemos que é possível de se implementar Q com a porta XOR e CO (carry-out) com a porta AND. Simples. E se quisermos somar dois bytes de 8 bits? Aí fica um pouco mais complicado. A solução mais simples é modularizar o problema em componentes reutilizáveis e replicar os componentes. Nesse caso, é necessária a criação de apenas um componente: um somador binário completo. A diferença entre um somador completo e o somador que vimos anteriormente é que o somador completo aceita uma entrada A e uma B junto com uma entrada carry-in (CI
  • "vem um"). Com um somador completo, poderemos enfileirar oito deles para criar um somadorda largura de um byte e deixar transitar o bit de transporte, em cascata, de um somador para o próximo. A tabela lógica para um somador completo é um pouco mais complicada do que as tabelas que usamos antes, porque agora temos 3 bits de entrada. Fica assim: Somador Completo de 1 bit com Carry-In e Carry-Out CI A B Q CO 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

Há muitas maneiras de se implementar essa tabela. Vamos apresentar um método de fácil compreensão. Verificando o bit Q, vemos que os 4 bits superiores comportam-se como uma porta XOR com relação a A e B, enquanto os 4 bits inferiores comportam-se como uma porta XNOR com relação a A e B. Da mesma maneira, os 4 bits superiores de CO comportam-se como uma porta AND com relação a A e B, e os 4 bits inferiores comportam-se como uma porta OR. Levando em consideração os fatos, o seguinte circuito implementa um somador completo: Definitivamente, esse não é o método mais eficiente para se implementar um somador completo, mas é de fácil compreensão e bastante lógico. Se for do seu interesse, veja o que se pode fazer para implementar a mesma lógica com menos portas. Agora, temos uma peça funcional chamada "somador completo". Um engenheiro de computação, então, desenvolve uma "caixa preta", para que os dados fiquem registrados e ele possa deixar de se preocupar com os detalhes do componente. Uma caixa preta para um somador completo seria assim: Com a caixa preta, é fácil desenvolver um somador completo de 4 bits :

Em circuitos "reais", o uso dessa abordagem simples de realimentação do inversor é perfeitamente possível. Um circuito com realimentação de mais utilidade com o uso de duas portas NAND está exemplificado abaixo: Esse circuito tem duas entradas ( R e S ) e duas saídas ( Q e Q' ). Por causa da realimentação, sua tabela lógica fica um pouco incomum se a compararmos àquelas vistas anteriormente: R S Q Q' 0 0 Inválida 0 1 1 0 1 0 0 1 1 1 Retém O que a tabela lógica mostra é que:  se R e S tiverem valores opostos, Q acompanha S e Q' é o inverso de Q;  se tanto R quanto S recebem valor 1 simultaneamente, então o circuito retém o que foi apresentado anteriormente em R e S. Há ainda o estado inválido. Nesse estado, tanto R quanto S valerão 0, o que não tem significado em aplicação de memória, enquanto memória, nada vale. Para prevenir esse estado ilegal, costuma-se acrescentar uma pequena lógica condicional no lado da entrada, conforme abaixo:

Neste circuito, há duas entradas (D e E). Podemos pensar em D como "Data" (dado) e E como "Enable" (habilitar). Se E valer 1, Q acompanhará D. Se E mudar para 0, no entanto, Q lembrará do que tiver sido visto por último em D. Um circuito com este comportamento costuma ser conhecido como flip-flop. Um flip-flop bastante comum é o flip-flop J-K. Não está claro de onde veio o nome "J- K", mas ele costuma ser representado em um quadro como este: Neste diagrama, P significa "Preset" (pré-definido), C significa "Clear" (limpar) e Clk significa "Clock" (relógio). A tabela lógica fica assim: P C Clk J K Q Q' 1 1 1-para-0 1 0 1 0 1 1 1-para-0 0 1 0 1 1 1 1-para-0 1 1 Alterna 1 0 X X X 0 1 0 1 X X X 1 0 A tabela informa que: primeiro, Preset e Clear ignoram J, K e Clk completamente. Se o valor de Preset for modificado para 0, então o valor de Q será modificado para 1; e se o valor de Clear for modificado para 0, então o valor de Q será modificado para 0, não importando o que J, K e Clk estiverem fazendo. No entanto, se Preset e Clear tiverem valor igual a 1, então J, K e Clk poderão operar. A notação 1-para-0 significa que, quando o relógio mudar de 1 para 0, os valores de J e de K, caso sejam opostos, serão memorizados. J e K ficam armazenados na borba da descida do relógio (a transição de 1 para 0). Porém, se tanto o valor de J quanto o de K equivalerem a 1 borba da descida do relógio, então Q simplesmente alterna , ou seja, muda de seu estado atual para o estado oposto. Agora, você deve estar se perguntando: "e para que serve isso?". Na verdade, o conceito de "disparo por borda" é muito útil. O fato de o flip-flop J-K apenas "armazenar" (latching) as entradas J-K em uma transição de 1 para 0 faz com que ele seja muito mais útil como dispositivo de memória. Os flip-flops J-K também são bastante úteis em contadores (muito usados na criação de relógios digitais). Aqui está o exemplo de um contador de 4 bits usando flip-flops J-K:

E como implementar essas portas na vida real? O Sr. Boole as concebeu no papel e no papel elas parecem ótimas. No entanto, precisamos implementá-las fisicamente para que as portas possam executar sua lógica efetivamente. Feita a transição, teremos nos lançado à criação de verdadeiros dispositivos computacionais. O modo mais simples de se entender a execução física da lógica booleana é com o uso de relés. Essa é a forma pela qual foram implementados os primeiros computadores. Atualmente, os relés foram substituídos pelos sub-microscópicos transistores criados em chips de silício. Esses transistores são incrivelmente pequenos e rápidos, e consomem bem pouca energia se comparados a um relé. No entanto, os relés são incrivelmente fáceis de se entender, e podem implementar lógica booleana de forma muito simples. Por causa dessa simplicidade, você será capaz de ver que o mapeamento, desde as "portas na teoria" até "ativar portas implementadas em realidade física", é algo possível e simples. Realizar o mesmo mapeamento com transistores é tão fácil quanto. Vamos começar com um inversor. É fácil implementar uma porta NOT com um relé: iremos usar voltagens que representam estados de bit. Atribuímos ao binário 1 o valor de 6 volts, e ao binário 0 o valor de zero volts (terra). Usamos uma bateria de 6 volts para prover os circuitos de energia. A porta NOT, portanto, terá a seguinte aparência: Se esta figura não faz sentido para você, leia Como funciona o relé para obter uma explicação. Neste circuito, você verá que, se atribuirmos zero volts a A, Q receberá 6 volts; e se atribuirmos 6 volts a A, Q receberá zero volts. É muito fácil de se implementar um inversor com um relé. Também é fácil implementar uma porta AND com dois relés:

Aqui, note que, se atribuirmos 6 volts para A e B, Q receberá 6 volts. Do contrário, Q receberá zero volts. Este é exatamente o comportamento que se espera de uma porta AND. A porta OR é ainda mais simples: é só juntar dois fios, A e B, para criá-la. Você também poderá utilizar dois relés paralelos, se assim o desejar. Partindo desse axioma, é possível criar três portas básicas: E, OU ou NÃO (são mais comuns os seus equivalentes em inglês: AND, OR e NOT), a partir dos relés. Podemos juntar estas portas físicas usando os diagramas lógicos acima para criar um somador físico de 8 bits (ripple-carry adder). Se usarmos chaves simples (interruptores) para aplicar entradas A e B ao somador e juntarmos todas as oito linhas Q a lâmpadas, poderemos somar quaisquer dois números e ler os resultados nas lâmpadas ("acesas" = 1, "apagadas" = 0). A lógica booleana sob a forma de portas simples é bastante direta. A partir delas, criam- se funções mais complexas, como a soma. A implementação física dessas portas é fácil e possível. Desses três fatores, obtemos o coração da revolução digital e podemos entender, em profundidade, como funcionam os computadores.