Buscar

Memórias Eletrônicas: Conceitos e Organização

Prévia do material em texto

• Conceitos básicos de memórias eletrônicas
• Memórias ROM
Memórias eletrônicas
• Conceitos básicos
• Memórias RAM e ROM
• Exercícios
Conceitos básicos
• Hierarquia e terminologia de memória
• Tipos de memória
• Organização interna
Conceito de memória
• Um flip­flop armazena um bit. Oito flip­flops armazenam 1 byte
• Para armazenar centenas, milhares, centenas de milhares de bytes, ...
utiliza­se memória
Conceito:
A memória é um componente de sistemas de computação que 
possui a função de armazenar informações que, em algum 
momento, serão utilizadas para fins de processamento
Terminologia de memórias
• Célula de memória:
• Dispositivo ou circuito utilizado para armazenar um único bit (0 ou 1).
• Exemplos: latch, flip­flop, capacitor, ...
• Palavra de memória:
• Grupo de bits (células) em uma memória que representa instruções ou dados de 
algum tipo
• Exemplos: registrador com 8 flip­flops que armazena uma palavra de 8 bits (1 byte), 
16 latches que armazena uma palavra de 16 bits (word), ...
• Largura:
• Termo usado para grupo de bits de dados. Tamanhos de dados podem ser expressos 
em bytes, bits, ...
• Exemplos: 4 bits ou 1 nybble, 8 bits ou 1 byte; 16 bits, 2 bytes ou 1 word; 4 bytes, 2 
words ou 1 paragraph; ...
• Comprimento (tamanho):
• É a quantidade de posições diferentes de dados de uma memória, 
normalmente expressos em múltiplos de 1.024
• Exemplos: 1K para representar 1.024 ( 2**10), 64K para 65.536 (2**16), 1M 
para 1.048.576 (2**20) e 1G para 1.073.741.824 (2**30)
• Capacidade: 
• É a quantidade de informação que pode ser armazenadas em dispositivo ou 
sistema de memória
• Exemplos: uma memória armazene 4.096 de comprimento dados de 20 bits 
de largura, o que representa a capacidade de 81.920 bits ou 4.096 x 20 bits
• Comercialmente, encontrados memórias de 64K bytes, 1G bit, 1G nybble, ...
• Tempo de Acesso: 
• É o tempo que a memória gasta para colocar uma informação na barra de 
dados após um determinada posição ter sido endereçada
• Endereço: número ou posição que 
identifica a posição de um dado na 
memória
• Cada dado possui um endereço ou 
posição única
• Os endereços são representados 
em binários, hexadecimal, decimal, 
...
• A figura ilustra uma memória 
pequena de 32 x 4 bits, sendo:
• 32 => endereços (comprimento)
• 4 => dados (largura)
Célula de memória
Endereço
(A4 A3 A2 A1 A0)
Dados
(D3 D2 D1 D0)
0 0 0 0 0 0 0 1 1 0
1 0 0 0 0 1 1 1 1 1
2 0 0 0 1 0 0 1 0 1
3 0 0 0 1 1 1 0 1 1
4 0 0 1 0 0 1 1 0 0
... . . . . . . . . . .
29 1 1 1 0 1 0 0 1 1
30 1 1 1 1 0 0 1 1 1
31 1 1 1 1 1 1 1 1 0
Organizações externa e interna
Memória
32 x 4
I3 I2 I1 I0
O3 O2 O1 O0
A4
A3
A2
A1
A0
WE
ME
OE
Endereço
(A4 A3 A2 A1 A0)
Dados
(D3 D2 D1 D0)
0 0 0 0 0 0 0 1 1 0
1 0 0 0 0 1 1 1 1 1
2 0 0 0 1 0 0 1 0 1
3 0 0 0 1 1 1 0 1 1
4 0 0 1 0 0 1 1 0 0
... . . . . . . . . . .
29 1 1 1 0 1 0 0 1 1
30 1 1 1 1 0 0 1 1 1
31 1 1 1 1 1 1 1 1 0
Saídas de dado
Entradas de dado
Entradas de
endereço
Habilita chip
Leitura
/Escrita
Habilita saída
Operação de leitura
Endereço
(A4 A3 A2 A1 A0)
Dados
(D3 D2 D1 D0)
0 0 0 0 0 0 0 1 1 0
1 0 0 0 0 1 1 1 1 1
2 0 0 0 1 0 0 1 0 1
3 0 0 0 1 1 1 0 1 1
4 0 0 1 0 0 1 1 0 0
... . . . . . . . . . .
29 1 1 1 0 1 0 0 1 1
30 1 1 1 1 0 0 1 1 1
31 1 1 1 1 1 1 1 1 0
• Operação segundo a qual um dado 
binário armazenado em um 
endereço específico é detectada e 
transferida para outro dispositivo
• Exemplo de leitura:
• ME <= ‘1’ (habilita chip)
• A4A3A2A1A0 <= ”11101” (posição 29)
• WE <= ‘1’ e OE <= ‘1’
• O3O2O1O0 <= “0011” (os bits “0011” 
da posição 29 vão para os pinos de 
saída)
Operação de escrita
Endereço
(A4 A3 A2 A1 A0)
Dados
(D3 D2 D1 D0)
0 0 0 0 0 0 0 1 1 0
1 0 0 0 0 1 1 1 1 1
2 0 0 0 1 0 0 1 0 1
3 0 0 0 1 1 1 0 1 1
4 0 0 1 0 0
1 1 0 0 atual
0 0 1 1 novo
... . . . . . . . . . .
61 1 1 1 0 1 0 0 1 1
62 1 1 1 1 0 0 1 1 1
63 1 1 1 1 1 1 1 1 0
• Operação segundo a qual um novo 
dado binário é colocado em um 
endereço específico é detectada e 
transferida para outro dispositivo
• O novo dado escrito substitui o dado 
que existia armazenado
• Exemplo de escrita:
1. Posição 4 possui “1100” (D3D2D1D0)
2. ME <= ‘1’
3. A4A3A2A1A0 <= "00100” (posição 4)
4. I3I2I1I0 <= “0011” (dado a ser escrito)
5. WE <= ‘0’ (habilita escrita)
6. D3D2D1D0 <= “0011” (posição 4 possui 
o novo dado de “0011”)
Hierarquia de memória
• Em um sistema de computação existem vários tipos de memória que 
interligam­se de forma bem estruturada, possibilitando um bom 
desempenho
Registrador
Memória cache
Memória principal 
(RAM)
Memória secundária (HD)
Alta velocidade
Baixa capacidade
Baixa velocidade
Alta capacidade
Alto custo
Baixo custo
Exemplos de capacidades e tempos de acessoExemplos de capacidades e tempos de acessoExemplos de capacidades e tempos de acessoExemplos de capacidades e tempos de acesso
Tipos de memórias
Memória 
eletrônica
Memória 
eletrônica
ROMROM
MROMMROM PROMPROM EPROMEPROM EEPROMEEPROM FlashFlash
RAMRAM
SRAMSRAM DRAMDRAM
Memórias ROM e RAM
Memória ROM (Read-Only Memory)
• Permite apenas a leitura da informação
• Memória não-volátil – a informação continua armazenada quando a 
memória deixa de receber energia elétrica
Memória RAM (Random-Acess Memory)
• Permite leitura e escrita de informação
• Memória volátil – a informação perde-se quando a memória pára de 
receber energia elétrica
Taiga
Highlight
Taiga
Highlight
Taiga
Highlight
Taiga
Highlight
Organização interna
• Tipos de organização de memória:
• Estrutura interna unidirecional
• Estrutura interna bidirecional
• Estudaremos a seguir os tipos de estrutura interna de 
memória com:
• Comprimento: 16 bits de endereço (2**4)
• Largura: 1 bit
Estrutura interna unidirecional de uma 
memória de 16 x 1 bit
Estrutura interna unidirecional
• Existem 16 elementos de memória (flip-flops), 16 chaves e 1 
decodificador com 4 bits de entradas de endereço e 16 
saídas, portanto, totaliza 16 portas ANDs internas
• Para qualquer endereço de entrada A3A2A1A0 somente uma 
saída do decodificador é ativo por vez. Na figura, o FF2 é 
acessado
• O acesso a um bit de memória é realizado, então, através da 
saída ativa do decodificador que fecha a chave­alvo
Estrutura interna de uma memória bidirecional
Estrutura interna bidirecional
• Possui 2 decodificadores com 2 bits de entradas de endereço, tem 4 
saídas e 4 portas ANDs internas, totalizando 8 portas
• A decodificação da memória é completada com o arranjo das 16 
chaves que operam como portas ANDs
• O decodificador de linhas operam as chaves de memória e o 
decodificador de colunas é aplicado nas chaves das linhas de bits de 
saída
• Para um endereço em A3A2A1A0, o decodificador de linha ativa uma 
saída para fechar 4 chaves de memória e o decodificador de coluna 
seleciona um único bit para saída dos 4 bits de memórias disponíveis
Memórias ROM
• Aplicações
• Tipos de memórias
• ROM, PROM, EPROM, EEPROM e Flash
IntroduçãoIntroduçãoIntroduçãoIntrodução
• É uma memória não volátil, mantém a informaçãomesmo sem alimentação
•Aplicações – utilizada para:
• Armazena firmwares de placas mãe
• DVD player
• CD­RW
• Placas de Rede
•Modens ADSL, etc.
Tipos, complexidade/custo e programação
EEPROM
Flash
EPROM
MROM/PROM
• EEPROM: Pode ser apagada 
eletricamente no circuito, byte a 
byte
• Flash: Pode ser pagada 
eletricamente no circuito, por setor 
ou em bloco (todas as células)
• EPROM: Pode ser apagada em 
bloco por UV, apaga e 
reprogramada fora do circuito
• MROM/PROM: Não pode ser 
apagada e reprogramada
1. Memória ROM – Read-Only Memory
• Não perde a informação quando a alimentação é retirada
• Não permite alteração da informação armazenada
• Construída pelo fabricante, mediante especificação fornecida pelo 
cliente
• Utilizada para fornecer informações quando sistemas digitais são 
ligados
• Vantagem: custo de produção muito baixo quando produzida em 
larga escala
• Desvantagem: sem flexibilidade para alteração do conteúdo
Taiga
Highlight
Taiga
Highlight
Especificação de uma ROM com 8 endereços 
e 4 bits de dados
Endereço em 
decimal
Endereço em binário
(A2 A1 A0)
Dados em binário
(D3 D2 D1 D0)
m0 0 0 0 0 1 0 0
m1 0 0 1 0 1 1 1
m2 0 1 0 1 0 1 0
m3 0 1 1 1 1 0 1
m4 1 0 0 0 0 1 0
m5 1 0 1 1 0 1 1
m6 1 1 0 0 1 1 1
m7 1 1 1 0 1 0 0
Implementação de uma ROM
• Iremos estudar, superficialmente, a implementação física de 
um codificador de ROM
• O estudo permite conhecer como são construídas as ROM 
programáveis
• A implementação possui as fases:
• Especificação dos dados armazenados na ROM
• Implementação lógica do codificador da ROM
• Implementação física de uma porta OR
• Implementação física do codificador com diodos
Implementação de um codificador de MROM 
com 8 endereços e 4 bits
Implementação de uma porta OR com várias 
entradas
Se em uma das entradas
possuir o nível lógico ‘1’
(5V), o diodo é polarizado
diretamente e 4,3V (5­0,7)
é aplicado na saída S,
ou seja, o nível lógico ‘1’.
Implementação física do codificador de ROM
ROM em circuito integrado
Exemplo: Conversor de código com ROM
• Construa um conversor do código binário para o código Gray de 3 bits
Conversor de código com ROM
• Como conversor de código, a ROM consiste de um codificador e um 
decodificador.
• Então, uma ROM é pode ser implementada com portas (circuito combinacional), 
sem usar flip-flops
2. Memória PROM – Programmable ROM
• Semelhante a uma ROM, mas 
permite uma única programação 
por parte do usuário
• Vantagem: custo de produção 
baixo quando produzida em 
pequenas quantidades
• Desvantagem: pouca 
flexibilidade, permite uma única 
programação
Taiga
Highlight
Taiga
Highlight
Taiga
Highlight
Uma PROM programada
• A programação consiste da 
queima de fusíveis
• Os elementos da matriz com 
fusível queimado possui ‘0’ e os 
demais ‘1’
• Observe que a estrutura interna 
é muito semelhante a MROM, 
exceto pela presença dos 
fusíveis
Taiga
Highlight
Taiga
Highlight
3. Memória EPROM – Erasable 
Programmable Read-Only Memory
• Permite múltiplas programações (gravações)
• Programação com pulsos sinais elétricos
• Apaga todo o conteúdo através de raios ultravioleta durante algumas dezenas 
de minutos
• Antes da reprogramação do dispositivo, este deve ser previamente 
apagado
• Vantagem: permite a utilização de EPROM durante a fase de 
desenvolvimento de um sistema digital
• Desvantagem: para produções em grande escala possui um custo 
significativamente mais elevado que uma ROM
Taiga
Highlight
Taiga
Highlight
Taiga
Highlight
Taiga
Highlight
Célula da EPROM
• A programação é realizada 
através da armazenagem de 
cargas elétricas em uma porta 
flutuante, isolada eletricamente 
do resto do circuito
• Assim, a informação 
armazenada não se perde
• O armazenamento de cargas é 
realizado através de pulsos de 
tensão de 13 a 30 Volts fora do 
circuito
Encapsulamento da EPROM
• O chip tem uma janela de vidro
• Quando o chip é exposto a raios 
ultravioleta (UV), os seus dados 
são apagados
• Após a programação da 
memória deve utilizar uma 
etiqueta para impedir a 
passagem de luz UV
Efeito dos Raios Ultra-Violeta (UV)
• Os raios UV retiram as cargas 
elétricas negativas que estão 
armazenadas abaixo da porta 
flutuante, apagando as 
informações armazenadas
Memória EPROM de 32Kb
Pino(s) Função
A0-A14 Linhas de endereços
D0-D7 Linhas de dados
/OE Habilita saída tristate
/E Habilita chip
Vpp Voltagem de programação
+5V Alimentação normal
Gnd Terra
Ciclo de operação de leitura da EPROM
Ciclo de operação de programação da EPROM
Família EPROM 27000
• São organizadas em bytes (8 
bits)
• A numeração da identificação 
128 corresponde a 16K x 8bits
4. Memória EEPROM – Electrically Erasable 
Programmable Read-Only Memory 
• Utilização idêntica à EPROM, mas com reprogramação através de 
impulsos elétricos 
• Vantagem: grande flexibilidade por reunir a funcionalidade da RAM e 
da ROM
• Desvantagem: operações de escrita muito mais lentas que numa 
RAM, apesar das operações de leitura serem da mesma ordem de 
grandeza
Célula da EEPROM
• Um único bit EEPROM é construído de dois transistores: 
• O transistor MOS normal é utilizado para apagar
• O transistor com porta flutuante para armazenar um bit de informação que opera 
como chave, ou seja, permanentemente aberto ou fechado
Programação e desprogramação da célula 
EEPROM
• Quando a porta flutuante esta carregada, 
ela retém carga e impede que fluxos de 
elétrons da porta de controle para o silício 
(o 0 ou 1 é determinado quando as ações da 
porta de controle está bloqueada ou não)
• Programação. A carga é realizada com os 
terminais Fonte e Dreno no terra e 
aplicando­se uma voltagem de controle na 
Porta
• Desprogramação. Aplicando­se uma 
voltagem reversa através do transistor 
MOSFET convencional faz com que as cargas 
dissipam­se no substrato
Ciclos de operação da EEPROM
5. Memória Flash
• Variantes de memórias EEPROM, habitualmente utilizadas em 
fotografia digital e pen drive
• É programada após ser inserida no produto (equipamento) com o uso 
do usuário
• Vantagem: reprogramação muito mais rápida do que numa EEPROM 
convencional, maior capacidade
• Desvantagem: número limitado de reprogramações (na ordem das 
dezenas de milhar)
• Memórias RAM
• Exercícios
Memórias RAM
Tipos de memórias RAM
• RAM Estática – SRAM:
• Células de memória constituídas por latches ou flip-flops
• Utilizada como memória cache (associadas ao processador)
• RAM Dinâmica – DRAM:
• Células constituída por elemento capacitivo, que consegue manter 
o nível lógico durante um curto espaço de tempo
• Necessitam de refrescamento para repor os níveis lógicos
• Com maior capacidade e com custos mais baixos do que a 
memória estática, porém é o mais lenta
• Utilizada na memória principal de um computador
Exemplos de células de RAM
Estrutura geral da RAM
• Possui k linhas de endereços:
• 2k endereços
• Possui n bits por endereço:
• 1 palavra = n bits
• Capacidade:
• 2k x n bits
• Sinais de controle:
• Leitura / Escrita
• Habilita
• Seleção de chip
Organização interna
• Memória: 3 bits de endereços e 4 bits de dados
• Armazena 8 (23) palavras de 4 bits cada uma
• O número total de bits é 32 (8x4) bits
• No endereço 010b (2) temos o valor 1000b (8)
1. Memória SRAM – Organização externa
Tabela funcional da memória
CS WE Operação A2 A1 A0
0 X
Memória
desabilitada
X X X
1 0 Lê do endereço Endereço
1 1 Escreve no endereço Endereço
SRAM – Operações de leitura e escrita
• Leitura do endereço ”010” :
1. A2 A1 A0 <= ”010”
2. CS <= ‘1’ e WE <= ‘0’
3. Os pinos O3 O2 O1 O0 têm o 
valor “1000” (8)
• Escrita do valor “1111” no 
endereço “100”:
1. A2 A1 A0 <= “100” (4)
2. I3 I2 I1 I0 = ”1111” (15)
3. CS <= ‘1’ e WE <= ‘1’
4. A célula do endereço ”100” 
recebe o valor ‘1111”Ciclo de leitura da SRAM
tACC – tempo de acesso aos dados para leitura
Ciclo de escrita da SRAM
tAS – tempo de preparação para escrita
tW – tempo da largura do pulso de escrita
tDH – tempo de manutenção para escrita
Uma estrutura interna da SRAM
2. Memória DRAM
• Armazena dados como cargas em capacitores, que gradualmente 
desaparecem devido a descarga do capacitor
• É necessário dar recargas (refresh) nos dados periodicamente, através 
da recarga dos capacitores, normalmente a cada 2, 4, ou 8 ms
• Têm capacidades muito maiores e consumo de energia muito menor
• Quando as considerações de projeto mais importantes são manter o 
tamanho, custo e consumo de energia baixos
• As DRAMs se tornam a melhor escolha em memórias
Estrutura interna da DRAM
• A estrutura interna da RAM 
dinâmica pode ser 
visualizada como um matriz 
de células de um único bit
• Em cada interseção das 
linhas com as colunas existe 
um capacitor, que 
armazena 1 bit
• Arranjo de células em uma 
RAM dinâmica de 16K x 1, 
com 16.384 células no total
Arquitetura simplificada de uma DRAM
• Células de memórias são 
organizadas em banco de 
matrizes
• Endereço é multiplexado em 
linhas e colunas e armazenados 
em registrador através dos 
sinais RAS e CAS
• Decodificador de linha 
seleciona um banco e o de 
coluna célula do banco
• Refresh é realizado com o 
endereço do contador de 
refresh e amplificadores 
sensores
Representação simbólica e operação da célula 
da DRAM
• Escrita: as chaves as chaves SW1 e SW2 são fechadas e os dados de 
entradas são colocados no capacitor
• Ociosa: todas as chaves são abertas e capacitor perda carga ao longo do 
tempo devido a corrente de fuga
• Leitura: as chaves SW2, SW3e SW4 são fechadas, o amplificador sensor 
compara a tensão do capacitor e define o valor da saída. Esta saída é 
conectada ao capacitor para restaurar a tensão nele por carga ou descarga
Multiplexação de endereço
• Utilizada para reduzir a quantidade de 
pinos nas DRAM de alta capacidade 
• O endereço é separado e aplicado em 
duas partes, linha e coluna
• O registrador de linha armazena a 
parte alta do endereço e o de coluna, a 
baixa
• A entrada RAS (strobe de endereço de 
linha) armazena as entradas de 
endereço no registro de endereço de 
linha
• A entrada CAS (strobe de endereço de 
coluna) armazena as entradas de 
endereço no registro de endereço de 
coluna
Ciclo de leitura da DRAM
• t0: Entrada MUX=‘0’ para colocar o 
endereço de linha (A8­A15) na entrada 
Endereço (bus)
• t1: Entrada RAS é ativada (descida) 
para armazenar o endereço de linha
• t2: Entrada MUX=‘1’ para colocar o 
endereço de coluna (A0­A7) na entrada 
Endereço (bus)
• t3: Entrada CAS é ativada (descida) 
para armazenar o endereço de coluna
• t4: Dados válidos são colocados na 
saída de dados (DATA OUT) para leitura
• t5: Sinais MUX, RAS, CAS e DATA OUT 
voltam a situação inicial 
Ciclo de escrita da DRAM
• t0: Entrada MUX=‘0’ para colocar o endereço 
de linha (A8­A15) na entrada Endereço (bus)
• t1: Entrada RAS é ativada (descida) para 
armazenar o endereço de linha
• t2: Entrada MUX=‘1’ para colocar o endereço 
de coluna (A0­A7) na entrada Endereço (bus)
• t3: Entrada CAS é ativada (descida) para 
armazenar o endereço de coluna
• t4: Dados válidos são colocados na entrada 
de Dados (DATA IN) para escrita
• t5: Entrada WE=‘0’ para escrita dos dados na 
memória
• t7: Sinais MUX, RAS, CAS, WE e DATA IN 
voltam a situação inicial
Refresh da DRAM
• Quando a entrada RAS é ativada, todas os capacitores da linha passam pelo 
processo de refresh (reavivamento) ao mesmo tempo
• Uma memória com 64 linhas, 48 colunas e tempo de refresh de 2 ms, 
possui tempo total de refresh entre linhas de:
• Tempo de refresh de cada linha = 2 ms / 64 linhas = 31 us
• A lógica de controle de refresh é usada para garantir que cada linha seja 
reavivada dentro do tempo limite:
• No modo de rajada (burst refresh) a operação de memória normal é suspensa e cada 
linha passa pelo refresh em sucessão até que todas as linhas tenham passado pelo 
processo
• No modo distribuído (distributed refresh), o refresh das linhas é intercalado com as 
operações normais da memória
Refresh da DRAM
• O método mais comum é o refresh que usa apenas o pino RAS
• É realizado pulsando um endereço de linha com RAS enquanto o CAS e WE
permanecem em inativos (ALTO)
• Um controlador geralmente é usado para realizar multiplexação de 
endereço e geração de sequência de contagem de refresh
3. Expansão de memória
Exemplos: projetos de banco de memória
• É possível projetar bancos de memória com maior capacidade 
associando vários chips de menor capacidade
• Exemplos: projete um banco de 64Kx16 e um outro de 256Kx8, 
ambos a partir de chips 64Kx8
Exemplo 1: projeto do banco de 64K x 16
• Existem 2 chips em paralelo, ampliando de 8 para 16 linhas de dados de 
entrada (DATA) e de dados de saída (64Kx16)
• As linhas de endereços (ADDR) foram interligadas. Idem para CS e R/W
Exemplo 2: projeto do banco de 256K x 8
• Comentários:
• Existem 4 chips de 64Kx8 em 
série, ampliando de 64K para 
256K
• Existe um decoder que 
habilita somente um chip de 
cada vez (ver tabela)
• Existem agora 18 linhas de 
endereço (2 do decodermais 
16 dos chips)
• As linhas de saídas dos chips
foram interligadas
Exercícios. Memórias eletrônicas
1. Cite as principais diferenças das células de memórias de ROM’s
2. Cite as principais diferenças das células de memórias de RAM’s
3. Construa um conversor de código do código Gray para o código BCD de 4 bits com ROM
4. Implemente as seguintes funções com ROM: F0 = A + /B; F1 = /AB + A/B; F2 = /B + C
5. Repita a questão 3 em uma memória de 64Kx8 e o endereço inicial do conversor em 32K
6. Implemente uma memória ROM usando somente um decodificador e portas OR com os 
valores 01b, 00b, 11b e 10b nos endereços 0, 1, 2, e 3, respectivamente
7. Projete o banco de memória SRAM de 16x4 usando o chip de memória 8x4 estudado
8. Projete os bancos de memória SRAM 16x8 usando o chip de memória 8x4 estudado
9. Um chip de DRAM possui 1Mx1 bits e um outro possui 4Mx1 bits, ambas com os pinos de RAS, 
CAS, DATA e A0­A19 (1M) e A0­21 (4M) . Projete um banco de memória de 4Mx9 bits

Continue navegando

Outros materiais