Memorias RAM y ROM – DE Parte 22

En el tutorial anterior, se mencionó que la memoria primaria puede ser de dos tipos: memoria de acceso aleatorio y memoria de sólo lectura. Estas memorias son una parte esencial de cualquier sistema basado en procesador o controlador. En este tutorial, estos recuerdos se discutirán en detalle.

Figura 1: Imagen típica de memorias primarias: RAM y ROM

Memoria de acceso aleatorio (RAM) -

La memoria de acceso aleatorio se utiliza para almacenar información binaria durante el tiempo de ejecución de un programa. Los datos y las instrucciones se cargan en la RAM desde el almacenamiento secundario cuando el procesador ejecuta un programa. Los datos, las instrucciones y los resultados devueltos por el procesador permanecen temporalmente en la RAM hasta que se ejecuta el programa. Después de que sale el programa, los datos y las instrucciones en la RAM también se borran (o pueden permanecer en la RAM como valor basura hasta que se escriban nuevos datos e instrucciones en la RAM cuando se ejecuta otro programa).

La RAM es memoria de lectura/escritura. El proceso de almacenar datos en la memoria se llama operación de escritura. El proceso de transferir datos almacenados en la memoria al procesador o al almacenamiento secundario se denomina operación de lectura. La RAM es una memoria de acceso aleatorio, por lo que los datos se pueden leer o escribir directamente desde cualquier ubicación de la memoria. Se necesita el mismo tiempo para leer o escribir datos en cualquier ubicación de la RAM. Esto es diferente de las memorias de acceso secuencial, donde el tiempo necesario para leer o escribir datos depende de la ubicación en la memoria. Al igual que en una RAM, el tiempo de acceso para leer o escribir información binaria desde o hacia cualquier ubicación respectivamente sigue siendo el mismo y siempre es extremadamente menor en comparación con cualquier almacenamiento secundario; generalmente es costoso.

La RAM es una memoria volátil, lo que significa que los datos almacenados en ella se pierden cuando se corta la energía o cuando hay un corte de energía. En consecuencia, la mayoría de los sistemas informáticos de escritorio utilizan un sistema de energía ininterrumpida (UPS) de respaldo para ganar tiempo para completar el procesamiento y cerrar adecuadamente los programas en ejecución. La RAM es una memoria semiconductora, por lo que generalmente tiene un tamaño compacto. Debido a que son caras y de tipo semiconductor, las memorias RAM disponibles comercialmente generalmente tienen una capacidad limitada.

Los datos se almacenan en la RAM en grupos de bits llamados palabras. En cualquier operación de lectura o escritura, se leen o escriben palabras completas en la memoria, respectivamente. La longitud de las palabras es generalmente un múltiplo de 8 bits, es decir, 8 bits, 16 bits, 32 bits, 64 bits, etc. La longitud de las palabras depende del tipo de sistema informático, ya sea de 8 bits, 16 bits, 32 bits, 64 bits, etc. El grupo de 8 bits se llama byte. Por lo tanto, las palabras pueden tener una longitud de 1 byte, 2 bytes, 3 bytes, 4 bytes, etc. Los datos almacenados en la memoria se leen a través de líneas de salida de datos paralelas y se escriben en la memoria a través de líneas de entrada de datos paralelas. El número de líneas de entrada y salida de datos debe ser igual a la longitud de las palabras almacenadas en la memoria, ya que en cualquier momento se lee o escribe una palabra completa.

Cada palabra en la memoria se identifica mediante una dirección única. Debe haber n líneas de dirección para leer 2n palabras de una memoria. Además de las líneas de entrada y salida de datos y de dirección, hay dos entradas de control para especificar la dirección de transferencia de datos a la memoria. Estas entradas de control son de lectura y escritura. La lectura hace que los datos se transfieran desde la memoria al procesador y la escritura hace que los datos se transfieran desde el procesador o el almacenamiento secundario a la memoria.

Las direcciones de las palabras en la memoria se utilizan para acceder a la ubicación de la memoria identificada por la dirección. Las direcciones varían de 0 a 2 n – 1 donde hay n líneas de dirección.

La capacidad de cualquier memoria RAM se expresa en bytes como Kilobytes, Megabytes y Gigabytes por el número de palabras y la longitud de las palabras. Por ejemplo se puede decir que la memoria RAM que almacena palabras de 16 bits con capacidad para almacenar 1K palabras tiene una capacidad de 1K X 16 palabras o 16 KB de capacidad.

Operación de lectura y escritura

Hay dos operaciones que se pueden realizar en cualquier memoria RAM: lectura y escritura. La operación de escritura se realiza implementando los siguientes pasos:

1) Aplicar la dirección binaria de la palabra que se debe escribir en la memoria en las líneas de dirección.

2) Aplicar bits de datos escritos en la dirección de memoria seleccionada en las líneas de entrada de datos.

3) Active la entrada de control de escritura, para que los bits de datos se escriban en la dirección de memoria especificada.

La operación de lectura se realiza implementando los siguientes pasos:

1) Aplicar la dirección binaria de la palabra que se debe leer de la memoria a las líneas de dirección.

2) Active la entrada de control de lectura, de modo que los bits de datos de la dirección de memoria especificada se lean a través de las líneas de salida de datos.

En algunas memorias RAM existe una entrada de control adicional llamada habilitación de memoria. Esta entrada debe estar activa para aplicar cualquier operación de lectura o escritura. Las operaciones de lectura y escritura de la memoria están controladas por el procesador (o unidad central de procesamiento en sistemas de escritorio y de servidor). El tiempo necesario para leer datos de la RAM se denomina tiempo de acceso. El tiempo necesario para escribir datos en la RAM se denomina tiempo de ciclo. La CPU está sincronizada por su propio reloj, la memoria no tiene un reloj interno para activar la operación de lectura o escritura. Por lo tanto, el tiempo de acceso y el tiempo de ciclo siempre deben ser menores que un tiempo igual a un número fijo de ciclos de CPU. Por ejemplo, si el tiempo del ciclo de RAM es de 50 ns, el tiempo de acceso es inferior a 50 ns y el ciclo de la CPU tiene un período de 20 ns, las operaciones de lectura y escritura se pueden realizar en tres ciclos de la CPU.

Cuando es necesario escribir datos en la RAM, las señales de habilitación de memoria y lectura/escritura deben activarse después de que las señales en la línea de dirección y las líneas de entrada de datos sean estables; de lo contrario, los datos se perderán. Las señales de control – habilitación de memoria y lectura/escritura deben permanecer activas durante un tiempo igual al tiempo del ciclo de memoria. Las señales en las líneas de dirección y entrada de datos deben permanecer estables durante un breve período incluso después de que se apaguen las entradas de control.

El tiempo de acceso es generalmente mucho más corto que el tiempo de ciclo de la memoria RAM. Durante la operación de lectura, se debe reservar un período de tiempo para manejar otra solicitud de operación de lectura. Las operaciones de lectura y escritura en la RAM suelen demostrarse mediante diagramas de tiempos. Los diagramas de tiempo muestran el estado de habilitación de la memoria, la señal de control de lectura/escritura, la línea de dirección y la línea de entrada o salida de datos en contraste con los ciclos de la CPU.

Tipos de RAM

Las memorias RAM se clasifican por su modo de funcionamiento. Según el modo de funcionamiento, la RAM se clasifica en dos tipos:

1) RAM estática : la RAM estática consta de pestillos internos que almacenan información binaria. Debido a que los pestillos pueden retener datos hasta que reciben energía, los datos almacenados en SRAM permanecen intactos hasta que se les suministra energía. En caso de corte de energía o apagado, los datos almacenados en SRAM se pierden. SRAM tiene tiempos de ciclo y acceso cortos. Es fácil interactuar y utilizar, ya que los datos permanecen en él hasta que se interrumpe el suministro de energía. Los chips SRAM utilizan una matriz de 6 transistores sin el uso de condensadores. Los transistores no requieren energía para evitar fugas, por lo que no es necesario actualizar la SRAM con regularidad.

Debido al espacio adicional en el chip, SRAM usa más chips para el mismo almacenamiento. Por eso la SRAM es bastante cara. Parte de la RAM estática también se utiliza como memoria caché. Estas SRAM tienen una capacidad muy limitada y tiempos de acceso y ciclo extremadamente pequeños.

2) RAM dinámica : la RAM dinámica almacena información binaria como carga almacenada en condensadores dentro de un chip de transistor MOS. A medida que los condensadores se descargan durante un período de tiempo, los datos de la RAM dinámica deben actualizarse periódicamente. Los datos se actualizan recorriendo las palabras periódicamente durante unos milisegundos, restaurando la carga de los condensadores. Por tanto, la RAM dinámica se actualiza cientos de veces por segundo. La DRAM consta de celdas de memoria donde cada celda de memoria está construida a partir de un transistor y un condensador. Debido a esta construcción, la RAM dinámica es pequeña y más económica en comparación con la RAM estática.

Decodificación de memoria

Durante la operación de lectura o escritura, las direcciones de memoria se seleccionan aplicando el número de dirección a las líneas de dirección. Las señales en las líneas de dirección son decodificadas por un circuito decodificador para seleccionar una ubicación de memoria. La entrada de habilitación de memoria generalmente está conectada al circuito decodificador para habilitar o deshabilitar las operaciones de lectura/escritura.

Detección y corrección de errores

Existen posibilidades de error al almacenar y leer datos de la memoria. Por lo tanto, emplear técnicas de detección y corrección de errores es una práctica común durante las operaciones de lectura y escritura. La técnica de detección de errores más común es el bit de paridad. El bit de paridad se genera y almacena junto con la palabra en la memoria. Cuando los datos se escriben en la memoria, se aceptan cuando la paridad de bits es correcta, mientras que cuando se leen los datos, la paridad se verifica nuevamente para confirmar la precisión de la palabra. Si la paridad no coincide, significa que ocurrió un error en la operación de lectura/escritura. Si hay un error, los bits de verificación generan un patrón que se llama síndrome. El patrón se utiliza para identificar el bit de la palabra que contiene un error. El bit específico se invierte para corregir el error. Los códigos de detección de errores generan varios bits de verificación de paridad que se almacenan junto con las palabras.

Memoria de sólo lectura (ROM)

La memoria de solo lectura (ROM) es una memoria primaria desde la cual solo se pueden leer datos pero el usuario no puede escribir en ella. Se trata de una memoria no volátil en la que los datos, una vez transferidos, permanecen en la memoria incluso sin suministro de energía a la unidad de memoria. La información binaria se almacena permanentemente en estas memorias durante su propia fabricación.

La ROM generalmente almacena las instrucciones requeridas por el sistema informático cuando se enciende. Esta operación se conoce como bootstrapping. Estas memorias se utilizan habitualmente en ordenadores de sobremesa y servidores. Muchos dispositivos integrados, como lavadoras, televisores y hornos microondas, también utilizan estas memorias para inicializar programas integrados.

El proceso de transferir datos binarios a una ROM se llama escritura o programación. Durante la grabación, se forman interconexiones fijas entre puertas lógicas en el chip ROM que representa información binaria. Los datos en la ROM se leen mediante un circuito decodificador.

Tipos de ROM

Existen los siguientes tipos de memorias ROM –

1) ROM enmascarada (MROM) : las primeras ROM eran dispositivos cableados que contenían un conjunto de datos o instrucciones preprogramados. Este tipo de ROM se conocen como ROM enmascaradas. Estas memorias ROM no son muy caras.

2) Memoria de solo lectura programable (PROM): la PROM es una memoria de solo lectura que un usuario puede modificar solo una vez. El usuario compra una PROM en blanco e inserta el contenido deseado utilizando un programador de PROM. Dentro del chip PROM hay pequeños fusibles que se funden durante la programación. Sólo se puede programar una vez y no se puede borrar. La mayoría de los microcontroladores programables de un solo uso tienen PROM para almacenar la lógica de la aplicación.

3) Memoria de sólo lectura borrable y programable (EPROM) : una EPROM se puede borrar exponiéndola a luz ultravioleta durante un período de hasta 40 minutos. Normalmente, se utiliza un borrador de EPROM para borrar datos de la EPROM. Para programar la EPROM, se atrapa una carga eléctrica en una región de puerta aislada. La carga se puede retener durante más de diez años porque no tiene ruta de fuga. Para extinguir esta carga, la luz ultravioleta pasa a través de una ventana de cristal de cuarzo (cubierta). Esta exposición a la luz ultravioleta disipa la carga almacenada para borrar los datos binarios almacenados. La cubierta de cuarzo permanece sellada con un adhesivo durante el uso normal del chip.

4) Memoria de sólo lectura programable y borrable eléctricamente (EEPROM): la EEPROM se programa y borra eléctricamente. Se puede borrar y reprogramar hasta diez mil veces. Tanto el borrado como la programación tardan entre 4 y 10 ms (milisegundos). En EEPROM, cualquier ubicación se puede borrar y programar selectivamente. La EEPROM se puede borrar un byte a la vez, en lugar de tener que borrar todo el chip. En consecuencia, el proceso de reprogramación es flexible, aunque bastante lento.

contenido relacionado

Regresar al blog

Deja un comentario

Ten en cuenta que los comentarios deben aprobarse antes de que se publiquen.