Você está na página 1de 27

Fundamentos de Arquitetura de Computadores

Tiago Alves

Faculdade UnB Gama


Universidade de Brası́lia

1 / 27
Sumário

Módulo 05
Flip-flops
Registradores

2 / 27
Flip-Flop SR Mestre-Escravo

Os circuitos que vimos até agora são latches, isto é, a saı́da muda a qualquer momento em que a entrada de
enable estiver ativa. Porém, queremos um circuito que mude apenas na borda (de subida ou de descida) do
clock.

3 / 27
Flip-Flop SR Mestre-Escravo

Observe o circuito abaixo:

S Q

QN
R

4 / 27
Flip-Flop SR Mestre-Escravo

Podemos representar esse circuito como:

5 / 27
Flip-Flop SR Mestre-Escravo

Note que, quando C = 1, o primeiro latch (chamado de mestre) está ativo, enquanto o segundo latch (chamado
de escravo) está inativo. Quando C muda de 1 → 0, a situação se inverte, e o latch mestre está inativo
enquanto o escravo está ativo. Assim, na borda de descida do clock, a informação é passada do mestre para o
escravo, que então apresenta essa informação na saı́da.

Porém, note que precisamos de um pulso completo no clock para transferimos a informação!

Mestre
transfere a Escravo
informação mantém a
para o escravo informação

C
Mestre Mestre Mestre
aberto fechado aberto
6 / 27
Flip-Flop SR Mestre-Escravo

Entretanto, note que o nosso flip-flop não amostra as entradas na borda do clock (isto é o mesmo que afirmar
que o flip-flop não é, realmente, edge-triggered ou acionado por borda).

Como o latch SR tem um estado de hold, se um pulso ocorrer na entrada S enquanto o mestre estiver ativo, a
informação é transferida para o mestre, que então transfere para o escravo quando C muda de 1 → 0, mesmo
que SR = 00 no momento da borda de descida.

1 Na borda de descida
S 0
do clock, SR = 00

R 0
1

C 0
Pulso em S
1
“seta” o
QM 0
mestre Ainda assim, Q = 1
1

Q 0

7 / 27
Flip-Flop SR Mestre-Escravo

Este comportamento é chamado de pulse-triggered flip-flop ou flip-flip acionado por pulso. Na figura do
elemento, usamos o sı́mbolo de postponed output indicator.

S R C Q QN
x x 0 last Q last QN
0 0 pulso last Q last QN
0 1 pulso 0 1
1 0 pulso 1 0
1 1 pulso indefinido indefinido

Porém, ainda temos o problema de quando as entradas SET e RESET estão ativas ao mesmo tempo.

8 / 27
Flip-Flop JK Mestre-Escravo
Podemos resolver o problema das entradas SET e RESET (em seu modo proibido) usando o flip-flop JK
mestre-escravo:

Ou seja, temos um flip-flop SR mestre escravo com:

S = J · QN
R=K·Q
9 / 27
Flip-Flop JK Mestre-Escravo

S = J · QN
R=K·Q

As entradas J e K são análogas às entradas S e R. Porém, ativar J apenas ativa S se QN = 1, e ativar K
apenas ativa R se Q = 1. Assim, se ativarmos J e K, invertemos o estado do flip-flop. Entretanto, ainda temos
um pulse-triggered flip-flop, e não um edge-triggered flip-flop, pois o flip-flop JK ainda tem um estado hold.

J K C Q QN
x x 0 last Q last QN
0 0 pulso last Q last QN
0 1 pulso 0 1
1 0 pulso 1 0
1 1 pulso last QN last Q

10 / 27
Edge Triggered D Flip-Flop

Vimos que o latch D não tem um estado hold. Logo, podemos tentar fazer o flip-flop D mestre-escravo:

No sı́mbolo do flip-flop vemos um dynamic input indicator.

11 / 27
Edge Triggered D Flip-Flop

O funcionamento desse flip-flop é análogo ao mestre-escravo: quando CLK = 1, o mestre está aberto e a
entrada D é copiada para o mestre. Quando CLK muda de 1 → 0, o mestre fica inativo e a informação é
transferida para o escravo e, por sua vez, à saı́da. Porém, a informação transferida para o escravo é sempre a
última informação: afinal, o latch D não tem um estado hold!

C D Q QN
0 x last Q last QN
1 x last Q last QN
↓ 0 0 1
↓ 1 1 0

Note que esse flip-flop muda na borda de descida do clock. Podemos facilmente fazer um flip-flop que muda na
borda de subida.

12 / 27
Edge Triggered D Flip-Flop

C D Q QN
0 x last Q last QN
1 x last Q last QN
↑ 0 0 1
↑ 1 1 0

13 / 27
Edge Triggered D Flip-Flop

Como o latch D, o Flip-Flop D ainda tem problemas com meta-estabilidade se seus tempos de setup e hold não
forem observados.

14 / 27
Edge Triggered D Flip-Flop

É comum utilizarmos flip-flops D com entradas assı́ncronas de PRESET e CLEAR:

15 / 27
Edge Triggered D Flip-Flop

PRESET CLEAR CLK D Q QN


0 0 x x 1 1
0 1 x x 1 0
1 0 x x 0 1
1 1 0 x last Q last QN
1 1 1 x last Q last QN
1 1 ↑ 0 0 1
1 1 ↑ 1 1 0

16 / 27
Edge Triggered D Flip-Flop
Implementação comercial do Flip-Flop D 74LS74.

17 / 27
Edge Triggered JK Flip-Flop

Agora que temos um flip-flop realmente ativado/disparado pela borda, podemos fazer facilmente um flip-flop JK
gatilhado pela borda.

J K C Q QN
x x 0 last Q last QN
x x 1 last Q last QN
0 0 ↑ last Q last QN
0 1 ↑ 0 1
1 0 ↑ 1 0
1 1 ↑ last QN last Q
18 / 27
Edge Triggered JK Flip-Flop

Diagrama de tempo do flip-flop JK gatilhado pela borda de subida.

19 / 27
Edge Triggered T Flip-Flop

Outro circuito bastante útil é o flip-flop T (toggle).

20 / 27
Edge Triggered T Flip-Flop

E o flip-flop T com enable:

21 / 27
Flip-Flops
Comercialmente, o CI mais conhecido que contém flip-flops D é o 74x74, que contém dois flip-flops D
independentes com PRESET e CLEAR, ativo na borda de subida do clock. As funcionalidades de PRESET e
CLEAR são assı́ncronas, isto é, independente do clock do flip-flop.

74LS74
CP1
D1 Q1
__
S1 Q1
R1
CP2
D2 Q2
__
S2 Q2
R2

22 / 27
Flip-Flops

Para o flip-flop JK, existem vários tipos de encapsulamento: 74x76 (flip-flop JK mestre-escravo, com
transferência por pulso), 74x112 (flip-flop JK ativado pela borda) e 74x109 (flip-flop JK ativado pela borda, com
entrada K negada). Todos eles tem funções assı́ncronas de PRESET e CLEAR.

74LS76 74LS112
J1 Q1
__ J1 Q1
__ 74LS109
K1 Q1 K1 Q1 CP1 CP2
CP1 CP1 S1 S2 S
SD1 SD1 R1 R2 J Q
RD1 RD1 J1 J2 CP _
J2 Q2
__ J2 Q2
__ K1 K2 K Q
K2 Q2 K2 Q2 R
CP2 CP2

Q1Q1
SD2 SD2 Q2
__

__
RD2 RD2 Q2

23 / 27
Latch D

Para os latches, temos o 74x375, que possui quatro latches D com apenas dois enables (cada enable controla
dois latches).

24 / 27
Registradores
Uma coleção de dois ou mais flip-flops D que compartilham o mesmo clock é chamada de registrador. Um
exemplo é o 74x175, que contém quatro latches D.

25 / 27
Registradores
Outro registrador interessante é o 74x374, que tem oito flip-flops D com uma saı́da de 3 estados (tri-state), de
forma que podemos “desocupar” o barramento de saı́da.

26 / 27
Registradores

Outros registradores interessantes são o 74x373, que tem 8 latches D, e o 74x377, que tem oito flip-flops D.

27 / 27

Você também pode gostar