Entenda a diferença entre: Memória RAM e ROM e o que é CACHE

Saiba mais sobre as memórias RAM, ROW e o que é o “famoso” CACHE, como funcionam e quais as diferenças entre elas.

Caíque Fortunato
Caíque Fortunato
7 min readSep 17, 2019

--

Memórias são estruturas físicas em forma de chips ou discos que são responsáveis pelo armazenamento de dados de forma temporária ou permanente que podem ser categorizadas como primárias ou secundárias.

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

Podemos também entender melhor a tipologia, ou tipo de gravação, das memórias que podem ser voláteis (podem mudar o estado físico em um curto espaço de tempo) onde os dados são “deletados” após o desligamento da máquina como RAM, ROM e CACHE, ou não-voláteis onde o dado não é perdido após a armazenagem.

Memória RAM

A principal função da memória RAM é evitar um gargalo de desempenho entre o processador e a memória de armazenamento.

A Memória de Acesso Aleatório (RAM) pode ser feita por circuitos integrados ou DIP e, como o nome diz, possui a capacidade de acesso a qualquer posição da memória em qualquer momento, diferentemente de um acesso sequencial. A RAM pode ser dinâmica — DRAM — onde existe uma necessidade de atualização dos dados ou estática — SRAM — que guarda dados mais antigos uma vez que não necessita de refresh.

Vantagens e desvantagens das memórias DRAM e SRAM

A Memória de Acesso Aleatório (RAM) pode ser feita por circuitos integrados ou DIP e, como o nome diz, possui a capacidade de acesso a qualquer posição da memória em qualquer momento, diferentemente de um acesso sequencial. A RAM pode ser dinâmica — DRAM — onde existe uma necessidade de atualização dos dados ou estática — SRAM — que guarda dados mais antigos uma vez que não necessita de refresh.

SRAM X DRAM

As RAMs dinâmicas são formadas de células mais simples tendo maior capacidade, mais barata e mais lenta. Já as RAMs estáticas são formadas por flips-flops, sendo utilizada em memória cache L2 (nível 2).

Divisões internas da memória RAM

  • BASE: Responsável por armazenas as instruções do sistema operacional; *
  • ALTA: Responsável por armazenar as instruções dos programas e apps
  • EXPANDIDA: Área da memória onde serão armazenadas as demais informações

Tipos: SIMM e DIMM

Os tipos podem ser diferenciadas pela conexão com o soquete, podendo ser SIMM (Single InLine Memory Module) ou DIMM (Double InLine Memory Module).

Exemplo para observar as vias de contato da RAM

Os tipos estão ligados diretamente com os componentes da RAM, onde ocorrerão as trocas de informações por vias (contatos), o SIMM (que já saíram de linha) possuíam 30 vias para uma memória mais antiga e 72 para a mais nova, já a DIMM possui mais de 168 vias de contato.

Focando nas memórias DIMM, elas podem ser:

  • SDRAM onde os ciclos da memória são sincronizados com os ciclos da placa-mãe, permitindo um maior desempenho;
  • DDR-SDRAM que fornece o dobro da informação no mesmo intervalo de tempo.
SDRAM vrs DDR SDRAM

Mas, por quê?

As memórias SDRAM realizam transferências de dados quando a tensão sobe, já as DDR SDRAM realizam transferência quando a tensão sobe e desce. Consequentemente, a velocidade da memória é dobrada em relação a SDRAM.

Memórias Dual-Channel, DDR, DDR2, DDR3, DDR4, etc…

São memórias do tipo SDRAM (Synchronous Dynamic Random Access Memory), que como visto no tópico anterior são síncronas: utilizam um sinal de clock para sincronizar suas transferências. DDR significa Double Data Rate ou Taxa de Transferência Dobrada, e memórias desta categoria transferem dois dados por pulso de clock externo.

DDR e DDR2

As memórias Dual-Channel vieram antes das “famosas DDR2”, possuem dois canais de comunicação fornecendo, na teoria, o dobro de desempenho. No entanto isso pode depender da placa-mãe, ou melhor dizendo: do chipset.

Já que citei a DDR2, você sabe a diferença dela para a DDR? A resposta está principalmente nos MHZ, enquanto a primeira possui 266, 333 e 400MHZ, a segunda tem valores mais expressivos: 400, 533, 667 e 800MHZ. Memórias DDR3–1333 trabalham externamente a 666,6 MHz, memórias DDR4–2133 trabalham externamente a 1.067 MHz, e assim por diante. Ambas transmitem dois dados por ciclo de clock, logo a frequência será a metade.

RDRAM

A RDRAM é um tipo de memória proprietária da Intel / Rambus Inc. Foi utilizada inicialmente em placas de vídeo nos jogos do console Nintendo. Tem como característica FSB de até 800 MB/s e barramento de dados de 132 e 144 bits, atingem até 6,4 Gb/s. No entanto, necessita de um soquete especial: RIMM de 184 pinos.

E não para por aí…

A memória RAM é complexa e possui muito assunto para ser discutido. Se você se interessou e quiser saber mais dê um Google que possui muito material interessante que aprofunda bastante no assunto. Vamos então partir para a memória ROM.

Memória ROM

A memória ROM (Read Only Memory) permite apenas a leitura de dados, a escrita é feita por processo especial durante a fabricação do chip. A ROM é consideravelmente mais barata que a RAM. Independentemente de se desligar o computador os dados não são perdidos.

Exemplo de memória ROM

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.
Resumo do tipo, categoria e leitura/escrita

CACHE

Cache refere-se a um espaço para o armazenamento de dados que têm boa probabilidade de serem utilizados futuramente. Ele está presente em softwares diversos, placas-mãe, discos rígidos e vários outros dispositivos que necessitem de um dispositivo de acesso rápido, interno a um sistema, que serve de intermediário entre um operador de um processo e o dispositivo de armazenamento ao qual esse operador acede.

Diagrama de uma memória de cache da CPU.

Logo, imagine o cache sendo o lugar onde os arquivos temporários do computador ficam armazenados para que possam ser acessados mais rapidamente quando necessário, agilizando a execução dos programas.

Por ser mais caro, não é financeiramente viável que o recurso mais rápido seja usado para armazenar todas as informações. Sendo assim, usa-se o cache para armazenar apenas as informações mais frequentemente usadas. Nas unidades de disco como os HDs também existem chips de cache nas placas eletrônicas que os acompanham.

Tipos de Cache

  • Mapeamento direto: cada bloco da memória principal é mapeado para uma linha do cache;
  • Mapeamento associativo: um bloco da memória principal pode ser carregado para qualquer linha do cache;
  • Mapeamento associativo por conjunto (N-way): meio termo direto e o associativo.

Níveis de Cache

A memória cache é dividida em três níveis, conhecidos como L1, L2 e L3. Eles dizem respeito à proximidade da memória cache das unidades de execução do processador. Quanto mais próxima ela estiver da unidade de execução do processador, menor será o seu número.

Assim, o cache L1 é o mais próximo possível. O L2 é um pouco mais distante e o L3 é ainda mais distante. Sempre que a unidade de busca do processador precisa de um novo dado ou instrução, ela procura inicialmente no cache L1. Se não encontrar, parte para o L2 e depois para o L3. Se a informação não estiver em nenhum dos níveis de memória cache, ela terá de ir até a memória RAM.

É possível a necessidade futura de níveis ainda mais elevados de cache, como L4 e assim por diante.

E não para por aí…

O Cache é um assunto bem mais amplo que somente a definição acima. Se você se interessou e quiser saber mais dê um Google que possui muito material interessante que aprofunda bastante no assunto.

Muito obrigado por ter lido até aqui e até o próximo post (Todas as semanas tem algo novo no medium.com/caiquefortunato)! :)

Fonte — Tipos de memória | Memórias RAM, ROM e CACHE | O que é memória Cache |

--

--

Caíque Fortunato
Caíque Fortunato

Dev apaixonado por tecnologia. Troco filmes por livros (não se for do MCU/Pixar), gosto de escutar músicas/podcasts, escrever, fazer uns rabiscos e jogar.