DRAM se basa en almacenar una carga en un condensador. Es importante porque los condensadores se pueden hacer bastante compactos y mantienen una carga el tiempo suficiente para ser útiles. La idea básica es dividir la dirección de memoria en dos partes, que corresponden a las coordenadas de fila / columna en una cuadrícula de condensadores, cada uno almacenando un bit.
Hay líneas de fila y columna (cables) a través de la cuadrícula, y en cada intersección hay un condensador que se conecta al bus de columna a través de un transistor, que es controlado por el bus de fila. La porción de fila de la dirección de memoria se decodifica y selecciona un cable de fila. Esto activa el transistor en todas las celdas de almacenamiento de la fila (bits), por lo que la carga de cada condensador se “lee” a través del cable de la columna a un “amplificador de detección” y luego a un búfer. La segunda parte de la dirección se decodifica y selecciona bits de este búfer de lectura. Para escribir, ocurre el mismo tipo de selección de fila / columna, pero para establecer un bit, cargue en el condensador.
Sin embargo, recuerde que los condensadores son volátiles: esto significa que cada uno debe “actualizarse” periódicamente (del orden de milisegundos). Esencialmente, esto se hace leyendo cada fila, amplificándola y volviéndola a escribir, y recorriendo todas las filas.
- ¿Cuánta RAM usa una GTX 1080ti Founder Edition?
- ¿Cuál es la mayor cantidad de RAM que ha tenido una computadora?
- ¿Cuál es la diferencia entre RAM y velocidad de reloj para una tarjeta gráfica en términos de juegos?
- ¿1 GB es igual a 1024 MB o 1000 MB?
- ¿Por qué Android Studio funciona muy lentamente en mi sistema aunque el sistema tiene 16 GB de RAM?
La estructura de un chip DRAM real es algo más complicada que esto, ya que existen muchas de estas estructuras de matriz 2D simples en el chip, algunas que operan en paralelo y otras seleccionadas por otras partes de la dirección de memoria. Sin embargo, el protocolo DRAM es de muy bajo nivel, por lo que una CPU tiene que proporcionar un controlador muy complicado para ejecutar a través de los diversos estados: colocar porciones de la dirección en el bus de memoria, esperar números específicos de relojes, luego otras señales, etc. Probablemente el parámetro de temporización único más importante es la cantidad de tiempo entre proporcionar la dirección y recibir datos en una operación de lectura: esta latencia ha mejorado con los años y las generaciones DRAM, pero en realidad ha caído drásticamente detrás de la velocidad de las CPU. (Está en el orden de 50 ns, que son cientos de ciclos de reloj de la CPU …)