Sie sind auf Seite 1von 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
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.
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.
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 f ( x n−1 ,..., x1 , x 0 ) 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.


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 z = x ′ (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 z = x1 .x0 (lê-se “z igual a x1 e x0”)


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 z = x1 + x0 (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 z = ( x1 .x0 ) (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.
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 z = ( x1 + x0 ) (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 z = x1 .x0 + x1 x0 = x1 ⊕ x0 (lê-se “z igual a
x1 xor x0”)
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 z = x1 .x0 + x1 x0 (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
a, b e c ∈ B e a ′ como sendo o operador NOT (o operador de negação pode ainda ser
representado por uma barra, como a ):
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”.

a+b =b+a
a.b = b.a

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

Figura 12. Comutatividade

2) Distributividade

a + (b.c ) = (a + b )(
. a + c)
a.(b + c ) = (a.b ) + (a.c )

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

Figura 13. Distributividade

3) Associatividade

a + (b + c ) = (a + b ) + c = a + b + c
a.(b.c ) = (a.b ).c = a.b.c

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

Figura 14. associatividade


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”.

a+a=a
a.a = a

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

Figura 15. idempotência

5) Existência de Complemento

a + a′ = 1
a.a ′ = 0

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

Figura 16. Complemento

6) Constantes

1+ a = 1
0.a = 0

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

Figura 17. constantes

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

0+a = a+0 = a
1.a = a.1 = a

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

Figura 18. Identidade


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

(a ′)′ = a

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

Figura 19. involução

9) Lei da Absorção

a + a.b = a
a.(a + b ) = a

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

Figura 20. absorção

10) Simplificação

a + a ′.b = a + b
a.(a ′ + b ) = a.b

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

Figura 21. simplificação

11) Lei de DeMorgan

(a + b )′ = a ′.b′ a z a z
=

(a.b)′ = a ′ + b′
b b

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

Figura 22. Lei de DeMorgan


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”.

a + 0 = a . Se trocarmos OR por AND e 0 por


Exemplo: Considere a expressão booleana
1, obteremos a.1 = a , 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.


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.

′ ′
z =  x2 x1 x0  +  x2 x1 x0  + (x2 x1 x0 )
   
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.
BACHARELADO EM SISTEMAS DE INFORMAÇÃO – EaD UAB/UFSCar
Arquitetura e Organização de Computadores
Prof. Dr. José Hiroki Saito

z = x1.( x2 + x0 )
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:
z = MUX ( x1 , x0 , s ) = x1s + x0 s′
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.
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

000 0 0

001 1 0

010 1 0

011 0 1

100 1 0

101 0 1

110 0 1

111 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”.
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).
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.

(b) (c)
(a)

Figura 31. (a) Latch básico, (b) comportamento do latch básico com Q = 1, (c)
comportamento do latch básico com Q = 0.
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: Q(t + t p ) = D(t ).E (t ) + Q(t ).E ′(t ) , 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.
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: Q(t + t p ) = D(t )

Tabela-transição:

Q(t) D(t)
(estado atual) (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 é
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.
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].


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.

Das könnte Ihnen auch gefallen