Вы находитесь на странице: 1из 24

CAPTULO 12

MEMRIAS

Memrias so circuitos de armazenamento de dados usados em computadores,


controladores, processadores digitais e em uma grande variedade de circuitos digitais. As
memrias so empregadas para registar programas e dados empregados pelos programas,
tais como valores, textos, imagens e outros. Todo poder computacional fica dependente da
capacidade e velocidade das memrias.

As memrias podem armazenar dados temporariamente durante operaes ou podem


registrar dados por prazo indeterminado. Os dados podem ser mantidos de forma esttica ou
dinmica e as memrias podem ser implementadas por diferentes mecanismos de registro
tais como capacitivo, eletrnico, magntico, ptico e outros, entretanto este material
concentra-se somente s memrias semicondutoras.

12.1 TIPOS DE MEMRIAS

As memrias semicondutoras podem ser classificadas em volteis e no-volteis.


Nas memrias volteis a informao mantida somente enquanto estiverem energizadas ao
passo que nas memrias no-volteis a informao mantida. Em geral as memrias
volteis so mais rpidas que as no-volteis.

As memrias ROM, PRO, EPROM, E2PROM e Flash correspondem s no volteis


enquanto que a memria RAM corresponde voltil.

Nas memrias de acesso aleatrio (Random Access Memory RAM) o tempo para
acessar qualquer posio de memria basicamente o mesmo, isto , no depende da
posio onde se deseja gravar ou ler o dado. No caso das memrias de acesso sequencial
(Sequential Access Memory SAM) o tempo de acesso do dado depende de sua posio na
memria, como ocorre em CD, DVD, HD e memrias de fita magntica, isto , depende do
atraso mecnico em se acessar a posio do dado desejado.

Notas de Aula ELTD01 Prof. Tales C Pimenta, PhD


12.2 MEMRIAS VOLTEIS

Considere o registrador apresentado na Figura 12.1. Na presena de Clk, os dados


presentes nas entradas E0E1E2E3 so simultaneamente capturados pelos flip-flops e ficam
presentes nas sadas S0S1S2S3. Esta estrutura corresponde uma memria primitiva de uma
posio com quatro bits. Enquanto no houver novo pulso de Clk e enquanto a energia for
mantida, os dados estaro preservados.

Figura 12.1 - Memria primitiva 1x4.

Ao se tomar quatro cpias dessa estrutura e pela adio de um multiplexador e um


demultiplexador, tem-se uma memria primitiva de quatro posies de quatro bits cada, ou
seja, uma memria 4x4, como mostrado na Figura 12.2.

Figura 12.2 - Memria primitiva 4x4.

Notas de Aula ELTD01 Prof. Tales C Pimenta, PhD


Os dados a serem gravados so colocados nas entradas E0E1E2E3. Atravs das
entradas de seleo de gravao G1G0 escolhe-se a posio (linha) de gravao, e a seguir
aplica-se um pulso em Grava. Como exemplo, se G1G0=00 ento a Linha 0 selecionada e
os dados disponveis em E0E1E2E3 sero gravados no flip-flops 00, 01, 02 e 03, mediante
um pulso em Grava. O processo de gravao tambm conhecido como escrita.

A leitura feita pela seleo da posio (linha) desejada atravs das entradas de
seleo de leitura L1L0. Como exemplo, sendo L1L0=10, selecionam-se os flip-flops 20, 21,
22 e 23, e seus dados so apresentados nas sadas S0S1S2S3.

As entradas de seleo de posio (linha) da memria so tambm chamadas de


entradas de endereo. Nessa memria h endereo de leitura e de escrita. Por simplicidade,
essa memria pode ser representada pelo smbolo apresentado na Figura 12.3.

Figura 12.3 - Representao de uma memria primitiva 4x4.

Pode-se perceber que a quantidade de linhas de endereo, tanto para leitura quanto
para gravao, funo da quantidade de posies. Com n linhas de endereo podem-se
selecionar 2n posies. Desta forma, uma memria de 1024 posies necessitaria de 10
linhas de endereo para escrita e mais 10 linhas de endereo de escrita.

A Figura 12.4 apresenta uma forma de reduzir essa quantidade de entradas de


endereo pela metade, bastando usar as mesmas linhas para escrita ou leitura. Nesse caso h
as linhas de endereo comuns A1A0.

Se a entrada Habilita Leitura estiver em 1, os buffers (circuitos no inversores)


estaro em modo normal de operao, isto , o dado presente na sua entrada duplicado em
sua sada. Nesse caso, os dados da memria, presentes em S0S1S2S3, estaro disponveis em
D0D1D2D3 e a memria poder ser lida. As linhas de endereo A1A0 determinam a posio
de memria acessada. Esse o processo de leitura.

Por outro lado, se a entrada Habilita Leitura estiver em 0, os buffers estaro com sua
sada em alta impedncia. Assim funcionam como se suas sadas estivessem fisicamente
desligadas, isto , no estariam ligados 0 ou 1. Assim, os dados da memria presentes em
S0S1S2S3 estaro isolados de D0D1D2D3.

Notas de Aula ELTD01 Prof. Tales C Pimenta, PhD


Para a gravao, ou escrita, a linha Habilita Leitura deve permanecer em 0. Dados
so colocados nas linhas D0D1D2D3 pelo circuito externo e, consequentemente, estaro
presentes em E0E1E2E3. Esses dados so gravados na posio de memria dada por A1A0
mediante um pulso na entrada Grava. Esse o processo de escrita, ou gravao.

Figura 12.4 - Representao de uma memria 4x4.

A Figura 12.5 apresenta uma estrutura alternativa de uma memria 4x4. Se a linha
Habilitar estiver em 0, a memria fica inativa, pois no pode ser gravada (Grava=0) e no
pode ser lida, pois os buffers esto em esto de alta impedncia. Em outras palavras, a
memria atua como se no existisse. Se a linha Ler / Escrever estiver em 0, os buffers
estaro habilitados e a memria ser lida pelo endereo dado em A1A0. Se a linha
Ler / Escrever estiver em 1, a memria estar habilitada para escrita (Grava=0), pelo
endereo dado em A1A0.

Figura 12.5 - Estrutura alternativa de uma memria 4x4.

Notas de Aula ELTD01 Prof. Tales C Pimenta, PhD


Seguindo o mesmo conceito, podem-se implementar memrias com mais posies e
com mais bits por posio. A Figura 12.6 apresenta a representao grfica usual para as
memrias. Observe que tipicamente a entrada de habilitao ativa por nvel baixo!

Como os dados so mantidos estticos, essa memria conhecida com RAM esttica
ou SRAM. Enquanto a memria estiver energizada, os dados estaro preservados.

Figura 12.6 - Representao tpica de uma memria 4x4.

12.2.1 Memria RAM Dinmica

Na memria dinmica o dado preservado sob a forma de carga em um capacitor.


Assim, se o capacitor estiver carregado, significa valor lgico 1 e se o capacitor estiver
descarregado, implica em valor lgico 0.

A Figura 12.7 ilustra o princpio de implementao de uma clula de memria


dinmica. Quando a linha Escrever estiver acionada (nvel alto), o transistor M1 ir conduzir
e o capacitor C ser carregado com o valor lgico da entrada E. Por outro lado, quando a
linha Ler estiver acionada (nvel alto), o transistor M3 ir conduzir. Nesse caso, se o
capacitor C estiver carregado (nvel lgico alto), o transistor M2 tambm ir conduzir e
haver corrente ID. Entretanto, se o capacitor estiver descarregado (nvel lgico baixo), o
transistor M2 no ir conduzir e consequentemente no haver corrente ID. Desta forma, a
presena de corrente ID indica nvel lgico alto armazenado e a ausncia de corrente ID
indica nvel lgico baixo armazenado.

Figura 12.7 - Princpio de implementao de uma memria dinmica.

Notas de Aula ELTD01 Prof. Tales C Pimenta, PhD


Infelizmente as correntes de fuga fazem com que a carga do capacitor se perca com o
tempo. Desta forma, essa memria exige que sejam feitas periodicamente operaes de
reescrita no capacitor para reestabelecer a carga, conhecidas como restaurao ou
refreshing. Essa memria conhecida como memria RAM dinmica ou DRAM.

12.3 MEMRIAS NO-VOLTEIS

As memrias no volteis so amplamente utilizadas onde os dados devem ser


preservados mesmo que haja a perda de energia ou em aplicaes que demandam
portabilidade dos dados. Como exemplo, ao se ligar um computador, executado um
programa de inicializao BIOS que fica gravado em uma memria no-voltil. Os cartes
que armazenam fotos de mquinas fotogrficas e celulares tambm so memrias no-
volteis.

12.3.1 Memria ROM

A Figura 12.8 ilustra a forma elementar de se implementar uma Memria de Apenas


Leitura (Read Only Memory ROM), que composta apenas por portas lgicas. Os dados
armazenados esto indicados na Tabela 12.1. Como exemplo, o endereo A1A0=00 torna a
linha de sada 00 do decodificador igual a 1, e as demais linhas iguais a 0. Desta forma, as
linhas de dados D3 e D0 tornam-se 1 e as demais ficam em 0, como indicado na primeira
linha da tabela.

Figura 12.8 - Memria ROM 4x4 com portas lgicas.

Tabela 12.1 Dados da memria 4x4 com portas lgicas.

Endereo Dados
A1 A0 D3 D2 D1 D0
0 0 1 0 0 1
0 1 1 1 1 0
1 0 1 0 1 1
1 1 0 1 0 1

Notas de Aula ELTD01 Prof. Tales C Pimenta, PhD


Entretanto essa no uma forma prtica de implementar uma memria ROM, na
verdade ao invs de portas lgicas mais interessante usar a estrutura de diodos ilustrada na
Figura 12.9. Esse tipo de memria foi usado pela primeira vez com o computador ENIAC
em 1948. Os dados armazenados nessa memria so os mesmos da memria anterior,
apresentados na Tabela 12.1. Como exemplo, o endereo A1A0=00 torna a linha de sada 00
do decodificador igual a 1. Isso faz com que os diodos de cor laranja conduzam e
consequentemente as linhas de dados D3 e D0 tornam-se 1. As linhas de dados D2 e D1
permanecem em 0, pois esto ligadas somente ao terra, via resistor.

Figura 12.9 - Memria ROM 4x4 com diodos.

As linhas de sada 01 e 01 do decodificador precisam fornecer corrente para trs


sadas. Se fosse uma memria com maior nmero de bits, as linhas de sada do
decodificador precisariam alimentar muitas cargas. Para evitar sobrecarregar as linhas de
sada utilizam-se transistores no lugar dos diodos, como mostrado na Figura 12.10. Com
isso, o decodificador precisa fornecer apenas as correntes de base dos transistores.

Figura 12.10 - Memria ROM 4x4 com dos dados da Tabela 12.1.utuilizando transistores bipolares.

Notas de Aula ELTD01 Prof. Tales C Pimenta, PhD


A Figura 12.11 ilustra a mesma configurao de memria, porm com a substituio
dos transistores bipolares por transistores de efeito de campo. A grande vantagem, alm da
reduo de rea inerente dos transistores de efeito de campo comparados aos transistores
bipolares, a eliminao da corrente de base. Tanto no caso de transistores bipolares quanto
no caso de transistores de efeito de campo, se a sada do decodificador estiver em nvel alto,
os transistores ligados essa sada so acionados e as linhas de dados so levadas para 1.

Figura 12.11 - Memria ROM 4x4 com dos dados da Tabela 12.1.utuilizando transistores de efeito de campo.

Entretanto, essa memria no prtica, pois os dados devem ser configurados


durante a fabricao e no podem ser alterados.

12.3.2 Memria PROM

Em 1956 foi desenvolvida Memria de Apenas Leitura Programvel (Programmable


Read Only Memory PROM). A memria consiste de um arranjo de diodos em srie com
um elo fusvel, como indicado na Figura 12.12.

D3 D2 D1 D0
00

01
A0
Decodificador
2x4
A1 10

11

Figura 12.12 - Memria PROM 4x4 com elos fusveis intactos.

Notas de Aula ELTD01 Prof. Tales C Pimenta, PhD


Nesse caso, a programao consiste na queima do fusvel, e feita pelo usurio
atravs da aplicao de uma diferena de potencial entre linha e coluna do fusvel. A Figura
12.13 - Memria PROM 4x4 com os dados da Tabela 12.1.Figura 12.13 apresenta a
configurao com a mesma programao dos dados apresentados na Tabela 12.1.
Obviamente, onde o fusvel est intacto h a ligao eltrica e onde o fusvel foi queimado
no h ligao eltrica, configurando assim 1 e 0, respectivamente.

Figura 12.13 - Memria PROM 4x4 com os dados da Tabela 12.1.

As mesmas consideraes de capacidade de corrente tambm valem para as


memrias PROM. As Figura 12.14 e Figura 12.15 mostram, respectivamente, as
implementaes de dados da Tabela 12.1 usando transistores bipolares e transistores de
efeito de campo. Outro tipo de PROM consiste em um arranjo com anti-fusveis, isto , as
conexes so fornecidas abertas. Atravs da aplicao de uma diferena de potencial entre
coluna e linha desejada, ocorre o estabelecimento de uma conexo eltrica.

Figura 12.14 - Memria PROM 4x4 com os dados da Tabela 12.1 usando transistor bipolar.

Notas de Aula ELTD01 Prof. Tales C Pimenta, PhD


Figura 12.15 - Memria PROM 4x4 com os dados da Tabela 12.1 usando transistor de efeito de campo.

12.3.3 Memria EPROM

A Memria de Apenas Leitura Programvel e Apagvel (Erasable Programmable


Read Only Memory EPROM) foi desenvolvida em 1971. Os dados armazenados podem
ser apagados e a memria reprogramada por tipicamente 1000 ciclos. O seu princpio de
operao est baseado no transistor de efeito de campo com um gate flutuante, como
ilustrado na Figura 12.16.

Figura 12.16 Transistor nMOS com gate flutuante.

No caso do transistor nMOS normal, isto , sem o gate flutuante, ao se aplicar uma
tenso positiva no gate, h a formao de um canal, como indicado na Figura 12.17. Isto
ocorre por efeito capacitivo (ou espelhamento), ou seja, as cargas positivas no gate atraem
cargas negativas no substrato e h consequentemente a formao do canal.

Figura 12.17 Transistor nMOS com formao de canal.


Notas de Aula ELTD01 Prof. Tales C Pimenta, PhD
Se forem depositadas cargas negativas no gate flutuante, mesmo que haja a aplicao
de um potencial positivo no gate de controle, no h a formao de canal, como ilustrado na
Figura 12.18. As cargas positivas do gate de controle atrairiam cargas negativas do substrato
para formar o canal, porm as cargas negativas do gate de controle expulsam as cargas
negativas do substrato e consequentemente no h a formao do canal. Por outro lado sem
cargas no gate flutuante, o gate de controle capaz de promover a formao do canal e
consequentemente o transistor conduz.

Figura 12.18 Transistor nMOS com gate flutuante, sem formao de canal.

A programao obtida aterrando-se a fonte e o substrato, e aplicando uma tenso


ao gate e ao dreno, de 25V. Esta diferena de potencial faz com que alguns eltrons cruzem
a barreira do dieltrico e fiquem aprisionadas indefinidamente no gate flutuante. A Figura
12.19 apresenta a estrutura de uma memria EPROM.

O apagamento obtido por radiao ultravioleta que altera as caractersticas do


dieltrico e permite que a carga acumulada escape do gate flutuante. H uma janela de
quartzo no topo do circuito integrado dessas memrias. Assim, para fazer o apagamento dos
dados basta expor o chip luz ultravioleta de uma fonte adequada ou mesmo do sol por
alguns minutos. Consequentemente, toda a memria apagada. A seguir a janela deve ser
coberta para evitar apagamentos indesejveis.

Figura 12.19 Estrutura de uma EPROM.

Notas de Aula ELTD01 Prof. Tales C Pimenta, PhD


A Figura 12.20 ilustrra a imagem
m de uma EP
PROM com
m a janela dee quartzo ab
berta.

Figura 12.20 Estrutura de


d uma EPROM
M.

o E2PROM
12.3.44 Memria EEPROM ou M

A Memrria de Apen
nas Leitura Programvel e Apagv
vel Eletricaamente (Eleectrically
Erasaable Program ad Only Meemory EPR
mmable Rea ROM) foi criada
c em 19983 e permite que a
gravao e o appagamento seja feitos de forma eletrnica. A sua esttrutura similar
s
EPRO
OM e o apagamento pode
p ser coonduzido em
e determin
nados bloccos da mem
mria. O
processso de escriita em uma EEPROM bem maiis lento (ord
dem de millissegundos)) do que
em um
ma memriaa RAM (ord
dem de nanoosegundos)..

A program
mao ob
btida aterranndo-se a fon
nte e o subsstrato, e apllicando um
ma tenso
de 20V
V entre gatee e dreno. Esta
E diferena de poten
ncial faz com
m que algunns eltrons cruzem
c a
barreirra do dielttrico e fiquem aprisionnadas indeffinidamente no gate fluutuante. O processo
p
de apaagamento coonsiste na aplicao
a dee tenses op
postas.

12.3.55 Memria Flash

A memrria Flash uma variao da E2PR


ROM e tambm connhecida com
mo flash
ROM ou flash EE
EPROM. Ela foi desennvolvida 19
984 pela Tosshiba e com
mercializadaa a partir
de 1990. Essa memria
m pod
de ser gravaada e lida muito rapid
damente e ttipicamentee suporta
mais dde 1 milhoo de ciclos de
d escrita/leiitura.

A memria Flash muito otimizadaa em term


mos de rea de silcio e
conseqquentementte cada chip
p resulta em
m alta capaccidade de arrmazenameento. Isto peermitiu a
grandee difuso e o seu amp
plo uso em
m mquinas fotogrficaas, telefone s celulares,, tablets,
compuutadores e dispositivos
d USB para aarmazenam
mento de dad
dos.

Notass de Aula ELTD01 Prof. Talles C Pimen


nta, PhD
12.4 ARRANJOS DE MEMRIAS

As memrias encontram inmeras aplicaes destacando-se computadores


(incluindo tablets, celulares e mquinas fotogrficas), microcontroladores e inmeras
aplicaes onde se necessitam armazenar dados. Muitas vezes torna-se necessrio associar
arranjos de memrias para se obter capacidades maiores.

12.4.1 Associao Paralela ou Horizontal de Memrias

O arranjo paralelo usado para aumentar o nmero de bits da memria. Como


exemplo, a Figura 12.21.a mostra uma memria 16x4 que ser usada para implementar uma
memria 16x8, como mostrado na Figura 12.21.b.

Figura 12.21 Memrias (a) 16x4 e (b) 16x8.

Nesse caso, as memrias so colocadas em paralelo, isto , devero ter as mesmas


linhas de endereo e de controle, como mostrado pela Figura 12.22. Assim, ao selecionar
um determinado endereo (linhas vermelhas), ambas as memrias tero o mesmo endereo e
consequentemente selecionaro a mesma posio de memria. Os dados de cada memria (4
bits cada) perfaro os dados completos (8 bits).

Figura 12.22 Memria 16x8 a partir de memrias 16x4.

Notas de Aula ELTD01 Prof. Tales C Pimenta, PhD


12.4.2 Associao Serial ou Vertical de Memrias

O arranjo serial usado para aumentar o nmero de posies de memria. Como


exemplo, a Figura 12.23.a mostra uma memria 16x8 que ser usada para implementar uma
memria 32x8, como ilustrado na Figura 12.23.b. Deve-se lembrar que a memria 16x8
tema de 4 linhas de endereo e a memria 32x8 requer 5 linhas para endereamento.

Figura 12.23 Memria (a) 16x8 usada para implementar memria (b) 32x8.

A Figura 12.24 apresenta uma possvel soluo usando-se um decodificador 1x2. Se


a linha A4 for igual a 0, a sada 0 do decodificador estar em nvel baixo (observe que a
sada invertida) e consequentemente a memria superior estar habilitada. Por outro lado,
se a linha A4 for igual a 1, a sada 1 do decodificador estar em nvel baixo e desta forma a
memria inferior estar habilitada. A linha de endereamento A4 funciona como um
selecionador de mdulo de memria. A seleo feita atravs das linhas de habilitao
(Enable) das memrias.

Figura 12.24 Memria 32x8 a partir de memrias 16x8 sem linha de habilitao.

Notas de Aula ELTD01 Prof. Tales C Pimenta, PhD


Entretanto, essa soluo apresenta uma deficincia. Sempre uma das memrias
estar habilitada! Isso pode ser um problema, pois na maioria dos sistemas torna-se
necessrio controlar o momento em que a memria deva estar operacional. Assim, ao invs
de usar um decodificador 1x2, pode-se usar um decodificador com linha de habilitao ou
simplesmente um demultiplexador 1x2, como ilustrado na Figura 12.25.

Figura 12.25 Memria 32x8 a partir de memrias 16x8 com linha de habilitao.

Se a linha de habilitao (Enable) estiver em 0, o decodificador estar habilitado e


consequentemente uma das sadas estar ativa. Se, por outro lado a linha de habilitao
(Enable) estiver em 1, o decodificador estar inativo e portanto as duas linhas de sada
estaro em 1. Esta caracterstica permite a implementao de sistemas maiores.

12.4.3 Decodificao de Endereos

Inicialmente os microcomputadores tinham barramentos de 8 bits, depois surgiram


16 e 32 bits e recentemente os barramentos de 64 bits. Existem obviamente sistemas com
outros tamanhos de barramentos. Por uma questo de simplicidade, os exemplos a seguir
sero apresentados para barramentos de 8 bits, mas o princpio vlido para outros valores.

A memria apresentada na Figura 12.25 tem 5 linhas de endereo (de A4 a A0).


Admita agora que essa memria deva ser usada em um sistema que tenha 8 linhas de
endereo (de A7 a A0).

Notas de Aula ELTD01 Prof. Tales C Pimenta, PhD


Assim, a faixa de endereos do sistema ser de A7A6A5A4 A3A2A1A0 = 0000 0000 a
A7A6A5A4 A3A2A1A0 = 1111 1111, isto , de 00H a FFH. As linhas A3A2A1A0 das memrias
so ligadas diretamente s linhas A3A2A1A0 do sistema. As demais linhas precisam ser
levadas em conta de alguma forma, caso contrrio qualquer combinao das linhas A7A6A5
pode acionar as memrias.

Como exemplo, a memria apresentada na Figura 12.25 dever ser acessada a partir
da posio A7A6A5A4 A3A2A1A0 = 0000 0000. Isso implica que a ltima posio da memria
ser A7A6A5A4 A3A2A1A0 = 0001 1111, isto , de 00H a 1FH. Consequentemente, as linhas
A7A6A5 = 000 permanecem constantes, como mostrado na Tabela 12.2.
Tabela 12.2 Faixa de endereos: memria 32 posies a partir de 00H.

A7 A6 A5 A4 A3 A2 A1 A0
00H 0 0 0 0 0 0 0 0 Posio Inicial
1FH 0 0 0 1 1 1 1 1 Posio Final

Assim, a decodificao de endereo pode ser implementado com uma porta lgica
No-E, como mostrado na Figura 12.26. Observe que somente a combinao A7A6A5 = 000
capaz de habilitar o demultiplexador, que por sua vez seleciona uma das memrias.

Figura 12.26 Memria 32x8 habilitada a partir do endereo 00H.

Suponha agora que a memria deva ser acessada a partir do endereo A0H. Assim,
dever ser acessada a partir da posio A7A6A5A4 A3A2A1A0 = 1010 0000. Isso implica que a
ltima posio da memria ser A7A6A5A4 A3A2A1A0 = 1011 1111, ou seja BFH, como
mostrado na Tabela 12.3.
Tabela 12.3 Faixa de endereos: memria 32 posies a partir de A0H.

A7 A6 A5 A4 A3 A2 A1 A0
00H 1 0 1 0 0 0 0 0 Posio Inicial
1FH 1 0 1 1 1 1 1 1 Posio Final

Notas de Aula ELTD01 Prof. Tales C Pimenta, PhD


A decodificao de endereo pode ser implementada com uma porta lgica No-E,
como mostrado na Figura 12.27. Novamente observe que somente A7A6A5 = 101 capaz de
habilitar o demultiplexador.

O incio da decodificao desejada deve sempre iniciar com todas as linhas da


memria em 0, ou seja, deve ser sempre A7A6A5A4 A3A2A1A0 = XXX0 0000. Adicionalmente,
as demais linhas sempre devem permanecer constantes para a memria sendo decodificada.
Nesse exemplo, as linhas A7A6A5 tm seu valor fixo em 101.

Observe que as linhas de endereo da decodificao no acessam a memria!

Figura 12.27 Memria 32x8 habilitada a partir do endereo A0H.

Outra soluo seria com o uso de demultiplexadores, como mostrado na Figura


12.28. Novamente a memria deva ser acessada a partir do endereo A0H. Assim, somente
A7A6A5 = 101 deve ser capaz de habilitar a memria.

A linha A7 = 1 habilita a sada 1 do demultiplexador D7. Essa sada habilita o


demultiplexador D6 e como A6 = 0, a sada 0 do demultiplexador D6 torna-se ativa, o que por
sua vez habilita o demultiplexador D5 e como A5 = 1, a sua sada 1 do torna-se ativa. Isso
habilita o demultiplexador D4 que consequentemente habilita uma das memrias, em funo
de A4.

Notas de Aula ELTD01 Prof. Tales C Pimenta, PhD


Figura 12.28 Memria 32x8 habilitada a partir do endereo A0H usando demultiplexadores 1x2.

A decodificao de memria anterior pode ser melhorada pelo uso de um


demultiplexador 2x4, apresentado na Figura 12.29 e cuja operao dada pela Tabela 12.4.
Vale lembrar que demultiplexadores j foram introduzidos em captulos anteriores.

Figura 12.29 Demultiplexador 2x4.

Tabela 12.4 Operao de um demultiplexador 2x4.

Enable S1 S0 Y00 Y01 Y10 Y11


1 X X 1 1 1 1
0 0 0 0 1 1 1
0 0 1 1 0 1 1
0 1 0 1 1 0 1
0 1 1 1 1 1 0

O uso de demultiplexadores 2x4, como mostrado na Figura 12.30 permite tornar o


sistema de decodificao mais compacto. Novamente, a memria deva ser acessada a partir
do endereo A0H. Assim, somente A7A6A5 = 101 habilitam a memria. As linhas A7A6= 10
habilitam a sada 10 do demultiplexador D76. Essa sada habilita o demultiplexador D54. Se
A5A4= 10, a sada 10 habilita a memria superior. Por outro lado, se A5A4= 11, a sada 11
habilita a memria inferior.

Notas de Aula ELTD01 Prof. Tales C Pimenta, PhD


Desta forma foram utilizados dois decodificadores, ao invs de quatro, como no
exemplo da Figura 12.28. Novamente observe que as linhas de decodificao de endereo
no acessam diretamente a memria.

Figura 12.30 Memria 32x8 habilitada a partir do endereo A0H usando demultiplexadores 2x4.

12.4.4 Decodificao de Memrias de Tamanhos Diferentes

Ocasionalmente pode ser necessria a decodificao de um grupo de memrias de


tamanhos diferentes. Para cada memria individualmente, as linhas de decodificao devem
preferencialmente permanecer constantes e a decodificao deve ser iniciada pela memria
de maior tamanho. Considere como exemplo a decodificao de um banco consistindo de
112 posies de memria. Esse arranjo obtido com uma memria 26x8, uma memria 25x8
e uma memria 24x8.

A Tabela 12.5 apresenta o mapa de endereos das memrias e a Figura 12.31 ilustra
a decodificao usando demultiplexadores 2x4. A memria M0 habilitada por A7A6 = 10,
sendo a primeira posio acessada em A7A6A5A4 A3A2A1A0 = 1000 0000 e a ltima posio
acessada em A7A6A5A4 A3A2A1A0 = 1011 1111. Essa decodificao implementada pelo
demultiplexador D76 na Figura 12.31 com a sada 10 ativa. Observe que as linhas de
endereo que acessam o decodificador D76 no acessam diretamente a memria M0.

A memria M1 deve ser habilitada imediatamente aps a ltima posio de M0, isto
, de A7A6A5A4 A3A2A1A0 = 1100 0000 a A7A6A5A4 A3A2A1A0 = 1101 1111. Essa faixa de
endereos requer A7A6A5 = 110. A condio A7A6 = 11 obtida da sada 11 demultiplexador
D76 que habilita o demultiplexador D5. Se A5 = 0, a sada 00 do demultiplexador D5 torna-se
ativa e habilita M1. Por outro lado, se A5 = 1, a sada 01 do demultiplexador D5 torna-se
ativa habilita o demultiplexador D4. Assim, a sada 01 do demultiplexador D5 corresponde
ao endereo A7A6A5 = 111.
Notas de Aula ELTD01 Prof. Tales C Pimenta, PhD
A primeira posio de memria aps M1 A7A6A5A4 A3A2A1A0 = 1110 0000,
correspondendo primeira posio de M2. Observe pela Tabela 12.5 que M2 habilitada
por A7A6A5A4 = 1110 atravs do demultiplexador D4 pois a sada 00 do demultiplexador D4
depende de A4 = 0 e D4 habilitado por A7A6A5 = 111. Finalmente observe que as linhas de
endereo que acessam o decodificador D4 no acessam diretamente a memria M2.

Tabela 12.5 Faixa de endereos de 112 posies de memria a partir de 80H.

A7 A6 A5 A4 A3 A2 A1 A0
80H 1 0 0 0 0 0 0 0 Posio Inicial
Memria M0
BFH 1 0 1 1 1 1 1 1 Posio Final
C0H 1 1 0 0 0 0 0 0 Posio Inicial
Memria M1
DFH 1 1 0 1 1 1 1 1 Posio Final
E0H 1 1 1 0 0 0 0 0 Posio Inicial
Memria M2
EFH 1 1 1 0 1 1 1 1 Posio Final

Figura 12.31 Decodificao de 112 posies de memria a partir de 80H.

Notas de Aula ELTD01 Prof. Tales C Pimenta, PhD


12.4.5 Decodificao de Memrias com Endereo Fracionado

Nas decodificaes de endereo anteriores, o incio da faixa de endereos desejada


no era fracionada, isto , todas linhas de endereo que acessam a memria iniciavam em 0.
No exemplo anterior, a memria M0 acessada a partir de A7A6A5A4 A3A2A1A0 = 1000 0000,
isto , suas linhas de endereo se inicial em A5A4 A3A2A1A0 = 00 0000, conforme visto na
Tabela 12.5. O mesmo ocorre para a memria M1 que se inicia em A4 A3A2A1A0 = 0 0000 e a
memria M2 que se inicia em A3A2A1A0 = 0000. Apesar de ser conveniente dessa forma,
existe tambm a possibilidade de iniciar em qualquer endereo.

A Tabela 12.6 mostra duas alocaes de memria de 8 posies em um barramento


de 16 posies. A Memria X tem incio em A3A2A1A0 = 0000 e Memria Y tem incio em
A3A2A1A0 = 0110.

Como visto, a decodificao da Memria X ocorre quando A3 = 0, isto , sempre que


A3 = 0 a Memria X habilitada. Por outro lado, a Memria Y habilitada com algumas
condies especficas.
Tabela 12.6 Operao de um demultiplexador 2x4.

A3 A2 A1 A0 A3 A2 A1 A0
0 0 0 0 0 0 0 0
0 0 0 1 0 0 0 1
0 0 1 0 0 0 1 0
0 0 1 1 0 0 1 1
0 1 0 0 0 1 0 0
0 1 0 1 0 1 0 1
0 1 1 0 0 1 1 0
0 1 1 1 0 1 1 1
1 0 0 0 1 0 0 0
1 0 0 1 1 0 0 1
1 0 1 0 1 0 1 0
1 0 1 1 1 0 1 1
1 1 0 0 1 1 0 0
1 1 0 1 1 1 0 1
1 1 1 0 1 1 1 0
1 1 1 1 1 1 1 1

Memria X Memria Y

A condio de cada linha da memria deve ser lanada em um mapa de Karnaugh,


que dado por:

Notas de Aula ELTD01 Prof. Tales C Pimenta, PhD


A3 A 2
A1 A0 00 1
01 11 10
1
000 0 0
0 1 1
1
011 0 0
0 1 1
1
111 0 1
1 0 1
1
100 0 1
1 0 1
1

Y A3 A2 A3 A1 A3 A2 A1

Como se pode obseervar, essa decodificaao torna--se mais coomplexa do


o que a
decoddificao da Memria X.
X

H uma pequena
p sim
mplificaoo nesse proccesso. Com
mo a linha m
menos sign
nificativa
comea em 0, istoo , A0 = 0, ela pode seer omitida do
d mapa de Karnaugh,
K qque dado por:
p

A3 A 2
A1 00 01
1 11 10
1
0 0 0
0 1 1
1
0 0 1
1 0 1
1

Y A3 A2 A3 A1 A3 A2 A1

Essa simpplificao vlida som


mente para ass linhas men
nos significcativas. No exemplo
da Meemria Y, somente
s a linha A0 estt em 0, e portanto
p som
mente ela desconsideerada do
mapa de Karnauugh. Observ
ve que com
mo a linha A1 est em 1, tanto elaa quanto ass demais
linhass devem connstar no map
pa.

12.5 TEMPOR
RIZAO DE MEM
MRIAS

As mem
mrias neccessitam dde temporiizaes ad
dequadas para funccionarem
corretamente. Ass temporizaes depenndem fortem
mente do fabricante e dda memriaa, mas o
princppio da operrao semp
pre vlido.

A Figura 12.32 apressenta o diaggrama de leiitura de uma memria RAM, que tambm
vliddo para umaa memria ROM.
R Apss a aplicao dos enderreos no tem
mpo ta, a meemria
habilittada atravss da linha enable
e em nnvel baixo
o no tempo te. A memria ento libera
l os
dados no tempo no tempo td. Aps a linha enab
ble retornar para nvell alto, a meemria
desabiilitada e os dados no baarramento ddeixam de ser vlidos.

Notass de Aula ELTD01 Prof. Talles C Pimen


nta, PhD
Figura 12.32 Temporizao de leitura de memria RAM.

A Figura 12.33 apresenta o diagrama de escrita de uma memria RAM. Aps a


aplicao dos endereos no tempo ta, a memria habilitada atravs da linha enable em
nvel baixo no tempo te e em seguida os dados so aplicados no tempo no tempo td. Essa
sequncia pode variar de acordo com a memria, mas o importante que dados e endereos
estejam estveis antes da aplicao do sinal de escrita no tempo tw. Ao receber o sinal de
escrita em nvel alto, a memria grava os dados. Se o sinal de escrita for ativado antes dos
demais sinais, dados errados podero armazenados na memria.

Da mesma forma, somente aps a memria sair do modo escrita que os dados e o
endereo podero ser alterados. Caso contrrio, dados incorretos sero gravados na
memria.

Read/
Write

Enable

Endereo Endereo Vlido

Dados Dados Vlidos

ta te td tw

Figura 12.33 Temporizao de escrita de memria RAM.

Notas de Aula ELTD01 Prof. Tales C Pimenta, PhD


12.5 MEMRIAS UTILIZANDO VERILOG

Memrias utilizando Verilog.

12.6 EXERCCIOS

1. Utilizando o menor nmero possvel de portas lgicas bsicas, implemente um banco


de memria RAM de 512 palavras de 8 bits (512x8), utilizando memrias 256x4
para ser acessado a partir do endereo 0A00H.
2. Utilizando o menor nmero possvel de portas lgicas bsicas, implemente um banco
de memria RAM de 1536x8, utilizando uma memria 1024x8 e memrias 256x8,
para ser acessado a partir do endereo 6800H.
3. Utilizando o menor nmero possvel de portas lgicas bsicas, implemente um banco
de memria RAM de 1792x8, utilizando uma memria 1024x8, uma memria 512x8
e uma memria 256x8, para ser acessado a partir do endereo E800H.
4. Repita os exerccios anteriores, porm com o uso de decodificadores, como indicado
na Figura 12.29.
5. Implemente uma memria RAM 1024x8 utilizando pelo menos uma memria RAM
512x4 e pelo menos uma memria RAM 512x8. A memria deve ser endereada a
partir de B000H. Para implementar o decodificador utilize somente decodificadores
como apresentado na Figura 12.29.
6. Utilizando o menor nmero possvel de portas lgicas bsicas, faa a decodificao de
uma memria RAM de 1024x8, para ser acessada a partir do endereo F300H.
7. Repita o exerccio anterior, porm para o endereo A180H.
8. Nos exerccios anteriores, o que mudaria se as memrias RAM fossem substitudas
por memrias ROM?
9.

Notas de Aula ELTD01 Prof. Tales C Pimenta, PhD

Вам также может понравиться