Captura de Ecrã 2024-06-27 À(s) 12.55.20

Fazer download em pdf ou txt
Fazer download em pdf ou txt
Você está na página 1de 45

CAP.I.

CONCEITOS FUNDAMENTAIS
1.0. Introdução
1.1. Electrónica digital
1.2.Conceitos lógicos
1.3. Sistema
1.3.1. Sistemas Digitais
1.4. Lógica
1.4.1. Proposição
1.4.2. Composição de Proposições
1.4.3. Lógica e computadores
1.5. Tipos de Dados e Representação de Dados
1.6. Notação Posicional
1.7. Sistemas de numeração e código binário
1.8. Códigos:

SL-ESD 2024: PARA ESTUDANTES DO CURSO DE ENGENHARIA INFORMATICA – LUSIADA


E ISPCAB Página 1
CAPITULO I. CONCEITOS FUNDAMENTAIS
1.0. INTRODUÇÃO

A electricidade define-se como a área da física que se ocupa do estudo dos


fenómenos electrostáticos, electrocinética e do electromagnetismo.

A electrónica pode-se definir como a área da ciência e da técnica que trata os


processos e aplicações de partículas carregadas, tanto no vazio como em gases e
sólidos. No conceito de electrónica incluem-se ainda o projecto e fabrico de
componentes electrónicos, assim como o desenvolvimento dos circuitos necessários à
construção de equipamentos e instalações. A sua diversidade é tão grande que,
actualmente, quase todas as áreas são altamente especializadas. A electrónica está
presente em quase tudo no nosso dia-a-dia, desde o nosso televisor, ao mais
sofisticado sistema de controlo, todos estes dispositivos não eram possíveis sem o
desenvolvimento da electrónica.

1.1. ELECTRÓNICA DIGITAL


1.1.1. Conceitos lógicos

Trata-se principalmente de circuitos em que as tensões de entrada e de saída variam


num certo intervalo contínuo. Isto acontece quando os sinais com que trabalhamos são
contínuos. No entanto existem situações em que o sinal de entrada é naturalmente
discreto. Nesses casos o uso de Electrónica Digital (circuitos que tratam dados
compostos de 1´s e 0´s) é natural e mais conveniente. Além do mais é por vezes
desejável converter dados contínuos (analógicos) para a forma digital, e vice-versa, de
forma a tratar os dados num computador ou a guardar grandes quantidades de dados
como números.ais analógicos

1.2. Estados lógicos

SL-ESD 2024: PARA ESTUDANTES DO CURSO DE ENGENHARIA INFORMATICA – LUSIADA


E ISPCAB Página 2
Electrónica Digital significa circuitos nos quais existem apenas (geralmente) dois
estados em qualquer ponto do circuito. Em geral trabalham-se com voltagens
chamando aos níveis HIGH (alto) e LOW (baixo). Os dois estados representam “bits”
(binary digits) de informação.

1.2.1. HIGH e LOW

Os níveis HIGH e LOW representam, de uma forma predefinida, os estados Verdadeiro


e Falso da lógica Booleana. Para representar o estado Verdadeiro e Falso também são
usados os algarismos 1 e 0, respectivamente.

1.3. Intervalo de voltagem

Em circuitos digitais os níveis de voltagem correspondentes a HIGH e LOW pertencem


a um certo intervalo. Um exemplo é a tecnologia CMOS onde o nível LOW está a
menos de 1,5 V do nível da terra (entre -0,3V e +1,5V) e o nível HIGH a 1,5V dos +5V
(entre 3,5 e 5,5V), a qual é a tensão de alimentação. Isto permite ter em conta os
defeitos de fabrico, as variações com a temperatura e com a tensão de entrada, a
presença de ruído, etc.

1.4. Sistema

Um sistema pode ser definido como sendo um conjunto de elementos que são Inter-
ligados de alguma maneira para compor um todo e assim realizar funcionalidade
específica. Por exemplo, um aparelho de som é composto de vários componentes, tais
como: compartimento para discos e fitas, amplificador, auto-falantes, etc. Todos são
interconectados por cabos eléctricos.

Um sistema também possui uma função bem definida, na qual pode ser identificada a
partir das funcionalidades de seus componentes.

SL-ESD 2024: PARA ESTUDANTES DO CURSO DE ENGENHARIA INFORMATICA – LUSIADA


E ISPCAB Página 3
Por exemplo, a função do aparelho de som é de transformar a informação armazenada
em discos e/ou fitas em som audível, o que é algo que nenhum dos componentes do
sistema pode realizar por si só.

Neste sentido, pode-se identificar dois aspectos fundamentais em qualquer sistema:


sua estrutura e seu comportamento. A estrutura reflete os componentes e como eles
estão interconectados e o comportamento reflete a funcionalidade do sistema.
Sistemas em que o número de componentes é alto e/ou as inter-relações entre eles
não são muito claras ou difíceis de serem estabelecidas e entendidas são ditos
complexos. No projeto de tais sistemas complexos, a identificação de alguma ordem
ou regularidade é de extrema importância, o que normalmente requer uma abordagem
estruturada e sistemática.

Dependendo de quais aspectos se está tentando identificar, deve-se usar um tipo de


representação e um nível de abstração adequados. Os três tipos mais comuns de
representação são: o comportamental, o estrutural e o físico.

Uma representação comportamental captura o sistema como uma caixa preta e se


concentra na especificação do comportamento como uma função de valores de entrada
e o tempo. Em outras palavras, uma representação comportamental descreve a
funcionalidade mas não a implementação de um dado sistema, definindo as respostas
da caixa preta para qualquer combinação dos valores de entrada mas sem descrever
como projetar ou construir o sistema usando dados componentes.

Uma representação estrutural define a caixa preta como um conjunto de


componentes e suas interconexões. Diferente da representação comportamental, a
representação estrutural especifica a implementação do sistema sem qualquer
referência à sua funcionalidade.

Obviamente, muitas vezes a funcionalidade pode ser derivada a partir dos


componentes interconectados. No entanto, derivar a funcionalidade de um sistema
SL-ESD 2024: PARA ESTUDANTES DO CURSO DE ENGENHARIA INFORMATICA – LUSIADA
E ISPCAB Página 4
desta maneira é muito difícil, principalmente, se o sistema possui um grande número de
componentes.

Uma representação física especifica as características físicas da caixa preta,


indicando as dimensões e as posições de cada componente e conexão existentes na
descrição estrutural do sistema. Enquanto a representação estrutural fornece a
conectividade do sistema, somente a representação física é que descreve
precisamente as relações espaciais dos vários componentes. Ou seja, a representação
física é usada para descrever o sistema depois de ter sido fabricado, especificando seu
peso, tamanho, consumo de potência e posição de cada pino de entrada ou saída.

Uma maneira natural e conveniente para representar a estrutura de um sistema é o uso


de diagramas de bloco, onde os componentes são representados por retângulos,
chamados blocos, e conexões que são denotadas por linhas interligando os blocos.

O processo de projeto de sistemas, principalmente, produtos eletrônicos em geral e


sistemas digitais em particular, consiste sempre de pelo menos três fases, cada uma
centrada em uma das representações de projeto:
1. Derivar uma representação comportamental da funcionalidade do produto;
2. Converter esta representação para uma representação estrutural contendo
Componentes de uma dada biblioteca de componentes;
3. Produzir uma representação física que especifica como montar e fabricar o produto.

Qualquer projeto pode ser realizado seguindo estes passos usando diferentes níveis de
abstração. Em um nível de abstração apenas determinados detalhes são
representados.

Normalmente, os detalhes capturados em uma dada fase do projeto dependem


dacomplexidade do sistema. Por exemplo, é praticamente impossível projetar um
microprocessador inteiro usando apenas portas lógicas básicas.Normalmente, inicia-se
oprojeto pelos blocos básicos no nível lógico. A seguir, estes blocos são
SL-ESD 2024: PARA ESTUDANTES DO CURSO DE ENGENHARIA INFORMATICA – LUSIADA
E ISPCAB Página 5
interconectados paracompor um sistema mais complexo, como por exemplo um
microprocessador.

1.5.1. Sistemas Digitais

Um sistema digital pode ser definido como um conjunto de componentes


interconectados que processam informações em forma digital ou discreta. Na maior
parte dos sistemas digitais, os componentes básicos utilizados são dispositivos
eletrônicos chamados circuitos integrados (CI).
As ligações entre estes componentes eletrônicos, são conexões físicas através das
quais a informação digital é transmitida.
Sistemas digitais modernos abrangem uma vasta gama de graus de complexidade. Os
componentes disponíveis para a construção de sistemas digitais vão desde chaves do
tipo liga-desliga até computadores completos. O número de componentes em um
sistema digital pode variar de um, dois ou de milhares de componentes. Obviamente,
quanto mais componentes são necessários à implementação de um sistema digital,
mais complexo ele é e, conseqüentemente, mais difícil de entender seu funcionamento
e de projetá-lo. Daí a importância do uso de níveis de abstração no processo de projeto
de sistemas digitais.
Um nível de abstração, ou de granularidade, é caracterizado pelo tipo de objetos
utilizados na representação. Em geral, pode-se identificar quatro diferentes tipos de
objectos em um produto eletrônico: transístores, portas, registradores e processadores.

Nível Comportamento Estrutura Físico


Equações diferenciais, Transistores, Células
Transistor diagramas corrente resistores, analógicas e
voltagem capacitores digitais
Equações Booleanas, Portas lógicas, Módulos,
Portas máquinas de estado Flip-flops unidades
finitas (FSM)
Algoritmos, flowcharts, Somadores,
conjunto de instruções, comparadores,
Registrador generalizações de contadores, Microcircuitos
maquinas de estado registradores
finito
Placas de

SL-ESD 2024: PARA ESTUDANTES DO CURSO DE ENGENHARIA INFORMATICA – LUSIADA


E ISPCAB Página 6
circuito
Processador Especificação Processadores, impresso,
executável, programas controladores, módulos
multicircuitos

Os principais componentes no nível de transístores, são transístores, resistores e


capacitores, que são combinados para formar circuitos analógicos e digitais que
realizam uma dada funcionalidade. Esta funcionalidade, é usualmente descrita por um
conjunto de equações diferenciais ou por algum tipo de relacionamento entre corrente e
tensão. A representação física destes circuitos, denominadas células, podem consistir
decomponentes do nível de transístores e as conexões que os interconectam.

Os principais componentes do nível de portas são portas lógicas e flip-flops. Portas


lógicas são circuitos especiais que implementam operações Booleanas, tais como E e
OU.

Um flip-flop é um elemento básico de memória que é capaz de armazenar um bit de


informação, podendo assumir o valor 0 (falso) ou 1 (verdadeiro). Portas e flip-flops são
células digitais que podem ser grupadas para formar módulos ou unidades aritméticas
e de memória. Os módulos são utilizados como componentes básicos no nível de
registradores. O comportamento de cada módulo pode ser descrito com o uso de
equações Booleanas e diagramas de máquinas de estados finitas (Finite State
Machines - FSMs).

No nível de registradores, os principais componentes são unidades aritméticas e de


memória, tais como, somadores, comparadores, multiplicadores, contadores,
registradores, bancos de registradores, filas, etc. Cada um destes componentes é um
módulo com dimensões fixas, um atraso de propagação e um conjunto de posições
(fixas) para as entradas e saídas do
módulo. Estes componentes do nível de registradores podem ser montados e
interconectados em microcircuitos, que podem ser usados como componentes básicos

SL-ESD 2024: PARA ESTUDANTES DO CURSO DE ENGENHARIA INFORMATICA – LUSIADA


E ISPCAB Página 7
no nível de abstração acima. Usualmente, estes microcircuitos são descritos por
fluxogramas, conjuntos de instruções, diagramas de FSMs ou tabelas de estados.

O mais alto nível de abstração apresentado na tabela é o nível de processador, onde


os componentes básicos são processadores, memórias, controladores e interfaces,
além de circuitos de aplicação específica (Application Specific Integrated Circuits -
ASICs).

Geralmente, um ou mais destes componentes são montados em uma placa de circuito


impresso e conectados com fios que são impressos na placa. O comportamento de
sistemas compostos destes componentes do nível de processadores é usualmente
descrito utilizando-se uma linguagem natural, uma especificação executável em alguma
linguagem de descrição de hardware (Hardware Description Language - HDL), ou um
algoritmo ou programa escrito em uma linguagem de programação convencional.

Para representar o comportamento de sistemas digitais no nível de portas lógicas


usam-se tabelas verdades e equações Booleanas. No nível de registradores, usa-se
algum tipo de linguagem para descrever as transferências de dados entre os
registradores. Para possibilitar a simulação do sistema no nível de processador são
geralmente utilizadas linguagens procedurais para descrever os algoritmos na forma de
programas executáveis.

1.6. Lógica

Lógica do grego clássico ukn logos, que significa palavra, pensamento, ideias,
argumento, relato, razão lógica ou princípio lógico, considerada uma ciência formal que
é o estudo formal sistemático dos princípios da inferência válida e do pensamento
correcto.

A logica é o instrumento do pensar. Podemos então dizer que, a lógica trata dos
argumentos, isto é, das conclusões que chegamos através da apresentação de

SL-ESD 2024: PARA ESTUDANTES DO CURSO DE ENGENHARIA INFORMATICA – LUSIADA


E ISPCAB Página 8
evidências que a sustentam. O principal organizador da lógica clássica foi o Aristóteles,
com a sua obra chamada orgaman ele divide a lógica em formal e material.

Um sistema lógico é um conjunto de axiomas e regras de inferência que visam


representar formalmente um raciocínio válido. Foram construindo ao longo do tempo
quer no âmbito escrito na lógica teórica, quer em aplicações práticas na computação e
em inteligência artificial.

Lógica é também a designação para estudos de sistemas prescritivos de raciocínio ou


seja, sistemas que definem como se deveriam realmente pensar para não errar usando
a razão.

1.6.1. Proposição

Segundo Quine, toda proposição é uma frase mas nem toda frase é uma proposição;
uma frase é uma proposição apenas quando admite um dos dois valores lógicos: Falso
(F) ou Verdadeiro (V). Exemplos:

1. Frases que não são proposições


o Pare!
o Quer uma xícara de café?
o Eu não estou bem certo se esta cor me agrada
2. Frases que são proposições
o A lua é o único satélite do planeta terra (V)
o A cidade de Landana é a capital de Angola (F)
o O número 712 é ímpar (F)
o Raiz quadrada de dois é um número irracional (V)

1.6.2. Composição de Proposições

É possível construir proposições a partir de proposições já existentes. Este processo é


conhecido por Composição de Proposições. Consideramos as seguintes
proposições:

1. A = "Maria tem 23 anos"


2. B = "Maria é menor"

SL-ESD 2024: PARA ESTUDANTES DO CURSO DE ENGENHARIA INFORMATICA – LUSIADA


E ISPCAB Página 9
Pela legislação corrente de um país fictício, uma pessoa é considerada de menor idade
caso tenha menos de 18 anos, o que faz com que a proposição B seja F, na
interpretação da proposição A ser V. Vamos a alguns exemplos:

1. "Maria não tem 23 anos" (nãoA)


2. "Maria não é menor"(não(B))
3. "Maria tem 23 anos" e "Maria é menor" (A e B)
4. "Maria tem 23 anos" ou "Maria é menor" (A ou B)
5. "Maria não tem 23 anos" e "Maria é menor" (não(A) e B)
6. "Maria não tem 23 anos" ou "Maria é menor" (não(A) ou B)
7. "Maria tem 23 anos" ou "Maria não é menor" (A ou não(B))
8. "Maria tem 23 anos" e "Maria não é menor" (A e não(B))
9. Se "Maria tem 23 anos" então "Maria é menor" (A =>B)
10. Se "Maria não tem 23 anos" então "Maria é menor" (não(A) =>B)
11. "Maria não tem 23 anos" e "Maria é menor" (não(A) e B)
12. «"Maria tem 18 anos" é equivalente a "Maria não é menor" (C<=>não(B))

Note que, para compor proposições usou-se os símbolos não (negação), e (conjunção),
ou (disjunção), => (implicação) e, finalmente, <=> (equivalência).São os chamados
conectivos lógicos. Note, também, que usou-se um símbolo para representar uma
proposição: C representa a proposição Maria tem 18 anos. Assim, não(B) representa
Maria não é menor, uma vez que B representa Maria é menor.

Algumas Leis Fundamentais

Lei do Meio
Excluido Uma proposição é falsa (F) ou verdadeira (V): não há meio termo.
Lei da
Contradição Uma proposição não pode ser, simultaneamente, V e F.
Lei da O valor lógico (V ou F) de uma proposição composta é unicamente
Funcionalidade determinada pelos valores lógicos de suas proposições constituintes.

Tabela - Verdade

SL-ESD 2024: PARA ESTUDANTES DO CURSO DE ENGENHARIA INFORMATICA – LUSIADA


E ISPCAB Página 10
A tabela - verdade, como se sabe, é um instrumento eficiente para a especificação de
uma composição de proposições. Abaixo segue a tabela-verdade dos conectivos aqui
tratados,

Negação
A ~(A), ou -A, ou /A, ou ainda, A'
F V
V F
Conjunção Disjunção Implicação Equivalência
A B
A . B, ou AB A + B A => B A <=> B
F F F F V V
F V F V V F
V F F V F F
V V V V V V

Alguns destaques das tabelas-verdade tratadas:

 A negação, como o próprio nome diz, nega a proposição que tem como
argumento. Tem como símbolo o acento "~" ,~A,ou, algumas vezes, uma barra
sobre a variavel lógica, Ã, ou o sinal "-", -A, ou o símbolo "/", /A, ou ainda, o sinal
"'", A'. Lembre-se que o símbolo nada mais é que uma simples representação da
negação. O que é relevante é que o significado do símbolo seja explicitamente
declarado. Aqui, os símbolos mais usados para a negação são o sinal "'", e barra

por sobre a variável lógica, .


 O símbolo mais utilizado para a conjunção, em Eletrônica Digital, é o ponto ".".
 O símbolo mais utilizado para a disjunção, em Eletrônica Digital, é o sinal "+".
 A única função da implicação lógica (A => B, onde A é o antecedente e B é o
conseqüente) é afirmar o conseqüente no caso do antecedente ser verdadeiro.
Segundo Quine, a única maneira de se negar a implicação lógica como um todo
é quando isto não ocorre, isto é, tem-se o antecedente (A) V e o consequente
(B) é F. Apenas neste caso, a implicação (A => B) é F. Em todos os outros
casos é V.
SL-ESD 2024: PARA ESTUDANTES DO CURSO DE ENGENHARIA INFORMATICA – LUSIADA
E ISPCAB Página 11
 A equivalência sempre é V quando os dois argumentos possuem o mesmo valor
lógico (seja, este valor, V ou F).

1.6.3. Lógica e computadores

A lógica, é extensivamente utilizada em todas as áreas vinculadas aos computadores.


Partindo-se do princípio que muito das nossas tarefas diárias são uma sequência que
obedecem uma determinada ordem, de um estado inicial através de um período de
tempo finito e que nesse período produzimos resultados esperados e bem definidos,
poderiamos classificar essas tarefas dentro de um algoritmo que utilize o conceito da
lógica formal para fazer com que o computador produza uma série sequencial.

Nas décadas de 50 e 60 pesquisadores previam que quando o conhecimento humano


pudesse ser expresso usando lógica com notação matemática, supunham que seria
possível criar uma máquina com capacidade de pensar, ou seja, inteligência artificial.
Isto se tornou mais difícil naquilo que se esperava em função da complexidade do
raciocínio humano. A programação lógica, é uma tentativa de fazer computadores
usarem raciocínio lógico e a linguagem de programação PROLOG é comumente
utilizada para isto.

1.7. Tipos de Dados e Representação de Dados

Os tipos de dados mais comuns em sistemas digitais (note-se que os computadores


actuais são sistemas digitais) podem ser classificados em uma das seguintes
categorias:
 Números usados em cálculos aritméticos;
 Letras do alfabeto, usadas no processamento de dados;
 Símbolos discretos, usados para diversos propósitos

Todos os dados são representados em formato binário porque o uso deste formato
facilita o projeto de circuitos eletrônicos que exibem duas condições possíveis, as quais
são convenientemente interpretadas como os valores 0 e 1 de um dígito binário (bit).

SL-ESD 2024: PARA ESTUDANTES DO CURSO DE ENGENHARIA INFORMATICA – LUSIADA


E ISPCAB Página 12
1.7.1. Notação Posicional

Todos os sistemas numéricos utilizados pelo ser humano são posicionais. Em um


sistema posicional, cada dígito possui um peso associado. Assim, o valor de um dado
número corresponde a uma soma ponderada de seus dígitos, como por exemplo:

1999 = 1 1000 + 9 100 + 9 10+ 9 1

Note que, no número anterior, o peso de cada posição é 10i, onde i corresponde à
posição do dígito, contada a partir da direita, e sendo i=0 para o dígito mais à direita.

Em geral, qualquer número decimal D, no formato d1 d0 d-1 d-2 tem como valor:

D = d1.101 + d0.100 + d-1.10-1 + d-2.10-2 onde 10 é chamado base.

Num sistema posicional genérico, a base pode ser qualquer valor inteiro r, e um dígito
numa posição i assume peso ri. Logo, podemos escrever o formato genérico de um
número em tal sistema como sendo:

dm-1 dm-2 … d1 d0.d-1 d-2 … d-n; onde há m dígitos à esquerda do ponto e n dígitos à
direita do ponto. Note que, se não houver ponto, assume-se que este está à direita do
dígito mais à direita. O valor deste número é o somatório dos produtos de cada dígito
pela correspondente potência da base:

Para um número qualquer, o dígito mais à direita é comumente referenciado como


dígito menos significativo (least-significative bit - LSB, em inglês), ao passo que o
dígito mais à esquerda é denominado dígito mais significativo (most-significative bit –
MSB, em inglês).

SL-ESD 2024: PARA ESTUDANTES DO CURSO DE ENGENHARIA INFORMATICA – LUSIADA


E ISPCAB Página 13
Desde que sistemas digitais usam dígitos binários, estaremos particularmente
interessados no sistema binário. Neste sistema, a base utilizada é 2, de modo que um
número em binário assume a forma:

Similarmente ao sistema decimal, o ponto no sistema binário é denominado ponto


binário. Normalmente, quando se trabalha com sistemas de base não-decimal, indica-
se a base subscrevendo-se o valor da base à direita do número. Exemplos:

101012 = 1x16 + 0x 8 + 1x 4 + 0x 2 + 1x 1 = 2110


11112 = 1x 0.5 + 1x 0.25 + 1x 0.125 + 1x 0.0625 = 0.937510

1.8. Sistemas de numeração e código binário

Existem muitas formas de representar as grandezas quantitativas, e que se designam


por sistemas de numeração.

Cada sistema tem uma base, que se define como o número de símbolos distintos
usados para representar as quantidades. O sistema que utilizamos no dia-a-dia é o
sistema decimal, cuja base é o número 10 em virtude de se empregarem dez símbolos
(10 números ou algarismos) na sua representação.
Neste sistema, um número pode decompor-se em potência de 10.
Para distinguir a base em que uma quantidade está representada, à direita desta
coloca-se um índice que indica sua base.

a) Sistema decimal ou base 10

É o sistema utilizado quotidianamente, tendo sido baseado no facto do ser humano


utilizar cinco dedos em cada mão, num total de dez dedos. Utilize dez algarismos ou
dígitos: 0,1,2,3,4,5,6,7,8 e 9.

A numeração decimal vulgar é um exemplo de notação posicional, estando associado


um determinado peso a cada posição do digito que é uma potencia da base do digito.

Então, para qualquer base, o valor de um nº é dado pela expressão:

SL-ESD 2024: PARA ESTUDANTES DO CURSO DE ENGENHARIA INFORMATICA – LUSIADA


E ISPCAB Página 14
Nb= an…a3a2a1a0, a-1a-2a-3…a-m

Para parte inteira, an(que é o numero mais à esquerda) é o digito mais


significativo(MSD-Most Significant Digit), porque é o que tem mais peso na parte inteira
do numero, e o a0(que é o numero mais à direita) é o digito menos significativo(LSD-
Least Significant Digit), porque é o que tem menos peso na parte inteira do numero.

Para a parte fraccionaria, a-1(que é o numero mais à esquerda) é o digito mais


significativo(MSD-Most Significant Digit), porque é o que tem mais peso nesta parte, e
o a-m(o numero mais à direita) é o digito menos significativo(LSD-Least Significant
Digit), porque tem menor peso na parte fraccionária.

10000 1000 100 10 1 0,1 0,01 0,001


104 103 102 101 100 10-1 10-2 10-3
- - - - - 1/101 1/102 1/103

Exemplos:

- Para um número inteiro:


198710= 1x103+9x102+8x101+7x100

Em relação ao seu peso:

1987 100=1
101=10
102=100
103=1000

1987: 1 é o MSD e 7 é o LSD

- Para a parte fraccionária:

1987,65=1x103+9x102+8x101+7x100+6x10-1+5x10-2

Em relação ao seu peso:

1987,65 10-2=0,01
10-1=0,1

SL-ESD 2024: PARA ESTUDANTES DO CURSO DE ENGENHARIA INFORMATICA – LUSIADA


E ISPCAB Página 15
100=1
101=10
102=100
103=1000

1987,65: 6 é o MSD e 5 é o LSD

b) Sistema binário:

É o sistema mais utilizado em sistemas digitais, porque se baseia nos dois únicos
estados possíveis: verdadeiro ou falso; aberto ou fechado; conduz ou não conduz.
Utilize somente dois algarismos ou dígitos: 0 e 1 tendo por base do sistema o nº 2.

Os dígitos nos números binários são vulgarmente designados por bits, abreviatura de
binary digit (dígitos binários). O agrupamento de oito bits designa-se por byte.

Exemplos:

- Para um número inteiro:

1001012= 1x25+0x24+0x23+1x22+0x21+1x20

Em relação ao seu peso:

100101 20=1
21=2
22=4
23=8
24=16
25=32

- Para um número fraccionário:

1001012= 1x25+0x24+0x23+1x22+0x21+1x20+1x2-1+1x2-2

Em relação ao seu peso:

100101,11
2-2=0,25
2-1=0,5
20=1
21=2

SL-ESD 2024: PARA ESTUDANTES DO CURSO DE ENGENHARIA INFORMATICA – LUSIADA


E ISPCAB Página 16
22=4
23=8
24=16
25=32

A construção de um número binário, é muito simples, começa-se da direita para


esquerda, começando no zero e passando a 1 no número binário seguinte.

Números equivalentes com base decimal e binário

Decimal Binário Decimal Binário Decimal Binário


0 00000 7 14
1 00001 8 15
2 00010 9 16
3 00011 10 17
4 00100 11 18
5 00101 12 19
6 00110 13 20

c) Sistema octal:
O sistema octal é designado por octal porque utiliza oito algarismos ou dígitos:
0,1,2,3,4,5,6 e 7, sendo a sua base o 8.

Exemplos:

- Para um número inteiro:

12348=1x83+2x82+3x81+4x80

Em relação ao seu peso:

1234 peso

80=1
81=8
82=64
83=512

SL-ESD 2024: PARA ESTUDANTES DO CURSO DE ENGENHARIA INFORMATICA – LUSIADA


E ISPCAB Página 17
- Para um número fraccionário:

34,56=3x81+4x80+5x8-1+6x8-2

Em relação ao seu peso:

34,56 peso
8-2=0,015625
8-1=0,125
80=1
81=8

d) Sistema hexadecimal:
O sistema é designado hexadecimal porque utilize dezasseis algarismos ou digitos:
0,1,2,3,4,5,6,7,8,9,A,B,C,D,E e F, sendo a sua base 16.

Exemplo:
- Para um número inteiro:

2716= 2x161+7x160

Em relação ao peso:

27 peso
160=1
161=16
- Para um número fraccionário:

27,5616= 2x161+7x160+5x16-1+6x16-2
Em relação ao seu peso:

27,56 peso
16-2=0,00392625
16-1=0,0625
160=1
161=16

1.9.1. CONVERSAO ENTRE SISTEMAS

A) Conversão decimal – binário (números inteiros)

Ex. Converter 4710 para binário

O resultado é obtido de baixo para cima.

SL-ESD 2024: PARA ESTUDANTES DO CURSO DE ENGENHARIA INFORMATICA – LUSIADA


E ISPCAB Página 18
47:2=23 resto 1
23:2=11 resto 1
11:2=5 resto 1
5:2=2 resto 1
2:2=1 resto 0
1:2=0 resto 1

4710=1011112

A.1) Números fraccionários

Ex.: Converter para binário o numero 0,317410

1ª etapa: 0,3175 x 2 =0,635

2ª etapa: 0,635 x 2 = 1,27

3ª etapa: 0,27 x 2 = 0,57

4ª etapa: 0,57 x 2 = 1,08


0,317410=0,01012

O resultado é obtido de cima para baixo.

B) Conversão de decimal para octal

Divide-se o número decimal sucessivamente por 8 ate encontrar um numero indivisível


por 8, considerando assim os restos que formam o resultado.

Ex.: Converter para octal o numero 151310


1513:8=189 resto 1
189:8=23 resto 5
23:8 = 2 resto 7
2:8 = 0 resto 2
c) Conversão octal para decimal

Ex.: Converter para decimal o numero 278 para decimal

27= 2.81 + 7.80


= 2.8 + 7.1
= 16+7
= 2310

d) Conversão decimal para hexadecimal

SL-ESD 2024: PARA ESTUDANTES DO CURSO DE ENGENHARIA INFORMATICA – LUSIADA


E ISPCAB Página 19
Ex: converter para hexadecimal o numero 65210
652:16=40 resto 12(C)
40:16=2 resto 8
2:16=0 resto 2

65210=28C16

Exercicios:

1. Passar para a base 10 os seguintes números:


a) 111001112
b) 10101112
c) 101002
2. Passar para a base dois os seguintes números:
a) 76510
b) 43110
c) 356,92310
3. Efectue as conversoes abaixo Segundo o caso:
a) D2CFA16 para decimal
b) D2CA16 para binario
c) 138410 para octal
d) 3ACBB16 para octal
e) A10910 para binario
f) 837318 para binario
g) 197510 para binario
h) NBA0416 para octal
i) 11111100110012 para octal
j) 1110112 para decimal
k) ABAFA16 para octal
l) IEEEFA16 para octal
m) FIFA16 para decimal
n) 33,541010 para binario

1.9. Códigos:

Nas representações de valores binários, até ao momento usamos o código binário


natural, em que a geração dos números em binário é feita recorrendo à fórmula de
notação posicional. No entanto, existe a possibilidade de representar valores em
binário utilizando outros códigos. Todos esses códigos baseiam-se no sistema binário

SL-ESD 2024: PARA ESTUDANTES DO CURSO DE ENGENHARIA INFORMATICA – LUSIADA


E ISPCAB Página 20
de zeros e uns. Esses códigos estão separados em dois grupos: numéricos e
alfanuméricos.

1.9.1. Códigos numéricos


a) Código BCD

O código BDC (Binary Coded Decimal) utiliza a representação binária de cada digito de
um número decimal.

Decimal BCD
0 0000
1 0001
2 0010
3 0011
4 0100
5 0101
6 0110
7 0111
8 1000
9 1001

Como pudemos verificar na tabela acima, cada dÍgito decimal correspondem quarto
bits em BCD, sendo inválidos os restantes códigos binários até 1111, valor máximo
usando os quarto dígitos.

Exemplos: converter o número 38510 para BCD

3 8 5
0011 1000 0101

38510= 001110000101BCD
385,910= 001110000101,1001BCD

1. Adição em BCD:

A adição de dois números em BCD, resulta em três situações diferentes:

a) O resultado é um dos enquadrados entre o 0 e o 9 da tabela BCD.

Exemplo: somar os números 253 e 314

SL-ESD 2024: PARA ESTUDANTES DO CURSO DE ENGENHARIA INFORMATICA – LUSIADA


E ISPCAB Página 21
253 0010 0101 0011
+ 314 + 0011 0001 0100
= 567 = 0101 0110 0111= 567

Neste caso, a soma dos dois números não ultrapassou o valor nove(9), nem gerou o bit
de transporte.

b) O resultado não se encontra enquadrado na tabela BCD por ter ultrapassado o


9, mas não gera o bit de transporte.

Exemplo: somar os números 6 e 8

6 0110
+8 + 1000
=14 = 1110(digito nao BCD)

Como verificamos, o resultado é maior do que nove, por isso somamos seis em
binário ao valor anterior.

1110
0110

1 0100 = 14(em BCD)

Nota: O número quatro em binário está perfeitamente identificado. Para formar o


número um(1) em binário, basta acrescentar os três zeros à esquerda do 1.
Neste caso, a soma dos dois números ultrapassou o valor nove, dando um resultado não válido
em BCD, porque pertence aos valores não utilizados em BCD. Por isso, somam-se o valor seis(6)
em binário ao valor anterior, o que vai gerar um novo valor que é válido na tabela BCD.

c) O resultado gera um bit de transporte

Exemplo: somar os números 9 e 8.

9 1001
+ 8 +1000
=17 =1 0001(digito não BCD)

SL-ESD 2024: PARA ESTUDANTES DO CURSO DE ENGENHARIA INFORMATICA – LUSIADA


E ISPCAB Página 22
A soma dos dois números gerou um bit de transporte, por isso foi necessário somar
seis em binário ao resultado da soma anterior, o que nos dá o valor 17 em BCD.
1 0001
+ 0110
1 0111 = 17(em BCD)

3. Código Excesso 3:
Este código é obtido a partir do código BCD, adicionando a cada digito três em binário.
Decimal Excesso 3
0 0011
1 0100
2 0101
3 0110
4 0111
5 1000
6 1001
7 1010
8 1011
9 1100
Exemplo: converter os números decimais 2310 e 23,1910para Excesso 3
a) 2 3 b) 1 9
0101 0110 0100 1100
2310=01010110excesso 323,1910=01010110, 01001100excesso 3

1.10. Representação de Números Negativos


Até o presente momento, tratamos somente de números positivos. Números negatives
podem ser representados de diversas formas. A representação que usamos
normalmente é denominada sinal-magnitude. No entanto, a maioria dos computadores
usa o sistema de representação em complemento, para facilitar a implementação dos
circuitos aritméticos.

a) Representação de números binários positivos e negativos


Números binários positivos podem ser representados como números sem sinal. No
entanto, para se representarem números negativos, é necessária a utilização de
alguma Introdução aos Sistemas Digitais. A forma de representação mais simples é
sinal-magnitude. Nesta representação, o número consiste de duas partes: a

SL-ESD 2024: PARA ESTUDANTES DO CURSO DE ENGENHARIA INFORMATICA – LUSIADA


E ISPCAB Página 23
magnitude e o sinal. A magnitude expressa a quantidade eo sinal indica se a
quantidade é positiva ou negativa.

Quando sinal-magnitude é usado para números binários, o sinal é representado pelo


dígito mais significativo: “0’” indica sinal positivo ao passo que “1” indica sinal negativo.
Assim, os números +9 e –9 escritos em binário se diferenciam somente pelo bit mais
significativo:
+9 = 01001
-9 = 11001
Note que foram necessários 5 bits para representar esses números: 4 para a
magnitudee 1 (o mais da esquerda) para representar o sinal.
Dado um número binário com n bits, o intervalo de representação possível será de -
(2n-1-1) até +(2n-1-1). Note também que há duas representações possíveis para o
zero: -0 e +0.

CAP. II: ÁLGEBRA BOOLEANA E CIRCUITOS LÓGICOS


2.1. Introdução

Uma álgebra Booleana pode ser definida com um conjunto de operadores e um


conjunto de axiomas, que são assumidos verdadeiros sem necessidade de prova.

Em 1854, George Boole introduziu o formalismo que até hoje se usa para o tratamento
sistemático da lógica, que é a chamada Álgebra Booleana. Em 1938, C. E. Shannon
aplicou esta álgebra para mostrar que as propriedades de circuitos elétricos de
chaveamento podem ser representadas por uma álgebra Booleana com dois valores.
Diferentemente da álgebra ordinária dos reais, onde as variáveis podem assumir
valores no intervalo (  ; ), as variáveis Booleanas só podem assumir um número
finito de valores. Em particular, na álgebra Booleana de dois valores, cada variável
pode assumir um dentre dois valores possíveis, os quais podem ser denotados por
[F,V] (falso ou verdadeiro),[H,L] (high and low) ou ainda [0,1].

SL-ESD 2024: PARA ESTUDANTES DO CURSO DE ENGENHARIA INFORMATICA – LUSIADA


E ISPCAB Página 24
Nesta disciplina, adotaremos a notação [0,1], a qual também é utilizada em eletrônica
digital. Como o número de valores que cada variável pode assumir é finito (e pequeno),
o número de estados que uma função Booleana pode assumir também será finito, o
que significa que podemos descrever completamente as funções Booleanas utilizando
tabelas. Devido a este fato, uma tabela que descreva uma função Booleana recebe o
nome de tabela verdade, e nela são listadas todas as combinações de valores que as
variáveis de entrada podem assumir e os correspondentes valores da função (saídas).

2.2. Operações Básicas da Álgebra Booleana (ou Álgebra de


Chaveamento)

Na álgebra Booleana, existem três operações ou funções básicas. São elas, operação
OU, operação E e complementação. Todas as funções Booleanas podem ser
representadas em termos destas operações básicas.

2.2.1. Operação OU (Adição Lógica)

Uma definição para a operação OU, que também é denominada adição lógica, é:“A
operação OU resulta 1 se pelo menos uma das variáveis de entrada vale 1”.

Como uma variável Booleana ou vale 1 ou vale 0, e como o resultado de uma operação
qualquer pode ser encarado como (ou atribuído a) uma variável Booleana, basta que
definamos quando a operação vale 1. Automaticamente, a operação resultará 0 nos
demais casos. Assim, pode-se dizer que a operação OU resulta 0 somente quando
todas as variáveis de entrada valem 0.

Um símbolo possível para representar a operação OU é “+”, tal como o símbolo da


adição algébrica (dos reais). Porém, como estamos trabalhando com variáveis
Booleanas, sabemos que não se trata da adição algébrica, mas sim da adição lógica.

SL-ESD 2024: PARA ESTUDANTES DO CURSO DE ENGENHARIA INFORMATICA – LUSIADA


E ISPCAB Página 25
Outro símbolo também encontrado na biblioteca é ´v´. Listando as possibilidades de
combinações entre dois valores Booleanos e os respectivos resultados para a
operação OU, tem-se:
0 + 0 = 0; 0 + 1 = 1; 1 + 0 = 1; 1 + 1 = 1

Note que a operação OU só pode ser definida se houver, pelo menos, duas variáveis
envolvidas. Ou seja, não é possível realizar a operação sobre somente uma variável.
Devido a isso, o operador “+” (OU) é dito binário.

Nas equações, não costuma-se escrever todas as possibilidades de valores. Apenas


adoptamos uma letra (ou uma letra com um índice) para designar uma variável
Booleana. Comisso, já se sabe que aquela variável pode assumir ou o valor 0 ou o
valor 1. Então, supondo que queiramos demonstrar o comportamento da equação A+B
(lê-se A ou B), poderíamos fazê-lo utilizando uma tabela verdade, como segue:

A B A+B
0 0 0
0 1 1
1 0 1
1 1 1

Da mesma forma, podemos mostrar o comportamento da equação A+B+C (lê-se A ou


B ou C) por meio de uma tabela verdade. Como na equação há somente o símbolo “+”,
trata-se da operação OU sobre três variáveis. Logo, pode-se aplicar diretamente a
definição da operação OU: o resultado será 1 se pelo menos uma das variáveis de
entrada valer 1.

A B C A+B+C
0 0 0 0
0 0 1 1
01 0 1
0 1 1 1
1 0 0 1

SL-ESD 2024: PARA ESTUDANTES DO CURSO DE ENGENHARIA INFORMATICA – LUSIADA


E ISPCAB Página 26
1 0 1 1
1 1 0 1
1 1 1 1

É importante notar que, devido ao fato de haver somente um operador na equação,


pode-se também avaliar a equação decompondo-a em pares. Por exemplo, pode-se
primeiramente achar o resultado de A+B, para depois operar os valores resultantes
com os respectivos valores de C. Esta propriedade é conhecida como associativa.
Também a ordem em que são avaliadas as variáveis A, B e C é irrelevante
(propriedade comutativa). Estas propriedades são ilustradas pela tabela verdade a
seguir. Nela, os parêntesis indicam subexpressões já avaliadas em coluna
imediatamente à esquerda. Note que os valores das colunas referentes às expressões
A+B+C, (A+B)+C e (B+C)+A são os mesmos (na mesma ordem).
A B C A+B+C A+B (A+B)+C B+C (B+C)+A
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1

2.2.2. Operação E (Multiplicação Lógica)

A operação E, ou multiplicação lógica, pode ser definida da seguinte forma:


“A operação E resulta 0 se pelo menos uma das variáveis de entrada vale 0”.

Pela definição dada, pode-se deduzir que o resultado da operação E será 1 se, e
somente se, todas as entradas valerem 1.

O símbolo usualmente utilizado na operação E é “.”, porém, outra notação possível é


“ʌ”. Podemos, também, listar as possibilidades de combinações entre dois valores
Booleanos e os respectivos resultados, para a operação E:
0.0 = 0

SL-ESD 2024: PARA ESTUDANTES DO CURSO DE ENGENHARIA INFORMATICA – LUSIADA


E ISPCAB Página 27
0.1 = 0
1.0 = 0
1.1 = 1

Assim como a operação OU, a operação E só pode ser definida entre, pelo menos
duas variáveis. Ou seja, o operador “.” (E) também é binário.

Para mostrar o comportamento da equação A.B (lê-se A e B), escreve-se uma tabela
verdade, como segue:

A B A.B
0 0 0
0 1 0
1 0 0
1 1 1

De forma semelhante, pode-se determinar o resultado da equação A.B.C (lê-se A e B


eC) utilizando diretamente a definição da operação E: o resultado será 0 se pelo menos
umadas variáveis de entrada valer 0.

A B C A.B.C
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 0
1 0 0 0
1 0 1 0
1 1 0 0
1 1 1 1

Também para a operação E valem as propriedades associativa e comutativa. Então,


a equação A.BC pode ainda ser avaliada tomando-se as variáveis aos pares, em
qualquer ordem.

Veja a tabela verdade a seguir e compare os resultados.

A B C A.B.C A.B (A.B).C B.C (B.C).A

SL-ESD 2024: PARA ESTUDANTES DO CURSO DE ENGENHARIA INFORMATICA – LUSIADA


E ISPCAB Página 28
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1

2.2.3 Complementação (ou Negação, ou Inversão)

A operação complementação dispensa uma definição. É a operação cujo resultado é


simplesmente o valor complementar ao que a variável apresenta. Também devido ao
fato de uma variável Booleana poder assumir um entre somente dois valores, o valor
complementar será 1 se a variável vale 0 e será 0 se a variável vale 1.Os símbolos
utilizados para representar a operação complementação sobre uma variável Booleana
A são A, ~A e A' (lê-se A negado). Nesta disciplina, adotaremos o primeiro símbolo. O
resultado da operação complementação pode ser listado:
0 = 1 ; 1 =0

Diferentemente das operações OU e E, a complementação só é definida sobre uma


variável, ou sobre o resultado de uma expressão. Ou seja, o operador
complementação édito unário. E a tabela verdade para A é:

A A
0 1
1 0

2.3. Avaliação de Expressões Booleanas

Dada a equação que descreve uma função Booleana qualquer, deseja-se saber
detalhadamente como esta função se comporta para qualquer combinação das
variáveis de entrada. O comportamento de uma função é descrito pela sua tabela
verdade e este problema é conhecido como avaliação da função ou da expressão que
descreve a função considerada. Em suma, deseja-se achar a tabela verdade para a
função Booleana.

SL-ESD 2024: PARA ESTUDANTES DO CURSO DE ENGENHARIA INFORMATICA – LUSIADA


E ISPCAB Página 29
Uma tabela verdade consiste basicamente de um conjunto de colunas, nas quais são
listadas todas as combinações possíveis entre as variáveis de entrada (à esquerda) e o
resultado da função (à direita). Também, pode-se criar colunas intermediárias, onde
são listados os resultados de subexpressões contidas na expressão principal. Isto
normalmente facilita a avaliação, principalmente no caso de equações muito complexas
e/ou contendo muitas variáveis.

Quando numa mesma equação Booleana aparecem operações E e OU, é necessário


seguir a ordem de precedência. Tal como na álgebra dos reais, a multiplicação (lógica)
tem precedência sobre a adição (lógica). Além disso, expressões entre parêntesis têm
precedência sobre operadores E e OU que estejam no mesmo nível. Quanto à
complementação, esta deve ser avaliada tão logo seja possível. Caso a
complementação seja aplicada sobre uma subexpressão inteira, é necessário que se
avalie primeiramente a subexpressão para, só após, inverter o seu resultado.

O número de combinações que as variáveis de entrada podem assumir pode ser


calculado por 2n, onde n é o número de variáveis de entrada. O procedimento para a
criação da tabela verdade a partir de uma equação Booleana é:
1. Criar colunas para as variáveis de entrada e listar todas as combinações
possíveis, utilizando a fórmula no de combinações = 2n (onde n é o
número de variáveis de entrada);
2. Criar uma coluna para cada variável de entrada que apareça
complementada na equação e anotar os valores resultantes;
3. Avaliar a equação seguindo a ordem de precedência, a partir do nível de
parêntesis mais internos:
1o multiplicação lógica
2o adição lógica

SL-ESD 2024: PARA ESTUDANTES DO CURSO DE ENGENHARIA INFORMATICA – LUSIADA


E ISPCAB Página 30
Tomemos como exemplo a expressão F=A+B. C . A variável F representa a função
Booleana propriamente dita. Esta variável depende das variáveis que estão à direita do
sinal =, ou seja, depende de A, B e C. Logo, são 3 as variáveis de entrada. O total de
combinações entre 3 variáveis será 23=8. Então, a tabela verdade para F deverá ter 3
colunas à esquerda e 8 linhas. Seguindo o procedimento dado acima, cria-se uma
coluna, na qual listam-se os valores para C . Após, inicia-se a avaliação propriamente
dita, a partir do nível mais interno de parêntesis. Como não há parêntesis na
expressão, resolvem-se as subexpressões que envolvem a operação E. No caso em
questão, há somente uma tal subexpressão, que é B. C . Então, cria-se uma coluna

para B. C , na qual anotam-se os resultados para este produto. Finalmente, utilizam-se

os resultados de B. C , listados na coluna anterior, para operar o OU com a variável A.

Repare os passos descritos na tabela verdade que segue. Nela, os parêntesis em torno
do produto B. C indicam somente que o termo já foi avaliado e que no passo referente a
esta coluna, tomaram-se apenas os valores previamente encontrados.
EXERCICIOS:
a) F= A + (B + C.B) + A + C
b) F= (A+B) + (A.B) + A
c) F= A+A+B(A+C)+B+D
2.4. Portas Lógicas

Já vimos que uma função Booleana pode ser representada por uma equação ou
detalhada pela sua tabela verdade. Mas uma função Booleana também pode ser
representada de forma gráfica, onde cada operador está associado a um símbolo
específico, permitindo o imediato reconhecimento visual. Tais símbolos são conhecidos
por portas lógicas.

Na realidade, mais do que símbolos de operadores lógicos, as portas lógicas


representam recursos físicos, isto é, circuitos eletrônicos, capazes de realizar as
operações lógicas. Na eletrônica que trabalha com somente dois estados, a qual é
denominada eletrônica digital, o nível lógico 0 normalmente está associado à ausência
SL-ESD 2024: PARA ESTUDANTES DO CURSO DE ENGENHARIA INFORMATICA – LUSIADA
E ISPCAB Página 31
de tensão (0 volt) enquanto o nível lógico 1, à presença de tensão (a qual geralmente é
5 volts). Nesta disciplina, nos limitaremos ao mundo da álgebra Booleana, admitindo
que as portas lógicas representam também circuitos eletrônicos que, de alguma
maneira, realizam as funções Booleanas simbolizadas. Então, ao conjunto de portas
lógicas e respectivas conexões que simbolizam uma equação Booleana,
denominaremos circuito lógico.

2.4.1. Porta OU

O símbolo da porta OU pode ser visto na figura 2.1. Tal como na porta E, as entradas
são colocadas à esquerda e a saída, à direita. Deve haver no mínimo duas entradas,
mas há somente uma saída. O funcionamento da porta E segue a definição da
operação E, dada acima.

A A+B
B

2.4.2. Porta E

O símbolo da porta E é mostrado na figura 2.2. À esquerda estão dispostas as


entradas (no mínimo duas, obviamente) e à direita, a saída (única). As linhas que
conduzem as variáveis de entrada e saída podem ser interpretadas como fios que
transportam os sinais elétricos associados às variáveis. O comportamento da porta E
segue estritamente a definição (e tabela verdade) dada na seção 2.1.2.

A A.B
B

Símbolo da porta lógica E com 2 entradas (a) e com 3 entradas (b).

2.4.3 Inversor (ou Porta Inversora, ou Negador)

A porta que simboliza a operação complementação é conhecida como inversor (ou


porta inversora, ou negador). Como a operação complementação só pode ser realizada
sobre uma variável por vez (ou sobre o resultado de uma subexpressão), o inversor só
possui uma entrada e, obviamente, uma saída. Caso se queira complementar uma
SL-ESD 2024: PARA ESTUDANTES DO CURSO DE ENGENHARIA INFORMATICA – LUSIADA
E ISPCAB Página 32
expressão, é necessário obter-se primeiramente o seu resultado, para só então aplicar
a complementação.

Símbolo do inversor (também conhecido como negador ou porta inversora).

2.4.4. Exemplo de Circuito Lógico

Dada uma equação Booleana qualquer, é possível desenhar-se o circuito lógico que a
implementa. O circuito lógico é composto das portas lógicas relacionadas às operações
que são realizadas sobre as variáveis de entrada. Os resultados das operações são
conduzidos porfios, os quais, no desenho, são representados por linhas simples.

Os passos a serem seguidos para se realizar o desenho do circuito lógico a partir de


uma equação são praticamente os mesmos usados na avaliação da expressão.
Tomemos como exemplo a equação, avaliada na seção 2.2. Inicialmente,
identificamos as variáveis independentes, que no caso são X, Y e Z. Para cada
uma destas, traçamos uma linha (da esquerda para a direita), representando os fios
que conduzem os valores. Feito isto, deve-se seguir desenhando as portas necessárias
para representar cada uma das subexpressões, na mesma ordem tomada para a
avaliação, ou seja:
1- parêntesis (dos mais internos para os mais externos);
2- operações E;
3- operações OU.

2.5. Leis Fundamentais e Propriedades da Álgebra Booleana


As leis da álgebra Booleana dizem respeito ao espaço Booleano (isto é., valores que
uma variável pode assumir) e operações elementares deste espaço. Já as
propriedades podem ser deduzidas a partir das definições das operações.

Sejam A e B duas variáveis Booleanas. Então, o espaço Booleano é definido:

SL-ESD 2024: PARA ESTUDANTES DO CURSO DE ENGENHARIA INFORMATICA – LUSIADA


E ISPCAB Página 33
se A  0, então A=1;
se A  1, então A=0.

As operações elementares deste espaço são operação OU, operação E e


complementação, cujas definições foram dadas nas seções 2.1.1, 2.1.2 e
2.1.3,respectivamente.

As propriedades da álgebra Booleana são as seguintes.

Da adição lógica: Da multiplicação lógica:

(1) A+ 0=A (5) A.0=0


(2) A+1=1 (6) A.1=A
(3) A +A=A (7) A.A=A
(4) A+ A =1 (8) A. A =0

Da complementação:(9) A =A

Comutatividade:

(10) A+B=B+A
(11) A.B=B.A

Associatividade:

(12) A + (B+ C) = (A+ B)+ C= (A+ C)+ B


(13) A.(B.C) = (A.B).C = (A.C).B

Distributiva (da multiplicação em relação à adição):

(14) A.(B+C) =A.B+A.C

2.5.1. Teoremas de De Morgan

O primeiro teorema de De Morgan diz que a complementação de um produto (lógico)


equivale à soma (lógica) das negações de cada variável do referido produto. Sob a
forma de equação, teríamos:

SL-ESD 2024: PARA ESTUDANTES DO CURSO DE ENGENHARIA INFORMATICA – LUSIADA


E ISPCAB Página 34
A.B.C... = A + B + C … (2.1)

O segundo teorema é o dual ( i.e., o espelho) do primeiro, ou seja, a complementação


de uma soma (lógica) equivale ao produto das negações individuais das variáveis:

A  B  C... = A . B + C …(2.2)

Particularizando os teoremas de De Morgan para duas variáveis, temos:


A..B = A + B (2.3)
A  B = A . B (2.4)

2.6. Derivação de Expressões Booleanas


Dada uma função Booleana, descrita por sua tabela verdade, derivar uma expressão
Booleana para esta função é encontrar uma equação que a descreva. Logo, a
derivação de expressões Booleanas é o problema inverso da avaliação de uma
expressão Booleana.

Há basicamente duas maneiras de se definir (ou descrever) uma função Booleana:


descrevendo-se todas as situações das variáveis de entrada para as quais a função
vale 1 ou, alternativamente, todas as situações em que a função vale 0. O primeiro
método é conhecido por soma de produtos (SdP), enquanto que o segundo é
chamado produto de somas (PdS).

Qualquer função Booleana pode ser descrita por meio de soma de produtos ou por
meio de produto de somas. Como as funções Booleanas só podem assumir um dentre
dois valores (0ou 1), basta usar-se um dos dois métodos para se encontrar uma
equação para uma função.

A seguir, são detalhados os métodos de derivação de expressões Booleanas.

2.5.1. Derivação de Expressões usando Soma de Produtos (SdP)

SL-ESD 2024: PARA ESTUDANTES DO CURSO DE ENGENHARIA INFORMATICA – LUSIADA


E ISPCAB Página 35
Dada uma função Booleana de n variáveis (ou seja, n entradas), haverá 2n
combinações possíveis de valores. Dizemos que esse conjunto de valores que as
variáveis podem assumir juntamente com os respectivos valores da função, constituem
o espaço da função. A cada combinação de entradas podemos associar um termo
produto, no qual todas as variáveis da função estão presentes, e que é construído da
seguinte forma: se a variável correspondente
vale 0, ela deve aparecer negada; se a variável vale 1, ela deve aparecer não negada.

A tabela a seguir lista os termos produto associados a cada combinação de entradas


para uma função Booleana de três variáveis (A, B e C, por exemplo).

A B C Mintermo
0 0 0 A. B .C
0 0 1 A . B .C
0 1 0 A .B. C
0 1 1
A .B.C
1 0 0 A. B . C
1 0 1 A. B .C
1 1 0 A.B. C
1 1 1 A.B.C

Cada termo produto construído conforme a regra anteriormente descrita é denominado


mintermo (ou minitermo). Note que, para um dado mintermo, se substituirmos os
valores das variáveis associadas, obteremos 1. Porém, se substituirmos nesse mesmo
mintermo quaisquer outras combinações de valores, obteremos 0. Dessa forma, se
quisermos encontrar a equação para uma função a partir de sua tabela verdade, basta
montarmos um OU entre os mintermos associados aos 1s da função (também
chamados mintermos 1).

Exemplo 2.1: encontrar a equação em soma de produtos (SdP) para a função F,


descrita pela seguinte tabela verdade:

ABC F
0 00 0
001 0

SL-ESD 2024: PARA ESTUDANTES DO CURSO DE ENGENHARIA INFORMATICA – LUSIADA


E ISPCAB Página 36
010 1
011 1
100 0
101 1
110 1
111 0

F é função das variáveis A, B e C. Os valores de (A,B,C) para os quais F=1 são


(0,1,0),(0,1,1), (1,0,1) e (1,1,0). Os mintermos associados a essas condições (ou seja,
os mintermos1), são A .B. C , A .B.C, A. B .C e A.B. C , respectivamente. Logo, a
equação em soma de produtos para F será o OU entre estes produtos, conforme
segue:

F = A .B. C + A .B.C+ A. B .C + A.B. C (2.5)

A fim de simplificar a notação, o símbolo da operação E pode ser omitido. Desta forma,
a equação anterior pode ser reescrita de maneira mais concisa:
F= A B C + A BC + A B C + AB C (2.6)

2.5.2. Derivação de Expressões usando Produto de Somas (PdS)

O método de derivação usando produto de somas é o dual (isto é, o oposto) do método


de derivação em soma de produtos. A cada combinação das variáveis de entrada de
uma função podemos associar um termo soma, no qual todas as variáveis da função
estão presentes, e que é construído da seguinte forma: se a variável correspondente
vale 1, ela deve aparecer negada; se a variável vale 0, ela deve aparecer não negada.
A tabela a seguir lista os termos soma associados a cada combinação de entradas
para uma função Booleana de três
variáveis (A, B e C, por exemplo).

A B C Maxtermo
0 0 0 A+B+C
0 0 1 A+B+ C
0 1 0
A+ B +C
0 1 1 A+ B + C

SL-ESD 2024: PARA ESTUDANTES DO CURSO DE ENGENHARIA INFORMATICA – LUSIADA


E ISPCAB Página 37
1 0 0 A .B.C
1 0 1
A .B. C
1 1 0 A . B .C
1 1 1
A. B .C

Cada termo soma construído conforme a regra anteriormente descrita é denominado


maxtermo (ou maxitermo). Note que, para um dado maxtermo, se substituirmos os
valores das variáveis associadas, obteremos 0. Porém, se substituirmos nesse mesmo
maxtermo quaisquer outras combinações de valores, obteremos 1. Dessa forma, se
quisermos encontrar a equação para uma função a partir de sua tabela verdade, basta
montarmos um E entre os maxtermos associados aos 0s da função (também
chamados maxtermos 0 ).

Exemplo 2.2: encontrar a equação em produto de somas (PdS) para a função F,


descrita pela seguinte tabela verdade:

ABC F
0 00 0
001 0
010 1
011 1
100 0
101 1
110 1
111 0

Foi escolhida a mesma função do exemplo anterior, para que se possa estabelecer
comparações entre os dois métodos de derivação. Os valores das variáveis de entrada
(A,B,C)para os quais F=0 são (0,0,0), (0,0,1), (1,0,0) e (1,1,1). Os maxtermos
associados a essas condições (ou seja, os maxtermos 0), são A+B+C, A+B+ C , A

+B+C e A + B + C ,respectivamente. Logo, a equação em produto de somas para F será


o E entre estas somas:

F=(A+B+C)(A+B+ C ) ( A +B+C)( A + B + C ) (2.7)

SL-ESD 2024: PARA ESTUDANTES DO CURSO DE ENGENHARIA INFORMATICA – LUSIADA


E ISPCAB Página 38
Note que a ordem de precedência de uma expressão em produto de somas é “primeiro
cada soma deve ser avaliada, para só então avaliar-se o produto”. Isto significa que os
parêntesis em torno de cada termo soma são obrigatórios! Repare também que os
símbolos referentes à operação E (entre os termos soma) podem ser omitidos.

2.6. Formas Canônicas, Padrão e Não-Padrão

As representações em soma de produtos e em produto de somas são denominadas


formas padrão. A soma de produtos e o produto de somas descritos nas duas seções
anteriores apresentam ainda uma característica bastante particular: em cada termo
soma e em cada termo produto todas as variáveis da função estão presentes. Devido a
essa característica, essas formas são chamadas canônicas.

Além das representações descritas nas seções anteriores, há representações


alternativas (e mais concisas) para as expressões canônicas. Se associarmos cada
combinação das variáveis de entrada ao seu equivalente em decimal, cada mintermo
pode ser representado por mi, onde i é o decimal associado. De forma similar, cada
maxtermo pode ser representado por Mi, onde i é o decimal associado. A tabela a
seguir lista todos os mintermos e maxtermos de uma função de três variáveis (A, B e
C).

A B C Mintermo Maxtermo
0 0 0 m0 M0
0 0 1 m1 M1
0 1 0 m2 M2
0 1 1 m3 M3
1 0 0 m4 M4
1 0 1 m5 M5
1 1 0 m6 M6
1 1 1 m7 M7

Voltando à função F das seções anteriores, podemos reescrever a expressão em soma


de produtos, na forma canônica, como segue:
F = m2+ m3+ m5+ m6(2.8)

Ou ainda, de maneira mais concisa: F   (2,3,5,6 (2.9)

SL-ESD 2024: PARA ESTUDANTES DO CURSO DE ENGENHARIA INFORMATICA – LUSIADA


E ISPCAB Página 39
E sua expressão em produto de somas, na forma canônica, pode ser reescrita
como:F=M0.M1.M4.M7 (2.10) Ou simplesmente, como: F   (0,1,4,7) (2.11)

Apesar da praticidade das representações canônicas, elas são pouco úteis para a
implementação de circuitos digitais. O número de elementos (portas lógicas e
conexões) de um circuito lógico depende diretamente do número de operações
Booleanas (inversão, E e OU) contidas na expressão associada. Desta forma, é normal
que se deseje reduzir o número de operações contidas numa função, de modo a poder-
se implementá-la com circuitos lógicos mais simples, e portanto, de menor custo. A
redução do número de operações é obtida mediante a eliminação de literais da
expressão, aplicando-se as propriedades da álgebra Booleana descritas na seção 2.4.
Um literal é uma variável negada ou uma variável não negada. O processo de redução
de literais (ou de redução de operações, equivalentemente) é denominado
simplificação.

Para exemplificar os passos básicos para a simplificação algébrica (literal) de


expressões Booleanas, tomemos a expressão canônica, em soma de produtos, para a
função F:
F = A .B. C + A .B.C + A. B .C + A.B. C (2.12)

O primeiro passo é identificar pares de mintermos que se diferenciam por apenas um


literal, a fim de aplicar a propriedade (14). Os mintermos ABC e ABC, por exemplo,
possuem os mesmos literais, exceto pela variável C: no primeiro, o literal é C, enquanto
no segundo, o literal é C. Então, com o uso da propriedade (14), pode-se fatorar esses
dois mintermos, obtendo-se:

F = AB( C +C) + A B C + AB C (2.13)


Pela propriedade (4), tem-se que C +C=1. Então, substituindo em 2.13, segue: F = A B.1

+ A B C + AB C (2.14)

-se:
F = A B + A B C + AB C (2.15)

SL-ESD 2024: PARA ESTUDANTES DO CURSO DE ENGENHARIA INFORMATICA – LUSIADA


E ISPCAB Página 40
Assim, pela manipulação algébrica, obtivemos uma expressão em soma de produtos
que é simplificada em relação a sua expressão em soma de produtos na forma
canônica, pois o número de operações e também de literais foram reduzidos (compare
2.15 com 2.12).Entretanto, na equação 2.12, o mintermo A B C também poderia ter sido
agrupado como mintermo AB C , pois ambos possuem os mesmos literais, excepto pela
variável A ( A no primeiro e A no segundo). Naturalmente, os passos a serem seguidos
seriam os mesmos descritos anteriormente. E a equação resultante seria um pouco
diferente, mas com o mesmo número de operações, sendo portanto, de mesma
complexidade. Na verdade, o melhor seria se pudéssemos agrupar o mintermo A B C

com o mintermo AB C e ao mesmo tempo com o mintermo A BC. Felizmente, a


propriedade (3) da álgebra Booleana diz que o OU entre duas ou mais variáveis
Booleanas iguais é igual a própria variável Booleana em questão.

Estendendo esta propriedade, pode-se dizer que o OU entre duas ou mais funções
Booleanas iguais equivale à própria função Booleana em questão. Desta forma, pode-
se expandir o mintermo A B C para

A B C = A B C + A B C (2.16)

que é uma manipulação algébrica decorrente da propriedade (3).

Retomando a equação 2.12 e utilizando 2.16, segue que:

F = A B C + A BC + A B C + AB C + A B C (2.17).

Então, a propriedade (3) garante que as expressões 2.12 e 2.17 são equivalentes,
embora o mintermo ABC apareça duplicado. E pelo fato de aparecer duas vezes, pode-
se usar uma cópia de ABC para simplificar com ABC e outra para simplificar com ABC.
Os passos da simplificação são os mesmos já descritos: pela propriedade (14), segue:
F = A B( C +C)+A B C+(A+ A )B C (2.18)

E pela propriedade (6), vem:


F = A B + 1 + A B C + 1+ B C (2.19)
SL-ESD 2024: PARA ESTUDANTES DO CURSO DE ENGENHARIA INFORMATICA – LUSIADA
E ISPCAB Página 41
Finalmente, pela propriedade (4), tem-se: F = A B + A B C + B C (2.20)

Repare que o mintermo ABC não pôde ser agrupado com nenhum outro mintermo.
Note também que foram feitas todas as simplificações possíveis, uma vez que foram
agrupados e simplificados todos os pares de mintermos que se diferenciam de somente
uma variável. Logo, a expressão 2.20 representa a máxima simplificação possível sob
a forma de soma de produtos. E por esse motivo, ela é dita equação mínima em soma
de produtos da função F. Quanto a expressão 2.15, diz-se ser uma equação em soma
de produtos simplificada (porém, não-mínima). Logo, toda equação mínima é
simplificada, porém, nem toda equação que foi simplificada é necessariamente mínima.
Embora a equação mínima em soma de produtos apresente menor número de
operações Booleanas que a representação na forma canônica, as vezes pode ser
possível reduzir-se ainda mais o número de operações, fatorando-se literais. Por
exemplo, na expressão2.20 pode-se fatorar o primeiro e o terceiro mintermos como
segue:
F =B( A + C ) +A B C(2.21)

A expressão 2.21, obtida pela fatoração de 2.20, não é nem do tipo soma de produtos,
nem produto de somas, pois há um termo que não é nem produto, nem soma. Diz-se
que a expressão está na forma fatorada. No caso de 2.21, a fatoração não resultou
em redução do número de operações.

No que se refere a terminologia, as formas soma de produtos e produto de somas são


ditas formas padrão (formas standard). A forma fatorada é dita não-padrão. As
formas canônicas são, pois, casos especiais de formas padrão, nas quais os termos
são mintermos ou maxtermos. A fim de diferenciar somas de produtos canônicas de
somas de produtos simplificadas, usaremos a expressão “soma de mintermos”. De
maneira similar, usaremos a expressão “produto de maxtermos” para diferenciar
produtos de somas canônicos de produtos de somas simplificados.

2.7. Circuitos Lógicos para Formas Padrão e Não-Padrão

SL-ESD 2024: PARA ESTUDANTES DO CURSO DE ENGENHARIA INFORMATICA – LUSIADA


E ISPCAB Página 42
As regras gerais para se realizar o desenho de circuitos lógicos já foram apresentadas
na seção 2.3 (item 2.3.4). As regras seguintes devem ser observadas, a fim de facilitar
a compreensão do desenho:

- As variáveis de entrada devem ser identificadas preferencialmente à esquerda, junto


aos respectivos fios;
- Inversores devem ser providos para as variáveis que aparecem negadas na equação;
- As portas que implementam as operações Booleanas que aparecem na equação
normalmente são posicionadas da esquerda para a direita, seguindo a ordem de
avaliação dos operadores (descrita em 2.3.4).

No caso de equações na forma soma de produtos (canônica ou simplificada), há um


primeiro nível (desconsiderando-se possíveis inversores), constituído somente por
portas E, onde cada porta E implementa um dos produtos da equação. Há ainda um
segundo nível, constituído por uma porta OU, responsável pela “soma” lógica dos
produtos.

Repare que em todas as interseções de fios em que há conexão física, deve haver
umponto (suficientemente grande), como se fora uma “solda”. Logo, quando não há o
referido ponto na interseção de fios, significa que tais fios estão “eletricamente
isolados”.

Um circuito lógico para soma de produtos.

O circuito pode ainda ser desenhado utilizando-se uma notação simplificada para os
inversores das entradas. Ao invés de se desenhar um inversor para cada variável que
aparece negada na equação, coloca-se um círculo junto a cada entrada de cada porta
na qual há uma variável negada. A aplicação desse procedimento para o circuito
resulta no seguinte desenho: Um circuito lógico para soma de produtos - outra possível
representação.

SL-ESD 2024: PARA ESTUDANTES DO CURSO DE ENGENHARIA INFORMATICA – LUSIADA


E ISPCAB Página 43
No caso de equações na forma produto de somas (canônica ou simplificada), o
primeiro nível é constituído por portas OU, sendo cada uma responsável por uma das
“somas” lógicas da equação. O segundo nível, por sua vez, é constituído por uma porta
E, que realiza o produto lógico das parcelas.

Um circuito lógico para produto de somas.

Pelo fato de apresentarem apenas dois níveis de portas (dois níveis lógicos), circuitos
para equações representadas nas formas padrão, canônicas ou simplificadas, são ditos
circuitos em dois níveis (ou lógica a dois níveis).

Dada a equação canônica de uma função qualquer, o circuito para uma equação
simplificada a partir da canônica possui menos portas e/ou portas de menor
complexidade. (A complexidade relativa de uma porta pode ser medida pelo número de
entradas que ela apresenta). A figura 2.8 mostra o circuito lógico para a equação 2.20,
que é a forma mínima para a função da equação 2.12. Note que este circuito é de
menor complexidade que o circuito da figura 2.6. A complexidade relativa de um
circuito lógico pode ser calculada somando-se o número de entradas das portas. Nos
circuitos das figuras 2.6 e 2.7 há 4 portas de 3 entradas e1 porta de 4 entradas. Então,
a complexidade relativa será 4x3+1x4=16.

No circuito da figura2.8 há 2 portas de 2 entradas e 2 portas de 3 entradas. Sua


complexidade relativa será2x2+2x3=10. Claramente, o circuito da figura 2.8 é de menor
complexidade que os circuitos das figuras 2.6 e 2.7. Estes dois são de mesma
complexidade relativa. No cálculo da complexidade relativa, as inversões normalmente
não são levadas em conta. Circuitos para formas fatoradas podem ser vistos como o
caso mais genérico. Em geral, as formas fatoradas conduzem a circuitos cujo número
de níveis lógicos é maior do que
dois. Por isso, circuitos lógicos para formas fatoradas são denominados circuitos
multinível (lógica multinível). Como dito na seção 2.6, as vezes uma forma fatorada
pode apresentar menor número de operações do que a respectiva forma padrão.
Quando isso ocorre, o circuito associado à forma fatorada também será de menor
SL-ESD 2024: PARA ESTUDANTES DO CURSO DE ENGENHARIA INFORMATICA – LUSIADA
E ISPCAB Página 44
complexidade relativa. Entretanto, se não ocorrer redução no número de operações,
mesmo assim é possível que o circuito para a forma fatorada seja de menor
complexidade relativa, pois o conceito de complexidade relativa também inclui o
número de entradas de cada porta. Então, a maneira mais segura de saber se o
circuito associado à forma fatorada é de menor complexidade ou não é desenhá-lo e
somar o número de entradas. A figura 2.9 mostra o circuito para a equação 2.21, obtida
a partir da equação 2.20 fatorando-se o literal B.

Note que o número de operações Booleanas destas equações é o mesmo: 4. No


entanto, a complexidade do circuito da forma fatorada é 3x2+1x3=9, portanto menor do
que a complexidade do circuito.

SL-ESD 2024: PARA ESTUDANTES DO CURSO DE ENGENHARIA INFORMATICA – LUSIADA


E ISPCAB Página 45

Você também pode gostar