Circuitos Digitais
Circuitos Digitais
Circuitos Digitais
CIRCUITOS DIGITAIS
Autoria
Francisco Vieira de Souza
Mdulo II
Circuitos Digitais
Francisco Vieira de Souza
PRESIDENTE DA REPBLICA
Luiz Incio Lula da Silva
MINISTRO DA EDUCAO
Fernando Haddad
GOVERNADOR DO ESTADO
Wellington Dias
UNIVERSIDADE FEDERAL DO PIAU
Luiz de Sousa Santos Jnior
SECRETRIO DE EDUCAO A DISTNCIA DO MEC
Carlos Eduardo Bielschowsky
COORDENADORIA GERAL DA UNIVERSIDADE ABERTA DO BRASIL
Celso Costa
SECRETRIO DE EDUCAO DO ESTADO DO PIAU
Antnio Jos Medeiro
COORDENADOR GERAL DO CENTRO DE EDUCAO ABERTA A
DISTNCIA DA UFPI
Gildsio Guedes Fernandes
SUPERITENDENTE DE EDUCAO SUPERIOR NO ESTADO
Eliane Mendona
CENTRO DE CIENCIAS DA NATUREZA
Helder Nunes da Cunha
COORDENADOR DO CURSO DE SISTEMA DE INFORMAO NA
MODALIADE DE EAD
Luiz Cludio Demes da Mata Sousa
COORDENADORA DE MATERIAL DE DIDTICO DO CEAD/UFPI
Cleidinalva Maria Barbosa Oliveira
DIAGRAMAO
Joaquim Carvalho de Aguiar Neto
APRESENTAO
SUMRIO GERAL
SUMRIO
Unidade 1
SISTEMAS DE REPRESENTAES
NUMRICAS
Resumo
O objetivo principal desta unidade apresentar a maioria dos
tipos de dados encontrados nos sistemas digitais, mostrando
como eles so representados em sua forma binria, ou seja,
usando apenas os dgitos 0 e 1. Os dados encontrados nos
sistemas digitais podem ser classificados em trs categorias:
os nmeros: os usados na computao aritmtica, as letras
do alfabeto e uma variedade de smbolos discretos usados
para uma variedade de propsitos. Todos estes trs tipos de
dados so representados em um computador em forma
binria porque fcil construir circuitos eletrnicos que
exibam duas condies alternativas interpretadas pelos
valores 0 e 1 de um dgito binrio.
Apesar de toda informao poder ser representada desta
forma, nem sempre ela adequada para usurios humanos.
Neste caso, a representao binria deve ser convertida para
uma representao decimal, onde esto presentes os dgitos
0,1, ..., 9 e as letras do alfabeto.
Nesta unidade, sero estudadas as formas como os dados so representados, destacando a representao binria.
Os dados encontrados nos sistemas digitais podem ser classificados em uma das seguintes categorias:
Quando que
111 igual a 7?
10
Para um nmero qualquer, o dgito mais direita referenciado como dgito menos significativo, ao passo que o dgito
mais esquerda o dgito mais significativo.
23415
= 2x53 + 3x52 + 4x51 + 1x50 = 250 + 75 + 20 + 1 = 34610
11
Teoricamente,
poder-se-ia
construir qualquer sistema numrico e provvel que isto ocorra em
um futuro no muito distante, dado
o desenvolvimento rpido de novas
tecnologias e da construo de
computadores cada vez mais potentes. No entanto isto fica para o
futuro e no momento os sistemas
mais utilizados so o sistema binrio e o hexadecimal. Por este motivo, necessrio entender como um
nmero pode ser representado em
vrios sistemas. Isto significa que importante saber como o
mesmo nmero pode ser representado nos vrios sistemas
numricos. A este processo chamamos de mudana de base
ou converso de um nmero em uma base para outra.
A Tabela 1.1 mostra os inteiros decimais de 0 a 17, juntamente com seus equivalentes em binrio, octal e hexadecimal. A Tabela mostra tambm a lei de formao dos nmeros
nos diversos sistemas numricos.
12
Binrio
Octal
Hexadecimal
10
11
110
101
110
111
1000
10
1001
11
10
1010
12
11
1011
13
12
1100
14
13
1101
15
14
1110
16
15
1111
17
16
10000
20
10
17
10001
21
11
J a Tabela 1.2 mostra os inteiros de 0 a 17 com as representaes binrias de seus equivalentes no sistema octal,
decimal e hexadecimal. Deve ser observado que as representaes octal e hexadecimal esto separadas para evidenciar a
representao de cada dgito.
13
Binrio
Hexadecimal
codificado em
binrio
000
0000
0000
001
0001
0001
10
010
0010
0010
11
011
0011
0011
100
100
0100
0100
101
101
0101
0101
110
110
0110
0110
111
111
0111
0111
1000
001 000
1000
1000
1001
001 001
1001
1001
1010
001 010
0001 0000
1010
1011
001 011
0001 0001
1011
1100
001 100
0001 0010
1100
1101
001 101
0001 0011
1101
1110
001 110
0001 0100
1110
1111
001 111
0001 0101
1111
10000
010 000
0001 0110
10000
10001
010 001
0001 0111
10001
Para se converter um nmero binrio em octal separamse os dgitos em grupos de 3, a partir do ponto binrio para a
esquerda, substituindo-se cada grupo pelo dgito octal correspondente. Por exemplo:
14
Para converter-se um nmero em binrio para hexadecimal, o procedimento anlogo, exceto que os grupos devero
ser de 4 dgitos.
A converso no sentido oposto tambm bastante simples. Substitui-se cada dgito octal ou hexadecimal pelo conjunto de 3 ou 4 dgitos binrios que o representa.
Nem sempre possvel se converter um nmero representado numa determinada base para outra base simplesmente substituindo-se dgitos de uma base por seus equivalentes
na outra. Isto s possvel nos casos em que as bases so
potncias de um mesmo nmero (como os casos mostrados
anteriormente). Quando no este o caso, ser necessrio
utilizar-se um procedimento geral que pode ser empregado em
qualquer mudana de representao.
15
O nmero 30 em decimal foi reescrito em uma representao que uma soma de parcelas onde cada uma
delas o produto de 1 ou 0 por uma potncia de 2 que
a base para a qual desejamos mudar a representao;
Os nmeros, 0 ou 1 das somas parciais so os restos
das divises sucessivas realizadas, em ordem inversa.
16
30
0
2
15
Neste caso, 0,375x2=0,750; separamos o 0 que o primeiro dgito e continuamos o processo. 0,750x2=1,500; separamos o 1 e continuamos. 0,500x2=1,000. Separamos o 1 e,
17
S=X+Y
carry
18
si
ci+1
000
001
010
011
100
101
110
111
0
1
1
0
1
0
0
1
0
0
0
1
0
1
1
1
19
D=X-Y
borrow
di
bi+1
000
001
010
011
100
101
110
111
0
1
1
0
1
0
0
1
0
1
1
1
0
0
0
1
O procedimento para subtrao semelhante ao de adio: a partir dos dgitos menos significativos, geram-se os bits
de borrow b1 e de diferena d0, de acordo com a Tabela 1.5, e
assim por diante, da direita para a esquerda, at o bit de borrow mais significativo bm e o bit de diferena mais significativo
dm-1.
20
21
Para verificarmos isto devemos antes definir o que significa complemento de um nmero em uma base r.
1.4.1 Representao em forma complementar
A representao em complemento foi criada com o intuito
de simplificar a operao de subtrao e manipulaes lgicas,
evitando a necessidade de comparaes de magnitude e sinal.
Definio. Seja N um nmero em uma base r. Define-se o
complemento de r do nmero N e denota-se por [N]r = rn Nr,
onde n o nmero de dgitos de N.
soma com o complemento (fcil de ser encontrado) e uma outra subtrao entre um nmero e uma potncia da base do sistema. Esta subtrao tambm feita de forma facilitada.
No sistema decimal, o complemento do nmero 74 100
74 = 26. O complemento de 590 410, ou seja, o que falta
para completar a prxima potncia da base.
O algoritmo prtico para encontrar N2 = A2 B2 o seguinte:
adicione A2 + [B]2,
se houver carry bit na (n + 1)-sima posio ento
ento N = A2 + [B]2
*/
seno N = -([A2 + [B]2]2)
Exemplo 1. Sejam A = 222 e B = 112. Faa a subtrao A B.
A B = (10110)2 (01011)2
10110
+10101
--------101011
(n = 5)
Neste caso, houve carry bit, logo despreza-se e o resultado (01011)2 = 1110
Exemplo 2. Faa a subtrao 710 11810.
(n = 7)
A B = (0000111)2 (1110110)2
0000111
+ 0001010
-------------0010001
/* no houve carry bit */
Neste caso, toma-se o complemento deste valor e assim
fica
A B = -(1101111)2 = 11110
23
EXERCCIOS
24
1.6 WEB-BIBLIOGRAFIA
www.ufpi.br/uapi
(A Pgina da Universidade Aberta do Piau - UAPI)
www.uab.gov.br
(O Site da Universidade Aberta do Brasil- UAB)
www.seed.mec.gov.br
(A Homepage da Secretaria de Educao a Distncia do MEC
- SEED )
www.abed.org.br
(O site da Associao Brasileira de Educao a Distncia ABED)
ERCEGOVAC, Milos; LANG, Toms; MORENO, Jaime H. Introduo aos Sistemas Digitais. Porto Alegre: Bookman, 2002
(ISBN: 85-7307-698-4)
UYEMURA, John. Sistemas digitais: Uma Abordagem Integrada. Pioneira Thompson Learning Ltda. 2002.
25
Unida de 2
LGEBRA BOOLEANA E
CIRCUITOS LGICOS
Resumo
O objetivo principal desta unidade apresentar os
fundamentos dos circuitos digitais. Eles so baseados na
lgebra de Boole, um tema que j deve ser conhecido por
quem deseja entender este estudo.
Sero vistas as portas lgicas como os elementos principais
para a construo destes circuitos. Sero estudadas as
diversas formas utilizadas nas simplificaes de expresses
booleanas, em busca de economia na construo de
circuitos.
A forma de apresentao utilizada de acordo com o exigido
para o ensino distncia, ou seja, tendo em vista sempre esta
nova modalidade de ensino.
SUMRIO
27
George
Boole
A+B
0
0
1
1
0
1
0
1
0
1
1
1
A tabela verdade pode ser tambm utilizada para representar uma expresso booleana envolvendo mais de duas variveis Por exemplo, para representar a operao
A+B+C (A ou B ou C). Neste caso, o resultado ser 1 se
pelo menos uma das variveis de entrada valer 1.
29
A+B+C
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
1
1
1
1
1
1
importante notar que, devido ao fato de haver somente um operador na equao, pode-se tambm avaliar a
equao 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. Tambm a
ordem em que so avaliadas as variveis A, B e C irrelevante (propriedade comutativa). Estas propriedades esto
ilustradas na tabela verdade a seguir. Nela, os parntesis
indicam sub-expresses j avaliadas anteriores. Note que
os valores das colunas referentes s expresses A+B+C,
(A+B)+C e (B+C)+A so os mesmos.
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
1
1
1
1
1
1
1
30
B+C
A+(B+C)
0
1
1
1
0
1
1
1
0
1
1
1
1
1
1
1
A operao E, ou multiplicao lgica entre dois operandos resulta 0 se pelo menos uma das variveis de entrada for 0 e ser 1 todas as entradas valerem 1.
A.B
0
0
1
1
0
1
0
1
0
0
0
1
31
A.B.C
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
0
0
0
0
0
0
1
A.B.C
A.B
(A.B).C
B.C
A . (B.C)
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
1
o (A) pela dificuldade do editor Word. O resultado da operao complementao pode ser listado:
0 = 1
1 = 0
Diferentemente das operaes OU e E, a complementao s definida sobre uma nica varivel, ou sobre o
resultado de uma expresso. Ou seja, o operador complementao unrio. A tabela verdade para a complementao de A :
A
0
1
1
0
expresses entre parntesis tm precedncia sobre operadores E e OU que estejam no mesmo nvel. Quanto complementao, esta deve ser avaliada to logo seja possvel.
Caso a complementao seja aplicada sobre uma subexpresso inteira, necessrio que se avalie primeiramente
a sub-expresso para, s aps, inverter o seu resultado.
O nmero de combinaes que as variveis de entrada
podem assumir pode ser calculado por 2n, onde n o nmero de variveis de entrada.
O procedimento para a criao da tabela verdade a
partir de uma equao Booleana :
Criar colunas para as variveis de entrada e listar todas
as combinaes possveis, utilizando a frmula no de
Combinaes = 2n (onde n o nmero de variveis de
entrada);
Criar uma coluna para cada varivel de entrada que aparea complementada na equao e anotar os valores resultantes;
Avaliar a equao seguindo a ordem de precedncia, a
partir do nvel de parntesis mais internos:
1 multiplicao lgica
2 adio lgica
X
0
0
0
0
1
1
1
1
Y
0
0
1
1
0
0
1
1
Z
0
1
0
1
0
1
0
1
Z
1
0
1
0
1
0
1
0
Y.Z
0
0
1
0
0
0
1
0
W=X+Y.Z
0
0
1
0
1
1
1
1
Na realidade, mais do que smbolos de operadores lgicos, as portas lgicas representam recursos fsicos, isto ,
circuitos eletrnicos, capazes de realizar as operaes lgicas. Na eletrnica que trabalha com somente dois estados,
a qual denominada eletrnica digital, o nvel lgico 0 normalmente est associado ausncia de tenso (0 volt) enquanto o nvel lgico 1, presena de tenso (a qual geralmente 5 volts). Nesta disciplina, nos limitaremos ao mundo
da lgebra Booleana, admitindo que as portas lgicas representam tambm circuitos eletrnicos que, de alguma
maneira, realizam as funes Booleanas simbolizadas. Ento, ao conjunto de portas lgicas e respectivas conexes
que simbolizam uma equao Booleana, denominaremos
circuito lgico.
35
Figura 2.1 - Smbolo da porta lgica OU com 2 entradas (a) e com 3 entradas (b).
Figura 2.2 - Smbolo da porta lgica E com 2 entradas (a) e com 3 entradas (b).
36
2.4.3 Inversores
A porta que simboliza a operao complementao
conhecida como inversor (ou porta inversora, ou negador).
Como a operao complementao s pode ser realizada
sobre uma varivel por vez (ou sobre o resultado de uma
sub-expresso), o inversor s possui uma entrada e, obviamente, uma sada. Caso se queira complementar uma expresso, necessrio obter-se primeiramente o seu resultado, para s ento aplicar a complementao. O smbolo do
inversor mostrado na Figura 2.3.
Os passos a serem seguidos para se realizar o desenho do circuito lgico a partir de uma equao so praticamente os mesmos usados na avaliao da expresso. Tomemos como exemplo a equao, avaliada na seo 2.2.
Inicialmente, identificamos as variveis independentes, que
no caso so X, Y e Z. Para cada uma destas, traamos uma
linha (da esquerda para a direita), representando os fios que
conduzem os valores. Feito isto, deve-se seguir desenhando
as portas necessrias para representar cada uma das subexpresses, na mesma ordem tomada para a avaliao, ou
seja:
37
A+0=A
A+1=1
A+A=A
A + A = 1
Da multiplicao lgica:
5.
6.
A.0=0
A.1=A
38
7.
8.
A.A=A
A . A = 0
Da complementao:
9. (A) = A
Comutatividade:
10. A + B = B + A
11. A . B = B . A
Associatividade:
12. A + (B + C ) = (A + B )+ C
13. A .(B .C) = (A .B) .C
Distributividade (da multiplicao em relao adio):
14. A .(B + C) = A .B + A .C
(2.1)
O segundo teorema o dual ( i.e., o espelho) do primeiro, ou seja, a complementao de uma soma (lgica)
equivale ao produto das negaes individuais das variveis:
(A + B + C + ...) = A . B . C . ... (2.2)
Particularizando os teoremas de De Morgan para duas
variveis, temos:
39
(A . B) = A + B
(A + B) = A . B
(2.3)
(2.4)
H basicamente duas maneiras de se definir (ou descrever) uma funo Booleana: descrevendo-se todas as situaes das variveis de entrada para as quais a funo
vale 1 ou, alternativamente, todas as situaes em que a
funo vale 0. O primeiro mtodo conhecido por soma de
produtos (SdP), enquanto que o segundo chamado produto de somas (PdS). Qualquer funo Booleana pode ser
descrita por meio de soma de produtos ou por meio de produto de somas. Como as funes Booleanas s podem assumir um dentre dois valores (0 ou 1), basta usar-se um dos
dois mtodos para se encontrar uma equao para uma
funo.
ABC
Mintermos
000
001
010
011
100
101
110
111
A. B. C
A. B. C
A. B . C
A. B . C
A . B .C
. B . C
A . B . C
A.B.C
Cada termo produto construdo conforme a regra anteriormente descrita denominado mintermo (ou minitermo).
Note que, para um dado mintermo, se substituirmos os valores das variveis associadas, obteremos 1. Porm, se substituirmos nesse mesmo mintermo quaisquer outras combinaes de valores, obteremos 0. Dessa forma, se quisermos
encontrar a equao para uma funo a partir de sua tabela
verdade, basta montarmos um OU entre os mintermos associados aos 1s da funo (tambm chamados mintermos
1).
000
001
010
011
100
101
110
111
(2.5)
(2.6)
ABC
Maxtermos
000
001
010
011
100
101
110
111
A+B+C
A + B + C
A + B+ C
A + B + C
A + B + C
A + B + C
A + B + C
A + B + C
ABC
000
001
010
011
100
101
110
111
0
0
1
1
0
1
1
0
Foi escolhida a mesma funo do exemplo anterior, para que se possa estabelecer comparaes entre os dois mtodos de derivao. Os valores das variveis de entrada
(A,B,C) para os quais F=0 so (0,0,0), (0,0,1), (1,0,0) e
(1,1,1). Os maxtermos associados a essas condies (ou
seja, os maxtermos 0), so A + B + C , A + B + C, A + B + C
e A + B + C, respectivamente. Logo, a equao em produto
de somas para F ser o E entre estas somas, ou seja:
F = (A + B + C).(A + B + C).(A + B + C).(A + B + C)
(2.7)
Mintermo
Maxtermo
000
001
010
011
100
101
110
111
m0
m1
m2
m3
m4
m5
m6
m7
M0
M1
M2
M3
M4
M5
M6
M7
(2.8)
(2.9)
E sua expresso em produto de somas, na forma cannica, pode ser reescrita como:
F = M0. M1 M4. M7
(2.10)
ou simplesmente, como:
F = (0,1,4,7)
(2.11)
(2.12)
(2.13)
(2.14)
(2.15)
Assim, pela manipulao algbrica, obtivemos uma expresso em soma de produtos que mais simples em relao a sua expresso em soma de produtos na forma cannica, pois o nmero de operaes e tambm de literais foram
reduzidos.
45
(2.16)
que uma manipulao algbrica decorrente da propriedade (3). Retomando a equao 2.12 e utilizando 2.16,
segue-se que
F = ABC + ABC + ABC + ABC + ABC
(2.17)
(2.18)
(2.19)
(2.20)
todas as simplificaes possveis, uma vez que foram agrupados e simplificados todos os pares de mintermos que se
diferenciam apenas por uma varivel. Logo, a expresso
2.20 representa a simplificao mxima possvel sob a forma
de soma de produtos. E por esse motivo, ela dita equao
mnima em soma de produtos da funo F. Quanto a expresso 2.15 uma soma de produtos simplificada (porm,
no-mnima). Logo, toda equao mnima simplificada,
porm, nem toda equao que foi simplificada necessariamente mnima.
Embora a equao mnima em soma de produtos apresente menor nmero de operaes Booleanas que a representao na forma cannica, as vezes pode ser possvel
reduzir-se ainda mais o nmero de operaes, fatorando-se
literais. Por exemplo, na expresso 2.20 pode-se fatorar o
primeiro e o terceiro mintermos como segue:
F = B(A + C) + ABC
(2.21)
47
O circuito da Figura 2.5 pode ainda ser desenhado utilizando-se uma notao simplificada para os inversores das
entradas. Ao invs de se desenhar um inversor para cada
varivel que aparece negada na equao, coloca-se um crculo junto a cada entrada de cada porta na qual h uma varivel negada. Veja a Figura 2.6 abaixo.
48
Figura 2.6 - Um circuito lgico para soma de produtos - outra possvel representao.
No caso de equaes na forma produto de somas (cannica ou simplificada), o primeiro nvel constitudo por
portas OU, sendo cada uma responsvel por uma das somas lgicas da equao. O segundo nvel, por sua vez,
constitudo por uma porta E, que realiza o produto lgico das
parcelas. A Figura 2.7 mostra um circuito lgico para a equao 2.7.
49
sejam dispostos de maneira conveniente, o que ser explicado nas prximas sub-sees. Todo o processo se baseia
na simplificao de mintermos adjacentes.
Definio. Em uma expresso booleana na forma de
soma de produtos, dois ou mais mintermos so adjacentes
se existir, em todos eles, uma ou mais variveis em comum.
Estas ocorrncias comuns tero que ser obrigatoriamente na
mesma forma, ou seja ou todas na forma natural ou todas na
forma complementar. Por exemplo, na expresso AB + AB,
os mintermos AB e AB so adjacentes porque a varivel A
ocorre em ambos mintermos. Esta ocorrncia implica em
que a varivel B pode ser eliminada facilmente utilizando os
teoremas da Lgica Booleana, da seguinte forma: AB + AB
= A(B + B) = A. Neste caso, apenas uma varivel foi eliminada, mas podem acontecer casos em que mais de uma
varivel pode ser eliminada.
Como outro exemplo, na expresso ABCD + ABCD
+ ABCD + ABCD todos os mintermos so adjacentes porque as variveis B e D ocorrem em todos eles. Neste caso,
ABCD + ABCD + ABCD + ABCD = (AC + AC + AC +
AC)BD = ((A(C + C) + A(C + C))BD = (A + A)BD =BD.
Ou seja, duas variveis so eliminadas. A quantidade de
variveis que sero eliminadas na simplificao exatamente a quantidade de mintermos adjacentes, sem considerar
mintermos repetidos.
2.8.1 Mapas de Karnaugh para duas variveis
Para expresses booleanas com apenas duas variveis, o mapa de Karnaugh bastante simples, porque uma
expresso booleana deste tipo s apresenta os mintermos
m0 = AB, m1 = AB, m2 = AB e m3.= AB. Cada mintermo
tem seu local fixo, onde ele apresenta um valor 1 ou 0. Isto
pode ser verificado na figura a seguir
A AB AB
B
ou
A AB AB
52
A m0 m1
A m2 m3
Maurice Karnaugh
(4 de outubro de 1924)
foi um fsico americano que se tornou famoso pela criao dos
mapas de Karnaugh
utilizados na lgebra
Booleana.
Ele estudou Matemtica e Fsica no City
College of New York
(1924-1928) e foi
transferido para a Universidade de Yale
para completar seu
Bacharelado (1949),
seu Mestrado (1950) e
seu PhD em Fsica
com uma Tese intitulada The Theory of
Magnetic Resonance
and Lambda-Type
Doubling in NitricOxide (1952).
Karnaugh trabalhou na
Bell Labs (1952-1966)
desenvolvendo os mapas de Karnaugh
(1954) e tambm desenvolveu patentes
para a PCM na rea de
Codificao de Circuitos LgicoMagnticos. Depois
ele trabalhou na Federal Systems Division
da IBM em Gaithersburg (1966 70) e na
A 0
A 1
A 0
A 0
A 1
A 1
de da lgebra Booleana de que A = A + A, ou seja, um mintermo pode ser duplicado para que a simplificao seja a
mais abrangente possvel. Assim, o mapa final se tornar:
A 0
A 1
f(A,B) = A + B
ou em forma de mintermos:
A m0
m1
m3
m2
A m4
m5
m7
m6
Os agrupamentos mximos so 4 mintermos, mas podem ser de 2 mintermos tambm. Os mintermos sem adjacentes sero considerados isolados. Neste caso, os agrupamentos possvels de 4 mintermos so:
54
B
A m0
m1
m3
m2
A m4
m5
m7
m6
que igual a B, ou
B
A m0
m1
m3
m2
A m4
m5
m7
m6
A m0
m1
m3
m2
A m4
m5
m7
m6
que igual a B.
Podem ainda acontecer os seguintes agrupamentos de
4 mintermos:
A m0
m1
m3
m2
A m4
m5
m7
m6
55
A m0
m1
m3
m2
A m4
m5
m7
m6
Vaficar
um
A m0
m1
m3
m2
A m4
m5
m7
m6
mos veriexemplo.
56
Aps, deve-se identificar todos os grupos de mintermos-1 adjacentes entre si. Cada grupo de mintermos-1 originar um produto, conforme indicado na Figura 2.13. A equao em soma de produtos simplificada ser o OU entre
os produtos encontrados:
F = AB + ABC + BC
2.8.3 Mapas de Karnaugh para quatro variveis
16 mintermos em um nico grupo, ou seja, a expresso booleana igual a 1, ou pode-se fazer agrupamentos de 8 mintermos, de 4 mintermos ou de 2 mintermos. Os agrupamentos de 8 mintermos eliminam 3 variveis, os de 4 eliminam 2
e os de 2 eleiminam 1 varivel. Ou em termos de mintermos:
m0
m1
m3
m2
m4
m5
m7
m6
A
B
m12
m13
m15
m14
m8
m9
m11
m10
58
Observaes:
1. Cada mintermo pode ser coberto por mais de um agrupamento, caso isso resulte em uma simplificao maior;
2. Um ltimo teste para verificar se a expresso obtida
realmente a mnima consiste em verificar se algum agrupamento pode ser removido, sem deixar algum mintermo descoberto. Um agrupamento que poder ser removido sem descobrir mintermos dito subcubo noessencial. Logo, todo agrupamento ou subcubo que
no pode ser removido dito essencial.;
3. Pode haver mais de uma expresso mnima para uma
mesma funo Booleana;
4. A expresso mnima aquela de menor complexidade.
E a complexidade medida pelo nmero de literais de
uma funo, ou seja, pela quantidade de suas variveis.
C
m0
m1
m3
m2
m4
m5
m7
m6
m12
m13
m15
m14
m8
m9
m11
m10
m0
m1
m3
m2
m4
m5
m7
m6
m12
m13
m15
m14
m8
m9
m11
m10
A
B
B
A
C
m0
m3
C
m1
m2
m0
m1
m3
m2
m4
m5
m7
m6
A
m4
m5
m7
m6
B
m12
m13
m15
m14
m12
m13
m15
m14
m8
m9
m11
m10
A
m8
D
m9
m11
D
m10
D
59
As reas onde de
mintermos adjacentes podem conter at 16 mintermos. Neste caso, o valor
da funo 1. Estas reas
tambm podem conter 8
mintermos adjacentes, que
so os seguintes, mostrados na figura a seguir.
C
m1
m0
C
m3
m2
m0
m1
m3
m2
m4
m5
m7
m6
m1
m1
m1
m14
m8
m9
m1
m10
A
m4
m7
m5
m6
B
m1
m13
m1
m1
m8
m9
m1
m1
m3
m2
C
m1
C
m0
m0
m1
m3
m2
m4
m5
m7
m6
m1
m1
m1
m14
m8
m9
m1
m10
A
m4
m5
m7
m6
m1
m13
m1
m1
m8
m9
m1
m1
C
A
A
1 B
0 B
60
Neste caso, verificamos que o maior agrupamento possvel de 8 mintermos para construrem o agrupamento D.
Isto pode ser verificado na figura a seguir:
C
A
A
1 B
0 B
C
A
A
1 B
0 B
Finalmente, o mintermo m2 o ltimo a ser considerado. Verificamos que ele est isolado mas ele adjacente ao
mintermo m3 e portanto deve ser agrupado a este para formar o subcupo ABC, apesar do mintermo m3 j estar agrupado em outro subcubo. A figura final a seguinte:
61
C
A
A
1 B
0 B
D
ABC-
ABC-
ABC-
D
ABC-
ABC-
ABC-
ABC-
ABC-
ABC-
ABC-
ABC-
ABC-
ABC-
ABC-
ABC-
ABC-
ABC-
ABC-
ABC-
ABC-
B
ABC-
ABC-
ABC-
ABCC
A
ABC-
ABC-
ABC-
ABC-
ABC-
ABC-
ABC-
ABC-
ou em termos de mintermos,
62
D
m
m3
m2
m1
m1
m1
m1
m2
m2
m2
m2
B
m
m7
m6
C
A
m1
m1
m1
m1
m2
m2
m3
m3
m2
m2
m2
m2
B
m
m9
E
m1
E
m1
C
E
63
Obs: existe mais de uma cobertura mnima possvel para essa funo.
64
2.10 WEB-BIBLIOGRAFIA
www.ufpi.br/uapi (A Pgina da Universidade Aberta do Piau
- UAPI)
www.uab.gov.br (O Site da Universidade Aberta do BrasilUAB)
www.seed.mec.gov.br (A Homepage da Secretaria de Educao a Distncia do MEC - SEED )
www.abed.org.br (O site da Associao Brasileira de Educao a Distncia - ABED)
65
Unida de 3
CIRCUITOS COMBINACIONAIS
Resumo
O objetivo principal desta unidade apresentar os principais
conceitos e estruturas dos circuitos combinacionais, onde as
sadas dependem unicamente dos valores das entradas.
Estes circuitos apresentam um comportamento distinto dos
circuitos seqenciais que sero vistos na prxima unidade.
Entre os circuitos combinacionais a serem vistos se dstacam
os circuitos aritmticos que so responsveis pelas
operaes como somas, subtraes e multiplicaes que so
muito comuns nos computadores.
A forma de apresentao utilizada de acordo com o exigido
para o ensino distncia, ou seja, tendo em vista sempre esta
nova modalidade de ensino.
SUMARIO
SUMRIO
67
3 Circuitos combinacionais
3.1 Introduo
Os circuitos lgicos dos sistemas digitais podem ser de
dois tipos: circuitos combinacionais ou circuitos seqenciais.
Um circuito combinacional constitudo por um conjunto de portas lgicas as quais determinam os valores das sadas diretamente a partir dos valores atuais das entradas.
Pode-se dizer que um circuito combinacional realiza uma
operao de processamento de informao a qual pode ser
especificada por meio de um conjunto de equaes Booleanas. No caso, cada combinao de valores de entrada pode
ser vista como uma informao diferente e cada conjunto de
valores de sada representa o resultado da operao. A Figura 3.1 mostra o diagrama de blocos genrico de um circuito combinacional.
Um circuito seqencial, por sua vez, emprega elementos de armazenamento denominados latches e flip-flops, alm de portas lgicas. Os valores das sadas do circuito dependem dos valores das entradas e dos estados dos latches
ou flip-flops utilizados. Como os estados dos latches e flipflops funo dos valores anteriores das entradas, diz-se
que as sadas de um circuito seqencial dependem dos valores das entradas e do histrico do prprio circuito. Logo, o
comportamento de um circuito seqencial especificado
pela seqncia temporal das entradas e de seus estados
internos. A Figura 3.2 esboa um diagrama de blocos genrico para circuitos seqenciais conhecido como modelo de
68
O procedimento bsico para se determinarem as equaes que descrevem as sadas de um circuito combinacional
o seguinte:
1. Dar um nome para as variveis associadas a cada sada
de cada porta do circuito, exceto aquelas sadas que j
possuem nome (como por exemplo, as sadas do circuito);
2. A partir da esquerda, e seguindo a ordem de precedncia
determinada pelas ligaes, determinar as equaes as69
todas
menor= A
lm das operaes lgicas e aritmticas como adio, subtrao complementao, existem ainda outras funes necessrias para a realizao de conexes entre os diversos
operadores. Dentre essas funes esto a multiplexao e a
decodificao. Os elementos que realizam essas ltimas
operaes so denominados multiplexadores e decodificadores, respectivamente, e so tambm circuitos combinacionais. A seguir, veremos como tais circuitos so constitudos.
3.4.1 Decodificadores
Um decodificador um circuito combinacional usado
para ativar ou habilitar um (e somente um) dentre m componentes. assumido que cada componente possui um ndice
entre 0 e m-1, representado por um endereo em binrio.
Um decodificador n : m (l-se n por m ) possui n entradas e m sadas, com m 2n.
No caso de um decodificador 3:8, sero 8 sadas, onde
cada sada pode ser encarada como um endereo diferente.
Para ativar uma dentre 8 sadas so necessrias 3 variveis
de entrada (da 3:8). Cada combinao das variveis de entrada seleciona uma e somente uma dentre as 8 sadas, de
modo que cada sada somente ser selecionada por uma
das 8 combinaes. Desta forma, natural que se associe a
cada sada um ndice decimal que represente a combinao
de entradas responsvel pela sua ativao. Assumindo-se
ativao em lgica direta, isto , que uma sada est ativada
se ela vale 1, ento a tabela verdade para um decodificador
3:8 ser:
72
73
Um decodificador pode possuir uma entrada de habilitao. Esta entrada tem a funo de habilitar ou desabilitar
seu funcionamento. Assim, se esta entrada valer 0, nenhuma sada estar ativada, independente dos valores das demais entradas. Por outro lado, se a entrada de habilitao
valer 1, o decodificador estar ativando uma das sadas.
Neste exemplo, foi considerado que a habilitao do
decodificador se d com lgica direta, isto , quando a entrada de habilitao valer 1. A lgica de habilitao poderia
ser negada, ou seja, habilita se a entrada de habilitao valer 0 e no habilita, caso contrrio.
A tabela verdade de um decodificador 2:4 com ativao
e habilitao em lgica direta a seguinte:
74
A Figura 3.4a mostra o smbolo para esse decodificador e a Figura 3.4b mostra uma possvel implementao
(circuito lgico).
Figura 3.4: smbolo (a) e diagrama (b) de um decodificador 2x4 com entrada de habilitao.
3.4.2 Seletores
Um seletor (tambm conhecido como multiplexador)
um circuito combinacional usado para selecionar uma dentre
um conjunto de m fontes de informao disponveis. Um seletor que possui n entradas para realizar a seleo capaz
de selecionar uma dentre 2n entradas. Logo, m deve ser
menor ou igual a 2n.
Dado o conjunto de entradas A0, A1, A2 e A3, e as variveis de seleo S0 e S1, a tabela verdade para um seletor
4-1 ser:
75
A Figura 3.5a mostra o smbolo para tal seletor e a Figura 3.5b mostra um possvel circuito em soma de produtos.
A fim de se projetar o circuito do meio somador, devemos montar uma tabela verdade para as sadas S e Cout
utilizando-se os valores que resultam da adio de dois dgitos binrios, como segue:
Entretanto, quando ao somarmos dois nmeros binrios que possuem mais de um dgito cada ocorrer transporte
diferente de zero para a soma de um par de dgitos intermedirios, a soma do par seguinte dever considerar esse
transporte proveniente do par anterior, conforme ilustra o
exemplo a seguir (Figura 3.8).
78
79
O circuito que implementa a sada S do somador completo pode ser derivado a partir da equao em soma de
produtos acima. No entanto, pode-se ainda manipular tal
equao conforme segue:
80
EXERCCIOS
A
B
F(A,B,C,D)
C
D
82
3.5.4 O multiplicador
A multiplicao de nmeros binrios realizada da
mesma maneira como a de nmeros decimais. O multiplicando multiplicado por cada bit do multiplicador, comeando do bit menos significativo. Cada uma destas multiplicaes formam um produto parcial. Os sucessivos produtos
parciais so deslocados uma posio para a esquerda. O
produto final obtido a partir da soma dos produtos parciais.
85
Os bits do multiplicando so B1 e B0, os bits do multiplicador so A1 e A0 e o produto M3M2M1M0. O primeiro produto parcial formado pela multiplicao de B1B0 por A0. A
multiplicao de dois bits, tais como A0 e B0, produz um 1 se
ambos os bits so 1, do contrrio ela produz um 0. Isto
idntico operao E. Assim, o produto parcial pode ser
implementado com portas E como mostrado no circuito da
Figura 3.13. O segundo produto parcial formado pela multiplicao de B1B0 por A1 e deslocado uma posio para a
esquerda. Os dois produtos parciais so somados com dois
circuitos meio-somadores. Usualmente tem-se mais bits nos
produtos parciais, fazendo-se necessrio o uso de somadores completos para produzir a soma dos produtos parciais.
Um circuito multiplicador binrio combinacional com
mais bits pode ser construdo de maneira semelhante. Um
86
bit do multiplicador operado por um E com cada bit do multiplicando em tantos nveis quanto existam bits no multiplicador. A sada binria em cada nvel de portas E somada em
paralelo com o produto parcial do nvel anterior para formar
um novo produto parcial. O ltimo nvel produz o resultado.
Para j bits no multiplicador e k bits no multiplicando, sero necessrios jk portas E e (j-1) somadores de k bits para
gerar um produto de j+k bits.
EXERCCIOS
87
3.7 WEB-BIBLIOGRAFIA
www.ufpi.br/uapi (A Pgina da Universidade Aberta do Piau
- UAPI)
www.uab.gov.br (O Site da Universidade Aberta do BrasilUAB)
www.seed.mec.gov.br (A Homepage da Secretaria de Educao a Distncia do MEC - SEED )
www.abed.org.br (O site da Associao Brasileira de Educao a Distncia - ABED)
88
Unida de 4
CIRCUITOS SEQUENCIAIS
Resumo
O objetivo principal desta unidade apresentar os circuitos
seqenciais aps serem apresentados os circuitos
combinacionais na Unidade anterior. Ao contrrio dos
combinacionais, os circuitos seqenciais no dependem
unicamente dos valores de entrada. Eles dependem tambm
dos valores anteriores que devem estar armazenados em
algum circuito para que possam ter alguma utilidade, ou seja,
devem ser armazenados em algum tipo de memria. Entre os
circuitos seqenciais esto os latches e os flip-flpos que so
os elementos principais na construo dos diversos tipos de
memrias que os computadores utilizam.
A forma de apresentao utilizada de acordo com o exigido
para o ensino distncia, ou seja, tendo em vista sempre esta
nova modalidade de ensino.
SUMRIO
SUMRIO
4 Circuitos seqenciais..................................................... 90
4.1 Introduo ..................................................................... 91
4.2 Fundamentao terica ................................................ 91
4.3 Latches ......................................................................... 96
4.3.1 O latch RS ............................................................................. 96
4.3.2 O latch RS controlado ................................................... 102
4.3.3 O latch D .............................................................................. 104
4.3.4 Latches com lgica de ativao complementar 106
4.4 Flip-flops ..................................................................... 108
4.4.1 Flip-flop D mestreescravo ......................................... 109
4.4.2 Flip-flops disparados pela borda .............................. 111
4.4.3 Flip-flops disparados pela borda descendente.. 114
4.4.4 Set e reset assncronos ................................................ 115
4.5 SAIBA MAIS ..................... Erro! Indicador no definido.
4.6 WEB-BIBLIOGRAFIA .................................................. 117
4.7 REFERNCIAS BIBLIOGRFICAS ............................ 117
90
4 Circuitos seqenciais
4.1 Introduo
Conforme j citado no captulo 3, os circuitos lgicos
dos sistemas digitais podem ser de dois tipos: circuitos
combinacionais ou circuitos seqenciais. Um circuito combinacional constitudo de um conjunto de portas lgicas, as
quais determinam os valores das sadas diretamente a partir
dos valores atuais das entradas. Estes tipos de circuitos foram objeto de estudo no Captulo 3 deste estudo. O objeto
de estudo do Captulo atual so os circuitos seqenciais.
O comportamento de um circuito seqencial assncrono depende da ordem segundo a qual as entradas mudam e
o estado do circuito pode se alterar a qualquer tempo, como
conseqncia de uma mudana de suas entradas. Os elementos de memria utilizados nos circuitos seqenciais assncronos apresentam uma capacidade de armazenamento
que est associada diretamente ao atraso de propagao
dos circuitos que os compem. Em outras palavras, o tempo
que esses circuitos levam para propagar uma mudana de
suas entradas at suas sadas pode ser encarado como o
tempo durante o qual eles retm os valores aplicados antes
da mudana, e esse fenmeno coincide com o conceito de
memria, para os circuitos digitais. Nos circuitos seqenciais
assncronos, os elementos de memria so compostos por
portas lgicas que provem um atraso de propagao com
valor adequado para o funcionamento do circuito. Ento, um
circuito seqencial assncrono pode ser visto como um circuito combinacional com realimentao. O projeto de circuitos com realimentao apresenta grandes dificuldades, uma
92
vez que seu funcionamento correto dependente das caractersticas temporais dos componentes (portas lgicas e fios).
A principal dificuldade provm do fato de que os componentes apresentam atrasos que no so fixos, podendo ser diferentes mesmo para exemplares com mesma funo e de um
mesmo fabricante. Desta forma, os circuitos seqenciais
assncronos tm sido evitados, sempre que possvel, em
favor do uso de circuitos seqenciais sncronos.
Um circuito seqencial sncrono utiliza um sinal especial denominado de relgio (clock, em ingls) o qual tem a
funo de cadenciar uma eventual troca de estado. A Figura
4.2 mostra um exemplo de sinal de relgio. A forma de onda
de um sinal de relgio dita montona, pois no se altera
ao longo do tempo. Nela podem ser identificados a borda de
subida, a borda de descida, o nvel lgico zero e o nvel lgico um. O tempo que decorre para o sinal se repetir denominado perodo e representado por T. Por exemplo, o
tempo entre duas bordas de subida sucessivas igual a T.
Da mesma forma, o tempo entre duas bordas de descida
sucessivas igual a T.
(4.1)
Para medir-se o perodo, usa-se os mltiplos do segundo: ms (milissegundo = 10-3s), s (microssegundo = 1093
6s), ns (nanossegundo = 10-9s) e ps (picossegundo = 1012s). Para medir-se a freqncia, usa-se os mltiplos do
hertz: kHz (quilohertz = 10+3Hz), MHz (megahertz
=10+6Hz) e GHz (gigahertz = 10+9Hz). Um hertz equivale a
1/s (i.e., o hertz o inverso do segundo).
Num circuito seqencial sncrono, o sinal de relgio determina quando os elementos de memria iro amostrar os
valores nas suas entradas. Conforme o tipo de circuito utilizado como elemento de memria, esta amostragem das
entradas pode ser sincronizada pela borda ascendente ou
pela borda descendente do relgio. Seja qual for o tipo de
sincronizao, o tempo que transcorre entre duas amostragens sucessivas equivale a T, o perodo do relgio. Isto implica que, qualquer mudana no estado de um circuito seqencial sncrono ir ocorrer somente aps a borda do sinal
de relgio na qual seus elementos de memria so disparados. A Figura 4.3 mostra o diagrama de blocos de um circuito seqencial sncrono.
Os elementos de memria utilizados nos circuitos seqenciais sncronos so denominados flip-flops. Um flip-flop
um circuito digital que possui duas entradas e duas sadas
e capaz de armazenar um bit de informao. As duas entradas no so intercambiveis: uma reservada ao sinal
de controle (relgio) e a outra recebe o dado (bit) a ser ar94
mazenado. As sadas correspondem ao dado (bit) armazenado e ao seu complemento. O sinal de relgio determina o
instante em que o flip-flop amostra o valor do dado, podendo
corresponder a uma borda de subida ou a uma borda de
descida, dependendo de como o flip-flop constitudo. O
diagrama da Figura 4.3 mostra que o valor de cada varivel
de estado armazenado num flip-flop especfico. Os valores
que representam o prximo estado s so amostrados na
borda ativa do relgio. Logo, o estado atual fica armazenado
no conjunto de flip-flops at que uma nova borda do relgio
chegue, quando ento o prximo estado passa a ser o estado atual e um novo prximo estado ser gerado pelo circuito
combinacional.
95
4.3 Latches
Os vrios flip-flops existentes se diferenciam pelo nmero de entradas que possuem e na maneira pela qual tais
entradas afetam o estado em que o flip-flop se encontra. Os
tipos mais bsicos de flip-flops so denominados latches.
Os latches operam por nveis dos sinais de entrada (diz-se
que so sensveis a nvel) e servem como base na construo dos flip-flops mais sofisticados.
96
Conforme j citado na introduo deste captulo, circuitos que possuem algum tipo de realimentao so ditos seqenciais, pois seu comportamento no depende somente
dos valores das entradas, mas tambm do estado em que o
circuito se encontra. Assim, a anlise do funcionamento do
latch RS obedecer os seguintes passos:
Imaginemos agora que na seqncia de operao deste latch foram aplicados os valores R=0 e S=0 s suas entradas no instante de tempo t1, com t1>t0+td(n1)+td(n2) (ou
seja, bem depois da aplicao de R=1 e S=0). Em funo
dos atrasos das portas n1 e n2, as sadas Q e Q no se alteraro imediatamente. Logo, para efeitos de anlise, podemos considerar que a entrada de n1 que est conectada
a Q continua com o valor lgico 1 e que a entrada de n2 que
est conectada a Q continua com o valor lgico 0. Desta
forma, logo aps o instante t1, n1 ter 0 e 1 em suas entradas, fazendo com que sua sada, que a sada Q do circuito, permanea no valor lgico 0. De maneira semelhante,
logo aps t1, n2 ter em suas entradas 0 e 0, fazendo com
que sua sada, que a sada Q do latch, permanea com o
valor lgico 1. As formas de onda que ilustram o resultado
da aplicao sucessiva destes dois vetores de entrada
(R=1;S=0) e (R=0;S=0) no latch RS so mostradas na Figura 4.5.
Suponhamos agora que a seqncia de valores aplicados s entradas do latch (R=0;S=1) em t0 e (R=0;S=0),
em t1. Ento, em t0+td(n2) a sada Q se estabilizar com o
valor lgico 0. Como existe uma ligao fsica entre a sada
Q e uma das entradas da porta nor n1, aps o instante
t0+td(n2) ambas entradas de n1 estaro estabilizadas em 0.
Ento, a partir do instante t0+td(n2)+td(n1), a sada Q estar
estabilizada com o valor lgico 1. Supondo novamente que
t1>t0+td(n2)+td(n1), podemos admitir que imediatamente aps t1 as sadas Q e Q ainda se mantm com seus valores
anteriores, quais sejam Q=1 e Q =0. Desta forma, n1 ter o
valor lgico 0 em ambas entradas, resultando que Q se
mantm em 1. De forma similar, n2 ter em suas entradas
os valores 1 e 0, resultando que Q se mantm em 0. A Figura 4.6 mostra as formas de onda resultantes da aplicao do
vetor de entrada (R=0;S=1) em t0, seguido do vetor
(R=0;S=0), em t1. Note que td(n1) e td(n2) podem ser valores
bem diferentes. Note ainda que em ambos casos, o atraso
para a estabilizao do latch sempre ser td(n1)+td(n2).
98
99
100
A Tabela 4.2 lista os valores possveis para as entradas nas colunas mais esquerda, admitindo que esses valores esto sendo aplicados no instante presente t. Para
cada situao de entradas, o novo valor da sada (e portanto, o novo estado do latch) para o instante imediatamente
posterior t+1 encontra-se na coluna mais direita. Como a
sada Q sempre exibe o complemento da sada Q, apenas o
valor de Q listado, ficando Q subentendido.
O comportamento de circuitos seqenciais pode tambm ser expresso por meio de um diagrama denominado
diagrama de estados. Sendo o latch RS um circuito seqecial, pode-se usar um diagrama de estados para representar
seu funcionamento, conforme mostrado na Figura 4.7.
No diagrama da Figura 4.7, os estados reset e set esto representados por nodos (crculos). A transio entre
estados mostrada por uma aresta (seta). A condio de
entradas segundo a qual uma determinada transio pode
ocorrer est definida junto a aresta respectiva. Por exemplo,
estando o latch RS no estado reset, para que ele v para o
estado set necessrio que R=0 e S=1. Caso R=0 e S=0, o
latch RS ficar no estado em que se encontra.
Para evitar que se tenha que desenhar o circuito completo toda a vez que houver uma ocorrncia do latch RS,
costuma-se adotar o smbolo mostrado na Figura 4.8.
Exemplo 4.2: desenhar as formas de onda para as sadas do latch RS abaixo, a partir das formas de onda fornecidas para as entradas R e S.
Nesse sentido, o latch RS controlado um aprimoramento do latch RS. Ele construdo a partir do latch RS,
pela colocao de um par de portas E nas entradas R e S,
102
103
4.3.3 O latch D
A necessidade de evitar a ocorrncia do estado proibido um detalhe que dificulta o projeto de circuitos seqenciais com latches RS. O latch D construdo a partir do latch
104
105
Tabela 4.5 - Tabela de transio de estados para o latch RS controlado com lgica de ativao negada.
Tabela 4.6 - Tabela de transio de estados para o latch D com lgica de ativao negada.
107
4.4 Flip-flops
Conforme visto na seo anterior, os latches controlados D e RS so ativados ou controlados pelo nvel lgico do
sinal de controle. Isso significa que, enquanto o sinal de
controle estiver ativando o latch, eventuais variaes das
entradas D ou R e S sero percebidas pelo latch e este poder mudar de estado. Essa caracterstica particularmente
imprpria para a construo de circuitos seqenciais sncronos, uma vez que em tais circuitos qualquer troca de estado
deve ocorrer de maneira sincronizada com o sinal de relgio.
108
Os latches e os flip-flops
so muito parecidos. Qual
a verdadeira diferena
entre eles?
Analisando-se as conexes, possvel deduzir facilmente que os dois latches funcionam de maneira complementar com relao ao sinal de controle externo: enquanto o
controle vale 1, o mestre est ativado e o escravo est mantendo seu estado anterior e enquanto o controle vale 0, o
mestre est mantendo seu estado anterior e o escravo est
ativado. Como a entrada do escravo est conectada sada
do mestre, o ltimo valor lido durante a ativao do mestre
aparecer na sada do escravo no semiperodo seguinte. A
Figura 4.16 exemplifica o funcionamento do flip-flop D mestre-escravo a partir de formas de onda arbitrrias para as
entradas C e D.
109
110
111
Tabela 4.7 - Tabela de transio de estados para o flipflop D disparado pela borda ascendente.
Tabela 4.8 - Tabela de transio de estados para o flipflop JK disparado pela borda ascendente.
O smbolo do flip-flop JK disparado pela borda ascendente mostrado na Figura 4.19. Tambm nesse smbolo, o
tringulo na entrada de controle indica que a ativao se d
pela borda ascendente.
113
Tabela 4.9 - Tabela de transio de estados para o flipflop D disparado pela borda descendente.
114
Figura 4.20 - Smbolos para o flip-flop D (a) e para o flip-flop JK (b), ambos disparados pela borda descendente.
SAIBA MAIS
Existem
muitos
das
unida-
Outros po-
4.5 WEB-BIBLIOGRAFIA
Unida de 5
ARMAZENAMENTO DE DADOS
Resumo
O objetivo principal desta unidade apresentar os principais
conceitos e circuitos utilizados para armazenar alguns
valores, ou seja, as memrias. Estas memrias podem ser os
registradores, que so memrias rpidas e esto prximas ao
processador do computador, ou tambm podem ser de outros
tipos como apenas de leitura ou de leitura e escrita.
A unidade tambm contm vrios exemplos, e exerccios
resolvidos tentando proporcionar ao leitor o entendimento
pleno dos conceitos envolvidos, alm de serem propostos
vrios exerccios para sedimentar a teoria apresentada.
A forma de apresentao utilizada de acordo com o exigido
para o ensino distncia, ou seja, tendo em vista sempre esta
nova modalidade de ensino.
SUMRIO
119
5 ARMAZENAMENTO DE DADOS
5.1 Introduo
Nos sistemas digitais, e em particular nos computadores, as informaes esto representadas por conjuntos de
dgitos binrios denominados "palavras". Nos computadores
atuais o tamanho da palavra de 32, 64 ou 128 bits. Porm,
at h pouco tempo atrs, os computadores pessoais usavam apenas 8 e 16 bits.
Naturalmente, um sistema digital projetado para trabalhar com um determinado tamanho de palavra, devendo
portanto conter recursos de hardware que lhe permitam processar e armazenar simultaneamente conjuntos de n bits,
onde n o tamanho da palavra.
5.2 Registradores
Um registrador um circuito digital formado por n flipflops, de modo a poder armazenar simultaneamente (e de
maneira independente) n bits. Trata-se de um tipo de elemento de armazenamento bsico: um processador possui
um conjunto de registradores que pode variar de trs a algumas dezenas. A existncia de registradores dentro do
processador acelera o processamento, pois os dados que
esto sendo manipulados ficam armazenados prximo dos
recursos de processamento (ULA, por exemplo), o que reduz os acessos feitos memria.. A Figura 5.1 mostra um
registrador de 4 bits feito com flip-flops D (disparados pela
borda ascendente).
120
Note que cada flip-flop responsvel pelo armazenamento de um bit, seguindo a notao posicional, e que cada
bit possui um caminho independente dos demais, tanto para
entrada como para a sada. Por isso, o registrador dito "de
carga paralela". Note tambm que o flip-flop de ndice 0 armazena o bit menos significativo e o flip-flop de ndice 3 armazena o bit mais significativo de uma palavra de 4 bits. Um
registrador funciona como uma barreira: os dados disponveis nas entradas D0, D1, D2 e D3 somente sero copiados
quando o sinal de relgio (CK, no caso) passar por uma
borda ascendente. Os valores copiados quando da passagem de uma borda ascendente permanecero armazenados
pelos flip-flops at a ocorrncia da prxima borda ascendente. Isto deixa o registrador imune a eventuais mudanas indesejadas dos sinais representados por D0, D1, D2 e D3. O
valor armazenado num flip-flop qualquer est sempre presente na sua sada Q. Isto quer dizer que o dado armazenado no registrador pode ser consultado por outro recurso de
hardware a qualquer tempo, desde que haja um caminho
fsico (i.e., um conjunto de fios) entre a sada do registrador
e a entrada do outro elemento. O outro elemento pode ser,
por exemplo, um somador/subtrator como na Unidade 3.
O registrador da Figura 5.1 apresenta, porm, uma deficincia grave: toda a vez que o sinal de relgio CK passar
por uma borda ascendente, os valores das entradas D0, D1,
D2 e D3 sero copiados, mesmo que isso no seja explicitamente desejado. Entretanto, os circuitos de um computador
devem seguir as ordens dos sinais provenientes da unidade
de controle. O sinal de relgio serve apenas para determinar
o momento no qual uma ordem dever ser cumprida. Logo,
um registrador de um computador deve possuir recursos
121
Nos desenhos de circuitos digitais mais complexos, ser utilizado preferencialmente o smbolo mostrado na Figura
5.3, ao invs do esquema completo do circuito, a fim de facilitar a compreenso.
122
Este exemplo ilustra o funcionamento do circuito associado a um bit de um registrador de carga paralela com sinal
de carga.
5.2.2 Registradores de deslocamento
Uma operao muito importante na aritmtica binria
o deslocamento de bits. Essa operao consiste em deslocar o contedo de um flip-flop para o seu adjacente. A operao
esquerda recebe o dado de uma "fonte" externa pela "entrada serial". J o contedo do flip-flop mais direita descartado.
Exemplo 5.2. Traar as formas de onda dos bits armazenados no registrador-deslocador mostrado a seguir, a partir
das formas de onde fornecidas.
Repare que h uma ligao entre a sada de cada flipflop e a entrada do seu vizinho imediatamente direita (adjacente a direita). O registrador de deslocamento do exemplo 5.2 no possui sinal de carga. Porm, tal sinal normalmente existe, como ser visto mais adiante.
124
Um registrador de deslocamento esquerda deve apresentar uma ligao entre a sada de cada flip-flop e a
entrada do flip-flop imediatamente esquerda. Um tal registrador mostrado na Figura 5.6. Note que a entrada serial
est conectada ao flip-flop mais direita (flip-flop que armazena o bit menos significativo).
Exemplo 5.3. Traar as formas de onda dos bits armazenados no registrador-deslocador mostrado a seguir, a partir
das formas de onde fornecidas.
125
Carga paralela;
Mantm contedo;
Zera o contedo (fazendo-se clear=1);
Desloca direita e desloca esquerda.
E seu funcionamento se d como segue:
Se o sinal clear=1, Q3=Q2=Q1=Q0=0;
caso contrrio, vale a tabela verdade a seguir
127
5.3 Memrias
Na seo anterior, vimos como so construdos diversos tipos de registradores. Apesar de serem muito rpidos,
os registradores tm capacidade de armazenamento reduzidssima: cada registrador capaz de armazenar somente
uma palavra por vez. Porm, nos sistemas digitais em geral,
e particularmente nos computadores, grandes quantidades
de informao (palavras) devem poder ser armazenadas.
Para tanto, necessrio que o sistema digital possua um
conjunto especfico de circuitos que sejam mais apropriados
ao armazenamento simultneo de um grande nmero de
palavras. Tais circuitos efetivamente existem e so genericamente denominados de memrias.
Do ponto de vista do funcionamento, as memrias podem permitir apenas a consulta (leitura) ao seu contedo ou
podem permitir a consulta (leitura) e a modificao (escrita)
de seu contedo. As memrias que s permitem a leitura
so chamadas de ROMs (Read-Only Memories, que significa memrias de leitura apenas), enquanto que as memrias
que permitem a leitura e a escrita so genericamente denominadas RAMs (Random-Access Memories, que significa
memrias de acesso randmico).
128
Suponha que se deseje fabricar num nico chip (circuito integrado) uma memria RAM capaz de armazenar 2n x
m bits, seguindo a organizao descrita anteriormente. A
Figura 5.11 mostra duas representaes grficas possveis
para um tal chip. Este chip dever possuir n entradas de
endereo (An-1, , A1,A0), de modo a se poder selecionar
129
uma (e somente uma) dentre todas as 2n posies existentes na matriz. Este chip tambm dever conter m entradas
(In-1, , I1,I0), e m sadas (On-1, , O1,O0), de modo a
permitir a leitura (=consulta) do contedo de uma das 2n
linhas ou a escrita (=gravao) de uma nova informao
numa das 2n linhas da matriz. Como existem duas operaes possveis sobre o contedo da matriz (leitura e escrita),
natural que deva existir uma entrada de seleo de operao. Esta entrada ser denominada RWS (Read/Write Select). Quando RWS=0, a operao a ser realizada ser a
leitura do contedo da posio cujo endereo est presente
na entrada de endereos. O valor lido aparecer na sada
do chip. Quando RWS=1, a operao a ser realizada ser a
escrita da informao binria presente na entrada do chip na
linha cujo endereo est presente na entrada de endereo.
Por fim, deve existir um sinal de habilitao do chip como
um todo (CS - Chip Select). Caso CS=0, o chip est desativado. Caso CS=1, o chip estar realizando a operao especificada pelo valor da entrada RWS.
130
Do ponto de vista estrutural, uma memria RAM organizada como uma matriz de elementos bsicos de memria, buffers de entrada e sada e um decodificador de endereos. Como mostrado na Figura 5.12, uma clula de memria (CM) pode ser representada simbolicamente como
sendo constituda por um latch D controlado cuja entrada
est conectada a sada de uma porta E e cuja sada se conecta entrada de um buffer.
Um buffer (driver) pode ter duas funes: reforar o sinal lgico (o que necessrio quando existem muitas portas
131
como o caminho crtico da entrada a sada passa pelo decodificador, as entradas de endereo devem estar estveis
antes de quaisquer outros sinais. Isto significa que durante o
ciclo de leitura mostrado pela Figura 5.14 as entradas de
endereo devero ser fornecidas em t0, seguidas por CS
em t1. Assim, os dados da memria estaro disponveis somente em t2. O atraso t2-t0 denominado tempo de acesso
memria (memory-access time), enquanto que o tempo t2t1 denominado tempo de habilitao da sada (outputenable time). Note que aps os valores das entradas de endereo terem sido modificadas em t3, os dados ainda estaro disponveis at t5. O intervalo t5-t3 denominado tempo
de manuteno da sada (output-hold time). J o intervalo t5t4 denominado tempo de desabilitao da sada (outputdisable time). Como o caminho entre as entradas de endereo e as sadas maior do que o caminho entre CS at as
sadas, o tempo de acesso determina a validade dos dados
sempre que o endereo e CS forem aplicados ao mesmo
tempo. Por outro lado, se o endereo e CS deixarem de ser
vlidos (CS=0, no caso), o tempo de desabilitao determinar a validade dos dados.
133
134
Apesar da CM ter sido representada como sendo constituda por um latch D e duas portas, na prtica sua fabricao pode ser levada a cabo com estruturas mais simples,
que utilizam menos transistores. A forma de implementao
de CMs leva a classificao das memrias RAM em estticas e dinmicas. No caso da RAM esttica (conhecida por
SRAM, static RAM), a CM feita com 6 transistores, onde
quatro deles formam dois inversores conectados em lao de
realimentao, fazendo o papel do latch D. No lugar da porta E e do buffer de sada h um transistor (para cada um, no
caso), o qual serve como chave de liga-desliga. A memria
SRAM capaz de manter seu contedo por tempo indeterminado, desde que este a alimentao no seja interrompida. No caso da memria dinmica (conhecida por DRAM,
dynamic RAM), cada CM implementada com somente um
transistor. A desvantagem deste tipo de RAM que o contedo da CM perdido aps a operao de leitura, devendo
ser reescrito. Para piorar, devido s imperfeies do processo de fabricao, o contedo da CM s se mantm por um
curto perodo de tempo. Estes dois problemas so contornados pela utilizao de um mecanismo de reflash construdo dentro da memria, o qual periodicamente refora o contedo de cada linha de CMs. Durante a operao de reflash,
as operaes de leitura e escrita so suspensas, o que reduz o desempenho deste tipo de memria.
As memrias SRAM e DRAM so ditas memrias volteis, pois, uma vez interrompido o fornecimento de energia,
elas perdem seu contedo. J as memrias ROM so ditas
no volteis, pois no perdem seu contedo quando o fornecimento de energia interrompido. As memrias ROM
tem uma organizao semelhante s memrias RAM (matriz
de CMs com decodificador de endereo e buffers de sada).
Porm, a CM de uma ROM bem mais simples, normalmente constituda por um nico transistor ou diodo, o qual
pode ser conFigurado uma vez para permitir o acesso ao 0
lgico (=0V) ou ao 1 lgico (de 5V a 1,5 V, conforme a tecnologia). Nos computadores, as memrias ROM servem
para armazenar todas as conFiguraes bsicas que jamais
sero alteradas, como por exemplo, as rotinas de entrada e
sada (denominadas de ROM-BIOS, nos computadores tipo
PC).
SAIBA MAIS
Existem muitos bons textos e alguns deles
esto listados na Bibliografia colocada ao
final das unidades. Outros podem ser encontrados na Internet .
136
5.4 WEB-BIBLIOGRAFIA
www.ufpi.br/uapi (A Pgina da Universidade Aberta do Piau
- UAPI)
www.uab.gov.br (O Site da Universidade Aberta do BrasilUAB)
www.seed.mec.gov.br (A Homepage da Secretaria de Educao a Distncia do MEC - SEED )
www.abed.org.br (O site da Associao Brasileira de Educao a Distncia - ABED)
137