Aula 16
Aula 16
Aula 16
Rodrigo Hausen
1 Registradores de deslocamento
Exercício 1 Usando flip-flops do tipo D, projete uma máquina de estado com duas entradas, Ck
(clock) e d (um bit de dado), e duas saídas, Q1 , Q0 , tais que a cada borda de descida do clock as saídas
mudam de acordo com a seguinte tabela de transição:
d=0 d=1
d=1 d=1
00 10 11
d=1 d=0
d=0 d=0
01
Y1 = d
Y0 = Q1
1
Passo quatro: diagrama do circuito.
Q1
d D Q D Q Q0
Y1 Y0
Q Q
Ck
O circuito acima é chamado registrador de deslocamento de 2 bits com entrada serial e saída
paralela (ou, simplesmente, série para paralelo).
Exercício 2 Abaixo temos o circuito para um registrador de deslocamento série para paralelo de 4
bits:
Q3
Q2
Q1
d D Q D Q D Q D Q Q0
Q Q Q Q
Ck
Ck
Saídas:
Q3
Q2
Q1
Q0
2
Exercício 3 Circuito para um registrador de deslocamento paralelo para série de 4 bits:
d3 d2 d1 d0
SH/LD
I1 I1 I1
D Q I0 D Q I0 D Q I0 D Q dout
Q Q Q Q
Ck
Neste registrador de deslocamento, a entrada SH/LD (“SHift or LoaD”) indica qual operação
será realizada:
• se SH/LD = 1 será feito o carregamento (load) dos bits de dados no registrador: na próxima
borda de descida do clock, os bits d3 . . . d0 são armazenados nos flip-flops e o bit d0 será colocado
na saída dout .
• se SH/LD = 0 será feito o deslocamento (shift) dos bits para a saída: a cada borda negativa do
clock, um bit de dado será colocado na saída do clock, na sequência d1 , d2 , d3 , 0, 0, . . ..
Esboce o diagrama de forma de onda para o carregamento do dado d3 d2 d1 d0 = 1011 e seu
deslocamento para a saída.
Ck
SH/LD
d3 1
d2 0
d1 1
d0 1
Saída:
dout 1 1 0 1
3
1.1 Para que servem registradores de deslocamento?
Estudo de caso de uso 1: controles do NES (Nintendo Entertainment System) e do SNES
(Super Nintendo Entertainment System).
O controle padrão do NES possui 8 botões (←, ↑, →, ↓, A, B, select, start) e o do SNES
possui 12 (além dos botões do NES, possui X, Y, L e R). Todos os botões podem ser acionados
simultaneamente e o console de vídeo-game verifica o estado deles 60 vezes por segundo.
Para evitar o uso de um cabo com 8 ou 12 fios (isso sem contar com os fios de alimenta-
ção!), os controles possuem um registrador de deslocamento paralelo para série, cujas entra-
das de dados são o estado dos botões. O sinal de controle SH/LD e o clock vêm do console,
enquanto que a saída dout do registrador de deslocamento é retornada do controle para o
console.
Com a estratégia de transmissão serial do estado dos botões, o cabo que conecta os con-
troles ao console precisa de apenas 5 fios (SH/LD, Ck, dout , +5V e GND/terra), não importa
quantos botões o controle tenha! Quanto menos fios um cabo possui, mais barato e flexível
ele é, além de ser menos propenso a falhas.
Apresentamos abaixo o esquema de ligação interna entre os componentes do controle do
NES.
ct
t
le
ar
↓ ↑
se
→ ←
st
B A
SH/LD d7 d6 d5 d4 d3 d2 d1 d0 dout
(9) (3)
(laranja) (amarelo)
reg. de deslocamento
Ck (10)
CD4021
(vermelho)
(16) (8)
+5V GND
(branco) (preto)
X D Registrador de deslocamento
série para paralelo n bits
Y Qn−1 Qn−2 Q1 Q0
CPU ou
Microcontrolador
ou Arduino
dn−1 dn−2 . . . d1 d0
4
Exemplo: diagramas de forma de onda para fazer d0 = 1, d1 = 1, d2 = 0, d3 = 1 (ou seja,
d3 d2 d1 d0 = 1011).
X 1 1 0 1
Q3 1
Q2 0
Q1 1
Q0 1
d3 1
d2 0
d1 1
d0 1
5
2 Memórias
No contexto deste curso, memória é qualquer circuito que permita o armazenmento de infor-
mação digital.
Um registrador de armazenamento (visto na aula 12 e, em sua versão síncrona, na aula
14) é um tipo de memória. Até mesmo um latch ou flip-flop do tipo D é uma memória (para
apenas 1 bit). Porém, é mais usual a aplicação do termo “memória” a um circuito digital
cuja interface é similar à organização abaixo.
dn−1 dn−2 . . . d1 d0
...
a0 linhas de dado
linhas de endereço
a1
.. ..
. .
am−2
Memória para 2m palavras
am−1
com n bits em cada palavra
c0
linhas de
controle
.. ..
. .
ck−1
• Estática: uma vez que um dado é armazenado em uma posição da memória, ele é
mantido até que uma operação de escrita o apague, ou até que a alimentação elétrica
seja desligada.
• Síncrona: as operações na memória (neste caso, apenas a escrita) são sincronizadas por
meio de um sinal de clock externo.
• Volátil: os dados armazenados serão perdidos caso a alimentação externa seja desli-
gada.
6
entrada de dados: dn−1 . . . d0
n
R3 R2 R1 R0
n n n n
Ck
Op
X3
a1 A1 decod. X2
a0 A0 2 × 4 X1
X0
S1 I3 I2 I1 I0
S0 MUX n bits
n
7
• Dinâmica: após a escrita do dado, ele será “esquecido” (perdido) após um certo tempo,
mesmo que a alimentação elétrica seja mantida. Para que os dados não se percam, é
necessário que a reescrita dos dados (refresh) seja feita periodicamente.
• Não-Volátil: os dados são mantidos mesmo que a alimentação elétrica seja desligada.
• Quanto ao sincronismo:
Síncrona (necessita de clock externo) × assíncrona
– aleatório ou imediato (RAM = Random Access Memory): cada endereço pode ser
acessado (lido ou escrito) imediatamente após a requisição.
– sequencial: para ler ou escrever em um determinado endereço, é necessário aces-
sar primeiramente todos os endereços da memória que o antecedem.
– direto: para um dado um endereço A, acessa-se de modo imediato uma vizinhança
desse endereço e, em seguida, é feita uma busca sequencial dentro da vizinhança
para se encontrar o endereço A.
– associativo: o acesso aos dados é feito não por endereço, mas por comparação
com parte do seu conteúdo.
8
• Pen-drive: estática, não-volátil, leitura/escrita1 ,acesso direto, semicondutora.
Referência
FLOYD, Thomas L. Sistemas Digitais: Fundamentos e Aplicações. 9a edição. Bookman, 2007.
1
Sobre a classificação leitura/escrita para pen-drives: os dispositivos conhecidos atualmente com esse nome
são feitos de um tipo de memória não-volátil chamado flash, que é regravável, e mais uma porção de memória
RAM volátil, porém de leitura/escrita. A memória flash é um tipo de memória bem peculiar, organizada em
“células” regraváveis. Para que uma célula possa ser reescrita, ela precisa precisa ser primeiramente apagada
por meio de um pulso elétrico de grande intensidade e curta duração (daí o nome “flash”).