EEPROM ist ein "Nur-Lese-Speicher". Warum kann ich also darauf schreiben?


15

Elektrisch löschbarer programmierbarer Nur-Lese- Speicher ( EEPROM ):

Wenn es schreibgeschützten Speicher ( ROM ) verwendet, wie kann ich dann darauf schreiben ?


13
Weist das Wort "programmierbar" auf etwas hin?
Nick Alexeev

2
Das ursprüngliche ROM war maskenprogrammiert (das ist wahrscheinlich der Punkt, an dem Sie verwirrt sind), aber wir müssen eine Möglichkeit haben, etwas in andere ROMs zu schreiben.
StainlessSteelRat

6
"Programmierbar" weist auf nichts hin, wenn der nicht-Hinweis "schreibgeschützt" folgt.
TonyM

4
@TonyM: Nachdem Sie "löschbar" hinzugefügt haben, wird "programmierbar" nicht häufig verwendet, es sei denn, es bedeutet "umprogrammierbar". Einmalig programmierbare ROMs sind jedoch auch nützlich, da Sie den Inhalt nicht kennen müssen, bevor Sie überhaupt eine Bestellung für das Teil aufgeben.
Das Photon

1
Die eigentliche Antwort ist denkbar einfach: Sie können sie programmieren , aber Sie können / sollten nicht darauf schreiben . Wie Nick sagte, sind beide Begriffe hier kontextbezogen; "Programmieren" bedeutet normalerweise einen einzelnen Zyklus sequentieller Schreibvorgänge, um den Chip so zu konfigurieren, dass er das tut, was er beabsichtigt, normalerweise mit sehr geringer Geschwindigkeit. In Bezug auf die Harvard-Architektur können Sie während der Anwendung nicht in einen solchen Speicher schreiben Ausführung. Regelmäßiges "Schreiben" bedeutet genau das - Speichern von Daten während der Programmausführung, normalerweise mit schnellem und / oder wahlfreiem Zugriff.
Vaxquis

Antworten:


27

Das Akronym EEPROM hat eine Geschichte, die der Entwicklung der Technologie folgt.

ROM : Nur-Lese-Speicher. In der Fabrik geschrieben.

PROM : Programmierbarer Nur-Lese-Speicher, jedoch vom Benutzer (einmalig) programmierbar. Wirklich ein einmalig programmierbarer, für immer lesbarer Speicher. Verstehst du es falsch und wirfst den Chip weg.

EPROM : Löschbarer programmierbarer Nur-Lese-Speicher. Wird normalerweise mit UV-Licht durch ein Quarzfenster über dem Chip gelöscht. Ein bisschen Ärger, aber sehr nützlich.

EEPROM : Elektrisch löschbarer programmierbarer Nur-Lese-Speicher. Kann programmgesteuert gelöscht oder neu geschrieben werden.

1

Abbildung 1. Ein Intel 1702A EPROM, einer der frühesten EPROM-Typen, 256 x 8 Bit. Das kleine Quarzfenster lässt UV-Licht zum Löschen zu. Quelle: Wikipedia EPROM .

Also, ich höre Sie sagen, warum nennen sie es eepROm, wenn es beschreibbar ist? Ich vermute, die Antwort darauf ist, dass es im Gegensatz zu RAM (Random Access Memory) seinen Inhalt während des Aus- und Einschaltens behält und sich daher eher wie ein ROM verhält .


1
Tolle Infos! Ihre Antwort veranlasste mich, nach dem Potenzial für RAMdie Speicherung von Daten nach dem
Aus- und Wiedereinschalten

1
Ah, der 1702, der erste EPROM, den ich benutzt habe. Es hatte die seltsame Konvention, dass Sie das Gegenteil dessen programmieren mussten, was Sie daraus machen wollten, weil der 4004-Prozessor, mit dem er arbeiten sollte, aus irgendeinem Grund eine negative Logikkonvention verwendete, um seinen Assembly-Code zu dokumentieren. Dieses Update sollte also die Dinge "einfacher" machen!
Neil_UK

3
Und wenn Sie die ROM-> PROM-> EPROM-> EEPROM-Entwicklung zum nächsten Schritt führen, haben Sie einen "Flash" -Speicher. Weit verbreitet in USB-Sticks, Solid State "Festplatten", persistenten Speicher in allen Arten von Consumer-Gadgets, etc. etc.
Richard Crowley

Das Speichern von Inhalten zwischen Aus- und Wiedereinschaltungen ist bei weitem nicht der einzige Ort, an dem PROM im Vergleich zu gleichwertig ausgelesenem RAM dramatisch verkürzt wird, wie ich hoffe, dass meine Antwort klar macht.
Underscore_d

RAM ist flüchtig, EEPROM ist nicht flüchtig, es erinnert sich nach einem Aus- und Einschalten. rom ist nichtflüchtig. eeprom du liest und schreibst meistens nicht, rom du liest und schreibst nicht. EEPROM ist also einem ROM sehr ähnlich, und wie der Transistor beschrieben hat, war es Teil einer Entwicklung nichtflüchtiger Lösungen.
old_timer

7

Ich bin verblüfft darüber, wie viele Kommentatoren hier denken, dass der Begriff ROM nur ein Marketingtrick ist oder sich nur auf den Verlust von Daten beim Ausschalten bezieht.

PROM ist sehr viel "schreibgeschützt" in dem qualifizierten Sinne, dass es unmöglich ist, auf dieselbe Weise und in denselben Kontexten darauf zu schreiben, wie Sie es mit einem "äquivalenten" RAM tun würden. Dies liegt daran, dass E / EPROM Folgendes erfordert:

  • Löschen durch UV (EPROM) oder einen 0xFF-Zyklus (EEPROM),
  • Umschalten in einen anderen Modus zum Programmieren ('Schreiben') von Daten,
  • Dies erfordert in einigen Fällen unterschiedliche Strombedingungen, Wartezeiten usw.
  • Einschränkungen der Schreibzyklen würden alle vorhandenen PROMs für die Art von Datenübertragung / -manipulation mit hohem Datenvolumen unbrauchbar machen, die von vielen Programmen benötigt wird.

... all dies bedeutet, dass der Vorgang des Schreibens in einen solchen Speicher langsam ist, nicht effizient mit Leseoperationen verschachtelt werden kann, den Chip aktiv abnutzt usw.

PROM spielt in einer völlig anderen Liga als RAM mit äquivalenten Lesespezifikationen. Daher wurde es nicht als RAM vermarktet. Die Gegenreaktion wäre gewaltig gewesen!

Wir könnten es also vielleicht Read Mostly Memory oder für die Pedanten EWRPROM nennen: Eventually Writable, Runtime Practical Read Only Memory ... aber in praktischer Hinsicht ist ROM der Hammer.


5
" ... auf dieselbe Weise und in denselben Kontexten zu schreiben, wie Sie es mit einem" äquivalenten "RAM tun würden, ist unmöglich. " Aber das war nicht die Frage des OP und für viele Anwendungen wie das Speichern von Konfigurationseinstellungen, gedruckten Seiten usw. EEPROM ist trotz seiner geringen Geschwindigkeit ideal. Unabhängig von der Schreibgeschwindigkeit kann immer noch geschrieben werden.
Transistor

@transistor Nun, genau wie die Frage der Semantik unterliegt, sind es auch die Antworten ... Ich bin mir also nicht sicher, ob eine "wahre" Antwort möglich ist. Mein Punkt war, dass es von einer allgemein angenommenen Bedeutung dieses Begriffs nicht "beschreibbar" ist. Deshalb wurde, wie vaxquis betonte, der alternative Begriff programmierbar eingeführt. Ich habe meine Einstellung hinzugefügt, da ich der Meinung bin, dass dieses wichtige Detail zuvor in diesem Thread übersehen wurde. Aber Sie haben Recht, dass EEPROM in geeigneten Fällen ausreicht. Vielen Dank für das Detail.
Underscore_d

3

Frühe programmierbare Speichergeräte sollten geschrieben werden, während sie an ein Gerät angeschlossen waren, und dann gelesen werden, während sie an ein anderes Gerät angeschlossen waren. Während die Geräte im Allgemeinen in der Programmiervorrichtung gelesen werden konnten (so dass die Programmiervorrichtung bestätigen konnte, dass sie korrekt geschrieben wurden), erforderte das Programmieren der Geräte häufig das Anlegen ungewöhnlicher Spannungen, die in den meisten Geräten, die sie lesen mussten, nicht verfügbar waren. Weiterhin waren Schreiboperationen um Größenordnungen langsamer als Leseoperationen. Spätere Geräte wurden verbessert, um solche Anforderungen zu beseitigen. Sie können in dem Gerät programmiert werden, in dem sie nach dem Programmieren verwendet werden. Der Unterschied zwischen Lese- und Schreibgeschwindigkeit bleibt jedoch bestehen.


1

Es ist elektrisch löschbar, sodass Sie darauf schreiben können.

Es macht keinen Sinn, wenn Sie ROM in Wörter erweitern. Nach meinem Verständnis wurde EPROM von seinem Erfinder Intel als Marketing-Anreiz bezeichnet, der "Genau wie ROM - aber Sie können es selbst ändern" bedeutete. Dies war in einer Welt von 1972, in der ROM für einen Maskenwechsel zehn Riesen bedeutete.

EEPROM folgt aus diesem Präzedenzfall.


4
PROM: Programmierbarer Nur-Lese-Speicher (nicht nur werkseitig eingestellt). EPROM: löschbarer programmierbarer Nur-Lese-Speicher. Normalerweise ist zum Löschen eine UV-Bestrahlung erforderlich. EEPROM: elektrisch löschbarer programmierbarer Nur-Lese-Speicher, der viel Zeit spart, indem Sie Ihr Gerät nicht jedes Mal in einem Solarium ablegen, wenn Sie es neu programmieren möchten.
Das Photon

1
Die UV-EPROMs, die ich gesehen habe, haben kleine Fenster im Kunststoff. Sie decken sie ab, wenn Sie nicht löschen.
mkeith

1
Die Bezeichnung ROM macht viel Sinn , wenn Sie über die Praktikabilität zu denken , die Mühe, in meiner Antwort eingeführt, der versucht , einen PROM zu verwenden , als ob es RAM waren. Probieren Sie es aus und sehen Sie. Ich werde warten!
Underscore_d

@underscore_d, eigentlich hatte ich mir die Mühe gemacht zu überlegen und ich bin mir nicht sicher, wie sich dein Kommentar gegen deinen etwas umgedrehten Gang später auswirkt. Ich bin mir nicht sicher, ob eine "wahre" Antwort möglich ist ". Auf jeden Fall gab es 1972 nur sehr wenige Speichertypen und ROM war ein bestimmter Typ. EEPROM ist als eigenständiges Akronym in der Tat verwirrend, wie aus der Frage des OP hervorgeht.
TonyM

1

Ich habe beim Schreiben der Frage eine mögliche Antwort gefunden

Wenn man sich diesen Artikel auf Wikipedia ansieht , hört es sich so an, als würden einige ROMs das Schreiben zulassen, aber wenn dies der Fall ist, ist die Schreibgeschwindigkeit langsam oder das Schreiben im Allgemeinen wird schwierig, wenn möglich.

Ein weiterer faszinierender Aspekt ist, dass EEPROM nur eine begrenzte Anzahl von Schreibvorgängen hat. Der Artikel erwähnt, dass das EEPROM tausende Male gelöscht und beschrieben werden kann, aber immer noch!


1
Dies ist eine zu vereinfachende Erklärung, und es werden die Hauptunterschiede zwischen verschiedenen ROM-Typen (z. B. Masken-ROM gegenüber OTP-PROM gegenüber EPROM, EEPROM und Flash-Speicher) nicht erkannt.
Duskwuff

@duskwuff Es hört sich so an, als hättest du ausgezeichnete Informationen zu diesem Thema. Bitte teilen Sie.
Jacksonkr

2
Das Wikipedia-Zitat, auf das Sie sich beziehen, ist eine Anspielung auf all die verschiedenen Typen, aber @Jacksonkr ist richtig; es vereinfacht sich zu sehr. ROM kann überhaupt nicht geschrieben werden. PROM kann einmal geschrieben werden. EPROM kann umgeschrieben werden, jedoch nur nach Belichtung mit einer UV-Lampe. (dh langsam und mit Schwierigkeiten. ) EEPROM kann neu geschrieben werden, aber erst, nachdem Sie einen Befehl zum Löschen (dh langsam ) gegeben haben.
Robert Harvey

2
@RobertHarvey Ich denke du meintest "@duskwuff ist richtig"?
Jacksonkr

1
[seufzt] Und jetzt sind alle Kommentare durcheinander.
Robert Harvey

1

EEPROMs und sogar Flash-Speicher basieren auf der gleichen Technologie (Floating Gate) wie EPROMs und nicht auf der Technologie, die für SRAM- oder DRAM-Geräte verwendet wird.

EEPROMs weisen ein stark asymmetrisches Lese- / Schreibverhalten auf: Die Lesezyklen sind praktisch unbegrenzt, schnell (Zehn- oder Hundertstel Nanosekunden) und immer nur mit den Hauptbetriebsspannungen möglich. Schreibzyklen sind viel langsamer und erfordern manchmal das Anlegen zusätzlicher Spannungen (ein 2816 - Parallel - EEPROM benötigt für einige Programmiervorgänge eine zusätzliche 12 - V - Versorgung und hat eine Schreibzeit in Hunderten von Mikrosekunden oder sogar langsamer, abhängig von der genauen Marke und dem Modell, und begrenzte Schreibzyklen haben).

Flash-Speicher sind kein wahlfreier Schreibzugriff (beim Überschreiben eines Wortes müssen Sie mehr als ein Wort löschen). Einige Typen (NAND) sind nicht einmal wahlfreier Lesezugriff.

Beachten Sie, dass einige (nicht alle!) Geräte, die als PROMs oder ROMs vertrieben werden, interne OTP-EPROMs (fensterlose EPROMs) waren.


0

Es ist nur ein ROM im Vergleich zum flüchtigen RAM (Direktzugriffsspeicher, der seinen Status verliert, sobald die Stromversorgung unterbrochen wird). Eine Hinterlassenschaftsbezeichnung, die nach Jahrzehnten keinen Sinn mehr ergibt.


2
Ich würde nicht zustimmen, Passant; Der Name macht im Kontext durchaus Sinn. Wir haben NVRAM und wir haben EEPROM. Beide Begriffe heben unterschiedliche erwartete Nutzungsmodi der Speicher, unterschiedliche Lese- / Schreibgeschwindigkeiten, unterschiedliche Datenaufbewahrungszeiten usw. hervor
vaxquis

-1

EPROM / PROM wird NUR ZUR LAUFZEIT GELESEN. Wenn Sie die vorgesehene Anwendung (PC, Embedded Controller usw.) ausführen, kann sie vom ausgeführten Programm nicht beschrieben werden. Sie müssen es herausnehmen und in ein spezielles Schreibgerät eingeben, in dem Sie den gesamten Inhalt auf einmal schreiben.

Wie ich in den Kommentaren darauf hingewiesen habe, kann das EEPROM so eingerichtet werden, dass es zur Laufzeit beschreibbar ist, da es elektronisch beschreibbar ist. Im alltäglichen Gebrauch ist es jedoch nicht beschreibbar, da die Architektur dies normalerweise verhindert. Normalerweise verwenden Sie ein spezielles "Flash" -Dienstprogramm, das vom Hersteller bereitgestellt wird, um darauf zuzugreifen und es zu schreiben, und es wird normalerweise auf einmal und nicht im Direktzugriffsmodus geschrieben. Jemand in einer Antwort oben hat ein großes Akronym dafür erfunden, das zutreffen würde.

RAM, einschließlich NVRAM, kann vom Hostgerät zur Laufzeit geschrieben werden.

Obwohl der gesamte ROM nichtflüchtig und der MOST-RAM flüchtig ist, ist der NVRAM nichtflüchtig, so dass dies nicht der einzige erkennbare Unterschied zwischen ihnen ist.


ROM ist schreibgeschützt. " Sie müssen es herausnehmen und in ein spezielles Schreibgerät eingeben, in dem Sie den gesamten Inhalt auf einmal schreiben. " Das programmiert es per Definition so, dass es sich um ein PROM-Gerät (Programmable Read-Only Memory) handelt. " Runtime " gilt nicht. Es ist kein Compiler. Willkommen bei EE.SE.
Transistor

Ich meinte EEPROM oder PROM und schrieb fälschlicherweise nur ROM
Trashman 30.06.16

2
Immer noch nicht richtig. EEPROM kann vom Hostgerät beschrieben werden. Es wird häufig zum Speichern von Konfigurationseinstellungen verwendet. Weitere Antworten finden Sie auf der Seite.
Transistor

/ agree Transistor - Wenn ein EEPROM als Codebereich in einer (modifizierten) Harvard-Architektur festgelegt ist, kann er nicht beschrieben werden (aufgrund eines einfachen Busdesigns).
Vaxquis

Nein, das ist auch rückwärts. In einer "modifizierten" Harvard-Architektur können Sie in der Regel weniger effizient in den Code-Raum schreiben. Dies ist nur in einer reinen Architektur möglich, in der dies nicht möglich ist. Und was die Antwort selbst angeht, so unterstützte der 8052AH basic die Verwendung eines (UV) -EPROM als zur Laufzeit beschreibbaren Speicher - Sie benötigten eine 12-V-Versorgung und einen Transistor, um dies zu ermöglichen. Natürlich konnte es nicht gelöscht werden, aber gespeicherte Programme können so lange angehängt werden, bis der Speicherplatz knapp wird.
Chris Stratton
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.