Este artículo muestra que DDR4 SDRAM tiene aproximadamente 8 veces más ancho de banda DDR1 SDRAM. Pero el tiempo transcurrido desde la configuración de la dirección de la columna hasta que los datos están disponibles solo ha disminuido en un 10% (13.5ns). Una búsqueda rápida muestra que el tiempo de acceso del asíncrono más rápido. SRAM (18 años) es 7ns. ¿Por qué el tiempo de acceso a SDRAM ha disminuido tan lentamente? ¿Es la razón económica, tecnológica o fundamental?
22
Respuestas:
Es porque es más fácil y más barato aumentar el ancho de banda de la DRAM que disminuir la latencia. Para obtener los datos de una fila abierta de ram, es necesaria una cantidad de trabajo no trivial.
La dirección de la columna debe decodificarse, los muxes que seleccionan a qué líneas acceder deben controlarse, y los datos deben moverse a través del chip hacia las memorias intermedias de salida. Esto lleva un poco de tiempo, especialmente dado que los chips SDRAM se fabrican en un proceso adaptado a altas densidades de ram y no a altas velocidades lógicas. Para aumentar el ancho de banda, por ejemplo, mediante el uso de DDR (1,2,3 o 4), la mayor parte de la lógica puede ampliarse o canalizarse, y puede operar a la misma velocidad que en la generación anterior. Lo único que debe ser más rápido es el controlador de E / S para los pines DDR.
Por el contrario, para disminuir la latencia, se debe acelerar toda la operación, lo cual es mucho más difícil. Lo más probable es que las partes del ram deberían hacerse en un proceso similar al de las CPU de alta velocidad, lo que aumenta el costo sustancialmente (el proceso de alta velocidad es más costoso, además cada chip debe pasar por 2 procesos diferentes).
Si compara las memorias caché de la CPU con la RAM y el disco duro / SSD, existe una relación inversa entre el almacenamiento es grande y el almacenamiento es rápido. Un L1 $ es muy rápido, pero solo puede contener entre 32 y 256kB de datos. La razón por la que es tan rápido es porque es pequeño:
A medida que avanza en la jerarquía, cada opción de almacenamiento aumenta en capacidad, pero también en área y más lejos del dispositivo que lo usa, lo que significa que el dispositivo debe ser más lento.
fuente
C_Elegans proporciona una parte de la respuesta: es difícil disminuir la latencia general de un ciclo de memoria.
La otra parte de la respuesta es que en los sistemas de memoria jerárquicos modernos (múltiples niveles de almacenamiento en caché), el ancho de banda de la memoria tiene una influencia mucho más fuerte en el rendimiento general del sistema que la latencia de la memoria , y ahí es donde se han centrado todos los últimos esfuerzos de desarrollo.
Esto es cierto tanto en la informática general, donde muchos procesos / subprocesos se ejecutan en paralelo, como en sistemas integrados. Por ejemplo, en el trabajo de video HD que hago, no me importan las latencias del orden de milisegundos, pero necesito varios gigabytes / segundo de ancho de banda.
fuente
No tengo muchas ideas, pero espero que sea un poco más.
Económico
Para la mayoría de las computadoras / teléfonos, la velocidad es más que suficiente. Para almacenamientos de datos más rápidos, se ha desarrollado SSD. Las personas pueden usar video / música y otras tareas intensivas en velocidad (casi) en tiempo real. Por lo tanto, no hay tanta necesidad de más velocidad (excepto para aplicaciones específicas como la predicción del clima, etc.).
Otra razón es procesar una velocidad de RAM muy alta, se necesitan CPU que sean rápidas. Y esto viene con mucho uso de energía. Dado que la tendencia de usarlos en dispositivos de batería (como teléfonos móviles), impide el uso de RAM (y CPU) muy rápidas, hace que no sea económicamente útil hacerlos.
Técnico
Por el tamaño decreciente de los chips / IC (nivel nm ahora), la velocidad aumenta, pero no significativamente. Se usa con mayor frecuencia para aumentar la cantidad de RAM, que se necesita con más fuerza (también una razón económica).
Fundamental
Como ejemplo (ambos son circuitos): la forma más fácil de obtener más velocidad (utilizada por SSD) es simplemente distribuir la carga en múltiples componentes, de esta manera las velocidades de 'procesamiento' también se suman. Compare usando 8 memorias USB que leen al mismo tiempo y combinando los resultados, en lugar de leer datos de una memoria USB una tras otra (toma 8 veces más tiempo).
fuente