EEPROM è una "memoria di sola lettura", quindi perché posso scrivere su di essa?


15

Cancellabile e programmabile elettricamente Read-Only Memory ( EEPROM ):

Se utilizza la memoria di sola lettura ( ROM ), come posso scrivere su di essa?


13
La parola "programmabile" suggerisce qualcosa?
Nick Alexeev

2
La ROM originale è stata programmata con la maschera (che probabilmente è dove sei confuso), ma dobbiamo avere un modo per inserire qualcosa in altre ROM.
StainlessSteelRat

6
'Programmabile' non suggerirà nulla se seguito dal non-suggerimento 'sola lettura'.
TonyM,

4
@TonyM, dopo aver aggiunto "cancellabile", "programmabile" non è molto utile a meno che non significhi effettivamente "riprogrammabile". Ma anche le ROM programmabili una sola volta sono utili poiché significa che non è necessario conoscere i contenuti prima di inserire un PO per la parte.
The Photon,

1
la risposta effettiva è estremamente semplice: puoi programmarla , ma non puoi / non dovresti scriverla . Come Nick ha detto, entrambi i termini qui sono contestuali; "programmazione" di solito significa un singolo ciclo di scritture sequenziali, finalizzato a configurare il chip per fare ciò che è destinato a fare, di solito a velocità molto bassa - per quanto riguarda l'architettura di Harvard, non sarà possibile scrivere su tale memoria durante l'applicazione esecuzione. Regolare "scrittura" significa proprio questo: memorizzare i dati durante l'esecuzione del programma, di solito con accesso rapido e / o casuale.

Risposte:


27

L'acronimo EEPROM ha una certa storia che segue lo sviluppo della tecnologia.

ROM : memoria di sola lettura. Scritto in fabbrica.

PROM : memoria di sola lettura programmabile ma programmabile (una volta) dall'utente. Davvero una memoria programmabile, leggibile per sempre. Sbagli e scarichi il chip.

EPROM : memoria di sola lettura programmabile e cancellabile. Di solito cancellato usando la luce UV attraverso una finestra di quarzo sopra il chip. Un po 'di problemi ma molto utile.

EEPROM : memoria di sola lettura programmabile e cancellabile elettricamente. Può essere cancellato o riscritto sotto il controllo del programma.

1

Figura 1. Una EPROM Intel 1702A, uno dei primi tipi di EPROM, 256 per 8 bit. La piccola finestra al quarzo ammette la luce UV per la cancellazione. Fonte: Wikipedia EPROM .

Quindi, ti sento dire, perché lo chiamano eepROm quando è scrivibile? La risposta a questo è, sospetto, che, a differenza della RAM (memoria ad accesso casuale), conserva i suoi contenuti durante il ciclo di accensione e, quindi, si è comportato più come una ROM .


1
Informazioni fantastiche! La tua risposta mi ha spinto a cercare il potenziale di RAMconservare qualsiasi dato oltre il ciclo di alimentazione e ho trovato questo piccolo gioiello che potrebbe interessarti.
Jacksonkr

1
Ah, il 1702, la prima EPROM che ho usato. Aveva la strana convenzione che dovevi programmare l'inverso di ciò che volevi uscirne, perché per qualche ragione il processore 4004 con cui era progettato per funzionare usava una convenzione logica negativa per documentare il suo codice assembly. Quindi questa soluzione è stata per rendere le cose "più facili"!
Neil_UK,

3
E se passi l'evoluzione ROM-> PROM-> EPROM-> EEPROM al passaggio successivo hai una memoria "flash". Ampiamente usato in chiavette USB, unità "hard" a stato solido, memoria persistente in tutti i tipi di gadget di consumo, ecc. Ecc.
Richard Crowley,

Tenere i contenuti tra i cicli di accensione è ben lungi dall'essere l'unico posto in cui la PROM non è all'altezza rispetto alla RAM specifcata in modo equivalente, come spero che la mia risposta sia chiara.
underscore_d

ram è volatile, eeprom non è volatile, si ricorda dopo un ciclo di accensione. la rom non è volatile. eeprom per lo più leggi e per lo più non scrivi, rom leggi e non scrivi. Quindi eeprom è molto simile a una rom e, come ha descritto il transistor, faceva parte di un'evoluzione di soluzioni non volatili.
old_timer

7

Sono sconcertato da quanti commentatori qui pensano che il termine ROM sia solo uno stratagemma di marketing o si riferisca solo alla perdita di dati allo spegnimento.

La PROM è molto "sola lettura", nel senso qualificato che è impossibile scriverlo nello stesso modo e nei contesti in cui si farebbe con una RAM "equivalente". Questo perché E / EPROM richiede:

  • cancellazione mediante UV (EPROM) o un ciclo 0xFF (EEPROM),
  • passaggio a una modalità diversa per la programmazione ("scrittura") dei dati,
  • che in alcuni casi richiede condizioni di alimentazione diverse, tempi di attesa, ecc.
  • Le limitazioni sui cicli di scrittura renderebbero inutili tutte le PROM esistenti per il tipo di trasferimento / manipolazione di dati ad alto volume necessario a molti programmi.

... tutto ciò significa che l'atto di scrivere su tale memoria è lento, non può essere intercalato in modo efficiente con le operazioni di lettura, consuma attivamente il chip, ecc.

PROM ha una lega totalmente diversa dalla RAM con specifiche di lettura equivalenti. Ecco perché non è stato commercializzato come qualsiasi forma di RAM. Il contraccolpo sarebbe stato colossale!

Quindi, potremmo forse chiamarlo Read Mostly Memory o, per i pedanti, EWRPROM: Eventally Writable, Runtime Praticamente Lettura solo memoria ... ma in termini pratici, la ROM è un successo.


5
" ... scriverlo nello stesso modo e nei contesti in cui si farebbe con una RAM" equivalente "è impossibile. " Ma questa non era la domanda dell'OP e per molte applicazioni come il salvataggio delle impostazioni di configurazione, le pagine stampate, ecc., EEPROM è l'ideale, nonostante la sua bassa velocità. Qualunque sia la sua velocità di scrittura è ancora scrivibile.
Transistor

@transistor Bene, proprio come la domanda è soggetta alla semantica, così sono le risposte ... quindi non sono sicuro che sia possibile una risposta "unica vera". Il mio punto era che non è "scrivibile" da un significato comunemente assunto di quel termine. Ecco perché, come sottolineato da vaxquis, è stato introdotto il termine alternativo programmabile . Ho aggiunto la mia opinione poiché ritengo che questo importante dettaglio sia stato trascurato in questo thread prima di questo. Ma certo, hai ragione che EEPROM è sufficiente nei casi appropriati, quindi grazie per i dettagli.
underscore_d

3

I primi dispositivi di memoria programmabili dovevano essere scritti mentre erano collegati a un dispositivo e quindi letti mentre erano collegati a un altro. Sebbene i dispositivi possano in genere essere letti durante l'apparecchiatura di programmazione (quindi l'apparecchiatura di programmazione potrebbe confermare che sono stati scritti correttamente), la programmazione dei dispositivi richiederebbe spesso l'applicazione di tensioni insolite che non sarebbero disponibili nella maggior parte dei dispositivi che necessitavano di leggerli. Inoltre, le operazioni di scrittura erano ordini di grandezza più lenti delle operazioni di lettura. I dispositivi successivi sono stati migliorati per eliminare tali requisiti, consentendo loro di essere programmati nel dispositivo in cui verrà utilizzato dopo la programmazione, ma la differenza tra le velocità di lettura e scrittura rimane.


1

È cancellabile elettricamente, quindi puoi scriverci sopra.

Non ha senso quando si espande la ROM in parole. Ma la mia comprensione è che la EPROM è stata così nominata dal suo inventore, Intel, come un richiamo al marketing che significava "Proprio come la ROM - ma puoi cambiarla da solo". Questo era in un mondo del 1972 in cui ROM significava mille dollari per un cambio di maschera.

La EEPROM fa seguito a quel precedente.


4
PROM: memoria di sola lettura programmabile (non solo impostata in fabbrica). EPROM: memoria di sola lettura programmabile e cancellabile. In genere è necessario cancellare l'esposizione ai raggi UV. EEPROM: memoria di sola lettura programmabile e cancellabile elettricamente, risparmiando molto tempo non posizionando il dispositivo su un lettino abbronzante ogni volta che si desidera riprogrammarlo.
The Photon,

1
Le EPROM UV che ho visto hanno piccole finestre nella plastica. Li copri quando non stai cancellando.
mkeith,

1
La designazione della ROM ha molto senso quando ti preoccupi di pensare alle funzionalità, introdotte nella mia risposta, di provare a usare una PROM come se fosse RAM. Provalo e vedi. Aspetterò!
underscore_d

@underscore_d, in realtà mi ero preso la briga di pensare e non sono sicuro di come il tuo commento pesa sulla tua retromarcia in un secondo momento "Bene, proprio come la domanda è soggetta alla semantica, così sono le risposte ... così io ' Non sono sicuro che sia possibile una risposta "unica vera" ". In ogni caso, c'erano pochi tipi di memoria nel 1972 e la ROM era un tipo distinto. Come acronimo autonomo, EEPROM è davvero confusa, secondo la domanda dei PO.
TonyM

1

Ho scoperto una potenziale risposta mentre scrivevo la domanda

Dall'esame di questo articolo ROM su Wikipedia sembra che alcune ROM consentano la scrittura, ma in tal caso la velocità di scrittura sarà lenta o la scrittura in generale sarà difficile, se possibile.

Un'altra cosa affascinante è che EEPROM ha un numero limitato di volte in cui può essere scritta. L'articolo menziona che la EEPROM può essere pulita e scritta migliaia di volte, ma comunque!


1
Questa è una spiegazione eccessivamente semplicistica e non riesce a riconoscere le differenze chiave tra i diversi tipi di ROM (ad esempio, maschera ROM vs. OTP PROM vs. EPROM, EEPROM e memoria flash).
duskwuff -inattivo-

@duskwuff Sembra che tu abbia delle informazioni eccellenti sull'argomento. Per favore, condividi.
Jacksonkr

2
La citazione di Wikipedia a cui ti riferisci è un cenno a tutti i diversi tipi, ma @Jacksonkr ha ragione; semplifica eccessivamente. La ROM non può essere scritta affatto. La PROM può essere scritta una volta. EPROM può essere riscritto, ma solo dopo l'esposizione a una lampada UV. (cioè lentamente e con difficoltà. ) EEPROM può essere riscritto, ma solo dopo avergli dato un comando per cancellare (cioè lentamente ).
Robert Harvey,

2
@RobertHarvey Penso che volevi dire "@duskwuff ha ragione"?
Jacksonkr,

1
[sospiro] E ora tutti i commenti sono incasinati.
Robert Harvey,

1

Le EEPROM e persino le memorie Flash utilizzano un'evoluzione della stessa tecnologia (floating gate) utilizzata dalle EPROM, non la tecnologia che verrebbe utilizzata per i dispositivi SRAM o DRAM.

Le EEPROM sono fortemente asimmetriche nel comportamento di lettura e scrittura: i cicli di lettura sono praticamente illimitati, veloci (decine o centinaia di nanosecondi) e sempre possibili solo con le principali tensioni operative applicate. I cicli di scrittura sono molto più lenti e talvolta richiedono tensioni extra applicate (una EEPROM parallela 2816 avrà bisogno di un'alimentazione extra di 12V per alcune operazioni di programmazione e avrà un tempo di scrittura in centinaia di microsecondi o anche più lenta a seconda della marca e del modello esatti, e hanno cicli di scrittura limitati).

Le memorie flash non sono un accesso casuale per la scrittura (per sovrascrivere una parola è necessario cancellare più di una parola), alcuni tipi (NAND) non sono nemmeno un accesso casuale per la lettura.

Si noti che alcuni dispositivi (non tutti!) Commercializzati come PROM o ROM erano EPROM OTP (senza finestre) internamente.


0

È solo una ROM rispetto alla RAM volatile (memoria ad accesso casuale che perderà il suo stato una volta che l'alimentazione viene interrotta). Una denominazione legacy che non ha più senso dopo decenni.


2
Non sarei d'accordo, Passerby; il nome in realtà ha perfettamente senso nel contesto. Abbiamo NVRAM e abbiamo EEPROM. Entrambi i termini evidenziano diverse modalità di utilizzo previste delle memorie, diverse velocità di lettura / scrittura, diversi tempi di conservazione dei dati, ecc.

-1

EPROM / PROM viene LETTO SOLO alle RUNTIME. Quando si esegue l'applicazione desiderata (PC, controller incorporato, ecc.) Non può essere scritta dal programma in esecuzione. Devi estrarlo ed inserirlo in uno speciale strumento di scrittura, in cui scrivi tutti i contenuti contemporaneamente.

Come mi viene indicato nei commenti, EEPROM potrebbe essere impostato per essere scrivibile in fase di esecuzione perché è scrivibile elettronicamente. Ma nell'uso quotidiano non è scrivibile, l'architettura di solito lo impedisce. Di solito si utilizza un'utilità speciale "flash" fornita dal produttore per accedervi e scriverla, e di solito viene scritta tutta in una volta anziché in una modalità di accesso casuale. Qualcuno in una risposta sopra ha inventato un grande acronimo che sarebbe applicabile.

La RAM, inclusa la NVRAM, può essere scritta in fase di esecuzione dal dispositivo host.

Sebbene tutta la ROM sia non volatile e la maggior parte della RAM sia volatile, NVRAM non è volatile, quindi non è l'unica differenza evidente tra di loro.


La ROM è di sola lettura. " Devi estrarlo ed inserirlo in uno speciale apparato di scrittura, in cui scrivi tutti i contenuti in una volta. " Lo sta programmando in modo che, per definizione, sia un dispositivo PROM (memoria di sola lettura programmabile). " Runtime " non si applica. Non è un compilatore. Benvenuti in EE.SE.
Transistor

Intendevo EEPROM o PROM e per errore ho scritto solo ROM
Trashman il

2
Ancora non giusto. EEPROM è scrivibile dal dispositivo host. È comunemente usato per salvare le impostazioni di configurazione. Vedi altre risposte sulla pagina.
Transistor

/ agree transistor - se EEPROM è designata come area di codice nell'architettura (modificata) di Harvard su cui non può essere scritta (come semplice risultato della progettazione del bus).

No, anche quello è al contrario. In un'architettura "modificata" di Harvard in genere è possibile scrivere nello spazio del codice, in genere in modo meno efficiente, è solo in uno puro dove non è possibile. E per quanto riguarda la risposta stessa, l'8052AH di base supportava l'uso di una EPROM (UV) come memoria scrivibile in fase di esecuzione; per abilitarlo era necessaria una fornitura di circa 12 V e un transistor. Ovviamente non poteva cancellarlo in circuito, ma poteva continuare ad aggiungere programmi salvati fino a esaurire lo spazio.
Chris Stratton,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.