Você está na página 1de 77

Elementos Bsicos de Circuitos Digitais

Universidade de Caxias do Sul Outubro de 2009

Elementos Bsicos de Circuitos Digitais

CONTEDO
1. SISTEMAS NUMRICOS E REPRESENTAO DA INFORMAO...................................................................................4 1.1 Sistemas Numricos..................................................................................................................................................4 1.2 Converso de Base....................................................................................................................................................6 1.2.1 Decimal-Binrio.............................................................................................................................................7 1.2.2 Decimal-Hexadecimal....................................................................................................................................7 1.2.3 Decimal-Octal................................................................................................................................................7 1.2.4 Hexadecimal-Binrio e Binrio-Hexadecimal................................................................................................8 1.2.5 Octal-Binrio e Binrio-Octal.........................................................................................................................8 1.2.6 Base M-Base N...............................................................................................................................................8 1.3 Dados Numricos......................................................................................................................................................8 1.3.1 Inteiros com Sinal..........................................................................................................................................8 1.3.2 Nmeros Reais...............................................................................................................................................9 1.3.3 Padro de Ponto Flutante IEEE 754.............................................................................................................10 1.4 Operaes...............................................................................................................................................................13 1.4.1 Adio Binria em Complemento de 1........................................................................................................13 1.4.2 Adio Binria em Complemento de 2........................................................................................................14 1.4.3 Multiplicao Binria...................................................................................................................................14 1.4.4 Diviso Binria.............................................................................................................................................16 1.4.5 Adio, Multiplicao e Diviso em Ponto Flutuante.................................................................................16 1.4.6 Adio Hexadecimal....................................................................................................................................18 1.5 Cdigos....................................................................................................................................................................19 1.5.1 Cdigos com Deteco de Erros..................................................................................................................20 1.5.2 Cdigos Alfanumricos................................................................................................................................20 2. CIRCUITOS DIGITAIS COMBINACIONAIS......................................................................................................................23 2.1 Operao digital (binria) de um sistema...............................................................................................................23 2.2 Operaes lgicas ou booleanas............................................................................................................................24 2.2.1 Operao "NO"..........................................................................................................................................24 2.2.2 Operao "E"...............................................................................................................................................25 2.2.3 Operao "OU"............................................................................................................................................26 2.3 Propriedades das operaes lgicas.......................................................................................................................26 2.4 Porta "NO-E" como bloco lgico universal...........................................................................................................27 2.5 Porta "NO-OU" como bloco lgico universal........................................................................................................29 2.6 Funo "OU exclusivo"............................................................................................................................................30 2.7 Anlise de circuitos combinacionais......................................................................................................................31 2.8 Obteno de expresses lgicas a partir da tabela verdade..................................................................................33 2.9 Simplificao e minimizao das expresses lgicas..............................................................................................34 2.10 Mapas de Karnaugh..............................................................................................................................................35 3. CIRCUITOS SEQUNCIAIS.............................................................................................................................................39 3.1 Circuitos multivibradores biestveis.......................................................................................................................39

Elementos Bsicos de Circuitos Digitais 3.1.1 Flip-flop RS assncrono com portas lgicas "NO-OU"...............................................................................39 3.1.2 Temporizaes dos Flip-Flops.....................................................................................................................40 3.1.3 Flip-flop RS assncrono com portas lgicas "NO-E"..................................................................................41 3.1.4 Flip-flop RS sncrono com portas lgicas "NO-E"......................................................................................42 3.1.5 Flip-flops "Master-Slave" (Mestre-Escravo)................................................................................................43 3.1.6 Flip-flop D gatilhando pela borda positiva..................................................................................................45 3.2 Registrador de dados paralelo................................................................................................................................46 3.2.1 Registrador de dado paralelo......................................................................................................................46 3.2.2 Registradores de deslocamento (de dados seriais)....................................................................................46 3.2.3 Contador em anel........................................................................................................................................47 3.3 Contadores digitais.................................................................................................................................................49 3.3.1 Contadores assncronos..............................................................................................................................49 3.3.2 Contador assncrono decrescente...............................................................................................................51 3.3.3 Contador com qualquer ciclo de contagem................................................................................................51 3.3.4 Contador sncrono com transporte paralelo...............................................................................................52 4. SISTEMAS DIGITAIS COMBINACIONAIS.......................................................................................................................54 4.1 Decodificadores......................................................................................................................................................54 4.2 Decodificadores e demultiplexadores de CI...........................................................................................................55 4.3 Decodificadores BCD para decimal.........................................................................................................................56 4.4 Decodificador BCD para o mostrador de 7 segmentos..........................................................................................57 4.5 Seletor de dados ou multiplexador.........................................................................................................................58 4.6 Somadores binrios................................................................................................................................................59 4.6.1 Semi-somador (half adder)......................................................................................................................59 4.6.2 Somador completo......................................................................................................................................60 4.7 Subtrao de nmeros binrios..............................................................................................................................61 4.8 Unidade lgica e aritmtica....................................................................................................................................62

5. SISTEMA DE MEMRIA DE COMPUTADORES.............................................................................................................64 5.1 Hierarquia de Memrias.........................................................................................................................................64 5.2 Memrias Semi-Condutoras...................................................................................................................................65 5.2.1 Memrias ROM...........................................................................................................................................65 5.2.2 Memrias RAM............................................................................................................................................66 5.3 Terminologia das memrias...................................................................................................................................72 5.4 Smbolos lgicos das memrias RAM e ROM........................................................................................................73 5.5 Operao geral das memrias................................................................................................................................74 5.6 Expanso de Memria com base nos circuitos lgicos...........................................................................................75

Elementos Bsicos de Circuitos Digitais

SISTEMAS NUMRICOS E REPRESENTAO DA INFORMAO


Desde a antiguidade o homem identificou a necessidade de contar seus pertences. Acredita-se que isto tenha

ocorrido quando o ser humano abandonou a prtica extrativista e nmade para fixar-se em alguma regio, plantar seus alimentos e criar seus animais. Como o homem se auxiliava dos dedos das mos, e talvez dos ps, para contar, bastante natural que tenhamos nos habituado a usar o sistema decimal, ou seja, representar quantidades utilizando somente dez dgitos diferentes (0, 1, 2, 3, 4, 5, 6, 7, 8 e 9). O Teorema Fundamental da Numerao relaciona uma quantidade expressa em qualquer sistema de numerao com a mesma quantidade expressa no sistema decimal. Tal teorema dado pela seguinte soma algbrica: ...+ X3 x B3 + X2 x B2 + X1 x B1 + X0 x B0 + X-1 x B-1 + X-2 x B-2 + X-3 x B-3 + ..., onde B a base do sistema de numerao, X i cada um dos dgitos da quantidade e o ndice i indica a posio relativa a vrgula.

1.1

SISTEMAS NUMRICOS
O sistema de numerao posicional decimal tem a base igual a 10 (dez) e dez algarismos: 0, 1, 2,... , 9 que

so necessrios para exprimir um nmero qualquer. Para escrever nmeros maiores que nove, associamos um valor posio de um nmero em um conjunto de algarismos. Um nmero qualquer no sistema de numerao posicional decimal pode ser representado como a seguinte soma algbrica: N(10) = an x 10n + an-1 x 10n-1 +...+ a1 x 101 + a0 x 100 + a-1 x 10-1 + ... onde: n = 0, 1, 2, ..., a quantidade dos algarismos (posies) da parte inteira do nmero N(10), m = 0, 1, 2, ..., a quantidade dos algarismos (posies) da parte fracionria do nmero N(10), e {ai} {0, 1, 2,..., 9} o conjunto de algarismos decimais bsicos em qualquer nmero N(10). Assim, os dgitos individuais de um nmero representam os coeficientes do desenvolvimento (do conjunto {ai}) do nmero em potncia de 10. Isto , o "peso" do coeficiente ai depende da posio no nmero N(10) (sistema de numerao posicional). A Figura 1.1 mostra um nmero decimal 58,6601 de 6 dgitos, com o peso de cada um. 5 x 101+8 x 100+6 x 10-1+6 x 10-2+0 x 10-3+1 x 10-4 = 58,6601.
10 10 10 10 10 10
+1 0 -1 -2 -3 -4

5 8 6 6 0 1
DGITO MENOS SIGNIFICATIVO VRGULA DECIMAL DGITO MAIS SIGNIFICATIVO

Figura 1.1: Exemplo de nmero na representao decimal

Elementos Bsicos de Circuitos Digitais Em sistemas de numerao posicionais como descrito aqui, chama-se ao dgito da esquerda o dgito mais

significativo (ou MSD do Ingls Most Significant Digit), e chama-se o dgito mais direita o dgito menos significativo (LSD do Ingls Least Significant Digit). No sistema de numerao posicional binrio a base 2, e somente os dois nmeros 0 e 1 ({ai} {0, 1}) so necessrios para representar um nmero binrio. Os algarismos 0 e 1 tm o mesmo significativo que no sistema decimal, mas se d uma interpretao diferente para a posio ocupada pelo dgito. No sistema binrio os algarismos representam individualmente os coeficientes (do conjunto {ai} {0, 1}) das potncias de dois e no das potncias de dez, como no sistema decimal. Por exemplo, a Figura 1.2 mostra a representao binria de 16 "bits" do nmero decimal 58,6601 .

2 2 22 2 2 2 2 2 2 22 22 2 2 0 0 1 1 1 0 1 0 1 0 1 0 1 0 0 1

+7 +6 +5 +4 +3 +2 +1 0

-1

-2

-3

-4

-5

-6

-7

-8

VRGULA BINRIA DGITO MAIS SIGNIFICATIVO DGITO MENOS SIGNIFICATIVO

Figura 1.2: Exemplo de nmero na representao binria

No sistema de numerao posicional hexadecimal (ou simplesmente, hexa ou de base 16), os dgitos podem ter dezesseis valores diferentes: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E ou F. Assim, para a representao de um valor qualquer, necessita-se de menos dgitos do que nos sistemas decimal e binrio. Os pesos dos dgitos so expressos em potncia de dezesseis. Cada dgito pode ser incrementado de 0 a F. Uma vez alcanado F, o prximo incremento causa a volta do dgito ao valor 0 e o incremento do prximo dgito imediatamente esquerda. A Figura 1.3 mostra um exemplo de um nmero hexadecimal (3A,A9) de quatro dgitos.

16 3

+1

16 A

16 A

-1

16 9

-2

VRGULA HEXADECIMAL DGITO MAIS SIGNIFICATIVO DGITO MENOS SIGNIFICATIVO

Figura 1.3: Exemplo de nmero na representao hexadecimal

No sistema de numerao posicional octal (base 8), os dgitos podem ter 8 valores ou estados: 0, 1, 2, 3, 4, 5, 6 e 7. Os pesos dos dgitos so expressos em potncia de oito. Cada dgito pode ser incrementado de 0 a 7. Uma vez alcanado 7, o prximo incremento causa a volta do dgito ao valor 0 e o incremento do prximo dgito imediatamente esquerda. A Figura 1.4 mostra um exemplo de um nmero octal (72,522) de cinco dgitos.

Elementos Bsicos de Circuitos Digitais

8 7

+1

8 2

8 5

-1

8 2

-2

8 2

-3

VRGULA OCTAL DGITO MAIS SIGNIFICATIVO DGITO MENOS SIGNIFICATIVO

Figura 1.4: Exemplo de nmero na representao octal

Em um sistema numrico qualquer, o maior valor (quantidade) representvel dado por bn-1, onde b a base do sistema e n o nmero de dgitos. Assim, para o sistema decimal, considerando-se trs dgitos (b= 10, n= 3), o maior valor representvel ser 103 - 1 = 999. Abaixo so relacionados alguns valores de n com o maior valor representvel (N) para a base binria: n = 1; N= 21-1 = 1 (12); n = 2; N= 22-1 = 3 (112); n = 3; N= 23-1 = 7 (1112); ... n = 8; N= 28-1 = 255 (111111112); n = 9; N= 29-1 = 511 (1111111112); n = 10; N= 210-1 = 1.023 (11111111112; 1 "kilo" -1 ou 1 K-1); ... n = 16; N= 216-1 = 65.535 (11111111111111112; 64 K-1); ... n = 20; N= 220-1 = 1.048.575 (111111111111111111112; 1 "mega"-1); ... n = 30; N= 230-1 = 1.073.741.823 (1111111111111111111111111111112; 1 "giga"-1); ... n = 60; N= 260-1 = (1111111111111111111111111111111111111111111111111111111111112; 1 "tera"-1).

1.2

CONVERSO DE BASE
Usando o Teorema Fundamental da Numerao, poderemos transformar para a base decimal, um valor

qualquer expresso em outra base. Vejamos os exemplos: Binrio para decimal (Figura 1.2)

Elementos Bsicos de Circuitos Digitais

2+70 + 2+60 + 2+51 + 2+41 + 2+31 + 2+20 + 2+11 + 200 + 2-11 + 2-20 + 2-31 +2-40 + 2-51 + 260 + 2-70 +2-81 = 0 + 0 + 32 + 16 + 8 + 0 + 2 + 0 + 1/2 + 0 + 1/8 + 0 + 1/32 + 0 + 0 + 1/256 = 15016/256

Hexadecimal1 para decimal (Figura 1.3)


16+13 + 16010 +16-110 + 16-29 = 15027/25610 58,710

Octal para decimal (Figura 1.4)


8+17 + 802 +8-15 + 8-22 + 8-32 58,710

1.2.1 DECIMAL-BINRIO
A partir de um nmero decimal, sua representao binria obtida realizando-se a diviso inteira da parte inteira do nmero por dois e anotando-se os restos da diviso, at obter-se o quociente zero. A parte fracionria convertida para binrio multiplicando-se a mesma por dois e anotando-se o "vai-um" (ou "carry"), at que o resultado direita da vrgula seja zero (o processo pode repetir-se ad infinitum, isto , nunca convergir para zero; o nmero de repeties depender da preciso desejada). Na Figura 1.5, mostrada a converso do nmero 25,375 (10) para binrio (b-s a abreviatura de "bit" menos significativo e b+s a abreviatura de "bit" mais significativo; o subscrito no lado direito do nmero indica a base usada). Na primeira multiplicao do processo de converso da parte fracionria, o "carry" zero j que 0,3752 no resulta em um nmero com parte inteira; na segunda multiplicao, o "carry" um j que 0,7502 resulta em um nmero com parte inteira (1,5); na terceira multiplicao, o "carry" um uma vez que j que 0,5 (a parte fracionria de 1,5)2 tambm resulta em um nmero com parte inteira (1).
25 2 24 12 2 1 12 6 2 0 6 3 2 0 2 1 2 1 0 0 1 b+s 25,375 10 = 11001,011 2 0,375 b+s X 2 0,750 carry 0 X 2 1,500 carry 1 X 2 3,000 carry 1 b-s

b-s

Figura 1.5: Converso de decimal para binrio

1.2.2 DECIMAL-HEXADECIMAL
A partir de um nmero decimal, sua representao em hexadecimal tambm obtida de maneira anloga decimal-binrio: divide-se o nmero por dezesseis e anotam-se os restos da diviso, at obter-se o quociente zero.
43110 431/16 = 26 (resto 15; b-s ) 26/16 = 1 (resto 10) 1/16 = 0 ( resto 1; b+s) 43110 1AF16

Convm lembrar que o smbolo A corresponde ao valor 10 em decimal, B corresponde ao 11, C corresponde ao 12, D corresponde ao 13, E corresponde ao 14 e o smbolo F corresponde ao valor 15

1.2.3 DECIMAL-OCTAL

Elementos Bsicos de Circuitos Digitais

A partir de um nmero decimal, sua representao em octal obtida dividindo-se o nmero por oito e anotando-se os restos da diviso, at obter-se o quociente zero.
10010 100/8 = 12 (resto 4 - b-s da parte inteira) 12/8 = 1 (resto 4) 1/8 = 0 (resto 1 - b+s) 10010 1448

1.2.4 HEXADECIMAL-BINRIO E BINRIO-HEXADECIMAL


Cada dgito hexadecimal representa quatro dgitos binrios. Na converso de binrio para hexadecimal, direita da vrgula binria, os agrupamentos so da esquerda para direita; esquerda da vrgula binria, os agrupamentos so da direita para a esquerda.
11001,0112 0001 1001, 0110 11001,0112 19,616

1.2.5 OCTAL-BINRIO E BINRIO-OCTAL


Cada dgito octal representa trs dgitos binrios. Na converso de binrio para octal, direita da vrgula binria, os agrupamentos so da esquerda para direita; esquerda da vrgula binria, os agrupamentos so da direita para a esquerda.
11001,0112 011 001, 0112 11001,0112 31,38

1.2.6 BASE M-BASE N


Um modo de converter-se um nmero representado na base M para a representao na base N consiste em convert-lo primeiro para decimal e, depois, converter a representao decimal para a base N. Se M = jk e N = 10, a converso pode ser feita de maneira anloga s converses de decimal para binrio, decimal para octal e decimal para hexadecimal.

1.3

DADOS NUMRICOS
Nesta seo sero apresentadas as representaes de informaes numricas.

1.3.1 INTEIROS COM SINAL


Existem trs formas para a representao de nmeros inteiros com sinal na forma binria: a) sinal-magnitude: o "bit" mais significativo representa o sinal, 0 para positivo e 1 para negativo. Por exemplo, supondo cinco dgitos onde o mais esquerda representa o sinal, +13 10 011012 e -1310 111012. O intervalo de nmeros representveis vai de -15 a + 15 (11111, 11110, 11101, 11100, 11011, 11010, 11001, 11000, 10111, 10110, 10101, 10100, 10011, 10010, 10001, 00000 ou 10000, 00001, 00010, 00011, 00100, 00101, 00110, 00111, 01000, 01001, 01010, 01011, 01100, 01101, 01110, 01111).

Elementos Bsicos de Circuitos Digitais b) complemento de 1: o "bit" mais significativo representa o sinal, 0 para positivo e 1 para negativo. Quando o nmero negativo, todos os "bits" so complementados (invertidos - 0 para 1 e 1 para 0). Por exemplo, supondo cinco dgitos onde o mais esquerda representa o sinal, +13 10 011012 e -1310 100102. O intervalo de nmeros representveis vai de -15 a + 15 (10000, 10001, 10010, 10011, 10100, 10101, 10110, 10111, 11000, 11001, 11010, 11011, 11100, 11101, 11110, 00000 ou 11111, 00001, 00010, 00011, 00100, 00101, 00110, 00111, 01000, 01001, 01010, 01011, 01100, 01101, 01110, 01111). c) complemento de 2: o "bit" mais significativo tambm representa o sinal, 0 para positivo e 1 para negativo. Quando o nmero negativo, todos os "bits" so complementados e somado 1 ao resultado (podem ocorrer 4 casos na adio binria: 0+0 = 0, 1+0 = 1, 1+1 = 0 com "carry" de 1 para o dgito imediatamente esquerda e 1+1+1 = 1, tambm com "carry" de 1 para o dgito imediatamente esquerda). Por exemplo, supondo cinco dgitos onde o mais esquerda representa o sinal, +1310 011012 e -1310 100112. O intervalo de nmeros representveis vai de -16 a + 15 (10000, 10001, 10010, 10011, 10100, 10101, 10110, 10111, 11000, 11001, 11010, 11011, 11100, 11101, 11110, 11111, 00000, 00001, 00010, 00011, 00100, 00101, 00110, 00111, 01000, 01001, 01010, 01011, 01100, 01101, 01110, 01111). Em complemento de 2, h apenas uma representao para o nmero zero: 00000.

1.3.2 NMEROS REAIS


A notao mais usada para representao de nmeros fracionrios atravs do ponto flutuante. Na representao em ponto flutuante, o nmero dividido em duas partes: mantissa e expoente (a base do expoente ser a mesma da representao do nmero).
4900000 0,49107 onde 0,49 a mantissa, 10 a base e 7 o expoente. 0,00023 0,2310-3

Generalizando, na notao em ponto flutuante, y = MbE, onde y o nmero, M a mantissa, b a base de representao e E o expoente. Tanto a mantissa quanto o expoente podem ter sinal negativo (a representao usual para a mantissa e o expoente, quando a base a binria, atravs de sinal-magnitude). Na base binria, os "bits" destinados mantissa representam a parte inteira (I) do nmero e os "bits" destinados ao expoente representam a caracterstica (C). Por exemplo, supondo nmeros binrios de 12 "bits" onde os sete "bits" menos significativos representam a parte inteira do nmero e os cinco "bits" mais significativos representam a caracterstica:
0001100001112 (C=3, I=7) 237 = 5610 0001110001112 (C=3, I=-7) 23-7 = -5610 1001100001112 (C=-3, I=7) 2-37 = 7/810

10

Elementos Bsicos de Circuitos Digitais

1001110001112 (C=-3, I=-7) 2-3-7 = -7/810

Para o exemplo anterior, o maior valor representvel 0111101111112 21563, o menor inteiro 0111111111112 215-63 e o menor valor absoluto (descartando 0) 1111100000012 12-15. Muitas vezes, a mantissa est na forma de uma frao (por exemplo: o nmero 9300 representado como 0,93104 e no 93102). Nesse caso, dito que a mantissa est em sua forma normal e a parte inteira passa a ser chamada de parte fracionria (F). Na representao binria, a vrgula vista como estando esquerda do sinal da mantissa e no mais direita do "bit" menos significativo. Por exemplo, supondo nmeros binrios de 12 "bits", onde os sete "bits" menos significativos representam a parte fracionria do nmero e os cinco "bits" mais significativos representam a caracterstica:
0001100001112 (C=3, F=1/16+1/32+1/64=7/64) 237/64 = 7/810 0001110001112 (C=3, F=-7/64) 23-7/64 = -7/810 1001100001112 (C=-3, F=7/64) 2-37/64 = 7/51210 1001110001112 (C=-3, F=-7/64) 2-3-7/64 = -7/512)10

Para o exemplo anterior, o maior valor representvel 0111101111112 21563/64 = 2963, o menor inteiro 0111111111112 215-63 e o menor valor absoluto (descartando 0) 1111100000012 2-151/64 = 1/221.

1.3.3 PADRO DE PONTO FLUTANTE IEEE 754


Na dcada de 70, o IEEE (Institute of Electrical and Electronic Engineers) instituiu um comit para padronizar a aritmtica de ponto flutuante. O resultado do trabalho deste comit foi a definio do padro IEEE 754 (IEEE, 1985). Este padro define quatro formatos para representar valores em ponto flutuante: 1. Preciso simples (32 bits): 1 bit de sinal, 8 bits de expoente e 23 bits para a parte fracionria do significando.

2.

Preciso simples estendida ( 43 bits): utilizada raramente;

3.

Preciso dupla (64 bits): 1 bit de sinal, 11 bits de expoente e 52 para a parte fracionria do significando.

4.

Preciso dupla estendida (80 bits): 1 bit de sinal, 15 bits de expoente e 64 bits para a parte fracionria do significando.

11

Elementos Bsicos de Circuitos Digitais

O formato de preciso dupla estendida utilizado primariamente dentro de unidades de ponto flutuante. Ambos os formatos de simples e dupla preciso usam base 2 para mantissa (frao normalizada) e notao de excesso para expoentes. A notao de excesso (o expoente original deslocado por um determinado valor) utilizada para eliminar o uso do sinal no caso de expoentes negativos. O excesso calculado atravs da seguinte frmula: 2 bits do expoente 1 (por exemplo, se o expoente tiver 8 bits, ento o expoente original dever ser somado com 2 8-1=127). Os formatos so mostrados na Figura 1.6.

Figura 1.6: Formatos de ponto flutuante padro IEEE

Para codificar -118.625 em IEEE 754 Preciso simples so necessrios os seguintes passos: 1. 2. Primeiro, temos que obter o sinal, o expoente e a frao. Como o nmero negativo, o sinal 1; Agora, escrevemos o nmero (sem o sinal) usando a notao binria 1110110.101 3. O ponto movido para a esquerda at que somente sobre um nmero 1 esquerda do ponto: 1110110.101 = 1.110110101 x 26. Isto um nmero normalizado. A mantissa a parte direita do ponto, preenchidos com 0 para preencher os 23 bits (no caso de preciso simples) 11011010100000000000000

12

Elementos Bsicos de Circuitos Digitais 4. O expoente 6, mas precisa ser convertido para binrio e ajustado (assim o expoente mais negativo 0, e todos os expoentes so nmeros no negativos). Para o formato 32 bits do IEEE 754, o ajuste 127 e assim 6 + 127 = 133, o qual em binrio 10000101 5. Resumindo, o nmero -118.625 decomposto em (Figura 1.7): Sinal: 1 Mantissa: 11011010100000000000000 Expoente: 10000101

Figura 1.7: Codificao do Nmero decimal no padro IEEE de simples preciso

Algumas codificaes de valores so apresentadas na Tabela 1.1.


Tabela 1.1: Exemplo de Representaes em ponto flutuante

Tipo
0 1 -1 Menor nmero no-normalizado Nmero do meio no-normalizado Maior nmero no-normalizado Menor nmero normalizado Maior nmero normalizado + - NaN

Sinal
0 0 1 *

Exp
-127 0 0 -127

Exp+Bias
0 127 127 0

Mantissa
000 0000 0000 0000 0000 0000 000 0000 0000 0000 0000 0000 000 0000 0000 0000 0000 0000 000 0000 0000 0000 0000 0001

Valor
0.0 1.0 1.0 223 2126 = 2149 ( 1.410-45 )

* * * * 0 1 *

-127 -127 -126 127 128 128 128

0 0 1 254 255 255 255

100 0000 0000 0000 0000 0000

21 2126 = 2127 ( 5.8810-39) (1223) 2126 ( 1.1810-38) 2126 ( 1.1810-38 ) (2223) 2127 ( 3.41038 ) + NaN

111 1111 1111 1111 1111 1111

000 0000 0000 0000 0000 0000

111 1111 1111 1111 1111 1111 000 0000 0000 0000 0000 0000 000 0000 0000 0000 0000 0000

no zero

Apesar da grande quantidade de bits utilizados, a representao em ponto flutuante no pode representar com preciso os nmeros reais e nem reproduzir fielmente as operaes aritmticas de nmeros reais. Esta limitao pode levar a problemas de preciso. Por exemplo, o nmero 0.1 no precisamente representvel em ponto flutuante, pois a exata representao binria de 0.1 teria uma seqncia contnua infinita de 1100 (1100110011001100110011001100110011... x 2-4). Ao tentar recuperar este nmero da representao em ponto flutuante, o seguinte valor seria produzido exatamente: 0.100000001490116119384765625.

13

Elementos Bsicos de Circuitos Digitais Se este nmero fosse elevado ao quadrado, o resultado seria exatamente: 0.010000000298023226097399174250313080847263336181640625. E se utilizando um hardware com representao em ponto flutuante de simples preciso (com arredondamento) para calcular o quadrado, o resultado seria 0.010000000707805156707763671875. Entretanto, o nmero representvel mais prximo de 0.01 (que sofre o mesmo problema que 0.1) exatamente: 0.009999999776482582092285156250.

1.4

OPERAES
Existem basicamente duas operaes aritmticas binrias: a adio "bit" a "bit" e a multiplicao "bit" a "bit".

A adio binria "bit" a "bit" regida por quatro regras: 1) 1 + 0 = 1 ("carry" 0); 2) 1 + 1 = 0 ("carry" 1); 3) 1 + 1 + 1 = 1 ("carry" 1); 4) 0 + 0 = 0 ("carry" 0). A multiplicao binria "bit" a "bit" regida por trs regras: 1) 10 = 0; 2) 11 = 1; 3) 00 = 0.

1.4.1 ADIO BINRIA EM COMPLEMENTO DE 1


Podem ocorrer 4 situaes: a) Os dois nmeros so positivos: soma direta.
Supondo cinco dgitos onde o mais esquerda representa o sinal, (+710) + (+310) = +1010 001112 + 000112 = 010102.

b) nmero positivo com negativo e o negativo maior: a soma direta com o complemento.
Supondo cinco dgitos onde o mais esquerda representa o sinal, (-710) + (+310) = -410 110002 + 000112 = 110112.

14

Elementos Bsicos de Circuitos Digitais c) nmero positivo com negativo e o negativo menor: a soma feita com o complemento; o "carry" somado ao resultado.
Supondo cinco dgitos onde o mais esquerda representa o sinal, (+710) + (-310) = +410 001112 + 111002 000112 + 1 ("carry") = 001002

d) nmero negativo com negativo: soma direta entre os complementos; "carry" somado ao resultado.
Supondo cinco dgitos onde o mais esquerda representa o sinal, (-710) + (-310) = -1010 110002 + 111002 101002 + 1 ("carry") = 101012

1.4.2 ADIO BINRIA EM COMPLEMENTO DE 2


Na adio binria em complemento de 2 tambm podem ocorrer 4 situaes: a) Os dois nmeros so positivos: soma direta.

b) nmero positivo com negativo e o negativo maior: a soma direta com o complemento. Supondo cinco dgitos onde o mais esquerda representa o sinal, (-710) + (+310) = -410 110012 + 000112 = 111002. c) nmero positivo com negativo e o negativo menor: a soma feita com o complemento; o "carry" descartado. Supondo cinco dgitos onde o mais esquerda representa o sinal, (+710) + (-310) = +410 001112 + 111012 001002 d) nmero negativo com negativo: soma direta entre os complementos; "carry" descartado. Supondo cinco dgitos onde o mais esquerda representa o sinal, (-710) + (-310) = -1010 110012 + 111012 101102

1.4.3 MULTIPLICAO BINRIA


A operao de multiplicao considerada complexa quando comparada com as operaes de adio e subtrao. Quando os nmeros binrios forem sem sinal, a operao realizada que nem no sistema decimal. Cada dgito do multiplicador multiplica o multiplicando obtendo-se, assim, produtos parciais. Os produtos parciais so somados (um produto parcial somado ao produto parcial seguinte, deslocado uma posio esquerda).
1001 (9) 1011 (11) 1001 1001 0000 1001 1100011 (99)

15

Elementos Bsicos de Circuitos Digitais A multiplicao de nmeros inteiros binrios de n bits resulta em um produto com at 2n bits de comprimento As multiplicaes podem ser feitas de maneira mais eficiente do que foi mostrado. Os produtos parciais podem ser imediatamente somados, em vez de esperar todos os produtos (poupando espao de armazenamento). Como estamos lidando com nmeros binrios, os produtos parciais resumem-se a copiar o multiplicando deslocado quando o bit do multiplicador for 1, e simplesmente deslocar o produto quando o bit do multiplicador for 0. Baseado nestas idias, a Figura 1.8 mostra um fluxograma da multiplicao de nmeros inteiros de 32 bits sem sinal. Assuma que o registrador Produto (o qual deve possuir 64 bits) inicializado com o valor do multiplicador, e que Produto 0 refere-se ao bit 0 do registrador Produto. Este mtodo necessita somente um registrador de 64 bits e uma ULA de 32 bits. A Figura 1.10 mostra um exemplo de multiplicao de dois nmeros de 4 bits.

Figura 1.8: Fluxograma da multiplicao de nmeros inteiros de 32 bits sem sinal

Figura 1.9: Exemplo de multiplicao de 2 nmeros de 4 bits: Multiplicando = 00102 e Multiplicador = 00112

Um nmero negativo deve ser estendido de acordo com o nmero de bits do resultado para dar certo. A Figura 1.10 mostra o resultado das multiplicaes que envolvem um nmero negativo da maneira tradicional e estendendo o nmero negativo. Aps a extenso do nmero negativo, o algoritmo da Figura 1.8 pode ser utilizado para realizar a multiplicao.

16

Elementos Bsicos de Circuitos Digitais

Figura 1.10: Exemplo de multiplicao binria para nmeros negatives

1.4.4 DIVISO BINRIA


A diviso mais complexa que a multiplicao. Para efetuar a diviso, verifica-se se o divisor cabe no dividendo: em caso positivo, o resultado parcial 1 e a diviso continua com o resto; em caso negativo, o resultado parcial 0 e a diviso continua com o resto. 2910 1210 2,4110
111011100 1100 10,011... 0010100 1100 1000 ...

1.4.5 ADIO, MULTIPLICAO E DIVISO EM PONTO FLUTUANTE


O processo de adio ou subtrao em ponto flutuante mais complexo do que o de multiplicao ou diviso devido necessidade de igualar ou escalonar os expoentes. Pode-se dividir o processo de adio e subtrao em quatro fases, como mostra o algoritmo na Figura 1.11: 1. Escalonamento dos expoentes (ou alinhamento das mantissas): o escalonamento pode ser obtido tanto deslocando o nmero menor para a direita (aumentando o expoente) quanto deslocando o nmero maior para a esquerda. Como ambas as operaes podem resultar em perda de dgitos, utiliza-se o primeiro, pois como o nmero menor qualquer perda de dgitos tem menor efeito no resultado da adio. Em computadores, o escalonamento dos expoentes pode ser feito atravs de "software" (rotinas de ponto flutuante) ou "hardware" (operaes de ponto flutuante). Assuma que a mantissa possui somente 4 dgitos e o expoente 2. A soma dos nmeros 9,99910x101 e 1,61010 x 10-1 requer o escalonamento dos expoentes: 1,61010 x 10-1 = 0,161010 x 100 = 0,0161010 x 101

Como a mantissa pode ter somente 4 dgitos, o nmero utilizado ser 0,01610 x 101

2.

Soma das mantissas: como os expoentes esto escalonados, M1bm+M2bm, a soma realizada da seguinte maneira: (M1+M2)bm. 9,99910 + 0,01610 = 10,01510

17

Elementos Bsicos de Circuitos Digitais Pode ocorrer um overflow na mantissa por um dgito. Assim, a mantissa do resultado deve ser deslocada para a direita e o expoente incrementado. Caso esta operao resulte em overflow do expoente, a operao terminada e um erro reportado. 3. Normalizao do resultado: consiste em deslocar os dgitos da mantissa at a obteno da forma normalizada. Sempre que o expoente aumentado ou diminudo, deve-se verificar se houve overflow ou underflow, ou seja, verificar se o expoente ainda cabe em seu campo. 10,01510 x 101 = 1,001510 x 102 4. Arredondamento da mantissa: o resultado de qualquer operao sobre as mantissas geralmente armazenado em um registrador de tamanho maior. Quando o resultado colocado novamente no formato de ponto flutuante, os bits extras devem ser descartados. O padro IEEE relaciona 4 mtodos de arredondamento: arredondar para o mais prximo (padro), arredondar para cima, arredondar para baixo, e arredondar na direo de 0. 1,001510 x 102 1,00210 x 102

Figura 1.11: Adio de nmeros de ponto flutuante

Devido ao alinhamento das mantissas e normalizao do resultado, a adio em ponto flutuante no associativa; ou seja, x+(y+z)(x+y)+z.

18

Elementos Bsicos de Circuitos Digitais Algumas heursticas podem ser utilizadas durante o processo de soma ou subtrao. Por exemplo, se um dos nmeros for zero, o resultado ser o outro (no caso de subtrao pode ocorrer a troca de sinal, inverso do bit de sinal); se ambos os operandos forem zero, o resultado ser zero; checar se o escalonamento dos expoentes necessrio. As operaes de multiplicao e diviso em ponto flutuante so relativamente simples. Para efetuar-se M1 bm M2bn, faz-se (M1M2)bm+n e para efetuar-se M1xbm M2bn, faz-se (M1 M2)bm-n. Assuma que os valores a serem multiplicados so 1,11010 x 1010 e 9,20010 x 10-5, e que a mantissa possui 4 dgitos e o expoente 2. O processo de multiplicao realizado da seguinte maneira: 1. Clculo do expoente: o novo expoente a soma dos expoentes dos operandos.

novo expoente = 10 + (-5) = 5 com nmeros em excesso de 2m-1 deve-se subtrair o excesso do resultado da soma: (1010) + (-510) = 5 ((10 +127) +(-5 +127) - 127)2m-1= 132 = (5 +127) 2m-1 2. Multiplicao das mantissas: a multiplicao realizada da mesma maneira que para nmeros inteiros. O produto ter o dobro do comprimento do multiplicando e do multiplicador. 1,110 x 9,20010 = 10,21210 3. Normalizao do produto: mesmo procedimento que na adio. 10,21210 x 105 = 1,021210 x 106 4. Arredondamento do produto: mesmo procedimento que na adio. 1,021210 x 106 1,02110 x 106 5. Correo do sinal: o sinal do produto depender dos sinais originais dos operandos. Se forem iguais, o sinal ser positivo, caso contrrio, negativo. Assim, o produto final +1,02110 x 106

1.4.6 ADIO HEXADECIMAL


A soma deve ser efetuada observando-se os valores fornecidos pelas relaes da Tabela 1.2. Para a realizao da soma AB + 7D faz-se a soma B + D (coordenadas BD na tabela contm 18 ou 8 com "carry") e depois a soma A + 7 + "carry" da soma anterior (coordenadas A7 na Tabela 1.2 contm 11 ou 1 com "carry") Logo, AB + 7D = 128.
1

AB +7D 128

19

Elementos Bsicos de Circuitos Digitais + 0 1 2 3 4 5 6 7 8 9 A B C D E F 0 0 1 2 3 4 5 6 7 8 9 A B C D E F 1 1 2 3 4 5 6 7 8 9 A B C D E F 10 2 2 3 4 5 6 7 8 9 A B C D E F 10 11 3 3 4 5 6 7 8 9 A B C D E F 10 11 12 4 4 5 6 7 8 9 A B C D E F 10 11 12 13

Tabela 1.2: Adio hexadecimal

5 5 6 7 8 9 A B C D E F 10 11 12 13 14

6 6 7 8 9 A B C D E F 10 11 12 13 14 15

7 7 8 9 A B C D E F 10 11 12 13 14 15 16

8 8 9 A B C D E F 10 11 12 13 14 15 16 17

9 9 A B C D E F 10 11 12 13 14 15 16 17 18

A A B C D E F 10 11 12 13 14 15 16 17 18 19

B B C D E F 10 11 12 13 14 15 16 17 18 19 1A

C C D E F 10 11 12 13 14 15 16 17 18 19 1A 1B

D D E F 1O 11 12 13 14 15 16 17 18 19 1A 1B 1C

E E F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D

F F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E

Os nmeros negativos em hexadecimal so representados a partir da converso do nmero em binrio em complemento de dois para hexadecimal. Por exemplo, supondo 8 dgitos onde o mais esquerda ("bit" mais significativo) representa o sinal, -7910 101100012 B116 . Um mtodo para realizar-se a subtrao em hexa consiste em converter o subtraendo para binrio, tomar seu complemento de 2, convert-lo para hexa e som-lo ao minuendo. As regras em relao ao "carry" so as mesmas para adio em complemento de 2. 47A16 (minuendo) - 29216 (subtraendo) 0100011110102 - 0010100100102 1101011011102 = 0001111010002 0100011110102 +

1.5

CDIGOS

Utilizando-se dgitos binrios, pode-se representar qualquer grupo de elementos (um alfabeto, um conjunto de smbolos, etc.). Para a representao de 2n elementos so necessrios n dgitos binrios. Exemplo 1 Para a representao de 4 cores so necessrios 2 "bits" (22 = 4). Por exemplo: vermelho = 002 azul = 012, verde = 102 e amarelo = 112. Os dgitos decimais so outro exemplo. Para representar um dgito decimal so necessrios quatro "bits". Existem diversos cdigos de 4 "bits" usados para a representao de dgitos decimais. Os mais usados so mostrados na tabela da Tabela 1.3. O cdigo BCD (de "Binary Coded Decimal") da Tabela 1.3 o 8421. Nos trs primeiros cdigos da tabela da Tabela 1.3, a posio do "bit" fornece seu valor. Por exemplo: no BCD8421 (o mais utilizado, por ser uma atribuio direta do binrio equivalente), o primeiro dgito vale 8, o segundo 4, o terceiro 2 e o ltimo vale 1. Para formar-se um nmero decimal de mais de um dgito, simplesmente agrupam-se os "bits" de cada dgito decimal.

20

Elementos Bsicos de Circuitos Digitais No 0 1 2 3 4 5 6 7 8 9 Exemplo 2


837 em BCD8421: 1000 0011 0111

Tabela 1.3: Cdigos para representao de nmeros decimais

BCD8421 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001

84-2-1
0000 0111 0110 0101 0100 1011 1010 1001 1000 1111

2421 0000 0001 0010 0011 0100 1011 1100 1101 1110 1111

EXCESSO-3 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100

Os cdigos Excesso3, 84-2-1 e 2421 tm uma propriedade que o BCD no tem: os trs so autocomplementares, isto , para obter-se o complemento de 9 de um nmero codificado, basta inverter-se todos os "bits". Isto til para operaes aritmticas (apesar de que o procedimento normal, quando da execuo de operaes aritmticas, a converso para binrio). Exemplo 3
345 no cdigo 2421 0011 0100 1011. O complemento de 9 999; 999 - 345 = 654 ou 1100 1011 0100.

1.5.1 CDIGOS COM DETECO DE ERROS


Uma informao binria pode ser transmitida atravs de um meio, como cabos ou ondas de rdio. Rudo nesses meios pode alterar a informao transmitida. Para a deteco de alteraes na informao, podem ser usados "bits" de paridade. Um "bit" de paridade um "bit" includo na mensagem, que informa se o nmero total de 1's par ou mpar. O emissor insere o "bit" de paridade e o receptor conta o nmero de 1's para verificar a paridade. Exemplo 4 Uma mensagem de 4 "bits" com mais um de paridade mpar (tem valor 1 quando o nmero de 1's da mensagem mpar).
Mensagem 0000 0100 1110 1010 ... P 0 1 1 0

1.5.2 CDIGOS ALFANUMRICOS


Os cdigos alfanumricos so usados para a representao de caracteres em geral. Os mais utilizados so: ASCII ("American Standard Code for Information Interchange" ou Cdigo Americano Padro para Troca de

21

Elementos Bsicos de Circuitos Digitais Informaes), EBCDIC ("Extended BCD Interchange Code" ou Cdigo BCD Extendido para Troca) e, "Extended ASCII", e UNICODE. Lanado na dcada de 60, o ASCII utiliza sete bits e os caracteres esto divididos assim: 0 a 2F16 para caracteres de controle e smbolos, 3016 a 3916 para os dgitos de 0 a 9 e 41 16 a 5916 para as letras maisculas. O "Extended ASCII" (utilizado pelos equipamentos da linha IBM/PC) contm, alm dos caracteres padro do ASCII, caracteres grficos. A Tabela 1.4 mostra a tabela ASCII com os valores dos cdigos dos caracteres em decimal e hexadecimal.
Tabela 1.4: Caracteres e Cdigos ASCII

Cd 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

Car

!!

Cd 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63

Car ! # $ % & ( ) * + , . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ?

Cd 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95

Car @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _

Cd 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127

Car a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~

Cd 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159

Car

Cd 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191

Car

Cd 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223

Car

Cd 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255

Car _

Assim, a constante 'ABC' seria armazenada na memria conforme a Figura 1.12.


0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1

Figura 1.12: Armazenamento da cadeia de caracteres ABC.

22

Elementos Bsicos de Circuitos Digitais O EBCDIC um cdigo de 8 bits (portanto representa 256 smbolos) desenvolvido pela IBM (na dcada de 60) para seus computadores mainframes. Ele descende do cdigo BCD que utiliza 6 bits para representar caracteres alfanumricos. Apesar do extenso uso do sistema de codificao ASCII, atualmente existem diversos sistemas que so utilizados por razes de plataforma, lngua, entre outros que faz com que os computadores devam ser capazes de traduzir qualquer sistema para que no haja comprometimento da informao. Para resolver isto, um trabalho de catalogao dos smbolos existentes foi iniciado por vrias empresas (Xerox e Apple) pelos meados da dcada de 80. Com a criao de um consrcio de empresas de tecnologia chamado Unicode Consortium - o projeto de padronizao lanou em 1991 a primeira verso de um sistema de codificao de smbolos para computador chamado de UNICODE (Universal Code). Esta verso apresentou um sistema com 7161 cdigos (21 sistemas de escritas). O padro Unicode tem sido adotado por lderes do setor de informtica tais como a Apple, HP, IBM, JustSystem, Microsoft, Oracle, SAP, Sun, Sybase, Unisys e muitos outros. O UNICODE cobre quase todos os sistemas de escrita em uso atualmente, tais como, alfabeto hebraico, rabe, tailands e muitos outros. Alm disso, o UNICODE inclui pontuao, acentos, smbolos matemticos, smbolos tcnicos, flechas, entre outros. A verso 5.1, lanada em abril de 2008, totaliza 100713 cdigos (inclui 75 sistemas de escrita).

23

Elementos Bsicos de Circuitos Digitais

CIRCUITOS DIGITAIS COMBINACIONAIS


Mesmo em um sistema digital de larga escala, tal como um computador, ou um sistema de processamento

de dados, de controle ou digital de comunicao, existem somente algumas operaes bsicas que devem ser executadas. Estas operaes so naturalmente repetidas muitas vezes e so realizadas por circuitos digitais. De maneira bastante ampla, podemos classificar os circuitos digitais (como mostra a Figura 2.13) em: Circuitos combinacionais so aqueles nos quais a sada depende apenas do estado presente das entradas; so constitudos de circuitos ou portas lgicas. Portas lgicas so utilizadas para implementar equaes algbricas booleanas (ser mostrado mais tarde). Circuitos seqenciais so aqueles nos quais a sada depende no s do estado presente das entradas, mas tambm de seus estados anteriores; so constitudos de portas lgicas e flip-flops (biestveis).

Figura 2.13: Circuitos Combinacional e Seqencial

Neste captulo, abordaremos os problemas de anlise e sntese de circuitos combinacionais base das equaes da lgebra de Boole, utilizando circuitos integrados bsicos.

2.1. OPERAO DIGITAL (BINRIA) DE UM SISTEMA


As funes de um sistema digital so de forma binria. Esse sistema emprega dispositivos que apresentam somente dois estados. Por exemplo, um transistor da chave eletrnica polarizado para operar no corte ou na saturao. Ento, somente as tenses de sada de nvel alto VOH e de nvel baixo VOL so permitidas. Vrias denominaes so usadas para estes dois nveis discretos de tenso. e os mais comum so apresentados na Tabela 2.5.
Tabela 2.5: Terminologia do estado binrio

1 Um dos estados O outro estado Verdadeiro Falso

2 Nvel alto Nvel baixo

3 1 0

4 Com pulso Sem pulso

5 Excitado No excitado

6 Desligado Ligado

7 Fechado Aberto

8 Sim No

Em lgica, uma afirmao verdadeira ou falsa; esta a primeira classificao binria apresentada na tabela. Uma chave pode estar fechada ou aberta que a notao da coluna 7 da Tabela 2.5. A manipulao da aritmtica e

24

Elementos Bsicos de Circuitos Digitais da matemtica binria de chaveamento ou das funes lgicas utiliza somente os smbolos matemticos 0 (zero) e 1 (um), encontrados na coluna 3 da Tabela 2.5.

2.2. OPERAES LGICAS OU BOOLEANAS


Uma funo lgica ou de Boole (booleana) tem a forma: y = f(x1, x2,..., xi,..., xn) Onde y, x1, x2,... , xi,... , xn so variveis lgicas, possuindo em conseqncia somente dois estados possveis. Isto , {xi} {0, 1} para i = 1, 2, ... , n e y {0, 1}.

y varivel dependente e {xi} so as variveis independentes. As variveis independentes esto relacionadas atravs de operaes lgicas, que foram desenvolvidas pelo matemtico ingls G. Boole na metade do sculo passado. A ferramenta matemtica utilizada pelas variveis lgicas chama-se lgebra de Boole (ou booleana). O nmero mximo das funes lgicas diferentes

y j = f j (x 1 , x 2 , ... , x i , ... , x n ) para j = 0, 1, 2, ... ,


n

M-1, depende do nmero n dos variveis independentes e igual a 2 2 . Isto : para duas variveis independentes x1, x2, isto n = 2, temos M = 16 (como mostra o exemplo da Tabela 2.6), para trs variveis independentes x1, x2, x3, isto n = 3, temos M = 256.
Tabela 2.6: Exemplo de funes para 2 variveis

A 0 0 1 1

B 0 1 0 1

f1 0 0 0 0

f2 0 0 0 1

f3 0 0 1 0

f4 0 0 1 1

f5 0 1 0 0

f6 0 1 0 1

f7 0 1 1 0

f8 0 1 1 1

f9 1 0 0 0

f10 1 0 0 1

f11 1 0 1 0

f12 1 0 1 1

f13 1 1 0 0

f14 1 1 0 1

f15 1 1 1 0

f16 1 1 1 1

Ns consideramos s trs funes lgicas bsicas. Todas as funes lgicas restantes podem ser obtidas utilizando a composio destas funes bsicas.

2.2.1. OPERAO "NO"

A operao "NO" (em ingls "NOT") mais simples das operaes lgicas. Se x uma varivel lgica, seu inverso representando por "NO" ou "Negao".

x (leia-se "no-x" ou "x-barra"). A Figura 2.14 mostra a tabela verdade da operao

25

Elementos Bsicos de Circuitos Digitais

x 0 1 (a)

y 1 0

y= x
(b)

Figura 2.14 (a) Tabela verdade, (b) Expresso da operao NO.

A tabela mostrada na Figura 2.14a chama-se tabela verdade (em ingls "truth table") e uma forma til de representar funes lgicas. A coluna da esquerda mostra os valores que x pode assumir e a coluna da direita os valores resultantes para a varivel y. Como neste caso temos uma nica varivel independente, claro que a tabela verdade possui duas linhas, uma vez que x somente pode ser "0" ou "1". A Figura 2.15 mostra um circuito eltrico que representa a operao "NO". Neste circuito, se a chave S est aberta (S=0) a lmpada L est acesa (L=1) e se a chave S est fechada (S=1) a lmpada L est apagada (L=0). O circuito que realiza a operao "NO" denominado inversor e representado pelos smbolos mostrados na Figura 2.15c.

R S 0 1 L 1 0 x ou x (b) 1 (c)

+ V (a) S

_ y= x americano y= x padro IEC117-13

Figura 2.15 (a) Circuito representativo da operao "NO", (b) Tabela verdade, e (c) Smbolos do circuito inversor.

2.2.2. OPERAO "E"


A operao "E" (em ingls "AND") definida como aquela em que a varivel de sada y igual a "1" se, e somente se, todas as variveis de entrada forem iguais a "1". A operao lgica "E" se chama multiplicao lgica ou a conjuno das variveis independentes. Para duas variveis independentes. Para duas variveis independentes, usando os smbolos de multiplicao e de conjuno, a expresso da operao lgica "E" pode ser escrita como

y = x 1 x 2 = x 1 & x 2 = x 1 .x 2 = x 1 x 2
e lida como y igual a x1 E x2. A Figura 2.16 ilustra um circuito eltrico que representa a operao lgica "E" para duas variveis e sua tabela verdade. O circuito que realiza a operao "E" denomina-se porta "E".

26

Elementos Bsicos de Circuitos Digitais

S1 + (a)

S2

S1 0 0 L 1 1

S2 0 1 0 1 (b)

L 0 0 0 1

x1 x2 x1 x2 ou & (c)

y=x 1x2 americano y=x 1x2 I EC 117-13

Figura 2.16: (a) Circuito representativo da operao "E", (b) Tabela verdade, e (c) Smbolos de uma porta "E" para duas entradas x1 e x2.

As convenes utilizadas so as mesmas que para o circuito da Figura 2.16 e voc pode ver claramente que para que a lmpada L esteja acesa (estado lgico "1") necessrio que as chaves S1 e S2 estejam fechadas (ambas no estado lgico "1").

2.2.3. OPERAO "OU"


A operao "OU" (em ingls "OR") definida como aquela em que a varivel de sada igual a "1" se uma ou mais variveis de entrada forem iguais a "1". Isto , equivalente a dizer que a sada ser igual a "0" se , e somente se, todas as variveis de entrada forem iguais a "0". A operao lgica "OU" se chama a adio lgica ou a disjuno das variveis independentes. Para duas variveis independentes, usando os smbolos de adio e de disjuno, podemos escrever a operao lgica "OU" como

y = x1 x 2 = x1 + x 2

e lida como y igual a x1 OU x2.

A Figura 2.17 mostra um circuito eltrico que representa a operao "OU" para duas variveis, sua tabela verdade e os smbolos usados para representar a porta "OU".

S1

S1 0 0 L 1 1

+ -

S2

S2 0 1 0 1 (b)

L 0 1 1 1

x1 x2 x1 x2

y = x 1+ x 2 americano 1 (c) y = x 1+ x 2 padro IEC

(a)

Figura 2.17: (a) Circuito representativo da operao "OU", (b) Tabela verdade, e (c) Smbolos de uma porta "OU" para duas entradas x1 e x2.

2.3. PROPRIEDADES DAS OPERAES LGICAS


Vamos agora examinar uma srie de propriedades das operaes lgicas. Estas propriedades podem ser verificadas de maneira simples atravs das tabelas verdade. 1. As operaes "E' e "OU" so comutativas como as operaes aritmticas multiplicao e adio:

x1 . x 2 = x 2 . x1 x1 + x 2 = x 2 + x1

27

Elementos Bsicos de Circuitos Digitais 2. As operaes "E" e "OU" so associativas como as operaes aritmticas respectivas:

x 1 .( x 2 .x 3 ) = (x 1 . x 2 ).x 3 x 1 + ( x 2 + x 3 ) = (x 1 + x 2 ) + x 3
3. Teorema da involuo

x= x
onde a dupla negao conduz varivel original (no-no x igual a x). 4. A operao "E" distributiva em relao operao "OU" (como a multiplicao aritmtica distributiva em relao adio aritmtica).

x 1 . ( x 2 + x 3 ) = x 1 .x 2 + x 1 .x 3
5. Outras propriedades: x.x = x; x.0 = 0; x + 0 = x; x + x = x; x.1 = x; x + 1 = 1;

x. x = 0 ;
x 1 + x 1 .x 2 = x 1

x + x = 1;

x 1 + x 1 .x 2 = x 1 + x 2 ;
o complemento de "0" igual a "1"; o complemento de "1" igual a "0".

0= 1 1= 0
6. Teoremas de De Morgan

a. A operao "NO" aplicada a uma operao "E" igual operao "OU" aplicada aos complementos das variveis de entrada, ou seja

x 1 .x 2 = x 1 + x 2

(2.1)

b. A operao "NO" aplicada a uma operao "OU" igual operao "E" aplicada aos complementos das variveis de entrada, ou seja

x 1 + x 2 = x 1 .x 2
2.4. PORTA "NO-E" COMO BLOCO LGICO UNIVERSAL

(2.2)

As operaes "NO", "E" e "OU" podem ser realizadas utilizando-se portas "NO-E" e, por este motivo, a porta "NO-E" conhecida como bloco lgico universal (em ingls "NAND").

28

Elementos Bsicos de Circuitos Digitais Se as trs operaes bsicas podem ser realizadas com portas "NO-E", isto significa que qualquer circuito lgico pode ser sintetizado apenas com este tipo de porta. Uma porta "NO-E" com duas entradas fornece a sada:

y = x1 . x 2
Aplicando o mesmo sinal s duas entradas, temos

y = x . x , mas como x.x=x, segue-se y = x . Em outras

palavras, para obter a funo "NO" a partir da porta "NO-E", basta ligar todas as entradas juntas. A Figura 2.18a mostra um inversor construdo a partir de uma porta "NO-E" de duas entradas.

Figura 2.18: Porta "NO-E" como bloco lgico universal

Como a operao "NO-E" o inverso da operao "E" basta inverter a sada da porta "NO-E" para obter a funo "E". A Figura 2.18 mostra como obtida a funo "E" para duas variveis a partir de portas "NO-E. Para conseguir a funo "OU" a partir de portas "NO-E, devemos considerar o primeiro teorema de De Morgan (Equao 2.1), lembrando tambm que a dupla negao retorna varivel original. Veja as expresses abaixo:

y = x1 . x 2 = x1 + x 2 = x1 + x 2
ou seja, para obter a funo "OU", realizamos a operao "NO-E" com os complementos das variveis de entrada. A Figura 2.18 mostra como a funo "OU" obtida para duas variveis a partir de portas "NO-E.

29

2.5.

Elementos Bsicos de Circuitos Digitais

PORTA "NO-OU" COMO BLOCO LGICO UNIVERSAL


A porta "NO-OU" (em ingls "NOR") pode ser utilizada para realizar as trs operaes lgicas fundamentais

"NO", "E" e "OU". Assim, a porta "NO-OU" tambm um bloco lgico universal e qualquer circuito lgico pode ser construdo apenas com este tipo de porta:

y = x1 + x 2
Se aplicarmos o mesmo sinal s entradas de uma porta "NO-OU" de, por exemplo, duas entradas, teremos na sada

y = x + x , mas, como x + x = x, segue-se que y = x . Assim para conseguir a funo "NO" a partir da porta
A Figura 2.19 mostra um inversor construindo

"NO-OU", basta conectar juntas todas as entradas da porta. com uma porta "NO-OU" de duas entradas.

Figura 2.19: Porta "NO-OU" como bloco lgico universal

Para conseguir a funo "E" a partir de portas "NO-OU, devemos considerar o segundo teorema de De Morgan (Equao 2.2) e o fato que a dupla negao retorna varivel original. Veja as expresses abaixo:

y = x1 + x 2 = x1 & x 2 = x1 & x 2
ou seja, para obter a funo "E", realizamos a operao "NO-OU" com os complementos das duas variveis de entrada. A Figura 2.19 mostra como a funo "E" obtida para duas variveis com portas "NO-OU.

30

2.6. FUNO "OU EXCLUSIVO"

Elementos Bsicos de Circuitos Digitais

Uma importante funo lgica de duas variveis a funo "OU exclusivo" (em ingls: "EXCLUSIVE-OR" ou "XOR"), que encontra grande aplicao prtica em circuitos digitais, como, por exemplo, somadores. A operao "OU exclusivo" representada por uma cruz dentro de um crculo e tem a segunda denominao "adio em mdulo 2":

y = x1 x 2
A Figura 2.20 mostra a tabela verdade para a funo "XOR" e os dois smbolos (americano e europeu). x2 0 0 1 1 x1 0 1 0 1 (a)
Figura 2.20: Funo lgica "OU exclusivo":

y 0 1 1 0 (b)

x1

y = x1 x2

= 1

y = x1 x2

x2

(c)

y = x 1 x 2 : (a) Tabela verdade, (b) Smbolo americano, (c) Smbolo europeu (IEC).

A funo "OU exclusivo" tambm h funo lgica universal, mas pode ser representada em termos das operaes fundamentais "E", "OU", "NO", pela equao:

y = x 1 .x 2 + x 1 .x 2 = x 1 x 2

(2.3)

Fica como exerccio para voc a construo do circuito "OU exclusivo" de portas "E", "OU", "NO" conforme a Equao 2.3. A funo lgica fi(A,B) apresentada na Tabela 2.6 pode ser representada por uma caixa preta cujo contedo implementa um tipo de porta ou uma combinao das mesmas. Por exemplo, para a Tabela 2.6, algumas funes so mostradas na Tabela 2.7.
Tabela 2.7: Exemplo de funes que implementam fi(A,B)

Funo Porta

f1 0

f2 AND

f4 A

f6 B

f7 XOR

f8 OR

f9 NOR

f10 XNOR

f11

f13

f15 NAND

f16 1

A importncia dessas portas lgicas est no fato de representarem os elementos bsicos de construo da maioria dos circuitos digitais prticos. Quando se deseja construir um circuito lgico (ou digital) relativamente simples, usa-se uma placa de circuito impresso com soquetes sobre os quais insere-se um circuito integrado (CI) digital. A maioria dos CI's j so padronizados, e os mais comuns pertencem srie denominada 7400. Os mais simples utilizam a tecnologia de Integrao em Pequena Escala (SSI - Small Scale Integration). Como um exemplo, veja o CI 7408, que contm quatro portas AND, cuja relao de suas entradas e sadas com os pinos de seu encapsulamento pode ser vista no diagrama da Figura 2.21.

31

Elementos Bsicos de Circuitos Digitais

Figura 2.21: Circuito Integrado 74F08

Alm de seu diagrama, so mostradas tambm as trs formas de encapsulamento desse chip, sendo que duas delas exibem tipos diferentes de material e a outra diferente na forma com a qual deve ser fixada na placa de circuito impresso. Como indica seu diagrama, esse CI possui 14 pinos (olhando-o de cima, a numerao de tais pinos importante, pois o pino 1 sempre comea do mesmo lado; isso suficiente para voc efetuar as ligaes eltricas necessrias para a montagem de seu circuito lgico), sendo que o pino 7 o terra (Ground = 0 V; V indica volts) e o pino 14 a tenso da fonte de energia (Vcc = 14 V).

2.7. ANLISE DE CIRCUITOS COMBINACIONAIS


A anlise de um circuito consiste em determinar a relao entre sua(s) sada(s) e suas entradas. De forma objetiva, analisar um circuito consiste em determinar o que ele faz. Ao analisarmos um circuito combinacional, procuramos obter a expresso lgica ou (e) a tabela verdade para sua sada ou sadas. Exemplo 1: Determinar a equao lgica da sada y e a tabela verdade para o circuito da Figura 2.22.

Figura 2.22: Circuito lgico das portas "E", "OU", "NO".

Soluo: A sada da porta G2 ser: S1 + S2, substituindo S1 e S2, obtemos: 2.8. . A sada da porta G3 ser: . Como para a porta G4 ("OU") y =

. A tabela verdade para este circuito mostrada na Tabela

32

Elementos Bsicos de Circuitos Digitais x3 0 0 0 0 1 1 1 1

Tabela 2.8: Tabela verdade para o circuito da Figura 2.22.

x2 0 0 1 1 0 0 1 1

x1 0 1 0 1 0 1 0 1

S1 0 1 0 1 0 0 0 0

S2 0 0 0 0 0 0 1 1 0 1 0 1 0 0 1 1

Observando a tabela, verificamos que a sada y igual entrada x1, para x3 = 0 e igual entrada x2, para x3 = 1. Em outras palavras, de acordo com o estado da entrada x3, podemos selecionar uma das duas entradas, x1 ou x2, e coloc-la na sada. Um circuito deste tipo encontra grande aplicao na prtica e recebe o nome de "multiplexor" ou "data selector". Exemplo 2: Determinar a equao da sada y para o circuito da Figura 2.23.
x1 S1 G1 x2 G3 S3 G2 G4 S2

y=?

Figura 2.23: Circuito das portas "NO-E".

Soluo: Examinando o circuito, temos:

S1 = x 1x 2 = x 1 + x 2 S 2 = x 1S1 S 3 = x 2 S1
e para a sada:
y = S 2S 3 = S 2 + S 3 = x 1S 1 + x 2S 1 = x 1S 1 + x 2S 1 = ( x 1 + x 2 ) S 1 = ( x 1 + x 2 ) x 1 + x 2 = = x 1 x 1 + x 1 x 2 + x 2 x 1 + x 2 x 2 = x 1 x 2 + x 1x 2 = x 1 x 2 .

O circuito realiza a funo "OU exclusivo" entre x1 e x2. Este circuito (Figura 2.23) a maneira mais simples de implementar a funo "EXOR" quando se dispe somente de portas "NAND". Exemplo 3: Determinar a equao lgica da sada y e a tabela verdade para o circuito da Figura 2.24 (por conta).

33

Elementos Bsicos de Circuitos Digitais


x1 x2 G1 S1

S2 x3 x4 G2

G4

S3 G6 y= ?

G5

S4

G3

Figura 2.24: Circuito lgico.

2.8. OBTENO DE EXPRESSES LGICAS A PARTIR DA TABELA VERDADE


Obteno de expresses lgicas um problema de sntese, em oposio ao de anlise estudado no item anterior. O problema de sntese consiste em determinar um circuito que realize uma funo desejada. Consideramos s uma parte deste problema de sntese: obteno da expresso lgica de uma funo lgica que dada pela sua tabela verdade. Qualquer expresso lgica sempre pode ser obtida pela sua tabela verdade na forma normal de disjuno (DNF) ou na forma normal de conjuno (CNF). Examinamos s uma forma DNF: expressar a funo lgica como uma operao "OU" de diversos termos, cada um dos quais uma expresso "E" das variveis de entrada (forma da soma de produtos). Vamos ilustrar este mtodo atravs de exemplo. Exemplo 1: Dada a tabela verdade da Tabela 2.9. Determinar a funo (expresso) lgica correspondente sada y expressando-a na forma de uma soma de produtos.
Tabela 2.9: Tabela verdade exemplo.

x3 linha 0 linha 1 linha 2 linha 3 linha 4 linha 5 linha 6 linha 7 0 0 0 0 1 1 1 1

x2 0 0 1 1 0 0 1 1

x1 0 1 0 1 0 1 0 1

y 0 1 1 0 1 0 0 1

Os passos de um mtodo prtico para obter uma funo lgica expressa como soma de produtos (DNF) so os seguintes: 1. Verificamos as combinaes das entradas para as quais a funo igual a 1. A sada y ser igual a 1 para as combinaes das entradas indicadas nas linhas 1,2,4 e 7 da Tabela 2.9. 2. Expressamos cada uma das combinaes acima como uma operao "E" das variveis de entrada, onde aquelas iguais a "0" aparecem barradas (invertidas).

34

Elementos Bsicos de Circuitos Digitais S1 = x 3 x 2 x 1 corresponde combinao na linha 1:

x3 = 0, x2 = 0, x1 = 1 x3 = 0, x2 = 1, x1 = 0 x3 = 1, x2 = 0, x1 = 0 x3 = 1, x2 = 1, x1 = 1

S 2 = x 3 x 2 x 1 corresponde combinao na linha 2: S 3 = x 3 x 2 x 1 corresponde combinao na linha 4:


S 4 = x 3x 2x 1
corresponde combinao na linha 7:

3. Expressamos a funo lgica como uma operao "OU" dos termos obtidos no passo 2.

y = S1 + S2 + S 3 + S4 = x 3 x 2 x 1 + x 3 x 2 x 1 + x 3 x 2 x 1 + x 3 x 2 x 1

(2.4)

A Equao 2.4 representa a funo lgica na forma FDNF (forma normal de disjuno completa) pelas funes bsicas "E", "OU", "NO", e o diagrama funcional do circuito combinacional, utilizando os smbolos correspondentes a estas funes mostrado na Figura 2.25. S1 x1 _ x1

S2 y S3

x2

_ x2

x3

_ x3

S4

Figura 2.25: Implementao direta da Equao 1.4.

Freqentemente, a tabela verdade pode ser dada pela uma srie das combinaes das variveis de entrada para as quais a funo lgica y igual a 1. Em regra, esta srie dada pelos nmeros decimais que so equivalentes aos nmeros binrios formados pelas combinaes das variveis de entrada. Por exemplo, a tabela verdade da Tabela 2.9 pode ser dada da seguinte maneira:
y = (1, 2, 4, 7) (10)

Isto , para as combinaes das variveis x3 x2 x1: 001, 010, 100 111, a funo y igual a 1. Para as restantes combinaes das variveis de entrada y = 0.

2.9. SIMPLIFICAO E MINIMIZAO DAS EXPRESSES LGICAS


A expresso lgica que foi obtida pelo mtodo da Seo 2.8 na forma de uma soma de produtos no , entretanto, necessariamente o mais simples possvel. Por exemplo, consideramos a expresso na forma FDNF:

35

Elementos Bsicos de Circuitos Digitais y = x 3 x 2 x1 + x 3 x 2 x1 + x 3 x 2 x1

(1.5)

A Equao 1.5 pode ser simplificada, utilizando as propriedades das funes lgicas (veja Seao 2.3. Assim:

y = x 3x 2x1 + x 3x 2 x1 + x 3x 2x1 = = x 3x 2x1 + x 3x 2 x1 + x 3x 2x1 + x 3x 2x1 = = x 2 x 1 ( x 3 + x 3 ) + x 3 x 2 ( x 1 + x1 ) = x 2 x 1 + x 3 x 2


(1.6)

Comparando as Equaes 1.5 e 1.6 podemos ver que a Equao 1.6 mais simples do que a Equao 1.5. Isto , tem menos dos termos e das operaes lgicas. A expresso lgica 1.6 pode ser implementada por blocos lgicos universais "NO-E" uma funo lgica expressa na forma de soma de produtos basta: 1. 2. Aplicar cada uma das combinaes das entradas que corresponde aos produtos a uma porta "NO-E"; Utilizar as sadas das portas "NO-E" obtidas acima como entradas para uma porta "NO-E" cuja sada ser a funo desejada. O exemplo anterior (Equao 1.6) ilustra a simplificao de funo lgica atravs de manipulaes algbricas. Este processo trabalhoso, envolvendo o uso de artifcios, como a repetio de termos j existentes, e exigindo certa familiaridade com os teoremas e postulados da lgebra de Boole. O mtodo no prtico para funes um pouco mais complexas e difcil garantir que a expresso final seja de fato o mais simples possvel. possvel atingir uma forma irredutvel, mas no mnima.

2.10. MAPAS DE KARNAUGH


No exemplo da Eq. (1.6) podemos observar que a simplificao resulta de haver termos que diferem entre si por apenas uma varivel. Dois termos que enquadrem nesta categoria so chamados adjacentes e resultam na simplificao da varivel pela qual diferem. Por exemplo:

y = x 3 x 2 x1 + x 3 x 2 x1 = x 2 x1 x 3 + x 3 = x 2 x1 .
Os dois termos diferem pela varivel x3 e a varivel x3 foi simplificada. Havendo quatro termos adjacentes, possvel a simplificao de duas variveis, aquelas que so diferentes entre os quatro termos. Por exemplo: y = x 4 x 3x 2x1 + x 4 x 3x 2x1 + x 4 x 3 x 2x1 + x 4 x 3 x 2x1 = = x 4 + x 4 x 3x 2x1 + x 4 + x 4 x 3 x 2x1 = = x 3x 2x1 + x 3 x 2x1 = x 2 + x 2 x 3x1 = x 3x1 . Os quatro termos diferem pelas variveis x4 e x2. As variveis x4 e x2 foram simplificadas.

36

Elementos Bsicos de Circuitos Digitais Para simplificar a funo lgica desta maneira e obter a expresso lgica final que seja o mais simples possvel na forma DNF (soma de produtos das variveis) se usam os mapas de Karnaugh. Os mapas de Karnaugh so diagramas nos quais as adjacncias entre os termos so facilmente identificveis. A tabela verdade plotada sobre o mapa, permitindo a identificao dos termos adjacentes e a simplificao da expresso lgica. A Figura 2.26 mostra os mapas de Karnaugh para 2, 3 e 4 variveis, com as adjacncias indicadas pelas setas. As clulas do mapa de Karnaugh devem ser preenchidas conforme aos valores da funo lgica na tabela verdade. Nos mapas de Karnaugh mostrados na Figura 2.26 os dois termos so adjacentes quando tiverem os valores da funo igual a 1 e: a) estiverem lado a lado na mesma fila ou coluna, b) estiverem na mesma fila, um na primeira e outro na ltima coluna, c) estiverem na mesma coluna, um na primeira e outro na ltima fila.

x x2 1 0 0 1 2

0 1 3 (a)

x3 0 1

x 2 x1 00

01

11

10

(b)

x4x3 00 01 11 10

x2x1 0 4

00 1 5 13 9

01 3 7 15 11 (c)

11 2 6 14 10

10

12 8

Figura 2.26 Mapas de Karnaugh: (a) para duas variveis, (b) para trs variveis, (c) para quatro variveis.

Para simplificarmos uma funo lgica atravs do mapa de Karnaugh, fazemos a plotagem da mesma sobre o mapa e procuramos agrupar os termos adjacentes em pares, quadras, ctuplos, etc. Em seguida, tiramos do mapa a funo simplificada, eliminando as variveis possveis das adjacncias. De modo geral, h vrias maneiras de agrupar os termos adjacentes e se deve procurar obter o menor nmero de grupos de termos, cada grupo com o maior nmero de termos possvel. A utilizao dos mapas de Karnaugh melhor esclarecida atravs de exemplos. Exemplo 1: Simplificar a funo lgica cuja tabela verdade mostrada na Figura 2.27a, expressando a como uma soma de produtos x2 0 0 1 1 x1 0 1 0 1 (a) y 1 1 0 1

x x1 x2 1 0 x2 0 1 x2 1 0
(b)

x1 1 1 1

Figura 2.27: (a) Tabela verdade para a funo lgica. (b) Tabela verdade plotada sobre o mapa de Karnaugh

37

Elementos Bsicos de Circuitos Digitais Soluo. Construindo o mapa de Karnaugh para duas variveis e plotando a tabela sobre ele, obteremos a Figura 2.27b. Como desejamos obter a funo simplificada expressa na forma de soma de produtos, devemos agrupar os termos correspondentes ao valor 1. O menor nmero de grupos de termos adjacentes que tem o maior nmero de termos possvel indicado no mapa de Karnaugh da Figura 2.27b: 2 grupos com 2 termos cada. A expresso resultante para esta maneira de agrupamento seguinte:

y = x 2 + x1
Esta expresso a forma mnima de uma soma de produtos. Exemplo 2: Simplificar a funo lgica cuja tabela de verdade dada pela seqncia das combinaes de variveis independentes na forma decimal, para qual esta funo igual a 1: y = (2,3,4,5,6,7,12,13,14,15)10 Soluo. Vamos construir a tabela verdade (Tabela 2.10).
Tabela 2.10: Tabela verdade exemplo.

Cdigo Decimal N 0 1 2* 3* 4* 5* 6* 7* 8 9 10 11 12* 13* 14* 15*

Cdigo binrio das combinaes de variveis independentes x4 x3 x2 x1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

Funo Lgica y 0 0 1 1 1 1 1 1 0 0 0 0 1 1 1 1

Construindo o mapa de Karnaugh para 4 variveis e plotando a Tabela 2.10 sobre ele, obteremos a Figura 2.28.

38

Elementos Bsicos de Circuitos Digitais

x2
X4X3 00 X2X1 00 0 0 4 1 12 1 8 0 9 0 13 1 11 0 5 1 15 1 1 0 7 1 01 3 1 11

x2 10 2 1 6 1 14 1 10 0 x3

quadra x4 x2 x3

x4
01

11 x4 10

x3

oitava x3

x1

x1

x1

Figura 2.28: Mapa da funo do exemplo 2 e os melhores agrupamentos dos termos adjacentes.

Conforme indicado na Figura 2.28, podemos agrupar os termos iguais a 1 em uma oitava e uma quadra, simplificado 3 e 2 variveis, respectivamente. Na oitava apenas a varivel x3 permanece sempre em 1, correspondendo ao termo x3 na soma; na quadra das variveis x4 e x2 permanecem iguais a 0 e 1, respectivamente, correspondendo soma x 4 x 2 . Assim, a funo lgica simplificada fica:

y = x3 + x4x2
Freqentemente, a funo lgica final obtida na forma DNF pode ser simplificada mais. Isto , podemos sublinhar as variveis comuns e pr as fora dos parnteses. Por exemplo, temos a funo lgica mnima na forma DNF:

y = x1 + x 3 x 2 + x 4 x 2

39

Elementos Bsicos de Circuitos Digitais

3.

CIRCUITOS SEQUNCIAIS

3.1. CIRCUITOS MULTIVIBRADORES BIESTVEIS


O muiltivibrador biestvel ou flip-flop um circuito que possui apenas dois estados estveis, podendo permanecer indefinidamente em qualquer deles. Nem todos os circuitos esto disponveis na forma de circuito integrado. Os catlogos dividem os biestveis em flip-flops e latches. Flip-flops: tipos D e JK disparados pela borda; Latches: RS e D disparado por nvel.

Existe outro tipo, o flip-flop T que pode no estar presente em catlogos de circuitos integrados, mas pode ser construdo a partir dos outros tipos existentes.

3.1.1. FLIP-FLOP RS ASSNCRONO COM PORTAS LGICAS "NO-OU"


A Figura 3.29 ilustra o circuito bsico de um flip-flop construdo com portas "NO-OU", tambm conhecido com o nome de "RS NOR LATCH" ou Flip-flop RS assncrono.

Figura 3.29: (a) Circuito flip-flop assncrono com portas "NO-OU"; (b) smbolo lgico; (c) tabela-verdade.

A Figura 3.29a mostra o uso de portas "NO-OU" conectadas em srie com realimentao positiva e com entradas adicionais atravs das quais so fornecidos sinais para mudar o estado do circuito. As entradas esto marcadas com R para reset o flip-flop (Q = "0") e S para set (Q = "1"). Vamos admitir que inicialmente a sada Q esteja em "0" e a sada em "1", ou seja, que o flip-flop esteja

ressetado (fica no estado "0"). Suponhamos tambm que as entradas R e S estejam em "0". Observaremos a ao da realimentao positiva que mantm este estado estvel atravs da seguinte malha: , confirmado o estado "0".

40

Elementos Bsicos de Circuitos Digitais Se nesta situao a entrada S for para "1" com R = "0", a sada Q ir para "1" e a sada para "0" e o flip-flop estar = "0" fora Q

setado (ficar no estado "1"). Mesmo que a entrada S volte para "0", o flip-flop continuar setado, pois = 1" atravs da realimentao positiva. Com o flip-flop setado (Q = "1", = "0",

= "0"), se a entrada R for para "1", sendo S

ir para "1" e Q para "0"; o flip-flop ser ressetado e se manter assim, mesmo que R volte par "0".

Caso R e S fiquem simultaneamente em "1", Q e

ficaro em "0"; isto contraria nossa definio de Q e

como sadas complementares e assim a combinao R = S = "1" no permitida.

3.1.2. TEMPORIZAES DOS FLIP-FLOPS


Os fabricantes definem tempos mnimos de modo a garantir a operacionalidade dos flip-flops de acordo com a respectiva tabela funcional. Durante um tempo mnimo, designado por tempo de preparao (t s - setup time Figura 3.30), antes da transio do sinal de relgio, os sinais nas entradas devem estar estabilizados. Estes devem manter-se estveis durante um tempo mnimo, designado por tempo de manuteno (th - hold time - Figura 3.31).

Figura 3.30: Tempos de preparao (setup) e manuteno (hold).

O tempo mximo de propagao definido a partir do instante em que ocorre a transio do sinal de relgio. Sempre que um sinal muda o estado da sada de um FF, existe um atraso entre o instante que o sinal aplicado para o instante no qual a sada realiza sua mudana (t pd propagation delay - Figura 3.31). Estes intervalos so sempre medidos em relao ao ponto mdio da transio entre nveis do sinal de relgio. Os fabricantes especificam os atrasos de propagao em resposta a todas as entradas e tem valores na faixa de nanosegundos.

41

Elementos Bsicos de Circuitos Digitais

Figura 3.31: tempos de propagao.

A Figura 3.32 mostra as formas de onda das entradas e sadas do circuito da Figura 3.29a considerando os atrasos de propagao das portas lgicas.

Tmn

R Tmn

_ Q

t pd (f-f) 1 0
confirma o estado

t Q t

tpd (porta) t pd (f-f) 0 1

confirma o estado

Figura 3.32: Formas de onda dos sinais nas entradas e sadas do flip-flop RS com os atrasos de propagao das portas lgicas e do flip-flop. O tpd(f-f) = 3tpd(porta) o tempo de propagao da realimentao positiva.

3.1.3. FLIP-FLOP RS ASSNCRONO COM PORTAS LGICAS "NO-E"


A Figura 3.33 mostra o circuito bsico de um flip-flop construdo com portas "NO-E", mais conhecido com o nome de NAND latch ou flip-flop assncrono.

42

Elementos Bsicos de Circuitos Digitais

Figura 3.33: (a) Circuito flip-flop assncrono com portas "NO-E"; (b) smbolo lgico; (c) Tabela verdade.

Quando as entradas

a realimentao positiva mantm o estado estvel anterior (Qn = "0" ou "1"). A for para "0" com ou a entrada for para "0" com

mudana dos estados de flip-flop ocorrer se a entrada , conforme a tabela verdade na Figura 3.33b.

3.1.4. FLIP-FLOP RS SNCRONO COM PORTAS LGICAS "NO-E"


O circuito de flip-flop RS sncrono com portas "NO-E" mostrado na Figura 3.34.

Figura 3.34: (a) Circuito de flip-flop RS sncrono com entrada adicional "CLOCK" (C). (b) Tabela-verdade.

A Figura 3.34 ilustra um flip-flop RS sncrono que utiliza o sinal C ("CLOCK" ou RELGIO) para sincronizar a mudana de estado. No circuito da Figura 3.34a, se o sinal C estiver em "0" as sadas Q e permanecero insensveis

s variveis das entradas R e S. Somente quando o sinal C estiver no estado lgico "1" que as variveis das entradas (R e S) se refletiro nas sadas. Este circuito sensvel ao nvel do sinal C, ou seja, estando C em "1", as sadas acompanharo as entradas. Isto significa que, se as entradas variam durante o tempo em que o CLOCK as habilita, a sada mudar de estado mais

43

Elementos Bsicos de Circuitos Digitais de uma vez durante o pulso de C, o que no , em geral, desejvel. A Figura 3.35 ilustra as formas de onda das entradas e sadas para os vrios casos.
C

t R

t S

t Q

t Seqencia dos sinais de entrada correta Mudana dos sinais de entrada incorreta

Figura 3.35: Formas de onda nas entradas e sadas do flip-flop RS sncrono.

3.1.5. FLIP-FLOPS "MASTER-SLAVE" (MESTRE-ESCRAVO)


O inconveniente principal dos flip-flops de um estgio que as variaes das entradas podem se refletir nas sadas como mostrado na Figura 3.35. Para contornar este problema, utilizam dois estgios como o da Figura 3.36a em cascata, com seus CLOCK's invertidos. O primeiro estgio se denomina mestre e, o segundo, escravo, sendo a configurao conhecida por Flip-flop Mestre-Escravo ou "Master-Slave" (MS). A Figura 3.36 mostra o circuito deste tipo de flip-flop com as portas lgicas "NO-E". PR S (J) C R (K) G2 G4 _ Qm G 7 G9 G1 MASTER Qm G 6 SLAVE __ PR S C R ___ CLR _ Q MS Q

G3

G8

Q _ Q

G5 CLR

(a) (b)

Figura 3.36: (a) Flip-flop RS Master-Slave com as portas "NO-E". Flip-flop JK MS pode ser obtido pelas conexes de realimentao desenhadas com linhas tracejadas. (b) Smbolo lgico de flip-flop RS MS com as entradas assncronas adicionais PR'e CLR' .

A Figura 3.37 mostra algumas formas de onda ilustrativas do circuito da Figura 3.36 que esclarece melhor o funcionamento do flip-flop MS.

44

Elementos Bsicos de Circuitos Digitais

tp t

* t Master t

Qm

* *

* t

_ C t Q t
Figura 3.37: Formas de onda ilustrativas do funcionamento do flip-flop RS MS.

Slave

Pulsos de relgio positivos C so aplicados ao mestre e so invertidos pela porta G5 antes de serem utilizados para excitar o escravo. Para C = 1, o mestre habilitado ("enable") e sua operao segue a tabela verdade da Figura 3.34a. Entretanto, visto que , o escravo RS inibido (no muda de estado), de maneira que a sada Q ,

invariante durante a durao tp do pulso. Aps a passagem do pulso, C = 0, de maneira que o mestre inibido e o que provoca que o escravo seja habilitado ("enable") e a sada do mestre Qm ser transferida para o escravo Q = Qm.

O circuito do flip-flop JK Master-Slave se distingue do flip-flop RS MS pelas conexes adicionais de realimentao desenhadas com linhas tracejadas. Estas conexes permitem o estado das entradas C = J = K = 1 (J "jerk"- estabelecer, K "kill"- restaurar). Analisando o funcionamento do circuito da Figura 3.36a podemos concluir que quando J = K = 1 e aps a passagem do pulso C o flip-flop JK muda o seu estado para o contrrio, ou seja . A tabela verdade e o smbolo lgico do flip-flop JK MS so mostrados na Figura 3.38: PR 0 0 1 1 1 1 1 1 CLR 0 1 0 1 1 1 1 1 J K x x x x x x 0 0 0 1 1 0 1 1 x x fora de CLK x x x Qn+1 1 1 0 Qn 0 1 Qn Qn Qn+1 1 0 1 Qn 1 0 Qn Qn (a) OPERAO Proibido Set assncrono (1) Reset assncrono. (0) No muda de estado Estado 0 Estado 1 Muda o estado anterior No muda de estado __ PR J C K ___ (b) CLR (b) _ Q MS Q

45

Elementos Bsicos de Circuitos Digitais

Figura 3.38: (a) Tabela verdade do flip-flop JK MS. (b) Smbolo lgico do flip-flop JK MS.

3.1.6. FLIP-FLOP D GATILHANDO PELA BORDA POSITIVA


O mais conhecido flip-flop cuja mudana de estado ou gatilhamento ocorre na transio do pulso de CLOCK de "0" para "1" (gatilhando pela borda positiva) o flip-flop tipo D ("delay") de trs estgios cuja tabela-verdade, smbolo lgico e as formas de onda so mostrados na Figura 3.39. PR 0 0 1 1 1 1 CLR 0 1 0 1 1 1 D x x x 0 1 x fora de (a) C t D * * Q * * t CLK x x x Qn+1 1 1 0 0 1 Qn Qn+1 1 0 1 1 0 Qn OPERAO Proibido Set assncrono Reset assncrono Estado 0 Estado 1 No muda de estado ___ CLR C _ Q (b) __ PR D

(c)

Figura 3.39: Flip-flop tipo D gatilhando pela borda positiva: (a) Tabela-verdade; (b) Smbolo lgico; (c) Formas de onda.

Na Figura 3.40 mostrado o flip-flop T ("toggle") construdo a partir do flip-flop D da Figura 3.39a e suas formas de onda do funcionamento. T=C _ D= Q _ Q t

PR C D ___ CLR (a)

t Q t (b)

Figura 3.40: (a) Flip-flop T assncrono construdo a partir do flip-flop D; (b) Formas de onda para flip-flop T gatilhando pela borda positiva de T = C.

46

3.2.

Elementos Bsicos de Circuitos Digitais

REGISTRADORES DE DADOS

Neste captulo, examinaremos um dos elementos da CPU: o registrador. Um registrador um circuito digital usado dentro da CPU para armazaenar um ou mais bits de dados. Dois tipos bsicos de registradores so comumente utilizados: registradores paralelos e registradores de deslocamento.

3.2.1. REGISTRADOR DE DADOS PARALELO


Registradores de dados paralelos se usam para aquisio, armazenagem e transferncia dos nmeros binrios em paralelo e tm mltiplas entradas e sadas. Eles utilizam os flip-flops ou "latchs" (fechos) dos vrios tipos: RS, JK, D, e tm as entradas de relgio ("CLOCK") ou habilitao ("Enable") de aquisio e transferncia dos dados que so ligados. Por exemplo, o registrador de dados paralelo que utiliza 8 flip-flops tipo D com sadas "tri-state" mostrado na Figura 4.41.

RG
D0 D1 D2 D3 D4 D5 D6 D7

__ E0 0 0 Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 0 1 x z

Di 1 0

Qi

n+1

1 0 Qi z
n

0 x

x x

estado irrelevante estado de alta impedncia

i = 0, 1, ..., 7

C __ E0 (a)

(b)

Figura 4.41: (a) Smbolo do registrador paralelo "tri-state octal D-type flip-flop. (b) Tabela-verdade.

3.2.2. REGISTRADORES DE DESLOCAMENTO (DE DADOS SERIAIS)


Um registrador de deslocamento ou em ingls "Shift register" um circuito construdo de flip-flop no qual a informao deslocada de uma posio (em regra) a cada pulso de CLOCK. Existem registradores de deslocamento capazes de efetuar deslocamentos para a direita, para a esquerda ou nas duas direes. Existem tambm registradores de deslocamento universais com entradas e sadas paralelas (7495: 4 bits RS). Os registradores de deslocamento encontram grande aplicao na prtica em conversores srie/paralelo e paralelo/srie, contadores, geradores de palavra, multiplicadores binrios, memrias, etc. Os flip-flops JK master-slave e tipo D gatilhando pela borda positiva so mais usados para construir os registradores de deslocamento. A Figura 4.42 mostra o diagrama bsico e a Figura 4.43 ilustra o diagrama de tempo do registrador de deslocamento construdo com flip-flop JK master-slave.

47

Elementos Bsicos de Circuitos Digitais


Q1 In entrada em srie ("double rail input") _ In CLK
Figura 4.42: Circuito do registrador de deslocamento com 3 flip-flops JK master-slave.

Q2 J C K Q2 _ Q2 J C K Q3 _ Q3

Q3 Out sada em srie ("double rail output")

J C K

Q1 _ Q1

___ Out

In 1 CLK 1 Q1 1 t Q2 0 Q 3 = Out 1 t
Figura 4.43: Diagrama de tempo do registrador de deslocamento da Figura 4.42 (continue todas as formas de onda para 6 pulsos de CLOCK por conta).

1 t 2 3 4 5 6

A Figura 4.44 apresenta o diagrama bsico do registrador de deslocamento construdo com flip-flops tipo D gatilhando pela borda positiva (ascendente) da entrada CLOCK. Q D C Q _ Q
1 1

In

Q D C Q _ Q
2

Q D C Q _ Q
3

Out

CLK
Figura 4.44: Registrador de deslocamento com 3 flip-flops tipo D.

Desenha as mesmas formas de onda como na Figura 4.43 para o circuito da Figura 4.44 por conta.

3.2.3 CONTADOR EM ANEL


Se a sada do ltimo estgio de um registrador de deslocamento for realimentada para a entrada do primeiro, obteremos um contador em anel. Uma das possibilidades apresentada na Figura 4.45.

48

Elementos Bsicos de Circuitos Digitais


Q1 J C __ PR Q "1" J C __ PR Q Q2 J C __ PR Q Q3 __ J PR Q C ___ _ K CLR Q Qn

___ _ K CLR Q CLK INIT "1"

___ _ K CLR Q

___ _ K CLR Q

Figura 4.45: Contador em anel.

No circuito da Figura 4.45 o contador inicialmente carregado com "1" no primeiro estgio e "0" nos demais, atravs da linha INIT. A cada pulso de CLOCK, o bit "1" ser deslocado para a direita e, ao atingir o ltimo estgio, ser novamente transferido para o primeiro. Em outras palavras, o bit "1" (ou "0") circulado pelo contador em anel. A vantagem do contador em anel que ele fornece a sada j decodificada, uma vez, que somente uma das sadas estar em "1" (ou "0") para cada contagem.

49

Elementos Bsicos de Circuitos Digitais

3.3

CONTADORES DIGITAIS
Um contador binrio um circuito capaz de contar, segundo uma determinada seqncia, o nmero de

pulsos que recebe em sua entrada. Os contadores encontram enorme aplicao em circuitos digitais executando funes como diviso de freqncia, seqenciamento de operaes, manipulaes matemticas, etc. Todos os contadores so construdos utilizando flip-flops tipo T ("toggle") e portas lgicas.

3.3.1. CONTADORES ASSNCRONOS


A Figura 5.46 mostra o circuito de um contador binrio de 3 flip-flops mestre-escravo tipo JK e as formas de onda correspondentes.
Dgito de menor significado J C K ___ CLR Q0 FF0 Q0
_

"1" CLK Entrada T

Q0 J C K ___ CLR Q1 FF1 Q1


_

Q1

Q Dgito de maior significado 2 J C K ___ CLR (a) Q2 FF2 Q2


_

INIT

CLK Q0 0 Q1 0 Q2 0

8 t

0 t

1 tT

1 (b)

0 t

Figura 5.46: (a) Contador assncrono de 3 bits com flip-flops JK master-slave.(b) Formas de onda correspondentes.

Consideremos a cadeia de trs flip-flops MS tipo JK com a sada Q de cada estgio conectada entrada de relgio (CLOCK) do binrio seguinte, como na Figura 5.46a. Os pulsos (CLK) a serem contados so aplicados entrada de relgio do FF0. Para todos os estgios, J e K so ligados fonte de alimentao, de maneira que J=K=1. Esta conexo converte cada estgio em um flip-flop tipo T assncrono que muda de estado todas as vezes que a forma de onda na entrada de relgio (C) muda de "1" para "0" (Q sada do escravo). Esta operao necessita que: 1. Q0 mude de estado na descida do pulso.

50

Elementos Bsicos de Circuitos Digitais 2. Todos os outros Qi faam a transio quando e apenas quando a sada do flip-flop precedente mude de "1" para "0". Esta transio negativa "propaga-se como onda" atravs do contador do dgito de menor significado para o de maior significado. Portanto estes contadores so conhecidos tambm como contadores ondulantes ("ripple counter"). Segundo este raciocnio, fcil concluir que, de fato, o circuito da Figura 5.46a ir contar os pulsos de CLOCK recebidos, segundo a seqncia 000, 001, 010, 011, 100, 101, 110 e 111, como mostrado na Figura 5.46b. Quando Q0 = Q1 = Q2 = 1, a prxima transio negativa do pulso de CLK far o contador retornar ao estado inicial, com Q0 = Q1 = Q2 = 0. Cada um dos passos da contagem chamado de estado do contador e podemos dizer que o circuito da Figura 5.46a possui 8 estados. Observe que a freqncia do sinal de CLK aparece dividida por dois na sada do primeiro estgio (Q0), por quatro na sada do segundo estgio (Q1) e por oito na sada do terceiro estgio (Q2). Se acrescentarmos mais um estgio ao circuito da Figura 5.46a, teremos um contador binrio de 4 bits, que contar na seqncia 0000, 0001, ... , 1110, 1111, ou seja, ter 16 estados. De um modo geral, um contador binrio puro, como o da Figura 5.46a, com N estgios apresentar um ciclo de contagem com 2 CLOCK aparecer dividida por 2 propagao de transporte t
i N

estados e a freqncia do

na sada do i-simo estgio. medida que o nmero de estgios aumenta, a

freqncia mxima permissvel do sinal de CLK na entrada do contador assncrono diminui devido ao atraso de
T

(veja a Figura 5.46b). O atraso de propagao de transporte o tempo necessrio para o

contador completar sua resposta ao pulso de entrada. Assim, o tempo de transporte ser da ordem de grandeza da soma dos tempos de atraso de propagao de todos os binrios, isto :
tT = N tpd ( FF) ,

1 tT

onde N o nmero de estgios,


tpd ( FF) o atraso de propagao de um flip-flop.

Por exemplo, o CI 7493 do contador assncrono de 4 bits da famlia TTL tem f

= x1 M 0

H .

Um contador assncrono pode ser construdo utilizando os flip-flops tipo D gatilhando pela borda positiva, como mostrado na Figura 5.47.

Entrada T CLK INIT

D
___ CLR

Q0

D
___ CLR

Q1

D
___ CLR

Q2

C FF0 _ Q0

C FF1_ Q1

C FF2_ Q2

Figura 5.47: Contador assncrono de 3 bits com flip-flops tipo D.

Utilizando a Figura 3.39b desenhar as formas de onda correspondentes Figura 5.47 por conta.

51

3.3.2. CONTADOR ASSNCRONO DECRESCENTE


O contador do item anterior contava de 0 a 7 e depois repetia o procedimento. Este conhecido como um contador crescente ou para cima ("UP COUNTER"). Para fazer um contador decrescente (0, 7, 6, ... , 1, 0) a partir do circuito de contador crescente da Figura 5.46a precisa tomar as entradas de relgio C (exceto o binrio FF0) das sadas

Elementos Bsicos de Circuitos Digitais

Q , em vez das sadas Q. Desenhar o circuito de contador assncrono decrescente e as formas de onda
correspondentes por conta, utilizando o conhecimento obtido no laboratrio.

3.3.3. CONTADOR COM QUALQUER CICLO DE CONTAGEM


Muitas vezes, desejamos um contador que tenha um ciclo de contagem ou mdulo qualquer n < 2N . Por exemplo, n = 5, 10, 13, etc. Para consegui-lo usaremos um mtodo bsico: Construmos o contador de maneira que, ao ser atingida a contagem n - 1 e ocorrer a transio do CLOCK que no responsvel pelo gatilhamento, sejam ativadas as entradas de PRESET assncrono; a transio seguinte do CLK ressetar o contador para "0". Um exemplo do contador assncrono divisor por 6 (mdulo n = 6) mostrado na Figura 5.48.

Q0 "1" __ PR Q __ PR Q

Q1

Q2

J CLOCK C

__ PR Q

FF0 ___ _ K CLR Q INIT

C FF1 ___ _ K CLR Q

C FF1 ___ _ K CLR Q

G1

Figura 5.48: Contador assncrono divisor por 6.

Uma soluo para conseguir a ativao da linha de PRESET assncrono no momento desejado ligar a contagem 5 decodificada (Q0 = 1,

Q1 = 1e Q2 = 1) e o CLOCK a uma porta G1 "NO-E" cuja sada ir setar todos os

flip-flops. As formas de onda correspondente esto ilustradas na Figura 5.49, esclarecendo o funcionamento do circuito (fazer o contador assncrono divisor por 10 por conta).

52

Elementos Bsicos de Circuitos Digitais

CLK 1 Q0 0 Q1 0 Q2 0 __ PR G1 excitado 0 0 0 1 1 1 0 0 t 0 1 1 0 0 1 0 0 1 0 1 0 1 0 1 2 3 4 5 6 7 t

Figura 5.49: Formas de onda para o contador divisor por 6 da Figura 5.48.

3.3.4. CONTADOR SNCRONO COM TRANSPORTE PARALELO


Nos contadores assncronos os atrasos so cumulativos, pois o CLOCK de um estgio derivado da sada do estgio anterior. Quando necessitamos de um contador que opere em freqncias mais elevadas, a interligao dos flip-flops deve ser feita de maneira que todos recebam o mesmo CLK, construindo um contador sncrono. A Figura 5.50 ilustra um contador sncrono de 4 bits utilizando o transporte paralelo ("parallel carry"). Neste circuito os flipflops funcionam como o tipo T sncrono base de flip-flops JK "master-slave".
Q0 INIT "1" J C K CLOCK ___ CLR FF0 ___ J CLR Q C FF1 K J C K ___ CLR Q FF2 J C K ___ CLR Q Q1 Q2 Q3

G1

G2

Figura 5.50: Contador sncrono de 4 bits utilizando o transporte paralelo.

Observe que, agora, o controle dos flip-flops feito atravs das entradas J e K. Sabemos que se J = K = 1 o flip-flop se complementa e que se J = K = 0 o flip-flop no muda de estado. Assim, o primeiro estgio ir mudar de estado a cada pulso de CLOCK; o segundo s mudar de estado quando o FF0 estiver setado, ou seja, a cada dois pulsos de CLK. O terceiro estgio FF2 s mudar de estado quando os dois primeiros ( FF0 e FF1 ) estiverem em "1" ( atravs da porta "E" G1 ), ou seja, a cada quatro pulsos de CLK. Finalmente, o quarto estgio s mudar de estado

53

Elementos Bsicos de Circuitos Digitais atravs a porta G2 (porta "E") quando os trs primeiros ( FF0, FF1 e FF2 ) estiverem em "1", ou seja, a cada oitavo pulsos de CLK. No circuito da Figura 5.50, a freqncia mxima do CLOCK ser limitada apenas pelo atraso de um flip-flop e da uma porta lgica. Isto verdadeiro para o contador sncrono com qualquer nmero de estgios, utilizando a configurao com transporte paralelo. O perodo mnimo T do sinal de CLK ser:

T tpd ( FF) + tpd ( G)


onde tpd ( FF) o atraso de um flip-flop, e tpd ( G) o atraso de porta lgica "E". Admitindo tpd ( FF) = 50nS e tpd ( G) = 10nS , a freqncia mxima do sinal de CLOCK para o circuito da Figura 5.50 ser:
f m x= 1 1 = = 16,67MHz T ( 50 + 10) 10 -9

Para o contador assncrono de 4 bits este valor seria:


f mx = 1 N t pd ( FF ) = 1 = 5MHz 4 50 10-9

Mas, medida que o nmero de estgios aumenta, a sada de um flip-flop deve alimentar um nmero maior de portas e o nmero de entradas das portas torna-se maior. Um exemplo do contador sncrono da famlia TTL CI 74193. O CI 74193 o contador sncrono universal (crescente/decrescente) com entradas assncronas de CLR e PR para 4 entradas paralelas, tem 4 sadas paralelas, ou seja, funciona tambm como registrador de dados paralelo.
f
m =x

2 M 5

54

Elementos Bsicos de Circuitos Digitais

4.

SISTEMAS DIGITAIS COMBINACIONAIS


Um sistema digital combinacional qualquer sistema digital onde o comportamento de cada sada pode ser

descrito como uma funo que depende exclusivamente das combinaes de valores instantneos das entradas do sistema (donde o nome combinacional). Em outras palavras, um sistema digital combinacional pode ser completamente descrito por uma tabela verdade com tantas entradas quanto as entradas do sistema e com tantas sadas quanto as sadas do sistema. Esta tabela apresenta uma linha para cada combinao de valores de entradas distintos, e para cada linha as sadas recebem valores associados a esta combinao de entradas.

4.1. DECODIFICADORES
Um decodificador um circuito lgico combinacional que recebe uma informao codificada de alguma forma e a traduz para outra. A informao pode ser um nmero decimal codificado em binrio, um endereo de uma posio de memria, etc. Uma classe importante de codificadores so os decodificadores de n para 2 registrador ou contador ) e 2 linhas de entrada. O funcionamento do decodificador completo definido pelo sistema das funes lgicas que possui 2 completo de 3 entradas ( n = 3 )so representados na Tabela 6.11.
Tabela 6.11: Tabela-verdade e sistema das funes lgicas do decodificador completo de 3 entradas.
n n n

linhas ( 2 para 4, 3 para 8, 4

para 16, etc.). Estes decodificadores possuem n linhas de entrada ( tomadas, por exemplo, das sadas paralelas de um linhas de sada, das quais uma e somente uma ficar ativa para cada combinao das

equaes de n variveis cada. O sistema das equaes lgicas e a tabela verdade correspondente do decodificador

Entradas x2 0 0 0 0 1 1 1 1 x1 0 0 1 1 0 0 1 1 x0 0 1 0 1 0 1 0 1 y0 1 0 0 0 0 0 0 0 y1 0 1 0 0 0 0 0 0 y2 0 0 1 0 0 0 0 0

Sadas y3 0 0 0 1 0 0 0 0 y4 0 0 0 0 1 0 0 0 y5 0 0 0 0 0 1 0 0 y6 0 0 0 0 0 0 1 0 y7 0 0 0 0 0 0 0 1

O sistema das funes lgicas correspondente _ _ _ y0 = x 2 _ 1 x 0 x _ y1 = x2 x 1 x 0 _ _ y2 = x2 x 1 x 0 _ y3 = x 2 x 1 x 0 _ _ y4 = x2 x 1 x 0 _ y5= x2 x 1 x 0 _ y6 = x 2 x 1 x 0 y 7 = x2 x 1 x 0

A partir da Tabela 6.11 podemos construir o circuito lgico do decodificador utilizando portas lgicas "NO" e "E" como mostrado na Figura 6.51. Uma entrada adicional denominada intervalo ("strobe") acrescentada a cada porta "E". Todas estas entradas adicionais so ligadas juntas e so excitadas por um sinal binrio S. Se S = 1, a porta libertada e ento ocorre a decodificao, enquanto, se S = 0, a decodificao inibida. A entrada S se usa quando desejvel decodificar somente durante certo intervalo de tempo, por exemplo, eliminar os pulsos curtos e falsos nas

55

Elementos Bsicos de Circuitos Digitais sadas do decodificador durante de troca dos estados nas entradas. Estes pulsos falsos ocorrem devido aos diferentes atrasos de propagao nos circuitos lgicos resultando as "corridas" dos sinais lgicos.
x2 x1 x0 S

y0 DC y1 x0 x1 y2 y3 S y4 y5 EN x2 1 2 4 0 1 2 3 4 5 6 7

y0 y1 y2 y3 y4 y5 y6 y7

S uma entrada adicional denom inada intervalo ou "strobe" (b)

y6 y7 (a)
Figura 6.51: (a) Circuito lgico do decodificador completo de 3 entradas utilizando portas "NO" e "E". (b) Smbolo lgico do decodificador de 3 para 8.

4.2. DECODIFICADORES E DEMULTIPLEXADORES DE CI


O conceito apresentado na Figura 6.51 pode ser facilmente estendido para 2, 3 ou n linhas de entrada. Na prtica, no necessrio construir estes decodificadores a partir de portas lgicas, pois h uma grande variedade de CI's que realizam estas funes. Um demultiplexador um sistema utilizado para a transmisso de um sinal binrio ( dados em srie ) em uma das linhas de sada, sendo que a linha em particular selecionada por meio de um endereo A Para operar como demultiplexador, aplicados entrada E1 . Se
3

A 0.

E0 deve ser igual a 0 ou ligado com o sinal de "strobe" e os dados devem ser
0

E0 = 0, a sada selecionada pelas linhas A 3 , A 2 , A 1 , A

assume o estado de entrada

E1 . No regime do decodificador ( E0 = E1 = 0) o sinal ativo na sada (sada selecionada) corresponde a "0". A Figura
6.52 mostra o smbolo lgico e a tabela verdade de um decodificador/demultiplexador.

56

Elementos Bsicos de Circuitos Digitais _ Entradas 0 _ __ __ 1 A3 A2 A1 E0 E1 DC/DEMUX _ 2 A0 _ 0 0 0 0 0 3 _ 0 0 0 0 0 A1 4 _ 1 5 0 0 0 0 _ ... 6 ... ... ... ... A2 _ A3 7 _ 8 _ 9 __ 10 __ 11 __ & __ E1 __ E0 (a) 12 __ 13 __ 14 __ 15 0 0 0 1 1 0 0 1 0 1 1 1 x x x 1 1 x x x 1 1 x x x

A0 0 1 0 ... 0 1 x x x (b)

_ 0 0 1 1 ... 1 1 1 1 1

_ 1 1 0 1 ... 1 1 1 1 1

Sadas _ ... 2 1 1 0 ... 1 1 1 1 1 ... ... ... ... ... ... ... ... ...

__ 14 1 1 1 ... 0 1 1 1 1

__ 15 1 1 1 ... 1 0 1 1 1

Figura 6.52: (a) Smbolo lgico de decodificador/demultiplexador. (b) Tabela verdade.

4.3. DECODIFICADORES BCD PARA DECIMAL


O mais comum dos cdigos BCD ("binary-coded decimal") ou em portugus DCB (decimal codificado em binrio) o BCD 8421, no qual cada algarismo decimal corresponde a seu equivalente binrio. O nome BCD 8421 deriva do peso atribudo a cada bit de cdigo; como cada bit possui um valor posicional, o cdigo BCD 8421 dito com pesos. Este cdigo to difundido que quando dizemos apenas cdigo BCD subentende-se tratar-se do BCD 8421. Por exemplo, o nmero decimal 296 necessita de trs conjuntos de 4 dgitos binrios (ou de trs ttradas). Isto ,

296

(10)

= 0010 1001

0110 (BCD) 1 ttr. 2 ttr. 3 ttr.

A tabela de cdigo BCD 8421 e o smbolo do decodificador BCD para decimal da srie TTL 7442 mostrado na Figura 6.53.

57

Elementos Bsicos de Circuitos Digitais _ DC 0 _ A0 A1 A2 A3 1 _ 2 _ 3 _ 4 _ 5 _ 6 _ 7 _ 8 _ 9 (a)

Sadas ativas decimais 0 1 2 3 4 5 6 7 8 9 (b)

Entradas em BCD 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001

Figura 6.53: (a) Smbolo lgico do decodificador BCD para decimal.(b) Tabela do cdigo BCD 8421.

4.4. DECODIFICADOR BCD PARA O MOSTRADOR DE 7 SEGMENTOS.


Um dispositivo capaz de mostrara uma informao de uma forma visvel para o ser humano denomina-se mostrador ou "display". Um mostrador em estado slido, no qual os segmentos obtm sua luminosidade a partir de diodos emissores de luz (LED: "light emmiting diode") operado em baixa tenso e baixa potncia e assim podem ser alimentados diretamente de portas lgicas em circuito integrado. Um mostrador LED de sete segmentos juntamente com a tabela de decodificao de BCD para 7 segmentos mostrado na . a decimal 0 1 2 3 4 5 6 7 8 9

a
0 1 0 0 1 0 0 0 0 0

b
0 0 0 0 0 1 1 0 0 0

c
0 0 1 0 0 0 0 0 0 0

d
0 1 0 0 1 0 0 1 0 1

e
0 1 1 1 1 1 0 1 0 1

f
0 1 0 1 0 0 0 1 0 0

g
1 1 0 0 0 0 0 1 0 0

f g e

d 0 = segmento aceso 1 = segmento apagado

Figura 6.54: "Display" de 7 segmentos e decodificao BCD para 7 segmentos.

A famlia TTL tem CI 7447 de decodificador para 7 segmentos com sadas em coletor aberto capazes de drenar uma corrente IOL at 40 mA. As sadas so ativadas no estado "0" e assim este CI adequado para controlar um "display" cujos segmentos se acendam com "0". O smbolo lgico do 7447 mostrado na Figura 6.55. LT = 0 ("Lamp test") fora todas as sadas para "0" provocando o acendimento de todos os segmentos. Quando RBI ("ripple blank input") =0 e A3A2A1A0= 0000, todas as sadas vo para "1", apagando o display, a sada RBO ("ripple blank output") vai para "0" e pode ser utilizada como RBI para o estgio anterior. RBI e RBO so utilizados para apagar os zeros no significativos de uma srie de displays

58

Elementos Bsicos de Circuitos Digitais 7447 07 01 02 06 03 05 LT ___ RBI tpd = 45nS


Figura 6.55: Smbolo lgico de um decodificador BCD para 7 segmentos 7447.

A0 A1 A2 A3

DC

_ a _ b _ c _ d _ e _ f _ g ___ RBO

13 12 11 10 09 15 13 04

Por conta: Sintetize as equaes lgicas na forma de soma dos produtos utilizando a tabela de decodificao da Figura 6.55 e desenhe o circuito lgico do decodificador BCD para 7 segmentos utilizando as portas lgicas "NOE".

4.5. SELETOR DE DADOS OU MULTIPLEXADOR


A funo executada por um multiplexador a de selecionar 1 de N fontes de entrada de dados e transmitir o dado selecionado para um nico canal de informao. O multiplexador executa o processo inverso de um demultiplexador que possui somente uma linha dos dados na entrada e estes dados aparecem em 1 de N limas de sada. O circuito lgico do multiplexador de 4 linhas para uma linha mostrado na Figura 6.56 utilizando o smbolo lgico de decodificador para melhor entender o funcionamento do circuito. x
0

x1 x x y
2 3

A A

0 1

1 2

DC

0 1 2 3 x0 ... x3 so as entradas dos dados A0, A1 so as entradas de seleo y a nica sada

Figura 6.56: Circuito lgico do multiplexador de 4 para 1.

O smbolo lgico de multiplexador de 8 para 1 e sua tabela verdade so mostrados na Figura 6.57.

59

Elementos Bsicos de Circuitos Digitais D0 MUX D1 D2 D3 D4 D5 D6 D7 A0 A1 A2 _ S (a) Y Y A2 x 0 0 0 0 1 1 1 1 Seleo A1 x 0 0 1 1 0 0 1 1 A0 x 0 1 0 1 0 1 0 1 Strobe S 1 0 0 0 0 0 0 0 0 Sadas Y 0 D0 D1 D2 D3 D4 D5 D6 D7 Y 1 __ D0 __ D1 __ D2 __ D3 __ D4 __ D5 __ D6 __ D7

(b)

Figura 6.57: (a) Smbolo lgico de multiplexador de 8 para 1. (b) Tabela verdade.

4.6.

SOMADORES BINRIOS
Um computador digital deve conter obviamente circuitos que executaro operaes aritmticas, isto ,

adio, subtrao, multiplicao e diviso. As operaes bsicas so adio e subtrao, visto que a multiplicao uma adio repetitiva e a diviso uma subtrao repetitiva. inteiramente possvel construir um computador no qual a nica operao aritmtica presente seja a soma devido subtrao de nmeros binrios geralmente feita atravs da soma do complemento do subtraindo ao diminuendo.

4.6.1. SEMI-SOMADOR (HALF ADDER)


Sejam A e B dois nmeros binrios de um bit que desejamos somar aritmeticamente. H apenas 4 possibilidades: 1. B 2. B 3. B 4. B

= 0 ,A = 0 : = 0 ,A = 1 : = 1 ,A = 0 : = 1 ,A = 1 :

a soma S igual a 0. a soma S igual a 1. a soma S igual a 1. a soma S igual a 0 e vai um que chamado o bit de transporte("carry").

A Figura 6.58 mostra a tabela verdade para a soma de 2 bits e o circuito lgico capaz de realiz-la que se chama semi-somador.

60

Elementos Bsicos de Circuitos Digitais "SP" a sada da soma parcial e "C" a do "CARRY" o vai-um B A SP C _ _ SP = B . A V B . A = A + B equaes lgicas do 0 0 0 0 funcionamento de semi-somador 0 1 C = A.B 1 0 0 1 0 1 1 0 1 1 (a) A B SP = A + B

B A

SS

SP C

C = A.B (b)

(c)

Figura 6.58: (a) Tabela-verdade com as equaes lgicas do semi-somador. (b) Circuito lgico do semi-somador ("half-adder"). (c) Smbolo utilizado para o semi-somador.

4.6.2. SOMADOR COMPLETO


Quando desejamos somar nmeros binrios de mais de um bit procedemos a soma bit a bit da direita para a esquerda como com nmeros decimais. Em cada soma de dois bits consideramos tambm o "vai-um" proveniente da soma dos bits anteriores. Na Figura 6.59 est ilustrada a soma de dois nmeros binrios de 8 bits, mostrando de forma bem clara este processo.

Figura 6.59: Adio de 2 nmeros binrios de 8 bits.

De um modo geral, quando desejamos somar dois bits, An e Bn, quais quer de dois nmeros binrios, devemos considerar o CARRY, vindo do estgio anterior (Cn-1). O resultado ser uma soma Sn. A tabela verdade deste raciocnio apresentada na Figura 6.60.

C n-1 0 0 0 0 1 1 1 1

Bn 0 0 1 1 0 0 1 1

An 0 1 0 1 0 1 0 1

Sn 0 1 1 0 1 0 0 1

Cn 0 0 0 1 0 1 1 1

Entradas do somador completo de um bit: Cn-1 Bn An CARRY do estgio n - 1, bit de ordem n do nmero B, bit de ordem n do nmero A.

Sadas do somador completo de um bit: Sn Cn bit de ordem n da soma, CARRY do estgio n.

Figura 6.60: Tabela verdade do somador completo de 1 bit.

61

Elementos Bsicos de Circuitos Digitais As equaes lgicas podem ser obtidas na forma cannica da soma dos produtos pela tabela verdade como:

S n = C n-1 B n A n C n-1 B n A n C n-1 B C n = C n-1 B n A n C n-1 B n A n C n-1 B = C n-1 B n C n-1 A


n

n n

A A

n n

C n-1 B n A n C n-1 B
n

An =

(6.1)

Bn A

Por conta: a partir destas equaes, construir o circuito lgico de 3 entradas e 2 sadas que se denomina somador completo ("full-adder"). As equaes (6.1) podem ser transformadas para as seguintes:

S n = C n-1 ( B n A n )

C n = C n-1 ( B n A n ) B n A n

(6.2)

A partir das equaes lgicas (6.2) podemos construir o circuito lgico do somador completo utilizando os dois semi-somadores e uma porta lgica "OU" como mostrado naFigura 6.61.

Bn An C n-1

B SS SP A C

S P= Bn + A n G n' = B n A n

B SS SP A C

S n = C n-1 + ( B n + A n) G n"= C n-1 ( B n + A n ) C'

Bn S Sn C An Cn1 n

Cn (b )

(a)

Figura 6.61: (a) Somador completo consistindo em semi-somadores. (b) Smbolo lgico do somador completo ("full-adder").

Com o somador completo podemos realizar a adio de nmeros binrios de n bits. A Figura 6.62 ilustra um somador para dois nmeros binrios de 4 bits.
S0 Bn An "0" C n-1 Cn SC S n Bn An C n-1 Cn SC S n S1 Bn An C n-1 Cn SC S n S2 Bn An C n-1 Cn SC S n C4 S3

B0

A0

B1

A1

B2

A2

B3

A3

Figura 6.62: Somador binrio paralelo de 4 bits com "ripple carry".

O arranjo da Figura 6.62 pode ser estendido para qualquer nmero de bits. Mas medida que o nmero de estgios aumenta, cresce tambm o atraso de propagao de C
n

e o tempo necessrio para realizar a adio. Existem

os circuitos lgicos dos somadores paralelos mais complexos. Estes circuitos ( em regra, CI's ) usam a tcnica de antecipao do CARRY e so conhecidos como SOMADORES COM CARRY LOOK-AHEAD.

4.7.

SUBTRAO DE NMEROS BINRIOS


J foi dito acima que a subtrao de nmeros binrios geralmente feita atravs da soma do complemento

do subtraindo ao diminuendo.

62

Elementos Bsicos de Circuitos Digitais Define-se o complemento 2 de um nmero binrio de n bits como: complemento 2 = 2n - nmero ou complemento 2 =

+ 1.

Por exemplo, o complemento 2 de 101 011, de 1011 0101 e etc.

4.8. UNIDADE LGICA E ARITMTICA


Unidade lgica e aritmtica (ALU - Aritmetics Logic Unit) um circuito digital combinacional capaz de realizar diversas operaes lgicas e aritmticas com os operandos presentes nas entradas A e B. controladores. A Figura 6.63 mostra o smbolo lgico de CI TTL 74181 que uma ALU de 4 bits. A pinagem da ALU 74181 definida da seguinte maneira: S3, S2, S1, S0 A0, A1, A2, A3 B0, B1, B2, B3 M CI F3, F2, F1, F0 entradas de controle para selecionar a funo da ALU entradas de informao do operando A entradas de informao do operando B entrada de controle para selecionar o modo de operao da ALU entrada de CARRY da ALU (CARRY-IN) sadas, resultado da operao lgica ou aritmtica realizada com os operandos A e B A=B CO P, G sada da igualdade dos operandos A e B sada de CARRY da ALU (CARRY-OUT) propagao e gerao do CARRY: sadas adicionais utilizadas na implementao de CARRY-LOOK-AHEAD entre ALU's ALU utilizado na construo da unidade central de processamento de sistemas digitais, como computadores e

63

Elementos Bsicos de Circuitos Digitais A3 A2 A1 A0 B3 B2 B1 B0 S3 S2 S1 S0 CI M

ALU

F3 F2 F1 F0 A=B P G CO

Figura 6.63: Smbolo da ALU 74181 (tpd=35 nS).

A Tabela 6.12 representa todas as operaes lgicas e aritmticas realizadas com os operandos A, B e CI (CARRY-IN) pela ALU em dependncia dos sinais de controle S3, S2, S1, S0 e M. A AB CI
Tabela 6.12: Tabela das operaes lgicas e aritmticas da ALU 74181.

Seleo da Funo S3 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 S2 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 S1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 S0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 F= F= F=

Operaes Lgicas M=1


A AB AB

Operaes Aritmticas M=0 F = A + CI F= F=


ABCI ABCI

F=0 F= F= F= F= F= F= F=B F= F=1 F= F= F=A


AB AB AB AB AB
AB B

F = CI - 1 F= F=
A AB CI AB ABCI

F = A B 1 + CI F= F=
AB1CI

A ABCI

F = A + B + CI F= F=
AB ABCI AB1CI

F = A + A + CI F= F= F=
ABACI AB ACI
A1CI

64

Elementos Bsicos de Circuitos Digitais

5.

SISTEMA DE MEMRIA DE COMPUTADORES


Memrias so dispositivos capazes de armazenar informao binria. Do ponto de vista de vrias caractersticas

as memrias podem ser classificadas por: 1. Localizao: Processador: o processador requer uma memria local prpria, formada por registradores. Alm disso, memrias caches podem ser integradas ao processador. A maioria dos processadores tem duas internas, designadas por nveis L1 e L2 (do ingls level). Interna (principal): contm necessariamente os programas e dados durante a sua execuo. Alm disso, as memrias caches tambm (L3) fazem parte deste grupo. Externa (secundria): consiste de dispositivos de armazenamento de memria, tais como discos e leitores de banda magntica, que esto acessveis ao processador atravs de controladores de E/S. 2. 3. 4. Portador de informao: ncleo magntico ou ncleo de ferrite (fitas e discos magnticos), material semicondutor (flip-flop ou capacitor integrado), tico (fitas e cartes perfuradas, CD's); Conservao de informao: voltil quando a informao nela armazenada se perde caso a tenso de alimentao seja removida, no-voltil no caso contrrio; Tipo de acesso: aleatrio quando uma posio pode ser acessada diretamente (semicondutora), seqencial quando, para acessar-se determinada posio, necessrio o acesso a todas as posies anteriores (fita magntica); 5. Possibilidade de leitura e escrita: RAM ("Random Access Memory"): memria (voltil) de acesso aleatrio para leitura e escrita.

ROM ("Read-Only Memory"): memria (no-voltil) somente de leitura.

5.1. HIERARQUIA DE MEMRIAS


Sabe-se que os programas de computador podem se beneficiar de uma quantidade infinita e rpida de memria. Entretanto, a realidade fsica mostra que quanto maior a memria mais lenta ela . Por exemplo, memrias

65

Elementos Bsicos de Circuitos Digitais cache so rpidas, mas tambm so pequenas e caras. Memria principal possui grande capacidade, mas lenta. Por isso, utiliza-se uma hierarquia de memrias para criar uma iluso para o processador de que a memria infinita e rpida. A hierarquia de memria explora o princpio da localidade (princpio que diz que os prximos acessos ao espao de endereamento tendem a ser prximos). Uma hierarquia mostrada na Figura 7.64. medida que descemos em uma hierarquia de memrias, as relaes a seguir so vlidas: a) Reduo do custo/bit

b) Aumento de capacidade c) Aumento do tempo de acesso

d) Reduo da freqncia dos acessos memria pelo processador

Figura 7.64: Hierarquia de Memrias

A memria mais rpida colocada mais perto do processador, e a memria mais lenta colocada mais distante do processador. Assim, memrias menores, mais dispendiosas e mais rpidas so complementadas por memrias maiores, mais baratas e mais lentas. A chave para o sucesso desta organizao est no ltimo item, reduo da freqncia dos acessos.

5.2. MEMRIAS SEMI-CONDUTORAS


Nos primeiros computadores, as memrias eram fabricadas utilizando um grupo de anis de material ferromagntico, conhecidos como ncleos. A memria semicondutora um dos tipos de memrias mais utilizados em circuitos digitais atualmente. Este tipo de memria divide-se, basicamente em 2 tipos: RAM e ROM.

5.2.1. MEMRIAS ROM


As memrias ROM so memrias semicondutoras nas quais as informaes podem apenas ser lidas. Tais informaes so gravadas no momento da fabricao da memria, um processo caro que s se viabiliza quando da produo em larga escala. So usadas, por exemplo, para o armazenamento do programa de carga inicial de um microcomputador. Existem vrios tipos de memrias ROM:

66

Elementos Bsicos de Circuitos Digitais mask-ROM: so fabricadas j contendo a informao desejada. O nome "mask-ROM" deriva do fato de que as mscaras utilizadas na fabricao do circuito integrado so projetadas pelo fabricante sob encomenda do usurio. Em computadores antigos, a ROM continha a programao (BIOS Basic Input Output System) que permite um computador inicializar.

PROM: so ROM's programveis, isto , o usurio escreve nela o contedo desejado, que no pode mais ser alterado. A memria uma matriz de diodos e a gravao mantm ou queima um "diodofusvel" desta matriz padro, conforme se queira o 1 ou o 0 numa determinada posio. So usadas quando o uso de mask-ROMs invivel;

EPROM: significa "Erasable PROM" ou memria PROM apagvel. o tipo mais popular de PROM, podendo ser programada e reprogramada (alterada) pelo usurio um grande nmero de vezes. Esta caracterstica torna a utilizao das memrias EPROM especialmente indicada durante o desenvolvimento de um projeto. Normalmente, seu apagamento feito atravs da aplicao de raios ultravioletas em uma janela de quartzo localizada em uma das faces do chip;

EAROM ou EEPROM: tais nomes vm de "Eletrically Alterable ROM" (ROM eletricamente altervel) e "Eletrically Erasable PROM". So programveis pelo usurio e podem ser eletricamente apagadas, atravs da aplicao de uma corrente eltrica especfica sobre os pinos do "chip", e reprogramadas quantas vezes for necessrio. Possuem um custo elevado, sendo usadas quase que somente quando necessria a reprogramao com a memria no circuito (para a alterao dos parmetros de operao de um terminal de vdeo - velocidade de transmisso, endereo, etc. -, por exemplo);

Flash: so memrias no volteis que podem ser apagados eletricamente como as EEPROM's, mas a um custo bem menor. Utilizadas geralmente em computadores e no interior de microcontroladores, cuja funo a de guardar os programas principais das mquinas.

FeROM ou FeRAM: significa Ferroelectric ROM; atuam como uma RAM, exceto que elas no esquecem a informao mesmo sem energia; Aplicaes incluem air-bags inteligentes, microcontroladores industriais, impressoras, discos rgidos, entre outros.

5.2.2. MEMRIAS RAM


Memrias RAM ou RWM (de "Read/Write Memory" ou memria de leitura e escrita) so, como o segundo nome diz, memrias nas quais informaes podem ser lidas ou escritas. Assim, so usadas para o armazenamento de informaes que devem ser modificadas com o passar do tempo. Em um computador, a memria RAM a memria principal, onde so carregados todos os dados que esto sendo manipulados (processados). Normalmente, a RAM s retm (guarda) as informaes enquanto a mquina est ligada, ou seja, enquanto a mquina abastecida por uma fonte eltrica (voltil). As memrias RAM podem ser estticas ou dinmicas. Uma memria dinmica se necessria a reescrita de seu contedo de tempos em tempos. Tal operao conhecida como "refresh" (refrescar) e feita, em geral, a cada 2

67

Elementos Bsicos de Circuitos Digitais milissegundos por um circuito especial chamado de controlador de RAM dinmica. Isso deve-se ao fato de que as memrias dinmicas so formadas por capacitores, dispositivos eletrnicos que armazenam carga eltrica mas que, com o passar do tempo, vo perdendo essa carga. As memrias que no necessitam de "refresh" so chamadas de estticas. As memrias dinmicas so mais baratas e menores do que as estticas (cada "bit" de uma memria esttica formado por um flip-flop, que pode chegar a conter dez transistores; cada "bit" de uma memria dinmica contm um capacitor e at trs transistores, o que torna o circuito bem mais simples e permite que em uma rea de silcio de uma memria dinmica contenha muito mais "bits" do que a mesma rea de uma memria esttica). Uma desvantagem das memrias dinmicas, em relao s estticas, a menor velocidade, pois o tempo de carga e descarga de um capacitor bem maior que o tempo de chaveamento de um flip-flop 2. A Tabela 7.13 mostra uma

comparao entre memrias RAM dinmica e esttica.


Tabela 7.13: Comparao entre memrias dinmicas e estticas

A seguir so apresentados alguns tipos de memrias RAM utilizadas em computadores: FPM (Fast Page Mode):

a primeira melhora significativa na arquitetura das memrias veio

com o FPM, ou modo paginao rpida. Ela retm o valor da ltima linha acessada, assim para os acessos realizados na mesma linha o controlador no necessita enviar o endereo da linha. O resultado que o primeiro acesso demorar o tempo normal e os seguintes na mesma linha sero mais rpidos. As memrias FPM foram utilizadas em micros 386,
486 e nos primeiros micros Pentium. A Figura 7.65 mostra algumas ilustraes de memrias FPM.

Tipicamente, o tempo de acesso de uma memria esttica da ordem 20 milissegundos enquanto o tempo de acesso de uma memria dinmica da ordem de 70 milissegundos o que faz com que as primeiras sejam utilizadas como memrias cache e as outras como memria convencional.

68

Elementos Bsicos de Circuitos Digitais

Figura 7.65: Mdulos de Memrias FPM

EDO-RAM a sigla para (Extended Data Out). Trata-se de um tipo de memria que chegou ao mercado no incio de 1993 e que possui como caracterstica essencial a capacidade de permitir ao processador acessar um endereo da memria ao mesmo tempo em que esta ainda estava fornecendo dados de uma solicitao anterior. Esse mtodo permite um aumento considervel no desempenho da memria RAM. Esse tipo de memria precisava ser usado com pentes em pares. Isso porque os processadores daquela poca (Pentium) podiam acessar 64 bits por vez, mas cada pente de memria EDO trabalhava apenas com 32 bits. No caso de processadores 486, esse acesso era feito a 32 bits e assim um nico pente poderia ser usado. Um exemplo de memria EDO mostrado na Figura 7.66.

BEDO-RAM (Burst EDO): Constituram uma evoluo das memrias EDO RAM, conseguindo-se obter tempos de acesso da ordem dos 50 ns quando utilizadas em placas me com barramento (bus) externo de 66 MHz. Apesar da otimizao sobre a EDO, a no compatibilidade com as EDO RAM e o atraso na comercializao (muito investimento j havia sido feito nas tecnologias SDRAM) fora as causas para que estas memrias no tivessem sido muito utilizadas.

VRAM (Video RAM): chip com dois conjuntos de circuitaria para leitura de dados (Dual Ported DRAM). Uma porta de leitura e escrita e a outra somente de leitura. E assim as portas podem ser utilizadas simultaneamente. So especialmente teis para buffers de quadros de vdeo, porque os buffers so inerentemente usados para acessos aleatrios de escrita e leitura pela CPU e leitura linear pela circuitaria do vdeo.

WRAM (Windows RAM): uma verso especial da VRAM, a qual otimizada para os tipos de acessos que so comuns em PCs que rodam Windows e aplicaes Windows. Estes incluem coisas como preenchimento de uma regio de bits devotados a uma nica cor com um valor constante, e transferncia de dados de uma regio para outra (bit blitting). Alm disso, a WRAM oferece aproximadamente 25% mais largura de banda do que a VRAM.

SDRAM (Synchronous DRAM) e SGRAM (Synchronous Graphics DRAM): tem somente uma porta de leitura e escrita (single ported), e assim um pouco mais barata que as VRAMs e WRAMs. A SDRAM e a SGRAM tm uma vantagem sobre as DRAM (ou Dual Ported DRAM) que estas memrias sncronas usam o mesmo sinal de clock que a CPU. Isto significa que estas memrias esto prontas para transferir dados quando a CPU espera que elas estejam prontas. Com outros tipos de memria a CPU deve permitir mais

69

Elementos Bsicos de Circuitos Digitais tempo para certificar-se que os chips transferiram os dados, o que reduz o desempenho da mquina. As memrias SDRAM podem rodar nas velocidades de 66, 100 e 133MHz. Porm quando a Intel decidiu projetar a SDRAM padro que operaria a 100MHz ou/e 133MHz, eles tiveram o maior cuidado para no ter problemas de compatibilidade. Existe mais ou menos 10% de ganho de desempenho entre a SDRAM operando em 66MHz e uma que opera a 100MHz.

Figura 7.66: Mdulos de Memrias EDO e SDRAM

DDR RAM (Dynamic Data Rate Random Acess Memory), originalmente chamada de SDRAM II foi originalmente usada em placas de vdeo, e depois comeou a ser usada como memria de computador. DDR RAM tem muitas similaridades com a SDRAM exceto que podem transferir o dobro de informao que uma SDRAM padro. Apesar disso, as clulas de memria propriamente ditas continuam operando na mesma freqncia. Num mdulo DDR-266, por exemplo, elas operam a apenas 133 MHz, da mesma forma que num pente PC-133. O pulo do gato fazer com que cada um dos dois comandos de leitura (ou gravao) sejam enviados para um endereo diferente, na mesma linha. Estas duas leituras so enviadas atravs do barramento de dados na forma de duas transferncias separadas, uma realizada no incio e a outra no final do ciclo de clock. A DDR RAM precisa apenas de 2,5 volts ao invs de 3,3 volts que uma grande melhoria para os laptops. Os mdulos DDR podem ser vendidos tanto segundo sua freqncia de operao, quanto segundo sua taxa de transferncia: DDR-200 (100 MHz) = PC1600 DDR-266 (133 MHz) = PC2100 DDR-333 (166 MHz) = PC2700 DDR-400 (200 MHz) = PC3200 DDR-466 (233 MHz) = PC3700 DDR-500 (250 MHz) = PC4000

Um exemplo de memria DDR mostrado na Figura 7.67. DDR2 RAM: Seguindo a tendncia inaugurada pelas memrias DDR, as DDR2 novamente duplicam a taxa de transferncia, realizando agora 4 operaes por ciclo. Novamente, as clulas de memria continuam trabalhando na mesma freqncia anterior e o acesso inicial continua demorando aproximadamente o mesmo tempo. As memrias DDR2 tm menor consumo eltrico comparadas s memrias DDR. As memrias DDR so alimentadas com 2,5 V enquanto as memrias DDR2 so alimentadas com 1,8 V. Atualmente temos chips de memria de at 300 MHz que, combinados com as 4 leituras por ciclo, resultam em mdulos com transferncia terica de at 9.6 GB/s: DDR2-533 (133 MHz) = PC2-4200 DDR2-933 (233 MHz) = PC2-7500

70

Elementos Bsicos de Circuitos Digitais DDR2-667 (166 MHz) = PC2-5300 DDR2-800 (200 MHz) = PC2-6400

DDR2-1066 (266 MHz) = PC2-8500 DDR2-1200 (300 MHz) = PC2-9600

Um exemplo de memria DDR2 mostrado na Figura 7.67.

Figura 7.67: Mdulos de Memrias DDR e DDR2.

DDR3 RAM: novamente, esta nova gerao de memrias duplica a taxa de transferncia das predecessoras DDR2 (realizam 8 operaes por ciclo). Alm disso, podem transferir dados a uma taxa de 1600 MHz (utilizando ambas as transies de um clock de 800 MHz). Outra vantagem a reduo em consumo de energia: 1,5 volts. Permite o uso de chips com capacidade entre 512 Mbits e 8Gbits (o dobro da DDR2). As desvantagens em relao a DDR2 a maior latncia no acesso ao dado e o custo. Algumas especificaes de memrias DDR3 so: DDR3-800 (400 MHz) = PC3-6400 DDR3-1066 (533 MHz) = PC3-8500 DDR3-1333 (667 MHz) = PC3-10600 DDR3-1600 (800 MHz) = PC3-12800

Um exemplo de memria DDR3 mostrado na Figura 7.68. RDRAM (Rambus Dynamic Random Acess Memo ry) uma memria que compete com a DDR. RDRAM usado com quase todos os processadores da Intel (Pentium III e 4) mas DDR RAM tambm est sendo usada por esses processadores. RDRAM necessita de menos energia que a DDR RAM, mas gera muito mais aquecimento e por isso precisa de um dissipador. RDRAM quase igual uma DDR (algumas vezes mais rpida), mas bem mais cara e a dificuldade de instalar maior. Um exemplo de memria RDRAM mostrado na Figura 7.68.

Figura 7.68: Mdulos de Memrias DDR3 e RDRAM

71

Elementos Bsicos de Circuitos Digitais A Tabela 7.14 mostra as taxas de transferncia das memrias DRAM3.
Tabela 7.14 :Taxas de Transferncia de Memrias DRAM

Tecnologia
FPM DRAM EDO DRAM PC66 SDRAM PC100 SDRAM PC133 SDRAM PC800 RDRAM (single-channel) PC1600 DDR-SDRAM (single channel) PC1066 RDRAM (single-channel) PC2100 DDR-SDRAM (single channel) PC1200 RDRAM (single-channel) PC2700 DDR-SDRAM (single channel) PC800 RDRAM (dual-channel) PC1600 DDR-SDRAM (dual channel) PC3200 DDR-SDRAM (single channel) PC2-3200 DDR2-SDRAM (single channel) PC1066 RDRAM (dual-channel) PC2100 DDR-SDRAM (dual channel) PC2-4200 DDR2-SDRAM (single channel) PC4000 DDR-SDRAM (single channel) PC1200 RDRAM (dual-channel) PC2-5300 DDR2-SDRAM (single channel) PC2-5400 DDR2-SDRAM (single channel) PC2700 DDR-SDRAM (dual channel) PC3200 DDR-SDRAM (dual channel) PC2-3200 DDR2-SDRAM (dual channel) PC2-6400 DDR2-SDRAM (single channel) PC4000 DDR-SDRAM (dual channel) PC2-4200 DDR2-SDRAM (dual channel) PC2-5300 DDR2-SDRAM (dual channel) PC2-5400 DDR2-SDRAM (dual channel) PC2-6400 DDR2-SDRAM (dual channel) PC2-8000 DDR2-SDRAM (dual channel) PC2-8500 DDR2-SDRAM (dual channel) PC3-8500 DDR3-SDRAM (dual channel) PC3-10600 DDR3-SDRAM (dual channel) PC3-12800 DDR3-SDRAM (dual channel)

Bit 1.408 Gbit/s 2.112 Gbit/s 4.264 Gbit/s 6.4 Gbit/s 8.528 Gbit/s 12.8 Gbit/s 12.8 Gbit/s 16.8 Gbit/s 16.8 Gbit/s 19.2 Gbit/s 21.6 Gbit/s 25.6 Gbit/s 25.6 Gbit/s 25.6 Gbit/s 25.6 Gbit/s 33.6 Gbit/s 33.6 Gbit/s 34.136 Gbit/s 34.3 Gbit/s 38.4 Gbit/s 42.4 Gbit/s 42.664 Gbit/s 43.2 Gbit/s 51.2 Gbit/s 51.2 Gbit/s 51.2 Gbit/s 67.2 Gbit/s 67.2 Gbit/s 84.8 Gbit/s 85.328 Gbit/s 102.4 Gbit/s 128.0 Gbit/s 136.0 Gbit/s 136.0 Gbit/s 165.6 Gbit/s 204.8 Gbit/s

Byte 0.176 GB/s 0.264 GB/s 0.533 GB/s 0.8 GB/s 1.066 GB/s 1.6 GB/s 1.6 GB/s 2.1 GB/s 2.1 GB/s 2.4 GB/s 2.7 GB/s 3.2 GB/s 3.2 GB/s 3.2 GB/s 3.2 GB/s 4.2 GB/s 4.2 GB/s 4.267 GB/s 4.287 GB/s 4.8 GB/s 5.3 GB/s 5.333 GB/s 5.4 GB/s 6.4 GB/s 6.4 GB/s 6.4 GB/s 8.4 GB/s 8.4 GB/s 10.6 GB/s 10.666 GB/s 12.8 GB/s 16.0 GB/s 17 GB/s 17 GB/s 21.2 GB/s 25.6 GB/s

Quanto tecnologia utilizada, as memrias (RAM's) podem ser bipolares ou MOS. As memrias bipolares (TTL) so mais rpidas, mas de maior consumo. As memrias MOS (CMOS, PMOS, NMOS), alm do menor consumo, so mais simples, o que permite uma maior quantidade de "bits" em uma mesma rea. Em razo do baixo consumo (prximo a zero), elas so usadas para armazenar dados quando da falta de energia, sendo alimentadas por baterias. Os chips de memria so frgeis placas de silcio, que precisam ser encapsulados em alguma estrutura mais resistente antes de serem transportados e encaixados na placa-me. Assim, como temos vrios tipos de encapsulamento diferentes para processadores, temos vrios formatos de mdulos de memria.

http://en.wikipedia.org/wiki/List_of_device_bandwidths

72

Elementos Bsicos de Circuitos Digitais Inicialmente os chips so encapsulados em mdulos DIP, que os protegem e facilitam a dissipao do calor gerado pelos chips. Estes por sua vez so soldados em placas de circuito, formando os mdulos de memria (nos primeiros PCs XT, 286 e 386, os DIPs eram soldados diretamente na placa-me, ou em alguns casos, encaixados individualmente em soquetes disponveis na placa). Os mdulos de memria existentes so: SIMM (Single In Line Memory Module): possuam 30 vias que transferem 8 bits (utilizados em computadores com processador 386 e 486) e 72 vias que transferem 32 bits (utilizados em computadores com processador 486 mais novos e Pentium). Os mdulos de 30 bias possuam 8 chips (1 por bit) ou 9 chips (1 por bit mais bit de paridade) de memria, permitindo a transferncia de 8 bits por ciclo. Para formar um banco de memria, eram necessrios 4 mdulos de 30 vias. Por causa disso, foi criado o mdulo de 72 vias, o qual somente um mdulo era necessrio para formar um banco de memria. DIMM (Double In Line Memory Module): possuem contatos em ambos os lados do mdulo que totalizam 168 vias, o que justifica seu nome, "Double In Line Memory Module" ou "mdulo de memria com duas linhas de contato". Como os mdulos DIMM trabalham com palavras binrias de 64 bits, um nico mdulo suficiente para preencher um banco de memria em um micro Pentium ou superior, dispensando seu uso em pares. Muito utilizado em placas-me de processadores Pentium II, Pentium III e em alguns modelos de Pentium 4 (e processadores equivalentes de empresas concorrentes). As memrias DDR2 e DDR3 possuem 240 pinos. Os mdulos de memria DIMM empregam um recurso chamado ECC (Error Checking and Correction - deteco e correo de erros) RIMM: usado somente nos mdulos de memria que utilizam os chips com tecnologia Rambus. RIMM a sigla de Rambus Inline Memory Module. Cada mdulo s capaz de transferir 16 bits de cada vez, mas o controlador de memria agrupa 4 acessos memria antes de entregar os dados para a CPU, formando assim os 64 bits necessrios. Uma caracterstica marcante dos mdulos RIMM o fato de eles possurem um dissipador metlico envolvendo os chips de memria. Isto ocorre porque estes chips trabalham em velocidades de clock muito altas e geram calor. O mdulo RIMM possui 184 pinos. Existe uma verso mais compacta batizada de SORIMM (Small Outline RIMM) para ser usada em notebooks.

5.3.

TERMINOLOGIA DAS MEMRIAS


Clula de memria o dispositivo lgico ou circuito eltrico usado para armazenar um nico bit (0 ou

1) de informao. Exemplos: flip-flops, ncleos magnticos isolados ou pontos individuais em disco tico.
Palavra de memria o grupo de bits (clulas) em uma memria, representando os dados de algum tipo.

Nas memrias RAM e ROM as palavras representam os grupos de bits que podem ser lidos (ou gravados) em paralelo (ao mesmo tempo).
Capacidade de memria a forma de especificar quantos bits podem ser armazenados em um dispositivo

especfico de memria. Por exemplo, uma memria capaz de guardar 4096 (212) palavras de 16 (24) bits. Isto representa uma capacidade total de 212+4 = 216 = 64 K bits. Frequentemente, a capacidade exprimida na forma de seguinte matriz:

73

Elementos Bsicos de Circuitos Digitais

Capacidade = N de palavras n bits em palavra

Para o exemplo anterior dizem: a memria tem a capacidade de 4096 x 16 ou 4K por 16.
Endereo o nmero (binrio, hexadecimal ou decimal) que identifica o local de uma palavra na

memria. Cada palavra armazenada tem um endereo individual.

5.4. SMBOLOS LGICOS DAS MEMRIAS RAM E ROM


A estrutura simplificada de memria N palavras n bits representada na Figura 7.69: DO n linhas de dados de sada 0 Am . AB m linhas de endereo . . A1 A0 N DI n linhas de dados de entrada
Figura 7.69: Estrutura do bloco de memria N n

. . .

2 10

DC

1 2 . . .

Palavra 0 Palavra 1 Palavra 2 . . . Matriz de memria . . . Palavra N

A Matriz de memria sempre acompanhada pelo um decodificador de endereo DC. A palavra, que deve ser escrita para memria, fornecida de fora pelo Barramento de dados de entrada DI, selecionada pelo endereo binrio que fornecido pelo Barramento de Endereos AB. m casas binrias de endereo so transformadas em nmero de palavra decodificada pela frmula: N = 2m. O mesmo processo ocorre para ler uma palavra no Barramento de dados de sada DO. Na Figura 7.70 representado um smbolo de bloco de memria com os barramentos de dados de entrada DI e sada DO separados.

74

Elementos Bsicos de Circuitos Digitais A4 A3 A2 A1 A0 DI3 DI2 DI1 DI0 R/W' CS'
Figura 7.70: Diagrama genrico de uma memria RAM de 324.

AB [5]

RAM 32x4
DO3 DO2 DO1 DO0

DO [4]

DI [4]

CB [2]

O Barramento de Controle CB contm 2 linhas binrias de controle:

R/W' (read/write) o sinal lgico para ajustar o bloco a leitura (R/W'=1) ou gravao

(R/W'=0).

CS' (chip select) um sinal lgico de habilitao do bloco. Quando CS'=0 a memria realiza o

prprio processo de leitura ou gravao. Mais um exemplo de memria com o Barramento de dados bidirecional DB que tpico para os blocos de memria modernos dado na Figura 7.71.

AB [10]

CB [2]

A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 R/W' CS'

RAM 1kx8

D7 D6 D5 D4 D3 D2 D1 D0

DB [8]

Figura 7.71: O smbolo lgico de bloco de memria de 1kx8.

5.5.

OPERAO GERAL DAS MEMRIAS


Embora cada tipo de memria seja diferente em sua operao interna, h certos princpios bsicos de

operao comuns a todas elas.

Cada sistema de memria requer vrios tipos diferentes de linhas de entrada e

sada, a fim de efetuar as seguintes funes:

75

Elementos Bsicos de Circuitos Digitais 1. Selecionar o endereo (AB) ao qual se quer acesso, para a operao de leitura ou gravao. 2. 3. 4. Selecionar a operao de leitura (R/W'=1) ou Gravao (R/W'=0) como foi pedido. Fornecer o dado que deve ser armazenado durante uma operao de gravao no DB. Habilitar a memria pelo sinal lgico CS'=0, para gravar os dados fornecidos ou para receber os

dados lidos no barramento DB. A Operao de leitura a operao pela qual a palavra binria armazenada em um local especfico da memria (endereo) "captada" e depois transferida para outro local. Assim, por exemplo, se quisermos utilizar a palavra N4, teremos que executar uma operao de leitura no endereo 00100B, para o bloco de memria da Figura 7.70, ou no endereo 0000000100B, para o bloco da Figura 7.71. Essa operao costuma ser chamada tambm de operao de busca. A Operao de gravao (de escrita) a operao pela qual coloca-se uma nova palavra em um determinado local da memria, tambm conhecida como operao de armazenagem. Sempre que uma nova palavra escrita em um local da memria, ela substitui a palavra ali guardada anteriormente. A palavra anterior ento perdida durante o processo de se gravar ou escrever nesse local de memria.

5.6. EXPANSO DE MEMRIA COM BASE NOS CIRCUITOS LGICOS


A Figura 7.72 apresenta o circuito lgico de um bloco de memria RAM de capacidade 8 por 8. O bloco contm 8 palavras de 8 bits que so representadas por 8 registradores paralelos de 3 estados nas sadas RG0 ... RG7. O decodificador DC de 3 para 8 realiza a converso do endereo binrio fornecido pelas 3 linhas de Barramento de Endereos AB, para uma sada de DC que habilita o registrador de palavra correspondente. Os barramentos de dados separados, para leitura DO e para gravao DI, fornecem ou recebem 8 bits de palavra na leitura ou na gravao respectivamente.

76

Elementos Bsicos de Circuitos Digitais


DO [8] RG0 DI0 DO0 A2 A1 A0 CS' S' DC 0 1 . . . 7
OE' C0

AB

DI1
OE' C1

RG1 DO1

CB RG7 DI7 R/W'


OE' C7

DO7

DI [8]
Figura 7.72: Estrutura lgica de um bloco de memria RAM 8 x 8.

A Figura 7.73 mostra o circuito lgico de um bloco de memria RAM de capacidade 1024 por 8. O bloco contm 1024 palavras de 8 bits que so representadas por 8 blocos de memrias. O decodificador DC de 2 para 4 realiza a converso do endereo binrio fornecido pelas 2 linhas de Barramento de Endereos A9 e A10, para uma sada de DC que habilita o bloco de memria de palavra correspondente. O barramento de dados de 8 bits bidirecional.

77

Elementos Bsicos de Circuitos Digitais

CPU

A9 ... [10] A0 [8] CS' R/W '

A9 A8

A1 D C A0 S'

0' 1' 2' 3'

CS0' CS1' CS2' CS3'

[8]

A 7 RA M D 7 ... 256x8 ... A0 0 D0 R/W ' CS A 7 RA M D 7 ... 256x8 ... A0 1 D0 R/W ' CS A 7 RA M D 7 ... 256x8 ... A0 2 D0 R/W ' CS A 7 RA M D 7 ... 256x8 ... A0 3 D0 R/W ' CS

[8]

[8]

[8]

[8]

[8]

[8]

[8]

1k x 8 D7 ... D0 [8]

Figura 7.73: Estrutura lgica de um bloco de memria RAM 1k x 8.

Você também pode gostar