apendice-logica-binaria-portas-logicas.asc 4.89 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
[[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.