apendice-logica-binaria-portas-logicas.asc 4.89 KB
Newer Older
1
2
3
4
[[apendice_logica_binaria]]
[appendix]
== Lógica Binária e Portas Lógicas

5
:cap: apendice
6
7


8
[[sec_logica_binaria]]
9
10
=== Lógica Binária

11
12
(((Lógica Binária)))

13
14
15
16
17
18
19
20
21
22
23
24
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

25
O operador unário ((NOT)), negação binária, resulta no complemento do operando, 
26
ou seja, será um bit `1` se o operando for `0`, e será `0` caso contrário, 
27
conforme podemos confirmar pela ((tabela verdade)), onde A é o bit de entrada e 
28
29
30
31
32
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"]
33
|====
34
35
36
| A | S = NOT A
| 0 | 1 
| 1 | 0 
37
|====
38
39
40

==== Operador AND

41
O operador binário ((AND)), ou conjunção binária devolve um bit 1 sempre que 
42
43
44
45
46
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]]
47
.Tabela verdade do AND
48
[width="60%",cols="^2s,^2s,^3s",frame="topbot",options="header,footer"]
49
|====
50
51
52
53
54
| A | B | S = A AND B
| 0 | 0 | 0
| 0 | 1 | 0
| 1 | 0 | 0
| 1 | 1 | 1
55
|====
56
57
58
59


==== Operador OR

60
O operador binário ((OR)), ou disjunção binária devolve um bit `1` sempre que 
61
62
63
64
65
66
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]]
67
68
.Tabela verdade do OR
[width="60%",cols="^2s,^2s,^3s",frame="topbot",options="header,footer"]
69
|====
70
71
72
73
74
| A | B | S = A OR B
| 0 | 0 | 0
| 0 | 1 | 1
| 1 | 0 | 1
| 1 | 1 | 1
75
|====
76
77
78

==== Portas lógicas

79
80
(((Portas lógicas)))

81
82
83
84
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.
85
image::images/{cap}/portas_logicas.eps[scaledwidth="80%"]
86
87
88
89


=== Somador de 2 bits

90
No <<cap_sistemas_numeracao>>, aprendemos sobre os sistemas de numeração, dando ênfase ao 
91
92
sistema binário, sendo este o sistema adotado pelos computadores. Aprendemos 
como funciona a aritmética binária, soma, subtração, representação 
93
negativa dos números, entre outros. Na <<sec_logica_binaria>> vimos a lógica 
94
95
96
binária e seus três comandos básicos (AND, OR, NOT). Mas como um computador 
soma de fato?

97
Primeiramente, precisamos abordar as ((portas lógicas)), elas são a base para as 
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
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).
115
image::images/{cap}/somador.eps[scaledwidth="80%"]
116
117
118
119
120

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  
121
operação de soma com dois bits (<<sec_soma_binaria>>), onde a saída 'soma' representa o valor da soma 
122
123
124
125
126
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"]
127
|====
128
129
130
131
132
|A  | B | soma | carry (vai um)
| 0 | 0 | 0 | 0
| 0 | 1 | 1 | 0
| 1 | 0 | 1 | 0
| 1 | 1 | 0 | 1
133
|====
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151

.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.