Escolar Documentos
Profissional Documentos
Cultura Documentos
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
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
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
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
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.
8 7
+1
8 2
8 5
-1
8 2
-2
8 2
-3
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)
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
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
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
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.3
DADOS NUMRICOS
Nesta seo sero apresentadas as representaes de informaes numricas.
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.
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
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.
2.
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
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.
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
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 *
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 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.
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
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
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.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
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
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
AB +7D 128
19
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
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.
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
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 _
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
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).
Neste captulo, abordaremos os problemas de anlise e sntese de circuitos combinacionais base das equaes da lgebra de Boole, utilizando circuitos integrados bsicos.
3 1 0
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.
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
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.
A operao "NO" (em ingls "NOT") mais simples das operaes lgicas. Se x uma varivel lgica, seu inverso representando por "NO" ou "Negao".
25
x 0 1 (a)
y 1 0
y= x
(b)
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
Figura 2.15 (a) Circuito representativo da operao "NO", (b) Tabela verdade, e (c) Smbolos do circuito inversor.
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
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)
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").
y = x1 x 2 = x1 + x 2
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
(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.
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
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.
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.
"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.
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
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
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).
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 =
32
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=?
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
S2 x3 x4 G2
G4
S3 G6 y= ?
G5
S4
G3
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
x3 = 0, x2 = 0, x1 = 1 x3 = 0, x2 = 1, x1 = 0 x3 = 1, x2 = 0, x1 = 0 x3 = 1, x2 = 1, x1 = 1
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
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.
35
(1.5)
A Equao 1.5 pode ser simplificada, utilizando as propriedades das funes lgicas (veja Seao 2.3. Assim:
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.
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.
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
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
3.
CIRCUITOS SEQUNCIAIS
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.
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",
ir para "1" e Q para "0"; o flip-flop ser ressetado e se manter assim, mesmo que R volte par "0".
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
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
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.
42
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.
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
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
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
Figura 3.38: (a) Tabela verdade do flip-flop JK MS. (b) Smbolo lgico do flip-flop JK MS.
(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
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.
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.
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
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.
47
Q2 J C K Q2 _ Q2 J C K Q3 _ Q3
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.
48
___ _ K CLR Q
___ _ K CLR Q
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
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.
Q1
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
freqncia mxima permissvel do sinal de CLK na entrada do contador assncrono diminui devido ao atraso de
T
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
= 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.
D
___ CLR
Q0
D
___ CLR
Q1
D
___ CLR
Q2
C FF0 _ Q0
C FF1_ Q1
C FF2_ Q2
Utilizando a Figura 3.39b desenhar as formas de onda correspondentes Figura 5.47 por conta.
51
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.
Q0 "1" __ PR Q __ PR Q
Q1
Q2
J CLOCK C
__ PR Q
G1
Uma soluo para conseguir a ativao da linha de PRESET assncrono no momento desejado ligar a contagem 5 decodificada (Q0 = 1,
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
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.
G1
G2
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:
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
4.
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
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
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
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.
A 0.
E0 deve ser igual a 0 ou ligado com o sinal de "strobe" e os dados devem ser
0
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
296
(10)
= 0010 1001
A tabela de cdigo BCD 8421 e o smbolo do decodificador BCD para decimal da srie TTL 7442 mostrado na Figura 6.53.
57
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.
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
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
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".
x1 x x y
2 3
A A
0 1
1 2
DC
O smbolo lgico de multiplexador de 8 para 1 e sua tabela verdade so mostrados na Figura 6.57.
59
(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.
= 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.
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.
61
Elementos Bsicos de Circuitos Digitais As equaes lgicas podem ser obtidas na forma cannica da soma dos produtos pela tabela verdade como:
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
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
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
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.
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.
63
ALU
F3 F2 F1 F0 A=B P G CO
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=
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
5.
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.
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
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.
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.
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
A seguir so apresentados alguns tipos de memrias RAM utilizadas em computadores: FPM (Fast Page Mode):
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
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.
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
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.
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.
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
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
. . .
2 10
DC
1 2 . . .
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]
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]
5.5.
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.
76
AB
DI1
OE' C1
RG1 DO1
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
CPU
A9 A8
A1 D C A0 S'
[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]