Latencia CAS
Latencia estroboscópica de dirección de columna, también llamada latencia CAS o CL, es el retraso en los ciclos de reloj entre el comando READ y los datos de momento. está disponible. En DRAM asíncrona, el intervalo se especifica en nanosegundos (tiempo absoluto). En DRAM síncrona, el intervalo se especifica en ciclos de reloj. Debido a que la latencia depende de una cantidad de tics de reloj en lugar del tiempo absoluto, el tiempo real para que un módulo SDRAM responda a un evento CAS puede variar entre usos del mismo módulo si la velocidad del reloj difiere.
Antecedentes del funcionamiento de la RAM
La RAM dinámica está dispuesta en una matriz rectangular. Cada fila se selecciona mediante una línea de palabra horizontal. Enviar una señal lógica alta a lo largo de una fila determinada habilita los MOSFET presentes en esa fila, conectando cada condensador de almacenamiento a su línea de bits vertical correspondiente. Cada línea de bits está conectada a un amplificador de detección que amplifica el pequeño cambio de voltaje producido por el capacitor de almacenamiento. Esta señal amplificada luego sale del chip DRAM y regresa a la línea de bits para actualizar la fila.
Cuando no hay ninguna línea de palabra activa, la matriz está inactiva y las líneas de bits se mantienen en un estado precargado, con un voltaje a medio camino entre alto y bajo. Esta señal indeterminada es desviada hacia alto o bajo por el condensador de almacenamiento cuando se activa una fila.
Para acceder a la memoria, primero se debe seleccionar una fila y cargarla en los amplificadores de detección. Esta fila está entonces activa y se puede acceder a las columnas para lectura o escritura.
La latencia CAS es el retraso entre el momento en que la dirección de columna y la señal estroboscópica de dirección de columna se presentan al módulo de memoria y el momento en que la memoria pone a disposición los datos correspondientes. módulo. La fila deseada ya debe estar activa; si no es así, se requiere tiempo adicional.
Como ejemplo, un módulo de memoria SDRAM de 1 GiB típico podría contener ocho chips DRAM de un gibibit independientes, cada uno de los cuales ofrece 128 MiB de espacio de almacenamiento. Cada chip está dividido internamente en ocho bancos de 227=128 Mibits, cada uno de los cuales compone una matriz DRAM separada. Cada banco contiene 214=16384 filas de 213=8192 bits cada una. Se accede a un byte de memoria (de cada chip; 64 bits en total de todo el DIMM) proporcionando un número de banco de 3 bits, una dirección de fila de 14 bits y una dirección de columna de 13 bits.
Efecto sobre la velocidad de acceso a la memoria
Con la DRAM asíncrona, un controlador de memoria en el bus de memoria accedía a la memoria basándose en un tiempo establecido en lugar de un reloj, y estaba separada del bus del sistema. Sin embargo, la DRAM síncrona tiene una latencia CAS que depende de la velocidad del reloj. En consecuencia, la latencia CAS de un módulo de memoria SDRAM se especifica en tics de reloj en lugar de en tiempo absoluto.
Debido a que los módulos de memoria tienen múltiples bancos internos y los datos pueden salir de uno durante la latencia de acceso a otro, los pines de salida se pueden mantener 100% ocupados independientemente de la latencia CAS a través de la canalización; el ancho de banda máximo alcanzable está determinado únicamente por la velocidad del reloj. Desafortunadamente, este ancho de banda máximo sólo puede alcanzarse si se conoce con suficiente antelación la dirección de los datos a leer; Si la dirección de los datos a los que se accede no es predecible, se pueden producir bloqueos en la tubería, lo que resulta en una pérdida de ancho de banda. Para un acceso a memoria completamente desconocido (también conocido como acceso aleatorio), la latencia relevante es el tiempo para cerrar cualquier fila abierta, más el tiempo para abrir la fila deseada, seguido de la latencia CAS para leer datos de ella. Sin embargo, debido a la localidad espacial, es común acceder a varias palabras en la misma fila. En este caso, la latencia CAS por sí sola determina el tiempo transcurrido.
Debido a que los módulos DRAM modernos' Las latencias de CAS se especifican en tics de reloj en lugar de tiempo; al comparar las latencias a diferentes velocidades de reloj, las latencias se deben traducir a tiempos absolutos para realizar una comparación justa; una latencia CAS numérica más alta aún puede ser menor si el reloj es más rápido. Del mismo modo, a un módulo de memoria que no esté sincronizado se le podría reducir el recuento de ciclos de latencia de CAS para preservar el mismo tiempo de latencia de CAS.
La RAM de doble velocidad de datos (DDR) realiza dos transferencias por ciclo de reloj y, por lo general, se describe mediante esta velocidad de transferencia. Debido a que la latencia CAS se especifica en ciclos de reloj, y no en transferencias (que ocurren tanto en el flanco ascendente como en el descendente del reloj), es importante asegurarse de que sea la velocidad del reloj (la mitad de la velocidad de transferencia) la que se utiliza para calcular los tiempos de latencia de CAS.
Otro factor que complica la situación es el uso de transferencias en ráfaga. Un microprocesador moderno puede tener un tamaño de línea de caché de 64 bytes, lo que requiere ocho transferencias desde una memoria de 64 bits de ancho (ocho bytes) para llenarse. La latencia CAS solo puede medir con precisión el tiempo necesario para transferir la primera palabra de la memoria; el tiempo para transferir las ocho palabras también depende de la velocidad de transferencia de datos. Afortunadamente, el procesador normalmente no necesita esperar las ocho palabras; la ráfaga generalmente se envía en el orden primera palabra crítica y el microprocesador puede utilizar la primera palabra crítica inmediatamente.
En la siguiente tabla, las velocidades de datos se dan en millones de transferencias, también conocidas como megatransferencias, por segundo (MT/s), mientras que las velocidades de reloj se dan en MHz, millones de ciclos por segundo.
Ejemplos de sincronización de memoria
Generación | Tipo | Tasa de datos | Tiempo de transferencia | Tasa de mando | Hora del ciclo | CAS latency | Primera palabra | Cuarta palabra | Octava palabra |
---|---|---|---|---|---|---|---|---|---|
SDRAM | PC100 | 100 MT/s | 10.000 | 100 MHz | 10.000 | 2 | 20.00 ns | 50.00 ns | 90.00 ns |
PC133 | 133 MT/s | 7.500 ns | 133 MHz | 7.500 ns | 3 | 22.50 ns | 45.00 ns | 75.00 ns | |
DDR SDRAM | DDR-333 | 333 MT/s | 3.000 | 166 MHz | 6.000 ns | 2.5 | 15.00 ns | 24.00 ns | 36.00 ns |
DDR-400 | 400 MT/s | 2.500 ns | 200 MHz | 5.000 ns | 3 | 15.00 ns | 22.50 ns | 32.50 ns | |
2.5 | 12.50 ns | 20.00 ns | 30.00 ns | ||||||
2 | 10.00 ns | 17.50 ns | 27.50 ns | ||||||
DDR2 SDRAM | DDR2-400 | 400 MT/s | 2.500 ns | 200 MHz | 5.000 ns | 4 | 20.00 ns | 27.50 ns | 37.50 ns |
3 | 15.00 ns | 22.50 ns | 32.50 ns | ||||||
DDR2-533 | 533 MT/s | 1.875 ns | 266 MHz | 3.750 ns | 4 | 15.00 ns | 20.63 ns | 28.13 ns | |
3 | 11.25 ns | 16.88 ns | 24.38 ns | ||||||
DDR2-667 | 667 MT/s | 1.500 ns | 333 MHz | 3.000 | 5 | 15.00 ns | 19.50 ns | 25.50 ns | |
4 | 12.00 ns | 16.50 ns | 22.50 ns | ||||||
DDR2-800 | 800 MT/s | 1.250 ns | 400 MHz | 2.500 ns | 6 | 15.00 ns | 18.75 ns | 23.75 ns | |
5 | 12.50 ns | 16.25 ns | 21.25 ns | ||||||
4.5 | 11.25 ns | 15.00 ns | 20.00 ns | ||||||
4 | 10.00 ns | 13.75 ns | 18.75 ns | ||||||
DDR2-1066 | 1066 MT/s | 0,938 ns | 533 MHz | 1.875 ns | 7 | 13.13 ns | 15.94 ns | 19.69 ns | |
6 | 11.25 ns | 14.06 ns | 17.81 ns | ||||||
5 | 9.38 ns | 12.19 ns | 15.94 ns | ||||||
4.5 | 8.44 ns | 11.25 ns | 15.00 ns | ||||||
4 | 7.50 ns | 10.31 ns | 14.06 ns | ||||||
DDR3 SDRAM | DDR3-1066 | 1066 MT/s | 0,938 ns | 533 MHz | 1.875 ns | 7 | 13.13 ns | 15.94 ns | 19.69 ns |
DDR3-1333 | 1333 MT/s | 0,70 ns | 666 MHz | 1.500 ns | 9 | 13.50 ns | 15.75 ns | 18.75 ns | |
7 | 10.50 ns | 12.75 ns | 15.75 ns | ||||||
6 | 9.00 ns | 11.25 ns | 14.25 ns | ||||||
DDR3-1375 | 1375 MT/s | 0,27 ns | 687 MHz | 1.455 ns | 5 | 7.27 ns | 9.45 ns | 12.36 ns | |
DDR3-1600 | 1600 MT/s | 0,625 ns | 800 MHz | 1.250 ns | 11 | 13.75 ns | 15.63 ns | 18.13 ns | |
10 | 12.50 ns | 14.38 ns | 16.88 ns | ||||||
9 | 11.25 ns | 13.13 ns | 15.63 ns | ||||||
8 | 10.00 ns | 11.88 ns | 14.38 ns | ||||||
7 | 8.75 ns | 10.63 ns | 13.13 ns | ||||||
6 | 7.50 ns | 9.38 ns | 11.88 ns | ||||||
DDR3-1866 | 1866 MT/s | 0,56 ns | 933 MHz | 1.071 ns | 10 | 10.71 ns | 12.32 ns | 14.46 ns | |
9 | 9.64 ns | 11.25 ns | 13.39 ns | ||||||
8 | 8.57 ns | 10.18 ns | 12.32 ns | ||||||
DDR3-2000 | 2000 MT/s | 0,50 ns | 1000 MHz | 1.000 ns | 9 | 9.00 ns | 10.50 ns | 12.50 ns | |
DDR3-2133 | 2133 MT/s | 0.469 ns | 1066 MHz | 0,938 ns | 12 | 11.25 ns | 12.66 ns | 14.53 ns | |
11 | 10.31 ns | 11.72 ns | 13.59 ns | ||||||
10 | 9.38 ns | 10.78 ns | 12.66 ns | ||||||
9 | 8.44 ns | 9.84 ns | 11.72 ns | ||||||
8 | 7.50 ns | 8.91 ns | 10.78 ns | ||||||
7 | 6.56 ns | 7.97 ns | 9.84 ns | ||||||
DDR3-2200 | 2200 MT/s | 0.455 ns | 1100 MHz | 0.909 ns | 7 | 6.36 ns | 7.73 ns | 9.55 ns | |
DDR3-2400 | 2400 MT/s | 0.417 ns | 1200 MHz | 0.833 ns | 13 | 10.83 ns | 12.08 ns | 13.75 ns | |
12 | 10.00 ns | 11.25 ns | 12.92 ns | ||||||
11 | 9.17 ns | 10.42 ns | 12.08 ns | ||||||
10 | 8.33 ns | 9.58 ns | 11.25 ns | ||||||
9 | 7.50 ns | 8.75 ns | 10.42 ns | ||||||
DDR3-2600 | 2600 MT/s | 0,385 ns | 1300 MHz | 0,69 ns | 11 | 8.46 ns | 9.62 ns | 11.15 ns | |
DDR3-2666 | 2666 MT/s | 0,375 ns | 1333 MHz | 0,70 ns | 15 | 11.25 ns | 12.38 ns | 13.88 ns | |
13 | 9.75 ns | 10.88 ns | 12.38 ns | ||||||
12 | 9.00 ns | 10.13 ns | 11.63 ns | ||||||
11 | 8.25 ns | 9.38 ns | 10.88 ns | ||||||
DDR3-2800 | 2800 MT/s | 0,375 ns | 1400 MHz | 0,7514 ns | 16 | 11.43 ns | 12.50 ns | 13.93 ns | |
12 | 8.57 ns | 9.64 ns | 11.07 ns | ||||||
11 | 7.86 ns | 8.93 ns | 10.36 ns | ||||||
DDR3-2933 | 2933 MT/s | 0,341 ns | 1466 MHz | 0,622 ns | 12 | 8.18 ns | 9.20 ns | 10.57 ns | |
DDR3-3000 | 3000 MT/s | 0,33 ns | 1500 MHz | 0,67 ns | 12 | 8.00 ns | 9.00 ns | 10.33 ns | |
DDR3-3100 | 3100 MT/s | 0,323 ns | 1550 MHz | 0,645 ns | 12 | 7.74 ns | 8.71 ns | 10.00 ns | |
DDR3-3200 | 3200 MT/s | 0,33 ns | 1600 MHz | 0,625 ns | 16 | 10.00 ns | 10.94 ns | 12.19 ns | |
DDR3-3300 | 3300 MT/s | 0.303 ns | 1650 MHz | 0,606 ns | 16 | 9.70 ns | 10.61 ns | 11.82 ns | |
DDR4 SDRAM | |||||||||
DDR4-1600 | 1600 MT/s | 0,625 ns | 800 MHz | 1.250 ns | 12 | 15.00 ns | 16.88 ns | 19.38 ns | |
11 | 13.75 ns | 15.63 ns | 18.13 ns | ||||||
10 | 12.50 ns | 14.38 ns | 16.88 ns | ||||||
DDR4-1866 | 1866 MT/s | 0,56 ns | 933 MHz | 1.071 ns | 14 | 15.00 ns | 16.61 ns | 18.75 ns | |
13 | 13.93 ns | 15.54 ns | 17.68 ns | ||||||
12 | 12.86 ns | 14.46 ns | 16.61 ns | ||||||
DDR4-2133 | 2133 MT/s | 0.469 ns | 1066 MHz | 0,938 ns | 16 | 15.00 ns | 16.41 ns | 18.28 ns | |
15 | 14.06 ns | 15.47 ns | 17.34 ns | ||||||
14 | 13.13 ns | 14.53 ns | 16.41 ns | ||||||
DDR4-2400 | 2400 MT/s | 0.417 ns | 1200 MHz | 0.833 ns | 17 | 14.17 ns | 15.42 ns | 17.08 ns | |
16 | 13.33 ns | 14.58 ns | 16.25 ns | ||||||
15 | 12.50 ns | 13.75 ns | 15.42 ns | ||||||
DDR4-2666 | 2666 MT/s | 0,375 ns | 1333 MHz | 0,70 ns | 19 | 14.25 ns | 15.38 ns | 16.88 ns | |
17 | 12.75 ns | 13.88 ns | 15.38 ns | ||||||
16 | 12.00 ns | 13.13 ns | 14.63 ns | ||||||
15 | 11.25 ns | 12.38 ns | 13.88 ns | ||||||
13 | 9.75 ns | 10.88 ns | 12.38 ns | ||||||
DDR4-2800 | 2800 MT/s | 0,375 ns | 1400 MHz | 0,7514 ns | 17 | 12.14 ns | 13.21 ns | 14.64 ns | |
16 | 11.43 ns | 12.50 ns | 13.93 ns | ||||||
15 | 10.71 ns | 11.79 ns | 13.21 ns | ||||||
14 | 10.00 ns | 11.07 ns | 12.50 ns | ||||||
DDR4-3000 | 3000 MT/s | 0,33 ns | 1500 MHz | 0,67 ns | 17 | 11.33 ns | 12.33 ns | 13.67 ns | |
16 | 10.67 ns | 11.67 ns | 13.00 ns | ||||||
15 | 10.00 ns | 11.00 ns | 12.33 ns | ||||||
14 | 9.33 ns | 10.33 ns | 11.67 ns | ||||||
DDR4-3200 | 3200 MT/s | 0,33 ns | 1600 MHz | 0,625 ns | 16 | 10.00 ns | 10.94 ns | 12.19 ns | |
15 | 9.38 ns | 10.31 ns | 11.56 ns | ||||||
14 | 8.75 ns | 9.69 ns | 10.94 ns | ||||||
DDR4-3300 | 3300 MT/s | 0.303 ns | 1650 MHz | 0,606 ns | 16 | 9.70 ns | 10.61 ns | 11.82 ns | |
DDR4-3333 | 3333 MT/s | 0,00 ns | 1666 MHz | 0,60 ns | 16 | 9.60 ns | 10.50 ns | 11.70 ns | |
DDR4-3400 | 3400 MT/s | 0,294 ns | 1700 MHz | 0,58 ns | 16 | 9.41 ns | 10.29 ns | 11.47 ns | |
DDR4-3466 | 3466 MT/s | 0,288 ns | 1733 MHz | 0,577 ns | 18 | 10.38 ns | 11.25 ns | 12.40 ns | |
17 | 9.81 ns | 10.67 ns | 11.83 ns | ||||||
16 | 9.23 ns | 10.10 ns | 11.25 ns | ||||||
DDR4-3600 | 3600 MT/s | 0,278 ns | 1800 MHz | 0,56 ns | 19 | 10.56 ns | 11.39 ns | 12.50 ns | |
18 | 10.00 ns | 10.83 ns | 11.94 ns | ||||||
17 | 9.44 ns | 10.28 ns | 11.39 ns | ||||||
16 | 8.89 ns | 9.72 ns | 10.83 ns | ||||||
15 | 8.33 ns | 9.17 ns | 10.28 ns | ||||||
14 | 7.78 ns | 8.61 ns | 9.72 ns | ||||||
DDR4-3733 | 3733 MT/s | 0,268 ns | 1866 MHz | 0,56 ns | 17 | 9.11 ns | 9.91 ns | 10.98 ns | |
DDR4-3866 | 3866 MT/s | 0,259 ns | 1933 MHz | 0,517 ns | 18 | 9.31 ns | 10.09 ns | 11.12 ns | |
DDR4-4000 | 4000 MT/s | 0,250 ns | 2000 MHz | 0,50 ns | 19 | 9.50 ns | 10.25 ns | 11.25 ns | |
18 | 9.00 ns | 9.75 ns | 10.75 ns | ||||||
17 | 8.50 ns | 9.25 ns | 10.25 ns | ||||||
16 | 8.00 ns | 8.75 ns | 9.75 ns | ||||||
DDR4-4133 | 4133 MT/s | 0,242 ns | 2066 MHz | 0.484 ns | 19 | 9.19 ns | 9.92 ns | 10.89 ns | |
DDR4-4200 | 4200 MT/s | 0,238 ns | 2100 MHz | 0.476 ns | 19 | 9.05 ns | 9.76 ns | 10.71 ns | |
DDR4-4266 | 4266 MT/s | 0,234 ns | 2133 MHz | 0.469 ns | 19 | 8.91 ns | 9.61 ns | 10.55 ns | |
18 | 8.44 ns | 9.14 ns | 10.08 ns | ||||||
17 | 7.97 ns | 8.67 ns | 9.61 ns | ||||||
16 | 7.50 ns | 8.20 ns | 9.14 ns | ||||||
DDR4-4400 | 4400 MT/s | 0,27 ns | 2200 MHz | 0.454 ns | 19 | 8.64 ns | 9.32 ns | 10.23 ns | |
18 | 8.18 ns | 8.86 ns | 9.77 ns | ||||||
17 | 7.73 ns | 8.41 ns | 9.32 ns | ||||||
DDR4-4600 | 4600 MT/s | 0,217 ns | 2300 MHz | 0.435 ns | 19 | 8.26 ns | 8.91 ns | 9.78 ns | |
18 | 7.82 ns | 8.48 ns | 9.35 ns | ||||||
DDR4-4800 | 4800 MT/s | 0,208 ns | 2400 MHz | 0.417 ns | 20 | 8.33 ns | 8.96 ns | 9.79 ns | |
19 | 7.92 ns | 8.54 ns | 9.38 ns | ||||||
DDR5 SDRAM | |||||||||
DDR5-4800 | 4800 MT/s | 0,208 ns | 2400 MHz | 0.417 ns | 40 | 16.67 ns | 17.29 ns | 18.13 ns | |
38 | 15.83 ns | 16.46 ns | 17.29 ns | ||||||
36 | 15.00 ns | 15.63 ns | 16.46 ns | ||||||
34 | 14.17 ns | 14.79 ns | 15.63 ns | ||||||
DDR5-5200 | 5200 MT/s | 0.192 ns | 2600 MHz | 0,385 ns | 40 | 15.38 ns | 15.96 ns | 16.73 ns | |
38 | 14.62 ns | 15.19 ns | 15.96 ns | ||||||
36 | 13.85 ns | 14.42 ns | 15.19 ns | ||||||
34 | 13.08 ns | 13.65 ns | 14.42 ns | ||||||
DDR5-5600 | 5600 MT/s | 0.179 ns | 2800 MHz | 0,375 ns | 40 | 14.29 ns | 14.82 ns | 15.54 ns | |
38 | 13.57 ns | 14.11 ns | 14.82 ns | ||||||
36 | 12.86 ns | 13.39 ns | 14.11 ns | ||||||
34 | 12.14 ns | 12.68 ns | 13.39 ns | ||||||
30 | 10.71 ns | 11.25 ns | 11.96 ns | ||||||
DDR5-6000 | 6000 MT/s | 0.167 ns | 3000 MHz | 0,33 ns | 40 | 13.33 ns | 13.83 ns | 14.50 ns | |
38 | 12.67 ns | 13.17 ns | 13.83 ns | ||||||
36 | 12.00 ns | 12.50 ns | 13.17 ns | ||||||
32 | 10.67 ns | 11.17 ns | 11.83 ns | ||||||
30 | 10.00 ns | 10.50 ns | 11.17 ns | ||||||
DDR5-6200 | 6200 MT/s | 0.161 ns | 3100 MHz | 0,323 ns | 40 | 12.90 ns | 13.39 ns | 14.03 ns | |
38 | 12.26 ns | 12.74 ns | 13.39 ns | ||||||
36 | 11.61 ns | 12.10 ns | 12.74 ns | ||||||
DDR5-6400 | 6400 MT/s | 0.156 ns | 3200 MHz | 0,33 ns | 40 | 12.50 ns | 12.97 ns | 13.59 ns | |
38 | 11.88 ns | 12.34 ns | 12.97 ns | ||||||
36 | 11.25 ns | 11.72 ns | 12.34 ns | ||||||
34 | 10.63 ns | 11.09 ns | 11.72 ns | ||||||
32 | 10.00 ns | 10.47 ns | 11.09 ns | ||||||
DDR5-6600 | 6600 MT/s | 0.152 ns | 3300 MHz | 0.303 ns | 34 | 10.30 ns | 10.76 ns | 11.36 ns | |
Generación | Tipo | Tasa de datos | Tiempo de transferencia | Tasa de mando | Hora del ciclo | CAS latency | Primera palabra | Cuarta palabra | Octava palabra |
Notas
- ^ Tiempo de transferencia = 1 / Tasa de datos.
- ^ Tasa de comandos = Tasa de datos / 2 para la doble tasa de datos (DDR), velocidad de comando = tasa de datos para la tasa de datos única (SDR).
- ^ Ciclo time = 1 / Comando = 2 × Tiempo de transferencia.
- ^ a b c Nt word = [(2 × CAS latency) + (N −1)] × Tiempo de transferencia.