0% acharam este documento útil (0 voto)
5 visualizações17 páginas

Memória Cache: Volatilidade e Funções

O documento aborda a importância das memórias internas em computadores, detalhando a hierarquia entre memórias primárias (como RAM e CACHE) e secundárias (como HD e SSD). Ele explora os tipos de endereçamento de memória, falhas em sistemas semicondutores, e as características da RAM e SRAM, incluindo suas aplicações e comparações. Além disso, discute a memória cache, seu funcionamento e a necessidade de otimizar o acesso à memória pela CPU.

Enviado por

ferrarig605
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato DOCX, PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
5 visualizações17 páginas

Memória Cache: Volatilidade e Funções

O documento aborda a importância das memórias internas em computadores, detalhando a hierarquia entre memórias primárias (como RAM e CACHE) e secundárias (como HD e SSD). Ele explora os tipos de endereçamento de memória, falhas em sistemas semicondutores, e as características da RAM e SRAM, incluindo suas aplicações e comparações. Além disso, discute a memória cache, seu funcionamento e a necessidade de otimizar o acesso à memória pela CPU.

Enviado por

ferrarig605
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato DOCX, PDF, TXT ou leia on-line no Scribd

MEMORIAS INTERNAS

A memória em um computador é um componente essencial que


armazena dados (instruções, arquivos, resultados intermediários) para acesso rápido pela
CPU ou outros dispositivos. Ela é organizada em uma hierarquia que equilibra velocidade,
custo e capacidade.

 As memórias primárias (Reais) são aquelas em que o processador endereça


diretamente como: RAM, ROM, Registradores e o CACHE.

 Já as memórias secundárias são aquelas que não podem ser endereçadas


diretamente, todas as informações deverão ser mandadas para uma memória
intermediária antes (primária). Exemplos: HD, SSD, CD, DVD.

O endereçamento de memória refere-se às maneiras pelas quais a localização dos dados na


memória pode ser especificada. Existem vários tipos de endereçamento em arquiteturas
computacionais:

 Endereçamento Imediato: O próprio operando é especificado no campo da instrução.


É útil para constantes.

 Endereçamento por Deslocamento: Usa um valor base e um deslocamento para


calcular o endereço efetivo. Comum em estruturas de dados como arrays.

 Endereçamento por Pilha: Manipula dados usando a estrutura de dados pilha, com
operações como push e pop.

 Endereçamento por Registrador: O endereço do dado está em um registrador


específico.

Em sistemas de memória semicondutora, as falhas podem ser categorizadas em


permanentes (hard errors) e não permanentes (soft errors).

 Falhas permanentes são aquelas que resultam de danos físicos ou desgaste que
afetam permanentemente o funcionamento da memória. Exemplos incluem danos
causados por desgaste ou defeitos de fabricação.

 Falhas não permanentes são temporárias e podem ser causadas por fatores como
interferências eletromagnéticas, radiação cósmica, ou problemas temporários de
energia. Essas falhas podem ser corrigidas, por exemplo, através de técnicas como
Error Correcting Code (ECC).

Definição de RAM (Random-Access Memory)

A RAM (Random-Access Memory) é um tipo de memória volátil de acesso aleatório, utilizada


para armazenar dados e instruções que a CPU precisa acessar rapidamente durante a
execução de programas. É chamada de "random-access" porque permite ler/escrever em
qualquer posição de memória com o mesmo tempo de acesso, diferentemente de memórias
sequenciais (como fitas magnéticas).

Os sistemas que utilizam memórias RAM de alta velocidade requerem a tecnologia


assíncrona para acesso, a qual não é sincronizada com o relógio do sistema?
A memória assícrona não utiliza o relógio do sistema para coordenar o acesso à memória.

As memórias síncronas são um tipo de DRAM, já que sincronizam as respostas dos módulos
da memória com o barramento do sistema.

Pessoal, as memórias RAM de alta velocidade exigem uma tecnologia síncrona. A memória
síncrona utiliza o clock ou relógio do sistema para coordenar o acesso à memória, isso faz
com que a velocidade seja aumentada, diferentemente da memória assíncrona, que não
utiliza.

Características Principais da RAM

Característica Descrição

Volatilidade Perde dados quando desligada (requer energia elétrica constante).

Acesso Qualquer endereço pode ser acessado diretamente, sem ordem


Aleatório prévia.

Muito mais rápida que armazenamento permanente (HDD/SSD), mas


Velocidade
mais lenta que cache.

Função
Armazenar dados em uso pelo sistema operacional e aplicativos.
Principal

Tipos de RAM
A RAM pode ser classificada por tecnologia e aplicação. Os principais tipos são: DRAM E
SRAM

A DRAM (Dynamic Random-Access Memory) é um tipo de memória volátil de acesso


aleatório, amplamente utilizada como memória principal (RAM) em computadores e
dispositivos eletrônicos. Diferente da SRAM (usada em caches), a DRAM armazena cada bit
em um capacitor (que perde carga com o tempo) e um transistor, exigindo refresh
periódico para manter os dados.

Principais Características

Característica Descrição

Baseada em capacitores + transistores (1T1C – 1 transistor e 1


Tecnologia
capacitor por bit).

Volatilidade Perde dados sem energia elétrica.

Necessidade de Requer atualização (refresh) a cada ~64 ms para evitar perda de


Refresh carga.

Tempo de acesso: 50–100 ns (mais lenta que SRAM, mas mais


Velocidade
rápida que SSDs/HDDs).

Alta (armazena mais dados por área que SRAM, pois usa apenas 1
Densidade
transistor por bit).

Mais barata que SRAM, mas mais cara que memórias não voláteis
Custo
(ex.: Flash).

Consumo de Energia Moderado (depende da frequência e do refresh).

Funcionamento da DRAM

1. Armazenamento de Bits

o Cada bit é armazenado como carga em um capacitor (1 = capacitor carregado,


0 = descarregado).

o O transistor atua como uma "chave" para ler/gravar o capacitor.

2. Leitura

o Ao acessar um bit, o capacitor é descarregado no barramento, destruindo o


dado original.
o Um circuito de rewrite restaura o valor lido (por isso a operação é
destrutiva).

3. Refresh

o Como os capacitores perdem carga naturalmente, a DRAM precisa de ciclos


de refresh (~8.192 vezes a cada 64 ms em DDR4).

4. Organização em Bancos

o A DRAM moderna é dividida em bancos para acesso paralelo (ex.: DDR4 tem
16 bancos).

Tipos de DRAM

Tipo Descrição Aplicação

Synchronous DRAM – Sincronizada com o clock


SDRAM PCs antigos (1990s).
do barramento.

DDR Double Data Rate – Transfere dados na DDR1 a DDR5 (PCs


SDRAM subida e descida do clock. modernos).

Low Power DDR – Consumo reduzido para


LPDDR Smartphones, tablets.
dispositivos móveis.

Graphics DDR – Alta largura de banda para Placas de vídeo (ex.:


GDDR
GPUs. GDDR6).

High Bandwidth Memory – Empilhamento 3D


HBM GPUs avançadas, IA.
para largura de banda extrema.

Vantagens e Desvantagens

Vantagens Desvantagens

✅ Alta densidade (mais barata que SRAM). ❌ Requer refresh constante.

✅ Custo-benefício para memória principal. ❌ Mais lenta que SRAM (~10x).

✅ Escalável (DDR4, DDR5, etc.). ❌ Operação de leitura destrutiva.


Comparação DRAM vs. SRAM

Critério DRAM SRAM

Tecnologia Capacitor + transistor (1T1C). 6 transistores por bit (6T).

Refresh Necessário. Não necessário.

Velocidade 50–100 ns. 1–10 ns.

Custo Mais barata. Muito mais cara.

Uso
Memória RAM (principal). Caches (L1, L2, L3).
Principal

Aplicações da DRAM

 Memória principal (RAM) em PCs, servidores e smartphones.

 GPUs (GDDR, HBM) para processamento gráfico e IA.

 Roteadores e sistemas embarcados (LPDDR).

Exemplo Prático: DDR5 DRAM

 Taxa de Transferência: Até 6.4 GT/s (gigatransfers por segundo).

 Energia: ~1.1V (mais eficiente que DDR4).

 Bancos: 16–32 para paralelismo.

Conclusão

A DRAM é a memória volátil padrão para sistemas computacionais, equilibrando custo,


densidade e desempenho. Sua necessidade de refresh e latência mais alta são compensadas
pela capacidade escalável (ex.: DDR5 com 128 GB módulos) e alta largura de banda,
essenciais para aplicações modernas como jogos, edição de vídeo e machine learning.

🔍 Curiosidade: A memória não volátil (como a Intel Optane) tenta substituir parcialmente a
DRAM, mas ainda não superou seu custo-benefício para uso geral.
Definição de SRAM (Static Random-Access Memory)

A SRAM (Static Random-Access Memory) é um tipo de memória volátil de alta velocidade


que armazena dados enquanto houver energia elétrica, sem necessidade de refresh
(diferente da DRAM). Cada bit é armazenado em um circuito baseado em transistores,
garantindo acesso rápido e baixa latência.

Por que a Cache usa SRAM?

A SRAM é a tecnologia preferida para caches devido às suas características essenciais para
desempenho:

1. Velocidade Extremamente Alta

o A SRAM tem tempos de acesso na faixa de nanossegundos (ns) ou menos,


enquanto a DRAM é mais lenta (geralmente acima de 10–50 ns).

o A CPU opera em frequências altíssimas (GHz), e a SRAM consegue acompanhar


essa velocidade sem gargalos.

2. Não Requer Refresh

o A SRAM mantém os dados enquanto houver energia, sem necessidade de


refresh (diferente da DRAM, que perde carga e precisa ser atualizada
periodicamente).

o Isso elimina overheads de tempo e simplifica o controle da cache.

3. Acesso Direto e Baixa Latência

o A SRAM permite acesso aleatório sem ciclos de pré-carregamento (como a


DRAM, que precisa reativar linhas de memória).

o Ideal para operações rápidas e previsíveis exigidas pela cache (L1, L2, L3).

4. Consumo de Energia em Operação

o Embora a SRAM consuma mais energia por bit que a DRAM em repouso, seu
consumo durante operações é mais eficiente para caches (que estão sempre
ativas).

Comparação SRAM vs. DRAM

Característica SRAM (Cache) DRAM (Memória Principal)

Velocidade Extremamente rápida (~1 ns) Mais lenta (~10–50 ns)

Refresh Não necessita Requer refresh constante

Complexidade 6 transistores por bit (maior 1 transistor + capacitor (mais


Celular área) compacta)
Característica SRAM (Cache) DRAM (Memória Principal)

Custo Muito mais cara Mais barata

Cache (L1, L2, L3),


Uso Típico RAM principal, módulos DDR
registradores

1. Hierarquia de Memória

A hierarquia segue o princípio: quanto mais rápida a memória, menor sua capacidade e
maior seu custo por bit.

Nível Exemplo Velocidade Capacidade Custo

Registradores
Registradores 1 ciclo ~KB Alto
da CPU

Cache (L1, L2, L3) SRAM (on-chip) 1–50 ns KB–MB Alto

Memória Principal DRAM (RAM) 50–100 ns GB Médio

Armazenamento ms
SSD/HDD TB Baixo
Secundário (milissegundos)

Armazenamento Muito
Fitas, Nuvem Segundos PB+
Terciário baixo

2. Localização da Memória

Tipo Descrição Exemplos

Memória Integrada ao sistema (CPU ou placa-mãe), Registradores, Cache,


Interna acesso ultrarrápido. RAM

Memória Dispositivos de armazenamento não HDD, SSD, pendrives,


Externa voláteis, fora do barramento principal. discos ópticos
3. Desempenho da Memória

Métrica Definição Exemplo

Tempo de Tempo desde a solicitação até a Cache L1: ~1 ns,


Acesso disponibilidade do dado. HDD: ~5 ms

Intervalo mínimo entre dois acessos DRAM: ~10 ns


Tempo de Ciclo
consecutivos. (com refresh)

Taxa de Velocidade de leitura/escrita (ex.: GB/s). DDR5 RAM: ~50


Transferência Depende da largura do barramento. GB/s

4. Métodos de Acesso

Tipo Descrição Exemplo

Fitas
Sequencial Dados são acessados em ordem (um após o outro).
magnéticas

Direto Acesso aleatório a um endereço físico específico. RAM, SSD

Associativ Busca por conteúdo (ex.: cache que usa tags para
Caches L1/L2
o localizar dados).

Qualquer posição pode ser acessada diretamente, sem


Aleatório DRAM, SRAM
ordem prévia.

5. Tipos Físicos de Memória

Tipo Tecnologia Exemplos

Baseada em transistores (volátil/não SRAM, DRAM, Flash


Semicondutor
volátil). (SSD)

HDD, fitas
Magnético Armazena dados em campos magnéticos.
magnéticas

Usa lasers para ler/gravar dados em


Óptico CDs, DVDs, Blu-ray
superfícies reflexivas.
Tipo Tecnologia Exemplos

Magnético- Combina laser e magnetismo para escrita Discos MO (raros


Óptico térmica. hoje)

6. Unidade de Transferência

Unidade Definição Exemplo

Palavra Tamanho padrão de dados processados pela CPU CPUs x86: 64-bit
(Word) (ex.: 32 bits, 64 bits). words

Bloco Conjunto de palavras transferidas entre Cache L1: blocos de


(Block) memórias (ex.: cache line = 64B). 64 bytes

7. Capacidade da Memória

Medida Descrição Exemplo

Número de Quantidade de palavras armazenadas (ex.: 16 GB = 2 bilhões de


Palavras RAM de 16 GB com palavras de 64 bits). palavras (64-bit)

Número de HDD de 1 TB = 1
Capacidade total em bytes (1 byte = 8 bits).
Bytes trilhão de bytes

Resumo das Características

Aspecto Opções

Localização Interna (CPU, RAM) vs. Externa (HDD, SSD)

Desempenho Tempo de acesso, ciclo, taxa de transferência

Método de Acesso Sequencial, direto, associativo, aleatório

Tipo Físico Semicondutor, magnético, óptico, magnético-óptico

Unidade de Palavra (CPU), bloco (cache/memória)


Aspecto Opções

Transferência

Capacidade Número de palavras × tamanho da palavra (ou bytes totais)

A memória cache é um componente crítico nos sistemas computacionais modernos, projetado


para acelerar o acesso aos dados e instruções frequentemente utilizados. Vamos explorar seus
aspectos principais:

1. Por que a Memória Cache foi Criada?

 Problema da Lentidão: A CPU é muito mais rápida que a memória RAM, criando um
gargalo (o “gap de velocidade”). Sem a cache, a CPU ficaria ociosa aguardando dados
da RAM.

 Solução: A cache armazena cópias de dados/instruções usados recentemente,


reduzindo o tempo de acesso (ela é mais rápida que a RAM, porém menor em
capacidade).

2. Modo de Funcionamento

 Princípio da Localidade:

o Localidade Temporal: Dados acessados recentemente tendem a ser


reutilizados.

o Localidade Espacial: Dados próximos na memória (como arrays) são


frequentemente acessados em sequência.

 Fluxo:

2. A CPU verifica se o dado está na cache (cache hit). Se estiver, usa-o


diretamente.

3. Se não estiver (cache miss), busca na RAM e armazena uma cópia na cache
para futuros acessos.

3. Endereços de Memória Cache

 A cache não tem endereços próprios. Ela mapeia blocos da memória principal (RAM)
para suas linhas. O endereçamento envolve:

o Tag: Identifica qual bloco da RAM está naquela linha da cache.

o Índice: Define a linha da cache onde o bloco está (ou pode estar).
o Deslocamento (Offset): Localiza o dado específico dentro do bloco.

4. Tamanho da Memória Cache

 Hierarquia:

o L1 (Level 1): Menor (KB a MB), mais rápida, integrada na CPU.

o L2/L3: Maiores (MB), mais lentas, porém ainda rápidas comparadas à RAM.

 Trade-off: Caches maiores reduzem misses, mas aumentam latência e custo.

5. Funções de Mapeamento

Técnicas para associar blocos da RAM à cache:

a) Mapeamento Direto

 Cada bloco da RAM vai para uma única linha específica na cache (calculada por Índice
= (Endereço RAM) mod (Número de linhas)).

 Vantagem: Simplicidade.

 Desvantagem: Conflitos se múltiplos blocos competirem pela mesma linha.

b) Mapeamento Associativo

 Totalmente Associativo: Um bloco pode ocupar qualquer linha da cache.

o Vantagem: Minimiza conflitos.

o Desvantagem: Busca lenta (verifica todas as linhas).

 Parcialmente Associativo (Conjunto-Associativo): Compromisso entre direto e


totalmente associativo. A cache é dividida em conjuntos, e cada bloco mapeia para um
conjunto, mas pode ocupar qualquer linha dentro dele.

Exemplo Prático

 CPU acessa 0xABCD:

1. Extrai tag, índice e offset do endereço.

2. Verifica a linha correspondente ao índice na cache.

3. Compara a tag da linha com a tag do endereço:

 Se iguais (hit), lê o dado no offset.

 Se diferentes (miss), busca na RAM e atualiza a cache.

Detalhamento dos Algoritmos de Mapeamento em Memória Cache


Os algoritmos de mapeamento definem como os blocos da memória principal (RAM) são
alocados na memória cache. Existem três técnicas principais:

1. Mapeamento Direto

2. Mapeamento Associativo (Totalmente Associativo e Parcialmente Associativo)

Vamos detalhar cada uma delas.

1. Mapeamento Direto

Cada bloco da memória principal é mapeado para exatamente uma linha específica na cache.
o mapeamento direto em caches dispensa a aplicação de algoritmos de substituição de blocos.

Funcionamento

 A cache é dividida em linhas, e cada linha armazena um bloco de dados da RAM.

 O endereço da memória é dividido em três partes:

o Tag: Identifica o bloco único naquela linha.

o Índice: Determina qual linha da cache será usada.

o Offset: Seleciona o dado específico dentro do bloco.

📌 Fórmula do Índice:

Iˊndice=(Enderec¸o da Memoˊria)mod (Nuˊmero de Linhas na Cache)Iˊndice=(Enderec¸o da


Memoˊria)mod(Nuˊmero de Linhas na Cache)

Vantagens

✅ Simplicidade: Fácil implementação em hardware.


✅ Baixa latência: Acesso rápido, pois só uma linha precisa ser verificada.

Desvantagens

❌ Alto conflito: Se dois blocos diferentes mapearem para a mesma linha, ocorre conflito,
causando misses frequentes.

Exemplo

 Cache com 4 linhas (índices 0 a 3).

 Acesso ao endereço 14 (binário: 1110):

o Se cada linha armazena 4 bytes:

 Offset: 2 bits (últimos 2 bits = 10 → dado no byte 2 do bloco).

 Índice: 2 bits (11 → linha 3).

 Tag: Restante (11).

Se outro endereço como 18 (10010) também mapear para a linha 3 (10), ocorre um conflito.

2. Mapeamento Associativo
Permite que um bloco da RAM seja colocado em qualquer linha da cache, reduzindo conflitos.

a) Totalmente Associativo

 Qualquer bloco pode ocupar qualquer linha da cache.

 Busca lenta: Todas as tags devem ser comparadas (usando comparadores paralelos).

Vantagens

✅ Baixos conflitos: Maximiza aproveitamento da cache.

Desvantagens

❌ Alto custo de hardware (todos os slots são verificados simultaneamente).


❌ Mais lento que mapeamento direto em caches grandes.

b) Parcialmente Associativo (Conjunto-Associativo)

 Compromisso entre Direto e Totalmente Associativo.

 A cache é dividida em conjuntos, e cada conjunto tem N linhas.

 Um bloco é mapeado para um conjunto específico, mas pode ocupar qualquer linha
dentro dele.

📌 Fórmula do Conjunto:

Conjunto=(Enderec¸o da Memoˊria)mod (Nuˊmero de Conjuntos)Conjunto=(Enderec¸o da Me


moˊria)mod(Nuˊmero de Conjuntos)

Grau de Associatividade (N-way)

 2-way: 2 linhas por conjunto.

 4-way: 4 linhas por conjunto.

 Fully Associative (N = total de linhas): 1 conjunto com todas as linhas.

Vantagens

✅ Menos conflitos que mapeamento direto.


✅ Mais rápido que totalmente associativo.

Desvantagens

❌ Mais complexo que mapeamento direto.

3. Políticas de Substituição (Replacement Policies)

Quando a cache está cheia e um novo bloco precisa ser carregado, qual bloco será
substituído?

a) LRU (Least Recently Used)

 Remove o bloco menos recentemente usado.

 Vantagem: Alta eficiência (usa princípio da localidade temporal).


 Desvantagem: Complexidade de rastreamento (hardware caro para caches grandes).

b) FIFO (First-In, First-Out)

 Remove o bloco mais antigo (independe de uso recente).

 Vantagem: Simples de implementar.

 Desvantagem: Pode remover blocos frequentemente usados.

c) Aleatório (Random)

 Escolhe um bloco aleatório para substituição.

 Vantagem: Simplicidade.

 Desvantagem: Pior desempenho que LRU em geral.

d) LFU (Least Frequently Used)

 Remove o bloco menos frequentemente acessado.

 Vantagem: Bom para padrões de acesso repetitivos.

 Desvantagem: Dificuldade de implementação eficiente.

Resumo Comparativo

Tipo de
Conflitos Complexidade Latência Uso Típico
Mapeamento

Direto Alto Baixa Mínima L1 Cache

Totalmente Quase TLB, Caches


Alta Alta
Associativo nenhum pequenas

Conjunto- L2/L3 Cache (4-


Moderado Média Balanceada
Associativo way a 16-way)

Conclusão

 Mapeamento Direto: Rápido, mas sofre com conflitos.

 Totalmente Associativo: Poucos conflitos, mas lento e caro.

 Conjunto-Associativo: Melhor equilíbrio (usado na maioria das caches modernas).

 Políticas de Substituição: LRU é o mais eficiente, mas FIFO e Aleatório são mais
simples.

Política de Escrita (Write Policy)

Define como escritas na cache são tratadas:


Política Funcionamento Vantagens Desvantagens

Dados são escritos tanto na cache Garante Lento (toda escrita


Write-Through
quanto na RAM simultaneamente. consistência. vai para RAM).

Dados são escritos apenas na


cache; RAM é atualizada só
quando o bloco é substituído (dirty
Rápido (evita
bit marca modificações). Risco de
escritas
Write-Back Os dados modificados são inconsistência em
desnecessárias
armazenados apenas no cache e falhas de energia.
na RAM).
escritos na memória principal
somente quando a linha de cache
correspondente é substituída.

 Write Allocation: Se um write miss ocorre, o bloco é carregado na cache antes da


escrita.

 No-Write Allocation: A escrita vai direto para a RAM, sem carregar o bloco na cache.

Latência e Taxa de Miss

 Latência de Acesso: Tempo para ler/escrever na cache (L1: ~1–4 ciclos, L2: ~10 ciclos,
L3: ~30–50 ciclos).

 Miss Rate: Porcentagem de acessos que não encontram dados na cache.

o Miss Types:

 Compulsory (Cold) Miss: Primeiro acesso a um bloco.

 Capacity Miss: Cache cheia, blocos úteis são substituídos.

 Conflict Miss: Colisão em mapeamento direto/associativo.

Coerência em Sistemas Multiprocessados (Cache Coherence)

 Problema: Se várias CPUs têm caches, como garantir que todas vejam a mesma versão
dos dados?

 Soluções:

o Protocolo MESI (Modified, Exclusive, Shared, Invalid): Mantém estados para


cada bloco.

o Snooping: Caches "espionam" o barramento para detectar atualizações.

o Directory-Based: Um controlador central rastreia cópias dos dados.

Tipos de ROM
Como o nome sugere, uma memória somente de leitura (ROM — do inglês, Read-Only
Memory) contém um padrão permanente de dados, que não pode ser mudado. Uma ROM é
não volátil, ou seja, nenhuma fonte de energia é necessária para manter os valores dos bits na
memória. Embora seja possível ler uma ROM, não é possível escrever algo novo nela. Uma
aplicação importante das ROMs é a microprogramação.

Outras aplicações em potencial incluem:

Programas do sistema.

Sub-rotinas de biblioteca para funções frequentemente utilizadas.

Tabelas de função.

Existem diferentes tipos de memória ROM:

 PROM (Programmable ROM) — Gravação feita após a fabricação através da queima


dos fusíveis sendo feita somente uma vez;

 EPROM (Erasable PROM) — Pode ser programada e apagada várias vezes,


semelhante à RAM estática. No entanto, para apagar o seu conteúdo, é necessário
expor a memória a uma luz ultravioleta;

 EEPROM (Electrically EPROM) — A programação, o apagamento e a reprogramação


são feitas por controle do processador. São lentas e caras em relação às RAMs e
ROMs, tendo baixa velocidade e capacidade de armazenamento;

 Memória Flash (Tipo especial de EEPROM) — Pode ser apagada e regravada em


blocos e só suporta reprogramações.

Há dois tipos distintos de memória flash, designados como NOR e NAND

Na memória flash NOR, a unidade básica de acesso é um bit, referido como uma célula
de memória. As células na flash NOR são conectadas em paralelo às linhas de bit, de modo
que cada célula pode ser lida/gravada/apagada individual mente. Se qualquer célula de
memória do dispositivo for ligada pela linha de palavra correspondente, a linha de bit
diminui. Isso é similar em função a uma porta lógica NOR.

A memória flash NAND é organizada em arrays de transistor com 16 ou 32 transistores


em séries. A linha de bit diminui somente se todos os transistores nas linhas de palavra
correspondente forem ligados. Isso é similar em função a uma porta lógica NAND.

A memória flash NOR proporciona acesso aleatório de alta velocidade. Pode ler e
escrever dados para locais específicos e recuperar um único byte. A NAND lê e escreve em
pequenos blocos. Ela fornece densidade de bits mais alta e maior velocidade de gravação. A
flash NAND não oferece barramento de endereço externo de acesso aleatório, de modo que
os dados devem ser lidos em um bloco básico (também conhecida como acesso de página),
em que cada bloco mantém centenas a milhares de bits. Para a memória interna nos
sistemas embarcados, a memória flash NOR tem sido tradicionalmente preferida.

A memória NAND fez algumas incursões, mas a NOR permanece a tecnologia dominante
para a memória interna. É idealmente adequado para microcontroladores em que a
quantidade de código de programa é relativamente pequena e uma certa quantidade de
dados de aplicações não varia

A memória NAND é mais bem adequada para a memória externa, como drives flash USB,
cartões de memória (em câmeras digitais, tocadores de MP3 etc.), e neles são chamados de
discos em estado sólido (SSDs).

🔍 Comparação Detalhada (NOR vs. NAND)

Característica Flash NOR Flash NAND

Aleatório
Tipo de Acesso Sequencial (em blocos)
(como RAM)

⚡ Muito
Velocidade de 🐢 Mais lenta (requer
rápida (XIP
Leitura buffer)
possível)

Velocidade de ⚡ Rápida (ideal para


🐢 Lenta
Escrita escrita em massa)

Densidade de 👎 Baixa (mais 👍 Alta (mais barata por


Armazenamento cara por GB) GB)

👎 Ciclos
👎 Ciclos limitados
Durabilidade limitados
(~10.000-100.000)
(~100.000)

Firmware, Armazenamento em
Uso Típico
código executável massa (SSDs, pendrives)

Você também pode gostar