at2 1 circuitos logicos digitais2

22
BACHARELADO EM SISTEMAS DE INFORMAÇÃO – EaD UAB/UFSCar Arquitetura e Organização de Computadores Prof. Dr. José Hiroki Saito AT2-1 – Circuitos Lógicos Digitais Objetivo da Unidade: Fornecer ao aluno conhecimento sobre circuitos lógicos digitais e os seus componentes, que são a base para o entendimento da organização e arquiteturas de computadores, assim como o seu funcionamento interno. Conteúdo Neste documento serão abordados os seguintes assuntos: Introdução aos Sistemas Digitais Portas Lógicas Álgebra Booleana Funções Booleanas Equivalência de Circuitos Circuitos Combinatórios Circuitos Sequenciais

Upload: ticiananw2004yahoocombr

Post on 21-Jun-2015

462 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: AT2 1 Circuitos Logicos Digitais2

BACHARELADO EM SISTEMAS DE INFORMAÇÃO – EaD UAB/UFSCar

Arquitetura e Organização de Computadores Prof. Dr. José Hiroki Saito

AT2-1 – Circuitos Lógicos Digitais

Objetivo da Unidade: Fornecer ao aluno conhecimento sobre circuitos lógicos digitais e os seus componentes, que são a base para o entendimento da organização e arquiteturas de computadores, assim como o seu funcionamento interno.

Conteúdo Neste documento serão abordados os seguintes assuntos:

• Introdução aos Sistemas Digitais • Portas Lógicas • Álgebra Booleana • Funções Booleanas • Equivalência de Circuitos • Circuitos Combinatórios • Circuitos Sequenciais

Page 2: AT2 1 Circuitos Logicos Digitais2

BACHARELADO EM SISTEMAS DE INFORMAÇÃO – EaD UAB/UFSCar

Arquitetura e Organização de Computadores Prof. Dr. José Hiroki Saito

1. Introdução aos Sistemas Digitais

Iniciamos o capítulo comparando um sistema digital com um sistema analógico, uma vez que um computador é um sistema digital.

Um Sistema Digital é um sistema cujos sinais são discretos e finitos. Já em um Sistema Analógico, os sinais são contínuos e infinitos (sinais reais do mundo físico – por exemplo, som). Para um melhor entendimento, vamos considerar o exemplo de um termômetro. Um termômetro analógico é composto por um bulbo que contém um líquido geralmente mercúrio e um tubo de vidro com uma escala de temperatura. Os líquidos possuem propriedade de dilatação em volume quando há aumento de temperatura. Dessa forma, a temperatura correspondente à dilatação daquele líquido pode ser observada pela escala no tubo de vidro. Os termômetros digitais, por sua vez, utilizam componentes eletrônicos geralmente sensores denominados termoresistores que mudam a sua resistência com a mudança na temperatura. Essa resistência é medida e convertida para um valor de temperatura por um circuito eletrônico.

Basicamente, num sistema digital o sinal contínuo (analógico) é aproximado de forma a ser representado por um sinal discreto. Esse processo é denominado quantização e é ilustrado pelas Figuras 1 e 2.

Figura 1. Ilustração do Processo de Quantização. Aqui, os sinais contínuos são transformados em 3 níveis discretos 0, 1 e 2. Note que pequenas variações no sinal analógico (que podem ser causados por ruídos) são bastante insensíveis no sinal digital.

Figura 2. Ilustração do Processo de Quantização. Aqui, os sinais contínuos são transformados em 4 níveis discretos binários 00, 01, 10 e 11.

Page 3: AT2 1 Circuitos Logicos Digitais2

BACHARELADO EM SISTEMAS DE INFORMAÇÃO – EaD UAB/UFSCar

Arquitetura e Organização de Computadores Prof. Dr. José Hiroki Saito

O computador, por sua vez, é um sistema digital que trabalha com sinais digitais em

base binária (0 e 1), também denominados bits. O valor 0 pode corresponder semanticamente a ‘falso’, ‘desligado’ e ‘baixo’, enquanto 1 pode significar ‘verdadeiro’, ‘ligado’, ‘alto’.

A seguir apresentamos duas categorias de circuitos digitais usados

em sistemas digitais. Os sistemas digitais podem ser divididos em duas categoriais: sistemas combinacionais

e sistemas seqüenciais. Sistemas combinacionais são aqueles cuja saída em um determinado instante depende somente da entrada naquele instante de tempo. Em contrapartida, sistemas sequenciais são aqueles cuja saída em um determinado instante depende, não só da entrada naquele instante de tempo, mas também de entradas em instantes anteriores, ou seja, é como se esses sistemas possuíssem uma capacidade de memorização. A Figura 3 ilustra essa diferença. No exemplo de sistema combinacional da Figura 3(a), a saída z(t) é sempre inversa em relação à entrada, ou seja, quando a entrada x(t) é baixo, z(t) é alto e vice versa. No exemplo do sistema sequencial da Figura 3(b), a saída z(t) muda de valor, após a entrada x(t) variar duas vezes de valor.

(a)

(b)

Figura 3. Diferença entre Sistemas Combinacionais e Sequenciais. As funções x e z ilustram funções de entrada e saída, respectivamente para a) Sistemas Combinacionais e b) Sistemas Sequenciais. Repare que nos sistemas sequenciais a saída depende de entradas anteriores, enquanto que em sistemas combinacionais a saída depende exclusivamente da entrada atual.

Page 4: AT2 1 Circuitos Logicos Digitais2

BACHARELADO EM SISTEMAS DE INFORMAÇÃO – EaD UAB/UFSCar

Arquitetura e Organização de Computadores Prof. Dr. José Hiroki Saito

Um circuito combinatório ou combinacional é a implementação de um sistema

combinacional; e um circuito sequencial, de um sistema sequencial. O restante deste documento abordará os Circuitos Combinatórios (Seção 2) e Circuitos Sequenciais (Seção 3) que são essenciais na organização e projeto de arquiteturas de computadores. 2. Circuitos Combinatórios ou Combinacionais

Circuitos Combinatórios ou Combinacionais são implementações, ou projetos, de sistemas combinacionais e são representados por redes de portas lógicas. Uma porta lógica é um circuito simples que implementa uma operação lógica ou função de chaveamento simples, com diversas entradas (bits) e somente uma saída.

Matematicamente, uma função de chaveamento de n variáveis ( )011 ,,..., xxxf n− pode

ser definida como uma correspondência (função) biunívoca ou bijetora do conjunto {0, 1}n (que representa qualquer número binário positivo) com um conjunto {0,1}. A Figura 4 ilustra um exemplo de função de chaveamento para n = 3 para um circuito combinatório. Neste exemplo, uma entrada 000 (3 bits 0) resulta numa saída 0. A Figura 4(a) mostra um mapeamento de {0, 1}n para {0, 1}, ou seja, uma combinação de 3 bits é mapeada para o bit 0 ou para o bit 1. A Figura 4 (b) mostra um diagrama de bloco do circuito combinacional que implementa o mesmo mapeamento, ou seja, quando uma combinação x2x1x0 é apresentada na entrada do circuito, a saída z, resulta no valor correspondente da tabela apresentada que representa o mesmo mapeamento da Figura 4 (a). Exemplo: quando a entrada x2x1x0

é igual a 001, a saída z é sempre igual a 1, o que caracteriza um circuito combinatório.

No restante desta seção, apresentaremos diversas operações lógicas implementadas por portas lógicas, álgebra booleana e suas propriedades, equivalência de circuitos combinatórios, a estrutura de multiplexadores (MUX) e um circuito combinatório especial denominado somador.

(a) função de chaveamento

(b) circuito combinacional e a tabela verdade

Figura 4. Exemplo de função de chaveamento com n = 3.

Page 5: AT2 1 Circuitos Logicos Digitais2

BACHARELADO EM SISTEMAS DE INFORMAÇÃO – EaD UAB/UFSCar

Arquitetura e Organização de Computadores Prof. Dr. José Hiroki Saito

2.1. Portas Lógicas

Nesta Seção, as operações lógicas básicas são representadas por portas lógicas. Toda

porta lógica possui uma representação gráfica (símbolo) e representações de sua função de chaveamento através de uma tabela-verdade e uma expressão de chaveamento. Vale ressaltar que, nas representações abaixo, x corresponde à entrada e z, à saída.

2.1.1. Porta NOT

A porta NOT, ou NÃO, é também conhecida como porta inversora, e tem apenas uma entrada. Quando a entrada é 0, a saída é igual a 1, e vice-versa (Figura 5). Para obter a função de chaveamento, verificamos a linha da tabela-verdade em que a saída z é igual a 1. Como essa linha corresponde a x = 0, a função de chaveamento é z = x’.

x z

0 1

1 0

(a) símbolo

(b) tabela-verdade

Figura 5: Porta NOT, função de chaveamento xz ′= (lê-se “z igual a x linha”)

2.1.2. Porta AND

A porta AND, ou E, é uma porta que pode ter um número de entradas igual a dois ou mais. A saída z, da porta, é igual a 1 apenas quando todas as entradas forem iguais a 1. A Figura 6 mostra uma porta AND de duas entradas. Nota-se que a saída z é igual a um quando x1 E x2 são iguais a 1. Para obter a função de chaveamento, verificamos as linhas da tabela-verdade em que a saída z é igual a 1. Como essa linha corresponde a x1x0 = 11, a função de chaveamento é z = x1.x0.

x1 x0 z

00 0

01 0

10 0

11 1

(a) símbolo

(b) tabela verdade

Figura 6: Porta AND, função de chaveamento 01.xxz = (lê-se “z igual a x1 e x0”)

Page 6: AT2 1 Circuitos Logicos Digitais2

BACHARELADO EM SISTEMAS DE INFORMAÇÃO – EaD UAB/UFSCar

Arquitetura e Organização de Computadores Prof. Dr. José Hiroki Saito

2.1.3. Porta OR

A porta OR, ou OU, é uma porta que pode ter um número de entradas igual a dois ou mais. A saída z, da porta, é igual a 1 quando pelo menos uma das entradas for igual a 1. A Figura 7 mostra uma porta OU de duas entradas. Nota-se que a saída z é igual a um quando x1 OU x2 é igual a 1.

x1 x0 z

00 0

01 1

10 1

11 1

(a) símbolo (b) tabela verdade

Figura 7: Porta OR, função de chaveamento 01 xxz += (lê-se “z igual a x1 ou x0”)

Observa-se que o conjunto de portas NOT, AND e OR constituem um conjunto universal, ou seja, com esses três tipos de portas é possível construir qualquer circuito combinatório.

2.1.4. Porta NAND

A porta NAND, também, pode ter um número de entradas igual a dois ou mais. A sua função de chaveamento é o inverso da porta AND. A Figura 8 mostra uma porta NAND de duas entradas. Nota-se que a saída z é igual a 0 quando x1 E x2 é igual a 1.

x1 x0 z

00 1

01 1

10 1

11 0

(a) símbolo

(b) tabela verdade

Figura 8: Porta NAND, função de chaveamento ( )′= 01.xxz (lê-se “z igual a x1 e x0 linha”)

2.1.5. Porta NOR

A porta NOR, também, pode ter um número de entradas igual a dois ou mais. A sua função de chaveamento é o inverso da porta OR. A Figura 9 mostra uma porta NOR de duas entradas. Nota-se que a saída z é igual a 0 quando x1 OU x2 é igual a 1.

Page 7: AT2 1 Circuitos Logicos Digitais2

BACHARELADO EM SISTEMAS DE INFORMAÇÃO – EaD UAB/UFSCar

Arquitetura e Organização de Computadores Prof. Dr. José Hiroki Saito

x1 x0 z

00 1

01 0

10 0

11 0

(a) símbolo (b) tabela verdade

Figura 9: Porta NAND, função de chaveamento ( )′+= 01 xxz (lê-se “z igual a x1 ou x0 linha”)

Nota-se que as portas NAND por si só constituem um conjunto universal, podendo portanto construir quaisquer circuitos combinatórios usando apenas portas NAND.

O mesmo pode-se dizer das portas NOR, ou seja usando apenas portas NOR é possível construir quaisquer circuitos combinatórios.

2.1.6. Porta XOR (OU - exclusivo)

A porta XOR, conhecida como ou-exclusivo, tem duas entradas. A sua função de chaveamento é muito próxima da porta OR, com diferença de que a saída z é zero quando as duas entradas são iguais a 1. A Figura 10 mostra uma porta XOR. Nota-se que a saída z é igual a 1 quando x1 OU x2 é igual a 1, excluindo a entrada x1x0 = 11.

x1 x0 z

00 0

01 1

10 1

11 0

(a) símbolo (b) tabela verdade

Figura 10: Porta XOR, função de chaveamento 010101. xxxxxxz ⊕=′+′= (lê-se “z igual a

x1 xor x0”)

Page 8: AT2 1 Circuitos Logicos Digitais2

BACHARELADO EM SISTEMAS DE INFORMAÇÃO – EaD UAB/UFSCar

Arquitetura e Organização de Computadores Prof. Dr. José Hiroki Saito

2.1.7. Porta XNOR

A porta XNOR, conhecida como coincidência, tem duas entradas. A sua função de chaveamento é o inverso da porta XOR, e o valor de saída é igual a 1 quando as duas entradas coincidem. A Figura 11 mostra uma porta XNOR. Nota-se que a saída z é igual a 1 quando x1 e x2 é igual a 0, ou quando x1 e x0 = 1.

x1 x0 z

00 1

01 0

10 0

11 1

(a) símbolo

(b) tabela verdade

Figura 11: Porta XNOR, função de chaveamento 0101 . xxxxz +′′= (lê-se “z igual a x1 linha e

x0 linha ou x1 e x0 )

2.2. Álgebra Booleana

A descrição da álgebra booleana é feita resumidamente aqui para

permitir a construção de circuitos combinatórios usando uma rede de portas lógicas.

A álgebra booleana é um tipo de álgebra usada para modelar operações lógicas. Originalmente, ela foi definida com seus postulados e teoremas por George Boole. Um caso específico da álgebra booleana é a álgebra de chaveamento que é utilizada para descrever expressões de chaveamento. Portanto, os teoremas da álgebra booleana são válidos para a álgebra de chaveamento.

A álgebra booleana é composta por um conjunto de elementos B e operações binárias + (OR) e . (AND), aplicadas sobre os elementos de B. Vale ressaltar que AND tem precedência sobre OR. Além disso, podem ser utilizados os parênteses para “quebrar” a precedência e um operador unário denominado NOT (negação). Dessa forma a precedência completa fica nesta ordem (), NOT, AND e OR.

As principais identidades da álgebra booleana são apresentadas a seguir. Considera-se Bcba ∈ e , e a′ como sendo o operador NOT (o operador de negação pode ainda ser

representado por uma barra, como a ):

Page 9: AT2 1 Circuitos Logicos Digitais2

BACHARELADO EM SISTEMAS DE INFORMAÇÃO – EaD UAB/UFSCar

Arquitetura e Organização de Computadores Prof. Dr. José Hiroki Saito

1) Comutatividade: “A ordem dos elementos a e b em uma operação não altera o resultado final”.

abba

abba

.. =

+=+

(a) equações (b) comutatividade no circuito

Figura 12. Comutatividade 2) Distributividade

( ) ( )( )( ) ( ) ( )cabacba

cabacba

...

..

+=+

++=+

(a) equações (b) distributividade nos circuitos

Figura 13. Distributividade

3) Associatividade

( ) ( )( ) ( ) cbacbacba

cbacbacba

...... ==

++=++=++

(a) equações (b) associatividade nos circuitos

Figura 14. associatividade

Page 10: AT2 1 Circuitos Logicos Digitais2

BACHARELADO EM SISTEMAS DE INFORMAÇÃO – EaD UAB/UFSCar

Arquitetura e Organização de Computadores Prof. Dr. José Hiroki Saito

4) Lei da Idempotência: “Se os operadores forem iguais em uma operação binária ela resulta no valor do operando”.

aaa

aaa

=

=+

.

(a) equações (b) idempotência nos circuitos

Figura 15. idempotência 5) Existência de Complemento

0.

1

=′

=′+

aa

aa

(a) equações (b) complemento nos circuitos

Figura 16. Complemento

6) Constantes

1 1

0. 0

a

a

+ =

=

(a) equações (b) identidade nos circuitos

Figura 17. constantes

7) Existência de Elemento de Identidade Aditivo e Multiplicativo

aaa

aaa

==

=+=+

1..1

00

(a) equações (b) identidade nos circuitos

Figura 18. Identidade

Page 11: AT2 1 Circuitos Logicos Digitais2

BACHARELADO EM SISTEMAS DE INFORMAÇÃO – EaD UAB/UFSCar

Arquitetura e Organização de Computadores Prof. Dr. José Hiroki Saito

8) Lei da Involução

( ) aa =′′

(a) equações (b) involução no circuito

Figura 19. involução 9) Lei da Absorção

( ) abaa

abaa

=+

=+

.

.

(a) equações (b) absorção no circuito

Figura 20. absorção 10) Simplificação

( ) babaa

babaa

..

.

=+′

+=′+

(a) equações (b) simplificação de circuito

Figura 21. simplificação 11) Lei de DeMorgan

( )

( ) baba

baba

′+′=′

′′=′+

.

.

a

b

z=

za

b

(a) equações (b) Lei de DeMorgan em circuito

Figura 22. Lei de DeMorgan

Page 12: AT2 1 Circuitos Logicos Digitais2

BACHARELADO EM SISTEMAS DE INFORMAÇÃO – EaD UAB/UFSCar

Arquitetura e Organização de Computadores Prof. Dr. José Hiroki Saito

Princípio da Dualidade: “Para uma equação booleana, se intercambiarmos as operações AND e OR e os elementos de identidade 0 e 1, obteremos uma equação booleana equivalente”. Exemplo: Considere a expressão booleana aa =+ 0 . Se trocarmos OR por AND e 0 por 1, obteremos aa =1. , que corresponde à identidade 7.

Forma canônica Voltando ao circuito combinacional da Figura 4(b), que redesenhamos abaixo, Notamos que uma forma de obter a função de chaveamento é verificar as linhas da tabela-verdade em que a saída z seja igual a 1.

Figura 23. Cópia da Figura 4(b). Assim, z = 1 para x2x1x0 = 001, 010, 100 e 111. Representando cada uma dessas combinações de entrada negando a variável de entrada quando o valor é 0, temos: x’2x’1x0, x’2x1x’0, x2x’1x’0 e x2x1x0. Podemos entender cada uma das combinações como uma porta AND. Por exemplo, no caso de x’2x’1x0, podemos dizer que a saída z = 1, quando acontecem x’2 E x’1 E x0, ou seja quando a entrada x2 =0, x1 =0 e x0 = 1. Como a função de chaveamento deve representar o conjunto de todas essas quatro combinações de entrada, podemos expressar a função com OR dessas combinações de entrada, ou seja: z = x’2x’1x0 + x’2x1x’0+ x2x’1x’0 + x2x1x0.

Page 13: AT2 1 Circuitos Logicos Digitais2

BACHARELADO EM SISTEMAS DE INFORMAÇÃO – EaD UAB/UFSCar

Arquitetura e Organização de Computadores Prof. Dr. José Hiroki Saito

Essa forma de expressar uma função de chaveamento é chamada de forma canônica, pois ela é única. Cada uma das combinações de entrada é chamada de mintermo, e a função de chaveamento é obtida como uma soma de mintermos. Assim, qualquer circuito combinatório pode ser construído a partir de uma tabela-verdade, obtendo-se a sua função de chaveamento na forma canônica. Construir um circuito combinatório na sua forma canônica, implica normalmente num circuito grande, sem simplificações. Evidentemente, essa expressão da função de chaveamento pode ser simplificada usando os postulados e propriedades vistos anteriormente, como segue. 2.3. Equivalência de Circuitos

Um circuito é equivalente a outro quando eles representam a mesma função lógica. Utilizando os postulados e propriedades da álgebra booleana é possível encontrar uma função booleana simplificada equivalente1. Ou seja, se dois circuitos chegam à mesma função booleana simplificada, então são equivalentes. Além disso, se compararmos as tabelas-verdade veremos que para as mesmas entradas elas apontam para as mesmas saídas.

Por exemplo, considere os circuitos abaixo das Figuras 24 e 25. Após algumas operações de simplificação é possível verificar que a expressão de chaveamento do circuito da Figura 24 equivale ao circuito simplificado da Figura 25.

( )012012012 xxxxxxxxxz +

′+

′=

Figura 24. Exemplo de Circuito combinatório.

1 Existem ainda outras técnicas para a simplificação de circuitos baseadas nos

teoremas, como os Mapas de Karnaugh. Entretanto, essas técnicas não serão abordadas aqui.

Page 14: AT2 1 Circuitos Logicos Digitais2

BACHARELADO EM SISTEMAS DE INFORMAÇÃO – EaD UAB/UFSCar

Arquitetura e Organização de Computadores Prof. Dr. José Hiroki Saito

( )021. xxxz +=

Figura 25. Exemplo de Circuito Combinatório simplificado equivalente ao circuito da figura 24 .

2.4. Multiplexadores (MUX)

Apresentamos o multiplexador aqui pois é um circuito combinatório muito importante na construção de computadores. Um multiplexador (MUX) consiste de um módulo que implementa um seletor ou uma estrutura de seleção. Considerando um caso de duas entradas de dados binários (x1, x0), um MUX possui uma entrada de controle binária s e uma saída binária z e pode ser representado pela seguinte expressão:

sxsxsxxMUXz ′+== 0101 ),,(

Um multiplexador nada mais é do que um módulo que seleciona entre duas ou mais entradas O circuito combinatório e o símbolo lógico de um multiplexador 2-MUX (de 2 entradas) são ilustrados pela Figura 26.

(a)

(b)

(c)

Figura 26. Exemplo de Multiplexador de duas entradas. (a) circuito combinatório; (b) e (c) formas simbólicas. 2.5. Somador O somador é um circuito combinatório essencial para a construção da unidade central de processamento de um computador.

Somador consiste num circuito combinatório capaz de realizar operações de soma de bits. Por ser um módulo muito utilizado, ele recebe um símbolo especial (Fig. 27). Nas Figuras 28 e 29 são apresentados o circuito combinatório de um somador completo de 1 bit e como estendê-lo para somar n bits, respectivamente.

Page 15: AT2 1 Circuitos Logicos Digitais2

BACHARELADO EM SISTEMAS DE INFORMAÇÃO – EaD UAB/UFSCar

Arquitetura e Organização de Computadores Prof. Dr. José Hiroki Saito

Figura 27. Símbolo representativo de um Somador Completo. A e B são os operandos; S = A + B o resultado; Ci representa a entrada carry-in, “recebe um” ou “vem-um”; e Co, a saída carry-out, ou “vai-um”.

A tabela-verdade (Tabela 1) de um somador completo de um bit é apresentada, onde

A e B e Ci são operandos, e um bit de resultado S e um bit Co é produzido. Ci corresponde ao carry-in ou “recebe um” e Co corresponde ao carry-out ou “vai um”.

Tabela 1. Tabela-verdade de um Somador Completo de 1 bit.

A B Ci S Co

0 0 0 0 0

0 0 1 1 0

0 1 0 1 0

0 1 1 0 1

1 0 0 1 0

1 0 1 0 1

1 1 0 0 1

1 1 1 1 1

Figura 28. Circuito Combinatório de um Somador Completo de 1 bit. A e B são os bits atuais a serem somados, Ci corresponde ao “recebe um”, S é o bit resultante daquele soma e Co é uma saída carry-out que pode ser entendida como o “vai um”.

Page 16: AT2 1 Circuitos Logicos Digitais2

BACHARELADO EM SISTEMAS DE INFORMAÇÃO – EaD UAB/UFSCar

Arquitetura e Organização de Computadores Prof. Dr. José Hiroki Saito

Figura 29. Circuito Combinacional de um Somador Completo de n bits somando dois operandos A e B. Ai e Bi são os bits atuais a serem somados dos operandos A e B, Ci corresponde ao “recebe um”, ou “vem-um”, Si é o bit resultante da soma atual (que formará o valor S = A + B resultante) e Ci+1 representa o bit de “vai-um” (carry-out, em inglês). 3. Circuitos Sequenciais

Os circuitos sequenciais são diferentes dos circuitos combinatórios, pois para uma mesma combinação de entrada podemos ter valores de saída diferentes.

Um circuito seqüencial é a implementação ou projeto de um sistema seqüencial. A saída de um circuito sequencial é afetada por instantes de tempos anteriores e não somente pela entrada atual.

Essa dependência de instantes de tempos anteriores existe em função da realimentação na rede de portas lógicas que constitui um circuito sequencial. E para controlar essa realimentação, os circuitos sequenciais podem ser síncronos ou assíncronos.

Dependendo dos instantes de tempo que as entradas e saídas são consideradas, os sistemas sequenciais podem ser classificados como síncronos e assíncronos. Os sistemas assíncronos consideram o tempo como uma variável contínua. Os sistemas síncronos utilizam um sinal de sincronização denominado clock (CLK) ou relógio, que define o tempo como uma variável discreta. A Figura 30 ilustra a diferença entre sistemas síncronos e assíncronos.

Para entender melhor, vamos comparar com uma orquestra sinfônica. Para que a música produzida por uma orquestra funcione adequadamente e cada instrumento seja tocado no momento certo em conjunto com outros instrumentos, o tempo é demarcado pelo ritmo dado por instrumentos de percussão como a bateria. A batida da bateria é a responsável pelo sincronismo, assim como o clock nos sistemas síncronos. Já os sistemas assíncronos não possuem alguém responsável por sincronizar a resposta com as entradas.

No restante desta Seção, abordaremos alguns circuitos seqüenciais denominados Latches e Flip-Flops (Seção 3.1), assim como Registradores (Seção 3.2).

Page 17: AT2 1 Circuitos Logicos Digitais2

BACHARELADO EM SISTEMAS DE INFORMAÇÃO – EaD UAB/UFSCar

Arquitetura e Organização de Computadores Prof. Dr. José Hiroki Saito

Figura 30. Diferença entre sistemas sequenciais síncronos e assíncronos, onde x(t) é o sinal de entrada e z(t) é o sinal de saída

3.1. Latches e Flip-flops

Latches e Flip-flops são células binárias utilizadas em circuitos sequenciais. A diferença básica entre elas é o momento de acionamento de um novo estado da célula. Nos latches uma célula é sensível ao nível (ou seja, o acionamento ocorre quando a mudança no clock está consolidada), enquanto que nos flip-flops ela ocorre nas bordas de subida ou descida do clock (sensível a borda).

A Fig.31 (a) mostra um latch SR constituído de dois circuitos NOR. Quando as suas entradas S (set) e R (reset) tem valores zero, o latch SR tem o comportamento de dois inversores interligados como na Fig. 31 (b), quando a saída Q = 1, ou como na Fig. 31 (c), quando a saída Q = 0. Os estados dos circuitos das Figuras 31 (b) e (c) são estáveis, ou seja, o valor de Q nunca se altera, ficando sempre no estado atual.

No latch SR, a mudança de estado é feita introduzindo o valor 1 em uma das entradas S e R. Assim, se introduzirmos o valor 1 em S, a saída Q passa a ser igual a 1. Se introduzirmos o valor 1 em R, a saída Q passa ser igual a 0. A introdução de valor 1 em S e R simultaneamente não é permitido no latch SR, pois isso implica em fazer Q = 1 e Q = 0 ao mesmo tempo, o que não faz sentido. Além disso, o estado resultante do circuito nesse caso é incerto.

Observa-se que nos latches e flip-flops temos saídas Q e Q’. Notamos pelos circuitos das Figuras 31 (b) ou (c) que Q e Q’ ficam em posições simétricas e separadas por um inversor. Portanto, sempre o circuito se estabiliza com Q e Q’ contendo valores invertidos entre si.

(a)

(b) (c)

Figura 31. (a) Latch básico, (b) comportamento do latch básico com Q = 1, (c)

comportamento do latch básico com Q = 0.

Page 18: AT2 1 Circuitos Logicos Digitais2

BACHARELADO EM SISTEMAS DE INFORMAÇÃO – EaD UAB/UFSCar

Arquitetura e Organização de Computadores Prof. Dr. José Hiroki Saito

Os latches e flip-flops abaixo serão representados por seus símbolos, funções lógicas e

tabelas-transição. Vale ressaltar que Q(t) corresponde ao estado atual e Q(t + 1) ou Q(t + tp) correspondem ao próximo estado.

3.1.1. Latch D

O Latch D é denominado Latch controlado. O seu símbolo lógico (Fig.32), a sua implementação (Fig. 33) e a sua função são apresentados a seguir.

Figura 32. Símbolo lógico do latch D.

A sua equação de saída é dada por: )().()().()( tEtQtEtDttQ p′+=+ , onde tp é o

tempo de retardo de propagação.

Figura 33. Latch D implementado por portas NOR.

3.1.2. Flip-flop D O flip-flop D é acionado na borda do clock (subida ou descida). O símbolo lógico é mostrado na Figura 34.

Figura 34. Símbolo lógico do flip-flop D.

O flip-flop D pode ser construído usando dois latches D como mostra a Fig. 35.

Page 19: AT2 1 Circuitos Logicos Digitais2

BACHARELADO EM SISTEMAS DE INFORMAÇÃO – EaD UAB/UFSCar

Arquitetura e Organização de Computadores Prof. Dr. José Hiroki Saito

Figura 35. Construção de um flip-flop D usando dois latches D.

A sua equação de saída é dada por: )()( tDttQ p =+

Tabela-transição:

Q(t)

(estado atual)

D(t)

(entrada)

0 1

0 0 1

1 0 1

A Figura 36 mostra um diagrama de tempo em que é mostrado o momento em que a saída Q muda de estado, borda de descida do clock (CLK).

Figura 36. Diagrama de tempo para o flip-flop D. Projeto de um circuito sequencial. Como descrito inicialmente a saída de um circuito sequencial depende das entradas e do estado interno. Vamos exemplificar um circuito sequencial projetando um contador de dois flip-flops D, cuja sequência de saída é

Page 20: AT2 1 Circuitos Logicos Digitais2

BACHARELADO EM SISTEMAS DE INFORMAÇÃO – EaD UAB/UFSCar

Arquitetura e Organização de Computadores Prof. Dr. José Hiroki Saito

dada por 00 ���� 01 ���� 10 ���� 11���� 00... e assim por diante. Esse circuito é mostrado na Figura 37, e tem a particularidade de que é um circuito síncrono, pois a mudança de estado se dá a cada pulso do clock.

Figura 37. Diagrama de um contado de dois flip-flops D. O circuito combinatório deve gerar como saída o próximo estado a ser introduzido nas entradas D dos flip-flops, a partir do estado atual dado pela combinação de valores de Q1Q0. Assim a tabela-verdade para o circuito combinatório é dada pela Tabela 2. Tabela 2. Tabela-verdade

Isso resulta nos circuitos combinatórios para D0 e D1 conforme as Figuras 38 e 39, respectivamente.

Page 21: AT2 1 Circuitos Logicos Digitais2

BACHARELADO EM SISTEMAS DE INFORMAÇÃO – EaD UAB/UFSCar

Arquitetura e Organização de Computadores Prof. Dr. José Hiroki Saito

Figura 38. Circuito combinatório para D0.

Figura 39. Circuito combinatório para D1. 3.2. Registradores

Registrador é um circuito sequencial capaz de armazenar n bits (registrador paralelo) ou mesmo efetuar algumas operações de deslocamento (registrador serial). Eles podem ser projetados por flip-flops D, como apresentado a seguir pelas Figuras 40 e 41. Um registrador paralelo recebe cada bit em um flip-flop D, sendo Dn-1 o bit mais significativo e D0 o bit menos significativo. Já um registrador serial recebe os bits pela entrada E e conforme novos bits vão sendo recebidos os bits vão passando de um flip-flop D a outro da esquerda para a direita. Assim o registrador representado na Figura 41 consiste num registrador de deslocamento a direita.

Figura 40. Registrador Paralelo de n bits implementado por flip-flops D [2].

Page 22: AT2 1 Circuitos Logicos Digitais2

BACHARELADO EM SISTEMAS DE INFORMAÇÃO – EaD UAB/UFSCar

Arquitetura e Organização de Computadores Prof. Dr. José Hiroki Saito

Figura 41. Registrador Serial de n bits implementado por flip-flops D.

4. Considerações finais

Circuitos combinatórios são úteis em projetos de unidades aritméticas e estruturas como somadores e comparadores. Circuitos sequenciais são utilizados em projetos de memória e estruturas de controle. Dessa forma, unindo circuitos combinatórios e sequenciais, conseguimos projetar as estruturas utilizadas em um computador.

Referências [1] ERCEGOVAC, M.; LANG, T.; MORENO, J. Tradução: SANTOS, J. C. B. Introdução aos Sistemas Digitais. Porto Alegre: Bookman, 2000. [2] WEBER, R. F. Fundamentos de Arquitetura de Computadores. Porto Alegre: Editora Sagra Luzzatto, 2000. [3] Patterson, D.A. & Hennessy, J.L. – Organização e Projeto de Computadores. Interface entre o Hardware e Software, 3ª. Edição (tradução) . Rio de Janeiro, Editora Campus, 2005.