C.L. - Material - Unidade IV
C.L. - Material - Unidade IV
C.L. - Material - Unidade IV
Revisão Textual:
Prof.ª Dr.ª Selma Aparecida Cesarin
Circuitos Sequenciais e Memórias
OBJETIVOS DE APRENDIZADO
• Conhecer os elementos básicos aplicados na implementação de Circuitos Lógicos Sequen-
ciais e de memória;
• Descrever e apresentar métodos e ferramentas para elaboração, interpretação e síntese de
Circuitos Sequenciais;
• Apresentar os Circuitos Sequenciais mais utilizados em Sistemas Digitais;
• Conhecer os conceitos e fundamentos de memórias semicondutoras.
UNIDADE Circuitos Sequenciais e Memórias
Contextualização
Os Circuitos Sequenciais são estruturas fundamentais para a construção e operação
dos processadores computacionais utilizados em Sistemas Digitais.
Bom estudo!
8
Fundamentos de Circuitos Sequenciais
Uma vez tendo estudado os vários tipos de Circuitos Digitais Combinacionais e o fun-
cionamento das Unidades Lógicas Aritméticas (ULAs), temos uma base bastante sólida
de como funcionam os Circuitos Digitais. Assim, podemos avançar em conceitos um
pouco mais complexos, que é o caso dos Circuitos Sequenciais.
Já as saídas dos elementos de memória constituem parte das entradas para o Circuito
Combinacional e recebem o nome de variáveis do estado atual.
O Circuito Sequencial recebe informação binária das entradas que, juntamente com
a informação do estado atual, determinam os valores das saídas e os valores do próxi-
mo estado.
Dessa forma, fica evidente que as saídas de um Circuito Sequencial dependem não ape-
nas das entradas, mas também do estado atual, armazenado nos elementos de memória.
E a mesma coisa se pode dizer para as variáveis de próximo estado. Em função desse
comportamento sequencial, um Circuito Sequencial é especificado pela sequência tem-
poral de entradas, saídas e estados internos.
Latches e Flip-Flops
Em Sistemas Digitais, latches e flip-flops são dispositivos lógicos biestáveis que
apresentam a propriedade de permanecer em um desses dois estados estáveis usando
uma configuração de realimentação, na qual as saídas são conectadas de volta às entra-
das opostas.
A diferença básica entre latches e flip-flops é a forma com que eles são comutados de
um estado para o outro. Por questões práticas de operação, o flip-flop é o bloco constru-
tivo básico para contadores, registradores e outras lógicas de controle sequencial, bem
como na construção de certos tipos de memórias, motivo pelo qual focaremos nossos
estudos neste elemento.
9
9
UNIDADE Circuitos Sequenciais e Memórias
Um flip-flop é um Circuito Digital que possui duas entradas e duas saídas e é capaz
de armazenar um bit de informação.
As duas entradas não são intercambiáveis: uma é reservada ao sinal de controle (re-
lógio ou clock) e a outra recebe o dado (bit) a ser armazenado. As saídas correspondem
ao dado (bit) armazenado e ao seu respectivo complemento.
Desde que devidamente alimentado com energia, um flip-flop pode manter indefini-
damente um estado, até que os sinais de entrada assumam uma configuração tal que o
façam mudar de estado.
Figura 1 – Símbolos lógicos para flip-flops RS (a), D (b), JK (c) e T (d) disparados por borda de subida (acima)
e borda de descida (abaixo), diferenciados pela presença do símbolo inversor nas respectivas entradas
Fonte: Adaptado de FLOYD, 2007
10
A forma de onda de um sinal de relógio é dita monótona, pois não se altera ao longo
do tempo. Nela, podem ser identificadas: a borda de subida, a borda de descida, o nível
lógico zero (BAIXO) e o nível lógico um (ALTO), como ilustrado no item (a) da Figura 2.
11
11
UNIDADE Circuitos Sequenciais e Memórias
Em outras palavras, o tempo que esses circuitos levam para propagar uma mudança
de suas entradas até suas saídas pode ser encarado como o tempo durante o qual eles
retêm os valores aplicados antes da mudança e, além disso, esse fenômeno coincide com
o conceito de memória, para os Circuitos Digitais.
Nos Circuitos Sequenciais assíncronos, os elementos de memória são compostos por
portas lógicas que provêm um atraso de propagação com valor adequado para o funcio-
namento do circuito. Então, um Circuito Sequencial assíncrono pode ser visto como um
Circuito Combinacional com realimentação.
O projeto de circuitos com realimentação apresenta grandes dificuldades, vez que seu
funcionamento correto é dependente das características temporais dos componentes
(portas lógicas e fios).
A principal dificuldade provém do fato de que os componentes apresentam atrasos
que não são fixos, podendo ser diferentes mesmo para exemplares com a mesma função
e de um mesmo fabricante.
Dessa forma, os Circuitos Sequenciais assíncronos têm sido evitados, sempre que
possível, em favor do uso de Circuitos Sequenciais síncronos.
Contadores assíncronos
Como dito, um contador assíncrono é aquele no qual os flip-flops que constituem o
contador não mudam de estado exatamente ao mesmo tempo, porque eles não têm um
pulso de clock comum.
12
Figura 3 – Tabelas de estados de um contador assíncrono de 3 bits (a)
e exemplo de circuito para implementação do contador (b)
Fonte: Adaptado de FLOYD, 2007
A Figura 4 resume as mudanças nas saídas dos flip-flops do circuito em resposta aos
pulsos de clock por meio de um diagrama conhecido como diagrama de temporização.
13
13
UNIDADE Circuitos Sequenciais e Memórias
No contador de 3 bits, a borda positiva de CLK1 (pulso de clock) faz com que a saída
Q0 do FF0 vá para o nível ALTO. No mesmo instante, a saída complementar Q0 vai
para nível BAIXO; porém, sem efeito no FF1, pois o disparo deste flip-flop só ocorrerá
na borda positiva. Após a borda de subida de CLK1, Q0 = 1 e Q1 = 0 e Q2 = 0.
Na sequência, a borda positiva de CLK2 faz Q0 comutar para o nível BAIXO. A saída
Q0 vai para o nível ALTO e dispara FF1, fazendo Q1 comutar para o nível ALTO. Q2
se mantém em zero.
Para simplificarmos as análises, as transições das saídas dos flip-flops e dos pulsos
de clock são mostradas como eventos simultâneos nesse contador. No entanto, é claro,
existem atrasos entre as transições de clock e das saídas, bem como tais atrasos se pro-
pagam ao longo dos diferentes flip-flops, originando o termo ripple counters.
O pulso de clock na entrada é “sentido” primeiro pelo flip-flop FF0. Esse efeito não
chega em FF1 imediatamente devido ao atraso de propagação através de FF0. Então,
existe um atraso de propagação através de FF1 antes que FF2 possa ser disparado.
Portanto, o efeito do pulso de clock na entrada “ondula” através do contador, durante
algum tempo, devido aos atrasos de propagação, até alcançar o último flip-flop.
Contadores Síncronos
Como dito anteriormente, um contador síncrono é aquele no qual todos os flip-flops
recebem pulsos de clock simultaneamente por meio de uma linha comum.
Como exemplo da análise desse tipo de contador, o circuito para um contador binário
síncrono de 4 bits e seu respectivo diagrama de temporização são mostrados, respecti-
vamente, nas Figuras 5(a) e 5(b).
14
Figura 5 – Exemplo de circuito para implementação do contador
síncrono de 4 bits (a) e respectivo diagrama de temporização (b)
Fonte: Adaptado de FLOYD, 2007
Os pontos em que as entradas das portas AND do contador são nível ALTO
estão indicados por áreas sombreadas.
O raciocínio por trás do controle das entradas J e K dos flip-flops pode ser dividido
em duas partes: nos primeiros oito ciclos de clock, Q3 é mantido em estado BAIXO e,
nos oito ciclos posteriores, Q3 assume nível ALTO.
Para facilitar a análise, iremos dividi-la nesses dois trechos do diagrama. Primeiro
vamos analisar Q0.
Observe que Q0 muda a cada pulso de clock conforme o contador avança do seu es-
tado original para o final. Para essa operação, FF0 tem de ser mantido no modo Toggle
(comutar), sendo necessário constantemente nível ALTO nas suas entradas J0 e K0.
Observe que Q1 inverte seu estado a cada transição de descida de Q0. Para produzir
essa operação, Q0 é conectada nas entradas J1 e K1 de FF1. Quando Q0 for nível 1 e
ocorrer um pulso de clock, FF1 estará no modo Toggle e assim mudará de estado. As
outras vezes, quando Q0 estiver em 0, FF1 estará no modo de repouso e permanecerá
no seu estado atual.
Em seguida, vamos analisar como é feito para FF2 mudar nos momentos apropria-
dos de acordo com a sequência binária.
Observe que, às vezes em que Q2 muda de estado, é precedido por uma condição
única na qual Q0 e Q1 são nível ALTO. Essa condição é detectada pela porta AND e
aplicada nas entradas J2 e K2 de FF2. Sempre que Q0 e Q1 forem nível ALTO, a saída da
porta AND faz com que as entradas J2 e K2 de FF2 sejam nível ALTO, sendo que FF2
comute no pulso de clock seguinte. Em todos os outros instantes, as entradas J2 e K2 de
FF2 são mantidas em nível BAIXO pela saída da porta AND e FF2 não muda de estado.
15
15
UNIDADE Circuitos Sequenciais e Memórias
O quarto estágio (FF3) muda apenas duas vezes nessa sequência. Observe que essas tran-
sições ocorrem no momento seguinte em que Q0, Q1 e Q2 são nível ALTO simultaneamente.
Essa condição é decodificada pela porta AND de forma que, quando um pulso de
clock ocorrer, FF3 mudará de estado. Para todos os outros momentos, as entradas J3 e
K3 de FF3 estarão em nível BAIXO e na condição de repouso.
Quando ocorre o próximo pulso de clock, o contador retorna para a contagem 000.
16
Trocando Ideias...
No Material Complementar desta Unidade, você encontrará um link para acessar o site de
desenvolvimento de um programa gratuito de simulação de circuitos lógicos, o Logisim,
disponível para download. Utilize o programa para aprofundar seus conhecimentos e
aprender como fazer seus próprios circuitos. Acesse, explore, conheça e experimente
para se familiarizar com os diferentes circuitos.
Registradores de Deslocamento
Os registradores de deslocamento são outro exemplo de Circuitos Sequenciais pre-
sentes em Sistemas Digitais. Os registradores são usados, principalmente, no armaze-
namento de dados digitais e aplicados em Sistemas Digitais microprocessados como
elementos constituintes dos sistemas de memória de tais sistemas.
Os registradores consistem-se em arranjos de flip-flops e são responsáveis pelas ope-
rações que envolvem o armazenamento e a transferência de dados em Sistemas Digitais.
A capacidade de armazenamento de um registrador é o número total de bits (1s e
0s) dos dados digitais que ele pode reter e cada estágio (flip-flop) representa um bit da
capacidade de armazenamento.
A capacidade de deslocamento de um registrador permite o movimento de dados
de um estágio para outro dentro do registrador ou, ainda, para dentro ou para fora do
registrador com a aplicação de pulsos de clock.
A Figura 7 ilustra os tipos de movimentos de dados em registradores de deslocamento:
17
17
UNIDADE Circuitos Sequenciais e Memórias
A saída serial dos dados ocorre após n+1 ciclos de relógio. No entanto, esse registra-
dor necessita de um mecanismo de controle auxiliar que opera os estágios de entrada
(LOAD) e de saída (SHIFT), de forma a sincronizar os ciclos de entrada e saída de dados.
Observe aqui que, mais do que apenas transferir os dados advindos da lógica com-
binacional, o registrador é capaz de sincronizar a transferência (ou seja, determinar o
instante de aquisição dos dados) e manter os dados armazenados por um determinado
intervalo de tempo, delimitado pela borda de descida do sinal de relógio (os flip-flops
utilizados são sensíveis à borda de descida).
18
Máquinas de Estados
As Máquinas de Mealy e de Moore são duas formas úteis de representação de Cir-
cuitos Sequenciais em projetos de Sistemas Digitais.
Em geral, os Circuitos Sequenciais podem ser classificados em dois tipos: aquele no
qual a(s) saída(s) depende(m) apenas do estado atual interno (denominado circuito Moore)
e aquele no qual a(s) saída(s) depende(m) do estado atual e da(s) entrada(s) (denominado
de circuitos Mealy).
No caso do modelo de Moore, as saídas dependem única e exclusivamente do estado
em que o circuito se encontra, de modo que uma mudança nos valores das entradas só
toma efeito após a próxima borda do relógio.
Já no caso do modelo de Mealy, as saídas dependem não somente do estado em que
o circuito se encontra, mas também do valor atual das entradas externas, de modo que se
elas se alteraram ainda antes da troca de estados, as saídas do circuito podem se alterar.
Em outras palavras, resumidamente, nas máquinas de Mealy os sinais de saída po-
dem sofrer transições assíncronas, enquanto nas máquinas de Moore, os sinais são
obrigatoriamente síncronos.
A Figura 9 ilustra, esquemática e comparativamente, os modelos de Moore e de Mealy.
19
19
UNIDADE Circuitos Sequenciais e Memórias
Fundamentos de Memórias
Como visto no capítulo anterior, um registrador de deslocamento é, essencialmente,
uma memória em pequena escala. Os dispositivos de memória utilizados em Sistemas Di-
gitais normalmente armazenam dados por um período mais longo do que um registrador.
Iremos tratar, neste item, apenas dos elementos de memória. A memória é a parte de
um sistema de armazenamento de uma grande quantidade de dados em binário.
Um byte pode ser dividido em duas unidades de 4 bits que são denominadas de
nibbles. Uma unidade completa de informação é denominada de word e, geralmente,
consiste em um ou mais bytes. Algumas memórias armazenam dados em grupos de 9
bits: um byte mais um bit de paridade.
20
Figura 10 – Diferentes exemplos de arranjos de memórias
de 64 células: 8x8 (a), 16x4 (b) e 64 x 1 (c)
Fonte: Adaptado de FLOYD, 2007
21
21
UNIDADE Circuitos Sequenciais e Memórias
Memórias Cache
Uma das principais aplicações de SRAMs é na memória cache dos computadores. A
memória cache é relativamente pequena, de alta velocidade e armazena as instruções ou os
dados mais recentes usados a partir da memória principal que é maior, porém mais lenta.
Em geral, a memória cache consegue informações armazenadas para o microproces-
sador de uma forma mais rápida que se fosse usada apenas a DRAM de alta capacidade.
Resumidamente, a memória cache é um método de custo efetivo de melhorar o de-
sempenho de um sistema sem recorrer a opção de se implementar toda a memória com
tecnologia SRAM.
Memórias ROM
Uma ROM mantém, permanentemente ou quase, dados armazenados, que podem
ser lidos da memória, mas não podem ser alterados pelo processamento do Sistema
Digital, apenas por equipamentos especializados.
22
Uma ROM armazena dados que são usados repetidamente em aplicações tais como
tabelas, conversões ou instruções programadas para a inicialização e a operação de
um sistema.
Para isso, os dados armazenados têm de ser apagados pela exposição da memória à
luz ultravioleta em um equipamento dedicado por um período de vários minutos.
Trocando Ideias...
No Material Complementar, você encontra um link para acessar um vídeo no YouTube que
explica, didaticamente, o contexto da utilização das diferentes memórias em Sistemas Com-
putacionais. Aproveite para aprender mais sobre as diferenças entre os tipos de memórias e
sobre a constituição de blocos de armazenamento em computadores. Confira!
Isso pede, portanto, um estudo cuidadoso sobre cada tema abordado, pois eles serão
necessários em desdobramentos futuros ao longo do Curso.
23
23
UNIDADE Circuitos Sequenciais e Memórias
Referências
CAPUANO, F. G. Elementos de eletrônica digital. 41.ed. São Paulo: Erica, 2012. (e-
-book)
24
Material Complementar
Indicações para saber mais sobre os assuntos abordados nesta Unidade:
Sites
Logisim – Simutlador Gratuito de Circuitos Digitais
https://bit.ly/2XbswTh
Livros
Sistemas digitais: fundamentos e aplicações
FLOYD, T. Sistemas digitais: fundamentos e aplicações. 9.ed. Porto Alegre: Bookman,
2011. (e-book)
Sistemas digitais: princípios e aplicações
TOCCI, R. J.; WIDMER, N. S.; MOSS, G. L. Sistemas digitais: princípios e aplicações.
11.ed. São Paulo: Pearson, 2011.
Vídeos
O que é a memória cache do processador?
https://youtu.be/ATbq4rzRUvc
25
25