SDRAM ( Eng. Synchronous Dynamic Random A ccess Memory - memoria de acceso aleatorio dinámica sincrónica ) es un tipo de dispositivo de almacenamiento utilizado en una computadora y otros dispositivos digitales como RAM .
A diferencia de otros tipos de DRAM que utilizan el intercambio de datos asíncrono , la respuesta a la señal de control recibida por el dispositivo no se devuelve inmediatamente, sino solo cuando se recibe la siguiente señal de reloj . Las señales de reloj le permiten organizar el trabajo de SDRAM en forma de una máquina de estado que ejecuta los comandos entrantes. En este caso, los comandos entrantes pueden llegar en forma de flujo continuo, sin esperar a que se complete la ejecución de las instrucciones anteriores ( piping ): inmediatamente después del comando de escritura, el siguiente comando puede llegar sin esperar a que se escriban los datos. La recepción del comando de lectura hará que los datos aparezcan en la salida después de un cierto número de ciclos; este tiempo se denomina retardo y es una de las características importantes de este tipo de dispositivo.
Los ciclos de actualización se realizan a la vez para toda la fila, a diferencia de los tipos anteriores de DRAM , que actualizaban los datos en un contador interno mediante el método de actualización del comando CAS antes que RAS.
La producción en masa de SDRAM comenzó en 1997. Inicialmente, este tipo de memoria se ofreció como una alternativa a la costosa memoria de video ( VRAM ), pero pronto la SDRAM ganó popularidad y comenzó a usarse como RAM, reemplazando gradualmente a otros tipos de memoria dinámica. Las tecnologías DDR que siguieron hicieron que SDRAM fuera aún más eficiente. El desarrollo de DDR SDRAM fue seguido por los estándares DDR2 SDRAM , DDR3 SDRAM , DDR4 SDRAM y DDR5 SDRAM .
Con la llegada de los estándares posteriores, el primer estándar SDRAM se conoció como SDR (Single Data Rate, en oposición a Double Data Rate). Durante un ciclo, se recibió un comando de control y se transmitió una palabra de datos. Las velocidades de reloj típicas eran 66, 100 y 133 MHz. Los chips SDRAM se producían con buses de datos de varios anchos (normalmente 4, 8 o 16 bits), pero por regla general, estos chips formaban parte de un módulo DIMM de 168 pines , que permitía leer o escribir 64 bits (en la versión sin paridad ) o 72 bits (con paridad) en un ciclo.
El uso del bus de datos en SDRAM resultó complicado por un retraso de 2 o 3 ciclos entre la entrada de la señal de lectura y la aparición de datos en el bus de datos, mientras que no debería haber ningún retraso durante la escritura. Requería el desarrollo de un controlador bastante complejo que no permitiera usar el bus de datos para escribir y leer al mismo tiempo.
Los comandos que controlan el módulo de memoria SDR SDRAM se envían a los contactos del módulo a través de 7 líneas de señal. En uno de ellos, se suministra una señal de reloj, cuyos flancos anteriores (ascendentes) establecen los puntos de tiempo en los que se leen los comandos de control de las 6 líneas de comando restantes. Los nombres (entre paréntesis - decodificación de nombres) de las seis líneas de comando y las descripciones de los comandos se dan a continuación:
Los dispositivos SDRAM se dividen internamente en 2 o 4 bancos de memoria independientes. Las entradas de dirección del primer y segundo banco de memoria (BA0 y BA1) determinan para qué banco está destinada la instrucción actual.
Se aceptan los siguientes comandos:
/CS | /RAS | /CAS | /NOSOTROS | B.A.n_ _ | A10 | un norte | Equipo |
---|---|---|---|---|---|---|---|
A | X | X | X | X | X | X | retardo de comando (sin operación) |
H | A | A | A | X | X | X | No operacion |
H | A | A | H | X | X | X | detener la operación de lectura o escritura del lote actual. |
H | A | H | A | número de banco | H | número de columna | leer un paquete de datos de la fila actualmente activa. |
H | A | H | A | número de banco | A | número de columna | como el comando anterior, y al final del comando, regenerar y cerrar esta fila. |
H | A | H | H | número de banco | H | número de columna | escribe un paquete de datos en la fila actualmente activa. |
H | A | H | H | número de banco | A | número de columna | como el comando anterior, y al final del comando, regenerar y cerrar esta fila. |
H | H | A | A | número de banco | numero de fila | Fila abierta para operaciones de escritura y lectura. | |
H | H | A | H | número de banco | H | X | desactivar la fila actual del banco seleccionado. |
H | H | A | H | X | A | X | desactivar la fila actual de todos los bancos. |
H | H | H | A | X | X | X | regenerar una fila de cada banco utilizando el contador interno. Todos los bancos deben estar desactivados. |
H | H | H | H | 0 0 | MODO | desde las líneas A0-A9 carga los parámetros de configuración en el microcircuito. Los más importantes son la latencia CAS (2 o 3 ciclos) y la longitud del paquete (1, 2, 4 u 8 ciclos) |
de memoria dinámica de acceso aleatorio (DRAM) | Tipos|
---|---|
asincrónico | |
Sincrónico | |
Gráfico | |
Rambus | |
Módulos de memoria |