<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Logic Gates on Jefferson Oliveira</title><link>https://jeffersonmourak.com/tags/logic-gates/</link><description>Recent content in Logic Gates on Jefferson Oliveira</description><generator>Hugo -- gohugo.io</generator><language>en</language><copyright>All content provided by this website are my own opinons and beliefs and are distrubuted under the &lt;br/></copyright><lastBuildDate>Thu, 07 Nov 2024 08:27:04 -0300</lastBuildDate><atom:link href="https://jeffersonmourak.com/tags/logic-gates/index.xml" rel="self" type="application/rss+xml"/><item><title>Portas lógicas</title><link>https://jeffersonmourak.com/blog/logic-gates/</link><pubDate>Thu, 07 Nov 2024 08:27:04 -0300</pubDate><guid>https://jeffersonmourak.com/blog/logic-gates/</guid><category domain="https://jeffersonmourak.com/tags/cpu/">CPU</category><category domain="https://jeffersonmourak.com/tags/logic-gates/">Logic Gates</category><category>Portas lógicas</category><category>Computação</category><description>&lt;blockquote>
&lt;p>Revisado [11/12/2024]&lt;/p>
&lt;p>Oi pessoal, então tive que fazer umas mudanças aqui no post pra adicionar alguns widgets
interativos, e aproveitei para dar um pouco mais de contexto ao conteúdo.&lt;/p>&lt;/blockquote>
&lt;p>Olá, este é o primeiro artigo de uma série sobre os fundamentos da computação. A ideia é demonstrar de forma simples e prática como este dispositivo transforma zeros e uns em praticamente qualquer coisa, o funcionamento das CPUs e outros assuntos interessantes. Então, para começar, o primeiro conceito que temos que aprender é o de portas lógicas: elas são a base de toda a computação, com elas podemos fazer certas operações que recebem como entrada um ou mais valores e terão outro valor como resultado.&lt;/p></description><content:encoded><![CDATA[<blockquote>
<p>Revisado [11/12/2024]</p>
<p>Oi pessoal, então tive que fazer umas mudanças aqui no post pra adicionar alguns widgets
interativos, e aproveitei para dar um pouco mais de contexto ao conteúdo.</p></blockquote>
<p>Olá, este é o primeiro artigo de uma série sobre os fundamentos da computação. A ideia é demonstrar de forma simples e prática como este dispositivo transforma zeros e uns em praticamente qualquer coisa, o funcionamento das CPUs e outros assuntos interessantes. Então, para começar, o primeiro conceito que temos que aprender é o de portas lógicas: elas são a base de toda a computação, com elas podemos fazer certas operações que recebem como entrada um ou mais valores e terão outro valor como resultado.</p>
<p>Mas o que são esses valores? O número 42? O nome da minha mãe? Esses “valores” são energia, mais especificamente a presença e ausência dela. Como foi falado na introdução, computadores funcionam utilizando dígitos binários, ou seja, essas máquinas só entendem 0 e 1 ou “Tem energia” e “Não tem energia”. No entanto, não iremos chamar esses zeros e uns de energia, para o computador eles são sinais.</p>
<p>Quando sinais são combinados e/ou comparados, nós chamamos de operação lógica, por exemplo.</p>
<p>“[Sons de harpa de inicio de história]”</p>
<p>Um dia você contrata uma empresa de elétrica para instalar dois interruptores em um corredor da sua casa, mas, por um erro de desenho, a instalação acaba ficando da seguinte forma: o fio passa pelo primeiro interruptor (vamos chamar de interruptor A), vai direto para o segundo interruptor (B para os íntimos) e, em seguida, sai para a lâmpada.</p>
<figure>
  <img src="./CPUImageFrame1.png" alt="" loading="lazy">
</figure><p>Reparou que a lâmpada só acende se os dois interruptores estiverem ligados ao mesmo tempo? Se qualquer um deles for desligado, a luz apaga na hora! Pois é, essa atrocidade da elétrica residencial pode ser explicada, na matemática, a partir de um de seus ramos chamado de álgebra booleana, e nela podemos demonstrar isso com uma tabela:</p>
<table>
  <thead>
      <tr>
          <th style="text-align: center">∧</th>
          <th style="text-align: center">0</th>
          <th style="text-align: center">1</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td style="text-align: center">0</td>
          <td style="text-align: center">0</td>
          <td style="text-align: center">0</td>
      </tr>
      <tr>
          <td style="text-align: center">1</td>
          <td style="text-align: center">0</td>
          <td style="text-align: center">1</td>
      </tr>
  </tbody>
</table>
<p>Escrevendo isso de outro modo fica assim:</p>
<table>
  <thead>
      <tr>
          <th style="text-align: left">∧</th>
          <th style="text-align: left">A desligado</th>
          <th style="text-align: left">A ligado</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td style="text-align: left">B desligado</td>
          <td style="text-align: left">Luz apagada</td>
          <td style="text-align: left">Luz apagada</td>
      </tr>
      <tr>
          <td style="text-align: left">B ligado</td>
          <td style="text-align: left">Luz apagada</td>
          <td style="text-align: left">Luz acesa</td>
      </tr>
  </tbody>
</table>
<p>Se você percebeu bem, agora temos um jeito de representar o que queremos que aconteça com dois interruptores e uma lâmpada, e esse exemplo mostrado acima é a primeira porta lógica que estamos conhecendo, o AND ou Conjunção, e essa tabela, demonstrada acima de formas diferentes, se chama Tabela-Verdade.</p>
<p>Ok, mas e a luz da minha casa? Como que vai ficar? Eu preciso que a luz acenda quando o A OU B estiverem ligados. Como que faz isso?</p>
<p>A resposta está na própria pergunta! 😉 Vamos precisar de uma outra porta lógica, a OR ou Disjunção, e para entender como ela funciona, vamos usar uma tabela-verdade que se encaixe nessas condições:</p>
<table>
  <thead>
      <tr>
          <th style="text-align: center">?</th>
          <th style="text-align: center">0</th>
          <th style="text-align: center">1</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td style="text-align: center">0</td>
          <td style="text-align: center">0</td>
          <td style="text-align: center">1</td>
      </tr>
      <tr>
          <td style="text-align: center">1</td>
          <td style="text-align: center">1</td>
          <td style="text-align: center">1</td>
      </tr>
  </tbody>
</table>
<p>Mas antes de falar da OR, vamos dar uma olhada na porta NOT (ou Negação). Ela é bem simples, mas vai ser importante mais pra frente.</p>
<p><em>Interactive circ widget &mdash; <a href="https://jeffersonmourak.com/blog/logic-gates/">view it on the blog</a>.</em></p>
<pre><code>╭───╮     ╭───╮     ╭───╮
│ a ├○───▶┤NOT├○───▶┤LED│
╰───╯     ╰───╯     ╰───╯</code></pre>
<p>E se escrevermos ela numa tabela verdade teremos isso aqui:</p>
<table>
  <thead>
      <tr>
          <th style="text-align: center">¬</th>
          <th style="text-align: center">0</th>
          <th style="text-align: center">1</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td style="text-align: center"></td>
          <td style="text-align: center">1</td>
          <td style="text-align: center">0</td>
      </tr>
  </tbody>
</table>
<p>Então, vamos fazer uma pausa e revisar o que a gente já sabe. Primeiro, as operações e como representá-las numa tabela. Para simplificar, vamos transformar essas operações em símbolos. Toda vez que nos referirmos ao AND, este será o símbolo:</p>
<p><em>Interactive circ widget &mdash; <a href="https://jeffersonmourak.com/blog/logic-gates/">view it on the blog</a>.</em></p>
<pre><code>╭───╮     ╭───╮     ╭───╮
│ a ├○───▶┤   │ ╭──▶┤LED│
╰───╯     │AND├○╯   ╰───╯
       ╭─▶┤   │          
       │  ╰───╯          
       │                 
╭───╮  │                 
│ b ├○─╯                 
╰───╯                    </code></pre>
<p>e o NOT:</p>
<p><em>Interactive circ widget &mdash; <a href="https://jeffersonmourak.com/blog/logic-gates/">view it on the blog</a>.</em></p>
<pre><code>╭───╮     ╭───╮     ╭───╮
│ a ├○───▶┤NOT├○───▶┤LED│
╰───╯     ╰───╯     ╰───╯</code></pre>
<p>Com essas duas operações lógicas (AND e NOT), já podemos combinar seus resultados e criar uma terceira porta lógica: a NAND (ou Not AND).</p>
<p>Ela pode ser representada assim:</p>
<p><em>Interactive circ widget &mdash; <a href="https://jeffersonmourak.com/blog/logic-gates/">view it on the blog</a>.</em></p>
<pre><code>╭───╮     ╭─────────────╮     ╭───╮
│ a ├○───▶┤             │ ╭──▶┤LED│
╰───╯     │[nand:_nand_]├○╯   ╰───╯
       ╭─▶┤             │          
       │  ╰─────────────╯          
       │                           
╭───╮  │                           
│ b ├○─╯                           
╰───╯                              </code></pre>
<p><em>Interactive circ widget &mdash; <a href="https://jeffersonmourak.com/blog/logic-gates/">view it on the blog</a>.</em></p>
<pre><code>╭───╮     ╭───╮     ╭───╮     ╭───╮
│ a ├○───▶┤   │ ╭──▶┤NOT├○───▶┤LED│
╰───╯     │AND├○╯   ╰───╯     ╰───╯
       ╭─▶┤   │                    
       │  ╰───╯                    
       │                           
╭───╮  │                           
│ b ├○─╯                           
╰───╯                              </code></pre>
<p>A tabela-verdade dela é idêntica à do AND, porém com os resultados invertidos.</p>
<table>
  <thead>
      <tr>
          <th style="text-align: center">¬∧</th>
          <th style="text-align: center">0</th>
          <th style="text-align: center">1</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td style="text-align: center">0</td>
          <td style="text-align: center">1</td>
          <td style="text-align: center">1</td>
      </tr>
      <tr>
          <td style="text-align: center">1</td>
          <td style="text-align: center">1</td>
          <td style="text-align: center">0</td>
      </tr>
  </tbody>
</table>
<p>Seguindo essa mesma lógica de combinar portas, podemos usar uma porta NAND e inverter a entrada de cada interruptor com um NOT. Assim, teremos o seguinte:</p>
<p><em>Interactive circ widget &mdash; <a href="https://jeffersonmourak.com/blog/logic-gates/">view it on the blog</a>.</em></p>
<pre><code>╭───╮     ╭───╮     ╭─────────────╮     ╭───╮
│ a ├○───▶┤NOT├○───▶┤             │ ╭──▶┤LED│
╰───╯     ╰───╯     │[nand:_nand_]├○╯   ╰───╯
                 ╭─▶┤             │          
                 │  ╰─────────────╯          
                 │                           
╭───╮     ╭───╮  │                           
│ b ├○───▶┤NOT├○─╯                           
╰───╯     ╰───╯                              </code></pre>
<p>Analisando o diagrama acima, vemos que, quando os dois interruptores estiverem desligados, ambos os sinais serão invertidos pelo NOT, e o NAND vai resultar em ¬∧(1, 1) = 0. Ou seja, com ambos desligados, a lâmpada apaga. Mas o que acontece quando temos ¬∧(1, 0) ou ¬∧(0, 1)? Para descobrir, vamos analisar a tabela-verdade:</p>
<table>
  <thead>
      <tr>
          <th style="text-align: center">∨</th>
          <th style="text-align: center">0</th>
          <th style="text-align: center">1</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td style="text-align: center">0</td>
          <td style="text-align: center">0</td>
          <td style="text-align: center">1</td>
      </tr>
      <tr>
          <td style="text-align: center">1</td>
          <td style="text-align: center">1</td>
          <td style="text-align: center">1</td>
      </tr>
  </tbody>
</table>
<figure>
  <img src="https://media1.giphy.com/media/v1.Y2lkPTc5MGI3NjExa2F3aTZ5Z2FhajUxem51aG5oYzBwYW1jdHI3NGswMzZzd3duMTh3biZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/n9h61thJkq6Xe/giphy.gif" alt="Eu acho que vi um gatinho!" loading="lazy">
  <figcaption>Eu acho que vi um gatinho!</figcaption>
</figure><p>Mas espera um pouco, eu tenho a impressão de que eu já vi essa tabela antes? Sim! Essa é a porta lógica OR que estávamos procurando. Uma viagem e tanto, não é? Agora que já sabemos como consertar a fiação da lâmpada, podemos dar uma paradinha aqui. Este é apenas o primeiro artigo de uma série sobre computadores. Mais para frente, vamos abordar outras portas lógicas e outros conceitos da computação.</p>
<h2 id="referências">Referências</h2>
<ul>
<li><a href="https://pt.wikipedia.org/wiki/%C3%81lgebra_booliana">Álgebra booliana (Wikipédia)</a></li>
<li><a href="https://en.wikipedia.org/wiki/Boolean_algebra">Boolean Algebra (Wikipédia)</a></li>
<li><a href="https://pt.wikipedia.org/wiki/Tabela-verdade">Tabela-verdade  (Wikipédia)</a></li>
<li><a href="https://www.youtube.com/watch?v=QZwneRb-zqA">Exploring How Computers Work (YouTube)</a></li>
<li><a href="https://www.youtube.com/watch?v=sTu3LwpF6XI">Making logic gates from transistors (YouTube)</a></li>
<li><a href="https://www.youtube.com/watch?v=HjneAhCy2N4">HOW TRANSISTORS RUN CODE? (YouTube)</a></li>
</ul>
]]></content:encoded></item><item><title>Logic Gates</title><link>https://jeffersonmourak.com/blog/logic-gates-en/</link><pubDate>Thu, 07 Nov 2024 08:27:04 -0200</pubDate><guid>https://jeffersonmourak.com/blog/logic-gates-en/</guid><category domain="https://jeffersonmourak.com/tags/cpu/">CPU</category><category domain="https://jeffersonmourak.com/tags/logic-gates/">Logic Gates</category><category>Computing</category><description>&lt;blockquote>
&lt;p>Hey Y&amp;rsquo;all! This is a translation of my blog post originally written in Portuguese.&lt;/p>&lt;/blockquote>
&lt;blockquote>
&lt;p>Revised [11/12/2024]&lt;/p>
&lt;p>Hi folks, so I had to make some changes here in the post to add some interactive widgets,
and I took the opportunity to give a bit more context to the content.&lt;/p>&lt;/blockquote>
&lt;p>Hello, this is the first article in a series about the fundamentals of computing. The idea is to demonstrate in a simple and practical way how this device transforms zeros and ones into practically anything, the functioning of CPUs and other interesting subjects. So, to start, the first concept we have to learn is that of logic gates: they are the foundation of all computing, with them we can do certain operations that receive as input one or more values and will have another value as a result.&lt;/p></description><content:encoded><![CDATA[<blockquote>
<p>Hey Y&rsquo;all! This is a translation of my blog post originally written in Portuguese.</p></blockquote>
<blockquote>
<p>Revised [11/12/2024]</p>
<p>Hi folks, so I had to make some changes here in the post to add some interactive widgets,
and I took the opportunity to give a bit more context to the content.</p></blockquote>
<p>Hello, this is the first article in a series about the fundamentals of computing. The idea is to demonstrate in a simple and practical way how this device transforms zeros and ones into practically anything, the functioning of CPUs and other interesting subjects. So, to start, the first concept we have to learn is that of logic gates: they are the foundation of all computing, with them we can do certain operations that receive as input one or more values and will have another value as a result.</p>
<p>But what are these values? The number 42? My mother&rsquo;s name? These &ldquo;values&rdquo; are energy, more specifically the presence and absence of it. As mentioned in the introduction, computers work using binary digits, meaning these machines only understand 0 and 1 or &ldquo;Has energy&rdquo; and &ldquo;No energy&rdquo;. However, we won&rsquo;t call these zeros and ones energy, for the computer they are signals.</p>
<p>When signals are combined and/or compared, we call it a logical operation, for example.</p>
<p>&ldquo;[Harp sounds of story beginning]&rdquo;</p>
<p>One day you hire an electrical company to install two switches in a hallway of your house, but due to a design error, the installation ends up like this: the wire passes through the first switch (let&rsquo;s call it switch A), goes straight to the second switch (B for intimates) and then exits to the lamp.</p>
<figure>
  <img src="./CPUImageFrame1.png" alt="" loading="lazy">
</figure><p>Did you notice that the lamp only lights up if both switches are on at the same time? If either one is turned off, the light goes out immediately! Well, this residential electrical atrocity can be explained, in mathematics, from one of its branches called boolean algebra, and in it we can demonstrate this with a table:</p>
<table>
  <thead>
      <tr>
          <th style="text-align: center">∧</th>
          <th style="text-align: center">0</th>
          <th style="text-align: center">1</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td style="text-align: center">0</td>
          <td style="text-align: center">0</td>
          <td style="text-align: center">0</td>
      </tr>
      <tr>
          <td style="text-align: center">1</td>
          <td style="text-align: center">0</td>
          <td style="text-align: center">1</td>
      </tr>
  </tbody>
</table>
<p>Writing this another way looks like this:</p>
<table>
  <thead>
      <tr>
          <th style="text-align: left">∧</th>
          <th style="text-align: left">A off</th>
          <th style="text-align: left">A on</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td style="text-align: left">B off</td>
          <td style="text-align: left">Light off</td>
          <td style="text-align: left">Light off</td>
      </tr>
      <tr>
          <td style="text-align: left">B on</td>
          <td style="text-align: left">Light off</td>
          <td style="text-align: left">Light on</td>
      </tr>
  </tbody>
</table>
<p>If you noticed well, now we have a way to represent what we want to happen with two switches and a lamp, and this example shown above is the first logic gate we&rsquo;re getting to know, the AND or Conjunction, and this table, demonstrated above in different forms, is called a Truth Table.</p>
<p>Ok, but what about my house light? How is it going to be? I need the light to turn on when A OR B is on. How do you do that?</p>
<p>The answer is in the question itself! 😉 We&rsquo;ll need another logic gate, the OR or Disjunction, and to understand how it works, let&rsquo;s use a truth table that fits these conditions:</p>
<table>
  <thead>
      <tr>
          <th style="text-align: center">?</th>
          <th style="text-align: center">0</th>
          <th style="text-align: center">1</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td style="text-align: center">0</td>
          <td style="text-align: center">0</td>
          <td style="text-align: center">1</td>
      </tr>
      <tr>
          <td style="text-align: center">1</td>
          <td style="text-align: center">1</td>
          <td style="text-align: center">1</td>
      </tr>
  </tbody>
</table>
<p>But before talking about OR, let&rsquo;s take a look at the NOT gate (or Negation). It&rsquo;s quite simple, but it will be important later on.</p>
<p><em>Interactive circ widget &mdash; <a href="https://jeffersonmourak.com/blog/logic-gates-en/">view it on the blog</a>.</em></p>
<pre><code>╭───╮     ╭───╮     ╭───╮
│ a ├○───▶┤NOT├○───▶┤LED│
╰───╯     ╰───╯     ╰───╯</code></pre>
<p>And if we write it in a truth table we&rsquo;ll have this here:</p>
<table>
  <thead>
      <tr>
          <th style="text-align: center">¬</th>
          <th style="text-align: center">0</th>
          <th style="text-align: center">1</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td style="text-align: center"></td>
          <td style="text-align: center">1</td>
          <td style="text-align: center">0</td>
      </tr>
  </tbody>
</table>
<p>So, let&rsquo;s take a break and review what we already know. First, the operations and how to represent them in a table. To simplify, let&rsquo;s transform these operations into symbols. Every time we refer to AND, this will be the symbol:</p>
<p><em>Interactive circ widget &mdash; <a href="https://jeffersonmourak.com/blog/logic-gates-en/">view it on the blog</a>.</em></p>
<pre><code>╭───╮     ╭───╮     ╭───╮
│ a ├○───▶┤   │ ╭──▶┤LED│
╰───╯     │AND├○╯   ╰───╯
       ╭─▶┤   │          
       │  ╰───╯          
       │                 
╭───╮  │                 
│ b ├○─╯                 
╰───╯                    </code></pre>
<p>and the NOT:</p>
<p><em>Interactive circ widget &mdash; <a href="https://jeffersonmourak.com/blog/logic-gates-en/">view it on the blog</a>.</em></p>
<pre><code>╭───╮     ╭───╮     ╭───╮
│ a ├○───▶┤NOT├○───▶┤LED│
╰───╯     ╰───╯     ╰───╯</code></pre>
<p>With these two logical operations (AND and NOT), we can already combine their results and create a third logic gate: the NAND (or Not AND).</p>
<p>It can be represented like this:</p>
<p><em>Interactive circ widget &mdash; <a href="https://jeffersonmourak.com/blog/logic-gates-en/">view it on the blog</a>.</em></p>
<pre><code>╭───╮     ╭─────────────╮     ╭───╮
│ a ├○───▶┤             │ ╭──▶┤LED│
╰───╯     │[nand:_nand_]├○╯   ╰───╯
       ╭─▶┤             │          
       │  ╰─────────────╯          
       │                           
╭───╮  │                           
│ b ├○─╯                           
╰───╯                              </code></pre>
<p><em>Interactive circ widget &mdash; <a href="https://jeffersonmourak.com/blog/logic-gates-en/">view it on the blog</a>.</em></p>
<pre><code>╭───╮     ╭───╮     ╭───╮     ╭───╮
│ a ├○───▶┤   │ ╭──▶┤NOT├○───▶┤LED│
╰───╯     │AND├○╯   ╰───╯     ╰───╯
       ╭─▶┤   │                    
       │  ╰───╯                    
       │                           
╭───╮  │                           
│ b ├○─╯                           
╰───╯                              </code></pre>
<p>Its truth table is identical to AND&rsquo;s, but with the results inverted.</p>
<table>
  <thead>
      <tr>
          <th style="text-align: center">¬∧</th>
          <th style="text-align: center">0</th>
          <th style="text-align: center">1</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td style="text-align: center">0</td>
          <td style="text-align: center">1</td>
          <td style="text-align: center">1</td>
      </tr>
      <tr>
          <td style="text-align: center">1</td>
          <td style="text-align: center">1</td>
          <td style="text-align: center">0</td>
      </tr>
  </tbody>
</table>
<p>Following this same logic of combining gates, we can use a NAND gate and invert each switch input with a NOT. Thus, we&rsquo;ll have the following:</p>
<p><em>Interactive circ widget &mdash; <a href="https://jeffersonmourak.com/blog/logic-gates-en/">view it on the blog</a>.</em></p>
<pre><code>╭───╮     ╭───╮     ╭─────────────╮     ╭───╮
│ a ├○───▶┤NOT├○───▶┤             │ ╭──▶┤LED│
╰───╯     ╰───╯     │[nand:_nand_]├○╯   ╰───╯
                 ╭─▶┤             │          
                 │  ╰─────────────╯          
                 │                           
╭───╮     ╭───╮  │                           
│ b ├○───▶┤NOT├○─╯                           
╰───╯     ╰───╯                              </code></pre>
<p>Analyzing the diagram above, we see that when both switches are off, both signals will be inverted by the NOT, and the NAND will result in ¬∧(1, 1) = 0. So with both off, the lamp turns off. But what happens when we have ¬∧(1, 0) or ¬∧(0, 1)? To find out, let&rsquo;s analyze the truth table:</p>
<table>
  <thead>
      <tr>
          <th style="text-align: center">∨</th>
          <th style="text-align: center">0</th>
          <th style="text-align: center">1</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td style="text-align: center">0</td>
          <td style="text-align: center">0</td>
          <td style="text-align: center">1</td>
      </tr>
      <tr>
          <td style="text-align: center">1</td>
          <td style="text-align: center">1</td>
          <td style="text-align: center">1</td>
      </tr>
  </tbody>
</table>
<figure>
  <img src="https://media1.giphy.com/media/v1.Y2lkPTc5MGI3NjExa2F3aTZ5Z2FhajUxem51aG5oYzBwYW1jdHI3NGswMzZzd3duMTh3biZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/n9h61thJkq6Xe/giphy.gif" alt="I tawt I taw a puddy tat!" loading="lazy">
  <figcaption>I tawt I taw a puddy tat!</figcaption>
</figure><p>But wait a minute, I have the impression that I&rsquo;ve seen this table before? Yes! This is the OR logic gate we were looking for. Quite a journey, isn&rsquo;t it? Now that we know how to fix the lamp wiring, we can take a break here. This is just the first article in a series about computers. Later on, we&rsquo;ll address other logic gates and other computing concepts.</p>
<h2 id="references">References</h2>
<ul>
<li><a href="https://pt.wikipedia.org/wiki/%C3%81lgebra_booliana">Boolean algebra (Wikipedia)</a></li>
<li><a href="https://en.wikipedia.org/wiki/Boolean_algebra">Boolean Algebra (Wikipedia)</a></li>
<li><a href="https://pt.wikipedia.org/wiki/Tabela-verdade">Truth table (Wikipedia)</a></li>
<li><a href="https://www.youtube.com/watch?v=QZwneRb-zqA">Exploring How Computers Work (YouTube)</a></li>
<li><a href="https://www.youtube.com/watch?v=sTu3LwpF6XI">Making logic gates from transistors (YouTube)</a></li>
<li><a href="https://www.youtube.com/watch?v=HjneAhCy2N4">HOW TRANSISTORS RUN CODE? (YouTube)</a></li>
</ul>
]]></content:encoded></item></channel></rss>