C.L. - Material - Unidade IV

Fazer download em pdf ou txt
Fazer download em pdf ou txt
Você está na página 1de 26

Circuitos Lógicos

Circuitos Sequenciais e Memórias

Responsável pelo Conteúdo:


Prof. Me. Renan Cardoso Melli

Revisão Textual:
Prof.ª Dr.ª Selma Aparecida Cesarin
Circuitos Sequenciais e Memórias

• Fundamentos de Circuitos Sequenciais;


• Latches e Flip-Flops;
• Contadores Síncronos e Assíncronos;
• Registradores de Deslocamento;
• Máquinas de Estados;
• Fundamentos de 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.

Conhecer as condições de funcionamento e operação desses circuitos é uma etapa


básica para entender os conceitos associados às operações realizadas em processadores.

Todo Circuito Sequencial é composto por um Circuito Combinacional, estudado nos


capítulos anteriores e por elementos de memória, necessários aos Sistemas Digitais.

Dentre esses tipos de circuitos, podemos citar os contadores e os registradores e as


máquinas de estados, presentes no projeto de todos os processadores, dentre outros
circuitos utilizados na construção de computadores ou Sistemas Digitais e no armazena-
mento de dados em sistemas de memória.

Uma característica fundamental desses circuitos que também estudaremos é a pre-


sença de um sinal de relógio (um clock), que sincroniza a atualização dos diferentes
estados que um Circuito Sequencial pode assumir.

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.

Um Circuito Sequencial é composto por um Circuito Combinacional e por ele-


mentos de memória. As entradas e as saídas do Circuito Sequencial estão conectadas
somente ao Circuito Combinacional. Os elementos de memória são circuitos capazes de
armazenar informação codificada em binário.

Algumas das saídas do Circuito Combinacional são entradas para os elementos de


memória, recebendo o nome de variáveis do próximo estado.

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.

As conexões entre o Circuito Combinacional e os elementos de memória configuram


o que se costuma chamar laço de realimentação, pois a saída de um bloco é entrada
para o outro e vice-versa.

A informação armazenada nos elementos de memória num dado instante determina


o estado em que se encontra o Circuito Sequencial.

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.

Essa configuração depende do tipo do flip-flop. Dentre os mais comuns, destacam-se


os tipos RS, JK, D (Data) e T (Toggle), cujos nomes fazem referência aos seus respecti-
vos bits de entrada de dados.

Cada um apresenta condições de operação específicas, que podem ser resumidas em


Tabelas Verdade.

A Figura 1 apresenta os blocos lógicos de representação desses elementos:

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

A entrada dinâmica C representa a entrada do sinal de relógio. As saídas são


representadas pelos terminais Q e Q .

Sinais de Relógio (Clocks) e Circuitos Síncronos e Assíncronos


O sinal de relógio ou clock determina o instante em que o flip-flop amostra o valor
do dado, correspondendo à transição de uma borda de subida ou a uma borda de desci-
da, de acordo com a forma como o flip-flop é constituído.
Os valores que representam o próximo estado do dispositivo são amostrados somen-
te na borda ativa do relógio.
Logo, o estado atual fica armazenado no flip-flop até que uma nova borda do relógio
atualize o armazenamento permitindo, então, que o próximo estado passe a ser o esta-
do atual e gerando um novo próximo estado através do Circuito Combinacional.
Independentemente do tipo da sincronização, o tempo que passa entre duas amos-
tragens sucessivas equivale ao período T do relógio.

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.

O tempo que decorre para o sinal se repetir é denominado período e é representado


por T, como ilustrado em (b). O tempo entre duas bordas de subida sucessivas é igual a
T e, da mesma forma, o tempo entre duas bordas de descida sucessivas é igual a T.

A frequência de um sinal de relógio ou clock é representada por f ou Hz e pode ser


definida como sendo o inverso do período ou tempo.

Figura 2 – Transições de subida e de descida em pulsos digitais (a)


e exemplo de sinal de relógio utilizado em sistemas sequenciais (b)
Fonte: Adaptado de FLOYD, 2007

Em um Circuito Sequencial síncrono, o sinal de relógio determina o instante em que


os elementos de memória irão apresentar os valores de suas entradas. Dependendo do
tipo do circuito que será utilizado como elemento de memória, essa amostragem das en-
tradas será sincronizada pela borda ascendente ou descendente do relógio. Isso implica
que mudanças no estado de um Circuito Sequencial síncrono irão ocorrer somente após
a borda do sinal de relógio, na qual seus elementos de memória são disparados.

O comportamento de um Circuito Sequencial assíncrono depende da ordem na qual


as entradas mudam e o estado do circuito pode se alterar a qualquer tempo, como con-
sequência de uma mudança de suas entradas.

Os elementos de memória utilizados nos Circuitos Sequenciais assíncronos apresen-


tam uma capacidade de armazenamento que está associada diretamente ao atraso de
propagação dos circuitos que os compõem.

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 Síncronos e Assíncronos


Os contadores são classificados em duas categorias, de acordo com a forma de atua-
lização dos pulsos de relógio (clock): assíncronos e síncronos.

O número de flip-flops usados e a forma através da qual são conectados determinam


o número de estados (denominado módulo) e a sequência de estados percorridos duran-
te cada ciclo completo.

Nos contadores assíncronos, também chamados de contadores ondulantes (ripple


counters), o primeiro flip-flop (referente ao dígito menos significativo, LSB, da con-
tagem) recebe o clock por meio de um pulso externo e os demais flip-flops sucessivos
recebem o clock da saída do flip-flop anterior.

Em contadores síncronos, a entrada de clock é conectada a todos os flip-flops, de


forma que eles recebem o sinal simultaneamente. Dentro dessas categorias, os contado-
res são classificados pelo tipo de sequência, pelo número de estados ou pelo número de
flip-flops no contador.

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.

Como exemplo da análise desse tipo de contador, a sequência de estados para um


contador binário assíncrono de 3 bits e seu respectivo circuito são mostrados, respecti-
vamente, nas Figuras 3(a) e 3(b):

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

Vamos analisar a operação básica do contador apresentado na Figura 3 aplicando


um conjunto de pulsos de clock no flip-flop FF0 e observando o comportamento de
cada saída Qn dos flip-flops.

Os três flip-flops são conectados para operação Toggle (J = 1, K = 1) e considera-se


que estejam inicialmente resetados (Qn em nível BAIXO).

No circuito apresentado, o flip-flop FF2 é considerado o dígito mais significativo


(MSB), pois é o último elemento a receber o sinal de relógio, enquanto FF0 é dito menos
significativo (LSB), por se tratar do flip-flop que recebe o sinal de relógio externo.

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.

Figura 4 – Diagrama de temporização para o contador da Figura 3


Fonte: Adaptado de FLOYD, 2007

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.

A sequência de pulsos de relógio continua sendo enviada ao contador, atualizando os


estados dos flip-flops.

Observe, de acordo com o diagrama apresentado na Figura 4, que o contador avança


pela contagem binária de zero até sete e, então, recicla para o estado zero. Nesse mo-
mento, diz-se que o contador reciclou para o seu estado original (com todos os flip-flops
resetados). Esse contador pode ser expandido para contagens maiores acrescentando-se
mais flip-flops T à direita de FF2.

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

Esse contador em particular é implementado com flip-flops disparados por borda


negativa, apenas para variação das análises observadas.

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.

Diagrama de Transição de Estados


Um diagrama de estados é uma forma gráfica muito usual para representar os está-
gios executados por um Circuito Sequencial. A Figura 6(c) apresenta, como exemplo, o
diagrama de transição de estado para o circuito contador síncrono da Figura 6(a), cujos
estados são apresentados na tabela 6(b).

O diagrama indica como as saídas dos flip-flops mudam de estado conforme os


pulsos são aplicados à entrada de clock. Observe que cada círculo representa um dos
possíveis estados do contador e que as setas indicam como um estado muda para outro
em resposta a um pulso de relógio de entrada.

Figura 6 – Exemplo de circuito contador síncrono (a). Tabela de estados de


contagem (b). Representação dos estados na forma de diagrama de transição (c)
Fonte: Adaptado de TOCCI; WIDMER; MOSS, 2007

Se assumirmos uma contagem inicial de 000, o diagrama mostra que os estados do


contador mudam normalmente até a contagem de 100.

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:

Figura 7 – Movimentos de dados em registradores de


deslocamento. Os bits se movem na direção das setas
Fonte: Adaptado de FLOYD, 2007

Um registrador tem sua nomenclatura identificada pelo formato no qual ocorre a


transferência de dados em sua entrada e saída.

Um registrador de entrada serial e saída serial recebe os dados de forma serial, ou


seja, um bit a cada ciclo de relógio (primeiro o bit mais à direita do dado, o LSB), e envia
os bits à saída também de forma serial. Para receber ou transmitir n bits, o registrador
precisa de n+1 ciclos de relógio.

17
17
UNIDADE Circuitos Sequenciais e Memórias

Já um registrador de entrada paralela e saída paralela recebe n bits simultanea-


mente em suas n entradas em um único ciclo de relógio, enviando-os também simulta-
neamente às n saídas após um ciclo de relógio apenas.

O registrador de entrada serial e saída paralela combina as respectivas operações


de entrada e saída citadas anteriormente: a cada ciclo de relógio, um novo bit é inserido
na entrada do registrador. Porém, cada estágio de transferência interna está disponível
na saída do registrador: uma vez armazenados os dados, cada bit aparece em sua linha
de saída respectiva e todos os bits são disponibilizados simultaneamente.

Finalmente, para um registrador de entrada paralela e saída serial, os bits são


inseridos simultaneamente nos seus respectivos estágios em linhas paralelas, como
citado anteriormente.

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.

A Figura 8 ilustra a aplicação de um registrador paralelo-paralelo constituído por


flip-flops do tipo D como armazenador e transferidor de dados originados em um deter-
minado Circuito Combinacional.

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

Figura 8 – Exemplo de aplicação de um registrador paralelo-paralelo


Fonte: Adaptado de TOCCI; WIDMER; MOSS, 2007

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.

Figura 9 – Representação esquemática das máquinas de Mealy e de Moore


Fonte: Adaptado de TOCCI; WIDMER; MOSS, 2007

No esquema ilustrado, o Circuito Sequencial é formado por um bloco combinacional


e por um bloco de memória, comuns a ambos os modelos, a exemplo dos sinais de
controle e realimentação.
A saída produzida por uma máquina de estado pode vir diretamente das saídas dos
flip-flops ou pode haver um circuito de saída complementar, conforme indicado no dia-
grama de blocos da Figura 9.
No modelo Mealy, os sinais de saída também são controlados por sinais de entrada
adicionais, enquanto o modelo Moore não tem nenhum controle externo para os sinais
de saída gerados, ou seja, a saída de uma máquina de Moore é função apenas dos esta-
dos dos flip-flops do bloco de memória.

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.

Os computadores e outros tipos de Sistemas Digitais necessitam de armazenamento


permanente ou quase permanente de uma grande quantidade de dados.

Esses sistemas fazem uso de dispositivos de armazenamento e memórias para suas


operações por causa da necessidade do armazenamento de programas e para retenção
de dados durante o processamento.

Na terminologia da computação, geralmente, quando se fala em memória nos refe-


rimos a RAM (Random Access Memory) e ROM (Read-Only Memory), enquanto para
armazenamento nos referimos a disco rígido e dispositivos portáteis.

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.

As memórias semicondutoras consistem em arranjos de elementos que geralmente


são latches ou capacitores.

Conceitos Básicos de Memórias Semicondutoras


Normalmente, em muitas aplicações, as memórias de sistemas microprocessados
armazenam dados em unidades de oito bits, denominadas de byte ou em múltiplos de
unidades de 8 bits.

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.

Cada elemento de armazenamento numa memória pode reter um nível 1 ou um nível


0 é denominado de célula. As memórias são construídas de arranjos de células, confor-
me ilustrado nos exemplos da Figura 10.

Cada bloco, no arranjo da memória, representa uma célula de armazenamento e a


sua posição pode ser identificada especificando a linha e a coluna correspondente.

A localização de uma unidade de dado num arranjo de memória é denominada en-


dereço.

O endereço depende de como a memória está organizada no sistema em termos


de unidades de dados. Se um determinado sistema tem memórias de acesso aleatório
organizadas em bytes, isso significa que o menor grupo que pode ser endereçado é de
oito bits.

Já a capacidade de uma memória é o número total de unidades de dados que podem


ser armazenadas.

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

Operações com Memórias


Em Sistemas Digitais que contam com armazenamento, os dados têm de ser inseri-
dos numa memória e copiados dela quando necessário. A operação de escrita insere
dados num endereço específico da memória e a operação de leitura copia dados de um
endereço específico na memória.
Complementarmente, a operação de endereçamento, que ocorre nas operações de
leitura e escrita, seleciona o endereço de memória especificado.
Um barramento de dados é o conjunto de linhas responsável pelo tráfego dos da-
dos. O barramento de dados é bidirecional, o que significa que os dados podem trafegar
em qualquer direção (para dentro ou para fora da memória).
Para uma operação de escrita ou leitura, um endereço é representado por um código
binário que corresponde ao endereço desejado, num conjunto de linhas denominado
barramento de endereço.
A Figura 11 ilustra um exemplo de organização de memória de duas dimensões em
um sistema microprocessado:

Figura 11 – Diagrama em bloco de uma memória de duas dimensões


Fonte: Adaptado de FLOYD, 2007

21
21
UNIDADE Circuitos Sequenciais e Memórias

Memórias RAM e ROM


As duas principais categorias das memórias são a RAM e a ROM. A RAM é um
tipo de memória na qual todos os endereços são acessados em tempos iguais e podem
ser selecionados em qualquer ordem para uma operação de leitura ou escrita.
Devido à característica das RAMs perderem os dados armazenados quando a alimen-
tação é desligada, elas são memórias definidas como voláteis.
A ROM é um tipo de memória na qual os dados são armazenados permanente ou
quase permanentemente. Dados podem ser lidos da ROM, porém não existe operação
de escrita como na RAM.
Devido às ROMs manterem os dados armazenados mesmo se a alimentação for des-
ligada, elas são memórias não voláteis.

Tipos de Memórias RAM


As duas categorias básicas de RAM são a RAM estática (SRAM) e a RAM dinâmi-
ca (DRAM).
As RAMs estáticas geralmente usam latches e flip-flops como elemento de armaze-
namento e armazenam dados enquanto a tensão de alimentação estiver presente.
As RAMs dinâmicas usam capacitores como elementos de armazenamento e não
podem reter os dados por muito tempo sem que o capacitor seja recarregado por um
processo denominado renovação (refresh). As RAMs dinâmicas também perdem os
dados quando a alimentação é removida.
De forma geral, as DRAMs podem armazenar mais dados que as SRAMs para um
dado tamanho físico e custo pois as células DRAM são mais simples de construir, ocu-
pando menos espaço e permitindo que mais células estejam disponíveis numa determi-
nada área do chip do que para uma SRAM.
No entanto, as SRAMs apresentam maiores velocidades de operação do que as
DRAMs, justificando aplicações em memórias caches de computadores.

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.

Dentre os tipos de ROM, a memória PROM, ou ROM programável, é o tipo no qual os


dados são armazenados eletricamente por meio do uso de um equipamento especializado.

A EPROM, ou PROM apagável, diferentemente de uma PROM comum, pode ser


reprogramada se o conteúdo existente no arranjo da memória for apagado primeiro.

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.

Já a PROM apagável eletricamente (EEPROM ou E2PROM) pode ser apagada e progra-


mada em alguns milissegundos por meio da aplicação de uma tensão elétrica específica.

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!

Para finalizarmos a Unidade e a Disciplina, é importante lembrar que os conceitos e


as técnicas estudados são a base conceitual do funcionamento dos hardwares de Siste-
mas Digitais.

Isso pede, portanto, um estudo cuidadoso sobre cada tema abordado, pois eles serão
necessários em desdobramentos futuros ao longo do Curso.

Desde já, convidamos você a verificar as bibliografias recomendadas e se aprofundar


nos assuntos abordados, não se limitando apenas aos exemplos e aos contextos aborda-
dos ao longo das Unidades.

Um forte abraço e bons estudos!

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)

FLOYD, T. Sistemas digitais: fundamentos e aplicações. 9.ed. Porto Alegre: Book-


man, 2011. (e-book)

MAINI, A. K. Digital Electronics: principles, devices and applications. West Sussex:


John Wiley & Sons, 2007.

TOCCI, R. J.; WIDMER, N. S.; MOSS, G. L. Digital Systems: principles and


applications. 10.ed. New Jersey, US: Pearson. 2007.

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

Você também pode gostar