A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Arquitectura de Sistemas Computacionais Introdução à Lógica Digital 1.

Apresentações semelhantes


Apresentação em tema: "Arquitectura de Sistemas Computacionais Introdução à Lógica Digital 1."— Transcrição da apresentação:

1 Arquitectura de Sistemas Computacionais Introdução à Lógica Digital 1

2 Arquitectura de Sistemas Computacionais Introdução à Lógica Digital E LECTRÓNICA D IGITAL Relativamente à Electrónica Analógica: Permitiu melhorar sistemas e produtos já existentes e desenvolver outros até aí impossíveis ou inviáveis de construir. Apresentam uma maior imunidade ao ruído eléctrico, elevada densidade de integração, facilidade de acoplamento com outros circuitos, simplicidade de projecto e de análise,......é o conjunto de determinadas técnicas e dispositivos integrados, de vários graus de complexidade, que se utilizam principalmente na realização de circuitos de controlo de processos industriais, de equipamentos informáticos para processamento de dados e, em geral, de outros equipamentos e produtos electrónicos.

3 Arquitectura de Sistemas Computacionais S INAIS A NALÓGICOS: Toda a grandeza Analógica é aquela que assume uma infinidade de valores ao longo do tempo de uma forma contínua e sem saltos bruscos (p.e. variação da temperatura ao longo de um dia). Introdução à Lógica Digital

4 Arquitectura de Sistemas Computacionais S INAIS D IGITAIS: Toda a grandeza Digital é aquela que assume um número finito de valores e que varia de valor por saltos de uma forma descontínua (p.e. variação hora a hora da temperatura ao longo de um dia). Portanto a sua evolução no tempo consiste precisamente em saltar duns valores discretos para outros. Introdução à Lógica Digital

5 Arquitectura de Sistemas Computacionais C IRCUITOS E LECTRÓNICOS D IGITAIS B INÁRIOS: Definição: São circuitos que funcionam baseados em apenas dois valores de amplitude. Introdução à Lógica Digital Em lógica positiva, faz-se corresponder ao nível mais elevado de tensão o valor lógico 1. Ao valor mais baixo de tensão (que pode ser 0 volts ou outra tensão qualquer) o valor lógico 0. R AZÕES PARA A SUA L ARGA U TILIZAÇÃO : Simplicidade e grande tolerância dos componentes dos CIs; Interligação fácil e versátil com outros componentes; Imunidade ao ruído. Nível Alto 1 Nível Baixo 0

6 Arquitectura de Sistemas Computacionais Introdução à Lógica Digital A PLICAÇÕES ( E LECTRÓNICA D IGITAL ): Máquinas de calcular; Instrumentos de medida; Relógios digitais; Contadores; Computadores digitais; Etc... A PLICAÇÕES ( E LECTRÓNICA A NALÓGICA ): Amplificadores de áudio Receptores de rádio Etc...

7 Sistemas de Numeração 1

8 Arquitectura de Sistemas Computacionais Sistemas de Numeração I NTRODUÇÃO A utilização de 10 algarismos diferentes – 0 até 9 – para representação usual de números; Vários países tiveram sistemas não decimais, nomeadamente para medidas de peso ou comprimento. 1 pé 12 polegadas. Sistema de base 12 (0 até 11); Usando a semana como unidade de contagem dos dias estamos a usar um sistema de base sete (0 até 6); Supondo que não existiam no sistema de base 10 os algarismos 8 e o 9 sistema com 8 algarismos diferentes sistema de base oito ou sistema octal. Quando temos que escrever diferentes números em diferentes bases a seguir ao número representamos. entre parentesis a sua base de modo a evitar ambiguidades e imprecisões. Por exemplo: 8 (10) = 10 (8) Esta igualdade sem os respectivos índices não teria qualquer significado! Nos circuitos digitais para a representação de números e execução de operações aritméticas com circuitos digitais, temos que usar um sistema de numeração que tenha simplesmente dois algarismos - 0 e 1 - sistema binário ou sistema de base 2.

9 Arquitectura de Sistemas Computacionais Sistemas de Numeração F ÓRMULA G ENÉRICA PARA D EFINIÇÃO DE UM N ÚMERO D ECIMAL: N n N n-1 N n-2... N 1 = N n.b n-1 + N n-1.b n N 1.b 0 Onde, N representa um algarismo qualquer pertencente ao valor; n é o número de algarismos pertencentes ao valor; b é a base de numeração pela qual se representa o valor.

10 Arquitectura de Sistemas Computacionais D ESCRIÇÃO D OS S ISTEMAS D E N UMERAÇÃO DECIMAL (base 10) Utiliza 10 dígitos {0,1,2,...,9} BINÁRIO (base 2) Utiliza 2 dígitos {0,1} OCTAL (base 8) Utiliza 8 dígitos {0,1,2,...,7} HEXADECIMAL (base 16) Utiliza 16 dígitos {0,1,...,9,A,B,...,F} Sistemas de Numeração

11 Arquitectura de Sistemas Computacionais Sistemas de Numeração S ISTEMA D ECIMAL Baseia-se no facto de anatomicamente dispormos de 5 dedos em cada mão, torna-se necessário que a contagem envolva 10 dígitos sistema de base 10 Sistema de Base 10 {0,1,2,3,4,5,6,7,8,9} PESO A posição de cada um destes dígitos diz-nos a grandeza que representa e pode ser designada por peso. EXEMPLO (número inteiro): Unidades-7x1=7 Dezenas-6x10=60 Centenas-4x100=400 Milhares-3x1000= EXEMPLO (número inteiro): (…) = 1x x x x10 0 E se for fraccionário? As potências são de base negativa, partindo do valor 1.

12 Arquitectura de Sistemas Computacionais S ISTEMA B INÁRIO É o mais utilizado nos Circuitos Digitais (Sistemas Digitais) porque se baseia nos dois estados possíveis dos elementos neles usados, i. é., há tensão ou não. Sistema de Base 2 {0,1} Cada um dos algarismos designa-se por dígito binário ou bit (Binary Digit). PESO Cada dígito comparticipa na formação do número com um peso, determinado pela posição que ocupa no número (...32 (2 5 ), 16 (2 4 ), 8 (2 3 ), 4 (2 2 ), 2 (2 1 ), 1 (2 0 )). FORMAÇÃO DOS NÚMEROS NO SISTEMA BINÁRIO Exemplo: Valor inteiro e fraccionário: o1101 (2) = 1x2 3 +1x2 2 +0x2 1 +1x2 0 = 13 … em decimal ;) o E se for fraccionário? …procede-se da mesma forma! Atenção à base!! Sistemas de Numeração

13 Arquitectura de Sistemas Computacionais S ISTEMA O CTAL O sistema de numeração Octal é composto por oito dígitos. Sistema de Base 8 {0,1,2,3,4,5,6,7} PESO Cada dígito comparticipa na formação do número com um peso, determinado pela posição que ocupa no número ( (8 5 ), 4096 (8 4 ), 512 (8 3 ), 64 (8 2 ), 8 (8 1 ), 1 (8 0 )). Exemplo: Valor inteiro e fraccionário: o347 (8) = 3x8 2 +4x8 1 +7x8 0 = 231 o E se for fraccionário? …procede-se da mesma forma! Atenção à base!! Nota: Todos os números representados num sistema de numeração para além do decimal, INCLUEM ENTRE PARENTESIS A RESPECTIVA BASE !!! Sistemas de Numeração

14 Arquitectura de Sistemas Computacionais S ISTEMA H EXADECIMAL O sistema Hexadecimal é composto por 16 símbolos. Sistema de Base 16 {0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F} PESO Cada dígito comparticipa na formação do número com um peso, determinado pela posição que ocupa no número ( (16 4 ), 4096 (16 3 ), 256 (16 2 ), 16 (16 1 ), 1 (16 0 )). Exemplo: Valor inteiro e fraccionário: o 4FA (16) = 4x x x16 0 = 1274 o … e se for fraccionário? 4FA,AB (16) = 4x x x x x16 -2 = 1274,0664 Nota: Todos os números representados num sistema de numeração para além do decimal, INCLUEM ENTRE PARENTESIS A RESPECTIVA BASE !!! Sistemas de Numeração

15 Arquitectura de Sistemas Computacionais Sistemas de Numeração DecimalBinárioOctalHexadecimal A B C D E F T ABELA

16 Arquitectura de Sistemas Computacionais Sistemas de Numeração C ONVERSÃO DE D ECIMAL PARA B ASE b Números Inteiros: Base 2 Divisões sucessivas por 2; Exº 2672 = (2) Base 8 Divisões sucessivas por 8; Exº 315 = 473 (8) Base 16 Divisões sucessivas por 16; Exº 675 = 2A3 (16) Números Fraccionários: Base 2 Multiplicações sucessivas por 2; Exº 0,125 = 0,001 (2) Base 8 Multiplicações sucessivas por 8; Exº 0,125 = 0,1 (8) Base 16 Multiplicações sucessivas por 16; Exº 0,125 = 0,2 (16)

17 Arquitectura de Sistemas Computacionais Sistemas de Numeração C ONVERSÕES E NTRE S ISTEMAS D E N UMERAÇÃO Conversões de Números Inteiros Binário Octal Hexadecimal Decimal Divisões Consecutivas por 8 Divisões Consecutivas por 2Divisões Consecutivas por 16 D n …D 2 D 1 =D n *8 n-1 +…+D 2 *8 1 +D 1 *8 0 D n …D 2 D 1 =D n *16 n-1 +…+D 2 *16 1 +D 1 *16 0 D n …D 2 D 1 =D n *2 n-1 +…+D 2 *2 1 +D 1 *2 0

18 Arquitectura de Sistemas Computacionais Sistemas de Numeração C ONVERSÕES E NTRE S ISTEMAS D E N UMERAÇÃO Conversão da Parte Fraccionária Binário Octal Hexadecimal Decimal Produtos Consecutivos por 80,D 1 D 2 … D n =D 1 *8 -1 +D 2 *8 -2 +…+D n *8 -n Produtos Consecutivos por 2 Produtos Consecutivos por 16 0,D 1 D 2 … D n =D 1 *2 -1 +D 2 *2 -2 +…+D n *2 -n 0,D 1 D 2 … D n =D 1 * D 2 * …+D n *16 -n

19 Arquitectura de Sistemas Computacionais Sistemas de Numeração C ONVERSÕES E NTRE S ISTEMAS D E N UMERAÇÃO Binário Octal Hexadecimal Cada n.º é convertido para um binário de 4 BitsCada n.º é convertido para um binário de 3 Bits Agrupam-se os Bits em grupos de 3 Agrupam-se os Bits em grupos de 4 Passa-se por uma base intermédia (Decimal ou Binária)

20 Arquitectura de Sistemas Computacionais Sistemas de Numeração O PERAÇÕES E M B INÁRIO S OMA abSoma Transporte ou Carry (C) E XEMPLO Carry

21 Arquitectura de Sistemas Computacionais Sistemas de Numeração O PERAÇÕES E M B INÁRIO S UBTRACÇÃO abDiferençaBorrow (B) Nota: Dar exº de multiplicação em binário Borrow

22 Arquitectura de Sistemas Computacionais Sistemas de Numeração O PERAÇÕES E M O CTAL (8) (8) (8) S OMA S UBTRACÇÃO (8) (8) (8) O PERAÇÕES E M H EXADECIMAL A 3 7 (16) B (16) F D 2 (16) S OMA S UBTRACÇÃO A A 5 (16) - 6 E D (16) 3 B 8 (16)

23 Arquitectura de Sistemas Computacionais O PERAÇÕES E M O CTAL/ H EXADECIMAL M ULTIPLICAÇÃO Sistemas de Numeração 5 6 (8) x 1 4 (8) (8) A B (16) x 4 C (16) C C 4 (16)

24 Arquitectura de Sistemas Computacionais Sistemas de Numeração R EPRESENTAÇÃO D E N ÚMEROS N EGATIVOS C OMPLEMENTAÇÃO C OMPLEMENTO PARA UM O complemento para 1 do número 1001: E XEMPLO O complemento para 1 de um número N com k bits é dado pela seguinte expressão: R EGRA PRÁTICA: Trocar os 0s por 1s e vice-versa. Complemento de um número: É a diferença entre a base (B) e o número (N)

25 Arquitectura de Sistemas Computacionais C OMPLEMENTAÇÃO (cont.) C OMPLEMENTO PARA DOIS O complemento para 2 de um número N com k bits é dado pela seguinte expressão: R EGRAS PRÁTICAS Sistemas de Numeração Determinar o complemento para 1 do número e somar ao resultado o valor 1. Da direita para a esquerda do número encontrar o primeiro dígito a 1. Mantê-lo e inverter os restantes.

26 Arquitectura de Sistemas Computacionais Sistemas de Numeração R EPRESENTAÇÃO D E N ÚMEROS R ELATIVOS (2´C) Registo de 8 flip-flops onde 7 flip-flops representam a grandeza do número e o 8º representa o sinal, olhando da direita para a esquerda Se pretendermos usar um número fixo de bits (k bits), normalmente usado nas máquinas, a expressão seguinte indica-nos a gama de valores possíveis de representar, usando bit de sinal: Registo com 4 bits (casas) - 8 N 7 E XEMPLO O número 3 (10) = (2) O número –3 otém-se: 0011 (2) 1100 (2) + 1 (2) = (2)

27 Arquitectura de Sistemas Computacionais Sistemas de Numeração O PERAÇÕES C OM N ÚMEROS R ELATIVOS A DIÇÃO 1.Decidir sobre o número de casas com que vamos trabalhar. 2.Tomar módulos dos números, em binário. 3.Representar números negativos na forma de complemento para 2. 4.Usar regra da adição. 5.Analizar resultados: Se existe carry, desprezá-lo. Se o bit mais significativo, após desprezar o carry é: 0 – o resultado é positivo e o bit mais à esq. é o bit de sinal. 1 – o resultado é negativo e está na forma de complemento para 2 S UBTRACÇÃO 1.Idêntico ao ponto 1 da adição. 2.Determinar o complemento para 2 do diminuendo. 3.Adicionar o diminuidor ao diminuendo. 4.Seguir o ponto 5 da adição.

28 Arquitectura de Sistemas Computacionais Sistemas de Numeração E XERCÍCIO: a) b) c) d) R ESOLUÇÃO:

29 Arquitectura de Sistemas Computacionais a) b) c) d) a) e d) não carry b) e c) carry desprezá-lo!! 5. a) b) c) d) (2C)-3(2C) Sistemas de Numeração R ESOLUÇÃO(cont.): Complemento para 2 do valor obtido

30 Arquitectura de Sistemas Computacionais Álgebra de Boole 3

31 Arquitectura de Sistemas Computacionais Álgebra de Boole F UNDAMENTOS D A Á LGEBRA D E B OOLE PROPOSIÇÃO – É uma frase ou expressão matemática cujo conteúdo pode ser verdadeiro ou falso. Considerar as seguintes proposições: p(x) = x é PAR = {0, 2, 4, 6, 8,...} p(x) representa o conjunto dos números pares q(x) = x é MÚLTIPLO de 3 = {3, 6, 9, 12, 15,...} q(x) representa o conjunto dos números que são múltiplos de 3. Estes conjuntos pertencem a um conjunto mais geral que se designa por universo, e que será o conjunto dos números naturais. U(x) = {0, 1, 2, 3, 4,...}

32 Arquitectura de Sistemas Computacionais Álgebra de Boole Os conjuntos podem ser representados graficamente através de DIAGRAMAS DE VENN, levando-nos à obtenção de funções lógicas. III- I- II- p(x) Conjunção, Intersecção ou Produto Lógico Disjunção, Reunião ou Soma Lógica Complementação ou Negação Lógica p(x) q(x) p(x) q(x)

33 Arquitectura de Sistemas Computacionais Álgebra de Boole C ONJUNÇÃO, I NTERSECÇÃO OU P RODUTO L ÓGICO IV - II - III - Conjunto representado pela proposição: Resulta da intersecção dos conjuntos q(x) e o complementar de p(x). Conjunto representado pela proposição: Resulta da intersecção dos conjuntos p(x) e o complementar de q(x). Conjunto representado pela proposição: Resulta da intersecção dos conjuntos complementar de p(x) e complementar de q(x). p(x) q(x) I - Conjunto representado pela proposição: Resulta da intersecção dos conjuntos q(x) e p(x).

34 Arquitectura de Sistemas Computacionais Álgebra de Boole C ONJUNÇÃO, I NTERSECÇÃO OU P RODUTO L ÓGICO (cont.) Verifica-se que as intersecções possíveis entre os dois conjuntos são as seguintes: A proposição p(x) é 1 ou verdadeira (V) quando engloba os números pares e q(x) quando engloba os números múltiplos de 3. Por outro lado, os seus complementos, que negam as condições inicais, são 0 ou falsos (F). Isto permite transformar as expressões em cima na seguinte TABELA DE VERDADE: ab S = a b FFF FVF VFF VVV

35 Arquitectura de Sistemas Computacionais Álgebra de Boole abM Aberto Parado AbertoFechadoParado FechadoAbertoParado Fechado Actuado T ABELA DE V ERDADE F UNÇÃO L ÓGICA DA I NTERSECÇÃO OU P RODUTO L ÓGICO P ORTA L ÓGICA ( AND ) C ONJUNÇÃO, I NTERSECÇÃO OU P RODUTO L ÓGICO (cont.) E SQUEMA DE C ONTACTOS E LÉCTRICOS Para efeitos lógicos e simplificação da tabela faz-se a correspondência dos estados em que: Aberto; Parado 0 Fechado; Actuado 1 abM T ABELA DE V ERDADE

36 Arquitectura de Sistemas Computacionais F UNÇÃO L ÓGICA DA R EUNIÃO OU S OMA L ÓGICA Álgebra de Boole E SQUEMA DE C ONTACTOS E LÉCTRICOS D IJUNÇÃO, R EUNIÃO OU S OMA L ÓGICA abL P. Fech. L. Desl. P. Fech.P. AbertaL. Ligada P. AbertaP. Fech.L. Ligada P. Aberta L. Ligada T ABELA DE V ERDADE Para efeitos lógicos e simplificação da tabela faz-se a correspondência dos estados em que: P Fech.; L. Desl. 0 P. Aberta; L. Ligada 1 abS T ABELA DE V ERDADE P ORTA L ÓGICA ( OR )

37 Arquitectura de Sistemas Computacionais Álgebra de Boole C OMPLEMENTAÇÃO OU N EGAÇÃO L ÓGICA aS AbertoLigada FechadoDesligada T ABELA DE V ERDADE E SQUEMA DE C ONTACTOS E LÉCTRICOS F UNÇÃO L ÓGICA DA N EGAÇÃO OU I NVERSOR L ÓGICO P ORTA L ÓGICA ( NOT ) aS T ABELA DE V ERDADE Para efeitos lógicos e simplificação da tabela faz-se a correspondência dos estados em que: Aberto; Desligada 0 Fechado; Ligada 1

38 Arquitectura de Sistemas Computacionais Álgebra de Boole O UTRAS F UNÇÕES B ÁSICAS I MPORTANTES DenominaçãoTabelaFunçãoPorta Lógica NAND abS NOR abS EXOR (exclusive OR) abS EXNOR (exclusive NOR) abS

39 Arquitectura de Sistemas Computacionais Álgebra de Boole R EGRAS DE C ÁLCULO DA Á LGEBRA DE B OOLE A utilização prática da Álgebra de Boole vai permitir: Apresentar um dado circuito lógico através da sua equação ou expressão. Simplificar a expressão lógica de forma ao circuito poder ser implementado com o menor número possível de portas lógicas (ANDs, ORs, NOTs, etc...). Semelhanças da Álgebra de Boole relativamente à Álgebra Clássica: Propriedade Comutativa. Propriedade Associativa. Propriedade Distributiva. A principal diferença é que na Álgebra de Boole não é possível passar termos de um membro para o outro de uma equação.

40 Arquitectura de Sistemas Computacionais Álgebra de Boole Regras da Álgebra de Boole a estudar: R EGRAS DE C ÁLCULO DA Á LGEBRA DE B OOLE (cont.) Expressões só com constantes. Expressões com uma constante e uma variável. Dupla negação. Expressões com mais de uma variável: Propriedade Comutativa. Propriedade Associativa. Propriedade Distributiva. Princípio da dualidade ou Lei de De Morgan. Regras gerais de simplificação ou Leis de Absorção.

41 Arquitectura de Sistemas Computacionais Álgebra de Boole E XPRESSÕES S Ó C OM C ONSTANTES Constantes da Álgebra de Boole: 0 e 1 Função AND: Função OR: Função NOT:

42 Arquitectura de Sistemas Computacionais Álgebra de Boole E XPRESSÕES C OM U MA C ONSTANTE E U MA V ARIÁVEL Função AND: Função OR:

43 Arquitectura de Sistemas Computacionais Álgebra de Boole D UPLA N EGAÇÃO Propriedade Comutativa: E XPRESSÕES C OM M AIS D E U MA V ARIÁVEL Propriedade Associativa: Propriedade Distributiva: - em relação à multiplicação - em relação à Soma

44 Arquitectura de Sistemas Computacionais E XPRESSÕES C OM M AIS D E U MA V ARIÁVEL (cont.) Álgebra de Boole ou com 3 variáveis, Princípio da dualidade ou Lei de De Morgan: EXERCÍCIO: Tente fazer a demonstração das Leis de De Morgan. A demonstração poderá ser feita através: - tabela de verdade. - diagrama de Venn. - circuitos lógicos (ainda por abordar!!). - analiticamente.

45 Arquitectura de Sistemas Computacionais R EGRAS G ERAIS DA S IMPLIFICAÇÃO OU L EIS DE A BSORÇÃO Álgebra de Boole 1ª Regra: 2ª Regra: 3ª Regra: Tente Demonstrar... EXERCÍCIO: Simplifique a seguinte expressão lógica:

46 Arquitectura de Sistemas Computacionais F ORMA C ANÓNICA DE UMA F UNÇÃO B OOLEANA Álgebra de Boole A todo o produto de somas ou soma de produtos nos quais aparecem todas as variáveis em cada um dos termos que constituem a expressão, em forma directa ou complementada, da-se a desigação de FORMA CANÓNICA. São exemplos de formas canónicas as seguintes funções: As funções do tipo S 1 tomam o nome de primeira forma canónica ou MINTERMOS (Minterms) e as do tipo S 2 denominam-se de segunda forma canónica ou MAXTERMOS (Maxterms).

47 Arquitectura de Sistemas Computacionais F UNÇÃO L ÓGICA A PARTIR DA T ABELA DE V ERDADE Álgebra de Boole Sejadefinida pela tabela de verdade: abcf

48 Arquitectura de Sistemas Computacionais M APAS DE k ARNAUGH Álgebra de Boole Um Mapa de Karnaugh é uma representação gráfica de uma função. Trata-se de um diagrama feito de quadrados. Cada quadrado representa um mintermo. Um mapa para uma função lógica com n entradas é um conjunto de 2 n células, uma para cada mintermo. Mapa de duas entradas: Mapa de três entradas:

49 Arquitectura de Sistemas Computacionais M APAS DE k ARNAUGH (cont.) Álgebra de Boole Mapa de quatro entradas: Mapa de cinco entradas: * * * - Posições adjacentes. - Posições adjacentes. + - Posições adjacentes. Elementos em posições correspondentes, mas em quadros diferentes, são adjacentes.

50 Arquitectura de Sistemas Computacionais M APAS DE k ARNAUGH (APLICAÇÃO) Álgebra de Boole Nota: O conceito de Don´t care conditions será abordado mais tarde. 4 variáveis 2 4 = 16 quadriculas dcbaF Dada a seguinte função: Tabela de Verdade É prática comum envolver com um laço os 1s adjacentes; Apenas é possível efectuar agrupamentos com um nº de células igual a uma potência de 2 Uma função Booleana, expressa como soma de mintermos, especifica as condições que levam a função a ser igual a 1.

51 Arquitectura de Sistemas Computacionais R EALIZAÇÃO DE F UNÇÕES (com circuitos lógicos) Álgebra de Boole F UNÇÕES N AND E N OR COMO F UNÇÕES U NIVERSAIS FUNÇÃOPORTA NANDPORTA NOR INVERSOR AND OR I MPLEMENTAÇÃO DO XOR COM P ORTAS U NIVERSAIS, com portas NOR, com portas NAND

52 Arquitectura de Sistemas Computacionais E TAPAS PARA A S OLUÇÃO DE UM P ROBLEMA Álgebra de Boole Definição de variáveis; Obtenção da Tabela de Verdade; Determinação da função; Simplificação da função (analítica, mapas de Karnaugh, Quine-McCluskey); Conversão das funções para o uso de portas pretendidas; Desenho do diagrama lógico; Realização.

53 Arquitectura de Sistemas Computacionais Para realizar uma primeira selecção de ingresso numa determinada empresa são precisos dois ou mais dos seguintes requisitos: - Possuir título académico. - Possuir dois anos de experiência. - Ser recomendado pela direcção da empresa. Construa, com portas lógicas, um circuito que realize, automaticamente, a selecção. E XERCÍCIO Álgebra de Boole SELECÇÃO PARA INGRESSO EM EMPRESA

54 Arquitectura de Sistemas Computacionais S OLUÇÃO: Álgebra de Boole 1. Definição de variáveis: a - Possuir título académico. b - Possuir dois anos de experiência. c - Ser recomendado pela direcção da empresa. 2. Tabela de Verdade: abcF Determinação da função: 4. Simplificação da função: Conversão em NANDs: 6. Circuito lógico:

55 Arquitectura de Sistemas Computacionais Aspectos Tecnológicos 4

56 Arquitectura de Sistemas Computacionais F AMÍLIAS L ÓGICAS Aspectos Tecnológicos Escalas de integração: SSI (Small Scale Integration) – Integração em pequena escala. Envolve um número de transístores na ordem da dezena e integra entre uma e dez portas por invólucro. MSI (Medium Scale Integration) – Integração em média escala. Integra numa única pastilha de silício, circuitos digitais envolvendo entre 10 e 200 portas lógicas. LSI (Large Scale Integration) – Integração em larga escala. A este nível integram-se, numa única pastilha, sistemas digitais de grande complexidade, envolvendo muitos milhares de transístores (p.e. memórias de elevada capacidade de armazenamento, microprocessadores, etc.). VLSI (Very Large Scale Integration) – Integração em muito larga escala. Tornam-se muito comuns hoje em dia circuitos VLSI, que integram numa única pastilha estruturas de computadores envolvendo várias centenas de milhar de transístores

57 Arquitectura de Sistemas Computacionais Aspectos Tecnológicos Objecto de estudo: TTL (Transistor – Transistor Logic) CMOS (Complementary Metal Oxide Semiconductor) F AMÍLIAS L ÓGICAS (cont.) Para projectar um dispositivo digital envolvendo circuitos lógicos de uma dada família é fundamental conhecer as características dessa família, nomeadamente: Tempo de propagação (velocidade). Potência dissipada. Fan-out. Margem de ruído. Factor de mérito.

58 Arquitectura de Sistemas Computacionais Aspectos Tecnológicos C ARACTERÍSTICAS DAS F AMÍLIAS L ÓGICAS (1) TEMPO DE ATRASO DE PROPAGAÇÃO (t p ) O tempo de atraso de propagação de um sinal é a quantidade de tempo que vai desde que a ocorrência de uma mudança de estado na entrada se reflita na saída. t PHL t PLH t PHL t PLH Entrada 0V Saída 5V V OH V OL V OH V OL

59 Arquitectura de Sistemas Computacionais Aspectos Tecnológicos C ARACTERÍSTICAS DAS F AMÍLIAS L ÓGICAS (2) Qualquer circuito necessita de certa potência para poder realizar operações. A dissipação de potência por porta expressa-se em mW e é o produto da tensão de polarização (V CC ) pela corrente fornecida pela fonte de alimentação (I CC ) à porta. Este valor de corrente depende do nível lógico de saída da porta. Se o nível for ALTO temos I CCH se for BAIXO temos I CCL. A média destas correntes é que nos dá I CC. Assim P D =V CC I CC. A potência dissipada é medida por circuito ou por porta lógica. Indica qual o número máximo de entradas de portas do mesmo tipo poderão ser ligadas a uma saída, sem que se altere o seu funcionamento. Valores típicos (TTL standard (7400)): O valor do FAN-OUT é determinado pelo quociente de: POTÊNCIA DISSIPADA FAN-OUT

60 Arquitectura de Sistemas Computacionais Aspectos Tecnológicos C ARACTERÍSTICAS DAS F AMÍLIAS L ÓGICAS (3) Constitui uma margem de segurança do utilizador, para eventual ruído captado no percurso entre a saída da porta excitadora (driver) e a entrada da porta excitada (carga). Nível Lógico 1 Margem de Ruído Zona Ambígua Margem de Ruído Nível Lógico 0 Margens de Ruído em TTL MARGEM DE RUÍDO E NÍVEIS LÓGICOS Nível Lógico 1 Margem de Ruído Zona Ambígua Margem de Ruído Nível Lógico 0 Margens de Ruído em CMOS

61 Arquitectura de Sistemas Computacionais Aspectos Tecnológicos C ARACTERÍSTICAS DAS F AMÍLIAS L ÓGICAS (4) MARGEM DE RUÍDO E NÍVEIS LÓGICOS Os parâmetros especificados pelos fabricantes nos data sheets são definidos da seguinte forma: V OHmin Tensão de saída mínima no estado HIGH; V IHmin Tensão de entrada mínima de modo a ser reconhecida como um estado HIGH; V ILmáx Tensão de entrada máxima de modo a ser reconhecida como um estado LOW; V OLmáx Tensão de saída máxima no estado LOW; Níveis típicos para TTL: V OHmin – 2,4/2,7 V V IHmin – 2 V V ILmáx – 0,8 V V OLmáx – 0,4/0,5 V Níveis típicos para CMOS: V OHmin – 4,9 V V IHmin – 70% de V cc V ILmáx – 30% de V cc V OLmáx – 0,1 V

62 Arquitectura de Sistemas Computacionais Aspectos Tecnológicos C ARACTERÍSTICAS DAS F AMÍLIAS L ÓGICAS (5) MARGEM DE RUÍDO E NÍVEIS LÓGICOS Para além da tensão aplicada à entrada dos circuitos lógicos (TTL ou CMOS), a entrada consome também uma pequena corrente. Então a quantidade máxima de corrente que pode fluir é também especificada pelos fabricantes nos data sheets e é designada por: I IHmáx Corrente máxima que flui para a entrada no estado HIGH; I ILmáx Corrente máxima que flui para a entrada no estado LOW; I OLmáx Corrente máxima que uma saída pode absorver (sinking current) no estado LOW de modo a manter a tensão de saída não superior a V OLmáx ; I OHmáx Corrente máxima que uma saída pode fornecer (sourcing current) no estado HIGH de modo a manter a tensão de saída acima de V OHmin ; FACTOR DE MÉRITO Duas das características mais importantes das famílias lógicas são a velocidade e o consumo. Assim o factor de mérito de um produto é dado pela relação: Desta forma quanto menor fôr o valor obtido, tanto melhor é o produto!

63 Arquitectura de Sistemas Computacionais Aspectos Tecnológicos F AMÍLIA TTL ( T RANSISTOR T RANSISTOR LOGIC) Principais características: Imunidade ao Ruído; Menor consumo de potência a altas frequências. Surgem no mercado duas versões identificadas pelo sufixo, 54 – militar (-55ºC e +125ºC) e 74 – comercial (0ºC e +70ºC). Este é seguido por uma ou mais letras que identificam a subfamília e 2, 3 ou 4 dígitos que indicam as portas ou a função do integrado. 74 ALS xx Comercial Advanced Low Power Schottky Tipo de Porta 74/54 FAM xx, onde FAM se refere à mnemónica da subfamília a que pertencem Exemplo: Os circuitos integrados (CIs) 74AS00, 74ALS00, 74F00, 74H00, 7400 são todos constituídos por 4 portas NAND de 2 entradas cada.

64 Arquitectura de Sistemas Computacionais Aspectos Tecnológicos C ARACTERÍSTICAS DA P ERFORMANCE DA F AMÍLIA TTL (1) F AMÍLIA TTL (primórdios) Série TTL Standard 74/54xx; Série TTL 74/54Hxx (H-High Speed); Série TTL 74/54Lxx (L-Low Power); Com o aparecimento do transistor Schottky as séries da família TTL 74xx, 74Hxx e 74Lxx tornaram-se obsoletas. Cronologicamente: -74S (S-Schottky) – Maior velocidade no entanto têm um maior consumo de potência; -74LS (LS-Low Power Schottky) – Mesma velocidade que versões anteriores, no entanto têm um consumo de potência 5 vezes inferior; -74AS (ALS-Advanced Schottky) – Dobro da velocidade que 74S para o mesmo consumo de potência. F AMÍLIA TTL Schottky

65 Arquitectura de Sistemas Computacionais Aspectos Tecnológicos FAMÍLIA TTL Tempo de Propag. (ns) Potência por porta (mW) Factor de mérito S: Schottky – 74Sxx LS: Low Power Schottky – 74LSxx 9218 AS: Advanced Schottky – 74ASxx 1,7813,6 ALS: Advanced Low Power Schottky – 74ALSxx 41,24,8 F: Fast – 74Fxx 3412 C ARACTERÍSTICAS DA P ERFORMANCE DA F AMÍLIA TTL (2) Cronologicamente: -74ALS (ALS-Advanced Low Power Schottky) – Velocidade superior à 74LS e baixo consumo de potência; -74F (F-Fast TTL) – Posiciona-se entre as séries 74AS e 74ALS. Tem a vantagem de possuir um bom factor de mérito (relação velocidade/consumo de potência). F AMÍLIA TTL Schottky (cont.)

66 Arquitectura de Sistemas Computacionais Aspectos Tecnológicos S AÍDAS TTL EM O PEN C OLLECTOR NAND com saídas em Open Collector O método para se realizar um AND entre várias saídas em Open Collector consiste em ligar todas as saídas umas às outras e colocar uma resistência de pull up ligada a essa saída. Este tipo de ligação é designado por wired AND. Quando todas as saídas estiverem a 1 o ponto de ligação estará a 1. Wired AND

67 Arquitectura de Sistemas Computacionais Aspectos Tecnológicos F AMÍLIA CMOS ( C OMPLEMENTARY M ETAL O XIDE S EMICONDUCTOR) Principais características: Maior facilidade de construção; Ocupação de espaço, reduzida; Consumo baixo de potência; Imunidade ao ruído. S ÉRIES CMOS CMOS Série 4000; 74C (C – CMOS); 74 HC (High Speed CMOS); 74 HCT (High Speed CMOS – TTL compatible); 74 VHC (Very High Speed CMOS); 74 VHCT (Very High Speed CMOS – TTL compatible) 74 FCT (Fast CMOS – TTL compatible) 74 FCT-T (Fast CMOS – TTL compatible with TTL V OH )

68 Arquitectura de Sistemas Computacionais Aspectos Tecnológicos F AMÍLIA CMOS (cont.) CMOS 4000A/4000B Foi introduzida no mercado na década de 60; A corrente de saída não é a mesma para todos os circuitos; Os tempos de propagação dependem da capacidade de carga; A série 4000B está preparada para fornecer maior corrente de saída; Hoje ainda existem funções nesta série que não dispõem de equivalentes nas mais recentes; Dissipação reduzida de potência sendo no entanto bastante lentas. 74C É uma série compatível pino a pino e função a função com os circuitos TTL, desde que disponham dos mesmos números de marcação. Desta forma torna-se possível substituir os circuitos TTL por equivalentes CMOS; As saídas destes circuitos são bufferizadas.

69 Arquitectura de Sistemas Computacionais Aspectos Tecnológicos F AMÍLIA CMOS (cont.) 74HC (High Speed CMOS) Permitem uma gama de alimentação entre os 2 (menor consumo de potência) e 6V (maior velocidade de comutação); Compatíveis com os circuitos TTL 74LS, mas não na totalidade; Bem adaptadas em sistemas que usem exclusivamente circuitos CMOS. 74HCT (High Speed CMOS–TTL Compatible) Elevada velocidade de comutação; Menor consumo de portência e total compatibilidade de níveis com circuitos TTL; Uma única saída poder alimentar, pelo menos, 10 cargas TTL LS. 74VHC e 74VHCT (Very High Speed CMOS e TTL Compatible) Duas vezes mais rápidas que a versão predecessora, a série HC e HCT; Mantém a compatibilidade com todas as séries anteriores da mesma família; Uma em relação à outra diferem unicamente nos níveis de entrada que reconhecem, sendo as suas características de saída iguais;

70 Arquitectura de Sistemas Computacionais Permitem uma gama de alimentação entre os 2 e os 5,5V; Com estes circuitos já se conseguem obter tempos de propagação na ordem dos 3ns, comparável aos tempos da série TTL 74 ALS. Aspectos Tecnológicos F AMÍLIA CMOS (cont.) 74VHC e 74VHCT (Very High Speed CMOS e TTL Compatible) (cont.) Surgiram no início dos anos 90; Permitem igualar e mesmo exceder a velocidade e capacidade de servir de driver relativamente às melhores séries TTL, reduzindo o consumo de potência e mantendo compatibilidade. Aplicadas principalmente na implementação de buses e outros circuitos com pesadas cargas, pois pode fornecer (sourcing) ou absorver (sinking) acima dos 64mA no estado LOW. 74FCT e 74FCT-T (Fast CMOS TTL Compatible e Fast CMOS-TTL Compatible With TTL V OHmáx )

71 Arquitectura de Sistemas Computacionais Aspectos Tecnológicos L IGAÇÕES ENTRE F AMÍLIAS L ÓGICAS CMOSTTL Parâmetro4000B74HC74HCT7474LS74AS74ALS V IH(min) (V) 3,5 2,0 V IL(máx) (V) 1,51,00,8 V OH(min) (V) 4,954,9 2,4 2,7 V OL(máx) (V) 0,050,1 0,40,5 0,4 I IH(máx) ( A) I IL(máx) ( A) I OH(máx) (mA) 0,444 2 I OL(máx) (mA) 0, Valores típicos de entrada e saída para as famílias TTL e CMOS (casos extremos de Funcionamento).

72 Arquitectura de Sistemas Computacionais L IGAÇÃO CMOS – TTL Aspectos Tecnológicos No estado alto, este tipo de ligação não necessita de qualquer cuidado, pois podemos verificar que, segundo os valores típicos de tensão de saída do CMOS (V OH ), satisfaz os níveis de tensão típicos requeridos pela entrada TTL no estado alto V IH. Verifica-se também que a família CMOS fornece uma corrente I OH superior ao valor exigido I IH pela entrada TTL. Exemplo de ligação

73 Arquitectura de Sistemas Computacionais L IGAÇÃO CMOS – TTL (cont.) Aspectos Tecnológicos No estado baixo os circuitos TTL exigem uma entrada relativamente alta que varia de 100 A a 2mA. Assim, e porque as séries CMOS HC e HCT podem fornecer 4mA, podem facilmente servir de driver a qualquer série TTL. No entanto, os circuitos da série 4000B não podem servir de driver a uma única entrada de qualquer circuito das séries 74 e 74AS. Neste caso teríamos que optar por recorrer a um buffer. O buffer pode ser outro CMOS, tal como o 74HC ou o 74HCT.

74 Arquitectura de Sistemas Computacionais L IGAÇÃO CMOS – TTL (cont.) Aspectos Tecnológicos Outro problema que surge, é quando o circuito CMOS é alimentado com uma tensão U DD =15V e é necessário ligá-lo a um circuito TTL. Neste caso usamos um circuito deslocador de nível (4050B), que converte a tensão elevada para os 5V necessários aos circuitos TTL.

75 Arquitectura de Sistemas Computacionais L IGAÇÃO TTL – CMOS Aspectos Tecnológicos No que diz respeito à tensão, todos os circuitos da série TTL fornecem uma tensão V OHmin demasiado baixa face ao valor V IHmin exigido pelas entradas dos circuitos CMOS. Neste caso é necessário elevar os níveis TTL para poderem ser aceites pelos circuitos CMOS, como também é necessária a utilização de uma resistência de pull-up. O valor dessa resistência de pull-up deverá ser tal que:

76 Arquitectura de Sistemas Computacionais Circuitos Combinacionais 5

77 Arquitectura de Sistemas Computacionais Circuitos Combinacionais C ÓDIGOS (1) Definição: Código pode-se definir como o conjunto de n-bits de combinações diferentes em que cada uma delas representa um determinado valor ou qualquer outra coisa. A uma combinação em particular é atribuído o nome de palavra de código. Numa palavra de código pode não existir uma relação aritmética entre os vários bits ou o que representam; Um código que utilize combinações de n-bits não necessita de obrigatoriamente utilizar 2 n palavras de código válidas

78 Arquitectura de Sistemas Computacionais Códigos a estudar: Numéricos: BCD; BCDXS3; 1 out of n; GRAY; JOHNSON; BCO; BCH; Alfanuméricos: ASCII; EBCDIC; Circuitos Combinacionais C ÓDIGOS (2)

79 Arquitectura de Sistemas Computacionais DECIMALBCD BCD XS-3Biquinário1 out of Palavras de Código não usadas ……………… C ÓDIGOS B INÁRIOS PARA R EPRESENTAR V ALORES D ECIMAIS Circuitos Combinacionais No mínimo são necessários 4 bits para representar os dez dígitos decimais. Existindo no entanto imensas formas de o realizar. As mais comuns apresentam-se a seguir na tabela:

80 Arquitectura de Sistemas Computacionais C ÓDIGO BCD OU D ECIMAL C ODIFICADO EM B INÁRIO (1) BCD é a sigla do nome do código escrita em inglês: Binary Coded Decimal. BCD Natural, NBCD ou BCD8421 Codifica os digitos de 0 até 9 pelas suas representações binárias de 4 bits, 0000 (2) até 1001 (2). No entanto as combinações 1010 (2) até 1111 (2) não são usadas; É um código pesado: cada dígito decimal é obtido através da palavra de código bastando atribuir a cada dígito bináio o seu respectivo peso, i.é, a sequência normal de potências de base 2: BCD não Natural Os pesos dos diferentes bits já não tem a mesma sequência das potências de base 2. Estes códigos são usualmente utilizados para facilitar operações que utilizem complemento. Códigos AUTOCOMPLEMENTARES Códigos BCD não Naturais têm a particularidade de permitirem determinar facilmente o complemento a 9 dos dígitos decimais, bastando para tal inverter os bits que os compõem. Circuitos Combinacionais

81 Arquitectura de Sistemas Computacionais Códigos AUTOCOMPLEMENTARES (cont.) Por exemplo, complemento a 9 do valor 4 (0100) é 9 – 4 = 5 (1011). Exemplos de Códigos BCD de Quatro Bits Ponderados: 2421* * *5211* (NBCD) BCD Excesso 3 (XS3) É obtido a partir do BCD somando 3 a cada dígito. Assim em vez de começar por 0=0000, começa por 0=0011; Trata-se também de um código AUTOCOMPLEMENTAR. C ÓDIGO BCD OU D ECIMAL C ODIFICADO EM B INÁRIO (2) Circuitos Combinacionais

82 Arquitectura de Sistemas Computacionais 1 out of 10 É o método de codificação mais esparso para dígitos decimais; Das 1024 combinações possíveis só utiliza 10; Circuitos Combinacionais C ÓDIGO BCD OU D ECIMAL C ODIFICADO EM B INÁRIO (3) Biquinário Os códigos decimais podem ter mais de 4 bits, é o caso do biquinário; Os dois primeiros bits indicam se o valor se encontra entre 0 – 4 ou 5 – 9. Os últimos indicam o seu valor; Detecção de erros e apresentada como uma das principais vantagens; São só utilizadas 10 da 128 combinações possíveis.

83 Arquitectura de Sistemas Computacionais Circuitos Combinacionais C ÓDIGO GRAY (CÓDIGO REFLECTIDO) (1)

84 Arquitectura de Sistemas Computacionais Circuitos Combinacionais Métodos de Construção do Código GRAY: Método 1: O código Gray para 1-bit tem unicamente duas palavras de código: 0 e 1; As primeiras 2 n palavras de código de um código Gray de (n+1)-bit são iguais às do código Gray de n-bit escritas da mesma forma mas com um 0 à esquerda de cada palavra de código; As últimas 2n palavras de código de um código Gray de (n+1)-bit são iguais às de um código Gray de n-bit, escritas de ordem inversa e com um 1 à esquerda de cada palavra de código. C ÓDIGO GRAY (CÓDIGO REFLECTIDO) (2) Método 2: Os bits de uma palavra de código Binário de n-bits são numerados da direita para a esquerda, desde 0 até n-1; O bit i de uma palavra de código do código Gray é 0 se os bits i e i+1 da correspondente palavra binária forem iguais, caso contrário é 1. Quando i+1=n, o bit n é considerado 0;

85 Arquitectura de Sistemas Computacionais Circuitos Combinacionais C ÓDIGO GRAY (CÓDIGO REFLECTIDO) (3) BinárioGRAY Exemplo do método 2: i=0: Bit 0 (i=0) do código binário é igual a 1; Bit 1 (i=1) do código binário é igual a 0; Portanto, Bit 0 do código Gray é igual a 1. i=1: Bit 1 (i=1) do código binário é igual a 0; Bit 2 (i=2) do código binário é igual a 0; Portanto, Bit 1 do código Gray é igual a 0. i=2: Bit 2 (i=2) do código binário é igual a 0; Bit n (i=3) do código binário é igual a 0; Portanto, Bit 0 do código Gray é igual a 0. bit 0 bit 1 bit 2

86 Arquitectura de Sistemas Computacionais DECIMALGRAYXS-3 GRAY Circuitos Combinacionais C ÓDIGO GRAY (CÓDIGO REFLECTIDO) (4) Representação do sistema decimal em código Gray e Gray excesso 3

87 Arquitectura de Sistemas Computacionais C ÓDIGO JOHNSON DECIMALJOHNSON A sequência de procedimentos consiste: Iniciar tudo a zeros (0s). Convertê-los sucessivamente em 1s a partir da direita, até se ober tudo a 1s. Convertê-los sucessivamente em 0s a partir da direita até o valor possuir unicamente o dígito mais significativo a 1. Código Johnson de 4 bits Circuitos Combinacionais

88 Arquitectura de Sistemas Computacionais C ÓDIGOS BCO E BCH BCO – Binary Coded Octal BCH – Binary Coded Hexadecimal DECIMALBCOBCH Circuitos Combinacionais

89 Arquitectura de Sistemas Computacionais C ÓDIGOS ASCII E EBCDIC ASCII – American Standard Code for Information Interchange EBCDIC – Extended Binary Coded Decimal Interchange Code Caracteres Válidos ASCIIEBCDIC Caracteres Válidos ASCIIEBCDIC Caracteres Válidos ASCIIEBCDIC 030 F0|7C4F%256C... &2650>3E6E 939 F9!215A?3F6F A41 C1$245B:3A7A... *2A5C#237B Z5A Blank20 40;3B5E277D.2E 4B_2D60=3D7E (28 4D/EF61227F +2B 4E,2C6B<3C4C Circuitos Combinacionais

90 Arquitectura de Sistemas Computacionais C ORRECÇÃO DE E RROS A TRAVÉS DE B ITS DE P ARIDADE (1) Um erro num sistema digital consiste na corrupção do valor correcto de uma dada informação para qualquer outro valor. É normalmente causado por uma falha física (temporária ou permanente). Uma das formas de realizar a detecção desses erros é através do método das paridades. Na Paridade Longitudinal o acréscimo de um 1 ou um 0 é feita na horizontal para todos os bits da mesma linha Na Paridade Transversal o acréscimo de um 1 ou 0 é feita na vertical para todos os bits da mesma coluna. Método das Paridades LongitudinaisTransversais A Paridade pode ser Par ou Ímpar: Na Paridade Par o bit de paridade será 1 ou 0 de forma que o número de bits 1 seja par. Na Paridade Ímpar o bit de paridade será 1 ou 0 de forma que o número de bits 1 seja ímpar. Circuitos Combinacionais

91 Arquitectura de Sistemas Computacionais C ORRECÇÃO DE E RROS A TRAVÉS DE B ITS DE P ARIDADE (2) Circuitos Combinacionais Algumas características... Para se construir um detector de erros de um bit, em geral são necessários (n+1)- bit para palavras de código de 2 n -bit. Os n-bit constituem a palavra de código eqnuanto que o bit n+1 representa o bit de paridade (par ou ímpar); A detecção de erros para este tipo de códigos (longitudinal OU transversal – não ambos) só é praticável para erros de 1 bit.

92 Arquitectura de Sistemas Computacionais E XEMPLO: Suponhamos um número decimal, p. e , que vai ser processado ou transmitido. Antes do processo se iniciar o sistema atribui-lhe uma paridade que vai verificar no final do processo. Dígito Decimal Código (NBCD) Paridade Ímpar Paridade Ímpar Circuitos Combinacionais C ORRECÇÃO DE E RROS A TRAVÉS DE B ITS DE P ARIDADE (3)

93 Arquitectura de Sistemas Computacionais C IRCUITOS C OMBINATÓRIOS (1) São constituídos por uma combinação de gates AND, OR, NOT, NAND, NOR e XOR onde as suas saídas só dependem do valor das entradas e se estas deixarem de estar presentes a saída muda imediatamente. Os circuitos combinatórios que vamos estudar são: - Geradores de bit de paridade; - Comparadores; - Conversores de código; - Adicionadores/Subtractores; - Codificadores/Descodificadores; - Multiplexers/Demultiplexers. Circuitos Combinacionais

94 Arquitectura de Sistemas Computacionais C IRCUITOS C OMBINATÓRIOS (2) Circuitos Combinacionais Circuito Gerador de Bit de Paridade ab S = a b Exclusive-OR CI 74x86 Uma porta XOR (OU-exclusivo) é uma porta com duas entradas cuja saída é 1 se uma das entradas for 1, i. é, uma porta XOR produz um 1 na saída se o número de 1s na entrada for ímpar ( PARIDADE PAR ). Caso se trate de uma porta XNOR (NÃO OU-exclusivo) o resultado é o inverso, i. é, produz um 1 na saída quando o número de 1s na entrada for par ( PARIDADE ÍMPAR ).

95 Arquitectura de Sistemas Computacionais C IRCUITOS C OMBINATÓRIOS (3) Circuitos Combinacionais Circuito Gerador de Bit de Paridade (cont.) Implementando n portas XOR em cascata, obtém-se um circuito com n+1 entradas e uma saída, originando um circuito de paridade ímpar. Ao invertermos essa saída, resulta um circuito de paridade par (ver figura): Outra forma de implementar este tipo de circuito, de modo a que seja mais rápido, é em ÁRVORE. Gerador Bit Paridade CI 74x280

96 Arquitectura de Sistemas Computacionais C IRCUITOS C OMBINATÓRIOS (4) Circuitos Combinacionais Circuito Gerador de Bit de Paridade (cont.) Suponhamos que trasmitimos em paralelo ao longo de uma linha e que pretendemos usar um bit de paridade para detecção de erros. Caso Prático Simplificado: Gerador Detector

97 Arquitectura de Sistemas Computacionais Circuito Comparador Circuito Comparador de 2 bits, a 0 e b 0 : Circuito Comparador de 2 números digitais de 4 bits, A = a 0 a 1 a 2 a 3 e B = b 0 b 1 b 2 b 3 : Circuitos Combinacionais C IRCUITOS C OMBINATÓRIOS (5) Comparador 4-Bit CI 74x85

98 Arquitectura de Sistemas Computacionais Circuitos Combinacionais Circuito Comparador Iterativo C IRCUITOS C OMBINATÓRIOS (6) Dois valores de n-bit podem ser comparados de forma iterativa. Para tal tem que se ter em conta o bit resultante da comparação anterior (figura circuito para n-bit). Para implementar este tipo de circuitos, basta juntar n módulos de comparação de um único bit (figura módulo para um bit).

99 Arquitectura de Sistemas Computacionais Circuitos Combinacionais Meio-Somador e Somador Completo C IRCUITOS C OMBINATÓRIOS (7) O somador mais simples, designado por MEIO SOMADOR (1/2 Somador – Half Adder), soma dois operandos de 1 bit, resultando um valor de 2 bits (pois o resultado varia entre 0 e 2). abSC out Da tabela resulta: Diagrama Lógico: Símbolo Lógico:

100 Arquitectura de Sistemas Computacionais Circuitos Combinacionais Meio-Somador e Somador Completo (cont.) C IRCUITOS C OMBINATÓRIOS (8) Para somar operandos com mais de um bit, temos que produzir carries entre as posições dos vários bits, i. é, entre cada posição de um bit. O bloco que realiza esta operação designa-se por SOMADOR COMPLETO (Full Adder). abc in SC out Da tabela resulta: Diagrama Lógico: Símbolo Lógico:

101 Arquitectura de Sistemas Computacionais Circuitos Combinacionais Somadores de Ripple (Ripple Adders) C IRCUITOS C OMBINATÓRIOS (9) Duas palavras binárias, cada uma com n-bits, podem ser adicionadas usando um somador para n-bits. Este é constituído por n full adders ligados em cascata, onde cada um suporta uma soma de um bit. Este tipo de somadores designam-se por somadores de ripple ou ripple adders.

102 Arquitectura de Sistemas Computacionais C ONVERSORES (1) Estes circuitos têm por objectivo converter códigos. Desta forma o circuito que realiza esta conversão é designado de Conversor. Código de origemEntradas Código de destinoSaídas Mapas de Karnaugh Expressões mínimas Diagrama Lógico Conversor Procedimento para realização de um CONVERSOR Circuitos Combinacionais

103 Arquitectura de Sistemas Computacionais C ONVERSORES (2) Projectar um conversor de código XS-3 (Excess-3) para o código NBCD 1. Representação do Código de Origem e Destino na Tabela de Verdade EntradasSaídas BCD XS-3NBCD8421 DECIMALI 3 I 2 I 1 I 0 D C B A Dos mapas de Karnaugh obtêm-se as expressões: Circuitos Combinacionais Exemplo

104 Arquitectura de Sistemas Computacionais 3. Implementação do Diagrama Lógico Circuitos Combinacionais C ONVERSORES (3) Exemplo (cont.)

105 Arquitectura de Sistemas Computacionais D ESCODIFICADORES (1) As quantidades discretas de informação podem ser representadas em sistemas digitais através de códigos binários. Um código binário de n bits é capaz de representar até 2 n elementos diferentes de uma informação codificada, i. é, cada palavra de código na entrada produz uma palavra de código diferente na saída. Um descodificador é um Circuito Combinatório que converte informação binária desde n linhas de entrada para um máximo de 2 n linhas de saída. Estrutura de um descodificador: DESCODIFICADOR n Palavra de código de entrada p Entradas de Enable m Palavra de código de saída Descodificador de n para m linhas (objecto de estudo) onde: Circuitos Combinacionais

106 Arquitectura de Sistemas Computacionais D ESCODIFICADORES (2) Circuitos Combinacionais Características gerais: O código de entrada mais frequentemente usado é o código binário de n-bits, os quais representam 2 n códigos diferentes, normalmente inteiros desde 0 até 2 n -1; O código de saída mais frequente é o 1-out-of-n, que contém n-bits, onde simplesmente se encontra activo um bit de cada vez. Descodificadores Binários: Trata-se do descodificador mais usual possuindo na sua entrada palavras de código de n-bits e na saída palavras de código do tipo 1-out-of-2 n bits. EntradasSaídas ENI1I1 I2I2 Y3Y3 Y2Y2 Y1Y1 Y0Y0 0xx Descodificador de 2 para 4 (lógica positiva)

107 Arquitectura de Sistemas Computacionais D ESCODIFICADORES (3) Descodificadores Binários: (cont.) Circuitos Combinacionais Símbolo Lógico (lógica negativa) Descodificador duplo de 2 para 4 CI 74x139 Diagrama Lógico (lógica positiva)

108 Arquitectura de Sistemas Computacionais EntradasSaídas ENABCYoYo Y1Y1 Y2Y2 Y3Y3 Y4Y4 Y5Y5 Y6Y6 Y7Y7 1xxx Tabela de Verdade do descodificador binário–octal (lógica negativa) Circuitos Combinacionais D ESCODIFICADORES (4) Exemplo: Implementação de um descodificador BINÁRIO - OCTAL Descodificador 3 para 8 CI 74x138

109 Arquitectura de Sistemas Computacionais Circuito Lógico do descodificador binário – octal (lógica negativa) Circuitos Combinacionais D ESCODIFICADORES (5)

110 Arquitectura de Sistemas Computacionais T IPOS DE C IRCUITOS D ESCODIFICADORES D ISPONÍVEIS NO M ERCADO Descodificador de BCD/7Segmentos (com drivers): - 74x46/47/48/49. Descodificador BCD/Decimal: - 74x42/45/145. Descodificador 4/10 linhas: - 74x43/44. Descodificador 4/16 linhas: - 74x154. Descodificador 3/8 linhas: - 74x138. Descodificador 2x 2/4 linhas: - 74x139. Circuitos Combinacionais D ESCODIFICADORES (6)

111 Arquitectura de Sistemas Computacionais D ESCODIFICADORES L IGADOS EM C ASCATA (exemplo) Circuitos Combinacionais D ESCODIFICADORES (7)

112 Arquitectura de Sistemas Computacionais A PLICAÇÃO EM C IRCUITOS C OMBINACIONAIS (exemplo) Implementar, com um descodificador 74x138, o circuito correspondente à função: Implementação – Diagrama Lógico Circuitos Combinacionais D ESCODIFICADORES (8)

113 Arquitectura de Sistemas Computacionais C ODIFICADORES (1) Um codificador é um Circuito Lógico Combinacional que é construido para gerar um código de saída binário para n entradas diferentes de caracteres ou grupos de caractres. O número de bits m necessários na saída do codificador tem que satisfazer a seguinte relação: EXEMPLO: Implementação de um codificador OCTAL - BINÁRIO (lógica positiva) Circuitos Combinacionais Entradas IoIo I1I1 I2I2 I3I3 I4I4 I5I5 I6I6 I7I7 Y2Y2 Y1Y1 Y0Y Tabela de Verdade do codificador octal-binário

114 Arquitectura de Sistemas Computacionais Diagrama Lógico do codificador octal-binário Circuitos Combinacionais C ODIFICADORES (2) EXEMPLO: Implementação de um codificador OCTAL – BINÁRIO (cont.) Equações Lógicas Em geral um codificador de 2 n entradas para n saídas pode ser implementado com portas lógicas OR de 2 n-1 entradas.

115 Arquitectura de Sistemas Computacionais C ODIFICADORES (3) - C ODIFICADOR DE P RIORIDADE EXEMPLO: Codificador de Prioridade de 4 bits (lógica positiva) x x Circuitos Combinacionais EntradasSaídas EN I0I0 I1I1 I2I2 I3I3 BA IDLE 0xxxx x xx xxx1111 Tabela de Verdade

116 Arquitectura de Sistemas Computacionais Diagrama Lógico C ODIFICADORES (3) - C ODIFICADOR DE P RIORIDADE EXEMPLO: Codificador de Prioridade de 4 bits (lógica positiva) Circuitos Combinacionais Codificador Prioridade de 8-entradas CI 74x148

117 Arquitectura de Sistemas Computacionais M ULTIPLEXERS A Multiplexagem consiste em transmitir um grande número de unidades de informação através de um pequeno número de linhas ou canais de transmissão. Um multiplexer digital é um circuito combinatório que selecciona a informação binária de uma das várias linhas de entrada e direcciona-as para uma única linha de saída. A selecção de uma determinada linha é efectuada através de um conjunto de linhas de selecção ou de endereço. Entradas e Saídas do mux. Esquema Funcional do mux. Estrutura de um Multiplexer (mux.) Circuitos Combinacionais

118 Arquitectura de Sistemas Computacionais M ULTIPLEXERS (Implementação) SSaídas 0Y = D 0 1Y = D 1 Tabela de Verdade Nota: Implemente um circuito multiplexer de 4 para 1 (mux 4:1) Circuitos Combinacionais

119 Arquitectura de Sistemas Computacionais A PLICAÇÕES DOS M ULTIPLEXERS Os multiplexers apresentam diversas aplicações entre as quais se destacam: - Geradores de funções. - Conversão paralelo-série. - Geradores de formas de onda. - Direccionamento de dados. G ERADORES DE F UNÇÕES Os multiplexers podem ser usados para implementar funções lógicas directamente da tabela de verdade sem recorrer a simplificações. Quando usado com esta finalidade, às entradas de selecção são aplicadas as variáveis lógicas do circuito e cada uma das entradas é ligada permanentemente a 0 ou 1. Circuitos Combinacionais

120 Arquitectura de Sistemas Computacionais M ULTIPLEXER COMO G ERADOR DE F UNÇÕES (exemplo) Tabela de Verdade: abcF Circuitos Combinacionais

121 Arquitectura de Sistemas Computacionais M ULTIPLEXER COMO G ERADOR DE F UNÇÕES (exercícios) 1. Implementar a função utilizando: a)Um multiplexer de 8:1 onde as variáveis de endereço são D e C. b)Um multiplexer de 16:1. 2. Implementar a função utilizando: a)Um multiplexer de 8:1 onde as variáveis de endereço são C, B e A. b)Um multiplexer de 4:1 onde as variáveis de endereço são C e D. 3. Implementar a função utilizando: a)Um multiplexer de 4:1 onde as variáveis de endereço são C e D. Circuitos Combinacionais

122 Arquitectura de Sistemas Computacionais M ULTIPLEXER COMO C ONVERSOR P ARALELO- S ÉRIE (exemplo) Circuitos Combinacionais

123 Arquitectura de Sistemas Computacionais D EMULTIPLEXER Circuitos Combinacionais

124 Arquitectura de Sistemas Computacionais D EMULTIPLEXER A TRAVÉS DE D ESCODIFICADORES Demultiplexer usando o descodificador 74LS138, onde funciona como entrada de informação. Restantes Saídas Lógica 1 Nota: O descodificador 74x154 (descodificador de 4 para 16 linhas) é também usado como demultiplexer de 1:16. Circuitos Combinacionais

125 Arquitectura de Sistemas Computacionais T RANSMISSÃO DE D ADOS Conjugando um multiplexer e um demultiplexer, podemos estabelecer a ligação através de um bus entre várias entradas e várias saídas. Isso é realizado da seguinte forma: MUX DEMUX Circuitos Combinacionais

126 Arquitectura de Sistemas Computacionais Circuitos Sequenciais 6

127 Arquitectura de Sistemas Computacionais F LIP – F LOPS LÓGICA Combinatória LÓGICA Sequencial Saídas dependem unicamente do valor instantâneo dos diversos sinais de entrada. Saída depende não só do valor instantâneo dos sinais de entrada mas também do estado prévio dos elementos lógicos que constituem o circuito. F LIP – F LOPS F LIP – F LOPS – Circuito bi-estável. Circuito memorizador ou armazenador da informação recebida. Sinal mantém-se enquanto um sinal exterior não substituir a informação armazenada. Flip - Flops a estudar: RS. RST (RS sincronizado ou clocked). D ou latch. T ou toggle. JK. JK master-slave. Circuitos Sequenciais

128 Arquitectura de Sistemas Computacionais F LIP – F LOP RS FLIP-FLOP RS –Possui duas entradas, S-Set e R-Reset, e duas saídas, Q e o seu complemento. Pode ser implementado com portas NOR ou NAND. NOR – O disparo ocorre no flanco ascendente. NAND – O disparo ocorre no flanco descendente (apresenta dois círculos na entrada). APLICAÇÃO:Circuito Contact-Bounce Eliminator, i.é, evita o efeito transitório na tensão. Flip-Flop RS com NORs e NANDSSímbolo do Flip-Flop RS Circuitos Sequenciais

129 Arquitectura de Sistemas Computacionais C ONTACT B OUNCE E LIMINATOR Circuito normalEfeito transitório da tensãoContact-Bounce Eliminator Circuitos Sequenciais

130 Arquitectura de Sistemas Computacionais F LIP – F LOP RST Este FF não é mais do que um FF RS com uma terceira entrada de clock que vai permitir ou inibir o funcionamento do FF conforme estiver ou não presente o impulso de clock. Flip-Flop RST, implementado com NANDsSímbolo do Flip-Flop RST Circuitos Sequenciais

131 Arquitectura de Sistemas Computacionais F LIP – F LOP TIPO D OU LATCH Este FF não é mais do que um FF RST onde as entradas RS estão ligadas a uma única entrada D (DATA). Esta é aplicada directamente numa das gates e inversamente na outra. Flip-Flop D Símbolo do Flip-Flop D Flip-Flop D, com Set e Clear (Reset) Circuitos Sequenciais

132 Arquitectura de Sistemas Computacionais Flip-Flop TSímbolo do Flip-Flop T F LIP – F LOP TIPO T OU TOGGLE Este FF tem só uma entrada exterior (T) sendo, as outras, realimentações das saídas de Q e o seu complemento. Por tal motivo, são necessários dois circuitos de atraso (delay) para evitar que as realimentações mudem de estado enquanto T permanecer no seu estado 1. A saída deste FF pode servir para: contar impulsos; servir como divisor (scaler) (na medida em que são necessários 2 impulsos de entrada para 1 impulso de saída (T2=2T1)); servir, também, como contador binário. Circuitos Sequenciais

133 Arquitectura de Sistemas Computacionais F LIP – F LOP JK Tal como o FF Toggle, existem realimentações das saídas Q e do seu complemento, cujas mudanças não devem interferir no funcionamento. Flip-Flop JKSímbolo do Flip-Flop JK Circuitos Sequenciais

134 Arquitectura de Sistemas Computacionais F LIP – F LOP JK master-slave Esta situação levou à concepção de um novo tipo denominado JK master-slave, cuja finalidade é introduzir um atraso entre a entrada e a saída, de forma a eliminar essa interferência. A razão do nome master-slave resulta de o segundo FF estar condicionado ao primeiro. Flip-Flop JK master-slave Circuitos Sequenciais

135 Arquitectura de Sistemas Computacionais F LIP – F LOP RS Princípio de funcionamento: 1. As duas entradas estão normalmente a zero, podendo o FF estar com as saídas num estado qualquer, i.é, estado Reset (Q=0 e ~Q=1) ou estado Set (Q=1 e ~Q=0). 2. Aplicando um sinal um à entrada Reset o FF é conduzido sempre ao estado Reset. Se ele estiver previamente nesse estado permanece nele. 3. Aplicando um sinal um à entrada Set o FF é conduzido sempre ao estado Set. Se ele estiver previamente nesse estado permanece nele. 4. Aplicando simultaneamente sinais Set e Reset nas entradas, o FF cai num estado de indeterminação. Deve ser evitada esta situação! Flip-Flop RS Circuitos Sequenciais

136 Arquitectura de Sistemas Computacionais F LIP – F LOP RS (cont.) Este princípio de funcionamento traduz-se na seguinte tabela. Tabela Simplificada do FF RS Casos Saídas Entrada s Saídas Observações Condições Iniciais Condições Finais Q~QRSQ Não muda Muda de Reset para Set Indeterminado Não muda Muda de Set para Reset Não muda Indeterminado SRQn+1 00Qn X Circuitos Sequenciais

137 Arquitectura de Sistemas Computacionais F LIP – F LOP RS (cont.) O funcionamento do FF também se pode observar pelo diagrama de impulsos: Nota: O funcionamento do FF é idêntico quando implementado com NANDs! Circuitos Sequenciais

138 Arquitectura de Sistemas Computacionais F LIP – F LOP RST As Gates C e D servem para que o Clock CK quando presente, deixe passar o sinal S ou R. As Gates A e B constituem o FF RS propriamente dito. O impulso de clock CK funciona como trinco (latch) que abre ou fecha as gates de controle, C e D. Continua a existir um estado indeterminado! O FF comporta-se de igual forma ao RS desde que haja sinal de clock. EntradasSaídas SRCkQ~Q 000Não actua Indeterminado Circuitos Sequenciais

139 Arquitectura de Sistemas Computacionais F LIP – F LOP D ou LATCH Este FF tem em relação aos anteriores a vantagem de eliminar o estado indeterminado. Isso consegue-se ligando as entradas RS a uma única entrada D (DATA). A qual é aplicada directamente numa das gates e inversamente na outra. Este FF, além da vantagem acima descrita em relação às anteriores, dá-nos oportunidade de avançar para outros processos, utilizando mais algumas alterações em relação ao esquema básico, com o objectivo de eliminar alguns inconvenientes que ainda subsistem neste tipo. ENTRADASSAÍDAS DataClockQ 00Não Muda Circuitos Sequenciais

140 Arquitectura de Sistemas Computacionais F LIP – F LOP D ou LATCH Na zona 1 aparece o que foi descrito na tabela de verdade, i.é, o nível na entrada D aparece na saída Q a partir do impulso seguinte do clock com um certo atraso B devido ao nível 1 da entrada D ter surgido antes desse impulso de clock. Funciona como um trinco (latch) que abre levando a saída Q ao nível da entrada D. Na zona 2 está representada uma situação inconveniente, i.é, durante todo o patamar em que o impulso de clock é 1 a saída pode variar desde que varie a entrada. A frequência de clock é inferior à da entrada de D. Em determinados contadores, isso exigiria criar uma situação de compromisso entre o impulso de clock e o sinal de entrada para não se dar a tal situação que ocorre na zona 2. Circuitos Sequenciais

141 Arquitectura de Sistemas Computacionais F LIP – F LOP D ou LATCH (cont.) Foi criado dentro do mesmo tipo um circuito mais complexo, para colmatar a situação anteriormente descrita, denominado de Edge Triggered D-type FF, i.é, FF tipo D disparando unicamente ou no flanco ascendente ou no descendente do impulso de clock. Funcionamento: Condições iniciais, Ck=0, D=1 e FF no estado Reset. Quando aparece um impulso de clock, a saída da gate B vai para 0, fazendo com que o FF RS constituido pelas gates E e F vá para estado Set. Se a entrada D vai para 0 durante o tempo em que o Ck ainda é 1, a saída da gate D vai para 1. Isto não causa efeito na saída do FF uma vez que a gate C está inibida pela saída da gate B. Quando o clock por seu turno for 0 a saída B vai para 1 mas C é agora inibida pela falta de clock, deixando assim a saída do FF no estado de Set, sem alteração. Circuitos Sequenciais

142 Arquitectura de Sistemas Computacionais F LIP – F LOP T ou TOGGLE Funcionamento: Inicialmente o FF está no estado Reset (Q=0 e ~Q=1). Ao aplicamos um impulso 1 à entrada T, a porta NAND A abre, dando uma saída 0. Após um certo atraso o FF é activado e passa ao estado Set. A gate B fica preparada a actuar após a recepção do próximo impulso que conduzirá à situação inicial, ou seja, Reset. Aplicação: Como foi falado anteriormente, a saída deste FF pode servir para contar impulsos ou servir como divisor (scaler), na medida em que são necessários 2 impulsos de entrada para 1 impulso de saída (T2=2T1). Pode servir também como contador binário pois a sua saída é alternadamente 0, 1, 0, 1, 0, 1,... Circuitos Sequenciais

143 Arquitectura de Sistemas Computacionais F LIP – F LOP JK Este FF é o mais utilizado em circuitos lógicos devido a ser aquele que além de não ter estado indeterminado, tem mais possibilidades de funcionamento, uma vez que tem 2 entradas (J e K) além de um clock. Para compreender o seu funcionamento básico apercebamo-nos das seguintes condições: Só funciona com impulso de clock. Se ambas as entradas forem iguais a 0, o FF não muda de estado. Se ambas as entradas forem iguais a 1 o FF funciona como o FF Toggle (muda sempre de estado). Se as entradas forem iguais às saidas, o FF não muda de estado. Se as entradas forem diferentes das saídas, o FF muda de estado complementarmente, ficando com as entradas iguais às entradas. Circuitos Sequenciais

144 Arquitectura de Sistemas Computacionais F LIP – F LOP JK Pelo esquema é fácil observar o funcionamento anteriormente descrito: 1.Quando J=0 e K=0 as portas A e B estão bloqueadas (A e B são ANDs!!). 2.Quando J=K=1, as portas A e B estão desbloqueadas, o FF funciona como Toggle e Alterna de estado consoante o clock. 3.Quando J=0 e K=1 ou vice-versa, A ou B estão bloqueadas. Funciona como o FF RS, pois as saídas dos ANDs são aplicadas directamente às entradas do FF RS. Flip-Flop JK Circuitos Sequenciais

145 Arquitectura de Sistemas Computacionais F LIP – F LOP JK master-slave Esta montagem é constituida por dois FF RS, no primeiro dos quais o clock actua directamente (flanco ascendente) e no segundo inversamente (flanco descendente). Portanto, a saída do primeiro FF (master) vai ser transmitida ao segundo FF (slave) no flanco descendente do impulso de clock, o que implica dizer haver um atraso igual à duração do clock. Este atraso elimina os efeitos da realimentação sobre a entrada, à semelhança da introdução dos delays no FF Toggle. Flip-Flop JK master-slave Circuitos Sequenciais A razão do nome master-slave resulta de o segundo FF estar condicionado ao primeiro. ENTRADASSAÍDAS JKQ n+1 00QnQn ~Q n Tabela de verdade do FF JK

146 Arquitectura de Sistemas Computacionais F LIP – F LOP JK master-slave Funcionamento do FF JK master-slave através do diagrama de sinais: Como se pode verificar existe um atraso B entre as saídas Q GH e Q CD igual à duração do impulso de clock. Circuitos Sequenciais

147 Arquitectura de Sistemas Computacionais C IRCUITOS S EQUENCIAIS Os circuitos que vão ser objecto de estudo vão ser: Contadores. Divisores de frequência (scalers). CONTADORES: Estes dispositivos têm como objectivo realizar vários tipos de contagem como: tempo (como um relógio digital), temporização ou sincronismo das operações de um sistema complexo, calculadores, computadores, etc... Tipos principais de CONTADORES: Assincronos ou de RIPPLE. Síncronos. Circuitos Sequenciais

148 Arquitectura de Sistemas Computacionais 7 Circuitos Sequenciais Assíncronos

149 Arquitectura de Sistemas Computacionais Circuitos Sequenciais Assíncronos C ONTADORES A SSÍNCRONOS Nos contadores assíncronos a saída do primeiro FF liga à entrada do segundo e assim sucessivamente. Dizem-se assíncronos porque os vários FFs não comutam em sincronismo com o clock mas sim com um atraso de um FF para o seguinte. Contador Assíncrono implementado com FF tipo T Contador Assíncrono implementado com FF tipo JK

150 Arquitectura de Sistemas Computacionais Circuitos Sequenciais Assíncronos C ONTADORES A SSÍNCRONOS Diagrama de sinais dos contadores assíncronos implementados com FF tipo T e FF tipo JK. Diagrama de sinais do contador assíncrono implementado com FF tipo T Diagrama de sinais do contador assíncrono implementado com FF tipo JK

151 Arquitectura de Sistemas Computacionais Circuitos Sequenciais Assíncronos D ESENHO DE C ONTADORES A SSÍNCRONOS O processo a seguir para implementar um contador assíncrono é o seguinte: Determinar o número de FFs a utilizar. Ligar a saída de cada FF ao clock do FF seguinte. O reset do contador será feito através das saídas que terão nível lógico 1 no módulo pretendido. Exemplo: Implementar um contador de módulo 5. Ponto 1: o número de FF a usar é igual a 3. Pois, 2 2 < 5 < FF´s. Ponto 2 e 3.

152 Arquitectura de Sistemas Computacionais Exercícios: 1.Implemente, usando FFs do tipo JK, um contador assíncrono que faça uma contagem de 0 a 3. 2.Implemente um contador, usando FFs do tipo JK, um contador assíncrono de módulo Realize os pontos 1 e 2 usando FFs do tipo T e D: Circuitos Sequenciais Assíncronos D ESENHO DE C ONTADORES A SSÍNCRONOS

153 Arquitectura de Sistemas Computacionais 8 Circuitos Sequenciais Síncronos

154 Arquitectura de Sistemas Computacionais Circuitos Sequenciais Síncronos C ONTADORES S ÍNCRONOS CONTADOR SÍNCRONO PROGRESSIVO: A análise dos contadores síncronos torna-se mais complexa que a dos assíncronos, daí se optar pelo método baseado na aplicação da tabela de verdade. Para tal procedemos da seguinte forma: As entradas J e K de cada FF podem representar-se sob a forma de uma expressão lógica. Essas expressões lógicas são normalmente função das saídas dos vários FFs.

155 Arquitectura de Sistemas Computacionais Circuitos Sequenciais Síncronos C ONTADORES S ÍNCRONOS Tabela de verdade do funcionamento do contador síncrono progressivo: SAÍDAS ENTRADAS CBA JAJA KAKA JBJB KBKB JCJC KCKC 11AAA.B Reset º clock º clock º clock º clock º clock º clock º clock º clock Método para construção da Tabela de verdade: 1.Dividir a tabela em dois grupos: Entradas e Saídas. 2.Colocar no grupo das entradas, J A, K A, J B, etc, com as respectivas expressões. 3.Nas saídas colocam-se as letras A, B, C relativas às saídas Q dos FFs.

156 Arquitectura de Sistemas Computacionais Circuitos Sequenciais Assíncronos C ONTADORES A SSÍNCRONOS Diagrama de sinais do contador Síncrono progressivo: Diagrama de sinais do contador síncrono progressivo implementado com FF tipo JK

157 Arquitectura de Sistemas Computacionais CONTADOR SÍNCRONO REGRESSIVO: Procedendo da mesma forma de análise que para o contador síncrono progressivo temos: Circuitos Sequenciais Síncronos C ONTADORES S ÍNCRONOS Contador síncrono regrassivo implementado com FF tipo JK Comecemos por escrever as expressões das várias entradas a partir do esquema:

158 Arquitectura de Sistemas Computacionais Circuitos Sequenciais Síncronos C ONTADORES S ÍNCRONOS Tabela de verdade do funcionamento do contador síncrono regressivo: SAÍDAS ENTRADAS CBA JAJA KAKA JBJB KBKB JCJC KCKC 11 Reset º clock º clock º clock º clock º clock º clock º clock º clock

159 Arquitectura de Sistemas Computacionais Circuitos Sequenciais Assíncronos C ONTADORES A SSÍNCRONOS Diagrama de sinais do contador Síncrono regressivo: Diagrama de sinais do contador síncrono regressivo implementado com FF tipo JK

160 Arquitectura de Sistemas Computacionais Circuitos Sequenciais Síncronos C ONTADORES S ÍNCRONOS CONTADOR SÍNCRONO REVERSÍVEL: Trata-se de um contador que pode contar quer no sentido ascendente quer no sentido descendente. Count DirectionJBJB KBKB JCJC KCKC 0 (crescente)AAA.B Abre I e III 1 (decrescente)Abre II e IV

161 Arquitectura de Sistemas Computacionais D ESENHO DE C ONTADORES S ÍNCRONOS Circuitos Sequenciais Síncronos O processo a seguir para implementar um contador síncrono é o seguinte: Determinar o número de FFs a utilizar; Desenhar a tabela de verdade das saídas de acordo com o código de contagem pretendido; Desenhar o mapa de Karnaugh relativamente às saídas do contador, utilizando a tabela de verdade já construída, na fase anterior, como auxiliar; Retirar as expressões para todas as saídas J e K; Implementar o circuito do contador síncrono.

162 Arquitectura de Sistemas Computacionais Exemplo : Construir um contador para o código BCD-XS3. Número de FFs a utilizar: D ESENHO DE C ONTADORES S ÍNCRONOS (cont.) Circuitos Sequenciais Síncronos O número de FF a usar é igual a 4. Pois, o código necessita de pelo menos 4 bits para representar os 10 digitos (0 – 9). Assim, 2 3 =8 < 10 < 2 4 =16 4 FF´s. Desenhar a tabela de verdade das saídas de acordo com o código de contagem pretendido. SAÍDAS Estado Actual Estado Seguinte DecimalDCBADCBA

163 Arquitectura de Sistemas Computacionais D ESENHO DE C ONTADORES S ÍNCRONOS (cont.) Circuitos Sequenciais Síncronos Desenhar o mapa de Karnaugh relativamente às saídas do contador, utilizando a tabela de verdade já construída, na fase anterior, como auxiliar Os espaços em branco, serão Dont Care Conditions (X) e correspondem aos códigos ilegítimos deste contador.

164 Arquitectura de Sistemas Computacionais D ESENHO DE C ONTADORES S ÍNCRONOS (cont.) Circuitos Sequenciais Síncronos Desenhar mapas de Karnaugh para as entradas J e K do total de FFs a utilizar. A tabela de excitação do FF JK é a seguinte: Estado do FF Estado das Entradas Condição do FF AntesDepoisJK 000XNão Mudou ou Reset 011XMudou ou Set 10X1Mudou ou Reset 11X0Não Mudou ou Set

165 Arquitectura de Sistemas Computacionais D ESENHO DE C ONTADORES S ÍNCRONOS (cont.) Circuitos Sequenciais Síncronos Desenhar mapas de Karnaugh para as entradas J e K do total de FFs a utilizar. De acordo com a tabela de excitação constroi-se nova tabela de verdade, agora com as entradas J e K. SAÍDASENTRADAS Estado Actual Estado Seguinte JDJD KDKD JCJC KCKC JBJB KBKB JAJA KAKA DCBADCBA X1XX1X XX00X1X XX01XX XX0X01X XX1X1X X00X0X1X X00X1XX X00XX01X X01XX1X X1X11X1X

166 Arquitectura de Sistemas Computacionais D ESENHO DE C ONTADORES S ÍNCRONOS (cont.) Circuitos Sequenciais Síncronos Implementação do circuito contador síncrono. Exercício: 1.Implemente, usando FFs do tipo D, T e S-R o contador síncrono atrás realizado com FFs JK.

167 Arquitectura de Sistemas Computacionais D ESENHO DE C ONTADORES S ÍNCRONOS (cont.) Circuitos Sequenciais Síncronos Tabelas de excitação para outros FFs: Estado do FF Estado das Entradas AntesDepoisSR 000X X0 Estado do FF Estado das Entradas AntesDepoisD Estado do FF Estado das Entradas AntesDepoisT Flip-Flop S-RFlip-Flop D Flip-Flop T


Carregar ppt "Arquitectura de Sistemas Computacionais Introdução à Lógica Digital 1."

Apresentações semelhantes


Anúncios Google