Todas las celdas de memoria tienen su nivel, ya sea 0
o 1
. La CPU le dice al dispositivo de memoria de qué celdas necesita los valores binarios y proporciona esta dirección al dispositivo de memoria. Dentro del dispositivo de memoria, la dirección se decodifica en una dirección de fila y columna, y la celda en esa posición en la matriz puede llevar sus datos al bus de datos, es decir, el pin de datos.
Digamos que tenemos una dirección de 8 bits 01100101
. Esto se dividirá en una dirección de fila 0110
(el mordisco de orden superior) y una dirección de columna 0101
(el mordisco de orden inferior). La dirección de la fila selecciona la fila # 06, por lo que todas las celdas conectadas a esta fila tendrán sus datos listos. La dirección de la columna selecciona la celda en la columna # 05 de esta fila, de modo que finalmente solo una celda puede colocar sus datos en el pin de salida.
El almacenamiento de datos sigue el mismo patrón: solo se selecciona una fila, y la celda en la columna dada en esa fila obtendrá los datos presentes en el pin almacenado.
Esto es por 1 bit. La operación se produce para el ancho completo de la palabra de datos simultáneamente, por lo que si tiene una memoria de bytes, se recuperan 8 bits y su valor se coloca en 8 pines del bus de datos.
editar
Esta imagen debería ayudarte a ver mejor las cosas:
Esta es una representación de una matriz DRAM , donde los datos se almacenan en la carga de los condensadores , cada condensador es de un bit. La parte de la fila de la dirección (aquí A1..A0) selecciona una fila, lo que significa que activan todos los FET en esa fila, de modo que los niveles de los condensadores para esa fila estén disponibles en su columna correspondiente. Luego, el bloque de selección de dirección de columna, controlado por la otra parte de la dirección, A3..A2, selecciona el bit del que queremos los datos.
DRAM es fácil de construir, pero tiene una desventaja desagradable: leer los datos descarga el condensador, por lo que los datos se pierden. Para contrarrestar esta DRAM tiene amplificadores de detección, que detectan el estado actual de la celda de memoria y lo actualizan cuando se leen. Además, esta actualización debe realizarse periódicamente porque la carga de los condensadores se escapará incluso cuando no se lea la memoria. La necesidad de actualizar los circuitos se compensa fácilmente gracias a la compacidad de las células DRAM.
SRAM usa un par de transistores para almacenar los datos, y no es volátil en la forma en que lo es la DRAM (aunque los datos aún desaparecen cuando apaga la unidad). Con EEPROM y Flash, los datos se almacenan en la puerta flotante (aislada) de un FET y, por lo tanto, no perderán sus datos cuando se desconecte la alimentación.
Lectura adicional:
esta respuesta sobre la retención de datos en la memoria Flash.