Tutorial Narrativo: Memórias RAM e ROM em Eletrônica Digital

Neste tutorial, abordaremos os principais tipos de memórias utilizadas em eletrônica digitalIntrodução à Eletrônica Digital: Conceitos Básicos e AplicaçõesIntrodução à Eletrônica Digital: Conceitos Básicos e AplicaçõesDescubra os conceitos e aplicações essenciais da Eletrônica Digital, do funcionamento de sinais binários aos transistores, e comece sua jornada tecnológica.. Veremos como funcionam as memórias de acesso randômico (RAM) e as memórias somente de leitura (ROM), bem como suas variações. A meta é torná-lo acessível para estudantes de engenharia, profissionais iniciantes ou entusiastas de tecnologia que desejam entender a base do armazenamento digital.

Visão Geral de Memória em Sistemas Digitais🔗

Em um sistema digitalIntrodução à Eletrônica Digital: Conceitos Básicos e AplicaçõesIntrodução à Eletrônica Digital: Conceitos Básicos e AplicaçõesDescubra os conceitos e aplicações essenciais da Eletrônica Digital, do funcionamento de sinais binários aos transistores, e comece sua jornada tecnológica., memóriaBoas Práticas de Programação Embarcada e Otimização de CódigoBoas Práticas de Programação Embarcada e Otimização de CódigoDescubra técnicas e práticas essenciais para otimizar o código de sistemas embarcados, garantindo desempenho e eficiência em projetos eletrônicos. é o local onde são armazenados dados e instruções. Seja o firmware de um microcontroladorMicroprocessadores e Microcontroladores: Diferença entre microprocessador e microcontroladorMicroprocessadores e Microcontroladores: Diferença entre microprocessador e microcontroladorDescubra as principais diferenças entre microprocessadores e microcontroladores, entendendo suas aplicações, custos e consumo de energia em sistemas embarcados., seja o conjunto de variáveis de um programa em execução, toda informação precisa ser gravada em algum componente físico capaz de manter (por um tempo desejado) o valor binário. Essas informações podem ser voláteis (perdem conteúdo ao desligar a energia) ou não voláteis (retêm o conteúdo mesmo sem alimentaçãoFerramentas e Recursos Adicionais: Leitura de datasheets: interpretação de especificações de CIsFerramentas e Recursos Adicionais: Leitura de datasheets: interpretação de especificações de CIsDescubra como ler datasheets e interpretar suas especificações essenciais para garantir segurança, confiabilidade e desempenho em seus projetos digitais.).

RAM (Random Access Memory)🔗

A sigla RAM (do inglês, RandomIntegração de Randomização com Ferramentas de VerificaçãoIntegração de Randomização com Ferramentas de VerificaçãoDescubra como a integração da randomização em SystemVerilog e ferramentas de verificação potencializam a cobertura e qualidade dos testes em designs complexos. Access Memory) compreende memórias que podem ser lidas e escritas em qualquer posição de forma direta, sem necessidade de seguir uma sequênciaPropriedades e Afirmações: Definindo Expectativas de SinaisPropriedades e Afirmações: Definindo Expectativas de SinaisDescubra como utilizar afirmações e propriedades em SystemVerilog para verificar sinalizações e garantir o comportamento esperado nos projetos de hardware.. É volátil, ou seja, depende de alimentaçãoFerramentas e Recursos Adicionais: Leitura de datasheets: interpretação de especificações de CIsFerramentas e Recursos Adicionais: Leitura de datasheets: interpretação de especificações de CIsDescubra como ler datasheets e interpretar suas especificações essenciais para garantir segurança, confiabilidade e desempenho em seus projetos digitais. para manter o conteúdo armazenado. Há duas famílias principais de RAM:

1. SRAM (Static RAM)

2. DRAM (Dynamic RAM)

SRAM (Static RAM)

Na SRAM, cada bit é armazenado em um circuito que geralmente envolve transistoresTransistorTransistorDescubra o funcionamento e aplicações dos transistores em circuitos digitais. Veja exemplos práticos para sua primeira experiência. interligados de forma a manter um estado lógico estável (latchFlip-Flops e Latches: Tipos: SR, JK, D, T (funcionamento e clock)Flip-Flops e Latches: Tipos: SR, JK, D, T (funcionamento e clock)Aprenda os conceitos de Flip-Flops e Latches, incluindo tipos SR, JK, D e T, além do impacto do clock na sincronização de circuitos digitais.). Alguns pontos importantes:

DRAM (Dynamic RAM)

A DRAM armazena cada bit em um capacitor e um transistorTransistorTransistorDescubra o funcionamento e aplicações dos transistores em circuitos digitais. Veja exemplos práticos para sua primeira experiência., sendo necessário recarregar periodicamente esse capacitorCapacitorCapacitorAprenda o funcionamento dos capacitores, veja seus tipos, aplicações e como eles estabilizam circuitos digitais em operações práticas de eletrônica. (operação conhecida como refresh). Desta forma, é chamada de memóriaBoas Práticas de Programação Embarcada e Otimização de CódigoBoas Práticas de Programação Embarcada e Otimização de CódigoDescubra técnicas e práticas essenciais para otimizar o código de sistemas embarcados, garantindo desempenho e eficiência em projetos eletrônicos. dinâmica. Alguns aspectos:

Comparativo SRAM vs. DRAM

CaracterísticaSRAMDRAM
Elemento de armazenamentoLatch (4 ou 6 transistores)Capacitor + transistor
Velocidade de acessoAltaModerada
Densidade (bits por área)BaixaAlta
Consumo em repousoBaixo (em estado estável)Relativamente alto (devido ao refresh)
Complexidade de projetoMais simples de interfacear (sem refresh)Necessita circuitos de refresh e controle
Aplicação típicaCache de CPU, buffers de alto desempenhoMemória principal em computadores e dispositivos

ROM (Read-Only Memory)🔗

A sigla ROM indica memóriasSistemas de Memória: Arquitetura interna: endereçamento e organizaçãoSistemas de Memória: Arquitetura interna: endereçamento e organizaçãoAprenda como o endereçamento e a organização interna das memórias digitais, por meio de matrizes e decodificadores, garantem acesso rápido e eficiente. em que seu conteúdo é gravado de forma permanente ou semi-permanente, sendo lido posteriormente. Embora o termo "somente leitura" seja clássico, algumas variações de ROM permitem regravação sob certas condições. Vejamos as principais:

1. PROM (Programmable ROM)

2. EPROM (Erasable Programmable ROM)

3. EEPROM (Electrically Erasable Programmable ROM)

4. Flash

PROM

Definida como Programmable ROM, a memóriaBoas Práticas de Programação Embarcada e Otimização de CódigoBoas Práticas de Programação Embarcada e Otimização de CódigoDescubra técnicas e práticas essenciais para otimizar o código de sistemas embarcados, garantindo desempenho e eficiência em projetos eletrônicos. PROM é fabricada em estado “virgem” e pode ser programada uma única vez. A programaçãoMicroprocessadores e Microcontroladores: Programação: Assembly e C (ex.: Arduino, PIC)Microprocessadores e Microcontroladores: Programação: Assembly e C (ex.: Arduino, PIC)Aprenda a programar microcontroladores com Assembly e C usando exemplos práticos em Arduino e PIC para dominar sistemas embarcados. envolve queimar fusíveis internos para definir se um bitSistemas de Numeração e Conversão: Binário, Decimal, Octal e HexadecimalSistemas de Numeração e Conversão: Binário, Decimal, Octal e HexadecimalAprenda conversões de sistemas numéricos em eletrônica digital. Descubra métodos para converter entre decimal, binário, octal e hexadecimal com exemplos. vale 0 ou 1. Uma vez gravada, não pode ser alterada.

  • Aplicação: Gravação de código fixo em lotes de produção, quando não se espera alteração posterior.

EPROM

A Erasable Programmable ROM pode ser regravada, porém de modo menos prático que outras tecnologias mais atuais. A regravação exige exposição a luz ultravioleta para apagar todo o conteúdo. Após a exposição, é possível reprogramar com ajuda de um gravador especializado.

EEPROM

A Electrically Erasable Programmable ROM representa evolução da EPROM, possibilitando apagar e regravar eletricamente, sem a necessidade de remover o chipCircuito Integrado (CI)Circuito Integrado (CI)Descubra os fundamentos dos Circuitos Integrados, sua história e aplicações na eletrônica digital. Aprenda os conceitos essenciais para iniciar. para irradiar luz ultravioleta.

Flash

A Flash é um tipo especial de EEPROM otimizada para realizar gravações em blocos, de forma mais rápida e barata em comparação à EEPROM tradicional. É a tecnologia de base para pen drives, SSDs (unidades de estado sólido) e cartões de memóriaBoas Práticas de Programação Embarcada e Otimização de CódigoBoas Práticas de Programação Embarcada e Otimização de CódigoDescubra técnicas e práticas essenciais para otimizar o código de sistemas embarcados, garantindo desempenho e eficiência em projetos eletrônicos..

Comparativo das Tecnologias ROM

TipoForma de ProgramarForma de ApagarAplicações Principais
PROMQueima de fusíveis (uma vez)Não aplicável (não regravável)Definição fixa de dados sem expectativa de mudança
EPROMProgramação elétrica (gravador UV)Luz UV (apaga inteiro)Desenvolvimento e protótipos em gerações passadas
EEPROMProgramação elétricaApagável eletricamente (a nível de byte)Armazenamento de dados configuráveis
FlashProgramação elétrica (página/bloco)Apagável em blocos/páginasUso massivo em armazenamento de larga escala

Conclusão🔗

As memóriasSistemas de Memória: Arquitetura interna: endereçamento e organizaçãoSistemas de Memória: Arquitetura interna: endereçamento e organizaçãoAprenda como o endereçamento e a organização interna das memórias digitais, por meio de matrizes e decodificadores, garantem acesso rápido e eficiente. RAM (SRAM e DRAM) oferecem acesso rápido e servem como área de trabalho para os dados, enquanto as diversas variações de ROM (PROM, EPROM, EEPROM e Flash) fornecem métodosMétodos e Sobrecarga: Técnicas para Maior FlexibilidadeMétodos e Sobrecarga: Técnicas para Maior FlexibilidadeDescubra como métodos, tasks, functions e sobrecarga em SystemVerilog otimizam a programação orientada a objetos com exemplos práticos e dicas de boas práticas. distintos de gravação e leitura para armazenamento permanente ou semi-permanente. Cada tipo de memória é projetado para equilibrar velocidadePortas Lógicas e Famílias Lógicas: Comparação de famílias lógicas: TTL, CMOS, ECL (vantagens e limitações)Portas Lógicas e Famílias Lógicas: Comparação de famílias lógicas: TTL, CMOS, ECL (vantagens e limitações)Descubra as características, vantagens e limitações das famílias lógicas TTL, CMOS e ECL, essenciais para projetos digitais modernos., custo, densidade e praticidade de regravação, atendendo a diferentes requisitos de projeto.

Com o entendimento desses conceitos, você terá uma base sólida sobre como as informações são armazenadas eletronicamente, seja na RAM que alimenta programas em tempo real, seja na ROM que guarda o firmware essencial. Nos estudos posteriores, esse conhecimento será essencial para projetar, especificar e otimizar sistemas digitais que envolvam memóriaBoas Práticas de Programação Embarcada e Otimização de CódigoBoas Práticas de Programação Embarcada e Otimização de CódigoDescubra técnicas e práticas essenciais para otimizar o código de sistemas embarcados, garantindo desempenho e eficiência em projetos eletrônicos. de forma estratégica.

Próximos passos: No decorrer dos estudos (sem adiantar conteúdos de outros tutoriais), explore como a arquitetura internaSistemas de Memória: Arquitetura interna: endereçamento e organizaçãoSistemas de Memória: Arquitetura interna: endereçamento e organizaçãoAprenda como o endereçamento e a organização interna das memórias digitais, por meio de matrizes e decodificadores, garantem acesso rápido e eficiente. dessas memórias é organizada e quais cuidados de projeto são adotados para aplicações mais complexas. Isso permitirá elaborar soluções de armazenamento mais eficientes e robustas em dispositivos embarcados e em sistemas de maior escala.

Autor: Marcelo V. Souza - Engenheiro de Sistemas e Entusiasta em IoT e Desenvolvimento de Software, com foco em inovação tecnológica.

Referências🔗

Compartilhar artigo