Memoria SRAM: Qué es y cómo gestionan la información
Todas las instrucciones que ejecuta el procesador se cargan en una memoria de tipo SRAM (Static Random Access Memory) para tener un rápido acceso según sean requeridas.
¡En este post te mostraré qué es y cómo gestionan la información! 🙂
Photo by Mathew Schwartz on Unsplash
¿Qué es una Memoria SRAM?
En términos sencillos, una Memoria es un conjunto de espacios disponibles en los cuales podemos consultar y almacenar información temporalmente.
Las memorias de acceso aleatorio poseen una característica que las hacen excepcionales: ¡Pueden leer o escribir datos con un tiempo de espera igual en cualquiera de sus posiciones!
De esta forma, no es necesario seguir un orden para acceder a la información.
Estas cualidades la hacen una memoria de vital importancia a la hora de ayudar en las tareas de procesamiento de nuestros dispositivos.
Veamos cómo administra la información en la siguiente sección 👀
Gestión de Información: Dirección en Memoria y los Datos
Haciendo una analogía con las casas, para poder llegar a un sitio en particular, debemos tener una dirección. Las direcciones identifican de forma única a cada casa o edificio en una ciudad.
Gracias a esta nomenclatura sabemos a dónde debemos ir.
De igual forma, para poder acceder a un espacio en la memoria y obtener o almacenar información, debemos saber cuál es la dirección que hace referencia al espacio en memoria sobre el que queremos trabajar (leer/escribir).
Representando este concepto con un ejemplo:
Imaginemos una Memoria de 4 espacios. El siguiente sería su estado inicial:
Espacio 0 (dirección para acceder: 0)
Espacio 1 (dirección para acceder: 1)
Espacio 2 (dirección para acceder: 2)
Espacio 3 (dirección para acceder: 3)
Ejemplo práctico
A partir de ahora las direcciones de la memoria las representaremos en binario. De esta forma, las direcciones 0, 1, 2 y 3 serían los números 00, 01, 10 y 11 respectivamente.
Una Memoria que almacena el dato 0 en todos sus espacios, tendría el siguiente estado:
- Dirección en memoria 00: Dato 0
- Dirección en memoria 01: Dato 0
- Dirección en memoria 10: Dato 0
- Dirección en memoria 11: Dato 0
Ahora, guardemos el Dato: 1 en las direcciones 01 y 10. Quedaría nuestra memoria de la siguiente forma:
- Dirección en memoria 00: Dato 0
- Dirección en memoria 01: Dato 1
- Dirección en memoria 10: Dato 1
- Dirección en memoria 11: Dato 0
En esta sección vimos el ejemplo de una Memoria con las siguientes características:
- Tamaño de datos igual a 1 bit: Con 1 bit podemos almacenar los datos: 0 y 1
- Tamaño de direccionamiento de 2 bits: Con 2 bits, la Memoria puede referenciar 4 posiciones: 00, 01, 10 y 11.
Manejo de datos
Para explicar la forma de acceso y manipulación de los datos, representaremos la memoria de almacenamiento SRAM con la siguiente imagen :
Lectura
A continuación se detallan las partes que intervienen en la lectura de información:
- (A) Address: Dirección de acceso en memoria.
- (D) Data: Muestra el valor almacenado en la dirección solicitada.
- El valor almacenado en la dirección de memoria 00 es 0
- El valor almacenado en la dirección de memoria 01 es 1
- El valor almacenado en la dirección de memoria 10 es 1
- El valor almacenado en la dirección de memoria 11 es 0
Escritura
A continuación se detallan las partes que intervienen en la escritura de información:
(A) Address: Dirección de acceso en memoria.
(D) Input: Valor a ser guardado en la dirección.
(Str) Store: Si es 1, almacenar el valor de Input en la Memoria
Clock: Valor de la Memoria se actualiza cuando cambia de 0 a 1
Al activar el reloj estando en modo escritura (Str = 1), se procede a guardar la información input (D) en la dirección (A) de Memoria:
Conclusión
En este artículo pudimos ver cómo acceder y escribir datos en una Memoria. En este caso de tipo SRAM.
También aclaramos algunos términos de las Memorias como lo son el acceso aleatorio y expusimos importancia de la dirección en memoria para poder trabajar con la información en procesos de lectura y escritura.