EEPROM es una "memoria de solo lectura", entonces, ¿por qué puedo escribirle?


15

Memoria de solo lectura programable y borrable eléctricamente ( EEPROM ):

Si usa la memoria de solo lectura ( ROM ), ¿cómo puedo escribir en ella?


13
¿La palabra "programable" sugiere algo?
Nick Alexeev

2
La ROM original fue programada por máscara (que probablemente es donde estás confundido), pero tenemos que tener alguna forma de poner algo en otras ROM.
StainlessSteelRat

66
'Programable' no indicará nada si se sigue con la sugerencia 'solo lectura'.
TonyM

44
@TonyM, después de agregar "borrable", "programable" no es muy útil a menos que realmente signifique "reprogramable". Pero las ROM programables de una sola vez también son algo útil, ya que significa que no necesita conocer el contenido antes de colocar una orden de compra para la pieza.
The Photon

1
la respuesta real es extremadamente simple: puedes programarlo , pero no puedes / no debes escribirle . Como dijo Nick, ambos términos aquí son contextuales; "programación" generalmente significa un solo ciclo de escrituras secuenciales, destinado a configurar el chip para que haga lo que debe hacer, generalmente a muy baja velocidad; con respecto a la arquitectura de Harvard, no podrá escribir en dicha memoria durante la aplicación ejecución. "Escribir" regularmente significa eso: almacenar datos durante la ejecución del programa, generalmente con acceso rápido y / o aleatorio.

Respuestas:


27

El acrónimo EEPROM tiene cierta historia que sigue al desarrollo de la tecnología.

ROM : Memoria de solo lectura. Escrito en la fábrica.

PROM : Memoria de solo lectura programable pero programable (una vez) por el usuario. Realmente una memoria programable de una sola vez, legible para siempre. Hazlo mal y tiras el chip.

EPROM : memoria de solo lectura programable y borrable. Generalmente se borra con luz UV a través de una ventana de cuarzo sobre el chip. Un poco de problemas pero muy útil.

EEPROM : memoria de solo lectura programable y borrable eléctricamente. Se puede borrar o reescribir bajo el control del programa.

1

Figura 1. Una EPROM Intel 1702A, uno de los primeros tipos de EPROM, 256 por 8 bits. La pequeña ventana de cuarzo admite luz ultravioleta para borrar. Fuente: Wikipedia EPROM .

Entonces, te escucho decir, ¿por qué lo llaman eepROm cuando es escribible? Sospecho que la respuesta a esto es que, a diferencia de la RAM (memoria de acceso aleatorio), mantiene su contenido durante el ciclo de encendido y, por lo tanto, se comportó más como una ROM .


1
Gran información! Su respuesta me llevó a buscar el potencial de RAMmantener cualquier información más allá del ciclo de energía y encontré esta pequeña joya en la que puede estar interesado.
Jacksonkr

1
Ah, el 1702, la primera EPROM que utilicé. Tenía la extraña convención de que tenía que programar el inverso de lo que quería obtener, porque por alguna razón el procesador 4004 con el que estaba diseñado para trabajar usaba una convención lógica negativa para documentar su código de ensamblaje. ¡Entonces esta solución fue hacer las cosas 'más fáciles'!
Neil_UK

3
Y si lleva la evolución ROM-> PROM-> EPROM-> EEPROM al siguiente paso, tiene memoria "flash". Ampliamente utilizado en unidades de memoria USB, unidades de disco duro de estado sólido, memoria persistente en todo tipo de dispositivos de consumo, etc., etc.
Richard Crowley

Mantener el contenido entre ciclos de energía está lejos de ser el único lugar en el que PROM se queda dramáticamente corto en comparación con la RAM especificada de forma equivalente, como espero que mi respuesta quede clara.
underscore_d

ram es volátil, eeprom no es volátil, recuerda después de un ciclo de energía. rom no es volátil. eeprom lees principalmente y no escribes, rom lees y no escribes. Entonces, eeprom se parece mucho a una rom y, como ha descrito el transistor, fue parte de una evolución de soluciones no volátiles.
old_timer

7

Estoy desconcertado por la cantidad de comentaristas que piensan que el término ROM es únicamente una estratagema de marketing o se refiere solo a la pérdida de datos en el apagado.

PROM es mucho 'solo lectura', en el sentido calificado de que es imposible escribirle de la misma manera y en el mismo contexto que lo haría con una RAM 'equivalente'. Esto se debe a que E / EPROM requiere:

  • borrado por UV (EPROM) o un ciclo 0xFF (EEPROM),
  • cambiar a un modo diferente para programar ('escribir') datos,
  • que en algunos casos requiere diferentes condiciones de energía, tiempos de espera, etc.
  • Las limitaciones en los ciclos de escritura harían que todas las PROM existentes fueran inútiles para el tipo de transferencia / manipulación de datos de alto volumen que necesitan muchos programas.

... todo lo cual significa que el acto de escribir en dicha memoria es lento, no se puede intercalar de manera eficiente con operaciones de lectura, desgasta activamente el chip, etc.

PROM está en una liga totalmente diferente a la RAM con especificaciones de lectura equivalentes. Por eso no se comercializó como ninguna forma de RAM. ¡La reacción hubiera sido colosal!

Entonces, tal vez podríamos llamarlo Memoria principalmente leída o, para los pedantes, EWRPROM: eventualmente escribible, tiempo de ejecución prácticamente memoria de solo lectura ... pero en términos prácticos, ROM es una explosión en la marca.


55
" ... escribir en él de la misma manera y en el mismo contexto que lo haría con una RAM 'equivalente' es imposible " . Pero esa no era la pregunta del OP y para muchas aplicaciones como guardar ajustes de configuración, páginas impresas, etc. EEPROM es ideal, a pesar de su baja velocidad. Cualquiera sea su velocidad de escritura, todavía se puede escribir.
Transistor

@transistor Bueno, así como la pregunta está sujeta a la semántica, también lo son las respuestas ... así que no estoy seguro de que sea posible una respuesta 'verdadera'. Mi punto era que no es 'escribible' por un significado comúnmente asumido de ese término. Por eso, como señaló Vaxquis, se introdujo el término alternativo programable . Agregué mi opinión ya que siento que este detalle importante se había pasado por alto en este hilo antes de esto. Pero claro, tienes razón en que EEPROM es suficiente en los casos apropiados, así que gracias por los detalles.
underscore_d

3

Los primeros dispositivos de memoria programables tenían la intención de escribirse mientras estaban conectados a un dispositivo y luego leerse mientras estaban conectados a otro. Si bien los dispositivos generalmente se pueden leer mientras están en el dispositivo de programación (para que el dispositivo de programación pueda confirmar que se escribieron correctamente), la programación de los dispositivos a menudo requeriría la aplicación de voltajes inusuales que no estarían disponibles en la mayoría de los dispositivos que necesitaban leerlos. Además, las operaciones de escritura fueron órdenes de magnitud más lentas que las operaciones de lectura. Los dispositivos posteriores se han mejorado para eliminar tales requisitos, lo que les permite ser programados en el dispositivo donde se utilizará después de la programación, pero la diferencia entre las velocidades de lectura y escritura permanece.


1

Es borrable eléctricamente, por lo que puede escribirle.

No tiene sentido cuando expande ROM en palabras. Pero entiendo que EPROM fue llamado así por su inventor, Intel, como incentivo de marketing que significaba "Al igual que ROM, pero puede cambiarlo usted mismo". Esto fue en un mundo de 1972 donde ROM significaba mil millones de dólares para un cambio de máscara.

EEPROM sigue a partir de ese precedente.


44
PROM: memoria de solo lectura programable (no solo configurada en fábrica). EPROM: memoria de solo lectura programable y borrable. Por lo general, requiere exposición a los rayos UV para borrar. EEPROM: memoria de solo lectura programable y borrable eléctricamente, que ahorra mucho tiempo al no colocar su dispositivo en una cama de bronceado cada vez que desea reprogramarlo.
El fotón

1
Las EPROM UV que he visto tienen pequeñas ventanas en el plástico. Los cubres cuando no estás borrando.
mkeith

1
La designación de ROM tiene mucho sentido cuando te molestas en pensar en los aspectos prácticos, presentados en mi respuesta, de tratar de usar una PROM como si fuera RAM. Pruébalo y verás. ¡Esperaré!
underscore_d

@underscore_d, en realidad me había molestado en pensar y no estoy seguro de cómo su comentario pesa en contra de su marcha atrás un poco "Bueno, así como la pregunta está sujeta a la semántica, también lo son las respuestas ... así que yo ' No estoy seguro de que sea posible una respuesta 'única' ". En cualquier caso, había muy pocos tipos de memoria en 1972 y ROM era un tipo distinto. Como acrónimo autónomo, EEPROM es realmente confuso, según la pregunta de los OP.
TonyM

1

Descubrí una respuesta potencial mientras escribía la pregunta

Al mirar este artículo de ROM en Wikipedia , parece que algunas ROM permitirán la escritura, pero si lo hace, la velocidad de escritura será lenta o la escritura en general será difícil, si es posible.

Otro dato fascinante es que EEPROM tiene una cantidad limitada de veces en que se puede escribir. El artículo menciona que la EEPROM se puede limpiar y escribir miles de veces, ¡pero aún así!


1
Esta es una explicación demasiado simplista y no reconoce las diferencias clave entre los diferentes tipos de ROM (p. Ej., ROM de máscara versus PROM de OTP versus EPROM, EEPROM y memoria flash).
duskwuff -inactive-

@duskwuff Parece que tienes información excelente sobre el tema. Por favor, comparte.
Jacksonkr

2
La cita de wikipedia a la que te refieres es un guiño a todos los diferentes tipos, pero @Jacksonkr tiene razón; Se simplifica demasiado. ROM no se puede escribir en absoluto. PROM se puede escribir una vez. La EPROM puede reescribirse, pero solo después de la exposición a una lámpara UV. (es decir, lentamente y con dificultad ) . EEPROM se puede reescribir, pero solo después de que le dé un comando para borrar (es decir, lentamente ).
Robert Harvey

2
@RobertHarvey ¿Creo que quisiste decir "@duskwuff tiene razón"?
Jacksonkr

1
[suspiro] Y ahora todos los comentarios están en mal estado.
Robert Harvey

1

Las EEPROM e incluso las memorias Flash usan una evolución de la misma tecnología (puerta flotante) que usan las EPROM, no la tecnología que se usaría para dispositivos SRAM o DRAM.

Las EEPROM son muy asimétricas en el comportamiento de lectura frente a escritura: los ciclos de lectura son prácticamente ilimitados, rápidos (decenas o cientos de nanosegundos) y siempre son posibles con solo los voltajes operativos principales aplicados. Los ciclos de escritura son mucho más lentos y, a veces, necesitan que se apliquen voltajes adicionales (una EEPROM paralela 2816 necesitará un suministro adicional de 12 V para algunas operaciones de programación, y tendrá un tiempo de escritura en cientos de microsegundos o incluso más lento dependiendo de la marca y modelo exactos, y tener ciclos de escritura limitados).

Las memorias flash no son de acceso aleatorio para escribir (sobrescribir una palabra requiere que borre más de una palabra), algunos tipos (NAND) ni siquiera tienen acceso aleatorio para leer.

Tenga en cuenta que algunos (¡no todos!) Los dispositivos comercializados como PROM o ROM eran EPROM internos OTP (sin ventanas).


0

Es solo una ROM en comparación con la RAM volátil (memoria de acceso aleatorio que perderá su estado una vez que se pierde la energía). Un nombre heredado que ya no tiene sentido después de décadas.


2
No estaría de acuerdo, Passerby; el nombre en realidad tiene mucho sentido en el contexto. Tenemos NVRAM y tenemos EEPROM. Ambos términos destacan diferentes modos de uso esperados de las memorias, diferentes velocidades de lectura / escritura, diferentes tiempos de retención de datos, etc.

-1

EPROM / PROM SE LEE SOLAMENTE EN TIEMPO DE EJECUCIÓN. Cuando ejecuta la aplicación deseada (PC, controlador integrado, etc.), el programa en ejecución no puede escribirla. Tienes que sacarlo e ingresarlo en un aparato de escritura especial, donde escribes todos los contenidos a la vez.

Como se me señaló en los comentarios, EEPROM podría configurarse para que se pueda escribir en tiempo de ejecución porque es electrónicamente escribible. Pero en el uso diario no se puede escribir, la arquitectura generalmente lo impide. Por lo general, utiliza una utilidad especial "flash" proporcionada por el fabricante para acceder y escribirla, y generalmente se escribe de una vez en lugar de en un modo de acceso aleatorio. Alguien en una respuesta anterior inventó un gran acrónimo para ello que se aplicaría.

RAM, incluida NVRAM, puede ser escrita en tiempo de ejecución por el dispositivo host.

Aunque toda la ROM no es volátil y la mayoría de la RAM es volátil, NVRAM no es volátil, por lo que esa no es la única diferencia entre ellos.


ROM es de solo lectura. " Debes sacarlo e ingresarlo en un aparato de escritura especial, donde escribes todo el contenido a la vez " . Eso es programarlo, por definición, es un dispositivo PROM (memoria programable de solo lectura). " Tiempo de ejecución " no se aplica. No es un compilador. Bienvenido a EESE.
Transistor

Me refería a EEPROM o PROM y por error solo escribí ROM
Trashman

2
Todavía no está bien. EEPROM es grabable por el dispositivo host. Se usa comúnmente para guardar la configuración. Ver otras respuestas en la página.
Transistor

/ transistor de acuerdo: si EEPROM se designa como área de código en la arquitectura (modificada) de Harvard, no se puede escribir (como resultado simple del diseño del bus).

No, eso también está al revés. En una arquitectura de Harvard "modificada", normalmente puede escribir en el espacio de código, normalmente de manera menos eficiente, solo en una pura donde no puede. Y en cuanto a la respuesta en sí, el 8052AH básico admite el uso de una EPROM (UV) como almacenamiento grabable en tiempo de ejecución: necesitabas un suministro de 12v más o menos y un transistor para habilitarlo. Por supuesto, no podría borrarlo en el circuito, pero podría seguir agregando programas guardados hasta quedarse sin espacio.
Chris Stratton
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.