Commit e6ddd65f authored by Eduardo de Santana Medeiros Alexandre's avatar Eduardo de Santana Medeiros Alexandre
Browse files

Logica Binário e Portas lógicas

parent 1e3e6ec2
[[apendice_logica_binaria]]
[appendix]
== Lógica Binária e Portas Lógicas
=== Lógica Binária
George Boole publicou a álgebra booleana (em 1854), sendo um sistema completo
que permitia a construção de modelos matemáticos para o processamento
computacional. O fascinante na lógica booleana é partir de três operadores
básicos, que veremos a seguir, e construir *Circuitos Lógicos* capazes de
realizar as diversas operações necessárias para um computador.
A seguir a descrição de cada um dos 3 operadores básicos. A <<fig_portas_logicas>>
representa os valores da tabela de valores (Tabela Verdade) dos operadores e a
representação gráfica, sendo também chamadas de portas lógicas.
==== Operador NOT
(((NOT)))
O operador unário NOT, negação binária, resulta no complemento do operando,
ou seja, será um bit `1` se o operando for `0`, e será `0` caso contrário,
conforme podemos confirmar pela tabela de verdade, onde A é o bit de entrada e
S é a resposta, ou bit de saída.
[[tb_verdade_NOT]]
.Tabela verdade do NOT
[width="50%",cols="^1s,^1s",frame="topbot",options="header,footer"]
|======================
| A | S = NOT A
| 0 | 1
| 1 | 0
|======================
==== Operador AND
(((AND)))
O operador binário AND, ou conjunção binária devolve um bit 1 sempre que
ambos operandos sejam `1`, conforme podemos confirmar pela tabela de verdade,
onde A e B são bits de entrada e S é o bit-resposta, ou bit de saída.
[[tb_verdade_AND]]
.Tabela verdade do NOT
[width="50%",cols="^1s,^1s,^1s",frame="topbot",options="header,footer"]
|======================
| A | B | S = A AND B
| 0 | 0 | 0
| 0 | 1 | 0
| 1 | 0 | 0
| 1 | 1 | 1
|======================
==== Operador OR
(((OR)))
O operador binário OR, ou disjunção binária devolve um bit `1` sempre que
pelo menos um dos operandos seja `1`, conforme podemos confirmar pela tabela de
verdade, onde A e B são os bits de entrada e S é o bit-resposta, ou bit de
saída.
[[tb_verdade_OR]]
.Tabela verdade do NOT
[width="50%",cols="^1s,^1s,^1s",frame="topbot",options="header,footer"]
|======================
| A | B | S = A OR B
| 0 | 0 | 0
| 0 | 1 | 1
| 1 | 0 | 1
| 1 | 1 | 1
==== Portas lógicas
A <<fig_portas_logicas>> representa as operações da lógica binária na notação gráfica, de Portas Lógicas.
[[fig_portas_logicas]]
.Representação gráfica dos operadores lógicos AND, OR e NOT, com seus valores de entrada e saída.
image::images/sistema-de-numeracao/portas_logicas.jpg[]
=== Somador de 2 bits
Neste capítulo, aprendemos sobre os sistemas de numeração, dando ênfase ao
sistema binário, sendo este o sistema adotado pelos computadores. Aprendemos
como funciona a aritmética binária, soma, subtração, representação
negativa dos números, entre outros. Em seguida, foi apresentada a lógica
binária e seus três comandos básicos (AND, OR, NOT). Mas como um computador
soma de fato?
Primeiramente, precisamos abordar as portas lógicas, elas são a base para as
outras operações. A construção de uma porta lógica, utiliza conhecimentos
de circuitos eletrônicos formados por diodos, resistências, capacitores entre
outros que são abordados em cursos avançados da Eletrônica Analógica,
entretanto, seu entendimento foge ao escopo deste livro.
TIP: Para melhores detalhes sobre portas lógicas visite:
http://www.dcmm.puc-rio.br/cursos/eletronica/html/sld001.htm.
O importante agora é sabermos que existem portas lógicas que seguem a lógica
binária já apresentada e que estas portas podem ser combinadas, formando os
*Circuitos Digitais*. A <<fig_somador>> apresenta um Circuito Digital Somador de Dois
Bits.
(((somador)))
[[fig_somador]]
.Circuito Digital Somador de Dois Bits formado pelas portas lógicas básicas (AND, OR, NOT).
image::images/sistema-de-numeracao/somador.png[]
Propomos ao leitor, tentar acompanhar passo a passo o circuito digital proposto
e entender como possíveis entradas binárias em A e B terão o resultado
esperado nas saídas 'soma' e 'carry'. Em seus testes utilize a <<tb_somador>>,
e se tiver alguma dúvida sobre os valores da tabela, revisem a
operação de soma com dois bits, onde a saída 'soma' representa o valor da soma
na unidade corrente e o 'carry' representa o “vai um” da operação.
[[tb_somador]]
.Tabela de valores da operação de Soma de Dois Bits
[width="50%",cols="^1,^1,^2,^3",frame="topbot",options="header,footer"]
|======================
|A | B | soma | carry (vai um)
| 0 | 0 | 0 | 0
| 0 | 1 | 1 | 0
| 1 | 0 | 1 | 0
| 1 | 1 | 0 | 1
|======================
.Vídeo sobre o Circuito Digital Somador de 2 Bits: http://youtu.be/E5yDNF2clQw
ifdef::livro-pdf[]
["qrcode", size=10, scaledwidth="30%"]
-------------------------
http://youtu.be/E5yDNF2clQw
-------------------------
endif::livro-pdf[]
ifdef::livro-html[]
+++
<?dbhtml-include href="videos/circuitoDigital.html"?>
+++
endif::livro-html[]
// Sempre terminar o arquivo com uma nova linha.
......@@ -1036,109 +1036,10 @@ Normalizando:
Representação do resultado (01101010 + 01011100) em Ponto Flutuante = 01101000
=== Lógica Binária
George Boole publicou a álgebra booleana (em 1854), sendo um sistema completo
que permitia a construção de modelos matemáticos para o processamento
computacional. O fascinante na lógica booleana é partir de três operadores
básicos, que veremos a seguir, e construir *Circuitos Lógicos* capazes de
realizar as diversas operações necessárias para um computador.
A seguir a descrição de cada um dos 3 operadores básicos. A <<fig_portas_logicas>>
representa os valores da tabela de valores (Tabela Verdade) dos operadores e a
representação gráfica, sendo também chamadas de portas lógicas.
==== Operador NOT
(((NOT)))
O operador unário NOT, negação binária, resulta no complemento do operando,
ou seja, será um bit `1` se o operando for `0`, e será `0` caso contrário,
conforme podemos confirmar pela tabela de verdade, onde A é o bit de entrada e
S é a resposta, ou bit de saída.
==== Operador AND
(((AND)))
O operador binário AND, ou conjunção binária devolve um bit 1 sempre que
ambos operandos sejam `1`, conforme podemos confirmar pela tabela de verdade,
onde A e B são bits de entrada e S é o bit-resposta, ou bit de saída.
==== Operador OR
(((OR)))
O operador binário OR, ou disjunção binária devolve um bit `1` sempre que
pelo menos um dos operandos seja `1`, conforme podemos confirmar pela tabela de
verdade, onde A e B são os bits de entrada e S é o bit-resposta, ou bit de
saída.
[[fig_portas_logicas]]
.Representação gráfica dos operadores lógicos AND, OR e NOT, com seus valores de entrada e saída.
image::images/sistema-de-numeracao/portas_logicas.jpg[]
=== Somador de 2 bits
Neste capítulo, aprendemos sobre os sistemas de numeração, dando ênfase ao
sistema binário, sendo este o sistema adotado pelos computadores. Aprendemos
como funciona a aritmética binária, soma, subtração, representação
negativa dos números, entre outros. Em seguida, foi apresentada a lógica
binária e seus três comandos básicos (AND, OR, NOT). Mas como um computador
soma de fato?
Primeiramente, precisamos abordar as portas lógicas, elas são a base para as
outras operações. A construção de uma porta lógica, utiliza conhecimentos
de circuitos eletrônicos formados por diodos, resistências, capacitores entre
outros que são abordados em cursos avançados da Eletrônica Analógica,
entretanto, seu entendimento foge ao escopo deste livro.
TIP: Para melhores detalhes sobre portas lógicas visite:
http://www.dcmm.puc-rio.br/cursos/eletronica/html/sld001.htm.
O importante agora é sabermos que existem portas lógicas que seguem a lógica
binária já apresentada e que estas portas podem ser combinadas, formando os
*Circuitos Digitais*. A <<fig_somador>> apresenta um Circuito Digital Somador de Dois
Bits.
(((somador)))
[[fig_somador]]
.Circuito Digital Somador de Dois Bits formado pelas portas lógicas básicas (AND, OR, NOT).
image::images/sistema-de-numeracao/somador.png[]
Propomos ao leitor, tentar acompanhar passo a passo o circuito digital proposto
e entender como possíveis entradas binárias em A e B terão o resultado
esperado nas saídas 'soma' e 'carry'. Em seus testes utilize a <<tb_somador>>,
e se tiver alguma dúvida sobre os valores da tabela, revisem a
operação de soma com dois bits, onde a saída 'soma' representa o valor da soma
na unidade corrente e o 'carry' representa o “vai um” da operação.
[[tb_somador]]
.Tabela de valores da operação de Soma de Dois Bits
[width="50%",cols="^1,^1,^2,^3",frame="topbot",options="header,footer"]
|======================
|A | B | soma | carry (vai um)
| 0 | 0 | 0 | 0
| 0 | 1 | 1 | 0
| 1 | 0 | 1 | 0
| 1 | 1 | 0 | 1
|======================
.Vídeo sobre o Circuito Digital Somador de 2 Bits: http://youtu.be/E5yDNF2clQw
ifdef::livro-pdf[]
["qrcode", size=10, scaledwidth="30%"]
-------------------------
http://youtu.be/E5yDNF2clQw
-------------------------
endif::livro-pdf[]
ifdef::livro-html[]
+++
<?dbhtml-include href="videos/circuitoDigital.html"?>
+++
endif::livro-html[]
=== Lógica Binária e Portas Lógicas
O <<apendice_logica_binaria>> contém a apresentação da Lógica Binária e a notação de portas lógicas (utilizadas nas confecções de circuitos).
Lá você poderá verificar como um circuito para somar 2 bits pode ser implementado através de portas lógicas.
=== Recapitulando
......
......@@ -22,8 +22,11 @@ include::capitulos/cap4-organizacao-computador.asc[]
include::capitulos/cap5-tradutor.asc[]
include::capitulos/cap6-sistemas-operacionais.asc[]
include::capitulos/cap7-redes.asc[]
include::capitulos/apendice-logica-binaria-portas-logicas.asc[]
include::capitulos/apendice-pratica-compilacao.asc[]
include::capitulos/apendice-pratica-wireshark.asc[]
include::capitulos/referencias.asc[]
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment