A EEPROM é uma "Memória Somente Leitura", então por que posso escrever nela?


15

Memória somente leitura programável apagável eletricamente ( EEPROM ):

Se ele estiver usando memória somente leitura ( ROM ), como posso gravar nele?


13
A palavra "programável" sugere alguma coisa?
Nick Alexeev

2
A ROM original foi programada por máscara (que provavelmente é onde você está confuso), mas temos que ter alguma maneira de colocar algo em outras ROMs.
StainlessSteelRat

6
'Programável' não indicará nada se seguido pela não-dica 'somente leitura'.
TonyM

4
@TonyM, depois de adicionar "apagável", "programável" não é muito útil, a menos que realmente signifique "reprogramável". Mas as ROMs programáveis ​​únicas também são úteis, pois significa que você não precisa conhecer o conteúdo antes de colocar um pedido de compra da peça.
O fóton

1
a resposta real é extremamente simples: você pode programá- la, mas não pode / não deve escrever . Como Nick disse, os dois termos aqui são contextuais; "programação" geralmente significa um único ciclo de gravações seqüenciais, destinado a configurar o chip para fazer o que ele deve fazer, geralmente em velocidade muito baixa - com relação à arquitetura de Harvard, você não poderá gravar nessa memória durante a aplicação execução. "Gravação" regular significa exatamente isso - armazenar dados durante a execução do programa, geralmente com acesso rápido e / ou aleatório.

Respostas:


27

A sigla EEPROM tem uma história que segue o desenvolvimento da tecnologia.

ROM : Memória somente leitura. Escrito na fábrica.

PROM : Memória somente leitura programável, mas programável (uma vez) pelo usuário. Realmente uma memória única e programável e para sempre legível. Entenda errado e você despeja o chip.

EPROM : Memória somente leitura programável apagável. Normalmente apagado usando luz UV através de uma janela de quartzo acima do chip. Um pouco de dificuldade, mas muito útil.

EEPROM : Memória somente leitura programável apagável eletricamente. Pode ser apagado ou reescrito sob controle do programa.

1

Figura 1. Uma EPROM Intel 1702A, um dos primeiros tipos de EPROM, 256 por 8 bits. A pequena janela de quartzo admite luz UV para apagar. Fonte: Wikipedia EPROM .

Então, eu ouvi você dizer, por que eles chamam de eepROm quando é gravável? A resposta para isso é, suspeito, que, diferentemente da RAM (memória de acesso aleatório), ela mantém seu conteúdo durante o ciclo de energia e, portanto, se comporta mais como uma ROM .


1
Ótima informação! Sua resposta me levou a olhar para cima o potencial de RAMsegurar quaisquer dados para além do ciclo de energia e eu achei esta pequena jóia que você pode estar interessado.
Jacksonkr

1
Ah, o 1702, a primeira EPROM que usei. Havia a estranha convenção de que você tinha que programar o inverso do que queria sair dela, porque, por alguma razão, o processador 4004 com o qual foi projetado para trabalhar utilizava uma convenção lógica negativa para documentar seu código de montagem. Portanto, essa correção foi facilitar as coisas!
30716 Neil_UK

3
E se você levar a evolução ROM-> PROM-> EPROM-> EEPROM para a próxima etapa, terá memória "flash". Amplamente utilizado em drives USB, Estado Drives sólidos "duras", memória persistente em todos os tipos de dispositivos de consumo, etc. etc.
Richard Crowley

Manter o conteúdo entre os ciclos de energia está longe de ser o único lugar em que a PROM fica dramaticamente curta quando comparada à RAM com especificação de leitura equivalente, como espero que minha resposta esclareça.
Sublinhado_

ram é volátil, eeprom é não volátil, lembra depois de um ciclo de energia. rom é não volátil. eeprom você geralmente lê e não escreve, mas você lê e não escreve. Portanto, o eeprom é muito parecido com um rom e, como o transistor descreveu, fazia parte de uma evolução de soluções não voláteis.
old_timer

7

Estou confuso com quantos comentaristas aqui pensam que o termo ROM é apenas uma jogada de marketing ou se refere apenas à perda de dados no desligamento.

O PROM é muito "somente leitura", no sentido qualificado de que é impossível escrevê-lo da mesma maneira e contextos que você faria com uma RAM "equivalente". Isso ocorre porque a E / EPROM requer:

  • apagamento por UV (EPROM) ou um ciclo 0xFF (EEPROM),
  • mudar para um modo diferente de programação ('gravação') de dados,
  • que em alguns casos requer diferentes condições de energia, tempos de espera etc.
  • Limitações nos ciclos de gravação tornariam inúteis todas as PROMs existentes para o tipo de transferência / manipulação de dados de alto volume necessária para muitos programas.

... tudo isso significa que o ato de gravar em tal memória é lento, não pode ser intercalado com eficiência nas operações de leitura, gasta ativamente o chip, etc.

O PROM está em uma liga totalmente diferente da RAM, com especificações de leitura equivalentes. Por isso, não foi comercializado como qualquer forma de RAM. A reação teria sido colossal!

Então, talvez pudéssemos chamá-lo de Read Mostly Memory ou, para os pedantes, EWRPROM: Eventualmente gravável, tempo de execução praticamente apenas para leitura de memória ... mas, em termos práticos, a ROM está em jogo.


5
" ... escrever da mesma maneira e contextos que você faria com uma RAM 'equivalente' é impossível. " Mas essa não era a questão do OP e para muitos aplicativos, como salvar definições de configuração, páginas impressas etc., A EEPROM é ideal, apesar de sua velocidade lenta. Qualquer que seja sua velocidade de gravação, ainda é gravável.
Transistor

@ transistor Bem, assim como a pergunta está sujeita à semântica, as respostas também são ... então não tenho certeza de que seja possível uma resposta 'verdadeira'. Meu argumento era que não é "gravável" por um significado comumente assumido para esse termo. Por isso, como vaxquis apontou, o termo alternativo programável foi introduzido. Eu adicionei minha opinião, pois acho que esse detalhe importante havia sido esquecido nesta discussão antes disso. Mas, com certeza, você está certo de que a EEPROM é suficiente nos casos apropriados, então obrigado pelos detalhes.
underscore_d

3

Os primeiros dispositivos de memória programáveis ​​foram projetados para serem gravados enquanto conectados a um dispositivo e depois lidos enquanto conectados a outro. Enquanto os dispositivos geralmente podem ser lidos enquanto estão no equipamento de programação (para que o equipamento possa confirmar que foram escritos corretamente), a programação dos dispositivos geralmente requer a aplicação de tensões incomuns que não estariam disponíveis na maioria dos dispositivos que precisavam lê-los. Além disso, as operações de gravação eram ordens de magnitude mais lenta que as operações de leitura. Os dispositivos posteriores foram aprimorados para eliminar esses requisitos, permitindo que sejam programados no dispositivo em que serão utilizados após a programação, mas a diferença entre as velocidades de leitura e gravação permanece.


1

É eletricamente apagável, para que você possa escrever nele.

Não faz sentido quando você expande a ROM em palavras. Mas meu entendimento é que a EPROM foi nomeada pelo seu inventor, Intel, como um atrativo de marketing que significava "Assim como a ROM - mas você pode mudar você mesmo". Isso foi em um mundo de 1972, onde a ROM significava mil para uma mudança de máscara.

A EEPROM segue a partir desse precedente.


4
PROM: Memória somente leitura programável (não apenas configurada na fábrica). EPROM: memória somente leitura programável apagável. Normalmente, requer exposição UV para apagar. EEPROM: memória somente leitura programável apagável eletricamente, economizando muito tempo ao não sentar o dispositivo em uma cama de bronzeamento toda vez que você deseja reprogramar.
O fóton

1
As EPROMs UV que eu vi têm pequenas janelas no plástico. Você os cobre quando não está apagando.
mkeith

1
A designação de ROM faz muito sentido quando você se preocupa em pensar sobre os aspectos práticos, apresentados na minha resposta, de tentar usar uma PROM como se fosse RAM. Tente e veja. Eu vou esperar!
Sublinhado_

@underscore_d, na verdade eu me preocupei em pensar e não tenho certeza de como o seu comentário pesa contra a sua marcha à ré um pouco mais tarde. "Bem, assim como a pergunta está sujeita à semântica, as respostas também são ... então eu ' não tenho certeza de que seja possível uma resposta 'verdadeira' ". De qualquer forma, havia muito poucos tipos de memória em 1972 e a ROM era um tipo distinto. Como um acrônimo independente, a EEPROM é realmente confusa, conforme a pergunta dos OPs.
21817 TonyM

1

Descobri uma resposta em potencial enquanto escrevia a pergunta

Olhando para este artigo de ROM na Wikipedia , parece que algumas ROMs permitirão escrever, mas se o fizer, a velocidade de gravação será lenta ou a gravação em geral será difícil, se possível.

Outro boato fascinante é que a EEPROM tem uma quantidade limitada de vezes em que pode ser gravada. O artigo menciona que a EEPROM pode ser limpa e gravada milhares de vezes, mas ainda assim!


1
Essa é uma explicação simplista demais e falha em reconhecer as principais diferenças entre os diferentes tipos de ROM (por exemplo, mascarar ROM vs. OTP PROM vs. EPROM, EEPROM e memória flash).
duskwuff

@duskwuff Parece que você tem algumas informações excelentes sobre o assunto. Por favor, compartilhe.
Jacksonkr

2
A citação da wikipedia a que você está se referindo é um aceno para todos os diferentes tipos, mas @Jacksonkr está certo; simplifica demais. A ROM não pode ser escrita. PROM pode ser escrito uma vez. A EPROM pode ser reescrita, mas somente após a exposição a uma lâmpada UV. (ou seja, devagar e com dificuldade. ) A EEPROM pode ser reescrita, mas somente depois que você der um comando para apagar (ou seja, lentamente ).
Robert Harvey

2
@RobertHarvey Acho que você quis dizer "@duskwuff está certo"?
Jacksonkr

1
[suspiro] E agora todos os comentários estão confusos.
Robert Harvey

1

As EEPROMs e até as memórias Flash usam uma evolução da mesma tecnologia (porta flutuante) usada pelas EPROMs, não a tecnologia que seria usada para dispositivos SRAM ou DRAM.

As EEPROMs são fortemente assimétricas no comportamento de leitura versus gravação: os ciclos de leitura são praticamente ilimitados, rápidos (dezenas ou centenas de nanossegundos) e sempre são possíveis apenas com as principais tensões operacionais aplicadas. Os ciclos de gravação são muito mais lentos e às vezes precisam de tensões extras aplicadas (uma EEPROM paralela 2816 precisará de uma fonte extra de 12V para algumas operações de programação e terá um tempo de gravação em centenas de microssegundos ou até mais lenta, dependendo da marca e modelo exatos, e ciclos de gravação limitados).

As memórias flash não são acesso aleatório para escrita (sobrescrever uma palavra requer que você apague mais de uma palavra), alguns tipos (NAND) nem sequer têm acesso aleatório para leitura.

Observe que alguns dispositivos (nem todos!) Comercializados como PROMs ou ROMs eram EPROMs OTP (sem janelas) internamente.


0

É apenas uma ROM comparada com a RAM volátil (memória de acesso aleatório que perde seu estado quando a energia é perdida). Um nome herdado que não faz mais sentido depois de décadas.


2
Eu não concordo, Passerby; o nome realmente faz todo sentido no contexto. Temos NVRAM e EEPROM. Ambos os termos destacar diferentes modos esperados uso das memórias, diferentes velocidades de leitura / gravação, diferentes tempos de retenção de dados, etc

-1

EPROM / PROM é LIDO SOMENTE EM RUNTIME. Quando você executa o aplicativo pretendido (PC, controlador incorporado, etc.), ele não pode ser gravado pelo programa em execução. É necessário retirá-lo e inseri-lo em um aparelho de escrita especial, onde você escreve todo o conteúdo de uma só vez.

Como estão sendo apontados nos comentários, a EEPROM pode ser configurada para ser gravável em tempo de execução, porque é gravável eletronicamente. Mas, no uso diário, não é gravável, a arquitetura geralmente o impede. Geralmente, você usa um utilitário especial "flash" fornecido pelo fabricante para acessá-lo e gravá-lo, e geralmente é gravado de uma só vez, e não no modo de acesso aleatório. Alguém na resposta acima criou um grande acrônimo para isso que se aplicaria.

A RAM, incluindo a NVRAM, pode ser gravada em tempo de execução pelo dispositivo host.

Embora toda a ROM seja não volátil e a maior parte da RAM seja volátil, a NVRAM não é volátil, portanto essa não é a única diferença discernente entre elas.


A ROM é somente leitura. “ É necessário retirá-lo e inseri-lo em um aparelho de escrita especial, onde você escreve todo o conteúdo de uma vez. ” Isso é programado, por definição, como um dispositivo PROM (memória programável somente leitura). " Tempo de execução " não se aplica. Não é um compilador. Bem-vindo ao EE.SE.
Transistor

Eu quis dizer EEPROM ou PROM e, por engano, só escrevi ROM
Trashman

2
Ainda não está certo. A EEPROM é gravável pelo dispositivo host. É comumente usado para salvar as configurações. Veja outras respostas na página.
Transistor

/ concorda transistor - se a EEPROM é designada como área de código na arquitetura (modificada) de Harvard, não pode ser gravada (como resultado simples do design do barramento).

Não, isso também é inverso. Em uma arquitetura de Harvard "modificada", você normalmente pode escrever no espaço do código, geralmente com menos eficiência, pois é apenas em um puro onde você não pode. E quanto à resposta em si, o 8052AH básico suportou o uso de uma EPROM (UV) como armazenamento gravável em tempo de execução - você precisava de um suprimento de 12v ou mais e um transistor para ativá-lo. É claro que não poderia apagá-lo no circuito, mas poderia continuar anexando programas salvos até ficar sem espaço.
Chris Stratton
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.