¿Cuáles son las diferencias entre DRAM síncrona y DRAM asíncrona?

Esto te dejará boquiabierto, pero en realidad la matriz de almacenamiento DRAM en el corazón de cada DRAM síncrona, es un dispositivo asíncrono .

Pero antes de entrar en eso, ¿creo que está preguntando sobre las diferencias de la interfaz de memoria? ¿Sincrónico versus asíncrono? Eso es fácil.

Una DRAM sincrónica tiene un reloj al que se alinean los comandos y los datos.

Una DRAM asincrónica es automática, alterna entre cuatro líneas de control (y el bus de direcciones) en un orden particular para indicarle al dispositivo qué hacer. Luego, el dispositivo realiza una lectura o escritura temporizada, luego, si está leyendo, espere hasta que haya transcurrido el tiempo de acceso y muestree las líneas de datos. Cuando haya terminado, devuelva el dispositivo al estado inactivo alternando esas señales de control. En realidad, es más fácil de lo que parece, pero para simplificar el control y también para poder canalizar la ruta de datos se introdujo la DRAM sincrónica.

——————

Así es, ya sea SDR, DDR, DDR2 / 3/4/5, GDDRx LPDDR, PSRAM, RLDRAM, LLDRAM y cualquier otra permutación, todas estas variaciones de Synchronous DRAM tienen un núcleo asíncrono.

¿Por qué? … el consumo de energía. Una DRAM tiene más transistores que una CPU de gama alta. Si cada uno de estos transistores necesitara un reloj, el consumo de energía sería astronómico, otra razón es que, si bien una CPU puede ejecutar muchas rutas operativas al mismo tiempo, una DRAM activa solo una página de cada miles a la vez. Todas las páginas que no se están utilizando están simplemente allí y tienen fugas hasta que necesitan actualizarse, mientras que el circuito de control interno es responsable de cruzar el límite de sincronización / sincronización.

Históricamente, uno de los problemas más difíciles de superar en el diseño de SDRAM fue la entrada y salida de actualización automática, bueno, especialmente la parte de salida. Cuando una SDRAM está funcionando, la actualización se controla mediante comandos síncronos externos, pero cuando entra en modo de actualización automática se pasa a un temporizador asíncrono interno porque se permite detener el reloj externo. Entonces, cuando salga de la actualización automática, debe pasar del temporizador asíncrono interno al temporizador síncrono externo, y esta transferencia es IMPOSIBLE de probar porque es un evento estadístico, bueno, en los viejos tiempos era imposible, tal vez pensaron ¿Cómo hacerlo ahora? Tiempos divertidos.

Dato curioso: la primera SDRAM tenía una latencia más larga que la DRAM Asynch que reemplazaron.

Esta es una diferencia que se aplica a casi todo en una computadora y se remonta hasta los viejos mainframes. Inicialmente, cada circuito dado (puerto serie, puerto paralelo, bus, …) comienza de forma asíncrona, lo que significa que cualquier lado (la computadora o el dispositivo) comienza una operación enviando una señal por un cable para indicar que se está iniciando un comando o una operación. Luego, en una escritura, envía una sola unidad de datos o, en una lectura, espera a que el otro lado presente los datos. Algún otro cable envía una señal después de que los datos deben estar presentes y ser estables, y esta señal final le dice al receptor que mire los valores en los cables de datos. En situaciones de un solo cable (como el puerto serie) puede haber una secuencia de valores que siguen uno tras otro en función de un reloj, pero la secuencia es corta y esto solo funciona para un cable porque la única forma de coordinar la llegada de datos en dos o más cables (en paralelo) es para enviar la señal final. El tiempo entre las transmisiones de datos es arbitrario y, en general, cualquiera de las partes puede tomar el tiempo que necesite para procesar cada unidad de datos, por lo que la velocidad de transmisión está determinada por el dispositivo más lento en cada extremo. En DRAM sincrónico, la CPU envía una dirección a la RAM y luego lee exactamente una unidad de datos en esa dirección. Cuando necesita otro valor de la memoria, envía otra dirección, incluso si esa es la siguiente dirección después de la solicitud anterior.

Sincrónico significa que hay más de una unidad de datos enviada por operación, y puede ser una gran cantidad de datos. En un USB, envía un gran bloque de datos de disco, en una LAN, envía un paquete completo, y en DRAM Sincrónico, envía una “línea de caché”. Eso significa que la CPU presenta una dirección, y luego la RAM responde con los datos en esa dirección, pero luego redondea la dirección a un múltiplo de cuatro unidades de 32 bits y envía las otras tres unidades “cerca de” la dirección enviada por la CPU y las cuatro unidades se almacenan en la memoria caché de la CPU. Hay un reloj y los siguientes tres bloques de datos se transmiten en función del pulso del reloj. Esto elimina el “Quiero hacer algo. ¿Qué deseas? Aquí está la operación. Estoy listo para recibir Aquí están los datos. Recibí los datos, ¿ahora qué quieres hacer? ”De ida y vuelta por cada byte o palabra transmitida en una operación Asych.

Sin embargo, lo que esto significa es que todos los sistemas son en última instancia asíncronos, y la diferencia es la escala de la unidad que se procesa. Asynch tiende a ser variable entre cada byte, mientras que síncrono transmite un bloque de datos en el reloj pero luego tiene algún protocolo de inicio asíncrono entre transmisiones. Por lo tanto, solicitar un sector completo de datos de disco es asíncrono (pregunta cuándo necesita los datos), pero luego todo el sector se transmite sincrónicamente con un reloj que determina la velocidad de los bits y bytes en el sector.

Otro punto SDRAM tarda más en responder cuando la dirección que envía está “más lejos” en lugar de “al lado” de la dirección anterior. Sin embargo, el retraso máximo se decide cuando las características de la memoria se determinan en el momento del encendido. Entonces, cuando la CPU envía una dirección, sabe si habrá una respuesta rápida o lenta (latencia CAS) y espera un número apropiado de tics de reloj en función de la diferencia entre la dirección actual y la última dirección. En un protocolo asincrónico, la memoria habría señalado a la CPU cuando estaba lista para realizar la operación en lugar de negociar un tiempo de respuesta garantizado en el encendido.

Se dice que la DRAM convencional, del tipo que se ha utilizado en las PC desde los días originales de la PC de IBM, es asíncrona . Esto se refiere al hecho de que la memoria no está sincronizada con el reloj del sistema. Se inicia un acceso a la memoria, y un cierto período de tiempo después aparece el valor de la memoria en el bus. Las señales no están coordinadas con el reloj del sistema, como se describe en la sección que trata el acceso a la memoria. La memoria asincrónica funciona bien en sistemas de bus de memoria de baja velocidad, pero no es tan adecuada para usar en sistemas de memoria de alta velocidad (> 66 MHz).

Un nuevo tipo de DRAM, llamado “DRAM sincrónica” o “SDRAM”, se sincroniza con el reloj del sistema; Todas las señales están vinculadas al reloj, por lo que el tiempo es mucho más estricto y mejor controlado. Este tipo de memoria es mucho más rápido que la DRAM asíncrona y se puede utilizar para mejorar el rendimiento del sistema. Es más adecuado para los sistemas de memoria de mayor velocidad de las PC más nuevas.

(fuente: DRAM asíncrona y síncrona)