¿Qué es la DRAM síncrona?

click fraud protection

Synchronous DRAM o SDRAM es el estándar actual para DRAM. Su uso principal es para la RAM del sistema, aunque también se usa en VRAM en tarjetas gráficas y en cualquier otro lugar donde se use DRAM. Es tan dominante en su campo que la "S" generalmente se elimina y simplemente se la conoce como DRAM. La sincronización de la SDRAM es fundamental para su rendimiento y fue fundamental para superar a su predecesora, la DRAM asíncrona.

Trabajando en sincronía

Síncrono se refiere al hecho de que SDRAM tiene un reloj interno y que el sistema conoce la velocidad del reloj. Eso no quiere decir que funcione a la misma velocidad de reloj que la CPU. Pero tiene un reloj interno y la CPU lo sabe. Esto permite optimizar las interacciones con la RAM para que el bus de E/S se utilice por completo en lugar de dejarlo inactivo para garantizar que ningún comando interfiera con otros comandos.

Parte del problema es que al escribir datos en DRAM. Los datos deben proporcionarse simultáneamente como el comando para escribir los datos. Sin embargo, al leer datos, los datos se vuelven a leer dos o tres ciclos de reloj después de que se emite el comando de lectura. Esto significa que el controlador de DRAM necesita permitir suficiente tiempo para que se completen las operaciones de lectura antes de que ocurra una operación de escritura. Con la DRAM asíncrona, esto sucedió simplemente dejando tiempo más que suficiente para que se completara la operación. Esta práctica, sin embargo, dejó inactivo el bus de E/S. Al mismo tiempo, el controlador esperó lo suficiente para estar seguro, lo que fue un uso ineficiente de los recursos.

La DRAM sincrónica utiliza un reloj interno para sincronizar la transferencia de datos y la ejecución de comandos. Esto permite que las operaciones de tiempo del controlador de memoria hagan un uso óptimo del bus de E/S y garantiza niveles de rendimiento más altos.

Mejoras sobre la DRAM asíncrona

Aparte de las mejoras en el tiempo que permiten un mejor control, la principal mejora de SDRAM es la capacidad de tener múltiples bancos de memoria dentro de la DRAM. Cada banco opera esencialmente de forma independiente internamente. Dentro de un banco, solo se puede abrir una fila a la vez. Aún así, se puede abrir una segunda fila en un banco diferente, lo que permite canalizar las operaciones de lectura o escritura. Este diseño evita que el bus de E/S permanezca inactivo. Al mismo tiempo, se pone en cola una nueva operación de lectura o escritura, lo que aumenta la eficiencia.

Una forma de pensar en esto es agregar una tercera dimensión a una matriz bidimensional. Todavía solo puede leer o escribir datos desde un lugar a la vez. Pero puede preparar otra fila en un banco diferente mientras interactúa con uno.

Otro beneficio de SDRAM proviene de la inclusión de datos de tiempo en un chip en la memoria. Algunas memorias RAM modernas permiten un rendimiento más rápido que los estándares oficiales de DRAM al codificar su información específica de rendimiento de tiempo en ese chip. También es posible anular manualmente esta configuración, lo que permite "overclockear" la RAM. Esto es a menudo muy en profundidad, ya que se pueden configurar muchos valores de tiempo y tiende a proporcionar un rendimiento mínimo beneficio. El overclocking de la RAM también conlleva el riesgo de inestabilidad, pero puede ofrecer ventajas en algunas cargas de trabajo.

Mejoras a lo largo del tiempo

La velocidad real del reloj de la memoria no ha aumentado mucho desde el lanzamiento de SDRAM. La primera iteración de SDRAM recibió el retroónimo SDR. Esta es la abreviatura de Single Data Rate para distinguirla de la memoria DDR o Double Data Rate posterior. Estos tipos, así como muchas otras formas de DRAM, son ejemplos de SDRAM. El ciclo de reloj del chip DRAM controla el tiempo entre las operaciones más rápidas de DRAM. Por ejemplo, leer una columna de una fila abierta requiere un solo ciclo de reloj.

Es importante tener en cuenta que hay dos velocidades de reloj distintas para SDRAM, el reloj interno y el reloj del bus de E/S. Ambos se pueden controlar de forma independiente y se han actualizado con el tiempo. El reloj interno es la velocidad de la propia memoria e influye directamente en la latencia. El reloj de E/S controla la frecuencia con la que se pueden transmitir los datos que se han leído o se escribirán en la SDRAM. Esta velocidad de reloj, combinada con el ancho del bus de E/S, influye en el ancho de banda. Ambos relojes están vinculados y son fundamentales para el alto rendimiento de SDRAM.

Cómo han aumentado las velocidades

El estándar oficial JEDEC para la primera generación de DDR SDRAM tenía relojes de memoria entre 100 y 200 MHz. DDR3 todavía ofrece 100MHz relojes de memoria, aunque también estandarizó velocidades de reloj de hasta 266,6 MHz. A pesar de esto, los cambios internos en la velocidad del reloj de E/S y el La cantidad de datos incluidos en una operación de lectura significaba que incluso con un reloj de memoria de 100 MHz, el ancho de banda por unidad de tiempo se cuadruplicaba.

DDR4 cambió el patrón de actualización y duplicó el reloj de la memoria con un rango entre 200 y 400 MHz, logrando nuevamente duplicar el ancho de banda disponible y reducir la latencia. El estándar DDR5 también comienza con un reloj de memoria de 200 MHz. Aún así, alcanza hasta 450 MHz, volviendo a duplicar la cantidad de datos transferidos por ciclo para duplicar el ancho de banda.

Conclusión

La DRAM síncrona es el tipo principal de DRAM que se usa en la actualidad. Es la base para la RAM y la VRAM del sistema en las aplicaciones gráficas. Al sincronizar las acciones de la DRAM con los relojes, se puede conocer el rendimiento real de la DRAM, lo que permite que las operaciones se pongan en cola de manera eficiente para su ejecución. Esto es mucho más eficiente que dejar tiempo más que suficiente porque no hay una medida directa o forma de saber cuándo se ha completado un comando específico.

Los relojes que controlan la SDRAM son fundamentales para su alto rendimiento. Controlan la frecuencia con la que se pueden ejecutar los comandos y la rapidez con la que se pueden leer o escribir los datos en la DRAM. Al conocer estos tiempos, se pueden optimizar para obtener el máximo rendimiento.